WO2020122573A1 - 필터링 방법 및 영상 복호화 장치 - Google Patents
필터링 방법 및 영상 복호화 장치 Download PDFInfo
- Publication number
- WO2020122573A1 WO2020122573A1 PCT/KR2019/017442 KR2019017442W WO2020122573A1 WO 2020122573 A1 WO2020122573 A1 WO 2020122573A1 KR 2019017442 W KR2019017442 W KR 2019017442W WO 2020122573 A1 WO2020122573 A1 WO 2020122573A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- boundary
- block boundary
- condition
- target
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Definitions
- the present invention relates to encoding and decoding of an image, and more particularly, to a filtering method and an image decoding apparatus that improves encoding and decoding efficiency.
- 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 processing for compression.
- HVC High Efficiency Video Coding
- the present invention aims to provide an improved image encoding and decoding technology.
- one aspect of the present invention is encoding by filtering images by selectively applying various conditions according to the type of a block boundary. And techniques for improving the efficiency of decoding.
- An aspect of the present invention is a filtering method performed in an image decoding apparatus, comprising: determining one or more block boundaries to which filtering is to be applied, on a reconstructed image; Setting a boundary strength of the block boundary based on the type of the block boundary and preset conditions; And performing filtering based on the set boundary strength.
- an image decoding apparatus for a reconstructed image, a boundary determination unit for determining one or more block boundaries to which filtering is applied (boundary); An intensity setting unit configured to set a boundary strength of the block boundary based on the type of the block boundary and preset conditions; And a filtering performing unit that performs filtering based on the set boundary strength.
- filtering methods for cases where the sizes of the coding unit, the prediction unit, and the transformation unit are the same or different are proposed.
- subjective image quality improvement may be improved by removing blocking artifacts occurring between subblocks through filtering methods for performing motion compensation for each subblock.
- FIG. 1 is an exemplary block diagram of an image encoding apparatus capable of implementing the techniques of the present disclosure.
- FIG. 2 is a diagram for explaining a method of dividing a block using a QTBTTT structure.
- 3 is a diagram for describing a plurality of intra prediction modes.
- FIG. 4 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure.
- 5 and 6 are views for explaining a conventional method of applying a deblocking filter.
- FIG. 7 is an exemplary block diagram of a deblocking filter that can implement the techniques of this disclosure.
- FIG. 8 is a flowchart illustrating an embodiment of the present invention for performing filtering on a reconstructed image.
- 9 is a view for explaining the boundary type of blocks.
- FIG. 10 is a diagram for explaining a process of determining on/off of a filter.
- 11 to 13 are flowcharts for explaining various embodiments of the present invention for setting boundary strength for a block boundary.
- FIG. 1 is an exemplary block diagram of an image encoding apparatus capable of implementing the techniques of the present disclosure.
- an image encoding apparatus and sub-components of the apparatus will be described with reference to FIG. 1.
- the image encoding apparatus includes a block division unit 110, a prediction unit 120, a subtractor 130, a transformation unit 140, a quantization unit 145, an encoding unit 150, an inverse quantization unit 160, an inverse transformation unit ( 165), an adder 170, a filter unit 180 and a memory 190.
- Each component of the video encoding device may be implemented in hardware or software, or a combination of hardware and software. Further, the function of each component may be implemented in software, and the microprocessor may be implemented to execute the function of software corresponding to each component.
- One image is composed of a plurality of pictures. Each picture is divided into a plurality of regions, and encoding is performed for each region. For example, one picture is divided into one or more tiles or/and 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 coding units (CUs) by a tree structure. Information applied to each CU is encoded as the syntax of the CU, and information commonly applied to CUs included in one CTU is encoded as the syntax of the CTU.
- CTUs coding tree units
- CUs coding units
- information commonly applied to all blocks in one tile is encoded as the syntax of a tile or encoded as a syntax of a tile group in which a plurality of tiles are collected, and information applied to all blocks constituting one picture is It is encoded in a picture parameter set (PPS) or a picture header.
- PPS picture parameter set
- PPS picture parameter set
- information commonly referred to by a plurality of pictures is encoded in a sequence parameter set (SPS).
- SPS sequence parameter set
- information commonly referenced by one or more SPSs is encoded in a video parameter set (VPS).
- the block dividing unit 110 determines the size of a coding tree unit (CTU).
- CTU size Information about the size of the CTU (CTU size) is encoded as a syntax of an SPS or a PPS and transmitted to an image decoding apparatus.
- the block dividing unit 110 divides each picture constituting an image into a plurality of coding tree units (CTUs) having a predetermined size, and then repeatedly repeats the CTU using a tree structure. (recursively) split.
- CTUs coding tree units
- a leaf node in a tree structure becomes a coding unit (CU), which is a basic unit of encoding.
- the tree structure includes a quad tree (QuadTree, QT) in which a parent node (or parent node) is divided into four sub-nodes (or child nodes) of the same size, or a binary tree (BinaryTree) in which a parent node is divided into two sub-nodes. , BT), or a ternary tree in which the upper node is divided into three lower nodes in a 1:2:1 ratio, or a structure using a mixture of two or more of these QT structures, BT structures, and TT structures. have.
- QT quad tree
- BinaryTree binary tree
- a QTBT QuadTree plus BinaryTree
- a QTBTTT QuadTree plus BinaryTree TernaryTree
- MTT Multiple-Type Tree
- the CTU may first be divided into a QT structure.
- the quadtree split may be repeated until the size of the splitting block reaches the minimum block size (MinQTSize) of the leaf node allowed in QT.
- the first flag (QT_split_flag) indicating whether each node of the QT structure is divided into 4 nodes of the lower layer is encoded by the encoder 150 and signaled to the video decoding apparatus. If the leaf node of QT is not larger than the maximum block size (MaxBTSize) of the root node allowed by BT, it may be further divided into any one or more of BT structure or TT structure.
- MaxBTSize maximum block size
- a plurality of split directions may exist. For example, there may be two directions in which a block of a corresponding node is horizontally divided and a vertically divided direction.
- a second flag indicating whether nodes are split
- a flag indicating additional splitting direction vertical or horizontal
- splitting type Boary or Ternary
- a CU split flag indicating that the block is split first and a QT split flag (split_qt_flag) indicating whether the split type is QT split is encoded 150 ) And signaled to the video decoding apparatus.
- the CU split flag (split_cu_flag) value indicates that the partition 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 encoding.
- CU coding unit
- split_cu_flag When indicating that the CU split flag (split_cu_flag) value is split, it is determined whether the split type is QT or MTT through the QT split flag (split_qt_flag) value.
- the split type is QT, there is no additional information, and when the split type is MTT, additionally, a flag indicating the MTT split direction (vertical or horizontal) (mtt_split_cu_vertical_flag) and/or a flag indicating the MTT split type (Binary or Ternary) (mtt_split_cu_binary_flag) is encoded by the encoding unit 150 and signaled to the video decoding apparatus.
- split_flag indicating whether each node of the BT structure is divided into blocks of a lower layer and split type information indicating a split type are encoded by the encoder 150 and transmitted to the image decoding apparatus.
- split_flag there may be additionally a type of dividing a block of a corresponding node into two blocks having an asymmetric shape.
- the asymmetric form may include a form of dividing a block of a corresponding node into two rectangular blocks having a size ratio of 1:3, or a form of dividing a block of a corresponding node in a diagonal direction.
- CU may have various sizes according to QTBT or QTBTTT division from CTU.
- a block corresponding to a CU ie, a leaf node of QTBTTT
- a'current block' a block corresponding to a CU (ie, a leaf node of QTBTTT) to be encoded or decoded.
- the prediction unit 120 predicts the current block to generate a prediction block.
- the prediction unit 120 includes an intra prediction unit 122 and an inter prediction unit 124.
- the current blocks in a picture can each be predictively coded.
- prediction of the current block may be performed using intra prediction technology (using data from a picture containing the current block) or inter prediction technology (using data from a picture coded before a picture containing the current block). Can be performed.
- Inter prediction includes both one-way prediction and two-way prediction.
- the intra prediction unit 122 predicts pixels in the current block using pixels (reference pixels) located around the current block in the current picture including the current block.
- the plurality of intra prediction modes may include 65 non-directional modes including a planar mode and a DC mode. Peripheral pixels to be used and expressions are defined differently according to each prediction mode.
- the intra prediction unit 122 may determine an intra prediction mode to be used to encode the current block.
- the intra prediction unit 122 may encode the current block using various intra prediction modes, and select an appropriate intra prediction mode to use from the tested modes. For example, the intra prediction unit 122 calculates rate distortion values using rate-distortion analysis for various tested intra prediction modes, and has the best rate distortion characteristics among the tested modes. The intra prediction mode can also be selected.
- the intra prediction unit 122 selects one intra prediction mode from a plurality of intra prediction modes, and predicts a current block by using a neighboring pixel (reference pixel) and an arithmetic expression determined according to the selected intra prediction mode.
- Information about the selected intra prediction mode is encoded by the encoding unit 150 and transmitted to the image decoding apparatus.
- the inter prediction unit 124 generates a prediction block for the current block through a motion compensation process.
- the block most similar to the current block is searched in the reference picture that has been encoded and decoded before the current picture, and a predicted block for the current block is generated using the searched block. Then, a motion vector corresponding to displacement between the current block in the current picture and the prediction block in the reference picture is generated.
- motion estimation is performed on luma components, and motion vectors calculated based on luma components are used for both luma components and chroma components.
- Motion information including information on a reference picture and motion vector used to predict a current block is encoded by the encoder 150 and transmitted to an image decoding apparatus.
- the subtractor 130 subtracts the prediction block generated by the intra prediction unit 122 or the inter prediction unit 124 from the current block to generate a residual block.
- the transform unit 140 converts the residual signal in the residual block having pixel values in the spatial domain into a transform coefficient in the frequency domain.
- the transform unit 140 may transform residual signals in the residual block using the entire size of the residual block as a transformation unit, or divide the residual block into two subblocks, which are a transform region and a non-transformed region, and convert the sub Residual signals can be transformed using only blocks as transform units.
- the transform region sub-block may be one of two rectangular blocks having a size ratio of 1:1 on the horizontal axis (or vertical axis).
- a flag (cu_sbt_flag), directional (vertical/horizontal) information (cu_sbt_horizontal_flag) and/or location information (cu_sbt_pos_flag) indicating that only the sub-block is converted is encoded by the encoder 150 and signaled to the video decoding apparatus.
- the size of the transform region sub-block may have a size ratio of 1:3 based on the horizontal axis (or vertical axis).
- a flag (cu_sbt_quad_flag) for classifying the split is additionally encoded by the encoder 150 to decode the image. Signaled to the device.
- the quantization unit 145 quantizes transform coefficients output from the transform unit 140 and outputs the quantized transform coefficients to the encoder 150.
- the encoding unit 150 generates a bitstream by encoding quantized transform coefficients using an encoding method such as CABAC (Context-based Adaptive Binary Arithmetic Code).
- the encoder 150 encodes information such as a CTU size, a CU split flag, a QT split flag, an MTT split direction, and an MTT split type related to block splitting, so that the video decoding apparatus can split the block in the same way as the video coding apparatus. To make.
- the encoder 150 encodes information about a prediction type indicating whether the current block is encoded by intra prediction or inter prediction, and intra prediction information (that is, intra prediction mode) according to the prediction type. Information) or inter prediction information (reference picture and motion vector information).
- the inverse quantization unit 160 inverse quantizes the quantized transform coefficients output from the quantization unit 145 to generate transform coefficients.
- the inverse transform unit 165 restores the residual block by transforming transform coefficients output from the inverse quantization unit 160 from the frequency domain to the spatial domain.
- the adder 170 restores the current block by adding the reconstructed residual block and the predicted block generated by the predictor 120.
- the pixels in the reconstructed current block are used as reference pixels when intra prediction of the next block.
- the filter unit 180 filters the reconstructed pixels to reduce blocking artifacts, ringing artifacts, and blurring artifacts caused by block-based prediction and transformation/quantization. To perform.
- the filter unit 180 may include a deblocking filter 182 and a sample adaptive offset (SAO) filter 184.
- SAO sample adaptive offset
- the deblocking filter 180 filters the boundary between the restored blocks to remove blocking artifacts caused by block-level coding/decoding, and the SAO filter 184 adds additional deblocking filtered images to the deblocking filter. Filtering is performed.
- the SAO filter 184 is a filter used to compensate for a difference between a reconstructed pixel and an original pixel caused by lossy coding.
- the reconstructed blocks filtered through the deblocking filter 182 and the SAO filter 184 are stored in the memory 190.
- the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be encoded.
- FIG. 4 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure.
- an image decoding apparatus and sub-components of the apparatus will be described with reference to FIG. 4.
- the image decoding apparatus may include a decoding unit 410, an inverse quantization unit 420, an inverse transform unit 430, a prediction unit 440, an adder 450, a filter unit 460, and a memory 470. have.
- each component of the video decoding apparatus may be implemented in hardware or software, or a combination of hardware and software. Further, the function of each component may be implemented in software, and the microprocessor may be implemented to execute the function of software corresponding to each component.
- the decoder 410 determines a current block to be decoded by decoding a bitstream received from an image encoding apparatus and extracting information related to block partitioning, prediction information necessary for restoring the current block, information about a residual signal, and the like. To extract.
- the decoder 410 extracts information on the CTU size from the Sequence Parameter Set (SPS) or Picture Parameter Set (PSP) to determine the size of the CTU, and divides the picture into CTUs of the determined size. Then, the CTU is determined as the top layer of the tree structure, that is, the root node, and the CTU is partitioned using the tree structure by extracting the segmentation information for the CTU.
- SPS Sequence Parameter Set
- PSP Picture Parameter Set
- the first flag (QT_split_flag) related to the splitting of the QT is extracted, and each node is divided into four nodes of a lower layer.
- the second flag (MTT_split_flag) and the split direction (vertical / horizontal) and/or split type (binary / ternary) information related to the splitting of the MTT are extracted and the corresponding leaf node is MTT Divide into structures.
- a CU split flag indicating whether a CU is split is first extracted, and when the corresponding block is split, a QT split flag (split_qt_flag) is extracted.
- a flag indicating the MTT splitting direction vertical or horizontal
- mtt_split_cu_vertical_flag a flag indicating the MTT splitting type
- mtt_split_cu_binary_flag a flag indicating the MTT splitting type (Binary or Ternary)
- each node may have 0 or more repetitive MTT partitions after 0 or more repetitive QT partitions.
- the CTU may directly generate an MTT split or, conversely, only multiple QT splits may occur.
- the first flag (QT_split_flag) related to the splitting of the QT is extracted to divide each node into four nodes of a lower layer. Then, a split flag (split_flag) and split direction information indicating whether or not to be further split by BT is extracted for a node corresponding to a leaf node of QT.
- the decoder 410 when determining a current block to be decoded through partitioning of a tree structure, extracts information on a prediction type indicating whether the current block is intra predicted or inter predicted. When the prediction type information indicates intra prediction, the decoder 410 extracts a syntax element for intra prediction information (intra prediction mode) of the current block. When the prediction type information indicates inter prediction, the decoder 410 extracts syntax elements for the inter prediction information, that is, information indicating a motion vector and a reference picture referenced by the motion vector.
- the decoding unit 410 extracts information about quantized transform coefficients of the current block as information about the residual signal.
- the inverse quantization unit 420 inverse quantizes the quantized transform coefficients, and the inverse transform unit 430 inversely transforms the inverse quantized transform coefficients from the frequency domain to the spatial domain to restore residual signals to generate a residual block for the current block. .
- the inverse transform unit 430 when the inverse transform unit 430 inversely transforms only a partial region (subblock) of a transform block, a flag (cu_sbt_flag) indicating that only a subblock of the transform block is transformed, and vertical/horizontal information (cu_sbt_horizontal_flag) of the subblock ) And/or extracting the location information (cu_sbt_pos_flag) of the sub-blocks, and restoring the residual signals by inverse transforming the transform coefficients of the corresponding sub-blocks from the frequency domain to the spatial domain. By filling, we create the final residual block for the current block.
- the prediction unit 440 may include an intra prediction unit 442 and an inter prediction unit 444.
- the intra prediction unit 442 is activated when the prediction type of the current block is intra prediction
- the inter prediction unit 444 is activated when the prediction type of the current block is inter prediction.
- the intra prediction unit 442 determines an intra prediction mode of a current block among a plurality of intra prediction modes from syntax elements for an intra prediction mode extracted from the decoder 410, and according to the intra prediction mode, reference pixels around the current block Use to predict the current block.
- the inter prediction unit 444 determines a motion vector of a current block and a reference picture referenced by the motion vector using a syntax element for the intra prediction mode extracted from the decoding unit 410, and uses the motion vector and the reference picture. To predict the current block.
- the adder 450 restores the current block by adding the residual block output from the inverse transform unit and the prediction block output from the inter prediction unit or the intra prediction unit.
- the pixels in the reconstructed current block are used as a reference pixel in intra prediction of a block to be decoded later.
- the filter unit 460 may include a deblocking filter 462 and a SAO filter 464.
- the deblocking filter 462 deblocks the boundary between the restored blocks in order to remove blocking artifacts caused by block-by-block decoding.
- the SAO filter 464 performs additional filtering on the reconstructed block after deblocking filtering to compensate for the difference between the reconstructed pixel and the original pixel caused by lossy coding.
- the reconstructed blocks filtered through the deblocking filter 462 and the SAO filter 464 are stored in the memory 470. When all blocks in one picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be encoded.
- the deblocking filter may perform the following steps to remove blocking artifacts occurring between block boundaries (or edges).
- Block boundary determination-2) Boundary strength (Bs) calculation-3) ⁇ and tc determination-4) Filter on/off determination-5) Strong/weak filter selection
- the step of determining a block boundary corresponds to a process of determining a block boundary from which filtering can be performed among block boundaries. Based on whether a specific boundary is a minimum 8x8 block boundary and corresponds to a boundary of a prediction unit or a transformation unit, a block boundary to be filtered may be determined.
- FIG. 5(a) shows a 32x32 luma block
- FIG. 5(b) shows a 16x16 chroma block.
- the deblocking filter performs horizontal filtering on edges in the vertical direction, and then vertical filtering on edges in the horizontal direction.
- some pixels adjacent to the boundary of the two blocks are horizontal and vertical as shown at the top of FIG. It can be indexed on the basis of.
- the step of calculating the boundary intensity corresponds to a process of calculating the intensity for the horizontal edge and the vertical edge. As will be described later, in this step, since various conditions are applied to the edge and the boundary intensity value is set to any one of “0 to 2”, this step may be a process of setting the boundary intensity.
- the boundary intensity value “0” means that filtering is not performed at the corresponding edge.
- the flowchart for the process of setting the boundary strength is shown in FIG. 6.
- the prediction mode of the two blocks P and Q
- the boundary strength is set to “2” (S615). If the prediction mode of the two blocks is not the intra mode (if it is predicted to be the inter mode), the boundary strength is set to “1” or “based on whether discontinuity (deblocking) of the pixel value occurs at the edge between the two blocks.
- the following steps of setting to 0” can be performed.
- non-zero conversion coefficient non-zero coeff.
- the boundary strength is set to “1” ( S625).
- a process (S630) of determining whether the reference pictures (ref_pic) of the two blocks are different is performed.
- step S630 If it is determined in step S630 that the two blocks refer to different reference pictures, the boundary strength is set to “1” (S625).
- a process (S640) of determining whether the two blocks have different numbers of motion vectors (#MVs) may be performed.
- step S640 if it is determined that the two blocks use different numbers of motion vectors, the boundary strength is set to “1” (S625). Alternatively, if it is determined that the two blocks use the same number of motion vectors, the absolute value of the difference between the horizontal axis components of the motion vectors of the two blocks (
- ) is 4 or more is performed (S650). In the process S650, if the absolute value of the difference between the horizontal or vertical components is 4 or more, the border strength is set to “1”, and if it is less than 4, the border strength is set to “0”. In the case of a chroma block, the boundary strength calculated at the corresponding position of the luma block is used as it is.
- the conventional method sets boundary strength for edges to which filtering is applied on the assumption that the sizes of the coding unit, the prediction unit, and/or the transformation unit are different.
- the present invention proposes a method of setting the boundary strength for edges to which filtering is applied on the premise that the sizes of the coding unit, the prediction unit, and/or the transformation unit are the same. That is, the present invention may apply filtering only to the boundary of the coding unit (or prediction unit), and may not apply filtering to the transform unit. However, the present invention also proposes a processing method for the following exceptional cases.
- the present invention also proposes a method of setting boundary strengths for the exceptional cases by treating cases where the sizes of the coding units, prediction units, and/or transform units are different as exceptional cases.
- the present invention divides a case in which the coding unit is larger than the size of the transform kernel for the transform unit into exception cases in which the size of the coding unit, the prediction unit, and/or the transform unit are different, and proposes a processing method therefor.
- the size of the largest transform kernel is 64x64
- the size of the coding unit is one of 128x128, 128x64, and 64x128, multiple (multiple) transforms must be applied to one coding unit.
- the present invention can perform filtering on the boundary of the transform unit located in the coding unit in addition to the boundary of the coding unit.
- the present invention also proposes a method for filtering in this case by processing the case of performing motion compensation for each subblock located in the coding unit or the prediction unit as an exceptional case.
- SBTMVP subblock-based temporal motion vector prediction
- AMTVP advanced/alternative temporal motion vector predictor
- BDOF bi-directional optical flow
- affine mode may be included.
- the size of the sub-blocks can vary. However, in this specification, it is assumed that the minimum size of the sub-block to which filtering is applied is 8x8.
- subblocks in one coding unit may use the same reference picture and the same number of motion vectors.
- deblocking filters 182 and 462 capable of implementing the techniques of the present disclosure include a boundary determination unit 710, an intensity setting unit 720, and a filtering execution unit 730. Can be.
- the filtering execution unit 730 may include a derivation unit 732, an on-off determination unit 734, and a filter selection unit 736.
- the boundary setting unit 710 may set a block boundary from the reconstructed image or CTU (S810).
- the set block boundary may correspond to a boundary to which filtering can be applied among the boundaries existing in the reconstructed image or CTU.
- the minimum size of the block boundary is assumed to be 8x8 in this specification.
- blocks may include a coding block, a prediction block, a transform block, a sub-block, and a fundamental block.
- the prediction block may be the same as the coding block.
- the basic block may mean a block unit in which motion compensation is performed during inter prediction, and may mean a block unit processed in intra mode during intra prediction. That is, the basic block may be a concept including a prediction block and a sub-block, which are units of motion compensation. Accordingly, the basic block may be a prediction block or a subblock.
- a boundary formed between adjacent coding blocks may be a coding block boundary (CB) or a coding block edge
- a boundary formed between adjacent prediction blocks may be a prediction block boundary (PB) or a prediction block edge.
- CB coding block boundary
- PB prediction block boundary
- a boundary formed between adjacent transform blocks, a boundary formed between adjacent sub-blocks, and a boundary formed between adjacent basic blocks are transform block boundaries (TB, transform block edges) and sub-block boundaries, respectively.
- SB subblock edge
- FB basic block boundary
- FIG. 9 shows a form in which one CTU is divided into several coding units.
- FIG. 9(a) shows transform block edges (dotted lines)
- FIG. 9(b) shows predicted block edges (solid lines) and subblock edges (dotted chain lines). Since the present invention presupposes that the coding unit, the prediction unit, and the transformation unit have the same size, it can be seen that the transform block edge and the prediction block edge match.
- the circles in which the pattern in FIG. 9 is not displayed is a transform block edge and represents pixels adjacent to the prediction block edge, and the circles in a horizontal pattern are adjacent to subblock edges (edges not corresponding to the transform block edge and the prediction block edge). Represents pixels.
- the intensity setting unit 720 may set the boundary intensity of the block boundary based on the type of the block boundary described above and preset conditions (S820). That is, the intensity setting unit 720 may set the boundary intensity of the edge by applying the type of a specific block boundary and preset conditions to the edge.
- the preset conditions may correspond to a criterion for determining whether a deblocking phenomenon exists at a specific boundary. Further, the preset conditions may correspond to a criterion for determining whether a deblocking phenomenon existing in a specific boundary exists in the original image or is generated in the quantization process.
- a second condition for whether to perform prediction using the motion vector of, the difference between the horizontal axis component (absolute value) or the vertical axis component (absolute value) between the motion vectors used by the target blocks is a preset value ( For example, a third condition for whether it is '4') or more, a fourth condition for whether the target blocks perform prediction using different numbers of motion vectors, and the like may be included.
- preset conditions may further include conditions based on prediction modes of target blocks.
- the preset conditions include whether one or more of the target blocks is predicted in the intra mode, whether the prediction mode of the P block and the prediction mode of the Q block among the target blocks are different, and the target blocks are ibc (intra block copy) mode may be further included.
- ibc intra block copy
- 'whether the prediction mode of the P block and the prediction mode of the Q block are different' may be determined after determining whether or not'the prediction mode of one or more of the target blocks is predicted'. For example, when both the P block and the Q block are not predicted in the intra mode, if one of the P block and the Q block is predicted in the ibc mode and the other is predicted in the inter mode, it is determined that the corresponding condition is satisfied Can be.
- the first condition may correspond to a condition for determining this point.
- discontinuity of the pixel value may occur when the target blocks perform motion compensation with reference to different reference pictures. Also, when the target blocks use different numbers of motion vectors or different motion vectors, discontinuity of pixel values may occur.
- the second condition to the fourth condition may correspond to conditions for determining this point.
- the intensity setting unit 720 may set a boundary intensity of a corresponding edge using one or more of preset conditions and a type of a block boundary. In addition, the intensity setting unit 720 may set a boundary intensity of a corresponding edge using a combination of two or more of preset conditions and a type of block boundary.
- the filtering execution unit 730 may perform filtering on the corresponding edge based on the set boundary strength (S830 to S860).
- the filtering execution unit 730 may perform filtering by performing' ⁇ and tc determination','filter on/off determination', and'strong/weak filter selection' described above.
- the derivation unit 732 uses the quantization parameters QP P and QP Q used in the target blocks to determine the median value for luma (qP L , or the average value for luma) and the median value for chroma (qP C , or The average value for chroma) can be derived (S830). This process can be implemented through Equations 1 and 2 below.
- cQ P PicOffset is an offset used to apply an adaptive filter for chroma, and may be transmitted as a picture-level header.
- an intermediate value qP L for luma may be derived by applying an offset value to an averaged value of the quantization parameters QP P and QP Q. An embodiment in which the intermediate value for luma is derived by further using an offset value will be described later.
- the derivation unit 732 may perform a process of calculating a variable Q value for deriving the two parameters ⁇ and tc for each of the two parameters (S830).
- the process of deriving the parameter ⁇ may be implemented through any one of Equations 3 and 4 below, and the process of deriving tc may be implemented through any one of Equations 5 and 6 below.
- slice_beta_offset_div2 and slice_tc_offset_div2 are values transmitted through a slice (or tile, tile group) header, and bS means boundary strength.
- the derivation unit 732 may derive ⁇ 'and tc' by applying two Q values to the lookup table (S830).
- the lookup table may be any one of Table 1 and Table 2 below.
- the lookup table in Table 2 reflects that the maximum value of the Q value is expanded (Equations 4 and 6).
- the derivation unit 732 may derive two parameters ⁇ and tc by applying bit-depth to the values of ⁇ 'and tc' (S830). This process can be implemented through Equations 7 and 8 below.
- the on-off determination unit 734 may determine whether to apply a filter to the corresponding edge (on/off) based on parameters derived from the derivation unit 732 and boundary strength (S840). Whether to apply the filter to the luma block may be determined for every 4 lines among lines composed of pixels included in the target blocks.
- the on-off determination unit 734 determines whether to apply a filter from the 0th line to the 3rd line (box represented by a dashed line), and from the 4th line to the 7th line (box represented by a solid line). You can decide whether to apply the filter or not.
- Equations 9 and 10 below are used to determine whether to apply the filter.
- Equation 9 is a formula for determining whether to apply the filter from the 0th line to the 3rd line
- Equation 10 is a formula for determining whether to apply the filter from the 4th line to the 7th line.
- Whether to apply the filter to the chroma block can be determined through the boundary intensity value. If the boundary strength value exceeds 1, filtering may be performed on the edge of the corresponding chroma block. That is, in the case of chroma blocks, the filter is applied only when one or more of the target blocks is encoded in the intra mode.
- the filter selector 736 may select either a strong filter or a weak filter (S860).
- the choice of a strong filter or a weak filter can also be determined for each of the four pixel lines shown in FIG. 10.
- Formulas for determining the strength and weakness of the filter are shown in Equations 11 and 12 below. Equation 11 is applied from the 0th line to the 3rd line, and Equation 12 is applied from the 4th line to the 7th line. When all three conditions required in Equations 11 and 12 are satisfied, a strong filter is applied to the edge, and a weak filter is applied in other cases. There is only one filter for chroma blocks.
- the filtering execution unit 730 may apply filtering to the corresponding edge (S860).
- filtering When strong filtering is applied to the luma block, three pixels (6 pixels in total) adjacent to the boundary of the target blocks may be filtered, and when weak filtering is applied, 2 pixels (4 pixels in total) adjacent to the boundary. This can be filtered.
- the chroma block since there is only one type of filter, two pixels (4 pixels in total) adjacent to the boundary may be filtered.
- the first embodiment corresponds to a method of setting the boundary strength by applying preset conditions for the transformation block boundary and the basic block boundary.
- the target blocks forming the transform block boundary TB are in a first condition (at least one of the target blocks).
- the boundary strength may be set to a first value (for example, “1”) (S1125).
- the target blocks forming the basic block boundary have a second condition (the target blocks may refer to different reference pictures or different numbers).
- the boundary strength may be set as a first value (S1125).
- the target blocks forming the basic block boundary (FB) have a third condition (the horizontal axis direction component between the motion vectors used by the target blocks).
- the boundary strength may be set as a first value (S1125).
- the apparatus for encoding/decoding an image may sequentially determine the processes S1120 to S1130, and if it is determined that all processes are not satisfied, the boundary intensity may be set to a zero value (for example, “0”) (S1145). In this case, filtering may not be applied to the corresponding edge.
- the target blocks forming the basic block boundary (FB) have a fifth condition (at least one of the target blocks is in intra mode) Prediction) can be determined (S1110). If it is determined that the fifth condition is satisfied, the video encoding/decoding device may set the boundary intensity to a second value (eg, “2”) (S1115). When it is determined that the fifth condition is not satisfied, the video encoding/decoding device may perform steps S1120 to S1140.
- a second value eg, “2”
- target blocks forming the sub-block boundary SB may refer to different or identical reference pictures. Since the process S1130 determines whether the second condition (target blocks refer to different reference pictures) is satisfied, all cases in which the target blocks refer to different reference pictures or refer to the same reference pictures can be processed.
- the first embodiment through the determination of the basic block boundary FB, the determination of the prediction block boundary PB and the subblock boundary SB can be performed at once. Therefore, the first embodiment can simplify the process of setting the boundary strength.
- the second embodiment corresponds to a method of setting boundary strength by applying preset conditions for transform block boundary TB, prediction block boundary PB, and subblock boundary SB. That is, the second embodiment corresponds to a method of dividing the basic block boundary FB into the prediction block boundary PB and the subblock boundary SB in the first embodiment.
- the target blocks forming the transform block boundary TB have a first condition (at least one of the target blocks).
- the boundary strength may be set as the first value (S1225).
- the target blocks forming the prediction block boundary (PB) have a second condition (the target blocks refer to different reference pictures or different numbers).
- the boundary strength may be set as a first value (S1225).
- the target blocks forming the prediction block boundary (PB) have the third condition (the horizontal axis direction component between the motion vectors used by the target blocks).
- the boundary strength may be set as a first value (S1225).
- the target blocks forming the subblock boundary SB are predicted using the fourth condition (the target blocks use different numbers of motion vectors). (S1250), the boundary strength may be set to a first value (S1225).
- the apparatus for encoding/decoding an image when a block boundary corresponds to a subblock boundary (SB) and target blocks forming a subblock boundary (SB) satisfy the third condition (S1260), the boundary strength is a first value.
- the apparatus for encoding/decoding an image may sequentially determine the processes S1220 to S1260, and if it is determined that all processes are not satisfied, the boundary intensity may be set to a zero value (S1265). In this case, filtering may not be applied to the corresponding edge.
- the target blocks forming the prediction block boundary (PB) have a fifth condition (at least one of the target blocks is in intra mode) Prediction) may be determined (S1210).
- the video encoding/decoding device may set the boundary intensity to a second value (S1215).
- the video encoding/decoding device may perform processes S1220 to S1260.
- the second embodiment it is determined whether the second condition (target blocks refer to different reference pictures) is satisfied in the case of the prediction block boundary PB, but the second condition is satisfied in the case of the sub-block boundary SB. Do not judge. Accordingly, the second embodiment implies that the reference pictures of the target blocks forming the prediction block boundary PB may be different, but the reference pictures of the target blocks forming the subblock boundary SB are the same.
- the third embodiment corresponds to a method of setting a boundary strength for a boundary (subblock boundary (SB)) of subblocks to which a transform process is not applied.
- SB subblock boundary
- the present invention proposes a method for filtering to be applied to the sub-block boundary SB by setting the boundary strength for the sub-block boundary SB to which the transformation process is not applied through the third embodiment.
- the transform skip mode in which the transform process is skipped When the transform process is not applied, the transform skip mode in which the transform process is skipped, the trans-quant bypass mode in which both the transform and quantization processes are skipped, and the skip mode in which both the transform and quantization processes are skipped because the transform coefficients are all zero And the like.
- the video encoding/decoding device may determine whether the corresponding edge corresponds to the subblock boundary SB (S1310). If the edge corresponds to the sub-block boundary (SB), the video encoding/decoding device may determine whether a transformation process is applied to target blocks (S1320 to S1340).
- the image encoding/decoding apparatus determines one or more of whether a transform skip mode is applied to target blocks (S1320), whether a trans-quant bypass mode is applied (S1330), and whether a skip mode is applied (S1340). By determining, it is possible to determine whether the conversion process is applied to the target blocks.
- the image encoding/decoding device may set the boundary strength of the edge to a first value in order to reduce the deblocking phenomenon (S1325).
- the image encoding/decoding apparatus may set the boundary strength of the corresponding edge to a zero value (S1345).
- Example 4 corresponds to a method of deriving an intermediate value (qP L ) for luma by applying an offset value.
- the intermediate value qP L for luma may be derived by averaging quantization parameters QP P and QP Q of target blocks.
- the intermediate value for luma may be derived by applying an offset value (offset information) to a value obtained by averaging quantization parameters of target blocks.
- the offset value corresponds to information or a value for adaptively adjusting the filter strength by adjusting the intermediate value for luma.
- Equation 13 The formula for applying the offset value to the average value of the quantization parameters is as shown in Equation 13 below.
- qP represents an intermediate value for luma
- qpOffset represents an offset value.
- the offset value may be transmitted at one or more of a picture-level header, sequence-level header, tile group header, and tile header.
- the image encoding/decoding apparatus derives an intermediate value for luma by applying an offset value to an average value of quantization parameters without determining other conditions, or offsets an average value of quantization parameters when other conditions are satisfied You can also derive an intermediate value for luma by applying a value.
- the image encoding/decoding apparatus may derive an intermediate value for luma by applying an offset value to an average value of quantization parameters when a luma level of target blocks exceeds or exceeds a threshold value.
- the luma level may correspond to an average value of pixel values included in target blocks.
- the luma level may correspond to an average value of one or more pixels included in the 0th pixel line and one or more pixels included in the 3rd pixel line.
- Information about a threshold value corresponding to a comparison target with a luma level may be transmitted at one or more positions of a picture-level header, a sequence-level header, a tile group header, and a tile header.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
필터링 방법 및 영상 복호화 장치를 개시한다. 본 발명의 일 실시예에 의하면, 영상 복호화 장치에서 수행되는 필터링 방법으로서, 복원된 영상을 대상으로, 필터링이 적용될 하나 이상의 블록 경계(boundary)를 결정하는 단계; 상기 블록 경계의 타입 및 미리 설정된 조건들을 기준으로, 상기 블록 경계의 경계 강도(strength)를 설정하는 단계; 및 상기 설정된 경계 강도를 기반으로, 필터링을 수행하는 단계를 포함하는 필터링 방법을 제공한다. 대표도: 도 7
Description
본 발명은 영상의 부호화 및 복호화에 관한 것으로서, 더욱 구체적으로는 부호화 및 복호화의 효율을 향상시킨 필터링 방법 및 영상 복호화 장치에 관한 것이다.
동영상 데이터는 음성 데이터나 정지 영상 데이터 등에 비하여 많은 데이터량을 가지기 때문에, 압축을 위한 처리 없이 그 자체를 저장하거나 전송하기 위해서는 메모리를 포함하여 많은 하드웨어 자원을 필요로 한다.
따라서, 통상적으로 동영상 데이터를 저장하거나 전송할 때에는 부호화기를 사용하여 동영상 데이터를 압축하여 저장하거나 전송하며, 복호화기에서는 압축된 동영상 데이터를 수신하여 압축을 해제하고 재생한다. 이러한 동영상 압축 기술로는 H.264/AVC를 비롯하여, H.264/AVC에 비해 약 40% 정도의 부호화 효율을 향상시킨 HEVC(High Efficiency Video Coding)가 존재한다.
그러나, 영상의 크기 및 해상도, 프레임율이 점차 증가하고 있고, 이에 따라 부호화해야 하는 데이터량도 증가하고 있으므로 기존의 압축 기술보다 더 부호화 효율이 좋고 화질 개선 효과도 높은 새로운 압축 기술이 요구된다.
이러한 요구에 부응하기 위해 본 발명은 개선된 영상 부호화 및 복호화 기술을 제공하는 것을 목적으로 하며, 특히, 본 발명의 일 측면은 블록 경계의 타입에 따라 다양한 조건들을 선택적으로 적용하여 영상을 필터링함으로써 부호화 및 복호화의 효율을 향상시키는 기술과 관련된다.
본 발명의 일 측면은, 영상 복호화 장치에서 수행되는 필터링 방법으로서, 복원된 영상을 대상으로, 필터링이 적용될 하나 이상의 블록 경계(boundary)를 결정하는 단계; 상기 블록 경계의 타입 및 미리 설정된 조건들을 기준으로, 상기 블록 경계의 경계 강도(strength)를 설정하는 단계; 및 상기 설정된 경계 강도를 기반으로, 필터링을 수행하는 단계를 포함하는 필터링 방법을 제공한다.
본 발명의 다른 일 측면은, 영상 복호화 장치로서, 복원된 영상을 대상으로, 필터링이 적용될 하나 이상의 블록 경계(boundary)를 결정하는 경계결정부; 상기 블록 경계의 타입 및 미리 설정된 조건들을 기준으로, 상기 블록 경계의 경계 강도(strength)를 설정하는 강도설정부; 및 상기 설정된 경계 강도를 기반으로, 필터링을 수행하는 필터링수행부를 포함하는 영상 복호화 장치를 제공한다.
이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 코딩 유닛, 예측 유닛, 변환 유닛 등의 크기가 같거나 다른 경우에 대한 필터링 방법들이 제안된다.
또한, 본 발명의 다른 일 실시예에 의하면, 서브블록 별로 움직임 보상을 수행하는 경우에 대한 필터링 방법들을 통해 서브블록들 사이에 발생하는 블록킹 아티팩트를 제거함으로써 주관적 화질 개선을 향상시킬 수 있다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.
도 2는 QTBTTT 구조를 이용하여 블록을 분할하는 방법을 설명하기 위한 도면이다.
도 3은 복수의 인트라 예측 모드들을 설명하기 위한 도면이다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
도 5 및 도 6은 디블록킹 필터를 적용하는 종래 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 기술들을 구현할 수 있는 디블록킹 필터의 예시적인 블록도이다.
도 8은 복원된 영상을 대상으로 필터링을 수행하는 본 발명의 일 실시예를 설명하기 위한 순서도이다.
도 9는 블록들의 경계 타입을 설명하기 위한 도면이다.
도 10은 필터의 on/off를 결정하는 과정을 설명하기 위한 도면이다.
도 11 내지 도 13은 블록 경계에 대해 경계 강도를 설정하는 본 발명의 다양한 실시예를 설명하기 위한 순서도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다. 이하에서는 도 1을 참조하여 영상 부호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 부호화 장치는 블록 분할부(110), 예측부(120), 감산기(130), 변환부(140), 양자화부(145), 부호화부(150), 역양자화부(160), 역변환부(165), 가산기(170), 필터부(180) 및 메모리(190)를 포함하여 구성될 수 있다.
영상 부호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
하나의 영상(비디오)는 복수의 픽처들로 구성된다. 각 픽처들은 복수의 영역으로 분할되고 각 영역마다 부호화가 수행된다. 예를 들어, 하나의 픽처는 하나 이상의 타일(Tile) 또는/및 슬라이스(Slice)로 분할된다. 여기서, 하나 이상의 타일을 타일 그룹(Tile Group)으로 정의할 수 있다. 각 타일 또는/슬라이스는 하나 이상의 CTU(Coding Tree Unit)로 분할된다. 그리고 각 CTU는 트리 구조에 의해 하나 이상의 CU(Coding Unit)들로 분할된다. 각 CU에 적용되는 정보들은 CU의 신택스로서 부호화되고, 하나의 CTU에 포함된 CU들에 공통적으로 적용되는 정보는 CTU의 신택스로서 부호화된다. 또한, 하나의 타일 내의 모든 블록들에 공통적으로 적용되는 정보는 타일의 신택스로서 부호화되거나 다수 개의 타일을 모아 놓은 타일 그룹의 신택스로서 부호화되며, 하나의 픽처들을 구성하는 모든 블록들에 적용되는 정보는 픽처 파라미터 셋(PPS, Picture Parameter Set) 혹은 픽처 헤더에 부호화된다. 나아가, 복수의 픽처가 공통으로 참조하는 정보들은 시퀀스 파라미터 셋(SPS, Sequence Parameter Set)에 부호화된다. 그리고, 하나 이상의 SPS가 공통으로 참조하는 정보들은 비디오 파라미터 셋(VPS, Video Parameter Set)에 부호화된다.
블록 분할부(110)는 CTU(Coding Tree Unit)의 크기를 결정한다. CTU의 크기에 대한 정보(CTU size)는 SPS 또는 PPS의 신택스로서 부호화되어 영상 복호화 장치로 전달된다.
블록 분할부(110)는 영상을 구성하는 각 픽처(picture)를 미리 결정된 크기를 가지는 복수의 CTU(Coding Tree Unit)들로 분할한 이후에, 트리 구조(tree structure)를 이용하여 CTU를 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU(coding unit)가 된다.
트리 구조로는 상위 노드(혹은 부모 노드)가 동일한 크기의 네 개의 하위 노드(혹은 자식 노드)로 분할되는 쿼드트리(QuadTree, QT), 또는 상위 노드가 두 개의 하위 노드로 분할되는 바이너리트리(BinaryTree, BT), 또는 상위 노드가 1:2:1 비율로 세 개의 하위 노드로 분할되는 터너리트리(TernaryTree, TT), 또는 이러한 QT 구조, BT 구조 및 TT 구조 중 둘 이상을 혼용한 구조일 수 있다. 예컨대, QTBT(QuadTree plus BinaryTree) 구조가 사용될 수 있고, 또는 QTBTTT(QuadTree plus BinaryTree TernaryTree) 구조가 사용될 수 있다. 여기서, BTTT를 합쳐서 MTT(Multiple-Type Tree)라 칭할 수 있다.
도 2는 QTBTTT 분할 트리 구조를 보인다. 도 2에서 보는 바와 같이, CTU는 먼저 QT 구조로 분할될 수 있다. 쿼드트리 분할은 분할 블록(splitting block)의 크기가 QT에서 허용되는 리프 노드의 최소 블록 크기(MinQTSize)에 도달할 때까지 반복될 수 있다. QT 구조의 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1 플래그(QT_split_flag)는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. QT의 리프 노드가 BT에서 허용되는 루트 노드의 최대 블록 크기(MaxBTSize)보다 크지 않은 경우, BT 구조 또는 TT 구조 중 어느 하나 이상으로 더 분할될 수 있다. BT 구조 및/또는 TT 구조에서는 복수의 분할 방향이 존재할 수 있다. 예컨대, 해당 노드의 블록이 가로로 분할되는 방향과 세로로 분할되는 방향 두 가지가 존재할 수 있다. 도 2와 같이, MTT 분할이 시작되면, 노드들이 분할되었는지 여부를 지시하는 제2 플래그(mtt_split_flag)와, 분할이 되었다면 추가적으로 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그 및/또는 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
트리 구조의 다른 예로서, QTBTTT 구조를 사용하여 블록을 분할하는 경우, 먼저 분할 되었음을 나타내는 CU 분할 플래그(split_cu_flag) 및 분할 타입이 QT 분할인지를 지시하는 QT 분할 플래그(split_qt_flag) 정보가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. CU 분할 플래그(split_cu_flag) 값이 분할되지 않았음을 지시하는 경우, 해당 노드의 블록이 분할 트리 구조에서의 리프 노드(leaf node)가 되어 부호화의 기본 단위인 CU(coding unit)가 된다. CU 분할 플래그(split_cu_flag) 값이 분할되었음을 지시하는 경우, QT 분할 플래그(split_qt_flag) 값을 통해 분할 타입이 QT 혹은 MTT인지를 구분한다. 분할 타입이 QT인 경우에는 더 이상의 추가 정보가 없으며, 분할 타입이 MTT인 경우에는 추가적으로 MTT 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그(mtt_split_cu_vertical_flag) 및/또는 MTT 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그(mtt_split_cu_binary_flag)가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
트리 구조의 다른 예시로서 QTBT가 사용되는 경우, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입(즉, symmetric horizontal splitting)과 세로로 분할하는 타입(즉, symmetric vertical splitting) 두 가지가 존재할 수 있다. BT 구조의 각 노드가 하위 레이어의 블록으로 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할되는 타입을 지시하는 분할 타입 정보가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다. 한편, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태에는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태가 포함될 수 있고, 혹은 해당 노드의 블록을 대각선 방향으로 분할하는 형태가 포함될 수도 있다.
CU는 CTU로부터의 QTBT 또는 QTBTTT 분할에 따라 다양한 크기를 가질 수 있다. 이하에서는, 부호화 또는 복호화하고자 하는 CU(즉, QTBTTT의 리프 노드)에 해당하는 블록을 '현재블록'이라 칭한다.
예측부(120)는 현재블록을 예측하여 예측블록을 생성한다. 예측부(120)는 인트라 예측부(122)와 인터 예측부(124)를 포함한다.
일반적으로, 픽처 내 현재블록들은 각각 예측적으로 코딩될 수 있다. 일반적으로 현재블록의 예측은 (현재블록을 포함하는 픽처로부터의 데이터를 사용하는) 인트라 예측 기술 또는 (현재블록을 포함하는 픽처 이전에 코딩된 픽처로부터의 데이터를 사용하는) 인터 예측 기술을 사용하여 수행될 수 있다. 인터 예측은 단방향 예측과 양방향 예측 모두를 포함한다.
인트라 예측부(122)는 현재블록이 포함된 현재 픽처 내에서 현재블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재한다. 예컨대, 도 3에서 보는 바와 같이, 복수의 인트라 예측모드는 planar 모드와 DC 모드를 포함하는 비방향성 모드와 65개의 방향성 모드를 포함할 수 있다. 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다.
인트라 예측부(122)는 현재블록을 부호화하는데 사용할 인트라 예측 모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(122)는 여러 인트라 예측 모드들을 사용하여 현재블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측 모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(122)는 여러 테스트된 인트라 예측 모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측 모드를 선택할 수도 있다.
인트라 예측부(122)는 복수의 인트라 예측 모드 중에서 하나의 인트라 예측 모드를 선택하고, 선택된 인트라 예측 모드에 따라 결정되는 주변 픽셀(참조 픽셀)과 연산식을 사용하여 현재블록을 예측한다. 선택된 인트라 예측 모드에 대한 정보가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다.
인터 예측부(124)는 움직임 보상 과정을 통해 현재블록에 대한 예측블록을 생성한다. 현재 픽처보다 먼저 부호화 및 복호화된 참조픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 일반적으로, 움직임 추정은 루마(luma) 성분에 대해 수행되고, 루마 성분에 기초하여 계산된 모션 벡터는 루마 성분 및 크로마 성분 모두에 대해 사용된다. 현재블록을 예측하기 위해 사용된 참조픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다.
감산기(130)는 현재블록으로부터 인트라 예측부(122) 또는 인터 예측부(124)에 의해 생성된 예측블록을 감산하여 잔차블록을 생성한다.
변환부(140)는 공간 영역의 픽셀 값들을 가지는 잔차블록 내의 잔차 신호를 주파수 도메인의 변환 계수로 변환한다. 변환부(140)는 잔차블록의 전체 크기를 변환 단위로 사용하여 잔차블록 내의 잔차 신호들을 변환할 수 있으며, 또는 잔차블록을 변환 영역 및 비변환 영역인 두 개의 서브블록으로 구분하여, 변환 영역 서브블록만 변환 단위로 사용하여 잔차 신호들을 변환할 수 있다. 여기서, 변환 영역 서브블록은 가로축 (혹은 세로축) 기준 1:1의 크기 비율을 가지는 두 개의 직사각형 블록 중 하나일 수 있다. 이런 경우, 서브블록 만을 변환하였음을 지시하는 플래그(cu_sbt_flag), 방향성(vertical/horizontal) 정보(cu_sbt_horizontal_flag) 및/또는 위치 정보(cu_sbt_pos_flag)가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. 또한, 변환 영역 서브블록의 크기는 가로축 (혹은 세로축) 기준 1:3의 크기 비율을 가질 수 있으며, 이런 경우 해당 분할을 구분하는 플래그(cu_sbt_quad_flag)가 추가적으로 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
양자화부(145)는 변환부(140)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 부호화부(150)로 출력한다.
부호화부(150)는 양자화된 변환 계수들을 CABAC(Context-based Adaptive Binary Arithmetic Code) 등의 부호화 방식을 사용하여 부호화함으로써 비트스트림을 생성한다. 부호화부(150)는 블록 분할과 관련된 CTU size, CU 분할 플래그, QT 분할 플래그, MTT 분할 방향, MTT 분할 타입 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다.
또한, 부호화부(150)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보(즉, 인트라 예측 모드에 대한 정보) 또는 인터 예측정보(참조픽처 및 움직임벡터에 대한 정보)를 부호화한다.
역양자화부(160)는 양자화부(145)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(165)는 역양자화부(160)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.
가산부(170)는 복원된 잔차블록과 예측부(120)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.
필터부(180)는 블록 기반의 예측 및 변환/양자화로 인해 발생하는 블록킹 아티팩트(blocking artifacts), 링잉 아티팩트(ringing artifacts), 블러링 아티팩트(blurring artifacts) 등을 줄이기 위해 복원된 픽셀들에 대한 필터링을 수행한다. 필터부(180)는 디블록킹 필터(182)와 SAO(Sample Adaptive Offset) 필터(184)를 포함할 수 있다.
디블록킹 필터(180)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 필터링하고, SAO 필터(184)는 디블록킹 필터링된 영상에 대해 추가적인 필터링을 수행한다. SAO 필터(184)는 손실 부호화(lossy coding)로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해 사용되는 필터이다.
디블록킹 필터(182) 및 SAO 필터(184)를 통해 필터링된 복원블록은 메모리(190)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다. 이하에서는 도 4를 참조하여 영상 복호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 복호화 장치는 복호화부(410), 역양자화부(420), 역변환부(430), 예측부(440), 가산기(450), 필터부(460) 및 메모리(470)를 포함하여 구성될 수 있다.
도 1의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
복호화부(410)는 영상 부호화 장치로부터 수신한 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출함으로써 복호화하고자 하는 현재블록을 결정하고, 현재블록을 복원하기 위해 필요한 예측정보와 잔차신호에 대한 정보 등을 추출한다.
복호화부(410)는 SPS(Sequence Parameter Set) 또는 PPS(Picture Parameter Set)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 그리고, CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할정보를 추출함으로써 트리 구조를 이용하여 CTU를 분할한다.
예컨대, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 MTT의 분할과 관련된 제2 플래그(MTT_split_flag) 및 분할 방향(vertical / horizontal) 및/또는 분할 타입(binary / ternary) 정보를 추출하여 해당 리프 노드를 MTT 구조로 분할한다. 이를 통해 QT의 리프 노드 이하의 각 노드들을 BT 또는 TT 구조로 반복적으로(recursively) 분할한다.
또 다른 예로서, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 CU의 분할 여부를 지시하는 CU 분할 플래그(split_cu_flag)를 추출하고, 해당 블록이 분할된 경우, QT 분할 플래그(split_qt_flag)를 추출한다. 분할 타입이 QT가 아니고 MTT인 경우, MTT 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그(mtt_split_cu_vertical_flag) 및/또는 MTT 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그(mtt_split_cu_binary_flag)를 추가적으로 추출한다. 분할 과정에서 각 노드는 0번 이상의 반복적인 QT 분할 후에 0번 이상의 반복적인 MTT 분할이 발생할 수 있다. 예컨대, CTU는 바로 MTT 분할이 발생하거나, 반대로 다수 번의 QT 분할만 발생할 수도 있다.
다른 예로서, QTBT 구조를 사용하여 CTU를 분할하는 경우, QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT로 더 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할 방향 정보를 추출한다.
한편, 복호화부(410)는 트리 구조의 분할을 통해 복호화하고자 하는 현재블록을 결정하게 되면, 현재블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다. 예측 타입 정보가 인트라 예측을 지시하는 경우, 복호화부(410)는 현재블록의 인트라 예측정보(인트라 예측 모드)에 대한 신택스 요소를 추출한다. 예측 타입 정보가 인터 예측을 지시하는 경우, 복호화부(410)는 인터 예측정보에 대한 신택스 요소, 즉, 움직임벡터 및 그 움직임벡터가 참조하는 참조픽처를 나타내는 정보를 추출한다.
한편, 복호화부(410)는 잔차신호에 대한 정보로서 현재블록의 양자화된 변환계수들에 대한 정보를 추출한다.
역양자화부(420)는 양자화된 변환계수들을 역양자화하고, 역변환부(430)는 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재블록에 대한 잔차블록을 생성한다.
또한, 역변환부(430)는 변환블록의 일부 영역(서브블록)만 역변환하는 경우, 변환블록의 서브블록만을 변환하였음을 지시하는 플래그(cu_sbt_flag), 서브블록의 방향성(vertical/horizontal) 정보(cu_sbt_horizontal_flag) 및/또는 서브블록의 위치 정보(cu_sbt_pos_flag)를 추출하여, 해당 서브블록의 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환함으로써 잔차신호들을 복원하고, 역변환되지 않은 영역에 대해서는 잔차신호로 "0" 값을 채움으로써 현재블록에 대한 최종 잔차블록을 생성한다.
예측부(440)는 인트라 예측부(442) 및 인터 예측부(444)를 포함할 수 있다. 인트라 예측부(442)는 현재블록의 예측 타입이 인트라 예측일 때 활성화되고, 인터 예측부(444)는 현재블록의 예측 타입이 인터 예측일 때 활성화된다.
인트라 예측부(442)는 복호화부(410)로부터 추출된 인트라 예측 모드에 대한 신택스 요소로부터 복수의 인트라 예측 모드 중 현재블록의 인트라 예측 모드를 결정하고, 인트라 예측 모드에 따라 현재블록 주변의 참조 픽셀들을 이용하여 현재블록을 예측한다.
인터 예측부(444)는 복호화부(410)로부터 추출된 인트라 예측 모드에 대한 신택스 요소를 이용하여 현재블록의 움직임벡터와 그 움직임벡터가 참조하는 참조픽처를 결정하고, 움직임벡터와 참조픽처를 이용하여 현재블록을 예측한다.
가산기(450)는 역변환부로부터 출력되는 잔차블록과 인터 예측부 또는 인트라 예측부로부터 출력되는 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.
필터부(460)는 디블록킹 필터(462) 및 SAO 필터(464)를 포함할 수 있다. 디블록킹 필터(462)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해, 복원된 블록 간의 경계를 디블록킹 필터링한다. SAO 필터(464)는 손실 부호화(lossy coding)으로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해, 디블록킹 필터링 이후의 복원된 블록에 대해 추가적인 필터링을 수행한다. 디블록킹 필터(462) 및 SAO 필터(464)를 통해 필터링된 복원블록은 메모리(470)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
본 발명의 다양한 실시예들에 대해 설명하기에 앞서, 복원된 영상을 대상으로 디블록킹 필터를 적용하는 종래 방법에 대해 간략히 설명하도록 한다.
앞서 설명된 바와 같이, HEVC 표준에는 두 가지 종류의 in-loop 필터(디블록킹 필터 및 SAO 필터)가 존재한다. 디블록킹 필터는 블록 경계(또는, 에지) 간에 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 아래와 같은 단계들을 수행할 수 있다.
1) 블록 경계 결정 - 2) 경계 강도(Bs) 연산 - 3) β 및 tc 결정 - 4) 필터 on/off 결정 - 5) 강한/약한 필터 선택
먼저, 블록 경계를 결정하는 단계는 블록 경계들 중에서 필터링이 수행될 수 있는 블록 경계를 결정하는 과정에 해당한다. 특정 경계가 최소 8x8 블록 경계이면서 예측 유닛(prediction unit) 또는 변환 유닛(transform unit)의 경계에 해당하는지 여부를 기준으로, 필터링이 수행될 블록 경계가 결정될 수 있다.
블록 경계에 대한 일 예가 도 5에 표현되어 있다. 도 5 (a)는 32x32 루마 블록을 나타내며, 도 5 (b)는 16x16 크로마 블록을 나타낸다. 디블록킹 필터는 vertical 방향의 에지(edge)에 대해 horizontal 필터링을 실시한 후, horizontal 방향의 에지에 대해 vertical 필터링을 실시한다. 도 5 (a)에 표현된 실선 사각형 내에 위치하는 에지를 기준으로 인접한 두 블록을 P 블록과 Q 블록으로 설정하면, 도 5의 상단에 표시된 바와 같이 두 블록의 경계에 인접한 일부 픽셀들이 가로축과 세로축을 기준으로 인덱싱될 수 있다.
경계 강도를 연산하는 단계는 horizontal 방향의 에지 및 vertical 방향의 에지에 대해 강도를 계산하는 과정에 해당한다. 후술되는 바와 같이, 이 단계에서는 에지를 대상으로 다양한 조건들이 적용되어 경계 강도 값이 “0 내지 2” 중 어느 하나의 값으로 설정되므로, 이 단계는 경계 강도를 설정하는 과정일 수 있다. 여기서, 경계 강도 값 “0”은 해당 에지에서 필터링이 수행되지 않음을 의미한다.
경계 강도를 설정하는 과정에 대한 순서도가 도 6에 도시되어 있다. 먼저, 두 블록(P 및 Q)의 예측 모드가 인트라 모드인지 여부를 판단하여(S610), 두 블록 중 하나라도 인트라 모드로 예측된 경우에는 경계 강도를 “2”로 설정한다(S615). 두 블록의 예측 모드가 인트라 모드가 아닌 경우(인터 모드로 예측된 경우), 두 블록 사이의 에지에서 픽셀 값의 불연속(디블록킹 현상)이 발생하는지 여부를 기준으로 경계 강도를 “1” 또는 “0”으로 설정하는 아래와 같은 과정들이 수행될 수 있다.
두 블록에 non-zero 변환계수(non-zero coeff.)가 존재하는지 여부를 판단하여(S620), 두 블록 중 하나라도 non-zero 변환계수를 포함하고 있다면 경계 강도를 “1”로 설정한다(S625). 두 블록 모두에 non-zero 변환계수가 포함되어 있지 않은 경우에는 두 블록의 참조픽처(ref_pic)가 상이한지 여부를 판단하는 과정(S630)이 수행된다.
S630 과정에서 두 블록이 서로 다른 참조픽처를 참조하는 것으로 판단되면, 경계 강도가 “1”로 설정된다(S625). 두 블록이 서로 같은 참조픽처를 참조하는 것으로 판단되는 경우, 두 블록이 서로 다른 개수의 움직임벡터(#MVs)를 가지는지 여부를 판단하는 과정(S640)이 수행될 수 있다.
S640 과정에서, 두 블록이 서로 다른 개수의 움직임벡터들을 사용하는 것으로 판단되면, 경계 강도가 “1”로 설정된다(S625). 이와 달리, 두 블록이 서로 같은 개수의 움직임벡터를 사용하는 것으로 판단되면, 두 블록의 움직임벡터들의 가로축 성분들 사이의 차이 절대 값(|MV_P
h-MV_Q
h|) 또는 세로축 성분들 사이의 차이 절대 값(|MV_P
v-MV_Q
v|)이 4 이상인지 여부를 판단하는 과정(S650)이 수행된다. S650 과정에서, 가로축 또는 세로축 성분들 사이의 차이 절대 값이 4 이상이면 경계 강도가 “1”로 설정되고, 4 미만이면 경계 강도가 “0”으로 설정된다. 크로마 블록의 경우, 루마 블록의 대응하는 위치에서 계산된 경계 강도가 그대로 사용된다.
경계 강도가 설정되면, 설정된 경계 강도에 기반하여 필터링에 이용되는 두 개의 파라미터(β 및 tc)를 결정하는 과정, 경계 강도 및/또는 β를 이용하여 해당 에지에 필터링을 적용할지 여부를 결정하는 과정(필터 on/off 결정), 강한 필터 및 약한 필터 중 해당 에지에 적용될 필터의 강도를 선택하는 과정 등이 수행되어, 필터링이 구현될 수 있다.
이상에서 설명된 바와 같이, 종래 방법은 코딩 유닛, 예측 유닛 및/또는 변환 유닛의 크기가 서로 다름을 전제로 필터링이 적용될 에지에 대한 경계 강도를 설정한다.
이와 달리, 본 발명은 코딩 유닛, 예측 유닛 및/또는 변환 유닛의 크기가 서로 같음을 전제로 필터링이 적용될 에지에 대한 경계 강도를 설정하는 방법을 제안한다. 즉, 본 발명은 코딩 유닛(또는, 예측 유닛)의 경계에 대해서만 필터링을 적용하고, 변환 유닛에 대해서는 필터링을 적용하지 않을 수 있다. 다만, 본 발명은 아래와 같은 예외적인 경우에 대한 처리 방법도 제안한다.
1) 본 발명은 코딩 유닛, 예측 유닛 및/또는 변환 유닛의 크기가 서로 다른 경우를 예외적인 경우로 처리하여, 이 예외적인 경우에 대한 경계 강도를 설정하는 방법도 제안한다. 예를 들어, 본 발명은 코딩 유닛이 변환 유닛을 위한 transform kernel의 크기보다 큰 경우를 코딩 유닛, 예측 유닛 및/또는 변환 유닛의 크기가 서로 다른 예외적인 경우로 구분하여 이에 대한 처리 방법도 제안한다. 예컨데, 가장 큰 transform kernel의 크기가 64x64인 반면에, 코딩 유닛의 크기가 128x128, 128x64, 64x128 중 하나인 경우에는 하나의 코딩 유닛에 대해 다수 개의(다수 번의) transform이 적용되어야 한다. 이와 같은 경우, 본 발명은 코딩 유닛의 경계 이외에 코딩 유닛 내에 위치하는 변환 유닛의 경계에 대해서도 필터링을 수행할 수 있다.
2) 나아가, 본 발명은 코딩 유닛 또는 예측 유닛 내에 위치하는 서브블록 별로 움직임 보상을 수행하는 경우를 예외적인 경우로 처리하여, 이 경우에 대한 필터링을 수행하는 방법도 제안한다. 서브블록 별로 움직임 보상을 수행하는 경우에는 SbTMVP(subblock-based temporal motion vector prediction, 또는 ATMVP: advanced/alternative temporal motion vector predictor), BDOF(bi-directional optical flow, 또는 BIO), affine 모드 등이 포함될 수 있다. 서브블록의 크기는 다양할 수 있다. 다만, 본 명세서에서는 필터링이 적용되는 서브블록의 최소 크기를 8x8로 가정하여 설명하도록 한다. 예를 들어, 16x16 코딩 유닛이 4x4 서브블록 별로 나뉘어 움직임 보상이 수행된 경우, 8x8 단위의 서브블록에 대해서만 필터링이 적용되는 것으로 가정한다. 이 경우, 하나의 코딩 유닛 내의 서브블록들은 동일한 참조픽처를 사용할 수 있으며, 동일한 개수의 움직임벡터를 사용할 수 있다.
이하에서는, 본 발명에서 제안하는 필터링 방법에 대해 설명하도록 한다.
도 7에 도시된 바와 같이, 본 개시의 기술들을 구현할 수 있는 디블록킹 필터(182, 462)는 경계결정부(710), 강도설정부(720) 및, 필터링실행부(730)를 포함하여 구성될 수 있다. 또한, 필터링실행부(730)는 도출부(732), 온오프결정부(734) 및 필터선택부(736)을 포함하여 구성될 수 있다.
경계설정부(710)는 복원된 영상 또는 CTU로부터 블록 경계를 설정할 수 있다(S810). 설정되는 블록 경계는 복원된 영상 또는 CTU에 존재하는 경계들 중에서 필터링이 적용될 수 있는 경계들에 해당할 수 있다. 본 명세서에서는 설명의 편의를 위해 블록 경계의 최소 크기를 8x8로 가정하도록 한다.
블록
경계를 형성하는 블록들의 종류는 다양할 수 있다. 예를 들어, 블록들에는 코딩블록(coding block), 예측블록(prediction block), 변환블록(transform block), 서브블록(sub-block), 기본블록(fundamental block) 등이 포함될 수 있다. 예측블록은 코딩블록과 동일할 수 있다. 기본블록은 인터 예측 시에 움직임 보상이 수행되는 블록 단위를 의미할 수 있고, 인트라 예측 시에 인트라 모드로 처리된 블록 단위를 의미할 수 있다. 즉, 기본블록은 움직임 보상의 단위인 예측블록 및 서브블록을 포함하는 개념일 수 있다. 따라서, 기본블록은 예측블록이거나 서브블록일 수 있다.
블록 경계의 타입
복원된 영상 또는 CTU에 존재하는 경계들은 인접하는 블록들의 종류에 따라 구분될 수 있다. 예를 들어, 인접하는 코딩블록들 사이에 형성되는 경계는 코딩블록 경계(CB) 또는 코딩블록 에지일 수 있고, 인접하는 예측블록들 사이에 형성되는 경계는 예측블록 경계(PB) 또는 예측블록 에지일 수 있다. 또한, 인접하는 변환블록들 사이에 형성되는 경계, 인접하는 서브블록들 사이에 형성되는 경계 및 인접하는 기본블록들 사이에 형성되는 경계 각각은 변환블록 경계(TB, 변환블록 에지), 서브블록 경계(SB, 서브블록 에지) 및 기본블록 경계(FB, 기본블록 에지)일 수 있다.
블록 경계의 타입에 대한 일 예가 도 9에 표현되어 있다. 도 9는 하나의 CTU가 여러 개의 코딩 유닛으로 분할된 형태를 보인다. 도 9 (a)는 변환블록 에지(점선)를 보이고, 도 9 (b)는 예측블록 에지(실선) 및 서브블록 에지(1점 쇄선)를 보인다. 본 발명은 코딩 유닛, 예측 유닛 및 변환 유닛이 서로 같은 크기를 가짐을 전제하므로, 변환블록 에지와 예측블록 에지가 일치함을 알 수 있다.
도 9의 패턴이 표시되지 않은 원들은 변환블록 에지이면서 예측블록 에지에 인접한 픽셀들을 나타내며, 가로 방향의 패턴이 표시된 원들은 서브블록 에지(변환블록 에지 및 예측블록 에지에 해당하지 않는 에지)에 인접한 픽셀들을 나타낸다.
강도설정부(720)는 위에서 설명된 블록 경계의 타입과 미리 설정된 조건들을 기준으로 블록 경계의 경계 강도를 설정할 수 있다(S820). 즉, 강도설정부(720)는 특정 블록 경계의 타입과 미리 설정된 조건들을 해당 에지에 적용하여 해당 에지의 경계 강도를 설정할 수 있다.
미리 설정된 조건
미리 설정된 조건들은 특정 경계에 디블록킹 현상이 존재하는지 여부를 판단하기 위한 기준에 해당할 수 있다. 또한, 미리 설정된 조건들은 특정 경계에 존재하는 디블록킹 현상이 원본 영상 내에 존재하는 것인지 아니면, 양자화 과정에서 발생된 것인지 여부를 판단하기 위한 기준에 해당할 수 있다.
미리 설정된 조건들에는 블록 경계를 형성하는 블록들(대상블록들) 중 하나 이상에 non-zero 변환계수가 존재하는지 여부에 대한 제1조건, 대상블록들이 서로 다른 참조픽처를 참조하거나, 서로 다른 수의 움직임벡터를 사용하여 예측을 수행하는지 여부에 대한 제2조건, 대상블록들이 사용하는 움직임벡터들 간의 가로축 방향 성분의 차이(절대 값) 또는 세로축 방향 성분의 차이(절대 값)가 미리 설정된 값(예를 들어, '4') 이상인지 여부에 대한 제3조건, 대상블록들이 서로 다른 수의 움직임벡터를 사용하여 예측을 수행하는지 여부에 대한 제4조건 등이 포함될 수 있다.
또한, 미리 설정된 조건들에는 대상블록들의 예측 모드에 기반한 조건이 더 포함될 수 있다. 예를 들어, 미리 설정된 조건들에는 대상블록들 중 하나 이상이 인트라 모드로 예측되었는지 여부, 대상블록들 중 P 블록의 예측모드와 Q 블록의 예측모드가 서로 다른지 여부, 대상블록들이 ibc(intra block copy) 모드로 부호화되었는지 여부 등이 더 포함될 수 있다. 실시형태에 따라, 'P 블록의 예측모드와 Q 블록의 예측모드가 서로 다른지 여부'는 '대상블록들 중 하나 이상의 인트라 모드로 예측되었는지 여부'가 판단된 후에 판단될 수 있다. 예를 들어, P 블록과 Q 블록이 모두 인트라 모드로 예측되지 않은 경우에, P 블록 및 Q 블록 중에서 어느 하나가 ibc 모드로 예측되고 다른 하나가 인터 모드로 예측되었다면, 해당 조건이 만족되는 것으로 판단될 수 있다.
두 블록(대상블록들) 모두에 non-zero 변환계수가 포함되어 있지 않으면(즉, 모든 변환계수가 zero이면), 영상의 복원은 움직임 보상된 값(예측된 값)으로만 수행되므로 에지에서 픽셀 값의 불연속이 발생될 가능성이 낮다. 제1조건은 이러한 점을 판단하기 위한 조건에 해당할 수 있다.
그러나, non-zero 변환계수가 포함되어 있지 않은 경우라도, 대상블록들이 서로 다른 참조픽처를 참조하여 움직임 보상을 수행하면 픽셀 값의 불연속이 발생할 수 있다. 또한, 대상블록들이 서로 다른 개수의 움직임벡터를 사용하거나 서로 다른 움직임벡터를 사용하는 경우에도 픽셀 값의 불연속이 발생할 수 있다. 제2조건 내지 제4조건은 이러한 점을 판단하기 위한 조건에 해당할 수 있다.
강도설정부(720)는 미리 설정된 조건들 중 하나 이상과 블록 경계의 타입을 이용하여 해당 에지의 경계 강도를 설정할 수 있다. 또한, 강도설정부(720)는 미리 설정된 조건들 중 둘 이상의 조합과 블록 경계의 타입을 이용하여 해당 에지의 경계 강도를 설정할 수 있다.
경계 강도가 설정되면, 필터링실행부(730)는 설정된 경계 강도를 기반으로 해당 에지에 대해 필터링을 수행할 수 있다(S830 내지 S860). 필터링실행부(730)는 앞서 설명된 'β 및 tc 결정','필터 on/off 결정', '강한/약한 필터 선택' 등을 수행하여 필터링을 수행할 수 있다.
먼저, 도출부(732)는 대상블록들에서 사용된 양자화 파라미터(QP
P 및 QP
Q)를 이용하여 루마용 중간 값(qP
L, 또는 루마용 평균 값)과 크로마용 중간 값(qP
C, 또는 크로마용 평균 값)을 도출할 수 있다(S830). 이 과정은 아래 수학식 1 및 2를 통해 구현될 수 있다.
위 수학식 2에서, cQ
PPicOffset은 크로마에 대해 적응적으로(adaptive) 필터를 적용하기 위해 사용되는 오프셋으로서, picture-level header로 전송될 수 있다. 실시형태에 따라, 양자화 파라미터들(QP
P 및 QP
Q)을 평균한 값에 오프셋 값을 적용하여 루마용 중간 값(qP
L)이 도출될 수 있다. 오프셋 값을 더 이용하여 루마용 중간 값을 도출하는 실시예에 대해서는 후술하도록 한다.
중간 값들이 도출되면, 도출부(732)는 두 개의 파라미터(β 및 tc)를 도출하기 위한 변수 Q값을 두 개의 파라미터 각각에 대해 연산하는 과정을 수행할 수 있다(S830). 파라미터 β를 도출하는 과정은 아래 수학식 3 및 4 중에서 어느 하나를 통해 구현될 수 있으며, tc를 도출하는 과정은 아래 수학식 5 및 6 중에서 어느 하나를 통해 구현될 수 있다.
위 수학식 3 내지 6에서, slice_beta_offset_div2 및 slice_tc_offset_div2는 slice(또는, tile, tile group) header를 통해 전송되는 값이며, bS는 경계 강도를 의미한다.
Q 값들이 도출되면, 도출부(732)는 두 개의 Q 값을 룩업 테이블에 적용하여 β'및 tc'를 도출할 수 있다(S830). 룩업 테이블은 아래 표 1 및 표 2 중에서 어느 하나일 수 있다. 표 2의 룩업 테이블은 Q 값의 최대 값이 확장됨을 반영한 것이다(수학식 4 및 6).
β'및 tc'이 도출되면, 도출부(732)는 β'및 tc'의 값에 bit-depth를 적용하여 두 개의 파라미터(β 및 tc)를 도출할 수 있다(S830). 이 과정은 아래 수학식 7 및 8을 통해 구현될 수 있다.
온오프결정부(734)는 도출부(732)로부터 도출된 파라미터들과 경계 강도를 기초로, 해당 에지에 필터를 적용할지 여부(on/off)를 결정할 수 있다(S840). 루마블록에 대한 필터의 적용 여부는 대상블록들에 포함된 픽셀들로 구성되는 라인들 중에서 4개의 라인 별로 결정될 수 있다.
예를 들어, 도 10에 표현된 바와 같이, 8x8 크기의 대상블록들(P 블록 및 Q 블록)에 포함된 픽셀들을 표현하면, 세로축 방향으로 총 8개의 픽셀 라인이 결정될 수 있다. 온오프결정부(734)는 0번째 라인부터 3번째 라인(1점 쇄선으로 표현된 박스)까지의 필터 적용 여부를 함께 결정하고, 4번째 라인부터 7번째 라인(실선으로 표현된 박스)까지의 필터 적용 여부를 함께 결정할 수 있다.
필터 적용 여부를 결정하는 수식은 아래 수학식 9 및 10과 같다. 수학식 9는 0번째 라인부터 3번째 라인까지의 필터 적용 여부를 결정하는 수식이며, 수학식 10은 4번째 라인부터 7번째 라인까지의 필터 적용 여부를 결정하는 수식이다. 수학식 9 및 10에서 요구되는 두 가지 조건이 모두 만족되면, 해당 에지에 대해 필터가 적용되게 된다.
크로마 블록에 대한 필터의 적용 여부는 경계 강도 값을 통해 결정될 수 있다. 경계 강도 값이 1을 초과하면, 해당 크로마 블록의 에지에 대해 필터링이 수행될 수 있다. 즉, 크로마 블록의 경우에는 대상블록들 중 하나 이상이 인트라 모드로 부호화된 경우에만 필터가 적용되게 된다.
필터의 적용 여부가 결정되면, 필터선택부(736)는 강한 필터 및 약한 필터 중 어느 하나를 선택할 수 있다(S860). 강한 필터 또는 약한 필터의 선택도 도 10에 표현된 4개의 픽셀 라인 별로 결정될 수 있다. 필터의 강약을 결정하는 수식은 아래 수학식 11 및 12와 같다. 수학식 11은 0번째 라인부터 3번째 라인까지 적용되고, 수학식 12는 4번째 라인부터 7번째 라인까지 적용된다. 수학식 11 및 12에서 요구되는 세 가지 조건이 모두 만족되면, 해당 에지에 대해 강한 필터가 적용되고, 그 외의 경우에는 약한 필터가 적용되게 된다. 크로마 블록에 대한 필터는 한 가지만 존재한다.
위 과정들을 거쳐 필터의 적용 여부와 필터의 종류가 결정되면, 필터링실행부(730)는 해당 에지에 필터링을 적용할 수 있다(S860). 루마 블록에 강한 필터링이 적용되는 경우에는 대상블록들의 경계에 인접한 3개의 픽셀(총 6개의 픽셀)이 필터링될 수 있으며, 약한 필터링이 적용되는 경우에는 경계에 인접한 2개의 픽셀(총 4개의 픽셀)이 필터링될 수 있다. 크로마 블록의 경우에는 필터의 종류가 한 가지이므로, 경계에 인접한 2개의 픽셀(총 4개의 픽셀)이 필터링될 수 있다.
이하에서는 본 발명에서 제안하는 다양한 실시예들에 대해 구체적으로 설명하도록 한다.
실시예 1
실시예 1은 변환블록 경계와 기본블록 경계를 대상으로 미리 설정된 조건들을 적용하여 경계 강도를 설정하는 방법에 해당한다.
도 11에 도시된 바와 같이, 영상 부호화/복호화 장치는 블록 경계가 변환블록 경계(TB)에 해당하면서, 변환블록 경계(TB)를 형성하는 대상블록들이 제1조건(대상블록들 중 하나 이상에 non-zero 변환계수가 존재)을 만족하는 경우에(S1120) 경계 강도를 제1값(예를 들어, “1”)으로 설정할 수 있다(S1125).
또한, 영상 부호화/복호화 장치는 블록 경계가 기본블록 경계(FB)에 해당하면서, 기본블록 경계(FB)를 형성하는 대상블록들이 제2조건(대상블록들이 서로 다른 참조픽처를 참조하거나 서로 다른 수의 움직임벡터를 사용하여 예측을 수행)을 만족하는 경우에(S1130) 경계 강도를 제1값으로 설정할 수 있다(S1125).
나아가, 영상 부호화/복호화 장치는 블록 경계가 기본블록 경계(FB)에 해당하면서, 기본블록 경계(FB)를 형성하는 대상블록들이 제3조건(대상블록들이 사용하는 움직임벡터들 간의 가로축 방향 성분의 차이 또는 세로축 방향 성분의 차이가 미리 설정된 값 이상)을 만족하는 경우에(S1140) 경계 강도를 제1값으로 설정할 수 있다(S1125).
영상 부호화/복호화 장치는 S1120 과정 내지 S1130 과정을 순차적으로 판단하여, 모든 과정들이 만족되지 않는 것으로 판단되면, 경계 강도를 제0값(예를 들어, “0”)으로 설정할 수 있다(S1145). 이 경우, 해당 에지에 대해 필터링이 적용되지 않을 수 있다.
실시형태에 따라, 영상 부호화/복호화 장치는 블록 경계가 기본블록 경계(FB)에 해당하면서, 기본블록 경계(FB)를 형성하는 대상블록들이 제5조건(대상블록들 중 하나 이상이 인트라 모드로 예측)을 만족하는지 여부를 판단할 수 있다(S1110). 제5조건이 만족되는 것으로 판단되면, 영상 부호화/복호화 장치는 경계 강도를 제2값(예를 들어, “2”)으로 설정할 수 있다(S1115). 영상 부호화/복호화 장치는 제5조건이 만족되지 않는 것으로 판단되는 경우에 S1120 과정 내지 S1140 과정을 수행할 수도 있다.
기본블록의 경계(FB)에 포함되는 서브블록 경계(SB)와 관련하여, 서브블록 경계(SB)를 형성하는 대상블록들은 서로 다르거나 서로 동일한 참조픽처를 참조할 수 있다. S1130 과정은 제2조건(대상블록들이 서로 다른 참조픽처를 참조함)의 만족 여부를 판단하므로, 대상블록들이 서로 다른 참조픽처를 참조하거나 서로 같은 참조픽처를 참조하는 모든 경우를 처리할 수 있다.
실시예 1에서는 기본블록 경계(FB)에 대한 판단을 통해, 예측블록 경계(PB)와 서브블록 경계(SB)에 대한 판단을 일거에 수행할 수 있다. 따라서, 실시예 1은 경계 강도를 설정하는 과정을 단순화시킬 수 있다.
실시예 2
실시예 2는 변환블록 경계(TB), 예측블록 경계(PB) 및 서브블록 경계(SB)를 대상으로 미리 설정된 조건들을 적용하여 경계 강도를 설정하는 방법에 해당한다. 즉, 실시예 2는 실시예 1에서 기본블록 경계(FB)를 예측블록 경계(PB) 및 서브블록 경계(SB)로 구분하여 판단하는 방법에 해당한다.
도 12에 도시된 바와 같이, 영상 부호화/복호화 장치는 블록 경계가 변환블록 경계(TB)에 해당하면서, 변환블록 경계(TB)를 형성하는 대상블록들이 제1조건(대상블록들 중 하나 이상에 non-zero 변환계수가 존재)을 만족하는 경우에(S1220) 경계 강도를 제1값으로 설정할 수 있다(S1225).
또한, 영상 부호화/복호화 장치는 블록 경계가 예측블록 경계(PB)에 해당하면서, 예측블록 경계(PB)를 형성하는 대상블록들이 제2조건(대상블록들이 서로 다른 참조픽처를 참조하거나 서로 다른 수의 움직임벡터를 사용하여 예측을 수행)을 만족하는 경우에(S1230) 경계 강도를 제1값으로 설정할 수 있다(S1225).
또한, 영상 부호화/복호화 장치는 블록 경계가 예측블록 경계(PB)에 해당하면서, 예측블록 경계(PB)를 형성하는 대상블록들이 제3조건(대상블록들이 사용하는 움직임벡터들 간의 가로축 방향 성분의 차이 또는 세로축 방향 성분의 차이가 미리 설정된 값 이상)을 만족하는 경우에(S1240) 경계 강도를 제1값으로 설정할 수 있다(S1225).
또한, 영상 부호화/복호화 장치는 블록 경계가 서브블록 경계(SB)에 해당하면서, 서브블록 경계(SB)를 형성하는 대상블록들이 제4조건(대상블록들이 서로 다른 수의 움직임벡터를 사용하여 예측을 수행)을 만족하는 경우에(S1250) 경계 강도를 제1값으로 설정할 수 있다(S1225).
나아가, 영상 부호화/복호화 장치는 블록 경계가 서브블록 경계(SB)에 해당하면서, 서브블록 경계(SB)를 형성하는 대상블록들이 제3조건을 만족하는 경우에(S1260) 경계 강도를 제1값으로 설정할 수 있다(S1225).
영상 부호화/복호화 장치는 S1220 과정 내지 S1260 과정을 순차적으로 판단하여, 모든 과정들이 만족되지 않는 것으로 판단되면, 경계 강도를 제0값으로 설정할 수 있다(S1265). 이 경우, 해당 에지에 대해 필터링이 적용되지 않을 수 있다.
실시형태에 따라, 영상 부호화/복호화 장치는 블록 경계가 예측블록 경계(PB)에 해당하면서, 예측블록 경계(PB)를 형성하는 대상블록들이 제5조건(대상블록들 중 하나 이상이 인트라 모드로 예측)을 만족하는지 여부를 판단할 수 있다(S1210). 제5조건이 만족되는 것으로 판단되면, 영상 부호화/복호화 장치는 경계 강도를 제2값으로 설정할 수 있다(S1215). 영상 부호화/복호화 장치는 제5조건이 만족되지 않는 것으로 판단되는 경우에 S1220 과정 내지 S1260 과정을 수행할 수 있다.
실시예 2에서, 예측블록 경계(PB)의 경우에는 제2조건(대상블록들이 서로 다른 참조픽처를 참조)의 만족 여부를 판단하나, 서브블록 경계(SB)의 경우에는 제2조건의 만족 여부를 판단하지 않는다. 따라서, 실시예 2는 예측블록 경계(PB)를 형성하는 대상블록들의 참조픽처가 서로 다를 수 있으나, 서브블록 경계(SB)를 형성하는 대상블록들의 참조픽처가 서로 동일함을 내포하고 있다.
실시예 3
실시예 3은 변환 과정이 적용되지 않은 서브블록들의 경계(서브블록 경계(SB))에 대해 경계 강도를 설정하는 방법에 해당한다.
코딩블록 또는 예측블록 내 존재하는 서브블록들이 움직임 보상되고 난 후에 변환 과정을 거치면서 이 서브블록들의 패턴이 합쳐질 수 있다. 그러나, 서브블록들이 변환 과정을 거치지 않는 경우에는 서브블록들의 예측 패턴이 그대로 유지되어 서브블록 경계(SB) 사이에 디블록킹 현상이 발생 또는 강조될 수 있다. 본 발명은 실시예 3을 통해, 변환 과정이 적용되지 않은 서브블록 경계(SB)에 대한 경계 강도를 설정함으로써, 이 서브블록 경계(SB)에 필터링이 적용되도록 하는 방법을 제안한다.
변환 과정이 적용되지 않는 경우에는 변환 과정이 스킵(skip)되는 transform skip 모드, 변환 및 양자화 과정이 모두 스킵되는 trans-quant bypass 모드, 변환계수가 모두 zero이어서 변환 및 양자화 과정이 모두 스킵되는 스킵모드 등이 포함될 수 있다.
도 13에 도시된 바와 같이, 영상 부호화/복호화 장치는 해당 에지가 서브블록 경계(SB)에 해당하는지 여부를 판단할 수 있다(S1310). 해당 에지가 서브블록 경계(SB)에 해당하면, 영상 부호화/복호화 장치는 대상블록들에 변환 과정이 적용되었는지 여부를 판단할 수 있다(S1320 내지 S1340).
구체적으로, 영상 부호화/복호화 장치는 대상블록들에 transform skip 모드가 적용되는지 여부(S1320), trans-quant bypass 모드가 적용되는지 여부(S1330) 및 스킵모드가 적용되는지 여부(S1340) 중 하나 이상을 판단하여 대상블록들에 변환 과정이 적용되는지 여부를 판단할 수 있다.
영상 부호화/복호화 장치는 대상블록들에 변환 과정이 적용되지 않는 것으로 판단되면 디블록킹 현상을 감소시키기 위하여 해당 에지의 경계 강도를 제1값으로 설정할 수 있다(S1325). 이와 달리, 영상 부호화/복호화 장치는 대상블록들에 변환 과정이 적용된 것으로 판단되면 해당 에지의 경계 강도를 제0값으로 설정할 수 있다(S1345).
S1320 과정은 transform skip 모드의 적용 여부를 지시하는 정보(예를 들어, transform_skip_flag)에 의해 수행될 수 있다. transform_skip_flag=1이면 transform skip 모드가 적용됨(변환 과정이 스킵됨)을 의미할 수 있고, transform_skip_flag=0이면 transform skip 모드가 적용되지 않음(변환 과정이 스킵되지 않음)을 의미할 수 있다.
S1330 과정은 trans-quant bypass 모드의 적용 여부를 지시하는 정보(예를 들어, cu_transquant_bypass_flag)에 의해 수행될 수 있다. cu_transquant_bypass_flag=1이면 trans-quant bypass 모드가 적용됨(변환 및 양자화 과정이 스킵됨)을 의미할 수 있고, cu_transquant_bypass_flag=0이면 trans-quant bypass 모드가 적용되지 않음(변환 및 양자화 과정이 스킵되지 않음)을 의미할 수 있다.
S1340 과정은 스킵모드의 적용 여부를 지시하는 정보(예를 들어, cbf)에 의해 수행될 수 있다. cbf=1이면 스킵모드가 적용되지 않음(변환 및 양자화 과정이 스킵되지 않음)을 의미할 수 있고, cbf=0이면 스킵모드가 적용됨(변환 및 양자화 과정이 스킵됨)을 의미할 수 있다.
실시예 4
실시예 4는 오프셋 값을 적용하여 루마용 중간 값(qP
L)을 도출하는 방법에 해당한다.
전술된 바와 같이, 루마용 중간 값(qP
L)은 대상블록들의 양자화 파라미터들(QP
P 및 QP
Q)을 평균하여 도출될 수 있다. 실시형태에 따라(실시에 4에 따라), 루마용 중간 값은 대상블록들의 양자화 파라미터들을 평균한 값에 오프셋 값(오프셋 정보)을 적용하여 도출될 수 있다. 오프셋 값은 루마용 중간 값을 조절하여 필터 강도를 adaptive하게 조정하기 위한 정보 또는 값에 해당한다.
양자화 파라미터들의 평균 값에 오프셋 값을 적용하는 수식은 아래 수학식 13과 같다.
위 수학식 13에서, qP는 루마용 중간 값을 나타내며, qpOffset은 오프셋 값을 나타낸다. 오프셋 값은 picture-level header, sequence-level header, tile group header, tile header 중 하나 이상의 위치에서 전송될 수 있다.
실시형태에 따라, 영상 부호화/복호화 장치는 다른 조건에 대한 판단 없이 양자화 파라미터들의 평균 값에 오프셋 값을 적용하여 루마용 중간 값을 도출하거나, 다른 조건이 만족되는 경우에 양자화 파라미터들의 평균 값에 오프셋 값을 적용하여 루마용 중간 값을 도출할 수도 있다.
다른 조건에 대한 일 예로, 영상 부호화/복호화 장치는 대상블록들의 루마 레벨이 임계 값을 초과하거나 이 임계 값 이상인 경우에, 오프셋 값을 양자화 파라미터들의 평균 값에 적용하여 루마용 중간 값을 도출할 수 있다. 루마 레벨은 대상블록들에 포함된 픽셀 값들의 평균 값에 해당할 수 있다. 예를 들어, 루마 레벨은 0번째 픽셀 라인에 포함된 하나 이상의 픽셀과 3번째 픽셀 라인에 포함된 하나 이상의 픽셀에 대한 평균 값에 해당할 수 있다. 루마 레벨과의 비교 대상에 해당하는 임계 값에 대한 정보는 picture-level header, sequence-level header, tile group header, tile header 중 하나 이상의 위치에서 전송될 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는, 2018년 12월 13일에 한국에 출원한 특허출원번호 제10-2018-0161235호 및, 2019년 11월 22일에 한국에 출원한 특허출원번호 제10-2019-0151590호에 대해 우선권을 주장한다.
Claims (17)
- 필터링 방법으로서,복원된 영상을 대상으로, 필터링이 적용될 하나 이상의 블록 경계(boundary)를 결정하는 단계;상기 블록 경계의 타입 및 미리 설정된 조건들을 기준으로, 상기 블록 경계의 경계 강도(strength)를 설정하는 단계; 및상기 설정된 경계 강도를 기반으로, 필터링을 수행하는 단계를 포함하는 필터링 방법.
- 제1항에 있어서,상기 미리 설정된 조건들은,상기 블록 경계를 형성하는 대상블록들 중 하나 이상에 non-zero 변환계수가 존재하는지 여부에 대한 제1조건, 상기 대상블록들이 서로 다른 참조픽처를 참조하거나 서로 다른 수의 움직임벡터를 사용하여 예측을 수행하는지 여부에 대한 제2조건 및, 상기 대상블록들이 사용하는 움직임벡터들 간의 가로축 방향 성분의 차이 또는 세로축 방향 성분의 차이가 미리 설정된 값 이상인지 여부에 대한 제3조건을 포함하는, 필터링 방법.
- 제2항에 있어서,상기 블록 경계의 타입은,변환블록 경계 및 기본(fundamental)블록 경계를 포함하고,상기 경계 강도를 설정하는 단계는,상기 블록 경계가 상기 변환블록 경계에 해당하며 상기 대상블록이 상기 제1조건을 만족하거나, 상기 블록 경계가 상기 기본블록 경계에 해당하며 상기 대상블록이 상기 제2조건 또는 상기 제3조건을 만족하는 경우, 상기 경계 강도를 제1값으로 설정하는, 필터링 방법.
- 제2항에 있어서,상기 미리 설정된 조건들은,상기 대상블록들이 서로 다른 수의 움직임벡터를 사용하여 예측을 수행하는지 여부에 대한 제4조건을 더 포함하고,상기 블록 경계의 타입은,변환블록 경계, 예측블록 경계 및 서브블록 경계를 포함하며,상기 경계 강도를 설정하는 단계는,상기 블록 경계가 상기 변환블록 경계에 해당하며 상기 대상블록이 상기 제1조건을 만족하거나, 상기 블록 경계가 상기 예측블록 경계에 해당하며 상기 대상블록이 상기 제2조건 또는 상기 제3조건을 만족하거나, 상기 블록 경계가 상기 서브블록 경계에 해당하며 상기 대상블록이 상기 제3조건 또는 상기 제4조건을 만족하는 경우, 상기 경계 강도를 제1값으로 설정하는, 필터링 방법.
- 제1항에 있어서,상기 블록 경계의 타입은,서브블록 경계를 포함하고,상기 미리 설정된 조건들은,상기 블록 경계를 형성하는 대상블록들에 변환 과정이 적용되지 않았는지 여부에 대한 제5조건을 포함하고,상기 경계 강도를 설정하는 단계는,상기 블록 경계가 상기 서브블록 경계에 해당하며 상기 대상블록이 상기 제5조건을 만족하는 경우, 상기 경계 강도를 제1값으로 설정하는, 필터링 방법.
- 제1항에 있어서,상기 필터링을 수행하는 단계는,상기 블록 경계를 형성하는 대상블록들의 양자화 파라미터들을 평균한 값에 오프셋정보를 적용하여, 상기 양자화 파라미터들의 루마(luma) 평균 값을 도출하는 단계를 포함하는, 필터링 방법.
- 제1항에 있어서,상기 미리 설정된 조건들은,상기 대상블록들의 예측 모드에 기반한 조건을 포함하는, 필터링 방법.
- 제7항에 있어서,상기 블록 경계의 타입은,서브블록 경계를 포함하며,상기 경계 강도를 설정하는 단계는,상기 블록 경계가 상기 서브블록 경계에 해당하며 상기 대상블록들의 예측 모드가 서로 다른 경우에, 상기 경계 강도를 제1값으로 설정하는, 필터링 방법.
- 영상 복호화 장치로서,복원된 영상을 대상으로, 필터링이 적용될 하나 이상의 블록 경계(boundary)를 결정하는 경계결정부;상기 블록 경계의 타입 및 미리 설정된 조건들을 기준으로, 상기 블록 경계의 경계 강도(strength)를 설정하는 강도설정부; 및상기 설정된 경계 강도를 기반으로, 필터링을 수행하는 필터링수행부를 포함하는 영상 복호화 장치.
- 제9항에 있어서,상기 미리 설정된 조건들은,상기 블록 경계를 형성하는 대상블록들 중 하나 이상에 non-zero 변환계수가 존재하는지 여부에 대한 제1조건, 상기 대상블록들이 서로 다른 참조픽처를 참조하거나 서로 다른 수의 움직임벡터를 사용하여 예측을 수행하는지 여부에 대한 제2조건 및, 상기 대상블록들이 사용하는 움직임벡터들 간의 가로축 방향 성분의 차이 또는 세로축 방향 성분의 차이가 미리 설정된 값 이상인지 여부에 대한 제3조건을 포함하는, 영상 복호화 장치.
- 제10항에 있어서,상기 블록 경계의 타입은,변환블록 경계 및 기본(fundamental)블록 경계를 포함하고,상기 강도설정부는,상기 블록 경계가 상기 변환블록 경계에 해당하며 상기 대상블록이 상기 제1조건을 만족하거나, 상기 블록 경계가 상기 기본블록 경계에 해당하며 상기 대상블록이 상기 제2조건 또는 상기 제3조건을 만족하는 경우, 상기 경계 강도를 제1값으로 설정하는, 영상 복호화 장치.
- 제10항에 있어서,상기 미리 설정된 조건들은,상기 대상블록들이 서로 다른 수의 움직임벡터를 사용하여 예측을 수행하는지 여부에 대한 제4조건을 더 포함하고,상기 블록 경계의 타입은,변환블록 경계, 예측블록 경계 및 서브블록 경계를 포함하며,상기 강도설정부는,상기 블록 경계가 상기 변환블록 경계에 해당하며 상기 대상블록이 상기 제1조건을 만족하거나, 상기 블록 경계가 상기 예측블록 경계에 해당하며 상기 대상블록이 상기 제2조건 또는 상기 제3조건을 만족하거나, 상기 블록 경계가 상기 서브블록 경계에 해당하며 상기 대상블록이 상기 제3조건 또는 상기 제4조건을 만족하는 경우, 상기 경계 강도를 제1값으로 설정하는, 영상 복호화 장치.
- 제9항에 있어서,상기 블록 경계의 타입은,서브블록 경계를 포함하고,상기 미리 설정된 조건들은,상기 블록 경계를 형성하는 대상블록들에 변환 과정이 적용되지 않았는지 여부에 대한 제5조건을 포함하고,상기 강도설정부는,상기 블록 경계가 상기 서브블록 경계에 해당하며 상기 대상블록이 상기 제5조건을 만족하는 경우, 상기 경계 강도를 제1값으로 설정하는, 영상 복호화 장치.
- 제9항에 있어서,상기 필터링수행부는,상기 블록 경계를 형성하는 대상블록들의 양자화 파라미터들을 평균한 값에 오프셋정보를 적용하여, 상기 양자화 파라미터들의 루마(luma) 평균 값을 도출하는 도출부를 포함하는, 영상 복호화 장치.
- 제9항에 있어서,상기 미리 설정된 조건들은,상기 대상블록들의 예측 모드에 기반한 조건을 더 포함하는, 영상 복호화 장치.
- 제15항에 있어서,상기 블록 경계의 타입은,서브블록 경계를 포함하며,상기 강도설정부는,상기 블록 경계가 상기 서브블록 경계에 해당하며 상기 대상블록들의 예측 모드가 서로 다른 경우에, 상기 경계 강도를 제1값으로 설정하는, 영상 복호화 장치.
- 영상 부호화 장치로서,복원된 영상을 대상으로, 필터링이 적용될 하나 이상의 블록 경계(boundary)를 결정하는 경계결정부;상기 블록 경계의 타입 및 미리 설정된 조건들을 기준으로, 상기 블록 경계의 경계 강도(strength)를 설정하는 강도설정부; 및상기 설정된 경계 강도를 기반으로, 필터링을 수행하는 필터링수행부를 포함하는 영상 부호화 장치.
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410304660.2A CN118042170A (zh) | 2018-12-13 | 2019-12-11 | 视频编码设备、视频解码方法和发送设备 |
CN201980091496.9A CN113424544B (zh) | 2018-12-13 | 2019-12-11 | 滤波方法及图像解码装置 |
CN202410304662.1A CN118042171A (zh) | 2018-12-13 | 2019-12-11 | 滤波方法、视频解码设备和发送方法 |
CN202410304665.5A CN118042172A (zh) | 2018-12-13 | 2019-12-11 | 视频编码设备、视频解码方法和发送设备 |
CN202410304659.XA CN118042169A (zh) | 2018-12-13 | 2019-12-11 | 视频编码方法、视频解码方法和发送方法 |
US17/346,415 US11546589B2 (en) | 2018-12-13 | 2021-06-14 | Filtering method and video decoding apparatus |
US17/994,189 US20230087432A1 (en) | 2018-12-13 | 2022-11-25 | Filtering method and video decoding apparatus |
US17/994,183 US20230090641A1 (en) | 2018-12-13 | 2022-11-25 | Filtering method and video decoding apparatus |
US17/994,194 US20230105142A1 (en) | 2018-12-13 | 2022-11-25 | Filtering method and video decoding apparatus |
US17/994,190 US20230095255A1 (en) | 2018-12-13 | 2022-11-25 | Filtering method and video decoding apparatus |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20180161235 | 2018-12-13 | ||
KR10-2018-0161235 | 2018-12-13 | ||
KR1020190151590A KR20200073124A (ko) | 2018-12-13 | 2019-11-22 | 필터링 방법 및 영상 복호화 장치 |
KR10-2019-0151590 | 2019-11-22 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/346,415 Continuation US11546589B2 (en) | 2018-12-13 | 2021-06-14 | Filtering method and video decoding apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020122573A1 true WO2020122573A1 (ko) | 2020-06-18 |
Family
ID=71077464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2019/017442 WO2020122573A1 (ko) | 2018-12-13 | 2019-12-11 | 필터링 방법 및 영상 복호화 장치 |
Country Status (3)
Country | Link |
---|---|
US (4) | US20230095255A1 (ko) |
CN (4) | CN118042172A (ko) |
WO (1) | WO2020122573A1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020122573A1 (ko) * | 2018-12-13 | 2020-06-18 | 에스케이텔레콤 주식회사 | 필터링 방법 및 영상 복호화 장치 |
WO2020228662A1 (en) * | 2019-05-11 | 2020-11-19 | Beijing Bytedance Network Technology Co., Ltd. | Boundary strength determination for deblocking filters in video processing |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160068288A (ko) * | 2014-12-05 | 2016-06-15 | 성균관대학교산학협력단 | 변환생략을 참조하는 디블록킹 필터링을 이용한 영상의 부호화/복호화 방법 및 이를 이용하는 장치 |
JP2017069810A (ja) * | 2015-09-30 | 2017-04-06 | Kddi株式会社 | 動画像の処理装置、処理方法及びコンピュータ可読記憶媒体 |
KR20170110557A (ko) * | 2015-06-11 | 2017-10-11 | 인텔렉추얼디스커버리 주식회사 | 적응적인 디블록킹 필터링을 이용하는 영상 부호화 방법과 영상 복호화 방법 및 장치 |
JP2018082498A (ja) * | 2011-06-30 | 2018-05-24 | 三菱電機株式会社 | 画像符号化装置、画像符号化方法、画像復号装置および画像復号方法 |
KR20180107778A (ko) * | 2016-01-29 | 2018-10-02 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 디블로킹 필터 방법 및 장치 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2775711B1 (en) * | 2011-11-04 | 2020-01-01 | LG Electronics Inc. | Method and apparatus for encoding/decoding image information |
WO2014078068A1 (en) * | 2012-11-13 | 2014-05-22 | Intel Corporation | Content adaptive transform coding for next generation video |
US10306246B2 (en) * | 2015-02-13 | 2019-05-28 | Mediatek Inc. | Method and apparatus of loop filters for efficient hardware implementation |
WO2020122573A1 (ko) * | 2018-12-13 | 2020-06-18 | 에스케이텔레콤 주식회사 | 필터링 방법 및 영상 복호화 장치 |
KR20200073124A (ko) * | 2018-12-13 | 2020-06-23 | 에스케이텔레콤 주식회사 | 필터링 방법 및 영상 복호화 장치 |
-
2019
- 2019-12-11 WO PCT/KR2019/017442 patent/WO2020122573A1/ko active Application Filing
- 2019-12-11 CN CN202410304665.5A patent/CN118042172A/zh active Pending
- 2019-12-11 CN CN202410304662.1A patent/CN118042171A/zh active Pending
- 2019-12-11 CN CN202410304660.2A patent/CN118042170A/zh active Pending
- 2019-12-11 CN CN202410304659.XA patent/CN118042169A/zh active Pending
-
2022
- 2022-11-25 US US17/994,190 patent/US20230095255A1/en active Pending
- 2022-11-25 US US17/994,189 patent/US20230087432A1/en active Pending
- 2022-11-25 US US17/994,183 patent/US20230090641A1/en active Pending
- 2022-11-25 US US17/994,194 patent/US20230105142A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018082498A (ja) * | 2011-06-30 | 2018-05-24 | 三菱電機株式会社 | 画像符号化装置、画像符号化方法、画像復号装置および画像復号方法 |
KR20160068288A (ko) * | 2014-12-05 | 2016-06-15 | 성균관대학교산학협력단 | 변환생략을 참조하는 디블록킹 필터링을 이용한 영상의 부호화/복호화 방법 및 이를 이용하는 장치 |
KR20170110557A (ko) * | 2015-06-11 | 2017-10-11 | 인텔렉추얼디스커버리 주식회사 | 적응적인 디블록킹 필터링을 이용하는 영상 부호화 방법과 영상 복호화 방법 및 장치 |
JP2017069810A (ja) * | 2015-09-30 | 2017-04-06 | Kddi株式会社 | 動画像の処理装置、処理方法及びコンピュータ可読記憶媒体 |
KR20180107778A (ko) * | 2016-01-29 | 2018-10-02 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 디블로킹 필터 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
CN118042170A (zh) | 2024-05-14 |
CN118042172A (zh) | 2024-05-14 |
US20230105142A1 (en) | 2023-04-06 |
US20230087432A1 (en) | 2023-03-23 |
CN118042171A (zh) | 2024-05-14 |
CN118042169A (zh) | 2024-05-14 |
US20230090641A1 (en) | 2023-03-23 |
US20230095255A1 (en) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018044088A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2020185004A1 (ko) | 예측 유닛을 서브 유닛들로 분할하여 예측하는 인트라 예측 방법 및 장치 | |
WO2018236028A1 (ko) | 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
WO2012023762A2 (ko) | 인트라 예측 복호화 방법 | |
WO2012148138A2 (ko) | 인트라 예측 방법과 이를 이용한 부호화기 및 복호화기 | |
WO2019240448A1 (ko) | 성분 간 참조 기반의 비디오 신호 처리 방법 및 장치 | |
WO2013100635A1 (ko) | 3차원 영상 부호화 방법 및 장치, 및 복호화 방법 및 장치 | |
WO2013154366A1 (ko) | 블록 정보에 따른 변환 방법 및 이러한 방법을 사용하는 장치 | |
WO2018056702A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2018044089A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2016048092A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2016064123A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2020242145A1 (ko) | 적응적 파라미터 셋을 사용하는 비디오 코딩 방법 및 장치 | |
WO2021060804A1 (ko) | 크로마블록의 잔차블록 복원 방법 및 복호화 장치 | |
WO2019143103A1 (ko) | 다양한 변환 기술을 사용하는 비디오 코딩 방법 및 장치 | |
WO2021060801A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2020231228A1 (ko) | 영상 복호화 장치에서 이용하는 역양자화장치 및 방법 | |
WO2020122573A1 (ko) | 필터링 방법 및 영상 복호화 장치 | |
WO2019135630A1 (ko) | 변환 계수의 부호 데이터 은닉 | |
WO2020242181A1 (ko) | 인트라 모드 후보 구성 방법 및 영상 복호화 장치 | |
WO2018070723A1 (ko) | 영상의 부호화/복호화 방법 및 이를 위한 장치 | |
WO2020185027A1 (ko) | 데이터 블록에 변환 생략 모드를 효율적으로 적용하기 위한 방법 및 장치 | |
WO2020138958A1 (ko) | 양방향 예측 방법 및 영상 복호화 장치 | |
WO2016204479A1 (ko) | 영상의 부호화/복호화 방법 및 이를 위한 장치 | |
WO2023038447A1 (ko) | 비디오 부호화/복호화 방법 및 장치 |
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: 19895371 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19895371 Country of ref document: EP Kind code of ref document: A1 |