WO2022031018A1 - 임의 블록 분할을 이용한 비디오 부호화 및 복호화 - Google Patents

임의 블록 분할을 이용한 비디오 부호화 및 복호화 Download PDF

Info

Publication number
WO2022031018A1
WO2022031018A1 PCT/KR2021/010248 KR2021010248W WO2022031018A1 WO 2022031018 A1 WO2022031018 A1 WO 2022031018A1 KR 2021010248 W KR2021010248 W KR 2021010248W WO 2022031018 A1 WO2022031018 A1 WO 2022031018A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
boundary line
intra prediction
rectangular
target block
Prior art date
Application number
PCT/KR2021/010248
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 CN202180057609.0A priority Critical patent/CN116134812A/zh
Priority claimed from KR1020210102494A external-priority patent/KR20220017380A/ko
Publication of WO2022031018A1 publication Critical patent/WO2022031018A1/ko
Priority to US18/105,105 priority patent/US20230179762A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/124Quantisation
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/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
    • 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/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/18Methods 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 a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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

Definitions

  • the present invention relates to video encoding and decoding using arbitrary block division.
  • video data Since video 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 compression processing.
  • an encoder when storing or transmitting video data, an encoder is used to compress and store or transmit the video data, and a decoder receives, decompresses, and reproduces the compressed video data.
  • video compression technologies there are H.264/AVC, High Efficiency Video Coding (HEVC), and the like, as well as Versatile Video Coding (VVC), which improves coding efficiency by about 30% or more compared to HEVC.
  • the present disclosure proposes a method for efficiently encoding or decoding a video including edges in various directions. More specifically, we propose a prediction and transformation method for a block including edges that are not horizontal or vertical.
  • the decoding method may include decoding boundary line information specifying at least one boundary line for dividing the target block from a bitstream, wherein the boundary line information divides the target block into a plurality of non-rectangular blocks. allow partitioning into ; determining intra prediction modes for the non-rectangular blocks based on the boundary line information; generating a prediction block of the target block by intra-predicting each of the non-rectangular blocks using the intra prediction modes; reconstructing a residual block of the target block from the bitstream; and reconstructing the target block by adding the prediction block and the residual block.
  • the step of reconstructing the residual block may include reconstructing a plurality of rectangular transform coefficient blocks from the bitstream; generating residual subblocks by inversely transforming each of the transform coefficient blocks;
  • the target block is divided into a plurality of regions based on a boundary line specified by the boundary line information, the number of the transform coefficient blocks, and the size of each of the transform coefficient blocks, and corresponding residual signals in each residual subblock and reconstructing the residual block by relocating it into a region.
  • the plurality of regions includes a boundary line region including the boundary line and formed in the vicinity of the boundary line, and one or more non-boundary line regions not including the boundary line.
  • the encoding method may include dividing the target block using at least one boundary line, the boundary line allowing dividing the target block into a plurality of non-rectangular blocks; determining intra prediction modes for the non-rectangular blocks based on the boundary line; generating a prediction block of the target block by intra-predicting each of the non-rectangular blocks; generating a residual block of the target block by subtracting the prediction block from the target block; and encoding boundary line information for specifying the boundary line and residual signals in the residual block.
  • the encoding of the residual signals in the residual block may include dividing the target block into a plurality of regions, wherein the plurality of regions include a boundary line region including the boundary line and formed near the boundary line, and the boundary line. includes one or more non-borderline regions that are not; and for each of the plurality of regions, rearranging residual signals within the region to generate a rectangular residual subblock, and transforming the residual subblock.
  • 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.
  • 3 is a diagram illustrating a plurality of intra prediction modes.
  • FIG. 4 is an exemplary diagram of a neighboring block of the current block.
  • FIG. 5 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure.
  • FIG. 6 is an exemplary diagram of geometrically dividing a target block according to an aspect of the present disclosure.
  • FIG. 7 is an exemplary diagram illustrating various predefined boundary lines according to an aspect of the present disclosure.
  • FIG. 8 is an exemplary diagram for explaining a method of configuring reference pixels for each sub-block according to an aspect of the present disclosure.
  • FIG. 9 is another exemplary diagram for explaining a method of configuring reference pixels for each sub-block according to an aspect of the present disclosure.
  • FIG. 10 is an exemplary diagram for explaining a method of determining an intra prediction mode of each subblock according to an aspect of the present disclosure.
  • 11 is an exemplary diagram for explaining a method of encoding an intra prediction mode of each subblock according to an aspect of the present disclosure.
  • FIG. 12 is an exemplary diagram for explaining a method of transforming a geometrically divided target block into a plurality of subblocks according to an aspect of the present disclosure.
  • FIG. 13 is a flowchart illustrating a method of encoding residual signals in a target block that is geometrically divided into a plurality of subblocks according to an aspect of the present disclosure.
  • FIG. 14 and 15 are exemplary views for explaining a method of dividing a target block into non-rectangular regions and rearranging residual signals in the non-rectangular regions according to an aspect of the present disclosure.
  • 16 is a flowchart illustrating a decoding method performed by an image decoding apparatus corresponding to the encoding method of FIG. 13 .
  • 17 is another exemplary diagram for explaining a method of dividing a target block into non-rectangular regions and rearranging residual signals in non-rectangular regions according to an aspect of the present disclosure.
  • FIG. 18 is an exemplary diagram for explaining a method of determining a quantization parameter according to an aspect of the present disclosure.
  • 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 block 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 loop filter unit 180 , and a memory 190 may be included.
  • 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 as software and the microprocessor may be implemented to execute the function of software corresponding to each component.
  • One image is composed of one or more sequences including a plurality of pictures.
  • Each picture is divided into a plurality of regions, and encoding is performed for each region.
  • one picture is divided into one or more tiles and/or slices.
  • 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).
  • CTUs Coding Tree Units
  • 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.
  • 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 or more pictures is a picture parameter set (PPS) or a picture. encoded in the header.
  • PPS picture parameter set
  • SPS sequence parameter set
  • information commonly applied to one tile or tile group may be encoded as a syntax of a tile or tile group header. Syntax included in the SPS, PPS, slice header, tile or tile group header may be referred to as high-level syntax.
  • the bitstream may include one or more adaptation parameter sets (APS) including parameters referenced by a picture or a group of pixels smaller than a picture, for example, a slice.
  • APS adaptation parameter sets
  • the picture header or slice header includes an ID for identifying an APS to be used in a corresponding picture or slice. Pictures referring to different PPSs or slices referencing different picture headers may share the same parameters through the same APS ID.
  • Each of the plurality of pictures may be divided into a plurality of subpictures capable of independent encoding/decoding and/or independent display.
  • subpicture division When subpicture division is applied, information on the layout of subpictures within the picture is signaled.
  • the block division unit 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 block dividing unit 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
  • a quadtree 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 in a 1:2:1 ratio, or a structure in which two or more of these QT structures, BT structures, and TT structures are mixed have.
  • a QuadTree plus BinaryTree (QTBT) structure may be used, or a QuadTree plus BinaryTree TernaryTree (QTBTTT) structure may be used.
  • BTTT may be combined to be referred to as a Multiple-Type Tree (MTT).
  • MTT Multiple-Type Tree
  • FIG. 2 shows the structure of a QTBTTT split tree.
  • a 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 of a leaf node (MinQTSize) allowed in QT.
  • a first flag (QT_split_flag) indicating whether each node of the QT structure is divided into four nodes of a lower layer is encoded by the entropy encoder 155 and signaled to the image decoding apparatus. If 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.
  • MaxBTSize maximum block size
  • 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.
  • a second flag indicating whether nodes are split
  • a flag indicating additional splitting directions vertical or horizontal
  • split and/or split type Boary or Ternary
  • a CU split flag (split_cu_flag) indicating whether the node is split is encoded it might 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.
  • the CU split flag (split_cu_flag) value indicates to be split, the image encoding apparatus starts encoding from the first flag in the above-described manner.
  • split_flag split flag indicating whether each node of the BT structure is split into blocks of a lower layer and split type information indicating a split type are encoded by the entropy encoder 155 and transmitted to the image decoding apparatus.
  • a type for dividing the block of the corresponding node into two blocks having an asymmetric shape may further exist.
  • 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 .
  • the intra prediction unit 122 constructs reference samples from reconstructed samples located in the vicinity of the current block in the current picture including the current block, and predicts samples in the current block using the reference samples.
  • 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.
  • a reference sample to be used and an operation expression are defined differently according to each prediction mode.
  • 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 reference sample and an equation determined according to the selected intra prediction mode.
  • Information on the selected intra prediction mode is encoded by the entropy encoder 155 and transmitted to an 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 inter prediction unit 124 may perform interpolation on a reference picture or reference block in order to increase prediction accuracy. That is, subsamples between two consecutive integer samples are interpolated by applying filter coefficients to a plurality of consecutive integer samples including the two integer samples.
  • the motion vector may be expressed up to the precision of the decimal unit rather than the precision of the integer sample unit.
  • Motion vector precision ie, motion vector resolution
  • information on the motion vector resolution to be applied to each target region should be signaled for each target region. For example, when the target region is a CU, information on motion vector resolution applied to each CU is signaled.
  • the inter prediction unit 124 may perform inter prediction using bi-prediction.
  • bi-directional prediction two reference pictures and two motion vectors indicating the position of a block most similar to the current block in each reference picture are used.
  • the inter prediction unit 124 selects a first reference picture and a second reference picture from the reference picture list 0 (RefPicList0) and the reference picture list 1 (RefPicList1), respectively, and searches for a block similar to the current block in each reference picture. A first reference block and a second reference block are generated. Then, the first reference block and the second reference block are averaged or weighted to generate a prediction block for the current block.
  • reference picture list 0 consists of pictures before the current picture in display order among the restored pictures
  • reference picture list 1 consists of pictures after the current picture in display order among the restored pictures.
  • the present invention is not necessarily limited thereto, and in display order, the restored pictures after the current picture may be further included in the reference picture list 0, and conversely, the restored pictures before the current picture are additionally added to the reference picture list 1. may be included.
  • Motion information used for inter prediction must be signaled to an image decoding apparatus.
  • Various methods may be used to minimize the amount of bits required to encode motion information.
  • the motion information of the current block may be transmitted to the decoding apparatus by encoding information for identifying the neighboring block. This method is called 'merge mode'.
  • the inter prediction unit 124 selects a predetermined number of merge candidate blocks (hereinafter referred to as 'merge candidates') from neighboring blocks of the current block.
  • a block located in a reference picture (which may be the same as or different from the reference picture used to predict the current block) other than the current picture in which the current block is located may be used as a merge candidate.
  • a block co-located with the current block in the reference picture or blocks adjacent to the co-located block may be further used as merge candidates.
  • the inter prediction unit 124 constructs a merge list including a predetermined number of merge candidates by using these neighboring blocks.
  • a merge candidate to be used as motion information of the current block is selected from among the merge candidates included in the merge list, and merge index information for identifying the selected candidate is generated.
  • the generated merge index information is encoded by the encoder 155 and transmitted to a decoding apparatus.
  • AMVP mode Another method for encoding motion information is AMVP mode.
  • the inter prediction unit 124 derives motion vector prediction candidates for the motion vector of the current block using neighboring blocks of the current block.
  • the neighboring blocks used to derive the prediction motion vector candidates the left block (L), the upper block (A), the upper right block (AR), the lower left block ( BL), all or part of the upper left block AL may be used.
  • a block located in a reference picture (which may be the same as or different from the reference picture used to predict the current block) other than the current picture in which the current block is located is used as a neighboring block used to derive prediction motion vector candidates.
  • a block co-located with the current block in the reference picture or blocks adjacent to the co-located block may be used.
  • the inter prediction unit 124 derives prediction motion vector candidates by using the motion vectors of the neighboring blocks, and determines a predicted motion vector with respect to the motion vector of the current block by using the prediction motion vector candidates. Then, a differential motion vector is calculated by subtracting the predicted motion vector from the motion vector of the current block.
  • the prediction motion vector may be obtained by applying a predefined function (eg, a median value, an average value operation, etc.) to the prediction motion vector candidates.
  • a predefined function eg, a median value, an average value operation, etc.
  • the image decoding apparatus also knows the predefined function.
  • the neighboring block used to derive the prediction motion vector candidate is a block that has already been encoded and decoded
  • the video decoding apparatus already knows the motion vector of the neighboring block. Therefore, the image encoding apparatus does not need to encode information for identifying the prediction motion vector candidate. Accordingly, in this case, information on a differential motion vector and information on a reference picture used to predict a current block are encoded.
  • the prediction motion vector may be determined by selecting any one of the prediction motion vector candidates.
  • information for identifying the selected prediction motion vector candidate is additionally encoded together with information on the differential motion vector and information on the reference picture used to predict the current block.
  • 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 may transform the residual signals in the residual block.
  • the two-dimensional size of the residual block may be used as a transform unit (hereinafter, 'TU'), which is a block size for performing transformation.
  • 'TU' transform unit
  • the residual block may be divided into a plurality of subblocks and residual signals in the corresponding subblock may be transformed by using each subblock as a TU.
  • the transform unit 140 divides the residual block into one or more subblocks and applies a transform to the one or more subblocks to transform residual values of the transform blocks from the pixel domain to the frequency domain.
  • transformed blocks are referred to as coefficient blocks or transform blocks including 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 a horizontal transform and a vertical direction.
  • the transform kernel may be based on a discrete cosine transform (DCT), a discrete sine transform (DST), or the like.
  • the transform kernel may be referred to as a transform matrix.
  • the transform unit 140 may separately transform the residual block or transform unit in a horizontal direction and a vertical direction.
  • various types of transformation kernels or transformation matrices may be used.
  • a pair of transform kernels for horizontal transformation and vertical transformation may be defined as a multiple transform set (MTS).
  • the transform unit 140 may select one transform kernel pair having the best transform efficiency among MTSs and transform the residual blocks in horizontal and vertical directions, respectively.
  • Information (mts_idx) on a transform kernel pair selected from among MTSs is encoded by the entropy encoder 155 and signaled to the image decoding apparatus.
  • the quantization unit 145 quantizes the transform coefficients output from the transform unit 140 using a quantization parameter, 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 quantization unit 145 may apply different quantization coefficients (scaling values) according to positions of the transform coefficients in the transform block.
  • a matrix of quantization coefficients applied to two-dimensionally arranged quantized transform coefficients may be encoded and signaled to an image decoding apparatus.
  • the rearrangement 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 encoding unit 155 encodes information such as CTU size, CU split flag, QT split flag, MTT split type, and MTT split direction 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.
  • 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) or inter prediction information (in the case of the merge mode, the merge index, in the case of the AMVP mode, the reference picture index and the information on the differential motion vector) is encoded.
  • the entropy encoder 155 encodes information related to quantization, that is, information about a quantization parameter and information about a quantization matrix.
  • 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 reconstructs a 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 . Samples in the reconstructed current block are used as reference samples when intra-predicting a block of the next order.
  • the loop filter unit 180 is a reconstructed sample to reduce blocking artifacts, ringing artifacts, blurring artifacts, etc. generated due to block-based prediction and transformation/quantization. filter on them.
  • the loop filter unit 180 may include one or more of a deblocking filter 182 , a sample adaptive offset (SAO) filter 184 , and an adaptive loop filter (ALF) 186 .
  • SAO sample adaptive offset
  • ALF adaptive loop filter
  • the deblocking filter 182 filters the boundary between the reconstructed blocks in order to remove blocking artifacts 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 sample and an original sample caused by lossy coding, and is performed by adding each reconstructed sample to an offset corresponding to the reconstructed sample. .
  • the ALF 186 performs filtering on the target sample by applying filter coefficients to the target sample to be filtered and neighboring samples of the target sample.
  • the ALF 186 divides a sample included in an image into a predetermined group and determines one filter to be applied to the corresponding group, thereby differentially filtering each group.
  • Information on filter coefficients to be used for ALF may be encoded and signaled to an image decoding apparatus.
  • the restored block filtered through the loop filter unit 180 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. 5 is an exemplary functional block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure.
  • an image decoding apparatus and sub-components of the apparatus will be described with reference to FIG. 5 .
  • the image decoding apparatus includes an entropy decoding unit 510, a reordering unit 515, an inverse quantization unit 520, an inverse transform unit 530, a prediction unit 540, an adder 550, a loop filter unit 560, and a memory ( 570) 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 as software and the microprocessor may be implemented to execute the function of software corresponding to each component.
  • the entropy decoding unit 510 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 510 extracts information on the CTU size from a sequence parameter set (SPS) or a picture parameter set (PPS), determines the size of the CTU, 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 division of MTT and the division direction (vertical / horizontal) and / or division type (binary / ternary) information are extracted and the corresponding leaf node is set to MTT divided 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 to further split into BT and split direction information is extracted.
  • the entropy decoding unit 510 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 510 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 510 extracts a syntax element for the inter prediction information, that is, a motion vector and information indicating a reference picture referenced by the motion vector.
  • the entropy decoding unit 510 extracts quantization-related information and information on quantized transform coefficients of the current block as information on the residual signal.
  • the reordering unit 515 re-orders the sequence of one-dimensional quantized transform coefficients entropy-decoded by the entropy decoding unit 510 in the 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 520 inverse quantizes the quantized transform coefficients by using the quantization parameter.
  • the inverse quantizer 520 may apply different quantization coefficients (scaling values) to the two-dimensionally arranged quantized transform coefficients.
  • the inverse quantizer 520 may perform inverse quantization by applying a matrix of quantization coefficients (scaling values) from the image encoding apparatus to a 2D array of quantized transform coefficients.
  • the inverse transform unit 530 inversely transforms the inverse quantized transform coefficients from the frequency domain to the spatial domain to reconstruct residual signals to generate a reconstructed residual block for the current block.
  • the inverse transform unit 530 determines a transform kernel or transform matrix to be applied in the horizontal and vertical directions, respectively, using the MTS information (mts_idx) signaled from the image encoding apparatus, and uses the determined transform function. Inverse transform is performed on transform coefficients in the transform block in the horizontal and vertical directions.
  • the prediction unit 540 may include an intra prediction unit 542 and an inter prediction unit 544 .
  • the intra prediction unit 542 is activated when the prediction type of the current block is intra prediction
  • the inter prediction unit 544 is activated when the prediction type of the current block is inter prediction.
  • the intra prediction unit 542 determines the intra prediction mode of the current block from among the plurality of intra prediction modes from the syntax element for the intra prediction mode extracted from the entropy decoding unit 510, and references the vicinity of the current block according to the intra prediction mode. Predict the current block using samples.
  • the inter prediction unit 544 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 510, and divides the motion vector and the reference picture. is used to predict the current block.
  • the inter prediction unit 544 may perform interpolation filtering according to the value of the motion vector of the current block. That is, when the fractional part of the motion vector is not 0, the inter prediction unit 544 generates subsamples indicated by the fractional part through interpolation. When the fractional part of the horizontal component (x component) of the motion vector is not 0, interpolation is performed in the horizontal direction, and when the fractional part of the vertical component (y component) of the motion vector is not 0, the interpolation is performed in the vertical direction.
  • the adder 550 reconstructs the current block by adding the residual block output from the inverse transform unit and the prediction block output from the inter prediction unit or the intra prediction unit. Samples in the reconstructed current block are used as reference samples when intra-predicting a block to be decoded later.
  • the loop filter unit 560 may include at least one of a deblocking filter 562 , an SAO filter 564 , and an ALF 566 .
  • the deblocking filter 562 deblocks and filters the boundary between the reconstructed blocks in order to remove a blocking artifact caused by block-by-block decoding.
  • the SAO filter 564 performs filtering in such a way that an offset corresponding to the reconstructed block after deblocking filtering is added to compensate for the difference between the reconstructed sample and the original sample caused by lossy coding. do.
  • the ALF 566 performs filtering on the target sample by applying filter coefficients to the target sample to be filtered and neighboring samples of the target sample.
  • the ALF 566 may divide a sample included in an image into a predetermined group and then determine one filter to be applied to the corresponding group to differentially perform filtering for each group.
  • the filter coefficients of the ALF are determined using information about the filter coefficients decoded from the non-stream.
  • the restored block filtered through the loop filter unit 560 is stored in the memory 570 .
  • the reconstructed picture is used as a reference picture for inter prediction of blocks in a picture to be encoded later.
  • the conventional image encoding apparatus and image decoding apparatus encode and decode a picture in units of square blocks or rectangular blocks.
  • this square or rectangular block-based encoding may reduce encoding efficiency.
  • a CTU to be divided into a tree structure may include an edge in a diagonal direction.
  • CUs in the CTU including the edge must be recursively divided into smaller square or rectangular CUs.
  • iterative partitioning causes an increase in the amount of encoding of partition information related to the tree structure partitioning of the CTU.
  • the image encoding apparatus further adds a CU including a diagonal line. It may not be divided any more. Square or rectangular block-based coding of such a CU increases the amount of bits required to encode coded data of the CU, that is, a residual signal.
  • the present disclosure provides a method for efficiently encoding pictures including edges in various directions using any form of block division, that is, geometric block division.
  • the image encoding apparatus divides a square or rectangular target block into non-rectangular blocks.
  • the rectangular block means a block having a square or rectangular shape
  • the non-rectangular block means a block not having a square or rectangular shape.
  • the image encoding apparatus geometrically divides the target block into a plurality of non-rectangular subblocks based on the edge. can do.
  • FIG. 6 is an exemplary diagram of geometrically dividing a target block according to an embodiment of the present invention.
  • the image encoding apparatus may divide the target block into subblock A and subblock B based on the edge 602 .
  • the image encoding apparatus may divide the object block into three subblocks A, B, and C. .
  • the image encoding apparatus encodes segmentation information related to geometric segmentation of the target block.
  • the division information may include a flag indicating whether geometric division, ie, block division in any form, is applied to the target block.
  • the division information includes division mode information related to the geometric division shape of the target block.
  • the division mode information includes information indicating a boundary line between subblocks, and may further include information indicating the number of boundary lines.
  • the information on the boundary line may be defined as the location or coordinates of both endpoints where the boundary line meets the boundary of the target block.
  • the positions of both endpoints can be expressed with various precisions.
  • the accuracy of the position of both endpoints of the boundary may be expressed in units of integer pixels, or in units of fractional pixels such as 1/2, 1/4, 1/8, 1/16, 1/32, etc. it might be
  • the image encoding apparatus may signal the positions of both endpoints directly, or alternatively signal an index indicating the coordinates of both endpoints. For example, each side of the target block may be divided at equal intervals of a predefined number, and indexes may be assigned to division points of each side.
  • the image encoding apparatus may encode an index of a splitting point corresponding to each of both end points of the boundary line of the target block.
  • the index for the split point may be allocated in various ways. For example, an index may be assigned to each division point in a clockwise direction from the upper-left division point of the target block.
  • the index for the splitting point may be independently allocated to each side of the target block. For example, indexes starting from 0 may be assigned to each side of the target block.
  • the video encoding apparatus encodes a flag indicating whether or not a dividing point of the boundary line exists for each side of the target block and an index for the side on which the dividing point exists.
  • the information on the boundary line may be information indicating the angle and position of the boundary line.
  • the position of the boundary line may be expressed as a distance from the center of the target block to the boundary line.
  • the angle and distance of the boundary line can be expressed with various precision.
  • the angles of the boundary line may be expressed in integer units such as 1 degree, 2 degrees, or in fractional units such as 1/2, 1/4, 1/8, 1/16, 1/32, etc. can be expressed
  • the distance of the boundary line can also be expressed with integer pixel or sub-pixel precision.
  • the image encoding apparatus may directly signal the angle and distance of the boundary line, or alternatively may signal indices respectively corresponding to the angle and distance of the boundary line in the target block from among predefined angles and distances.
  • Both endpoints of the boundary line described above or the angle and distance of the boundary line may be predictively encoded.
  • the image encoding apparatus selects a block identical to or similar to the division mode of the target block from among the sub-coded blocks, the difference between both endpoints of the boundary line of the selected block and both endpoints of the boundary line of the target block, or the boundary of the selected block Information on the difference between the distance and angle and the distance and angle of the boundary line of the target block may be encoded.
  • selection information indicating which block is selected from among the code-coded blocks may be encoded.
  • the sub-coded blocks are selected from, for example, neighboring blocks adjacent to the target block as shown in FIG.
  • the information on the boundary line may be expressed as an index indicating a boundary line within the target block among boundary lines in various predefined directions.
  • 7 is an exemplary diagram illustrating various predefined boundary lines. 7 shows 64 boundary lines.
  • the image encoding apparatus encodes an index corresponding to the boundary line of the target block among 64 boundary lines.
  • the image encoding apparatus may signal the number of boundary lines and as many indices as the number of boundary lines.
  • the image encoding apparatus encodes the segmentation information described above and signals it to the image decoding apparatus, and the image decoding apparatus divides the target block into subblocks using the segmentation information in the same manner as in the image encoding apparatus.
  • the image encoding apparatus may signal a flag indicating whether geometrical division is enabled at a level higher than the target block, for example, at a level such as SPS, PPS, slice, or tile.
  • a flag indicates that geometric division is enabled, the above-described division information is signaled for blocks in the image area corresponding to the level.
  • the aforementioned geometric segmentation may be applied to both inter prediction encoding and intra prediction encoding.
  • the prediction unit 120 of the image encoding apparatus performs inter prediction or intra prediction on each subblock.
  • Prediction information used for inter or intra prediction is signaled to an image decoding apparatus, and the predictor 540 of the image decoding apparatus uses the prediction information in the same manner as the predictor 120 of the image encoding apparatus, predict blocks.
  • the inter prediction unit 124 of the image encoding apparatus determines a motion vector for each of the subblocks and generates prediction subblocks corresponding to the subblocks by using the motion vector. Then, a prediction block for the target block is generated by combining the prediction subblocks. In order to remove artifacts at the boundary between subblocks, the inter prediction unit 124 may perform additional filtering on prediction pixels near the boundary between the subblocks.
  • Motion information for each sub-block is encoded by the encoder 155 and transmitted to an image decoding apparatus.
  • the inter prediction unit 544 of the image decoding apparatus generates a prediction block of the target block by predicting each subblock in the same manner as the inter prediction unit 124 of the image encoding apparatus using the received motion information.
  • the inter prediction unit 124 constructs a merge list including a predetermined number of merge candidates from neighboring blocks of the target block. Next, the inter prediction unit 124 selects a merge candidate to be used as a motion vector of each subblock from among the merge candidates included in the merge list, and generates merge index information for identifying the selected candidate.
  • Merge index information for each subblock is encoded by the encoder 155 and transmitted to an image decoding apparatus.
  • the inter prediction unit 544 of the video decoding apparatus that has received the merge index information of each subblock constructs a merge list in the same way as the inter prediction unit 124 of the video encoding apparatus, and is instructed by the merge index information from the merge list.
  • Each subblock is predicted by selecting a merge candidate to be
  • the intra prediction unit 122 of the image encoding apparatus constructs reference pixels (reference samples) from reconstructed pixels around the target block, and determines an intra prediction mode for each of the subblocks. Then, each subblock is predicted from reference pixels according to the determined intra prediction mode.
  • the intra predictor 542 of the image decoding apparatus predicts each subblock in the same manner as the intra predictor 122 of the image encoding apparatus, using information received from the image encoding apparatus.
  • the operation of the intra predictor 542 of the image decoding apparatus is the same as that of the intra predictor 122 of the image encoding apparatus, the operation of the image encoding apparatus will be mainly described below.
  • reference pixels for each sub-block may be configured differently.
  • the probability of having different texture characteristics is high.
  • blocks located in the same direction with respect to the boundary line have a high probability of having similar texture characteristics. Accordingly, the reference pixels for each sub-block are configured using neighboring pixels positioned in the same direction as the corresponding sub-block with respect to the boundary line.
  • FIG. 8 is an exemplary diagram for explaining a method of configuring reference pixels for each sub-block.
  • the reference pixels may be configured using neighboring pixels included in a row adjacent to the upper side of the target block and a column adjacent to the left side of the target block.
  • the reference pixels for the sub-block A are composed of neighboring pixels 802 and 804 located in the same direction as the sub-block A with respect to the boundary line among the neighboring pixels included in the upper row or left column.
  • the reference pixels for the sub-block B are composed of neighboring pixels 806 located in the same direction as the sub-block B with respect to the boundary line among the neighboring pixels included in the upper row or left column.
  • the intra prediction unit 122 specifies the boundary line within the target block by the angle (or direction) of the boundary line and the position of the boundary line within the target block, and calculates the positions (P, Q) where the boundary line meets the upper row and left column. have.
  • the intra prediction unit 122 determines reference pixels located in the same direction as each subblock with respect to the boundary line by using the positions P and Q.
  • the reference pixels may be configured using neighboring pixels included in an upper row and a left column immediately adjacent to the target block, but the present invention is not limited thereto.
  • the intra prediction unit 122 may configure reference pixels using restored surrounding pixels included in other rows or columns that are not immediately adjacent to the target block.
  • 9 is another exemplary diagram for explaining a method of configuring reference pixels for each sub-block.
  • the intra prediction unit 122 may configure reference pixels using neighboring pixels included in at least one non-adjacent line as well as a line immediately adjacent to the target block. For example, peripheral pixels included in a predetermined number of columns on the left side of the target block and a predetermined number of rows on the upper side of the target block may be used to configure the reference pixels.
  • the intra prediction unit 122 may select which line from among the plurality of lines to use.
  • the intra prediction unit 122 may calculate a position where the selected line and the boundary line meet, and configure the reference pixels for each subblock differently by using the calculated position. Meanwhile, index information on the selected line among the plurality of lines is encoded and transmitted to the image decoding apparatus.
  • the image decoding apparatus selects a line for configuring reference pixels from among a plurality of lines by using the received index information.
  • An index for each line (row and column) may be assigned according to how many lines are away from the target block. For example, an index 0 may be assigned to a first line immediately adjacent to a target block, an index 1 may be assigned to a second line, and the like.
  • a plurality of rows and columns may be used instead of one row and column.
  • Information on a plurality of rows and columns may be transmitted through each index, and alternatively, an index for selecting one or more candidates from a list consisting of paired candidates each of two or more lines may be transmitted.
  • the indexes of the left and upper lines may be configured differently. For example, the first line may be selected in the left column and the second line may be selected in the upper row.
  • Intra prediction modes used to predict each subblock may include directional modes and non-directional modes (eg, DC mode, PLANAR mode), as shown in FIG. 3 .
  • An intra prediction mode for each subblock may be selected based on at least one of the angle (or direction) of the boundary line and the positions of the subblocks in the target block.
  • directional modes applicable to each sub-block may be limited. In other words, based on at least one of the angle (or direction) of the boundary line and the positions of subblocks in the target block, only some intra prediction modes from among all intra prediction modes for each subblock may be selected. As described above, each subblock is predicted using different reference samples. Accordingly, the intra prediction unit 122 limits the directional modes applicable to each subblock so that only reference samples allowed for each subblock can be used. This constraint reduces the amount of bits required to encode the intra prediction modes of each subblock.
  • the directional modes are in the range between boundary_angle and (boundary_angle + 180 degrees), that is, angles falling within the range from boundary_angle to (boundary_angle + 180 degrees) in the counterclockwise direction. It may be classified into a set of directional modes having ?
  • the intra prediction unit 122 applies a directional mode belonging to a different set to each subblock. Referring to the example of FIG. 10 , the target block is divided into sub-block A and sub-block B by a 45-degree boundary line connecting the upper right and lower left corners of the target block.
  • Subblock A is predicted using the upper left reference pixel 1002 and upper and left reference pixels 1004 of the target block, and subblock B is predicted using upper right and lower left pixels 1006 . Therefore, the directional mode applicable to subblock A is limited to the intra prediction mode having an angle within the range of 45 degrees to 225 degrees counterclockwise, and the directional mode applicable to subblock B is -135 degrees clockwise from 45 degrees. It is limited to the intra prediction mode having an angle within the range of up to . For various geometric division forms as shown in FIG. 8 , the directional modes allowed for sub-blocks A and B may be adaptively changed according to the angle of the boundary line and the position of the sub-block relative to the boundary line.
  • available directional modes may be limited according to the range of available reference pixels.
  • the number of reference pixels 1006 of the sub-block B may be limited by the horizontal and vertical lengths of the target block including the sub-block B, and thus the reference pixels 1006 may be referenced.
  • the directional modes that cannot be used are not used as the intra prediction mode of subblock B.
  • usable reference pixels are 2N adjacent samples consecutive in the horizontal (row) direction from the sample immediately above the top left sample in the target block and immediately of the top left sample. It may be limited to 2N neighboring pixels in the vertical (column) direction from the left sample.
  • the intra prediction modes allowed for subblock B are limited to -130 to -112.5 degrees and 22.5 to 45 degrees.
  • the intra prediction unit 122 selects intra prediction modes to be applied to each subblock based on the boundary line. Then, the intra prediction mode of the subblock is determined from among the intra prediction modes selected for each subblock. Information indicating the determined intra prediction mode is transmitted to an image decoding apparatus.
  • the intra prediction unit 542 of the image decoding apparatus like the intra prediction unit 122 of the image encoding apparatus, selects intra prediction modes for each of the subblocks based on the boundary line. Then, the intra prediction mode of each subblock is determined from among the intra prediction modes selected for the corresponding subblock.
  • the constraint of the intra prediction mode for each subblock may be performed under a specific condition.
  • the intra prediction unit 122 checks the intra prediction mode of at least one neighboring block including at least some of reference pixels configured for each subblock, and determines the angle indicated by the intra prediction mode of the neighboring block and the angle of the boundary line. It can be compared with each other to determine whether to limit intra prediction modes for a corresponding subblock. For example, the intra prediction unit 122 checks the intra prediction mode of one or more neighboring blocks including at least one pixel among the reference pixels 1002 and 1004 of the subblock A.
  • the intra prediction unit 122 is not limited to intra prediction modes for subblock A.
  • the reference pixels of the sub-block A may not be limited to the neighboring pixels indicated by 1002 and 1004 of FIG. 10 .
  • the intra prediction unit 122 determines intra prediction modes of each subblock from among intra predictions applicable to each subblock, and generates prediction subblocks for each subblock using the determined intra prediction modes. .
  • the intra prediction modes for each subblock are encoded and transmitted to an image decoding apparatus.
  • the image encoding apparatus may encode information directly indicating an intra prediction mode for each subblock, but may also perform predictive encoding.
  • the image encoding apparatus constructs a candidate list by using intra prediction modes of neighboring blocks of the target block.
  • the candidate list is shared for all subblocks.
  • the image encoding apparatus signals index information for identifying the intra prediction mode of each subblock from the candidate list.
  • the image encoding apparatus selects a prediction mode having a mode number closest to an intra prediction mode of a subblock from among prediction modes included in the candidate list, and encodes an index corresponding to the selected prediction mode. Then, the difference value between the actual intra prediction mode of the subblock and the prediction mode corresponding to the encoded index is encoded.
  • the difference value may be encoded when the prediction mode of the subblock does not exist in the candidate list, that is, when the actual intra prediction mode of the subblock and the prediction mode corresponding to the encoded index are not the same.
  • a flag indicating whether the prediction mode of the subblock exists in the candidate list may be coded prior to the difference value.
  • the candidate list may be configured differently for each sub-block based on at least one of the direction (or angle) of the boundary line and the position of each sub-block divided by the boundary line.
  • sub-block A has a texture characteristic similar to that of neighboring blocks including at least some of the neighboring pixels 1004 located at the upper or left side of the target block and the neighboring pixels 1002 located at the upper left side of the target block. is more likely to have Accordingly, the image encoding apparatus may generate a candidate list for the subblock A from intra prediction modes of the neighboring blocks including at least some of the neighboring pixels 1002 and 1004 .
  • Subblock B has a high probability of having a texture characteristic similar to that of neighboring blocks including at least some of the neighboring pixels 1006 located at the upper right or lower left of the target block. Accordingly, the image encoding apparatus may generate a candidate list for the subblock B from intra prediction modes of the neighboring block including at least some of the neighboring pixels 1006 .
  • a method of encoding information for identifying an intra prediction mode of a corresponding subblock from each candidate list may be the same as in the above embodiment.
  • the image encoding apparatus encodes a flag indicating whether an intra prediction mode of a subblock exists in a corresponding candidate list.
  • an index corresponding to the intra prediction mode is encoded in the subblock in the candidate list.
  • identification information for identifying the intra prediction mode of the subblock is encoded among the remaining intra prediction modes except for the prediction modes included in the candidate list from the intra prediction modes applicable to the subblock.
  • the image encoding apparatus may independently and individually encode intra prediction modes for each subblock. Alternatively, some subblocks encode prediction modes in the same manner as described above, and the remaining subblocks are It is also possible to encode a difference value from intra prediction modes. For example, the image encoding apparatus classifies the subblocks into groups of subblocks having similar prediction modes. Then, for each group, the intra prediction mode of one subblock is encoded by the method of the above-described embodiment, and the intra prediction mode of the remaining subblock is encoded as a difference value from the intra prediction mode of the encoded subblock. Referring to FIG. 11 , when boundary lines are considered, subblocks A and B and subblocks C and D are highly likely to have similar intra prediction modes.
  • the image encoding apparatus encodes the intra prediction modes of subblocks A and C according to the above-described embodiments. Then, the prediction modes of the subblocks B and D are encoded as the prediction mode difference between the subblocks B and A and the prediction mode difference between the subblocks D and C, respectively.
  • the intra prediction unit 542 of the image decoding apparatus intra-predicts each sub-block by using the intra prediction modes of each sub-block received from the image encoding apparatus. Since the operation of the intra prediction unit 542 of the image decoding apparatus is the same as the operation of the intra prediction unit 122 of the above-described image encoding apparatus, a further description will be omitted.
  • MIP matrix-based intra prediction
  • the intra prediction unit 122 constructs reference samples for each subblock in the same manner as described above, and selects different reference samples for each subblock. By using the matrix operation, prediction subblocks for each subblock are generated.
  • the intra prediction unit 122 constructs reference samples 1002 and 1004 for subblock A and generates an input vector for matrix operation from the reference samples 1002 and 1004 .
  • the input vector may be generated by downsampling reference samples. For example, the input vector may be generated by averaging a predefined number of consecutive reference samples.
  • the intra prediction unit 122 generates prediction pixels constituting the subblock A by multiplying the input vector by the matrix. The prediction pixels are rearranged according to the shape of the subblock A.
  • the intra prediction unit 122 generates a final prediction subblock corresponding to the shape of the subblock A through interpolation using the generated prediction pixels and the reference pixels 1002 and 1004 of the subblock A.
  • the intra prediction unit 122 constructs an input vector from reference samples 1006 for subblock B. And, in the same manner as subblock A, a prediction subblock corresponding to subblock B is generated.
  • a plurality of matrices usable in MIP may exist. Each subblock may use the same matrix or may use different matrices. Information for identifying the used matrix is encoded and transmitted to an image decoding apparatus.
  • intra block copy may be applied.
  • the intra prediction unit 122 determines block vectors indicating the block most similar to each subblock in the pre-decoded region in the current picture including the target block. Then, prediction subblocks for each subblock are generated using the reconstructed pixels in the area indicated by each block vector.
  • the prediction subblocks are combined to generate a prediction block for the target block.
  • filtering may be performed on prediction pixels near a boundary between subblocks.
  • offsets corresponding to each sample position may be added to prediction samples in the prediction block of the object block.
  • the offsets may be generated through position-based intra prediction.
  • the position-based intra prediction may be a PLANAR mode specified by the VVC standard or may be a Position Dependent intra Prediction Combination (PDPC).
  • the transform unit 140 of the image encoding apparatus transforms a residual block that is a difference between a target block and a prediction block of the target block into a transform coefficient block in the frequency domain.
  • the transform coefficients in the transform coefficient block are encoded and signaled to the image decoding apparatus, and are inversely transformed into the spatial domain residual block by the inverse transform unit 530 of the image decoding apparatus.
  • the transform unit 140 of the image encoding apparatus may transform the target block by using the same transform unit as the size of the target block, or independently transform each subblock.
  • the transform unit 140 may generate rectangular or square-shaped residual blocks by rearranging the residual signals in each sub-block into a rectangular or square shape, and transform the rectangular or square-shaped residual blocks independently or individually. .
  • the transform unit 140 classifies the residual signals in the target block into a region of residual signals near the boundary line and other regions, and divides the residual signals in each region. Reordering produces a rectangular or square-shaped residual subblock.
  • the transform unit 140 individually transforms and quantizes the residual subblocks to generate transform coefficient blocks corresponding to each subblock. Transform coefficients in each transform coefficient block are encoded and transmitted to an image decoding apparatus.
  • the transform unit 530 of the image decoding apparatus inversely transforms and inversely quantizes each of the transform coefficient blocks to generate a plurality of residual subblocks. Then, a residual block for the target block is generated by arranging the residual signals in each residual subblock to the original position of the corresponding region in the target block.
  • a method of encoding residual signals in a target block will be described in detail.
  • FIG. 13 is a flowchart illustrating a method of encoding residual signals in a target block that is geometrically divided into a plurality of subblocks by an image encoding apparatus according to an embodiment of the present disclosure.
  • the transform unit 140 of the image encoding apparatus determines a plurality of transform units to transform the target block ( S1110 ).
  • the transformation unit is the size of a one-dimensional or two-dimensional block divided so as not to overlap each other from the target block, and refers to a unit in which transformation is performed.
  • the transform unit 14 may determine a transform kernel for transforming residual signals corresponding to each transform unit from among the plurality of transform kernels.
  • the transform unit 140 divides the target block into a plurality of regions in consideration of the boundary between the geometrically divided sub-blocks ( S1220 ), and rearranges the residual signals in each region to correspond A plurality of rectangular or square residual subblocks having a size of a transform unit is generated ( S1230 ).
  • the plurality of regions includes a boundary area including a boundary line and one or more non-boundary areas not including a boundary line.
  • the number of regions divided from the target block may be the same as the number of transformation units.
  • the number of samples in each region may be the same as the number of samples in a corresponding transform unit. For example, when the horizontal length of the transformation unit is 2 m and the vertical length is 2 n , the number of samples in the region corresponding to the transformation unit is 2 m * 2 n .
  • the plurality of regions include a first region (boundary region) including a boundary line and a second region (non-boundary region) excluding the first region from the target block and not including the boundary line.
  • the first region may be a set of rows, each of which includes a predetermined number of consecutive samples. 14 illustrates four samples in the transverse direction.
  • the present invention is not limited thereto, and the first region may be a set of columns each including a predetermined number of consecutive samples in the vertical direction.
  • the number of samples in the horizontal or vertical direction for constituting the first region may be determined in consideration of the size of the transformation unit determined to correspond to the first region, that is, the number of samples in the transformation unit.
  • the first region is set such that the number of samples in the first region is equal to the number of samples in the corresponding transform unit.
  • the type of transform kernel to be applied to the residual signals in the first region to determine the number of the samples may be further considered.
  • the target block may be divided into three or more regions instead of two regions.
  • the target block may be divided into three regions (first to third regions) according to the distance from the boundary line. Residual signals in each region are rearranged to generate rectangular residual subblocks.
  • the size of each region is determined according to the size of a transformation unit determined to correspond to the region. The number of samples in each region is determined to be the same as the number of samples in a corresponding transformation unit.
  • the transform unit 140 transforms and quantizes the rectangular residual subblocks, respectively, to generate a plurality of transform coefficient blocks (S1240).
  • Transform information including information on transform coefficients in transform coefficient blocks and information on transform units is encoded by the encoder 155 and transmitted to an image decoding apparatus.
  • the conversion information may further include information about the conversion kernel.
  • 16 is a flowchart illustrating a decoding method performed by an image decoding apparatus corresponding to the encoding method of FIG. 13 .
  • the decoder 510 of the image decoding apparatus decodes conversion information from the bitstream. Then, rectangular or square transform units are determined based on the transform information, and transform coefficients corresponding to the respective transform units are decoded to generate transform coefficient blocks (S1610).
  • the inverse quantization unit 520 of the image decoding apparatus inversely quantizes each transform coefficient block, and the inverse transform unit 530 inversely transforms the inverse quantized transform coefficient blocks to generate residual subblocks (S1620).
  • the inverse transform unit 530 determines a plurality of regions within the target block in consideration of the boundary line specified by the boundary line information, the number of transformation units, and the size of each transformation unit. That is, a boundary line area including a boundary line and one or more non-boundary line areas not including a boundary line are determined in the target block ( S1630 ). In order to identify a plurality of regions, information on a transform kernel included in the transform information in addition to the sizes of transform units may be additionally considered.
  • the inverse transform unit 530 generates a residual block for the target block by arranging or rearranging the residual signals of each residual subblock in a corresponding region ( S1640 ).
  • the image encoding apparatus may encode and transmit only a portion of a plurality of regions including the boundary region and one or more non-boundary regions.
  • the image decoding apparatus decodes, inversely quantizes, and inversely transforms only the transform coefficient block corresponding to the partial region encoded by the image encoding apparatus to generate a residual subblock. Then, the residual signals in the residual sub-block are rearranged in corresponding regions. The remaining area is padded with zeros.
  • Which region among the plurality of regions is encoded may be previously agreed between the image encoding apparatus and the image decoding apparatus, or information indicating the encoded region may be signaled from the image encoding apparatus to the image decoding apparatus.
  • the image encoding apparatus determines a rectangular or square-shaped transformation unit, then divides the target block into a plurality of regions according to the transformation unit, and rearranges pixels in each region according to the size of the transformation unit to form a rectangular shape Generates a residual subblock of 16 illustrates a decoding operation corresponding to the encoding operation of FIG. 12 .
  • the transform unit 140 may determine a transform unit after first dividing the target block into a plurality of regions.
  • the transform unit 140 divides the target block into a boundary line area including a boundary line and one or more non-boundary line areas not including a boundary line.
  • how to configure the boundary line area and the non-boundary line area is predetermined between the encoding apparatus and the decoding apparatus according to the type of boundary line (e.g., the intersection point where the boundary line meets each side of the target block, or the angle of the boundary line and the position of the boundary line).
  • information related to region division may be determined at a level higher than a block level, for example, a sequence, a picture, a slice, a tile, and the like and signaled to the image decoding apparatus.
  • the transform unit 140 determines a rectangular or square transformation unit corresponding to each region in consideration of the total number of pixels in each region or the number of pixels in horizontal and vertical directions. Then, the residual signals in each region are rearranged according to the sizes of the corresponding transform units to generate rectangular or square residual subblocks.
  • additional signaling of transform information related to the size of the transform unit may not be required. This is because the image decoding apparatus can determine the type of the boundary line from information about the boundary line and determine the transformation unit from the type of the boundary line.
  • the image decoding apparatus identifies the boundary line type based on the boundary line information and determines rectangular or square transformation units according to the boundary line type. Then, transform coefficients corresponding to each transform unit are decoded to generate a plurality of transform coefficient blocks, and residual subblocks are generated by inverse quantizing and inverse transforming the transform coefficient blocks.
  • the image decoding apparatus identifies a boundary line region including the boundary line and one or more non-boundary line regions not including the boundary line in the target block in consideration of the boundary line and the size of the transformation units. Then, a residual block of the target block is generated by rearranging the residual signals in each residual subblock in a corresponding region.
  • the image encoding apparatus may set a virtual region outside the target block based on the boundary line and set the boundary line region to include the virtual region as well as the region inside the target block. Residual signals in the virtual region are padded with a fixed specific value or values of residual signals within the target block. Referring to FIG. 17 , an imaginary line parallel to the boundary line is assumed in each of the two regions divided by the boundary line. The area existing between the two virtual lines is set as the boundary line area. In this case, the triangular region formed on the lower left and upper right corners of the target block may be set as the virtual region. Residual signals in the boundary line area including the virtual area are rearranged into a first residual subblock in a rectangular or square shape.
  • the target block has a rectangular or square shape, and the boundary line area includes a virtual area outside the target block, residual signals within the non-boundary line area except for the boundary line area within the target block cannot be rearranged in a rectangular or square shape. Therefore, when the image encoding apparatus rearranges the residual signals in the non-boundary region into a rectangular or square-shaped second residual subblock, the same number of residual signals as the number of residual signals in the virtual region is excluded from the non-boundary region. do. Residual signals at a position in the non-boundary region to be excluded may be previously agreed between the encoding apparatus and the decoding apparatus, and information on the position from which the residual signals are excluded may be signaled from the encoding apparatus to the decoding apparatus.
  • the image decoding apparatus rearranges the residual signals in the first residual subblock into the boundary line region, similarly to the method described in other embodiments.
  • the padded virtual region is excluded.
  • the residual signals in the second residual sub-block are rearranged into the non-boundary region. Residual signals that have been excluded from the non-boundary by the encoding device are filled with predicted values.
  • the excluded residual signals may be padded with a specific value, or alternatively may be padded with an average value of surrounding residual signals.
  • the region from which the residual signals are excluded may be filled from the restored pixel values around the excluded region at the pixel level after restoration rather than the residual level.
  • the image decoding apparatus first restores pixel values of a region other than the excluded region within the target block. Then, pixel values of the exclusion area are predicted using the reconstructed pixel values around the exclusion area. In other words, the image decoding apparatus predicts the pixel values of the exclusion area such that the sum of the residual signals of the exclusion area and the prediction pixels corresponding to the residual signals is equal to the weighted average value of the reconstructed pixel values around the exclusion area. do.
  • a plurality of regions (a border region and one or more non-boundary regions) in the object block may be quantized or inverse quantized using the same quantization parameter. For example, one quantization parameter is determined for a target block, and each region shares the quantization parameter of the target block.
  • the image encoding apparatus encodes a differential quantization parameter that is a difference between a quantization parameter of a target block and a prediction quantization parameter.
  • the prediction quantization parameter is generated from quantization parameters of reconstructed blocks adjacent to the target block. Referring to FIG. 18 , a prediction quantization parameter is generated from quantization parameters of at least some reconstructed blocks among neighboring blocks “a” to “g”.
  • the image encoding apparatus may set the average value of the quantization parameters of the upper block b and the left block c as the prediction quantization parameter.
  • the image decoding apparatus derives a predictive quantization parameter in the same manner as the image encoding apparatus, and calculates the quantization parameter of the target block by adding the predictive quantization parameter and the differential quantization parameter received from the image encoding apparatus.
  • the quantization parameter may be independently determined for each region in the target block.
  • the image encoding apparatus signals a differential quantization parameter to be applied to residual signals corresponding to each region.
  • the prediction quantization parameter of each region is predicted through the quantization parameter of a block adjacent to the region.
  • the prediction quantization parameter of the region A (boundary region) is predicted from the quantization parameters of at least some of the neighboring blocks “d”, “e” and “f”.
  • a value used for predicting a quantization parameter may be limited according to an area of the boundary line region A or an area ratio between regions A and B. For example, when the boundary line area A is 1 to 2 pixel areas left and right of the boundary line as shown in FIG.
  • the quantization parameter is predicted through “d” and “e”.
  • the boundary line area A is extended in the boundary line area, it can be predicted by additionally using "b” "c” "g” "f” as well as “e” and "d”.
  • the prediction quantization parameter may be an average value of the quantization parameters of the reconstructed neighboring blocks among the neighboring blocks.
  • the prediction quantization parameter of the region B is predicted from the quantization parameters of the reconstructed blocks among the neighboring blocks “a” to “g”. For example, it may be an average value of the restored neighboring blocks.
  • the image encoding apparatus determines a quantization parameter with respect to one region (eg, a boundary region) among a plurality of regions, and derives the remaining region by adding an offset to the quantization parameter. For example, the image encoding apparatus may transmit the differential quantization parameter for the boundary line region) and omit the transmission of the differential quantization parameter for the non-boundary line region.
  • the non-boundary region B can be predicted relatively well compared to the borderline region A, and thus, absolute magnitudes of residual signals may be small.
  • the non-boundary region B is always quantized with a quantization parameter obtained by adding an offset to the boundary region A, and transmission of the differential quantization parameter for the non-boundary region B may be omitted.
  • the offset may be a positive value as a value added to the quantization parameter of the boundary line area A.
  • the offset may be adaptively determined according to the prediction mode. Different offsets may be applied depending on whether the prediction mode of the target block is inter prediction or intra prediction. Also, in inter prediction, different offsets may be applied depending on whether the target block is in the merge mode or the AMVP mode. For example, the offset in the merge mode may have the largest value and the offset in the intra prediction mode may have the smallest value.
  • the image decoding apparatus calculates a predictive quantization parameter in the same way as the image encoding apparatus, and adds the predictive quantization parameter and the differential quantization parameter to determine the quantization parameter of the boundary line region.
  • the quantization parameter of the remaining region is derived by adding the same offset as that of the image encoding apparatus to the quantization parameter of the boundary region.
  • the offset may be a predetermined fixed value between the image encoding apparatus and the image decoding apparatus, or may be signaled at a high level.
  • the non-transitory recording medium includes, for example, all kinds of recording devices in which data is stored in a form readable by a computer system.
  • the non-transitory recording medium includes a storage medium such as an erasable programmable read only memory (EPROM), a flash drive, an optical drive, a magnetic hard drive, and a solid state drive (SSD).
  • EPROM erasable programmable read only memory
  • SSD solid state drive

Landscapes

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

Abstract

본 발명은 인트라 예측을 이용하여 대상블록을 복호화하는 영상 복호화 방법을 제공한다. 상기 복호화 방법은, 비트스트림으로부터 상기 대상블록을 분할하기 위한 적어도 하나의 경계선을 특정하는 경계선 정보를 복호화하는 단계, 상기 경계선 정보는 상기 대상블록을 복수의 비-직방형(non-rectangular) 블록들로 분할하는 것을 허용함; 상기 경계선 정보에 근거하여, 상기 비-직방형 블록들에 대한 인트라 예측모드들을 결정하는 단계; 상기 인트라 예측모드들을 이용하여 상기 비-직방형 블록들 각각을 인트라 예측함으로써, 상기 대상블록의 예측블록을 생성하는 단계; 상기 비트스트림으로부터 상기 대상블록의 잔차블록을 복원하는 단계; 및 상기 예측블록과 상기 잔차블록을 가산하여 상기 대상블록을 복원하는 단계를 포함한다. [대표도 도 5]

Description

임의 블록 분할을 이용한 비디오 부호화 및 복호화
본 발명은 임의 블록 분할을 이용한 비디오 부호화 및 복호화에 관한 것이다.
비디오 데이터는 음성 데이터나 정지 영상 데이터 등에 비하여 많은 데이터량을 가지기 때문에, 압축을 위한 처리 없이 그 자체를 저장하거나 전송하기 위해서는 메모리를 포함하여 많은 하드웨어 자원을 필요로 한다.
따라서, 통상적으로 비디오 데이터를 저장하거나 전송할 때에는 부호화기를 사용하여 비디오 데이터를 압축하여 저장하거나 전송하며, 복호화기에서는 압축된 비디오 데이터를 수신하여 압축을 해제하고 재생한다. 이러한 비디오 압축 기술로는 H.264/AVC, HEVC(High Efficiency Video Coding) 등을 비롯하여, HEVC에 비해 약 30% 이상의 부호화 효율을 향상시킨 VVC(Versatile Video Coding)가 존재한다.
그러나, 픽처의 크기 및 해상도, 프레임율이 점차 증가하고 있고, 이에 따라 부호화해야 하는 데이터량도 증가하고 있으므로 기존의 압축 기술보다 더 부호화 효율이 좋고 화질 개선 효과도 높은 새로운 압축 기술이 요구된다. 특히, 다양한 객체들의 존재로 다양한 방향의 에지들(객체들 간의 경계들)을 포함하는 픽처들과 같이 복잡한 텍스처를 가지는 픽처들을 보다 효율적으로 부호화할 수 있는 압축 기술이 요구된다.
본 개시는 다양한 방향의 에지들을 포함하는 비디오를 효율적으로 부호화 또는 복호화하는 방법을 제안한다. 더 구체적으로, 수평 또는 수직 방향이 아닌 에지들을 포함하는 블록에 대한 예측 및 변환 방법을 제안한다.
본 발명의 일 측면은 인트라 예측을 이용하여 대상블록을 복호화하는 영상 복호화 방법을 제공한다. 상기 복호화 방법은, 비트스트림으로부터 상기 대상블록을 분할하기 위한 적어도 하나의 경계선을 특정하는 경계선 정보를 복호화하는 단계, 상기 경계선 정보는 상기 대상블록을 복수의 비-직방형(non-rectangular) 블록들로 분할하는 것을 허용함; 상기 경계선 정보에 근거하여, 상기 비-직방형 블록들에 대한 인트라 예측모드들을 결정하는 단계; 상기 인트라 예측모드들을 이용하여 상기 비-직방형 블록들 각각을 인트라 예측함으로써, 상기 대상블록의 예측블록을 생성하는 단계; 상기 비트스트림으로부터 상기 대상블록의 잔차블록을 복원하는 단계; 및 상기 예측블록과 상기 잔차블록을 가산하여 상기 대상블록을 복원하는 단계를 포함한다.
상기 잔차블록을 복원하는 단계는, 상기 비트스트림으로부터 직방형의 복수의 변환계수블록들을 복원하는 단계; 상기 변환계수블록들을 각각 역변환하여 잔차 서브블록들을 생성하는 단계; 상기 경계선 정보에 의해 특정되는 경계선, 및 상기 변환계수블록들의 개수, 및 상기 변환계수블록들 각각의 크기에 근거하여 상기 대상블록을 복수의 영역으로 분할하고, 각 잔차 서브블록 내의 잔차신호들을 대응하는 영역 내로 재배치함으로써 상기 잔차블록을 복원하는 단계를 포함할 수 있다. 여기서, 상기 복수의 영역은, 상기 경계선을 포함하고 상기 경계선 근방에 형성되는 경계선 영역, 및 상기 경계선을 포함하지 않는 하나 이상의 비-경계선 영역을 포함한다.
본 발명의 다른 측면은 인트라 예측을 이용하여 대상블록을 부호화하는 영상 부호화 방법을 제공한다. 상기 부호화 방법은, 적어도 하나의 경계선을 이용하여 상기 대상블록을 분할하는 단계, 상기 경계선은 상기 대상블록을 복수의 비-직방형(non-rectangular) 블록들로 분할하는 것을 허용함; 상기 경계선에 근거하여, 상기 비-직방형 블록들에 대한 인트라 예측모드들을 결정하는 단계; 상기 비-직방형 블록들 각각을 인트라 예측함으로써, 상기 대상블록의 예측블록을 생성하는 단계; 상기 대상블록으로부터 상기 예측블록을 감산함으로써, 상기 대상블록의 잔차블록을 생성하는 단계; 및 상기 경계선을 특정하기 위한 경계선 정보 및 상기 잔차블록 내의 잔차신호들을 부호화하는 단계를 포함한다.
상기 잔차블록 내의 잔차신호들을 부호화하는 단계는, 상기 대상블록을 복수의 영역으로 분할하는 단계, 상기 복수의 영역은, 상기 경계선을 포함하고 상기 경계선 근방에 형성되는 경계선 영역, 및 상기 경계선을 포함하지 않는 하나 이상의 비-경계선 영역을 포함함; 및 상기 복수의 영역 각각에 대해, 상기 영역의 내의 잔차신호들을 재배열하여 직방형의 잔차 서브블록을 생성하고, 상기 잔차 서브블록을 변환하는 단계를 포함한다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.
도 2는 QTBTTT 구조를 이용하여 블록을 분할하는 방법을 설명하기 위한 도면이다.
도 3은 복수의 인트라 예측 모드들을 나타낸 도면이다.
도 4는 현재블록의 주변블록에 대한 예시도이다.
도 5는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
도 6은 본 개시의 일 측면에 따른 대상블록을 기하학적으로 분할하는 예시도이다.
도 7은 본 개시의 일 측면에 따른 미리 정의된 다양한 경계선들을 나타내는 예시도이다.
도 8은 본 개시의 일 측면에 따른 각 서브블록들에 대한 참조픽셀들을 구성하는 방법을 설명하기 위한 예시도이다.
도 9는 본 개시의 일 측면에 따른 각 서브블록들에 대한 참조픽셀들을 구성하는 방법을 설명하기 위한 또 다른 예시도이다.
도 10은 본 개시의 일 측면에 따른 각 서브블록들의 인트라 예측모드를 결정하는 방법을 설명하기 위한 예시도이다.
도 11은 본 개시의 일 측면에 따른 각 서브블록의 인트라 예측모드를 부호화하는 방법을 설명하기 위한 예시도이다.
도 12는 본 개시의 일 측면에 따른 복수의 서브블록들로 기하학적으로 분할된 대상블록을 변환하는 방법을 설명하기 위한 예시도이다.
도 13는 본 개시의 일 측면에 따른 복수의 서브블록으로 기하학적으로 분할되는 대상블록 내의 잔차신호들을 부호화하는 방법을 나타내는 순서도이다.
도 14 및 도 15는 본 개시의 일 측면에 따른 대상블록을 비-직방형 영역들로 분할하고 비-직방형 영역 내의 잔차신호들을 재정렬하는 방법을 설명하기 위한 예시도이다.
도 16은 도 13의 부호화 방법에 대응하는, 영상 복호화 장치에 의해 수행되는, 복호화 방법을 예시하는 순서도이다.
도 17은 본 개시의 일 측면에 따른 대상블록을 비-직방형 영역들로 분할하고 비-직방형 영역 내의 잔차신호들을 재정렬하는 방법을 설명하기 위한 또 다른 예시도이다.
도 18은 본 개시의 일 측면에 따른 양자화 파라미터를 결정하는 방법을 설명하기 위한 예시도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 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, PPS, 슬라이스 헤더, 타일 또는 타일 그룹 헤더에 포함되는 신택스들은 하이-레벨(high level) 신택스로 칭할 수 있다.
추가로, 비트스트림은 픽처 또는 픽처보다 작은 픽셀 그룹, 예컨대, 슬라이스에 의해 참조되는 파라미터들을 포함하는 하나 이상의 적응 파라미터 셋(APS, Adaptation Parameter Set)을 포함할 수 있다. 픽처 헤더 또는 슬라이스 헤더는, 대응하는 픽처 또는 슬라이스에서 사용될 APS를 식별하기 위한 ID를 포함한다. 서로 다른 PPS를 참조하는 픽처들 또는 서로 다른 픽처 헤더를 참조하는 슬라이스들은 동일한 APS ID를 통해 동일한 파라미터들을 공유할 수 있다.
복수의 픽처들 각각은, 독립적인 부호화/복호화 가능한, 및/또는 독립적인 디스플레이가 가능한, 복수의 서브픽처들로 분할될 수도 있다. 서브픽처 분할이 적용되는 경우, 픽처 내에서의 서브픽처들의 레이아웃(layout)에 대한 정보가 시그널링된다.
블록 분할부(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)는 현재블록이 포함된 현재 픽처 내에서 현재블록의 주변에 위치한 기복원된 샘플들로부터 참조샘플들을 구성하고 참조샘플들을 이용하여 현재블록 내의 샘플들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재한다. 예컨대, 도 3에서 보는 바와 같이, 복수의 인트라 예측모드는 planar 모드와 DC 모드를 포함하는 2개의 비방향성 모드와 65개의 방향성 모드를 포함할 수 있다. 각 예측모드에 따라 사용할 참조샘플과 연산식이 다르게 정의된다.
인트라 예측부(122)는 현재블록을 부호화하는데 사용할 인트라 예측모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(122)는 여러 인트라 예측모드들을 사용하여 현재블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(122)는 여러 테스트된 인트라 예측모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측모드를 선택할 수도 있다.
인트라 예측부(122)는 복수의 인트라 예측모드 중에서 하나의 인트라 예측모드를 선택하고, 선택된 인트라 예측모드에 따라 결정되는 참조 샘플과 연산식을 사용하여 현재블록을 예측한다. 선택된 인트라 예측모드에 대한 정보는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다.
인터 예측부(124)는 움직임 보상 과정을 통해 현재블록에 대한 예측블록을 생성한다. 인터 예측부(124)는 현재 픽처보다 먼저 부호화 및 복호화된 참조픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 일반적으로, 움직임 추정은 루마(luma) 성분에 대해 수행되고, 루마 성분에 기초하여 계산된 모션 벡터는 루마 성분 및 크로마 성분 모두에 대해 사용된다. 현재블록을 예측하기 위해 사용된 참조픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다.
인터 예측부(124)는, 예측의 정확성을 높이기 위해, 참조 픽처 또는 참조 블록에 대한 보간을 수행할 수도 있다. 즉, 연속한 두 정수 샘플 사이의 서브 샘플들은 그 두 정수 샘플을 포함한 연속된 복수의 정수 샘플들에 필터 계수들을 적용하여 보간된다. 보간된 참조 픽처에 대해서 현재블록과 가장 유사한 블록을 탐색하는 과정을 수행하면, 움직임 벡터는 정수 샘플 단위의 정밀도(precision)가 아닌 소수 단위의 정밀도까지 표현될 수 있다. 움직임벡터의 정밀도, 즉, 움직임벡터 해상도(resolution)는 부호화하고자 하는 대상 영역, 예컨대, 슬라이스, 타일, CTU, CU 등의 단위마다 다르게 설정될 수 있다. 이와 같은 적응적 움직임벡터 해상도가 적용되는 경우 각 대상 영역에 적용할 움직임벡터 해상도에 대한 정보는 대상 영역마다 시그널링되어야 한다. 예컨대, 대상 영역이 CU인 경우, 각 CU마다 적용된 움직임벡터 해상도에 대한 정보가 시그널링된다.
한편, 인터 예측부(124)는 양방향 예측(bi-prediction)을 이용하여 인터 예측을 수행할 수 있다. 양방향 예측의 경우, 두 개의 참조 픽처와 각 참조 픽처 내에서 현재블록과 가장 유사한 블록 위치를 나타내는 두 개의 움직임벡터가 이용된다. 인터 예측부(124)는 참조픽처 리스트 0(RefPicList0) 및 참조픽처 리스트 1(RefPicList1)로부터 각각 제1 참조픽처 및 제2 참조픽처를 선택하고, 각 참조픽처 내에서 현재블록과 유사한 블록을 탐색하여 제1 참조블록과 제2 참조블록을 생성한다. 그리고, 제1 참조블록과 제2 참조블록을 평균 또는 가중 평균하여 현재블록에 대한 예측블록을 생성한다. 그리고 현재블록을 예측하기 위해 사용한 두 개의 참조픽처에 대한 정보 및 두 개의 움직임벡터에 대한 정보를 포함하는 움직임 정보를 부호화부(150)로 전달한다. 여기서, 참조픽처 리스트 0은 기복원된 픽처들 중 디스플레이 순서에서 현재 픽처 이전의 픽처들로 구성되고, 참조픽처 리스트 1은 기복원된 픽처들 중 디스플레이 순서에서 현재 픽처 이후의 픽처들로 구성될 수 있다. 그러나 반드시 이에 한정되는 것은 아니며, 디스플레이 순서 상으로 현재 픽처 이후의 기복원 픽처들이 참조픽처 리스트 0에 추가로 더 포함될 수 있고, 역으로 현재 픽처 이전의 기복원 픽처들이 참조픽처 리스트 1에 추가로 더 포함될 수도 있다.
인터 예측에 사용되는 움직임 정보(움직임벡터, 참조픽처)는 영상 복호화 장치로 시그널링되어야 한다. 움직임 정보를 부호화하는 데에 소요되는 비트량을 최소화하기 위해 다양한 방법이 사용될 수 있다.
예컨대, 현재블록의 참조픽처와 움직임벡터가 주변블록의 참조픽처 및 움직임벡터와 동일한 경우에는 그 주변블록을 식별할 수 있는 정보를 부호화함으로써, 현재블록의 움직임 정보를 복호화 장치로 전달할 수 있다. 이러한 방법을 '머지 모드 (merge mode)'라 한다.
머지 모드에서, 인터 예측부(124)는 현재블록의 주변블록들로부터 기 결정된 개수의 머지 후보블록(이하, '머지 후보'라 함)들을 선택한다.
머지 후보를 유도하기 위한 주변블록으로는, 도 4에 도시된 바와 같이, 현재 픽처 내에서 현재블록에 인접한 좌측블록(L), 상단블록(A), 우상단블록(AR), 좌하단블록(BL), 좌상단블록(AL) 중에서 전부 또는 일부가 사용될 수 있다. 또한, 현재블록이 위치한 현재 픽처가 아닌 참조픽처(현재블록을 예측하기 위해 사용된 참조픽처와 동일할 수도 있고 다를 수도 있음) 내에 위치한 블록이 머지 후보로서 사용될 수도 있다. 예컨대, 참조픽처 내에서 현재블록과 동일 위치에 있는 블록(co-located block) 또는 그 동일 위치의 블록에 인접한 블록들이 머지 후보로서 추가로 더 사용될 수 있다.
인터 예측부(124)는 이러한 주변블록들을 이용하여 기 결정된 개수의 머지 후보를 포함하는 머지 리스트를 구성한다. 머지 리스트에 포함된 머지 후보들 중에서 현재블록의 움직임정보로서 사용할 머지 후보를 선택하고 선택된 후보를 식별하기 위한 머지 인덱스 정보를 생성한다. 생성된 머지 인덱스 정보는 부호화부(155)에 의해 부호화되어 복호화 장치로 전달된다.
움직임 정보를 부호화하기 위한 또 다른 방법은 AMVP 모드이다.
AMVP 모드에서, 인터 예측부(124)는 현재블록의 주변블록들을 이용하여 현재블록의 움직임벡터에 대한 예측 움직임벡터 후보들을 유도한다. 예측 움직임벡터 후보들을 유도하기 위해 사용되는 주변블록으로는, 도 2에 도시된 현재 픽처 내에서 현재블록에 인접한 좌측블록(L), 상단블록(A), 우상단블록(AR), 좌하단블록(BL), 좌상단블록(AL) 중에서 전부 또는 일부가 사용될 수 있다. 또한, 현재블록이 위치한 현재 픽처가 아닌 참조픽처(현재블록을 예측하기 위해 사용된 참조픽처와 동일할 수도 있고 다를 수도 있음) 내에 위치한 블록이 예측 움직임벡터 후보들을 유도하기 위해 사용되는 주변블록으로서 사용될 수도 있다. 예컨대, 참조픽처 내에서 현재블록과 동일 위치에 있는 블록(co-located block) 또는 그 동일 위치의 블록에 인접한 블록들이 사용될 수 있다.
인터 예측부(124)는 이 주변블록들의 움직임벡터를 이용하여 예측 움직임벡터 후보들을 유도하고, 예측 움직임벡터 후보들을 이용하여 현재블록의 움직임벡터에 대한 예측 움직임벡터를 결정한다. 그리고, 현재블록의 움직임벡터로부터 예측 움직임벡터를 감산하여 차분 움직임벡터를 산출한다.
예측 움직임벡터는 예측 움직임벡터 후보들에 기 정의된 함수(예컨대, 중앙값, 평균값 연산 등)를 적용하여 구할 수 있다. 이 경우, 영상 복호화 장치도 기 정의된 함수를 알고 있다. 또한, 예측 움직임벡터 후보를 유도하기 위해 사용하는 주변블록은 이미 부호화 및 복호화가 완료된 블록이므로 영상 복호화 장치도 그 주변블록의 움직임벡터도 이미 알고 있다. 그러므로 영상 부호화 장치는 예측 움직임벡터 후보를 식별하기 위한 정보를 부호화할 필요가 없다. 따라서, 이 경우에는 차분 움직임벡터에 대한 정보와 현재블록을 예측하기 위해 사용한 참조픽처에 대한 정보가 부호화된다.
한편, 예측 움직임벡터는 예측 움직임벡터 후보들 중 어느 하나를 선택하는 방식으로 결정될 수도 있다. 이 경우에는 차분 움직임벡터에 대한 정보 및 현재블록을 예측하기 위해 사용한 참조픽처에 대한 정보와 함께, 선택된 예측 움직임벡터 후보를 식별하기 위한 정보가 추가로 부호화된다.
감산기(130)는 현재블록으로부터 인트라 예측부(122) 또는 인터 예측부(124)에 의해 생성된 예측블록을 감산하여 잔차블록을 생성한다.
변환부(140)는 잔차 블록 내의 잔차 신호들을 변환할 수 있다. 잔차 블록의 2차원 크기를 변환을 수행하기 위한 블록 크기인 변환 단위(Transform Unit, 이하 'TU')로 사용할 수 있다. 또는, 잔차 블록을 복수 개의 서브블록으로 분할하고 각 서브블록을 TU로 사용하여 해당 서브블록 내의 잔차 신호들을 변환할 수도 있다.
변환부(140)는 잔차 블록을 하나 이상의 서브블록들로 나누고, 변환을 하나 이상의 서브블록들에 적용하여, 변환 블록들의 잔차 값들을 픽셀 도메인에서 주파수 도메인으로 변환한다. 주파수 도메인에서, 변환된 블록들은 하나 이상의 변환 계수 값들을 포함하는 계수블록(coefficient block)들 또는 변환 블록(transform block)이라고 지칭된다. 변환에는 2차원 변환 커널(kernel)이 사용될 수 있으며, 수평 방향 변환과 수직 방향 방향에 각각 1차원 변환 커널이 사용될 수도 있다. 변환 커널은 이산 코사인 변환(DCT), 이산 사인 변환(DST) 등에 기반할 수 있다. 변환 커널은 변환 매트릭스로 칭할 수도 있다.
변환부(140)는 잔차 블록 또는 변환 단위에 대해 가로 방향과 세로 방향으로 개별적으로 변환을 수행할 수 있다. 변환을 위해, 다양한 타입의 변환 커널 또는 변환 매트릭스가 사용될 수 있다. 예컨대, 가로 방향 변환과 세로 방향 변환을 위한 변환 커널의 쌍을 MTS(Multiple Transform Set)로 정의할 수 있다. 변환부(140)는 MTS 중 변환 효율이 가장 좋은 하나의 변환 커널 쌍을 선택하고 가로 및 세로 방향으로 각각 잔차 블록을 변환할 수 있다. MTS 중에서 선택된 변환 커널 쌍에 대한 정보(mts_idx)는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
양자화부(145)는 변환부(140)로부터 출력되는 변환 계수들을 양자화 파라미터를 이용하여 양자화하고, 양자화된 변환 계수들을 엔트로피 부호화부(155)로 출력한다. 양자화부(145)는, 어떤 블록 혹은 프레임에 대해, 변환 없이, 관련된 잔차 블록을 곧바로 양자화할 수도 있다. 양자화부(145)는 변환블록 내의 변환 계수들의 위치에 따라 서로 다른 양자화 계수(스케일링 값)을 적용할 수도 있다. 2차원으로 배열된 양자화된 변환 계수들에 적용되는 양자화 계수들의 행렬은 부호화되어 영상 복호화 장치로 시그널링될 수 있다.
재정렬부(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)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보(즉, 인트라 예측모드에 대한 정보) 또는 인터 예측정보(머지 모드의 경우 머지 인덱스, AMVP 모드의 경우 참조픽처 인덱스 및 차분 움직임벡터에 대한 정보)를 부호화한다. 또한, 엔트로피 부호화부(155)는 양자화와 관련된 정보, 즉, 양자화 파라미터에 대한 정보 및 양자화 행렬에 대한 정보를 부호화한다.
역양자화부(160)는 양자화부(145)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(165)는 역양자화부(160)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.
가산부(170)는 복원된 잔차블록과 예측부(120)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 샘플들은 다음 순서의 블록을 인트라 예측할 때 참조 샘플로서 사용된다.
루프(loop) 필터부(180)는 블록 기반의 예측 및 변환/양자화로 인해 발생하는 블록킹 아티팩트(blocking artifacts), 링잉 아티팩트(ringing artifacts), 블러링 아티팩트(blurring artifacts) 등을 줄이기 위해 복원된 샘플들에 대한 필터링을 수행한다. 루프 필터부(180)는 디블록킹 필터(182), SAO(Sample Adaptive Offset) 필터(184) 및 ALF(Adaptive Loop Filter, 186) 중 하나 이상을 포함할 수 있다.
디블록킹 필터(182)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 필터링하고, SAO 필터(184)는 디블록킹 필터링된 영상에 대해 추가적인 필터링을 수행한다. SAO 필터(184)는 손실 부호화(lossy coding)로 인해 발생하는 복원된 샘플과 원본 샘플 간의 차이를 보상하기 위해 사용되는 필터로서, 각 복원된 샘플들에 그에 대응하는 오프셋에 가산되는 방식으로 수행된다. ALF(186)는 필터링을 수행할 대상 샘플 및 그 대상 샘플의 주변샘플들에 필터 계수들을 적용하여 대상 샘플에 대한 필터링을 수행한다. ALF(186)는 영상에 포함된 샘플을 소정의 그룹으로 나눈 후 해당 그룹에 적용될 하나의 필터를 결정하여 그룹마다 차별적으로 필터링을 수행할 수 있다. ALF에 사용될 필터 계수들에 대한 정보는 부호화되어 영상 복호화 장치로 시그널링될 수 있다.
루프 필터부(180)를 통해 필터링된 복원블록은 메모리(190)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용될 수 있다.
도 5는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 기능 블록도이다. 이하에서는 도 5를 참조하여 영상 복호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 복호화 장치는 엔트로피 복호화부(510), 재정렬부(515), 역양자화부(520), 역변환부(530), 예측부(540), 가산기(550), 루프 필터부(560) 및 메모리(570)를 포함하여 구성될 수 있다.
도 1의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
엔트로피 복호화부(510)는 영상 부호화 장치에 의해 생성된 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출함으로써 복호화하고자 하는 현재블록을 결정하고, 현재블록을 복원하기 위해 필요한 예측정보와 잔차신호에 대한 정보 등을 추출한다.
엔트로피 복호화부(510)는 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) 및 분할 방향 정보를 추출한다.
한편, 엔트로피 복호화부(510)는 트리 구조의 분할을 통해 복호화하고자 하는 현재블록을 결정하게 되면, 현재블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다. 예측 타입 정보가 인트라 예측을 지시하는 경우, 엔트로피 복호화부(510)는 현재블록의 인트라 예측정보(인트라 예측모드)에 대한 신택스 요소(elemenet)를 추출한다. 예측 타입 정보가 인터 예측을 지시하는 경우, 엔트로피 복호화부(510)는 인터 예측정보에 대한 신택스 요소, 즉, 움직임벡터 및 그 움직임벡터가 참조하는 참조픽처를 나타내는 정보를 추출한다.
또한, 엔트로피 복호화부(510)는 양자화와 관련된 정보, 및 잔차신호에 대한 정보로서 현재블록의 양자화된 변환계수들에 대한 정보를 추출한다.
재정렬부(515)는, 영상 부호화 장치에 의해 수행된 계수 스캐닝 순서의 역순으로, 엔트로피 복호화부(510)에서 엔트로피 복호화된 1차원의 양자화된 변환계수들의 시퀀스를 다시 2차원의 계수 어레이(즉, 블록)로 변경할 수 있다.
역양자화부(520)는 양자화 파라미터를 이용하여 양자화된 변환계수들을 역양자화한다. 역양자화부(520)는 2차원으로 배열된 양자화된 변환계수들에 대해 서로 다른 양자화 계수(스케일링 값)을 적용할 수도 있다. 역양자화부(520)는 영상 부호화 장치로부터 양자화 계수(스케일링 값)들의 행렬을 양자화된 변환계수들의 2차원 어레이에 적용하여 역양자화를 수행할 수 있다.
역변환부(530)는 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재블록에 대한 복원된 잔차블록을 생성한다. 또한, MTS가 적용된 경우, 역변환부(530)는 영상 부호화 장치로부터 시그널링된 MTS 정보(mts_idx)를 이용하여 가로 및 세로 방향으로 각각 적용할 변환 커널 또는 변환 매트릭스를 결정하고, 결정된 변환 함수를 이용하여 가로 및 세로 방향으로 변환블록 내의 변환계수들에 대해 역변환을 수행한다.
예측부(540)는 인트라 예측부(542) 및 인터 예측부(544)를 포함할 수 있다. 인트라 예측부(542)는 현재블록의 예측 타입이 인트라 예측일 때 활성화되고, 인터 예측부(544)는 현재블록의 예측 타입이 인터 예측일 때 활성화된다.
인트라 예측부(542)는 엔트로피 복호화부(510)로부터 추출된 인트라 예측모드에 대한 신택스 요소로부터 복수의 인트라 예측모드 중 현재블록의 인트라 예측모드를 결정하고, 인트라 예측모드에 따라 현재블록 주변의 참조 샘플들을 이용하여 현재블록을 예측한다.
인터 예측부(544)는 엔트로피 복호화부(510)로부터 추출된 인트라 예측모드에 대한 신택스 요소를 이용하여 현재블록의 움직임벡터와 그 움직임벡터가 참조하는 참조픽처를 결정하고, 움직임벡터와 참조픽처를 이용하여 현재블록을 예측한다.
인터 예측부(544)는, 현재블록의 움직임벡터의 값에 따라 보간 필터링을 수행할 수도 있다. 즉, 움직임벡터의 소수 부분이 0이 아닌 경우, 인터 예측부(544)는 그 소수 부분에 의해 지시되는 서브샘플들을 보간을 통해 생성한다. 움직임벡터의 수평 성분(x 성분)의 소수 부분이 0이 아닌 경우 수평 방향으로 보간이 수행되고, 움직임벡터의 수직 성분(y 성분)의 소수 부분이 0이 아닌 경우 수직 방향으로 보간이 수행된다.
가산기(550)는 역변환부로부터 출력되는 잔차블록과 인터 예측부 또는 인트라 예측부로부터 출력되는 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 샘플들은 이후에 복호화할 블록을 인트라 예측할 때의 참조샘플로서 활용된다.
루프 필터부(560)는 디블록킹 필터(562), SAO 필터(564) 및 ALF(566) 중 적어도 하나를 포함할 수 있다. 디블록킹 필터(562)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해, 복원된 블록 간의 경계를 디블록킹 필터링한다. SAO 필터(564)는 손실 부호화(lossy coding)으로 인해 발생하는 복원된 샘플과 원본 샘플 간의 차이를 보상하기 위해, 디블록킹 필터링 이후의 복원된 블록에 그에 대응하는 오프셋에 가산되는 방식으로 필터링을 수행한다. ALF(566)는 필터링을 수행할 대상 샘플 및 그 대상 샘플의 주변샘플들에 필터 계수들을 적용하여 대상 샘플에 대한 필터링을 수행한다. ALF(566)는 영상에 포함된 샘플을 소정의 그룹으로 나눈 후 해당 그룹에 적용될 하나의 필터를 결정하여 그룹마다 차별적으로 필터링을 수행할 수 있다. ALF의 필터 계수는 비스트림으로부터 복호화한 필터 계수에 대한 정보를 이용하여 결정된다.
루프 필터부(560)를 통해 필터링된 복원블록은 메모리(570)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
이상에서 설명한 바와 같이, 종래의 영상 부호화 장치와 영상 복호화 장치는 정사각 블록 또는 직사각 블록 단위로 픽처를 부호화하고 복호화한다. 그러나, 픽처 내에 수평 또는 수직 이외의 방향의 에지(edge, 예컨대, 픽처 내의 객체들 간의 경계)가 포함되어 있는 경우, 이러한 정사각 또는 직사각 블록 기반의 부호화는 부호화 효율을 감소시킬 수 있다. 예컨대, 트리 구조로 분할될 CTU는 사선 방향의 에지를 포함할 수 있다. 그 CTU를 효율적으로 부호화하기 위해서, 에지를 포함하는 CTU 내의 CU들은 더 작은 정사각 또는 직사각 CU들로 반복적으로(recursive) 분할되어야 한다. 그러나 반복적인 분할은 오히려 CTU의 트리 구조 분할과 관련된 분할 정보의 부호화량을 증가시키는 원인이 된다.
다른 한편으로, 분할 정보의 부호화량을 줄이기 위해, 또는 CTU가 트리 구조로 최대로 분할될 수 있는 레벨(level) 또는 뎁스(depth)의 제약으로 인해, 영상 부호화 장치는 사선을 포함하는 CU를 더 이상 분할하지 않을 수 있다. 그러한 CU에 대한 정사각 또는 직사각 블록 기반의 부호화는 해당 CU의 부호화 데이터, 즉, 잔차 신호를 부호화하기 위해 요구되는 비트량을 증가시키다.
본 개시는 임의 형태의 블록 분할, 다시 말해, 기하학적(geometric) 블록 분할을 이용하여 다양한 방향의 에지들을 포함하는 픽처들을 효율적으로 부호화하는 방법을 제공한다.
1. 블록 분할
영상 부호화 장치는 정사각 또는 직사각형 모양의 대상 블록을 비-직방형(non-rectangular) 블록들로 분할한다. 여기서, 직방형 블록이란 정사각형 또는 직사각형 모양의 블록을 의미하고, 비-직방형 블록이란 정사각형이나 직사각형 모양이 아닌 블록을 의미한다.
대상블록 내부에 에지가 존재하는 경우, 다시 말해, 대상블록이 객체들 간의 경계를 포함하는 경우, 영상 부호화 장치는 에지에 기반하여 대상블록을 비-직방형의 복수의 서브블록들로 기하학적으로 분할할 수 있다.
도 6은 본 발명의 일 실시예에 따른 대상블록을 기하학적으로 분할하는 예시도이다.
도 6의 (A)에 도시된 바와 같이, 대상블록 내에 에지(602)가 존재하는 경우, 영상 부호화 장치는 에지(602)에 기반하여 대상블록을 서브블록 A와 서브블록 B로 분할할 수 있다. 도 6의 (B)에 도시된 바와 같이, 대상블록 내의 두 개의 에지(612, 614)가 존재하는 경우, 영상 부호화 장치는 대상블록을 세 개의 서브블록들 A, B 및 C로 분할할 수 있다.
영상 부호화 장치는 대상블록의 기하학적 분할과 관련된 분할정보를 부호화한다. 분할정보는 대상블록에 기하학적 분할, 즉, 임의 형태의 블록 분할이 적용되었는지 여부를 나타내는 플래그를 포함할 수 있다. 또한, 그 플래그가 기하학적 분할을 지시하는 경우, 그 분할정보는 대상블록의 기하학적 분할 모양과 관련된 분할 모드 정보를 포함한다.
분할 모드 정보는 서브블록 간의 경계선을 나타내는 정보를 포함하며, 경계선의 개수를 나타내는 정보를 더 포함할 수도 있다.
하나의 실시예로서, 경계선에 대한 정보는 해당 경계선이 대상블록의 경계와 만나는 양 끝점의 위치 또는 좌표로 정의될 수 있다. 양 끝점의 위치는 다양한 정밀도(Precision)로 표현될 수 있다. 경계선의 양 끝점의 위치의 정확도는 정수 픽셀의 단위로 표현될 수 있으며, 또는 1/2, 1/4, 1/8, 1/16, 1/32 등과 같은 서브픽셀 (fractional pixel) 단위로 표현될 수도 있다. 영상 부호화 장치는 양 끝점의 위치를 직접적으로 시그널링할 수도 있고, 대안적으로 양 끝점의 좌표를 나타내는 인덱스를 시그널링할 수도 있다. 예컨대, 대상블록의 각 변들은 기정의된 개수의 등 간격으로 분할되고, 각 변의 분할점들에 인덱스가 부여될 수 있다. 영상 부호화 장치는 대상블록의 경계선의 양 끝점 각각에 대응하는 분할점의 인덱스를 부호화할 수 있다. 분할점에 대한 인덱스는 다양한 방식으로 할당될 수 있다. 예컨대, 대상블록의 좌상귀 분할점으로부터 시계 방향으로 각 분할점에 인덱스가 부여될 수 있다. 대안적으로, 분할점에 대한 인덱스는 대상블록의 각 변들에 대해 독립적으로 할당될 수 있다. 예컨대, 대상블록의 각 변마다 0부터 시작하는 인덱스들이 부여될 수 있다. 이 경우, 영상 부호화 장치는 대상블록의 각 변마다 경계선의 분할점이 존재하는지 여부를 나타내는 플래그 및 분할점이 존재하는 변에 대한 인덱스를 부호화한다.
다른 실시예로서, 경계선에 대한 정보는 경계선의 각도와 위치를 나타내는 정보일 수 있다. 경계선의 위치는 대상블록의 중심으로부터 경계선까지의 거리로 표현될 수 있다. 경계선의 각도와 거리는 다양한 정밀도(precision)로 표현될 수 있다. 예를 들어, 경계선의 각도들은 1 도, 2 도 등의 정수 단위로 표현될 수 있고, 또는 1/2, 1/4, 1/8, 1/16, 1/32 등과 같이 분수 단위의 각도로 표현될 수 있다. 경계선의 거리 또한 정수 픽셀 또는 서브픽셀의 정밀도로 표현될 수 있다. 영상 부호화 장치는 경계선의 각도와 거리를 직접적으로 시그널링할 수도 있고, 대안적으로 미리 정의된 각도들과 거리들 중에서 대상블록 내의 경계선의 각도와 거리에 각각 대응하는 인덱스들을 시그널링할 수도 있다.
이상에서 설명한 경계선의 양 끝점 또는 경계선의 각도와 거리는 예측 부호화될 수 있다. 예컨대, 영상 부호화 장치는 기부호화된 블록들 중에서 대상블록의 분할 모드와 동일 또는 유사한 블록을 선택하고, 선택된 블록의 경계선의 양 끝점과 대상블록의 경계선의 양 끝점 간의 차이, 또는 선택된 블록의 경계선의 거리 및 각도와 대상블록의 경계선의 거리 및 각도 간의 차이에 대한 정보를 부호화할 수 있다. 또한, 기부호화된 블록들 중에서 어떤 블록이 선택되었는지를 나타내는 선택 정보가 부호화될 수 있다. 여기서, 기부호화된 블록들은, 예컨대, 도 4에 도시된 바와 같이 대상블록에 인접한 주변블록들로부터, 대안적으로 또는 추가적으로, 최근에 기하학적 분할을 이용하여 부호화된 기정의된 개수의 블록들로부터 선택될 수 있다. 영상 부호화 장치와 영상 복호화 장치는 동일한 방식으로 기부호화된 블록들을 선택할 수 있으므로, 기부호화된 블록들을 구성하기 위한 추가 정보의 시그널링은 요구되지 않는다.
경계선에 대한 정보를 표현하는 다른 실시예로서, 경계선에 대한 정보는 미리 정의된 다양한 방향의 경계선들 중 대상블록 내의 경계선을 나타내는 인덱스로서 표현될 수 있다. 도 7은 미리 정의된 다양한 경계선들을 나타내는 예시도이다. 도 7은 64개의 경계선들을 나타내고 있다. 영상 부호화 장치는 64개의 경계선들 중에서 대상블록의 경계선에 대응하는 인덱스를 부호화한다. 복수 개의 경계선을 이용한 대상블록 분할이 허용되는 경우에, 영상 부호화 장치는 경계선들의 개수와 함께 그 개수만큼의 인덱스들을 시그널링할 수 있다.
영상 부호화 장치는 이상에서 설명한 분할 정보를 부호화하여 영상 복호화 장치로 시그널링하고, 영상 복호화 장치는 그 분할 정보를 이용하여 영상 부호화 장치와 동일하게 대상블록을 서브블록들로 분할한다.
한편, 영상 부호화 장치는 대상블록 보다 상위 레벨, 예컨대, SPS, PPS, 슬라이스, 타일 등의 레벨에서, 기하학적 분할이 인에이블(enable)되는지 여부에 대한 플래그를 시그널링할 수 있다. 해당 플래그가 기하학적 분할이 인에이블됨을 지시할 때에, 그 레벨에 대응하는 이미지 영역 내의 블록들에 대해 전술한 분할 정보가 시그널링된다.
2. 예측
전술한 기하학적 분할은 인터 예측 부호화 또는 인트라 예측 부호화 모두에 적용될 수 있다. 대상블록이 복수의 서브블록들로 기하학적으로 분할 경우, 영상 부호화 장치의 예측부(120)는 각 서브블록들에 대한 인터 예측 또는 인트라 예측을 수행한다. 인터 또는 인트라 예측을 위해 사용된 예측 정보들은 영상 복호화 장치로 시그널링되고, 영상 복호화 장치의 예측부(540)는 예측 정보를 이용하여, 영상 부호화 장치의 예측부(120)와 동일한 방식으로, 각 서브블록들을 예측한다.
2-1) 인터 예측
영상 부호화 장치의 인터 예측부(124)는 서브블록들 각각에 대한 움직임 벡터를 결정하고 그 움직임벡터를 이용하여 각 서브블록들에 대응하는 예측 서브블록들을 생성한다. 그리고, 예측 서브블록들을 결합하여 대상블록에 대한 예측블록을 생성한다. 서브블록들 간의 경계에서의 아티팩트(artifact)를 제거하기 위해, 인터 예측부(124)는 서브블록들 간의 경계 부근의 예측 픽셀들에 대한 추가적인 필터링을 수행할 수도 있다. 각 서브블록들에 대한 움직임 정보는 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다. 영상 복호화 장치의 인터 예측부(544)는 수신한 움직임 정보를 이용하여, 영상 부호화 장치의 인터 예측부(124)와 동일한 방식으로, 각 서브블록들을 예측함으로써 대상블록의 예측블록을 생성한다.
한편, 기하학적 분할은 대상블록이 머지 또는 스킵 모드로 부호화되는 경우에만 적용될 수도 있다. 이 경우, 인터 예측부(124)는, 전술한 바와 같이, 대상블록의 주변블록들로부터 기 결정된 개수의 머지 후보들을 포함하는 머지 리스트를 구성한다. 이어서, 인터 예측부(124)는 머지 리스트에 포함된 머지 후보들 중에서 각 서브블록의 움직임벡터로서 사용할 머지 후보를 선택하고 선택된 후보를 식별하기 위한 머지 인덱스 정보를 생성한다.
각 서브블록들에 대한 머지 인덱스 정보는 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다. 각 서브블록의 머지 인덱스 정보를 수신한 영상 복호화 장치의 인터 예측부(544)는, 영상 부호화 장치의 인터 예측부(124)와 동일하게, 머지 리스트를 구성하고 머지 리스트로부터 머지 인덱스 정보에 의해 지시되는 머지 후보를 선택하여 각 서브블록들을 예측한다.
2-2) 인트라 예측
영상 부호화 장치의 인트라 예측부(122)는 대상블록 주변의 기복원된 픽셀들로부터 참조픽셀(참조샘플)들을 구성하고, 서브블록들 각각에 대한 인트라 예측모드를 결정한다. 그리고 결정된 인트라 예측모드에 따라 참조픽셀들로부터 각 서브블록들을 예측한다. 영상 복호화 장치의 인트라 예측부(542)는, 영상 부호화 장치로부터 수신한 정보를 이용하여, 영상 부호화 장치의 인트라 예측부(122)와 동일한 방식으로 각 서브블록들을 예측한다.
영상 복호화 장치의 인트라 예측부(542)의 동작은 영상 부호화 장치의 인트라 예측부(122)의 동작과 동일하므로, 이하에서는 영상 부호화 장치의 동작을 위주로 설명한다.
경계선의 각도(또는 방향), 대상블록 내의 경계선의 위치(또는 대상블록의 중심으로부터 경계선까지의 거리), 경계선에 상대적인 서브블록의 위치, 및 참조픽셀들을 구성하는 데에 이용되는 대상블록의 주변 라인(픽셀들의 열 및/또는 행)의 위치 중 하나 이상에 근거하여, 각 서브블록들에 대한 참조픽셀들은 서로 다르게 구성될 수 있다. 객체들 간의 경계를 기준으로 대상블록을 분할한 경우, 각 서브블록들은 서로 다른 객체에 속하므로 서로 다른 텍스처 특성을 가질 확률이 높다. 반면, 경계선을 기준으로 동일한 방향에 위치한 블록들은 서로 유사한 텍스처 특성을 가질 확률이 높다. 따라서 각 서브블록에 대한 참조픽셀들은, 경계선을 기준으로 해당 서브블록과 동일한 방향에 위치하는 주변픽셀들을 이용하여, 구성된다.
도 8은 각 서브블록들에 대한 참조픽셀들을 구성하는 방법을 설명하기 위한 예시도이다.
참조픽셀들은 대상블록의 상측에 인접한 행(row)과 좌측에 인접한 열(column)에 포함된 주변픽셀들을 이용하여 구성될 수 있다. 도 8에 도시된 바와 같이, 서브블록 A에 대한 참조픽셀들은 상측 행 또는 좌측 열에 포함된 주변픽셀들 중 경계선을 기준으로 서브블록 A와 동일한 방향에 위치한 주변픽셀들(802, 804)로 구성된다. 마찬가지로, 서브블록 B에 대한 참조픽셀들은 상측 행 또는 좌측 열에 포함된 주변픽셀들 중 경계선을 기준으로 서브블록 B와 동일한 방향에 위치한 주변픽셀들(806)로 구성된다. 도 8의 예시는, 래스터 스캔(raster scan) 순서와 같이, 블록들에 대한 부복호화가 가로 방향으로는 좌측에서 우측의 순서로 그리고 세로 방향으로는 상측에서 하측의의 순서로 진행되는 경우에, 참조픽셀들을 구성하는 방법에 대한 것이다. 그러나 다른 부복호화 순서가 사용될 수도 있으며 부복호화 순서에 따라 대상블록의 우측이나 또는 하측에 인접한 주변픽셀들이 참조픽셀들로 활용될 수도 있다.
인트라 예측부(122)는 경계선의 각도(또는 방향) 및 대상블록 내의 경계선의 위치 등에 의해 대상블록 내의 경계선을 특정하고, 그 경계선이 상측 행 및 좌측 열과 만나는 위치(P, Q)를 연산할 수 있다. 인트라 예측부(122)는 위치 P 및 Q를 이용하여 경계선을 기준으로 각 서브블록과 동일한 방향에 위치한 참조픽셀들을 결정한다.
도 8에 도시된 바와 같이 참조픽셀들은 대상블록에 바로 인접한 상측 행과 좌측 열에 포함되는 주변픽셀들을 이용하여 구성될 수 있으나, 본 발명이 이에 한정되는 것은 아니다. 예컨대, 인트라 예측부(122)는 대상블록에 바로 인접하지 않은 다른 행 또는 열에 포함되는 기복원된 주변픽셀들을 이용하여 참조픽셀들을 구성할 수 있다.
도 9는 각 서브블록들에 대한 참조픽셀들을 구성하는 방법을 설명하기 위한 또 다른 예시도이다.
도 9에 도시된 바와 같이, 인트라 예측부(122)는 대상블록에 바로 인접한 라인뿐만 아니라 인접하지 않은 적어도 하나의 라인에 포함된 주변픽셀들을 이용하여 참조픽셀들을 구성할 수 있다. 예컨대, 대상블록 좌측의 기결정된 개수의 열들 및 상측의 기결정된 개수의 행들에 포함된 주변픽셀들이 참조픽셀들을 구성하기 위해 사용될 수 있다. 인트라 예측부(122)는 복수의 라인들 중 어떤 라인을 사용할지를 선택할 수 있다. 인트라 예측부(122)는 선택된 라인과 경계선이 만나는 위치를 연산하고 그 연산된 위치를 이용하여 각 서브블록에 대한 참조픽셀들을 서로 다르게 구성할 수 있다. 한편, 복수의 라인 중 선택된 라인에 대한 인덱스 정보는 부호화되어 영상 복호화 장치로 전달된다. 영상 복호화 장치는 수신된 인덱스 정보를 이용하여 복수의 라인 중에서 참조픽셀들을 구성하기 위한 라인을 선택한다. 각 라인(행 및 열)에 대한 인덱스는 대상블록으로부터 몇 라인이 떨어져 있는지에 따라 부여될 수 있다. 예컨대, 대상블록에 바로 인접한 첫 번째 라인에는 인덱스 0, 두 번째 라인에는 인덱스 1 등이 부여될 수 있다. 실시예에 따라 하나의 행과 열이 아닌 다수의 행과 열이 사용될 수도 있다. 다수의 행과 열에 대한 정보는 각각의 인덱스를 통해 전송될 수 있으며, 대안적으로 각각이 두 라인 이상의 짝을 이루는 후보들로 구성된 리스트 내에서 하나 이상의 후보를 선택하기 위한 인덱스가 전송될 수 있다. 또한, 좌측과 상측의 라인의 인덱스는 서로 다르게 구성될 수 있다. 예컨대 좌측 열에서는 첫 번째 라인이 선택되고 상측 행에서는 두 번째 라인이 선택될 수 있다.
각 서브블록을 예측하기 위해 사용되는 인트라 예측모드들은, 도 3에서 보는 바와 같이, 방향성 모드들 및 비방향성 모드들(예컨대, DC 모드, PLANAR 모드)를 포함할 수 있다. 경계선의 각도(또는 방향) 및 대상블록 내의 서브블록들의 위치 중 적어도 하나에 근거하여, 각 서브블록에 대한 인트라 예측모드가 선택될 수 있다.
일부 실시예에서, 경계선의 각도(또는 방향) 및 경계선에 상대적인 대상블록 내에서의 서브블록들의 위치 중 적어도 하나에 근거하여, 각 서브블록에 적용 가능한 방향성 모드들이 제한될 수 있다. 다시 말해, 경계선의 각도(또는 방향) 및 대상블록 내의 서브블록들의 위치 중 적어도 하나에 근거하여, 각 서브블록들 별로 전체 인트라 예측모드들 중에서 일부의 인트라 예측모드들만이 선택될 수 있다. 전술한 바와 같이, 각 서브블록들은 서로 다른 참조샘플들을 이용하여 예측된다. 따라서, 인트라 예측부(122)는, 각 서브블록들에 대해 허용되는 참조샘플들만을 이용할 수 있도록, 각 서브블록들에 적용 가능한 방향성 모드들을 제한한다. 이러한 제약은 각 서브블록들의 인트라 예측모드들을 부호화하는 데에 소요되는 비트량을 감소시킨다.
예컨대, 경계선의 각도(또는 방향)를 boundary_angle 라고 할 때, 방향성 모드들은 boundary_angle와 (boundary_angle + 180 도) 사이에 범위, 다시 말해 boundary_angle로부터 반시계방향으로 (boundary_angle + 180 도)까지의 범위에 속하는 각도들을 가지는 방향성 모드들의 집합과 그 이외의 범위에 속하는 각도들을 가지는 방향성 모드들의 집합으로 분류될 수 있다. 인트라 예측부(122)는, 각 서브블록들에 대해 서로 다른 집합에 속하는 방향성 모드를 적용한다. 도 10의 예시를 참조하면, 대상블록은 대상블록의 우상귀와 좌하귀를 연결하는 45도 각도의 경계선에 의해 서브블록 A와 서브블록 B로 분할된다. 서브블록 A는 대상블록의 좌상단 참조픽셀(1002)과 상단 및 좌측 참조픽셀들(1004)를 이용하여 예측되고, 서브블록 B는 우상단 및 좌하단 픽셀들(1006)을 이용하여 예측된다. 따라서, 서브블록 A에 적용 가능한 방향성 모드는 45도에서 반시계방향으로 225도의 범위 내의 각도를 가지는 인트라 예측모드로 제한되고, 서브블록 B에 적용 가능한 방향성 모드는 45도에서 시계방향으로 -135도까지의 범위 내의 각도를 가지는 인트라 예측모드로 제한된다. 도 8에서 보는 바와 같은 다양한 기하학적 분할 형태들에 대해, 서브블록 A와 B에 허용되는 방향성 모드들은 경계선의 각도 및 경계선에 상대적인 서브블록의 위치에 따라 적응적으로 변경될 수 있다.
또한, 가용한 참조픽셀의 범위에 따라서도 이용 가능한 방향성 모드들이 제한될 수 있다. 도 10의 실시예에서 서브블록 B의 참조픽셀들(1006)의 개수가 서브블록 B를 포함하는 대상블록의 가로 및 세로 길이에 의해 제한될 수 있으며, 그에 따라 참조픽셀들(1006)을 참조할 수 없는 방향성 모드들은 서브블록 B의 인트라 예측모드로 사용되지 않는다. 예컨대, 도 10에서 대상블록의 크기가 N x N 일 때, 사용 가능한 참조픽셀들은 대상블록 내의 최좌상단 샘플의 바로 위 샘플로부터 가로(행) 방향으로 연속된 2N개의 주변샘플 및 최좌상단 샘플의 바로 좌측 샘플로부터 세로(열) 방향으로 2N개의 주변픽셀들로 제한될 수 있다. 이 경우, 서브블록 B에 대해 허용되는 인트라 예측모드들은 -130 ~ -112.5도 그리고 22.5 ~ 45도로 제한된다.
본 실시예에서 인트라 예측부(122)는 경계선에 근거하여, 각 서브블록들에 대해, 적용할 인트라 예측모드들을 선택한다. 그리고, 각 서브블록에 대응하여 선택된 인트라 예측모드들 중에서 해당 서브블록의 인트라 예측모드를 결정한다. 결정된 인트라 예측모드를 나타내는 정보는 영상 복호화 장치로 전달된다. 영상 복호화 장치의 인트라 예측부(542)는, 영상 부호화 장치의 인트라 예측부(122)와 마찬가지로, 경계선에 근거하여 서브블록들 각각에 대한 인트라 예측모드들을 선택한다. 그리고, 각 서브블록의 인트라 예측모드를, 해당 서브블록에 대해 선택된 인트라 예측모드들 중에서, 결정한다.
다른 실시예에서, 각 서브블록들에 대한 인트라 예측모드의 제약은 특정 조건 하에서 수행될 수 있다. 인트라 예측부(122)는 각 서브블록에 대해 구성되는 참조픽셀들의 적어도 일부를 포함하는 적어도 하나의 주변블록의 인트라 예측모드를 확인하고, 주변블록의 인트라 예측모드가 지시하는 각도와 경계선의 각도를 서로 비교하여 해당 서브블록에 대한 인트라 예측모드들을 제한할지 여부를 결정할 수 있다. 예컨대, 인트라 예측부(122)는 서브블록 A의 참조픽셀들(1002, 1004) 중 적어도 하나의 픽셀을 포함하는 하나 이상의 주변블록들의 인트라 예측모드를 확인한다. 그 주변블록의 인트라 예측모드들 중 45도에서 225도의 범위 내의 각도를 벗어나는 인트라 예측모드가 존재하는 경우, 경계선에 의해 분할된 두 영역의 텍스처 특성이 서로 구별되지 않을 가능성이 있다. 따라서, 인트라 예측부(122)는 서브블록 A에 대한 인트라 예측모드들은 제한되지 않는다. 이 경우, 서브블록 A의 참조픽셀들도 도 10의 1002 및 1004로 표시된 주변픽셀들로 제한되지 않을 수 있다.
인트라 예측부(122)는 각각의 서브블록들에 대해 적용 가능한 인트라 예측들 중에서 각 서브블록들의 인트라 예측모드들을 결정하고, 결정된 인트라 예측모드들을 이용하여 각 서브블록들에 대한 예측 서브블록들을 생성한다.
각 서브블록들에 대한 인트라 예측모드들은 부호화되어 영상 복호화 장치로 전달된다. 영상 부호화 장치는 각 서브블록에 대한 인트라 예측모드를 직접적으로 지시하는 정보를 부호화할 수 있지만 예측적으로 부호화할 수도 있다.
일부 실시예에서, 영상 부호화 장치는 대상블록의 주변블록들의 인트라 예측모드들을 이용하여 후보 리스트를 구성한다. 그 후보 리스트는 모든 서브블록들에 대해 공유된다. 영상 부호화 장치는 후보 리스트로부터 각 서브블록의 인트라 예측모드를 식별하기 위한 인덱스 정보를 시그널링한다. 하나의 예시로서, 영상 부호화 장치는 후보 리스트에 포함된 예측모드들 중에서 서브블록의 인트라 예측모드와 가장 가까운 모드번호를 가지는 예측모드를 선택하고 선택된 예측모드에 해당하는 인덱스를 부호화한다. 그리고, 서브블록의 실제 인트라 예측모드와 부호화된 인덱스에 해당하는 예측모드 간의 차분값을 부호화한다. 다른 예시로서, 차분값은 서브블록의 예측모드가 후보 리스트에 존재하는 않을 경우, 즉, 서브블록의 실제 인트라 예측모드와 부호화된 인덱스에 해당하는 예측모드가 동일하지 않을 경우에, 부호화될 수 있다. 이를 위해 서브블록의 예측모드가 후보 리스트에 존재하는지 여부를 나타내는 플래그가 차분값에 앞서 부호화될 수 있다.
다른 실시예에서, 후보 리스트는 경계선의 방향(또는 각도) 및 경계선에 의해 분할된 각 서브블록의 위치 중 적어도 하나에 근거하여 각 서브블록 별로 다르게 구성될 수 있다. 도 10를 참조하여 설명하면, 전술한 바와 같이 서브블록 A는 대상블록의 상단 또는 좌측에 위치한 주변픽셀(1004) 및 좌상단에 위치한 주변픽셀(1002)을 적어도 일부 포함하는 주변블록들과 유사한 텍스처 특성을 가질 확률이 높다. 따라서, 영상 부호화 장치는 주변픽셀들(1002, 1004)을 적어도 일부 포함하는 주변블록의 인트라 예측모드들로부터 서브블록 A에 대한 후보 리스트를 생성할 수 있다. 서브블록 B는 대상블록의 우상단 또는 좌하단에 위치한 주변픽셀들(1006)을 적어도 일부 포함하는 주변블록들과 유사한 텍스처 특성을 가질 확률이 높다. 따라서, 영상 부호화 장치는 주변픽셀들(1006)을 적어도 일부 포함하는 주변블록의 인트라 예측모드들로부터 서브블록 B에 대한 후보 리스트를 생성할 수 있다.
본 실시예에서 각 후보리스트로부터 대응하는 서브블록의 인트라 예측모드를 식별하기 위한 정보를 부호화하는 방법은 전술한 실시예와 동일할 수 있다. 다른 예시로서, 영상 부호화 장치는 서브블록의 인트라 예측모드가 대응하는 후보 리스트에 존재하는지 여부를 나타내는 플래그를 부호화한다. 서브블록의 인트라 예측모드가 대응하는 후보 리스트에 존재하는 경우, 그 후보 리스트에서 그 서브블록에 인트라 예측모드에 대응하는 인덱스를 부호화한다. 그렇지 않은 경우, 그 서브블록에 적용 가능한 인트라 예측모드들로부터 그 후보 리스트에 포함된 예측모드들을 제외한 나머지 인트라 예측모드들 중에서 그 서브블록의 인트라 예측모드를 식별하기 위한 식별정보를 부호화한다.
영상 부호화 장치는 각 서브블록에 대한 인트라 예측모드들을 서로 독립적 그리고 개별적으로 부호화할 수 있고, 대안적으로 일부 서브블록들은 전술한 방식과 동일하게 예측모드들을 부호화하고 나머지 서브블록은 그 일부 서브블록들의 인트라 예측모드들과의 차분값을 부호화할 수도 있다. 예컨대, 영상 부호화 장치는 서브블록들을 서로 유사한 예측모드를 가지는 서브블록들의 그룹을 분류한다. 그리고, 각 그룹마다, 하나의 서브블록의 인트라 예측모드를 전술한 실시예의 방법으로 부호화하고 나머지 서브블록의 인트라 예측모드를 그 부호화된 서브블록의 인트라 예측모드와의 차분값으로 부호화한다. 도 11을 참조하면, 경계선들을 고려할 때 서브블록 A와 B, 서브블록 C와 D는 서로 유사한 인트라 예측모드를 가질 가능성이 높다. 따라서, 영상 부호화 장치는 전술한 실시예들에 따라 서브블록 A 및 C의 인트라 예측모드를 부호화한다. 그리고, 서브블록 B와 D의 예측모드를 각각 서브블록 B와 A 간의 예측모드 차이 및 서브블록 D와 C 간의 예측모드 차이로서 부호화한다.
영상 복호화 장치의 인트라 예측부(542)는 영상 부호화 장치로부터 수신한 각 서브블록들의 인트라 예측모드들을 이용하여 각 서브블록들을 인트라 예측한다. 영상 복호화 장치의 인트라 예측부(542)의 동작은 전술한 영상 부호화 장치의 인트라 예측부(122)의 동작과 동일하므로 더 이상의 설명은 생략한다.
한편, 각 서브블록들을 예측하기 위해, 매트릭스 기반의 인트라 예측(MIP, Matrix-based Intra Prediction)이 적용될 수 있다. 대상블록으로부터 기하학적으로 분할된 서브블록들을 MIP 모드를 이용하여 예측하기 위해, 인트라 예측부(122)는 전술한 바와 같은 방식으로 각 서브블록에 대한 참조샘플들을 구성하고 서브블록마다 서로 다른 참조샘플들을 이용하여 매트릭스 연산을 수행하여 각 서브블록에 대한 예측 서브블록들을 생성한다.
도 10을 참조하면, 인트라 예측부(122)는 서브블록 A에 대한 참조샘플들(1002, 1004)를 구성하고 참조샘플들(1002, 1004)로부터 매트릭스 연산을 위한 입력 벡터를 생성한다. 입력 벡터는 참조샘플들을 다운샘플링하여 생성될 수 있다. 예컨대, 입력 벡터는 기정의된 개수의 연속된 참조샘플들을 평균하여 생성될 수 있다. 인트라 예측부(122)는 입력 벡터에 매트릭스를 곱하여 서브블록 A를 구성할 예측픽셀들을 생성한다. 그 예측픽셀들을 서브블록 A의 모양에 맞추어 재배열한다. 인트라 예측부(122)는, 생성된 예측픽셀들과 서브블록 A의 참조픽셀들(1002, 1004)을 이용한 보간을 통해 서브블록 A의 모양에 대응하는 최종 예측 서브블록을 생성한다.
인트라 예측부(122)는 서브블록 B에 대한 참조샘플들(1006)으로부터 입력 벡터를 구성한다. 그리고, 서브블록 A와 동일한 방식으로, 서브블록 B에 대응하는 예측 서브블록을 생성한다.
한편, MIP에서 사용 가능한 매트릭스는 복수 개 존재할 수 있다. 각 서브블록들은 동일한 매트릭스를 사용할 수 있고 또는 서로 다른 매트릭스를 사용할 수도 있다. 사용된 매트릭스를 식별하기 위한 정보는 부호화되어 영상 복호화 장치로 전달된다.
각 서브블록들을 예측하기 위해, 인트라 블록 복사(IBC, Intra Block Copy)가 적용될 수도 있다. 인트라 예측부(122)는 대상블록을 포함하는 현재픽처 내의 기복호화된 영역 내에서 각 서브블록과 가장 유사한 블록을 지시하는 블록 벡터들을 결정한다. 그리고 각 블록 벡터에 의해 지시되는 영역의 기복원된 픽셀들을 이용하여 각 서브블록들에 대한 예측 서브블록들을 생성한다.
이상에서 설명한 인트라 예측방법에 따라 각 서브블록들에 대한 예측 서브블록들이 생성되면, 예측 서브블록들을 결합하여 대상블록에 대한 예측블록을 생성한다. 서브블록들 간의 경계에서의 아티팩트(artifact)를 제거하기 위해, 서브블록들 간의 경계 부근의 예측 픽셀들에 대한 필터링을 수행할 수도 있다. 그 필터링에 대안적으로 또는 추가적으로, 대상블록의 예측블록 내의 예측샘플들에 각 샘플 위치에 대응하는 오프셋들이 가산될 수 있다. 여기서 오프셋들은 포지션 기반의 인트라 예측을 통해 생성될 수 있다. 포지션 기반의 인트라 예측은 VVC 표준이 규정하는 PLANAR 모드일 수 있고 또는 PDPC(Position Dependent intra Prediction Combination)일 수 있다.
3. 변환
영상 부호화 장치의 변환부(140)는 대상블록과 그 대상블록의 예측블록 간의 차이인 잔차블록을 주파수 도메인의 변환계수블록으로 변환한다. 변환계수블록 내의 변환계수들은 부호화되어 영상 복호화 장치로 시그널링되고 영상 복호화 장치의 역변환부(530)에 의해 공간 도메인의 잔차블록으로 역변환된다.
본 개시의 일부 실시예에서, 영상 부호화 장치의 변환부(140)는 대상블록을 그 대상블록의 크기와 동일한 변환 단위를 사용하여 변환할 수도 있고, 각 서브블록들을 독립적으로 변환할 수도 있다. 예컨대, 변환부(140)는 각 서브블록 내의 잔차신호들을 직사각형 또는 정사각형 모양으로 재정렬함으로써 직사각형 또는 정사각형 모양의 잔차블록들을 생성하고, 직사각형 또는 정사각형 모양의 잔차블록들을 서로 독립적 또는 개별적으로 변환할 수 있다.
본 개시의 또 다른 실시예에서, 변환부(140)는, 도 12에서 보는 바와 같이, 대상블록 내의 잔차신호들을 경계선 부근의 잔차신호들의 영역과 그 외의 영역으로 분류하고, 각 영역 내의 잔차신호들을 재정렬하여 직사각형 또는 정사각형 모양의 잔차 서브블록을 생성한다. 변환부(140)는 잔차 서브블록들을 개별적으로 변환 및 양자화하여 각 서브블록들에 대응하는 변환계수블록들을 생성한다. 각 변환계수블록 내의 변환계수들은 부호화되어 영상 복호화 장치로 전달된다. 영상 복호화 장치의 변환부(530)는 변환계수블록들 각각을 역변환 및 역양자화하여 복수의 잔차 서브블록들을 생성한다. 그리고, 각 잔차 서브블록 내의 잔차신호들을 대상블록 내의 대응하는 영역의 원래 위치로 배치함으로써 대상블록에 대한 잔차블록을 생성한다. 이하에서 대상블록 내의 잔차신호들을 부호화하는 방법을 상세히 설명한다.
도 13은 본 개시의 일 실시예에 따른 영상 부호화 장치가 복수의 서브블록으로 기하학적으로 분할되는 대상블록 내의 잔차신호들을 부호화하는 방법을 나타내는 순서도이다.
영상 부호화 장치의 변환부(140)는 대상블록을 변환하기 위해 복수의 변환 단위들을 결정한다(S1110). 변환 단위는 대상블록으로부터 서로 오버랩되지 않도록 분할되는 1차원 또는 2차원의 블록의 크기로서, 변환이 수행되는 단위를 의미한다. 또한, 변환부(14)는 복수의 변환 커널들 중에서 각 변환 단위에 해당하는 잔차신호들을 변환하기 위한 변환 커널을 결정할 수 있다.
도 14에 도시된 바와 같이, 변환부(140)는, 기하학적으로 분할된 서브블록들 간의 경계선을 고려하여, 대상블록을 복수의 영역으로 분할하고(S1220), 각 영역 내의 잔차신호들을 재정렬하여 대응하는 변환 단위의 크기를 가지는 직사각 또는 정사각 형태의 복수의 잔차 서브블록을 생성한다(S1230). 복수의 영역은 경계선을 포함하는 경계선 영역(boundary area)과 경계선을 포함하지 않는 하나 이상의 비-경계선 영역(non-boundary area)을 포함한다. 대상블록으로부터 분할되는 영역들의 개수는 변환 단위들의 개수와 동일할 수 있다. 또한, 각 영역 내의 샘플들의 개수는 대응하는 변환 단위 내의 샘플들의 개수와 동일할 수 있다. 예컨대, 변환 단위의 가로 길이가 2m이고 세로 길이가 2n 일 때, 그 변환 단위에 대응하는 영역의 샘플 개수는 2m * 2n 이다.
예컨대, 도 14에서 예시된 바와 같이, 복수의 영역은 경계선을 포함하는 제1 영역(경계선 영역) 및 대상블록에서 제1 영역을 제외한, 경계선을 포함하지 않는, 제2 영역(비-경계선 영역)일 수 있다. 제1 영역은 각각이 가로 방향으로 연속된 일정 개수의 샘플들로 구성된 행(row)들의 집합일 수 있다. 도 14는 가로 방향으로 네 개의 샘플을 예시한다. 그러나 본 발명이 이에 한정되는 것은 아니며, 제1 영역은 각각이 세로 방향으로 연속된 일정 개수의 샘플들로 구성된 열들의 집합일 수도 있다. 제1 영역을 구성하기 위한 가로 또는 세로 방향의 샘플들의 개수는 제1 영역에 대응하여 결정되었던 변환 단위의 크기, 즉, 변환 단위 내의 샘플들의 개수를 고려하여 결정될 수 있다. 제1 영역의 샘플들의 개수가 대응하는 변환 단위 내의 샘플 개수와 동일하도록 제1 영역이 설정된다. 또한, 그 샘플들의 개수를 결정하기 위해 제1 영역 내의 잔차신호들에 적용할 변환 커널의 타입이 추가로 고려될 수도 있다.
대상블록은 두 개의 영역이 아닌 세 개 이상의 영역들로 분할될 수도 있다. 예컨대, 도 15에 예시된 바와 같이, 대상블록은 경계선으로부터의 거리에 따라 세 개의 영역(제1 내지 3 영역)으로 분할될 수도 있다. 각 영역 내의 잔차신호들은 재정렬됨으로써, 직사각 형태의 잔차 서브블록들이 생성된다. 각 영역의 크기는 그 영역에 대응하여 결정되었던 변환 단위의 크기에 따라 결정된다. 각 영역의 샘플 개수는 대응하는 변환 단위의 샘플 개수와 동일하게 결정된다.
변환부(140)는 직사각 형태의 잔차 서브블록들을 각각 변환 및 양자화하여 복수의 변환계수블록들을 생성한다(S1240). 변환계수블록들 내의 변환계수들에 대한 정보, 및 변환 단위에 대한 정보를 포함하는 변환 정보는 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다. 변환 정보는 변환 커널에 대한 정보를 더 포함할 수 있다.
한편, 전술한 실시예들에서 각 영역들에 대응하는 잔차 서브블록들 모두가 변환 및 양자화되고 부호화되는 것으로 설명하였으나, 그 잔차 서브블록들 중 일부만이 변환, 양자화 및 부호화될 수도 있다. 나머지는 모두 0으로 패딩된다. 예컨대, 기하학적 분할을 통해 예측된 대상블록에 대해서는, 복수의 영역 중 경계선을 포함하는 경계선 영역만이 부호화될 수 있다. 또는, 복수의 영역 중 변환, 양자화 및 부호화를 수행할 하나 이상의 영역을 선택하고 그 선택된 영역을 나타내는 정보를 영상 복호화 장치로 시그널링할 수도 있다.
도 16은 도 13의 부호화 방법에 대응하는, 영상 복호화 장치에 의해 수행되는, 복호화 방법을 예시하는 순서도이다.
영상 복호화 장치의 복호화부(510)는 비트스트림으로부터 변환 정보를 복호화한다. 그리고, 변환 정보에 근거하여 직사각 또는 정사각 형태의 변환 단위들을 결정하고, 각각의 변환 단위들에 해당하는 변환계수들을 복호화하여 변환계수블록들을 생성한다(S1610). 영상 복호화 장치의 역양자화부(520)는 각 변환계수블록들을 역양자화하고, 역변환부(530)는 역양자화된 변환계수블록들을 역변환하여 잔차 서브블록들을 생성한다(S1620).
역변환부(530)는, 경계선에 대한 정보에 의해 특정되는 경계선, 변환 단위들의 개수 및 각 변환 단위들의 크기를 고려하여, 대상블록 내의 복수의 영역을 결정한다. 즉, 대상블록 내에서 경계선을 포함하는 경계선 영역과 경계선을 포함하지 않는 하나 이상의 비-경계선 영역을 결정한다(S1630). 복수의 영역들을 식별하기 위해 변환 단위들의 크기 이외에 변환 정보에 포함된 변환 커널에 대한 정보가 추가로 고려될 수도 있다. 역변환부(530)는, 각 잔차 서브블록의 잔차신호들을 대응하는 영역에 배치 또는 재정렬함으로써, 대상블록에 대한 잔차블록을 생성한다(S1640).
전술한 바와 같이, 영상 부호화 장치는 경계선 영역과 하나 이상의 비-경계선 영역을 포함하는 복수의 영역 중 일부만 부호화하여 전송할 수 있다. 이 경우, 영상 복호화 장치는 영상 부호화 장치가 부호화한 일부 영역에 대응하는 변환계수블록만을 복호화, 역양자화 및 역변환하여 잔차 서브블록을 생성한다. 그리고, 그 잔차 서브블록 내의 잔차신호들을 대응하는 영역에 재정렬한다. 나머지 영역은 0으로 패딩된다.
복수의 영역 중 어떤 영역이 부호화되었는지는 영상 부호화 장치와 영상 복호화 장치 간에 미리 약속되거나, 또는 영상 부호화 장치로부터 영상 복호화 장치로 부호화된 영역을 나타내는 정보가 시그널링될 수도 있다.
도 12의 실시예에서 영상 부호화 장치는 직사각 또는 정사각 모양의 변환 단위를 결정한 이후에 그 변환 단위에 따라 대상블록을 복수의 영역으로 분할하고 각 영역 내의 픽셀들을 변환 단위의 크기에 맞추어 재정렬하여 직사각 형태의 잔차 서브블록을 생성한다. 도 16는 도 12의 부호화 동작에 대응하는 복호화 동작을 예시한다.
다른 실시예로서, 변환부(140)는 먼저 대상블록을 복수의 영역으로 분할한 이후에 변환 단위를 결정할 수도 있다.
변환부(140)는 대상블록을 경계선을 포함하는 경계선 영역과 경계선을 포함하지 않는 하나 이상의 비-경계선 영역으로 분할한다. 여기서, 경계선 영역과 비-경계선 영역을 어떻게 구성할지는 경계선의 타입(예컨대, 경계선이 대상블록의 각 변과 만나는 교점, 또는 경계선의 각도 및 경계선의 위치)에 따라 부호화 장치와 복호화 장치 간에 미리 약속되어 있을 수 있다. 대안적으로, 영역 분할과 관련된 정보는 블록레벨 보다 상위 레벨, 예컨대, 시퀀스, 픽처, 슬라이스, 타일 등의 레벨에서 결정되어 영상 복호화 장치로 시그널링될 수도 있다.
복수의 영역들이 결정된 이후에, 변환부(140)는, 각 영역 내의 전체 픽셀 개수 또는 가로 및 세로 방향으로의 픽셀 개수를 고려하여, 각 영역에 대응하는 직사각 또는 정사각 형태의 변환 단위를 결정한다. 그리고 각 영역들 내의 잔차신호들을 대응하는 변환 단위들의 크기에 맞추어 재정렬하여 직사각 또는 정사각 형태의 잔차 서브블록들을 생성한다.
본 실시예에서, 변환 단위의 크기와 관련된 변환 정보의 추가적인 시그널링은 요구되지 않을 수 있다. 영상 복호화 장치는 경계선에 대한 정보로부터 경계선의 타입을 결정하고 그 경계선의 타입으로부터 변환 단위를 결정할 수 있기 때문이다.
영상 복호화 장치는 경계선에 대한 정보에 의해 경계선 타입을 식별하고 그 경계선 타입에 따라 직사각 또는 정사각형의 변환 단위들을 결정한다. 그리고, 각 변환 단위들에 대응하는 변환계수들을 복호화하여 복수의 변환계수블록들을 생성하고, 변환계수블록들을 역양자화 및 역변환하여 잔차 서브블록들을 생성한다. 영상 복호화 장치는, 경계선 및 변환 단위들의 크기를 고려하여, 대상블록 내에서 경계선을 포함하는 경계선 영역과 경계선을 포함하지 않는 하나 이상의 비-경계선 영역을 식별한다. 그리고, 각 잔차 서브블록 내의 잔차신호들을 대응하는 영역에 재정렬함으로써, 대상블록의 잔차블록을 생성한다.
또 다른 실시예에서, 영상 부호화 장치는 경계선을 토대로 대상블록 외부의 가상 영역을 설정하고, 대상블록 내부의 영역뿐만 아니라 가상 영역을 포함하도록 경계선 영역을 설정할 수 있다. 가상 영역 내의 잔차신호들은 고정된 특정의 값 또는 대상블록 내부 잔차신호들의 값으로 패딩된다. 도 17을 참조하면, 경계선에 의해 분할되는 두 영역 각각에서 경계선과 평행한 가상의 선을 가정한다. 두 가상의 선 사이에 존재하는 영역이 경계선 영역으로 설정된다. 이 때, 대상블록의 좌하귀 및 우상귀 쪽에 형성되는 삼각형 영역이 가상 영역으로 설정될 수 있다. 가상 영역을 포함하는 경계선 영역 내의 잔차신호들은 직사각형 또는 정사각형 형태의 제1 잔차 서브블록으로 재정렬된다. 대상블록은 직사각형 또는 정사각형 형태이고 경계선 영역이 대상블록 외부의 가상 영역을 포함하므로, 대상블록 내에서 경계선 영역을 제외한 비-경계선 영역 내의 잔차신호들은 직사각형 또는 정사각형 형태로 재배열될 수 없다. 따라서, 영상 부호화 장치는, 비-경계선 영역 내의 잔차신호들을 직사각 또는 정사각 형태의 제2 잔차 서브블록으로 재정렬할 때, 가상 영역의 잔차신호들의 개수와 동일한 개수의 잔차신호들을 비-경계선 영역으로부터 제외한다. 비-경계선 영역 내의 어떤 위치의 잔차 신호들을 제외할지는 부호화 장치와 복호화 장치 간에 미리 약속되어 있을 수도 있고, 잔차신호들이 제외된 위치에 대한 정보가 부호화 장치로부터 복호화 장치로 시그널링될 수도 있다.
영상 복호화 장치는, 다른 실시예들에서 설명한 방식과 마찬가지로, 제1 잔차 서브블록을 복원한 이후에 제1 잔차 서브블록 내의 잔차신호들을 경계선 영역 내로 재배열한다. 이 때, 패딩된 가상 영역은 제외된다. 한편, 제2 잔차 서브블록 내의 잔차신호들은 비-경계선 영역 내로 재배열된다. 부호화 장치에 의해 비-경계선으로부터 제외되었던 잔차신호들은 예측값으로 채워진다. 예컨대, 제외되었던 잔차신호들은 특정 값으로 패딩될 수도 있고, 대안적으로 주변 잔차신호들의 평균 값으로 패딩될 수도 있다. 또 다른 방법으로서, 잔차신호들이 제외된 영역은 잔차 레벨이 아닌 복원 후의 픽셀 레벨에서 그 제외 영역 주변의 복원 픽셀값들로부터 채워질 수도 있다. 영상 복호화 장치는 먼저 대상블록 내에서 그 제외 영역 이외의 영역에 대한 픽셀값들을 복원한다. 그리고 그 제외 영역 주변의 복원된 픽셀값들을 이용하여 그 제외 영역의 픽셀값들을 예측한다. 다시 말해, 영상 복호화 장치는, 제외 영역의 잔차신호들과 그 잔차신호들에 대응하는 예측픽셀들의 합이 제외 영역 주변의 복원된 픽셀값들의 가중 평균값과 같아지도록, 그 제외 영역의 픽셀값들을 예측한다.
이하에서는, 대상블록을 양자화 또는 역양자화하는 방법을 설명한다.
대상블록 내의 복수의 영역들(경계선 영역 및 하나 이상의 비-경계선 영역)은 동일한 양자화 파라미터를 이용하여 양자화 또는 역양자화될 수 있다. 예를 들어, 대상블록에 대해 하나의 양자화 파라미터가 결정되고 각 영역들은 대상블록의 양자화 파라미터를 공유한다. 영상 부호화 장치는 대상블록의 양자화 파라미터와 예측 양자화 파라미터 간의 차이인 차분 양자화 파라미터를 부호화한다. 여기서, 예측 양자화 파라미터는 대상블록에 인접한 기복원된 블록들의 양자화 파라미터들로부터 생성된다. 도 18을 참조하면, 예측 양자화 파라미터는 주변블록들 "a" ~ "g" 중에서 적어도 일부의 기복원된 블록들의 양자화 파리미터들로부터 생성된다. 예컨대, 영상 부호화 장치는 상측블록(b) 및 좌측블록(c)의 양자화 파라미터의 평균값을 예측 양자화 파라미터로 설정할 수 있다. 영상 복호화 장치는, 영상 부호화 장치와 동일한 방식으로 예측 양자화 파라미터를 유도하고, 예측 양자화 파라미터와 영상 부호화 장치로부터 수신한 차분 양자화 파라미터를 가산하여 대상블록의 양자화 파라미터를 연산한다.
대안적으로, 대상블록 내의 각 영역들에 대해 독립적으로 양자화 파라미터가 결정될 수 있다. 영상 부호화 장치는 각 영역에 대응하는 잔차신호들에 적용할 차분 양자화 파라미터를 시그널링한다. 각 영역의 예측 양자화 파라미터는 해당 영역에 인접한 블록의 양자화 파라미터를 통해 예측된다. 도 18을 참조하면, 영역 A(경계선 영역)의 예측 양자화 파라미터는 주변블록 "d", "e" 및 "f"들 중 적어도 일부의 양자화 파라미터로부터 예측된다. 실시예에 따라 경계선 영역(A)의 넓이 또는 영역 A와 B 간의 면적 비율에 따라 양자화 파라미터 예측을 위해 사용되는 값이 제한될 수 있다. 예를 들어 경계선 영역(A)가 도 17과 같이 경계선의 좌우 1~2픽셀 영역인 경우 양자화 파라미터는 "d"와 "e"를 통해서 예측된다. 다른 실시예에서 경계선 영역(A)가 경계선 영역에서 확장된다면 "e"와 "d"뿐 아니라 "b" "c" "g" "f"를 추가로 사용하여 예측할 수 있다. 그리고 예측 양자화 파라미터는, 그 주변블록들 중 기복원된 주변블록의 양자화 파라미터의 평균값일 수 있다. 반면, 영역 B(비경계선 영역)의 예측 양자화 파라미터는 주변블록들 "a" ~ "g" 중 기복원된 블록들의 양자화 파라미터들로부터 예측된다. 예컨대, 그 기복원된 주변블록들의 평균값일 수 있다.
또 다른 대안으로서, 영상 부호화 장치는 복수의 영역 중 하나의 영역(예컨대, 경계선 영역)에 대해 양자화 파라미터를 결정하고 나머지 영역은 그 양자화 파라미터에 오프셋을 더하여 유도한다. 예컨대, 영상 부호화 장치는 경계선 영역)에 대한 차분 양자화 파라미터를 전송하고 비-경계선 영역에 대해서는 차분 양자화 파라미터의 전송을 생략할 수 있다. 도 18의 예시에서, 비-경계선 영역(B)은 경계선 영역(A)영역에 비해 상대적으로 예측이 잘 되고 그에 따라 잔차신호들의 절대 크기가 작을 수 있다. 따라서 부복호화 효율을 위해 비-경계선 영역(B)는 항상 경계선 영역(A)에 오프셋을 더한 양자화 파라미터로 양자화하고, 비-경계선 영역(B)을 위한 차분 양자화 파라미터의 전송은 생략될 수 있다. 오프셋은 경계선 영역(A)의 양자화 파라미터에 더해지는 값으로서 양수일 수 있다. 오프셋은 예측 모드에 따라 적응적으로 결정될 수 있다. 대상블록의 예측모드가 인터 예측인지 인트라 예측인지 여부에 따라 서로 다른 오프셋이 적용될 수 있다. 또한, 인터 예측에서도 대상블록이 머지 모드인지 AMVP 모드인지에 따라 서로 다른 오프셋이 적용될 수 있다. 예컨대, 머지 모드인 경우의 오프셋이 가장 큰 값, 인트라 예측모드인 경우의 오프셋이 가장 작은 값을 가질 수 있다. 영상 복호화 장치는 영상 부호화 장치와 동일한 방법으로 예측 양자화 파라미터를 산출하고 그 예측 양자화 파라미터와 차분 양자화 파라미터를 가산하여 경계선 영역의 양자화 파라미터를 결정한다. 나머지 영역의 양자화 파라미터는 영상 부호화 장치와 동일한 오프셋을 경계선 영역의 양자화 파라미터에 가산하여 유도된다. 오프셋은 영상 부호화 장치와 영상 복호화 장치 간의 미리 약속된 고정된 값일 수도 있고, 하이 레벨(high level)에서 시그널링될 수도 있다.
이상의 설명에서 예시적인 실시예들은 많은 다른 방식으로 구현될 수 있다는 것을 이해해야 한다. 하나 이상의 예시들에서 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 본 명세서에서 설명된 기능적 컴포넌트들은 그들의 구현 독립성을 특히 더 강조하기 위해 "...부(unit)" 로 라벨링되었음을 이해해야 한다.
한편, 본 개시에서 설명된 다양한 기능들 혹은 방법들은 하나 이상의 프로세서에 의해 판독되고 실행될 수 있는 비일시적 기록매체에 저장된 명령어들로 구현될 수도 있다. 비일시적 기록매체는, 예를 들어, 컴퓨터 시스템에 의하여 판독가능한 형태로 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 예를 들어, 비일시적 기록매체는 EPROM(erasable programmable read only memory), 플래시 드라이브, 광학 드라이브, 자기 하드 드라이브, 솔리드 스테이트 드라이브(SSD)와 같은 저장매체를 포함한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은 2020년 8월 4일 한국에 출원한 특허출원번호 제10-2020-0097611호, 2020년 8월 7일 한국에 출원한 특허출원번호 제10-2020-0099240호 및 2021년 8월 4일 한국에 출원한 특허출원번호 제10-2021-0102494호에 대해 우선권을 주장하며, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.

