Image encoding method and apparatus, and image decoding method and apparatus
阅读说明:本技术 图像编码方法和设备以及图像解码方法和设备 (Image encoding method and apparatus, and image decoding method and apparatus ) 是由 崔棋镐 朴缗茱 艾琳娜·阿尔辛娜 于 2018-07-04 设计创作,主要内容包括:一个实施例可提供一种图像解码方法和能够执行所述图像解码方法的图像解码设备,所述图像解码方法包括如下步骤:确定是否获得第二变换集信息;基于确定是否获得第二变换集信息,确定第二变换集信息;通过使用确定的第二变换集信息来从与多个预测模式对应的多个第二变换集候选中选择应用于第二变换块的任意一个第二变换集;通过基于包括在选择的第二变换集中的多个变换矩阵对第二变换块进行逆变换来生成第一变换块;通过基于第一变换矩阵对第一变换块进行逆变换来生成与第一变换块对应的残差块。(An embodiment may provide an image decoding method and an image decoding apparatus capable of performing the image decoding method, the image decoding method including the steps of: determining whether second transformation set information is obtained; determining second transformation set information based on determining whether second transformation set information is obtained; selecting any one second transform set applied to the second transform block from a plurality of second transform set candidates corresponding to the plurality of prediction modes by using the determined second transform set information; generating a first transform block by inverse-transforming the second transform block based on a plurality of transform matrices included in the selected second transform set; a residual block corresponding to the first transform block is generated by inverse transforming the first transform block based on the first transform matrix.)
1. An image decoding method, comprising:
determining whether second transformation set information is obtained;
determining second transformation set information based on determining whether second transformation set information is obtained;
selecting any one of second transform sets applied to the second transform block from a plurality of second transform set candidates corresponding to the plurality of prediction modes by using the determined second transform set information;
generating a first transform block by inverse-transforming the second transform block based on a plurality of transform matrices included in the selected second transform set; and is
A residual block corresponding to the first transform block is generated by inverse transforming the first transform block based on the first transform matrix.
2. The image decoding method according to claim 1,
the second transform set corresponds to a predetermined angle for generating the first transform block by rotational-transforming the second transform block, and
the plurality of transformation matrices included in the second transformation set include a vertical transformation matrix and a horizontal transformation matrix for a rotational transformation.
3. The image decoding method of claim 1, wherein the second transform set information includes at least one of: information indicating whether to perform a second transform on the first transform block, and second transform set selection information indicating a second transform set applied to the first transform block.
4. The image decoding method of claim 1, wherein the determining of the second transform set information comprises:
when it is determined that the second transform set information is not obtained, generating the first transform block by not inverse-transforming the second transform block or by inverse-transforming the second transform block based on any one of second transform sets included in a predetermined base set transform set group; and
when it is determined that the second transform set information is obtained, the second transform set information is obtained from the bitstream.
5. The image decoding method of claim 1, wherein the plurality of prediction modes comprises at least two intra prediction modes of a plurality of intra prediction modes for the first transform block.
6. The image decoding method of claim 1, wherein the determining whether the second transform set information is obtained comprises: whether to obtain the second transform set information is determined based on at least one of a size, a shape, a prediction mode, (encoding tool), a number of non-zero coefficients, a sum of squares of the non-zero coefficients, a depth, and a quantization parameter of the second transform block.
7. The image decoding method of claim 1, wherein the determining of the second transform set information comprises: when the information indicating whether to perform the second transform indicates that the second transform is not to be performed, second transform set selection information indicating a second transform set applied to the first transform block is not obtained.
8. The image decoding method of claim 3, wherein the information indicating the second transform set applied to the first transform block is decoded based on any one of: a context-based adaptive binary arithmetic coding (CABAC) method, a fixed length method and a unary method,
wherein the CABAC method performs context modeling by using information on a second transform set of peripheral blocks of the first transform block.
9. The image decoding method of claim 1, wherein the generating of the first transform block by inverse-transforming the second transform block comprises: the coefficients of the first transform block are inversely rearranged by inversely transforming the second transform block using a transform matrix selected from a second transform set corresponding to any one of a plurality of predetermined rearrangement angles.
10. The image decoding method according to claim 1,
the generating of the first transform block by inverse-transforming the second transform block includes: generating a first transform block by inverse-transforming at least a part of the second transform block, and
the second transform block is a coefficient block having a size of 1: N or N:1 ratio.
11. An image encoding method comprising:
generating a first transform block by transforming the residual block based on a first transform matrix;
selecting any one of second transform sets applied to the first transform block from among a plurality of second transform set candidates corresponding to a plurality of prediction modes; and is
The second transform block is generated by transforming the first transform block based on a plurality of transform matrices included in the selected second transform set.
12. The image encoding method of claim 11, further comprising: generating second transformation set information comprising at least one of: information indicating whether to perform a second transform on the first transform block, and second transform set selection information indicating a second transform set applied to the first transform block.
13. The image encoding method of claim 11, wherein the generating of the second transform block by transforming the first transform block comprises: coefficients of the second transform block are rearranged by transforming the first transform block using a transform matrix selected from a second transform set corresponding to any one of a plurality of predetermined rearrangement angles.
14. The image encoding method as claimed in claim 11,
the second transform set corresponds to a predetermined angle for generating a second transform block by rotationally transforming the first transform block, and
the plurality of transformation matrices included in the second transformation set include a vertical transformation matrix and a horizontal transformation matrix for a rotational transformation.
15. An image decoding apparatus comprising at least one processor, wherein the at least one processor is configured to:
determining whether second transformation set information is obtained;
determining second transformation set information based on whether the second transformation set information is obtained;
selecting any one of second transform sets applied to the second transform block from a plurality of second transform set candidates corresponding to the plurality of prediction modes by using the determined second transform set information;
generating a first transform block by inverse-transforming the second transform block based on a plurality of transform matrices included in the selected second transform set; and is
A residual block corresponding to the first transform block is generated by inverse transforming the first transform block based on the first transform matrix.
Technical Field
The present disclosure relates to an image encoding method and apparatus and an image decoding method and apparatus. More particularly, the present disclosure relates to methods and apparatuses for encoding and decoding coefficients of a frequency domain.
Background
According to most of the image encoding method and apparatus and the image decoding method and apparatus, an image of a pixel domain is transformed into an image of a frequency domain and encoded for image compression. Discrete Cosine Transform (DCT) is a well-known technique for image or speech compression. In recent years, many attempts have been made to find more efficient coding methods. In audio coding, parametric coding shows better results than DCT, and for two-dimensional (2D) data, the coefficients of Karhunen Loeve Transform (KLT) have the smallest bit size, but the amount of overhead information increases significantly.
Disclosure of Invention
Technical problem
An image encoding method and apparatus and an image decoding method and apparatus are provided that provide efficient compression and have minimal overhead information.
Solution to the problem
One or more embodiments provide an image decoding method including: determining whether second transformation set information is obtained; determining second transformation set information based on determining whether second transformation set information is obtained; selecting any one of second transform sets applied to the second transform block from a plurality of second transform set candidates corresponding to the plurality of prediction modes by using the determined second transform set information; generating a first transform block by inverse-transforming the second transform block based on a plurality of transform matrices included in the selected second transform set; and generating a residual block corresponding to the first transform block by inverse-transforming the first transform block based on the first transform matrix.
One or more embodiments provide an image encoding method including: generating a first transform block by transforming the residual block based on a first transform matrix; selecting any one of second transform sets applied to the first transform block from among a plurality of second transform set candidates corresponding to a plurality of prediction modes; and generating a second transform block by transforming the first transform block based on a plurality of transform matrices included in the selected second transform set.
One or more embodiments include an image decoding apparatus, wherein the image decoding apparatus includes at least one processor configured to: determining whether second transformation set information is obtained; determining second transformation set information based on determining whether second transformation set information is obtained; selecting any one of second transform sets applied to the second transform block from a plurality of second transform set candidates corresponding to the plurality of prediction modes by using the determined second transform set information; generating a first transform block by inverse-transforming the second transform block based on a plurality of transform matrices included in the selected second transform set; and generating a residual block corresponding to the first transform block by inverse-transforming the first transform block based on the first transform matrix.
Advantageous effects
Based on the image encoding method and apparatus and the image decoding method and apparatus according to the present disclosure, efficient compression can be provided and minimum overhead information can be generated. Thus, overall, the amount of data to be stored or to be transmitted to the decoder can be reduced.
Drawings
Fig. 1 is a block diagram of an image decoding apparatus according to an embodiment.
Fig. 2 is a block diagram of an image encoding apparatus according to an embodiment.
Fig. 3 is a flowchart of a process of performing an inverse second transform performed by the image decoding apparatus according to the embodiment.
Fig. 4 is a flowchart of a process of performing the second transform performed by the image encoding apparatus according to the embodiment.
Fig. 5 illustrates a method of performing a second transformation by using a horizontal transformation matrix and a vertical transformation matrix included in a second transformation set according to an embodiment.
Fig. 6 illustrates a process of applying an inverse second transform performed by the image decoding apparatus according to the embodiment.
Fig. 7 illustrates an example of transform angles corresponding to a plurality of Intra Prediction Modes (IPMs) according to an embodiment.
Fig. 8 illustrates a process of determining at least one coding unit by dividing a current coding unit according to an embodiment.
Fig. 9 illustrates a process of determining at least one coding unit by dividing a non-square coding unit according to an embodiment.
Fig. 10 illustrates a process of dividing a coding unit based on at least one of block shape information and division shape mode information according to an embodiment.
Fig. 11 illustrates a method of determining a predetermined coding unit from an odd number of coding units according to an embodiment.
Fig. 12 illustrates an order of processing a plurality of coding units when the plurality of coding units are determined by dividing a current coding unit according to an embodiment.
Fig. 13 illustrates a process of determining that a current coding unit is to be divided into odd-numbered coding units when the coding units cannot be processed in a predetermined order according to an embodiment.
Fig. 14 illustrates a process of determining at least one coding unit by dividing a first coding unit according to an embodiment.
Fig. 15 illustrates that when a second coding unit having a non-square shape determined by dividing a first coding unit satisfies a predetermined condition, shapes into which the second coding unit can be divided are limited, according to an embodiment.
Fig. 16 illustrates a process of dividing a square coding unit when the division shape mode information indicates that the square coding unit is not to be divided into four square coding units according to an embodiment.
Fig. 17 illustrates that a processing order between a plurality of coding units may be changed according to a process of dividing the coding units according to an embodiment.
Fig. 18 illustrates a process of determining a depth of a coding unit as a shape and a size of the coding unit change when the coding unit is recursively divided to determine a plurality of coding units according to an embodiment.
Fig. 19 illustrates a depth that can be determined based on the shape and size of a coding unit and a Partial Index (PID) for distinguishing the coding units according to an embodiment.
Fig. 20 illustrates determining a plurality of coding units based on a plurality of predetermined data units included in a picture according to an embodiment.
Fig. 21 illustrates a processing block used as a unit for determining a determination order of reference coding units included in a picture according to an embodiment.
Detailed Description
Best mode for carrying out the invention
One or more embodiments provide an image decoding method including: determining whether second transformation set information is obtained; determining second transformation set information based on determining whether second transformation set information is obtained; selecting any one of second transform sets applied to the second transform block from a plurality of second transform set candidates corresponding to the plurality of prediction modes by using the determined second transform set information; generating a first transform block by inverse-transforming the second transform block based on a plurality of transform matrices included in the selected second transform set; and generating a residual block corresponding to the first transform block by inverse-transforming the first transform block based on the first transform matrix.
One or more embodiments provide an image encoding method including: generating a first transform block by transforming the residual block based on a first transform matrix; selecting any one of second transform sets applied to the first transform block from among a plurality of second transform set candidates corresponding to a plurality of prediction modes; the second transform block is generated by transforming the first transform block based on a plurality of transform matrices included in the selected second transform set.
One or more embodiments include an image decoding apparatus, wherein the image decoding apparatus includes at least one processor configured to: determining whether second transformation set information is obtained; determining second transformation set information based on determining whether second transformation set information is obtained; selecting any one of second transform sets applied to the second transform block from a plurality of second transform set candidates corresponding to the plurality of prediction modes by using the determined second transform set information; generating a first transform block by inverse-transforming the second transform block based on a plurality of transform matrices included in the selected second transform set; a residual block corresponding to the first transform block is generated by inverse transforming the first transform block based on the first transform matrix.
Disclosure of the invention
Advantages and features of the present disclosure and methods of accomplishing the same will become more apparent by reference to the embodiments that are described below with reference to the accompanying drawings. This disclosure may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the disclosure to those skilled in the art.
Terms used in the present specification will be described briefly and the present disclosure will be described in detail.
Terms used in the present disclosure are selected as terms that are widely used at present as general terms as possible in consideration of their functions in the present disclosure. However, the terms may be changed according to the intention of a person skilled in the relevant art, a case, or the emergence of new technology. Further, some terms used herein may be arbitrarily selected by the applicant. In this case, these terms are defined in detail in the following detailed description. Accordingly, the terms used herein should be understood based on their unique meaning and the entire context of the present disclosure.
As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
Throughout the specification, it will be further understood that: when a component "comprises" or "comprising" an element, the component may also comprise, but not exclude, other elements, unless otherwise defined. In addition, the term "unit" used in the specification may represent a software or hardware (such as FPGA or ASIC) component, and may perform a specific function. However, the "unit" is not limited to software or hardware. The "unit" may be configured to be included in a storage medium that can perform addressing, or may be configured to reproduce one or more processors. Thus, for example, a "unit" may include software components, object-oriented software components, class components and task components, processors, functions, attributes, programs, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided for by the components and "units" may be integrated into a fewer number of components and "units" or may be further separated into additional components and "units".
Hereinafter, "image" may indicate a still image such as a still image of a video, or may indicate a moving image, that is, an animated moving image such as a video.
Hereinafter, "sampling point" is data assigned to a sampling point position of an image and may represent data to be processed. For example, the pixel values in the image in the spatial domain and the transform coefficients on the transform region may be samples. A unit including at least one of the samples may be defined as a block.
Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily perform the embodiments. In addition, portions irrelevant to the description will be omitted to clearly describe the present disclosure.
Hereinafter, the image encoding apparatus and the image decoding apparatus, and the image encoding method and the image decoding method will be described in detail with reference to fig. 1 to 21. A method of determining a data unit of an image will be described according to an embodiment with reference to fig. 8 to 21 and an image encoding method and apparatus and an image decoding method and apparatus that perform a second transform by using a second transform set including a transform matrix will be described with reference to fig. 1 to 7.
In this disclosure, the second transformation represents: for a first transform block, a transform is performed to a second transform block.
In more detail, in an image encoding process using an image encoding apparatus, a residual block may be transformed into a first transform block via a first transform, the first transform block may be transformed into a second transform block via a second transform, and the second transform block may be transformed into a quantized second transform block via quantization.
In contrast, in the image decoding process using the image decoding apparatus, the quantized second transform block may be transformed into the second transform block via inverse quantization, the second transform block may be transformed into the first transform block via inverse second transform, and the first transform block may be transformed into the residual block via inverse first transform.
Fig. 1 is a block diagram of an
The
The
Here, the number of non-zero coefficients and the sum of squares of the non-zero coefficients of the second transform block used to determine whether to obtain the second transform set information may represent the number of non-zero coefficients and the sum of squares of the non-zero coefficients included in the second transform block, wherein quantization of the second transform block is completed after the transform.
In addition, whether to obtain the second transformation set information may be determined based on whether a particular encoding tool is used. Here, the encoding tool for determining whether to obtain the second transform set information may include at least one of a multi-type tree partition (MTT), an Adaptive Motion Vector Resolution (AMVR), an extreme motion vector expression (UMVE), affine motion prediction, inter prediction modification (IPR), decoding side motion vector modification (DMVR), bidirectional optical flow (BIO), multi-core transform (MTR), Spatial Variation Transform (SVT), scan region-based coefficient coding (SRCC), transform domain residual symbol prediction (TD-RSP), multi-hypothesis probability update (bacmca), multi-parameter intra (MPI), and position-dependent intra prediction combination (PDPC). However, the encoding tool need not be so limited.
When it is determined that the second transform set information is not obtained,
For example, when the multi-core transform tool is used for encoding of the first transform block, the
As another example, when the sum of squares of non-zero coefficients of the quantized second transform block is greater than a certain threshold, the
As another example, for a 128 × 128 sized second transform block,
When it is determined that the second transform set information is obtained, the
That is, the
The second transform set information may include at least one of information indicating whether to perform a second transform and second transform set selection information indicating a second transform set applied to the first transform block.
The second transformation set information may include an index having a length of 1 bit indicating whether to perform the second transformation and an additional index having a length of n bits indicating the second transformation set.
For example, the second transform set information may include an additional index having a length of 2 bits indicating a second transform set among the plurality of second transform set candidates. The index having a length of 2 bits may be used to specify an arbitrary second transform set from among the 4 second transform set candidates.
In another embodiment, the second transform set information may include an index having a length of n bits to indicate whether to perform both the second transform and the second transform set.
For example, the second transformation set information may include an index having a length of 2 bits to indicate whether to perform the second transformation and the second transformation set. The index having a length of 2 bits may be used to indicate whether to perform the second transform (00) or to indicate any one of 3 second transform sets (01, 10, 11).
The configuration method of the second transform set information may be determined based on at least one of a size, a shape, a prediction mode, a coding tool, a number of non-zero coefficients, a sum of squares of non-zero coefficients, a depth, and a quantization parameter of the second transform block.
For example, the second transform set information on the second transform block having the size of 64 × 64 may include an index having a length of 1 bit indicating whether to perform the second transform and an additional index having a length of 1 bit indicating the second transform set.
On the other hand, the second transform set information on the second transform block having the size of 64 × 16 may include only an index having a length of 2 bits to indicate whether to perform the second transform and both the second transform set.
The second transform set selection information indicating the second transform set may be entropy-encoded and entropy-decoded according to any one of a context-based adaptive binary arithmetic coding (CABAC) method, a fixed length method, and a unary method.
In particular, according to the CABAC method, context modeling may be performed by using information on a second transform set of peripheral blocks of the first transform block.
For example, when the unary binarization method is used, the
As another example, when the CABAC method is used, the
As another example, when the fixed length coding method is used, the
An entropy encoding method of the information indicating the second transform set may be determined based on at least one of a size, a shape, a prediction mode, an encoding tool, a number of non-zero coefficients, a sum of squares of non-zero coefficients, a depth, and a quantization parameter of the second transform block.
When the information indicating whether to perform the second transform included in the second transform set information indicates that the second transform is not performed, the
For example, when the index having a length of 1 bit indicating whether to perform the second transform for the first transform block indicates not to perform the second transform, the
The
Here, the plurality of prediction modes may include at least two intra prediction modes.
The second transformation set may correspond to a predetermined angle for generating the first transformation block by performing a rotational transformation on the second transformation block, wherein the plurality of transformation matrices included in the second transformation set may include a horizontal transformation matrix and a vertical transformation matrix for the rotational transformation.
The
According to an embodiment, the inverse transform for the second transform block may be a rotational transform. The second transform set for the rotational transform may correspond to a predetermined angle for generating the first transform block by rotationally transforming the second transform block. The second transform set for the rotational transform may include a horizontal transform matrix and a vertical transform matrix for performing the rotational transform on the second transform block.
A detailed method of performing the rotation transformation by using the horizontal transformation matrix and the vertical transformation matrix included in the second transformation set will be described below with reference to fig. 5.
Here, coefficient blocks having a size of a scale of 1: N may include coefficient blocks having a size of 4 × 8, 8 × 16, 16 × 32, 32 × 64, 4 × 16, 8 × 32, 16 × 64, 4 × 32, 8 × 64, and 4 × 64 and coefficient blocks having a size of a scale of N:1 may include coefficient blocks having a size of 8 × 4, 16 × 8, 32 × 16, 64 × 32, 16 × 4, 32 × 8, 64 × 16, 32 × 4, 64 × 8, and 64 × 4.
The
For example, the
A detailed method performed by
Fig. 2 is a block diagram of the
The
The
The
The
According to an embodiment, the transform for the first transform block may be a rotational transform, and the second transform set for the rotational transform may correspond to a predetermined angle for the rotational transform of the first transform block. The second transform set for the rotational transform may include a horizontal transform matrix and a vertical transform matrix for performing the rotational transform on the first transform block.
The second transform set selection information indicating the second transform set may be entropy-encoded based on any one of a CABAC method, a fixed length method, and a unary method.
In particular, according to the CABAC method, context modeling may be performed by using information on a second transform set of peripheral blocks of the first transform block.
For example, when the unary binarization method is used, the
As another example, when the CABABC method is used, the
As another example, when a fixed length coding method is used, the
When the CABAC method is used, the
An entropy encoding method indicating information of the second transform set applied to the first transform block may be determined based on at least one of a size, a shape, a prediction mode, an encoding tool, a number of non-zero coefficients, a sum of squares of the non-zero coefficients, a depth, and a quantization parameter of the second transform block.
The
The
Fig. 3 is a flowchart of a process of performing the inverse second transform performed by the
In operation S301, the
When it is determined that the second transform set information is not obtained,
On the other hand, when determining to obtain the second transform set information, the
In operation S302, the
That is, the
The second transform set information may include at least one of information on whether to perform a second transform and second transform set selection information indicating a second transform set applied to the first transform block.
When the information on whether to perform the second transform included in the second transform set information indicates that the second transform is not to be performed, the
In operation S303, the
The second transformation set may correspond to a predetermined angle for generating the second transformation block by performing a rotational transformation on the first transformation block, wherein the plurality of transformation matrices included in the second transformation set may include a horizontal transformation matrix and a vertical transformation matrix for the rotational transformation.
In operation S304, the
The inverse transform for the second transform block may be a rotational transform, and the second transform set for the rotational transform may correspond to a predetermined angle for generating the first transform block by performing the rotational transform on the second transform block. Here, the second transform set for the rotational transform may include a horizontal transform matrix and a vertical transform matrix for generating the first transform block by performing the rotational transform on the second transform block.
The
In operation S305, the
Fig. 4 is a flowchart of a process of performing the second transform performed by the
In operation S401, the
In operation S402, the
In operation S403, the
Fig. 5 illustrates a method of performing a second transformation by using a horizontal transformation matrix and a vertical transformation matrix included in a second transformation set according to an embodiment.
Referring to fig. 5, the plurality of transform matrices included in the second transform set may include a
In more detail, the second transform for the
In general,
That is, the
Accordingly, a plurality of parameters included in a specific second transformation set may be differently set for each specific second transformation set to correspond to a specific angle for generating the
The
For example, for a first transform block having any particular size and shape, the second transform may be performed based on only the
The relationship between the angle for performing the rotational transform on the
Fig. 6 illustrates a process of applying the inverse second transform performed by the
Referring to fig. 6, the
Further, the
Finally,
The
In general, even when the compression rate is improved via the inverse transform for the second transform block, the total amount of data is not reduced when the number of parameters for the inverse transform is increased, thereby increasing overhead.
Therefore, in order to fully obtain the effect of the inverse transform for the second transform block having a large size, the coefficients included in the selected sample block must be coefficients that affect the compression of the image data. Therefore, in order to improve the compression rate, the
That is, the frequency coefficient for the low frequency component may be included in the upper left portion of the general frequency coefficient block generated through DCT, and thus the
The
For example, as shown in fig. 6, the
The
For example, the
In more detail, the inverse transform may be performed only on the left-side sample block having a size of 4 × 4 for the second transform blocks having sizes of 4 × 8, 4 × 16, 4 × 32, and 4 × 64, and the inverse transform may be performed only on the left up-sample block having a size of 4 × 4 or the left-side sample block having a size of 8 × 8 for the second transform blocks having sizes of 8 × 16, 8 × 32, and 8 × 64. Alternatively, for second transform blocks having sizes of 8 × 16, 8 × 32, and 8 × 64, the inverse transform may be performed only on left upsampled blocks having sizes of 4 × 8, 4 × 16, and 4 × 32, respectively.
For a second transform block having a size of a ratio of N:1, the inverse transform may be performed by selecting a block of samples having any one of 8 × 4, 16 × 4, and 32 × 4 sizes.
In more detail, the inverse transform may be performed only on an upper sample block having a size of 4 × 4 for second transform blocks having sizes of 8 × 4, 16 × 4, 32 × 4, and 64 × 4, and may be performed only on a left upper sample block having a size of 4 × 4 or an upper sample block having a size of 8 × 8 for second transform blocks having sizes of 16 × 8, 32 × 8, and 64 × 8. Alternatively, for second transform blocks having sizes of 16 × 8, 32 × 8, and 64 × 8, the inverse transform may be performed only on left upsampled blocks having sizes of 8 × 4, 16 × 4, and 32 × 4, respectively.
Here, the
When
For example, the
For example, when a non-zero coefficient included in the quantized second transform block is equal to or greater than a predetermined threshold, the
Fig. 7 illustrates an example of angles corresponding to a plurality of Intra Prediction Modes (IPMs) according to an embodiment.
Fig. 7 illustrates angles corresponding to a plurality of IPMs, and the angles are divided into four angle groups for convenience of explanation. Here, the first to sixteenth angles may be referred to as a first
When the
For example, first to thirty-second angles included in first to second
Here, when the
The first through sixty-fourth angles may be used to construct 2n second transform set candidates. Here, the second transform set information may include information indicating a second transform set applied to the first transform block among the 2n second transform set candidates. For example, the information indicating the second transform set applied to the first transform block among the 2n second transform set candidates may be an index having a length of n bits.
The plurality of second transform set candidates may respectively correspond to a plurality of IPMs. Here, the prediction mode may include a plurality of IPMs for the first transform block.
For example, the plurality of second transform set candidates may be differently set based on IPM of the first transform block. When four second transform sets (i.e., set 1, set 2, set 3, and set 4) are set as a plurality of second transform set candidates for IPM0, the other four second transform sets (i.e., set 5, set 6, set 7, and set 8) may be set as a plurality of second transform set candidates for
As another example, the plurality of IPMs corresponding to the plurality of second transform set candidates may include at least two IPMs of the plurality of IPMs for the first transform block. When four second transform sets (i.e., set 1, set 2, set 3, and set 4) are set as a plurality of second transform set candidates for IPM0, the same four second transform sets (i.e., set 1, set 2, set 3, and set 4) may be set as a plurality of second transform set candidates for IPM1, IPM2, and
That is, when the second transform set is set based on IPM of the first transform block, the same plurality of second transform set candidates may be used for the plurality of IPM, thereby reducing the total number of predetermined second transform sets, and overhead may be reduced since the total number of parameters used for the second transform is reduced.
As another example, the plurality of second transform set candidates may be differently set based on an inter prediction mode of the first transform block. When four second transform sets, i.e., set 1, set 2, set 3, and set 4, are set as a plurality of second transform set candidates for an affine motion prediction mode in the inter prediction mode, the other four second transform sets, i.e., set 5, set 6, set 7, and set 8, may be set as a plurality of second transform set candidates for an Advanced Motion Vector Prediction (AMVP) mode in the inter prediction mode.
As another example, the plurality of second transform sets may be differently set based on the size and shape of the first transform block (that is, the ratio of the width to the height of the first transform block). When four second transform sets (i.e., set 1, set 2, set 3, and set 4) are set as a plurality of second transform set candidates for a square first transform block having a size of a scale of 1:1, the other four second transform sets (i.e., set 5, set 6, set 7, and set 8) may be set as a plurality of second transform set candidates for a rectangular first transform block having a size of a scale of 1: 2.
The second transform set may be set to a default mode for inverse transforming the second transform block based on any one of the second transform sets included in the basic second transform set determined in advance when it is determined that the second transform set information is not obtained. Here, a second transformation set in a default mode predetermined via syntax elements parsed in the video slice level may be used.
Hereinafter, the division of the coding unit will be described in detail according to an embodiment of the present disclosure.
An image may be divided into maximum coding units. The size of the maximum coding unit may be determined based on information obtained from the bitstream. The shape of the largest coding unit may be a square of the same size. However, it is not limited thereto. In addition, the maximum coding unit may be hierarchically divided into coding units based on the division shape mode information obtained from the bitstream. The division shape mode information may include at least one of information indicating whether to perform division, division direction information, and division type information. The information indicating whether to perform the division may indicate whether to divide the coding unit. The division direction information may indicate that the division is performed in a horizontal direction or a vertical direction. The partition type information may indicate that the coding unit is divided based on any one of the two-partition, the three-partition, and the four-partition.
For example, the partition shape mode information (SPLIT _ mode) may indicate that the current coding unit is not partitioned (NO _ SPLIT). In addition, the partition shape mode information may indicate a QUAD partition (QUAD _ partition). In addition, the partition shape mode information may indicate a vertical binary partition (BI _ VER _ SPLIT). In addition, the partition shape mode information may indicate a vertical binary partition (BI _ VER _ SPLIT). In addition, the partition shape mode information may indicate a horizontal binary partition (BI _ HOR _ SPLIT). In addition, the partition shape mode information may indicate a vertical triple partition (TRI _ VER _ partition). In addition, the partition shape mode information may indicate a horizontal triple partition (TRI _ horslpit).
The image decoding apparatus may obtain division shape mode information from a bitstream from one binary bit string. The form of the bitstream received by the image decoding apparatus may include a fixed-length binary code, a unary code, a truncated unary code, a predetermined binary code, and the like. The binary bit string may indicate information in an array of binary numbers. The binary string may comprise at least one bit. The image decoding apparatus may obtain division shape mode information corresponding to the binary bit string based on the division rule. The image decoding apparatus may determine whether to divide the coding unit, the division direction, and the division type based on the at least one binary bit string.
The coding unit may be less than or equal to the maximum coding unit. For example, when the partition shape mode information indicates that the coding unit is not partitioned, the coding unit may have the same size as the maximum coding unit. When the division shape mode information indicates that the coding unit is divided, the maximum coding unit may be divided into the coding units. In addition, when the partition shape mode information for the coding unit indicates that the coding unit is partitioned, the coding unit may be partitioned into smaller coding units. However, the division of the image is not limited thereto, and the maximum coding unit and the coding unit may not be different from each other. The division of the coding unit will be described in more detail with reference to fig. 8 to 21.
In addition, the coding unit may be divided into prediction units for image prediction. The prediction unit may be the same as or smaller than the coding unit. In addition, the coding unit may be divided into transform units for image transformation. The transform unit may be the same as or smaller than the coding unit. The shapes and sizes of the transform unit and the prediction unit may be unrelated to each other. The coding unit may be different from the prediction unit and the transform unit, or the coding unit, the prediction unit, and the transform unit may be identical to each other. The division of the prediction unit and the transform unit may be performed by the same method as the division of the coding unit. The division of the coding unit will be described in more detail with reference to fig. 8 to 21. The current block and the peripheral block of the present disclosure may indicate any one unit of a maximum coding unit, a prediction unit, and a transform unit. In addition, the current block or the current encoding unit may be a block currently performing decoding or encoding or a block currently performing division. The peripheral block may be a block reconstructed before the current block. The peripheral block may be spatially or temporally adjacent to the current block. The peripheral block may be located at any one of a lower left portion, a left portion, an upper right portion, a right portion, and a lower right portion of the current block.
Fig. 8 illustrates a process of determining at least one coding unit by dividing a current coding unit, performed by an image decoding apparatus according to an embodiment.
The block shape may include 4 nx 4N, 4
The shape of the coding unit may include a square shape and a non-square shape. When the width and height of the coding unit are the same (i.e., when the block shape of the coding unit is 4N × 4N), the image decoding apparatus may determine the block shape information of the coding unit as a square. The image decoding apparatus may determine the shape of the coding unit to be non-square.
When the width and the height of the coding unit are different from each other (that is, when the block shape of the coding unit is 4N × 2N, 2N × 4N, 4N × N, or N × 4N), the image decoding apparatus may determine the block shape information of the coding unit to be non-square. When the shape of the coding unit is non-square, the image decoding apparatus may determine the width to height ratio as at least one of 1:2, 2:1, 1:4, 4:1, 1:8, and 8:1 from the block shape information of the coding unit. In addition, the image decoding apparatus may determine whether the coding unit is in the horizontal direction or the vertical direction based on the width and the height of the coding unit. In addition, the image decoding apparatus may determine the size of the coding unit based on at least one of the width, the height, and the area of the coding unit.
According to the embodiment, the image decoding apparatus may determine the shape of the coding unit by using the block shape information, and may determine the division method of the coding unit by using the division shape mode information. That is, the coding unit division method indicated by the division shape mode information may be determined based on a block shape indicated by block shape information used by the image decoding apparatus.
The image decoding apparatus may obtain the partition shape mode information from the bitstream. However, it is not limited thereto. The image decoding apparatus and the
According to an embodiment, the image decoding apparatus may use block shape information indicating that the current coding unit has a square shape. For example, the image decoding apparatus may determine whether to divide a square coding unit, whether to divide the square coding unit vertically, whether to divide the square coding unit horizontally, or whether to divide the square coding unit into four coding units based on the division shape mode information. Referring to fig. 8, when the block shape information of the
Referring to fig. 8, according to an embodiment, the image decoding apparatus may determine two
Fig. 9 illustrates a process of determining at least one coding unit by dividing a non-square coding unit performed by the image decoding apparatus according to the embodiment.
According to an embodiment, the image decoding apparatus may use block shape information indicating that the current coding unit has a non-square shape. The image decoding apparatus may determine whether to divide the current coding unit of the non-square shape or whether to divide the current coding unit of the non-square shape by using a predetermined division method, based on the division shape mode information. Referring to fig. 9, when block shape information of a
According to the embodiment, the image decoding apparatus may determine the division method of the coding unit by using the division shape mode information, and in this case, the division shape mode information may indicate the number of one or more coding units generated by dividing the coding unit. Referring to fig. 9, when the division shape mode information indicates that the
According to an embodiment, when the image decoding apparatus divides the non-square
According to an embodiment, the division shape mode information indicates that the coding unit is divided into odd blocks, and the image decoding apparatus may determine an odd number of coding units included in the
The width to height ratio of the
According to an embodiment, the image decoding apparatus may determine an odd number of coding units included in the
According to an embodiment, when the division shape mode information indicates that the encoding unit is divided into odd blocks, the image decoding apparatus may determine an odd number of encoding units included in the
Fig. 10 illustrates a process of dividing an encoding unit based on at least one of block shape information and divided shape mode information, performed by an image decoding apparatus according to an embodiment.
According to an embodiment, the image decoding apparatus may determine whether to divide the
According to an embodiment, the image decoding apparatus may determine to divide the determined
Referring to fig. 10, a predetermined coding unit (e.g., a coding unit at a center position or a square coding unit) among an odd number of
According to an embodiment, the image decoding apparatus may determine to divide the
Referring to fig. 10, the image decoding apparatus may limit the
According to the embodiment, the image decoding apparatus may obtain at least one of block shape information and division shape mode information for dividing the current coding unit from a predetermined position in the current coding unit.
Fig. 11 illustrates a method of determining a predetermined coding unit from an odd number of coding units performed by an image decoding apparatus according to an embodiment.
Referring to fig. 11, at least one of block shape information and division shape mode information of the
According to an embodiment, the image decoding apparatus may select one of the coding units when the current coding unit is divided into a predetermined number of coding units. As will be described below with respect to various embodiments, various methods may be used to select one of a plurality of coding units.
According to an embodiment, the image decoding apparatus may divide a current coding unit into a plurality of coding units, and may determine a coding unit at a predetermined position.
According to an embodiment, the image decoding apparatus may use information indicating each of positions of an odd number of coding units to determine a coding unit at a center position among the odd number of coding units. Referring to fig. 11, the image decoding apparatus may determine an odd number of
According to an embodiment, the information indicating the positions of the left
According to an embodiment, information indicating the position of the left
According to an embodiment, the image decoding apparatus may divide the
According to the embodiment, the image decoding apparatus may determine the widths or heights of the
The image decoding apparatus may determine the widths or heights of the
According to an embodiment, the image decoding apparatus may determine the width of the
However, the position of the sampling point considering the position for determining the coding unit is not limited to the above-described upper-left position, and information on an arbitrary position of the sampling point included in the coding unit may be used.
According to the embodiment, the image decoding apparatus may select a coding unit at a predetermined position from an odd number of coding units determined by dividing the current coding unit in consideration of the shape of the current coding unit. For example, when the current coding unit has a non-square shape having a width greater than a height, the image decoding apparatus may determine a coding unit at a predetermined position in the horizontal direction. That is, the image decoding apparatus may determine one of the coding units at different positions in the horizontal direction and impose a restriction on the coding unit. When the current coding unit has a non-square shape with a height greater than a width, the image decoding apparatus may determine a coding unit at a predetermined position in the vertical direction. That is, the image decoding apparatus may determine one of the coding units at different positions in the vertical direction and may apply a restriction to the coding unit.
According to the embodiment, the image decoding apparatus may use the information indicating the respective positions of the even number of coding units to determine the coding unit at a predetermined position among the even number of coding units. The image decoding apparatus may determine an even number of coding units by bi-dividing a current coding unit, and may determine a coding unit at a predetermined position by using information on positions of the even number of coding units. The operation related thereto may correspond to the operation of determining the coding unit at a predetermined position (e.g., a center position) among the odd number of coding units, which has been described in detail above with respect to fig. 11, and thus a detailed description thereof will not be provided herein.
According to an embodiment, when a current coding unit that is not square is divided into a plurality of coding units, predetermined information about a coding unit at a predetermined position may be used in a dividing operation to determine a coding unit at a predetermined position among the plurality of coding units. For example, the image decoding apparatus may use at least one of block shape information and divided shape mode information stored in samples included in a coding unit at a center position in a dividing operation to determine a coding unit at the center position among a plurality of coding units determined by dividing the current coding unit.
Referring to fig. 11, the image decoding apparatus may divide a
According to the embodiment, predetermined information for identifying a coding unit at a predetermined position may be obtained from predetermined samples included in the coding unit to be determined. Referring to fig. 11, the image decoding apparatus may determine a coding unit at a predetermined position (e.g., a coding unit at a center position among a plurality of divided coding units) among a plurality of
According to an embodiment, the position of a sample point from which predetermined information can be obtained may be determined based on the shape of the
According to an embodiment, when a current coding unit is divided into a plurality of coding units, the image decoding apparatus may determine a coding unit at a predetermined position among the plurality of coding units using at least one of block shape information and division shape mode information. According to the embodiment, the image decoding apparatus may obtain at least one of block shape information and division shape mode information from samples at predetermined positions in the coding units, and divide the plurality of coding units generated by dividing the current coding unit by using at least one of the division shape mode information and the block shape information obtained from samples at predetermined positions in each of the plurality of coding units. That is, the coding units may be recursively divided based on at least one of block shape information and divided shape pattern information obtained from samples at predetermined positions in each coding unit. The operation of recursively dividing the coding units has been described above with respect to fig. 10, and thus a detailed description thereof will not be provided here.
According to the embodiment, the image decoding apparatus may determine one or more coding units by dividing a current coding unit, and may determine an order of decoding the one or more coding units based on a predetermined block (e.g., the current coding unit).
Fig. 12 illustrates an order in which an image decoding apparatus processes a plurality of coding units when the plurality of coding units are determined by dividing a current coding unit according to an embodiment.
According to the embodiment, the image decoding apparatus may determine the
Referring to fig. 12, the image decoding apparatus may determine that the
According to an embodiment, the image decoding apparatus may recursively divide the encoding units. Referring to fig. 12, the image decoding apparatus may determine the plurality of
According to the embodiment, the image decoding apparatus may determine the
According to an embodiment, the processing order of the coding units may be determined based on the operation of dividing the coding units. In other words, the processing order of the divided coding units may be determined based on the processing order of the coding units immediately before being divided. The image decoding apparatus may determine the processing order of the
Fig. 13 illustrates a process of determining that a current coding unit is to be divided into an odd number of coding units, which is performed by the image decoding apparatus when the coding units cannot be processed in a predetermined order, according to the embodiment.
According to an embodiment, the image decoding apparatus may determine whether the current coding unit is divided into an odd number of coding units based on the obtained block shape information and the divided shape mode information. Referring to fig. 13, a square first coding unit 1300 may be divided into non-square second coding units 1310a and 1310b, and the second coding units 1310a and 1310b may be independently divided into third coding units 1320a and 1320b and third coding units 1320c to 1320 e. According to an embodiment, the image decoding apparatus may determine the plurality of third encoding units 1320a and 1320b by dividing the left second encoding unit 1310a in the horizontal direction, and may divide the right second encoding unit 1310b into an odd number of third encoding units 1320c to 1320 e.
According to the embodiment, the image decoding apparatus may determine whether to divide an arbitrary coding unit into an odd number of coding units by determining whether the third coding units 1320a and 1320b and the third coding units 1320c to 1320e can be processed in a predetermined order. Referring to fig. 13, the image decoding apparatus may determine third coding units 1320a and 1320b and third coding units 1320c to 1320e by recursively dividing the first coding unit 1300. The image decoding apparatus may determine whether any one of the first encoding unit 1300, the second encoding units 1310a and 1310b, and the third encoding units 1320a and 1320b, and the third encoding units 1320c, 1320d, and 1320e is divided into an odd number of encoding units based on at least one of the block shape information and the division shape mode information. For example, the second encoding unit 1310b located at the right side among the second encoding units 1310a and 1310b may be divided into odd number of third encoding units 1320c, 1320d, and 1320 e. The processing order of the plurality of coding units included in the first coding unit 1300 may be a predetermined order (e.g., a zigzag scanning order 1330), and the image decoding apparatus may determine whether the third coding units 1320c, 1320d, and 1320e determined by dividing the right-side second coding unit 1310b into odd-numbered coding units satisfy a condition sufficient for processing in the predetermined order.
According to an embodiment, the image decoding apparatus may determine whether the third encoding units 1320a and 1320b and the third encoding units 1320c, 1320d and 1320e included in the first encoding unit 1300 satisfy a condition for processing in a predetermined order, and the condition relates to whether at least one of the width and height of the second encoding units 1310a and 1310b is divided in half along the boundary of the third encoding units 1320a and 1320b and the third encoding units 1320c, 1320d and 1320 e. For example, the third encoding units 1320a and 1320b determined by dividing the height of the non-square left second encoding unit 1310a by half satisfy the condition. Since the boundary of the third coding units 1320c, 1320d, and 1320e determined by dividing the right second coding unit 1310b into three coding units does not divide the width or height of the right second coding unit 1310b in half, it may be determined that the third coding units 1320c, 1320d, and 1320e do not satisfy the condition. When the condition is not satisfied as described above, the image decoding apparatus may determine that the scanning order is discontinuous, and determine that the right second encoding unit 1310b is divided into odd-numbered encoding units based on the determination result. According to the embodiment, when the coding unit is divided into an odd number of coding units, the image decoding apparatus may apply a predetermined restriction to the coding unit at a predetermined position in the divided coding units. The limits or the predetermined locations have been described above with respect to various embodiments, and thus a detailed description thereof will not be provided herein.
Fig. 14 illustrates a process of determining at least one coding unit by dividing the
According to an embodiment, the image decoding apparatus may divide the
According to an embodiment, the image decoding apparatus may determine whether the
According to the embodiment, the image decoding apparatus may determine the coding units of various shapes by dividing the first coding unit.
Referring to fig. 14, the image decoding apparatus may divide a square
Fig. 15 illustrates that when the second encoding unit having a non-square shape determined by dividing the
According to an embodiment, the image decoding apparatus may determine to divide the square
According to an embodiment, the image decoding apparatus may determine the
Fig. 16 illustrates a process of dividing a square encoding unit performed by the image decoding apparatus when the division shape mode information indicates that the square encoding unit is not to be divided into four square encoding units according to the embodiment.
According to an embodiment, the image decoding apparatus may determine the
According to an embodiment, the image decoding apparatus may independently divide the non-square
For example, the image decoding apparatus may determine the square
As another example, the image decoding apparatus may determine the
Fig. 17 illustrates that a processing order between a plurality of coding units may be changed according to a process of dividing the coding units according to an embodiment.
According to an embodiment, the image decoding apparatus may divide the
According to an embodiment, the image decoding apparatus may process the encoding units in a predetermined order. The operation of processing the coding units in a predetermined order has been described above with respect to fig. 17, and thus a detailed description thereof will not be provided here. Referring to fig. 17, the image decoding apparatus may determine four square
According to the embodiment, the image decoding apparatus may determine the
According to the embodiment, the image decoding apparatus may determine the
Referring to fig. 17,
Fig. 18 illustrates a process of determining a depth of a coding unit as a shape and a size of the coding unit change when the coding unit is recursively divided to determine a plurality of coding units according to an embodiment.
According to an embodiment, the image decoding apparatus may determine the depth of the coding unit based on a predetermined criterion. For example, the predetermined criterion may be the length of a long side of the coding unit. When the length of the long side of the coding unit before being divided is 2n times (n >0) the length of the long side of the current coding unit after being divided, the image decoding apparatus may determine that the depth of the current coding unit is increased by n from the depth of the coding unit before being divided. In the following description, a coding unit having an increased depth is represented as a coding unit having a deeper depth.
Referring to fig. 18, according to an embodiment, an image decoding apparatus may determine second and
According to an embodiment, the image decoding apparatus may determine the deeper-depth
The image decoding apparatus may determine the
According to an embodiment, the image decoding apparatus may determine the
According to an embodiment, the image decoding apparatus may determine the
According to an embodiment, the image decoding apparatus may determine the
According to an embodiment, the image decoding apparatus may determine the
According to an embodiment, the image decoding apparatus may divide the
According to an embodiment, the width and height of the
Fig. 19 illustrates a depth that can be determined based on the shape and size of a coding unit and a Partial Index (PID) for distinguishing the coding units according to an embodiment.
According to an embodiment, the image decoding apparatus may determine the second encoding units of various shapes by dividing the
According to an embodiment, the depths of the
According to an embodiment, the image decoding apparatus may determine the plurality of
According to an embodiment, the depth of the
In addition, the image decoding apparatus may divide the non-square
According to an embodiment, when the divided odd-numbered coding units do not have the equal size, the image decoding apparatus may determine the PIDs for identifying the divided coding units based on a size ratio between the coding units. Referring to fig. 19, the divided
According to an embodiment, the image decoding apparatus may determine whether to use a specific division method based on PID values for identifying a plurality of coding units determined by dividing a current coding unit. Referring to fig. 19, the image decoding apparatus may determine even-numbered
According to the embodiment, the image decoding apparatus may determine the coding unit at a predetermined position among the divided coding units by using the PID for distinguishing the coding units. According to an embodiment, when the divided shape mode information of the
According to the embodiment, the image decoding apparatus may use a predetermined data unit in which the coding unit starts to be recursively divided.
Fig. 20 illustrates determining a plurality of coding units based on a plurality of predetermined data units included in a picture according to an embodiment.
According to an embodiment, the predetermined data unit may be defined as a data unit for starting to recursively divide the coding unit by using at least one of the block shape information and the division shape mode information. That is, the predetermined data unit may correspond to a coding unit for determining the highest depth of a plurality of coding units divided from a current picture. In the following description, for convenience of explanation, a predetermined data unit is referred to as a reference data unit.
According to an embodiment, the reference data unit may have a predetermined size and a predetermined size shape. According to an embodiment, the reference coding unit may include M × N samples. Here, M and N may be equal to each other and may be integers expressed as powers of 2. That is, the reference data unit may have a square shape or a non-square shape, and may be divided into an integer number of coding units.
According to an embodiment, an image decoding apparatus may divide a current picture into a plurality of reference data units. According to the embodiment, the image decoding apparatus may divide a plurality of reference data units divided from a current picture by using division information on each reference data unit. The operation of dividing the reference data unit may correspond to a dividing operation using a quadtree structure.
According to an embodiment, the image decoding apparatus may determine in advance a minimum size allowed for a reference data unit included in a current picture. Accordingly, the image decoding apparatus may determine various reference data units having a size equal to or greater than the minimum size, and may determine one or more coding units by using the block shape information and the partition shape mode information with reference to the determined reference data units.
Referring to fig. 20, the image decoding apparatus may use a square reference coding unit 2000 or a non-square reference coding unit 2002. According to an embodiment, the shape and size of a reference coding unit may be determined based on various data units (e.g., sequences, pictures, slices, slice segments, maximum coding units, etc.) that can include one or more reference coding units.
According to an embodiment, the receiver 110 of the image decoding apparatus may obtain at least one of reference coding unit shape information and reference coding unit size information regarding each of various data units from a bitstream. The operation of dividing the square reference coding unit 2000 into one or more coding units has been described above with respect to the operation of dividing the current coding unit 300 of fig. 18, and the operation of dividing the non-square reference coding unit 2002 into one or more coding units has been described above with respect to the operation of dividing the
According to an embodiment, the image decoding apparatus may use the PID for identifying the size and shape of the reference coding unit to determine the size and shape of the reference coding unit according to some data units previously determined based on a predetermined condition. That is, the receiver 110 may obtain only a PID for identifying a size and a shape of a reference coding unit for each slice, slice segment, or maximum coding unit, which is a data unit (e.g., a data unit having a size equal to or smaller than a slice) satisfying a predetermined condition among various data units (e.g., a sequence, a picture, a slice segment, a maximum coding unit, etc.), from a bitstream. The image decoding apparatus can determine the size and shape of the reference data unit for each data unit satisfying a predetermined condition by using the PID. When the reference coding unit shape information and the reference coding unit size information are obtained and used from the bitstream according to each data unit having a relatively small size, the efficiency of using the bitstream may not be high, and thus only the PID may be obtained and used instead of directly obtaining the reference coding unit shape information and the reference coding unit size information. In this case, at least one of the size and shape of the reference coding unit corresponding to the PID for identifying the size and shape of the reference coding unit may be predetermined. That is, the image decoding apparatus may determine at least one of the size and the shape of the reference coding unit included in the data unit serving as the unit for obtaining the PID by selecting at least one of the size and the shape of the predetermined reference coding unit based on the PID.
According to an embodiment, the image decoding apparatus may use one or more reference coding units included in the maximum coding unit. That is, the maximum coding unit divided from the picture may include one or more reference coding units, and the coding unit may be determined by recursively dividing each reference coding unit. According to an embodiment, at least one of the width and the height of the maximum coding unit may be an integer multiple of at least one of the width and the height of the reference coding unit. According to an embodiment, the size of the reference coding unit may be obtained by dividing the maximum coding unit n times based on a quadtree structure. That is, according to various embodiments, the image decoding apparatus may determine the reference coding unit by dividing the maximum coding unit n times based on the quadtree structure, and may divide the reference coding unit based on at least one of the block shape information and the divided shape mode information.
Fig. 21 illustrates processing blocks used as a unit for determining the determination order of reference coding units included in a
According to an embodiment, an image decoding apparatus may determine one or more processing blocks divided from a picture. The processing block is a data unit including one or more reference coding units divided from a picture, and the one or more reference coding units included in the processing block may be determined according to a specific order. That is, the determination order of the one or more reference coding units determined in each processing block may correspond to one of various types of orders for determining the reference coding units, and may vary according to the processing block. The determined order of the reference coding units determined for each processing block may be one of various orders (e.g., a raster scan order, a zigzag scan, an N-shaped scan, an upper right diagonal scan, a horizontal scan, and a vertical scan), but is not limited to the above scan order.
According to an embodiment, an image decoding apparatus may obtain processing block size information and may determine a size of one or more processing blocks included in a picture. The image decoding apparatus may obtain processing block size information from a bitstream and may determine a size of one or more processing blocks included in a picture. The size of the processing block may be a predetermined size of the data unit indicated by the processing block size information.
According to an embodiment, the receiver 110 of the image decoding apparatus may obtain the processing block size information from the bitstream according to each specific data unit. For example, the processing block size information may be obtained from a bitstream in units of data such as images, sequences, pictures, slices, or slice segments. That is, the receiver 110 may obtain the processing block size information from the bitstream according to each of various data units, and the image decoding apparatus may determine the size of one or more processing blocks divided from the picture by using the obtained processing block size information. The size of the processing block may be an integer multiple of the size of the reference coding unit.
According to an embodiment, the image decoding apparatus may determine the sizes of the processing blocks 2102 and 2112 included in the
According to an embodiment, the image decoding apparatus may determine the processing blocks 2102 and 2112 included in the
According to an embodiment, the image decoding apparatus may obtain determination order information of one or more reference coding units included in one or more processing blocks from a bitstream, and may determine a determination order for the one or more reference coding units based on the obtained determination order information. The determination order information may be defined to determine an order or direction of the reference coding unit in the processing block. That is, the determination order of the reference coding units may be independently determined for each processing block.
According to the embodiment, the image decoding apparatus may obtain the determination order information of the reference coding unit from the bitstream according to each specific data unit. For example, the receiver 110 may obtain the determined order information of the reference coding unit from the bitstream according to each data unit such as an image, a sequence, a picture, a slice segment, or a processing block. Since the determination order information of the reference coding unit indicates the order in which the reference coding unit is determined in the processing block, the determination order information may be obtained for each specific data unit including an integer number of processing blocks.
According to an embodiment, the image decoding apparatus may determine one or more reference encoding units based on the determined determination order.
According to an embodiment, the receiver 110 may obtain the determined order information of the reference coding units from the bitstream as information related to the processing blocks 2102 and 2112, and the image decoding apparatus may determine the determined order of one or more reference coding units included in the processing blocks 2102 and 2112 and determine one or more reference coding units included in the
According to an embodiment, the image decoding apparatus may decode the determined one or more reference coding units. The image decoding apparatus may decode the image based on the reference encoding unit determined as described above. The method of decoding the reference coding unit may include various image decoding methods.
According to the embodiment, the image decoding apparatus may obtain block shape information indicating a shape of a current coding unit or partition shape mode information indicating a partition method of the current coding unit from a bitstream, and may use the obtained information. Block shape information or division shape mode information may be included in a bitstream related to various data units. For example, the image decoding apparatus may use block shape information or partition shape mode information included in a sequence parameter set, a picture parameter set, a video parameter set, a slice header, or a slice segment header. Further, the image decoding apparatus may obtain a syntax corresponding to the block shape information or the division shape mode information from the bitstream according to each maximum coding unit, each reference coding unit, or each processing block, and may use the obtained syntax.
While the present disclosure has been particularly shown and described with reference to embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure as defined by the following claims. Accordingly, the embodiments should be considered in a descriptive sense only and not for purposes of limitation. Therefore, the scope of the present disclosure is defined not by the detailed description of the present disclosure but by the appended claims, and all differences within the scope will be construed as being included in the present disclosure.
The method may be implemented as a program executed in a computer, and may be implemented in a general-purpose digital computer for executing the program by using a computer readable recording medium. The computer-readable recording medium may include magnetic storage media (e.g., Read Only Memory (ROM), floppy disks, hard disks, etc.) and optical recording media (e.g., Compact Disks (CD) -ROMs, Digital Versatile Disks (DVDs), etc.).