[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2018026028A1 - Method and apparatus for encoding/decoding residual signal by using sub-coefficient group - Google Patents

Method and apparatus for encoding/decoding residual signal by using sub-coefficient group Download PDF

Info

Publication number
WO2018026028A1
WO2018026028A1 PCT/KR2016/008522 KR2016008522W WO2018026028A1 WO 2018026028 A1 WO2018026028 A1 WO 2018026028A1 KR 2016008522 W KR2016008522 W KR 2016008522W WO 2018026028 A1 WO2018026028 A1 WO 2018026028A1
Authority
WO
WIPO (PCT)
Prior art keywords
coefficient
sub
zero
flag
group
Prior art date
Application number
PCT/KR2016/008522
Other languages
French (fr)
Korean (ko)
Inventor
이재호
Original Assignee
엘지전자(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자(주) filed Critical 엘지전자(주)
Priority to PCT/KR2016/008522 priority Critical patent/WO2018026028A1/en
Publication of WO2018026028A1 publication Critical patent/WO2018026028A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to a method and apparatus for encoding / decoding a video signal, and more particularly, to a technique for encoding and decoding a residual signal using a sub coefficient group.
  • Compression coding refers to a series of signal processing techniques for transmitting digitized information through a communication line or for storing in a form suitable for a storage medium.
  • Media such as an image, an image, an audio, and the like may be a target of compression encoding.
  • a technique of performing compression encoding on an image is called video image compression.
  • Next-generation video content will be characterized by high spatial resolution, high frame rate and high dimensionality of scene representation. Processing such content would result in a tremendous increase in terms of memory storage, memory access rate, and processing power.
  • the present invention proposes a method for more efficiently processing a complex image.
  • the present invention intends to propose a new residual signal encoding and decoding method in consideration of the characteristics of the residual signal.
  • the present invention proposes a method of dividing and coding one coefficient group (CG) into sub coefficient groups (sub-CG).
  • the present invention proposes a method for implicitly performing coding of a sub coefficient group (sub-CG).
  • the present invention provides a method of designing a coding tool for high efficiency compression.
  • the present invention provides a method for more efficiently processing a complex image.
  • the present invention provides a novel residual signal encoding and decoding method in consideration of the characteristics of the residual signal.
  • the present invention provides a method of dividing and coding one coefficient group (CG) into sub coefficient groups (sub-CG).
  • the present invention provides a method for implicitly performing coding of a sub coefficient group (sub-CG).
  • the present invention provides a method of coding the presence or absence of nonzero coefficients in sub-block units in a transform unit (TU).
  • TU transform unit
  • a new residual signal encoding and decoding method is proposed in consideration of the characteristics of the residual signal, so that a complex image can be processed more efficiently.
  • unnecessary coding bits can be reduced and coding can be performed with fewer bits by dividing one coefficient group (CG) into sub coefficient groups (sub-CG).
  • coding bits can be saved by implicitly performing coding of a sub coefficient group (sub-CG).
  • FIG. 1 is a schematic block diagram of an encoder in which encoding of a video signal is performed as an embodiment to which the present invention is applied.
  • FIG. 2 is a schematic block diagram of a decoder in which decoding of a video signal is performed as an embodiment to which the present invention is applied.
  • FIG. 3 is a diagram for describing a division structure of a coding unit according to an embodiment to which the present invention is applied.
  • FIG. 4 is an embodiment to which the present invention is applied and shows syntax definition of a flag indicating whether a nonzero coefficient exists in a coefficient group and a flag indicating whether a coefficient value is zero.
  • FIG. 5 is a diagram for describing an encoding method when all coefficients in a coefficient group are 0 according to an embodiment to which the present invention is applied.
  • FIG. 6 is a diagram for describing an encoding method when a non-zero coefficient exists among all coefficients in a coefficient group according to an embodiment to which the present invention is applied.
  • FIG. 7 illustrates a syntax definition of a flag indicating whether a non-zero coefficient exists in a sub coefficient group (sub-CG) according to an embodiment to which the present invention is applied.
  • FIG. 8 to 11 illustrate embodiments to which the present invention may be applied, and show examples of a sub coefficient group (sub-CG) in which a non-zero coefficient exists among four sub coefficient groups (sub-CG).
  • sub-CG sub coefficient group
  • FIG. 12 is a diagram for describing the number of coded bits according to the number of sub coefficient groups (sub-CGs) in which a non-zero coefficient exists as an embodiment to which the present invention is applied.
  • FIG. 13 is a diagram for describing a method of implicitly performing coding of a sub coefficient group (sub-CG) as an embodiment to which the present invention is applied.
  • sub-CG sub coefficient group
  • FIG. 15 is a diagram for describing a method of implicitly performing coding of a coefficient group including a last coefficient as another embodiment to which the present invention is applied.
  • FIG. 16 is a flowchart illustrating a method of encoding one coefficient group into a plurality of sub coefficient groups by encoding according to an embodiment to which the present invention is applied.
  • 17 is a flowchart illustrating a method of decoding a video signal encoded using a plurality of sub coefficient groups as an embodiment to which the present invention is applied.
  • the present invention provides a method of encoding a video signal, the method comprising: checking whether a non-zero coefficient exists in a coefficient group for a plurality of coefficient groups in a transform block; Dividing the coefficient group into a plurality of sub coefficient groups when there is a coefficient group including the nonzero coefficient as a result of the checking; Checking whether a non-zero coefficient exists for each of the plurality of sub coefficient groups; And encoding the non-zero coefficient only for the sub coefficient group when the sub coefficient group including the non-zero coefficient exists as a result of the checking. To provide.
  • the method may further include setting a non-zero coefficient flag indicating whether a non-zero coefficient exists in the coefficient group according to the first check result.
  • the method may further include setting a sub non-zero coefficient flag indicating whether a non-zero coefficient exists in the sub coefficient group according to the second check result.
  • non-zero coefficients for the sub coefficient group are encoded using a coefficient value flag.
  • coding bits are different according to the number of sub coefficient groups in which a non-zero coefficient exists among the plurality of sub coefficient groups.
  • a sub non-zero coefficient flag is derived with a value of 1, and the sub non-zero coefficient
  • the flag is characterized by indicating whether there is a non-zero coefficient in the sub coefficient group.
  • a non-zero coefficient exists in the coefficient group, and a non-zero coefficient in the first three sub coefficient groups in the scanning order. If no coefficient exists, a sub non-zero coefficient flag for the last sub coefficient group is derived with a value of 1, and the sub non-zero coefficient flag is derived. zero coefficient flag) is characterized by indicating whether a non-zero coefficient exists in the sub coefficient group.
  • the method may further include encoding position information of a last non-zero coefficient in the transform block.
  • the present invention provides a method of decoding a video signal, the method comprising: receiving a sub non-zero coefficient flag for each sub coefficient group in a transform block from the video signal, wherein the sub non-zero coefficient The flag indicates whether a nonzero coefficient exists in the sub coefficient group; Obtaining a nonzero coefficient present in a sub coefficient group based on the sub nonzero coefficient flag; And performing an inverse transform on the non-zero coefficients.
  • the video signal is characterized by being encoded with a different number of bits according to the number of sub coefficient groups in which the non-zero coefficient exists.
  • the non-zero coefficient is identified by a coefficient value flag.
  • the present invention relates to a device for encoding a video signal, to determine whether a non-zero coefficient exists in a coefficient group for a plurality of coefficient groups in a transform block, and If there is a coefficient group including the nonzero coefficient as a result of the checking, the coefficient group is divided into a plurality of sub coefficient groups, and whether the nonzero coefficient exists for each of the plurality of sub coefficient groups. And a residual signal encoding unit for encoding the non-zero coefficient only for the sub coefficient group when the sub coefficient group including the non-zero coefficient exists as a result of the checking. It provides a device characterized in that.
  • An apparatus for decoding a video signal comprising: an entropy decoding unit for receiving a sub non-zero coefficient flag for each sub coefficient group in a transform block from the video signal; And an inverse transform unit for obtaining a nonzero coefficient existing in the sub coefficient group based on the sub nonzero coefficient flag and performing an inverse transform on the nonzero coefficient, wherein the sub nonzero coefficient flag is a sub coefficient group.
  • An apparatus is provided that indicates whether a nonzero coefficient is present in a channel.
  • terms used in the present invention may be replaced for more appropriate interpretation when there are general terms selected to describe the invention or other terms having similar meanings.
  • signals, data, samples, pictures, frames, blocks, etc. may be appropriately replaced and interpreted in each coding process.
  • partitioning, decomposition, splitting, and division may be appropriately replaced and interpreted in each coding process.
  • FIG. 1 is a schematic block diagram of an encoder in which encoding of a video signal is performed as an embodiment to which the present invention is applied.
  • the encoder 100 may include an image splitter 110, a transformer 120, a quantizer 130, an inverse quantizer 140, an inverse transformer 150, a filter 160, and a decoder. It may include a decoded picture buffer (DPB) 170, an inter predictor 180, an intra predictor 185, and an entropy encoder 190.
  • DPB decoded picture buffer
  • the image divider 110 may divide an input image (or a picture or a frame) input to the encoder 100 into one or more processing units.
  • the processing unit may be a Coding Tree Unit (CTU), a Coding Unit (CU), a Prediction Unit (PU), or a Transform Unit (TU).
  • CTU Coding Tree Unit
  • CU Coding Unit
  • PU Prediction Unit
  • TU Transform Unit
  • the terms are only used for the convenience of description of the present invention, the present invention is not limited to the definition of the terms.
  • the term coding unit is used as a unit used in encoding or decoding a video signal, but the present invention is not limited thereto and may be appropriately interpreted according to the present invention.
  • the encoder 100 may generate a residual signal by subtracting a prediction signal output from the inter predictor 180 or the intra predictor 185 from the input image signal and generate the residual signal.
  • the dual signal is transmitted to the converter 120.
  • the transform unit 120 may generate a transform coefficient by applying a transform technique to the residual signal.
  • the conversion process may be applied to pixel blocks having the same size as the square, or may be applied to blocks of variable size rather than square.
  • the quantization unit 130 may quantize the transform coefficients and transmit the quantized coefficients to the entropy encoding unit 190, and the entropy encoding unit 190 may entropy code the quantized signal and output the bitstream.
  • the quantized signal output from the quantization unit 130 may be used to generate a prediction signal.
  • the quantized signal may restore the residual signal by applying inverse quantization and inverse transformation through an inverse quantization unit 140 and an inverse transformation unit 150 in a loop.
  • a reconstructed signal may be generated by adding the reconstructed residual signal to a prediction signal output from the inter predictor 180 or the intra predictor 185.
  • the filtering unit 160 applies filtering to the reconstruction signal and outputs it to the reproduction apparatus or transmits the decoded picture buffer to the decoding picture buffer 170.
  • the filtered signal transmitted to the decoded picture buffer 170 may be used as the reference picture in the inter predictor 180. As such, by using the filtered picture as a reference picture in the inter prediction mode, not only image quality but also encoding efficiency may be improved.
  • the decoded picture buffer 170 may store the filtered picture for use as a reference picture in the inter prediction unit 180.
  • the inter prediction unit 180 performs temporal prediction and / or spatial prediction to remove temporal redundancy and / or spatial redundancy with reference to a reconstructed picture.
  • the reference picture used to perform the prediction is a transformed signal that has been quantized and dequantized in units of blocks at the time of encoding / decoding, a blocking artifact or a ringing artifact may exist. have.
  • the inter prediction unit 180 may interpolate the signals between pixels in sub-pixel units by applying a lowpass filter in order to solve performance degradation due to discontinuity or quantization of such signals.
  • the subpixels mean virtual pixels generated by applying an interpolation filter
  • the integer pixels mean actual pixels existing in the reconstructed picture.
  • the interpolation method linear interpolation, bi-linear interpolation, wiener filter, or the like may be applied.
  • the interpolation filter may be applied to a reconstructed picture to improve the precision of prediction.
  • the inter prediction unit 180 generates an interpolation pixel by applying an interpolation filter to integer pixels, and uses an interpolated block composed of interpolated pixels as a prediction block. You can make predictions.
  • the intra predictor 185 may predict the current block by referring to samples around the block to which current encoding is to be performed.
  • the intra prediction unit 185 may perform the following process to perform intra prediction. First, reference samples necessary for generating a prediction signal may be prepared. The prediction signal may be generated using the prepared reference sample. Then, the prediction mode is encoded. In this case, the reference sample may be prepared through reference sample padding and / or reference sample filtering. Since the reference sample has been predicted and reconstructed, there may be a quantization error. Accordingly, the reference sample filtering process may be performed for each prediction mode used for intra prediction to reduce such an error.
  • An embodiment of the present invention provides a method of predicting a residual signal generated during intra prediction from an image which is already reconstructed from a surrounding.
  • the region most similar to the surrounding region of the region to be coded is searched in the reconstructed image, and when the region most similar to the region is searched, the prediction residual signal of the region to which the residual signal of the region is currently coded.
  • another embodiment of the present invention may receive the position information most similar to the peripheral region of the region to be coded from the encoder, and utilize the residual signal of the region as a predictive residual signal of the region to be currently coded.
  • a prediction signal generated by the inter predictor 180 or the intra predictor 185 may be used to generate a reconstruction signal or to generate a residual signal.
  • FIG. 2 is a schematic block diagram of a decoder in which decoding of a video signal is performed as an embodiment to which the present invention is applied.
  • the decoder 200 includes an entropy decoding unit 210, an inverse quantizer 220, an inverse transform unit 230, a filtering unit 240, and a decoded picture buffer unit (DPB) 250. ), An inter predictor 260, and an intra predictor 265.
  • the reconstructed video signal output through the decoder 200 may be reproduced through the reproducing apparatus.
  • the decoder 200 may receive a signal output from the encoder 100 of FIG. 1, and the received signal may be entropy decoded through the entropy decoding unit 210.
  • the inverse quantization unit 220 obtains a transform coefficient from the entropy decoded signal using the quantization step size information.
  • the inverse transformer 230 inversely transforms a transform coefficient to obtain a residual signal.
  • a reconstructed signal is generated by adding the obtained residual signal to a prediction signal output from the inter predictor 260 or the intra predictor 265.
  • the filtering unit 240 applies filtering to the reconstructed signal and outputs the filtering to the reproducing apparatus or transmits it to the decoded picture buffer unit 250.
  • the filtered signal transmitted to the decoded picture buffer unit 250 may be used as the reference picture in the inter predictor 260.
  • the embodiments described by the filtering unit 160, the inter prediction unit 180, and the intra prediction unit 185 of the encoder 100 are respectively the filtering unit 240, the inter prediction unit 260, and the decoder. The same may be applied to the intra predictor 265.
  • FIG. 3 is a diagram for describing a division structure of a coding unit according to an embodiment to which the present invention is applied.
  • the encoder may split one image (or picture) in units of a rectangular Coding Tree Unit (CTU).
  • CTU Coding Tree Unit
  • one CTU is sequentially encoded according to a raster scan order.
  • the size of the CTU may be set to any one of 64x64, 32x32, and 16x16, but the present invention is not limited thereto.
  • the encoder may select and use the size of the CTU according to the resolution of the input video or the characteristics of the input video.
  • the CTU may include a coding tree block (CTB) for a luma component and a coding tree block (CTB) for two chroma components corresponding thereto.
  • One CTU may be decomposed into a quadtree (QT) structure.
  • QT quadtree
  • one CTU may be divided into four units having a square shape and each side is reduced by half in length.
  • the decomposition of this QT structure can be done recursively.
  • a root node of a QT may be associated with a CTU.
  • the QT may be split until it reaches a leaf node, where the leaf node may be referred to as a coding unit (CU).
  • CU coding unit
  • a CU may mean a basic unit of coding in which an input image is processed, for example, intra / inter prediction is performed.
  • the CU may include a coding block (CB) for a luma component and a CB for two chroma components corresponding thereto.
  • CB coding block
  • the size of the CU may be determined as any one of 64x64, 32x32, 16x16, and 8x8.
  • the present invention is not limited thereto, and in the case of a high resolution image, the size of the CU may be larger or more diverse.
  • the CTU corresponds to a root node and has the smallest depth (ie, level 0) value.
  • the CTU may not be divided according to the characteristics of the input image. In this case, the CTU corresponds to a CU.
  • the CTU may be decomposed in QT form, and as a result, lower nodes having a depth of level 1 may be generated. And, a node that is no longer partitioned (ie, a leaf node) in a lower node having a depth of level 1 corresponds to a CU.
  • CU (a), CU (b) and CU (j) corresponding to nodes a, b and j are divided once in the CTU and have a depth of level 1.
  • At least one of the nodes having a depth of level 1 may be split into QT again.
  • a node that is no longer partitioned (ie, a leaf node) in a lower node having a level 2 depth corresponds to a CU.
  • CU (c), CU (h), and CU (i) corresponding to nodes c, h and i are divided twice in the CTU and have a depth of level 2.
  • At least one of the nodes having a depth of 2 may be divided into QTs.
  • a node that is no longer partitioned (ie, a leaf node) in a lower node having a depth of level 3 corresponds to a CU.
  • CU (d), CU (e), CU (f), and CU (g) corresponding to nodes d, e, f, and g are divided three times in the CTU, and level 3 Has a depth of
  • the maximum size or the minimum size of the CU may be determined according to characteristics (eg, resolution) of the video image or in consideration of encoding efficiency. Information about this or information capable of deriving the information may be included in the bitstream.
  • a CU having a maximum size may be referred to as a largest coding unit (LCU), and a CU having a minimum size may be referred to as a smallest coding unit (SCU).
  • LCU largest coding unit
  • SCU smallest coding unit
  • a CU having a tree structure may be hierarchically divided with predetermined maximum depth information (or maximum level information).
  • Each partitioned CU may have depth information. Since the depth information indicates the number and / or degree of division of the CU, the depth information may include information about the size of the CU.
  • the size of the SCU can be obtained by using the size and maximum depth information of the LCU. Or conversely, using the size of the SCU and the maximum depth information of the tree, the size of the LCU can be obtained.
  • information indicating whether the corresponding CU is split may be delivered to the decoder.
  • the information may be defined as a split flag and may be represented by a syntax element "split_cu_flag".
  • the division flag may be included in all CUs except the SCU. For example, if the split flag value is '1', the corresponding CU is divided into four CUs again. If the split flag value is '0', the CU is not divided any more and the coding process for the CU is not divided. Can be performed.
  • the division process of the CU has been described as an example, but the QT structure described above may also be applied to the division process of a transform unit (TU) which is a basic unit for performing transformation.
  • TU transform unit
  • the TU may be hierarchically divided into a QT structure from a CU to be coded.
  • a CU may correspond to a root node of a tree for a transform unit (TU).
  • the TU divided from the CU may be divided into smaller lower TUs.
  • the size of the TU may be determined by any one of 32x32, 16x16, 8x8, and 4x4.
  • the present invention is not limited thereto, and in the case of a high resolution image, the size of the TU may be larger or more diverse.
  • information indicating whether the corresponding TU is divided may be delivered to the decoder.
  • the information may be defined as a split transform flag and may be represented by a syntax element "split_transform_flag".
  • the division conversion flag may be included in all TUs except the TU of the minimum size. For example, if the value of the division conversion flag is '1', the corresponding TU is divided into four TUs again. If the value of the division conversion flag is '0', the corresponding TU is no longer divided.
  • a CU is a basic unit of coding in which intra prediction or inter prediction is performed.
  • a CU may be divided into prediction units (PUs).
  • the PU is a basic unit for generating a prediction block, and may generate different prediction blocks in PU units within one CU.
  • the PU may be divided differently according to whether an intra prediction mode or an inter prediction mode is used as a coding mode of a CU to which the PU belongs.
  • FIG. 4 is an embodiment to which the present invention is applied and shows syntax definition of a flag indicating whether a nonzero coefficient exists in a coefficient group and a flag indicating whether a coefficient value is zero.
  • the present invention proposes a new residual signal encoding method in consideration of the characteristics of the residual signal. For example, one coefficient group (CG) may be divided into a plurality of sub-coefficient groups (sub-CG) and encoded. As another example, encoding bits may be reduced by implicitly performing encoding of a sub-coefficient group (sub-CG).
  • CG coefficient group
  • sub-CG sub-coefficient group
  • the residual signal encoding process of the transform unit may be performed as follows. First, the encoder may encode coordinate information of a non-zero transform coefficient located last in a transform unit.
  • the encoder divides a transform unit into 4x4 coefficient groups (CGs) and indicates a nonzero coefficient flag indicating whether a nonzero coefficient exists in each coefficient group (CG).
  • -zero coefficient flag can be encoded.
  • the encoder may encode the absolute value and the sign of the coefficient in the coefficient group (CG) when a non-zero coefficient exists in the coefficient group (CG).
  • One embodiment of the present invention proposes a method for improving the coding of non-zero coefficient flags when non-zero coefficients exist in a coefficient group (CG).
  • CG coefficient group
  • the present invention may define a coefficient value flag indicating whether a coefficient value in a coefficient group (CG) is zero.
  • FIG. 5 is a diagram for describing an encoding method when all coefficients in a coefficient group are 0 according to an embodiment to which the present invention is applied.
  • the present invention proposes a method of improving the coding for at least one of a non-zero coefficient flag or a coefficient value flag.
  • a non-zero coefficient flag and a coefficient value flag are coded according to the present invention.
  • the method is shown. Referring to FIG. 5, since all coefficients in a coefficient group are 0, the non-zero coefficient flag is set to 0, and the coefficient value flag needs to be coded. There is no. Thus, coding bits can be saved.
  • FIG. 6 is a diagram for describing an encoding method when a non-zero coefficient exists among all coefficients in a coefficient group according to an embodiment to which the present invention is applied.
  • the present invention proposes a method for improving the coding of at least one of a non-zero coefficient flag or a coefficient value flag.
  • a non-zero coefficient flag and a coefficient value flag according to the present invention are determined. It shows how to code.
  • the non-zero coefficient flag may be set to one. 6, when the coefficients follow an up-right diagonal scanning order, bits corresponding to the coefficient value flag may be allocated as shown in FIG. 6. .
  • 17 bits may be coded by adding 16 bits of the coefficient value flag and 1 bit of the non-zero coefficient flag.
  • FIG. 7 illustrates a syntax definition of a flag indicating whether a non-zero coefficient exists in a sub coefficient group (sub-CG) according to an embodiment to which the present invention is applied.
  • the present invention provides a method of dividing one coefficient group (CG) into a plurality of sub-coefficient groups (sub-CG).
  • the present invention is not limited thereto, and the sub-coefficient group sub-CG may be divided into sub-sub-cog groups and encoded.
  • the sub-coefficient group may be encoded.
  • -CG may be divided again and encoded.
  • the sub-coefficient group sub-CG is referred to as a first sub-coefficient group 1st sub-CG, and the sub-sub-coefficient group sub-sub-CG is referred to as a second sub-coefficient group 2nd. sub-CG), which is generally referred to as an Nth sub-CG.
  • N may be determined based on the block size, for example, the block size may mean the size of the transform unit.
  • the present invention is not limited thereto, and the block may correspond to any one of various units corresponding to the block.
  • a sub non-zero coefficient flag indicating whether a non-zero coefficient exists in a group may be defined.
  • coded_sub_sub_block_flag 1
  • FIG. 8 to 11 illustrate embodiments to which the present invention may be applied, and show examples of a sub coefficient group (sub-CG) in which a non-zero coefficient exists among four sub coefficient groups (sub-CG).
  • sub-CG sub coefficient group
  • the present invention provides a method of dividing one coefficient group (CG) into a plurality of sub-coefficient groups (sub-CGs), and specifically, a non-zero coefficient flag and a sub nonzero.
  • CG coefficient group
  • sub-CGs sub-coefficient groups
  • a method of encoding using at least one of a sub non-zero coefficient flag is provided.
  • a non-zero coefficient among four sub coefficient groups Represents a method of encoding according to the number of sub coefficient groups present.
  • FIG. 8 illustrates a case where the number of sub coefficient groups in which non-zero coefficients exist is one
  • FIGS. 9 to 11 illustrate two, three, and four cases, respectively.
  • the bits required for encoding are 9 bits and 13 bits, respectively. Thus, coding with fewer bits is possible.
  • FIG. 12 is a diagram for describing the number of coded bits according to the number of sub coefficient groups (sub-CGs) in which a non-zero coefficient exists as an embodiment to which the present invention is applied.
  • the distribution of the test sequence in the HEVC CTC (Common Test Condition) can be obtained.
  • the occurrence probability of the embodiment of FIG. 11, which is the case where encoding is performed using more bits than the embodiment described with reference to FIG. 6, is low.
  • the average predicted bits required based on the probability distribution are obtained, it can be confirmed that encoding is possible using 1.7 bits (17 to 15.3) on average less than the embodiment described with reference to FIG. 6.
  • FIG. 13 is a diagram for describing a method of implicitly performing coding of a sub coefficient group (sub-CG) as an embodiment to which the present invention is applied.
  • An embodiment of the present invention provides coding when the non-zero coefficient flag is 1 and the sub non-zero coefficient flags of the first three sub-coefficient groups in the scanning order are zero.
  • a method is provided to further increase efficiency (ie, further reduce use bits).
  • the last The sub non-zero coefficient flag of the fourth sub coefficient group may implicitly infer that the sub non-zero coefficient flag has a value of 1 without assigning an actual value.
  • the present invention can save one bit additionally used for encoding in such a case. Specific embodiments will be described in detail with reference to FIGS. 14 to 15.
  • sub-CG sub coefficient group
  • FIG. 15 is a diagram for describing a method of implicitly performing coding of a coefficient group including a last coefficient as another embodiment to which the present invention is applied.
  • the non-zero coefficient flag A does not need to be assigned an actual value. It can be implicitly inferred to have a value of.
  • sub non-zero coefficient flag coded_sub_sub_block_flag (B) of the sub coefficient group (sub-CG 4 in FIG. 15) before the last position of the corresponding coefficient group is It can be seen that implicitly 0, and the sub non-zero coefficient flag coded_sub_sub_block_flag (C) value of the sub coefficient group (sub-CG 3 in FIG. 15) at the last position is implicit. It can be seen that 1 is.
  • coded_sub_block_flag in the case of a coefficient group including a DC coefficient, may be implicitly assigned a value of 1 regardless of an actual value, assuming that coded_sub_block_flag has a value of 1.
  • the rest of the process may be applied to the embodiments described herein.
  • embodiments of the present specification may not be applied.
  • FIG. 16 is a flowchart illustrating a method of encoding one coefficient group into a plurality of sub coefficient groups by encoding according to an embodiment to which the present invention is applied.
  • the encoder to which the present invention is applied may check whether a non-zero coefficient exists in a coefficient group with respect to a plurality of coefficient groups in the transform block (S1610).
  • the encoder may set the non-zero coefficient flag to 0 (S1620).
  • the nonzero coefficient flag indicates whether a nonzero coefficient exists in a coefficient group.
  • the encoder may divide the coefficient group into a plurality of sub coefficient groups (S1630).
  • the encoder may determine whether a non-zero coefficient exists for each of the plurality of sub coefficient groups (S1640).
  • the encoder may encode the non-zero coefficient only for the sub coefficient group (S1650).
  • the sub nonzero coefficient flag may be set to one.
  • the encoder may set the sub nonzero coefficient flag to 0 (S1660).
  • the sub nonzero coefficient flag indicates whether a nonzero coefficient exists in a sub coefficient group.
  • a non-zero coefficient for the sub coefficient group may be encoded using a coefficient value flag.
  • coding bits may vary according to the number of sub coefficient groups in which a non-zero coefficient exists among the plurality of sub coefficient groups.
  • a sub non-zero coefficient flag may be derived with a value of 1. This can save coding bits.
  • a non-zero coefficient exists in a coefficient group, and a non-zero coefficient exists in the first three sub coefficient groups in the scanning order. If not present, the sub non-zero coefficient flag for the last sub coefficient group may be derived with a value of 1.
  • the encoding process may be performed by a residual signal encoder (not shown).
  • 17 is a flowchart illustrating a method of decoding a video signal encoded using a plurality of sub coefficient groups as an embodiment to which the present invention is applied.
  • the decoder may receive a sub non-zero coefficient flag for each sub coefficient group in the transform block from the video signal (S1710).
  • the sub nonzero coefficient flag indicates whether a nonzero coefficient exists in a sub coefficient group.
  • the decoder may obtain a non-zero coefficient existing in a sub coefficient group based on the sub nonzero coefficient flag (S1720).
  • the non-zero coefficient may be identified by a coefficient value flag.
  • the decoder may perform inverse transform on the non-zero coefficient.
  • the embodiments described herein may be implemented and performed on a processor, microprocessor, controller, or chip.
  • the functional units illustrated in FIGS. 1 and 2 may be implemented and performed on a computer, a processor, a microprocessor, a controller, or a chip.
  • the decoder and encoder to which the present invention is applied include a multimedia broadcasting transmitting and receiving device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video chat device, a real time communication device such as video communication, a mobile streaming device, Storage media, camcorders, video on demand (VoD) service providing devices, internet streaming service providing devices, three-dimensional (3D) video devices, video telephony video devices, and medical video devices, and the like, for processing video signals and data signals Can be used for
  • the processing method to which the present invention is applied can be produced in the form of a program executed by a computer, and can be stored in a computer-readable recording medium.
  • Multimedia data having a data structure according to the present invention can also be stored in a computer-readable recording medium.
  • the computer readable recording medium includes all kinds of storage devices for storing computer readable data.
  • the computer-readable recording medium may include, for example, a Blu-ray disc (BD), a universal serial bus (USB), a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device. Can be.
  • the computer-readable recording medium also includes media embodied in the form of a carrier wave (eg, transmission over the Internet).
  • the bit stream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.

Landscapes

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

Abstract

The present invention provides a method for encoding a video signal, the method comprising the steps of: determining whether a coefficient group including a non-zero coefficient exists among multiple coefficient groups within a conversion block; when it is determined that the coefficient group including the non-zero coefficient exists, dividing the coefficient group into multiple sub-coefficient groups; determining, for each of the multiple sub-coefficient groups, whether the non-zero coefficient exists in the corresponding sub-coefficient group; and when it is determined that a sub-coefficient group including the non-zero coefficient exists, encoding the non-zero coefficient only for the sub-coefficient group.

Description

서브 계수 그룹을 이용하여 레지듀얼 신호를 인코딩, 디코딩하는 방법 및 장치Method and apparatus for encoding and decoding residual signal using sub coefficient group
본 발명은 비디오 신호의 인코딩/디코딩 방법 및 장치에 관한 것이며, 보다 구체적으로 서브 계수 그룹을 이용하여 레지듀얼 신호를 인코딩, 디코딩하는 기술에 관한 것이다.The present invention relates to a method and apparatus for encoding / decoding a video signal, and more particularly, to a technique for encoding and decoding a residual signal using a sub coefficient group.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 등의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다. Compression coding refers to a series of signal processing techniques for transmitting digitized information through a communication line or for storing in a form suitable for a storage medium. Media such as an image, an image, an audio, and the like may be a target of compression encoding. In particular, a technique of performing compression encoding on an image is called video image compression.
차세대 비디오 컨텐츠는 고해상도(high spatial resolution), 고프레임율(high frame rate) 및 영상 표현의 고차원화(high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장(memory storage), 메모리 액세스율(memory access rate) 및 처리 전력(processing power) 측면에서 엄청난 증가를 가져올 것이다.Next-generation video content will be characterized by high spatial resolution, high frame rate and high dimensionality of scene representation. Processing such content would result in a tremendous increase in terms of memory storage, memory access rate, and processing power.
따라서, 차세대 비디오 컨텐츠를 보다 효율적으로 처리하기 위한 코딩 툴을 디자인할 필요가 있다.Accordingly, there is a need to design coding tools for more efficiently processing next generation video content.
본 발명은 복잡한 영상을 보다 효율적으로 처리할 수 있는 방법을 제안하고자 한다.The present invention proposes a method for more efficiently processing a complex image.
본 발명은 레지듀얼 신호의 특징을 고려하여 새로운 레지듀얼 신호 인코딩 및 디코딩 방법을 제안하고자 한다.The present invention intends to propose a new residual signal encoding and decoding method in consideration of the characteristics of the residual signal.
본 발명은 하나의 계수 그룹(Coefficient Group, CG)을 서브 계수 그룹(sub Coefficient Group, sub-CG)으로 나누어 코딩하는 방법을 제안하고자 한다.The present invention proposes a method of dividing and coding one coefficient group (CG) into sub coefficient groups (sub-CG).
본 발명은 서브 계수 그룹(sub Coefficient Group, sub-CG)의 코딩을 암시적으로 수행하는 방법을 제안하고자 한다.The present invention proposes a method for implicitly performing coding of a sub coefficient group (sub-CG).
상기의 기술적 과제를 해결하기 위해,In order to solve the above technical problem,
본 발명은 고효율 압축을 위한 코딩 도구를 설계하는 방법을 제공한다.The present invention provides a method of designing a coding tool for high efficiency compression.
본 발명은 복잡한 영상을 보다 효율적으로 처리할 수 있는 방법을 제공한다.The present invention provides a method for more efficiently processing a complex image.
본 발명은 레지듀얼 신호의 특징을 고려하여 새로운 레지듀얼 신호 인코딩 및 디코딩 방법을 제공한다.The present invention provides a novel residual signal encoding and decoding method in consideration of the characteristics of the residual signal.
본 발명은 하나의 계수 그룹(Coefficient Group, CG)을 서브 계수 그룹(sub Coefficient Group, sub-CG)으로 나누어 코딩하는 방법을 제공한다.The present invention provides a method of dividing and coding one coefficient group (CG) into sub coefficient groups (sub-CG).
본 발명은 서브 계수 그룹(sub Coefficient Group, sub-CG)의 코딩을 암시적으로 수행하는 방법을 제공한다.The present invention provides a method for implicitly performing coding of a sub coefficient group (sub-CG).
본 발명은 변환 유닛(transform unit, TU) 내 서브 블록 단위로 0이 아닌 계수의 존재 여부를 코딩하는 방법을 제공한다.The present invention provides a method of coding the presence or absence of nonzero coefficients in sub-block units in a transform unit (TU).
본 발명은 레지듀얼 신호의 특징을 고려하여 새로운 레지듀얼 신호 인코딩 및 디코딩 방법을 제안함으로써, 복잡한 영상을 보다 효율적으로 처리할 수 있다.According to the present invention, a new residual signal encoding and decoding method is proposed in consideration of the characteristics of the residual signal, so that a complex image can be processed more efficiently.
또한, 본 발명은 하나의 계수 그룹(Coefficient Group, CG)을 서브 계수 그룹(sub Coefficient Group, sub-CG)로 나누어 코딩함으로써 불필요한 부호화 비트를 줄일 수 있으며 보다 적은 비트로 부호화를 수행할 수 있다.In addition, according to the present invention, unnecessary coding bits can be reduced and coding can be performed with fewer bits by dividing one coefficient group (CG) into sub coefficient groups (sub-CG).
본 발명은 서브 계수 그룹(sub Coefficient Group, sub-CG)의 코딩을 암시적으로 수행함으로써 부호화 비트를 절약할 수 있다.According to the present invention, coding bits can be saved by implicitly performing coding of a sub coefficient group (sub-CG).
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.1 is a schematic block diagram of an encoder in which encoding of a video signal is performed as an embodiment to which the present invention is applied.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.2 is a schematic block diagram of a decoder in which decoding of a video signal is performed as an embodiment to which the present invention is applied.
도 3은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.3 is a diagram for describing a division structure of a coding unit according to an embodiment to which the present invention is applied.
도 4는 본 발명이 적용되는 실시예로서, 계수 그룹(coefficient group) 내 0이 아닌 계수가 존재하는지 여부를 나타내는 플래그 및 계수 값이 0인지 여부를 나타내는 플래그의 신택스 정의를 나타낸다. FIG. 4 is an embodiment to which the present invention is applied and shows syntax definition of a flag indicating whether a nonzero coefficient exists in a coefficient group and a flag indicating whether a coefficient value is zero.
도 5는 본 발명이 적용되는 실시예로서, 계수 그룹(coefficient group) 내의 모든 계수가 0인 경우 부호화 방법을 설명하기 위한 도면이다.FIG. 5 is a diagram for describing an encoding method when all coefficients in a coefficient group are 0 according to an embodiment to which the present invention is applied.
도 6은 본 발명이 적용되는 실시예로서, 계수 그룹(coefficient group) 내의 모든 계수 중 0이 아닌 계수가 존재하는 경우 부호화 방법을 설명하기 위한 도면이다.FIG. 6 is a diagram for describing an encoding method when a non-zero coefficient exists among all coefficients in a coefficient group according to an embodiment to which the present invention is applied.
도 7은 본 발명이 적용되는 실시예로서, 서브 계수 그룹(sub coefficient group, sub-CG) 내 0이 아닌 계수가 존재하는지 여부를 나타내는 플래그의 신택스 정의를 나타낸다.FIG. 7 illustrates a syntax definition of a flag indicating whether a non-zero coefficient exists in a sub coefficient group (sub-CG) according to an embodiment to which the present invention is applied.
도 8 내지 도 11은 본 발명이 적용되는 실시예들로서, 4개의 서브 계수 그룹(sub coefficient group, sub-CG) 중 0이 아닌 계수가 존재하는 서브 계수 그룹(sub coefficient group, sub-CG)의 개수에 따라 부호화하는 방법을 설명하기 위한 도면들이다.8 to 11 illustrate embodiments to which the present invention may be applied, and show examples of a sub coefficient group (sub-CG) in which a non-zero coefficient exists among four sub coefficient groups (sub-CG). A diagram for describing a method of encoding according to the number.
도 12는 본 발명이 적용되는 실시예로서, 0이 아닌 계수가 존재하는 서브 계수 그룹(sub coefficient group, sub-CG)의 개수에 따른 부호화 비트수를 설명하기 위한 도면이다.FIG. 12 is a diagram for describing the number of coded bits according to the number of sub coefficient groups (sub-CGs) in which a non-zero coefficient exists as an embodiment to which the present invention is applied.
도 13은 본 발명이 적용되는 실시예로서, 서브 계수 그룹(sub Coefficient Group, sub-CG)의 코딩을 암시적으로 수행하는 방법을 설명하기 위한 도면이다.FIG. 13 is a diagram for describing a method of implicitly performing coding of a sub coefficient group (sub-CG) as an embodiment to which the present invention is applied.
도 14는 본 발명이 적용되는 실시예로서, 서브 계수 그룹(sub coefficient group, sub-CG) 내 0이 아닌 계수가 존재하는지 여부를 나타내는 플래그를 유도하는 방법을 설명하기 위한 도면이다.14 is a diagram for describing a method of deriving a flag indicating whether a non-zero coefficient exists in a sub coefficient group (sub-CG) according to an embodiment to which the present invention is applied.
도 15는 본 발명이 적용되는 다른 실시예로서, 마지막 계수(last coefficient)가 포함된 계수 그룹(coefficient group, CG)의 코딩을 암시적으로 수행하는 방법을 설명하기 위한 도면이다.FIG. 15 is a diagram for describing a method of implicitly performing coding of a coefficient group including a last coefficient as another embodiment to which the present invention is applied.
도 16은 본 발명이 적용되는 실시예로서, 하나의 계수 그룹을 복수개의 서브 계수 그룹으로 나누어 인코딩하는 방법을 설명하는 흐름도이다.FIG. 16 is a flowchart illustrating a method of encoding one coefficient group into a plurality of sub coefficient groups by encoding according to an embodiment to which the present invention is applied.
도 17은 본 발명이 적용되는 실시예로서, 복수개의 서브 계수 그룹을 이용하여 인코딩된 비디오 신호를 디코딩하는 방법을 설명하는 흐름도이다.17 is a flowchart illustrating a method of decoding a video signal encoded using a plurality of sub coefficient groups as an embodiment to which the present invention is applied.
본 발명은, 비디오 신호를 인코딩하는 방법에 있어서, 변환 블록 내 복수개의 계수 그룹(coefficient group)들에 대해, 계수 그룹 내에 0이 아닌 계수(non-zero coefficient)가 존재하는지 여부를 확인하는 단계; 상기 확인 결과, 상기 0이 아닌 계수를 포함하는 계수 그룹이 존재하는 경우, 상기 계수 그룹을 복수개의 서브 계수 그룹들로 분할하는 단계; 상기 복수개의 서브 계수 그룹들 각각에 대해 상기 0이 아닌 계수가 존재하는지 여부를 확인하는 단계; 및 상기 확인 결과, 상기 0이 아닌 계수를 포함하는 서브 계수 그룹이 존재하는 경우, 상기 서브 계수 그룹에 대해서만 상기 0이 아닌 계수(non-zero coefficient)를 인코딩하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.The present invention provides a method of encoding a video signal, the method comprising: checking whether a non-zero coefficient exists in a coefficient group for a plurality of coefficient groups in a transform block; Dividing the coefficient group into a plurality of sub coefficient groups when there is a coefficient group including the nonzero coefficient as a result of the checking; Checking whether a non-zero coefficient exists for each of the plurality of sub coefficient groups; And encoding the non-zero coefficient only for the sub coefficient group when the sub coefficient group including the non-zero coefficient exists as a result of the checking. To provide.
본 발명에서, 상기 첫번째 확인 결과에 따라, 계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타내는 넌제로 계수 플래그(non-zero coefficient flag)를 설정하는 단계를 더 포함하는 것을 특징으로 한다.In the present invention, the method may further include setting a non-zero coefficient flag indicating whether a non-zero coefficient exists in the coefficient group according to the first check result.
본 발명에서, 상기 두번째 확인 결과에 따라, 서브 계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타내는 서브 넌제로 계수 플래그(sub non-zero coefficient flag)를 설정하는 단계를 더 포함하는 것을 특징으로 한다.In the present invention, the method may further include setting a sub non-zero coefficient flag indicating whether a non-zero coefficient exists in the sub coefficient group according to the second check result. .
본 발명에서, 상기 서브 계수 그룹에 대한 0이 아닌 계수는 계수값 플래그(coefficient value flag)를 이용하여 인코딩되는 것을 특징으로 한다.In the present invention, non-zero coefficients for the sub coefficient group are encoded using a coefficient value flag.
본 발명에서, 상기 복수개의 서브 계수 그룹들 중 0이 아닌 계수가 존재하는 서브 계수 그룹(sub coefficient group)의 개수에 따라 부호화 비트가 다른 것을 특징으로 한다.In the present invention, coding bits are different according to the number of sub coefficient groups in which a non-zero coefficient exists among the plurality of sub coefficient groups.
본 발명에서, 상기 마지막 0이 아닌 계수(last non-zero coefficient)를 포함하는 계수 블록의 경우, 서브 넌제로 계수 플래그(sub non-zero coefficient flag)는 1 값으로 유도되고, 상기 서브 넌제로 계수 플래그(sub non-zero coefficient flag)는 서브 계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타내는 것을 특징으로 한다.In the present invention, in the case of the coefficient block including the last non-zero coefficient, a sub non-zero coefficient flag is derived with a value of 1, and the sub non-zero coefficient The flag (sub non-zero coefficient flag) is characterized by indicating whether there is a non-zero coefficient in the sub coefficient group.
본 발명에서, 상기 계수 그룹(coefficient group) 내에 0이 아닌 계수(non-zero coefficient)가 존재하고, 스캔 순서상 첫 3개의 서브 계수 그룹(sub coefficient group)들 내에 0이 아닌 계수(non-zero coefficient)가 존재하지 않는 경우, 마지막 서브 계수 그룹(last sub coefficient group)에 대한 서브 넌제로 계수 플래그(sub non-zero coefficient flag)는 1 값으로 유도되고, 상기 서브 넌제로 계수 플래그(sub non-zero coefficient flag)는 서브 계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타내는 것을 특징으로 한다.In the present invention, a non-zero coefficient exists in the coefficient group, and a non-zero coefficient in the first three sub coefficient groups in the scanning order. If no coefficient exists, a sub non-zero coefficient flag for the last sub coefficient group is derived with a value of 1, and the sub non-zero coefficient flag is derived. zero coefficient flag) is characterized by indicating whether a non-zero coefficient exists in the sub coefficient group.
본 발명에서, 상기 변환 블록 내 마지막 0이 아닌 계수(last non-zero coefficient)의 위치 정보(position information)를 인코딩하는 단계를 더 포함하는 것을 특징으로 한다.In the present invention, the method may further include encoding position information of a last non-zero coefficient in the transform block.
본 발명은, 비디오 신호를 디코딩하는 방법에 있어서, 상기 비디오 신호로부터 변환 블록 내 각 서브 계수 그룹에 대한 서브 넌제로 계수 플래그(sub non-zero coefficient flag)를 수신하는 단계, 여기서 상기 서브 넌제로 계수 플래그는 서브 계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타냄; 상기 서브 넌제로 계수 플래그에 기초하여 서브 계수 그룹 내에 존재하는 0이 아닌 계수를 획득하는 단계; 및 상기 0이 아닌 계수에 대해 역변환을 수행하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.The present invention provides a method of decoding a video signal, the method comprising: receiving a sub non-zero coefficient flag for each sub coefficient group in a transform block from the video signal, wherein the sub non-zero coefficient The flag indicates whether a nonzero coefficient exists in the sub coefficient group; Obtaining a nonzero coefficient present in a sub coefficient group based on the sub nonzero coefficient flag; And performing an inverse transform on the non-zero coefficients.
본 발명에서, 상기 비디오 신호는, 상기 0이 아닌 계수가 존재하는 서브 계수 그룹(sub coefficient group)의 개수에 따라 다른 비트수로 인코딩된 것을 특징으로 한다.In the present invention, the video signal is characterized by being encoded with a different number of bits according to the number of sub coefficient groups in which the non-zero coefficient exists.
본 발명에서, 상기 0이 아닌 계수는 계수값 플래그(coefficient value flag)에 의해 식별되는 것을 특징으로 한다.In the present invention, the non-zero coefficient is identified by a coefficient value flag.
본 발명은, 비디오 신호를 인코딩하는 장치에 있어서, 변환 블록 내 복수개의 계수 그룹(coefficient group)들에 대해, 계수 그룹 내에 0이 아닌 계수(non-zero coefficient)가 존재하는지 여부를 확인하고, 상기 확인 결과 상기 0이 아닌 계수를 포함하는 계수 그룹이 존재하는 경우, 상기 계수 그룹을 복수개의 서브 계수 그룹들로 분할하고, 상기 복수개의 서브 계수 그룹들 각각에 대해 상기 0이 아닌 계수가 존재하는지 여부를 확인하고, 상기 확인 결과 상기 0이 아닌 계수를 포함하는 서브 계수 그룹이 존재하는 경우, 상기 서브 계수 그룹에 대해서만 상기 0이 아닌 계수(non-zero coefficient)를 인코딩하는 레지듀얼 신호 인코딩부를 포함하는 것을 특징으로 하는 장치를 제공한다.The present invention relates to a device for encoding a video signal, to determine whether a non-zero coefficient exists in a coefficient group for a plurality of coefficient groups in a transform block, and If there is a coefficient group including the nonzero coefficient as a result of the checking, the coefficient group is divided into a plurality of sub coefficient groups, and whether the nonzero coefficient exists for each of the plurality of sub coefficient groups. And a residual signal encoding unit for encoding the non-zero coefficient only for the sub coefficient group when the sub coefficient group including the non-zero coefficient exists as a result of the checking. It provides a device characterized in that.
본 발명은, 비디오 신호를 디코딩하는 장치에 있어서, 상기 비디오 신호로부터 변환 블록 내 각 서브 계수 그룹에 대한 서브 넌제로 계수 플래그(sub non-zero coefficient flag)를 수신하는 엔트로피 디코딩부; 및 상기 서브 넌제로 계수 플래그에 기초하여 서브 계수 그룹 내에 존재하는 0이 아닌 계수를 획득하고, 상기 0이 아닌 계수에 대해 역변환을 수행하는 역변환부를 포함하되, 상기 서브 넌제로 계수 플래그는 서브 계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타내는 것을 특징으로 하는 장치를 제공한다.An apparatus for decoding a video signal, the apparatus comprising: an entropy decoding unit for receiving a sub non-zero coefficient flag for each sub coefficient group in a transform block from the video signal; And an inverse transform unit for obtaining a nonzero coefficient existing in the sub coefficient group based on the sub nonzero coefficient flag and performing an inverse transform on the nonzero coefficient, wherein the sub nonzero coefficient flag is a sub coefficient group. An apparatus is provided that indicates whether a nonzero coefficient is present in a channel.
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 의해서 설명되는 본 발명의 구성과 작용은 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.Hereinafter, the configuration and operation of the embodiments of the present invention with reference to the accompanying drawings, the configuration and operation of the present invention described by the drawings will be described as one embodiment, whereby the technical spirit of the present invention And its core composition and operation are not limited.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.In addition, the terminology used in the present invention was selected as a general term widely used as possible now, in a specific case will be described using terms arbitrarily selected by the applicant. In such a case, since the meaning is clearly described in the detailed description of the part, it should not be interpreted simply by the name of the term used in the description of the present invention, and it should be understood that the meaning of the term should be interpreted. .
또한, 본 발명에서 사용되는 용어들은 발명을 설명하기 위해 선택된 일반적인 용어들이나, 유사한 의미를 갖는 다른 용어가 있는 경우 보다 적절한 해석을 위해 대체 가능할 것이다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다. 또한, 파티셔닝(partitioning), 분해(decomposition), 스플리팅 (splitting) 및 분할(division) 등의 경우에도 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다.In addition, terms used in the present invention may be replaced for more appropriate interpretation when there are general terms selected to describe the invention or other terms having similar meanings. For example, signals, data, samples, pictures, frames, blocks, etc. may be appropriately replaced and interpreted in each coding process. In addition, partitioning, decomposition, splitting, and division may be appropriately replaced and interpreted in each coding process.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.1 is a schematic block diagram of an encoder in which encoding of a video signal is performed as an embodiment to which the present invention is applied.
도 1을 참조하면, 인코더(100)는 영상 분할부(110), 변환부(120), 양자화부(130), 역양자화부(140), 역변환부(150), 필터링부(160), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer)(170), 인터 예측부(180), 인트라 예측부(185) 및 엔트로피 인코딩부(190)를 포함하여 구성될 수 있다.Referring to FIG. 1, the encoder 100 may include an image splitter 110, a transformer 120, a quantizer 130, an inverse quantizer 140, an inverse transformer 150, a filter 160, and a decoder. It may include a decoded picture buffer (DPB) 170, an inter predictor 180, an intra predictor 185, and an entropy encoder 190.
영상 분할부(110)는 인코더(100)에 입력된 입력 영상(Input image)(또는, 픽쳐, 프레임)를 하나 이상의 처리 유닛으로 분할할 수 있다. 예를 들어, 상기 처리 유닛은 코딩 트리 유닛(CTU: Coding Tree Unit), 코딩 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit) 또는 변환 유닛(TU: Transform Unit)일 수 있다. The image divider 110 may divide an input image (or a picture or a frame) input to the encoder 100 into one or more processing units. For example, the processing unit may be a Coding Tree Unit (CTU), a Coding Unit (CU), a Prediction Unit (PU), or a Transform Unit (TU).
다만, 상기 용어들은 본 발명에 대한 설명의 편의를 위해 사용할 뿐이며, 본 발명은 해당 용어의 정의에 한정되지 않는다. 또한, 본 명세서에서는 설명의 편의를 위해, 비디오 신호를 인코딩 또는 디코딩하는 과정에서 이용되는 단위로써 코딩 유닛이라는 용어를 사용하지만, 본 발명은 그에 한정되지 않으며 발명 내용에 따라 적절하게 해석 가능할 것이다.However, the terms are only used for the convenience of description of the present invention, the present invention is not limited to the definition of the terms. In addition, in the present specification, for convenience of description, the term coding unit is used as a unit used in encoding or decoding a video signal, but the present invention is not limited thereto and may be appropriately interpreted according to the present invention.
인코더(100)는 입력 영상 신호에서 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호(prediction signal)를 감산하여 레지듀얼 신호(residual signal)를 생성할 수 있고, 생성된 레지듀얼 신호는 변환부(120)로 전송된다. The encoder 100 may generate a residual signal by subtracting a prediction signal output from the inter predictor 180 or the intra predictor 185 from the input image signal and generate the residual signal. The dual signal is transmitted to the converter 120.
변환부(120)는 레지듀얼 신호에 변환 기법을 적용하여 변환 계수(transform coefficient)를 생성할 수 있다. 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블록에 적용될 수도 있고, 정사각형이 아닌 가변 크기의 블록에도 적용될 수 있다.The transform unit 120 may generate a transform coefficient by applying a transform technique to the residual signal. The conversion process may be applied to pixel blocks having the same size as the square, or may be applied to blocks of variable size rather than square.
양자화부(130)는 변환 계수를 양자화하여 엔트로피 인코딩부(190)로 전송하고, 엔트로피 인코딩부(190)는 양자화된 신호(quantized signal)를 엔트로피 코딩하여 비트스트림으로 출력할 수 있다.The quantization unit 130 may quantize the transform coefficients and transmit the quantized coefficients to the entropy encoding unit 190, and the entropy encoding unit 190 may entropy code the quantized signal and output the bitstream.
양자화부(130)로부터 출력된 양자화된 신호(quantized signal)는 예측 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 신호(quantized signal)는 루프 내의 역양자화부(140) 및 역변환부(150)를 통해 역양자화 및 역변환을 적용함으로써 레지듀얼 신호를 복원할 수 있다. 복원된 레지듀얼 신호를 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성될 수 있다. The quantized signal output from the quantization unit 130 may be used to generate a prediction signal. For example, the quantized signal may restore the residual signal by applying inverse quantization and inverse transformation through an inverse quantization unit 140 and an inverse transformation unit 150 in a loop. A reconstructed signal may be generated by adding the reconstructed residual signal to a prediction signal output from the inter predictor 180 or the intra predictor 185.
한편, 위와 같은 압축 과정에서 인접한 블록들이 서로 다른 양자화 파라미터에 의해 양자화됨으로써 블록 경계가 보이는 열화가 발생될 수 있다. 이러한 현상을 블록킹 열화(blocking artifacts)라고 하며, 이는 화질을 평가하는 중요한 요소 중의 하나이다. 이러한 열화를 줄이기 위해 필터링 과정을 수행할 수 있다. 이러한 필터링 과정을 통해 블록킹 열화를 제거함과 동시에 현재 픽쳐에 대한 오차를 줄임으로써 화질을 향상시킬 수 있게 된다.Meanwhile, in the compression process as described above, adjacent blocks are quantized by different quantization parameters, thereby causing deterioration of the block boundary. This phenomenon is called blocking artifacts, which is one of the important factors in evaluating image quality. In order to reduce such deterioration, a filtering process may be performed. Through this filtering process, the image quality can be improved by removing the blocking degradation and reducing the error of the current picture.
필터링부(160)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼(170)에 전송한다. 복호 픽쳐 버퍼(170)에 전송된 필터링된 신호는 인터 예측부(180)에서 참조 픽쳐로 사용될 수 있다. 이처럼, 필터링된 픽쳐를 화면간 예측 모드에서 참조 픽쳐로 이용함으로써 화질 뿐만 아니라 부호화 효율도 향상시킬 수 있다. The filtering unit 160 applies filtering to the reconstruction signal and outputs it to the reproduction apparatus or transmits the decoded picture buffer to the decoding picture buffer 170. The filtered signal transmitted to the decoded picture buffer 170 may be used as the reference picture in the inter predictor 180. As such, by using the filtered picture as a reference picture in the inter prediction mode, not only image quality but also encoding efficiency may be improved.
복호 픽쳐 버퍼(170)는 필터링된 픽쳐를 인터 예측부(180)에서의 참조 픽쳐로 사용하기 위해 저장할 수 있다.The decoded picture buffer 170 may store the filtered picture for use as a reference picture in the inter prediction unit 180.
인터 예측부(180)는 복원 픽쳐(reconstructed picture)를 참조하여 시간적 중복성 및/또는 공간적 중복성을 제거하기 위해 시간적 예측 및/또는 공간적 예측을 수행한다. 여기서, 예측을 수행하기 위해 이용되는 참조 픽쳐는 이전 시간에 부호화/복호화 시 블록 단위로 양자화와 역양자화를 거친 변환된 신호이기 때문에, 블로킹 아티팩트(blocking artifact)나 링잉 아티팩트(ringing artifact)가 존재할 수 있다. The inter prediction unit 180 performs temporal prediction and / or spatial prediction to remove temporal redundancy and / or spatial redundancy with reference to a reconstructed picture. Here, since the reference picture used to perform the prediction is a transformed signal that has been quantized and dequantized in units of blocks at the time of encoding / decoding, a blocking artifact or a ringing artifact may exist. have.
따라서, 인터 예측부(180)는 이러한 신호의 불연속이나 양자화로 인한 성능 저하를 해결하기 위해, 로우패스 필터(lowpass filter)를 적용함으로써 픽셀들 사이의 신호를 서브 픽셀 단위로 보간할 수 있다. 여기서, 서브 픽셀은 보간 필터를 적용하여 생성된 가상의 화소를 의미하고, 정수 픽셀은 복원된 픽쳐에 존재하는 실제 화소를 의미한다. 보간 방법으로는 선형 보간, 양선형 보간(bi-linear interpolation), 위너 필터(wiener filter) 등이 적용될 수 있다.Accordingly, the inter prediction unit 180 may interpolate the signals between pixels in sub-pixel units by applying a lowpass filter in order to solve performance degradation due to discontinuity or quantization of such signals. Herein, the subpixels mean virtual pixels generated by applying an interpolation filter, and the integer pixels mean actual pixels existing in the reconstructed picture. As the interpolation method, linear interpolation, bi-linear interpolation, wiener filter, or the like may be applied.
보간 필터는 복원 픽쳐(reconstructed picture)에 적용되어 예측의 정밀도를 향상시킬 수 있다. 예를 들어, 인터 예측부(180)는 정수 픽셀에 보간 필터를 적용하여 보간 픽셀을 생성하고, 보간 픽셀들(interpolated pixels)로 구성된 보간 블록(interpolated block)을 예측 블록(prediction block)으로 사용하여 예측을 수행할 수 있다. The interpolation filter may be applied to a reconstructed picture to improve the precision of prediction. For example, the inter prediction unit 180 generates an interpolation pixel by applying an interpolation filter to integer pixels, and uses an interpolated block composed of interpolated pixels as a prediction block. You can make predictions.
인트라 예측부(185)는 현재 부호화를 진행하려고 하는 블록의 주변에 있는 샘플들을 참조하여 현재 블록을 예측할 수 있다. 상기 인트라 예측부(185)는 인트라 예측을 수행하기 위해 다음과 같은 과정을 수행할 수 있다. 먼저, 예측 신호를 생성하기 위해 필요한 참조 샘플을 준비할 수 있다. 그리고, 준비된 참조 샘플을 이용하여 예측 신호를 생성할 수 있다. 이후, 예측 모드를 부호화하게 된다. 이때, 참조 샘플은 참조 샘플 패딩 및/또는 참조 샘플 필터링을 통해 준비될 수 있다. 참조 샘플은 예측 및 복원 과정을 거쳤기 때문에 양자화 에러가 존재할 수 있다. 따라서, 이러한 에러를 줄이기 위해 인트라 예측에 이용되는 각 예측 모드에 대해 참조 샘플 필터링 과정이 수행될 수 있다.The intra predictor 185 may predict the current block by referring to samples around the block to which current encoding is to be performed. The intra prediction unit 185 may perform the following process to perform intra prediction. First, reference samples necessary for generating a prediction signal may be prepared. The prediction signal may be generated using the prepared reference sample. Then, the prediction mode is encoded. In this case, the reference sample may be prepared through reference sample padding and / or reference sample filtering. Since the reference sample has been predicted and reconstructed, there may be a quantization error. Accordingly, the reference sample filtering process may be performed for each prediction mode used for intra prediction to reduce such an error.
본 발명의 일실시예는 인트라 예측 시 발생하는 레지듀얼 신호를 주변의 이미 복원된 영상으로부터 예측하는 방법을 제공한다. An embodiment of the present invention provides a method of predicting a residual signal generated during intra prediction from an image which is already reconstructed from a surrounding.
일실시예로, 코딩하고자 하는 영역의 주변 영역과 가장 유사한 영역을 이미 복원된 영상 내에서 탐색하고, 가장 유사한 영역이 탐색 되었을 경우 해당 영역의 레지듀얼 신호를 현재 코딩하고자 하는 영역의 예측 레지듀얼 신호로 활용할 수 있다.In an embodiment, the region most similar to the surrounding region of the region to be coded is searched in the reconstructed image, and when the region most similar to the region is searched, the prediction residual signal of the region to which the residual signal of the region is currently coded. Can be utilized as
또한, 본 발명의 다른 일실시예는 코딩하고자 하는 영역의 주변 영역과 가장 유사한 위치 정보를 인코더로부터 전송 받아, 해당 영역의 레지듀얼 신호를 현재 코딩하고자 하는 영역의 예측 레지듀얼 신호로 활용할 수 있다.In addition, another embodiment of the present invention may receive the position information most similar to the peripheral region of the region to be coded from the encoder, and utilize the residual signal of the region as a predictive residual signal of the region to be currently coded.
상기 인터 예측부(180) 또는 상기 인트라 예측부(185)를 통해 생성된 예측 신호(prediction signal)는 복원 신호를 생성하기 위해 이용되거나 레지듀얼 신호를 생성하기 위해 이용될 수 있다. A prediction signal generated by the inter predictor 180 or the intra predictor 185 may be used to generate a reconstruction signal or to generate a residual signal.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.2 is a schematic block diagram of a decoder in which decoding of a video signal is performed as an embodiment to which the present invention is applied.
도 2를 참조하면, 디코더(200)는 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 필터링부(240), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer Unit)(250), 인터 예측부(260) 및 인트라 예측부(265)를 포함하여 구성될 수 있다. 2, the decoder 200 includes an entropy decoding unit 210, an inverse quantizer 220, an inverse transform unit 230, a filtering unit 240, and a decoded picture buffer unit (DPB) 250. ), An inter predictor 260, and an intra predictor 265.
그리고, 디코더(200)를 통해 출력된 복원 영상 신호(reconstructed video signal)는 재생 장치를 통해 재생될 수 있다.The reconstructed video signal output through the decoder 200 may be reproduced through the reproducing apparatus.
디코더(200)는 도 1의 인코더(100)로부터 출력된 신호을 수신할 수 있고, 수신된 신호는 엔트로피 디코딩부(210)를 통해 엔트로피 디코딩될 수 있다. The decoder 200 may receive a signal output from the encoder 100 of FIG. 1, and the received signal may be entropy decoded through the entropy decoding unit 210.
역양자화부(220)에서는 양자화 스텝 사이즈 정보를 이용하여 엔트로피 디코딩된 신호로부터 변환 계수(transform coefficient)를 획득한다.The inverse quantization unit 220 obtains a transform coefficient from the entropy decoded signal using the quantization step size information.
역변환부(230)에서는 변환 계수를 역변환하여 레지듀얼 신호(residual signal)를 획득하게 된다. The inverse transformer 230 inversely transforms a transform coefficient to obtain a residual signal.
획득된 레지듀얼 신호를 인터 예측부(260) 또는 인트라 예측부(265)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성된다.A reconstructed signal is generated by adding the obtained residual signal to a prediction signal output from the inter predictor 260 or the intra predictor 265.
필터링부(240)는 복원 신호(reconstructed signal)에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼부(250)에 전송한다. 복호 픽쳐 버퍼부(250)에 전송된 필터링된 신호는 인터 예측부(260)에서 참조 픽쳐로 사용될 수 있다. The filtering unit 240 applies filtering to the reconstructed signal and outputs the filtering to the reproducing apparatus or transmits it to the decoded picture buffer unit 250. The filtered signal transmitted to the decoded picture buffer unit 250 may be used as the reference picture in the inter predictor 260.
본 명세서에서, 인코더(100)의 필터링부(160), 인터 예측부(180) 및 인트라 예측부(185)에서 설명된 실시예들은 각각 디코더의 필터링부(240), 인터 예측부(260) 및 인트라 예측부(265)에도 동일하게 적용될 수 있다.In the present specification, the embodiments described by the filtering unit 160, the inter prediction unit 180, and the intra prediction unit 185 of the encoder 100 are respectively the filtering unit 240, the inter prediction unit 260, and the decoder. The same may be applied to the intra predictor 265.
도 3은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.3 is a diagram for describing a division structure of a coding unit according to an embodiment to which the present invention is applied.
인코더는 하나의 영상(또는 픽쳐)을 사각형 형태의 코딩 트리 유닛(CTU: Coding Tree Unit) 단위로 분할할 수 있다. 그리고, 래스터 스캔 순서(raster scan order)에 따라 하나의 CTU 씩 순차적으로 인코딩한다.The encoder may split one image (or picture) in units of a rectangular Coding Tree Unit (CTU). In addition, one CTU is sequentially encoded according to a raster scan order.
예를 들어, CTU의 크기는 64x64, 32x32, 16x16 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않는다. 인코더는 입력된 영상의 해상도 또는 입력된 영상의 특성 등에 따라 CTU의 크기를 선택하여 사용할 수 있다. CTU은 휘도(luma) 성분에 대한 코딩 트리 블록(CTB: Coding Tree Block)과 이에 대응하는 두 개의 색차(chroma) 성분에 대한 코딩 트리 블록(CTB: Coding Tree Block)을 포함할 수 있다.For example, the size of the CTU may be set to any one of 64x64, 32x32, and 16x16, but the present invention is not limited thereto. The encoder may select and use the size of the CTU according to the resolution of the input video or the characteristics of the input video. The CTU may include a coding tree block (CTB) for a luma component and a coding tree block (CTB) for two chroma components corresponding thereto.
하나의 CTU은 쿼드트리(quadtree, 이하 'QT'라 함) 구조로 분해될 수 있다. 예를 들어, 하나의 CTU은 정사각형 형태를 가지면서 각 변의 길이가 절반씩 감소하는 4개의 유닛으로 분할될 수 있다. 이러한 QT 구조의 분해는 재귀적으로 수행될 수 있다. One CTU may be decomposed into a quadtree (QT) structure. For example, one CTU may be divided into four units having a square shape and each side is reduced by half in length. The decomposition of this QT structure can be done recursively.
도 3을 참조하면, QT의 루트 노드(root node)는 CTU와 관련될 수 있다. QT는 리프 노드(leaf node)에 도달할 때까지 분할될 수 있고, 이때 상기 리프 노드는 코딩 유닛(CU: Coding Unit)으로 지칭될 수 있다. Referring to FIG. 3, a root node of a QT may be associated with a CTU. The QT may be split until it reaches a leaf node, where the leaf node may be referred to as a coding unit (CU).
CU은 입력 영상의 처리 과정, 예컨대 인트라(intra)/인터(inter) 예측이 수행되는 코딩의 기본 단위를 의미할 수 있다. CU은 휘도(luma) 성분에 대한 코딩 블록(CB: Coding Block)과 이에 대응하는 두 개의 색차(chroma) 성분에 대한 CB를 포함할 수 있다. 예를 들어, CU의 크기는 64x64, 32x32, 16x16, 8x8 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않으며, 고해상도 영상일 경우, CU의 크기는 더 커지거나 다양해질 수 있다.A CU may mean a basic unit of coding in which an input image is processed, for example, intra / inter prediction is performed. The CU may include a coding block (CB) for a luma component and a CB for two chroma components corresponding thereto. For example, the size of the CU may be determined as any one of 64x64, 32x32, 16x16, and 8x8. However, the present invention is not limited thereto, and in the case of a high resolution image, the size of the CU may be larger or more diverse.
도 3을 참조하면, CTU는 루트 노드(root node)에 해당되고, 가장 작은 깊이(depth)(즉, 레벨 0) 값을 가진다. 입력 영상의 특성에 따라 CTU가 분할되지 않을 수도 있으며, 이 경우 CTU은 CU에 해당된다. Referring to FIG. 3, the CTU corresponds to a root node and has the smallest depth (ie, level 0) value. The CTU may not be divided according to the characteristics of the input image. In this case, the CTU corresponds to a CU.
CTU은 QT 형태로 분해될 수 있으며, 그 결과 레벨 1의 깊이를 가지는 하위 노드들이 생성될 수 있다. 그리고, 레벨 1의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 a, b 및 j에 대응하는 CU(a), CU(b), CU(j)는 CTU에서 한 번 분할되었으며, 레벨 1의 깊이를 가진다.The CTU may be decomposed in QT form, and as a result, lower nodes having a depth of level 1 may be generated. And, a node that is no longer partitioned (ie, a leaf node) in a lower node having a depth of level 1 corresponds to a CU. For example, in FIG. 3 (b), CU (a), CU (b) and CU (j) corresponding to nodes a, b and j are divided once in the CTU and have a depth of level 1. FIG.
레벨 1의 깊이를 가지는 노드 중 적어도 어느 하나는 다시 QT 형태로 분할될 수 있다. 그리고, 레벨 2의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 c, h 및 i에 대응하는 CU(c), CU(h), CU(i)는 CTU에서 두 번 분할되었으며, 레벨 2의 깊이를 가진다. At least one of the nodes having a depth of level 1 may be split into QT again. And, a node that is no longer partitioned (ie, a leaf node) in a lower node having a level 2 depth corresponds to a CU. For example, in FIG. 3 (b), CU (c), CU (h), and CU (i) corresponding to nodes c, h and i are divided twice in the CTU and have a depth of level 2. FIG.
또한, 레벨 2의 깊이를 가지는 노드 중 적어도 어느 하나는 다시 QT 형태로 분할될 수 있다. 그리고, 레벨 3의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 d, e, f, g에 대응하는 CU(d), CU(e), CU(f), CU(g)는 CTU에서 3번 분할되었으며, 레벨 3의 깊이를 가진다.In addition, at least one of the nodes having a depth of 2 may be divided into QTs. And, a node that is no longer partitioned (ie, a leaf node) in a lower node having a depth of level 3 corresponds to a CU. For example, in FIG. 3 (b), CU (d), CU (e), CU (f), and CU (g) corresponding to nodes d, e, f, and g are divided three times in the CTU, and level 3 Has a depth of
인코더에서는 비디오 영상의 특성(예를 들어, 해상도)에 따라서 혹은 부호화의 효율을 고려하여 CU의 최대 크기 또는 최소 크기를 결정할 수 있다. 그리고, 이에 대한 정보 또는 이를 유도할 수 있는 정보가 비트스트림에 포함될 수 있다. 최대 크기를 가지는 CU를 최대 코딩 유닛(LCU: Largest Coding Unit)이라고 지칭하며, 최소 크기를 가지는 CU를 최소 코딩 유닛(SCU: Smallest Coding Unit)이라고 지칭할 수 있다. In the encoder, the maximum size or the minimum size of the CU may be determined according to characteristics (eg, resolution) of the video image or in consideration of encoding efficiency. Information about this or information capable of deriving the information may be included in the bitstream. A CU having a maximum size may be referred to as a largest coding unit (LCU), and a CU having a minimum size may be referred to as a smallest coding unit (SCU).
또한, 트리 구조를 갖는 CU은 미리 정해진 최대 깊이 정보(또는, 최대 레벨 정보)를 가지고 계층적으로 분할될 수 있다. 그리고, 각각의 분할된 CU은 깊이 정보를 가질 수 있다. 깊이 정보는 CU의 분할된 횟수 및/또는 정도를 나타내므로, CU의 크기에 관한 정보를 포함할 수도 있다.In addition, a CU having a tree structure may be hierarchically divided with predetermined maximum depth information (or maximum level information). Each partitioned CU may have depth information. Since the depth information indicates the number and / or degree of division of the CU, the depth information may include information about the size of the CU.
LCU가 QT 형태로 분할되므로, LCU의 크기 및 최대 깊이 정보를 이용하면 SCU의 크기를 구할 수 있다. 또는 역으로, SCU의 크기 및 트리의 최대 깊이 정보를 이용하면, LCU의 크기를 구할 수 있다.Since the LCU is divided into QT forms, the size of the SCU can be obtained by using the size and maximum depth information of the LCU. Or conversely, using the size of the SCU and the maximum depth information of the tree, the size of the LCU can be obtained.
하나의 CU에 대하여, 해당 CU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_cu_flag"로 표현될 수 있다. 상기 분할 플래그는 SCU을 제외한 모든 CU에 포함될 수 있다. 예를 들어, 상기 분할 플래그의 값이 '1'이면 해당 CU은 다시 4개의 CU으로 나누어지고, 상기 분할 플래그의 값이 '0'이면 해당 CU은 더 이상 나누어지지 않고 해당 CU에 대한 코딩 과정이 수행될 수 있다.For one CU, information indicating whether the corresponding CU is split may be delivered to the decoder. For example, the information may be defined as a split flag and may be represented by a syntax element "split_cu_flag". The division flag may be included in all CUs except the SCU. For example, if the split flag value is '1', the corresponding CU is divided into four CUs again. If the split flag value is '0', the CU is not divided any more and the coding process for the CU is not divided. Can be performed.
앞서 도 3의 실시예에서는 CU의 분할 과정에 대해 예로 들어 설명하였으나, 변환을 수행하는 기본 단위인 변환 유닛(TU: Transform Unit)의 분할 과정에 대해서도 상술한 QT 구조를 적용할 수 있다. In the embodiment of FIG. 3, the division process of the CU has been described as an example, but the QT structure described above may also be applied to the division process of a transform unit (TU) which is a basic unit for performing transformation.
TU는 코딩하려는 CU로부터 QT 구조로 계층적으로 분할될 수 있다. 예를 들어, CU은 변환 유닛(TU)에 대한 트리의 루트 노트(root node)에 해당될 수 있다. The TU may be hierarchically divided into a QT structure from a CU to be coded. For example, a CU may correspond to a root node of a tree for a transform unit (TU).
TU는 QT 구조로 분할되므로 CU로부터 분할된 TU는 다시 더 작은 하위 TU로 분할될 수 있다. 예를 들어, TU의 크기는 32x32, 16x16, 8x8, 4x4 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않으며, 고해상도 영상일 경우, TU의 크기는 더 커지거나 다양해질 수 있다.Since the TU is divided into QT structures, the TU divided from the CU may be divided into smaller lower TUs. For example, the size of the TU may be determined by any one of 32x32, 16x16, 8x8, and 4x4. However, the present invention is not limited thereto, and in the case of a high resolution image, the size of the TU may be larger or more diverse.
하나의 TU에 대하여, 해당 TU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 변환 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_transform_flag"로 표현될 수 있다. For one TU, information indicating whether the corresponding TU is divided may be delivered to the decoder. For example, the information may be defined as a split transform flag and may be represented by a syntax element "split_transform_flag".
상기 분할 변환 플래그는 최소 크기의 TU을 제외한 모든 TU에 포함될 수 있다. 예를 들어, 상기 분할 변환 플래그의 값이 '1'이면 해당 TU은 다시 4개의 TU으로 나누어지고, 상기 분할 변환 플래그의 값이 '0'이면 해당 TU은 더 이상 나누어지지 않는다. The division conversion flag may be included in all TUs except the TU of the minimum size. For example, if the value of the division conversion flag is '1', the corresponding TU is divided into four TUs again. If the value of the division conversion flag is '0', the corresponding TU is no longer divided.
상기에서 설명한 바와 같이, CU는 인트라 예측 또는 인터 예측이 수행되는 코딩의 기본 단위이다. 입력 영상을 보다 효과적으로 코딩하기 위하여 CU를 예측 유닛(PU: Prediction Unit) 단위로 분할할 수 있다. As described above, a CU is a basic unit of coding in which intra prediction or inter prediction is performed. In order to code an input image more effectively, a CU may be divided into prediction units (PUs).
PU는 예측 블록을 생성하는 기본 단위로서, 하나의 CU 내에서도 PU 단위로 서로 다르게 예측 블록을 생성할 수 있다. PU는 PU가 속하는 CU의 코딩 모드로 인트라 예측 모드가 사용되는지 인터 예측 모드가 사용되는지에 따라 상이하게 분할될 수 있다.The PU is a basic unit for generating a prediction block, and may generate different prediction blocks in PU units within one CU. The PU may be divided differently according to whether an intra prediction mode or an inter prediction mode is used as a coding mode of a CU to which the PU belongs.
도 4는 본 발명이 적용되는 실시예로서, 계수 그룹(coefficient group) 내 0이 아닌 계수가 존재하는지 여부를 나타내는 플래그 및 계수 값이 0인지 여부를 나타내는 플래그의 신택스 정의를 나타낸다. FIG. 4 is an embodiment to which the present invention is applied and shows syntax definition of a flag indicating whether a nonzero coefficient exists in a coefficient group and a flag indicating whether a coefficient value is zero.
본 발명은 레지듀얼 신호의 특징을 고려하여 새로운 레지듀얼 신호 부호화 방법을 제안한다. 예를 들어, 하나의 계수 그룹(coefficient group, CG)을 복수개의 서브 계수 그룹(sub-CG)로 나누어 부호화할 수 있다. 다른 예로, 서브 계수 그룹(sub-CG)의 부호화를 암시적으로 수행함으로써 부호화 비트를 줄일 수 있다.The present invention proposes a new residual signal encoding method in consideration of the characteristics of the residual signal. For example, one coefficient group (CG) may be divided into a plurality of sub-coefficient groups (sub-CG) and encoded. As another example, encoding bits may be reduced by implicitly performing encoding of a sub-coefficient group (sub-CG).
변환 유닛(transform unit)의 잔차 신호 부호화 과정은 다음과 같이 수행될 수 있다. 먼저, 인코더는 변환 유닛(transform unit) 내의 가장 마지막에 위치한 0이 아닌 변환 계수(transform coefficient)의 좌표 정보가 부호화될 수 있다. The residual signal encoding process of the transform unit may be performed as follows. First, the encoder may encode coordinate information of a non-zero transform coefficient located last in a transform unit.
그리고, 상기 인코더는 변환 유닛(transform unit)을 4x4 크기의 계수 그룹(coefficient group, CG)으로 나누고 각 계수 그룹(coefficient group, CG) 내에 0이 아닌 계수의 존재 여부를 나타내는 넌제로 계수 플래그(non-zero coefficient flag)를 부호화할 수 있다. 예를 들어, 상기 넌제로 계수 플래그(non-zero coefficient flag)는 coded_sub_block_flag 로 표현될 수 있으며, coded_sub_block_flag = 0 이면 계수 그룹(coefficient group, CG) 내에 0이 아닌 계수가 존재하지 않는 것을 나타내고, coded_sub_block_flag = 1 이면 계수 그룹(coefficient group, CG) 내에 0이 아닌 계수가 존재하는 것을 나타낸다.The encoder divides a transform unit into 4x4 coefficient groups (CGs) and indicates a nonzero coefficient flag indicating whether a nonzero coefficient exists in each coefficient group (CG). -zero coefficient flag) can be encoded. For example, the non-zero coefficient flag may be represented by coded_sub_block_flag. If coded_sub_block_flag = 0, this indicates that there is no non-zero coefficient in the coefficient group (CG), and coded_sub_block_flag = 1 indicates that non-zero coefficients exist in the coefficient group (CG).
상기 인코더는 계수 그룹(coefficient group, CG) 내에 0이 아닌 계수가 존재하는 경우, 계수 그룹(coefficient group, CG) 내의 계수의 절대값과 부호를 부호화할 수 있다. The encoder may encode the absolute value and the sign of the coefficient in the coefficient group (CG) when a non-zero coefficient exists in the coefficient group (CG).
본 발명의 일실시예는 계수 그룹(coefficient group, CG) 내에 0이 아닌 계수가 존재하는 경우 넌제로 계수 플래그(non-zero coefficient flag)의 코딩을 개선하는 방법을 제안한다. One embodiment of the present invention proposes a method for improving the coding of non-zero coefficient flags when non-zero coefficients exist in a coefficient group (CG).
또한, 본 발명은 계수 그룹(coefficient group, CG) 내의 계수 값이 0인지 여부를 나타내는 계수값 플래그를 정의할 수 있다. 예를 들어, 상기 도 4를 살펴보면, 상기 계수값 플래그(coefficient value flag)는 sig_coefficient_flag 로 표현될 수 있다. sig_coefficient_flag = 0 이면, 계수 그룹(coefficient group, CG) 내의 계수 값이 0 임을 나타내고, sig_coefficient_flag = 1 이면, 계수 그룹(coefficient group, CG) 내의 계수 값이 0 이 아닌 것을 나타낼 수 있다. 이는 일실시예에 불과할 뿐이며, 본 발명은 이에 한정되지 않으며, 상기 계수값 플래그는 다른 값을 갖도록 설정될 수도 있다.In addition, the present invention may define a coefficient value flag indicating whether a coefficient value in a coefficient group (CG) is zero. For example, referring to FIG. 4, the coefficient value flag may be expressed as sig_coefficient_flag. If sig_coefficient_flag = 0, this may indicate that a coefficient value in a coefficient group (CG) is 0. If sig_coefficient_flag = 1, this may indicate that a coefficient value in a coefficient group (CG) is not zero. This is only an example, and the present invention is not limited thereto, and the count value flag may be set to have a different value.
도 5는 본 발명이 적용되는 실시예로서, 계수 그룹(coefficient group) 내의 모든 계수가 0인 경우 부호화 방법을 설명하기 위한 도면이다.FIG. 5 is a diagram for describing an encoding method when all coefficients in a coefficient group are 0 according to an embodiment to which the present invention is applied.
본 발명은 넌제로 계수 플래그(non-zero coefficient flag) 또는 계수값 플래그(coefficient value flag) 중 적어도 하나에 대한 코딩을 개선하는 방법을 제안한다. The present invention proposes a method of improving the coding for at least one of a non-zero coefficient flag or a coefficient value flag.
예를 들어, 상기 도 5를 살펴보면, 계수 그룹(coefficient group) 내의 모든 계수가 0인 경우 본 발명에 따라 넌제로 계수 플래그(non-zero coefficient flag) 및 계수값 플래그(coefficient value flag)를 코딩하는 방법을 나타낸다. 상기 도 5를 살펴보면, 계수 그룹(coefficient group) 내의 모든 계수가 0이므로, 상기 넌제로 계수 플래그(non-zero coefficient flag)는 0으로 설정되고, 상기 계수값 플래그(coefficient value flag)는 코딩할 필요가 없다. 따라서, 코딩 비트를 절약할 수 있게 된다.For example, referring to FIG. 5, when all coefficients in a coefficient group are 0, a non-zero coefficient flag and a coefficient value flag are coded according to the present invention. The method is shown. Referring to FIG. 5, since all coefficients in a coefficient group are 0, the non-zero coefficient flag is set to 0, and the coefficient value flag needs to be coded. There is no. Thus, coding bits can be saved.
도 6은 본 발명이 적용되는 실시예로서, 계수 그룹(coefficient group) 내의 모든 계수 중 0이 아닌 계수가 존재하는 경우 부호화 방법을 설명하기 위한 도면이다.FIG. 6 is a diagram for describing an encoding method when a non-zero coefficient exists among all coefficients in a coefficient group according to an embodiment to which the present invention is applied.
본 발명은 넌제로 계수 플래그(non-zero coefficient flag) 또는 계수값 플래그(coefficient value flag) 중 적어도 하나의 코딩을 개선하는 방법을 제안한다. The present invention proposes a method for improving the coding of at least one of a non-zero coefficient flag or a coefficient value flag.
예를 들어, 상기 도 6을 살펴보면, 계수 그룹(coefficient group) 내에 0이 아닌 계수가 존재하는 경우 본 발명에 따라 넌제로 계수 플래그(non-zero coefficient flag) 및 계수값 플래그(coefficient value flag)를 코딩하는 방법을 나타낸다. For example, referring to FIG. 6, if a non-zero coefficient exists in a coefficient group, a non-zero coefficient flag and a coefficient value flag according to the present invention are determined. It shows how to code.
먼저, 계수 그룹(coefficient group) 내에 0이 아닌 계수가 존재하므로, 상기 넌제로 계수 플래그(non-zero coefficient flag)는 1로 설정될 수 있다. 그리고, 상기 도 6을 살펴보면, 계수들이 상우측 대각 스캔 오더(up-right diagonal scanning order)를 따르는 경우, 상기 계수값 플래그(coefficient value flag)에 대응되는 비트는 상기 도 6과 같이 할당될 수 있다.First, since a non-zero coefficient exists in a coefficient group, the non-zero coefficient flag may be set to one. 6, when the coefficients follow an up-right diagonal scanning order, bits corresponding to the coefficient value flag may be allocated as shown in FIG. 6. .
이 경우, 상기 계수값 플래그(coefficient value flag)에 대한 16비트와 상기 넌제로 계수 플래그(non-zero coefficient flag)에 대한 1비트를 더한 17비트를 코딩하면 된다.In this case, 17 bits may be coded by adding 16 bits of the coefficient value flag and 1 bit of the non-zero coefficient flag.
도 7은 본 발명이 적용되는 실시예로서, 서브 계수 그룹(sub coefficient group, sub-CG) 내 0이 아닌 계수가 존재하는지 여부를 나타내는 플래그의 신택스 정의를 나타낸다.FIG. 7 illustrates a syntax definition of a flag indicating whether a non-zero coefficient exists in a sub coefficient group (sub-CG) according to an embodiment to which the present invention is applied.
본 발명은 하나의 계수 그룹(coefficient group, CG)을 복수개의 서브 계수 그룹(sub-CG)로 나누어 부호화하는 방법을 제공한다. 다만, 본 발명은 이에 한정되지 않으며, 상기 서브 계수 그룹(sub-CG)을 다시 서브-서브 계수 그룹(sub-sub-CG)으로 나누어 부호화할 수도 있으며, 상기 서브-서브 계수 그룹(sub-sub-CG)을 다시 나누어 부호화할 수도 있다. The present invention provides a method of dividing one coefficient group (CG) into a plurality of sub-coefficient groups (sub-CG). However, the present invention is not limited thereto, and the sub-coefficient group sub-CG may be divided into sub-sub-cog groups and encoded. The sub-coefficient group may be encoded. -CG) may be divided again and encoded.
본 명세서에서는, 편의상 상기 서브 계수 그룹(sub-CG)을 제 1 서브 계수 그룹(1st sub-CG)이라 하고, 상기 서브-서브 계수 그룹(sub-sub-CG)을 제 2 서브 계수 그룹(2nd sub-CG)이라 하며, 이를 일반적으로 제 N 서브 계수 그룹(Nth sub-CG)이라 부르기로 한다. 여기서, 상기 N은 블록 사이즈에 기초하여 결정될 수 있으며, 예를 들어 상기 블록 사이즈는 변환 유닛의 사이즈를 의미할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 상기 블록은 블록에 대응되는 다양한 유닛들 중의 어느 하나에 대응될 수 있다.In the present specification, the sub-coefficient group sub-CG is referred to as a first sub-coefficient group 1st sub-CG, and the sub-sub-coefficient group sub-sub-CG is referred to as a second sub-coefficient group 2nd. sub-CG), which is generally referred to as an Nth sub-CG. Here, N may be determined based on the block size, for example, the block size may mean the size of the transform unit. However, the present invention is not limited thereto, and the block may correspond to any one of various units corresponding to the block.
본 발명의 일실시예로, 계수 그룹(coefficient group)을 4x4 블록 크기로 정의하는 경우, 넌제로 계수 플래그(non-zero coefficient flag) coded_sub_block_flag = 0 인 경우 오직 1비트만으로 계수 그룹(coefficient group) 내의 계수가 모두 0임을 표현할 수 있고, 따라서 효과적인 부호화 수행이 가능하다. 그러나, 넌제로 계수 플래그(non-zero coefficient flag) coded_sub_block_flag = 1 인 경우 16개의 계수 각각에 대해 부호화를 수행해야 하기 때문에 상대적으로 부호화 효율이 떨어질 수 있다. 또한, 계수 그룹(coefficient group) 내에 0이 아닌 계수가 존재하더라도 (coded_sub_block_flag = 1), 대부분의 계수는 0임을 확인할 수 있다. In an embodiment of the present invention, when a coefficient group is defined as a 4x4 block size, only 1 bit is included in the coefficient group when the non-zero coefficient flag coded_sub_block_flag = 0. It can be expressed that the coefficients are all 0, and thus, efficient encoding can be performed. However, in the case of non-zero coefficient flag coded_sub_block_flag = 1, coding efficiency may be relatively low because encoding should be performed on each of 16 coefficients. In addition, even if a non-zero coefficient exists in a coefficient group (coded_sub_block_flag = 1), it can be confirmed that most coefficients are zero.
따라서, 본 발명은 넌제로 계수 플래그(non-zero coefficient flag) coded_sub_block_flag = 1인 경우, 계수 그룹(coefficient group)을 2x2의 서브 계수 그룹(sub-coefficient group)으로 나누고 각 서브 계수 그룹(sub-coefficient group) 내에 0이 아닌 계수가 존재하는지 여부를 나타내는 서브 넌제로 계수 플래그(sub non-zero coefficient flag)를 정의할 수 있다.Accordingly, the present invention divides a coefficient group into 2x2 sub-coefficient groups when the non-zero coefficient flag coded_sub_block_flag = 1, and sub-coefficients of each sub-coefficient. A sub non-zero coefficient flag indicating whether a non-zero coefficient exists in a group may be defined.
예를 들어, 상기 도 7을 살펴보면, 상기 서브 넌제로 계수 플래그(sub non-zero coefficient flag)는 coded_sub_sub_block_flag 로 표현될 수 있으며, coded_sub_sub_block_flag = 0 이면 서브 계수 그룹(sub coefficient group) 내에 0이 아닌 계수가 존재하지 않는 것, 즉 모든 계수가 0인 것을 나타내고, coded_sub_sub_block_flag = 1 이면 서브 계수 그룹(sub coefficient group) 내에 0이 아닌 계수가 존재하는 것을 나타낸다.For example, referring to FIG. 7, the sub non-zero coefficient flag may be represented by coded_sub_sub_block_flag. If coded_sub_sub_block_flag = 0, a non-zero coefficient in the sub coefficient group is 0. That is, there is no coefficient, that is, all coefficients are zero, and if coded_sub_sub_block_flag = 1, it indicates that a non-zero coefficient exists in the sub coefficient group.
coded_sub_sub_block_flag = 1 인 경우 계수값 플래그(coefficient value flag) sig_coefficient_flag 를 부호화하고, coded_sub_sub_block_flag = 0 인 경우 서브 계수 그룹(sub coefficient group) 내의 모든 계수는 0이기 때문에 계수값 플래그(coefficient value flag) sig_coefficient_flag 의 부호화를 생략할 수 있다.If coded_sub_sub_block_flag = 1, the coefficient value flag sig_coefficient_flag is encoded. If coded_sub_sub_block_flag = 0, all coefficients in the sub coefficient group are 0, so encoding of the coefficient value flag sig_coefficient_flag is performed. Can be omitted.
도 8 내지 도 11은 본 발명이 적용되는 실시예들로서, 4개의 서브 계수 그룹(sub coefficient group, sub-CG) 중 0이 아닌 계수가 존재하는 서브 계수 그룹(sub coefficient group, sub-CG)의 개수에 따라 부호화하는 방법을 설명하기 위한 도면들이다.8 to 11 illustrate embodiments to which the present invention may be applied, and show examples of a sub coefficient group (sub-CG) in which a non-zero coefficient exists among four sub coefficient groups (sub-CG). A diagram for describing a method of encoding according to the number.
본 발명은 하나의 계수 그룹(coefficient group, CG)을 복수개의 서브 계수 그룹(sub-CG)로 나누어 부호화하는 방법을 제공하며, 구체적으로 넌제로 계수 플래그(non-zero coefficient flag) 및 서브 넌제로 계수 플래그(sub non-zero coefficient flag) 중 적어도 하나를 이용하여 부호화하는 방법을 제공한다.The present invention provides a method of dividing one coefficient group (CG) into a plurality of sub-coefficient groups (sub-CGs), and specifically, a non-zero coefficient flag and a sub nonzero. A method of encoding using at least one of a sub non-zero coefficient flag is provided.
예를 들어, 도 8 내지 도 11을 살펴보면, 계수 그룹(coefficient group)을 4개의 서브 계수 그룹(sub coefficient group)들로 나누었을 경우 4개의 서브 계수 그룹(sub coefficient group)들 중 0이 아닌 계수가 존재하는 서브 계수 그룹(sub coefficient group)의 개수에 따라 부호화하는 방법을 나타낸다.For example, referring to FIGS. 8 to 11, when a coefficient group is divided into four sub coefficient groups, a non-zero coefficient among four sub coefficient groups Represents a method of encoding according to the number of sub coefficient groups present.
도 8은 0이 아닌 계수가 존재하는 서브 계수 그룹(sub coefficient group)의 개수가 1개인 경우를 나타내고, 도 9 내지 도 11은 각각 2개, 3개, 4개인 경우를 나타낸다.FIG. 8 illustrates a case where the number of sub coefficient groups in which non-zero coefficients exist is one, and FIGS. 9 to 11 illustrate two, three, and four cases, respectively.
상기 도 8 및 도 9에서와 같이, coded_sub_sub_block_flag = 1 인 서브 계수 그룹(sub coefficient group)의 개수가 1개인 경우와 2개인 경우 각각 부호화에 필요한 비트는 9비트와 13비트이다. 따라서, 보다 적은 비트로 부호화가 가능하다. As shown in FIG. 8 and FIG. 9, in the case where the number of sub coefficient groups having coded_sub_sub_block_flag = 1 is 1 and 2, the bits required for encoding are 9 bits and 13 bits, respectively. Thus, coding with fewer bits is possible.
다만, 도 10에서와 같이, coded_sub_sub_block_flag = 1 인 서브 계수 그룹(sub coefficient group)의 개수가 3개인 경우는 상기 도 6에서 설명한 실시예에서와 같은 17 비트가 필요하기 때문에 부호화 비트상의 이득은 없다.However, as shown in FIG. 10, when the number of sub coefficient groups having coded_sub_sub_block_flag = 1 is three, 17 bits are required as in the embodiment described with reference to FIG. 6, and thus there is no gain on coding bits.
또한, 도 11에서와 같이, coded_sub_sub_block_flag = 1 인 서브 계수 그룹(sub coefficient group)의 개수가 4개인 경우에는 21 비트가 필요하기 때문에 상기 도 6에서 설명한 실시예보다 더 많은 비트가 필요함을 확인할 수 있다. In addition, as shown in FIG. 11, when the number of sub coefficient groups having coded_sub_sub_block_flag = 1 is 4, 21 bits are required, and thus, more bits may be needed than the embodiment described with reference to FIG. 6. .
도 12는 본 발명이 적용되는 실시예로서, 0이 아닌 계수가 존재하는 서브 계수 그룹(sub coefficient group, sub-CG)의 개수에 따른 부호화 비트수를 설명하기 위한 도면이다.FIG. 12 is a diagram for describing the number of coded bits according to the number of sub coefficient groups (sub-CGs) in which a non-zero coefficient exists as an embodiment to which the present invention is applied.
상기 도 8 내지 도 11에서 설명한 4가지 경우에 대해 HEVC CTC(Common Test Condition)에서의 테스트 시퀀스(test sequence)에 대한 통계를 구해보면 도 12와 같은 분포를 확인할 수 있다. For the four cases described with reference to FIG. 8 to FIG. 11, the distribution of the test sequence in the HEVC CTC (Common Test Condition) can be obtained.
상기 도 12를 살펴보면, 상기 도 6에서 설명한 실시예보다 더 많은 비트를 사용하여 부호화해야 하는 경우인 상기 도 11의 실시예의 발생 확률이 낮음을 확인할 수 있다. 또한, 이러한 확률 분포를 기준으로 소요되는 평균 예상 비트를 구해보면, 상기 도 6에서 설명한 실시예보다 평균적으로 1.7 비트 (17 ? 15.3) 적게 사용하여 부호화가 가능함을 확인할 수 있다.Referring to FIG. 12, it can be seen that the occurrence probability of the embodiment of FIG. 11, which is the case where encoding is performed using more bits than the embodiment described with reference to FIG. 6, is low. In addition, when the average predicted bits required based on the probability distribution are obtained, it can be confirmed that encoding is possible using 1.7 bits (17 to 15.3) on average less than the embodiment described with reference to FIG. 6.
도 13은 본 발명이 적용되는 실시예로서, 서브 계수 그룹(sub Coefficient Group, sub-CG)의 코딩을 암시적으로 수행하는 방법을 설명하기 위한 도면이다.FIG. 13 is a diagram for describing a method of implicitly performing coding of a sub coefficient group (sub-CG) as an embodiment to which the present invention is applied.
본 발명의 실시예는, 넌제로 계수 플래그(non-zero coefficient flag)가 1이고, 스캔 순서상 첫 3개의 서브 계수 그룹의 서브 넌제로 계수 플래그(sub non-zero coefficient flag)들이 0인 경우 코딩 효율을 더욱 높이기 위한 (즉, 사용 비트를 더욱 줄이기 위한) 방법을 제공한다.An embodiment of the present invention provides coding when the non-zero coefficient flag is 1 and the sub non-zero coefficient flags of the first three sub-coefficient groups in the scanning order are zero. A method is provided to further increase efficiency (ie, further reduce use bits).
예를 들어, 넌제로 계수 플래그(non-zero coefficient flag) coded_sub_block_flag = 1 이고 스캔 순서상 첫 3개의 서브 계수 그룹의 서브 넌제로 계수 플래그(sub non-zero coefficient flag)들 coded_sub_sub_block_flag = 0 인 경우, 마지막 4번째 서브 계수 그룹의 서브 넌제로 계수 플래그(sub non-zero coefficient flag)는 실제 값을 할당하지 않아도 1의 값을 가짐을 암시적으로 유추할 수 있다. For example, if the non-zero coefficient flag coded_sub_block_flag = 1 and the sub non-zero coefficient flags coded_sub_sub_block_flag = 0 of the first three sub coefficient group in the scan order, the last The sub non-zero coefficient flag of the fourth sub coefficient group may implicitly infer that the sub non-zero coefficient flag has a value of 1 without assigning an actual value.
따라서, 본 발명은 이러한 경우에 추가적으로 부호화에 사용되는 1 비트를 절약할 수 있다. 구체적인 실시예는 도 14 내지 도 15에서 상세히 설명하도록 한다.Therefore, the present invention can save one bit additionally used for encoding in such a case. Specific embodiments will be described in detail with reference to FIGS. 14 to 15.
도 14는 본 발명이 적용되는 실시예로서, 서브 계수 그룹(sub coefficient group, sub-CG) 내 0이 아닌 계수가 존재하는지 여부를 나타내는 플래그를 유도하는 방법을 설명하기 위한 도면이다.14 is a diagram for describing a method of deriving a flag indicating whether a non-zero coefficient exists in a sub coefficient group (sub-CG) according to an embodiment to which the present invention is applied.
상기 도 13의 실시예에서와 같이, 도 14의 실시예는 넌제로 계수 플래그(non-zero coefficient flag) coded_sub_block_flag = 1 이고 스캔 순서상 첫 3개의 서브 계수 그룹의 서브 넌제로 계수 플래그(sub non-zero coefficient flag)들 coded_sub_sub_block_flag = 0 인 경우, 마지막 4번째 서브 계수 그룹의 서브 넌제로 계수 플래그(sub non-zero coefficient flag)를 유도하는 방법을 나타낸다.As in the embodiment of FIG. 13, the embodiment of FIG. 14 has a non-zero coefficient flag coded_sub_block_flag = 1 and a sub non-zero coefficient flag of the first three sub coefficient groups in the scanning order. When zero coefficient flags) coded_sub_sub_block_flag = 0, this indicates a method of deriving a sub non-zero coefficient flag of the last fourth sub coefficient group.
즉, 마지막 4번째 서브 계수 그룹의 서브 넌제로 계수 플래그(sub non-zero coefficient flag)를 coded_sub_sub_block_flag[3] 라 하면, coded_sub_sub_block_flag[3]는 coded_sub_block_flag = 1 이고(S1410), 첫 3개의 서브 계수 그룹의 서브 넌제로 계수 플래그들이 모두 coded_sub_sub_block_flag[0]==0 && coded_sub_sub_block_flag[0]==0 && coded_sub_sub_block_flag[0]==0 을 만족하는 경우(S1420, S1430, S1440), coded_sub_sub_block_flag[3] = 1 로 유도될 수 있다.That is, if the sub non-zero coefficient flag of the last fourth sub coefficient group is coded_sub_sub_block_flag [3], coded_sub_sub_block_flag [3] is coded_sub_block_flag = 1 (S1410), and the first three sub coefficient groups If all of the sub nonzero coefficient flags satisfy coded_sub_sub_block_flag [0] == 0 && coded_sub_sub_block_flag [0] == 0 && coded_sub_sub_block_flag [0] == 0 (S1420, S1430, S1440), lead to coded_sub_sub_block_flag [3] = 1 Can be.
도 15는 본 발명이 적용되는 다른 실시예로서, 마지막 계수(last coefficient)가 포함된 계수 그룹(coefficient group, CG)의 코딩을 암시적으로 수행하는 방법을 설명하기 위한 도면이다.FIG. 15 is a diagram for describing a method of implicitly performing coding of a coefficient group including a last coefficient as another embodiment to which the present invention is applied.
본 발명은, 마지막 계수(last coefficient)가 포함된 계수 그룹(coefficient group) (도 15에서 CG 0)의 경우 넌제로 계수 플래그(non-zero coefficient flag)(A)는 실제 값을 할당하지 않아도 1의 값을 가짐을 암시적으로 유추할 수 있다.According to the present invention, in the case of a coefficient group including the last coefficient (CG 0 in FIG. 15), the non-zero coefficient flag A does not need to be assigned an actual value. It can be implicitly inferred to have a value of.
또한, 해당 계수 그룹(coefficient group)의 마지막 위치 이전의 서브 계수 그룹(sub coefficient group) (도 15에서 sub-CG 4)의 서브 넌제로 계수 플래그(sub non-zero coefficient flag) coded_sub_sub_block_flag (B)는 암시적으로 0임을 알 수 있고, 마지막 위치의 서브 계수 그룹(sub coefficient group) (도 15에서 sub-CG 3)의 서브 넌제로 계수 플래그(sub non-zero coefficient flag) coded_sub_sub_block_flag (C)값은 암시적으로 1임을 알 수 있다. Further, the sub non-zero coefficient flag coded_sub_sub_block_flag (B) of the sub coefficient group (sub-CG 4 in FIG. 15) before the last position of the corresponding coefficient group is It can be seen that implicitly 0, and the sub non-zero coefficient flag coded_sub_sub_block_flag (C) value of the sub coefficient group (sub-CG 3 in FIG. 15) at the last position is implicit. It can be seen that 1 is.
따라서, 상기 도 15에서와 같이, 위에서 설명한 위치(A, B, C)의 비트는 부호화하지 않으므로 비트수를 절약할 수 있다. Therefore, as shown in FIG. 15, since the bits of the positions A, B, and C described above are not encoded, the number of bits can be saved.
본 발명의 다른 실시예로, DC 계수를 포함하는 계수 그룹(coefficient group)의 경우 coded_sub_block_flag는 1의 값을 갖는다고 가정하고 실제값과 상관없이 무조건 1의 값을 암시적으로 할당할 수 있다. 나머지 과정은 본 명세서에서 설명한 실시예들이 적용될 수 있다. 또는, DC 계수를 포함하는 계수 그룹(coefficient group)의 경우 본 명세서의 실시예들을 적용하지 않을 수 있다.In another embodiment of the present invention, in the case of a coefficient group including a DC coefficient, coded_sub_block_flag may be implicitly assigned a value of 1 regardless of an actual value, assuming that coded_sub_block_flag has a value of 1. The rest of the process may be applied to the embodiments described herein. Alternatively, in the case of a coefficient group including a DC coefficient, embodiments of the present specification may not be applied.
도 16은 본 발명이 적용되는 실시예로서, 하나의 계수 그룹을 복수개의 서브 계수 그룹으로 나누어 인코딩하는 방법을 설명하는 흐름도이다.FIG. 16 is a flowchart illustrating a method of encoding one coefficient group into a plurality of sub coefficient groups by encoding according to an embodiment to which the present invention is applied.
본 발명이 적용되는 인코더는, 변환 블록 내 복수개의 계수 그룹(coefficient group)들에 대해, 계수 그룹 내에 0이 아닌 계수(non-zero coefficient)가 존재하는지 여부를 확인할 수 있다(S1610).The encoder to which the present invention is applied may check whether a non-zero coefficient exists in a coefficient group with respect to a plurality of coefficient groups in the transform block (S1610).
상기 확인 결과, 계수 그룹 내에 0이 아닌 계수(non-zero coefficient)가 존재하지 않는 경우, 상기 인코더는 넌제로 계수 플래그를 0으로 설정할 수 있다(S1620). 여기서, 상기 넌제로 계수 플래그는 계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타낸다.As a result of the check, when the non-zero coefficient does not exist in the coefficient group, the encoder may set the non-zero coefficient flag to 0 (S1620). Here, the nonzero coefficient flag indicates whether a nonzero coefficient exists in a coefficient group.
반면, 상기 확인 결과, 계수 그룹 내에 0이 아닌 계수(non-zero coefficient)가 존재하는 경우, 상기 인코더는 상기 계수 그룹을 복수개의 서브 계수 그룹들로 분할할 수 있다(S1630).On the other hand, if a non-zero coefficient exists in the coefficient group as a result of the check, the encoder may divide the coefficient group into a plurality of sub coefficient groups (S1630).
그리고, 상기 인코더는 상기 복수개의 서브 계수 그룹들 각각에 대해 상기 0이 아닌 계수가 존재하는지 여부를 확인할 수 있다(S1640).In addition, the encoder may determine whether a non-zero coefficient exists for each of the plurality of sub coefficient groups (S1640).
상기 확인 결과, 상기 0이 아닌 계수를 포함하는 서브 계수 그룹이 존재하는 경우, 상기 인코더는 상기 서브 계수 그룹에 대해서만 상기 0이 아닌 계수(non-zero coefficient)를 인코딩할 수 있다(S1650). 이 경우, 서브 넌제로 계수 플래그는 1로 설정될 수 있다.As a result of the check, when there is a sub coefficient group including the non-zero coefficient, the encoder may encode the non-zero coefficient only for the sub coefficient group (S1650). In this case, the sub nonzero coefficient flag may be set to one.
한편, 상기 확인 결과, 서브 계수 그룹 내에 0이 아닌 계수(non-zero coefficient)가 존재하지 않는 경우, 상기 인코더는 서브 넌제로 계수 플래그를 0으로 설정할 수 있다(S1660). 여기서, 상기 서브 넌제로 계수 플래그는 서브 계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타낸다.On the other hand, if there is no non-zero coefficient in the sub coefficient group, the encoder may set the sub nonzero coefficient flag to 0 (S1660). Here, the sub nonzero coefficient flag indicates whether a nonzero coefficient exists in a sub coefficient group.
이때, 상기 서브 계수 그룹에 대한 0이 아닌 계수는 계수값 플래그(coefficient value flag)를 이용하여 인코딩될 수 있다.In this case, a non-zero coefficient for the sub coefficient group may be encoded using a coefficient value flag.
또한, 상기 복수개의 서브 계수 그룹들 중 0이 아닌 계수가 존재하는 서브 계수 그룹(sub coefficient group)의 개수에 따라 부호화 비트가 다를 수 있다.Also, coding bits may vary according to the number of sub coefficient groups in which a non-zero coefficient exists among the plurality of sub coefficient groups.
또한, 마지막 0이 아닌 계수(last non-zero coefficient)를 포함하는 계수 블록의 경우, 서브 넌제로 계수 플래그(sub non-zero coefficient flag)는 1 값으로 유도될 수 있다. 이를 통해 부호화 비트를 절약할 수 있다.In addition, in the case of a coefficient block including a last non-zero coefficient, a sub non-zero coefficient flag may be derived with a value of 1. This can save coding bits.
또한, 계수 그룹(coefficient group) 내에 0이 아닌 계수(non-zero coefficient)가 존재하고, 스캔 순서상 첫 3개의 서브 계수 그룹(sub coefficient group)들 내에 0이 아닌 계수(non-zero coefficient)가 존재하지 않는 경우, 마지막 서브 계수 그룹(last sub coefficient group)에 대한 서브 넌제로 계수 플래그(sub non-zero coefficient flag)는 1 값으로 유도될 수 있다.In addition, a non-zero coefficient exists in a coefficient group, and a non-zero coefficient exists in the first three sub coefficient groups in the scanning order. If not present, the sub non-zero coefficient flag for the last sub coefficient group may be derived with a value of 1.
상기 인코딩 과정은 레지듀얼 신호 인코딩부(미도시)에서 수행될 수 있다.The encoding process may be performed by a residual signal encoder (not shown).
도 17은 본 발명이 적용되는 실시예로서, 복수개의 서브 계수 그룹을 이용하여 인코딩된 비디오 신호를 디코딩하는 방법을 설명하는 흐름도이다.17 is a flowchart illustrating a method of decoding a video signal encoded using a plurality of sub coefficient groups as an embodiment to which the present invention is applied.
디코더는, 비디오 신호로부터 변환 블록 내 각 서브 계수 그룹에 대한 서브 넌제로 계수 플래그(sub non-zero coefficient flag)를 수신할 수 있다(S1710). 여기서, 상기 서브 넌제로 계수 플래그는 서브 계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타낸다. The decoder may receive a sub non-zero coefficient flag for each sub coefficient group in the transform block from the video signal (S1710). Here, the sub nonzero coefficient flag indicates whether a nonzero coefficient exists in a sub coefficient group.
상기 디코더는, 상기 서브 넌제로 계수 플래그에 기초하여 서브 계수 그룹 내에 존재하는 0이 아닌 계수를 획득할 수 있다(S1720). 여기서, 상기 0이 아닌 계수는 계수값 플래그(coefficient value flag)에 의해 식별될 수 있다.The decoder may obtain a non-zero coefficient existing in a sub coefficient group based on the sub nonzero coefficient flag (S1720). Herein, the non-zero coefficient may be identified by a coefficient value flag.
그리고, 상기 디코더는 상기 0이 아닌 계수에 대해 역변환을 수행할 수 있다(S1730).In operation S1730, the decoder may perform inverse transform on the non-zero coefficient.
상기 기술된 것과 같이, 본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 상기 도 1 및 도 2에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다.As described above, the embodiments described herein may be implemented and performed on a processor, microprocessor, controller, or chip. For example, the functional units illustrated in FIGS. 1 and 2 may be implemented and performed on a computer, a processor, a microprocessor, a controller, or a chip.
또한, 본 발명이 적용되는 디코더 및 인코더는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오(VoD) 서비스 제공 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원(3D) 비디오 장치, 화상 전화 비디오 장치, 및 의료용 비디오 장치 등에 포함될 수 있으며, 비디오 신호 및 데이터 신호를 처리하기 위해 사용될 수 있다.In addition, the decoder and encoder to which the present invention is applied include a multimedia broadcasting transmitting and receiving device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video chat device, a real time communication device such as video communication, a mobile streaming device, Storage media, camcorders, video on demand (VoD) service providing devices, internet streaming service providing devices, three-dimensional (3D) video devices, video telephony video devices, and medical video devices, and the like, for processing video signals and data signals Can be used for
또한, 본 발명이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크(BD), 범용 직렬 버스(USB), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파(예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트 스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.In addition, the processing method to which the present invention is applied can be produced in the form of a program executed by a computer, and can be stored in a computer-readable recording medium. Multimedia data having a data structure according to the present invention can also be stored in a computer-readable recording medium. The computer readable recording medium includes all kinds of storage devices for storing computer readable data. The computer-readable recording medium may include, for example, a Blu-ray disc (BD), a universal serial bus (USB), a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device. Can be. The computer-readable recording medium also includes media embodied in the form of a carrier wave (eg, transmission over the Internet). In addition, the bit stream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다. As mentioned above, preferred embodiments of the present invention are disclosed for the purpose of illustration, and those skilled in the art can improve and change various other embodiments within the spirit and technical scope of the present invention disclosed in the appended claims below. , Replacement or addition would be possible.

Claims (14)

  1. 비디오 신호를 인코딩하는 방법에 있어서,In a method of encoding a video signal,
    변환 블록 내 복수개의 계수 그룹(coefficient group)들에 대해, 계수 그룹 내에 0이 아닌 계수(non-zero coefficient)가 존재하는지 여부를 확인하는 단계;Checking, for a plurality of coefficient groups in the transform block, whether a non-zero coefficient exists in the coefficient group;
    상기 확인 결과, 상기 0이 아닌 계수를 포함하는 계수 그룹이 존재하는 경우, 상기 계수 그룹을 복수개의 서브 계수 그룹들로 분할하는 단계;Dividing the coefficient group into a plurality of sub coefficient groups when there is a coefficient group including the nonzero coefficient as a result of the checking;
    상기 복수개의 서브 계수 그룹들 각각에 대해 상기 0이 아닌 계수가 존재하는지 여부를 확인하는 단계; 및Checking whether a non-zero coefficient exists for each of the plurality of sub coefficient groups; And
    상기 확인 결과, 상기 0이 아닌 계수를 포함하는 서브 계수 그룹이 존재하는 경우, 상기 서브 계수 그룹에 대해서만 상기 0이 아닌 계수(non-zero coefficient)를 인코딩하는 단계If the sub coefficient group including the non-zero coefficient exists as a result of the checking, encoding the non-zero coefficient only for the sub coefficient group
    를 포함하는 것을 특징으로 하는 방법.Method comprising a.
  2. 제1항에 있어서, 상기 첫번째 확인 결과에 따라,According to claim 1, According to the first confirmation result,
    계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타내는 넌제로 계수 플래그(non-zero coefficient flag)를 설정하는 단계Setting a non-zero coefficient flag indicating whether a non-zero coefficient exists in the coefficient group
    를 더 포함하는 것을 특징으로 하는 방법.Method further comprising a.
  3. 제2항에 있어서, 상기 두번째 확인 결과에 따라,According to claim 2, According to the second confirmation result,
    서브 계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타내는 서브 넌제로 계수 플래그(sub non-zero coefficient flag)를 설정하는 단계Setting a sub non-zero coefficient flag indicating whether a non-zero coefficient exists in the sub coefficient group
    를 더 포함하는 것을 특징으로 하는 방법.Method further comprising a.
  4. 제1항에 있어서,The method of claim 1,
    상기 서브 계수 그룹에 대한 0이 아닌 계수는 계수값 플래그(coefficient value flag)를 이용하여 인코딩되는 것을 특징으로 하는 방법.Non-zero coefficients for the sub coefficient group are encoded using a coefficient value flag.
  5. 제1항에 있어서,The method of claim 1,
    상기 복수개의 서브 계수 그룹들 중 0이 아닌 계수가 존재하는 서브 계수 그룹(sub coefficient group)의 개수에 따라 부호화 비트가 다른 것을 특징으로 하는 방법.The coding bit is different according to the number of sub coefficient groups in which a non-zero coefficient exists among the plurality of sub coefficient groups.
  6. 제1항에 있어서,The method of claim 1,
    상기 마지막 0이 아닌 계수(last non-zero coefficient)를 포함하는 계수 블록의 경우, 서브 넌제로 계수 플래그(sub non-zero coefficient flag)는 1 값으로 유도되고,In the case of the coefficient block including the last non-zero coefficient, the sub non-zero coefficient flag is derived with a value of 1,
    상기 서브 넌제로 계수 플래그(sub non-zero coefficient flag)는 서브 계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타내는 것을 특징으로 하는 방법.And the sub non-zero coefficient flag indicates whether a non-zero coefficient exists in a sub coefficient group.
  7. 제1항에 있어서,The method of claim 1,
    상기 계수 그룹(coefficient group) 내에 0이 아닌 계수(non-zero coefficient)가 존재하고, 스캔 순서상 첫 3개의 서브 계수 그룹(sub coefficient group)들 내에 0이 아닌 계수(non-zero coefficient)가 존재하지 않는 경우, 마지막 서브 계수 그룹(last sub coefficient group)에 대한 서브 넌제로 계수 플래그(sub non-zero coefficient flag)는 1 값으로 유도되고,A non-zero coefficient exists in the coefficient group, and a non-zero coefficient exists in the first three sub coefficient groups in the scanning order. If not, the sub non-zero coefficient flag for the last sub coefficient group is derived with a value of 1,
    상기 서브 넌제로 계수 플래그(sub non-zero coefficient flag)는 서브 계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타내는 것을 특징으로 하는 방법.And the sub non-zero coefficient flag indicates whether a non-zero coefficient exists in a sub coefficient group.
  8. 제1항에 있어서,The method of claim 1,
    상기 변환 블록 내 마지막 0이 아닌 계수(last non-zero coefficient)의 위치 정보(position information)를 인코딩하는 단계Encoding position information of a last non-zero coefficient in the transform block
    를 더 포함하는 것을 특징으로 하는 방법.Method further comprising a.
  9. 비디오 신호를 디코딩하는 방법에 있어서,In the method for decoding a video signal,
    상기 비디오 신호로부터 변환 블록 내 각 서브 계수 그룹에 대한 서브 넌제로 계수 플래그(sub non-zero coefficient flag)를 수신하는 단계, 여기서 상기 서브 넌제로 계수 플래그는 서브 계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타냄; Receiving a sub non-zero coefficient flag for each sub coefficient group in a transform block from the video signal, wherein the sub non-zero coefficient flag indicates whether a non-zero coefficient exists in the sub coefficient group Indicating whether or not;
    상기 서브 넌제로 계수 플래그에 기초하여 서브 계수 그룹 내에 존재하는 0이 아닌 계수를 획득하는 단계; 및Obtaining a nonzero coefficient present in a sub coefficient group based on the sub nonzero coefficient flag; And
    상기 0이 아닌 계수에 대해 역변환을 수행하는 단계Performing inverse transform on the nonzero coefficient
    를 포함하는 것을 특징으로 하는 방법.Method comprising a.
  10. 제9항에 있어서,The method of claim 9,
    상기 비디오 신호는, 상기 0이 아닌 계수가 존재하는 서브 계수 그룹(sub coefficient group)의 개수에 따라 다른 비트수로 인코딩된 것을 특징으로 하는 방법.And the video signal is encoded with a different number of bits according to the number of sub coefficient groups in which the non-zero coefficient exists.
  11. 제9항에 있어서,The method of claim 9,
    상기 0이 아닌 계수는 계수값 플래그(coefficient value flag)에 의해 식별되는 것을 특징으로 하는 방법.And wherein said nonzero coefficient is identified by a coefficient value flag.
  12. 비디오 신호를 인코딩하는 장치에 있어서,An apparatus for encoding a video signal,
    변환 블록 내 복수개의 계수 그룹(coefficient group)들에 대해, 계수 그룹 내에 0이 아닌 계수(non-zero coefficient)가 존재하는지 여부를 확인하고, 상기 확인 결과 상기 0이 아닌 계수를 포함하는 계수 그룹이 존재하는 경우, 상기 계수 그룹을 복수개의 서브 계수 그룹들로 분할하고,For a plurality of coefficient groups in the transform block, it is determined whether a non-zero coefficient exists in the coefficient group, and as a result of the checking, a coefficient group including the non-zero coefficient is determined. If present, divide the coefficient group into a plurality of sub coefficient groups,
    상기 복수개의 서브 계수 그룹들 각각에 대해 상기 0이 아닌 계수가 존재하는지 여부를 확인하고, 상기 확인 결과 상기 0이 아닌 계수를 포함하는 서브 계수 그룹이 존재하는 경우, 상기 서브 계수 그룹에 대해서만 상기 0이 아닌 계수(non-zero coefficient)를 인코딩하는 레지듀얼 신호 인코딩부It is determined whether there is a non-zero coefficient for each of the plurality of sub-coefficient groups, and if there is a sub-coefficient group including the non-zero coefficient as a result of the checking, the zero only for the sub-coefficient group Residual signal encoding unit for encoding non-zero coefficients
    를 포함하는 것을 특징으로 하는 장치.Apparatus comprising a.
  13. 제12항에 있어서,The method of claim 12,
    상기 복수개의 서브 계수 그룹들 중 0이 아닌 계수가 존재하는 서브 계수 그룹(sub coefficient group)의 개수에 따라 부호화 비트가 다른 것을 특징으로 하는 장치.And encoding bits are different according to the number of sub coefficient groups in which non-zero coefficients exist among the plurality of sub coefficient groups.
  14. 비디오 신호를 디코딩하는 장치에 있어서,An apparatus for decoding a video signal,
    상기 비디오 신호로부터 변환 블록 내 각 서브 계수 그룹에 대한 서브 넌제로 계수 플래그(sub non-zero coefficient flag)를 수신하는 엔트로피 디코딩부; 및An entropy decoding unit configured to receive a sub non-zero coefficient flag for each sub coefficient group in a transform block from the video signal; And
    상기 서브 넌제로 계수 플래그에 기초하여 서브 계수 그룹 내에 존재하는 0이 아닌 계수를 획득하고, 상기 0이 아닌 계수에 대해 역변환을 수행하는 역변환부를 포함하되,An inverse transform unit configured to obtain a nonzero coefficient existing in the subcoefficient group based on the subnonzero coefficient flag and perform an inverse transform on the nonzero coefficient;
    상기 서브 넌제로 계수 플래그는 서브 계수 그룹 내에 0이 아닌 계수가 존재하는지 여부를 나타내는 것을 특징으로 하는 장치.And the sub nonzero coefficient flag indicates whether a nonzero coefficient exists in a sub coefficient group.
PCT/KR2016/008522 2016-08-02 2016-08-02 Method and apparatus for encoding/decoding residual signal by using sub-coefficient group WO2018026028A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2016/008522 WO2018026028A1 (en) 2016-08-02 2016-08-02 Method and apparatus for encoding/decoding residual signal by using sub-coefficient group

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2016/008522 WO2018026028A1 (en) 2016-08-02 2016-08-02 Method and apparatus for encoding/decoding residual signal by using sub-coefficient group

Publications (1)

Publication Number Publication Date
WO2018026028A1 true WO2018026028A1 (en) 2018-02-08

Family

ID=61072925

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/008522 WO2018026028A1 (en) 2016-08-02 2016-08-02 Method and apparatus for encoding/decoding residual signal by using sub-coefficient group

Country Status (1)

Country Link
WO (1) WO2018026028A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112335246A (en) * 2018-06-29 2021-02-05 交互数字Vc控股公司 Method and apparatus for adaptive coefficient group-based video encoding and decoding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100029837A (en) * 2007-06-15 2010-03-17 콸콤 인코포레이티드 Adaptive transformation of residual blocks depending on the intra prediction mode
KR20110115985A (en) * 2010-04-16 2011-10-24 에스케이 텔레콤주식회사 Video coding/decoding apparatus and method
KR20130116754A (en) * 2012-04-16 2013-10-24 주식회사 팬택 Methods of entropy coding and entropy decoding and apparatuses using the same
KR20160065796A (en) * 2016-05-24 2016-06-09 삼성전자주식회사 Method and apparatus for encoding residual block, and method and apparatus for decoding residual block
KR20160083832A (en) * 2016-06-29 2016-07-12 에스케이텔레콤 주식회사 Method and Apparatus for Partitioned-Coding of Frequency Transform Unit and Method and Apparatus for Encoding/Decoding of Video Data Thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100029837A (en) * 2007-06-15 2010-03-17 콸콤 인코포레이티드 Adaptive transformation of residual blocks depending on the intra prediction mode
KR20110115985A (en) * 2010-04-16 2011-10-24 에스케이 텔레콤주식회사 Video coding/decoding apparatus and method
KR20130116754A (en) * 2012-04-16 2013-10-24 주식회사 팬택 Methods of entropy coding and entropy decoding and apparatuses using the same
KR20160065796A (en) * 2016-05-24 2016-06-09 삼성전자주식회사 Method and apparatus for encoding residual block, and method and apparatus for decoding residual block
KR20160083832A (en) * 2016-06-29 2016-07-12 에스케이텔레콤 주식회사 Method and Apparatus for Partitioned-Coding of Frequency Transform Unit and Method and Apparatus for Encoding/Decoding of Video Data Thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112335246A (en) * 2018-06-29 2021-02-05 交互数字Vc控股公司 Method and apparatus for adaptive coefficient group-based video encoding and decoding
CN112335246B (en) * 2018-06-29 2024-03-12 交互数字Vc控股公司 Method and apparatus for adaptive coefficient set-based video encoding and decoding

Similar Documents

Publication Publication Date Title
WO2016204531A1 (en) Method and device for performing adaptive filtering according to block boundary
WO2017057953A1 (en) Method and device for coding residual signal in video coding system
WO2014163247A1 (en) Method and apparatus for processing video
WO2011087323A2 (en) Method and apparatus for encoding and decoding image by using large transform unit
WO2016200115A1 (en) Method and device for performing deblocking filtering
WO2020091213A1 (en) Intra prediction method and apparatus in image coding system
WO2016140439A1 (en) Method and device for encoding and decoding video signal by using improved prediction filter
WO2020076066A1 (en) Syntax design method and apparatus for performing coding by using syntax
WO2017065592A1 (en) Method and apparatus for encoding and decoding video signal
WO2021225338A1 (en) Image decoding method and apparatus therefor
WO2018066809A1 (en) Chroma component coding unit division method and device
WO2016064242A1 (en) Method and apparatus for decoding/encoding video signal using transform derived from graph template
WO2016133356A1 (en) Method and device for encoding/decoding video signal by using adaptive scan order
WO2020141928A1 (en) Method and apparatus for decoding image on basis of prediction based on mmvd in image coding system
WO2021118265A1 (en) Video or image coding employing adaptive loop filter
WO2016129980A1 (en) Method and apparatus for encoding and decoding video signal by means of transform-domain prediction
WO2021118261A1 (en) Method and device for signaling image information
WO2016129851A1 (en) Method and apparatus for encoding and decoding video signal by means of non-uniform phase interpolation
WO2020180043A1 (en) Image coding method based on lmcs, and device therefor
WO2016204479A1 (en) Method for encoding/decoding image, and device therefor
WO2020004879A1 (en) Method and device for image decoding according to inter-prediction using plurality of neighboring blocks in image coding system
WO2018026028A1 (en) Method and apparatus for encoding/decoding residual signal by using sub-coefficient group
WO2021107624A1 (en) Image/video coding method and apparatus on basis of picture division structure
WO2021137588A1 (en) Image decoding method and apparatus for coding image information including picture header
WO2021118263A1 (en) Method and device for signaling image information

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

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

Country of ref document: EP

Kind code of ref document: A1