WO2019135630A1 - 변환 계수의 부호 데이터 은닉 - Google Patents

변환 계수의 부호 데이터 은닉 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
English (en)
French (fr)
Inventor
나태영
김효성
손세훈
신재섭
이경택
이선영
임정연
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020180070469A external-priority patent/KR102649287B1/ko
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Publication of WO2019135630A1 publication Critical patent/WO2019135630A1/ko

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

본 발명은 개선된 영상 부호화 및 복호화 기술을 제공하는 것을 목적으로 하며, 특히 본 발명의 일 측면에 따르면 양자화된 변환 계수들 중 비-제로 계수의 부호(sign)을 효율적으로 은닉하는 기법들을 제안한다. 이를 위해서 마지막 비-제로 계수와 첫 번째 비-제로 계수 사이의 특성을 바탕으로 부호 예측 프로세스를 차별적으로 적용하여 비-제로 계수에 대한 부호 은닉을 구현한다.

Description

변환 계수의 부호 데이터 은닉
본 발명은 영상의 부호화 및 복호화에 관한 것으로, 보다 상세하게는, 양자화된 변환 계수들 중 비-제로 계수의 부호(sign)를 효율적으로 시그널링하는 것과 관련된다.
동영상 데이터는 음성 데이터나 정지 영상 데이터 등에 비하여 데이터량이 많기 때문에, 압축을 위한 처리 없이 그 자체를 저장하거나 전송하기 위해서는 메모리를 포함하여 많은 하드웨어 자원을 필요로 한다. 따라서, 통상적으로 동영상 데이터를 저장하거나 전송할 때에는 인코더를 사용하여 동영상 데이터를 압축하여 저장하거나 전송하며, 디코더에서는 압축된 동영상 데이터를 수신하여 압축을 해제하고 재생한다. 이러한 동영상 압축 기술로는 H.264/AVC를 비롯하여, H.264/AVC 약 40% 정도의 부호화 효율을 향상시킨 2013년 초에 제정된 H.265(High Efficiency Video Coding: HEVC) 표준 기술이 존재한다.
표 1은 변환 및 양자화 프로세스를 거친 양자화된 계수(quantized coefficient)들의 어레이인 계수 블록을 시그널링하기 위해 사용되는, H.265(HEVC) 표준에 규정된, 신택스(syntax)들을 나열한 것이다.
last_sig_coeff_x_prefix
last_sig_coeff_y_prefix
last_sig_coeff_x_suffix
last_sig_coeff_y_suffix
coded_sub_block_flag
sig_coeff_flag
coeff_abs_level_greater1_flag
coeff_abs_level_greater2_flag
coeff_sign_flag
coeff_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)이다.
H.265(HEVC)에는, 부호 데이터 은닉(sign data hiding) 혹은 부호 비트 은닉(sign bit hiding)이라고 불리는 새로운 코딩 도구가 도입되어 영상 코딩의 압축 성능이 더욱 향상되었다. 부호 비트 은닉은 4×4 서브 블록의 첫 번째 비-제로 양자화된 변환 계수의 부호 비트를 선택적으로 부호화함으로써 부호화 이득을 향상시킨다. 4×4 서브 블록에 적어도 2 개의 비-제로 계수가 존재하고, 스캔 순서상, 첫 번째 비-제로 계수와 마지막 비-제로 계수의 스캔 위치 사이의 거리가 미리 설정된 임계 값보다 크면, 첫 번째 비-제로 계수의 부호는 인코더 측에서 은닉된다(즉, 시그널링되지 않는다). 디코더 측에서는 비-제로 계수들의 절대값의 합계의 패리티를 검사하는 것으로부터 은닉된 부호 비트를 추론할 수 있다. 예를 들어, 4×4 서브블록내의 변환 계수들의 절대값들의 합계가 짝수이면, 첫 번째 비-제로 계수의 부호는 양으로 추론되고, 그렇지 않으면, 음으로 추론된다. 이를 부호 예측(sign prediction)이라 칭할 수 있다. 패리티가 첫 번째 비-제로 계수의 정확한 부호를 가리키지 않는 경우, 인코더는 은닉되는 부호 비트를 위해, 선택적으로 보상을 수행한다. 이는 하나의 비-제로 계수를 선택하여 그 값을 이전 값보다 크거나 작은 인접 값으로 수정함으로써 부호화기 측에서 달성된다. 이러한 보상을 위해, 양자화 간격의 경계에 가까운 레벨을 가지는 비-제로 계수가 선택될 수 있다. 부호 비트 은닉은 율-왜곡 성능을 기준으로 보상을 위해 어떠한 비-제로 계수를 선택할지에 대한 자유를 부호화기에 부여한다.
본 발명은 개선된 영상 부호화 및 복호화 기술을 제공하는 것을 목적으로 하며, 특히, 본 발명의 일 측면에 따르면, 양자화된 변환 계수들 중 비-제로 계수의 부호(sign)를 효율적으로 은닉하는 기법들을 제안한다.
본 발명의 일 측면에 따르면, 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법으로서, 현재의 계수 블록에서 유효 계수들의 위치들을 식별하는 제1단계; 현재의 계수 블록에서 스캔 순서상 마지막 비-제로 계수의 위치를 제1위치로 설정하는 제2단계; 상기 제1위치로부터 스캔 순서의 역순으로 만나는 비-제로 계수들 중에서, 부호 은닉 조건을 만족하는, 상기 제1위치로부터 상기 스캔 순서상 가장 가까운 제2위치를 결정하는 제3단계; 상기 제2위치의 비-제로 계수에 대해 부호 예측 프로세스를 적용하는 제4단계; 및 상기 부호 예측 프로세스가 적용된 제2위치로부터 스캔 순서의 역순으로 만나는 가장 가까운 비-제로 계수의 위치를 상기 제1위치로 설정하는 제5단계를 포함하는 방법을 제공한다. 상기 현재의 계수 블록에서 상기 스캔 순서상 첫 번째 비-제로 계수에 도달할 때까지, 상기 제3단계 내지 상기 제5단계가 반복적으로 수행된다.
일부 실시예에서, 상기 부호 은닉 조건은 상기 제1위치 및 상기 제2위치에 의해 정의되는 제1변수가 기설정된 제1임계값을 초과하는 것일 수 있다. 일부 실시예에서, 상기 부호 은닉 조건은 상기 제1위치 및 상기 제2위치에 의해 정의되는 제1변수가 기설정된 제1임계값을 초과하고, 상기 상기 제1위치 및 상기 제2위치에 의해 정의되는 제2변수가 기설정된 제2임계값을 초과하는 것일 수 있다.
본 발명의 다른 측면에 따르면, 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법으로서, 상기 현재의 계수 블록에서, 비-제로 계수들의 위치를 결정하는 단계; 상기 현재의 계수 블록 내의, 제로 계수들을 제외한, 비-제로 계수들을 복수의 그룹으로 나누는 단계; 각각의 그룹에 대해, 역방향 스캔 순서에 의해 규정되는 마지막 비-제로 계수와 첫 번째 비-제로 계수를 식별하는 단계; 및 각각의 그룹에 대해, 상기 마지막 비-제로 계수와 상기 첫 번째 비-제로 계수 사이의 상기 역방향 스캔 순서상의 거리가 기설정된 임계값보다 크면, 상기 마지막 비-제로 계수에 대해 부호 예측 프로세스를 수행하는 단계를 포함하는 방법을 제공한다.
본 발명의 또 다른 측면에 따르면, 하나 이상의 프로세서; 및 명령어들이 저장된 메모리를 포함하는 영상 복호화 장치를 제공한다. 상기 명령어들은 상기 하나 이상의 프로세서에 의해 실행될 때 상기 영상 복호화 장치로 하여금, 현재의 계수 블록에서 유효 계수들의 위치들을 식별하는 제1단계; 현재의 계수 블록에서 스캔 순서상 마지막 비-제로 계수의 위치를 제1위치로 설정하는 제2단계; 상기 제1위치로부터 스캔 순서의 역방향으로 만나는 비-제로 계수들 중에서, 부호 은닉 조건을 만족하는, 상기 제1위치로부터 상기 스캔 순서상 가장 가까운 제2위치를 결정하는 제3단계; 상기 제2위치의 비-제로 계수에 대해 부호 예측 프로세스를 적용하는 제4단계; 및 상기 부호 예측 프로세스가 적용된 제2위치로부터 스캔 순서의 역방향로 만나는 가장 가까운 비-제로 계수의 위치를 상기 제1위치로 설정하는 제5단계를 수행하도록 하되, 상기 현재의 계수 블록에서 상기 스캔 순서상 첫 번째 비-제로 계수에 도달할 때까지, 상기 제3단계 내지 상기 제5단계를 반복적으로 수행하도록 한다.
본 발명의 또 다른 측면에 따르면, 하나 이상의 프로세서; 및 명령어들이 저장된 메모리를 포함하는 영상 복호화 장치를 제공하며, 상기 명령어들은 상기 하나 이상의 프로세서에 의해 실행될 때 상기 영상 복호화 장치로 하여금, 상기 현재의 계수 블록에서, 비-제로 계수들의 위치를 결정하는 단계; 상기 현재의 계수 블록 내의, 제로 계수들을 제외한, 비-제로 계수들을 복수의 그룹으로 나누는 단계; 각각의 그룹에 대해, 역방향 스캔 순서에 의해 규정되는 마지막 비-제로 계수와 첫 번째 비-제로 계수를 식별하는 단계; 및 각각의 그룹에 대해, 상기 마지막 비-제로 계수와 상기 첫 번째 비-제로 계수 사이의 상기 역방향 스캔 순서상의 거리가 기설정된 임계값보다 크면, 상기 마지막 비-제로 계수에 대해 부호 예측 프로세스를 수행하는 단계를 수행하도록 한다.
도 1은 16×16 TU(transform unit) 내 비-제로 계수들의 예시적인 위치와, 해당 TU의 계수들을 표현하는 신택스들을 보인다.
도 2는 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.
도 3은 QTBTTT 구조를 이용한 블록 분할의 예시도이다.
도 4는 복수의 인트라 예측 모드들에 대한 예시도이다.
도 5는 정사각형 계수 블록의 양자화된 계수들의 부호화에 이용되는 예시적인 스캔 방식들을 나타낸 도면이다.
도 6은 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
도 7a는 총 64개의 4×4 서브 블록들로 구성된 32×32 변환 블록의 일례를 보인다.
도 7b는 도 7a에 예시된 변환 블록에 대해, H.265(HEVC) 표준에 따라 은닉되는 계수를 보인 도면이다.
도 8a 내지 도 8f는 도 7a에 예시된 변환 블록에 대해, 본 발명의 실시예들에 따라 은닉되는 계수를 보인 도면이다.
도 9는 본 발명의 일 측면에 따른, 영상 부호화 장치에서, 변환 계수들의 배열인 계수 블록에 대해 부호 은닉 기법을 적용하는 방법을 도시하는 흐름도이다.
도 10은 본 발명의 다른 측면에 따른, 영상 부호화 장치에서, 변환 계수들의 배열인 계수 블록에 대해 부호 은닉 기법을 적용하는 방법을 도시하는 흐름도이다.
도 11은 본 발명의 일 측면에 따른, 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법을 도시하는 흐름도이다.
도 12는 본 발명의 다른 측면에 따른, 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법을 도시하는 흐름도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 개시의 기술들은, 일반적으로, 변환 및 양자화의 결과물인 양자화된 계수들의 어레이인 계수 블록에 대해, 유효 계수(significant coefficient)로도 지칭되는, 비-제로 계수들의 부호를 효율적으로 시그널링하는 것과 관련된다.
도 2는 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.
영상 부호화 장치는 블록 분할부(210), 예측부(220), 감산기(230), 변환부(240), 양자화부(245), 부호화부(250), 역양자화부(260), 역변환부(265), 가산기(270), 필터부(280) 및 메모리(290)를 포함한다. 영상 부호화 장치는 각 구성요소가 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 하나 이상의 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
하나의 영상(비디오)는 복수의 픽처들로 구성된다. 각 픽처들은 복수의 영역으로 분할되고 각 영역마다 부호화가 수행된다. 예를 들어, 하나의 픽처는 하나 이상의 슬라이스(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)에 부호화된다.
블록 분할부(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) 구조가 사용될 수 있다.
도 3은 QTBTTT 분할 트리 구조를 보인다. 도 3에서 보는 바와 같이, CTU는 먼저 QT 구조로 분할될 수 있다. 쿼드트리 분할은 분할 블록(splitting block)의 크기가 QT에서 허용되는 리프 노드의 최소 블록 크기(MinQTSize)에 도달할 때까지 반복될 수 있다. QT 구조의 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1 플래그(QT_split_flag)는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
QT의 리프 노드가 BT에서 허용되는 루트 노드의 최대 블록 크기(MaxBTSize)보다 크지 않은 경우, BT 구조 또는 TT 구조 중 어느 하나 이상으로 더 분할될 수 있다. BT 구조 및/또는 TT 구조에서는 복수의 분할 방향이 존재할 수 있다. 예컨대, 해당 노드의 블록이 가로로 분할하는 방향과 세로로 분할하는 방향 두 가지가 존재할 수 있다. 도 3과 같이, BTTT 분할이 시작되면, 노드들이 분할되었는지 여부를 지시하는 제2 플래그(BTTT_split_flag)와, 분할이 되었다면 추가적으로 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그 및/또는 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그가 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
트리 구조의 다른 예시로서 QTBT가 사용되는 경우, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입(즉, symmetric horizontal splitting)과 세로로 분할하는 타입(즉, symmetric vertical splitting) 두 가지가 존재할 수 있다. BT 구조의 각 노드가 하위 레이어의 블록으로 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할되는 타입을 지시하는 분할 타입 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다. 한편, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태로는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태를 포함할 수 있고, 혹은 해당 노드의 블록을 대각선 방향으로 분할하는 형태를 포함할 수도 있다.
CU는 CTU로부터의 QTBT 또는 QTBTTT 분할에 따라 다양한 크기를 가질 수 있다. 이하에서는, 부호화 또는 복호화하고자 하는 CU(즉, QTBTTT의 리프 노드)에 해당하는 블록을 '현재블록'이라 칭한다.
예측부(220)는 현재블록을 예측하여 예측블록을 생성한다. 예측부(220)는 인트라 예측부(222)와 인터 예측부(224)를 포함한다.
일반적으로, 픽처 내 현재블록들은 각각 예측적으로 코딩될 수 있다. 현재블록의 예측은 (현재블록을 포함하는 픽처로부터의 데이터를 사용하는) 인트라 예측 기술 또는 (현재블록을 포함하는 픽처 이전에 코딩된 픽처로부터의 데이터를 사용하는) 인터 예측 기술을 사용하여 일반적으로 수행될 수 있다. 인터 예측은 단방향 예측과 양방향 예측 모두를 포함한다.
인트라 예측부(222)는 현재블록이 포함된 현재 픽처 내에서 현재블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재한다. 예컨대, 도 4에서 보는 바와 같이, 복수의 인트라 예측모드는 planar 모드와 DC 모드를 포함하는 비방향성 모드와 65 개의 방향성 모드를 포함할 수 있다. 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다.
인트라 예측부(222)는 현재블록을 부호화하는데 사용할 인트라 예측 모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(222)는 여러 인트라 예측 모드들을 사용하여 현재블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측 모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(222)는 여러 테스트된 인트라 예측 모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측 모드를 선택할 수도 있다.
인트라 예측부(222)는 복수의 인트라 예측 모드 중에서 하나의 인트라 예측 모드를 선택하고, 선택된 인트라 예측 모드에 따라 결정되는 주변 픽셀(참조 픽셀)과 연산식을 사용하여 현재블록을 예측한다. 선택된 인트라 예측 모드에 대한 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다.
인터 예측부(224)는 움직임 보상 과정을 통해 현재블록에 대한 예측블록을 생성한다. 현재 픽처보다 먼저 부호화 및 복호화된 참조픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 일반적으로, 움직임 추정은 루마(luma) 성분에 대해 수행되고, 루마 성분에 기초하여 계산된 모션 벡터는 루마 성분 및 크로마 성분 모두에 대해 사용된다. 현재블록을 예측하기 위해 사용된 참조픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다.
감산기(230)는 현재블록으로부터 인트라 예측부(222) 또는 인터 예측부(224)에 의해 생성된 예측블록을 감산하여 잔차 블록을 생성한다.
변환부(240)는 공간 영역의 픽셀 값들을 가지는 잔차 블록 내의 잔차 신호를 주파수 도메인의 변환 계수로 변환한다. 변환부(240)는 잔차 블록 내의 잔차 신호들을 현재블록의 크기를 변환 단위로 사용하여 변환할 수 있으며, 또는 잔차 블록을 더 작은 복수의 서브블록을 분할하고 서브블록 크기의 변환 단위로 잔차 신호들을 변환할 수도 있다. 잔차 블록을 더 작은 서브블록으로 분할하는 방법은 다양하게 존재할 수 있다. 예컨대, 기정의된 동일한 크기의 서브블록으로 분할할 수도 있으며, 또는 잔차 블록을 루트 노드로 하는 QT(quadtree) 방식의 분할을 사용할 수도 있다.
양자화부(245)는 변환부(240)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 부호화부(250)로 출력한다.
부호화부(250)는 양자화된 변환 계수들을 CABAC 등의 부호화 방식을 사용하여 부호화하여 비트스트림을 생성한다. 이러한 부호화는 통상적으로 복수의 가용한 스캔 방식 중 하나를 이용하여 양자화된 변환 계수에 대해 수행된다.
도 5는 양자화된 계수들의 부호화에 이용되는 예시적인 스캔 방식들을 나타낸 도면이다. 이들 스캔 방식은 up-right diagonal 방식(도 5의 (a)), horizontal 방식(도 5의 (b)), vertical 방식(도 5의 (c))을 포함한다. 현재 블록이 인터 예측 방식을 사용하여 부호화되는 경우, 해당 블록의 계수들은 up-right diagonal 방식으로 스캔되고, 현재 블록이 인트라 예측 방식으로 부호화된 경우는 인트라 예측 모드에 따라 위 세 가지 형태 중 하나를 선택하여 해당 블록의 계수들을 스캔하게 된다. 각 스캔 방식은 계수 블록 내 서브 블록들 및 각 서브 블록 내 계수들에 대해서 동일한 형태의 스캔 패턴을 보인다. 예를 들어, horizontal 스캔 방식의 경우, 서브 블록들의 스캔 순서도 horizontal 방식이고, 각 서브 블록 내 계수들의 스캔 순서도 horizontal 방식이다. 다만, 실제 비트스트림에 저장되는 순서는 스캔 순서의 역순으로 저장이 된다. 즉, 우하 위치의 화소부터 좌상 위치의 화소 순으로 비트스트림에 저장된다. 이하에서 더 설명되는 바와 같이, 일단 마지막 유효 계수(비-제로 계수)의 위치가 알려지고 나면, 계수들은 스캔 패턴 내의 첫 번째 계수쪽으로 스캔 순서의 반대 방향으로 복호화될 수 있다.
또한, 부호화부(250)는 블록 분할과 관련된 CTU size, QT 분할 플래그, BT 분할 플래그, 분할 방향, 분할 타입 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다.
부호화부(250)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보(즉, 인트라 예측 모드에 대한 정보) 또는 인터 예측정보(참조픽처 및 움직임벡터에 대한 정보)를 부호화한다.
역양자화부(260)는 양자화부(245)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(265)는 역양자화부(260)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.
가산부(270)는 복원된 잔차블록과 예측부(220)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.
필터부(280)는 블록 기반의 예측 및 변환/양자화로 인해 발생하는 블록킹 아티팩트(blocking artifacts), 링잉 아티팩트(ringing artifacts), 블러링 아티팩트(blurring artifacts) 등을 줄이기 위해 복원된 픽셀들에 대한 필터링을 수행한다. 필터부(280)는 디블록킹 필터(282)와 SAO 필터(284)를 포함할 수 있다.
디블록킹 필터(280)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 필터링하고, SAO 필터(284)는 디블록킹 필터링된 영상에 대해 추가적인 필터링을 수행한다. SAO 필터(284)는 손실 부호화(lossy coding)로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해 사용되는 필터이다.
디블록킹 필터(282) 및 SAO 필터(284)를 통해 필터링된 복원 블록은 메모리(290)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
도 6은 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
영상 복호화 장치는 복호화부(610), 역양자화부(620), 역변환부(630), 예측부(640), 가산기(650) 등을 포함하는 영상 복원기(600)와, 필터부(660) 및 메모리(670)를 포함한다. 도 2의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치는 각 구성요소가 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
복호화부(610)는 영상 부호화 장치로부터 수신한 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출하여 복호화하고자 하는 현재블록을 결정하고, 현재블록을 복원하기 위해 필요한 예측 정보와 잔차신호에 대한 정보 등을 추출한다.
복호화부(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) 분할한다.
다른 예로서, QTBT 구조를 사용하여 CTU를 분할하는 경우, QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT로 더 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할 방향 정보를 추출한다.
한편, 복호화부(610)는 트리 구조의 분할을 통해 복호화하고자 하는 현재블록을 결정하게 되면, 현재블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다.
예측 타입 정보가 인트라 예측을 지시하는 경우, 복호화부(610)는 현재블록의 인트라 예측정보(인트라 예측 모드)에 대한 신택스 요소를 추출한다.
예측 타입 정보가 인터 예측을 지시하는 경우, 복호화부(610)는 인터 예측정보에 대한 신택스 요소, 즉, 움직임벡터 및 그 움직임벡터가 참조하는 참조픽처를 나타내는 정보를 추출한다.
한편, 복호화부(610)는 잔차신호에 대한 정보로서 현재블록의 양자화된 변환계수들에 대한 정보를 추출한다.
역양자화부(620)는 양자화된 변환계수들을 역양자화하고 역변환부(630)는 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재블록에 대한 잔차블록을 생성한다.
예측부(640)는 인트라 예측부(642) 및 인터 예측부(644)를 포함한다. 인트라 예측부(342)는 현재블록의 예측 타입인 인트라 예측일 때 활성화되고, 인터 예측부(344)는 현재블록의 예측 타입인 인트라 예측일 때 활성화된다.
인트라 예측부(642)는 복호화부(610)로부터 추출된 인트라 예측 모드에 대한 신택스 요소로부터 복수의 인트라 예측 모드 중 현재블록의 인트라 예측 모드를 결정하고, 인트라 예측 모드에 따라 현재블록 주변의 참조 픽셀들을 이용하여 현재블록을 예측한다.
인터 예측부(644)는 복호화부(610)로부터 추출된 인트라 예측 모드에 대한 신택스 요소를 이용하여 현재블록의 움직임 벡터와 그 움직임벡터가 참조하는 참조픽처를 결정하고, 움직임벡터와 참조픽처를 현재블록을 예측한다.
가산기(650)는 역변환부로부터 출력되는 잔차블록과 인터 예측부 또는 인트라 예측부로부터 출력되는 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.
영상 복원기(600)에 의해 CU들에 해당하는 현재블록들을 순차적으로 복원함으로써, CU들로 구성된 CTU, CTU들로 구성된 픽처가 복원된다.
필터부(660)는 디블록킹 필터(662) 및 SAO 필터(664)를 포함한다. 디블록킹 필터(662)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링한다. SAO 필터(664)는, 손실 부호화(lossy coding)으로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해, 디블록킹 필터링 이후의 복원된 블록에 대해 추가적인 필터링을 수행한다. 디블록킹 필터(662) 및 SAO 필터(664)를 통해 필터링된 복원 블록은 메모리(670)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
본 개시의 기술들은 일반적으로 변환 및 양자화의 결과물인 양자화된 계수들의 어레이인 계수 블록에 대해 비-제로 계수(즉, 유효 계수)들의 부호를 효율적으로 은닉하는 것과 관련된다. 따라서, 본 개시의 소정의 기법들은 부호화부(250) 또는 복호화부(610)에 의해 수행될 수도 있다. 즉, 예를 들어, 부호화부(250) 또는 복호화부(610)는 아래의 도 8a 내지 도 12를 참조하여 기술된 본 개시의 기법들을 수행할 수도 있다. 다른 예들에서, 영상 부호화 장치 혹은 영상 복호화 장치의 하나 이상의 다른 유닛들이 추가적으로 본 개시의 기법들을 수행하는 데 관여할 수도 있다.
H.265(HEVC) 표준에서 설명된 부호 데이터 은닉 기법은 변환 블록을 4×4 서브 블록들로 분할하고, 각각의 서브 블록에 대해, 부호 데이터 은닉 프로세스를 적용한다. 즉, 변환 계수 블록의 4×4 서브 블록내에서 역방향 스캔 순서상 첫 번째 비-제로 계수와 마지막 비-제로 계수 간에 위치들에서의 차이가 3 보다 크고(즉, lastSignScanPos - firstSigScanPos > 3), 변환 및 양자화 단계들이 현재의 CU에 대해 바이패스되지(즉, 스킵되지) 않을 때(즉, cu_transquant_bypass_flag = off), 영상 부호화 장치는 해당 4×4 서브-블록의 첫 번째 비-제로 계수의 부호 데이터를 시그널링하지 않는다.
도 7a는 총 64개의 4×4 서브 블록들로 구성된 32×32 변환 블록의 일례를 보인다. 도 7a에는 비-제로 계수들이 빗금 표시되어 있으며, 도 5의 (a)에 예시된 diagonal 스캔 방식을 사용할 때 실제 비트스트림에 기록되는 비-제로 계수의 순번이 병기되어 있다.
도 7a에 예시된 변환 블록에서, 오직 첫 번째 서브 블록만이 H.265(HEVC) 표준에 규정된 상기 부호 은닉 조건(lastSignScanPos - firstSigScanPos > 3)을 만족하며, 따라서 첫 번째 서브 블록의 첫 번째 비-제로 계수(8번 계수)의 부호만이 은닉된다. H.265(HEVC) 표준에 규정된 부호 은닉 기법을 통해, 도 7a에 예시된 변환 블록에 대해 은닉되는 계수가 도 7b에 검정색으로 마킹되어 있다.
이제, 도 8a 내지 도 12를 참조하여 본 개시에서 제안되는 비-제로 계수의 부호 데이터를 효율적으로 은닉하는 여러 기법들을 설명한다.
<제1실시예>
HEVC에서 채용된 부호 은닉 기법에서는, 부호 은닉 조건을 판단하기 위한 첫 번째 비-제로 계수 및 마지막 비-제로 계수가 하나의 4×4 서브 블록내에서 정의되었다. 본 실시예는, 부호 은닉을 위한 첫 번째 비-제로 계수 및 마지막 비-제로 계수의 위치를 하나의 4×4 서브 블록 내로 한정하지 않고, 하나의 변환 블록 내 마지막 비-제로 계수(도 7a에서 1번 계수)부터 스캔 순서의 역순으로 만나는 비-제로 계수들을 첫 번째 비-제로 계수 및 두 번째 비-제로 계수로 설정하여 스캔 순서상의 거리를 측정하는 기법을 사용한다. 본 실시예에 대한 절차는 다음과 같다.
Figure PCTKR2019000139-appb-I000001
임계값( thr )을 3이라고 가정하고, 본 실시예의 기법을 도 7a에 예시된 변환 계수 블록에 대해 적용하면, 다음과 같다.
먼저, 영상 부호화 장치는, 1번 계수의 위치를 제1위치로 지정하고, 2번 계수의 위치를 제2위치로 지정한 후, 스캔 순서 상의 두 계수 사이의 거리를 계산한다. 두 계수의 거리가 임계값(= 3)을 초과하므로, 제2위치의 계수(즉, 2번 계수)의 부호가 은닉된다. 2번 계수의 부호는 1번 및 2번 계수의 절대값의 합의 패리티 체크로부터, 영상 복호화 장치에 의해, 추론될 수 있다. 영상 부호화 장치는, 제1위치 및 제2위치를 리셋한 후 다시 스캐닝을 수행한다.
영상 부호화 장치는, 3번 계수의 위치를 제1위치로 지정하고, 4번 계수의 위치를 제2위치로 지정한 후, 스캔 순서 상의 두 계수 사이의 거리를 계산한다. 두 계수의 거리가 임계값(= 3)을 초과하므로, 제2위치의 계수(즉, 4번 계수)의 부호가 은닉된다. 4번 계수의 부호는 3번 및 4번 계수의 절대값의 합의 패리티 체크로부터, 영상 복호화 장치에 의해, 추론될 수 있다. 영상 부호화 장치는, 제1위치 및 제2위치를 리셋한 후 다시 스캐닝을 수행한다.
영상 부호화 장치는, 5번 계수의 위치를 제1위치로 지정하고, 6번 계수의 위치가 제2위치로 지정한 후, 스캔 순서 상의 두 계수 사이의 거리를 계산한다. 두 계수의 거리는 임계값(3)을 초과하지 않는 바, 제2위치를 리셋한 후, 다시 스캐닝을 재개하여, 7번 계수의 위치를 제2 위치로 지정한다. 스캔 순서 상의 두 계수(7번 계수와 5번 계수) 사이의 거리를 계산한다. 두 계수의 거리가 임계값(= 3)을 초과하므로, 제2위치의 계수(즉, 7번 계수)의 부호가 은닉된다. 7번 계수의 부호는 5번, 6번 및 7번 계수의 절대값의 합의 패리티 체크로부터, 영상 복호화 장치에 의해, 추론될 수 있다. 영상 부호화 장치는, 제1위치 및 제2위치를 리셋한 후 다시 스캐닝을 수행한다.
본 실시예의 부호 은닉 기법 하에서 은닉되는 계수들이 도 8a에 검정색으로 마킹되어 있다. 8개의 계수 중 총 3개의 계수(2번, 4번, 7번 계수)의 부호가 은닉된다. 즉, 본 실시예의 부호 은닉 기법을 통해 3비트를 절약하게 된다.
<제2실시예>
본 실시예는, 하나의 변환 블록 내 마지막 비-제로 계수(예컨대, 도 7a에서 1번 계수)부터 시작하여 스캔 순서의 역순으로 만나는 비-제로 계수들을 카운트하고, 어떤 비-제로 계수에 이르러, 비-제로 계수의 개수가 임계값( thr )을 초과하게 되면, 해당 비-제로 계수의 부호를 은닉하고, 다시 스캐닝을 수행한다. 본 실시예에 대한 절차는 다음과 같다.
Figure PCTKR2019000139-appb-I000002
임계값( thr )을 2라고 가정하고, 본 실시예의 기법을 도 7a에 예시된 변환 계수 블록에 대해 적용하면, 다음과 같다.
영상 부호화 장치는, 먼저 변수 'count'를 초기화하고, 1번 계수부터 시작하여, 스캔 순서의 역순으로 만나는 비-제로 계수들을 카운트해 나간다. 3번 계수에 이르러 카운트 값(= 3)이 비로소 임계값(= 2)을 초과하게 되며, 영상 부호화 장치는, 3번 계수에 대해 부호 은닉 프로세스를 적용한다. 3번 계수의 부호는 1번, 2번 및 3번 계수의 절대값의 합의 패리티 체크로부터, 영상 복호화 장치에 의해, 추론될 수 있다.
영상 부호화 장치는, 변수 'count'를 리셋한 후, 부호 은닉 프로세스를 적용된 비-제로 계수 이후부터 비-제로 계수들을 카운트해 나간다. 즉, 4번 계수부터 시작하여, 스캔 순서의 역순으로 만나는 비-제로 계수들을 카운트해 나간다. 6번 계수에 이르러 카운트 값(= 3)이 비로소 임계값(= 2)을 초과하게 되며, 영상 부호화 장치는, 6번 계수에 대해 부호 은닉 프로세스를 적용한다. 6번 계수의 부호는 4번, 5번 및 6번 계수의 절대값의 합의 패리티 체크로부터, 영상 복호화 장치에 의해, 추론될 수 있다.
영상 부호화 장치는, 변수 'count'를 리셋한 후, 부호 은닉 프로세스를 적용된 비-제로 계수 이후부터 비-제로 계수들을 카운트해 나간다. 즉, 7번 계수부터 시작하여, 스캔 순서의 역순으로 만나는 비-제로 계수들을 카운트해 나간다. 스캔 순서상 첫번째 비-제로 계수인 8번 계수에 이르러서도 카운트 값(= 2)이 임계값(= 2)을 초과하지 못하므로, 더 이상 부호 은닉 프로세스가 적용되는 비-제로 계수는 없다.
본 실시예의 부호 은닉 기법 하에서 은닉되는 계수들이 도 8b에 검정색으로 마킹되어 있다. 8개의 계수 중 총 2개의 계수(3번, 6번 계수)의 부호가 은닉된다. 즉, 본 실시예의 부호 은닉 기법을 통해 2비트를 절약하게 된다.
<제3실시예>
본 실시예는 변환 블록 내 마지막 비-제로 계수(예컨대, 도 7a에서 1번 계수)부터 스캔 순서의 역순으로, 연속적인 비-제로 계수들을 미리 정의된 개수의 그룹들로 구분하고, 각 그룹에서 스캔 순서상 첫 번째 비-제로 계수의 부호를 은닉하는 기법을 사용한다. 본 실시예의 기법은, 부호 데이터(sign data)를 생성하기 전에 이미 해당 변환 블록 내의 전체 비-제로 계수의 개수를 알 수 있어야 하므로, 모든 계수 정보에 대한 신택스들의 가장 마지막에 부호 데이터(sign data)를 배치하여야 한다는 제약을 가진다.
일 예로서, 미리 정의된 그룹의 개수를 2라고 가정하고, 본 실시예의 기법을 도 7a에 예시된 변환 계수 블록에 대해 적용하면, 다음과 같다.
영상 부호화 장치는, 먼저, 전체 8개의 비-제로 계수에 대한 신택스 정보를 시그널링 한다. 그리고 전체 8개의 비-제로 계수를 2개의 그룹으로 나눈다. 즉, 스캔 순서의 역순으로 연속적인 {1번, 2번, 3번, 4번} 계수들이 제1 그룹으로, 연속적인 {5번, 6번, 7번, 8번} 계수들이 제2 그룹으로 배치된다. 각 그룹에서 스캔 순서상 첫 번째 비-제로 계수(4번, 8번)에 대한 부호가 은닉된다. 은닉된 부호는 해당 그룹내 계수들의 절대값의 합에 대한 패리티 체크로부터, 영상 복호화 장치에 의해, 추론될 수 있다. 본 실시예의 부호 은닉 기법 하에서 은닉되는 계수들이 도 8b에 검정색으로 마킹되어 있다. 8개의 계수 중 총 2개의 계수(4번, 8번 계수)의 부호가 은닉된다. 즉, 본 실시예의 부호 은닉 기법을 통해 2비트를 절약하게 된다.
다른 예로서, 미리 정의된 그룹의 개수를 3이라고 가정하고, 본 실시예의 기법을 도 7a에 예시된 변환 계수 블록에 대해 적용하면, 다음과 같다.
전체 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비트를 절약하게 된다.
<제4실시예>
본 실시예에서는, 하나의 변환 블록 내 비-제로 계수들을 미리 정의된 개수의 그룹들로 나누되, 각 그룹에는, 주파수 도메인 기준으로, 저주파 성분의 계수와 고주파 성분의 계수가 혼합된다(즉, 제3실시예와 달리, 스캔 순서상 연속적인 비-제로 계수들이 그룹화되지 않는다). 그리고 각 그룹에서 저주파 (혹은 고주파) 성분의 계수의 부호를 은닉한다. 각 그룹에 저주파 계수들과 고주파 계수들을 혼합하는 것으로 인해, 부호 예측 규칙에 부합하도록 계수 값들을 조정하는 작업이 저주파 성분의 조작 없이도 달성될 수 있다. 즉, 상대적으로 중요한 저주파 성분의 수정보다는 고주파 성분의 수정을 통해 부호 은닉을 수행할 수 있다. 본 실시예의 기법은, 부호 데이터(sign data)를 생성하기 전에 이미 해당 변환 블록 내의 전체 비-제로 계수의 개수를 알 수 있어야 하므로, 모든 계수 정보에 대한 신택스들의 가장 마지막에 부호 데이터(sign data)를 배치하여야 한다는 제약을 가진다.
예시 #1
미리 정의된 그룹의 개수를 2라고 가정하고, 본 실시예의 기법을 도 7a에 예시된 변환 계수 블록에 대해 적용하면, 다음과 같다.
영상 부호화 장치는, 먼저, 전체 8개의 비-제로 계수들에 대한 신택스 정보를 시그널링 한다. 그리고 전체 8개의 비-제로 계수들을 2개의 그룹으로 나눈다. 본 예시에서, 저주파 성분과 고주파 성분이 섞여, {1번, 2번, 5번, 6번} 계수들이 제1 그룹에, {3번, 4번, 7번, 8번} 계수들이 제2 그룹에 할당된다. 위 2개의 그룹 내 스캔 순서상 첫 번째 비-제로 계수(6번, 8번 계수)에 대한 부호가 은닉된다. 본 실시예의 부호 은닉 기법 하에서 은닉되는 계수들이 도 8e에 검정색으로 마킹되어되어 있다. 대안적으로, 고주파 성분의 계수의 부호를 은닉하는 경우, 1번 및 3번 계수에 대한 부호가 은닉된다. 8개의 계수 중 총 2개의 계수(6번, 8번 계수)의 부호가 은닉되었다. 즉, 본 실시예의 부호 은닉 기법을 통해 2비트를 절약하게 된다.
예시 #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비트를 절약하게 된다.
예시 #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번} 계수들이 같은 그룹으로 묶인다. 전체 비-제로 계수의 개수와 그룹의 개수가 배수 관계가 아닌 경우, 미리 약속된 규칙에 따라 비-제로 계수들이 그룹화되어야 할 것이다.
본 실시예의 요지는 부호 은닉 및 부호 예측을 위해 각 그룹에 저주파 및 고주파 위치의 계수들을 섞는 것이며, 그러한 그룹핑 형태는 위 두 가지에 한정되는 것은 아니다. 예컨대, 스캔 순서 상, 홀수 번째 비-제로 계수들이 제1그룹에, 짝수 번째 비-제로 계수들이 제2그룹에 할당될 수도 있다. 유사하게, 비-제로 계수들이 3개의 그룹으로 나뉘는 경우에, (역방향) 스캔 순서상 {1번째, 4번째, 7번째, …} 비-제로 계수들이 제1그룹에, {2번째, 5번째, 8번째, …} 계수들이 제2그룹에, {3번째, 6번째, 9번째, …} 비-제로 계수들이 제3그룹에 할당될 수도 있다. 이러한 그룹핑은 미리 정의된 그룹의 개수(N)에 기초한 modulo-N 연산을, 각 비-제로 계수의 스캔 순서상의 순번에 대해, 수행하는 것에 의해 달성될 수 있다.
<제5실시예>
본 실시예에서는 하나의 변환 블록 내 마지막 비-제로 계수(예컨대, 도 7a에서 1번 계수)부터 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값을 누적하여 합산하고, 합산한 값이 임계값 보다 큰 경우, 해당 비-제로 계수의 부호를 은닉하고, 다시 스캐닝을 수행한다. 본 실시예에 대한 절차는 다음과 같다.
Figure PCTKR2019000139-appb-I000003
임계값( thr )을 5라고 가정하고, 본 실시예의 기법을 도 7a에 예시된 변환 계수 블록에 대해 적용하면, 다음과 같다.
예시적인 설명을 위해, 도 7a에 예시된 변환 계수 블록내의 비-제로 계수들의 레벨(즉, 절대값)을 다음과 같이 가정한다.
계수번호 1번 2번 3번 4번 5번 6번 7번 8번
레벨 1 3 2 3 2 2 3 1
영상 부호화 장치는, 먼저 변수 'sum'을 초기화하고, 1번 계수부터 시작하여, 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값을 누적해 나간다. 3번 계수에 이르러 누적된 절대값(즉, 비-제로 계수들의 절대값의 합 = 6)이 비로소 임계값(= 5)을 초과하게 되며, 따라서 영상 부호화 장치는 3번 계수에 대해 부호 은닉 프로세스를 적용한다. 3번 계수의 부호는 1번, 2번 및 3번 계수의 절대값의 합의 패리티로부터, 영상 복호화 장치에 의해, 추론될 수 있다. 영상 부호화 장치는, 변수 'sum'을 리셋한 후, 부호 은닉 프로세스를 적용된 비-제로 계수 이후부터 다시 절대값을 누적해 나간다. 즉, 4번 계수부터 시작하여, 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값을 누적해 나간다. 6번 계수에 이르러 누적된 절대값(= 7)이 비로소 임계값(= 5)을 초과하게 되며, 따라서 영상 부호화 장치는 6번 계수에 대해 부호 은닉 프로세스를 적용한다. 6번 계수의 부호는 4번, 5번 및 6번 계수의 절대값의 합의 패리티로부터, 영상 복호화 장치에 의해, 추론될 수 있다.
영상 부호화 장치는, 변수 'sum'을 리셋한 후, 부호 은닉 프로세스를 적용된 비-제로 계수 이후부터 다시 절대값을 누적해 나간다. 즉, 7번 계수부터 시작하여, 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값을 누적해 나간다. 스캔 순서상 첫번째 비-제로 계수인 8번 계수에 이르러서도 누적된 절대값(= 4)이 임계값(= 5)을 초과하지 못하므로, 더 이상 부호 은닉 프로세스가 적용되는 비-제로 계수는 없다. 결과적으로, 8개의 계수 중 총 2개의 계수(3번, 6번 계수)의 부호가 은닉되었다. 즉, 본 실시예의 부호 은닉 기법을 통해 2비트를 절약하게 된다.
<제6실시예>
본 실시예는 전술한 제1실시예 및 제5실시예의 방식을 조합한 기법이다. 즉, 하나의 변환 블록 내 마지막 비-제로 계수(예컨대, 도 7a에서 1번 계수)부터 스캔 순서의 역순으로 만나는 비-제로 계수들의 거리 및 해당 비-제로 계수들의 절대값의 합을 구하다가, 거리가 제1임계값( thr1 ) 이상이면서 절대값의 합이 제2임계값( thr2 ) 이상이면, 당해 비-제로 계수의 부호를 은닉하고, 다시 스캐닝을 수행한다. 본 실시예에 대한 절차는 다음과 같다.
Figure PCTKR2019000139-appb-I000004
<제 7 실시예>
본 실시예는 전술한 제2실시예 및 제5실시예의 방식을 조합한 기법이다. 즉, 하나의 변환 블록 내 마지막 비-제로 계수(도 7a에서 1번 계수)부터 스캔 순서의 역순으로 만나는 비-제로 계수들의 "개수"와 "절대값의 합"을 구하다가, 총 개수가 제1임계값( thr1 ) 이상이면서 절대값의 합이 제2임계값( thr2 ) 이상이면, 당해 비-제로 계수의 부호를 은닉하고, 다시 스캐닝을 수행한다. 본 실시예에 대한 절차는 다음과 같다.
Figure PCTKR2019000139-appb-I000005
<제8실시예>
본 실시예는 부호 은닉 조건을 만족하는지 여부를 확인하기 위해 사용되는 비-제로 계수와 실제 부호가 은닉되고 예측되는 비-제로 계수를 달리하는 기법에 관한 것이다. 앞선 실시예들에서는 부호가 은닉되는 (그에 따라 영상 복호화 장치에 의해 예측되는) 계수가 부호 은닉 조건을 확인하기 위해 사용되는 하나의 비-제로 계수였다면, 본 실시예는 이를 구분한다.
예를 들어, 하나의 변환 블록(혹은 하나의 서브 블록) 내에 n개의 비-제로 계수들이 존재한다고 가정하자. 본 실시예에 따르면, n개의 비-제로 계수들 중에서 m(< n)개의 비-제로 계수들의 절대값의 합을 이용하여, 나머지 (n - m)개의 비-제로 계수들 중 하나 이상의 비-제로 계수의 부호가 인코더에 의해 은닉되고 디코더에 의해 예측(추론)된다. 이때, m의 값은 인코더 및 디코더 간에 약속된 값이며, 실제 부호가 예측되는 비-제로 계수는 나머지 (n - m)개의 비-제로 계수들 중에서 인코더 및 디코더의 약속에 의해 계수의 위치 혹은 순서 등을 기초로 결정될 수 있다. 일반적으로, m개의 비-제로 계수들은 스캔 순서의 역순에서 앞쪽에 위치하고, 부호가 예측되는 계수는 이보다 뒤에 위치하게 된다.
이상의 각 실시예에서, 은닉된 부호의 예측은 관련된 모든 비-제로 계수들의 절대값의 합의 패리티 체크에 기초한다. 예컨대, 절대값의 합이 짝수이면 은닉된 부호는 "+"(positive)로, 절대값의 합이 홀수이면 은닉된 부호는 "-"(negative)로 예측(즉, 추론)된다. 이러한 부호 예측 프로세스는 관련된 모든 비-제로 계수들의 최하위 비트의 AND 연산으로 단순화 될 수 있다. 예를 들어, 총 3개의 비-제로 계수들이 존재할 때, 3개의 계수들의 표현들(A, B, C)의 최하위 비트 간의 AND 연산(이는 "[(A & 0x01) & (B & 0x01) & (C & 0x01)"로 표현될 수 있다.)에 기초하여 부호가 결정될 수 있다. 즉, AND 연산의 결과가 "0"이면 부호는 "+"로 결정되고, AND 연산의 결과가 "1"이면 부호는 "1"로 결정된다. 그 반대의 경우도 가능함은 물론이다.
도 9는 본 발명의 일 측면에 따른, 영상 부호화 장치에서, 변환 계수들의 배열인 계수 블록에 대해 부호 은닉 기법을 적용하는 방법을 도시하는 흐름도이다.
먼저, 영상 부호화 장치는 현재의 계수 블록내의 비-제로 계수들의 위치를 결정한다(S910). 영상 부호화 장치는, 표 1에 예시된 신택스 엘리먼트들의 적어도 일부를 이용하여, 현재의 계수 블록내의 비-제로 계수들의 위치와 레벨들을 시그널링 할 수 있다.
다음으로, 영상 부호화 장치는 현재의 계수 블록 내의, 제로 계수들을 제외한, 비-제로 계수들을 복수의 그룹으로 나눈다(S920). 일부 예시에서, 영상 부호화 장치는 현재의 계수 블록 내의 비-제로 계수들을, 역방향 스캔 순서대로, 기설정된 개수의 비-제로 계수들만큼씩 그룹화할 수 있다. 다른 일부 예시에서, 영상 부호화 장치는 현재의 계수 블록 내의 각 비-제로 계수들에 대해, 그룹들의 개수(N)에 기초한 modulo-N 연산을 수행함으로써, 비-제로 계수들을 복수의 그룹으로 나눌 수 있다.
다음으로, 영상 부호화 장치는 각각의 그룹에 대해, 스캔 순서의 역순에 의해 규정되는 마지막 비-제로 계수와 첫 번째 비-제로 계수를 식별한다(S930).
영상 부호화 장치는 각각의 그룹에 대해, 마지막 비-제로 계수와 첫 번째 비-제로 계수 사이의 스캔 순서상의 거리가 기설정된 임계값보다 크면, 마지막 비-제로 계수에 대해 부호 데이터 은닉 프로세스를 수행한다(S940). 즉, 영상 부호화 장치는 마지막 비-제로 계수에 대한 부호 데이터(즉, 부호 비트)를 시그널링하지 않는다. 부호 데이터 은닉 프로세스는 해당 그룹내에 포함된 비-제로 계수들의 절대값의 합에 대한 패리티 체크를 포함할 수 있다. 패리티가 첫 번째 비-제로 계수의 정확한 부호를 가리키지 않는 경우, 영상 부호화 장치는 은닉되는 부호 비트를 위해, 선택적으로 보상을 수행한다. 이는 해당 그룹 내에서 하나의 비-제로 계수를 선택하여 그 값을 이전 값보다 크거나 작은 인접 값으로 수정함으로써 영상 부호화 장치에서 달성된다. 이러한 보상을 위해, 양자화 간격의 경계에 가까운 레벨을 가지는 비-제로 계수가 선택될 수 있다. 혹은, 해당 그룹 내에서 상대적으로 고주파수 성분에 해당하는 비-제로 계수가 선택될 수 있다. 각 그룹의 마지막 비-제로 계수를 제외한 나머지 비-제로 계수들에 대한 부호 데이터(즉, 부호 비트)는 명시적으로 시그널링된다.
도 10은 본 발명의 다른 측면에 따른, 영상 부호화 장치에서, 변환 계수들의 배열인 계수 블록에 대해 부호 은닉 기법을 적용하는 방법을 도시하는 흐름도이다.
먼저, 영상 부호화 장치는 현재의 계수 블록내의 비-제로 계수들의 위치를 결정한다(S1010). 영상 부호화 장치는, 표 1에 예시된 신택스 엘리먼트들의 적어도 일부를 이용하여, 현재의 계수 블록내의 비-제로 계수들의 위치와 레벨들을 시그널링 할 수 있다.
다음으로, 영상 부호화 장치는, 현재의 계수 블록에서 스캔 순서상 마지막 비-제로 계수의 위치를 제1위치로 설정한다(S1020).
다음으로, 영상 부호화 장치는, 제1위치로부터 스캔 순서의 역순으로 만나는 비-제로 계수들 중에서, 부호 은닉 조건을 만족하는, 제1위치로부터 스캔 순서상 가장 가까운 제2위치를 결정한다(S1030). 여기서, 부호 은닉 조건은 제1위치 및 제2위치에 의해 정의되는 제1변수가 기설정된 제1임계값을 초과하는 것이다. 일부 실시예에서, 제1변수는 계수 블록 내에서 제1위치로부터 제2위치까지 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값의 합일 수 있다. 다른 실시예에서, 제1변수는 스캔 순서상 제1위치와 제2위치 사이에 위치하는 비-제로 계수의 수일 수 있다. 또 다른 실시예에서, 제1변수는 스캔 순서상 제1위치와 제2위치 간의 거리일 수 있다.
영상 부호화 장치는 S1030 단계에서 결정된 제2위치의 비-제로 계수에 대해 부호 은닉 프로세스를 적용한다(S1040). 즉, 영상 부호화 장치는 제2위치의 비-제로 계수에 대한 부호 데이터(즉, 부호 비트)를 시그널링하지 않는다. 부호 데이터 은닉 프로세스는 스캔 순서상 제1 위치부터 제2위치까지 만나는 모든 비-제로 계수들의 절대값의 합에 대한 패리티 체크를 포함할 수 있다. 패리티가 제2위치의 비-제로 계수의 정확한 부호를 가리키지 않는 경우, 영상 부호화 장치는 은닉되는 부호 비트를 위해, 선택적으로 보상을 수행한다. 이는 제1 위치부터 제2위치까지 만나는 모든 비-제로 계수들 중에서 하나의 비-제로 계수를 선택하여 그 값을 이전 값보다 크거나 작은 인접 값으로 수정함으로써 영상 부호화 장치에서 달성된다. 이러한 보상을 위해, 양자화 간격의 경계에 가까운 레벨을 가지는 비-제로 계수가 선택될 수 있다. 혹은, 제1 위치부터 제2위치까지 만나는 모든 비-제로 계수들 중에서 상대적으로 고주파수 성분에 해당하는 비-제로 계수가 선택될 수 있다. 부호 데이터 은닉 프로세스가 적용되지 않은 다른 비-제로 계수들에 대한 부호 데이터(즉, 부호 비트)는 명시적으로 시그널링된다.
영상 부호화 장치는, 부호 예측 프로세스가 적용된 제2위치로부터 스캔 순서의 역방향로 만나는 가장 가까운 비-제로 계수의 위치를 새로운 제1위치로 설정한다(S1050).
영상 부호화 장치는, 현재의 계수 블록에서 스캔 순서상 첫 번째 비-제로 계수에 도달할 때까지, S1030 내지 S1050를 반복적으로 수행한다. 즉, 첫 번째 비-제로 계수의 위치가 제1위치 또는 제2위치로 선택되거나, 제1위치 또는 제2위치 사이에 존재하게 되면(S1060의 '예'), 위 절차는 종료된다.
도 11은 본 발명의 일 측면에 따른, 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법을 도시하는 흐름도이다.
먼저, 영상 복호화 장치는 현재의 계수 블록내의 비-제로 계수들의 위치를 결정한다(S1110). 이를 위해, 영상 복호화 장치는 비트스트림으로부터 표 1에 예시된 신택스 엘리먼트들의 적어도 일부를 파싱할 수 있다.
다음으로, 영상 복호화 장치는 현재의 계수 블록 내의, 제로 계수들을 제외한, 비-제로 계수들을 복수의 그룹으로 나눈다(S1120). 일부 예시에서, 영상 복호화 장치는 현재의 계수 블록 내의 비-제로 계수들을, 스캔 순서의 역순에 따라, 기설정된 개수의 비-제로 계수들만큼씩 그룹화할 수 있다. 다른 일부 예시에서, 영상 복호화 장치는 현재의 계수 블록 내의 각 비-제로 계수들에 대해, 그룹들의 개수(N)에 기초한 modulo-N 연산을 수행함으로써, 비-제로 계수들을 복수의 그룹으로 나눌 수 있다.
다음으로, 영상 복호화 장치는 각각의 그룹에 대해, 스캔 순서의 역순에 의해 규정되는 마지막 비-제로 계수와 첫 번째 비-제로 계수를 식별한다(S1130).
영상 복호화 장치는 각각의 그룹에 대해, 마지막 비-제로 계수와 첫 번째 비-제로 계수 사이의 스캔 순서상의 거리가 기설정된 임계값보다 크면, 마지막 비-제로 계수에 대해 부호 데이터 예측 프로세스를 수행한다(S1140). 부호 데이터 예측 프로세스는 해당 그룹내에 포함된 비-제로 계수들의 절대값의 합에 대한 패리티 체크를 포함할 수 있다. 해당 그룹내에 포함된 비-제로 계수들의 절대값의 합계가 짝수이면, 마지막 비-제로 계수의 부호는 양으로 추론되고, 그렇지 않으면, 음으로 추론된다. 부호 데이터 예측 프로세스는 해당 그룹내에 포함된 비-제로 계수들의 최하위 비트의 AND 연산을 포함할 수 있다. AND 연산의 결과가 "0"이면 부호는 "+"로 결정되고, AND 연산의 결과가 "1"이면 부호는 "-"로 결정된다. 그 반대의 경우도 가능함은 물론이다.
도 12는 본 발명의 다른 측면에 따른, 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법을 도시하는 흐름도이다.
먼저, 영상 복호화 장치는 현재의 계수 블록내의 비-제로 계수들의 위치를 결정한다(S1210). 이를 위해, 영상 복호화 장치는 비트스트림으로부터 표 1에 예시된 신택스 엘리먼트들의 적어도 일부를 파싱할 수 있다.
다음으로, 영상 복호화 장치는, 현재의 계수 블록에서 스캔 순서상 마지막 비-제로 계수의 위치를 제1위치로 설정한다(S1220).
다음으로, 영상 복호화 장치는, 제1위치로부터 스캔 순서의 역순으로 만나는 비-제로 계수들 중에서, 부호 은닉 조건을 만족하는, 제1위치로부터 스캔 순서상 가장 가까운 제2위치를 결정한다(S1230). 여기서, 부호 은닉 조건은 제1위치 및 제2위치에 의해 정의되는 제1변수가 기설정된 제1임계값을 초과하는 것이다. 일부 실시예에서, 제1변수는 계수 블록 내에서 제1위치로부터 제2위치까지 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값의 합일 수 있다. 다른 실시예에서, 제1변수는 스캔 순서상 제1위치와 제2위치 사이에 위치하는 비-제로 계수의 수일 수 있다. 또 다른 실시예에서, 제1변수는 스캔 순서상 제1위치와 제2위치 간의 거리일 수 있다.
영상 복호화 장치는 S1230 단계에서 결정된 제2위치의 비-제로 계수에 대해 부호 예측 프로세스를 적용한다(S1240). 부호 데이터 예측 프로세스는 스캔 순서상 제1 위치부터 제2위치까지 만나는 모든 비-제로 계수들의 절대값의 합에 대한 패리티 체크를 포함할 수 있다. 절대값의 합계가 짝수이면, 마지막 제2위치의 비-제로 계수의 부호는 양으로 추론되고, 그렇지 않으면, 음으로 추론된다. 부호 데이터 예측 프로세스는 제1 위치부터 제2위치까지 만나는 모든 비-제로 계수들의 최하위 비트의 AND 연산을 포함할 수 있다. AND 연산의 결과가 "0"이면 부호는 "+"로 결정되고, AND 연산의 결과가 "1"이면 부호는 "-"로 결정된다. 그 반대의 경우도 가능함은 물론이다.
영상 복호화 장치는, 부호 예측 프로세스가 적용된 제2위치로부터 스캔 순서의 역순으로 만나는 가장 가까운 비-제로 계수의 위치를 새로운 제1위치로 설정한다(S1250).
영상 복호화 장치는, 현재의 계수 블록에서 스캔 순서상 첫 번째 비-제로 계수에 도달할 때까지, S1230 내지 S1250를 반복적으로 수행한다. 즉, 영상 복호화 장치는, 첫 번째 비-제로 계수의 위치가 제1위치 또는 제2위치로 선택되거나, 제1위치 또는 제2위치 사이에 존재하게 되면(S1260의 '예'), 위 절차는 종료된다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는, 2018년 01월 05일자로 한국에 출원한 특허출원번호 제10-2018-0001710호 및 2018년 06월 19일자로 한국에 출원한 특허출원번호 제10-2018-0070469호에 대해 우선권을 주장한다.

Claims (13)

  1. 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법으로서,
    현재의 계수 블록에서 유효 계수들의 위치들을 식별하는 제1단계;
    현재의 계수 블록에서 스캔 순서상 마지막 비-제로 계수의 위치를 제1위치로 설정하는 제2단계;
    상기 제1위치로부터 스캔 순서의 역순으로 만나는 비-제로 계수들 중에서, 부호 은닉 조건을 만족하는, 상기 제1위치로부터 상기 스캔 순서상 가장 가까운 제2위치를 결정하는 제3단계;
    상기 제2위치의 비-제로 계수에 대해 부호 예측 프로세스를 적용하는 제4단계; 및
    상기 부호 예측 프로세스가 적용된 제2위치로부터 스캔 순서의 역순으로 만나는 가장 가까운 비-제로 계수의 위치를 상기 제1위치로 설정하는 제5단계
    를 포함하고,
    상기 현재의 계수 블록에서 상기 스캔 순서상 첫 번째 비-제로 계수에 도달할 때까지, 상기 제3단계 내지 상기 제5단계를 반복적으로 수행하는, 방법.
  2. 제1항에 있어서,
    상기 부호 은닉 조건은 상기 제1위치 및 상기 제2위치에 의해 정의되는 제1변수가 기설정된 제1임계값을 초과하는 것임을 특징으로 하는, 방법.
  3. 제2항에 있어서,
    상기 제1변수는,
    상기 계수 블록 내에서, 상기 제1위치로부터 상기 제2위치까지 상기 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값의 합인 것을 특징으로 하는, 방법.
  4. 제2항에 있어서,
    상기 제1변수는,
    상기 스캔 순서상 상기 제1위치와 상기 제2위치 사이에 위치하는 비-제로 계수의 수인 것을 특징으로 하는, 방법.
  5. 제2항에 있어서,
    상기 제1변수는,
    상기 스캔 순서상, 상기 제1위치와 상기 제2위치 간의 거리인 것을 특징으로 하는, 방법.
  6. 제1항에 있어서,
    상기 부호 은닉 조건은 상기 제1위치 및 상기 제2위치에 의해 정의되는 제1변수가 기설정된 제1임계값을 초과하고, 상기 상기 제1위치 및 상기 제2위치에 의해 정의되는 제2변수가 기설정된 제2임계값을 초과하는 것임을 특징으로 하는, 방법.
  7. 제6항에 있어서,
    상기 제1변수는 상기 스캔 순서상 상기 제1위치와 상기 제2위치 간의 거리이고, 상기 제2변수는 상기 계수 블록 내에서 상기 제1위치로부터 상기 제2위치까지 상기 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값의 합인 것을 특징으로 하는, 방법.
  8. 제6항에 있어서,
    상기 제1변수는 상기 스캔 순서상 제1위치와 제2위치 사이에 위치하는 비-제로 계수의 수이고, 상기 제2변수는 상기 계수 블록 내에서 상기 제1위치로부터 상기 제2위치까지 상기 스캔 순서의 역순으로 만나는 비-제로 계수들의 절대값의 합인 것을 특징으로 하는, 방법.
  9. 영상 복호화 장치에서, 변환 계수들의 배열인 계수 블록을 복원하기 위해, 부호화된 영상의 비트스트림을 복호화하는 방법으로서,
    상기 현재의 계수 블록에서, 비-제로 계수들의 위치를 결정하는 단계;
    상기 현재의 계수 블록 내의, 제로 계수들을 제외한, 비-제로 계수들을 복수의 그룹으로 나누는 단계;
    각각의 그룹에 대해, 역방향 스캔 순서에 의해 규정되는 마지막 비-제로 계수와 첫 번째 비-제로 계수를 식별하는 단계; 및
    각각의 그룹에 대해, 상기 마지막 비-제로 계수와 상기 첫 번째 비-제로 계수 사이의 상기 역방향 스캔 순서상의 거리가 기설정된 임계값보다 크면, 상기 마지막 비-제로 계수에 대해 부호 예측 프로세스를 수행하는 단계
    를 포함하는, 방법.
  10. 제9항에 있어서,
    상기 비-제로 계수들을 복수의 그룹으로 나누는 단계는,
    상기 현재의 계수 블록 내의 비-제로 계수들을, 상기 스캔 순서의 역순에 따라, 기설정된 개수씩 그룹화하는 단계를 포함하는, 방법.
  11. 제9항에 있어서,
    상기 비-제로 계수들을 복수의 그룹으로 나누는 단계는,
    각 비-제로 계수들의 스캔 순서상의 순번에 대해, 상기 그룹들의 개수(N)에 기초한 modulo-N 연산을 수행하는 단계를 포함하는, 방법.
  12. 영상 복호화 장치로서,
    하나 이상의 프로세서; 및
    명령어들이 저장된 메모리를 포함하되, 상기 명령어들은 상기 하나 이상의 프로세서에 의해 실행될 때 상기 영상 복호화 장치로 하여금,
    현재의 계수 블록에서 유효 계수들의 위치들을 식별하는 제1단계;
    현재의 계수 블록에서 스캔 순서상 마지막 비-제로 계수의 위치를 제1위치로 설정하는 제2단계;
    상기 제1위치로부터 스캔 순서의 역방향으로 만나는 비-제로 계수들 중에서, 부호 은닉 조건을 만족하는, 상기 제1위치로부터 상기 스캔 순서상 가장 가까운 제2위치를 결정하는 제3단계;
    상기 제2위치의 비-제로 계수에 대해 부호 예측 프로세스를 적용하는 제4단계; 및
    상기 부호 예측 프로세스가 적용된 제2위치로부터 스캔 순서의 역방향로 만나는 가장 가까운 비-제로 계수의 위치를 상기 제1위치로 설정하는 제5단계
    를 수행하도록 하되, 상기 현재의 계수 블록에서 상기 스캔 순서상 첫 번째 비-제로 계수에 도달할 때까지, 상기 제3단계 내지 상기 제5단계를 반복적으로 수행하도록 하는 것을 특징으로 하는, 영상 복호화 장치.
  13. 영상 복호화 장치로서,
    하나 이상의 프로세서; 및
    명령어들이 저장된 메모리를 포함하되, 상기 명령어들은 상기 하나 이상의 프로세서에 의해 실행될 때 상기 영상 복호화 장치로 하여금,
    상기 현재의 계수 블록에서, 비-제로 계수들의 위치를 결정하는 단계;
    상기 현재의 계수 블록 내의, 제로 계수들을 제외한, 비-제로 계수들을 복수의 그룹으로 나누는 단계;
    각각의 그룹에 대해, 역방향 스캔 순서에 의해 규정되는 마지막 비-제로 계수와 첫 번째 비-제로 계수를 식별하는 단계; 및
    각각의 그룹에 대해, 상기 마지막 비-제로 계수와 상기 첫 번째 비-제로 계수 사이의 상기 역방향 스캔 순서상의 거리가 기설정된 임계값보다 크면, 상기 마지막 비-제로 계수에 대해 부호 예측 프로세스를 수행하는 단계
    를 수행하도록 하는 것을 특징으로 하는, 영상 복호화 장치.
PCT/KR2019/000139 2018-01-05 2019-01-04 변환 계수의 부호 데이터 은닉 WO2019135630A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20180001710 2018-01-05
KR10-2018-0001710 2018-01-05
KR10-2018-0070469 2018-06-19
KR1020180070469A KR102649287B1 (ko) 2018-01-05 2018-06-19 변환 계수의 부호 데이터 은닉

Publications (1)

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

Family

ID=67143697

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/000139 WO2019135630A1 (ko) 2018-01-05 2019-01-04 변환 계수의 부호 데이터 은닉

Country Status (1)

Country Link
WO (1) WO2019135630A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023184747A1 (zh) * 2022-03-30 2023-10-05 Oppo广东移动通信有限公司 视频编解码方法、装置、设备、***及存储介质
WO2023193260A1 (zh) * 2022-04-08 2023-10-12 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质
WO2024060099A1 (zh) * 2022-09-21 2024-03-28 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质

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 (zh) * 2022-03-30 2023-10-05 Oppo广东移动通信有限公司 视频编解码方法、装置、设备、***及存储介质
WO2023193260A1 (zh) * 2022-04-08 2023-10-12 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质
WO2024060099A1 (zh) * 2022-09-21 2024-03-28 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质

Similar Documents

Publication Publication Date Title
WO2020185004A1 (ko) 예측 유닛을 서브 유닛들로 분할하여 예측하는 인트라 예측 방법 및 장치
WO2018044088A1 (ko) 비디오 신호 처리 방법 및 장치
WO2011129619A2 (ko) 트리 구조 부호화 단위에 기반한 디블록킹 필터링을 수행하는 비디오 부호화 방법과 그 장치 및 복호화 방법과 그 장치
WO2012081879A1 (ko) 인터 예측 부호화된 동영상 복호화 방법
WO2011087323A2 (en) Method and apparatus for encoding and decoding image by using large transform unit
WO2020185009A1 (ko) 잔차블록을 효율적으로 코딩하는 방법 및 장치
WO2018056702A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020197038A1 (ko) 영상 코딩 시스템에서 인트라 서브 파티션 기반의 인트라 예측 방법 및 장치
WO2019135630A1 (ko) 변환 계수의 부호 데이터 은닉
WO2020231228A1 (ko) 영상 복호화 장치에서 이용하는 역양자화장치 및 방법
WO2021025478A1 (ko) 동영상 데이터의 인트라 예측 코딩을 위한 방법 및 장치
WO2020242181A1 (ko) 인트라 모드 후보 구성 방법 및 영상 복호화 장치
WO2023038447A1 (ko) 비디오 부호화/복호화 방법 및 장치
WO2022030980A1 (ko) 비디오 데이터의 패치북 기반 부호화 및 복호화를 위한 방법 및 장치
WO2020185027A1 (ko) 데이터 블록에 변환 생략 모드를 효율적으로 적용하기 위한 방법 및 장치
WO2020122573A1 (ko) 필터링 방법 및 영상 복호화 장치
WO2020184936A1 (ko) 비디오 신호의 부호화 또는 복호화 방법 및 장치
WO2020009460A1 (ko) 잔차신호 재배열 방법 및 영상 복호화 장치
WO2020076049A1 (ko) 양자화된 변환 계수들의 부호화 및 복호화를 위한 방법 및 장치
WO2020231220A1 (ko) 동영상 데이터의 병렬 부호화 및 복호화를 위한 방법 및 장치
WO2021040430A1 (ko) 차등 부호화를 이용하는 비디오 부호화 및 복호화
WO2019078693A1 (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
WO2018174657A1 (ko) 영상 코딩 시스템에서 인트라 예측에 따른 영상 디코딩 방법 및 장치
WO2019083243A1 (ko) Sao 필터링을 위한 방법 및 장치
WO2020190077A1 (ko) 예측모드 추정에 기반하는 인트라 예측장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 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