Abstract: A method for decoding a video according to the present invention may comprise: decoding information indicating whether illumination compensation is performed for a current block, determining an illumination compensation parameter of the current block when the information indicates that the illumination compensation is performed for the current block, obtaining a prediction block by performing inter prediction for the current block, and performing the illumination compensation on the current block using the illumination compensation parameter. obtaining a weighted prediction parameter of a current block, determined, based on the weighted prediction parameter, weights applying to a first prediction block generated based on a first reference picture and a second prediction block generated based on a second reference picture, and obtaining, based on a weighted sum of the first prediction block and the second prediction block, a final prediction block of the current block.
1. A method of decoding a video, the method comprising: determining whether a current block is partitioned into two partitions or not; when it is determined that the current block is partitioned into the two partitions, determining whether the current block is partitioned symmetrically or asymmetrically; determining (S830) whether an inverse-transform is skipped for the current block or not; and when it is determined that the inverse-transform is not skipped for the current block, performing (S830) the inverse-transform for the current block, wherein when the current block is partitioned into the two partitions, decoding of a transform skip flag from a bitstream is omitted, the transform skip flag indicating whether the inverse-transform is skipped or not, and wherein when decoding of the transform skip flag is omitted, it is determined that the inverse-transform is not skipped for the current block.
2. The method of claim 1, wherein when it is determined that the current block is partitioned asymmetrically, the current block is partitioned into a first partition having 1/4 size of the current block and a second partition having 3/4 size of the current block.
3. The method of claim 1, wherein whether it is allowed to partition the current block asymmetrically is determined based on a size of the current block.
4. The method of claim 1, wherein the method further comprises obtaining a prediction block for the current block based on L0 motion information and L1 motion information, and wherein the prediction block is obtained based on a weighted sum operation of a first prediction block obtained by the L0 motion information and a second 30 prediction block obtained by the L1 motion information.
5. The method of claim 4, wherein the weighted sum operation is performed by applying a first weight to the first prediction block and applying a second weight to the second prediction block, wherein the first weight and the second weight are determined based on index information specifying one among a plurality of weight candidates, and wherein a number of the weight candidates is varied depending on temporal directions of an L0 reference picture and an L1 reference picture.
6. A method of encoding a video, the method comprising: determining whether a current block is partitioned into two partitions or not; when it is determined that the current block is partitioned into the two partitions, determining whether the current block is partitioned symmetrically or asymmetrically; determining (S830) whether a transform is skipped for the current block or not; and when it is determined that the transform is not skipped for the current block, performing (S830) the transform for the current block, wherein when the current block is partitioned into the two partitions, encoding of a transform skip flag is not encoded into a bitstream, the transform skip flag indicating whether the transform is skipped or not, and wherein when the current block is partitioned into the two partitions, it is determined that the transform is not skipped for the current block.
7. The method of claim 6, wherein when it is determined that the current block is partitioned asymmetrically, the current block is partitioned into a first partition having 1/4 size of the current block and a second partition having 3/4 size of the current block.
8. The method of claim 6, wherein whether it is allowed to partition the current block asymmetrically is determined based on a size of the current block.
9. The method of claim 6, wherein the method further comprises obtaining a prediction block for the current block based on L0 motion information and L1 motion information, and wherein the prediction block is obtained based on a weighted sum operation of a first prediction block obtained by the L0 motion information and a second prediction block obtained by the L1 motion information.
10. The method of claim 9, wherein the weighted sum operation is performed by applying a first weight to the first prediction block and applying a second weight to the second prediction block, wherein the first weight and the second weight are determined based on one among a plurality of weight candidates, index information specifying the selected one being encoded into a bitstream, and wherein a number of the weight candidates is varied depending on temporal directions of an L0 reference picture and an L1 reference picture
Title of Invention: Video signal processing method and apparatus
technical field
[One]
The present invention relates to a video signal processing method and apparatus.
background
[2]
Recently, the demand for high-resolution and high-quality images such as HD (High Definition) images and UHD (Ultra High Definition) images is increasing in various application fields. As the image data becomes higher resolution and higher quality, the amount of data relatively increases compared to the existing image data. The storage cost will increase. High-efficiency image compression techniques can be used to solve these problems that occur as image data becomes high-resolution and high-quality.
[3]
Inter-screen prediction technology that predicts pixel values included in the current picture from pictures before or after the current picture with image compression technology, intra-picture prediction technology that predicts pixel values included in the current picture using pixel information in the current picture, Various techniques exist, such as entropy encoding technology in which a short code is assigned to a value with a high frequency of occurrence and a long code is assigned to a value with a low frequency of occurrence.
[4]
Meanwhile, as the demand for high-resolution images increases, the demand for stereoscopic image content as a new image service is also increasing. A video compression technique for effectively providing high-resolution and ultra-high-resolution stereoscopic image content is being discussed.
DETAILED DESCRIPTION OF THE INVENTION
technical challenge
[5]
An object of the present invention is to provide a method and apparatus capable of efficiently performing inter prediction on an encoding/decoding target block when encoding/decoding a video signal.
[6]
An object of the present invention is to provide a method and apparatus for compensating for a prediction sample in consideration of a brightness change between images in encoding/decoding a video signal.
[7]
An object of the present invention is to provide a method and apparatus capable of efficiently encoding/decoding a lighting compensation parameter in encoding/decoding a video signal.
[8]
The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention belongs from the description below. will be able
means of solving the problem
[9]
A video signal decoding method and apparatus according to the present invention decodes information indicating whether lighting compensation is performed on a current block, and when the information indicates that lighting compensation is performed on the current block, illumination of the current block A compensation parameter may be determined, inter prediction may be performed on the current block to obtain a prediction block, and illumination compensation may be performed on the prediction block using the illumination compensation parameter.
[10]
A video signal encoding method and apparatus according to the present invention perform inter prediction on a current block to obtain a prediction block, determine a lighting compensation parameter for the current block, and use the lighting compensation parameter to predict the prediction It is possible to perform lighting compensation on a block, and encode information indicating whether lighting compensation is performed on the current block.
[11]
In the video signal encoding/decoding method and apparatus according to the present invention, the illumination compensation parameter is based on a first template area adjacent to the current block and a second template area adjacent to a reference block included in a reference picture of the current block. can be induced to
[12]
In the method and apparatus for encoding/decoding a video signal according to the present invention, when an unavailable sample is included in the second template region, the unusable sample may be replaced with an available sample.
[13]
In the method and apparatus for encoding/decoding a video signal according to the present invention, the available sample may be included in the second template region or the reference block.
[14]
In the method and apparatus for encoding/decoding a video signal according to the present invention, when an unavailable sample is included in the second template region, the unavailable sample may be replaced with an interpolation value of a plurality of available samples.
[15]
In the video signal encoding/decoding method and apparatus according to the present invention, obtaining the prediction block includes obtaining a first prediction block based on a first reference picture of the current block, and obtaining a second reference picture of the current block It may include obtaining a second prediction block based on .
[16]
In the video signal encoding/decoding method and apparatus according to the present invention, the illumination compensation may be performed on at least one of the first prediction block and the second prediction block.
[17]
In the method and apparatus for encoding/decoding a video signal according to the present invention, the prediction block may be obtained by a weighted sum of the first prediction block and the second prediction block. In this case, a weight applied to the first prediction block and the second prediction block may be determined by a weighted prediction parameter of the current block.
[18]
In the method and apparatus for encoding/decoding a video signal according to the present invention, the weighted prediction parameter may be determined based on the illumination compensation parameter.
[19]
In the method and apparatus for encoding/decoding a video signal according to the present invention, the prediction block may be obtained by a weighted sum of the first prediction block and the second prediction block. In this case, the weight applied to any one of the first reference block and the second reference block is determined based on the illumination compensation parameter, and the weight applied to the other one of the first reference block and the second reference block is It may be determined based on the weighted prediction parameter of the current block.
[20]
The features briefly summarized above with respect to the invention are merely exemplary aspects of the detailed description of the invention that follows, and do not limit the scope of the invention.
Effects of the Invention
[21]
According to the present invention, inter prediction can be efficiently performed on an encoding/decoding target block.
[22]
According to the present invention, a prediction sample can be compensated in consideration of a change in brightness between images.
[23]
According to the present invention, it is possible to efficiently encode/decode the illumination compensation parameter.
[24]
The effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned may be clearly understood by those of ordinary skill in the art to which the present invention belongs from the following description. will be.
Brief description of the drawing
[25]
1 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present invention.
[26]
2 is a block diagram illustrating an image decoding apparatus according to an embodiment of the present invention.
[27]
3 illustrates an example of hierarchically dividing a coding block based on a tree structure as an embodiment to which the present invention is applied.
[28]
4 is a diagram illustrating a partition type in which binary tree-based partitioning is allowed as an embodiment to which the present invention is applied.
[29]
5 is a diagram illustrating an example in which only a specific type of binary tree-based partitioning is allowed as an embodiment to which the present invention is applied.
[30]
6 is a diagram for explaining an example in which information related to the allowed number of binary tree divisions is encoded/decoded as an embodiment to which the present invention is applied.
[31]
7 is a diagram illustrating a partition mode applicable to a coding block as an embodiment to which the present invention is applied.
[32]
8 is a flowchart illustrating a process of acquiring a residual sample according to an embodiment to which the present invention is applied.
[33]
9 is a flowchart illustrating an inter prediction method according to an embodiment to which the present invention is applied.
[34]
10 is a diagram illustrating a process of deriving motion information of a current block when a merge mode is applied to the current block.
[35]
11 is a diagram illustrating a process of deriving motion information of the current block when the AMVP mode is applied to the current block.
[36]
12 is a flowchart of a bidirectional weighted prediction method according to an embodiment of the present invention.
[37]
13 is a diagram for explaining the principle of bidirectional weighted prediction.
[38]
14 is a diagram illustrating a scan order between neighboring blocks.
[39]
15 is a flowchart of a lighting compensation prediction method according to the present invention.
[40]
16 is a flowchart of a bidirectional weighted prediction method based on lighting compensation.
[41]
17 is a diagram illustrating an example of performing bidirectional weighted prediction using a reference block to which illumination compensation is applied.
Modes for carrying out the invention
[42]
Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing each figure, like reference numerals have been used for like elements.
[43]
Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
[44]
When a component is referred to as being “connected” or “connected” to another component, it is understood that the other component may be directly connected or connected to the other component, but other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that no other element is present in the middle.
[45]
The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It is to be understood that this does not preclude the possibility of addition or existence of numbers, steps, operations, components, parts, or combinations thereof.
[46]
Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. Hereinafter, the same reference numerals are used for the same components in the drawings, and repeated descriptions of the same components are omitted.
[47]
[48]
1 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present invention.
[49]
Referring to FIG. 1 , the image encoding apparatus 100 includes a picture division unit 110 , prediction units 120 and 125 , a transform unit 130 , a quantization unit 135 , a rearrangement unit 160 , and an entropy encoding unit ( 165 ), an inverse quantization unit 140 , an inverse transform unit 145 , a filter unit 150 , and a memory 155 .
[50]
Each of the constituent units shown in FIG. 1 is independently illustrated to represent different characteristic functions in the image encoding apparatus, and does not mean that each constituent unit is composed of separate hardware or one software constituent unit. That is, each component is listed as each component for convenience of description, and at least two components of each component are combined to form one component, or one component can be divided into a plurality of components to perform a function, and each of these components Integrated embodiments and separate embodiments of components are also included in the scope of the present invention without departing from the essence of the present invention.
[51]
In addition, some of the components are not essential components for performing essential functions in the present invention, but may be optional components for merely improving performance. The present invention can be implemented by including only essential components to implement the essence of the present invention, except for components used for performance improvement, and a structure including only essential components excluding optional components used for performance improvement Also included in the scope of the present invention.
[52]
The picture divider 110 may divide the input picture into at least one processing unit. In this case, the processing unit may be a prediction unit (PU), a transform unit (TU), or a coding unit (CU). The picture splitter 110 divides one picture into a combination of a plurality of coding units, prediction units, and transformation units, and combines one coding unit, prediction unit, and transformation unit based on a predetermined criterion (eg, a cost function). can be selected to encode the picture.
[53]
For example, one picture may be divided into a plurality of coding units. In order to split a coding unit in a picture, a recursive tree structure such as a quad tree structure can be used. A coding in which one image or a largest coding unit is used as a root and is divided into other coding units. A unit may be divided having as many child nodes as the number of divided coding units. A coding unit that is no longer split according to certain restrictions becomes a leaf node. That is, if it is assumed that only square splitting is possible for one coding unit, one coding unit may be split into up to four different coding units.
[54]
Hereinafter, in an embodiment of the present invention, a coding unit may be used as a unit for performing encoding or may be used as a meaning for a unit for performing decoding.
[55]
A prediction unit may be split in the form of at least one square or rectangle of the same size within one coding unit, and one prediction unit among the split prediction units within one coding unit is a prediction of another. It may be divided to have a shape and/or size different from that of the unit.
[56]
When a prediction unit for performing intra prediction based on a coding unit is generated, if it is not the minimum coding unit, intra prediction may be performed without dividing the prediction unit into a plurality of prediction units NxN.
[57]
The prediction units 120 and 125 may include an inter prediction unit 120 performing inter prediction and an intra prediction unit 125 performing intra prediction. Whether to use inter prediction or to perform intra prediction for a prediction unit may be determined, and specific information (eg, intra prediction mode, motion vector, reference picture, etc.) according to each prediction method may be determined. In this case, a processing unit in which prediction is performed and a processing unit in which a prediction method and specific content are determined may be different. For example, a prediction method and a prediction mode may be determined in a prediction unit, and prediction may be performed in a transformation unit. A residual value (residual block) between the generated prediction block and the original block may be input to the transform unit 130 . Also, prediction mode information, motion vector information, etc. used for prediction may be encoded by the entropy encoder 165 together with a residual value and transmitted to a decoder. When a specific encoding mode is used, the original block may be encoded and transmitted to the decoder without generating the prediction block through the predictors 120 and 125 .
[58]
The inter prediction unit 120 may predict a prediction unit based on information on at least one of a picture before or after a picture of the current picture, and in some cases, prediction based on information of a partial region in the current picture for which encoding has been completed Units can also be predicted. The inter prediction unit 120 may include a reference picture interpolator, a motion prediction unit, and a motion compensator.
[59]
The reference picture interpolator may receive reference picture information from the memory 155 and generate pixel information of integer pixels or less in the reference picture. In the case of luminance pixels, a DCT-based 8-tap interpolation filter in which filter coefficients are different to generate pixel information of integer pixels or less in units of 1/4 pixels may be used. In the case of a color difference signal, a DCT-based 4-tap interpolation filter in which filter coefficients are different to generate pixel information of integer pixels or less in units of 1/8 pixels may be used.
[60]
The motion prediction unit may perform motion prediction based on the reference picture interpolated by the reference picture interpolator. As a method for calculating the motion vector, various methods such as Full search-based Block Matching Algorithm (FBMA), Three Step Search (TSS), and New Three-Step Search Algorithm (NTS) may be used. The motion vector may have a motion vector value of 1/2 or 1/4 pixel unit based on the interpolated pixel. The motion prediction unit may predict the current prediction unit by using a different motion prediction method. Various methods, such as a skip method, a merge method, an AMVP (Advanced Motion Vector Prediction) method, an intra block copy method, etc., may be used as the motion prediction method.
[61]
The intra prediction unit 125 may generate a prediction unit based on reference pixel information around the current block, which is pixel information in the current picture. When a neighboring block of the current prediction unit is a block on which inter prediction is performed, and thus a reference pixel is a pixel on which inter prediction is performed, a reference pixel included in the block on which inter prediction is performed is a reference pixel of the block on which intra prediction is performed. information can be used instead. That is, when the reference pixel is not available, the unavailable reference pixel information may be replaced with at least one reference pixel among the available reference pixels.
[62]
In intra prediction, the prediction mode may have a directional prediction mode in which reference pixel information is used according to a prediction direction and a non-directional mode in which directional information is not used when prediction is performed. A mode for predicting luminance information and a mode for predicting chrominance information may be different, and intra prediction mode information used for predicting luminance information or predicted luminance signal information may be utilized to predict chrominance information.
[63]
When intra prediction is performed, if the size of the prediction unit and the size of the transformation unit are the same, intra prediction for the prediction unit based on the pixel present at the left side, the pixel present at the upper left corner, and the pixel present at the upper side of the prediction unit can be performed. However, when the size of the prediction unit is different from the size of the transformation unit when intra prediction is performed, intra prediction may be performed using a reference pixel based on the transformation unit. In addition, intra prediction using NxN splitting may be used only for the smallest coding unit.
[64]
The intra prediction method may generate a prediction block after applying an adaptive intra smoothing (AIS) filter to a reference pixel according to a prediction mode. The type of AIS filter applied to the reference pixel may be different. In order to perform the intra prediction method, the intra prediction mode of the current prediction unit may be predicted from the intra prediction mode of the prediction unit existing around the current prediction unit. When the prediction mode of the current prediction unit is predicted using mode information predicted from the neighboring prediction unit, if the intra prediction mode of the current prediction unit and the neighboring prediction unit are the same, the current prediction unit and the neighboring prediction unit are used using predetermined flag information It is possible to transmit information indicating that the prediction modes of , and if the prediction modes of the current prediction unit and the neighboring prediction units are different from each other, entropy encoding may be performed to encode prediction mode information of the current block.
[65]
In addition, a residual block including residual information that is a difference value from the original block of the prediction unit and the prediction unit in which prediction is performed based on the prediction unit generated by the prediction units 120 and 125 may be generated. The generated residual block may be input to the transform unit 130 .
[66]
The transform unit 130 converts the original block and the residual block including residual information of the prediction units generated by the prediction units 120 and 125 to DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), KLT and It can be converted using the same conversion method. Whether to apply DCT, DST, or KLT to transform the residual block may be determined based on intra prediction mode information of a prediction unit used to generate the residual block.
[67]
The quantization unit 135 may quantize values transformed in the frequency domain by the transform unit 130 . The quantization coefficient may vary according to blocks or the importance of an image. The value calculated by the quantization unit 135 may be provided to the inverse quantization unit 140 and the rearrangement unit 160 .
[68]
The rearrangement unit 160 may rearrange the coefficient values on the quantized residual values.
[69]
The rearranging unit 160 may change the two-dimensional block form coefficient into a one-dimensional vector form through a coefficient scanning method. For example, the rearranging unit 160 may scan from DC coefficients to coefficients in a high frequency region using a zig-zag scan method and may change it into a one-dimensional vector form. A vertical scan for scanning a two-dimensional block shape coefficient in a column direction and a horizontal scan for scanning a two-dimensional block shape coefficient in a row direction may be used instead of the zig-zag scan according to the size of the transform unit and the intra prediction mode. That is, it may be determined whether any of the zig-zag scan, the vertical scan, and the horizontal scan is used according to the size of the transform unit and the intra prediction mode.
[70]
The entropy encoding unit 165 may perform entropy encoding based on the values calculated by the reordering unit 160 . For entropy encoding, various encoding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC) may be used.
[71]
The entropy encoding unit 165 receives the residual value coefficient information and block type information, prediction mode information, division unit information, prediction unit information and transmission unit information, motion of the coding unit from the reordering unit 160 and the prediction units 120 and 125 . Various information such as vector information, reference frame information, interpolation information of a block, and filtering information may be encoded.
[72]
The entropy encoder 165 may entropy-encode the coefficient values of the coding units input from the reordering unit 160 .
[73]
The inverse quantizer 140 and the inverse transform unit 145 inversely quantize the values quantized by the quantizer 135 and inversely transform the values transformed by the transform unit 130 . The residual values generated by the inverse quantizer 140 and the inverse transform unit 145 are combined with the prediction units predicted through the motion estimation unit, the motion compensator, and the intra prediction unit included in the prediction units 120 and 125 and restored. You can create a Reconstructed Block.
[74]
The filter unit 150 may include at least one of a deblocking filter, an offset correcting unit, and an adaptive loop filter (ALF).
[75]
The deblocking filter may remove block distortion caused by the boundary between blocks in the reconstructed picture. In order to determine whether to perform deblocking, it may be determined whether to apply the deblocking filter to the current block based on pixels included in several columns or rows included in the block. When a deblocking filter is applied to a block, a strong filter or a weak filter can be applied according to the required deblocking filtering strength. In addition, in applying the deblocking filter, horizontal filtering and vertical filtering may be concurrently processed when performing vertical filtering and horizontal filtering.
[76]
The offset correcting unit may correct an offset from the original image in units of pixels with respect to the image on which the deblocking has been performed. In order to perform offset correction on a specific picture, a method of dividing pixels included in an image into a certain number of regions, determining the region to be offset and applying the offset to the region, or taking edge information of each pixel into account can be used to apply
[77]
Adaptive loop filtering (ALF) may be performed based on a value obtained by comparing the filtered reconstructed image and the original image. After dividing pixels included in an image into a predetermined group, one filter to be applied to the corresponding group is determined, and filtering can be performed differentially for each group. As for information on whether to apply ALF, the luminance signal may be transmitted for each coding unit (CU), and the shape and filter coefficients of the ALF filter to be applied may vary according to each block. Also, the ALF filter of the same type (fixed type) may be applied regardless of the characteristics of the block to be applied.
[78]
The memory 155 may store the reconstructed block or picture calculated through the filter unit 150 , and the stored reconstructed block or picture may be provided to the predictors 120 and 125 when inter prediction is performed.
[79]
[80]
2 is a block diagram illustrating an image decoding apparatus according to an embodiment of the present invention.
[81]
Referring to FIG. 2 , the image decoder 200 includes an entropy decoding unit 210, a reordering unit 215, an inverse quantization unit 220, an inverse transform unit 225, prediction units 230 and 235, and a filter unit ( 240) and a memory 245 may be included.
[82]
When an image bitstream is input from an image encoder, the input bitstream may be decoded by a procedure opposite to that of the image encoder.
[83]
The entropy decoding unit 210 may perform entropy decoding in a procedure opposite to that performed by the entropy encoding unit of the image encoder. For example, various methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC) may be applied to the method performed by the image encoder.
[84]
The entropy decoder 210 may decode information related to intra prediction and inter prediction performed by the encoder.
[85]
The reordering unit 215 may perform rearrangement based on a method of rearranging the entropy-decoded bitstream by the entropy decoding unit 210 by the encoder. Coefficients expressed in a one-dimensional vector form may be restored and rearranged in a two-dimensional block form. The reordering unit 215 may receive information related to coefficient scanning performed by the encoder and perform the reordering by performing a reverse scanning method based on the scanning order performed by the corresponding encoder.
[86]
The inverse quantization unit 220 may perform inverse quantization based on the quantization parameter provided by the encoder and the reordered coefficient values of the blocks.
[87]
The inverse transform unit 225 may perform inverse transforms, ie, inverse DCT, inverse DST, and inverse KLT, on the transforms performed by the transform unit, ie, DCT, DST, and KLT, on the quantization result performed by the image encoder. Inverse transform may be performed based on a transmission unit determined by the image encoder. The inverse transform unit 225 of the image decoder may selectively perform a transformation technique (eg, DCT, DST, KLT) according to a plurality of pieces of information such as a prediction method, a size of a current block, and a prediction direction.
[88]
The prediction units 230 and 235 may generate a prediction block based on the prediction block generation related information provided from the entropy decoding unit 210 and previously decoded block or picture information provided from the memory 245 .
[89]
As described above, when intra prediction is performed in the same manner as in the operation of the image encoder, when the size of the prediction unit and the size of the transformation unit are the same, the pixel present at the left side of the prediction unit, the pixel present at the upper left corner, and the upper side exist Intra prediction is performed on the prediction unit based on the pixel can In addition, intra prediction using NxN splitting may be used only for the smallest coding unit.
[90]
The prediction units 230 and 235 may include a prediction unit determiner, an inter prediction unit, and an intra prediction unit. The prediction unit determiner receives various information such as prediction unit information input from the entropy decoder 210, prediction mode information of the intra prediction method, and motion prediction related information of the inter prediction method, and divides the prediction unit from the current coding unit, and predicts It may be determined whether the unit performs inter prediction or intra prediction. The inter prediction unit 230 uses information required for inter prediction of the current prediction unit provided from the image encoder, and predicts the current based on information included in at least one picture before or after the current picture including the current prediction unit. Inter prediction may be performed on a unit. Alternatively, inter prediction may be performed based on information of a pre-restored partial region in the current picture including the current prediction unit.
[91]
In order to perform inter prediction, a motion prediction method of a prediction unit included in a corresponding coding unit based on a coding unit is selected from among skip mode, merge mode, AMVP mode, and intra block copy mode. You can decide which way to go.
[92]
The intra prediction unit 235 may generate a prediction block based on pixel information in the current picture. When the prediction unit is a prediction unit on which intra prediction is performed, intra prediction may be performed based on intra prediction mode information of the prediction unit provided by the image encoder. The intra prediction unit 235 may include an adaptive intra smoothing (AIS) filter, a reference pixel interpolator, and a DC filter. The AIS filter is a part that performs filtering on the reference pixel of the current block, and may be applied by determining whether to apply the filter according to the prediction mode of the current prediction unit. AIS filtering may be performed on the reference pixel of the current block by using the prediction mode and AIS filter information of the prediction unit provided by the image encoder. When the prediction mode of the current block is a mode in which AIS filtering is not performed, the AIS filter may not be applied.
[93]
When the prediction mode of the prediction unit is a prediction unit that performs intra prediction based on a pixel value obtained by interpolating the reference pixel, the reference pixel interpolator may interpolate the reference pixel to generate a reference pixel of a pixel unit having an integer value or less. When the prediction mode of the current prediction unit is a prediction mode that generates a prediction block without interpolating the reference pixel, the reference pixel may not be interpolated. The DC filter may generate the prediction block through filtering when the prediction mode of the current block is the DC mode.
[94]
The reconstructed block or picture may be provided to the filter unit 240 . The filter unit 240 may include a deblocking filter, an offset correcting unit, and an ALF.
[95]
Information on whether a deblocking filter is applied to a corresponding block or picture and information on whether a strong filter or a weak filter is applied when the deblocking filter is applied may be provided from the video encoder. The deblocking filter of the image decoder may receive deblocking filter-related information provided from the image encoder, and the image decoder may perform deblocking filtering on the corresponding block.
[96]
The offset correction unit may perform offset correction on the reconstructed image based on the type of offset correction applied to the image during encoding and information on the offset value.
[97]
ALF may be applied to a coding unit based on information on whether ALF is applied, ALF coefficient information, etc. provided from the encoder. Such ALF information may be provided by being included in a specific parameter set.
[98]
The memory 245 may store the reconstructed picture or block to be used as a reference picture or reference block, and may also provide the reconstructed picture to an output unit.
[99]
As described above, hereinafter, in the embodiment of the present invention, a coding unit is used as a term for a coding unit for convenience of description, but it may also be a unit for performing decoding as well as coding.
[100]
In addition, the current block denotes an encoding/decoding target block, and depending on the encoding/decoding step, a coding tree block (or coding tree unit), a coding block (or a coding unit), a transform block (or a transform unit), or a prediction block (or prediction unit) and the like.
[101]
[102]
One picture may be divided into square or non-square basic blocks and encoded/decoded. In this case, the basic block may be referred to as a coding tree unit. A coding tree unit may be defined as a coding unit having the largest size allowed in a sequence or a slice. Whether the coding tree unit is square or non-square, or information related to the size of the coding tree unit may be signaled through a sequence parameter set, a picture parameter set, a slice header, or the like. A coding tree unit may be divided into smaller-sized partitions. In this case, when a partition generated by dividing a coding tree unit is referred to as a depth 1, a partition generated by dividing a partition having a depth 1 may be defined as a depth 2 . That is, a partition generated by dividing a partition having a depth k in a coding tree unit may be defined as having a depth k+1.
[103]
A partition of an arbitrary size generated as the coding tree unit is divided may be defined as a coding unit. The coding unit may be divided recursively or divided into basic units for performing prediction, quantization, transform, in-loop filtering, or the like. For example, a partition of an arbitrary size generated as a coding unit is divided may be defined as a coding unit or a transform unit or a prediction unit that is a basic unit for performing prediction, quantization, transform, or in-loop filtering.
[104]
Partitioning of the coding tree unit or the coding unit may be performed based on at least one of a vertical line and a horizontal line. In addition, the number of vertical or horizontal lines partitioning the coding tree unit or coding unit may be at least one. For example, by using one vertical line or one horizontal line, the coding tree unit or coding unit is divided into two partitions, or by using two vertical lines or two horizontal lines, the coding tree unit or the coding unit is divided into three partitions. can be divided Alternatively, by using one vertical line and one horizontal line, the coding tree unit or coding unit may be divided into four partitions having a length and a width of 1/2.
[105]
When a coding tree unit or a coding unit is divided into a plurality of partitions using at least one vertical line or at least one horizontal line, the partitions may have a uniform size or different sizes. Alternatively, one partition may have a size different from that of the other partitions.
[106]
In the embodiments described below, it is assumed that a coding tree unit or a coding unit is divided into a quad tree or binary tree structure. However, it is also possible to divide the coding tree unit or coding unit using a larger number of vertical lines or a larger number of horizontal lines.
[107]
3 illustrates an example of hierarchically dividing a coding block based on a tree structure as an embodiment to which the present invention is applied.
[108]
The input image signal is decoded in units of a predetermined block, and a basic unit for decoding the input image signal as described above is called a coding block. A coding block may be a unit for performing intra/inter prediction, transformation, and quantization. Also, a prediction mode (eg, an intra prediction mode or an inter prediction mode) may be determined for each coding block, and prediction blocks included in the coding block may share the determined prediction mode. The coding block may be a square or non-square block having any size in the range of 8x8 to 64x64, and may be a square or non-square block having a size of 128x128, 256x256 or more.
[109]
Specifically, the coding block may be hierarchically divided based on at least one of a quad tree and a binary tree. Here, the quad-tree-based splitting may refer to a method in which a 2Nx2N coding block is split into four NxN coding blocks, and the binary tree-based splitting may refer to a method in which one coding block is split into two coding blocks. Even if binary tree-based division is performed, a square coding block may exist at a lower depth.
[110]
Binary tree-based partitioning may be performed symmetrically or asymmetrically. The coding block divided based on the binary tree may be a square block or a non-square block such as a rectangle. As an example, the partition type in which binary tree-based partitioning is allowed is 2NxN (horizontal non-square coding unit) or Nx2N (vertical non-square coding unit), which is symmetric, as in the example shown in FIG. 4 , asymmetric It may include at least one of asymmetric nLx2N, nRx2N, 2NxnU, or 2NxnD.
[111]
In binary tree-based partitioning, either one of a symmetrical or an asymmetrical partition may be allowed limitedly. In this case, configuring the coding tree unit as a square block may correspond to quad tree CU partitioning, and configuring the coding tree unit as a symmetric non-square block may correspond to binary tree partitioning. Configuring the coding tree unit into a square block and a symmetric non-square block may correspond to quad and binary tree CU partitioning.
[112]
Binary tree-based partitioning may be performed on a coding block for which quad-tree-based partitioning is no longer performed. The quad-tree-based partitioning may not be performed any more for the coding block partitioned on the binary tree-based basis.
[113]
In addition, the division of the lower depth may be determined depending on the division type of the upper depth. For example, when binary tree-based splitting is permitted in two or more depths, only binary tree-based splitting in the same form as that of binary tree splitting of an upper depth may be allowed in a lower depth. For example, when binary tree-based division in the form of 2NxN is performed at the upper depth, the division based on the binary tree of the form of 2NxN may be performed also at the lower depth. Alternatively, when the binary tree-based division in the Nx2N form is performed at the upper depth, the Nx2N binary tree-based segmentation may be allowed at the lower depth as well.
[114]
Conversely, in the lower depth, it is also possible to allow only the binary tree-based split in a form different from that of the upper depth binary tree.
[115]
For a sequence, slice, coding tree unit or coding unit, it may be limited to use only a specific type of binary tree-based partitioning. As an example, it may be limited to allow only binary tree-based splitting in the form of 2NxN or Nx2N for the coding tree unit. The allowed partition type may be predefined in the encoder or decoder, or information about the allowed or disallowed partition type may be encoded and signaled through a bitstream.
[116]
5 is a diagram illustrating an example in which only a specific type of binary tree-based partitioning is allowed. Fig. 5(a) shows an example in which only Nx2N binary tree-based partitioning is allowed, and Fig. 5(b) shows a limited example in which only 2NxN binary tree-based partitioning is allowed. Information indicating quad-tree-based partitioning to implement the quad-tree or binary tree-based adaptive partitioning, information about the size/depth of a coding block allowing quad-tree-based partitioning, and binary tree-based partitioning information, information on the size/depth of the coding block in which binary tree-based division is allowed, information on the size/depth of the coding block in which binary tree-based division is not allowed, or whether the binary tree-based division is in the vertical direction; Information on whether it is in a horizontal direction and the like may be used.
[117]
In addition, for a coding tree unit or a predetermined coding unit, the number of times binary tree division is allowed, the depth at which binary tree division is allowed, or the number of depths at which binary tree division is allowed, etc. may be obtained. The information may be encoded in a coding tree unit or a coding unit unit and transmitted to a decoder through a bitstream.
[118]
For example, through the bitstream, a syntax 'max_binary_depth_idx_minus1' indicating the maximum depth at which binary tree splitting is allowed may be encoded/decoded through the bitstream. In this case, max_binary_depth_idx_minus1+1 may indicate the maximum depth allowed for binary tree splitting.
[119]
Referring to the example illustrated in FIG. 6 , in FIG. 6 , it is illustrated that binary tree splitting is performed on a coding unit having a depth of 2 and a coding unit having a depth of 3 . Accordingly, information indicating the number of times (twice) the binary tree division within the coding tree unit is performed, information indicating the maximum depth (depth 3) allowed for binary tree division within the coding tree unit, or binary tree division within the coding tree unit At least one piece of information indicating the allowed number of depths (two, depth 2, and depth 3) may be encoded/decoded through a bitstream.
[120]
As another example, at least one of the number of times binary tree division is allowed, the depth at which binary tree division is allowed, or the number of depths where binary tree division is allowed may be obtained for each sequence and slice. For example, the information may be encoded in units of sequences, pictures, or slices and transmitted through a bitstream. Accordingly, at least one of the number of binary tree splitting times, the maximum depth allowed for binary tree splitting, or the number of depths allowed for binary tree splitting of the first slice and the second slice may be different. For example, in the first slice, binary tree splitting may be allowed at only one depth, whereas in the second slice, binary tree splitting may be allowed at two depths.
I/We Claim:
1. A method of decoding a video, the method comprising:
determining whether a current block is partitioned into two partitions or not;
when it is determined that the current block is partitioned into the two
partitions, determining whether the current block is partitioned symmetrically or
asymmetrically;
determining (S830) whether an inverse-transform is skipped for the current
block or not; and
when it is determined that the inverse-transform is not skipped for the
current block, performing (S830) the inverse-transform for the current block,
wherein when the current block is partitioned into the two partitions,
decoding of a transform skip flag from a bitstream is omitted, the transform skip
flag indicating whether the inverse-transform is skipped or not, and
wherein when decoding of the transform skip flag is omitted, it is
determined that the inverse-transform is not skipped for the current block.
2. The method of claim 1, wherein when it is determined that the current
block is partitioned asymmetrically, the current block is partitioned into a first
partition having 1/4 size of the current block and a second partition having 3/4 size
of the current block.
3. The method of claim 1, wherein whether it is allowed to partition the
current block asymmetrically is determined based on a size of the current block.
4. The method of claim 1, wherein the method further comprises obtaining
a prediction block for the current block based on L0 motion information and L1
motion information, and
wherein the prediction block is obtained based on a weighted sum operation
of a first prediction block obtained by the L0 motion information and a second
30 prediction block obtained by the L1 motion information.
5. The method of claim 4, wherein the weighted sum operation is performed
by applying a first weight to the first prediction block and applying a second weight
to the second prediction block,
wherein the first weight and the second weight are determined based on
index information specifying one among a plurality of weight candidates, and
wherein a number of the weight candidates is varied depending on temporal
directions of an L0 reference picture and an L1 reference picture.
6. A method of encoding a video, the method comprising:
determining whether a current block is partitioned into two partitions or not;
when it is determined that the current block is partitioned into the two
partitions, determining whether the current block is partitioned symmetrically or
asymmetrically;
determining (S830) whether a transform is skipped for the current block or
not; and
when it is determined that the transform is not skipped for the current block,
performing (S830) the transform for the current block,
wherein when the current block is partitioned into the two partitions,
encoding of a transform skip flag is not encoded into a bitstream, the transform skip
flag indicating whether the transform is skipped or not, and
wherein when the current block is partitioned into the two partitions, it is
determined that the transform is not skipped for the current block.
7. The method of claim 6, wherein when it is determined that the current
block is partitioned asymmetrically, the current block is partitioned into a first
partition having 1/4 size of the current block and a second partition having 3/4 size
of the current block.
8. The method of claim 6, wherein whether it is allowed to partition the
current block asymmetrically is determined based on a size of the current block.
9. The method of claim 6, wherein the method further comprises obtaining
a prediction block for the current block based on L0 motion information and L1
motion information, and
wherein the prediction block is obtained based on a weighted sum operation
of a first prediction block obtained by the L0 motion information and a second
prediction block obtained by the L1 motion information.
10. The method of claim 9, wherein the weighted sum operation is
performed by applying a first weight to the first prediction block and applying a
second weight to the second prediction block,
wherein the first weight and the second weight are determined based on one
among a plurality of weight candidates, index information specifying the selected
one being encoded into a bitstream, and
wherein a number of the weight candidates is varied depending on
temporal directions of an L0 reference picture and an L1 reference picture
| # | Name | Date |
|---|---|---|
| 1 | 202118036120-STATEMENT OF UNDERTAKING (FORM 3) [10-08-2021(online)].pdf | 2021-08-10 |
| 2 | 202118036120-REQUEST FOR EXAMINATION (FORM-18) [10-08-2021(online)].pdf | 2021-08-10 |
| 3 | 202118036120-FORM 18 [10-08-2021(online)].pdf | 2021-08-10 |
| 4 | 202118036120-FORM 1 [10-08-2021(online)].pdf | 2021-08-10 |
| 5 | 202118036120-DRAWINGS [10-08-2021(online)].pdf | 2021-08-10 |
| 6 | 202118036120-DECLARATION OF INVENTORSHIP (FORM 5) [10-08-2021(online)].pdf | 2021-08-10 |
| 7 | 202118036120-COMPLETE SPECIFICATION [10-08-2021(online)].pdf | 2021-08-10 |
| 8 | 202118036120-FORM-26 [05-10-2021(online)].pdf | 2021-10-05 |
| 9 | 202118036120-FORM 3 [31-01-2022(online)].pdf | 2022-01-31 |
| 10 | 202118036120-FER.pdf | 2022-12-15 |
| 11 | 202118036120-Certified Copy of Priority Document [17-02-2023(online)].pdf | 2023-02-17 |
| 12 | 202118036120-FORM 3 [08-05-2023(online)].pdf | 2023-05-08 |
| 13 | 202118036120-PETITION UNDER RULE 137 [23-05-2023(online)].pdf | 2023-05-23 |
| 14 | 202118036120-OTHERS [23-05-2023(online)].pdf | 2023-05-23 |
| 15 | 202118036120-FER_SER_REPLY [23-05-2023(online)].pdf | 2023-05-23 |
| 16 | 202118036120-DRAWING [23-05-2023(online)].pdf | 2023-05-23 |
| 17 | 202118036120-CLAIMS [23-05-2023(online)].pdf | 2023-05-23 |
| 18 | 202118036120-Response to office action [24-05-2023(online)].pdf | 2023-05-24 |
| 19 | 202118036120-PatentCertificate27-10-2025.pdf | 2025-10-27 |
| 20 | 202118036120-IntimationOfGrant27-10-2025.pdf | 2025-10-27 |
| 1 | SearchStrategyE_09-05-2022.pdf |