WO2021125751A1 - 임의의 모양으로 분할되는 블록을 예측하는 방법 및 복호화 장치 - Google Patents

임의의 모양으로 분할되는 블록을 예측하는 방법 및 복호화 장치 Download PDF

Info

Publication number
WO2021125751A1
WO2021125751A1 PCT/KR2020/018369 KR2020018369W WO2021125751A1 WO 2021125751 A1 WO2021125751 A1 WO 2021125751A1 KR 2020018369 W KR2020018369 W KR 2020018369W WO 2021125751 A1 WO2021125751 A1 WO 2021125751A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
block
intra
inter
samples
Prior art date
Application number
PCT/KR2020/018369
Other languages
English (en)
French (fr)
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 US17/785,509 priority Critical patent/US20230048262A1/en
Priority to EP20902924.8A priority patent/EP4068776A4/en
Priority to CN202080086347.6A priority patent/CN114830653A/zh
Priority claimed from KR1020200175629A external-priority patent/KR20210076869A/ko
Publication of WO2021125751A1 publication Critical patent/WO2021125751A1/ko

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/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
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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

Definitions

  • the present invention relates to encoding and decoding of moving pictures, and more particularly, to a method and apparatus for further improving the efficiency of encoding and decoding by performing inter prediction and intra prediction on blocks divided into arbitrary shapes.
  • moving image data Since moving image data has a large amount of data compared to audio data or still image data, it requires a lot of hardware resources including memory to store or transmit itself without processing for compression.
  • the moving picture data when storing or transmitting moving picture data, the moving picture data is compressed and stored or transmitted using an encoder, and the decoder receives the compressed moving picture data, decompresses it, and reproduces the data.
  • H.264/AVC and High Efficiency Video Coding (HEVC) which improves encoding efficiency by about 40% compared to H.264/AVC, exist.
  • An object of the present invention is to provide an improved encoding and decoding technology in order to meet these needs.
  • an aspect of the present invention is to distinguish between non-rectangular-shaped blocks divided from one block to perform inter-prediction and intra-prediction. It relates to a technique for improving the efficiency of encoding and decoding by performing
  • another aspect of the present invention relates to a technique for improving encoding and decoding efficiency by simplifying an adaptive filtering process.
  • One aspect of the present invention provides a method of predicting a current block according to a first mode, comprising: dividing the current block into non-rectangular blocks based on a division mode syntax element; determining an intra-predicted intra block and an inter-predicted inter block from among the non-rectangular blocks; and deriving prediction samples of a first region including the inter block based on motion information and deriving prediction samples of a second region including the intra block based on an intra prediction mode.
  • Another aspect of the present invention provides a decoding apparatus for predicting a current block according to a first mode, comprising: an entropy decoding unit that divides the current block into non-rectangular blocks based on a division mode syntax element; and a prediction unit that determines an intra-predicted intra block and an inter-predicted inter block from among the non-rectangular blocks, wherein the prediction unit derives prediction samples of the first region including the inter block based on motion information. and deriving prediction samples of the second region including the intra block based on the intra prediction mode.
  • the present invention can perform not only inter prediction but also intra prediction on a non-rectangular block, its applicability can be further expanded compared to the conventional method of performing only inter prediction.
  • the present invention can perform intra prediction of another non-rectangular block by referring to the inter prediction value of a non-rectangular block, performance of intra prediction can be improved.
  • the present invention applies weights to the inter-prediction value and the intra-prediction value according to the prediction types of neighboring blocks, discontinuity occurring at the block boundary can be effectively removed.
  • bit efficiency can be improved.
  • the present invention can simplify the adaptive filtering by integrating the feature extraction process of the sample adaptive offset and the feature extraction process of the adaptive loop filtering, thereby improving the efficiency of encoding and decoding.
  • FIG. 1 is an exemplary block diagram of an image encoding apparatus that can implement techniques of the present disclosure.
  • FIG. 2 is a diagram for explaining a method of dividing a block using a QTBTTT structure.
  • 3A is a diagram illustrating a plurality of intra prediction modes.
  • 3B is a diagram illustrating a plurality of intra prediction modes including wide-angle intra prediction modes.
  • FIG. 4 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure.
  • 5 is an exemplary diagram for explaining a triangulation mode.
  • FIG. 6 is a flowchart illustrating an example of a method of predicting a current block according to the first mode proposed by the present invention.
  • FIG. 7 is an exemplary diagram for explaining a division boundary.
  • FIG 8 is an exemplary diagram of neighboring blocks used to determine whether the first mode is applied.
  • FIG. 9 is an exemplary diagram for explaining an example of a method of determining an inter block and an intra block.
  • FIG. 10 is an exemplary diagram for explaining an example of a method of determining an intra prediction mode.
  • 11 is a flowchart illustrating an example of a method of using prediction samples of an inter block as reference samples for prediction of an intra block.
  • FIG. 12 and 13 are exemplary diagrams for explaining an example of the method of FIG. 11 .
  • FIG. 14 is a flowchart illustrating an example of a method of removing discontinuity at a partition boundary.
  • 15 is an exemplary diagram for explaining an example of a method of deriving a weight used in the method of FIG. 14 .
  • 16 is an exemplary block diagram of a filter unit.
  • FIG. 17 is an exemplary block diagram of a filter unit proposed in the present invention.
  • 18 is a flowchart illustrating an example of an adaptive filtering method.
  • 19A and 19B are exemplary views for explaining a first-order differential filter and a second-order differential filter.
  • 20A and 20B are exemplary views in which reconstructed samples are divided according to directions.
  • 21 is an exemplary diagram of reconstructed samples for explaining a method of determining a class of reconstructed samples.
  • FIG. 1 is an exemplary block diagram of an image encoding apparatus that can implement techniques of the present disclosure.
  • an image encoding apparatus and sub-components of the apparatus will be described with reference to FIG. 1 .
  • the image encoding apparatus includes a picture division unit 110 , a prediction unit 120 , a subtractor 130 , a transform unit 140 , a quantization unit 145 , a reordering unit 150 , an entropy encoding unit 155 , and an inverse quantization unit. 160 , an inverse transform unit 165 , an adder 170 , a filter unit 180 , and a memory 190 .
  • Each component of the image encoding apparatus may be implemented as hardware or software, or a combination of hardware and software.
  • the function of each component may be implemented in software and the microprocessor may be implemented to execute the function of the software corresponding to each component.
  • One image is composed of a plurality of pictures. Each picture is divided into a plurality of regions, and encoding is performed for each region. For example, one picture is divided into one or more tiles and/or slices. Here, one or more tiles may be defined as a tile group. Each tile or slice is divided into one or more Coding Tree Units (CTUs). And each CTU is divided into one or more CUs (Coding Units) by a tree structure. Information applied to each CU is encoded as a syntax of the CU, and information commonly applied to CUs included in one CTU is encoded as a syntax of the CTU.
  • CTUs Coding Tree Units
  • information commonly applied to all blocks in one slice is encoded as a syntax of a slice header
  • information applied to all blocks constituting one picture is a picture parameter set (PPS) or a picture. encoded in the header.
  • PPS picture parameter set
  • information commonly referenced by a plurality of pictures is encoded in a sequence parameter set (SPS).
  • SPS sequence parameter set
  • information commonly referred to by one or more SPSs is encoded in a video parameter set (VPS).
  • information commonly applied to one tile or tile group may be encoded as a syntax of a tile or tile group header.
  • the picture divider 110 determines the size of a coding tree unit (CTU).
  • CTU size Information on the size of the CTU (CTU size) is encoded as a syntax of the SPS or PPS and transmitted to the video decoding apparatus.
  • the picture divider 110 divides each picture constituting an image into a plurality of coding tree units (CTUs) having a predetermined size, and then repeatedly divides the CTUs using a tree structure. (recursively) divide.
  • a leaf node in the tree structure becomes a coding unit (CU), which is a basic unit of encoding.
  • CU coding unit
  • the tree structure consists of a QuadTree (QT) in which a parent node (or parent node) is divided into four child nodes (or child nodes) of the same size, or a binary tree (BinaryTree) in which a parent node is divided into two child nodes. , BT), or a ternary tree (TT) in which a parent node is divided into three child nodes with a ratio of 1:2:1, or a structure in which two or more of these QT structures, BT structures, and TT structures are mixed can
  • QTBT QuadTree plus BinaryTree
  • QTBTTT QuadTree plus BinaryTree TernaryTree
  • BTTT may be collectively referred to as a Multiple-Type Tree (MTT).
  • the CTU may be first divided into a QT structure.
  • the quadtree splitting may be repeated until the size of a splitting block reaches the minimum block size (MinQTSize) of a leaf node allowed in QT.
  • MinQTSize minimum block size
  • a first flag QT_split_flag indicating whether each node of the QT structure is split into four nodes of a lower layer is encoded by the entropy encoder 155 and signaled to the image decoding apparatus.
  • the leaf node of the QT is not larger than the maximum block size (MaxBTSize) of the root node allowed in the BT, it may be further divided into any one or more of the BT structure or the TT structure.
  • a plurality of division directions may exist in the BT structure and/or the TT structure. For example, there may be two directions in which the block of the corresponding node is divided horizontally and vertically. As shown in FIG.
  • a second flag (mtt_split_flag) indicating whether nodes are split, and a flag indicating additionally splitting direction (vertical or horizontal) and/or splitting type (Binary or Ternary) if split ) is encoded by the entropy encoder 155 and signaled to the image decoding apparatus.
  • a CU split flag (split_cu_flag) indicating whether the node is split is encoded could be
  • the CU split flag (split_cu_flag) value indicates that it is not split
  • the block of the corresponding node becomes a leaf node in the split tree structure and becomes a coding unit (CU), which is a basic unit of coding.
  • CU coding unit
  • split_flag split flag indicating whether each node of the BT structure is split into blocks of a lower layer
  • split type information indicating a split type are encoded by the entropy encoder 155 and transmitted to the image decoding apparatus.
  • split_flag split flag
  • the asymmetric form may include a form in which the block of the corresponding node is divided into two rectangular blocks having a size ratio of 1:3, or a form in which the block of the corresponding node is divided in a diagonal direction.
  • a CU may have various sizes depending on the QTBT or QTBTTT split from the CTU.
  • a block corresponding to a CU to be encoded or decoded ie, a leaf node of QTBTTT
  • a 'current block' a block corresponding to a CU to be encoded or decoded
  • the shape of the current block may be not only a square but also a rectangle.
  • the prediction unit 120 generates a prediction block by predicting the current block.
  • the prediction unit 120 includes an intra prediction unit 122 and an inter prediction unit 124 .
  • each of the current blocks in a picture may be predictively coded.
  • prediction of the current block is performed using an intra prediction technique (using data from the picture containing the current block) or inter prediction technique (using data from a picture coded before the picture containing the current block). can be performed.
  • Inter prediction includes both uni-prediction and bi-prediction.
  • the intra prediction unit 122 predicts pixels in the current block by using pixels (reference pixels) located around the current block in the current picture including the current block.
  • a plurality of intra prediction modes exist according to a prediction direction.
  • the plurality of intra prediction modes may include two non-directional modes including a planar mode and a DC mode and 65 directional modes. According to each prediction mode, the neighboring pixels to be used and the calculation expression are defined differently.
  • directional modes (Nos. 67 to 80, and Nos. -1 to -14 intra prediction modes) shown by dotted arrows in FIG. 3B may be additionally used. These may be referred to as “wide angle intra-prediction modes”. Arrows in FIG. 3B indicate corresponding reference samples used for prediction, not prediction directions. The prediction direction is opposite to the direction indicated by the arrow.
  • the wide-angle intra prediction modes are modes in which a specific directional mode is predicted in the opposite direction without additional bit transmission when the current block is rectangular. In this case, among the wide-angle intra prediction modes, some wide-angle intra prediction modes available for the current block may be determined by the ratio of the width to the height of the rectangular current block.
  • the wide-angle intra prediction modes having an angle smaller than 45 degrees are available when the current block has a rectangular shape with a height smaller than a width, and a wide angle having an angle greater than -135 degrees.
  • the intra prediction modes are available when the current block has a rectangular shape with a height greater than a width.
  • the intra prediction unit 122 may determine an intra prediction mode to be used for encoding the current block.
  • the intra prediction unit 122 may encode the current block using several intra prediction modes and select an appropriate intra prediction mode to use from the tested modes. For example, the intra prediction unit 122 calculates rate-distortion values using rate-distortion analysis for several tested intra prediction modes, and has the best rate-distortion characteristics among the tested modes. An intra prediction mode may be selected.
  • the intra prediction unit 122 selects one intra prediction mode from among a plurality of intra prediction modes, and predicts the current block using a neighboring pixel (reference pixel) determined according to the selected intra prediction mode and an equation.
  • Information on the selected intra prediction mode is encoded by the entropy encoder 155 and transmitted to the image decoding apparatus.
  • the inter prediction unit 124 generates a prediction block for the current block through a motion compensation process.
  • the inter prediction unit 124 searches for a block most similar to the current block in the reference picture encoded and decoded before the current picture, and generates a prediction block for the current block using the searched block. Then, a motion vector corresponding to the displacement between the current block in the current picture and the prediction block in the reference picture is generated.
  • motion estimation is performed for a luma component, and a motion vector calculated based on the luma component is used for both the luma component and the chroma component.
  • Motion information including information on a reference picture and information on a motion vector used to predict the current block is encoded by the entropy encoder 155 and transmitted to the image decoding apparatus.
  • the subtractor 130 generates a residual block by subtracting the prediction block generated by the intra prediction unit 122 or the inter prediction unit 124 from the current block.
  • the transform unit 140 divides the residual block into one or more transform blocks, applies a transform to the one or more transform blocks, and transforms the residual values of the transform blocks from the pixel domain to the frequency domain.
  • transformed blocks are referred to as coefficient blocks containing one or more transform coefficient values.
  • a two-dimensional transform kernel may be used for the transform, and a one-dimensional transform kernel may be used for each of the horizontal transform and the vertical transform.
  • the transform kernel may be based on a discrete cosine transform (DCT), a discrete sine transform (DST), or the like.
  • the transform unit 140 may transform the residual signals in the residual block by using the entire size of the residual block as a transform unit. Also, the transform unit 140 may divide the residual block into two subblocks in a horizontal or vertical direction, and may perform the transform on only one of the two subblocks. Accordingly, the size of the transform block may be different from the size of the residual block (and thus the size of the prediction block). Non-zero residual sample values may not exist or may be very sparse in a subblock on which transformation is not performed. Residual samples of a subblock on which transformation is not performed are not signaled, and may all be regarded as "0" by the image decoding apparatus.
  • Several partition types may exist according to a partitioning direction and a partitioning ratio.
  • the transform unit 140 provides information on the coding mode (or transform mode) of the residual block (eg, information indicating whether the residual block is transformed or the residual subblock is transformed, and a partition type selected to divide the residual block into subblocks). (information including information indicating , information for identifying a subblock on which transformation is performed, etc.) may be provided to the entropy encoder 155 .
  • the entropy encoder 155 may encode information about a coding mode (or a transform mode) of the residual block.
  • the quantization unit 145 quantizes the transform coefficients output from the transform unit 140 , and outputs the quantized transform coefficients to the entropy encoding unit 155 .
  • the quantization unit 145 may directly quantize a related residual block for a certain block or frame without transformation.
  • the reordering unit 150 may rearrange the coefficient values on the quantized residual values.
  • the reordering unit 150 may change a two-dimensional coefficient array into a one-dimensional coefficient sequence through coefficient scanning.
  • the reordering unit 150 may output a one-dimensional coefficient sequence by scanning from DC coefficients to coefficients in a high frequency region using a zig-zag scan or a diagonal scan.
  • a vertical scan for scanning a two-dimensional coefficient array in a column direction and a horizontal scan for scanning a two-dimensional block shape coefficient in a row direction may be used instead of the zig-zag scan according to the size of the transform unit and the intra prediction mode. That is, a scanning method to be used among a zig-zag scan, a diagonal scan, a vertical scan, and a horizontal scan may be determined according to the size of the transform unit and the intra prediction mode.
  • the entropy encoding unit 155 uses various encoding methods such as Context-based Adaptive Binary Arithmetic Code (CABAC) and Exponential Golomb to convert the one-dimensional quantized transform coefficients output from the reordering unit 150 .
  • CABAC Context-based Adaptive Binary Arithmetic Code
  • Exponential Golomb Exponential Golomb
  • the entropy encoder 155 encodes information such as a CTU size, a CU split flag, a QT split flag, an MTT split type, an MTT split direction, etc. related to block splitting, so that the video decoding apparatus divides the block in the same way as the video encoding apparatus. to be able to divide. Also, the entropy encoder 155 encodes information on a prediction type indicating whether the current block is encoded by intra prediction or inter prediction, and intra prediction information (ie, intra prediction) according to the prediction type. Mode information) or inter prediction information (information about reference pictures and motion vectors) is encoded.
  • the inverse quantization unit 160 inverse quantizes the quantized transform coefficients output from the quantization unit 145 to generate transform coefficients.
  • the inverse transform unit 165 restores the residual block by transforming the transform coefficients output from the inverse quantization unit 160 from the frequency domain to the spatial domain.
  • the addition unit 170 restores the current block by adding the reconstructed residual block to the prediction block generated by the prediction unit 120 . Pixels in the reconstructed current block are used as reference pixels when intra-predicting the next block.
  • the filter unit 180 filters the reconstructed pixels to reduce blocking artifacts, ringing artifacts, blurring artifacts, etc. generated due to block-based prediction and transformation/quantization. carry out
  • the filter unit 180 may include a deblocking filter 182 and a sample adaptive offset (SAO) filter 184 .
  • the deblocking filter 180 filters the boundary between the reconstructed blocks in order to remove a blocking artifact caused by block-by-block encoding/decoding, and the SAO filter 184 adds additional information to the deblocking-filtered image. perform filtering.
  • the SAO filter 184 is a filter used to compensate for a difference between a reconstructed pixel and an original pixel caused by lossy coding.
  • the restored block filtered through the deblocking filter 182 and the SAO filter 184 is stored in the memory 190 .
  • the reconstructed picture may be used as a reference picture for inter prediction of blocks in a picture to be encoded later.
  • FIG. 4 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure.
  • an image decoding apparatus and sub-configurations of the apparatus will be described with reference to FIG. 4 .
  • the image decoding apparatus includes an entropy decoding unit 410 , a reordering unit 415 , an inverse quantization unit 420 , an inverse transform unit 430 , a prediction unit 440 , an adder 450 , a filter unit 460 , and a memory 470 . ) may be included.
  • each component of the image decoding apparatus may be implemented as hardware or software, or a combination of hardware and software.
  • the function of each component may be implemented in software and the microprocessor may be implemented to execute the function of the software corresponding to each component.
  • the entropy decoding unit 410 decodes the bitstream generated by the image encoding apparatus and extracts information related to block division to determine a current block to be decoded, and prediction information and residual signal required to reconstruct the current block. extract information, etc.
  • the entropy decoder 410 determines the size of the CTU by extracting information on the CTU size from a sequence parameter set (SPS) or a picture parameter set (PPS), and divides the picture into CTUs of the determined size. Then, the CTU is determined as the uppermost layer of the tree structure, that is, the root node, and the CTU is divided using the tree structure by extracting division information on the CTU.
  • SPS sequence parameter set
  • PPS picture parameter set
  • a first flag (QT_split_flag) related to QT splitting is first extracted and each node is split into four nodes of a lower layer.
  • the second flag (MTT_split_flag) related to the split of MTT and the split direction (vertical / horizontal) and / or split type (binary / ternary) information are extracted and the corresponding leaf node is set to MTT split into structures.
  • a CU split flag (split_cu_flag) indicating whether a CU is split is first extracted, and when the block is split, a first flag (QT_split_flag) is extracted.
  • each node may have zero or more repeated MTT splits after zero or more repeated QT splits. For example, in the CTU, MTT division may occur immediately, or conversely, only multiple QT divisions may occur.
  • a first flag (QT_split_flag) related to QT splitting is extracted and each node is split into four nodes of a lower layer. And, for a node corresponding to a leaf node of QT, a split flag (split_flag) indicating whether or not to be further split into BT and split direction information are extracted.
  • the entropy decoding unit 410 determines a current block to be decoded through division of the tree structure, information on a prediction type indicating whether the current block is intra-predicted or inter-predicted is extracted.
  • the prediction type information indicates intra prediction
  • the entropy decoder 410 extracts a syntax element for intra prediction information (intra prediction mode) of the current block.
  • the prediction type information indicates inter prediction
  • the entropy decoding unit 410 extracts a syntax element for the inter prediction information, that is, information indicating a motion vector and a reference picture referenced by the motion vector.
  • the entropy decoding unit 410 provides information on the coding mode of the residual block (eg, information on whether the residual block is coded or whether only subblocks of the residual block are coded, information on whether the residual block is selected to be divided into subblocks). Information indicating the partition type, information identifying the coded residual subblock, quantization parameters, etc.) is extracted from the bitstream. Also, the entropy decoding unit 410 extracts information on the quantized transform coefficients of the current block as information on the residual signal.
  • the reordering unit 415 re-orders the sequence of one-dimensional quantized transform coefficients entropy-decoded by the entropy decoder 410 in a reverse order of the coefficient scanning order performed by the image encoding apparatus into a two-dimensional coefficient array (that is, block) can be changed.
  • the inverse quantization unit 420 inversely quantizes the quantized transform coefficients, and the inverse transform unit 430 inversely transforms the inverse quantized transform coefficients from the frequency domain to the spatial domain based on information about the coding mode of the residual block, and the residual By reconstructing the signals, a reconstructed residual block for the current block is generated.
  • the inverse transform unit 430 determines the size of the current block with respect to the inverse quantized transform coefficients (thus, to be reconstructed). Inverse transform is performed using the size of the residual block) as a transform unit to generate a reconstructed residual block for the current block.
  • the inverse transform unit 430 performs the inverse quantized transform coefficients on the transformed sub Using the size of the block as a transform unit, performing inverse transform to reconstruct residual signals for the transformed subblock, and filling the residual signals for the untransformed subblock with “0” values, thereby reconstructing the reconstructed for the current block. Create a residual block.
  • the prediction unit 440 may include an intra prediction unit 442 and an inter prediction unit 444 .
  • the intra prediction unit 442 is activated when the prediction type of the current block is intra prediction
  • the inter prediction unit 444 is activated when the prediction type of the current block is inter prediction.
  • the intra prediction unit 442 determines the intra prediction mode of the current block among a plurality of intra prediction modes from the syntax element for the intra prediction mode extracted from the entropy decoding unit 410, and refers to the vicinity of the current block according to the intra prediction mode. Predict the current block using pixels.
  • the inter prediction unit 444 determines a motion vector of the current block and a reference picture referenced by the motion vector by using the syntax element for the intra prediction mode extracted from the entropy decoding unit 410, and divides the motion vector and the reference picture. is used to predict the current block.
  • the adder 450 reconstructs the current block by adding the residual block output from the inverse transform unit 430 and the prediction block output from the inter prediction unit 444 or the intra prediction unit 442 . Pixels in the reconstructed current block are used as reference pixels when intra-predicting a block to be decoded later.
  • the filter unit 460 may include a deblocking filter 462 and an SAO filter 464 .
  • the deblocking filter 462 deblocks and filters the boundary between reconstructed blocks in order to remove a blocking artifact caused by block-by-block decoding.
  • the SAO filter 464 performs additional filtering on the reconstructed block after deblocking filtering to compensate for a difference between the reconstructed pixel and the original pixel caused by lossy coding.
  • the restored block filtered through the deblocking filter 462 and the SAO filter 464 is stored in the memory 470 . When all blocks in one picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of blocks in a picture to be encoded later.
  • the encoding apparatus and the decoding apparatus may divide the current block into square-shaped blocks as well as triangular-shaped blocks to improve prediction performance. To this end, the encoding apparatus and the decoding apparatus may also support a triangle-shaped block partitioning mode (TPM).
  • TPM triangle-shaped block partitioning mode
  • the encoding apparatus divides the current block into two triangular blocks as shown in FIG. 5 and performs inter prediction on each of the triangular blocks based on a merge mode.
  • Merge index for each of the syntax element and triangle blocks indicating any one of the two division types (diagonal division in the downward right direction (Fig. 5 (a)) and the division in the upward diagonal direction (Fig.
  • the decoding apparatus divides the current block into triangle blocks using a syntax element indicating a partition type, and inter prediction for each of the triangle blocks based on the signaled merge index
  • the encoding apparatus and the decoding apparatus may additionally perform blending on the partition boundary in order to remove discontinuity in sample values occurring at the partition boundary.
  • the present invention proposes a method of dividing a current block into non-rectangular blocks and a method of applying not only inter prediction but also intra prediction to non-rectangular blocks.
  • the method of the present invention may be referred to as a GIIP mode (geometrical partitioning for intra and inter prediction) or a first mode.
  • FIG. 6 A flowchart of an example of the method proposed by the present invention is shown in FIG. 6 .
  • the encoding apparatus may divide the current block into non-rectangular blocks, encode a division mode syntax element indicating a structure in which the non-rectangular blocks are divided, and signal the encoding apparatus to the decoding apparatus.
  • the entropy decoding unit 410 may decode a segmentation mode syntax element from the bitstream, and may divide the current block into non-rectangular blocks based on the decoded segmentation mode syntax element ( S604 ).
  • a partition edge is a vertical distance (d i ) from the center position (center) of the current block (CU) to the partition boundary and the partition boundary is formed with the horizontal direction (horizontal direction) of the current block. It can be determined by the angle (a i ).
  • a i can have a value between 0 and 360 degrees, and the maximum value of d i is d max is a i , as in Equation 1 by the width (width, w) and height (height, h) of the current block can be decided.
  • Equation 1 denotes the angle (a i ) from the horizontal axis to the block boundary, and the subtraction of b is to prevent the corner of the current block from getting too close to the block boundary.
  • the partition mode syntax element may directly indicate a i and d i or may be an index indicating a partition boundary of the current block among preset a i and preset d i . If split mode syntax element is implemented as an index, the encoding device and the decoding device may advance by using a look-up table to set a i and a previously set d i to determine the division mode of the index syntax element that indicates a i and d i .
  • the process of determining whether the GIIP mode is applied may be performed first. Whether the GIIP mode is applied or not may be determined according to a syntax element, a prediction type of neighboring blocks, an angle of a partition boundary, and the like.
  • the encoding apparatus may set whether the GIIP mode is performed on the current block as a value of the applied syntax element, encode the applied syntax element, and signal it to the decoding apparatus.
  • the entropy decoding unit 410 may decode the applied syntax element from the bitstream and determine whether the GIIP mode is applied according to the value of the applied syntax element (S602).
  • the encoding apparatus and the decoding apparatus may determine whether to apply the GIIP mode based on the number of blocks predicted according to the intra prediction type among neighboring blocks located in the vicinity of the current block.
  • whether the GIIP mode is applied in consideration of the prediction types of neighboring blocks A, B, C and D, or whether the GIIP mode is applied in consideration of the prediction types of A and B may be determined. .
  • the number of intra-predicted neighboring blocks is 3 or more, it is determined that the GIIP mode is applied, and if the number of intra-predicted neighboring blocks is 2, the value of the applied syntax element Accordingly, it is determined whether the GIIP mode is applied, and if the number of intra-predicted neighboring blocks is 1 or less, it may be determined that the GIIP mode is not applied. According to an embodiment, when the number of intra-predicted neighboring blocks is 2 or more or 3, it may be determined that the GIIP mode is applied. According to an embodiment, when the number of neighboring blocks is less than 2 or 3, it may be determined that the GIIP mode is not applied.
  • the GIIP mode is applied when the number of intra-predicted neighboring blocks is 2, and if the number of intra-predicted neighboring blocks is 1, GIIP according to the value of the applied syntax element It is determined whether the mode is applied, and when the number of intra-predicted neighboring blocks is 0, it may be determined that the GIIP mode is not applied. According to an embodiment, when the number of intra-predicted neighboring blocks is 1 or more or 2, it may be determined that the GIIP mode is applied. According to an embodiment, when the number of intra-predicted neighboring blocks is less than 1 or 2, it may be determined that the GIIP mode is not applied.
  • Step S606 may be a process of determining prediction types of non-rectangular blocks.
  • the prediction type of non-rectangular blocks may be 1) explicitly determined by a type syntax element indicating the prediction type of non-rectangular blocks, or 2) implicitly determined by one or more of an angle and a vertical distance of a partition boundary ( S608).
  • the encoding apparatus may set the prediction type of the non-rectangular blocks as the value of the type syntax element, encode the type syntax element, and signal it to the decoding apparatus.
  • the decoding apparatus may decode the type syntax element from the bitstream, and the prediction unit 440 may determine the prediction type of the non-rectangular blocks according to the value of the type syntax element.
  • the prediction units 120 and 440 are non-rectangular according to one or more of the division boundary angle (the angle the division boundary forms with the horizontal direction of the current block) and the vertical distance (vertical distance between the division boundary and the center). It is possible to determine the prediction type of blocks.
  • the upper non-rectangular block (upper block) is used for intra prediction compared to the lower non-rectangular block (lower block). are located closer to each other (samples represented by the pattern). Accordingly, in this case, an upper block may be determined as an intra block, and a lower block may be determined as an inter block.
  • the upper block may be determined as an inter block and the lower block may be determined as an intra block.
  • block A may be determined as an intra block and block B may be determined as an inter block.
  • block A may be determined as an inter block and block B may be determined as an intra block.
  • block B when the angle of the division boundary is 90 to 180 degrees and the division boundary is located above the center, the non-rectangular block (B block) located at the top is the non-rectangular block (block A) located at the bottom ) is located closer to the reference samples compared to the reference samples. Accordingly, in this case, block B may be determined as an intra block, and block A may be determined as an inter block.
  • block B may be determined as an inter block and block A may be determined as an intra block.
  • a process of deriving or generating prediction samples for each of the inter block and the intra block may be performed.
  • the process of deriving the prediction samples of the inter block may be performed based on motion information.
  • the encoding apparatus may encode motion information (eg, merge index) used for inter prediction of the inter block and signal it to the decoding apparatus.
  • the decoding apparatus may decode motion information from the bitstream, and the inter prediction unit 444 may derive prediction samples of the first region by using the motion information.
  • the first area is an area including the inter block and may be included in the current block. Accordingly, the first region may be the same as the inter block, a region further including samples positioned around the partition boundary in the inter block, or the same as the current block. When the first region is the same as the current block, inter prediction samples for the entire current block may be derived.
  • the process of deriving the prediction samples of the intra block may be performed based on the intra prediction mode.
  • the encoding apparatus may encode information on a prediction mode (intra prediction mode) used for intra prediction of an intra block and signal it to the decoding apparatus.
  • the information on the intra prediction mode may be an index (mode index) indicating any one of preset intra prediction mode candidates.
  • the decoding apparatus may decode information on the intra prediction mode from the bitstream, and the intra prediction unit 442 may derive prediction samples of the second region using the intra prediction mode indicated by the intra prediction mode.
  • the second area is an area including the intra block and may be included in the current block. Accordingly, the second region may be the same as the intra block, a region further including samples positioned around the division boundary in the intra block, or the same as the current block. When the second region is the same as the current block, intra prediction samples for the entire current block may be derived.
  • the intra prediction mode candidates may include one or more directional modes that are the same as or similar to the angle of the partition boundary (corresponding to the angle of the partition boundary).
  • the intra prediction mode candidates may further include a horizontal (HOR) directional mode and a vertical (VER) directional mode in the directional modes corresponding to the partition boundary, and a planar corresponding to the non-directional mode. It may further include a mode.
  • the intra prediction mode candidates may include the directional mode A and the directional mode B.
  • the intra prediction mode candidates may further include one or more of a planar mode, an HOR mode, and a VER mode in the directional mode A and the directional mode B.
  • the intra prediction mode candidates may include the directional mode A.
  • the intra prediction mode candidates may further include one or more of a planar mode and an HOR mode in the directional mode A.
  • the intra prediction mode candidates may include the directional mode A.
  • the intra prediction mode candidates may further include one or more of a planar mode and a VER mode in the directional mode A.
  • intra prediction mode candidates include 93 directional modes (except for planar mode and DC mode among wide-angle intra prediction modes) represented in FIG. 3B irrespective of the angle of the partition boundary, or represented in FIG. 3A It may include 67 intra prediction modes.
  • the intra prediction mode candidates may be composed of 35 intra prediction modes including the HOR directional mode, the VER directional mode, and the planar mode.
  • the intra prediction mode used for prediction of the intra block may not be explicitly indicated by information on the intra prediction mode, but may be previously agreed upon between the encoding apparatus and the decoding apparatus.
  • an intra prediction mode used for prediction of an intra block may be previously promised to any one of intra prediction mode candidates or a planner mode.
  • Prediction samples of the intra block may be derived with reference to only samples located around the current block (type 1), or may be derived with reference to both samples located near the current block and prediction samples of the inter block (type 2). type).
  • Whether to perform the second type may be explicitly indicated through a 1-bit flag or may be promised in advance to always be performed when the GIIP mode is applied (implicit).
  • the encoding apparatus determines whether the second type is performed, sets the result as the value of the 1-bit flag, and then encodes the 1-bit flag. Signaling may be made to the decoding device.
  • the entropy decoding unit 410 may decode a 1-bit flag from the bitstream.
  • the inter prediction units 124 and 444 derive prediction samples of the inter block by performing a motion compensation process based on the motion information (S1102), and the intra prediction units 122 and 442 currently Prediction samples of the intra block may be derived by referring to both the samples located around the block and the prediction samples of the inter block ( S1104 ).
  • Intra prediction mode candidates for the second type may include directional modes covering 360 degrees, a planar mode, and a DC mode as represented in FIG. 12 .
  • a process of applying a smoothing filter to the prediction samples of the inter block may be performed between steps S1102 and S1104. That is, the intra prediction units 122 and 442 may derive prediction samples of the intra block with reference to the prediction samples of the inter block to which the smoothing filter is applied. Whether to apply the smoothing filter may be explicitly indicated through a 1-bit flag signaled from the encoding apparatus, or may be previously agreed between the encoding apparatus and the decoding apparatus.
  • the intra prediction units 122 and 442 may derive prediction samples of the intra block with reference to all or some of the prediction samples of the inter block. For example, the intra prediction units 122 and 442 may derive prediction samples of the intra block by referring to prediction samples adjacent to a partition boundary among prediction samples of the inter block ( S1106 ).
  • FIG. 13 An example of deriving prediction samples of an intra block according to a planar mode with reference to prediction samples of an inter block adjacent to a partition boundary is shown in FIG. 13 .
  • a prediction sample of the sample p in the intra block may be derived with reference to ,2.
  • r 0,2 and r2 ,0 and prediction samples of the inter block among neighboring samples (samples expressed as a pattern) (p 1,6, p 2,5, p 3,4, p 4,3, p 5,2, p and 6,1) from 2,5 p and p5, with reference to a sample intra blocks (p ) can be derived.
  • the blending process may be a process of performing a weighted sum operation on each of the inter prediction value and the intra prediction value of the target prediction sample based on the distance between the prediction sample (target prediction sample) in the current block and the partition boundary.
  • Whether to perform the blending process may be explicitly indicated through a 1-bit flag signaled from the encoding apparatus to the decoding apparatus, or may be previously agreed between the encoding apparatus and the decoding apparatus. Also, whether to perform the blending process may be determined according to an intra prediction mode of an intra block, a difference in sample values between samples around a block boundary, and the like. For example, the blending process may be performed when a difference in sample values between samples around a block boundary is greater than or less than a preset specific value.
  • the predictors 120 and 440 may derive an inter weight and an intra weight ( S1402 ).
  • the inter weight and the intra weight may be derived in consideration of a distance between a target prediction sample and a partition boundary, a prediction type of neighboring blocks, an intra prediction mode, and the like.
  • the inter weight corresponds to a weight to be applied to the inter prediction value of the target prediction sample
  • the intra weight corresponds to a weight to be applied to the intra prediction value of the target prediction sample.
  • Equation (2) An example of deriving the inter weight and the intra weight in consideration of the distance between the target prediction sample and the partition boundary may be performed through Equation (2).
  • Equation 2 (x, y) represents the position of the target prediction sample, sampleWeight intra represents an intra weight, and sampleWeight inter represents an inter weight.
  • dist is a value obtained by scaling the vertical distance between the target prediction sample and the division boundary, and may be obtained through a lookup table according to the distance between the location of the target prediction sample and the division boundary and the angle of the division boundary. When the dist value is 0 to 14, the value of 3-bits BlendFilter[dist] can be derived from Table 1 below.
  • An example of deriving an inter weight and an intra weight by further considering the prediction types of neighboring blocks may be performed through Equations 2, 3 and 4 .
  • Equation 3 may be applied when the number of neighboring blocks (intra neighboring blocks) predicted by the intra prediction type is smaller than the number of neighboring blocks (inter neighboring blocks) predicted by the inter prediction type. That is, when the number of inter neighboring blocks is greater than the number of intra neighboring blocks, an inter weight is derived by adding an offset (a) to the Y-BlendFilter[dist] value, and an intra weight is obtained by subtracting a from the BlendFilter[dist] value. can be induced.
  • a may be preset according to a difference between the number of intra neighboring blocks and the number of inter neighboring blocks.
  • Equation 4 may be applied when the number of intra neighboring blocks is greater than the number of inter neighboring blocks. That is, when the number of intra neighboring blocks is greater than the number of inter neighboring blocks, an intra weight is derived by adding an offset (a) to the BlendFilter[dist] value, and an inter weight is obtained by subtracting a from the Y-BlendFilter[dist] value. can be induced.
  • FIG. 15 An example of deriving an inter weight and an intra weight in consideration of the prediction types of two neighboring blocks is shown in FIG. 15 .
  • a and B indicate two neighboring blocks, (x, y) indicates a position of a target prediction sample, and di indicates a distance between the target prediction sample and a partition boundary (a straight line represented by a dotted line).
  • the inter weight and the intra weight may be derived through Equation (2).
  • an inter weight and an intra weight may be derived through Equation (3).
  • an inter weight and an intra weight may be derived through Equation (4).
  • the prediction units 120 and 440 apply the intra weight to the intra prediction value of the target prediction sample and apply the inter weight to the inter prediction value of the target prediction sample, so that the blending of the target prediction sample is performed.
  • Applied prediction values can be derived.
  • the process of deriving the weighted prediction value may be performed through Equation (5).
  • P blended represents a weighted prediction value
  • P intra represents an intra prediction value of a target prediction sample
  • P inter represents an inter prediction value of a target prediction sample
  • a deblocking filter may be applied to the block boundary.
  • deblocking filtering may be explicitly indicated through a 1-bit flag signaled from the encoding apparatus to the decoding apparatus, or may be predetermined between the encoding apparatus and the decoding apparatus as being always performed.
  • the deblocking filtering is performed when the difference between sample values around the block boundary is greater than or smaller than a preset specific value (threshold value), or the quantization parameter value for the sample values around the block boundary is greater than the preset parameter value, or It can be done in small cases.
  • whether or not to perform deblocking filtering may be determined according to an intra prediction mode, and a deblocking filter used for deblocking filtering may be determined according to the intra prediction mode.
  • the conventional filter unit may include a deblocking filter, an SAO, and an adaptive loop filter (ALF).
  • the reconstructed image is sequentially input to the deblocking filter, SAO and ALF) and filtered, and finally the filtered image is output.
  • the SAO classifies samples in the reconstructed image according to characteristics according to a predetermined criterion, and adaptively applies an offset according to the classification. That is, SAO applies an offset adaptively to a sample.
  • SAO applies an offset adaptively to a sample.
  • mode information information indicating any one type (mode) of edge offset, band offset, and SAO not performed
  • offset information in units of CTU are signaled from the encoding device to the decoding device.
  • ALF applies filtering adaptive to sample characteristics in block units to minimize the error between the original image and the reconstructed image.
  • filter set information in units of CTU is signaled from an encoding device to a decoding device at an adaptation parameter set (APS) level.
  • APS adaptation parameter set
  • a mode (indicates any one class to which the corresponding block belongs among a total of N classes (modes) according to the direction and activity of samples in the block) is induced on a block-by-block basis within the CTU.
  • a filter corresponding to the mode is applied to the reconstructed image.
  • SAO and ALF apply adaptive offsets and filters to samples on a sample-by-sample basis.
  • SAO and ALF perform both 'a process of deriving a sample characteristic' and a 'a process of applying an offset and a filter suitable for the characteristic'.
  • FIG. 17 is an exemplary block diagram of the filter units 180 and 460 proposed in the present invention
  • FIG. 18 is a flowchart for explaining an example of an adaptive filtering method.
  • the filter units 180 and 460 may include deblocking filters 182 and 462 and an adaptive filter unit 1700 .
  • the adaptive filter unit 1700 may include an extraction unit 1710 , a determination unit 1720 , a determination unit 1730 , a filter unit 1740 , and a clipping unit 1750 .
  • the extractor 1710 may extract one or more characteristics from one or more reconstructed samples in a reconstructed image (reconstructed image) to which deblocking filtering is applied (S1802).
  • Characteristics may be extracted by being classified for each filtering unit among the reconstructed samples in the reconstructed image.
  • the filtering unit may be any one of a sample, a block, and a CTU.
  • the characteristic may be a representative value of the reconstructed samples, such as an average value, a mode value, a median value, a minimum value, a maximum value, etc. of the reconstructed samples. Also, the characteristic may be a value calculated using representative values of the reconstructed samples.
  • the feature may be extracted through a three-tap one-dimensional filter or a two-dimensional filter.
  • the one-dimensional filter may be applied in several directions, such as a vertical direction, a horizontal direction, and a diagonal direction, and a value to which the one-dimensional filter is applied may be extracted as a characteristic according to each direction.
  • the absolute value of the filtered value may be extracted as a feature.
  • the two-dimensional filter may be a first-order differential filter or a second-order differential filter.
  • the two-dimensional filter has a horizontal direction ((b) of FIG. 19A, (b) of FIG. 19B), a vertical direction ((a) of FIG. 19A, (a) of FIG. 19B), and a diagonal direction ((c) of FIG. 19A, and It may be a first-order differential filter or a second-order differential filter for several directions, such as (d), (c) and (d) of FIG. 19B .
  • the feature may be extracted using information necessary for feature extraction.
  • the information for feature extraction may be filter-related information.
  • the filter-related information may include the shape, size, and coefficient of the filter, mode information of the filter, or coefficients of the residual filter.
  • the extractor 1710 of the decoding apparatus may determine a filter by using information necessary for feature extraction, and extract a feature from the reconstructed samples using the determined filter.
  • the information necessary for feature extraction may be mode information indicating any one of several modes that the reconstructed samples may have according to the directionality.
  • the extraction unit 1710 of the decoding apparatus determines the mode (direction) of the reconstructed samples by using information necessary for feature extraction, and uses the determined mode to extract characteristics (the current reconstructed sample and the surrounding reconstructed sample) from the reconstructed samples. ) can be extracted.
  • FIGS. 20A and 20B Examples of the current reconstructed sample and surrounding reconstructed samples that can be extracted as features are shown in FIGS. 20A and 20B .
  • the characteristic is a part of the current restored sample (c) and the surrounding restored samples (a, b) arranged in the horizontal direction as shown in (a) of FIG. 20A, or the current restored sample arranged in the vertical direction as shown in (b) of FIG. 20B. It may be some of the sample (c) and the surrounding reconstructed samples (a, b).
  • the characteristic is a part of the current reconstructed sample (c) and the surrounding reconstructed samples (a, b) arranged in a diagonal direction of 135 degrees as shown in (a) of FIG. 20b, or a diagonal of 45 degrees as shown in (b) of FIG. 20b It may be a part of the current reconstructed sample (c) and the surrounding reconstructed samples (a, b) arranged in the direction.
  • Information necessary for feature extraction is encoded in the encoding device and signaled to the decoding device through one or more of an SPS level, a PPS level, a slice header (SH) level, a picture header (PH) level, and a CTU level.
  • the extracted characteristic may be input to the determination unit 1730 .
  • a quantized value obtained by quantizing the extracted characteristic may be input to the determination unit 1730 , or a mapping value obtained by mapping the extracted characteristic using a lookup table may be input to the determination unit 1730 .
  • Information on the lookup table may be signaled from the encoding apparatus to the decoding apparatus, or it may be previously agreed that the encoding apparatus and the decoding apparatus use the same lookup table.
  • the determination unit 1720 may determine a class to which the reconstructed samples belong based on the extracted characteristic value (S1804). This process may be a process of mapping the extracted characteristic to a class to which the restored samples belong among preset classes.
  • the class determination may be performed using a calculation formula for class determination.
  • a calculation expression for class determination may be signaled from the encoding apparatus to the decoding apparatus, or parameters of the calculation expression for class determination may be signaled from the encoding apparatus to the decoding apparatus.
  • Equation (6) An example of a calculation formula for class determination is shown in Equation (6).
  • C represents the determined class
  • a and B represent two characteristics input to the determination unit 1720 .
  • Any one of A and B may be the magnitude of the change centered on the current reconstructed sample or the direction of the change centered on the current reconstructed sample.
  • the determination of the class may be performed using a lookup table for determining the class.
  • the encoding apparatus may encode a lookup table for class determination and signal it to the decoding apparatus, or may be preset so that the encoding apparatus and the decoding apparatus use the same lookup table.
  • the class is determined according to the size (sample value) of the current reconstructed sample and the size (sample value) of the reconstructed surrounding samples.
  • the values of the surrounding reconstructed samples a and c are larger than the values of the current reconstructed sample b, and the values of the surrounding reconstructed samples a and c are larger. If these are the same, it may be determined as the first class. As shown in (b) and (c) of FIG. 21 , any one of the neighboring restored samples (a, c) is the same as the value of the current restored sample (b) and the other value is the value of the current restored sample (b). If it is greater than the value, it may be determined as the second class. As shown in (d) and (e) of FIG.
  • any one of the neighboring restored samples (a, c) is the same as the value of the current restored sample (b) and the other value is the value of the current restored sample (b). If it is smaller than the value, it may be determined as the third class. As shown in (f) of FIG. 21, when the value of the current restored sample (b) is greater than the values of the neighboring restored samples (a, c) and the values of the neighboring restored samples (a, c) are the same, the fourth class can be considered. In addition, if it does not correspond to (a) to (f) of FIG. 21 , it may be determined as the fifth class.
  • the determined class may be input to the determiner 1730 .
  • the determiner 1730 may determine a sample adaptive loop filter (SAO filter) corresponding to the determined class and an adaptive loop filter (ALF filter) corresponding to the class ( S1806 ).
  • SAO filter sample adaptive loop filter
  • ALF filter adaptive loop filter
  • the encoding apparatus may generate or determine an optimal filter coefficient (optimal ALF filter) and offset (optimal SAO filter) for each filtering unit according to the determined class.
  • optimal ALF filter optimal ALF filter
  • offset optimal SAO filter
  • 'Apply the least squares method to the values of the original samples and the values of the reconstructed samples to determine the optimal ALF filter, and the average of the errors between the values of the reconstructed samples to which the optimum ALF is applied and the values of the original samples is determined as the offset filter method' may be used as an example of a method of determining an optimal ALF filter and an optimal SAO filter.
  • Information on an optimal ALF filter (information on filter coefficients) and information on an optimal SAO filter (information on offset) may be encoded and signaled from an encoding apparatus to a decoding apparatus.
  • Information on filter coefficients and information on offset may be signaled through an APS level or a level higher than the APS level (eg, a slice header level).
  • the decoding apparatus may determine the SAO filter and the ALF filter corresponding to the class by using the signaled information on the filter coefficients and the information on the offset. For example, the decoding apparatus includes 'information on the filter coefficient signaled at the upper level and information on the offset' and 'information on the filter coefficient information and the offset signaled at the APS level' or 'information on the offset signaled at the APS level. Filter coefficients and offsets' may be used to determine or update filter coefficients and offsets to be used in the current filtering unit. The determined filter coefficient may be a part of all coefficients of the filter. Also, some filter coefficients may be shared to the next filtering unit. Some shared filter coefficients may be determined by class or mode information signaled from an encoding device.
  • the determined information on the SAO filter and the determined information on the ALF filter may be input to the filter unit 1740 .
  • the filter unit 1740 may filter the reconstructed samples using the SAO filter and the ALF filter determined by the determiner 1730 ( S1808 ).
  • the process of filtering the reconstructed samples in the filter unit 1740 may be divided into a process of applying the SAO filter to the reconstructed samples (SAO filtering) and a process of applying the ALF filter to the reconstructed samples (ALF filtering).
  • SAO filtering and ALF filtering may be performed simultaneously, or SAO filtering may be performed first and then ALF filtering may be performed later.
  • W represents the coefficient vector of the ALF filter
  • O represents the SAO filter coefficient (offset)
  • X represents the reconstructed sample vector corresponding to the filter coefficient position
  • x represents the reconstruction to which SAO filtering and ALF filtering are applied. sample is shown.
  • W and X are vectors having the same length, and after the dot product operation on W and X is performed as shown in Equation 7, O may be applied to derive x.
  • Equation 8 after O is first applied to X, a dot product operation between (X+O) and W is performed to derive x.
  • the clipping unit 1750 may clip (limit) values of the reconstructed samples based on values of the filtered reconstructed samples (values of the current reconstructed sample and values of neighboring reconstructed samples) and threshold values (threshold values).
  • the threshold value may be determined based on a bit depth of an image.
  • the encoding apparatus may encode information on the determined threshold value and signal it to the decoding apparatus, and the decoding apparatus may determine a threshold value to be applied to clipping by using the information on the decoded threshold value.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

