WO2019135630A1 - Hiding sign data of transform coefficient - Google Patents

Hiding sign data of transform coefficient Download PDF

Info

Publication number
WO2019135630A1
WO2019135630A1 PCT/KR2019/000139 KR2019000139W WO2019135630A1 WO 2019135630 A1 WO2019135630 A1 WO 2019135630A1 KR 2019000139 W KR2019000139 W KR 2019000139W WO 2019135630 A1 WO2019135630 A1 WO 2019135630A1
Authority
WO
WIPO (PCT)
Prior art keywords
zero
coefficient
coefficients
block
scan order
Prior art date
Application number
PCT/KR2019/000139
Other languages
French (fr)
Korean (ko)
Inventor
나태영
김효성
손세훈
신재섭
이경택
이선영
임정연
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020180070469A external-priority patent/KR102649287B1/en
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Publication of WO2019135630A1 publication Critical patent/WO2019135630A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to encoding and decoding an image, and more particularly, to efficiently signaling a sign of a non-zero coefficient among quantized transform coefficients.
  • video data Since video data has a larger amount of data than voice data or still image data, it requires a lot of hardware resources including memory to store or transmit the video data itself without processing for compression. Accordingly, when storing or transmitting moving image data, the moving image data is compressed or stored using an encoder, and the decoder receives the compressed moving image data and decompresses and reproduces the moving image data.
  • H.264 / AVC and H.265 (High Efficiency Video Coding: HEVC) standard technology which was established in early 2013 which improved the coding efficiency of about 40% of H.264 / AVC. do.
  • Table 1 lists the syntaxes defined in the H.265 (HEVC) standard, which are used to signal coefficient blocks that are arrays of quantized coefficients through transform and quantization processes.
  • HEVC H.265
  • Figure 1 shows the syntax of expressing the exemplary positions of non-zero coefficients in a 16 x 16 TU (transform unit) and coefficients of the corresponding TU.
  • One TU is divided into sub-blocks of 4 ⁇ 4 size, and related information is expressed.
  • the syntaxes representing the coefficients in one TU are signaled in the order of Table 1.
  • coeff_sign_flag is a syntax for representing the sign of a non-zero coefficient. If the coeff_sign_flag indicates a first value (e.g., "0"), the sign of the corresponding non-zero coefficient is positive and the coeff_sign_flag indicates a second value Quot; - "(negative).
  • H.265 HEVC
  • sign data hiding or sign bit hiding was introduced to further improve the compression performance of image coding.
  • the code bit concealment improves the coding gain by selectively encoding the sign bit of the first non-zero quantized transform coefficient of the 4x4 sub-block. If there is at least two non-zero coefficients in the 4x4 sub-block and the distance between the scan positions of the first non-zero coefficient and the last non-zero coefficient in the scan order is greater than a predetermined threshold value, The sign of the zero coefficient is hidden (i.e., not signaled) at the encoder side.
  • the encoder selectively compensates for the sign bit that is hidden. This is accomplished on the encoder side by selecting one non-zero coefficient and modifying its value to an adjacent value that is greater than or less than the previous value. For this compensation, a non-zero coefficient having a level close to the boundary of the quantization interval can be selected. Coded bit concealment gives the encoder a freedom to choose which non-zero coefficient to compensate based on the rate-distortion performance.
  • a method of decoding a bitstream of an encoded image to recover a coefficient block which is an array of transform coefficients, in an image decoding apparatus, Stage 1; A second step of setting a position of a last non-zero coefficient in a scan order in a current coefficient block to a first position; A third step of determining a second position closest to the scanning order from the first position satisfying the code concealment condition among the non-zero coefficients encountered in the reverse order of the scanning order from the first position; A fourth step of applying a sign prediction process to the non-zero coefficient of the second position; And a fifth step of setting a position of a closest non-zero coefficient that meets in a reverse order of a scan order from a second position to which the sign prediction process is applied to the first position.
  • the third to fifth steps are repeatedly performed until the first non-zero coefficient is reached in the scan order in the current coefficient block.
  • the code conceal condition may be such that the first variable defined by the first position and the second position exceeds a predetermined first threshold value. In some embodiments, the code conceal condition is such that a first parameter defined by the first position and the second position exceeds a predetermined first threshold value and is defined by the first position and the second position. The second parameter may exceed the predetermined second threshold value.
  • a method of decoding a bitstream of an encoded image in order to reconstruct a coefficient block that is an array of transform coefficients in an image decoding apparatus comprising the steps of:
  • a computer program product comprising: one or more processors; And a memory in which instructions are stored.
  • the instructions comprising: a first step of causing the image decoding apparatus, when executed by the one or more processors, to identify positions of significant coefficients in a current coefficient block; A second step of setting a position of a last non-zero coefficient in a scan order in a current coefficient block to a first position; A third step of determining a second position closest to the scanning order from the first position satisfying the code concealment condition among the non-zero coefficients encountered in the reverse direction of the scan order from the first position; A fourth step of applying a sign prediction process to the non-zero coefficient of the second position; And a fifth step of setting a position of a closest non-zero coefficient that meets in a reverse direction of a scan order from a second position to which the sign prediction process is applied to the first position, wherein in the current coefficient block, The third to fifth steps are repeatedly performed until the first non-zero coefficient is
  • a computer program product comprising: one or more processors; And a memory in which instructions are stored, wherein the instructions cause the image decoding apparatus, when executed by the one or more processors, to determine, in the current coefficient block, a position of non-zero coefficients ; Dividing non-zero coefficients in the current coefficient block, excluding zero coefficients, into a plurality of groups; Identifying, for each group, a last non-zero coefficient and a first non-zero coefficient that are defined by a reverse scan order; And for each group, if the distance in the reverse scan order between the last non-zero coefficient and the first non-zero coefficient is greater than a preset threshold, then a sign prediction process is performed on the last non-zero coefficient .
  • Figure 1 shows the syntax of expressing the exemplary positions of non-zero coefficients in a 16 x 16 TU (transform unit) and coefficients of the corresponding TU.
  • FIG. 2 is an exemplary block diagram of an image encoding apparatus capable of implementing the techniques of this disclosure
  • 3 is an illustration of block partitioning using a QTBTTT structure.
  • FIG. 4 is an exemplary diagram of a plurality of intra prediction modes.
  • FIG. 5 is a diagram illustrating exemplary scan schemes used for encoding quantized coefficients of a square coefficient block.
  • FIG. 6 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure
  • FIG. 7A shows an example of a 32x32 transform block including a total of 64 4x4 subblocks.
  • FIG. 7B is a plot showing coefficients hidden according to the H.265 (HEVC) standard for the transform block illustrated in FIG. 7A.
  • HEVC H.265
  • Figures 8A-8F show coefficients that are hidden according to embodiments of the present invention for the transform block illustrated in Figure 7A.
  • FIG. 9 is a flowchart illustrating a method of applying a code concealment technique to a coefficient block, which is an array of transform coefficients, in an image encoding apparatus according to an aspect of the present invention.
  • FIG. 10 is a flowchart illustrating a method of applying a code concealment scheme to a coefficient block, which is an array of transform coefficients, in an image encoding apparatus according to another aspect of the present invention.
  • FIG. 11 is a flowchart illustrating a method of decoding a bitstream of an encoded image in order to recover a coefficient block, which is an array of transform coefficients, in an image decoding apparatus according to an aspect of the present invention.
  • FIG. 12 is a flowchart illustrating a method of decoding a bitstream of an encoded image to recover a coefficient block, which is an array of transform coefficients, in an image decoding apparatus according to another aspect of the present invention.
  • the techniques of the present disclosure generally relate to efficiently signaling the sign of non-zero coefficients, also referred to as significant coefficients, for a coefficient block that is an array of quantized coefficients that is the result of transform and quantization .
  • FIG. 2 is an exemplary block diagram of an image encoding apparatus capable of implementing the techniques of this disclosure
  • the image encoding apparatus includes a block division unit 210, a prediction unit 220, a subtractor 230, a transform unit 240, a quantization unit 245, an encoding unit 250, an inverse quantization unit 260, 265, an adder 270, a filter unit 280, and a memory 290.
  • the image encoding apparatus may be implemented such that each component is implemented as a hardware chip or software, and one or more microprocessors execute the function of the software corresponding to each component.
  • One video is composed of a plurality of pictures. Each picture is divided into a plurality of areas and coding is performed for each area. For example, one picture is divided into one or more slices or / and tiles, and each slice or tile is divided into one or more CTU (Coding Tree Unit). Each CTU is divided into one or more CUs (Coding Units) by a tree structure. The information applied to each CU is encoded as a syntax of the CU, and the information commonly applied to the CUs included in one CTU is encoded as the syntax of the CTU.
  • information commonly applied to all blocks in one tile is encoded as a syntax of a tile or is encoded as a syntax of a group of tiles in which a plurality of tiles are collected, and information applied to all blocks constituting one picture is And is encoded into a picture parameter set (PPS) or a picture header.
  • PPS picture parameter set
  • PPS picture parameter set
  • information that is commonly referred to by a plurality of pictures is encoded into a sequence parameter set (SPS).
  • SPS sequence parameter set
  • the information that is commonly referred to by one or more SPSs is encoded into a Video Parameter Set (VPS).
  • the block dividing unit 210 determines the size of the Coding Tree Unit (CTU).
  • the information on the size of the CTU (CTU size) is encoded as the syntax of the SPS or PPS and transmitted to the image decoding apparatus.
  • the block dividing unit 210 divides each picture constituting an image into a plurality of CTUs (Coding Tree Units) having a determined size, and thereafter recursively recursively uses the CTU tree structure. .
  • a leaf node in a tree structure becomes a coding unit (CU) which is a basic unit of coding.
  • CU coding unit
  • a quad tree in which an upper node (or a parent node) is divided into four sub nodes (or child nodes) of the same size, or a binary tree in which an upper node is divided into two lower nodes , BT), or a ternary tree (TT) in which an ancestor node is divided into three subnodes at a ratio of 1: 2: 1, or a structure combining one or more of these QT structures, BT structures and TT structures have.
  • a QuadTree plus BinaryTree (QTBT) structure can be used, or a QuadTree plus BinaryTreeTernaryTree (QTBTTT) structure can be used.
  • the CTU can be first divided into the QT structure.
  • the quadtree partitioning can be repeated until the size of the splitting block reaches the minimum block size (MinQTSize) of the leaf node allowed in QT.
  • the first flag (QT_split_flag) indicating whether each node of the QT structure is divided into four nodes of the lower layer is encoded by the encoding unit 250 and signaled to the video 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 BT structure and / or the TT structure a plurality of dividing directions may exist. For example, there may be two directions in which the block of the node is divided horizontally and vertically. As shown in FIG.
  • BTTT_split_flag indicating whether the nodes are divided and a flag indicating a division direction (vertical or horizontal) and / or a division type (Binary or Ternary Is encoded by the encoding unit 250 and signaled to the video decoding apparatus.
  • a type that horizontally divides a block of the node into two blocks of the same size i.e., symmetric horizontal splitting
  • a vertically dividing type i.e., symmetric vertical splitting
  • the split flag (split_flag) indicating whether each node of the BT structure is divided into blocks of the lower layer and the split type information indicating the divided type are encoded by the encoding unit 250 and transmitted to the image decoding apparatus.
  • split_flag indicating whether each node of the BT structure is divided into blocks of the lower layer and the split type information indicating the divided type are encoded by the encoding unit 250 and transmitted to the image decoding apparatus.
  • the block of the node may be divided into two rectangular blocks having a size ratio of 1: 3, or the block of the corresponding node may be divided into diagonal directions.
  • the CU may have various sizes depending on the QTBT or QTBTTT segment from the CTU.
  • a block corresponding to a CU to be encoded or decoded i.e., a leaf node of QTBTTT
  • a 'current block' a block corresponding to a CU to be encoded or decoded
  • the prediction unit 220 generates a prediction block by predicting the current block.
  • the prediction unit 220 includes an intra prediction unit 222 and an inter prediction unit 224.
  • the current blocks in a picture may each be predictively coded.
  • Prediction of the current block is generally 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 prior to a picture containing the current block) .
  • Inter prediction includes both unidirectional prediction and bidirectional prediction.
  • the intraprediction unit 222 predicts pixels in the current block using pixels (reference pixels) located around the current block in the current picture including the current block.
  • a plurality of intra prediction modes may include a non-directional mode including a planar mode and a DC mode, and 65 directional modes.
  • the neighboring pixels to be used and the calculation expression are defined differently according to each prediction mode.
  • the intra prediction unit 222 can determine an intra prediction mode to be used for coding the current block.
  • the intra-prediction unit 222 may encode the current block using a plurality of intra-prediction modes and may select an appropriate intra-prediction mode to use from the tested modes.
  • the intra-prediction unit 222 may calculate rate-distortion values using a rate-distortion analysis for various tested intra-prediction modes, and may employ rate- The intra prediction mode may be selected.
  • the intra prediction unit 222 selects one intra prediction mode from among a plurality of intra prediction modes, and predicts the current block using neighboring pixels (reference pixels) determined by the selected intra prediction mode and an equation.
  • the information on the selected intra prediction mode is encoded by the encoding unit 250 and transmitted to the image decoding apparatus.
  • the inter-prediction unit 224 generates a prediction block for the current block through a motion compensation process.
  • a block most similar to the current block is searched in a reference picture coded and decoded earlier than the current picture, and a prediction block for the current block is generated using the searched block.
  • a motion vector corresponding to the displacement between the current block in the current picture and the prediction block in the reference picture is generated.
  • motion estimation is performed on a luma component, and motion vectors calculated based on luma components are used for both luma components and chroma components.
  • the motion information including the information on the reference picture used for predicting the current block and the information on the motion vector is encoded by the encoding unit 250 and transmitted to the video decoding apparatus.
  • the subtracter 230 subtracts the prediction block generated by the intra prediction unit 222 or the inter prediction unit 224 from the current block to generate a residual block.
  • the transform unit 240 transforms the residual signal in the residual block having pixel values in the spatial domain into transform coefficients in the frequency domain.
  • the transform unit 240 may transform the residual signals in the residual block using the size of the current block as a transform unit or divide the residual block into a plurality of smaller subblocks and transform residual signals into subblock- Conversion. There are various ways of dividing the residual block into smaller sub-blocks. For example, it may be divided into sub blocks of the same size that have been set, or a QT (quadtree) type partition using a residual block as a root node.
  • QT quadtree
  • the quantization unit 245 quantizes the transform coefficients output from the transform unit 240 and outputs the quantized transform coefficients to the encoding unit 250.
  • the encoding unit 250 encodes the quantized transform coefficients using a coding scheme such as CABAC to generate a bitstream. This encoding is typically performed on the quantized transform coefficients using one of a plurality of available scan schemes.
  • FIG. 5 is a diagram illustrating exemplary scanning schemes used to code quantized coefficients. These scanning methods include an up-right diagonal method (FIG. 5A), a horizontal method (FIG. 5B), and a vertical method (FIG.
  • FIG. 5A When the current block is coded using the inter prediction scheme, the coefficients of the corresponding block are scanned in an up-right diagonal manner. If the current block is coded in the intra prediction mode, one of the above three types And scan the coefficients of the corresponding block.
  • Each scan mode has the same scan pattern for the subblocks in the coefficient block and the coefficients in each subblock. For example, in the case of the horizontal scanning method, the scanning order of the sub-blocks is also a horizontal method, and the scanning order of the coefficients in each sub-block is also a horizontal method.
  • the order stored in the actual bit stream is stored in the reverse order of the scan order. That is, they are stored in the bit stream in the order of the pixel in the lower right position and the pixel in the upper left position.
  • the coefficients may be decoded in the opposite direction of the scan order towards the first coefficient in the scan pattern, as will be described further below.
  • the encoding unit 250 encodes information such as a CTU size, a QT division flag, a BT division flag, a dividing direction, and a division type associated with the block division so that the video decoding apparatus can divide the block like the video encoding apparatus .
  • the encoding unit 250 encodes information on a prediction type indicating whether the current block is coded by intraprediction or inter prediction, and outputs the intra prediction information (that is, Information) or inter prediction information (information on reference pictures and motion vectors).
  • the inverse quantization unit 260 dequantizes the quantized transform coefficients output from the quantization unit 245 to generate transform coefficients.
  • the inverse transform unit 265 transforms the transform coefficients output from the inverse quantization unit 260 from the frequency domain to the spatial domain and restores the residual block.
  • the adder 270 adds the reconstructed residual block and the prediction block generated by the predictor 220 to reconstruct the current block.
  • the pixels in the reconstructed current block are used as reference pixels when intra prediction of the next-order block is performed.
  • the filter unit 280 performs filtering on the reconstructed pixels to reduce blocking artifacts, ringing artifacts, blurring artifacts, and the like caused by block-based prediction and transformation / .
  • the filter unit 280 may include a deblocking filter 282 and an SAO filter 284.
  • the deblocking filter 280 filters boundaries between the restored blocks to remove blocking artifacts caused by coding / decoding on a block basis, and the SAO filter 284 performs additional filtering on the deblocking- Perform filtering.
  • the SAO filter 284 is a filter used to compensate for the difference between the reconstructed pixel and the original pixel due to lossy coding.
  • the restored blocks filtered through the deblocking filter 282 and the SAO filter 284 are stored in the memory 290.
  • the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be coded later.
  • FIG. 6 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure
  • the image decoding apparatus includes an image reconstructor 600 including a decoding unit 610, an inverse quantization unit 620, an inverse transformation unit 630, a prediction unit 640, an adder 650, And a memory 670.
  • each component may be implemented as a hardware chip, or may be implemented as software, and a microprocessor may be implemented to execute functions of software corresponding to each component.
  • the decoding unit 610 decodes the bit stream received from the image encoding apparatus to extract information related to the block division to determine a current block to be decoded, and outputs prediction information and residual signal information necessary for restoring the current block .
  • the decoding unit 610 extracts information on the CTU size from a sequence parameter set (SPS) or a picture parameter set (PPS), determines the size of the CTU, and divides the picture into CTUs of a predetermined size. Then, the CTU is determined as the top layer of the tree structure, that is, the root node, and the CTU is divided using the tree structure by extracting the partition information for the CTU. For example, when the CTU is divided using the QTBTTT structure, the first flag (QT_split_flag) related to the division of the QT is extracted and each node is divided into four nodes of the lower layer.
  • SPS sequence parameter set
  • PPS picture parameter set
  • the second flag BTTT_split_flag, the vertical / horizontal and / or binary / ternary information related to the division of the BTTT are extracted, Structure. In this way, each node below the leaf nodes of the QT is recursively divided into BT or TT structures.
  • the first flag (QT_split_flag) related to the division of the QT is extracted and each node is divided into four nodes of the lower layer.
  • the node corresponding to the leaf node of the QT is extracted with a split flag (split_flag) and dividing direction information indicating whether the node is further divided by BT.
  • the decoding unit 610 extracts information on a prediction type indicating whether the current block is intra-predicted or inter-predicted.
  • the decoding unit 610 extracts a syntax element for intra prediction information (intra prediction mode) of the current block.
  • the decoding unit 610 extracts syntax elements for inter prediction information, that is, information indicating a motion vector and a reference picture referred to by the motion vector.
  • the decoding unit 610 extracts information on the quantized transform coefficients of the current block as information on the residual signal.
  • the inverse quantization unit 620 dequantizes the quantized transform coefficients and the inverse transform unit 630 inversely transforms the dequantized transform coefficients from the frequency domain to the spatial domain to generate residual blocks for the current block by restoring the residual signals.
  • the prediction unit 640 includes an intra prediction unit 642 and an inter prediction unit 644.
  • the intra prediction unit 342 is activated when the intra prediction is the prediction type of the current block
  • the inter prediction unit 344 is activated when the intra prediction is the prediction type of the current block.
  • the intra prediction unit 642 determines the intra prediction mode of the current block among the plurality of intra prediction modes from the syntax element for the intra prediction mode extracted from the decoding unit 610, To predict the current block.
  • the inter-prediction unit 644 determines a motion vector of the current block and a reference picture referenced by the motion vector using a syntax element for the intra-prediction mode extracted from the decoding unit 610, The block is predicted.
  • the adder 650 adds the residual block output from the inverse transform unit and the prediction block output from the inter prediction unit or the intra prediction unit to reconstruct the current block.
  • the pixels in the reconstructed current block are utilized as reference pixels for intra prediction of a block to be decoded later.
  • the image restorer 600 sequentially restores the current blocks corresponding to the CUs, thereby restoring the picture composed of the CTUs and CTUs constituted by the CUs.
  • the filter unit 660 includes a deblocking filter 662 and an SAO filter 664.
  • the deblocking filter 662 deblocks the boundary between the restored blocks to remove blocking artifacts caused by decoding on a block-by-block basis.
  • the SAO filter 664 performs additional filtering on the reconstructed block after deblocking filtering to compensate for the difference between the reconstructed pixel and the original pixel resulting from lossy coding.
  • the restored block filtered through the deblocking filter 662 and the SAO filter 664 is stored in the memory 670. When all the 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 coded later.
  • the techniques of this disclosure generally involve efficiently hiding the sign of non-zero coefficients (i.e., significant coefficients) for a coefficient block that is an array of quantized coefficients that is the result of transformations and quantization. Therefore, certain techniques of the present disclosure may be performed by the encoding unit 250 or the decoding unit 610. [ That is, for example, the encoding unit 250 or the decoding unit 610 may perform the techniques of the present disclosure described with reference to Figs. 8A to 12 below. In other instances, one or more other units of the image encoding device or the image decoding device may additionally be involved in performing the techniques of the present disclosure.
  • HEVC H.265
  • FIG. 7A shows an example of a 32x32 transform block including a total of 64 4x4 subblocks.
  • non-zero coefficients are hatched, and the order of the non-zero coefficients recorded in the actual bit stream is listed when the diagonal scanning method illustrated in FIG. 5A is used.
  • the first non-zero coefficient and the last non-zero coefficient for determining code concealment conditions are defined in one 4 ⁇ 4 sub-block.
  • the present embodiment does not limit the positions of the first non-zero coefficient and the last non-zero coefficient for code concealment within one 4x4 sub-block, but the last non-zero coefficient in one transform block 1 coefficient) to the non-zero coefficients in the reverse order of the scan order are set as the first non-zero coefficient and the second non-zero coefficient to measure the distance in the scan order.
  • the procedure for this embodiment is as follows.
  • the present embodiment counts the non-zero coefficients encountered in the reverse order of the scan order, starting from the last non-zero coefficient (e.g., coefficient 1 in FIG. 7A) in one transform block, When the number of non-zero coefficients exceeds the threshold value thr , the sign of the corresponding non-zero coefficient is concealed and the scanning is performed again.
  • the procedure for this embodiment is as follows.
  • the image encoding apparatus first initializes a variable " count " and counts the non-zero coefficients that start in the reverse order of the scan order, starting from the first coefficient.
  • the sign of the third coefficient can be inferred from the parity check of the sum of the absolute values of the first, second and third coefficients by the video decoding apparatus.
  • the sign of the sixth coefficient can be deduced from the parity check of the sum of the absolute values of the fourth, fifth and sixth coefficients by the video decoding apparatus.
  • the coefficients concealed under the code concealment technique of this embodiment are marked in black in FIG. 8B.
  • the sign of the two total coefficients (the numbers 3 and 6) of the eight coefficients is concealed. That is, the code hiding technique of this embodiment saves 2 bits.
  • This embodiment divides consecutive non-zero coefficients into a predefined number of groups from the last non-zero coefficient in the transform block (e.g., coefficient 1 in FIG. 7A) to the reverse order of the scan order,
  • the technique of hiding the sign of the first non-zero coefficient in the scan order is used. Since the technique of the present embodiment must be able to know the number of all non-zero coefficients in the corresponding transform block before generating the sign data, the sign data at the end of the syntax for all coefficient information, As shown in Fig.
  • the video encoding apparatus first signals the syntax information for all eight non-zero coefficients. And divides the total of eight non-zero coefficients into two groups. That is, consecutive ⁇ 1, 2, 3, 4 ⁇ coefficients in the reverse order of the scan order are grouped into a first group, and consecutive ⁇ 5, 6, 7, 8 ⁇ . In each group, the sign for the first non-zero coefficient (4, 8) in the scan order is concealed.
  • the secret code can be deduced by the video decoding apparatus from the parity check on the sum of the absolute values of the intra-group coefficients.
  • the coefficients concealed under the code concealment technique of this embodiment are marked in black in FIG. 8B.
  • the sign of the total of two coefficients (the coefficients of No. 4 and No. 8) among the 8 coefficients is concealed. That is, the code hiding technique of this embodiment saves 2 bits.
  • the non-zero coefficients are grouped according to a predetermined rule.
  • ⁇ 1, 2, 3 ⁇ coefficients are assigned to the first group
  • ⁇ 7, ⁇ Coefficients are assigned to the third group.
  • the sign for the first non-zero coefficient i.e., number 3, number 6, and number 8 in the scan order is concealed. Note that, unlike the second embodiment, the sign of the coefficient 8 is further hidden.
  • the non-zero coefficients in one transform block are divided into a predetermined number of groups, and the coefficients of the low-frequency component and the high-frequency component are mixed with each other on the frequency domain basis (that is, Unlike the third embodiment, continuous non-zero coefficients in the scan sequence are not grouped). Then, the sign of the coefficient of the low frequency (or high frequency) component is concealed in each group.
  • the operation of adjusting the coefficient values to conform to the code prediction rule can be achieved without the operation of low-frequency components. That is, code hiding can be performed by modifying the high frequency component rather than modifying the relatively low frequency component. Since the technique of the present embodiment must be able to know the number of all non-zero coefficients in the corresponding transform block before generating the sign data, the sign data at the end of the syntax for all coefficient information, As shown in Fig.
  • the image encoding apparatus first signals the syntax information for all eight non-zero coefficients. And divides the total eight non-zero coefficients into two groups. In this example, the low frequency components and the high frequency components are mixed so that ⁇ 1, 2, 5, 6 ⁇ coefficients are assigned to the first group, and ⁇ 3, 4, 7, 8 ⁇ Lt; / RTI > The codes for the first non-zero coefficients (coefficients 6 and 8) are hidden in the scan sequence in the above two groups.
  • the coefficients concealed under the code concealment technique of this embodiment are marked in black in FIG. 8E.
  • the sign of the coefficient of the high frequency component is concealed, the sign of the coefficients of the first and third coefficients is concealed. Of the eight coefficients, the sign of two total coefficients (coefficients 6 and 8) was concealed. That is, the code hiding technique of this embodiment saves 2 bits.
  • coefficients 8 and 6 the sign of the two total coefficients (coefficients 8 and 6) was concealed.
  • the sign of the coefficients of the high frequency component is concealed, the sign of the coefficients of the first and third coefficients is concealed. That is, the code hiding technique of this embodiment saves 2 bits.
  • FIGS. 8G and 8H are diagrammatic representations of grouping differences of Example # 1 and Example # 2, in which the non-zero coefficients in the transform coefficient block of FIG. 7A are listed in reverse order of scan order.
  • Example # 1 ⁇ 1, 2, 5, 6 ⁇ coefficients are grouped into the same group as in FIG. 8G, and the ⁇ 3, 4, 7, 8 ⁇ coefficients are grouped into the same group.
  • FIG. 8H the coefficients ⁇ 1, 2, 7, 8 ⁇ are grouped into the same group, and the coefficients ⁇ 3, 4, 5, 6 ⁇ are grouped into the same group. If the number of total non-zero coefficients and the number of groups are not in multiple relation, the non-zero coefficients should be grouped according to the predetermined rules.
  • the gist of this embodiment is to mix low frequency and high frequency position coefficients into each group for code concealment and code prediction, and such grouping type is not limited to the above two types.
  • odd-order non-zero coefficients may be assigned to the first group and even-numbered non-zero coefficients may be assigned to the second group in the scan order.
  • the non-zero coefficients are divided into three groups, the (first, fourth, seventh, ...) ⁇ Non-zero coefficients into the first group, ⁇ second, fifth, eighth, ... ⁇
  • the coefficients belong to the second group, ⁇ 3rd, 6th, 9th, ... ⁇ Non-zero coefficients may be assigned to the third group.
  • This grouping can be accomplished by performing a modulo-N operation based on the number of predefined groups (N) for the order of the non-zero coefficients on the scan order.
  • the absolute values of the non-zero coefficients meeting in the reverse order of the scan order from the last non-zero coefficient (for example, coefficient 1 in Fig. 7A) in one transform block are accumulated and added, , The code of the corresponding non-zero coefficient is concealed, and scanning is performed again.
  • the procedure for this embodiment is as follows.
  • the level i.e., the absolute value
  • the level i.e., the absolute value
  • the sign of the coefficient 3 can be inferred from the parity of the sum of the absolute values of the coefficients 1, 2 and 3 by the image decoding apparatus.
  • the image coding apparatus resets the variable " sum " and accumulates the absolute value again after the non-zero coefficient applied with the sign concealment process.
  • the absolute values of the non-zero coefficients encountered in the reverse order of the scan order are accumulated.
  • the sign of the sixth coefficient can be inferred from the parity of the sum of the absolute values of the coefficients of the fourth, fifth and sixth coefficients by the image decoding apparatus.
  • This embodiment is a combination of the methods of the first and fifth embodiments described above. That is, the sum of the absolute values of the non-zero coefficients and the distance of non-zero coefficients encountered in the reverse order of the scan order from the last non-zero coefficient (e.g., coefficient 1 in FIG. 7A)
  • the distance is equal to or larger than the first threshold value thr1 and the sum of absolute values is equal to or larger than the second threshold value thr2
  • the sign of the non-zero coefficient is concealed and the scanning is performed again.
  • the procedure for this embodiment is as follows.
  • the present embodiment is a combination of the methods of the above-described second and fifth embodiments. That is, the "number of non-zero coefficients" and the “sum of absolute values” that meet in the reverse order of the scan order from the last non-zero coefficient (coefficient 1 in FIG. 7A) in one conversion block are obtained, If the sum of the absolute values is equal to or larger than the first threshold value thr1 and is greater than or equal to the second threshold value thr2 , the sign of the non-zero coefficient is concealed and scanning is performed again.
  • the procedure for this embodiment is as follows.
  • This embodiment relates to a technique for differentiating the non-zero coefficient used to check whether the code concealment condition is satisfied and the non-zero coefficient whose actual code is concealed and predicted. In the previous embodiments, this embodiment distinguishes if the coefficients whose coefficients are concealed (and thus predicted by the image decoding apparatus) were one non-zero coefficient used to identify code concealment conditions.
  • the sum of the absolute values of m ( ⁇ n) non-zero coefficients among the n non-zero coefficients is used to calculate one or more non-
  • the sign of the zero coefficient is hidden by the encoder and is predicted (inferred) by the decoder.
  • the value of m is the value promised between the encoder and the decoder
  • the non-zero coefficient whose actual code is predicted is the position or order of the coefficient by the promise of the encoder and decoder among the remaining (n - m) non- And the like.
  • the m non-zero coefficients are located in the front in the reverse order of the scan order, and the coefficient whose sign is predicted is located after this.
  • the prediction of the hidden code is based on a parity check of the sum of the absolute values of all associated non-zero coefficients. For example, if the sum of the absolute values is an even number, the hidden code is positive, and if the sum of the absolute values is an odd number, the hidden code is predicted to be negative.
  • This code prediction process can be simplified to the AND operation of least significant bits of all associated non-zero coefficients. For example, when there are a total of three nonzero coefficients, an AND operation between the least significant bits of the representations of three coefficients (A, B, C) (C & 0x01) "). That is, if the result of the AND operation is "0", the sign is determined as "+”, and if the AND operation result is "1", the sign is determined as "1". The opposite is also possible.
  • FIG. 9 is a flowchart illustrating a method of applying a code concealment technique to a coefficient block, which is an array of transform coefficients, in an image encoding apparatus according to an aspect of the present invention.
  • the image encoding apparatus determines the position of non-zero coefficients in the current coefficient block (S910).
  • the image encoding apparatus can signal the positions and levels of non-zero coefficients in the current coefficient block using at least some of the syntax elements illustrated in Table 1.
  • the image encoding apparatus divides the non-zero coefficients in the current coefficient block, excluding the zero coefficients, into a plurality of groups (S920).
  • the image encoding apparatus may group the non-zero coefficients in the current coefficient block, in a reverse scan order, by a predetermined number of non-zero coefficients.
  • the image encoding apparatus may divide non-zero coefficients into a plurality of groups by performing a modulo-N operation based on the number of groups (N) for each non-zero coefficient in the current coefficient block have.
  • the image encoding apparatus identifies the last non-zero coefficient and the first non-zero coefficient defined by the reverse order of the scanning order for each group (S930).
  • the image encoding apparatus For each group, if the distance in the scan order between the last non-zero coefficient and the first non-zero coefficient is greater than a predetermined threshold value, the image encoding apparatus performs a code data concealment process on the last non-zero coefficient (S940). That is, the image encoding apparatus does not signal sign data (i.e., sign bit) for the last non-zero coefficient.
  • the code data concealment process may include a parity check on the sum of the absolute values of the non-zero coefficients included in the group. If the parity does not point to the correct sign of the first non-zero coefficient, the image encoding apparatus selectively compensates for the sign bit to be hidden.
  • the sign data i.e., sign bit
  • FIG. 10 is a flowchart illustrating a method of applying a code concealment scheme to a coefficient block, which is an array of transform coefficients, in an image encoding apparatus according to another aspect of the present invention.
  • the image encoding apparatus determines the position of non-zero coefficients in the current coefficient block (S1010).
  • the image encoding apparatus can signal the positions and levels of non-zero coefficients in the current coefficient block using at least some of the syntax elements illustrated in Table 1.
  • the image encoding apparatus sets the position of the last non-zero coefficient in the scan order in the current coefficient block to the first position (S1020).
  • the image encoding apparatus determines a second position closest to the scanning order from the first position, which satisfies the code concealment condition, among the non-zero coefficients encountered in the reverse order of the scanning order from the first position (S1030) .
  • the code concealment condition is such that the first variable defined by the first position and the second position exceeds a predetermined first threshold value.
  • the first variable may be the sum of the absolute values of the non-zero coefficients encountered in the reverse order of the scan order from the first position to the second position within the coefficient block.
  • the first variable may be a number of non-zero coefficients located between the first and second positions in the scan order.
  • the first variable may be a distance between the first position and the second position in the scan order.
  • the image encoding apparatus applies a sign concealment process to the non-zero coefficient of the second position determined in step S1030 (S1040). That is, the image encoding apparatus does not signal sign data (i.e., sign bit) for the non-zero coefficient of the second position.
  • the code data concealment process may include a parity check on the sum of the absolute values of all non-zero coefficients encountered from the first position to the second position in the scan order. If the parity does not indicate the correct sign of the non-zero coefficient in the second position, the image encoding apparatus selectively compensates for the sign bit to be hidden.
  • the sign data i.e., sign bit
  • the image encoding apparatus sets the position of the nearest non-zero coefficient that is in the reverse direction of the scan order from the second position to which the sign prediction process is applied to the new first position (S1050).
  • the image encoding apparatus repeatedly performs S1030 to S1050 until it reaches the first non-zero coefficient in the scan order in the current coefficient block. That is, if the position of the first non-zero coefficient is selected as the first position or the second position, or exists between the first position and the second position (Yes in S1060), the above procedure is terminated.
  • FIG. 11 is a flowchart illustrating a method of decoding a bitstream of an encoded image in order to recover a coefficient block, which is an array of transform coefficients, in an image decoding apparatus according to an aspect of the present invention.
  • the image decoding apparatus determines the position of non-zero coefficients in the current coefficient block (S1110). To this end, the image decoding apparatus can parse at least a part of the syntax elements illustrated in Table 1 from the bitstream.
  • the image decoding apparatus divides the non-zero coefficients in the current coefficient block, excluding the zero coefficients, into a plurality of groups (S1120).
  • the image decoding apparatus may group the non-zero coefficients in the current coefficient block by a predetermined number of non-zero coefficients according to the reverse order of the scan order.
  • the image decoding apparatus may divide non-zero coefficients into a plurality of groups by performing a modulo-N operation based on the number of groups (N) for each non-zero coefficient in the current coefficient block have.
  • the video decoding apparatus identifies the last non-zero coefficient and the first non-zero coefficient defined by the reverse order of the scanning order for each group (S1130).
  • the image decoding apparatus For each group, the image decoding apparatus performs a code data prediction process on the last non-zero coefficient if the distance on the scan order between the last non-zero coefficient and the first non-zero coefficient is greater than a preset threshold value (S1140).
  • the sign data prediction process may include a parity check on the sum of the absolute values of the non-zero coefficients included in the group. If the sum of the absolute values of the non-zero coefficients contained in the group is even, then the sign of the last non-zero coefficient is inferred as positive, otherwise it is negatively inferred.
  • the sign data prediction process may include an AND operation of least significant bits of non-zero coefficients included within the group. If the result of the AND operation is "0 ", the sign is determined as" + " The opposite is also possible.
  • FIG. 12 is a flowchart illustrating a method of decoding a bitstream of an encoded image to recover a coefficient block, which is an array of transform coefficients, in an image decoding apparatus according to another aspect of the present invention.
  • the image decoding apparatus determines the position of non-zero coefficients in the current coefficient block (S1210). To this end, the image decoding apparatus can parse at least a part of the syntax elements illustrated in Table 1 from the bitstream.
  • the image decoding apparatus sets the position of the last non-zero coefficient in the scan order in the current coefficient block to the first position (S1220).
  • the video decoding apparatus determines a second position closest to the scanning order from the first position, which satisfies the code concealment condition, among the non-zero coefficients meeting in the reverse order of the scanning order from the first position (S1230) .
  • the code concealment condition is such that the first variable defined by the first position and the second position exceeds a predetermined first threshold value.
  • the first variable may be the sum of the absolute values of the non-zero coefficients encountered in the reverse order of the scan order from the first position to the second position within the coefficient block.
  • the first variable may be a number of non-zero coefficients located between the first and second positions in the scan order.
  • the first variable may be a distance between the first position and the second position in the scan order.
  • the image decoding apparatus applies the sign prediction process to the non-zero coefficient of the second position determined in step S1230 (S1240).
  • the sign data prediction process may include a parity check on the sum of the absolute values of all non-zero coefficients encountered from the first position to the second position in the scan order. If the sum of the absolute values is even, the sign of the non-zero coefficient of the last second position is deduced as positive, otherwise it is negatively deduced.
  • the sign data prediction process may comprise an AND operation of least significant bits of all non-zero coefficients encountered from the first position to the second position. If the result of the AND operation is "0 ", the sign is determined as" + " The opposite is also possible.
  • the image decoding apparatus sets the position of the closest non-zero coefficient to a new first position in a reverse order of the scan order from the second position to which the sign prediction process is applied (S1250).
  • the image decoding apparatus repeatedly performs S1230 to S1250 until it reaches the first non-zero coefficient in the scan order in the current coefficient block. That is, when the position of the first non-zero coefficient is selected as the first position or the second position, or exists between the first position and the second position (Yes in S1260) And is terminated.

Landscapes

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

Abstract

The aim of the present invention is to provide improved image coding and decoding techniques. In particular, provided according to one aspect of the present invention are techniques for efficiently hiding the sign of a non-zero coefficient among quantized transform coefficients. To this end, sign hiding for a non-zero coefficient is implemented by discriminately applying a sign prediction process on the basis of the characteristics between a last non-zero coefficient and a first non-zero coefficient.

Description

변환 계수의 부호 데이터 은닉Converting the sign data of the transform coefficients
본 발명은 영상의 부호화 및 복호화에 관한 것으로, 보다 상세하게는, 양자화된 변환 계수들 중 비-제로 계수의 부호(sign)를 효율적으로 시그널링하는 것과 관련된다.Field of the Invention The present invention relates to encoding and decoding an image, and more particularly, to efficiently signaling a sign of a non-zero coefficient among quantized transform coefficients.
동영상 데이터는 음성 데이터나 정지 영상 데이터 등에 비하여 데이터량이 많기 때문에, 압축을 위한 처리 없이 그 자체를 저장하거나 전송하기 위해서는 메모리를 포함하여 많은 하드웨어 자원을 필요로 한다. 따라서, 통상적으로 동영상 데이터를 저장하거나 전송할 때에는 인코더를 사용하여 동영상 데이터를 압축하여 저장하거나 전송하며, 디코더에서는 압축된 동영상 데이터를 수신하여 압축을 해제하고 재생한다. 이러한 동영상 압축 기술로는 H.264/AVC를 비롯하여, H.264/AVC 약 40% 정도의 부호화 효율을 향상시킨 2013년 초에 제정된 H.265(High Efficiency Video Coding: HEVC) 표준 기술이 존재한다. Since video data has a larger amount of data than voice data or still image data, it requires a lot of hardware resources including memory to store or transmit the video data itself without processing for compression. Accordingly, when storing or transmitting moving image data, the moving image data is compressed or stored using an encoder, and the decoder receives the compressed moving image data and decompresses and reproduces the moving image data. There are H.264 / AVC and H.265 (High Efficiency Video Coding: HEVC) standard technology which was established in early 2013 which improved the coding efficiency of about 40% of H.264 / AVC. do.
표 1은 변환 및 양자화 프로세스를 거친 양자화된 계수(quantized coefficient)들의 어레이인 계수 블록을 시그널링하기 위해 사용되는, H.265(HEVC) 표준에 규정된, 신택스(syntax)들을 나열한 것이다.Table 1 lists the syntaxes defined in the H.265 (HEVC) standard, which are used to signal coefficient blocks that are arrays of quantized coefficients through transform and quantization processes.
last_sig_coeff_x_prefixlast_sig_coeff_x_prefix
last_sig_coeff_y_prefixlast_sig_coeff_y_prefix
last_sig_coeff_x_suffixlast_sig_coeff_x_suffix
last_sig_coeff_y_suffixlast_sig_coeff_y_suffix
coded_sub_block_flagcoded_sub_block_flag
sig_coeff_flagsig_coeff_flag
coeff_abs_level_greater1_flagcoeff_abs_level_greater1_flag
coeff_abs_level_greater2_flagcoeff_abs_level_greater2_flag
coeff_sign_flag coeff_sign_flag
coeff_abs_level_remainingcoeff_abs_level_remaining
도 1은 16×16 TU(transform unit) 내 비-제로 계수들의 예시적인 위치와, 해당 TU의 계수들을 표현하는 신택스들을 보인다. 하나의 TU는 4×4 크기의 서브 블록 단위로 나뉘어져 관련 정보가 표현된다. 하나의 TU 내 계수들을 표현하는 신택스들은 표 1의 순서대로 시그널링된다. 표 1에 나열된 신택스들 중에서, coeff_sign_flag는 비-제로 계수의 부호(sign)를 표현하는 신택스이다. coeff_sign_flag가 제1값(예컨대, "0")을 나타내면 해당 비-제로 계수의 부호는 "+"(positive)이며, coeff_sign_flag가 제2값(예컨대, "1")을 나타내면, 해당 비-제로 계수의 부호는 "-"(negative)이다.Figure 1 shows the syntax of expressing the exemplary positions of non-zero coefficients in a 16 x 16 TU (transform unit) and coefficients of the corresponding TU. One TU is divided into sub-blocks of 4 × 4 size, and related information is expressed. The syntaxes representing the coefficients in one TU are signaled in the order of Table 1. Among the syntaxes listed in Table 1, coeff_sign_flag is a syntax for representing the sign of a non-zero coefficient. If the coeff_sign_flag indicates a first value (e.g., "0"), the sign of the corresponding non-zero coefficient is positive and the coeff_sign_flag indicates a second value Quot; - "(negative).
H.265(HEVC)에는, 부호 데이터 은닉(sign data hiding) 혹은 부호 비트 은닉(sign bit hiding)이라고 불리는 새로운 코딩 도구가 도입되어 영상 코딩의 압축 성능이 더욱 향상되었다. 부호 비트 은닉은 4×4 서브 블록의 첫 번째 비-제로 양자화된 변환 계수의 부호 비트를 선택적으로 부호화함으로써 부호화 이득을 향상시킨다. 4×4 서브 블록에 적어도 2 개의 비-제로 계수가 존재하고, 스캔 순서상, 첫 번째 비-제로 계수와 마지막 비-제로 계수의 스캔 위치 사이의 거리가 미리 설정된 임계 값보다 크면, 첫 번째 비-제로 계수의 부호는 인코더 측에서 은닉된다(즉, 시그널링되지 않는다). 디코더 측에서는 비-제로 계수들의 절대값의 합계의 패리티를 검사하는 것으로부터 은닉된 부호 비트를 추론할 수 있다. 예를 들어, 4×4 서브블록내의 변환 계수들의 절대값들의 합계가 짝수이면, 첫 번째 비-제로 계수의 부호는 양으로 추론되고, 그렇지 않으면, 음으로 추론된다. 이를 부호 예측(sign prediction)이라 칭할 수 있다. 패리티가 첫 번째 비-제로 계수의 정확한 부호를 가리키지 않는 경우, 인코더는 은닉되는 부호 비트를 위해, 선택적으로 보상을 수행한다. 이는 하나의 비-제로 계수를 선택하여 그 값을 이전 값보다 크거나 작은 인접 값으로 수정함으로써 부호화기 측에서 달성된다. 이러한 보상을 위해, 양자화 간격의 경계에 가까운 레벨을 가지는 비-제로 계수가 선택될 수 있다. 부호 비트 은닉은 율-왜곡 성능을 기준으로 보상을 위해 어떠한 비-제로 계수를 선택할지에 대한 자유를 부호화기에 부여한다.In H.265 (HEVC), a new coding tool called sign data hiding or sign bit hiding was introduced to further improve the compression performance of image coding. The code bit concealment improves the coding gain by selectively encoding the sign bit of the first non-zero quantized transform coefficient of the 4x4 sub-block. If there is at least two non-zero coefficients in the 4x4 sub-block and the distance between the scan positions of the first non-zero coefficient and the last non-zero coefficient in the scan order is greater than a predetermined threshold value, The sign of the zero coefficient is hidden (i.e., not signaled) at the encoder side. On the decoder side it is possible to deduce the secret code bit from checking the parity of the sum of the absolute values of the non-zero coefficients. For example, if the sum of the absolute values of the transform coefficients in the 4x4 sub-block is even, the sign of the first non-zero coefficient is inferred as positive, otherwise it is negatively inferred. This can be referred to as sign prediction. If the parity does not indicate the correct sign of the first non-zero coefficient, the encoder selectively compensates for the sign bit that is hidden. This is accomplished on the encoder side by selecting one non-zero coefficient and modifying its value to an adjacent value that is greater than or less than the previous value. For this compensation, a non-zero coefficient having a level close to the boundary of the quantization interval can be selected. Coded bit concealment gives the encoder a freedom to choose which non-zero coefficient to compensate based on the rate-distortion performance.
본 발명은 개선된 영상 부호화 및 복호화 기술을 제공하는 것을 목적으로 하며, 특히, 본 발명의 일 측면에 따르면, 양자화된 변환 계수들 중 비-제로 계수의 부호(sign)를 효율적으로 은닉하는 기법들을 제안한다.It is an object of the present invention to provide an improved image encoding and decoding technique and, in particular, to provide techniques for efficiently hiding the sign of non-zero coefficients among the quantized transform coefficients I suggest.
본 발명의 일 측면에 따르면, 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법으로서, 현재의 계수 블록에서 유효 계수들의 위치들을 식별하는 제1단계; 현재의 계수 블록에서 스캔 순서상 마지막 비-제로 계수의 위치를 제1위치로 설정하는 제2단계; 상기 제1위치로부터 스캔 순서의 역순으로 만나는 비-제로 계수들 중에서, 부호 은닉 조건을 만족하는, 상기 제1위치로부터 상기 스캔 순서상 가장 가까운 제2위치를 결정하는 제3단계; 상기 제2위치의 비-제로 계수에 대해 부호 예측 프로세스를 적용하는 제4단계; 및 상기 부호 예측 프로세스가 적용된 제2위치로부터 스캔 순서의 역순으로 만나는 가장 가까운 비-제로 계수의 위치를 상기 제1위치로 설정하는 제5단계를 포함하는 방법을 제공한다. 상기 현재의 계수 블록에서 상기 스캔 순서상 첫 번째 비-제로 계수에 도달할 때까지, 상기 제3단계 내지 상기 제5단계가 반복적으로 수행된다.According to an aspect of the present invention, there is provided a method of decoding a bitstream of an encoded image to recover a coefficient block, which is an array of transform coefficients, in an image decoding apparatus, Stage 1; A second step of setting a position of a last non-zero coefficient in a scan order in a current coefficient block to a first position; A third step of determining a second position closest to the scanning order from the first position satisfying the code concealment condition among the non-zero coefficients encountered in the reverse order of the scanning order from the first position; A fourth step of applying a sign prediction process to the non-zero coefficient of the second position; And a fifth step of setting a position of a closest non-zero coefficient that meets in a reverse order of a scan order from a second position to which the sign prediction process is applied to the first position. The third to fifth steps are repeatedly performed until the first non-zero coefficient is reached in the scan order in the current coefficient block.
일부 실시예에서, 상기 부호 은닉 조건은 상기 제1위치 및 상기 제2위치에 의해 정의되는 제1변수가 기설정된 제1임계값을 초과하는 것일 수 있다. 일부 실시예에서, 상기 부호 은닉 조건은 상기 제1위치 및 상기 제2위치에 의해 정의되는 제1변수가 기설정된 제1임계값을 초과하고, 상기 상기 제1위치 및 상기 제2위치에 의해 정의되는 제2변수가 기설정된 제2임계값을 초과하는 것일 수 있다.In some embodiments, the code conceal condition may be such that the first variable defined by the first position and the second position exceeds a predetermined first threshold value. In some embodiments, the code conceal condition is such that a first parameter defined by the first position and the second position exceeds a predetermined first threshold value and is defined by the first position and the second position. The second parameter may exceed the predetermined second threshold value.
본 발명의 다른 측면에 따르면, 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법으로서, 상기 현재의 계수 블록에서, 비-제로 계수들의 위치를 결정하는 단계; 상기 현재의 계수 블록 내의, 제로 계수들을 제외한, 비-제로 계수들을 복수의 그룹으로 나누는 단계; 각각의 그룹에 대해, 역방향 스캔 순서에 의해 규정되는 마지막 비-제로 계수와 첫 번째 비-제로 계수를 식별하는 단계; 및 각각의 그룹에 대해, 상기 마지막 비-제로 계수와 상기 첫 번째 비-제로 계수 사이의 상기 역방향 스캔 순서상의 거리가 기설정된 임계값보다 크면, 상기 마지막 비-제로 계수에 대해 부호 예측 프로세스를 수행하는 단계를 포함하는 방법을 제공한다.According to another aspect of the present invention there is provided a method of decoding a bitstream of an encoded image in order to reconstruct a coefficient block that is an array of transform coefficients in an image decoding apparatus, ; Dividing non-zero coefficients in the current coefficient block, excluding zero coefficients, into a plurality of groups; Identifying, for each group, a last non-zero coefficient and a first non-zero coefficient that are defined by a reverse scan order; And for each group, if the distance in the reverse scan order between the last non-zero coefficient and the first non-zero coefficient is greater than a preset threshold, then a sign prediction process is performed on the last non-zero coefficient The method comprising the steps of:
본 발명의 또 다른 측면에 따르면, 하나 이상의 프로세서; 및 명령어들이 저장된 메모리를 포함하는 영상 복호화 장치를 제공한다. 상기 명령어들은 상기 하나 이상의 프로세서에 의해 실행될 때 상기 영상 복호화 장치로 하여금, 현재의 계수 블록에서 유효 계수들의 위치들을 식별하는 제1단계; 현재의 계수 블록에서 스캔 순서상 마지막 비-제로 계수의 위치를 제1위치로 설정하는 제2단계; 상기 제1위치로부터 스캔 순서의 역방향으로 만나는 비-제로 계수들 중에서, 부호 은닉 조건을 만족하는, 상기 제1위치로부터 상기 스캔 순서상 가장 가까운 제2위치를 결정하는 제3단계; 상기 제2위치의 비-제로 계수에 대해 부호 예측 프로세스를 적용하는 제4단계; 및 상기 부호 예측 프로세스가 적용된 제2위치로부터 스캔 순서의 역방향로 만나는 가장 가까운 비-제로 계수의 위치를 상기 제1위치로 설정하는 제5단계를 수행하도록 하되, 상기 현재의 계수 블록에서 상기 스캔 순서상 첫 번째 비-제로 계수에 도달할 때까지, 상기 제3단계 내지 상기 제5단계를 반복적으로 수행하도록 한다. According to another aspect of the present invention, there is provided a computer program product comprising: one or more processors; And a memory in which instructions are stored. The instructions comprising: a first step of causing the image decoding apparatus, when executed by the one or more processors, to identify positions of significant coefficients in a current coefficient block; A second step of setting a position of a last non-zero coefficient in a scan order in a current coefficient block to a first position; A third step of determining a second position closest to the scanning order from the first position satisfying the code concealment condition among the non-zero coefficients encountered in the reverse direction of the scan order from the first position; A fourth step of applying a sign prediction process to the non-zero coefficient of the second position; And a fifth step of setting a position of a closest non-zero coefficient that meets in a reverse direction of a scan order from a second position to which the sign prediction process is applied to the first position, wherein in the current coefficient block, The third to fifth steps are repeatedly performed until the first non-zero coefficient is reached.
본 발명의 또 다른 측면에 따르면, 하나 이상의 프로세서; 및 명령어들이 저장된 메모리를 포함하는 영상 복호화 장치를 제공하며, 상기 명령어들은 상기 하나 이상의 프로세서에 의해 실행될 때 상기 영상 복호화 장치로 하여금, 상기 현재의 계수 블록에서, 비-제로 계수들의 위치를 결정하는 단계; 상기 현재의 계수 블록 내의, 제로 계수들을 제외한, 비-제로 계수들을 복수의 그룹으로 나누는 단계; 각각의 그룹에 대해, 역방향 스캔 순서에 의해 규정되는 마지막 비-제로 계수와 첫 번째 비-제로 계수를 식별하는 단계; 및 각각의 그룹에 대해, 상기 마지막 비-제로 계수와 상기 첫 번째 비-제로 계수 사이의 상기 역방향 스캔 순서상의 거리가 기설정된 임계값보다 크면, 상기 마지막 비-제로 계수에 대해 부호 예측 프로세스를 수행하는 단계를 수행하도록 한다.According to another aspect of the present invention, there is provided a computer program product comprising: one or more processors; And a memory in which instructions are stored, wherein the instructions cause the image decoding apparatus, when executed by the one or more processors, to determine, in the current coefficient block, a position of non-zero coefficients ; Dividing non-zero coefficients in the current coefficient block, excluding zero coefficients, into a plurality of groups; Identifying, for each group, a last non-zero coefficient and a first non-zero coefficient that are defined by a reverse scan order; And for each group, if the distance in the reverse scan order between the last non-zero coefficient and the first non-zero coefficient is greater than a preset threshold, then a sign prediction process is performed on the last non-zero coefficient .
도 1은 16×16 TU(transform unit) 내 비-제로 계수들의 예시적인 위치와, 해당 TU의 계수들을 표현하는 신택스들을 보인다. Figure 1 shows the syntax of expressing the exemplary positions of non-zero coefficients in a 16 x 16 TU (transform unit) and coefficients of the corresponding TU.
도 2는 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.2 is an exemplary block diagram of an image encoding apparatus capable of implementing the techniques of this disclosure;
도 3은 QTBTTT 구조를 이용한 블록 분할의 예시도이다. 3 is an illustration of block partitioning using a QTBTTT structure.
도 4는 복수의 인트라 예측 모드들에 대한 예시도이다.4 is an exemplary diagram of a plurality of intra prediction modes.
도 5는 정사각형 계수 블록의 양자화된 계수들의 부호화에 이용되는 예시적인 스캔 방식들을 나타낸 도면이다.5 is a diagram illustrating exemplary scan schemes used for encoding quantized coefficients of a square coefficient block.
도 6은 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.6 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure;
도 7a는 총 64개의 4×4 서브 블록들로 구성된 32×32 변환 블록의 일례를 보인다. 7A shows an example of a 32x32 transform block including a total of 64 4x4 subblocks.
도 7b는 도 7a에 예시된 변환 블록에 대해, H.265(HEVC) 표준에 따라 은닉되는 계수를 보인 도면이다. FIG. 7B is a plot showing coefficients hidden according to the H.265 (HEVC) standard for the transform block illustrated in FIG. 7A.
도 8a 내지 도 8f는 도 7a에 예시된 변환 블록에 대해, 본 발명의 실시예들에 따라 은닉되는 계수를 보인 도면이다. Figures 8A-8F show coefficients that are hidden according to embodiments of the present invention for the transform block illustrated in Figure 7A.
도 9는 본 발명의 일 측면에 따른, 영상 부호화 장치에서, 변환 계수들의 배열인 계수 블록에 대해 부호 은닉 기법을 적용하는 방법을 도시하는 흐름도이다.9 is a flowchart illustrating a method of applying a code concealment technique to a coefficient block, which is an array of transform coefficients, in an image encoding apparatus according to an aspect of the present invention.
도 10은 본 발명의 다른 측면에 따른, 영상 부호화 장치에서, 변환 계수들의 배열인 계수 블록에 대해 부호 은닉 기법을 적용하는 방법을 도시하는 흐름도이다.10 is a flowchart illustrating a method of applying a code concealment scheme to a coefficient block, which is an array of transform coefficients, in an image encoding apparatus according to another aspect of the present invention.
도 11은 본 발명의 일 측면에 따른, 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법을 도시하는 흐름도이다.11 is a flowchart illustrating a method of decoding a bitstream of an encoded image in order to recover a coefficient block, which is an array of transform coefficients, in an image decoding apparatus according to an aspect of the present invention.
도 12는 본 발명의 다른 측면에 따른, 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법을 도시하는 흐름도이다.12 is a flowchart illustrating a method of decoding a bitstream of an encoded image to recover a coefficient block, which is an array of transform coefficients, in an image decoding apparatus according to another aspect of the present invention.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that, in adding the identification codes to the constituent elements of the respective drawings, the same constituent elements are denoted by the same reference symbols as possible even if they are displayed on different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.
본 개시의 기술들은, 일반적으로, 변환 및 양자화의 결과물인 양자화된 계수들의 어레이인 계수 블록에 대해, 유효 계수(significant coefficient)로도 지칭되는, 비-제로 계수들의 부호를 효율적으로 시그널링하는 것과 관련된다. The techniques of the present disclosure generally relate to efficiently signaling the sign of non-zero coefficients, also referred to as significant coefficients, for a coefficient block that is an array of quantized coefficients that is the result of transform and quantization .
도 2는 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.2 is an exemplary block diagram of an image encoding apparatus capable of implementing the techniques of this disclosure;
영상 부호화 장치는 블록 분할부(210), 예측부(220), 감산기(230), 변환부(240), 양자화부(245), 부호화부(250), 역양자화부(260), 역변환부(265), 가산기(270), 필터부(280) 및 메모리(290)를 포함한다. 영상 부호화 장치는 각 구성요소가 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 하나 이상의 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.The image encoding apparatus includes a block division unit 210, a prediction unit 220, a subtractor 230, a transform unit 240, a quantization unit 245, an encoding unit 250, an inverse quantization unit 260, 265, an adder 270, a filter unit 280, and a memory 290. The image encoding apparatus may be implemented such that each component is implemented as a hardware chip or software, and one or more microprocessors execute the function of the software corresponding to each component.
하나의 영상(비디오)는 복수의 픽처들로 구성된다. 각 픽처들은 복수의 영역으로 분할되고 각 영역마다 부호화가 수행된다. 예를 들어, 하나의 픽처는 하나 이상의 슬라이스(slice) 또는/및 타일(Tile)로 분할되고, 각 슬라이스 또는 타일은 하나 이상의 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)에 부호화된다.One video (video) is composed of a plurality of pictures. Each picture is divided into a plurality of areas and coding is performed for each area. For example, one picture is divided into one or more slices or / and tiles, and each slice or tile is divided into one or more CTU (Coding Tree Unit). Each CTU is divided into one or more CUs (Coding Units) by a tree structure. The information applied to each CU is encoded as a syntax of the CU, and the information commonly applied to the CUs included in one CTU is encoded as the syntax of the CTU. In addition, information commonly applied to all blocks in one tile is encoded as a syntax of a tile or is encoded as a syntax of a group of tiles in which a plurality of tiles are collected, and information applied to all blocks constituting one picture is And is encoded into a picture parameter set (PPS) or a picture header. Further, information that is commonly referred to by a plurality of pictures is encoded into a sequence parameter set (SPS). The information that is commonly referred to by one or more SPSs is encoded into a Video Parameter Set (VPS).
블록 분할부(210)는 CTU(Coding Tree Unit)의 크기를 결정한다. CTU의 크기에 대한 정보(CTU size)는 SPS 또는 PPS 의 신택스로서 부호화되어 영상 복호화 장치로 전달된다. 블록 분할부(210)는 영상을 구성하는 각 픽처(picture)를 결정된 크기의 복수의 CTU(Coding Tree Unit)로 분할한 이후에, CTU를 트리 구조(tree structure)를 이용하여 반복적으로(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) 구조가 사용될 수 있다. The block dividing unit 210 determines the size of the Coding Tree Unit (CTU). The information on the size of the CTU (CTU size) is encoded as the syntax of the SPS or PPS and transmitted to the image decoding apparatus. The block dividing unit 210 divides each picture constituting an image into a plurality of CTUs (Coding Tree Units) having a determined size, and thereafter recursively recursively uses the CTU tree structure. . A leaf node in a tree structure becomes a coding unit (CU) which is a basic unit of coding. In the tree structure, a quad tree (QuadTree, QT) in which an upper node (or a parent node) is divided into four sub nodes (or child nodes) of the same size, or a binary tree in which an upper node is divided into two lower nodes , BT), or a ternary tree (TT) in which an ancestor node is divided into three subnodes at a ratio of 1: 2: 1, or a structure combining one or more of these QT structures, BT structures and TT structures have. For example, a QuadTree plus BinaryTree (QTBT) structure can be used, or a QuadTree plus BinaryTreeTernaryTree (QTBTTT) structure can be used.
도 3은 QTBTTT 분할 트리 구조를 보인다. 도 3에서 보는 바와 같이, CTU는 먼저 QT 구조로 분할될 수 있다. 쿼드트리 분할은 분할 블록(splitting block)의 크기가 QT에서 허용되는 리프 노드의 최소 블록 크기(MinQTSize)에 도달할 때까지 반복될 수 있다. QT 구조의 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1 플래그(QT_split_flag)는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. 3 shows a QTBTTT segmentation tree structure. As shown in FIG. 3, the CTU can be first divided into the QT structure. The quadtree partitioning can be repeated until the size of the splitting block reaches the minimum block size (MinQTSize) of the leaf node allowed in QT. The first flag (QT_split_flag) indicating whether each node of the QT structure is divided into four nodes of the lower layer is encoded by the encoding unit 250 and signaled to the video decoding apparatus.
QT의 리프 노드가 BT에서 허용되는 루트 노드의 최대 블록 크기(MaxBTSize)보다 크지 않은 경우, BT 구조 또는 TT 구조 중 어느 하나 이상으로 더 분할될 수 있다. BT 구조 및/또는 TT 구조에서는 복수의 분할 방향이 존재할 수 있다. 예컨대, 해당 노드의 블록이 가로로 분할하는 방향과 세로로 분할하는 방향 두 가지가 존재할 수 있다. 도 3과 같이, BTTT 분할이 시작되면, 노드들이 분할되었는지 여부를 지시하는 제2 플래그(BTTT_split_flag)와, 분할이 되었다면 추가적으로 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그 및/또는 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그가 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.If 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. In the BT structure and / or the TT structure, a plurality of dividing directions may exist. For example, there may be two directions in which the block of the node is divided horizontally and vertically. As shown in FIG. 3, when the BTTT segmentation is started, a second flag BTTT_split_flag indicating whether the nodes are divided and a flag indicating a division direction (vertical or horizontal) and / or a division type (Binary or Ternary Is encoded by the encoding unit 250 and signaled to the video decoding apparatus.
트리 구조의 다른 예시로서 QTBT가 사용되는 경우, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입(즉, symmetric horizontal splitting)과 세로로 분할하는 타입(즉, symmetric vertical splitting) 두 가지가 존재할 수 있다. BT 구조의 각 노드가 하위 레이어의 블록으로 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할되는 타입을 지시하는 분할 타입 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다. 한편, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태로는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태를 포함할 수 있고, 혹은 해당 노드의 블록을 대각선 방향으로 분할하는 형태를 포함할 수도 있다.As another example of a tree structure, when QTBT is used, a type that horizontally divides a block of the node into two blocks of the same size (i.e., symmetric horizontal splitting) and a vertically dividing type (i.e., symmetric vertical splitting) Branches can exist. The split flag (split_flag) indicating whether each node of the BT structure is divided into blocks of the lower layer and the split type information indicating the divided type are encoded by the encoding unit 250 and transmitted to the image decoding apparatus. On the other hand, there may be additional types of dividing the blocks of the node into two asymmetric blocks. In the asymmetric form, the block of the node may be divided into two rectangular blocks having a size ratio of 1: 3, or the block of the corresponding node may be divided into diagonal directions.
CU는 CTU로부터의 QTBT 또는 QTBTTT 분할에 따라 다양한 크기를 가질 수 있다. 이하에서는, 부호화 또는 복호화하고자 하는 CU(즉, QTBTTT의 리프 노드)에 해당하는 블록을 '현재블록'이라 칭한다.The CU may have various sizes depending on the QTBT or QTBTTT segment from the CTU. Hereinafter, a block corresponding to a CU to be encoded or decoded (i.e., a leaf node of QTBTTT) is referred to as a 'current block'.
예측부(220)는 현재블록을 예측하여 예측블록을 생성한다. 예측부(220)는 인트라 예측부(222)와 인터 예측부(224)를 포함한다. The prediction unit 220 generates a prediction block by predicting the current block. The prediction unit 220 includes an intra prediction unit 222 and an inter prediction unit 224.
일반적으로, 픽처 내 현재블록들은 각각 예측적으로 코딩될 수 있다. 현재블록의 예측은 (현재블록을 포함하는 픽처로부터의 데이터를 사용하는) 인트라 예측 기술 또는 (현재블록을 포함하는 픽처 이전에 코딩된 픽처로부터의 데이터를 사용하는) 인터 예측 기술을 사용하여 일반적으로 수행될 수 있다. 인터 예측은 단방향 예측과 양방향 예측 모두를 포함한다.In general, the current blocks in a picture may each be predictively coded. Prediction of the current block is generally 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 prior to a picture containing the current block) . Inter prediction includes both unidirectional prediction and bidirectional prediction.
인트라 예측부(222)는 현재블록이 포함된 현재 픽처 내에서 현재블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재한다. 예컨대, 도 4에서 보는 바와 같이, 복수의 인트라 예측모드는 planar 모드와 DC 모드를 포함하는 비방향성 모드와 65 개의 방향성 모드를 포함할 수 있다. 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다. The intraprediction unit 222 predicts pixels in the current block using pixels (reference pixels) located around the current block in the current picture including the current block. There are a plurality of intra prediction modes according to the prediction direction. For example, as shown in FIG. 4, a plurality of intra prediction modes may include a non-directional mode including a planar mode and a DC mode, and 65 directional modes. The neighboring pixels to be used and the calculation expression are defined differently according to each prediction mode.
인트라 예측부(222)는 현재블록을 부호화하는데 사용할 인트라 예측 모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(222)는 여러 인트라 예측 모드들을 사용하여 현재블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측 모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(222)는 여러 테스트된 인트라 예측 모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측 모드를 선택할 수도 있다. The intra prediction unit 222 can determine an intra prediction mode to be used for coding the current block. In some examples, the intra-prediction unit 222 may encode the current block using a plurality of intra-prediction modes and may select an appropriate intra-prediction mode to use from the tested modes. For example, the intra-prediction unit 222 may calculate rate-distortion values using a rate-distortion analysis for various tested intra-prediction modes, and may employ rate- The intra prediction mode may be selected.
인트라 예측부(222)는 복수의 인트라 예측 모드 중에서 하나의 인트라 예측 모드를 선택하고, 선택된 인트라 예측 모드에 따라 결정되는 주변 픽셀(참조 픽셀)과 연산식을 사용하여 현재블록을 예측한다. 선택된 인트라 예측 모드에 대한 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다.The intra prediction unit 222 selects one intra prediction mode from among a plurality of intra prediction modes, and predicts the current block using neighboring pixels (reference pixels) determined by the selected intra prediction mode and an equation. The information on the selected intra prediction mode is encoded by the encoding unit 250 and transmitted to the image decoding apparatus.
인터 예측부(224)는 움직임 보상 과정을 통해 현재블록에 대한 예측블록을 생성한다. 현재 픽처보다 먼저 부호화 및 복호화된 참조픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 일반적으로, 움직임 추정은 루마(luma) 성분에 대해 수행되고, 루마 성분에 기초하여 계산된 모션 벡터는 루마 성분 및 크로마 성분 모두에 대해 사용된다. 현재블록을 예측하기 위해 사용된 참조픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다. The inter-prediction unit 224 generates a prediction block for the current block through a motion compensation process. A block most similar to the current block is searched in a reference picture coded and decoded earlier than the current picture, and a prediction block for the current block is generated using the searched block. Then, a motion vector corresponding to the displacement between the current block in the current picture and the prediction block in the reference picture is generated. In general, motion estimation is performed on a luma component, and motion vectors calculated based on luma components are used for both luma components and chroma components. The motion information including the information on the reference picture used for predicting the current block and the information on the motion vector is encoded by the encoding unit 250 and transmitted to the video decoding apparatus.
감산기(230)는 현재블록으로부터 인트라 예측부(222) 또는 인터 예측부(224)에 의해 생성된 예측블록을 감산하여 잔차 블록을 생성한다.The subtracter 230 subtracts the prediction block generated by the intra prediction unit 222 or the inter prediction unit 224 from the current block to generate a residual block.
변환부(240)는 공간 영역의 픽셀 값들을 가지는 잔차 블록 내의 잔차 신호를 주파수 도메인의 변환 계수로 변환한다. 변환부(240)는 잔차 블록 내의 잔차 신호들을 현재블록의 크기를 변환 단위로 사용하여 변환할 수 있으며, 또는 잔차 블록을 더 작은 복수의 서브블록을 분할하고 서브블록 크기의 변환 단위로 잔차 신호들을 변환할 수도 있다. 잔차 블록을 더 작은 서브블록으로 분할하는 방법은 다양하게 존재할 수 있다. 예컨대, 기정의된 동일한 크기의 서브블록으로 분할할 수도 있으며, 또는 잔차 블록을 루트 노드로 하는 QT(quadtree) 방식의 분할을 사용할 수도 있다. The transform unit 240 transforms the residual signal in the residual block having pixel values in the spatial domain into transform coefficients in the frequency domain. The transform unit 240 may transform the residual signals in the residual block using the size of the current block as a transform unit or divide the residual block into a plurality of smaller subblocks and transform residual signals into subblock- Conversion. There are various ways of dividing the residual block into smaller sub-blocks. For example, it may be divided into sub blocks of the same size that have been set, or a QT (quadtree) type partition using a residual block as a root node.
양자화부(245)는 변환부(240)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 부호화부(250)로 출력한다.The quantization unit 245 quantizes the transform coefficients output from the transform unit 240 and outputs the quantized transform coefficients to the encoding unit 250.
부호화부(250)는 양자화된 변환 계수들을 CABAC 등의 부호화 방식을 사용하여 부호화하여 비트스트림을 생성한다. 이러한 부호화는 통상적으로 복수의 가용한 스캔 방식 중 하나를 이용하여 양자화된 변환 계수에 대해 수행된다. The encoding unit 250 encodes the quantized transform coefficients using a coding scheme such as CABAC to generate a bitstream. This encoding is typically performed on the quantized transform coefficients using one of a plurality of available scan schemes.
도 5는 양자화된 계수들의 부호화에 이용되는 예시적인 스캔 방식들을 나타낸 도면이다. 이들 스캔 방식은 up-right diagonal 방식(도 5의 (a)), horizontal 방식(도 5의 (b)), vertical 방식(도 5의 (c))을 포함한다. 현재 블록이 인터 예측 방식을 사용하여 부호화되는 경우, 해당 블록의 계수들은 up-right diagonal 방식으로 스캔되고, 현재 블록이 인트라 예측 방식으로 부호화된 경우는 인트라 예측 모드에 따라 위 세 가지 형태 중 하나를 선택하여 해당 블록의 계수들을 스캔하게 된다. 각 스캔 방식은 계수 블록 내 서브 블록들 및 각 서브 블록 내 계수들에 대해서 동일한 형태의 스캔 패턴을 보인다. 예를 들어, horizontal 스캔 방식의 경우, 서브 블록들의 스캔 순서도 horizontal 방식이고, 각 서브 블록 내 계수들의 스캔 순서도 horizontal 방식이다. 다만, 실제 비트스트림에 저장되는 순서는 스캔 순서의 역순으로 저장이 된다. 즉, 우하 위치의 화소부터 좌상 위치의 화소 순으로 비트스트림에 저장된다. 이하에서 더 설명되는 바와 같이, 일단 마지막 유효 계수(비-제로 계수)의 위치가 알려지고 나면, 계수들은 스캔 패턴 내의 첫 번째 계수쪽으로 스캔 순서의 반대 방향으로 복호화될 수 있다.5 is a diagram illustrating exemplary scanning schemes used to code quantized coefficients. These scanning methods include an up-right diagonal method (FIG. 5A), a horizontal method (FIG. 5B), and a vertical method (FIG. When the current block is coded using the inter prediction scheme, the coefficients of the corresponding block are scanned in an up-right diagonal manner. If the current block is coded in the intra prediction mode, one of the above three types And scan the coefficients of the corresponding block. Each scan mode has the same scan pattern for the subblocks in the coefficient block and the coefficients in each subblock. For example, in the case of the horizontal scanning method, the scanning order of the sub-blocks is also a horizontal method, and the scanning order of the coefficients in each sub-block is also a horizontal method. However, the order stored in the actual bit stream is stored in the reverse order of the scan order. That is, they are stored in the bit stream in the order of the pixel in the lower right position and the pixel in the upper left position. Once the position of the last significant coefficient (non-zero coefficient) is known, the coefficients may be decoded in the opposite direction of the scan order towards the first coefficient in the scan pattern, as will be described further below.
또한, 부호화부(250)는 블록 분할과 관련된 CTU size, QT 분할 플래그, BT 분할 플래그, 분할 방향, 분할 타입 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다.The encoding unit 250 encodes information such as a CTU size, a QT division flag, a BT division flag, a dividing direction, and a division type associated with the block division so that the video decoding apparatus can divide the block like the video encoding apparatus .
부호화부(250)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보(즉, 인트라 예측 모드에 대한 정보) 또는 인터 예측정보(참조픽처 및 움직임벡터에 대한 정보)를 부호화한다. The encoding unit 250 encodes information on a prediction type indicating whether the current block is coded by intraprediction or inter prediction, and outputs the intra prediction information (that is, Information) or inter prediction information (information on reference pictures and motion vectors).
역양자화부(260)는 양자화부(245)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(265)는 역양자화부(260)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.The inverse quantization unit 260 dequantizes the quantized transform coefficients output from the quantization unit 245 to generate transform coefficients. The inverse transform unit 265 transforms the transform coefficients output from the inverse quantization unit 260 from the frequency domain to the spatial domain and restores the residual block.
가산부(270)는 복원된 잔차블록과 예측부(220)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.The adder 270 adds the reconstructed residual block and the prediction block generated by the predictor 220 to reconstruct the current block. The pixels in the reconstructed current block are used as reference pixels when intra prediction of the next-order block is performed.
필터부(280)는 블록 기반의 예측 및 변환/양자화로 인해 발생하는 블록킹 아티팩트(blocking artifacts), 링잉 아티팩트(ringing artifacts), 블러링 아티팩트(blurring artifacts) 등을 줄이기 위해 복원된 픽셀들에 대한 필터링을 수행한다. 필터부(280)는 디블록킹 필터(282)와 SAO 필터(284)를 포함할 수 있다.The filter unit 280 performs filtering on the reconstructed pixels to reduce blocking artifacts, ringing artifacts, blurring artifacts, and the like caused by block-based prediction and transformation / . The filter unit 280 may include a deblocking filter 282 and an SAO filter 284.
디블록킹 필터(280)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 필터링하고, SAO 필터(284)는 디블록킹 필터링된 영상에 대해 추가적인 필터링을 수행한다. SAO 필터(284)는 손실 부호화(lossy coding)로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해 사용되는 필터이다. The deblocking filter 280 filters boundaries between the restored blocks to remove blocking artifacts caused by coding / decoding on a block basis, and the SAO filter 284 performs additional filtering on the deblocking- Perform filtering. The SAO filter 284 is a filter used to compensate for the difference between the reconstructed pixel and the original pixel due to lossy coding.
디블록킹 필터(282) 및 SAO 필터(284)를 통해 필터링된 복원 블록은 메모리(290)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.The restored blocks filtered through the deblocking filter 282 and the SAO filter 284 are stored in the memory 290. When all the 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 coded later.
도 6은 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.6 is an exemplary block diagram of an image decoding apparatus capable of implementing the techniques of the present disclosure;
영상 복호화 장치는 복호화부(610), 역양자화부(620), 역변환부(630), 예측부(640), 가산기(650) 등을 포함하는 영상 복원기(600)와, 필터부(660) 및 메모리(670)를 포함한다. 도 2의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치는 각 구성요소가 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.The image decoding apparatus includes an image reconstructor 600 including a decoding unit 610, an inverse quantization unit 620, an inverse transformation unit 630, a prediction unit 640, an adder 650, And a memory 670. 2, each component may be implemented as a hardware chip, or may be implemented as software, and a microprocessor may be implemented to execute functions of software corresponding to each component.
복호화부(610)는 영상 부호화 장치로부터 수신한 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출하여 복호화하고자 하는 현재블록을 결정하고, 현재블록을 복원하기 위해 필요한 예측 정보와 잔차신호에 대한 정보 등을 추출한다.The decoding unit 610 decodes the bit stream received from the image encoding apparatus to extract information related to the block division to determine a current block to be decoded, and outputs prediction information and residual signal information necessary for restoring the current block .
복호화부(610)는 SPS (Sequence Parameter Set) 또는 PPS (Picture Parameter Set)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 그리고 CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할 정보를 추출함으로써 CTU를 트리 구조를 이용하여 분할한다. 예컨대, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BTTT의 분할과 관련된 제2 플래그(BTTT_split_flag) 및 분할 방향(vertical / horizontal) 및/또는 분할 타입(binary / ternary) 정보를 추출하여 해당 리프 노드를 BTTT 구조로 분할한다. 이를 통해 QT의 리프 노드 이하의 각 노드들을 BT 또는 TT 구조로 반복적으로(recursively) 분할한다.The decoding unit 610 extracts information on the CTU size from a sequence parameter set (SPS) or a picture parameter set (PPS), determines the size of the CTU, and divides the picture into CTUs of a predetermined size. Then, the CTU is determined as the top layer of the tree structure, that is, the root node, and the CTU is divided using the tree structure by extracting the partition information for the CTU. For example, when the CTU is divided using the QTBTTT structure, the first flag (QT_split_flag) related to the division of the QT is extracted and each node is divided into four nodes of the lower layer. For the node corresponding to the leaf node of the QT, the second flag BTTT_split_flag, the vertical / horizontal and / or binary / ternary information related to the division of the BTTT are extracted, Structure. In this way, each node below the leaf nodes of the QT is recursively divided into BT or TT structures.
다른 예로서, QTBT 구조를 사용하여 CTU를 분할하는 경우, QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT로 더 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할 방향 정보를 추출한다.As another example, when the CTU is divided using the QTBT structure, the first flag (QT_split_flag) related to the division of the QT is extracted and each node is divided into four nodes of the lower layer. The node corresponding to the leaf node of the QT is extracted with a split flag (split_flag) and dividing direction information indicating whether the node is further divided by BT.
한편, 복호화부(610)는 트리 구조의 분할을 통해 복호화하고자 하는 현재블록을 결정하게 되면, 현재블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다. On the other hand, when the current block to be decoded is determined through division of the tree structure, the decoding unit 610 extracts information on a prediction type indicating whether the current block is intra-predicted or inter-predicted.
예측 타입 정보가 인트라 예측을 지시하는 경우, 복호화부(610)는 현재블록의 인트라 예측정보(인트라 예측 모드)에 대한 신택스 요소를 추출한다. When the prediction type information indicates intra prediction, the decoding unit 610 extracts a syntax element for intra prediction information (intra prediction mode) of the current block.
예측 타입 정보가 인터 예측을 지시하는 경우, 복호화부(610)는 인터 예측정보에 대한 신택스 요소, 즉, 움직임벡터 및 그 움직임벡터가 참조하는 참조픽처를 나타내는 정보를 추출한다. When the prediction type information indicates inter prediction, the decoding unit 610 extracts syntax elements for inter prediction information, that is, information indicating a motion vector and a reference picture referred to by the motion vector.
한편, 복호화부(610)는 잔차신호에 대한 정보로서 현재블록의 양자화된 변환계수들에 대한 정보를 추출한다. Meanwhile, the decoding unit 610 extracts information on the quantized transform coefficients of the current block as information on the residual signal.
역양자화부(620)는 양자화된 변환계수들을 역양자화하고 역변환부(630)는 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재블록에 대한 잔차블록을 생성한다.The inverse quantization unit 620 dequantizes the quantized transform coefficients and the inverse transform unit 630 inversely transforms the dequantized transform coefficients from the frequency domain to the spatial domain to generate residual blocks for the current block by restoring the residual signals.
예측부(640)는 인트라 예측부(642) 및 인터 예측부(644)를 포함한다. 인트라 예측부(342)는 현재블록의 예측 타입인 인트라 예측일 때 활성화되고, 인터 예측부(344)는 현재블록의 예측 타입인 인트라 예측일 때 활성화된다.The prediction unit 640 includes an intra prediction unit 642 and an inter prediction unit 644. The intra prediction unit 342 is activated when the intra prediction is the prediction type of the current block, and the inter prediction unit 344 is activated when the intra prediction is the prediction type of the current block.
인트라 예측부(642)는 복호화부(610)로부터 추출된 인트라 예측 모드에 대한 신택스 요소로부터 복수의 인트라 예측 모드 중 현재블록의 인트라 예측 모드를 결정하고, 인트라 예측 모드에 따라 현재블록 주변의 참조 픽셀들을 이용하여 현재블록을 예측한다. The intra prediction unit 642 determines the intra prediction mode of the current block among the plurality of intra prediction modes from the syntax element for the intra prediction mode extracted from the decoding unit 610, To predict the current block.
인터 예측부(644)는 복호화부(610)로부터 추출된 인트라 예측 모드에 대한 신택스 요소를 이용하여 현재블록의 움직임 벡터와 그 움직임벡터가 참조하는 참조픽처를 결정하고, 움직임벡터와 참조픽처를 현재블록을 예측한다.The inter-prediction unit 644 determines a motion vector of the current block and a reference picture referenced by the motion vector using a syntax element for the intra-prediction mode extracted from the decoding unit 610, The block is predicted.
가산기(650)는 역변환부로부터 출력되는 잔차블록과 인터 예측부 또는 인트라 예측부로부터 출력되는 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.The adder 650 adds the residual block output from the inverse transform unit and the prediction block output from the inter prediction unit or the intra prediction unit to reconstruct the current block. The pixels in the reconstructed current block are utilized as reference pixels for intra prediction of a block to be decoded later.
영상 복원기(600)에 의해 CU들에 해당하는 현재블록들을 순차적으로 복원함으로써, CU들로 구성된 CTU, CTU들로 구성된 픽처가 복원된다.The image restorer 600 sequentially restores the current blocks corresponding to the CUs, thereby restoring the picture composed of the CTUs and CTUs constituted by the CUs.
필터부(660)는 디블록킹 필터(662) 및 SAO 필터(664)를 포함한다. 디블록킹 필터(662)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링한다. SAO 필터(664)는, 손실 부호화(lossy coding)으로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해, 디블록킹 필터링 이후의 복원된 블록에 대해 추가적인 필터링을 수행한다. 디블록킹 필터(662) 및 SAO 필터(664)를 통해 필터링된 복원 블록은 메모리(670)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.The filter unit 660 includes a deblocking filter 662 and an SAO filter 664. The deblocking filter 662 deblocks the boundary between the restored blocks to remove blocking artifacts caused by decoding on a block-by-block basis. The SAO filter 664 performs additional filtering on the reconstructed block after deblocking filtering to compensate for the difference between the reconstructed pixel and the original pixel resulting from lossy coding. The restored block filtered through the deblocking filter 662 and the SAO filter 664 is stored in the memory 670. When all the 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 coded later.
본 개시의 기술들은 일반적으로 변환 및 양자화의 결과물인 양자화된 계수들의 어레이인 계수 블록에 대해 비-제로 계수(즉, 유효 계수)들의 부호를 효율적으로 은닉하는 것과 관련된다. 따라서, 본 개시의 소정의 기법들은 부호화부(250) 또는 복호화부(610)에 의해 수행될 수도 있다. 즉, 예를 들어, 부호화부(250) 또는 복호화부(610)는 아래의 도 8a 내지 도 12를 참조하여 기술된 본 개시의 기법들을 수행할 수도 있다. 다른 예들에서, 영상 부호화 장치 혹은 영상 복호화 장치의 하나 이상의 다른 유닛들이 추가적으로 본 개시의 기법들을 수행하는 데 관여할 수도 있다. The techniques of this disclosure generally involve efficiently hiding the sign of non-zero coefficients (i.e., significant coefficients) for a coefficient block that is an array of quantized coefficients that is the result of transformations and quantization. Therefore, certain techniques of the present disclosure may be performed by the encoding unit 250 or the decoding unit 610. [ That is, for example, the encoding unit 250 or the decoding unit 610 may perform the techniques of the present disclosure described with reference to Figs. 8A to 12 below. In other instances, one or more other units of the image encoding device or the image decoding device may additionally be involved in performing the techniques of the present disclosure.
H.265(HEVC) 표준에서 설명된 부호 데이터 은닉 기법은 변환 블록을 4×4 서브 블록들로 분할하고, 각각의 서브 블록에 대해, 부호 데이터 은닉 프로세스를 적용한다. 즉, 변환 계수 블록의 4×4 서브 블록내에서 역방향 스캔 순서상 첫 번째 비-제로 계수와 마지막 비-제로 계수 간에 위치들에서의 차이가 3 보다 크고(즉, lastSignScanPos - firstSigScanPos > 3), 변환 및 양자화 단계들이 현재의 CU에 대해 바이패스되지(즉, 스킵되지) 않을 때(즉, cu_transquant_bypass_flag = off), 영상 부호화 장치는 해당 4×4 서브-블록의 첫 번째 비-제로 계수의 부호 데이터를 시그널링하지 않는다. The code data concealment technique described in the H.265 (HEVC) standard divides a transform block into 4 × 4 subblocks and applies a code data concealment process to each subblock. That is, if the difference in positions between the first non-zero coefficient and the last non-zero coefficient in the reverse scan order within a 4 × 4 subblock of the transform coefficient block is greater than 3 (ie, lastSignScanPos - firstSigScanPos> 3) And the quantization steps are not bypassed (i.e., skipped) with respect to the current CU (i.e., cu_transquant_bypass_flag = off), the image encoding apparatus returns the sign data of the first non- zero coefficient of the corresponding 4x4 sub- Do not signal.
도 7a는 총 64개의 4×4 서브 블록들로 구성된 32×32 변환 블록의 일례를 보인다. 도 7a에는 비-제로 계수들이 빗금 표시되어 있으며, 도 5의 (a)에 예시된 diagonal 스캔 방식을 사용할 때 실제 비트스트림에 기록되는 비-제로 계수의 순번이 병기되어 있다. 7A shows an example of a 32x32 transform block including a total of 64 4x4 subblocks. In FIG. 7A, non-zero coefficients are hatched, and the order of the non-zero coefficients recorded in the actual bit stream is listed when the diagonal scanning method illustrated in FIG. 5A is used.
도 7a에 예시된 변환 블록에서, 오직 첫 번째 서브 블록만이 H.265(HEVC) 표준에 규정된 상기 부호 은닉 조건(lastSignScanPos - firstSigScanPos > 3)을 만족하며, 따라서 첫 번째 서브 블록의 첫 번째 비-제로 계수(8번 계수)의 부호만이 은닉된다. H.265(HEVC) 표준에 규정된 부호 은닉 기법을 통해, 도 7a에 예시된 변환 블록에 대해 은닉되는 계수가 도 7b에 검정색으로 마킹되어 있다. In the transform block illustrated in FIG. 7A, only the first subblock satisfies the sign concealment condition (lastSignScanPos - firstSigScanPos> 3) defined in the H.265 (HEVC) standard, and thus the first ratio of the first subblock - Only the sign of the zero coefficient (coefficient 8) is hidden. Through the code concealment technique defined in the H.265 (HEVC) standard, the coefficients concealed for the transform block illustrated in FIG. 7A are marked in black in FIG. 7B.
이제, 도 8a 내지 도 12를 참조하여 본 개시에서 제안되는 비-제로 계수의 부호 데이터를 효율적으로 은닉하는 여러 기법들을 설명한다. Now, several techniques for efficiently concealing the code data of the non-zero coefficients proposed in this disclosure will be described with reference to FIGS. 8A-12.
<제1실시예>&Lt; Embodiment 1 >
HEVC에서 채용된 부호 은닉 기법에서는, 부호 은닉 조건을 판단하기 위한 첫 번째 비-제로 계수 및 마지막 비-제로 계수가 하나의 4×4 서브 블록내에서 정의되었다. 본 실시예는, 부호 은닉을 위한 첫 번째 비-제로 계수 및 마지막 비-제로 계수의 위치를 하나의 4×4 서브 블록 내로 한정하지 않고, 하나의 변환 블록 내 마지막 비-제로 계수(도 7a에서 1번 계수)부터 스캔 순서의 역순으로 만나는 비-제로 계수들을 첫 번째 비-제로 계수 및 두 번째 비-제로 계수로 설정하여 스캔 순서상의 거리를 측정하는 기법을 사용한다. 본 실시예에 대한 절차는 다음과 같다.In the code concealment scheme adopted in the HEVC, the first non-zero coefficient and the last non-zero coefficient for determining code concealment conditions are defined in one 4 × 4 sub-block. The present embodiment does not limit the positions of the first non-zero coefficient and the last non-zero coefficient for code concealment within one 4x4 sub-block, but the last non-zero coefficient in one transform block 1 coefficient) to the non-zero coefficients in the reverse order of the scan order are set as the first non-zero coefficient and the second non-zero coefficient to measure the distance in the scan order. The procedure for this embodiment is as follows.
Figure PCTKR2019000139-appb-I000001
Figure PCTKR2019000139-appb-I000001
임계값( thr )을 3이라고 가정하고, 본 실시예의 기법을 도 7a에 예시된 변환 계수 블록에 대해 적용하면, 다음과 같다. Assuming that the threshold value thr is 3, applying the technique of this embodiment to the transform coefficient block illustrated in Fig. 7A is as follows.
먼저, 영상 부호화 장치는, 1번 계수의 위치를 제1위치로 지정하고, 2번 계수의 위치를 제2위치로 지정한 후, 스캔 순서 상의 두 계수 사이의 거리를 계산한다. 두 계수의 거리가 임계값(= 3)을 초과하므로, 제2위치의 계수(즉, 2번 계수)의 부호가 은닉된다. 2번 계수의 부호는 1번 및 2번 계수의 절대값의 합의 패리티 체크로부터, 영상 복호화 장치에 의해, 추론될 수 있다. 영상 부호화 장치는, 제1위치 및 제2위치를 리셋한 후 다시 스캐닝을 수행한다.First, the image encoding apparatus sets the position of the first coefficient to the first position, designates the position of the second coefficient to the second position, and then calculates the distance between two coefficients in the scan order. Since the distance between the two coefficients exceeds the threshold value (= 3), the sign of the coefficient at the second position (i.e., coefficient 2) is concealed. The sign of the second coefficient can be inferred from the parity check of the sum of the absolute values of the first and second coefficients by the video decoding apparatus. The image encoding apparatus resets the first position and the second position, and then performs the scanning again.
영상 부호화 장치는, 3번 계수의 위치를 제1위치로 지정하고, 4번 계수의 위치를 제2위치로 지정한 후, 스캔 순서 상의 두 계수 사이의 거리를 계산한다. 두 계수의 거리가 임계값(= 3)을 초과하므로, 제2위치의 계수(즉, 4번 계수)의 부호가 은닉된다. 4번 계수의 부호는 3번 및 4번 계수의 절대값의 합의 패리티 체크로부터, 영상 복호화 장치에 의해, 추론될 수 있다. 영상 부호화 장치는, 제1위치 및 제2위치를 리셋한 후 다시 스캐닝을 수행한다.The image coding apparatus sets the position of the third coefficient to the first position, designates the position of the fourth coefficient to the second position, and then calculates the distance between the two coefficients in the scanning order. Since the distance between two coefficients exceeds the threshold value (= 3), the sign of the coefficient at the second position (that is, coefficient 4) is concealed. The sign of the coefficient 4 can be deduced by the image decoding apparatus from the parity check of the sum of the absolute values of the coefficients 3 and 4. The image encoding apparatus resets the first position and the second position, and then performs the scanning again.
영상 부호화 장치는, 5번 계수의 위치를 제1위치로 지정하고, 6번 계수의 위치가 제2위치로 지정한 후, 스캔 순서 상의 두 계수 사이의 거리를 계산한다. 두 계수의 거리는 임계값(3)을 초과하지 않는 바, 제2위치를 리셋한 후, 다시 스캐닝을 재개하여, 7번 계수의 위치를 제2 위치로 지정한다. 스캔 순서 상의 두 계수(7번 계수와 5번 계수) 사이의 거리를 계산한다. 두 계수의 거리가 임계값(= 3)을 초과하므로, 제2위치의 계수(즉, 7번 계수)의 부호가 은닉된다. 7번 계수의 부호는 5번, 6번 및 7번 계수의 절대값의 합의 패리티 체크로부터, 영상 복호화 장치에 의해, 추론될 수 있다. 영상 부호화 장치는, 제1위치 및 제2위치를 리셋한 후 다시 스캐닝을 수행한다.The image coding apparatus sets the position of the coefficient 5 to the first position and sets the position of the coefficient 6 to the second position and then calculates the distance between two coefficients in the scanning order. The distance between the two coefficients does not exceed the threshold value (3). After resetting the second position, scanning is resumed again, and the position of the coefficient 7 is designated as the second position. Calculate the distance between two coefficients in the scan order (coefficient 7 and coefficient 5). Since the distance between the two coefficients exceeds the threshold value (= 3), the sign of the coefficient at the second position (i.e., coefficient 7) is concealed. The sign of the coefficient 7 can be deduced from the parity check of the sum of the absolute values of the coefficients 5, 6 and 7 by the image decoding apparatus. The image encoding apparatus resets the first position and the second position, and then performs the scanning again.
본 실시예의 부호 은닉 기법 하에서 은닉되는 계수들이 도 8a에 검정색으로 마킹되어 있다. 8개의 계수 중 총 3개의 계수(2번, 4번, 7번 계수)의 부호가 은닉된다. 즉, 본 실시예의 부호 은닉 기법을 통해 3비트를 절약하게 된다. The coefficients concealed under the code concealment technique of this embodiment are marked in black in Fig. 8A. Of the eight coefficients, the sign of the three coefficients (the numbers 2, 4, and 7) is concealed. That is, 3 bits are saved through the code hiding technique of the present embodiment.
<제2실시예>&Lt; Embodiment 2 >
본 실시예는, 하나의 변환 블록 내 마지막 비-제로 계수(예컨대, 도 7a에서 1번 계수)부터 시작하여 스캔 순서의 역순으로 만나는 비-제로 계수들을 카운트하고, 어떤 비-제로 계수에 이르러, 비-제로 계수의 개수가 임계값( thr )을 초과하게 되면, 해당 비-제로 계수의 부호를 은닉하고, 다시 스캐닝을 수행한다. 본 실시예에 대한 절차는 다음과 같다.The present embodiment counts the non-zero coefficients encountered in the reverse order of the scan order, starting from the last non-zero coefficient (e.g., coefficient 1 in FIG. 7A) in one transform block, When the number of non-zero coefficients exceeds the threshold value thr , the sign of the corresponding non-zero coefficient is concealed and the scanning is performed again. The procedure for this embodiment is as follows.
Figure PCTKR2019000139-appb-I000002
Figure PCTKR2019000139-appb-I000002
임계값( thr )을 2라고 가정하고, 본 실시예의 기법을 도 7a에 예시된 변환 계수 블록에 대해 적용하면, 다음과 같다. Assuming that the threshold value thr is 2, applying the technique of this embodiment to the transform coefficient block illustrated in Fig. 7A is as follows.
영상 부호화 장치는, 먼저 변수 'count'를 초기화하고, 1번 계수부터 시작하여, 스캔 순서의 역순으로 만나는 비-제로 계수들을 카운트해 나간다. 3번 계수에 이르러 카운트 값(= 3)이 비로소 임계값(= 2)을 초과하게 되며, 영상 부호화 장치는, 3번 계수에 대해 부호 은닉 프로세스를 적용한다. 3번 계수의 부호는 1번, 2번 및 3번 계수의 절대값의 합의 패리티 체크로부터, 영상 복호화 장치에 의해, 추론될 수 있다. The image encoding apparatus first initializes a variable &quot; count &quot; and counts the non-zero coefficients that start in the reverse order of the scan order, starting from the first coefficient. The count value (= 3) exceeds the threshold value (= 2) by reaching the third coefficient, and the image coding apparatus applies the code concealment process to the third coefficient. The sign of the third coefficient can be inferred from the parity check of the sum of the absolute values of the first, second and third coefficients by the video decoding apparatus.
영상 부호화 장치는, 변수 'count'를 리셋한 후, 부호 은닉 프로세스를 적용된 비-제로 계수 이후부터 비-제로 계수들을 카운트해 나간다. 즉, 4번 계수부터 시작하여, 스캔 순서의 역순으로 만나는 비-제로 계수들을 카운트해 나간다. 6번 계수에 이르러 카운트 값(= 3)이 비로소 임계값(= 2)을 초과하게 되며, 영상 부호화 장치는, 6번 계수에 대해 부호 은닉 프로세스를 적용한다. 6번 계수의 부호는 4번, 5번 및 6번 계수의 절대값의 합의 패리티 체크로부터, 영상 복호화 장치에 의해, 추론될 수 있다.The image encoding apparatus resets the variable &quot; count &quot;, and then counts non-zero coefficients from the non-zero coefficient applied with the code concealment process. That is, starting from the fourth coefficient, the non-zero coefficients encountered in the reverse order of the scan order are counted. The count value (= 3) exceeds the threshold value (= 2) by reaching the 6th coefficient, and the image coding apparatus applies the code concealment process to the 6th coefficient. The sign of the sixth coefficient can be deduced from the parity check of the sum of the absolute values of the fourth, fifth and sixth coefficients by the video decoding apparatus.
영상 부호화 장치는, 변수 'count'를 리셋한 후, 부호 은닉 프로세스를 적용된 비-제로 계수 이후부터 비-제로 계수들을 카운트해 나간다. 즉, 7번 계수부터 시작하여, 스캔 순서의 역순으로 만나는 비-제로 계수들을 카운트해 나간다. 스캔 순서상 첫번째 비-제로 계수인 8번 계수에 이르러서도 카운트 값(= 2)이 임계값(= 2)을 초과하지 못하므로, 더 이상 부호 은닉 프로세스가 적용되는 비-제로 계수는 없다. The image encoding apparatus resets the variable &quot; count &quot;, and then counts non-zero coefficients from the non-zero coefficient applied with the code concealment process. That is, starting from coefficient 7, the non-zero coefficients encountered in the reverse order of the scan order are counted. Since the count value (= 2) does not exceed the threshold value (= 2) even after reaching the coefficient of 8, which is the first non-zero coefficient in the scan order, there is no nonzero coefficient to which the code concealment process is applied.
본 실시예의 부호 은닉 기법 하에서 은닉되는 계수들이 도 8b에 검정색으로 마킹되어 있다. 8개의 계수 중 총 2개의 계수(3번, 6번 계수)의 부호가 은닉된다. 즉, 본 실시예의 부호 은닉 기법을 통해 2비트를 절약하게 된다. The coefficients concealed under the code concealment technique of this embodiment are marked in black in FIG. 8B. The sign of the two total coefficients (the numbers 3 and 6) of the eight coefficients is concealed. That is, the code hiding technique of this embodiment saves 2 bits.
<제3실시예>&Lt; Third Embodiment >
본 실시예는 변환 블록 내 마지막 비-제로 계수(예컨대, 도 7a에서 1번 계수)부터 스캔 순서의 역순으로, 연속적인 비-제로 계수들을 미리 정의된 개수의 그룹들로 구분하고, 각 그룹에서 스캔 순서상 첫 번째 비-제로 계수의 부호를 은닉하는 기법을 사용한다. 본 실시예의 기법은, 부호 데이터(sign data)를 생성하기 전에 이미 해당 변환 블록 내의 전체 비-제로 계수의 개수를 알 수 있어야 하므로, 모든 계수 정보에 대한 신택스들의 가장 마지막에 부호 데이터(sign data)를 배치하여야 한다는 제약을 가진다.This embodiment divides consecutive non-zero coefficients into a predefined number of groups from the last non-zero coefficient in the transform block (e.g., coefficient 1 in FIG. 7A) to the reverse order of the scan order, The technique of hiding the sign of the first non-zero coefficient in the scan order is used. Since the technique of the present embodiment must be able to know the number of all non-zero coefficients in the corresponding transform block before generating the sign data, the sign data at the end of the syntax for all coefficient information, As shown in Fig.
일 예로서, 미리 정의된 그룹의 개수를 2라고 가정하고, 본 실시예의 기법을 도 7a에 예시된 변환 계수 블록에 대해 적용하면, 다음과 같다. As an example, assuming that the number of predefined groups is 2, applying the technique of the present embodiment to the transform coefficient block illustrated in FIG. 7A is as follows.
영상 부호화 장치는, 먼저, 전체 8개의 비-제로 계수에 대한 신택스 정보를 시그널링 한다. 그리고 전체 8개의 비-제로 계수를 2개의 그룹으로 나눈다. 즉, 스캔 순서의 역순으로 연속적인 {1번, 2번, 3번, 4번} 계수들이 제1 그룹으로, 연속적인 {5번, 6번, 7번, 8번} 계수들이 제2 그룹으로 배치된다. 각 그룹에서 스캔 순서상 첫 번째 비-제로 계수(4번, 8번)에 대한 부호가 은닉된다. 은닉된 부호는 해당 그룹내 계수들의 절대값의 합에 대한 패리티 체크로부터, 영상 복호화 장치에 의해, 추론될 수 있다. 본 실시예의 부호 은닉 기법 하에서 은닉되는 계수들이 도 8b에 검정색으로 마킹되어 있다. 8개의 계수 중 총 2개의 계수(4번, 8번 계수)의 부호가 은닉된다. 즉, 본 실시예의 부호 은닉 기법을 통해 2비트를 절약하게 된다. The video encoding apparatus first signals the syntax information for all eight non-zero coefficients. And divides the total of eight non-zero coefficients into two groups. That is, consecutive {1, 2, 3, 4} coefficients in the reverse order of the scan order are grouped into a first group, and consecutive {5, 6, 7, 8} . In each group, the sign for the first non-zero coefficient (4, 8) in the scan order is concealed. The secret code can be deduced by the video decoding apparatus from the parity check on the sum of the absolute values of the intra-group coefficients. The coefficients concealed under the code concealment technique of this embodiment are marked in black in FIG. 8B. The sign of the total of two coefficients (the coefficients of No. 4 and No. 8) among the 8 coefficients is concealed. That is, the code hiding technique of this embodiment saves 2 bits.
다른 예로서, 미리 정의된 그룹의 개수를 3이라고 가정하고, 본 실시예의 기법을 도 7a에 예시된 변환 계수 블록에 대해 적용하면, 다음과 같다. As another example, assuming that the number of predefined groups is 3, applying the technique of this embodiment to the transform coefficient block illustrated in FIG. 7A is as follows.
전체 8개의 비-제로 계수를 3개의 그룹으로 나눈다. 도 7a의 예시처럼, 변환 블록 내 비-제로 계수들의 총 개수와 그룹의 개수가 배수 관계가 아니면, 미리 약속된 규칙에 따라 비-제로 계수들이 그룹화 된다. 여기서는, 편의상, 스캔 순서의 역순으로, {1번, 2번, 3번} 계수들이 제1 그룹에, {4번, 5번, 6번} 계수들이 제2 그룹에, {7번, 8번} 계수들이 제3 그룹에 할당된다. 각 그룹에서 스캔 순서상 첫 번째 비-제로 계수(즉, 3번, 6번, 8번 계수)에 대한 부호가 은닉된다. 제2실시예와 달리, 8번 계수의 부호가 추가로 은닉됨에 유의하라. 본 실시예의 부호 은닉 기법 하에서 은닉되는 계수들이 도 8d에 검정색으로 마킹되어 있다. 8개의 계수 중 총 3개의 계수(3번, 6번, 8번 계수)의 부호가 은닉되었다. 즉, 본 실시예의 부호 은닉 기법을 통해 3비트를 절약하게 된다. Divide all eight nonzero coefficients into three groups. As in the example of FIG. 7A, if the total number of non-zero coefficients in the transform block and the number of groups are not in a multiple relation, the non-zero coefficients are grouped according to a predetermined rule. Here, for convenience, {1, 2, 3} coefficients are assigned to the first group, {4, 5, 6} coefficients to the second group, and {7, } Coefficients are assigned to the third group. In each group, the sign for the first non-zero coefficient (i.e., number 3, number 6, and number 8) in the scan order is concealed. Note that, unlike the second embodiment, the sign of the coefficient 8 is further hidden. The coefficients concealed under the sign cloaking technique of this embodiment are marked in black in Fig. 8d. Of the eight coefficients, the sign of the total of three coefficients ( numbers 3, 6, and 8) was concealed. That is, 3 bits are saved through the code hiding technique of the present embodiment.
<제4실시예><Fourth Embodiment>
본 실시예에서는, 하나의 변환 블록 내 비-제로 계수들을 미리 정의된 개수의 그룹들로 나누되, 각 그룹에는, 주파수 도메인 기준으로, 저주파 성분의 계수와 고주파 성분의 계수가 혼합된다(즉, 제3실시예와 달리, 스캔 순서상 연속적인 비-제로 계수들이 그룹화되지 않는다). 그리고 각 그룹에서 저주파 (혹은 고주파) 성분의 계수의 부호를 은닉한다. 각 그룹에 저주파 계수들과 고주파 계수들을 혼합하는 것으로 인해, 부호 예측 규칙에 부합하도록 계수 값들을 조정하는 작업이 저주파 성분의 조작 없이도 달성될 수 있다. 즉, 상대적으로 중요한 저주파 성분의 수정보다는 고주파 성분의 수정을 통해 부호 은닉을 수행할 수 있다. 본 실시예의 기법은, 부호 데이터(sign data)를 생성하기 전에 이미 해당 변환 블록 내의 전체 비-제로 계수의 개수를 알 수 있어야 하므로, 모든 계수 정보에 대한 신택스들의 가장 마지막에 부호 데이터(sign data)를 배치하여야 한다는 제약을 가진다.In this embodiment, the non-zero coefficients in one transform block are divided into a predetermined number of groups, and the coefficients of the low-frequency component and the high-frequency component are mixed with each other on the frequency domain basis (that is, Unlike the third embodiment, continuous non-zero coefficients in the scan sequence are not grouped). Then, the sign of the coefficient of the low frequency (or high frequency) component is concealed in each group. By mixing the low-frequency coefficients and the high-frequency coefficients in each group, the operation of adjusting the coefficient values to conform to the code prediction rule can be achieved without the operation of low-frequency components. That is, code hiding can be performed by modifying the high frequency component rather than modifying the relatively low frequency component. Since the technique of the present embodiment must be able to know the number of all non-zero coefficients in the corresponding transform block before generating the sign data, the sign data at the end of the syntax for all coefficient information, As shown in Fig.
예시 #1 Example # 1
미리 정의된 그룹의 개수를 2라고 가정하고, 본 실시예의 기법을 도 7a에 예시된 변환 계수 블록에 대해 적용하면, 다음과 같다. Assuming that the number of predefined groups is 2, applying the technique of this embodiment to the transform coefficient block illustrated in FIG. 7A is as follows.
영상 부호화 장치는, 먼저, 전체 8개의 비-제로 계수들에 대한 신택스 정보를 시그널링 한다. 그리고 전체 8개의 비-제로 계수들을 2개의 그룹으로 나눈다. 본 예시에서, 저주파 성분과 고주파 성분이 섞여, {1번, 2번, 5번, 6번} 계수들이 제1 그룹에, {3번, 4번, 7번, 8번} 계수들이 제2 그룹에 할당된다. 위 2개의 그룹 내 스캔 순서상 첫 번째 비-제로 계수(6번, 8번 계수)에 대한 부호가 은닉된다. 본 실시예의 부호 은닉 기법 하에서 은닉되는 계수들이 도 8e에 검정색으로 마킹되어되어 있다. 대안적으로, 고주파 성분의 계수의 부호를 은닉하는 경우, 1번 및 3번 계수에 대한 부호가 은닉된다. 8개의 계수 중 총 2개의 계수(6번, 8번 계수)의 부호가 은닉되었다. 즉, 본 실시예의 부호 은닉 기법을 통해 2비트를 절약하게 된다.The image encoding apparatus first signals the syntax information for all eight non-zero coefficients. And divides the total eight non-zero coefficients into two groups. In this example, the low frequency components and the high frequency components are mixed so that {1, 2, 5, 6} coefficients are assigned to the first group, and {3, 4, 7, 8} Lt; / RTI &gt; The codes for the first non-zero coefficients (coefficients 6 and 8) are hidden in the scan sequence in the above two groups. The coefficients concealed under the code concealment technique of this embodiment are marked in black in FIG. 8E. Alternatively, when the sign of the coefficient of the high frequency component is concealed, the sign of the coefficients of the first and third coefficients is concealed. Of the eight coefficients, the sign of two total coefficients (coefficients 6 and 8) was concealed. That is, the code hiding technique of this embodiment saves 2 bits.
예시 #2 Example # 2
다른 예로, 미리 정의된 그룹의 개수가 2이고, 도 7a처럼 비-제로 계수가 배치되었을 때, 제4실시예는 먼저 전체 8개의 비-제로 계수에 대한 신택스 정보를 시그널링 한다. 그리고 전체 8개의 비-제로 계수를 임계값(= 2) 기준으로 2개의 그룹으로 나눈다. 본 예시에서, 저주파 성분과 고주파 성분이 섞여, {1번, 2번, 7번, 8번} 계수들이 제1 그룹에, {3번, 4번, 5번, 6번} 계수들이 제2 그룹에 할당된다. 위 2개의 그룹 내 스캔 순서상 첫 번째 비-제로 계수들(8번, 6번 계수)에 대한 부호가 은닉된다. 본 실시예의 부호 은닉 기법 하에서 은닉되는 계수들이 도 8f에 검정색으로 마킹되어 있다. 8개의 계수 중 총 2개의 계수(8번, 6번 계수)의 부호가 은닉되었다. 대안적으로, 고주파 성분의 계수의 부호를 은닉하는 경우, 1번 및 3번 계수에 대한 부호가 은닉된다. 즉, 본 실시예의 부호 은닉 기법을 통해 2비트를 절약하게 된다.As another example, when the number of predefined groups is 2, and a non-zero coefficient is placed as shown in FIG. 7A, the fourth embodiment first signals the syntax information for all eight non-zero coefficients. Then, all eight non-zero coefficients are divided into two groups based on the threshold value (= 2). In this example, the low frequency component and the high frequency component are mixed so that {1, 2, 7, 8} coefficients are assigned to the first group, and {3, 4, 5, 6} Lt; / RTI &gt; The codes for the first non-zero coefficients (coefficients 8 and 6) on the above two intra-group scan orders are hidden. The coefficients concealed under the code concealment technique of this embodiment are marked in black in Fig. 8f. Of the eight coefficients, the sign of the two total coefficients (coefficients 8 and 6) was concealed. Alternatively, when the sign of the coefficient of the high frequency component is concealed, the sign of the coefficients of the first and third coefficients is concealed. That is, the code hiding technique of this embodiment saves 2 bits.
예시 #1 및 예시 #2의 차이는 저주파 및 고주파 성분의 그룹화 기준이다. 도 8g 및 도 8h는 예시 #1 및 예시 #2의 그룹화 차이를 도식화한 것으로, 도 7a의 변환 계수 블록 내의 비-제로 계수들을 스캔 순서의 역순으로 나열한 것이다. 예시 #1은 도 8g처럼, {1번, 2번, 5번, 6번} 계수들이 같은 그룹으로, {3번, 4번, 7번, 8번} 계수들이 같은 그룹으로 묶인다. 예시 #2는 도 8h처럼, {1번, 2번, 7번, 8번} 계수들이 같은 그룹으로, {3번, 4번, 5번, 6번} 계수들이 같은 그룹으로 묶인다. 전체 비-제로 계수의 개수와 그룹의 개수가 배수 관계가 아닌 경우, 미리 약속된 규칙에 따라 비-제로 계수들이 그룹화되어야 할 것이다.The difference between Examples # 1 and # 2 is a grouping criterion of low frequency and high frequency components. FIGS. 8G and 8H are diagrammatic representations of grouping differences of Example # 1 and Example # 2, in which the non-zero coefficients in the transform coefficient block of FIG. 7A are listed in reverse order of scan order. In Example # 1, {1, 2, 5, 6} coefficients are grouped into the same group as in FIG. 8G, and the {3, 4, 7, 8} coefficients are grouped into the same group. As shown in FIG. 8H, the coefficients {1, 2, 7, 8} are grouped into the same group, and the coefficients {3, 4, 5, 6} are grouped into the same group. If the number of total non-zero coefficients and the number of groups are not in multiple relation, the non-zero coefficients should be grouped according to the predetermined rules.
본 실시예의 요지는 부호 은닉 및 부호 예측을 위해 각 그룹에 저주파 및 고주파 위치의 계수들을 섞는 것이며, 그러한 그룹핑 형태는 위 두 가지에 한정되는 것은 아니다. 예컨대, 스캔 순서 상, 홀수 번째 비-제로 계수들이 제1그룹에, 짝수 번째 비-제로 계수들이 제2그룹에 할당될 수도 있다. 유사하게, 비-제로 계수들이 3개의 그룹으로 나뉘는 경우에, (역방향) 스캔 순서상 {1번째, 4번째, 7번째, …} 비-제로 계수들이 제1그룹에, {2번째, 5번째, 8번째, …} 계수들이 제2그룹에, {3번째, 6번째, 9번째, …} 비-제로 계수들이 제3그룹에 할당될 수도 있다. 이러한 그룹핑은 미리 정의된 그룹의 개수(N)에 기초한 modulo-N 연산을, 각 비-제로 계수의 스캔 순서상의 순번에 대해, 수행하는 것에 의해 달성될 수 있다.The gist of this embodiment is to mix low frequency and high frequency position coefficients into each group for code concealment and code prediction, and such grouping type is not limited to the above two types. For example, odd-order non-zero coefficients may be assigned to the first group and even-numbered non-zero coefficients may be assigned to the second group in the scan order. Similarly, when the non-zero coefficients are divided into three groups, the (first, fourth, seventh, ...) } Non-zero coefficients into the first group, {second, fifth, eighth, ... } The coefficients belong to the second group, {3rd, 6th, 9th, ... } Non-zero coefficients may be assigned to the third group. This grouping can be accomplished by performing a modulo-N operation based on the number of predefined groups (N) for the order of the non-zero coefficients on the scan order.
<제5실시예><Fifth Embodiment>
본 실시예에서는 하나의 변환 블록 내 마지막 비-제로 계수(예컨대, 도 7a에서 1번 계수)부터 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값을 누적하여 합산하고, 합산한 값이 임계값 보다 큰 경우, 해당 비-제로 계수의 부호를 은닉하고, 다시 스캐닝을 수행한다. 본 실시예에 대한 절차는 다음과 같다.In this embodiment, the absolute values of the non-zero coefficients meeting in the reverse order of the scan order from the last non-zero coefficient (for example, coefficient 1 in Fig. 7A) in one transform block are accumulated and added, , The code of the corresponding non-zero coefficient is concealed, and scanning is performed again. The procedure for this embodiment is as follows.
Figure PCTKR2019000139-appb-I000003
Figure PCTKR2019000139-appb-I000003
임계값( thr )을 5라고 가정하고, 본 실시예의 기법을 도 7a에 예시된 변환 계수 블록에 대해 적용하면, 다음과 같다. Assuming that the threshold value thr is 5, the technique of this embodiment is applied to the transform coefficient block illustrated in Fig. 7A as follows.
예시적인 설명을 위해, 도 7a에 예시된 변환 계수 블록내의 비-제로 계수들의 레벨(즉, 절대값)을 다음과 같이 가정한다.For illustrative purposes, the level (i.e., the absolute value) of the non-zero coefficients in the transform coefficient block illustrated in FIG.
계수번호 Coefficient number 1번number 1 2번No.2 3번 number 3 4번No. 4 5번5 times 6번No. 6 7번No. 7 8번8 times
레벨level 1One 33 22 33 22 22 33 1One
영상 부호화 장치는, 먼저 변수 'sum'을 초기화하고, 1번 계수부터 시작하여, 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값을 누적해 나간다. 3번 계수에 이르러 누적된 절대값(즉, 비-제로 계수들의 절대값의 합 = 6)이 비로소 임계값(= 5)을 초과하게 되며, 따라서 영상 부호화 장치는 3번 계수에 대해 부호 은닉 프로세스를 적용한다. 3번 계수의 부호는 1번, 2번 및 3번 계수의 절대값의 합의 패리티로부터, 영상 복호화 장치에 의해, 추론될 수 있다. 영상 부호화 장치는, 변수 'sum'을 리셋한 후, 부호 은닉 프로세스를 적용된 비-제로 계수 이후부터 다시 절대값을 누적해 나간다. 즉, 4번 계수부터 시작하여, 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값을 누적해 나간다. 6번 계수에 이르러 누적된 절대값(= 7)이 비로소 임계값(= 5)을 초과하게 되며, 따라서 영상 부호화 장치는 6번 계수에 대해 부호 은닉 프로세스를 적용한다. 6번 계수의 부호는 4번, 5번 및 6번 계수의 절대값의 합의 패리티로부터, 영상 복호화 장치에 의해, 추론될 수 있다.The image encoding apparatus first initializes the variable &quot; sum &quot; and accumulates the absolute values of the non-zero coefficients that are encountered in the reverse order of the scan order, starting from the first coefficient. (I.e., the sum of the absolute values of the non-zero coefficients = 6) reaches the threshold value (= 5), and therefore the image encoding apparatus performs the sign concealment process Is applied. The sign of the coefficient 3 can be inferred from the parity of the sum of the absolute values of the coefficients 1, 2 and 3 by the image decoding apparatus. The image coding apparatus resets the variable &quot; sum &quot; and accumulates the absolute value again after the non-zero coefficient applied with the sign concealment process. That is, starting from the fourth coefficient, the absolute values of the non-zero coefficients encountered in the reverse order of the scan order are accumulated. The accumulated absolute value (= 7) reaches the threshold value (= 5) when reaching the coefficient of 6, so that the image coding apparatus applies the code concealment process to the coefficient of 6. The sign of the sixth coefficient can be inferred from the parity of the sum of the absolute values of the coefficients of the fourth, fifth and sixth coefficients by the image decoding apparatus.
영상 부호화 장치는, 변수 'sum'을 리셋한 후, 부호 은닉 프로세스를 적용된 비-제로 계수 이후부터 다시 절대값을 누적해 나간다. 즉, 7번 계수부터 시작하여, 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값을 누적해 나간다. 스캔 순서상 첫번째 비-제로 계수인 8번 계수에 이르러서도 누적된 절대값(= 4)이 임계값(= 5)을 초과하지 못하므로, 더 이상 부호 은닉 프로세스가 적용되는 비-제로 계수는 없다. 결과적으로, 8개의 계수 중 총 2개의 계수(3번, 6번 계수)의 부호가 은닉되었다. 즉, 본 실시예의 부호 은닉 기법을 통해 2비트를 절약하게 된다.The image coding apparatus resets the variable &quot; sum &quot; and accumulates the absolute value again after the non-zero coefficient applied with the sign concealment process. That is, starting from coefficient 7, the absolute values of the non-zero coefficients encountered in the reverse order of the scan order are accumulated. Since the accumulated absolute value (= 4) does not exceed the threshold value (= 5) even after reaching the first non-zero coefficient of scan order, there is no non-zero coefficient to which the code concealment process is applied . As a result, the sign of the total of the two coefficients (the numbers 3 and 6) among the eight coefficients was concealed. That is, the code hiding technique of this embodiment saves 2 bits.
<제6실시예><Sixth Embodiment>
본 실시예는 전술한 제1실시예 및 제5실시예의 방식을 조합한 기법이다. 즉, 하나의 변환 블록 내 마지막 비-제로 계수(예컨대, 도 7a에서 1번 계수)부터 스캔 순서의 역순으로 만나는 비-제로 계수들의 거리 및 해당 비-제로 계수들의 절대값의 합을 구하다가, 거리가 제1임계값( thr1 ) 이상이면서 절대값의 합이 제2임계값( thr2 ) 이상이면, 당해 비-제로 계수의 부호를 은닉하고, 다시 스캐닝을 수행한다. 본 실시예에 대한 절차는 다음과 같다.This embodiment is a combination of the methods of the first and fifth embodiments described above. That is, the sum of the absolute values of the non-zero coefficients and the distance of non-zero coefficients encountered in the reverse order of the scan order from the last non-zero coefficient (e.g., coefficient 1 in FIG. 7A) When the distance is equal to or larger than the first threshold value thr1 and the sum of absolute values is equal to or larger than the second threshold value thr2 , the sign of the non-zero coefficient is concealed and the scanning is performed again. The procedure for this embodiment is as follows.
Figure PCTKR2019000139-appb-I000004
Figure PCTKR2019000139-appb-I000004
<제 7 실시예><Seventh Embodiment>
본 실시예는 전술한 제2실시예 및 제5실시예의 방식을 조합한 기법이다. 즉, 하나의 변환 블록 내 마지막 비-제로 계수(도 7a에서 1번 계수)부터 스캔 순서의 역순으로 만나는 비-제로 계수들의 "개수"와 "절대값의 합"을 구하다가, 총 개수가 제1임계값( thr1 ) 이상이면서 절대값의 합이 제2임계값( thr2 ) 이상이면, 당해 비-제로 계수의 부호를 은닉하고, 다시 스캐닝을 수행한다. 본 실시예에 대한 절차는 다음과 같다.The present embodiment is a combination of the methods of the above-described second and fifth embodiments. That is, the "number of non-zero coefficients" and the "sum of absolute values" that meet in the reverse order of the scan order from the last non-zero coefficient (coefficient 1 in FIG. 7A) in one conversion block are obtained, If the sum of the absolute values is equal to or larger than the first threshold value thr1 and is greater than or equal to the second threshold value thr2 , the sign of the non-zero coefficient is concealed and scanning is performed again. The procedure for this embodiment is as follows.
Figure PCTKR2019000139-appb-I000005
Figure PCTKR2019000139-appb-I000005
<제8실시예>&Lt; Eighth Embodiment >
본 실시예는 부호 은닉 조건을 만족하는지 여부를 확인하기 위해 사용되는 비-제로 계수와 실제 부호가 은닉되고 예측되는 비-제로 계수를 달리하는 기법에 관한 것이다. 앞선 실시예들에서는 부호가 은닉되는 (그에 따라 영상 복호화 장치에 의해 예측되는) 계수가 부호 은닉 조건을 확인하기 위해 사용되는 하나의 비-제로 계수였다면, 본 실시예는 이를 구분한다. This embodiment relates to a technique for differentiating the non-zero coefficient used to check whether the code concealment condition is satisfied and the non-zero coefficient whose actual code is concealed and predicted. In the previous embodiments, this embodiment distinguishes if the coefficients whose coefficients are concealed (and thus predicted by the image decoding apparatus) were one non-zero coefficient used to identify code concealment conditions.
예를 들어, 하나의 변환 블록(혹은 하나의 서브 블록) 내에 n개의 비-제로 계수들이 존재한다고 가정하자. 본 실시예에 따르면, n개의 비-제로 계수들 중에서 m(< n)개의 비-제로 계수들의 절대값의 합을 이용하여, 나머지 (n - m)개의 비-제로 계수들 중 하나 이상의 비-제로 계수의 부호가 인코더에 의해 은닉되고 디코더에 의해 예측(추론)된다. 이때, m의 값은 인코더 및 디코더 간에 약속된 값이며, 실제 부호가 예측되는 비-제로 계수는 나머지 (n - m)개의 비-제로 계수들 중에서 인코더 및 디코더의 약속에 의해 계수의 위치 혹은 순서 등을 기초로 결정될 수 있다. 일반적으로, m개의 비-제로 계수들은 스캔 순서의 역순에서 앞쪽에 위치하고, 부호가 예측되는 계수는 이보다 뒤에 위치하게 된다.For example, assume that there are n non-zero coefficients in one transform block (or one sub-block). According to this embodiment, the sum of the absolute values of m (< n) non-zero coefficients among the n non-zero coefficients is used to calculate one or more non- The sign of the zero coefficient is hidden by the encoder and is predicted (inferred) by the decoder. In this case, the value of m is the value promised between the encoder and the decoder, and the non-zero coefficient whose actual code is predicted is the position or order of the coefficient by the promise of the encoder and decoder among the remaining (n - m) non- And the like. In general, the m non-zero coefficients are located in the front in the reverse order of the scan order, and the coefficient whose sign is predicted is located after this.
이상의 각 실시예에서, 은닉된 부호의 예측은 관련된 모든 비-제로 계수들의 절대값의 합의 패리티 체크에 기초한다. 예컨대, 절대값의 합이 짝수이면 은닉된 부호는 "+"(positive)로, 절대값의 합이 홀수이면 은닉된 부호는 "-"(negative)로 예측(즉, 추론)된다. 이러한 부호 예측 프로세스는 관련된 모든 비-제로 계수들의 최하위 비트의 AND 연산으로 단순화 될 수 있다. 예를 들어, 총 3개의 비-제로 계수들이 존재할 때, 3개의 계수들의 표현들(A, B, C)의 최하위 비트 간의 AND 연산(이는 "[(A & 0x01) & (B & 0x01) & (C & 0x01)"로 표현될 수 있다.)에 기초하여 부호가 결정될 수 있다. 즉, AND 연산의 결과가 "0"이면 부호는 "+"로 결정되고, AND 연산의 결과가 "1"이면 부호는 "1"로 결정된다. 그 반대의 경우도 가능함은 물론이다.In each of the above embodiments, the prediction of the hidden code is based on a parity check of the sum of the absolute values of all associated non-zero coefficients. For example, if the sum of the absolute values is an even number, the hidden code is positive, and if the sum of the absolute values is an odd number, the hidden code is predicted to be negative. This code prediction process can be simplified to the AND operation of least significant bits of all associated non-zero coefficients. For example, when there are a total of three nonzero coefficients, an AND operation between the least significant bits of the representations of three coefficients (A, B, C) (C &amp; 0x01) "). That is, if the result of the AND operation is "0", the sign is determined as "+", and if the AND operation result is "1", the sign is determined as "1". The opposite is also possible.
도 9는 본 발명의 일 측면에 따른, 영상 부호화 장치에서, 변환 계수들의 배열인 계수 블록에 대해 부호 은닉 기법을 적용하는 방법을 도시하는 흐름도이다.9 is a flowchart illustrating a method of applying a code concealment technique to a coefficient block, which is an array of transform coefficients, in an image encoding apparatus according to an aspect of the present invention.
먼저, 영상 부호화 장치는 현재의 계수 블록내의 비-제로 계수들의 위치를 결정한다(S910). 영상 부호화 장치는, 표 1에 예시된 신택스 엘리먼트들의 적어도 일부를 이용하여, 현재의 계수 블록내의 비-제로 계수들의 위치와 레벨들을 시그널링 할 수 있다.First, the image encoding apparatus determines the position of non-zero coefficients in the current coefficient block (S910). The image encoding apparatus can signal the positions and levels of non-zero coefficients in the current coefficient block using at least some of the syntax elements illustrated in Table 1. [
다음으로, 영상 부호화 장치는 현재의 계수 블록 내의, 제로 계수들을 제외한, 비-제로 계수들을 복수의 그룹으로 나눈다(S920). 일부 예시에서, 영상 부호화 장치는 현재의 계수 블록 내의 비-제로 계수들을, 역방향 스캔 순서대로, 기설정된 개수의 비-제로 계수들만큼씩 그룹화할 수 있다. 다른 일부 예시에서, 영상 부호화 장치는 현재의 계수 블록 내의 각 비-제로 계수들에 대해, 그룹들의 개수(N)에 기초한 modulo-N 연산을 수행함으로써, 비-제로 계수들을 복수의 그룹으로 나눌 수 있다. Next, the image encoding apparatus divides the non-zero coefficients in the current coefficient block, excluding the zero coefficients, into a plurality of groups (S920). In some examples, the image encoding apparatus may group the non-zero coefficients in the current coefficient block, in a reverse scan order, by a predetermined number of non-zero coefficients. In some other instances, the image encoding apparatus may divide non-zero coefficients into a plurality of groups by performing a modulo-N operation based on the number of groups (N) for each non-zero coefficient in the current coefficient block have.
다음으로, 영상 부호화 장치는 각각의 그룹에 대해, 스캔 순서의 역순에 의해 규정되는 마지막 비-제로 계수와 첫 번째 비-제로 계수를 식별한다(S930). Next, the image encoding apparatus identifies the last non-zero coefficient and the first non-zero coefficient defined by the reverse order of the scanning order for each group (S930).
영상 부호화 장치는 각각의 그룹에 대해, 마지막 비-제로 계수와 첫 번째 비-제로 계수 사이의 스캔 순서상의 거리가 기설정된 임계값보다 크면, 마지막 비-제로 계수에 대해 부호 데이터 은닉 프로세스를 수행한다(S940). 즉, 영상 부호화 장치는 마지막 비-제로 계수에 대한 부호 데이터(즉, 부호 비트)를 시그널링하지 않는다. 부호 데이터 은닉 프로세스는 해당 그룹내에 포함된 비-제로 계수들의 절대값의 합에 대한 패리티 체크를 포함할 수 있다. 패리티가 첫 번째 비-제로 계수의 정확한 부호를 가리키지 않는 경우, 영상 부호화 장치는 은닉되는 부호 비트를 위해, 선택적으로 보상을 수행한다. 이는 해당 그룹 내에서 하나의 비-제로 계수를 선택하여 그 값을 이전 값보다 크거나 작은 인접 값으로 수정함으로써 영상 부호화 장치에서 달성된다. 이러한 보상을 위해, 양자화 간격의 경계에 가까운 레벨을 가지는 비-제로 계수가 선택될 수 있다. 혹은, 해당 그룹 내에서 상대적으로 고주파수 성분에 해당하는 비-제로 계수가 선택될 수 있다. 각 그룹의 마지막 비-제로 계수를 제외한 나머지 비-제로 계수들에 대한 부호 데이터(즉, 부호 비트)는 명시적으로 시그널링된다.For each group, if the distance in the scan order between the last non-zero coefficient and the first non-zero coefficient is greater than a predetermined threshold value, the image encoding apparatus performs a code data concealment process on the last non-zero coefficient (S940). That is, the image encoding apparatus does not signal sign data (i.e., sign bit) for the last non-zero coefficient. The code data concealment process may include a parity check on the sum of the absolute values of the non-zero coefficients included in the group. If the parity does not point to the correct sign of the first non-zero coefficient, the image encoding apparatus selectively compensates for the sign bit to be hidden. This is accomplished in a video encoding device by selecting one non-zero coefficient in the group and modifying the value to an adjacent value that is greater or smaller than the previous value. For this compensation, a non-zero coefficient having a level close to the boundary of the quantization interval can be selected. Alternatively, a non-zero coefficient corresponding to a relatively high frequency component in the group may be selected. The sign data (i.e., sign bit) for the remaining non-zero coefficients of each group, except for the last non-zero coefficient, is explicitly signaled.
도 10은 본 발명의 다른 측면에 따른, 영상 부호화 장치에서, 변환 계수들의 배열인 계수 블록에 대해 부호 은닉 기법을 적용하는 방법을 도시하는 흐름도이다.10 is a flowchart illustrating a method of applying a code concealment scheme to a coefficient block, which is an array of transform coefficients, in an image encoding apparatus according to another aspect of the present invention.
먼저, 영상 부호화 장치는 현재의 계수 블록내의 비-제로 계수들의 위치를 결정한다(S1010). 영상 부호화 장치는, 표 1에 예시된 신택스 엘리먼트들의 적어도 일부를 이용하여, 현재의 계수 블록내의 비-제로 계수들의 위치와 레벨들을 시그널링 할 수 있다.First, the image encoding apparatus determines the position of non-zero coefficients in the current coefficient block (S1010). The image encoding apparatus can signal the positions and levels of non-zero coefficients in the current coefficient block using at least some of the syntax elements illustrated in Table 1. [
다음으로, 영상 부호화 장치는, 현재의 계수 블록에서 스캔 순서상 마지막 비-제로 계수의 위치를 제1위치로 설정한다(S1020). Next, the image encoding apparatus sets the position of the last non-zero coefficient in the scan order in the current coefficient block to the first position (S1020).
다음으로, 영상 부호화 장치는, 제1위치로부터 스캔 순서의 역순으로 만나는 비-제로 계수들 중에서, 부호 은닉 조건을 만족하는, 제1위치로부터 스캔 순서상 가장 가까운 제2위치를 결정한다(S1030). 여기서, 부호 은닉 조건은 제1위치 및 제2위치에 의해 정의되는 제1변수가 기설정된 제1임계값을 초과하는 것이다. 일부 실시예에서, 제1변수는 계수 블록 내에서 제1위치로부터 제2위치까지 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값의 합일 수 있다. 다른 실시예에서, 제1변수는 스캔 순서상 제1위치와 제2위치 사이에 위치하는 비-제로 계수의 수일 수 있다. 또 다른 실시예에서, 제1변수는 스캔 순서상 제1위치와 제2위치 간의 거리일 수 있다.Next, the image encoding apparatus determines a second position closest to the scanning order from the first position, which satisfies the code concealment condition, among the non-zero coefficients encountered in the reverse order of the scanning order from the first position (S1030) . Here, the code concealment condition is such that the first variable defined by the first position and the second position exceeds a predetermined first threshold value. In some embodiments, the first variable may be the sum of the absolute values of the non-zero coefficients encountered in the reverse order of the scan order from the first position to the second position within the coefficient block. In another embodiment, the first variable may be a number of non-zero coefficients located between the first and second positions in the scan order. In another embodiment, the first variable may be a distance between the first position and the second position in the scan order.
영상 부호화 장치는 S1030 단계에서 결정된 제2위치의 비-제로 계수에 대해 부호 은닉 프로세스를 적용한다(S1040). 즉, 영상 부호화 장치는 제2위치의 비-제로 계수에 대한 부호 데이터(즉, 부호 비트)를 시그널링하지 않는다. 부호 데이터 은닉 프로세스는 스캔 순서상 제1 위치부터 제2위치까지 만나는 모든 비-제로 계수들의 절대값의 합에 대한 패리티 체크를 포함할 수 있다. 패리티가 제2위치의 비-제로 계수의 정확한 부호를 가리키지 않는 경우, 영상 부호화 장치는 은닉되는 부호 비트를 위해, 선택적으로 보상을 수행한다. 이는 제1 위치부터 제2위치까지 만나는 모든 비-제로 계수들 중에서 하나의 비-제로 계수를 선택하여 그 값을 이전 값보다 크거나 작은 인접 값으로 수정함으로써 영상 부호화 장치에서 달성된다. 이러한 보상을 위해, 양자화 간격의 경계에 가까운 레벨을 가지는 비-제로 계수가 선택될 수 있다. 혹은, 제1 위치부터 제2위치까지 만나는 모든 비-제로 계수들 중에서 상대적으로 고주파수 성분에 해당하는 비-제로 계수가 선택될 수 있다. 부호 데이터 은닉 프로세스가 적용되지 않은 다른 비-제로 계수들에 대한 부호 데이터(즉, 부호 비트)는 명시적으로 시그널링된다.The image encoding apparatus applies a sign concealment process to the non-zero coefficient of the second position determined in step S1030 (S1040). That is, the image encoding apparatus does not signal sign data (i.e., sign bit) for the non-zero coefficient of the second position. The code data concealment process may include a parity check on the sum of the absolute values of all non-zero coefficients encountered from the first position to the second position in the scan order. If the parity does not indicate the correct sign of the non-zero coefficient in the second position, the image encoding apparatus selectively compensates for the sign bit to be hidden. This is accomplished in a video encoding apparatus by selecting one non-zero coefficient from among all non-zero coefficients encountered from the first position to the second position and modifying the value to an adjacent value that is greater or smaller than the previous value. For this compensation, a non-zero coefficient having a level close to the boundary of the quantization interval can be selected. Alternatively, a non-zero coefficient corresponding to a relatively high frequency component may be selected from among all non-zero coefficients encountered from the first position to the second position. The sign data (i.e., sign bit) for the other non-zero coefficients to which the sign data hiding process is not applied is explicitly signaled.
영상 부호화 장치는, 부호 예측 프로세스가 적용된 제2위치로부터 스캔 순서의 역방향로 만나는 가장 가까운 비-제로 계수의 위치를 새로운 제1위치로 설정한다(S1050). The image encoding apparatus sets the position of the nearest non-zero coefficient that is in the reverse direction of the scan order from the second position to which the sign prediction process is applied to the new first position (S1050).
영상 부호화 장치는, 현재의 계수 블록에서 스캔 순서상 첫 번째 비-제로 계수에 도달할 때까지, S1030 내지 S1050를 반복적으로 수행한다. 즉, 첫 번째 비-제로 계수의 위치가 제1위치 또는 제2위치로 선택되거나, 제1위치 또는 제2위치 사이에 존재하게 되면(S1060의 '예'), 위 절차는 종료된다.The image encoding apparatus repeatedly performs S1030 to S1050 until it reaches the first non-zero coefficient in the scan order in the current coefficient block. That is, if the position of the first non-zero coefficient is selected as the first position or the second position, or exists between the first position and the second position (Yes in S1060), the above procedure is terminated.
도 11은 본 발명의 일 측면에 따른, 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법을 도시하는 흐름도이다.11 is a flowchart illustrating a method of decoding a bitstream of an encoded image in order to recover a coefficient block, which is an array of transform coefficients, in an image decoding apparatus according to an aspect of the present invention.
먼저, 영상 복호화 장치는 현재의 계수 블록내의 비-제로 계수들의 위치를 결정한다(S1110). 이를 위해, 영상 복호화 장치는 비트스트림으로부터 표 1에 예시된 신택스 엘리먼트들의 적어도 일부를 파싱할 수 있다.First, the image decoding apparatus determines the position of non-zero coefficients in the current coefficient block (S1110). To this end, the image decoding apparatus can parse at least a part of the syntax elements illustrated in Table 1 from the bitstream.
다음으로, 영상 복호화 장치는 현재의 계수 블록 내의, 제로 계수들을 제외한, 비-제로 계수들을 복수의 그룹으로 나눈다(S1120). 일부 예시에서, 영상 복호화 장치는 현재의 계수 블록 내의 비-제로 계수들을, 스캔 순서의 역순에 따라, 기설정된 개수의 비-제로 계수들만큼씩 그룹화할 수 있다. 다른 일부 예시에서, 영상 복호화 장치는 현재의 계수 블록 내의 각 비-제로 계수들에 대해, 그룹들의 개수(N)에 기초한 modulo-N 연산을 수행함으로써, 비-제로 계수들을 복수의 그룹으로 나눌 수 있다. Next, the image decoding apparatus divides the non-zero coefficients in the current coefficient block, excluding the zero coefficients, into a plurality of groups (S1120). In some examples, the image decoding apparatus may group the non-zero coefficients in the current coefficient block by a predetermined number of non-zero coefficients according to the reverse order of the scan order. In some other instances, the image decoding apparatus may divide non-zero coefficients into a plurality of groups by performing a modulo-N operation based on the number of groups (N) for each non-zero coefficient in the current coefficient block have.
다음으로, 영상 복호화 장치는 각각의 그룹에 대해, 스캔 순서의 역순에 의해 규정되는 마지막 비-제로 계수와 첫 번째 비-제로 계수를 식별한다(S1130). Next, the video decoding apparatus identifies the last non-zero coefficient and the first non-zero coefficient defined by the reverse order of the scanning order for each group (S1130).
영상 복호화 장치는 각각의 그룹에 대해, 마지막 비-제로 계수와 첫 번째 비-제로 계수 사이의 스캔 순서상의 거리가 기설정된 임계값보다 크면, 마지막 비-제로 계수에 대해 부호 데이터 예측 프로세스를 수행한다(S1140). 부호 데이터 예측 프로세스는 해당 그룹내에 포함된 비-제로 계수들의 절대값의 합에 대한 패리티 체크를 포함할 수 있다. 해당 그룹내에 포함된 비-제로 계수들의 절대값의 합계가 짝수이면, 마지막 비-제로 계수의 부호는 양으로 추론되고, 그렇지 않으면, 음으로 추론된다. 부호 데이터 예측 프로세스는 해당 그룹내에 포함된 비-제로 계수들의 최하위 비트의 AND 연산을 포함할 수 있다. AND 연산의 결과가 "0"이면 부호는 "+"로 결정되고, AND 연산의 결과가 "1"이면 부호는 "-"로 결정된다. 그 반대의 경우도 가능함은 물론이다.For each group, the image decoding apparatus performs a code data prediction process on the last non-zero coefficient if the distance on the scan order between the last non-zero coefficient and the first non-zero coefficient is greater than a preset threshold value (S1140). The sign data prediction process may include a parity check on the sum of the absolute values of the non-zero coefficients included in the group. If the sum of the absolute values of the non-zero coefficients contained in the group is even, then the sign of the last non-zero coefficient is inferred as positive, otherwise it is negatively inferred. The sign data prediction process may include an AND operation of least significant bits of non-zero coefficients included within the group. If the result of the AND operation is "0 ", the sign is determined as" + " The opposite is also possible.
도 12는 본 발명의 다른 측면에 따른, 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법을 도시하는 흐름도이다.12 is a flowchart illustrating a method of decoding a bitstream of an encoded image to recover a coefficient block, which is an array of transform coefficients, in an image decoding apparatus according to another aspect of the present invention.
먼저, 영상 복호화 장치는 현재의 계수 블록내의 비-제로 계수들의 위치를 결정한다(S1210). 이를 위해, 영상 복호화 장치는 비트스트림으로부터 표 1에 예시된 신택스 엘리먼트들의 적어도 일부를 파싱할 수 있다.First, the image decoding apparatus determines the position of non-zero coefficients in the current coefficient block (S1210). To this end, the image decoding apparatus can parse at least a part of the syntax elements illustrated in Table 1 from the bitstream.
다음으로, 영상 복호화 장치는, 현재의 계수 블록에서 스캔 순서상 마지막 비-제로 계수의 위치를 제1위치로 설정한다(S1220). Next, the image decoding apparatus sets the position of the last non-zero coefficient in the scan order in the current coefficient block to the first position (S1220).
다음으로, 영상 복호화 장치는, 제1위치로부터 스캔 순서의 역순으로 만나는 비-제로 계수들 중에서, 부호 은닉 조건을 만족하는, 제1위치로부터 스캔 순서상 가장 가까운 제2위치를 결정한다(S1230). 여기서, 부호 은닉 조건은 제1위치 및 제2위치에 의해 정의되는 제1변수가 기설정된 제1임계값을 초과하는 것이다. 일부 실시예에서, 제1변수는 계수 블록 내에서 제1위치로부터 제2위치까지 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값의 합일 수 있다. 다른 실시예에서, 제1변수는 스캔 순서상 제1위치와 제2위치 사이에 위치하는 비-제로 계수의 수일 수 있다. 또 다른 실시예에서, 제1변수는 스캔 순서상 제1위치와 제2위치 간의 거리일 수 있다.Next, the video decoding apparatus determines a second position closest to the scanning order from the first position, which satisfies the code concealment condition, among the non-zero coefficients meeting in the reverse order of the scanning order from the first position (S1230) . Here, the code concealment condition is such that the first variable defined by the first position and the second position exceeds a predetermined first threshold value. In some embodiments, the first variable may be the sum of the absolute values of the non-zero coefficients encountered in the reverse order of the scan order from the first position to the second position within the coefficient block. In another embodiment, the first variable may be a number of non-zero coefficients located between the first and second positions in the scan order. In another embodiment, the first variable may be a distance between the first position and the second position in the scan order.
영상 복호화 장치는 S1230 단계에서 결정된 제2위치의 비-제로 계수에 대해 부호 예측 프로세스를 적용한다(S1240). 부호 데이터 예측 프로세스는 스캔 순서상 제1 위치부터 제2위치까지 만나는 모든 비-제로 계수들의 절대값의 합에 대한 패리티 체크를 포함할 수 있다. 절대값의 합계가 짝수이면, 마지막 제2위치의 비-제로 계수의 부호는 양으로 추론되고, 그렇지 않으면, 음으로 추론된다. 부호 데이터 예측 프로세스는 제1 위치부터 제2위치까지 만나는 모든 비-제로 계수들의 최하위 비트의 AND 연산을 포함할 수 있다. AND 연산의 결과가 "0"이면 부호는 "+"로 결정되고, AND 연산의 결과가 "1"이면 부호는 "-"로 결정된다. 그 반대의 경우도 가능함은 물론이다.The image decoding apparatus applies the sign prediction process to the non-zero coefficient of the second position determined in step S1230 (S1240). The sign data prediction process may include a parity check on the sum of the absolute values of all non-zero coefficients encountered from the first position to the second position in the scan order. If the sum of the absolute values is even, the sign of the non-zero coefficient of the last second position is deduced as positive, otherwise it is negatively deduced. The sign data prediction process may comprise an AND operation of least significant bits of all non-zero coefficients encountered from the first position to the second position. If the result of the AND operation is "0 ", the sign is determined as" + " The opposite is also possible.
영상 복호화 장치는, 부호 예측 프로세스가 적용된 제2위치로부터 스캔 순서의 역순으로 만나는 가장 가까운 비-제로 계수의 위치를 새로운 제1위치로 설정한다(S1250). The image decoding apparatus sets the position of the closest non-zero coefficient to a new first position in a reverse order of the scan order from the second position to which the sign prediction process is applied (S1250).
영상 복호화 장치는, 현재의 계수 블록에서 스캔 순서상 첫 번째 비-제로 계수에 도달할 때까지, S1230 내지 S1250를 반복적으로 수행한다. 즉, 영상 복호화 장치는, 첫 번째 비-제로 계수의 위치가 제1위치 또는 제2위치로 선택되거나, 제1위치 또는 제2위치 사이에 존재하게 되면(S1260의 '예'), 위 절차는 종료된다.The image decoding apparatus repeatedly performs S1230 to S1250 until it reaches the first non-zero coefficient in the scan order in the current coefficient block. That is, when the position of the first non-zero coefficient is selected as the first position or the second position, or exists between the first position and the second position (Yes in S1260) And is terminated.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present embodiment, and various modifications and changes may be made to those skilled in the art without departing from the essential characteristics of the embodiments. Therefore, the present embodiments are to be construed as illustrative rather than restrictive, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The scope of protection of the present embodiment should be construed according to the following claims, and all technical ideas within the scope of equivalents thereof should be construed as being included in the scope of the present invention.
CROSS-REFERENCE TO RELATED APPLICATIONCROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는, 2018년 01월 05일자로 한국에 출원한 특허출원번호 제10-2018-0001710호 및 2018년 06월 19일자로 한국에 출원한 특허출원번호 제10-2018-0070469호에 대해 우선권을 주장한다.This patent application is related to Korean Patent Application No. 10-2018-0001710 filed on Jan. 5, 2018, which is incorporated herein by reference in its entirety, and Korean Patent Application Priority is claimed on Application No. 10-2018-0070469.

Claims (13)

  1. 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법으로서,A method for decoding a bitstream of an encoded image to recover a coefficient block, which is an array of transform coefficients, in an image decoding apparatus,
    현재의 계수 블록에서 유효 계수들의 위치들을 식별하는 제1단계;A first step of identifying positions of effective coefficients in a current coefficient block;
    현재의 계수 블록에서 스캔 순서상 마지막 비-제로 계수의 위치를 제1위치로 설정하는 제2단계;A second step of setting a position of a last non-zero coefficient in a scan order in a current coefficient block to a first position;
    상기 제1위치로부터 스캔 순서의 역순으로 만나는 비-제로 계수들 중에서, 부호 은닉 조건을 만족하는, 상기 제1위치로부터 상기 스캔 순서상 가장 가까운 제2위치를 결정하는 제3단계;A third step of determining a second position closest to the scanning order from the first position satisfying the code concealment condition among the non-zero coefficients encountered in the reverse order of the scanning order from the first position;
    상기 제2위치의 비-제로 계수에 대해 부호 예측 프로세스를 적용하는 제4단계; 및A fourth step of applying a sign prediction process to the non-zero coefficient of the second position; And
    상기 부호 예측 프로세스가 적용된 제2위치로부터 스캔 순서의 역순으로 만나는 가장 가까운 비-제로 계수의 위치를 상기 제1위치로 설정하는 제5단계A fifth step of setting a position of a closest non-zero coefficient that meets in a reverse order of a scan order from a second position to which the sign prediction process is applied to the first position
    를 포함하고, Lt; / RTI &gt;
    상기 현재의 계수 블록에서 상기 스캔 순서상 첫 번째 비-제로 계수에 도달할 때까지, 상기 제3단계 내지 상기 제5단계를 반복적으로 수행하는, 방법.Repeatedly performing the third to fifth steps until the first non-zero coefficient on the scan order is reached in the current coefficient block.
  2. 제1항에 있어서,The method according to claim 1,
    상기 부호 은닉 조건은 상기 제1위치 및 상기 제2위치에 의해 정의되는 제1변수가 기설정된 제1임계값을 초과하는 것임을 특징으로 하는, 방법.Wherein the code conceal condition is such that a first parameter defined by the first position and the second position exceeds a predetermined first threshold.
  3. 제2항에 있어서,3. The method of claim 2,
    상기 제1변수는,Wherein the first variable comprises:
    상기 계수 블록 내에서, 상기 제1위치로부터 상기 제2위치까지 상기 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값의 합인 것을 특징으로 하는, 방법.Wherein in the coefficient block, the absolute value of the non-zero coefficients encountered in the reverse order of the scan order from the first position to the second position.
  4. 제2항에 있어서,3. The method of claim 2,
    상기 제1변수는,Wherein the first variable comprises:
    상기 스캔 순서상 상기 제1위치와 상기 제2위치 사이에 위치하는 비-제로 계수의 수인 것을 특징으로 하는, 방법.Zero coefficients located between the first position and the second position in the scan order.
  5. 제2항에 있어서,3. The method of claim 2,
    상기 제1변수는,Wherein the first variable comprises:
    상기 스캔 순서상, 상기 제1위치와 상기 제2위치 간의 거리인 것을 특징으로 하는, 방법.Wherein the first position is a distance between the first position and the second position in the scan order.
  6. 제1항에 있어서,The method according to claim 1,
    상기 부호 은닉 조건은 상기 제1위치 및 상기 제2위치에 의해 정의되는 제1변수가 기설정된 제1임계값을 초과하고, 상기 상기 제1위치 및 상기 제2위치에 의해 정의되는 제2변수가 기설정된 제2임계값을 초과하는 것임을 특징으로 하는, 방법.Wherein the sign conceal condition is such that a first variable defined by the first position and the second position exceeds a predetermined first threshold value and a second variable defined by the first position and the second position Wherein the second threshold value is greater than a predetermined second threshold value.
  7. 제6항에 있어서,The method according to claim 6,
    상기 제1변수는 상기 스캔 순서상 상기 제1위치와 상기 제2위치 간의 거리이고, 상기 제2변수는 상기 계수 블록 내에서 상기 제1위치로부터 상기 제2위치까지 상기 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값의 합인 것을 특징으로 하는, 방법.Wherein the first variable is a distance between the first position and the second position in the scan order, and the second variable is a ratio in which the convergence occurs in the reverse order of the scan order from the first position to the second position in the coefficient block - the sum of the absolute values of the zero coefficients.
  8. 제6항에 있어서,The method according to claim 6,
    상기 제1변수는 상기 스캔 순서상 제1위치와 제2위치 사이에 위치하는 비-제로 계수의 수이고, 상기 제2변수는 상기 계수 블록 내에서 상기 제1위치로부터 상기 제2위치까지 상기 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값의 합인 것을 특징으로 하는, 방법.Wherein the first variable is a number of non-zero coefficients located between a first position and a second position in the scan order and the second variable is the number of non-zero coefficients in the scan block from the first position to the second position, Zero coefficients encountered in the reverse order of the order.
  9. 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법으로서,A method for decoding a bitstream of an encoded image to recover a coefficient block, which is an array of transform coefficients, in an image decoding apparatus,
    상기 현재의 계수 블록에서, 비-제로 계수들의 위치를 결정하는 단계;Determining, at the current coefficient block, a position of non-zero coefficients;
    상기 현재의 계수 블록 내의, 제로 계수들을 제외한, 비-제로 계수들을 복수의 그룹으로 나누는 단계;Dividing non-zero coefficients in the current coefficient block, excluding zero coefficients, into a plurality of groups;
    각각의 그룹에 대해, 역방향 스캔 순서에 의해 규정되는 마지막 비-제로 계수와 첫 번째 비-제로 계수를 식별하는 단계; 및Identifying, for each group, a last non-zero coefficient and a first non-zero coefficient that are defined by a reverse scan order; And
    각각의 그룹에 대해, 상기 마지막 비-제로 계수와 상기 첫 번째 비-제로 계수 사이의 상기 역방향 스캔 순서상의 거리가 기설정된 임계값보다 크면, 상기 마지막 비-제로 계수에 대해 부호 예측 프로세스를 수행하는 단계For each group, if the distance in the reverse scan order between the last non-zero coefficient and the first non-zero coefficient is greater than a preset threshold, then a sign prediction process is performed on the last non-zero coefficient step
    를 포함하는, 방법./ RTI &gt;
  10. 제9항에 있어서,10. The method of claim 9,
    상기 비-제로 계수들을 복수의 그룹으로 나누는 단계는,Dividing the non-zero coefficients into a plurality of groups,
    상기 현재의 계수 블록 내의 비-제로 계수들을, 상기 스캔 순서의 역순에 따라, 기설정된 개수씩 그룹화하는 단계를 포함하는, 방법. Grouping the non-zero coefficients in the current coefficient block by a predetermined number according to a reverse order of the scan order.
  11. 제9항에 있어서,10. The method of claim 9,
    상기 비-제로 계수들을 복수의 그룹으로 나누는 단계는,Dividing the non-zero coefficients into a plurality of groups,
    각 비-제로 계수들의 스캔 순서상의 순번에 대해, 상기 그룹들의 개수(N)에 기초한 modulo-N 연산을 수행하는 단계를 포함하는, 방법.Performing a modulo-N operation based on the number of groups (N) for an order on a scan order of each non-zero coefficients.
  12. 영상 복호화 장치로서, A video decoding apparatus comprising:
    하나 이상의 프로세서; 및 One or more processors; And
    명령어들이 저장된 메모리를 포함하되, 상기 명령어들은 상기 하나 이상의 프로세서에 의해 실행될 때 상기 영상 복호화 장치로 하여금,The instructions comprising instructions for causing the image decoding apparatus to, when executed by the one or more processors,
    현재의 계수 블록에서 유효 계수들의 위치들을 식별하는 제1단계;A first step of identifying positions of effective coefficients in a current coefficient block;
    현재의 계수 블록에서 스캔 순서상 마지막 비-제로 계수의 위치를 제1위치로 설정하는 제2단계;A second step of setting a position of a last non-zero coefficient in a scan order in a current coefficient block to a first position;
    상기 제1위치로부터 스캔 순서의 역방향으로 만나는 비-제로 계수들 중에서, 부호 은닉 조건을 만족하는, 상기 제1위치로부터 상기 스캔 순서상 가장 가까운 제2위치를 결정하는 제3단계;A third step of determining a second position closest to the scanning order from the first position satisfying the code concealment condition among the non-zero coefficients encountered in the reverse direction of the scan order from the first position;
    상기 제2위치의 비-제로 계수에 대해 부호 예측 프로세스를 적용하는 제4단계; 및A fourth step of applying a sign prediction process to the non-zero coefficient of the second position; And
    상기 부호 예측 프로세스가 적용된 제2위치로부터 스캔 순서의 역방향로 만나는 가장 가까운 비-제로 계수의 위치를 상기 제1위치로 설정하는 제5단계A fifth step of setting a position of a closest non-zero coefficient which meets in a reverse direction of a scan order from a second position to which the sign prediction process is applied to the first position
    를 수행하도록 하되, 상기 현재의 계수 블록에서 상기 스캔 순서상 첫 번째 비-제로 계수에 도달할 때까지, 상기 제3단계 내지 상기 제5단계를 반복적으로 수행하도록 하는 것을 특징으로 하는, 영상 복호화 장치., And performs the third to fifth steps repeatedly until the first non-zero coefficient reaches the first non-zero coefficient in the scan order in the current coefficient block. .
  13. 영상 복호화 장치로서, A video decoding apparatus comprising:
    하나 이상의 프로세서; 및 One or more processors; And
    명령어들이 저장된 메모리를 포함하되, 상기 명령어들은 상기 하나 이상의 프로세서에 의해 실행될 때 상기 영상 복호화 장치로 하여금,The instructions comprising instructions for causing the image decoding apparatus to, when executed by the one or more processors,
    상기 현재의 계수 블록에서, 비-제로 계수들의 위치를 결정하는 단계;Determining, at the current coefficient block, a position of non-zero coefficients;
    상기 현재의 계수 블록 내의, 제로 계수들을 제외한, 비-제로 계수들을 복수의 그룹으로 나누는 단계;Dividing non-zero coefficients in the current coefficient block, excluding zero coefficients, into a plurality of groups;
    각각의 그룹에 대해, 역방향 스캔 순서에 의해 규정되는 마지막 비-제로 계수와 첫 번째 비-제로 계수를 식별하는 단계; 및Identifying, for each group, a last non-zero coefficient and a first non-zero coefficient that are defined by a reverse scan order; And
    각각의 그룹에 대해, 상기 마지막 비-제로 계수와 상기 첫 번째 비-제로 계수 사이의 상기 역방향 스캔 순서상의 거리가 기설정된 임계값보다 크면, 상기 마지막 비-제로 계수에 대해 부호 예측 프로세스를 수행하는 단계For each group, if the distance in the reverse scan order between the last non-zero coefficient and the first non-zero coefficient is greater than a preset threshold, then a sign prediction process is performed on the last non-zero coefficient step
    를 수행하도록 하는 것을 특징으로 하는, 영상 복호화 장치.To the video decoding apparatus.
PCT/KR2019/000139 2018-01-05 2019-01-04 Hiding sign data of transform coefficient WO2019135630A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2018-0001710 2018-01-05
KR20180001710 2018-01-05
KR1020180070469A KR102649287B1 (en) 2018-01-05 2018-06-19 Sign Data Hiding for Transform Coefficient
KR10-2018-0070469 2018-06-19

Publications (1)

Publication Number Publication Date
WO2019135630A1 true WO2019135630A1 (en) 2019-07-11

Family

ID=67143697

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/000139 WO2019135630A1 (en) 2018-01-05 2019-01-04 Hiding sign data of transform coefficient

Country Status (1)

Country Link
WO (1) WO2019135630A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023184747A1 (en) * 2022-03-30 2023-10-05 Oppo广东移动通信有限公司 Video encoding method, video decoding method, apparatus, device, system, and storage medium
WO2023193260A1 (en) * 2022-04-08 2023-10-12 Oppo广东移动通信有限公司 Encoding/decoding method, code stream, encoder, decoder, and storage medium
WO2024060099A1 (en) * 2022-09-21 2024-03-28 Oppo广东移动通信有限公司 Encoding method, decoding method, code stream, encoder, decoder, and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130272424A1 (en) * 2012-04-16 2013-10-17 Qualcomm Incorporated Sign hiding techniques for quantized transform coefficients in video coding
US20150139303A1 (en) * 2012-06-29 2015-05-21 Sony Corporation Encoding device, encoding method, decoding device, and decoding method
US20170034524A1 (en) * 2012-11-13 2017-02-02 Mediatek Inc. Method and Apparatus for Sign Data Hiding of Video and Image Data
US9609344B2 (en) * 2011-11-07 2017-03-28 Dolby International Ab Coding and decoding images with sign data hiding
US20170142448A1 (en) * 2015-11-13 2017-05-18 Qualcomm Incorporated Coding sign information of video data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9609344B2 (en) * 2011-11-07 2017-03-28 Dolby International Ab Coding and decoding images with sign data hiding
US20130272424A1 (en) * 2012-04-16 2013-10-17 Qualcomm Incorporated Sign hiding techniques for quantized transform coefficients in video coding
US20150139303A1 (en) * 2012-06-29 2015-05-21 Sony Corporation Encoding device, encoding method, decoding device, and decoding method
US20170034524A1 (en) * 2012-11-13 2017-02-02 Mediatek Inc. Method and Apparatus for Sign Data Hiding of Video and Image Data
US20170142448A1 (en) * 2015-11-13 2017-05-18 Qualcomm Incorporated Coding sign information of video data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023184747A1 (en) * 2022-03-30 2023-10-05 Oppo广东移动通信有限公司 Video encoding method, video decoding method, apparatus, device, system, and storage medium
WO2023193260A1 (en) * 2022-04-08 2023-10-12 Oppo广东移动通信有限公司 Encoding/decoding method, code stream, encoder, decoder, and storage medium
WO2024060099A1 (en) * 2022-09-21 2024-03-28 Oppo广东移动通信有限公司 Encoding method, decoding method, code stream, encoder, decoder, and storage medium

Similar Documents

Publication Publication Date Title
WO2020185004A1 (en) Intra prediction method and device for predicting prediction unit and dividing prediction unit into sub-units
WO2018044088A1 (en) Method and device for processing video signal
WO2011129619A2 (en) Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus, which perform deblocking filtering based on tree-structure encoding units
WO2012081879A1 (en) Method for decoding inter predictive encoded motion pictures
WO2011087323A2 (en) Method and apparatus for encoding and decoding image by using large transform unit
WO2018056702A1 (en) Method and apparatus for processing video signal
WO2020197038A1 (en) Intra prediction method and device based on intra sub-partitions in image coding system
WO2019135630A1 (en) Hiding sign data of transform coefficient
WO2020231228A1 (en) Inverse quantization device and method used in image decoding device
WO2021025478A1 (en) Method and device for intra prediction coding of video data
WO2021025485A1 (en) Entropy coding for video encoding and decoding
WO2020185009A1 (en) Method and apparatus for efficiently coding residual blocks
WO2020242181A1 (en) Intra mode candidate configuration method and image decoding device
WO2023038447A1 (en) Video encoding/decoding method and device
WO2022030980A1 (en) Method and apparatus for patch book-based encoding and decoding of video data
WO2021060804A1 (en) Method for restoring residual block of chroma block, and decoding device
WO2020185027A1 (en) Method and device for efficiently applying transform skip mode to data block
WO2020122573A1 (en) Filtering method and image decoding device
WO2020009460A1 (en) Residual signal rearrangement method and image decoding apparatus
WO2020076049A1 (en) Method and apparatus for encoding and decoding quantized transform coefficients
WO2020231220A1 (en) Method and apparatus for parallel encoding and decoding of moving picture data
WO2021040430A1 (en) Video encoding and decoding using differential coding
WO2018174657A1 (en) Method and device for image decoding according to intra-prediction in image coding system
WO2019083243A1 (en) Method and apparatus for sao filtering
WO2020190077A1 (en) Intra prediction device and method based on prediction mode estimation

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

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

Country of ref document: EP

Kind code of ref document: A1