WO2013109026A1 - 엔트로피 부호화/복호화 방법 및 그 장치 - Google Patents

엔트로피 부호화/복호화 방법 및 그 장치 Download PDF

Info

Publication number
WO2013109026A1
WO2013109026A1 PCT/KR2013/000276 KR2013000276W WO2013109026A1 WO 2013109026 A1 WO2013109026 A1 WO 2013109026A1 KR 2013000276 W KR2013000276 W KR 2013000276W WO 2013109026 A1 WO2013109026 A1 WO 2013109026A1
Authority
WO
WIPO (PCT)
Prior art keywords
context
bin
index
slice
context index
Prior art date
Application number
PCT/KR2013/000276
Other languages
English (en)
French (fr)
Inventor
임재현
전병문
전용준
박승욱
김정선
박준영
헨드리헨드리
박내리
김철근
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to US14/373,190 priority Critical patent/US9729884B2/en
Publication of WO2013109026A1 publication Critical patent/WO2013109026A1/ko
Priority to US15/643,092 priority patent/US10225557B2/en
Priority to US16/244,848 priority patent/US10531092B2/en
Priority to US16/694,279 priority patent/US10791329B2/en
Priority to US16/998,951 priority patent/US10999580B2/en
Priority to US17/214,289 priority patent/US11706420B2/en
Priority to US18/201,977 priority patent/US11909981B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/136Incoming video signal characteristics or properties
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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

Definitions

  • the present invention relates to image processing, and more particularly, to an entropy encoding / decoding method and an apparatus using the same.
  • Image compression technology includes an inter prediction technique for predicting pixel values included in a current picture from before and / or after a current picture, and for predicting pixel values included in a current picture by using pixel information in the current picture.
  • the context index assigned to the bin may be determined by the partition depth of the transform block, regardless of the size of the transform block.
  • the image encoding / decoding efficiency can be improved and the complexity can be reduced.
  • FIG. 5 is a block diagram schematically showing an embodiment of the configuration of an entropy decoding unit applied in the present invention.
  • FIG. 7 is a flowchart schematically illustrating an embodiment of an entropy decoding process when a normal decoding engine is used.
  • the prediction unit 110 may generate a prediction block by performing prediction on the processing unit of the picture in the picture division unit 105.
  • the processing unit of the picture in the prediction unit 110 may be a CU, a TU, or a PU.
  • the prediction unit 110 may determine whether the prediction performed on the processing unit is inter prediction or intra prediction, and determine specific contents (eg, prediction mode, etc.) of each prediction method.
  • the processing unit in which the prediction is performed and the processing unit in which the details of the prediction method and the prediction method are determined may be different.
  • the method of prediction and the prediction mode may be determined in units of CU or PU, and the prediction may be performed in units of TU.
  • Information about the intra prediction mode selected through intra prediction may be entropy encoded and transmitted to the decoding apparatus.
  • the reordering unit 125 may rearrange the quantization coefficients provided from the quantization unit 120. By reordering the quantization coefficients, the encoding efficiency in the entropy encoder 130 may be improved.
  • the reordering unit 125 may rearrange the quantization coefficients in the form of a two-dimensional block into a one-dimensional vector form through a coefficient scanning method.
  • the reordering unit 125 may increase the entropy coding efficiency of the entropy encoder 130 by changing the order of coefficient scanning based on probabilistic statistics of coefficients transmitted from the quantization unit.
  • the encoding apparatus of FIG. 1 or the decoding apparatus of FIG. 2 may derive motion information of the current block and perform inter prediction on the current block based on the derived motion information.
  • the coding unit 320 of FIG. 3 shows one coding unit (coding unit b).
  • the coding unit 320 may have a hierarchical structure composed of smaller transform units (eg, d, e, f, etc.) through division.
  • the hierarchical structure may also be referred to as a "transform tree" corresponding to the coding tree.
  • the hierarchical structure of the transform tree may be represented through a transform tree syntax (eg, transform_tree ()) and may be specified based on size information, depth information, split flag information, and the like.
  • the coded block flag for the chroma component may be represented by syntax elements 'cbf_cb' and 'cbf_cr' according to the corresponding chroma component. That is, 'cbf_cb' and 'cbf_cr' may indicate whether residual information exists in the chroma component of the transform block.
  • the normal decoding engine 520 may perform a context-based decoding process.
  • each of the bins may be indexed by a bin index binIdx.
  • the first bin may be assigned an empty index value of zero
  • the second bin may be assigned an empty index value of one
  • the nth bin (where n is an integer greater than or equal to 0) may be assigned an empty index Index values can be assigned.
  • the normal decoding engine 520 may derive a context index (ctxIdx) for each bin.
  • the regular decryption engine 520 may determine context index increments based on the requested syntax element and the bin index of the decrypted bean.
  • the regular decoding engine 520 may determine the context index increment based on the "context table" previously stored in the decoding apparatus.
  • the context index increment may be represented by the variable 'ctxIdxInc' as an example.
  • the normal decoding engine 520 may derive the context index for the bean by adding the context index increment to the context index offset. That is, the context index ctxIdx may be represented as the sum of the context index offset ctxIdxOffset determined according to the slice type and the context index increment ctxIdxInc determined for each bin.
  • the entropy decoding unit may determine whether to apply bypass decoding to the input decoding target bin (S610).
  • the entropy decoding unit may determine whether to apply bypass decoding based on the information on the target bin. For example, when a fixed context is used based on a table, the entropy decoding unit may determine whether to apply bypass decoding based on an indication allocated on the table for the corresponding syntax element. In addition, when a fixed context is used based on a table, the entropy decoding unit may determine whether to apply bypass decoding based on an index, an offset, and the like allocated to the syntax element on the table.
  • each of the bins may be indexed by a bin index binIdx.
  • the entropy decoder may determine a context index increment (ctxIdxInc) based on the requested syntax element and the bin index of the decryption bin. For example, the entropy decoder may determine the context index increment based on a "context table" previously stored in the decoding apparatus.
  • the decoding apparatus may use a context indicated by a context index assigned to the corresponding bean for a specific bean. For example, when the bin index value is 0, the first bin may be decoded using the context indicated by Idx0.
  • the maximum value of the bin index (maxBinIdxCtx) is 4, but the maximum value of the bin index may be greater than 4 or less than 4.
  • the context index may not be allocated to the empty index larger than the maximum value or na (not available) may be allocated.
  • Table 3 shows an example of a case in which an independent context is applied to some beans among the beans constituting a codeword (or binary code) of a specific syntax (syntax element), and a bypass mode is applied to some beans.
  • An embodiment of a context table is shown.
  • each context index may be calculated in consideration of the surrounding environment for the bean to be applied.
  • each context index may be indicated through a preset context table.
  • Table 5 shows an embodiment of a context table applied to syntax element D when entropy coding is performed on a specific syntax element D.
  • a context index offset value of 0 may be applied to the syntax element inter_pred_flag regardless of the slice type. Therefore, in Table 9, the same context may be applied to the same bin index. However, this is one example, and the offset value in Table 9 may be set differently from the value illustrated in Table 9 to indicate a suitable context, and may have different values depending on the slice type.
  • the offset value in Table 12 may be set differently from the value illustrated in Table 12 to indicate a suitable context, and a common offset value may be applied for all slice types.
  • the codeword (or binary code) for the syntax element is composed of five bins is described as an example, but the present invention is not limited thereto. If the codeword (or binary code) of the syntax element cu_qp_delta consists of fewer than five bins, such as n (n ⁇ 5) bins, then no context index is assigned to a bin index greater than n-1 or na (not available). If the codeword (or binary code) of the syntax element cu_qp_delta consists of five or more bins, the sixth and subsequent bins (e.g., bins allocated with a bin index having a value of five or more) are allocated to the sixth bin. The same context index as the context index may be allocated.
  • the context index may vary depending on an environment (state or condition) to which the corresponding syntax element is applied. For example, for the same bin (or bin index), different contexts may be applied to a bin at the same location in a codeword (or binary code) according to a condition or condition such as a depth, a size, etc. of a block to which a syntax element is applied.
  • the context index to be allocated to the empty index 0 may be determined according to the relationship between the size of the current transform unit and the maximum transform size.
  • FL may mean fixed-length binarization. That is, the binarization type applied to the syntax element cbf_luma may correspond to fixed length binarization. ‘CMax’ may refer to a variable used for fixed length binarization.
  • the syntax elements cbf_cb and cbf_cr may indicate whether a transform block of a chroma component to which the syntax element is applied includes a non-zero transform coefficient. That is, cbf_cb and cbf_cr may indicate whether residual information exists in a chroma component of a transform block to which a corresponding syntax element is applied. Since cbf_cb and cbf_cr indicate one of two values, a context index may be assigned to a binIdx value of 0 in a codeword (or binary code) of cbf_cb and cbf_cr.
  • FL may mean fixed-length binarization. That is, the binarization type applied to the syntax elements cbf_cb and cbf_cr may correspond to fixed length binarization. ‘CMax’ may refer to a variable used for fixed length binarization.
  • Table 23 shows an example of specifically setting a context index value by a bean.
  • a context index value by a bean may be set differently from the values illustrated in Table 23.
  • different offset values may be set according to the slice type. For example, in the I slice, the context index offset values for cbf_cb and cbf_cr are set to 0, in the P slice, the context index offset values for cbf_cb and cbf_cr are set to 1, and in the B slice, the context index offset values for cbf_cb and cbf_cr. This can be set to two. Therefore, in the embodiment of Table 24, different offsets are applied according to state information or conditions, so that different contexts may be allocated for each condition.
  • the offset value may be set differently from the value illustrated in Table 25 to indicate a suitable context.
  • the context index offset values for cbf_cb and cbf_cr are set to 0 for slice I
  • the context index offset values for cbf_cb and cbf_cr are set to 2 for slice P
  • the context index offset values for cbf_cb and cbf_cr for slice B may be set to one.
  • a common offset value may be applied for all slice types.

Abstract

본 발명에 따른 엔트로피 복호화 방법은, 신택스 요소의 코드워드를 구성하는 빈에 대한 컨텍스트를 유도하는 단계 및 컨텍스트를 기반으로 빈에 대한 산술 복호화를 수행하는 단계를 포함한다.

Description

엔트로피 부호화/복호화 방법 및 그 장치
본 발명은 영상 처리에 관한 것으로서, 보다 상세하게는 엔트로피 부호화/복호화 방법 및 이를 이용하는 장치에 관한 것이다.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 전송되는 정보량 또는 비트량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 영상 데이터를 저장하는 경우, 전송 비용과 저장 비용이 증가된다. 이러한 문제들을 해결하기 위해서 고효율의 영상 압축 기술들이 이용될 수 있다.
영상 압축 기술에는 현재 픽쳐의 이전 및/또는 이후 픽쳐로부터 현재 픽쳐에 포함된 픽셀값을 예측하는 인터 예측(inter prediction) 기술, 현재 픽쳐 내의 픽셀 정보를 이용하여 현재 픽쳐에 포함된 픽셀값을 예측하는 인트라 예측(intra prediction) 기술, 출현 빈도가 높은 값에 짧은 코드워드를 할당하고 출현 빈도가 낮은 값에 긴 코드워드를 할당하는 엔트로피 부호화 기술 등 다양한 기술이 존재한다. 이러한 영상 압축 기술을 이용해 영상 데이터가 효과적으로 압축되어 전송 또는 저장될 수 있다.
본 발명의 기술적 과제는 영상 부호화/복호화 효율을 향상시키고 복잡도를 감소시킬 수 있는 영상 부호화 방법 및 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시키고 복잡도를 감소시킬 수 있는 영상 복호화 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시키고 복잡도를 감소시킬 수 있는 엔트로피 부호화 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시키고 복잡도를 감소시킬 수 있는 엔트로피 복호화 방법 및 장치를 제공함에 있다.
본 발명의 일 실시 형태는 엔트로피 복호화 방법이다. 상기 방법은, 신택스 요소(syntax element)의 코드워드(codeword)를 구성하는 빈(bin)에 대한 컨텍스트(context)를 유도하는 단계 및 상기 컨텍스트를 기반으로 상기 빈에 대한 산술 복호화(arithmetic decoding)를 수행하는 단계를 포함한다. 이 때, 상기 컨텍스트 유도 단계에서는, 상기 신택스 요소가 적용될 변환 블록(transform block)의 크기에 관한 정보 및 상기 변환 블록의 분할 깊이에 관한 정보 중에서 적어도 하나를 기반으로 상기 컨텍스트를 유도할 수 있다.
상기 컨텍스트는, 현재 슬라이스(slice)의 슬라이스 타입을 기반으로 결정되는 컨텍스트 인덱스 오프셋(context index offset), 및 상기 빈에 의한 컨텍스트 인덱스(context index by the bin)의 합에 의해 지시될 수 있다.
상기 신택스 요소는 상기 변환 블록의 루마(luma) 성분이 0이 아닌 변환 계수를 하나 이상 포함하는지 여부를 지시하는 루마 코디드 블록 플래그(luma coded block flag)일 수 있고 상기 빈은 0의 빈 인덱스(bin index) 값이 할당된 상기 코드워드의 첫 번째 빈일 수 있으며, 상기 컨텍스트 인덱스는, 상기 빈에 의한 컨텍스트 인덱스가 할당된 컨텍스트 테이블(context table)을 기반으로 도출될 수 있다.
상기 변환 블록의 분할 깊이가 0일 때, 상기 빈에 대해 1의 컨텍스트 인덱스가 할당될 수 있다.
상기 변환 블록의 분할 깊이가 0이 아닐 때, 상기 변환 블록의 크기와 현재 시퀀스(sequence)에서 허용되는 최대 변환 크기(maximum transform size)가 동일하면, 상기 빈에 대해 1의 컨텍스트 인덱스가 할당될 수 있고, 상기 변환 블록의 크기와 상기 최대 변환 크기가 동일하지 않으면, 상기 빈에 대해 0의 컨텍스트 인덱스가 할당될 수 있다.
상기 빈에 할당되는 컨텍스트 인덱스는, 상기 변환 블록의 크기에 관계 없이, 상기 변환 블록의 분할 깊이에 의해 결정될 수 있다.
상기 변환 블록의 분할 깊이가 0이 아닐 때, 상기 변환 블록의 크기와 현재 시퀀스에서 허용되는 최대 변환 크기가 동일한지 여부에 관계 없이, 상기 빈에 대해 0의 컨텍스트 인덱스가 할당될 수 있다.
상기 컨텍스트 인덱스 오프셋의 값은, 상기 현재 슬라이스가 I 슬라이스이면 0이고, 상기 현재 슬라이스가 P 슬라이스이면 2이고, 상기 현재 슬라이스가 B 슬라이스이면 4일 수 있다.
상기 신택스 요소는 상기 변환 블록의 크로마(chroma) 성분이 0이 아닌 변환 계수를 하나 이상 포함하는지 여부를 지시하는 크로마 코디드 블록 플래그(chroma coded block flag)일 수 있고, 상기 빈은 0의 빈 인덱스(bin index) 값이 할당된 상기 코드워드의 첫 번째 빈일 수 있으며, 상기 컨텍스트 인덱스는, 상기 빈에 의한 컨텍스트 인덱스가 할당된 컨텍스트 테이블(context table)을 기반으로 도출될 수 있다.
상기 변환 블록의 분할 깊이 값이 상기 빈에 의한 컨텍스트 인덱스로서 할당될 수 있다.
상기 컨텍스트 인덱스 오프셋의 값은, 상기 현재 슬라이스가 I 슬라이스이면 0이고, 상기 현재 슬라이스가 P 슬라이스이면 4이고, 상기 현재 슬라이스가 B 슬라이스이면 8일 수 있다.
본 발명의 다른 실시 형태는 영상 복호화 방법이다. 상기 방법은, 신택스 요소(syntax element)의 코드워드(codeword)를 구성하는 빈(bin)에 대한 컨텍스트(context)를 유도하는 단계, 상기 컨텍스트를 기반으로 상기 빈에 대한 산술 복호화(arithmetic decoding)를 수행함으로써, 상기 신택스 요소의 정보를 획득하는 단계 및 상기 신택스 요소의 정보를 기반으로, 영상을 복원하는 단계를 포함한다. 이 때, 상기 컨텍스트 유도 단계에서는, 상기 신택스 요소가 적용될 변환 블록(transform block)의 크기에 관한 정보 및 상기 변환 블록의 분할 깊이에 관한 정보 중에서 적어도 하나를 기반으로 상기 컨텍스트를 유도할 수 있다.
본 발명의 또 다른 실시 형태는 영상 복호화 장치이다. 상기 장치는, 신택스 요소(syntax element)의 코드워드(codeword)를 구성하는 빈(bin)에 대한 컨텍스트(context)를 유도하고, 상기 컨텍스트를 기반으로 상기 빈에 대한 산술 복호화(arithmetic decoding)를 수행함으로써 상기 신택스 요소의 정보를 획득하는 엔트로피 복호화부 및 상기 신택스 요소의 정보를 기반으로, 영상을 복원하는 영상 복원부를 포함한다. 이 때, 상기 엔트로피 복호화부는, 상기 신택스 요소가 적용될 변환 블록(transform block)의 크기에 관한 정보 및 상기 변환 블록의 분할 깊이에 관한 정보 중에서 적어도 하나를 기반으로 상기 컨텍스트를 유도할 수 있다.
상기 컨텍스트는, 현재 슬라이스(slice)의 슬라이스 타입을 기반으로 결정되는 컨텍스트 인덱스 오프셋(context index offset), 및 상기 빈에 의한 컨텍스트 인덱스(context index by the bin)의 합에 의해 지시될 수 있다.
상기 신택스 요소는 상기 변환 블록의 루마(luma) 성분이 0이 아닌 변환 계수를 하나 이상 포함하는지 여부를 지시하는 루마 코디드 블록 플래그(luma coded block flag)일 수 있고, 상기 빈은 0의 빈 인덱스(bin index) 값이 할당된 상기 코드워드의 첫 번째 빈일 수 있으며, 상기 엔트로피 복호화부는, 상기 빈에 의한 컨텍스트 인덱스가 할당된 컨텍스트 테이블(context table)을 기반으로, 상기 컨텍스트 인덱스를 결정할 수 있다.
상기 엔트로피 복호화부는, 상기 변환 블록의 분할 깊이가 0일 때, 상기 빈에 대해 1의 컨텍스트 인덱스를 할당할 수 있다.
상기 엔트로피 복호화부는, 상기 변환 블록의 분할 깊이가 0이 아닐 때, 상기 변환 블록의 크기와 현재 시퀀스(sequence)에서 허용되는 최대 변환 크기(maximum transform size)가 동일하면, 상기 빈에 대해 1의 컨텍스트 인덱스를 할당할 수 있고, 상기 변환 블록의 크기와 상기 최대 변환 크기가 동일하지 않으면, 상기 빈에 대해 0의 컨텍스트 인덱스를 할당할 수 있다.
상기 엔트로피 복호화부는, 상기 변환 블록의 크기에 관계 없이, 상기 변환 블록의 분할 깊이를 기반으로 상기 빈에 할당되는 컨텍스트 인덱스를 결정할 수 있다.
상기 엔트로피 복호화부는, 상기 변환 블록의 분할 깊이가 0이 아닐 때, 상기 변환 블록의 크기와 현재 시퀀스에서 허용되는 최대 변환 크기가 동일한지 여부에 관계 없이, 상기 빈에 대해 0의 컨텍스트 인덱스를 할당할 수 있다.
상기 컨텍스트 인덱스 오프셋의 값은, 상기 현재 슬라이스가 I 슬라이스이면 0이고, 상기 현재 슬라이스가 P 슬라이스이면 2이고, 상기 현재 슬라이스가 B 슬라이스이면 4일 수 있다.
본 발명에 따른 영상 부호화 방법에 의하면, 영상 부호화/복호화 효율이 향상되고 복잡도가 감소될 수 있다.
본 발명에 따른 영상 복호화 방법에 의하면, 영상 부호화/복호화 효율이 향상되고 복잡도가 감소될 수 있다.
본 발명에 따른 엔트로피 부호화 방법에 의하면, 영상 부호화/복호화 효율이 향상되고 복잡도가 감소될 수 있다.
본 발명에 따른 엔트로피 복호화 방법에 의하면, 영상 부호화/복호화 효율이 향상되고 복잡도가 감소될 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 영상 복호화 장치를 개략적으로 나타낸 블록도이다.
도 3은 본 발명이 적용되는 시스템에서 처리 유닛의 쿼드 트리 구조에 관한 일 예를 개략적으로 나타내는 도면이다.
도 4는 본 발명에서 적용되는 엔트로피 부호화부 구성의 일 실시예를 개략적으로 나타내는 블록도이다.
도 5는 본 발명에서 적용되는 엔트로피 복호화부 구성의 일 실시예를 개략적으로 나타내는 블록도이다.
도 6은 본 발명이 적용되는 엔트로피 복호화 과정의 일 예를 개략적으로 설명하는 순서도이다.
도 7은 정규 복호화 엔진이 이용되는 경우의 엔트로피 복호화 과정의 일 실시예를 개략적으로 나타내는 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 영상 부호화 장치/복호화 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.

도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 개략적으로 도시한 블록도이다. 도 1을 참조하면, 영상 부호화 장치(100)는 픽쳐 분할부(105), 예측부(110), 변환부(115), 양자화부(120), 재정렬부(125), 엔트로피 부호화부(130), 역양자화부(135), 역변환부(140), 필터부(145) 및 메모리(150)를 구비한다.
픽쳐 분할부(105)는 입력된 픽쳐를 적어도 하나의 처리 단위 블록으로 분할할 수 있다. 이때, 처리 단위로서의 블록은 예측 유닛(Prediction Unit, 이하 ‘PU’라 함)일 수도 있고, 변환 유닛(Transform Unit, 이하 ‘TU’라 함)일 수도 있으며, 코딩 유닛(Coding Unit, 이하 ‘CU’라 함)일 수도 있다.
예측부(110)는 인터 예측을 수행하는 인터 예측부와 인트라 예측을 수행하는 인트라 예측부를 포함할 수 있다. 부호화 효율을 높이기 위해, 부호화 장치는 영상 신호를 그대로 부호화하는 것이 아니라, 이미 부호화된 영역을 이용하여 영상을 예측하고, 원본 영상과 예측 영상 사이의 잔차(residual) 값을 부호화할 수 있다.
예측부(110)는, 픽쳐 분할부(105)에서 픽쳐의 처리 단위에 대하여 예측을 수행하여 예측 블록을 생성할 수 있다. 예측부(110)에서 픽쳐의 처리 단위는 CU일 수도 있고, TU일 수도 있고, PU일 수도 있다. 또한, 예측부(110)는 해당 처리 단위에 대하여 실시되는 예측이 인터 예측인지 인트라 예측인지를 결정하고, 각 예측 방법의 구체적인 내용(예컨대, 예측 모드 등)을 정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 예측 방법의 구체적인 내용이 정해지는 처리 단위는 다를 수 있다. 예컨대, 예측의 방법과 예측 모드 등은 CU 또는 PU 단위로 결정되고, 예측의 수행은 TU 단위로 수행될 수도 있다.
인터 예측을 통해서는 현재 픽쳐의 이전 픽쳐 및/또는 이후 픽쳐 중 적어도 하나의 픽쳐의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 또한, 인트라 예측을 통해서는 현재 픽쳐 내의 픽셀 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 예측의 방법으로서, 스킵(skip) 모드, 머지(merge) 모드, MVP(Motion Vector Prediction) 등이 이용될 수 있다. 인터 예측에서는 PU에 대하여, 참조 픽쳐가 선택되고 PU와 동일한 크기의 참조 블록이 선택될 수 있다. 참조 블록은 정수 픽셀 단위로 선택될 수 있다. 이어서, 현재 PU와의 잔차(residual) 신호가 최소화되며 움직임 벡터 크기 역시 최소가 되는 예측 블록이 생성될 수 있다.
예측 블록은 정수 샘플 단위로 생성될 수도 있고, 1/2 픽셀 단위 또는 1/4 픽셀 단위와 같이 정수 이하 픽셀 단위로 생성될 수도 있다. 이 때, 움직임 벡터 역시 정수 픽셀 이하의 단위로 표현될 수 있다. 예컨대 루마(luma) 샘플에 대해서는 1/4 픽셀 단위로, 크로마(chroma) 샘플에 대해서는 1/8 픽셀 단위로 표현될 수 있다.
인터 예측을 통해 선택된 참조 픽쳐의 인덱스, 움직임 벡터(ex. Motion Vector Predictor), 잔차 신호 등의 정보는 엔트로피 부호화되어 복호화 장치에 전달될 수 있다. 스킵 모드가 적용되는 경우에는 예측 블록이 복원 블록으로 사용될 수 있으므로, 잔차 신호가 생성, 변환, 양자화, 전송되지 않을 수 있다.
인트라 예측이 수행되는 경우에는, PU 단위로 예측 모드가 정해져서 PU 단위로 예측이 수행될 수 있다. 또한, PU 단위로 예측 모드가 정해지고 TU 단위로 인트라 예측이 수행될 수도 있다.
인트라 예측에서 예측부(110)는 PU에 대해 인트라 예측 모드를 결정하고 결정된 인트라 예측 모드를 기반으로 예측을 수행할 수 있다. 인트라 예측 모드는 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비향성성 모드는 DC 예측 모드 및 플래너 모드(Planar 모드)을 포함할 수 있다.
인트라 예측에서는 참조 샘플에 필터가 적용된 후 예측 블록이 생성될 수 있다. 이때, 참조 샘플에 필터를 적용할 것인지는 현재 블록의 인트라 예측 모드 및/또는 사이즈에 따라 결정될 수 있다.
인트라 예측을 통해 선택된 인트라 예측 모드에 관한 정보는 엔트로피 부호화되어 복호화 장치에 전달될 수 있다.
PU는 다양한 사이즈/형태의 블록일 수 있으며, 예컨대 인터 예측의 경우에 PU는 2N×2N 블록, 2N×N 블록, N×2N 블록, 또는 N×N 블록 (N은 정수) 등일 수 있다. 인트라 예측의 경우에 PU는 2N×2N 블록 또는 N×N 블록 (N은 정수) 등일 수 있다. 이 때, N×N 블록 크기의 PU는 특정한 경우에만 적용하도록 설정될 수 있다. 예컨대 최소 크기 CU에 대해서만 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)는 필요한 경우에, 전송하는 파라미터 셋(parameter set) 또는 신택스에 일정한 변경을 가할 수도 있다.
엔트로피 부호화부(130)는 입력되는 심볼들을 기반으로 연속적인 코드워드를 생성할 수 있다. 이 때, 코드워드의 길이는 가변적일 수 있다. 예컨대, 엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 낮은 값의 인덱스(index) 및 이에 대응하는 짧은 코드워드(codeword)가 할당되고, 낮은 발생 확률을 갖는 심볼에 높은 값의 인덱스 및 이에 대응하는 긴 코드워드가 할당될 수 있다. 따라서 부호화 대상 심볼들에 대한 비트량이 감소될 수 있고, 엔트로피 부호화에 의해 영상 압축 성능이 향상될 수 있다.
역양자화부(135)는 양자화부(120)에서 양자화된 값들을 역양자화하고, 역변환부(140)는 역양자화부(135)에서 역양자화된 값들을 역변환할 수 있다. 역양자화부(135) 및 역변환부(140)에서 생성된 잔차 값과 예측부(110)에서 예측된 예측 블록이 합쳐져 복원 블록(Reconstructed Block)이 생성될 수 있다.
도 1에서는 가산기를 통해서, 잔차 블록과 예측 블록이 합쳐져 복원 블록이 생성되는 것으로 설명하고 있다. 이때, 가산기를 복원 블록을 생성하는 별도의 유닛(복원 블록 생성부)으로 볼 수도 있다.
필터부(145)는 디블록킹 필터, SAO(Sample Adaptive Offset) 및/또는 ALF(Adaptive Loop Filter)를 복원된 픽쳐에 적용할 수 있다.
디블록킹 필터는 복원된 픽쳐에서 블록 간의 경계에 생긴 왜곡을 제거할 수 있다. SAO는 디블록킹 필터가 적용된 잔차 블록에 대하여, 픽셀 단위로 원본 영상과의 오프셋 차이를 복원하며, 밴드 오프셋(Band Offset), 에지 오프셋(Edge Offset) 등의 형태로 적용될 수 있다. ALF(Adaptive Loop Filter)는 디블록킹 필터 및/또는 SAO를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. ALF는 고효율을 적용하는 경우에만 수행될 수도 있다.
한편, 인트라 예측에 사용되는 복원 블록에 대해서 필터부(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)로 제공될 수 있고, 엔트로피 복호화부(210)에서 엔트로피 복호화가 수행된 잔차 값은 재정렬부(215)로 입력될 수 있다.
재정렬부(215)는 엔트로피 복호화부(210)에서 엔트로피 복호화된 비트스트림을 영상 부호화 장치에서 재정렬한 방법을 기초로 재정렬할 수 있다. 재정렬부(215)는 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부(215)는 부호화 장치에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 부호화 장치에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통해 재정렬을 수행할 수 있다.
역양자화부(220)는 부호화 장치에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.
역변환부(225)는 영상 부호화 장치에서 수행된 양자화 결과에 대해, 부호화 장치의 변환부가 수행한 DCT 및 DST에 대해 역DCT 및/또는 역DST를 수행할 수 있다. 역변환은 부호화 장치에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 부호화 장치의 변환부에서 DCT 및/또는 DST는 예측 방법, 현재 블록의 크기 및/또는 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 복호화 장치의 역변환부(225)는 부호화 장치의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
예측부(230)는 엔트로피 복호화부(210)에서 제공된 예측 블록 생성 관련 정보와 메모리(240)에서 제공된 이전에 복호화된 블록 및/또는 픽쳐 정보를 기초로 예측 블록을 생성할 수 있다. 예측부(230)가 수행하는 구체적인 예측의 방법은 부호화 장치의 예측부에서 수행되는 예측의 방법과 동일할 수 있다.
현재 CU 및/또는 현재 PU에 대한 예측 모드가 인트라 예측(intra prediction) 모드인 경우에, 예측부(230)는 현재 픽쳐 내의 픽셀 정보를 기초로 예측 블록을 생성하는 인트라 예측을 수행할 수 있다. 이 때, 예측부(230)는 PU에 대하여 인트라 예측 모드를 결정하고 결정된 인트라 예측 모드를 기반으로 예측을 수행할 수 있다. 여기서, 인트라 예측 모드는 부호화기로부터 수신되는 인트라 예측 모드 관련 정보가 확인된 경우, 이에 대응하여 유도될 수 있다.
현재 CU 및/또는 현재 PU에 대한 예측 모드가 인터 예측(inter prediction) 모드인 경우에, 예측부(230)는 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐에 포함된 정보를 기초로 현재 PU에 대한 인터 예측을 수행할 수 있다. 이때, 영상 부호화 장치에서 제공된 현재 PU의 인터 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽쳐 인덱스 등에 관한 정보는 부호화 장치로부터 수신한 스킵 플래그, 머지 플래그 등을 확인하고 이에 대응하여 유도될 수 있다.
복원 블록은 예측부(230)에서 생성된 예측 블록과 역변환부(225)에서 제공된 잔차 블록을 이용해 생성될 수 있다. 도 2에서는 가산기에서 예측 블록과 잔차 블록이 합쳐져 복원 블록이 생성되는 것으로 설명하고 있다. 이때, 가산기를 복원 블록을 생성하는 별도의 유닛(복원 블록 생성부)로 볼 수도 있다.
스킵 모드가 적용되는 경우에는 잔차 신호가 전송되지 않으며 예측 블록이 복원 블록으로 사용될 수 있다.
복원된 블록 및/또는 픽쳐는 필터부(235)로 제공될 수 있다. 필터부(235)는 복원된 블록 및/또는 픽쳐에 디블록킹 필터링, SAO(Sample Adaptive Offset) 및/또는 ALF 등을 적용할 수 있다.
메모리(240)는 복원된 픽쳐 또는 블록을 저장하여 참조 픽쳐 또는 참조 블록으로 사용될 수 있도록 할 수 있고 또한 복원된 픽쳐를 출력부로 제공할 수 있다.
여기서는 설명의 편의를 위해 생략하였지만, 복호화 장치에 입력되는 비트스트림은 파싱(parsing) 단계를 거쳐 엔트로피 복호화부(210)로 입력될 수도 있다. 또한, 엔트로피 복호화부(210)에서 파싱 과정을 수행하도록 할 수도 있다.
한편, 상술한 도 2에서는 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235) 및 메모리(240)가 각각 별개의 구성으로 서술되어 있으나, 상기 구성들이 합쳐져 하나의 구성을 이룰 수도 있다. 예컨대, 상술한 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235) 및 메모리(240)는 하나의 ‘영상 복원부’로도 볼 수 있다. 이 때, 영상 복원부는 엔트로피 복호화부(210)에서 복호화된 정보를 기반으로, 상술한 과정을 거쳐 영상을 복원할 수 있다.

상술한 부호화 장치 및 복호화 장치에서 처리되는 영상 신호는 빛의 3원색 성분의 크기를 나타내는 세 가지의 색 신호를 포함할 수 있다. 상기 세 가지의 색 신호는 각각 R(Red), G(Green), B(Blue)로 표시될 수 있다. 영상 처리에 사용되는 주파수 대역을 줄이기 위해, 상기 R, G, B 신호는 상기 R, G, B 신호와 등가인 루마(luma), 크로마(chroma) 신호로 변환될 수 있다. 이 때, 영상 신호는 하나의 루마 신호와 두 개의 크로마 신호를 포함할 수 있다. 여기서, 루마 신호는 화면의 밝기를 나타내는 성분이고, 크로마 신호는 화면의 색(color)을 나타내는 성분이다. 예컨대, 크로마 신호는 정해진 색상들 간의 차이를 나타낼 수 있다. 루마 신호는 ‘L’ 또는 ‘luma’로 표시될 수 있고, 두 개의 크로마 신호는 각각 ‘Cb’, ‘Cr’로 표시될 수 있다. 인간의 눈은 루마 신호에 대해서 민감하고, 크로마 신호에 대해서 둔감하므로, 하나의 영상 또는 블록 내에서 크로마 성분의 픽셀 수가 루마 성분의 픽셀 수보다 작을 수 있다.

본 명세서에서, 코딩은 경우에 따라 부호화 및/또는 복호화로 해석될 수 있고, 정보(information)는 값(values), 파라미터(parameter), 계수(coefficients), 성분(elements) 등을 모두 포함하는 것으로 이해될 수 있다.
‘화면’ 또는 ‘픽쳐(picture)’는 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미할 수 있고, ‘슬라이스(slice)’, ‘프레임(frame)’ 등은 실제 비디오 신호의 코딩에 있어서 픽쳐의 일부를 구성하는 단위를 나타낼 수 있다. 그러나, ‘슬라이스’, ‘프레임’ 등은 필요에 따라서는 픽쳐와 서로 혼용되어 사용 될 수도 있다.
또한, 본 명세서에서 현재 블록은 현재 부호화, 복호화, 변환 및/또는 예측 과정이 수행되는 블록으로서, 상기 부호화, 복호화, 변환 및/또는 예측 과정이 수행될 때의 처리 단위에 대응하는 블록을 의미할 수 있다. 일례로, 현재 블록에 대해 변환 과정이 수행되는 경우, 상기 현재 블록은 현재 변환 유닛에 대응하는 변환 대상 블록에 해당될 수 있다. 그리고, 본 명세서에서는 예측에 의해 생성된 블록은 예측 블록이라 지칭하기로 한다.
‘유닛’은 상술한 코딩 유닛(CU), 예측 유닛(PU), 변환 유닛(TU)과 같이 영상 처리의 기본 단위 또는 영상의 특정 위치를 의미하므로 픽셀 및/또는 샘플의 집합을 나타내는 ‘블록’과 구별될 수도 있으나, 본 명세서에서는 설명의 편의상 ‘유닛’이 경우에 따라 상기 ‘유닛’에 대응하는‘블록’을 지칭할 수 있으며, ‘블록’이 경우에 따라 상기 ‘블록’에 대응하는 ‘유닛’을 지칭할 수도 있다. 일례로, 이하 본 명세서에서 하나의 예측 유닛에 대응하는 예측 대상 블록은 예측 유닛 및/또는 예측 블록으로 지칭될 수 있고, 하나의 코딩 유닛에 대응하는 부호화/복호화 대상 블록이 코딩 유닛 및/또는 코딩 블록으로 지칭될 수도 있다. 또한, 블록은 M(M은 자연수)개의 열과 N(N은 자연수)개의 행으로 구성된 픽셀들 또는 변환 계수(transform coefficient)들의 집합을 나타내는 용어로 사용될 수도 있다. 이러한 구별은 해당 기술 분야의 통상의 지식을 가진 자라면 명확하게 이해할 수 있을 것이다.

한편, 상술한 도 1 및 도 2에 따른 영상 부호화, 복호화 과정에 사용되는 슬라이스(slice)에는 I 슬라이스, P 슬라이스, B 슬라이스 등이 있을 수 있다. I 슬라이스는 인트라 예측에 의해서만 부호화/복호화가 수행되는 슬라이스를 의미할 수 있다. I 슬라이스에는 시간(temporal) 방향의 예측이 적용되지 않으며, 화면 내 정보만이 예측 과정에 사용될 수 있다. P 슬라이스는 각 블록의 픽셀 값을 예측하기 위해 적어도 하나의 움직임 벡터 및 참조 픽쳐 인덱스를 이용한 인터 예측 또는 인트라 예측을 이용해서 부호화/복호화가 수행될 수 있는 슬라이스를 의미할 수 있다. B 슬라이스는 각 블록의 픽셀 값을 예측하기 위해 적어도 두 개의 움직임 벡터들과 참조 픽쳐 인덱스들을 이용한 인터 예측 또는 인트라 예측을 이용해서 부호화/복호화가 수행될 수 있는 슬라이스를 의미할 수 있다.
인터 예측 모드의 경우에 도 1의 부호화 장치 또는 도 2의 복호화 장치는 현재 블록의 움직임 정보를 도출하고, 도출된 움직임 정보에 기반하여 현재 블록에 대한 인터 예측을 수행할 수 있다.
현재 블록의 예측에 이용되는 영상은 참조 픽쳐(reference picture) 또는 참조 프레임(reference frame)으로 불릴 수 있다. 참조 픽쳐 내의 영역은 참조 픽쳐를 지시하는 참조 픽쳐 인덱스(reference picture index) 및 움직임 벡터(motion vector) 등을 이용하여 나타내어질 수 있다.
현재 픽쳐 및/또는 현재 슬라이스에 대해서, 예측을 위하여 사용되는 픽쳐들로 참조 픽쳐 리스트가 구성될 수 있으며, 참조 픽쳐 인덱스는 참조 픽쳐 리스트에서 특정 참조 픽쳐를 지시할 수 있다. P 슬라이스의 경우에는 하나의 참조 픽쳐 리스트, 예컨대 참조 픽쳐 리스트 0을 필요로 하며, B 슬라이스의 경우에는 두 개의 참조 픽쳐 리스트, 예컨대 참조 픽쳐 리스트 1을 필요로 한다.
예컨대, P 슬라이스에서는 하나의 참조 픽쳐를 이용한 단방향 예측에 의해 부호화/복호화가 수행될 수 있다. 이 때, 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 예측은 단 예측(uni-prediction)으로도 불릴 수 있다. 또한 L0 및 L1으로부터 각각 선택된 두 개의 참조 픽쳐를 사용하는 인터 예측은 쌍 예측(bi-prediction)으로 불릴 수 있다.
L0 예측, L1 예측 및 쌍 예측 중에서 현재 블록(예컨대, PU)에 대해 적용되는 인터 예측 모드(inter prediction mode)는 시스템상에서 ‘inter_pred_idc’의 신택스 요소(systax element)에 의해 지시될 수 있다. 이 때, inter_pred_idc는 현재 블록에 대한 인터 예측 방향(inter prediction direction)을 나타내는 것으로 볼 수도 있다. 현재 블록의 예측 모드가 인터 모드인 경우에는, 현재 블록이 L0 예측, L1 예측 및 쌍 예측 중에서 어떤 인터 예측 모드에 해당되는지 여부에 대한 정보가 inter_pred_idc를 통해 부호화 장치에서 복호화 장치로 전송될 수 있다.
만일, 인터 예측 모드의 종류가 쌍 예측 모드 및 단 예측 모드의 두 가지로 줄어들면, ‘inter_pred_idc’의 인덱스(index)는 ‘inter_pred_flag’와 같은 플래그로 대체될 수도 있다. 이를 위해, L0 예측 및 L1 예측을 포괄하여 나타내는 LC 예측이 사용될 수 있다. LC 예측은 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1을 기반으로 구성된 컴바인드 리스트(combined list)로부터 선택된 참조 픽쳐를 이용하는 인터 예측을 의미할 수 있다. 이 때, inter_pred_flag는 LC 예측 및 쌍 예측 중에서 하나를 지시할 수 있다.

도 3은 본 발명이 적용되는 시스템에서 처리 유닛의 쿼드 트리 구조에 관한 일 예를 개략적으로 나타내는 도면이다.
코딩 유닛(Coding Unit: CU)은 픽쳐의 부호화/복호화가 수행되는 단위를 의미할 수 있다. 부호화 대상 픽쳐 내의 하나의 코딩 블록은 쿼드 트리 구조(quad-tree structure)를 기반으로 깊이(depth)를 가지며 반복적으로 분할될 수 있다. 이 때, 더 이상 분할되지 않는 코딩 블록은 코딩 유닛에 해당될 수 있으며, 부호화 장치는 상기 코딩 유닛에 대한 부호화 과정을 수행할 수 있다.
여기서, 쿼드 트리 구조를 기반으로 반복적으로 분할되는 코딩 블록은 코딩 트리 블록(CTB: Coding Tree Block)으로 불릴 수 있다. 코딩 트리 블록은 추가로 분할되지 않을 수도 있으며, 이 경우 코딩 트리 블록 자체가 하나의 코딩 유닛에 해당될 수도 있다. 따라서, 코딩 트리 블록은 최대 크기의 코딩 유닛인 최대 코딩 유닛(Largest Coding Unit: LCU)에 대응될 수 있다. 한편, 코딩 트리 블록 내에서 가장 작은 크기를 갖는 코딩 유닛은 최소 코딩 유닛(Smallest Coding Unit: SCU)으로 불릴 수 있다.
도 3의 310은 코딩 트리 블록을 나타낸다. 코딩 트리 블록(310)은 분할을 통해서 더 작은 코딩 유닛들(예컨대, a, b, c 등)로 이루어진 계층적 구조를 가질 수 있다. 코딩 트리 블록(310)의 계층적 구조는 크기 정보, 깊이 정보, 분할 플래그 정보 등을 기반으로 특정될 수 있다.
예컨대, 코딩 유닛 a는 코딩 트리 블록(310)이 한 번 분할된 블록에 해당될 수 있으며, 코딩 유닛 a의 분할 깊이는 1일 수 있다. 코딩 유닛 b는 코딩 트리 블록(310)이 두 번 분할된 블록에 해당될 수 있으며, 코딩 유닛 b의 분할 깊이는 2일 수 있다. 코딩 유닛 c는 코딩 트리 블록(310)이 세 번 분할된 블록에 해당될 수 있으며, 코딩 유닛 c의 분할 깊이는 3일 수 있다. 만일 코딩 트리 블록이 분할되지 않고 그대로 코딩 유닛으로 사용된다면, 해당 코딩 유닛의 분할 깊이는 0일 수 있다. 코딩 유닛의 분할 깊이는 일례로 변수 ‘cuDepth’ 또는 ‘ctDepth’로 나타내어질 수 있다.
코딩 트리 블록(310)의 계층적 구조를 나타내는 크기 정보, 분할 플래그 정보 등은 SPS(Sequence Parameter Set), 슬라이스 세그먼트 헤더(slice segment header) 및/또는 코딩 쿼드 트리 신택스(Coding quadtree syntax)에 포함되어 부호화 장치에서 복호화 장치로 전송될 수 있다.
한편, 하나의 코딩 유닛은 쿼드 트리 구조를 기반으로 복수의 변환 유닛들(TUs)로 분할될 수 있다. 코딩 트리 블록의 분할 과정에서와 마찬가지로 코딩 유닛은 쿼드 트리 구조(quad-tree structure)를 기반으로 깊이(depth)를 가지며 반복적으로 분할될 수 있다. 이 때, 더 이상 분할되지 않는 블록은 변환 유닛(TU)에 해당될 수 있다. 하나의 코딩 유닛은 추가로 분할되지 않을 수도 있으며, 이 경우 코딩 유닛 자체가 하나의 변환 유닛에 해당될 수도 있다.
도 3의 320은 하나의 코딩 유닛(코딩 유닛 b)을 나타낸다. 도 3을 참조하면, 코딩 유닛(320)은 분할을 통해서 더 작은 변환 유닛들(예컨대, d, e, f 등)로 이루어진 계층적 구조를 가질 수 있다. 여기서, 상기 계층적 구조는 코딩 트리에 대응하여 ‘변환 트리(transform tree)’로도 불릴 수 있다. 이 때, 변환 트리의 계층적 구조는 변환 트리 신택스(예컨대, transform_tree())를 통해 나타내어질 수 있으며, 크기 정보, 깊이 정보, 분할 플래그 정보 등을 기반으로 특정될 수 있다.
예컨대, 변환 유닛 d는 코딩 유닛(320)이 한 번 분할된 블록에 해당될 수 있으며, 변환 유닛 d의 분할 깊이는 1일 수 있다. 변환 유닛 e는 코딩 유닛(320)이 두 번 분할된 블록에 해당될 수 있으며, 변환 유닛 e의 분할 깊이는 2일 수 있다. 변환 유닛 f는 코딩 유닛(320)이 세 번 분할된 블록에 해당될 수 있으며, 변환 유닛 f의 분할 깊이는 3일 수 있다. 만일 코딩 유닛이 분할되지 않고 그대로 변환 유닛으로 사용된다면, 해당 변환 유닛의 분할 깊이는 0일 수 있다. 변환 유닛의 분할 깊이는 일례로 변수 ‘trafoDepth’로 나타내어질 수 있다.
변환 유닛의 크기는 일례로 변수 ‘log2TrafoSize’에 의해 나타내어질 수 있다. 이 때, 변환 유닛의 실제 크기는 2log2TrafoSize 또는 1<<log2TrafoSize 에 해당될 수 있다.
분할 플래그 정보는 변환 트리 신택스에 포함되어 부호화 장치에서 복호화 장치로 전송될 수 있다. 이 때, 분할 플래그 정보는 변환 트리 구조의 분할 과정에서 각 블록이 네 개의 블록으로 분할되는지 여부를 지시할 수 있다.
또한, 시퀀스에서 허용되는 최소 변환 크기(최소 변환 유닛의 크기 또는 최소 변환 블록의 크기)에 관한 정보(예컨대, log2_min_transform_block_size_minus2)가 SPS에 포함되어 부호화 장치에서 복호화 장치로 전송될 수 있다. 또한, 최대 변환 크기(최대 변환 유닛의 크기 또는 최대 변환 블록의 크기)와 최소 변환 크기 간의 차이에 관한 정보(예컨대, log2_diff_max_min_transform_block_size)도 SPS를 통해 부호화 장치에서 복호화 장치로 전송될 수 있다. 복호화 장치는 최소 변환 크기에 관한 정보 및 최대 변환 크기와 최소 변환 크기 간의 차이에 관한 정보를 기반으로, 시퀀스에서 허용되는 최대 변환 크기를 도출할 수 있다. 예컨대, 상기 최대 변환 크기는 변수 ‘Log2MaxTrafoSize’에 의해 나타내어질 수 있다. 이 때, 실제 최대 변환 크기는 2Log2MaxTrafoSize 또는 1<<Log2MaxTrafoSize 에 해당될 수 있다.
한편, 상술한 변환 트리 신택스는 코딩 유닛 신택스 내에서 정의될 수 있다. 그러나, 코딩 유닛에 대해 잔차(residual) 신호 또는 잔차 정보가 존재하지 않는 경우, 상기 코딩 유닛의 정보는 변환 트리에 관한 정보 없이 예측에 관한 정보만으로 나타내어질 수도 있다.
현재 코딩 유닛에 대해 잔차 신호 및/또는 잔차 정보가 존재하는지 여부에 관한 플래그 정보는 코딩 유닛 신택스 내에 포함되어 부호화 장치에서 복호화 장치로 전송될 수 있다. 이 때, 상기 플래그 정보는 현재 코딩 유닛에 대한 변환 트리 신택스가 존재하는지 여부를 지시하는 플래그에 해당될 수도 있다. 상기 플래그는 일례로 ‘no_residual_data_flag’ 또는 ‘no_residual_syntax_flag’의 신택스 요소에 의해 나타내어질 수 있다.
부호화 장치에서 복호화 장치로 전송되는 정보에는 코디드 블록 플래그(Coded Block Flag: CBF) 정보도 포함될 수 있다. 일례로, 코디드 블록 플래그 정보는 변환 트리 신택스 내에서 정의될 수 있다.
코디드 블록 플래그 정보는 루마 성분(Y) 및 크로마 성분(Cb, Cr)의 변환 블록 각각에 대해 0이 아닌 변환 계수를 포함하는지 여부를 지시할 수 있다. 예컨대, 루마 성분에 대한 코디드 블록 플래그는 루마 성분 변환 블록이 0이 아닌 변환 계수를 하나 이상 포함하는지 여부를 지시할 수 있다. 루마 성분에 대한 코디드 블록 플래그는 일례로 ‘cbf_luma’의 신택스 요소에 의해 나타내어질 수 있다. 즉, ‘cbf_luma’는 변환 블록의 루마 성분에 대해 잔차 정보가 존재하는지 여부를 지시할 수 있다. 크로마 성분에 대한 코디드 블록 플래그는 크로마 성분 변환 블록이 0이 아닌 변환 계수를 하나 이상 포함하는지 여부를 지시할 수 있다. 크로마 성분에 대한 코디드 블록 플래그는 해당되는 크로마 성분에 따라 ‘cbf_cb’, ‘cbf_cr’이라는 신택스 요소에 의해 나타내어질 수 있다. 즉, ‘cbf_cb’, ‘cbf_cr’는 변환 블록의 크로마 성분에 잔차 정보가 존재하는지 여부를 지시할 수 있다.
CU 단위의 QP(Quantization Parameter: 양자화 파라미터) 적응(adaptation)이 적용되는 경우, 즉 CU 단위로 QP가 적응적으로 결정되는 경우에는 QP 델타 정보가 부호화 장치에서 복호화 장치로 전송될 수 있다. 여기서, QP 델타 정보는 CU에 대한 양자화 파라미터의 값 및 상기 양자화 파라미터의 예측 값 간의 차이 값을 나타내는 정보를 의미할 수 있다.
일례로, QP 델타 정보는 ‘cu_qp_delta’의 신택스 요소를 통해 부호화 장치에서 복호화 장치로 전송될 수 있다. 다른 예로, QP 델타 정보는, CU에 대한 양자화 파라미터의 값과 상기 양자화 파라미터의 예측 값 간의 차이의 절대 값을 나타내는 ‘cu_qp_delta_abs’ 및 상기 차이 값의 부호를 나타내는 ‘cu_qp_delta_sign’의 신택스 요소를 통해 전송될 수도 있다.

상술한 실시예에서 서술된 신택스 요소들 및 변수들의 명칭은 임의적인 것이며, 본 발명은 이러한 명칭에 한정되는 것은 아니다. 본 명세서에서 정의되는 신택스 요소들 및 변수들의 명칭은 임의적인 것이며, 이와 동일하거나 유사한 기능을 갖는 신택스 요소들 및 변수들은 그 명칭에 관계 없이 본 발명의 권리 범위에 포함된다 할 것이다. 다만, 본 명세서에서 상술한 실시예에서와 동일한 명칭의 신택스 요소나 변수가 언급되는 경우, 그 신택스 요소나 변수는 상술한 실시예에서와 동일한 의미를 갖는 것으로 해석될 수 있다.

한편, 높은 코딩 효율이 요구되는 영상 정보를 처리하는 경우에는 엔트로피 코딩(엔트로피 부호화/엔트로피 복호화)이 이용될 수 있다. 영상 정보는 도 1에서 설명한 바와 같이, 엔트로피 부호화를 거쳐 비트스트림을 통해 복호화 장치에 전송될 수 있다. 또한, 복호화 장치는 도 2에서 설명한 바와 같이, 수신된 비트스트림을 엔트로피 복호화하여 영상 정보를 획득할 수 있다.
영상 정보의 엔트로피 부호화/복호화를 위해서 CABAC(Contex-based Adaptive Binary Arithmetic Code: 컨텍스트 기반 적응형 산술 코드)이 이용될 수 있다. CABAC에 있어서, 컨텍스트 기반이란 주위의 상황에 따라 부호화/복호화 효율이 좋은 코딩 방식을 적응적으로 선택함을 의미할 수 있다. 이와 관련하여, 서로 다른 컨덱스트를 이용한다는 것은, 독립적인 컨텍스트 업데이트(update)를 통해서, 서로 다른 확률 모델을 적용하여 코딩한다는 것을 의미할 수 있다.
이하, CABAC을 기반으로 하는 엔트로피 부호화/엔트로피 복호화 방법의 실시예들이 서술된다.

도 4는 본 발명에서 적용되는 엔트로피 부호화부 구성의 일 실시예를 개략적으로 나타내는 블록도이다.
도 4를 참조하면, 엔트로피 부호화부(400)는 이진화(binarization)부(410), 정규 부호화 엔진(regular encoding engine, 420) 및 바이패스 부호화 엔진(bypass encoding engine, 430)을 포함할 수 있다. 여기서, 엔트로피 부호화부(400)는 도 1에 도시된 엔트로피 부호화부(130)일 수 있다.
이진화부(410)에는 신택스 요소의 값이 입력될 수 있다. 이진화부(410)는 신택스 요소의 값을 빈 스트링(bin string)으로 변환하여 출력할 수 있다. 여기서, 빈 스트링은 하나 이상의 빈(bin)으로 구성되는 이진 시퀀스(binary sequence)또는 이진 코드(binary code)를 의미할 수 있다. 빈(bin)은 심볼 및/또는 신택스 요소의 값이 이진화를 통해 이진 시퀀스(또는 이진 코드)로 표현될 때 이진 시퀀스(또는 이진 코드)를 구성하는 각 자리수의 값(0 또는 1)을 의미할 수 있다.
각각의 신택스 요소에는 미리 정해진 이진화 방식 또는 미리 정해진 이진화 타입이 적용될 수 있으며, 이진화 방식은 신택스 요소에 따라 다르게 정해질 수 있다. 신택스 요소에 적용될 수 있는 이진화 타입에는 예컨대, 유너리(unary) 이진화, 절삭된 유너리(truncated unary) 이진화, 절삭된 라이스(truncated rice) 이진화, 지수 골룸(Exp-Golomb) 이진화 및 고정 길이(fixed-length) 이진화 등이 있을 수 있다.
이진화된 신호(빈 스트링)는 정규 부호화 엔진(420) 또는 바이패스 부호화 엔진(430)으로 입력될 수 있다. 엔트로피 부호화부(400)는 정규 부호화 엔진(420)을 통해 엔트로피 부호화를 수행할 것인지, 바이패스 부호화 엔진(430)을 통해 엔트로피 부호화를 수행할 것인지를 결정하고 부호화 경로를 스위칭할 수 있다. 정규 부호화 엔진(420) 및 바이패스 부호화 엔진(430)은 산술 부호화(arithmetic encoding)를 수행할 수 있다.
정규 부호화 엔진(420)은 해당 빈에 대하여 확률 값을 반영하는 컨텍스트를 할당하고, 할당된 컨텍스트에 기반하여 해당 빈을 부호화할 수 있다. 정규 부호화 엔진(420)은 각 빈에 대한 부호화를 수행한 뒤에 해당 빈에 대한 확률 및/또는 컨텍스트를 업데이트할 수 있다.
바이패스 부호화 엔진(430)은 입력되는 빈에 따라서 컨텍스트를 할당하지 않고 단순한 바이패스 모드로 입력되는 빈을 부호화함으로써, 부호화 속도를 향상시킬 수 있다. 바이패스 모드에서는 입력된 빈에 대해서 확률을 추정하는 절차와 부호화 후에 해당 빈에 적용했던 확률을 갱신하는 절차를 바이패스(bypass)할 수 있다. 예컨대, 바이패스 모드에서는 균일한 확률 분포를 적용하여 부호화 절차를 수행할 수 있다.

도 5는 본 발명에서 적용되는 엔트로피 복호화부 구성의 일 실시예를 개략적으로 나타내는 블록도이다.
도 5를 참조하면, 엔트로피 복호화부(500)는 이진화(binarization)부(510), 정규 복호화 엔진(regular decoding engine, 520) 및 바이패스 복호화 엔진(bypass decoding engine, 530)을 포함할 수 있다. 여기서, 엔트로피 복호화부(500)는 도 2에 도시된 엔트로피 복호화부(210)일 수 있다.
이진화부(510)는 신택스 요소에 대한 요청에 따라서, 해당 신택스 요소에 대한 이진화(binarization)를 유도할 수 있다. 여기서, ‘이진화’를 유도한다는 것은 해당 신택스 요소가 가질 수 있는 값들에 대한 이진화 과정을 수행함으로써 빈 스트링들(또는 이진 코드들)을 획득하는 과정을 의미할 수 있다. 즉, 도 5에서 신택스 요소에 대한 이진화 결과는 해당 신택스 요소가 가질 수 있는 값들에 대한 이진 코드들을 의미할 수 있다.
상술한 바와 같이, 각각의 신택스 요소에는 미리 정해진 이진화 방식 또는 미리 정해진 이진화 타입이 적용될 수 있으며, 이진화 방식은 신택스 요소에 따라 다르게 정해질 수 있다. 신택스 요소에 적용될 수 있는 이진화 타입에는 예컨대, 유너리(unary) 이진화, 절삭된 유너리(truncated unary) 이진화, 절삭된 라이스(truncated rice) 이진화, 지수 골룸(Exp-Golomb) 이진화 및 고정 길이(fixed-length) 이진화 등이 있을 수 있다.
각 신택스 요소에 대한 ‘이진화’는 소정의 계산 과정을 통해 이진화부(510)에 의해 유도될 수도 있고, ‘이진화’를 나타내는 소정의 테이블 또는 결과 값이 복호화 장치에 미리 저장되어 있을 수도 있다. 입력되는 신호에 대한 이진화 결과(예컨대, 신택스 요소 값들 및 이진 코드들 간의 매핑 관계)가 복호화 장치에 미리 저장되는 있는 경우에, 입력되는 신호는 이진화부(510)를 거치지 않을 수도 있다. 이 경우, 도 5의 실시예에서 이진화부(510)의 구성은 생략될 수도 있다.
엔트로피 복호화부(500)는 요청되는 신택스 요소에 관한 빈(bin)별로 정규 복호화 엔진(520)에서 복호화될 것인지 바이패스 복호화 엔진(530)에서 복호화될 것인지를 결정할 수 있다. 이러한 과정은 이진화부(510)에서 수행될 수도 있고 이진화부(510)와 구별되는 별개의 구성을 통해 수행될 수도 있다.
또한, 해당 신택스 요소(또는 신택스 요소에 관한 빈)가 정규 복호화 엔진(520)에서 복호화되는 경우, 엔트로피 복호화부(500)는 슬라이스 타입에 따라서 다른 컨텍스트가 정의되도록 오프셋 값을 설정할 수 있다. 오프셋 값 설정 과정은 이진화부(510)에서 수행될 수도 있고 이진화부(510)와 구별되는 별개의 구성을 통해 수행될 수도 있다.
상기 오프셋 값은 컨텍스트 인덱스를 유도하기 위해 사용될 수 있다. 여기서, 컨텍스트 인덱스는 복호화 대상 빈에 적용되는 컨텍스트를 지시하는 인덱스를 의미할 수 있다. 본 명세서에서 상기 오프셋은 컨텍스트 인덱스 오프셋(context index offset)이라 하며, 이는 일례로 ‘ctxIdxOffset’으로 나타내어질 수 있다.
예컨대, 컨텍스트 인덱스 오프셋 값은 현재 슬라이스의 슬라이스 타입에 따라서 결정될 수 있다. 즉, 컨텍스트 인덱스 오프셋 값은 현재 슬라이스가 I 슬라이스인지, P 슬라이스인지, B 슬라이스인지에 따라서 결정될 수 있다. 컨텍스트 인덱스 오프셋 값은 컨텍스트 인덱스 도출에 사용되므로, 엔트로피 복호화부(500)는 현재 슬라이스의 슬라이스 타입에 따라서, 동일한 빈 인덱스에 대해 서로 다른 컨텍스트 인덱스가 할당되도록 할 수 있다.
정규 복호화 엔진을 이용하는 것으로 결정되면, 정규 복호화 엔진(520)에서 컨텍스트를 기반으로 하는 복호화 과정이 수행될 수 있다.
신택스 요소에 대해 엔트로피 부호화된 값들에 있어서 각각의 빈들은 빈 인덱스(binIdx)에 의해 인덱싱될 수 있다. 예컨대, 1번째 빈에는 0의 빈 인덱스 값이 할당될 수 있고, 2번째 빈에는 1의 빈 인덱스 값이 할당될 수 있으며, n번째 빈(여기서, n은 0 이상의 정수임)에는 n-1의 빈 인덱스 값이 할당될 수 있다. 정규 복호화 엔진(520)은 각 빈에 대하여 컨텍스트 인덱스(ctxIdx)를 유도할 수 있다.
컨텍스트 인덱스를 유도하기 위해, 정규 복호화 엔진(520)은 요청된 신택스 요소 및 복호화 대상 빈의 빈 인덱스를 기반으로 컨텍스트 인덱스 증가분(context index increments)을 결정할 수 있다. 이 때, 일례로 정규 복호화 엔진(520)은 복호화 장치에 미리 저장된 ‘컨텍스트 테이블’을 기반으로 컨텍스트 인덱스 증가분을 결정할 수도 있다. 컨텍스트 인덱스 증가분은 일례로 변수 ‘ctxIdxInc’에 의해 나타내어질 수 있다. 정규 복호화 엔진(520)은 컨텍스트 인덱스 증가분을 컨텍스트 인덱스 오프셋과 더함으로써, 해당 빈에 대한 컨텍스트 인덱스를 도출할 수 있다. 즉, 컨텍스트 인덱스(ctxIdx)는 슬라이스 타입에 따라 결정된 컨텍스트 인덱스 오프셋(ctxIdxOffset) 및 각 빈 별로 결정되는 컨텍스트 인덱스 증가분(ctxIdxInc)의 합으로 나타내어질 수 있다.
컨텍스트 인덱스가 유도되면, 정규 복호화 엔진(520)은 컨텍스트 인덱스를 기반으로 복호화 대상 빈에 대한 산술 복호화 과정을 수행할 수 있다. 이 때, 컨텍스트 인덱스를 기반으로 초기화된 확률 변수(pStateIdx)가 산술 복호화 과정에 이용될 수 있다. 여기서, 확률 변수는 빈의 발생 확률을 나타내는 변수를 의미할 수 있다. 확률 변수를 유도하기 위한 초기 값은 컨텍스트 인덱스 및 ‘컨텍스트 인덱스 테이블’을 이용하여 결정될 수 있다. 해당 신택스 요소에 적용되는 컨텍스트 인덱스 테이블은 소정의 지시자, 예컨대, 컨텍스트 인덱스 테이블 지시자(ctxIdxTable)를 이용하여 특정될 수 있다. 정규 복호화 엔진(520)은 각 빈에 대한 복호화를 수행한 뒤에 해당 빈에 대한 확률 변수(및/또는 컨텍스트)를 업데이트할 수 있다.
바이패스 복호화 엔진을 이용하는 것으로 결정되면, 바이패스 복호화 엔진(530)에서 균일한 확률 분포를 이용한 복호화가 수행될 수 있다. 따라서, 바이패스 복호화 엔진(530)에서는 정규 복호화 엔진(520)과 달리 컨텍스트 인덱스가 별도로 유도되지 않을 수 있다.
정규 복호화 엔진(520) 및 바이패스 복호화 엔진(530) 각각에서의 복호화에 의해 이진 코드가 출력될 수 있다.
특정 신택스 요소에 대한 모든 빈에 대해서 복호화 엔진에서의 복호화가 완료되면, 엔트로피 복호화부(500)는 해당 신택스 요소의 모든 빈을 합한 이진 코드가 어떤 신택스 요소 값에 매핑되는지를 판단할 수 있다. 이 때, 일례로 이진화부(510)에서 유도된 ‘이진화’ 결과가 이용될 수 있다. 출력된 최종 이진 코드가 특정 신택스 요소 값에 매핑되는 경우, 그 값이 신택스 요소의 값으로 결정될 수 있다.

도 6은 본 발명이 적용되는 엔트로피 복호화 과정의 일 예를 개략적으로 설명하는 순서도이다. 설명의 편의를 위해, 도 6에서는 단일 빈에 대한 복호화 과정을 일 예로서 설명한다.
도 6에 도시된 복호화 과정은, 복호화 장치, 더 구체적으로는 복호화 장치 내의 엔트로피 복호화부에서 수행될 수 있다. 여기서는 설명의 편의를 위해, 엔트로피 복호화부에서 각 과정을 수행하는 것으로 설명한다.
도 6을 참조하면, 엔트로피 복호화부는 입력된 복호화 대상 빈에 대하여, 바이패스 복호화를 적용할 것인지를 판단할 수 있다(S610). 엔트로피 복호화부는 대상 빈에 대한 정보를 기반으로 바이패스 복호화를 적용할 것인지를 판단할 수 있다. 예컨대, 테이블을 기반으로 고정적인 컨텍스트가 사용되는 경우, 엔트로피 복호화부는 해당 신택스 요소에 대해 테이블 상에서 할당되는 지시를 기반으로 바이패스 복호화를 적용할 것인지를 판단할 수도 있다. 또한, 테이블을 기반으로 고정적인 컨텍스트가 사용되는 경우, 엔트로피 복호화부는 해당 신택스 요소에 대해 테이블 상에서 할당되는 인덱스, 오프셋 등에 기반하여 바이패스 복호화를 적용할 것인지를 판단할 수도 있다.
엔트로피 복호화부는 바이패스 복호화를 적용하는 것으로 판단한 경우에, 입력된 빈에 대한 바이패스 복호화를 수행할 수 있다(S620). 바이패스 복호화를 수행하는 경우 엔트로피 복호화부는 부호화의 경우와 마찬가지로 균일한 확률 분포를 이용할 수 있다. 엔트로피 복호화부는 바이패스 복호화 엔진의 상태에 따라서, 코드 인터벌 구간(Code Interval Range) codIRange와 코드 인터벌 오프셋(Code Interval Offset) codIOffset을 비교하여, 빈의 값을 할당할 수 있다. 예컨대, 코드 인터벌 오프셋이 코드 인터벌 구간보다 같거나 크면 빈의 값으로 1의 값이 할당되고, 코드 인터벌 오프셋이 코드 인터벌 구간보다 작으면 빈의 값으로 0의 값이 할당될 수 있다. 이 때, 코드 인터벌 구간과 코드 인터벌 오프셋을 직접 비교하기 위해, 코드 인터벌 구간 또는 코드 인터벌 오프셋의 값이 적절히 조정될 수도 있다.
S610 단계에서 바이패스 복호화가 수행되지 않는다고 판단된 경우에, 엔트로피 복호화부는 복호화 종료 조건이 만족되는지를 판단할 수 있다(S630). 예컨대, 컨텍스트 인덱스(ctxIdx)의 값이 0이고, 컨덱스트 인덱스 테이블 지시자(ctxIdxTable)의 값이 0이면, 엔트로피 복호화부는 복호화 과정을 종료(terminate)하도록 할 수 있다. 또한, 종료 조건이 만족되었는지 여부는 인덱스들의 값에 따라서 결정되지 않고, 부호화 장치로부터 전송된 플래그 정보 또는 신택스 정보에 의해 결정될 수도 있다. 이 때, 플래그 정보 또는 신택스 정보가 지시하는 종료 조건과 인덱스 값에 의해 결정되는 종료 조건이 동일할 수도 있다.
종료 조건이 만족되면, 엔트로피 복호화부는 상술한 바와 같이 복호화 과정을 종료할 수 있다(S640). 엔트로피 복호화부는 복호화 과정의 종료 전에 소정의 설정 값을 빈의 값으로 할당할 수도 있다. 이 때, 엔트로피 복호화부는 바이패스 복호화에 의해 빈의 값을 할당할 수도 있다.
종료 조건이 만족되지 않는 경우, 엔트로피 복호화부는 복호화 과정을 수행할 수 있다(S650). 엔트로피 복호화부는 상술한 바와 같이 복호화 대상 빈을 지시하는 빈 인덱스(예컨대, binIdx), 복호화 대상 빈에 적용되는 컨텍스트를 지시하는 컨텍스트 인덱스(예컨대, ctxIdx)를 기반으로 복호화 대상 빈에 대한 산술 복호화를 수행할 수 있다.

도 7은 정규 복호화 엔진이 이용되는 경우의 엔트로피 복호화 과정의 일 실시예를 개략적으로 나타내는 흐름도이다. 설명의 편의를 위해, 도 7에서는 단일 빈에 대한 복호화 과정을 일 예로서 설명한다.
도 7에 도시된 복호화 과정은, 복호화 장치, 더 구체적으로는 복호화 장치 내의 엔트로피 복호화부에서 수행될 수 있다. 여기서는 설명의 편의를 위해, 엔트로피 복호화부에서 각 과정을 수행하는 것으로 설명한다.
도 7을 참조하면, 엔트로피 복호화부는 신택스 요소에 대한 요청에 따라서, 해당 신택스 요소에 대한 이진화를 유도할 수 있다(S710). 여기서, ‘이진화’를 유도한다는 것은 해당 신택스 요소가 가질 수 있는 값들에 대한 이진화 과정을 수행함으로써, 빈 스트링들(또는 이진 코드들)을 획득하는 과정을 의미할 수 있다. 상술한 바와 같이, 입력되는 신호에 대한 이진화 결과(예컨대, 신택스 요소 값들 및 이진 코드들 간의 매핑 관계)가 복호화 장치에 미리 저장되는 있는 경우에, S710의 이진화 유도 과정은 생략될 수도 있다. 이진화 방식 등의 구체적인 실시예는 도 5에서 상술한 바 있으므로, 여기서는 이에 대한 설명은 생략하기로 한다.
다시 도 7을 참조하면, 엔트로피 복호화부는 복호화 대상 빈에 대한 컨텍스트 인덱스(ctxIdx)를 유도할 수 있다(S720).
상술한 바와 같이 엔트로피 복호화부는 슬라이스 타입에 따라서 다른 컨텍스트가 정의되도록, 신택스 요소에 대해 컨텍스트 인덱스 오프셋(ctxIdxOffset) 값을 결정할 수 있다. 컨텍스트 인덱스 오프셋 값은 현재 슬라이스가 I 슬라이스인지, P 슬라이스인지, B 슬라이스인지에 따라서 결정될 수 있다.
신택스 요소에 대해 엔트로피 부호화된 값들에 있어서 각각의 빈들은 빈 인덱스(binIdx)에 의해 인덱싱될 수 있다. 엔트로피 복호화부는 요청된 신택스 요소 및 복호화 대상 빈의 빈 인덱스를 기반으로 컨텍스트 인덱스 증가분(ctxIdxInc)을 결정할 수 있다. 예컨대, 엔트로피 복호화부는 복호화 장치에 미리 저장된 ‘컨텍스트 테이블’을 기반으로 컨텍스트 인덱스 증가분을 결정할 수 있다.
엔트로피 복호화부는 컨텍스트 인덱스 오프셋 값 및 컨텍스트 인덱스 증가분을 합하여 복호화 대상 빈에 대한 컨텍스트 인덱스를 도출할 수 있다.
다시 도 7을 참조하면, 엔트로피 복호화부는 컨텍스트 인덱스를 기반으로 복호화 대상 빈에 대한 산술 복호화(arithmetic decoding) 과정을 수행할 수 있다(S730). 이 때, 컨텍스트 인덱스를 기반으로 초기화된 확률 변수(pStateIdx)가 산술 복호화 과정에 이용될 수도 있다.
특정 신택스 요소에 대한 모든 빈에 대해서 복호화가 완료되면, 엔트로피 복호화부는 해당 신택스 요소의 모든 빈을 합한 이진 코드가 어떤 신택스 요소 값에 매핑되는지를 판단할 수 있다. 이 때, 일례로 S710 단계에서 유도된 이진화 결과가 이용될 수 있다. 출력된 최종 이진 코드가 특정 신택스 요소 값에 매핑되는 경우, 그 값이 신택스 요소의 값으로 결정될 수 있다.

이하, 컨텍스트를 이용하여 복호화를 수행하는 방법에 대하여 구체적으로 설명한다.
여기서, 컨텍스트는 상술한 컨텍스트 인덱스 증가분(ctxIdxInc), 컨텍스트 인덱스(ctxIdx) 및/또는 컨텍스트 인덱스에 의해 유도되는 확률이나 확률 변수에 의해 표현될 수 있다.
상술한 바와 같이, 컨텍스트 인덱스는 슬라이스 타입에 따라 결정된 컨텍스트 인덱스 오프셋(ctxIdxOffset) 및 각 빈 별로 결정되는 컨텍스트 인덱스 증가분(ctxIdxInc)의 합으로 나타내어질 수 있다. 또한, 컨텍스트 인덱스 증가분은 요청된 신택스 요소 및 복호화 대상 빈의 빈 인덱스를 기반으로 결정될 수 있다.
컨텍스트 인덱스 증가분은 컨텍스트 인덱스 오프셋과 함께 컨텍스트 인덱스를 유도하기 위한 하나의 요소에 해당되므로, 후술되는 실시예들에서는 설명의 편의상 복호화 대상 빈의 빈 인덱스에 대응하여 결정되는 ‘컨텍스트 인덱스 증가분’이, ‘컨텍스트 인덱스’로 지칭될 수 있다. 이 경우, 확률 모델을 나타내거나 확률 변수를 유도하기 위해 사용되는 실제 컨텍스트의 종류는 ‘컨텍스트 인덱스’와 ‘컨텍스트 인덱스 오프셋’의 합으로 나타내어지는 것으로 볼 수도 있다. 이러한 구별은 해당 기술 분야의 통상의 지식을 가진 자라면 명확하게 이해할 수 있을 것이다.
또한, 후술되는 실시예들 중 일부는 슬라이스 타입에 따라 결정되는 컨텍스트 인덱스 오프셋을 고려하지 않고 서술될 수도 있다. 이러한 실시예들에서 복호화 대상 빈에 대해 적용되는 컨텍스트는 슬라이스 타입에 관계 없이 결정되는 것으로 볼 수 있으며, ‘컨텍스트 인덱스’로 지칭되는 ‘컨텍스트 인덱스 증가분’이 해당 복호화 대상 빈의 컨텍스트를 나타내는 것으로 볼 수도 있다.
그러나, 본 발명은 이에 한정되는 것은 아니다. 본 명세서에서는 컨텍스트 인덱스 오프셋이 고려되지 않은 실시예에도, 슬라이스 타입에 따라 결정되는 컨텍스트 인덱스 오프셋이 추가로 적용될 수 있다. 이러한 경우 복호화 대상 빈의 실제 컨텍스트는 ‘컨텍스트 인덱스 오프셋’과 컨텍스트 인덱스로 지칭되는 ‘컨텍스트 인덱스 증가분’의 합에 의해 나타내어지는 것으로 볼 수 있다.

상술한 바와 같이, 높은 코딩 효율이 요구되는 영상 정보를 처리하는 경우에는 엔트로피 코딩(엔트로피 부호화/엔트로피 복호화)이 이용될 수 있다. 엔트로피 코딩에는 지수 골룸과 같은 기본적인 코딩 방법 외에 가변 길이 코딩(Variable Length Coding: VLC)이나 상술한 컨텍스트 기반 적응적 산술 코딩(Context-based Adaptive Binary Arithmetic Code: CABAC) 등이 이용될 수 있다.
CABAC에 있어서 컨텍스트 기반이란, 주위의 상황을 고려하여 더 효율이 좋은 코딩 방식을 적응적으로 선택하여 적용하는 것을 의미할 수 있다. 이와 관련하여, 서로 다른 컨텍스트를 이용한다는 것은, 독립적인 컨텍스트 업데이트 또는 독립적인 확률 업데이트를 통해서, 서로 다른 확률 모델을 적용하여 코딩하는 것을 의미할 수 있다.
CABAC에서 컨텍스트를 코딩에 활용하는 방법으로 아래와 같은 방식들이 고려될 수 있다.
<컨텍스트 활용 방법>
(a) 컨텍스트를 주위 상황에 따라 산출하여 적응적으로 코딩에 활용하는 방법.
(b) 고정된 컨텍스트를 사용하도록 사전에 특정 컨텍스트 테이블을 정의하고, 정의된 컨텍스트 테이블에서 지정된 컨텍스트를 사용하는 방법.
(c) 컨텍스트를 참조하지 않고, 이진 코드(binary code)를 그대로 코딩(부호화/복호화)하는 바이패스 코딩(바이패스 부호화/바이패스 복호화) 방법.
(d) 상기 (a)~(c) 의 방법을 선택적으로 조합하여 사용하는 방법.
컨텍스트 활용 방법 중 (a)의 방법은 코딩 전에 주위 상황을 고려하여 컨텍스트를 계산하는 과정이 수반되므로, 가장 높은 복잡도를 가질 수 있다. 일례로, 부호화 장치는 주변 상황, 예컨대, 전후의 빈에 적용된 컨텍스트 또는 현재 블록보다 먼저 코딩된 블록(예컨대, 좌측 블록이나 상측 블록) 등의 컨텍스트 등을 살펴서 코딩할 신택스 요소의 이진 코드를 구성하는 각 빈 별로 컨텍스트를 산출할 수 있다. 부호화 장치는 산출된 컨텍스트에 관한 정보를 복호화 장치에 전송할 수 있다. 복호화 장치는 수신한 컨텍스트 정보를 기반으로 해당 빈에 대한 복호화를 수행할 수 있다. 다른 예로, 부호화 장치가 각 빈에 대한 컨텍스트를 결정해서 전송하지 않고, 부호화 장치와 복호화 장치가 동일한 방법에 의해 주변 상황을 고려하여 컨텍스트를 산출할 수도 있다.
상기 컨텍스트 활용 방법 중 (b)의 방법은, (a)의 방법처럼 매번 컨텍스트를 계산하지 않고, 특정 신택스 요소의 이진 코드를 구성하는 각 빈에 대하여 컨텍스트 인덱스를 할당하는 컨덱스트 테이블을 미리 설정하고, 컨텍스트 테이블에서 할당되는 컨텍스트 인덱스가 지시하는 컨텍스트를 해당 빈의 복호화에 이용하는 방법이다. (b)의 방법을 사용하는 경우에는, 각 빈에 대하여 고정된 컨텍스트가 사용될 수도 있다.
다음 표 1은 (b)의 방법이 적용되는 경우에, 빈 인덱스 및 각 빈에 대해 할당되는 컨텍스트 인덱스의 매핑 관계를 나타내는 컨텍스트 테이블의 일 실시예를 개략적으로 나타내는 표이다.
[표 1]
Figure PCTKR2013000276-appb-I000001

표 1은 특정 신택스 요소에 대한 엔트로피 코딩이 수행된다고 가정할 때, 해당 신택스 요소에 적용되는 컨텍스트 테이블의 일 실시예를 나타낸다.
표 1의 실시예에서, 빈 인덱스 binIdx는, 신택스 요소의 이진 코드를 구성하는 빈들 중에서 특정 빈을 지시할 수 있다. 여기서, 상기 이진 코드는 신택스 요소에 대해 컨텍스트를 기반으로 부호화된 이진 코드를 의미할 수 있다. 부호화된 이진 코드는 코드워드(codeword)로도 불릴 수 있다.
예컨대, binIdx의 값이 0이면 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 빈들 중에서 1번째 빈을 지시하고, binIdx의 값이 3이면 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 빈들 중에서 4번째 빈을 지시할 수 있다. 신택스 요소는 예컨대, cbf_luma, cu_qp_delta, inter_pred_flag 등과 같이 부호화 장치로부터 복호화 장치로 전송되는 신택스 요소일 수 있다.
표 1의 실시예를 참조하면, 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 빈들(0~4)에 대해, 컨텍스트 인덱스가 각각 할당될 수 있다. 컨텍스트 인덱스들(Idx0 ~ Idx4)은 서로 다른 값을 가질 수 있다. 컨텍스트 인덱스는 복호화 대상 빈에 대해서 적용될 컨텍스트(및/또는 확률 모델)를 지시할 수 있다. 예컨대, 컨텍스트 인덱스를 기반으로 확률 변수(pStateIdx)가 초기화될 수 있고, 확률 변수를 유도하기 위한 초기 값은 별도의 컨텍스트 인덱스 테이블을 기반으로 결정될 수 있다. 즉, 컨텍스트 인덱스가 지시하는 컨텍스트는 별도의 컨텍스트 인덱스 테이블을 통해 할당될 수 있다.
신택스 요소의 코드워드(또는 이진 코드)를 구성하는 각 빈들은 할당된 컨텍스트 인덱스에 의해 지시되는 컨텍스트(및/또는 확률 모델)에 기반하여 복호화될 수 있다.
복호화 장치는 신택스 요소를 엔트로피 복호화하는 경우에, 특정 빈에 대해서는 해당 빈에 할당된 컨텍스트 인덱스가 지시하는 컨텍스트를 이용할 수 있다. 예컨대, 빈 인덱스 값이 0인 경우에는 Idx0이 지시하는 컨텍스트를 이용하여 1번째 빈을 디코딩할 수 있다.
표 1의 실시예에서는 빈 인덱스의 최대값(maxBinIdxCtx)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 이 때, 최대값보다 큰 빈 인덱스에는 컨텍스트 인덱스가 할당되지 않거나 na(not available)가 할당될 수도 있다.
컨텍스트 활용 방법 중 (c)의 방법은 (a) 또는 (b)보다 복잡도가 높지 않다. (c)의 방법에서 이용되는 바이패스 코딩에서는 상술한 바와 같이, 균일한 확률 분포가 이용되며, 바이패스 코딩은 신속한 코딩을 위해 적용될 수 있다. 바이패스 코딩에 관한 내용은 상술한 바 있으므로, 여기서는 이에 대한 구체적인 설명은 생략하기로 한다.

특정한 이진 코드(binary code)를 CABAC 코딩하는데 있어서, 이진 코드를 구성하는 각 자리의 수 0 또는 1에 대해 컨텍스트가 적용될 수 있다. 여기서, 상기 이진 코드는 신택스 요소에 대해 컨텍스트를 기반으로 부호화된 이진 코드일 수도 있다. 이 때, 이진 코드(또는 코드워드)를 구성하는 각 자리의 수 0 또는 1은 상술한 바와 같이 빈(bin)이라 불릴 수 있다. 예컨대, 이진 코드(또는 코드워드)가 110이라면, 1번째 빈은 1, 2번째 빈은 1, 3번째 빈은 0이 될 수 있다.
CABAC 코딩에서는 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 빈들에 대하여 다양하게 컨텍스트가 결정될 수 있다.
<코드워드(또는 이진 코드)를 구성하는 빈에 대한 컨텍스트 결정 방법>
(A) 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 각각의 빈에 대하여 독립적인 컨텍스트가 적용될 수 있다.
(B) 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 빈들에 대해 동일한 컨텍스트가 공통적으로 적용될 수 있다.
(C) 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 빈들에 대해 바이패스 모드가 적용될 수 있다. 즉, 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 빈들에 대해 바이패스 코딩이 적용될 수 있다.
(D) 상기 (A) 내지 (C)를 조합하여 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 빈들에 대한 컨텍스트가 결정될 수 있다.

방법 (A)에서는, 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 각 빈들에 대하여 독립적인 컨텍스트가 적용될 수 있다. 따라서, 각 빈들에 대한 컨텍스트는 독립적으로 업데이트될 수 있다. 방법 (B)에서는, 코드워드(또는 이진 코드)를 구성하는 빈들에 대해 동일한 컨텍스트가 적용될 수 있으며, 업데이트 역시 동일하게 수행될 수 있다. 방법 (C)에서는 코드워드(또는 이진 코드)를 구성하는 빈들이 모두 바이패스 모드로 코딩되므로, 신속한 복호화가 수행될 수 있다.
또한, 방법 (D)에 따라서, 상기 방법 (A) 내지 방법 (C)가 조합되어 적용될 수도 있다. 예컨대, 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 빈들 중에서 일부 빈들에 대해서는 각각 독립적인 컨텍스트가 적용되고, 일부 빈들에 대해서는 동일한 컨텍스트가 공통적으로 적용될 수 있다. 또한, 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 빈들 중에서 일부 빈들에 대해서는 각각 독립적인 컨텍스트가 적용되고, 일부 빈들에 대해서는 바이패스 모드가 적용될 수도 있다. 또한, 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 빈들 중에서 일부 빈들에 대해서는 동일한 컨텍스트가 적용되고, 일부 빈들에 대해서는 바이패스 모드가 적용될 수도 있다. 또한, 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 빈들 중에서 일부 빈들에 대해서는 각각 독립적인 컨텍스트가 적용되고, 일부 빈들에 대해서는 동일한 컨텍스트가 공통적으로 적용되며, 일부 빈들에 대해서는 바이패스 모드가 적용될 수도 있다.

한편, 상기 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 빈에 대한 컨텍스트 결정 방법 (A)~(D)는 상기 컨텍스트 활용 방법 (a) ~ (d)와 함께 적용될 수도 있다.
예컨대, 방법 (A)를 기반으로 특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 코드워드(또는 이진 코드)를 구성하는 모든 빈에 독립적인 컨텍스트가 적용되며, 적용되는 독립적인 컨텍스트는 적용될 빈에 대하여 주변 환경을 고려하여 산출되도록 할 수 있다. 또한, 특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 코드워드(또는 이진 코드)를 구성하는 모든 빈에 독립적인 컨텍스트가 적용되며, 적용되는 독립적인 컨텍스트는 미리 설정된 컨텍스트 테이블을 통해서 지시되도록 할 수도 있다.
다음 표 2는 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 각 빈들에 대해 독립적인 컨텍스트 인덱스가 할당되는 경우, 미리 정해진 컨텍스트 테이블을 통해 컨텍스트 인덱스가 할당되는 실시예를 나타낸다.
[표 2]
Figure PCTKR2013000276-appb-I000002

표 2는 특정 신택스 요소 A에 대해 엔트로피 코딩이 수행되는 경우, 신택스 요소 A에 적용되는 컨텍스트 테이블의 일 실시예를 나타낸다.
표 2에서, 각 빈 별 컨텍스트 인덱스들(Idx0~Idx4)은 각각 독립적으로 해당 빈에 대해 적용될 컨텍스트를 지시할 수 있다. 이 때, 컨텍스트 인덱스들에 의해 지시되는 컨텍스트들은 각각 서로 독립적으로 업데이트될 수 있다.
표 2의 실시예에서는 빈 인덱스의 최대값(maxBinIdxCtx)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 이 때, 최대값보다 큰 빈 인덱스에는 컨텍스트 인덱스가 할당되지 않거나 na(not available)가 할당될 수도 있다.
한편, 특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 코드워드(또는 이진 코드)를 구성하는 빈들 중 일부 빈들에 독립적인 컨텍스트가 적용되며, 일부 빈들에 대해서는 바이패스 모드가 적용될 수 있다. 이 때, 미리 구성된 컨텍스트 테이블에서 각각의 빈 별로 독립적으로 컨텍스트 인덱스 또는 바이패스 모드가 설정될 수도 있다. 또한, 일례로 컨텍스트 인덱스들은 상술한 바와 같이 주변 환경을 고려하여 산출될 수도 있다.
다음 표 3은 특정 신택스(신택스 요소)의 코드워드(또는 이진 코드)를 구성하는 빈들 중에서 일부 빈들에 대해서는 독립적인 컨텍스트가 적용되고, 일부 빈들에 대해서는 바이패스 모드가 적용되는 경우에 이용될 수 있는 컨텍스트 테이블의 일 실시예를 나타낸다.
[표 3]
Figure PCTKR2013000276-appb-I000003

표 3은, 특정 신택스 요소 B에 대해 엔트로피 코딩이 수행되는 경우, 신택스 요소 B에 적용되는 컨텍스트 테이블의 일 실시예를 나타낸다.
표 3의 실시예에서는, 신택스 요소 B의 코드워드(또는 이진 코드)를 구성하는 빈들 중에서 1번째, 3번째, 5번째 빈들에 독립적인 컨텍스트가 적용될 수 있고, 2번째, 4번째 빈들에 대해서는 바이패스 모드가 적용될 수 있다.
표 3의 실시예에서는 빈 인덱스의 최대값(maxBinIdxCtx)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 이 때, 최대값보다 큰 빈 인덱스에는 컨텍스트 인덱스가 할당되지 않거나 na(not available)가 할당될 수도 있다.
또한, 방법 (A)와 방법 (B)를 기반으로 특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 코드워드(또는 이진 코드)를 구성하는 일부 빈에는 독립적인 컨텍스트가 적용되고, 다른 일부 빈에는 동일한 컨텍스트가 공통적으로 적용될 수 있다. 이 때, 일례로 각각의 컨텍스트 인덱스들은 적용될 빈에 대하여 주변 환경을 고려하여 산출될 수도 있다. 다른 예로, 각각의 컨텍스트 인덱스들은 미리 설정된 컨텍스트 테이블을 통해서 지시될 수도 있다.
다음 표 4는 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 각 빈들에 대하여, 일부 빈들에 대해서는 각각 독립적인 컨텍스트가 적용되고, 일부 빈들에 대해서는 동일한 컨텍스트가 공통적으로 적용되는 경우, 미리 정해진 컨텍스트 테이블을 통해 컨텍스트 인덱스가 할당되는 실시예를 나타낸다.
[표 4]
Figure PCTKR2013000276-appb-I000004

표 4는 특정 신택스 요소 C에 대해 엔트로피 코딩이 수행되는 경우, 신택스 요소 C에 적용되는 컨텍스트 테이블의 일 실시예를 나타낸다.
표 4에서, 2번째 빈과 3번째 빈에 대해서는 컨텍스트 인덱스 Idx1이 지시하는 동일한 컨텍스트가 적용될 수 있다. 1번째 빈, 4번째 빈 및 5번째 빈에는 각각 컨텍스트 인덱스 Idx0, Idx2, Idx3이 지시하는 컨텍스트가 적용될 수 있다. 컨텍스트 인덱스 Idx0 내지 Idx3은 서로 다른 값을 가질 수 있고, 각 컨텍스트 인덱스들에 의해 지시되는 컨텍스트들은 서로 독립적으로 업데이트 될 수 있다.
표 4의 실시예에서는 빈 인덱스의 최대값(maxBinIdxCtx)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 이 때, 최대값보다 큰 빈 인덱스에는 컨텍스트 인덱스가 할당되지 않거나 na(not available)가 할당될 수도 있다.
한편, 특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 코드워드(또는 이진 코드)를 구성하는 빈들 중 일부 빈에는 각각 독립적인 컨텍스트가 적용되고, 일부 빈에는 동일한 컨텍스트가 공통적으로 적용되며, 일부 빈들에 대해서는 바이패스 모드가 적용될 수도 있다.
이 때, 일례로 컨텍스트 인덱스들은 주변 환경을 고려하여 산출될 수 있다. 다른 예로 미리 구성된 컨텍스트 테이블에서 각각의 빈 별로 컨텍스트 인덱스 또는 바이패스 모드가 설정되거나 지시될 수도 있다.
다음 표 5는 특정 신택스(신택스 요소)의 코드워드(또는 이진 코드)를 구성하는 빈들 중에서 일부 빈들에는 각각 독립적인 컨텍스트가 적용되고, 일부 빈들에는 동일한 컨텍스트가 공통적으로 적용되며, 일부 빈들에 대해서는 바이패스 모드가 적용되는 경우에 이용될 수 있는 컨텍스트 테이블의 일 실시예를 개략적으로 나타낸다.
[표 5]
Figure PCTKR2013000276-appb-I000005

표 5는 특정 신택스 요소 D에 대해 엔트로피 코딩이 수행되는 경우, 신택스 요소 D에 적용되는 컨텍스트 테이블의 일 실시예를 나타낸다.
표 5의 실시예에서는, 신택스 요소 D의 코드워드(또는 이진 코드)를 구성하는 빈들 중에서 1번 빈에는 컨텍스트 인덱스 Idx0이 지시하는 컨텍스트가 적용되고, 2번째 빈에는 바이패스 모드가 적용되며, 3번째 빈에는 컨텍스트 인덱스 Idx1이 지시하는 컨텍스트가 적용되고, 4번째 빈 및 5번째 빈에는 컨텍스트 인덱스 Idx2가 지시하는 컨텍스트가 적용될 수 있다.
표 5의 실시예에서는 빈 인덱스의 최대값(maxBinIdxCtx)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 이 때, 최대값보다 큰 빈 인덱스에는 컨텍스트 인덱스가 할당되지 않거나 na(not available)가 할당될 수도 있다.
한편, 방법 (B)를 기반으로 특정 신택스(신택스 요소)의 코드워드(또는 이진 코드)를 구성하는 빈들에 동일한 컨텍스트를 공통적으로 적용될 수도 있다. 이 때, 일례로 공통적으로 적용되는 컨텍스트 인덱스는 빈에 적용될 때 주변 환경을 고려하여 산출될 수 있다. 다른 예로, 공통적으로 적용되는 컨텍스트 인덱스는 미리 구성된 컨텍스트 테이블을 통해서 할당될 수도 있다.
다음 표 6은 특정 신택스(신택스 요소)의 코드워드(또는 이진 코드)를 구성하는 빈들에 동일한 컨텍스트가 공통적으로 적용되는 경우에 이용될 수 있는 컨텍스트 테이블의 일 실시예를 개략적으로 나타낸다.
[표 6]
Figure PCTKR2013000276-appb-I000006

표 6은 특정 신택스 요소 E에 대해 엔트로피 코딩이 수행되는 경우, 신택스 요소 E에 적용되는 컨텍스트 테이블의 일 실시예를 나타낸다.
표 6의 실시예에서는, 신택스 요소 E의 코드워드(또는 이진 코드)를 구성하는 빈들에 컨텍스트 인덱스 Idx0이 지시하는 컨텍스트가 공통적으로 적용될 수 있다.
표 6의 실시예에서는 빈 인덱스의 최대값(maxBinIdxCtx)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 이 때, 최대값보다 큰 빈 인덱스에는 컨텍스트 인덱스가 할당되지 않거나 na(not available)가 할당될 수도 있다.
또한, 특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 코드워드(또는 이진 코드)를 구성하는 빈들 중 일부 빈들에는 동일한 컨텍스트가 공통적으로 적용되고, 일부 빈들에 대해서는 바이패스 모드가 적용될 수도 있다.
이 때, 일례로 컨텍스트 인덱스들은 빈에 컨텍스트가 적용되어야 할 때 주변 환경을 고려하여 산출될 수 있다. 다른 예로, 미리 구성된 컨텍스트 테이블에서 각각의 빈 별로 컨텍스트 인덱스 또는 바이패스 모드가 설정되거나 지시될 수도 있다.
다음 표 7은 특정 신택스(신택스 요소)의 코드워드(또는 이진 코드)를 구성하는 빈들 중에서 일부 빈들에는 동일한 컨텍스트가 공통적으로 적용되고, 일부 빈들에 대해서는 바이패스 모드가 적용되는 경우에 이용될 수 있는 컨텍스트 테이블의 일 실시예를 개략적으로 나타낸다.
[표 7]
Figure PCTKR2013000276-appb-I000007

표 7은 특정 신택스 요소 F에 대해 엔트로피 코딩이 수행되는 경우, 신택스 요소 F에 적용되는 컨텍스트 테이블의 일 실시예를 나타낸다.
표 7의 실시예에서는, 신택스 요소 F의 코드워드(또는 이진 코드)를 구성하는 빈들 중에서 3번째 빈에는 바이패스 모드가 적용되고, 1번째 빈, 2번째 빈, 4번째 빈 및 5번째 빈에는 컨텍스트 인덱스 Idx0이 지시하는 컨텍스트가 적용될 수 있다.
표 7의 실시예에서는 빈 인덱스의 최대값(maxBinIdxCtx)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 이 때, 최대값보다 큰 빈 인덱스에는 컨텍스트 인덱스가 할당되지 않거나 na(not available)가 할당될 수도 있다.

방법 (C)에 기반하여, 특정 신택스(신택스 요소)에 대하여, 해당 신택스(신택스 요소)의 코드워드(또는 이진 코드)를 구성하는 모든 빈에 대해 바이패스 모드가 적용될 수도 있다. 이 때, 일례로 바이패스 모드가 적용되는 것은 해당 신택스(신택스 요소)에 대하여 미리 구성된 컨텍스트 테이블을 통해 지시될 수 있다. 여기서, 상기 컨텍스트 테이블은 모든 빈 인덱스에 대해 바이패스 모드가 할당되는 방식으로 구성될 수 있다.
한편, 컨텍스트 테이블에서, 동일한 빈 인덱스에 서로 다른 복수의 컨텍스트 인덱스가 할당되어 있을 수 있다. 이 때, 복호화 대상 빈에 실제로 적용되는 컨텍스트 인덱스는 주변 환경 또는 소정의 연산을 통해 결정될 수 있다.
컨텍스트 인덱스는 해당 신택스(신택스 요소)가 적용되는 환경(상태 또는 조건)에 따라서 달라질 수 있다. 예컨대, 동일한 빈에 대하여, 신택스(신택스 요소)가 적용되는 블록의 종류, 슬라이스의 종류, 예측 모드, 블록의 크기, 블록의 깊이 등과 같은 상태나 조건에 따라서 코드워드(또는 이진 코드) 내 동일 위치의 빈에 대해 서로 다른 컨텍스트가 적용될 수 있다. 이 때, 어떤 상태는 다른 등가의 상태에 의해 특정될 수도 있다. 예컨대, 블록의 크기가 블록의 깊이에 의해 특정될 수 있고, 블록의 깊이가 블록의 크기에 의해 특정될 수도 있으며, 따라서 두 조건이 동일한 환경을 특정하는 상태 또는 조건이 될 수도 있다.

코드워드(또는 이진 코드)를 구성하는 빈들에 대하여, 동일한 빈에도 상태 또는 조건에 따라서 서로 다른 컨텍스트를 적용하기 위해, 컨텍스트 인덱스 오프셋이 이용될 수 있다. 이 경우에 특정 빈에 적용되는 컨텍스트는, 컨텍스트 테이블 상에서 각각의 빈 인덱스에 할당되는 컨텍스트 인덱스 값과 조건 별로 부가되는 컨텍스트 인덱스 오프셋 값의 합에 의해 지시될 수 있다. 상술한 바와 같이, 여기서 컨텍스트 인덱스라 함은 도 4 내지 도 7의 실시예에서 상술한 컨텍스트 인덱스 증가분을 의미할 수 있으며, 컨텍스트 인덱스 오프셋 및 컨텍스트 인덱스 값의 합에 의해 지시되는 값은 도 4 내지 도 7에서 상술한 컨텍스트 인덱스 값에 해당될 수 있다. 다만, 본 명세서에서 상술한 표 1 이하의 실시예에서는 컨텍스트 인덱스 증가분이 설명의 편의상 컨텍스트 인덱스로 지칭된다.
다음 표 8은 동일한 빈에 대해 컨텍스트 인덱스 오프셋을 기반으로 서로 다른 컨텍스트를 적용하는 경우에 이용될 수 있는 컨텍스트 테이블의 일 실시예를 개략적으로 나타낸다.
[표 8]
Figure PCTKR2013000276-appb-I000008

표 8의 실시예에서, 0 내지 4는 빈 인덱스(binIdx) 값을 나타낼 수 있다. 또한, 컨텍스트 인덱스 오프셋 값 A1, A2, A3는 서로 다른 값일 수 있다. 빈 인덱스 별로 할당된 컨텍스트 인덱스 B0, B1, B2, B3, B4는 전부 또는 일부가 다른 값을 가질 수도 있다.
표 8의 실시예에서는 빈 인덱스의 최대값(maxBinIdxCtx)이 4인 경우를 예시하고 있으나, 빈 인덱스의 최대값은 4보다 클 수도 있고, 4보다 작을 수도 있다. 이 때, 최대값보다 큰 빈 인덱스에는 컨텍스트 인덱스가 할당되지 않거나 na(not available)가 할당될 수도 있다.
컨텍스트 인덱스 오프셋 값은 소정의 상태 또는 조건에 따라서 설정될 수 있다. 예컨대, 컨텍스트 인덱스 오프셋 값은 슬라이스 타입(I 슬라이스, P 슬라이스, B 슬라이스)에 따라 설정될 수 있다. 이 때, A1은 I 슬라이스에 대한 오프셋, A2는 P 슬라이스에 대한 오프셋, A3는 B 슬라이스에 대한 오프셋일 수 있다. 오프셋 값은 슬라이스 타입과 같은 상태 정보 또는 조건으로부터 직접 결정될 수도 있고, 슬라이스 타입과 같은 상태 정보 또는 조건에 의해 결정되는 소정의 타입(예컨대, initType) 값과 같은 매개값을 통해 결정될 수도 있다.
각각의 슬라이스 타입에서 특정 신택스 요소에 대한 오프셋 값은 고정된 값일 수도 있지만, 부호화 장치로부터 전송되는 플래그 정보 등에 의해 적응적으로 결정되는 값일 수도 있다. 예컨대, 특정 신택스 요소에 대해, I 슬라이스에 대한 오프셋 A1은 0, P 슬라이스에 대한 오프셋 A2는 2, B 슬라이스에 대한 오프셋 A3는 4로 고정된 값일 수 있다. 그러나, P 슬라이스에 대한 오프셋 A2 및 B 슬라이스에 대한 오프셋 A3는 소정의 조건에 따라 적응적으로 결정될 수도 있다. 예컨대, 부호화 장치로부터 전송되는 특정 플래그 정보에 따라, P 슬라이스에 대한 오프셋 A2, B 슬라이스에 대한 오프셋 A3는 각각 2, 4로 결정될 수도 있고, P 슬라이스에 대한 오프셋 A2, B 슬라이스에 대한 오프셋 A3는 각각 4, 2로 결정될 수도 있다.
상술한 실시예에 의하면, 특정 신택스 요소에 대해 컨텍스트 인덱스 오프셋 값이 적용되지 않거나 슬라이스 타입에 관계 없이 동일한 컨텍스트 인덱스 오프셋 값이 적용되는 경우에는, 동일한 빈 인덱스에는 모든 슬라이스 타입에 대해 공통의 컨텍스트가 적용될 수 있다. 특정 신택스 요소에 대해 슬라이스 타입에 따라 서로 다른 컨텍스트 인덱스 오프셋 값이 적용되는 경우에는, 슬라이스가 I 슬라이스인지, P 슬라이스인지, B슬라이스인지에 따라서, 동일한 빈 인덱스에 서로 다른 컨텍스트가 적용될 수 있다. 즉, 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 각 빈에 대해서는 슬라이스 타입에 따라 독립적인 또는 공통의 컨텍스트가 적용될 수 있다.

상술한 표 1 내지 표 8의 실시예들은 선택적으로 조합되어 코딩 과정에서 전송되는 신택스 요소(또는 신택스 요소의 코드워드(또는 이진 코드)를 구성하는 빈)에 대해 적용될 수 있다. 상술한 표 1 내지 표 8의 실시예들은 특정 신택스 요소에 한정되어 적용되는 것은 아니며, 다양한 신택스 요소에 대해 적용될 수 있다.
이하, 개별적인 신택스 요소 각각에 대해 적용될 컨텍스트(및/또는 바이패스 코딩이 적용되는지 여부)를 결정하는 방법의 구체적인 실시예들이 서술된다. 후술되는 실시예들은 상술한 표 1 내지 표 8의 실시예들이 조합된 구체적인 예로 볼 수 있으나, 본 발명은 이에 한정되는 것은 아니며, 표 1 내지 표 8의 실시예들은 다양한 형태로 조합되어 각각의 신택스 요소에 적용될 수 있다. 후술되는 실시예들은 상술한 표 1 내지 표 8의 실시예에서와 같이, 컨텍스트 테이블을 기반으로 서술될 수 있다. 이 때, 해당 신택스 요소에 대해 적용될 컨텍스트 인덱스 오프셋, 빈 인덱스에 따른 컨텍스트 인덱스 및/또는 바이패스 코딩 적용 여부 등은 컨텍스트 테이블을 통해서 할당될 수 있다.
후술되는 실시예들에서 오프셋이라 함은 표 8에서 상술한 컨텍스트 인덱스 오프셋을 의미할 수 있다. 후술되는 실시예들에서, 특정 신택스 요소에 대한 엔트로피 코딩이 수행되는 경우에 각각의 슬라이스 타입(I 슬라이스, P 슬라이스, B 슬라이스)에 적용되는 오프셋 값은 고정된 값으로 서술된다. 그러나, 본 발명은 이에 한정되는 것은 아니며, 각각의 슬라이스 타입에 적용되는 오프셋 값은 적응적으로 결정되는 값일 수도 있다.
예컨대, 후술되는 실시예들 중에서 I 슬라이스에는 0의 오프셋 값이 할당되고, P 슬라이스에는 2의 오프셋 값이 할당되고, B 슬라이스에는 4의 오프셋 값이 할당되는 경우가 있을 수 있다. 이 때, 본 발명은 이에 한정되는 것이 아니며, 해당 실시예는 I 슬라이스에 0의 오프셋 값, P 슬라이스에 4의 오프셋 값, B 슬라이스에 2의 오프셋 값이 할당되는 경우에 대해서도 동일하거나 유사한 방식으로 적용될 수 있다.
한편, 상술한 표 8의 실시예 및 후술되는 실시예들에서는 슬라이스 타입에 따라 결정되는 컨텍스트 인덱스 오프셋 값 및 빈 인덱스에 따라 결정되는 컨텍스트 인덱스 값이 하나의 컨텍스트 테이블을 통해 나타내어진다. 그러나, 본 발명은 이에 한정되는 것이 아니며, 슬라이스 타입에 따라 결정되는 컨텍스트 인덱스 오프셋 값 및 빈 인덱스에 따라 결정되는 컨텍스트 인덱스 값은 각각 서로 다른 테이블을 통해 지시될 수도 있다. 이 때, 컨텍스트 인덱스 오프셋 값 및 컨텍스트 인덱스 값은 각각 독립적으로 결정될 수 있다. 이 경우, 복호화 대상 빈에 적용될 컨텍스트는 각각 독립적으로 결정된 컨텍스트 인덱스 오프셋 값 및 컨텍스트 인덱스 값의 합으로 나타내어질 수 있다.

다음 표 9는 신택스 요소 ‘inter_pred_flag’에 대해 적용될 수 있는 컨텍스트 테이블의 실시예를 나타낸다. 컨텍스트 테이블에는 오프셋, 컨텍스트 인덱스 및/또는 바이패스 모드가 적용되는지를 나타내는 정보 등이 할당될 수 있다. 신택스 요소 ‘inter_pred_flag’의 코드워드(또는 이진 코드)를 구성하는 각 빈에 적용될 컨텍스트는 오프셋 및 컨텍스트 인덱스의 합에 의해 지시될 수 있다.
[표 9]
Figure PCTKR2013000276-appb-I000009

표 9에서 m, n, o, p는 각각 서로 다른 실시예를 나타낸다.
inter_pred_flag는 상술한 바와 같이, 현재 블록(예컨대, PU)에 대해 LC 예측이 적용되는지 또는 쌍 예측이 적용되는지 여부를 지시할 수 있다. 이 때, inter_pred_flag는 현재 블록에 대한 인터 예측 방향을 나타내는 것으로 볼 수도 있다. inter_pred_flag는 두 가지의 값 중에서 하나를 지시하므로, inter_pred_flag의 코드워드(또는 이진 코드)에서는 0의 빈 인덱스(binIdx) 값만이 존재할 수도 있다.
표 9의 실시예를 참조하면, 신택스 요소 inter_pred_flag에 대해서는 슬라이스 타입에 관계 없이 0의 컨텍스트 인덱스 오프셋 값이 적용될 수 있다. 따라서, 표 9에서는 동일한 빈 인덱스에 대해 동일한 컨텍스트가 적용될 수 있다. 그러나, 이는 하나의 예시이며, 표 9에서 오프셋 값은, 적합한 컨텍스트를 지시하기 위해 표 9에 예시된 값과 다르게 설정될 수 있으며, 슬라이스 타입에 따라 다른 값을 가질 수도 있다.
실시예 m에서는, 신택스 요소 inter_pred_flag의 빈 인덱스 0에 대하여 소정의 고정된 컨텍스트가 적용될 수 있다. 이 때, 빈 인덱스 0에는 소정의 고정된 컨텍스트 인덱스(X)가 할당될 수 있다. 여기서, X는 0, 1 등의 고정된 값일 수 있다. 실시예 n에서는, 신택스 요소 inter_pred_flag의 빈 인덱스 0에 대하여 바이패스 코딩(bypass coding)이 적용될 수 있다.
한편, 상술한 바와 같이 컨텍스트 인덱스는 해당 신택스 요소가 적용되는 환경(상태 또는 조건)에 따라서 달라질 수 있다. 예컨대 동일한 빈(또는 빈 인덱스)에 대하여, 신택스 요소가 적용되는 블록의 깊이 등과 같은 상태나 조건에 따라서 코드워드(또는 이진 코드) 내 동일 위치의 빈에 대해 서로 다른 컨텍스트가 적용될 수 있다. 실시예 o 및 p는 신택스 요소가 적용되는 블록이나 유닛의 깊이에 따라 컨텍스트 인덱스가 결정되는 경우를 나타낸다.
실시예 o에서는 신택스 요소 inter_pred_flag의 빈 인덱스 0에 대해, 해당 신택스 요소가 적용되는 코딩 유닛(CU)의 깊이(cuDepth 또는 ctDepth) 값이 컨텍스트 인덱스로 할당되거나 활용될 수 있다. 따라서, 실시예 o에서는 해당 코딩 유닛의 깊이에 따라, 신택스 요소 inter_pred_flag의 빈 인덱스 0에 대해 서로 다른 컨텍스트가 적용될 수 있다.
실시예 p에서는 신택스 요소 inter_pred_flag의 빈 인덱스 0에 대해, 해당 신택스 요소가 적용되는 변환 유닛(TU)의 깊이(trafoDepth) 값이 컨텍스트 인덱스로 할당되거나 활용될 수 있다. 따라서, 실시예 p에서는 해당 변환 유닛의 깊이에 따라, 신택스 요소 inter_pred_flag의 빈 인덱스 0에 대해 서로 다른 컨텍스트가 적용될 수 있다.
표 9는 빈에 의한 컨텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 9에서 빈에 의한 컨텍스트 인덱스 값은, 적합한 컨텍스트를 지시하기 위해 표 9에 예시된 값과 다르게 설정될 수도 있다.

다음 표 10은 신택스 요소 ‘cu_qp_delta’에 대해 적용될 수 있는 컨텍스트 테이블의 실시예를 나타낸다. 컨텍스트 테이블에는 오프셋, 컨텍스트 인덱스 및/또는 바이패스 모드가 적용되는지를 나타내는 정보 등이 할당될 수 있다. 신택스 요소 ‘cu_qp_delta’의 코드워드(또는 이진 코드)를 구성하는 각 빈에 적용될 컨텍스트는 오프셋 및 컨텍스트 인덱스의 합에 의해 지시될 수 있다.
[표 10]
Figure PCTKR2013000276-appb-I000010

cu_qp_delta는 상술한 바와 같이, CU에 대한 양자화 파라미터의 값과 상기 양자화 파라미터의 예측 값 간의 차이를 나타낼 수 있다.
표 10의 실시예에서는 슬라이스 타입에 따라서 서로 다른 별개의 오프셋 값이 설정될 수 있다. 예컨대, I 슬라이스에서는 cu_qp_delta에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cu_qp_delta에 대한 컨텍스트 인덱스 오프셋 값이 3으로 설정되며, B 슬라이스에서는 cu_qp_delta에 대한 컨텍스트 인덱스 오프셋 값이 6으로 설정될 수 있다. 따라서, 표 10의 실시예에서는 상태 정보 또는 조건에 따라서 다른 오프셋이 적용됨으로써, 조건 별로 다른 컨텍스트가 할당될 수 있다.
그러나, 이는 하나의 예시이며, 표 10에서 오프셋 값은, 적합한 컨텍스트를 지시하기 위해 표 10에 예시된 값과 다르게 설정될 수 있으며, 모든 슬라이스 타입에 대해 공통적인 오프셋 값이 적용될 수도 있다.
또한, 표 10에서는 일부 빈들에 대해서는 독립적인 컨텍스트가 적용되고, 일부 빈들에 대해서는 서로 동일한 컨텍스트가 공통적으로 적용되며, 나머지 빈에는 바이패스 모드가 적용될 수 있다.
예컨대, 표 10의 실시예에서, cu_qp_delta에 대한 코드워드(또는 이진 코드)의 1번째 빈을 나타내는 빈 인덱스 0에 대해서는 빈에 의한 컨텍스트 인덱스로서 0이 할당될 수 있고, cu_qp_delta에 대한 코드워드(또는 이진 코드)의 3번째 빈을 나타내는 빈 인덱스 2에 대해서는 빈에 의한 컨텍스트 인덱스로서 1이 할당될 수 있다. 또한 cu_qp_delta에 대한 코드워드(또는 이진 코드)의 4번째 빈, 5번째 빈을 나타내는 빈 인덱스 3 및 빈 인덱스 4에 대해서는 빈에 의한 컨텍스트 인덱스로서 2가 공통적으로 할당될 수 있다. 빈 인덱스 1이 할당된 2번째 빈에 대해서는 바이패스 모드가 적용될 수 있다.
표 10은 빈에 의한 컨텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 10에서 빈에 의한 컨텍스트 인덱스 값은, 적합한 컨텍스트를 지시하기 위해 표 10에 예시된 값과 다르게 설정될 수도 있다.
다음 표 11은 신택스 요소 ‘cu_qp_delta’에 대해 적용될 수 있는 컨텍스트 테이블의 다른 실시예를 나타낸다. 컨텍스트 테이블에는 오프셋, 컨텍스트 인덱스 및/또는 바이패스 모드가 적용되는지를 나타내는 정보 등이 할당될 수 있다. 신택스 요소 ‘cu_qp_delta’의 코드워드(또는 이진 코드)를 구성하는 각 빈에 적용될 컨텍스트는 오프셋 및 컨텍스트 인덱스의 합에 의해 지시될 수 있다.
[표 11]
Figure PCTKR2013000276-appb-I000011

표 11의 실시예에서는 슬라이스 타입에 따라서 서로 다른 별개의 오프셋 값이 설정될 수 있다. 예컨대, I 슬라이스에서는 cu_qp_delta에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cu_qp_delta에 대한 컨텍스트 인덱스 오프셋 값이 1로 설정되며, B 슬라이스에서는 cu_qp_delta에 대한 컨텍스트 인덱스 오프셋 값이 2로 설정될 수 있다. 따라서, 표 11의 실시예에서는 상태 정보 또는 조건에 따라서 다른 오프셋이 적용됨으로써, 조건 별로 다른 컨텍스트가 할당될 수 있다.
그러나, 이는 하나의 예시이며, 표 11에서 오프셋 값은, 적합한 컨텍스트를 지시하기 위해 표 11에 예시된 값과 다르게 설정될 수 있으며, 모든 슬라이스 타입에 대해 공통적인 오프셋 값이 적용될 수도 있다.
또한, 표 11에서는 일부 빈에 대해서는 독립적인 컨텍스트가 적용되고, 나머지 빈들에는 바이패스 모드가 적용될 수 있다.
예컨대, 표 11의 실시예에서, cu_qp_delta에 대한 코드워드(또는 이진 코드)의 1번째 빈을 나타내는 빈 인덱스 0에 대해서는 빈에 의한 컨텍스트 인덱스로서 0이 할당될 수 있다. 또한, 표 11에서는 빈 인덱스 0이 할당되는 1번째 빈을 제외한 나머지 빈들에 대해서는 바이패스 모드가 적용될 수 있다. 즉, 빈 인덱스 1이 할당되는 2번째 빈, 빈 인덱스 2가 할당되는 3번째 빈, 빈 인덱스 3이 할당되는 4번째 빈 및 빈 인덱스 4가 할당되는 5번째 빈에 대해서는 바이패스 모드가 적용될 수 있다.
표 11은 빈에 의한 컨텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 11에서 빈에 의한 컨텍스트 인덱스 값은, 적합한 컨텍스트를 지시하기 위해 표 11에 예시된 값과 다르게 설정될 수도 있다.
다음 표 12는 신택스 요소 ‘cu_qp_delta’에 대해 적용될 수 있는 컨텍스트 테이블의 또 다른 실시예를 나타낸다. 컨텍스트 테이블에는 오프셋, 컨텍스트 인덱스 및/또는 바이패스 모드가 적용되는지를 나타내는 정보 등이 할당될 수 있다. 신택스 요소 ‘cu_qp_delta’의 코드워드(또는 이진 코드)를 구성하는 각 빈에 적용될 컨텍스트는 오프셋 및 컨텍스트 인덱스의 합에 의해 지시될 수 있다.
[표 12]
Figure PCTKR2013000276-appb-I000012

표 12의 실시예에서는 슬라이스 타입에 따라서 서로 다른 별개의 오프셋 값이 설정될 수 있다. 예컨대, I 슬라이스에서는 cu_qp_delta에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cu_qp_delta에 대한 컨텍스트 인덱스 오프셋 값이 1로 설정되며, B 슬라이스에서는 cu_qp_delta에 대한 컨텍스트 인덱스 오프셋 값이 2로 설정될 수 있다. 따라서, 표 12의 실시예에서는 상태 정보 또는 조건에 따라서 다른 오프셋이 적용됨으로써, 조건 별로 다른 컨텍스트가 할당될 수 있다.
그러나, 이는 하나의 예시이며, 표 12에서 오프셋 값은, 적합한 컨텍스트를 지시하기 위해 표 12에 예시된 값과 다르게 설정될 수 있으며, 모든 슬라이스 타입에 대해 공통적인 오프셋 값이 적용될 수도 있다.
또한, 표 12에서는 cu_qp_delta에 대한 코드워드(또는 이진 코드)를 구성하는 모든 빈에 대해, 컨텍스트가 사용되지 않고 바이패스 모드가 적용될 수 있다. 예컨대, 표 12의 실시예에서, 빈 인덱스 0이 할당되는 1번째 빈, 빈 인덱스 1이 할당되는 2번째 빈, 빈 인덱스 2가 할당되는 3번째 빈, 빈 인덱스 3이 할당되는 4번째 빈 및 빈 인덱스 4가 할당되는 5번째 빈에 대해서 모두 바이패스 모드가 적용될 수 있다.
상술한 표 10 내지 표 12에서는 신택스 요소에 대한 코드워드(또는 이진 코드)가 5개의 빈으로 구성되는 경우가 예로서 설명되고 있으나, 본 발명은 이에 한정되지 않는다. 만일, 신택스 요소 cu_qp_delta의 코드워드(또는 이진 코드)가 5개 미만의 빈, 예컨대 n(n<5)개의 빈으로 구성된다면, n-1보다 큰 빈 인덱스에는 컨텍스트 인덱스가 할당되지 않거나 na(not available)로 할당될 수 있다. 만일, 신택스 요소 cu_qp_delta의 코드워드(또는 이진 코드)가 5개 이상의 빈으로 구성된다면, 6번째 이후의 빈(예컨대, 5 이상의 값을 갖는 빈 인덱스가 할당된 빈)에 대해서는 6번째 빈에 할당된 컨텍스트 인덱스와 동일한 컨텍스트 인덱스가 할당될 수 있다.

다음 표 13은 신택스 요소 ‘no_residual_data_flag’및/또는 ‘no_residual_syntax_flag’에 대해 적용될 수 있는 컨텍스트 테이블의 실시예를 나타낸다. 컨텍스트 테이블에는 오프셋, 컨텍스트 인덱스 및/또는 바이패스 모드가 적용되는지를 나타내는 정보 등이 할당될 수 있다. 신택스 요소 ‘no_residual_data_flag’및/또는 ‘no_residual_syntax_flag’의 코드워드(또는 이진 코드)를 구성하는 각 빈에 적용될 컨텍스트는 오프셋 및 컨텍스트 인덱스의 합에 의해 지시될 수 있다.
[표 13]
Figure PCTKR2013000276-appb-I000013

표 13에서 t, u는 각각 서로 다른 실시예를 나타낸다.
신택스 요소 ‘no_residual_data_flag’ 및/또는 ‘no_residual_syntax_flag’는 상술한 바와 같이, 해당 신택스 요소가 적용되는 코딩 유닛에 대해 잔차 신호 및/또는 잔차 정보가 존재하는지 여부를 지시할 수 있다. 이 때, ‘no_residual_data_flag’ 및/또는 ‘no_residual_syntax_flag’는 해당 신택스 요소가 적용되는 코딩 유닛에 대해 변환 트리 신택스가 존재하는지 여부를 지시하는 것으로 볼 수도 있다. no_residual_data_flag(및/또는 no_residual_syntax_flag)는 두 가지의 값 중에서 하나를 지시하므로, no_residual_data_flag(및/또는 no_residual_syntax_flag)의 코드워드(또는 이진 코드)에서는 0의 빈 인덱스(binIdx) 값만이 존재할 수도 있다.
표 13의 실시예를 참조하면, 신택스 요소 no_residual_data_flag 및/또는 no_residual_syntax_flag에 대해서는 슬라이스 타입에 관계 없이 0의 컨텍스트 인덱스 오프셋 값이 적용될 수 있다. 따라서, 표 13에서는 동일한 빈 인덱스에 대해 동일한 컨텍스트가 적용될 수 있다. 그러나, 이는 하나의 예시이며, 표 13에서 오프셋 값은, 적합한 컨텍스트를 지시하기 위해 표 13에 예시된 값과 다르게 설정될 수 있으며, 슬라이스 타입에 따라 다른 값을 가질 수도 있다.
실시예 t에서는, 신택스 요소 no_residual_data_flag 및/또는 no_residual_syntax_flag의 빈 인덱스 0에 대하여 소정의 고정된 컨텍스트가 적용될 수 있다. 이 때, 빈 인덱스 0에는 소정의 고정된 컨텍스트 인덱스(X)가 할당될 수 있다. 여기서, X는 0, 1 등의 고정된 값일 수 있다. 실시예 u에서는, 신택스 요소 no_residual_data_flag 및/또는 no_residual_syntax_flag의 빈 인덱스 0에 대하여, 컨텍스트가 적용되지 않고 바이패스 코딩(bypass coding)이 적용될 수 있다.
표 13은 빈에 의한 컨텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 13에서 빈에 의한 컨텍스트 인덱스 값은, 적합한 컨텍스트를 지시하기 위해 표 13에 예시된 값과 다르게 설정될 수도 있다.
한편, 표 13의 실시예에서는 오프셋 및 컨텍스트 인덱스가 하나의 컨텍스트 테이블에 의해 지시되지만, 본 발명은 이에 한정되는 것은 아니다. 예컨대, 슬라이스 타입에 따라 결정되는 컨텍스트 인덱스 오프셋 및 빈 인덱스에 따라 결정되는 컨텍스트 인덱스 값은 각각 서로 다른 별개의 테이블을 통해 지시될 수도 있다.
다음 표 14는 신택스 요소 no_residual_syntax_flag에 대한 오프셋 및 컨텍스트 인덱스가 각각 서로 다른 별개의 테이블에 의해 지시되는 경우, 컨텍스트 인덱스가 할당되는 컨텍스트 테이블의 실시예를 개략적으로 나타낸다.
[표 14]
Figure PCTKR2013000276-appb-I000014

표 14의 실시예에서는, 빈 인덱스(binIdx) 별로 컨텍스트 인덱스가 지시될 수 있다. 상술한 바와 같이, 여기서는 설명의 편의상 컨텍스트 인덱스 증가분이 컨텍스트 인덱스로 지칭되며, 표 14의 실시예에서 각 빈 인덱스에 할당된 컨텍스트 인덱스는 실제로는 컨텍스트 인덱스 증가분을 의미할 수 있다. 따라서, 표 14의 실시예에서 신택스 요소 no_residual_syntax_flag의 코드워드(또는 이진 코드)를 구성하는 각 빈에 대한 실제 컨텍스트 인덱스는, 슬라이스 타입에 따라 결정되는 오프셋(ctxIdxOffset) 및 각 빈 인덱스에 할당된 컨텍스트 인덱스의 합에 의해 결정될 수 있다.
표 14를 참조하면, 신택스 요소 no_residual_syntax_flag의 코드워드(또는 이진 코드)를 구성하는 1번째 빈을 나타내는 빈 인덱스 0에는 컨텍스트 인덱스로서 0이 할당될 수 있다. 또한, 1 이상의 값을 갖는 빈 인덱스들에는 na(not available)가 할당될 수 있다.
표 14는 빈에 의한 컨텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 14에서 빈에 의한 컨텍스트 인덱스 값은, 적합한 컨텍스트를 지시하기 위해 표 14에 예시된 값과 다르게 설정될 수도 있다.

다음 표 15는 신택스 요소 ‘cbf_luma’에 대해 적용될 수 있는 컨텍스트 테이블의 실시예를 나타낸다. 표 15의 실시예에 따른 컨텍스트 테이블에는 오프셋 및/또는 컨텍스트 인덱스가 할당될 수 있다. 신택스 요소 ‘cbf_luma’의 코드워드(또는 이진 코드)를 구성하는 각 빈에 적용될 컨텍스트는 오프셋 및 컨텍스트 인덱스의 합에 의해 지시되거나 나타내어질 수 있다.
[표 15]
Figure PCTKR2013000276-appb-I000015

신택스 요소 ‘cbf_luma’는 상술한 바와 같이, 해당 신택스 요소가 적용되는 루마 성분의 변환 블록이 0이 아닌 변환 계수를 포함하는지 여부를 지시할 수 있다. ‘cbf_luma’는 두 가지의 값 중에서 하나를 지시하므로, ‘cbf_luma’의 코드워드(또는 이진 코드)에서는 0의 빈 인덱스(binIdx) 값에 컨텍스트 인덱스가 할당될 수 있다.
표 15의 실시예에서는 슬라이스 타입에 따라서 서로 다른 별개의 오프셋 값이 설정될 수 있다. 예컨대, I 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 2로 설정되며, B 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 4로 설정될 수 있다. 따라서, 표 15의 실시예에서는 상태 정보 또는 조건에 따라서 다른 오프셋이 적용됨으로써, 조건 별로 다른 컨텍스트가 할당될 수 있다.
그러나, 이는 하나의 예시이며, 표 15에서 오프셋 값은, 적합한 컨텍스트를 지시하기 위해 표 15에 예시된 값과 다르게 설정될 수도 있다. 예컨대, I 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 4로 설정되며, B 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 2로 설정될 수도 있다. 다른 예로서 모든 슬라이스 타입에 대해 공통적인 오프셋 값이 적용될 수도 있다.
한편, 상술한 바와 같이 컨텍스트 인덱스는 해당 신택스 요소가 적용되는 환경(상태 또는 조건)에 따라서 달라질 수 있다. 예컨대 동일한 빈(또는 빈 인덱스)에 대하여, 신택스 요소가 적용되는 블록의 깊이, 크기 등과 같은 상태나 조건에 따라서 코드워드(또는 이진 코드) 내 동일 위치의 빈에 대해 서로 다른 컨텍스트가 적용될 수 있다. 표 15의 실시예에서는 cbf_luma의 빈 인덱스 0에 대해, 현재 변환 유닛의 분할 깊이(예컨대, trafoDepth), 현재 변환 유닛의 크기(예컨대, 상기 현재 변환 유닛의 크기는 log2TrafoSize에 의해 나타내어질 수 있음) 및 현재 시퀀스에서 허용되는 최대 변환 크기(예컨대, 상기 최대 변환 크기는 log2MaxTrafoSize에 의해 나타내어질 수 있음)의 관계를 기반으로 컨텍스트가 적용될 수 있다. 여기서, 현재 변환 유닛은 해당 신택스 요소 cbf_luma가 적용되는 변환 유닛을 의미할 수 있다.
표 15를 참조하면, 신택스 요소 cbf_luma가 적용될 변환 유닛의 깊이 값(trafoDepth)이 0이면, cbf_luma의 빈 인덱스 0에 대해 1이 컨텍스트 인덱스로서 할당될 수 있다. 신택스 요소 cbf_luma가 적용될 변환 유닛의 깊이 값(trafoDepth)이 0이 아니면, 현재 변환 유닛의 크기와 최대 변환 크기 간의 관계에 따라 빈 인덱스 0에 할당될 컨텍스트 인덱스가 결정될 수 있다. 일례로, 현재 변환 유닛의 크기(log2TrafoSize)와 최대 변환 크기(log2MaxTrafoSize)가 동일한 경우에는 빈 인덱스 0에 대해 1이 컨텍스트 인덱스로서 할당되고, 현재 변환 유닛의 크기(log2TrafoSize)와 최대 변환 크기(log2MaxTrafoSize)가 동일하지 않은 경우에는 빈 인덱스 0에 대해 0이 컨텍스트 인덱스로서 할당될 수 있다.
즉, 표 15의 실시예에서는 변환 유닛의 깊이 값(trafoDepth)이 0이거나 현재 변환 유닛의 크기(log2TrafoSize)와 최대 변환 크기(log2MaxTrafoSize)가 동일한 경우, 빈 인덱스 0에 대해 1이 컨텍스트 인덱스로서 할당될 수 있다. 그렇지 않으면, 빈 인덱스 0에 대해서는 0이 컨텍스트 인덱스로서 할당될 수 있다.

다음 표 16은 신택스 요소 ‘cbf_luma’에 대해 적용될 수 있는 컨텍스트 테이블의 다른 실시예를 나타낸다. 표 16의 실시예에 따른 컨텍스트 테이블에는 오프셋 및/또는 컨텍스트 인덱스가 할당될 수 있다. 신택스 요소 ‘cbf_luma’의 코드워드(또는 이진 코드)를 구성하는 각 빈에 적용될 컨텍스트는 오프셋 및 컨텍스트 인덱스의 합에 의해 지시되거나 나타내어질 수 있다.
[표 16]
Figure PCTKR2013000276-appb-I000016

표 16의 실시예에서는 슬라이스 타입에 따라서 서로 다른 별개의 오프셋 값이 설정될 수 있다. 예컨대, I 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 2로 설정되며, B 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 4로 설정될 수 있다. 따라서, 표 16의 실시예에서는 상태 정보 또는 조건에 따라서 다른 오프셋이 적용됨으로써, 조건 별로 다른 컨텍스트가 할당될 수 있다.
그러나, 이는 하나의 예시이며, 표 16의 실시예에서 오프셋 값은, 적합한 컨텍스트를 지시하기 위해 표 16에 예시된 값과 다르게 설정될 수도 있다. 예컨대, I 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 4로 설정되며, B 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 2로 설정될 수도 있다. 다른 예로서 모든 슬라이스 타입에 대해 공통적인 오프셋 값이 적용될 수도 있다.
한편, 상술한 표 15의 실시예에서는, 현재 변환 유닛의 깊이(trafoDepth)가 0이 아닐 때, 현재 변환 유닛의 크기(log2TrafoSize)와 최대 변환 크기(log2MaxTrafoSize)가 동일한 경우에는 빈 인덱스 0에 대해 1이 컨텍스트 인덱스로서 할당된다. 그러나, 현재 변환 유닛의 깊이(trafoDepth)가 0이 아니면서 현재 변환 유닛의 크기(log2TrafoSize)와 최대 변환 크기(log2MaxTrafoSize)가 동일한 경우의 발생 빈도가 적을 경우, 현재 변환 유닛의 크기(log2TrafoSize)와 최대 변환 크기(log2MaxTrafoSize)를 비교하는 과정은 컨텍스트 유도 과정에서 불필요한 복잡도 증가를 야기할 수 있다.
따라서, 이를 방지하기 위해 현재 변환 유닛의 깊이(trafoDepth)만을 이용하여 컨텍스트를 적용함으로써, cbf_luma의 빈 인덱스 0에 대한 컨텍스트 유도 과정이 단순화될 수 있다. 표 16의 실시예에서는 cbf_luma의 빈 인덱스 0에 대해, 현재 변환 유닛의 분할 깊이(예컨대, trafoDepth)를 기반으로 컨텍스트 인덱스가 결정될 수 있다.
표 16을 참조하면, 신택스 요소 cbf_luma가 적용될 변환 유닛의 깊이 값(trafoDepth)이 0이면, cbf_luma의 빈 인덱스 0에 대해 1이 컨텍스트 인덱스로서 할당될 수 있다. 또한, 신택스 요소 cbf_luma가 적용될 변환 유닛의 깊이 값(trafoDepth)이 0이 아니면, cbf_luma의 빈 인덱스 0에 대해 0이 컨텍스트 인덱스로서 할당될 수 있다.
표 16의 실시예는, 표 15의 실시예에서 현재 변환 유닛의 깊이 값(trafoDepth)이 0이 아닐 때, 현재 변환 유닛의 크기(log2TrafoSize)와 최대 변환 크기(log2MaxTrafoSize)가 동일한지 여부에 관계 없이 빈 인덱스 0에 대해 0이 컨텍스트 인덱스로서 할당되는 경우의 실시예와 동일한 것으로 볼 수도 있다. 즉, 표 15의 실시예가 현재 변환 유닛의 깊이 값(trafoDepth)이 0이 아닐 때, 현재 변환 유닛의 크기(log2TrafoSize)와 최대 변환 크기(log2MaxTrafoSize)가 동일한지 여부에 관계 없이 빈 인덱스 0에 대해 0이 컨텍스트 인덱스로서 할당되는 것으로 변경되는 경우, 변경된 실시예는 표 16의 실시예와 동일한 것으로 볼 수도 있다.
한편, 표 16의 실시예에서는 오프셋 및 컨텍스트 인덱스가 하나의 컨텍스트 테이블에 의해 지시되지만, 본 발명은 이에 한정되는 것은 아니다. 예컨대, 슬라이스 타입에 따라 결정되는 컨텍스트 인덱스 오프셋, 및 빈 인덱스에 따라 결정되는 컨텍스트 인덱스 값은 각각 서로 다른 별개의 테이블을 통해 지시될 수도 있다.
다음 표 17은 신택스 요소 cbf_luma에 대한 오프셋 및 컨텍스트 인덱스가 각각 서로 다른 별개의 테이블에 의해 지시되는 경우, 오프셋이 할당되는 컨텍스트 테이블의 실시예를 개략적으로 나타낸다.
[표 17]
Figure PCTKR2013000276-appb-I000017

표 17의 실시예에서는, ‘initType’에 따라 컨텍스트 인덱스 오프셋 ‘ctxIdxOffset’이 결정될 수 있다. initType은 슬라이스 타입에 따라 결정되는 초기 값에 해당될 수 있다. 예컨대, I 슬라이스에 대한 initType 값은 0이고, P 슬라이스에 대한 initType 값은 1이고, B 슬라이스에 대한 initType 값은 2일 수 있다. 다른 예로, I 슬라이스에 대한 initType 값은 0이고, P 슬라이스에 대한 initType 값은 2이고, B 슬라이스에 대한 initType 값은 1일 수도 있다.
컨텍스트 인덱스 오프셋 값은 initType 값에 따라 결정될 수 있다. 따라서, 컨텍스트 인덱스 오프셋 값은 슬라이스 타입에 따라 결정되는 것으로 볼 수 있다. 예컨대, I 슬라이스에 대한 오프셋 값은 0이고, P 슬라이스에 대한 오프셋 값은 2이고, B 슬라이스에 대한 오프셋 값은 4일 수 있다. 다른 예로, I 슬라이스에 대한 오프셋 값은 0이고, P 슬라이스에 대한 오프셋 값은 4이고, B 슬라이스에 대한 오프셋 값은 2일 수도 있다.
표 17에서, FL은 고정 길이 이진화(fixed-length binarization)를 의미할 수 있다. 즉, 신택스 요소 cbf_luma에 적용되는 이진화 타입은 고정 길이 이진화에 해당될 수 있다. ‘cMax’는 고정 길이 이진화를 위해 사용되는 변수를 의미할 수 있다.
표 17의 실시예에서 신택스 요소 cbf_luma에 대한 빈 인덱스의 최대 값(maxBinIdxCtx)은 0으로 설정되거나 결정될 수 있다. 신택스 요소 cbf_luma의 특정 빈에 대해 적용될 컨텍스트(또는 확률 변수)는 컨텍스트 인덱스 테이블 지시자(ctxIdxTable)가 지시하는 테이블(예컨대, ‘Table 9-23’)을 통해 결정될 수 있다.
다음 표 18은 신택스 요소 cbf_luma에 대한 오프셋 및 컨텍스트 인덱스가 각각 서로 다른 별개의 테이블에 의해 지시되는 경우, 컨텍스트 인덱스가 할당되는 컨텍스트 테이블의 실시예를 개략적으로 나타낸다.
[표 18]
Figure PCTKR2013000276-appb-I000018

표 18의 실시예에서는, 빈 인덱스(binIdx) 별로 컨텍스트 인덱스가 지시될 수 있다.
상술한 바와 같이 컨텍스트 인덱스는 해당 신택스 요소가 적용되는 환경(상태 또는 조건)에 따라서 달라질 수 있다. 예컨대 동일한 빈(또는 빈 인덱스)에 대하여, 신택스 요소가 적용되는 블록의 깊이, 크기 등과 같은 상태나 조건에 따라서 코드워드(또는 이진 코드) 내 동일 위치의 빈에 대해 서로 다른 컨텍스트가 적용될 수 있다.
표 18의 실시예에서는 cbf_luma의 빈 인덱스 0에 대해, 현재 변환 유닛의 분할 깊이(예컨대, trafoDepth)를 기반으로 컨텍스트 인덱스가 결정될 수 있다.
표 18을 참조하면, 신택스 요소 cbf_luma가 적용될 변환 유닛의 깊이 값(trafoDepth)이 0이면, cbf_luma의 빈 인덱스 0에 대해 1이 컨텍스트 인덱스로서 할당될 수 있다. 또한, 신택스 요소 cbf_luma가 적용될 변환 유닛의 깊이 값(trafoDepth)이 0이 아니면, cbf_luma의 빈 인덱스 0에 대해 0이 컨텍스트 인덱스로서 할당될 수 있다. 또한, 1 이상의 값을 갖는 빈 인덱스들에는 컨텍스트 인덱스가 할당되지 않거나 na(not available)가 할당될 수 있다.
표 18은 빈에 의한 컨텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 18에서 빈에 의한 컨텍스트 인덱스 값은, 표 18에 예시된 값과 다르게 설정될 수도 있다.
다음 표 19는 신택스 요소 ‘cbf_luma’에 대해 적용될 수 있는 컨텍스트 테이블의 또 다른 실시예를 나타낸다. 표 19의 실시예에 따른 컨텍스트 테이블에는 오프셋 및/또는 컨텍스트 인덱스가 할당될 수 있다. 신택스 요소 ‘cbf_luma’의 코드워드(또는 이진 코드)를 구성하는 각 빈에 적용될 컨텍스트는 오프셋 및 컨텍스트 인덱스의 합에 의해 지시되거나 나타내어질 수 있다.
[표 19]
Figure PCTKR2013000276-appb-I000019

표 19의 실시예에서는 슬라이스 타입에 따라서 서로 다른 별개의 오프셋 값이 설정될 수 있다. 예컨대, I 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 1로 설정되며, B 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 2로 설정될 수 있다. 따라서, 표 19의 실시예에서는 상태 정보 또는 조건에 따라서 다른 오프셋이 적용됨으로써, 조건 별로 다른 컨텍스트가 할당될 수 있다.
그러나, 이는 하나의 예시이며, 표 19의 실시예에서 오프셋 값은, 적합한 컨텍스트를 지시하기 위해 표 19에 예시된 값과 다르게 설정될 수도 있다. 예컨대, I 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 2로 설정되며, B 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 1로 설정될 수도 있다. 다른 예로서 모든 슬라이스 타입에 대해 공통적인 오프셋 값이 적용될 수도 있다.
또한, 표 19의 실시예에서는, 신택스 요소 cbf_luma의 코드워드(또는 이진 코드)를 구성하는 1번째 빈을 나타내는 빈 인덱스 0에 대하여 소정의 고정된 컨텍스트가 적용될 수 있다. 이 때, 빈 인덱스 0에는 소정의 고정된 컨텍스트 인덱스(X)가 할당될 수 있다. 여기서, X는 0, 1 등의 소정의 고정된 값일 수 있다.
표 19는 빈에 의한 컨텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 19에서 빈에 의한 컨텍스트 인덱스 값은, 적합한 컨텍스트를 지시하기 위해 표 19에 예시된 값과 다르게 설정될 수도 있다.
다음 표 20은 신택스 요소 ‘cbf_luma’에 대해 적용될 수 있는 컨텍스트 테이블의 또 다른 실시예를 나타낸다. 표 20의 실시예에 따른 컨텍스트 테이블에는 오프셋, 컨텍스트 인덱스 및/또는 바이패스 적용 여부에 관한 정보가 할당될 수 있다.
[표 20]
Figure PCTKR2013000276-appb-I000020

표 20의 실시예에서는 슬라이스 타입에 따라서 서로 다른 별개의 오프셋 값이 설정될 수 있다. 예컨대, I 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 1로 설정되며, B 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 2로 설정될 수 있다. 따라서, 표 20의 실시예에서는 상태 정보 또는 조건에 따라서 다른 오프셋이 적용됨으로써, 조건 별로 다른 컨텍스트가 할당될 수 있다.
그러나, 이는 하나의 예시이며, 표 20의 실시예에서 오프셋 값은, 적합한 컨텍스트를 지시하기 위해 표 20에 예시된 값과 다르게 설정될 수도 있다. 예컨대, I 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 2로 설정되며, B 슬라이스에서는 cbf_luma에 대한 컨텍스트 인덱스 오프셋 값이 1로 설정될 수도 있다. 다른 예로서 모든 슬라이스 타입에 대해 공통적인 오프셋 값이 적용될 수도 있다.
또한, 표 20의 실시예에서는, 신택스 요소 cbf_luma의 코드워드(또는 이진 코드)를 구성하는 1번째 빈을 나타내는 빈 인덱스 0에 대하여, 컨텍스트가 적용되지 않고 바이패스 코딩(bypass coding)이 적용될 수 있다.
표 15 내지 표 20의 실시예에서는, 상술한 바와 같이 설명의 편의상 컨텍스트 인덱스 증가분이 컨텍스트 인덱스로 지칭되고 있으며, 표 15 내지 표 20의 실시예에서 각 빈 인덱스에 할당된 컨텍스트 인덱스는 실제로는 컨텍스트 인덱스 증가분(ctxIdxInc)을 의미할 수 있다. 따라서, 상술한 표 15 내지 표 20의 실시예에서 신택스 요소 cbf_luma의 코드워드(또는 이진 코드)를 구성하는 빈에 대한 실제 컨텍스트 인덱스는, 슬라이스 타입에 따라 결정되는 오프셋(ctxIdxOffset) 및 각 빈 인덱스에 할당된 컨텍스트 인덱스의 합에 의해 결정될 수 있다.

다음 표 21은 신택스 요소 ‘cbf_cb’ 및 ‘cbf_cr’에 적용될 수 있는 컨텍스트 테이블의 실시예를 나타낸다. 표 21의 실시예에 따른 컨텍스트 테이블에는 오프셋 및/또는 컨텍스트 인덱스가 할당될 수 있다. 신택스 요소 ‘cbf_cb’ 및 ‘cbf_cr’의 코드워드(또는 이진 코드)를 구성하는 각 빈에 적용될 컨텍스트는 오프셋 및 컨텍스트 인덱스의 합에 의해 지시되거나 나타내어질 수 있다.
[표 21]
Figure PCTKR2013000276-appb-I000021

신택스 요소 cbf_cb 및 cbf_cr는 상술한 바와 같이, 해당 신택스 요소가 적용되는 크로마 성분의 변환 블록이 0이 아닌 변환 계수를 포함하는지 여부를 지시할 수 있다. 즉, cbf_cb 및 cbf_cr는 해당 신택스 요소가 적용되는 변환 블록의 크로마 성분에 잔차 정보가 존재하는지 여부를 지시할 수 있다. cbf_cb 및 cbf_cr는 두 가지의 값 중에서 하나를 지시하므로, cbf_cb 및 cbf_cr의 코드워드(또는 이진 코드)에서는 0의 빈 인덱스(binIdx) 값에 컨텍스트 인덱스가 할당될 수 있다.
표 21의 실시예에서는 슬라이스 타입에 따라서 서로 다른 별개의 오프셋 값이 설정될 수 있다. 예컨대, I 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 4로 설정되며, B 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 8로 설정될 수 있다. 따라서, 표 21의 실시예에서는 상태 정보 또는 조건에 따라서 다른 오프셋이 적용됨으로써, 조건 별로 다른 컨텍스트가 할당될 수 있다.
그러나, 이는 하나의 예시이며, 표 21에서 오프셋 값은, 적합한 컨텍스트를 지시하기 위해 표 21에 예시된 값과 다르게 설정될 수도 있다. 예컨대, I 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 8로 설정되며, B 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 4로 설정될 수도 있다. 다른 예로서 모든 슬라이스 타입에 대해 공통적인 오프셋 값이 적용될 수도 있다.
한편, 상술한 바와 같이 컨텍스트 인덱스는 해당 신택스 요소가 적용되는 환경(상태 또는 조건)에 따라서 달라질 수 있다. 예컨대 동일한 빈(또는 빈 인덱스)에 대하여, 신택스 요소가 적용되는 블록의 깊이, 크기 등과 같은 상태나 조건에 따라서 코드워드(또는 이진 코드) 내 동일 위치의 빈에 대해 서로 다른 컨텍스트가 적용될 수 있다.
표 21의 실시예에서는 신택스 요소 cbf_cb 및 cbf_cr의 빈 인덱스 0에 대해, 해당 신택스 요소가 적용되는 변환 유닛(TU)의 깊이 값(trafoDepth)이 컨텍스트 인덱스로 할당되거나 활용될 수 있다.
한편, 표 21의 실시예에서는 오프셋 및 컨텍스트 인덱스가 하나의 컨텍스트 테이블에 의해 지시되지만, 본 발명은 이에 한정되는 것은 아니다. 예컨대, 슬라이스 타입에 따라 결정되는 컨텍스트 인덱스 오프셋, 및 빈 인덱스에 따라 결정되는 컨텍스트 인덱스 값은 각각 서로 다른 별개의 테이블을 통해 지시될 수도 있다.
다음 표 22은 신택스 요소 cbf_cb 및 cbf_cr에 대한 오프셋 및 컨텍스트 인덱스가 각각 서로 다른 별개의 테이블에 의해 지시되는 경우, 오프셋이 할당되는 컨텍스트 테이블의 실시예를 개략적으로 나타낸다.
[표 22]
Figure PCTKR2013000276-appb-I000022

표 22의 실시예에서는, ‘initType’에 따라 컨텍스트 인덱스 오프셋 ‘ctxIdxOffset’이 결정될 수 있다. initType은 슬라이스 타입에 따라 결정되는 초기 값에 해당될 수 있다. 예컨대, I 슬라이스에 대한 initType 값은 0이고, P 슬라이스에 대한 initType 값은 1이고, B 슬라이스에 대한 initType 값은 2일 수 있다. 다른 예로, I 슬라이스에 대한 initType 값은 0이고, P 슬라이스에 대한 initType 값은 2이고, B 슬라이스에 대한 initType 값은 1일 수도 있다.
컨텍스트 인덱스 오프셋 값은 initType 값에 따라 결정될 수 있다. 따라서, 컨텍스트 인덱스 오프셋 값은 슬라이스 타입에 따라 결정되는 것으로 볼 수 있다. 예컨대, I 슬라이스에 대한 오프셋 값은 0이고, P 슬라이스에 대한 오프셋 값은 4이고, B 슬라이스에 대한 오프셋 값은 8일 수 있다. 다른 예로, I 슬라이스에 대한 오프셋 값은 0이고, P 슬라이스에 대한 오프셋 값은 8이고, B 슬라이스에 대한 오프셋 값은 4일 수도 있다.
표 22에서, FL은 고정 길이 이진화(fixed-length binarization)를 의미할 수 있다. 즉, 신택스 요소 cbf_cb 및 cbf_cr에 적용되는 이진화 타입은 고정 길이 이진화에 해당될 수 있다. ‘cMax’는 고정 길이 이진화를 위해 사용되는 변수를 의미할 수 있다.
표 22의 실시예에서 신택스 요소 cbf_cb 및 cbf_cr에 대한 빈 인덱스의 최대 값(maxBinIdxCtx)은 0으로 설정되거나 결정될 수 있다. 신택스 요소 cbf_cb 및 cbf_cr의 특정 빈에 대해 적용될 컨텍스트(또는 확률 변수)는 컨텍스트 인덱스 테이블 지시자(ctxIdxTable)가 지시하는 테이블(예컨대, ‘Table 9-24’)을 통해 결정될 수 있다.
다음 표 23은 신택스 요소 cbf_cb 및 cbf_cr에 대한 오프셋 및 컨텍스트 인덱스가 각각 서로 다른 별개의 테이블에 의해 지시되는 경우, 컨텍스트 인덱스가 할당되는 컨텍스트 테이블의 실시예를 개략적으로 나타낸다.
[표 23]
Figure PCTKR2013000276-appb-I000023

표 23의 실시예에서는, 빈 인덱스(binIdx) 별로 컨텍스트 인덱스가 지시될 수 있다.
상술한 바와 같이 컨텍스트 인덱스는 해당 신택스 요소가 적용되는 환경(상태 또는 조건)에 따라서 달라질 수 있다. 예컨대 동일한 빈(또는 빈 인덱스)에 대하여, 신택스 요소가 적용되는 블록의 깊이, 크기 등과 같은 상태나 조건에 따라서 코드워드(또는 이진 코드) 내 동일 위치의 빈에 대해 서로 다른 컨텍스트가 적용될 수 있다.
표 23의 실시예에서는 cbf_cb 및 cbf_cr의 빈 인덱스 0에 대해, 현재 변환 유닛의 분할 깊이(예컨대, trafoDepth)를 기반으로 컨텍스트 인덱스가 결정될 수 있다.
표 23을 참조하면, 신택스 요소 cbf_cb 및 cbf_cr의 빈 인덱스 0에 대해, 해당 신택스 요소가 적용되는 변환 유닛(TU)의 깊이 값(trafoDepth)이 컨텍스트 인덱스로 할당되거나 활용될 수 있다. 또한, 1 이상의 값을 갖는 빈 인덱스들에는 컨텍스트 인덱스가 할당되지 않거나 na(not available)가 할당될 수 있다.
표 23은 빈에 의한 컨텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 23에서 빈에 의한 컨텍스트 인덱스 값은, 표 23에 예시된 값과 다르게 설정될 수도 있다.
다음 표 24는 신택스 요소 ‘cbf_cb 및 cbf_cr’에 대해 적용될 수 있는 컨텍스트 테이블의 다른 실시예를 나타낸다. 표 24의 실시예에 따른 컨텍스트 테이블에는 오프셋 및/또는 컨텍스트 인덱스가 할당될 수 있다. 신택스 요소 ‘cbf_cb 및 cbf_cr’의 코드워드(또는 이진 코드)를 구성하는 각 빈에 적용될 컨텍스트는 오프셋 및 컨텍스트 인덱스의 합에 의해 지시되거나 나타내어질 수 있다.
[표 24]
Figure PCTKR2013000276-appb-I000024

표 24의 실시예에서는 슬라이스 타입에 따라서 서로 다른 별개의 오프셋 값이 설정될 수 있다. 예컨대, I 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 1로 설정되며, B 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 2로 설정될 수 있다. 따라서, 표 24의 실시예에서는 상태 정보 또는 조건에 따라서 다른 오프셋이 적용됨으로써, 조건 별로 다른 컨텍스트가 할당될 수 있다.
그러나, 이는 하나의 예시이며, 표 24의 실시예에서 오프셋 값은, 적합한 컨텍스트를 지시하기 위해 표 24에 예시된 값과 다르게 설정될 수도 있다. 예컨대, I 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 2로 설정되며, B 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 1로 설정될 수도 있다. 다른 예로서 모든 슬라이스 타입에 대해 공통적인 오프셋 값이 적용될 수도 있다.
또한, 표 24의 실시예에서는, 신택스 요소 cbf_cb 및 cbf_cr의 코드워드(또는 이진 코드)를 구성하는 1번째 빈을 나타내는 빈 인덱스 0에 대하여 소정의 고정된 컨텍스트가 적용될 수 있다. 이 때, 빈 인덱스 0에는 소정의 고정된 컨텍스트 인덱스(X)가 할당될 수 있다. 여기서, X는 0, 1 등의 소정의 고정된 값일 수 있다.
표 24는 빈에 의한 컨텍스트 인덱스 값을 구체적으로 설정하는 예를 나타낸 것으로서, 표 24에서 빈에 의한 컨텍스트 인덱스 값은, 적합한 컨텍스트를 지시하기 위해 표 24에 예시된 값과 다르게 설정될 수도 있다.
다음 표 25는 신택스 요소 ‘cbf_cb 및 cbf_cr’에 대해 적용될 수 있는 컨텍스트 테이블의 또 다른 실시예를 나타낸다. 표 25의 실시예에 따른 컨텍스트 테이블에는 오프셋, 컨텍스트 인덱스 및/또는 바이패스 적용 여부에 관한 정보가 할당될 수 있다.
[표 25]
Figure PCTKR2013000276-appb-I000025

표 25의 실시예에서는 슬라이스 타입에 따라서 서로 다른 별개의 오프셋 값이 설정될 수 있다. 예컨대, I 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 1로 설정되며, B 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 2로 설정될 수 있다. 따라서, 표 25의 실시예에서는 상태 정보 또는 조건에 따라서 다른 오프셋이 적용됨으로써, 조건 별로 다른 컨텍스트가 할당될 수 있다.
그러나, 이는 하나의 예시이며, 표 25의 실시예에서 오프셋 값은, 적합한 컨텍스트를 지시하기 위해 표 25에 예시된 값과 다르게 설정될 수도 있다. 예컨대, I 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 0으로 설정되고, P 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 2로 설정되며, B 슬라이스에서는 cbf_cb 및 cbf_cr에 대한 컨텍스트 인덱스 오프셋 값이 1로 설정될 수도 있다. 다른 예로서 모든 슬라이스 타입에 대해 공통적인 오프셋 값이 적용될 수도 있다.
또한, 표 25의 실시예에서는, 신택스 요소 cbf_cb 및 cbf_cr의 코드워드(또는 이진 코드)를 구성하는 1번째 빈을 나타내는 빈 인덱스 0에 대하여, 컨텍스트가 적용되지 않고 바이패스 코딩(bypass coding)이 적용될 수 있다.
표 21 내지 표 25의 실시예에서는, 상술한 바와 같이 설명의 편의상 컨텍스트 인덱스 증가분이 컨텍스트 인덱스로 지칭되고 있으며, 표 21 내지 표 25의 실시예에서 각 빈 인덱스에 할당된 컨텍스트 인덱스는 실제로는 컨텍스트 인덱스 증가분(ctxIdxInc)을 의미할 수 있다. 따라서, 상술한 표 21 내지 표 25의 실시예에서 신택스 요소 cbf_cb 및 cbf_cr의 코드워드(또는 이진 코드)를 구성하는 빈에 대한 실제 컨텍스트 인덱스는, 슬라이스 타입에 따라 결정되는 오프셋(ctxIdxOffset) 및 각 빈 인덱스에 할당된 컨텍스트 인덱스의 합에 의해 결정될 수 있다.

한편, 상술한 실시예들에서는 슬라이스 타입에 따라서 서로 다른 별개의 오프셋 값이 적용되거나 모든 슬라이스 타입에 대해 공통적인 오프셋 값이 적용될 수 있다. 특정 신택스 요소에 대해 슬라이스 타입에 따라서 서로 다른 별개의 오프셋 값이 적용되는 경우에는, 슬라이스가 I 슬라이스인지, P 슬라이스인지, B슬라이스인지에 따라서 동일한 빈 인덱스에 서로 다른 컨텍스트가 적용될 수 있다. 또한, 모든 슬라이스 타입에 대해 공통적인 오프셋 값이 적용되는 경우에는, 모든 슬라이스 타입에 대해 공통적인 컨텍스트(또는 컨텍스트 세트)가 적용될 수 있다.
그러나, 상술한 실시예들은 예시적인 것으로서 본 발명은 상술한 실시예들에 한정되는 것은 아니며, 오프셋 값은 상술한 실시예에서와 다른 방식으로 설정될 수도 있다.
예컨대, 특정 신택스 요소에 대해 현재 슬라이스가 인트라 슬라이스(intra slice)인지 또는 인터 슬라이스(inter slice)인지에 따라서 동일한 빈 인덱스에 서로 다른 컨텍스트(또는 서로 다른 컨텍스트 세트)가 적용될 수 있다. 여기서, 인트라 슬라이스는 I 슬라이스를 의미할 수 있고, 인터 슬라이스는 P 슬라이스 및 B 슬라이스를 포함할 수 있다. 즉, 인트라 슬라이스와 인터 슬라이스를 구분하여 인트라 슬라이스 및 인터 슬라이스에는 각각 서로 다른 오프셋 값이 적용될 수 있고, 인터 슬라이스에 해당되는 P 슬라이스 및 B 슬라이스에 대해서는 공통적인 오프셋 값이 적용될 수 있다.

상술한 실시예들에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
지금까지 본 발명에 관한 설명에서 일 구성 요소가 타 구성 요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 상기 일 다른 구성 요소가 상기 타 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 두 구성 요소 사이에 다른 구성 요소가 존재할 수도 있다고 이해되어야 한다. 반면에, 일 구성 요소가 타 구성 요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 두 구성 요소 사이에 다른 구성요소가 존재하지 않는 것으로 이해되어야 한다.

Claims (20)

  1. 신택스 요소(syntax element)의 코드워드(codeword)를 구성하는 빈(bin)에 대한 컨텍스트(context)를 유도하는 단계; 및
    상기 컨텍스트를 기반으로 상기 빈에 대한 산술 복호화(arithmetic decoding)를 수행하는 단계를 포함하되,
    상기 컨텍스트 유도 단계에서는,
    상기 신택스 요소가 적용될 변환 블록(transform block)의 크기에 관한 정보 및 상기 변환 블록의 분할 깊이에 관한 정보 중에서 적어도 하나를 기반으로 상기 컨텍스트를 유도하는 것을 특징으로 하는 엔트로피 복호화 방법.
  2. 제 1항에 있어서,
    상기 컨텍스트는, 현재 슬라이스(slice)의 슬라이스 타입을 기반으로 결정되는 컨텍스트 인덱스 오프셋(context index offset), 및 상기 빈에 의한 컨텍스트 인덱스(context index by the bin)의 합에 의해 지시되는 것을 특징으로 하는 엔트로피 복호화 방법.
  3. 제 2항에 있어서,
    상기 신택스 요소는 상기 변환 블록의 루마(luma) 성분이 0이 아닌 변환 계수를 하나 이상 포함하는지 여부를 지시하는 루마 코디드 블록 플래그(luma coded block flag)이고, 상기 빈은 0의 빈 인덱스(bin index) 값이 할당된 상기 코드워드의 첫 번째 빈이고,
    상기 컨텍스트 인덱스는, 상기 빈에 의한 컨텍스트 인덱스가 할당된 컨텍스트 테이블(context table)을 기반으로 도출되는 것을 특징으로 하는 엔트로피 복호화 방법.
  4. 제 3항에 있어서,
    상기 변환 블록의 분할 깊이가 0일 때, 상기 빈에 대해 1의 컨텍스트 인덱스가 할당되는 것을 특징으로 하는 엔트로피 복호화 방법.
  5. 제 4항에 있어서,
    상기 변환 블록의 분할 깊이가 0이 아닐 때,
    상기 변환 블록의 크기와 현재 시퀀스(sequence)에서 허용되는 최대 변환 크기(maximum transform size)가 동일하면, 상기 빈에 대해 1의 컨텍스트 인덱스가 할당되고,
    상기 변환 블록의 크기와 상기 최대 변환 크기가 동일하지 않으면, 상기 빈에 대해 0의 컨텍스트 인덱스가 할당되는 것을 특징으로 하는 엔트로피 복호화 방법.
  6. 제 4항에 있어서,
    상기 빈에 할당되는 컨텍스트 인덱스는, 상기 변환 블록의 크기에 관계 없이, 상기 변환 블록의 분할 깊이에 의해 결정되는 것을 특징으로 하는 엔트로피 복호화 방법.
  7. 제 6항에 있어서,
    상기 변환 블록의 분할 깊이가 0이 아닐 때,
    상기 변환 블록의 크기와 현재 시퀀스에서 허용되는 최대 변환 크기가 동일한지 여부에 관계 없이, 상기 빈에 대해 0의 컨텍스트 인덱스가 할당되는 것을 특징으로 하는 엔트로피 복호화 방법.
  8. 제 3항에 있어서,
    상기 컨텍스트 인덱스 오프셋의 값은,
    상기 현재 슬라이스가 I 슬라이스이면 0이고, 상기 현재 슬라이스가 P 슬라이스이면 2이고, 상기 현재 슬라이스가 B 슬라이스이면 4인 것을 특징으로 하는 엔트로피 복호화 방법.
  9. 제 2항에 있어서,
    상기 신택스 요소는 상기 변환 블록의 크로마(chroma) 성분이 0이 아닌 변환 계수를 하나 이상 포함하는지 여부를 지시하는 크로마 코디드 블록 플래그(chroma coded block flag)이고, 상기 빈은 0의 빈 인덱스(bin index) 값이 할당된 상기 코드워드의 첫 번째 빈이고,
    상기 컨텍스트 인덱스는, 상기 빈에 의한 컨텍스트 인덱스가 할당된 컨텍스트 테이블(context table)을 기반으로 도출되는 것을 특징으로 하는 엔트로피 복호화 방법.
  10. 제 9항에 있어서,
    상기 변환 블록의 분할 깊이 값이 상기 빈에 의한 컨텍스트 인덱스로서 할당되는 것을 특징으로 하는 엔트로피 복호화 방법.
  11. 제 9항에 있어서,
    상기 컨텍스트 인덱스 오프셋의 값은,
    상기 현재 슬라이스가 I 슬라이스이면 0이고, 상기 현재 슬라이스가 P 슬라이스이면 4이고, 상기 현재 슬라이스가 B 슬라이스이면 8인 것을 특징으로 하는 엔트로피 복호화 방법.
  12. 신택스 요소(syntax element)의 코드워드(codeword)를 구성하는 빈(bin)에 대한 컨텍스트(context)를 유도하는 단계;
    상기 컨텍스트를 기반으로 상기 빈에 대한 산술 복호화(arithmetic decoding)를 수행함으로써, 상기 신택스 요소의 정보를 획득하는 단계; 및
    상기 신택스 요소의 정보를 기반으로, 영상을 복원하는 단계를 포함하되,
    상기 컨텍스트 유도 단계에서는,
    상기 신택스 요소가 적용될 변환 블록(transform block)의 크기에 관한 정보 및 상기 변환 블록의 분할 깊이에 관한 정보 중에서 적어도 하나를 기반으로 상기 컨텍스트를 유도하는 것을 특징으로 하는 영상 복호화 방법.
  13. 신택스 요소(syntax element)의 코드워드(codeword)를 구성하는 빈(bin)에 대한 컨텍스트(context)를 유도하고, 상기 컨텍스트를 기반으로 상기 빈에 대한 산술 복호화(arithmetic decoding)를 수행함으로써 상기 신택스 요소의 정보를 획득하는 엔트로피 복호화부; 및
    상기 신택스 요소의 정보를 기반으로, 영상을 복원하는 영상 복원부를 포함하되,
    상기 엔트로피 복호화부는,
    상기 신택스 요소가 적용될 변환 블록(transform block)의 크기에 관한 정보 및 상기 변환 블록의 분할 깊이에 관한 정보 중에서 적어도 하나를 기반으로 상기 컨텍스트를 유도하는 것을 특징으로 하는 영상 복호화 장치.
  14. 제 13항에 있어서,
    상기 컨텍스트는, 현재 슬라이스(slice)의 슬라이스 타입을 기반으로 결정되는 컨텍스트 인덱스 오프셋(context index offset), 및 상기 빈에 의한 컨텍스트 인덱스(context index by the bin)의 합에 의해 지시되는 것을 특징으로 하는 영상 복호화 장치.
  15. 제 14항에 있어서,
    상기 신택스 요소는 상기 변환 블록의 루마(luma) 성분이 0이 아닌 변환 계수를 하나 이상 포함하는지 여부를 지시하는 루마 코디드 블록 플래그(luma coded block flag)이고, 상기 빈은 0의 빈 인덱스(bin index) 값이 할당된 상기 코드워드의 첫 번째 빈이고,
    상기 엔트로피 복호화부는,
    상기 빈에 의한 컨텍스트 인덱스가 할당된 컨텍스트 테이블(context table)을 기반으로, 상기 컨텍스트 인덱스를 결정하는 것을 특징으로 하는 영상 복호화 장치.
  16. 제 15항에 있어서,
    상기 엔트로피 복호화부는,
    상기 변환 블록의 분할 깊이가 0일 때, 상기 빈에 대해 1의 컨텍스트 인덱스를 할당하는 것을 특징으로 하는 영상 복호화 장치.
  17. 제 16항에 있어서,
    상기 엔트로피 복호화부는,
    상기 변환 블록의 분할 깊이가 0이 아닐 때,
    상기 변환 블록의 크기와 현재 시퀀스(sequence)에서 허용되는 최대 변환 크기(maximum transform size)가 동일하면, 상기 빈에 대해 1의 컨텍스트 인덱스를 할당하고,
    상기 변환 블록의 크기와 상기 최대 변환 크기가 동일하지 않으면, 상기 빈에 대해 0의 컨텍스트 인덱스를 할당하는 것을 특징으로 하는 영상 복호화 장치.
  18. 제 16항에 있어서,
    상기 엔트로피 복호화부는,
    상기 변환 블록의 크기에 관계 없이, 상기 변환 블록의 분할 깊이를 기반으로 상기 빈에 할당되는 컨텍스트 인덱스를 결정하는 것을 특징으로 하는 영상 복호화 장치.
  19. 제 18항에 있어서,
    상기 엔트로피 복호화부는,
    상기 변환 블록의 분할 깊이가 0이 아닐 때,
    상기 변환 블록의 크기와 현재 시퀀스에서 허용되는 최대 변환 크기가 동일한지 여부에 관계 없이, 상기 빈에 대해 0의 컨텍스트 인덱스를 할당하는 것을 특징으로 하는 영상 복호화 장치.
  20. 제 15항에 있어서,
    상기 컨텍스트 인덱스 오프셋의 값은,
    상기 현재 슬라이스가 I 슬라이스이면 0이고, 상기 현재 슬라이스가 P 슬라이스이면 2이고, 상기 현재 슬라이스가 B 슬라이스이면 4인 것을 특징으로 하는 영상 복호화 장치.
PCT/KR2013/000276 2012-01-18 2013-01-14 엔트로피 부호화/복호화 방법 및 그 장치 WO2013109026A1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US14/373,190 US9729884B2 (en) 2012-01-18 2013-01-14 Method and device for entropy coding/decoding
US15/643,092 US10225557B2 (en) 2012-01-18 2017-07-06 Method and device for entropy coding/decoding
US16/244,848 US10531092B2 (en) 2012-01-18 2019-01-10 Method and device for entropy coding/decoding
US16/694,279 US10791329B2 (en) 2012-01-18 2019-11-25 Method and device for entropy coding/decoding
US16/998,951 US10999580B2 (en) 2012-01-18 2020-08-20 Method and device for entropy coding/decoding
US17/214,289 US11706420B2 (en) 2012-01-18 2021-03-26 Method and device for entropy coding/decoding
US18/201,977 US11909981B2 (en) 2012-01-18 2023-05-25 Method and device for entropy coding/decoding

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261587661P 2012-01-18 2012-01-18
US61/587,661 2012-01-18

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/373,190 A-371-Of-International US9729884B2 (en) 2012-01-18 2013-01-14 Method and device for entropy coding/decoding
US15/643,092 Continuation US10225557B2 (en) 2012-01-18 2017-07-06 Method and device for entropy coding/decoding

Publications (1)

Publication Number Publication Date
WO2013109026A1 true WO2013109026A1 (ko) 2013-07-25

Family

ID=48799410

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/000276 WO2013109026A1 (ko) 2012-01-18 2013-01-14 엔트로피 부호화/복호화 방법 및 그 장치

Country Status (2)

Country Link
US (7) US9729884B2 (ko)
WO (1) WO2013109026A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019098464A1 (ko) * 2017-11-14 2019-05-23 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2021025485A1 (ko) * 2019-08-06 2021-02-11 현대자동차주식회사 비디오 부호화 및 복호화를 위한 엔트로피 코딩
WO2021230618A1 (ko) * 2020-05-11 2021-11-18 엘지전자 주식회사 영상 코딩 방법 및 그 장치

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120035096A (ko) 2010-10-04 2012-04-13 한국전자통신연구원 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치
US9729884B2 (en) * 2012-01-18 2017-08-08 Lg Electronics Inc. Method and device for entropy coding/decoding
US20150049821A1 (en) * 2013-08-16 2015-02-19 Qualcomm Incorporated In-loop depth map filtering for 3d video coding
US10057599B2 (en) * 2014-02-19 2018-08-21 Mediatek Inc. Method for performing image processing control with aid of predetermined tile packing, associated apparatus and associated non-transitory computer readable medium
JP6532222B2 (ja) * 2014-11-28 2019-06-19 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6566864B2 (ja) * 2015-12-28 2019-08-28 Kddi株式会社 ビットストリーム変換装置、ビットストリーム変換方法、配信システム及びコンピュータ可読記録媒体
US20190020877A1 (en) * 2016-01-21 2019-01-17 Sony Corporation Image processing apparatus and method
US9673836B1 (en) * 2016-09-23 2017-06-06 International Business Machines Corporation System level testing of entropy encoding
US10715827B2 (en) * 2017-01-06 2020-07-14 Mediatek Inc. Multi-hypotheses merge mode
US10609414B2 (en) 2017-05-08 2020-03-31 Qualcomm Incorporated Context modeling for transform coefficient coding
CN116320456A (zh) * 2018-04-01 2023-06-23 Lg电子株式会社 编解码设备的画面编解码方法、存储介质及数据发送方法
CN116886915A (zh) * 2018-10-05 2023-10-13 Lg电子株式会社 图像编码/解码方法、存储介质及数据传输方法
JP2022068379A (ja) * 2019-03-08 2022-05-10 シャープ株式会社 画像復号装置
AU2020236358A1 (en) * 2019-03-11 2021-11-11 Interdigital Vc Holdings, Inc. Reducing the number of regular coded bins
KR20220053560A (ko) * 2019-09-06 2022-04-29 소니그룹주식회사 화상 처리 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100667816B1 (ko) * 2005-09-23 2007-01-11 삼성전자주식회사 Cabac 처리에서의 효율적인 컨텍스트 적응 방법 및장치
KR100955418B1 (ko) * 2007-10-16 2010-05-04 인더스트리얼 테크놀로지 리써치 인스티튜트 컨텍스트 기반 적응형 이진 산술 인코딩 및 디코딩을 위한 시스템 및 방법
KR20110021325A (ko) * 2009-08-26 2011-03-04 주식회사 코아로직 이진 산술 복호화 방법 및 장치
KR20110079404A (ko) * 2009-12-30 2011-07-07 숭실대학교산학협력단 엔트로피 코딩의 성능 향상 방법 및 상기 방법을 이용한 비디오 코딩 방법 및 장치
KR20110110855A (ko) * 2009-02-05 2011-10-07 톰슨 라이센싱 적응형 모드 비디오 인코딩 및 디코딩 방법 및 장치

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7630440B2 (en) * 2003-05-28 2009-12-08 Broadcom Corporation Context adaptive binary arithmetic code decoding engine
US20060209965A1 (en) * 2005-03-17 2006-09-21 Hsien-Chih Tseng Method and system for fast run-level encoding
CN101317459A (zh) * 2005-10-11 2008-12-03 诺基亚公司 用于可伸缩视频编码的有效解码图像缓存管理
US7983343B2 (en) * 2006-01-12 2011-07-19 Lsi Corporation Context adaptive binary arithmetic decoding for high definition video
EP2051527A1 (en) * 2007-10-15 2009-04-22 Thomson Licensing Enhancement layer residual prediction for bit depth scalability using hierarchical LUTs
PL2559166T3 (pl) * 2010-04-13 2018-04-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Koder i dekoder dzielący interwał prawdopodobieństwa
CN107277539B (zh) * 2011-05-27 2020-11-06 寰发股份有限公司 减少用于上下文自适应熵解码中的行缓存的方法及装置
CN103597834B (zh) * 2011-08-04 2016-12-21 寰发股份有限公司 基于上下文自适应二进制算术编码的方法及装置
BR112014007494B1 (pt) * 2011-09-29 2022-05-31 Sharp Kabushiki Kaisha Dispositivo de decodificação de imagem, método de decodificação de imagem, e dispositivo de codificação de imagem
US20130128971A1 (en) * 2011-11-23 2013-05-23 Qualcomm Incorporated Transforms in video coding
US9729884B2 (en) * 2012-01-18 2017-08-08 Lg Electronics Inc. Method and device for entropy coding/decoding
US9185405B2 (en) * 2012-03-23 2015-11-10 Qualcomm Incorporated Coded block flag inference in video coding
US9538172B2 (en) * 2012-04-11 2017-01-03 Qualcomm Incorporated Grouping bypass coded syntax elements in video coding
AU2012232992A1 (en) * 2012-09-28 2014-04-17 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the transform units of a coding unit
EP2904797B1 (en) * 2012-10-01 2021-08-11 Nokia Technologies Oy Method and apparatus for scalable video coding
US10136143B2 (en) * 2012-12-07 2018-11-20 Qualcomm Incorporated Advanced residual prediction in scalable and multi-view video coding
US9948916B2 (en) * 2013-10-14 2018-04-17 Qualcomm Incorporated Three-dimensional lookup table based color gamut scalability in multi-layer video coding
WO2016074147A1 (en) * 2014-11-11 2016-05-19 Mediatek Singapore Pte. Ltd. Separated coding tree for luma and chroma
EP3304912A4 (en) * 2015-06-07 2018-06-06 Sharp Kabushiki Kaisha Systems and methods for optimizing video coding based on a luminance transfer function or video color component values
US20190052878A1 (en) * 2016-02-08 2019-02-14 Sharp Kabushiki Kaisha Systems and methods for transform coefficient coding
US10484712B2 (en) * 2016-06-08 2019-11-19 Qualcomm Incorporated Implicit coding of reference line index used in intra prediction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100667816B1 (ko) * 2005-09-23 2007-01-11 삼성전자주식회사 Cabac 처리에서의 효율적인 컨텍스트 적응 방법 및장치
KR100955418B1 (ko) * 2007-10-16 2010-05-04 인더스트리얼 테크놀로지 리써치 인스티튜트 컨텍스트 기반 적응형 이진 산술 인코딩 및 디코딩을 위한 시스템 및 방법
KR20110110855A (ko) * 2009-02-05 2011-10-07 톰슨 라이센싱 적응형 모드 비디오 인코딩 및 디코딩 방법 및 장치
KR20110021325A (ko) * 2009-08-26 2011-03-04 주식회사 코아로직 이진 산술 복호화 방법 및 장치
KR20110079404A (ko) * 2009-12-30 2011-07-07 숭실대학교산학협력단 엔트로피 코딩의 성능 향상 방법 및 상기 방법을 이용한 비디오 코딩 방법 및 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019098464A1 (ko) * 2017-11-14 2019-05-23 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2021025485A1 (ko) * 2019-08-06 2021-02-11 현대자동차주식회사 비디오 부호화 및 복호화를 위한 엔트로피 코딩
WO2021230618A1 (ko) * 2020-05-11 2021-11-18 엘지전자 주식회사 영상 코딩 방법 및 그 장치
US11943445B2 (en) 2020-05-11 2024-03-26 Lg Electronics Inc. Image coding method and device therefor

Also Published As

Publication number Publication date
US20210227224A1 (en) 2021-07-22
US10225557B2 (en) 2019-03-05
US11909981B2 (en) 2024-02-20
US10531092B2 (en) 2020-01-07
US20200099932A1 (en) 2020-03-26
US20190149826A1 (en) 2019-05-16
US20140362904A1 (en) 2014-12-11
US20200382789A1 (en) 2020-12-03
US10791329B2 (en) 2020-09-29
US20230308656A1 (en) 2023-09-28
US20170324960A1 (en) 2017-11-09
US11706420B2 (en) 2023-07-18
US10999580B2 (en) 2021-05-04
US9729884B2 (en) 2017-08-08

Similar Documents

Publication Publication Date Title
US11909981B2 (en) Method and device for entropy coding/decoding
KR102006237B1 (ko) 쿼드 트리를 이용한 블록 정보 부/복호화 방법 및 이러한 방법을 사용하는 장치
KR102350072B1 (ko) 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
TWI658702B (zh) 資料編碼及解碼
KR102462386B1 (ko) 데이터 인코딩 및 디코딩
WO2012173315A1 (ko) 인트라 예측 모드 부호화/복호화 방법 및 장치
WO2012138032A1 (ko) 영상 정보 부호화 방법 및 복호화 방법
JP2022510145A (ja) しきい値とライスパラメータとを使用した係数復号のための正規コード化ビン低減
EP3925218A1 (en) Regular coded bin reduction for coefficient coding using threshold
JP2022516132A (ja) 係数レベルのためのエスケープコーディング
KR102574869B1 (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: 13738044

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14373190

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 13738044

Country of ref document: EP

Kind code of ref document: A1