WO2013157769A1 - 엔트로피 부복호화 방법 및 이러한 방법을 사용하는 장치 - Google Patents

엔트로피 부복호화 방법 및 이러한 방법을 사용하는 장치 Download PDF

Info

Publication number
WO2013157769A1
WO2013157769A1 PCT/KR2013/002947 KR2013002947W WO2013157769A1 WO 2013157769 A1 WO2013157769 A1 WO 2013157769A1 KR 2013002947 W KR2013002947 W KR 2013002947W WO 2013157769 A1 WO2013157769 A1 WO 2013157769A1
Authority
WO
WIPO (PCT)
Prior art keywords
flag
transform coefficient
subblock
coefficient
last position
Prior art date
Application number
PCT/KR2013/002947
Other languages
English (en)
French (fr)
Inventor
이선영
Original Assignee
주식회사 팬택
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 팬택 filed Critical 주식회사 팬택
Publication of WO2013157769A1 publication Critical patent/WO2013157769A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/96Tree coding, e.g. quad-tree coding
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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 an image encoding and decoding method, and more particularly, to a method for entropy encoding and decoding transform coefficients and an apparatus using the method.
  • High efficiency image compression techniques can be used to solve these problems caused by high resolution and high quality image data.
  • An inter-screen prediction technique for predicting pixel values included in the current picture from a picture before or after the current picture using an image compression technique an intra prediction technique for predicting pixel values included in a current picture using pixel information in the current picture
  • An object of the present invention is to provide a method for entropy encoding transform coefficients for increasing image encoding efficiency.
  • Another object of the present invention is to provide an apparatus for performing a method of entropy encoding transform coefficients for increasing image encoding efficiency.
  • a method of decoding an image includes determining whether a decoding target subblock is a last position transform coefficient subblock and 0 included in the last position transform coefficient subblock. And decoding the group flag of the last position transform coefficient subblock including information on whether there is only one transform coefficient.
  • the group flag is encoded with a first flag value if the last position transform coefficient subblock includes one non-zero transform coefficient and the nonzero transform coefficient is not present at the first scan position in the sub block.
  • the last position transform coefficient subblock may be a flag encoded with a second flag value.
  • the group flag may be a flag in which a group flag of the last position transform coefficient subblock is set as a first flag value when the group flag of the last position transform coefficient subblock does not exist.
  • the coefficient flag corresponding to the position of the last position transformation coefficient is set as the second flag and the last position transformation coefficient sub is excluded.
  • the method may further include setting a coefficient flag of the remaining transform coefficients included in the block as the first flag.
  • the coefficient flag of the last position transform coefficient subblock is changed.
  • the method may further include decoding.
  • the coefficient flag of the last position transform coefficient is set as the second flag.
  • the method may further include setting a coefficient flag of a transform coefficient located in the first scan order in the scan order as the second flag.
  • the image decoding method may further include setting a coefficient flag of a last position transform coefficient positioned in a first scan order in a scan order as a second flag when a group flag of the last position transform coefficient subblock is set to a first flag. have.
  • the group flag is a first flag when the last position transform coefficient subblock includes one non-zero transform coefficient and a second flag when the last position transform coefficient subblock includes a plurality of non-zero transform coefficients. It may be a flag set.
  • the coefficient flag of the last position transform coefficient subblock when the group flag of the last position transform coefficient subblock is set to the first flag, the coefficient flag of the last position transform coefficient is set to the second flag and a coefficient existing before the last position transform coefficient in the scanning order
  • the method may further include setting a coefficient flag of the first flag.
  • the image decoding method may further include decoding a group flag of the remaining subblocks except for the first subblock and the last position transform coefficient subblock, and if the group flag of the remaining subblock is a second flag, scan in the remaining subblock. And decoding the coefficient flags of the remaining transform coefficients except for the transform coefficients corresponding to the first scan order.
  • an apparatus for decoding an image determines whether a decoding target subblock is a last position transform coefficient subblock based on information received from the inverse quantization unit. Performing reordering on the basis of an entropy decoding unit for decoding the group flag of the last position transformation coefficient sub-block including information on the number of non-zero transform coefficients included in the position transformation coefficient sub-block and the information decoded from the entropy decoding unit. It may include a reordering unit.
  • the group flag is encoded with a first flag value if the last position transform coefficient subblock includes one non-zero transform coefficient and the nonzero transform coefficient is not present at the first scan position in the sub block.
  • the last position transform coefficient subblock may be a group flag encoded with a second flag value.
  • the group flag may be a group flag in which the group flag of the last position transform coefficient subblock is set to a first flag value when the group flag of the last position transform coefficient subblock does not exist.
  • the coefficient flag corresponding to the position of the last position transform coefficient is set as the second flag and remain in the last position transform coefficient subblock except for the last position transform coefficient. It may be an entropy decoding unit that sets the coefficient flag of the transform coefficient to the first flag. The entropy decoding unit decodes the coefficient flag of the last position transform coefficient subblock when the group flag of the last position transform coefficient subblock is the second flag and the transform coefficient does not exist in the first scan order and the second scan order in the scan order. It may be an entropy decoding unit.
  • the entropy decoding unit sets the coefficient flag of the last position transform coefficient to the second flag when the group flag of the last position transform coefficient subblock is the second flag and the last position transform coefficient is located in the second scan order in the scan order.
  • the entropy decoding unit may set a coefficient flag of a transform coefficient located in the first scan order in the order as the second flag.
  • the entropy decoding unit may be an entropy decoding unit that sets the coefficient flag of the last position transformation coefficient located in the first scan order in the scan order as the second flag when the group flag of the last position transformation coefficient subblock is set as the first flag.
  • the entropy decoding unit may include a first flag when the last position transform coefficient subblock includes one non-zero transform coefficient and a second flag when the last position transform coefficient subblock includes a plurality of non-zero transform coefficients.
  • An entropy decoding unit may be set. When the group flag of the last position transform coefficient subblock is set to the first flag, the entropy decoding unit sets the coefficient flag of the last position transform coefficient to the second flag, and sets the coefficient flag that exists before the last position transform coefficient in the scanning order. It may be an entropy decoding unit that sets the coefficient flag as the first flag.
  • the entropy decoding unit decodes the group flags of the remaining sub blocks except for the first sub block and the last position transform coefficient sub block, and when the group flags of the remaining sub blocks are the second flag, the first entropy decoding unit performs a first scan in the remaining sub blocks.
  • An entropy decoding unit may decode coefficient flags of the remaining transform coefficients except for the transform coefficients corresponding to the scan order.
  • FIG. 1 is a block diagram illustrating an encoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a decoder according to an embodiment of the present invention.
  • FIG. 3 is a conceptual diagram illustrating a method of scanning transform coefficients according to an embodiment of the present invention.
  • FIG. 4 is a conceptual diagram illustrating a conversion unit of 16 ⁇ 16 size according to an embodiment of the present invention.
  • 5 is a conceptual diagram representing significant_coeff_group_flag of a conversion unit according to an embodiment of the present invention.
  • FIG. 6 is a conceptual diagram representing significant_coeff_flag of a transform unit according to an embodiment of the present invention.
  • FIG. 7 is a conceptual diagram illustrating transform coefficient information included in a transform unit according to an embodiment of the present invention.
  • FIG. 8 is a conceptual diagram illustrating significant_coeff_group_flag based on transform coefficient information of a transform unit disclosed in FIG. 7 according to an embodiment of the present invention.
  • FIG. 9 is a conceptual diagram illustrating a significant map according to an embodiment of the present invention.
  • FIG. 10 is a conceptual diagram illustrating a significant map according to an embodiment of the present invention.
  • FIG. 11 is a conceptual diagram illustrating a conversion unit according to an embodiment of the present invention.
  • FIG. 12 is a conceptual diagram illustrating a conversion unit according to an embodiment of the present invention.
  • FIG. 13 is a conceptual diagram illustrating a conversion unit according to an embodiment of the present invention.
  • FIG. 14 is a conceptual diagram illustrating significant_coeff_group_flag of a conversion unit according to an embodiment of the present invention.
  • 15 is a conceptual diagram illustrating significant_coeff_flag of a conversion unit according to an embodiment of the present invention.
  • 16 is a conceptual diagram illustrating a significant map of a transformation unit according to an embodiment of the present invention.
  • 17 is a conceptual diagram illustrating a conversion unit according to an embodiment of the present invention.
  • 18 is a conceptual diagram illustrating significant_coeff_group_flag of a conversion unit according to an embodiment of the present invention.
  • 19 is a conceptual diagram illustrating significant_coeff_flag of a conversion unit according to an embodiment of the present invention.
  • 20 is a conceptual diagram illustrating significant_coeff_flag according to an embodiment of the present invention.
  • 21 is a conceptual diagram illustrating a transform block according to an embodiment of the present invention.
  • FIG. 22 is a conceptual diagram illustrating a transform block according to an embodiment of the present invention.
  • 23 is a flowchart illustrating a method of calculating signature_coeff_group_flag information of each subblock according to an embodiment of the present invention.
  • 24 is a flowchart illustrating a method of calculating significant_coeff_group_flag information of a subblock according to an embodiment of the present invention.
  • 25 is a flowchart illustrating a method of calculating signature_coeff_group_flag information of each subblock according to an embodiment of the present invention.
  • 26 is a flowchart illustrating a method of calculating significant_coeff_group_flag information of a subblock according to an embodiment of the present invention.
  • each of the components disclosed in the embodiments and the drawings of the present invention are disclosed in an independent configuration to represent different characteristic functions of the image encoding apparatus. This does not mean that each component is necessarily made up of separate hardware or one software component. In other words, each component is included in each component for convenience of description, and at least two of the components may be combined into one component, or one component may be divided into a plurality of components to perform a function. The integrated and separated embodiments of the components are also included in the scope of the present invention, without departing from the spirit of the invention.
  • some of the components disclosed in the present invention may not be essential components for performing essential functions in the present invention but may be optional components for improving performance.
  • the present invention can be implemented including only the components essential for implementing the essentials of the present invention except for the components used for improving performance, and the structure including only the essential components except for the optional components used for improving performance. Also included within the scope of the present invention.
  • FIG. 1 is a block diagram illustrating an encoding apparatus according to an embodiment of the present invention.
  • the encoding apparatus includes a splitter 100, a predictor 110, an intra prediction unit 103, an inter prediction unit 106, a transform unit 115, a quantization unit 120, and a rearrangement.
  • the unit 125 may include an entropy encoding unit 130, an inverse quantization unit 135, an inverse transform unit 140, a filter unit 145, and a memory 150.
  • the encoding apparatus may be implemented by the image encoding method described in the following embodiments of the present invention, but operations in some components may not be performed to reduce the complexity of the encoder or for fast real time encoding.
  • some limited number of methods are used without selecting the optimal intra intra coding method using all intra prediction modes in order to perform encoding in real time.
  • a method of selecting one intra prediction mode among them as a final intra prediction mode using the intra prediction mode of the image may be used.
  • the unit of a block processed by the encoding apparatus may be a coding unit that performs encoding, a prediction unit that performs prediction, or a transformation unit that performs transformation.
  • a coding unit may be represented by a term such as a coding unit (CU), a prediction unit is a prediction unit (PU), and a transformation unit is a transform unit (TU).
  • the splitter 100 divides a picture into a combination of a plurality of coding units, a prediction unit, and a transformation unit, and combines one coding unit, a prediction unit, and a transformation unit according to a predetermined reference (for example, a cost function). Select to split the picture. For example, to split a coding unit in a picture, a recursive tree structure such as a quad tree structure may be used.
  • a coding unit may be used not only as a unit for encoding but also as a unit for decoding.
  • the prediction unit may be a unit for performing intra prediction or inter prediction.
  • the unit for performing intra prediction may have a square unit such as 2N ⁇ 2N or N ⁇ N or a rectangular unit of prediction using short distance intra prediction (SDIP).
  • SDIP short distance intra prediction
  • AMP symmetric symmetric motion partitioning
  • the transform unit 115 may change a method of performing the transform.
  • the prediction unit 110 may include an intra prediction unit 103 that performs intra prediction and an inter prediction unit 106 which performs inter prediction. Whether to use inter prediction or intra prediction may be determined for the prediction unit.
  • the processing unit in which the prediction is performed may differ from the processing unit in which the prediction method and the details are determined. For example, in performing intra prediction, a prediction mode is determined in prediction units, and a process of performing prediction may be performed based on a transformation unit.
  • the residual value (residual block) between the generated prediction block and the original block may be input to the transformer 115.
  • prediction mode information and motion vector information used for prediction may be encoded by the entropy encoder 130 along with the residual value and transmitted to the decoder.
  • the original block may be encoded as it is and transmitted to the decoder without performing prediction through the prediction unit 110.
  • PCM Pulse Coded Modulation
  • the intra prediction unit 103 may generate a prediction unit based on reference pixels existing around the current prediction unit. In order to calculate an optimal intra prediction mode for the current prediction unit, the intra prediction unit 103 may generate the current prediction unit as a plurality of intra prediction modes and selectively use one of them.
  • a prediction mode may have a directional prediction mode using reference pixel information according to a prediction direction, and a non-directional mode using no directional information when performing prediction.
  • the intra prediction method may generate a prediction block after applying a mode dependent intra smoothing (MDIS) filter to a reference pixel according to a prediction mode.
  • MDIS mode dependent intra smoothing
  • the type of MDIS filter applied to the reference pixel may be different.
  • an additional filter may be used to perform additional filtering on some columns present in the prediction unit after performing the prediction with the reference pixel. Filtering for some columns present in the prediction unit after performing prediction with the reference pixel may use different filtering depending on the direction of the prediction mode.
  • the inter prediction unit 106 may generate a prediction unit based on information of at least one of a previous picture or a subsequent picture of the current picture.
  • the inter prediction unit 106 may include a reference picture interpolator, a motion estimator, and a motion compensator.
  • the reference picture interpolator may receive reference picture information from the memory 150 and generate pixel information of an integer pixel or less in the reference picture.
  • a DCT based 8-tap interpolation filter having different filter coefficients may be used to generate pixel information of integer pixels or less in units of 1/4 pixels.
  • a DCT-based interpolation filter having different filter coefficients may be used to generate pixel information of an integer pixel or less in units of 1/8 pixels.
  • the inter prediction unit 106 may perform motion prediction based on the reference picture interpolated by the reference picture interpolation unit.
  • various methods such as a full search-based block matching algorithm (FBMA), a three step search (TSS), and a new three-step search algorithm (NTS) may be used.
  • the motion vector may have a motion vector value in units of 1/2 or 1/4 pixels based on the interpolated pixels.
  • the inter prediction unit 106 may predict the current prediction unit by using a different motion prediction method.
  • various methods such as a skip method, a merge method, and an advanced motion vector prediction (AMVP) method may be used.
  • AMVP advanced motion vector prediction
  • a residual block including residual information that is a difference between the prediction unit performing the prediction and the original [restore] block of the prediction unit may be generated.
  • the generated residual block may be input to the converter 115.
  • the transform unit 115 may transform the encoding target, that is, the residual block using a transform method such as a discrete cosine transform (DCT) or a discrete sine transform (DST).
  • the quantization unit 120 may quantize the values converted by the transformer 115 into the frequency domain.
  • the quantization coefficient may change depending on the block or the importance of the image.
  • the value calculated by the quantization unit 120 may be provided to the inverse quantization unit 135 and the reordering unit 125.
  • the reordering unit 125 may reorder coefficient values with respect to the quantized residual value.
  • the reordering unit 125 may convert two-dimensional block shape coefficients into a one-dimensional vector form through a coefficient scanning method. You can change it.
  • the reordering unit 125 may scan from DC coefficients to coefficients in the high frequency region by using a Diagonal Scan method and change them into a one-dimensional vector.
  • a vertical scan method for scanning two-dimensional block shape coefficients in a column direction rather than a diagonal scan method and a horizontal scan method for scanning two-dimensional block shape coefficients in a row direction will be used.
  • the entropy encoder 130 may perform entropy encoding based on the values calculated by the reordering unit 125. Entropy encoding may use various encoding methods such as, for example, Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
  • Entropy encoding may use various encoding methods such as, for example, Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
  • the entropy encoder 130 receives residual coefficient coefficient information, block type information, prediction mode information, partition unit information, prediction unit information, transmission unit information, and motion vector information of the coding unit from the reordering unit 125 and the prediction unit 110. By receiving various information such as reference frame information, interpolation information of a block, and filtering information, entropy encoding may be performed based on a predetermined encoding method. In addition, the entropy encoder 130 may entropy encode a coefficient value of a coding unit input from the reordering unit 125.
  • the entropy encoder 130 may perform entropy coding through a high efficiency binarization (HEB) method using CABAC or a high throughput binarization (HTB) method using a CAVLC coefficient binarization method for bypass coding of CABAC.
  • HEB high efficiency binarization
  • HTB high throughput binarization
  • the entropy encoder may generate a signature map (hereinafter, referred to as a significant map) based on the transform coefficients.
  • a significant map can be expressed based on two levels using syntax element information significant_coeff_group_flag and significant_coeff_flag. For example, a first level using significant_coeff_group_flag can first be used to express whether a non-zero transform coefficient exists in each subblock (scan subblock before the second to last transform coefficient subblocks) and then using significant_coeff_flag. Through two levels, transform coefficient information included in each subblock may be expressed.
  • significant_coeff_group_flag and significant_coeff_flag may be defined differently to indicate transform coefficient information of the sub-block. The embodiment will be described in detail.
  • the inverse quantizer 135 and the inverse transformer 140 inverse quantize the quantized values in the quantizer 120 and inversely transform the transformed values in the transformer 115.
  • the residual value generated by the inverse quantizer 135 and the inverse transformer 140 is combined with the prediction unit predicted by the motion estimator, the motion compensator, and the intra predictor included in the predictor 110 to restore the block. Reconstructed Block).
  • the filter unit 145 may include at least one of a deblocking filter, an offset correction unit, and an adaptive loop filter (ALF).
  • ALF adaptive loop filter
  • the deblocking filter may remove block distortion caused by boundaries between blocks in the reconstructed picture.
  • it may be determined whether to apply a deblocking filter to the current block based on the pixels included in several columns or rows included in the block.
  • a strong filter or a weak filter may be applied according to the required deblocking filtering strength.
  • horizontal filtering and vertical filtering may be performed in parallel when vertical filtering and horizontal filtering are performed.
  • the offset correction unit may correct the offset with respect to the original image on a pixel-by-pixel basis for the deblocking image.
  • the pixels included in the image are divided into a predetermined number of areas, and then, an area to be offset is determined, an offset is applied to the corresponding area, or offset considering the edge information of each pixel. You can use this method.
  • the adaptive loop filter may perform filtering based on a value obtained by comparing the filtered reconstructed image with the original image. After dividing the pixels included in the image into at least one group, one filter to be applied to the group may be determined and filtering may be performed for each group. Among the information related to whether to apply the ALF, the luminance signal may be transmitted for each coding unit, and the size and coefficient of the ALF may vary according to each block. The ALF may have various forms, and the number of coefficients included in the filter may also vary. Such filtering related information (filter coefficient information, ALF On / Off information, filter type information) of the ALF may be included in the parameter set in the form of a bitstream and transmitted.
  • the memory 150 may store the reconstructed block or picture calculated by the filter unit 145, and the stored reconstructed block or picture may be provided to the predictor 110 when performing inter prediction.
  • FIG. 2 is a block diagram illustrating a decoder according to an embodiment of the present invention.
  • the decoder includes an entropy decoder 210, a reordering unit 215, an inverse quantizer 220, an inverse transform unit 225, a predictor 230, a filter unit 235, and a memory 240. May be included.
  • the input bitstream may be decoded by a procedure opposite to that of the encoder.
  • the entropy decoder 210 may perform entropy decoding by a procedure opposite to that of the entropy encoder in the encoder.
  • Information for generating the prediction block among the information decoded by the entropy decoder 210 may be provided to the predictor 230, and a residual value obtained by entropy decoding by the entropy decoder may be input to the reordering unit 215.
  • the entropy decoder may generate a significant map using significant_coeff_group_flag and significant_coeff_flag, which are encoded syntax element information.
  • significant_coeff_group_flag and significant_coeff_flag may be defined differently to indicate transform coefficient information of the sub-block. The embodiment will be described in detail.
  • a first level using significant_coeff_group_flag can first be used to express whether a non-zero transform coefficient exists in each subblock (scan subblock before the second to last transform coefficient subblocks) and then using significant_coeff_flag.
  • transform coefficient information included in each subblock may be expressed.
  • the entropy decoder 210 may perform inverse transform using at least one of an HTB method using a coefficient coding method of HEB or CAVLC using CABAC.
  • the entropy decoder 210 may decode information related to intra prediction and inter prediction performed by the encoder. As described above, when there are constraints in performing intra-picture prediction and inter-screen prediction in the encoder, for example, when neighboring prediction modes are not available, entropy decoding based on these constraints is performed to perform a screen on the current block. Information related to intra prediction and inter screen prediction may be provided.
  • the reordering unit 215 may reorder the entropy decoded bitstream by the entropy decoding unit 210 based on a method of rearranging the bitstream. Coefficients expressed in the form of a one-dimensional vector may be reconstructed by reconstructing the coefficients in a two-dimensional block form.
  • the reordering unit may be realigned by receiving information related to coefficient scanning performed by the encoder and performing reverse scanning based on the scanning order performed by the encoder.
  • the inverse quantization unit 220 may perform inverse quantization based on the quantization parameter provided by the encoder and the coefficient values of the rearranged block.
  • the inverse transformer 225 may perform inverse DCT and inverse DST on the DCT and DST performed by the transformer with respect to the quantization result performed by the encoder.
  • the inverse transform may be performed based on a transmission unit determined by the encoder.
  • the DCT and the DST may be selectively performed according to a plurality of pieces of information such as a prediction method, a size and a prediction direction of the current block, and the inverse transformer 225 of the decoder may perform transform information performed by the encoder of the encoder. Inverse transformation may be performed based on.
  • the transformation may be performed based on the coding unit rather than the transformation unit.
  • the prediction unit 230 may generate the prediction block based on the prediction block generation related information provided by the entropy decoder 210 and previously decoded block or picture information provided by the memory 240.
  • the prediction unit 230 is present on the left side of the pixel and the upper left side of the prediction unit.
  • Intra-picture prediction is performed on the prediction unit based on the pixel that exists and the pixel present at the top, but when the prediction unit and the size of the conversion unit are different when performing the intra-prediction, the reference pixel based on the conversion unit In-screen prediction may be performed using.
  • intra prediction using NxN division may be used only for a minimum coding unit.
  • the prediction unit 230 may include a prediction unit determiner, an inter prediction unit, and an intra prediction unit.
  • the prediction unit determination unit receives various information such as prediction unit information input from the entropy decoder, prediction mode information of the intra prediction method, and motion prediction related information of the inter prediction method, and distinguishes the prediction unit from the current coding unit. It is possible to determine whether to perform inter prediction or intra prediction.
  • the inter prediction unit uses information required for inter prediction of the current prediction unit provided by the encoder and based on information included in at least one of a previous picture or a subsequent picture of the current picture including the current prediction unit, for the current prediction unit. Inter prediction can be performed. Whether the motion prediction method of the prediction unit included in the coding unit based on the coding unit to perform inter prediction is skip mode, merge mode, or AMVP mode. Can be determined.
  • the intra prediction unit may generate a prediction block based on pixel information in the current picture.
  • the intra prediction may be performed based on the intra prediction mode information of the prediction unit provided by the encoder.
  • the intra prediction unit may include an MDIS filter, a reference pixel interpolator, and a DC filter.
  • the MDIS filter is a part of filtering the reference pixel of the current block, and may determine and apply the filter according to the prediction mode of the current prediction unit.
  • MDIS filtering may be performed on the reference pixel of the current block by using the prediction mode and the MDIS filter information of the prediction unit provided by the encoder. If the prediction mode of the current block is a mode that does not perform MDIS filtering, the MDIS filter may not be applied.
  • the encoder may similarly perform filtering along with the reference pixel after generating the prediction block.
  • the reference pixel interpolator may generate reference pixels having an integer value or less by interpolating the reference pixels. If the prediction mode of the current prediction unit is a prediction mode for generating a prediction block without interpolating the reference pixel, the reference pixel may not be interpolated.
  • the DC filter may generate the prediction block through filtering when the prediction mode of the current block is the DC mode.
  • the reconstructed block or picture may be provided to the filter unit 235.
  • the filter unit 235 may include a deblocking filter, an offset correction unit, and an ALF.
  • the deblocking filter of the decoder may receive the deblocking filter related information provided by the encoder and perform the deblocking filtering on the corresponding block in the decoder. As in the encoder, first, vertical deblocking filtering and horizontal deblocking filtering are performed, but in the overlapping portion, at least one of vertical deblocking and horizontal deblocking may be performed. Vertical deblocking filtering or horizontal deblocking filtering, which has not been previously performed, may be performed at a portion where vertical deblocking filtering and horizontal deblocking filtering overlap. Through this deblocking filtering process, parallel processing of deblocking filtering is possible.
  • the offset correction unit may perform offset correction on the reconstructed image based on the type of offset correction and offset value information applied to the image during encoding.
  • the ALF may perform filtering based on a value obtained by comparing the restored image with the original image after performing the filtering.
  • the ALF may be applied to the coding unit based on the ALF application information, the ALF coefficient information, etc. provided from the encoder. Such ALF information may be provided included in a specific parameter set.
  • the memory 240 may store the reconstructed picture or block to use as a reference picture or reference block, and may provide the reconstructed picture to the output unit.
  • a coding unit is used as a coding unit for convenience of description, but may also be a unit for performing decoding as well as encoding.
  • Table 1 shows syntaxes used for encoding and decoding transform coefficients in CABAC (Context Adaptive Binary Arithmetic Coding).
  • the syntax elements last_significant_coeff_x_prefix, last_significant_coeff_y_prefix, last_significant_coeff_x_suffix, and last_significant_coeff_y_suffix can represent the position information of the last non-zero transform coefficient in the scanning order of the transform coefficients, and coefficient_geff_geff significant Indicates whether or not.
  • the significant_coeff_group_flag value may indicate whether a non-zero transform coefficient is included in a 4x4 sub-block, and the significant_coeff_flag may indicate whether a non-zero value exists for each change coefficient position in each 4x4 sub-block. .
  • Two syntaxes may be used as syntax element information for constructing a significant map.
  • Other syntaxes may indicate size information of a transform coefficient.
  • the last position of the transform coefficients may vary depending on how the transform coefficients are scanned.
  • FIG. 3 is a conceptual diagram illustrating a method of scanning transform coefficients according to an embodiment of the present invention.
  • FIG. 3 a conceptual diagram illustrating scanning of transform coefficient information using an up-right diagonal scanning method (hereinafter, referred to as a ⁇ digital scanning method '') in a 16x16 transform unit (TU) is illustrated.
  • a ⁇ digital scanning method '' an up-right diagonal scanning method
  • TU 16x16 transform unit
  • a 16x16 transform unit can be divided into 16 4x4 sub-blocks.
  • the Diagonal Scanning method scans the subblocks included in the 16x16 transform unit in the direction of the arrow in the order of numbering from 1 to 16, so that the sub-block with the last non-zero coefficient value in the transform coefficient It can generate information about whether it exists.
  • information about 16 4x4 sub-blocks is stored in the reverse order of the diagonal scanning method (ie, 16 to 1). In the present embodiment, for convenience, explanation will be made in order rather than in reverse order.
  • the transform coefficients present in each sub-block may also be scanned by a Diagonal scan method.
  • the coefficients present in the first sub-block may be scanned from 0 to 15 times by the diagonal scan method.
  • the sub-block having the last non-zero coefficient value among the above-mentioned transform coefficients is also scanned from 0 to 15 times by the same diagonal scanning method as the first sub block, so that the exact position of the last non-zero coefficient value (x , y) can be found.
  • the transform coefficients are also inserted in the bitstream in the reverse order of the Diagonal scanning method (i.e., 15 to 0), and the information on the 16 transform coefficients is stored.
  • the reverse order of the Diagonal scanning method i.e., 15 to 0
  • the information on the 16 transform coefficients is stored.
  • explanation will be made in order rather than in reverse order.
  • the transform coefficients present in the 2D state subblock may be converted into an array of 1D state for entropy encoding by using a 4x4 sized subblock and each 4x4 sized subblock.
  • the last non-zero transform coefficients in the scanning order are defined as terms of the last position transform coefficient or the last transform coefficient
  • the sub block including the last position transform coefficient is defined as the last position transform coefficient subblock Defined by the term.
  • FIG. 4 is a conceptual diagram illustrating a conversion unit of 16 ⁇ 16 size according to an embodiment of the present invention.
  • the sub block including the last transform coefficient becomes a fifteenth sub block 400.
  • the last transform coefficient in the fifteenth subblock becomes 1 410 present in the fourth scan position in the diagonal scan direction in the subblock.
  • Significant map may be expressed based on two levels using the above-described syntax element information significant_coeff_group_flag and significant_coeff_flag as information on whether the transform coefficient is 0 or not. For example, a first level using significant_coeff_group_flag can first be used to express whether a non-zero transform coefficient exists in each subblock (scan subblock before the second to last transform coefficient subblocks) and then using significant_coeff_flag. Through two levels, transform coefficient information included in each subblock may be expressed.
  • the first level (significant_coeff_group_flag) flag may be defined as a group flag
  • the second level (significant_coeff_flag) flag may be defined and used as a term flag.
  • the flag information may be expressed by using the term “first flag value” when the flag is 0 and “second flag value” when the flag is “1”. Flag values may vary depending on the definition of syntax elements and such embodiments are also within the scope of the present invention.
  • the subblock in the case of the scanning subblocks from the second subblock to the last transform coefficient subblock except the first subblock, which is the first subblock, and the last transform coefficient subblock, the subblock includes a non-zero transform coefficient If it is, significant_coeff_group_flag is encoded as 1, and if all coefficients included in the subblock are 0, significant_coeff_group_flag can be encoded as 0.
  • the first subblock is a subblock including transform coefficients corresponding to DC.
  • the significant_coeff_group_flag of the first subblock may be inferred as 1 in the decoding step without separately encoding the significant_coeff_group_flag of the first subblock.
  • a significant_coeff_group_flag value may not be transmitted.
  • significant_coeff_group_flag of subblocks next to the last transform coefficient subblock in the encoding step is transmitted separately. Instead, in the decoding step, the significant_coeff_group_flag of the subblocks next to the last transform coefficient subblock is inferred to be 0, indicating that all transform coefficients included in the corresponding subblock are 0.
  • the last position transform coefficient subblock since the information about the last position transform coefficient is known, it may be inferred as a block including non-zero transform coefficients without any information transmitted. Rather than transmitting the significant_coeff_group_flag of, a significant map can be generated by inferring significant_coeff_group_flag as 1 in the decoding step.
  • significant_coeff_group_flag is newly defined to encode significant_coeff_group_flag as 1 when one or more non-zero transform coefficients other than the last position transform coefficient are included and the remaining transform coefficients are encoded. If all coefficients are zero, significant_coeff_group_flag can be encoded as zero.
  • the new definition is used, the coding efficiency can be improved by reducing the number of bits for generating a significant map of the last position transform coefficient subblock.
  • a significant_coeff_group_flag value may not be transmitted separately (hereinafter, described). 21, details of the case).
  • transform coefficient information included in a subblock may be expressed using significant_coeff_flag, which is a second level.
  • significant_coeff_flag may express information about transform coefficients included in a subblock.
  • the significant_coeff_group_flag of the subblock is 1, the significant_coeff_flag value for the corresponding subblock is encoded. On the contrary, if the significant_coeff_group_flag is 0, the significant_coeff_flag value for the corresponding subblock is not encoded.
  • the first subblock encodes a significant_coeff_flag value for all 16 transform coefficients.
  • the reverse scanning method of the Diagonal scanning method (that is, 1 to 15) is performed. If the significant_coeff_flag values of the 15 transform coefficients are all 0, the significant_coeff_flag value corresponding to the first (ie, 0) transform coefficient of the corresponding subblock may be inferred as 1 without encoding. Otherwise, if a non-zero value exists among 15 transform coefficients, a significant_coeff_flag value corresponding to the first transform coefficient of the corresponding subblock is encoded.
  • the significant_coeff_flag value for all transform coefficients existing before the last position transform coefficient in the order of the digital scanning method is encoded.
  • the significant_coeff_flag value of the position transform coefficient is not encoded separately in the encoding step, and a significant map may be generated by inferring the significant_coeff_flag value of the last position transform coefficient as 1 in the decoding stage.
  • significant_coeff_flag of transform coefficients that exist after the last transform coefficient in the encoding step is not transmitted separately, and the transform coefficients of the last transform coefficient are decoded. We can infer the significant_coeff_flag of the transform coefficients that exist next to zero.
  • significant_coeff_flag when the subblock is the last transform coefficient subblock, significant_coeff_flag may be expressed as follows.
  • 5 is a conceptual diagram representing significant_coeff_group_flag of a conversion unit according to an embodiment of the present invention.
  • FIG. 5 shows transform block information disclosed in FIG. 4 as significant_coeff_group_flag.
  • the significant_coeff_group_flag is inferred to 1 in the case of the first subblock (510)
  • the coding is not performed separately.
  • the position of the sub-block including the transform coefficient of the last position is the fifteenth sub-block 520
  • significant_coeff_group_flag of the sixteenth sub-block 530 located thereafter may be inferred as 0 without being separately coded and thus not encoded.
  • the subblock including the transform coefficient of the last position such as the fifteenth subblock 520, is a block including the last position transform coefficient and includes a plurality of nonzero transform coefficients.
  • the significant_coeff_group_flag of block 520 has one.
  • FIG. 6 is a conceptual diagram representing significant_coeff_flag of a transform unit according to an embodiment of the present invention.
  • FIG. 6 represents coefficient information of a sub-block as significant_coeff_flag based on the transform coefficient information of FIG. 4 and the significant_coeff_group_flag information of FIG. 5.
  • significant_coeff_flag may be encoded as 1 or 0 depending on whether the transform coefficient included in the corresponding subblock is 0.
  • transform coefficient information may be expressed based on significant_coeff_flag for first, second, second, third, fourth, fifth, sixth, eightth, nineth, and twelve subblocks whose significant_coeff_group_flag is 1 or inferred to 1.
  • FIG. have.
  • the transform coefficients included in the subblock without using significant_coeff_flag are separately inferred since all of the transform coefficients included in the subblock are inferred to 0.
  • Information can be encoded.
  • the last position transform coefficient subblock since the last position transform coefficient subblock knows the last position of the non-zero transform coefficient, unlike the other subblocks, encoding may be performed considering the last position of the transform coefficient. For example, since the last position in the scanning order of transform coefficients is known in the last transform coefficient subblock, the last transform coefficient does not need to be encoded through significant_coeff_flag. For example, since the position of the last transform coefficient (position of 3 rows and 1 column) in the last position transform coefficient subblock of FIG. 6 may be inferred as significant_coeff_flag as 1, no bits are used separately. In order to increase coding efficiency, the last transform coefficient subblock may express transform coefficient information based on the definition of significant_coeff_flag described above.
  • FIG. 7 is a conceptual diagram illustrating transform coefficient information included in a transform unit according to an embodiment of the present invention.
  • the last transform coefficient subblock 700 includes one nonzero coefficient 710.
  • significant_coeff_group_flag may be represented by zero.
  • significant_coeff_group_flag is represented by 0 and the last transform coefficient subblock.
  • significant_coeff_group_flag may be represented by one.
  • the last transform coefficient subblock is a subblock containing only one nonzero coefficient, and the position of the last transform coefficient is one row and one column, an encoding method that does not transmit significant_coeff_group_flag of the last transform coefficient subblock is used.
  • the information that the position of the last transform coefficient included in the last transform coefficient subblock is one row and one column may be expressed.
  • FIG. 8 is a conceptual diagram illustrating significant_coeff_group_flag based on transform coefficient information of a transform unit disclosed in FIG. 7 according to an embodiment of the present invention.
  • 0 800 may be set as a significant_coeff_group_flag value.
  • the syntax element information that expresses the position of the last transform coefficient as the basis of the last transform coefficient such as last_significant_coeff_x_prefix, last_significant_coeff_y_prefix, last_significant_coeff_x_suffix, and last_significant_coeff_y_suffix, described above in Table 1 Since the position of the coefficient is known, there is no need to code the significant_coeff_flag separately to transmit the position of the last transform coefficient.
  • FIG. 9 is a conceptual diagram illustrating significant_coeff_flag of a conversion unit according to an embodiment of the present invention.
  • significant_coeff_flag information should be transmitted for a subblock in which significant_coeff_group_flag is 1 or 1 inferred. If the significant_coeff_group_flag of the subblock is 0 or inferred to 0, it is not necessary to transmit significant_coeff_flag information separately because the transform coefficients are all 0.
  • transform coefficient information may be represented without needing to encode significant_coeff_flag. Therefore, the number of bits required for encoding significant_coeff_flag can be reduced. In the case of the transform unit as shown in FIG.
  • the number of bits used before changing the definitions of the significant_coeff_group_flag and the significant_coeff_flag for the last transform coefficient subblock has a transform coefficient in the last transform coefficient subblock, so the value of significant_coeff_group_flag, which is the first level, is 1 It can be inferred to represent the first level of significant map information without using bits, while the second level of significant_coeff_flag value is 0 of the transform coefficients that existed in the scanning order but knew the position of the last transform coefficient. Since information on how many coefficients are not known, an additional bit may be used for significant_coeff_flag for representing transform coefficient information included in the last transform coefficient subblock. Therefore, in the case of FIG. 7, since the number of transform coefficients to be scanned before 3 rows and 3 columns is 11, additional 11 bits are added.
  • the first level of significant_coeff_group_flag for indicating whether there is only one transform coefficient in the last transform coefficient subblock takes 1 bit, but the second level of In the case of significant_coeff_flag, the significant_coeff_group_flag shows that there is one non-zero transform coefficient in the last transform coefficient subblock, and since the position of the last transform coefficient is known, it is determined whether other non-zero transform coefficients exist. No bits are used for significant_coeff_flag for indicating.
  • the presence or absence of the presence or absence of the presence of the transformed subblock is compared with a method of not indicating whether only one transform coefficient exists in the last transform coefficient subblock. In the case of no method, a coding gain of 10 bits can be obtained.
  • FIG. 10 is a conceptual diagram illustrating a significant map according to an embodiment of the present invention.
  • a significant map of the transformation unit of FIG. 10 may be expressed.
  • FIG. 11 is a conceptual diagram illustrating a conversion unit according to an embodiment of the present invention.
  • non-zero transform coefficients 1100 exist at positions 1 and 2 in the last position transform coefficient subblock, and all transform coefficients present in the remaining positions of the last position transform coefficient subblock have zero values.
  • a bit used for representing significant map information takes 1 bit since significant_coeff_group_flag must have a value of 0 first. Since the last transform coefficient subblock with significant_coeff_group_flag equal to 0 has only one non-zero transform coefficient, the position of the last transform coefficient is known based on the syntax element information representing the position of the last transform coefficient, so the significant_coeff_flag information is not used and transformed. Coefficient information can be expressed.
  • significant_coeff_group_flag is not used because it is the last transform coefficient subblock, but some nonzero transforms in the last transform coefficient subblock Since we don't know whether a coefficient exists, we need to encode the transform coefficient information except the last transform coefficient in the scan order using significant_coeff_flag, and as a result, use the significant_coeff_flag for transform coefficient information (1110, 1120) present in 1st row, 1st column, and 2nd row. Two bits must be additionally used to represent. As a result, a case of encoding a significant map through significant_coeff_group_flag and significant_coeff_flag of a new definition according to an embodiment of the present invention may have a coding gain of 1 bit.
  • FIG. 12 is a conceptual diagram illustrating a conversion unit according to an embodiment of the present invention.
  • the non-zero last transform coefficients are present at positions 1200 of 4 rows and 4 columns, and the transform coefficients present in the remaining positions of the last transform coefficient subblock may be transform coefficient values having zero values.
  • a bit used for representing significant map information takes 1 bit because significant_coeff_group_flag must have a value of 0 first. Since the last transform coefficient subblock in which significant_coeff_group_flag is 0 has only one non-zero transform coefficient, significant_coeff_flag information may not be used as described above and may represent transform coefficient information.
  • significant_coeff_group_flag is not encoded for the last transform coefficient subblock, but how many nonzero transform coefficients exist in the last transform coefficient subblock. Since it is unknown, significant_coeff_flag should be used to encode the remaining transform coefficient information except for the last transform coefficient in the scan order, and as a result, the remaining transform coefficient information except the last transform coefficient in 4 rows and 4 columns of the subblock is represented using significant_coeff_flag. In order to do this, 15 additional bits must be used. As a result, the significant map encoding method according to the embodiment of the present invention may have an encoding gain of 14 bits.
  • an embodiment of the present invention discloses a method of encoding a significant map according to an embodiment of the present invention when the last transform coefficient subblock has a plurality of non-zero transform coefficients.
  • FIG. 13 is a conceptual diagram illustrating a conversion unit according to an embodiment of the present invention.
  • the last transform coefficient subblock 1300 may include a plurality of non-zero transform coefficients.
  • significant_coeff_group_flag may be represented by 1 to indicate that a plurality of nonzero transform coefficients exist in the last transform coefficient subblock.
  • FIG. 14 is a conceptual diagram illustrating significant_coeff_group_flag of a conversion unit according to an embodiment of the present invention.
  • FIG. 14 illustrates significant_coeff_group_flag of the conversion unit disclosed in FIG. 13.
  • 1 may be used as the significant_coeff_group_flag value 1400 of the last transform coefficient subblock to indicate that a plurality of non-zero transform coefficients exist in the last transform coefficient subblock.
  • FIG. 15 illustrates significant_coeff_flag of the conversion unit disclosed in FIG. 13.
  • the significant_coeff_flag of the last transform coefficient subblock may be encoded and transmitted except for the last transform coefficient.
  • the new significant map encoding method according to the embodiment of the present invention may further use 1 bit.
  • 16 is a conceptual diagram illustrating a significant map of a transformation unit according to an embodiment of the present invention.
  • FIG. 16 illustrates significant map information of the conversion unit disclosed in FIG. 13 generated by using the significant_coeff_group_flag calculated in FIG. 14 and the significant_coeff_flag calculated in FIG. 15.
  • 17 to 22 below illustrate another embodiment of reducing transform bits or expressing transform coefficient information with the same bits by using a significant map encoding method according to an embodiment of the present invention.
  • 17 is a conceptual diagram illustrating a conversion unit according to an embodiment of the present invention.
  • significant_coeff_group_flag may be represented by 1 to indicate that a plurality of nonzero transform coefficients exist in the last transform coefficient subblock.
  • 18 is a conceptual diagram illustrating significant_coeff_group_flag of a conversion unit according to an embodiment of the present invention.
  • FIG. 18 illustrates significant_coeff_group_flag of the conversion unit disclosed in FIG. 17.
  • 1 may be used as the significant_coeff_group_flag value 1800 of the last transform coefficient subblock to indicate that a plurality of non-zero transform coefficients exist in the last transform coefficient subblock.
  • FIG. 19 illustrates significant_coeff_flag of the conversion unit disclosed in FIG. 17.
  • significant_coeff_flag may not be separately used for representing coefficient information of the last transform coefficient subblock.
  • a significant_coeff_group_flag of 1 in the last transform coefficient subblock means that there are a plurality of non-zero transform coefficients in the last transform coefficient subblock, and if the position of the last transform coefficient is in the second scan order of the scan order, the first scan order It can be seen that the transform coefficient located at has a non-zero transform coefficient value.
  • the transform coefficient information of the sub block without using significant_coeff_flag of the last transform coefficient sub block as shown in FIG. Can be expressed.
  • 20 is a conceptual diagram illustrating a significant map according to an embodiment of the present invention.
  • a significant map may be expressed using the significant_coeff_group_flag of FIG. 18 and the significant_coeff_flag of FIG. 19.
  • 21 is a conceptual diagram illustrating a transform block according to an embodiment of the present invention.
  • the transform coefficient located in the first scan order of the last transform coefficient subblock is the last transform coefficient
  • the significant_coeff_group_flag value is inferred to 0 in the decoding step without encoding the significant_coeff_group_flag value, and the last transform coefficient.
  • FIG. 22 is a conceptual diagram illustrating a transform block according to an embodiment of the present invention.
  • one non-zero transform coefficient 2200 exists in two rows and one column which are the second positions in the scan order of the last transform coefficient subblock.
  • significant_coeff_group_flag of the last transform coefficient subblock becomes 0 and significant_coeff_flag is not transmitted.
  • the above-described significant map encoding method may be expressed as in the syntax of Table 2 below.
  • the syntax shown in Table 2 below is one example for implementing the present invention, and when it corresponds to a method of implementing a significant map according to an embodiment of the present invention, various syntax structures may be used, and such syntax structures may also be included in the scope of the present invention. Included.
  • the variable lastPosinSubset may indicate the relative position of the last transform coefficient in the subblock.
  • the relative position may mean the position of the last transform coefficient in the scanning order in the subblock.
  • a variable lastPosinSubset of 0 means that the last transform coefficient is located at the first position in the subblock, that is, at (0,0). Therefore, when the position of the last transform coefficient is located first in the subblock, the group_flag (significant_coeff_group_flag) for the corresponding subblock is not signaled (corresponding to the embodiment described above with reference to FIG. 21). Can be signaled explicitly.
  • the variable groupLastSubset indicates whether to signal a group flag for the subblock in which the last transform coefficient is located.
  • the numLastSubset value is designated in the groupLastSubset, and when only signaling to the previous subblock of the 4x4 size subblock, the value of (numLastSubset -1) may be specified in the variable groupLastSubset.
  • lastPosinSubset> 1 numLastSubset> i is a conditional statement for signaling coeff_flag (significant_coeff_flag) when the lastPosinSubset value exceeds 1 when processing a subblock including the last position transformation coefficient. That is, when the relative position in the sub-block of the last transform coefficient is 0 or 1 in the scanning order, it is not necessary to signal coeff_flag (corresponding to the embodiment described above with reference to FIGS. 17 to 20 and 21).
  • significant_coeff_group_flag [xCG] [yCG] specifies for the coefficient group position (xCG, yCG) within the current transform block whether the corresponding coefficient group at location (xCG, yCG) has non-zero transform coefficient level.
  • a coefficient group at location (xCG, yCG) is an array of 16 transform coefficient levels at locations (xC, yC).
  • significant_coeff_group_flag [xCG] [yCG] is equal to 0 and (xCG ⁇ 2, yCG ⁇ 2) is the coefficient group including the last significant position (LastSignificantCoeffX, LastSignificantCoeffY), the 15 transform coefficient levels (except the last significant position ) of the coefficient group at location (xCG, yCG) are inferred to be equal to 0;
  • At least one of the 16 transform coefficient levels of the coefficient group at location (xCG, yCG) has a non zero value.
  • At least one of the 16 significant_coeff_flag syntax elements is present for the coefficient group at location (xCG, yCG)
  • significant_coeff_flag [xC] [yC] specifies for the transform coefficient position (xC, yC) within the current transform block whether the corresponding transform coefficient level at location (xC, yC) is non-zero as follows.
  • FIGS. 23 and 24 and 25 and 26 are conceptual views illustrating a method of decoding significant map information based on significant_coeff_group_flag and significant_coeff_flag of a new definition.
  • the order of parsing significant_coeff_group_flag and significant_coeff_flag disclosed in FIGS. 23 and 24 and FIGS. 25 and 26 is arbitrary, and parsing methods having other orders and procedures may be applied, and such procedures are also included in the scope of the present invention.
  • 23 is a flowchart illustrating a method of calculating signature_coeff_group_flag information of each subblock according to an embodiment of the present invention.
  • step S2300 it is determined whether a decoding object block is a first sub block.
  • the group flag group_flag is set to 1 (S2310).
  • the decoding end in the case of the first subblock, the decoding end infers to 1 without encoding and transmitting the group flag value.
  • the group flag group_flag is parsed (S2320).
  • the group flag group_flag may be parsed.
  • the group flag (significant_coeff_group_flag) may be set to 0 or 1 depending on whether a non-zero transform coefficient exists and the last position transform is performed.
  • the group flag (significant_coeff_group_flag) may be set to 0 or 1 depending on whether one or more non-zero transform coefficients are present.
  • 24 is a flowchart illustrating a method of calculating signature_coeff_flag information of each subblock according to an embodiment of the present invention.
  • step S2400 It is determined whether the decoding target subblock is the first subblock.
  • significant_coeff_flag information which is transform coefficient information included in the subblock, may be parsed (step S2405).
  • step S2410 If the decoding target subblock is not the first subblock, it is determined whether the decoding target subblock is the last transform coefficient subblock (step S2410).
  • significant_coeff_flag of the last position transform coefficient is set to 1 (step S2415).
  • significant_coeff_flag is coded and not transmitted. Therefore, significant_coeff_flag of the last position transform coefficient is set to one.
  • step S2435 It is determined whether the significant_coeff_group_flag is 0 (step S2435).
  • the significant_coeff_group_flag is 0, the significant_coeff_flag of the remaining transform coefficients except for the last transform coefficient is set to 0 (step S2430).
  • significant_coeff_group_flag is parsed up to the transform coefficient before the last transform coefficient (step S2440).
  • the significant_coeff_flag of the transform coefficient following the last transform coefficient is set to 0 (step S2430).
  • step S2410 when the decoding target subblock is not the first subblock or the last transform coefficient subblock, it is determined whether significant_coeff_group_flag of the decoding target subblock is 0 (step S2450).
  • step S2455 significant_coeff_group_flag of the decoding target subblock is decoded (step S2455).
  • step S2460 if significant_coeff_flag of the remaining 15 transform coefficients except for the transform coefficient present in the first scan position included in the subblock is all 0, the significant_coeff_flag of the transform coefficient present in the first scanning position is set to 1 ( Step S2465).
  • the significant_coeff_flag of the remaining 15 transform coefficients other than the transform coefficients present in the first scan position included in the subblock is not 0, the significant_coeff_flag of the transform coefficients present in the first scanning position is parsed (step S2460). S2470).
  • step S2475 If the significant_coeff_group_flag of the decoding target subblock is 0 as a result of the determination through step S2450, the significant_coeff_flag of all transform coefficients included in the corresponding subblock is set to 0 (step S2475).
  • 25 and 26 disclose methods for parsing significant_coeff_group_flag and significant_coeff_flag in consideration of exceptional cases.
  • 25 is a flowchart illustrating a method of calculating signature_coeff_group_flag information of each subblock according to an embodiment of the present invention.
  • step S2500 it is determined whether the decoding target subblock is the first subblock.
  • the group_flag (significant_coeff_group_flag) is set to 1 (step S2510).
  • the significant_coeff_group_flag is inferred to be set to one.
  • step S2520 it is determined whether the decoding target subblock is the last transform coefficient subblock.
  • significant_coeff_group_flag may be set differently depending on whether the decoding target subblock is the last transform coefficient subblock.
  • the significant_coeff_group_flag value transmitted from the encoder is parsed (step S2530).
  • the decoding target subblock is the last transform coefficient subblock, it is determined whether the last transform coefficient position is the first position in the scanning order within the subblock (step S2540).
  • the significant_coeff_group_flag of the last transform coefficient subblock is set to 0 (step S2550).
  • the significant_coeff_group_flag coded and transmitted is decoded (step S2530).
  • FIG. 26 is a flowchart illustrating a method of calculating significant_coeff_flag information of a subblock according to an embodiment of the present invention.
  • step S2600 it is determined whether the decoding target subblock is the first subblock.
  • significant_coeff_flag information which is transform coefficient information included in the subblock, may be decoded (step S2605).
  • step S2610 If the decoding target subblock is not the first subblock, it is determined whether the decoding target subblock is the last transform coefficient subblock (step S2610).
  • significant_coeff_flag of the last position transform coefficient is set to 1 (step S2615).
  • significant_coeff_flag is encoded and not transmitted. Therefore, significant_coeff_flag of the last position transform coefficient is set to one.
  • step S2620 It is determined whether the significant_coeff_group_flag is 0 (step S2620).
  • the significant_coeff_group_flag is 0, the significant_coeff_flag of the remaining transform coefficients except for the last transform coefficient is set to 0 (step S2630).
  • step S2635 If the significant_coeff_group_flag is not 0, it is determined whether the second transform coefficient in the scanning order is the last transform coefficient (step S2635).
  • the significant_coeff_group_flag of the transform coefficients present at the first position in the scanning sequence is set to 1 when the second transform coefficient in the scanning sequence is the last transform coefficient (step S2625).
  • the significant_coeff_flag of the first transform coefficient may not be encoded and transmitted, and the significant_coeff_flag of the first transform coefficient may be inferred to 1 in the decoding step. have.
  • step S2625 the significant_coeff_flag of the remaining transform coefficients included in the last transform coefficient subblock is set to 0 (step S2630).
  • the significant_coeff_flag up to the transform coefficient before the last transform coefficient included in the last transform coefficient subblock is parsed (step S2640).
  • the significant_coeff_flag of the transform coefficient following the last transform coefficient is set to 0 (step S2630).
  • step S2610 when the decoding target subblock is not the first subblock or the last transform coefficient subblock, it is determined whether significant_coeff_group_flag of the decoding target subblock is 0 (step S2650).
  • step S2655 If the significant_coeff_group_flag of the decoding target subblock is not 0 as a result of the determination through the step S2650, the significant_coeff_flag of the remaining 15 transform coefficients except for the transform coefficient existing at the first scan position included in the subblock is decoded (step S2655).
  • step S2660 when significant_coeff_flag of the remaining 15 transform coefficients except for the transform coefficient present in the first scan position included in the sub-block is all 0, the significant_coeff_flag of the transform coefficient present in the first scanning position is set to 1 ( Step S2665).
  • the significant_coeff_flag of the remaining 15 transform coefficients except for the transform coefficients present in the first scan position included in the sub-block is not 0, the significant_coeff_flag of the transform coefficients present in the first scanning position is parsed (step S2660). S2670).
  • step S2675 If the significant_coeff_group_flag of the decoding target subblock is 0 as a result of the determination through step S2650, the significant_coeff_flag of all transform coefficients included in the subblock is set to 0 (step S2675).

Abstract

엔트로피 부복호화 방법 및 이러한 방법을 사용하는 장치가 개시되어 있다. 엔트로피 복호화 방법은 복호화 대상 서브 블록이 마지막 위치 변환 계수 서브 블록인지 여부를 판단하는 단계와 마지막 위치 변환 계수 서브 블록에 포함된 0이 아닌 변환 계수가 한개인지 여부에 대한 정보를 포함한 마지막 위치 변환 계수 서브 블록의 그룹 플래그를 복호화하는 단계를 포함할 수 있다. 따라서, 변환 계수 정보를 적은 비트수로 부호화 및 복호화함으로서 부호화 및 복호화 효율을 높일 수 있다.

Description

엔트로피 부복호화 방법 및 이러한 방법을 사용하는 장치
본 발명은 영상 부호화 및 복호화 방법에 관한 것으로 더욱 상세하게는 변환 계수를 엔트로피 부호화하고 복호화하는 방법 및 이러한 방법을 사용하는 장치에 관한 것이다.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 응용 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 데이터량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 저장하는 경우, 전송 비용과 저장 비용이 증가하게 된다. 영상 데이터가 고해상도, 고품질화 됨에 따라 발생하는 이러한 문제들을 해결하기 위해서는 고효율의 영상 압축 기술들이 활용될 수 있다.
영상 압축 기술로 현재 픽쳐의 이전 또는 이후 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 화면 간 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 화면 내 예측 기술, 출현 빈도가 높은 값에 짧은 부호를 할당하고 출현 빈도가 낮은 값에 긴 부호를 할당하는 엔트로피 부호화 기술 등 다양한 기술이 존재하고 이러한 영상 압축 기술을 이용해 영상 데이터를 효과적으로 압축하여 전송 또는 저장할 수 있다.
본 발명의 목적은 영상 부호화 효율을 증가시키기 위한 변환 계수를 엔트로피 부호화하는 방법을 제공하는 것이다.
또한, 본 발명의 또 다른 목적은 영상 부호화 효율을 증가시키기 위한 변환 계수를 엔트로피 부호화하는 방법을 수행하는 장치를 제공하는 것이다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 영상 복호화 방법은 복호화 대상 서브 블록이 마지막 위치 변환 계수 서브 블록인지 여부를 판단하는 단계와 상기 마지막 위치 변환 계수 서브 블록에 포함된 0이 아닌 변환 계수가 한개인지 여부에 대한 정보를 포함한 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그를 복호화하는 단계를 포함할 수 있다. 상기 그룹 플래그는 상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 하나의 변환 계수를 포함하고 상기 0이 아닌 하나의 변환 계수가 서브 블록 내에서 첫번째 스캔 위치에 존재하지 않을 경우 제1 플래그값으로 부호화되고 상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 복수의 변환 계수를 포함하는 경우 제2 플래그값으로 부호화되는 플래그일 수 있다. 상기 그룹 플래그는 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 존재하지 않는 경우 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그값으로 설정되는 플래그일 수 있다. 상기 영상 복호화 방법은 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그인 경우, 마지막 위치 변환 계수 위치에 해당하는 계수 플래그를 제2 플래그로 설정하고 마지막 위치 변환 계수를 제외한 마지막 위치 변환 계수 서브 블록에 포함된 나머지 변환 계수의 계수 플래그를 제1 플래그로 설정하는 단계를 더 포함할 수 있다. 상기 영상 복호화 방법은 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제2 플래그이고 변환 계수가 스캔 순서상 첫번째 스캔 순서 및 두번째 스캔 순서에 존재하지 않는 경우, 상기 마지막 위치 변환 계수 서브 블록의 계수 플래그를 복호화하는 단계를 더 포함할 수 있다. 상기 영상 복호화 방법은 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제2 플래그이고 마지막 위치 변환 계수가 스캔 순서상 두번째 스캔 순서에 위치한 경우, 상기 마지막 위치 변환 계수의 계수 플래그를 제2 플래그로 설정하고 스캔 순서상 첫번째 스캔 순서에 위치한 변환 계수의 계수 플래그를 제2 플래그로 설정하는 단계를 더 포함할 수 있다. 상기 영상 복호화 방법은 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그로 설정된 경우 스캔 순서상 첫번째 스캔 순서에 위치한 마지막 위치 변환 계수의 계수 플래그를 제2 플래그로 설정하는 단계를 더 포함할 수 있다. 상기 그룹 플래그는 상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 하나의 변환 계수를 포함하는 경우 제1 플래그, 상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 복수의 변환 계수를 포함하는 경우 제2 플래그로 설정되는 플래그일 수 있다. 상기 영상 복호화 방법은 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그로 설정된 경우, 마지막 위치 변환 계수의 계수 플래그를 제2 플래그로 설정하고 스캔 순서상 상기 마지막 위치 변환 계수 이전에 존재하는 계수의 계수 플래그를 제1 플래그로 설정하는 단계를 더 포함할 수 있다. 상기 영상 복호화 방법은 제1 서브 블록 및 마지막 위치 변환 계수 서브 블록을 제외한 나머지 서브 블록의 그룹 플래그를 복호화하는 단계와 상기 나머지 서브 블록의 그룹 플래그가 제2 플래그인 경우, 상기 나머지 서브 블록 내에서 스캔 순서상 첫번째 스캔 순서에 해당하는 변환 계수를 제외한 나머지 변환 계수의 계수 플래그를 복호화하는 단계를 포함할 수 있다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 영상 복호화 장치는 상기 역양자화부로부터 수신된 정보를 기초로 복호화 대상 서브 블록이 마지막 위치 변환 계수 서브 블록인지 여부를 판단하고 상기 마지막 위치 변환 계수 서브 블록에 포함된 0이 아닌 변환 계수의 개수 정보를 포함한 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그를 복호화하는 엔트로피 복호화부와 상기 엔트로피 복호화부로부터 복호화된 정보를 기초로 재정렬을 수행하는 재정렬부를 포함할 수 있다. 상기 그룹 플래그는 상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 하나의 변환 계수를 포함하고 상기 0이 아닌 하나의 변환 계수가 서브 블록 내에서 첫번째 스캔 위치에 존재하지 않을 경우 제1 플래그값으로 부호화되고 상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 복수의 변환 계수를 포함하는 경우 제2 플래그값으로 부호화되는 그룹 플래그일 수 있다. 상기 그룹 플래그는 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 존재하지 않는 경우 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그값으로 설정되는 그룹 플래그일 수 있다. 상기 엔트로피 복호화부는,
상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그인 경우, 마지막 위치 변환 계수 위치에 해당하는 계수 플래그를 제2 플래그로 설정하고 마지막 위치 변환 계수를 제외한 마지막 위치 변환 계수 서브 블록에 포함된 나머지 변환 계수의 계수 플래그를 제1 플래그로 설정하는 엔트로피 복호화부일 수 있다. 상기 엔트로피 복호화부는 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제2 플래그이고 변환 계수가 스캔 순서상 첫번째 스캔 순서 및 두번째 스캔 순서에 존재하지 않는 경우, 상기 마지막 위치 변환 계수 서브 블록의 계수 플래그를 복호화하는 엔트로피 복호화부일 수 있다. 상기 엔트로피 복호화부는 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제2 플래그이고 마지막 위치 변환 계수가 스캔 순서상 두번째 스캔 순서에 위치한 경우, 상기 마지막 위치 변환 계수의 계수 플래그를 제2 플래그로 설정하고 스캔 순서상 첫번째 스캔 순서에 위치한 변환 계수의 계수 플래그를 제2 플래그로 설정하는 엔트로피 복호화부일 수 있다. 상기 엔트로피 복호화부는 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그로 설정된 경우 스캔 순서상 첫번째 스캔 순서에 위치한 마지막 위치 변환 계수의 계수 플래그를 제2 플래그로 설정하는 엔트로피 복호화부일 수 있다. 상기 엔트로피 복호화부는 상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 하나의 변환 계수를 포함하는 경우 제1 플래그, 상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 복수의 변환 계수를 포함하는 경우 제2 플래그로 설정하는 엔트로피 복호화부일 수 있다. 상기 엔트로피 복호화부는 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그로 설정된 경우, 마지막 위치 변환 계수의 계수 플래그를 제2 플래그로 설정하고 스캔 순서상 상기 마지막 위치 변환 계수 이전에 존재하는 계수의 계수 플래그를 제1 플래그로 설정하는 엔트로피 복호화부일 수 있다. 상기 엔트로피 복호화부는 제1 서브 블록 및 마지막 위치 변환 계수 서브 블록을 제외한 나머지 서브 블록의 그룹 플래그를 복호화하고 상기 나머지 서브 블록의 그룹 플래그가 제2 플래그인 경우, 상기 나머지 서브 블록 내에서 스캔 순서상 첫번째 스캔 순서에 해당하는 변환 계수를 제외한 나머지 변환 계수의 계수 플래그를 복호화하는 엔트로피 복호화부일 수 있다.
상술한 바와 같이 본 발명의 실시예에 따른 변환 계수 엔트로피 부호화 방법 및 이러한 방법을 사용하는 장치에 따르면 스캐닝 순서상 마지막 변환 계수 위치에 존재하는 변환 계수의 significant map 정보를 부호화 및 복호화함에 있어서, 새로운 구문 요소 정의를 사용함으로서 변환 계수 정보를 적은 비트수로 부호화 및 복호화함으로서 부호화 및 복호화 효율을 높일 수 있다.
도 1은 본 발명의 실시예에 따른 부호화 장치를 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 복호화기를 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 변환 계수를 스캐닝하는 방법을 나타낸 개념도이다.
도 4는 본 발명의 실시예에 따른 16x16 크기의 변환 단위를 나타낸 개념도이다.
도 5는 본 발명의 실시예에 따른 변환 단위의 significant_coeff_group_flag를 표현한 개념도이다.
도 6은 본 발명의 실시예에 따른 변환 단위의 significant_coeff_flag를 표현한 개념도이다.
도 7은 본 발명의 실시예에 따른 변환 단위에 포함되는 변환 계수 정보를 나타낸 개념도이다.
도 8은 본 발명의 실시예에 따른 도 7에서 개시한 변환 단위의 변환 계수 정보를 기초로 significant_coeff_group_flag을 나타낸 개념도이다.
도 9는 본 발명의 실시예에 따른 significant map을 나타낸 개념도이다.
도 10은 본 발명의 실시예에 따른 significant map을 나타낸 개념도이다.
도 11은 본 발명의 실시예에 따른 변환 단위를 나타낸 개념도이다.
도 12는 본 발명의 실시예에 따른 변환 단위를 나타낸 개념도이다.
도 13은 본 발명의 실시예에 따른 변환 단위를 나타낸 개념도이다.
도 14는 본 발명의 실시예에 따른 변환 단위에 대한 significant_coeff_group_flag를 나타낸 개념도이다.
도 15는 본 발명의 실시예에 따른 변환 단위에 대한 significant_coeff_flag를 나타낸 개념도이다.
도 16은 본 발명의 실시예에 따른 변환 단위에 대한 significant map을 나타낸 개념도이다.
도 17은 본 발명의 실시예에 따른 변환 단위를 나타낸 개념도이다.
도 18은 본 발명의 실시예에 따른 변환 단위에 대한 significant_coeff_group_flag를 나타낸 개념도이다.
도 19는 본 발명의 실시예에 따른 변환 단위에 대한 significant_coeff_flag를 나타낸 개념도이다.
도 20은 본 발명의 실시예에 따른 significant_coeff_flag를 나타낸 개념도이다.
도 21은 본 발명의 실시예에 따른 변환 블록을 나타낸 개념도이다.
도 22는 본 발명의 실시예에 따른 변환 블록을 나타낸 개념도이다.
도 23은 본 발명의 실시예에 따른 각 서브 블록의significant_coeff_group_flag 정보를 산출하는 방법을 나타낸 순서도이다.
도 24는 본 발명의 실시예에 따른 서브 블록의 significant_coeff_group_flag 정보를 산출하는 방법을 나타낸 순서도이다.
도 25는 본 발명의 실시예에 따른 각 서브 블록의significant_coeff_group_flag 정보를 산출하는 방법을 나타낸 순서도이다.
도 26은 본 발명의 실시예에 따른 서브 블록의 significant_coeff_group_flag 정보를 산출하는 방법을 나타낸 순서도이다.
본 발명의 실시예 및 도면에 개시된 각 구성부들은 영상 부호화 장치의 서로 다른 특징적인 기능들을 나타내기 위해 독립적인 구성으로 개시한 것이다. 각 구성부들이 반드시 분리된 하드웨어나 하나의 소프트웨어 구성 단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벋어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 본 발명에서 개시된 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리 범위에 포함된다.
도 1은 본 발명의 실시예에 따른 부호화 장치를 나타낸 블록도이다.
도 1을 참조하면, 부호화 장치는 분할부(100), 예측부(110), 화면 내 예측부(103), 화면 간 예측부(106), 변환부(115), 양자화부(120), 재정렬부(125), 엔트로피 부호화부(130), 역양자화부(135), 역변환부(140), 필터부(145) 및 메모리(150)를 포함할 수 있다.
부호화 장치는 이하의 본 발명의 실시예에서 설명하는 영상 부호화 방법에 의해 구현될 수 있으나, 일부의 구성부에서의 동작은 부호화기의 복잡도를 낮추기 위해 또는 빠른 실시간 부호화를 위해 수행되지 않을 수 있다. 예를 들어, 예측부에서 화면 내 예측을 수행함에 있어서, 실시간으로 부호화를 수행하기 위해 모든 화면 내 예측 모드 방법을 사용하여 최적의 화면 내 부호화 방법을 선택하는 방법을 사용하지 않고 일부의 제한적인 개수의 화면 내 예측 모드를 사용하여 그 중에서 하나의 화면 내 예측 모드를 최종 화면 내 예측 모드로 선택하는 방법이 사용될 수 있다. 또 다른 예로 화면 내 예측 또는 화면 간 예측을 수행함에 있어 사용되는 예측 단위의 형태를 제한적으로 사용하도록 하는 것도 가능하다.
부호화 장치에서 처리되는 블록의 단위는 부호화를 수행하는 부호화 단위, 예측을 수행하는 예측 단위, 변환을 수행하는 변환 단위가 될 수 있다. 부호화 단위는 CU(Coding Unit), 예측 단위는 PU(Prediction Unit), 변환 단위는 TU(Transform Unit)라는 용어로 표현될 수 있다.
분할부(100)에서는 하나의 픽쳐를 복수의 부호화 단위, 예측 단위 및 변환 단위의 조합으로 분할하고 소정의 기준(예를 들어, 비용 함수)으로 그 중 하나의 부호화 단위, 예측 단위 및 변환 단위 조합을 선택하여 픽쳐를 분할할 수 있다. 예를 들어, 픽쳐에서 부호화 단위를 분할하기 위해서는 쿼드 트리 구조(QuadTree Structure)와 같은 재귀적인 트리 구조를 사용할 수 있다. 이하, 본 발명의 실시예에서는 부호화 단위의 의미를 부호화를 하는 단위라는 의미뿐만 아니라 복호화를 수행하는 단위라는 의미로도 사용할 수 있다.
예측 단위는 화면 내 예측 또는 화면 간 예측을 수행하는 단위가 될 수 있다. 화면 내 예측을 수행하는 단위로는 2Nx2N, NxN과 같은 정사각형의 단위나 SDIP(Short Distance Intra Prediction)를 사용하는 직사각형의 형태의 예측 단위 형태를 가질 수 있다. 화면 간 예측을 수행하는 단위로는 2Nx2N, NxN과 같은 정사각형의 단위 또는 정사각형 형태의 예측 단위를 동일한 형태로 이분할한 형태인 2NxN, Nx2N 또는 비대칭 형태인 AMP (Asymetric Motion Partitioning)를 사용한 예측 단위 분할 방법이 있다. 예측 단위의 형태에 따라 변환부(115)에서는 변환을 수행하는 방법이 달라질 수 있다.
예측부(110)는 화면 내 예측을 수행하는 화면 내 예측부(103)와 화면 간 예측을 수행하는 화면 간 예측부(106)를 포함할 수 있다. 예측 단위에 대해 화면 간 예측을 사용할 것인지 또는 화면 내 예측을 수행할 것인지를 결정할 수 있다. 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 다를 수 있다. 예를 들어, 화면 내 예측을 수행함에 있어서 예측 모드는 예측 단위로 결정되고, 예측을 수행하는 과정은 변환 단위를 기초로 수행될 수도 있다. 생성된 예측 블록과 원본 블록 사이의 잔차값(잔차 블록)은 변환부(115)로 입력될 수 있다. 또한, 예측을 위해 사용한 예측 모드 정보, 움직임 벡터 정보 등은 잔차값과 함께 엔트로피 부호화부(130)에서 부호화되어 복호화기에 전달될 수 있다.
PCM(Pulse Coded Modulation) 부호화 모드를 사용할 경우, 예측부(110)를 통해 예측을 수행하지 않고, 원본 블록을 그대로 부호화하여 복호화부에 전송하는 것도 가능하다.
화면 내 예측부(103)에서는 현재 예측 단위의 주변에 존재하는 참조 픽셀을 기초로 예측 단위를 생성할 수 있다. 현재 예측 단위에 대한 최적의 화면 내 예측 모드를 산출하기 위해서 화면 내 예측부(103)는 현재 예측 단위를 복수의 화면 내 예측 모드로 생성하고 그 중 하나를 선택적으로 사용할 수 있다. 화면 내 예측에서 예측 모드는 참조 픽셀 정보를 예측 방향에 따라 사용하는 방향성 예측 모드와 예측을 수행 시 방향성 정보를 사용하지 않는 비방향성 모드를 가질 수 있다.
화면 내 예측 방법은 예측 모드에 따라 참조 화소에 MDIS(Mode Dependent Intra Smoothing) 필터를 적용한 후 예측 블록을 생성할 수 있다. 참조 화소에 적용되는 MDIS 필터의 종류는 상이할 수 있다. 화면 내 예측 방법을 수행하기 위해 또한, 화면 내 예측이 수행된 이후에 추가의 필터를 사용하여 참조 픽셀과 예측을 수행 후 예측 단위에 존재하는 일부 열에 대한 추가적인 필터링을 수행할 수 있다. 참조 픽셀과 예측을 수행 후 예측 단위에 존재하는 일부 열에 대한 필터링은 예측 모드의 방향성에 따라 다른 필터링을 사용할 수 있다.
화면 간 예측부(106)는 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐의 정보를 기초로 예측 단위를 생성할 수 있다. 화면 간 예측부(106)는 참조 픽쳐 보간부, 움직임 추정부, 움직임 보상부가 포함할 수 있다.
참조 픽쳐 보간부에서는 메모리(150)로부터 참조 픽쳐 정보를 제공받고 참조 픽쳐에서 정수 화소 이하의 화소 정보를 생성할 수 있다. 휘도 화소의 경우, 1/4 화소 단위로 정수 화소 이하의 화소 정보를 생성하기 위해 필터 계수를 달리하는 DCT 기반의 8탭 보간 필터(DCT-based Interpolation Filter)가 사용될 수 있다. 색차 신호의 경우 1/8 화소 단위로 정수 화소 이하의 화소 정보를 생성하기 위해 필터 계수를 달리하는 DCT 기반의 4탭 보간 필터(DCT-based Interpolation Filter)가 사용될 수 있다.
화면 간 예측부(106)는 참조 픽쳐 보간부에 의해 보간된 참조 픽쳐를 기초로 움직임 예측을 수행할 수 있다. 움직임 벡터를 산출하기 위한 방법으로 FBMA(Full search-based Block Matching Algorithm), TSS(Three Step Search), NTS(New Three-Step Search Algorithm) 등 다양한 방법이 사용될 수 있다. 움직임 벡터는 보간된 화소를 기초로 1/2 또는 1/4 화소 단위의 움직임 벡터값을 가질 수 있다. 화면 간 예측부(106)에서는 움직임 예측 방법을 다르게 하여 현재 예측 단위를 예측할 수 있다. 움직임 예측 방법으로 스킵(Skip) 방법, 머지(Merge) 방법, AMVP(Advanced Motion Vector Prediction) 방법 등 다양한 방법이 사용될 수 있다.
예측부(110)에서 생성된 예측 단위를 기초로 예측을 수행한 예측 단위와 예측 단위의 원본[복원] 블록과 차이값인 잔차값(Residual) 정보를 포함하는 잔차 블록이 생성될 수 있다. 생성된 잔차 블록은 변환부(115)로 입력될 수 있다. 변환부(115)에서는 부호화 대상 즉, 잔차 블록을 DCT(Discrete Cosine Transform) 또는 DST(Discrete Sine Transform)와 같은 변환 방법을 사용하여 변환시킬 수 있다. 양자화부(120)는 변환부(115)에서 주파수 영역으로 변환된 값들을 양자화할 수 있다. 블록에 따라 또는 영상의 중요도에 따라 양자화 계수는 변할 수 있다. 양자화부(120)에서 산출된 값은 역양자화부(135)와 재정렬부(125)에 제공될 수 있다.
재정렬부(125)는 양자화된 잔차값에 대해 계수값의 재정렬을 수행할 수 있다.재정렬부(125)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원의 블록 형태 계수를 1차원의 벡터 형태로 변경할 수 있다. 예를 들어, 재정렬부(125)에서는 다이아고널 스캔(Diagonal Scan)방법을 이용하여 DC 계수부터 고주파수 영역의 계수까지 스캔하여 1차원 벡터 형태로 변경시킬 수 있다. 변환 단위의 크기 및 화면 내 예측 모드에 따라 다이아고널 스캔 방법이 아닌 2차원의 블록 형태 계수를 열 방향으로 스캔하는 수직 스캔 방법, 2차원의 블록 형태 계수를 행 방향으로 스캔하는 수평 스캔 방법이 사용될 수 있다. 즉, 변환 단위의 크기 및 화면 내 예측 모드에 따라 다이어고널 스캔, 수직 방향 스캔 및 수평 방향 스캔 중 어떠한 스캔 방법이 사용될지 여부를 결정할 수 있다.
엔트로피 부호화부(130)는 재정렬부(125)에 의해 산출된 값들을 기초로 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 다양한 부호화 방법을 사용할 수 있다.
엔트로피 부호화부(130)는 재정렬부(125) 및 예측부(110)로부터 부호화 단위의 잔차값 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, 예측 단위 정보 및 전송 단위 정보, 움직임 벡터 정보, 참조 프레임 정보, 블록의 보간 정보, 필터링 정보 등 다양한 정보를 제공받아 소정의 부호화 방법을 기초로 엔트로피 부호화를 수행할 수 있다. 또한, 엔트로피 부호화부(130)에서는 재정렬부(125)에서 입력된 부호화 단위의 계수값을 엔트로피 부호화할 수 있다.
엔트로피 부호화부(130)에서는 CABAC을 이용한 HEB(High Efficiency Binarization) 방법 또는 CABAC의 bypass 코딩을 CAVLC 계수 이진화 방법을 활용하는 HTB(High Throughput Binarization) 방법을 통해 엔트로피 코딩을 수행할 수 있다.
엔트로피 부호화부에서는 변환 계수를 기초로 시그니피컨트 맵(이하, significant map)을 생성할 수 있다. significant map은 구문 요소 정보인 significant_coeff_group_flag와 significant_coeff_flag를 사용하여 두 개의 레벨(two level)을 기초로 표현될 수 있다. 예를 들어, 우선 significant_coeff_group_flag를 사용한 제1 레벨을 통해 각 서브 블록(제2 서브 블록 내지 마지막 변환 계수 서브 블록 이전 스캔 서브 블록)에 0이 아닌 변환 계수가 존재하는지 여부를 표현할 수 있고 significant_coeff_flag를 사용한 제2 레벨을 통해 각 서브 블록에 포함된 변환 계수 정보를 표현할 수 있다. 본 발명의 실시예에 따르면 스캔 순서상 마지막 위치에 존재하는 변환 계수를 포함하는 서브 블록의 경우 significant_coeff_group_flag와 significant_coeff_flag를 다르게 정의하여 서브 블록의 변환 계수 정보를 나타낼 수 있고 이러한 실시예에 대해서는 이하, 본 발명의 실시예에서 상술한다.
역양자화부(135) 및 역변환부(140)에서는 양자화부(120)에서 양자화된 값들을 역양자화하고 변환부(115)에서 변환된 값들을 역변환한다. 역양자화부(135) 및 역변환부(140)에서 생성된 잔차값(Residual)은 예측부(110)에 포함된 움직임 추정부, 움직임 보상부 및 인트라 예측부를 통해서 예측된 예측 단위와 합쳐져 복원 블록(Reconstructed Block)으로 생성될 수 있다.
필터부(145)는 디블록킹 필터, 오프셋 보정부, ALF(Adaptive Loop Filter)중 적어도 하나를 포함할 수 있다.
디블록킹 필터는 복원된 픽쳐에서 블록간의 경계로 인해 생긴 블록 왜곡을 제거할 수 있다. 디블록킹을 수행할지 여부를 판단하기 위해 블록에 포함된 몇 개의 열 또는 행에 포함된 픽셀을 기초로 현재 블록에 디블록킹 필터 적용할지 여부를 판단할 수 있다. 블록에 디블록킹 필터를 적용하는 경우 필요한 디블록킹 필터링 강도에 따라 강한 필터(Strong Filter) 또는 약한 필터(Weak Filter)를 적용할 수 있다. 또한 디블록킹 필터를 적용함에 있어 수직 필터링 및 수평 필터링을 수행시 수평 방향 필터링 및 수직 방향 필터링이 병행처리가 되도록 할 수 있다.
오프셋 보정부는 디블록킹을 수행한 영상에 대해 픽셀 단위로 원본 영상과의 오프셋을 보정할 수 있다. 특정 픽쳐에 대한 오프셋 보정을 수행하기 위해 영상에 포함된 픽셀을 일정한 수의 영역으로 구분한 후 오프셋을 수행할 영역을 결정하고 해당 영역에 오프셋을 적용하는 방법 또는 각 픽셀의 에지 정보를 고려하여 오프셋을 적용하는 방법을 사용할 수 있다.
ALF (Adaptive Loop Filter)는 필터링한 복원 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 영상에 포함된 픽셀을 적어도 하나 이상의 그룹으로 나눈 후 해당 그룹에 적용될 하나의 필터를 결정하여 그룹마다 차별적으로 필터링을 수행할 수 있다. ALF를 적용할지 여부에 관련된 정보 중 휘도 신호는 부호화 단위 별로 전송될 수 있고, ALF의 크기 및 계수는 각각의 블록에 따라 달라질 수 있다. ALF는 다양한 형태를 가질 수 있으며, 필터에 그에 따라 포함되는 계수의 개수도 달라질 수 있다. 이러한 ALF의 필터링 관련 정보(필터 계수 정보, ALF On/Off 정보, 필터 형태 정보)는 비트스트림 형태로 파라메터 셋에 포함되어 전송될 수 있다.
메모리(150)는 필터부(145)를 통해 산출된 복원 블록 또는 픽쳐를 저장할 수 있고, 저장된 복원 블록 또는 픽쳐는 화면 간 예측을 수행 시 예측부(110)에 제공될 수 있다.
도 2는 본 발명의 실시예에 따른 복호화기를 나타낸 블록도이다.
도 2를 참조하면, 복호화기는 엔트로피 복호화부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235), 메모리(240)가 포함될 수 있다.
부호화기에서 비트스트림이 입력된 경우, 입력된 비트스트림은 부호화기와 반대의 절차로 복호화될 수 있다.
엔트로피 복호화부(210)는 부호화기의 엔트로피 부호화부에서 엔트로피 부호화를 수행한 것과 반대의 절차로 엔트로피 복호화를 수행할 수 있다. 엔트로피 복호화부(210)에서 복호화된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(230)로 제공되고 엔트로피 복호화부에서 엔트로피 복호화를 수행한 잔차값은 재정렬부(215)로 입력될 수 있다.
엔트로피 복호화부에서는 부호화된 구문 요소 정보인 significant_coeff_group_flag와 significant_coeff_flag를 사용하여 significant map을 생성할 수 있다. 본 발명의 실시예에 따르면 스캔 순서상 마지막 위치에 존재하는 변환 계수를 포함하는 서브 블록의 경우 significant_coeff_group_flag와 significant_coeff_flag를 다르게 정의하여 서브 블록의 변환 계수 정보를 나타낼 수 있고 이러한 실시예에 대해서는 이하, 본 발명의 실시예에서 상술한다.
두 개의 레벨(two level)을 기초로 표현될 수 있다. 예를 들어, 우선 significant_coeff_group_flag를 사용한 제1 레벨을 통해 각 서브 블록(제2 서브 블록 내지 마지막 변환 계수 서브 블록 이전 스캔 서브 블록)에 0이 아닌 변환 계수가 존재하는지 여부를 표현할 수 있고 significant_coeff_flag를 사용한 제2 레벨을 통해 각 서브 블록에 포함된 변환 계수 정보를 표현할 수 있다. 이하, 본 발명의 실시예에 따른 제1 레벨(significant_coeff_group_flag) 및 제2 레벨(significant_coeff _flag)의 부호화 및 복호화 방법에 대해 상술한다.
엔트로피 복호화부(210)에서도 엔트로피 부호화부와 마찬가지로 CABAC을 이용한 HEB 또는 CAVLC의 계수 코딩 방법을 활용하는 HTB 방법 중 적어도 하나의 방법을 사용하여 역 변환을 수행할 수 있다.
엔트로피 복호화부(210)에서는 부호화기에서 수행된 화면 내 예측 및 화면 간 예측에 관련된 정보를 복호화할 수 있다. 전술한 바와 같이 부호화기에서 화면 내 예측 및 화면 간 예측을 수행시 예를 들어 주변의 예측 모드가 가용하지 않은 경우 등의 제약이 있는 경우, 이러한 제약을 기초로 한 엔트로피 복호화를 수행해 현재 블록에 대한 화면 내 예측 및 화면 간 예측에 관련된 정보를 제공받을 수 있다.
재정렬부(215)는 엔트로피 복호화부(210)에서 엔트로피 복호화된 비트스트림을 부호화부에서 재정렬한 방법을 기초로 재정렬을 수행할 수 있다. 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부에서는 부호화부에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 해당 부호화부에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통해 재정렬을 수행할 수 있다.
역양자화부(220)는 부호화기에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.
역변환부(225)는 부호화기에서 수행한 양자화 결과에 대해 변환부에서 수행한 DCT 및 DST에 대해 역 DCT 및 역 DST를 수행할 수 있다. 역변환은 부호화기에서 결정된 전송 단위를 기초로 수행될 수 있다. 부호화기의 변환부에서는 DCT와 DST는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 복호화기의 역변환부(225)에서는 부호화기의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
변환을 수행 시 변환 단위가 아닌 부호화 단위를 기준으로 변환을 수행할 수 있다.
예측부(230)는 엔트로피 복호화부(210)에서 제공된 예측 블록 생성 관련 정보와 메모리(240)에서 제공된 이전에 복호화된 블록 또는 픽쳐 정보를 기초로 예측 블록을 생성할 수 있다.
전술한 바와 같이 부호화기에서의 동작과 동일하게 화면 내 예측을 수행 시 예측 단위의 크기와 변환 단위의 크기가 동일할 경우, 예측부(230)는 예측 단위의 좌측에 존재하는 픽셀, 좌측 상단에 존재하는 픽셀, 상단에 존재하는 픽셀을 기초로 예측 단위에 대한 화면 내 예측을 수행하지만, 화면 내 예측을 수행 시 예측 단위의 크기와 변환 단위의 크기가 상이할 경우, 변환 단위를 기초로 한 참조 픽셀을 이용하여 화면 내 예측을 수행할 수 있다. 또한, 최소 부호화 단위에 대해서만 NxN 분할을 사용하는 화면 내 예측을 사용할 수 있다.
예측부(230)는 예측 단위 판별부, 화면 간 예측부 및 화면 내 예측부를 포함할 수 있다. 예측 단위 판별부는 엔트로피 복호화부에서 입력되는 예측 단위 정보, 화면 내 예측 방법의 예측 모드 정보, 화면 간 예측 방법의 움직임 예측 관련 정보 등 다양한 정보를 입력 받고 현재 부호화 단위에서 예측 단위를 구분하고, 예측 단위가 화면 간 예측을 수행하는지 아니면 화면 내 예측을 수행하는지 여부를 판별할 수 있다. 화면 간 예측부는 부호화기에서 제공된 현재 예측 단위의 화면 간 예측에 필요한 정보를 이용해 현재 예측 단위가 포함된 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐에 포함된 정보를 기초로 현재 예측 단위에 대한 화면 간 예측을 수행할 수 있다. 화면 간 예측을 수행하기 위해 부호화 단위를 기준으로 해당 부호화 단위에 포함된 예측 단위의 움직임 예측 방법이 스킵 모드(Skip Mode), 머지 모드(Merge 모드), AMVP 모드(AMVP Mode) 중 어떠한 방법인지 여부를 판단할 수 있다.
화면 내 예측부는 현재 픽쳐 내의 화소 정보를 기초로 예측 블록을 생성할 수 있다. 예측 단위가 화면 내 예측을 수행한 예측 단위인 경우, 부호화기에서 제공된 예측 단위의 화면 내 예측 모드 정보를 기초로 화면 내 예측을 수행할 수 있다. 화면 내 예측부에는 MDIS 필터, 참조 화소 보간부, DC 필터를 포함할 수 있다. MDIS 필터는 현재 블록의 참조 화소에 필터링을 수행하는 부분으로써 현재 예측 단위의 예측 모드에 따라 필터의 적용 여부를 결정하여 적용할 수 있다. 부호화기에서 제공된 예측 단위의 예측 모드 및 MDIS 필터 정보를 이용하여 현재 블록의 참조 화소에 MDIS 필터링을 수행할 수 있다. 현재 블록의 예측 모드가 MDIS 필터링을 수행하지 않는 모드일 경우, MDIS 필터는 적용되지 않을 수 있다. 또한, 부호화기에서 마찬가지로 예측 블록을 생성 후 참조 픽셀과 함께 추가적으로 필터링을 수행할 수 있다.
참조 화소 보간부는 예측 단위의 예측 모드가 참조 화소를 보간한 화소값을 기초로 화면 내 예측을 수행하는 예측 단위일 경우, 참조 화소를 보간하여 정수값 이하의 화소 단위의 참조 화소를 생성할 수 있다. 현재 예측 단위의 예측 모드가 참조 화소를 보간하지 않고 예측 블록을 생성하는 예측 모드일 경우 참조 화소는 보간되지 않을 수 있다. DC 필터는 현재 블록의 예측 모드가 DC 모드일 경우 필터링을 통해서 예측 블록을 생성할 수 있다.
복원된 블록 또는 픽쳐는 필터부(235)로 제공될 수 있다. 필터부(235)는 디블록킹 필터, 오프셋 보정부, ALF를 포함할 수 있다.
부호화기로부터 해당 블록 또는 픽쳐에 디블록킹 필터를 적용하였는지 여부에 대한 정보 및 디블록킹 필터를 적용하였을 경우, 강한 필터를 적용하였는지 또는 약한 필터를 적용하였는지에 대한 정보를 제공받을 수 있다. 복호화기의 디블록킹 필터에서는 부호화기에서 제공된 디블록킹 필터 관련 정보를 제공받고 복호화기에서 해당 블록에 대한 디블록킹 필터링을 수행할 수 있다. 부호화기에서와 마찬가지로 우선 수직 디블록킹 필터링 및 수평 디블록킹 필터링을 수행하되, 겹치는 부분에 있어서는 수직 디블록킹 및 수평 디블록킹 중 적어도 하나를 수행할 수 있다. 수직 디블록킹 필터링 및 수평 디블록킹 필터링이 겹치는 부분에서 이전에 수행되지 못한 수직 디블록킹 필터링 또는 수평 디블록킹 필터링이 수행될 수 있다. 이러한 디블록킹 필터링 과정을 통해서 디블록킹 필터링의 병행 처리(Parallel Processing)이 가능하다.
오프셋 보정부는 부호화시 영상에 적용된 오프셋 보정의 종류 및 오프셋 값정보 등을 기초로 복원된 영상에 오프셋 보정을 수행할 수 있다.
ALF는 필터링을 수행 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 부호화기로부터 제공된 ALF 적용 여부 정보, ALF 계수 정보 등을 기초로 부호화 단위에 ALF를 적용할 수 있다. 이러한 ALF 정보는 특정한 파라메터 셋에 포함되어 제공될 수 있다.
메모리(240)는 복원된 픽쳐 또는 블록을 저장하여 참조 픽쳐 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽쳐를 출력부로 제공할 수 있다.
전술한 바와 같이 이하, 본 발명의 실시예에서는 설명의 편의상 코딩 유닛(Coding Unit)을 부호화 단위라는 용어로 사용하지만, 부호화뿐만 아니라 복호화를 수행하는 단위가 될 수도 있다.
아래의 표 1은 CABAC(Context Adaptive Binary Arithmetic Coding)에서 변환 계수(Transform Coefficient)를 부호화 및 복호화하기 위해 사용되는 신택스들을 나타낸 것이다.
표 1
last_significant_coeff_x_prefix
last_significant_coeff_y_prefix
last_significant_coeff_x_suffix
last_significant_coeff_y_suffix
significant_coeff_group_flag
significant_coeff_flag
coeff_abs_level_greater1_flag
coeff_abs_level_greater2_flag
coeff_sign_flag
coeff_abs_level_remaining
표 1을 참조하면, 구문 요소 중 last_significant_coeff_x_prefix, last_significant_coeff_y_prefix, last_significant_coeff_x_suffix 및last_significant_coeff_y_suffix는 변환 계수의 스캐닝(scanning) 순서상 마지막에 위치한 0이 아닌 변환 계수의 위치 정보를 나타낼 수 있으며, significant_coeff_group_flag 및 significant_coeff_flag는 변환 계수가 0인지 여부를 나타낸다. significant_coeff_group_flag 값은 4x4 서브 블록(sub-block)에 0이 아닌 변환 계수가 포함되어 있는지를 나타내며, significant_coeff_flag은 각 4x4 서브 블록(sub-block) 내 변화 계수 위치 별로 0이 아닌 값을 갖는지를 나타낼 수 있다. 두 신택스 (significant_coeff_group_flag 및 significant_coeff_flag)는 significant map을 구성하기 위한 구문 요소 정보로 사용될 수 있다. 그 이외의 syntax들(coeff_abs_level_greater1_flag, coeff_abs_level_greater2_flag, coeff_sign_flag, coeff_abs_level_remaining)은 변환 계수의 크기 정보를 나타낼 수 있다.
변환 계수의 마지막 위치(last position)는 변환 계수들을 스캐닝하는 방법에 따라 달라질 수 있다.
도 3은 본 발명의 실시예에 따른 변환 계수를 스캐닝하는 방법을 나타낸 개념도이다.
도 3을 참조하면, 16x16 크기의 변환 단위(TU, Transform Unit)에서 up-right diagonal scanning 방식(이하, 다이아고널 스캐닝 방식이라고 함)을 사용하여 변환 계수 정보를 스캐닝하는 것을 나타낸 개념도이다.
16x16 크기의 변환 단위는 16 개의 4x4 크기의 서브 블록(sub-block)으로 나뉠 수 있다. 다이아고널 스캐닝 방식은 1 번부터 16 번까지 번호를 매긴 순서대로 화살표 방향으로 16x16 크기의 변환 단위에 포함된 서브 블록을 스캐닝하여 변환 계수 중 마지막 0이 아닌 계수값을 가진 서브-블록이 어떤 위치에 존재하는지에 대한 정보를 생성할 수 있다. 비트스트림에 삽입하는 순서는 다이아고널 스캐닝 방법의 역순으로 (즉, 16번부터 1번까지) 16 개의 4x4 크기의 서브 블록(sub-block)에 대한 정보가 저장된다. 본 실시예에서는 편의상 역순이 아닌, 순서대로 설명한다.
도 3에서와 같은 스캐닝 순서를 기준으로 서브 블록을 제1 서브 블록 내지 제16 서브 블록이라고 정의하면 각 서브-블록에 존재하는 변환 계수들도 다이아고날 스캔 방식으로 스캐닝될 수 있다. 예를 들어, 제1 서브 블록에 존재하는 계수들은 다이아고날 스캔 방식으로 0번부터 15번까지 스캐닝할 수 있다. 상기 언급한 변환 계수 중 마지막에 위치한 0이 아닌 계수값을 가진 서브-블록도 제1 서브 블록과 동일한 다이아고날 스캔 방식으로 0번부터 15번까지 스캐닝하여 마지막 0이 아닌 계수 값의 정확한 위치 (x,y)를 알아 낼 수 있다. 변환 계수들 역시, 비트스트림에 삽입하는 순서는 다이아고널 스캐닝 방법의 역순으로 (즉, 15번부터 0번까지) 16 개의 변환 계수에 대한 정보가 저장된다. 본 실시예에서는 편의상 역순이 아닌, 순서대로 설명한다.
4x4 크기의 서브 블록 및 각 4x4 크기의 서브 블록의 다이아고날 스캔 방식을 통하여 2D 상태인 서브 블록에 존재하는 변환 계수를 엔트로피 부호화를 수행하기 위한 1D 상태의 배열로 변환할 수 있다.
이하, 본 발명의 실시예에서 스캐닝 순서상 마지막에 위치한 0이 아닌 변환 계수를 마지막 위치 변환 계수 또는 마지막 변환 계수라는 용어로 정의하고, 이러한 마지막 위치 변환 계수를 포함한 서브 블록을 마지막 위치 변환 계수 서브 블록이라는 용어로 정의하여 사용한다.
도 4는 본 발명의 실시예에 따른 16x16 크기의 변환 단위를 나타낸 개념도이다.
도 4를 참조하면, 전술한 다이아고날 스캔 방법으로 변환 단위를 스캔하였을 경우, 마지막 변환 계수를 포함한 서브 블록은 제15 서브 블록(400)이 된다. 제15 서브 블록 내에서 마지막 변환 계수는 서브 블록 안에서 다이아고널 스캔 방향으로 4번째 스캔 위치에 존재하는 1(410)이 된다.
Significant map은 변환 계수가 0인지 아닌지 여부에 대한 정보로서 전술한 구문 요소 정보인 significant_coeff_group_flag와 significant_coeff_flag를 사용하여 두 개의 레벨(two level)을 기초로 표현될 수 있다. 예를 들어, 우선 significant_coeff_group_flag를 사용한 제1 레벨을 통해 각 서브 블록(제2 서브 블록 내지 마지막 변환 계수 서브 블록 이전 스캔 서브 블록)에 0이 아닌 변환 계수가 존재하는지 여부를 표현할 수 있고 significant_coeff_flag를 사용한 제2 레벨을 통해 각 서브 블록에 포함된 변환 계수 정보를 표현할 수 있다. 이하, 본 발명의 실시예에 따른 제1 레벨(significant_coeff_group_flag) 및 제2 레벨(significant_coeff _flag)의 부호화 및 복호화 방법에 대해 개시한다. 이하, 본 발명의 실시예에서는 제1 레벨(significant_coeff_group_flag) 플래그를 그룹 플래그라고 정의하고 제2 레벨(significant_coeff_flag) 플래그를 계수 플래그라는 용어로 정의하여 사용할 수 있다. 또한 각각의 플래그가 가지는 값을 구분하여 플래그가 0일 경우 제1 플래그값, 플래그가 1일 경우 제2 플래그값이라는 용어를 사용하여 플래그 정보를 표현할 수 있다. 플래그값은 구문 요소의 정의에 따라 변할 수 있고 이러한 실시예 또한 본 발명의 권리 범위에 포함된다.
(1) 제1 레벨(significant_coeff_gorup_flag) 부호화 복호화 방법.
본 발명의 실시예에 따르면 첫번째 서브 블록인 제1 서브 블록과 마지막 변환 계수 서브 블록을 제외한 제2 서브 블록부터 마지막 변환 계수 서브 블록 이전 스캐닝 서브 블록의 경우, 서브 블록이 0이 아닌 변환 계수를 포함하고 있다면 significant_coeff_group_flag를 1로 부호화하고 서브 블록이 포함하고 있는 계수가 모두 0이면 significant_coeff_group_flag를 0으로 부호화할 수 있다.
예외적으로 제1 서브 블록은 DC에 해당하는 변환 계수를 포함하는 서브 블록으로서 부호화 단계에서는 제1 서브 블록의 significant_coeff_group_flag를 따로 부호화하지 않고 복호화 단계에서 제1 서브 블록의 significant_coeff_group_flag를 1로 유추할 수 있으므로 따로 significant_coeff_group_flag값을 전송하지 않을 수 있다.
또한, 스캐닝 순서상 마지막 변환 계수 서브 블록의 다음에 존재하는 서브 블록들은 0이 아닌 변환 계수가 존재할 수 없는 서브 블록이므로 부호화 단계에서 마지막 변환 계수 서브 블록의 다음에 존재하는 서브 블록들의 significant_coeff_group_flag는 따로 전송하지 않고 복호화 단계에서 마지막 변환 계수 서브 블록의 다음에 존재하는 서브 블록들의 significant_coeff_group_flag를 0으로 유추하여 해당 서브 블록에 포함된 변환 계수가 모두 0임을 알 수 있다.
마지막 위치 변환 계수 서브 블록의 경우, 마지막 위치 변환 계수에 대한 정보를 알고 있기 때문에 따로 정보를 전송하지 않아도 0이 아닌 변환 계수를 포함하는 블록으로 유추될 수 있기 때문에 부호화 단계에서는 마지막 위치 변환 계수 서브 블록의 significant_coeff_group_flag를 따로 전송하지 않고 복호화 단계에서 significant_coeff_group_flag를 1로 유추하여 significant map을 생성할 수 있다.
본 발명의 실시예에 따르면 마지막 위치 변환 계수 서브 블록의 경우 significant_coeff_group_flag를 새롭게 정의하여 마지막 위치 변환 계수를 제외한 나머지 변환 계수 중 하나 이상의 0이 아닌 변환 계수를 포함하고 있다면 significant_coeff_group_flag를 1로 부호화하고, 나머지 변환 계수가 모두 0이면 significant_coeff_group_flag를 0으로 부호화 할 수 있다. 새로운 정의를 사용하는 경우 마지막 위치 변환 계수 서브 블록의 significant map을 생성하기 위한 비트수를 줄여 부호화 효율을 높일 수 있다. 이하, 본 발명의 실시예에 따른 마지막 위치 변환 계수 서브 블록의 significant_coeff_group_flag의 새로운 정의에 대해 상세히 설명한다.
(A) 마지막 변환 계수 서브 블록의 significant_coeff_group_flag가 0인 경우, 마지막 변환 계수 서브 블록에 하나의 0이 아닌 변환 계수(즉, 마지막 변환 계수)만이 존재함을 나타냄.
다만, 하나의 0이 아닌 변환 계수가 스캐닝 순서상 첫번째 존재하는 경우는 부호화 단계에서 significant_coeff_group_flag를 따로 부호화하지 않고 복호화 단계에서 significant_coeff_group_flag를 0으로 유추할 수 있으므로 따로 significant_coeff_group_flag값을 전송하지 않을 수 있음 (이하 도 21에서 해당 경우에 대해 상술함).
(B) significant_coeff_group_flag가 1인 경우, 마지막 변환 계수 서브 블록에 복수개의 0이 아닌 변환 계수가 존재함을 나타냄.
(2) 제2 레벨(significant_coeff_flag) 부호화 복호화 방법.
다음으로 서브 블록에 포함된 변환 계수 정보를 제2 레벨인 significant_coeff_flag를 사용하여 표현할 수 있다. significant_coeff_flag는 서브 블록에 포함되는 변환 계수에 대한 정보를 표현할 수 있다.
서브 블록의 significant_coeff_group_flag가 1인 경우, 해당 서브 블록에 대한 significant_coeff_flag 값을 부호화 한다. 반대로, significant_coeff_group_flag가 0인 경우, 해당 서브 블록에 대한 대한 significant_coeff_flag 값을 부호화 하지 않는다.
제1 서브 블록은 16개의 모든 변환 계수에 대하여 significant_coeff_flag 값을 부호화 한다.
본 발명의 실시예에 따르면 제1 서브 블록과 마지막 변환 계수 서브 블록을 제외한 제2 서브 블록부터 마지막 변환 계수 서브 블록 이전 스캐닝 서브 블록의 경우, 다이아고날 스캐닝 방법의 역순으로 (즉, 15번부터 1번까지) 15개의 변환 계수의 significant_coeff_flag값이 모두 0이면, 해당 서브 블록의 첫 번째 (즉, 0번) 변환 계수에 해당하는 significant_coeff_flag 값은 부호화 하지 않고 1로 유추할 수 있다. 그렇지 않고, 15개의 변환 계수 중 0이 아닌 값이 존재하면, 해당 서브 블록의 첫 번째 변환 계수에 해당하는 significant_coeff_flag 값을 부호화 한다.
마지막 위치 변환 계수 서브 블록의 경우, 마지막 위치 변환 계수에 대한 위치 정보를 알고 있기 때문에, 다이아고날 스캐닝 방법의 순서상 마지막 위치 변환 계수의 이전에 존재하는 모든 변환 계수에 대한 significant_coeff_flag 값을 부호화하고, 마지막 위치 변환 계수에 significant_coeff_flag 값은 부호화 단계에서 따로 부호화 하지 않고, 복호화 단에서 마지막 위치 변환 계수에 대한significant_coeff_flag값을 1로 유추하여 significant map을 생성할 수 있다.
또한, 스캐닝 순서상 마지막 변환 계수 다음에 존재하는 변환 계수들은 0이 아닌 변환 계수가 존재할 수 없으므로 부호화 단계에서 마지막 변환 계수 다음에 존재하는 변환 계수들의 significant_coeff_flag는 따로 전송하지 않고 복호화 단계에서 마지막 변환 계수의 다음에 존재하는 변환 계수들의 significant_coeff_flag를 0으로 유추할 수 있다.
본 발명의 실시예에 따르면, 서브 블록이 마지막 변환 계수 서브 블록인 경우 significant_coeff_flag를 아래와 같이 표현할 수 있다.
(A) 마지막 변환 계수 서브 블록의 significant_coeff_group_flag가 0인 경우, 마지막 변환 계수 서브 블록에 하나의 0이 아닌 변환 계수만이 존재하고 그 위치를 알고 있으므로 따로 significant_coeff_flag 정보를 부호화하지 않음. 다만, 마지막 변환 계수 서브 블록의 significant_coeff_group_flag를 전송하지 않는 경우 (0으로 유추), 마지막 변환 계수 서브 블록의 첫번째 스캐닝 순서 위치에 하나의 0이 아닌 변환 계수만이 존재함을 나타냄. 마지막 변환 계수의 위치를 알기 때문에 significant_coeff_flag 정보를 전송하지 않고, 복호화단에서 1으로 유추할 수 있다.
(B) 마지막 변환 계수 서브 블록의 significant_coeff_group_flag가 1인 경우, 마지막 변환 계수 서브 블록에 복수개의 0이 아닌 변환 계수가 존재함을 나타내고, 0번 변환 계수부터 마지막 변환 계수 바로 이전의 변환 계수까지의 significant_coeff_flag 정보를 전송함. 예외적으로 0이 아닌 변환 계수가 마지막 변환 계수 서브 블록의 첫번째 스캔 위치 및 두번째 스캔 위치에 존재할 경우, significant_coeff_flag 정보를 전송하지 않음(이하 도 17 내지 도 20에서 이러한 경우에 대해 상술한다).
이하, 본 발명의 실시예에서는 전술한 significant_coeff_group_flag와 significant_coeff_flag의 새로운 정의를 사용하여 마지막 변환 계수 서브 블록의 significant map을 구성하는 방법에 대해 상술한다.
도 5는 본 발명의 실시예에 따른 변환 단위의 significant_coeff_group_flag를 표현한 개념도이다.
도 5는 도 4에서 개시한 변환 블록 정보를 significant_coeff_group_flag로 표현한 것이다. 전술한 바와 같이 제1 서브 블록의 경우(510), significant_coeff_group_flag를 1로 유추하므로 따로 부호화하지 않는다. 마지막 위치의 변환 계수를 포함하는 서브 블록의 위치가 제15 서브 블록(520)이므로 그 이후에 위치한 제16 서브 블록(530)의 significant_coeff_group_flag는 따로 부호화하지 않아도 0으로 유추할 수 있으므로 부호화하지 않는다. 본 발명의 실시예에 따르면, 제15 서브 블록(520)과 같은 마지막 위치의 변환 계수를 포함하는 서브 블록은 마지막 위치 변환 계수를 포함한 블록으로서 복수개의 0이 아닌 변환 계수를 포함하고 있으므로 제15 서브 블록(520)의 significant_coeff_group_flag는 1을 가진다.
도 6은 본 발명의 실시예에 따른 변환 단위의 significant_coeff_flag를 표현한 개념도이다.
도 6은 도 4에서의 변환 계수 정보 및 도 5의 significant_coeff_group_flag정보를 기초로 서브 블록의 계수 정보를 significant_coeff_flag로 표현한 것이다.
도 6을 참조하면, significant_coeff_group_flag계수가 1이거나 1로 유추된 서브 블록의 경우, 해당 서브 블록에 포함되는 변환 계수가 0인지 여부에 따라 significant_coeff_flag가 1 또는 0으로 부호화될 수 있다. 예를 들어, 도 6에서 significant_coeff_group_flag가 1이거나 1로 유추된 서브 블록들인 제1, 2, 3, 4, 5, 6, 8, 9, 12 서브 블록에 대하여 significant_coeff_flag를 기초로 변환 계수 정보를 표현할 수 있다. 마지막 변환 계수 서브 블록을 제외한 나머지 서브 블록 중 significant_coeff_group_flag가 0이거나 0으로 유추된 서브 블록의 경우, 서브 블록에 포함된 변환 계수가 모두 0으로 유추되므로 따로 significant_coeff_flag를 사용하지 않고 서브 블록에 포함된 변환 계수 정보를 부호화할 수 있다.
전술한 바와 같이 마지막 위치 변환 계수 서브 블록은 0이 아닌 변환 계수의 마지막 위치를 알고 있으므로 다른 서브 블록과 다르게 변환 계수의 마지막 위치를 고려한 부호화를 수행할 수 있다. 예를 들어, 마지막 변환 계수 서브 블록에서 변환 계수의 스캐닝 순서상 마지막 위치는 알고 있으므로 마지막 변환 계수는 따로 significant_coeff_flag를 통해 부호화할 필요가 없다. 예를 들어, 도 6의 마지막 위치 변환 계수 서브 블록 내 마지막 변환 계수의 위치(3행 1열의 위치)는 significant_coeff_flag를 1로 유추하면 되므로 따로 비트를 사용하지 않는다. 부호화 효율을 높이기 위해 마지막 변환 계수 서브 블록은 전술한 significant_coeff_flag의 정의를 기초로 변환 계수 정보를 표현할 수 있다.
이하, 본 발명의 실시예에서는 전술한 significant_coeff_group_flag와 significant_coeff_flag의 새로운 정의를 통해 부호화 또 다른 실시예에 대해 개시한다.
도 7은 본 발명의 실시예에 따른 변환 단위에 포함되는 변환 계수 정보를 나타낸 개념도이다.
도 7을 참조하면, 마지막 변환 계수 서브 블록(700)은 하나의 0이 아닌 계수(710)를 포함하고 있다.
마지막 변환 계수 서브 블록이 하나의 0이 아닌 계수(710)를 포함하고 있는 경우, significant_coeff_group_flag는 0으로 표현될 수 있다. 본 발명의 실시예에 따른 significant map 정보 표현 방법에서는 전술한 바와 같이 만약 마지막 변환 계수 서브 블록이 하나의 0이 아닌 계수만을 포함하고 있는 서브 블록인 경우, significant_coeff_group_flag는 0으로 표현되고 마지막 변환 계수 서브 블록이 둘 이상의 0이 아닌 계수를 포함하고 있는 서브 블록인 경우 significant_coeff_group_flag는 1로 표현될 수 있다. 예외적으로 마지막 변환 계수 서브 블록이 하나의 0이 아닌 계수만을 포함하고 있는 서브 블록이되, 마지막 변환 계수의 위치가 1행 1열인 경우는 마지막 변환 계수 서브 블록의 significant_coeff_group_flag를 전송하지 않는 부호화 방법을 사용하여 마지막 변환 계수 서브 블록에 포함된 마지막 변환 계수의 위치가 1행 1열이라는 정보를 마지막 위치 (last position) 정보를 이용하여 표현할 수 있다.
도 8은 본 발명의 실시예에 따른 도 7에서 개시한 변환 단위의 변환 계수 정보를 기초로 significant_coeff_group_flag을 나타낸 개념도이다.
도 8을 참조하면, 마지막 변환 계수 서브 블록인 제15 서브 블록의 경우, 하나의 0이 아닌 변환 계수를 포함하는 서브 블록이므로 significant_coeff_group_flag값으로 0(800)을 설정할 수 있다.
하나의 0이 아닌 변환 계수를 포함하는 마지막 변환 계수 서브 블록의 경우 표 1에서 전술한 구문 요소인 last_significant_coeff_x_prefix, last_significant_coeff_y_prefix, last_significant_coeff_x_suffix 및 last_significant_coeff_y_suffix와 같은 마지막 변환 계수의 위치를 표현하는 구문 요소 정보를 기초로 마지막 변환 계수의 위치를 알 수 있으므로 따로 significant_coeff_flag를 부호화하여 마지막 변환 계수의 위치를 전송할 필요가 없다.
도 9는 본 발명의 실시예에 따른 변환 단위에 대한 significant_coeff_flag을 나타낸 개념도이다.
도 9를 참조하면, significant_coeff_group_flag가 1이거나 1로 유추된 서브 블록에 대하여 significant_coeff_flag 정보를 전송하여야 한다. 서브 블록의 significant_coeff_group_flag가 0이거나 0으로 유추된 경우 변환 계수가 모두 0이므로 significant_coeff_flag 정보를 따로 전송할 필요는 없다.
마지막 변환 계수 서브 블록(900)의 significant_coeff_group_flag가 0인 경우 마지막 변환 계수의 위치를 알기 때문에 따로 significant_coeff_flag를 부호화할 필요가 없이 변환 계수 정보를 표현할 수 있다. 따라서 significant_coeff_flag를 부호화하는데 드는 비트수를 줄일 수 있다. 도 7과 같은 변환 단위의 경우 마지막 변환 계수 서브 블록에 대한 significant_coeff_group_flag와 significant_coeff_flag에 대한 정의를 변경하기 전에 사용되는 비트수는 마지막 변환 계수 서브 블록에는 당연히 변환 계수가 존재하므로 제1 레벨인 significant_coeff_group_flag 값은 1로 유추될 수 있어 비트를 사용하지 않고도 제1 레벨의 significant map 정보를 표현할 수 있는 반면에 제2 레벨인 significant_coeff_flag 값은 마지막 변환 계수의 위치를 알고 있으나 스캐닝 순서상 그 이전에 존재하는 변환 계수 중 0이 아닌 계수가 몇 개나 있는지에 대한 정보를 알지 못하므로 마지막 변환 계수 서브 블록에 포함되는 변환 계수 정보를 표현하기 위한 significant_coeff_flag에 추가의 비트가 사용될 수 있다. 따라서, 도 7과 같은 경우 3행 3열 이전에 스캐닝을 수행해야 할 변환 계수의 개수가 11개이므로 추가의 11비트가 들게 된다.
본 발명의 실시예에 따른 새로운 significant_coeff_group_flag와 significant_coeff_flag의 정의를 사용하는 경우 마지막 변환 계수 서브 블록에 변환 계수가 하나만 존재하는지 여부를 표시하기 위한 제1 레벨의 significant_coeff_group_flag가 1 비트가 소요되지만, 제2 레벨의 significant_coeff_flag의 경우 significant_coeff_group_flag를 통해서 현재 마지막 변환 계수 서브 블록에 하나의 0이 아닌 변환 계수가 존재하고 있음을 알 수 있고 또한, 마지막 변환 계수의 위치를 알고 있으므로 그 이외 0이 아닌 변환 계수가 존재하는지 여부를 표시하기 위한 significant_coeff_flag를 위한 비트가 추가로 사용되지 않는다.
결론적으로 도 7의 경우, 본 발명의 실시예에 따른 significant map 정보 부호화 방법을 사용하는 경우 마지막 변환 계수 서브 블록에 변환 계수가 하나만 존재하는지 여부를 표시하지 않는 방법과 비교하여 상기 존재 여부를 표시 하지 않는 방법의 경우는 10비트의 부호화 이득을 얻을 수 있다.
도 10은 본 발명의 실시예에 따른 significant map을 나타낸 개념도이다.
도 10을 참조하면, 도 8에서의 significant_coeff_group_flag와 도 9에서의 significant_coeff_flag를 기초로 도 10과 같은 변환 단위의 significant map을 표현할 수 있다.
아래의 도 11 및 도 12에서는 마지막 변환 계수 서브 블록에 변환 계수가 하나만 존재하는 경우를 나타낸 것으로서 전술한 방법을 사용하여 significant map 정보를 부호화하는 경우의 비트 이득에 대해 개시한다.
도 11은 본 발명의 실시예에 따른 변환 단위를 나타낸 개념도이다.
도 11을 참조하면, 마지막 위치 변환 계수 서브 블록 내 1행 2열의 위치에 0이 아닌 변환 계수(1100)가 존재하고 마지막 위치 변환 계수 서브 블록의 나머지 위치에 존재하는 변환 계수는 모두 0 값을 가진다. 이러한 경우, 본 발명의 실시예에 따른 significant map 정보를 표현하기 위해 사용되는 비트는 우선 significant_coeff_group_flag가 0값을 가져야 하므로 1 비트가 소요된다. significant_coeff_group_flag가 0인 마지막 변환 계수 서브 블록은 하나의 0이 아닌 변환 계수만을 가지므로 마지막 변환 계수의 위치를 표현하는 구문 요소 정보를 기초로 마지막 변환 계수의 위치를 알 수 있으므로 significant_coeff_flag 정보는 사용되지 않고 변환 계수 정보를 표현할 수 있다.
만약 마지막 변환 계수 서브 블록에 변환 계수가 하나만 존재하는지 여부를 표시하지 않는 방법으로 significant map을 부호화하는 경우 significant_coeff_group_flag는 마지막 변환 계수 서브 블록이므로 사용되지 않지만, 마지막 변환 계수 서브 블록에 몇 개의 0이 아닌 변환 계수가 존재하는지 모르기 때문에 significant_coeff_flag를 사용하여 스캔 순서상 마지막 변환 계수를 제외한 나머지 변환 계수 정보를 부호화하여야 하고 결과적으로 1행 1열과 2행 1열에 존재하는 변환 계수 정보(1110, 1120)를 significant_coeff_flag를 사용하여 표현하기 위해 2개의 비트를 추가로 사용하여야 한다. 결과적으로 본 발명의 실시예에 따른 새로운 정의의 significant_coeff_group_flag와 significant_coeff_flag를 통해 significant map을 부호화하는 경우가 1 비트의 부호화 이득을 가질 수 있다.
도 12는 본 발명의 실시예에 따른 변환 단위를 나타낸 개념도이다.
도 12를 참조하면, 4행 4열의 위치(1200)에 0이 아닌 마지막 변환 계수가 존재하고 마지막 변환 계수 서브 블록의 나머지 위치에 존재하는 변환 계수는 모두 0 값을 가진 변환 계수값이 될 수 있다. 이러한 경우, 본 발명의 실시예에 따른 significant map 정보를 표현하기 위해 사용되는 비트는 우선 significant_coeff_group_flag가 0값을 가져야 하므로 1비트가 소요된다. significant_coeff_group_flag가 0인 마지막 변환 계수 서브 블록은 하나의 0이 아닌 변환 계수만을 가지므로 전술한 바와 같이 significant_coeff_flag 정보는 사용되지 않고 변환 계수 정보를 표현할 수 있다.
만약 마지막 변환 계수 서브 블록에 대하여 새로운 정의를 사용하지 않고 significant map 부호화를 수행하는 경우 significant_coeff_group_flag은 마지막 변환 계수 서브 블록에 대하여 부호화되지 않지만, 마지막 변환 계수 서브 블록에 몇 개의 0이 아닌 변환 계수가 존재하는지 모르기 때문에 significant_coeff_flag를 사용하여 스캔 순서상 마지막 변환 계수를 제외한 나머지 변환 계수 정보를 부호화하여야 하고 결과적으로 서브 블록에 존재하는 4행 4열에 존재하는 마지막 변환 계수를 제외한 나머지 변환 계수 정보를 significant_coeff_flag를 사용하여 표현하기 위해 15개의 비트를 추가로 사용하여야 한다. 결과적으로 본 발명의 실시예에 따른 significant map 부호화 방법이 14 비트의 부호화 이득을 가질 수 있다.
이하, 본 발명의 실시예에서는 마지막 변환 계수 서브 블록이 복수개의 0이 아닌 변환 계수를 가지는 경우 본 발명의 실시예에 따른 significant map을 부호화하는 방법에 대해 개시한다.
도 13은 본 발명의 실시예에 따른 변환 단위를 나타낸 개념도이다.
도 13을 참조하면, 마지막 변환 계수 서브 블록(1300)이 복수개의 0이 아닌 변환 계수를 포함할 수 있다. 마지막 변환 계수 서브 블록(1300)이 복수개의 0이 아닌 변환 계수를 포함한 경우 전술한 바와 같이 significant_coeff_group_flag는 1로 표현되어 마지막 변환 계수 서브 블록에 복수개의 0이 아닌 변환 계수가 존재함을 나타낼 수 있다.
도 14는 본 발명의 실시예에 따른 변환 단위에 대한 significant_coeff_group_flag를 나타낸 개념도이다.
도 14는 도 13에서 개시된 변환 단위에 대한 significant_coeff_group_flag를 나타낸 것이다.
마지막 변환 계수 서브 블록의 significant_coeff_group_flag 값(1400)으로 1을 사용하여 마지막 변환 계수 서브 블록에 복수개의 0이 아닌 변환 계수가 존재함을 나타낼 수 있다.
도 15는 도 13에서 개시된 변환 단위에 대한 significant_coeff_flag를 나타낸 것이다. 마지막 변환 계수 서브 블록 의 significant_coeff_flag를 마지막 변환 계수를 제외하고 모두 부호화하여 전송할 수 있다. 결과적으로 본 발명의 실시예에 따른 새로운 significant map 부호화 방법이 1 비트를 더 사용할 수 있다.
하지만, 복수개의 0이 아닌 변환 계수를 가진 마지막 변환 계수 서브 블록에서도 본 발명의 실시예에 따른 significant map 구성 방법을 사용하여 추가적으로 비트를 줄이거나 동일한 비트를 가지고 변환 계수 정보를 표현하는 것도 가능하고 이하 본 발명의 실시예에서 추가적으로 기술한다.
도 16은 본 발명의 실시예에 따른 변환 단위에 대한 significant map을 나타낸 개념도이다.
도 16은 도 14에서 산출된 significant_coeff_group_flag 및 도 15에서 산출된 significant_coeff_flag를 사용하여 생성된 도 13에 개시된 변환 단위의 significant map 정보를 나타낸다.
아래의 도 17 내지 도 22는 본 발명의 실시예에 따른 significant map 부호화 방법을 사용하여 비트를 줄이거나 동일한 비트를 가지고 변환 계수 정보를 표현하는 또 다른 실시예를 나타낸 것이다.
도 17은 본 발명의 실시예에 따른 변환 단위를 나타낸 개념도이다.
도 17을 참조하면, 0이 아닌 변환 계수의 위치가 1행 1열(1700)과 2행 1열(1710)에 존재하여 마지막 변환 계수 서브 블록(1750)이 복수개의 0이 아닌 변환 계수를 포함한 경우에 해당한다.
마지막 변환 계수 서브 블록이 복수개의 0이 아닌 변환 계수를 포함한 경우 전술한 바와 같이 significant_coeff_group_flag는 1로 표현되어 마지막 변환 계수 서브 블록에 복수개의 0이 아닌 변환 계수가 존재함을 나타낼 수 있다.
도 18은 본 발명의 실시예에 따른 변환 단위에 대한 significant_coeff_group_flag를 나타낸 개념도이다.
도 18은 도 17에서 개시된 변환 단위에 대한 significant_coeff_group_flag를 나타낸 것이다.
마지막 변환 계수 서브 블록의 significant_coeff_group_flag 값(1800)으로 1을 사용하여 마지막 변환 계수 서브 블록에 복수개의 0이 아닌 변환 계수가 존재함을 나타낼 수 있다.
도 19는 도 17에서 개시된 변환 단위에 대한 significant_coeff_flag를 나타낸 것이다. 도 19를 참조하면, 예외적인 경우로 마지막 변환 계수 서브 블록의 계수 정보를 표현하기 위한 significant_coeff_flag가 따로 사용되지 않을 수 있다. 마지막 변환 계수 서브 블록의 significant_coeff_group_flag가 1이라는 것은 마지막 변환 계수 서브 블록에 복수개의 0이 아닌 변환 계수가 존재한다는 것을 의미하고 만약 마지막 변환 계수의 위치가 스캔 순서상 두번째 스캔 순서에 위치한 경우, 첫번째 스캔 순서에 위치한 변환 계수는 0이 아닌 변환 계수값을 가진다는 것을 알 수 있다. 따라서 0이 아닌 변환 계수의 위치가 1행 1열과 2행 1열에 존재하는 마지막 변환 계수 서브 블록의 경우, 도 19에서와 같이 마지막 변환 계수 서브 블록의 significant_coeff_flag를 따로 사용하지 않고 서브 블록의 변환 계수 정보를 표현할 수 있다.
도 20은 본 발명의 실시예에 따른 significant map를 나타낸 개념도이다.
도 20을 참조하면, 도 18의 significant_coeff_group_flag와 도 19의 significant_coeff_flag를 사용하여 significant map을 표현할 수 있다.
도 21은 본 발명의 실시예에 따른 변환 블록을 나타낸 개념도이다.
도 21을 참조하면, 마지막 변환 계수 서브 블록의 첫번째 스캔 순서에 위치한 변환 계수가 마지막 변환 계수인 경우는 예외적인 경우로서 significant_coeff_group_flag값을 부호화하지 않고 복호화 단계에서 significant_coeff_group_flag값을 0으로 유추하고, 마지막 변환 계수가 서브 블록의 첫번째 스캔 순서에 위치한 변환 계수임(2100)을 마지막 위치 (last position) 정보를 통해 나타낼 수 있다. 즉, 마지막 변환 계수의 위치를 나타내는 마지막 위치 (last position) 정보가 마지막 변환 계수 서브 블록의 첫번째 스캔 순서를 나타내면, 해당 마지막 변환 계수 서브 블록의 significant_coeff_group_flag값을 부호화하지 않고, 복호화 단에서 해당 서브 블록의 significant_coeff_group_flag값을 0으로 유추할 수 있다.
도 22는 본 발명의 실시예에 따른 변환 블록을 나타낸 개념도이다.
도 22를 참조하면, 마지막 변환 계수 서브 블록의 스캔 순서상 두번째 위치인 2행 1열에 하나의 0이 아닌 변환 계수(2200)가 존재하고 있다. 이러한 경우, 마지막 변환 계수 서브 블록에 하나의 0이 아닌 변환 계수가 존재하므로 마지막 변환 계수 서브 블록의 significant_coeff_group_flag가 0이 되고 significant_coeff_flag는 전송되지 않는다.
전술한 본 발명의 다른 실시예에 따른 significant map을 구성하는 또 다른 실시예는 아래와 같다.
-significant_coeff_group_flag
(A) 마지막 변환 계수 서브 블록의 significant_coeff_group_flag가 0인 경우, 마지막 변환 계수 서브 블록에 하나의 0이 아닌 변환 계수(즉, 마지막 변환 계수)만이 존재함을 나타냄.
(B) significant_coeff_group_flag가 1인 경우, 마지막 변환 계수 서브 블록에 복수개의 0이 아닌 변환 계수가 존재함을 나타냄.
본 발명의 다른 실시예에서는 significant_coeff_group_flag를 전송하기 위해 전술한 바와 같이 예외적인 경우를 제외하고 위와 같이 마지막 변환 계수 서브 블록에 하나의 0이 아닌 변환 계수만이 존재하는지 아니면 복수개의 0의 아닌 변환 계수가 존재하는지 여부를 나누어 significant_coeff_group_flag를 전송할 수 있다.
-significant_coeff_flag
(A) 마지막 변환 계수 서브 블록의 significant_coeff_group_flag가 0인 경우, 마지막 변환 계수 서브 블록에 하나의 0이 아닌 변환 계수만이 존재하고 그 위치를 알고 있으므로 따로 significant_coeff_flag 정보를 부호화하지 않음.
(B) 마지막 변환 계수 서브 블록의 significant_coeff_group_flag가 1인 경우, 마지막 변환 계수 서브 블록에 복수개의 0이 아닌 변환 계수가 존재함을 나타내고, 스캐닝 순서 상 0번 변환 계수부터 마지막 변화 계수 바로 이전의 변환 계수까지의 significant_coeff_flag 정보를 전송함.
본 발명의 다른 실시예에서는 significant_coeff_flag를 전송하기 위해 전술한 바와 같이 예외적인 경우를 제외하고 significant_coeff_group_flag값에 따라 significant_coeff_flag를 어떻게 전송할지 여부를 결정할 수 있다. 이러한 실시예에 대해서는 아래의 도 23 및 도 24에서 상술한다.
전술한 significant map 부호화 방법은 아래의 표 2의 신택스와 같이 표현될 수 있다. 아래 표 2에 표현된 신택스는 본 발명을 구현하기 위한 하나의 예시로서 본 발명의 실시예에 따른 significant map 구현 방법에 해당하는 경우 다양한 신택스 구조를 사용할 수 있고 이러한 신택스 구조 또한 본 발명의 권리 범위에 포함된다.
표 2
Figure PCTKR2013002947-appb-T000001
변수 lastPosinSubset는 서브 블록 내에서 마지막 변환 계수의 상대 위치를 나타낼 수 있다. 상대 위치란 서브 블록에서 스캐닝 순서상 마지막 변환 계수가 몇번째 위치에 있느냐를 의미할 수 있다. 변수 lastPosinSubset이 0이란 것은 서브 블록 내에서 가장 첫 번째 위치한, 즉 (0,0)에 마지막 변환 계수가 위치해 있음을 말한다. 따라서, 마지막 변환 계수의 위치가 서브 블록 내에서 첫 번째 위치해 있을 경우, 해당 서브 블록에 대한 group_flag(significant_coeff_group_flag)를 시그널링하지 않고(도 21에서 전술한 실시예에 해당함.), 그외의 경우에는 group_flag를 명시적으로 시그널링할 수 있다.
변수 groupLastSubset은 group flag를 마지막 변환 계수가 위치한 서브 블록에 대해 시그널링할지 여부를 나타낸다. 4x4 크기의 서브 블록까지 시그널링할 경우, groupLastSubset에 numLastSubset 값이 지정이 되고, 4x4 크기 서브 블록의 이전 서브 블록까지만 시그널링할 경우 변수 groupLastSubset에 (numLastSubset -1)의 값이 지정될 수 있다.
if ((i<=groupLastSubset) && (i>0))는 앞서 구한 변수 groupLastSubset을 이용하여 실제 group_flag를 보내기 위한 조건문이다. 조건문에서 보면 i 값이 0보다 크고 (여기서, 0은 제1 서브 블록을 뜻함. 즉, 제1 서브 블록은 group flag 를 시그널링하지 않음) 변수 groupLastSubset 보다 작거나, 같은 범위 내에서 group flag를 시그널링할 수 있다.
(lastPosinSubset>1 || numLastSubset>i)는 마지막 위치 변환 계수를 포함한 서브 블록을 처리할 때, lastPosinSubset 값이 1을 초과해야만 coeff_flag(significant_coeff_flag)를 시그널링하기 위한 조건 문이다. 즉, 마지막 변환 계수의 서브 블록 내의 상대 위치가 스캐닝 순서상 0 번째 또는 1 번째 일 경우, coeff_flag를 시그널링할 필요가 없다(도 17 내지 도 20 및 도 21에서 전술한 실시예에 해당함).
아래는 본 발명의 실시예에 따른 significant map을 구성하기 위한 새로운정의의 significant_coeff_group_flag와 significant_coeff_flag의 semantics를 나타낸 것이다.
significant_coeff_group_flag[xCG][yCG] specifies for the coefficient group position (xCG, yCG) within the current transform block whether the corresponding coefficient group at location (xCG, yCG) has non-zero transform coefficient level. A coefficient group at location (xCG, yCG) is an array of 16 transform coefficient levels at locations (xC, yC).
If significant_coeff_group_flag[xCG][yCG] is equal to 0 and (xCG<<2, yCG<<2) is the coefficient group including the last significant position (LastSignificantCoeffX, LastSignificantCoeffY), the 15 transform coefficient levels (except the last significant position) of the coefficient group at location (xCG, yCG) are inferred to be equal to 0;
Else if significant_coeff_group_flag[xCG][yCG] is equal to 0, the 16 transform coefficient levels of the coefficient group at location (xCG, yCG) are inferred to be equal to 0;
Otherwise (significant_coeff_group_flag[xCG][yCG] is equal to 1), the following applies.
If significant_coeff_group_flag[xCG][yCG] is present, at least one of the 16 transform coefficient levels of the coefficient group at location (xCG, yCG) has a non zero value.
Otherwise, at least one of the 16 significant_coeff_flag syntax elements is present for the coefficient group at location (xCG, yCG)
When significant_coeff_group_flag[xCG][yCG] is not present, it is inferred as follows.
If (xCG, yCG) is equal to (0, 0), significant_coeff_group_flag[xCG][yCG] is inferred to be equal to 1.
Otherwise, significant_coeff_group_flag[xCG][yCG] is inferred to be equal to 0.
significant_coeff_flag[xC][yC] specifies for the transform coefficient position (xC, yC) within the current transform block whether the corresponding transform coefficient level at location (xC, yC) is non-zero as follows.
If significant_coeff_flag[xC][yC] is equal to 0, the transform coefficient level at location (xC, yC) is set equal to 0.
Otherwise (significant_coeff_flag[xC][yC] is equal to 1), the transform coefficient level at location (xC, yC) has a non zero value.
When significant_coeff_flag[xC][yC] is not present, it is inferred as follows.
If (xC, yC) is the last significant location (LastSignificantCoeffX, LastSignificantCoeffY) in scan order and (xC, yC) is equal to (xCG << 2 + 1, yCG << 2), significant_coeff_flag[xC-1][yC] is inferred to be equal to 1
Else if (xC, yC) is the last significant location (LastSignificantCoeffX, LastSignificantCoeffY) in scan order or both of the following conditions are true, significant_coeff_flag[xC][yC] is inferred to be equal to 1
(xC, yC) is equal to (xCG << 2, yCG << 2)
implicitNonZeroCoeff is equal to 1
Otherwise, significant_coeff_flag[xC][yC] is inferred to be equal to 0.
이하, 도 23 및 도 24와 도 25 및 도 26에서는 새로운 정의의 significant_coeff_group_flag 및 significant_coeff_flag를 기초로 significant map 정보를 복호화하는 방법을 나타낸 개념도이다. 도 23 및 도 24와 도 25 및 도 26에서 개시하는 significant_coeff_group_flag 및 significant_coeff_flag를 파싱하는 순서는 임의적인 것으로서 다른 순서 및 절차를 가진 파싱 방법이 적용될 수도 있고 이러한 절차 또한 본 발명의 권리 범위에 포함된다.
도 23 및 도 24에서는 예외적인 경우를 고려하지 않고 significant_coeff_group_flag 및 significant_coeff_flag를 파싱하는 방법에 대해 개시한다.
도 23은 본 발명의 실시예에 따른 각 서브 블록의significant_coeff_group_flag 정보를 산출하는 방법을 나타낸 순서도이다.
도 23을 참조하면, 복호화 대상 블록이 제1 서브 블록인지 여부를 판단한다(단계 S2300).
복호화 대상 블록이 제1 서브 블록인 경우 그룹 플래그(group_flag)를 1로 설정한다(S2310).
본 발명의 실시예에 따르면 제1 서브 블록의 경우, 그룹 플래그값을 부호화하여 전송하지 않고 복호화단에서 1로 유추한다.
복호화 대상 블록이 제1 서브 블록이 아닌 경우 그룹 플래그(group_flag)를 파싱한다(S2320).
복호화 대상 블록이 제1 서브 블록이 아닌 경우 그룹 플래그(group_flag)를 파싱할 수 있다. 본 발명의 실시예에 따르면 서브 블록이 제1 서브 블록 및 마지막 위치 변환 계수 서브 블록이 아닌 경우, 0이 아닌 변환 계수 존재 여부에 따라 그룹 플래그(significant_coeff_group_flag)를 0 또는 1로 설정할 수 있고 마지막 위치 변환 계수 서브 블록인 경우, 0이 아닌 변환 계수가 하나인지 아니면 두개 이상인지 여부에 따라 그룹 플래그(significant_coeff_group_flag)를 0 또는 1로 설정할 수 있다.
도 24는 본 발명의 실시예에 따른 각 서브 블록의significant_coeff_flag 정보를 산출하는 방법을 나타낸 순서도이다.
복호화 대상 서브 블록이 제1 서브 블록인지 여부를 판단한다(단계 S2400).
복호화 대상 서브 블록이 제1 서브 블록인 경우, 서브 블록에 포함된 변환 계수 정보인 significant_coeff_flag 정보를 파싱할 수 있다(단계 S2405).
복호화 대상 서브 블록이 제1 서브 블록이 아닌 경우, 복호화 대상 서브 블록이 마지막 변환 계수 서브 블록인지 여부를 판단한다(단계 S2410).
복호화 대상 서브 블록이 마지막 변환 계수 서브 블록인 경우, 마지막 위치 변환 계수의 significant_coeff_flag를 1로 설정한다(단계 S2415).
마지막 위치 변환 계수의 경우, significant_coeff_flag가 부호화되어 전송되지 않는다. 따라서, 마지막 위치 변환 계수의 significant_coeff_flag를 1로 설정한다.
significant_coeff_group_flag가 0인지 여부를 판단한다(단계 S2435).
significant_coeff_group_flag가 0인 경우, 마지막 변환 계수를 제외한 나머지 변환 계수의 significant_coeff_flag를 0으로 설정한다(단계 S2430).
significant_coeff_group_flag가 0이 아닌 경우, 마지막 변환 계수 이전의 변환 계수까지 significant_coeff_flag를 파싱한다(단계 S2440).
단계 S2440을 통해 마지막 변환 계수 이전의 변환 계수까지의 significant_coeff_flag를 파싱한 후 마지막 변환 계수 다음의 변환 계수의 significant_coeff_flag를 0으로 설정한다(단계 S2430).
단계 S2410을 통한 판단 결과, 복호화 대상 서브 블록이 제1 서브 블록 또는 마지막 변환 계수 서브 블록이 아닌 경우, 복호화 대상 서브 블록의 significant_coeff_group_flag가 0인지 여부를 판단한다(단계 S2450).
단계S2450를 통한 판단 결과 복호화 대상 서브 블록의 significant_coeff_group_flag가 0이 아닌 경우, 서브 블록에 포함된 첫번째 스캔 위치에 존재하는 변환 계수를 제외한 나머지 15개의 변환 계수의 significant_coeff_flag를 복호화한다(단계 S2455).
서브 블록에 포함된 첫번째 스캔 위치에 존재하는 변환 계수를 제외한 나머지 15개의 변환 계수의 significant_coeff_flag가 모두 0인지 여부를 판단한다(단계 S2460).
단계 S2460를 통한 판단 결과 서브 블록에 포함된 첫번째 스캔 위치에 존재하는 변환 계수를 제외한 나머지 15개의 변환 계수의 significant_coeff_flag가 모두 0인 경우, 첫번째 스캐닝 위치에 존재하는 변환 계수의 significant_coeff_flag를 1로 설정한다(단계 S2465).
단계 S2460를 통한 판단 결과 서브 블록에 포함된 첫번째 스캔 위치에 존재하는 변환 계수를 제외한 나머지 15개의 변환 계수의 significant_coeff_flag가 모두 0이 아닌 경우, 첫번째 스캐닝 위치에 존재하는 변환 계수의 significant_coeff_flag를 파싱한다(단계 S2470).
단계 S2450을 통한 판단 결과 복호화 대상 서브 블록의 significant_coeff_group_flag가 0인 경우, 해당 서브 블록에 포함된 모든 변환 계수의 significant_coeff_flag를 0으로 설정한다(단계 S2475).
도 25 및 도 26에서는 예외적인 경우를 고려하여 significant_coeff_group_flag 및 significant_coeff_flag를 파싱하는 방법에 대해 개시한다.
도 25는 본 발명의 실시예에 따른 각 서브 블록의significant_coeff_group_flag 정보를 산출하는 방법을 나타낸 순서도이다.
도 25를 참조하면, 복호화 대상 서브 블록이 제1 서브 블록인지 여부를 판단한다(단계 S2500).
복호화 대상 서브 블록이 제1 서브 블록인 경우, group_flag(significant_coeff_group_flag)를 1로 설정한다(단계 S2510).
전술한 바와 같이 제1 서브 블록의 경우 제1 서브 블록 내에 0이 아닌 변환 계수가 존재할 가능성이 크므로, significant_coeff_group_flag를 1로 유추하여 설정한다.
복호화 대상 서브 블록이 제1 서브 블록이 아닌 경우, 복호화 대상 서브 블록이 마지막 변환 계수 서브 블록인지 여부를 판단한다(단계 S2520).
복호화 대상 서브 블록이 제1 서브 블록이 아닌 경우, 복호화 대상 서브 블록이 마지막 변환 계수 서브 블록인지 여부에 따라 significant_coeff_group_flag를 다르게 설정할 수 있다.
복호화 대상 서브 블록이 마지막 변환 계수 서브 블록이 아닌 경우, 부호화기에서 전송된 significant_coeff_group_flag값을 파싱한다(단계 S2530).
복호화 대상 서브 블록이 마지막 변환 계수 서브 블록인 경우, 마지막 변환 계수 위치가 서브 블록 내에서 스캔 순서상 첫번째 위치인지 여부를 판단한다(단계 S2540).
마지막 변환 계수 위치가 스캔 순서상 첫번째 위치인 경우, significant_coeff_group_flag가 전송되지 않으므로 마지막 변환 계수 서브 블록의 significant_coeff_group_flag를 0으로 설정한다(단계 S2550).
마지막 변환 계수 위치가 스캔 순서상 첫번째 위치가 아닌 경우, 부호화되어 전송된 significant_coeff_group_flag를 복호화한다(단계 S2530).
도 26은 본 발명의 실시예에 따른 서브 블록의 significant_coeff_flag 정보를 산출하는 방법을 나타낸 순서도이다.
도 26을 참조하면, 복호화 대상 서브 블록이 제1 서브 블록인지 여부를 판단한다(단계 S2600).
복호화 대상 서브 블록이 제1 서브 블록인 경우, 서브 블록에 포함된 변환 계수 정보인 significant_coeff_flag 정보를 복호화할 수 있다(단계 S2605).
복호화 대상 서브 블록이 제1 서브 블록이 아닌 경우, 복호화 대상 서브 블록이 마지막 변환 계수 서브 블록인지 여부를 판단한다(단계 S2610).
복호화 대상 서브 블록이 마지막 변환 계수 서브 블록인 경우, 마지막 위치 변환 계수의 significant_coeff_flag를 1로 설정한다(단계 S2615).
마지막 위치 변환 계수의 경우, significant_coeff_flag가 부호화되어 전송되지 않는다. 따라서, 마지막 위치 변환 계수의 significant_coeff_flag를 1로 설정한다.
significant_coeff_group_flag가 0인지 여부를 판단한다(단계 S2620).
significant_coeff_group_flag가 0인 경우, 마지막 변환 계수를 제외한 나머지 변환 계수의 significant_coeff_flag를 0으로 설정한다(단계 S2630).
significant_coeff_group_flag가 0이 아닌 경우, 스캐닝 순서상 두번째 변환 계수가 마지막 변환 계수인지 여부를 판단한다(단계 S2635).
significant_coeff_group_flag가 0이 아닌 경우, 스캐닝 순서상 두번째 변환 계수가 마지막 변환 계수인 경우 스캐닝 순서상 첫번째 위치에 존재하는 변환 계수의 significant_coeff_flag를 1로 설정한다(단계 S2625).
도 17 내지 도 20에서 전술한 바와 같이 스캐닝 순서상 두번째 변환 계수가 마지막 변환 계수인 경우, 첫번째 변환 계수의 significant_coeff_flag는 부호화되어 전송되지 않을 수 있고 복호화 단계에서 첫번째 변환 계수의 significant_coeff_flag는 1로 유추될 수 있다.
단계 S2625를 수행한 후 마지막 변환 계수 서브 블록에 포함된 나머지 변환 계수의 significant_coeff_flag를 0으로 설정한다(단계 S2630).
단계 S2620을 통한 판단 결과 스캐닝 순서상 두번째 변환 계수가 마지막 변환 계수가 아닌 경우 마지막 변환 계수 서브 블록에 포함된 마지막 변환 계수 이전의 변환 계수까지의 significant_coeff_flag를 파싱한다(단계 S2640).
단계 S2640을 통해 마지막 변환 계수 이전의 변환 계수까지의 significant_coeff_flag를 파싱한 후 마지막 변환 계수 다음의 변환 계수의 significant_coeff_flag를 0으로 설정한다(단계 S2630).
단계 S2610을 통한 판단 결과, 복호화 대상 서브 블록이 제1 서브 블록 또는 마지막 변환 계수 서브 블록이 아닌 경우, 복호화 대상 서브 블록의 significant_coeff_group_flag가 0인지 여부를 판단한다(단계 S2650).
단계 S2650를 통한 판단 결과 복호화 대상 서브 블록의 significant_coeff_group_flag가 0이 아닌 경우, 서브 블록에 포함된 첫번째 스캔 위치에 존재하는 변환 계수를 제외한 나머지 15개의 변환 계수의 significant_coeff_flag를 복호화한다(단계 S2655).
서브 블록에 포함된 첫번째 스캔 위치에 존재하는 변환 계수를 제외한 나머지 15개의 변환 계수의 significant_coeff_flag가 모두 0인지 여부를 판단한다(단계 S2660).
단계 S2660를 통한 판단 결과 서브 블록에 포함된 첫번째 스캔 위치에 존재하는 변환 계수를 제외한 나머지 15개의 변환 계수의 significant_coeff_flag가 모두 0인 경우, 첫번째 스캐닝 위치에 존재하는 변환 계수의 significant_coeff_flag를 1로 설정한다(단계 S2665).
단계 S2660를 통한 판단 결과 서브 블록에 포함된 첫번째 스캔 위치에 존재하는 변환 계수를 제외한 나머지 15개의 변환 계수의 significant_coeff_flag가 모두 0이 아닌 경우, 첫번째 스캐닝 위치에 존재하는 변환 계수의 significant_coeff_flag를 파싱한다(단계 S2670).
단계 S2650을 통한 판단 결과 복호화 대상 서브 블록의 significant_coeff_group_flag가 0인 경우, 해당 서브 블록에 포함된 모든 변환 계수의 significant_coeff_flag를 0으로 설정한다(단계 S2675).
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 복호화 대상 서브 블록이 마지막 위치 변환 계수 서브 블록인지 여부를 판단하는 단계; 및
    상기 마지막 위치 변환 계수 서브 블록에 포함된 0이 아닌 변환 계수가 한개인지 여부에 대한 정보를 포함한 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그를 복호화하는 단계를 포함하는 영상 복호화 방법.
  2. 제1항에 있어서, 상기 그룹 플래그는,
    상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 하나의 변환 계수를 포함하고 상기 0이 아닌 하나의 변환 계수가 서브 블록 내에서 첫번째 스캔 위치에 존재하지 않을 경우 제1 플래그값으로 부호화되고 상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 복수의 변환 계수를 포함하는 경우 제2 플래그값으로 부호화되는 플래그인 영상 복호화 방법.
  3. 제1항에 있어서, 상기 그룹 플래그는,
    상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 존재하지 않는 경우 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그값으로 설정되는 플래그인 영상 복호화 방법.
  4. 제1항에 있어서,
    상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그인 경우, 마지막 위치 변환 계수 위치에 해당하는 계수 플래그가 제2 플래그로 설정되고 마지막 위치 변환 계수를 제외한 마지막 위치 변환 계수 서브 블록에 포함된 나머지 변환 계수의 계수 플래그가 제1 플래그로 설정되는 단계를 더 포함하는 영상 복호화 방법.
  5. 제1항에 있어서,
    상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제2 플래그이고 변환 계수가 스캔 순서상 첫번째 스캔 순서 및 두번째 스캔 순서에 존재하지 않는 경우, 상기 마지막 위치 변환 계수 서브 블록의 계수 플래그를 복호화하는 단계를 더 포함하는 영상 복호화 방법.
  6. 제1항에 있어서,
    상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제2 플래그이고 마지막 위치 변환 계수가 스캔 순서상 두번째 스캔 순서에 위치한 경우, 상기 마지막 위치 변환 계수의 계수 플래그가 제2 플래그로 설정되고 스캔 순서상 첫번째 스캔 순서에 위치한 변환 계수의 계수 플래그가 제2 플래그로 설정되는 단계를 더 포함하는 영상 복호화 방법.
  7. 제3항에 있어서,
    상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그로 설정된 경우 스캔 순서상 첫번째 스캔 순서에 위치한 마지막 위치 변환 계수의 계수 플래그가 제2 플래그로 설정되는 단계를 더 포함하는 영상 복호화 방법.
  8. 제1항에 있어서, 상기 그룹 플래그는,
    상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 하나의 변환 계수를 포함하는 경우 제1 플래그, 상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 복수의 변환 계수를 포함하는 경우 제2 플래그로 설정되는 플래그인 영상 복호화 방법.
  9. 제3항에 있어서,
    상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그로 설정된 경우, 마지막 위치 변환 계수의 계수 플래그가 제2 플래그로 설정되고 스캔 순서상 상기 마지막 위치 변환 계수 이전에 존재하는 계수의 계수 플래그가 제1 플래그로 설정되는 단계를 더 포함하는 영상 복호화 방법.
  10. 제1항에 있어서,
    제1 서브 블록 및 마지막 위치 변환 계수 서브 블록을 제외한 나머지 서브 블록의 그룹 플래그를 복호화하는 단계; 및
    상기 나머지 서브 블록의 그룹 플래그가 제2 플래그인 경우, 상기 나머지 서브 블록 내에서 스캔 순서상 첫번째 스캔 순서에 해당하는 변환 계수를 제외한 나머지 변환 계수의 계수 플래그를 복호화하는 단계; 및
    상기 나머지 변환 계수의 계수 플래그가 모두 제1 플래그이면 상기 첫번째 스캔 순서에 해당하는 변환 계수를 제2 플래그로 설정하고, 상기 나머지 변환 계수의 계수 플래그가 모두 제1 플래그가 아니면 상기 첫번째 스캔 순서에 해당하는 변환 계수를 복호화하는 단계를 더 포함하는 영상 복호화 방법.
  11. 상기 역양자화부로부터 수신된 정보를 기초로 복호화 대상 서브 블록이 마지막 위치 변환 계수 서브 블록인지 여부를 판단하고 상기 마지막 위치 변환 계수 서브 블록에 포함된 0이 아닌 변환 계수의 개수 정보를 포함한 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그를 복호화하는 엔트로피 복호화부; 및
    상기 엔트로피 복호화부로부터 복호화된 정보를 기초로 재정렬을 수행하는 재정렬부를 포함하는 영상 복호화 장치.
  12. 제11항에 있어서, 상기 그룹 플래그는,
    상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 하나의 변환 계수를 포함하고 상기 0이 아닌 하나의 변환 계수가 서브 블록 내에서 첫번째 스캔 위치에 존재하지 않을 경우 제1 플래그값으로 부호화되고 상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 복수의 변환 계수를 포함하는 경우 제2 플래그값으로 부호화되는 그룹 플래그인 영상 복호화 장치.
  13. 제11항에 있어서, 상기 그룹 플래그는,
    상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 존재하지 않는 경우 상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그값으로 설정되는 그룹 플래그인 영상 복호화 장치.
  14. 제11항에 있어서, 상기 엔트로피 복호화부는,
    상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그인 경우, 마지막 위치 변환 계수 위치에 해당하는 계수 플래그가 제2 플래그로 설정되고 마지막 위치 변환 계수를 제외한 마지막 위치 변환 계수 서브 블록에 포함된 나머지 변환 계수의 계수 플래그가 제1 플래그로 설정되는 엔트로피 복호화부인 영상 복호화 장치.
  15. 제11항에 있어서, 상기 엔트로피 복호화부는,
    상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제2 플래그이고 변환 계수가 스캔 순서상 첫번째 스캔 순서 및 두번째 스캔 순서에 존재하지 않는 경우, 상기 마지막 위치 변환 계수 서브 블록의 계수 플래그를 복호화하는 엔트로피 복호화부인 영상 복호화 장치.
  16. 제11항에 있어서, 상기 엔트로피 복호화부는,
    상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제2 플래그이고 마지막 위치 변환 계수가 스캔 순서상 두번째 스캔 순서에 위치한 경우, 상기 마지막 위치 변환 계수의 계수 플래그가 제2 플래그로 설정되고 스캔 순서상 첫번째 스캔 순서에 위치한 변환 계수의 계수 플래그가 제2 플래그로 설정되도록 하는 엔트로피 복호화부인 영상 복호화 장치.
  17. 제13항에 있어서, 상기 엔트로피 복호화부는,
    상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그로 설정된 경우 스캔 순서상 첫번째 스캔 순서에 위치한 마지막 위치 변환 계수의 계수 플래그가 제2 플래그로 설정되도록 하는 엔트로피 복호화부인 영상 복호화 장치.
  18. 제11항에 있어서, 상기 엔트로피 복호화부는,
    상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 하나의 변환 계수를 포함하는 경우 제1 플래그, 상기 마지막 위치 변환 계수 서브 블록이 0이 아닌 복수의 변환 계수를 포함하는 경우 제2 플래그로 설정되도록 하는 엔트로피 복호화부인 영상 복호화 장치.
  19. 제13항에 있어서, 상기 엔트로피 복호화부는
    상기 마지막 위치 변환 계수 서브 블록의 그룹 플래그가 제1 플래그로 설정된 경우, 마지막 위치 변환 계수의 계수 플래그가 제2 플래그로 설정되도록 하고 스캔 순서상 상기 마지막 위치 변환 계수 이전에 존재하는 계수의 계수 플래그가 제1 플래그로 설정되도록 하는 엔트로피 복호화부인 영상 복호화 장치.
  20. 제11항에 있어서, 상기 엔트로피 복호화부는
    제1 서브 블록 및 마지막 위치 변환 계수 서브 블록을 제외한 나머지 서브 블록의 그룹 플래그를 복호화하고 상기 나머지 서브 블록의 그룹 플래그가 제2 플래그인 경우, 상기 나머지 서브 블록 내에서 스캔 순서상 첫번째 스캔 순서에 해당하는 변환 계수를 제외한 나머지 변환 계수의 계수 플래그를 복호화하고, 상기 나머지 변환 계수의 계수 플래그가 모두 제1 플래그이면 상기 첫번째 스캔 순서에 해당하는 변환 계수를 제2 플래그로 설정하고, 상기 나머지 변환 계수의 계수 플래그가 모두 제1 플래그가 아니면 상기 첫번째 스캔 순서에 해당하는 변환 계수를 복호화하는 엔트로피 복호화부인 영상 복호화 장치.
PCT/KR2013/002947 2012-04-16 2013-04-09 엔트로피 부복호화 방법 및 이러한 방법을 사용하는 장치 WO2013157769A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0039424 2012-04-16
KR1020120039424A KR20130116754A (ko) 2012-04-16 2012-04-16 엔트로피 부복호화 방법 및 이러한 방법을 사용하는 장치

Publications (1)

Publication Number Publication Date
WO2013157769A1 true WO2013157769A1 (ko) 2013-10-24

Family

ID=49383671

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/002947 WO2013157769A1 (ko) 2012-04-16 2013-04-09 엔트로피 부복호화 방법 및 이러한 방법을 사용하는 장치

Country Status (2)

Country Link
KR (1) KR20130116754A (ko)
WO (1) WO2013157769A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2753238C1 (ru) * 2017-04-13 2021-08-12 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для энтропийного кодирования и декодирования видеосигнала
RU2785817C1 (ru) * 2017-04-13 2022-12-13 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для энтропийного кодирования и декодирования видеосигнала

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109076222B9 (zh) 2016-05-13 2021-10-15 索尼公司 图像处理装置和方法
WO2018026028A1 (ko) * 2016-08-02 2018-02-08 엘지전자(주) 서브 계수 그룹을 이용하여 레지듀얼 신호를 인코딩, 디코딩하는 방법 및 장치
WO2019027200A1 (ko) * 2017-07-31 2019-02-07 에스케이텔레콤 주식회사 비-제로 계수들의 위치를 표현하는 방법 및 장치
KR102453811B1 (ko) * 2017-07-31 2022-10-12 에스케이텔레콤 주식회사 비-제로 계수들의 위치를 표현하는 방법 및 장치
WO2019045538A1 (ko) * 2017-09-04 2019-03-07 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003153228A (ja) * 2001-11-15 2003-05-23 Sony Corp 画像符号化装置及び画像復号化装置
KR20090099236A (ko) * 2008-03-17 2009-09-22 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
KR20090129939A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
KR20120005984A (ko) * 2010-07-09 2012-01-17 삼성전자주식회사 변환 계수의 엔트로피 부호화/복호화 방법 및 장치
KR20120033951A (ko) * 2010-09-30 2012-04-09 한국전자통신연구원 영상 부호화 방법과 복호화 방법 및 이를 이용한 영상 부호화 장치와 복호화 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003153228A (ja) * 2001-11-15 2003-05-23 Sony Corp 画像符号化装置及び画像復号化装置
KR20090099236A (ko) * 2008-03-17 2009-09-22 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
KR20090129939A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
KR20120005984A (ko) * 2010-07-09 2012-01-17 삼성전자주식회사 변환 계수의 엔트로피 부호화/복호화 방법 및 장치
KR20120033951A (ko) * 2010-09-30 2012-04-09 한국전자통신연구원 영상 부호화 방법과 복호화 방법 및 이를 이용한 영상 부호화 장치와 복호화 장치

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2753238C1 (ru) * 2017-04-13 2021-08-12 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для энтропийного кодирования и декодирования видеосигнала
US11240536B2 (en) 2017-04-13 2022-02-01 Lg Electronics Inc. Method and device for entropy encoding, decoding video signal
RU2768379C1 (ru) * 2017-04-13 2022-03-24 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для энтропийного кодирования и декодирования видеосигнала
RU2785817C1 (ru) * 2017-04-13 2022-12-13 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для энтропийного кодирования и декодирования видеосигнала
US11902592B2 (en) 2017-04-13 2024-02-13 Lg Electronics Inc. Method and device for entropy encoding, decoding video signal

Also Published As

Publication number Publication date
KR20130116754A (ko) 2013-10-24

Similar Documents

Publication Publication Date Title
WO2017171370A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017176030A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017222326A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017026681A1 (ko) 비디오 코딩 시스템에서 인터 예측 방법 및 장치
WO2018056703A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017043949A1 (ko) 비디오 신호 처리 방법 및 장치
WO2012043989A2 (ko) 블록 분할 방법 및 복호화 장치
WO2018097626A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017018664A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020180102A1 (ko) 영상 코딩 시스템에서 컨텍스트 코딩된 사인 플래그를 사용하는 영상 디코딩 방법 및 그 장치
WO2017086746A1 (ko) 화면내 예측 모드 부호화/복호화 방법 및 장치
WO2014003423A4 (ko) 영상 부호화/복호화 방법 및 장치
WO2013157825A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2020050685A1 (ko) 인트라 예측을 이용한 영상 부호화/복호화 방법 및 장치
WO2019221465A1 (ko) 영상 복호화 방법/장치, 영상 부호화 방법/장치 및 비트스트림을 저장한 기록 매체
WO2017086738A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2018066958A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018056701A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018135830A1 (ko) 영상 부호화 방법/장치, 영상 복호화 방법/장치 및 비트스트림을 저장한 기록 매체
WO2016190627A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020171592A1 (ko) 영상 코딩 시스템에서 레지듀얼 정보를 사용하는 영상 디코딩 방법 및 그 장치
WO2020180166A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2020096427A1 (ko) 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2021060847A1 (ko) 컬러 포맷에 기반하여 분할 모드를 결정하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2018093184A1 (ko) 비디오 신호 처리 방법 및 장치

Legal Events

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

Ref document number: 13777886

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

Country of ref document: EP

Kind code of ref document: A1