WO2018097626A1 - Procédé et appareil de traitement de signal vidéo - Google Patents

Procédé et appareil de traitement de signal vidéo Download PDF

Info

Publication number
WO2018097626A1
WO2018097626A1 PCT/KR2017/013438 KR2017013438W WO2018097626A1 WO 2018097626 A1 WO2018097626 A1 WO 2018097626A1 KR 2017013438 W KR2017013438 W KR 2017013438W WO 2018097626 A1 WO2018097626 A1 WO 2018097626A1
Authority
WO
WIPO (PCT)
Prior art keywords
coding block
block
coding
partition
vertical
Prior art date
Application number
PCT/KR2017/013438
Other languages
English (en)
Korean (ko)
Inventor
이배근
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to CN202310826802.7A priority Critical patent/CN116634143A/zh
Priority to CN202310826428.0A priority patent/CN116668687A/zh
Priority to CN201780072950.7A priority patent/CN110024410B/zh
Priority to US16/463,823 priority patent/US11445186B2/en
Priority to CN202310823266.5A priority patent/CN116847069A/zh
Priority to CN202310827802.9A priority patent/CN116744023A/zh
Priority to CN202310826381.8A priority patent/CN116744022A/zh
Publication of WO2018097626A1 publication Critical patent/WO2018097626A1/fr
Priority to US17/879,117 priority patent/US11968364B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking

Definitions

  • the present invention relates to a video signal processing method and apparatus.
  • High efficiency image compression techniques can be used to solve these problems caused by high resolution and high quality image data.
  • An inter-screen prediction technique for predicting pixel values included in the current picture from a picture before or after the current picture using an image compression technique an intra prediction technique for predicting pixel values included in a current picture using pixel information in the current picture
  • An object of the present invention is to provide a method and apparatus for effectively dividing an encoding / decoding target block in encoding / decoding a video signal.
  • An object of the present invention is to provide a method and apparatus for dividing an encoding / decoding target block into a symmetrical or asymmetrical block in encoding / decoding a video signal.
  • An object of the present invention is to provide a method and apparatus for dividing an encoding / decoding target block into polygonal shapes in encoding / decoding a video signal.
  • An object of the present invention is to provide a method and apparatus for selecting a prediction target or a transform target block in a size / shape different from a coding block in encoding / decoding a video signal.
  • An object of the present invention is to provide a method and apparatus for determining a partition type of a coding block by using vertical partition information and horizontal partition information in encoding / decoding a video signal.
  • the video signal decoding method and apparatus decode partition information indicating whether a current coding block is divided by a vertical division line or a horizontal division line, and based on the partition information, decoding the partition information.
  • the block may be divided into at least one subblock.
  • the partition information may include vertical partition information indicating whether the current coding block is divided by a vertical division line or horizontal partition information indicating whether the current coding block is divided by a horizontal division line. It may include at least one of.
  • the video signal encoding method and apparatus determine a partition type of a current coding block and, based on the partition type, whether the current coding block is divided by a vertical dividing line or a horizontal dividing line.
  • the partition information shown can be encoded.
  • the partition information may include vertical partition information indicating whether the current coding block is divided by a vertical division line or horizontal partition information indicating whether the current coding block is divided by a horizontal division line. It may include at least one of.
  • the vertical partition information indicates whether a vertical dividing line dividing the current coding block exists at a predetermined position in the current coding block.
  • a horizontal direction flag wherein the horizontal partition information includes a horizontal direction flag indicating whether a horizontal dividing line dividing the current coding block exists at a predefined position of the current coding block. Can be.
  • the partition information includes main partition information indicating whether the current coding block is symmetrically divided and whether the current coding block is asymmetrically divided. It may include sub partition information indicating.
  • whether to decode the subpartition information may be determined according to the value of the main partition information.
  • the value of the sub-partition information may be derived according to the value of the main partition information.
  • the vertical partition information includes a vertical index indicating a position of a vertical line dividing the current coding block, and the vertical partition information includes: It may include a horizontal index indicating the position of the horizontal line dividing the current coding block.
  • the encoding / decoding efficiency can be increased by efficiently dividing the encoding / decoding target block.
  • the encoding / decoding efficiency can be increased by dividing the encoding / decoding target block into symmetrical or asymmetrical blocks.
  • the encoding / decoding efficiency can be increased by dividing the encoding / decoding target block into polygonal shapes.
  • the encoding / decoding efficiency can be increased by determining the prediction target or transform target block in a size / shape different from that of the coding block.
  • various partition types of a coding block can be effectively represented by using vertical partition information and horizontal partition information.
  • FIG. 1 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a partition mode that can be applied to a coding block when the coding block is encoded by inter-screen prediction.
  • FIG. 4 illustrates an example in which coding blocks are hierarchically divided based on a tree structure according to an embodiment to which the present invention is applied.
  • FIG. 5 is a diagram illustrating a partition form in which binary tree based partitioning is allowed as an embodiment to which the present invention is applied.
  • FIG. 6 illustrates 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.
  • FIG. 7 is a diagram for describing an example in which information related to a binary tree split permission number is encoded / decoded according to an embodiment to which the present invention is applied.
  • FIG. 8 illustrates a partitioned form of a coding block based on asymmetric binary tree partitioning.
  • FIG. 9 is a diagram illustrating an example in which a coding block is divided into a plurality of coding blocks using QTBT and asymmetric binary tree splitting.
  • FIG. 10 is a diagram illustrating a partition type applicable to a coding block.
  • FIG. 11 is a diagram illustrating a quad tree division form of a coding block.
  • FIG. 12 is a diagram illustrating an example of dividing a coding block by combining a plurality of vertical lines / horizontal lines and one horizontal line / vertical line.
  • FIG. 13 is a diagram illustrating a partition form according to polygonal binary tree partitioning.
  • FIG. 14 is a diagram illustrating an example in which a polygonal partition is divided into subpartition units.
  • 15 shows an example in which a coding block is triple tree divided.
  • 16 and 17 illustrate splitting types of coding blocks according to a multi-tree splitting method.
  • FIG. 18 is a flowchart illustrating a splitting process of a coding block according to an embodiment to which the present invention is applied.
  • FIG. 19 is a flowchart illustrating a process of determining a quad tree split type according to an embodiment to which the present invention is applied.
  • 20 is a flowchart illustrating a process of determining a binary tree split type according to an embodiment to which the present invention is applied.
  • 21 to 23 illustrate examples in which a prediction block is generated by merging two or more coding blocks.
  • 24 is a flowchart illustrating a prediction unit merging method according to an embodiment of the present invention.
  • 25 illustrates an example of deriving encoding parameters of a current coding block based on encoding parameters of a neighboring coding block.
  • 26 is a diagram for describing horizontal partition information and vertical partition information.
  • 27 to 30 are diagrams illustrating an example in which a division type of a coding block is specified using horizontal partition information and vertical partition information.
  • 31 is a flowchart illustrating a process of obtaining a residual sample according to an embodiment to which the present invention is applied.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • FIG. 1 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present invention.
  • the image encoding apparatus 100 may include a picture splitter 110, a predictor 120 and 125, a transformer 130, a quantizer 135, a realigner 160, and an entropy encoder. 165, an inverse quantizer 140, an inverse transformer 145, a filter 150, and a memory 155.
  • each of the components shown in FIG. 1 is independently illustrated to represent different characteristic functions in the image encoding apparatus, and does not mean that each of the components is made of separate hardware or one software component unit.
  • each component is included in each component for convenience of description, and at least two of the components may be combined into one component, or one component may be divided into a plurality of components to perform a function.
  • Integrated and separate embodiments of the components are also included within the scope of the present invention without departing from the spirit of the invention.
  • the components may not be essential components for performing essential functions in the present invention, but may be optional components for improving performance.
  • the present invention can be implemented including only the components essential for implementing the essentials of the present invention except for the components used for improving performance, and the structure including only the essential components except for the optional components used for improving performance. Also included in the scope of the present invention.
  • the picture dividing unit 110 may divide the input picture into at least one processing unit.
  • the processing unit may be a prediction unit (PU), a transform unit (TU), or a coding unit (CU).
  • the picture dividing unit 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 on a predetermined basis (eg, a cost function). You can select to encode the picture.
  • one picture may be divided into a plurality of coding units.
  • a recursive tree structure such as a quad tree structure may be used, and coding is divided into other coding units by using one image or a largest coding unit as a root.
  • the unit may be split with as many child nodes as the number of split coding units. Coding units that are no longer split according to certain restrictions become leaf nodes. That is, when it is assumed that only square division is possible for one coding unit, one coding unit may be split into at most four other coding units.
  • a coding unit may be used as a unit for encoding or may be used as a unit for decoding.
  • the prediction unit may be split in the form of at least one square or rectangle having the same size in one coding unit, or the prediction unit of any one of the prediction units split in one coding unit is different from one another. It may be divided to have a different shape and / or size than the unit.
  • the intra prediction may be performed without splitting into a plurality of prediction units NxN.
  • the predictors 120 and 125 may include an inter predictor 120 that performs inter prediction and an intra predictor 125 that performs intra prediction. Whether to use inter prediction or intra prediction on the prediction unit may be determined, and specific information (eg, an intra prediction mode, a motion vector, a reference picture, etc.) according to each prediction method may be determined. In this case, the processing unit in which the prediction is performed may differ from the processing unit in which the prediction method and the details are determined. For example, the method of prediction and the prediction mode may be determined in the prediction unit, and the prediction may be performed in the transform unit. The residual value (residual block) between the generated prediction block and the original block may be input to the transformer 130.
  • specific information eg, an intra prediction mode, a motion vector, a reference picture, etc.
  • prediction mode information and motion vector information used for prediction may be encoded by the entropy encoder 165 together with the residual value and transmitted to the decoder.
  • the original block may be encoded as it is and transmitted to the decoder without generating the prediction block through the prediction units 120 and 125.
  • the inter prediction unit 120 may predict the prediction unit based on the information of at least one of the previous picture or the next picture of the current picture. In some cases, the inter prediction unit 120 may predict the prediction unit based on the information of the partial region in which the encoding is completed in the current picture. You can also predict units.
  • the inter predictor 120 may include a reference picture interpolator, a motion predictor, and a motion compensator.
  • the reference picture interpolator may receive reference picture information from the memory 155 and generate pixel information of an integer pixel or less in the reference picture.
  • a DCT based 8-tap interpolation filter having different filter coefficients may be used to generate pixel information of integer pixels or less in units of 1/4 pixels.
  • a DCT-based interpolation filter having different filter coefficients may be used to generate pixel information of an integer pixel or less in units of 1/8 pixels.
  • the motion predictor may perform motion prediction based on the reference picture interpolated by the reference picture interpolator.
  • 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.
  • FBMA full search-based block matching algorithm
  • TSS three step search
  • NTS new three-step search algorithm
  • the motion vector may have a motion vector value of 1/2 or 1/4 pixel units based on the interpolated pixels.
  • 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 advanced motion vector prediction (AMVP) method, an intra block copy method, and the like may be used.
  • AMVP advanced motion vector prediction
  • the intra predictor 125 may generate a prediction unit based on reference pixel information around the current block, which is pixel information in the current picture. If the neighboring block of the current prediction unit is a block that has performed inter prediction, and the reference pixel is a pixel that has performed inter prediction, the reference pixel of the block that has performed intra prediction around the reference pixel included in the block where the inter prediction has been performed Can be used as a substitute for information. 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.
  • a prediction mode may have a directional prediction mode using reference pixel information according to a prediction direction, and a non-directional mode using no directional information when performing prediction.
  • the mode for predicting the luminance information and the mode for predicting the color difference information may be different, and the intra prediction mode information or the predicted luminance signal information used for predicting the luminance information may be utilized to predict the color difference information.
  • intra prediction When performing intra prediction, if the size of the prediction unit and the size of the transform unit are the same, the intra prediction on the prediction unit is performed based on the pixels on the left of the prediction unit, the pixels on the upper left, and the pixels on the top. Can be performed. However, when performing intra prediction, if the size of the prediction unit is different from that of the transform unit, intra prediction may be performed using a reference pixel based on the transform unit. In addition, intra prediction using NxN division may be used only for a minimum coding unit.
  • 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.
  • AIS adaptive intra smoothing
  • the type of AIS filter applied to the reference pixel may be different.
  • 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.
  • the prediction mode of the current prediction unit is predicted by using the mode information predicted from the neighboring prediction unit, if the intra prediction mode of the current prediction unit and the neighboring prediction unit is the same, the current prediction unit and the neighboring prediction unit using the predetermined flag information If the prediction modes of the current prediction unit and the neighboring prediction unit are different, entropy encoding may be performed to encode the prediction mode information of the current block.
  • a residual block may include a prediction unit performing prediction based on the prediction units generated by the prediction units 120 and 125 and residual information including residual information that is a difference from an original block of the prediction unit.
  • the generated residual block may be input to the transformer 130.
  • the transform unit 130 converts the residual block including residual information of the original block and the prediction unit generated by the prediction units 120 and 125 into a discrete cosine transform (DCT), a discrete sine transform (DST), and a KLT. You can convert 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 the prediction unit used to generate the residual block.
  • DCT discrete cosine transform
  • DST discrete sine transform
  • KLT KLT
  • the quantization unit 135 may quantize the values converted by the transformer 130 into the frequency domain.
  • the quantization coefficient may change depending on the block or the importance of the image.
  • the value calculated by the quantization unit 135 may be provided to the inverse quantization unit 140 and the reordering unit 160.
  • the reordering unit 160 may reorder coefficient values with respect to the quantized residual value.
  • the reordering unit 160 may change the two-dimensional block shape coefficients into a one-dimensional vector form through a coefficient scanning method. For example, the reordering unit 160 may scan from DC coefficients to coefficients in the high frequency region by using a Zig-Zag scan method and change them into one-dimensional vectors.
  • a vertical scan that scans two-dimensional block shape coefficients in a column direction instead of a zig-zag scan may be used, and a horizontal scan that scans two-dimensional block shape coefficients in a row direction. That is, according to the size of the transform unit and the intra prediction mode, it is possible to determine which scan method among the zig-zag scan, the vertical scan, and the horizontal scan is used.
  • the entropy encoder 165 may perform entropy encoding based on the values calculated by the reordering unit 160. Entropy encoding may use various encoding methods such as, for example, Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
  • Entropy encoding may use various encoding methods such as, for example, Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
  • the entropy encoder 165 receives residual value coefficient information, block type information, prediction mode information, partition unit information, prediction unit information, transmission unit information, and 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 can be encoded.
  • the entropy encoder 165 may entropy encode a coefficient value of a coding unit input from the reordering unit 160.
  • the inverse quantizer 140 and the inverse transformer 145 inverse quantize the quantized values in the quantizer 135 and inversely transform the transformed values in the transformer 130.
  • the residual value generated by the inverse quantizer 140 and the inverse transformer 145 is reconstructed by combining the prediction units predicted by the motion estimator, the motion compensator, and the intra predictor included in the predictors 120 and 125. You can create a Reconstructed Block.
  • the filter unit 150 may include at least one of a deblocking filter, an offset correction unit, and an adaptive loop filter (ALF).
  • a deblocking filter may include at least one of a deblocking filter, an offset correction unit, and an adaptive loop filter (ALF).
  • ALF adaptive loop filter
  • the deblocking filter may remove block distortion caused by boundaries between blocks in the reconstructed picture.
  • it may be determined whether to apply a deblocking filter to the current block based on the pixels included in several columns or rows included in the block.
  • a strong filter or a weak filter may be applied according to the required deblocking filtering strength.
  • horizontal filtering and vertical filtering may be performed in parallel when vertical filtering and horizontal filtering are performed.
  • the offset correction unit may correct the offset with respect to the original image on a pixel-by-pixel basis for the deblocking image.
  • the pixels included in the image are divided into a predetermined number of areas, and then, an area to be offset is determined, an offset is applied to the corresponding area, or offset considering the edge information of each pixel. You can use this method.
  • Adaptive Loop Filtering may be performed based on a value obtained by comparing the filtered reconstructed image with the original image. After dividing the pixels included in the image into a predetermined group, one filter to be applied to the group may be determined and filtering may be performed for each group. For information related to whether to apply ALF, a luminance signal may be transmitted for each coding unit (CU), and the shape and filter coefficient of an ALF filter to be applied may vary according to each block. In addition, regardless of the characteristics of the block to be applied, the same type (fixed form) of the ALF filter may be applied.
  • ALF Adaptive Loop Filtering
  • the memory 155 may store the reconstructed block or picture calculated by the filter unit 150, and the stored reconstructed block or picture may be provided to the predictors 120 and 125 when performing inter prediction.
  • FIG. 2 is a block diagram illustrating an image decoding apparatus according to an embodiment of the present invention.
  • the image decoder 200 includes an entropy decoder 210, a reordering unit 215, an inverse quantizer 220, an inverse transformer 225, a predictor 230, 235, and a filter unit ( 240, a memory 245 may be included.
  • the input bitstream may be decoded by a procedure opposite to that of the image encoder.
  • the entropy decoder 210 may perform entropy decoding in a procedure opposite to that of the entropy encoding performed by the entropy encoder 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.
  • 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.
  • the entropy decoder 210 may decode information related to intra prediction and inter prediction performed by the encoder.
  • the reordering unit 215 may reorder the entropy decoded bitstream by the entropy decoding unit 210 based on a method of rearranging the bitstream. Coefficients expressed in the form of a one-dimensional vector may be reconstructed by reconstructing the coefficients in a two-dimensional block form.
  • the reordering unit 215 may be realigned by receiving information related to coefficient scanning performed by the encoder and performing reverse scanning based on the scanning order performed by the corresponding encoder.
  • the inverse quantization unit 220 may perform inverse quantization based on the quantization parameter provided by the encoder and the coefficient values of the rearranged block.
  • the inverse transform unit 225 may perform an inverse transform, i.e., an inverse DCT, an inverse DST, and an inverse KLT, for a quantization result performed by the image encoder, that is, a DCT, DST, and KLT. Inverse transformation 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 transform scheme (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.
  • a transform scheme eg, DCT, DST, KLT
  • the prediction units 230 and 235 may generate the prediction block based on the prediction block generation related information provided by the entropy decoder 210 and previously decoded blocks or picture information provided by the memory 245.
  • Intra prediction is performed on a prediction unit based on a pixel, but when intra prediction is performed, when the size of the prediction unit and the size of the transformation unit are different, intra prediction may be performed using a reference pixel based on the transformation unit. Can be. In addition, intra prediction using NxN division may be used only for a minimum coding unit.
  • the predictors 230 and 235 may include a prediction unit determiner, an inter predictor, and an intra predictor.
  • 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 distinguishes 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 predicts the current prediction based on information included in at least one of a previous picture or a subsequent picture of the current picture including the current prediction unit by using information required for inter prediction of the current prediction unit provided by the image encoder. Inter prediction may be performed on a unit. Alternatively, inter prediction may be performed based on information of some regions pre-restored in the current picture including the current prediction unit.
  • a motion prediction method of a prediction unit included in a coding unit based on a coding unit includes a skip mode, a merge mode, an AMVP mode, and an intra block copy mode. It can be determined whether or not it is a method.
  • the intra predictor 235 may generate a prediction block based on pixel information in the current picture.
  • intra prediction may be performed based on intra prediction mode information of the prediction unit provided by the image encoder.
  • the intra predictor 235 may include an adaptive intra smoothing (AIS) filter, a reference pixel interpolator, and a DC filter.
  • the AIS filter is a part of filtering the reference pixel of the current block and determines 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 the AIS filter information of the prediction unit provided by the image encoder. If the prediction mode of the current block is a mode that does not perform AIS filtering, the AIS filter may not be applied.
  • the reference pixel interpolator may generate a reference pixel having an integer value or less by interpolating the reference pixel. If the prediction mode of the current prediction unit is a prediction mode for generating 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.
  • the reconstructed block or picture may be provided to the filter unit 240.
  • the filter unit 240 may include a deblocking filter, an offset correction unit, and an ALF.
  • Information about whether a deblocking filter is applied to a corresponding block or picture, and when the deblocking filter is applied to the corresponding block or picture, may be provided with information about whether a strong filter or a weak filter is applied.
  • the deblocking filter related information provided by the image encoder may be provided and the deblocking filtering of the corresponding block may be performed in the image decoder.
  • the offset correction unit may perform offset correction on the reconstructed image based on the type of offset correction and offset value information applied to the image during encoding.
  • the ALF may be applied to a coding unit based on ALF application information, ALF coefficient information, and the like provided from the encoder. Such ALF information may be provided included in a specific parameter set.
  • the memory 245 may store the reconstructed picture or block to use as a reference picture or reference block, and may provide the reconstructed picture to the output unit.
  • a coding unit is used as a coding unit for convenience of description, but may also be a unit for performing decoding as well as encoding.
  • the current block represents a block to be encoded / decoded, and according to the encoding / decoding step, a coding tree block (or a coding tree unit), an encoding block (or a coding unit), a transform block (or a transform unit), or a prediction block. (Or prediction unit) or the like.
  • 'unit' may indicate a basic unit for performing a specific encoding / decoding process
  • 'block' may indicate a sample array having a predetermined size.
  • 'block' and 'unit' may be used interchangeably.
  • the coding block (coding block) and the coding unit (coding unit) may be understood to have the same meaning.
  • One picture may be divided into square or non-square basic blocks and encoded / decoded.
  • the basic block may be referred to as a coding tree unit.
  • a coding tree unit may be defined as the largest coding unit allowed in a sequence or slice. Information regarding whether the coding tree unit is square or non-square or the size of the coding tree unit may be signaled through a sequence parameter set, a picture parameter set or a slice header.
  • the coding tree unit may be divided into smaller sized partitions.
  • the partition generated by dividing the coding tree unit is called depth 1
  • the partition generated by dividing the partition having depth 1 may be defined as depth 2. That is, a partition generated by dividing a partition that is a depth k in a coding tree unit may be defined as having a depth k + 1.
  • a partition of any size generated as the coding tree unit is split may be defined as a coding unit.
  • the coding unit may be split recursively or split into basic units for performing prediction, quantization, transform, or in-loop filtering.
  • an arbitrary size partition 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.
  • a prediction block having the same size as the coding block or a size smaller than the coding block may be determined through prediction division of the coding block.
  • Predictive partitioning of a coding block may be performed by a partition mode (Part_mode) indicating a partition type of a coding block.
  • Part_mode partition mode
  • the size or shape of the prediction block may be determined according to the partition mode of the coding block.
  • the division type of the coding block may be determined through information specifying any one of partition candidates.
  • the partition candidates available to the coding block may include an asymmetric partition shape (eg, nLx2N, nRx2N, 2NxnU, 2NxnD) according to the size, shape, or coding mode of the coding block.
  • a partition candidate available to a coding block may be determined according to an encoding mode of the current block.
  • FIG. 3 is a diagram illustrating a partition mode that may be applied to a coding block when the coding block is encoded by inter prediction.
  • any one of eight partition modes may be applied to the coding block, as shown in the example illustrated in FIG. 3.
  • partition mode PART_2Nx2N or PART_NxN may be applied to the coding block.
  • PART_NxN may be applied when the coding block has a minimum size.
  • the minimum size of the coding block may be predefined in the encoder and the decoder.
  • information about the minimum size of the coding block may be signaled through the bitstream.
  • the minimum size of the coding block is signaled through the slice header, and accordingly, the minimum size of the coding block may be defined for each slice.
  • the partition candidates available to the coding block may be determined differently according to at least one of the size or shape of the coding block.
  • the number or type of partition candidates that a coding block may use may be differently determined according to at least one of the size or shape of the coding block.
  • the type or number of asymmetric partition candidates among partition candidates available to the coding block may be limited according to the size or shape of the coding block.
  • the number or type of asymmetric partition candidates that a coding block may use may be differently determined according to at least one of the size or shape of the coding block.
  • the size of the prediction block may have a size of 64x64 to 4x4.
  • the prediction block may not have a 4x4 size in order to reduce the memory bandwidth.
  • the coding block may be divided according to the partition mode indicated by the partition index, and each partition generated as the coding block is divided may be defined as the coding block.
  • a coding tree unit is included in a category of a coding unit. That is, in an embodiment to be described later, the coding unit may refer to a coding tree unit or may mean a coding unit generated as the coding tree unit is divided.
  • 'partition' generated as the coding block is split may be understood as meaning 'coding block'.
  • the coding unit may be divided by at least one line.
  • the line dividing the coding unit may have a predetermined angle.
  • the predetermined angle may be a value within the range of 0 degrees to 360 degrees.
  • a 0 degree line may mean a horizontal line
  • a 90 degree line may mean a vertical line
  • a 45 degree or 135 degree line may mean a diagonal line.
  • the plurality of lines may all have the same angle. Alternatively, at least one of the plurality of lines may have a different angle from other lines. Alternatively, the coding tree unit or the plurality of lines dividing the coding unit may be set to have a predefined angle difference (eg, 90 degrees).
  • Information about a coding tree unit or a line dividing the coding unit may be defined and encoded in a partition mode. Alternatively, information about the number of lines, the direction, the angle, the position of the lines in the block, and the like may be encoded.
  • a coding tree unit or a coding unit is divided into a plurality of coding units using at least one of a vertical line and a horizontal line.
  • the number of vertical lines or horizontal lines partitioning the coding unit may be at least one.
  • a coding tree unit or a coding unit may be divided into two partitions using one vertical line or one horizontal line, or the coding unit may be divided into three partitions using two vertical lines or two horizontal lines. .
  • one vertical line and one horizontal line may be used to divide the coding unit into four partitions of 1/2 length and width.
  • the partitions may have a uniform size.
  • either partition may have a different size than the remaining partitions, or each partition may have a different size.
  • a coding unit is divided into four partitions as a quad tree-based partition, and that a coding unit is divided into two partitions is assumed to be a binary tree-based partition.
  • a predetermined number of vertical lines or a predetermined number of horizontal lines will be shown to be used, but using a larger number of vertical lines or a larger number of horizontal lines than shown, the coding unit It will also be within the scope of the present invention to divide the partition into more partitions than shown or fewer partitions than shown.
  • FIG. 4 illustrates an example of hierarchically dividing a coding block based on a tree structure according to an embodiment to which the present invention is applied.
  • the input video signal is decoded in predetermined block units, and the basic unit for decoding the input video signal in this way is called a coding block.
  • the coding block may be a unit for performing intra / inter prediction, transformation, and quantization.
  • a prediction mode eg, an intra prediction mode or an inter prediction mode
  • the coding block can be a square or non-square block with any size in the range 8x8 to 64x64, and can be a square or non-square block with a size of 128x128, 256x256 or more.
  • the coding block may be hierarchically divided based on at least one of a quad tree and a binary tree.
  • quad tree-based partitioning may mean a method in which a 2Nx2N coding block is divided into four NxN coding blocks
  • binary tree-based partitioning may mean a method in which one coding block is divided into two coding blocks. Even if binary tree-based partitioning is performed, there may be a square coding block at a lower depth.
  • 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.
  • a partition type that allows binary tree based partitioning may be symmetric 2NxN (horizontal non-square coding unit) or Nx2N (vertical non-square coding unit), asymmetric, as in the example shown in FIG. It may include at least one of asymmetric nLx2N, nRx2N, 2NxnU or 2NxnD.
  • Binary tree-based partitioning may be limitedly limited to either symmetric or asymmetric partitions.
  • configuring the coding tree unit into square blocks may correspond to quad tree CU partitioning
  • configuring the coding tree unit into symmetric non-square blocks may correspond to binary tree partitioning.
  • Configuring the coding tree unit into square blocks and symmetric non-square blocks may correspond to quad and binary tree CU partitioning.
  • Binary tree-based partitioning may be performed on coding blocks in which quadtree-based partitioning is no longer performed.
  • Quad tree-based partitioning may no longer be performed on a coding block partitioned based on a binary tree.
  • the division of the lower depth may be determined depending on the division type of the upper depth. For example, when binary tree-based partitioning is allowed in two or more depths, only a binary tree-based partitioning of the same type as a binary tree partitioning of an upper depth may be allowed in a lower depth. For example, when the binary tree based splitting is performed in the 2NxN form at the upper depth, the binary tree based splitting in the 2NxN form may be performed at the lower depth. Alternatively, when binary tree-based partitioning is performed in an Nx2N form at an upper depth, Nx2N-type binary tree-based partitioning may be allowed in a lower depth.
  • slices, coding tree units, or coding units only certain types of binary tree based partitioning may be used.
  • the 2NxN or Nx2N type binary tree based partitioning may be limited to the coding tree unit.
  • the allowed partition type may be predefined in the encoder or the decoder, and information about the allowed partition type or the not allowed partition type may be encoded and signaled through a bitstream.
  • FIG. 6 illustrates an example in which only a specific type of binary tree based partitioning is allowed.
  • FIG. 6A illustrates an example in which only binary tree-based partitioning in the form of Nx2N is allowed
  • FIG. 6B illustrates an example in which only binary tree-based partitioning in the form of 2NxN is allowed.
  • Quad_split_flag may indicate whether a coding block is divided into four coding blocks
  • binary_split_flag may indicate whether a coding block is divided into two coding blocks.
  • the number of times that binary tree splitting is allowed, the depth for which binary tree splitting is allowed or the number of depths for which binary tree splitting is allowed may be obtained.
  • the information may be encoded in a coding tree unit or a coding unit and transmitted to a decoder through a bitstream.
  • a syntax 'max_binary_depth_idx_minus1' indicating a maximum depth that allows binary tree splitting may be encoded / decoded through the bitstream through the bitstream.
  • max_binary_depth_idx_minus1 + 1 may indicate the maximum depth allowed for binary tree splitting.
  • 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 binary tree splitting has been performed in the coding tree unit (2 times), information indicating the maximum depth (depth 3) allowed for binary tree splitting in the coding tree unit, or binary tree splitting in the coding tree unit is obtained. At least one of information indicating the number of allowed depths (2, depth 2, and depth 3) may be encoded / decoded through the bitstream.
  • At least one of the number of times that the binary tree split is allowed, the depth in which the binary tree split is allowed, or the number of the depths in which the binary tree split is allowed may be obtained for each sequence and slice.
  • the information may be encoded in a sequence, picture or slice unit and transmitted through a bitstream.
  • at least one of the number of binary tree splits, the maximum depth allowed for binary tree splits, or the number of depths allowed for binary tree splits may be different in the first and second slices. For example, in the first slice, binary tree splitting is allowed only at one depth, while in the second slice, binary tree splitting may be allowed at two depths.
  • At least one of the number of times that a binary tree split is allowed, the depth that allows a binary tree split, or the number of depths that allow a binary tree split may be differently set according to a temporal ID (TemporalID) of a slice or a picture.
  • TemporalID a temporal ID
  • the temporal level identifier TemporalID may be used to identify each of a plurality of layers of an image having at least one scalability among a view, a spatial, a temporal, or a quality. will be.
  • the first coding block 300 having a split depth of k may be divided into a plurality of second coding blocks based on a quad tree.
  • the second coding blocks 310 to 340 are square blocks having half the width and the height of the first coding block, and the split depth of the second coding block may be increased to k + 1.
  • the second coding block 310 having the division depth k + 1 may be divided into a plurality of third coding blocks having the division depth k + 2. Partitioning of the second coding block 310 may be selectively performed using either a quart tree or a binary tree according to a partitioning scheme.
  • the splitting scheme may be determined based on at least one of information indicating splitting based on the quad tree or information indicating splitting based on the binary tree.
  • the second coding block 310 When the second coding block 310 is divided on the basis of the quart tree, the second coding block 310 is divided into four third coding blocks 310a having half the width and the height of the second coding block, The split depth can be increased to k + 2.
  • the second coding block 310 when the second coding block 310 is divided on a binary tree basis, the second coding block 310 may be split into two third coding blocks. In this case, each of the two third coding blocks is a non-square block having one half of the width and the height of the second coding block, and the split depth may be increased to k + 2.
  • the second coding block may be determined as a non-square block in the horizontal direction or the vertical direction according to the division direction, and the division direction may be determined based on information about whether the binary tree-based division is the vertical direction or the horizontal direction.
  • the second coding block 310 may be determined as an end coding block that is no longer split based on the quad tree or the binary tree, and in this case, the corresponding coding block may be used as a prediction block or a transform block.
  • the third coding block 310a may be determined as an end coding block like the division of the second coding block 310, or may be further divided based on a quad tree or a binary tree.
  • the third coding block 310b split based on the binary tree may be further divided into a vertical coding block 310b-2 or a horizontal coding block 310b-3 based on the binary tree, and corresponding coding
  • the partition depth of the block can be increased to k + 3.
  • the third coding block 310b may be determined as an end coding block 310b-1 that is no longer split based on the binary tree, in which case the coding block 310b-1 may be used as a prediction block or a transform block. Can be.
  • the above-described partitioning process allows information about the size / depth of a coding block that allows quad-tree based partitioning, information about the size / depth of the coding block that allows binary tree-based partitioning, or binary-tree based partitioning. It may be limitedly performed based on at least one of the information about the size / depth of the coding block that is not.
  • the size of the coding block may be limited to a predetermined number, or the size of the coding block in the predetermined unit may have a fixed value.
  • the size of the coding block in the sequence or the size of the coding block in the picture may be limited to 256x256, 128x128 or 32x32.
  • Information representing the size of a coding block in a sequence or picture may be signaled through a sequence header or picture header.
  • the coding unit may take a square or a rectangle of any size.
  • coding blocks that are no longer split may be used as prediction blocks or transform blocks. That is, in a Quad-Tree & Binary-Tree (QTBT) splitting method based on a quad tree and a binary tree, a coding block may be a prediction block, and the prediction block may be a transform block.
  • QTBT Quad-Tree & Binary-Tree
  • a prediction image may be generated in units of coding blocks, and a residual signal that is a difference between the original image and the prediction image may be converted in units of coding blocks.
  • generating the prediction image in units of coding blocks may mean that motion information is determined based on the coding block or one intra prediction mode is determined based on the coding block. Accordingly, the coding block may be encoded using at least one of a skip mode, an intra prediction or an inter prediction.
  • a coding block it is also possible to split a coding block to use a prediction block or transform block having a smaller size than the coding block.
  • BT may be set such that only symmetric division is allowed.
  • the coding efficiency may be lowered. Accordingly, in the present invention, to improve coding efficiency, a method of partitioning coding blocks asymmetrically is proposed.
  • Asymetric Binary Tree Partitioning refers to splitting a coding block into two smaller coding blocks.
  • the coding block may be divided into two asymmetrical coding blocks.
  • binary tree partitioning or binary tree partitioning
  • the division of a coding block into two partitions of symmetrical form is called binary tree partitioning (or binary tree partitioning)
  • the coding block is divided into two partitions of asymmetrical form. This is referred to as asymmetric binary tree partitioning (or asymmetric binary tree partitioning).
  • the 2N ⁇ 2N coding block may be divided into two coding blocks having a width ratio of n: (1-n) or two coding blocks having a height ratio of n: (1-n).
  • n may represent a real number greater than 0 and less than 1.
  • FIG. 8 as asymmetric binary tree partitioning is applied to a coding block, two coding blocks having a width ratio of 1: 3 or 3: 1 or two coding blocks having a height ratio of 1: 3 or 3: 1 are shown. It became.
  • a left partition having a width of 1 / 4W and a right partition having a width of 3 / 4W may be generated.
  • a partitioned form in which the width of the left partition is smaller than the width of the right partition may be referred to as an nLx2N binary partition.
  • a left partition having a width of 3 / 4W and a right partition having a width of 1 / 4W may be generated.
  • the partition type whose width of the right partition is smaller than the width of the left partition may be referred to as nRx2N binary partition.
  • a top partition having a height of 1 / 4H and a bottom partition having a height of 3 / 4H may be generated.
  • a partition type in which the height of the upper partition is smaller than the height of the lower partition may be referred to as a 2NxnU binary partition.
  • an upper partition having a height of 3 / 4H and a lower partition having a height of 1 / 4H may be generated.
  • a partitioned form in which the height of the lower partition is smaller than the height of the upper partition may be referred to as a 2NxnD binary partition.
  • FIG. 8 illustrates a case where the width ratio or height ratio between two coding blocks is 1: 3 or 3: 1, the width ratio or height ratio between two coding blocks generated by asymmetric binary tree partitioning is not limited thereto.
  • the coding block may be divided into two coding blocks having a different width ratio or a different height ratio than that shown in FIG. 8.
  • the asymmetric binary partition type of the coding block may be determined based on the information signaled through the bitstream.
  • the split type of the coding block may be determined based on information indicating the split direction of the coding block and information indicating whether the first partition generated as the coding block is split has a smaller size than the second partition.
  • the information indicating the splitting direction of the coding block may be a 1-bit flag indicating whether the coding block is split in the vertical direction or in the horizontal direction.
  • hor_binary_flag may indicate whether a coding block is divided in a horizontal direction.
  • a value of hor_binary_flag equal to 1 indicates that the coding block is divided in the horizontal direction
  • a value of hor_binary_flag equal to 0 may indicate that the coding block is divided in the vertical direction.
  • ver_binary_flag indicating whether the coding block is divided in the vertical direction may be used.
  • the information indicating whether the first partition has a smaller size than the second partition may be a 1-bit flag.
  • is_left_above_small_part_flag may indicate whether the size of the left or top partition generated as the coding block is split is smaller than the right or bottom partition.
  • the value of is_left_above_small_part_flag equal to 1 may mean that the size of the left or top partition is smaller than the right or bottom partition
  • the value of is_left_above_small_part_flag equal to 0 may mean that the size of the left or top partition is larger than the right or bottom partition.
  • is_right_bottom_small_part_flag may be used indicating whether the size of the right or bottom partition is smaller than the left or top partition.
  • the size of the first partition and the second partition may be determined using information representing a width ratio, a height ratio, or a width ratio between the first partition and the second partition.
  • a value of hor_binary_flag equal to 0 and a value of is_left_above_small_part_flag equal to 1 indicate an nLx2N binary partition
  • a value of hor_binary_flag equal to 0 and a value of is_left_above_small_part_flag equal to 0 may indicate an nRx2N binary partition.
  • a value of hor_binary_flag equal to 1 and a value of is_left_above_small_part_flag equal to 1 indicate a 2NxnU binary partition
  • a value of hor_binary_flag equal to 1 indicates a 2NxnU binary partition
  • a value of hor_binary_flag equal to 1 indicates a 2NxnD binary partition
  • a value of hor_binary_flag 1
  • a value of is_left_above_small_part_flag equal to 0 may indicate a 2NxnD binary partition.
  • the asymmetric binary partition type of the coding block may be determined by index information indicating the partition type of the coding block.
  • the index information is information signaled through the bitstream, and may be encoded with a fixed length (that is, a fixed number of bits) or may be encoded with a variable length.
  • Table 1 shows partition indexes for asymmetric binary partitions.
  • Asymmetric binary tree partitioning may be used depending on the QTBT partitioning method. For example, when quad tree splitting or binary tree splitting is no longer applied to the coding block, it may be determined whether to apply asymmetric binary tree splitting to the corresponding coding block.
  • whether to apply asymmetric binary tree splitting to the coding block may be determined by information signaled through the bitstream. For example, the information may be a 1-bit flag 'asymmetric_binary_tree_flag', and based on the flag, it may be determined whether asymmetric binary tree splitting is applied to the coding block.
  • the splitting form is a binary tree split or an asymmetric binary tree split.
  • whether the partition type of the coding block is binary tree partitioning or asymmetric binary tree partitioning may be determined by information signaled through the bitstream.
  • the information may be a 1-bit flag 'is_asymmetric_split_flag', and based on the flag, it may be determined whether the coding block is divided into symmetrical or asymmetrical forms.
  • different indexes may be allocated to the symmetric binary partition and the asymmetric binary partition, and according to the index information, it may be determined whether the coding block is divided into a symmetrical form or an asymmetrical form.
  • Table 2 shows an example in which different indices are assigned to a symmetric binary partition and an asymmetric binary partition.
  • Binary partition index Binarization 2NxN (horizontal binary partition) 0 0 Nx2N (vertical binary partition)
  • the coding tree block or coding block may be subdivided into a plurality of coding blocks through quad tree splitting, binary tree splitting or asymmetric binary tree splitting.
  • FIG. 8 is a diagram illustrating an example in which a coding block is divided into a plurality of coding blocks using QTBT and asymmetric binary tree splitting. Referring to FIG. 9, it can be seen that asymmetric binary tree splitting is performed in depth 2 partitioning of the first grip, depth 3 partitioning of the second picture, and depth 3 partitioning of the third picture.
  • Coding blocks partitioned through asymmetric binary tree partitioning may be restricted so that they are no longer split.
  • quad-tree, binary tree, or asymmetric binary tree related information may not be encoded / decoded in a coding block generated through asymmetric binary tree partitioning. That is, for a coding block generated through asymmetric binary tree partitioning, a flag indicating whether a quad tree is split, a flag indicating whether a binary tree is split, a flag indicating whether a binary tree is split, a binary tree, or an asymmetric binary tree split direction is specified. Encoding / decoding of syntax such as a flag indicating or index information indicating an asymmetric binary partition can be omitted.
  • whether to allow binary tree partitioning may be determined depending on whether to allow QTBT.
  • asymmetric binary tree partitioning may be restricted from a picture or slice in which a split method based on QTBT is not used.
  • Information indicating whether asymmetric binary tree partitioning is allowed may be encoded and signaled in units of blocks, slices, or pictures.
  • the information indicating whether asymmetric binary tree partitioning is allowed may be a 1-bit flag.
  • the value of is_used_asymmetric_QTBT_enabled_flag equal to 0 may indicate that asymmetric binary tree partitioning is not used.
  • the value may be set to 0 without signaling is_used_asymmetric_QTBT_enabled_flag.
  • the split type allowed for the coding block may be determined.
  • at least one of the partition type, partition type, or number of partitions allowed between the coding block generated by the quad tree split and the coding block generated by the binary tree split may be different.
  • the coding block when the coding block is generated by quad tree splitting, the coding block may allow both quad tree splitting, binary tree splitting, and asymmetric binary tree splitting. That is, when the coding block is generated based on quad tree partitioning, all partition types shown in FIG. 10 may be applied to the coding block.
  • a 2Nx2N partition may indicate a case in which a coding block is no longer split
  • NxN may indicate a case in which a coding block is quadtree split
  • Nx2N and 2NxN may indicate a case in which a coding block is binary tree split.
  • nLx2N, nRx2N, 2NxnU, and 2NxnD may represent a case where a coding block is asymmetric binary tree split.
  • the asymmetric binary tree splitting may be limited to the coding block. That is, when the coding block is generated based on binary tree partitioning, it may be restricted to apply an asymmetric partition type (nLx2N, nRx2N, 2NxnU, 2NxnD) among the partition types shown in FIG. 10 to the coding block.
  • an asymmetric partition type nLx2N, nRx2N, 2NxnU, 2NxnD
  • the coding unit (or coding tree unit) may be recursively divided by at least one vertical line or horizontal line.
  • quad tree splitting may be divided into a method of splitting a coding block using horizontal lines and vertical lines
  • binary tree splitting may be summarized as a method of splitting coding blocks using a horizontal line or vertical lines.
  • the partition form of the coding block to be quad tree divided and binary tree divided is not limited to the example illustrated in FIGS. 4 to 10, and an extended partition form other than the illustrated one may be used. That is, the coding block may be recursively divided into different forms from those shown in FIGS. 4 to 10.
  • various partition types of coding blocks based on quad tree partitioning and binary tree partitioning will be described.
  • the horizontal line or the vertical line may split the coding block into an asymmetric shape.
  • the asymmetry may mean a case in which the heights of the blocks divided by the horizontal lines are not the same or the widths of the blocks divided by the vertical lines are not the same.
  • a horizontal line divides a coding block into an asymmetric form
  • a vertical line divides a coding block into a symmetric form
  • a horizontal line divides a coding block into a symmetric form
  • a vertical line divides a coding block into an asymmetric form. It may be.
  • both horizontal and vertical lines may split the coding block into an asymmetric shape.
  • FIG. 11 is a diagram illustrating a quad tree division form of a coding block.
  • the first example shows an example in which both horizontal and vertical lines are used for symmetrical division.
  • the second and third examples show examples where the horizontal lines are used for symmetrical splits, while the vertical lines are used for asymmetric splits, while the fourth and fifth examples are used for symmetric splits, while the horizontal lines are used for asymmetric splits.
  • An example is shown.
  • the information may include a first indicator indicating whether the partitioned form of the coding block is symmetrical or asymmetrical.
  • the first indicator may be encoded in units of blocks or may be encoded for each vertical line or horizontal line.
  • the first indicator may include information indicating whether a vertical line is used for symmetric division and information indicating whether a horizontal line is used for symmetric division.
  • the first indicator may be encoded only for at least one of a vertical line or a horizontal line, and another split form in which the first indicator is not encoded may be derived dependently by the first indicator.
  • another split form in which the first indicator is not encoded may have a value opposite to that of the first indicator. That is, when the first indicator indicates that the vertical line is used for asymmetric division, the horizontal line may be set to be used for symmetric division opposite to the first indicator.
  • the second indicator may be further encoded with respect to the vertical line or the horizontal line.
  • the second indicator may indicate at least one of the position of the vertical line or the horizontal line used for the asymmetric division or the ratio between the blocks divided by the vertical line or the horizontal line.
  • Quad tree splitting may be performed using a plurality of vertical lines or a plurality of horizontal lines. As an example, it is also possible to divide a coding block into four blocks by combining at least one of one or more vertical lines or one or more horizontal lines.
  • FIG. 12 is a diagram illustrating an example of dividing a coding block by combining a plurality of vertical lines / horizontal lines and one horizontal line / vertical line.
  • quadtree splitting may be performed by dividing a coding block into three blocks by two vertical lines or two horizontal lines, and dividing one of the divided three blocks into two blocks.
  • a block located in the middle of a block divided by two vertical lines or two horizontal lines may be divided by one horizontal line or vertical line.
  • a block located at one boundary of a coding block may be divided by one horizontal line or a vertical line.
  • information eg, partition index
  • partition index for specifying a partition divided into three partitions may be signaled through the bitstream.
  • At least one of a horizontal line or a vertical line may be used to divide the coding block into an asymmetric form, and the other may be used to divide the coding block into a symmetric form.
  • a plurality of vertical lines or horizontal lines may be used to split a coding block in a symmetrical form, or one horizontal line or vertical lines may be used to split a coding block in a symmetrical form.
  • horizontal lines or vertical lines may be used to split a coding block in a symmetrical form or may be used to split asymmetrically.
  • the coding block When combining a plurality of vertical / horizontal lines and one horizontal / vertical line, the coding block is divided into four partitions (i.e., four coding blocks) of at least two different sizes.
  • the partitioning of a coding block into four partitions of at least two different sizes may be referred to as triple type asymmetric quad-tree CU partitioning.
  • the information about the three asymmetric quad tree partitionings may be encoded based on at least one of the aforementioned first indicator or second indicator.
  • the first indicator may indicate whether the splitting form of the coding block is symmetrical or asymmetrical.
  • the first indicator may be encoded in units of blocks or may be encoded for each vertical line or horizontal line.
  • the first indicator may include information indicating whether one or more vertical lines are used for symmetric division and information indicating whether one or more horizontal lines are used for symmetric division.
  • the first indicator may be encoded only for at least one of a vertical line or a horizontal line, and another split form in which the first indicator is not encoded may be derived dependently by the first indicator.
  • the second indicator may be further encoded with respect to the vertical line or the horizontal line.
  • the second indicator may indicate at least one of the position of the vertical line or the horizontal line used for the asymmetric division or the ratio between the blocks divided by the vertical line or the horizontal line.
  • the binary tree partitioning method of dividing a coding block into partitions of rectangular and non-square shapes may be used.
  • a binary tree partitioning method for recursively partitioning a coding block into rectangular and non-square coding blocks may be referred to as polygonal binary tree CU partitioning.
  • FIG. 13 is a diagram illustrating a partition form according to polygonal binary tree partitioning.
  • the coding block when a coding block is divided based on polygonal binary tree partitioning, the coding block may be divided into a square partition and a polygon partition.
  • the partition type of the coding block may be determined based on an index that specifies the partition type.
  • the partition type of the coding block may be determined based on index information indicating any one of Poly 0 to Poly 3 illustrated in FIG. 13.
  • the partition type of the coding block may be determined based on information specifying the position of the square block in the coding block.
  • the partition shape of the coding block may be determined as Poly 0 illustrated in FIG. 13.
  • the polygonal partition may be generated by merging a plurality of pre-divided coding blocks. For example, when a 2N ⁇ 2N type coding block is divided into four NxN type sub coding blocks, a polygonal partition may be generated by merging any one of four sub coding blocks and a sub coding block adjacent to the sub coding block. have. Alternatively, when the 2Nx2N type coding block is divided into two NxN type sub coding blocks and one 2NxN or Nx2N type subcoding block, the NxN type sub coding block and the 2NxN or Nx2N type sub coding block are merged to form a polygonal shape. You can create partitions.
  • the information for configuring the polygonal partition may include at least one of information indicating whether the divided block is merged with the neighboring block, information about the position and / or number of the merged block.
  • Information for specifying the partition type may be signaled through at least one of a video parameter set, a sequence parameter set, a picture parameter set, a slice header, or a block level according to a characteristic.
  • Coding blocks that are divided based on polygonal binary tree partitioning may be restricted so that they are no longer partitioned.
  • a coding block divided based on polygonal binary tree partitioning may be limited to only a specific type of partitioning.
  • Information on whether polygonal binary tree split is allowed may be signaled through at least one of a video parameter set, a sequence parameter set, a picture parameter set, a slice header, or a block level.
  • a syntax isUsePolygonBinaryTreeFlag indicating whether polygonal binary tree partitioning is allowed may be signaled. If isUsePolygonBinaryTreeFlag is 1, coding blocks in the current sequence may be split based on polygonal binary tree splitting.
  • polymorphic binary tree split is used or not may be determined depending on whether binary tree split is used. For example, if binary tree splitting is not allowed (eg, when isUseBinaryTreeFlag is 0), polygonal binary splitting may also not be allowed. On the other hand, when binary tree splitting is allowed, whether or not polymorphic binary tree splitting is used may be determined according to the syntax isUsePolygonBinaryTreeFlag indicating whether polygonal binary splitting is allowed.
  • the partition index of partitions created by polygonal binary tree partitioning may be determined according to the positions of the partitions.
  • the partition index of a partition including a predetermined position among the partitions may precede the partition index of the other partition.
  • a partition including a top left sample position of a coding block may be configured to have a partition index 0, and a partition not having a partition index 1 may be set.
  • the partition index of each partition may be determined according to the size of the partition.
  • partition 0 When a coding block is divided by polygonal binary tree partitioning, the encoding / decoding order of each partition may follow a partition index. That is, after partition 0 is preferentially encoded, partition 1 can be encoded in a lower order. Alternatively, partition 0 and partition 1 may be parallel encoded / decoded.
  • the polygon partition when performing prediction on the polygon partition, the polygon partition may be divided into subpartitions, and prediction may be performed in units of subpartitions.
  • FIG. 14 is a diagram illustrating an example in which a polygonal partition is divided into subpartition units.
  • the polygon partition When intra prediction is performed on the polygon partition, the polygon partition may be divided into sub-blocks having a rectangular shape, as in the example illustrated in FIG. 14.
  • the polygonal partition may be divided into a square partition and a non-square partition, as in the example shown in FIG. 14, or may be partitioned into square partitions, although not shown.
  • intra prediction may be performed on each partition. For example, in the example illustrated in FIG. 14, intra prediction may be performed on each of Pred 0 and Pred 1.
  • Intra prediction modes of Pred 0 and Pred 1 are determined differently, but reference samples of each partition may be derived based on a polygon shape partition or a coding block. Alternatively, the intra prediction mode of Pred 1 may be derived based on the intra prediction mode of Pred 0, or the intra prediction mode of Pred 0 may be derived based on the intra prediction mode of Pred 1.
  • asymmetric quad tree split, polygonal binary tree split, and the like may be defined as an extended form of quad tree split and binary tree split. Whether an extended partition type is used may be determined at a sequence unit, picture unit, slice unit, or block level, or may be determined depending on whether quad tree split or binary tree split is allowed.
  • the coding block is divided into four or two partitions, but it is also possible to recursively divide the coding block into more or fewer partitions.
  • the coding blocks may be divided into two partitions, or the coding blocks may be divided into three partitions.
  • the partitioning type of the coding block is asymmetric binary partitioning or symmetric binary partitioning depending on whether the size of each partition is the same.
  • two vertical lines or two horizontal lines may be used to divide into partitions of a coding block. Using two vertical lines or two horizontal lines, dividing a coding block into three partitions may be referred to as triple tree partitioning.
  • FIG. 15 shows an example in which a coding block is triple tree divided. As in the example shown in FIG. 15, as the coding block is divided by two horizontal lines or two vertical lines, three partitions may be generated.
  • the coding block generated by triple tree splitting may be further divided into sub-coding blocks, or may be split into smaller block units for prediction or transformation.
  • the coding block generated by triple tree splitting may be limited so as not to be split further.
  • some of quad tree splitting, triple tree splitting, or binary tree splitting may not be applied to a coding block generated by triple tree splitting.
  • triple tree splitting is allowed according to the size or shape of the coding block may be determined.
  • triple tree splitting may be limited to be allowed only when the size of the coding block is M ⁇ N.
  • N and M may be natural numbers having the same value or different values.
  • N and M may have a value of 4, 8, 16, 32, 64 or more.
  • Information representing the size or shape of a block that allows triple tree division may be encoded and transmitted through the bitstream.
  • the information may take the form of a maximum value or a minimum value.
  • the size or shape of a block that allows triple tree splitting may have a fixed value contracted by the encoder / decoder.
  • Information indicating whether triple tree splitting is allowed may be signaled on a picture, slice, or block basis. Only when the information indicates that triple tree split for a predetermined unit is allowed, information indicating whether triple tree split is performed may be signaled for blocks included in the predetermined unit.
  • the information indicating whether the triple tree is split may be a 1-bit flag.
  • triple_split_flag may indicate whether the current coding block is triple tree split.
  • information indicating the split direction or information indicating the size / ratio for each partition may be further signaled.
  • the information indicative of the splitting direction can be used to determine whether the coding block is divided by two horizontal lines or whether the coding block is divided by two vertical lines.
  • partitions included in the coding block may share motion information, a merge candidate, a reference sample, or an intra prediction mode according to the size or shape of the coding block.
  • the coding blocks in the current coding block are spatial, temporal neighboring block candidates, screens for inter prediction.
  • At least one of a reference sample for prediction and an intra prediction mode may be shared.
  • only some of the coding blocks in the current coding block may share the information, and the remaining coding block may be configured not to share the information.
  • a splitting method of coding blocks using at least one of quad tree partitioning, binary tree partitioning, and triple tree partitioning may be referred to as multi-tree partitioning (or multiple tree partitioning).
  • the coding unit may be split into a plurality of partitions using at least one of quad tree splitting, binary tree splitting, or triple tree splitting.
  • Each partition generated as a coding block is divided may be defined as one coding unit.
  • 16 and 17 illustrate splitting types of coding blocks according to a multi-tree splitting method.
  • nine partition types resulting from quad tree division, binary division, triple tree division, and the like are illustrated.
  • the coding block may be divided into a plurality of partitions based on at least one of quad tree partition, binary tree partition, triple tree partition, and polygonal binary tree partition. . Accordingly, the coding block may have a partition form as in the example shown in FIG. 17.
  • a predefined partition type may be set as available as in the example shown in FIG. 16 or 17.
  • the predefined partition type is not limited to the example illustrated in FIG. 16 or 17.
  • whether to use each of the quad tree division, the binary tree division, and the triple tree division may be determined in a sequence unit, a picture unit, or a slice unit. For example, based on flag information indicating whether each partition type is used, whether to use quad tree splitting, binary tree splitting, and triple tree splitting may be determined. According to the above determination, blocks included in a predetermined unit (ie, a sequence, a picture, or a slice, etc.) are partitioned using both quad tree splitting, binary tree splitting, and triple tree splitting, or quad tree splitting, binary tree splitting, and triple tree Blocks included in a predetermined unit may be partitioned by using one or two partitioning methods.
  • a predetermined unit ie, a sequence, a picture, or a slice, etc.
  • quad tree partitioning is basically used, and whether to use binary tree splitting or triple tree splitting may be selectively determined.
  • quad-tree splitting and triple-tree splitting are basically used, but whether to use binary tree splitting may be selectively determined.
  • quad tree splitting and binary tree splitting are basically used, but whether to use triple tree splitting can be selectively determined.
  • An indicator indicating whether to use binary tree splitting or triple tree splitting may be a 1-bit flag.
  • isUseBinaryTreeFlag indicates whether binary tree split is used and isUseTripleTreeFlag indicates whether triple free split is used.
  • the indicator may be signaled through a sequence header.
  • a sequence header As an example, if isUseBinaryTreeFlag is 1, binary tree splitting may be used for coding units in the current sequence. Alternatively, if isUseTripleTreeFlag value is 1, triple tree splitting may be used for coding units in the current sequence.
  • the indicator may be signaled through a video parameter set, a picture parameter set, a slice header, or a block level.
  • the split form of the current coding block may be limited to not generate more partitions than the split form of the upper node. For example, if the current coding block is generated by triple tree splitting, the current coding block may only allow triple tree splitting or binary tree splitting, but not quad tree splitting.
  • the information indicating whether the current coding block is divided may be hierarchically encoded / decoded according to the number of partitions generated as a result of the division. For example, when information indicating whether a current coding block is quad-tree split is encoded / decoded, and if it is determined that the current coding block is not quad-tree split, information indicating whether to split a triple tree or information indicating whether a binary tree is split Can be encoded / decoded.
  • a coding block into four or more blocks by combining a plurality of horizontal lines and a plurality of vertical lines.
  • FIG. 18 is a flowchart illustrating a splitting process of a coding block according to an embodiment to which the present invention is applied.
  • the current block may be split into four coding blocks (S1820).
  • the process of FIG. 19 may be additionally performed to determine a partition type of the current block.
  • the partition type of the current block may be determined based on the number and position of vertical / horizontal lines dividing the current block (S1920). For example, when three asymmetric quad tree partitionings are applied to the current block, the current block may be divided into four partitions by two vertical lines and one horizontal line or two horizontal lines and one vertical line.
  • the partition type of the current block is square or non-square (S1930).
  • whether the split form of the current block is square or non-square may be determined by whether at least one of a vertical line and a horizontal line dividing the current block divides the current block in a symmetrical form.
  • the partition shape of the current block may be determined based on the position of the vertical line / horizontal line dividing the current block (S1940).
  • the partition type of the current block may be determined.
  • the triple tree partition type or the binary tree partition type of the current block may be determined based on at least one of information indicating the partition direction of the current block or index information specifying the partition type.
  • the current block may be divided into three or two blocks according to the determined triple tree or binary partition type (S1840).
  • the present invention is not limited to the illustrated embodiment.
  • it may be determined hierarchically whether to split the triple tree or the binary tree. For example, it may be first determined whether the current block is triple tree split, and if it is determined that the current block is not triple tree split, it may be determined whether the current block is binary tree split. Alternatively, whether the current block is divided into a binary tree is determined first, and if it is determined that the current block is not divided into a binary tree, it may be determined whether the current block is triple-tree divided.
  • the process of FIG. 20 may be additionally performed to determine a partition type of the current block.
  • the partition type of the current block may be determined based on the position of the index or the rectangular partition indicating the partition type of the current block (S2020). For example, when polygonal binary tree partitioning is applied to the current block, the current block may be divided into one rectangular partition and one non-rectangle partition.
  • the partition type of the current block is square or non-square (S2030).
  • whether the split form of the current block is square or non-square may be determined by whether at least one of a vertical line or a horizontal line dividing the current block divides the current block in a symmetrical form.
  • the partition shape of the current block may be determined based on the position of the vertical line or the horizontal line dividing the current block (S2040).
  • whether binary tree splitting and asymmetric binary tree splitting are performed for the current block may be sequentially determined. As an example, it may be determined whether to perform asymmetric binary tree partitioning only when it is determined that the current block does not allow binary tree partitioning.
  • a coding block is recursively split through quad tree splitting, binary tree splitting, or triple tree splitting.
  • the coding block and the prediction block and / or the coding block and the transform block may have the same size.
  • a prediction image may be generated in units of coding blocks, or transformation / quantization may be performed in units of coding blocks.
  • the prediction block or the coding block may be set to have a different size and / or shape than the coding block.
  • the coding block may be divided to generate a prediction block or a transform block having a smaller size than the coding block.
  • the above-described quad tree splitting, binary tree splitting, triple tree splitting, or partition index indicating partition type may be used to generate a prediction block or transform block of a smaller size than a coding block.
  • the splitting methods described may be used to recursively split a prediction block or transform block.
  • two or more coding units may be merged to generate a prediction block or a transform block larger than the coding block.
  • a prediction block or a transform block can be generated by merging a specific coding block or an arbitrary coding block among a plurality of coding blocks with at least one neighboring block.
  • the neighboring block is a coding block adjacent to a specific coding block or an arbitrary coding block and may include at least one of a left coding block, an upper coding block, a right coding block, a lower coding block, or a coding block adjacent to one corner of the corresponding coding block. Can be.
  • a method of generating prediction blocks by merging coding blocks is called 'prediction unit merge', and a method of generating prediction blocks by merging coding blocks is called 'transition unit merge'. (Prediction unit merge) 'will be called.
  • the current coding block may represent any coding block, a coding block at a specific position, or a coding block to be currently encoded / decoded among the coding blocks to be merged.
  • the current coding block may be a coding block to be currently encoded / decoded, a block having the fastest encoding / decoding order among the merged coding blocks, a block having a specific partition index, or a block located at a specific position among the merged blocks. (Eg, when three coding blocks are merged, a coding block located in the middle of the three coding blocks) and the like.
  • the prediction unit merge or transform unit merge described below includes at least one of a picture splitter, a predictor (for example, an inter predictor or an intra predictor), or a transformer (or an inverse transform unit) of the components illustrated in FIGS. 1 and 2. It can be implemented through the above.
  • 21 to 23 illustrate examples in which a prediction block is generated by merging two or more coding blocks.
  • two prediction blocks may be merged to generate one prediction block.
  • the prediction block generated by merging a plurality of coding blocks may have a rectangular shape as in the example shown in FIG. 21, or may have a polygonal shape as in the examples shown in FIGS. 22 and 23.
  • the prediction block generated by merging a plurality of coding blocks it is also possible to limit the prediction block generated by merging a plurality of coding blocks to have a specific shape.
  • the prediction block generated by merging a plurality of coding blocks may be limited to have a square and / or rectangular shape.
  • the encoding parameter may be a prediction mode (whether the coding block is encoded by intra prediction or inter prediction), intra prediction mode (or directionality of intra prediction mode), motion information (eg, motion vector, reference picture). At least one of an index or prediction direction indicator), partition type, partition mode (or partition type), partition index, size / shape, quantization parameter, whether to skip transform, transform scheme, presence of transform coefficients, slice or tile boundaries It may include information such as whether or not.
  • the encoding parameter may not only mean information signaled from the encoding apparatus to the decoding apparatus, but also mean information derived from the decoding apparatus.
  • prediction unit merge is limited only between coding blocks having the same size / shape, or limited only between coding blocks using the same prediction mode (Intra or Inter). May be acceptable.
  • merging between coding blocks may be performed based on whether encoding parameters of the coding blocks are identical to each other.
  • it may be determined whether to merge between coding blocks based on a result of comparing encoding parameter differences between coding blocks with a predetermined threshold. For example, it is determined whether to merge between coding blocks based on whether a difference between coding parameters between coding blocks is equal to a predetermined threshold value, a predetermined threshold value or more, or less than a predetermined threshold value.
  • the predetermined threshold may be determined based on information signaled from the encoding apparatus to the decoding apparatus, or may be a value previously promised to the encoder and the decoder.
  • the coding block of the coding blocks may be used to construct a candidate block list that the current coding block can merge and select at least one coding block to be merged with the current coding block from the candidate block list.
  • the neighboring coding block merged with the current coding block may be specified based on index information identifying at least one of the neighboring blocks. have.
  • the candidate coding block may be determined based on a result of comparing the coding parameter difference value with a predetermined threshold value or whether the coding parameter has the same coding parameter as the current coding block.
  • the candidate coding block may be determined based on whether the current coding block is a binary tree split partition and / or a partition index of the current coding block, and the like. For example, if the current coding block is a partition created by binary tree splitting, and the partition index of the current coding block has a value larger than the neighboring coding block (ie, another partition generated by binary tree splitting), the neighboring current coding block is neighbor.
  • One peripheral coding block may be restricted from being used as a candidate coding block.
  • the candidate coding block may be determined based on the position of the neighboring coding block. For example, when there are a plurality of coding blocks to the left of the current coding block or a plurality of coding blocks to the top of the current coding block, the coding block at a specific position among the plurality of neighboring coding blocks (eg, most of the upper neighboring blocks). Only the rightmost coding block or the lowest coding block among the left neighboring blocks) may be limited to be used as the candidate coding block.
  • one prediction block may be generated by merging at least two or more coding blocks.
  • the positions of neighboring coding blocks merged with the current coding block may be differently determined according to the position (or partition index) of the current coding block.
  • FIG. 22A when a lower right block is assumed to be a current coding block, a prediction block may be generated by merging a current coding block with an upper coding block and a left coding block.
  • FIG. 22B when it is assumed that the lower left block is the current coding block, the prediction block may be generated by merging the current coding block with the right coding block and the upper coding block.
  • the prediction block when it is assumed that the upper left block is the current coding block, the prediction block may be generated by merging the current coding block with the right coding block and the lower coding block.
  • the prediction block when it is assumed that the upper right block is the current coding block, the prediction block may be generated by merging the current coding block with the left neighboring block and the lower neighboring block.
  • 24 is a flowchart illustrating a prediction unit merging method according to an embodiment of the present invention.
  • a candidate coding block that may be merged with a current coding block may be determined (S2410).
  • the candidate coding block may include at least one neighboring block neighboring the current coding block.
  • the neighboring block may include at least one of a left coding block, an upper coding block, a right coding block, a lower coding block, or a coding block adjacent to one corner of the current coding block.
  • the position of the candidate coding block may be determined differently according to the position or partition index of the current coding block.
  • the candidate coding block of the current coding block may be determined by comparing the coding parameter of the current coding block and the coding parameter of the neighboring coding block.
  • At least one block that may be merged with the current coding block among the candidate coding blocks may be specified (S2420).
  • the candidate coding block that can be merged with the current block may be determined based on a result of comparing coding parameters of the current coding block and the neighboring coding block.
  • At least one of the candidate coding blocks may be specified based on information (eg, index information) signaled from the bitstream.
  • the prediction block may be generated by merging the current coding block and the specified coding block (S2430).
  • merging between coding blocks may be performed based on information signaled through a bitstream.
  • merging between coding blocks may be performed based on information indicating whether to merge a current coding block with a neighboring block and / or information specifying a neighboring block to be merged with the current coding block.
  • information indicating whether to merge a current coding block with a neighboring block and / or information specifying a neighboring block to be merged with the current coding block For example, for any coding block, using at least one of merge_right_flag indicating whether to merge the coding block with the right coding block and / or merge_below_flag indicating whether to merge the coding block with the lower coding block, You can perform a merge between them.
  • merge_right_flag and merge_below_flag may be encoded / decoded according to the position of the coding block. For example, encoding / decoding of merge_right_flag may be omitted for a coding block located in a rightmost column of a coding tree block, and encoding / decoding of merge_below_flag may be omitted for a coding block located in a lowermost line of a coding tree block.
  • merging between coding blocks may be performed using at least one of merge_left_flag indicating whether to merge an arbitrary coding block with the left coding block and / or merge_top_flag indicating whether to merge the coding block with the top coding block. have.
  • information indicating whether prediction unit merge between coding blocks included in the block is allowed for a coding tree block or a coding block of any size may be signaled through the bitstream.
  • the transform unit merge may be applied on the same principle as the above-described prediction unit merge.
  • the transform unit merge result may be determined depending on the prediction unit merge result.
  • the shape of the transform block may be determined in the same manner as the shape of the prediction block.
  • transform unit merge independently of prediction unit merge.
  • the prediction unit merge may be performed based on a comparison result of the first coding parameter between coding blocks
  • the transform unit merge may be performed based on a comparison result of a second coding parameter different from the first coding parameter between coding blocks.
  • a prediction block generated as a plurality of coding blocks are merged may share one intra prediction mode or one motion information. That is, the merged plurality of coding blocks may be intra predicted based on the same intra prediction mode or inter predicted based on the same motion information (eg, at least one of a motion vector, a reference picture index, or a prediction direction indicator).
  • the merged plurality of coding blocks may be intra predicted based on the same intra prediction mode or inter predicted based on the same motion information (eg, at least one of a motion vector, a reference picture index, or a prediction direction indicator).
  • the transform block generated as a plurality of coding blocks are merged may share at least one of a quantization parameter, a transform mode, or a transform type (or a transform kernel).
  • the conversion mode may indicate whether the primary transform and the secondary transform are used, or may represent at least one of vertical transform, horizontal transform, 2D transform, or transform skip.
  • the conversion type may indicate DCT, DST, KLT, or the like.
  • Transform or quantization of a transform block (hereinafter, referred to as a non-square merge transform block) generated by merging a plurality of coding blocks may be performed in sub-block units according to the shape or size of the transform block.
  • the transform block when the transform block is not square or square, the transform block may be divided into square or square subblocks, and the transform may be performed in units of subblocks.
  • the size of the transform block is larger than the predefined size, the transform block may be divided into subblocks of the predefined size, and the transform may be performed in units of subblocks.
  • At least one of the quantization parameter, the transformation mode, or the transformation type between sub-blocks may be the same.
  • the coding may be performed in units of square or square blocks including transform blocks generated as the coding blocks are merged.
  • the transform or quantization for the polygonal transform block includes the polygonal transform block. It may be performed in units of square blocks (or square blocks).
  • a sample value (or transform coefficient) of a portion that does not correspond to the merged transform block in the square or square block may be set to a predefined value, and the transform may be performed on the merged transform block.
  • a sample value (or transform coefficient) of a portion not corresponding to the merged transform block may be set to zero.
  • a coding parameter of any one of a plurality of coding blocks included in a coding tree unit or a coding block of any size / shape may be derived from coding parameters of a neighboring coding block.
  • the coding parameter of the current coding block among the plurality of coding blocks may be derived based on the coding parameter of the neighboring block.
  • the encoding parameter of the neighboring coding block is preferably a parameter that is the same as the encoding parameter of the current coding block, but may be a heterogeneous parameter.
  • the prediction mode, the intra prediction mode, the motion information, the transform mode, or the transform type of the current coding block may be derived from a neighboring block neighboring the current coding block.
  • the range of the neighboring block may be the same or similar to that described in the prediction unit merge or the transform unit merge above.
  • the neighboring block may include at least one of a left neighboring block, an upper neighboring block, a right coding block, a lower coding block, or a coding block adjacent to a corner.
  • coding parameters may be shared among a plurality of coding blocks.
  • one of the plurality of coding blocks may share coding parameters with a neighboring coding block.
  • a method of sharing coding parameters between the current coding block and the neighboring coding blocks may be referred to as 'coding unit sharing'.
  • the prediction mode of the current coding block is inter prediction
  • at least one of motion information, a transform mode, or a transform type may be shared with the neighboring coding block.
  • the prediction mode of the current coding block is intra prediction
  • at least one of an intra prediction mode, a transform mode, or a transform type may be shared with the neighboring coding block.
  • the range of the neighboring block may be the same or similar to that described in the prediction unit merge or the transform unit merge above.
  • the neighboring block may include at least one of a left neighboring block, an upper neighboring block, a right coding block, a lower coding block, or a coding block adjacent to a corner.
  • 25 illustrates an example of deriving encoding parameters of a current coding block based on encoding parameters of a neighboring coding block.
  • the prediction mode of the current coding block may be derived based on the prediction mode of the neighboring coding block (eg, at least one of the left coding block and the top coding block). For example, when all of the neighboring coding blocks neighboring the current coding block are encoded by intra prediction, the prediction mode of the current coding block is also induced to intra prediction (see FIG. 25A), and the neighboring neighbor to the current coding block. If all of the coding blocks are encoded by inter prediction, the prediction mode of the current coding block may also be derived by inter prediction (see FIG. 25B).
  • prediction information such as intra prediction mode and / or motion information of the current coding block may be derived from the neighboring block.
  • prediction information such as intra prediction mode and / or motion information of the current coding block may be derived from the neighboring block.
  • an intermediate value or an average value of the intra prediction modes of the neighboring coding blocks eg, the left coding block and the upper peripheral block
  • intra prediction mode of the current coding block e.g. the left coding block and the upper peripheral block
  • the current coding block may also share a transform mode with the left coding block, and thus use the transform skip.
  • the transform type of the upper coding block is DCT II
  • the current coding block may also use DCT II in the same manner as the upper coding block.
  • Whether to derive the encoding parameter of the current coding block from the encoding parameter of the neighboring block may be determined based on the position, shape or partition index of the current coding block. For example, only when the current coding block is located at the lower right side of the coding tree unit or the arbitrary size coding block, the coding parameter of the current coding block may be derived from the coding parameter of the neighboring block.
  • whether to derive the encoding parameter of the current coding block from the encoding parameter of the neighboring block may be determined based on whether the encoding parameters of neighboring blocks neighboring the current coding block are the same. For example, the encoding parameters of the current coding block may be derived from the encoding parameters of the neighboring blocks only when the encoding parameters of neighboring blocks neighboring the current coding block are the same.
  • Whether to derive the encoding parameter of the current coding block from the encoding parameter of the neighboring block may be determined based on the information signaled from the bitstream.
  • the extended splitting method such as asymmetric binary tree splitting, non-square quadtree splitting, and polygonal binary tree splitting I looked at it.
  • the predetermined block unit is a coding block (in which a coding block is a concept including at least one of a Coding Tree Unit (or Largest Coding Unit) or a Smallest Coding Unit), a sub-coding block, a prediction block, or a transform block. It may include at least one.
  • the partition type of the coding block may be determined by partition information about the horizontal direction and partition information about the vertical direction.
  • a coding block may be split using at least one of at least one horizontal line or at least one vertical line. Accordingly, by dividing / decoding at least one of the horizontal partition information and the vertical partition information, the partition type of the coding block may be determined.
  • the horizontal partition information and the vertical partition information may include the availability of multi-tree splitting, whether asymmetric splitting is allowed, the position of the horizontal or vertical partition (or dividing line), and the horizontal or vertical partition (or dividing line). At least one of the number or the type of partition (eg, the width, height, or ratio thereof) of the partition.
  • the vertical partition information and the horizontal partition information may be information in the form of a flag or index.
  • the vertical partition information and the horizontal partition information are 1-bit flags indicating whether a coding block is divided by a vertical line or a horizontal line at a specific position, or a position of a vertical line or a horizontal line dividing a coding block among predefined positions. It may be an index identifying. In the following embodiments, it is assumed that the vertical partition information and the horizontal partition information are 1-bit flags.
  • the vertical partition information and / or the horizontal partition information may be determined whether to be encoded / decoded in consideration of an attribute of a coding block.
  • the attributes of the coding block may include the size / shape of the block (coding block, prediction block or transform block, etc.), the existence of residual coefficients, whether to skip transform, the transform technique (DCT or DST, etc.), prediction mode, intra prediction mode, binary Parameters such as whether to allow tree splitting, whether to allow triple tree splitting, or whether to allow quadtree splitting may be included.
  • 26 is a diagram for describing horizontal partition information and vertical partition information.
  • the vertical partition information is a flag indicating the length of the left partition or the right partition when partitioning is performed in the vertical direction
  • the information about the horizontal partition is the height of the upper partition or when partitioning is performed in the horizontal direction. It may be a flag indicating the height of the lower partition.
  • Nx4N_part_flag, 2Nx4N_part_flag, and 3Nx4N_part_flag represent vertical partition information
  • 4NxN_part_flag, 4Nx2N_part_flag, and 4Nx3N_part_flag represent vertical partition information
  • MNx4N_part_flag (where M is a natural number such as 1, 2, 3, etc.) indicates whether the left partition divided by the vertical line has the form of MNx4N, and 4NxMN_part_flag indicates that the upper partition divided by the horizontal line has the form of 4NxMN. It may indicate whether it has.
  • the vertical partition information or the horizontal partition information shown in FIG. 26 may indicate a position of a vertical line or a horizontal line for dividing a coding block.
  • MNx4N_part_flag indicates whether there is a vertical line dividing the coding block into MNx4N and (4-M) Nx4N
  • 4NxMN_part_flag indicates whether there is a horizontal line dividing the coding block into 4NxMN and 4Nx (4-M) N. It may be.
  • 27 to 30 are diagrams illustrating an example in which a division type of a coding block is specified using horizontal partition information and vertical partition information.
  • 2Nx4N_part_flag indicates that the coding block is split into two partitions that are half wide
  • 4Nx2N_part_flag indicates that the coding block is split into two partitions that are half-height, so set the values of 2Nx4N_part_flag and 4Nx2N_part_flag to 1
  • the flags 4NxN_part_flag, 4Nx3N_part_flag, Nx4N_part_flag, and 3Nx4N_part_flag may be set to 0 to specify the partition type of the coding block.
  • a total of four ratios such as two coding blocks having a quarter width and a half height and two coding blocks having a quarter width and a half height, as the coding blocks are divided into non-square quad trees. It is shown to be divided into square sub-coded blocks.
  • 3Nx4N_part_flag indicates that the coding block is split into two partitions with 3/4 width and 1/4 width, respectively
  • 4Nx2N_part_flag indicates that the coding block is split into two partitions that are 1/2 height high, resulting in values of 3Nx4N_part_flag and 4Nx2N_part_flag.
  • FIG. 29 it is illustrated that a coding block is divided into two coding blocks having a half width as the binary tree is divided. Since 2Nx4N_part_flag indicates that the coding block is divided into two partitions having half width and half width, respectively, the value of 2Nx4N_part_flag is set to 1 and other flags (4NxN_part_flag, 4Nx2N_part_flag, 4Nx3N_part_flag, Nx4N_part_flag, N_part_flag) 3Nx4N_part_flag) can be set to 0 to specify the partition type of the coding block.
  • the coding block is divided into three sub-coding blocks having respective widths of 1/4, 2/4, and 1/4 as triple tree division.
  • Nx4N_part_flag indicates that the width of the left partition is 1/4 when the coding block is divided into two blocks
  • 3Nx4N_part_flag indicates that the width of the left partition is 3/4 when the coding block is divided into two blocks.
  • various combinations of coding blocks can be represented by combining horizontal partition information and vertical partition information.
  • the partition type of the coding block is determined based on the plurality of vertical partition information and the plurality of horizontal partition information.
  • the plurality of partition information is hierarchically or predefined priority. Can be encoded / decoded accordingly.
  • partition information for example, 2Nx4N_part_flag or 4Nx2N_part_flag
  • partition information for example, Nx4N_part_flag, 3Nx4N_part_flag, 4NxN_part_flag or 4Nx3N_part_flag
  • partition information for example, Nx4N_part_flag, 3Nx4N_part_flag, 4NxN_part_flag or 4Nx3N_part_flag
  • main partition information information indicating symmetrical division of coding blocks
  • main partition information or main partition flag
  • 2Nx4N_part_flag will be referred to as vertical main partition information
  • 4Nx2N_part_flag will be referred to as horizontal main partition information.
  • the vertical main partition information may be preferentially encoded / decoded, and the remaining partition information except the main partition information may be selectively encoded / decoded according to the value of the main partition information.
  • horizontal primary partition information among the plurality of horizontal partition information may be preferentially encoded / decoded, and residual partition information except the primary partition information may be selectively encoded / decoded according to the value of the primary partition information.
  • the vertical main partition information selectively determine whether to encode / decode the remaining vertical partition information except the vertical main partition information, and according to the value of the horizontal main partition information, Whether to encode / decode the remaining horizontal partition information other than the partition information may be selectively determined.
  • the value of partition information for which encoding / decoding is omitted may be derived based on the value of the main partition information. For example, when the value of 2Nx4N_part_flag is 1, the value of uncoded residual horizontal partition information (eg, Nx4N_part_flag or 3Nx4N_part_flag) may be derived as 0. Similarly, when the value of 4Nx2N_part_flag is 1, the value of uncoded residual horizontal partition information (eg, 4NxN_part_flag or 4Nx3N_part_flag) may be derived as 0.
  • the value of the residual vertical partition information may be derived according to the value of the vertical main partition information, or the value of the residual horizontal partition information may be derived according to the value of the horizontal main partition information.
  • Encoding / decoding may be performed according to a predefined priority among remaining partition information except main partition information. For example, Nx4N_part_flag may be encoded / decoded prior to 3Nx4N_part_flag, and 4NxN_part_flag may be encoded / decoded prior to 4Nx3N_part_flag.
  • the encoding / decoding order may also be determined according to a predefined priority between the vertical partition information and the horizontal partition information.
  • the vertical partition information may be encoded / decoded in preference to the horizontal partition information, or the horizontal partition information may be encoded / decoded by giving priority to the vertical partition information.
  • the encoding / decoding priority between partition information may be previously promised by the encoder and the decoder, or may be adaptively determined according to the attributes of the block. For example, according to a multi-tree split type (for example, binary tree split, triple tree split or quad tree split) applied to a coding block, it is also possible to encode / decode asymmetric partition information in preference to symmetric partition information. .
  • a multi-tree split type for example, binary tree split, triple tree split or quad tree split
  • the coding block When the coding block is binary tree split or triple tree split, it may be restricted to use only horizontal partition information or vertical partition information.
  • information indicating which of the horizontal partition information and the vertical partition information is used may be encoded / decoded.
  • the information may be a 1-bit flag. For example, a value of 0 may indicate that only horizontal partition information (or vertical partition information) is used, and a value of 1 may indicate that only vertical partition information (or horizontal partition information) is used.
  • the value of the horizontal partition information is derived, or according to the value of the horizontal partition information, or according to the value of the vertical partition information, It is also possible to derive the value of the vertical partition information. For example, when it is determined that the coding block is binary tree split or triple tree split, when there is vertical partition information having a value of 1, the value of the horizontal partition information may be derived as 0, and conversely, the value is 1 When the horizontal partition information exists, the value of the vertical partition information may be derived as zero.
  • the coding block is triple tree divided by the horizontal dividing line
  • the values of 4NxN_part_flag and 4Nx3N_part_flag are 1, and the values of 4Nx2N_part_flag are determined to be 0, Nx4N_part_flag, 2Nx4N_part_flag, 3Nx4N, etc.
  • the encoding / decoding of partition information can be omitted, and the value can be set to zero. At this time, it is also possible to set the value to 0 without encoding / decoding the value of 4Nx2N_part_flag.
  • the horizontal partition information or the vertical partition information may be index information indicating the position of the dividing line. For example, a value of 0 for horizontal partition information indicates that a vertical dividing line exists at a position where the size of the left partition becomes 2Nx4N, and a value of 1 or 2 for horizontal partition information indicates that the left partition has The dividing line in the vertical direction exists at a position where the size becomes Nx4N or 3Nx4N.
  • the index information may be encoded with a variable length. For example, as in the example shown in Table 3 below, a shorter code word may be assigned to a position of a vertical line that divides a coding block into a symmetrical form.
  • a shorter code word can be assigned to the position of the horizontal line for dividing the coding block in a symmetrical form.
  • the length of the codewords allocated to each index may be set differently. For example, in the case of triple tree division, a shorter codeword may be allocated to a vertical line or a horizontal line for dividing the coding block in an asymmetrical form compared to a vertical line or a horizontal line for dividing the coding block in a symmetrical form.
  • 31 is a flowchart illustrating a process of obtaining a residual sample according to an embodiment to which the present invention is applied.
  • a residual coefficient of the current block may be obtained (S3110).
  • the decoder may acquire the residual coefficients through the coefficient scanning method. For example, the decoder may perform coefficient scanning using diagonal scan, zigzag scan, up-write scan, vertical scan, or horizontal scan, and as a result, obtain a residual coefficient in the form of a two-dimensional block.
  • Inverse quantization may be performed on the residual coefficient of the current block (S3120).
  • the decoder may determine whether to skip an inverse transform in at least one of the horizontal direction and the vertical direction of the current block.
  • a residual sample of the current block may be obtained by inversely transforming an inverse quantized residual coefficient of the current block (S3140).
  • the inverse transform may be performed using at least one of DCT, DST, or KLT.
  • the residual quantized residual coefficient may be scaled to a preset value to obtain a residual sample of the current block (S3150).
  • Omitting the inverse transform in the horizontal direction means performing the inverse transform in the vertical direction without performing the inverse transform in the horizontal direction. In this case, scaling may be performed in the horizontal direction.
  • Omitting the inverse transform in the vertical direction means not performing the inverse transform in the vertical direction but performing the inverse transform in the horizontal direction. In this case, scaling may be performed in the vertical direction.
  • an inverse transform skip technique may be used for the current block. For example, when the current block is generated through binary tree-based partitioning, the inverse transform skip technique may not be used for the current block. Accordingly, when the current block is generated through binary tree-based partitioning, a residual sample of the current block may be obtained by inversely transforming the current block. In addition, when the current block is generated through binary tree-based partitioning, encoding / decoding of information (eg, transform_skip_flag) indicating whether an inverse transform is skipped may be omitted.
  • information eg, transform_skip_flag
  • the inverse transform skip technique may be limited to only at least one of the horizontal direction and the vertical direction.
  • the direction in which the inverse transform skip technique is limited may be determined based on information decoded from the bitstream or adaptively determined based on at least one of the size of the current block, the shape of the current block, or the intra prediction mode of the current block. have.
  • the inverse skip skip technique may be allowed only in the vertical direction, and the use of the inverse skip skip technique may be restricted in the horizontal direction. That is, when the current block is 2N ⁇ N, inverse transform may be performed in the horizontal direction of the current block, and inverse transform may be selectively performed in the vertical direction.
  • the inverse skip skip technique can be allowed only in the horizontal direction, and the use of the inverse skip skip technique can be restricted in the vertical direction. That is, when the current block is Nx2N, inverse transform may be performed in the vertical direction of the current block, and inverse transform may be selectively performed in the horizontal direction.
  • the inverse skipping scheme is allowed only for the horizontal direction; if the current block is a non-square block with a height greater than the width, an inverse transform for the vertical direction only
  • the skip technique may be allowed.
  • Information on whether to skip the inverse transform in the horizontal direction or information indicating whether to skip the inverse transform in the vertical direction may be signaled through the bitstream.
  • information indicating whether to skip the inverse transform in the horizontal direction is a 1-bit flag, 'hor_transform_skip_flag'
  • information indicating whether to skip the inverse transform in the vertical direction is a 1-bit flag and 'ver_transform_skip_flag'.
  • the encoder may encode at least one of 'hor_transform_skip_flag' or 'ver_transform_skip_flag' according to the shape of the current block.
  • the decoder may determine whether an inverse transform in the horizontal direction or the vertical direction is skipped using at least one of 'hor_transform_skip_flag' or 'ver_transform_skip_flag'.
  • the inverse transform may be set to be omitted.
  • an inverse transform in the horizontal direction or the vertical direction may be omitted. That is, if the current block is generated by partitioning based on a binary tree, the horizontal or vertical direction with respect to the current block may be performed without encoding / decoding of information indicating whether the inverse transform of the current block is skipped (for example, transform_skip_flag, hor_transform_skip_flag, ver_transform_skip_flag). It may be determined to skip the inverse transformation for at least one of the following.
  • each component for example, a unit, a module, etc. constituting the block diagram may be implemented as a hardware device or software, and a plurality of components are combined into one hardware device or software. It may be implemented.
  • the above-described embodiments may be implemented in the form of program instructions that may be executed by various computer components, and may be recorded in a computer-readable recording medium.
  • the computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • the hardware device may be configured to operate as one or more software modules to perform the process according to the invention, and vice versa.
  • the present invention can be applied to an electronic device capable of encoding / decoding an image.

Abstract

La présente invention concerne un procédé de décodage d'image qui peut comprendre les étapes consistant : à décoder des informations de partition indiquant si oui ou non un bloc de codage courant est partitionné par une ligne de partitionnement verticale ou horizontale ; et à partitionner le bloc de codage en un ou plusieurs sous-blocs sur la base des informations de partition.
PCT/KR2017/013438 2016-11-25 2017-11-23 Procédé et appareil de traitement de signal vidéo WO2018097626A1 (fr)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN202310826802.7A CN116634143A (zh) 2016-11-25 2017-11-23 用于对视频进行编码和解码的方法
CN202310826428.0A CN116668687A (zh) 2016-11-25 2017-11-23 用于对视频进行编码和解码的方法
CN201780072950.7A CN110024410B (zh) 2016-11-25 2017-11-23 用于对视频进行编码和解码的方法
US16/463,823 US11445186B2 (en) 2016-11-25 2017-11-23 Method and apparatus for processing video signal
CN202310823266.5A CN116847069A (zh) 2016-11-25 2017-11-23 用于对视频进行编码和解码的方法
CN202310827802.9A CN116744023A (zh) 2016-11-25 2017-11-23 用于对视频进行编码和解码的方法
CN202310826381.8A CN116744022A (zh) 2016-11-25 2017-11-23 用于对视频进行编码和解码的方法
US17/879,117 US11968364B2 (en) 2016-11-25 2022-08-02 Method and apparatus for processing video signal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160158150 2016-11-25
KR10-2016-0158150 2016-11-25

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/463,823 A-371-Of-International US11445186B2 (en) 2016-11-25 2017-11-23 Method and apparatus for processing video signal
US17/879,117 Division US11968364B2 (en) 2016-11-25 2022-08-02 Method and apparatus for processing video signal

Publications (1)

Publication Number Publication Date
WO2018097626A1 true WO2018097626A1 (fr) 2018-05-31

Family

ID=62195430

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/013438 WO2018097626A1 (fr) 2016-11-25 2017-11-23 Procédé et appareil de traitement de signal vidéo

Country Status (4)

Country Link
US (2) US11445186B2 (fr)
KR (1) KR102559062B1 (fr)
CN (6) CN116744023A (fr)
WO (1) WO2018097626A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111050172A (zh) * 2018-10-15 2020-04-21 华为技术有限公司 图像块的变换、反变换方法和装置
CN111050184A (zh) * 2018-10-15 2020-04-21 华为技术有限公司 图像块的划分方法和装置
CN113660490A (zh) * 2021-06-24 2021-11-16 浙江大华技术股份有限公司 编码单元的划分方法、编码方法、电子装置及存储介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109479131B (zh) * 2016-06-24 2023-09-01 世宗大学校产学协力团 视频信号处理方法及装置
CN108933941A (zh) * 2017-05-26 2018-12-04 富士通株式会社 图像编码方法和装置以及图像解码方法和装置
CN117834917A (zh) * 2018-01-17 2024-04-05 英迪股份有限公司 对视频进行解码或编码的方法和用于发送比特流的方法
WO2019234612A1 (fr) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Arbre de partition à quatre sous-blocs symétriques ou asymétriques
US10516885B1 (en) * 2018-07-11 2019-12-24 Tencent America LLC Method and apparatus for video coding
WO2020084601A1 (fr) * 2018-10-26 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Réduction de redondance dans une partition de bloc
WO2020156574A1 (fr) * 2019-02-03 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Signalisation pour mode de partition de blocs vidéo
KR20230049758A (ko) * 2019-02-05 2023-04-13 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 인트라 서브-파티션 코드 모드를 이용한 비디오 코딩
WO2020162690A1 (fr) * 2019-02-06 2020-08-13 엘지전자 주식회사 Procédé et dispositif de traitement de signal vidéo en utilisant une transformée réduite
WO2020171658A1 (fr) * 2019-02-21 2020-08-27 한국전자통신연구원 Procédé et dispositif de codage/décodage vidéo, et support d'enregistrement permettant de stocker un flux binaire
EP3709643A1 (fr) * 2019-03-11 2020-09-16 InterDigital VC Holdings, Inc. Partitionnement de mode de prédiction intra
CN113632493A (zh) * 2019-03-13 2021-11-09 北京字节跳动网络技术有限公司 变换跳过模式中的子块变换
WO2021047544A1 (fr) * 2019-09-09 2021-03-18 Beijing Bytedance Network Technology Co., Ltd. Codage et décodage de copie intrabloc

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110036520A (ko) * 2009-10-01 2011-04-07 에스케이 텔레콤주식회사 분할 레이어를 이용한 영상 부호화/복호화 방법 및 장치
WO2011087320A2 (fr) * 2010-01-15 2011-07-21 삼성전자 주식회사 Procédé et appareil de codage de vidéo à l'aide de partitions variables pour codage prédictif et procédé et appareil permettant de décoder une vidéo à l'aide de partitions variables pour un codage prédictif
WO2011155758A2 (fr) * 2010-06-07 2011-12-15 ㈜휴맥스 Procédé permettant de coder/décoder une image à haute résolution et dispositif mettant en œuvre ce procédé
WO2013115606A1 (fr) * 2012-02-04 2013-08-08 엘지전자 주식회사 Procédé de codage vidéo, procédé de décodage vidéo, et dispositif s'y rapportant
WO2016178485A1 (fr) * 2015-05-05 2016-11-10 엘지전자 주식회사 Procédé et dispositif de traitement d'unité de codage dans un système de codage d'image

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9549190B2 (en) 2009-10-01 2017-01-17 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding image using variable-size macroblocks
HUE051313T2 (hu) 2009-10-01 2021-03-01 Sk Telecom Co Ltd Eljárás és készülék képek változtatható méretû makroblokkok használatával történõ kódolására/dekódolására
CN104935934B (zh) 2009-10-21 2018-04-03 Sk电信有限公司 视频编码装置
CN105812812B (zh) 2009-12-01 2018-08-24 数码士有限公司 用于编码高分辨率图像的方法
KR20110061468A (ko) 2009-12-01 2011-06-09 (주)휴맥스 고해상도 영상의 부호화/복호화 방법 및 이를 수행하는 장치
EP2942957A1 (fr) 2010-07-02 2015-11-11 HUMAX Holdings Co., Ltd. Appareil de décodage d'images pour une intra-prédiction
JP2012023597A (ja) * 2010-07-15 2012-02-02 Sony Corp 画像処理装置及び画像処理方法
CN107071490B (zh) 2010-11-04 2020-07-14 Ge视频压缩有限责任公司 解码装置和方法、编码装置和方法、存储和传输图像方法
KR101712156B1 (ko) 2010-12-06 2017-03-06 에스케이 텔레콤주식회사 임의의 형태의 블록을 이용한 인터예측에 의한 영상의 부호화/복호화 방법 및 장치
JPWO2013190990A1 (ja) * 2012-06-22 2016-05-26 シャープ株式会社 算術復号装置、算術符号化装置、画像復号装置、および画像符号化装置
US9264713B2 (en) * 2012-07-11 2016-02-16 Qualcomm Incorporated Rotation of prediction residual blocks in video coding with transform skipping
US9549182B2 (en) 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
AU2012232992A1 (en) * 2012-09-28 2014-04-17 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the transform units of a coding unit
GB2518823A (en) * 2013-09-25 2015-04-08 Sony Corp Data encoding and decoding
CN105580361A (zh) * 2013-09-27 2016-05-11 高通股份有限公司 用于深度帧内预测模式的残余译码
WO2015043501A1 (fr) 2013-09-27 2015-04-02 Qualcomm Incorporated Codage résiduel pour des modes d'intra prédiction de profondeur
CN106105199B (zh) * 2014-03-05 2020-01-07 Lg 电子株式会社 基于多边形单元的编/解码图像的方法及其装置
KR102445242B1 (ko) * 2014-03-19 2022-09-21 삼성전자주식회사 경계 필터링을 수반한 비디오 부호화 및 비디오 복호화 방법 및 장치
KR20170020778A (ko) * 2014-06-20 2017-02-24 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US20180139453A1 (en) * 2015-03-13 2018-05-17 Lg Electronics Inc. Method of processing video signal and device for same
CN107534767A (zh) * 2015-04-27 2018-01-02 Lg电子株式会社 用于处理视频信号的方法及其装置
US10116957B2 (en) * 2016-09-15 2018-10-30 Google Inc. Dual filter type for motion compensated prediction in video coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110036520A (ko) * 2009-10-01 2011-04-07 에스케이 텔레콤주식회사 분할 레이어를 이용한 영상 부호화/복호화 방법 및 장치
WO2011087320A2 (fr) * 2010-01-15 2011-07-21 삼성전자 주식회사 Procédé et appareil de codage de vidéo à l'aide de partitions variables pour codage prédictif et procédé et appareil permettant de décoder une vidéo à l'aide de partitions variables pour un codage prédictif
WO2011155758A2 (fr) * 2010-06-07 2011-12-15 ㈜휴맥스 Procédé permettant de coder/décoder une image à haute résolution et dispositif mettant en œuvre ce procédé
WO2013115606A1 (fr) * 2012-02-04 2013-08-08 엘지전자 주식회사 Procédé de codage vidéo, procédé de décodage vidéo, et dispositif s'y rapportant
WO2016178485A1 (fr) * 2015-05-05 2016-11-10 엘지전자 주식회사 Procédé et dispositif de traitement d'unité de codage dans un système de codage d'image

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111050172A (zh) * 2018-10-15 2020-04-21 华为技术有限公司 图像块的变换、反变换方法和装置
CN111050184A (zh) * 2018-10-15 2020-04-21 华为技术有限公司 图像块的划分方法和装置
WO2020078253A1 (fr) * 2018-10-15 2020-04-23 华为技术有限公司 Procédés et dispositifs de transformation et de transformation inverse pour bloc d'image
CN113660490A (zh) * 2021-06-24 2021-11-16 浙江大华技术股份有限公司 编码单元的划分方法、编码方法、电子装置及存储介质

Also Published As

Publication number Publication date
CN116744023A (zh) 2023-09-12
US20220377328A1 (en) 2022-11-24
CN116634143A (zh) 2023-08-22
US11968364B2 (en) 2024-04-23
CN116668687A (zh) 2023-08-29
KR20180059367A (ko) 2018-06-04
US20190387226A1 (en) 2019-12-19
CN116847069A (zh) 2023-10-03
CN110024410A (zh) 2019-07-16
KR102559062B1 (ko) 2023-07-24
US11445186B2 (en) 2022-09-13
CN116744022A (zh) 2023-09-12
CN110024410B (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
WO2018097626A1 (fr) Procédé et appareil de traitement de signal vidéo
WO2017222326A1 (fr) Procédé et dispositif de traitement de signal vidéo
WO2017176030A1 (fr) Procédé et appareil de traitement de signal vidéo
WO2018026219A1 (fr) Procédé et dispositif de traitement de signal vidéo
WO2018155986A2 (fr) Procédé et appareil de traitement de signaux vidéo
WO2017171370A1 (fr) Procédé et appareil de traitement de signal vidéo
WO2018056703A1 (fr) Procédé et appareil de traitement de signal vidéo
WO2018088805A1 (fr) Procédé et appareil de traitement de signal vidéo
WO2017204532A1 (fr) Procédé de codage/décodage d'images et support d'enregistrement correspondant
WO2019225993A1 (fr) Procédé et appareil de traitement de signal vidéo
WO2017146526A1 (fr) Procédé et dispositif de traitement de signal vidéo
WO2017043949A1 (fr) Procédé et dispositif pour traiter un signal vidéo
WO2020111785A1 (fr) Procédé de codage/décodage de signal vidéo et appareil associé
WO2018124843A1 (fr) Procédé de codage/décodage d'image, appareil et support d'enregistrement pour stocker un train de bits
WO2018212579A1 (fr) Procédé et dispositif de traitement de signal vidéo
WO2019190201A1 (fr) Procédé et dispositif de traitement de signal vidéo
WO2019182292A1 (fr) Procédé et appareil de traitement du signal vidéo
WO2012043989A2 (fr) Procédé destiné à diviser un bloc et dispositif de décodage
WO2019050292A1 (fr) Procédé et dispositif de traitement de signal vidéo
WO2018066958A1 (fr) Procédé et appareil de traitement de signal vidéo
WO2020050685A1 (fr) Procédé et dispositif de codage/décodage d'image à l'aide d'une prédiction intra
WO2018056701A1 (fr) Procédé et appareil de traitement de signal vidéo
WO2018093184A1 (fr) Procédé et dispositif de traitement de signal vidéo
WO2019050291A1 (fr) Procédé et dispositif de traitement de signal vidéo
WO2019182295A1 (fr) Procédé et appareil de traitement de signal vidéo

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17874600

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 20/09/2019)

122 Ep: pct application non-entry in european phase

Ref document number: 17874600

Country of ref document: EP

Kind code of ref document: A1