WO2020256510A1 - 코딩 툴들을 제어하는 방법 및 장치 - Google Patents
코딩 툴들을 제어하는 방법 및 장치 Download PDFInfo
- Publication number
- WO2020256510A1 WO2020256510A1 PCT/KR2020/008045 KR2020008045W WO2020256510A1 WO 2020256510 A1 WO2020256510 A1 WO 2020256510A1 KR 2020008045 W KR2020008045 W KR 2020008045W WO 2020256510 A1 WO2020256510 A1 WO 2020256510A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- flag
- coding tool
- sample
- section
- bitstream
- 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/127—Prioritisation of hardware or computational resources
-
- 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/186—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 colour or a chrominance component
-
- 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
-
- 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/136—Incoming video signal characteristics or properties
-
- 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/184—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 bits, e.g. of the compressed video stream
-
- 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/187—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 scalable video layer
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the present invention relates to encoding and decoding of an image, and more particularly, to a method and apparatus for improving encoding and decoding efficiency by organically controlling various coding tools used for encoding and decoding of an image.
- moving picture data Since moving picture data has a large amount of data compared to audio data or still image data, it requires a lot of hardware resources including memory in order to store or transmit itself without processing for compression.
- the moving picture data is compressed and stored or transmitted using an encoder, and the decoder receives the compressed moving picture data, decompresses and reproduces the compressed moving picture data.
- video compression technologies there are H.264/AVC and HEVC (High Efficiency Video Coding), which improves coding efficiency by about 40% compared to H.264/AVC.
- the present invention aims to provide an improved video encoding and decoding technology, and in particular, one aspect of the present invention controls on or off of various coding tools through a syntax element defined at a higher level. By doing so, it relates to a technique for improving the efficiency of encoding and decoding.
- One aspect of the present invention is the step of decoding an enable flag indicating whether one or more coding tools are enabled from a higher level of a bitstream-the one or more coding tools are a section linear model including a first coding tool for encoding sample values using luminance component mapping based on a piecewise linear model; According to the value of the enable flag, setting an application flag indicating whether to apply the one or more coding tools to a predetermined value or decoding from a lower level of the bitstream to obtain a value of the application flag-the
- the application flag includes a first application flag indicating whether to apply the first coding tool; If the value of the application flag is a value indicating that the one or more coding tools are applied, performing the one or more coding tools; and, in the performing of the one or more coding tools, the first application flag When the first coding tool is executed according to the value of, a luminance prediction sample mapped from a luminance prediction sample is generated based on the section linear model, and a luminance residual sample restored from the
- Another aspect of the present invention is an entropy decoder for decoding an enable flag indicating whether or not to enable one or more coding tools from a higher level of the bitstream-the one or more coding tools Including a first coding tool for encoding sample values using luminance component mapping based on a piecewise linear model;
- An acquisition unit that obtains a value of the application flag by setting an application flag indicating whether to apply the one or more coding tools to a predetermined value or decoding from a lower level of the bitstream according to the value of the enable flag-
- the application flag includes a first application flag indicating whether to apply the first coding tool;
- an execution unit that performs the one or more coding tools; and the execution unit comprises: the first application flag according to the value of the first application flag.
- a luminance prediction sample is generated from a luminance prediction sample based on the interval linear model, and a luminance residual sample reconstructed from the bitstream and the mapped luminance prediction sample are added to the luminance restoration sample.
- inverse mapping the luminance restoration sample using an inverse section linear model having an inverse relationship with the section linear model.
- 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.
- 3A is a diagram illustrating a plurality of intra prediction modes.
- 3B is a diagram illustrating a plurality of intra prediction modes including wide-angle intra prediction modes.
- FIG. 4 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure.
- FIG. 5 is an exemplary block diagram of an image decoding apparatus capable of controlling coding tools.
- FIG. 6 is a flowchart illustrating an example of a method of controlling coding tools.
- FIG. 7 and 8 are flowcharts illustrating various examples of a method of controlling coding tools.
- FIG. 9 is an exemplary block diagram for describing a first coding tool.
- FIG. 10 is an exemplary block diagram of an image decoding apparatus capable of performing a first coding tool.
- FIG. 11 is a flowchart illustrating an example of a method of controlling whether or not a first coding tool is executed.
- FIG. 12 is a flowchart illustrating an example of a method of deriving a mapped luminance prediction sample by a first coding tool.
- FIG. 13 is a flowchart illustrating an example of a method of deriving a scaling factor in a first coding tool.
- FIG. 14 is a flowchart illustrating an example of a method of deriving an inversely mapped luminance reconstructed sample by a first coding tool.
- FIG. 15 is a flowchart illustrating an example of a method of determining whether to perform scaling of a color difference residual sample in a first coding tool.
- 16 is a flowchart illustrating an example of a method of scaling a color difference residual sample in a first coding tool.
- 17 is a flowchart illustrating an example of a method of controlling whether or not a second coding tool is executed.
- 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-elements of the apparatus will be described with reference to FIG. 1.
- the image encoding apparatus includes a picture segmentation unit 110, a prediction unit 120, a subtractor 130, a transform unit 140, a quantization unit 145, a rearrangement unit 150, an entropy encoding unit 155, an inverse quantization unit. (160), an inverse transform unit 165, an adder 170, a filter unit 180, and a memory 190 may be included.
- Each component of the image encoding apparatus may be implemented by hardware or software, or by a combination of hardware and software.
- functions of each component may be implemented as software, and a microprocessor may be implemented to execute a 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 CUs (Coding Units) 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
- information commonly applied to all blocks in one slice is encoded as the syntax of the slice header, and information applied to all blocks constituting one picture is a picture parameter set (PPS) or picture. It is coded in the header. Further, information commonly referred to by a plurality of pictures is encoded in a sequence parameter set (SPS). In addition, information commonly referred to by one or more SPSs is encoded in a video parameter set (VPS). Also, information commonly applied to one tile or tile group may be encoded as syntax of a tile or tile group header.
- PPS picture parameter set
- SPS sequence parameter set
- VPS video parameter set
- information commonly applied to one tile or tile group may be encoded as syntax of a tile or tile group header.
- the picture dividing unit 110 determines the size of a coding tree unit (CTU).
- CTU size Information on the size of the CTU (CTU size) is encoded as the syntax of the SPS or PPS and transmitted to the video decoding apparatus.
- the picture dividing unit 110 After dividing each picture constituting an image into a plurality of CTUs (Coding Tree Units) having a predetermined size, the picture dividing unit 110 repetitively divides the CTU using a tree structure. (recursively) split. A leaf node in the tree structure becomes a coding unit (CU), which is a basic unit of coding.
- CU coding unit
- the tree structure is a quadtree (QuadTree, QT) in which an upper node (or parent node) is divided into four lower nodes (or child nodes) of the same size, or a binary tree (BinaryTree) in which an upper node is divided into two lower nodes. , BT), or a ternary tree (TT) in which an upper node is divided into three lower nodes with a 1:2:1 ratio, or a structure in which two or more of these QT structures, BT structures, and TT structures are mixed I can.
- QT quadtree
- QT binary tree
- BT binary tree
- TT ternary tree
- a QTBT QuadTree plus BinaryTree
- a QTBTTT QuadTree plus BinaryTree TernaryTree
- MTT Multiple-Type Tree
- the CTU may be first divided into a QT structure.
- the quadtree division may be repeated until the size of a splitting block reaches the minimum block size (MinQTSize) of a leaf node allowed in QT.
- a first flag (QT_split_flag) indicating whether each node of the QT structure is divided into four nodes of a lower layer is encoded by the entropy encoder 155 and signaled to the image decoding apparatus.
- the leaf node of the QT is not larger than the maximum block size (MaxBTSize) of the root node allowed in BT, it may be further divided into one or more of a BT structure or a TT structure.
- a plurality of division directions may exist in the BT structure and/or the TT structure. For example, there may be two directions in which a block of a corresponding node is divided horizontally and a direction vertically divided.
- mtt_split_flag indicating whether or not the nodes are divided
- a flag indicating additional division direction vertical or horizontal
- a division type Boary or Ternary
- a flag indicating) is encoded by the entropy encoder 155 and signaled to the image decoding apparatus.
- a CU split flag (split_cu_flag) indicating whether the node is divided is encoded. It could be.
- 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
- a split flag indicating whether each node of the BT structure is divided into blocks of a lower layer and split type information indicating a type to be divided are encoded by the entropy encoder 155 and transmitted to the image decoding apparatus.
- a type of dividing the block of the corresponding node into two blocks having an asymmetric shape may further exist.
- 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.
- the CU can have various sizes according to the QTBT or QTBTTT split from the CTU.
- a block corresponding to a CU to be encoded or decoded ie, a leaf node of QTBTTT
- a'current block' a block corresponding to a CU to be encoded or decoded
- the shape of the current block may be not only square but also rectangular.
- the prediction unit 120 predicts the current block and generates a prediction block.
- the prediction unit 120 includes an intra prediction unit 122 and an inter prediction unit 124.
- each of the current blocks in a picture can be predictively coded.
- prediction of the current block is performed using an intra prediction technique (using data from a picture containing the current block) or an inter prediction technique (using data from a picture coded before a picture containing the current block). Can be done.
- Inter prediction includes both one-way prediction and two-way prediction.
- the intra prediction unit 122 predicts pixels in the current block by using pixels (reference pixels) located around the current block in the current picture including the current block.
- the plurality of intra prediction modes may include two non-directional modes including a planar mode and a DC mode, and 65 directional modes.
- the surrounding pixels to be used and the equation are defined differently.
- directional modes (67 to 80, intra prediction modes -1 to -14) shown by dotted arrows in FIG. 3B may be additionally used. These may be referred to as "wide angle intra-prediction modes". Arrows in FIG. 3B indicate corresponding reference samples used for prediction, and do not indicate a prediction direction. The prediction direction is opposite to the direction indicated by the arrow.
- the wide-angle intra prediction modes when the current block is a rectangle, a specific directional mode is predicted in the opposite direction without additional bit transmission.
- some wide-angle intra prediction modes available for the current block may be determined based on a ratio of the width and height of the rectangular current block.
- intra prediction modes 67 to 80 can be used when the current block has a rectangular shape with a height smaller than the width, and wide-angle with an angle greater than -135 degrees.
- the intra prediction modes can be used when the current block has a rectangular shape whose height is greater than the width.
- 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 several intra prediction modes and select an appropriate intra prediction mode to use from the tested modes. For example, the intra prediction unit 122 calculates rate distortion values using rate-distortion analysis for several tested intra prediction modes, and has the best rate distortion characteristics among the tested modes. It is also possible to select an intra prediction mode.
- the intra prediction unit 122 selects one intra prediction mode from among a plurality of intra prediction modes, and predicts the current block using a neighboring pixel (reference pixel) determined according to the selected intra prediction mode and an equation.
- Information on the selected intra prediction mode is encoded by the entropy encoder 155 and transmitted to the image decoding apparatus.
- the inter prediction unit 124 generates a prediction block for the current block through a motion compensation process.
- the inter prediction unit 124 searches for a block most similar to the current block in the coded and decoded reference picture prior to the current picture, and generates a prediction block for the current block using the searched block. Then, a motion vector corresponding to a displacement between the current block in the current picture and the prediction block in the reference picture is generated.
- motion estimation is performed on a luma component, and a motion vector calculated based on the luma component is used for both the luma component and the chroma component.
- Motion information including information on a reference picture used to predict the current block and information on a motion vector is encoded by the entropy encoder 155 and transmitted to an image decoding apparatus.
- the subtractor 130 generates a residual block by subtracting the prediction block generated by the intra prediction unit 122 or the inter prediction unit 124 from the current block.
- the transform unit 140 divides the residual block into one or more transform blocks, applies the transform to one or more transform blocks, and transforms residual values of the transform blocks from the pixel domain to the frequency domain.
- transformed blocks are referred to as coefficient blocks comprising one or more transform coefficient values.
- a 2D transformation kernel may be used for transformation, and a 1D transformation kernel may be used for horizontal and vertical transformation respectively.
- the transform kernel may be based on discrete cosine transform (DCT), discrete sine transform (DST), or the like.
- the transform unit 140 may transform residual signals in the residual block by using the entire size of the residual block as a transform unit.
- the transform unit 140 may divide the residual block into two sub-blocks in a horizontal or vertical direction, and may perform transformation on only one of the two sub-blocks. Accordingly, the size of the transform block may be different from the size of the residual block (and thus the size of the prediction block).
- Non-zero residual sample values may not exist or may be very sparse in a subblock on which transformation is not performed.
- the residual samples of the subblock on which the transformation is not performed are not signaled, and may be regarded as "0" by the image decoding apparatus.
- the transform unit 140 includes information on the coding mode (or transform mode) of the residual block (e.g., information indicating whether the residual block is transformed or the residual subblock is transformed, and a partition type selected to divide the residual block into subblocks)
- the entropy encoding unit 155 may be provided with information indicating information and information identifying a subblock on which transformation is performed.
- the entropy encoder 155 may encode information about a coding mode (or transform mode) of the residual block.
- the quantization unit 145 quantizes the transform coefficients output from the transform unit 140 and outputs the quantized transform coefficients to the entropy encoding unit 155.
- the quantization unit 145 may immediately quantize a related residual block for a certain block or frame without transformation.
- the rearrangement unit 150 may rearrange coefficient values on the quantized residual values.
- the rearrangement unit 150 may change a two-dimensional coefficient array into a one-dimensional coefficient sequence through coefficient scanning. For example, the rearrangement unit 150 may scan from a DC coefficient to a coefficient in a high frequency region using a zig-zag scan or a diagonal scan to output a one-dimensional coefficient sequence. .
- zig-zag scan instead of zig-zag scan, a vertical scan that scans a two-dimensional coefficient array in a column direction or a horizontal scan that scans a two-dimensional block shape coefficient in a row direction may be used. That is, a scan method to be used may be determined from among zig-zag scan, diagonal scan, vertical direction scan, and horizontal direction scan according to the size of the transformation unit and the intra prediction mode.
- the entropy encoding unit 155 uses various encoding methods such as Context-based Adaptive Binary Arithmetic Code (CABAC), Exponential Golomb, and the like, and the quantized transform coefficients of 1D output from the reordering unit 150 are A bitstream is generated by encoding the sequence.
- CABAC Context-based Adaptive Binary Arithmetic Code
- Exponential Golomb Exponential Golomb
- the entropy encoder 155 encodes information such as a CTU size related to block division, a CU division flag, a QT division flag, an MTT division type, and an MTT division direction, so that the video decoding apparatus performs the same block as the video encoding apparatus. Make it possible to divide.
- the entropy encoder 155 encodes information on a prediction type indicating whether the current block is encoded by intra prediction or inter prediction, and intra prediction information (ie, intra prediction) according to the prediction type. Mode information) or inter prediction information (reference picture and motion vector information) is encoded.
- the inverse quantization unit 160 inverse quantizes the quantized transform coefficients output from the quantization unit 145 to generate transform coefficients.
- the inverse transform unit 165 converts transform coefficients output from the inverse quantization unit 160 from the frequency domain to the spatial domain to restore the residual block.
- the addition unit 170 restores the current block by adding the restored residual block and the prediction block generated by the prediction unit 120.
- the pixels in the reconstructed current block are used as reference pixels when intra-predicting the next block.
- the filter unit 180 filters reconstructed pixels to reduce blocking artifacts, ringing artifacts, blurring artifacts, etc. that occur due to block-based prediction and transformation/quantization. Perform.
- the filter unit 180 may include a deblocking filter 182 and a sample adaptive offset (SAO) filter 184.
- the deblocking filter 180 filters the boundary between reconstructed blocks to remove blocking artifacts caused by block-based encoding/decoding, and the SAO filter 184 adds additional information to the deblocking-filtered image. 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 block filtered through the deblocking filter 182 and the SAO filter 184 is stored in the memory 190.
- the reconstructed picture may be used as a reference picture for inter prediction of a block in a picture to be encoded later.
- FIG. 4 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure.
- an image decoding apparatus and sub-components of the apparatus will be described with reference to FIG. 4.
- the image decoding apparatus includes an entropy decoding unit 410, a rearrangement unit 415, an inverse quantization unit 420, an inverse transform unit 430, a prediction unit 440, an adder 450, a filter unit 460, and a memory 470. ) Can be included.
- each component of the image decoding apparatus may be implemented as hardware or software, or may be implemented as a combination of hardware and software.
- functions of each component may be implemented as software, and a microprocessor may be implemented to execute a function of software corresponding to each component.
- the entropy decoding unit 410 determines the current block to be decoded by decoding the bitstream generated by the image encoding apparatus and extracting information related to block division, and predicting information and residual signals necessary to restore the current block. Extract information, etc.
- the entropy decoding unit 410 determines the size of the CTU by extracting information on the CTU size from a sequence parameter set (SPS) or a picture parameter set (PPS), and divides the picture into CTUs of the determined size. Then, the CTU is determined as the uppermost layer of the tree structure, that is, the root node, and the CTU is divided using the tree structure by extracting partition information for the CTU.
- SPS sequence parameter set
- PPS picture parameter set
- a first flag (QT_split_flag) related to the splitting of the QT is extracted and each node is split into four nodes of a lower layer.
- the second flag (MTT_split_flag) related to the splitting of the MTT and the splitting direction (vertical / horizontal) and/or split type (binary / ternary) information are extracted and the corresponding leaf node is MTT.
- MTT_split_flag related to the splitting of the MTT and the splitting direction (vertical / horizontal) and/or split type (binary / ternary) information
- each node may have 0 or more repetitive MTT segmentation after 0 or more repetitive QT segmentation.
- MTT division may occur immediately, or, conversely, only multiple QT divisions may occur.
- each node is divided into four nodes of a lower layer by extracting the first flag (QT_split_flag) related to the division of the QT.
- QT_split_flag the first flag related to the division of the QT.
- a split flag indicating whether or not the node corresponding to the leaf node of the QT is further split into BT and split direction information are extracted.
- the entropy decoder 410 extracts information on a prediction type indicating whether the current block is intra prediction or inter prediction.
- the prediction type information indicates intra prediction
- the entropy decoder 410 extracts a syntax element for intra prediction information (intra prediction mode) of the current block.
- the prediction type information indicates inter prediction
- the entropy decoder 410 extracts a syntax element for the inter prediction information, that is, information indicating a motion vector and a reference picture referenced by the motion vector.
- the entropy decoder 410 includes information on the coding mode of the residual block (e.g., information on whether the residual block is encoded or only the subblocks of the residual block are encoded, and is selected to divide the residual block into subblocks). Information indicating the partition type, information identifying the encoded residual subblock, quantization parameters, etc.) are extracted from the bitstream. In addition, the entropy decoder 410 extracts information on quantized transform coefficients of the current block as information on the residual signal.
- information on the coding mode of the residual block e.g., information on whether the residual block is encoded or only the subblocks of the residual block are encoded, and is selected to divide the residual block into subblocks.
- Information indicating the partition type, information identifying the encoded residual subblock, quantization parameters, etc. are extracted from the bitstream.
- the entropy decoder 410 extracts information on quantized transform coefficients of the current block as information on the residual signal.
- the rearrangement unit 415 in the reverse order of the coefficient scanning order performed by the image encoding apparatus, reconverts the sequence of one-dimensional quantized transform coefficients entropy-decoded by the entropy decoder 410 into a two-dimensional coefficient array (i.e., Block).
- 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 based on information on the coding mode of the residual block By reconstructing the signals, a reconstructed residual block for the current block is generated.
- the inverse transform unit 430 determines the size of the current block (and thus, to be reconstructed) with respect to the inverse quantized transformation coefficients.
- a reconstructed residual block for the current block is generated by performing inverse transformation using the residual block size) as a transformation unit.
- the inverse transform unit 430 performs the transformed sub-blocks on the inverse quantized transform coefficients.
- the size of the block as a transformation unit, performing inverse transformation to restore residual signals for the transformed subblock, and filling the residual signals for untransformed subblocks with a value of "0", the reconstructed current block Create a residual block.
- the prediction unit 440 may include an intra prediction unit 442 and an inter prediction unit 444.
- the intra prediction unit 442 is activated when the prediction type of the current block is intra prediction
- the inter prediction unit 444 is activated when the prediction type of the current block is inter prediction.
- the intra prediction unit 442 determines an intra prediction mode of the current block among a plurality of intra prediction modes from the syntax element for the intra prediction mode extracted from the entropy decoding unit 410, and references around the current block according to the intra prediction mode. Predict the current block using pixels.
- the inter prediction unit 444 determines a motion vector of the current block and a reference picture referenced by the motion vector using the syntax element for the intra prediction mode extracted from the entropy decoding unit 410, and determines the motion vector and the reference picture. Is used to predict the current block.
- the adder 450 adds the residual block output from the inverse transform unit 430 and the prediction block output from the inter prediction unit 444 or the intra prediction unit 442 to restore the current block.
- the pixels in the reconstructed current block are used as reference pixels for intra prediction of a block to be decoded later.
- the filter unit 460 may include a deblocking filter 462 and an SAO filter 464.
- the deblocking filter 462 performs deblocking filtering on the boundary between reconstructed blocks in order to remove blocking artifacts caused by decoding in units of blocks.
- the SAO filter 464 performs additional filtering on the reconstructed block after deblocking filtering in order to compensate for the difference between the reconstructed pixel and the original pixel caused by lossy coding.
- the reconstructed block filtered through the deblocking filter 462 and the SAO filter 464 is stored in the memory 470. When all blocks in one picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be encoded later.
- the coding tools controlled by the present invention include a coding tool that skips a transform/inverse transform process for a residual sample, a coding tool that selectively applies one or more of various transform kernels to a residual sample to which a transform process is applied, and prediction of a current block.
- a coding tool that obtains information from another block located in the current picture including the current block, a coding tool that maps a prediction sample and scales a residual sample using a piece-wise linear model (the first coding tool ), a coding tool (a second coding tool) that applies differential coding to the residual sample.
- Coding tools controlled by the present invention may correspond to screen content coding (SCC) tools.
- Control of the target coding tool may mean whether or not the target coding tool is enabled/disabled. Also, the control of the target coding tool may mean whether the target coding tool is turned on or off. Control of the target coding tool may be performed in units of one or more, a combination, or a group of coding tools included in the target coding tool.
- Whether the target coding tool is activated/deactivated and whether it is turned on/off may be controlled using an enable flag defined at a higher level of the bitstream.
- the enable flag may indicate whether the target coding tool is enabled, or may indicate whether the SCC is applied to the coding/decoding target.
- 'coding tool that skips the transform/inverse transform process for the residual sample when the characteristic of the image is screen content' and'predictive information of the current block from another block located within the current picture including the current block. It is considered that the'coding tool to be obtained' can be applied with a high probability.
- the'coding tool that selectively applies one or more of various conversion kernels to the residual sample to which the conversion process has been applied' can be applied with high definition when the characteristics of the image are not screen content. will be.
- the upper level of the bitstream where the enable flag is defined means a relatively higher level in the bitstream than the lower level of the bitstream described below.
- the higher level may be an SPS level, a PPS level, a picture level (including a picture header), a slice level (including a slice header), a tile level (including a tile header), a brick level, and the like.
- FIG. 5 An exemplary block diagram of an image decoding apparatus capable of controlling a target coding tool using an enable flag is shown in FIG. 5, and a flowchart for explaining an example of a method of controlling a target coding tool is shown in FIG. .
- the image decoding apparatus may include an entropy decoding unit 410, an acquisition unit 510, and an execution unit 520.
- the video encoding apparatus may determine whether one or more of the target coding tools are enabled, and set the result as a value of the enable flag.
- the image encoding apparatus may encode the enable flag to signal the image decoding apparatus through a higher level of the bitstream.
- the entropy decoder 410 may decode the enable flag from a higher level of the bitstream (S610).
- the image encoding apparatus may determine whether to apply or execute the target coding tool. In addition, the image encoding apparatus may determine whether to signal the application flag indicating whether the target coding tool is applied or whether the target coding tool is performed according to the value of the enable flag.
- the application flag may indicate whether to apply to all of the coding tools included in the target coding tool, or may indicate whether to apply one or more of the coding tools included in the target coding tool. In the latter case, the application flag may be divided into a first application flag indicating whether the first coding tool is applied, and a second application flag indicating whether the second coding tool is applied.
- the acquisition unit 510 may obtain the value of the application flag by setting the application flag to a predetermined value or decoding the application flag from a lower level of the bitstream according to the value of the enable flag (S620).
- the image encoding apparatus may perform the target coding tool when the target coding tool is applied to encode the target coding tool, and may not perform the target coding tool when the target coding tool is not applied.
- the execution unit 520 performs the target coding tool when the value of the acquired application flag is a value indicating that the target coding tool is applied, and when the value of the acquired application flag is a value indicating that the target coding tool is not applied
- the target coding tool may not be performed in step S630.
- FIGS. 7 and 8 Two examples of obtaining the value of the applied flag according to the value of the enable flag are shown in FIGS. 7 and 8, respectively.
- the acquisition unit 510 may determine the value of the enable flag (S710).
- the acquisition unit 510 may set the value of the application flag as a value indicating that the target coding tool is applied (1, a predetermined value). Yes (S720).
- the acquisition unit 510 may determine the value of the enable flag (S810).
- the acquisition unit 510 may obtain a value by decoding the application flag from a lower level of the bitstream (S820).
- bit efficiency can be improved.
- the improvement of bit efficiency can reduce the bit rate required for various contents such as game broadcasting, 360-degree video streaming, VR/AR video, and online lectures. As a result, the burden on the network is reduced, as well as various contents Energy efficiency of a device capable of reproducing an image (image decoding apparatus) to be decoded may be improved and rapid decoding may be achieved.
- the residual sample conversion is a technique that converts the residual sample from the pixel domain to the frequency domain in consideration of the importance of efficient image compression and visual perception, and the inverse conversion of the residual sample converts the residual sample from the frequency domain to the pixel domain.
- a transform/inverse transform technique may be omitted (transform skipped).
- the transform/inverse transform of the residual sample is omitted, only scaling (quantization/inverse quantization) of the residual sample may be performed, or only entropy encoding/decoding may be performed without scaling.
- the size of a transform block is set to 4x4, 8x8, 16x16, and 32x32, and transform or transform skip may be applied to the transform blocks.
- the image decoding apparatus inverse quantizes the quantized transform coefficient (TransCoeffLevel[x][y]) and converts the inverse quantized transform coefficient (d[x][y]) from the frequency domain.
- the residual sample (r[x][y]) can be restored by inverse transformation into the domain.
- the image decoding apparatus may derive the corrected residual sample by shifting the reconstructed residual sample according to the bit depth of the image.
- a transform skip may be applied to a transform block having a size of 4x4, or a transform skip may be applied to a transform block having a different size according to an additional syntax element.
- the image decoding apparatus inverse quantizes the quantized transform coefficient (TransCoeffLevel[x][y]) and performs a shift operation on the inverse quantized transform coefficient (d[x][y]).
- the residual sample (r[x][y]) can be restored.
- the image decoding apparatus may derive the corrected residual sample by shifting the reconstructed residual sample according to the bit depth of the image.
- the shift operation applied to the inverse quantized transform coefficient is applied instead of the transform technique.
- the transform skipped residual sample may be rotated 180 degrees. Accordingly, the image decoding apparatus may scan residual samples in the opposite direction or in the opposite order in consideration of symmetry (rotation).
- bit efficiency may be degraded.
- bit efficiency since a syntax element (transform skip flag) indicating whether a transform technique is applied to a transform block is signaled for each transform unit, bit efficiency may be degraded.
- bit efficiency since a syntax element (existence flag) indicating whether or not a transformation skip flag exists in the transformation unit is additionally signaled, bit efficiency may further decrease.
- a DCT-II transform kernel transform type
- a coding tool that selectively applies one or two optimal transformation kernels among several transformation kernels to the residual sample may be performed.
- Syntax elements of a coding tool that selectively applies a transformation kernel may be encoded and signaled from an image encoding device to an image decoding device through a block level.
- syntax elements horizontal flag and vertical flag
- a transform kernel applied to the horizontal direction and a transform kernel applied to the vertical direction may be differently selected through the horizontal flag and the vertical flag.
- Table 2 shows a mapping table between the applied flag, the horizontal flag and the vertical flag.
- skip of the transformation technique was not applied, but in the present invention, by checking tu_cbf_cb or tu_cbf_cr, which is a cbf flag for a color difference component, a color difference residual sample exists and the size of the transform block is applied to the skip of the transformation method If it does not exceed the maximum possible size, the shift skip method applied to the luminance component can be applied to the color difference component as it is.
- Coding tool that obtains prediction information of the current block from other blocks located in the current picture
- a syntax element indicating whether or not the corresponding coding tool is enabled is encoded and signaled at the SPS level, and when the corresponding coding tool is enabled, a syntax element indicating whether the current block has been encoded by the corresponding coding tool (applied Flag) is signaled in block units.
- bit efficiency may be degraded.
- the application flag when signaling at a higher level whether or not the upper unit including the current block is used for the SCC (pic_scc_tool_enabled_flag, enable flag), the application flag does not need to be signaled for each block when it is not SCC, so the bit Efficiency can be improved.
- the enable flag may include an enable flag defined at a slice header level and an enable flag (pic_scc_tool_enabled_flag) defined at a relatively higher level.
- the first coding tool refers to a coding tool that maps a prediction sample and scales a residual sample using an interval linear model.
- the first coding tool may be additionally applied to each block in a step before in-loop filtering is applied.
- the first coding tool may generate high compression efficiency for an image having the characteristics of screen content.
- the first coding tool can consist of two processes, one of which is to in-loop mapping of a luminance prediction sample based on an adaptive section linear model, and the other process is to perform a color difference residual according to the value of the luminance restoration sample. Is to scale the sample.
- inverse quantization/inverse transformation, luminance sample restoration, and intra prediction of luma are processed within a mapped domain.
- the first coding tool is applied to the chrominance residual sample scaling, mapping, and luma inter prediction.
- the remaining blocks are functions performed in the original unmapped domain.
- Mapping of the luminance prediction sample may be performed by redistributing the codeword of the luminance prediction sample to adjust the dynamic range to improve compression efficiency, and a process of inverse mapping the luminance reconstructed sample in the mapped domain to an unmapped domain.
- the luminance reconstructed sample may be derived by summing the mapped luminance prediction sample and the luminance residual sample, and the luminance residual sample is signaled in a mapped state in the image encoding apparatus.
- Whether to enable the first coding tool may be determined through enable flags defined at two or more levels in the bitstream.
- One of the enable flags may be signaled at a relatively higher level than the other.
- An enable flag signaled at a relatively higher level is a'first enable flag'
- an enable flag signaled at a relative lower level is a'second enable flag'.
- Whether to apply the first coding tool may be determined through an application flag (first application flag) defined at a level lower than the enable flags in the bitstream.
- bit efficiency in the process of determining whether to apply the first coding tool may decrease.
- the present invention is intended to improve bit efficiency of the first coding tool by defining an enable flag (the second enable flag) indicating whether to enable the first coding tool at a higher level of the bitstream.
- FIG. 10 An exemplary block diagram of an image decoding apparatus capable of controlling the first coding tool using the second enable flag is shown in FIG. 10, and a method of controlling the first coding tool using the second enable flag is described. An example is shown in FIG. 11.
- the image decoding apparatus may include an entropy decoding unit 410, an acquisition unit 510, an execution unit 520, and an induction unit 1010.
- the execution unit 520 may include a section determination unit 522 and a sample induction unit 524
- the induction unit 1010 includes a first induction unit 1012, a second induction unit 1014, and a coefficient induction unit ( 1016) can be included.
- the video encoding apparatus may determine whether to enable the first coding tool for the sequence including the current block, and set the determination result as a value of the first enable flag.
- the first enable flag may be encoded and signaled to the image decoding apparatus through the SPS level of the bitstream.
- the video encoding apparatus determines whether the first coding tool is enabled for the picture including the current block, and sets the result as the value of the second enable flag. I can.
- the second enable flag may be encoded and signaled to the image decoding apparatus through a picture level (including a picture header) of the bitstream.
- the image encoding apparatus may determine whether the first coding tool is applied to the slice including the current block, and set the result as the value of the first application flag.
- the first application flag may be encoded and signaled to the image decoding apparatus through the slice level (including the slice header) of the bitstream.
- the interval linear model may represent a relationship between the dynamic range of the input signal and the dynamic range of the output signal.
- the dynamic range of the input signal is divided into a preset number of equal sections, and a section linear model for each section is expressed through the number of codewords allocated to each section. For example, when an input image has a bit depth of 10 bits and a preset number of sections is 16, 64 codewords may be basically allocated to each of the 16 sections.
- the mapping of the luminance prediction sample is by dividing the dynamic range of the inter-predicted luminance prediction sample into a preset number of sections, and redistributing the codeword (codeword of each section) of the luminance prediction sample by applying the section linear model to each section.
- This is a method of mapping the luminance prediction sample in the domain (original domain) before being mapped to the mapped domain.
- the luminance prediction sample mapped from the luminance prediction sample based on the section linear model is a'mapped luminance prediction sample'. Since intra prediction is performed within the mapped domain, mapping is not applied to a block encoded in the intra mode.
- the image encoding apparatus performs mapping on the luminance prediction sample based on the section linear model (generates a mapped luminance prediction sample), and the sections (second sections) to which the mapped luminance prediction sample belongs. Information may be encoded and signaled to the image decoding apparatus.
- the information on the second sections may include'index information (section index information) of sections that can be used for the first coding tool among the second sections' and'codeword number information'.
- the section index information may include index information of a section having a minimum index and index information of a section having a maximum index among sections that can be used for the first coding tool.
- the number of codewords includes the number of codewords allocated (or included) to the original segments (first segments) and the number of codewords allocated to each of the second segments that can be used in the first coding tool.
- Information (absolute value and sign of the difference) indicating the difference (codeword delta value) may be included.
- the absolute value of the difference is referred to as a'codeword absolute value'
- the sign of the difference is referred to as a'codeword code'.
- the entropy decoding unit 410 may decode information on the second sections from the bitstream (S1210).
- the derivation unit 1010 may derive a section linear model of each of the first sections based on the information on the second sections and the bit depth of the image (the mapping relationship between the first sections and the second sections is Can induce) (S1220).
- the interval linear model that is, the mapping relationship
- 'scaling representing the scaling relationship between the number of codewords allocated to each of the first intervals (number of bits) and the number of codewords allocated to each of the second intervals (number of bits) Coefficient' may be included.
- the scaling factor may represent a relationship between the lengths of each of the first sections and the lengths of each of the second sections.
- the section determiner 512 determines a section (first target section) to which the luminance prediction sample belongs among the first sections, and the sample derivation section 514 uses a section linear model corresponding to the first target section to sample the luminance prediction.
- the mapped luminance prediction sample may be derived by mapping to the mapping section (S1240).
- the process S1240 is'the sample deriving unit 514 applies the mapping relationship between the first target section and the mapping section to the luminance prediction sample to induce the mapped luminance prediction sample.
- the mapping section may be a section corresponding to the first target section among the second sections. Whether each of the first sections and each of the second sections correspond may be an index assigned to each section or an order of each section.
- FIG. 13 An example of a specific method of deriving a scaling factor included in a mapping relationship is shown in FIG. 13.
- the first inducer 1012 may induce the number of codewords allocated to each of the first sections based on the bit depth (S1310). As described above, the same number of codewords may be allocated or included in the first sections. That is, the first sections may have the same size.
- the second induction unit 1014 may induce the number of codewords assigned to each of the second sections based on the number of codewords allocated to each of the first sections and information on the second sections (S1320). ).
- a codeword delta value can be derived by applying a codeword code to an absolute value of the codeword, and the number of codewords allocated to each of the first sections and the codeword delta value are added to each of the second sections. The number of allocated codewords can be derived.
- the coefficient derivation unit 1016 may derive a scaling factor by using the number of codewords allocated to each of the first intervals and the number of codewords allocated to each of the second intervals (S1330).
- Inverse mapping is a process of inverse mapping a mapped luminance restoration sample to an unmapped domain.
- the mapped luminance reconstructed sample may be derived by summing the mapped luminance prediction sample and the luminance residual sample, and the luminance residual sample is signaled in a mapped state in an image encoding apparatus.
- the derivation unit 1010 may derive an inverse section linear model of each of the second sections based on the bit depth and information on the second sections (first section and the second section It is possible to induce an inverse mapping relationship between them) (S1410).
- the derivation unit 1010 may derive the inverse scaling coefficient by using the number of codewords allocated to each of the first intervals and the number of codewords allocated to each of the second intervals.
- the inverse scaling coefficient is a parameter representing an inverse scaling relationship between each of the first sections and each of the second sections, and may be included in an inverse section linear model or an inverse mapping relationship.
- the inverse section linear model may have a reverse relationship with the section linear model used for mapping the luminance prediction sample, and the inverse mapping relationship may have an inverse relationship with the mapping relationship used in the mapping of the luminance prediction sample. .
- the section determiner 522 may determine a second target section (S1420).
- the second target section may be a section to which the luminance reconstruction sample belongs among the second sections (a section to which the luminance reconstruction sample before inverse mapping belongs).
- the sample derivation unit 524 may inversely map the luminance reconstructed sample into the inverse mapping section using an inverse section linear model corresponding to the second target section, thereby inducing or generating an inversely mapped luminance reconstructed sample (S1430). That is, the sample derivation unit 524 may apply the inverse mapping relationship between the second target section and the inverse mapping section to the brightness restoration sample (by inverse mapping the brightness restoration sample) to derive the inversely mapped brightness restoration sample.
- the inverse mapping section may be a section to which the inversely mapped luminance restoration sample belongs among the first sections or a section corresponding to the second target section. Whether each of the first sections and each of the second sections correspond may be an index assigned to each section or an order of each section.
- Scaling of chrominance residual samples is a method of scaling chrominance residual samples according to values of luminance restoration samples.
- the image encoding apparatus may determine whether scaling has been performed on the chrominance residual samples of the current block, and may set the determination result as a value of the chrominance flag.
- the color difference flag may indicate whether scaling of a color difference residual sample is enabled and/or applied to the current picture including the current block.
- the entropy decoding unit 410 may decode the color difference flag from the picture level of the bitstream (S1520).
- the execution unit 520 may derive the scaled color difference residual samples by performing scaling on the color difference residual samples (S1550). . Scaling of the chrominance residual samples may be performed using chrominance scaling information decoded from the bitstream.
- the color difference scaling information is information for compensating the correlation between the luminance component and the color difference component, and is information for adjusting the dynamic range of the second section used for mapping the luminance prediction sample to be suitable for scaling the chrominance residual sample.
- the image encoding apparatus may perform scaling of chrominance residual samples, and may differentiate the number of codewords included in each of the second periods before scaling and the number of codewords included in each of the second periods after scaling.
- the image encoding apparatus may encode information (color difference scaling information) on the difference result (differential value) and signal it to the image decoding apparatus.
- the color difference scaling information may include a delta color difference codeword size, which is a size of a difference value, and a delta color difference codeword code, which is a sign of the difference value.
- the entropy decoding unit 410 may decode color difference scaling information from the bitstream (S1610).
- the derivation unit 1010 may derive a scaling relationship based on the bit depth, information on the second intervals, and color difference scaling information (S1620). For example, the derivation unit 1010 uses the delta color difference codeword size and the delta color difference codeword code (the number of codewords included in each of the second periods and the code included in each of the third periods). The difference between the number of words) is derived, and the dynamic range of the second section is adjusted by summing the number of codewords included in each of the second sections and the delta color difference codeword. Can induce
- the color difference scaling relationship induced by the derivation unit 1010 may have an inverse relationship to the color difference scaling relationship used for scaling color difference residual samples in the image encoding apparatus. Accordingly, the color difference scaling relationship induced by the induction unit 1010 may be an inverse color difference scaling relationship.
- the section determiner 522 derives an average value of the luminance restoration samples positioned to the left of the chrominance residual samples (current block) and the luminance restoration samples positioned above the chrominance residual samples (current block) (S1630). , A section to which the average value belongs may be determined among the second sections (S1640).
- the sample inducing unit 524 may generate or derive the scaled chrominance residual samples by scaling chrominance residual samples using a chrominance scaling relationship corresponding to a section to which the average value belongs (S1650).
- the second coding tool is a coding tool that applies differential coding to residual samples in order to improve compression performance of residual samples to which the transform skip mode is applied.
- a differential encoding technique may be applied to a residual sample after intra prediction and inter prediction.
- the differential coding technique can provide more improved compression performance by reducing the total amount of energy of the residual component for entropy coding.
- a current sample is predicted using a residual sample of a left column closest to a horizontal direction among samples encoded by an image encoding apparatus.
- the residual sample (0 ⁇ i ⁇ M, i is a natural number) may be expressed by Equation 1. That is, the residual sample at the (i, j) position is corrected through subtraction from the residual sample at the (i, j-1) position.
- Equation 1 (i, j) means the i-th row and the j-th column, and Q(r i,j ) means the residual sample at the (i, j) position, Means the modified residual sample.
- the image encoding apparatus transmits the revised residual sample to the image decoding apparatus after entropy encoding, reconstructs and reserves the residual sample for the prediction of the next column.
- the horizontal direction prediction process may be sequentially performed for all columns of a block.
- a current component is predicted by using a residual sample of an upper row closest to each other in a vertical direction among residual samples encoded by an image encoding apparatus.
- the residual sample (0 ⁇ j ⁇ N, j is a natural number) may be expressed by Equation 2.
- the image encoding apparatus transmits the revised residual sample to the image decoding apparatus after entropy encoding, reconstructs the residual sample for prediction of the next row, and prepares it.
- the vertical direction prediction process may be sequentially performed for all rows of a block.
- the image decoding apparatus restores the residual sample as shown in Equation (3). That is, the residual samples in the residual block reconstructed from the bitstream by the image decoding apparatus are modified according to the differential encoding technique in the horizontal direction.
- the target residual sample to be modified in the reconstructed residual block is performed in such a manner that left residual samples positioned to the left of the target residual sample on the same row as the target residual sample are added to the target residual sample.
- the image decoding apparatus may restore the residual sample of the j-th column by sequentially adding the restored residual samples.
- the horizontal direction restoration process may be sequentially performed for all rows of a block.
- the image decoding apparatus restores the residual sample as shown in Equation 4. That is, the residual samples in the residual block reconstructed as a bitstream by the image decoding apparatus are modified according to the differential encoding technique in the vertical direction.
- the target residual sample to be corrected in the reconstructed residual block is performed in a manner in which left residual samples positioned above the target residual sample in the same column as the target residual sample are added to the target residual sample.
- the image decoding apparatus may restore the residual sample of the i-th row by sequentially adding the restored residual samples.
- the vertical direction restoration process can be sequentially performed for all rows of a block.
- Whether to perform such a second coding tool may be determined by a second application flag defined at the block level.
- bit efficiency may decrease.
- the present invention defines an enable flag indicating whether or not the second coding tool is enabled (or whether it corresponds to the screen content) at a level higher than the block level, and It is intended to improve bit efficiency by controlling whether to signal the second application flag according to the value.
- the image encoding apparatus may determine whether the second coding tool is enabled (whether it corresponds to screen content) and set the result as a value of the enable flag.
- the image encoding apparatus may encode the enable flag to signal the image decoding apparatus through a higher level (eg, SPS level) of the bitstream.
- the video decoding apparatus may decode the enable flag from a higher level of the bitstream (S1710), and determine a value of the decoded enable flag (S1720).
- the video encoding apparatus may determine whether the second coding tool is applied to the current block, and determine whether to signal the second application flag according to the value of the enable flag.
- the second application flag may be implicitly set to a value (0) indicating that the second coding tool is not applied.
- the second application flag may be set to a value (1) indicating that the second coding tool is applied implicitly.
- the enable flag may include a pic_scc_tool_enabled_flag indicating whether the content corresponds to the screen content, and a flag (slice flag) indicating whether or not the second coding tool is enabled in slice units.
- the value of the second application flag may be set to a value (0) indicating that the second coding tool is not applied.
- the applied flag may not be decoded.
- the second application flag may be set to a value (1) indicating that the second coding tool is applied implicitly.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
코딩 툴들을 제어하는 방법 및 장치를 개시한다. 본 발명의 일 실시예에 의하면, 비트스트림의 상위 레벨로부터, 하나 이상의 코딩 툴(coding tool)에 대한 인에이블(enabled) 여부를 지시하는 인에이블 플래그를 복호화하는 단계; 상기 인에이블 플래그의 값에 따라, 상기 하나 이상의 코딩 툴의 적용 여부를 지시하는 적용 플래그를 미리 결정된 값으로 설정하거나 상기 비트스트림의 하위 레벨로부터 복호화하여, 상기 적용 플래그의 값을 획득하는 단계; 상기 적용 플래그의 값이 상기 하나 이상의 코딩 툴이 적용됨을 지시하는 값인 경우에, 상기 하나 이상의 코딩 툴을 수행하는 단계;를 포함하는, 영상 복호화 방법을 제공한다.
Description
본 발명은 영상의 부호화 및 복호화에 관한 것으로서, 더욱 구체적으로는 영상의 부호화 및 복호화에 이용되는 다양한 코딩 툴들을 유기적으로 제어함으로써 부호화 및 복호화의 효율을 향상시키는 방법 및 장치에 관한 것이다.
동영상 데이터는 음성 데이터나 정지 영상 데이터 등에 비하여 많은 데이터량을 가지기 때문에, 압축을 위한 처리 없이 그 자체를 저장하거나 전송하기 위해서는 메모리를 포함하여 많은 하드웨어 자원을 필요로 한다.
따라서, 통상적으로 동영상 데이터를 저장하거나 전송할 때에는 부호화기를 사용하여 동영상 데이터를 압축하여 저장하거나 전송하며, 복호화기에서는 압축된 동영상 데이터를 수신하여 압축을 해제하고 재생한다. 이러한 동영상 압축 기술로는 H.264/AVC를 비롯하여, H.264/AVC에 비해 약 40% 정도의 부호화 효율을 향상시킨 HEVC(High Efficiency Video Coding)가 존재한다.
그러나, 영상의 크기 및 해상도, 프레임율이 점차 증가하고 있고, 이에 따라 부호화해야 하는 데이터량도 증가하고 있으므로 기존의 압축 기술보다 더 부호화 효율이 좋고 화질 개선 효과도 높은 새로운 압축 기술이 요구된다.
이러한 요구에 부응하기 위해 본 발명은 개선된 영상 부호화 및 복호화 기술을 제공하는 것을 목적으로 하며, 특히, 본 발명의 일 측면은 상위 레벨에서 정의되는 신택스 요소를 통해 다양한 코딩 툴들의 온 또는 오프를 제어함으로써 부호화 및 복호화의 효율을 향상시키는 기술과 관련된다.
본 발명의 일 측면은, 비트스트림의 상위 레벨로부터, 하나 이상의 코딩 툴(coding tool)에 대한 인에이블(enabled) 여부를 지시하는 인에이블 플래그를 복호화하는 단계 - 상기 하나 이상의 코딩 툴은 구간 선형 모델(piecewise linear model)에 기반한 휘도 성분 맵핑을 이용하여 샘플 값을 부호화하는 제1코딩 툴을 포함함; 상기 인에이블 플래그의 값에 따라, 상기 하나 이상의 코딩 툴의 적용 여부를 지시하는 적용 플래그를 미리 결정된 값으로 설정하거나 상기 비트스트림의 하위 레벨로부터 복호화하여, 상기 적용 플래그의 값을 획득하는 단계 - 상기 적용 플래그는 상기 제1코딩 툴의 적용 여부를 지시하는 제1적용 플래그를 포함함; 상기 적용 플래그의 값이 상기 하나 이상의 코딩 툴이 적용됨을 지시하는 값인 경우에, 상기 하나 이상의 코딩 툴을 수행하는 단계;를 포함하고, 상기 하나 이상의 코딩 툴을 수행하는 단계는, 상기 제1적용 플래그의 값에 따라 상기 제1코딩 툴이 수행될 때, 상기 구간 선형 모델에 기반하여 휘도 예측샘플로부터 맵핑된 휘도 예측샘플을 생성하고, 상기 비트스트림으로부터 복원된 휘도 잔차샘플과 상기 맵핑된 휘도 예측샘플을 가산하여 휘도 복원샘플을 생성하는 단계; 및 상기 휘도 복원샘플을 상기 구간 선형 모델과 역의 관계를 가지는 역(inverse) 구간 선형 모델을 이용하여 역맵핑하는 단계;를 포함하는, 영상 복호화 방법을 제공한다.
본 발명의 다른 일 측면은, 비트스트림의 상위 레벨로부터, 하나 이상의 코딩 툴(coding tool)에 대한 인에이블(enabled) 여부를 지시하는 인에이블 플래그를 복호화하는 엔트로피 복호화부 - 상기 하나 이상의 코딩 툴은 구간 선형 모델(piecewise linear model)에 기반한 휘도 성분 맵핑을 이용하여 샘플 값을 부호화하는 제1코딩 툴을 포함함; 상기 인에이블 플래그의 값에 따라, 상기 하나 이상의 코딩 툴의 적용 여부를 지시하는 적용 플래그를 미리 결정된 값으로 설정하거나 상기 비트스트림의 하위 레벨로부터 복호화하여, 상기 적용 플래그의 값을 획득하는 획득부 - 상기 적용 플래그는 상기 제1코딩 툴의 적용 여부를 지시하는 제1적용 플래그를 포함함; 상기 적용 플래그의 값이 상기 하나 이상의 코딩 툴이 적용됨을 지시하는 값인 경우에, 상기 하나 이상의 코딩 툴을 수행하는 수행부;를 포함하고, 상기 수행부는, 상기 제1적용 플래그의 값에 따라 상기 제1코딩 툴을 수행할 때, 상기 구간 선형 모델에 기반하여 휘도 예측샘플로부터 맵핑된 휘도 예측샘플을 생성하고, 상기 비트스트림으로부터 복원된 휘도 잔차샘플과 상기 맵핑된 휘도 예측샘플을 가산하여 휘도 복원샘플을 생성하며, 상기 휘도 복원샘플을 상기 구간 선형 모델과 역의 관계를 가지는 역(inverse) 구간 선형 모델을 이용하여 역맵핑하는, 영상 복호화 장치를 제공한다.
이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 다양한 코딩 툴들의 적용 여부를 상위 레벨에서 제어할 수 있으므로, 부호화 및 복호화의 압축 성능을 향상시킬 수 있다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.
도 2는 QTBTTT 구조를 이용하여 블록을 분할하는 방법을 설명하기 위한 도면이다.
도 3a는 복수의 인트라 예측 모드들을 나타낸 도면이다.
도 3b는 광각 인트라 예측모드들을 포함한 복수의 인트라 예측 모드들을 나타낸 도면이다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
도 5는 코딩 툴들을 제어할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
도 6은 코딩 툴들을 제어하는 방법의 일 예를 설명하기 위한 순서도이다.
도 7 및 도 8은 코딩 툴들을 제어하는 방법의 다양한 예들을 설명하기 위한 순서도이다.
도 9는 제1코딩 툴을 설명하기 위한 예시적인 블록도이다.
도 10은 제1코딩 툴을 수행할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
도 11은 제1코딩 툴의 수행 여부를 제어하는 방법의 일 예를 설명하기 위한 순서도이다.
도 12는 제1코딩 툴에서 맵핑된 휘도 예측샘플을 유도하는 방법의 일 예를 설명하기 위한 순서도이다.
도 13은 제1코딩 툴에서 스케일링 계수를 유도하는 방법의 일 예를 설명하기 위한 순서도이다.
도 14는 제1코딩 툴에서 역맵핑된 휘도 복원샘플을 유도하는 방법의 일 예를 설명하기 위한 순서도이다.
도 15는 제1코딩 툴에서 색차 잔차샘플의 스케일링의 수행 여부를 결정하는 방법의 일 예를 설명하기 위한 순서도이다.
도 16은 제1코딩 툴에서 색차 잔차샘플을 스케일링하는 방법의 일 예를 설명하기 위한 순서도이다.
도 17은 제2코딩 툴의 수행 여부를 제어하는 방법의 일 예를 설명하기 위한 순서도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다. 이하에서는 도 1을 참조하여 영상 부호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 부호화 장치는 픽처 분할부(110), 예측부(120), 감산기(130), 변환부(140), 양자화부(145), 재정렬부(150), 엔트로피 부호화부(155), 역양자화부(160), 역변환부(165), 가산기(170), 필터부(180) 및 메모리(190)를 포함하여 구성될 수 있다.
영상 부호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
하나의 영상(비디오)은 복수의 픽처들로 구성된다. 각 픽처들은 복수의 영역으로 분할되고 각 영역마다 부호화가 수행된다. 예를 들어, 하나의 픽처는 하나 이상의 타일(Tile) 또는/및 슬라이스(Slice)로 분할된다. 여기서, 하나 이상의 타일은 타일 그룹(Tile Group)으로 정의될 수 있다. 각 타일 또는 슬라이스는 하나 이상의 CTU(Coding Tree Unit)로 분할된다. 그리고 각 CTU는 트리 구조에 의해 하나 이상의 CU(Coding Unit)들로 분할된다. 각 CU에 적용되는 정보들은 CU의 신택스로서 부호화되고, 하나의 CTU에 포함된 CU들에 공통적으로 적용되는 정보는 CTU의 신택스로서 부호화된다. 또한, 하나의 슬라이스 내의 모든 블록들에 공통적으로 적용되는 정보는 슬라이스 헤더의 신택스로서 부호화되며, 하나의 픽처를 구성하는 모든 블록들에 적용되는 정보는 픽처 파라미터 셋(PPS, Picture Parameter Set) 혹은 픽처 헤더에 부호화된다. 나아가, 복수의 픽처가 공통으로 참조하는 정보들은 시퀀스 파라미터 셋(SPS, Sequence Parameter Set)에 부호화된다. 그리고, 하나 이상의 SPS가 공통으로 참조하는 정보들은 비디오 파라미터 셋(VPS, Video Parameter Set)에 부호화된다. 또한, 하나의 타일 또는 타일 그룹에 공통으로 적용되는 정보는 타일 또는 타일 그룹 헤더의 신택스로서 부호화될 수도 있다.
픽처 분할부(110)는 CTU(Coding Tree Unit)의 크기를 결정한다. CTU의 크기에 대한 정보(CTU size)는 SPS 또는 PPS의 신택스로서 부호화되어 영상 복호화 장치로 전달된다.
픽처 분할부(110)는 영상을 구성하는 각 픽처(picture)를 미리 결정된 크기를 가지는 복수의 CTU(Coding Tree Unit)들로 분할한 이후에, 트리 구조(tree structure)를 이용하여 CTU를 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU(coding unit)가 된다.
트리 구조는 상위 노드(혹은 부모 노드)가 동일한 크기의 네 개의 하위 노드(혹은 자식 노드)들로 분할되는 쿼드트리(QuadTree, QT), 또는 상위 노드가 두 개의 하위 노드로 분할되는 바이너리트리(BinaryTree, BT), 또는 상위 노드가 1:2:1 비율을 가지는 세 개의 하위 노드로 분할되는 터너리트리(TernaryTree, TT), 또는 이러한 QT 구조, BT 구조 및 TT 구조 중 둘 이상을 혼용한 구조일 수 있다. 예컨대, QTBT(QuadTree plus BinaryTree) 구조가 사용될 수 있고, 또는 QTBTTT(QuadTree plus BinaryTree TernaryTree) 구조가 사용될 수 있다. 여기서, BTTT를 합쳐서 MTT(Multiple-Type Tree)라 지칭할 수 있다.
도 2는 QTBTTT 분할 트리 구조를 보인다. 도 2에서 보는 바와 같이, CTU는 먼저 QT 구조로 분할될 수 있다. 쿼드트리 분할은 분할 블록(splitting block)의 크기가 QT에서 허용되는 리프 노드의 최소 블록 크기(MinQTSize)에 도달할 때까지 반복될 수 있다. QT 구조의 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1플래그(QT_split_flag)는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
QT의 리프 노드가 BT에서 허용되는 루트 노드의 최대 블록 크기(MaxBTSize)보다 크지 않은 경우, BT 구조 또는 TT 구조 중 어느 하나 이상으로 더 분할될 수 있다. BT 구조 및/또는 TT 구조에서는 복수의 분할 방향이 존재할 수 있다. 예컨대, 해당 노드의 블록이 가로로 분할되는 방향과 세로로 분할되는 방향 두 가지가 존재할 수 있다. 도 2와 같이, MTT 분할이 시작되면, 노드들이 분할되었는지 여부를 지시하는 제2플래그(mtt_split_flag)와, 분할이 되었다면 추가적으로 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그 및/또는 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그가 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. 대안적으로, 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1플래그(QT_split_flag)를 부호화하기에 앞서, 그 노드가 분할되는지 여부를 지시하는 CU 분할 플래그(split_cu_flag)가 부호화될 수도 있다. CU 분할 플래그(split_cu_flag) 값이 분할되지 않았음을 지시하는 경우, 해당 노드의 블록이 분할 트리 구조에서의 리프 노드(leaf node)가 되어 부호화의 기본 단위인 CU(coding unit)가 된다. CU 분할 플래그(split_cu_flag) 값이 분할됨을 지시하는 경우, 영상 부호화 장치는 전술한 방식으로 제1플래그부터 부호화를 시작한다.
트리 구조의 다른 예시로서 QTBT가 사용되는 경우, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입(즉, symmetric horizontal splitting)과 세로로 분할하는 타입(즉, symmetric vertical splitting) 두 가지가 존재할 수 있다. BT 구조의 각 노드가 하위 레이어의 블록으로 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할되는 타입을 지시하는 분할 타입 정보가 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다. 한편, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태에는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태가 포함될 수 있고, 혹은 해당 노드의 블록을 대각선 방향으로 분할하는 형태가 포함될 수도 있다.
CU는 CTU로부터의 QTBT 또는 QTBTTT 분할에 따라 다양한 크기를 가질 수 있다. 이하에서는, 부호화 또는 복호화하고자 하는 CU(즉, QTBTTT의 리프 노드)에 해당하는 블록을 '현재블록'이라 칭한다. QTBTTT 분할의 채용에 따라, 현재블록의 모양은 정사각형뿐만 아니라 직사각형일 수도 있다.
예측부(120)는 현재블록을 예측하여 예측블록을 생성한다. 예측부(120)는 인트라 예측부(122)와 인터 예측부(124)를 포함한다.
일반적으로, 픽처 내 현재블록들은 각각 예측적으로 코딩될 수 있다. 일반적으로 현재블록의 예측은 (현재블록을 포함하는 픽처로부터의 데이터를 사용하는) 인트라 예측 기술 또는 (현재블록을 포함하는 픽처 이전에 코딩된 픽처로부터의 데이터를 사용하는) 인터 예측 기술을 사용하여 수행될 수 있다. 인터 예측은 단방향 예측과 양방향 예측 모두를 포함한다.
인트라 예측부(122)는 현재블록이 포함된 현재 픽처 내에서 현재블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재한다. 예컨대, 도 3a에서 보는 바와 같이, 복수의 인트라 예측모드는 planar 모드와 DC 모드를 포함하는 2개의 비방향성 모드와 65개의 방향성 모드를 포함할 수 있다. 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다.
직사각형 모양의 현재블록에 대한 효율적인 방향성 예측을 위해, 도 3b에 점선 화살표로 도시된 방향성 모드들(67 ~ 80번, -1 ~ -14 번 인트라 예측모드들)이 추가로 사용될 수 있다. 이들은 "광각 인트라 예측모드들(wide angle intra-prediction modes)"로 지칭될 수 있다. 도 3b에서 화살표들은 예측에 사용되는 대응하는 참조샘플들을 가리키는 것이며, 예측 방향을 나타내는 것이 아니다. 예측 방향은 화살표가 가리키는 방향과 반대이다. 광각 인트라 예측모드들은 현재블록이 직사각형일 때 추가적인 비트 전송 없이 특정 방향성 모드를 반대방향으로 예측을 수행하는 모드이다. 이때 광각 인트라 예측모드들 중에서, 직사각형의 현재블록의 너비와 높이의 비율에 의해, 현재블록에 이용 가능한 일부 광각 인트라 예측모드들이 결정될 수 있다. 예컨대, 45도보다 작은 각도를 갖는 광각 인트라 예측모드들(67 ~ 80번 인트라 예측모드들)은 현재블록이 높이가 너비보다 작은 직사각형 형태일 때 이용 가능하고, -135도보다 큰 각도를 갖는 광각 인트라 예측모드들(-1 ~ -14 번 인트라 예측모드들)은 현재블록이 높이가 너비보다 큰 직사각형 형태일 때 이용 가능하다.
인트라 예측부(122)는 현재블록을 부호화하는데 사용할 인트라 예측모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(122)는 여러 인트라 예측모드들을 사용하여 현재블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(122)는 여러 테스트된 인트라 예측모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측모드를 선택할 수도 있다.
인트라 예측부(122)는 복수의 인트라 예측모드 중에서 하나의 인트라 예측모드를 선택하고, 선택된 인트라 예측모드에 따라 결정되는 주변 픽셀(참조 픽셀)과 연산식을 사용하여 현재블록을 예측한다. 선택된 인트라 예측모드에 대한 정보는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다.
인터 예측부(124)는 움직임 보상 과정을 통해 현재블록에 대한 예측블록을 생성한다. 인터 예측부(124)는 현재 픽처보다 먼저 부호화 및 복호화된 참조픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 일반적으로, 움직임 추정은 루마(luma) 성분에 대해 수행되고, 루마 성분에 기초하여 계산된 모션 벡터는 루마 성분 및 크로마 성분 모두에 대해 사용된다. 현재블록을 예측하기 위해 사용된 참조픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다.
감산기(130)는 현재블록으로부터 인트라 예측부(122) 또는 인터 예측부(124)에 의해 생성된 예측블록을 감산하여 잔차블록을 생성한다.
변환부(140)는 잔차블록을 하나 이상의 변환블록들로 나누고, 변환을 하나 이상의 변환 블록들에 적용하여, 변환블록들의 잔차 값들을 픽셀 도메인에서 주파수 도메인으로 변환한다. 주파수 도메인에서, 변환된 블록들은 하나 이상의 변환 계수 값들을 포함하는 계수 블록들이라고 지칭된다. 변환에는 2차원 변환 커널이 사용될 수 있으며, 수평 방향 변환과 수직 방향 변환에 각각 1차원 변환 커널이 사용될 수도 있다. 변환 커널은 이산 코사인 변환(DCT), 이산 사인 변환(DST) 등에 기반할 수 있다.
변환부(140)는 잔차블록의 전체 크기를 변환 단위로 사용하여 잔차블록 내의 잔차 신호들을 변환할 수 있다. 또한, 변환부(140)는 잔차블록을 수평 혹은 수직 방향으로 2개의 서브블록으로 분할하고, 변환을 2개의 서브블록 중 하나에만 수행할 수 있다. 따라서, 변환 블록의 사이즈는 잔차 블록의 사이즈(따라서 예측블록의 사이즈)와 상이할 수도 있다. 변환이 수행되지 않는 서브블록에는 논-제로 잔차 샘플 값들이 존재하지 않거나 매우 희소할 수 있다. 변환이 수행되지 않는 서브블록의 잔차 샘플들은 시그널링되지 않으며, 영상 복호화 장치에 의해 모두 "0"으로 간주될 수 있다. 분할 방향과 분할 비율에 따라 여러 파티션 타입들이 존재할 수 있다. 변환부(140)는 잔차블록의 코딩 모드(혹은 변환 모드)에 관한 정보(예컨대, 잔차 블록을 변환하였는지 아니면 잔차 서브블록을 변환하였는지를 나타내는 정보, 잔차블록을 서브블록들로 분할하기 위해 선택된 파티션 타입을 나타내는 정보, 변환이 수행되는 서브블록을 식별하는 정보 등을 포함하는 정보)를 엔트로피 부호화부(155)에 제공할 수 있다. 엔트로피 부호화부(155)는 잔차블록의 코딩 모드(혹은 변환 모드)에 관한 정보를 부호화할 수 있다.
양자화부(145)는 변환부(140)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 엔트로피 부호화부(155)로 출력한다. 양자화부(145)는, 어떤 블록 혹은 프레임에 대해, 변환 없이, 관련된 잔차 블록을 곧바로 양자화할 수도 있다.
재정렬부(150)는 양자화된 잔차 값에 대해 계수 값의 재정렬을 수행할 수 있다. 재정렬부(150)는 계수 스캐닝(coefficient scanning)을 통해 2차원의 계수 어레이를 1차원의 계수 시퀀스로 변경할 수 있다. 예를 들어, 재정렬부(150)에서는 지그-재그 스캔(zig-zag scan) 또는 대각선 스캔(diagonal scan)을 이용하여 DC 계수부터 고주파수 영역의 계수까지 스캔하여 1차원의 계수 시퀀스를 출력할 수 있다. 변환 단위의 크기 및 인트라 예측모드에 따라 지그-재그 스캔 대신 2차원의 계수 어레이를 열 방향으로 스캔하는 수직 스캔, 2차원의 블록 형태 계수를 행 방향으로 스캔하는 수평 스캔이 사용될 수도 있다. 즉, 변환 단위의 크기 및 인트라 예측 모드에 따라 지그-재그 스캔, 대각선 스캔, 수직 방향 스캔 및 수평 방향 스캔 중에서 사용될 스캔 방법이 결정될 수도 있다.
엔트로피 부호화부(155)는, CABAC(Context-based Adaptive Binary Arithmetic Code), 지수 골롬(Exponential Golomb) 등의 다양한 부호화 방식을 사용하여, 재정렬부(150)로부터 출력된 1차원의 양자화된 변환 계수들의 시퀀스를 부호화함으로써 비트스트림을 생성한다.
또한, 엔트로피 부호화부(155)는 블록 분할과 관련된 CTU size, CU 분할 플래그, QT 분할 플래그, MTT 분할 타입, MTT 분할 방향 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다. 또한, 엔트로피 부호화부(155)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보(즉, 인트라 예측모드에 대한 정보) 또는 인터 예측정보(참조픽처 및 움직임벡터에 대한 정보)를 부호화한다.
역양자화부(160)는 양자화부(145)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(165)는 역양자화부(160)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.
가산부(170)는 복원된 잔차블록과 예측부(120)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.
필터부(180)는 블록 기반의 예측 및 변환/양자화로 인해 발생하는 블록킹 아티팩트(blocking artifacts), 링잉 아티팩트(ringing artifacts), 블러링 아티팩트(blurring artifacts) 등을 줄이기 위해 복원된 픽셀들에 대한 필터링을 수행한다. 필터부(180)는 디블록킹 필터(182)와 SAO(Sample Adaptive Offset) 필터(184)를 포함할 수 있다.
디블록킹 필터(180)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 필터링하고, SAO 필터(184)는 디블록킹 필터링된 영상에 대해 추가적인 필터링을 수행한다. SAO 필터(184)는 손실 부호화(lossy coding)로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해 사용되는 필터이다.
디블록킹 필터(182) 및 SAO 필터(184)를 통해 필터링된 복원블록은 메모리(190)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용될 수 있다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다. 이하에서는 도 4를 참조하여 영상 복호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 복호화 장치는 엔트로피 복호화부(410), 재정렬부(415), 역양자화부(420), 역변환부(430), 예측부(440), 가산기(450), 필터부(460) 및 메모리(470)를 포함하여 구성될 수 있다.
도 1의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
엔트로피 복호화부(410)는 영상 부호화 장치에 의해 생성된 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출함으로써 복호화하고자 하는 현재블록을 결정하고, 현재블록을 복원하기 위해 필요한 예측정보와 잔차신호에 대한 정보 등을 추출한다.
엔트로피 복호화부(410)는 SPS(Sequence Parameter Set) 또는 PPS(Picture Parameter Set)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 그리고, CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할정보를 추출함으로써 트리 구조를 이용하여 CTU를 분할한다.
예컨대, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 MTT의 분할과 관련된 제2 플래그(MTT_split_flag) 및 분할 방향(vertical / horizontal) 및/또는 분할 타입(binary / ternary) 정보를 추출하여 해당 리프 노드를 MTT 구조로 분할한다. 이를 통해 QT의 리프 노드 이하의 각 노드들을 BT 또는 TT 구조로 반복적으로(recursively) 분할한다.
또 다른 예로서, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 CU의 분할 여부를 지시하는 CU 분할 플래그(split_cu_flag)를 추출하고, 해당 블록이 분할된 경우, 제1 플래그(QT_split_flag)를 추출할 수도 있다. 분할 과정에서 각 노드는 0번 이상의 반복적인 QT 분할 후에 0번 이상의 반복적인 MTT 분할이 발생할 수 있다. 예컨대, CTU는 바로 MTT 분할이 발생하거나, 반대로 다수 번의 QT 분할만 발생할 수도 있다.
다른 예로서, QTBT 구조를 사용하여 CTU를 분할하는 경우, QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT로 더 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할 방향 정보를 추출한다.
한편, 엔트로피 복호화부(410)는 트리 구조의 분할을 통해 복호화하고자 하는 현재블록을 결정하게 되면, 현재블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다. 예측 타입 정보가 인트라 예측을 지시하는 경우, 엔트로피 복호화부(410)는 현재블록의 인트라 예측정보(인트라 예측모드)에 대한 신택스 엘리먼트를 추출한다. 예측 타입 정보가 인터 예측을 지시하는 경우, 엔트로피 복호화부(410)는 인터 예측정보에 대한 신택스 엘리먼트, 즉, 움직임벡터 및 그 움직임벡터가 참조하는 참조픽처를 나타내는 정보를 추출한다.
한편, 엔트로피 복호화부(410)는 잔차블록의 코딩 모드에 관한 정보(예컨대, 잔차블록이 부호화되었는지 잔차블록의 서브블록만이 부호화되었는지 여부에 관한 정보, 잔차블록을 서브블록들로 분할하기 위해 선택된 파티션 타입을 나타내는 정보, 부호화된 잔차 서브블록을 식별하는 정보, 양자화 파라미터 등)를 비트스트림으로부터 추출한다. 또한, 엔트로피 복호화부(410)는 잔차신호에 대한 정보로서 현재블록의 양자화된 변환계수들에 대한 정보를 추출한다.
재정렬부(415)는, 영상 부호화 장치에 의해 수행된 계수 스캐닝 순서의 역순으로, 엔트로피 복호화부(410)에서 엔트로피 복호화된 1차원의 양자화된 변환계수들의 시퀀스를 다시 2차원의 계수 어레이(즉, 블록)로 변경할 수 있다.
역양자화부(420)는 양자화된 변환계수들을 역양자화하고, 역변환부(430)는, 잔차블록의 코딩 모드에 관한 정보를 기초로, 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재블록에 대한 복원된 잔차블록을 생성한다.
역변환부(430)는, 잔차블록의 코딩 모드에 관한 정보가 영상 부호화 장치에서 현재블록의 잔차블록이 부호화되었다고 지시하는 경우에, 역양자화된 변환계수들에 대해 현재블록의 사이즈(따라서, 복원될 잔차블록의 사이즈)를 변환 단위로 사용하여 역변환을 수행하여 현재블록에 대한 복원된 잔차블록을 생성한다.
또한, 역변환부(430)는, 잔차블록의 코딩 모드에 관한 정보가 영상 부호화 장치에서 잔차블록의 하나의 서브블록만이 부호화되었다고 지시하는 경우에, 역양자화된 변환계수들에 대해, 변환된 서브블록의 사이즈를 변환 단위로 사용하여, 역변환을 수행하여 변환된 서브블록에 대한 잔차신호들을 복원하고, 비변환된 서브블록에 대한 잔차신호들을 "0" 값으로 채움으로써, 현재블록에 대한 복원된 잔차블록을 생성한다.
예측부(440)는 인트라 예측부(442) 및 인터 예측부(444)를 포함할 수 있다. 인트라 예측부(442)는 현재블록의 예측 타입이 인트라 예측일 때 활성화되고, 인터 예측부(444)는 현재블록의 예측 타입이 인터 예측일 때 활성화된다.
인트라 예측부(442)는 엔트로피 복호화부(410)로부터 추출된 인트라 예측모드에 대한 신택스 엘리먼트로부터 복수의 인트라 예측모드 중 현재블록의 인트라 예측모드를 결정하고, 인트라 예측모드에 따라 현재블록 주변의 참조 픽셀들을 이용하여 현재블록을 예측한다.
인터 예측부(444)는 엔트로피 복호화부(410)로부터 추출된 인트라 예측모드에 대한 신택스 엘리먼트를 이용하여 현재블록의 움직임벡터와 그 움직임벡터가 참조하는 참조픽처를 결정하고, 움직임벡터와 참조픽처를 이용하여 현재블록을 예측한다.
가산기(450)는 역변환부(430)로부터 출력되는 잔차블록과 인터 예측부(444) 또는 인트라 예측부(442)로부터 출력되는 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.
필터부(460)는 디블록킹 필터(462) 및 SAO 필터(464)를 포함할 수 있다. 디블록킹 필터(462)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해, 복원된 블록 간의 경계를 디블록킹 필터링한다. SAO 필터(464)는 손실 부호화(lossy coding)으로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해, 디블록킹 필터링 이후의 복원된 블록에 대해 추가적인 필터링을 수행한다. 디블록킹 필터(462) 및 SAO 필터(464)를 통해 필터링된 복원블록은 메모리(470)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
본 명세서에서는 다양한 코딩 툴들을 제어하는 방법(코딩 툴 제어 방법)이 제안된다.
본 발명에 의해 제어되는 코딩 툴들에는 잔차샘플에 대해 변환/역변환 과정을 스킵하는 코딩 툴, 변환 과정이 적용된 잔차샘플에 대해 다양한 변환 커널들 중에서 하나 이상을 선택적으로 적용하는 코딩 툴, 현재블록의 예측정보를 현재블록이 포함된 현재 픽처 내에 위치하는 다른 블록으로부터 획득하는 코딩 툴, 구간 선형 모델(piece-wise linear model)을 이용하여 예측샘플을 맵핑하고 잔차샘플을 스케일링하는 코딩 툴(제1코딩 툴), 잔차샘플에 대해 차등 부호화(differential coding)를 적용하는 코딩 툴(제2코딩 툴) 등이 포함될 수 있다.
이하에서는, 본 발명에 의해 제어되는 코딩 툴들을 '대상 코딩 툴'이라 지칭하도록 한다. 본 발명에 의해 제어되는 코딩 툴들 즉 대상 코딩 툴은 스크린 콘텐츠를 위한 코딩 툴(screen content coding, SCC)에 해당할 수 있다.
대상 코딩 툴의 제어란 대상 코딩 툴의 활성화(enable)/비활성화(disable) 여부를 의미할 수 있다. 또한, 대상 코딩 툴의 제어란 대상 코딩 툴의 온(on)/오프(off) 여부를 의미할 수도 있다. 대상 코딩 툴의 제어는 대상 코딩 툴에 포함된 코딩 툴들 중에서 하나 이상, 조합 또는 그룹 단위로 수행될 수 있다.
대상 코딩 툴의 활성화/비활성화 여부와 온/오프 여부는 비트스트림의 상위 레벨에서 정의되는 인에이블 플래그를 이용하여 제어될 수 있다. 인에이블 플래그는 대상 코딩 툴의 인에이블 여부를 나타내거나, 부호화/복호화 대상에 SCC가 적용되는지 여부를 나타낼 수도 있다. 후자의 경우는, '영상의 특성이 스크린 콘텐츠인 경우에 잔차샘플에 대해 변환/역변환 과정을 스킵하는 코딩 툴'및 '현재블록의 예측정보를 현재블록이 포함된 현재 픽처 내에 위치하는 다른 블록으로부터 획득하는 코딩 툴'이 높은 확률로 적용될 수 있음을 고려한 것이다. 또한, 후자의 경우는, 영상의 특성이 스크린 콘텐츠가 아닌 경우에 '변환 과정이 적용된 잔차샘플에 대해 다양한 변환 커널들 중에서 하나 이상을 선택적으로 적용하는 코딩 툴'이 높은 확룔로 적용될 수 있음을 고려한 것이다.
이하에서는, 대상 코딩 툴의 인에이블 여부와 대상 코딩 툴에 SCC가 적용되는지 여부를 통합하여, "대상 코딩 툴의 인에이블 여부"로 표현하도록 한다.
인에이블 플래그가 정의되는 비트스트림의 상위 레벨은 아래에서 설명되는 비트스트림의 하위 레벨에 비해, 비트스트림 내에서 상대적으로 높은 레벨을 의미한다. 상위 레벨은 SPS 레벨, PPS 레벨, 픽처 레벨(픽처 헤더 포함), 슬라이스 레벨(슬라이스 헤더 포함), 타일(tile) 레벨(타일 헤더 포함), 브릭(brick) 레벨 등일 수 있다.
인에이블 플래그를 이용하여 대상 코딩 툴을 제어할 수 있는 영상 복호화 장치의 예시적인 블록도가 도 5에 나타나 있으며, 대상 코딩 툴을 제어하는 방법의 일 예를 설명하기 위한 순서도가 도 6에 나타나 있다.
도 5에 나타낸 바와 같이, 영상 복호화 장치는 엔트로피 복호화부(410), 획득부(510) 및 수행부(520)를 포함하여 구성될 수 있다.
영상 부호화 장치는 대상 코딩 툴 중에서 하나 이상의 인에이블 여부를 판단하고, 그 결과를 인에이블 플래그의 값으로 설정할 수 있다. 또한, 영상 부호화 장치는 인에이블 플래그를 부호화하여 비트스트림의 상위 레벨을 통해 영상 복호화 장치로 시그널링할 수 있다.
인에이블 플래그==1은 대상 코딩 툴이 인에이블됨을 나타내며, 인에이블 플래그==0은 대상 코딩 툴이 인에이블되지 않음을 나타낸다. 엔트로피 복호화부(410)는 인에이블 플래그를 비트스트림의 상위 레벨로부터 복호화할 수 있다(S610).
영상 부호화 장치는 대상 코딩 툴의 적용 여부 또는 수행 여부를 판단할 수 있다. 또한, 영상 부호화 장치는 인에이블 플래그의 값에 따라 대상 코딩 툴의 적용 여부 또는 수행 여부를 나타내는 적용 플래그의 시그널링 여부를 결정할 수 있다.
예를 들어, 인에이블 플래그==1인 경우에 적용 플래그가 시그널링되지 않고, 인에이블 플래그==0인 경우에 적용 플래그가 부호화되어 비트스트림의 하위 레벨을 통해 영상 복호화 장치로 시그널링될 수 있다. 다른 예로, 인에이블 플래그==1인 경우에 적용 플래그가 부호화되어 비트스트림의 하위 레벨을 통해 영상 복호화 장치로 시그널링되고, 인에이블 플래그==0인 경우에 적용 플래그가 시그널링되지 않을 수 있다. 적용 플래그==1은 대상 코딩 툴이 적용됨을 나타내며, 적용 플래그==0은 대상 코딩 툴이 적용되지 않음을 나타낸다.
적용 플래그는 대상 코딩 툴에 포함된 코딩 툴들 모두에 대한 적용 여부를 나타내거나, 대상 코딩 툴에 포함된 코딩 툴들 중에서 하나 이상의 적용 여부를 나타낼 수도 있다. 후자의 경우에, 적용 플래그는 제1코딩 툴의 적용 여부를 나타내는 적용 플래그를 제1적용 플래그 및 제2코딩 툴의 적용 여부를 나타내는 적용 플래그를 제2적용 플래그로 구분될 수 있다.
획득부(510)는 인에이블 플래그의 값에 따라, 적용 플래그를 미리 결정된 값으로 설정하거나 적용 플래그를 비트스트림의 하위 레벨로부터 복호화하여, 적용 플래그의 값을 획득할 수 있다(S620).
예를 들어, 인에이블 플래그==1인 경우에 적용 플래그가 묵시적으로 1 값으로 설정되고, 인에이블 플래그==0인 경우에 적용 플래그가 비트스트림의 하위 레벨로부터 복호화될 수 있다. 다른 예로, 인에이블 플래그==1인 경우에 적용 플래그가 비트스트림의 하위 레벨로부터 복호화되고, 인에이블 플래그==0인 경우에 적용 플래그의 값이 묵시적으로 0 값으로 설정될 수 있다.
영상 부호화 장치는 대상 코딩 툴이 적용되는 경우에 이 대상 코딩 툴을 수행하여 부호화 대상을 부호화하고, 대상 코딩 툴이 적용되지 않는 경우에는 대상 코딩 툴을 수행하지 않을 수 있다.
수행부(520)는 획득된 적용 플래그의 값이 대상 코딩 툴이 적용됨을 지시하는 값인 경우에 대상 코딩 툴을 수행하고, 획득된 적용 플래그의 값이 대상 코딩 툴이 적용되지 않음을 지시하는 값인 경우에는 대상 코딩 툴을 수행하지 않을 수 있다(S630).
인에이블 플래그의 값에 따라 적용 플래그의 값을 획득하는 두 가지 예들이 도 7 및 도 8에 각각 나타나 있다.
도 7에 나타낸 바와 같이, 획득부(510)는 인에이블 플래그의 값을 판단할 수 있다(S710). 인에이블 플래그==1인 경우에 적용 플래그가 영상 부호화 장치로부터 시그널링되지 않으므로, 획득부(510)는 적용 플래그의 값을 대상 코딩 툴이 적용됨을 지시하는 값(1, 미리 결정된 값)으로 설정할 수 있다(S720). 이와 달리, 인에이블 플래그==0인 경우, 적용 플래그가 영상 부호화 장치로부터 시그널링되므로, 획득부(510)는 비트스트림의 하위 레벨로부터 적용 플래그를 복호화하여 그 값을 획득할 수 있다(S730).
수행부(520)는 획득된 적용 플래그의 값을 판단할 수 있다(S740). 수행부(520)는 적용 플래그==1인 경우에 대상 코딩 툴을 수행하고(S750), 적용 플래그==0인 경우에 대상 코딩 툴을 수행하지 않을 수 있다(S760).
도 8에 나타낸 바와 같이, 획득부(510)는 인에이블 플래그의 값을 판단할 수 있다(S810). 인에이블 플래그==1인 경우에 적용 플래그가 영상 부호화 장치로부터 시그널링되므로, 획득부(510)는 비트스트림의 하위 레벨로부터 적용 플래그를 복호화하여 그 값을 획득할 수 있다(S820). 이와 달리, 인에이블 플래그==0인 경우에 적용 플래그가 영상 부호화 장치로부터 시그널링되지 않으므로, 획득부(510)는 적용 플래그의 값을 대상 코딩 툴이 적용되지 않음을 지시하는 값(0, 미리 결정된 값)으로 설정할 수 있다(S830).
수행부(520)는 획득된 적용 플래그의 값을 판단할 수 있다(S840). 수행부(520)는 적용 플래그==1인 경우에 대상 코딩 툴을 수행하고(S850), 적용 플래그==0인 경우에 대상 코딩 툴을 수행하지 않을 수 있다(S860).
이와 같이, 본 발명의 코딩 툴 제어 방법에 의하면, 상위 레벨에서 정의되는 인에이블 플래그의 값에 따라, 하위 레벨에서 정의되는 적용 플래그의 시그널링 여부가 결정되므로, 대상 코딩 툴의 제어를 상위 레벨에서 구현할 수 있다. 따라서, 비트 효율성이 향상될 수 있다. 또한, 비트 효율성의 향상은 게임 방송, 360도 동영상 스트리밍, VR/AR 영상, 온라인 강의 등의 다양한 콘텐츠에 소요되는 비트율을 감소시킬 수 있으므로, 결과적으로 네트워크의 부담이 경감될 뿐만 아니라, 다양한 콘텐츠를 복호화하는 영상 재생 가능 기기(영상 복호화 장치)의 에너지 효율성 향상 및 신속한 복호화가 달성될 수 있다.
이하에서는, 코딩 툴 제어 방법이 대상 코딩 툴 각각에 대해 적용되는 예를 구분하여 설명하도록 한다.
변환/역변환 과정을 스킵하는 코딩 툴
잔차샘플의 변환은 효율적인 영상 압축과 시각적 인지의 중요성을 고려하여 잔차샘플을 픽셀 도메인으로부터 주파수 도메인으로 변환하고, 잔차샘플의 역변환은 잔차샘플을 주파수 도메인으로부터 픽셀 도메인으로 변환하는 기술이다.
그러나, 스크린 콘텐츠와 같은 비자연 영상의 경우에는 이러한 변환/역변환 기법이 비효율적일 수 있으므로, 이러한 경우에는 변환/역변환 기법이 생략(변환 스킵)될 수 있다. 잔차샘플에 대한 변환/역변환이 생략되는 경우에는 잔차샘플에 대한 스케일링(양자화/역양자화)만이 수행되거나, 또는 스케일링도 수행되지 않고 엔트로피 부호화/복호화만이 수행될 수 있다.
종래 부호화/복호화 방법의 경우에, 변환블록의 크기가 4x4, 8x8, 16x16, 32x32로 정해져 있으며, 이 변환블록들에 대해 변환 또는 변환 스킵이 적용될 수 있다. 변환블록에 변환이 적용된 경우에, 영상 복호화 장치는 양자화된 변환계수(TransCoeffLevel[x][y])를 역양자화하고, 역양자화된 변환계수(d[x][y])를 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차샘플(r[x][y])을 복원할 수 있다. 또한, 영상 복호화 장치는 복원된 잔차샘플을 영상의 비트 뎁스에 따라 수정(shift)하여 수정된 잔차샘플을 유도할 수 있다.
종래 부호화/복호화 방법의 경우에, 크기가 4x4인 변환블록에 대해 변환 스킵이 적용되거나, 추가적인 신택스 요소에 따라 다른 크기의 변환블록에 대해서도 변환 스킵이 적용될 수 있다. 변환블록에 변환 스킵이 적용된 경우에, 영상 복호화 장치는 양자화된 변환계수(TransCoeffLevel[x][y])를 역양자화하고, 역양자화된 변환계수(d[x][y])에 shift 연산을 적용하여 잔차샘플(r[x][y])을 복원할 수 있다. 또한, 영상 복호화 장치는 복원된 잔차샘플을 영상의 비트 뎁스에 따라 수정(shift)하여 수정된 잔차샘플을 유도할 수 있다. 여기서, 역양자화된 변환계수에 적용된 shift 연산은 변환 기법을 대신하여 적용된 것이다.
변환 스킵된 잔차샘플에 대해 회전 기법이 적용되었는지 여부를 지시하는 플래그가 회전 기법이 적용되었음을 지시하는 경우에는, 변환 스킵된 잔차샘플이 180도 회전될 수 있다. 따라서, 영상 복호화 장치는 대칭성(회전)을 고려하여 잔차샘플들을 반대 방향 또는 반대 순서로 스캔할 수 있다.
종래 부호화/복호화 방법에 따르면, 변환블록에 변환 기법이 적용되었는지 여부를 나타내는 신택스 요소(변환 스킵 플래그)가 변환유닛마다 시그널링되므로 비트 효율성이 저하될 수 있다. 또한, 종래 부호화/복호화 방법에 따르면, 변환유닛 내에 변환 스킵 플래그가 존재하는지 여부를 나타내는 신택스 요소(존재 플래그)가 추가적으로 시그널링되므로, 비트 효율성이 더욱 저하될 수 있다.
앞서 설명된 바와 같이, 본 발명에서 제안하는 인에이블 플래그(예: pic_scc_tool_enabled_flag)를 상위 레벨에서 시그널링하면, 변환 스킵 플래그의 시그널링은 물론 존재 플래그의 시그널링도 생략할 수 있다.
예를 들어, 인에이블 플래그==1인 경우에 적용 플래그(변환 스킵 플래그 및 존재 플래그)가 시그널링되지 않고 그 값이 묵시적으로 1로 설정되며, 인에이블 플래그==0인 경우에 적용 플래그가 비트스트림의 하위 레벨로부터 복호화될 수 있다. 다른 예로, 인에이블 플래그==1인 경우에 적용 플래그가 비트스트림의 하위 레벨로부터 복호화되고, 인에이블 플래그==0인 경우에 적용 플래그가 시그널링되지 않고 그 값이 묵시적으로 0으로 설정될 수 있다. 따라서, 적용 플래그에 대한 시그널링이 생략되어 비트 효율성이 향상될 수 있다.
변환 커널을 선택적으로 적용하는 코딩 툴
잔차샘플에 대해 변환 기법이 적용되는 경우에, DCT-Ⅱ 변환 커널(변환 타입)이 잔차샘플에 대해 일반적으로 적용된다. 다만, 잔차샘플의 다양한 특성에 따라 보다 적절한 변환 기법을 적용하기 위하여, 여러 개의 변환 커널들 중에서 최적의 하나 또는 두 개의 변환 커널을 선택적으로 잔차샘플에 적용하는 코딩 툴이 수행될 수도 있다.
이 코딩 툴에 이용될 수 있는 변환 커널들이 표 1에 나타나 있다.
변환 커널을 선택적으로 적용하는 코딩 툴의 신택스 요소들은 부호화되어 블록 레벨을 통해 영상 부호화 장치로부터 영상 복호화 장치로 시그널링될 수 있다. 해당 코딩 툴이 적용되는 경우에는 가로 방향(horizontal)의 변환 커널과 세로(vertical) 방향의 변환 커널을 선택하기 위한 신택스 요소들(가로 플래그 및 세로 플래그)이 시그널링될 수 있다. 가로 플래그 및 세로 플래그를 통해 가로 방향에 적용되는 변환 커널과 세로 방향에 적용되는 변환 커널이 서로 다르게 선택될 수 있다. 적용 플래그, 가로 플래그 및 세로 플래그 간의 맵핑 테이블이 표 2에 나타나 있다.
앞서 설명된 바와 같이, 본 발명에서 제안하는 인에이블 플래그를 상위 레벨에서 시그널링하면, 변환 기법이 스킵된 경우에 적용 플래그, 가로 플래그 및 세로 플래그의 시그널링도 생략할 수 있다. 이는, 인에이블 플래그==1인 경우에, 해당 픽처 내에서 변환 기법이 스킵될 가능성이 높기 때문이다.
예를 들어, 인에이블 플래그==1인 경우에 적용 플래그가 시그널링되지 않고 그 값이 묵시적으로 1로 설정되며, 인에이블 플래그==0인 경우에 적용 플래그가 비트스트림의 하위 레벨로부터 복호화될 수 있다. 다른 예로, 인에이블 플래그==1인 경우에 적용 플래그가 비트스트림의 하위 레벨로부터 복호화되고, 인에이블 플래그==0인 경우에 적용 플래그가 시그널링되지 않고 그 값이 묵시적으로 0으로 설정될 수 있다. 두 가지 예의 경우에, 가로 플래그 및 세로 플래그는 적용 플래그==0인 경우에 시그널링되지 않고, 적용 플래그==1인 경우에 시그널링될 수 있다. 따라서, 적용 플래그, 가로 플래그 및 세로 플래그의 시그널링이 생략되어 비트 효율성이 향상될 수 있다.
실시형태에 따라, 본 발명에서는 DUAL_TREE_CHROMA에 대해 변환 스킵 여부를 추가적으로 판단할 수 있다. 종래에는 DUAL_TREE_CHROMA인 경우에 변환 기법의 스킵이 적용되지 않았으나, 본 발명에서는, 색차 성분에 대한 cbf 플래그인 tu_cbf_cb 또는 tu_cbf_cr를 체크하여, 색차 잔차샘플이 존재하고 변환블록의 크기가 변환 기법의 스킵이 적용될 수 있는 최대 크기를 넘지 않는 경우에, 휘도 성분에 적용된 변환 스킵 방식을 그대로 색차 성분에 적용할 수 있다.
현재블록의 예측정보를 현재픽처 내에 위치하는 다른 블록으로부터 획득하는 코딩 툴
종래의 경우, 해당 코딩 툴의 인에이블 여부를 지시하는 신택스 요소가 SPS 레벨에서 부호화되어 시그널링되며, 해당 코딩 툴이 인에이블된 경우에 현재블록이 해당 코딩 툴로 부호화되었는지 여부를 지시하는 신택스 요소(적용 플래그)가 블록 단위로 시그널링된다.
이와 같은 종래 방법의 경우에, 적용 플래그가 매 블록마다 시그널링되므로, 비트 효율성이 저하될 수 있다. 앞서 설명된 바와 같이, 현재블록이 포함된 상위 단위가 SCC에 이용되는지 여부(pic_scc_tool_enabled_flag, 인에이블 플래그)를 상위 레벨에서 시그널링하면, SCC가 아닌 경우에 적용 플래그를 매 블록마다 시그널링하지 않아도 되므로, 비트 효율성이 향상될 수 있다.
예를 들어, 인에이블 플래그==1인 경우에 적용 플래그가 시그널링되지 않고 그 값이 묵시적으로 1로 설정되며, 인에이블 플래그==0인 경우에 적용 플래그가 비트스트림의 하위 레벨로부터 복호화될 수 있다. 다른 예로, 인에이블 플래그==1인 경우에 적용 플래그가 비트스트림의 하위 레벨로부터 복호화되며, 인에이블 플래그==0인 경우에 적용 플래그가 시그널링되지 않고 그 값이 묵시적으로 0으로 설정될 수 있다.
실시예에 따라, 인에이블 플래그는 슬라이스 헤더 레벨에서 정의되는 인에이블 플래그와, 상대적인 상위 레벨에서 정의되는 인에이블 플래그(pic_scc_tool_enabled_flag)로 이루어질 수 있다.
슬라이스 헤더 레벨에서 정의되는 인에이블 플래그는 상위 레벨에서 정의되는 인에이블 플래그==0인 경우에 부호화되어 영상 복호화 장치로 시그널링되고, 영상 복호화 장치에서 복호화될 수 있다.
이와 같은 경우, 슬라이스 헤더 레벨에서 정의되는 인에이블 플래그가 비트스트림에 존재하지 않는다면, 적용 플래그의 시그널링 및 복호화 과정이 생략될 수 있다.
제1코딩 툴
제1코딩 툴은 구간 선형 모델을 이용하여 예측샘플을 맵핑하고 잔차샘플을 스케일링하는 코딩 툴을 의미한다. 제1코딩 툴은 인루프 필터링이 적용되기 전 단계에서 각 블록에 대해 추가적으로 적용될 수 있다. 제1코딩 툴은 스크린 콘텐츠의 특성을 가지는 영상에 대해 높은 압축 효율을 발생시킬 수 있다.
제1코딩 툴을 설명하기 위한 예시적인 블록도가 도 9에 나타나 있다. 제1코딩 툴은 크게 두 가지 과정으로 이루어질 수 있는 데, 하나의 과정은 적응적인 구간 선형 모델을 기반으로 하여 휘도 예측샘플을 인루프 맵핑하는 것이고, 나머지 과정은 휘도 복원샘플의 값에 따라 색차 잔차샘플을 스케일링하는 것이다.
도 9에서, 역양자화/역변환, 휘도샘플 복원 및 luma의 인트라 예측은 맵핑된 도메인 내에서 처리가 수행된다. 색차 잔차샘플 스케일링, 맵핑 및 luma 인터 예측에는 제1코딩 툴이 적용된다. 나머지 블록들은 맵핑되지 않은 원래 도메인에서 수행되는 기능들이다.
휘도 예측샘플에 대한 맵핑은 휘도 예측샘플의 코드워드를 재분배하여 동적 범위를 조정함으로써 압축 효율을 향상시키는 과정과, 맵핑된 도메인 내 휘도 복원샘플을 맵핑되지 않은 도메인으로 역맵핑하는 과정으로 이루어질 수 있다. 여기서, 휘도 복원샘플은 맵핑된 휘도 예측샘플과 휘도 잔차샘플을 합산하여 유도될 수 있으며, 휘도 잔차샘플은 영상 부호화 장치에서 맵핑된 상태로 시그널링된다.
제1코딩 툴의 인에이블 여부는 비트스트림 내 두 개 이상의 레벨에서 정의되는 인에이블 플래그들을 통해 결정될 수 있다. 인에이블 플래그들 중에서 어느 하나는 다른 하나에 비해 상대적으로 상위의 레벨에서 시그널링될 수 있다. 상대적인 상위의 레벨에서 시그널링되는 인에이블 플래그는 '제1인에이블 플래그'이며, 상대적인 하위의 레벨에서 시그널링되는 인에이블 플래그는 '제2인에이블 플래그'이다.
제1인에이블 플래그==1은 제1코딩 툴이 상대적인 상위의 레벨에서 인에이블됨을 나타내며, 제1인에이블 플래그==0은 제1코딩 툴이 상대적인 상위의 레벨에서 인에이블되지 않음을 나타낼 수 있다. 제2인에이블 플래그는 제1인에이블 플래그==1인 경우에 부호화되어 시그널링될 수 있다. 제2인에이블 플래그==1인 상대적인 하위 레벨에서 제1코딩 툴이 인에이블됨을 나타내며, 제2인에이블 플래그==0은 상대적인 하위 레벨에서 제1코딩 툴이 인에이블되지 않음을 나타낼 수 있다.
제1코딩 툴의 적용 여부는 비트스트림 내에서 인에이블 플래그들 보다 상대적으로 하위의 레벨에서 정의되는 적용 플래그(제1적용 플래그)를 통해 결정될 수 있다. 제1적용 플래그는 제2인에이블 플래그==1인 경우에 시그널링되거나 미리 결정된 값(1)으로 설정될 수 있다. 실시예를 달리하여, 제1적용 플래그는 제2인에이블 플래그==0인 경우에 시그널링되거나 미리 결정된 값(0)으로 설정될 수 있다.
제1코딩 툴의 적용 여부를 결정하기 위해, 제1적용 플래그를 매 하위 레벨마다 부호화하여 시그널링하고 복호화한다면, 제1코딩 툴의 적용 여부를 판단하는 과정에 대한 비트 효율성이 저하될 수 있다.
본 발명은 제1코딩 툴의 인에이블 여부를 지시하는 인에이블 플래그(제2인에이블 플래그)를 비트스트림의 상위 레벨에서 정의함으로써, 제1코딩 툴의 비트 효율성을 향상시키고자 한다.
제2인에이블 플래그를 이용하여 제1코딩 툴을 제어할 수 있는 영상 복호화 장치의 예시적인 블록도가 도 10에 나타나 있으며, 제2인에이블 플래그를 이용하여 제1코딩 툴을 제어하는 방법에 대한 일 예가 도 11에 나타나 있다.
도 10에 나타낸 바와 같이, 영상 복호화 장치는 엔트로피 복호화부(410), 획득부(510), 수행부(520) 및 유도부(1010)를 포함하여 구성될 수 있다. 또한, 수행부(520)는 구간 결정부(522) 및 샘플 유도부(524)를 포함하여 구성될 수 있으며, 유도부(1010)는 제1유도부(1012), 제2유도부(1014) 및 계수 유도부(1016)를 포함하여 구성될 수 있다.
영상 부호화 장치는 현재블록이 포함된 시퀀스에 대해 제1코딩 툴의 인에이블 여부를 판단하고, 판단 결과를 제1인에이블 플래그의 값으로 설정할 수 있다. 제1인에이블 플래그는 부호화되어 비트스트림의 SPS 레벨을 통해 영상 복호화 장치로 시그널링될 수 있다.
또한, 영상 부호화 장치는 제1인에이블 플래그==1인 경우에, 현재블록이 포함된 픽처에 대해 제1코딩 툴의 인에이블 여부를 판단하고, 그 결과를 제2인에이블 플래그의 값으로 설정할 수 있다. 제2인에이블 플래그는 부호화되어 비트스트림의 픽처 레벨(픽처 헤더 포함)을 통해 영상 복호화 장치로 시그널링될 수 있다.
나아가, 영상 부호화 장치는 제2인에이블 플래그==1인 경우에, 제1코딩 툴이 현재블록이 포함된 슬라이스에 적용되었는지 여부를 판단하고, 그 결과를 제1적용 플래그의 값으로 설정할 수 있다. 제1적용 플래그는 부호화되어 비트스트림의 슬라이스 레벨(슬라이스 헤더 포함)을 통해 영상 복호화 장치로 시그널링될 수 있다.
엔트로피 복호화부(410)는 비트스트림의 SPS 레벨로부터 제1인에이블 플래그를 복호화하고(S1110), 제1인에이블 플래그의 값을 통해 제1코딩 툴의 인에이블 여부를 판단할 수 있다(S1120). 또한, 엔트로피 복호화부(410)는 제1인에이블 플래그==1인 경우에 비트스트림의 픽처 레벨로부터 제2인에이블 플래그를 복호화하고(S1130), 제2인에이블 플래그의 값을 통해 제1코딩 툴의 인에이블 여부를 판단할 수 있다(S1140).
획득부(510)는 제2인에이블 플래그==1인 경우에 비트스트림의 슬라이스 레벨로부터 제1적용 플래그를 복호화하여 제1적용 플래그의 값을 획득할 수 있다(S1160). 이 예에서, 제2인에이블 플래그==0인 경우에 제1적용 플래그는 시그널링되지 않고, 0의 값으로 묵시적으로 설정될 수 있다. 실시형태에 따라, 획득부(510)는 제2인에이블 플래그==0인 경우에 비트스트림의 슬라이스 레벨로부터 제1적용 플래그를 복호화하여 제1적용 플래그의 값을 획득할 수도 있다(S1160). 이 예에서, 제2인에이블 플래그==1인 경우에 제1적용 플래그는 시그널링되지 않고, 1의 값으로 묵시적으로 설정될 수도 있다.
수행부(520)는 제1적용 플래그==1인 경우에 제1코딩 툴을 수행하며(S1170), 제1적용 플래그==0인 경우에는 제1코딩 툴을 수행하지 않을 수 있다(S1180). S1120 과정에서 제1인에이블 플래그==0이거나, S1140 과정에서 제2인에이블 플래그==0인 경우에도 제1코딩 툴은 수행되지 않는다(S1180).
이하에서는 제1코딩 툴에서 수행되는 구체적인 과정들에 대해 설명하도록 한다.
휘도 예측샘플 맵핑
구간 선형 모델은 입력신호의 동적 범위와 출력신호의 동적 범위 사이의 관계를 나타낼 수 있다. 입력신호의 동적 범위는 미리 설정된 개수의 동등한 구간들로 분할되고, 각 구간에 대한 구간 선형 모델이 각 구간에 할당된 코드워드의 개수를 통해 표현된다. 예를 들어, 입력 영상이 10 비트의 비트 뎁스를 가지며 구간들의 미리 설정된 개수가 16개인 경우, 16개의 구간들 각각에는 64개의 코드워드가 기본적으로 할당될 수 있다.
휘도 예측샘플의 맵핑은 인터 예측된 휘도 예측샘플의 동적 범위를 미리 설정된 개수의 구간으로 분할하고, 각 구간에 구간 선형 모델을 적용하여 휘도 예측샘플의 코드워드(각 구간의 코드워드)를 재분배함으로써, 맵핑되기 이전의 도메인(오리지널 도메인) 내 휘도 예측샘플을 맵핑된 도메인으로 맵핑하는 방법이다. 구간 선형 모델에 기반하여 휘도 예측샘플로부터 맵핑된 휘도 예측샘플은 '맵핑된 휘도 예측샘플'이다. 인트라 예측은 맵핑된 도메인 내에서 수행되므로, 인트라 모드로 부호화된 블록에 대해서는 맵핑이 적용되지 않는다.
영상 부호화 장치는 구간 선형 모델에 기반하여 휘도 예측샘플을 대상으로 맵핑을 수행하고(맵핑된 휘도 예측샘플을 생성하고), 맵핑된 휘도 예측샘플이 속할 수 있는 구간들(제2구간들)에 대한 정보를 부호화하여 영상 복호화 장치로 시그널링할 수 있다.
제2구간들에 대한 정보에는 '제2구간들 중에서 제1코딩 툴에 이용될 수 있는 구간들의 인덱스 정보(구간 인덱스 정보)'와 '코드워드의 개수정보'가 포함될 수 있다. 구간 인덱스 정보에는 제1코딩 툴에 이용될 수 있는 구간들 중에서 최소의 인덱스를 가지는 구간의 인덱스 정보와 최대의 인덱스를 가지는 구간의 인덱스 정보가 포함될 수 있다. 코드워드의 개수정보에는 오리지널 구간들(제1구간들)에 할당된(또는, 포함된) 코드워드의 개수와 제1코딩 툴에 이용될 수 있는 제2구간들 각각에 할당된 코드워드의 개수 사이의 차이(코드워드 델타 값)를 나타내는 정보들(차이의 절대 값 및 부호)이 포함될 수 있다. 이하에서는, 차이의 절대 값을 '코드워드 절대 값'이라 지칭하며, 차이의 부호를 '코드워드 부호'라 지칭하도록 한다.
도 12에 나타낸 바와 같이, 엔트로피 복호화부(410)는 비트스트림으로부터 제2구간들에 대한 정보를 복호화할 수 있다(S1210). 유도부(1010)는 제2구간들에 대한 정보 및 영상의 비트 뎁스에 기초하여, 제1구간들 각각의 구간 선형 모델을 유도할 수 있다(제1구간들과 제2구간들 사이의 맵핑 관계를 유도할 수 있다)(S1220). 여기서, 구간 선형 모델 즉 맵핑 관계에는 '제1구간들 각각에 할당된 코드워드의 개수(비트 수)와 제2구간들 각각에 할당된 코드워드의 개수(비트 수) 사이의 스케일링 관계를 나타내는 스케일링 계수'가 포함될 수 있다. 스케일링 계수는 제1구간들 각각의 길이와 제2구간들 각각의 길이 사이의 관계를 나타낼 수도 있다.
구간 결정부(512)는 제1구간들 중에서 휘도 예측샘플이 속하는 구간(제1대상 구간)을 결정하고, 샘플 유도부(514)는 제1대상 구간에 대응되는 구간 선형 모델을 이용하여 휘도 예측샘플을 맵핑 구간으로 맵핑함으로써 맵핑된 휘도 예측샘플을 유도할 수 있다(S1240). S1240 과정을 달리 표현하면, '샘플 유도부(514)는 제1대상 구간과 맵핑 구간 사이의 맵핑 관계를 휘도 예측샘플에 적용하여 맵핑된 휘도 예측샘플을 유도함'이다. 여기서, 맵핑 구간은 제2구간들 중에서 제1대상 구간에 대응되는 구간일 수 있다. 제1구간들 각각과 제2구간들 각각의 대응 여부는 각 구간들에 할당된 인덱스 또는 각 구간들의 순서일 수 있다.
맵핑 관계에 포함되는 스케일링 계수를 유도하는 구체적인 방법에 대한 일 예가 도 13에 나타나 있다.
제1유도부(1012)는 비트 뎁스에 기초하여 제1구간들 각각에 할당된 코드워드의 개수를 유도할 수 있다(S1310). 앞서 설명된 바와 같이, 제1구간들에는 같은 개수의 코드워드가 할당 또는 포함될 수 있다. 즉, 제1구간들은 서로 같은 크기를 가질 수 있다.
제2유도부(1014)는 제1구간들 각각에 할당된 코드워드의 개수와 제2구간들에 대한 정보에 기초하여, 제2구간들 각각에 할당된 코드워드의 개수를 유도할 수 있다(S1320). 구체적으로, 코드워드 절대 값에 코드워드 부호를 적용하여 코드워드 델타 값이 유도될 수 있으며, 제1구간들 각각에 할당된 코드워드의 개수와 코드워드 델타 값을 합산하여 제2구간들 각각에 할당된 코드워드의 개수가 유도될 수 있다.
계수 유도부(1016)는 제1구간들 각각에 할당된 코드워드의 개수와 제2구간들 각각에 할당된 코드워드의 개수를 이용하여 스케일링 계수를 유도할 수 있다(S1330).
휘도 복원샘플 역맵핑
역맵핑은 맵핑된 휘도 복원샘플을 맵핑되지 않은 도메인으로 역맵핑하는 과정이다. 맵핑된 휘도 복원샘플은 맵핑된 휘도 예측샘플과 휘도 잔차샘플을 합산하여 유도될 수 있으며, 휘도 잔차샘플은 영상 부호화 장치에서 맵핑된 상태로 시그널링된다.
도 14에 나타낸 바와 같이, 유도부(1010)는 비트 뎁스 및 제2구간들에 대한 정보에 기초하여, 제2구간들 각각의 역 구간 선형 모델을 유도할 수 있다(제1구간들과 제2구간들 사이의 역맵핑 관계를 유도할 수 있다)(S1410). 예를 들어, 유도부(1010)는 제1구간들 각각에 할당된 코드워드의 개수와 제2구간들 각각에 할당된 코드워드의 개수를 이용하여 역스케일링 계수를 유도할 수 있다. 여기서, 역스케일링 계수는 제1구간들 각각과 제2구간들 각각 사이의 역스케일링 관계를 나타내는 파라미터로서, 역 구간 선형 모델 또는 역맵핑 관계에 포함될 수 있다.
역 구간 선형 모델은 휘도 예측샘플의 맵핑에 이용된 구간 선형 모델과 역(reverse)의 관계를 가질 수 있으며, 역맵핑 관계는 휘도 예측샘플의 맵핑에 이용된 맵핑 관계와 역의 관계를 가질 수 있다.
구간 결정부(522)는 제2대상 구간을 결정할 수 있다(S1420). 제2대상 구간은 제2구간들 중에서 휘도 복원샘플이 속하는 구간(역맵핑되기 전 휘도 복원샘플이 속하는 구간)일 수 있다.
샘플 유도부(524)는 제2대상 구간에 대응되는 역 구간 선형 모델을 이용하여 휘도 복원샘플을 역맵핑 구간으로 역맵핑함으로써, 역맵핑된 휘도 복원샘플을 유도 또는 생성할 수 있다(S1430). 즉, 샘플 유도부(524)는 제2대상 구간 및 역맵핑 구간 사이의 역맵핑 관계를 휘도 복원샘플에 적용하여(휘도 복원샘플을 역맵핑하여) 역맵핑된 휘도 복원샘플을 유도할 수 있다. 여기서, 역맵핑 구간은 제1구간들 중에서, 역맵핑된 휘도 복원샘플이 속하는 구간 또는 제2대상 구간에 대응되는 구간일 수 있다. 제1구간들 각각과 제2구간들 각각의 대응 여부는 각 구간들에 할당된 인덱스 또는 각 구간들의 순서일 수 있다.
색차 잔차샘플들 스케일링
색차 잔차샘플들의 스케일링은 휘도 복원샘플들의 값에 따라 색차 잔차샘플들을 스케일링하는 방법이다.
색차 잔차샘플들의 스케일링은 앞에서 설명된 제1적용 플래그==1이거나 아래에서 설명되는 색차 플래그==1인 경우에 수행될 수 있다. 또한, 색차 잔차샘플들의 스케일링은 색차 잔차샘플들(색차 잔차블록)의 사이즈가 미리 설정된 값(예를 들어, 4)을 초과하는 경우에 수행될 수 있다.
영상 부호화 장치는 현재블록의 색차 잔차샘플들에 대한 스케일링이 수행되었는지 여부를 판단하고, 그 판단 결과를 색차 플래그의 값으로 설정할 수 있다. 색차 플래그는 현재블록이 포함된 현재픽처에 대해 색차 잔차샘플의 스케일링이 인에이블되는지 여부 및/또는 적용되는지 여부를 나타낼 수 있다. 색차 플래그==1은 색차 잔차샘플의 스케일링이 인에이블됨 및/또는 적용됨을 나타내고, 색차 플래그==0은 색차 잔차샘플의 스케일링이 인에이블되지 않음 및/또는 적용되지 않음을 나타낼 수 있다. 색차 플래그는 제2인에이블 플래그==1인 경우에 부호화되어 비트스트림의 픽처 레벨 또는 슬라이스 레벨을 통해 영상 복호화 장치로 시그널링될 수 있다.
도 15에 나타낸 바와 같이, 엔트로피 복호화부(410)는 제2인에이블 플래그==1인 경우에(S1510) 비트스트림의 픽처 레벨로부터 색차 플래그를 복호화할 수 있다(S1520).
수행부(520)는 적용 플래그==1이고(S1530) 색차 플래그==1인 경우에(S1540), 색차 잔차샘플들에 대한 스케일링을 수행하여 스케일링된 색차 잔차샘플들을 유도할 수 있다(S1550). 색차 잔차샘플들의 스케일링은 비트스트림으로부터 복호화된 색차 스케일링 정보를 이용하여 수행될 수 있다.
색차 스케일링 정보는 휘도 성분과 색차 성분 사이의 상관관계를 보상하기 위한 정보로서, 휘도 예측샘플의 맵핑에 이용된 제2구간의 동적 범위를 색차 잔차샘플의 스케일링에 적합하도록 조절하기 위한 정보이다.
S1510 과정에서 제2인에이블 플래그==0이거나, S1530 과정에서 적용 플래그==0이거나, S1540 과정에서 색차 플래그==0인 경우에, 색차 잔차샘플들에 대한 스케일링이 수행되지 않을 수 있다(S1560).
영상 부호화 장치는 색차 잔차샘플들의 스케일링을 수행하고, 스케일링 전 제2구간들 각각에 포함된 코드워드의 개수와 스케일링 후 제2구간들 각각에 포함된 코드워드의 개수를 차분할 수 있다. 또한, 영상 부호화 장치는 차분한 결과(차분한 값)에 대한 정보(색차 스케일링 정보)를 부호화하여 영상 복호화 장치로 시그널링할 수 있다. 색차 스케일링 정보에는 차분한 값의 크기인 델타 색차 코드워드 크기와 차분한 값의 부호인 델타 색차 코드워드 부호가 포함될 수 있다.
엔트로피 복호화부(410)는 비트스트림으로부터 색차 스케일링 정보를 복호화할 수 있다(S1610).
유도부(1010)는 비트 뎁스, 제2구간들에 대한 정보 및 색차 스케일링 정보에 기초하여, 스케일링 관계를 유도할 수 있다(S1620). 예를 들어, 유도부(1010)는 델타 색차 코드워드 크기와 델타 색차 코드워드 부호를 이용하여 델타 색차 코드워드(제2구간들 각각에 포함된 코드워드의 개수와 제3구간들 각각에 포함된 코드워드의 개수를 차분한 값)를 유도하고, 제2구간들 각각에 포함된 코드워드의 개수와 델타 색차 코드워드를 합산하여 제2구간의 동적 범위를 조절함으로써, 제2구간들 각각의 색차 스케일링 관계를 유도할 수 있다.
유도부(1010)에서 유도되는 색차 스케일링 관계는 영상 부호화 장치에서 색차 잔차샘플들의 스케일링에 이용된 색차 스케일링 관계와 역의 관계를 가질 수 있다. 따라서, 유도부(1010)에서 유도되는 색차 스케일링 관계는 역의 색차 스케일링 관계일 수 있다.
구간 결정부(522)는 색차 잔차샘플들(현재블록)의 좌측에 위치하는 휘도 복원샘플들과 색차 잔차샘플들(현재블록)의 상측에 위치하는 휘도 복원샘플들의 평균 값을 유도하고(S1630), 제2구간들 중에서 평균 값이 속하는 구간을 결정할 수 있다(S1640).
샘플 유도부(524)는 평균 값이 속하는 구간에 대응되는 색차 스케일링 관계를 이용하여 색차 잔차샘플들을 스케일링함으로써, 스케일링된 색차 잔차샘플들을 생성 또는 유도할 수 있다(S1650).
제2코딩 툴
제2코딩 툴은 변환 스킵 모드가 적용된 잔차샘플들의 압축 성능을 향상시키기 위하여 잔차샘플들에 대해 차등 부호화(differential coding)를 적용하는 코딩 툴이다.
손실 압축에 대하여 TU(Transform Unit)가 변환 스킵 모드로 부호화될 때, 인트라 예측 및 인터 예측 후 잔차샘플에 대해서 차등 부호화 기법이 적용될 수 있다. 변환 스킵 모드에서 차등 부호화 기법은 엔트로피 부호화를 위한 잔차 성분의 에너지 총량을 줄임으로써 보다 향상된 압축 성능을 제공할 수 있다.
수평 방향 차등 부호화 기법은 영상 부호화 장치가 부호화한 샘플 중 수평 방향에 따라 가장 인접한 왼쪽 열의 잔차샘플을 이용하여 현재 샘플에 대한 예측을 수행한다. MХN 크기 블록의 잔차샘플에 대하여 수평 방향 차등 부호화 기법 적용 후, 잔차샘플(0≤i<M, i는 자연수)은 수학식 1로 표현될 수 있다. 즉, (i, j) 위치의 잔차샘플은 (i, j-1) 위치의 잔차샘플과의 감산을 통해 수정된다.
수학식 1에 나타낸 바와 같이 수평 방향 차등 부호화의 경우, 영상 부호화 장치는 수정된 잔차샘플을 엔트로피 부호화 후 영상 복호화 장치로 전송하고, 다음 열의 잔차샘플 예측을 위하여 복원한 후 예비한다. 수평 방향 예측 과정은 블록의 모든 열에 대해서 순차적으로 진행될 수 있다.
한편, 수직 방향 차등 부호화 기법은 영상 부호화 장치가 부호화한 잔차샘플 중 수직 방향에 따라 가장 인접한 상측 행의 잔차샘플을 이용하여 현재 성분에 대한 예측을 수행한다. MХN 크기 블록의 잔차샘플에 대하여 수직 방향의 차등 부호화 기법 적용 후, 잔차샘플(0≤j<N, j는 자연수)은 수학식 2로 표현될 수 있다.
수학식 2에 나타낸 바와 같이 수직 방향 차등 부호화의 경우, 영상 부호화 장치는 수정된 잔차샘플을 엔트로피 부호화 후 영상 복호화 장치로 전송하고 다음 행의 잔차샘플 예측을 위하여 복원한 후 예비한다. 수직 방향 예측 과정은 블록의 모든 행에 대해서 순차적으로 진행될 수 있다.
수평 방향의 차등 부호화 기법이 적용된 경우, 영상 복호화 장치는 수학식 3에 나타낸 바와 같이 잔차샘플의 복원을 진행한다. 즉, 영상 복호화 장치가 비트스트림으로부터 복원한 잔차블록 내의 잔차샘플들은 수평 방향의 차등 부호화 기법에 따라 수정된다. 복원된 잔차블록 내에서 수정할 대상 잔차샘플은, 그 대상 잔차샘플과 동일 행(row) 상에서 그 대상 잔차샘플의 좌측에 위치하는 좌측 잔차샘플들이 대상 잔차샘플에 가산되는 방식으로 수행된다.
영상 복호화 장치는 복원한 잔차샘플을 순차적으로 더하여 j 번째 열의 잔차샘플을 복원할 수 있다. 수평 방향 복원 과정은 블록의 모든 열에 대해서 순차적으로 진행될 수 있다.
한편, 수직 방향의 차등 부호화 기법이 적용된 경우, 영상 복호화 장치는 수학식 4에 나타낸 바와 같이 잔차샘플의 복원을 진행한다. 즉, 영상 복호화 장치가 비트스트림으로 복원한 잔차블록 내의 잔차샘플들은 수직 방향의 차등 부호화 기법에 따라 수정된다. 복원된 잔차블록 내에서 수정할 대상 잔차샘플은, 그 대상 잔차샘플과 동일 열(column) 상에서 그 대상 잔차샘플보다 위에 위치하는 좌측 잔차샘플들이 대상 잔차샘플에 가산되는 방식으로 수행된다.
영상 복호화 장치는 복원한 잔차샘플을 순차적으로 더하여 i 번째 행의 잔차샘플을 복원할 수 있다. 수직 방향 복원 과정은 블록의 모든 행에 대해서 순차적으로 진행될 수 있다.
이러한 제2코딩 툴의 수행 여부는 블록 레벨에서 정의되는 제2적용 플래그에 의해 결정될 수 있다. 그러나, 종래 방법의 경우에는 제2적용 플래그가 블록 단위로 부호화되어 시그널링되고 복호화되므로, 비트 효율성이 저하될 수 있다.
앞서 설명된 바와 같이, 제2코딩 툴은 변환 스킵된 잔차샘플들에 대해 적용되므로, 스크린 콘텐츠의 특성을 가지는 영상에 대해 높은 확률로 적용될 수 있다. 따라서, 이러한 특성에 착안하여, 본 발명은 제2코딩 툴의 인에이블 여부(또는, 스크린 콘텐츠에 해당하는지 여부)를 지시하는 인에이블 플래그를 블록 레벨보다 상위의 레벨에서 정의하고, 인에이블 플래그의 값에 따라 제2적용 플래그의 시그널링 여부를 제어함으로써, 비트 효율성을 향상시키고자 한다.
영상 부호화 장치는 제2코딩 툴의 인에이블 여부(스크린 콘텐츠에 해당하는지 여부)를 판단하고, 그 결과를 인에이블 플래그의 값으로 설정할 수 있다. 또한, 영상 부호화 장치는 인에이블 플래그를 부호화하여 비트스트림의 상위 레벨(예를 들어, SPS 레벨)을 통해 영상 복호화 장치로 시그널링할 수 있다. 영상 복호화 장치는 비트스트림의 상위 레벨로부터 인에이블 플래그를 복호화하고(S1710), 복호화된 인에이블 플래그의 값을 판단할 수 있다(S1720).
영상 부호화 장치는 제2코딩 툴이 현재블록에 적용되는지 여부를 판단하고, 인에이블 플래그의 값에 따라 제2적용 플래그의 시그널링 여부를 결정할 수 있다.
예를 들어, 영상 부호화 장치는 인에이블 플래그==1인 경우에 제2적용 플래그를 부호화하여 영상 복호화 장치로 시그널링하고, 인에이블 플래그==0인 경우에 제2적용 플래그를 시그널링하지 않을 수 있다. 이 경우, 영상 복호화 장치는 인에이블 플래그==1인 경우에 제2적용 플래그가 시그널링되므로 제2적용 플래그를 비트스트림으로부터 복호화하고(S1730), 인에이블 플래그==0인 경우에 제2적용 플래그가 시그널링되지 않으므로 제2적용 플래그를 복호화하지 않을 수 있다. 제2적용 플래그가 복호화되지 않는 경우에, 제2적용 플래그는 묵시적으로 제2코딩 툴이 적용되지 않음을 나타내는 값(0)으로 설정될 수 있다.
다른 예로, 영상 부호화 장치는 인에이블 플래그==1인 경우에 제2적용 플래그를 시그널링하지 않고, 인에이블 플래그==0인 경우에 제2적용 플래그를 시그널링할 수 있다. 이 경우, 영상 복호화 장치는 인에이블 플래그==0인 경우에 제2적용 플래그가 시그널링되므로 제2적용 플래그를 비트스트림으로부터 복호화하고, 인에이블 플래그==1인 경우에 제2적용 플래그가 시그널링되지 않으므로 제2적용 플래그를 복호화하지 않을 수 있다. 제2적용 플래그가 복호화되지 않는 경우에, 제2적용 플래그는 묵시적으로 제2코딩 툴이 적용됨을 나타내는 값(1)으로 설정될 수 있다.
영상 복호화 장치는 복호화되거나 설정된 제2적용 플래그의 값을 판단하고(S1740), 제2적용 플래그==1인 경우에 제2코딩 툴을 수행하며(S1750), 제2적용 플래그==0인 경우에 제2코딩 툴을 수행하지 않을 수 있다(S1760).
실시형태에 따라, 인에이블 플래그는 스크린 콘텐츠에 해당하는지 여부를 나타내는 pic_scc_tool_enabled_flag와 제2코딩 툴의 인에이블 여부를 슬라이스 단위로 나타내는 플래그(슬라이스 플래그)로 이루어질 수 있다.
슬라이스 플래그는 현재 영상이 스크린 콘텐츠에 해당하는 경우(pic_scc_tool_enabled_flag==1)에 부호화되어 영상 부호화 장치로부터 영상 복호화 장치로 시그널링되고, 영상 복호화 장치에서 복호화될 수 있다. 이 경우, 제2적용 플래그의 시그널링 및 복호화 여부는 슬라이스 플래그의 값에 따라 결정될 수 있다.
예를 들어, 영상 부호화 장치는 슬라이스 플래그==1인 경우에 제2적용 플래그를 부호화하여 영상 복호화 장치로 시그널링하고, 슬라이스 플래그==0인 경우에 제2적용 플래그를 시그널링하지 않을 수 있다. 이 경우, 영상 복호화 장치는 슬라이스 플래그==1인 경우에 제2적용 플래그가 시그널링되므로 제2적용 플래그를 비트스트림으로부터 복호화하고(S1730), 슬라이스 플래그==0인 경우에 제2적용 플래그가 시그널링되지 않으므로 제2적용 플래그를 복호화하지 않을 수 있다. 제2적용 플래그가 복호화되지 않는 경우에는 제2적용 플래그의 값이 묵시적으로 제2코딩 툴이 적용되지 않음을 나타내는 값(0)으로 설정될 수 있다.
다른 예로, 영상 부호화 장치는 슬라이스 플래그==1인 경우에 제2적용 플래그를 시그널링하지 않고, 슬라이스 플래그==0인 경우에 제2적용 플래그를 시그널링할 수 있다. 이 경우, 영상 복호화 장치는 슬라이스 플래그==0인 경우에 제2적용 플래그가 시그널링되므로 제2적용 플래그를 비트스트림으로부터 복호화하고, 슬라이스 플래그==1인 경우에 제2적용 플래그가 시그널링되지 않으므로 제2적용 플래그를 복호화하지 않을 수 있다. 제2적용 플래그가 복호화되지 않는 경우에는 제2적용 플래그가 묵시적으로 제2코딩 툴이 적용됨을 나타내는 값(1)으로 설정될 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는, 2019년 6월 21일에 한국에 출원한 특허출원번호 제10-2019-0074231호, 2019년 7월 2일에 한국에 출원한 특허출원번호 제10-2019-0079652 및, 2020년 6월 22일에 한국에 출원한 특허출원번호 제10-2020-0075560호에 대해 우선권을 주장한다.
Claims (20)
- 비트스트림의 상위 레벨로부터, 하나 이상의 코딩 툴(coding tool)에 대한 인에이블(enabled) 여부를 지시하는 인에이블 플래그를 복호화하는 단계 - 상기 하나 이상의 코딩 툴은 구간 선형 모델(piecewise linear model)에 기반한 휘도 성분 맵핑을 이용하여 샘플 값을 부호화하는 제1코딩 툴을 포함함;상기 인에이블 플래그의 값에 따라, 상기 하나 이상의 코딩 툴의 적용 여부를 지시하는 적용 플래그를 미리 결정된 값으로 설정하거나 상기 비트스트림의 하위 레벨로부터 복호화하여, 상기 적용 플래그의 값을 획득하는 단계 - 상기 적용 플래그는 상기 제1코딩 툴의 적용 여부를 지시하는 제1적용 플래그를 포함함;상기 적용 플래그의 값이 상기 하나 이상의 코딩 툴이 적용됨을 지시하는 값인 경우에, 상기 하나 이상의 코딩 툴을 수행하는 단계;를 포함하고,상기 하나 이상의 코딩 툴을 수행하는 단계는,상기 제1적용 플래그의 값에 따라 상기 제1코딩 툴이 수행될 때,상기 구간 선형 모델에 기반하여 휘도 예측샘플로부터 맵핑된 휘도 예측샘플을 생성하고, 상기 비트스트림으로부터 복원된 휘도 잔차샘플과 상기 맵핑된 휘도 예측샘플을 가산하여 휘도 복원샘플을 생성하는 단계; 및상기 휘도 복원샘플을 상기 구간 선형 모델과 역의 관계를 가지는 역(inverse) 구간 선형 모델을 이용하여 역맵핑하는 단계;를 포함하는, 영상 복호화 방법.
- 제1항에 있어서,상기 획득하는 단계는,상기 인에이블 플래그가 상기 코딩 툴이 인에이블됨을 지시하는 경우에 상기 적용 플래그를 상기 코딩 툴이 적용됨을 지시하는 값으로 설정하며, 상기 인에이블 플래그가 상기 코딩 툴이 인에이블되지 않음을 지시하는 경우에 상기 적용 플래그를 상기 비트스트림의 하위 레벨로부터 복호화하는, 영상 복호화 방법.
- 제1항에 있어서,상기 획득하는 단계는,상기 인에이블 플래그가 상기 코딩 툴이 인에이블됨을 지시하는 경우에 상기 적용 플래그를 상기 비트스트림의 하위 레벨로부터 복호화하며, 상기 인에이블 플래그가 상기 코딩 툴이 인에이블되지 않음을 지시하는 경우에 상기 적용 플래그를 상기 코딩 툴이 적용되지 않음을 지시하는 값으로 설정하는, 영상 복호화 방법.
- 제1항에 있어서,상기 인에이블 플래그는,상기 비트스트림의 SPS(sequence parameter set) 레벨로부터 복호화되는 제1인에이블 플래그 및, 상기 제1인에이블 플래그가 상기 제1코딩 툴이 인에이블됨을 지시하는 경우에 상기 비트스트림의 픽처 레벨로부터 복호화되는 제2인에이블 플래그를 포함하며,상기 제1적용 플래그는,상기 제2인에이블 플래그가 상기 제1코딩 툴이 인에이블됨을 지시하는 경우에, 상기 비트스트림의 슬라이스 레벨로부터 복호화되는, 영상 복호화 방법.
- 제4항에 있어서,상기 맵핑된 휘도 예측샘플이 속할 수 있는 제2구간들에 대한 정보를 상기 비트스트림으로부터 복호화하는 단계; 및현재블록이 포함된 현재픽처의 비트 뎁스 및 상기 제2구간들에 대한 정보에 기초하여, 상기 휘도 예측샘플이 속할 수 있는 제1구간들 각각의 구간 선형 모델을 유도하는 단계;를 더 포함하고,상기 맵핑된 휘도 예측샘플은,상기 제1구간들 중에서 상기 휘도 예측샘플이 속하는 제1대상 구간을 결정하고, 상기 제1대상 구간에 대응되는 구간 선형 모델을 이용하여 상기 휘도 예측샘플을 맵핑 구간으로 맵핑함으로써 유도되는 - 상기 맵핑 구간은 상기 제2구간들 중에서 상기 제1대상 구간에 대응되는 구간임, 영상 복호화 방법.
- 제5항에 있어서,상기 구간 선형 모델은,상기 제1구간들 각각에 할당된 코드워드의 개수와 상기 제2구간들 각각에 할당된 코드워드의 개수 사이의 스케일링 관계를 나타내는 스케일링 계수를 포함하고,상기 구간 선형 모델을 유도하는 단계는,상기 비트 뎁스에 기초하여 상기 제1구간들 각각에 할당된 코드워드의 개수를 유도하고, 상기 제1구간들 각각에 할당된 코드워드의 개수 및 상기 제2구간들에 대한 정보에 기초하여 상기 제2구간들 각각에 할당된 코드워드의 개수를 유도하는 단계; 및상기 제1구간들 각각에 할당된 코드워드의 개수 및 상기 제2구간들 각각에 할당된 코드워드의 개수를 이용하여, 상기 스케일링 계수를 유도하는 단계;를 포함하는, 영상 복호화 방법.
- 제5항에 있어서,상기 비트 뎁스 및 상기 제2구간들에 대한 정보에 기초하여, 상기 제2구간들 각각의 역 구간 선형 모델을 유도하는 단계;를 더 포함하고,상기 역맵핑하는 단계는,상기 제2구간들 중에서, 상기 휘도 복원샘플이 속하는 제2대상 구간을 결정하는 단계; 및상기 제2대상 구간에 대응되는 역 구간 선형 모델을 이용하여, 상기 휘도 복원샘플을 역맵핑 구간으로 역맵핑함으로써, 역맵핑된 휘도 복원샘플을 유도하는 단계 - 상기 역맵핑 구간은 상기 제1구간들 중에서 상기 제2대상 구간에 대응되는 구간임;을 포함하는, 영상 복호화 방법.
- 제5항에 있어서,상기 제2인에이블 플래그가 상기 제1코딩 툴이 인에이블됨을 지시하는 경우에, 색차 잔차샘플들의 스케일링이 인에이블되는지 여부를 지시하는 색차 플래그를 상기 비트스트림의 픽처 레벨로부터 복호화하는 단계; 및상기 색차 플래그의 값에 따라, 상기 비트스트림으로부터 복호화된 색차 스케일링 정보를 이용하여 상기 현재블록의 색차 잔차샘플들을 스케일링하는 단계;를 더 포함하는 영상 복호화 방법.
- 제8항에 있어서,상기 색차 잔차샘플들을 스케일링하는 단계는,상기 비트 뎁스, 상기 제2구간들에 대한 정보 및 상기 색차 스케일링 정보에 기초하여, 상기 제2구간들 각각의 색차 스케일링 관계를 유도하는 단계;상기 제2구간들 중에서, 상기 현재블록의 좌측에 위치하는 휘도 복원샘플과 상기 현재블록의 상측에 위치하는 휘도 복원샘플의 평균 값이 속하는 구간을 결정하는 단계; 및상기 평균 값이 속하는 구간에 대응되는 색차 스케일링 관계를 이용하여, 상기 색차 잔차샘플들을 스케일링하는 단계;를 포함하는, 영상 복호화 방법.
- 제1항에 있어서,상기 코딩 툴은,현재블록의 잔차샘플들에 대해 차등 부호화(differential coding)를 적용하는 제2코딩 툴을 더 포함하고,상기 인에이블 플래그는,상기 비트스트림의 SPS 레벨로부터 복호화되며,상기 적용 플래그는,상기 인에이블 플래그가 상기 제2코딩 툴이 인에이블됨을 지시하는 경우에, 상기 비트스트림의 블록 레벨로부터 복호화되는 제2적용 플래그를 포함하는 - 상기 제2적용 플래그는 제2코딩 툴의 적용 여부를 지시함, 영상 복호화 방법.
- 비트스트림의 상위 레벨로부터, 하나 이상의 코딩 툴(coding tool)에 대한 인에이블(enabled) 여부를 지시하는 인에이블 플래그를 복호화하는 엔트로피 복호화부 - 상기 하나 이상의 코딩 툴은 구간 선형 모델(piecewise linear model)에 기반한 휘도 성분 맵핑을 이용하여 샘플 값을 부호화하는 제1코딩 툴을 포함함;상기 인에이블 플래그의 값에 따라, 상기 하나 이상의 코딩 툴의 적용 여부를 지시하는 적용 플래그를 미리 결정된 값으로 설정하거나 상기 비트스트림의 하위 레벨로부터 복호화하여, 상기 적용 플래그의 값을 획득하는 획득부 - 상기 적용 플래그는 상기 제1코딩 툴의 적용 여부를 지시하는 제1적용 플래그를 포함함;상기 적용 플래그의 값이 상기 하나 이상의 코딩 툴이 적용됨을 지시하는 값인 경우에, 상기 하나 이상의 코딩 툴을 수행하는 수행부;를 포함하고,상기 수행부는,상기 제1적용 플래그의 값에 따라 상기 제1코딩 툴을 수행할 때,상기 구간 선형 모델에 기반하여 휘도 예측샘플로부터 맵핑된 휘도 예측샘플을 생성하고, 상기 비트스트림으로부터 복원된 휘도 잔차샘플과 상기 맵핑된 휘도 예측샘플을 가산하여 휘도 복원샘플을 생성하며, 상기 휘도 복원샘플을 상기 구간 선형 모델과 역의 관계를 가지는 역(inverse) 구간 선형 모델을 이용하여 역맵핑하는, 영상 복호화 장치.
- 제11항에 있어서,상기 획득부는,상기 인에이블 플래그가 상기 코딩 툴이 인에이블됨을 지시하는 경우에 상기 적용 플래그를 상기 코딩 툴이 적용됨을 지시하는 값으로 설정하며, 상기 인에이블 플래그가 상기 코딩 툴이 인에이블되지 않음을 지시하는 경우에 상기 적용 플래그를 상기 비트스트림의 하위 레벨로부터 복호화하는, 영상 복호화 장치.
- 제11항에 있어서,상기 획득부는,상기 인에이블 플래그가 상기 코딩 툴이 인에이블됨을 지시하는 경우에 상기 적용 플래그를 상기 비트스트림의 하위 레벨로부터 복호화하며, 상기 인에이블 플래그가 상기 코딩 툴이 인에이블되지 않음을 지시하는 경우에 상기 적용 플래그를 상기 코딩 툴이 적용되지 않음을 지시하는 값으로 설정하는, 영상 복호화 장치.
- 제11항에 있어서,상기 인에이블 플래그는,상기 비트스트림의 SPS(sequence parameter set) 레벨로부터 복호화되는 제1인에이블 플래그 및, 상기 제1인에이블 플래그가 상기 제1코딩 툴이 인에이블됨을 지시하는 경우에 상기 비트스트림의 픽처 레벨로부터 복호화되는 제2인에이블 플래그를 포함하며,상기 제1적용 플래그는,상기 제2인에이블 플래그가 상기 제1코딩 툴이 인에이블됨을 지시하는 경우에, 상기 비트스트림의 슬라이스 레벨로부터 복호화되는, 영상 복호화 장치.
- 제14항에 있어서,현재블록이 포함된 현재픽처의 비트 뎁스 및 상기 맵핑된 휘도 예측샘플이 속할 수 있는 제2구간들에 대한 정보에 기초하여, 상기 휘도 예측샘플이 속할 수 있는 제1구간들 각각의 구간 선형 모델을 유도하는 유도부;를 더 포함하고,상기 수행부는,상기 제1구간들 중에서 상기 휘도 예측샘플이 속하는 제1대상 구간을 결정하는 구간 결정부; 및상기 제1대상 구간에 대응되는 구간 선형 모델을 이용하여 상기 휘도 예측샘플을 맵핑 구간으로 맵핑함으로써 상기 맵핑된 휘도 예측샘플을 유도하는 샘플 유도부 - 상기 맵핑 구간은 상기 제2구간들 중에서 상기 제1대상 구간에 대응되는 구간임;을 포함하는, 영상 복호화 장치.
- 제15항에 있어서,상기 구간 선형 모델은,상기 제1구간들 각각에 할당된 코드워드의 개수와 상기 제2구간들 각각에 할당된 코드워드의 개수 사이의 스케일링 관계를 나타내는 스케일링 계수를 포함하고,상기 유도부는,상기 비트 뎁스에 기초하여 상기 제1구간들 각각에 할당된 코드워드의 개수를 유도하는 제1유도부;상기 제1구간들 각각에 할당된 코드워드의 개수 및 상기 제2구간들에 대한 정보에 기초하여 상기 제2구간들 각각에 할당된 코드워드의 개수를 유도하는 제2유도부; 및상기 제1구간들 각각에 할당된 코드워드의 개수 및 상기 제2구간들 각각에 할당된 코드워드의 개수를 이용하여, 상기 스케일링 계수를 유도하는 계수 유도부;를 포함하는, 영상 복호화 장치.
- 제15항에 있어서,상기 유도부는,상기 비트 뎁스 및 상기 제2구간들에 대한 정보에 기초하여, 상기 제2구간들 각각의 역 구간 선형 모델을 더 유도하며,상기 구간 결정부는,상기 제2구간들 중에서, 상기 휘도 복원샘플이 속하는 제2대상 구간을 결정하고,상기 샘플 유도부는,상기 제2대상 구간에 대응되는 역 구간 선형 모델을 이용하여, 상기 휘도 복원샘플을 역맵핑 구간으로 역맵핑함으로써, 역맵핑된 휘도 복원샘플을 유도하는 - 상기 역맵핑 구간은 상기 제1구간들 중에서 상기 제2대상 구간에 대응되는 구간임, 영상 복호화 장치.
- 제15항에 있어서,상기 엔트로피 복호화부는,상기 제2인에이블 플래그가 상기 제1코딩 툴이 인에이블됨을 지시하는 경우에, 색차 잔차샘플들의 스케일링이 인에이블되는지 여부를 지시하는 색차 플래그를 상기 비트스트림의 픽처 레벨로부터 복호화하고,상기 수행부는,상기 색차 플래그의 값에 따라, 상기 비트스트림으로부터 복호화된 색차 스케일링 정보를 이용하여 상기 현재블록의 색차 잔차샘플들을 스케일링하는, 영상 복호화 장치.
- 제18항에 있어서,상기 유도부는,상기 비트 뎁스, 상기 제2구간들에 대한 정보 및 상기 색차 스케일링 정보에 기초하여, 상기 제2구간들 각각의 색차 스케일링 관계를 유도하고,상기 구간 결정부는,상기 제2구간들 중에서, 상기 현재블록의 좌측에 위치하는 휘도 복원샘플과 상기 현재블록의 상측에 위치하는 휘도 복원샘플의 평균 값이 속하는 구간을 결정하며,상기 샘플 유도부는,상기 평균 값이 속하는 구간에 대응되는 색차 스케일링 관계를 이용하여, 상기 색차 잔차샘플들을 스케일링하는, 영상 복호화 장치.
- 제11항에 있어서,상기 코딩 툴은,현재블록의 잔차샘플들에 대해 차등 부호화(differential coding)를 적용하는 제2코딩 툴을 더 포함하고,상기 인에이블 플래그는,상기 비트스트림의 SPS 레벨로부터 복호화되며,상기 적용 플래그는,상기 인에이블 플래그가 상기 제2코딩 툴이 인에이블됨을 지시하는 경우에, 상기 비트스트림의 블록 레벨로부터 복호화되는 제2적용 플래그를 포함하는 - 상기 제2적용 플래그는 제2코딩 툴의 적용 여부를 지시함, 영상 복호화 장치.
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410689004.9A CN118450151A (zh) | 2019-06-21 | 2020-06-22 | 用于控制编码工具的方法 |
CN202080045151.2A CN114128281B (zh) | 2019-06-21 | 2020-06-22 | 用于控制编码工具的方法 |
CN202410688794.9A CN118450150A (zh) | 2019-06-21 | 2020-06-22 | 用于控制编码工具的方法 |
US17/286,798 US11516472B2 (en) | 2019-06-21 | 2020-06-22 | Method and apparatus for controlling coding tools |
CN202410689199.7A CN118450152A (zh) | 2019-06-21 | 2020-06-22 | 用于控制编码工具的方法 |
CN202410688556.8A CN118450149A (zh) | 2019-06-21 | 2020-06-22 | 用于控制编码工具的方法 |
US17/964,339 US11770532B2 (en) | 2019-06-21 | 2022-10-12 | Method and apparatus for controlling coding tools |
US17/964,386 US11770533B2 (en) | 2019-06-21 | 2022-10-12 | Method and apparatus for controlling coding tools |
US17/964,507 US11979574B2 (en) | 2019-06-21 | 2022-10-12 | Method and apparatus for controlling coding tools |
US17/964,545 US12003724B1 (en) | 2019-06-21 | 2022-10-12 | Method and apparatus for controlling coding tools |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0074231 | 2019-06-21 | ||
KR20190074231 | 2019-06-21 | ||
KR20190079652 | 2019-07-02 | ||
KR10-2019-0079652 | 2019-07-02 | ||
KR10-2020-0075560 | 2020-06-22 | ||
KR1020200075560A KR20200145773A (ko) | 2019-06-21 | 2020-06-22 | 코딩 툴들을 제어하는 방법 및 장치 |
Related Child Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/286,798 A-371-Of-International US11516472B2 (en) | 2019-06-21 | 2020-06-22 | Method and apparatus for controlling coding tools |
US17/964,507 Continuation US11979574B2 (en) | 2019-06-21 | 2022-10-12 | Method and apparatus for controlling coding tools |
US17/964,386 Continuation US11770533B2 (en) | 2019-06-21 | 2022-10-12 | Method and apparatus for controlling coding tools |
US17/964,339 Continuation US11770532B2 (en) | 2019-06-21 | 2022-10-12 | Method and apparatus for controlling coding tools |
US17/964,545 Continuation US12003724B1 (en) | 2019-06-21 | 2022-10-12 | Method and apparatus for controlling coding tools |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020256510A1 true WO2020256510A1 (ko) | 2020-12-24 |
Family
ID=74040590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2020/008045 WO2020256510A1 (ko) | 2019-06-21 | 2020-06-22 | 코딩 툴들을 제어하는 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (5) | US11516472B2 (ko) |
WO (1) | WO2020256510A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140241418A1 (en) * | 2011-11-09 | 2014-08-28 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Inter-layer prediction between layers of different dynamic sample value range |
KR20150036599A (ko) * | 2012-07-20 | 2015-04-07 | 퀄컴 인코포레이티드 | 비디오 코딩에서의 파라미터 세트들 |
KR101600056B1 (ko) * | 2011-11-01 | 2016-03-04 | 지티이 코포레이션 | 슬라이스 파라미터 세트 인코딩 및 디코딩 방법과 장치 |
KR20160096181A (ko) * | 2013-12-17 | 2016-08-12 | 퀄컴 인코포레이티드 | 멀티-계층 비디오 코딩에서의 색역 스케일러빌러티를 위한 3d 룩업 테이블에 대한 컬러 값들의 시그널링 |
WO2019006300A1 (en) * | 2017-06-29 | 2019-01-03 | Dolby Laboratories Licensing Corporation | INTEGRATED IMAGE REMODELING AND VIDEO CODING |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6184712B1 (en) | 1999-02-25 | 2001-02-06 | Xilinx, Inc. | FPGA configurable logic block with multi-purpose logic/memory circuit |
US20140029670A1 (en) | 2012-07-27 | 2014-01-30 | Motorola Mobility Llc | Devices and methods for processing of partition mode in high efficiency video coding |
WO2014071439A1 (en) | 2012-11-08 | 2014-05-15 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding the transform units of a coding unit |
CN107925773B (zh) | 2015-06-11 | 2022-06-07 | 杜比实验室特许公司 | 使用自适应去块滤波编码和解码图像的方法及其装置 |
EP3354032A1 (en) * | 2015-09-21 | 2018-08-01 | VID SCALE, Inc. | Inverse reshaping for high dynamic range video coding |
CN107025880B (zh) | 2017-04-14 | 2019-11-29 | 西安诺瓦星云科技股份有限公司 | 图像显示控制方法及装置和显示屏控制系统 |
US10148907B1 (en) | 2017-10-27 | 2018-12-04 | Avago Technologies International Sales Pte. Limited | System and method of luminance processing in high dynamic range and standard dynamic range conversion |
EP3915265A4 (en) * | 2019-03-01 | 2022-06-22 | Beijing Bytedance Network Technology Co., Ltd. | DIRECTION-BASED PREDICTION FOR INTRA BLOCK COPY IN VIDEO CODING |
CN113519162B (zh) * | 2019-03-08 | 2023-05-23 | 中兴通讯股份有限公司 | 数字视频中的参数集信令 |
US12114000B2 (en) * | 2019-03-08 | 2024-10-08 | Qualcomm Incorporated | Combined residual coding in video coding |
CN113574889B (zh) * | 2019-03-14 | 2024-01-12 | 北京字节跳动网络技术有限公司 | 环路整形信息的信令和语法 |
JP7302009B2 (ja) * | 2019-04-18 | 2023-07-03 | 北京字節跳動網絡技術有限公司 | クロスコンポーネントモードの利用可能性に対する制約 |
CN113711611B (zh) * | 2019-04-19 | 2024-03-19 | 字节跳动有限公司 | 用于变换跳过模式中的系数编解码的方法、装置和介质 |
WO2020216177A1 (en) * | 2019-04-20 | 2020-10-29 | Beijing Bytedance Network Technology Co., Ltd. | Signaling of chroma and luma syntax elements in video coding |
CA3135973A1 (en) * | 2019-04-23 | 2020-10-29 | Beijing Bytedance Network Technology Co., Ltd. | Methods for cross component dependency reduction |
KR102641796B1 (ko) * | 2019-05-08 | 2024-03-04 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 교차-성분 코딩의 적용가능성에 대한 조건들 |
WO2020233664A1 (en) * | 2019-05-22 | 2020-11-26 | Beijing Bytedance Network Technology Co., Ltd. | Sub-block based use of transform skip mode |
KR20220024711A (ko) * | 2019-06-20 | 2022-03-03 | 인터디지털 브이씨 홀딩스 프랑스 에스에이에스 | 다목적 비디오 코딩을 위한 무손실 모드 |
-
2020
- 2020-06-22 WO PCT/KR2020/008045 patent/WO2020256510A1/ko active Application Filing
- 2020-06-22 US US17/286,798 patent/US11516472B2/en active Active
-
2022
- 2022-10-12 US US17/964,339 patent/US11770532B2/en active Active
- 2022-10-12 US US17/964,545 patent/US12003724B1/en active Active
- 2022-10-12 US US17/964,507 patent/US11979574B2/en active Active
- 2022-10-12 US US17/964,386 patent/US11770533B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101600056B1 (ko) * | 2011-11-01 | 2016-03-04 | 지티이 코포레이션 | 슬라이스 파라미터 세트 인코딩 및 디코딩 방법과 장치 |
US20140241418A1 (en) * | 2011-11-09 | 2014-08-28 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Inter-layer prediction between layers of different dynamic sample value range |
KR20150036599A (ko) * | 2012-07-20 | 2015-04-07 | 퀄컴 인코포레이티드 | 비디오 코딩에서의 파라미터 세트들 |
KR20160096181A (ko) * | 2013-12-17 | 2016-08-12 | 퀄컴 인코포레이티드 | 멀티-계층 비디오 코딩에서의 색역 스케일러빌러티를 위한 3d 룩업 테이블에 대한 컬러 값들의 시그널링 |
WO2019006300A1 (en) * | 2017-06-29 | 2019-01-03 | Dolby Laboratories Licensing Corporation | INTEGRATED IMAGE REMODELING AND VIDEO CODING |
Also Published As
Publication number | Publication date |
---|---|
US20230049569A1 (en) | 2023-02-16 |
US12003724B1 (en) | 2024-06-04 |
US11979574B2 (en) | 2024-05-07 |
US20230029682A1 (en) | 2023-02-02 |
US11770532B2 (en) | 2023-09-26 |
US11770533B2 (en) | 2023-09-26 |
US11516472B2 (en) | 2022-11-29 |
US20210392328A1 (en) | 2021-12-16 |
US20230049587A1 (en) | 2023-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017188652A1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
WO2018128322A1 (ko) | 영상 처리 방법 및 이를 위한 장치 | |
WO2018044088A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2018008904A2 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2016052977A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2020162737A1 (ko) | 이차 변환을 이용하는 비디오 신호 처리 방법 및 장치 | |
WO2020185004A1 (ko) | 예측 유닛을 서브 유닛들로 분할하여 예측하는 인트라 예측 방법 및 장치 | |
WO2013154366A1 (ko) | 블록 정보에 따른 변환 방법 및 이러한 방법을 사용하는 장치 | |
WO2021071183A1 (ko) | 현재블록의 변환계수들을 역변환하는 방법 및 장치 | |
WO2018044089A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2017061671A1 (ko) | 영상 코딩 시스템에서 적응적 변환에 기반한 영상 코딩 방법 및 장치 | |
WO2017159901A1 (ko) | 비디오 코딩 시스템에서 블록 구조 도출 방법 및 장치 | |
WO2020262951A1 (ko) | 동영상 데이터의 인트라 예측 코딩을 위한 방법 및 장치 | |
WO2016114583A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2021025478A1 (ko) | 동영상 데이터의 인트라 예측 코딩을 위한 방법 및 장치 | |
WO2018164504A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2020071879A1 (ko) | 변환 계수 코딩 방법 및 그 장치 | |
WO2019143103A1 (ko) | 다양한 변환 기술을 사용하는 비디오 코딩 방법 및 장치 | |
WO2016122251A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2021060804A1 (ko) | 크로마블록의 잔차블록 복원 방법 및 복호화 장치 | |
WO2021060801A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2020231228A1 (ko) | 영상 복호화 장치에서 이용하는 역양자화장치 및 방법 | |
WO2018070788A1 (ko) | 영상 부호화 방법/장치, 영상 복호화 방법/장치 및 비트스트림을 저장한 기록 매체 | |
WO2020141856A1 (ko) | 영상 코딩 시스템에서 레지듀얼 정보를 사용하는 영상 디코딩 방법 및 그 장치 | |
WO2021125751A1 (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: 20827935 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: 20827935 Country of ref document: EP Kind code of ref document: A1 |