현재블록의 변환계수들을 역변환하는 방법 및 장치를 개시한다. 본 발명의 일 실시예에 의하면, 현재블록을 제1모드에 따라 예측하는 방법으로서, 분할 모드 신택스 요소에 기초하여, 상기 현재블록을 비직사각형(non-rectangular) 블록들로 분할하는 단계; 상기 비직사각형 블록들 중에서, 인트라 예측되는 인트라 블록 및 인터 예측되는 인터 블록을 결정하는 단계; 및 움직임 정보에 기초하여 상기 인터 블록을 포함하는 제1영역의 예측 샘플들을 유도하고, 인트라 예측 모드에 기초하여 상기 인트라 블록을 포함하는 제2영역의 예측 샘플들을 유도하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.

Description

임의의 모양으로 분할되는 블록을 예측하는 방법 및 복호화 장치
본 발명은 동영상의 부호화 및 복호화에 관한 것으로서, 더욱 구체적으로는 임의의 모양으로 분할되는 블록에 대해 인터 예측과 인트라 예측을 수행함으로써 부호화 및 복호화의 효율성을 더욱 향상시키는 방법 및 장치에 관한 것이다.
동영상 데이터는 음성 데이터나 정지 영상 데이터 등에 비하여 많은 데이터량을 가지기 때문에, 압축을 위한 처리 없이 그 자체를 저장하거나 전송하기 위해서는 메모리를 포함하여 많은 하드웨어 자원을 필요로 한다.
따라서, 통상적으로 동영상 데이터를 저장하거나 전송할 때에는 부호화기를 사용하여 동영상 데이터를 압축하여 저장하거나 전송하며, 복호화기에서는 압축된 동영상 데이터를 수신하여 압축을 해제하고 재생한다. 이러한 동영상 압축 기술로는 H.264/AVC를 비롯하여, H.264/AVC에 비해 약 40% 정도의 부호화 효율을 향상시킨 HEVC(High Efficiency Video Coding)가 존재한다.
그러나, 영상의 크기 및 해상도, 프레임율이 점차 증가하고 있고, 이에 따라 부호화해야 하는 데이터량도 증가하고 있으므로 기존의 압축 기술보다 더 부호화 효율이 좋고 화질 개선 효과도 높은 새로운 압축 기술이 요구된다.
이러한 요구에 부응하기 위해 본 발명은 개선된 부호화 및 복호화 기술을 제공하는 것을 목적으로 하며, 특히, 본 발명의 일 측면은 하나의 블록으로부터 분할된 비직사각형 모양의 블록들을 구분하여 인터 예측과 인트라 예측을 수행함으로써 부호화 및 복호화의 효율을 향상시키는 기술과 관련된다.
또한, 본 발명의 다른 일 측면은 적응적 필터링 과정을 간소화함으로써 부호화 및 복호화의 효율을 향상시키는 기술과 관련된다.
본 발명의 일 측면은, 현재블록을 제1모드에 따라 예측하는 방법으로서, 분할 모드 신택스 요소에 기초하여, 상기 현재블록을 비직사각형(non-rectangular) 블록들로 분할하는 단계; 상기 비직사각형 블록들 중에서, 인트라 예측되는 인트라 블록 및 인터 예측되는 인터 블록을 결정하는 단계; 및 움직임 정보에 기초하여 상기 인터 블록을 포함하는 제1영역의 예측 샘플들을 유도하고, 인트라 예측 모드에 기초하여 상기 인트라 블록을 포함하는 제2영역의 예측 샘플들을 유도하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
본 발명의 다른 일 측면은, 현재블록을 제1모드에 따라 예측하는 복호화 장치로서, 분할 모드 신택스 요소에 기초하여, 상기 현재블록을 비직사각형(non-rectangular) 블록들로 분할하는 엔트로피 복호화부; 및 상기 비직사각형 블록들 중에서, 인트라 예측되는 인트라 블록 및 인터 예측되는 인터 블록을 결정하는 예측부를 포함하고, 상기 예측부는, 움직임 정보에 기초하여 상기 인터 블록을 포함하는 제1영역의 예측 샘플들을 유도하고, 인트라 예측 모드에 기초하여 상기 인트라 블록을 포함하는 제2영역의 예측 샘플들을 유도하는 것을 특징으로 하는 복호화 장치를 제공한다.
본 발명은 비직사각형 블록에 대해 인터 예측뿐만 아니라 인트라 예측을 수행할 수 있으므로, 인터 예측만을 수행하는 종래 방법에 비해 적용 가능성을 더욱 확장시킬 수 있다.
또한, 본 발명은 어느 비직사각형 블록의 인터 예측 값을 참조하여 다른 비직사각형 블록의 인트라 예측을 수행할 수 있으므로, 인트라 예측의 성능을 향상시킬 수 있다.
나아가, 본 발명은 주변 블록들의 예측 타입에 따라 인터 예측 값과 인트라 예측 값에 가중치를 적용하므로, 블록 경계에서 발생하는 불연속성을 효과적으로 제거할 수 있다.
나아가, 본 발명은 인터 블록과 인트라 블록의 결정, 블랜딩 과정의 수행 여부, 디블록킹 필터링의 적용 여부 등을 1-bit의 플래그를 통해 결정할 수 있으므로, 비트 효율성을 향상시킬 수 있다.
나아가, 본 발명은 샘플 적응적 오프셋의 특성 추출 과정과 적응적 루프 필터링의 특성 추출 과정을 통합하여 적응적 필터링을 간소화시킬 수 있으므로, 부호화 및 복호화의 효율을 향상시킬 수 있다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.
도 2는 QTBTTT 구조를 이용하여 블록을 분할하는 방법을 설명하기 위한 도면이다.
도 3a는 복수의 인트라 예측 모드들을 나타낸 도면이다.
도 3b는 광각 인트라 예측모드들을 포함한 복수의 인트라 예측 모드들을 나타낸 도면이다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
도 5는 삼각형 분할 모드를 설명하기 위한 예시도이다.
도 6은 현재블록을 본 발명에서 제안하는 제1모드에 따라 예측하는 방법의 일 예를 설명하기 위한 순서도이다.
도 7은 분할 경계를 설명하기 위한 예시도이다.
도 8은 제1모드의 적용 여부를 판단하기 위해 이용되는 주변 블록들의 예시도이다.
도 9는 인터 블록 및 인트라 블록을 결정하는 방법의 일 예를 설명하기 위한 예시도이다.
도 10은 인트라 예측 모드를 결정하는 방법의 일 예를 설명하기 위한 예시도이다.
도 11은 인터 블록의 예측 샘플들을 인트라 블록의 예측을 위한 참조샘플로 활용하는 방법의 일 예를 설명하기 위한 순서도이다.
도 12 및 도 13은 도 11의 방법에 대한 일 예를 설명하기 위한 예시도이다.
도 14는 분할 경계에서의 불연속성을 제거하는 방법의 일 예를 설명하기 위한 순서도이다.
도 15는 도 14의 방법에서 활용되는 가중치를 유도하는 방법의 일 예를 설명하기 위한 예시도이다.
도 16은 필터부의 예시적인 블록도이다.
도 17은 본 발명에서 제안하는 필터부의 예시적인 블록도이다.
도 18은 적응적 필터링 방법의 일 예를 설명하기 위한 순서도이다.
도 19a 및 도 19b는 1차 미분 필터와 2차 미분 필터를 설명하기 위한 예시도이다.
도 20a 및 도 20b는 복원샘플들을 방향에 따라 구분한 예시도이다.
도 21은 복원샘플들의 클래스를 결정하는 방법을 설명하기 위한 복원샘플들의 예시도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다. 이하에서는 도 1을 참조하여 영상 부호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 부호화 장치는 픽처 분할부(110), 예측부(120), 감산기(130), 변환부(140), 양자화부(145), 재정렬부(150), 엔트로피 부호화부(155), 역양자화부(160), 역변환부(165), 가산기(170), 필터부(180) 및 메모리(190)를 포함하여 구성될 수 있다.
영상 부호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
하나의 영상(비디오)은 복수의 픽처들로 구성된다. 각 픽처들은 복수의 영역으로 분할되고 각 영역마다 부호화가 수행된다. 예를 들어, 하나의 픽처는 하나 이상의 타일(Tile) 또는/및 슬라이스(Slice)로 분할된다. 여기서, 하나 이상의 타일은 타일 그룹(Tile Group)으로 정의될 수 있다. 각 타일 또는 슬라이스는 하나 이상의 CTU(Coding Tree Unit)로 분할된다. 그리고 각 CTU는 트리 구조에 의해 하나 이상의 CU(Coding Unit)들로 분할된다. 각 CU에 적용되는 정보들은 CU의 신택스로서 부호화되고, 하나의 CTU에 포함된 CU들에 공통적으로 적용되는 정보는 CTU의 신택스로서 부호화된다. 또한, 하나의 슬라이스 내의 모든 블록들에 공통적으로 적용되는 정보는 슬라이스 헤더의 신택스로서 부호화되며, 하나의 픽처를 구성하는 모든 블록들에 적용되는 정보는 픽처 파라미터 셋(PPS, Picture Parameter Set) 혹은 픽처 헤더에 부호화된다. 나아가, 복수의 픽처가 공통으로 참조하는 정보들은 시퀀스 파라미터 셋(SPS, Sequence Parameter Set)에 부호화된다. 그리고, 하나 이상의 SPS가 공통으로 참조하는 정보들은 비디오 파라미터 셋(VPS, Video Parameter Set)에 부호화된다. 또한, 하나의 타일 또는 타일 그룹에 공통으로 적용되는 정보는 타일 또는 타일 그룹 헤더의 신택스로서 부호화될 수도 있다.
픽처 분할부(110)는 CTU(Coding Tree Unit)의 크기를 결정한다. CTU의 크기에 대한 정보(CTU size)는 SPS 또는 PPS의 신택스로서 부호화되어 영상 복호화 장치로 전달된다.
픽처 분할부(110)는 영상을 구성하는 각 픽처(picture)를 미리 결정된 크기를 가지는 복수의 CTU(Coding Tree Unit)들로 분할한 이후에, 트리 구조(tree structure)를 이용하여 CTU를 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU(coding unit)가 된다.
트리 구조는 상위 노드(혹은 부모 노드)가 동일한 크기의 네 개의 하위 노드(혹은 자식 노드)들로 분할되는 쿼드트리(QuadTree, QT), 또는 상위 노드가 두 개의 하위 노드로 분할되는 바이너리트리(BinaryTree, BT), 또는 상위 노드가 1:2:1 비율을 가지는 세 개의 하위 노드로 분할되는 터너리트리(TernaryTree, TT), 또는 이러한 QT 구조, BT 구조 및 TT 구조 중 둘 이상을 혼용한 구조일 수 있다. 예컨대, QTBT(QuadTree plus BinaryTree) 구조가 사용될 수 있고, 또는 QTBTTT(QuadTree plus BinaryTree TernaryTree) 구조가 사용될 수 있다. 여기서, BTTT를 합쳐서 MTT(Multiple-Type Tree)라 지칭할 수 있다.
도 2는 QTBTTT 분할 트리 구조를 보인다. 도 2에서 보는 바와 같이, CTU는 먼저 QT 구조로 분할될 수 있다. 쿼드트리 분할은 분할 블록(splitting block)의 크기가 QT에서 허용되는 리프 노드의 최소 블록 크기(MinQTSize)에 도달할 때까지 반복될 수 있다. QT 구조의 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1플래그(QT_split_flag)는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
QT의 리프 노드가 BT에서 허용되는 루트 노드의 최대 블록 크기(MaxBTSize)보다 크지 않은 경우, BT 구조 또는 TT 구조 중 어느 하나 이상으로 더 분할될 수 있다. BT 구조 및/또는 TT 구조에서는 복수의 분할 방향이 존재할 수 있다. 예컨대, 해당 노드의 블록이 가로로 분할되는 방향과 세로로 분할되는 방향 두 가지가 존재할 수 있다. 도 2와 같이, MTT 분할이 시작되면, 노드들이 분할되었는지 여부를 지시하는 제2플래그(mtt_split_flag)와, 분할이 되었다면 추가적으로 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그 및/또는 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그가 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. 대안적으로, 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1플래그(QT_split_flag)를 부호화하기에 앞서, 그 노드가 분할되는지 여부를 지시하는 CU 분할 플래그(split_cu_flag)가 부호화될 수도 있다. CU 분할 플래그(split_cu_flag) 값이 분할되지 않았음을 지시하는 경우, 해당 노드의 블록이 분할 트리 구조에서의 리프 노드(leaf node)가 되어 부호화의 기본 단위인 CU(coding unit)가 된다. CU 분할 플래그(split_cu_flag) 값이 분할됨을 지시하는 경우, 영상 부호화 장치는 전술한 방식으로 제1플래그부터 부호화를 시작한다.
트리 구조의 다른 예시로서 QTBT가 사용되는 경우, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입(즉, symmetric horizontal splitting)과 세로로 분할하는 타입(즉, symmetric vertical splitting) 두 가지가 존재할 수 있다. BT 구조의 각 노드가 하위 레이어의 블록으로 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할되는 타입을 지시하는 분할 타입 정보가 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다. 한편, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태에는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태가 포함될 수 있고, 혹은 해당 노드의 블록을 대각선 방향으로 분할하는 형태가 포함될 수도 있다.
CU는 CTU로부터의 QTBT 또는 QTBTTT 분할에 따라 다양한 크기를 가질 수 있다. 이하에서는, 부호화 또는 복호화하고자 하는 CU(즉, QTBTTT의 리프 노드)에 해당하는 블록을 '현재블록'이라 칭한다. QTBTTT 분할의 채용에 따라, 현재블록의 모양은 정사각형뿐만 아니라 직사각형일 수도 있다.
예측부(120)는 현재블록을 예측하여 예측블록을 생성한다. 예측부(120)는 인트라 예측부(122)와 인터 예측부(124)를 포함한다.
일반적으로, 픽처 내 현재블록들은 각각 예측적으로 코딩될 수 있다. 일반적으로 현재블록의 예측은 (현재블록을 포함하는 픽처로부터의 데이터를 사용하는) 인트라 예측 기술 또는 (현재블록을 포함하는 픽처 이전에 코딩된 픽처로부터의 데이터를 사용하는) 인터 예측 기술을 사용하여 수행될 수 있다. 인터 예측은 단방향 예측과 양방향 예측 모두를 포함한다.
인트라 예측부(122)는 현재블록이 포함된 현재 픽처 내에서 현재블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재한다. 예컨대, 도 3a에서 보는 바와 같이, 복수의 인트라 예측모드는 planar 모드와 DC 모드를 포함하는 2개의 비방향성 모드와 65개의 방향성 모드를 포함할 수 있다. 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다.
직사각형 모양의 현재블록에 대한 효율적인 방향성 예측을 위해, 도 3b에 점선 화살표로 도시된 방향성 모드들(67 ~ 80번, -1 ~ -14 번 인트라 예측모드들)이 추가로 사용될 수 있다. 이들은 "광각 인트라 예측모드들(wide angle intra-prediction modes)"로 지칭될 수 있다. 도 3b에서 화살표들은 예측에 사용되는 대응하는 참조샘플들을 가리키는 것이며, 예측 방향을 나타내는 것이 아니다. 예측 방향은 화살표가 가리키는 방향과 반대이다. 광각 인트라 예측모드들은 현재블록이 직사각형일 때 추가적인 비트 전송 없이 특정 방향성 모드를 반대방향으로 예측을 수행하는 모드이다. 이때 광각 인트라 예측모드들 중에서, 직사각형의 현재블록의 너비와 높이의 비율에 의해, 현재블록에 이용 가능한 일부 광각 인트라 예측모드들이 결정될 수 있다. 예컨대, 45도보다 작은 각도를 갖는 광각 인트라 예측모드들(67 ~ 80번 인트라 예측모드들)은 현재블록이 높이가 너비보다 작은 직사각형 형태일 때 이용 가능하고, -135도보다 큰 각도를 갖는 광각 인트라 예측모드들(-1 ~ -14 번 인트라 예측모드들)은 현재블록이 높이가 너비보다 큰 직사각형 형태일 때 이용 가능하다.
인트라 예측부(122)는 현재블록을 부호화하는데 사용할 인트라 예측모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(122)는 여러 인트라 예측모드들을 사용하여 현재블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(122)는 여러 테스트된 인트라 예측모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측모드를 선택할 수도 있다.
인트라 예측부(122)는 복수의 인트라 예측모드 중에서 하나의 인트라 예측모드를 선택하고, 선택된 인트라 예측모드에 따라 결정되는 주변 픽셀(참조 픽셀)과 연산식을 사용하여 현재블록을 예측한다. 선택된 인트라 예측모드에 대한 정보는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다.
인터 예측부(124)는 움직임 보상 과정을 통해 현재블록에 대한 예측블록을 생성한다. 인터 예측부(124)는 현재 픽처보다 먼저 부호화 및 복호화된 참조픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 일반적으로, 움직임 추정은 루마(luma) 성분에 대해 수행되고, 루마 성분에 기초하여 계산된 모션 벡터는 루마 성분 및 크로마 성분 모두에 대해 사용된다. 현재블록을 예측하기 위해 사용된 참조픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다.
감산기(130)는 현재블록으로부터 인트라 예측부(122) 또는 인터 예측부(124)에 의해 생성된 예측블록을 감산하여 잔차블록을 생성한다.
변환부(140)는 잔차블록을 하나 이상의 변환블록들로 나누고, 변환을 하나 이상의 변환 블록들에 적용하여, 변환블록들의 잔차 값들을 픽셀 도메인에서 주파수 도메인으로 변환한다. 주파수 도메인에서, 변환된 블록들은 하나 이상의 변환 계수 값들을 포함하는 계수 블록들이라고 지칭된다. 변환에는 2차원 변환 커널이 사용될 수 있으며, 수평 방향 변환과 수직 방향 변환에 각각 1차원 변환 커널이 사용될 수도 있다. 변환 커널은 이산 코사인 변환(DCT), 이산 사인 변환(DST) 등에 기반할 수 있다.
변환부(140)는 잔차블록의 전체 크기를 변환 단위로 사용하여 잔차블록 내의 잔차 신호들을 변환할 수 있다. 또한, 변환부(140)는 잔차블록을 수평 혹은 수직 방향으로 2개의 서브블록으로 분할하고, 변환을 2개의 서브블록 중 하나에만 수행할 수 있다. 따라서, 변환 블록의 사이즈는 잔차 블록의 사이즈(따라서 예측블록의 사이즈)와 상이할 수도 있다. 변환이 수행되지 않는 서브블록에는 논-제로 잔차 샘플 값들이 존재하지 않거나 매우 희소할 수 있다. 변환이 수행되지 않는 서브블록의 잔차 샘플들은 시그널링되지 않으며, 영상 복호화 장치에 의해 모두 "0"으로 간주될 수 있다. 분할 방향과 분할 비율에 따라 여러 파티션 타입들이 존재할 수 있다. 변환부(140)는 잔차블록의 코딩 모드(혹은 변환 모드)에 관한 정보(예컨대, 잔차 블록을 변환하였는지 아니면 잔차 서브블록을 변환하였는지를 나타내는 정보, 잔차블록을 서브블록들로 분할하기 위해 선택된 파티션 타입을 나타내는 정보, 변환이 수행되는 서브블록을 식별하는 정보 등을 포함하는 정보)를 엔트로피 부호화부(155)에 제공할 수 있다. 엔트로피 부호화부(155)는 잔차블록의 코딩 모드(혹은 변환 모드)에 관한 정보를 부호화할 수 있다.
양자화부(145)는 변환부(140)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 엔트로피 부호화부(155)로 출력한다. 양자화부(145)는, 어떤 블록 혹은 프레임에 대해, 변환 없이, 관련된 잔차 블록을 곧바로 양자화할 수도 있다.
재정렬부(150)는 양자화된 잔차 값에 대해 계수 값의 재정렬을 수행할 수 있다. 재정렬부(150)는 계수 스캐닝(coefficient scanning)을 통해 2차원의 계수 어레이를 1차원의 계수 시퀀스로 변경할 수 있다. 예를 들어, 재정렬부(150)에서는 지그-재그 스캔(zig-zag scan) 또는 대각선 스캔(diagonal scan)을 이용하여 DC 계수부터 고주파수 영역의 계수까지 스캔하여 1차원의 계수 시퀀스를 출력할 수 있다. 변환 단위의 크기 및 인트라 예측모드에 따라 지그-재그 스캔 대신 2차원의 계수 어레이를 열 방향으로 스캔하는 수직 스캔, 2차원의 블록 형태 계수를 행 방향으로 스캔하는 수평 스캔이 사용될 수도 있다. 즉, 변환 단위의 크기 및 인트라 예측 모드에 따라 지그-재그 스캔, 대각선 스캔, 수직 방향 스캔 및 수평 방향 스캔 중에서 사용될 스캔 방법이 결정될 수도 있다.
엔트로피 부호화부(155)는, CABAC(Context-based Adaptive Binary Arithmetic Code), 지수 골롬(Exponential Golomb) 등의 다양한 부호화 방식을 사용하여, 재정렬부(150)로부터 출력된 1차원의 양자화된 변환 계수들의 시퀀스를 부호화함으로써 비트스트림을 생성한다.
또한, 엔트로피 부호화부(155)는 블록 분할과 관련된 CTU size, CU 분할 플래그, QT 분할 플래그, MTT 분할 타입, MTT 분할 방향 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다. 또한, 엔트로피 부호화부(155)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보(즉, 인트라 예측모드에 대한 정보) 또는 인터 예측정보(참조픽처 및 움직임벡터에 대한 정보)를 부호화한다.
역양자화부(160)는 양자화부(145)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(165)는 역양자화부(160)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.
가산부(170)는 복원된 잔차블록과 예측부(120)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.
필터부(180)는 블록 기반의 예측 및 변환/양자화로 인해 발생하는 블록킹 아티팩트(blocking artifacts), 링잉 아티팩트(ringing artifacts), 블러링 아티팩트(blurring artifacts) 등을 줄이기 위해 복원된 픽셀들에 대한 필터링을 수행한다. 필터부(180)는 디블록킹 필터(182)와 SAO(Sample Adaptive Offset) 필터(184)를 포함할 수 있다.
디블록킹 필터(180)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 필터링하고, SAO 필터(184)는 디블록킹 필터링된 영상에 대해 추가적인 필터링을 수행한다. SAO 필터(184)는 손실 부호화(lossy coding)로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해 사용되는 필터이다.
디블록킹 필터(182) 및 SAO 필터(184)를 통해 필터링된 복원블록은 메모리(190)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용될 수 있다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다. 이하에서는 도 4를 참조하여 영상 복호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 복호화 장치는 엔트로피 복호화부(410), 재정렬부(415), 역양자화부(420), 역변환부(430), 예측부(440), 가산기(450), 필터부(460) 및 메모리(470)를 포함하여 구성될 수 있다.
도 1의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
엔트로피 복호화부(410)는 영상 부호화 장치에 의해 생성된 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출함으로써 복호화하고자 하는 현재블록을 결정하고, 현재블록을 복원하기 위해 필요한 예측정보와 잔차신호에 대한 정보 등을 추출한다.
엔트로피 복호화부(410)는 SPS(Sequence Parameter Set) 또는 PPS(Picture Parameter Set)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 그리고, CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할정보를 추출함으로써 트리 구조를 이용하여 CTU를 분할한다.
예컨대, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 MTT의 분할과 관련된 제2 플래그(MTT_split_flag) 및 분할 방향(vertical / horizontal) 및/또는 분할 타입(binary / ternary) 정보를 추출하여 해당 리프 노드를 MTT 구조로 분할한다. 이를 통해 QT의 리프 노드 이하의 각 노드들을 BT 또는 TT 구조로 반복적으로(recursively) 분할한다.
또 다른 예로서, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 CU의 분할 여부를 지시하는 CU 분할 플래그(split_cu_flag)를 추출하고, 해당 블록이 분할된 경우, 제1 플래그(QT_split_flag)를 추출할 수도 있다. 분할 과정에서 각 노드는 0번 이상의 반복적인 QT 분할 후에 0번 이상의 반복적인 MTT 분할이 발생할 수 있다. 예컨대, CTU는 바로 MTT 분할이 발생하거나, 반대로 다수 번의 QT 분할만 발생할 수도 있다.
다른 예로서, QTBT 구조를 사용하여 CTU를 분할하는 경우, QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT로 더 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할 방향 정보를 추출한다.
한편, 엔트로피 복호화부(410)는 트리 구조의 분할을 통해 복호화하고자 하는 현재블록을 결정하게 되면, 현재블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다. 예측 타입 정보가 인트라 예측을 지시하는 경우, 엔트로피 복호화부(410)는 현재블록의 인트라 예측정보(인트라 예측모드)에 대한 신택스 엘리먼트를 추출한다. 예측 타입 정보가 인터 예측을 지시하는 경우, 엔트로피 복호화부(410)는 인터 예측정보에 대한 신택스 엘리먼트, 즉, 움직임벡터 및 그 움직임벡터가 참조하는 참조픽처를 나타내는 정보를 추출한다.
한편, 엔트로피 복호화부(410)는 잔차블록의 코딩 모드에 관한 정보(예컨대, 잔차블록이 부호화되었는지 잔차블록의 서브블록만이 부호화되었는지 여부에 관한 정보, 잔차블록을 서브블록들로 분할하기 위해 선택된 파티션 타입을 나타내는 정보, 부호화된 잔차 서브블록을 식별하는 정보, 양자화 파라미터 등)를 비트스트림으로부터 추출한다. 또한, 엔트로피 복호화부(410)는 잔차신호에 대한 정보로서 현재블록의 양자화된 변환계수들에 대한 정보를 추출한다.
재정렬부(415)는, 영상 부호화 장치에 의해 수행된 계수 스캐닝 순서의 역순으로, 엔트로피 복호화부(410)에서 엔트로피 복호화된 1차원의 양자화된 변환계수들의 시퀀스를 다시 2차원의 계수 어레이(즉, 블록)로 변경할 수 있다.
역양자화부(420)는 양자화된 변환계수들을 역양자화하고, 역변환부(430)는, 잔차블록의 코딩 모드에 관한 정보를 기초로, 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재블록에 대한 복원된 잔차블록을 생성한다.
역변환부(430)는, 잔차블록의 코딩 모드에 관한 정보가 영상 부호화 장치에서 현재블록의 잔차블록이 부호화되었다고 지시하는 경우에, 역양자화된 변환계수들에 대해 현재블록의 사이즈(따라서, 복원될 잔차블록의 사이즈)를 변환 단위로 사용하여 역변환을 수행하여 현재블록에 대한 복원된 잔차블록을 생성한다.
또한, 역변환부(430)는, 잔차블록의 코딩 모드에 관한 정보가 영상 부호화 장치에서 잔차블록의 하나의 서브블록만이 부호화되었다고 지시하는 경우에, 역양자화된 변환계수들에 대해, 변환된 서브블록의 사이즈를 변환 단위로 사용하여, 역변환을 수행하여 변환된 서브블록에 대한 잔차신호들을 복원하고, 비변환된 서브블록에 대한 잔차신호들을 "0" 값으로 채움으로써, 현재블록에 대한 복원된 잔차블록을 생성한다.
예측부(440)는 인트라 예측부(442) 및 인터 예측부(444)를 포함할 수 있다. 인트라 예측부(442)는 현재블록의 예측 타입이 인트라 예측일 때 활성화되고, 인터 예측부(444)는 현재블록의 예측 타입이 인터 예측일 때 활성화된다.
인트라 예측부(442)는 엔트로피 복호화부(410)로부터 추출된 인트라 예측모드에 대한 신택스 엘리먼트로부터 복수의 인트라 예측모드 중 현재블록의 인트라 예측모드를 결정하고, 인트라 예측모드에 따라 현재블록 주변의 참조 픽셀들을 이용하여 현재블록을 예측한다.
인터 예측부(444)는 엔트로피 복호화부(410)로부터 추출된 인트라 예측모드에 대한 신택스 엘리먼트를 이용하여 현재블록의 움직임벡터와 그 움직임벡터가 참조하는 참조픽처를 결정하고, 움직임벡터와 참조픽처를 이용하여 현재블록을 예측한다.
가산기(450)는 역변환부(430)로부터 출력되는 잔차블록과 인터 예측부(444) 또는 인트라 예측부(442)로부터 출력되는 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.
필터부(460)는 디블록킹 필터(462) 및 SAO 필터(464)를 포함할 수 있다. 디블록킹 필터(462)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해, 복원된 블록 간의 경계를 디블록킹 필터링한다. SAO 필터(464)는 손실 부호화(lossy coding)으로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해, 디블록킹 필터링 이후의 복원된 블록에 대해 추가적인 필터링을 수행한다. 디블록킹 필터(462) 및 SAO 필터(464)를 통해 필터링된 복원블록은 메모리(470)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
부호화 장치와 복호화 장치는 현재블록을 사각형 모양의 블록들로 분할할 수 있을 뿐만 아니라, 예측 성능을 높이기 위해 삼각형 모양의 블록들로 분할할 수도 있다. 이를 위해, 부호화 장치와 복호화 장치는 삼각형 모양의 블록 분할 모드(triangle partition mode, TPM)도 지원할 수 있다.
TPM에서, 부호화 장치는 도 5와 같이 현재블록을 두 개의 삼각형 블록들로 분할하고, 머지 모드(merge mode)에 기반하여 삼각형 블록들 각각에 대해 인터 예측을 수행한다. 두 가지 분할 형태(우하향 대각선 방향의 분할(도 5의 (a)) 및 우상향 대각선 방향의 분할(도 5의 (b)) 중에서 어느 하나를 지시하는 신택스 요소 및 삼각형 블록들 각각에 대한 머지 인덱스(움직임 정보)가 부호화되어 복호화 장치로 시그널링된다. 복호화 장치는 분할 형태를 지시하는 신택스 요소를 이용하여 현재블록을 삼각형 블록들로 분할하고, 시그널링된 머지 인덱스에 기반하여 삼각형 블록들 각각에 대해 인터 예측을 수행한다. 부호화 장치 및 복호화 장치는 분할 경계에서 발생하는 샘플들 값의 불연속성을 제거하기 위해 분할 경계에 대한 블렌딩(blending)을 추가적으로 수행할 수 있다.
그러나, 영상의 해상도가 점점 증가함에 따라 예측 블록의 크기도 증가하고 있으며, 이에 따라 더욱 다양한 모양(예를 들어, 임의의 모양 또는 비직사각형 모양)의 블록 분할과, 분할된 블록에 대한 인트라 예측의 적용이 요구되고 있다.
따라서, 본 발명은 현재블록을 비직사각형 블록들로 분할하는 방법과, 비직사각형 블록들에 대해 인터 예측뿐만 아니라 인트라 예측까지 적용하는 방법을 제안한다. 본 발명의 방법은 GIIP 모드(geometrical partitioning for intra and inter prediction) 또는 제1모드라 지칭될 수 있다.
본 발명에서 제안하는 방법의 일 예에 대한 순서도가 도 6에 나타나 있다.
1. 블록 분할
부호화 장치는 현재블록을 비직사각형 블록들로 분할하고, 비직사각형 블록들이 분할된 구조를 지시하는 분할 모드 신택스 요소를 부호화하여 복호화 장치로 시그널링할 수 있다. 엔트로피 복호화부(410)는 비트스트림으로부터 분할 모드 신택스 요소를 복호화하고, 복호화된 분할 모드 신택스 요소에 기초하여 현재블록을 비직사각형 블록들로 분할할 수 있다(S604).
도 7의 예에서, 분할 경계(partition edge)는 현재블록(CU)의 중앙 위치(center)로부터 분할 경계까지의 수직 거리(d i) 및 분할 경계가 현재블록의 가로 방향(수평 방향)과 이루는 각도(a i)에 의해 결정될 수 있다. a i는 0 ~ 360도 사이의 값을 가질 수 있으며, d i의 최대 값이 d max는 a i, 현재블록의 너비(width, w) 및 높이(height, h)에 의해 수학식 1과 같이 결정될 수 있다.
Figure PCTKR2020018369-appb-img-000001
수학식 1에서,
Figure PCTKR2020018369-appb-img-000002
는 가로 방향 축으로부터 블록 경계까지의 각도(a i)를 나타내며, b의 감산은 현재블록의 코너와 블록 경계가 너무 가까워지는 것을 방지하기 위함이다.
분할 모드 신택스 요소는 a i와 d i를 직접적으로 나타내거나, 미리 설정된 a i와 미리 설정된 d i 중에서 현재블록의 분할 경계를 지시하는 인덱스일 수 있다. 분할 모드 신택스 요소가 인덱스로 구현되는 경우, 부호화 장치와 복호화 장치는 미리 설정된 a i와 미리 설정된 d i에 대한 룩업 테이블을 이용하여 분할 모드 신택스 요소가 나타내는 인덱스의 a i와 d i를 결정할 수 있다.
2. GIIP 모드의 수행 여부 판단
실시형태에 따라, S604 과정이 수행되기 전에, GIIP 모드의 적용 여부를 판단하는 과정(S602)이 먼저 수행될 수도 있다. GIIP 모드의 적용 여부는 신택스 요소, 주변 블록들의 예측 타입, 분할 경계의 각도 등에 따라 결정될 수 있다.
일 예로, 부호화 장치는 현재블록에 대해 GIIP 모드가 수행되었는지 여부를 적용 신택스 요소의 값으로 설정하고, 적용 신택스 요소를 부호화하여 복호화 장치로 시그널링할 수 있다. 엔트로피 복호화부(410)는 비트스트림으로부터 적용 신택스 요소를 복호화하고, 적용 신택스 요소의 값에 따라 GIIP 모드의 적용 여부를 판단할 수 있다(S602).
적용 신택스 요소는 1-bit의 플래그일 수 있다. 적용 신택스 요소==0인 경우에는 GIIP 모드가 적용되지 않는다. 이 경우, 종래의 TPM과 같이 비직사각형 블록들 각각의 머지 인덱스를 이용한 인터 예측이 수행될 수 있다. 적용 신택스 요소==1인 경우에는 GIIP 모드가 적용되어, 인터 블록(비직사각형 블록들 중에서 인터 예측 타입에 의해 예측되는 블록)에 대해서는 움직임 정보를 이용한 인터 예측이 수행되고, 인트라 블록(비직사각형 블록들 중에서 인트라 예측 타입에 의해 예측되는 블록)에 대해서는 인트라 예측 모드를 이용한 인트라 예측이 수행될 수 있다.
다른 예로, 부호화 장치와 복호화 장치는 현재블록의 주변에 위치한 주변 블록들 중에서 인트라 예측 타입에 따라 예측된 블록들의 수를 기준으로 하여, GIIP 모드의 적용 여부를 판단할 수 있다.
도 8의 예에서, 주변 블록인 A, B, C 및 D의 예측 타입을 고려하여 GIIP 모드의 적용 여부가 판단되거나, A 및 B의 예측 타입을 고려하여 GIIP 모드의 적용 여부가 판단될 수 있다.
A, B, C 및 D의 예측 타입이 고려되는 경우, 인트라 예측된 주변 블록의 개수가 3 이상이면 GIIP 모드가 적용되는 것으로 판단되며, 인트라 예측된 주변 블록의 개수가 2이면 적용 신택스 요소의 값에 따라 GIIP 모드의 적용 여부가 판단되고, 인트라 예측된 주변 블록의 개수가 1 이하이면 GIIP 모드가 적용되지 않는 것으로 판단될 수 있다. 실시형태에 따라, 인트라 예측된 주변 블록의 개수가 2 이상이거나 3인 경우에 GIIP 모드가 적용되는 것으로 판단될 수 있다. 실시형태에 따라, 주변 블록의 개수가 2 미만이거나 3인 경우에 GIIP 모드가 적용되지 않는 것으로 판단될 수도 있다.
A 및 B의 예측 타입이 고려되는 경우, 인트라 예측된 주변 블록의 개수가 2인 경우에 GIIP 모드가 적용되는 것으로 판단되고, 인트라 예측된 주변 블록의 개수가 1이면 적용 신택스 요소의 값에 따라 GIIP 모드의 적용 여부가 판단되며, 인트라 예측된 주변 블록의 개수가 0이면 GIIP 모드가 적용되지 않는 것으로 판단될 수 있다. 실시형태에 따라, 인트라 예측된 주변 블록의 개수가 1 이상이거나 2인 경우에 GIIP 모드가 적용되는 것으로 판단될 수 있다. 실시형태에 따라, 인트라 예측된 주변 블록의 개수가 1 미만이거나 2인 경우에 GIIP 모드가 적용되지 않는 것으로 판단될 수도 있다.
3. 인터 블록 및 인트라 블록 결정
다시 S604 과정으로 돌아와, 현재블록이 비직사각형 블록들로 분할되면, 비직사각형 블록들 중에서 인트라 타입에 따라 예측되는 인트라 블록과 인터 예측 타입에 따라 예측되는 인터 블록을 결정하는 과정(S606)이 수행된다. S606 과정은 비직사각형 블록들의 예측 타입을 결정하는 과정일 수 있다.
비직사각형 블록들의 예측 타입은 1) 비직사각형 블록들의 예측 타입을 지시하는 타입 신택스 요소에 의해 명시적으로 결정되거나, 2) 분할 경계의 각도 및 수직 거리 중에서 하나 이상에 의해 암시적으로 결정될 수 있다(S608).
1)의 경우, 부호화 장치는 비직사각형 블록들의 예측 타입을 타입 신택스 요소의 값으로 설정하고, 타입 신택스 요소를 부호화하여 복호화 장치로 시그널링할 수 있다. 복호화 장치는 타입 신택스 요소를 비트스트림으로부터 복호화하고, 예측부(440)는 타입 신택스 요소의 값에 따라 비직사각형 블록들의 예측 타입을 결정할 수 있다.
2)의 경우, 예측부(120, 440)는 분할 경계의 각도(분할 경계가 현재블록의 가로 방향과 이루는 각도) 및 수직 거리(분할 경계와 center 사이의 수직 거리) 중에서 하나 이상에 따라 비직사각형 블록들의 예측 타입을 결정할 수 있다.
도 9의 (a)와 같이, 분할 경계의 각도가 0~90도인 경우, 위쪽에 위치한 비직사각형 블록(위쪽 블록)이 아래쪽에 위치한 비직사각형 블록(아래쪽 블록)에 비해 인트라 예측에 이용되는 참조샘플들(패턴으로 표현된 샘플들)로부터 더 가깝게 위치한다. 따라서, 이 경우에는 위쪽 블록이 인트라 블록으로 결정되며, 아래쪽 블록이 인터 블록으로 결정될 수 있다.
또한, 도 9의 (a)의 경우, 분할 경계의 수직 거리가 클수록, 위쪽 블록에 인접하는 참조샘플들의 개수가 감소하며 아래쪽 블록에 인접하는 참조샘플들의 개수가 증가한다. 분할 경계의 수직 거리 매우 커서 위쪽 블록에 인접하는 참조샘플들의 개수가 아래쪽 블록에 인접하는 참조샘플들의 개수 미만인 경우에는 위쪽 블록이 인터 블록으로 결정되며 아래쪽 블록이 인트라 블록으로 결정될 수 있다.
도 9의 (b)와 같이, 분할 경계의 각도가 90~180도인 경우, 왼쪽에 위치한 비직사각형 블록(A 블록)이 오른쪽에 위치한 비직사각형 블록(B 블록)에 비해 참조샘플들로부터 더 가깝게 위치한다. 따라서, 이 경우에는 A 블록이 인트라 블록으로 결정되며, B 블록이 인터 블록으로 결정될 수 있다.
또한, 도 9의 (b)의 경우, 분할 경계의 수직 거리가 클수록, 왼쪽 블록(A 블록)에 인접하는 참조샘플들의 개수가 감소하며 오른쪽 블록(B 블록)에 인접하는 참조샘플들의 개수가 증가한다. 분할 경계의 수직 거리 매우 커서 A 블록에 인접하는 참조샘플들의 개수가 B 블록에 인접하는 참조샘플들의 개수 미만인 경우에는 A 블록이 인터 블록으로 결정되며 B 블록이 인트라 블록으로 결정될 수 있다.
도 9의 (c)와 같이, 분할 경계의 각도가 90~180도이면서 분할 경계가 center의 위쪽에 위치하는 경우, 위쪽에 위치한 비직사각형 블록(B 블록)이 아래쪽에 위치한 비직사각형 블록(A 블록)에 비해 참조샘플들로부터 더 가깝게 위치한다. 따라서, 이 경우에는 B 블록이 인트라 블록으로 결정되며, A 블록이 인터 블록으로 결정될 수 있다.
또한, 도 9의 (c)의 경우, 분할 경계의 수직 거리가 클수록, B 블록에 인접하는 참조샘플들의 개수가 감소하며 A 블록에 인접하는 참조샘플들의 개수가 증가한다. 분할 경계의 수직 거리 매우 커서 B 블록에 인접하는 참조샘플들의 개수가 A 블록에 인접하는 참조샘플들의 개수 미만인 경우에는 B 블록이 인터 블록으로 결정되며 A 블록이 인트라 블록으로 결정될 수 있다.
4. 비직사각형 블록들의 예측 샘플 유도(예측 실행)
인터 블록 및 인트라 블록이 결정되면, 인터 블록 및 인트라 블록 각각에 대한 예측 샘플들을 유도 또는 생성하는 과정(S610)이 수행될 수 있다.
인터 블록의 예측 샘플들을 유도하는 과정은 움직임 정보에 기반하여 수행될 수 있다. 부호화 장치는 인터 블록의 인터 예측에 이용된 움직임 정보(예를 들어, 머지 인덱스)를 부호화하여 복호화 장치로 시그널링할 수 있다. 복호화 장치는 비트스트림으로부터 움직임 정보를 복호화하고, 인터 예측부(444)는 움직임 정보를 이용하여 제1영역의 예측 샘플들을 유도할 수 있다.
제1영역은 인터 블록을 포함하는 영역으로서, 현재블록 내에 포함될 수 있다. 따라서, 제1영역은 인터 블록과 같거나, 인터 블록에 분할 경계 주변에 위치하는 샘플들을 더 포함하는 영역이거나, 현재블록과 같을 수 있다. 제1영역이 현재블록과 같은 경우에는 현재블록 전체에 대한 인터 예측 샘플들이 유도될 수 있다.
인트라 예측 모드 결정
인트라 블록의 예측 샘플들을 유도하는 과정은 인트라 예측 모드에 기반하여 수행될 수 있다. 부호화 장치는 인트라 블록의 인트라 예측에 이용된 예측 모드(인트라 예측 모드)에 대한 정보를 부호화하여 복호화 장치로 시그널링할 수 있다. 인트라 예측 모드에 대한 정보는 미리 설정된 인트라 예측 모드 후보들 중에서 어느 하나를 지시하는 인덱스(모드 인덱스)일 수 있다. 복호화 장치는 비트스트림으로부터 인트라 예측 모드에 대한 정보를 복호화하고, 인트라 예측부(442)는 인트라 예측 모드에 의해 지시되는 인트라 예측 모드를 이용하여 제2영역의 예측 샘플들을 유도할 수 있다.
제2영역은 인트라 블록을 포함하는 영역으로서, 현재블록 내에 포함될 수 있다. 따라서, 제2영역은 인트라 블록과 같거나, 인트라 블록에 분할 경계 주변에 위치하는 샘플들을 더 포함하는 영역이거나, 현재블록과 같을 수 있다. 제2영역이 현재블록과 같은 경우에는 현재블록 전체에 대한 인트라 예측 샘플들이 유도될 수 있다.
실시예에 따라, 인트라 예측 모드 후보들은 분할 경계의 각도와 동일하거나 유사한(분할 경계의 각도에 대응되는) 하나 이상의 방향성 모드들을 포함할 수 있다. 다른 실시예에 따라, 인트라 예측 모드 후보들은 분할 경계에 대응되는 방향성 모드들에 HOR(horizontal) 방향성 모드 및 VER(vertical) 방향성 모드를 더 포함할 수 있으며, 비방향성 모드에 해당하는 플래너(planar) 모드를 더 포함할 수도 있다.
도 9의 (a)와 같이, 분할 경계의 각도에 대응되는 방향성 모드들이 A 및 B라고 하면, 인트라 예측 모드 후보들은 방향성 모드 A와 방향성 모드 B를 포함할 수 있다. 또한, 인트라 예측 모드 후보들은 방향성 모드 A와 방향성 모드 B에 플래너 모드, HOR 모드 및 VER 모드 중에서 하나 이상을 추가적으로 더 포함할 수도 있다.
도 9의 (b)와 같이, 분할 경계의 각도에 대응되는 방향성 모드가 A라고 하면, 인트라 예측 모드 후보들은 방향성 모드 A를 포함할 수 있다. 또한, 인트라 예측 모드 후보들은 방향성 모드 A에 플래너 모드 및 HOR 모드 중에서 하나 이상을 추가적으로 더 포함할 수도 있다.
도 9의 (c)와 같이, 분할 경계의 각도에 대응되는 방향성 모드가 A라고 하면, 인트라 예측 모드 후보들은 방향성 모드 A를 포함할 수 있다. 또한, 인트라 예측 모드 후보들은 방향성 모드 A에 플래너 모드 및 VER 모드 중에서 하나 이상을 추가적으로 더 포함할 수도 있다.
실시예에 따라, 인트라 예측 모드 후보들은 분할 경계의 각도와 무관하게 도 3b에 표현된 93개의 방향성 모드들(광각 인트라 예측 모드들 중에서 플래너 모드 및 DC 모드 제외)을 포함하거나, 도 3a에 표현된 67개의 인트라 예측 모드들을 포함할 수도 있다. 다른 실시예에 따라, 인트라 예측 모드 후보들은 HOR 방향성 모드, VER 방향성 모드 및 플래너 모드를 포함하는 35개의 인트라 예측 모드들로 구성될 수도 있다.
실시형태를 달리하여, 인트라 블록의 예측에 이용되는 인트라 예측 모드는 인트라 예측 모드에 대한 정보에 의해 명시적으로 지시되는 것이 아닌, 부호화 장치와 복호화 장치 간에 미리 약속될 수 있다. 예를 들어, 인트라 블록의 예측에 이용되는 인트라 예측 모드는 인트라 예측 모드 후보들 중에서 어느 하나로 미리 약속되거나, 플래너 모드로 미리 약속될 수 있다.
인트라 블록의 예측 샘플들 유도
인트라 블록의 예측 샘플들은 현재블록의 주변에 위치한 샘플들만을 참조하여 유도되거나(제1타입), 현재블록의 주변에 위치한 샘플들과 인터 블록의 예측 샘플들을 모두 참조하여 유도될 수 있다(제2타입).
제2타입의 수행 여부는 1-bit의 플래그를 통해 명시적으로 지시되거나, GIIP 모드가 적용되는 경우에 항상 수행되는 것으로 미리 약속될 수 있다(암시적). 제2타입의 수행 여부가 명시적으로 지시되는 경우, 부호화 장치는 제2타입의 수행 여부를 판단하고, 그 결과를 1-bit의 플래그의 값으로 설정한 후에, 1-bit의 플래그를 부호화하여 복호화 장치로 시그널링할 수 있다. 엔트로피 복호화부(410)는 비트스트림으로부터 1-bit의 플래그를 복호화할 수 있다.
제2타입이 수행되는 경우, 인터 예측부(124, 444)는 움직임 정보에 기초하여 움직임 보상 과정을 수행함으로써 인터 블록의 예측 샘플들을 유도하고(S1102), 인트라 예측부(122, 442)는 현재블록의 주변에 위치한 샘플들과 인터 블록의 예측 샘플들을 모두 참조하여 인트라 블록의 예측 샘플들을 유도할 수 있다(S1104). 제2타입에 대한 인트라 예측 모드 후보들은 도 12에 표현된 바와 같이 360도를 커버하는 방향성 모드들, 플래너 모드 및 DC 모드를 포함할 수 있다.
S1102 과정과 S1104 과정 사이에 인터 블록의 예측 샘플들에 스무딩(smoothing) 필터를 적용하는 과정이 수행될 수 있다. 즉, 인트라 예측부(122, 442)는 스무딩 필터가 적용된 인터 블록의 예측 샘플들을 참조하여 인트라 블록의 예측 샘플들을 유도할 수 있다. 스무딩 필터의 적용 여부는 부호화 장치로부터 시그널링되는 1-bit의 플래그를 통해 명시적으로 지시되거나, 부호화 장치와 복호화 장치 사이에 미리 약속될 수 있다.
인트라 예측부(122, 442)는 인터 블록의 예측 샘플들 중에서 전부 또는 일부를 참조하여 인트라 블록의 예측 샘플들을 유도할 수 있다. 예를 들어, 인트라 예측부(122, 442)는 인터 블록의 예측 샘플들 중에서 분할 경계에 인접하는 예측 샘플들을 참조하여 인트라 블록의 예측 샘플들을 유도할 수 있다(S1106).
분할 경계에 인접하는 인터 블록의 예측 샘플들을 참조하여 플래너 모드에 따라 인트라 블록의 예측 샘플들을 유도하는 일 예가 도 13에 나타나 있다.
도 13의 (a)와 같이, 인트라 블록 내 샘플(p)을 인트라 예측하는 경우, 주변 샘플들(패턴으로 표현된 샘플들) 중에서 r 0,9 및 r 9,0과, 인터 블록의 예측 샘플들(p 1,8, p 2,7, p 3,6, p 4,5, p 5,4, p 6,3, p 7,2 및 p 8,1) 중에서 p 3,6 및 p 7,2를 참조하여 인트라 블록 내 샘플(p)의 예측 샘플이 유도될 수 있다.
도 13의 (b)와 같이, 인트라 블록 내 샘플(p)을 인트라 예측하는 경우, 주변 샘플들(패턴으로 표현된 샘플들) 중에서 r 0,2 및 r2 ,0과, 인터 블록의 예측 샘플들(p 1,6, p 2,5, p 3,4, p 4,3, p 5,2, 및 p 6,1) 중에서 p 2,5 및 p5 ,2를 참조하여 인트라 블록 내 샘플(p)의 예측 샘플이 유도될 수 있다.
도 13의 (c)와 같이, 인트라 블록 내 샘플(p)을 인트라 예측하는 경우, 주변 샘플들(패턴으로 표현된 샘플들) 중에서 r 0,6 및 r 0,9과, 인터 블록의 예측 샘플들(p 1,2, p 2,3, p 3,4, p 4,5, p 5,6, p 6,7 및 p 7,8) 중에서 p 3,4 및 p 5,6를 참조하여 인트라 블록 내 샘플(p)의 예측 샘플이 유도될 수 있다.
도 13의 (d)와 같이, 인트라 블록 내 샘플(p)을 인트라 예측하는 경우, 주변 샘플들(패턴으로 표현된 샘플들) 중에서 r 7,0 및 r 9,0과, 인터 블록의 예측 샘플들(p 2,1, p 3,2, p 4,3, p 5,4, p 6,5, p 7,6 및 p 8,7) 중에서 p 4,3 및 p 7,6를 참조하여 인트라 블록 내 샘플(p)의 예측 샘플이 유도될 수 있다.
5. 예측 샘플 블랜딩(blending)
예측 샘플들의 유도가 완료되면, 분할 경계에서 발생하는 불연속성을 제거 또는 감소시키기 위한 블랜딩 과정이 수행될 수 있다. 블랜딩 과정은 현재블록 내 예측 샘플(대상 예측 샘플)과 분할 경계 사이의 거리에 기반하여, 대상 예측 샘플에 대한 인터 예측 값과 인트라 예측 값 각각에 가중치 합 연산을 수행하는 과정일 수 있다.
블랜딩 과정의 수행 여부는 부호화 장치로부터 복호화 장치로 시그널링되는 1-bit의 플래그를 통해 명시적으로 지시되거나, 부호화 장치와 복호화 장치 간에 미리 약속될 수 있다. 또한, 블랜딩 과정의 수행 여부는 인트라 블록의 인트라 예측 모드, 블록 경계 주변 샘플들 간의 샘플 값 차이 등에 따라 결정될 수도 있다. 예를 들어, 블록 경계 주변 샘플들 간의 샘플 값 차이가 미리 설정된 특정 값보다 크거나 작은 경우에 블랜딩 과정이 수행될 수 있다.
가중치 유도
블랜딩 과정이 적용되는 것으로 결정된 경우, 예측부(120, 440)는 인터 가중치와 인트라 가중치를 유도할 수 있다(S1402). 인터 가중치와 인트라 가중치는 대상 예측 샘플과 분할 경계 사이의 거리, 주변 블록들의 예측 타입, 인트라 예측 모드 등을 고려하여 유도될 수 있다. 인터 가중치는 대상 예측 샘플의 인터 예측 값에 적용될 가중치에 해당하며, 인트라 가중치는 대상 예측 샘플의 인트라 예측 값에 적용될 가중치에 해당한다.
대상 예측 샘플과 분할 경계 사이의 거리를 고려하여 인터 가중치와 인트라 가중치를 유도하는 예는 수학식 2를 통해 수행될 수 있다.
Figure PCTKR2020018369-appb-img-000003
수학식 2에서, (x, y)는 대상 예측 샘플의 위치를 나타내며, sampleWeight intra는 인트라 가중치를 나타내고, sampleWeight inter는 인터 가중치를 나타낸다. Y는 블랜딩 필터에 따라 결정되는 데, n-bits 블랜딩 필터를 이용하는 경우에 Y=2 n이다. 따라서, 3-bits 블랜딩 필터를 이용하는 경우에 Y=8이다. dist는 대상 예측 샘플과 분할 경계 사이의 수직 거리를 스케일링한 값으로서, 대상 예측 샘플의 위치와 분할 경계 사이의 거리 및 분할 경계의 각도에 따른 룩업 테이블을 통해 획득될 수 있다. dist 값이 0~14인 경우에 3-bits BlendFilter[dist]의 값은 아래 표 1을 통해 유도될 수 있다.
Figure PCTKR2020018369-appb-img-000004
주변 블록들의 예측 타입을 더 고려하여 인터 가중치와 인트라 가중치를 유도하는 예는 수학식 2, 수학식 3 및 수학식 4를 통해 수행될 수 있다.
Figure PCTKR2020018369-appb-img-000005
Figure PCTKR2020018369-appb-img-000006
수학식 3은 인트라 예측 타입에 의해 예측된 주변 블록들(인트라 주변 블록들)의 수가 인터 예측 타입에 의해 예측된 주변 블록들(인터 주변 블록들)의 수보다 작은 경우에 적용될 수 있다. 즉, 인터 주변 블록들의 수가 인트라 주변 블록들의 수보다 큰 경우에는, Y-BlendFilter[dist] 값에 오프셋(a)을 가산하여 인터 가중치가 유도되고, BlendFilter[dist] 값에 a를 감산하여 인트라 가중치가 유도될 수 있다. 여기서, a는 인트라 주변 블록들의 수와 인터 주변 블록들의 수 사이의 차이에 따라 미리 설정될 수 있다.
수학식 4는 인트라 주변 블록들의 수가 인터 주변 블록들의 수보다 큰 경우에 적용될 수 있다. 즉, 인트라 주변 블록들의 수가 인터 주변 블록들의 수보다 큰 경우에는, BlendFilter[dist] 값에 오프셋(a)을 가산하여 인트라 가중치가 유도되고, Y-BlendFilter[dist] 값에 a를 감산하여 인터 가중치가 유도될 수 있다.
두 개의 주변 블록들의 예측 타입을 더 고려하여 인터 가중치와 인트라 가중치를 유도하는 예가 도 15에 나타나 있다.
도 15에서, A와 B는 두 개의 주변 블록들을 나타내며, (x, y)는 대상 예측 샘플의 위치를 나타내고, di는 대상 예측 샘플과 분할 경계(점선으로 표현된 직선) 사이의 거리를 나타낸다.
A 및 B 중에서 어느 하나가 인트라 예측 타입에 따라 예측되고 다른 하나가 인터 예측 타입에 따라 예측된 경우에는 수학식 2를 통해 인터 가중치와 인트라 가중치가 유도될 수 있다. A 및 B 모두가 인터 예측 타입에 따라 예측된 경우에는 수학식 3을 통해 인터 가중치와 인트라 가중치가 유도될 수 있다. A 및 B 모두가 인트라 예측 타입에 따라 예측된 경우에는 수학식 4를 통해 인터 가중치와 인트라 가중치가 유도될 수 있다.
가중 예측 값 유도
인터 가중치와 인트라 가중치가 유도되면, 예측부(120, 440)는 대상 예측 샘플의 인트라 예측 값에 인트라 가중치를 적용하고 대상 예측 샘플의 인터 예측 값에 인터 가중치를 적용함으로써, 대상 예측 샘플의 블랜딩이 적용된 예측 값(가중 예측 값)을 유도할 수 있다.
가중 예측 값을 유도하는 과정은 수학식 5를 통해 수행될 수 있다.
Figure PCTKR2020018369-appb-img-000007
수학식 5에서, P blended는 가중 예측 값을 나타내며, P intra는 대상 예측 샘플의 인트라 예측 값을 나타내고, P inter는 대상 예측 샘플의 인터 예측 값을 나타낸다.
6. 분할 경계 디블록킹 필터링
GIIP 모드가 수행된 경우에, 블록 경계에 대해 디블록킹 필터가 적용될 수 있다.
디블록킹 필터링의 수행 여부는 부호화 장치로부터 복호화 장치로 시그널링되는 1-bit의 플래그를 통해 명시적으로 지시되거나, 항상 수행되는 것으로 부호화 장치와 복호화 장치 간에 미리 약속될 수 있다. 또한, 디블록킹 필터링은 블록 경계 주변의 샘플 값 차이가 미리 설정된 특정 값(임계 값)보다 크거나 작은 경우에 수행되거나, 블록 경계 주변의 샘플 값들에 대한 양자화 파라미터 값이 미리 설정된 파라미터 값보다 크거나 작은 경우에 수행될 수 있다. 나아가, 디블록킹 필터링은 인트라 예측 모드에 따라서도 수행 여부가 결정될 수 있으며, 인트라 예측 모드에 따라 디블록킹 필터링에 이용되는 디블록킹 필터가 결정될 수 있다.
예측 샘플들(예측블록들)과 잔차 샘플들(잔차블록들)이 합산되어 영상이 복원되면, 복원된 영상에 대해 필터링이 수행된다. 필터링된 영상은 다른 영상의 예측에 이용되거나 디스플레이를 위해 메모리(190, 470)에 저장된다.
도 16에 나타낸 바와 같이, 종래의 필터부는 디블록킹 필터, SAO 및 적응적 루프 필터(adaptive loop filter, ALF)를 포함하여 구성될 수 있다. 복원된 영상은 디블록킹 필터, SAO 및 ALF)에 순차적으로 입력되어 필터링되며, 최종적으로 필터링된 영상이 출력된다.
SAO는 복원된 영상 내 샘플들을 정해진 기준에 따라 특성 별로 분류하고, 해당 분류에 따라 적응적으로 오프셋을 적용한다. 즉, SAO는 샘플에 적응적으로 오프셋을 적용한다. SAO의 적용을 위하여, CTU 단위의 모드정보(엣지 오프셋, 밴드 오프셋 및 SAO 미수행 중에서 어느 하나의 타입(모드)를 지시하는 정보) 및 오프셋 정보가 부호화 장치로부터 복호화 장치로 시그널링된다.
ALF는 원본 영상과 복원된 영상 간의 오차를 최소화하기 위해 샘플 특성에 적응적인 필터링을 블록 단위로 적용한다. ALF의 적용을 위해, CTU 단위의 필터셋 정보가 APS(adaption parameter set) 레벨에서 부호화 장치로부터 복호화 장치로 시그널링된다. CTU 내 블록 단위로 모드(블록 내 샘플들의 방향성(direction) 및 변화량(activity)에 따른 총 N 가지의 클래스들(모드들) 중에서 해당 블록이 속하는 어느 하나의 클래스를 지시)가 유도되고, 유도된 모드에 해당하는 필터가 복원된 영상에 적용된다.
이와 같이, SAO 및 ALF는 샘플에 적응적인 오프셋과 필터를 샘플 단위로 적용한다. 또한, SAO 및 ALF는 '샘플 특성을 유도하는 과정'과 '특성에 맞는 오프셋 및 필터를 적용하는 과정'을 모두 수행한다.
본 발명에서는, SAO 및 ALF가 적용되는 경우에 샘플 특성을 유도하는 과정'이 중복되어 수행(별도로 수행)되는 점에 착안하여, 별도로 수행되는 과정을 하나의 과정으로 통합하고, 이를 통해 복원된 영상에 대한 필터링 과정을 효율적으로 수행하는 방법을 제안한다.
도 17은 본 발명에서 제안하는 필터부(180, 460)의 예시적인 블록도이며, 도 18은 적응적 필터링 방법의 일 예를 설명하기 위한 순서도이다.
도 17에 나타낸 바와 같이, 필터부(180, 460)는 디블록킹 필터(182, 462) 및 적응적 필터부(1700)를 포함하여 구성될 수 있다. 적응적 필터부(1700)는 추출부(1710), 판단부(1720), 결정부(1730), 필터부(1740) 및 클리핑부(1750)를 포함하여 구성될 수 있다.
A. 특성 추출
추출부(1710)는 디블록킹 필터링이 적용된 복원영상(복원된 영상) 내 하나 이상의 복원샘플들로부터 하나 이상의 특성을 추출할 수 있다(S1802).
특성은 복원영상 내 복원샘플들 중에서 필터링 단위 별로 구분되어 추출될 수 있다. 여기서, 필터링 단위는 샘플, 블록, CTU 등 중에서 어느 하나일 수 있다. 특성은 복원샘플들의 평균 값, 최빈 값, 중앙 값, 최소 값, 최대 값 등과 같은 복원샘플들의 대표 값일 수 있다. 또한, 특성은 복원샘플들의 대표 값들을 이용하여 계산되는 값일 수 있다.
특성은 3탭의 1차원 필터 또는 2차원 필터를 통해 추출될 수 있다. 1차원 필터는 세로 방향, 가로 방향, 대각선 방향 등의 여러 방향으로 적용될 수 있으며, 각 방향에 따라 1차원 필터를 적용한 값이 특성으로 추출될 수 있다. 예를 들어, 필터링된 값의 절대 값이 특성으로 추출될 수 있다. 2차원 필터는 1차 미분 필터 또는 2차 미분 필터일 수 있다. 2차원 필터는 가로 방향(도 19a의 (b), 도 19b의 (b)), 세로 방향(도 19a의 (a), 도 19b의 (a)), 대각선 방향(도 19a의 (c) 및 (d), 도 19b의 (c) 및 (d)) 등의 여러 방향에 대한 1차 미분 필터 또는 2차 미분 필터일 수 있다.
특성은 특성 추출을 위해 필요한 정보를 이용하여 추출될 수도 있다. 특성 추출을 위한 정보는 필터 관련 정보일 수 있다. 필터 관련 정보는 필터의 모양, 크기, 계수 등을 포함하거나, 필터의 모드정보를 포함하거나, 잔차 필터의 계수를 포함할 수 있다. 이 경우, 복호화 장치의 추출부(1710)는 특성 추출을 위해 필요한 정보를 이용하여 필터를 결정하고, 결정된 필터를 이용하여 복원샘플들로부터 특성을 추출할 수 있다.
특성 추출을 위해 필요한 정보는 방향성에 따라 복원샘플들이 가질 수 있는 여러 모드들 중에서 어느 하나를 지시하는 모드정보일 수도 있다. 이 경우, 복호화 장치의 추출부(1710)는 특성 추출을 위해 필요한 정보를 이용하여 복원샘플들의 모드(방향성)를 결정하고, 결정된 모드를 이용하여 복원샘플들로부터 특성(현재 복원샘플 및 주변 복원샘플들)을 추출할 수 있다.
특성으로 추출될 수 있는 현재 복원샘플 및 주변 복원샘플들에 대한 예가 도 20a 및 도 20b에 나타나 있다. 특성은 도 20a의 (a)와 같이 가로방향으로 배열된 현재 복원샘플(c)과 주변 복원샘플들(a, b) 중에서 일부이거나, 도 20b의 (b)와 같이 세로방향으로 배열된 현재 복원샘플(c)과 주변 복원샘플들(a, b) 중에서 일부일 수 있다. 또한, 특성은 도 20b의 (a)와 같이 135도의 대각선 방향으로 배열된 현재 복원샘플(c)과 주변 복원샘플들(a, b) 중에서 일부이거나, 도 20b의 (b)와 같이 45도의 대각선 방향으로 배열된 현재 복원샘플(c)과 주변 복원샘플들(a, b) 중에서 일부일 수 있다.
특성 추출을 위해 필요한 정보는 부호화 장치에서 부호화되어 SPS 레벨, PPS 레벨, 슬라이스 헤더(slice header, SH) 레벨, 픽처 헤더(picture header, PH) 레벨 및 CTU 레벨 중에서 하나 이상을 통해 복호화 장치로 시그널링될 수 있다.
추출된 특성은 판단부(1730)로 입력될 수 있다. 실시형태에 따라, 추출된 특성을 양자화한 양자화 값이 판단부(1730)로 입력되거나, 추출된 특성을 룩업 테이블을 이용하여 맵핑한 맵핑 값이 판단부(1730)로 입력될 수 있다. 룩업 테이블에 대한 정보는 부호화 장치로부터 복호화 장치로 시그널링되거나, 부호화 장치와 복호화 장치가 동일한 룩업 테이블을 사용하도록 미리 약속될 수도 있다.
B. 클래스 판단(클래스 맵핑)
판단부(1720)는 추출된 특성 값에 기반하여 복원샘플들이 속하는 클래스를 판단할 수 있다(S1804). 이 과정은 추출된 특성을 미리 설정된 클래스들 중에서 복원샘플들이 속하는 클래스로 맵핑하는 과정일 수 있다.
일 예로, 클래스의 판단은 클래스 판단에 대한 계산식을 이용하여 수행될 수 있다. 클래스 판단에 대한 계산식이 부호화 장치로부터 복호화 장치로 시그널링되거나, 클래스 판단에 대한 계산식의 파라미터들이 부호화 장치로부터 복호화 장치로 시그널링될 수 있다.
클래스 판단에 대한 계산식의 일 예는 수학식 6과 같다.
Figure PCTKR2020018369-appb-img-000008
수학식 6에서, C는 판단된 클래스를 나타내고, A와 B는 판단부(1720)에 입력된 두 개의 특성을 나타낸다. A 및 B 중에서 어느 하나는 현재 복원샘플을 중심으로 하는 변화의 크기이거나, 현재 복원샘플을 중심으로 하는 변화의 방향성일 수 있다. M은 A, B 및 N(미리 설정된 클래스들의 수)에 따라 결정될 수 있다. 일 예로, N=25이고 C=0~24이며, A=0~4이고, B=0~4인 경우에, M=5로 결정될 수 있다.
다른 예로, 클래스의 판단은 클래스 판단을 위한 룩업 테이블을 이용하여 수행될 수 있다. 부호화 장치는 클래스 판단을 위한 룩업 테이블을 부호화하여 복호화 장치로 시그널링하거나, 부호화 장치와 복호화 장치가 동일한 룩업 테이블을 이용하도록 미리 설정될 수도 있다.
또 다른 예로, 현재 복원샘플과 주변 복원샘플들이 특성으로 추출되어 판단부(1720)로 입력되는 경우에는 현재 복원샘플의 크기(샘플 값)과 주변 복원샘플들의 크기(샘플 값)에 따라 클래스가 판단될 수 있다.
도 21을 참조하면, 도 21의 (a)와 같이, 현재 복원샘플(b)의 값보다 주변 복원샘플들(a, c)의 값이 더 크면서 주변 복원샘플들(a, c)의 값이 서로 같은 경우에는 제1클래스로 판단될 수 있다. 도 21의 (b) 및 (c)와 같이, 주변 복원샘플들(a, c) 중에서 어느 하나의 값이 현재 복원샘플(b)의 값과 같고 다른 하나의 값이 현재 복원샘플(b)의 값보다 큰 경우에는 제2클래스로 판단될 수 있다. 도 21의 (d) 및 (e)와 같이, 주변 복원샘플들(a, c) 중에서 어느 하나의 값이 현재 복원샘플(b)의 값과 같고 다른 하나의 값이 현재 복원샘플(b)의 값보다 작은 경우에는 제3클래스로 판단될 수 있다. 도 21의 (f)와 같이, 현재 복원샘플(b)의 값 주변 복원샘플들(a, c)의 값보다 더 크면서 주변 복원샘플들(a, c)의 값이 서로 같은 경우에는 제4클래스로 판단될 수 있다. 또한, 도 21의 (a) 내지 (f)에 해당하지 않는 경우에는 제5클래스로 판단될 수 있다.
판단된 클래스는 결정부(1730)으로 입력될 수 있다.
C. 필터 결정
결정부(1730)는 판단된 클래스에 대응되는 샘플 적응적 루프 필터(SAO 필터)와 클래스에 대응되는 적응적 루프 필터(ALF 필터)를 결정할 수 있다(S1806).
부호화 장치는 판단된 클래스에 따라서 필터링 단위마다 최적의 필터 계수(최적의 ALF 필터) 및 오프셋(최적의 SAO 필터)을 생성 또는 결정할 수 있다. '원본샘플들의 값과 복원샘플들의 값에 대해 최소 제곱법을 적용하여 최적의 ALF 필터를 결정하고, 최적의 ALF가 적용된 복원샘플들의 값과 원본샘플들의 값 사이의 오차의 평균을 오프셋 필터로 결정하는 방법'이 최적의 ALF 필터 및 최적의 SAO 필터를 결정하는 방법의 일 예로 이용될 수 있다.
최적의 ALF 필터에 대한 정보(필터 계수에 대한 정보) 및 최적의 SAO 필터에 대한 정보(오프셋에 대한 정보)는 부호화되어 부호화 장치로부터 복호화 장치로 시그널링될 수 있다. 필터 계수에 대한 정보 및 오프셋에 대한 정보는 APS 레벨 또는 APS 레벨보다 상위 레벨(예를 들어, 슬라이스 헤더 레벨)을 통해 시그널링될 수 있다.
복호화 장치는 시그널링된 필터 계수에 대한 정보 및 오프셋에 대한 정보를 이용하여, 클래스에 대응되는 SAO 필터 및 ALF 필터를 결정할 수 있다. 일 예로, 복호화 장치는 '상위 레벨에서 시그널링된 필터 계수에 대한 정보 및 오프셋에 대한 정보'와, 'APS 레벨에서 시그널링된 필터 계수에 대한 정보 및 오프셋에 대한 정보' 또는 '이전 필터링 단위에서 이용된 필터 계수 및 오프셋'을 이용하여, 현재 필터링 단위에서 이용될 필터 계수 및 오프셋을 결정 또는 갱신할 수 있다. 결정되는 필터 계수는 필터의 전체 계수들 중에서 일부일 수 있다. 또한, 일부의 필터 계수는 다음 필터링 단위에 공유될 수 있다. 공유되는 일부의 필터 계수는 클래스 또는 부호화 장치로부터 시그널링된 모드정보에 의해 결정될 수 있다.
결정된 SAO 필터에 대한 정보 및 결정된 ALF 필터에 대한 정보는 필터부(1740)로 입력될 수 있다.
D. 필터링
필터부(1740)는 결정부(1730)에서 결정된 SAO 필터 및 ALF 필터를 이용하여 복원샘플들을 필터링할 수 있다(S1808).
필터부(1740)에서 복원샘플들을 필터링하는 과정(S1808)은 복원샘플들에 SAO 필터를 적용하는 과정(SAO 필터링)과 복원샘플들에 ALF 필터를 적용하는 과정(ALF 필터링)으로 구분될 수 있다. SAO 필터링과 ALF 필터링은 동시에 수행되거나, SAO 필터링이 먼저 수행된 후에 ALF 필터링이 나중에 수행될 수도 있다.
SAO 필터링과 ALF 필터링이 동시에 수행되는 경우, 복원샘플들을 필터링하는 과정은 수학식 7로 표현될 수 있다.
Figure PCTKR2020018369-appb-img-000009
수학식 7에서, W는 ALF 필터의 계수 벡터를 나타내고, O는 SAO 필터 계수(오프셋)을 나타내며, X는 필터 계수 위치에 해당하는 복원샘플 벡터를 나타내고, x는 SAO 필터링과 ALF 필터링이 적용된 복원샘플을 나타낸다. W와 X는 동일한 길이를 가지는 벡터이며, 수학식 7과 같이 W와 X에 대한 내적 연산이 수행된 후에 O가 적용되어 x가 도출될 수 있다.
SAO 필터링이 먼저 수행된 후에 ALF 필터링이 나중에 수행되는 경우, 복원샘플들을 필터링하는 과정은 수학식 8로 표현될 수 있다.
Figure PCTKR2020018369-appb-img-000010
수학식 8과 같이, X에 대해 O가 먼저 적용된 후에 (X+O)와 W 사이의 내적 연산이 수행되어 x가 도출될 수 있다.
E. 클리핑(clipping)
클리핑부(1750)는 필터링된 복원샘플들의 값(현재 복원샘플의 값 및 주변 복원샘플들의 값), 문턱 값(임계 값)을 기초로 복원샘플들의 값을 클리핑(제한)할 수 있다.
문턱 값은 영상의 비트 깊이(depth) 등을 기초로 하여 결정될 수 있다. 부호화 장치는 결정된 문턱 값에 대한 정보를 부호화하여 복호화 장치로 시그널링하고, 복호화 장치는 복호화된 문턱 값에 대한 정보를 이용하여 클리핑에 적용될 문턱 값을 결정할 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는, 2019년 12월 16일에 한국에 출원한 특허출원번호 제10-2019-0168016호, 2020년 1월 9일에 한국에 출원한 특허출원번호 제10-2020-0003143호, 및 2020년 12월 15일에 한국에 출원한 특허출원번호 제10-2020-0175629에 대해 우선권을 주장한다.

Claims (18)

  1. 현재블록을 제1모드에 따라 예측하는 방법으로서,
    분할 모드 신택스 요소에 기초하여, 상기 현재블록을 비직사각형(non-rectangular) 블록들로 분할하는 단계;
    상기 비직사각형 블록들 중에서, 인트라 예측되는 인트라 블록 및 인터 예측되는 인터 블록을 결정하는 단계; 및
    움직임 정보에 기초하여 상기 인터 블록을 포함하는 제1영역의 예측 샘플들을 유도하고, 인트라 예측 모드에 기초하여 상기 인트라 블록을 포함하는 제2영역의 예측 샘플들을 유도하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 비직사각형 블록들의 분할 경계가 상기 현재블록의 가로 방향과 이루는 각도에 따라, 상기 인트라 블록 및 상기 인터 블록을 결정하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 비직사각형 블록들의 분할 경계로부터 상기 현재블록의 중심 위치까지의 수직 거리에 따라, 상기 인트라 블록 및 상기 인터 블록을 결정하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 인트라 예측 모드는,
    인트라 예측 모드 후보들 중에서 선택된 어느 하나이며,
    상기 인트라 예측 모드 후보들은,
    상기 비직사각형 블록들의 분할 경계가 상기 현재블록의 가로 방향과 이루는 각도에 대응되는 하나 이상의 방향성 모드를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 유도하는 단계는,
    움직임 정보에 기초하여 상기 인터 블록의 예측 샘플들을 유도하는 단계; 및
    상기 인터 블록의 예측 샘플들을 참조 샘플로 이용하여, 상기 인트라 블록의 예측 샘플들을 유도하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 인트라 블록의 예측 샘플들을 유도하는 단계는,
    상기 인터 블록의 예측 샘플들 중에서 상기 비직사각형 블록들의 분할 경계에 인접하는 예측 샘플들을 참조 샘플로 이용하여, 상기 인트라 블록의 예측 샘플들을 유도하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 현재블록의 주변 블록들 중에서 인트라 예측된 주변 블록의 개수에 따라, 상기 제1모드의 적용 여부를 판단하는 단계를 더 포함하고,
    상기 분할하는 단계는,
    상기 제1모드가 적용되는 것으로 판단되는 경우에 수행되는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 현재블록 내 예측 샘플들 중에서 대상 예측 샘플과 상기 현재블록 내 비직사각형 블록들의 분할 경계 사이의 거리를 고려하여, 상기 대상 예측 샘플에 적용될 인트라 가중치 및 인터 가중치를 유도하는 단계; 및
    상기 대상 예측 샘플의 인트라 예측 값에 상기 인트라 가중치를 적용한 가중 인트라 예측 값과 상기 대상 예측 샘플의 인터 예측 값에 상기 인터 가중치를 적용한 가중 인터 예측 값에 기반하여, 상기 대상 예측 샘플의 가중 예측 값을 유도하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 인트라 가중치 및 인터 가중치를 유도하는 단계는,
    상기 현재블록의 주변 블록들이 인터 예측 타입 및 인트라 예측 타입 중에서 어느 타입에 의해 예측되었는지 여부를 더 고려하여, 상기 인트라 가중치 및 상기 인터 가중치를 유도하는 것을 특징으로 하는 방법.
  10. 현재블록을 제1모드에 따라 예측하는 복호화 장치로서,
    분할 모드 신택스 요소에 기초하여, 상기 현재블록을 비직사각형(non-rectangular) 블록들로 분할하는 엔트로피 복호화부; 및
    상기 비직사각형 블록들 중에서, 인트라 예측되는 인트라 블록 및 인터 예측되는 인터 블록을 결정하는 예측부를 포함하고,
    상기 예측부는,
    움직임 정보에 기초하여 상기 인터 블록을 포함하는 제1영역의 예측 샘플들을 유도하고, 인트라 예측 모드에 기초하여 상기 인트라 블록을 포함하는 제2영역의 예측 샘플들을 유도하는 것을 특징으로 하는 복호화 장치.
  11. 제10항에 있어서,
    상기 예측부는,
    상기 비직사각형 블록들의 분할 경계가 상기 현재블록의 가로 방향과 이루는 각도에 따라, 상기 인트라 블록 및 상기 인터 블록을 결정하는 것을 특징으로 하는 복호화 장치.
  12. 제10항에 있어서,
    상기 예측부는,
    상기 비직사각형 블록들의 분할 경계로부터 상기 현재블록의 중심 위치까지의 수직 거리에 따라, 상기 인트라 블록 및 상기 인터 블록을 결정하는 것을 특징으로 하는 복호화 장치.
  13. 제10항에 있어서,
    상기 인트라 예측 모드는,
    인트라 예측 모드 후보들 중에서 선택된 어느 하나이며,
    상기 인트라 예측 모드 후보들은,
    상기 비직사각형 블록들의 분할 경계가 상기 현재블록의 가로 방향과 이루는 각도에 대응되는 하나 이상의 방향성 모드를 포함하는 것을 특징으로 하는 복호화 장치.
  14. 제10항에 있어서,
    상기 예측부는,
    움직임 정보에 기초하여 상기 인터 블록의 예측 샘플들을 유도하는 인터 예측부; 및
    상기 인터 블록의 예측 샘플들을 참조 샘플로 이용하여, 상기 인트라 블록의 예측 샘플들을 유도하는 인트라 예측부를 포함하는 것을 특징으로 하는 복호화 장치.
  15. 제14항에 있어서,
    상기 인트라 예측부는,
    상기 인터 블록의 예측 샘플들 중에서 상기 비직사각형 블록들의 분할 경계에 인접하는 예측 샘플들을 참조 샘플로 이용하여, 상기 인트라 블록의 예측 샘플들을 유도하는 것을 특징으로 하는 복호화 장치.
  16. 제10항에 있어서,
    상기 엔트로피 복호화부는,
    상기 현재블록의 주변 블록들 중에서 인트라 예측된 주변 블록의 개수에 따라, 상기 제1모드의 적용 여부를 더 판단하고,
    상기 제1모드가 적용되는 것으로 판단되는 경우에, 상기 현재블록을 상기 비직사각형 블록들로 분할하는 것을 특징으로 하는 복호화 장치.
  17. 제10항에 있어서,
    상기 예측부는,
    상기 현재블록 내 예측 샘플들 중에서 대상 예측 샘플과 상기 현재블록 내 비직사각형 블록들의 분할 경계 사이의 거리를 고려하여, 상기 대상 예측 샘플에 적용될 인트라 가중치 및 인터 가중치를 유도하고,
    상기 대상 예측 샘플의 인트라 예측 값에 상기 인트라 가중치를 적용한 가중 인트라 예측 값과 상기 대상 예측 샘플의 인터 예측 값에 상기 인터 가중치를 적용한 가중 인터 예측 값에 기반하여, 상기 대상 예측 샘플의 가중 예측 값을 유도하는 것을 특징으로 하는 복호화 장치.
  18. 제17항에 있어서,
    상기 예측부는,
    상기 현재블록의 주변 블록들이 인터 예측 타입 및 인트라 예측 타입 중에서 어느 타입에 의해 예측되었는지 여부를 더 고려하여, 상기 인트라 가중치 및 상기 인터 가중치를 유도하는 것을 특징으로 하는 복호화 장치.
PCT/KR2020/018369 2019-12-16 2020-12-15 임의의 모양으로 분할되는 블록을 예측하는 방법 및 복호화 장치 WO2021125751A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/785,509 US20230048262A1 (en) 2019-12-16 2020-12-15 Decoding device and method for predicting block partitioned into random shape
EP20902924.8A EP4068776A4 (en) 2019-12-16 2020-12-15 DECODING APPARATUS AND METHOD FOR PREDICTING RANDOM PARTITIONED BLOCKS
CN202080086347.6A CN114830653A (zh) 2019-12-16 2020-12-15 用于预测划分为任意形状的块的解码装置和方法

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20190168016 2019-12-16
KR10-2019-0168016 2019-12-16
KR20200003143 2020-01-09
KR10-2020-0003143 2020-01-09
KR10-2020-0175629 2020-12-15
KR1020200175629A KR20210076869A (ko) 2019-12-16 2020-12-15 임의의 모양으로 분할되는 블록을 예측하는 방법 및 복호화 장치

Publications (1)

Publication Number Publication Date
WO2021125751A1 true WO2021125751A1 (ko) 2021-06-24

Family

ID=76477614

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/018369 WO2021125751A1 (ko) 2019-12-16 2020-12-15 임의의 모양으로 분할되는 블록을 예측하는 방법 및 복호화 장치

Country Status (2)

Country Link
US (1) US20230048262A1 (ko)
WO (1) WO2021125751A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4178202A1 (en) * 2021-11-09 2023-05-10 Apple Inc. Multi-feature sample offset filtering system for video coding and decoding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150264352A1 (en) * 2010-07-02 2015-09-17 Humax Holdings Co., Ltd. Apparatus and method for encoding/decoding image for intra-prediction
KR101712156B1 (ko) * 2010-12-06 2017-03-06 에스케이 텔레콤주식회사 임의의 형태의 블록을 이용한 인터예측에 의한 영상의 부호화/복호화 방법 및 장치
KR20180041211A (ko) * 2015-09-10 2018-04-23 엘지전자 주식회사 인터-인트라 병합 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR20180084659A (ko) * 2017-01-16 2018-07-25 세종대학교산학협력단 영상의 부호화/복호화 방법 및 장치
KR20200003143A (ko) 2017-05-02 2020-01-08 센젠 차이나 스타 옵토일렉트로닉스 테크놀로지 컴퍼니 리미티드 Oled 디스플레이 패널 및 그 제조방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150264352A1 (en) * 2010-07-02 2015-09-17 Humax Holdings Co., Ltd. Apparatus and method for encoding/decoding image for intra-prediction
KR101712156B1 (ko) * 2010-12-06 2017-03-06 에스케이 텔레콤주식회사 임의의 형태의 블록을 이용한 인터예측에 의한 영상의 부호화/복호화 방법 및 장치
KR20180041211A (ko) * 2015-09-10 2018-04-23 엘지전자 주식회사 인터-인트라 병합 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR20180084659A (ko) * 2017-01-16 2018-07-25 세종대학교산학협력단 영상의 부호화/복호화 방법 및 장치
KR20200003143A (ko) 2017-05-02 2020-01-08 센젠 차이나 스타 옵토일렉트로닉스 테크놀로지 컴퍼니 리미티드 Oled 디스플레이 패널 및 그 제조방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
S. ESENLIK (HUAWEI), H. GAO (HUAWEI), A. FILIPPOV, V. RUFITSKIY, A. M. KOTRA, B. WANG, E. ALSHINA (HUAWEI), M. BLÄSER (RWTH-AACHEN: "Non-CE4: Geometrical partitioning for inter blocks", 15. JVET MEETING; 20190703 - 20190712; GOTHENBURG; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-O0489-v4, 7 July 2019 (2019-07-07), pages 1 - 9, XP030219723 *

Also Published As

Publication number Publication date
US20230048262A1 (en) 2023-02-16

Similar Documents

Publication Publication Date Title
WO2018212578A1 (ko) 비디오 신호 처리 방법 및 장치
WO2019125093A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018088805A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018008904A2 (ko) 비디오 신호 처리 방법 및 장치
WO2018044088A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020162737A1 (ko) 이차 변환을 이용하는 비디오 신호 처리 방법 및 장치
WO2018236028A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2018008905A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020185004A1 (ko) 예측 유닛을 서브 유닛들로 분할하여 예측하는 인트라 예측 방법 및 장치
WO2018044089A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018164504A1 (ko) 비디오 신호 처리 방법 및 장치
WO2022186616A1 (ko) 인트라 예측모드 유도를 이용하는 비디오 코딩방법 및 장치
WO2021060804A1 (ko) 크로마블록의 잔차블록 복원 방법 및 복호화 장치
WO2018070788A1 (ko) 영상 부호화 방법/장치, 영상 복호화 방법/장치 및 비트스트림을 저장한 기록 매체
WO2021125751A1 (ko) 임의의 모양으로 분할되는 블록을 예측하는 방법 및 복호화 장치
WO2019190202A1 (ko) 비디오 신호 처리 방법 및 장치
WO2024034849A1 (ko) 루마 성분 기반 크로마 성분 예측을 이용하는 비디오 코딩을 위한 방법 및 장치
WO2022108417A1 (ko) 서브블록단위 인트라 예측을 이용하는 영상 부호화 및 복호화 방법과 장치
WO2023224280A1 (ko) 혼합 성분간 예측을 사용하는 비디오 코딩을 위한 방법 및 장치
WO2023085600A1 (ko) 암시적 임의 블록분할 및 이에 따른 예측을 이용하는 비디오 코딩을 위한 방법 및 장치
WO2023224289A1 (ko) 가상의 참조라인을 사용하는 비디오 코딩을 위한 방법 및 장치
WO2024111820A1 (ko) 기하학적 분할에 기반하여 크로마 블록을 인트라 예측하는 비디오 코딩을 위한 방법 및 장치
WO2024111851A1 (ko) 인트라 서브분할 예측과 변환생략을 이용하는 비디오 코딩을 위한 방법 및 장치
WO2023219279A1 (ko) 기하학적 분할에 기초하는 인터/인트라 예측을 이용하는 비디오 코딩을 위한방법 및 장치
WO2024049024A1 (ko) 1차 변환 커널에 적응적인 분리 불가능한 2차 변환 기반 비디오 코딩을 위한 방법 및 장치

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: 20902924

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020902924

Country of ref document: EP

Effective date: 20220630

NENP Non-entry into the national phase

Ref country code: DE