KR20060083100A - Method and apparatus for adaptive entropy encoding and decoding for scalable video coding - Google Patents

Method and apparatus for adaptive entropy encoding and decoding for scalable video coding Download PDF

Info

Publication number
KR20060083100A
KR20060083100A KR1020050031410A KR20050031410A KR20060083100A KR 20060083100 A KR20060083100 A KR 20060083100A KR 1020050031410 A KR1020050031410 A KR 1020050031410A KR 20050031410 A KR20050031410 A KR 20050031410A KR 20060083100 A KR20060083100 A KR 20060083100A
Authority
KR
South Korea
Prior art keywords
encoding
entropy
context
layer
referring
Prior art date
Application number
KR1020050031410A
Other languages
Korean (ko)
Other versions
KR100636229B1 (en
Inventor
전병우
최웅일
Original Assignee
학교법인 성균관대학
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 학교법인 성균관대학, 삼성전자주식회사 filed Critical 학교법인 성균관대학
Priority to PCT/KR2006/000162 priority Critical patent/WO2006075901A1/en
Priority to CA002590705A priority patent/CA2590705A1/en
Priority to EP06715723A priority patent/EP1836858A1/en
Priority to JP2007551200A priority patent/JP2008527902A/en
Priority to US11/332,568 priority patent/US7262721B2/en
Publication of KR20060083100A publication Critical patent/KR20060083100A/en
Application granted granted Critical
Publication of KR100636229B1 publication Critical patent/KR100636229B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Abstract

다양한 컨텍스트(context) 모델을 이용한 적응적 엔트로피 부호화 및 복호화 방법과 그 장치가 개시된다. 본 발명에 따라, 계층적 엔트로피 부호화 방법은 (a) 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 단계; 및 (b) 상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화 하는 단계를 포함하는 것을 특징으로 한다. 이에 의해, 신축형 비디오 부호화시 계층적 상관도를 포함한 다양한 컨텍스트를 이용하여 엔트로피 부호화를 수행함으로써 부호화 효율을 향상시킬 수 있는 효과가 있다.Disclosed are a method and apparatus for adaptive entropy encoding and decoding using various context models. According to the present invention, the hierarchical entropy encoding method includes (a) determining a context by referring to encoding elements of the same layer and lower layer as the layer of the block to which the encoding element to be encoded, or by referring to only the encoding elements of the lower layer. ; And (b) entropy encoding the encoding element using the determined context. As a result, entropy encoding may be performed using various contexts including hierarchical correlation in the stretching video encoding, thereby improving encoding efficiency.

Description

신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화 방법과 그 장치 {Method and apparatus for adaptive entropy encoding and decoding for scalable video coding}Adaptive entropy encoding and decoding method for flexible coding and apparatus therefor {Method and apparatus for adaptive entropy encoding and decoding for scalable video coding}

도 1은 신축형 비디오 부호화 기술을 적용하여 비디오를 부호화하는 일례를 설명하기 위한 참조도,1 is a reference diagram for explaining an example of encoding a video by applying a flexible video encoding technique.

도 2는 CABAC 부호화기의 구성도,2 is a block diagram of a CABAC encoder;

도 3a 내지 도 3b는 컨텍스트의 결정을 설명하기 위한 참조도,3A to 3B are reference diagrams for explaining the determination of context;

도 4는 CABAC 복호화기의 구성도,4 is a configuration diagram of a CABAC decoder;

도 5는 심볼과 부호어 간의 매핑 정보를 이용하여 부호화하는 엔트로피 부호화기의 구성도,5 is a configuration diagram of an entropy encoder that encodes using mapping information between a symbol and a codeword;

도 6은 심볼과 부호어 간의 매핑 정보를 이용하여 복호화하는 엔트로피 복호화기의 구성도,6 is a configuration diagram of an entropy decoder that decodes using mapping information between a symbol and a codeword;

도 7a 내지 도 7b는 본 발명에 따른 컨텍스트 결정부의 동작을 설명하기 위한 참조도,7A to 7B are reference diagrams for describing an operation of a context determination unit according to the present invention;

도 8a 내지 도 8g는 본 발명에 따른 컨텍스트 결정부를 이용한 적응적 엔트로피 부호화기의 일실시예 구성도,8A to 8G are diagrams illustrating an embodiment of an adaptive entropy encoder using a context determiner according to the present invention;

도 9a 내지 도 9g는 본 발명에 따른 컨텍스트 결정부를 이용한 적응적 엔트 로피 복호화기의 일실시예 구성도,9A to 9G are diagrams illustrating an embodiment of an adaptive entropy decoder using a context determiner according to the present invention;

도 10a 내지 도 10c는 본 발명의 일실시예에 따른 엔트로피 부호화 방법의 플로우차트,10A to 10C are flowcharts of an entropy encoding method according to an embodiment of the present invention;

도 11a 내지 도 11c는 본 발명의 일실시예에 따른 엔트로피 복호화 방법의 플로우차트,11A to 11C are flowcharts of an entropy decoding method according to an embodiment of the present invention;

도 12는 본 발명의 엔트로피 부호화기를 구비한 비디오 부호화 장치의 일례를 나타내는 블록도,12 is a block diagram illustrating an example of a video encoding apparatus having an entropy encoder of the present invention;

도 13은 본 발명의 엔트로피 복호화기를 구비한 비디오 복호화 장치의 일례를 나타내는 블록도,13 is a block diagram illustrating an example of a video decoding apparatus having an entropy decoder of the present invention;

본 발명은 신축형(scalable) 부호화를 위한 적응적 엔트로피 부호화 및 복호화 방법과 그 장치에 관한 것으로, 보다 상세하게는 다양한 컨텍스트(context) 모델을 이용한 적응적 엔트로피 부호화 및 복호화 방법과 그 장치에 관한 것이다.The present invention relates to a method and apparatus for adaptive entropy encoding and decoding for scalable coding, and more particularly, to an method and apparatus for adaptive entropy encoding and decoding using various context models. .

신축형 비디오 부호화(scalable video coding)는 다양한 통신망과 단말의 조건에 따라, 전송하고자 하는 데이터의 양을 적절히 조정하여 전송하기 위한 비디오 부호화를 말하며, 다양한 전송 환경에 대응하여 적응적으로 비디오를 처리하기 위해 필수적으로 필요한 기술이다. 현재, 이동 통신 기술 및 전송 수단의 발달과 고성능 반도체 및 비디오 압축 기술의 발달에 따라, 다양한 전송 환경에서 비디오를 서비스 받고자 하는 요구가 급속히 증가하고 있다.Scalable video coding refers to video encoding for appropriately adjusting and transmitting the amount of data to be transmitted according to various communication networks and terminal conditions, and adaptively processing video corresponding to various transmission environments. Is a necessary skill. At present, with the development of mobile communication technology and transmission means and the development of high performance semiconductor and video compression technology, the demand for video service in various transmission environments is rapidly increasing.

그러나, 채널 대역폭, 단말기 처리 능력, 패킷 손실율, 사용자의 이동 환경 등에 따른 다양한 환경 변화에 대응하여 비디오를 처리하기 위해서, 종래 특정 통신 환경을 고려하여 개발된 비디오 부호화 기술은 전송환경에 따라 적응적으로 비디오 부호화를 수행하는데 부적합하다. 신축형 비디오 부호화 기술은 이러한 전송 환경에 적응적인 지능형 기술중의 하나로써, 일례로 화면 크기를 위한 공간 신축형 부호화, 프레임율에 대한 시간 신축형 부호화, 그리고 화질을 고려한 SNR(Signal to Noise Ratio) 신축형 부호화 등이 있다. However, in order to process video in response to various environmental changes according to channel bandwidth, terminal processing capability, packet loss rate, and user's mobile environment, a video encoding technique developed in consideration of a specific communication environment is adaptively adapted to a transmission environment. Not suitable for performing video encoding. Flexible video encoding technology is one of the intelligent technologies adaptive to such a transmission environment. For example, spatial flexible coding for screen size, temporal flexible coding for frame rate, and Signal to Noise Ratio (SNR) considering image quality Telescopic coding and the like.

종래의 비디오 표준들도 이러한 신축형 비디오 부호화 기술을 포함하고 있다. 일례로, 주로 ATM(Asynchronous Transfer Mode) 망에서의 비디오 데이터 전송을 고려한 MPEG-2 신축형 부호화, H.263 Annex.O 의 SNR, 시간적 및 공간적 신축 부호화, 그리고 MPEG-4 기반 미세 신축형 부호화(Fine Granular Scalable Coding)등의 기술들이 존재하며, 또한 MPEG-4 AVC 기반 표준의 신축형 비디오 부호화 기술은 현재 표준화가 진행중이다. 현재 표준화가 진행중인 MPEG-4 AVC 기반 신축형 비디오 부호화는 SNR 및 시간적/공간적 측면에서 동시에 신축형 비디오 부호화 기능을 지원하는 것을 목표로 하고 있다.도 1은 신축형 비디오 부호화 기술을 적용하여 비디오를 부호화하는 일례를 설명하기 위한 참조도이다.Conventional video standards also include this flexible video encoding technique. For example, MPEG-2 flexible coding mainly for video data transmission in Asynchronous Transfer Mode (ATM) networks, SNR of H.263 Annex.O, temporal and spatial flexible coding, and MPEG-4 based micro flexible coding ( Fine Granular Scalable Coding), and the flexible video encoding technology of the MPEG-4 AVC-based standard is currently being standardized. MPEG-4 AVC-based flexible video encoding, which is currently being standardized, aims to simultaneously support flexible video encoding in terms of SNR and temporal / spatial aspects. FIG. 1 encodes video by applying a flexible video encoding technique. It is a reference figure for demonstrating an example to make.

도 1을 참조하면, SNR, 시간적, 공간적 측면에서 모두 복합적으로 신축형 부호화할 수 있음을 알 수 있다. 신축형 부호화 기술은 비디오를 계층 단위로 구분하여 네트워크의 상태 등에 따라 부호화하는 기술이며, 상위 계층(Enhancement layer)들은 아래 계층의 데이터들을 사용하여 부호화한다.Referring to FIG. 1, it can be seen that flexible coding can be performed in all of SNR, temporal and spatial aspects. The flexible encoding technique is a technique of dividing a video into hierarchical units and encoding the video according to a state of a network, and the enhancement layers are encoded using data of a lower layer.

도 1에서 도시한 비디오 부호화의 예를 보다 상세하게 설명하면, 비디오 데이터의 전송 비트율이 41kbps 이하인 경우에는 기본 계층(Base layer)(110)만으로 부호화하고, 41kbps 초과 80kbps 이하인 경우에는, 기본 계층(110)의 데이터를 이용하여 화질을 향상시킨 SNR 신축형 부호화를 수행하여, 제1상위계층(120)을 만들어 부호화한다. 기본 계층(110) 및 제1상위계층(120)은 모두 각 프레임의 화면 크기가 QCIF(Quarter Common Intermediate Format)이며, 초당 15 프레임 단위로 부호화된다.Referring to the example of video encoding illustrated in FIG. 1 in more detail, when the transmission bit rate of video data is 41 kbps or less, only the base layer 110 is encoded. When the video bit rate is 41 kbps or more and 80 kbps or less, the base layer 110 is used. SNR flexible encoding with improved image quality is performed using the data of ()) to make and encode the first upper layer 120. The base layer 110 and the first upper layer 120 each have a screen size of QCIF (Quarter Common Intermediate Format) and are encoded in units of 15 frames per second.

한편, 제2상위계층(130) 및 제3상위계층(140)은 화면 크기가 CIF이며 초당 30 프레임 단위로 부호화된다. 따라서, 115kbps 까지의 비트율에 해당하는 제2상위계층(130)은, QCIF 화면 크기의 제1상위계층(120)의 프레임을 업샘플링(upsampling)하여 CIF 화면 크기로 만들고, 이를 예측 부호화하여 중간 프레임인 H 프레임(High-pass frame)들을 더 만듬으로써 완성된다. 제3상위계층(140)은 256kbps까지의 비트율일 때 만들어지며, 제1상위계층(120)과 마찬가지로 바로 아래 계층인 제2상위계층(130)의 데이터를 가지고 화질을 개선시킨 SNR 신축형 부호화를 수행하여 만들어진다.각 계층의 B(Bi-predictive) 프레임 또는 H(High-pass) 프레임들은 전송 순서상 앞선 프레임들만을 움직임 보상시 참조 영상으로 사용하기 때문에 시간적으로 신축형 부호화가 가능하다. 도 1을 참조하면, I 프레임 및 P 프레임 혹은 L(Low-pass) 프레임들이 전송 순서상 B 프레임 혹은 H 프레임들보다 앞서는 것을 알 수 있다. 동일한 B 프레임들 및 H 프레임 간의 전송 순서는, 도 1에 나 타난 것처럼 할당된 인덱스(프레임 이름에 윗첨자로 표시됨)에 따라 달라진다. 동일한 B 프레임들끼리는 그 인덱스가 낮을수록, H 프레임들끼리는 그 인덱스가 높을수록 전송 순서가 앞선다.The second upper layer 130 and the third upper layer 140 have a screen size of CIF and are encoded in units of 30 frames per second. Accordingly, the second upper layer 130 corresponding to a bit rate up to 115 kbps, upsamples the frame of the first upper layer 120 having the QCIF screen size to make the CIF screen size, and predictively encodes the frame to make the intermediate frame. This is accomplished by creating more H-pass frames. The third upper layer 140 is formed at a bit rate of up to 256 kbps, and similar to the first upper layer 120, the SNR flexible encoding having improved image quality with the data of the second upper layer 130, which is the lower layer, is improved. Bi-predictive (B) frames or high-pass (H-frame) frames of each layer can be flexibly encoded in temporal order because only the preceding frames are used as reference images in motion compensation. Referring to FIG. 1, it can be seen that I frames and P frames or L-pass frames precede B frames or H frames in the transmission order. The order of transmission between the same B frames and H frames depends on the assigned index (indicated by superscript in the frame name) as shown in FIG. The lower the index of the same B frames, the higher the index of the H frames, the earlier the transmission order.

예를 들어, 기본 계층(110) 혹은 제1상위계층(120)에서 B1 프레임들은 I 프레임 및 P 프레임들을 참조하여 움직임 보상되고, B2 프레임들은 B1 프레임들을 참조하여 움직임 보상된다. 또한 제2상위계층(130) 및 제3상위계층(140)에서 H3 프레임들은 L3 프레임들을 참조하여 움직임 보상되고, 마찬가지로 H2 프레임들은 H3 프레임들을 참조하여 움직임 보상된다. 따라서, 기본 계층(110) 및 제1상위계층(120)에서의 프레임 전송순서는 I->P->B1->B2->B3이며, 제2상위계층(130) 및 제3상위계층(140)에서의 프레임 전송순서는 L3->H3->H2->H1->H0 이 되고, 동일한 인덱스를 갖는 프레임들끼리는 프레임이 나타나는 시간 순서에 따라 전송순서가 결정된다. 이러한 시간 신축형 부호화, 공간 신축형 부호화 및 SNR 신축형 부호화를 통하여 각 계층별 비트율에 따라 복호화기는 해당 계층까지 복호 가능하다.For example, in the base layer 110 or the first upper layer 120, B 1 frames are motion compensated with reference to I frames and P frames, and B 2 frames are motion compensated with reference to B 1 frames. In addition, in the second upper layer 130 and the third upper layer 140, H 3 frames are motion compensated with reference to L 3 frames, and H 2 frames are motion compensated with reference to H 3 frames. Accordingly, the frame transmission order in the base layer 110 and the first upper layer 120 is I->P-> B 1- > B 2- > B 3 , and the second upper layer 130 and the third higher order are used. The frame transmission order in the layer 140 becomes L 3- > H 3- > H 2- > H 1- > H 0 , and the transmission order of frames having the same index is determined according to the time order in which the frames appear. . Through such temporal stretch coding, spatial stretch coding, and SNR stretch coding, the decoder can decode up to the corresponding layer according to the bit rate of each layer.

이렇게 신축형 비디오 부호화 기술은 이미 MPEG-2 표준에서부터 표준으로 제정되었고 많은 연구가 진행되어 왔으나, 현재 상용화되지 못하고 있다. 그 가장 큰 이유는 부호화 효율이 나쁘다는데 있다. 즉, 비신축형 비디오 부호화 기술과 비교할 때, 신축형 비디오 부호화는 저화질의 기본 계층의 화질을 점차 개선하는 방식 으로 부호화를 수행하기 때문에, 동일한 비트율의 비디오 또는 오디오라고 하더라도 경우에 따라 심각한 질적 열화가 발생한다. 이러한 부호화 효율 문제를 극복하지 않는 한 계층적 부호화는 상용화되기 어렵다.The flexible video encoding technology has already been established as a standard from the MPEG-2 standard, and much research has been conducted, but it is currently not commercialized. The biggest reason is that the coding efficiency is bad. That is, compared with non-stretchable video encoding technology, since flexible video encoding performs encoding in a manner that gradually improves the quality of the low-quality base layer, even if video or audio of the same bit rate is severely degraded in some cases Occurs. Hierarchical coding cannot be commercialized unless such coding efficiency problems are overcome.

이에 따라 상술한 계층적 부호화 시의 부호화 효율 저하를 극복하기 위한 연구가 활발히 진행되고 있다. 일례로 공간 영역의 신축형 부호화 시, 업샘플링(upsampling)된 하위 계층의 영상을 움직임 보상시에 활용함으로써, 각 계층을 독립적으로 부호화하는 것에 비해 부호화 효율을 크게 향상시킬 수 있다. 다시 말하면, 각 계층간은 상관도가 매우 높기 때문에, 이렇게 계층간의 상관도를 이용하면 예측 부호화시에 높은 부호화 효율을 얻을 수 있다.그러나, 종래의 신축형 비디오 부호화 기술에서는, 엔트로피 부호화의 경우 이러한 계층간 상관도를 이용한 부호화를 수행하지 않고, 비신축형 비디오 부호화와 동일한 방법에 따라 부호화가 수행되었기 때문에 전술한 부호화 효율 저하 문제를 해결하지 못하였다.Accordingly, researches for overcoming the above-mentioned degradation of coding efficiency in hierarchical coding have been actively conducted. For example, when the flexible encoding of the spatial domain is performed, the upsampled lower layer of the image may be used for motion compensation, thereby significantly improving encoding efficiency compared to encoding each layer independently. In other words, since the correlation between the layers is very high, the use of the correlation between the layers makes it possible to obtain high coding efficiency during prediction encoding. However, in the conventional telescopic video encoding technique, such entropy coding is required. Since the encoding is performed according to the same method as the non-stretch video encoding without performing the encoding using the inter-layer correlation, the aforementioned problem of deterioration of encoding efficiency cannot be solved.

따라서, 본 발명이 이루고자 하는 기술적 과제는, 복수의 계층으로 부호화하는 신축형 비디오 부호화기에서 엔트로피 부호화의 효율을 높이기 위하여, 계층간 부호화 요소의 상관도를 이용한 컨텍스트 기반 적응적 엔트로피 부호화 방법과 이에 따른 부호화 장치를 제공하는 것이다.Accordingly, the present invention provides a context-based adaptive entropy encoding method using the correlation between inter-layer coding elements and an encoding thereof in order to increase the efficiency of entropy encoding in a flexible video encoder that encodes a plurality of layers. To provide a device.

본 발명이 이루고자 하는 다른 기술적 과제는, 계층간 부호화 요소의 상관도를 이용한 컨텐스트 기반 적응적 엔트로피 복호화 방법과 이에 따른 복호화 장치를 제공하는 것이다.Another object of the present invention is to provide a content-based adaptive entropy decoding method using correlation between inter-layer coding elements, and a decoding apparatus according thereto.

상기 기술적 과제는 본 발명에 따라, (a) 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 단계; 및 (b) 상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화 하는 단계를 포함하는 것을 특징으로 하는 계층적 엔트로피 부호화 방법에 의해 달성된다.According to the present invention, (a) determining a context by referring to encoding elements of the same layer and lower layer as the layer of the block to which the encoding element to be encoded, or by referring to only the encoding elements of the lower layer; And (b) entropy-encoding the encoding element using the determined context.

또한, 상기 기술적 과제는 본 발명에 따라, (a) 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 단계; (b) 상기 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하여 컨텍스트를 결정하는 단계; 및 (c) 상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화 하는 단계를 포함하는 것을 특징으로 하는 엔트로피 부호화 방법에 의해서도 달성된다.In addition, the technical problem according to the present invention, (a) refer to the encoding element of the same layer as the layer of the block to which the encoding element to be encoded, refer to the encoding element of the lower layer, or encode the same layer and lower layer Converting the encoding element to be encoded into a binary string by referring to all elements; (b) determining a context by referring to encoding elements of the same layer as the layer of the block to which the encoding element to be encoded belongs; And (c) entropy encoding the encoding element using the determined context.

또한, 상기 기술적 과제는 본 발명에 따라, (a) 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 단계; 및 (b) 상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 단계를 포함하는 것을 특징으로 하는 계층적 엔트로피 복호화 방법에 의해서도 달성된다.According to the present invention, (a) receiving the entropy-coded data, refer to the encoding element of the same layer and lower layer as the layer of the block to which the entropy-encoded encoding element belongs, or the encoding element of the lower layer. Determining a context with reference only; And (b) entropy decoding the entropy encoded data using the determined context.

또한, 상기 기술적 과제는 본 발명에 따라, (a) 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하여 컨텍스트를 결정하는 단계; (b) 상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 단계; 및 (c) 상기 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 엔트로피 복호화된 이진 스트링을 심볼로 변환하는 단계를 포함하는 것을 특징으로 하는 엔트로피 복호화 방법에 의해서도 달성된다.In addition, according to the present invention, (a) receiving the entropy-encoded data, determining the context by referring to the encoding element of the same layer as the layer of the block to which the entropy-encoded encoding element belongs; (b) entropy decoding the entropy encoded data using the determined context; And (c) the entropy decoded by referring to an encoding element of the same layer as the layer of the block to which the encoded encoding element belongs, referring to an encoding element of a lower layer, or referring to both encoding elements of the same layer and a lower layer. It is also achieved by an entropy decoding method comprising converting a binary string into a symbol.

한편, 본 발명의 다른 분야에 따르면, 상기 기술적 과제는 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 컨텍스트 결정부; 및 상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화하는 엔트로피 부호화 엔진을 포함하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치에 의해서도 달성된다.Meanwhile, according to another field of the present invention, the technical problem refers to a context in which the context is determined by referring to encoding elements of the same layer and lower layer as the layer of the block to which the encoding element to be encoded belongs, or by referring to only the encoding elements of the lower layer. Decision unit; And an entropy encoding engine that entropy encodes the encoding elements using the determined context.

또한, 상기 기술적 과제는 본 발명에 따라, 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 이진 스트링 변환부; 상기 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하여 컨텍스트를 결정하는 컨텍스트 결정부; 및 상기 결정된 컨 텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화 하는 엔트로피 부호화 엔진을 포함하는 것을 특징으로 하는 엔트로피 부호화 장치에 의해서도 달성된다.According to the present invention, the technical problem refers to an encoding element of the same layer as a layer of a block to which an encoding element to be encoded belongs, refers to an encoding element of a lower layer, or both encoding elements of the same layer and a lower layer. A binary string converter configured to convert the encoding element to be encoded into a binary string; A context determination unit that determines a context by referring to encoding elements of the same layer as the layer of the block to which the encoding element to be encoded belongs; And an entropy encoding engine that entropy encodes the encoding element by using the determined context.

또한, 상기 기술적 과제는 본 발명에 따라, 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 컨텍스트 결정부; 및 상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 엔트로피 복호화 엔진을 포함하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치에 의해서도 달성된다.In addition, according to the present invention, by receiving the entropy-encoded data, by reference to the encoding element of the same layer and lower layer as the layer of the block to which the entropy-encoded encoding element belongs, or referring to only the encoding element of the lower layer A context determination unit to determine a context; And an entropy decoding engine that entropy decodes the entropy-encoded data using the determined context.

또한, 상기 기술적 과제는 본 발명에 따라, 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하여 컨텍스트를 결정하는 컨텍스트 결정부; 상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 엔트로피 복호화 엔진; 및 상기 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 엔트로피 복호화된 이진 스트링을 심볼로 변환하는 심볼값 변환부를 포함하는 것을 특징으로 하는 엔트로피 복호화 장치에 의해서도 달성된다.In addition, according to the present invention, the context determination unit for receiving the entropy-encoded data, the context determination unit for determining the context with reference to the encoding element of the same layer as the layer of the block to which the entropy-encoded encoding element belongs; An entropy decoding engine that entropy decodes the entropy coded data using the determined context; And the entropy decoded binary string by referring to an encoding element of the same layer as the layer of the block to which the encoded encoding element belongs, referring to encoding elements of a lower layer, or referring to encoding elements of the same layer and a lower layer. It is also achieved by an entropy decoding apparatus comprising a symbol value converting unit for converting into a symbol.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

우선 이하에서는, 본 발명에 따른 계층간 부호화 요소의 상관도를 이용한 컨 텍스트 기반 엔트로피 부호화 및 복호화에 대하여 설명하기 이전에, 먼저 기존의 통상적인 엔트로피 부호화 및 복호화 방식에 대하여 설명한다. 보다 구체적으로, 높은 부호화 효율을 가지고 있어 H.264/MPEG-4 AVC 표준에도 채택되어 있는 컨텍스트 기반 적응적 이진 산술 부호화(Context-based Adaptive Binary Arithmetic Coding, CABAC)에 대하여 상세히 설명한 후, 엔트로피 부호화를 위한 다른 방식인 적응적 산술 부호화, 허프만 부호화, 단일 가변장 부호화(Universal Variable Length Coding, UVLC) 방법에 대하여 설명한다. 본 발명은 CABAC에만 국한되는 것이 아니고 일반적인 엔트로피 부호화 및 복호화 방법에 모두 적용될 수 있다.First, before describing context-based entropy encoding and decoding using the degree of correlation between inter-layer coding elements according to the present invention, a conventional conventional entropy encoding and decoding method will be described. More specifically, context-based Adaptive Binary Arithmetic Coding (CABAC), which has high coding efficiency and is also adopted in the H.264 / MPEG-4 AVC standard, is described in detail. Different methods for adaptive arithmetic coding, Huffman coding and single variable length coding (UVLC) will be described. The present invention is not limited to CABAC but can be applied to both general entropy encoding and decoding methods.

도 2는 CABAC 부호화기의 구성도이다.2 is a block diagram of a CABAC encoder.

도 2의 CABAC 부호화기는, 각각의 부호화 요소(Syntax Element, SE)를 입력받아 부호화하며 이진 스트링 변환부(210), 컨텍스트 결정부(220) 및 적응적 산술 부호화부(250)를 포함한다. 부호화 요소(SE)는 압축된 비트스트림(compressed bitstream)을 구성하는 데이터들을 의미하는 것으로, 영상을 압축하여 표현하거나 압축된 데이터를 해석하는데 필요한 파라미터 또는 각종 헤더 정보 및 잔차 정보 등을 포함한다. 예를 들어 H.264 표준의 경우에는 어떠한 엔트로피 부호화 방식이 사용되었는지 나타내는 entropy_coding_mode_flag와 같은 파라미터나 슬라이스의 타입을 나타내는 slice_type, 매크로블록의 타입을 나타내는 mb_type과 헤더 정보, 그리고 잔차 정보에 해당하는 coeff_abs_level_minus1 등이 모두 부호화 요소에 속한다.The CABAC encoder of FIG. 2 receives and encodes each encoding element (Syntax Element, SE), and includes a binary string converter 210, a context determiner 220, and an adaptive arithmetic encoder 250. The encoding element SE refers to data constituting a compressed bitstream, and includes a parameter or various header information and residual information necessary for compressing and expressing an image or interpreting the compressed data. For example, in the H.264 standard, parameters such as entropy_coding_mode_flag indicating which entropy coding scheme is used, slice_type indicating a slice type, mb_type and header information indicating a macroblock type, and coeff_abs_level_minus1 corresponding to a residual information All belong to coding elements.

이진 스트링 변환부(210)는 부호화 할 부호화 요소(SE)의 심볼값을 입력받아 이진 스트링으로 변환한다. 이진 스트링은 0 또는 1의 이진값(Binary Value)들의 연속된 열로 구성되는데, H.264 표준에 정의된 B 슬라이스의 매크로 블록 타입인 mb_type이 어떠한 이진 스트링으로 변환되는가 하는 일례가 표 1에 나타나 있다. 표 1을 참조하면, B 슬라이스의 mb_type에서 심볼 B_L0_16x16은 주어진 매크로 블록이 L0(List 0) 인덱스를 참조하여 16x16 단위로 움직임 보상된다는 것을 의미하며 심볼값은 1이다. 이러한 심볼 B_L0_16x16은 이진 스트링 변환부(210)를 통해 3개의 이진값을 갖는 이진 스트링 100 으로 변환된다.The binary string converter 210 receives a symbol value of an encoding element SE to be encoded and converts the binary string into a binary string. Binary strings consist of a series of binary values of 0 or 1. Table 1 shows an example of what binary string mb_type, the macroblock type of B slices defined in the H.264 standard, is converted to. . Referring to Table 1, the symbol B_L0_16x16 in the mb_type of the B slice means that a given macro block is motion compensated in units of 16x16 with reference to the L0 (List 0) index and the symbol value is 1. The symbol B_L0_16x16 is converted into a binary string 100 having three binary values through the binary string converter 210.

표 1에서 BinIdx는 이진 스트링에서의 각 이진값의 위치를 나타내는 값이다. 예를 들어, BinIdx가 0인 이진값은 이진 스트링에서 첫번째 위치에 있는 이진값을 의미한다. 이러한 심볼값과 이진 스트링의 매핑 관계는 일반적으로 각 부호화 요소별로 정의된다.In Table 1, BinIdx represents a position of each binary value in a binary string. For example, a binary value with BinIdx of 0 means the binary value at the first position in the binary string. The mapping relationship between the symbol value and the binary string is generally defined for each encoding element.

B 슬라이스의 mb_type의 심볼값(심볼)Symbol value of mb_type of B slice (symbol) 이진 스트링Binary string 0 (B_Direct_16x16)0 (B_Direct_16x16) 00 1 (B_L0_16x16)1 (B_L0_16x16) 1 0 01 0 0 2 (B_L1_16x16)2 (B_L1_16x16) 1 0 11 0 1 3 (B_Bi_16x16)3 (B_Bi_16x16) 1 1 0 0 0 0 1 1 0 0 0 0 4 (B_L0_L0_16x8)4 (B_L0_L0_16x8) 1 1 0 0 0 11 1 0 0 0 1 5 (B_L0_L0_8x16)5 (B_L0_L0_8x16) 1 1 0 0 1 01 1 0 0 1 0 6 (B_L1_L1_16x8)6 (B_L1_L1_16x8) 1 1 0 0 1 1 1 1 0 0 1 1 ...... ...... BinIdxBinIdx 0 1 2 3 4 5 60 1 2 3 4 5 6

주어진 부호화 요소(SE)의 각 심볼들은 이진 스트링으로 변환된 다음, 컨텍스트 결정부(220)에 의해 정해진 컨텍스트를 참조하여, 차례대로 적응적 산술 부호화부(250)에 의하여 엔트로피 부호화된다. 컨텍스트 결정부(220)는 상기 이진 스트링에서 0 과 1의 각 이진값에 대하여 컨텍스트를 결정한다. 컨텍스트는 현재 부호화할 심볼과 관련된 주변 상황을 의미한다. 주변 상황에 대해서는 후술한다. 상기 컨텍스트는 확률 추정부(230)에서 각 이진값의 0과 1에 대한 확률값을 추정하는데 사용되므로, 이진값의 컨텍스트가 바뀌면 해당하는 각 확률값도 바뀌게 된다. 산술 부호화 엔진(240)은 확률 추정부(230)에 의해 추정된 확률값을 이용하여 산술 부호화를 수행하고, 부호화된 0 또는 1에 대한 확률 추정부(230)의 확률모델을 갱신한다. 이하, 도 3a 내지 도 3b을 참조하여 컨텍스트 결정에 대하여 설명한다.Each symbol of a given encoding element SE is converted into a binary string and then entropy coded by the adaptive arithmetic encoder 250 in turn with reference to the context determined by the context determiner 220. The context determiner 220 determines a context for each binary value of 0 and 1 in the binary string. The context refers to the surrounding situation associated with the symbol to be currently encoded. The surrounding situation will be described later. Since the context is used by the probability estimator 230 to estimate probability values for 0 and 1 of each binary value, when the context of the binary value changes, each corresponding probability value also changes. The arithmetic coding engine 240 performs arithmetic coding using the probability value estimated by the probability estimator 230, and updates the probability model of the probability estimator 230 with respect to the encoded 0 or 1. Hereinafter, context determination will be described with reference to FIGS. 3A to 3B.

도 3a 내지 도 3b는 컨텍스트의 결정을 설명하기 위한 참조도이다.3A to 3B are reference diagrams for explaining the determination of context.

도 3a에서 T(310)는 컨텍스트 템플릿이라고 하며, 현재 부호화하고자 하는 부호화 요소보다 먼저 부호화된 부호화 요소들의 부분집합으로 이루어진다. 또한, 경우에 따라 T(310)는 상기 부분집합에, 현재 부호화하는 부호화 요소의 심볼값에 대한 이진 스트링의 일부를 추가로 포함하거나, 상기 이진 스트링의 일부만으로 이루어질 수 있다. 그리고, 앞서 부호화된 심볼 및 현재 부호화할 심볼의 성질(attribute)들이 T(310)에 추가로 포함되거나 상기 심볼의 성질들로만 구성될 수 있다. CABAC의 컨텍스트 템플릿은 일례로 도 3b에 나타난 것처럼 현재 부호화할 심볼이 속한 블록(330)과 인접한 왼쪽 블록(340)의 심볼 S0 및 인접한 위쪽 블록(350)의 심볼 S1으로 구성된다.In FIG. 3A, T 310 is referred to as a context template and consists of a subset of encoding elements encoded before the encoding element to be currently encoded. In some cases, the T 310 may further include a portion of the binary string for the symbol value of the encoding element currently being encoded, or may include only a portion of the binary string in the subset. In addition, the attributes of the previously encoded symbol and the symbol to be currently encoded may be additionally included in the T 310 or may be configured only with the attributes of the symbol. As shown in FIG. 3B, the context template of CABAC includes a block S 330 to which a symbol to be currently encoded belongs, a symbol S 0 of a left block 340 adjacent to a symbol S 1 of a neighboring upper block 350, and the like.

예를 들어, 표 1에서의 B 슬라이스 내 mb_type 심볼의 경우, BinIdx가 0인 이진값의 컨텍스트는 왼쪽 및 위쪽 블록의 mb_type 심볼이 각각 Direct인가, 아닌가에 따라 결정된다. 또한 이와 더불어 왼쪽 및 위쪽 블록이 스킵되었거나 존재하지 않는 경우에 대해서도 컨텍스트가 영향을 받는다. 따라서 mb_type 심볼의 첫번째 이진값을 부호화하기 위해 필요한 컨텍스트 템플릿으로는, 왼쪽 및 위쪽 블록의 mb_type 심볼들과 더불어 각 블록의 성질에 해당하는 스킵 정보 및 블록의 존재 여부가 해당된다.For example, in the case of the mb_type symbol in the B slice in Table 1, the context of the binary value where BinIdx is 0 is determined depending on whether the mb_type symbols of the left and upper blocks are Direct. In addition, context is also affected when the left and top blocks are skipped or do not exist. Therefore, the context template required for encoding the first binary value of the mb_type symbol includes the mb_type symbols of the left and upper blocks and skip information corresponding to the property of each block and whether a block exists.

한편, 컨텍스트 템플릿으로 현재 부호화하는 이진값보다 BinIdx가 작은 이진값이 포함되는 경우도 있다. 예를 들어, 표 1의 mb_type 심볼에서 BinIdx가 2인 이진값의 컨텍스트를 결정하고자 하는 경우에는, BinIdx가 1인 이진값이 컨텍스트 템플릿으로 사용된다. 따라서, 앞서 부호화된 BinIdx가 1인 이진값이 0인지 1인지에 따라 BinIdx가 2인 이진값의 컨텍스트가 달라진다.On the other hand, a binary value in which BinIdx is smaller than the binary value currently encoded by the context template may be included. For example, in the case of determining the context of the binary value of BinIdx of 2 in the mb_type symbol of Table 1, the binary value of BinIdx of 1 is used as the context template. Therefore, the context of the binary value of BinIdx of 2 varies depending on whether the binary value of BinIdx of coded 1 is 0 or 1.

모델링 함수 F는 주어진 각 심볼값에 대하여 상기 컨텍스트 템플릿 T(310)에 속한 심볼 {S0, S1, ... , ST-1}들을 입력받아 컨텍스트 집합 C(320)인 {C0, C1, ... , CN-1} 가운데 하나의 컨텍스트를 결정하게 된다. 표 1의 mb_type에서 BinIdx가 0인 이진값에 해당하는 모델링 함수는 다음 수학식 1과 같다. The modeling function F receives symbols {S 0 , S 1 ,..., S T-1 } belonging to the context template T 310 for each given symbol value, and sets {C 0 , which is a context set C 320. C 1 , ..., C N-1 } will determine the context. The modeling function corresponding to the binary value of BinIdx of 0 in mb_type of Table 1 is shown in Equation 1 below.

ctxIdx = condTermFlag(A) + condTermFlag(B) + OffsetctxIdx = condTermFlag (A) + condTermFlag (B) + Offset

여기서 ctxIdx는 선택된 컨텍스트 C를 표시하는 인덱스를 의미하고, Offset은 컨텍스트들이 정의된 테이블 중 mb_type의 시작 위치를 알리는 인덱스의 초기값을 가리킨다. 여기서, condTermFlag(M)은 블록 M의 상태를 나타내는 것으로, 블록 M이 존재하지 않거나(조건 1), 블록 M이 스킵되거나(조건 2), 또는 블록 M의 mb_type의 심볼이 Direct이면(조건 3), condTermFlag(M) 값은 0이 된다. 즉, 조건 1, 조건 2, 조건 3 중 어느 하나라도 만족하면 0이 된다. 그 외의 경우는 1의 값이 된다. mb_type의 예에서 모델링 함수 F는 F:T={S0, S1} -> C={C0, C1, ... , CN-1}로 표현된다. 이때, S0와 S1은 도 3b에 도시한 바와 같이 현재 부호화될 블록(330)의 좌측 블록(340)과 상위 블록(350)의 mb_type이 사용된 경우로, 더 구체적으로는 S0=condTermFlag(A), S1=condTermFlag(B)인 경우이다.Here, ctxIdx refers to an index indicating a selected context C, and Offset refers to an initial value of an index indicating a start position of mb_type among tables in which contexts are defined. Where condTermFlag (M) represents the state of block M, if block M does not exist (condition 1), block M is skipped (condition 2), or if the symbol of mb_type of block M is Direct (condition 3) condTermFlag (M) has a value of 0. That is, if any one of condition 1, condition 2, and condition 3 is satisfied, it becomes zero. Otherwise, the value is 1. In the example of mb_type, the modeling function F is expressed as F: T = {S 0 , S 1 }-> C = {C 0 , C 1 , ..., C N-1 }. In this case, S 0 and S 1 are cases where the left block 340 of the block 330 to be currently encoded and the mb_type of the upper block 350 are used as shown in FIG. 3B, and more specifically S 0 = condTermFlag (A), S 1 = condTermFlag (B).

따라서, 블록 A와 블록 B의 존재 여부, 스킵여부 및 mb_type 심볼들을 컨텍스트 템플릿으로 입력받아 컨텍스트 인덱스 ctxIdx를 구하고, 이 인덱스를 가지는 컨텍스트를, 컨텍스트 집합으로부터 추출하여, 해당 컨텍스트를 결정한다. Accordingly, the presence of the block A and the block B, whether or not to skip and mb_type symbols are input to the context template to obtain the context index ctxIdx, and the context having this index is extracted from the context set to determine the corresponding context.

이렇게 결정된 컨텍스트는 적응적 산술 부호화부(250)에서 각 이진값의 확률을 추정하는데 사용된다. 적응적 산술 부호화부(250)는 확률 추정부(230)와 산술 부호화 엔진(240)으로 구성된다. 확률 추정부(230)에서는 이진 스트링 변환부(210)에 의해 만들어진 이진값에 해당하는 컨텍스트를 입력받아, 0과 1에 대한 각 확률을 추정한다. 컨텍스트에 해당하는 확률값은 컨텍스트와 확률간의 매핑 테이블을 통하여 결정된다. 이렇게 결정된 확률값은 산술 부호화 엔진(240)에서 상기 이진값을 부호화하는데 이용된다. 산술 부호화 엔진(240)은 이진값을 차례로 부호화하고, 각 부호화된 이진값 정보에 따라 확률 추정부(230)가 확률을 갱신하도록 확률 갱신을 명령한다.The determined context is used by the adaptive arithmetic encoder 250 to estimate the probability of each binary value. The adaptive arithmetic encoder 250 is composed of a probability estimator 230 and an arithmetic coding engine 240. The probability estimator 230 receives a context corresponding to the binary value generated by the binary string converter 210 and estimates each probability of 0 and 1. The probability value corresponding to the context is determined through the mapping table between the context and the probability. The probability value thus determined is used by the arithmetic coding engine 240 to encode the binary value. The arithmetic coding engine 240 encodes binary values in order, and instructs the probability update unit 230 to update the probability according to the encoded binary value information.

한편, CABAC 부호화기와는 달리 심볼을 이진화(Binarization)하지 않고 심볼 값을 그대로 산술 부호화하는 일반적인 산술 부호화기는, CABAC 부호화기에서 이진 스트링 변환부(210)만을 제외시키면 그 구성과 기능이 동일한다. 이 경우 컨텍스트 결정부는 CABAC 부호화기에서 심볼의 이진값에 대하여 컨텍스트를 결정하던 것과 달리, 심볼의 심볼값에 대하여 컨텍스트를 결정해야 한다.On the other hand, unlike the CABAC encoder, a general arithmetic encoder that arithmically encodes a symbol value without binarization of a symbol has the same structure and function as CABAC encoder except for the binary string converter 210. In this case, the context determiner must determine the context for the symbol value of the symbol, unlike the context determiner for the binary value of the symbol.

도 4는 CABAC 복호화기의 구성도이다.4 is a block diagram of a CABAC decoder.

CABAC 복호화기는 부호화기에 의해 압축된 비디오 데이터인 0과 1로 이루어진 압축 비트열(compressed bitstream)로부터 심볼을 추출한다. 컨텍스트 결정부(410)는 현재 복호하여 만들어질 이진값에 대한 컨텍스트를 결정하는 것으로, 복호하여 만들어질 이진 스트링내의 이진값의 각 위치에 따라 컨텍스트를 결정한다. 이렇게 결정된 컨텍스트는 적응적 산술 복호화부(450)에서, 입력된 비트열로부터 이진값을 복호하는데 사용된다. 확률 추정부(420)는 컨텍스트를 입력받아 각 이진값에 대한 0과 1의 확률을 추정한다. 산술 복호화 엔진(430)은 추정된 확률값을 가지고 입력 비트열로부터 이진값을 차례로 복호하면서 이진값의 확률을 갱신하기 위하여 확률값을 확률 추정부(420)에 전달한다. 적응적 산술 복호화부(450)에서 차례로 복호된 이진값들은 심볼값 변환부(440)를 통하여 심볼 데이터로 변환된다. 심볼과 이진값 간의 매핑은, 표 1과 같이 CABAC 부호화기의 이진 스트링 변환부(210)에서 사용된 것과 동일한 매핑 테이블을 사용하여 이루어진다.The CABAC decoder extracts symbols from a compressed bitstream consisting of 0s and 1s, which are video data compressed by the encoder. The context determiner 410 determines the context of the binary value to be currently decoded, and determines the context according to each position of the binary value in the binary string to be decoded. The determined context is used by the adaptive arithmetic decoding unit 450 to decode a binary value from the input bit string. The probability estimator 420 receives a context and estimates a probability of 0 and 1 for each binary value. The arithmetic decoding engine 430 transmits the probability value to the probability estimator 420 in order to update the probability of the binary value while sequentially decoding the binary value from the input bit string with the estimated probability value. Binary values sequentially decoded by the adaptive arithmetic decoding unit 450 are converted into symbol data through the symbol value converting unit 440. Mapping between symbols and binary values is performed using the same mapping table used in the binary string converter 210 of the CABAC encoder as shown in Table 1.

한편, 상술한 CABAC 복호화기와는 달리 산술 복호화 엔진이 직접 심볼값을 생성하는 일반적인 산술 복호화기는, 상기 CABAC 복호화기에서 심볼값 변환부(440)가 필요하지 않다.On the other hand, unlike the CABAC decoder described above, a general arithmetic decoder in which the arithmetic decoding engine directly generates a symbol value does not require a symbol value converter 440 in the CABAC decoder.

도 5는 심볼과 부호어 간의 매핑 정보를 이용하여 부호화하는 엔트로피 부호화기의 구성도이다.5 is a configuration diagram of an entropy encoder that encodes using mapping information between a symbol and a codeword.

심볼과 부호어 간의 매핑 정보를 이용하여 부호화 하는 방법으로는 허프만 부호화, 단일 가변장 부호화, Exp-Golomb 부호화 방법 등이 있다. 표 2는 심볼과 부호어 간의 매핑 정보의 일례이다.Huffman coding, single variable length coding, and Exp-Golomb coding are used as encoding methods using mapping information between symbols and codewords. Table 2 shows an example of mapping information between symbols and code words.

심볼symbol 컨텍스트1 (0≤nC<2)Context1 (0≤nC <2) 컨텍스트2 (2≤nC<4)Context2 (2≤nC <4) 컨텍스트3 (4≤nC<8)Context 3 (4≤nC <8) 컨텍스트4 (8≤nC)Context 4 (8≤nC) 컨텍스트5 (nC=-1)Context 5 (nC = -1) 00 1One 1111 11111111 0000 110000 11 0101 1One 0001 010001 01 0010 110010 11 0011 110011 11 0000 000000 00 0001 110001 11 22 0101 1010 11101110 0000 010000 01 1One 33 0000 01110000 0111 0001 110001 11 0010 110010 11 0001 000001 00 0001 000001 00 44 0001 000001 00 0011 110011 11 0111 10111 1 0001 010001 01 0001 10 0001 10 55 001001 011011 11011101 0001 100001 10 001001 66 0000 0011 10000 0011 1 0000 1110000 111 0010 000010 00 0010 000010 00 0000 110000 11 ≤7≤7 0000 01100000 0110 0010 100010 10 0110 00110 0 0010 010010 01 0000 0110000 011 88 0000 1010000 101 0010 010010 01 0111 00111 0 0010 100010 10 0000 0100000 010 99 0001 10001 1 01010101 11001100 0010 110010 11 0001 010001 01

도 5를 참조하면, 엔트로피 부호화기는 컨텍스트 결정부(510), 엔트로피 부호화 엔진(520) 및 심볼-부호어 매핑 정보 저장부(530)를 포함한다. 엔트로피 부호화 엔진(520)은 컨텍스트 결정부(510)에 의해 정해진 컨텍스트에 따라 표 2의 예에서와 같이, 입력된 심볼값에 해당하는 부호어를 출력한다. 이때 컨텍스트 결정부(510)는 부호화할 심볼의 주변 블록에 속한 심볼들 또는 앞서 부호화된 심볼들을 컨텍스트 템플릿으로 하여 이를 기반으로 부호화할 심볼에 적용할 컨텍스트를 결정한다. 엔트로피 부호화 엔진(520)은, 미리 정해진 복수개의 심볼-부호어 매핑 정보를 저장하고 있는 심볼-부호어 매핑 정보 저장부(530)로부터, 이렇게 정해진 컨텍스트에 해당하는 매핑 정보를 추출하여, 입력된 심볼을 엔트로피 부호화한다. 예를 들어, 표 2에서 0 ≤ nC < 2 를 만족하는 경우에는 컨텍스트 결정부(510)에 의해 컨텍스트 1이 선택되고, 이에 따라 엔트로피 부호화 엔진(520)은 심볼-부호어 매핑 정보 저장부(530)로부터 공급받은 심볼-부호어 매핑 정보를 이용하여 입력된 심볼에 대한 부호어를 출력한다.Referring to FIG. 5, the entropy encoder includes a context determiner 510, an entropy encoding engine 520, and a symbol-codeword mapping information storage unit 530. The entropy encoding engine 520 outputs codewords corresponding to the input symbol values as in the example of Table 2 according to the context determined by the context determination unit 510. In this case, the context determiner 510 determines the context to be applied to the symbol to be encoded based on the symbols belonging to the neighboring blocks of the symbol to be encoded or the previously encoded symbols as the context template. The entropy encoding engine 520 extracts the mapping information corresponding to the predetermined context from the symbol-code mapping information storage unit 530 which stores a plurality of predetermined symbol-code mapping information, and inputs the received symbol. Entropy-encodes. For example, when 0 ≤ nC <2 is satisfied in Table 2, context 1 is selected by the context determiner 510, and accordingly, the entropy encoding engine 520 stores the symbol-code mapping information storage unit 530. The codeword for the input symbol is output using the symbol-codeword mapping information supplied from the C-code.

여기서 nC는 부호화될 심볼의 위쪽 및 왼쪽 주변 블록(도 3b에서의 S0 및 S1)에 있는 0이 아닌 변환계수의 평균개수를 나타낸다. 즉, nC는 도 3a의 모델링 함수의 입력으로 S0 와 S1 블록의 변환계수의 수가 주어졌을 때, 출력으로 나온 0이 아닌 변환계수의 평균값을 의미한다.Where nC represents the average number of non-zero transform coefficients in the upper and left peripheral blocks (S 0 and S 1 in FIG. 3B) of the symbol to be encoded. That is, nC means an average value of non-zero transformation coefficients outputted when the number of transformation coefficients of S 0 and S 1 blocks is given as an input of the modeling function of FIG. 3A.

도 6은 심볼과 부호어 간의 매핑 정보를 이용하여 복호화하는 엔트로피 복호화기의 구성도이다.6 is a configuration diagram of an entropy decoder that decodes using mapping information between symbols and code words.

심볼과 부호어 간의 매핑 정보를 이용하여 복호화 하는 방법으로는 허프만 복호화, 단일 가변장 복호화, Exp-Golomb 복호화 방법 등이 있다. 도 6을 참조하면, 엔트로피 복호화기는 컨텍스트 결정부(610), 엔트로피 복호화 엔진(620) 및 심볼-부호어 매핑 정보 저장부(630)를 포함한다.Methods of decoding using mapping information between symbols and codewords include Huffman decoding, single variable length decoding, and Exp-Golomb decoding. Referring to FIG. 6, the entropy decoder includes a context determiner 610, an entropy decryption engine 620, and a symbol-code mapping information storage unit 630.

컨텍스트 결정부(610)는 엔트로피 부호화된 부호화 요소에 대하여 컨텍스트를 결정한다. 심볼-부호어 매핑 정보 저장부(630)는 표 2의 예에서와 같이 미리 정의된 복수개의 심볼-부호어간의 매핑 정보를 저장하고 있다. 엔트로피 복호화 엔진(620)은 이러한 매핑 정보를 이용하여 엔트로피 복호화를 수행한다.The context determiner 610 determines a context with respect to the entropy coded encoding element. The symbol-codeword mapping information storage unit 630 stores mapping information between a plurality of predefined symbol-codewords as in the example of Table 2. The entropy decoding engine 620 performs entropy decoding using this mapping information.

상술한 적응적 엔트로피 부호화 방법들은, 부호화시 각 이진값 또는 심볼에 대한 확률을 컨텍스트에 따라 적응적으로 조절하기 때문에, 그 확률이 고정된 경우보다 부호화 효율이 좋다. 그 이유는 확률이 고정된 경우에는 각 심볼들에 대하여 사전에 훈련된 확률을 적용하기 때문에 실제 발생 확률과 차이가 나게 되는 경우에는 손실이 발생하게 되기 때문이다. 그러나, 상술한 CABAC 부호화 방법을 비롯한 적응적 엔트로피 부호화 방법이 신축형 비디오 부호화기에 적용될 경우 부호화 효율 측면에서 개선의 여지가 남아 있다. 신축형 비디오 부호화에 이러한 컨텍스트 기반 적응적 엔트로피 부호화 방법을 적용할 경우, 계층간의 유사도를 이용하여 보다 정확한 확률 추정이 가능하기 때문이다.The above-described adaptive entropy encoding methods adaptively adjust the probability of each binary value or symbol according to the context during encoding, and thus have higher coding efficiency than the case where the probability is fixed. The reason is that when the probability is fixed, since the trained probability is applied to each symbol, a loss occurs when the probability is different from the actual occurrence probability. However, there is room for improvement in terms of coding efficiency when the adaptive entropy coding method including the aforementioned CABAC coding method is applied to a flexible video encoder. This is because when the context-based adaptive entropy coding method is applied to the flexible video coding, more accurate probability estimation can be performed using the similarity between layers.

다시 말하면, 본 발명의 엔트로피 부호화 방법은 주어진 부호화 요소(SE)의 심볼을 엔트로피 부호화 할 때, 동일 계층의 동일 또는 타 부호화 요소(SE)의 심볼뿐만 아니라, 하위계층에 속한 동일 또는 타 부호화 요소(SE)의 심볼까지 참조하면 더욱 정확한 통계적 특성을 알 수 있어 엔트로피 부호화 효율을 높일 수 있다는 것에 기초한다. 이것은 부호화 요소(SE)에 따라 현재 부호화할 부호화 요소(SE)가 동일 계층의 주변 블록에 속한 부호화 요소(SE)보다 하위계층에 속한 부호화 요소(SE)와 더욱 상관도가 높은 경우도 있기 때문이다.In other words, the entropy encoding method of the present invention, when entropy encoding a symbol of a given encoding element (SE), not only the symbols of the same or other encoding elements (SE) of the same layer, but also the same or other encoding elements belonging to a lower layer ( Referencing the symbols of the SE), the more accurate statistical characteristics can be known and the entropy coding efficiency can be improved. This is because, depending on the encoding element SE, the encoding element SE to be currently encoded may be more correlated with the encoding element SE belonging to the lower layer than the encoding element SE belonging to the neighboring block of the same layer. .

이를 위하여 본 발명에 따른 적응적 엔트로피 부호화기의 컨텍스트 결정부는, 컨텍스트 결정시 동일계층의 부호화 요소들뿐만 아니라 하위계층 정보까지 참조하여 컨텍스트를 결정한다. 이하에서는 도 7a 내지 7b를 참조하여, 본 발명의 컨텍스트 결정부의 동작을 상세히 설명한다.To this end, the context determiner of the adaptive entropy encoder according to the present invention determines the context by referring to not only encoding elements of the same layer but also lower layer information when determining the context. Hereinafter, the operation of the context determiner of the present invention will be described in detail with reference to FIGS. 7A to 7B.

도 7a 내지 도 7b는 본 발명에 따른 컨텍스트 결정부의 동작을 설명하기 위한 참조도이다.7A to 7B are reference diagrams for describing an operation of a context determiner according to the present invention.

도 7a 내지 도 7b를 참조하면, 본 발명의 컨텍스트 결정부는 종래의 엔트로피 부호화 방법의 컨텍스트 결정부와 비교해 볼 때 다음과 같은 차이가 있다. 우선, 컨텍스트 템플릿 T(710)는 종래 사용되던 컨텍스트 템플릿 {S0,S1,...,ST-1}에, 하위 계층에 해당되는 동일 또는 타 부호화 요소(SE)의 심볼들 및 관련된 성질(attribute)에 해당하는 정보들 {ST,ST+1,...,ST+K-1}을 추가적으로 포함한다. 예를 들어, 도 7b에 나타난 것처럼 현재 블록(731)이 속한 계층이 제 M 계층(730)이라고 하면, 동일한 M 계층(730)에 속한 주변 블록의 심볼들{S0, S1}와 더불어 현재 계층보다 하위에 존재하는 제 M-1 계층(740)부터 제 0 계층(750)까지 각 하위 계층에 존재하는 심볼들 {ST,ST+1,??,ST+K-1}도 컨텍스트 템플릿(710)으로 포함한다. 상기 컨텍스트 템플릿(710)에 하위 계층에 해당하는 심볼들이 추가됨에 따라, 컨텍스트 집합 C(720)에도 기존 사용되던 컨텍스트들 {C0,C1,...,CN-1}에 새로운 컨텍스트들 {CN,CN+1,...,CN+Q-1}이 추가된다.한편, 상기 하위 계층의 블록들은 현재 계층과 동일한 위치에 해당하는 블록과 이를 중심으로 한 주변 블록들을 포함하는 것이 바람직하다. 도 7b를 참조하면, 제 M-1 계층(740)의 심볼 ST (741) 및 제 0 계층(750)의 심볼 ST+K-5 (751)가 현재 블록(731)과 동일한 위치에 해당하는 블록의 심볼들이다. 현재 계층과 하위 계층의 영상 크기가 서로 다른 경우에는, 업 샘플링(up-sampling) 또는 다운 샘플링(down-sampling)을 통해 영상의 크기를 맞추었을 경우 현재 블록의 위치와 동일한 위치에 해당하는 블록이 결정되는 것이 바람직하다.7A to 7B, the context determiner of the present invention has the following differences compared with the context determiner of the conventional entropy encoding method. First, the context template T 710 is associated with symbols of the same or other coding element SE corresponding to a lower layer and associated with a context template {S 0 , S 1 , ..., S T-1 } that is used in the related art. Additional information corresponding to the attribute includes {S T , S T + 1 , ..., S T + K-1 }. For example, as shown in FIG. 7B, if the layer to which the current block 731 belongs is the Mth layer 730, the current together with the symbols {S 0 , S 1 } of neighboring blocks belonging to the same M layer 730. Symbols {S T , S T + 1 , ??, S T + K-1 } present in each lower layer from the M-1 layer 740 to the 0th layer 750 which are lower than the layer may also be present. Include as context template 710. As symbols corresponding to lower layers are added to the context template 710, new contexts are added to the contexts {C 0 , C 1 , ..., C N-1 } that are also used in the context set C 720. {C N , C N + 1 , ..., C N + Q-1 } is added. Meanwhile, the blocks of the lower layer include blocks corresponding to the same position as the current layer and neighboring blocks around the same. It is desirable to. Referring to FIG. 7B, the symbol S T 741 of the M−1 th layer 740 and the symbol S T + K-5 751 of the 0 th layer 750 correspond to the same location as the current block 731. Are the symbols of the block. When the image size of the current layer and the lower layer are different, when the image is scaled by up-sampling or down-sampling, a block corresponding to the position of the current block is found. It is preferred to be determined.

상기 계층은 신축형 비디오 부호화의 종류에 따라 시간적(Temporal) 계층, 공간적(Spatial) 계층, SNR 계층, 또는 이 3가지가 혼합된 형태의 계층이 될 수 있다.The layer may be a temporal layer, a spatial layer, an SNR layer, or a mixture of three types according to the type of flexible video encoding.

도 8a 내지 도 8g는 본 발명에 따른 컨텍스트 결정부를 이용한 적응적 엔트로피 부호화기의 일실시예 구성도이다.8A to 8G are diagrams illustrating an embodiment of an adaptive entropy encoder using a context determiner according to the present invention.

도 8a는 엔트로피 부호화 방법으로 CABAC이 사용된 경우이며, 도 8b는 일반적인 산술 부호화 방법이 사용된 경우이고, 도 8c는 심볼과 부호어 사이의 매핑 정보를 이용한 부호화 방법이 사용된 경우이며, 도 8d는 하위 계층의 정보가 이진화에도 사용되었을 때의 CABAC 부호화기의 구성도이다.8A illustrates a case where CABAC is used as an entropy encoding method, FIG. 8B illustrates a case where a general arithmetic encoding method is used, and FIG. 8C illustrates a case where an encoding method using mapping information between symbols and codewords is used. Is a block diagram of a CABAC encoder when lower layer information is also used for binarization.

도 8a의 엔트로피 부호화기에서, 이진 스트링 변환부(810)는 부호화할 부호화 요소(SE)의 심볼을 이진 스트링으로 변환한다. 컨텍스트 결정부(812)는 변환된 이진 스트링의 각 이진값에 대한 컨텍스트를 결정한다. 각 이진값에 해당하는 컨텍스트를 결정할 때, 동일 계층에 속한 부호화 요소 정보뿐만 아니라, 하위 계층 부호화 요소 저장부(814)로부터 하위 계층에 속한 부호화 요소 정보를 읽어와, 컨텍스트 템플릿에 추가하여 컨텍스트 결정시에 사용한다. 확률 추정부(816)는 컨텍스트 결정부(812)에서 결정된 컨텍스트를 가지고 확률값을 찾고, 산술 부호화 엔진(818)은 확률값과 이진값을 각각 입력받아 산술 부호화를 수행한다.In the entropy encoder of FIG. 8A, the binary string converter 810 converts a symbol of an encoding element SE to be encoded into a binary string. The context determiner 812 determines a context for each binary value of the converted binary string. When determining the context corresponding to each binary value, not only the encoding element information belonging to the same layer but also the encoding element information belonging to the lower layer is read from the lower layer encoding element storage unit 814 and added to the context template to determine the context. use. The probability estimator 816 finds a probability value with the context determined by the context determiner 812, and the arithmetic coding engine 818 receives a probability value and a binary value, respectively, and performs arithmetic encoding.

도 8b의 엔트로피 부호화기에서는, 도 8a의 CABAC 부호화 방법을 사용한 엔트로피 부호화기와는 달리 심볼값을 이진 스트링으로 변환하는 과정이 필요하지 않으므로, 도 8a의 엔트로피 부호화기에서 이진 스트링 변환부(810)가 생략된다. 따라서, 도 8b의 컨텍스트 결정부(820)는 동일 계층에 속한 부호화 요소 정보뿐만 아니라, 하위 계층 부호화 요소 저장부(822)로부터 하위 계층에 속한 부호화 요소 정보를 읽어와, 컨텍스트 템플릿에 추가하여 부호화할 심볼값에 대한 컨텍스트를 결정한다. 확률 추정부(824)는 컨텍스트 결정부(820)에서 결정된 컨텍스트를 가지고 확률값을 찾고, 산술 부호화 엔진(826)은 입력된 심볼값에 대하여 산술 부호화한다.In the entropy encoder of FIG. 8B, unlike the entropy encoder using the CABAC encoding method of FIG. 8A, a process of converting a symbol value to a binary string is not necessary. Therefore, the binary string converter 810 is omitted in the entropy encoder of FIG. 8A. . Therefore, the context determining unit 820 of FIG. 8B reads encoding element information belonging to a lower layer from the lower layer encoding element storage unit 822 as well as encoding element information belonging to the same layer, and adds the encoding element information to a context template to encode. Determine the context for the symbol value. The probability estimator 824 finds a probability value with the context determined by the context determiner 820, and the arithmetic coding engine 826 performs arithmetic coding on the input symbol value.

도 8c의 엔트로피 부호화기에서도, 컨텍스트 결정부(830)는 동일 계층에 속한 부호화 요소 정보뿐만 아니라, 하위 계층 부호화 요소 저장부(832)로부터 하위 계층에 속한 부호화 요소 정보를 읽어와, 컨텍스트 템플릿에 추가하여 부호화할 심볼값에 대한 컨텍스트를 결정한다. 결정된 컨텍스트는 심볼-부호어 매핑 정보 저장부(834)에서 복수개의 매핑 관계 가운데 하나의 매핑 관계를 선택하는 과정에서 이용된다. 엔트로피 부호화 엔진(836)은 심볼과 부호어의 매핑 관계를 가지고, 입력된 심볼에 대하여 해당하는 부호어를 출력한다.In the entropy encoder of FIG. 8C, the context determiner 830 reads not only the encoding element information belonging to the same layer but also the encoding element information belonging to the lower layer from the lower layer encoding element storage unit 832 and adds it to the context template. Determine the context for the symbol value to be encoded. The determined context is used in the process of selecting one mapping relationship among a plurality of mapping relationships in the symbol-code mapping information storage unit 834. The entropy coding engine 836 has a mapping relationship between symbols and code words, and outputs corresponding code words for the input symbols.

도 8d는 하위 계층에 속한 부호화 요소 정보가 컨텍스트 결정부(842) 뿐만 아니라 이진 스트링 변환부(840)에서 심볼을 이진화하는 과정에서 사용되는 경우의 엔트로피 부호화기를 도시한 도면이다. 즉, 주어진 부호화 요소에 대하여 심볼을 부호화할 때 CABAC 부호화기의 이진 스트링 변환부(840)는 동일 또는 하위 계층의 동일 또는 타 부호화 요소의 심볼 또는 부호화 요소의 성질(attribute)을 나타내는 정보를 이용하여 심볼을 이진 스트링으로 변환한다. 다시 말하면, 이진 스트링으로 변환하는데 있어, 동일 계층의 부호화 요소만을 참조할 수도 있고, 동일 계층의 부호화 요소와 하위 계층의 부호화 요소를 함께 참조할 수 도 있으며, 하위 계층의 부호화 요소만을 참조할 수도 있다. 기타, 하위 계층 부호화 요소 저장부(844), 컨텍스트 결정부(842), 확률 추정부(846) 및 산술 부호화 엔진(848)은 도 8a의 그것과 동일하다.FIG. 8D illustrates an entropy encoder when encoding element information belonging to a lower layer is used in the process of binarizing a symbol in the binary string converter 840 as well as the context determiner 842. That is, when encoding a symbol for a given encoding element, the binary string conversion unit 840 of the CABAC encoder uses a symbol of the same or another encoding element of the same or lower layer or information indicating the attribute of the encoding element. Converts to a binary string. In other words, in converting to a binary string, only encoding elements of the same layer may be referred to, encoding elements of the same layer and encoding elements of a lower layer may be referred together, or only encoding elements of a lower layer may be referred to. . In addition, the lower layer encoding element storage 844, the context determination unit 842, the probability estimation unit 846, and the arithmetic coding engine 848 are the same as those of FIG. 8A.

한편, 위와 같이 이진 스트링으로 변환하는 관계 자체를 동일 계층, 또는 동일 계층과 하위 계층, 또는 하위 계층만의 부호화 요소를 참조하여 적응적으로 변환하는 방법은, 컨텍스트 결정부가 하위 계층 또는 동일 계층의 부호화 요소를 참조하는지의 여부와 관계없이 그 자체로도 부호화 효율을 높이는 효과가 있다. 이에 대한 바람직한 실시예가 도 8e에 개시되어 있다. 즉, 컨텍스트 결정부(852)는 도 2에서 설명한 바와 같이 동일 계층의 부호화 요소 정보만을 참조하며, 이진 스트링 변환부(850)는 동일 계층, 또는 동일 계층과 하위 계층, 또는 하위 계층만의 부호화 요소를 참조한다. 따라서, 계층 부호화 요소 저장부(854)는 상기한 참조정보 선택에 따라 동일 계층만의, 또는 동일 계층과 하위 계층의 또는 하위계층 만의 부호화 요소를 저장한다.On the other hand, as described above, in the method of adaptively converting the relation itself converted to a binary string by referring to encoding elements of the same layer, the same layer and the lower layer, or only the lower layer, the context determination unit encodes the lower layer or the same layer. Regardless of whether or not an element is referenced, it has an effect of increasing encoding efficiency by itself. Preferred embodiments for this are disclosed in FIG. 8E. That is, the context determiner 852 refers to only encoding element information of the same layer as described in FIG. 2, and the binary string converter 850 encodes only encoding elements of the same layer, or the same layer and a lower layer, or a lower layer. See. Accordingly, the hierarchical encoding element storage unit 854 stores encoding elements of only the same layer, only the same layer and the lower layer, or only the lower layer according to the above-mentioned reference information selection.

상기 이진 스트링 변환부(840,850)의 구체적인 수행 예로, 심볼의 심볼값과 이진 스트링 사이에 복수개의 매핑 테이블을 저장하여 상기 참조 정보의 선택에 따라 각 테이블 가운데 하나의 매핑 테이블을 선택하는 방법, 또는 심볼의 심볼값과 이진값의 매핑 관계는 고정된 테이블을 사용하되 심볼과 심볼값의 관계를 상기 참조 정보의 선택에 따라 리매핑하는 방법 등이 있다. 전자는, 심볼에 대한 이진 스트링 값 자체를 다르게 하는 것이다. 예를 들어, mb_type 심볼값 1에 대한 이진 스트링이 100 이었던 것을 다른 값으로 하여 테이블을 새로 구성하는 것이다. 후자는 표 1과 같이 주어진 테이블 내에서 심볼값과 이진 스트링간의 매핑 관계만 달리하는 방법으로 심볼값 1에 대한 이진 스트링이 100 이고 심볼값 2에 대한 이진 스트링이 101 일 때 이들 관계를 서로 달리하여 심볼값 1에 대한 이진 스트링을 101 로 하고 심볼값 2에 대한 이진 스트링을 100 으로 하는 것이다. As a specific implementation example of the binary string converters 840 and 850, a plurality of mapping tables may be stored between a symbol value of a symbol and a binary string to select one mapping table from each table according to the selection of the reference information, or a symbol The mapping relationship between the symbol value and the binary value may be a fixed table but a method of remapping the relationship between the symbol and the symbol value according to the selection of the reference information. The former is to vary the binary string value itself for the symbol. For example, a new table is constructed with a binary value of 100 for the mb_type symbol value 1 as a different value. The latter method differs only when the binary string for symbol value 1 is 100 and the binary string for symbol value 2 is 101. Set the binary string for symbol value 1 to 101 and the binary string for symbol value 2 to 100.

본 발명의 실시예를 구현함에 있어, 도 8a 내지 도 8b에 도시한 바와 같이, 컨텍스트 결정부(812, 820)와 확률 추정부(818, 824)가 분리되어 구현될 수도 있지만, 또 다른 실시예에서는 도 8f 내지 도 8g에 도시한 바와 같이, 도 8a의 컨텍스트 결정부(812)에 확률 추정부(818)의 기능이 합해져 새로운 컨텐스트 결정부(860)를 구현하고, 도 8b의 컨텍스트 결정부(820)에 확률 추정부(824)의 기능이 합해져 새로운 컨텍스트 결정부(870)를 구현할 수 있다. 도 8a 내지 도 8b의 실시예에서는 컨텍스트 결정부(812, 820)가 결정한 컨텍스트에 의해 확률 추정부(818, 824)가 특정 확률값을 정하는 형태이나, 도 8f 내지 도 8g에서는 컨텍스트 결정부(860, 870) 자체가 특정 확률값을 정한다. 물론 이 경우 컨텍스트 결정부(860, 870)는 확률 갱신의 기능도 같이 수행한다.8A to 8B, the context determiner 812 and 820 and the probability estimator 818 and 824 may be implemented separately, but another embodiment may be implemented. 8F to 8G, the function of the probability estimator 818 is combined with the context determiner 812 of FIG. 8A to implement a new content determiner 860, and the context determiner of FIG. 8B. The function of the probability estimator 824 may be added to 820 to implement a new context determiner 870. 8A to 8B, the probability estimators 818 and 824 determine specific probability values based on the context determined by the context determiner 812 and 820. However, in FIGS. 8F to 8G, the context determiner 860 or FIG. 870 itself determines a certain probability value. In this case, the context determination units 860 and 870 also perform a function of probability update.

실제 구현에 있어 마찬가지의 변형이 도 8d와 도 8e에서도 가능함은 물론이다.Of course, the same modifications are also possible in FIGS. 8D and 8E in actual implementation.

도 9a 내지 도 9g은 압축된 비트스트림을 입력받아 본 발명에 따른 컨텍스트 결정부를 이용한 적응적 엔트로피 복호화기의 일실시예 구성도이다.9A to 9G are diagrams illustrating an embodiment of an adaptive entropy decoder using a context determiner according to the present invention.

보다 상세하게는 도 9a 내지 도 9d는, 각각 도 8a 내지 도 8d의 엔트로피 부호화기에 대응되는 엔트로피 복호화기의 구성도이다. 따라서, 도 9a는 엔트로피 복호화 방법으로 CABAC이 사용된 경우이며, 도 9b는 일반적인 산술 복호화 방법이 사용된 경우이고, 도 9c는 심볼과 부호어 사이의 매핑 정보를 이용한 복호화 방법이 사용된 경우이며, 도 9d는 하위 계층의 정보가 이진화에도 사용되었을 때의 CABAC 복호화기의 구성도이다.In more detail, FIGS. 9A to 9D are configuration diagrams of an entropy decoder corresponding to the entropy encoder of FIGS. 8A to 8D, respectively. Accordingly, FIG. 9A illustrates a case where CABAC is used as an entropy decoding method, FIG. 9B illustrates a case where a general arithmetic decoding method is used, and FIG. 9C illustrates a case where a decoding method using mapping information between symbols and codewords is used. 9D is a configuration diagram of a CABAC decoder when lower layer information is also used for binarization.

도 9a의 엔트로피 복호화기에서, 컨텍스트 결정부(910)는 엔트로피 부호화된 비트열로부터 현재 복호하여 만들어질 이진값에 대한 컨텍스트를 결정하는 것으로, 복호하여 만들어질 이진 스트링내의 이진값의 각 위치에 따라 컨텍스트를 결정한다. 각 이진값에 해당하는 컨텍스트를 결정할 때, 동일 계층에 속한 부호화 요소 정보 뿐만 아니라, 하위 계층 부호화 요소 저장부(911)로부터 하위 계층에 속한 부호화 요소 정보를 읽어와, 컨텍스트 템플릿에 추가하여 컨텍스트 결정시에 사용한다. 이렇게 결정된 컨텍스트는 엔트로피 복호화부(912)에서, 입력된 비트열으로부터 이진값을 복호하는데 사용된다. 확률 추정부(913)는 컨텍스트를 입력받아 각 이진값에 대한 0과 1의 확률을 추정한다. 산술 복호화 엔진(914)은 추정된 확률값을 가지고 비트열로부터 이진값을 차례로 복호하면서 그 결과를 이진값의 확률을 갱신하기 위하여 확률값을 확률 추정부(913)에 전달한다. 산술 복호화 엔진(914)에서 차례로 복호된 이진값들은 심볼값 변환부(915)를 통하여 심볼 데이터로 변환된다.In the entropy decoder of FIG. 9A, the context determiner 910 determines a context for a binary value to be currently decoded from an entropy coded bit string, according to each position of a binary value in a binary string to be decoded. Determine the context. When determining the context corresponding to each binary value, not only the encoding element information belonging to the same layer but also the encoding element information belonging to the lower layer is read from the lower layer encoding element storage unit 911 and added to the context template to determine the context. use. The determined context is used by the entropy decoding unit 912 to decode a binary value from the input bit string. The probability estimator 913 receives a context and estimates a probability of 0 and 1 for each binary value. The arithmetic decoding engine 914 sequentially decodes a binary value from the bit string with the estimated probability value and transfers the result to the probability estimator 913 to update the probability of the binary value. Binary values sequentially decoded by the arithmetic decoding engine 914 are converted into symbol data through the symbol value converter 915.

한편, 상술한 CABAC 부호화기와는 달리 산술 복호화 엔진이 직접 심볼값을 생성하는 일반적인 산술 복호화기는, 상기 CABAC 복호화기에서 심볼값 변환부(915)만을 제외시키면 그 구성과 기능이 동일하다. 그러나 구체적인 구현예는 달라질 수 있으므로 참조번호는 서로 다르게 표시한다.On the other hand, unlike the CABAC encoder described above, a general arithmetic decoder in which the arithmetic decoding engine directly generates a symbol value has the same structure and function as the CABAC decoder except for the symbol value converter 915. However, specific embodiments may vary, so reference numerals are indicated differently.

도 9c의 엔트로피 복호화기에서, 컨텍스트 결정부(920)는 심볼의 이진값 대신 심볼값을 가지고, 동일 계층에 속한 부호화 요소 정보뿐만 아니라, 하위 계층 부호화 요소 저장부(921)로부터 하위 계층에 속한 부호화 요소 정보를 읽어와, 컨텍스트 템플릿에 추가하여 컨텍스트를 결정한다. 결정된 컨텍스트는 심볼-부호어 매핑 정보 저장부(923)에서 복수개의 매핑 관계 가운데 하나의 매핑 관계를 선택하는 과정에서 이용된다. 엔트로피 복호화 엔진(924)은 선택된 심볼과 부호어의 매핑 관계를 가지고, 부호어에 대하여 해당하는 심볼을 출력한다.In the entropy decoder of FIG. 9C, the context determiner 920 has a symbol value instead of a binary value of a symbol, and encodes belonging to a lower layer from the lower layer encoding element storage 921 as well as encoding element information belonging to the same layer. Read the element information and add it to the context template to determine the context. The determined context is used in the process of selecting one mapping relationship among a plurality of mapping relationships in the symbol-code mapping information storage unit 923. The entropy decoding engine 924 has a mapping relationship between the selected symbol and the codeword, and outputs a symbol corresponding to the codeword.

도 9d의 엔트로피 복호화기에서는, 하위 계층 부호화 요소 저장부(931)에 저장되어 있는 하위 계층 부호화 요소에 속한 부호화 요소 정보가 컨텍스트 결정부(930) 뿐만 아니라 심볼값 변환부(932)에서 이진값을 심볼값으로 변환하는 과정에서 사용된다. 그 상세한 과정은, 도 8d를 참조하여 설명한 이진 스트링 변환과정의 역과정과 동일하다.In the entropy decoder of FIG. 9D, the encoding element information belonging to the lower layer encoding element stored in the lower layer encoding element storage 931 stores the binary value in the symbol value converter 932 as well as the context determiner 930. It is used in the process of converting to a symbol value. The detailed process is the same as the reverse process of the binary string conversion process described with reference to FIG. 8D.

한편, 위와 같이 심볼값으로 변환하는 관계 자체를 동일 계층, 또는 동일 계층과 하위 계층, 또는 하위 계층만의 부호화 요소를 참조하여 적응적으로 변환하는 방법은, 컨텍스트 결정부가 하위 계층 또는 동일 계층의 부호화 요소를 참조하는 지의 여부와 관계없이 그 자체로도 부호화 효율을 높이는 효과가 있다. 이에 대한 바람직한 실시예가 도 9e에 개시되어 있다. 즉, 컨텍스트 결정부(940)는 도 4에서 설명한 바와 같이 동일 계층의 부호화 요소 정보만을 참조하며, 심볼값 변환부(942)는 동일 계층, 또는 동일 계층과 하위 계층, 또는 하위 계층만의 부호화 요소를 참조한다. 따라서, 계층 부호화 요소 저장부(944)는 상기한 참조정보 선택에 따라 동일 계층, 또는 동일 계층과 하위 계층, 또는 하위 계층의 부호화 요소를 저장한다On the other hand, as described above, in the method of adaptively converting a relationship itself to a symbol value by referring to encoding elements of the same layer, the same layer and a lower layer, or only a lower layer, the context decision unit encodes the lower layer or the same layer. Regardless of whether or not an element is referenced, it has an effect of increasing encoding efficiency by itself. A preferred embodiment of this is disclosed in FIG. 9E. That is, the context determiner 940 refers only to encoding element information of the same layer as described with reference to FIG. 4, and the symbol value converter 942 encodes only encoding elements of the same layer, or the same layer and a lower layer, or a lower layer. See. Accordingly, the hierarchical encoding element storage unit 944 stores encoding elements of the same layer, the same layer and the lower layer, or the lower layer according to the above-mentioned reference information selection.

본 발명의 실시예를 구현함에 있어, 도 9a 내지 도 9b에 도시한 바와 같이, 컨텍스트 결정부(910,916)와 확률 추정부(913,918)가 분리되어 구현될 수도 있지만, 또 다른 실시예에서는 도 9f 내지 도 9g에 도시한 바와 같이, 도 9a의 컨텍스트 결정부(910)에 확률 추정부(913)의 기능이 합해져 새로운 컨텍스트 결정부(950)가 구현될 수 있다. 마찬가지로 도 9b의 컨텍스트 결정부(916)에 확률 추정부(918)의 기능이 합해져 새로운 컨텍스트 결정부(960)를 구현할 수 있다. 도 9a 내지 도 9b의 실시예에서는 컨텍스트 결정부(910,916)가 결정한 컨텍스트에 의해 확률 추정부(913,918)가 특정 확률값을 정하는 형태이나, 도 9f 내지 도 9g에서는 컨텍스트 결정부(950,960) 자체가 특정 확률값을 정한다. 물론 이 경우 컨텍스트 결정부(950,960)는 확률 갱신의 기능도 같이 수행한다.9A to 9B, the context determiner 910 and 916 and the probability estimator 913 and 918 may be implemented separately, but in another embodiment, FIGS. 9F to 9B. As illustrated in FIG. 9G, the function of the probability estimator 913 may be combined with the context determiner 910 of FIG. 9A to implement a new context determiner 950. Similarly, the function of the probability estimator 918 may be combined with the context determiner 916 of FIG. 9B to implement the new context determiner 960. 9A to 9B, the probability estimators 913 and 918 determine specific probability values based on the context determined by the context determiner 910 and 916. However, in FIGS. 9F to 9G, the context determiner 950 and 960 itself determine specific probability values. Determine. In this case, the context determination units 950 and 960 also perform a function of probability update.

도 10a 내지 도 10c는 본 발명의 일실시예에 따른 엔트로피 부호화 방법의 플로우차트이다.10A to 10C are flowcharts of an entropy encoding method according to an embodiment of the present invention.

부호화할 부호화 요소의 심볼을 입력받는다(S1010). 경우에 따라서 입력된 부호화 요소의 심볼값은 이진 스트링으로 변환된다. 이진 스트링으로의 변환의 일예는 표 1을 참조하여 상술한 바와 같다. 그리고 나서, 상기 부호화 요소의 심볼값 또는 이진스트링의 각 이진값에 해당하는 컨텍스트를 결정한다(S1012). 이때, 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정한다. 컨텍스트의 결정은 도 7a 내지 도 7b를 참조하여 전술한 바와 같다. A symbol of an encoding element to be encoded is received (S1010). In some cases, the symbol value of the input encoding element is converted into a binary string. An example of conversion to a binary string is as described above with reference to Table 1. Then, a context corresponding to each binary value of the symbol value or binary string of the encoding element is determined (S1012). At this time, the context is determined by referring to encoding elements of the same layer and lower layer as the layer of the block to which the encoding element to be encoded belongs, or by referring to only the encoding elements of the lower layer. Determination of context is as described above with reference to FIGS. 7A-7B.

선택된 컨텍스트에 따라, 상기 부호화 요소에 대한 확률을 추정하고(S1014), 추정된 확률값을 이용하여 엔트로피 부호화한다. 만일 표 1을 참조하여 상술한 바와 같이 엔트로피 부호화하기 위해 이진 스트링으로 변환한 경우에는 0의 값과 1의 값에 대한 확률을 추정하고, 추정된 확률값을 이용하여, 입력된 부호화 요소의 심볼값 또는 이진값을 엔트로피 부호화한다(S1016). 또한 엔트로피 부호화한 부호화 요소의 심볼값 또는 이진화한 값에 따라 확률 모델을 갱신한다(S1018). 또한 경우에 따라서는, 컨텍스트의 결정 단계(S1012)와 확률 추정 단계(S1014)의 두 단계가 하나의 단계로 이루어져, 명시적인 컨텍스트의 결정없이, 부호화 하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 상기 부호화 요소에 대한 확률을 추정하도록 할 수도 있다.According to the selected context, a probability for the coding element is estimated (S1014), and entropy encoding is performed using the estimated probability value. If it is converted to a binary string for entropy encoding as described above with reference to Table 1, the probability of the value of 0 and the value of 1 is estimated, and using the estimated probability value, the symbol value of the input encoding element or The binary value is entropy encoded (S1016). In addition, the probability model is updated according to the symbol value or the binarized value of the entropy-encoded encoding element (S1018). In some cases, two stages of determining the context (S1012) and probability estimating (S1014) are performed in one step. The same layer as the layer of the block to which the encoding element to be encoded belongs is determined without explicit context determination. And a probability of the encoding element may be estimated by referring to the encoding element of the lower layer or by referring to only the encoding element of the lower layer.

도 10b를 참조하여 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 설명하면, 부호화 할 부호화 요소의 심볼을 입력받은 후(S1020), 상기 부호화 요소에 해당하는 컨텍스트를 결정한다(S1022). 이때 상기 컨텍스트를 결정하는 단계(S1022)의 설명은, 도 10a를 참조하여 상술한 컨텍스트 결정 단계(S1012)와 동일하다. 상기 결정된 컨텍스트에 따라, 도 8c를 참조하여 상술한 바와 같이, 복수개의 심볼-부호어 매핑 관계 중에서 하나의 매핑 관계를 선택한다(S1024). 이후 선택된 매핑 관계에 따라 상기 입력된 부호화 요소에 대한 엔트로피 부호화가 수행되어(S1026), 해당 부호어가 출력된다. 또한 도 10b의 경우에도 컨텍스트의 결정 단계(S1022)와 매핑 관계 선택 단계(S1024)의 두 단계가 하나의 단계로 이루어져, 명시적인 컨텍스트의 결정없이, 부호화 하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 상기 부호화 요소를 부호화할 심볼-부호어 매핑 관계를 선택하도록 할 수 있다.Referring to FIG. 10B, an entropy encoding method according to another embodiment of the present invention is described. After receiving a symbol of an encoding element to be encoded (S1020), a context corresponding to the encoding element is determined (S1022). At this time, the description of the step of determining the context (S1022) is the same as the context determination step (S1012) described above with reference to Figure 10a. According to the determined context, as described above with reference to FIG. 8C, one mapping relationship is selected from the plurality of symbol-code mapping relationships (S1024). Thereafter, entropy encoding is performed on the input encoding element according to the selected mapping relationship (S1026), and a corresponding codeword is output. In addition, even in the case of FIG. 10B, two steps of determining a context (S1022) and selecting a mapping relationship (S1024) are performed in one step, and the same as the layer of the block to which an encoding element to be encoded belongs without determining an explicit context. The encoding element of the layer and the lower layer may be referred to, or only the encoding element of the lower layer may be referred to to select a symbol-code mapping relationship for encoding the encoding element.

도 10c를 참조하여, 동일 계층 또는 하위 계층의 정보가 이진화에도 사용되었을 때의 CABAC 엔트로피 부호화 방법을 설명하면, 부호화할 부호화 요소의 심볼을 입력받는다(S1030). 입력된 부호화 요소의 심볼값은 이진 스트링으로 변환된다(S1032). 이진 스트링 변환 단계에서 각 심볼들은 동일 계층 또는 하위 계층에 해당하는 부호화 요소 정보에 따라 이진 스트링이 결정된다. 즉, 주어진 부호화 요소에 대하여 심볼을 이진화할 때 동일 계층만의, 또는 동일 계층과 하위 계층의, 또는 하위 계층에 있는 동일 또는 타 부호화 요소의 심볼 또는 부호화 요소의 성질(attribute)을 나타내는 정보를 이용하여 심볼을 이진 스트링으로 변환한다. 다시 말하면, 이진 스트링으로 변환하는데 있어, 동일 계층의 부호화 요소만을 참조할 수도 있고, 동일 계층의 부호화 요소와 하위 계층의 부호화 요소를 함께 참조할 수 도 있으며, 하위 계층의 부호화 요소만을 참조할 수도 있다.Referring to FIG. 10C, when a CABAC entropy encoding method is used when information of a same layer or a lower layer is also used for binarization, a symbol of an encoding element to be encoded is received (S1030). The symbol value of the input encoding element is converted into a binary string (S1032). In the binary string conversion step, a binary string is determined according to encoding element information corresponding to the same layer or a lower layer. That is, when binarizing a symbol for a given encoding element, information indicating a symbol or attribute of an encoding element or a symbol of the same or another encoding element in the same layer, the same layer and the lower layer, or the lower layer is used. Converts the symbol to a binary string. In other words, in converting to a binary string, only encoding elements of the same layer may be referred to, encoding elements of the same layer and encoding elements of a lower layer may be referred together, or only encoding elements of a lower layer may be referred to. .

그리고 나서, 이진화된 상기 부호화 요소의 심볼의 각 이진값에 해당하는 컨텍스트를 결정한다(S1034). 이때, 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층만의 부호화 요소를 참조하거나, 동일 계층 및 하위 계층의 부호화 요소를 참조하거나, 또는 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정한다. 컨텍스트의 결정은 도 7a 내지 도 7b를 참조하여 전술한 바와 같다. Then, a context corresponding to each binary value of the symbol of the binarized encoding element is determined (S1034). In this case, the context is determined by referring to encoding elements of only the same layer as the layer of the block to which the encoding element to be encoded, referring to encoding elements of the same layer and lower layer, or referring only to encoding elements of the lower layer. Determination of context is as described above with reference to FIGS. 7A-7B.

선택된 컨텍스트에 따라, 상기 부호화 요소에 대한 확률을 추정하고(S1036), 추정된 확률값을 이용하여 엔트로피 부호화한다. 만일 표 1을 참조하여 상술한 바와 같이 엔트로피 부호화하기 위해 이진 스트링으로 변환한 경우에는 0의 값과 1의 값에 대한 확률을 추정하고, 추정된 확률값을 이용하여, 부호화 요소를 엔트로피 부호화한다(S1038). 또한 엔트로피 부호화한 부호화 요소의 심볼값 또는 이진화한 값에 따라 확률 모델을 갱신한다(S1040). 또한 경우에 따라서는, 컨텍스트의 결정 단계(S1034)와 확률 추정 단계(S1036)의 두 단계가 하나의 단계로 이루어져, 명시적인 컨텍스트의 선택없이, 부호화 하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 상기 부호화 요소에 대한 확률을 추정하도록 할 수도 있다.According to the selected context, a probability for the coding element is estimated (S1036), and entropy encoding is performed using the estimated probability value. If it is converted to a binary string for entropy encoding as described above with reference to Table 1, the probability of the value of 0 and the value of 1 is estimated, and the encoding element is entropy encoded using the estimated probability value (S1038). ). In addition, the probability model is updated according to the symbol value or the binarized value of the entropy-encoded encoding element (S1040). In some cases, two steps of determining the context (S1034) and probability estimating (S1036) are performed in one step. The same layer as the layer of the block to which an encoding element to be encoded belongs is included without selecting an explicit context. And a probability of the encoding element may be estimated by referring to the encoding element of the lower layer or by referring to only the encoding element of the lower layer.

도 11a 내지 도 11c는 본 발명의 일실시예에 따른 엔트로피 복호화 방법의 플로우차트이다. 11A to 11C are flowcharts of an entropy decoding method according to an embodiment of the present invention.

도 11a를 참조하여, CABAC을 이용한 엔트로피 복호화 방법을 설명하면, 압축 비트열(compressed bitstream)을 입력받고(S1110), 복호하여 만들어질 이진스트링 내의 이진값 각 위치에 따라 컨텍스트를 결정한다(S1112). 각 이진값에 해당하는 컨텍스트를 결정할 때(S1112), 도 9a에서 전술한 바와 같이 동일 계층에 속한 부호화 요소 정보뿐만 아니라, 하위 계층에 속한 부호화 요소 정보까지도 참조한다. 이와 같은 컨텍스트의 결정은 도 7a 내지 7b를 참조하여 전술한 바와 같다. 결정된 컨텍스트에 따라, 각 이진값 0과 1의 데이터에 대한 확률을 추정한다(S1114). 추정된 확률을 이용하여 압축비트열로부터 이진값을 차례로 복호화하는 엔트로피 복호화를 수행한다(S1116). 또한 차례로 복호화된 이진값들에 의하여, 0과 1의 각 이진값에 대한 확률 모델이 갱신된다(S1118). 엔트로피 복호화를 통해 복호화된 이진값들은 심볼값으로 변환된다(S1119). 심볼값 변환단계(S1119)는 도 9a의 심볼값 변환부(915)를 참조하여 전술한 바와 같다.Referring to FIG. 11A, when describing an entropy decoding method using CABAC, a compressed bitstream is input (S1110), and a context is determined according to each position of a binary value in a binary string to be decoded (S1112). . When determining the context corresponding to each binary value (S1112), as described above with reference to FIG. 9A, not only encoding element information belonging to the same layer but also encoding element information belonging to a lower layer are referred to. Determination of such a context is as described above with reference to FIGS. 7A to 7B. According to the determined context, a probability for each binary value 0 and 1 is estimated (S1114). Entropy decoding for sequentially decoding binary values from the compressed bit string using the estimated probability is performed (S1116). In addition, by using the decoded binary values, the probability model for each binary value of 0 and 1 is updated (S1118). Binary values decoded through entropy decoding are converted into symbol values (S1119). The symbol value conversion step S1119 is as described above with reference to the symbol value conversion unit 915 of FIG. 9A.

한편 상기 CABAC을 이용한 엔트로피 복호화 방법과 달리, 엔트로피 복호화(S1116) 과정에서 직접 심볼값을 생성하는 일반적인 산술 복호화 방법의 경우에도 도 11a의 방법이 적용될 수 있다. 이 경우는 심볼값 변환(S1119) 단계가 도 11a에서 제외되는 경우로써, 상기 도 11a의 설명이 그대로 적용된다. 다만 엔트로피 복호화 단계(S1116)는 이진화된 값을 복호화하는 것이 아니라 심볼값을 복호화하므로 상기 컨텍스트 결정(S1112) 단계는 복호하여 만들어질 심볼에 대한 컨텍스트를 결정한다. 또한 결정된 컨텍스트에 따라 각 심볼값에 대한 확률이 추정된다(S1114). 상기 컨텍스트를 결정할 때(S1112), 동일한 계층에 속한 부호화 요소 정보뿐만 아니라, 하위 계층에 속한 부호화 요소 정보까지도 참조한다. 추정된 확률을 이용하여 압축 비트열로부터 심볼값을 복호화하는 엔트로피 복호화(S1116)을 수행한 후, 복호화된 심볼값에 따라 해당 심볼값에 대한 확률 모델이 갱신된다(S1118).Meanwhile, unlike the entropy decoding method using the CABAC, the method of FIG. 11A may be applied to a general arithmetic decoding method for generating a symbol value directly in the entropy decoding process (S1116). In this case, the symbol value conversion step S1119 is excluded from FIG. 11A, and the description of FIG. 11A is applied as it is. However, since the entropy decoding step S1116 does not decode the binarized value but decodes the symbol value, the context determination step S1112 determines the context for the symbol to be decoded. In addition, the probability of each symbol value is estimated according to the determined context (S1114). When determining the context (S1112), not only the encoding element information belonging to the same layer but also the encoding element information belonging to the lower layer are referred to. After performing entropy decoding (S1116) for decoding the symbol value from the compressed bit string using the estimated probability, the probability model for the corresponding symbol value is updated according to the decoded symbol value (S1118).

도 11b를 참조하여, 심볼과 부호어 사이의 매핑 정보를 이용한 복호화 방법을 설명하면, 먼저 압축된 비트열을 입력받는다(S1120). 그리고 나서 복호화할 심볼과 동일 계층에 속한 부호화 요소 정보뿐만 아니라, 하위 계층에 속한 부호화 요소 정보를 읽어와, 컨텍스트 템플릿에 추가하여 복호화할 심볼의 컨텍스트를 결정한다(S1122). 결정된 컨텍스트를 이용하여, 도 9c를 참조하여 상술한 바와 같이 복수개의 매핑 관계 가운데 하나의 매핑 관계를 선택한다(S1124). 이렇게 선택된 심볼과 부호어의 매핑 관계를 가지고, 압축된 비트열의 부호어에 대하여 해당하는 심볼을 출력한다(S1126).Referring to FIG. 11B, a decoding method using mapping information between a symbol and a codeword will be described. First, a compressed bit string is received (S1120). Then, not only the encoding element information belonging to the same layer as the symbol to be decoded but also the encoding element information belonging to the lower layer are read and added to the context template to determine the context of the symbol to be decoded (S1122). Using the determined context, one mapping relationship is selected from among the plurality of mapping relationships as described above with reference to FIG. 9C (S1124). The corresponding symbol is output with respect to the codeword of the compressed bit string having the mapping relationship between the selected symbol and the codeword (S1126).

도 11c를 참조하여, 동일 계층 또는 하위 계층의 정보가 이진화에도 사용되었을 때의 CABAC 복호화 방법을 설명하면, 압축 비트열(compressed bitstream)을 입력받고(S1130), 복호하여 만들어질 이진 스트링내의 이진값 각 위치에 따라 컨텍스트를 결정한다(S1132). 결정된 컨텍스트에 따라 각 이진값 0과 1의 데이터에 대한 확률을 추정한다(S1134). 추정된 확률을 이용하여 압축 비트열로부터 이진값을 차례로 복호화하는 엔트로피 복호화를 수행한다(S1136). 또한 차례로 복호화된 이진값들에 의하여, 0과 1의 각 이진값에 대한 확률모델이 갱신된다(S1138). 엔트로피 복호화를 통해 복호화된 이진값들은 심볼값으로 변환된다(S1140). 이때 이진값들이 심볼값으로 변환되는 과정은 도 9e를 참조하여 전술한 바와 같다. 즉 이진값들이 심볼값으로 변환될 때, 복호화하여 얻어질 부호화 요소와 동일 계층, 또는 동일 계층과 하위 계층, 또는 하위 계층의 동일 또는 타 부호화 요소의 심볼 또는 부호화 요소의 성질을 나타내는 정보를 참조한다.Referring to FIG. 11C, when a CABAC decoding method is used when information of the same layer or a lower layer is also used for binarization, a compressed bitstream is input (S1130) and a binary value in a binary string to be decoded. The context is determined according to each position (S1132). According to the determined context, a probability of data of each of binary values 0 and 1 is estimated (S1134). Entropy decoding for sequentially decoding binary values from the compressed bit string using the estimated probability is performed (S1136). In addition, by using the decoded binary values, the probabilistic model for each binary value of 0 and 1 is updated (S1138). Binary values decoded through entropy decoding are converted into symbol values (S1140). In this case, the process of converting the binary values into symbol values is as described above with reference to FIG. 9E. That is, when the binary values are converted into symbol values, reference information indicating a property of a symbol or an encoding element of the same or another encoding element of the same layer, the same layer and a lower layer, or the lower layer is obtained by decoding. .

위와 같이 심볼값으로 변환하는 관계 자체를 동일 계층, 또는 동일 계층과 하위 계층, 또는 하위 계층만의 부호화 요소를 참조하여 적응적으로 변환하는 방법은, 컨텍스트 결정단계에서, 하위 계층 또는 동일 계층의 부호화 요소를 참조하는 지의 여부와 관계없이 그 자체로도 부호화 효율을 높이는 효과가 있다.As described above, a method of adaptively converting a relationship itself to a symbol value by referring to encoding elements of the same layer, the same layer and the lower layer, or only the lower layer may be encoded in the lower layer or the same layer in the context determination step. Regardless of whether or not an element is referenced, it has an effect of increasing encoding efficiency by itself.

도 12는 본 발명의 엔트로피 부호화기를 구비한 비디오 부호화 장치의 일례를 나타내는 블록도이다.12 is a block diagram illustrating an example of a video encoding apparatus having an entropy encoder of the present invention.

비디오 부호화 장치는 움직임 추정부(1202), 움직임 보상부(1204), 인트라 프리딕션 수행부(1206), 변환부(1208), 양자화부(1210), 재정렬부(1212), 엔트로피 부호화부(1214), 역양자화부(1216), 역변환부(1218), 필터(1220) 및 프레임 메모리(1222)를 구비한다.The video encoding apparatus includes a motion estimation unit 1202, a motion compensator 1204, an intra prediction unit 1206, a transform unit 1208, a quantization unit 1210, a reordering unit 1212, and an entropy encoder 1214. ), An inverse quantizer 1216, an inverse transform unit 1218, a filter 1220, and a frame memory 1222.

부호화 장치는 여러 가지 부호화 모드 중에서 선택된 하나의 부호화 모드하에서 현재 픽처의 매크로 블록에 대해서 부호화를 수행한다. 이를 위해서, 인터 프리딕션 및 인트라 프리딕션이 가질 수 있는 모든 모드하에서 부호화를 수행하여 율-왜곡 코스트(Rate-Distortion Cost, RDcost)를 계산하여 그 값이 가장 작은 모드를 최적 모드로 정해 그 모드 하에서 부호화를 수행한다. 인터 프리딕션을 위해 현재 픽처의 매크로 블록의 예측치를 참조 픽처에서 찾는 것은 움직임 추정부(1202)에서 수행된다. 그리고, 움직임 보상부(1204)는 1/2 화소 또는 1/4 화소 단위로 참조 블록이 찾아진 경우에는 이들 중간 화소값을 계산하여 참조 블록 데이터 값을 정한다. 이렇게 인터 프리딕션은 움직임 추정부(1202)와 움직임 보상부(1204)에서 수행된다.또한, 현재 픽처의 매크로 블록의 예측치를 현재 픽처내에서 찾는 인트라 프리딕션이 인트라 프리딕션 수행부(1206)에서 수행된다. 현재 매크로 블록에 대해 인터 프리딕션을 수행할 것인가 또는 인트라 프리딕션을 수행할 것인가 하는 것은 모든 부호화 모드하에서의 율-왜곡 코스트를 계산하여 그 값이 가장 작은 모드를 상기 블록의 부호화 모드로 결정하여 매크로 블록에 대한 부호화를 수행한다. The encoding apparatus encodes the macroblock of the current picture in one encoding mode selected from various encoding modes. To this end, encoding is performed under all modes that inter-prediction and intra-prediction may have, and the rate-distortion cost (RDcost) is calculated to determine the mode with the smallest value as the optimal mode. Perform the encoding. Finding the predicted value of the macro block of the current picture in the reference picture for interprediction is performed by the motion estimation unit 1202. When the reference block is found in units of 1/2 or 1/4 pixels, the motion compensator 1204 determines the reference block data value by calculating these intermediate pixel values. The inter prediction is performed by the motion estimator 1202 and the motion compensator 1204. In addition, the intra prediction that finds the prediction value of the macro block of the current picture within the current picture is performed by the intra prediction unit 1206. Is performed. Whether to perform inter-prediction or intra-prediction on the current macro block is calculated by calculating the rate-distortion cost under all encoding modes and determining the mode in which the value is the smallest as the encoding mode of the block. Perform encoding on.

이렇게 인터 프리딕션 또는 인트라 프리딕션이 수행되어 현재 프레임의 매크로 블록이 참조할 예측 데이터가 찾아졌다면, 이를 현재 픽처의 매크로 블록에서 빼서 변환부(1208)에서 변환을 수행한 후에 양자화부(1210)에서 양자화를 수행한다. 현재 프레임의 매크로 블록에서 움직임 추정된 참조 블록을 뺀 것을 잔차(residual)이라고 하는데 부호화시의 데이터량을 줄이기 위해서 잔차값을 부호화하는 것이다. 양자화된 잔차값은 엔트로피 부호화부(1214)에서 인코딩하기 위하여 재정렬부(112)를 거친다. 엔트로피 부호화부(1214)는 도 8a 내지 도 8g를 참조하여, 상술한 바와 같이 구성된다.If inter prediction or intra prediction is performed to find the prediction data to be referred to by the macro block of the current frame, the quantization unit 1210 performs a transformation by subtracting it from the macro block of the current picture. Perform quantization. The subtraction of the motion estimation reference block from the macroblock of the current frame is called residual. The residual value is encoded to reduce the amount of data during encoding. The quantized residual value passes through the reordering unit 112 for encoding by the entropy encoder 1214. The entropy encoder 1214 is configured as described above with reference to FIGS. 8A to 8G.

한편, 인터 프리딕션에 사용될 참조 픽처를 얻기 위하여 양자화된 픽처를 역양자화부(1216)와 역변환부(1218)를 거쳐 현재 픽처를 복원한다. 이렇게 복원된 현재 픽처는 프레임 메모리에 저장되었다가 다음 픽처에 대하여 인터 프리딕션을 수행하는데 사용된다. 복원된 픽처가 필터(1220)를 통과하면 원래 픽처에서 약간의 부호화 에러를 포함한 픽처가 된다.도 13은 본 발명의 엔트로피 복호화기를 구비한 비디오 복호화 장치의 일례를 나타내는 블록도이다.Meanwhile, in order to obtain a reference picture to be used for interprediction, the quantized picture is reconstructed through the inverse quantizer 1216 and the inverse transform unit 1218. The reconstructed current picture is stored in frame memory and used to perform interprediction on the next picture. When the reconstructed picture passes the filter 1220, it becomes a picture including some encoding error in the original picture. [0077] Fig. 13 is a block diagram showing an example of a video decoding apparatus having an entropy decoder of the present invention.

비디오 복호화 장치는 엔트로피 복호화부(1310), 재정렬부(1320), 역양자화부(1330), 역변환부(1340), 인트라 프리딕션 수행부(1350), 움직임 보상부(1360), 필터(1370) 및 프레임 메모리(1380)를 구비한다.The video decoding apparatus includes an entropy decoder 1310, a reordering unit 1320, an inverse quantization unit 1330, an inverse transform unit 1340, an intra prediction unit 1350, a motion compensator 1360, and a filter 1370. And a frame memory 1380.

비디오 부호화 장치에 의해서 부호화된 비트 스트림이 입력되면, 엔트로피 복호화부(1310)는 엔트로피 복호화하여 심볼 데이터를 추출한다. 이하의 구성요소는 도 12를 참조하여 상술한 구성요소와 그 기능이 동일하다.When the bit stream encoded by the video encoding apparatus is input, the entropy decoder 1310 extracts symbol data by entropy decoding. The following components have the same functions as the components described above with reference to FIG. 12.

한편, 전술한 엔트로피 부호화 및 복호화 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 엔트로피 부호화 및 복호화 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.The entropy encoding and decoding method described above can be created by a computer program. Codes and code segments constituting the program can be easily inferred by a computer programmer in the art. In addition, the program is stored in a computer readable media, and read and executed by a computer to implement an entropy encoding and decoding method. The information storage medium includes a magnetic recording medium, an optical recording medium, and a carrier wave medium.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

전술한 바와 같이 본 발명에 따르면, 신축형 비디오 부호화시 동일 계층의 부호화 요소뿐만 아니라 하위 계층의 부호화 요소도 이용하여 엔트로피 부호화를 수행함으로써 부호화 효율을 향상시킬 수 있는 효과가 있다.As described above, according to the present invention, encoding efficiency can be improved by performing entropy encoding using not only the encoding elements of the same layer but also the encoding elements of the lower layer in the flexible video encoding.

Claims (45)

(a) 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 단계; 및(a) determining a context by referring to encoding elements of the same layer and lower layer as the layer of the block to which the encoding element to be encoded belongs, or referring only to encoding elements of the lower layer; And (b) 상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화 하는 단계를 포함하는 것을 특징으로 하는 계층적 엔트로피 부호화 방법.and (b) entropy-encoding the encoding element using the determined context. 제1항에 있어서,The method of claim 1, 상기 (a) 단계에서 참조하는 부호화 요소는, 상기 부호화하고자 하는 부호화 요소와 동일한 종류의 부호화 요소임을 특징으로 하는 계층적 엔트로피 부호화 방법.The encoding element referred to in the step (a) is a hierarchical entropy encoding method, characterized in that the encoding element of the same kind as the encoding element to be encoded. 제1항에 있어서,The method of claim 1, 상기 컨텍스트는 확률값을 지시하는 것을 특징으로 하는 계층적 엔트로피 부호화 방법.And the context indicates a probability value. 제1항에 있어서,The method of claim 1, 상기 컨텍스트는 미리 정해진 복수개의 심볼-부호어간의 관계 중 하나를 지시하는 것을 특징으로 하는 계층적 엔트로피 부호화 방법.And the context indicates one of a plurality of predetermined symbol-codeword relationships. 제1항에 있어서,The method of claim 1, 상기 (a) 단계에서 참조하는 부호화 요소는, 상기 부호화하고자 하는 부호화 요소와 동일한 종류의 부호화 요소뿐만 아니라, 다른 종류의 부호화 요소를 포함하는 것을 특징으로 하는 계층적 엔트로피 부호화 방법.The coding element referred to in the step (a) includes a coding element of the same kind as the coding element to be encoded, as well as other types of coding elements. 제1항에 있어서, 상기 (b) 단계에서의 엔트로피 부호화는The method of claim 1, wherein the entropy encoding in step (b) 소정의 산술식을 이용하는 산술 부호화, 또는 심볼-부호어 간의 관계를 이용한 부호화인 것을 특징으로 하는 계층적 엔트로피 부호화 방법.A hierarchical entropy encoding method using arithmetic encoding using a predetermined arithmetic expression, or encoding using a relationship between a symbol and a codeword. 제1항에 있어서,The method of claim 1, 상기 (b) 단계에서의 엔트로피 부호화는, 미리 정해진 복수개의 심볼-부호어간의 매핑 정보를 갖고 있어 이를 이용하여 수행되는 것을 특징으로 하는 계층적 엔트로피 부호화 방법.The entropy encoding in step (b) has a plurality of predetermined mapping information between symbol-codewords and is performed using the entropy encoding method. 제6항에 있어서, 상기 (b) 단계에서의 엔트로피 부호화는The method of claim 6, wherein the entropy encoding in step (b) 이진 산술 부호화, 산술 부호화, 허프만 부호화 또는 단일 가변장 부호화인 것을 특징으로 하는 계층적 엔트로피 부호화 방법.A hierarchical entropy encoding method comprising binary arithmetic coding, arithmetic coding, Huffman coding, or single variable length coding. 제1항에 있어서,The method of claim 1, (a0) 상기 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 단계를 더 포함하는 것을 특징으로 하는 계층적 엔트로피 부호화 방법.(a0) hierarchical entropy encoding method further comprising converting the encoding element to be encoded into a binary string. 제9항에 있어서, 상기 (a0) 단계는The method of claim 9, wherein step (a0) 상기 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 단계인 것을 특징으로 하는 계층적 엔트로피 부호화 방법.The encoding element to be encoded is referred to by referring to an encoding element of the same layer as the layer of the block to which the encoding element is to be encoded, referring to encoding elements of a lower layer, or referring to encoding elements of the same layer and a lower layer. And converting the binary string into a hierarchical entropy encoding method. 제10항에 있어서, 상기 (a0) 단계에서The method of claim 10, wherein in step (a0) 상기 참조하는 부호화 요소에 따라 결정되는 컨텍스트에 따라, 부호화 하고자 하는 부호화 요소와 이진 스트링과의 매핑 관계가 고정적이거나 또는 가변적으로 변하는 것을 특징으로 하는 계층적 엔트로피 부호화 방법.And a mapping relationship between an encoding element to be encoded and a binary string is fixed or variably according to a context determined by the encoding element to be referred to. (a) 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 단계;(a) The encoding to be encoded by referring to encoding elements of the same layer as the layer of the block to which the encoding element to be encoded belongs, referring to encoding elements of a lower layer, or referring to encoding elements of the same layer and lower layer. Converting the element to a binary string; (b) 상기 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 의 부호화 요소를 참조하여 컨텍스트를 결정하는 단계; 및(b) determining a context by referring to encoding elements of the same layer as the layer of the block to which the encoding element to be encoded belongs; And (c) 상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화 하는 단계를 포함하는 것을 특징으로 하는 엔트로피 부호화 방법.(c) entropy encoding the encoding element by using the determined context. (a) 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 단계; 및(a) receiving the entropy-coded data and determining a context by referring to encoding elements of the same layer and lower layer as the layer of the block to which the entropy-encoded encoding element belongs, or referring only to encoding elements of the lower layer; And (b) 상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 단계를 포함하는 것을 특징으로 하는 계층적 엔트로피 복호화 방법.and (b) entropy decoding the entropy-encoded data using the determined context. 제13항에 있어서,The method of claim 13, 상기 (a) 단계에서 참조하는 부호화 요소는, 상기 부호화된 부호화 요소와 동일한 종류의 부호화 요소임을 특징으로 하는 계층적 엔트로피 복호화 방법.The encoding element referred to in the step (a) is a hierarchical entropy decoding method, characterized in that the encoding element of the same kind as the encoded encoding element. 제13항에 있어서,The method of claim 13, 상기 컨텍스트는 확률값을 지시하는 것을 특징으로 하는 계층적 엔트로피 복호화 방법.And the context indicates a probability value. 제13항에 있어서,The method of claim 13, 상기 컨텍스트는 미리 정해진 복수개의 심볼-부호어간의 관계 중 하나를 지시하는 것을 특징으로 하는 계층적 엔트로피 복호화 방법.And the context indicates one of a plurality of predetermined symbol-codeword relationships. 제13항에 있어서, 상기 (a) 단계에서 참조하는 부호화 요소는The method of claim 13, wherein the encoding element referred to in the step (a) 상기 부호화된 부호화 요소와 동일한 종류의 부호화 요소뿐만 아니라, 다른 종류의 부호화 요소를 포함하는 것을 특징으로 하는 계층적 엔트로피 복호화 방법.And a coding element of the same kind as the encoded coding element, as well as other types of coding elements. 제13항에 있어서, 상기 (b) 단계에서의 엔트로피 복호화는The method of claim 13, wherein the entropy decoding in step (b) 소정의 산술식을 이용하는 산술 복호화, 또는 심볼-부호어 간의 관계를 이용한 복호화인 것을 특징으로 하는 계층적 엔트로피 복호화 방법.An arithmetic decoding method using a predetermined arithmetic expression, or a decoding method using a symbol-symbol relationship. 제18항에 있어서, 상기 (b) 단계에서의 엔트로피 복호화는19. The method of claim 18, wherein entropy decoding in step (b) 이진 산술 복호화, 산술 복호화, 허프만 복호화 또는 단일 가변장 복호화인 것을 특징으로 하는 계층적 엔트로피 복호화 방법.A hierarchical entropy decoding method comprising binary arithmetic decoding, arithmetic decoding, Huffman decoding, or single variable length decoding. 제13항에 있어서,The method of claim 13, (c) 복호화된 이진 스트링을 심볼값으로 변환하는 단계를 더 포함하는 것을 특징으로 하는 계층적 엔트로피 복호화 방법.and (c) converting the decoded binary string into a symbol value. 제20항에 있어서, 상기 (c) 단계는The method of claim 20, wherein step (c) 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 엔트로피 복호화된 이진 스트링을 심볼로 변환하는 단계인 것을 특징으로 하는 계층적 엔트로피 복호화 방법.The entropy decoded binary string is referred to as a symbol by referring to an encoding element of the same layer as a layer of a block to which an encoded encoding element belongs, referring to encoding elements of a lower layer, or referring to encoding elements of the same layer and a lower layer. Hierarchical entropy decoding method characterized in that the step of transforming. (a) 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하여 컨텍스트를 결정하는 단계;(a) receiving entropy-coded data and determining a context by referring to encoding elements of the same layer as a layer of a block to which the entropy-encoded encoding element belongs; (b) 상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 단계; 및(b) entropy decoding the entropy encoded data using the determined context; And (c) 상기 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 엔트로피 복호화된 이진 스트링을 심볼로 변환하는 단계를 포함하는 것을 특징으로 하는 엔트로피 복호화 방법.(c) the entropy decoded binary by referring to an encoding element of the same layer as the layer of the block to which the encoded encoding element belongs, referring to an encoding element of a lower layer, or referring to all of encoding elements of the same layer and lower layer. Converting the string into a symbol. 제22항에 있어서, 상기 (c) 단계에서The method of claim 22, wherein in step (c) 상기 참조하는 부호화 요소에 따라 결정되는 컨텍스트에 따라, 이진 스트링과 심볼간의 매핑 관계가 고정적이거나 또는 가변적으로 변하는 것을 특징으로 하는 계층적 엔트로피 복호화 방법.And a mapping relationship between a binary string and a symbol is fixed or variably according to a context determined according to the encoding element referenced. 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 컨텍스트 결정부; 및A context determination unit for determining a context by referring to encoding elements of the same layer and lower layer as the layer of the block to which the encoding element to be encoded belongs, or referring only to encoding elements of the lower layer; And 상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화하는 엔트로피 부호화 엔진을 포함하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.And an entropy encoding engine that entropy encodes the encoding elements by using the determined context. 제24항에 있어서,The method of claim 24, 상기 컨텍스트 결정부는 상기 부호화하고자 하는 부호화 요소와 동일한 종류의 부호화 요소를 참조하여 컨텍스트를 결정하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.And the context determiner determines a context by referring to an encoding element of the same type as the encoding element to be encoded. 제24항에 있어서,The method of claim 24, 상기 컨텍스트는 확률값을 지시하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.And the context indicates a probability value. 제24항에 있어서,The method of claim 24, 상기 컨텍스트는 미리 정해진 복수개의 심볼-부호어간의 관계 중 하나를 지시하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.And the context indicates one of a plurality of predetermined symbol-codeword relationships. 제24항에 있어서, 상기 컨텍스트 결정부는The method of claim 24, wherein the context determination unit 상기 부호화하고자 하는 부호화 요소와 동일한 종류의 부호화 요소뿐만 아니라, 다른 종류의 부호화 요소를 참조하여 컨텍스트를 결정하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.The hierarchical entropy encoding apparatus of claim 1, wherein the context is determined by referring to not only the encoding element of the same kind as the encoding element to be encoded but also other encoding elements. 제24항에 있어서, 상기 엔트로피 부호화 엔진은25. The method of claim 24, wherein the entropy coding engine 소정의 산술식을 이용하는 산술 부호화, 또는 심볼-부호어 간의 관계를 이용한 부호화를 수행하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.An arithmetic encoding using a predetermined arithmetic expression, or a hierarchical entropy encoding apparatus characterized by performing the encoding using the relationship between the symbol-code. 제29항에 있어서, 상기 엔트로피 부호화 엔진은30. The method of claim 29, wherein the entropy coding engine 이진 산술 부호화, 산술 부호화, 허프만 부호화 또는 단일 가변장 부호화를 수행하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.A hierarchical entropy encoding apparatus characterized by performing binary arithmetic coding, arithmetic coding, Huffman coding, or single variable length coding. 제24항에 있어서,The method of claim 24, 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 이진 스트링 변환부를 더 포함하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.And a binary string converter configured to convert an encoding element to be encoded into a binary string. 제31항에 있어서, 상기 이진 스트링 변환부는32. The binary string converter of claim 31, wherein 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.Binary encoding element to be encoded by referring to an encoding element of the same layer as the layer of the block to which the encoding element to be encoded belongs, referring to encoding elements of a lower layer, or referring to encoding elements of the same layer and lower layer. Hierarchical entropy encoding apparatus, characterized in that the conversion to a string. 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 이진 스트링 변환부;Binary encoding element to be encoded by referring to an encoding element of the same layer as the layer of the block to which the encoding element to be encoded belongs, referring to encoding elements of a lower layer, or referring to encoding elements of the same layer and lower layer. A binary string converting unit converting the string into strings; 상기 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하여 컨텍스트를 결정하는 컨텍스트 결정부; 및A context determination unit that determines a context by referring to encoding elements of the same layer as the layer of the block to which the encoding element to be encoded belongs; And 상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화 하는 엔트로피 부호화 엔진을 포함하는 것을 특징으로 하는 엔트로피 부호화 장치.And an entropy encoding engine that entropy encodes the encoding element by using the determined context. 제33항에 있어서, 상기 이진 스트링 변환부는34. The apparatus of claim 33, wherein the binary string conversion unit 참조하는 부호화 요소에 따라 결정되는 컨텍스트에 따라, 부호화 하고자 하는 부호화 요소와 이진 스트링과의 매핑 관계가 고정적이거나 또는 가변적으로 변하는 관계를 이용하여 이진 스트링으로 변환하는 것을 특징으로 하는 엔트로피 부호화 장치.An entropy encoding apparatus according to a context determined according to a coding element to be referred to, is converted into a binary string using a relation in which a mapping relationship between a coding element to be encoded and a binary string is fixed or variably changed. 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계 층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 컨텍스트 결정부; 및A context determination unit which receives entropy-coded data and determines a context by referring to encoding elements of the same layer and lower layer as the layer of the block to which the entropy-encoded encoding element belongs, or referring only to encoding elements of the lower layer; And 상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 엔트로피 복호화 엔진을 포함하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.And an entropy decoding engine that entropy decodes the entropy-encoded data using the determined context. 제35항에 있어서,36. The method of claim 35 wherein 상기 컨텍스트 결정부는 상기 부호화된 부호화 요소와 동일한 종류의 부호화 요소를 참조하여 컨텍스트를 결정하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.And the context determiner determines a context by referring to an encoding element of the same type as the encoded encoding element. 제35항에 있어서,36. The method of claim 35 wherein 상기 컨텍스트는 확률값을 지시하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.And the context indicates a probability value. 제35항에 있어서,36. The method of claim 35 wherein 상기 컨텍스트는 미리 정해진 복수개의 심볼-부호어간의 관계 중 하나를 지시하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.And the context indicates one of a plurality of predetermined symbol-codeword relationships. 제35항에 있어서, 상기 컨텍스트 결정부는36. The apparatus of claim 35, wherein the context determiner 상기 부호화된 부호화 요소와 동일한 종류의 부호화 요소뿐만 아니라, 다른 종류의 부호화 요소를 참조하여 컨텍스트를 결정하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.And a context element determined by referring to not only the encoding element of the same type as the encoded encoding element but also other kinds of encoding elements. 제35항에 있어서, 상기 엔트로피 복호화 엔진은36. The method of claim 35, wherein the entropy decoding engine 소정의 산술식을 이용하는 산술 복호화, 또는 심볼-부호어 간의 관계를 이용한 복호화를 수행하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.And performing arithmetic decoding using a predetermined arithmetic expression or decoding using a relation between symbol and codewords. 제40항에 있어서, 상기 엔트로피 복호화 엔진은41. The method of claim 40, wherein the entropy decoding engine 이진 산술 복호화, 산술 복호화, 허프만 복호화 또는 단일 가변장 복호화를 수행하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.A hierarchical entropy decoding apparatus comprising binary arithmetic decoding, arithmetic decoding, Huffman decoding, or single variable length decoding. 제35항에 있어서,36. The method of claim 35 wherein 복호화된 이진 스트링을 심볼값으로 변환하는 심볼값 변환부를 더 포함하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.And a symbol value converting unit converting the decoded binary string into a symbol value. 제42항에 있어서, 상기 심볼값 변환부는43. The apparatus of claim 42, wherein the symbol value converting unit 상기 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 엔트로피 복호화된 이진 스트링을 심볼로 변환하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.Symbolize the entropy decoded binary string by referring to an encoding element of the same layer as the layer of the block to which the encoded encoding element belongs, referring to an encoding element of a lower layer, or referring to all encoding elements of the same layer and a lower layer. Hierarchical entropy decoding apparatus characterized in that the conversion. 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하여 컨텍스트를 결정하는 컨텍스트 결정부;A context determination unit which receives entropy-coded data and determines a context by referring to encoding elements of the same layer as a layer of a block to which the entropy-encoded encoding element belongs; 상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 엔트로피 복호화 엔진; 및An entropy decoding engine that entropy decodes the entropy coded data using the determined context; And 상기 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 엔트로피 복호화된 이진 스트링을 심볼로 변환하는 심볼값 변환부를 포함하는 것을 특징으로 하는 엔트로피 복호화 장치.Symbolize the entropy decoded binary string by referring to an encoding element of the same layer as the layer of the block to which the encoded encoding element belongs, referring to an encoding element of a lower layer, or referring to all encoding elements of the same layer and a lower layer. Entropy decoding apparatus comprising a symbol value conversion unit for converting. 제44항에 있어서, 상기 심볼값 변환부는45. The apparatus of claim 44, wherein the symbol value converting unit 참조하는 부호화 요소에 따라 결정되는 컨텍스트에 따라, 부호화된 부호화 요소와 이진 스트링과의 매핑 관계가 고정적이거나 또는 가변적으로 변하는 관계를 이용하여, 이진 스트링을 심볼값으로 변환하는 것을 특징으로 하는 엔트로피 복호화 장치.Entropy decoding apparatus for converting a binary string into a symbol value by using a relation in which a mapping relationship between an encoded encoding element and a binary string is fixed or variably according to a context determined by the encoding element to be referred to .
KR1020050031410A 2005-01-14 2005-04-15 Method and apparatus for adaptive entropy encoding and decoding for scalable video coding KR100636229B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/KR2006/000162 WO2006075901A1 (en) 2005-01-14 2006-01-14 Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
CA002590705A CA2590705A1 (en) 2005-01-14 2006-01-14 Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
EP06715723A EP1836858A1 (en) 2005-01-14 2006-01-14 Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
JP2007551200A JP2008527902A (en) 2005-01-14 2006-01-14 Adaptive entropy coding and decoding method and apparatus for stretchable coding
US11/332,568 US7262721B2 (en) 2005-01-14 2006-01-17 Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050003918 2005-01-14
KR1020050003918 2005-01-14

Publications (2)

Publication Number Publication Date
KR20060083100A true KR20060083100A (en) 2006-07-20
KR100636229B1 KR100636229B1 (en) 2006-10-19

Family

ID=37173591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050031410A KR100636229B1 (en) 2005-01-14 2005-04-15 Method and apparatus for adaptive entropy encoding and decoding for scalable video coding

Country Status (3)

Country Link
JP (1) JP2008527902A (en)
KR (1) KR100636229B1 (en)
CN (1) CN101099391A (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007008015A1 (en) * 2005-07-08 2007-01-18 Lg Electronics Inc. Method for modeling coding information of video signal for compressing/decompressing coding information
KR100703776B1 (en) * 2005-04-19 2007-04-06 삼성전자주식회사 Method and apparatus of context-based adaptive arithmetic coding and decoding with improved coding efficiency, and method and apparatus for video coding and decoding including the same
KR100935492B1 (en) * 2007-10-29 2010-01-06 중앙대학교 산학협력단 Apparatus and method for predicting motion using 1-bit transform and apparatus and method for encoding image using the same
US7894523B2 (en) 2005-09-05 2011-02-22 Lg Electronics Inc. Method for modeling coding information of a video signal for compressing/decompressing coding information
WO2011142569A3 (en) * 2010-05-10 2012-03-15 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving layered coded video
US8320453B2 (en) 2005-07-08 2012-11-27 Lg Electronics Inc. Method for modeling coding information of a video signal to compress/decompress the information
WO2013066051A1 (en) * 2011-10-31 2013-05-10 삼성전자 주식회사 Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
KR20140051345A (en) * 2011-07-21 2014-04-30 루카 로사토 Signal processing and inheritance in a tiered signal quality hierarchy
KR20140051343A (en) * 2011-07-21 2014-04-30 루카 로사토 Inheritance in a tiered signal quality hierarchy
AU2015201782B2 (en) * 2011-10-31 2016-07-28 Samsung Electronics Co., Ltd. Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
KR20180045886A (en) * 2010-04-05 2018-05-04 삼성전자주식회사 Method and apparatus for low complexity entropy encoding/decoding
KR101975404B1 (en) * 2017-12-27 2019-08-28 세종대학교산학협력단 Apparatus and method for generating procedural content

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9654138B2 (en) 2009-08-21 2017-05-16 Thomson Licensing Dtv Methods and apparatus for explicit updates for symbol probabilities of an entropy encoder or decoder
CA2787495A1 (en) * 2010-01-26 2011-08-04 Vidyo, Inc. Low complexity, high frame rate video encoder
EP2362657B1 (en) * 2010-02-18 2013-04-24 Research In Motion Limited Parallel entropy coding and decoding methods and devices
EP2362547B1 (en) * 2010-02-26 2017-10-11 BlackBerry Limited Encoding and decoding methods and devices using a secondary codeword indicator
WO2011126277A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Low complexity entropy-encoding/decoding method and apparatus
WO2011126283A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video based on internal bit depth increment, and method and apparatus for decoding video based on internal bit depth increment
WO2011126282A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using transformation index, and method and apparatus for decoding video by using transformation index
PL2559166T3 (en) * 2010-04-13 2018-04-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Probability interval partioning encoder and decoder
PT2559244T (en) * 2010-04-13 2017-11-10 Ge Video Compression Llc Coding of significance maps and transform coefficient blocks
KR101791078B1 (en) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 Video Coding and Decoding Method and Apparatus
US20110293019A1 (en) * 2010-05-27 2011-12-01 Freescale Semiconductor Inc. Video processing system, computer program product and method for decoding an encoded video stream
WO2012036436A2 (en) * 2010-09-13 2012-03-22 한국전자통신연구원 Method and apparatus for entropy encoding/decoding
US8344917B2 (en) * 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
DK2664070T3 (en) 2011-01-14 2017-01-09 Ge Video Compression Llc And decoding Entropikodnings-
CN107277539B (en) 2011-05-27 2020-11-06 寰发股份有限公司 Method and apparatus for reducing line cache in context adaptive entropy decoding
AP2016009618A0 (en) * 2011-06-16 2016-12-31 Ge Video Compression Llc Entropy coding of motion vector differences
ES2636258T3 (en) * 2011-11-07 2017-10-05 Tagivan Ii Llc Image decoding method and image decoding device
WO2014092597A1 (en) * 2012-12-14 2014-06-19 Intel Corporation Protecting against packet loss during transmission of video information
US10250874B2 (en) 2013-04-09 2019-04-02 Siemens Aktiengesellschaft Method for coding sequence of digital images
US9495968B2 (en) 2013-05-29 2016-11-15 Qualcomm Incorporated Identifying sources from which higher order ambisonic audio data is generated
US9502045B2 (en) * 2014-01-30 2016-11-22 Qualcomm Incorporated Coding independent frames of ambient higher-order ambisonic coefficients
US10770087B2 (en) 2014-05-16 2020-09-08 Qualcomm Incorporated Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals
CN104581154B (en) * 2014-12-31 2016-03-02 湖南国科微电子股份有限公司 A kind of entropy coding method and entropy coder circuit

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703776B1 (en) * 2005-04-19 2007-04-06 삼성전자주식회사 Method and apparatus of context-based adaptive arithmetic coding and decoding with improved coding efficiency, and method and apparatus for video coding and decoding including the same
US8953680B2 (en) 2005-07-08 2015-02-10 Lg Electronics Inc. Method for modeling coding information of video signal for compressing/decompressing coding information
US8331453B2 (en) 2005-07-08 2012-12-11 Lg Electronics Inc. Method for modeling coding information of a video signal to compress/decompress the information
WO2007008015A1 (en) * 2005-07-08 2007-01-18 Lg Electronics Inc. Method for modeling coding information of video signal for compressing/decompressing coding information
US9124891B2 (en) 2005-07-08 2015-09-01 Lg Electronics Inc. Method for modeling coding information of a video signal to compress/decompress the information
US8199821B2 (en) 2005-07-08 2012-06-12 Lg Electronics Inc. Method for modeling coding information of video signal for compressing/decompressing coding information
US8306117B2 (en) 2005-07-08 2012-11-06 Lg Electronics Inc. Method for modeling coding information of video signal for compressing/decompressing coding information
US8320453B2 (en) 2005-07-08 2012-11-27 Lg Electronics Inc. Method for modeling coding information of a video signal to compress/decompress the information
US8989265B2 (en) 2005-07-08 2015-03-24 Lg Electronics Inc. Method for modeling coding information of video signal for compressing/decompressing coding information
US9832470B2 (en) 2005-07-08 2017-11-28 Lg Electronics Inc. Method for modeling coding information of video signal for compressing/decompressing coding information
US8831104B2 (en) 2005-07-08 2014-09-09 Lg Electronics Inc. Method for modeling coding information of a video signal to compress/decompress the information
US7894523B2 (en) 2005-09-05 2011-02-22 Lg Electronics Inc. Method for modeling coding information of a video signal for compressing/decompressing coding information
KR100935492B1 (en) * 2007-10-29 2010-01-06 중앙대학교 산학협력단 Apparatus and method for predicting motion using 1-bit transform and apparatus and method for encoding image using the same
KR20180045886A (en) * 2010-04-05 2018-05-04 삼성전자주식회사 Method and apparatus for low complexity entropy encoding/decoding
WO2011142569A3 (en) * 2010-05-10 2012-03-15 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving layered coded video
KR20140051343A (en) * 2011-07-21 2014-04-30 루카 로사토 Inheritance in a tiered signal quality hierarchy
KR20140051345A (en) * 2011-07-21 2014-04-30 루카 로사토 Signal processing and inheritance in a tiered signal quality hierarchy
AU2015201779B2 (en) * 2011-10-31 2016-07-28 Samsung Electronics Co., Ltd. Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
AU2015201782B2 (en) * 2011-10-31 2016-07-28 Samsung Electronics Co., Ltd. Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
AU2015201780B2 (en) * 2011-10-31 2016-07-28 Samsung Electronics Co., Ltd. Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
US9307263B2 (en) 2011-10-31 2016-04-05 Samsung Electronics Co., Ltd. Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
US9414088B2 (en) 2011-10-31 2016-08-09 Samsung Electronics Co., Ltd. Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
US9503752B2 (en) 2011-10-31 2016-11-22 Samsung Electronics Co., Ltd. Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
US9521430B2 (en) 2011-10-31 2016-12-13 Samsung Electronics Co., Ltd. Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
US9532072B2 (en) 2011-10-31 2016-12-27 Samsung Electronics Co., Ltd. Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
WO2013066051A1 (en) * 2011-10-31 2013-05-10 삼성전자 주식회사 Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
AU2012333301B2 (en) * 2011-10-31 2015-01-15 Samsung Electronics Co., Ltd. Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
KR101975404B1 (en) * 2017-12-27 2019-08-28 세종대학교산학협력단 Apparatus and method for generating procedural content

Also Published As

Publication number Publication date
CN101099391A (en) 2008-01-02
KR100636229B1 (en) 2006-10-19
JP2008527902A (en) 2008-07-24

Similar Documents

Publication Publication Date Title
KR100636229B1 (en) Method and apparatus for adaptive entropy encoding and decoding for scalable video coding
US7262721B2 (en) Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
US8401082B2 (en) Methods and systems for refinement coefficient coding in video compression
US8351502B2 (en) Method and apparatus for adaptively selecting context model for entropy coding
US8345752B2 (en) Method and apparatus for entropy encoding/decoding
US9055338B2 (en) System and method for video encoding and decoding
JP2009531997A (en) Method and system for encoding and decoding information related to video compression
KR101041973B1 (en) Flag encoding method, flag decoding method, and apparatus thereof
KR100736096B1 (en) Method and apparatus for encoding and decoding video signal by group
CA2543947A1 (en) Method and apparatus for adaptively selecting context model for entropy coding
KR20070118978A (en) Method and system for video compression using an iterative encoding algorithm
KR100772870B1 (en) Method and apparatus for encoding and decoding video signal using coefficient&#39;s property which composes FGS layer&#39;s block
KR100834757B1 (en) Method for enhancing entropy coding efficiency, video encoder and video decoder thereof
WO2011148887A1 (en) Video image delivery system, video image transmission device, video image delivery method, and video image delivery program
KR100763192B1 (en) Method and apparatus for entropy encoding and entropy decoding FGS layer&#39;s video data
KR102271878B1 (en) Video encoding and decoding method and apparatus using the same
AU2008201768A1 (en) Method and apparatus for adaptively selecting context model for entropy coding

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120927

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee