KR100776195B1 - 빠른 cavlc를 위한 h.264 디코딩 방법 - Google Patents

빠른 cavlc를 위한 h.264 디코딩 방법 Download PDF

Info

Publication number
KR100776195B1
KR100776195B1 KR20050072817A KR20050072817A KR100776195B1 KR 100776195 B1 KR100776195 B1 KR 100776195B1 KR 20050072817 A KR20050072817 A KR 20050072817A KR 20050072817 A KR20050072817 A KR 20050072817A KR 100776195 B1 KR100776195 B1 KR 100776195B1
Authority
KR
South Korea
Prior art keywords
bit
cavlc
value
index
obtaining
Prior art date
Application number
KR20050072817A
Other languages
English (en)
Other versions
KR20070018292A (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 KR20050072817A priority Critical patent/KR100776195B1/ko
Priority to US11/301,227 priority patent/US7539346B2/en
Priority to JP2005365069A priority patent/JP4153519B2/ja
Priority to CNB2006100028002A priority patent/CN100539701C/zh
Publication of KR20070018292A publication Critical patent/KR20070018292A/ko
Application granted granted Critical
Publication of KR100776195B1 publication Critical patent/KR100776195B1/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/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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

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

본 발명은 빠른 CAVLC를 위한 H.264 디코딩 방법에 관한 것으로, 특히 압축효율이 뛰어난 디코더를 저주파수 설계가 가능하도록 CAVLC 블록을 최소시간으로 계수값을 구하기 위해 여러 개의 테이블을 효율적이고 빠르게 찾는 방법에 관한 것이다.
본 발명의 빠른 CAVLC를 위한 H.264 디코딩 방법은 CAVLC를 위한 H.264 디코딩 방법에 있어서, 1 번째 입력된 비트인 '0'으로부터 최초의 '1'인 Fix Index 비트 앞까지의 '0'의 개수를 구하여 Row Index의 값을 구하는 제1단계; 상기 Row Index와 Fix Index를 제외한 비트열을 나타내는 Column Index의 값을 구하는 제2단계; 및 상기 Row Index의 값과 Column Index의 값에 대응하는 전체 계수의 값과 T1s(Trailing_ones)의 값을 구하는 제3단계;를 포함하는 것을 특징으로 한다.
CAVLC, H.264, 디코딩

Description

빠른 CAVLC를 위한 H.264 디코딩 방법{The H.264 decoding method for fast cavlc}
도 1은 종래의 H.264의 Num-VLCO에 대한 테이블이다.
도 2는 본 발명의 빠른 CAVLC 스트림 구조를 나타낸 도면이다.
도 3은 본 발명의 빠른 서치 Num-VLC0 테이블을 나타낸 도면이다.
도 4는 본 발명의 Leading Zero를 구하는 1가지 예를 나타낸 도면이다.
도 5는 본 발명의 빠른 CAVLC를 수행하기 위하여 도 1을 변형한 테이블이다.
도 6은 H.264의 Num-VLC1에 대한 테이블이다.
도 7은 본 발명의 빠른 CAVLC를 수행하기 위하여 도 6을 변형한 테이블이다.
도 8은 H.264의 Num-VLC2에 대한 테이블이다.
도 9는 본 발명의 빠른 CAVLC를 수행하기 위하여 도 8을 변형한 테이블이다.
도 10은 H.264의 ChromaDC Num-VLC에 대한 테이블이다.
도 11은 본 발명의 빠른 CAVLC를 수행하기 위하여 도 10을 변형한 테이블이다.
도 12는 본 발명의 전체 계수와 T1s를 구하기 위한 전체 블록도이다.
본 발명은 빠른 CAVLC를 위한 H.264 디코딩 방법에 관한 것으로, 특히 압축효율이 뛰어난 디코더를 저주파수 설계가 가능하도록 CAVLC 블록을 최소시간으로 계수값을 구하기 위해 여러 개의 테이블을 효율적이고 빠르게 찾는 방법에 관한 것이다.
초고속 인터넷 시대에는 일반 가입자 전화선과 IP 네트워크를 이용한 VOD 방식을 이용하는데, HDTV의 경우에는 4~6Mbps급을 이용하여 시험 서비스를 실시하고 있다. 앞으로는 26Mbps의 VDSL이 보급됨에 따라 HDTV 방송의 전송용량인 19.3Mpbs인 점을 감안하면 통신망의 한계선이 없어지게 된다.
최근에는 방송과 통신의 구분이 모호한 디지털 멀티미디어 방송(DMB)이 부상하고 있다. 각각은 이미 고속 광대역 멀티미디어 정보서비스를 가장 빠르고 저렴하게 제공할 수 있는 매체가 되고 있다.
H.264의 코딩방식은 크게 CAVLC와 CABAC로 분류된다. 현재, H.264 Baseline과 X Profile에서는 CAVLC를 사용하고 있으며, Main Profile에서는 CAVLC와 CABAC를 모두 사용하고 있다.
CAVLC는 크게 4단계로 진행하여 계수값을 구할 수 있다. 1 번째는 T1s (Trailing_ones)와 전체 계수(Total coefficient)를 구하여 전체적인 4 ×4 블록의 모양을 예측하고, 2 번째는 레벨값을 구하며, 3 번째는 전체 제로(total zero)의 값을 구한다. 또한, 4 번째는 Run_before를 구하여 실질적인 계수값을 얻을 수 있 다.
도 1은 종래의 H.264의 Num-VLCO에 대한 테이블이다. CAVLC 구현에 있어 많은 양의 계산값이 요구되는 부분을 살펴보면, CAVLC의 1 번째 단계인 T1s와 전체 계수를 구하기 위해서 입력으로 들어오는 비트스트림을 비교하여 테이블과 일치하는 위치를 찾는다. H.264에는 T1s와 전체 계수를 구하기 위한 테이블이 총 4개 존재하며, 도 1은 이 중에서 하나를 나타낸 것이다.
일반적으로, CAVLC를 소프트웨어로 처리하거나 일반적인 CAVLC 하드웨어에서 처리하면 다음과 같은 예를 통하여 파라미터를 축출하여야 할 것이다.
현재, 디코더 입력으로 비트열이 "00000000011100......"으로 입력된다고 가정하자. H.264 표준에서 전체 계수를 구하는 테이블 중에서 도 1이 선택되었다면( 테이블의 선택은 주변의 매크로 블록의 전체 계수의 개수로 결정한다.), 도 1에 구성된 테이블의 비트열의 종류는 총 62개이다. 상기 예의 비트열을 도 1의 테이블의 비트열과 비교를 수행해야 한다. 소프트웨어 처리시에 한 비트씩 시프트를 수행하여 비교하면, 하드웨어 처리시에도 많은 비교를 수행해야 한다. 더 개선된 방법은 입력된 비트열의 '0'의 개수를 파악하기 위하여 카운터(counter)를 수행한 후에 Leading Zero(상기 예에서는 '0'의 개수는 9)의 개수를 파악하면, 도 1에서 Leading Zero와 개수가 일치하는 비트열을 찾는다. 찾은 비트열은 대부분 복수 개 가 존재하고, 상기 '0'을 제외한 나머지 비트를 일치시켜 일치한 결과값 위치에 T1's와 전체 계수를 구한다.
'0'의 개수를 파악하기 위해서는 루틴하게 비트를 시프트시키면서 비트가 '1'이 나올 때까지 지속적으로 카운터를 수행함으로써 전체의 '0'의 개수를 파악하는데 있어 소요시간이 많이 걸리며, 파악된 0의 개수를 테이블을 서치(search)하기 위하여 계산량 및 소요시간이 많이 걸린다. 상기와 같이 일반적인 방법으로 테이블의 서치를 수행하고 패턴(pattern)을 일치시키면, 많은 양의 계산 및 많은 시간이 소요되며 전체적인 H.264 디코더의 성능증가의 요인이 되는 문제점이 있다.
이에 본 발명은 상기 문제점을 해결하기 위한 것으로써, 압축효율이 뛰어난 디코더를 저주파수 설계가 가능하도록 CAVLC 블록을 최소시간으로 계수값을 구하기 위해 여러 개의 테이블을 효율적이고 빠르게 찾는 방법을 제공하는 것을 목적으로 한다.
삭제
본 발명의 일 실시예에 따른 CAVLC를 위한 H.264 디코딩 방법은 1 번째 입력된 비트인 '0'으로부터 최초의 '1'인 Fix Index 비트 앞까지의 '0'의 개수를 구하여 Row Index의 값을 구하는 단계와, 상기 Row Index와 Fix Index를 제외한 비트열을 나타내는 Column Index의 값을 구하는 단계 및 상기 Row Index의 값과 Column Index의 값에 대응하는 전체 계수의 값과 T1s(Trailing_ones)의 값을 구하는 제3단계를 포함한다.
이하, 본 발명의 실시예에 대한 구성 및 그 작용을 첨부한 도면을 참조하면서 상세히 설명하기로 한다.
도 2는 본 발명의 빠른 CAVLC 스트림 구조를 나타낸 도면이다. H.264 CAVLC의 입력 비트열을 분석하여 나타낸 것인데, 본 발명에서는 이를 이용하여 도 1의 전체 계수(Total coefficient)와 T1s(Trailing_ones)를 구하는 테이블을 도 5와 같이 빠른 테이블로 변경하였다. 다음에서 빠른 CAVLC를 수행하기 위해서 입력 비트열 형식과 빠른 테이블에 대하여 설명하기로 한다.
도 2를 참조하면 입력 비트열의 형식은 크게 3가지 종류로 분류된다. 1 번째는 Row Index이고, 2 번째는 Fix Index이며, 3 번째는 Column Index이다. 1 번째 Row Index는 1 번째로 입력된 비트인 '0'으로부터 최초의 '1'의 비트 앞까지의 비트열이다. 이때, Row Index의 값은 1 번째 비트부터 '1'이 나오기 바로 직전까지의 '0'의 개수의 값으로 정의한다. 도 1에서 각각의 비트열을 상세히 살펴보면, 2 번째 Fix Index는 '0'을 포함한 비트열에서 1개 이상의 '1'을 포함하고 있으며, 상기의 경우를 제외하면 비트열이 한 비트의 비트열이 된다. 결국, 모든 H.264 CAVLC 입력 비트열은 1개 이상의 '1'을 포함하고 있다. 3 번째는 Column Index이다. 1 번째의 Row Index와 2번째의 Fix Index를 제외한 비트열을 나타내고 있다. 상기와 같이 구성하면, 도 1의 테이블을 도 3 및 도 5와 같이 구성할 수 있으며, 이를 상세히 설명하면 다음과 같다.
도 3은 본 발명의 빠른 서치 Num-VLC0 테이블을 나타낸 도면이다.
도 3에서는 Row Index를 제외하고 나올 수 있는 모든 비트열이 Leading Zero(1 번째 비트부터 '1'이 나오기 바로 직전까지의 '0'의 개수의 값으로 정의한다.)의 개수에 따라 도 1을 기반으로 정리되었다. Row Index에서 나온 Leading Zero의 값이 11개 라고 가정하면, Row Index를 제외한 Fix Index와 Column Index 의 비트열은 총 8가지 비트열('1000', '1001', '1010', '1011', '1100', '1101', '1110', '1111')이 존재한다. 이것은 도 1에서 Leading Zero의 개수가 11개일 때의 값을 추적해 보면 알 수 있다. 상기와 같이 Leading Zero에 따라 총 8가지의 비트열을 나타낸 것이 도 3의 테이블이다.
더 상세히 살펴보면, 8가지 비트열의 1 번째 비트는 항상 '1'의 값을 갖는 Fix Index이고, 나머지 부분의 비트열은 '0'부터 '7'까지의 값을 순차적으로 가진다. 순차적으로 갖는 값이 도 3의 Column Index가 된다. 결론적으로, 도 5에서 Row Index의 값은 Leading Zero의 값이 되며, Column Index의 값은 Leading Zero와 Fix Index를 제외한 값이다. 도 5에서 Row Index와 Column Index의 위치의 테이블을 참조해 보면, 전체 계수와 T1s값이 존재하는데 이를 이용하여 CAVLC를 수행하면 된다.
예를 들어, '0000011101...'이 입력으로 들어오는 비트열을 가지고 전체 계수와 T1s값을 구하여 본다. 1 번째로 Leading Zero의 개수를 구한다. Leading Zero의 개수는 '5'이다. Leading Zero의 개수가 '5'이면 뒤에 나오는 비트열의 비트수는 3개가 된다. 상기 예에서 3개의 비트수는 '111'이 된다. 이 비트열 중에서 Fix Index의 '1'을 삭제하면 '11'이 된다. 결국, 도 3에서 Row Index의 값은 Leading Zero의 개수인 '5'가 되고, Column Index의 값은 '11'이 이진수 값이므로 '3'이 되어 도 5에서 전체 계수의 값은 '2'가 되며, T1s의 값은 '0'이 된다.
도 4는 본 발명의 Leading Zero를 구하는 1가지 예를 나타낸 도면이다. H.264 디코딩 수행시에는 CAVLC 처리 블록이 H.264의 다른 블럭(IDCT, INTRA Prediction...)보다 많은 처리시간이 소요된다. 그러므로, H.264 디코딩 성능을 높이기 위해서는 약간의 하드웨어 복잡성은 증가하더라도 짧은 시간 내에 CAVLC 결과값을 얻는 것이 H.264 디코더 측면에서는 더 효율적이다. Leading Zero를 구하는 것은 도 3의 Row Index의 값을 구하기 위한 것이다. Leading Zero를 구하기 위한 일반적인 방법은 입력으로 전송되는 1 번째 비트부터 '0'인지 또는 '1'인지를 판단하고, 비트열을 다시 시프트하여 다음 비트가 '0'인지 또는 '1'인지를 판단한여 Leading Zero의 값을 구할 수 있다. 종래기술인 도 1에서 Leading Zero의 값은 최대 15개의 비트를 가지고 있다. 그러므로, 본 발명에서는 입력 비트열 중에서 1 번째 비트부터 15 번째 비트까지의 비트열의 Leading Zero의 값을 구하면 된다. 최대 비트열을 선택하는 방법을 테이블마다 구분해 보면 다음과 같다.
도 5는 본 발명의 빠른 CAVLC를 수행하기 위하여 도 1을 변형한 테이블이고, 도 6은 H.264의 Num-VLC1에 대한 테이블이다. 그리고, 도 7은 본 발명의 빠른 CAVLC를 수행하기 위하여 도 6을 변형한 테이블이고, 도 8은 H.264의 Num-VLC2에 대한 테이블이다. 또한, 도 9는 본 발명의 빠른 CAVLC를 수행하기 위하여 도 8을 변형한 테이블이고, 도 10은 H.264의 ChromaDC Num-VLC에 대한 테이블이다. 또한, 도 11은 본 발명의 빠른 CAVLC를 수행하기 위하여 도 10을 변형한 테이블이다.
도 5, 도 7, 도 9 및 도 11에서 Row Index의 마지막 값을 보면, 현재의 테이블이 최대로 몇 개의 Leading Zero를 가질 수 있는가를 알 수 있다. 도 5에서는 Leading Zero의 개수가 최대 14개이고, 도 7에서는 Leading Zero의 개수가 최대 12 개이며, 도 9에서는 Leading Zero의 개수가 최대 9개이며, 도 11에서는 Leading Zero의 개수가 최대 7개이다. 도 5, 도 7, 도 9 및 도 11의 테이블 중에서 어떤 것을 선택할 것인가는 현재 CAVLC를 수행할 매크로 블록을 기준으로 상기 매크로 블록과 왼쪽 매크로 블록 계수의 개수로 결정한다. 결론적으로, 도 5의 테이블을 참조해 보면 입력된 비트열 중에서 15개까지의 비트가 올 수 있으며, 도 7의 테이블을 참조하면 입력된 비트열 중에서 13개까지의 비트가 올 수 있다. 또한, 도 9가 선택되면 최대의 비트열은 10개이고, 도 11이 선택되면 최대의 비트열은 8개이다. 상기와 같이 최대의 비트열만큼의 비트의 수를 가지고 아래와 같이 Leading Zero를 구한다. 다음의 예는 도 5의 테이블 참조시의 예이다.
도 4를 참조하면, 15개의 비트(0 번째 비트에서 14 번째 비트)를 2개의 비트열로 나눈다. 2개의 비트열로 나누는 것은 도 4에 도시된 바와 같이 중심을 기준으로 2개의 비트열로 분할한다. 1 번째 비트열은 0 번째 비트부터 7 번째 비트까지의 비트열이다. 2 번째 비트열은 8 번째 비트부터 14 번째 비트까지의 비트열이다. 먼저, 0 번째 비트부터 7 번째 비트까지의 합을 구하거나 '0'보다 큰 지를 아닌 지를 비교한다. 또한, 8 번째 비트부터 14 번째 비트까지의 합을 구하거나 0보다 큰 지 아닌 지를 비교한다. 만약, 0 번째 비트부터 7 번째 비트까지의 합이 '0'보다 크거나 '0'과 비교한 값이 '0'보다 크면 1 번째 비트열 중에 '1'이 포함되어 있으므로 1 번째 비트열을 가지고 Leading Zero를 구하면 된다. 결국, 8 번째 비트부터 14 번째까지의 비트열은 무시한다. 만약, 0 번째 비트부터 7 번째 비트까지의 합이 '0'이거나 '0'과 비교한 값이 '0'이면 8 번째 비트부터 14 번째까지의 비트열을 가지고 Leading Zero의 비트를 구한다. 상기와 같이 1개의 비트열이 결정되면 상기와 같이 동일한 방법으로 2개로 나뉘게 되며, 상기 방법으로 연속적으로 수행하면 도 3과 같이 Leading Zero의 값을 가진다.
마찬가지 방식으로 도 7과 같은 경우에는 입력된 비트열 중에서 13개의 비트를 중심을 기준으로 2개의 비트열로 분할하고, 도 9와 같은 경우에는 입력된 비트열 중에서 10개의 비트를 중심을 기준으로 2개의 비트열로 분할하고, 도 11과 같은 경우에는 입력된 비트열 중에서 8개의 비트를 중심을 기준으로 2개의 비트열로 분할하는 방식으로 Leading Zero 값을 구할 수 있다.
도 12는 본 발명의 전체 계수와 T1s를 구하기 위한 전체 블록도이다. 현재의 입력으로 들어오는 비트열은 Row Index 블록, Fix Index 블록 및 Column Index 블록으로 나누어진다. 또한, 도 5, 도 7, 도 9 및 도 11의 테이블을 내부 메모리인 Rom 테이블에 각각 할당하여 저장한다. 비트열의 결과값을 이용하여 Row Index와 Column Index를 구하여 Rom 테이블에 대입하면, 전체 계수와 T1s를 얻을 수 있다.
이상에서 설명한 내용을 통해 본 업에 종사하는 당업자라면 본 발명의 기술사상을 이탈하지 아니하는 범위 내에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용만으로 한정되는 것이 아니라 특허청구범위에 의하여 정해져야 한다.
이상에서와 같이 본 발명에 의한 빠른 CAVLC를 위한 H.264 디코딩 방법은 각각의 블록을 계산하는 시간을 최소화하고, 하드웨어 복잡성을 최소화하여 저주파수에서 최대의 성능을 발휘할 수 있다. 또한, 기존의 테이블을 변형하고, 입력 비트열을 의미있는 비트열로 나누어 H.264 디코더의 성능을 극대화함으로써 CAVLC의 계산시간을 최소화할 수 있다.

Claims (8)

  1. CAVLC를 위한 H.264 디코딩 방법에 있어서,
    1 번째 입력된 비트인 '0'으로부터 최초의 '1'인 Fix Index 비트 앞까지의 '0'의 개수를 구하여 Row Index의 값을 구하는 제1단계;
    상기 Row Index와 Fix Index를 제외한 비트열을 나타내는 Column Index의 값을 구하는 제2단계; 및
    상기 Row Index의 값과 Column Index의 값에 대응하는 전체 계수의 값과 T1s(Trailing_ones)의 값을 구하는 제3단계;
    를 포함하는 빠른 CAVLC를 위한 H.264 디코딩 방법.
  2. 청구항 1에 있어서,
    상기 제1단계는
    1 번째 비트가 '0'인지 아닌지 판단하는 A단계;
    상기 A단계에서 1 번째 비트가 '0'이 아니면 Row Index의 값을 0으로 정하고, 1 번째 비트가 '0'이면 2 번째 비트로 시프트(shift)하는 B단계;
    상기 B단계에서 2 번째 비트가 '0'인지 아닌지 판단하는 C단계;
    상기 C단계에서 2 번째 비트가 '0'이 아니면 Row Index의 값을 1로 정하고, 2 번째 비트가 '0'이면 3 번째 비트로 시프트하는 D단계; 및
    상기와 같은 방법으로 계속하여 n 번째 비트가 '0'이 아니면 Row Index의 값을 n-1로 정하고, n번째 비트가 '0'이면 n+1 번째 비트로 시프트하는 E단계;
    를 포함하는 빠른 CAVLC를 위한 H.264 디코딩 방법.
  3. 청구항 1에 있어서,
    상기 제1단계에서 입력 비트열을 최대 15개로 끊어 15개의 비트를 중심을 기준으로 2개의 비트열로 분할하여 '0'의 개수를 구하는 것을 특징으로 하는 빠른 CAVLC를 위한 H.264 디코딩 방법.
  4. 청구항 1에 있어서,
    상기 제1단계에서 입력 비트열을 최대 13개로 끊어 13개의 비트를 중심을 기준으로 2개의 비트열로 분할하여 '0'의 개수를 구하는 것을 특징으로 하는 빠른 CAVLC를 위한 H.264 디코딩 방법.
  5. 청구항 1에 있어서,
    상기 제1단계에서 입력 비트열을 최대 10개로 끊어 10개의 비트를 중심을 기준으로 2개의 비트열로 분할하여 '0'의 개수를 구하는 것을 특징으로 하는 빠른 CAVLC를 위한 H.264 디코딩 방법.
  6. 청구항 1에 있어서,
    상기 제1단계에서 입력 비트열을 최대 8개로 끊어 8개의 비트를 중심을 기준으로 2개의 비트열로 분할하여 '0'의 개수를 구하는 것을 특징으로 하는 빠른 CAVLC를 위한 H.264 디코딩 방법.
  7. 청구항 3, 청구항 4, 청구항 5 또는 청구항 6 중의 어느 하나의 항에 있어서,
    상기 '0'의 개수를 구하는 것은 2개의 비트열의 합을 수행하여 구하는 것을 특징으로 하는 빠른 CAVLC를 위한 H.264 디코딩 방법.
  8. 삭제
KR20050072817A 2005-08-09 2005-08-09 빠른 cavlc를 위한 h.264 디코딩 방법 KR100776195B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR20050072817A KR100776195B1 (ko) 2005-08-09 2005-08-09 빠른 cavlc를 위한 h.264 디코딩 방법
US11/301,227 US7539346B2 (en) 2005-08-09 2005-12-12 H.264 decoding method for fast CAVLC
JP2005365069A JP4153519B2 (ja) 2005-08-09 2005-12-19 高速のcavlcのためのh.264デコーディング方法
CNB2006100028002A CN100539701C (zh) 2005-08-09 2006-01-28 用于快速上下文自适应可变长编码的h.264解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20050072817A KR100776195B1 (ko) 2005-08-09 2005-08-09 빠른 cavlc를 위한 h.264 디코딩 방법

Publications (2)

Publication Number Publication Date
KR20070018292A KR20070018292A (ko) 2007-02-14
KR100776195B1 true KR100776195B1 (ko) 2007-11-16

Family

ID=37722377

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20050072817A KR100776195B1 (ko) 2005-08-09 2005-08-09 빠른 cavlc를 위한 h.264 디코딩 방법

Country Status (4)

Country Link
US (1) US7539346B2 (ko)
JP (1) JP4153519B2 (ko)
KR (1) KR100776195B1 (ko)
CN (1) CN100539701C (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7903873B2 (en) * 2007-09-13 2011-03-08 Microsoft Corporation Textual image coding
US8041131B2 (en) * 2007-10-02 2011-10-18 Cisco Technology, Inc. Variable length coding of coefficient clusters for image and video compression
US8204327B2 (en) * 2007-10-01 2012-06-19 Cisco Technology, Inc. Context adaptive hybrid variable length coding
US8036471B2 (en) * 2007-10-02 2011-10-11 Cisco Technology, Inc. Joint amplitude and position coding of coefficients for video compression
KR100923948B1 (ko) 2007-11-26 2009-10-29 한국전자통신연구원 어플리케이션 특정 명령어 프로세서에 기반한 h.264cavlc 디코딩 방법
KR100935856B1 (ko) * 2007-11-29 2010-01-07 한국전자통신연구원 H.264 cavlc 디코딩에서의 cavlc 테이블 탐색방법
CN101547353B (zh) * 2008-03-28 2011-09-07 富士通株式会社 可变长码解码加速装置
JP5083579B2 (ja) * 2008-06-23 2012-11-28 日本電気株式会社 復号処理装置、プロセッサ、電子機器、復号処理方法、及び復号処理プログラム
CN101309423B (zh) * 2008-06-26 2011-07-20 四川虹微技术有限公司 一种解码非零系数个数和拖尾系数个数的方法
KR100982666B1 (ko) * 2008-09-10 2010-09-17 한국전자통신연구원 컨텍스트 기반 적응적 가변길이 코딩의 디코딩 장치 및 디코딩을 위한 테이블 탐색 방법
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 (주)에어로매스터 동영상 압축 표준에서의 인코딩 장치 및 방법
CA2832086C (en) * 2011-04-15 2018-10-23 Blackberry Limited Methods and devices for coding and decoding the position of the last significant coefficient
EP2611064A1 (en) * 2011-12-29 2013-07-03 Thomson Licensing Method for selectively scrambling bit-streams
CN102572437B (zh) * 2012-02-16 2014-08-06 复旦大学 一种快速解码CAVLC run_before码字的硬件实现方法
CN103384329A (zh) * 2013-05-07 2013-11-06 广东工业大学 一种基于***表查找cavlc解码方法
EP3461131A4 (en) * 2016-05-20 2019-03-27 Panasonic Intellectual Property Corporation of America ENCODING DEVICE, DECODING DEVICE, ENCODING METHOD, AND DECODING METHOD
US10630974B2 (en) * 2017-05-30 2020-04-21 Google Llc Coding of intra-prediction modes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050061777A (ko) * 2003-12-18 2005-06-23 엘지전자 주식회사 Cavlc 복호 방법
US20050135691A1 (en) 2003-12-19 2005-06-23 Reese Robert J. Content adaptive variable length coding (CAVLC) decoding
KR20060108439A (ko) * 2005-04-13 2006-10-18 한국전자통신연구원 에프에스엠기법에 의한 에이치.264/에이브이씨 동영상 압축 표준의 씨에이브이엘씨 디코더에서의 런비포 복원 방법과 장치 및 그를 기록한 기록매체

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5883823A (en) * 1997-01-15 1999-03-16 Sun Microsystems, Inc. System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same
JP2005184232A (ja) * 2003-12-17 2005-07-07 Sony Corp 符号化装置、プログラム、およびデータ処理方法
US7430238B2 (en) * 2004-12-10 2008-09-30 Micronas Usa, Inc. Shared pipeline architecture for motion vector prediction and residual decoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050061777A (ko) * 2003-12-18 2005-06-23 엘지전자 주식회사 Cavlc 복호 방법
US20050135691A1 (en) 2003-12-19 2005-06-23 Reese Robert J. Content adaptive variable length coding (CAVLC) decoding
KR20060108439A (ko) * 2005-04-13 2006-10-18 한국전자통신연구원 에프에스엠기법에 의한 에이치.264/에이브이씨 동영상 압축 표준의 씨에이브이엘씨 디코더에서의 런비포 복원 방법과 장치 및 그를 기록한 기록매체

Also Published As

Publication number Publication date
US7539346B2 (en) 2009-05-26
KR20070018292A (ko) 2007-02-14
US20070036448A1 (en) 2007-02-15
CN100539701C (zh) 2009-09-09
CN1913638A (zh) 2007-02-14
JP4153519B2 (ja) 2008-09-24
JP2007049670A (ja) 2007-02-22

Similar Documents

Publication Publication Date Title
KR100776195B1 (ko) 빠른 cavlc를 위한 h.264 디코딩 방법
US6894628B2 (en) Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables
US7769088B2 (en) Context adaptive binary arithmetic code decoding engine
JP5676744B2 (ja) エントロピー符号化
US8089379B2 (en) Variable length decoding apparatus and method
US20040167923A1 (en) Method and apparatus for longest matching prefix determination in a communication network
Chrysafis et al. SBHP-a low complexity wavelet coder
CN107465926A (zh) 熵编码中的上下文初始化
KR20060013021A (ko) 내용 기반 적응적 이진 산술 복호화 방법 및 장치
JPH0793586B2 (ja) データ圧縮モデル選択方法及びシステム
KR20060131623A (ko) 움직임 추정 회로 및 그 동작 방법
Chen et al. A high-throughput fully hardwired CABAC encoder for QFHD H. 264/AVC main profile video
US20060109909A1 (en) Decision mechanism for partition types of macro block
Ramos et al. High-throughput binary arithmetic encoder using multiple-bypass bins processing for HEVC CABAC
CN110191339B (zh) 码率估计核心单元、码率估计装置及码率估计方法
JP2003125406A (ja) 有向性非周期グラフに基づくビデオ符号化のモード選択最適化方法およびシステム
KR20030071327A (ko) 개선된 허프만 디코딩 방법 및 장치
WO2007102518A1 (ja) 算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体
CN102355578A (zh) 一种熵解码方法、装置
Wang et al. Context-based 2D-VLC for video coding
KR20050010918A (ko) 가변길이 복호화를 위한 방법 및 시스템, 및 코드워드들의지역화를 위한 장치
CN101093998A (zh) 解码方法及装置
JP4013680B2 (ja) 復号装置および復号方法
KR100311473B1 (ko) 트렐리스 기반의 적응적 양자화기에서 최적경로 추적 방법
Tran et al. A Survey of High-Efficient CABAC Hardware Implementations in HEVC Standard

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131031

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141021

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151102

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee