KR20090048547A - 복호화 방법, 복호화 방법의 프로그램, 복호화 방법의 프로그램을 기록한 기록 매체, 복호화 장치 - Google Patents

복호화 방법, 복호화 방법의 프로그램, 복호화 방법의 프로그램을 기록한 기록 매체, 복호화 장치 Download PDF

Info

Publication number
KR20090048547A
KR20090048547A KR20087031550A KR20087031550A KR20090048547A KR 20090048547 A KR20090048547 A KR 20090048547A KR 20087031550 A KR20087031550 A KR 20087031550A KR 20087031550 A KR20087031550 A KR 20087031550A KR 20090048547 A KR20090048547 A KR 20090048547A
Authority
KR
South Korea
Prior art keywords
decoding
coefficient data
syntax element
value
specific
Prior art date
Application number
KR20087031550A
Other languages
English (en)
Inventor
다이조우 시게모토
마사시 미야자키
Original Assignee
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20090048547A publication Critical patent/KR20090048547A/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/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
    • 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/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/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

본 발명은, 예를 들면 ITU-T H.264 방식의 디코더에 적용하고, 예를 들면 값이 0 등인, 특정치의 신택스 엘리먼트의 연속수를 검출하고, 이 검출 결과에 의거하여 이 신택스 엘리먼트를 복호한다.

Description

복호화 방법, 복호화 방법의 프로그램, 복호화 방법의 프로그램을 기록한 기록 매체, 복호화 장치{DECODING METHOD, PROGRAM FOR DECODING METHOD, RECORDING MEDIA WITH RECORDED PROGRAM FOR DECODING METHOD, AND DECODING DEVICE}
본 발명은, 복호화 방법, 복호화 방법의 프로그램, 복호화 방법의 프로그램을 기록한 기록 매체, 복호화 장치에 관한 것으로, 예를 들면 ITU(International Telecommunication Union)-T H.264 방식의 디코더에 적용할 수 있다. 본 발명은, 값이 0 등의 특정치(값)의 신택스 엘리먼트의 연속수를 검출하고, 이 검출 결과에 의거하여 이 신택스 엘리먼트를 복호함으로서, 종래에 비하여 복호화 처리를 고속도화 한다.
종래, MPEG(Moving Picture Experts Group)-2, MPEG-4 등의 부호화 처리에서는, 소정의 부호화 처리 단위로 화상 데이터를 직교 변환 처리하고, 그 결과 얻어지는 계수 데이터를 가변 길이 부호화 처리하고 있다. 또한 이 가변 길이 부호화 처리에서는, 지그재그 스캔의 순서로 얻어지는 계수 데이터열에 있어서, 값 0의 계수가 연속하는 길이(런)와, 계속되는 값 0이 아닌 계수 데이터의 계수치를 조합시 킨 부호어 마다, 가변 길이 부호 테이블을 참조하여 가변 길이 부호화 데이터를 생성하고 있다.
이 부호화 처리에 관해, 예를 들면 일본 특개2002-76908호 공보에는, 런 길이와 값 0이 아닌 계수치를 동시 병렬적으로 처리하여, 처리 속도를 향상하는 연구가 제안되어 있다.
이에 대해 ITU-T H.264 방식의 CAVLC(Context Adaptive Variable Length Coding) 처리에서는, 런 수와 값 0이 아닌 계수치를 개별적으로 가변 길이 부호화 처리하고 있다. 보다 구체적으로, ITU-T H.264 방식의 CAVLC 처리에서는, 값 0이 아닌 계수치를 적응 가변 길이 부호화 처리한다. 또한 미처리의 런 수의 총수에 따라 복수의 가변 길이 부호화 테이블로부터 하나의 가변 길이 부호화 테이블을 선택하고, 이 선택한 가변 길이 부호화 테이블에서 런 수를 부호화 처리하고 있다.
여기서 도 1은, ITU-T H.264 방식의 CAVLC 처리에서의 신택스 엘리먼트를 도시하는 도표이다. 또한 이하에서, 각 신택스 엘리먼트는, 예를 들면 TotalCoeff의 신택스 엘리먼트를 TotalCoeff라고 기재하고, 신택스 엘리먼트의 표기를 생략한다. 이들의 신택스 엘리먼트에 있어서, TotalCoeff는, 부호화 처리하는 처리 블록중에 존재하는 값 0이 아닌 계수(이하, 비 0(non-zero)계수라고 부른다)의 수이다. 따라서 도 2(A)에 도시하는 바와 같이 계수 데이터가 계산된 경우에 있어서, 저차(low order)의 측부터 지그재그 스캔한 계수 데이터열이 도 2(B)로 도시되는 경우, 값 +23, -4, +11, +8, -3, +1, -1의 7개의 계수 데이터가 TotalCoeff의 대상이 되고, TotalCoeff는 값 7이 된다. 또한 여기서 도 2(A)는, 4×4화소의 처리 블록을 직교 변환 처리하여 얻어지는 계수 데이터를 도시하는 도면이고, 계수치를 숫자로 나타내고, 화살표로 저차측부터 고차(high order)측으로의 지그재그 스캔을 나타낸다. 또한 도 2(B)는, 도 2(A)의 계수치를 스캔 순서로 나열한 표이다.
TrailingOnes는, 처리 블록중에 있어서 최후에 연속하는 절대치 1의 계수의 개수이다. 또한 TrailingOnes는, 절대치 1의 계수의 개수가 3개 이상인 경우, 3개가 된다. 또한 사이에 포함되는 값 0의 계수는, 무시된다. 따라서 도 2(A)의 예에서는, 도 2(B)에 도시하는 바와 같이, 값 +1, 0, -1로 연속하는 계수 데이터중의 값 +1, -1의 계수 데이터가 TrailingOnes로 표시되고, 이 경우, TrailingOnes는 값 2가 된다.
coeff token은, TotalCoeff와 TrailingOnes를 조합시킨 신택스 엘리먼트이고, 도 2(B)의 예에서는, [2, 7]로 표시된다.
trailing ones sign flag는, 최후에 연속하는 절대치 1의 계수의 부호이다. 따라서 trailing ones sign flag는, TrailingOnes에서 표시된 계수치가 대상이 되고, 도 2(B)의 예에서는, 값 +1, 0, -1로 연속하는 계수 데이터중의 값 +1, -1의 계수 데이터가 TrailingOnes로 표시되기 때문에, 이 경우, 이 값 +1, -1의 계수 데이터의 부호가 trailing ones sign flag로 표시된다. trailing ones sign flag는, 고차측부터, + 및 -가 각각 0 및 1로 표시된다.
level prefix는, 계수를 부호화한 때의 prefix부분이고, level suffix는, 계수를 부호화한 때의 suffix부분이다. level은, DCT 계수치이고, trailing ones sign flag로 정의되는 절대치가 값 1의 계수 데이터, 값 0의 계수 데이터는 제외된 다.
total zeros는, 0 계수의 총수이고, 최후의 비0 계수 이전의 0 계수의 개수이다. 따라서 도 2의 예에서는, total zeros는, 값 5이다.
run before는, 계수 데이터열을 고차측에서 본 경우에, 각 비0 계수의 직전의 0 계수의 연속 개수이다. 따라서 도 2의 예에서는, 값 +23, -4, +11, +8, -3, +1, -1의 7개의 계수 데이터가 비0 계수이고, 값 -1의 계수 데이터가 고차측의 선두, 비0 계수이기 때문에, 도 2(B)에 도시하는 바와 같이, run before는, 값 -1, +1, -3, +8, +11, -4, +23의 계수 데이터에 대해, 각각 값 1, 2, 0, 2, 0, 0이 된다.
zerosLeft는, total zeros 내의 미처리의 0 계수의 수이다. 따라서 도 2(B)의 예에 있어서, 값 -1의 계수 데이터가 처리 대상인 경우, zerosLeft는, 값 5가 된다.
ITU-T H.264 방식의 CAVLC 처리에서는, 이 도 1에서 정의되는 각 신택스 엘리먼트가, 도 3에 도시하는 순서로 비트 스트림중에 저장된다. 또한 여기서 도 3(A)는, 직교 변환 처리에 의한 계수 데이터를 도시하고, level11 내지 level0은, level로 정의되는 계수 데이터이고, 0은, 값 0의 계수 데이터이다. 또한 t1-2 내지 t1-0은, trailing ones sign flag로 정의되는 계수 데이터이다.
즉 비트 스트림은, 처음에 coeff token이 할당되고, 계속해서 trailing ones sign flag가 순차로 고차측부터 할당된다. 또한 계속해서 level이 고차측부터 할당되고, total zeros가 할당된다. 또한 계속해서 run before가 고차측부터 할당된다.
따라서 도 2의 예에서는, 도 4에 도시하는 바와 같이, coeff token [2, 7], trailing ones sign flag -, trailing ones sign flag +, level-3, level+8, level+11, level-4, level+23, total zeros 5, run before 1, run before 2, run before 0, run before 2의 신택스 엘리먼트가 순차로 비트 스트림중에 저장된다. 여기서 값 +8에 대한 run before 2를 처리함으로서 zerosLeft가 0이 되고 값 +11과 값 -4의 계수 데이터에 대한 run before의 처리는 행하지 않는다.
이 신택스 엘리먼트의 저장 순서에 대응하여 CAVLC 처리에서는, 도 5 및 도 6에 도시하는 처리 순서를 부호화 처리 단위마다 실행하여, 각 신택스 엘리먼트를 부호화 처리한다.
즉 CAVLC의 부호화 처리는, 스텝 SP1부터 스텝 SP2로 이전하여, coeff token을 부호화 처리한다. 여기서 부호화 처리는, 래스터 주사 시작단측에 인접하는 부호화 처리 블록부터 가변 길이 부호화 테이블의 선택 기준치(nC)를 구한다. 또한 여기서 이 래스터 주사 시작단측에 인접하는 부호화 처리 블록은, 바로위(진상(眞上) 및 좌측의 부호화 처리 블록이다. 또한 선택 기준치(nC)는, 예를 들면 이 2개의 부호화 처리 블록에서의 DCT 계수의 평균치이다. 부호화 처리는, 이 선택 기준치(nC)에 따라 coeff token을 부호화 처리하는 복수의 가변 길이 부호화 테이블로부터 하나의 가변 길이 부호화 테이블을 선택하고, 이 선택한 가변 길이 부호화 테이블로 coeff token을 부호화 처리한다.
또한 여기서 도 7 내지 도 10에, coeff token을 부호화 처리한 가변 길이 부호화 테이블을 도시한다. coeff token에는, 선택 기준치(nC)가 값 0 이상, 값 2 미 만인 경우, 선택 기준치(nC)가 값 2 이상, 값 4 미만인 경우, 선택 기준치(nC)가 값 4 이상, 값 8 미만인 경우, 선택 기준치(nC)가 값 8 이상인 경우, 선택 기준치(nC)가 값 -1인 경우의, 5의 테이블이 준비되어 있다. 따라서 도 2의 예에 의한 coeff token [2, 7]은, 선택 기준치(nC)에 따라, 도 8의 위로부터 7단째의 「0000 0000 101」, 「0000 0010 1」, 「0010 01」 또는 「0110 10」으로 부호화 처리되게 된다. 따라서 예를 들면 선택 기준치(nC)가 값 0 이상, 값 2 미만인 경우, coeff token [2, 7]은, 「0000 0000 101」에 인코드 된다.
계속해서 부호화 처리는, 스텝 SP3으로 이전하여, 계수 데이터의 총수 TotalCoeff가 0개가 아닌 것을 확인한다. 또한 여기서 계수 데이터의 총수 TotalCoeff가 0개인 경우, 스텝 SP3으로부터 스텝 SP4로 이전하여, 이 부호화 블록의 처리를 완료한다.
이에 대해 계수 데이터의 총수 TotalCoeff가 0개가 아닌 경우, 스텝 SP3으로부터 스텝 SP5로 이전한다. 이 스텝 SP5에서, 부호화 처리는, TrailingOnes가 값 0이 아닌 것을 확인하고, 스텝 SP5로부터 스텝 SP6으로 이전한다.
이 스텝 SP6에 있어서, TrailingOnes의 값 t1s를 trailing ones sign flag의 처리 회수를 카운트하는 카운트값 n에 세트한다. 또한 계속되는 스텝 SP7에서, TrailingOnes에 설정한 계수 데이터중의, 카운트값 n으로 특정되는 계수 데이터(이 경우는, TrailingOnes에 설정한 가장 고차원의 계수 데이터이다)의 부호를 판정하고, trailing ones sign flag를 세트한다. 또한 카운트값 n을 값 1만큼 디크리먼트하고, 계속되는 스텝 SP8에서, 이 카운트값의 판정에 의해 trailing ones sign flag의 세트를 전부 완료하였는지의 여부를 판단한다. 여기서 부정 결과가 얻어지면, 부호화 처리는, 스텝 SP7로 되돌아와, 계속되는 trailing ones sign flag를 세트한다. 이에 대해 trailing ones sign flag의 세트를 모두 완료하면, 스텝 SP8로부터 스텝 SP9로 이전한다. 또한 스텝 SP5에서, TrailingOnes가 값 0인 것이 확인된 경우, 이 스텝 SP5로부터 직접 스텝 SP9로 이전한다.
따라서 이 도 5에 도시하는 처리에서는, trailing ones sign flag의 수만큼 스텝 SP7의 처리를 실행하고, 도 2(B)의 예에서는, 2개의 trailing ones sign flag를 「10」으로 부호화 처리한다.
계속되는 스텝 SP9에서, 부호화 처리는, TotalCoeff의 값이, TrailingOnes의 값과 일치하지 않는 것을 확인한다. 여기서 TotalCoeff의 값이, TrailingOnes의 값과 일치하지 않는 것을 확인하면, 부호화 처리는, 스텝 SP10으로 이전하여, TotalCoeff의 값으로부터 TrailingOnes의 값을 감산하고, trailing ones sign flag에 세트되어 있지 않은 비0 계수의 수를 계산한다. 또한 이 계산한 값을 비0 계수의 처리 회수를 카운트하는 카운트값 n에 세트한다.
부호화 처리는, 계속해서 스텝 SP11로 이전하여, 카운트값 n으로 특정되는 비0 계수의 level을 콘텍스트 계산하여 부호화 처리한다. 또한 카운트값 n을 값 1만큼 디크리먼트하고, 계속되는 스텝 SP12에서, 이 카운트값 n의 판정에 의해 비0 계수의 level을 모두 처리하였는지의 여부를 판단한다. 여기서 부정 결과가 얻어지면, 부호화 처리는, 스텝 SP11로 되돌아와, 계속되는 비0 계수의 level을 부호화 처리한다. 이에 대해 비0 계수의 level을 모두 처리하면, 스텝 SP12로부터 스텝 SP13으로 이전한다.
이 스텝 SP13에 있어서, TotalCoeff가 취할 수 있는 값의 최대치가 아닌 것을 확인한다. 여기서 TotalCoeff가 취할 수 있는 값의 최대치인 경우, 이미 모든 계수 데이터의 부호화 처리가 완료되어 있는 것이기 때문에, 스텝 SP13으로부터 스텝 SP14로 이전하여 이 처리 순서를 종료한다. 이에 대해 TotalCoeff가 취할 수 있는 값의 최대치가 아닌 것이 확인되면, 스텝 SP13으로부터 스텝 SP15로 이전한다. 또한 스텝 SP9에서, TotalCoeff의 값이, TrailingOnes의 값과 일치하는 것이 확인된 경우, 스텝 SP9로부터 직접 스텝 SP15로 이전한다.
따라서 부호화 처리는, TotalCoeff의 값의 수만큼, 스텝 SP11의 처리를 실행하여 비0 계수의 level을 디코드하고, 도 2(B)의 예에서는, -3, +8, +11, - 4, +23의 level을 순차로 처리하여 「0001 0000 0001 0000 0010 0111 1000 0011 00」의 부호화 데이터열을 생성한다.
계속되는 스텝 SP15에서, 부호화 처리는, 부호화 테이블을 이용하여 total zeros를 부호화 처리한다. 여기서 도 11 및 도 12에, 각각 4×4 블록 및 2×2 블록의 부호화 처리 단위에 준비된 total zeros를 부호화 처리하는 가변 길이 부호화 테이블을 도시한다. total zeros에는, TotalCoeff의 각 값에 따라 테이블이 준비되어 있다. 따라서 부호화 처리는, TotalCoeff의 값에 따라 테이블을 선택하고, 이 선택한 테이블을 이용하여 total zeros를 부호화 처리한다. 따라서 도 2(B)의 예에 의한 total zeros의 값 5는, TotalCoeff가 값 7이기 때문에, 「11」로 부호화 처리된다.
또한 계속해서 zerosLeft의 초기치에 total zeros의 값을 세트한다. 또한 zerosLeft의 처리 회수를 카운트하는 카운트값 n에 TotalCoeff의 값을 세트한다. 계속해서 스텝 SP16으로 이전하여, total zeros의 값이 0이 아닌 것을 확인하고, total zeros의 값이 0인 경우, 스텝 SP16으로부터 스텝 SP14로 이전하여 이 처리 순서를 종료한다. 이에 대해 total zeros의 값이 0이 아닌 경우, 스텝 SP16으로부터 스텝 SP17로 이전한다.
이 스텝 SP17에서, 부호화 처리는, 처리 회수를 나타내는 카운트값 n으로 특정되는 비0 계수(이 경우, 가장 고차측의 비0 계수이다)의 run before를 부호화 처리하고, zerosLeft, 카운트값 n을 갱신한다. 또한 계속되는 스텝 SP18에서, zerosLeft를 판정하여 아직도 미처리의 run before가 존재하는지의 여부를 판단하고, 여기서 부정 결과가 얻어지면, 스텝 SP18로부터 스텝 SP14로 이전하여 이 처리 순서를 종료한다. 이에 대해 스텝 SP18에서 긍정 결과가 얻어지면, 스텝 SP18로부터 스텝 SP19로 이전하여, 카운트값 n의 판정에 의해 아직도 미처리의 계수 처리의 run before가 존재하는지의 여부를 판단한다. 여기서 부정 결과가 얻어지면, 스텝 SP19로부터 스텝 SP14로 이전하여 이 처리 순서를 종료한다. 이에 대해 스텝 SP19에서 긍정 결과가 얻어지면, 스텝 SP19로부터 스텝 SP17로 이전하여 계속되는 run before를 부호화 처리한다.
여기서 도 13은, run before의 신택스 엘리먼트의 부호화 처리의 처리 순서를 도시하는 플로우 차트이다. 또한 이 도 13의 처리 순서는, 도 6의 스텝 SP17 - SP18 - SP19 - SP17의 처리 순서를 상세히 나타내는 것이다. 따라서 이하의 설명 은, 말할 필요도 없이 도 5 및 도 6의 설명과 중복되는 부분이 있다.
부호화 처리는, 이 처리 순서를 시작하면, 스텝 SP31로부터 스텝 SP32로 이전하여, TotalCoeff를 처리 회수를 나타내는 카운트값 n에 세트한다. 또한 미처리의 0 계수의 수인 zerosLeft의 초기치에 total zeros를 세트한다.
또한 계속되는 스텝 SP33에서, zerosLeft의 값으로 run before를 부호화 처리하는 테이블을 선택한다. 여기서 도 14에, run before를 부호화 처리한 테이블을 도시한다. run before에는, 미처리의 0 계수의 수인 zerosLeft의 값이 값 1인 경우, zerosLeft의 값이 값 2인 경우, zerosLeft의 값이 값 3인 경우, zerosLeft의 값이 값 4인 경우, zerosLeft의 값이 값 5인 경우, zerosLeft의 값이 값 6인 경우, zerosLeft의 값이 값 6보다 많은 경우의, 7개의 테이블이 준비되어 있고, zerosLeft의 값에 따라 부호화 처리에 사용하는 테이블이 선택된다. 여기서 도 2(B)의 경우, total zeros는 5이기 때문에, 이 경우, total zeros가 값 5인 테이블이 선택된다.
계속해서 부호화 처리는, 스텝 SP34로 이전하여, 스텝 SP33에서 선택한 테이블을 이용하여, 카운트값 n으로 특정되는 run before를 부호화 처리한다. 따라서 도 2(B)의 예에서는, 고차측부터 5번째의 -1의 계수에 관해, 이 계수의 직전의 0 계수가 연속하는 개수인 값 1의 run before가, 「10」으로 부호화 처리된다.
계속해서 CAVLC 처리에서는, 스텝 SP35로 이전하여, zerosLeft의 값으로부터, 직전의 스텝 SP34에서 부호화 처리한 run before의 값을 감산하고, 미처리의 0 계수의 수인 zerosLeft의 값을 갱신한다. 또한 처리 회수를 나타내는 카운트값 n을 값 1만큼 감산한다.
계속해서 CAVLC 처리에서는, zerosLeft의 값의 판정에 의해, 모든 run before의 부호화 처리를 완료하였는지의 여부를 판단하고, 여기서 긍정 결과가 얻어지면, 스텝 SP37로 이전하여 이 처리 순서를 종료한다. 이에 대해 스텝 SP36에서 부정 결과가 얻어지면, 스텝 SP36으로부터 스텝 SP38로 이전한다.
여기서 CAVLC 처리에서는, 처리 회수를 나타내는 카운트값 n의 판정에 의해 모든 run before의 부호화 처리를 완료하였는지의 여부를 판단하고, 여기서 긍정 결과가 얻어지면, 스텝 SP37로 이전하여 이 처리 순서를 종료한다. 이에 대해 스텝 SP38에서 부정 결과가 얻어지면, 스텝 SP38로부터 스텝 SP40으로 이전한다. 또한 이 스텝 SP40에서, zerosLeft의 값으로 run before를 부호화 처리한 테이블을 선택하고, 스텝 SP34로 이전한다.
따라서 도 2(B)의 예에서는, 이 스텝 SP34의 처리에서, zerosLeft의 값이 4인 경우의 테이블이 선택되고, 이 테이블을 이용하여, 고차측부터 7번째의 +1의 계수에 관해, 이 계수의 직전의 0 계수가 연속하는 개수인 값 2의 run before가, 「01」로 부호화 처리된다. 또한 계속되는 스텝 SP35에서, zerosLeft의 값이 값 2로 갱신된 후, 스텝 SP36, SP38로부터 스텝 SP40으로 이전하여, 여기서 zerosLeft가 값 2인 테이블을 선택한다. 또한 이 테이블을 이용하여, 고차측부터 10번째의 -3의 계수에 관해, run before 값 0을 「1」로 부호화 처리한다. 또한 같은 처리의 반복에 의해, 계속되는 값 +8의 계수 데이터의 run before의 값 2를, zerosLeft의 값 2인 테이블을 이용하여 「00」으로 부호화 처리하고, run before의 부호화 처리를 완료한다.
도 5, 도 6 및 도 13의 처리에 의해, 도 2(B)에 도시하는 예에서는, 「0000 0000 1011 0000 1000 0000 1000 0001 0011 1100 0001 1001 1100 1100」의 비트 스트림이 생성된다. 또한 도 15는, 이 도 2(B)를 예로 들고 나타내는 부호화 처리를 도시하는 도표이다.
이에 대해 복호시, 부호화시와 동일한 순서로 순차로 비트 스트림을 처리하여 신택스를 순차로 디코드하고, 이 디코드한 신택스를 이용하여 각 계수 데이터를 복호한다. 또한 이 복호시는, 테이블의 검색 방법, 콘텍스트의 처리 방법이 복호화의 처리에 대응하도록 실행되는 점을 제외하고, 도 5, 도 6의 처리 순서를 순차로 실행하여 부호화 처리시와 동일하게 실행된다. 따라서 복호시의 처리는, 도 5 및 도 6을 유용하여 설명한다. 또한 도 16은, 도 2의 예에 의한 「0000 0000 1011 0000 1000 0000 1000 0001 0011 1100 0001 1001 1100 1100」의 입력 비트 스트림을 복호화 처리하는 경우의, 일련의 처리를 도시하는 도표이다.
이 경우, 복호화 처리에서는, 선택 기준치(nC)를 계산하여 도 7 내지 도 10에 도시하는 테이블로부터 부호화시에 선택한 테이블이 선택되고, 이 테이블을 이용한 패턴 매칭에 의해, 입력 비트 스트림의 선두측, 11비트의 「0000 0000 101」를 coeff token [2, 7]에 디코드한다(도 5, 스텝 SP2). 또한 이 선두측, 11비트분만큼 입력 비트 스트림을 비트 시프트시킨다.
또한 계속해서 coeff token [2, 7]의 디코드 결과로부터 TrailingOnes가 값 2인 것을 검출하고, 이 검출 결과에 의거하여, 계속되는 2비트 「10」을 trailing ones sign flag - 및 +로 디코드한다(도 5, 스텝 SP7). 또한 이 2비트분만큼 입력 비트 스트림을 비트 시프트시킨다.
계속해서 coeff token [2, 7]의 디코드 결과로부터 TotalCoeff가 값 7인 것을 알 수 있고, 또한 TrailingOnes가 값 2이기 때문에, 5개의 계수 0 계수의 level을 콘텍스트 계산하여 복호화 처리한다(도 6, 스텝 SP11). 또한 이 level을 디코드한 분만큼, 입력 비트 스트림을 비트 시프트시키고, 도 2의 예에서는, 「1 1100 1100」의 비트 스트림이 남게 된다.
복호화 처리에서는, 계속해서 TotalCoeff가 값 7인 테이블(도 11, 도 12)을 선택하고, 이 나머지 비트 스트림을 패턴 매칭 처리하고, 이 나머지 입력 비트 스트림의 선두 2비트 「11」을 total zeros의 값 5로 복호한다(도 6, 스텝 SP15). 또한 이 2비트분만큼, 나머지 입력 비트 스트림 「1 1100 1100」을 비트 시프트시키고, 입력 비트 스트림 「100 1100」으로 한다.
계속해서 복호화 처리는, 나머지 입력 비트 스트림 「100 1100」을 순차로 처리하여, run before를 디코드한다.
여기서 도 17은, 도 13과의 대비에 의해, run before의 복호화 처리 순서를 도시하는 플로우 차트이다. 복호화 처리는, 이 처리 순서를 시작하면, 스텝 SP41로부터 스텝 SP42로 이전하여, TotalCoeff를 처리 회수를 나타내는 카운트값 n에 세트한다. 또한 미처리의 0 계수의 수인 zerosLeft의 초기치에 total zeros를 세트한다.
또한 계속되는 스텝 SP43에서, zerosLeft의 값으로 run before를 복호화 처 리하는 테이블을 선택한다. 계속해서 복호화 처리는, 스텝 SP44로 이전하여, 스텝 SP43에서 선택한 테이블을 이용하여, 카운트값 n으로 특정되는 run before를 부호화 처리한다. 따라서 도 2(B)의 예에서는, 고차측부터 5번째의 -1의 계수에 관해, 나머지 입력 비트 스트림 「100 1100」의 선두 2비트 「10」을 run before의 값 1로 복호한다. 또한 이 2비트분만큼, 나머지 입력 비트 스트림 「100 1100」를 비트 시프트시키고, 입력 비트 스트림을 「0 1100」으로 한다.
계속해서 복호화 처리는, 스텝 SP45로 이전하여, zerosLeft의 값으로부터, 직전의 스텝 SP44에서 복호화 처리한 run before의 값을 감산하고, 미처리의 0 계수의 수인 zerosLeft의 값을 갱신한다. 또한 처리 회수를 나타내는 카운트값 n을 값 1만큼 감산한다.
계속해서 복호화 처리는, zerosLeft의 값의 판정에 의해, 모든 run before의 복호화 처리를 완료하였는지의 여부를 판단하고, 여기서 긍정 결과가 얻어지면, 스텝 SP47로 이전하여 이 처리 순서를 종료한다. 이에 대해 스텝 SP46에서 부정 결과가 얻어지면, 스텝 SP46으로부터 스텝 SP48로 이전한다.
여기서 복호화 처리에서는, 처리 회수를 나타내는 카운트값 n의 판정에 의해 모든 run before의 복호화 처리를 완료하였는지의 여부를 판단하고, 여기서 긍정 결과가 얻어지면, 스텝 SP47로 이전하여 이 처리 순서를 종료한다. 이에 대해 스텝 SP48에서 부정 결과가 얻어지면, 스텝 SP48로부터 스텝 SP49로 이전한다. 또한 이 스텝 SP49에서, zerosLeft의 값으로 run before를 부호화 처리하는 테이블을 선택하고, 스텝 SP44로 이전한다.
따라서 도 2(B)의 예에서는, 이 스텝 SP44의 처리에서, zerosLeft의 값이 4인 경우의 테이블이 선택되고, 이 테이블을 이용한 패턴 매칭 처리에 의해, 고차측부터 7번째의 +1의 계수에 관해, 나머지 입력 비트 스트림 「0 1100」의 선두 2비트 「01」을 run before의 값 2로 복호한다. 또한 이 2비트분만큼, 나머지 입력 비트 스트림 「0 1100」을 비트 시프트시키고, 입력 비트 스트림을 「100」으로 한다.
또한 계속되는 스텝 SP45로, zerosLeft의 값이 값 2로 갱신된 후, 스텝 SP46, SP48로부터 스텝 SP44로 이전하여, 여기서 zerosLeft가 값 2인 테이블을 선택한다. 또한 이 테이블을 이용한 패턴 매칭 처리에 의해, 고차측부터 10번째의 -3의 계수에 관해, 나머지 입력 비트 스트림 「100」의 선두 1비트 「1」을 run before의 값 0으로 복호한다. 또한 이 1비트분만큼, 나머지 입력 비트 스트림 「100」을 비트 시프트시키고, 입력 비트 스트림을 「00」으로 한다. 또한 같은 처리의 반복에 의해, 계속되는 값 +8의 계수 데이터에 관해, zerosLeft가 값 2인 테이블을 선택하여 패턴 매칭 처리하고, 나머지 입력 비트 스트림 「00」의 선두 2비트 「00」을 run before의 값 2로 복호한다. 계속해서 스텝 SP45에서 zerosLeft의 값이 값 0으로 갱신되고, 스텝 SP46에서 긍정 결과가 되고 복호 처리를 종료한다.
그런데 상술한 복호 처리에서는, 직전의 처리 결과로 테이블을 선택하여, 특정한 신택스 엘리먼트를 복호하고 있는 것이 된다. 구체적으로, run before를 복호하는 경우, 복호에 사용하는 가변 길이 테이블을, 미처리의 런 수의 총수에 의해 전환하고 있고, 이 미처리의 런 수의 총수는, 직전의 run before의 복호에 의해 확 정한다. 따라서 run before의 복호 처리에서는, 결국, 연속하는 run before를 순차로 처리할 필요가 있어서, 복호화 처리를 고속도화할 수 없다는 문제가 있다.
본 발명은 이상의 점을 고려하여 이루어진 것으로, 종래에 비하여 복호화 처리를 고속도화할 수 있는 복호화 방법, 복호화 방법의 프로그램, 복호화 방법의 프로그램을 기록한 기록 매체, 복호화 장치를 제안하려고 하는 것이다.
상기한 과제를 해결하기 위해 본 발명은, 소정의 부호화 처리 단위로 직교 변환 처리한 계수 데이터열을 입력 비트 스트림으로부터 복호하는 복호화 방법에 적용하여, 상기 특정치의 미처리의 계수 데이터의 수에 따라 테이블을 선택하는 테이블 선택 스텝과, 상기 테이블 선택 스텝에서 선택한 테이블을 이용하여, 상기 특정치의 계수 데이터의 수가 0인 상기 특정한 신택스 엘리먼트의 연속수를 검출하는 연속수 검출 스텝과, 상기 연속수 검출 스텝에서 검출한 연속수의 상기 특정한 신택스 엘리먼트에 계속되는 상기 특정한 신택스 엘리먼트를 복호하는 특정 신택스 엘리먼트의 복호 스텝과, 상기 연속수 검출 스텝, 상기 특정 신택스 엘리먼트의 복호 스텝의 처리에 따라, 상기 특정치의 미처리의 계수 데이터의 수를 갱신하는 갱신 스텝과, 상기 연속수 검출 스텝에서 검출한 연속수와, 상기 특정 신택스 엘리먼트의 복호 스텝의 복호 결과에 의거하여, 상기 계수 데이터열을 복호하는 계수 데이터의 복호 스텝을 갖도록 한다.
또한 본 발명은, 소정의 부호화 처리 단위로 직교 변환 처리한 계수 데이터열을 입력 비트 스트림으로부터 복호하는 복호화 방법의 프로그램에 적용하고, 상기 복호화 방법은, 상기 특정치의 미처리의 계수 데이터의 수에 따라 테이블을 선택하는 테이블 선택 스텝과, 상기 테이블 선택 스텝에서 선택한 테이블을 이용하여, 상기 특정치의 계수 데이터의 수가 0인 상기 특정한 신택스 엘리먼트의 연속수를 검출하는 연속수 검출 스텝과, 상기 연속수 검출 스텝에서 검출한 연속수의 상기 특정한 신택스 엘리먼트에 계속되는 상기 특정한 신택스 엘리먼트를 복호하는 특정 신택스 엘리먼트의 복호 스텝과, 상기 연속수 검출 스텝, 상기 특정 신택스 엘리먼트의 복호 스텝의 처리에 따라, 상기 특정치의 미처리의 계수 데이터의 수를 갱신하는 갱신 스텝과, 상기 연속수 검출 스텝에서 검출한 연속수와, 상기 특정 신택스 엘리먼트의 복호 스텝의 복호 결과에 의거하여, 상기 계수 데이터열을 복호하는 계수 데이터의 복호 스텝을 갖도록 한다.
또한 본 발명은, 소정의 부호화 처리 단위로 직교 변환 처리한 계수 데이터열을 입력 비트 스트림으로부터 복호하는 복호화 방법의 프로그램을 기록한 기록 매체에 적용하고, 상기 복호화 방법은, 상기 특정치의 미처리의 계수 데이터의 수에 따라 테이블을 선택하는 테이블 선택 스텝과, 상기 테이블 선택 스텝에서 선택한 테이블을 이용하여, 상기 특정치의 계수 데이터의 수가 0인 상기 특정한 신택스 엘리먼트의 연속수를 검출하는 연속수 검출 스텝과, 상기 연속수 검출 스텝에서 검출한 연속수의 상기 특정한 신택스 엘리먼트에 계속되는 상기 특정한 신택스 엘리먼트를 복호하는 특정 신택스 엘리먼트의 복호 스텝과, 상기 연속수 검출 스텝, 상기 특정 신택스 엘리먼트의 복호 스텝의 처리에 따라, 상기 특정치의 미처리의 계수 데이터의 수를 갱신하는 갱신 스텝과, 상기 연속수 검출 스텝에서 검출한 연속수와, 상기 특정 신택스 엘리먼트의 복호 스텝의 복호 결과에 의거하여, 상기 계수 데이터열을 복호하는 계수 데이터의 복호 스텝을 갖도록 한다.
또한 본 발명은, 소정의 부호화 처리 단위로 직교 변환 처리한 계수 데이터열을 입력 비트 스트림으로부터 복호하는 복호화 장치에 적용하고, 상기 특정치의 미처리의 계수 데이터의 수에 따라 테이블을 선택하는 테이블 선택부와, 상기 테이블 선택부에서 선택한 테이블을 이용하여, 상기 특정치의 계수 데이터의 수가 0인 상기 특정한 신택스 엘리먼트의 연속수를 검출하는 연속수 검출부와, 상기 연속수 검출부에서 검출한 연속수의 상기 특정한 신택스 엘리먼트에 계속되는 상기 특정한 신택스 엘리먼트를 복호하는 특정 신택스 엘리먼트의 복호부와, 상기 연속수 검출부, 상기 특정 신택스 엘리먼트의 복호부의 처리에 따라, 상기 특정치의 미처리의 계수 데이터의 수를 갱신하는 갱신부와, 상기 연속수 검출부에서 검출한 연속수와, 상기 특정 신택스 엘리먼트의 복호부의 복호 결과에 의거하여, 상기 계수 데이터열을 복호하는 계수 데이터의 복호부를 갖도록 한다.
본 발명의 구성에 의하면, 특정치의 계수 데이터의 수가 0인 특정한 신택스 엘리먼트는, 연속하는 신택스 엘리먼트가 통합하여 검출되어 복호화되고, 또한 계속되는 특정치의 계수 데이터의 수가 0이 아닌 특정한 신택스 엘리먼트에 대해서도, 동시로 복호된다. 따라서 이들의 특정한 신택스 엘리먼트는, 하나의 신택스 엘리먼트마다 처리하는 일 없이, 통합하여 처리할 수 있고, 종래에 비하여 복호화 처리를 고속도화할 수 있다.
본 발명에 의하면, 종래에 비하여 복호화 처리를 고속도화할 수 있다.
도 1은 ITU-T H.264 방식의 CAVLC 처리에서의 신택스 엘리먼트를 도시하는 도표.
도 2(A) 및 도 2(B)는 CAVLC 처리에서의 비트 스트림의 구성의 설명에 제공하는 도표.
도 3은 도 2와는 다른 예에 의한 CAVLC 처리에서의 비트 스트림의 구성의 설명에 제공하는 도표.
도 4는 신택스 엘리먼트의 순번을 도시하는 도표.
도 5는 CAVLC 처리에서의 부호화 처리 순서를 도시하는 플로우 차트.
도 6은 도 5의 계속을 도시하는 플로우 차트.
도 7은 coeff token을 부호화 처리하는 가변 길이 부호화 테이블을 도시하는 도표.
도 8은 도 7의 계속을 도시하는 도표.
도 9는 도 8의 계속을 도시하는 도표.
도 10은 도 9의 계속을 도시하는 도표.
도 11은 4×4 블록의 부호화 처리 단위에 준비된 total zeros를 부호화 처리하는 가변 길이 부호화 테이블을 도시하는 도표.
도 12는 2×2 블록의 부호화 처리 단위에 준비된 total zeros를 부호화 처리 하는 가변 길이 부호화 테이블을 도시하는 도표.
도 13은 run before의 부호화 처리 순서를 도시하는 플로우 차트.
도 14는 run before의 부호화 처리 테이블을 도시하는 도표.
도 15는 도 2의 예에 의한 계수 데이터열을 부호화 처리하는 경우의 처리 순서를 도시하는 도표.
도 16은 도 2의 예에 의한 계수 데이터열을 복호화 처리하는 경우의 처리 순서를 도시하는 도표.
도 17은 run before의 복호화 처리 순서를 도시하는 플로우 차트.
도 18은 본 발명의 실시예 1의 복호화 장치를 도시하는 블록도.
도 19는 도 18의 복호화 장치에 있어서의 입력 비트 스트림의 구성을 도시하는 도표.
도 20은 도 18의 복호화 장치의 런 수 복수 동시 가변 길이 부호 테이블 비교부를 상세히 도시하는 블록도.
도 21은 도 20의 런 수 복수 동시 가변 길이 부호 테이블 비교부에서의 연속수 판정부의, zerosLeft가 값 1 또는 값 2인 경우의 테이블을 도시하는 도표.
도 22는 도 20의 런 수 복수 동시 가변 길이 부호 테이블 비교부에서의 연속수 판정부의, zerosLeft가 값 3 내지 값 6인 경우의 테이블을 도시하는 도표.
도 23은 도 20의 런 수 복수 동시 가변 길이 부호 테이블 비교부에서의 연속수 판정부의, zerosLeft가 값 7 이상인 경우의 테이블을 도시하는 도표.
도 24는 도 20의 런 수 복수 동시 가변 길이 부호 테이블 비교부에서의 run before 복호부의 테이블을 도시하는 도표.
도 25는 도 20의 런 수 복수 동시 가변 길이 부호 테이블 비교부에서의 처리 순서를 도시하는 플로우 차트.
도 26은 본 발명의 실시예 2의 복호화 장치를 도시하는 블록도.
도 27은 도 26의 복호화 장치에 적용된 테이블을 도시하는 도표.
도 28은 도 27의 계속을 도시하는 도표.
(도면의 주요 부분에 대한 부호의 설명)
1, 21 : 복호화 장치
2 : 역양자화, 역DCT부
3 : 가변 길이 부호 테이블 비교부
4 : 제어부
5, 22 : 런 수 복수 동시 가변 길이 부호 테이블 비교부
6 : 유의 테이블 작성부
7 : 계수 복호부
8 : 계수 일시 저장부
9, 23 : 계수 저장부
11 : 연속수 판정부
12 : 배럴 시프트
13 : run before 복호부
이하, 적절히 도면을 참조하면서 본 발명의 실시예를 상세히 기술한다.
(1) 실시예 1
(1-1) 실시예의 구성
도 18은, 본 발명의 실시예 1의 복호화 장치를 도시하는 블록도이다. 이 복호화 장치(1)는, CAVLC 처리에 의해, 순차로 입력되는 ITU-T H.264 방식의 입력 비트 스트림(bitstream)으로부터 각 부호화 처리 단위의 계수 데이터를 복호한다. 이 복호화 장치(1)는, run before의 처리를 제외하고, 이 계수 데이터를 복호하기 위한 각 신택스 엘리먼트의 처리가, 도 5 및 도 6을 이용하여 설명한 종래의 복호화 장치와 동일하게 실행된다. 복호화 장치(1)는, 복호한 계수 데이터를 역양자화, 역DCT부(2)에서 역양자화 처리, 역DCT 처리한 후, 도시하지 않은 인트라 예측부, 인터 예측부에서 생성되는 예측치와 역양자화, 역DCT부(2)의 출력 데이터(S1)를 가산하여, 원래의 화상 데이터를 복호한다.
이 복호화 장치(1)는, 예를 들면 디지털 시그널 프로세서 등의 연산 처리부에 의해 이 도 18에 도시하는 각 기능 블록이 형성된다. 또한 이 실시예에 있어서, 이 연산 처리부가 실행하는 프로그램은, 이 복호화 장치(1)에 사전에 인스톨되고 제공되는 것이지만, 이에 대신하여 광디스크, 자기 디스크, 메모리 카드 등의 기록 매체에 기록하여 제공하도록 하여도 좋고, 또한 인터넷 등의 네트워크를 통하여 제공하도록 하여도 좋다. 또한 복호화 장치(1)는, 하드웨어에 의해 구성하도록 하여도 좋다.
이 복호화 장치(1)에 있어서, 가변 길이 부호 테이블 비교부(3)는, 제어부(4)의 제어에 따라 coeff token의 복호화에 사용하는 가변 길이 복호화 테이블을 선택하고, 이 선택한 가변 길이 복호화 테이블을 사용한 패턴 매칭에 의해, coeff token을 복호화하여 제어부(4)에 통지한다. 또한 마찬가지로 하여, totalzero의 복호 결과를 제어부(4)에 통지한다.
런 수 복수 동시 가변 길이 부호 테이블 비교부(5)는, 제어부(4)의 제어에 따라 입력 비트 스트림(bitstream)으로부터 값 0의 run before가 연속하는 개수(x)와, 값 0 이외의 run before의 값을 검출하여 출력한다.
유의(有意) 테이블 작성부(6)는, 런 수 복수 동시 가변 길이 부호 테이블 비교부(5)로부터 출력되는 값 0의 run before가 연속하는 개수(x)와, 값 0 이외의 run before의 값으로부터, 비0 계수의 배열을 나타내는 유의 테이블을 작성한다. 보다 구체적으로, 값 0 이외의 run before의 값은, 대응하는 비0 계수 데이터에 계속되는 값 0의 계수 데이터의 수를 나타내는 것이 된다. 이에 대해 값 0의 run before가 연속하는 개수(x)는, 대응하는 비0 계수 데이터에 계속되는 비0 계수의 개수를 나타내는 것이 된다. 이들의 관계를 이용하여 유의 테이블 작성부(6)는, 입력 비트 스트림(bitstream)에 있어서의 신택스 엘리먼트의 배열의 순서에서, 비0 계수와, 값 0의 계수를 식별하는 식별 정보를 테이블 형식으로 나타낸 유의 테이블을 작성한다. 유의 테이블 작성부(6)는, 이 유의 테이블의 식별 데이터를 저차측부터 역양자화, 역DCT부(2)의 처리에 대응하는 순서로 출력한다.
계수 복호부(7)는, 제어부(4)의 제어에 따라 입력 비트 스트림(bitstream)으 로부터 trailing ones sign flag, level을 순차로 복호하여 출력한다.
계수 일시 저장부(8)는, 계수 복호부(7)로부터 출력되는 복호 결과를 일시 저장하고, 역양자화, 역DCT부(2)의 처리에 대응하는 순서로 다시 나열한다. 또한 이 다시 나렬한 복호화 결과를, 유의 테이블 작성부(6)로부터 대응하는 식별 데이터가 출력된 타이밍에서 순차로 출력한다.
계수 저장부(9)는, 유의 테이블 작성부(6)로부터 출력되는 식별 데이터가 값 0의 계수를 나타내고 있는 경우에는, 값 0의 계수치를 저장하는 것에 대해, 유의 테이블 작성부(6)로부터 출력되는 식별 데이터가 비0 계수를 나타내고 있는 경우, 계수 일시 저장부(8)로부터 출력되는 복호화 결과를 저장하고, 부호화 처리 단위의 계수 데이터를 재생한다. 계수 저장부(9)는, 이 계수 데이터를 역양자화, 역DCT부(2)의 처리에 대응하는 순서로 순차로 출력한다.
역양자화, 역DCT부(2)는, 계수 저장부(9)의 출력 데이터를 역양자화 처리, 역DCT 처리하여 출력한다.
제어부(4)는, 이 복호화 장치(1) 전체의 동작을 제어하는 제어부이다. 제어부(4)는, 각 부호화 처리 단위의 복호를 시작하면, 선택 기준치(nC)를 계산하고, 이 계산 결과로부터 처리에 사용하는 테이블을 지시하여, 가변 길이 부호 테이블 비교부(3)에 coeff token의 복호를 지시한다. 또한 가변 길이 부호 테이블 비교부(3)로부터 coeff token의 복호 결과를 취득하고, TotalCoeff, TrailingOnes를 검출한다.
또한 이 검출한 TrailingOnes에 의거하여 계수 복호부(7)에 trailing ones sign flag의 복호를 지시하고, 또한 TotalCoeff에 의거하여 계수 복호부(7)에 level의 복호를 지시한다.
또한 제어부(4)는, 계속되는 total zeros의 복호를 가변 길이 부호 테이블 비교부(3)에 지시하고, 복호 결과를 취득한다. 제어부(4)는, 이 취득한 total zeros의 복호 결과에 의거하여, run before의 복호를 런 수 복수 동시 가변 길이 부호 테이블 비교부(5)에 지시한다. 또한 coeff token의 복호 결과와 total zeros의 복호 결과에 의거하여 유의 테이블 작성부(6)에, 런 수 복수 동시 가변 길이 부호 테이블 비교부(5)로부터 출력되는 복호 결과의 처리를 지시한다.
따라서 이 복호화 장치(1)에서는, 도 3과의 대비에 의해 도 19에 도시하는 바와 같이, 종래와 동일한 순서로 입력 비트 스트림(bitstream)으로부터 각 신택스 엘리먼트를 복호화하도록 하여, run before의 복호를 정리하여 실행한다.
도 20은, 런 수 복수 동시 가변 길이 부호 테이블 비교부(5)를 상세히 도시하는 블록도이다. 연속수 판정부(11)는, 제어부(4)의 제어에 의해, zerosLeft의 값에 따라 복수의 테이블로부터 하나의 테이블을 선택하고, 이 선택한 테이블을 이용한 입력 비트 스트림(bitstream)의 패턴 매칭에 의해, 값 0이 연속하는 run before의 수(x)를 검출한다.
여기서 도 14에 도시하는 run before의 테이블에서는, run before의 값이 0인 경우, zerosLeft의 값에 따른 비트 길이로 값 1을 출력하도록 구성되어 있다. 따라서 zerosLeft가 값 1 또는 값 2인 경우, 값 1에서 연속하는 비트 수가, 값 0의 run before가 연속하는 수(x)라고 판단한다. 또한 zerosLeft가 값 3 내지 값 6인 경우, 값 1에서 연속하는 비트 수를 값 2로 나눗셈한 값이, 값 0의 run before가 연속하는 수(x)라고 판단한다. 또한 zerosLeft가 값 7 이상인 경우, 값 1에서 연속하는 비트 수를 값 3으로 나눗셈한 값이, 값 0의 run before가 연속하는 수(x)라고 판단한다.
이 zerosLeft와 값 0의 run before가 연속하는 수(x)와의 관계에 의거하여, 연속수 판정부(11)는, zerosLeft가 값 1 또는 값 2인 경우, 도 21의 테이블을 선택하여 패턴 매칭의 처리를 실행하고, 값 0의 run before가 연속하는 수(x)를 검출한다. 또한 zerosLeft가 값 3 내지 값 6인 경우, 도 22의 테이블을 선택하여 패턴 매칭의 처리를 실행하고, 값 0의 run before가 연속하는 수(x)를 검출한다. 또한 zerosLeft가 값 7 이상인 경우, 도 23의 테이블을 선택하여 패턴 매칭의 처리를 실행하고, 값 0의 run before가 연속하는 수(x)를 검출한다.
또한 연속수 판정부(11)는, 패턴 매칭 한 입력 비트 스트림(bitstream)의 비트 길이를 미처리 Coeff 수에 따라 가변하고, 처리의 부담을 경감한다. 이 도 21 내지 도 23에서, 이 패턴 매칭하는 범위를 동그라미표시에 의해 나타낸다. 연속수 판정부(11)는, 각 범위 내에서 검출된 값 0의 run before가 연속하는 수중에서, 가장 값의 큰 수를 선택하고, 값 0의 run before가 연속하는 수(x)로 한다. 또한 이에 대응하는 비트 시프트량을 검출하고 배럴 시프트(12)에 출력한다.
배럴 시프트(12)는, 연속수 판정부(11)에서 값 0의 run before가 연속하는 수(x)가 검출되면, 연속수 판정부(11)로부터 출력되는 비트 시프트량의 분만큼, 입력 비트 스트림(bitstream)을 비트 시프트시키고, 값 0 이외의 run before에 대응 하는 입력 비트 스트림(bitstream)을 선택적으로 run before 복호부(13)에 출력한다.
run before 복호부(13)는, 도 24에 도시하는 테이블을 이용한 패턴 매칭에 의해, 배럴 시프트(12)로부터 출력되는 입력 비트 스트림(bitstream)으로부터 run before를 복호한다. 여기서 이 배럴 시프트(12)로부터 출력되는 입력 비트 스트림(bitstream)은, 연속수 판정부(11)로 값 0의 run before가 연속하는 수(x)가 검출되고, 값 0 이외의 run before에 대응하는 입력 비트 스트림(bitstream)이기 때문에, 이 도 24에 도시하는 테이블은, 도 14에 도시하는 종래의 run before의 테이블로부터 값 0의 run before를 제외하고 작성된다.
도 25는, 이 런 수 복수 동시 가변 길이 부호 테이블 비교부(5)를 제어하는 제어부(4)의 처리 순서를 상세히 도시하는 플로우 차트이다. 제어부(4)는, 이 처리 순서를 시작하면, 스텝 SP51로부터 스텝 SP52로 이전한다. 여기서 제어부(4)는, TotalCoeff를 처리 회수를 카운트하는 카운트값 n에 세트한다. 또한 미처리의 0 계수의 수인 zerosLeft의 초기치에 total zeros를 세트한다.
또한 계속되는 스텝 SP53에서, zerosLeft에 의거하여, 도 21 내지 도 23의 테이블의 선택을 연속수 판정부(11)에 지시한다.
계속해서 제어부(4)는, 스텝 SP54로 이전하여, 연속수 판정부(11)에서, 값 0으로 연속하는 run before의 수(x)를 검출하고, 또한 계속되는 값 0 이외의 run before의 복호 결과를 run before 복호부(13)에서 검출한다.
계속해서 제어부(4)는, 스텝 SP55에서, 직전의 스텝 SP54에서 처리한 분만 큼, zerosLeft의 값, 처리 회수를 나타내는 카운트값 n을 갱신한다.
또한 계속되는 스텝 SP56에서, zerosLeft의 값의 판정에 의해, 모든 run before의 부호화 처리를 완료하였는지의 여부를 판단하고, 여기서 긍정 결과가 얻어지면, 스텝 SP57로 이전하여 이 처리 순서를 종료한다.
이에 대해 스텝 SP56에서 부정 결과가 얻어지면, 제어부(4)는, 스텝 SP56으로부터 스텝 SP58로 이전한다. 여기서 제어부(4)는, 처리 회수를 나타내는 카운트값 n의 판정에 의해 모든 run before의 부호화 처리를 완료하였는지의 여부를 판단하고, 여기서 긍정 결과가 얻어지면, 스텝 SP57로 이전하여 이 처리 순서를 종료한다.
이에 대해 스텝 SP58에서 부정 결과가 얻어지면, 스텝 SP58로부터 스텝 SP59로 이전한다. 또한 이 스텝 SP59에서, 현재의 zerosLeft의 값에 의거하여, 도 21 내지 도 23의 테이블의 선택을 연속수 판정부(11)에 지시하고, 스텝 SP54로 이전한다.
(1-2) 실시예의 동작
이상의 구성에 있어서, 이 복호화 장치(1)(도 18)에서는, ITU-T H.264 방식의 입력 비트 스트림(bitstream)이 가변 길이 부호 테이블 비교부(3)에 입력되고, 선택 기준치(nC)에 따른 테이블(도 7 내지 도 10)을 이용한 패턴 매칭에 의해, TrailingOnes가 복호된다. 또한 이 TrailingOnes에 의거하여, 계속되는 trailing ones sign flag, level이 계수 복호부(7)에서 복호된다. 또한 계속되는 total zeros가 가변 길이 부호 테이블 비교부(3)에서 복호되고(도 11 및 도 12), 계속되 는 run before가 런 수 복수 동시 가변 길이 부호 테이블 비교부(5)에서 처리된다. 또한 이 런 수 복수 동시 가변 길이 부호 테이블 비교부(5)의 처리 결과가 유의 테이블 작성부(6)에서 처리되고, 이 유의 테이블 작성부(6)의 처리 결과와, 계수 일시 저장부(8)를 통하여 얻어지는 계수 복호부(7)의 level의 처리 결과로부터, 직교 변환 처리한 부호화 처리 단위를 지그재그 스캔 한 계수 데이터열이 생성된다(도 2, 도 3, 도 19). 이 복호화 장치(1)에서는, 이 계수 데이터열이 역양자화, 역DCT부(2)에서 처리된 후, 화상 데이터로 복호된다.
이 런 수 복수 동시 가변 길이 부호 테이블 비교부(5), 유의 테이블 작성부(6)에서의 run before의 처리에 있어서(도 20), 입력 비트 스트림(bitstream)은, 연속수 판정부(11)에서, 현재의 zerosLeft의 값에 따른 테이블을 이용한 패턴 매칭에 의해 값 0의 run before가 연속하는 개수(x)가 검출되고, 이 검출 결과에 의거하여, 계속되는 값 0이 아닌 run before가 run before 복호부(13)에서 복호된다. 또한 이 연속수 판정부(11), run before 복호부(13)에서의 처리에 의해, zerosLeft의 값이 갱신되고, 또한 계속되는 값 0의 run before가 연속하는 개수가 검출되고, 이 검출 결과에 의거하여, 계속되는 값 0이 아닌 run before가 run before 복호부(13)에서 복호된다(제 20도 및 도 25). 복호화 장치(1)에서는, 이 런 수 복수 동시 가변 길이 부호 테이블 비교부(5)에서의 처리가 반복되고, 또한 이 런 수 복수 동시 가변 길이 부호 테이블 비교부(5)의 처리 결과가 유의 테이블 작성부(6)에서 처리되고, 이 유의 테이블 작성부(6)의 처리 결과에 따라 계수 저장부(9)에 계수 데이터열이 저장된다. 이 복호화 장치(1)에서는, 이 런 수 복수 동시 가변 길이 부 호 테이블 비교부(5), 유의 테이블 작성부(6)에서의 run before의 처리에 의해, 종래에 비하여 복호화 처리를 고속도화할 수 있다.
즉 도 17에서 설명한 종래의 run before의 복호에서는, run before의 신택스 엘리먼트의 수만큼, 스텝 SP44 - SP45의 처리를 반복하는 것이 필요하게 된다. 그러나 이 실시예에서는, 값 0이 연속하는 run before의 수와, 계속되는 값 0이 아닌 run before를 정리하여 처리할 수 있다. 따라서 도 17의 스텝 SP44 - SP45에 대응하는 도 25의 스텝 SP54 - SP55의 처리 회수를, 도 17의 경우에 비하여 현격적으로 적게 할 수 있고, run before의 처리에 필요로 하는 시간을 단축하여 복호화 처리를 고속도화할 수 있다.
또한 이와 같이 값 0이 연속하는 run before의 수를 검출하여 처리하는 경우, 값 0이 연속하는 run before의 수가 많아지면 많아질수록, 스텝 SP54 - SP55의 처리 회수를 적게 할 수 있다. 따라서 값 0의 run before의 수가 많아지면, 값 0이 연속하는 run before의 수도 증대하기 때문에, SP54 - SP55의 처리 회수를 적게 하여 처리시간을 단축할 수 있다.
그러나 반대의 견해로 생각하면, run before가 값 0이 아닌 경우에는, 그럴수록, 스텝 SP54 - SP55의 처리 회수를 적게 할 수 없고, 복호화 처리의 시간 단축을 도모할 수 없다고도 생각된다. 그러나 run before가 값 0이 아닌 경우에는, 그 만큼, 입력 비트 스트림중의 level의 개수도 적어지고, 값 0의 계수 데이터가 많아진다. 따라서 이 경우에는, 원래, 복호화 처리에는, 시간을 필요로 하지 않게 되어, 고속도로 복호화 처리할 수 있다.
실제상, 도 3에 도시하는 바와 같이, 입력 비트 스트림에 있어서, level의 신택스 엘리먼트가 12개이고, run before의 신택스 엘리먼트가 14인 경우, 도 17에 도시하는 종래 방법에서는, 14회, 스텝 SP54 - SP55의 처리를 반복한 필요가 있다. 이에 대해 복호화 장치(1)에서는, 이들 14개의 run before의 신택스 엘리먼트중의 13개가 값 0이고, 최후의 1개가 값 1이기 때문에, 이들 14개의 run before의 신택스 엘리먼트를 동시에 처리할 수 있다.
또한 이와 같은 값 0으로 연속하는 run before의 신택스 엘리먼트의 수를 검출하는 처리에 대신하여, 도 14에 도시하는 종래의 run before의 테이블을 확장하여, 복수의 run before를 동시 병렬적으로 복호함으로서 처리 속도를 고속도화하는 것도 생각된다. 그렇지만 이 경우, run before를 복호하는 테이블의 구성이 현격적으로 대형화하는 결점이 있다. 이에 대해 이 실시예에 의하면, 테이블의 대형화를 유효하게 회피하여, 복수의 run before 신택스 엘리먼트를 정리하여 처리하여 처리 속도를 고속도화할 수 있다.
(1-3) 실시예의 효과
이상의 구성에 의하면, 예를 들면 값이 0인 특정치의 신택스 엘리먼트의 연속수를 검출하고, 이 검출 결과에 의거하여 이 신택스 엘리먼트를 복호함으로서, 종래에 비하여 복호화 처리를 고속도화할 수 있다.
또한 이 특정한 신택스 엘리먼트가, run before의 신택스 엘리먼트인 것에 의해, run before의 처리를 고속도화 하여, 종래에 비하여 복호화 처리를 고속도화할 수 있다.
또한 이 복호하는 입력 비트 스트림이, ITU-T H.264 방식의 CAVLC 처리에 의한 비트 스트림인 것에 의해, ITU-T H.264 방식의 CAVLC 처리에 의한 입력 비트 스트림을 종래에 비하여 고속도로 복호할 수 있다.
보다 구체적으로, coeff token, total zeros의 신택스 엘리먼트를 복호하는 스텝을 마련함으로서, ITU-T H.264 방식의 CAVLC 처리에 의한 입력 비트 스트림을 종래에 비하여 고속도로 복호할 수 있다.
또한 level의 신택스 엘리먼트를 복호하는 level의 복호 스텝을 갖는 것에 의해, 런 수와 값 0이 아닌 계수치를 개별적으로 가변 길이 부호화한 입력 비트 스트림의 처리에 적용하여, 입력 비트 스트림을 종래에 비하여 고속도로 복호할 수 있다.
(2) 실시예 2
도 26은, 도 18과의 대비에 의해, 본 발명의 실시예 2의 복호화 장치를 도시하는 블록도이다. 이 복호화 장치(21)는, 런 수 복수 동시 가변 길이 부호 테이블 비교부(5), 유의 테이블 작성부(6), 계수 저장부(9)에 대신하고, 런 수 복수 동시 가변 길이 부호 테이블 비교부(22), 계수 저장부(23)가 마련되는 점을 제외하고, 실시예 1의 복호화 장치(1)와 동일하게 구성된다.
여기서 런 수 복수 동시 가변 길이 부호 테이블 비교부(22)는, 제어부(4)의 제어에 의해, zerosLeft의 값에 따라 복수의 테이블로부터 하나의 테이블을 선택하고, 이 선택한 테이블을 이용한 입력 비트 스트림(bitstream)의 패턴 매칭에 의해, 값 0이 연속하는 run before의 수(x), 계속되는 run before의 복호 결과를 동시에 검출하고, 이 값 0이 연속하는 run before의 수(x)와, 계속되는 run before의 복호 결과를 쌍(對)으로 하여 출력한다.
여기서 도 27 및 도 28은, zerosLeft가 1인 경우를 예로 취하여, 런 수 복수 동시 가변 길이 부호 테이블 비교부(22)에서 보존되는 테이블을 도시하는 도표이다. 이 테이블은, 도 21 내지 도 24에 관해 상술한 테이블을 zerosLeft마다, 하나로 정리하여, 값 0이 연속하는 run before의 수(x), 계속되는 run before의 복호 결과를 동시에 검출할 수 있도록 형성된다.
계수 저장부(23)는, 이 런 수 복수 동시 가변 길이 부호 테이블 비교부(22)의 출력 데이터에 의거하여, 계수 데이터를 구축하여 보존하고, 계속되는 역양자화, 역DCT부(2)에 출력한다.
이 실시예와 같이 값 0의 연속하는 run before의 수(x)를 검출하는 테이블과 계속되는 run before를 복호하는 테이블을 일체화하여, 이들 값 0의 연속하는 run before의 수(x)와 계속되는 run before의 복호 결과를 쌍으로 하여 출력하도록 하여도, 상술한 실시예와 같은 효과를 얻을 수 있다.
(3) 다른 실시예
또한 상술한 실시예 1에서는, 유의 테이블 작성부(6)에서 비0 계수와, 값 0의 계수를 식별하는 식별 데이터를 이용하여 유의 테이블을 작성하고, 이 유의 테이블을 이용하여 계수 저장부(9)에서 원래의 계수 데이터열을 복호하는 경우에 관해 기술하였지만, 본 발명은 이것으로 한하지 않고, 런 수 복수 동시 가변 길이 부호 테이블 비교부(22)의 처리 결과에 의거하여 값 0의 계수치를 생성하고, 이 생성 한 계수치를 계수 저장부(9)에 저장하여 원래의 계수 데이터열을 복호하도록 하여도 좋다. 이와 같이 하면 유의 테이블 작성부를 생략할 수 있다.
또한 이와 역으로, 값 0의 run before가 연속하는 개수(x)를 직접, 계수 저장부(9)에 입력하고, 이 개수(x)에 의거하여 값 0의 계수를 계수 저장부(9)에서 생성하도록 하여, 처리 사이클을 삭감하도록 하여도 좋다.
또한 상술한 실시예에서는, 본 발명을 복호화 장치에 적용하는 경우에 관해 기술하였지만, 본 발명은 이것으로 한하지 않고, 부호화 기능을 갖는 복호화 장치에 본 발명을 적용하여, 도 21 내지 도 24의 테이블을 부호화 처리에 사용하도록 하여도 좋다. 또한 이 경우에, 실시예 2에 관해 상술한 테이블을 사용하면, 복수의 런 수를 동시 가변 길이 부호화 처리할 수 있다.
또한 상술한 실시예에서는, run before인 특정한 신택스 엘리먼트에 관해, 값 0으로 연속한 신택스 엘리먼트를 검출하여 이들 연속하는 복수의 신택스 엘리먼트를 정리하여 처리하는 경우에 관해 기술하였지만, 본 발명은 이것으로 한하지 않고, 여러가지의 값으로 연속한 여러가지의 신택스 엘리먼트의 수를 검출하여 이들 연속하는 복수의 신택스 엘리먼트를 정리하여 처리하도록 하여, 처리에 필요로 하는 시간을 단축할 수 있다.
또한 상술한 실시예에서는, ITU-T H.264 방식의 CAVLC 처리에 의한 입력 비트 스트림의 복호 처리에 본 발명을 적용한 경우에 관해 기술하였지만, 본 발명은 이것으로 한하지 않고, 여러가지의 포맷에 의한 입력 비트 스트림을 복호화하는 경우에 널리 적용할 수 있다.
본 발명은, 예를 들면 ITU-T H.264 방식의 CAVLC 처리에 의한 입력 비트 스트림의 복호 처리에 적용할 수 있다.

Claims (8)

  1. 소정의 부호화 처리 단위로 직교 변환 처리한 계수 데이터열을 입력 비트 스트림으로부터 복호하는 복호화 방법에 있어서,
    상기 입력 비트 스트림은,
    상기 계수 데이터열에 있어서의 특정치의 미처리의 계수 데이터의 수에 따라 선택된 테이블을 이용하여, 상기 특정치가 아닌 상기 계수 데이터마다, 상기 계수 데이터열에 있어서의 계속되는 상기 특정치의 계수 데이터의 수를 나타내는 특정한 신택스 엘리먼트가 적어도 할당되고,
    상기 복호화 방법은,
    상기 특정치의 미처리의 계수 데이터의 수에 따라 테이블을 선택하는 테이블 선택 스텝과,
    상기 테이블 선택 스텝에서 선택한 테이블을 이용하여, 상기 특정치의 계수 데이터의 수가 0인 상기 특정한 신택스 엘리먼트의 연속수를 검출하는 연속수 검출 스텝과,
    상기 연속수 검출 스텝에서 검출한 연속수의 상기 특정한 신택스 엘리먼트에 계속되는 상기 특정한 신택스 엘리먼트를 복호하는 특정 신택스 엘리먼트의 복호 스텝과,
    상기 연속수 검출 스텝, 상기 특정 신택스 엘리먼트의 복호 스텝의 처리에 따라, 상기 특정치의 미처리의 계수 데이터의 수를 갱신하는 갱신 스텝과,
    상기 연속수 검출 스텝에서 검출한 연속수와, 상기 특정 신택스 엘리먼트의 복호 스텝의 복호 결과에 의거하여, 상기 계수 데이터열을 복호하는 계수 데이터의 복호 스텝을 갖는 것을 특징으로 하는 복호화 방법.
  2. 제 1항에 있어서,
    상기 특정한 신택스 엘리먼트가,
    run before의 신택스 엘리먼트인 것을 특징으로 하는 복호화 방법.
  3. 제 2항에 있어서,
    상기 입력 비트 스트림이,
    ITU-T H.264 방식의 CAVLC 처리에 의한 비트 스트림인 것을 특징으로 하는 복호화 방법.
  4. 제 3항에 있어서,
    coeff token의 신택스 엘리먼트를 복호하는 coeff token의 복호 스텝과,
    total zeros의 신택스 엘리먼트를 복호하는 total zeros의 복호 스텝을 갖는 것을 특징으로 하는 복호화 방법.
  5. 제 2항에 있어서,
    level의 신택스 엘리먼트를 복호하는 level의 복호 스텝을 갖는 것을 특징으 로 하는 복호화 방법.
  6. 소정의 부호화 처리 단위로 직교 변환 처리한 계수 데이터열을 입력 비트 스트림으로부터 복호하는 복호화 방법의 프로그램에 있어서,
    상기 입력 비트 스트림은,
    상기 계수 데이터열에 있어서의 특정치의 미처리의 계수 데이터의 수에 따라 선택된 테이블을 이용하여, 상기 특정치가 아닌 상기 계수 데이터마다, 상기 계수 데이터열에 있어서의 계속되는 상기 특정치의 계수 데이터의 수를 나타내는 특정한 신택스 엘리먼트가 적어도 할당되고,
    상기 복호화 방법은,
    상기 특정치의 미처리의 계수 데이터의 수에 따라 테이블을 선택하는 테이블 선택 스텝과,
    상기 테이블 선택 스텝에서 선택한 테이블을 이용하여, 상기 특정치의 계수 데이터의 수가 0인 상기 특정한 신택스 엘리먼트의 연속수를 검출하는 연속수 검출 스텝과,
    상기 연속수 검출 스텝에서 검출한 연속수의 상기 특정한 신택스 엘리먼트에 계속되는 상기 특정한 신택스 엘리먼트를 복호하는 특정 신택스 엘리먼트의 복호 스텝과,
    상기 연속수 검출 스텝, 상기 특정 신택스 엘리먼트의 복호 스텝의 처리에 따라, 상기 특정치의 미처리의 계수 데이터의 수를 갱신하는 갱신 스텝과,
    상기 연속수 검출 스텝에서 검출한 연속수와, 상기 특정 신택스 엘리먼트의 복호 스텝의 복호 결과에 의거하여, 상기 계수 데이터열을 복호하는 계수 데이터의 복호 스텝을 갖는 것을 특징으로 하는 복호화 방법의 프로그램.
  7. 소정의 부호화 처리 단위로 직교 변환 처리한 계수 데이터열을 입력 비트 스트림으로부터 복호하는 복호화 방법의 프로그램을 기록한 기록 매체에 있어서,
    상기 입력 비트 스트림은,
    상기 계수 데이터열에 있어서의 특정치의 미처리의 계수 데이터의 수에 따라 선택된 테이블을 이용하여, 상기 특정치가 아닌 상기 계수 데이터마다, 상기 계수 데이터열에 있어서의 계속되는 상기 특정치의 계수 데이터의 수를 나타내는 특정한 신택스 엘리먼트가 적어도 할당되고,
    상기 복호화 방법은,
    상기 특정치의 미처리의 계수 데이터의 수에 따라 테이블을 선택하는 테이블 선택 스텝과,
    상기 테이블 선택 스텝에서 선택한 테이블을 이용하여, 상기 특정치의 계수 데이터의 수가 0인 상기 특정한 신택스 엘리먼트의 연속수를 검출하는 연속수 검출 스텝과,
    상기 연속수 검출 스텝에서 검출한 연속수의 상기 특정한 신택스 엘리먼트에 계속되는 상기 특정한 신택스 엘리먼트를 복호하는 특정 신택스 엘리먼트의 복호 스텝과,
    상기 연속수 검출 스텝, 상기 특정 신택스 엘리먼트의 복호 스텝의 처리에 따라, 상기 특정치의 미처리의 계수 데이터의 수를 갱신하는 갱신 스텝과,
    상기 연속수 검출 스텝에서 검출한 연속수와, 상기 특정 신택스 엘리먼트의 복호 스텝의 복호 결과에 의거하여, 상기 계수 데이터열을 복호하는 계수 데이터의 복호 스텝을 갖는 것을 특징으로 하는 복호화 방법의 프로그램을 기록한 기록 매체.
  8. 소정의 부호화 처리 단위로 직교 변환 처리한 계수 데이터열을 입력 비트 스트림으로부터 복호하는 복호화 장치에 있어서,
    상기 입력 비트 스트림은,
    상기 계수 데이터열에 있어서의 특정치의 미처리의 계수 데이터의 수에 따라 선택된 테이블을 이용하여, 상기 특정치가 아닌 상기 계수 데이터마다, 상기 계수 데이터열에 있어서의 계속되는 상기 특정치의 계수 데이터의 수를 나타내는 특정한 신택스 엘리먼트가 적어도 할당되고,
    상기 복호화 장치는,
    상기 특정치의 미처리의 계수 데이터의 수에 따라 테이블을 선택하는 테이블 선택부와,
    상기 테이블 선택부에서 선택한 테이블을 이용하여, 상기 특정치의 계수 데이터의 수가 0인 상기 특정한 신택스 엘리먼트의 연속수를 검출하는 연속수 검출부와,
    상기 연속수 검출부에서 검출한 연속수의 상기 특정한 신택스 엘리먼트에 계속되는 상기 특정한 신택스 엘리먼트를 복호하는 특정 신택스 엘리먼트의 복호부와,
    상기 연속수 검출부, 상기 특정 신택스 엘리먼트의 복호부의 처리에 따라, 상기 특정치의 미처리의 계수 데이터의 수를 갱신하는 갱신부와,
    상기 연속수 검출부에서 검출한 연속수와, 상기 특정 신택스 엘리먼트의 복호부의 복호 결과에 의거하여, 상기 계수 데이터열을 복호하는 계수 데이터의 복호부를 갖는 것을 특징으로 하는 복호화 장치.
KR20087031550A 2006-07-26 2007-06-20 복호화 방법, 복호화 방법의 프로그램, 복호화 방법의 프로그램을 기록한 기록 매체, 복호화 장치 KR20090048547A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006202973A JP4379444B2 (ja) 2006-07-26 2006-07-26 復号化方法、復号化方法のプログラム、復号化方法のプログラムを記録した記録媒体、復号化装置
JPJP-P-2006-202973 2006-07-26

Publications (1)

Publication Number Publication Date
KR20090048547A true KR20090048547A (ko) 2009-05-14

Family

ID=38981336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20087031550A KR20090048547A (ko) 2006-07-26 2007-06-20 복호화 방법, 복호화 방법의 프로그램, 복호화 방법의 프로그램을 기록한 기록 매체, 복호화 장치

Country Status (7)

Country Link
US (1) US8189674B2 (ko)
EP (1) EP2045925A1 (ko)
JP (1) JP4379444B2 (ko)
KR (1) KR20090048547A (ko)
CN (1) CN101496289B (ko)
TW (1) TW200818921A (ko)
WO (1) WO2008013020A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008227946A (ja) * 2007-03-13 2008-09-25 Toshiba Corp 画像復号装置
JP4945513B2 (ja) * 2008-06-04 2012-06-06 ルネサスエレクトロニクス株式会社 可変長復号装置およびそれを用いた動画復号装置
KR101501568B1 (ko) 2008-07-04 2015-03-12 에스케이 텔레콤주식회사 영상 부호화 및 복호화 장치 및, 방법
JP2010278668A (ja) * 2009-05-27 2010-12-09 Sony Corp 符号化装置及び符号化方法、並びに復号装置及び復号方法
JP2011188431A (ja) * 2010-03-11 2011-09-22 Hitachi Kokusai Electric Inc 可変長復号装置
US10091529B2 (en) 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
MY184131A (en) 2010-07-09 2021-03-19 Samsung Electronics Co Ltd Method and apparatus for entropy encoding/decoding a transform coefficient

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0562662A (ja) 1991-09-03 1993-03-12 Matsushita Electric Ind Co Ltd 非水電解質二次電池
JP3721639B2 (ja) 1996-06-21 2005-11-30 住友化学株式会社 パラアラミド系多孔質フィルムおよびそれを使用した電池用セパレーター
JP4038868B2 (ja) 1997-03-26 2008-01-30 住友化学株式会社 パラアラミド系多孔質フィルムおよびそれを用いた電池用セパレーターとリチウム二次電池
JP2002076908A (ja) 1999-06-09 2002-03-15 Matsushita Electric Ind Co Ltd 可変長符号復号化装置、デジタル放送受信装置及びdvd再生装置
JP2002355938A (ja) 2001-05-30 2002-12-10 Tonen Chem Corp 複合膜、その製造方法及びそれを用いた電池用セパレータ又はフィルター
US6795584B2 (en) * 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
US6646578B1 (en) * 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
KR100959532B1 (ko) * 2003-12-18 2010-05-27 엘지전자 주식회사 Cavlc 복호 방법
JP2005209570A (ja) 2004-01-26 2005-08-04 Teijin Ltd 非水系二次電池用セパレータ、その製造法および非水系二次電池
US20050259742A1 (en) * 2004-05-21 2005-11-24 Hellman Timothy M System and method for choosing tables in CAVLC
JP2006054846A (ja) * 2004-07-12 2006-02-23 Sony Corp 符号化方法、符号化装置、復号方法、復号装置およびそれらのプログラム
JP4502384B2 (ja) * 2004-11-25 2010-07-14 キヤノン株式会社 可変長符号復号化装置及び可変長符号復号化方法
JP4271134B2 (ja) * 2004-12-10 2009-06-03 株式会社東芝 可変長符号化デコーダおよびデコード方法
US20060126744A1 (en) * 2004-12-10 2006-06-15 Liang Peng Two pass architecture for H.264 CABAC decoding process
US7751636B2 (en) * 2005-09-23 2010-07-06 Faraday Technology Corp. Method for decoding transform coefficients corresponding to an image
US7245242B2 (en) * 2005-11-28 2007-07-17 Conexant Systems, Inc. Decoding systems and methods
KR100813877B1 (ko) * 2006-05-11 2008-03-18 전자부품연구원 효율적인 h.264/avc cavlc 디코딩 방법
TWI314820B (en) * 2006-05-26 2009-09-11 Ind Tech Res Inst Pattern-search based method for context-adaptive variable length coding/decoding

Also Published As

Publication number Publication date
JP2008034920A (ja) 2008-02-14
EP2045925A1 (en) 2009-04-08
CN101496289A (zh) 2009-07-29
WO2008013020A1 (en) 2008-01-31
JP4379444B2 (ja) 2009-12-09
CN101496289B (zh) 2012-08-08
TW200818921A (en) 2008-04-16
US20090316792A1 (en) 2009-12-24
TWI340599B (ko) 2011-04-11
US8189674B2 (en) 2012-05-29

Similar Documents

Publication Publication Date Title
US7418146B2 (en) Image decoding apparatus
US8666179B2 (en) Image encoding apparatus and decoding apparatus
KR101695681B1 (ko) 상황-기반의 적응형 이진 산술 코딩(cabac)비디오 스트림 준수
KR101303375B1 (ko) 값들의 블록들을 인코딩하는 방법 및 디바이스
KR20090048547A (ko) 복호화 방법, 복호화 방법의 프로그램, 복호화 방법의 프로그램을 기록한 기록 매체, 복호화 장치
US20100177819A1 (en) Method and an apparatus for processing a video signal
JP2004518373A (ja) 圧縮情報信号のウォーターマーキング
JP2006054846A (ja) 符号化方法、符号化装置、復号方法、復号装置およびそれらのプログラム
US7065252B1 (en) System and method providing improved data compression via wavelet coefficient encoding
US8457428B2 (en) Image coding apparatus, control method thereof, and storage medium
TWI533670B (zh) 位元串流型式之畫像的解碼方法
JP4460521B2 (ja) 直交変換係数のスキャン方法,逆スキャン方法,スキャン装置,逆スキャン装置,およびそのプログラム並びにそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2008099134A (ja) データ復号装置及びプログラム
JP2010136454A (ja) 復号方法、復号装置およびそのプログラム並びに記録媒体
JP2014212374A (ja) 画像符号化装置、画像符号化方法、画像符号化プログラムおよび記録媒体
Seki et al. Quantization-based image steganography without data hiding position memorization
WO2000018133A1 (en) Encoding device and method, and decoding device and method
JP3866539B2 (ja) 符号化方法,復号方法,符号化装置,復号装置,符号化プログラム,復号プログラムおよびそれらのプログラム記録媒体
JP3826123B2 (ja) 画像符号化方法及び装置
JP3542572B2 (ja) 画像復号方法及び装置
JP2006295683A (ja) 画像符号化方法及び画像符号化装置
JP2001275119A (ja) 画像処理装置及びその方法、コンピュータ可読メモリ
JP2000261812A (ja) 画像符号化装置および復号装置
JP3310633B2 (ja) 復号装置
JP2005277758A (ja) 画像復号装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid