KR100923948B1 - 어플리케이션 특정 명령어 프로세서에 기반한 h.264cavlc 디코딩 방법 - Google Patents

어플리케이션 특정 명령어 프로세서에 기반한 h.264cavlc 디코딩 방법 Download PDF

Info

Publication number
KR100923948B1
KR100923948B1 KR1020070120942A KR20070120942A KR100923948B1 KR 100923948 B1 KR100923948 B1 KR 100923948B1 KR 1020070120942 A KR1020070120942 A KR 1020070120942A KR 20070120942 A KR20070120942 A KR 20070120942A KR 100923948 B1 KR100923948 B1 KR 100923948B1
Authority
KR
South Korea
Prior art keywords
decoding
comparison
bit streams
register
comparison bit
Prior art date
Application number
KR1020070120942A
Other languages
English (en)
Other versions
KR20090054202A (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 KR1020070120942A priority Critical patent/KR100923948B1/ko
Priority to US12/181,769 priority patent/US7646318B2/en
Publication of KR20090054202A publication Critical patent/KR20090054202A/ko
Application granted granted Critical
Publication of KR100923948B1 publication Critical patent/KR100923948B1/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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 H.264 CAVLC(Context Adaptive Variable Length Coding) 디코딩을 수행하는 방법에 관한 것으로, 특히 어플리케이션 특정 명령어 프로세서(Application-Specific Instruction-set Processor, 이하 "ASIP"라 칭함) 를 이용하여 디코딩을 수행하는 H.264 CAVLC 디코딩 방법에 관한 것이다. 본 발명에 따른 어플리케이션 특정 명령어 프로세서에 기반한 H.264 CAVLC 디코딩 방법은 디코딩 계수에 관한 테이블에 기반하여 복수의 비교 비트열들을 결정하는 단계; 상기 복수의 비교 비트열들의 길이를 제 1 레지스터에 저장하는 단계; 상기 복수의 비교 비트열들의 코드 값을 제 2 레지스터에 저장하는 단계; 상기 복수의 비교 비트열들의 길이 및 코드 값에 기반하여 입력 비트 스트림과 상기 복수의 비교 비트열들을 비교하는 단계; 및 상기 입력 비트 스트림 및 상기 복수의 비교 비트열들의 비교 결과에 따라 상기 디코딩 계수 값을 결정하는 단계로 구성된다. 본 발명은 별도의 메모리 엑세스없이 ASIP의 내부 레지스터를 사용하여 디코딩 계수를 추출함으로써, 메모리 엑세스에 따른 속도 저하를 감소시켜 H.264 디코더의 디코딩 속도를 향상시킬 수 있다.
H.264, CAVLC, 디코딩, ASIP

Description

어플리케이션 특정 명령어 프로세서에 기반한 H.264 CAVLC 디코딩 방법{H.264 CAVLC Decoding Method based on Application-Specific Instruction-set Processor}
본 발명은 H.264 CAVLC(Context Adaptive Variable Length Coding) 디코딩을 수행하는 방법에 관한 것으로, 특히 어플리케이션 특정 명령어 프로세서(Application-Specific Instruction-set Processor, 이하 "ASIP"라 칭함) 를 이용하여 디코딩을 수행하는 H.264 CAVLC 디코딩 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-026-01, 과제명: MPCore 플랫폼 기반 다중 포맷 멀티미디어 SoC].
H.264 표준은 효율적이고 안정적인 인코딩을 제공하고 사각형 비디오 화면의 전송을 지원하기 위해 설계된 새로운 동영상 압축 표준으로서, 높은 압축률과 전송에 있어서의 높은 신뢰성으로 인해 현재 전세계에서 차세대 동영상 압축 기술로 평 가받고 있다. 특히, H.264 표준은 위성 DMB 등의 차세대 서비스와 접목되어 고화질의 영상압축, 인터넷 또는 케이블 모뎀을 통한 영상전송, 디지털 데이터 방송 및 차세대 휴대전화 등에서 다양하게 응용될 수 있을 것으로 기대되고 있다.
H.264의 코딩 방식은 크게 CAVLC(Context Adaptive Variable Length Coding)와 CABAC(Context-Based Adaptive Arithmetic Coding)로 구분되며, 현재 H.264 Baseline Profile에서는 CAVLC를 사용하고 있으며, Main Profile에서는 CAVLC 및 CABAC를 모두 사용하고 있다.
CAVLC 디코딩은 크게 3 단계로 구분될 수 있다. 우선, 4×4 블록에 대하여 TrailingOnes 및 TotalCoefficient의 값을 구하여 전체적인 4×4 블록의 모양을 예측하고, 두번째로 TotalZero 값을 구한다. 마지막으로 Run_Before 값을 계산하여 인코딩 이전의 4×4 블록 데이터를 복원한다.
한편, ASIP은 집적회로의 고성능과 범용 프로세서의 유연성이 결합된 프로그램 가능 프로세서로서, ASIP의 유연성은 단일 칩 상에 VC-1, H.264 및 MPEG 등과 같은 다양한 비디오 코덱을 지원하는 것을 가능하게 한다. 이에 따라, ASIP는 고성능의 처리율 및 계산량을 요구하는 차세대 비디오 표준의 구현을 위한 효과적인 해결책으로서 주목받고 있다.
그러나, 종래의 CAVLC 디코딩 방법은 대부분 소프트웨어 또는 하드웨어로 H.264 디코더를 구현함에 있어서 복수의 CAVLC 테이블에 대한 효율적인 탐색 및 효율적인 메모리 액세스에 관한 것으로서, 이러한 방법들은 메모리 액세스에 따른 디코딩 속도 저하가 여전히 존재하는 단점이 있다. 또한, 종래의 CAVLC 디코딩 방법 은 소프트웨어 및 하드웨어가 통합적으로 구현되는 ASIP를 이용하여 CAVLC 디코딩을 수행하는 경우에 적합하지 못하다는 단점이 있다.
본 발명에서 해결하고자 하는 과제는, 별도의 메모리 엑세스 없이 CAVLC 디코딩에서 사용되는 계수들을 추출할 수 있고 ASIP를 이용하는 CAVLC 디코딩에 적합한 CAVLC 디코딩 방법을 제공하는 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 측면은 디코딩 계수에 관한 테이블에 기반하여 복수의 비교 비트열들을 결정하는 단계; 상기 복수의 비교 비트열들의 길이를 제 1 레지스터에 저장하는 단계; 상기 복수의 비교 비트열들의 코드 값을 제 2 레지스터에 저장하는 단계; 상기 복수의 비교 비트열들의 길이 및 코드 값에 기반하여 입력 비트 스트림과 상기 복수의 비교 비트열들을 비교하는 단계; 및 상기 입력 비트 스트림 및 상기 복수의 비교 비트열들의 비교 결과에 따라 상기 디코딩 계수 값을 결정하는 단계를 포함하는 어플리케이션 특정 명령어 프로세서에 기반한 H.264 CAVLC 디코딩 방법을 제공한다.
본 발명은 별도의 메모리 엑세스없이 ASIP의 내부 레지스터를 사용하여 디코딩 계수를 추출함으로써, 메모리 엑세스에 따른 속도 저하를 감소시켜 H.264 디코더의 디코딩 속도를 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 CAVLC 디코딩 방법이 수행되는 환경을 나타내는 개념도이다.
도 1을 참조하면, ASIP(130)는 Run_Before 값을 디코딩하기 위한 명령어인 drb(decoding run_before)를 포함한다. CAVLC 디코딩을 수행하는 어플리케이션 프로그램(110)은 실행중에 Run_Before 값을 구하기 위해 어셈블리 함수 drb_asm을 호출하여 ASIP(130)에 포함된 drb 명령어를 수행한다. 이러한 어플리케이션 프로그램(110)을 구현하는 C 코드의 어셈블리 함수 drb_asm은 ASIP에 특화된 컴파일러(120)를 통해 ASIP(130)의 drb 명령어와 매핑될 수 있다.
도 2는 H.264 표준에 기재된 Run_Before 테이블을 나타내는 도면이다.
도 2를 참조하면, Run_Before 값은 같은 비트열(Bit string)에 대해서도 ZerosLeft 값에 따라 각각 다르게 결정되는 컨텍스트 적응 특성(Context adaptiveness)을 가진다. 따라서, Run_Before 값을 추출하기 위해서는 디코더에 입력되는 입력 비트 스트림(Input bit stream)뿐만 아니라 ZerosLeft 값도 함께 고려되어야 한다.
한편, VLC(Variable Length Coding)에 기반하여 인코딩된 비트열은 (Length, Code)와 같이 비트열의 길이 및 코드 값의 쌍으로 표현될 수 있다. 예를 들어, ZerosLeft > 6 에서 Run_Before 값이 8로 결정되는 비트열인 “00001”은 (5, 1)로 표현될 수 있다.
도 3은 본 발명의 일 실시예에 따른 CAVLC 디코딩 방법에서 ASIP 내부에 선언한 RUN_LEN 레지스터 및 RUN_COD 레지스터의 포맷을 나타내는 도면이다.
도 3을 참조하면, RUN_LEN 레지스터 및 RUN_COD 레지스터는 각각 ZerosLeft 값에 따라 선택되는 Run_Before 테이블의 열(Column)을 구성하는 비트열들의 길이와 코드 값을 저장한다.
예를 들어, ZerosLeft > 6인 경우 0 내지 14의 Run_Before 값에 대응하는 비트열들을 (Length, Code)로 표현하면 다음과 같다.
Run_Before 0 1 2 ... 13 14
(Length,Code) (3,7) (3,6) (3,5) ... (10,1) (11,1)
상기 (Length, Code)에 포함된 Length 값 및 Code 값은 15를 넘지 않으므로, 0 내지 14의 Run_Before 값에 대응하는 비트열들의 Length 값 및 Code 값은 각각 RUN_LEN 레지스터 및 RUN_COD 레지스터에 4비트 단위로 순서대로 저장된다. 다시 말해, Run_Before 값 0에 대응하는 비트열의 Length 값 3 및 Code 값 7은 각각 RUN_LEN 레지스터 및 RUN_COD 레지스터의 가장 상위 4비트에 저장되고, 이하 Run_Before이 1에서 14로 증가함에 따라 각각의 Run_Before 값에 대응하는 비트열의 Length 값 및 Code 값은 다음의 4비트에 차례대로 저장된다. 또한, Length 값 및 Code 값의 저장 후 남는 나머지 4비트 구간은 각각 0을 저장하여 비트열에 대한 정보가 존재하지 않는 구간임을 표시한다.
Run_Before를 추출하는 과정에 있어서, ASIP는 상기와 같은 포멧에 따라 저장된 Length 값 및 Code 값에 기반하여 입력 비트 스트림과 비트열의 비교를 수행하고, 입력 비트 스트림에서 비교 비트열이 검색된 경우 해당 비트열에 대응하는 Run_Before 값을 CAVLC 디코딩을 수행하기 위한 디코딩 계수로 선택할 수 있다. 따라서, CAVLC 디코딩 어플리케이션 프로그램은 별도의 메모리 엑세스 없이 ASIP를 이용하여 Run_Before 값을 추출함으로써 메모리 엑세스에 따른 CAVLC 디코딩의 속도 저하를 방지할 수 있다.
도 1 내지 3을 통해 CAVLC 디코딩에 사용되는 모든 디코딩 계수 중 Run_Before를 예로 하였나, TrailingOnes, TotalCoefficient 및 TotalZero 등의 디코딩 계수에도 동일한 방법이 적용될 수 있다. 즉, 각각의 TrailingOnes, TotalCoefficient 및 TotalZero에 대한 테이블에서 소정 조건에 따라 선택된 해당 비트열들의 길이 및 코드 값을 상기 포멧에 따라 각각 RUN_LEN 레지스터 및 RUN_COD 레지스터에 저장하고, 레지스터에 저장된 길이 및 코드 값을 이용하여 입력 비트 스트림과 비트열을 비교함으로써 효율적으로 해당 디코딩 계수를 추출할 수 있다.
도 4는 본 발명의 일 실시예에 따른 CAVLC 디코딩 방법의 과정을 설명하기 위한 순서도이다.
도 4를 참조하면, ASIP는 CAVLC 디코딩에서 사용되는 디코딩 계수에 대한 테이블에서 소정 조건에 따라 입력 비트 스트림과 비교할 비트열들을 결정하고(401), 결정된 비교 비트열들의 길이 및 코드 값을 계산한다(402). 이 때, CAVLC 디코딩에서 사용되는 디코딩 계수는 TrailingOnes, TotalCoefficient, TotalZero 및 Run_Before를 포함한다. 일 실시예에서, 디코딩 계수가 Run_Before인 경우 ZerosLeft 값에 따라 Run_Before 테이블의 열이 결정되고, 상기 열에 포함된 비트 열들이 입력 비트 스트림과 비교할 비교 비트열들로 결정된다.
다음으로, 결정된 비교 비트열들의 길이를 제 1 레지스터에 저장하고(403), 비교 비트열들의 코드 값을 제 2 레지스터에 저장한다(404). 이 때, 비교 비트열에 대응하는 디코딩 계수 값의 오름차순 또는 내림차순에 따라 비교 비트열의 길이 및 코드 값을 레지스터에 저장함으로써, 이후 비교과정에서 ASIP가 비트열이 저장된 레지스터의 주소를 통해 디코딩 계수의 값을 계산하도록 할 수 있다.
저장이 완료되면, ASIP는 제 1 레지스터 및 제 2 레지스터에 저장된 비교 비트열들의 길이 및 코드 값에 기반하여 입력 비트 스트림과 비교 비트열의 비교를 수행한다(405). 일 실시예에서, ASIP는 비교 비트열의 길이에 대응하는 입력 비트 스트림의 상위 비트를 비교 비트열의 코드 값과 비교함으로써 효과적으로 상기 비교단계를 수행할 수 있다.
비교 결과 입력 비트 스트림에서 비교 비트열이 검색되면, ASIP는 해당 비트열이 저장된 레지스터 주소에 기반하여 디코딩 계수 값을 결정한다(406). 예를 들어, 도 3에서 0 내지 14의 Run_Before 값은 레지스터 주소 15 내지 1과 대응하는 바, 레지스터 주소 i에 위치하는 비교 비트열이 입력 비트 스트림에서 검색되는 경우 Run_Before 값은 15 - i 로 결정될 수 있다.
도 5a는 본 발명의 일 실시예에 따른 CAVLC 디코딩 방법을 구현하는 ASIP 명령어의 LISA 코드를 나타내는 도면이고, 도 5b는 도 4a의 ASIP 명령어를 사용하는 어플리케이션 프로그램을 구현하는 C 코드의 실시예를 나타내는 도면이다.
도 5a를 참조하면, Run_Before 값을 추출하는 drd 명령어의 LISA(Language for Instruction-set Architecture) 코드는 ZerosLeft의 값에 따라 해당 비트열들의 길이 및 코드 값을 64 비트의 RUN_LEN 레지스터 및 RUN_COD 레지스터에 저장한다.
다음으로, 탐색 알고리즘(Search algorithm)은 RUN_LEN 레지스터 및 RUN_COD 레지스터에 저장된 데이터를 (60-(i<<2)), 즉 (60-(i*4)) 비트씩 오른쪽으로 시프트하고 이를 16진수 0xf로 마스킹하여 tab_len 및 tab_code에 저장한다. 따라서, i가 증가함에 따라 RUN_LEN 레지스터 및 RUN_COD 레지스터에 저장된 상위 4비트의 값들이 차례대로 tab_len 및 tab_code에 저장되고, tab_len 및 tab_code는 도 3의 레지스터 포멧에 따라 Run_Before 값이 i인 경우에 대응하는 비트열의 길이 및 코드 값을 의미한다. 어플리케이션 프로그램으로부터 전달받은 입력 비트 스트림이 저장된 code가 (32-tab_len) 비트씩 오른쪽으로 시프트되어 temp_code에 저장되고, 이는 입력 비트 스트림의 상위 tab_len 비트가 temp_code에 저장되는 것을 의미한다. tab_code와 temp_code가 일치하는 경우 tab_len 및 해당 비트열에 대응하는 Run_Before 값, 즉 i가 결과로 출력된다. 상기 LISA 코드는 CoWare사의 Processor Designer를 사용하여 ASIP를 모델링한 코드이며, 컴파일러는 CoSy Express 설계 툴을 사용하였다.
도 5b를 참조하면, 어플리케이션 프로그램을 구현하는 C 코드는 Run_Before 값을 구하기 위하여 asm int drd_asm 함수를 호출하여 ASIP의 drd 명령어를 수행한다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
도 1은 본 발명의 일 실시예에 따른 CAVLC 디코딩 방법이 수행되는 환경을 나타내는 개념도이다.
도 2는 H.264 표준에 기재된 Run_Before 테이블을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 CAVLC 디코딩 방법에서 ASIP 내부에 선언한 RUN_LEN 레지스터 및 RUN_COD 레지스터의 포맷을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 CAVLC 디코딩 방법의 과정을 설명하기 위한 순서도이다.
도 5a는 본 발명의 일 실시예에 따른 CAVLC 디코딩 방법을 구현하는 ASIP 명령어의 LISA 코드를 나타내는 도면이고, 도 5b는 도 4a의 ASIP 명령어를 사용하는 어플리케이션 프로그램을 구현하는 C 코드의 실시예를 나타내는 도면이다.

Claims (6)

  1. 어플리케이션 특정 명령어 프로세서를 이용하여 H.264 CAVLC 디코딩을 수행하는 방법에 있어서,
    디코딩 계수에 관한 테이블에 기반하여 복수의 비교 비트열들을 결정하는 단계;
    상기 복수의 비교 비트열들의 길이 및 코드 값을 계산하는 단계
    상기 복수의 비교 비트열들의 길이를 제 1 레지스터에 저장하는 단계;
    상기 복수의 비교 비트열들의 코드 값을 제 2 레지스터에 저장하는 단계;
    상기 복수의 비교 비트열들의 길이 및 코드 값에 기반하여 입력 비트 스트림과 상기 복수의 비교 비트열들을 비교하는 단계; 및
    상기 입력 비트 스트림 및 상기 복수의 비교 비트열들의 비교 결과에 따라 상기 디코딩 계수 값을 결정하는 단계
    를 포함하는 어플리케이션 특정 명령어 프로세서에 기반한 H.264 CAVLC 디코딩 방법.
  2. 삭제
  3. 제 1항에 있어서,
    상기 복수의 비교 비트열들의 길이 및 코드 값은 비교 비트열에 대응하는 디코딩 계수 값의 오름차순 또는 내림차순으로 상기 제 1 레지스터 및 상기 제 2 레지스터에 각각 저장되는 어플리케이션 특정 명령어 프로세서에 기반한 H.264 CAVLC 디코딩 방법.
  4. 제 1항에 있어서,
    상기 복수의 비교 비트열들의 길이 및 코드 값에 기반하여 입력 비트 스트림과 상기 복수의 비교 비트열들을 비교하는 단계는 상기 복수의 비교 비트열들의 길이에 대응하는 상기 입력 비트 스트림의 상위 비트를 상기 복수의 비교 비트열들의 코드 값과 비교하는 어플리케이션 특정 명령어 프로세서에 기반한 H.264 CAVLC 디코딩 방법.
  5. 제 1항에 있어서,
    상기 입력 비트 스트림 및 상기 복수의 비교 비트열들의 비교 결과에 따라 상기 디코딩 계수 값을 결정하는 단계는 상기 복수의 비교 비트열들이 저장된 상기 제 1 레지스터 및 상기 제 2 레지스터의 주소에 기반하여 상기 디코딩 계수 값을 계산하는 어플리케이션 특정 명령어 프로세서에 기반한 H.264 CAVLC 디코딩 방법.
  6. 제 1항에 있어서,
    상기 디코딩 계수는 TrailingOnes, TotalCoefficient, TotalZero 및 Run_Before를 포함하는 어플리케이션 특정 명령어 프로세서에 기반한 H.264 CAVLC 디코딩 방법.
KR1020070120942A 2007-11-26 2007-11-26 어플리케이션 특정 명령어 프로세서에 기반한 h.264cavlc 디코딩 방법 KR100923948B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070120942A KR100923948B1 (ko) 2007-11-26 2007-11-26 어플리케이션 특정 명령어 프로세서에 기반한 h.264cavlc 디코딩 방법
US12/181,769 US7646318B2 (en) 2007-11-26 2008-07-29 H.264 CAVLC decoding method based on application-specific instruction-set processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070120942A KR100923948B1 (ko) 2007-11-26 2007-11-26 어플리케이션 특정 명령어 프로세서에 기반한 h.264cavlc 디코딩 방법

Publications (2)

Publication Number Publication Date
KR20090054202A KR20090054202A (ko) 2009-05-29
KR100923948B1 true KR100923948B1 (ko) 2009-10-29

Family

ID=40670751

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070120942A KR100923948B1 (ko) 2007-11-26 2007-11-26 어플리케이션 특정 명령어 프로세서에 기반한 h.264cavlc 디코딩 방법

Country Status (2)

Country Link
US (1) US7646318B2 (ko)
KR (1) KR100923948B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009043918A2 (en) * 2007-10-02 2009-04-09 Interuniversitair Microelectronica Centrum Vzw An asip architecture for decoding at least two decoding methods
US8687702B2 (en) * 2008-10-27 2014-04-01 Advanced Micro Devices, Inc. Remote transmission and display of video data using standard H.264-based video codecs
KR101136858B1 (ko) * 2010-03-16 2012-04-20 (주)에어로매스터 동영상 압축 표준에서의 인코딩 장치 및 방법
CN109189477B (zh) * 2018-06-27 2021-09-28 北京中科睿芯科技集团有限公司 一种面向多上下文粗粒度数据流结构的指令发射控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100601602B1 (ko) * 1999-03-24 2006-07-14 삼성전자주식회사 비트스트림 디코딩 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100959532B1 (ko) * 2003-12-18 2010-05-27 엘지전자 주식회사 Cavlc 복호 방법
US20050135681A1 (en) * 2003-12-22 2005-06-23 Schirmer Andrew L. Methods and systems for preventing inadvertent transmission of electronic messages
KR100776195B1 (ko) 2005-08-09 2007-11-16 (주)씨앤에스 테크놀로지 빠른 cavlc를 위한 h.264 디코딩 방법
KR100753282B1 (ko) 2005-12-28 2007-08-29 엘지전자 주식회사 Cavlc 디코딩을 위한 vlc 테이블 선택방법 및 그cavlc 디코딩방법
KR100813877B1 (ko) * 2006-05-11 2008-03-18 전자부품연구원 효율적인 h.264/avc cavlc 디코딩 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100601602B1 (ko) * 1999-03-24 2006-07-14 삼성전자주식회사 비트스트림 디코딩 장치

Also Published As

Publication number Publication date
US7646318B2 (en) 2010-01-12
US20090138684A1 (en) 2009-05-28
KR20090054202A (ko) 2009-05-29

Similar Documents

Publication Publication Date Title
US7769088B2 (en) Context adaptive binary arithmetic code decoding engine
US7411529B2 (en) Method of decoding bin values using pipeline architecture and decoding device therefor
US20080046698A1 (en) Run Length Encoding in VLIW Architecture
TWI360956B (en) Cabac decoding apparatus and decoding method there
US20110310966A1 (en) Syntax element decoding
WO2003085981A1 (en) Programmable variable-length decoder
JP2003218703A (ja) データ符号化装置及びデータ復号装置
KR100923948B1 (ko) 어플리케이션 특정 명령어 프로세서에 기반한 h.264cavlc 디코딩 방법
US6546053B1 (en) System and method for decoding signal and method of generating lookup table for using in signal decoding process
Nikara et al. Multiple-symbol parallel decoding for variable length codes
US7714753B2 (en) Scalable context adaptive binary arithmetic coding
US7928868B1 (en) Entropy decoding device
US20050007264A1 (en) Programmable variable-length decoder
US7205915B2 (en) Method of decoding variable length prefix codes
US7567189B2 (en) Variable length code decoding apparatus and variable length code decoding method
US20010030615A1 (en) Variable length decoding system and method
JP2006157157A (ja) 可変長符号復号化装置及び可変長符号復号化方法
KR20050010918A (ko) 가변길이 복호화를 위한 방법 및 시스템, 및 코드워드들의지역화를 위한 장치
JP4013680B2 (ja) 復号装置および復号方法
KR20030016859A (ko) 허프만 부호의 복호화 방법
CN101707484B (zh) 一种适合硬件实现的快速指数哥伦布码解码方法
KR100982666B1 (ko) 컨텍스트 기반 적응적 가변길이 코딩의 디코딩 장치 및 디코딩을 위한 테이블 탐색 방법
Kumaki et al. CAM-based VLSI architecture for Huffman coding with real-time optimization of the code word table [image coding example]
JP2001007706A (ja) 可変長符号復号化装置
Wang et al. Transformed HCT for parallel Huffman decoding

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130923

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee