WO2022114669A2 - Image encoding using neural network - Google Patents
Image encoding using neural network Download PDFInfo
- Publication number
- WO2022114669A2 WO2022114669A2 PCT/KR2021/016973 KR2021016973W WO2022114669A2 WO 2022114669 A2 WO2022114669 A2 WO 2022114669A2 KR 2021016973 W KR2021016973 W KR 2021016973W WO 2022114669 A2 WO2022114669 A2 WO 2022114669A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- encoding
- tree
- target
- test
- block
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Definitions
- the present disclosure relates to encoding of an image (video) using a neural network.
- 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.
- MTT multi-type tree
- BT binary tree
- TT ternary tree
- the present disclosure relates to a video encoding method for performing versatile video coding (VVC), in order to reduce computational complexity for intra prediction, weight reduction based on explicit and derivative properties extracted in a coding unit (CU) encoding process
- An object of the present invention is to provide an image encoding method for determining a ternary tree among multi-type trees (MTT) using a light-weight neural network (LNN).
- determining the division type and direction of a target CU (Coding Unit) corresponding to any one node of the tree structure A method of encoding an image for performing an encoding test for generating an explicit characteristic and a derivative characteristic for the target CU, wherein the explicit characteristic includes at least some of coding information generated according to an encoding test for the target CU, and the derivative characteristic is the encoding costs and derived based on at least one of a ternary tree (TT) division direction to be tested; and determining whether to skip an encoding test for TT segmentation in a horizontal or vertical direction by inputting the explicit and derived characteristics into one or more deep neural networks.
- MTT multi-type tree
- generating a screening result by performing a screening test based on a structure of a dual tree for the target CU and a structure of the MTT the method further comprising: When the screening result is true, the step of determining whether to skip the encoding test is performed, and when the screening result is false, the horizontal TT division and the vertical TT division are performed to generate a corresponding encoding cost.
- An image encoding method is provided.
- a division type and direction of a target coding unit (CU) corresponding to any one node of the tree structure is determined a cost estimator for performing an encoding test on the target CU to generate encoding costs for each of non-segmentation, quad tree (QT) segmentation, and binary tree (BT) segmentation; a feature extracting unit for generating an explicit feature and a derivative feature for the target CU, the explicit feature includes at least some of coding information generated according to an encoding test for the target CU, the derivative feature is the encoding derived based on at least one of costs and a ternary tree (TT) splitting direction to be tested; and a first TT division unit that determines whether to skip an encoding test for TT division in a horizontal or vertical direction by inputting the explicit characteristics and derivative characteristics into one or more deep neural networks.
- a screening test unit for generating a screening result by performing a screening test on the target CU based on a structure of a dual tree (dual tree) and the structure of the MTT; and a second TT division unit, wherein when the screening result is true, the first TT division unit determines whether to skip the encoding test for the TT division in the horizontal or vertical direction, and the screening result is false.
- the second TT division unit performs TT division in the horizontal and vertical directions to generate corresponding encoding costs, respectively.
- a ternary tree is determined during MTT (Multi-Type Tree) using a lightweight neural network based on explicit and derived characteristics extracted in a coding unit (CU) encoding process.
- MTT Multi-Type Tree
- CU coding unit
- 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.
- FIG. 3 is a diagram illustrating a plurality of intra prediction modes including wide-angle intra prediction modes.
- FIG. 4 is an exemplary diagram of a neighboring block of the current block.
- 5 is a schematic flowchart of rate-distortion optimization in intra prediction among video encoding methods.
- FIG. 6 is a schematic flowchart of rate-distortion optimization in intra prediction according to an embodiment of the present disclosure.
- FIG. 7 is a schematic illustration of a method for determining a ternary tree according to an embodiment of the present disclosure.
- FIG. 8 is a schematic block diagram of an image encoding apparatus for determining a terrestrial tree according to an embodiment of the present disclosure.
- FIG. 1 is an exemplary block diagram of an image encoding apparatus that can implement techniques of the present disclosure.
- VVC versatile video coding
- the image encoding apparatus includes a picture division unit 110 , a prediction unit 120 , a subtractor 130 , a transform unit 140 , a quantization unit 145 , a reordering unit 150 , an entropy encoding unit 155 , and an inverse quantization unit. 160 , an inverse transform unit 165 , an adder 170 , a 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
- information commonly referenced by a plurality of pictures is encoded in a sequence parameter set (SPS).
- SPS sequence parameter set
- VPS video 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 picture divider 110 determines the size of a coding tree unit (CTU).
- CTU size Information on the size of the CTU (CTU size) is encoded as a syntax of the SPS or PPS and transmitted to the video decoding apparatus.
- the picture divider 110 divides each picture constituting an image into a plurality of coding tree units (CTUs) having a predetermined size, and then repeatedly divides the CTUs using a tree structure. (recursively) divide.
- a leaf node in the tree structure becomes a coding unit (CU), which is a basic unit of encoding.
- CU coding unit
- 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 is a diagram for explaining a method of dividing a block using a QTBTTT structure.
- the CTU may be first divided into a QT structure.
- the quadtree splitting may be repeated until the size of a splitting block reaches the minimum block size 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 or not nodes are split, and a flag indicating additionally splitting direction (vertical or horizontal) if split and/or splitting type (Binary) or Ternary) is encoded by the entropy encoder 155 and signaled to the video decoding apparatus.
- 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 .
- each of the current blocks in a picture may be predictively coded.
- prediction of the current block is performed using an intra prediction technique (using data from the picture containing the current block) or inter prediction technique (using data from a picture coded before the picture containing the current block). can be performed.
- Inter prediction includes both uni-prediction and bi-prediction.
- the intra prediction unit 122 predicts pixels in the current block by using pixels (reference pixels) located around the current block in the current picture including the current block.
- a plurality of intra prediction modes exist according to a prediction direction.
- the plurality of intra prediction modes may include two non-directional modes including a planar mode and a DC mode and 65 directional modes. According to each prediction mode, the neighboring pixels to be used and the calculation expression are defined differently.
- directional modes Nos. 67 to 80 and No. -1 to No. -14 intra prediction modes
- These may be referred to as “wide angle intra-prediction modes”.
- Arrows in FIG. 3B indicate corresponding reference samples used for prediction, not prediction directions. The prediction direction is opposite to the direction indicated by the arrow.
- the wide-angle intra prediction modes are modes in which a specific directional mode is predicted in the opposite direction without additional bit transmission when the current block is rectangular. In this case, among the wide-angle intra prediction modes, some wide-angle intra prediction modes available for the current block may be determined by the ratio of the width to the height of the rectangular current block.
- the wide-angle intra prediction modes having an angle smaller than 45 degrees are available when the current block has a rectangular shape with a height smaller than the width, and a wide angle having an angle greater than -135 degrees.
- the intra prediction modes are available when the current block has a rectangular shape with a width greater than a height.
- 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.
- the intra prediction unit 122 calculates rate distortion values using rate-distortion (RD) analysis for several tested intra prediction modes, and has the best rate distortion characteristic among the tested modes. It is also possible to select an intra prediction mode having .
- RD rate-distortion
- the intra prediction unit 122 selects one intra prediction mode from among a plurality of intra prediction modes, and predicts the current block by using a neighboring pixel (reference pixel) determined according to the selected intra prediction mode and an equation.
- Information on the selected intra prediction mode is encoded by the entropy encoder 155 and transmitted to an image decoding apparatus.
- the inter prediction unit 124 generates a prediction block for the current block by using 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 (MV) corresponding to displacement between the current block in the current picture and the prediction block in the reference picture is generated.
- MV motion vector
- 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 can be expressed up to the precision of the decimal unit rather than the precision of the integer sample unit.
- the precision or resolution of the motion vector may be set differently for each unit of a target region to be encoded, for example, a slice, a tile, a CTU, or a CU.
- AMVR adaptive motion vector resolution
- information on the motion vector resolution to be applied to each target region should be signaled for each target region.
- the target region is a CU
- information on motion vector resolution applied to each CU is signaled.
- the information on the motion vector resolution may be information indicating the precision of a differential motion vector, which will be described later.
- 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.
- the motion information of the current block may be transmitted to the image 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 150 and transmitted to the image decoding apparatus.
- AMVP Advanced Motion Vector Prediction
- 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 transforms the residual signal in the residual block having pixel values in the spatial domain into transform coefficients in the frequency domain.
- the transform unit 140 may transform the residual signals in the residual block by using the entire size of the residual block as a transform unit, or divide the residual block into a plurality of sub-blocks and use the sub-blocks as transform units to perform transformation. You may.
- the residual signals may be transformed by dividing the sub-block into two sub-blocks, which are a transform region and a non-transform region, and use only the transform region sub-block as a transform unit.
- the transform region subblock may be one of two rectangular blocks having a size ratio of 1:1 based on the horizontal axis (or vertical axis).
- the flag (cu_sbt_flag) indicating that only the subblock has been transformed, the vertical/horizontal information (cu_sbt_horizontal_flag), and/or the position information (cu_sbt_pos_flag) are encoded by the entropy encoder 155 and signaled to the video decoding apparatus.
- the size of the transform region subblock may have a size ratio of 1:3 based on the horizontal axis (or vertical axis). Signaled to the decoding device.
- the transform unit 140 may individually transform the residual block in a horizontal direction and a vertical direction.
- various types of transformation functions or transformation matrices may be used.
- a pair of transform functions for horizontal transformation and vertical transformation may be selected (Multiple Transform Selection: MTS).
- MTS Multiple Transform Selection
- the transform unit 140 may select one transform function pair having the best transform efficiency by using the MTS and transform the residual block in horizontal and vertical directions, respectively.
- the information (mts_idx) on the transform function pair selected according to the MTS 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 quantization matrix 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 by using coefficient scanning. For example, 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 . Pixels in the reconstructed current block are used as reference pixels when intra-predicting the next block.
- the loop filter unit 180 reconstructs pixels 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 all or part of a deblocking filter 182, a sample adaptive offset (SAO) filter 184, and an adaptive loop filter (ALF) 186 as an in-loop filter. have.
- the deblocking filter 182 filters the boundary between the reconstructed blocks in order to remove a blocking artifact caused by block-by-block encoding/decoding, and the SAO filter 184 and the ALF 186 deblocking filtering Additional filtering is performed on the captured image.
- the SAO filter 184 and the ALF 186 are filters used to compensate for a difference between a reconstructed pixel and an original pixel caused by lossy coding.
- the SAO filter 184 improves encoding efficiency as well as subjective image quality by applying an offset in units of CTUs.
- the ALF 186 performs block-by-block filtering, and the distortion is compensated by applying different filters by classifying the edge of the corresponding block and the degree of change.
- Information on filter coefficients to be used in the ALF 186 may be encoded and signaled to an image decoding apparatus.
- the restored block filtered through the deblocking filter 182 , the SAO filter 184 and the ALF 186 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.
- This embodiment relates to encoding of an image (video) using a neural network. More specifically, in the video encoding method for performing versatile video coding (VVC), in order to reduce the computational complexity for intra prediction, based on the explicit and derived characteristics extracted in the coding unit (CU) encoding process, An image encoding method for determining a ternary tree among multi-type trees (MTT) using a light-weight neural network (LNN) is provided.
- VVC versatile video coding
- a block corresponding to one node of the tree structure is indicated as a CU.
- a CU corresponds to a current block to be encoded.
- 5 is a schematic flowchart of rate-distortion optimization in intra prediction among video encoding methods.
- An apparatus for encoding an image performing VVC may determine a split type and direction of a CU based on rate-distortion (RD) optimization and split the CU into blocks of an MTT structure.
- RD rate-distortion
- the image encoding apparatus performs intra prediction on the CU (S500).
- the image encoding apparatus calculates the cost value J cur for the current CU according to rate-distortion by performing intra prediction and transformation on the CU.
- the process of calculating J cur may be subdivided as follows based on a plurality of coding tools.
- the image encoding apparatus performs a rate-distortion test on 67 intra prediction modes as shown in FIG. 3A ( S520 ), and uses up to 3 neighboring reference lines for intra prediction, Multiple Reference Line (MRL) to perform a rate-distortion test (S522).
- the video encoding apparatus performs a rate-distortion test by applying an Intra Subblock Partition (ISP) up to five division types (S524), and performs a rate-distortion test by applying a Transform Selection (TS). and (S526), for example, by applying MTS up to five transform pairs, a rate-distortion test is performed (S528).
- ISP Intra Subblock Partition
- TS Transform Selection
- S526 Transform Selection
- the image encoding apparatus may perform appropriate intra prediction for the CU based on the detailed procedures S520 to S528 and calculate the cost value J cur accordingly.
- the image encoding apparatus may perform a test based on MTT division.
- the video encoding apparatus is QT partitioning, BT_H (Binary Tree Horizontal) partitioning, BT_H (Binary Tree Vertical, vertical binary tree) partitioning, TT_H (Ternary Tree Horizontal, horizontal ternary tree) partitioning, and TT_V (Ternary Tree Vertical, TT_V) partitioning.
- a rate-distortion test is performed by sequentially applying the vertical ternary tree) partitioning (S502 to S510).
- the video encoding apparatus may calculate costs J QT , J BT_H , J BT_V , J TT_H and J TT_V according to the MTT division application of QT, BT_H, BT_V, TT_H, and TT_V.
- the image encoding apparatus determines an intra prediction mode and a partition structure for a CU based on the calculated costs (S512).
- the video encoding apparatus additionally performs a new process (S600 to S616 in the example of FIG. 6 ) using LNN in addition to the rate-distortion optimization method as illustrated in FIG. 5 .
- FIG. 6 is a schematic flowchart of rate-distortion optimization in intra prediction according to an embodiment of the present disclosure.
- FIG. 7 is a schematic illustration of a method for determining a ternary tree according to an embodiment of the present disclosure.
- the process of determining the ternary tree includes feature extraction (S600 and S602), a screening test (S604), and an early TT division (S606 to S616) according to the result, or an existing normal TT segmentation (S508 and S510).
- the video encoding apparatus extracts a CU segmentation characteristic for use as an input of the LNN in the intra prediction, QT segmentation, and BT segmentation steps (S500 to S506) of the CU (S600 and S602).
- These CU partitioning characteristics are, (i) coding information according to intra prediction, (ii) parameters according to QT (Quad Tree) partitioning and MTT (Multi-Type Tree) partitioning, (iii) CU, QT partitioning and BT (Binary Tree) partitioning. ) can be extracted based on the RD cost according to the division.
- the CU segmentation feature may include an explicit feature (EF) and a derived feature (DF).
- a Coded Block Flag (CBF) is generated based on a flag indicating whether a transform tree structure for a CU exists, and an MTD is generated based on the depth of the MTT (ie, BT/TT) division.
- BSR Block Shape Ratio
- lh/(lw+lh) in the case of TT_H division and is defined as lw/(lw+lh) in the case of TT_V division
- lw and lh respectively indicate the width and height of the luma block.
- BTD BT Direction
- BTS BTs' Superiority
- J cur and J CU J BT_H and It is set to 1 if both J BT_V are less than the other cases
- the four characteristics, IPM, QP, MRL and MTS show a low correlation with the binary class from -0.07 to 0.02.
- the PCC value between QTD and MTD is obtained, since there is a strong correlation as -0,65, only one of the two can be used. This strong correlation also exists between ISPs and CBFs. Therefore, in the present disclosure, among the characteristics shown in Table 1, as shown in Table 2, in the order of the significant correlation with the binary class, five, BSR, BTD, BTS, MTD, and CBF, are selected as final characteristics. It is used as input for LNN.
- MTD and CBF are values that can be directly calculated from a coding tool and a coding parameter after intra prediction for the current CU, and are thus denoted by an explicit characteristic x EF . Since the remaining three characteristics are values that can be calculated based on the block shape and RD cost after BT division is performed, they are expressed as derived characteristics x DF .
- the derivative feature x DF may be generated in various situations.
- the derivative characteristic according to the present disclosure is applied when additional MTT splitting for a CU is allowed.
- This assumption includes the special case where QT partitioning is not allowed for a CU, but BT or TT partitioning is allowed.
- the CU is a subtree of BT/TT
- the size of the CU does not satisfy the width/height condition according to QT division
- the depth of the CU does not satisfy the maximum depth of QT includes
- J QT may be set as the maximum value of the RD cost.
- the derivative characteristics can then be varied based on the orientation of the TT structure being tested. For example, the BSR for the TT_H division increases as the height of the block is greater than the width, and the BSR for the TT_V division increases as the width of the block is larger than the height. Therefore, in the case of TT_H partitioning, partitioning including horizontally thin blocks is not preferred.
- the derivative feature BTD can also be varied based on the orientation of the TT structure being tested. It can be assumed that the most appropriate direction of TT segmentation is associated with the direction of BT segmentation. For example, if RD cost J BT_H is smaller than J BT_V , RD cost J TT_H may also be smaller than J TT_V . Accordingly, the BTD value may be calculated differently depending on which of the TT_H or TT_V division is tested.
- the image encoding apparatus may perform a screening test (ST) (S604), and may perform early TT segmentation according to the result.
- ST is defined as shown in Equation 1, and when it is 1, early TT division is performed, and when it is 0, regular TT division (S508 and S510) may be performed.
- TC is a tree structure channel including a luma channel (LC) and a chroma channel (CC).
- Pic is the area of the current picture.
- TD Tue Depth
- TD is the tree depth for the MTT structure, a value included in ⁇ 0,1,2,3 ⁇ , when the CU violates the picture boundary (when at least one pixel is not included in the Pic) 3 It may be a larger value.
- the ST according to the present disclosure may be performed based on a dual tree concept and unique features of the MTT structure.
- the ST may prevent an unexpected (unexpected) division of the BT_H or BT_V division regardless of the RD cost. Such unexpected division may occur at the boundary/corner of a picture when the CU violates the picture boundary, that is, when the size of the picture is not a multiple of the maximum CU.
- the LNN can make a suboptimal selection according to the lack of reasonable characteristics on the input side, so that the LNN is not used when the CU violates the picture boundary.
- the LNN is 3 or higher, the LNN is not used.
- the maximum value of TD is 3, but when a CU violates a picture boundary, TD may increase due to unexpected division as described above.
- the image encoding apparatus generates an output y h by using the LNN H based on the explicit characteristic and the derived characteristic (S606).
- LNN H is a lightweight neural network, and may be implemented by including a small number of parameters so that the amount of computation by the neural network does not burden the entire encoding process.
- the video encoding apparatus compares the output y h with a preset threshold (eg, 0.5) (S608), and if it is greater than the threshold, calculates an RD cost J TT_H for TT_H division (S610).
- a preset threshold eg, 0.5
- the entire process of dividing TT_H is omitted.
- the entire process of TT_H partitioning includes even partitioning of a child node of the CU, but there is no restriction on the tree structure of the child node.
- J TT_H may be set to the maximum value of the RD cost.
- the image encoding apparatus generates an output y v by using the LNN V based on the explicit characteristic and the derived characteristic (S612).
- LNN V is a lightweight neural network.
- the video encoding apparatus compares the output y v with a preset threshold (eg, 0.5) (S614), and if it is greater than the threshold, calculates an RD cost J TT_V for TT_V division (S616).
- a preset threshold eg, 0.5
- the entire process of TT_V division is omitted.
- the entire process of TT_V partitioning includes partitioning of the child node of the CU, but there is no restriction on the tree structure of the child node.
- J TT_V may be set to the maximum value of the RD cost.
- the image encoding apparatus determines an intra prediction mode and a partition structure for the CU based on the calculated cost values (S512).
- the cost values calculated here include J cur , QT, BT_H and BT_V split according to intra prediction, J QT , J BT_H and J BT_V , and J TT_H and J TT_V according to early TT split or regular TT split.
- the threshold value for the output y h and the threshold value for y v are exemplified as the same value, but the present invention is not limited thereto and may be different values.
- the threshold is set to a value lower than 0.5 (e.g., for example, 0.25 or 0.125).
- the lightweight neural networks LNN H and LNN V may be LNNs having the same structure, but may have different parameter values.
- the LNN is a fully connected deep neural network, and may include an input layer, a hidden layer, and an output layer.
- the input layer includes 5 nodes
- the hidden layer and the output layer include 30 and 1 nodes, respectively. Accordingly, the number of parameters for each layer including the bias can be exemplified as shown in Table 3.
- the number of parameters to be trained is 221 in total, which is a number that does not burden the increase in complexity of the image encoding apparatus.
- the output of the LNN is made to exist in the range from 0 to 1. As described above, when the output of LNN is 1, it indicates that TT is the optimal choice for CU in terms of RD cost. On the other hand, when the output of the LNN is 0, it indicates that it is not an optimal choice for the CU.
- the output of LNN located between 0 and 1 represents the probability of suitability of TT in terms of RD cost.
- the bar shown in Table 3 is an example of the structure of the LNN and is not necessarily limited thereto.
- An LNN (ie, LNN H and LNN V , respectively) may be trained based on the class to which the learning characteristic data and the target output are paired.
- the learning characteristic data may be obtained using the rate-distortion optimization process illustrated in FIG. 6 , based on a QP value different from that used in the actual image encoding process.
- the target output is a binary value, indicating whether the TT segmentation is optimal for the training feature data.
- a loss function is defined based on a distance between an output of the LNN for learning characteristic data and a target output, and by updating the parameters of the LNN in a direction to decrease the loss function, training for the LNN may be performed.
- the distance may be any one capable of expressing a distance difference between two comparison objects, such as an L1 metric and an L2 metric.
- FIG. 8 is a schematic block diagram of an image encoding apparatus for determining a terrestrial tree according to an embodiment of the present disclosure.
- An image encoding apparatus determines a ternary tree using an LNN based on rate-distortion optimization.
- the video encoding apparatus includes an intra prediction unit 124 , a QT/BT cost estimation unit 802 , a second cost estimation unit 804 , and an optimal division determining unit 806 in addition to existing components including a feature extraction unit 810 . ), a screening test unit 812 and an additional component of the first cost estimator 814 .
- the intra prediction unit 124 calculates the cost value J cur for the current CU according to rate-distortion by performing intra prediction and transformation on the CU using a plurality of coding tools.
- the image encoding apparatus may perform a test based on MTT division.
- the QT/BT cost estimator 802 calculates costs J QT , J BT_H and J BT_V according to rate-distortion by sequentially applying the QT division, the BT_H division, and the BT_V division.
- the second cost estimator 804 performs TT normal division according to the result of the screening test. That is, the second cost estimator 804 calculates the costs J TT_H and J TT_V according to rate-distortion by sequentially applying the TT_H division and the TT_V division.
- the optimal partition determination unit 806 determines an intra prediction mode and a partition structure for the CU based on the calculated costs.
- the feature extractor 810 extracts a feature of an image within the CU to be used as an input of the LNN in the intra prediction, QT segmentation, and BT segmentation steps for the CU.
- the properties for the image may include explicit properties and derived properties, as shown in Table 1.
- BSR, BTD, BTS, MTD, and CBF are selected as final characteristics in the order in which the correlation with the binary class is significant and used as an input to the LNN.
- MTD and CBF are values that can be directly calculated from a coding tool and a coding parameter after intra prediction for the current CU, so they are expressed as explicit properties. Since the remaining three characteristics are values that can be calculated based on the block shape and RD cost after BT division is performed, they are expressed as derivative characteristics.
- the screening test unit 812 may determine whether to perform TT early segmentation by generating a test result as shown in Equation (1).
- the first cost estimator 814 performs TT early division according to the result of the screening test.
- the first cost estimator 814 generates an output y h using LNN H based on the explicit and derived characteristics.
- the RD cost J TT_H for the TT_H split is calculated.
- the first cost estimator 814 omits the entire process for TT_H division, and then generates an output y v using LNN V based on explicit and derived characteristics.
- the RD cost J TT_V for the TT_V split is calculated.
- the entire process of TT_V division is omitted.
- a ternary tree is determined during MTT (Multi-Type Tree) using a lightweight neural network based on explicit and derived characteristics extracted in a coding unit (CU) encoding process.
- MTT Multi-Type Tree
- CU coding unit
- the image encoding method for determining the ternary tree based on the lightweight neural network as described above uses intra prediction for CUs such as I frame (Intra frame), P frame (Predicted frame), and B frame (Bipredictive frame). It can be applied to all possible types of frames.
- an image encoding method for determining a ternary tree based on a lightweight neural network may be applied even when inter prediction is used for a CU.
- each process is sequentially executed in each flowchart according to the present embodiment
- the present invention is not limited thereto.
- the flowchart since it may be applicable to change and execute the processes described in the flowchart or to execute one or more processes in parallel, the flowchart is not limited to a time-series order.
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
본 개시는 신경망을 이용한 영상(비디오)의 부호화에 관한 것이다. The present disclosure relates to encoding of an image (video) using a neural network.
이하에 기술되는 내용은 단순히 본 발명과 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다. The content described below merely provides background information related to the present invention and does not constitute the prior art.
비디오 데이터는 음성 데이터나 정지 영상 데이터 등에 비하여 많은 데이터량을 가지기 때문에, 압축을 위한 처리 없이 그 자체를 저장하거나 전송하기 위해서는 메모리를 포함하여 많은 하드웨어 자원을 필요로 한다. 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.
따라서, 통상적으로 비디오 데이터를 저장하거나 전송할 때에는 부호화기를 사용하여 비디오 데이터를 압축하여 저장하거나 전송하며, 복호화기에서는 압축된 비디오 데이터를 수신하여 압축을 해제하고 재생한다. 이러한 비디오 압축 기술로는 H.264/AVC, HEVC(High Efficiency Video Coding) 등을 비롯하여, HEVC에 비해 약 30% 이상의 부호화 효율을 향상시킨 VVC(Versatile Video Coding)가 존재한다. Accordingly, in general, 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. As such 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.
그러나, 영상의 크기 및 해상도, 프레임률이 점차 증가하고 있고, 이에 따라 부호화해야 하는 데이터량도 증가하고 있으므로 기존의 압축 기술보다 더 부호화 효율이 좋고 화질 개선 효과도 높은 새로운 압축 기술이 요구된다.However, as the size, resolution, and frame rate of an image are gradually increasing, and the amount of data to be encoded is increasing accordingly, a new compression technique with better encoding efficiency and higher image quality improvement than the existing compression techniques is required.
VVC 영상(비디오) 부호화에서는, 부호화 효율을 증가시키기 위해 MTT(Multi-Type Tree)가 적용되고, 이에 따라 바이너리트리(Binary Tree: BT) 및 터너리트리(Ternary Tree: TT)가 이용된다. 하지만, MTT, 특히 터너리트리는 영상 부호화 과정에 대한 계산 복잡도를 현저히 증가시킨다는 문제가 있다. In VVC video (video) encoding, a multi-type tree (MTT) is applied to increase encoding efficiency, and thus a binary tree (BT) and a ternary tree (TT) are used. However, MTT, particularly ternary tree, has a problem in that it significantly increases the computational complexity of the video encoding process.
따라서, 효율적으로 터너리트리를 결정하는 방법이 고려되어야 한다. Therefore, a method for efficiently determining the ternary tree should be considered.
본 개시는, VVC(Versatile Video Coding)를 수행하는 영상 부호화 방법에 있어서, 인트라 예측에 대한 계산 복잡도를 감소시키기 위해, CU(Coding Unit) 부호화 과정에서 추출된 명시적 특성 및 파생적 특성을 기반으로 경량화된 신경망(Light-weight Neural Network: LNN)을 이용하여 MTT(Multi-Type Tree) 중에 터너리트리를 결정하는 영상 부호화 방법을 제공하는 데 목적이 있다.The present disclosure relates to a video encoding method for performing versatile video coding (VVC), in order to reduce computational complexity for intra prediction, weight reduction based on explicit and derivative properties extracted in a coding unit (CU) encoding process An object of the present invention is to provide an image encoding method for determining a ternary tree among multi-type trees (MTT) using a light-weight neural network (LNN).
본 개시의 실시예에 따르면, MTT(Multi-Type Tree) 기반의 블록 분할을 포함하는 트리 구조에 대해 상기 트리 구조의 어느 한 노드에 대응하는 대상 CU(Coding Unit)의 분할 타입 및 방향을 결정하기 위한 부호화 테스트를 수행하는 영상 부호화 방법에 있어서, 상기 대상 CU에 대한 부호화 테스트를 수행하여 비분할, QT(Quad Tree) 분할, 및 BT(Binary Tree) 분할 각각에 대한 부호화 비용들을 생성하는 단계; 상기 대상 CU에 대한 명시적 특성과 파생적 특성을 생성하는 단계, 상기 명시적 특성은 상기 대상 CU에 대한 부호화 테스트에 따라 발생하는 코딩 정보들 중 적어도 일부를 포함하고, 상기 파생적 특성은 상기 부호화 비용들 및 테스트하고자 하는 TT(Ternary Tree) 분할 방향 중 적어도 하나에 기반하여 유도됨; 및 상기 명시적 특성 및 파생적 특성을 하나 이상의 심층신경망에 입력함으로써 수평 또는 수직 방향으로의 TT 분할에 대한 부호화 테스트의 스킵 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다. According to an embodiment of the present disclosure, for a tree structure including multi-type tree (MTT)-based block division, determining the division type and direction of a target CU (Coding Unit) corresponding to any one node of the tree structure A method of encoding an image for performing an encoding test for generating an explicit characteristic and a derivative characteristic for the target CU, wherein the explicit characteristic includes at least some of coding information generated according to an encoding test for the target CU, and the derivative characteristic is the encoding costs and derived based on at least one of a ternary tree (TT) division direction to be tested; and determining whether to skip an encoding test for TT segmentation in a horizontal or vertical direction by inputting the explicit and derived characteristics into one or more deep neural networks.
본 개시의 다른 실시예에 따르면, 상기 대상 CU에 대한 듀얼트리(dual tree)의 구조 및 상기 MTT의 구조를 기반으로 스크리닝(screening) 테스트를 수행하여 스크리닝 결과를 생성하는 단계를 더 포함하여, 상기 스크리닝 결과가 참인 경우, 상기 부호화 테스트의 스킵 여부를 결정하는 단계를 수행하고, 상기 스크리닝 결과가 거짓인 경우, 상기 수평적 TT 분할 및 수직적 TT 분할을 수행하여 대응되는 부호화 비용을 생성하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.According to another embodiment of the present disclosure, generating a screening result by performing a screening test based on a structure of a dual tree for the target CU and a structure of the MTT, the method further comprising: When the screening result is true, the step of determining whether to skip the encoding test is performed, and when the screening result is false, the horizontal TT division and the vertical TT division are performed to generate a corresponding encoding cost. An image encoding method is provided.
본 개시의 다른 실시예에 따르면, MTT(Multi-Type Tree) 기반의 블록 분할을 포함하는 트리 구조에 대해 상기 트리 구조의 어느 한 노드에 대응하는 대상 CU(coding unit)의 분할 타입 및 방향을 결정하기 위한 부호화 테스트를 수행함에 있어서, 상기 대상 CU에 대한 부호화 테스트를 수행하여 비분할, QT(Quad Tree) 분할, 및 BT(Binary Tree) 분할 각각에 대한 부호화 비용들을 생성하는 비용산정부; 상기 대상 CU에 대한 명시적 특성과 파생적 특성을 생성하는 특성추출부, 상기 명시적 특성은 상기 대상 CU에 대한 부호화 테스트에 따라 발생하는 코딩 정보들 중 적어도 일부를 포함하고, 상기 파생적 특성은 상기 부호화 비용들 및 테스트하고자 하는 TT(Ternary Tree) 분할 방향 중 적어도 하나에 기반하여 유도됨; 및 상기 명시적 특성 및 파생적 특성을 하나 이상의 심층신경망에 입력함으로써 수평 또는 수직 방향으로의 TT 분할에 대한 부호화 테스트의 스킵 여부를 결정하는 제1 TT분할부를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.According to another embodiment of the present disclosure, with respect to a tree structure including multi-type tree (MTT)-based block division, a division type and direction of a target coding unit (CU) corresponding to any one node of the tree structure is determined a cost estimator for performing an encoding test on the target CU to generate encoding costs for each of non-segmentation, quad tree (QT) segmentation, and binary tree (BT) segmentation; a feature extracting unit for generating an explicit feature and a derivative feature for the target CU, the explicit feature includes at least some of coding information generated according to an encoding test for the target CU, the derivative feature is the encoding derived based on at least one of costs and a ternary tree (TT) splitting direction to be tested; and a first TT division unit that determines whether to skip an encoding test for TT division in a horizontal or vertical direction by inputting the explicit characteristics and derivative characteristics into one or more deep neural networks. to provide.
본 개시의 다른 실시예에 따르면, 상기 대상 CU에 대해 듀얼트리(dual tree)의 구조 및 상기 MTT의 구조를 기반으로 스크리닝(screening) 테스트를 수행하여 스크리닝 결과를 생성하는 스크리닝 테스트부; 및 제2 TT분할부를 더 포함하여, 상기 스크리닝 결과가 참인 경우, 상기 제1 TT분할부가 상기 수평 또는 수직 방향으로의 TT 분할에 대한 부호화 테스트의 스킵 여부를 결정하고, 상기 스크리닝 결과가 거짓인 경우, 제2 TT분할부가 상기 수평 및 수직 방향으로의 TT 분할을 수행하여 대응되는 부호화 비용 각각을 생성하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.According to another embodiment of the present disclosure, a screening test unit for generating a screening result by performing a screening test on the target CU based on a structure of a dual tree (dual tree) and the structure of the MTT; and a second TT division unit, wherein when the screening result is true, the first TT division unit determines whether to skip the encoding test for the TT division in the horizontal or vertical direction, and the screening result is false. In this case, the second TT division unit performs TT division in the horizontal and vertical directions to generate corresponding encoding costs, respectively.
이상에서 설명한 바와 같이 본 실시예에 따르면, CU(Coding Unit) 부호화 과정에서 추출된 명시적 특성 및 파생적 특성을 기반으로 경량화된 신경망을 이용하여 MTT(Multi-Type Tree) 중에 터너리트리를 결정하는 영상 부호화 방법을 제공함으로써, 인트라 예측에 대한 MTT 구조의 깊이를 감소시키고, 이에 따라 VVC를 수행하는 영상 부호화 방법의 계산 복잡도를 효과적으로 감소시키는 것이 가능해지는 효과가 있다.As described above, according to this embodiment, a ternary tree is determined during MTT (Multi-Type Tree) using a lightweight neural network based on explicit and derived characteristics extracted in a coding unit (CU) encoding process. By providing the video encoding method, it is possible to reduce the depth of the MTT structure for intra prediction and thus effectively reduce the computational complexity of the video encoding method for performing VVC.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.1 is an exemplary block diagram of an image encoding apparatus that can implement techniques of the present disclosure.
도 2는 QTBTTT 구조를 이용하여 블록을 분할하는 방법을 설명하기 위한 도면이다.2 is a diagram for explaining a method of dividing a block using a QTBTTT structure.
도 3은 광각 인트라 예측모드들을 포함한 복수의 인트라 예측모드들을 나타낸 도면이다.3 is a diagram illustrating a plurality of intra prediction modes including wide-angle intra prediction modes.
도 4는 현재블록의 주변블록에 대한 예시도이다.4 is an exemplary diagram of a neighboring block of the current block.
도 5는 영상 부호화 방법 중 인트라 예측에 있어서 레이트-왜곡 최적화에 대한 개략적인 흐름도이다. 5 is a schematic flowchart of rate-distortion optimization in intra prediction among video encoding methods.
도 6은 본 개시의 일 실시예에 따른 인트라 예측에 있어서 레이트-왜곡 최적화에 대한 개략적인 흐름도이다. 6 is a schematic flowchart of rate-distortion optimization in intra prediction according to an embodiment of the present disclosure.
도 7은 본 개시의 일 실시예에 따른 터너리트리 결정방법에 대한 개략적인 예시도이다. 7 is a schematic illustration of a method for determining a ternary tree according to an embodiment of the present disclosure.
도 8은 본 개시의 일 실시예에 따른 터러니트리 결정을 위한 영상 부호화 장치에 대한 개략적인 블록도이다.8 is a schematic block diagram of an image encoding apparatus for determining a terrestrial tree according to an embodiment of the present disclosure.
이하, 본 발명의 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 실시예들의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to exemplary drawings. In adding reference numerals to the components of each drawing, it should be noted that the same components are given the same reference numerals as much as possible even though they are indicated on different drawings. In addition, in the description of the present embodiments, if it is determined that a detailed description of a related well-known configuration or function may obscure the gist of the present embodiments, the detailed description thereof will be omitted.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다. 이하에서는 도 1의 도시를 참조하여 VVC(Versatile Video Coding)을 수행하기 위한 영상 부호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.1 is an exemplary block diagram of an image encoding apparatus that can implement techniques of the present disclosure. Hereinafter, an image encoding apparatus for performing versatile video coding (VVC) and sub-configurations of the apparatus will be described with reference to FIG. 1 .
영상 부호화 장치는 픽처 분할부(110), 예측부(120), 감산기(130), 변환부(140), 양자화부(145), 재정렬부(150), 엔트로피 부호화부(155), 역양자화부(160), 역변환부(165), 가산기(170), 루프 필터부(180) 및 메모리(190)를 포함하여 구성될 수 있다.The image encoding apparatus includes a
영상 부호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.Each component of the image encoding apparatus may be implemented as hardware or software, or a combination of hardware and software. In addition, 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.
하나의 영상(비디오)은 복수의 픽처들을 포함하는 하나 이상의 시퀀스로 구성된다. 각 픽처들은 복수의 영역으로 분할되고 각 영역마다 부호화가 수행된다. 예를 들어, 하나의 픽처는 하나 이상의 타일(Tile) 또는/및 슬라이스(Slice)로 분할된다. 여기서, 하나 이상의 타일을 타일 그룹(Tile Group)으로 정의할 수 있다. 각 타일 또는/슬라이스는 하나 이상의 CTU(Coding Tree Unit)로 분할된다. 그리고 각 CTU는 트리 구조에 의해 하나 이상의 CU(Coding Unit)들로 분할된다. 각 CU에 적용되는 정보들은 CU의 신택스로서 부호화되고, 하나의 CTU에 포함된 CU들에 공통적으로 적용되는 정보는 CTU의 신택스로서 부호화된다. 또한, 하나의 슬라이스 내의 모든 블록들에 공통적으로 적용되는 정보는 슬라이스 헤더의 신택스로서 부호화되며, 하나 이상의 픽처들을 구성하는 모든 블록들에 적용되는 정보는 픽처 파라미터 셋(PPS, Picture Parameter Set) 혹은 픽처 헤더에 부호화된다. 나아가, 복수의 픽처가 공통으로 참조하는 정보들은 시퀀스 파라미터 셋(SPS, Sequence Parameter Set)에 부호화된다. 그리고, 하나 이상의 SPS가 공통으로 참조하는 정보들은 비디오 파라미터 셋(VPS, Video Parameter Set)에 부호화된다. 또한, 하나의 타일 또는 타일 그룹에 공통으로 적용되는 정보는 타일 또는 타일 그룹 헤더의 신택스로서 부호화될 수도 있다. SPS, PPS, 슬라이스 헤더, 타일 또는 타일 그룹 헤더에 포함되는 신택스들은 상위수준(high level) 신택스로 칭할 수 있다. One image (video) 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. For example, one picture is divided into one or more tiles and/or slices. Here, one or more tiles may be defined as a tile group. Each tile or/slice is divided into one or more Coding Tree Units (CTUs). And each CTU is divided into one or more CUs (Coding Units) by a tree structure. Information applied to each CU is encoded as a syntax of the CU, and information commonly applied to CUs included in one CTU is encoded as a syntax of the CTU. In addition, information commonly applied to all blocks in one slice is encoded as a syntax of a slice header, and information applied to all blocks constituting one or more pictures is a picture parameter set (PPS) or a picture. encoded in the header. Furthermore, information commonly referenced by a plurality of pictures is encoded in a sequence parameter set (SPS). In addition, information commonly referred to by one or more SPSs is encoded in a video parameter set (VPS). Also, 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.
픽처 분할부(110)는 CTU(Coding Tree Unit)의 크기를 결정한다. CTU의 크기에 대한 정보(CTU size)는 SPS 또는 PPS의 신택스로서 부호화되어 영상 복호화 장치로 전달된다. The
픽처 분할부(110)는 영상을 구성하는 각 픽처(picture)를 미리 결정된 크기를 가지는 복수의 CTU(Coding Tree Unit)들로 분할한 이후에, 트리 구조(tree structure)를 이용하여 CTU를 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU(coding unit)가 된다. The
트리 구조로는 상위 노드(혹은 부모 노드)가 동일한 크기의 네 개의 하위 노드(혹은 자식 노드)로 분할되는 쿼드트리(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)라 지칭될 수 있다. As a tree structure, a quadtree (QT) in which a parent node (or parent node) is divided into four child nodes (or child nodes) of the same size, or a binary tree (BinaryTree) in which a parent node is divided into two child nodes , BT), or a ternary tree (TT) in which a parent node is divided into three child nodes 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. For example, a QuadTree plus BinaryTree (QTBT) structure may be used, or a QuadTree plus BinaryTree TernaryTree (QTBTTT) structure may be used. Here, BTTT may be combined to be referred to as a Multiple-Type Tree (MTT).
도 2는 QTBTTT 구조를 이용하여 블록을 분할하는 방법을 설명하기 위한 도면이다.2 is a diagram for explaining a method of dividing a block using a QTBTTT structure.
도 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)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.As shown in FIG. 2 , the CTU may be first divided into a QT structure. The quadtree splitting may be repeated until the size of a splitting block reaches the minimum block size 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
대안적으로, 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1 플래그(QT_split_flag)를 부호화하기에 앞서, 그 노드가 분할되는지 여부를 지시하는 CU 분할 플래그(split_cu_flag)가 부호화될 수도 있다. CU 분할 플래그(split_cu_flag) 값이 분할되지 않았음을 지시하는 경우, 해당 노드의 블록이 분할 트리 구조에서의 리프 노드(leaf node)가 되어 부호화의 기본 단위인 CU(coding unit)가 된다. CU 분할 플래그(split_cu_flag) 값이 분할됨을 지시하는 경우, 영상 부호화 장치는 전술한 방식으로 제1 플래그부터 부호화를 시작한다.Alternatively, before encoding the first flag (QT_split_flag) indicating whether each node is split into four nodes of a lower layer, a CU split flag (split_cu_flag) indicating whether the node is split is encoded it might be When 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. When 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.
트리 구조의 다른 예시로서 QTBT가 사용되는 경우, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입(즉, symmetric horizontal splitting)과 세로로 분할하는 타입(즉, symmetric vertical splitting) 두 가지가 존재할 수 있다. BT 구조의 각 노드가 하위 레이어의 블록으로 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할되는 타입을 지시하는 분할 타입 정보가 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다. 한편, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태에는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태가 포함될 수 있고, 혹은 해당 노드의 블록을 대각선 방향으로 분할하는 형태가 포함될 수도 있다.When QTBT is used as another example of the tree structure, there are two types of splitting the block of the node into two blocks of the same size horizontally (ie, symmetric horizontal splitting) and vertically (ie, symmetric vertical splitting). branches may exist. A 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
CU는 CTU로부터의 QTBT 또는 QTBTTT 분할에 따라 다양한 크기를 가질 수 있다. 이하에서는, 부호화 또는 복호화하고자 하는 CU(즉, QTBTTT의 리프 노드)에 해당하는 블록을 '현재블록'이라 칭한다. QTBTTT 분할의 채용에 따라, 현재블록의 모양은 정사각형뿐만 아니라 직사각형일 수도 있다.A CU may have various sizes depending on the QTBT or QTBTTT split from the CTU. Hereinafter, a block corresponding to a CU to be encoded or decoded (ie, a leaf node of QTBTTT) is referred to as a 'current block'. According to the adoption of QTBTTT partitioning, the shape of the current block may be not only a square but also a rectangle.
예측부(120)는 현재블록을 예측하여 예측블록을 생성한다. 예측부(120)는 인트라 예측부(122)와 인터 예측부(124)를 포함한다. The
일반적으로, 픽처 내 현재블록들은 각각 예측적으로 코딩될 수 있다. 일반적으로 현재블록의 예측은 (현재블록을 포함하는 픽처로부터의 데이터를 사용하는) 인트라 예측 기술 또는 (현재블록을 포함하는 픽처 이전에 코딩된 픽처로부터의 데이터를 사용하는) 인터 예측 기술을 사용하여 수행될 수 있다. 인터 예측은 단방향 예측과 양방향 예측 모두를 포함한다.In general, each of the current blocks in a picture may be predictively coded. In general, prediction of the current block is performed using an intra prediction technique (using data from the picture containing the current block) or inter prediction technique (using data from a picture coded before the picture containing the current block). can be performed. Inter prediction includes both uni-prediction and bi-prediction.
인트라 예측부(122)는 현재블록이 포함된 현재 픽처 내에서 현재블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재한다. 예컨대, 도 3a에서 보는 바와 같이, 복수의 인트라 예측모드는 planar 모드와 DC 모드를 포함하는 2개의 비방향성 모드와 65개의 방향성 모드를 포함할 수 있다. 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다.The
직사각형 모양의 현재블록에 대한 효율적인 방향성 예측을 위해, 도 3b에 점선 화살표로 도시된 방향성 모드들(67 ~ 80번, -1 ~ -14 번 인트라 예측모드들)이 추가로 사용될 수 있다. 이들은 "광각 인트라 예측모드들(wide angle intra-prediction modes)"로 지칭될 수 있다. 도 3b에서 화살표들은 예측에 사용되는 대응하는 참조샘플들을 가리키는 것이며, 예측 방향을 나타내는 것이 아니다. 예측 방향은 화살표가 가리키는 방향과 반대이다. 광각 인트라 예측모드들은 현재블록이 직사각형일 때 추가적인 비트 전송 없이 특정 방향성 모드를 반대방향으로 예측을 수행하는 모드이다. 이때 광각 인트라 예측모드들 중에서, 직사각형의 현재블록의 너비와 높이의 비율에 의해, 현재블록에 이용 가능한 일부 광각 인트라 예측모드들이 결정될 수 있다. 예컨대, 45도보다 작은 각도를 갖는 광각 인트라 예측모드들(67 ~ 80번 인트라 예측모드들)은 현재블록이 높이가 너비보다 작은 직사각형 형태일 때 이용 가능하고, -135도보다 큰 각도를 갖는 광각 인트라 예측모드들(-1 ~ -14 번 인트라 예측모드들)은 현재블록이 너비가 높이보다 큰 직사각형 형태일 때 이용 가능하다.For efficient directional prediction of a rectangular-shaped current block, directional modes (Nos. 67 to 80 and No. -1 to No. -14 intra prediction modes) indicated by dotted arrows in FIG. 3B may be additionally used. These may be referred to as “wide angle intra-prediction modes”. Arrows in FIG. 3B indicate corresponding reference samples used for prediction, not prediction directions. The prediction direction is opposite to the direction indicated by the arrow. The wide-angle intra prediction modes are modes in which a specific directional mode is predicted in the opposite direction without additional bit transmission when the current block is rectangular. In this case, among the wide-angle intra prediction modes, some wide-angle intra prediction modes available for the current block may be determined by the ratio of the width to the height of the rectangular current block. For example, the wide-angle intra prediction modes having an angle smaller than 45 degrees (intra prediction modes 67 to 80) are available when the current block has a rectangular shape with a height smaller than the width, and a wide angle having an angle greater than -135 degrees. The intra prediction modes (intra prediction modes -1 to -14) are available when the current block has a rectangular shape with a width greater than a height.
인트라 예측부(122)는 현재블록을 부호화하는데 사용할 인트라 예측모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(122)는 여러 인트라 예측모드들을 사용하여 현재블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(122)는 여러 테스트된 인트라 예측모드들에 대한 레이트 왜곡(Rate-Distortion: RD) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측모드를 선택할 수도 있다.The
인트라 예측부(122)는 복수의 인트라 예측모드 중에서 하나의 인트라 예측모드를 선택하고, 선택된 인트라 예측모드에 따라 결정되는 주변 픽셀(참조 픽셀)과 연산식을 사용하여 현재블록을 예측한다. 선택된 인트라 예측모드에 대한 정보는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다.The
인터 예측부(124)는 움직임 보상 과정을 이용하여 현재블록에 대한 예측블록을 생성한다. 인터 예측부(124)는 현재 픽처보다 먼저 부호화 및 복호화된 참조픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(Motion Vector: MV)를 생성한다. 일반적으로, 움직임 추정은 루마(luma) 성분에 대해 수행되고, 루마 성분에 기초하여 계산된 움직임벡터는 루마 성분 및 크로마 성분 모두에 대해 사용된다. 현재블록을 예측하기 위해 사용된 참조픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다.The
인터 예측부(124)는, 예측의 정확성을 높이기 위해, 참조 픽처 또는 참조 블록에 대한 보간을 수행할 수도 있다. 즉, 연속한 두 정수 샘플 사이의 서브 샘플들은 그 두 정수 샘플을 포함한 연속된 복수의 정수 샘플들에 필터 계수들을 적용하여 보간된다. 보간된 참조 픽처에 대해서 현재블록과 가장 유사한 블록을 탐색하는 과정을 수행하면, 움직임벡터는 정수 샘플 단위의 정밀도(precision)가 아닌 소수 단위의 정밀도까지 표현될 수 있다. 움직임벡터의 정밀도 또는 해상도(resolution)는 부호화하고자 하는 대상 영역, 예컨대, 슬라이스, 타일, CTU, CU 등의 단위마다 다르게 설정될 수 있다. 이와 같은 적응적 움직임벡터 해상도(Adaptive Motion Vector Resolution: AMVR)가 적용되는 경우 각 대상 영역에 적용할 움직임벡터 해상도에 대한 정보는 대상 영역마다 시그널링되어야 한다. 예컨대, 대상 영역이 CU인 경우, 각 CU마다 적용된 움직임벡터 해상도에 대한 정보가 시그널링된다. 움직임벡터 해상도에 대한 정보는 후술할 차분 움직임벡터의 정밀도를 나타내는 정보일 수 있다.The
한편, 인터 예측부(124)는 양방향 예측(bi-prediction)을 이용하여 인터 예측을 수행할 수 있다. 양방향 예측의 경우, 두 개의 참조 픽처와 각 참조 픽처 내에서 현재블록과 가장 유사한 블록 위치를 나타내는 두 개의 움직임벡터가 이용된다. 인터 예측부(124)는 참조픽처 리스트 0(RefPicList0) 및 참조픽처 리스트 1(RefPicList1)로부터 각각 제1 참조픽처 및 제2 참조픽처를 선택하고, 각 참조픽처 내에서 현재블록과 유사한 블록을 탐색하여 제1 참조블록과 제2 참조블록을 생성한다. 그리고, 제1 참조블록과 제2 참조블록을 평균 또는 가중 평균하여 현재블록에 대한 예측블록을 생성한다. 그리고 현재블록을 예측하기 위해 사용한 두 개의 참조픽처에 대한 정보 및 두 개의 움직임벡터에 대한 정보를 포함하는 움직임 정보를 부호화부(150)로 전달한다. 여기서, 참조픽처 리스트 0은 기복원된 픽처들 중 디스플레이 순서에서 현재 픽처 이전의 픽처들로 구성되고, 참조픽처 리스트 1은 기복원된 픽처들 중 디스플레이 순서에서 현재 픽처 이후의 픽처들로 구성될 수 있다. 그러나 반드시 이에 한정되는 것은 아니며, 디스플레이 순서 상으로 현재 픽처 이후의 기복원 픽처들이 참조픽처 리스트 0에 추가로 더 포함될 수 있고, 역으로 현재 픽처 이전의 기복원 픽처들이 참조픽처 리스트 1에 추가로 더 포함될 수도 있다.Meanwhile, the
움직임 정보를 부호화하는 데에 소요되는 비트량을 최소화하기 위해 다양한 방법이 사용될 수 있다. Various methods may be used to minimize the amount of bits required to encode motion information.
예컨대, 현재블록의 참조픽처와 움직임벡터가 주변블록의 참조픽처 및 움직임벡터와 동일한 경우에는 그 주변블록을 식별할 수 있는 정보를 부호화함으로써, 현재블록의 움직임 정보를 영상 복호화 장치로 전달할 수 있다. 이러한 방법을 '머지 모드(merge mode)'라 한다.For example, when the reference picture and motion vector of the current block are the same as the reference picture and motion vector of the neighboring block, the motion information of the current block may be transmitted to the image decoding apparatus by encoding information for identifying the neighboring block. This method is called 'merge mode'.
머지 모드에서, 인터 예측부(124)는 현재블록의 주변블록들로부터 기 결정된 개수의 머지 후보블록(이하, '머지 후보'라 함)들을 선택한다. In the merge mode, the
머지 후보를 유도하기 위한 주변블록으로는, 도 4에 도시된 바와 같이, 현재 픽처 내에서 현재블록에 인접한 좌측블록(L), 상단블록(A), 우상단블록(AR), 좌하단블록(BL), 좌상단블록(AL) 중에서 전부 또는 일부가 사용될 수 있다. 또한, 현재블록이 위치한 현재 픽처가 아닌 참조픽처(현재블록을 예측하기 위해 사용된 참조픽처와 동일할 수도 있고 다를 수도 있음) 내에 위치한 블록이 머지 후보로서 사용될 수도 있다. 예컨대, 참조픽처 내에서 현재블록과 동일 위치에 있는 블록(co-located block) 또는 그 동일 위치의 블록에 인접한 블록들이 머지 후보로서 추가로 더 사용될 수 있다. As the neighboring blocks for deriving the merge candidate, as shown in FIG. 4 , the left block (L), the upper block (A), the upper right block (AR), and the lower left block (BL) adjacent to the current block in the current picture. ), all or part of the upper left block AL may be used. In addition, 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. For example, 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.
인터 예측부(124)는 이러한 주변블록들을 이용하여 기 결정된 개수의 머지 후보를 포함하는 머지 리스트를 구성한다. 머지 리스트에 포함된 머지 후보들 중에서 현재블록의 움직임정보로서 사용할 머지 후보를 선택하고 선택된 후보를 식별하기 위한 머지 인덱스 정보를 생성한다. 생성된 머지 인덱스 정보는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다.The
움직임 정보를 부호화하기 위한 또 다른 방법은 AMVP(Advanced Motion Vector Prediction) 모드이다.Another method for encoding motion information is AMVP (Advanced Motion Vector Prediction) mode.
AMVP 모드에서, 인터 예측부(124)는 현재블록의 주변블록들을 이용하여 현재블록의 움직임벡터에 대한 예측 움직임벡터 후보들을 유도한다. 예측 움직임벡터 후보들을 유도하기 위해 사용되는 주변블록으로는, 도 4에 도시된 현재 픽처 내에서 현재블록에 인접한 좌측블록(L), 상단블록(A), 우상단블록(AR), 좌하단블록(BL), 좌상단블록(AL) 중에서 전부 또는 일부가 사용될 수 있다. 또한, 현재블록이 위치한 현재 픽처가 아닌 참조픽처(현재블록을 예측하기 위해 사용된 참조픽처와 동일할 수도 있고 다를 수도 있음) 내에 위치한 블록이 예측 움직임벡터 후보들을 유도하기 위해 사용되는 주변블록으로서 사용될 수도 있다. 예컨대, 참조픽처 내에서 현재블록과 동일 위치에 있는 블록(collocated block) 또는 그 동일 위치의 블록에 인접한 블록들이 사용될 수 있다.In the AMVP mode, the
인터 예측부(124)는 이 주변블록들의 움직임벡터를 이용하여 예측 움직임벡터 후보들을 유도하고, 예측 움직임벡터 후보들을 이용하여 현재블록의 움직임벡터에 대한 예측 움직임벡터를 결정한다. 그리고, 현재블록의 움직임벡터로부터 예측 움직임벡터를 감산하여 차분 움직임벡터를 산출한다. The
예측 움직임벡터는 예측 움직임벡터 후보들에 기 정의된 함수(예컨대, 중앙값, 평균값 연산 등)를 적용하여 구할 수 있다. 이 경우, 영상 복호화 장치도 기 정의된 함수를 알고 있다. 또한, 예측 움직임벡터 후보를 유도하기 위해 사용하는 주변블록은 이미 부호화 및 복호화가 완료된 블록이므로 영상 복호화 장치도 그 주변블록의 움직임벡터도 이미 알고 있다. 그러므로 영상 부호화 장치는 예측 움직임벡터 후보를 식별하기 위한 정보를 부호화할 필요가 없다. 따라서, 이 경우에는 차분 움직임벡터에 대한 정보와 현재블록을 예측하기 위해 사용한 참조픽처에 대한 정보가 부호화된다.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. In this case, the image decoding apparatus also knows the predefined function. Also, since 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.
한편, 예측 움직임벡터는 예측 움직임벡터 후보들 중 어느 하나를 선택하는 방식으로 결정될 수도 있다. 이 경우에는 차분 움직임벡터에 대한 정보 및 현재블록을 예측하기 위해 사용한 참조픽처에 대한 정보와 함께, 선택된 예측 움직임벡터 후보를 식별하기 위한 정보가 추가로 부호화된다.Meanwhile, the prediction motion vector may be determined by selecting any one of the prediction motion vector candidates. In this case, 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.
감산기(130)는 현재블록으로부터 인트라 예측부(122) 또는 인터 예측부(124)에 의해 생성된 예측블록을 감산하여 잔차블록을 생성한다.The
변환부(140)는 공간 영역의 픽셀 값들을 가지는 잔차블록 내의 잔차신호를 주파수 도메인의 변환 계수로 변환한다. 변환부(140)는 잔차블록의 전체 크기를 변환 단위로 사용하여 잔차블록 내의 잔차신호들을 변환할 수 있으며, 또는 잔차블록을 복수 개의 서브블록으로 분할하고 그 서브블록을 변환 단위로 사용하여 변환을 할 수도 있다. 또는, 변환 영역 및 비변환 영역인 두 개의 서브블록으로 구분하여, 변환 영역 서브블록만 변환 단위로 사용하여 잔차신호들을 변환할 수 있다. 여기서, 변환 영역 서브블록은 가로축 (혹은 세로축) 기준 1:1의 크기 비율을 가지는 두 개의 직사각형 블록 중 하나일 수 있다. 이런 경우, 서브블록 만을 변환하였음을 지시하는 플래그(cu_sbt_flag), 방향성(vertical/horizontal) 정보(cu_sbt_horizontal_flag) 및/또는 위치 정보(cu_sbt_pos_flag)가 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. 또한, 변환 영역 서브블록의 크기는 가로축 (혹은 세로축) 기준 1:3의 크기 비율을 가질 수 있으며, 이런 경우 해당 분할을 구분하는 플래그(cu_sbt_quad_flag)가 추가적으로 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. The
한편, 변환부(140)는 잔차블록에 대해 가로 방향과 세로 방향으로 개별적으로 변환을 수행할 수 있다. 변환을 위해, 다양한 타입의 변환 함수 또는 변환 행렬이 사용될 수 있다. 예컨대, 가로 방향 변환과 세로 방향 변환을 위한 변환 함수의 쌍을 선택(Multiple Transform Selection: MTS)할 수 있다. 변환부(140)는 MTS를 이용하여 변환 효율이 가장 좋은 하나의 변환 함수 쌍을 선택하고 가로 및 세로 방향으로 각각 잔차블록을 변환할 수 있다. MTS에 따라 선택된 변환 함수 쌍에 대한 정보(mts_idx)는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. Meanwhile, the
양자화부(145)는 변환부(140)로부터 출력되는 변환 계수들을 양자화 파라미터를 이용하여 양자화하고, 양자화된 변환 계수들을 엔트로피 부호화부(155)로 출력한다. 양자화부(145)는, 어떤 블록 혹은 프레임에 대해, 변환 없이, 관련된 잔차 블록을 곧바로 양자화할 수도 있다. 양자화부(145)는 변환블록 내의 변환 계수들의 위치에 따라 서로 다른 양자화 계수(스케일링 값)을 적용할 수도 있다. 2차원으로 배열된 양자화된 변환 계수들에 적용되는 양자화 행렬은 부호화되어 영상 복호화 장치로 시그널링될 수 있다. The
재정렬부(150)는 양자화된 잔차값에 대해 계수값의 재정렬을 수행할 수 있다.The
재정렬부(150)는 계수 스캐닝(coefficient scanning)을 이용하여 2차원의 계수 어레이를 1차원의 계수 시퀀스로 변경할 수 있다. 예를 들어, 재정렬부(150)에서는 지그-재그 스캔(zig-zag scan) 또는 대각선 스캔(diagonal scan)을 이용하여 DC 계수부터 고주파수 영역의 계수까지 스캔하여 1차원의 계수 시퀀스를 출력할 수 있다. 변환 단위의 크기 및 인트라 예측모드에 따라 지그-재그 스캔 대신 2차원의 계수 어레이를 열 방향으로 스캔하는 수직 스캔, 2차원의 블록 형태 계수를 행 방향으로 스캔하는 수평 스캔이 사용될 수도 있다. 즉, 변환 단위의 크기 및 인트라 예측모드에 따라 지그-재그 스캔, 대각선 스캔, 수직 방향 스캔 및 수평 방향 스캔 중에서 사용될 스캔 방법이 결정될 수도 있다.The
엔트로피 부호화부(155)는, CABAC(Context-based Adaptive Binary Arithmetic Code), 지수 골롬(Exponential Golomb) 등의 다양한 부호화 방식을 사용하여, 재정렬부(150)로부터 출력된 1차원의 양자화된 변환 계수들의 시퀀스를 부호화함으로써 비트스트림을 생성한다. The
또한, 엔트로피 부호화부(155)는 블록 분할과 관련된 CTU size, CU 분할 플래그, QT 분할 플래그, MTT 분할 타입, MTT 분할 방향 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다. 또한, 엔트로피 부호화부(155)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보(즉, 인트라 예측모드에 대한 정보) 또는 인터 예측정보(머지 모드의 경우 머지 인덱스, AMVP 모드의 경우 참조픽처 인덱스 및 차분 움직임벡터에 대한 정보)를 부호화한다. 또한, 엔트로피 부호화부(155)는 양자화와 관련된 정보, 즉, 양자화 파라미터에 대한 정보 및 양자화 행렬에 대한 정보를 부호화한다.In addition, the
역양자화부(160)는 양자화부(145)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(165)는 역양자화부(160)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.The
가산부(170)는 복원된 잔차블록과 예측부(120)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.The
루프(loop) 필터부(180)는 블록 기반의 예측 및 변환/양자화로 인해 발생하는 블록킹 아티팩트(blocking artifacts), 링잉 아티팩트(ringing artifacts), 블러링 아티팩트(blurring artifacts) 등을 줄이기 위해 복원된 픽셀들에 대한 필터링을 수행한다. 루프 필터부(180)는 인루프(in-loop) 필터로서 디블록킹 필터(182), SAO(Sample Adaptive Offset) 필터(184) 및 ALF(Adaptive Loop Filter, 186)의 전부 또는 일부를 포함할 수 있다.The
디블록킹 필터(182)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 필터링하고, SAO 필터(184) 및 ALF(186)는 디블록킹 필터링된 영상에 대해 추가적인 필터링을 수행한다. SAO 필터(184) 및 ALF(186)는 손실 부호화(lossy coding)로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해 사용되는 필터이다. SAO 필터(184)는 CTU 단위로 오프셋을 적용함으로써 주관적 화질뿐만 아니라 부호화 효율도 향상시킨다. 이에 비하여 ALF(186)는 블록 단위의 필터링을 수행하는데, 해당 블록의 에지 및 변화량의 정도를 구분하여 상이한 필터를 적용하여 왜곡을 보상한다. ALF(186)에 사용될 필터 계수들에 대한 정보는 부호화되어 영상 복호화 장치로 시그널링될 수 있다.The
디블록킹 필터(182), SAO 필터(184) 및 ALF(186)를 통해 필터링된 복원블록은 메모리(190)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용될 수 있다.The restored block filtered through the
본 실시예는 신경망을 이용한 영상(비디오)의 부호화에 관한 것이다. 더욱 상세하게는, VVC(Versatile Video Coding)를 수행하는 영상 부호화 방법에 있어서, 인트라 예측에 대한 계산 복잡도를 감소시키기 위해, CU(Coding Unit) 부호화 과정에서 추출된 명시적 특성 및 파생적 특성을 기반으로 경량화된 신경망(Light-weight Neural Network: LNN)을 이용하여 MTT(Multi-Type Tree) 중에 터너리트리를 결정하는 영상 부호화 방법을 제공한다. This embodiment relates to encoding of an image (video) using a neural network. More specifically, in the video encoding method for performing versatile video coding (VVC), in order to reduce the computational complexity for intra prediction, based on the explicit and derived characteristics extracted in the coding unit (CU) encoding process, An image encoding method for determining a ternary tree among multi-type trees (MTT) using a light-weight neural network (LNN) is provided.
이하, 본 실시예에 따른 설명에서, MTT(Multi-Type Tree) 기반의 블록 분할을 포함하는 트리 구조에 대해, 이러한 트리 구조의 한 노드에 대응하는 블록을 CU로 나타낸다. 또한 CU는 부호화하고자 하는 현재블록에 해당한다. Hereinafter, in the description according to the present embodiment, with respect to a tree structure including a multi-type tree (MTT)-based block division, a block corresponding to one node of the tree structure is indicated as a CU. Also, a CU corresponds to a current block to be encoded.
도 5는 영상 부호화 방법 중 인트라 예측에 있어서 레이트-왜곡 최적화에 대한 개략적인 흐름도이다. 5 is a schematic flowchart of rate-distortion optimization in intra prediction among video encoding methods.
VVC를 수행하는 영상 부호화 장치는 레이트-왜곡(Rate-Distortion: RD) 최적화를 기반으로 CU의 분할 타입 및 방향을 결정하여 MTT 구조의 블록들로 분할할 수 있다. An apparatus for encoding an image performing VVC may determine a split type and direction of a CU based on rate-distortion (RD) optimization and split the CU into blocks of an MTT structure.
영상 부호화 장치는 CU에 대한 인트라 예측을 수행한다(S500). 영상 부호화 장치는 CU에 대한 인트라 예측 및 변환을 수행함으로써, 레이트-왜곡에 따른 현재 CU에 대한 비용치 Jcur을 산정한다. 여기서, Jcur을 산정하는 과정은 복수의 코딩 툴에 기반하여 다음과 같이 세분화될 수 있다. The image encoding apparatus performs intra prediction on the CU (S500). The image encoding apparatus calculates the cost value J cur for the current CU according to rate-distortion by performing intra prediction and transformation on the CU. Here, the process of calculating J cur may be subdivided as follows based on a plurality of coding tools.
영상 부호화 장치는, 도 3a에 도시된 바와 같은, 67 개의 인트라 예측모드에 대하여 레이트-왜곡 테스트를 수행하고(S520), 이웃하는 참조라인 3 개까지 인트라 예측에 이용하는 방식인 MRL(Multiple Reference Line)을 적용하여 레이트-왜곡 테스트를 수행한다(S522). 또한 영상 부호화 장치는, 예컨대, 5 개의 분할 형태까지 ISP(Intra Subblock Partition)를 적용하여 레이트-왜곡 테스트를 수행하고(S524), 변환 선택(TS: Transform Selection)을 적용하여 레이트-왜곡 테스트를 수행하며(S526), 예컨대, 5 개 변환 쌍까지 MTS를 적용하여 레이트-왜곡 테스트를 수행한다(S528). 영상 부호화 장치는 이러한 세부 절차(S520 내지 S528)를 기반으로 CU에 대한 적절한 인트라 예측을 수행하고, 그에 따른 비용치 Jcur을 산정할 수 있다. The image encoding apparatus performs a rate-distortion test on 67 intra prediction modes as shown in FIG. 3A ( S520 ), and uses up to 3 neighboring reference lines for intra prediction, Multiple Reference Line (MRL) to perform a rate-distortion test (S522). In addition, the video encoding apparatus, for example, performs a rate-distortion test by applying an Intra Subblock Partition (ISP) up to five division types (S524), and performs a rate-distortion test by applying a Transform Selection (TS). and (S526), for example, by applying MTS up to five transform pairs, a rate-distortion test is performed (S528). The image encoding apparatus may perform appropriate intra prediction for the CU based on the detailed procedures S520 to S528 and calculate the cost value J cur accordingly.
한편, CU에 대한 추가적인 분할이 가능한 경우, 영상 부호화 장치는 MTT 분할에 기반하는 테스트를 수행할 수 있다. On the other hand, when additional division of the CU is possible, the image encoding apparatus may perform a test based on MTT division.
영상 부호화 장치는 QT 분할, BT_H(Binary Tree Horizontal, 수평 바이너리트리) 분할, BT_H(Binary Tree Vertical, 수직 바이너리트리) 분할, TT_H(Ternary Tree Horizontal, 수평 터너리트리) 분할 및 TT_V(Ternary Tree Vertical, 수직 터너리트리) 분할을 순서대로 적용하여 레이트-왜곡 테스트를 수행한다(S502 내지 S510). 영상 부호화 장치는 QT, BT_H, BT_V, TT_H 및 TT_V의 MTT 분할 적용에 따른 코스트 JQT, JBT_H, JBT_V, JTT_H 및 JTT_V를 산정할 수 있다. The video encoding apparatus is QT partitioning, BT_H (Binary Tree Horizontal) partitioning, BT_H (Binary Tree Vertical, vertical binary tree) partitioning, TT_H (Ternary Tree Horizontal, horizontal ternary tree) partitioning, and TT_V (Ternary Tree Vertical, TT_V) partitioning. A rate-distortion test is performed by sequentially applying the vertical ternary tree) partitioning (S502 to S510). The video encoding apparatus may calculate costs J QT , J BT_H , J BT_V , J TT_H and J TT_V according to the MTT division application of QT, BT_H, BT_V, TT_H, and TT_V.
영상 부호화 장치는 산정된 코스트들을 기반으로 CU에 대한 인트라 예측모드 및 분할 구조를 결정한다(S512).The image encoding apparatus determines an intra prediction mode and a partition structure for a CU based on the calculated costs (S512).
이하, 도 6 및 도 7을 참조하여, MTT 분할에 기반하는 인트라 예측의 계산 복잡도를 감소시키기 위해, 레이트-왜곡 최적화를 기반으로 본 실시예에 따른 터너리트리를 결정하는 영상 부호화 방법에 관하여 설명한다. Hereinafter, an image encoding method for determining a ternary tree according to the present embodiment based on rate-distortion optimization in order to reduce the computational complexity of intra prediction based on MTT segmentation will be described with reference to FIGS. 6 and 7 . do.
본 개시에 따른 영상 부호화 장치는, 도 5에 예시된 바와 같은 레이트-왜곡 최적화 방법에 더하여 LNN을 이용하는 신규 과정(도 6의 예시에서 S600 내지 S616)을 추가적으로 수행한다. The video encoding apparatus according to the present disclosure additionally performs a new process (S600 to S616 in the example of FIG. 6 ) using LNN in addition to the rate-distortion optimization method as illustrated in FIG. 5 .
도 6은 본 개시의 일 실시예에 따른 인트라 예측에 있어서 레이트-왜곡 최적화에 대한 개략적인 흐름도이다. 6 is a schematic flowchart of rate-distortion optimization in intra prediction according to an embodiment of the present disclosure.
도 7은 본 개시의 일 실시예에 따른 터너리트리 결정방법에 대한 개략적인 예시도이다. 7 is a schematic illustration of a method for determining a ternary tree according to an embodiment of the present disclosure.
도 6 및 도 7에 예시된 바와 같이, 터너리트리를 결정하는 과정은 특성 추출(S600 및 S602), 스크리닝 테스트(S604), 및 그 결과에 따른 조기 TT 분할(S606 내지 S616) 또는 기존의 정규 TT 분할(S508 및 S510) 단계를 포함한다. As illustrated in FIGS. 6 and 7 , the process of determining the ternary tree includes feature extraction (S600 and S602), a screening test (S604), and an early TT division (S606 to S616) according to the result, or an existing normal TT segmentation (S508 and S510).
영상 부호화 장치는, CU에 대한 인트라 예측, QT 분할 및 BT분할 단계(S500 내지 S506)에서, LNN의 입력으로 이용하기 위한 CU 분할 특성을 추출한다(S600 및 S602). 이러한 CU 분할 특성은, (i) 인트라 예측에 따른 코딩 정보, (ii) QT(Quad Tree) 분할 및 MTT(Multi-Type Tree) 분할에 따른 파라미터, (iii) CU, QT 분할 및 BT(Binary Tree) 분할에 따른 RD 코스트 등을 기반으로 추출될 수 있다. CU 분할 특성은, 표 1에 나타낸 바와 같이, 명시적 특성(Explicit Feature: EF) 및 파생적 특성(Derived Feature: DF)을 포함할 수 있다.The video encoding apparatus extracts a CU segmentation characteristic for use as an input of the LNN in the intra prediction, QT segmentation, and BT segmentation steps (S500 to S506) of the CU (S600 and S602). These CU partitioning characteristics are, (i) coding information according to intra prediction, (ii) parameters according to QT (Quad Tree) partitioning and MTT (Multi-Type Tree) partitioning, (iii) CU, QT partitioning and BT (Binary Tree) partitioning. ) can be extracted based on the RD cost according to the division. As shown in Table 1, the CU segmentation feature may include an explicit feature (EF) and a derived feature (DF).
여기서, CBF(Coded Block Flag)는 CU를 위한 변환 트리(transform tree) 구조의 존재 여부를 나타내는 플래그를 기반으로 생성되고, MTD는 MTT(즉, BT/TT) 분할의 깊이를 기반으로 생성된다. BSR(Block Shape Ratio)은 TT 분할의 방향에 따른 블록 형태의 비율로서, TT_H 분할의 경우 lh/(lw+lh)로 정의되고, TT_V 분할의 경우 lw/(lw+lh)로 정의되는데, lw 및 lh 각각은 루마 블록의 너비(width) 및 높이(height)를 나타낸다. BTD(BT Direction)는 RD 코스트 측면에서 BT 분할에 대한 최적의 방향이 테스트하고자 하는 TT 분할의 방향과 일치하는 지를 나타내는 부울 값(boolean value)이다. BTS(BTs' Superiority)는 RD 코스트 측면에서 BT 분할의 우수성을 나타내기 위한 특성으로서, JBT_H 또는 JBT_V 중 하나가 다른 경우(Jcur 및 JCU)보다 작은 경우 0.5로 설정되고, JBT_H 및 JBT_V 모두가 다른 경우(Jcur 및 JCU)보다 작은 경우 1로 설정된다. Here, a Coded Block Flag (CBF) is generated based on a flag indicating whether a transform tree structure for a CU exists, and an MTD is generated based on the depth of the MTT (ie, BT/TT) division. BSR (Block Shape Ratio) is a ratio of the block shape according to the direction of TT division, and is defined as lh/(lw+lh) in the case of TT_H division, and is defined as lw/(lw+lh) in the case of TT_V division, lw and lh respectively indicate the width and height of the luma block. BTD (BT Direction) is a Boolean value indicating whether the optimal direction for BT division in terms of RD cost coincides with the direction of TT division to be tested. BTS (BTs' Superiority) is a characteristic for indicating the superiority of BT division in terms of RD cost, and is set to 0.5 when one of J BT_H or J BT_V is smaller than the other (J cur and J CU ), J BT_H and It is set to 1 if both J BT_V are less than the other cases (J cur and J CU ).
한편, 표 1에 나타낸 모든 특성은 0부터 1까지의 범위의 값으로 정규화된 것이다.Meanwhile, all properties shown in Table 1 are normalized to values ranging from 0 to 1.
LNN의 복잡도를 줄이기 위해, 표 1에 나타낸 특성 중 LNN의 정확도를 향상시키는 데 있어서 도움이 되는 일부 특성만이 이용될 수 있다. 또한, 예시된 특성들 중 강한 상관관계가 있는 항목들은 LNN의 정확도를 희생시키지 않는 채로 오버헤드(overhead)를 감소시키기 위해 결합될 수 있다. 표 1에 나타낸 특성들의 중요도를 파악하기 위해 특성들과 이진 클래스 간의 선형상관관계를 나타내는 피어슨 상관계수(Pearson Correlation Coefficient: PCC)가 산정될 수 있다. 여기서, 이진 클래스는 n 개의 특성 벡터 xi(1≤i≤n)에 대하여, (xi, yi)로 정의되고, yi는 {0,1}에 포함된다. (yi=1)은 RD 코스트 측면에서 TT가 CU에 대한 최적 선택임을 나타낸다. 반면, (yi=0)는 CU에 대한 최적 선택이 아님을 나타낸다. 테스트용 이미지 및 표 1에 나타낸 특성에 기반하는 LNN을 이용하여 테스트용 이미지를 인코딩하여 표 1에 나타낸 특성들과 이진 클래스 간의 피어슨 상관계수가 산정될 수 있는데, 표 2에 나타낸 바와 같이 예시될 수 있다. In order to reduce the complexity of the LNN, among the properties shown in Table 1, only some properties helpful in improving the accuracy of the LNN may be used. Also, strongly correlated items of the illustrated properties can be combined to reduce overhead without sacrificing the accuracy of the LNN. In order to understand the importance of the features shown in Table 1, a Pearson Correlation Coefficient (PCC) indicating a linear correlation between the features and the binary class may be calculated. Here, the binary class is defined as (x i , y i ) for n feature vectors x i (1≤i≤n), and y i is included in {0,1}. (y i =1) indicates that TT is the optimal choice for CU in terms of RD cost. On the other hand, (y i =0) indicates that it is not an optimal choice for the CU. The Pearson correlation coefficient between the features shown in Table 1 and the binary class can be calculated by encoding the test image using an LNN based on the test image and the features shown in Table 1, which can be exemplified as shown in Table 2 have.
표 2에 나타낸 바와 같이, 4 개의 특성, IPM, QP, MRL 및 MTS는 이진 클래스와 -0.07부터 0.02까지의 낮은 상관관계를 보인다. 또한, QTD와 MTD 간의 PCC 값을 구하면, -0,65로서 강한 상관관계를 가지므로, 둘 중의 하나만이 이용될 수 있다. 이러한 강한 상관관계는 ISP와 CBF 간에도 존재한다. 따라서, 본 개시에서는, 표 1에 나타낸 특성 중, 표 2에 나타낸 바와 같이, 이진 클래스와의 상관관계가 현저한 순서대로, BSR, BTD, BTS, MTD 및 CBF, 다섯 개를 최종적인 특성으로 선정하여 LNN의 입력으로 이용한다. 이중, MTD 및 CBF는 현재 CU에 대한 인트라 예측 후에, 코딩 툴 및 코딩 파라미터로부터 바로 산정될 수 있는 값이므로 명시적 특성 xEF로 나타낸다. 나머지 3 개의 특성은 BT 분할까지 수행한 후에, 블록의 형태 및 RD 코스트를 기반으로 산정될 수 있는 값이므로 파생적 특성 xDF로 나타낸다. As shown in Table 2, the four characteristics, IPM, QP, MRL and MTS, show a low correlation with the binary class from -0.07 to 0.02. In addition, when the PCC value between QTD and MTD is obtained, since there is a strong correlation as -0,65, only one of the two can be used. This strong correlation also exists between ISPs and CBFs. Therefore, in the present disclosure, among the characteristics shown in Table 1, as shown in Table 2, in the order of the significant correlation with the binary class, five, BSR, BTD, BTS, MTD, and CBF, are selected as final characteristics. It is used as input for LNN. Among them, MTD and CBF are values that can be directly calculated from a coding tool and a coding parameter after intra prediction for the current CU, and are thus denoted by an explicit characteristic x EF . Since the remaining three characteristics are values that can be calculated based on the block shape and RD cost after BT division is performed, they are expressed as derived characteristics x DF .
한편, 다양한 상황에서 파생적 특성 xDF가 생성될 수 있다. 먼저, 본 개시에 따른 파생적 특성은 CU에 대한 추가적인 MTT 분할이 허용되는 경우에 적용되는 것으로 가정될 수 있다. 이러한 가정은, CU에 대하여 QT 분할은 허용되지 않으나, BT 또는 TT 분할은 허용되는 특별한 경우를 포함한다. 이러한 경우는, CU가 BT/TT의 서브트리(subtree)일 때, CU의 크기가 QT 분할에 따른 너비/높이 조건을 만족하지 않을 때, 및 CU의 깊이가 QT의 최대 깊이를 만족하지 않을 때를 포함한다. QT 분할에 따른 RD 코스트 JQT가 산정될 수 없을 때, JQT는 RD 코스트의 최대값으로 설정될 수 있다. Meanwhile, the derivative feature x DF may be generated in various situations. First, it can be assumed that the derivative characteristic according to the present disclosure is applied when additional MTT splitting for a CU is allowed. This assumption includes the special case where QT partitioning is not allowed for a CU, but BT or TT partitioning is allowed. In this case, when the CU is a subtree of BT/TT, when the size of the CU does not satisfy the width/height condition according to QT division, and when the depth of the CU does not satisfy the maximum depth of QT includes When the RD cost J QT according to the QT division cannot be calculated, J QT may be set as the maximum value of the RD cost.
다음, 파생적 특징은 테스트의 대상이 되는 TT 구조의 방향에 기반하여 변동될 수 있다. 예를 들어, 블록의 높이가 너비보다 클수록 TT_H 분할에 대한 BSR은 증가하고, 블록의 너비가 높이보다 클수록 TT_V 분할에 대한 BSR은 증가한다. 따라서, TT_H 분할의 경우 수평적으로 두께가 얇은 블록을 포함하는 분할이 선호되지 않는다. 마지막으로, 파생적 특징 BTD도 테스트의 대상이 되는 TT 구조의 방향에 기반하여 변동될 수 있다. 가장 적절한 TT 분할의 방향은 BT 분할의 방향과 연계되는 것으로 가정될 수 있다. 예를 들어, RD 코스트 JBT_H가 JBT_V보다 작다면, RD 코스트 JTT_H도 JTT_V보다 작을 수 있다. 따라서, TT_H 또는 TT_V 분할 중 어느 것이 테스트되는 경우인지에 따라 BTD 값이 다르게 산정될 수 있다.The derivative characteristics can then be varied based on the orientation of the TT structure being tested. For example, the BSR for the TT_H division increases as the height of the block is greater than the width, and the BSR for the TT_V division increases as the width of the block is larger than the height. Therefore, in the case of TT_H partitioning, partitioning including horizontally thin blocks is not preferred. Finally, the derivative feature BTD can also be varied based on the orientation of the TT structure being tested. It can be assumed that the most appropriate direction of TT segmentation is associated with the direction of BT segmentation. For example, if RD cost J BT_H is smaller than J BT_V , RD cost J TT_H may also be smaller than J TT_V . Accordingly, the BTD value may be calculated differently depending on which of the TT_H or TT_V division is tested.
영상 부호화 장치는 스크리닝 테스트(Screening Test: ST)를 수행하고(S604), 그 결과에 따라 조기 TT 분할을 수행할 수 있다. ST는 수학식 1에 나타낸 바와 같이 정의되며, 1 인 경우 조기 TT 분할이 수행되고, 0인 경우 정규 TT 분할(S508 및 S510)이 수행될 수 있다.The image encoding apparatus may perform a screening test (ST) (S604), and may perform early TT segmentation according to the result. ST is defined as shown in
여기서, TC는 루마 채널(Luma Channel: LC) 및 크로마 채널(Chroma Channel: CC)를 포함하는 트리 구조 채널(Tree structure Channel)이다. 또한, Pic는 현재 픽처의 영역이다. TD(Tree Depth)는 MTT 구조에 대한 트리 깊이로서 {0,1,2,3}에 포함되는 값이며, CU가 픽처 경계를 위반하는 경우(적어도 하나의 픽셀이 Pic에 포함되지 않는 경우) 3보다 큰 값일 수 있다. Here, TC is a tree structure channel including a luma channel (LC) and a chroma channel (CC). Also, Pic is the area of the current picture. TD (Tree Depth) is the tree depth for the MTT structure, a value included in {0,1,2,3}, when the CU violates the picture boundary (when at least one pixel is not included in the Pic) 3 It may be a larger value.
본 개시에 따른 ST는 듀얼트리(dual tree) 개념 및 MTT 구조의 독특한 특징에 기반하여 수행될 수 있다. 여기서, 먼저, TC=CC인 경우, 해당되는 트리가 상이한 코딩 툴을 이용하여 예측/변환될 수 있으므로, 그런 상이한 상황에서도 TT 분할이 요구되는지를 결정하기 어려울 수 있다. 따라서, TC=CC인 경우 발생할 수 있는 복잡도를 감소시키기 위해 루마 듀얼 트리에 대해서만 LNN이 구성된다. 다음, ST는 RD 코스트와 무관하게 BT_H 또는 BT_V 분할이라는 의외의(unexpected) 분할을 방지할 수 있다. 이러한 의외의 분할은 CU가 픽처 경계를 위반하는 경우, 즉, 픽처의 크기가 최대 CU의 배수가 되지 않는 경우 픽처의 경계/구석에서 발생할 수 있다. 따라서, 입력 측의 합리적인 특성의 부족에 따라 LNN은 차선의(suboptimal) 선택을 할 수 있으므로, CU가 픽처 경계를 위반하는 경우 LNN이 이용되지 않는다. 마지막으로, TD가 3이거나 더 높은 경우, LNN이 이용되지 않는다. 통상 TD의 최대치는 3이나, CU가 픽처 경계를 위반하는 경우, 전술한 바와 같은 의외의 분할로 인하여 TD가 증가할 수 있다. ST according to the present disclosure may be performed based on a dual tree concept and unique features of the MTT structure. Here, first, when TC=CC, since a corresponding tree may be predicted/transformed using a different coding tool, it may be difficult to determine whether TT splitting is required even in such a different situation. Therefore, in order to reduce the complexity that may occur when TC=CC, the LNN is configured only for the luma dual tree. Next, the ST may prevent an unexpected (unexpected) division of the BT_H or BT_V division regardless of the RD cost. Such unexpected division may occur at the boundary/corner of a picture when the CU violates the picture boundary, that is, when the size of the picture is not a multiple of the maximum CU. Therefore, the LNN can make a suboptimal selection according to the lack of reasonable characteristics on the input side, so that the LNN is not used when the CU violates the picture boundary. Finally, if the TD is 3 or higher, the LNN is not used. Usually, the maximum value of TD is 3, but when a CU violates a picture boundary, TD may increase due to unexpected division as described above.
이하, ST가 1 인 경우 수행되는 조기 TT 분할 과정을 설명한다.Hereinafter, an early TT segmentation process performed when ST is 1 will be described.
영상 부호화 장치는 명시적 특성 및 파생적 특성을 기반으로 LNNH를 이용하여 출력 yh를 생성한다(S606). 여기서, LNNH는 경량화된 신경망이며, 신경망에 의한 계산량이 전체 부호화 과정에 부담이 되지 않도록 적은 개수의 파라미터를 포함하여 구현될 수 있다. The image encoding apparatus generates an output y h by using the LNN H based on the explicit characteristic and the derived characteristic (S606). Here, LNN H is a lightweight neural network, and may be implemented by including a small number of parameters so that the amount of computation by the neural network does not burden the entire encoding process.
영상 부호화 장치는 출력 yh를 기설정된 임계치(예를 들어, 0.5)와 비교하여(S608), 임계치보다 큰 경우 TT_H 분할에 대한 RD 코스트 JTT_H를 산정한다(S610).The video encoding apparatus compares the output y h with a preset threshold (eg, 0.5) (S608), and if it is greater than the threshold, calculates an RD cost J TT_H for TT_H division (S610).
출력 yh가 기설정된 임계치 이하인 경우 TT_H 분할에 대한 전체 과정이 생략된다. 여기서, TT_H 분할에 대한 전체 과정은 CU의 차일드 노드(child node)에 대한 분할까지 포함하되, 차일드 노드의 트리 구조에 제약을 두지 않는다. 또한, JTT_H는 RD 코스트의 최대값으로 설정될 수 있다. When the output y h is less than or equal to a preset threshold, the entire process of dividing TT_H is omitted. Here, the entire process of TT_H partitioning includes even partitioning of a child node of the CU, but there is no restriction on the tree structure of the child node. Also, J TT_H may be set to the maximum value of the RD cost.
영상 부호화 장치는 명시적 특성 및 파생적 특성을 기반으로 LNNV를 이용하여 출력 yv를 생성한다(S612). 여기서, LNNV는 경량화된 신경망이다.The image encoding apparatus generates an output y v by using the LNN V based on the explicit characteristic and the derived characteristic (S612). Here, LNN V is a lightweight neural network.
영상 부호화 장치는 출력 yv를 기설정된 임계치(예를 들어, 0.5)와 비교하여(S614), 임계치보다 큰 경우 TT_V 분할에 대한 RD 코스트 JTT_V를 산정한다(S616).The video encoding apparatus compares the output y v with a preset threshold (eg, 0.5) (S614), and if it is greater than the threshold, calculates an RD cost J TT_V for TT_V division (S616).
출력 yv가 기설정된 임계치 이하인 경우 TT_V 분할에 대한 전체 과정이 생략된다. 여기서, TT_V 분할에 대한 전체 과정은 CU의 차일드 노드에 대한 분할까지 포함하되, 차일드 노드의 트리 구조에 제약을 두지 않는다. 또한, JTT_V는 RD 코스트의 최대값으로 설정될 수 있다. When the output y v is less than or equal to a preset threshold, the entire process of TT_V division is omitted. Here, the entire process of TT_V partitioning includes partitioning of the child node of the CU, but there is no restriction on the tree structure of the child node. Also, J TT_V may be set to the maximum value of the RD cost.
영상 부호화 장치는 산정된 비용치들을 기반으로 CU에 대한 인트라 예측모드 및 분할 구조를 결정한다(S512). 여기서 산정된 비용치들은 인트라 예측에 따른 Jcur, QT, BT_H 및 BT_V 분할에 따른 JQT, JBT_H 및 JBT_V, 그리고 조기 TT 분할 또는 정규 TT 분할에 따른 JTT_H와 JTT_V를 포함한다.The image encoding apparatus determines an intra prediction mode and a partition structure for the CU based on the calculated cost values (S512). The cost values calculated here include J cur , QT, BT_H and BT_V split according to intra prediction, J QT , J BT_H and J BT_V , and J TT_H and J TT_V according to early TT split or regular TT split.
도 6의 예시에서, 출력 yh를 위한 임계치와 yv를 위한 임계치가 서로 동일한 값인 것으로 예시되었으나, 반드시 이에 한정하지 않으며 서로 다른 값일 수 있다. In the example of FIG. 6 , the threshold value for the output y h and the threshold value for y v are exemplified as the same value, but the present invention is not limited thereto and may be different values.
LNN의 출력이 임계치 이하로 판정되는 거짓 긍정(false negative)에 따라, 특히 MTT 깊이가 낮은 경우 TT 분할을 수행하지 않음으로써 부호화 성능이 현저히 저하되는 것을 방지하기 위해, 임계치는 0.5보다 낮은 값(예를 들어 0.25 또는 0.125)으로 설정될 수 있다. According to a false negative that the output of the LNN is judged to be less than or equal to the threshold, in particular, when the MTT depth is low, in order to prevent the encoding performance from being significantly degraded by not performing TT division, the threshold is set to a value lower than 0.5 (e.g., for example, 0.25 or 0.125).
한편, 경량화된 신경망 LNNH과 LNNV는 동일한 구조의 LNN일 수 있으나, 상이한 파라미터 값을 가질 수 있다. LNN은 전연결된(fully connected) 심층신경망(deep neural network)으로서, 입력 레이어, 은닉 레이어(hidden layer) 및 출력 레이어를 포함할 수 있다. 전술한 바와 같은 특성 데이터를 수용하기 위해 입력 레이어는 5 개의 노드를 포함하고, 은닉 레이어와 출력 레이어는 각각 30 개 및 1 개의 노드를 포함한다. 따라서, 바이어스를 포함하여 레이어별 파라미터의 개수는 표 3에 나타낸 바와 같이 예시될 수 있다.Meanwhile, the lightweight neural networks LNN H and LNN V may be LNNs having the same structure, but may have different parameter values. The LNN is a fully connected deep neural network, and may include an input layer, a hidden layer, and an output layer. In order to accommodate the characteristic data as described above, the input layer includes 5 nodes, and the hidden layer and the output layer include 30 and 1 nodes, respectively. Accordingly, the number of parameters for each layer including the bias can be exemplified as shown in Table 3.
경량화된 신경망에 있어서 트레이닝되어야 하는 파라미터는 총 221 개로서, 영상 부호화 장치의 복잡도 증가에 부담이 되지 않는 개수이다. 또한, 출력 레이어에 시그모이드(sigmoid) 함수를 적용함으로써, LNN의 출력이 0부터 1까지의 범위에 존재하도록 한다. 전술한 바와 같이, LNN의 출력이 1인 경우 RD 코스트 측면에서 TT가 CU에 대한 최적 선택임을 나타낸다. 반면, LNN의 출력이 0인 경우 CU에 대한 최적 선택이 아님을 나타낸다. 0과 1 간에 위치하는 LNN의 출력은 RD 코스트 측면에서 TT의 적합성에 대한 확률을 나타낸다. In the lightweight neural network, the number of parameters to be trained is 221 in total, which is a number that does not burden the increase in complexity of the image encoding apparatus. In addition, by applying a sigmoid function to the output layer, the output of the LNN is made to exist in the range from 0 to 1. As described above, when the output of LNN is 1, it indicates that TT is the optimal choice for CU in terms of RD cost. On the other hand, when the output of the LNN is 0, it indicates that it is not an optimal choice for the CU. The output of LNN located between 0 and 1 represents the probability of suitability of TT in terms of RD cost.
표 3에 나타낸 바는 LNN의 구조에 대한 일 예시로서 반드시 이에 한정하는 것은 아니다.The bar shown in Table 3 is an example of the structure of the LNN and is not necessarily limited thereto.
학습용 특성 데이터 및 타겟 출력이 짝지어진 클래스를 기반으로 LNN(즉 LNNH과 LNNV 각각)이 트레이닝될 수 있다. 학습용 특성 데이터는, 실제 영상 부호화 과정에서 이용하는 것과 다른 QP 값을 기반으로, 도 6에 예시된 레이트-왜곡 최적화 과정을 이용하여 획득될 수 있다. 타겟 출력은 이진값(binary value)으로서, 학습용 특성 데이터에 대해 TT 분할이 최적인지를 표시한다.An LNN (ie, LNN H and LNN V , respectively) may be trained based on the class to which the learning characteristic data and the target output are paired. The learning characteristic data may be obtained using the rate-distortion optimization process illustrated in FIG. 6 , based on a QP value different from that used in the actual image encoding process. The target output is a binary value, indicating whether the TT segmentation is optimal for the training feature data.
학습용 특성 데이터에 대한 LNN의 출력과 타겟 출력 간의 거리를 기반으로 손실함수(loss function)가 정의되고, 손실함수를 감소시키는 방향으로 LNN의 파라미터를 업데이트함으로써, LNN에 대한 트레이닝이 수행될 수 있다. 여기서 거리는 L1 메트릭(metric), L2 메트릭 등, 두 비교 대상 간의 거리 차이를 표현할 수 있는 어느 것이든 이용될 수 있다.A loss function is defined based on a distance between an output of the LNN for learning characteristic data and a target output, and by updating the parameters of the LNN in a direction to decrease the loss function, training for the LNN may be performed. Here, the distance may be any one capable of expressing a distance difference between two comparison objects, such as an L1 metric and an L2 metric.
도 8은 본 개시의 일 실시예에 따른 터러니트리 결정을 위한 영상 부호화 장치에 대한 개략적인 블록도이다.8 is a schematic block diagram of an image encoding apparatus for determining a terrestrial tree according to an embodiment of the present disclosure.
본 개시에 따른 영상 부호화 장치는 레이트-왜곡 최적화를 기반으로 LNN을 이용하여 터너리트리를 결정한다. 영상 부호화 장치는 인트라 예측부(124), QT/BT 비용산정부(802), 제2 비용산정부(804) 및 최적분할 결정부(806)을 포함하는 기존의 구성요소 외에 특성 추출부(810), 스크리닝 테스트부(812) 및 제1 비용산정부(814)의 추가적인 구성요소를 포함한다. An image encoding apparatus according to the present disclosure determines a ternary tree using an LNN based on rate-distortion optimization. The video encoding apparatus includes an
인트라 예측부(124)는 복수의 코딩 툴을 이용하여 CU에 대한 인트라 예측 및 변환을 수행함으로써, 레이트-왜곡에 따른 현재 CU에 대한 비용치 Jcur을 산정한다.The
CU에 대한 추가적인 분할이 가능한 경우, 영상 부호화 장치는 MTT 분할에 기반하는 테스트를 수행할 수 있다. If additional division of the CU is possible, the image encoding apparatus may perform a test based on MTT division.
QT/BT 비용산정부(802)는 QT 분할, BT_H 분할 및 BT_V 분할을 순서대로 적용하여 레이트-왜곡에 따른 코스트 JQT, JBT_H 및 JBT_V를 산정한다.The QT/
제2 비용산정부(804)는 스크리닝 테스트의 결과에 따라 TT 정규 분할을 수행한다. 즉, 제2 비용산정부(804)는 TT_H 분할 및 TT_V 분할을 순서대로 적용하여 레이트-왜곡에 따른 코스트 JTT_H 및 JTT_V를 산정한다.The
최적분할 결정부(806)는 산정된 코스트들을 기반으로 CU에 대한 인트라 예측모드 및 분할 구조를 결정한다.The optimal
특성 추출부(810)는 CU에 대한 인트라 예측, QT 분할 및 BT 분할 단계에서, LNN의 입력으로 이용하기 위해 CU 내 영상에 대한 특성을 추출한다. 영상에 대한 특성은, 표 1에 나타낸 바와 같이, 명시적 특성 및 파생적 특성을 포함할 수 있다.The
LNN의 복잡도를 줄이기 위해, 표 1에 나타낸 특성 중 LNN의 정확도를 향상시키는데 있어서 도움이 되는 일부 특성만이 이용될 수 있다. 본 개시에서는, 표 2에 나타낸 바와 같이, 이진 클래스와의 상관관계가 현저한 순서대로, BSR, BTD, BTS, MTD 및 CBF, 다섯 개를 최종적인 특성으로 선정하여 LNN의 입력으로 이용한다. 이중, MTD 및 CBF는 현재 CU에 대한 인트라 예측 후에, 코딩 툴 및 코딩 파라미터로부터 바로 산정될 수 있는 값이므로 명시적 특성으로 나타낸다. 나머지 3 개의 특성은 BT 분할까지 수행한 후에, 블록의 형태 및 RD 코스트를 기반으로 산정될 수 있는 값이므로 파생적 특성으로 나타낸다. In order to reduce the complexity of the LNN, among the properties shown in Table 1, only some properties helpful in improving the accuracy of the LNN may be used. In the present disclosure, as shown in Table 2, BSR, BTD, BTS, MTD, and CBF are selected as final characteristics in the order in which the correlation with the binary class is significant and used as an input to the LNN. Among them, MTD and CBF are values that can be directly calculated from a coding tool and a coding parameter after intra prediction for the current CU, so they are expressed as explicit properties. Since the remaining three characteristics are values that can be calculated based on the block shape and RD cost after BT division is performed, they are expressed as derivative characteristics.
스크리닝 테스트부(812)는, 수학식 1에 나타낸 바와 같은 테스트 결과를 생성하여, TT 조기 분할을 수행할 지를 결정할 수 있다. The
제1 비용산정부(814)는 스크리닝 테스트의 결과에 따라 TT 조기 분할을 수행한다. The
제1 비용산정부(814)는 명시적 특성 및 파생적 특성을 기반으로 LNNH를 이용하여 출력 yh를 생성한다. 출력 yh가 기설정된 임계치보다 큰 경우 TT_H 분할에 대한 RD 코스트 JTT_H가 산정된다. 제1 비용산정부(814)는 출력 yh가 기설정된 임계치보다 큰 경우 TT_H 분할에 대한 전체 과정을 생략한 후, 명시적 특성 및 파생적 특성을 기반으로 LNNV를 이용하여 출력 yv를 생성한다. 출력 yv가 기설정된 임계치보다 큰 경우 TT_V 분할에 대한 RD 코스트 JTT_V가 산정된다. 출력 yv가 기설정된 임계치 이하인 경우 TT_V 분할에 대한 전체 과정이 생략된다. The
이상에서 설명한 바와 같이 본 실시예에 따르면, CU(Coding Unit) 부호화 과정에서 추출된 명시적 특성 및 파생적 특성을 기반으로 경량화된 신경망을 이용하여 MTT(Multi-Type Tree) 중에 터너리트리를 결정하는 영상 부호화 방법을 제공함으로써, 인트라 예측에 대한 MTT 구조의 깊이를 감소시키고, 이에 따라 VVC를 수행하는 영상 부호화 방법의 계산 복잡도를 효과적으로 감소시키는 것이 가능해지는 효과가 있다.As described above, according to this embodiment, a ternary tree is determined during MTT (Multi-Type Tree) using a lightweight neural network based on explicit and derived characteristics extracted in a coding unit (CU) encoding process. By providing the video encoding method, it is possible to reduce the depth of the MTT structure for intra prediction and thus effectively reduce the computational complexity of the video encoding method for performing VVC.
이상에서 설명한 바와 같은 경량화된 신경망에 기반하는 터너리트리를 결정하는 영상 부호화 방법은, I 프레임(Intra frame), P 프레임(Predicted frame), B 프레임(Bipredictive frame) 등 CU에 대한 인트라 예측을 이용하는 것이 가능한 모든 형태의 프레임에 대하여 적용될 수 있다.The image encoding method for determining the ternary tree based on the lightweight neural network as described above uses intra prediction for CUs such as I frame (Intra frame), P frame (Predicted frame), and B frame (Bipredictive frame). It can be applied to all possible types of frames.
본 개시의 다른 실시예에 있어서, 경량화된 신경망에 기반하는 터너리트리를 결정하는 영상 부호화 방법은 CU에 대해 인터 예측을 이용하는 경우에도 적용될 수 있다. In another embodiment of the present disclosure, an image encoding method for determining a ternary tree based on a lightweight neural network may be applied even when inter prediction is used for a CU.
본 실시예에 따른 각 순서도에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 순서도에 기재된 과정을 변경하여 실행하거나 하나 이상의 과정을 병렬적으로 실행하는 것이 적용 가능할 것이므로, 순서도는 시계열적인 순서로 한정되는 것은 아니다.Although it is described that each process is sequentially executed in each flowchart according to the present embodiment, the present invention is not limited thereto. In other words, since it may be applicable to change and execute the processes described in the flowchart or to execute one or more processes in parallel, the flowchart is not limited to a time-series order.
이상의 설명에서 예시적인 실시예들은 많은 다른 방식으로 구현될 수 있다는 것을 이해해야 한다. 하나 이상의 예시들에서 설명된 기능들 혹은 방법들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 본 명세서에서 설명된 기능적 컴포넌트들은 그들의 구현 독립성을 특히 더 강조하기 위해 "...부(unit)" 로 라벨링되었음을 이해해야 한다. It should be understood that the exemplary embodiments in the above description may be implemented in many different ways. The functions or methods described in one or more examples may be implemented in hardware, software, firmware, or any combination thereof. It should be understood that the functional components described herein have been labeled "...unit" to particularly further emphasize their implementation independence.
한편, 본 실시예에서 설명된 다양한 기능들 혹은 방법들은 하나 이상의 프로세서에 의해 판독되고 실행될 수 있는 비일시적 기록매체에 저장된 명령어들로 구현될 수도 있다. 비일시적 기록매체는, 예를 들어, 컴퓨터 시스템에 의하여 판독가능한 형태로 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 예를 들어, 비일시적 기록매체는 EPROM(erasable programmable read only memory), 플래시 드라이브, 광학 드라이브, 자기 하드 드라이브, 솔리드 스테이트 드라이브(SSD)와 같은 저장매체를 포함한다.Meanwhile, various functions or methods described in this embodiment may be implemented as instructions stored in a non-transitory recording medium that can be read and executed by one or more processors. 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. For example, 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).
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of this embodiment, and a person skilled in the art to which this embodiment belongs may make various modifications and variations without departing from the essential characteristics of the present embodiment. Accordingly, the present embodiments are intended to explain rather than limit the technical spirit of the present embodiment, and the scope of the technical spirit of the present embodiment is not limited by these embodiments. The protection scope of this embodiment should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present embodiment.
(부호의 설명)(Explanation of symbols)
124: 인트라 예측부124: intra prediction unit
802: QT/BT 비용산정부 802: QT/BT Cost Estimator
804: 제2 비용산정부804: second cost estimator
806: 최적분할 결정부806: optimal division determining unit
810: 특성추출부 810: feature extraction unit
812: 스크리닝 테스트부812: screening test unit
814: 제1 비용산정부814: first cost estimator
CROSS-REFERENCE TO RELATED APPLICATIONCROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은 2020년 11월 25일 한국에 출원한 특허출원번호 제10-2020-0159984 호, 2021년 3월 9일 한국에 출원한 특허출원번호 제10-2021-0030727 호에 대해 우선권을 주장하며, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다. This patent application claims priority to Patent Application No. 10-2020-0159984, filed in Korea on November 25, 2020, and Patent Application No. 10-2021-0030727, filed in Korea on March 9, 2021 and all contents thereof are incorporated into this patent application by reference.
Claims (10)
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2020-0159984 | 2020-11-25 | ||
| KR20200159984 | 2020-11-25 | ||
| KR1020210030727A KR102466258B1 (en) | 2020-11-25 | 2021-03-09 | Video Encoding Using Neural Network |
| KR10-2021-0030727 | 2021-03-09 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2022114669A2 true WO2022114669A2 (en) | 2022-06-02 |
| WO2022114669A3 WO2022114669A3 (en) | 2022-07-21 |
Family
ID=81756163
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2021/016973 Ceased WO2022114669A2 (en) | 2020-11-25 | 2021-11-18 | Image encoding using neural network |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2022114669A2 (en) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20160065959A1 (en) * | 2014-08-26 | 2016-03-03 | Lyrical Labs Video Compression Technology, LLC | Learning-based partitioning for video encoding |
| KR102592721B1 (en) * | 2017-01-11 | 2023-10-25 | 한국전자통신연구원 | Convolutional neural network system having binary parameter and operation method thereof |
-
2021
- 2021-11-18 WO PCT/KR2021/016973 patent/WO2022114669A2/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2022114669A3 (en) | 2022-07-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2022031115A1 (en) | Image encoding and decoding using deep learning-based inter prediction | |
| WO2020190077A1 (en) | Intra prediction device and method based on prediction mode estimation | |
| KR102466258B1 (en) | Video Encoding Using Neural Network | |
| WO2022114742A1 (en) | Apparatus and method for video encoding and decoding | |
| WO2023038447A1 (en) | Video encoding/decoding method and device | |
| WO2023014164A1 (en) | Video encoding/decoding method and device | |
| WO2022186616A1 (en) | Method and apparatus for video coding by using derivation of intra prediction mode | |
| WO2022177375A1 (en) | Method for generating prediction block by using weighted sum of intra prediction signal and inter prediction signal, and device using same | |
| WO2022045738A1 (en) | Deep learning-based image encoding and decoding using in-loop filter | |
| WO2021141372A1 (en) | Image encoding and decoding based on reference picture having different resolution | |
| WO2024058430A1 (en) | Method and apparatus for video coding that adaptively uses single tree and dual tree in one block | |
| WO2022177380A1 (en) | Inter prediction-based video encoding and decoding | |
| WO2023224290A1 (en) | Method and apparatus for selecting reference sample for deriving cross-component relation model in intra prediction | |
| WO2024075983A1 (en) | Method and device for video coding using multiple blocks-based intra template matching prediction | |
| WO2022031003A1 (en) | Method for predicting quantization parameter used in image encoding/decoding device | |
| WO2024039088A1 (en) | Method and device for video coding using cc-alf based on nonlinear cross-component relationships | |
| WO2022114669A2 (en) | Image encoding using neural network | |
| WO2023277602A1 (en) | Video encoding/decoding method and device | |
| WO2023038444A1 (en) | Video encoding/decoding method and device | |
| WO2022119302A1 (en) | Method and device for coding video using block merging | |
| WO2022177317A1 (en) | Video coding method and device using subblock division-based intra prediction | |
| WO2022114752A1 (en) | Block splitting structure for efficient prediction and transformation, and method and apparatus for video encoding and decoding using block splitting structure | |
| WO2021066508A1 (en) | Inter prediction method and device for pictures having different resolutions | |
| WO2024205296A1 (en) | Video encoding/decoding method and apparatus for performing inloop filtering by using non-regional sample | |
| WO2019083243A1 (en) | Method and apparatus for sao filtering |
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: 21898495 Country of ref document: EP Kind code of ref document: A2 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21898495 Country of ref document: EP Kind code of ref document: A2 |