Claims (15)

  1. 인트라 예측을 이용하여 대상블록을 복호화하는 영상 복호화 방법에 있어서,
    비트스트림으로부터 상기 대상블록을 분할하기 위한 적어도 하나의 경계선을 특정하는 경계선 정보를 복호화하는 단계, 상기 경계선 정보는 상기 대상블록을 복수의 비-직방형(non-rectangular) 블록들로 분할하는 것을 허용함;
    상기 경계선 정보에 근거하여, 상기 비-직방형 블록들에 대한 인트라 예측모드들을 결정하는 단계;
    상기 인트라 예측모드들을 이용하여 상기 비-직방형 블록들 각각을 인트라 예측함으로써, 상기 대상블록의 예측블록을 생성하는 단계;
    상기 비트스트림으로부터 상기 대상블록의 잔차블록을 복원하는 단계; 및
    상기 예측블록과 상기 잔차블록을 가산하여 상기 대상블록을 복원하는 단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  2. 제1항에 있어서,
    상기 인트라 예측모드들을 결정하는 단계는, 상기 비-직방형 블록들 각각에 대해,
    상기 경계선 정보에 의해 특정되는 경계선의 방향, 및 상기 경계선에 상대적인 상기 비-직방형 블록의 위치에 기반하여, 상기 비-직방형 블록에 적용할 인트라 예측모드들을 선택하는 단계; 및
    상기 비트스트림으로부터 복호화된 예측모드 정보를 이용하여 상기 선택된 인트라 예측모드들 중에서 상기 비-직방형 블록에 대한 인트라 예측모드를 결정하는 단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  3. 제2항에 있어서,
    상기 비-직방형 블록에 적용할 인트라 예측모드들을 선택하는 단계는,
    상기 경계선 정보에 의해 특정되는 상기 경계선의 방향과 위치, 및 상기 경계선에 상대적인 상기 비-직방형 블록의 위치에 기반하여, 상기 대상블록에 인접한 하나 이상의 참조 위치들을 결정하는 단계; 및
    상기 참조 위치들을 포함하는 주변블록의 인트라 예측모드들을 이용하여 상기 비-직방형 블록에 적용할 인트라 예측모드들을 포함하는 후보 리스트를 구성하는 단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  4. 제3항에 있어서,
    상기 예측모드 정보는, 상기 후보 리스트에 포함된 인트라 예측모드들 중에서 하나를 선택하기 위한 인덱스 정보, 및 상기 비-직방형 블록의 인트라 예측모드와 상기 인덱스 정보에 의해 지시되는 인트라 예측모드 간의 차이값을 포함하는 것을 특징으로 하는 영상 복호화 방법.
  5. 제1항에 있어서,
    상기 대상블록의 예측블록을 생성하는 단계는, 상기 비-직방형 블록들 각각에 대해,
    상기 경계선 정보에 의해 특정되는 경계선의 방향과 위치, 및 상기 경계선에 상대적으로 상기 비-직방형 블록의 위치에 근거하여, 상기 비-직방형 블록을 예측하기 위해 사용할 기복원된 참조픽셀들을 구성하는 단계; 및
    상기 참조픽셀들을 이용하여 상기 비-직방형 블록을 인트라 예측하는 단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  6. 제1항에 있어서,
    상기 잔차블록을 복원하는 단계는,
    상기 비트스트림으로부터 직방형의 복수의 변환계수블록들을 복원하는 단계;
    상기 변환계수블록들을 각각 역변환하여 잔차 서브블록들을 생성하는 단계; 및
    상기 경계선 정보에 의해 특정되는 경계선, 및 상기 변환계수블록들의 개수, 및 상기 변환계수블록들 각각의 크기에 근거하여 상기 대상블록을 복수의 영역으로 분할하고, 각 잔차 서브블록 내의 잔차신호들을 대응하는 영역 내로 재배치함으로써 상기 잔차블록을 복원하는 단계를 포함하고,
    상기 복수의 영역은, 상기 경계선을 포함하고 상기 경계선 근방에 형성되는 경계선 영역, 및 상기 경계선을 포함하지 않는 하나 이상의 비-경계선 영역을 포함하는 것을 특징으로 하는 영상 복호화 방법.
  7. 인트라 예측을 이용하여 대상블록을 부호화하는 영상 부호화 방법에 있어서,
    적어도 하나의 경계선을 이용하여 상기 대상블록을 분할하는 단계, 상기 경계선은 상기 대상블록을 복수의 비-직방형(non-rectangular) 블록들로 분할하는 것을 허용함;
    상기 경계선에 근거하여, 상기 비-직방형 블록들에 대한 인트라 예측모드들을 결정하는 단계;
    상기 비-직방형 블록들 각각을 인트라 예측함으로써, 상기 대상블록의 예측블록을 생성하는 단계;
    상기 대상블록으로부터 상기 예측블록을 감산함으로써, 상기 대상블록의 잔차블록을 생성하는 단계; 및
    상기 경계선을 특정하기 위한 경계선 정보 및 상기 잔차블록 내의 잔차신호들을 부호화하는 단계
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  8. 제7항에 있어서,
    상기 인트라 예측모드들을 결정하는 단계는, 상기 비-직방형 블록들 각각에 대해,
    상기 경계선의 방향, 및 상기 경계선에 상대적인 상기 비-직방형 블록의 위치에 기반하여, 상기 비-직방형 블록에 적용할 인트라 예측모드들을 선택하는 단계; 및
    상기 선택된 인트라 예측모드들 중에서 상기 비-직방형 블록에 대한 인트라 예측모드를 결정하는 단계를 포함하고,
    상기 비-직방형 블록에 대한 인트라 예측모드를 나타내는 예측모드 정보는 부호화되는 것을 특징으로 하는 영상 부호화 방법.
  9. 제8항에 있어서,
    상기 비-직방형 블록에 적용할 인트라 예측모드들을 선택하는 단계는,
    상기 경계선의 방향과 위치, 및 상기 경계선에 상대적인 상기 비-직방형 블록의 위치에 기반하여, 상기 대상블록에 인접한 하나 이상의 참조 위치들을 결정하는 단계; 및
    상기 참조 위치들을 포함하는 주변블록의 인트라 예측모드들을 이용하여 상기 비-직방형 블록에 적용할 인트라 예측모드들을 포함하는 후보 리스트를 구성하는 단계
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  10. 제9항에 있어서,
    상기 예측모드 정보는, 상기 후보 리스트에 포함된 인트라 예측모드들 중에서 하나를 선택하기 위한 인덱스 정보, 및 상기 비-직방형 블록의 인트라 예측모드와 상기 인덱스 정보에 의해 지시되는 인트라 예측모드 간의 차이값을 포함하는 것을 특징으로 하는 영상 부호화 방법.
  11. 제7항에 있어서,
    상기 대상블록의 예측블록을 생성하는 단계는, 상기 비-직방형 블록들 각각에 대해,
    상기 경계선의 방향과 위치, 및 상기 경계선에 상대적인 상기 비-직방형 블록의 위치에 근거하여, 상기 비-직방형 블록을 예측하기 위해 사용할 기복원된 참조픽셀들을 구성하는 단계; 및
    상기 참조픽셀들을 이용하여 상기 비-직방형 블록을 인트라 예측하는 단계
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  12. 제7항에 있어서,
    상기 잔차블록 내의 잔차신호들을 부호화하는 단계는,
    상기 대상블록을 복수의 영역으로 분할하는 단계, 상기 복수의 영역은, 상기 경계선을 포함하고 상기 경계선 근방에 형성되는 경계선 영역, 및 상기 경계선을 포함하지 않는 하나 이상의 비-경계선 영역을 포함함; 및
    상기 복수의 영역 각각에 대해, 상기 영역의 내의 잔차신호들을 재배열하여 직방형의 잔차 서브블록을 생성하고, 상기 잔차 서브블록을 변환하는 단계
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  13. 인트라 예측을 이용하여 대상블록을 복호화하는 영상 복호화 장치에 있어서,
    비트스트림으로부터 상기 대상블록을 분할하기 위한 적어도 하나의 경계선을 특정하는 경계선 정보를 및 변환계수들을 복호화하는 복호화부, 상기 경계선 정보는 상기 대상블록을 복수의 비-직방형(non-rectangular) 블록들로 분할하는 것을 허용함;
    상기 경계선 정보에 근거하여 상기 비-직방형 블록들에 대한 인트라 예측모드들을 결정하고, 상기 인트라 예측모드들을 이용하여 상기 비-직방형 블록들 각각을 인트라 예측함으로써 상기 대상블록의 예측블록을 생성하는 예측부;
    상기 변환계수들을 역변환하여 상기 대상블록의 잔차블록을 복원하는 역변환부; 및
    상기 예측블록과 상기 잔차블록을 가산하여 상기 대상블록을 복원하는 가산기
    를 포함하는 것을 특징으로 하는 영상 복호화 장치.
  14. 제13항에 있어서,
    상기 예측부는, 상기 비-직방형 블록들 각각에 대해,
    상기 경계선 정보에 의해 특정되는 경계선의 방향, 및 상기 경계선에 상대적인 상기 비-직방형 블록의 위치에 기반하여, 상기 비-직방형 블록에 적용할 인트라 예측모드들을 선택하고,
    상기 비트스트림으로부터 복호화된 예측모드 정보를 이용하여 상기 선택된 인트라 예측모드들 중에서 상기 비-직방형 블록에 대한 인트라 예측모드를 결정하는 것을 특징으로 하는 영상 복호화 장치.
  15. 제13항에 있어서,
    상기 복호화부는 상기 비트스트림으로부터 각각 변환계수들을 포함하는 직방형의 복수의 변환계수블록들을 복원하고,
    상기 역변환부는,
    상기 변환계수블록들을 각각 역변환하여 잔차 서브블록들을 생성하고,
    상기 경계선 정보에 의해 특정되는 경계선, 및 상기 변환계수블록들의 개수, 및 상기 변환계수블록들 각각의 크기에 근거하여 상기 대상블록을 복수의 영역으로 분할하고, 각 잔차 서브블록 내의 잔차신호들을 대응하는 영역 내에 재배치함으로써 상기 잔차블록을 복원하되,
    상기 복수의 영역은, 상기 경계선을 포함하고 상기 경계선 근방에 형성되는 경계선 영역, 및 상기 경계선을 포함하지 않는 하나 이상의 비-경계선 영역을 포함하는 것을 특징으로 하는 영상 복호화 장치.
PCT/KR2021/010248 2020-08-04 2021-08-04 임의 블록 분할을 이용한 비디오 부호화 및 복호화 WO2022031018A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180057609.0A CN116134812A (zh) 2020-08-04 2021-08-04 使用任意块划分的视频编码和解码
US18/105,105 US20230179762A1 (en) 2020-08-04 2023-02-02 Video encoding and decoding using arbitrary block partitioning

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2020-0097611 2020-08-04
KR20200097611 2020-08-04
KR10-2020-0099240 2020-08-07
KR20200099240 2020-08-07
KR1020210102494A KR20220017380A (ko) 2020-08-04 2021-08-04 임의 블록 분할을 이용한 비디오 부호화 및 복호화
KR10-2021-0102494 2021-08-04

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/105,105 Continuation US20230179762A1 (en) 2020-08-04 2023-02-02 Video encoding and decoding using arbitrary block partitioning

Publications (1)

Publication Number Publication Date
WO2022031018A1 true WO2022031018A1 (ko) 2022-02-10

Family

ID=80117565

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/010248 WO2022031018A1 (ko) 2020-08-04 2021-08-04 임의 블록 분할을 이용한 비디오 부호화 및 복호화

Country Status (2)

Country Link
US (1) US20230179762A1 (ko)
WO (1) WO2022031018A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180018570A (ko) * 2015-06-18 2018-02-21 퀄컴 인코포레이티드 인트라 예측 및 인트라 모드 코딩
KR20180082337A (ko) * 2017-01-09 2018-07-18 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
KR20190042090A (ko) * 2016-09-30 2019-04-23 엘지전자 주식회사 영상 코딩 시스템에서 블록 분할 및 인트라 예측 방법 및 장치
KR102062696B1 (ko) * 2011-11-11 2020-01-06 지이 비디오 컴프레션, 엘엘씨 분할 코딩을 이용한 효과적인 예측
KR20200038257A (ko) * 2017-09-28 2020-04-10 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102062696B1 (ko) * 2011-11-11 2020-01-06 지이 비디오 컴프레션, 엘엘씨 분할 코딩을 이용한 효과적인 예측
KR20180018570A (ko) * 2015-06-18 2018-02-21 퀄컴 인코포레이티드 인트라 예측 및 인트라 모드 코딩
KR20190042090A (ko) * 2016-09-30 2019-04-23 엘지전자 주식회사 영상 코딩 시스템에서 블록 분할 및 인트라 예측 방법 및 장치
KR20180082337A (ko) * 2017-01-09 2018-07-18 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
KR20200038257A (ko) * 2017-09-28 2020-04-10 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치

Also Published As

Publication number Publication date
US20230179762A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
WO2021060938A1 (ko) 360도 비디오 가상 경계의 인루프 필터를 제한하는 방법
WO2021025478A1 (ko) 동영상 데이터의 인트라 예측 코딩을 위한 방법 및 장치
WO2022114742A1 (ko) 비디오 부호화 및 복호화를 위한 장치 및 방법
WO2023038447A1 (ko) 비디오 부호화/복호화 방법 및 장치
WO2022045738A1 (ko) 딥러닝 기반 인루프 필터를 이용하는 영상 부호화 및 복호화
WO2022031018A1 (ko) 임의 블록 분할을 이용한 비디오 부호화 및 복호화
WO2022177375A1 (ko) 인트라 예측 신호와 인터 예측 신호의 가중 합을 이용하여 예측 블록을 생성하는 방법 및 이를 이용한 장치
WO2023022376A1 (ko) 개선된 인루프 필터를 이용하는 비디오 코딩방법 및 장치
WO2021141372A1 (ko) 이종 해상도를 갖는 참조 픽처 기반의 영상 부호화 및 복호화
WO2023038444A1 (ko) 비디오 부호화/복호화 방법 및 장치
WO2023090613A1 (ko) 템플릿 매칭 기반의 인트라 예측을 사용하는 비디오 코딩을 위한 방법 및 장치
WO2022191554A1 (ko) 임의 블록 분할을 이용하는 비디오 코딩방법 및 장치
WO2023277602A1 (ko) 비디오 부호화/복호화 방법 및 장치
WO2023132615A1 (ko) 쌍 머지 후보들을 생성하여 머지 후보 리스트를 구성하는 비디오 부호화/복호화 방법 및 장치
WO2023075124A1 (ko) 기하학적 인트라 예측모드를 이용하는 비디오 코딩방법 및 장치
WO2022260341A1 (ko) 비디오 부호화/복호화 방법 및 장치
WO2023132508A1 (ko) 크로마 성분을 위한 템플릿 기반 인트라 모드 유도를 위한 방법
WO2022119302A1 (ko) 블록병합을 이용하는 비디오 코딩 방법 및 장치
WO2022260339A1 (ko) 비디오 부호화/복호화 방법 및 장치
WO2022211463A1 (ko) 적응적 인트라 예측 정밀도를 이용하는 비디오 코딩방법 및 장치
WO2022108419A1 (ko) 선택적 서브블록 분할정보 전송을 이용하는 영상 부호화 및 복호화 방법과 장치
WO2023182673A1 (ko) 컨텍스트 모델 초기화를 사용하는 비디오 코딩을 위한 방법 및 장치
WO2023132614A1 (ko) 머지 모드를 개선하는 비디오 부호화/복호화 방법 및 장치
WO2023101525A1 (ko) 다중 변환 선택에서 다중 변환 선택 후보의 개수를 조정하는 비디오 부호화/복호화 방법 및 장치
WO2023132514A1 (ko) 개선된 amvp-merge 모드를 이용하는 비디오 코딩을 위한 방법 및 장치

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21854080

Country of ref document: EP

Kind code of ref document: A1