KR100576548B1 - 문맥기반 적응 가변길이 복호화 장치 및 그 방법 - Google Patents

문맥기반 적응 가변길이 복호화 장치 및 그 방법 Download PDF

Info

Publication number
KR100576548B1
KR100576548B1 KR1020030097388A KR20030097388A KR100576548B1 KR 100576548 B1 KR100576548 B1 KR 100576548B1 KR 1020030097388 A KR1020030097388 A KR 1020030097388A KR 20030097388 A KR20030097388 A KR 20030097388A KR 100576548 B1 KR100576548 B1 KR 100576548B1
Authority
KR
South Korea
Prior art keywords
code
address
storage means
context
data
Prior art date
Application number
KR1020030097388A
Other languages
English (en)
Other versions
KR20050066142A (ko
Inventor
김승철
조한진
박성모
이미영
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020030097388A priority Critical patent/KR100576548B1/ko
Publication of KR20050066142A publication Critical patent/KR20050066142A/ko
Application granted granted Critical
Publication of KR100576548B1 publication Critical patent/KR100576548B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]

Landscapes

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

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은, 문맥기반 적응 가변길이 복호화 장치 및 그 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 문맥기반 적응 가변길이 복호를 위해 특정 압축규격에 정의된 테이블을 일치할 확률이 높도록 지그-재그 순서로 읽어 부호 길이 테이블, 부호 코드 테이블 및 인덱스 테이블을 새로 구성하고, 이를 이용하여 하나의 블록에 대해서 특정 계수의 개수와 연속된 특정 비트의 개수를 디코딩하는, 문맥기반 적응 가변길이 복호화 장치 및 그 방법을 제공하는데 그 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은, 문맥기반 적응 가변길이 복호화 장치에 있어서, 특정 압축규격에 정의된 부호 길이 테이블을 지그-재그 순서로 읽어 다수개의 부호 길이를 하나의 메모리 주소에 저장하고 있는 부호 길이 테이블 저장수단; 상기 특정 압축규격에 정의된 부호 코드 테이블을 지그-재그 순서로 읽어 다수개의 부호 코드 데이터를 하나의 메모리 주소에 저장하고 있는 부호 코드 테이블 저장수단; 상기 문맥기반 적응 가변길이 복호를 위한 특정 계수의 개수 및 연속한 특정 비트의 개수로 구성되는 다수의 인덱스 데이터를 하나의 메모리 주소에 저장하고 있는 인덱스 테이블 저장수단; 상기 부호 길이 테이블 저장수단, 상기 부호 코드 테이블 저장수단 및 상기 인덱스 테이블 저장수단을 액세스하기 위하여 어드레스를 생성하기 위한 어드 레스 생성수단; 및 상기 어드레스 생성수단에서 생성한 어드레스를 이용하여 상기 부호 길이 테이블 저장수단으로부터 전달받은 부호 길이로 자른 입력 비트스트림 데이터를 상기 부호 코드 테이블 저장수단으로부터 전달받은 부호 코드 데이터와 비교하여 일치하는 부호 코드 데이터에 대한 특정 계수의 개수 및 연속한 특정 비트의 개수를 상기 인덱스 테이블 저장수단으로부터 출력하도록 하기 위한 비교수단을 포함함.
4. 발명의 중요한 용도
본 발명은 문맥기반 적응 가변길이 복호기 등에 이용됨.
부호 길이 테이블, 부호 코드 테이블, 인덱스 테이블, 지그-재그(Zig-Zag) 순서, 문맥기반 적응 가변길이 복호

Description

문맥기반 적응 가변길이 복호화 장치 및 그 방법{Apparatus and Method of Context-based Adaptive Variable Length Decoding}
도 1 은 H.264/MPEG4-AVC 에 정의된 부호 길이 테이블의 일실시예 설명도,
도 2 는 H.264/MPEG4-AVC 에 정의된 부호 코드 테이블의 일실시예 설명도,
도 3 은 본 발명에 따른 H.264/MPEG4-AVC 문맥기반 적응 가변길이 복호화 장치의 일실시예 구성도,
도 4 는 본 발명에 따른 인덱스 테이블의 일실시예 설명도,
도 5 는 본 발명에 따른 메모리에 저장하는 방법에 대한 일실시예 설명도,
도 6 은 본 발명에 따른 H.264/MPEG4-AVC 문맥기반 적응 가변길이 복호화 방법에 대한 일실시예 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명
301 : 부호 길이 테이블 메모리 302 : 부호 코드 테이블 메모리
303 : 어드레스 생성기 304 내지 307 : 라이트 쉬프터
308 내지 311 : 비교기 312 : 인덱스 테이블 메모리
본 발명은 문맥기반 적응 가변길이 복호화 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 문맥기반 적응 가변길이 복호를 위해 특정 압축규격에 정의된 테이블을 일치할 확률이 높도록 지그-재그 순서로 읽어 부호 길이 테이블, 부호 코드 테이블 및 인덱스 테이블을 새로 구성하고, 이를 이용하여 하나의 블록에 대해서 특정 계수의 개수와 연속된 특정 비트의 개수를 디코딩하는, 문맥기반 적응 가변길이 복호화 장치 및 그 방법에 관한 것이다.
이하의 본 발명의 일실시예에서는 특정 압축규격으로서 H.264/MPEG4-AVC 압축규격을 예로 들어 설명하기로 한다.
H.264 또는 엠팩4-고급비디오코덱(MPEG4-AVC : Moving Picture Experts Group 4-Advanced Video Codec, 이하 'MPEG4-AVC'라 한다.)은 384kbps의 대역폭으로 디지털 TV의 표준화면(SD)에는 미치지 못하지만, 이동 단말기에서 아날로그 비디오테이프(VHS)급 화질을 구현할 수 있는 최첨단 압축규격이다.
또한, 상기 H.264/MPEG4-AVC는 국제표준화기구(ISO) 산하의 동영상전문가그룹(MPEG)과 국제전기통신연합 표준화부문(ITU-T)이 공동으로 구성한 작업반(JVT: Joint Video Team)이 2003년 3 월 국제표준 최종안(FDIS)으로 채택하였다. H.264는 기존의 MPEG4(파트2) 규격보다 20~50% 정도 압축 효율이 높으며, 지상파 디지털 방송에 적용한 MPEG2보다 최고 18배까지 압축 효율이 높은 것으로 알려져 있다.
한편, 문맥기반 적응 가변길이 부호화 기술은, 인접한 블록에 대한 부호화 결과를 참조하여 미리 정해진 여러개의 부호 테이블들 중 적절한 테이블을 선택하고, 선택된 부호 테이블을 현재 블록에 대한 부호화 과정에 활용함으로써 높은 압축 효율을 얻을 수 있는 기술로서, 현재 H.264/MPEG4-AVC 표준 규격에 동영상 압축/복원을 위한 부호화기로 정의되어 있다.
가변길이 복호라는 것은, 하나의 단위 의미를 갖는 비트열의 길이가 일정하지 않은 심볼(“10010111.....”)로부터 그 의미를 해석하는 것을 말한다. 예를 들어, 20은 '011', 200은 '1011101'과 같은 상관 관계를 미리 테이블에 작성해 놓고, '011'이 입력되면 20의 의미를 갖는다는 것을 해석하는 것이다.
그러나, '011'과 '1011101'을 붙여놓으면 '0111011101'이 되는데, 이렇게 되면 두 심볼의 경계를 알 수가 없으므로 '0', '01', '011', '0111'... 와 같은 식으로 하나 하나 테이블과 비교하면서 찾아야 한다.
즉, 입력 비트스트림의 길이가 일정하지 않기 때문에 순서대로 테이블과 비교해야 한다는 문제점이 있다.
일반적으로, 블록은 이미지 화면으로서 수평(Horizon) x 수직(Vertical) 픽셀(pixels)의 2 차원으로 되어 있다. H.264 표준에서 정의하는 블록이란 (가로 x 세로) 픽셀이 4 x 4 픽셀인 2 차원 단위 이미지 데이터를 말한다.
예를 들어, 176 x 144 크기의 화면은 총 44 x 36 개의 작은 블록들로 구성된다. H.264의 영상 압축/복원 과정은 블록 단위로 적용된다.
H.264 문맥 적응 가변길이 부호화/복호화는 정의된 알고리즘에 따라 블록 단위로 부호화/복호화하는 것을 말한다. 블록 하나를 디코딩하기 위해서는 많은 과정 을 수행해야한다.
H.264 에서는 입력 비트스트림(하나의 블록)의 디코딩을 위해 2가지의 테이블을 제공한다. 그 중 하나는 '20' 또는 '30'에 해당하는 정보를 가지고 있는 부호 코드 테이블이고, 다른 하나는 비트열의 길이 정보를 가지고 있는 부호 길이 테이블이다.
도 1 은 H.264/MPEG4-AVC 에 정의된 부호 길이 테이블의 일실시예 설명도이다.
도 1 에 도시된 바와 같이, 부호 길이 테이블은, 예측한 '0'이 아닌 계수의 개수(nnz)(11), 연속된 '1'의 개수(ones)(12) 및 실제 '0'이 아닌 계수의 개수(coef)(13)에 따라 H.264/MPEG4-AVC 에서 정의된 부호 길이 데이터를 가지고 있다.
도 2 는 H.264/MPEG4-AVC 에 정의된 부호 코드 테이블의 일실시예 설명도이다.
도 2 에 도시된 바와 같이, 부호 코드 테이블은, 예측한 '0'이 아닌 계수의 개수(nnz)(21), 연속된 '1'의 개수(ones)(22) 및 실제 '0'이 아닌 계수의 개수(coef)(23)에 따라 H.264/MPEG4-AVC 에서 정의된 부호 코드 데이터를 가지고 있다.
즉, 상기 부호 길이 테이블로부터 비트열의 길이 정보를 가져와서, 그 값(비트열 길이)만큼의 길이로 비트열을 잘라내어 그 값을 심볼 테이블의 값과 비교하여 같으면 해당 심볼에 대한 디코딩이 완료되는 것이다. 즉, 부호 길이 테이블의 N 번 째 주소에서 부호 길이 정보를 가져와서, 이를 이용하여 입력 비트스트림의 앞부분에서부터 시작하여 해당하는 길이 만큼 비트열을 잘라내고, 부호 코드 테이블의 N 번째 주소(부호 길이 테이블의 주소와 같음)에서 부호 코드 데이터를 가져와 비트열과 비교한다. 이때 N 의 값은 기본적으로 0 부터 시작한다.
그런데, 디코딩하는 과정 중, '0'이 아닌 계수의 개수(Total_coeff) 및 연속된 '±1'의 개수(Trailing_ones)(예 : "0, 1, -1, 1, 0" 에서 '±1'의 개수는 3 이 된다.)를 구하는 부분이 심볼을 디코딩하는 다른 과정에 비하여 시간을 가장 많이 소비한다는 문제점이 있다.
본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, 문맥기반 적응 가변길이 복호를 위해 특정 압축규격에 정의된 테이블을 일치할 확률이 높도록 지그-재그 순서로 읽어 부호 길이 테이블, 부호 코드 테이블 및 인덱스 테이블을 새로 구성하고, 이를 이용하여 하나의 블록에 대해서 특정 계수의 개수와 연속된 특정 비트의 개수를 디코딩하는, 문맥기반 적응 가변길이 복호화 장치 및 그 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 장치는, 문맥기반 적응 가변길이 복호화 장치에 있어서, 특정 압축규격에 정의된 부호 길이 테이블을 지그-재그 순서로 읽어 다수개의 부호 길이를 하나의 메모리 주소에 저장하고 있는 부호 길이 테이블 저장수단; 상기 특정 압축규격에 정의된 부호 코드 테이블을 지그-재그 순서로 읽어 다수개의 부호 코드 데이터를 하나의 메모리 주소에 저장하고 있는 부호 코드 테이블 저장수단; 상기 문맥기반 적응 가변길이 복호를 위한 특정 계수의 개수 및 연속한 특정 비트의 개수로 구성되는 다수의 인덱스 데이터를 하나의 메모리 주소에 저장하고 있는 인덱스 테이블 저장수단; 상기 부호 길이 테이블 저장수단, 상기 부호 코드 테이블 저장수단 및 상기 인덱스 테이블 저장수단을 액세스하기 위하여 어드레스를 생성하기 위한 어드레스 생성수단; 및 상기 어드레스 생성수단에서 생성한 어드레스를 이용하여 상기 부호 길이 테이블 저장수단으로부터 전달받은 부호 길이로 자른 입력 비트스트림 데이터를 상기 부호 코드 테이블 저장수단으로부터 전달받은 부호 코드 데이터와 비교하여 일치하는 부호 코드 데이터에 대한 특정 계수의 개수 및 연속한 특정 비트의 개수를 상기 인덱스 테이블 저장수단으로부터 출력하도록 하기 위한 비교수단을 포함한다.
한편, 본 발명의 방법은, 문맥기반 적응 가변길이 복호화 방법에 있어서, 어드레스 생성기가 부호 길이 테이블 메모리와 부호 코드 테이블 메모리를 액세스하기 위한 코드 어드레스를 생성하는 어드레스 생성 단계; 비교기가 상기 어드레스 생성기에서 생성한 어드레스에 해당하는 상기 부호 길이 테이블 메모리로부터 전달받은 부호 길이로 자른 입력 비트스트림 데이터와 상기 부호 코드 테이블 메모리로부터 전달받은 부호 코드 데이터를 비교하는 데이터 비교 단계; 및 상기 부호 코드 데이터와 상기 입력 비트스트림 데이터가 일치함에 따라 상기 코드 어드레스에 해 당하는 인덱스 테이블 메모리를 액세스하여 인덱스 데이터를 특정 계수의 개수 및 연속한 특정 비트의 개수로 구분하여 출력하는 출력 단계를 포함한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 3 은 본 발명에 따른 H.264/MPEG4-AVC 문맥기반 적응 가변길이 복호화 장치의 일실시예 구성도이다.
도 3 에 도시된 바와 같이, 본 발명에 따른 H.264/MPEG4-AVC 문맥기반 적응 가변길이 복호화 장치는, 부호 길이 테이블 메모리(301), 부호 코드 테이블 메모리(302), 어드레스 생성기(303), 다수의 라이트 쉬프터(Right Shifter)(304 내지 307), 다수의 비교기(308 내지 311) 및 인덱스 테이블 메모리(312)를 포함한다.
상기 문맥기반 적응 가변길이 복호화 장치에 입력되는 비트스트림 데이터는 16비트이다.
상기 각 구성요소에 대하여 자세히 살펴보면 다음과 같다.
상기 부호 길이 테이블 메모리(301)는 동시에 4가지에 대한 비교가 가능하도록 테이블 메모리의 각 5비트(메모리에 저장된 값이 도 1 에 도시된 바와 같이, 최소 0, 최대 16)씩 4개의 부호 길이 정보를 동시에 읽어온다. 비교 결과, 일치하는 데이터가 없을 경우에 읽기 인에이블(read enable) 신호가 활성화('0'일때 활성화 상태)된다.
즉, 상기 부호 길이 테이블 메모리(301)는 도 1 의 부호 길이 테이블의 부호 길이 정보 4개를 하나의 메모리 주소에 저장하며, 도 1 의 부호 길이 테이블의 부호 길이 정보를 읽어오는 순서는 지그-재그(Zig-Zag) 방식이다. 상기 부호 길이 테이블 메모리(301)의 어드레스 포트는 7비트이고, 데이터는 20비트로 구성된다.
상기 부호 코드 테이블 메모리(302)는 동시에 4가지에 대한 비교가 가능하도록 테이블 메모리의 각 4비트(메모리에 저장된 값이 도 2 에 도시된 바와 같이, 최소 0, 최대 15)씩 4개의 부호 코드 값을 동시에 읽어온다. 비교 결과, 일치하는 데이터가 없을 경우에 읽기 인에이블(read enable) 신호가 활성화('0'일때 활성화 상태)된다.
즉, 상기 부호 코드 테이블 메모리(302)는 도 2 의 부호 코드 테이블의 부호 코드 데이터 4개를 하나의 메모리 주소에 저장하며, 도 2 의 부호 코드 테이블의 부호 코드 데이터를 읽어오는 순서는 지그-재그(Zig-Zag) 방식이다. 상기 부호 코드 테이블 메모리(302)의 어드레스 포트는 7비트이고, 데이터는 16비트로 구성된다.
예측한 '0'이 아닌 계수의 개수(nnz)가 0인 경우 상기 부호 길이 테이블 메모리(301) 및 상기 부호 코드 테이블 메모리(302)의 코드 어드레스(addr_c)의 값은 0부터 17까지 1씩 증가하며, 예측한 '0'이 아닌 계수의 개수(nnz)가 1인 경우 코드 어드레스(addr_c)의 값은 32부터 49까지 1씩 증가하며, 예측한 '0'이 아닌 계수의 개수(nnz)가 2인 경우 코드 어드레스(addr_c)의 값은 64부터 81까지 1 씩 증가한다.
상기 어드레스 생성기(Address Generator)(303)는 7비트의 코드 어드레스(addr_c)를 생성한다. 다수의 비교기(308 내지 311)의 비교 결과들의 논리합(OR)(313)이 '0'이면 일치하는 데이터가 없음을 의미하므로, 코드 어드레스(addr_c)를 증가시켜 새로운 부호 길이 정보 및 부호 코드 데이터를 다시 읽어와서 비교한다.
상기 다수의 라이트 쉬프터(Right Shifter)(304 내지 307)는 입력받은 비트스트림(16비트)에 대하여, (16 - '부호 길이값')만큼 오른쪽으로 쉬프트시킨 후에 하위 4비트를 출력한다.
상기 다수의 비교기(308 내지 311)는 상기 다수의 라이트 쉬프터(Right Shifter)(303 내지 307)의 출력(4비트)과 상기 부호 코드 테이블 메모리(302)로부터 읽어온 부호 코드 데이터(4비트)를 비교한다. 상기 다수의 비교기(308 내지 311)는 상기 다수의 라이트 쉬프터(304 내지 307)의 출력과 부호 코드 데이터가 일치하면 '1'을 출력하고, 일치하지 않으면 '0'을 출력한다.
상기 다수의 비교기(308 내지 311)에서의 비교 결과, 일치하는 데이터가 있는 경우에 각 출력 결과의 논리합(OR)(313)은 '1'이 되고, 그에 대한 인버터(314) 출력이 '0'(읽기 인에이블, '0'일때 활성 상태)으로 활성화되어 인덱스 테이블 메모리(312)로부터 데이터가 출력된다.
상기 인덱스 테이블 메모리(312)의 인덱스 어드레스는 비교기(308 내지 311)에서의 라이트 쉬프터(304 내지 307)의 출력과 부호 코드가 일치하는 경우에 부호 길이 테이블 메모리(301) 및 부호 코드 테이블 메모리(302)를 액세스한 코드 어드레스의 하위 5비트이다. 상기 인덱스 테이블 메모리(312)의 출력 데이터는 7비트씩 4개인 28비트로 구성되며, 먹스(MUX)(315)를 통해 유효한 7비트를 선택하여 최종적으로 출력한다.
즉, 상기 인덱스 테이블 메모리(312)는 도 1 및 도 2 에서의 5비트의 실제 '0'이 아닌 계수의 개수(coef) 인덱스와 2비트의 연속된 '1'의 개수(ones) 인덱스를 합하여 7비트인 인덱스 데이터 4개를 하나의 메모리 주소에 저장한다. 상기 인덱스 테이블 메모리(312)의 어드레스 포트는 5비트이고, 데이터는 7비트로 구성된다.
도 4 는 본 발명에 따른 인덱스 테이블의 일실시예 설명도이다.
도 4 에 도시된 바와 같이, 인덱스 테이블은, '0'이 아닌 계수의 개수(Total_coeff)(41)와 연속된 '1'의 개수(Trailing_ones)(42)를 인덱스 데이터로 가지고 있다.
상기 인덱스 테이블에서 '0'이 아닌 계수의 개수(Total_coeff)와 연속된 '1'의 개수(Trailing_ones)에 대한 최종 복호 결과는 각각 0~16과 0~3 이다. 도 1 의 부호 길이 테이블과 도 2 의 부호 코드 테이블을 지그-재그 순서에 따라 액세스하므로 그에 상응하는 인덱스 데이터(0~16, 0~3) 또한 불규칙적이다. 따라서, 인덱스 테이블 메모리(312)를 추가하여 인덱스 정보만을 저장하여 참조한다.
도 5 는 본 발명에 따른 부호 길이 테이블, 부호 코드 테이블 및 인덱스 테이블의 내용을 메모리에 저장하는 방법에 대한 일실시예 설명도이다.
도 5 에 도시된 화살표(51)와 같은 지그-재그(Zig-Zag) 순서에 따라 도 1 의 부호 길이 테이블, 도 2 의 부호 코드 테이블 및 도 4 의 인덱스 테이블을 읽어서 부호 길이 테이블 메모리(301), 부호 코드 테이블 메모리(302) 및 인덱스 테이블 메모리(312)에 저장하여, 입력 비트스트림 데이터와 비교하여 일치하는 부호 코드에 대한 '0'이 아닌 계수의 개수(Total_coff)와 연속된 '1'의 개수(Trailing_ones)를 빠르게 찾을 수 있도록 한다.
도 6 은 본 발명에 따른 H.264/MPEG4-AVC 문맥기반 적응 가변길이 복호화 방법에 대한 일실시예 흐름도이다.
먼저, 어드레스 생성기(303)가 부호 길이 테이블 메모리(301)와 부호 코드 테이블 메모리(302)를 액세스하기 위한 7비트의 코드 어드레스(addr_c)를 생성한다(601).
이후, 라이트 쉬프터(304 내지 307)가 상기 어드레스 생성기(303)에서 생성한 코드 어드레스에 해당하는 5비트의 부호 길이를 상기 부호 길이 테이블 메모리(301)로부터 전달받고, 비교기(308 내지 311)가 상기 코드 어드레스에 해당하는 4비트의 부호 코드 데이터를 상기 부호 코드 테이블 메모리(302)로부터 전달받는다(602).
이후, 상기 라이트 쉬프터(304 내지 307)는 16비트의 입력 비트스트림 데이터를 (16 - '부호 길이값')만큼 우측으로 쉬프트시킨 후에 하위 4비트를 출력하고(603), 상기 비교기(308 내지 311)는 상기 라이트 쉬프터(304 내지 307)로부터 전달받은 상기 4비트의 입력 비트스트림 데이터와 상기 4비트의 부호 코드 데이터를 비교하여(604), 일치하는지를 판단한다(605).
상기 판단 결과(605), 상기 4비트 입력 비트스트림 데이터와 상기 부호 코드 데이터가 일치하면, 상기 코드 어드레스의 하위 5비트를 인덱스 어드레스로 사용하여 인덱스 테이블 메모리(312)로부터의 7비트 인덱스 데이터를 상위 5비트의 '0'이 아닌 계수의 개수(Total_coeff) 및 하위 2비트의 연속한 '1'의 개수(Trailing_ones)로 구분하여 출력하도록 한다(606).
한편, 상기 판단 결과(605), 상기 4비트 입력 비트스트림 데이터와 상기 부호 코드 데이터가 일치하지 않으면, "601" 과정으로 진행하여 새로운 어드레스를 생성하여 상기 입력 비트스트림 데이터와 비교하는 과정을 반복한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같은 본 발명은, 문맥기반 적응 가변길이 복호를 위해 특정 압축규격에 정의된 테이블을 일치할 확률이 높도록 지그-재그 순서로 읽어 부호 길이 테이블, 부호 코드 테이블 및 인덱스 테이블을 새로 구성하고, 이를 이용하여 하나의 블록에 대해서 특정 계수의 개수와 연속된 특정 비트의 개수를 디코딩함으로써, 부호 코드 검색 시간을 단축하여 전체적인 디코딩 성능을 향상시킬 수 있는 효과가 있다.
또한, 본 발명은 문맥기반 적응 가변길이 복호를 위해 특정 압축규격에 정의 된 테이블을 지그-재그(Zig-Zag) 방식으로 읽어 다수개의 부호 길이 및 부호 코드 데이터를 하나의 메모리 주소에 저장하여 동시에 다수개씩 비교함으로써, 디코딩에 소요되는 시간을 줄일 수 있는 효과가 있다.

Claims (2)

  1. 문맥기반 적응 가변길이 복호화 장치에 있어서,
    특정 압축규격에 정의된 부호 길이 테이블을 지그-재그 순서로 읽어 다수개의 부호 길이를 하나의 메모리 주소에 저장하고 있는 부호 길이 테이블 저장수단;
    상기 특정 압축규격에 정의된 부호 코드 테이블을 지그-재그 순서로 읽어 다수개의 부호 코드 데이터를 하나의 메모리 주소에 저장하고 있는 부호 코드 테이블 저장수단;
    상기 문맥기반 적응 가변길이 복호를 위한 특정 계수의 개수 및 연속한 특정 비트의 개수로 구성되는 다수의 인덱스 데이터를 하나의 메모리 주소에 저장하고 있는 인덱스 테이블 저장수단;
    상기 부호 길이 테이블 저장수단, 상기 부호 코드 테이블 저장수단 및 상기 인덱스 테이블 저장수단을 액세스하기 위하여 어드레스를 생성하기 위한 어드레스 생성수단; 및
    상기 어드레스 생성수단에서 생성한 어드레스를 이용하여 상기 부호 길이 테이블 저장수단으로부터 전달받은 부호 길이로 자른 입력 비트스트림 데이터를 상기 부호 코드 테이블 저장수단으로부터 전달받은 부호 코드 데이터와 비교하여 일치하는 부호 코드 데이터에 대한 특정 계수의 개수 및 연속한 특정 비트의 개수를 상기 인덱스 테이블 저장수단으로부터 출력하도록 하기 위한 비교수단
    을 포함하는 문맥기반 적응 가변길이 복호화 장치.
  2. 문맥기반 적응 가변길이 복호화 방법에 있어서,
    어드레스 생성기가 부호 길이 테이블 메모리와 부호 코드 테이블 메모리를 액세스하기 위한 코드 어드레스를 생성하는 어드레스 생성 단계;
    비교기가 상기 어드레스 생성기에서 생성한 어드레스에 해당하는 상기 부호 길이 테이블 메모리로부터 전달받은 부호 길이로 자른 입력 비트스트림 데이터와 상기 부호 코드 테이블 메모리로부터 전달받은 부호 코드 데이터를 비교하는 데이터 비교 단계; 및
    상기 부호 코드 데이터와 상기 입력 비트스트림 데이터가 일치함에 따라 상기 코드 어드레스에 해당하는 인덱스 테이블 메모리를 액세스하여 인덱스 데이터를 특정 계수의 개수 및 연속한 특정 비트의 개수로 구분하여 출력하는 출력 단계
    를 포함하는 문맥기반 적응 가변길이 복호화 방법.
KR1020030097388A 2003-12-26 2003-12-26 문맥기반 적응 가변길이 복호화 장치 및 그 방법 KR100576548B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030097388A KR100576548B1 (ko) 2003-12-26 2003-12-26 문맥기반 적응 가변길이 복호화 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030097388A KR100576548B1 (ko) 2003-12-26 2003-12-26 문맥기반 적응 가변길이 복호화 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20050066142A KR20050066142A (ko) 2005-06-30
KR100576548B1 true KR100576548B1 (ko) 2006-05-03

Family

ID=37257252

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030097388A KR100576548B1 (ko) 2003-12-26 2003-12-26 문맥기반 적응 가변길이 복호화 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100576548B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100561869B1 (ko) * 2004-03-10 2006-03-17 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
WO2007011116A1 (en) 2005-07-20 2007-01-25 Humax Co., Ltd. Encoder and decoder
KR100718190B1 (ko) 2005-12-27 2007-05-16 남종현 피부 미백용 화장료 조성물, 이를 이용한 미용팩 및 이의 제조방법
KR20070018751A (ko) * 2006-12-27 2007-02-14 주식회사 휴맥스 동영상 인코딩/디코딩 장치 및 방법

Also Published As

Publication number Publication date
KR20050066142A (ko) 2005-06-30

Similar Documents

Publication Publication Date Title
US10356412B2 (en) Variable length coding method and variable length decoding method
JP4878262B2 (ja) エントロピー符号化装置
US8422809B2 (en) Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image encoding program, and image decoding program
EP2465268B1 (en) Method and apparatus for encoding and decoding mode information
US6008745A (en) Variable length decoding using lookup tables
US7411529B2 (en) Method of decoding bin values using pipeline architecture and decoding device therefor
US20110249755A1 (en) Moving image coding method, moving image decoding method, moving image coding apparatus, moving image decoding apparatus, program, and integrated circuit
US20060071831A1 (en) Variable length coding method and variable length decoding method
US7924926B2 (en) Video bit stream decoding system and method used in a video decoding apparatus
US5550542A (en) Variable length code look-up table having separate code length determination
US5541595A (en) Variable length code decoder for simultaneous decoding the most significant bits and the least significant bits of a variable length code
US6414608B1 (en) Variable length code decoding device, digital broadcast receiving apparatus, and DVD reproducing apparatus
JP4785706B2 (ja) 復号装置及び復号方法
KR102051015B1 (ko) 산술 인코딩 또는 산술 디코딩 방법 및 장치
US6546053B1 (en) System and method for decoding signal and method of generating lookup table for using in signal decoding process
US6121905A (en) Method and apparatus for decoding JPEG symbols
US7205915B2 (en) Method of decoding variable length prefix codes
US11431978B2 (en) Video decoding method and video decoding device for improving decoding efficiency
KR100576548B1 (ko) 문맥기반 적응 가변길이 복호화 장치 및 그 방법
JP4502384B2 (ja) 可変長符号復号化装置及び可変長符号復号化方法
US7262718B2 (en) Variable length decoder and variable length decoding method
KR100982666B1 (ko) 컨텍스트 기반 적응적 가변길이 코딩의 디코딩 장치 및 디코딩을 위한 테이블 탐색 방법
CN113141505B (zh) 一种视频数据编码方法以及装置
JP4607638B2 (ja) 可変長復号装置及び方法
KR100975063B1 (ko) 가변 길이 부호화된 비트스트림을 복호화하기 위한 장치및 그 방법과 이를 구현하기 위한 프로그램이 기록된 기록매체

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130325

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee