KR100674937B1 - Context adaptive binary arithmetic de-coding device - Google Patents

Context adaptive binary arithmetic de-coding device Download PDF

Info

Publication number
KR100674937B1
KR100674937B1 KR1020050002462A KR20050002462A KR100674937B1 KR 100674937 B1 KR100674937 B1 KR 100674937B1 KR 1020050002462 A KR1020050002462 A KR 1020050002462A KR 20050002462 A KR20050002462 A KR 20050002462A KR 100674937 B1 KR100674937 B1 KR 100674937B1
Authority
KR
South Korea
Prior art keywords
context
block
decoding
macroblock
memory device
Prior art date
Application number
KR1020050002462A
Other languages
Korean (ko)
Other versions
KR20060082199A (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 KR1020050002462A priority Critical patent/KR100674937B1/en
Publication of KR20060082199A publication Critical patent/KR20060082199A/en
Application granted granted Critical
Publication of KR100674937B1 publication Critical patent/KR100674937B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

영상데이터를 복원할 때 복잡한 컨텍스트 모델링 과정을 사용하지 않고, 복수 개의 비트를 동시에 복호화할 수 있으며, 보다 신속하고 간단하게 처리할 수 있는 컨텍스트 적응형 이진 산술 복호화 장치를 개시한다. 상기 컨텍스트 적응형 이진 산술 복호화 장치는, 메모리 장치, 주변 매크로블록 정보장치, 컨텍스트 인덱스 생성장치, 컨텍스트 업데이트 장치, 컨텍스트 선택장치, 디코딩 엔진 블록 및 역 이산화 블록을 구비한다. 상기 컨텍스트 적응형 이진 산술 복호화 장치는, 컨텍스트 인덱스 생성장치 및 컨텍스트 업데이트 장치를 활용하여 보다 빠르고 간편하게 복호화할 수 있는 장점이 있다. Disclosed is a context-adaptive binary arithmetic decoding apparatus capable of simultaneously decoding a plurality of bits without using a complicated context modeling process when reconstructing image data, which can be processed more quickly and simply. The context adaptive binary arithmetic decoding apparatus includes a memory device, a peripheral macroblock information device, a context index generator, a context updater, a context selector, a decoding engine block, and an inverse discretization block. The context-adaptive binary arithmetic decoding apparatus has an advantage of faster and simpler decoding using a context index generator and a context update apparatus.

Description

컨텍스트 적응형 이진 산술 복호화 장치{Context adaptive binary arithmetic de-coding device}Context adaptive binary arithmetic de-coding device

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.BRIEF DESCRIPTION OF THE DRAWINGS In order to better understand the drawings cited in the detailed description of the invention, a brief description of each drawing is provided.

도 1은 H.264 표준에 따른 CABAC 장치의 블록 다이어그램이다. 1 is a block diagram of a CABAC device according to the H.264 standard.

도 2는 도 1에 도시된 CABAC 장치에 대응되는 CABAD 장치의 블록 다이어그램이다. FIG. 2 is a block diagram of a CABAD device corresponding to the CABAC device shown in FIG. 1.

도 3은 본 발명의 일 실시 예에 따른 컨텍스트 적응형 이진 산술 복호화장치의 블록 다이어그램이다. 3 is a block diagram of a context-adaptive binary arithmetic decoding apparatus according to an embodiment of the present invention.

도 4는 컨텍스트 초기화 및 업데이트을 위한 메모리 및 레지스터의 구조를 나타낸다. 4 shows the structure of memory and registers for context initialization and update.

도 5는 컨텍스트 레지스터 그룹을 나타낸다. 5 shows a context register group.

도 6은 주변의 매크로 블록과 현재 매크로 블록과의 관계를 나타낸다. 6 shows a relationship between a neighboring macroblock and a current macroblock.

도 7은 본 발명에서 사용하는 주변 매크로 블록 당 저장할 정보 및 이를 저장하는 메모리 장치의 맵을 나타낸다. 7 shows information to be stored per neighboring macroblock used in the present invention and a map of a memory device storing the same.

도 8은 전체 영상 사이즈가 1920×1088인 H.264 메인 파일인 경우의 메모리 맵의 예이다. 8 is an example of a memory map in the case of an H.264 main file having a total video size of 1920 × 1088.

본 발명은 동영상 데이터의 압축에 관한 것으로서, 특히, 보다 신속하고 간단하게 처리할 수 있는 컨텍스트 적응형 이진 산술 복호화 장치에 관한 것이다. The present invention relates to the compression of moving image data, and more particularly, to a context-adaptive binary arithmetic decoding apparatus that can be processed more quickly and simply.

동영상 데이터는 데이터 양이 매우 많으므로, 이를 압축한 후 저장하거나 전송하는 것이 일반적이다. 데이터를 압축하는 방법은 다양하지만, 일정한 표준을 만족하여야 하며, 이러한 표준으로는 MPEG-4 Part 10 AVC(Advanced Video Coding) 또는 ITU-T H.264가 있다. H.264는 이동통신망과 같은 새로운 개념의 통신채널의 급속한 보급에 대처하기 위하여 제정된 것으로, 종래의 회선교환방식에서 패킷교환서비스로 전환되는 다양한 통신 인프라(Infra)를 위한 것이다. Since video data has a large amount of data, it is generally compressed and then stored or transmitted. There are various ways of compressing data, but they must meet certain standards, such as MPEG-4 Part 10 Advanced Video Coding (AVC) or ITU-T H.264. H.264 was established to cope with the rapid dissemination of new concept communication channels such as mobile communication networks, and is for various communication infrastructures (Infra) which are switched from the conventional circuit switched method to packet switched service.

H.264는 종래의 표준인 MPEG-4 Part 2 비쥬얼 코덱(Visual Codec)에 비하여 부호화 효율을 50% 이상 증가시켰으며, 급변하는 무선 환경 및 인터넷 환경 등을 고려하여 오류가 적고 네트워크에 적응하기 쉬운 방식을 고려한 비디오 데이터 압축 표준이다. H.264 has increased coding efficiency by more than 50% compared to the MPEG-4 Part 2 Visual Codec, which is a conventional standard. It is easy to adapt to a network with less errors in consideration of the rapidly changing wireless environment and the Internet environment. It is a video data compression standard considering the method.

종래에 개발된 대부분의 비디오 압축 표준은, 허프만 무 손실 코딩(Huffman Lossless Coding) 기법을 사용하였고, 최근에야 압축 효율이 보다 강화된 산술 코딩(Arithmetic Coding) 기법이 도입되었는데, H.264는 이러한 추세를 적극 반영하여 컨텍스트 적응형 이진 산술 부호화(Context Adaptive Binary Arithmetic Coding, 이하 CABAC)라는 기법을 도입하였다. 상기 CABAC는 심볼(symbol)의 발생 확률을 이용하여 데이터를 압축하는 엔트로피 부호화 방법이다. Most of the conventional video compression standards developed using Huffman Lossless Coding, and only recently introduced Arithmetic Coding, which has a higher compression efficiency, have been introduced in H.264. Context Adaptive Binary Arithmetic Coding (CABAC) is introduced. The CABAC is an entropy encoding method for compressing data by using a probability of occurrence of a symbol.

일반적인 산술 부호화는 알파벳에 기반을 둔 소스(Alphabet based source)를 이용하지만, CABAC는 컨텍스트에 기반을 둔 소스(Context based source)를 이용한다는 점이 서로 다르다. 상기 CABAC는, 컨텍스트(Context)를 정의하고 각각의 컨텍스트는 주변 블록 또는 이전에 부호화 된 값을 바탕으로 모델링 된다. General arithmetic coding uses alphabet based sources, but CABAC uses context based sources differently. The CABAC defines a context and each context is modeled based on the neighboring block or previously encoded value.

CABAC는 bin이라는 '0'과 '1'로 구성된 바이너리 스트링(Binary String)을 부호화한다. 상기 바이너리 스트링은 처리되는 과정에 정수로 변환되고, 따라서 정수로 이루어진 데이터를 바이너리 코드로 변환시키는 과정이 필요하게 된다. 바이너리 변환과정은 신텍스에 따라서 다르게 된다. CABAC encodes a binary string consisting of '0's and' 1's called bins. The binary string is converted into an integer in the process of being processed, and thus a process of converting data consisting of integers into binary codes is required. The binary conversion process depends on the syntax.

CABAC는, IBM사에서 고안한 QM-Coder를 사용하여 바이너리 스트링을 부호화하는데, 상기 QM-Coder에는 곱셈 연산이 없고 단지 데이터의 이동(shift), 덧셈 및 뺄셈 연산만이 존재하기 때문에 하드웨어의 구현이 용이하고 빠르다는 장점이 있다. 또한 바이너리 부호화에 적합한 자체 모델링 기법도 가지고 있다. CABAC uses a QM-Coder designed by IBM to encode a binary string. The QM-Coder does not have a multiplication operation, but only a shift, addition and subtraction operation of data. It has the advantage of being easy and fast. It also has its own modeling technique suitable for binary coding.

도 1은 H.264 표준에 따른 CABAC 장치의 블록 다이어그램이다. 1 is a block diagram of a CABAC device according to the H.264 standard.

도 1을 참조하면, 상기 CABAC 장치(100)는, 이진화 블록(110), 신텍스 블록(120), 컨텍스트 블록(130), QM-Coder(140), 모델블록(150) 및 모델 업데이트 블록(160)을 구비한다. Referring to FIG. 1, the CABAC device 100 may include a binarization block 110, a syntax block 120, a context block 130, a QM-Coder 140, a model block 150, and a model update block 160. ).

이진화 블록(110, Binarization block)은 수신한 부호화의 대상 값(Value)을 신텍스(120)에 대응하여 이진화를 수행한다. 이진화 된 바이너리 스트링은 QM- Coder(140)에 전달되어 복수 개의 비트 열(Bit Series)로 구성된 비트스트림(Bit stream)으로 부호화된다. The binarization block 110 binarizes the received value of the encoding corresponding to the syntax 120. The binarized binary string is transmitted to the QM-Coder 140 and encoded into a bit stream composed of a plurality of bit strings.

QM-Coder(140)는, 컨텍스트 블록(130)으로부터 수신한 컨텍스트를 이용한 자체 모델링 과정을 통해 각 바이너리 심볼의 확률 및 상태를 결정한다. 컨텍스트 블록(130)은, 신텍스 블록(120) 및 모델 블록(150)으로부터 신텍스에 대한 정보 및 설정된 모델에 대한 정보를 수신하여 이미 부호화 된 블록을 바탕으로 신텍스 별, 바이너리 위치 별로 컨텍스트를 선택한다. The QM-Coder 140 determines the probability and state of each binary symbol through its own modeling process using the context received from the context block 130. The context block 130 receives the information about the syntax and the information about the set model from the syntax block 120 and the model block 150, and selects a context for each syntax and binary position based on an already encoded block.

하나의 슬라이스(Slice)가 상술한 블록들의 연산 수행을 통하여 비트 스트림으로 만들어지면, 상기 비트 스트림을 이용해서 컨텍스트 모델을 모델 업데이트 블록(160)에서 업데이트 하여 모델 블록(150)에 전달한다. When one slice is made into a bit stream through the operation of the above-described blocks, the context model is updated in the model update block 160 using the bit stream and transferred to the model block 150.

도 2는 도 1에 도시된 CABAC 장치에 대응되는 CABAD 장치의 블록 다이어그램이다. FIG. 2 is a block diagram of a CABAD device corresponding to the CABAC device shown in FIG. 1.

도 2를 참조하면, 상기 CABAD(Context Adaptive Binary Arithmetic De-coding) 장치(200)는, CABAC의 역 과정을 수행함을 알 수 있다. 2, the context adaptive binary arithmetic de-coding (CABAD) device 200 can be found to perform an inverse process of CABAC.

CABAD 장치(200)는, CABAC 장치(100)로부터 비트 스트림 및 모델에 대한 정보를 수신하면, 이를 바탕으로 신텍스 블록(230)의 지시에 따라 컨텍스트를 컨텍스트 블록(220)에서 선택하고 각각의 컨텍스트 별로 QM-Coder(210)를 거쳐 복호화 된다. 이렇게 복호화 된 스트링은 신텍스 블록(230)의 지시에 따라 역 이진화 블록(240)에서 역 이진화 과정을 거쳐 실제의 값으로 매핑(Mapping)된다. When the CABAD device 200 receives the information on the bit stream and the model from the CABAC device 100, the CABAD device 200 selects a context from the context block 220 according to the instruction of the syntax block 230 based on the information, and for each context. Decoded via the QM-Coder (210). The decoded string is mapped to the actual value through the inverse binarization process in the inverse binarization block 240 according to the instruction of the syntax block 230.

상술한 종래의 기술에 따른 컨텍스트 적응형 이진 산술 복호화 시, 컨텍스트 모델링 부에 의해 수행되는 컨텍스트 모델링 과정이 매우 복잡하고, 비트 각각을 하나씩 복호화 한다는 단점이 있다. In the context-adaptive binary arithmetic decoding according to the conventional technique described above, the context modeling process performed by the context modeling unit is very complicated, and each bit is decoded one by one.

본 발명이 이루고자 하는 기술적 과제는, 영상데이터를 복원할 때 복잡한 컨텍스트 모델링 과정을 사용하지 않고, 복수 개의 비트를 동시에 복호화할 수 있는 컨텍스트 적응형 이진 산술 복호화(Context Adaptive Binary Arithmetic De-coding) 장치를 제공하는데 있다.
An object of the present invention is to provide a context adaptive binary arithmetic decoding apparatus capable of simultaneously decoding a plurality of bits without using a complicated context modeling process when restoring image data. To provide.

상기 기술적 과제를 달성하기 위한 본 발명에 따른 CABAD는, 메모리 장치, 주변 매크로블록 정보장치, 컨텍스트 인덱스 생성장치, 컨텍스트 업데이트 장치, 컨텍스트 선택장치, 디코딩 엔진 블록 및 역 이진화 블록을 구비한다. The CABAD according to the present invention for achieving the above technical problem, a memory device, a peripheral macroblock information device, a context index generator, a context update device, a context selector, a decoding engine block and a debinarization block.

상기 메모리 장치는, 현재 처리되고 있는 매크로 블록의 주변에 위치한 매크로 블록들의 신텍스 엘리먼트((Syntax Element))에 대한 정보 및 컨텍스트에 대한 정보를 저장한다. The memory device stores information about syntax elements and contexts of macroblocks located in the vicinity of a macroblock currently being processed.

상기 주변 매크로블록 정보장치는, 상기 메모리 장치에 저장되어 있는 상기 신텍스 엘리먼트(Syntax Element)를 읽어 저장하며, 이를 위하여 복수 개의 레지스터를 구비한다. The peripheral macroblock information apparatus reads and stores the syntax element stored in the memory device, and includes a plurality of registers for this purpose.

상기 컨텍스트 인덱스 생성장치는, 상기 주변 매크로블록 정보장치로부터 수 신한 신텍스 엘리먼트(Syntax Element)를 이용하여 컨텍스트 선택을 위한 컨텍스트 인덱스 인크리먼트를 생성한다. The context index generator generates a context index increment for context selection by using a syntax element received from the neighboring macroblock information apparatus.

상기 컨텍스트 업데이트 장치는, 자체 내에 저장된 컨텍스트를 초기화하거나 현재 사용되어야 하는 컨텍스트를 상기 메모리 장치로부터 읽어 저장하고 사용되고 있던 컨텍스트는 상기 메모리 장치에 저장하며, 이를 위하여 복수 개의 레지스터를 구비한다. The context updating apparatus initializes a context stored therein or reads and stores a context to be currently used from the memory device, and stores a context in use in the memory device, and includes a plurality of registers for this purpose.

상기 컨텍스트 선택장치는, 상기 컨텍스트 인덱스 인크리먼트에 응답하여 상기 컨텍스트 업데이터 장치에 저장된 신텍스 엘리먼트의 빈(bin)별 컨텍스트들 중에서 일정한 컨텍스트를 선택한다. The context selector selects a predetermined context from among bin-specific contexts of syntax elements stored in the context updater in response to the context index increment.

상기 디코딩 엔진 블록은, 상기 컨텍스트 선택장치에서 선택된 컨텍스트를 이용하여 입력된 데이터 스트림을 워드(word) 단위로 디코딩한다. The decoding engine block decodes the input data stream in word units using the context selected by the context selector.

상기 역 이진화 블록은, 이미 저장된 가변 장(Variable Field) 부호화 테이블을 참조하여 상기 디코딩 된 데이터에 대응하는 심볼들을 출력한다. The inverse binarization block outputs symbols corresponding to the decoded data by referring to a variable field coding table that is already stored.

상기 컨텍스트 적응형 이진 산술 복호화장치는, 콘트롤러를 더 구비할 수 있다. 상기 콘트롤러는, 상기 컨텍스트 인덱스 생성장치, 상기 컨텍스트 선택장치 및 상기 역 이진화 블록을 제어한다. 또한, 초기화 조건이 인가되면 상기 컨텍스트 업데이트 장치 및 상기 디코딩 엔진을 초기화시키며, 가변 장(Variable Field) 부호화 테이블을 구비한다. The context adaptive binary arithmetic decoding apparatus may further include a controller. The controller controls the context index generator, the context selector, and the inverse binarization block. In addition, when an initialization condition is applied, the context updater and the decoding engine are initialized, and a variable field coding table is provided.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다. DETAILED DESCRIPTION In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings that illustrate preferred embodiments of the present invention.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.

도 3은 본 발명의 일 실시 예에 따른 컨텍스트 적응형 이진 산술 복호화장치의 블록 다이어그램이다. 3 is a block diagram of a context-adaptive binary arithmetic decoding apparatus according to an embodiment of the present invention.

도 3을 참조하면, 상기 컨텍스트 적응형 이진 산술 복호화장치(300)는, 메모리 장치(310), 주변 매크로블록 정보장치(320), 컨텍스트 인덱스 생성장치(330), 컨텍스트 업데이트 장치(340), 컨텍스트 선택장치(350), 디코딩 엔진 블록(360) 및 역 이산화 블록(370)을 구비한다. Referring to FIG. 3, the context-adaptive binary arithmetic decoding apparatus 300 includes a memory device 310, a peripheral macroblock information device 320, a context index generator 330, a context updater 340, and a context. A selector 350, decoding engine block 360, and inverse discretization block 370 are provided.

메모리 장치(310)는, 현재 처리되고 있는 매크로 블록의 주변에 위치한 매크로 블록들의 신텍스 엘리먼트((Syntax Element))에 대한 정보 및 컨텍스트에 대한 정보를 저장한다. The memory device 310 stores information about syntax elements and contexts of macroblocks located around the macroblock currently being processed.

주변 매크로블록 정보장치(320)는, 메모리 장치(310)에 저장되어 있는 상기 신텍스 엘리먼트(Syntax Element)를 읽어 저장하며, 이를 위하여 복수 개의 레지스터를 구비한다. The peripheral macroblock information device 320 reads and stores the syntax element stored in the memory device 310, and includes a plurality of registers for this purpose.

컨텍스트 인덱스 생성장치(330)는, 주변 매크로블록 정보장치(320)로부터 수신한 신텍스 엘리먼트(Syntax Element)를 이용하여 컨텍스트 선택을 위한 컨텍스트 인덱스 인크리먼트를 생성한다. The context index generator 330 generates a context index increment for context selection by using a syntax element received from the neighboring macroblock information apparatus 320.

컨텍스트 업데이트 장치(340)는, 자체 내에 저장된 컨텍스트를 초기화하거나 현재 사용되어야 하는 컨텍스트를 상기 메모리 장치로부터 읽어 저장하고 사용되고 있던 컨텍스트는 상기 메모리 장치에 저장하며, 이를 위하여 복수 개의 레지스터를 구비한다. The context updating apparatus 340 initializes a context stored in itself or reads and stores a context that should be currently used from the memory device, and stores the used context in the memory device, and includes a plurality of registers for this purpose.

컨텍스트 선택장치(350)는, 컨텍스트 인덱스 인크리먼트에 응답하여 상기 컨텍스트 업데이터 장치에 저장된 신텍스 엘리먼트의 빈(bin)별 컨텍스트들 중에서 일정한 컨텍스트를 선택한다. The context selector 350 selects a certain context from among bin-specific contexts of syntax elements stored in the context updater in response to the context index increment.

디코딩 엔진 블록(360)은, 컨텍스트 선택장치(350)에서 선택된 컨텍스트를 이용하여 입력된 데이터 스트림을 바이트(byte) 단위로 디코딩한다. The decoding engine block 360 decodes the input data stream in units of bytes by using the context selected by the context selector 350.

역 이진화 블록(370)은, 이미 저장된 가변 장(Variable Field) 부호화 테이블을 참조하여 상기 디코딩 된 데이터에 대응하는 심볼들을 출력한다. The inverse binarization block 370 outputs the symbols corresponding to the decoded data by referring to a variable field coding table that is already stored.

상기 컨텍스트 적응형 이진 산술 복호화장치(300)는, 콘트롤러(380)를 더 구비할 수 있다. The context-adaptive binary arithmetic decoding apparatus 300 may further include a controller 380.

콘트롤러(380)는, 컨텍스트 인덱스 생성장치(330), 컨텍스트 선택장치(350) 및 역 이진화 블록(370)을 제어한다. 또한, 초기화 조건이 인가되면 컨텍스트 업데이트 장치(340) 및 디코딩 엔진(360)을 초기화시키며, 가변 장(Variable Field) 부호화 테이블을 구비한다. The controller 380 controls the context index generator 330, the context selector 350, and the inverse binarization block 370. In addition, when the initialization condition is applied, the context update apparatus 340 and the decoding engine 360 are initialized, and a variable field coding table is provided.

도 3에 도시된 본 발명의 일 실시 예에 따른 CABAD(Context Adaptive Binary Arithmetic De-coding) 장치의 복호화 과정을 보다 간단하게 요약한다. The decoding process of the context adaptive binary arithmetic de-coding (CABAD) device according to an embodiment of the present invention shown in FIG. 3 will be briefly summarized.

먼저 콘트롤러(380)에 초기화 조건이 인가되면 컨텍스트와 디코딩 엔진을 초 기화하고, 디코딩 조건이 인가되면 하나의 매크로 블록에 대한 디코딩을 수행한다는 것이다. 디코딩을 수행하기에 앞서, 주변 매크로블록 정보장치(320)는, 주변 매크로 블록의 정보 특히 주변 매크로 블록의 신텍스 엘리먼트를 메모리 장치(310)로부터 읽어온다. 동시에 컨텍스트 업데이트 장치(340)는 해당 컨텍스트를 메모리 장치(310)로부터 읽어온다. 그런 다음, 계산할 수 있는 컨텍스트 인텍스 인크리먼트(Context Index Increment)를 컨텍스트 인덱스 생성장치(330)에서 구하는데, 이 때 디코딩 하여야 할 신텍스 엘리먼트가 생성된다. 컨텍스트 선택장치(350)는 상기 신텍스 엘리먼트의 빈 번호에 대응하는 컨텍스트를 선택한다. First, when the initialization condition is applied to the controller 380, the context and the decoding engine are initialized, and when the decoding condition is applied, decoding of one macro block is performed. Prior to performing decoding, the neighboring macroblock information device 320 reads information of the neighboring macroblock, especially the syntax element of the neighboring macroblock, from the memory device 310. At the same time, the context update apparatus 340 reads the context from the memory device 310. Then, a context index increment (Context Index Increment) that can be calculated in the context index generator 330, the syntax element to be decoded is generated at this time. The context selector 350 selects a context corresponding to the bin number of the syntax element.

해당 신텍스 엘리먼트의 빈 번호에 대응하는 컨텍스트를 이용하여 수신된 데이터 스트림을 바이트 단위로 디코딩한다. 그런 다음, 복호화된 빈 값을 계속 확인하면서 신텍스 엘리먼트와 계수(Coefficient)를 생성한다. 이 때, 변경된 컨텍스트는 다시 업데이트 되어 메모리에 저장되어야 한다. The received data stream is decoded in bytes using a context corresponding to the bin number of the syntax element. Then, while checking the decoded empty values, we generate syntax elements and coefficients. At this point, the changed context must be updated and stored in memory.

이하에서는 도 3에 도시된 본 발명의 일 실시 예에 따른 컨텍스트 적응형 이진 산술 복호화(CABAD)의 중요한 부분들의 동작을 보다 자세하게 설명한다. Hereinafter, operations of important parts of context adaptive binary arithmetic decoding (CABAD) according to an embodiment of the present invention shown in FIG. 3 will be described in more detail.

1. 컨텍스트 업데이트 장치(340) 1. Context updating device 340

초기화 조건이 인가되면, 7비트 레지스터 8개를 하나의 세트(set)로 하는 2개의 세트를 이용하여 계산과 연산을 번갈아 하면서 컨텍스트를 초기화한다. When an initialization condition is applied, two sets of eight 7-bit registers are used as one set to initialize the context alternately between calculations and operations.

컨텍스트 업데이트 조건이 인가되면, 현재 사용해야 하는 컨텍스트를 메모리 장치(310)로부터 읽어 저장하고, 이전에 사용하던 컨텍스트는 메모리 장치(310)에 저장시킨다. When the context update condition is applied, the currently used context is read from the memory device 310 and stored, and the previously used context is stored in the memory device 310.

도 4는 컨텍스트 초기화 및 업데이트을 위한 메모리 및 레지스터의 구조를 나타낸다. 4 shows the structure of memory and registers for context initialization and update.

도 4를 참조하면, 왼 쪽에는 7개의 레지스터 세트가 있고 오른 쪽에는 56×70의 메모리 영역을 나타낸다. 메모리 영역의 각각의 블록을 컨텍스트라하고, 각 컨텍스트를 구성하는 비트들을 일정하게 묶어서 신텍스 엘리먼트라 한다. 4, there are seven register sets on the left and a 56x70 memory area on the right. Each block of the memory area is called a context, and the bits constituting each context are collectively called a syntax element.

도 5는 컨텍스트 레지스터 그룹을 나타낸다. 5 shows a context register group.

도 5를 참조하면, 컨텍스트는 그룹 별로 데이터를 읽어들인다. 다 읽은 후에는 이전에 업데이트한 컨텍스트를 다시 기록한다. 컨텍스트의 번호(Number of Context)는 컨텍스트의 개수를 의미하며, 채워지는 레지스터의 수를 의미하기도 한다. 레지스터 파일(Register File)은 레지스터 세트를 의미한다. Referring to FIG. 5, the context reads data in groups. After reading, rewrite the previously updated context. The number of contexts refers to the number of contexts and also the number of registers to be filled. Register File means a register set.

2. 주변 매크로블록 정보장치(320)2. Peripheral macroblock information device 320

CABAD는 디코딩 시 주변 매크로 블록의 정보를 이용하는 경우가 있는데, 이를 위하여 주 제어부(미도시)로부터 주변 블록의 주소를 수신하여 실제 메모리 주소를 계산한다. CABAD sometimes uses information of neighboring macroblocks when decoding. For this purpose, the CABAD receives an address of a neighboring block from a main controller (not shown) and calculates an actual memory address.

도 6은 주변의 매크로 블록과 현재 매크로 블록과의 관계를 나타낸다. 6 shows a relationship between a neighboring macroblock and a current macroblock.

도 6을 참조하면, 현재 블록(Current)을 중심으로 주변 블록(A 및 B)이 있다. Referring to FIG. 6, neighboring blocks A and B are around a current block Current.

도 7은 본 발명에서 사용하는 주변 매크로 블록 당 저장할 정보 및 이를 저장하는 메모리 장치의 맵을 나타낸다. 7 shows information to be stored per neighboring macroblock used in the present invention and a map of a memory device storing the same.

도 7을 참조하면, 본 발명에서 사용하는 메모리 장치의 주변 매크로 블록 당 저장하는 메모리의 맵은, 32×7이다. 주변 매크로 블록에 대한 정보는, MBAFF(Macro Block Adaptive Field/Frame) 모드 인 경우에는 전체 영상 사이즈의 최대 가로 2줄의 매크로 블록 정보가 필요한 것으로 가정하였다. Referring to FIG. 7, the map of the memory to be stored per peripheral macroblock of the memory device used in the present invention is 32x7. In the case of the MBAFF (Macro Block Adaptive Field / Frame) mode, information about the neighboring macroblocks is assumed to require macroblock information of up to two lines of the entire image size.

도 8은 전체 영상 사이즈가 1920×1088인 H.264 메인 파일인 경우의 메모리 맵의 예이다. 8 is an example of a memory map in the case of an H.264 main file having a total video size of 1920 × 1088.

도 8을 참조하면, MBAFF의 경우 아래/위로 쌍을 형성하도록 맵을 형성시키는 것이 바람직하다. Referring to FIG. 8, in the case of MBAFF, it is preferable to form a map to form a pair up and down.

MBAFF 모드가 아닌 경우에는 쌍으로 표시할 필요는 없다. 실제 메모리 주소의 증가는 MBAFF 모드에 상관없이 동일하게 증가한다. If it is not in MBAFF mode, it is not necessary to display in pairs. The increase in physical memory address increases equally regardless of the MBAFF mode.

항상 현재 매크로 블록의 물리적 주소를 저장하고 있다가, 주변 매크로 블록의 물리적 주소를 계산하여야 한다. 현재 매크로 블록의 물리적 주소는 매크로 블록의 사이즈 오프셋(Size Offset) 만큼 증가한다. 주변 매크로 블록의 번호가 주어지면, 현재 매크로 블록의 번호와의 차이를 계산하고, 오프셋만큼 곱하면 주변 매크로 블록의 실제 주소를 구할 수 있다. 주소를 구했으면 32비트씩 읽어들여 레지스터에 저장한다. Always store the physical address of the current macro block, and then calculate the physical address of the surrounding macro block. The physical address of the current macro block is increased by the size offset of the macro block. Given the number of neighboring macroblocks, we can calculate the difference from the number of the current macroblock and multiply it by the offset to get the actual address of the neighboring macroblock. Once the address is obtained, 32 bits are read and stored in the register.

하나의 매크로 블록에 대한 디코딩이 완료되면 이를 저장한다. When decoding of one macro block is completed, it is stored.

이상에서와 같이 도면과 명세서에서 최적 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다. As described above, the optimum embodiment has been disclosed in the drawings and the specification. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not intended to limit the scope of the invention as defined in the claims or the claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

상술한 바와 같이 본 발명에 따른 컨텍스트 적응형 이진 산술 디코딩 (Context Adaptive Binary Arithmetic De-coding) 장치는, 영상데이터를 복원할 때 종래의 장치에 비하여 빠르고 간편하게, 복수 개의 비트를 동시에 복호화할 수 있는 장점이 있다. As described above, the Context Adaptive Binary Arithmetic De-coding apparatus according to the present invention has the advantage of being able to decode a plurality of bits simultaneously at the same time as compared with the conventional apparatus when restoring image data. There is this.

Claims (7)

현재 처리되고 있는 매크로 블록의 주변에 위치한 매크로 블록들의 신텍스 엘리먼트(Syntax Element)에 대한 정보 및 컨텍스트에 대한 정보를 저장하고 있는 메모리 장치; A memory device which stores information on syntax elements and contexts of macroblocks located around the macroblock currently being processed; 상기 메모리 장치에 저장되어 있는 상기 신텍스 엘리먼트(Syntax Element)를 읽어 저장하는 주변 매크로블록 정보장치; A peripheral macroblock information device for reading and storing the syntax element stored in the memory device; 상기 주변 매크로블록의 상기 신텍스 엘리먼트(Syntax Element)를 이용하여 컨텍스트 선택을 위한 컨텍스트 인덱스 인크리먼트를 생성하는 컨텍스트 인덱스 생성장치; A context index generator for generating a context index increment for context selection using the syntax element of the neighboring macroblock; 상기 컨텍스트를 초기화하거나 현재 사용되어야 하는 컨텍스트를 상기 매크로 블록 주변의 정보를 이용하여 상기 메모리 장치로부터 읽어 저장하고, 사용되고 있던 컨텍스트는 상기 메모리 장치에 저장시키는 컨텍스트 업데이트 장치; A context updater configured to initialize the context or read a context to be currently used from the memory device using information around the macroblock, and store the used context in the memory device; 상기 컨텍스트 인덱스 인크리먼트에 응답하여 상기 컨텍스트 업데이트 장치에 저장된 컨텍스트들 중에서 상기 신텍스 엘리먼트의 빈(bin)번호에 대응하는 컨텍스트를 선택하는 컨텍스트 선택장치; A context selection device for selecting a context corresponding to a bin number of the syntax element from among contexts stored in the context updating apparatus in response to the context index increment; 상기 컨텍스트 선택장치에서 선택된 컨텍스트를 이용하여 입력된 데이터 스트림을 디코딩하는 디코딩 엔진 블록; 및 A decoding engine block for decoding the input data stream using the context selected by the context selector; And 이미 저장된 가변 장(Variable Field) 부호화 테이블을 참조하여 상기 디코딩 된 데이터에 대응하는 심볼들을 출력하는 역 이산화 블록을 구비하는 것을 특징으로 하는 CABAD(Context Adaptive Binary Arithmetic De-coding) 장치. And an inverse discretization block for outputting symbols corresponding to the decoded data by referring to a variable field coding table which is already stored. Context Adaptive Binary Arithmetic De-coding (CABAD). 제1항에 있어서, 상기 주변 매크로블록 정보장치는, The apparatus of claim 1, wherein the peripheral macroblock information apparatus comprises: 상기 신텍스 엘리먼트(Syntax Element)를 저장하는 복수 개의 레지스터를 구비하는 것을 특징으로 하는 CABAD 장치. And a plurality of registers for storing the syntax element. 제1항에 있어서, 상기 컨텍스트 업데이트 장치는, The apparatus of claim 1, wherein the context updating apparatus comprises: 선택된 컨텍스트를 저장하는 복수 개의 레지스터를 구비하는 것을 특징으로 하는 CABAD 장치. And a plurality of registers for storing the selected context. 제1항에 있어서, 상기 디코딩 엔진 블록은, The method of claim 1, wherein the decoding engine block, 바이트 단위로 디코딩하는 것을 특징으로 하는 CABAD 장치. CABAD device characterized in that decoding on a byte basis. 제1항에 있어서, 상기 CABAD 장치는, According to claim 1, The CABAD device, 상기 컨텍스트 인덱스 생성장치, 컨텍스트 선택장치 및 역 이산화 블록을 제어하는 콘트롤러 블록을 더 구비하는 것을 특징으로 하는 CABAD 장치. And a controller block for controlling the context index generator, the context selector, and the inverse discretization block. 제5항에 있어서, 상기 콘트롤러는, The method of claim 5, wherein the controller, 초기화 조건이 인가되면, 상기 컨텍스트 업데이트 장치 및 상기 디코딩 엔진을 초기화시키는 것을 특징으로 하는 CABAD 장치. And a initialization condition is applied, wherein the context updating device and the decoding engine are initialized. 제5항에 있어서, 상기 콘트롤러는, The method of claim 5, wherein the controller, 상기 가변 장(Variable Field) 부호화 테이블을 구비하는 것을 특징으로 하는 CABAD 장치. And a variable field coding table.
KR1020050002462A 2005-01-11 2005-01-11 Context adaptive binary arithmetic de-coding device KR100674937B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050002462A KR100674937B1 (en) 2005-01-11 2005-01-11 Context adaptive binary arithmetic de-coding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050002462A KR100674937B1 (en) 2005-01-11 2005-01-11 Context adaptive binary arithmetic de-coding device

Publications (2)

Publication Number Publication Date
KR20060082199A KR20060082199A (en) 2006-07-18
KR100674937B1 true KR100674937B1 (en) 2007-01-26

Family

ID=37172954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050002462A KR100674937B1 (en) 2005-01-11 2005-01-11 Context adaptive binary arithmetic de-coding device

Country Status (1)

Country Link
KR (1) KR100674937B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1911290A4 (en) * 2005-07-08 2010-04-28 Lg Electronics Inc Method for modeling coding information of video signal for compressing/decompressing coding information
JP2009500941A (en) 2005-07-08 2009-01-08 エルジー エレクトロニクス インコーポレイティド Method for modeling video signal coding information to compress / decompress 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
KR100644713B1 (en) * 2005-10-31 2006-11-10 삼성전자주식회사 Method of decoding syntax element in cabac decoder and decoding apparatus therefor
CN107277539B (en) 2011-05-27 2020-11-06 寰发股份有限公司 Method and apparatus for reducing line cache in context adaptive entropy decoding
KR102303752B1 (en) * 2014-03-31 2021-09-17 삼성전자주식회사 Method and apparatus for implementing decoding-instruction and method and apparatus for generating decoding-instruction and medium thereof

Also Published As

Publication number Publication date
KR20060082199A (en) 2006-07-18

Similar Documents

Publication Publication Date Title
JP4295356B1 (en) Method and apparatus for encoding transform coefficients in image and / or video encoder and decoder and corresponding computer program and corresponding computer readable storage medium
US11039169B2 (en) GOLOMB-RICE/EG coding technique for CABAC in HEVC
US7385535B2 (en) Decoding system and method based on context-based adaptive binary arithmetic coding
JP6352452B2 (en) Method and apparatus for syntactic binarization and context adaptive coding in video coding
KR100612015B1 (en) Method and apparatus for Context Adaptive Binary Arithmetic coding
KR100856398B1 (en) Variable-length coding and decoding method and apparatus using plural mapping tables
JP7195251B2 (en) Method and device for context-adaptive binary arithmetic coding of sequences of binary symbols representing syntax elements associated with picture data
US7365659B1 (en) Method of context adaptive binary arithmetic coding and coding apparatus using the same
KR100717055B1 (en) Method of decoding bin values using pipeline architecture, and decoding apparatus therefor
JP2018529273A (en) Coefficient level coding in video coding
KR100674937B1 (en) Context adaptive binary arithmetic de-coding device
CN104041040A (en) Encoding of prediction residuals for lossless video coding
ES2878325T3 (en) Binary arithmetic coding with parameterized probability estimation finite state machines
CN103918273A (en) Method of determining binary codewords for transform coefficients
US11425386B2 (en) Method and apparatus for range derivation in context adaptive binary arithmetic coding
JP2015508617A5 (en)
KR20040077921A (en) Compression of palettized color images with variable length color codes
CN109417622B (en) Method and apparatus for improved significance flag decoding using simple local predictors
US20140269896A1 (en) Multi-Frame Compression
JP2008199100A (en) Device for decoding variable length code
JP2011109364A (en) Image processing apparatus
KR100686354B1 (en) Huffman decoding method and device for using variable length tree
KR101760070B1 (en) Data encoding and decoding method and apparatus
Choi et al. High throughput entropy coding in the HEVC standard
KR950035407A (en) Adaptive variable encoding and decoding method of video data and device therefor

Legal Events

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

Payment date: 20130102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 14