KR101208233B1 - 중간 형식으로 변환하는 2단계 산술 복호 - Google Patents

중간 형식으로 변환하는 2단계 산술 복호 Download PDF

Info

Publication number
KR101208233B1
KR101208233B1 KR1020077010555A KR20077010555A KR101208233B1 KR 101208233 B1 KR101208233 B1 KR 101208233B1 KR 1020077010555 A KR1020077010555 A KR 1020077010555A KR 20077010555 A KR20077010555 A KR 20077010555A KR 101208233 B1 KR101208233 B1 KR 101208233B1
Authority
KR
South Korea
Prior art keywords
unit
decoding
bitstream
binary signal
arithmetic
Prior art date
Application number
KR1020077010555A
Other languages
English (en)
Other versions
KR20070084128A (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 파나소닉 주식회사
Publication of KR20070084128A publication Critical patent/KR20070084128A/ko
Application granted granted Critical
Publication of KR101208233B1 publication Critical patent/KR101208233B1/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
    • 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/4006Conversion to or from arithmetic code
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • 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

Abstract

복호 처리 장치(1)는, 입력 비트스트림에 포함된 심벌의 확률을 계산할 수 있는 컨텍스트 계산 유닛(2)과, 컨텍스트 계산 유닛(2)에 사용되는 파라미터를 생성할 수 있는 파라미터 생성 유닛(3)과, 확률에 따라 입력 비트스트림을 복호하여 복호된 데이터를 제공할 수 있는 산술 복호 계산 유닛(4)과, 복호된 데이터를 중간 비트스트림으로 변환할 수 있는 스트림 변환 유닛(5)과, 중간 비트스트림을 기억할 수 있는 기억 유닛(6)과, 기억 유닛(6)으로부터 공급된 중간 비트스트림으로부터 계산 개시 타이밍을 검출하여 검출된 계산 개시 타이밍을 제공할 수 있는 동기화 검출 유닛(7)과, 동기화 검출 유닛(7)으로부터 검출된 계산 개시 타이밍과 동기하여 기억 유닛(6)으로부터 공급된 중간 비트스트림을 다가화할 수 있는 다가 계산 유닛(8)을 포함한다.

Description

중간 형식으로 변환하는 2단계 산술 복호{TWO STEP ARITHMETIC DECODING WITH CONVERSION INTO AN INTERMEDIATE FORMAT}
본 발명은, JVT에 의한 ITU-T Rec. H.264│ISO/IEC 14496-10 AVC와 같은 화상 압축에서의 산술 부호화 시스템에 따라 부호화된 비트스트림의 복호 처리에 관한 것이다.
최근의 화상 데이터 압축에서는, ISO/IEC MPEG & ITU-T VCEG의 Joint Video Team(JVT)에 의한 Joint Video Specification(ITU-T Rec. H.264│ISO/IEC 14496-10 AVC)의 국제 표준과 같은 표준이, 보다 높은 압축률을 제공하기 위해 제정되고 있다. 이 표준은 흔히 간략하게 H.264/MPEG4-AVC라 불린다. 이하의 설명에서는, 이 표준을 간단히 H.264로 부른다.
H.264 표준에서는, 비트스트림을 부호화하기 위해 산술 부호화 시스템이 사용된다. 산술 부호화는, 다가 신호(多價信號; multivalued signal)를 이진 신호로 변환한다. 그러므로, 비트스트림을 복호하기 위해 이진 신호는, 다가 신호로 변환된다. 이 때, 컨텍스트 기반 적응적 이진 산술 부호화 시스템(Context-based Adaptive Binary Arithmetic Coding system)(이하, “CABAC”라고 함)이 변환에 사용된다.
CABAC은, 심벌의 확률을 계산할 수 있는 컨텍스트 계산 유닛을 구비하고 있으며, 컨텍스트 계산 유닛에서 계산된 확률에 근거하여 산술 복호 계산이 수행된다. 산술 복호 계산이 수행된 비트스트림에서는, 이진 신호가 다가 신호로 변환된다.
이 때, 산술 복호 계산 및 컨텍스트 계산은, 입력 비트스트림을 연속적으로 처리하도록 설계되며, 궁극적으로 산술 복호 계산의 처리 속도에 따른 다가 데이터가 생성된다.
특허문헌 1(일본 공개 특허 공보 제 2004-136231호)에는, 산술 복호 시스템에 따른 비트스트림의 복호가 개시되어 있다. 특허문헌 1에 개시된 산술 복호에 따르면, 각 입력 비트스트림의 비트량이 산술 복호의 처리량보다 큰 경우에는, 비트스트림이 에러로서 처리된다.
또 다른 특허문헌 2(미국 공개 특허 제 2004/0085233A1)에는, 메모리를 사용하여 복호 처리를 두 단계로 분할할 수 있는 기술이 개시되어 있다. 특허문헌 2에 따르면, 입력 비트스트림은 일시적으로 메모리에 기억된다. 트랜스코더 유닛은, 복호를 위해 메모리로부터 비트스트림을 판독한 후, 비트스트림을 부호화하고, 부호화된 비트스트림을 다시 메모리로 전송한다. 메모리로부터 추출된 비트스트림은, 화상을 표시하기 위해 재복호된다.
그러나, 특허문헌 1에 개시된 복호 처리 유닛에 따르면, 산술 복호 계산 및 컨텍스트 계산 양쪽은, 비트스트림을 연속적으로만 처리할 수 있다. 한편, 다가 변환을 행한 후에 복호된 데이터에 근거하여 화상 표시를 행하는데, 이 때, 화상은 실시간으로 표시되어야 하며, 요구되는 데이터량은 사전 결정된 시간 내에 복호되어야 한다.
예컨대, 하이비전(이하, “HD-TV”라고 함) 화상을 위해서, 1920화소×1088라인으로 구성되는 데이터는 1/30초, 즉, 33.3msec의 속도로 복호되어야 한다. 마이크로 블록(이하, “MB”라고 함)을 복호하는데 요구되는 시간은 33.3/8160, 즉, 대략 4085nsec이다.
H.264 표준에 의해 규정된 바와 같이, MB에 대한 최대 비트량은 3200비트의 값을 가지고 있다. 최대 비트량에 따르면, HD-TV 화상을 복호하기 위해, 1비트는 4085/3200, 즉, 대략 1.27nsec의 속도로 복호되어야 한다. 이 속도는 784㎒의 클록 주파수에 해당한다.
이러한 784㎒ 정도의 고(高) 클럭 신호는, 복호 처리 장치를 설계하는데 있어서 심각한 문제를 가지고 있다.
특허문헌 1에 따르면, 복호 처리에서, 지연으로 인하여 복호되지 않고 남아있는 데이터는 에러로서 취급된다. 그러나, 에러로서 취급된 데이터량의 증가는, 비례적으로 불균일하며 산란한 화상이 재생된다는 또 다른 문제를 야기한다.
특허문헌 2에 따르면, 화상 재생에 요구되는 데이터 처리 속도와 산술 복호에서의 데이터 처리 속도의 차이를 메모리가 보상한다. 그러나, 특허문헌 2는, 최종 단계에서, 트랜스코더 유닛과 복호 유닛 사이의 비트스트림을 동기화할 수 있는 특정한 구성을 보여주지 못한다. 이는, 메모리가 처리 속도에서의 차이를 없앨 때, 비트스트림 처리 실패, 복호 에러 등의 문제가 일어나도록 유발한다. 더욱이, 처음에 복호된 데이터는 재부호화된 데이터를 복호하기 위해 재부호화된다는 사실은, 복잡한 처리, 비트스트림의 입력과 궁극의 화상 표시 사이의 장시간 경과 그리고 유용성의 필연적인 부족이라는 문제를 더 포함한다.
상술한 관점에서, 본 발명은, 복호 처리 장치와, 실시간으로 화상을 표시하면서, 복호 처리 장치의 설계를 용이하게 하는 클록 속도에서, 산술 복호 계산과 다가 계산 양쪽을 수행할 수 있게 하는 방법을 제공한다.
본 발명의 제 1 측면은, 입력 비트스트림에 포함된 심벌의 확률을 계산할 수 있는 컨텍스트 계산 유닛과, 상기 컨텍스트 계산 유닛에 사용되는 파라미터를 생성할 수 있는 파라미터 생성 유닛과, 확률에 따라 입력 비트스트림을 복호하여 복호된 데이터를 제공할 수 있는 산술 복호 계산 유닛과, 복호된 데이터를 중간 비트스트림으로 변환할 수 있는 스트림 변환 유닛과, 중간 비트스트림을 기억할 수 있는 기억 유닛과, 상기 기억 유닛으로부터 공급된 중간 비트스트림으로부터 계산 개시 타이밍을 검출하여 검출된 계산 개시 타이밍을 제공할 수 있는 동기화 검출 유닛과, 상기 동기화 검출 유닛으로부터 검출된 계산 개시 타이밍과 동기하여 상기 기억 유닛으로부터 공급된 중간 비트스트림을 다가화할 수 있는 다가 계산 유닛을 포함하는 복호 처리 장치를 제공한다.
상기한 구성은, 실시간으로 화상을 표시하면서, 복호 처리 장치의 설계를 용이하게 하는 클록 속도에서, 산술 복호 계산과 다가 계산 모두를 실현한다.
본 발명의 제 2 측면은, 단위 시간당 처리 비트량의 관점에서, 파라미터 생성 유닛은 다가 계산 유닛과 다른 복호 처리 장치를 제공한다.
상기한 구성은, 1비트마다 행해져야 한다는 산술 복호에 대한 시간 제약과, 실시간 화상 표시를 만족시켜야 하는 다가 계산을 만족시킨다.
본 발명의 제 3 측면은, 기억 유닛이, 입력 비트스트림을 일시적으로 기억할 수 있는 버퍼를 포함하는 복호 처리 장치를 제공한다.
상기한 구성은, 메모리 자원을 효과적으로 사용한다.
본 발명의 제 4 측면은, 스트림 변환 유닛이, 복호된 데이터에 동기 단어를 삽입하는 복호 처리 장치를 제공한다.
상기한 구성은, 중간 비트스트림으로부터 동기화를 쉽게 검출할 수 있도록 한다.
본 발명의 제 5 측면은, 중간 비트스트림이 부정확하게 다가화된 경우, 또는 다가 계산 중에 중간 비트스트림에서의 동기 단어가 검출된 경우, 또는 중간 비트스트림에서의 동기 단어의 위치에서, 동기 단어로서 특정되지 않은 한 비트열이 검출되는 경우에, 스트림 변환 유닛이 중간 비트스트림에 에러 식별자를 삽입하는 복호 처리 장치를 제공한다.
상기한 구성은, 다가 계산 중에 부적당한 처리를 방지한다.
본 발명의 제 6 측면은, 스트림 변환 유닛이 중간 비트스트림을 생성하기 위해 바이트 정렬 처리를 수행하는 복호 처리 장치를 제공한다.
상기한 구성은, 정확한 개시점에서 동기 단어를 검출한다.
본 발명의 제 7 측면은, 스트림 변환 유닛이 에뮬레이션 방지 바이트를 중간 비트스트림에 삽입하는 복호 처리 장치를 제공한다.
상기한 구성은, 개선된 정확성으로 동기화를 검출한다.
본 발명의 제 8 측면은, 스트림 변환 유닛이, 중간 비트스트림에 포함되고 또한 다가 계산 유닛에 의해 생성된 각 문법 요소에 대한 중간 비트스트림의 비트 길이가, 입력 비트스트림에 포함된 각 문법 요소에 대한 입력 비트스트림의 비트 길이보다 짧도록 중간 비트스트림을 생성하는 복호 처리 장치를 제공한다.
상기한 구성은, 감소된 부하로 다가 계산을 할 수 있게 한다.
본 발명의 제 9 측면은, 입력 비트스트림이 비압축 부호일 때, 스트림 변환 유닛이 입력 비트스트림을 바로 중간 비트스트림으로 변환하는 복호 처리 장치를 제공한다.
상기한 구성은, 간단한 다가 계산을 할 수 있게 한다.
본 발명의 제 10 측면은, 스트림 변환 유닛이, 산술 부호화가 아닌 엔트로피 부호화의 알고리즘에 따라 중간 비트스트림을 생성하는 복호 처리 장치를 제공한다.
상기한 구성은, 엔트로피 복호에 적합한 중간 비트스트림을 생성한다.
본 발명의 제 11 측면은, 산술 복호 계산 유닛이, H.264 표준에 포함된 문법 요소 중에서 “mb_skip_flag”, “mb_field_flag”, “end_of_slice_flag” 중 적어도 하나를, 각 문법 요소에 대해 소프트웨어를 사용하여 복호하고, 산술 복호 계산 유닛이, H.264 표준에 포함된 문법 요소 중에서 “mb_type”으로부터 “coeff_abs_level_minus1”에 이르는 문법 요소를 소프트웨어를 사용하지 않고 연속적으로 복호하는 복호 처리 장치가 제공된다.
상기한 구성은, 개선된 처리 속도로 산술 계산을 수행한다. 또한, 상기한 구성은, 산술 계산과 다가 계산간의 차이를 감소시킬 수 있고, 따라서 작은 용량을 갖는 기억 유닛을 제공한다.
본 발명의 제 12 측면은, 동기화 검출 유닛이 중간 비트스트림으로부터 동기 단어를 검출하여, 계산 개시 타이밍을 검출하는 복호 처리 장치를 제공한다.
상기한 구성은, 다가 계산에서의 계산 개시 타이밍을 확실히 검출한다.
본 발명의 제 13 측면은, 다가 계산 유닛이 중간 비트스트림을 다가화하여, 문법 요소를 생성하는 복호 처리 장치를 제공한다.
본 발명의 제 14 측면은, 입력 비트스트림이 부호화된 방법을 결정할 수 있는 결정 유닛과, 기억 유닛으로부터 공급된 중간 비트스트림을 다가화할 수 있는 엔트로피 복호 유닛을 더 포함하고, 입력 비트스트림이 산술 부호화에 따라 부호화되었다고 결정 유닛이 결정하는 경우, 기억 유닛으로부터 공급된 중간 비트스트림이 다가 계산 유닛에 의해 다가화되고, 입력 비트스트림이 산술 부호화가 아닌 엔트로피 부호화에 따라 부호화되었다고 결정 유닛이 결정하는 경우, 기억 유닛으로부터 공급된 중간 비트스트림이 엔트로피 복호 유닛에 의해 복호되는 복호 처리 장치를 제공한다.
상기한 구성은, 다가 계산 중에 계산에 대한 부적당한 부하를 감소시켜, 고속 다가 계산을 실현한다.
본 발명의 상기한, 그리고 다른 목적, 특징 및 이점은, 동일한 요소에는 같은 참조 번호가 부여된 첨부한 도면과 함께 이하의 설명으로부터 명백해질 것이다.
도 1은 본 발명의 실시예 1에 따른 복호 처리 장치를 나타내는 블록도,
도 2는 실시예 1에 따른 복호 처리 장치에 의해 행해지는 동작의 흐름을 나타내는 흐름도,
도 3은 실시예 1에 따른 복호 처리 장치에 의해 행해지는 동작의 흐름을 나타내는 흐름도,
도 4는 실시예 1에 따른 복호 처리 장치에 의해 행해지는 동작의 흐름을 나타내는 흐름도,
도 5는 H.264에 특정된 바와 같이 이진화된 처리 알고리즘의 리스트를 나타내는 도면,
도 6은 실시예 2에 따른 중간 비트스트림을 나타내는 구조도,
도 7은 실시예 2에 따른 문법 요소의 부호화의 리스트를 나타내는 도면,
도 8은 실시예 2에 따른 문법 요소의 부호화의 다른 리스트를 나타내는 도면,
도 9는 실시예 2에 따른 중간 비트스트림을 나타내는 구조도,
도 10은 실시예 2에 따른 복호 처리를 나타내는 도면,
도 11은 실시예 3에 따른 복호 처리 장치를 나타내는 블록도,
도 12는 실시예 3에 따른 복호 처리 장치에 의해 행해지는 동작의 흐름을 나타내는 흐름도,
도 13은 실시예 4에 따른 산술 부호화 처리 장치를 나타내는 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 설명한다.
(실시예 1)
도 1은 본 발명의 실시예 1에 따른 복호 처리 장치를 나타내는 블록도이다.
복호 처리 장치(1)는 이하에 주어진 것과 같은 구성 요소를 포함한다.
컨텍스트 계산 유닛(2)은 입력 비트스트림에 포함된 심벌의 확률을 계산할 수 있다. 파라미터 생성 유닛(3)은 컨텍스트 계산 유닛(2)에 의해 행해지는 계산에서 사용하기 위한 파라미터를 생성할 수 있다.
산술 복호 계산 유닛(4)은, 컨텍스트 계산 유닛(2)에서 계산된 확률에 근거한 산술 복호 시스템에 따라 입력 비트스트림을 복호할 수 있어, 복호된 데이터를 제공한다. 스트림 변환 유닛(5)은 복호된 데이터에 근거한 중간 비트스트림을 생성할 수 있다. 기억 유닛(6)은 스트림 변환 유닛(5)에서 생성된 중간 비트스트림을 기억할 수 있다. 동기화 검출 유닛(7)은 기억 유닛(6)으로부터 공급된 중간 비 트스트림으로부터 계산 개시 타이밍을 검출할 수 있다. 다가 계산 유닛(8)은 동기화 검출 유닛(7)에서 검출된 계산 개시 타이밍과 동기하여 중간 비트스트림을 다가화할 수 있다. 다가화된 중간 비트스트림은 화상을 재생하기 위해 사용된다.
헤더 분석 유닛(11)은 선택적으로 제공될 수 있다. 헤더 분석 유닛(11)은 각 입력 비트스트림의 헤더에 있는 입력된 입력 비트스트림에 포함된 정보를 분석할 수 있다. 예컨대, 각 헤더가 입력 비트스트림 부호화 시스템, 화상 크기 및 사용 중인 부호화 옵션 등의 정보를 포함한다. 헤더 분석 유닛(11)은 이러한 각 헤더에 포함된 정보를 분석한다.
입력 비트스트림은, 복호 처리 장치(1)에 공급되기 전에 일시적으로 버퍼(9)에 선택적으로 기억될 수 있다. 입력 비트스트림은 I/O를 통해 복호 처리 장치(1)에 입력된다.
이하에 각 구성 요소의 상세와 그 동작을 설명한다.
버퍼(9)는 입력 비트스트림을 일시적으로 기억한다. 이후 설명하는 바와 같이, 버퍼(9)는 기억 유닛(6)과 함께 선택적으로 사용될 수 있다.
I/O(10)는, 입력 비트스트림이 버퍼(9)로부터 복호 처리 장치(1)로 전송되는 인터페이스이다. 입력 비트스트림은 헤더 분석 유닛(11)으로 전송된다.
헤더 분석 유닛(11)은 각 입력 비트스트림의 헤더 정보를 분석한다. 헤더 정보는 입력 비트스트림 관련 개시 부호, 슬라이스 헤더 등을 포함하며, 이들 모두는 헤더 분석 유닛(11)에 의해 분석된다.
이하, 컨텍스트 계산 유닛(2)을 설명한다.
컨텍스트 계산 유닛(2)은 입력 비트스트림에 포함된 심벌의 확률을 계산한다. 컨텍스트 계산 유닛(2)은, 환경의 상황, 즉, 복호되어야 할 각 타겟 비트 신호에 걸쳐 인접하는 비트 신호에 근거하여, 입력 비트스트림으로부터 복호되어야 할 이진 신호의 확률을 계산한다. 이 확률은 이진 정보를 갖는 각 1비트 신호마다 갱신되어야 하고, 컨텍스트 계산 유닛(2)은 1비트마다 입력 비트스트림을 연속적으로 처리해야 한다.
더욱이, 컨텍스트 계산 유닛(2)은, 파라미터 생성 유닛(3)으로부터 생성된 파라미터를 이용하여 확률을 계산한다.
이렇게 계산된 확률은 컨텍스트 계산 유닛(2)으로부터 산술 복호 계산 유닛(4)으로 공급된다.
이하, 파라미터 생성 유닛(3)을 설명한다.
파라미터 생성 유닛(3)은 컨텍스트 계산 유닛(2)에 의해 사용될 파라미터를 생성하고, 이 생성된 파라미터를 컨텍스트 계산 유닛(2)에 공급한다. 파라미터 생성 유닛(3)은 복호된 데이터 또는 이진 신호를 다가화하고, 다가 처리 중에 파라미터를 생성한다. 컨텍스트 계산 유닛(2)에서와 같이, 복호된 데이터는 1비트마다 연속적으로 처리되어야 한다.
이하, 산술 복호 계산 유닛(4)을 설명한다.
산술 복호 계산 유닛(4)은, 산술 부호화 시스템에 따라 부호화된 입력 비트스트림을 확률에 따라 복호한다. 산술 부호화 시스템에 따라 부호화된 입력 비트스트림은 확률에 따라 부호화된 이진 데이터이다. 입력 비트스트림이 산술 부호화 시스템에 따라 부호화되었으므로, 이 입력 비트스트림은 화상 재생에 직접 사용되는 비트스트림과 배열 및 값에서 서로 다르다. 따라서, 산술 부호화와 반대인 산술 복호화는, 화상 재생에 직접 사용되는 비트스트림을 복호된 데이터로 복호한다. 입력 비트스트림과 유사하게, 복호된 데이터도 이진 데이터이다.
산술 복호 계산 유닛(4)은 컨텍스트 계산 유닛(2), 파라미터 생성 유닛(3) 및 스트림 변환 유닛(5)에 복호된 데이터를 공급한다. 산술 복호 계산 유닛(4)은, 각 1비트 데이터에 덧붙여진 확률에 따라 입력 비트스트림을 복호하고, 이 입력 비트스트림은 1비트마다 연속적으로 처리된다.
산술 복호 계산 유닛(4)에 의해, 각 문법 요소에 대하여, 특정 소프트웨어를 사용하여, H.264 표준에 포함된 문법 요소 중에서 “mb_skip_flag”, “mb_field_flag”, “end_of_slice_flag” 중 적어도 하나가 복호된다. H.264 표준에 포함된 문법 요소 중에서 “mb_type”으로부터 “coeff_abs_level_minus1”까지의 문법 요소는, 산술 복호 계산 유닛(4)에 의해, 특정 소프트웨어를 사용하지 않고 연속적으로 복호된다. 이와 같이 설명한 처리는 고속 산술 복호를 제공한다.
이하, 스트림 변환 유닛(5)을 설명한다.
스트림 변환 유닛(5)은, 산술 복호 계산 유닛(4)에 의해 복호된 것처럼, 복호된 데이터를 다시 비트스트림으로 변환한다. 복호된 데이터는 입력 비트스트림을 복호하여 생성되고, 동기 단어 및 헤더 플래그가 없다. 다가 계산 중에, 이후에 설명하는 바와 같이, 다가 계산 유닛(8)은, 각 비트스트림에 포함된 화상 데이터 간격을 개시 타이밍으로서 이용한다. 비트스트림으로 변환되기 전에 복호된 데 이터는 화상 데이터 간격이 없고, 복호된 데이터는 우선 기억 유닛(6)을 통하여 다가 계산 유닛(8)으로 전송되며, 따라서 다가 계산 유닛(8)은 다가 계산의 계산 개시 타이밍을 검출하지 못한다.
특히, 계산 개시 타이밍은, 다가 계산 유닛(8)에 의해 행해지는 고속 처리에 필수적이다.
스트림 변환 유닛(5)은, 다가 계산 유닛(8)이 요구하는 동기 단어 및 헤더를 복호된 데이터에 삽입하여, 처음에 산술적으로 복호된 데이터를 의사(pseudo) 비트스트림으로 변경한다. 보다 상세하게는, 스트림 변환 유닛(5)은, 산술적으로 복호된 데이터를 중간 비트스트림으로 변환한다. 그래서, 중간 비트스트림은, 계산 개시 타이밍을 검출하는데 사용되는, 산술적으로 복호된 데이터에 포함된 동기 단어 및 헤더를 갖는다. 스트림 변환 유닛(5)에 의해 복호된 데이터가 중간 비트스트림으로 변환되었다는 사실은, 다가 계산 유닛(8)이 1주기 동안 다수의 병렬 비트에 대하여 다가 계산을 수행할 수 있게 한다. 그래서, 이후에 설명하는 바와 같이, 실시간으로 재생되어야 할 화상에 대하여, 복호 처리 장치의 설계를 용이하게 하는 클록 속도로 다가 계산이 실행된다. 더구나, 화상이 재생될 때, 다가 계산에서 지연으로 인한 에러의 발생이 제거된다.
이하, 기억 유닛(6)을 설명한다.
기억 유닛(6)은 스트림 변환 유닛(5)으로부터 생성된 중간 비트스트림을 기억한다. 기억 유닛(6)에 기억된 중간 비트스트림은 동기화 검출 유닛(7)을 통하여 다가 계산 유닛(8)으로 이동하여, 다가 계산이 행해진다. 스트림 변환 유닛(5)에 의해 생성된 중간 비트스트림은 기억 유닛(6)에 일시적으로 기억되고, 기억 유닛(6)에 일정량의 중간 비트스트림이 모이면, 일시적으로 기억된 중간 비트스트림은 기억 유닛(6)으로부터 다가 계산 유닛(8)으로 공급된다.
스트림 변환 유닛(5)은 산술 복호 계산 유닛(4)과 처리 속도가 유사하고, 복호된 데이터를 1비트마다 연속적으로 처리해야 한다. 연속적으로 처리된 데이터는 기억 유닛(6)에 점차 축적된다. 한편, 1주기 동안 다수의 데이터를 계산할 수 있는 다가 계산 유닛(8)은, 축적된 중간 비트스트림의 일정량 각각에 대하여 기억 유닛(6)으로부터 중간 비트스트림을 취할 수 있다. 보다 상세하게는, 기억 유닛(6)은 버퍼로서 기능하고, 산술 복호 계산 유닛(4)과 다가 계산 유닛(8) 사이의 처리 속도 차이를 없앤다.
이하, 동기화 검출 유닛(7)을 설명한다.
동기화 검출 유닛(7)은 기억 유닛(6)으로부터 공급된 중간 비트스트림으로부터 계산 개시 타이밍을 검출한다. 보다 상세하게는, 동기화 검출 유닛(7)은 중간 비트스트림으로부터 삽입된 동기 단어를 검출한다. 동기 단어의 검출은 계산 개시 타이밍으로서 인식된다. 동기화 검출 유닛(7)은 검출된 계산 개시 타이밍에 관한 정보를 다가 계산 유닛(8)에 공급한다. 계산 개시 타이밍은, 다가 계산 유닛(8)에서 다가 계산이 개시되는 시간을 정확히 이해하기 위해 사용된다.
이하, 다가 계산 유닛(8)을 설명한다.
다가 계산 유닛(8)은, 다가 계산이 개시되는 시간으로서 계산 개시 타이밍을 설정하고, 중간 비트스트림 또는 이진 신호의 다가 계산을 수행한다.
다가 계산 유닛(8)에 의해 처리된 중간 비트스트림은, 이미 확률에 따라 산술 복호 계산 유닛(4)에 의해 복호되었다. 따라서, 중간 비트스트림은 1비트마다 갱신되는 확률에 따른 다가 계산을 필요로 하지 않는다. 그 결과, 다가 계산 유닛(8)은, 1비트마다 연속적인 중간 비트스트림의 중간 계산을 행할 필요가 없다. 예컨대, 다가 계산은 8비트나 16비트 등 각 일정량에 대하여 행해질 수 있다.
중간 비트스트림은 일정량으로 기억 유닛(6)에 기억되고, 다가 계산 유닛(8)은 각 계산에 요구되는 모든 데이터를 기억 유닛(6)으로부터 취할 수 있다. 예컨대, 다가 계산 유닛(8)이 8비트나 16비트 등의 단위마다 계산을 수행할 수 있다고 가정하면, 다가 계산 유닛(8)은 각 1주기 동안 각 8비트 또는 각 16비트에 대하여 기억 유닛(6)으로부터 데이터를 취하여, 다가 계산을 행한다.
입력 비트스트림은 스트림 변환 유닛(5)에 의해 자신에게 삽입된 동기 단어 등을 갖는다. 동기 단어의 검출은, 동기화 검출 유닛(7)이 다가 계산 유닛(8)에 의해 행해진 다가 계산의 계산 개시 타이밍을 파악하게 한다. 다가 계산 유닛(8)은 계산 개시 타이밍에 따라 다가 계산을 행할 수 있어, 각 중간 비트스트림에 포함된 부호화된 데이터의 시작과 끝을 잘못 인식하는 일 없이 계산을 수행할 수 있다. 따라서, 다가 계산이 행해진 데이터에 근거하여 재생된 화상은 화상 결실 및 장애가 없다.
보다 상세하게는, 입력 비트스트림은 처음에 확률에 따라 1주기 동안 1비트마다 연속적으로 산술 복호되고, 그 후 동기 단어가 복호된 데이터에 삽입되어, 중간 비트스트림을 생성한다. 중간 비트스트림은, 기억 유닛(6)에 일정량의 데이터 가 축적될 때까지 기억 유닛(6)에 기억된다. 일정량의 데이터 축적 후, 기억 유닛(6)에 기억된 중간 비트스트림은 계산 개시 타이밍에 응하여 다가 계산이 행해진다. 중간 비트스트림은 다가 계산 중에 1주기 동안 각 멀티비트에 대하여 병렬로 처리된다.
상기한 처리의 흐름의 결과로서, 다가 계산 유닛(8)에서의 단위 시간당 처리된 데이터량은 산술 복호 계산 유닛(4)에서의 그것보다 크다. 이들 사이의 처리량의 차이는 중간 비트스트림을 기억 유닛(6)에 일시적으로 기억함으로써 없어진다.
따라서, 다가 계산 유닛(8)은, 처리된 비트량에 관계없이, 복호 처리 장치를 설계하는 데 자유로운 클록 속도로 구성된다. 예컨대, 다가 계산 유닛(8)이 1주기 동안 16비트의 데이터를 처리할 수 있으면, HD-TV 화상은 다가 계산 유닛(8)에 의해 약 49㎒의 클록 주파수로 처리된다. 물론, 데이터의 오버플로우로 인한 에러의 발생은 방지된다. 동기적으로 처리된 중간 비트스트림은, 다가 계산 유닛(8)이 각 중간 비트스트림에 포함된 부호화된 데이터의 개시점을 명확하게 파악할 수 있게 하고, 따라서 재생된 이미지는 반대의 영향을 받지 않는다.
이하, 도 2, 3 및 4를 참조하여 복호 처리 장치(1)에 의해 행해지는 동작의 흐름을 설명한다.
도 2는 본 실시예에 따른 복호 처리 장치에 의해 행해지는 동작의 흐름을 나타내는 흐름도이다.
비트스트림이 복호 처리 장치(1)에 입력된다. 단계 S21에서, 산술 복호 계산이 수행된다. 단계 S22에서, 파라미터가 생성된다. 단계 S23에서, 산술적으로 복호되어 중간 비트스트림으로 변환된 데이터는 버퍼링된다. 단계 S24에서, 버퍼링된 중간 비트스트림에 다가 계산이 행해진다. 다가 계산이 행해진 데이터는 궁극적으로 심벌 복호된다.
도 3 및 도 4는 본 실시예에 따른 복호 처리 장치에 의해 행해지는 동작의 흐름을 나타내는 흐름도이다.
도 3 및 도 4에 나타낸 흐름도는, “9.3 슬라이스 데이터에 대한 CABAC 분석 처리(9.3 CABAC parsing process for slice data)”에서의 “H.264/AVC에 대한 교정 마킹된 수정의 드래프트 정오표 리스트(Draft Errata List with Revision-Marked Correction for H.264/AVC)”에 의해 정의된 산술 복호에 의해 행해진 동작의 흐름을 나타낸다.
도 3의 흐름도는 도 2의 단계 S21을 상세하게 도시한다. 도 4의 흐름도는 도 3의 단계 S31을 상세하게 도시한다.
이하, 도 5를 참조하여 복호 처리 장치(1)에 의해 행해진 다가 계산과 짝 지어진 이진화 계산을 설명한다.
도 5는 H.264에 특정된 바와 같이 이진화된 처리 알고리즘의 리스트를 나타내는 도면이다. H.264 표준을 따르는 복호 처리 장치에서는, 도 5에 나타낸 바와 같이 이진화 계산의 형식 중 어느 하나 또는 다른 다가 계산이 사용된다.
예컨대, “고정 길이(Fixed Length)” 방법에 따르면, 고정 길이 부호화는 부호 길이를 결정한다. “일진(Unary)” 방법에 따르면, 값 “1”이 심벌의 기간에 대하여 연속하여 배열되어 있으나, 값 “0”에 의해 배열의 끝이 끝나므로, 심 벌의 끝을 나타낸다.
“생략 일진(Truncated Unary)” 방법에 따르면, 표준에서 가장 긴 비트 길이를 갖는 심벌에 대하여, 배열의 끝에 부가된 “0”의 값이 생략된다. “룩업 테이블(Look-up Table)” 방법도 다른 방법으로써 사용된다.
상기한 바와 같이 구성된 복호 처리 장치는, 비트스트림의 고속 다가 계산을 제공하고, 복호 처리 장치를 설계하기 어렵게 만드는 높은 클록 주파수에 대한 요구를 제거한다. 또한, 기억 유닛(6)은 1비트마다의 처리를 동반하는 산술 복호 계산과 멀티비트 처리를 할 수 있게 하는 다가 계산 사이의 처리 속도 차이를 없앨 수 있어, 기억 유닛(6)은 큰 용량을 가질 필요가 없다.
본 실시예는 복호 처리 장치(1)를 설명하지만, 본 발명은 복호 처리 장치(1)와 반대로 데이터를 처리하도록 구성된 부호화 처리 장치에도 적용할 수 있다.
복호 처리 장치(1)는, 각 화상에 형성된 몇몇 블록을 이용하여 산술적으로 부호화된 비트스트림을 복호하는 것도 바람직하다. 이 복호는 이하에 주어진 처리의 흐름에 따라 행해진다.
초기 단계에서, 각 화상에 형성된 각 특정 블록에 대하여 산술적으로 부호화된 입력 비트스트림에 대하여, 컨텍스트 계산 유닛(2)은 처리되어야 할 각 타겟 블록 주변의 인접하는 블록에 대한 정보에 따라 심벌의 확률을 계산한다.
다음 단계에서, 산술 복호 계산 유닛(4)은 컨텍스트 계산 유닛(2)으로부터의 확률에 대한 정보에 따라 입력 비트스트림을 복호하여, 복호화된 데이터를 제공한다.
파라미터 생성 유닛(3)은 복호된 데이터에 근거하여 컨텍스트 계산 유닛(2)이 사용할 파라미터를 생성한다. 스트림 변환 유닛(5)은, 복호된 데이터를 중간 비트스트림으로 변환하기 전에, 복호된 데이터에 동기 단어 및 에러 식별자를 삽입한다. 중간 비트스트림은 기억 유닛(6)에 기억된다.
동기화 검출 유닛(7)은 기억 유닛(6)으로부터 판독된 중간 비트스트림으로부터 동기 단어를 검출하여, 계산 개시 타이밍을 검출한다. 다가 계산 유닛(8)은 중간 비트스트림의 다가 계산을 행한다. 이 때, 입력 비트스트림과는 달리, 인접하는 블록에 대한 정보에 근거하여 중간 비트스트림의 산술 복호가 종료된다. 따라서, 다가 계산 유닛(8)은, 인접하는 블록에 대한 정보를 요구하지 않고, 중간 비트스트림의 다가 계산을 행할 수 있다. 그 결과, 다가 계산은 개선된 처리 속도로 수행될 수 있다. 상기 처리는, 도 1에 나타낸 바와 같이 구성된 복호 처리 장치에서라면 모두 실현될 수 있다.
상기 처리는, 각 화상에 형성된 블록의 부호화에서 부호화되어야 할 각 타겟 블록 주변의 인접하는 블록에 대한 정보에 근거한 비트스트림이더라도, 다가 계산에서의 인접하는 블록에 대한 정보를 요구하는 일 없이 고속 다가 계산을 수행할 수 있다.
(실시예 2)
이하, 실시예 2를 설명한다. 본 실시예에서는, 스트림 변환 유닛(5)의 동작의 변형을 설명한다.
스트림 변환 유닛(5)은 산술 복호 계산 유닛(4)에 의해 복호된 복호 데이터를 다시 비트스트림의 형태로 변환하여, 중간 비트스트림을 제공한다.
각 동기 단어는 바이트 정렬 위치로부터 검출되어야 하므로, 스트림 변환 유닛(5)은 중간 비트스트림의 바이트 정렬 처리를 수행한다. 보다 상세하게는, 비트 길이가 바이트의 배수와 같게 한다.
이 때, 스트림 변환 유닛(5)은 동기 단어를 복호된 데이터에 삽입하여, 중간 비트스트림을 생성한다. H.264 표준에 따라, 세 개의 서로 다른 비트열 “000001”, “000002”, “000003”은 특정한 데이터 배열로서 정의된다. 다가 계산 유닛(8)에서 적합한 다가 계산을 수행하기 위해, 스트림 변환 유닛(5)은 상기한 특정한 비트열에 따라 중간 비트스트림을 생성한다.
비트열 “000001”은 동기 단어로서 정의되고, 스트림 변환 유닛(5)은 그 사전 결정된 위치에 비트열 “000001”을 동기 단어로서 복호된 데이터에 삽입한다.
비트열 “000002”는 비트스트림이 다가화할 수 없는 데이터를 포함하고 있음을 나타내는 에러 식별자이다. 예컨대, 산술 복호 계산 유닛(4)에 의해 복호된 데이터가 다가 계산이 행해질 수 없는 데이터를 포함하는 경우, 스트림 변환 유닛(5)은 에러 식별자로서 비트열 “000002”를 복호된 데이터에 삽입한다. 기억 유닛(6)으로부터 수신된 중간 비트스트림이 에러 식별자를 포함하고 있는 경우, 다가 계산 유닛(8)은 다가 계산을 건너뛴다.
중간 비트스트림이 적합하게 다가화될 수 없는 경우, 또한 중간 비트스트림의 동기 단어가 다가 계산 중에 잘못 검출된 경우, 또는 동기 단어로서 특정된 비 트열을 제외한 어떤 부호가 중간 비트스트림 내의 동기 단어의 어느 한 단어의 위치에서 중간 비트스트림으로부터 검출된 경우에, 스트림 변환 유닛(5)은 복호된 데이터에 에러 식별자를 삽입한다.
비트열 “000003”은 에뮬레이션 방지 바이트로서 사용된다. 비트열 “000003” 또는 에물레이션 방지 바이트는 비동기 단어로부터 동기 단어를 구별하기 위해 삽입된다.
도 6은 본 실시예에 따른 중간 비트스트림을 나타내는 구조도이다. 정상적인 시스템 관련 중간 비트스트림과는 달리, 비정상적인 시스템 관련 중간 비트스트림은 그 안에 삽입된 에러 메시지를 갖는다. 이 에러 메시지는 비트열 “000002”, 즉, 에러 식별자이다.
멀티비트를 동시에 처리하기 위해, 다가 계산 유닛(8)은 간단한 다가 계산을 감안하여 바이트 유닛으로 데이터를 계산하는 것이 바람직하다. 따라서, 각 중간 비트스트림은 바이트의 배수에 해당하는 비트 길이를 갖는 것이 바람직하다. 그 결과, 도 6에 나타낸 바와 같이, 상기 비트 길이가 바이트의 배수와 같게 되도록 각 중간 비트스트림의 비트 길이를 조정하기 위해, “바이트 정렬 비트”가 각 중간 비트스트림에 삽입된다.
각 중간 비트스트림의 비트 길이는, 다가 계산 유닛(8)에 의해 행해지는 계산량의 단위의 배수와 같을 수 있다. 다가 계산 유닛(8)에 의해 행해지는 계산량의 단위가 1바이트이면, 각 중간 비트스트림은 바이트의 배수와 같도록 조정된 비트 길이를 갖는다. 다가 계산 유닛(8)에 의해 행해지는 계산량의 단위가 2바이트 이면, 각 중간 비트스트림은 2바이트의 배수와 같도록 조정된 비트 길이를 갖는다.
스트림 변환 유닛(5)은, 각 문법 요소에 대하여 단축된 비트 길이를 제공하는 방식으로, 복호된 데이터에 근거하여 중간 비트스트림을 생성한다. 보통의 산술 부호화에서는, 문법 요소를 부호화하는 것은 사전 결정된 길이를 갖는 비트 길이를 제공한다. 이 때, 보통의 산술 부호화에서는, 각 문법 요소에 대한 비트 길이가 표준에 따라 증가된다. 보다 상세하게는, 도 7과, 도 8의 좌측 절반에 나타낸 바와 같이, 입력 비트스트림에 포함된 문법 요소의 어느 하나가, 더 긴 부호화된 비트 길이를 갖는다. 산술 부호화는, 컨텍스트 계산에서의 처리를 감안한 길이로 증가된 비트 길이를 제공한다.
그러나, 다가 계산 유닛(8)은 컨텍스트 계산 기반 처리가 필요하지 않고, 보통의 산술 부호화의 그것과 같은 비트 길이를 갖는 각 비트스트림이 불필요하다. 그 결과, 도 8의 우측 절반에 나타낸 바와 같이, 같은 문법 요소를 나타내는 비트열은, 보통의 산술 부호화에 따라 부호화된 비트열보다 짧은 길이로 만들어질 수 있다.
상술한 바와 같이, 같은 문법 요소를 나타내는 비트열에 대하여, 도 8의 우측 절반에 나타낸 바와 같이, 스트림 변환 유닛(5)은 더 짧은 비트열을 이용하여 중간 비트스트림을 생성한다. 도 8은 본 실시예에 따른 문법 요소의 부호화의 리스트를 나타내는 도면이다.
생성된 중간 비트스트림에 포함된 각 문법 요소에 대한 각 중간 비트스트림의 비트 길이는, 입력 비트스트림에 포함된 각 문법 요소에 대한 각 입력 비트스트 림의 비트 길이보다 짧고, 따라서 다가 계산 유닛(8)은 더 낮은 부하를 갖는 다가 계산을 실행한다.
중간 비트스트림의 단축된 비트 길이를 제공하기 위해, 몇몇 문법 요소에 걸친 중간 비트스트림의 비트 길이가 단축되어도 바람직하다.
도 9는 본 실시예에 따른 중간 비트스트림을 나타내는 구조도이다.
중간 비트스트림이 “coeff_abs_level_minus1” 또는 문법 요소 중 하나를 포함하는 경우, 문법 요소 “significant_coeff_flag” 및 “last_significant_coeff_flag”가 계수의 수를 나타낸다. 이 때, 도 9에 나타낸 바와 같이, 그 헤드에 있는 중간 비트스트림의 블록은 미리 계수의 수를 나타내고, 따라서 다가 계산은 더 짧은 처리 시간 내에 완료된다.
화상 내의 어떤 블록이 다가 계산이 행해질 타겟이면, 스트림 변환 유닛(5)은, 타겟 블록 주변의 인접하는 블록에 대한 데이터를 요구하는 일 없이 중간 비트스트림을 생성하는 것이 더욱 바람직하다.
도 10은 본 실시예에 따른 복호 처리를 나타내는 도면이다.
도 10에 나타낸 바와 같이, 블록의 다가 계산을 수행하기 위해, 블록 주변의 인접하는 블록이 참조된다. 따라서, 다가 계산은, 타겟 블록 및 인접 블록 모두를 참조하여 행해져야 한다. 이는 다가 계산에 요구되는 시간을 증가시키는 문제를 발생시킨다.
본 실시예에 따른 복호 처리 장치(1)에서는, 산술 복호 계산 유닛(4)은 인접 블록을 참조하여 처리를 할 수 있게 하고, 다가 계산 유닛(8)은 인접 블록을 참조 할 필요가 없다. 따라서, 스트림 변환 유닛(5)은, 인접 블록이 참조될 필요가 없다는 전제 하에 중간 비트스트림을 생성한다.
도 10에 나타낸 바와 같이, 다가 계산 유닛(8)에 의해 사용되는 각 화상의 블록에 대하여, 인접 블록에 대한 정보를 요구하지 않는다. 따라서, 타겟 블록뿐만이 아닌 인접 블록에 근거한 계산이 제거되어, 고속 다가 계산을 제공한다.
입력 비트스트림이 비압축 부호인 경우, 스트림 변환 유닛(5)은 중간 비트스트림으로서 입력 비트스트림을 직접 출력한다.
이 때, 헤더 분석 유닛(11)은 입력 비트스트림이 비압축 부호인 것을 검출하고, 산술 복호 계산 유닛(4)은, 이 검출 결과에 응하여 입력 비트스트림의 산술 복호 계산을 건너뛴다. 산술 복호 계산을 건너뛰어 처리되지 않은 입력 비트스트림은 스트림 변환 유닛(5)에 의해 중간 비트스트림으로서 직접 출력된다. 그 결과, 계산에 걸리는 부적당한 부하가 감소된다.
(실시예 3)
이하, 실시예 3을 설명한다. 본 실시예에 따른 복호 처리 장치는, 입력 비트스트림이 산술적으로 부호화되었는지 여부 또는 엔트로피 부호화되었는지 여부를 결정할 수 있어, 그 결정 결과에 따라 입력 비트스트림을 복호한다.
도 11은 본 실시예에 따른 복호 처리 장치를 나타내는 블록도이다.
복호 처리 장치(1)는 산술 계산 복호를 위한 다가 계산 유닛(8)과, 엔트로피 복호를 위한 엔트로피 복호 유닛(15)을 포함한다. 다가 계산 유닛(8) 및 엔트로피 복호 유닛(15)은 서로 병렬로 배열된다.
헤더 분석 유닛(11)은 결정 유닛(13)을 포함한다. 결정 유닛(13)은, 각 입력 비트스트림의 헤더의 분석에 근거하여, 입력 비트스트림이 산술적으로 부호화되었는지 또는 엔트로피 부호화되었는지 여부를 결정한다. 결정 유닛(13)은 결정 결과를 선택자(selector)(16, 17, 18 및 19)에 공급한다. 이 선택자(16~19)는 각 결정 결과에 응하여 처리의 흐름을 결정한다.
산술 복호 처리 유닛(12)은 도 1의 그것과 같고, 산술 복호 계산 유닛(4), 컨텍스트 계산 유닛(2), 파라미터 생성 유닛(3) 및 스트림 변환 유닛(5)을 포함한다.
엔트로피 복호 유닛(15)은 엔트로피 부호화에 따라 부호화된 비트스트림을 복호할 수 있다. 예컨대, 엔트로피 복호 유닛(15)은, H.264 표준에 정의된 CAVLC에 따라 부호화된 비트스트림을 복호할 수 있는 CAVLD를 포함한다.
동기화 검출 유닛(7) 및 다가 계산 유닛(8)은 도 1의 그것과 같다.
이하, 복호 처리 장치(1)에 의해 행해지는 동작의 흐름을 설명한다.
결정 유닛(13)은, 입력 비트스트림이 산술 부호화 시스템에 따라 부호화되었다고 결정하면, 선택자(16~19)가 처리의 산술 복호 기반 흐름을 형성하도록 지시한다. 처음으로, 입력 비트스트림은, 헤더 분석 유닛(11)에 의해 분석된 후에, 산술 복호 처리 유닛(12)에 전송된다. 산술 복호 처리 유닛(12)은 중간 비트스트림을 생성하고, 생성된 중간 비트스트림을 기억 유닛(6)에 전송한다. 기억 유닛(6)으로부터 취해진 중간 비트스트림은, 동기화 검출 유닛(7)을 통하여, 다가 계산 유 닛(8)에 전송되어 다가화된다. 궁극적으로, 선택자(19)는 다가 계산 유닛(8)으로부터의 출력을 선택하고, 다가화된 복호 데이터는 화상 복호기(도시하지 않음)에 전송된다.
입력 비트스트림이 엔트로피 부호화 시스템에 따라 부호화되었다고 결정하면, 결정 유닛(13)은 선택자(16~19)가 처리의 엔트로피 복호 기반 흐름을 형성하도록 지시한다.
산술 복호 처리 유닛(12)에 의해 생성된 중간 비트스트림이 엔트로피 부호화에 따른 것인지 여부를 결정하기 위해, 엔트로피 복호 유닛(15)도 헤더 분석을 수행한다.
처음으로, 입력 비트스트림은, 헤더 분석 유닛(11)에 의해 분석된 후에, 중간 버퍼(14)를 통하여 기억 유닛(6)에 전송된다. 중간 비트스트림은 기억 유닛(6)에 도달하기까지 전혀 계산되지도 처리되지도 않는다. 기억 유닛(6)으로부터 취해진 중간 비트스트림은, 선택자(18)에 의해 행해진 선택에 응하여 엔트로피 복호 유닛(15)에 전송된다. 엔트로피 복호 유닛(15)은, 엔트로피 부호화 시스템에 대응하는 복호 처리에 따라 입력 비트스트림을 복호한다. 예컨대, 허프만(Huffman) 복호를 포함하는 가변 길이 복호가 실행된다. 또한, H.264에 의해 특정된 CAVLD 시스템에 따른 복호 처리가 행해진다.
이하, 도 12의 흐름도를 참조하여 동작의 흐름을 설명한다. 도 12는 본 실시예에 따른 복호 처리 장치에 의해 행해지는 동작의 흐름을 나타내는 흐름도이다.
처음으로, 비트스트림이 복호 처리 장치(1)에 입력된다. 단계 S71에서, 각 입력 비트스트림의 헤더가 분석된다. 단계 S72에서, 입력 비트스트림에 적용된 부호화 시스템이 헤더 분석에 근거하여 결정된다.
단계 S72의 결정 결과가 산술 부호화 시스템이면, 단계 S73에서, 입력 비트스트림은 산술 복호 처리가 행해진다. 이어서, 단계 S74에서, 중간 비트스트림이 기억 유닛(6)에 버퍼링된다.
단계 S72의 결정 결과가 엔트로피 부호화 시스템이면, 단계 S74에서, 입력 비트스트림은 바로 버퍼링된다.
버퍼링 후의 단계 S76에서, 산술 부호화 시스템에 따라 부호화된 중간 비트스트림이 다가화된다. 한편, 단계 S77에서, 엔트로피 부호화 시스템에 따라 부호화된 입력 비트스트림은 엔트로피 복호된다.
상술한 바와 같이, 복호 처리 장치(1)는 산술 및 엔트로피 복호 기능을 구비하고 있고, 결정 유닛(13)에 의해 행해지는 결정의 결과에 응한 각 부호화 시스템에 따라 적합한 복호 처리를 제공한다. 보다 상세하게는, 본 실시예에 따른 복호 처리 장치(1)는, 복호 처리에 대하여 H.264 표준에서의 부호화의 변형을 가능하게 한다.
본 실시예에서는 산술 복호 및 엔트로피 복호 모두를 포함하는 구성에 대하여 설명하지만, 필요하다면 다른 복호 처리 기능도 포함될 수 있다.
(실시예 4)
이하, 실시예 4를 설명한다. 본 실시예는 부호화 처리 장치를 설명한다.
도 13은 본 실시예에 따른 산술 부호화 처리 장치를 나타내는 블록도이다.
산술 부호화 처리 장치(100)는 도 1의 산술 복호 장치(1)의 그것과 쌍을 이룬 구성 요소를 포함한다.
이진화 계산 유닛(101)은 압축되고 부호화된 데이터를 이진수로 변환할 수 있다. 스트림 변환 유닛(102)은 이진수로 변환된 데이터에 동기 단어 및 식별자를 삽입할 수 있어, 비트스트림을 생성한다. 생성된 비트스트림은 기억 유닛(103)에 기억된다.
동기화 검출 유닛(104)은 기억 유닛(103)에 기억된 비트스트림으로부터 동기 단어를 검출할 수 있다. 동기화 검출 유닛(104)은 또한, 비트스트림으로부터 에뮬레이션 방지 바이트 및 다른 예약된 단어를 제거할 수 있다. 이렇게 하여 처리된 비트스트림은, 확률 계산에 사용되는 파라미터를 추출하기 위해, 파라미터 생성 유닛(105)에 의해 사용된다.
컨텍스트 계산 유닛(106)은, 파라미터 생성 유닛(105)으로부터 생성된 파라미터에 따라 확률을 계산할 수 있다. 산술 부호화 계산 유닛(107)은, 확률에 따라 동기적으로 검출된 데이터를 산술적으로 부호화할 수 있다.
스트림 생성 유닛(108)에서는, 산술 부호화 계산 유닛(107)에 의해 실행된 처리의 결과로서, 산술 부호화 시스템에 따라 부호화된 데이터가 산술 부호화 기반 비트스트림으로 변환된다. 스트림 생성 유닛(108)은 버퍼(109)를 통하여 비트스트림을 복호 장치(도시하지 않음)에 전송한다.
스트림 변환 유닛(102)은, 필요하다면, 에뮬레이션 방지 바이트 및 에러 식 별자를 비트스트림에 삽입한다. 또한, 스트림 변환 유닛(102)은, 비트 길이가, 복호에 있어서 다가 처리를 위한 처리량 단위의 배수와 같도록 각 비트스트림의 비트 길이를 조정한다.
유사하게, 산술적으로 부호화된 데이터를, 비트스트림으로 변경할 수 있는 스트림 생성 유닛(108)은, 스트림 변환 유닛(102)과 유사한 방식으로 처리를 수행한다. 보다 상세하게는, 스트림 생성 유닛(108)은 동기 단어, 에뮬레이션 방지 바이트 및 에러 식별자를 비트스트림에 삽입하고, 비트 길이가, 복호에 있어서 다가 처리를 위한 처리량 단위의 배수와 같도록 각 비트스트림의 비트 길이를 조정한다.
산술 부호화 계산 유닛(107)은, H.264에 의해 특정된 바와 같이, CABAC 부호화를 사용하는 것이 바람직하다.
상기 구성은 부호화 처리 장치에도 또한 적용되어, 동시에 멀티 비트를 처리할 수 있는 이진 계산과 1비트마다 처리하도록 설계된 산술 부호화 사이의 처리 속도의 차이를 없앤다. 산술 부호화가 1비트마다 실행되는 동안, 산술 부호화가 악영향을 받는 일 없이, 이진 계산이 고속으로 행해진다. 그 결과, 이진 계산이나 산술 부호화의 처리에 고속 클록 신호가 제공될 필요가 없고, 그 결과 부호화 처리 장치의 설계에 대한 제약이 감소된다.
본 발명은, 실시간으로 화상을 표시하는 동안, 복호 처리 장치를 설계하기 쉽게 만드는데 자유로운 클록 속도에 근거하여 산술 복호 계산 및 다가 계산을 완수한다.
본 발명은, 1비트마다 처리할 수만 있는 산술 복호와 멀티 비트를 처리할 수 있는 다가 계산 사이의 처리를 분할하고, 버퍼링을 통하여 후자의 처리에 전자를 연결하여, 그들 사이의 처리 속도 차이를 없앤다.
본 발명은, 그 다가 계산을 행하기 전에, 산술적으로 복호된 데이터를 의사 비트스트림으로 변환하고, 따라서 다가 계산 중에 동기화에 에러가 발생하는 것을 제거한다. 결과적으로, 재생된 화상은 에러 없이 표시된다. 물론, 다가 계산은, 복호 처리 장치를 설계하기 용이한 클록 속도에 따라 고속으로 행해지므로, 데이터의 오버플로우로 인한 데이터 결실의 발생을 제거한다.
첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명했지만, 본 발명이 이들 실시예에 한정되지 않음을 이해해야 하며, 부가된 청구항에 정의된 본 발명의 범위 및 정신 내에서, 당업자에 의해 다양한 변화 및 변경이 이루어질 수 있다.
본 발명은, 산술 부호화 시스템, 예컨대, H.264 및 다른 화상 압축/확장에 따라 부호화된 비트스트림의 복호 분야에 바람직하게 적용된다.

Claims (20)

  1. 컨텍스트 기반 적응적 이진 산술 부호화에 의해 부호화된 입력 비트스트림에 포함된 문법 요소 값을 복호하는 복호 장치로서,
    산술 복호되고 다가화(multivaluing)되지 않은 이진 신호를 제공하기 위해 상기 입력 비트스트림을 산술 복호하는 산술 복호기와,
    중간 비트스트림을 생성하기 위해 다가화 동작의 개시 위치를 나타내는 동기 워드를 상기 이진 신호에 삽입하고, 중간 버퍼에 상기 중간 비트스트림을 기억하는 스트림 변환기와,
    상기 중간 버퍼로부터 공급된 상기 중간 비트스트림에서 상기 동기 워드를 검출함으로써 상기 다가화 동작의 상기 개시 위치를 검출하는 동기화 검출 유닛과,
    상기 동기화 검출 유닛에 의해 검출된 상기 개시 위치에 따라 상기 중간 버퍼로부터 공급된 상기 중간 비트스트림을 다가화하는 다가화 동작 유닛
    을 포함하는 복호 장치.
  2. 제 1 항에 있어서,
    상기 다가화 동작 유닛에 의해 처리되는 단위 시간당 처리 비트량은 상기 산술 복호기에 의해 처리되는 단위 시간당 처리 비트량보다 큰 복호 장치.
  3. 컨텍스트 기반 적응적 이진 산술 부호화에 의해 부호화된 입력 비트스트림에 포함된 문법 요소 값을 복호하는 복호 방법으로서,
    산술 복호되고 다가화되지 않은 이진 신호를 제공하기 위해 상기 입력 비트스트림을 산술 복호하는 단계와,
    중간 비트스트림을 생성하기 위해 다가화 동작의 개시 위치를 나타내는 동기 워드를 상기 이진 신호에 삽입하고, 중간 버퍼에 상기 중간 비트스트림을 기억하는 단계와,
    상기 중간 버퍼로부터 공급된 상기 중간 비트스트림에서 상기 동기 워드를 검출함으로써 상기 다가화 동작의 상기 개시 위치를 검출하는 단계와,
    상기 개시 위치를 검출하는 단계에서 검출된 상기 개시 위치에 따라 상기 중간 버퍼로부터 공급된 상기 중간 비트스트림을 다가화하는 단계
    를 포함하는 복호 방법.
  4. 제 3 항에 있어서,
    상기 중간 비트스트림을 다가화하는 단계에서 처리되는 단위 시간당 처리 비트량은 상기 입력 비트스트림을 산술 복호하는 단계에서 처리되는 단위 시간당 처리 비트량보다 큰 복호 방법.
  5. 다가화된 문법 요소를 이진화함으로써 생성된 이진 신호에 대하여 산술 부호화를 행함으로써 생성된 부호화 데이터를 복호하는 복호 장치로서,
    이진 신호를 생성하기 위해 상기 부호화 데이터에 대하여 산술 복호를 행하는 산술 복호 유닛과,
    비트열 동작에 따라 상기 이진 신호를 변환하고 변환된 이진 신호를 중간 버퍼에 기억하는 변환 유닛과,
    상기 중간 버퍼로부터 판독된 상기 변환된 이진 신호에 대하여 다가화 처리를 행하는 다가화 동작 유닛
    을 포함하는 복호 장치.
  6. 제 5 항에 있어서,
    상기 변환 유닛은, 연결된 단항의 "k(k는 자연수)"승 지수 골롬 이진화를 이용하여 이진화된 문법 요소를 "k"보다 작은 승수를 갖는 지수 골롬 코드로 변환하는 복호 장치.
  7. 제 6 항에 있어서,
    상기 변환 유닛은 프리픽스(prefix)를 삭제하고, 서픽스(suffix)에 새로운 프리픽스 및 새로운 서픽스를 부가하는 복호 장치.
  8. 제 5 항에 있어서,
    상기 변환된 이진 신호는 코드 워드의 할당에 관하여 순차적인 불연속성을 갖는 복호 장치.
  9. 제 5 항에 있어서,
    상기 변환 유닛은 적어도 하나의 문법 요소에 단축된 비트 길이를 제공하는 방식으로 변환을 행하는 복호 장치.
  10. 제 5 항에 있어서,
    상기 변환 유닛은 한 사이클당 상기 다가화 동작 유닛의 동작 비트량에 따라 변환을 행하는 복호 장치.
  11. 다가화된 문법 요소를 이진화함으로써 생성된 이진 신호에 대하여 산술 부호화를 행함으로써 생성된 부호화 데이터를 복호하는 복호 방법으로서,
    이진 신호를 생성하기 위해 상기 부호화 데이터에 대하여 산술 복호를 행하는 단계와,
    비트열 동작에 따라 상기 이진 신호를 변환하고 변환된 이진 신호를 중간 버퍼에 기억하는 단계와,
    상기 중간 버퍼로부터 판독된 상기 변환된 이진 신호에 대하여 다가화 처리를 행하는 단계
    를 포함하는 복호 방법.
  12. 다가화된 문법 요소를 이진화함으로써 생성된 이진 신호에 대하여 산술 부호화를 행함으로써 생성된 부호화 데이터를 복호하는 복호 장치로서,
    상기 부호화 데이터를 일시적으로 기억하는 입력 버퍼와,
    이진 신호를 생성하기 위해 상기 입력 버퍼로부터 판독된 상기 부호화 데이터에 대하여 산술 복호를 행하는 산술 복호 유닛과,
    변환된 이진 신호를 생성하기 위해 비트열 동작에 따라 상기 이진 신호를 변환하는 변환 유닛과,
    상기 변환 유닛에 의해 생성된 상기 변환된 이진 신호를 일시적으로 기억하는 중간 버퍼와,
    상기 중간 버퍼로부터 판독된 상기 변환된 이진 신호에 대하여 다가화 처리를 행하는 다가화 동작 유닛
    을 포함하는 복호 장치.
  13. 다가화된 문법 요소를 이진화함으로써 생성된 이진 신호에 대하여 산술 부호화를 행함으로써 생성된 부호화 데이터를 복호하는 복호 장치로서,
    이진 신호를 생성하기 위해 상기 부호화 데이터에 대하여 산술 복호를 행하는 산술 복호 유닛과,
    상기 문법 요소에 대하여 최대 비트 길이를 줄이는 방식으로 상기 이진 신호를 변환하고 변환된 이진 신호를 중간 버퍼에 기억하는 변환 유닛과,
    상기 중간 버퍼로부터 판독된 상기 변환된 이진 신호에 대하여 다가화 처리를 행하는 다가화 동작 유닛
    을 포함하는 복호 장치.
  14. 컨텍스트 기반 적응적 이진 산술 부호화(CABAC) 처리를 수행하는 부호화 장치로서,
    이진 신호를 생성하기 위해 다가화된 문법 요소를 이진화하고 상기 생성된 이진 신호를 중간 버퍼에 기억함으로써 상기 CABAC 부호화 처리 중 첫 절반을 수행하는 이진화 유닛과,
    상기 중간 버퍼로부터 판독된 상기 이진 신호에 대한 산술 부호화에 의해 상기 CABAC 부호화 처리 중 나머지 절반을 수행하는 산술 부호화 유닛을 포함하며,
    상기 생성된 이진 신호는 상기 CABAC 부호화 처리의 중간 데이터인
    부호화 장치.
  15. 컨텍스트 기반 적응적 이진 산술 부호화(CABAC) 처리를 수행하는 부호화 방법으로서,
    이진 신호를 생성하기 위해 다가화된 문법 요소를 이진화하고 상기 생성된 이진 신호를 중간 버퍼에 기억함으로써 상기 CABAC 부호화 처리 중 첫 절반을 수행하는 단계와,
    상기 중간 버퍼로부터 판독된 상기 이진 신호에 대한 산술 부호화에 의해 상기 CABAC 부호화 처리 중 나머지 절반을 수행하는 단계를 포함하며,
    상기 생성된 이진 신호는 상기 CABAC 부호화 처리의 중간 데이터인
    부호화 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020077010555A 2004-11-09 2005-11-02 중간 형식으로 변환하는 2단계 산술 복호 KR101208233B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004325533 2004-11-09
JPJP-P-2004-00325533 2004-11-09

Publications (2)

Publication Number Publication Date
KR20070084128A KR20070084128A (ko) 2007-08-24
KR101208233B1 true KR101208233B1 (ko) 2012-12-04

Family

ID=35617782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077010555A KR101208233B1 (ko) 2004-11-09 2005-11-02 중간 형식으로 변환하는 2단계 산술 복호

Country Status (6)

Country Link
US (4) US7724830B2 (ko)
EP (1) EP1810521A1 (ko)
JP (2) JP4299357B2 (ko)
KR (1) KR101208233B1 (ko)
CN (4) CN102752590A (ko)
WO (1) WO2006051796A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8034526B2 (en) 2006-09-07 2011-10-11 Ricoh Company Limited Method for manufacturing toner and toner
JP4902854B2 (ja) * 2006-09-12 2012-03-21 パナソニック株式会社 動画像復号化装置、動画像復号化方法、動画像復号化プログラム、動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像符号化復号化装置
JP4865509B2 (ja) * 2006-11-01 2012-02-01 キヤノン株式会社 復号装置及び復号方法
JPWO2008129855A1 (ja) * 2007-04-11 2010-07-22 パナソニック株式会社 画像データ復号化装置、画像データ復号化方法
US7839311B2 (en) * 2007-08-31 2010-11-23 Qualcomm Incorporated Architecture for multi-stage decoding of a CABAC bitstream
JP4894793B2 (ja) * 2008-03-17 2012-03-14 富士通株式会社 デコード方法、デコーダ及びデコード装置
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
JP5361577B2 (ja) * 2009-07-06 2013-12-04 キヤノン株式会社 映像復号化装置及び映像復号化方法
WO2011022405A2 (en) 2009-08-17 2011-02-24 Akamai Technologies, Inc. Method and system for http-based stream delivery
WO2011129052A1 (ja) * 2010-04-13 2011-10-20 パナソニック株式会社 画像復号装置、画像符号化装置、画像復号方法および画像符号化方法
US8344917B2 (en) 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US9313514B2 (en) 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
US8880633B2 (en) 2010-12-17 2014-11-04 Akamai Technologies, Inc. Proxy server with byte-based include interpreter
US20120265853A1 (en) * 2010-12-17 2012-10-18 Akamai Technologies, Inc. Format-agnostic streaming architecture using an http network for streaming
CN103636206B (zh) * 2011-03-31 2017-07-14 汤姆逊许可公司 上下文自适应二进制数据算术编码(cabac)解码技术
MY167469A (en) * 2012-06-22 2018-08-29 Velos Media Int Ltd Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
KR20150116840A (ko) * 2013-01-02 2015-10-16 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
JP6212345B2 (ja) * 2013-10-02 2017-10-11 ルネサスエレクトロニクス株式会社 動画像符号化装置およびその動作方法
WO2017041271A1 (en) * 2015-09-10 2017-03-16 Mediatek Singapore Pte. Ltd. Efficient context modeling for coding a block of data
WO2017199800A1 (ja) * 2016-05-20 2017-11-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030215018A1 (en) 2002-05-14 2003-11-20 Macinnis Alexander G. System and method for transcoding entropy-coded bitstreams
US20030219072A1 (en) 2002-05-14 2003-11-27 Macinnis Alexander G. System and method for entropy code preprocessing
US20040085233A1 (en) * 2002-10-30 2004-05-06 Lsi Logic Corporation Context based adaptive binary arithmetic codec architecture for high quality video compression and decompression

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69133350D1 (de) * 1990-03-05 2004-01-29 Canon Kk Bildverarbeitungsgerät
US5654702A (en) * 1994-12-16 1997-08-05 National Semiconductor Corp. Syntax-based arithmetic coding for low bit rate videophone
KR100242635B1 (ko) * 1996-01-25 2000-02-01 윤종용 가변장 부호화 및 가변장 복호화 시스템
CN1268061C (zh) * 1996-01-25 2006-08-02 三星电子株式会社 可变长编码及可变长译码方法和装置
JP2003319391A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
JP4240283B2 (ja) * 2002-10-10 2009-03-18 ソニー株式会社 復号装置及び復号方法
JP2004136261A (ja) 2002-10-16 2004-05-13 Masaaki Takarada 単極電磁場
US7769088B2 (en) * 2003-05-28 2010-08-03 Broadcom Corporation Context adaptive binary arithmetic code decoding engine
US7472151B2 (en) * 2003-06-20 2008-12-30 Broadcom Corporation System and method for accelerating arithmetic decoding of video data
US6894628B2 (en) * 2003-07-17 2005-05-17 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables
US6900748B2 (en) * 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
US7688895B2 (en) * 2003-07-22 2010-03-30 Lsi Corporation Method and/or circuit for binary arithmetic decoding decisions before termination
JP4699685B2 (ja) * 2003-08-21 2011-06-15 パナソニック株式会社 信号処理装置及びそれを用いた電子機器
EP1684435A4 (en) * 2003-10-29 2007-01-10 Nec Corp DECODING DEVICE OR CODING DEVICE WHICH IS INSERTED BETWEEN AN ARITHMETIC SIGNATURE DECODER OR CODIER AND DEBINARIZER OR BINARIZER AN INTERMEDIATE BUFFER
JP2005184232A (ja) * 2003-12-17 2005-07-07 Sony Corp 符号化装置、プログラム、およびデータ処理方法
US20050201629A1 (en) * 2004-03-09 2005-09-15 Nokia Corporation Method and system for scalable binarization of video data
US7480335B2 (en) * 2004-05-21 2009-01-20 Broadcom Corporation Video decoder for decoding macroblock adaptive field/frame coded video data with spatial prediction
US20060126744A1 (en) * 2004-12-10 2006-06-15 Liang Peng Two pass architecture for H.264 CABAC decoding process
US7518536B2 (en) * 2007-03-30 2009-04-14 Hong Kong Applied Science And Technology Research Institute Co. Ltd. Method and apparatus for debinarization of digital video data during decoding
US7443318B2 (en) * 2007-03-30 2008-10-28 Hong Kong Applied Science And Technology Research Institute Co. Ltd. High speed context memory implementation for H.264

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030215018A1 (en) 2002-05-14 2003-11-20 Macinnis Alexander G. System and method for transcoding entropy-coded bitstreams
US20030219072A1 (en) 2002-05-14 2003-11-27 Macinnis Alexander G. System and method for entropy code preprocessing
US20040085233A1 (en) * 2002-10-30 2004-05-06 Lsi Logic Corporation Context based adaptive binary arithmetic codec architecture for high quality video compression and decompression

Also Published As

Publication number Publication date
US7724830B2 (en) 2010-05-25
CN102158704A (zh) 2011-08-17
JP2008182700A (ja) 2008-08-07
US8081683B2 (en) 2011-12-20
JP2008523644A (ja) 2008-07-03
WO2006051796A1 (en) 2006-05-18
KR20070084128A (ko) 2007-08-24
US20100232496A1 (en) 2010-09-16
CN102158704B (zh) 2013-05-08
CN102752590A (zh) 2012-10-24
US8867612B2 (en) 2014-10-21
CN101040535A (zh) 2007-09-19
JP5069571B2 (ja) 2012-11-07
EP1810521A1 (en) 2007-07-25
CN102892001A (zh) 2013-01-23
JP4299357B2 (ja) 2009-07-22
US20140064358A1 (en) 2014-03-06
CN101040535B (zh) 2011-07-06
US20090225865A1 (en) 2009-09-10
US20100232516A1 (en) 2010-09-16
US8406308B2 (en) 2013-03-26

Similar Documents

Publication Publication Date Title
KR101208233B1 (ko) 중간 형식으로 변환하는 2단계 산술 복호
US10489426B2 (en) Category-prefixed data batching of coded media data in multiple categories
KR100801364B1 (ko) 산술부호의 복호기 또는 부호화기와 역2치화 변환기 또는2치화 변환기의 사이에 중간 버퍼가 삽입된 복호장치 또는부호화 장치
JP3888597B2 (ja) 動き補償符号化装置、及び動き補償符号化復号化方法
US8487791B2 (en) Parallel entropy coding and decoding methods and devices
EP2362657B1 (en) Parallel entropy coding and decoding methods and devices
JP4928176B2 (ja) 映像符号化装置及び映像符号化方法
JP4823090B2 (ja) 画像符号化装置
JP2010178319A (ja) 画像符号化装置及び画像符号化方法
JP4274653B2 (ja) 動画像合成装置および動画像合成方法
JP2008294669A (ja) 画像符号化装置
JP2004501531A (ja) ビデオ・データをランレングス符号化するための方法と装置
US20200128240A1 (en) Video encoding and decoding using an epitome
JP2007074648A (ja) Cabac復号化装置
JPH10200595A (ja) 可変長符号化データ伝送装置、送信側装置、受信側装置およびその方法
JP3948442B2 (ja) 動き補償復号化装置
JP2004007778A (ja) 動き補償復号化方法
JP3869342B2 (ja) 可変長復号化方法及び装置
JP3612315B2 (ja) 可変長復号化方法及び装置
JP2005333662A (ja) 符号化装置、復号装置および再符号化装置ならびに符号化方法、復号方法および再符号化方法
JP2001238212A (ja) 画像データ符号化装置
JP2008011211A (ja) 画像処理装置および画像処理方法
JP2004007776A (ja) 動き補償復号化方法

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161020

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee