WO2012134246A2 - 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치 - Google Patents

엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치 Download PDF

Info

Publication number
WO2012134246A2
WO2012134246A2 PCT/KR2012/002430 KR2012002430W WO2012134246A2 WO 2012134246 A2 WO2012134246 A2 WO 2012134246A2 KR 2012002430 W KR2012002430 W KR 2012002430W WO 2012134246 A2 WO2012134246 A2 WO 2012134246A2
Authority
WO
WIPO (PCT)
Prior art keywords
context
bin
syntax element
decoding
bins
Prior art date
Application number
PCT/KR2012/002430
Other languages
English (en)
French (fr)
Other versions
WO2012134246A3 (ko
Inventor
임재현
박승욱
전용준
김철근
최영희
김정선
박내리
헨드리 헨드리
전병문
박준영
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020217009360A priority Critical patent/KR102350072B1/ko
Priority to JP2014502486A priority patent/JP5723057B2/ja
Priority to KR1020227038687A priority patent/KR102645557B1/ko
Priority to KR1020137028701A priority patent/KR102033106B1/ko
Priority to KR1020197029807A priority patent/KR102143605B1/ko
Priority to KR1020207022726A priority patent/KR102235636B1/ko
Priority to CN201280025383.7A priority patent/CN103621099B/zh
Priority to EP12765408.5A priority patent/EP2696582A4/en
Priority to US14/009,150 priority patent/US9602843B2/en
Priority to KR1020227000573A priority patent/KR102465116B1/ko
Publication of WO2012134246A2 publication Critical patent/WO2012134246A2/ko
Publication of WO2012134246A3 publication Critical patent/WO2012134246A3/ko
Priority to US14/673,190 priority patent/US9420313B2/en
Priority to US15/151,257 priority patent/US10015523B2/en
Priority to US15/997,464 priority patent/US10841622B2/en
Priority to US17/074,319 priority patent/US11616989B2/en
Priority to US18/111,156 priority patent/US20230209098A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to image information compression technology, and more particularly, to a method for performing entropy coding (encoding / decoding) and an apparatus using the same.
  • High-efficiency image compression technology can be used to effectively transmit, store, and reproduce high-resolution, high-quality video information.
  • a method of predicting using information of neighboring blocks of the current block may be used without transmitting information of the current block as it is.
  • inter prediction and intra prediction can be used.
  • the pixel value of the current picture is predicted by referring to information of another picture, and in the intra prediction method, the pixel value is determined by using the correlation between pixels in the same picture. Predict.
  • information indicating a reference picture and information indicating a motion vector from neighboring blocks in the inter prediction mode may be used to designate a portion used for prediction in another picture.
  • the encoding apparatus entropy encodes image information including a prediction result and transmits the encoded information into a bitstream, and the decoding apparatus entropy decodes the received bitstream to restore the image information.
  • Entropy encoding and entropy decoding can improve the compression efficiency of image information.
  • An object of the present invention is to provide a method and apparatus for effectively performing entropy coding to improve coding efficiency.
  • An object of the present invention is to provide a method and apparatus for utilizing different contexts according to states and conditions in entropy coding.
  • Context-based decoding or bypass decoding may be performed.
  • the context may be adaptively calculated or may have a predetermined fixed value.
  • contexts independent of each other may be applied to the bins of the syntax element.
  • a bypass mode may be applied to some of the bins of the syntax element, and a context independent of each other may be applied to the remaining bins.
  • an independent context is applied to the bin to be decoded based on the context, and the independent context may be a context that is updated separately from other contexts.
  • the step of decoding the bin determines whether to bypass decode the bin of the syntax element, and if it is determined that the bean is not bypass decoded, context-based decoding may be performed. Can be.
  • decoding may be performed based on the context index assigned to the bin of the syntax element on the context index table to which the context index is allocated.
  • the context index table may assign the same context index to some of the bins of the syntax element.
  • the context index table may allocate the same context index for some of the bins of the syntax element and assign a bypass mode for some other bins.
  • the context index table allocates an offset according to a type of a picture to be coded and a context index for bins of the syntax element, and the bin of the syntax element is based on a context indicated by the sum of the context index and the offset. Can be decoded.
  • the context index table may assign the same context index to some of the bins of the syntax element.
  • the context index table may allocate the same context index for some of the bins of the syntax element and assign a bypass mode for some other bins.
  • An entropy decoding apparatus comprising: an entropy decoding unit for decoding a bin of a syntax element and a predictor for generating a prediction block based on the decoded syntax element, wherein the entropy decoding unit is configured for a context for each bin of the syntax element. Based on decoding or bypass decoding can be performed.
  • the entropy decoding unit may apply a bypass mode to some of the bins of the syntax element, and apply a context independent of each other to the other bins.
  • the entropy decoding unit may perform decoding based on the context index assigned to the bin of the syntax element on the context index table to which the context index is allocated.
  • the entropy decoding unit performs decoding by using a context index table, and the context index table allocates an offset according to a type of a coding target picture and a context index for bins of the syntax element and The bin of the syntax element may be decoded based on the context indicated by the sum of the context index and the offset.
  • coding efficiency can be improved by effectively performing entropy coding.
  • the efficiency of entropy coding can be improved and the coding efficiency can be improved.
  • the present invention in performing entropy coding, by applying a context to reflect a state and a condition, it is possible to increase the efficiency of entropy coding and improve the coding efficiency.
  • FIG. 1 is a block diagram schematically illustrating an image encoding apparatus (encoder) according to an embodiment of the present invention.
  • FIG. 2 is a block diagram schematically illustrating an image decoding apparatus (decoder) according to an embodiment of the present invention.
  • FIG. 3 is a diagram schematically illustrating an example of an intra prediction mode applied in intra prediction.
  • FIG. 4 is a diagram schematically illustrating an example of entropy coding applied to the present invention.
  • FIG. 5 is a flowchart schematically illustrating an example of an entropy decoding process to which the present invention is applied.
  • each of the components in the drawings described in the present invention are shown independently for the convenience of the description of the different characteristic functions in the image encoding / decoding device, each component is implemented in separate hardware or separate software It does not mean to be.
  • two or more of each configuration may be combined to form one configuration, or one configuration may be divided into a plurality of configurations.
  • Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention without departing from the spirit of the present invention.
  • the image encoding apparatus 100 may include a picture splitter 105, a predictor 110, a transformer 115, a quantizer 120, a reordering unit 125, and an entropy encoding unit 130. , An inverse quantization unit 135, an inverse transform unit 140, a filter unit 145, and a memory 150.
  • the picture dividing unit 105 may divide the input picture into at least one processing unit.
  • the processing unit may be a prediction unit (hereinafter referred to as a PU), a transform unit (hereinafter referred to as a TU), or a coding unit (hereinafter referred to as "CU"). May be used).
  • the prediction unit may be represented by a prediction block, a transform unit by a transform block, and an encoding unit by an encoding block.
  • the prediction unit 110 may include an inter prediction unit that performs inter prediction (inter prediction) and an intra prediction unit that performs intra prediction.
  • inter prediction inter prediction
  • intra prediction intra prediction
  • I slice As a picture including an already encoded region used for prediction, there are an I picture (I slice), a P picture (P slice), a B picture (B slice), and the like.
  • An I slice is a slice that is only decoded by intra prediction.
  • a P slice is a slice that can be decoded using inter prediction or intra prediction using at least one motion vector and reference picture index to predict the sample value of each block.
  • a B slice is a slice that can be decoded using inter prediction or intra prediction using at least two motion vectors and reference picture indices to predict the sample value of each block.
  • the prediction unit 110 performs prediction on the processing unit of the picture in the picture dividing unit 105 to generate a prediction block composed of the predicted samples.
  • the processing unit of the picture in the prediction unit 110 may be a CU, a TU, or a PU.
  • the processing unit in which the prediction is performed and the processing unit in which the prediction method and the specific content are determined may be different from each other.
  • the method of prediction and the prediction mode may be determined in units of PUs, and the prediction may be performed in units of TUs.
  • a prediction block may be generated by performing prediction based on information of at least one picture of a previous picture and / or a subsequent picture of the current picture.
  • a prediction block may be generated by performing prediction based on pixel information in a current picture.
  • a prediction picture for the current block may be generated by selecting a reference picture with respect to the current block and selecting a reference block having the same size as the current block.
  • a prediction block may be generated such that a residual signal with a current block is minimized and a motion vector size is also minimized.
  • a skip mode, a merge mode, an advanced motion vector prediction (AMVP), and the like can be used.
  • the prediction block may be generated in sub-integer sample units such as 1/2 pixel sample unit and 1/4 pixel sample unit.
  • the motion vector may also be expressed in units of integer pixels or less.
  • the luminance pixel may be expressed in units of 1/4 pixels
  • the chrominance pixel may be expressed in units of 1/8 pixels.
  • Information such as an index, a motion vector predictor, and a residual signal of a reference picture selected through inter prediction is entropy encoded and delivered to the decoding apparatus.
  • a prediction mode may be determined in units of PUs, and prediction may be performed in units of PUs, or a prediction mode may be determined in units of PUs, and intra prediction may be performed in units of TUs.
  • the prediction mode may have 33 directional prediction modes and at least two non-directional modes.
  • the non-directional mode may include a DC prediction mode, a planar mode, and the like.
  • a prediction block may be generated after applying a filter to a reference sample.
  • whether to apply the filter to the reference sample may be determined according to the intra prediction mode and / or the size of the current block.
  • the PU may be determined in various sizes / types from a CU that is no longer partitioned.
  • a PU may have a size of 2N ⁇ 2N, 2N ⁇ N, N ⁇ 2N, or N ⁇ N.
  • the PU may have a size of 2N ⁇ 2N or N ⁇ N (where N is an integer).
  • the N ⁇ N size PU may be set to apply only in a specific case. For example, it may be decided to use a PU of N ⁇ N only for a minimum size coding unit or to use only for intra prediction.
  • a PU having a size of N ⁇ mN, mN ⁇ N, 2N ⁇ mN, or mN ⁇ 2N (m ⁇ 1) may be further defined and used.
  • the residual value (the residual block or the residual signal) between the generated prediction block and the original block is input to the converter 115.
  • the prediction mode information, the motion vector information, etc. used for the prediction are encoded by the entropy encoding unit 130 together with the residual value and transmitted to the decoding apparatus.
  • the transformer 115 performs transform on the residual block in transform units and generates transform coefficients.
  • the transform unit in the converter 115 may be a TU and may have a quad tree structure. In this case, the size of the transform unit may be determined within a range of a predetermined maximum and minimum size.
  • the transform unit 115 may convert the residual block using a discrete cosine transform (DCT) or a discrete sine transform (DST).
  • DCT discrete cosine transform
  • DST discrete sine transform
  • the quantizer 120 may generate quantization coefficients by quantizing the residual values transformed by the converter 115.
  • the value calculated by the quantization unit 120 is provided to the inverse quantization unit 135 and the reordering unit 125.
  • the reordering unit 125 rearranges the quantization coefficients provided from the quantization unit 120. By rearranging the quantization coefficients, the efficiency of encoding in the entropy encoding unit 130 may be increased.
  • the reordering unit 125 may rearrange the quantization coefficients in the form of 2D blocks into the form of 1D through a coefficient scanning method.
  • the reordering unit 125 may increase the entropy encoding efficiency of the entropy encoding unit 130 by changing the order of coefficient scanning based on probabilistic statistics of coefficients transmitted from the quantization unit.
  • the entropy encoding unit 130 may perform entropy encoding on the quantization coefficients rearranged by the reordering unit 125.
  • Entropy encoding may include, for example, encoding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC).
  • the entropy encoding unit 130 may include quantization coefficient information, block type information, prediction mode information, partition unit information, PU information, transmission unit information, motion vector information, etc. of the CUs received from the reordering unit 125 and the prediction unit 110.
  • Various information such as reference picture information, interpolation information of a block, and filtering information may be encoded.
  • the entropy encoding unit 130 may apply a constant change to a transmitted parameter set or syntax.
  • the inverse quantization unit 135 inverse quantizes the quantized values in the quantization unit 120, and the inverse transformer 140 inversely transforms the inverse quantized values in the inverse quantization unit 135.
  • the residual values generated by the inverse quantizer 135 and the inverse transformer 140 may be combined with the prediction block predicted by the predictor 110 to generate a reconstructed block.
  • the filter unit 145 may apply a deblocking filter, an adaptive loop filter (ALF), and a sample adaptive offset (SAO) to the reconstructed picture.
  • ALF adaptive loop filter
  • SAO sample adaptive offset
  • the deblocking filter may remove block distortion generated at the boundary between blocks in the reconstructed picture.
  • the adaptive loop filter may perform filtering based on a value obtained by comparing the reconstructed image with the original image after the block is filtered through the deblocking filter. ALF may be performed only when high efficiency is applied.
  • the SAO restores the offset difference from the original image on a pixel-by-pixel basis for the residual block to which the deblocking filter is applied, and is applied in the form of a band offset and an edge offset.
  • the filter unit 145 may not apply filtering to the reconstructed block used for inter prediction.
  • the memory 150 may store the reconstructed block or the picture calculated by the filter unit 145.
  • the reconstructed block or picture stored in the memory 150 may be provided to the predictor 110 that performs inter prediction.
  • the image decoding apparatus 200 may include an entropy decoding unit 210, a reordering unit 215, an inverse quantization unit 220, an inverse transform unit 225, a prediction unit 230, and a filter unit 235.
  • Memory 240 may be included.
  • the input bit stream may be decoded according to the reverse procedure of the procedure in which the image information is processed in the encoding apparatus.
  • VLC variable length encoding
  • 'VLC' variable length encoding
  • the entropy decoding unit 210 also uses the VLC. Entropy decoding may be performed by implementing the same VLC table as the table.
  • CABAC CABAC is used to perform entropy encoding in the image encoding apparatus
  • CABAC CABAC correspondingly.
  • Information for generating a prediction block among the information decoded by the entropy decoding unit 210 may be provided to the prediction unit 230, and a residual value of which the entropy decoding is performed in the entropy decoding unit may be input to the reordering unit 215. .
  • the reordering unit 215 may reorder the entropy decoded bit stream in the entropy decoding unit 210 based on a method of reordering in the image encoder.
  • the reordering unit 215 may reorder the coefficients expressed in the form of a one-dimensional vector by restoring the coefficients in the form of a two-dimensional block.
  • the reordering unit 215 may be realigned by receiving information related to coefficient scanning performed by the encoding apparatus and performing reverse scanning based on the scanning order performed by the encoding apparatus.
  • the inverse quantization unit 220 may perform inverse quantization based on the quantization parameter provided by the encoding apparatus and the coefficient values of the rearranged block.
  • the inverse transform unit 225 may perform inverse DCT or inverse DST with respect to a DCT or a DST performed by the transform unit of the encoding apparatus with respect to the quantization result performed by the image encoding apparatus.
  • the inverse transformation may be performed based on a transmission unit determined by the encoding apparatus or a division unit of an image.
  • the transform unit of the encoding apparatus may selectively perform DCT or DST according to a plurality of pieces of information such as a prediction method, a current block size, and a prediction direction, and the inverse transform unit 225 of the decoding apparatus may perform the transform unit.
  • Inverse transformation may be performed based on the transformation information.
  • the prediction unit 230 may generate the prediction block based on the prediction block generation related information provided by the entropy decoding unit 210 and the previously decoded block and / or picture information provided by the memory 240.
  • the reconstruction block may be generated using the prediction block generated by the predictor 230 and the residual block provided by the inverse transform unit 225.
  • the detailed prediction method performed by the prediction unit 230 is the same as the prediction method performed by the prediction unit of the encoding apparatus.
  • intra prediction that generates a prediction block based on pixel information in the current picture may be performed.
  • the prediction mode may have 33 directional prediction modes and at least two non-directional modes.
  • the non-directional mode may include a DC prediction mode, a planar mode, and the like.
  • a prediction block may be generated after applying a filter to a reference sample.
  • whether to apply the filter to the reference sample may be determined according to the intra prediction mode and / or the size of the current block.
  • a prediction picture for the current block may be generated by selecting a reference picture with respect to the current block and selecting a reference block having the same size as the current block.
  • a prediction block may be generated such that a residual signal with a current block is minimized and a motion vector size is also minimized.
  • information of neighboring blocks of the current picture may be used.
  • the prediction block for the current block may be generated based on the information of the neighboring block through a skip mode, a merge mode, an advanced motion vector prediction (AMVP), and the like.
  • AMVP advanced motion vector prediction
  • the prediction block may be generated in sub-integer sample units such as 1/2 pixel sample unit and 1/4 pixel sample unit.
  • the motion vector may also be expressed in units of integer pixels or less.
  • the luminance pixel may be expressed in units of 1/4 pixels
  • the chrominance pixel may be expressed in units of 1/8 pixels.
  • the motion information necessary for inter prediction of the current block may be derived by checking a skip flag, a merge flag, and the like received from the encoding apparatus.
  • the processing unit in which the prediction is performed and the processing unit in which the prediction method and the details are determined may be different from each other.
  • a prediction mode may be determined in units of PUs, and prediction may be performed in units of PUs, or a prediction mode may be determined in units of PUs, and intra prediction may be performed in units of TUs.
  • the residual block output from the inverse transformer 225 may be added to the prediction block output from the predictor 230 to reconstruct the original image.
  • the reconstructed block and / or picture may be provided to the filter unit 235.
  • the filter unit 235 applies deblocking filtering, sample adaptive offset (SAO), and / or adaptive loop filtering to the reconstructed block and / or picture.
  • the memory 240 may store the reconstructed picture or block to use as a reference picture or reference block and provide the reconstructed picture to the output unit.
  • bit stream input to the decoding apparatus may be input to the entropy decoding unit through a parsing step.
  • the entropy decoding unit may perform a parsing process.
  • coding may be interpreted as encoding or decoding as the case may be, and information is to be understood as including all values, parameters, coefficients, elements, and the like. Can be.
  • 'picture' or 'picture' generally refers to a unit representing an image in a specific time zone
  • 'slice' or 'frame' refers to a picture of a picture in actual coding of a video signal. It is a unit constituting part, and may be used interchangeably with a picture if necessary.
  • 'Pixel', 'pixel' or 'pel' means the smallest unit that constitutes an image.
  • the term “sample” may be used as a term indicating a value of a specific pixel.
  • the sample may be divided into a luminance (Luma) and a chroma (chroma) component, but may be generally used as a term including both of them.
  • the color difference component represents a difference between predetermined colors and is generally composed of Cb and Cr.
  • a unit refers to a basic unit of image processing or a specific position of an image, such as the above-described coding unit (CU), prediction unit (PU), and transformation unit (TU). In some cases, a 'block' Or 'area' and the like. Also, a block may be used as a term indicating a set of samples or transform coefficients composed of M columns and N rows.
  • the encoding apparatus or the decoding apparatus may derive motion information of the current block and perform inter prediction on the current block based on the derived motion information.
  • An image used for prediction of the current block is called a reference picture or a reference frame.
  • the region in the reference picture may be represented using a reference picture index refIdx, a motion vector, etc. indicating the reference picture.
  • a reference picture list may be configured of pictures used for prediction, and the reference picture index may indicate a specific reference picture in the reference picture list.
  • one reference picture list for example, reference list 0 is required.
  • two reference picture lists for example, reference list 0 and reference list 1, are required.
  • an I picture is a picture that is encoded / decoded by intra prediction.
  • a P picture is a picture that can be encoded / decoded using inter prediction or intra prediction using at least one motion vector and reference picture index to predict the sample value of each block.
  • a B picture is a picture that can be encoded / decoded using inter prediction or intra prediction using at least two motion vectors and reference picture indices to predict the sample value of each block.
  • a P picture requires one reference picture list, which is referred to as reference picture list 0 (L0).
  • a B picture is a picture that can be encoded by forward, backward or bidirectional inter prediction using one or more, for example two reference pictures.
  • the B picture requires two reference picture lists, and the two reference picture lists are referred to as reference picture list 0 (L0) and reference picture list 1 (L1), respectively.
  • Inter prediction using a reference picture selected from L0 is called L0 prediction, and L0 prediction is mainly used for forward prediction.
  • Inter prediction using a reference picture selected from L1 is called L1 prediction, and L1 prediction is mainly used for backward prediction.
  • inter prediction using two reference pictures respectively selected from L0 and L1 is also referred to as bi prediction.
  • the characteristics of the I picture, the P picture, and the B picture may be defined not in a picture unit but in a slice unit.
  • an I slice having a feature of an I picture, a P slice having a feature of a P picture, and a B slice having a feature of a B picture may be defined in a slice unit.
  • colPic may be selected at L0 when the slice type for the current block is B and colPic is selected from L0 or when the slice type for the current block is P.
  • a slice (picture) having the same reference picture list L0 and reference picture list L1 among the B slices (B pictures) is called GPB (Generalized P and B).
  • the prediction unit may generate a prediction block for the current block by performing intra prediction based on pixel information in the current picture.
  • the prediction unit may include neighboring blocks of the current block, for example, blocks located above the current block, blocks located to the left of the current block, blocks located in the upper left corner of the current block, and lower left of the current block.
  • the pixel values of the current block may be predicted using pixels belonging to the blocks located at and the pixels belonging to the blocks located at the upper right side of the current block.
  • various prediction modes may be used according to the location and / or prediction method of reference pixels used for pixel value prediction of the current block.
  • FIG. 3 is a diagram schematically illustrating an example of an intra prediction mode applied in intra prediction.
  • the intra prediction mode includes a directional mode such as a vertical mode and a horizontal mode, and a non-directional mode such as a DC mode and a planar mode.
  • Table 1 is a table schematically describing indices indicating the intra prediction modes illustrated in FIG. 3.
  • intra prediction mode 0 is a planner mode
  • intra prediction mode 1 is a DC mode, which may be referred to as a non-directional mode
  • intra prediction modes 2 to 34 are modes according to prediction angles, and may be referred to as directional modes.
  • intra prediction mode 35 applies only to chroma and represents a prediction mode of chroma determined from the intra mode of luma.
  • the prediction block may be generated by an average of pixel values in the current block.
  • angular mode directional mode
  • prediction may be performed according to a predetermined angle and / or direction for each mode.
  • a more limited number of prediction modes may be used for the chroma component.
  • a limited number of prediction modes used for chroma components are called chroma prediction mode candidates.
  • prediction may be performed using one prediction mode among the chroma prediction mode candidates.
  • a planar mode, a vertical mode, a horizontal mode, a DC mode, and the like may be used as the chroma prediction mode candidate.
  • Table 2 is a table schematically illustrating an example in which the prediction mode of the chroma component for the current block is determined according to the prediction mode of the luma component and the prediction mode indicator for the chroma component for the current block.
  • intra_chroma_pred_mode includes information for determining an intra prediction mode for chroma samples of the current block, and may be transmitted from the encoding device to the decoding device.
  • the LM mode is also called a linear mode or a luma estimated mode.
  • the chroma component of the current block may be predicted using the luma sample (luma pixel) of the current block.
  • a prediction value of a chroma sample may be generated based on a sample generated by interpolating the reconstructed luma samples of the current block.
  • the prediction mode for the chroma component of the current block may be determined according to the value of intra_chroma_pred_mode and the prediction mode IntraPredMode value for the luma component of the current block. For example, if the intra_chroma_pred_mode value is 0, if the IntraPredMode value is 0, the intra prediction mode for the chroma component of the current block is the right prediction mode (mode 34), and if the IntraPredMode value is other than 0, The intra prediction mode for the chroma component of the current block is a planner mode (Intra_Planar). The chroma component of the current block is predicted using the chroma components in the current picture, according to the intra prediction mode.
  • the intra_chroma_pred_mode value is 1, if the IntraPredMode value is 26, the intra prediction mode for the chroma component of the current block is the right prediction mode (mode 34), and if the IntraPredMode value is other than 26, The intra prediction mode for the chroma component of the current block is a vertical mode, that is, Intra_Angular 26.
  • the chroma component of the current block is predicted using the chroma components in the current picture, according to the intra prediction mode.
  • the intra prediction mode for the chroma component of the current block is the right prediction mode (mode 34), and if the IntraPredMode value is other than 10, the current block
  • the intra prediction mode for the chroma component of is a horizontal mode, that is, Intra_Angular (10).
  • the chroma component of the current block is predicted using the chroma components in the current picture, according to the intra prediction mode.
  • the intra_chroma_pred_mode value is 3 if the IntraPredMode value is 1, the intra prediction mode for the chroma component of the current block is the right prediction mode (mode 34), and if the IntraPredMode value is other than 1, the current block
  • the intra prediction mode for the chroma component of is DC mode (Intra_DC).
  • the chroma component of the current block is predicted using the chroma components in the current picture, according to the intra prediction mode.
  • the intra prediction mode for the chroma component of the current block becomes the LM mode.
  • the predictive block for the chroma component of the current block may be generated using the reconstructed luma component of the current block.
  • the intra prediction mode for the chroma component of the current block is the same as the intra prediction mode for the luma component of the current block. Therefore, this case is also called DM (Direct Mode).
  • Table 3 is a table schematically illustrating another example in which the prediction mode of the chroma component for the current block is determined according to the prediction mode of the luma component and the prediction mode indicator for the chroma component for the current block.
  • Table 3 shows the case where there is no application of the LM mode.
  • the decoding apparatus may selectively apply Tables 2 and 3. For example, the encoding apparatus may transmit information indicating whether to apply Table 2 or Table 3 to the decoding apparatus, and the decoding apparatus determines the intra prediction mode for the chroma component of the current block according to the transmitted instruction. To do this, Table 2 may be applied or Table 3 may be applied.
  • image information including the predicted information is transmitted to the decoding apparatus as a bitstream through entropy encoding.
  • the decoding apparatus entropy decodes the received bitstream to obtain image information including the predicted information.
  • FIG. 4 is a diagram schematically illustrating an example of an entropy coding unit applied in the present invention.
  • the configuration of the entropy coding unit illustrated in FIG. 4 may be equally applied to entropy encoding and entropy decoding.
  • the entropy encoding unit 400 may include a binarization unit 410, a regular coding engine 420, and a bypass coding engine 430. It may include.
  • entropy encoding processes a signal input in the D1 direction and outputs a signal processed in the D2 direction.
  • the binarization unit 410 converts the input signal into a binary number. If the input signal is already a binary value, it may be bypassed without going through the binarization unit 410.
  • bins Binary values that are input single digits are called bins. For example, when an input binary value is 110, each of 1, 1, and 0 is called one bin, and a binary sequence composed of bins is called a bin string.
  • the binarized signal (empty string) is input to normal coding engine 420 or bypass coding engine 430.
  • the regular coding engine 420 assigns a context that reflects a probability value for the bin and encodes the bin based on the assigned context.
  • the regular coding engine 420 may update the context for the bin after encoding for each bin.
  • Bypass coding engine 430 encodes the input bins in a simple bypass mode and improves the encoding speed, without assigning contexts according to the input bins.
  • Bypass mode bypasses the procedure of estimating the probability for the input bin and updating the probability applied to the bin after encoding.
  • an encoding process may be performed by applying a uniform probability distribution.
  • the entropy encoding unit 400 determines whether to perform entropy encoding through the normal coding engine 420 or entropy encoding through the bypass coding engine 430, and the encoding path through the switching unit 440. Can be switched.
  • the entropy encoding unit 400 may be the entropy encoding unit 130 illustrated in FIG. 1.
  • the entropy decoding unit 400 may include a binarization unit 410, a regular coding engine 420, a bypass coding engine, and a bypass coding engine. 430).
  • the entropy decoding unit 400 processes a signal input in the D3 direction and outputs a signal processed in the D4 direction.
  • the binarization unit 410, the normal coding engine 420, and the bypass coding engine 430 perform the same process as described in the entropy encoding unit in the reverse order.
  • the entropy decoding unit 400 determines whether to be decoded by the regular coding engine 420 or by the bypass coding engine 430 for each bin of the input syntax element.
  • decoding with context is performed in canonical coding engine 420. If it is determined to use the bypass coding engine, decoding is performed using the uniform probability distribution in the bypass coding engine 430. The binary code is output by decoding in each coding engine 420,430.
  • the binary code outputted for all bins of the corresponding syntax is summed to determine which syntax value is mapped.
  • the value of the corresponding binary code is set to the value of the mapped syntax.
  • the binarization unit 410 may perform reverse binarization as necessary.
  • the decoding apparatus entropy decodes the bitstream received from the encoding apparatus.
  • an entropy decoding method performed by the decoding apparatus when entropy encoding image information using CABAC in the encoding apparatus will be described.
  • the entropy decoding unit in the encoding apparatus when parsing a syntax element coded with CABAC, initiates a CABAC parsing process according to a request for a value of the syntax element.
  • binarization is derived for that syntax element value.
  • binarization is performed according to the applied binarization type (e.g., unary binarization, truncated unary binarization, exp-Golomb binarization, fixed length binarization, etc.). .
  • the sequence of binarized and parsed bins for the syntax element determines the decoding process.
  • each bin is indexed by the bin index binIdx, and a context index ctxIdx is derived for each bin.
  • the initial value of the context index may be set for each syntax element.
  • a context index table in which a context index value is set for each syntax element may be used, and the table may be specified using a predetermined indicator, for example, a context index table indicator (ctxIdxTable).
  • FIG. 5 is a flowchart schematically illustrating an example of an entropy decoding process to which the present invention is applied. For convenience of description, the decoding process for a single bin is described as an example in FIG. 5.
  • the decoding process illustrated in FIG. 5 may be performed by a decoding apparatus, more specifically, an entropy decoding unit in the decoding apparatus.
  • the entropy decoding unit performs each process.
  • the entropy decoding unit determines whether to apply bypass decoding to an input decoding target bin (S510).
  • the entropy decoding unit may determine whether to apply bypass decoding based on the information on the target bin. For example, as described below, when using a fixed context using a table, the entropy decoding unit may determine whether to apply bypass decoding based on an instruction allocated on the table for the corresponding syntax element. In addition, when using a fixed context using a table, the entropy decoding unit may determine whether to apply bypass decoding based on an index, an offset, or the like allocated on the table for the corresponding syntax element.
  • the entropy decoding unit When the entropy decoding unit determines that the bypass decoding is to be applied, the entropy decoding unit performs bypass decoding on the input bin (S520). In case of bypass decoding, a uniform probability distribution is used as in the case of encoding.
  • the entropy decoding unit may allocate a value of a bin by comparing a code interval range codIRange and a code interval offset codIOffset according to the state of the bypass decoding engine. For example, if the code interval offset is equal to or greater than the code interval, a value of 1 may be allocated to the value of the bin. If the code interval offset is less than the code interval, the value of 0 may be assigned to the value of the bin. In this case, in order to directly compare the code interval section and the code interval offset, a value of the code interval section or the code interval offset may be appropriately adjusted.
  • the entropy decoding unit may determine whether the decoding termination condition is satisfied (S530). For example, when the value of the context index ctxIdx is 0 and the value of the context index table ctxIdxTable is 0, the entropy decoding unit may cause the decoding process to terminate. It is also possible to transmit from the encoding apparatus as syntax information such as a flag without determining whether the termination condition is satisfied according to the values of the indices. In this case, the termination condition indicated by the syntax information and the termination condition determined by the index value may be the same.
  • the entropy decoding unit terminates the decoding process as described above (S540).
  • the entropy decoding unit may assign a predetermined setting value to a value of a bin before ending. In this case, the entropy decoding unit may allocate a bin value by bypass decoding.
  • the entropy decoding unit may perform decoding (S550).
  • the entropy decoding unit may decode the decoding target bin based on the bin index binIdx indicating the decoding target bin and the context index ctxIdx indicating the context applied to the decoding target bin.
  • entropy coding (entropy encoding / entropy decoding) may be used when processing image information requiring high coding efficiency.
  • entropy coding may include variable length coding (VLC) or the above-described context-based adaptive binary arithmetic code (CABAC).
  • VLC variable length coding
  • CABAC context-based adaptive binary arithmetic code
  • context-based means that a more efficient coding scheme is adaptively selected and applied in consideration of circumstances.
  • using different contexts means applying different probabilistic models and coding through independent context updates.
  • a method of calculating a context according to circumstances and using it for coding adaptively is a method of calculating a context according to circumstances and using it for coding adaptively.
  • the method of (a) of the context utilization method has the highest complexity since it involves calculating the context in consideration of the surrounding situation before coding.
  • the encoding apparatus checks the context of each bin constituting the binary code of the syntax element to be coded by looking at the surrounding situation, for example, the context applied to the preceding and following bins, or the context of the coded block (eg, the left block or the upper block) before the current block. Can be calculated.
  • the encoding device may transmit information about the calculated context to the decoding device.
  • the decoding apparatus may decode the corresponding bin based on the received context information.
  • the encoding apparatus does not determine and transmit the context for each bin, but may cause the encoding apparatus and the decoding apparatus to calculate the context in consideration of the surrounding situation by the same method.
  • the method of (b) of the method of utilizing the context without setting the context each time, as in the method of (a), and pre-set the context table for assigning the context index for each bean constituting the binary code of a specific syntax element,
  • the context indicated by the context index allocated in the context table is used for decoding the corresponding bin.
  • a fixed context may be used for each bin.
  • Table 4 is a table schematically showing an example in which an empty index and a context index are designated when the method of (b) is applied.
  • Table 4 shows an example of a context table applied to a syntax element, assuming a syntax element.
  • the bin index binIdx indicates a particular bin among the bins constituting the binary code of the syntax element. For example, if the value of binIdx is 0, it indicates a 0 th bin among the bins constituting the binary code of the syntax element, and if the value of binIdx is 4, it indicates a third bin among the bins constituting the binary code of the syntax element.
  • the syntax elements may be syntax elements transmitted from the encoding device to the decoding device, such as merge_idx, intra_chroma_pred_mode, inter_pred_flag, and the like.
  • context indices are assigned to the beans 0 to 4 constituting the binary code of the syntax element, respectively.
  • the context indices Idx0 to Idx4 may have different values.
  • the context index may indicate the context to be applied for the bean.
  • the context indicated by the context index may be allocated through a separate table. For example, on a separate context table organized by syntax elements, a specific context indicated by the context index may be allocated.
  • Each bin of the syntax element may be decoded based on the context indicated by the assigned context index.
  • the decoding apparatus may use the context indicated by the context index assigned to the corresponding bin for a particular bin. For example, when the bin index value is 0, the 0 th bin may be decoded using the context indicated by idx0.
  • the maximum value of the bin index binIdxMax is 4 is illustrated, but the maximum value of the bin index may be greater than 4 or smaller than 4.
  • the same context index as the context index assigned to the largest bin index binIdxMax may be used.
  • Method (c) of the context utilization method is not more complicated than (a) or (b).
  • Bypass coding used in the method of (c) uses a uniform probability distribution, as described above, and is applied for fast coding.
  • the contents of the bypass coding are as described above.
  • CABAC coding a particular binary code
  • context is applied to the number 0 or 1 of each digit that makes up the binary code.
  • the number 0 or 1 of each digit constituting the binary code is referred to as a bin as described above. For example, if the binary code is 110, the 0th bin is 1, the 1st bin is 1, and the 2nd bin is 0.
  • CABAC coding various contexts can be determined for the beans constituting the binary code of the syntax element.
  • method (A) an independent context is applied for each of the beans making up the binary code of the syntax element.
  • the context for each bins can be updated independently.
  • method (B) the same context is applied to each of the bins making up the binary code, and the update can be performed the same.
  • method (C) since the bins constituting the binary code are all coded in the bypass mode, fast decoding can be achieved.
  • an independent context may be applied to some of the bins constituting the binary code of the syntax element, and the same context may be applied to some bins.
  • an independent context may be applied to some beans, and a bypass mode may be applied to some beans.
  • the same context may be applied to some of the bins constituting the binary code of the syntax element, and a bypass mode may be applied to some of the bins.
  • an independent context may be applied to some beans, an identical context may be applied to one-minute bins, and a bypass mode may be applied to some bins.
  • context determination methods (A) to (D) for bins constituting the binary code of the syntax element may be applied together with the context utilization methods (a) to (d).
  • an independent context is applied to all the beans making up the binary code of the syntax (syntax element), and the independent context applied is applied to the bean to be applied. It may be calculated in consideration of the surrounding environment.
  • an independent context is applied to all the beans that make up the binary code of that syntax (syntax element), and the independent context to be applied is indicated through a preset context table. It may be.
  • Table 5 shows an example of allocating a context through a predetermined context table when allocating an independent context for each bean constituting a binary code of a syntax element.
  • Table 5 shows an example of a context table applied to syntax element A, assuming a specific syntax element A.
  • context indices Idx0 to Idx4 for each bin indicate, independently of each other, the context to be applied to the corresponding bin, and the contexts indicated by the respective context indices may be updated independently of each other.
  • the maximum value of the bin index binIdxMax is 4, but the maximum value of the bin index may be greater than 4 or less than 4.
  • the same context index as the context index assigned to the largest bin index binIdxMax may be used.
  • an independent context may be applied to some of the bins constituting the binary code of the syntax (syntax element), and a bypass mode may be applied to some bins.
  • the contexts applied to the bins may be calculated in consideration of the surrounding environment when the context should be applied to the bins.
  • an independent context or bypass mode may be set for each bin, and the context index for each bin may indicate which context or bypass mode to apply.
  • Table 6 shows an example of a context table that can be used when applying an independent context for some beans and bypass mode for some beans among the bins constituting the binary code of a specific syntax (syntax element). It is shown.
  • Table 6 shows an example of a context table applied to syntax element B, assuming a specific syntax element B.
  • the maximum value of the bin index binIdxMax is 4, but the maximum value of the bin index may be greater than 4 or less than 4.
  • the same context index as the context index assigned to the largest bin index binIdxMax may be used.
  • an independent context is applied to some beans that make up the binary code of the syntax (syntax element), and the same is applied to some other beans.
  • the contexts are applied in common, and each context can be calculated in consideration of the surrounding environment for the bean to be applied.
  • syntax element For a specific syntax (syntax element), some beans that make up the binary code of that syntax (syntax element) apply independent contexts to each other, and the same context is commonly applied to some other beans, with each context preconfigured. It can also be directed through a context table.
  • Table 7 shows how to assign contexts through the context table when applying independent contexts for some beans for each bean constituting the binary code of the syntax element, and applying the same context for some beans in common. An example is shown.
  • Table 7 shows an example of a context table applied to syntax element C, assuming a specific syntax element C.
  • the same context indicated by the context index Idx1 is applied to the first and second bins.
  • the contexts indicated by the context indices Idx0, Idx2, and Idx3 may be applied to the zeroth, third, and fourth bins, respectively.
  • the context indices Idx0 to Idx3 may have different values, and the contexts indicated by the context indices may be updated independently of each other.
  • the maximum value of the bin index binIdxMax is 4, but the maximum value of the bin index may be greater than 4 or less than 4.
  • the same context index as the context index assigned to the largest bin index binIdxMax may be used.
  • the contexts may be calculated in consideration of the surrounding environment when the context should be applied to the bin.
  • a context or bypass mode may be set for each bin in the preconfigured context table, and the context index for each bin may indicate which context or bypass mode to apply.
  • Table 8 shows that among the beans constituting the binary code of a specific syntax (syntax element), an independent context is applied to some beans, the same context is commonly applied to some beans, and a bypass mode is applied to some beans.
  • An example of a context table that can be used for is shown.
  • Table 8 shows an example of a context table applied to syntax element D, assuming a specific syntax element D.
  • the context indicated by the context index Idx0 is applied to the zeroth bin
  • the bypass mode is applied to the first bin
  • the context index Idx1 is applied to the second bin.
  • the context indicated by this is applied
  • the context indicated by the context index Idx2 is applied to the third and fourth bins.
  • the maximum value of the bin index binIdxMax is 4, but the maximum value of the bin index may be greater than 4 or less than 4.
  • the same context index as the context index assigned to the largest bin index binIdxMax may be used.
  • the same context may be commonly applied to each of the bins constituting the binary code of the specific syntax (syntax element).
  • the common context may be calculated in consideration of the surrounding environment when applied to the bin.
  • common contexts may be assigned via a preconfigured context table.
  • Table 9 shows an example of a context table that may be used when the same context is commonly applied to bins constituting binary code of a specific syntax (syntax element).
  • Table 9 shows an example of a context table applied to syntax element E, assuming a specific syntax element E.
  • the context indicated by the context index Idx0 is commonly applied to the beans constituting the binary code of the syntax element E.
  • the maximum value of the bin index binIdxMax is 4, but the maximum value of the bin index may be greater than 4 or less than 4.
  • the same context index as the context index assigned to the largest bin index binIdxMax may be used.
  • syntax element For a specific syntax (syntax element), the same context may be commonly applied to some bins constituting the binary code of the syntax (syntax element), and a bypass mode may be applied to some bins.
  • the contexts may be calculated in consideration of the surrounding environment when the context should be applied to the bin.
  • a context or bypass mode commonly applied to some bins may be set through the preconfigured context table, and the context index may indicate the context or bypass mode.
  • Table 10 shows an example of a context table that may be used when the same context is commonly applied to some of the bins constituting the binary code of a specific syntax (syntax element), and the bypass mode is applied to some beans. It is shown.
  • Table 10 shows an example of a context table applied to the syntax element F, assuming a specific syntax element F.
  • bypass mode is applied to the second bin, and context index Idx0 is indicated to the zeroth bin, the first bin, the third bin, and the fourth bin. Apply the context.
  • the maximum value of the bin index binIdxMax is 4, but the maximum value of the bin index may be greater than 4 or less than 4.
  • the same context index as the context index assigned to the largest bin index binIdxMax may be used.
  • the bypass mode may be applied to all the beans that make up the binary code of the syntax (syntax element). Even in this case, the application of the bypass mode may be indicated through a context table configured in advance for the corresponding syntax (syntax element). In this case, the context table may be configured in such a manner that a bypass mode is allocated to all the bean indexes.
  • different contexts may be applied to the same bins for bins constituting binary code of a specific syntax (syntax element). For example, in a context table, different context indices may be assigned to the same bin index.
  • the context index may vary depending on the environment (state or condition) to which the syntax (syntax element) applies. For example, for the same bin, the same position in the binary code according to the conditions or conditions such as the type of the block to which the syntax (syntax element) is applied, the type of the picture (slice, frame), the prediction mode, the size of the block, the depth of the block, etc. Different contexts can be applied to the beans of. At this time, some states may be specified by other equivalent states. For example, the size of a block may be specified by the depth of the block, the depth of the block may be specified by the size of the block, and thus two conditions may be states or conditions specifying the same environment.
  • picture (slice, frame) type whether the picture (slice, frame) is an I picture (slice, frame), a P picture (slice, frame), or B Depending on the picture (slice, frame), different context indices can be assigned to the same bin index.
  • the syntax element may have a binary code (codeword) value composed of predetermined bins, as described above.
  • codeword binary code
  • the syntax element intra_chroma_pred_mode which indicates the intra prediction mode for the chroma component, may have 5 to 6 different binary code (codeword) values.
  • Table 11 shows an intra prediction mode that can be used for prediction of chroma components when using the LM mode, and a binary code (code word) of the syntax element intra_chroma_pred_mode indicating the same.
  • Table 12 shows an intra prediction mode that can be used for prediction of chroma components when the LM mode is not used, and a binary code (code word) of the syntax element intra_chroma_pred_mode indicating the same.
  • contexts may be allocated to bins constituting a binary code (codeword) for a given syntax element in the manner described above.
  • a context table may be used to apply different contexts to the same bin depending on the state or condition.
  • the context applied to a particular bin may be indicated by the sum of offset values added for each condition to the index value assigned to each bin index on the context table.
  • the context indicator indicating the context can be said to be the sum of the offset value and the index value indicated by each bin index.
  • the index value indicated by the bean is referred to as a context index by bin
  • the index indicating the context to be applied to the bean is referred to as a context index for bin (ctxIdx). It is called.
  • Table 13 shows an example of a context table that can be used when different contexts are applied to the same bean by reflecting state information or conditions.
  • 0-4 represent a bin index (binIdx) value.
  • the offset values A1, A2, and A3 may be different values, as in the examples described below.
  • the context index by the bin that is, the index B0, B1, B2, B3, and B4 allocated for each bin index, may have different values in whole or in part.
  • the maximum value of the bin index binIdxMax is 4, but the maximum value of the bin index may be greater than 4 or less than 4.
  • the same context index as the context index assigned to the largest bin index binIdxMax may be used.
  • the offset value may be set according to a predetermined state or condition. For example, if an offset value is set according to a picture (slice, frame) type, A1 is an offset for an I picture (slice, frame), A2 is an offset for a P picture (slice, frame), and A3 is a B picture ( Slice, frame).
  • the offset value may be determined directly from state information or condition such as picture (slice, frame) type, or may be determined by a parameter value such as a predetermined type value determined by state information or condition such as picture (slice, frame) type. It may be determined through.
  • Table 14 shows an example of a context table that can be used when different contexts are allocated to each bin by setting offset values differently according to picture (slice, frame) types.
  • Table 14 shows an example of specifically setting the offset values of Table 13 and the context index values based on the bins.
  • the offset value and context index value by bin in Table 14 may be set differently from the values illustrated in Table 14 to indicate a suitable context.
  • different contexts may be allocated for each condition, and the same context may be commonly applied to some of the bins constituting the codeword of the syntax (syntax element). For example, when Table 13 is for a predetermined syntax (syntax element), some of the values of B0, B1, B2, B3, and B4 may be set to have the same value.
  • Table 15 shows one of the context tables that can be used when the offset value is set differently according to the picture (slice, frame) type, and the same context is commonly applied to some of the bins constituting the codeword of the syntax (syntax element). An example is shown.
  • Table 15 shows an example of specifically setting the offset values of Table 13 and the context index values by bins.
  • the offset values and context index values by bins are shown in Table 15 to indicate a suitable context. Can be set differently from the specified value.
  • Table 16 sets offset values to define different contexts for different slice types, applies independent contexts to some bins, applies the same context in common to some bins, and bypass mode for some bins.
  • An example of a context table that can be used when applied is shown.
  • Table 16 shows an example of specifically setting the offset values of Table 13 and the context index values by bins, and the offset values and context index values by bins in Table 16 are shown in Table 16 to indicate a suitable context. Can be set differently from the specified value.
  • Table 17 shows an example of a context table that can be used when setting offset values to define different contexts according to slice types, applying context to some beans, and bypass mode for the remaining beans. It is shown.
  • Table 17 shows an example of specifically setting the offset values of Table 13 and the context index values by bins, and the offset values and context index values by bins in Table 17 are shown in Table 17 to indicate a suitable context. Can be set differently from the specified value.
  • different contexts can be allocated for each condition, some of the bins constituting the codeword of the syntax (syntax element) apply independent contexts to each other, and bypasses the remaining bins. You can also apply a mode. For example, when Table 13 is for a predetermined syntax (syntax element), different index values are set to some of the values of B0, B1, B2, B3, and B4, and B0, B1, B2, B3, and B4. For the rest of the values, it can be set to indicate bypass mode instead of the specific index value.
  • Table 18 sets the offset values to define different contexts for different slice types, applies independent contexts to some bins, and bypass mode for the other bins. An example is shown.
  • Table 18 shows an example of specifically setting the offset values of Table 13 and the context index values by bins.
  • the offset values and context index values by bins are shown in Table 18 to indicate a suitable context. Can be set differently from the specified value.
  • Table 19 sets the offset values so that different contexts are defined according to the slice type, the same context is commonly applied to some bins, and the bypass mode is used to apply the bypass mode to the other bins. An example is shown.
  • Table 19 shows an example of specifically setting the offset values of Table 13 and the context index values by bins.
  • the offset values and context index values by bins are shown in Table 19 to indicate a suitable context. Can be set differently from the specified value.
  • Table 20 sets the offset values so that different contexts are defined according to the slice type, the bypass mode for one bean, and the same context for common use of the other beans. An example of the table is shown.
  • Table 20 shows an example of specifically setting the offset values of Table 13 and the context index values by the bins, and the offset values and the context index values by the bins in Table 20 are shown in Table 20 to indicate a suitable context. Can be set differently from the specified value.
  • Tables 13 to 20 illustrate a case where a codeword for syntax consists of five bins as an example, but the present invention is not limited thereto. If the codeword of the syntax (syntax element) to which Tables 13 to 20 applies consists of less than 5 bins, such as n (n ⁇ 5) bins, then the bin index greater than n-1 and greater than or equal to 4 Is not assigned a context index by bean or na (not available). If the codeword of the syntax (syntax element) to which Table 14 applies is composed of five or more bins, the same value as the context index by the fifth bean is assigned to the context index by the bean for the fifth and subsequent bins. Can be.
  • the value of the context index by the bin may be set differently according to the offset.
  • at least one of the value of B0 for A1, the value of B0 for A2, and the value of B0 for A3 may be set differently from other B0 values.
  • Tables 13 to 20 described above may be applied to a syntax (syntax element) transmitted in a coding process.
  • syntax element syntax element
  • the aforementioned syntax may be applied to various syntax elements as well as the syntax element intra_chroma_pred_mode.
  • Table 21 shows an example in which the above description is applied to various syntax elements.
  • the context index by a bin is indicated for each bin index binIdx.
  • the context index for the bin is determined by the sum of the offset ctxIdxOffset and the context index value by the bin.
  • the context index determined for a particular bin of a given syntax element may indicate a context to apply to the particular bin in a table indicated by the context index table ctxIdxTable for that syntax element.
  • the value of the context index by the bin may be determined based on the information of the block (eg, information about the state of the block or the condition of the block).
  • the information of the block includes not only the information of the decoding object block but also information on neighboring blocks of the decoding object block.
  • the information of a block used may be information of a coding block, information of a prediction block, or information of a transform unit. For example, when determining the context of syntax elements such as cbf_luma, cbf_cb, and cbf_cr. Information is available.
  • syntax elements cbf_luma, cbf_cb, and cbf_cr are syntax elements indicating information indicating whether a luma residual signal or a chroma residual signal exists in a block further divided in the current block in the quad tree structure.
  • cbf_luma, cbf_cb, and cbf_cr when coding (encoding / decoding) each of cbf_luma, cbf_cb, and cbf_cr, not only cbf (Coded Block Flag) information of the neighboring block, but also considering the coding unit depth and / or the transform unit depth of the neighboring partition (block)
  • the size of the current transform unit may be obtained by using the depth of the coding unit and the depth of the transform unit.
  • the context may be distinguished or designated in consideration of the transform unit size of the neighboring partition.
  • the context may be distinguished or specified using the conversion unit size of the peripheral partition and the cbf of the partition.
  • the conversion unit size of the peripheral partition and the cbf of the partition For example, in case of distinguishing or designating the context of cbf_luma, (1) the value of cbf_luma for the blocks around the current block, for example, two blocks in the left and upper directions of the current block are both 0, and the size of the transform unit is If the size is greater than or equal to the size of the transform unit, (2) the value of cbf_luma for a block in one of the two direction blocks of the current block, for example, the left and upper sides of the current block is 0, and the size of the transform unit is 0.
  • the size of the current transform unit is greater than or equal to the size of the current transform unit, (3) the value of cbf_luma for the blocks around the current block, for example, in the left and upper two directions of the current block are both 1, or the size of the transform unit is the current transform unit. You can apply the context for cbf_luma by dividing by less than.
  • cbf_luma is equally applicable to cbf_cb and cbf_cr.
  • cbf_cr (1) the value of cbf_cr for blocks around the current block, e.g., in both the left and upper directions of the current block is both 0, and the size of the transform unit is larger than the size of the current transform unit, or
  • the value of cbf_cr for a block in one of the two direction blocks of the current block for example, the current block is 0, and the size of the transform unit is larger than the size of the current transform unit.
  • cbf_cr for the neighbors of the current block, for example, blocks in both the left and upper directions of the current block are all 1, or the size of the transform unit is smaller than the size of the current transform unit. You can apply the context for cbf_cr.
  • cbf_cb 1)
  • the value of cbf_cb for the blocks around the current block, for example, in the left and upper two directions of the current block are both 0, and the size of the transform unit is greater than or equal to the size of the current transform unit.
  • the context may be distinguished or specified in consideration of the ratio of cbf in the peripheral partition having the same size as the current transform unit. For example, when distinguishing or specifying the context for cbf_luma, (1) the ratio of the value of cbf_luma to 0 in a peripheral partition of the same size as the size of the current transform unit, in both directions (eg left and top) of the current block; Is greater than or equal to 50%, (2) if only one of the peripheries (for example, left and upper) of the current block has a ratio of cbf_luma equal to or greater than 0 in a peripheral partition of the same size as the size of the current transform unit, 3) For both directions around the current block (eg left and top), separate the context for cbf_luma by dividing by a case where the ratio of cbf_luma to 0 is less than 50% in a peripheral partition of the same size as the size of the current transform unit. Can be specified.
  • cbf_luma is equally applicable to cbf_cb and cbf_cr.
  • cbf_cr (1) In both peripheral (eg, left and upper) directions of the current block, when the ratio of the value of cbf_cr to 0 in a peripheral partition of the same size as the size of the current transform unit is 50% or more, (2) If only one of the surroundings (for example, the left and the upper side) of the current block has a ratio of cbf_cr equal to 0 or more in the peripheral partition of the same size as the size of the current transform unit, 50% or more; For both directions (eg, left and top), the context for cbf_cr can be distinguished or specified by dividing by a case where the ratio of the value of cbf_cr to less than 50% in a peripheral partition of the same size as the size of the current transform unit.
  • cbf_cb When the ratio of the value of cbf_cb to 0 in a peripheral partition of the same size as the size of the current transform unit is both 50% or more in both the surroundings (for example, left and top) of the current block, (2 ) If only one of the peripheries of the current block (e.g., left and top) is equal to or greater than 50% of the value of cbf_cb in a peripheral partition of the same size as the size of the current transform unit, (3) For both directions, the context for cbf_cb can be divided or specified by dividing by a case where the ratio of the value of cbf_cb is less than 50% in the peripheral partition of the same size as the size of the current conversion unit.
  • cbf_luma is equally applicable to cbf_cb and cbf_cr.
  • cbf_cr (1) for both directions (eg left and top) of the current block, if the cbf_cr value of the sample partitions is both 0, (2) perimeter (eg left and top) of the current block For one direction only, if the cbf_cr value of the sample partitions is 0, (3) For both directions around the current block (eg, left and top), cbf_cr is divided by the case in which one of the cbf_cr values of the sample partitions is present. You can separate or assign the context for this.
  • a method of selecting in a predetermined unit unit such as the minimum possible conversion unit unit can be used.
  • the smallest possible transform unit may be determined using a residual quadtree (RQT) maximum depth.
  • a method of selecting a predetermined number in units of the smallest possible conversion unit may be used. For example, two partitions may be selected as the smallest possible conversion unit among neighboring partitions.
  • cbf_luma, cbf_cr, and cbf_cb can be equally applied to other syntax elements, for example, no_residual_data_flag indicating whether there is a residual signal.
  • the context may be distinguished or designated using the transform unit size of the neighbor partition and the no_residual_data_flag of the partition.
  • the value of no_residual_data_flag for all of the neighbors of the current block for example, blocks in two directions on the left and upper sides of the current block is 0, and the size of the transform unit If the size is greater than or equal to the size of the current transform unit, (2) the value of no_residual_data_flag for the block in either direction of the neighboring block of the current block, for example, the left and upper two blocks of the current block is 0, and the size of the transform unit Is greater than or equal to the size of the current transform unit, (3) the value of no_residual_data_flag for all of the neighbors of the current block, e.g., in the left and upper two directions of the current block is all 1, or the size of the transform unit
  • the context may be distinguished or designated in consideration of the ratio of no_residual_data_flag in the peripheral partition having the same size as the size of the current transform unit. For example, when distinguishing or specifying the context for no_residual_data_flag, (1) the ratio of the value of no_residual_data_flag to 0 in a peripheral partition of the same size as the size of the current transform unit, in both directions (eg, left and top) of the current block.
  • no_residual_data_flag if only one of the surroundings (for example, left and upper) of the current block has a ratio of no_residual_data_flag equal to or greater than 0 in a peripheral partition of the same size as the size of the current transform unit, 3)
  • the context for no_residual_data_flag is divided by the case where the ratio of no_residual_data_flag is less than 50% in the peripheral partition of the same size as the size of the current transform unit. Can be specified.
  • the context may be divided or specified in consideration of the ratio of no_residual_data_flag in several neighboring partitions. You can also specify or specify the context by simply considering the no_residual_data_flag of several partitions around it.
  • no_residual_data_flag For example, when distinguishing or specifying the context for no_residual_data_flag, (1) for both directions (eg left and top) of the current block, if the no_residual_data_flag value of the sample partitions is both 0, (2) the perimeter of the current block ( For example, for only one of the left and upper sides, if the no_residual_data_flag value of the sample partitions is 0, (3) for both directions (eg, left and top) of the current block, there is 1 of the no_residual_data_flag values of the sample partitions.
  • the context for no_residual_data_flag may be divided or allocated.
  • Table 22 shows an example of a context table that can be applied when the value of the context index by a bean is determined based on surrounding information.
  • the value of the context index by the 0th bin among the bins constituting the codeword of the syntax element split_transform_flag may be determined by block information.
  • the context index value of the zeroth bin of split_transform_flag is determined by the depth information of the coding unit and the depth information of the transform unit.
  • the value of the context index of the zeroth bin among the bins that constitute the codewords of the syntax elements cbf_luma, cbf_cb, and cbf_cr is determined by neighboring block information, for example, depth information of the transform unit.
  • a value of 1 may be assigned as the context index by a bin when the depth of the transform unit is 0 for the 0th bin or the size of the transform unit is the maximum size.
  • the invention includes embodiments in which the above-described embodiments are applied simultaneously or in combination.

Abstract

본 발명은 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치에 관한 것으로서, 본 발명에 따른 엔트로피 디코딩 방법은, 신택스 요소의 빈을 디코딩하는 단계 및 상기 디코딩된 빈을 기반으로 상기 신택스 요소의 정보를 획득하는 단계를 포함하며, 상기 빈의 디코딩 단계에서는, 상기 신택스 요소의 각 빈들에 대하여, 콘텍스트에 기반한 디코딩 또는 바이패스 디코딩을 수행한다.

Description

엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
본 발명은 영상 정보 압축 기술에 관한 것으로서, 더 구체적으로는 엔트로피 코딩(인코딩/디코딩)을 수행하는 방법과 이를 이용하는 장치에 관한 것이다.
최근, 고해상도, 고품질의 영상에 대한 요구가 다양한 응용 분야에서 증가하고 있다. 하지만, 영상의 고해상도, 고품질이 될수록 해당 영상에 관한 정보량도 함께 증가한다. 따라서 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 정보를 전송하거나 기존의 저장 매체를 이용해 영상 정보를 저장하는 경우, 정보의 전송 비용과 저장 비용이 증가하게 된다.
고해상도, 고품질 영상의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위해 고효율의 영상 압축 기술을 이용할 수 있다.
영상 압축의 효율을 높이기 위해, 현재 블록의 정보를 그대로 전송하지 않고, 현재 블록의 주변 블록들의 정보를 이용하여 예측하는 방법을 사용할 수 있다.
예측의 방법으로서, 인터 예측과 인트라 예측을 이용할 수 있다. 인터 예측(inter prediction) 방법에서는 다른 픽처의 정보를 참조하여 현재 픽처(picture)의 화소값을 예측하며, 화면 내 예측 방법(intra prediction)에서는 동일한 픽처 내에서 화소 간 연관 관계를 이용하여 화소값을 예측한다. 인터 예측을 수행하는 경우에는, 다른 픽처에서 예측에 이용되는 부분을 지정하기 위해, 인터 예측 모드인 주변 블록으로부터 참조 픽처를 지시하는 정보와 움직임 벡터를 나타내는 정보를 활용할 수 있다.
인코딩 장치에서는 예측 결과를 포함하는 영상 정보를 엔트로피 인코딩하여 비트스트림으로 전송하며, 디코딩 장치에서는 수신한 비트스트림을 엔트로피 디코딩하여 영상 정보로 복원하는 절차를 개시한다.
엔트로피 인코딩 및 엔트로피 디코딩을 통해서 영상 정보의 압축 효율을 높일 수 있다.
본 발명은 엔트로피 코딩을 효과적으로 수행하여 코딩 효율을 향상시키는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 엔트로피 코딩에 있어서, 콘텍스트를 효과적으로 활용하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 엔트로피 코딩에 있어서, 상태 및 조건에 따라서 서로 다른 콘텍스트를 활용하는 방법 및 장치를 제공하는 것을 목적으로 한다.
(1) 신택스 요소의 빈을 디코딩하는 단계 및 상기 디코딩된 빈을 기반으로 상기 신택스 요소의 정보를 획득하는 단계를 포함하는 엔트로피 디코딩 방법으로서, 상기 빈의 디코딩 단계에서는 상기 신택스 요소의 각 빈들에 대하여, 콘텍스트에 기반한 디코딩 또는 바이패스 디코딩을 수행할 수 있다. 이때, 상기 콘텍스트는 적응적으로 산출될 수도 있고, 소정의 고정된 값을 가질 수도 있다.
(2) (1)에서, 상기 빈의 디코딩 단계에서는, 상기 신택스 요소의 각 빈들에 대하여 서로 독립적인 콘텍스트를 적용할 수 있다.
(3) (1)에서, 상기 빈의 디코딩 단계에서는, 상기 신택스 요소의 빈들 중에서 일부 빈들에 대해서는 바이패스 모드를 적용하고, 나머지 빈들에 대해서는 서로 독립적인 콘텍스트를 적용할 수 있다.
(4) (1)에서, 상기 빈의 디코딩 단계에서, 콘텍스트를 기반으로 디코딩되는 빈에는 독립적인 콘텍스트가 적용되며, 상기 독립적인 콘텍스트는 다른 콘텍스트와 별도로 갱신되는 콘텍스트일 수 있다.
(5) (1)에서, 상기 빈의 디코딩 단계는,상기 신택스 요소의 빈을 바이패스 디코딩할 것인지를 판단하고, 상기 상기 빈을 바이패스 디코딩 하지 않는 것으로 판단한 경우에는 콘텍스트에 기반한 디코딩을 수행할 수 있다.
(6) (1)에서, 상기 빈의 디코딩 단계에서는, 콘텍스트 인덱스를 할당하는 콘텍스트 인덱스 테이블상에서 상기 신택스 요소의 빈에 대해 할당되는 콘텍스트 인덱스에 기반하여 디코딩을 수행할 수 있다.
(7) (6)에서, 상기 콘텍스트 인덱스 테이블은, 상기 신택스 요소의 빈들 중 일부 빈에 대해서는 동일한 콘텍스트 인덱스를 할당할 수 있다.
(8) (6)에서, 상기 콘텍스트 인덱스 테이블은, 상기 신택스 요소의 빈들 중 일부 빈에 대해서는 동일한 콘텍스트 인덱스를 할당하고, 다른 일부 빈에 대해서는 바이패스 모드를 할당할 수 있다.
(9) (1)에서, 상기 빈의 디코딩 단계에서는 콘텍스트 인덱스 테이블을 이용하여 디코딩을 수행하며,
상기 콘텍스트 인덱스 테이블은, 상기 신택스 요소의 빈들에 대한 콘텍스트 인덱스와 코딩 대상 픽처의 타입에 따른 오프셋을 할당하고, 상기 신택스 요소의 빈은 상기 콘텍스트 인덱스와 상기 오프셋의 합에 의해 지시되는 콘텍스트에 기반하여 디코딩될 수 있다.
(10)(9)에서, 상기 콘텍스트 인덱스 테이블은, 상기 신택스 요소의 빈들 중 일부 빈에 대해서는 동일한 콘텍스트 인덱스를 할당할 수 있다.
(11) (9)에서, 상기 콘텍스트 인덱스 테이블은, 상기 신택스 요소의 빈들 중 일부 빈에 대해서는 동일한 콘텍스트 인덱스를 할당하고, 다른 일부 빈에 대해서는 바이패스 모드를 할당할 수 있다.
(12) 엔트로피 디코딩 장치로서, 신택스 요소의 빈을 디코딩하는 엔트로피 디코딩부 및 상기 디코딩된 신택스 요소를 기반으로 예측 블록을 생성하는 예측부를 포함하며, 상기 엔트로피 디코딩부는 신택스 요소의 각 빈들에 대하여, 콘텍스트에 기반한 디코딩 또는 바이패스 디코딩을 수행할 수 있다.
(13) (12)에서, 상기 엔트로피 디코딩부는, 상기 신택스 요소의 빈들 중에서 일부 빈들에 대해서는 바이패스 모드를 적용하고, 나머지 빈들에 대해서는 서로 독립적인 콘텍스트를 적용할 수 있다.
(14) (12)에서, 상기 엔트로피 디코딩부는, 콘텍스트 인덱스를 할당하는 콘텍스트 인덱스 테이블상에서 상기 신택스 요소의 빈에 대해 할당되는 콘텍스트 인덱스에 기반하여 디코딩을 수행할 수 있다.
(15) (12)에서,상기 엔트로피 디코딩부는 콘텍스트 인덱스 테이블을 이용하여 디코딩을 수행하며, 상기 콘텍스트 인덱스 테이블은, 상기 신택스 요소의 빈들에 대한 콘텍스트 인덱스와 코딩 대상 픽처의 타입에 따른 오프셋을 할당하고, 상기 신택스 요소의 빈은 상기 콘텍스트 인덱스와 상기 오프셋의 합에 의해 지시되는 콘텍스트에 기반하여 디코딩될 수 있다.
본 발명에 의하면, 엔트로피 코딩을 효과적으로 수행함으로써 코딩 효율을 향상시킬 수 있다.
본 발명에 의하면, 엔트로피 코딩을 수행함에 있어서 콘텍스트를 효과적으로 활용함으로써, 엔트로피 코딩의 효율을 높이고 코딩 효율을 향상시킬 수 있다.
본 발명에 의하면, 엔트로피 코딩을 수행함에 있어서 상태 및 조건을 반영하여 콘텍스트를 적용함으로써 엔트로피 코딩의 효율을 높이고 코딩 효율을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 인코딩 장치(인코더)를 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 영상 디코딩 장치(디코더)를 개략적으로 나타낸 블록도이다.
도 3은 인트라 예측에 있어서 적용되는 인트라 예측 모드의 일 예를 개략적으로 설명하는 도면이다.
도 4는 본 발명에서 적용되는 엔트로피 코딩의 일 예를 개략적으로 설명하는 도면이다.
도 5는 본 발명이 적용되는 엔트로피 디코딩 과정의 일 예를 개략적으로 설명하는 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 영상 인코딩/디코딩 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명에 관하여 상세하게 설명하고자 한다.
도 1은 본 발명의 일 실시예에 따른 영상 인코딩 장치(인코더)를 개략적으로 도시한 블록도이다. 도 1을 참조하면, 영상 인코딩 장치(100)는 픽처 분할부(105), 예측부(110), 변환부(115), 양자화부(120), 재정렬부(125), 엔트로피 인코딩부(130), 역양자화부(135), 역변환부(140), 필터부(145) 및 메모리(150)를 구비한다.
픽처 분할부(105)는 입력된 픽처를 적어도 하나의 처리 단위로 분할할 수 있다. 이때, 처리 단위는 예측 유닛(Prediction Unit, 이하 ‘PU’라 함)일 수도 있고, 변환 유닛(Transform Unit, 이하 ‘TU’라 함)일 수도 있으며, 코딩 유닛(Coding Unit, 이하 ‘CU’라 함)일 수도 있다. 다만, 본 명세서에서는 설명의 편의를 위해, 예측 유닛을 예측 블록, 변환 유닛을 변환 블록, 인코딩 유닛을 인코딩 블록으로 표현할 수 있다.
예측부(110)는 인터 예측(inter prediction, 화면 간 예측)을 수행하는 인터 예측부와 인트라 예측(intra prediction, 화면 내 예측)을 수행하는 인트라 예측부를 포함할 수 있다. 코딩 효율을 높이기 위해, 영상 신호를 그대로 인코딩하는 것이 하니라, 이미 인코딩된 영역을 이용하여 영상을 예측하고, 원래의 영상과 예측 영상 사이의 레지듀얼 값을 예측 영상에 더하여 영상을 복원할 수 있도록 인코딩 한다.
예측에 이용되는 이미 인코딩된 영역을 포함하는 픽처로서, I 픽처(I 슬라이스), P 픽처(P 슬라이스), B 픽처(B 슬라이스) 등이 있다. I 슬라이스는 인트라 예측에 의해서만 디코딩되는 슬라이스이다. P 슬라이스는 각 블록의 샘플 값을 예측하기 위해 적어도 하나의 움직임 벡터 및 참조 픽처 인덱스를 이용한 인터 예측 또는 인트라 예측을 이용해서 디코딩될 수 있는 슬라이스이다. B 슬라이스는 각 블록의 샘플 값을 예측하기 위해 적어도 두 개의 움직임 벡터들과 참조 픽처 인덱스들을 이용한 인터 예측 또는 인트라 예측을 이용해서 디코딩될 수 있는 슬라이스이다.
예측부(110)는, 픽처 분할부(105)에서 픽처의 처리 단위에 대하여 예측을 수행하여 예측된 샘플로 구성되는 예측 블록을 생성한다. 예측부(110)에서 픽처의 처리 단위는 CU일 수도 있고, TU일 수도 있고, PU일 수도 있다. 또한, 해당 처리 단위에 대하여 실시되는 예측이 인터 예측인지 인트라 예측인지를 결정하고, 각 예측 방법의 구체적인 내용(예컨대, 예측 모드 등)를 정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 서로 다를 수 있다. 예컨대, 예측의 방법과 예측 모드 등은 PU 단위로 결정되고, 예측의 수행은 TU 단위로 수행될 수도 있다.
인터 예측을 통해서는 현재 픽처의 이전 픽처 및/또는 이후 픽처 중 적어도 하나의 픽처의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 또한, 인트라 예측을 통해서는 현재 픽처 내의 화소 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 예측에서는 현재 블록에 대하여, 참조 픽처를 선택하고 현재 블록과 동일한 크기의 참조 블록을 선택해서, 현재 블록에 대한 예측 블록을 생성할 수 있다. 예컨대, 인터 예측에서는 현재 블록과의 레지듀얼(residual) 신호가 최소화되며 움직임 벡터 크기 역시 최소가 되도록 예측 블록을 생성할 수 있다. 인터 예측의 방법으로서, 스킵(skip) 모드, 머지(merge) 모드, AMVP(Advanced Motion Vector Prediction) 등을 이용할 수 있다. 예측 블록은 1/2 화소 샘플 단위와 1/4 화소 샘플 단위와 같이 정수 이하 샘플 단위로 생성될 수도 있다. 이때, 움직임 벡터 역시 정수 화소 이하의 단위로 표현될 수 있다. 예컨대 휘도 화소에 대해서는 1/4 화소 단위로, 색차 화소에 대해서는 1/8 화소 단위로 표현될 수 있다.
인터 예측을 통해 선택된 참조 픽처의 인덱스, 움직임 벡터 예측자, 레지듀얼 신호 등의 정보는 엔트로피 인코딩되어 디코딩 장치에 전달된다.
인트라 예측을 수행하는 경우에도 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 서로 다를 수도 있다. 예컨대, PU 단위로 예측 모드가 정해져서 PU 단위로 예측이 수행될 수도 있고, PU 단위로 예측 모드가 정해지고 TU 단위로 화면 내 예측이 수행될 수도 있다.
인트라 예측에서 예측 모드는 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비방향성 모드는 DC 예측 모드 및 플레너 모드(Planar 모드) 등을 포함할 수 있다.
인트라 예측에서는 참조 샘플에 필터를 적용한 후 예측 블록을 생성할 수 있다. 이때, 참조 샘플에 필터를 적용할 것인지는 현재 블록의 인트라 예측 모드 및/또는 사이즈에 따라 결정될 수도 있다.
PU는 더 이상 분할되지 않는 CU로부터 다양한 사이즈/형태로 결정될 수 있다. 예컨대 인터 예측의 경우에 PU는 2N×2N, 2N×N, N×2N, 또는 N×N 등의 크기를 가질 수 있다. 인트라 예측의 경우에 PU는 2N×2N 또는 N×N (N은 정수) 등의 크기를 가질 수 있다. 이때, N×N 크기의 PU는 특정한 경우에만 적용하도록 설정할 수도 있다. 예컨대 최소 크기 코딩 유닛에 대해서만 NxN의 PU를 이용하도록 정하거나 인트라 예측에 대해서만 이용하도록 정할 수 있다. 또한, 상술한 크기의 PU 외에, N×mN, mN×N, 2N×mN 또는 mN×2N (m<1) 등의 크기를 가지는 PU를 더 정의하여 사용할 수도 있다.
생성된 예측 블록과 원본 블록 사이의 레지듀얼 값(레지듀얼 블록 또는 레지듀얼 신호)은 변환부(115)로 입력된다. 또한, 예측을 위해 사용한 예측 모드 정보, 움직임 벡터 정보 등은 레지듀얼 값과 함께 엔트로피 인코딩부(130)에서 인코딩되어 디코딩 장치에 전달된다.
변환부(115)는 변환 단위로 레지듀얼 블록에 대한 변환을 수행하고 변환 계수를 생성한다. 변환부(115)에서의 변환 단위는 TU일 수 있으며, 쿼드 트리(quad tree) 구조를 가질 수 있다. 이때, 변환 단위의 크기는 소정의 최대 및 최소 크기의 범위 내에서 정해질 수 있다. 변환부(115)는 레지듀얼 블록을 DCT(Discrete Cosine Transform) 또는 DST(Discrete Sine Transform)를 이용하여 변환할 수 있다.
양자화부(120)는 변환부(115)에서 변환된 레지듀얼 값들을 양자화하여 양자화 계수를 생성할 수 있다. 양자화부(120)에서 산출된 값은 역양자화부(135)와 재정렬부(125)에 제공된다.
재정렬부(125)는 양자화부(120)로부터 제공된 양자화 계수를 재정렬한다. 양자화 계수를 재정렬함으로써 엔트로피 인코딩부(130)에서의 인코딩의 효율을 높일 수 있다. 재정렬부(125)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원 블록 형태의 양자화 계수들을 1차원의 형태로 재정렬할 수 있다. 재정렬부(125)에서는 양자화부에서 전송된 계수들의 확률적인 통계를 기반으로 계수 스캔닝의 순서를 변경함으로써 엔트로피 인코딩부(130)에서의 엔트로피 인코딩 효율을 높일 수도 있다.
엔트로피 인코딩부(130)는 재정렬부(125)에 의해 재정렬된 양자화 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩에는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 인코딩 방법을 사용할 수 있다. 엔트로피 인코딩부(130)는 재정렬부(125) 및 예측부(110)로부터 전달받은 CU의 양자화 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, PU 정보 및 전송 단위 정보, 움직임 벡터 정보, 참조 픽처 정보, 블록의 보간 정보, 필터링 정보 등 다양한 정보를 인코딩할 수 있다.
또한, 엔트로피 인코딩부(130)는 필요한 경우에, 전송하는 파라미터 셋 또는 신택스에 일정한 변경을 가할 수도 있다.
역양자화부(135)는 양자화부(120)에서 양자화된 값들을 역양자화하고, 역변환부(140)는 역양자화부(135)에서 역양자화된 값들을 역변환한다. 역양자화부(135) 및 역변환부(140)에서 생성된 레지듀얼 값은 예측부(110)에서 예측된 예측 블록과 합쳐져 복원 블록(Reconstructed Block)이 생성될 수 있다.
필터부(145)는 디블록킹 필터, ALF(Adaptive Loop Filter), SAO(Sample Adaptive Offset)를 복원된 픽처에 적용할 수 있다.
디블록킹 필터는 복원된 픽처에서 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. ALF(Adaptive Loop Filter)는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. ALF는 고효율을 적용하는 경우에만 수행될 수도 있다. SAO는 디블록킹 필터가 적용된 레지듀얼 블록에 대하여, 화소 단위로 원본 영상과의 오프셋 차이를 복원하며, 밴드 오프셋(Band Offset), 에지 오프셋(Edge Offset) 등의 형태로 적용된다.
한편, 인터 예측에 사용되는 복원 블록에 대해서 필터부(145)는 필터링을 적용하지 않을 수 있다.
메모리(150)는 필터부(145)를 통해 산출된 복원 블록 또는 픽처를 저장할 수 있다. 메모리(150)에 저장된 복원 블록 또는 픽처는 인터 예측을 수행하는 예측부(110)에 제공될 수 있다.

도 2는 본 발명의 일 실시예에 따른 영상 디코딩 장치(디코더)를 개략적으로 나타낸 블록도이다. 도 2를 참조하면, 영상 디코딩 장치(200)는 엔트로피 디코딩부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235) 메모리(240)를 포함할 수 있다.
인코딩 장치로부터 영상 비트 스트림이 입력된 경우, 입력된 비트 스트림은 인코딩 장치에서 영상 정보가 처리된 절차의 역과정에 따라서 디코딩될 수 있다.
예컨대, 영상 인코딩 장치에서 엔트로피 인코딩을 수행하기 위해 CAVLC 등의 가변 길이 인코딩(Variable Length Coding: VLC, 이하 ‘VLC’ 라 함)가 사용된 경우에, 엔트로피 디코딩부(210)도 인코딩 장치에서 사용한 VLC 테이블과 동일한 VLC 테이블로 구현하여 엔트로피 디코딩을 수행할 수 있다. 또한, 영상 인코딩 장치에서 엔트로피 인코딩을 수행하기 위해 CABAC을 이용한 경우에, 엔트로피 디코딩부(210)는 이에 대응하여 CABAC을 이용한 엔트로피 디코딩을 수행할 수 있다.
엔트로피 디코딩부(210)에서 디코딩된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(230)로 제공되고 엔트로피 디코딩부에서 엔트로피 디코딩이 수행된 레지듀얼 값은 재정렬부(215)로 입력될 수 있다.
재정렬부(215)는 엔트로피 디코딩부(210)에서 엔트로피 디코딩된 비트 스트림을 영상 인코딩기에서 재정렬한 방법을 기초로 재정렬할 수 있다. 재정렬부(215)는 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부(215)는 인코딩 장치에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 인코딩 장치에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통해 재정렬을 수행할 수 있다.
역양자화부(220)는 인코딩 장치에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.
역변환부(225)는 영상 인코딩 장치에서 수행된 양자화 결과에 대해, 인코딩 장치의 변환부가 수행한 DCT 또는 DST에 대해 역DCT 또는 역DST를 수행할 수 있다. 역변환은 인코딩 장치에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 인코딩 장치의 변환부에서는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 DCT 또는 DST를 선택적으로 수행될 수 있고, 디코딩 장치의 역변환부(225)는 인코딩 장치의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
예측부(230)는 엔트로피 디코딩부(210)에서 제공된 예측 블록 생성 관련 정보와 메모리(240)에서 제공된 이전에 디코딩된 블록 및/또는 픽처 정보를 기초로 예측 블록을 생성할 수 있다. 복원 블록은 예측부(230)에서 생성된 예측 블록과 역변환부(225)에서 제공된 레지듀얼 블록을 이용해 생성될 수 있다.
예측부(230)에서 수행하는 구체적인 예측의 방법은 인코딩 장치의 예측부에서 수행되는 예측의 방법과 동일하다.
현재 블록에 대한 예측 모드가 인트라 예측(intra prediction) 모드인 경우에, 현재 픽처 내의 화소 정보를 기초로 예측 블록을 생성하는 인트라 예측을 수행할 수 있다.
인트라 예측에서 예측 모드는 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비방향성 모드는 DC 예측 모드 및 플레너 모드(Planar 모드) 등을 포함할 수 있다.
인트라 예측에서는 참조 샘플에 필터를 적용한 후 예측 블록을 생성할 수 있다. 이때, 참조 샘플에 필터를 적용할 것인지는 현재 블록의 인트라 예측 모드 및/또는 사이즈에 따라 결정될 수도 있다.
현재 블록에 대한 예측 모드가 인터 예측(inter prediction) 모드인 경우에, 현재 픽처의 이전 픽처 또는 이후 픽처 중 적어도 하나를 참조 픽처로 하고, 참조 픽처에 포함된 정보를 기초로 현재 블록에 대한 인터 예측을 수행할 수 있다. 구체적으로, 인터 예측에서는 현재 블록에 대하여, 참조 픽처를 선택하고 현재 블록과 동일한 크기의 참조 블록을 선택해서, 현재 블록에 대한 예측 블록을 생성할 수 있다. 예컨대, 인터 예측에서는 현재 블록과의 레지듀얼(residual) 신호가 최소화되며 움직임 벡터 크기 역시 최소가 되도록 예측 블록을 생성할 수 있다. 이때, 참조 픽처의 정보를 이용하기 위해, 현재 픽처의 주변 블록들의 정보를 이용할 수 있다. 예컨대, 스킵(skip) 모드, 머지(merge) 모드, AMVP(Advanced Motion Vector Prediction) 등을 통해, 주변 블록의 정보에 기반하여 현재 블록에 대한 예측 블록을 생성할 수 있다.
예측 블록은 1/2 화소 샘플 단위와 1/4 화소 샘플 단위와 같이 정수 이하 샘플 단위로 생성될 수도 있다. 이때, 움직임 벡터 역시 정수 화소 이하의 단위로 표현될 수 있다. 예컨대 휘도 화소에 대해서는 1/4 화소 단위로, 색차 화소에 대해서는 1/8 화소 단위로 표현될 수 있다.
현재 블록의 인터 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보는 인코딩 장치로부터 수신한 스킵 플래그, 머지 플래그 등을 확인하고 이에 대응하여 유도될 수 있다.
예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 서로 다를 수도 있다. 예컨대, PU 단위로 예측 모드가 정해져서 PU 단위로 예측이 수행될 수도 있고, PU 단위로 예측 모드가 정해지고 TU 단위로 화면 내 예측이 수행될 수도 있다.
예측부(230)로부터 출력된 예측 블록에 역변환부(225)로부터 출력된 레지듀얼 블록이 더해져서 원본 영상을 복원할 수 있다.
복원된 블록 및/또는 픽처는 필터부(235)로 제공될 수 있다. 필터부(235)는 복원된 블록 및/또는 픽처에 디블록킹 필터링, SAO(Sample Adaptive Offset) 및/또는 적응적 루프 필터링 등을 적용한다.
메모리(240)는 복원된 픽처 또는 블록을 저장하여 참조 픽처 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽처를 출력부로 제공할 수 있다.
여기서는 설명의 편의를 위해 생략하였지만, 디코딩 장치에 입력되는 비트 스트림은 파싱 단계를 거쳐 엔트로피 디코딩부로 입력될 수도 있다. 또한, 엔트로피 디코딩부에서 파싱 과정을 수행하도록 할 수도 있다.
본 명세서에서, 코딩은 경우에 따라 인코딩 또는 디코딩으로 해석될 수 있고, 정보(information)는 값(values), 파라미터(parameter), 계수(coefficients), 성분(elements) 등을 모두 포함하는 것으로 이해될 수 있다.
‘화면’ 또는 ‘픽쳐(picture)’는 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미하며, ‘슬라이스(slice)’, ‘프레임(frame)’ 등은 실제 비디오 신호의 코딩에 있어서 픽쳐의 일부를 구성하는 단위이며, 필요에 따라서는 픽쳐와 서로 혼용되어 사용 될 수도 있다.
‘픽셀(pixel)’, ‘화소’ 또는 ‘pel’은 하나의 영상을 구성하는 최소의 단위를 의미한다. 또한, 특정한 픽셀의 값을 나타내는 용어로서 ‘샘플(sample)’을 사용할 수 있다. 샘플은 휘도(Luma) 및 색차(Chroma) 성분으로 나누어질 수 있으나, 일반적으로는 이를 모두 포함하는 용어로써 사용될 수 있다. 상기에서 색차 성분은 정해진 색상들 간의 차이를 나타내는 것으로 일반적으로 Cb 및 Cr로 구성된다.
'유닛(unit)'은 상술한 코딩 유닛(CU), 예측 유닛(PU), 변환 유닛(TU)과 같이 영상 처리의 기본 단위 또는 영상의 특정 위치를 지칭하며, 경우에 따라서는 '블록(block)' 또는 '영역(area)' 등의 용어와 서로 혼용하여 사용될 수 있다. 또한, 블록은 M개의 열과 N개의 행으로 구성된 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타내는 용어로 사용될 수도 있다.
한편, 인터 예측 모드의 경우에 인코딩 장치 또는 디코딩 장치는 현재 블록의 움직임 정보를 도출하고, 도출된 움직임 정보에 기반하여 현재 블록에 대한 인터 예측을 수행할 수 있다.
현재 블록의 예측에 이용되는 영상을 참조 픽처(reference picture) 또는 참조 프레임(reference frame)이라고 한다. 참조 픽처 내의 영역은 참조 픽처를 지시하는 참조 픽처 인덱스(refIdx) 및 움직임 벡터(motion vector) 등을 이용하여 나타낼 수 있다.
현재 픽처에 대하여, 예측을 위하여 사용되는 픽처들로 참조 픽처 리스트를 구성할 수 있으며, 참조 픽처 인덱스는 참조 픽처 리스트에서 특정 참조 픽처를 지시할 수 있다. P 픽처의 경우에는 하나의 참조 픽처 리스트, 예컨대 참조 리스트 0을 필요로 하며, B 픽처의 경우에는 두 개의 참조 픽처 리스트, 예컨대 참조 리스트 0 및 참조 리스트 1을 필요로 한다.
구체적으로, I 픽처는 인트라 예측에 의해서 인코딩/디코딩되는 픽처이다. P 픽처는 각 블록의 샘플 값을 예측하기 위해 적어도 하나의 움직임 벡터 및 참조 픽처 인덱스를 이용한 인터 예측 또는 인트라 예측을 이용해서 인코딩/디코딩될 수 있는 픽처이다. B 픽처는 각 블록의 샘플 값을 예측하기 위해 적어도 두 개의 움직임 벡터들과 참조 픽처 인덱스들을 이용한 인터 예측 또는 인트라 예측을 이용해서 인코딩/디코딩될 수 있는 픽처이다.
P 픽처에서는 한 개의 참조 픽처 리스트를 필요로 하며, 이를 참조 픽처 리스트 0(reference picture list 0: L0)이라 지칭한다.
B 픽처는 하나 이상, 예를 들어 2 개의 참조 픽처를 이용하여 순방향, 역방향 또는 양 방향 인터 예측에 의해 인코딩될 수 있는 픽처다. B 픽처는 두 개의 참조 픽처 리스트를 필요로 하며, 두 개의 참조 픽처 리스트는 각각 참조 픽처 리스트 0(reference picture list 0: L0), 참조 픽처 리스트 1(reference picture list 1: L1)이라 지칭한다.
L0으로부터 선택된 참조 픽처를 사용하는 인터 예측을 L0 예측이라 하며, L0 예측은 주로 순방향 예측에 사용된다. L1으로부터 선택된 참조 픽처를 사용하는 인터 예측을 L1 예측이라 하며, L1 예측은 주로 역방향 예측에 사용된다. 또한 L0과 L1으로부터 각각 선택된 두 개의 참조 픽처를 사용하는 인터 예측을 쌍 예측(bi prediction)이라고도 한다.
상기 I 픽처, P 픽처, B 픽처의 특징은 픽처 단위가 아닌 슬라이스 단위로도 정의될 수 있다. 예컨대, 슬라이스 단위에서 I 픽쳐의 특징을 갖는 I 슬라이스, P 픽쳐의 특징을 갖는 P 슬라이스, B 픽쳐의 특징을 갖는 B 슬라이스가 정의될 수 있다.
예컨대, 현재 블록에 대한 슬라이스 타입이 B이고 L0으로부터 colPic이 선택되는 경우 또는 현재 블록에 대한 슬라이스 타입이 P인 경우에 colPic은 L0에서 선택될 수 있다. B 슬라이스(B 픽처) 중에서 참조 픽처 리스트 L0과 참조 픽처 리스트 L1이 같은 슬라이스(픽처)를 GPB(Generalized P and B)라고 한다.
도 1 및 2에서 상술한 바와 같이, 예측부는 현재 픽쳐 내의 픽셀 정보를 기초로 인트라 예측을 수행하여 현재 블록에 대한 예측 블록을 생성할 수 있다. 예를 들어, 예측부는 현재 블록의 주변 블록, 예컨대, 현재 블록의 상측에 위치하는 블록들, 현재 블록의 좌측에 위치하는 블록들, 현재 블록의 좌측 상단 코너에 위치하는 블록, 현재 블록의 좌측 아래에 위치하는 블록들, 현재 블록의 우상측에 위치하는 블록들에 속하는 픽셀들을 이용하여 현재 블록의 픽셀값을 예측할 수 있다.

인트라 예측 모드에는, 현재 블록의 픽셀값 예측에 사용되는 참조 픽셀들의 위치 및/또는 예측 방식 등에 따라, 다양한 예측 모드가 이용될 수 있다.
도 3은 인트라 예측에 있어서 적용되는 인트라 예측 모드의 일 예를 개략적으로 설명하는 도면이다.
도 3을 참조하면, 인트라 예측 모드에는 수직(vertical) 모드, 수평(horizontal) 모드 등의 방향성 모드와 DC 모드, 플래너(planar) 모드 등과 같은 비방향성 모드가 있다.
표 1은 도 3에 도시된 인트라 예측 모드들을 지시하는 인덱스들을 개략적으로 설명하는 표이다.
<표 1>
Figure PCTKR2012002430-appb-I000001
표 1에서, 인트라 예측 모드의 각 숫자들(0~35)은 도 3에 도시된 0부터 35의 수치에 각각 대응한다. 표 1 및 도 3을 참조하면, 인트라 예측 모드 0은 플래너 모드이고, 인트라 예측 모드 1은 DC 모드로서, 비방향성 모드라고 할 수 있다. 또한, 인트라 예측 모드 2 내지 34는 예측 각도에 따른 모드로서, 방향성 모드라고 할 수 있다.
비방향성 모드로서, 인트라 예측 모드 35는 크로마에 대해서만 적용되며, 루마의 인트라 모드로부터 결정되는 크로마의 예측 모드를 나타낸다. DC 모드에서는 현재 블록 내의 픽셀값들의 평균에 의해 예측 블록이 생성될 수 있다. 앵귤러 모드(방향성 모드)에서는 각각의 모드에 대해 미리 정해진 각도 및/또는 방향에 따라 예측이 수행될 수 있다.
한편, 루마 성분과 달리, 크로마 성분에 대해서는 더 제한된 개수의 예측 모드가 사용될 수도 있다. 설명의 편의를 위해, 크로마 성분에 사용되는 제한된 개수의 예측 모드를 크로마 예측 모드 후보(chroma prediction mode candidate)라 한다. 크로마 모드에 대한 인트라 예측을 수행하는 경우에는, 상기 크로마 예측 모드 후보들 중 하나의 예측 모드를 이용해서 예측이 수행될 수 있다.
일 실시예로 크로마 예측 모드 후보로 플래너 모드, 수직(vertical) 모드, 수평(horizontal) 모드, DC 모드 등을 이용할 수 있다.
표 2는 현재 블록에 대한 루마 성분의 예측 모드와 크로마 성분에 대한 예측 모드 지시자에 따라서, 현재 블록에 대한 크로마 성분의 예측 모드가 결정되는 일 예를 개략적으로 설명하는 표이다.
<표 2>
Figure PCTKR2012002430-appb-I000002
표 2에서, (xB, yB)는 현재 픽처의 좌상단(top-left) 샘플에 대한 현재 블록의 좌상단 루마 샘플의 위치를 나타내고, IntraPredMode는 현재 블록의 루마 샘플에 대한 인트라 예측 모드를 나타낸다. intra_chroma_pred_mode는 현재 블록의 크로마 샘플에 대한 인트라 예측 모드를 결정하기 위한 정보를 포함하며, 인코딩 장치로부터 디코딩 장치로 전송될 수 있다.
LM 모드는 선형 모드(Linear Mode) 혹은 루마 성분의 모드로부터 추정되는 모드(Luma estimated Mode)라고도 불린다. LM 모드에서 현재 블록의 크로마 성분은 현재 블록의 루마 샘플(루마 화소)을 이용하여 예측될 수 있다. 예컨대, LM 모드에서는 현재 블록의 복원된 루마 샘플들을 보간하여 생성한 샘플을 기반으로 크로마 샘플의 예측값을 생성할 수 있다.
표 2를 참조하면, 현재 블록의 크로마 성분에 대한 예측 모드는 intra_chroma_pred_mode의 값과 현재 블록의 루마 성분에 대한 예측 모드 IntraPredMode 값에 따라서 결정될 수 있다. 예컨대, intra_chroma_pred_mode 값이 0인 경우에, IntraPredMode 값이 0이라면, 현재 블록의 크로마 성분에 대한 인트라 예측 모드는 우상측 방향의 예측 모드(34번 모드)가 되고, IntraPredMode 값이 0 이외의 값이라면, 현재 블록의 크로마 성분에 대한 인트라 예측 모드는 플래너 모드(Intra_Planar)가 된다. 현재 블록의 크로마 성분은 인트라 예측 모드에 따라서, 현재 픽처 내의 크로마 성분들을 이용하여 예측된다.
마찬가지로, intra_chroma_pred_mode 값이 1인 경우에, IntraPredMode 값이 26이라면, 현재 블록의 크로마 성분에 대한 인트라 예측 모드는 우상측 방향의 예측 모드(34번 모드)가 되고, IntraPredMode 값이 26 이외의 값이라면, 현재 블록의 크로마 성분에 대한 인트라 예측 모드는 수직 모드, 즉 Intra_Angular(26)이 된다. 현재 블록의 크로마 성분은 인트라 예측 모드에 따라서, 현재 픽처 내의 크로마 성분들을 이용하여 예측된다.
intra_chroma_pred_mode 값이 2인 경우에, IntraPredMode 값이 10이라면, 현재 블록의 크로마 성분에 대한 인트라 예측 모드는 우상측 방향의 예측 모드(34번 모드)가 되고, IntraPredMode 값이 10 이외의 값이라면, 현재 블록의 크로마 성분에 대한 인트라 예측 모드는 수평 모드, 즉 Intra_Angular(10)이 된다. 현재 블록의 크로마 성분은 인트라 예측 모드에 따라서, 현재 픽처 내의 크로마 성분들을 이용하여 예측된다.
intra_chroma_pred_mode 값이 3인 경우에, IntraPredMode 값이 1이라면, 현재 블록의 크로마 성분에 대한 인트라 예측 모드는 우상측 방향의 예측 모드(34번 모드)가 되고, IntraPredMode 값이 1 이외의 값이라면, 현재 블록의 크로마 성분에 대한 인트라 예측 모드는 DC 모드(Intra_DC)가 된다. 현재 블록의 크로마 성분은 인트라 예측 모드에 따라서, 현재 픽처 내의 크로마 성분들을 이용하여 예측된다.
intra_chroma_pred_mode 값이 4인 경우에, 현재 블록의 크로마 성분에 대한 인트라 예측 모드는 LM 모드가 된다. 따라서, 현재 블록의 크로마 성분에 대한 예측 블록은 현재 블록의 복원된 루마 성분을 이용하여 생성될 수 있다.
intra_chroma_pred_mode 값이 5인 경우에, 현재 블록의 크로마 성분에 대한 인트라 예측 모드는 현재 블록의 루마 성분에 대한 인트라 예측 모드와 동일하다. 따라서, 이 경우를 DM(Direct Mode)라고도 한다.
표 3은 현재 블록에 대한 루마 성분의 예측 모드와 크로마 성분에 대한 예측 모드 지시자에 따라서, 현재 블록에 대한 크로마 성분의 예측 모드가 결정되는 다른 예를 개략적으로 설명하는 표이다.
<표 3>
Figure PCTKR2012002430-appb-I000003
표 3은, LM 모드의 적용이 없는 경우를 나타낸다.
디코딩 장치는 표 2와 표 3을 선택적으로 적용할 수도 있다. 예컨대, 인코딩 장치는 표 2를 적용할 것인지 표 3을 적용할 것인지를 지시하는 정보를 디코딩 장치에 전송할 수 있고, 디코딩 장치는 전송된 지시에 따라서, 현재 블록의 크로마 성분에 대한 인트라 예측 모드를 결정하기 위해, 표 2를 적용하거나 표 3을 적용할 수 있다.

한편, 예측된 정보를 포함하는 영상 정보는 도 1에서 설명한 바와 같이, 엔트로피 인코딩을 거쳐서 비트스트림으로 디코딩 장치에 전송된다. 또한, 디코딩 장치는 도 2에서 설명한 바와 같이, 수신한 비트스트림을 엔트로피 디코딩하여 예측된 정보를 포함하는 영상 정보를 획득한다.
도 4는 본 발명에서 적용되는 엔트로피 코딩부의 일 예를 개략적으로 설명하는 도면이다. 도 4에 도시된 엔트로피 코딩부의 구성은 엔트로피 인토딩과 엔트로피 디코딩에 동일하게 적용될 수 있다.
도 4가 엔트로피 인코딩부의 일 예라고 가정하면, 엔트로피 인코딩부(400)는 이진화(binarization)부(410), 정규 코딩 엔진(Regular Coding Engine, 420), 바이패스 코딩 엔진(Bypass Coding Engine, 430)를 포함할 수 있다.
이때, 엔트로피 인코딩은 D1 방향으로 입력되는 신호를 처리하여, D2 방향으로 처리된 신호를 출력한다.
입력되는 신호가 이진값이 아닌 신택스 요소(element)인 경우에, 이진화부(410)는 입력 신호를 이진수로 변환한다. 입력되는 신호가 이미 이진 값인 경우에는 이진화부(410)를 거치지 않고 바이패스(bypass)할 수도 있다.
입력되는 한자리 값인 이진 값을 빈(Bin)이라고 한다. 예컨대, 입력되는 이진 값이 110인 경우에, 1, 1, 0 각각을 하나의 빈이라고 하며, 빈으로 구성되는 이진 시퀀스를 빈 스트링(bin string)이라고 한다.
이진화된 신호(빈 스트링)는 정규 코딩 엔진(420) 또는 바이패스 코딩 엔진(430)으로 입력된다.
정규 코딩 엔진(420)은 해당 빈에 대하여 확률 값을 반영하는 콘텍스트를 할당하고, 할당된 콘텍스트에 기반하여 해당 빈을 인코딩한다. 정규 코딩 엔진(420)은 각 빈에 대한 인코딩을 수행한 뒤에 해당 빈에 대한 콘텍스트를 갱신할 수 있다.
바이패스 코딩 엔진(430)은 입력되는 빈에 따라서 콘텍스트를 할당하지 않고, 단순한 바이패스 모드로 입력되는 빈을 인코딩하고, 인코딩 속도를 향상시킨다. 바이패스 모드에서는 입력된 빈에 대해서 확률을 추정하는 절차와 인코딩 후에 해당 빈에 적용했던 확률을 갱신하는 절차를 바이패스(bypass)한다. 바이패스 모드에서는 예컨대, 균일한 확률 분포를 적용하여 인코딩 절차를 수행할 수 있다.
엔트로피 인코딩부(400)는 정규 코딩 엔진(420)을 통해서 엔트로피 인코딩을 수행할 것인지, 바이패스 코딩 엔진(430)을 통해서 엔트로피 인코딩을 수행할 것인지를 결정하고, 스위칭부(440)를 통해서 인코딩 경로를 스위칭할 수 있다.
상술한 엔트로피 인코딩부(400)는 도 1에 도시된 엔트로피 인코딩부(130)일 수 있다.
한편, 도 4가 엔트로피 디코딩부의 일 예라고 가정하면, 엔트로피 디코딩부(400)는 이진화(binarization)부(410), 정규 코딩 엔진(Regular Coding Engine, 420), 바이패스 코딩 엔진(Bypass Coding Engine, 430)를 포함할 수 있다.
엔트로피 디코딩부(400)는 D3 방향으로 입력되는 신호를 처리하여, D4 방향으로 처리된 신호를 출력한다.
이진화부(410), 정규 코딩 엔진(420), 바이패스 코딩 엔진(430)은 엔트로피 인코딩부에서 설명한 바와 동일한 과정을 역순으로 수행한다.
예컨대, 엔트로피 디코딩부(400)는 입력되는 신택스 요소에 관한 빈(bin)별로 정규 코딩 엔진(420)에서 디코딩될 것인지 바이패스 코딩 엔진(430)에서 디코딩될 것인지를 결정한다.
정규 코딩 엔진을 이용하는 것으로 결정되면, 정규 코딩 엔진(420)에서 콘텍스트를 이용한 디코딩이 수행된다. 바이패스 코딩 엔진을 이용하는 것으로 결정되면, 바이패스 코딩 엔진(430)에서 균일한 확률 분포를 이용한 디코딩이 수행된다. 각 코딩 엔진(420, 430)에서의 디코딩에 의해 이진 코드가 출력된다.
특정 신택스(신택스 요소)에 대한 모든 빈에 대해서 코딩 엔진에서의 디코딩이 완료되면, 해당 신택스(신택스 요소)의 모든 빈에 대해 출력된 바이너리 코드를 합하여 어떤 신택스 값에 매핑되는지를 판단한다. 출력된 최종 바이너리 코드가 특정 신택스에 매핑되는 경우, 해당 바이너리 코드의 값이 매핑되는 신택스의 값으로 정해진다.
이때, 필요에 따라서 이진화부(410)는 역이진화를 수행할 수 있다.

한편, 디코딩 장치에서는 인코딩 장치로부터 수신한 비트스트림을 엔트로피 디코딩 한다. 이하에서는, 설명의 편의를 위해서, 본 발명이 적용되는 엔트로피 디코딩의 일 예로서, 인코딩 장치에서 CABAC를 이용하여 영상 정보를 엔트로피 인코딩한 경우, 디코딩 장치에서 수행되는 엔트로피 디코딩 방법을 설명한다.
인코딩 장치 예컨대, 인코딩 장치 내의 엔트로피 디코딩부에서는, CABAC로 코딩된 신택스 요소를 파싱하는 경우에, 해당 신택스 요소의 값에 대한 요청에 따라서 CABAC 파싱 과정을 개시한다.
구체적으로, 신택스 요소 값에 대한 요청에 따라서, 해당 신택스 요소 값에 대한 이진화(binarization)가 유도된다. 이진화 과정에서는 적용된 이진화 타입(예컨대, 유너리(unary) 이진화, 절삭된 유너리(truncated unary) 이진화, 지수 골룸(Exp-Golomb) 이진화, 고정 길이(fixed length) 이진화 등)에 따라서 이진화가 수행된다.
신택스 요소에 대한 이진화 및 파싱된 빈들의 시퀀스가 디코딩 프로세스를 결정한다. 신택스 요소에 대해 이진화된 값들에 있어서 각각의 빈들은 빈 인덱스(binIdx)에 의해 인덱싱되며, 각 빈에 대하여 콘텍스트 인덱스(ctxIdx)가 유도된다. 신택스 요소별로 콘텍스트 인덱스의 초기값이 설정될 수 있다. 이 경우에, 신택스 요소별로 콘텍스트 인덱스의 값을 설정한 콘텍스트 인덱스 테이블을 이용할 수 있으며, 해당 테이블을 소정의 지시자, 예컨대, 콘텍스트 인덱스 테이블 지시자(ctxIdxTable)를 이용하여 특정할 수 있다.
각각의 콘텍스트 인덱스에 대하여, 산술적인(arithmetic) 디코딩 과정이 개시된다.

도 5는 본 발명이 적용되는 엔트로피 디코딩 과정의 일 예를 개략적으로 설명하는 순서도이다. 설명의 편의를 위해, 도 5에서는 단일 빈에 대한 디코딩 과정을 일 예로서 설명한다.
도 5에 도시된 디코딩 과정은, 디코딩 장치, 더 구체적으로는 디코딩 장치 내의 엔트로피 디코딩부에서 수행될 수 있다. 여기서는 설명의 편의를 위해, 엔트로피 디코딩부에서 각 과정을 수행하는 것으로 설명한다.
도 5를 참조하면, 엔트로피 디코딩부는 입력된 디코딩 대상 빈에 대하여, 바이패스 디코딩을 적용할 것인지를 판단한다(S510). 엔트로피 디코딩부는 대상 빈에 대한 정보를 기반으로 바이패스 디코딩을 적용할 것인지를 판단할 수 있다. 예컨대, 후술하는 바와 같이, 테이블을 이용하여 고정적인 콘텍스트를 사용하는 경우에, 엔트로피 디코딩부는 해당 신택스 요소에 대해 테이블상에서 할당되는 지시를 기반으로 바이패스 디코딩을 적용할 것인지를 판단할 수도 있다. 또한, 테이블을 이용하여 고정적인 콘텍스트를 사용하는 경우에, 엔트로피 디코딩부는 해당 신택스 요소에 대해 테이블상에서 할당되는 인덱스, 오프셋 등에 기반하여 바이패스 디코딩을 적용할 것인지를 판단할 수도 있다.
엔트로피 디코딩부는 바이패스 디코딩을 적용하는 것으로 판단한 경우에, 입력된 빈에 대한 바이패스 디코딩을 수행한다(S520). 바이패스 디코딩을 수행하는 경우에는 인코딩의 경우와 마찬가지로 균일한 확률 분포를 이용한다. 엔트로피 디코딩부는 바이패스 디코딩 엔진의 상태에 따라서, 코드 인터벌 구간(Code Interval Range) codIRange와 코드 인터벌 오프셋(Code Interval Offset) codIOffset을 비교하여, 빈의 값을 할당할 수 있다. 예컨대, 코드 인터벌 오프셋이 코드 인터벌 구간보다 같거나 크면 빈의 값으로 1의 값을 할당하고, 코드 인터벌 오프셋이 코드 인터벌 구간보다 작으면 빈의 값으로 0의 값을 할당할 수 있다. 이때, 코드 인터벌 구간과 코드 인터벌 오프셋을 직접 비교하기 위해, 코드 인터벌 구간 또는 코드 인터벌 오프셋의 값을 적절히 조정할 수도 있다.

S510 단계에서 바이패스 디코딩이 수행되지 않는다고 판단한 경우에, 엔트로피 디코딩부는 디코딩 종료 조건이 만족되고 있는지를 판단할 수 있다(S530). 예컨대, 콘텍스트 인덱스(ctxIdx)의 값이 0이고, 콘텍스트 인덱스 테이블(ctxIdxTable)의 값이 0이면, 엔트로피 디코딩부가 디코딩 과정을 종료(terminate)하도록 할 수 있다. 또한, 종료 조건이 만족되었는지를 인덱스들의 값에 따라서 결정하지 않고, 플래그 등과 같은 신택스 정보로 인코딩 장치로부터 전송할 수도 있다. 이때, 신택스 정보가 지시하는 종료 조건과 인덱스 값에 의해 결정되는 종료 조건이 동일할 수도 있다.
엔트로피 디코딩부는 종료 조건이 만족하면, 상술한 바와 같이, 디코딩 과정을 종료한다(S540). 엔트로피 디코딩부는 종료 전에 소정의 설정값을 빈의 값으로 할당할 수도 있다. 이때, 엔트로피 디코딩부는 바이패스 디코딩에 의해 빈의 값을 할당할 수도 있다.
엔트로피 디코딩부는 종료 조건이 만족하지 않으면, 디코딩을 수행할 수 있다(S550). 엔트로피 디코딩부는 디코딩 대상 빈을 지시하는 빈 인덱스 binIdx, 디코딩 대상 빈에 적용되는 콘텍스트를 지시하는 콘텍스트 인덱스 ctxIdx를 기반으로 디코딩 대상 빈을 디코딩할 수 있다.

이하, 콘텍스트를 이용하여 디코딩을 수행하는 방법에 대하여 구체적으로 설명한다.
상술한 바와 같이, 높은 코딩 효율이 요구되는 영상 정보를 처리하는 경우에는 엔트로피 코딩(엔트로피 인코딩/엔트로피 디코딩)을 이용할 수 있다. 엔트로피 코딩에는 지수 골롬과 같은 기본적인 코딩 방법 외에 가변 길이 코딩(Variable Length Coding: VLC)나 상술한 콘텍스트 기반 적응적 산술 코딩(Context-based Adaptive Binary Arithmetic Code: CABAC) 등이 이용될 수 있다.
CABAC에 있어서, 콘텍스트 기반이란, 주위의 상황을 고려하여, 더 효율이 좋은 코딩 방식을 적응적으로 선택하여 적용한다는 것을 의미한다. 이와 관련하여, 서로 다른 콘텍스트를 이용한다는 것은, 독립적인 콘텍스트 갱신(update)을 통해서, 서로 다른 확률 모델을 적용하여 코딩한다는 것을 의미한다.
CABAC에서 콘텍스트를 코딩에 활용하는 방법으로 아래와 같은 방식을 우선 고려할 수 있다.
<콘텍스트 활용 방법>
콘텍스트를 주위 상황에 따라 산출하여 적응적으로 코딩에 활용하는 방법.
(b) 고정된 콘텍스트를 사용하도록 사전에 특정 콘텍스트 테이블을 정의하고, 정의한 테이블에서 지정된 콘텍스트를 사용하는 방법.
(c) 콘텍스트를 참조하지 않고, 이진 코드(binary code)를 그대로 코딩(인코딩/디코딩)하는 바이패스 코딩(인코딩/디코딩) 방법.
(d) 상기 (a) ~ (c)의 방법을 선택적으로 조합하여 사용하는 방법.
콘텍스트 활용 방법 중 (a)의 방법은 코딩 전에 주위 상황을 고려하여 콘텍스트를 계산하는 과정이 수반되므로, 가장 높은 복잡도를 가진다. 인코딩 장치는 주변 상황, 예컨대, 전후의 빈에 적용된 콘텍스트 또는 현재 블록보다 먼저 코딩된 블록(예컨대, 좌측 블록이나 상측 블록)의 콘텍스트 등을 살펴서 코딩할 신택스 요소의 이진 코드를 구성하는 각 빈별로 콘텍스트를 산출할 수 있다. 인코딩 장치는 산출된 콘텍스트에 관한 정보를 디코딩 장치에 전송할 수 있다. 디코딩 장치는 수신한 콘텍스트 정보를 기반으로 해당 빈에 대한 디코딩을 수행할 수 있다.
또는, 인코딩 장치가 각 빈에 대한 콘텍스트를 결정해서 전송하지 않고, 인코딩 장치와 디코딩 장치가 동일한 방법에 의해 주변 상황을 고려하여 콘텍스트를 산출하도록 할 수도 있다.
상기 콘텍스트 활용 방법 중 (b)의 방법은, (a)의 방법처럼 매번 콘텍스트를 계산하지 않고, 특정 신택스 요소의 이진 코드를 구성하는 각 빈에 대하여 콘텍스트 인덱스를 할당하는 콘텍스트 테이블을 미리 설정하고, 콘텍스트 테이블에서 할당되는 콘텍스트 인덱스가 지시하는 콘텍스트를 해당 빈의 디코딩에 이용하는 방법이다. (b)의 방법을 사용하는 경우에는, 각 빈에 대하여 고정된 콘텍스트가 사용될 수도 있다.
표 4는 (b)의 방법을 적용하는 경우에, 빈 인덱스와 콘텍스트 인덱스가 지정되는 일 예를 개략적으로 나타낸 표이다.
<표 4>
Figure PCTKR2012002430-appb-I000004
표 4는 특정 신택스 요소를 가정할 때, 해당 신택스 요소에 적용되는 콘텍스트 테이블의 일 예를 나타낸 것이다.
표 4의 예에서, 빈 인덱스 binIdx는, 신택스 요소의 이진 코드를 구성하는 빈들 중에서 특정 빈을 지시한다. 예컨대, binIdx의 값이 0이면 신택스 요소의 이진 코드를 구성하는 빈들 중에서 0번째 빈을 지시하고, binIdx의 값이 4이면 신택스 요소의 이진 코드를 구성하는 빈들 중에서 3번째 빈을 지시한다. 신택스 요소는 merge_idx, intra_chroma_pred_mode, inter_pred_flag 등과 같이 인코딩 장치로부터 디코딩 장치로 전송되는 신택스 요소들일 수 있다.
표 4의 예를 참조하면, 신택스 요소의 이진 코드를 구성하는 빈들(0~4)에 대해, 콘텍스트 인덱스가 각각 할당된다. 콘텍스트 인덱스들(Idx0 ~ Idx4)은 서로 다른 값을 가질 수 있다. 콘텍스트 인덱스는 해당 빈에 대해서 적용될 콘텍스트를 지시할 수 있다. 콘텍스트 인덱스가 지시하는 콘텍스트는 별도의 테이블을 통해 할당될 수 있다. 예컨대, 신택스 요소별로 구성된 별도의 콘텍스트 테이블 상에서, 콘텍스트 인덱스가 지시하는 특정 콘텍스트가 할당되도록 할 수도 있다.
신택스 요소의 각 빈들은 할당된 콘텍스트 인덱스에 의해 지시되는 콘텍스트에 기반해서 디코딩될 수 있다.
디코딩 장치는 신택스 요소를 엔트로피 디코딩하는 경우에, 특정 빈에 대해서는 해당 빈에 할당된 콘텍스트 인덱스가 지시하는 콘텍스트를 이용할 수 있다. 예컨대, 빈 인덱스 값이 0인 경우에는 idx0이 지시하는 콘텍스트를 이용하여 0번째 빈을 디코딩할 수 있다.
표 4의 예에서는 빈 인덱스의 최대값(binIdxMax)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 최대값보다 큰 빈 인덱스에 대해서는 가장 큰 빈 인덱스(binIdxMax)에 할당된 콘텍스트 인덱스와 동일한 콘텍스트 인덱스를 이용할 수 있다.
콘텍스트 활용 방법 중 (c)의 방법은 (a) 또는 (b)보다 복잡도가 높지 않다. (c)의방법에서 이용되는 바이패스 코딩은 상술한 바와 같이, 균일한 확률 분포를 이용하며, 신속한 코딩을 위해 적용된다. 바이패스 코딩에 관한 내용은 상술한 바와 같다.

특정한 이진 코드(binary code)를 CABAC 코딩하는데 있어서, 이진 코드를 구성하는 각 자리의 수 0 또는 1에 대하여 콘텍스트가 적용된다. 이때, 이진 코드를 구성하는 각 자리의 수 0 또는 1을 상술한 바와 같이 빈(bin)이라고 한다. 예컨대, 이진 코드가 110이라면, 0번째 빈은 1, 1번째 빈은 1, 2번째 빈은 0이 된다.
CABAC 코딩에서는 신택스 요소의 이진 코드를 구성하는 빈들에 대하여 다양하게 콘텍스트를 결정할 수 있다.
<이진 코드를 구성하는 빈에 대한 콘텍스트 결정 방법>
(A) 신택스 요소의 이진 코드를 구성하는 각각의 빈에 대하여 독립적인 콘텍스트를 적용할 수 있다.
(B) 신택스 요소의 이진 코드를 구성하는 빈들에 동일한 콘텍스트를 공통적으로 적용할 수 있다.
(C) 신택스 요소의 이진 코드를 구성하는 빈들을 바이패스 모드로 코딩(바이패스 코딩)하도록 할 수 있다.
(D) 상기 (A) 내지 (C)를 조합하여 신택스 요소의 이진 코드를 구성하는 빈들에 대한 콘텍스트를 결정할 수 있다.
방법 (A)에서는, 신택스 요소의 이진 코드를 구성하는 각 빈들에 대하여 독립적인 콘텍스트가 적용된다. 따라서, 각 빈들에 대한 콘텍스트는 독립적으로 업데이트될 수 있다. 방법 (B)에서는, 이진 코드를 구성하는 각 빈들에 동일한 콘텍스트가 적용되며, 업데이트 역시 동일하게 수행될 수 있다. 방법 (C)에서는 이진 코드를 구성하는 빈들을 모두 바이패스 모드로 코딩하게 되므로, 신속한 디코딩이 이루어질 수 있다.
또한, 방법 (D)에 따라서, 상기 방법 (A) 내지 방법 (C)를 조합하여 적용할 수도 있다. 예컨대, 신택스 요소의 이진 코드를 구성하는 빈들 중에서 일부 빈들에 대해서는 각각 독립적인 콘텍스트를 적용하고, 일부 빈들에 대해서는 동일한 콘텍스트를 적용할 수 있다. 또한, 신택스 요소의 이진 코드를 구성하는 빈들 중에서 일부 빈들에 대해서는 각각 독립적인 콘텍스트를 적용하고, 일부 빈들에 대해서는 바이패스 모드를 적용할 수도 있다. 또한, 신택스 요소의 이진 코드를 구성하는 빈들 중에서 일부 빈들에 대해서는 동일한 콘텍스트를 적용하고, 일부 빈들에 대해서는 바이패스 모드를 적용할 수도 있다. 또한, 신택스 요소의 이진 코드를 구성하는 빈들 중에서 일부 빈들에 대해서는 각각 독립적인 콘텍스트를 적용하고, 일분 빈들에 대해서는 동일한 콘텍스트를 적용하며, 일부 빈들에 대해서는 바이패스 모드를 적용할 수도 있다.

한편, 상기 신택스 요소의 이진 코드를 구성하는 빈에 대한 콘텍스트 결정 방법 (A)~(D)를 상기 콘텍스트 활용 방법 (a) 내지 (d)와 함께 적용할 수도 있다.
예컨대, 방법 (A)를 기반으로 특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 이진 코드를 구성하는 모든 빈에 독립적인 콘텍스트를 적용하며, 적용되는 독립적인 콘텍스트는 적용할 빈에 대하여 주변 환경을 고려하여 산출되도록 할 수 있다.
또한, 특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 이진 코드를 구성하는 모든 빈에 독립적인 콘텍스트를 적용하며, 적용되는 독립적인 콘텍스트는 미리 설정된 콘텍스트 테이블을 통해서 지시되로록 할 수도 있다.
표 5는 신택스 요소의 이진 코드를 구성하는 각 빈들에 대하여 독립적인 콘텍스트를 할당하는 경우에, 미리 정해진 콘텍스트 테이블을 통해 콘텍스트를 할당하는 예를 나타낸 것이다.
<표 5>
Figure PCTKR2012002430-appb-I000005
표 5는 특정 신택스 요소 A를 가정할 때, 신택스 요소 A에 적용되는 콘텍스트 테이블의 일 예를 나타낸 것이다.
표 5에서, 각 빈별 콘텍스트 인덱스들(Idx0 ~ Idx4)는 서로 독립적으로, 해당 빈에 대해 적용할 콘텍스트를 지시하며, 각 콘텍스트 인덱스들에 의해 지시되는 콘텍스트들은 서로 독립적으로 업데이트 될 수 있다.
표 5의 예에서는 빈 인덱스의 최대값(binIdxMax)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 최대값보다 큰 빈 인덱스에 대해서는 가장 큰 빈 인덱스(binIdxMax)에 할당된 콘텍스트 인덱스와 동일한 콘텍스트 인덱스를 이용할 수 있다.
한편, 특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 이진 코드를 구성하는 빈들 중 일부 빈들에 독립적인 콘텍스트를 적용하며, 일부 빈들에 대해서는 바이패스 모드를 적용할 수 있다.
이때, 빈들에 적용하는 콘텍스트들은 해당 빈에 콘텍스트를 적용해야 할 때, 주변 환경을 고려하여 산출할 수 있다.
미리 구성된 콘텍스트 테이블에서 각각의 빈별로 독립적인 콘텍스트 또는 바이패스 모드를 설정하고, 빈별 콘텍스트 인덱스로 어떤 콘텍스트 혹은 바이패스 모드를 적용할 것인지를 지시할 수도 있다.
표 6은 특정 신택스(신택스 요소)의 이진 코드를 구성하는 빈들 중에서 일부 빈들에 대해서는 독립적인 콘텍스트를 적용하고, 일부 빈들에 대해서는 바이패스 모드를 적용하는 경우에 이용될 수 있는 콘텍스트 테이블의 일 예를 나타낸 것이다.
<표 6>
Figure PCTKR2012002430-appb-I000006
표 6는, 특정 신택스 요소 B를 가정할 때, 신택스 요소 B에 적용되는 콘텍스트 테이블의 일 예를 나타낸 것이다.
표 6의 예에서는, 신택스 요소 B의 이진 코드를 구성하는 빈들 중에서 0번째, 2번째, 4번째 빈들에 독립적인 콘텍스트가 적용되며, 1번째, 3번째 빈들에 대해서는 바이패스 모드가 적용된다.
표 6의 예에서는 빈 인덱스의 최대값(binIdxMax)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 최대값보다 큰 빈 인덱스에 대해서는 가장 큰 빈 인덱스(binIdxMax)에 할당된 콘텍스트 인덱스와 동일한 콘텍스트 인덱스를 이용할 수 있다.

또한, 방법 (A)와 방법 (B)를 기반으로 특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 이진 코드를 구성하는 일부 빈에는 독립적인 콘텍스트를 적용하고, 다른 일부 빈에는 동일한 콘텍스트를 공통적으로 적용하며, 각각의 콘텍스트는 적용할 빈에 대하여 주변 환경을 고려하여 산출되도록 할 수 있다.
특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 이진 코드를 구성하는 일부 빈에는 각각 독립적인 콘텍스트를 적용하고, 다른 일부 빈에는 동일한 콘텍스트를 공통적으로 적용하며, 각각의 콘텍스트는 미리 설정된 콘텍스트 테이블을 통해서 지시되도록 할 수도 있다.
표 7은 신택스 요소의 이진 코드를 구성하는 각 빈들에 대하여 일부 빈에 대해서는 각각 독립적인 콘텍스트를 적용하고, 일부 빈에 대해서는 동일한 콘텍스트를 공통적으로 적용하는 경우에, 콘텍스트 테이블을 통해 콘텍스트를 할당하는 일 예를 나타낸 것이다.
<표 7>
Figure PCTKR2012002430-appb-I000007
표 7은 특정 신택스 요소 C를 가정할 때, 신택스 요소 C에 적용되는 콘텍스트 테이블의 일 예를 나타낸 것이다.
표 7에서, 1번째 빈과 2번째 빈에 대해서는 콘텍스트 인덱스 Idx1이 지시하는 동일한 콘텍스트가 적용된다. 0번째 빈, 3번째 빈, 4번째 빈에는 각각 콘텍스트 인덱스 Idx0, Idx2, Idx3이 지시하는 콘텍스트가 적용될 수 있다. 콘텍스트 인덱스 Idx0 ~ Idx3은 서로 다른 값을 가질 수 있고, 각 콘텍스트 인덱스들에 의해 지시되는 콘텍스트들은 서로 독립적으로 업데이트 될 수 있다.
표 7의 예에서는 빈 인덱스의 최대값(binIdxMax)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 최대값보다 큰 빈 인덱스에 대해서는 가장 큰 빈 인덱스(binIdxMax)에 할당된 콘텍스트 인덱스와 동일한 콘텍스트 인덱스를 이용할 수 있다.
한편, 특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 이진 코드를 구성하는 일부 빈에는 각각 독립적인 콘텍스트를 적용하고, 일부 빈에는 동일한 콘텍스트를 공통적으로 적용하며, 일부 빈들에 대해서는 바이패스 모드를 적용할 수도 있다.
이때, 콘텍스트들은 빈에 콘텍스트를 적용해야 할 때, 주변 환경을 고려하여 산출할 수 있다. 또한, 미리 구성된 콘텍스트 테이블에서 각각의 빈별로 콘텍스트 또는 바이패스 모드를 설정하고, 빈별 콘텍스트 인덱스로 어떤 콘텍스트 혹은 바이패스 모드를 적용할 것인지를 지시할 수도 있다.
표 8은 특정 신택스(신택스 요소)의 이진 코드를 구성하는 빈들 중에서 일부 빈들에는 각각 독립적인 콘텍스트를 적용하고, 일부 빈들에는 동일한 콘텍스트를 공통적으로 적용하며, 일부 빈들에 대해서는 바이패스 모드를 적용하는 경우에 이용될 수 있는 콘텍스트 테이블의 일 예를 나타낸 것이다.
<표 8>
Figure PCTKR2012002430-appb-I000008
표 8은, 특정 신택스 요소 D를 가정할 때, 신택스 요소 D에 적용되는 콘텍스트 테이블의 일 예를 나타낸 것이다.
표 8의 예에서는, 신택스 요소 D의 이진 코드를 구성하는 빈들 중에서 0번째 빈에는 콘텍스트 인덱스 Idx0이 지시하는 콘텍스트가 적용되고, 1번째 빈에는 바이패스 모드가 적용되며, 2번째 빈에는 콘텍스트 인덱스 Idx1이 지시하는 콘텍스트가 적용되고, 3번째 빈 및 4번째 빈에는 콘텍스트 인덱스 Idx2가 지시하는 콘텍스트가 적용된다.
표 8의 예에서는 빈 인덱스의 최대값(binIdxMax)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 최대값보다 큰 빈 인덱스에 대해서는 가장 큰 빈 인덱스(binIdxMax)에 할당된 콘텍스트 인덱스와 동일한 콘텍스트 인덱스를 이용할 수 있다.

한편, 방법 (B)를 기반으로 특정 신택스(신택스 요소)의 이진 코드를 구성하는 각 빈들에 동일한 콘텍스트를 공통으로 적용하는 할 수도 있다. 이때, 공통되는 콘텍스트는 빈에 적용할 때 주변 환경을 고려하여 산출될 수 있다. 또한, 공통되는 콘텍스트는 미리 구성된 콘텍스트 테이블을 통해서 할당될 수도 있다.
표 9는 특정 신택스(신택스 요소)의 이진 코드를 구성하는 빈들에 동일한 콘텍스트를 공통적으로 적용하는 경우에 이용될 수 있는 콘텍스트 테이블의 일 예를 나타낸 것이다.
<표 9>
Figure PCTKR2012002430-appb-I000009
표 9는, 특정 신택스 요소 E를 가정할 때, 신택스 요소 E에 적용되는 콘텍스트 테이블의 일 예를 나타낸 것이다.
표 9의 예에서는, 신택스 요소 E의 이진 코드를 구성하는 빈들에 콘텍스트 인덱스 Idx0이 지시하는 콘텍스트가 공통으로 적용된다.
표 9의 예에서는 빈 인덱스의 최대값(binIdxMax)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 최대값보다 큰 빈 인덱스에 대해서는 가장 큰 빈 인덱스(binIdxMax)에 할당된 콘텍스트 인덱스와 동일한 콘텍스트 인덱스를 이용할 수 있다.
또한, 특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 이진 코드를 구성하는 일부 빈에는 동일한 콘텍스트를 공통적으로 적용하고, 일부 빈들에 대해서는 바이패스 모드를 적용할 수도 있다.
이때, 콘텍스트들은 빈에 콘텍스트를 적용해야 할 때, 주변 환경을 고려하여 산출할 수 있다. 또한, 미리 구성된 콘텍스트 테이블을 통해서, 일부 빈들에 공통적으로 적용되는 콘텍스트 또는 바이패스 모드를 설정하고, 콘텍스트 인덱스로 콘텍스트 혹은 바이패스 모드를 지시할 수도 있다.
표 10은 특정 신택스(신택스 요소)의 이진 코드를 구성하는 빈들 중에서 일부 빈들에는 동일한 콘텍스트를 공통적으로 적용하고, 일부 빈들에 대해서는 바이패스 모드를 적용하는 경우에 이용될 수 있는 콘텍스트 테이블의 일 예를 나타낸 것이다.
<표 10>
Figure PCTKR2012002430-appb-I000010
표 10은, 특정 신택스 요소 F를 가정할 때, 신택스 요소 F에 적용되는 콘텍스트 테이블의 일 예를 나타낸 것이다.
표 10의 예에서는, 신택스 요소 F의 이진 코드를 구성하는 빈들 중에서 2번째 빈에는 바이패스 모드를 적용하고, 0번째 빈, 1번째 빈, 3번째 빈 및 4번째 빈에는 콘텍스트 인덱스 Idx0이 지시하는 콘텍스트를 적용한다.
표 10의 예에서는 빈 인덱스의 최대값(binIdxMax)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 최대값보다 큰 빈 인덱스에 대해서는 가장 큰 빈 인덱스(binIdxMax)에 할당된 콘텍스트 인덱스와 동일한 콘텍스트 인덱스를 이용할 수 있다.

방법 (C)에 기반해서, 특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 이진 코드를 구성하는 모든 빈에 대해서 바이패스 모드를 적용할 수도 있다. 이 경우에도, 바이패스 모드를 적용하는 것을 해당 신택스(신택스 요소)에 대하여 미리 구성된 콘텍스트 테이블을 통해 지시할 수 있다. 이때, 콘텍스트 테이블은 모든 빈 인덱스에 대하여 바이패스 모드가 할당되는 방식으로 구성될 수 있다.
한편, 특정 신택스(신택스 요소)의 이진 코드를 구성하는 빈들에 대해서, 동일한 빈에 서로 다른 콘텍스트를 적용할 수도 있다. 예컨대, 콘텍스트 테이블에서, 동일한 빈 인덱스에 서로 다른 복수의 콘텍스트 인덱스가 할당되도록 할 수도 있다.

콘텍스트 인덱스는 해당 신택스(신택스 요소)가 적용되는 환경(상태 또는 조건)에 따라서 달라질 수 있다. 예컨대, 동일한 빈에 대하여, 신택스(신택스 요소)가 적용되는 블록의 종류, 픽처(슬라이스, 프래임)의 종류, 예측 모드, 블록의 크기, 블록의 깊이 등과 같은 상태나 조건에 따라서 이진 코드 내 동일 위치의 빈에 대해서 서로 다른 콘텍스트가 적용될 수 있다. 이때, 어떤 상태는 다른 등가의 상태에 의해 특정될 수도 있다. 예컨대, 블록의 크기가 블록의 깊이에 의해 특정될 수 있고, 블록의 깊이가 블록의 크기에 의해 특정될 수도 있으며, 따라서 두 조건이 동일한 환경을 특정하는 상태 또는 조건이 될 수도 있다.
픽처(슬라이스, 프레임) 타입에 의해 공통의 콘텍스트를 적용하거나 서로 다른 콘텍스트를 적용하도록 하는 경우에는 픽처(슬라이스, 프레임)가 I 픽처(슬라이스, 프레임)인지, P 픽처(슬라이스, 프레임)인지, B 픽처(슬라이스, 프레임)인지에 따라서, 동일한 빈 인덱스에 대해서 서로 다른 콘텍스트 인덱스가 할당되도록 할 수 있다.

이하, 동일한 빈 인덱스에 서로 다른 콘텍스트(콘텍스트 인덱스)를 적용할 수 있는 경우에 대하여 구체적으로 설명한다.
신택스 요소는 상술한 바와 같이, 소정의 빈들로 구성되는 이진 코드(코드워드) 값을 가질 수 있다. 예컨대, 크로마 성분에 대한 인트라 예측의 경우에는 LM 모드가 적용되는지에 따라서, 표 2 및 표 3에서 설명한 바와 같이, 5개 혹은 6개의 예측 모드가 허용된다. 따라서, 크로마 성분에 대한 인트라 예측 모드를 지시하는 신택스 요소 intra_chroma_pred_mode는 5 내지 6개의 서로 다른 이진 코드(코드워드) 값을 가질 수 있다.
표 11은 LM 모드를 사용하는 경우에 크로마 성분의 예측에 사용될 수 있는 인트라예측 모드와 이를 지시하는 신택스 요소 intra_chroma_pred_mode의 이진 코드(코드 워드)를 나타낸 것이다.
또한, 표 12는 LM 모드를 사용하지 않는 경우에 크로마 성분의 예측에 사용될 수 있는 인트라 예측 모드와 이를 지시하는 신택스 요소 intra_chroma_pred_mode의 이진 코드(코드 워드)를 나타낸 것이다.
<표 11>
Figure PCTKR2012002430-appb-I000011
<표 12>
Figure PCTKR2012002430-appb-I000012
표 11 또는 표 12와 같이, 소정의 신택스 요소에 대한 이진 코드(코드워드)를 구성하는 빈들에 대하여, 상술한 바와 같은 방식으로 콘텍스트를 할당할 수 있다.
코드워드를 구성하는 빈들에 대하여, 동일한 빈에도 상태 또는 조건에 따라서 서로 다른 콘텍스트를 적용하기 위해, 콘텍스트 테이블을 이용할 수 있다. 이 경우에 특정 빈에 적용되는 콘텍스트는, 콘텍스트 테이블 상에서 각각의 빈 인덱스에 할당되는 인덱스 값에 조건 별로 부가되는 오프셋 값의 합에 의해 지시될 수 있다. 따라서, 이 경우에, 콘텍스트를 지시하는 콘텍스트 지시자는 오프셋 값과 각 빈 인덱스에 의해 지시되는 인덱스 값의 합이라고 할 수 있다. 설명의 편의를 위해 빈에 의해 지시되는 인덱스 값을 빈에 의한 콘텍스트 인덱스(context index by bin)라고 하고, 해당 빈에 적용될 콘텍스트를 지시하는 인덱스를 빈에 대한 콘텍스트 인덱스(context index for bin: ctxIdx)라고 한다.
표 13은 동일한 빈에 대해 상태 정보 또는 조건을 반영하여 서로 다른 콘텍스트를 적용하는 경우에 이용될 수 있는 콘텍스트 테이블의 일 예를 나타낸 것이다.
<표 13>
Figure PCTKR2012002430-appb-I000013
표 13에서, 0~4는 빈 인덱스(binIdx) 값을 나타낸다. 또한, 오프셋 값 A1, A2, A3은 후술하는 예에서와 같이, 서로 다른 값일 수 있다. 빈에 의한 콘텍스트 인덱스, 즉 빈 인덱스 별로 할당된 인덱스(빈에 의한 콘텍스트 인덱스) B0, B1, B2, B3, B4는 전부 또는 일부가 다른 값을 가질 수도 있다.
표 13의 예에서는 빈 인덱스의 최대값(binIdxMax)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 최대값보다 큰 빈 인덱스에 대해서는 가장 큰 빈 인덱스(binIdxMax)에 할당된 콘텍스트 인덱스와 동일한 콘텍스트 인덱스를 이용할 수 있다.
또한, 상술한 바와 같이, 오프셋 값은 소정의 상태 또는 조건에 따라서 설정될 수 있다. 예컨대, 픽처(슬라이스, 프레임) 타입에 따라서 오프셋 값이 설정되는 경우라면, A1은 I 픽처(슬라이스, 프레임)에 대한 오프셋, A2는 P 픽처(슬라이스, 프레임)에 대한 오프셋, A3은 B 픽처(슬라이스, 프레임)에 대한 오프셋일 수 있다.
또한, 오프셋 값은 픽처(슬라이스, 프레임) 타입과 같은 상태 정보 또는 조건으로부터 직접 결정될 수도 있고, 픽처(슬라이스, 프레임) 타입과 같은 상태 정보 또는 조건에 의해 결정되는 소정의 타입 값과 같은 매개값을 통해 결정될 수도 있다.

오프셋 값을 이용함으로써, 상태 정보 또는 조건을 반영하여 각각의 빈에 대해 서로 다른 콘텍스트가 할당되도록 할 수 있다. 상기 표 13이 소정의 신택스(신택스 요소)에 대한 것이라고 할 때, A1, A2, A3의 값이 서로 다르고, B0, B1, B2, B3, B4의 값이 서로 다르다면, 소정의 신택스(신택스 요소)의 코드워드(이진 코드)를 구성하는 각각의 빈에 대해 서로 다른 콘텍스트를 할당할 수 있다.
표 14는 오프셋 값을 픽처(슬라이스, 프레임) 타입에 따라서 달리 설정해서 각각의 빈에 대해 서로 다른 콘텍스트가 할당하는 경우에 이용할 수 있는 콘텍스트 테이블의 일 예를 나타낸 것이다.
<표 14>
Figure PCTKR2012002430-appb-I000014
표 14에서는, 표 13의 오프셋 값과 빈에 의한 콘텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것이다. 표 14에서 오프셋 값과 빈에 의한 콘텍스트 인덱스 값은, 적합한 콘텍스트를 지시하기 위해 표 14에 예시된 값과 다르게 설정될 수 있다.

상태 정보 또는 조건에 따라서 다른 오프셋을 적용함으로써, 조건별로 다른 콘텍스트가 할당되도록 하며, 신택스(신택스 요소)의 코드워드를 구성하는 빈들 중에서 일부 빈에는 동일한 콘텍스트를 공통으로 적용할 수도 있다. 예컨대, 상기 표 13이 소정의 신택스(신택스 요소)에 대한 것이라고 할 때, B0, B1, B2, B3, B4의 값 중 일부가 동일한 값을 가지도록 설정할 수 있다.
표 15는 오프셋 값을 픽처(슬라이스, 프레임) 타입에 따라서 달리 설정하고, 신택스(신택스 요소)의 코드워드를 구성하는 일부 빈들에 대해 동일한 콘텍스트를 공통으로 적용하는 경우에 이용할 수 있는 콘텍스트 테이블의 일 예를 나타낸 것이다.
<표 15>
Figure PCTKR2012002430-appb-I000015
표 15는, 표 13의 오프셋 값과 빈에 의한 콘텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 15에서 오프셋 값과 빈에 의한 콘텍스트 인덱스 값은, 적합한 콘텍스트를 지시하기 위해 표 15에 예시된 값과 다르게 설정될 수 있다.

상태 정보 또는 조건에 따라서 다른 오프셋을 적용함으로써, 조건별로 다른 콘텍스트가 할당되도록 하며, 신택스(신택스 요소)의 코드워드를 구성하는 빈들 중에서 일부 빈에는 독립적인 콘텍스트를 적용하고, 일부 빈들에는 동일한 콘텍스트를 공통으로 적용하며, 일부 빈에는 바이패스 모드를 적용하도록 할 수도 있다. 예컨대, 상기 표 13이 소정의 신택스(신택스 요소)에 대한 것이라고 할 때, B0, B1, B2, B3, B4의 값 중 일부가 동일한 값을 가지도록 하고, B0, B1, B2, B3, B4의 값 중 일부는 구체적인 인덱스 값 대신 바이패스 모드를 지시하도록 설정할 수 있다.
표 16은 슬라이스 타입에 따라서 다른 콘텍스트가 정의되도록 오프셋 값을 설정하고, 일부 빈에는 독립적인 콘텍스트를 적용하며, 일부 빈들에 대해서는 동일한 콘텍스트를 공통으로 적용하고, 일부 빈에는 바이패스(bypass) 모드를 적용하는 경우에 이용할 수 있는 콘텍스트 테이블의 일 예를 나타낸 것이다.
<표 16>
Figure PCTKR2012002430-appb-I000016
표 16이 소정의 신택스(신택스 요소)에 적용된다고 가정할 때, 해당 신택스(신택스 요소)의 코드워드를 구성하는 0번째 빈에 대해서는 빈에 의한 콘텍스트 인덱스로서 0이 할당되고, 1번째 내지 3번째 빈에 대해서는 빈에 의한 콘텍스트 인덱스로서 1이 할당된다. 4번째 빈에 대해서는 바이패스 모드가 적용된다.
표 16은, 표 13의 오프셋 값과 빈에 의한 콘텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 16에서 오프셋 값과 빈에 의한 콘텍스트 인덱스 값은, 적합한 콘텍스트를 지시하기 위해 표 16에 예시된 값과 다르게 설정될 수 있다.

상태 정보 또는 조건에 따라서 다른 오프셋을 적용함으로써, 조건별로 다른 콘텍스트가 할당되도록 하며, 신택스(신택스 요소)의 코드워드를 구성하는 빈들 중에서 일부 빈에는 콘텍스트를 적용하고, 나머지 빈들에는 바이패스 모드를 적용하도록 할 수도 있다. 예컨대, 상기 표 13이 소정의 신택스(신택스 요소)에 대한 것이라고 할 때, B0, B1, B2, B3, B4의 값 중 일부에는 인덱스 값을 설정하고, B0, B1, B2, B3, B4의 값 중 나머지에 대해서는 구체적인 인덱스 값 대신 바이패스 모드를 지시하도록 설정할 수 있다.
표 17은 슬라이스 타입에 따라서 다른 콘텍스트가 정의되도록 오프셋 값을 설정하고, 일부 빈에는 콘텍스트를 적용하며, 나머지 빈들에 대해서는 바이패스(bypass) 모드를 적용하는 경우에 이용할 수 있는 콘텍스트 테이블의 일 예를 나타낸 것이다.
<표 17>
Figure PCTKR2012002430-appb-I000017
표 17이 소정의 신택스(신택스 요소)에 적용된다고 가정할 때, 해당 신택스(신택스 요소)의 코드워드를 구성하는 0번째 빈에 대해서는 빈에 의한 콘텍스트 인덱스로서 0이 할당되고, 1번째 내지 4번째 빈에 대해서는 바이패스 모드가 적용된다.
표 17은, 표 13의 오프셋 값과 빈에 의한 콘텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 17에서 오프셋 값과 빈에 의한 콘텍스트 인덱스 값은, 적합한 콘텍스트를 지시하기 위해 표 17에 예시된 값과 다르게 설정될 수 있다.

상태 정보 또는 조건에 따라서 다른 오프셋을 적용함으로써, 조건별로 다른 콘텍스트가 할당되도록 하며, 신택스(신택스 요소)의 코드워드를 구성하는 빈들 중에서 일부 빈들에는 서로 독립적인 콘텍스트를 적용하고, 나머지 빈들에는 바이패스 모드를 적용하도록 할 수도 있다. 예컨대, 상기 표 13이 소정의 신택스(신택스 요소)에 대한 것이라고 할 때, B0, B1, B2, B3, B4의 값 중 일부에는 서로 다른 인덱스 값을 설정하고, B0, B1, B2, B3, B4의 값 중 나머지에 대해서는 구체적인 인덱스 값 대신 바이패스 모드를 지시하도록 설정할 수 있다.
표 18은 슬라이스 타입에 따라서 다른 콘텍스트가 정의되도록 오프셋 값을 설정하고, 일부 빈들에는 서로 독립적인 콘텍스트를 적용하며, 나머지 빈들에 대해서는 바이패스(bypass) 모드를 적용하는 경우에 이용할 수 있는 콘텍스트 테이블의 일 예를 나타낸 것이다.
<표 18>
Figure PCTKR2012002430-appb-I000018
표 18이 소정의 신택스(신택스 요소)에 적용된다고 가정할 때, 해당 신택스(신택스 요소)의 코드워드를 구성하는 0번째 빈에 대해서는 빈에 의한 콘텍스트 인덱스로서 0이 할당되고, 1번째 빈에 대해서는 빈에 의한 콘텍스트 인덱스로서 1이 할당되며, 2 번째 내지 4번째 빈에 대해서는 바이패스 모드가 적용된다.
표 18은, 표 13의 오프셋 값과 빈에 의한 콘텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 18에서 오프셋 값과 빈에 의한 콘텍스트 인덱스 값은, 적합한 콘텍스트를 지시하기 위해 표 18에 예시된 값과 다르게 설정될 수 있다.

상태 정보 또는 조건에 따라서 다른 오프셋을 적용함으로써, 조건별로 다른 콘텍스트가 할당되도록 하며, 신택스(신택스 요소)의 코드워드를 구성하는 빈들 중에서 일부 빈들에는 동일한 콘텍스트를 공통으로 적용하고, 나머지 빈들에는 바이패스 모드를 적용하도록 할 수도 있다. 예컨대, 상기 표 13이 소정의 신택스(신택스 요소)에 대한 것이라고 할 때, B0, B1, B2, B3, B4의 값 중 일부에는 동일한 인덱스 값을 설정하고, B0, B1, B2, B3, B4의 값 중 나머지에 대해서는 구체적인 인덱스 값 대신 바이패스 모드를 지시하도록 설정할 수 있다.
표 19은 슬라이스 타입에 따라서 다른 콘텍스트가 정의되도록 오프셋 값을 설정하고, 일부 빈들에는 동일한 콘텍스트를 공통으로 적용하며, 나머지 빈들에 대해서는 바이패스(bypass) 모드를 적용하는 경우에 이용할 수 있는 콘텍스트 테이블의 일 예를 나타낸 것이다.
<표 19>
Figure PCTKR2012002430-appb-I000019
표 19가 소정의 신택스(신택스 요소)에 적용된다고 가정할 때, 해당 신택스(신택스 요소)의 코드워드를 구성하는 0번째 빈과 1번째 빈에 대해서는 빈에 의한 콘텍스트 인덱스로서 0이 할당되며, 2 번째 내지 4번째 빈에 대해서는 바이패스 모드가 적용된다.
표 19은, 표 13의 오프셋 값과 빈에 의한 콘텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 19에서 오프셋 값과 빈에 의한 콘텍스트 인덱스 값은, 적합한 콘텍스트를 지시하기 위해 표 19에 예시된 값과 다르게 설정될 수 있다.

상태 정보 또는 조건에 따라서 다른 오프셋을 적용함으로써, 조건별로 다른 콘텍스트가 할당되도록 하며, 신택스(신택스 요소)의 코드워드를 구성하는 빈들 중에서 하나의 빈에는 바이패스 모드를 적용하고, 나머지 빈들에는 동일한 콘텍스트를 공통으로 적용하도록 할 수도 있다. 예컨대, 상기 표 13이 소정의 신택스(신택스 요소)에 대한 것이라고 할 때, B0, B1, B2, B3, B4의 값 중 하나의 빈에 대해서는 구체적인 구체적인 인덱스 값 대신에 바이패스 모드를 지시하고, B0, B1, B2, B3, B4의 값 중 나머지에 대해서는 동일한 인덱스 값을 설정할 수 있다.
표 20은 슬라이스 타입에 따라서 다른 콘텍스트가 정의되도록 오프셋 값을 설정하고, 하나의 빈에 대해서는 바이패스(bypass) 모드를 적용하고, 나머지 빈들에 대해서는 동일한 콘텍스트를 공통으로 적용하는 경우에 이용할 수 있는 콘텍스트 테이블의 일 예를 나타낸 것이다.
<표 20>
Figure PCTKR2012002430-appb-I000020
표 20이 소정의 신택스(신택스 요소)에 적용된다고 가정할 때, 해당 신택스(신택스 요소)의 코드워드를 구성하는 0번째 빈 내지 3번째 빈에 대해서는 빈에 의한 콘텍스트 인덱스로서 0이 할당되며, 4번째 빈에 대해서는 바이패스 모드가 적용된다.
표 20은, 표 13의 오프셋 값과 빈에 의한 콘텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 20에서 오프셋 값과 빈에 의한 콘텍스트 인덱스 값은, 적합한 콘텍스트를 지시하기 위해 표 20에 예시된 값과 다르게 설정될 수 있다.

한편, 표 13 내지 표 20은 신택스에 대한 코드워드가 5개의 빈으로 구성되는 경우를 예로서 설명하고 있으나, 본 발명은 이에 한정되지 않는다. 만약, 표 13 내지 표 20이 적용되는 신택스(신택스 요소)의 코드워드가 5개 미만의 빈, 예컨대 n(n<5) 개의 빈으로 구성된다면, n-1보다 크고 4보다 같거나 작은 빈 인덱스에는 빈에 의한 콘텍스트 인덱스가 할당되지 않거나 na(not available)로 할당된다. 만약, 표 14가 적용되는 신택스(신택스 요소)의 코드워드가 5개 이상의 빈으로 구성된다면, 5 번째 이후의 빈에 대해서는 5번째 빈에 의한 콘텍스트 인덱스와 동일한 값이 해당 빈에 의한 콘텍스트 인덱스로 할당될 수 있다.
또한, 표 13 내지 표 20에서는 동일한 빈에 대해서, 빈에 의한 콘텍스트 인덱스가 동일한 경우를 설명하였으나, 본 발명은 이에 한정되지 않으며, 빈에 의한 콘텍스트 인덱스의 값은 오프셋에 따라서 다르게 설정될 수도 있다. 예컨대, 표 13에서 A1 내지 A3에 대해서, Bi(i=0,1, 2, 3, 4) 값들을 다르게 설정할 수도 있다. 구체적으로, A1에 대한 B0의 값, A2에 대한 B0의 값, A3에 대한 B0의 값 중 적어도 하나를 다른 B0 값과 상이하게 설정할 수도 있다.

상술한 표 13 내지 표 20의 예들은 코딩 과정에서 전송되는 신택스(신택스 요소)에 적용될 수 있다. 예컨대, 앞서 언급한 신택스 요소 intra_chroma_pred_mode 뿐만 아니라, 다양한 신택스 요소에도 상술한 내용과 동일하게 적용할 수 있다.
표 21은 다양한 신택스 요소에 상술한 내용을 적용한 일 예를 나타낸 것이다.
<표 21>
[규칙 제26조에 의한 보정 09.04.2012] 
Figure WO-DOC-320
표 21의 예에 의하면, 빈 인덱스(binIdx)별로 빈에 의한 콘텍스트 인덱스가 지시된다. 오프셋 ctxIdxOffset의 값과 빈에 의한 콘텍스트 인덱스 값의 합으로 빈에 대한 콘텍스트 인덱스가 결정된다.
소정의 신택스 요소의 특정 빈에 대해 결정된 콘텍스트 인덱스는 해당 신택스 요소에 대한 콘텍스트 인덱스 테이블 ctxIdxTable가 지시하는 테이블에서 상기 특정 빈에 적용할 콘텍스트를 지시할 수 있다.

한편, 빈에 의한 콘텍스트 인덱스의 값은 블록의 정보(예컨대, 블록의 상태 또는 블록의 조건에 관한 정보)를 기반으로 결정될 수도 있다. 이때, 블록의 정보는 디코딩 대상 블록의 정보뿐만 아니라, 디코딩 대상 블록의 주변 블록에 대한 정보를 포함한다. 또한, 이용되는 블록의 정보는 코딩 블록의 정보일 수도 있고, 예측 블록의 정보일 수도 있으며, 변환 유닛의 정보일 수도 있다.예컨대, cbf_luma와 cbf_cb, cbf_cr와 같은 신택스 요소의 콘텍스트를 결정할 때 블록의 정보를 이용할 수 있다. 신택스 요소 cbf_luma와 cbf_cb, cbf_cr는 쿼드 트리 구조에서 현재 블록에서 더 분할되는 블록에 루마 레지듀얼 신호가 있는지, 크로마 레지듀얼 신호가 있는지를 지시하는 정보를 나타내는 신택스 요소이다.
구체적으로, cbf_luma와 cbf_cb, cbf_cr 각각을 코딩(인코딩/디코딩)할 때, 주변 블록의 cbf(Coded Block Flag) 정보뿐만 아니라, 주변 파티션(블록)의 코딩 유닛 깊이 및/또는 변환 유닛 깊이를 고려하여 cbf_luma와 cbf_cb, cbf_cr에 대한 콘텍스트를 정해줄 수 있다. 예를 들어, 코딩 유닛의 깊이와 변환 유닛의 깊이를 이용해서 현재 변환 유닛의 사이즈를 구할 수 있는데, 이때 주변 파티션의 변환 유닛 사이즈를 고려하여 콘텍스트를 구분 또는 지정할 수 있다.

또한, 주변 파티션의 변환 유닛 사이즈와 해당 파티션의 cbf를 이용하여 콘텍스트를 구분 또는 지정할 수도 있다. 예컨대, cbf_luma의 콘텍스트를 구분하거나 지정하는 경우에, (1) 현재 블록의 주변 예컨대, 현재 블록의 좌측과 상측 두 방향에 있는 블록들에 대한 cbf_luma의 값이 모두 0이고, 변환 유닛의 사이즈가 현재 변환 유닛의 사이즈보다 크거나 같은 경우, (2) 현재 블록의 주변 예컨대, 현재 블록의 좌측과 상측 두 방향의 블록들 중 어느 한 방향의 블록에 대한 cbf_luma의 값이 0이고, 변환 유닛의 사이즈가 현재 변환 유닛의 사이즈보다 크거나 같은 경우, (3) 현재 블록의 주변 예컨대, 현재 블록의 좌측과 상측 두 방향에 있는 블록들에 대한 cbf_luma의 값이 모두 1이거나, 변환 유닛의 사이즈가 현재 변환 유닛의 사이즈보다 작은 경우로 나누어 cbf_luma에 대한 콘텍스트를 적용할 수 있다.
상술한 cbf_luma에 대한 설명은 cbf_cb 와 cbf_cr에도 동일하게 적용할 수 있다. 예컨대, cbf_cr에 대하여, (1) 현재 블록의 주변 예컨대, 현재 블록의 좌측과 상측 두 방향에 있는 블록들에 대한 cbf_cr의 값이 모두 0이고, 변환 유닛의 사이즈가 현재 변환 유닛의 사이즈보다 크거나 같은 경우, (2) 현재 블록의 주변 예컨대, 현재 블록의 좌측과 상측 두 방향의 블록들 중 어느 한 방향의 블록에 대한 cbf_cr의 값이 0이고, 변환 유닛의 사이즈가 현재 변환 유닛의 사이즈보다 크거나 같은 경우, (3) 현재 블록의 주변 예컨대, 현재 블록의 좌측과 상측 두 방향에 있는 블록들에 대한 cbf_cr의 값이 모두 1이거나, 변환 유닛의 사이즈가 현재 변환 유닛의 사이즈보다 작은 경우로 나누어 cbf_cr에 대한 콘텍스트를 적용할 수 있다.
또한, cbf_cb에 대해서도, 1) 현재 블록의 주변 예컨대, 현재 블록의 좌측과 상측 두 방향에 있는 블록들에 대한 cbf_cb의 값이 모두 0이고, 변환 유닛의 사이즈가 현재 변환 유닛의 사이즈보다 크거나 같은 경우, (2) 현재 블록의 주변 예컨대, 현재 블록의 좌측과 상측 두 방향의 블록들 중 어느 한 방향의 블록에 대한 cbf_cb의 값이 0이고, 변환 유닛의 사이즈가 현재 변환 유닛의 사이즈보다 크거나 같은 경우, (3) 현재 블록의 주변 예컨대, 현재 블록의 좌측과 상측 두 방향에 있는 블록들에 대한 cbf_cb의 값이 모두 1이거나, 변환 유닛의 사이즈가 현재 변환 유닛의 사이즈보다 작은 경우로 나누어 cbf_cb에 대한 콘텍스트를 적용할 수 있다.

현재 변환 유닛의 사이즈와 동일한 크기의 주변 파티션에서 cbf의 비율을 고려하여 콘텍스트를 구분 또는 지정할 수도 있다. 예컨대, cbf_luma에 대한 콘텍스트를 구분 또는 지정할 때, (1) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 현재 변환 유닛의 사이즈와 같은 크기의 주변 파티션에서 cbf_luma의 값이 0인 비율이 50% 이상인 경우, (2) 현재 블록의 주변(예컨대 좌측 및 상측) 중 한 방향에서만, 현재 변환 유닛의 사이즈와 같은 크기의 주변 파티션에서 cbf_luma의 값이 0인 비율이 50% 이상인 경우, (3) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 현재 변환 유닛의 사이즈와 같은 크기의 주변 파티션에서 cbf_luma의 값이 0인 비율이 50% 미만인 경우로 나누어 cbf_luma에 대한 콘텍스트를 구분하거나 지정할 수 있다.
상술한 cbf_luma에 대한 설명은 cbf_cb 와 cbf_cr에도 동일하게 적용할 수 있다.
예컨대, cbf_cr에 대해서도, (1) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 현재 변환 유닛의 사이즈와 같은 크기의 주변 파티션에서 cbf_cr의 값이 0인 비율이 50% 이상인 경우, (2) 현재 블록의 주변(예컨대 좌측 및 상측) 중 한 방향에서만, 현재 변환 유닛의 사이즈와 같은 크기의 주변 파티션에서 cbf_cr의 값이 0인 비율이 50% 이상인 경우, (3) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 현재 변환 유닛의 사이즈와 같은 크기의 주변 파티션에서 cbf_cr의 값이 0인 비율이 50% 미만인 경우로 나누어 cbf_cr에 대한 콘텍스트를 구분하거나 지정할 수 있다.
cbf_cb에 대해서도, (1) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 현재 변환 유닛의 사이즈와 같은 크기의 주변 파티션에서 cbf_cb의 값이 0인 비율이 50% 이상인 경우, (2) 현재 블록의 주변(예컨대 좌측 및 상측) 중 한 방향에서만, 현재 변환 유닛의 사이즈와 같은 크기의 주변 파티션에서 cbf_cb의 값이 0인 비율이 50% 이상인 경우, (3) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 현재 변환 유닛의 사이즈와 같은 크기의 주변 파티션에서 cbf_cb의 값이 0인 비율이 50% 미만인 경우로 나누어 cbf_cb에 대한 콘텍스트를 구분하거나 지정할 수 있다.

주변의 여러 파티션에서 cbf의 비율을 고려하여 콘텍스트를 구분하거나 지정할 수도 있다. 단순히 주변의 여러 파티션의 cbf를 고려하여 콘텍스트를 구분하거나 지정할 수도 있다. 예컨대, cbf_luma에 대한 콘텍스트를 구분하거나 지정할 때, (1) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 샘플 파티션들의 cbf_luma 값이 모두 0인 경우, (2) 현재 블록의 주변(예컨대 좌측 및 상측) 중 한 방향에 대하여만, 샘플 파티션들의 cbf_luma 값이 0인 경우, (3) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 샘플 파티션들의 cbf_luma 값 중 1이 있는 경우로 나누어 cbf_luma에 대한 콘텍스트를 구분하거나 할당할 수 있다.
상술한 cbf_luma에 대한 설명은 cbf_cb 와 cbf_cr에도 동일하게 적용할 수 있다.
예컨대, cbf_cr에 대하여도, (1) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 샘플 파티션들의 cbf_cr 값이 모두 0인 경우, (2) 현재 블록의 주변(예컨대 좌측 및 상측) 중 한 방향에 대하여만, 샘플 파티션들의 cbf_cr 값이 0인 경우, (3) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 샘플 파티션들의 cbf_cr 값 중 1이 있는 경우로 나누어 cbf_cr에 대한 콘텍스트를 구분하거나 할당할 수 있다.
cbf_cb의 경우에도, (1) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 샘플 파티션들의 cbf_cb 값이 모두 0인 경우, (2) 현재 블록의 주변(예컨대 좌측 및 상측) 중 한 방향에 대하여만, 샘플 파티션들의 cbf_cb 값이 0인 경우, (3) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 샘플 파티션들의 cbf_cb 값 중 1이 있는 경우로 나누어 cbf_cb에 대한 콘텍스트를 구분하거나 할당할 수 있다.

주변의 파티션을 선택하는 방법으로서, 가능한 최소 변환 유닛 단위와 같이 정해진 유닛 단위로 선택하는 방법을 이용할 수 있다. 이때, 가능한 최소 변환 유닛 단위는 RQT(Residual Quadtree) 최대 깊이를 이용하여 결정할 수 있다.
주변의 파티션을 선택하는 다른 방법으로서, 가능한 최소 변환 유닛 단위로 소정 개수를 선택하는 방법을 이용할 수도 있다. 예컨대, 주변의 파티션들 중에서 가능한 최소 변환 유닛 단위로 2 개의 파티션을 선택하도록 할 수도 있다.

한편, cbf_luma, cbf_cr, cbf_cb에 대하여 콘텍스트를 구분하거나 지정하기 위해 적용하는 상술한 방법을 그 외의 신택스 요소, 예컨대 잔차 신호의 존부를 지시하는 no_residual_data_flag에도 동일하게 적용할 수 있다.
예컨대, 주변 파티션의 변환 유닛 사이즈와 해당 파티션의 no_residual_data_flag를 이용하여 콘텍스트를 구분 또는 지정할 수도 있다. 구체적으로, no_residual_data_flag의 콘텍스트를 구분하거나 지정하는 경우에, (1) 현재 블록의 주변 예컨대, 현재 블록의 좌측과 상측 두 방향에 있는 블록들에 대한 no_residual_data_flag의 값이 모두 0이고, 변환 유닛의 사이즈가 현재 변환 유닛의 사이즈보다 크거나 같은 경우, (2) 현재 블록의 주변 예컨대, 현재 블록의 좌측과 상측 두 방향의 블록들 중 어느 한 방향의 블록에 대한 no_residual_data_flag의 값이 0이고, 변환 유닛의 사이즈가 현재 변환 유닛의 사이즈보다 크거나 같은 경우, (3) 현재 블록의 주변 예컨대, 현재 블록의 좌측과 상측 두 방향에 있는 블록들에 대한 no_residual_data_flag의 값이 모두 1이거나, 변환 유닛의 사이즈가 현재 변환 유닛의 사이즈보다 작은 경우로 나누어 no_residual_data_flag에 대한 콘텍스트를 적용할 수 있다.
또한, 현재 변환 유닛의 사이즈와 동일한 크기의 주변 파티션에서 no_residual_data_flag의 비율을 고려하여 콘텍스트를 구분 또는 지정할 수도 있다. 예컨대, no_residual_data_flag에 대한 콘텍스트를 구분 또는 지정할 때, (1) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 현재 변환 유닛의 사이즈와 같은 크기의 주변 파티션에서 no_residual_data_flag의 값이 0인 비율이 50% 이상인 경우, (2) 현재 블록의 주변(예컨대 좌측 및 상측) 중 한 방향에서만, 현재 변환 유닛의 사이즈와 같은 크기의 주변 파티션에서 no_residual_data_flag의 값이 0인 비율이 50% 이상인 경우, (3) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 현재 변환 유닛의 사이즈와 같은 크기의 주변 파티션에서 no_residual_data_flag의 값이 0인 비율이 50% 미만인 경우로 나누어 no_residual_data_flag에 대한 콘텍스트를 구분하거나 지정할 수 있다.
또한, 주변의 여러 파티션에서 no_residual_data_flag의 비율을 고려하여 콘텍스트를 구분하거나 지정할 수도 있다. 단순히 주변의 여러 파티션의 no_residual_data_flag를 고려하여 콘텍스트를 구분하거나 지정할 수도 있다. 예컨대, no_residual_data_flag에 대한 콘텍스트를 구분하거나 지정할 때, (1) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 샘플 파티션들의 no_residual_data_flag 값이 모두 0인 경우, (2) 현재 블록의 주변(예컨대 좌측 및 상측) 중 한 방향에 대하여만, 샘플 파티션들의 no_residual_data_flag 값이 0인 경우, (3) 현재 블록의 주변(예컨대 좌측 및 상측) 두 방향 모두에 대하여, 샘플 파티션들의 no_residual_data_flag 값 중 1이 있는 경우로 나누어 no_residual_data_flag에 대한 콘텍스트를 구분하거나 할당할 수 있다.

표 22는 빈에 의한 콘텍스트 인덱스의 값이 주변의 정보를 기반으로 결정되는 경우에 적용될 수 있는 콘텍스트 테이블의 일 예를 나타낸 것이다.
<표 22>
Figure PCTKR2012002430-appb-I000022
표 22를 참조하면, 신택스 요소 split_transform_flag의 코드워드를 구성하는 빈들 중에서 0번째 빈에 의한 콘텍스트 인덱스의 값은 블록 정보에 의해 결정될 수 있다. 예컨대 split_transform_flag의 0번째 빈에 의한 콘텍스트 인덱스 값은 코딩 유닛의 깊이와 변환 유닛의 깊이 정보에 의해 결정된다.
또한, 표 22의 예에서 신택스 요소 cbf_luma와 cbf_cb, cbf_cr의 코드워드를 구성하는 빈들 중에서 0번째 빈에 의한 콘텍스트 인덱스의 값은 주변 블록 정보, 예컨대 변환 유닛의 깊이 정보에 의해 결정된다. 예컨대, 신택스 요소 cbf_luma의 경우에, 0번째 빈에 대해서는 변환 유닛의 깊이가 0이거나, 변환 유닛의 사이즈가 최대 사이즈인 경우에, 빈에 의한 콘텍스트 인덱스로서 1의 값이 할당될 수 있다.

상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다.
따라서, 본 발명은 상술한 실시예들을 동시에 적용하거나 조합하여 적용하는 실시 형태를 포함한다.


Claims (15)

  1. 신택스 요소의 빈을 디코딩하는 단계; 및
    상기 디코딩된 빈을 기반으로 상기 신택스 요소의 정보를 획득하는 단계를 포함하며,
    상기 빈의 디코딩 단계에서는,
    상기 신택스 요소의 각 빈들에 대하여, 콘텍스트에 기반한 디코딩 또는 바이패스 디코딩을 수행하는 것을 특징으로 하는 엔트로피 디코딩 방법.
  2. 제1항에 있어서, 상기 빈의 디코딩 단계에서는,
    상기 신택스 요소의 각 빈들에 대하여 서로 독립적인 콘텍스트를 적용하는 것을 특징으로 하는 엔트로피 디코딩 방법.
  3. 제1항에 있어서, 상기 빈의 디코딩 단계에서는,
    상기 신택스 요소의 빈들 중에서 일부 빈들에 대해서는 바이패스 모드를 적용하고, 나머지 빈들에 대해서는 서로 독립적인 콘텍스트를 적용하는 것을 특징으로 하는 엔트로피 디코딩 방법.
  4. 제1항에 있어서, 상기 빈의 디코딩 단계에서,
    콘텍스트를 기반으로 디코딩되는 빈에는 독립적인 콘텍스트가 적용되며,
    상기 독립적인 콘텍스트는 다른 콘텍스트와 별도로 갱신되는 콘텍스트인 것을 특징으로 하는 엔트로피 디코딩 방법.
  5. 제1항에 있어서, 상기 빈의 디코딩 단계는,
    상기 신택스 요소의 빈을 바이패스 디코딩할 것인지를 판단하고,
    상기 상기 빈을 바이패스 디코딩 하지 않는 것으로 판단한 경우에는 콘텍스트에 기반한 디코딩을 수행하는 것을 특징으로 하는 엔트로피 디코딩 방법.
  6. 제1항에 있어서, 상기 빈의 디코딩 단계에서는,
    콘텍스트 인덱스를 할당하는 콘텍스트 인덱스 테이블상에서 상기 신택스 요소의 빈에 대해 할당되는 콘텍스트 인덱스에 기반하여 디코딩을 수행하는 것을 특징으로 하는 엔트로피 디코딩 방법.
  7. 제6항에 있어서, 상기 콘텍스트 인덱스 테이블은,
    상기 신택스 요소의 빈들 중 일부 빈에 대해서는 동일한 콘텍스트 인덱스를 할당하는 것을 특징으로 하는 엔트로피 디코딩 방법.
  8. 제6항에 있어서, 상기 콘텍스트 인덱스 테이블은,
    상기 신택스 요소의 빈들 중 일부 빈에 대해서는 동일한 콘텍스트 인덱스를 할당하고, 다른 일부 빈에 대해서는 바이패스 모드를 할당하는 것을 특징으로 하는 엔트로피 디코딩 방법.
  9. 제1항에 있어서, 상기 빈의 디코딩 단계에서는 콘텍스트 인덱스 테이블을 이용하여 디코딩을 수행하며,
    상기 콘텍스트 인덱스 테이블은, 상기 신택스 요소의 빈들에 대한 콘텍스트 인덱스와 코딩 대상 픽처의 타입에 따른 오프셋을 할당하고,
    상기 신택스 요소의 빈은 상기 콘텍스트 인덱스와 상기 오프셋의 합에 의해 지시되는 콘텍스트에 기반하여 디코딩되는 것을 특징으로 하는 엔트로피 디코딩 방법.
  10. 제9항에 있어서, 상기 콘텍스트 인덱스 테이블은,
    상기 신택스 요소의 빈들 중 일부 빈에 대해서는 동일한 콘텍스트 인덱스를 할당하는 것을 특징으로 하는 엔트로피 디코딩 방법.
  11. 제9항에 있어서, 상기 콘텍스트 인덱스 테이블은,
    상기 신택스 요소의 빈들 중 일부 빈에 대해서는 동일한 콘텍스트 인덱스를 할당하고, 다른 일부 빈에 대해서는 바이패스 모드를 할당하는 것을 특징으로 하는 엔트로피 디코딩 방법.
  12. 신택스 요소의 빈을 디코딩하는 엔트로피 디코딩부; 및
    상기 디코딩된 신택스 요소를 기반으로 예측 블록을 생성하는 예측부를 포함하며,
    상기 엔트로피 디코딩부는 신택스 요소의 각 빈들에 대하여, 콘텍스트에 기반한 디코딩 또는 바이패스 디코딩을 수행하는 것을 특징으로 하는 엔트로피 디코딩 장치.
  13. 제12항에 있어서, 상기 엔트로피 디코딩부는,
    상기 신택스 요소의 빈들 중에서 일부 빈들에 대해서는 바이패스 모드를 적용하고, 나머지 빈들에 대해서는 서로 독립적인 콘텍스트를 적용하는 것을 특징으로 하는 엔트로피 디코딩 장치.
  14. 제12항에 있어서, 상기 엔트로피 디코딩부는,
    콘텍스트 인덱스를 할당하는 콘텍스트 인덱스 테이블상에서 상기 신택스 요소의 빈에 대해 할당되는 콘텍스트 인덱스에 기반하여 디코딩을 수행하는 것을 특징으로 하는 엔트로피 디코딩 장치.
  15. 제12항에 있어서, 상기 엔트로피 디코딩부는 콘텍스트 인덱스 테이블을 이용하여 디코딩을 수행하며,
    상기 콘텍스트 인덱스 테이블은, 상기 신택스 요소의 빈들에 대한 콘텍스트 인덱스와 코딩 대상 픽처의 타입에 따른 오프셋을 할당하고,
    상기 신택스 요소의 빈은 상기 콘텍스트 인덱스와 상기 오프셋의 합에 의해 지시되는 콘텍스트에 기반하여 디코딩되는 것을 특징으로 하는 엔트로피 디코딩 장치.
PCT/KR2012/002430 2011-04-01 2012-03-20 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치 WO2012134246A2 (ko)

Priority Applications (15)

Application Number Priority Date Filing Date Title
EP12765408.5A EP2696582A4 (en) 2011-04-01 2012-03-30 ENTROPIC DECODING METHOD AND DECODING APPARATUS USING THE SAME
KR1020227000573A KR102465116B1 (ko) 2011-04-01 2012-03-30 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
US14/009,150 US9602843B2 (en) 2011-04-01 2012-03-30 Entropy decoding method using context information
KR1020137028701A KR102033106B1 (ko) 2011-04-01 2012-03-30 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
JP2014502486A JP5723057B2 (ja) 2011-04-01 2012-03-30 エントロピ復号方法及びそれを利用する復号装置
KR1020207022726A KR102235636B1 (ko) 2011-04-01 2012-03-30 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
CN201280025383.7A CN103621099B (zh) 2011-04-01 2012-03-30 熵解码方法和使用其的解码装置
KR1020217009360A KR102350072B1 (ko) 2011-04-01 2012-03-30 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
KR1020227038687A KR102645557B1 (ko) 2011-04-01 2012-03-30 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
KR1020197029807A KR102143605B1 (ko) 2011-04-01 2012-03-30 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
US14/673,190 US9420313B2 (en) 2011-04-01 2015-03-30 Entropy decoding method, and decoding apparatus using same
US15/151,257 US10015523B2 (en) 2011-04-01 2016-05-10 Entropy decoding method, and decoding apparatus using same
US15/997,464 US10841622B2 (en) 2011-04-01 2018-06-04 Entropy encoding method, entropy decoding method, and apparatus using same
US17/074,319 US11616989B2 (en) 2011-04-01 2020-10-19 Entropy decoding method, and decoding apparatus using same
US18/111,156 US20230209098A1 (en) 2011-04-01 2023-02-17 Entropy decoding method, and decoding apparatus using same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161470502P 2011-04-01 2011-04-01
US61/470,502 2011-04-01
US201261582804P 2012-01-03 2012-01-03
US61/582,804 2012-01-03

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/009,150 A-371-Of-International US9602843B2 (en) 2011-04-01 2012-03-30 Entropy decoding method using context information
US14/673,190 Continuation US9420313B2 (en) 2011-04-01 2015-03-30 Entropy decoding method, and decoding apparatus using same

Publications (2)

Publication Number Publication Date
WO2012134246A2 true WO2012134246A2 (ko) 2012-10-04
WO2012134246A3 WO2012134246A3 (ko) 2013-01-03

Family

ID=46932188

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/002430 WO2012134246A2 (ko) 2011-04-01 2012-03-20 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치

Country Status (6)

Country Link
US (6) US9602843B2 (ko)
EP (1) EP2696582A4 (ko)
JP (9) JP5723057B2 (ko)
KR (6) KR102465116B1 (ko)
CN (5) CN107454407A (ko)
WO (1) WO2012134246A2 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014107065A1 (ko) * 2013-01-04 2014-07-10 삼성전자 주식회사 슬라이스 세그먼트의 엔트로피 부호화 방법 및 그 장치, 슬라이스 세그먼트의 엔트로피 복호화 방법 및 그 장치
JP2015149774A (ja) * 2011-06-28 2015-08-20 サムスン エレクトロニクス カンパニー リミテッド 算術符号化を伴ったビデオ符号化方法及びその装置、ビデオ復号化方法及びその装置
JP2015526014A (ja) * 2012-07-02 2015-09-07 サムスン エレクトロニクス カンパニー リミテッド ビデオのエントロピー符号化方法及びその装置、並びにビデオのエントロピー復号化方法及びその装置
JP2015164328A (ja) * 2011-06-09 2015-09-10 クゥアルコム・インコーポレイテッドQualcomm Incorporated 隣接モードを使用したビデオコーディングのための拡張イントラ予測モードシグナリング
JP2016226027A (ja) * 2011-07-18 2016-12-28 サン パテント トラスト 復号方法および復号装置
JP2017525220A (ja) * 2014-06-20 2017-08-31 寰發股▲ふん▼有限公司HFI Innovation Inc. ビデオ符号化における構文の2値化とコンテキスト適応型符号化の方法と装置
WO2020242181A1 (ko) * 2019-05-27 2020-12-03 에스케이텔레콤 주식회사 인트라 모드 후보 구성 방법 및 영상 복호화 장치

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012078001A2 (ko) 2010-12-08 2012-06-14 엘지전자 주식회사 인트라 예측 방법과 이를 이용한 부호화 장치 및 복호화 장치
US8995523B2 (en) * 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
US9338465B2 (en) * 2011-06-30 2016-05-10 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
US11647197B2 (en) 2011-06-30 2023-05-09 Velos Media, Llc Context initialization based on slice header flag and slice type
WO2013017092A1 (en) * 2011-08-04 2013-02-07 Mediatek Inc. Method and apparatus for reordered binarization of syntax elements in cabac
US9253482B2 (en) 2011-11-08 2016-02-02 Texas Insturments Incorporated Method and apparatus for sample adaptive offset without sign coding
US9277194B2 (en) 2011-11-08 2016-03-01 Texas Instruments Incorporated Method and apparatus for image and video coding using hierarchical sample adaptive band offset
US9264706B2 (en) * 2012-04-11 2016-02-16 Qualcomm Incorporated Bypass bins for reference index coding in video coding
US20130294513A1 (en) * 2012-05-07 2013-11-07 Qualcomm Incorporated Inter layer merge list construction for video coding
CN108712652A (zh) 2012-06-29 2018-10-26 韩国电子通信研究院 视频编码方法和计算机可读介质
EP2920964B1 (en) * 2013-03-26 2018-05-09 MediaTek Inc. Method of cross color intra prediction
WO2015113510A1 (en) * 2014-01-29 2015-08-06 Mediatek Inc. Method and apparatus for adaptive motion vector precision
US9936201B2 (en) 2015-01-27 2018-04-03 Qualcomm Incorporated Contexts for large coding tree units
US10574993B2 (en) 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
US10368072B2 (en) * 2015-05-29 2019-07-30 Qualcomm Incorporated Advanced arithmetic coder
WO2017041271A1 (en) * 2015-09-10 2017-03-16 Mediatek Singapore Pte. Ltd. Efficient context modeling for coding a block of data
WO2017086765A2 (ko) * 2015-11-22 2017-05-26 엘지전자(주) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
US9521218B1 (en) * 2016-01-21 2016-12-13 International Business Machines Corporation Adaptive compression and transmission for big data migration
WO2018186510A1 (ko) * 2017-04-06 2018-10-11 엘지전자(주) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
CN110620932B (zh) 2018-06-19 2022-11-08 北京字节跳动网络技术有限公司 依赖模式的运动矢量差精度集
CN110933420B (zh) 2018-09-19 2023-09-01 北京字节跳动网络技术有限公司 仿射模式中自适应运动矢量分辨率的快速算法
EP3866470A4 (en) * 2018-10-10 2022-07-20 Samsung Electronics Co., Ltd. VIDEO ENCODING AND DECODING METHODS USING DIFFERENTIAL MOTION VECTOR VALUES, AND APPARATUS FOR ENCODING AND DECODING MOTION INFORMATION
CN112913249B (zh) 2018-10-22 2022-11-08 北京字节跳动网络技术有限公司 广义双向预测索引的简化编解码
CN111373754A (zh) * 2018-10-23 2020-07-03 北京字节跳动网络技术有限公司 仿射编码的自适应控制点选择
CN113170209A (zh) * 2018-11-21 2021-07-23 韩国电子通信研究院 图像编码/解码方法和设备以及存储比特流的记录介质
US11470329B2 (en) 2018-12-26 2022-10-11 Tencent America LLC Method and apparatus for video coding
CN111435993B (zh) * 2019-01-14 2022-08-26 华为技术有限公司 视频编码器、视频解码器及相应方法
EP3895429A4 (en) 2019-01-31 2022-08-10 Beijing Bytedance Network Technology Co., Ltd. CONTEXT FOR CODE AN ADAPTIVE MOTION VECTOR RESOLUTION IN AFFINE MODE
CN113661709A (zh) * 2019-03-27 2021-11-16 北京字节跳动网络技术有限公司 仿射高级运动矢量预测中的运动信息精度对齐
CN113382254B (zh) * 2019-06-21 2022-05-17 杭州海康威视数字技术股份有限公司 一种编解码方法、装置、设备及存储介质
US11949870B2 (en) * 2019-06-21 2024-04-02 Qualcomm Incorporated Context modeling for low-frequency non-separable transformation signaling for video coding
GB2585040A (en) * 2019-06-25 2020-12-30 Sony Corp Image data encoding and decoding
KR20220073834A (ko) * 2019-11-05 2022-06-03 엘지전자 주식회사 영상/비디오 코딩을 위한 상위 레벨 신택스 시그널링 방법 및 장치
WO2021091254A1 (ko) 2019-11-05 2021-05-14 엘지전자 주식회사 영상/비디오 코딩 시스템에서 픽처 헤더에서 슬라이스 타입에 관한 정보를 시그널링하는 방법 및 장치
CA3160471A1 (en) * 2019-11-05 2021-05-14 Lg Electronics Inc. Image/video coding method and device
US20220400275A1 (en) * 2021-06-10 2022-12-15 Tencent America LLC Zero Residual Flag Coding

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7286710B2 (en) * 2003-10-01 2007-10-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Coding of a syntax element contained in a pre-coded video signal
KR100624432B1 (ko) 2004-08-05 2006-09-19 삼성전자주식회사 내용 기반 적응적 이진 산술 복호화 방법 및 장치
EP1911290A4 (en) 2005-07-08 2010-04-28 Lg Electronics Inc METHOD FOR MODELING A VIDEO SIGNAL CODE INFORMATION FOR COMPRESSING / DECOMPRIMING CODING INFORMATION
CN100584025C (zh) * 2005-08-04 2010-01-20 华为技术有限公司 一种基于内容自适应的算术解码系统及装置
CN100466739C (zh) * 2005-10-12 2009-03-04 华为技术有限公司 Cabac解码系统及方法
US8446960B2 (en) * 2006-01-13 2013-05-21 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Picture coding using adaptive color space transformation
US7626518B2 (en) * 2006-06-08 2009-12-01 Via Technologies, Inc. Decoding systems and methods in computational core of programmable graphics processing unit
US7554468B2 (en) * 2006-08-25 2009-06-30 Sony Computer Entertainment Inc, Entropy decoding methods and apparatus using most probable and least probable signal cases
KR101148614B1 (ko) * 2007-09-06 2012-05-25 닛본 덴끼 가부시끼가이샤 영상 부호화 장치 및 영상 부호화 방법
US8391952B2 (en) 2007-10-11 2013-03-05 General Electric Company Coil arrangement for an electromagnetic tracking system
US7777654B2 (en) * 2007-10-16 2010-08-17 Industrial Technology Research Institute System and method for context-based adaptive binary arithematic encoding and decoding
JP2009231914A (ja) * 2008-03-19 2009-10-08 Sony Corp 復号装置、復号処理方法およびプログラム
CN101267559A (zh) * 2008-05-08 2008-09-17 上海交通大学 视频解码器的通用熵解码方法及装置
CN101583029B (zh) * 2008-05-13 2011-01-19 联咏科技股份有限公司 熵解码电路与方法、以及使用流水线方式的熵解码方法
US7714754B2 (en) * 2008-07-14 2010-05-11 Vixs Systems, Inc. Entropy decoder with pipelined processing and methods for use therewith
JP5373910B2 (ja) * 2008-08-19 2013-12-18 トムソン ライセンシング Cabacストリームのコンプライアンス
KR20100058264A (ko) * 2008-11-24 2010-06-03 나노케미칼 주식회사 광촉매 실리카겔 및 이의 제조방법
CN103119849B (zh) * 2010-04-13 2017-06-16 弗劳恩霍夫应用研究促进协会 概率区间分割编码器和译码器
CN101873496B (zh) * 2010-05-24 2012-02-29 杭州海康威视软件有限公司 一种h.264的基于上下文自适应变长解码方法及装置
US8913662B2 (en) * 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
WO2012092761A1 (en) * 2011-01-07 2012-07-12 Mediatek Singapore Pte. Ltd. Method and apparatus for improved intra prediction mode coding
RU2601167C2 (ru) * 2011-07-18 2016-10-27 Сан Пэтент Траст Способ кодирования изображения, способ декодирования изображения, устройство кодирования изображения, устройство декодирования изображения и устройство кодирования и декодирования изображения
US20130114667A1 (en) * 2011-11-08 2013-05-09 Sony Corporation Binarisation of last position for higher throughput
US9264706B2 (en) * 2012-04-11 2016-02-16 Qualcomm Incorporated Bypass bins for reference index coding in video coding
US9615090B2 (en) * 2012-12-28 2017-04-04 Qualcomm Incorporated Parsing syntax elements in three-dimensional video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015164328A (ja) * 2011-06-09 2015-09-10 クゥアルコム・インコーポレイテッドQualcomm Incorporated 隣接モードを使用したビデオコーディングのための拡張イントラ予測モードシグナリング
US10264280B2 (en) 2011-06-09 2019-04-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
US9654785B2 (en) 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
JP2015149774A (ja) * 2011-06-28 2015-08-20 サムスン エレクトロニクス カンパニー リミテッド 算術符号化を伴ったビデオ符号化方法及びその装置、ビデオ復号化方法及びその装置
JP2016226027A (ja) * 2011-07-18 2016-12-28 サン パテント トラスト 復号方法および復号装置
US9525891B2 (en) 2012-07-02 2016-12-20 Samsung Electronics Co., Ltd. Method and apparatus for entropy coding video and method and apparatus for entropy decoding video
JP2015526014A (ja) * 2012-07-02 2015-09-07 サムスン エレクトロニクス カンパニー リミテッド ビデオのエントロピー符号化方法及びその装置、並びにビデオのエントロピー復号化方法及びその装置
US9591333B2 (en) 2012-07-02 2017-03-07 Samsung Electronics Co., Ltd. Method and apparatus for entropy coding video and method and apparatus for entropy decoding video
US9407936B2 (en) 2012-07-02 2016-08-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy coding video and method and apparatus for entropy decoding video
US9426496B2 (en) 2012-07-02 2016-08-23 Samsung Electronics Co., Ltd. Method and apparatus for entropy coding video and method and apparatus for entropy decoding video
US9516350B2 (en) 2012-07-02 2016-12-06 Samsung Electronics Co., Ltd. Method and apparatus for entropy coding video and method and apparatus for entropy decoding video
JP2016213895A (ja) * 2012-07-02 2016-12-15 サムスン エレクトロニクス カンパニー リミテッド ビデオ復号化方法及びその装置
RU2609749C1 (ru) * 2013-01-04 2017-02-02 Самсунг Электроникс Ко., Лтд. Способ энтропийного кодирования сегмента слайса и устройство для него и способ энтропийного декодирования сегмента слайса и устройство для него
US9826254B2 (en) 2013-01-04 2017-11-21 Samsung Electronics Co., Ltd. Method for entropy-encoding slice segment and apparatus therefor, and method for entropy-decoding slice segment and apparatus therefor
RU2608263C1 (ru) * 2013-01-04 2017-01-17 Самсунг Электроникс Ко., Лтд. Способ энтропийного кодирования сегмента слайса и устройство для него и способ энтропийного декодирования сегмента слайса и устройство для него
RU2608353C1 (ru) * 2013-01-04 2017-01-18 Самсунг Электроникс Ко., Лтд. Способ энтропийного кодирования сегмента слайса и устройство для него, и способ энтропийного декодирования сегмента слайса и устройство для него
RU2608465C1 (ru) * 2013-01-04 2017-01-18 Самсунг Электроникс Ко., Лтд. Способ энтропийного кодирования сегмента слайса и устройство для него и способ энтропийного декодирования сегмента слайса и устройство для него
RU2609750C1 (ru) * 2013-01-04 2017-02-02 Самсунг Электроникс Ко., Лтд. Способ энтропийного кодирования сегмента слайса и устройство для него и способ энтропийного декодирования сегмента слайса и устройство для него
WO2014107065A1 (ko) * 2013-01-04 2014-07-10 삼성전자 주식회사 슬라이스 세그먼트의 엔트로피 부호화 방법 및 그 장치, 슬라이스 세그먼트의 엔트로피 복호화 방법 및 그 장치
CN105357539A (zh) * 2013-01-04 2016-02-24 三星电子株式会社 视频解码方法和视频解码设备
CN105357525A (zh) * 2013-01-04 2016-02-24 三星电子株式会社 视频解码方法和视频解码设备
US10271071B2 (en) 2013-01-04 2019-04-23 Samsung Electronics Co., Ltd. Method for entropy-encoding slice segment and apparatus therefor, and method for entropy-decoding slice segment and apparatus therefor
US9826253B2 (en) 2013-01-04 2017-11-21 Samsung Electronics Co., Ltd. Method for entropy-encoding slice segment and apparatus therefor, and method for entropy-decoding slice segment and apparatus therefor
CN105472396A (zh) * 2013-01-04 2016-04-06 三星电子株式会社 视频解码方法和视频解码设备
US9866874B2 (en) 2013-01-04 2018-01-09 Samsung Electronics Co., Ltd. Method for entropy-encoding slice segment and apparatus therefor, and method for entropy-decoding slice segment and apparatus therefor
US9866873B2 (en) 2013-01-04 2018-01-09 Samsung Electronics Co., Ltd. Method for entropy-encoding slice segment and apparatus therefor, and method for entropy-decoding slice segment and apparatus therefor
US9877049B2 (en) 2013-01-04 2018-01-23 Samsung Electronics Co., Ltd. Method for entropy-encoding slice segment and apparatus therefor, and method for entropy-decoding slice segment and apparatus therefor
CN105027568B (zh) * 2013-01-04 2018-04-10 三星电子株式会社 用于对条带段进行熵编码的方法及其设备以及用于对条带段进行熵解码的方法及其设备
CN105472396B (zh) * 2013-01-04 2018-05-25 三星电子株式会社 视频解码方法和视频解码设备
CN105357539B (zh) * 2013-01-04 2018-05-25 三星电子株式会社 视频解码方法和视频解码设备
CN108307196A (zh) * 2013-01-04 2018-07-20 三星电子株式会社 视频编码方法和视频编码设备
CN105027568A (zh) * 2013-01-04 2015-11-04 三星电子株式会社 用于对条带段进行熵编码的方法及其设备以及用于对条带段进行熵解码的方法及其设备
JP2017525220A (ja) * 2014-06-20 2017-08-31 寰發股▲ふん▼有限公司HFI Innovation Inc. ビデオ符号化における構文の2値化とコンテキスト適応型符号化の方法と装置
US10382759B2 (en) 2014-06-20 2019-08-13 Hfi Innovation Inc. Method and apparatus of binarization and context-adaptive coding for syntax in video coding
US11082695B2 (en) 2014-06-20 2021-08-03 Hfi Innovation Inc. Method and apparatus of binarization and context-adaptive coding for syntax in video coding
WO2020242181A1 (ko) * 2019-05-27 2020-12-03 에스케이텔레콤 주식회사 인트라 모드 후보 구성 방법 및 영상 복호화 장치

Also Published As

Publication number Publication date
KR102350072B1 (ko) 2022-01-11
KR102143605B1 (ko) 2020-08-11
US20210037264A1 (en) 2021-02-04
EP2696582A2 (en) 2014-02-12
KR102645557B1 (ko) 2024-03-08
JP6757830B2 (ja) 2020-09-23
JP2019193299A (ja) 2019-10-31
KR20200096996A (ko) 2020-08-14
US20140098859A1 (en) 2014-04-10
CN103621099B (zh) 2017-08-29
CN107360422A (zh) 2017-11-17
US10841622B2 (en) 2020-11-17
JP6105771B2 (ja) 2017-03-29
US9602843B2 (en) 2017-03-21
WO2012134246A3 (ko) 2013-01-03
KR102235636B1 (ko) 2021-04-02
US20230209098A1 (en) 2023-06-29
KR102465116B1 (ko) 2022-11-09
JP2018113703A (ja) 2018-07-19
US20160255374A1 (en) 2016-09-01
JP7250892B2 (ja) 2023-04-03
CN107396109A (zh) 2017-11-24
US9420313B2 (en) 2016-08-16
KR20190119175A (ko) 2019-10-21
JP2022036088A (ja) 2022-03-04
CN107454407A (zh) 2017-12-08
JP2023068105A (ja) 2023-05-16
KR20220153117A (ko) 2022-11-17
JP6298189B2 (ja) 2018-03-20
KR102033106B1 (ko) 2019-10-16
KR20140022042A (ko) 2014-02-21
JP2015111960A (ja) 2015-06-18
JP5890555B2 (ja) 2016-03-22
EP2696582A4 (en) 2016-06-15
JP2020191689A (ja) 2020-11-26
US20150245077A1 (en) 2015-08-27
US20180278966A1 (en) 2018-09-27
CN107454411A (zh) 2017-12-08
CN103621099A (zh) 2014-03-05
JP2017139776A (ja) 2017-08-10
US11616989B2 (en) 2023-03-28
JP5723057B2 (ja) 2015-05-27
US10015523B2 (en) 2018-07-03
KR20210038707A (ko) 2021-04-07
JP6987938B2 (ja) 2022-01-05
JP2016123119A (ja) 2016-07-07
JP6553221B2 (ja) 2019-07-31
KR20220008395A (ko) 2022-01-20
JP2014515894A (ja) 2014-07-03

Similar Documents

Publication Publication Date Title
JP7250892B2 (ja) 映像符号化方法及び映像に対するデータの送信方法
US20190149826A1 (en) Method and device for entropy coding/decoding
WO2013058473A1 (ko) 화면 내 예측 모드에 기초한 적응적인 변환 방법 및 이러한 방법을 사용하는 장치
WO2012138032A1 (ko) 영상 정보 부호화 방법 및 복호화 방법
WO2013051794A1 (ko) 두 개의 후보 인트라 예측 모드를 이용한 화면 내 예측 모드의 부/복호화 방법 및 이러한 방법을 사용하는 장치
KR20160046297A (ko) 비디오 신호 처리 방법 및 장치
WO2012128453A1 (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: 12765408

Country of ref document: EP

Kind code of ref document: A2

ENP Entry into the national phase

Ref document number: 2014502486

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20137028701

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2012765408

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14009150

Country of ref document: US