KR20090008304A - 동화상 처리 방법, 동화상 처리 방법의 프로그램, 동화상 처리 방법의 프로그램을 기록한 기록 매체 및 동화상 처리 장치 - Google Patents

동화상 처리 방법, 동화상 처리 방법의 프로그램, 동화상 처리 방법의 프로그램을 기록한 기록 매체 및 동화상 처리 장치 Download PDF

Info

Publication number
KR20090008304A
KR20090008304A KR20087026633A KR20087026633A KR20090008304A KR 20090008304 A KR20090008304 A KR 20090008304A KR 20087026633 A KR20087026633 A KR 20087026633A KR 20087026633 A KR20087026633 A KR 20087026633A KR 20090008304 A KR20090008304 A KR 20090008304A
Authority
KR
South Korea
Prior art keywords
probability state
processing
memory
state variable
context
Prior art date
Application number
KR20087026633A
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 KR20090008304A publication Critical patent/KR20090008304A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods 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 characterised by memory arrangements
    • 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/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

Landscapes

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

Abstract

본 발명은, 예를 들면 ITU-T H. 264에 의한 동화상의 부호화 장치, 복호화 장치에 적용하여, 액세스 레이턴시가 작은 제 2의 메모리(13)에 보존한 확률상태 변수를 이용하여 출현 빈도가 높은 신택스 엘리먼트를 처리하고, 액세스 레이턴시가 큰 제 1의 메모리(12)에 보존한 확률상태 변수를 이용하여 다른 신택스 엘리먼트를 처리한다.

Description

동화상 처리 방법, 동화상 처리 방법의 프로그램, 동화상 처리 방법의 프로그램을 기록한 기록 매체 및 동화상 처리 장치{DYNAMIC IMAGE PROCESSING METHOD, PROGRAM FOR THE DYNAMIC IMAGE PROCESSING METHOD, RECORDING MEDIUM CONTAINING THE PROGRAM FOR THE DYNAMIC IMAGE PROCESSING METHOD, DYNAMIC IMAGE PROCESSING DEVICE}
본 발명은, 동화상 처리 방법, 동화상 처리 방법의 프로그램, 동화상 처리 방법의 프로그램을 기록한 기록 매체 및 동화상 처리 장치에 관한 것으로서, 예를 들면 ITU(International Telecommunication Union)-T H. 264에 의한 동화상의 부호화 장치, 복호화 장치에 적용할 수 있다. 본 발명은, 액세스 레이턴시가 작은 제 2의 메모리에 보존한 확률상태 변수를 이용하여 출현 빈도가 높은 신택스 엘리먼트를 처리하고, 액세스 레이턴시가 큰 제 1의 메모리에 보존한 확률상태 변수를 이용하여 다른 신택스 엘리먼트를 처리함에 의해, 전체 구성의 대형화를 방지하고, 종래에 비하여 처리 속도를 고속도화 한다.
종래, 동화상의 부호화 처리에서는, 엔트로피 부호화 처리의 수법을 적용하 여 동화상을 효율 좋게 데이터 압축하고 있다. 또한 MPEG(Moving Picture Experts Group)2, MPEG4 등에서는, 이 엔트로피 부호화 처리에, 가변 길이 부호화 처리가 적용되고 있다. 또한 ITU-T H. 264에서는, 이 엔트로피 부호화 처리에, 콘텍스트 적응형 2치 산술 부호화 처리(CABAC : Context-based Adaptive Binary Arithmetic Coding)가 적용되고 있다.
여기서 콘텍스트 적응형 2치 산술 부호화 처리는, 가변 길이 부호화 처리에 비하여 효율 좋게 데이터 압축할 수 있기 때문에, 일정한 비트 레이트로 데이터 전송하는 경우, MPEG2, MPEG4의 부호화 처리에 비하여, ITU-T H. 264의 부호화 처리에서는 화질을 향상할 수 있다. 그러나 콘텍스트 적응형 2치 산술 부호화 처리는, 가변 길이 부호화 처리에 비하여, 처리가 복잡하고, 처리 부하가 큰 결점이 있다.
도 1은, 이 콘텍스트 적응형 2치 산술 부호화 처리의 처리 순서를 도시하는 플로우 차트이다. 콘텍스트 적응형 2치 산술 부호화 처리는, 순차로 연속하는 신택스 엘리먼트(syntax element)마다 이 처리를 실행한다. 콘텍스트 적응형 2치 산술 부호화 처리는, 이 도 1의 처리 순서의 실행에 의해, 연속하는 신택스 엘리먼트를 콘텍스트 계산하여 각 신택스 엘리먼트(syntax element)가 취할 수 있는 확률상태 변수를 순차로 검출한다. 또한 검출한 확률상태 변수를 순차로 선택하여 처리하고, 신택스 엘리먼트(syntax element)를 부호화한다.
즉 콘텍스트 적응형 2치 산술 부호화 처리는, 이 처리를 시작하면, 스텝 SP1부터 스텝 SP2로 이동하여, 처리 대상의 다치(多値)의 신택스 엘리먼트(syntax element)를 취득한다. 콘텍스트 적응형 2치 산술 부호화 처리는, 계속되는 스텝 SP3의 2치화 처리에 의해, 스텝 SP2에서 취득한 신택스 엘리먼트를 각 신택스 엘리먼트(syntax element)의 종류에 따른 규칙에 따라 2치화한다.
계속해서 콘텍스트 적응형 2치 산술 부호화 처리는, 스텝 SP4의 콘텍스트 계산 처리에 의해 스텝 SP3에서 변환한 개개의 2치의 위치에 대해 콘텍스트 번호(ctxIdx)를 구한다. 여기서 콘텍스트 번호(ctxIdx)는, 확률상태 변수를 특정하는 번호이고, 확률상태 변수는, 2치에서의 각 값의 출현 확률을 나타내는 변수이다. 확률상태 변수는, 각 2치의 값에 대응하는 MPS(most probable symbol)와 스테이트 번호(stateIdx)로 표시된다. 여기서 MPS(most probable symbol)는, 발생 확률이 높은 심볼인지의 여부를 나타내는 플래그이고, 스테이트 번호(stateIdx)는, MPS의 심볼의 발생 확률 테이블을 나타내는 번호이다. 따라서 콘텍스트 적응형 2치 산술 부호화 처리는, 스텝 SP4의 콘텍스트 계산 처리에 의해, 처리 대상의 신택스 엘리먼트(syntax element)의 각 2치가 취할 수 있는 확률상태 변수를 각각 콘텍스트 번호(ctxIdx)로 구한다.
계속해서 콘텍스트 적응형 2치 산술 부호화 처리는, 스텝 SP5의 확률 추정 처리에서, 스텝 SP4에서 구한 콘텍스트 번호(ctxIdx)에 의거하여, 처리 대상의 2치의 값에 대응하는 MPS(most probable symbol)와 스테이트 번호(stateIdx)를 선택한다.
콘텍스트 적응형 2치 산술 부호화 처리는, 계속되는 스텝 SP6의 산술 부호화 처리에서, 스텝 SP5에서 선택한 MPS(most probable symbol)와 스테이트 번호(stateIdx)를 이용하여 산술 부호화 처리를 실행한다.
콘텍스트 적응형 2치 산술 부호화 처리는, 부호화하여야 할 모든 2치의 처리를 완료할 때까지, 하위측(下位側)의 2치로부터 스텝 SP4-SP5-SP6-SP4의 처리 순서를 반복하여 순차로 비트 스트림(bitstream)을 생성한다. 또한 부호화하여야 할 모든 2치의 처리를 완료하면, 스텝 SP6부터 스텝 SP7로 이동하여 생성한 비트 스트림(bitstream)을 출력하고, 스텝 SP8로 이동하여 이 처리 순서를 종료한다.
또한 콘텍스트 적응형 2치 산술 부호화 처리는, 스텝 SP6부터 스텝 SP4의 화살표로 도시하는 바와 같이, 하나의 신택스 엘리먼트(syntax element)를 처리하면, 그 처리 결과에 의거하여 메모리에 보존한 확률상태 변수를 갱신하고, 동일한 신택스 엘리먼트를 부호화 처리하는 경우, 이 갱신한 확률상태 변수를 사용하여 부호화 처리를 실행한다.
이에 대해 도 2는, 콘텍스트 적응형 2치 산술 복호화 처리를 도시하는 플로우 차트이다. 콘텍스트 적응형 2치 산술 복호화 처리는, 신택스 엘리먼트(syntax element)마다 이 처리를 실행하고, 콘텍스트 적응형 2치 산술 부호화 처리와 마찬가지로, 연속하는 신택스 엘리먼트(syntax element)를 콘텍스트 계산하여 각 신택스 엘리먼트(syntax element)가 취할 수 있는 확률상태 변수를 순차로 검출한다. 또한 검출한 확률상태 변수를 순차로 선택하여 처리하고, 신택스 엘리먼트(syntax element)를 복호화한다.
즉 콘텍스트 적응형 2치 산술 복호화 처리는, 이 처리 순서를 시작하면, 스텝 SP11부터 스텝 SP12로 이동한다. 여기서 콘텍스트 적응형 2치 산술 복호화 처리는, 복호화 처리하는 비트 스트림으로부터 신택스 엘리먼트(syntax element)의 종 류별을 특정하는 신택스 모드(Syntax 모드), 처리 대상의 비트 위치를 특정하는 정보인 bin을 검출한다.
또한 계속되는 스텝 SP13에서, 이 스텝 SP12에서 취득한 정보를 이용하여 콘텍스트 계산하고, 콘텍스트 적응형 2치 산술 부호화 처리와 동일하게, 대응하는 콘텍스트 번호(ctxIdx)를 구한다. 콘텍스트 적응형 2치 산술 복호화 처리는, 이 콘텍스트 번호(ctxIdx)를 이용하여, 콘텍스트 적응형 2치 산술 부호화 처리와 동일하게, 순차로, MPS와 스테이트 번호(stateIdx)를 구한다. 또한 구한 MPS와 스테이트 번호(stateIdx)를 이용한 산술 부호화 처리에 의해, 부호화시와는 역으로 원래의 2치를 구하고, 스텝 SP17에서, 이 2치를 다치화하여 원래의 신택스 엘리먼트(syntax element)를 복호한다. 또한 콘텍스트 적응형 2치 산술 부호화와 마찬가지로, 처리 결과에 의거하여 확률상태 변수를 갱신하고, 동일한 신택스 엘리먼트(syntax element)를 복호화 처리하는 경우, 이 갱신한 확률상태 변수를 사용하여 복호화 처리를 실행한다.
도 3은, 콘텍스트 적응형 2치 산술 복호화 처리를 실행하는 복호화 장치를 도시하는 블록도이다.
이 복호화 장치(1)에 있어서, 콘텍스트 계산부(2)는, 제어부(3)의 제어에 의해 처리 대상의 비트 스트림(bitstream)으로부터 콘텍스트 번호(ctxIdx)를 구한다. 확률상태 저장부(4)는, 이 콘텍스트 번호(ctxIdx)에 의해 특정되는 확률상태 변수를 메모리(5)에 저장하여 보존하고, 적응 산술 부호 복호부(6)로부터의 액세스에 의해 보존한 확률상태 변수를 적응 산술 부호 복호부(6)에 통지한다. 또한 메모 리(5)에 저장되는 확률상태 변수는, 예를 들면 계수 데이터의 처리에서는, 7bit×59종류이다.
적응 산술 부호 복호부(6)는, 처리 대상의 비트 스트림(bitstream)으로부터 2치화 데이터를 생성하고, 이 2치화 데이터를 이용한 확률 추정에 의해, 스테이트 번호(stateIdx) 및 MPS를 순차로 선택한다. 적응 산술 부호 복호부(6)는, 이 스테이트 번호(stateIdx) 및 MPS를 처리하여 신택스 정보를 생성하고, 산술 복호화 처리를 실행한다. 2치 복호화부(7)는, 적응 산술 부호 복호부(6)의 처리 결과에 의거하여, 원래의 신택스 엘리먼트(syntax element : syntax)를 복호하여 출력한다.
제어부(3)는, 이 복호화 장치(1) 전체의 동작을 제어하는 제어부이고, 적응 산술 부호 복호부(6)에서 생성된 2치화 데이터에 의한 콘텍스트 계산을 콘텍스트 계산부(2)에 지시한다. 또한 콘텍스트 계산부(2)에서 구하여진 콘텍스트 번호(ctxIdx)를 적응 산술 부호 복호부(6)에 통지하고, 또한 적응 산술 부호 복호부(6)의 처리 결과의 처리를 2치 복호화부(7)에 지시한다.
제어부(3)는, 1NAL(Network Abstraction Layer) 유닛의 처리 시작 전에, 확률상태 저장부(4)의 메모리(5)에 보존한 확률상태 변수를 초기화한 후, 적응 산술 부호 복호부(6)의 처리 결과에 따라 메모리(5)에 저장한 확률상태 변수를 갱신한다. 또한 계수 데이터의 처리에서는, 하나의 계수 데이터를 처리할 때의 적응 산술 부호 복호부(6)에서의 실행 결과에 의거하여, 계속되는 계수 데이터로 처리하는 2치의 수를 설정한다.
도 4는, 이 복호화 장치(1)에서의 연속하는 신택스 엘리먼트의 처리의 설명 에 제공하는 타임 차트이다. 콘텍스트 적응형 2치 산술 복호화 처리는, ITU-T H. 264에서 정의되어 있는 슬라이스 데이터 레이어 이하의 복수의 신택스 엘리먼트에 적응된다. 그 때문에 복호화 장치(1)에서는, 매크로 블록마다, 매크로 블록 타입(mb type), 트랜스폼(transform), 코드 블록 패턴(cbp : code brock pattern), 서브 매크로 블록 타입(sub mb type) 등의 신택스 엘리먼트를 순차로 처리한 후, 매크로 블록 처리의 residual 레이어를 처리한다(도 4(A) 및 (C)). 여기서 residual 레이어는, 4×4화소의 residual 블록으로 분할되고, 각 residual 블록에, 화상 데이터를 디스크리트 코사인 변환 처리, 양자화 처리하여 얻어지는 계수 데이터(coeff abs level minus1(도 4에서는, level로 나타내다)가 각각 할당된다(도 4(B)). 복호화 장치(1)는, 이 residual 레이어에서는, 순차로 연속하는 residual 블록의 계수 데이터(coeff abs level minus1)를 부호화 처리한다(도 4(C)).
또한 매크로 블록 타입(mb type), 트랜스폼(transform), 코드 블록 패턴(cbp : code brock pattern), 서브 매크로 블록 타입(sub mb type) 등의 신택스 엘리먼트는, 하나의 매크로 블록에 1개밖에 존재하지 않음에 대해, residual 블록의 계수 데이터(coeff abs level minus1)는, 64개 존재하게 된다. 따라서 예를 들면 이른바 4 : 2 : 0의 화상 데이터를 처리하는 경우, 휘도 신호의 매크로 블록이 16×16화소로 형성되고, 색차 신호의 매크로 블록이 8×8화소로 형성되어 있기 때문에, 이 경우, 하나의 매크로 블록은, 6×64=384개의 계수 데이터(coeff abs level minus1)가 존재하게 된다.
따라서 복호화 장치(1)는, residual 블록의 계수 데이터(coeff abs level minus1)를 부호화 처리할 때에, 처음에 메모리(5)에 기록한 확률상태 변수를 초기화한 후, 적응 산술 부호 복호부(6)의 처리 결과에 따라 이 메모리(5)에 저장한 확률상태 변수를 순차로 갱신한다. 또한 이 초기화의 처리는, 1NAL(Network Abstraction Layer) 유닛의 시작시, 실행된다. 또한 하나의 계수 데이터(coeff abs level minus1)를 처리할 때의 적응 산술 부호 복호부(6)에 있어서의 실행 결과에 의거하여, 계속되는 계수 데이터(coeff abs level minus1)에서 처리하는 2치의 수를 설정한다.
도 5는, 이 residual 블록의 계수 데이터(coeff abs level minus1)의 연속한 처리의 설명에 제공하는 타임 차트이다. 또한 이 도 5는, 도 3의 메모리(5)를 액세스 레이턴시가 큰 SRAM으로 구성하는 경우이다. 또각 처리의 단락은, 처리 단위의 1사이클이다. 복호화 장치(1)는, 처음에 메모리(5)의 내용을 초기화한 후, 선두의 계수 데이터(coeff abs level minus1(0))의 콘텍스트을 콘텍스트 계산부(2)에서 계산한다(도 5(A) 및 (B)). 또한 이 도 5의 예에서는, 이 콘텍스트의 계산에 의해 최하위의 2치로 콘텍스트 번호(ctxIdxO)가 구하여지고, 계속되는 제 2 내지 제 4의 2치에서 연속하여 하나의 콘텍스트 번호(ctxIdx1)가 구하여진 경우이다. 따라서 이 2개의 콘텍스트 번호(ctxIdxO), (ctxIdx1)중의 2번째의 콘텍스트 번호(ctxIdx1)는, 제 2 내지 제 4의 2치의 처리에 사용된다. 또한 이하에 있어서, 적절히, 선두로부터의 순번을 나타내는 괄호 기재의 숫자로 각 계수 데이터를 나타낸다.
복호화 장치(1)에서는, 이 콘텍스트 번호(ctxIdxO), (ctxIdx1)중의, 선두의 콘텍스트 번호(ctxIdxO)에 의거하여 적응 산술 부호 복호부(6)의 확률 계 산(arith0)에서 메모리(5)에 기록된 스테이트 번호(stateIdx0) 및 MPS가 선택되고(도 5(C) 및 (D)), 또한 계속되는 확률 계산(arith1)에서 또한 콘텍스트 번호(ctxIdx1)에 의거하여 메모리(5)에 기록된 스테이트 번호(stateIdx1) 및 MPS가 선택된다. 복호화 장치(1)는, 처리하여야 할 2치의 수만큼, 이 스테이트 번호(stateIdx) 및 MPS의 선택을 반복하고, 처리 결과(bin)를 2치 복호화부(7)에서 처리하여 신택스 엘리먼트(syntax0)를 복호한다(도 5(E) 및 (F)). 또한 화살표(A)로 도시하는 바와 같이, 처리 결과에 의거하여 메모리(5)에 기록된 확률상태 변수를 갱신한 후, 계속되는 계수 데이터(coeff abs level minus1)를 마찬가지로 처리한다.
이와 같은 콘텍스트 적응형 2치 산술 복호화 장치에 관해, 일본 특개2005-130099호 공보, 일본 특개2005-217871호 공보 등에는, 처리 속도를 고속도화하는 궁리가 제안되어 있다.
그런데 이런 종류의 부호화 장치, 복호화 장치에서는, 처리 속도를 고속도화하는 것이 요망된다. 이 고속도화의 관점에서 도 5에 도시하는 복호화 장치(1)의 동작을 검토한 바 연속하는 신택스 엘리먼트(syntax element : syntax)의 처리의 사이에서 빈 시간이 발생하는 문제를 알았다.
즉 도 5에 도시하는 바와 같이, 메모리(5)를 액세스 레이턴시가 큰 SRAM으로 구성하는 경우, 확률상태 변수의 스테이트 번호(stateIdx) 및 MPS는, 콘텍스트를 계산한 후, 2사이클 후에 취득되게 된다. 이 도 5의 예에서는, 이 콘텍스트 계산 결과에 의한 확률상태 변수의 처리를 계속되는 4사이클에서 실행하고, 신택스 엘리 먼트(syntax element : syntax)를 복호하게 된다. 또한 여기서 이 콘텍스트 계산 결과에 의한 확률상태 변수의 처리는, 확률상태 변수의 취득 처리, 산술 복호화 처리, 2치화 처리이고, 이 도 5의 예에서는 이들의 처리를 파이프라인 방식에 의해 실행하고 있다. 또한 신택스 엘리먼트(syntax element : syntax)를 복호한 후, 처리 결과에 의거하여 메모리(5)의 기록을 갱신하고, 계속되는 계수 데이터(coeff abs level minus1)의 처리를 시작하게 된다. 따라서 메모리(5)를 액세스 레이턴시가 큰 SRAM으로 구성하는 경우, 종래의 복호화 장치(1)에서는, 하나의 신택스 엘리먼트로 확률상태 변수의 처리를 완료한 후, 계속되는 신택스 엘리먼트로 확률상태 변수의 처리를 시작하기까지의 사이에서, 3사이클의 빈 시간이 발생한다.
이 3사이클의 빈 시간은, 모든 계수 데이터의 처리에서 발생하고, 하나의 매크로 블록에서는, 연속한 계수 데이터의 처리에서 발생하기 때문에, 전체로서 본 경우에는, 극히 큰 빈 시간이 된다.
이 문제를 해결한 하나의 방법으로서, 메모리(5)에 액세스 레이턴시가 0인 레지스터를 적용하여 확률상태 변수를 보존하는 방법도 생각된다. 그러나 이 방법의 경우, 상술한 3사이클의 빈 시간을 1사이클로 단축할 수는 있지만, SRAM에 비하여 메모리(5)의 면적이 커지고, 전체 구성이 대형화하는 문제가 있다.
본 발명은 이상의 점을 고려하여 이루어진 것으로, 전체 구성의 대형화를 방지하고, 종래에 비하여 처리 속도를 고속도화할 수 있는 동화상 처리 방법, 동화상 처리 방법의 프로그램, 동화상 처리 방법의 프로그램을 기록한 기록 매체 및 동화상 처리 장치를 제안하고자 하는 것이다.
상기한 과제를 해결하기 위해 본 발명은, 콘텍스트를 계산하여 동화상을 부호화 또는 복호화하는 동화상 처리 방법에 적용하여, 상기 동화상을 구성하는 신택스 엘리먼트의 콘텍스트를 계산하고, 상기 신택스 엘리먼트가 취할 수 있는 확률상태 변수를 순차로 검출하는 콘텍스트 계산 처리의 스텝과, 상기 콘텍스트 계산 처리의 스텝에서 구한 상기 확률상태 변수를 순차로 선택하여 처리하고, 상기 신택스 엘리먼트를 부호화 또는 복호화하는 확률상태 변수의 처리 스텝을 가지며, 상기 확률상태 변수의 처리 스텝은, 확률상태 저장부에 보존한 상기 확률상태 변수를 선택하는 확률상태 변수의 선택 스텝을 가지며, 상기 확률상태 저장부에는, 제 1의 메모리와, 상기 제 1의 메모리에 비하여 액세스 레이턴시가 작은 제 2의 메모리가 마련되고, 상기 확률상태 변수의 선택 스텝은, 출현 빈도가 낮은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 1의 메모리로부터 상기 확률상태 변수를 순차로 선택하고, 출현 빈도가 높은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 2의 메모리로부터 상기 확률상태 변수를 순차로 선택한다.
본 발명의 구성에 있어서, 액세스 레이턴시가 작은 제 2의 메모리를 이용하여 확률상태 변수를 선택하는 구성은, 전체 형상이 커지는 것이지만, 처리 속도를 고속도화할 수 있다. 이에 대해 액세스 레이턴시가 큰 제 1의 메모리를 이용하여 확률상태 변수를 선택하는 구성은, 전체 형상이 작아지는 것이지만, 처리 속도를 고속도화하는 것이 곤란해진다. 따라서 청구항 제 1항의 구성에 의해, 출현 빈도가 낮은 신택스 엘리먼트를 처리하는 경우에는, 제 1의 메모리로부터 확률상태 변수를 순차로 선택하고, 출현 빈도가 높은 신택스 엘리먼트를 처리하는 경우에는, 제 2의 메모리로부터 확률상태 변수를 순차로 선택하도록 구성하면, 제 1 및 제 2의 메모리를 사용하는 경우의 양자의 장점을 살려서, 전체 구성의 대형화를 방지하고, 종래에 비하여 처리 속도를 고속도화할 수 있다.
또한 본 발명은, 콘텍스트를 계산하여 동화상을 부호화 또는 복호화하는 동화상 처리 방법의 프로그램에 적용하여, 상기 동화상을 구성하는 신택스 엘리먼트의 콘텍스트를 계산하고, 상기 신택스 엘리먼트가 취할 수 있는 확률상태 변수를 순차로 검출하는 콘텍스트 계산 처리의 스텝과, 상기 콘텍스트 계산 처리의 스텝에서 구한 상기 확률상태 변수를 순차로 선택하여 처리하고, 상기 신택스 엘리먼트를 부호화 또는 복호화하는 확률상태 변수의 처리 스텝을 가지며, 상기 확률상태 변수의 처리 스텝은, 확률상태 저장부에 보존한 상기 확률상태 변수를 선택하는 확률상태 변수의 선택 스텝을 가지며, 상기 확률상태 저장부에는, 제 1의 메모리와, 상기 제 1의 메모리에 비하여 액세스 레이턴시가 작은 제 2의 메모리가 마련되고, 상기 확률상태 변수의 선택 스텝은, 출현 빈도가 낮은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 1의 메모리로부터 상기 확률상태 변수를 순차로 선택하고, 출현 빈도가 높은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 2의 메모리로부터 상기 확률상태 변수를 순차로 선택한다.
본 발명의 구성에 있어서, 액세스 레이턴시가 작은 제 2의 메모리를 이용하여 확률상태 변수를 선택하는 구성은, 전체 형상이 커지는 것이지만, 처리 속도를 고속도화할 수 있다. 이에 대해 액세스 레이턴시가 큰 제 1의 메모리를 이용하여 확률상태 변수를 선택하는 구성은, 전체 형상이 작아지는 것이지만, 처리 속도를 고속도화하는 것이 곤란해진다. 따라서 본 발명의 구성에 의해, 출현 빈도가 낮은 신택스 엘리먼트를 처리하는 경우에는, 제 1의 메모리로부터 확률상태 변수를 순차로 선택하고, 출현 빈도가 높은 신택스 엘리먼트를 처리하는 경우에는, 제 2의 메모리로부터 확률상태 변수를 순차로 선택하도록 구성하면, 제 1 및 제 2의 메모리를 사용하는 경우의 양자의 장점을 살려서, 전체 구성의 대형화를 방지하고, 종래에 비하여 처리 속도를 고속도화할 수 있다.
또한 본 발명은, 콘텍스트를 계산하여 동화상을 부호화 또는 복호화하는 동화상 처리 방법의 프로그램을 기록한 기록 매체에 적용하고, 상기 동화상 처리 방법의 프로그램은, 상기 동화상을 구성하는 신택스 엘리먼트의 콘텍스트를 계산하고, 상기 신택스 엘리먼트가 취할 수 있는 확률상태 변수를 순차로 검출하는 콘텍스트 계산 처리의 스텝과, 상기 콘텍스트 계산 처리의 스텝에서 구한 상기 확률상태 변수를 순차로 선택하여 처리하고, 상기 신택스 엘리먼트를 부호화 또는 복호화하는 확률상태 변수의 처리 스텝을 가지며, 상기 확률상태 변수의 처리 스텝은, 확률상태 저장부에 보존한 상기 확률상태 변수를 선택하는 확률상태 변수의 선택 스텝을 가지며, 상기 확률상태 저장부에는, 제 1의 메모리와, 상기 제 1의 메모리에 비하여 액세스 레이턴시가 작은 제 2의 메모리가 마련되고, 상기 확률상태 변수의 선택 스텝은, 출현 빈도가 낮은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 1의 메모리로부터 상기 확률상태 변수를 순차로 선택하고, 출현 빈도가 높은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 2의 메모리로부터 상기 확률상태 변수를 순차로 선택한다.
본 발명의 구성에 있어서, 액세스 레이턴시가 작은 제 2의 메모리를 이용하여 확률상태 변수를 선택하는 구성은, 전체 형상이 커지는 것이지만, 처리 속도를 고속도화할 수 있다. 이에 대해 액세스 레이턴시가 큰 제 1의 메모리를 이용하여 확률상태 변수를 선택하는 구성은, 전체 형상이 작아지는 것이지만, 처리 속도를 고속도화하는 것이 곤란해진다. 따라서 본 발명의 구성에 의해, 출현 빈도가 낮은 신택스 엘리먼트를 처리하는 경우에는, 제 1의 메모리로부터 확률상태 변수를 순차로 선택하고, 출현 빈도가 높은 신택스 엘리먼트를 처리하는 경우에는, 제 2의 메모리로부터 확률상태 변수를 순차로 선택하도록 구성하면, 제 1 및 제 2의 메모리를 사용하는 경우의 양자의 장점을 살려서, 전체 구성의 대형화를 방지하고, 종래에 비하여 처리 속도를 고속도화할 수 있다.
또한 본 발명은, 콘텍스트를 계산하여 동화상을 부호화 또는 복호화하는 동화상 처리 장치에 적용하여, 상기 동화상을 구성하는 신택스 엘리먼트의 콘텍스트를 계산하고, 상기 신택스 엘리먼트가 취할 수 있는 확률상태 변수를 순차로 검출하는 콘텍스트 계산부와, 제 1의 메모리와, 상기 제 1의 메모리에 비하여 액세스 레이턴시가 작은 제 2의 메모리가 마련되고, 상기 확률상태 변수를 상기 제 1 및 제 2의 메모리에 보존하는 확률상태 저장부와, 상기 콘텍스트 계산부의 검출 결과에 의거하여, 상기 확률상태 저장부로부터 상기 확률상태 변수를 순차로 선택하여 처리하고, 상기 신택스 엘리먼트를 부호화 또는 복호화하는 확률상태 변수 처리부를 가지며, 상기 확률상태 변수 처리부는, 출현 빈도가 낮은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 1의 메모리로부터 상기 확률상태 변수를 순차로 선택하고, 출현 빈도가 높은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 2의 메모리로부터 상기 확률상태 변수를 순차로 선택한다.
본 발명의 구성에 있어서, 액세스 레이턴시가 작은 제 2의 메모리를 이용하여 확률상태 변수를 선택하는 구성은, 전체 형상이 커지는 것이지만, 처리 속도를 고속도화할 수 있다. 이에 대해 액세스 레이턴시가 큰 제 1의 메모리를 이용하여 확률상태 변수를 선택하는 구성은, 전체 형상이 작아지는 것이지만, 처리 속도를 고속도화한 것이 곤란해진다. 따라서 본 발명의 구성에 의해, 출현 빈도가 낮은 신택스 엘리먼트를 처리하는 경우에는, 제 1의 메모리로부터 확률상태 변수를 순차로 선택하고, 출현 빈도가 높은 신택스 엘리먼트를 처리하는 경우에는, 제 2의 메모리로부터 확률상태 변수를 순차로 선택하도록 구성하면, 제 1 및 제 2의 메모리를 사용하는 경우의 양자의 장점을 살려서, 전체 구성의 대형화를 방지하고, 종래에 비하여 처리 속도를 고속도화할 수 있다.
본 발명에 의하면, 전체 구성의 대형화를 방지하고, 종래에 비하여 처리 속도를 고속도화할 수 있다.
도 1은 콘텍스트 적응형 2치 산술 부호화 처리의 처리 순서를 도시하는 플로우 차트.
도 2는 콘텍스트 적응형 2치 산술 복호화 처리의 처리 순서를 도시하는 플로우 차트.
도 3은 종래의 콘텍스트 적응형 2치 산술 처리에 의한 복호화 장치를 도시하는 블록도.
도 4는 도 3의 복호화 장치에서의 연속하는 신택스 엘리먼트의 처리의 설명에 제공하는 타임 차트.
도 5는 도 3의 복호화 장치에 있어서 residual 블록의 계수 데이터가 연속하는 처리의 설명에 제공하는 타임 차트.
도 6은 본 발명의 실시예 1의 복호화 장치를 도시하는 블록도.
도 7은 도 6의 복호화 장치의 동작의 설명에 제공하는 타임 차트.
도 8은 도 6의 복호화 장치에서의 콘텍스트 번호의 천이를 도시하는 약선도.
도 9는 도 8의 천이에서의 한 예를 도시하는 약선도.
도 10은 도 6의 복호화 장치에서의 레지스터의 구성을 도시하는 약선도.
도 11은 본 발명의 실시예 2의 복호화 장치의 설명에 제공하는 약선도.
도 12는 본 발명의 실시예 3의 부호화 장치의 설명에 제공하는 블록도.
(도면의 주요 부분에 부호의 설명)
1, 10, 20 : 복호화 장치
2, 18 : 콘텍스트 계산부
3, 19 : 제어부
4, 11 : 확률 상태 저장부
5, 12 : 메모리
6, 16 : 적응 산술 부호 복호부
7 : 2치 복호화부
13 : 레지스터
13A : 확률 상태 변수 템퍼러리 레지스터
13B : 확률 상태 변수 레지스터
14 : 선택부
30 : 부호화 장치
32 : 적응 산술 부호부
33 : 2치화부
이하, 적절히 도면을 참조하면서 본 발명의 실시예를 상세히 기술한다.
(1) 실시예 1의 구성
도 6은, 도 3과의 대비에 의해 본 발명의 실시예 1의 복호화 장치를 도시하는 블록도이다. 이 복호화 장치(1)에 있어서, 도 3에 관해 상술한 복호화 장치(1)와 동일한 구성은, 대응하는 부호를 붙여서 나타내고, 중복된 설명은 생략한다. 이 복호화 장치(10)는, ITU-T H. 264의 규정에 따라, 비트 스트림(bitstream)으로부터 신택스 엘리먼트(syntax)를 순차로 복호하고, 이 신택스 엘리먼트(syntax)를 역양자화 처리, 역직교 변환 처리하여 동화상의 화상 데이터를 복호한다. 또한 이 도 6 에 도시하는 각 부분은, 하드웨어로 구성하여도 좋고, 연산 처리 수단의 기능 블록으로 구성하여도 좋다. 또한 연산 처리 수단의 기능 블록으로 구성하는 경우에, 이 연산 처리 수단의 프로그램은, 사전의 인스톨에 의해 제공하도록 하여도 좋고, 또한 광디스크, 자기 디스크, 메모리 카드 등의 기록 매체에 기록하여 제공하도록 하여도 좋고, 나아가서는 인터넷 등의 네트워크를 통한 다운로드에 의해 제공하도록 하여도 좋다.
이 복호화 장치(10)에 있어서, 확률상태 저장부(11)는, 액세스 레이턴시가 큰 제 1의 메모리와, 이 제 1의 메모리에 비하여 액세스 레이턴시가 작은 제 2의 메모리가 마련된다. 여기서 제 1의 메모리는, 이 실시예에서는, 제 2의 메모리에 비하여 소비 전력이 작고 형상이 소형인 예를 들면 SRAM의 메모리(12)에 의해 형성된다. 이에 대해 제 2의 메모리는, 레지스터(13)에 의해 형성된다. 또한 이 레지스터(13)는, 예를 들면 플립플롭으로 구성된다.
확률상태 저장부(11)는, 모든 신택스 엘리먼트의 확률상태 변수를 메모리(12)에 저장한다. 또한 이 메모리(12)에 저장한 확률상태 변수중, 대응하는 신택스 엘리먼트의 출현 빈도가 높고, 사용 빈도가 높은 확률상태 변수를, 레지스터(13)에 로드하여 보존한다. 복호화 장치(10)는, 출현 빈도가 높은 신택스 엘리먼트를 복호하는 경우에는, 레지스터(13)에 보존한 확률상태 변수를 사용하여 이 출현 빈도가 높은 신택스 엘리먼트를 처리한다. 이에 대해 이 출현 빈도가 높은 신택스 엘리먼트 이외의 신택스 엘리먼트는, 메모리(12)에 기록된 데이터를 사용하여 처리한다. 구체적으로, 이 실시예에서는, 이 사용 빈도가 높은 확률상태 변수에, 계수 데이터(coeff abs level minus1)의 확률상태 변수가 할당된다.
확률상태 저장부(11)는, 제어부(19)의 제어에 의해 선택부(14)가 동작을 전환하여, 적응 산술 부호 복호부(16)의 액세스 대상을, 이들 메모리(12)와 레지스터(13)로 전환한다. 또한 제어부(19)의 제어에 의해, 복호 결과에 의거하여 메모리(12)에 기록된 확률상태 변수를 갱신한다. 또한 제어부(19)의 제어에 의해, 메모리(12)에 보존한 확률상태 변수를 레지스터(13)에 로드하고, 복호 결과에 의거하여 메모리(12)에 기록된 확률상태 변수를 갱신하는 경우에는, 이 레지스터(13)에 저장된 대응하는 확률상태 변수를, 메모리(12)의 기록에 대응하도록 갱신한다.
콘텍스트 계산부(18)는, 제어부(19)의 제어에 의해 처리 대상의 비트 스트림(bitstream)으로부터 콘텍스트 번호(ctxIdx)를 구한다. 콘텍스트 계산부(18)는, 연속하는 계수 데이터(coeff abs level minus1(1-N))의 복호 처리에서는, 계속되는 신택스 엘리먼트의 콘텍스트 계산을, 직전의 신택스 엘리먼트에서 계산한 콘텍스트 번호의 확률상태 변수를 처리하고 있는 기간의 사이에서 실행한다.
이 콘텍스트 계산부(18)에서의 콘텍스트의 계산에 대응하도록, 적응 산술 부호 복호부(16)는 비트 스트림(bitstream)을 2치화하여 제어부(19)에 통지한다. 또한 콘텍스트 계산부(18)에서 구하여진 콘텍스트 번호(ctxIdx)에 의거하여, 메모리(12), 레지스터(13)를 액세스하고, MPS(most probable symbol)와 스테이트 번호(stateIdx)를 순차로 선택하고 산술 복호화 처리를 실행한다.
제어부(19)는, 이 복호화 장치(10) 전체의 동작을 제어하는 제어부이고, 계수 데이터(coeff abs level minus1) 이외에 관해서는, 도 4에 관해 상술한 복호화 장치(1)의 제어부(3)과 동일하게 전체의 동작을 제어한다. 즉 이 경우, 제어부(19)는, 적응 산술 부호 복호부(16)에서 생성된 2치화 데이터의 콘텍스트 계산을 콘텍스트 계산부(18)에 지시한다. 또한 콘텍스트 계산부(18)에서 구하여진 콘텍스트 번호(ctxIdx)의 처리를 적응 산술 부호 복호부(16), 2치 복호화부(7)에 지시한다. 또한 적응 산술 부호 복호부(16)의 처리 결과에 의거하여 확률상태 저장부(11)에 보존한 확률상태 변수를 갱신한다.
이에 대해 계수 데이터(coeff abs level minus1)를 복호화 처리하는 경우, 제어부(19)는, 메모리(12)에 저장한 확률상태 변수를 레지스터(13)에 로드하고, 이 레지스터(13)에 로드한 확률상태 변수를 이용하여 스테이트 번호(stateIdx) 및 MPS의 선택을 실행하도록 각 부분의 동작을 제어한다. 또한 하나의 신택스 엘리먼트의 확률상태 변수를 처리하고 있는 기간의 사이에서, 계속되는 신택스 엘리먼트의 콘텍스트를 계산하여 대응하는 확률상태 변수를 레지스터(13)에 저장하도록, 콘텍스트 계산부(18), 적응 산술 부호 복호부(16) 등의 동작을 제어한다.
도 7은, 도 5와의 대비에 의해 제어부(19)의 제어에 의한 계수 데이터(coeff abs level minus1)의 처리를 도시하는 타임 차트이다. 또한 이 도 7은, 도 4의 경우와 동일하게, 선두의 계수 데이터(coeff abs level minus1(0))의 최하위의 2치 및 제 2 내지 제 4의 2치로 콘텍스트 번호(ctxIdx0) 및 콘텍스트 번호(ctxIdx1)가 각각 구하여지고, 계속되는 계수 데이터(coeff abs level minus1(1))의 연속하는 2개의 2치로 각각 콘텍스트 번호(ctxIdx2), (ctxIdx3)가 구하여진 경우이다.
제어부(19)는, 계수 데이터(coeff abs level minus1(0))의 처리를 시작하면, 콘텍스트 계산부(18), 적응 산술 부호 복호부(16)의 제어에 의해, 연속하는 사이클로, 순차에서, 콘텍스트 번호(ctxIdx0), (ctxIdx1)를 구한다(도 7(A) 및 (B)). 또한 확률상태 저장부(11)를 제어하여 콘텍스트 계산부(18)에서 구한 콘텍스트 번호(ctxIdx0), (ctxIdx1)에 대응하는 확률상태 변수를, 계속되는 2개의 사이클에서 각각 메모리(12)로부터 레지스터(13)에 로드한다(도 7(C)). 제어부(19)는, 적응 산술 부호 복호부(16)를 제어하여, 이 레지스터(13)에 로드한 확률상태 변수를 이용하여 스테이트 번호(stateIdx) 및 MPS를 선택하는 확률상태 선택 처리, 산술 복호 처리, 바이너리화 처리를 실행한다(도 7(D) 내지 (F)).
여기서 레지스터(13)는, 액세스 레이턴시가 0이기 때문에, 이들 확률상태 선택 처리, 산술 복호 처리, 바이너리화 처리는, 처리에 사용하는 확률상태 변수를 레지스터(13)에 저장한 사이클에서, 선두의 2치의 처리를 시작한다.
제어부(19)는, 콘텍스트 계산부(18)를 제어하여, 적응 산술 부호 복호부(16)에서 이들 확률상태 선택 처리, 산술 복호 처리, 바이너리화 처리를 실행하고 있는 기간의 사이에서, 계속되는 계수 데이터(coeff abs level minus1(1))의 콘텍스트를 계산한다. 이 실시예에서는, 직전의 계수 데이터(coeff abs level minus1(0))의 콘텍스트의 계산을 완료한 직후의 사이클부터, 이 계속되는 계수 데이터(coeff abs level minus1(1))의 콘텍스트 계산 처리가 시작된다.
또한 제어부(19)는, 이 계속되는 계수 데이터(coeff abs level minus1(1))의 콘텍스트 계산을 완료하면, 계속되는 사이클에서, 이 콘텍스트 계산에서 구하여진 콘텍스트 번호(ctxIdx2), (ctxIdx3)의 확률상태 변수를 메모리(12)로부터 레지스 터(13)에 로드하고, 직전의 계수 데이터(coeff abs level minus1(0))의 처리를 완료하기 전에, 사전에 계속되는 계수 데이터(coeff abs level minus1(1))를 처리 가능하게 이들 확률상태 변수를 레지스터(13)에 보존한다.
제어부(19)는, 적응 산술 부호 복호부(16)의 처리 결과로, 순서대로, 이 레지스터(13), 메모리(12)에 보존한 확률상태 변수를 갱신하고, 직전의 계수 데이터(coeff abs level minus1(0))의 처리를 완료하면, 계속되는 계수 데이터(coeff abs level minus1(1))의 처리를 적응 산술 부호 복호부(16)에 지시한다.
여기서 이 복호화 장치(10)에서는, 계속되는 계수 데이터(coeff abs level minus1(1))의 처리에 필요한 콘텍스트 번호(ctxIdx2), (ctxIdx3)의 확률상태 변수가 사전에 레지스터(13)에 저장되어 있기 때문에, 적응 산술 부호 복호부(16)는, 직전의 계수 데이터(coeff abs level minus1(0))의 처리를 완료하면, 빈 시간을 발생시키는 일 없이, 계속되는 사이클에서 계속되는 계수 데이터(coeff abs level minus1(1))의 처리를 시작할 수 있다. 따라서 복호화 장치(10)에서는, 종래에 비하여 고속도로 화상 데이터를 복호할 수 있다.
또한 제어부(19)는, 이 적응 산술 부호 복호부(16)에 계속되는 계수 데이터(coeff abs level minus1(1))의 처리 시작을 지시하면, 동시에, 콘텍스트 계산부(18)에 또한 계속되는 계수 데이터(coeff abs level minus1(2))의 콘텍스트 계산을 지시한다.
그런데 이와 같이 레지스터(13)에 저장한 확률상태 변수를 처리하고 있는 기간을 유효하게 이용하여, 사전에 계속되는 계수 데이터(coeff abs level minus1(N))를 콘텍스트 계산하여 확률상태 변수를 레지스터(13)에 보존하는 경우, 계속되는 계수 데이터(coeff abs level minus1(N))의 적응 산술 부호 복호부(16)의 처리 시작 시점에서, 확률상태 변수의 레지스터(13)에의 저장이 완료되지 않는 경우도 발생한다. 즉 레지스터(13)에의 확률상태 변수의 저장이, 각 신택스 엘리먼트의 복호화 처리에 시간을 맞추지 못하게 되는 경우가 발생한다.
구체적으로, 도 8은, residual 블록에 존재하는 계수 데이터((coeff level abs minus1 )를 순차로 처리하여 가는 경우에 필요한 콘텍스트 번호와 확률상태 변수를 추측하는 타임 차트이다. 또한 이 도 8의 예에서는, 각 계수 데이터((coeff level abs minus1 )의 각 2치의 값이 0 또는 1인 것으로 한다.
여기서 residual 블록의 선두의 계수 데이터(coeff level abs minus1(0))에 있어서, 콘텍스트 번호(ctxIdx)는, 일의적으로 결정되고, ctxIdx=1이다. 복호화 장치(10)에서는, 이 계수 데이터(coeff level abs minus1(0))의 최하위의 2치(level0 bin0)가 값 0인 경우, 계속되는 계수 데이터(coeff level abs minus1(1))의 처리로 이동하여, 이 계속되는 계수 데이터(coeff level abs minus1(1))의 최하위의 2치(level1 bin0)를 처리하게 된다. 또한 이것과는 역으로 계수 데이터((coeff level abs minus1(0))의 최하위의 2치(level0 bin0)가 값 1인 경우, 계속되는 상위의 2치(level0 bin1)를 처리하게 된다. 여기서 이 도 8의 예에서는, 이들의 2치(level1 bin0), (level0 bin1)의 콘텍스트 번호(ctxIdx)가 각각 ctxIdx=2, ctxIdx=5라고 한다.
또한 이 도 8의 예에서는, 선두 계수 데이터(coeff level abs minus1(0))에 계속되는 2치(level0 bin1)가 선택된 경우, 계속해서 계속되는 계수 데이터(coeff level abs minus1(1))의 최하위의 2치(level1 bin0)를 처리하게 된다. 또한 계수 데이터(coeff level abs minus1(0))의 최하위의 2치(level0 bin0)가 값 0이고, 계속되는 계수 데이터(coeff level abs minus1(1))의 최하위의 2치(level1 bin0)가 값 0 및 값 1인 경우, 각각 계속되는 계수 데이터(coeff level abs minus1(2))의 최하위의 2치(level2bin0), 동일 계수 데이터(coeff level abs minus1(2))가 계속되는 2치(level2bin1)를 처리하게 된다. 또한 이 도 8의 오른쪽 끝의 표시는, 이 도 8에서의 최종적인 천이처(遷移先)에 있어서, 각 천이처 이르는 각 계수 데이터를 나타내는 것이다. 또한 도 9는, 이 도 8에 대응하지 않는 것이지만, 연속한 계수 데이터에 있어서, 각 2치가 값 1로 소정 개수만큼 연속하는 경우의 천이를 도시하는 약선도이다.
따라서 이 도 8의 예를 처리하는 경우, 선두 계수 데이터(coeff level abs minus1(0))의 콘텍스트 계산에서는, 콘텍스트 번호 ctxIdx=1, ctxIdx=5를 구하고, 또한 계속되는 계수 데이터(coeff level abs minus1(1))의 사전(事前)의 콘텍스트 계산에서는, 콘텍스트 번호 ctxIdx=0, ctxIdx=2, ctxIdx=5, ctxIdx=6를 계산하는 것이 필요해진다.
여기서 이 도 8의 수평 방향의 각 천이는, 도 7의 1사이클에 대응하고 있다. 따라서, 도 6의 구성에 의해, 선행하여 콘텍스트 계산하여 레지스터(13)에 확률상태 변수를 저장하는 경우, 선두의 계수 데이터(coeff level abs minus1(0))에 관해서는, 콘텍스트 번호 ctxIdx=1, ctxIdx=5의 확률상태 변수를 레지스터(13)에 저장 한 후, 처리를 시작하기 때문에, 이 경우, 전혀 확률상태 변수의 처리 시작에 지연되는 일 없게 레지스터(13)에 확률상태 변수를 저장하여 둘 수 있다.
또한 계속되는 계수 데이터(coeff level abs minus1(1))의 처리에서는, 콘텍스트 번호 ctxIdx=0, ctxIdx=2, ctxIdx=5, ctxIdx=6의 확률상태 변수가 필요해진다. 여기서 최하위의 2치의 처리부터 다음의 계수 데이터로 처리를 전환하는 bin=0측의 콘텍스트 번호 ctxIdx=2, ctxIdx=5를, 최하위의 2치의 처리로부터 계속되는 상위측의 2치로 처리를 전환하는 bin=1측의 콘텍스트 번호 ctxIdx=0, ctxIdx=6에 우선하여 레지스터(13)에 저장하도록 하고, 또한 하위측의 2치에 대응하는 콘텍스트 번호로부터 차례로 확률상태 변수를 레지스터(13)에 저장하면, 선두의 계수 데이터(coeff level abs minus1(0))의 최하위의 2치(level0 bin0)를 완료한 시점에서, bin=0의 경우가 계속되는 계수 데이터(coeff level abs minus1(1))의 최하위의 2치(level1 bin0)의 처리에 필요한 콘텍스트 번호 ctxIdx=2의 확률상태 변수를 레지스터(13)에 보존하여 둘 수 있다. 또한 이 최하위의 2치(level1 bin0)의 처리를 완료한 시점에서, bin=1의 경우의 계속되는 최하위의 2치(level1 bin1)의 처리에 필요한 콘텍스트 번호 ctxIdx=5의 확률상태 변수를 레지스터(13)에 보존해 둘 수도 있다. 따라서 이 경우도, 전혀 계속되는 계수 데이터(coeff level abs minus1(1))의 처리에 지연되는 일 없이, 레지스터(13)에 확률상태 변수를 저장하여 둘 수 있다.
그러나 이 경우, 선두 계수 데이터(coeff level abs minus1(0))의 최하위의 2치(level0 bin0)가 bin=1인 경우에는, 계속되는 상위측의 2치(level0 bin1)의 처 리가 완료된 시점에서, 계속되는 계수 데이터(coeff level abs minus1(1))의 최하위의 2치(level1 bin0)의 처리에 필요한 콘텍스트 번호 ctxIdx=0의 확률상태 변수가 레지스터(13)에 준비되어 있지 않게 되고, 레지스터(13)에의 확률상태 변수의 저장이, 신택스 엘리먼트의 복호화 처리에 시간을 맞추지 못하게 된다.
이 때문에 도 10(A)에 도시하는 바와 같이, 복호화 장치(10)에서, 레지스터(13)는, 각각 소정 개수의 확률상태 변수 템퍼러리 레지스터(13A)와 확률상태 변수 레지스터(13B)에 의해 형성된다. 여기서 확률상태 변수 템퍼러리 레지스터(13A)는, 도 7에 관해 상술한 바와 같이, 콘텍스트 계산, 산술 복호화 처리 등과 병행하여 메모리(12)로부터 확률상태 변수를 로드하여 저장하는 레지스터이다. 확률상태 변수 레지스터(13B)는, 레지스터(13)에의 저장이 신택스 엘리먼트의 복호화 처리에 시간을 맞추지 못하게 되는 확률상태 변수를, residual 레이어의 처리 시작 전에 사전에 저장하는 레지스터이다.
여기서 계수 데이터의 신택스 엘리먼트에 대한 콘텍스트 번호(ctxIdx)는, AC성분, DC성분, 휘도 신호(Y)성분, 색차 신호(Cr, Cb)성분의 종류별에 의해 6개의 카테고리로 분류된다. 각 카테고리에 있어서, 콘텍스트 번호(ctxIdx)는, 9 내지 10종류이다. 또한 각 residual 블록에서는 일의적으로 카테고리가 선택되기 때문에, 결국, 하나의 카테고리에서 사용된 콘텍스트 번호(ctxIdx)는, 9종류 또는 10종류가 된다. 따라서 확률상태 변수 템퍼러리 레지스터(13A)는, 각 카테고리마다 마련되고, 각 카테고리에서는, 각각 이 9종류 또는 10종류의 콘텍스트 번호에 대응하는 확률상태 변수를 보존 가능하게, 최대로 10개 마련된다.
단, 메모리(12)로부터 레지스터(13)에 전송하는 데이터 전송 능력에 따라, 하나의 사이클에서 레지스터(13)에 저장 가능한 확률상태 변수의 수가 변화하고, 이 수의 변화에 의해 저장이 시간에 맞추지 못하게 되는 확률상태 변수의 수가 변화하게 된다. 또한 포맷에서 정해지는 계수 데이터에 있어서의 콘텍스트 번호(ctxIdx)의 천이에 의해서도, 저장이 시간에 맞추지 못하게 되는 확률상태 변수의 수가 변화하게 된다. 따라서 확률상태 변수 템퍼러리 레지스터와 확률상태 변수 레지스터의 개수는, 메모리(12)로부터 레지스터(13)에 전송하는 데이터 전송 능력에 따라, 나아가서는 포맷에서 정해지는 계수 데이터에 있어서의 콘텍스트 번호(ctxIdx)의 천이에 따라, 여러가지로 설정할 수 있다. 그와 관련하여, 하나의 신택스 엘리먼트에 있어서, 콘텍스트 계산에서 구하여지는 최대의 콘텍스트 번호의 수에 대해, 메모리(12)로부터 레지스터(13)에 전송하는 데이터 전송 능력을 충분한 것으로 하여, 보다 구체적으로는, 예를 들면 콘텍스트 계산에서 구하여지는 모든 콘텍스트 번호의 확률상태 변수를 1사이클로 레지스터(13)에 전송 가능하게 하여, 확률상태 변수 레지스터(13B)의 구성을 생략하도록 하여도 좋다.
이 레지스터(13)의 구성에 대응하여, 제어부(19)는, 도 10(B2)에 도시하는 바와 같이, residual 블록의 처리를 시작할 때의 초기화 처리에 있어서, 레지스터(13)에의 저장이 시간에 맞추지 못하게 될 우려가 있는 확률상태 변수를 확률상태 변수 레지스터(13B)에 사전에 로드한다. 또한 이 레지스터(13)에의 저장이 시간에 맞추지 못하게 될 우려가 있는 확률상태 변수는, 계수 데이터((coeff level abs minus1)에서의 콘텍스트 번호의 천이의 규칙으로부터 구하여진다.
또한 사전의 로드를 완료하면, 순차로, 각 residual 블록의 처리를 시작하고, 콘텍스트 계산에서 구하여지는 확률상태 변수를 확률상태 변수 템퍼러리 레지스터(13A)에 저장하면서, 각 신택스 엘리먼트를 복호한다. 또한 이 경우에, 이미, 확률상태 변수 템퍼러리 레지스터(13A)에 저장되어 있는 콘텍스트 번호의 확률상태 변수에 관해서는, 확률상태 변수 템퍼러리 레지스터(13A)에의 메모리(12)로부터의 저장은 생략하도록, 확률상태 저장부(11)의 동작을 제어한다. 또한 이미, 확률상태 변수 레지스터(13B)에 저장되어 있는 콘텍스트 번호의 확률상태 변수의 확률상태 변수 템퍼러리 레지스터(13A)에의 저장에 관해서는, 이것을 생략하도록 하여도 좋다.
또한 도 10(B1)은, 각 residual 블록의 처리를 시작할 때에, 대응하는 모든 확률상태 변수를 메모리(12)로부터 레지스터(13)에 로드한다고 한 경우를 도시하는 타임 차트이다. 이 도 10(B1)에 도시하는 바와 같이, 대응하는 모든 확률상태 변수를 사전에 전부 레지스터(13)에 로드하여도, 확률상태 변수의 레지스터(13)에의 로드가, 각 신택스 엘리먼트의 복호화 처리에 시간에 맞추지 못하게 되는 경우를 방지할 수 있다.
그러나 이 경우, 각 residual 블록의 처리를 시작할 때에, 대응하는 모든 확률상태 변수를 메모리(12)로부터 레지스터(13)에 로드할 것이 필요해진다. 이에 대해 복호화 장치(10)에서는, 신택스 엘리먼트를 처리하면서 필요한 확률상태 변수를 레지스터(13)에 로드하여, 로드의 처리가 맞출 수 없을 우려가 있는 확률상태 변수만, 사전에, 레지스터(13)에 저장하면 좋기 때문에, 전체로서 본 때의 처리시간을, 이 도 10(B1)에 도시하는 예에 비하여 현격적으로 단축할 수 있고, 효율 좋게 화상 데이터를 처리할 수 있다.
(2) 실시예 1의 동작
이상의 구성에 있어서, 순차로 입력되는 비트 스트림(bitstream)은(제 6도 및 도 7), 적응 산술 부호 복호부(16)에서, 순차로 신택스 엘리먼트의 종류별이 검출된다. 또한 이 적응 산술 부호 복호부(16)의 검출 결과에 의거한 제어부(19)의 제어에 의해, 콘텍스트 계산부(18)에서 순차로 각 신택스 엘리먼트의 콘텍스트가 계산되고, 2치화된 신택스 엘리먼트의 각 비트가 취할 수 있는 콘텍스트 번호(ctxIdx)가 구하여진다. 비트 스트림(bitstream)은, 이 콘텍스트 번호(ctxIdx)의 확률상태 변수에 의거하여, 순차로, 적응 산술 부호 복호부(16)에서 스테이트 번호(stateIdx) 및 MPS가 선택되고, 이 선택 결과의 처리에 의해 원래의 신택스 엘리먼트가 복호된다.
이 복호화 장치(10)에서는, 적응 산술 부호 복호부(16)에서 검출된 신택스 엘리먼트의 종류별에 따라, 출현 빈도가 낮은 신택스 엘리먼트를 복호하는 경우에는, 확률상태 저장부(11)에 마련된 액세스 레이턴시가 큰 제 1의 메모리인 메모리(12)를 적응 산술 부호 복호부(16)가 액세스하고, 콘텍스트 계산부(18)에서 구하여진 콘텍스트 번호(ctxIdx)의 확률상태 변수가 검출된다. 또한 이 검출한 확률상태 변수를 이용하여 원래의 신택스 엘리먼트가 복호 처리된다. 이 복호화 장치(10)는, 이 메모리(12)가 SRAM으로 형성되어 있는 것에 의해, 이 출현 빈도가 낮은 신택스 엘리먼트를 복호하는 구성에 관해서는, 전체 형상을 소형화할 수 있다.
그러나 모든 신택스 엘리먼트의 처리에 SRAM의 메모리(12)를 사용하면, 도 3의 종래 구성의 복호화 장치(1)에 관해 상술한 바와 같이, 고속도로 복호화하는 것이 곤란해진다.
그래서 이 복호화 장치(10)에서는, 출현 빈도가 높은 신택스 엘리먼트를 복호하는 경우에는, 콘텍스트 계산부(18)에서 구하여진 콘텍스트 번호(ctxIdx)의 확률상태 변수가, 제 1의 메모리에 비하여 액세스 레이턴시가 큰 제 2의 메모리인 레지스터(13)에 메모리(12)로부터 로드되어 보존되고, 이 레지스터(13)에 저장된 확률상태 변수를 이용하여 이 출현 빈도가 높은 신택스 엘리먼트를 복호화 처리한다. 따라서 출현 빈도가 높은 신택스 엘리먼트에 관해, 복호화 장치(10)는, 형상이 대형화한 것이지만, 처리를 고속도로 실행할 수 있다.
여기서 이런 종류의 복호화 장치에서는, 출현 빈도가 낮은 신택스 엘리먼트로서 매크로 블록 타입, 서브 매크로 블록 타입 등의 신택스 엘리먼트가 존재하고, 이들의 신택스 엘리먼트는, 하나의 매크로 블록을 처리할 때에, 각각 1회밖에 나타나지 않는다.
이에 대해 출현 빈도가 높은 신택스 엘리먼트로서는, DC 계수 데이터 및 AC 계수 데이터가 존재하고, 이 중의 AC 계수 데이터는, 4 : 2 : 0의 화상 데이터인 경우, 하나의 매크로 블록을 처리할 때에, 15회 연속하여 15×4×6=360회 나타난다. 또한 DC 계수는, 하나의 매크로 블록을 처리할 때에, 6회 나타난다. 따라서 이 복호화 장치(10)와 같이, 출현 빈도가 높은 신택스 엘리먼트만 레지스터(13)를 사용하면, 레지스터(13) 및 메모리(12)를 사용한 경우의 양자의 장점을 살려서, 전체 로서 본 경우에, 구성을 그렇게 대형화하는 일 없이, 종래에 비하여 처리 속도를 현격적으로 고속도화할 수 있다.
또한 이 복호화 장치(10)에서는, 단지 출현 빈도가 높은 신택스 엘리먼트의 확률상태 변수를 레지스터(13)에 보존할뿐만 아니라, 콘텍스트 계산부(18)에서 구한 콘텍스트 번호(ctxIdx)의 확률상태 변수를 선택적으로 메모리(12)로부터 레지스터(13)에 로드하고, 이 로드한 확률상태 변수를 사용하여 복호화 처리하고 있기 때문에, 결국, 계수 데이터의 처리에 필요한 모든 콘텍스트 번호(ctxIdx)의 확률상태 변수중의, 일부만 저장 가능하게 레지스터(13)를 구성하면 좋아진다. 구체적으로, 계수 데이터의 처리에 필요한 모든 확률상태 변수의 수는, 59종류이다. 따라서 이 계수 데이터의 처리에 필요한 모든 콘텍스트 번호(ctxIdx)의 확률상태 변수중의, 일부만 저장 가능하게 레지스터(13)를 구성하면 좋은 것에 의해서도, 전체 구성의 대형화를 방지하고, 종래에 비하여 처리 속도를 고속도화할 수 있다.
또한 복호화 장치(10)에서는, 확률상태 변수를 선택적으로 메모리(12)로부터 레지스터(13)에 로드하여 보존하도록 하여, 레지스터(13)에 보존된 확률상태 변수를 처리하고 있는 기간의 사이, 보다 구체적으로는, 적응 산술 부호 복호부(16)에서 하나의 계수 데이터(coeff abs level minus1(0))를 확률상태 선택 처리, 산술 복호 처리, 바이너리화 처리하고 있는 기간의 사이, 계속되는 계수 데이터(coeff abs level minus1(1))가 콘텍스트 계산되고, 레지스터(13)에 대응하는 확률상태 변수가 저장된다. 또한 이 레지스터(13)에 저장된 확률상태 변수가 복호화 처리 결과에 따라 갱신된다. 따라서 복호화 장치(10)에서는, 계속되는 계수 데이터(coeff abs level minus1(1-N))의 처리를 시작하는 시점에서는, 이미, 레지스터(13)에 확률상태 변수를 보존하고 있는 것이 되고, 계속되는 계수 데이터(coeff abs level minus1(1-N))에 관해서는, 직전의 계수 데이터의 처리를 완료하고, 즉석에서 처리를 시작할 수 있고, 이에 의해서도 한층 더 처리 속도를 고속도화할 수 있다. 특히 고해상도의 화상 데이터를 처리하는 경우에는, 종래에 비하여 현격적으로 처리 속도를 고속도화할 수 있다.
즉 예를 들면 ITU-T H. 264로 규격화되어 있는 레벨4 이상의 고해상도(1920×1088)의 경우, 이 실시예에 의하면, 도 5에 관해 상술한 종래 구성에 비하여 하나의 매크로 블록으로 693사이클의 빈 시간을 저감할 수 있고, 실험한 결과에 의하면, 종래 구성에 비하여 동작 속도를 170[MHz] 정도 저하시켜도, 충분히 복호화할 수 있는 것을 알 수 있었다.
그러나 레지스터(13)에 저장한 확률상태 변수를 처리하고 있는 기간을 유효하게 이용하여, 사전에 계속되는 계수 데이터(coeff abs level minus1(N))를 콘텍스트 계산하여 확률상태 변수를 레지스터(13)에 보존하는 경우, 계수 데이터에 있어서의 콘텍스트 번호(ctxIdx)의 천이에 의해서는, 이와 같이 레지스터(13)에의 확률상태 변수의 저장이, 각 신택스 엘리먼트의 복호화 처리에 시간에 맞추지 못하게 되는 경우가 발생한다(도 8 및 도 9).
그래서 이 실시예에서는, 확률상태 변수 템퍼러리 레지스터(13A)와 확률상태 변수 레지스터(13B)에 의해 레지스터(13)가 형성되고, 레지스터(13)에의 저장이 시간에 맞추지 못하게 될 우려가 있는 확률상태 변수에 관해서는, residual 블록의 처리를 시작할 때에, 사전에, 메모리(12)로부터 확률상태 변수 레지스터(13B)에 로드되어 보존된다. 또한 그 밖의 확률상태 변수는, 각 신택스 엘리먼트를 처리하고 있는 때에, 적절히, 메모리(12)로부터 로드되어서 확률상태 변수 템퍼러리 레지스터(13A)에 보존된다.
그 결과, 이 복호화 장치(10)에서는, 레지스터(13)에 저장한 확률상태 변수를 처리하고 있는 기간을 유효하게 이용하여, 사전에 계속되는 계수 데이터(coeff abs level minus1(N))의 처리에 필요한 확률상태 변수를 레지스터(13)에 보존하도록 하여 처리를 고속도화하고, 이 레지스터(13)에의 확률상태 변수의 저장이 시간에 맞추지 못하게 되어, 레지스터(13)에의 확률상태 변수의 저장 완료를 대기하는 대기 시간의 발생을 유효하게 회피할 수 있다. 따라서 이 대기 시간의 발생을 유효하게 회피함에 의해서도 처리 속도를 고속도화할 수 있다.
(3) 실시예 1의 효과
이상의 구성에 의하면, 액세스 레이턴시가 작은 제 2의 메모리에 보존한 확률상태 변수를 이용하여 출현 빈도가 높은 신택스 엘리먼트를 복호화 처리하고, 액세스 레이턴시가 큰 제 1의 메모리에 보존한 확률상태 변수를 이용하여 다른 신택스 엘리먼트를 복호화함에 의해, 전체 구성의 대형화를 방지하고, 종래에 비하여 처리 속도를 고속도화할 수 있다.
또한 이 제 2의 메모리에 보존한 확률상태 변수를 사용하는 출현 빈도가 높은 신택스 엘리먼트에, 계수 데이터를 적용함에 의해, 보다 구체적으로 전체 구성의 대형화를 방지하고, 종래에 비하여 처리 속도를 고속도화할 수 있다.
또한 이 액세스 레이턴시가 작은 제 2의 메모리가 레지스터임에 의해, 액세스 레이턴시가 0이고 연속하는 처리를 실행할 수 있고, 보다 구체적으로 처리 속도를 고속도화할 수 있다.
또한 콘텍스트 계산 결과에 따라 제 1의 메모리에 보존한 확률상태 변수를 선택적으로 제 2의 메모리에 로드하여 사용함에 의해, 제 2의 메모리의 용량을 필요 최소한의 크기로 멈출 수 있어서, 전체 형상의 대형화를 방지할 수 있다.
또한 이 제 2의 메모리에 보존된 확률상태 변수를 처리하고 있는 기간의 사이, 계속되는 신택스 엘리먼트를 콘텍스트 계산하여 확률상태 변수를 레지스터(13)에 저장하여 둠에 의해, 한층 더 처리 속도를 고속도화할 수 있다.
또한 이 제 2의 메모리에 보존된 확률상태 변수를 처리하고 있는 기간의 사이, 계속되는 신택스 엘리먼트를 콘텍스트 계산하여 확률상태 변수를 레지스터(13)에 저장하여 처리 속도를 고속도화하도록 하고, 제 2의 메모리에의 저장이 시간에 맞추지 못하게 될 우려가 있는 확률상태 변수를, 처리 시작시, 제 2의 메모리에 로드하여 보존하여 둠에 의해, 레지스터(13)에의 확률상태 변수의 저장 완료를 대기하는 대기 시간의 발생을 유효하게 회피하여 처리 속도를 고속도화할 수 있다.
(4) 실시예 2
도 11은, 도 8과의 대비에 의해, 본 발명의 실시예 2의 복호화 장치의 설명에 제공하는 타임 차트이다. 또한 이 실시예에서는, 이 도 11에 도시하는 타임 차트에 관한 구성이 다른 점을 제외하고 실시예 1과 동일하게 구성된다. 따라서 이하의 설명에서는, 도 6의 구성을 유용하고 설명한다. 이 복호화 장치(20)는, 각 신택 스 엘리먼트가 연속하는 2개의 2치를 동시 병렬적으로 처리한다.
이 때문에 이 복호화 장치(20)에 있어서, 확률상태 저장부(11), 콘텍스트 계산부(18), 적응 산술 부호 복호부(16), 2치화부(7), 제어부(19)는, 연속하는 2개의 2치를 동시 병렬적으로 처리 가능하게, 도 8에 관해 상술한 연속하는 2개의 사이클의 처리를 하나의 사이클에서 실행한다. 따라서 확률상태 저장부(11)는, 1사이클에서 2개의 콘텍스트 번호의 확률상태 변수를 레지스터(13)에 저장한다.
또한 적응 산술 부호 복호부(16)는, 동시 병렬적으로 처리하는 2개의 2치의 처리 결과에 따라, 이 도 11에서의 천이선을 전환하여 레지스터(13)의 액세스처를 전환한다. 또한 하위측의 2치를 처리하여, 계속되는 상위측의 2치의 처리가 불필요하게 된 경우, 보다 구체적으로는, 하위측의 2치이 bin=0인 경우, 계속되는 상위측의 2치의 처리를 중지한다. 따라서 도 11의 예에 있어서, 선두의 2치(level0 bin0), 계속되는 2치(level0 bin1)를 동시 병렬적으로 처리하여, 선두의 2치(level0 bin0)가 bin=0인 경우, 계속되는 2치(level0 bin1)에서 선택한 확률상태 변수의 처리를 중지한다.
또한 계속되는 계수 데이터의 선두의 2치(level1 bin0), 계속되는 2치(level1 bin1)를 동시 병렬적으로 처리하여, 이 경우도 선두의 2치(level1 bin0)가 bin=0인 경우, 계속되는 2치(level1 bin1)에서 선택한 확률상태 변수의 처리를 중지한다.
여기서 이 도 11의 예에 의해 처리하는 경우에 있어서, 2치(level0 bin0)가 bin=0인 경우, 2사이클째의 처리에서는, 콘텍스트 번호 ctxIdx=2, ctxIdx=5의 확률 상태 변수가 적응 산술 부호 복호부(16)의 처리에 필요해진다. 또한 2치(level0 bin0, level0 bin1)가 bin=1인 경우, 2사이클째의 처리에서는, 콘텍스트 번호 ctxIdx=0, ctxIdx=6의 확률상태 변수가 적응 산술 부호 복호부(16)의 처리에 필요해진다.
따라서 2사이클째의 시작 시점에서, 레지스터(13)에는, 콘텍스트 번호 ctxIdx=0, ctxIdx=2, ctxIdx=5, ctxIdx=6의 확률상태 변수를 준비하여 둘 것이 필요해지고, 결국, 도 11에서 사각으로 둘러싸서 도시하는 바와 같이, 예를 들면 콘텍스트 번호 ctxIdx=0의 확률상태 변수의 레지스터(13)에의 저장이 처리에 시간을 맞추지 못하게 된다.
따라서 이 도 11의 예에서도, 실시예 1에 관해 상술한 바와 동일하게, 레지스터(13)에 확률상태 변수 템퍼러리 레지스터(13A)와 확률상태 변수 레지스터(13B)를 마련하고, 이 처리가 시간에 맞추지 못하게 될 우려가 있는 확률상태 변수를 사전에 확률상태 변수 레지스터(13B)에 저장한다.
이 실시예에 의하면, 각 신택스 엘리먼트의 연속하는 2개의 2치를 동시 병렬적으로 처리하는 경우에도, 실시예 1과 동일한 효과를 얻을 수 있다.
(5) 실시예 3
도 12는, 본 발명의 실시예 3의 부호화 장치를 도시하는 블록도이다. 이 부호화 장치(30)는, ITU-T H. 264의 포맷에 따라, 동화상의 화상 데이터를 순차로 직교 변환 처리, 양자화 처리 등 하여 신택스 엘리먼트를 생성하고, 이 신택스 엘리먼트를 처리하여 비트 스트림(bitstream)을 출력한다. 이 부호화의 처리에 있어서, 부호화 장치(30)는, 실시예 1, 2에 관해 상술한 확률상태 저장부(11), 콘텍스트 계산부(18)를 이용한 콘텍스트 적응형 2치 산술 부호화 처리에 의해, 순차로 신택스 엘리먼트(syntax)를 부호화 처리하여 비트 스트림(bitstream)을 출력한다.
즉 2치화부(33)는, 도 6에 관해 상술한 2치 복호화부(7)와는 역으로, 부호화 처리 대상의 신택스 엘리먼트(syntax)를 순차로 2치화한다. 적응 산술 부호부(32)는, 도 6에 관해 상술한 적응 산술 부호 복호부(16)와 마찬가지로, 확률상태 저장부(11)의 레지스터(13), 메모리(12)에 저장된 확률상태 변수를 순차로 처리하고, 2치화부(33)에서 생성되는 2치화 데이터를 순차로 부호화 처리하고, 비트 스트림(bitstream)을 출력한다.
이 실시 예와 같이 부호화 장치에 적용하여도, 실시예 1, 2와 동일한 효과를 얻을 수 있다.
(6) 다른 실시예
또한 상술의 실시예에서는, ITU-T H. 264의 포맷으로 콘텍스트 적응형 2치 산술 부호화, 콘텍스트 적응형 2치 산술 복호화 처리하는 경우에 관해 기술하였지만, 본 발명은 이것으로 한하지 않고, 이 포맷 이외의 여러가지의 포맷으로 콘텍스트 적응형 2치 산술 부호화, 콘텍스트 적응형 2치 산술 복호화 처리하는 경우에 널리 적용할 수 있다.
본 발명은, 동화상 처리 방법, 동화상 처리 방법의 프로그램, 동화상 처리 방법의 프로그램을 기록한 기록 매체 및 동화상 처리 장치에 관한 것으로, 예를 들면 ITU-T H. 264에 의한 동화상의 부호화 장치, 복호화 장치에 적용할 수 있다.

Claims (9)

  1. 콘텍스트를 계산하여 동화상을 부호화 또는 복호화하는 동화상 처리 방법에 있어서,
    상기 동화상을 구성하는 신택스 엘리먼트의 콘텍스트를 계산하고, 상기 신택스 엘리먼트가 취할 수 있는 확률상태 변수를 순차로 검출하는 콘텍스트 계산 처리의 스텝과,
    상기 콘텍스트 계산 처리의 스텝에서 구한 상기 확률상태 변수를 순차로 선택하여 처리하고, 상기 신택스 엘리먼트를 부호화 또는 복호화하는 확률상태 변수의 처리 스텝을 가지며,
    상기 확률상태 변수의 처리 스텝은,
    확률상태 저장부에 보존한 상기 확률상태 변수를 선택하는 확률상태 변수의 선택 스텝을 가지며,
    상기 확률상태 저장부에는, 제 1의 메모리와, 상기 제 1의 메모리에 비하여 액세스 레이턴시가 작은 제 2의 메모리가 마련되고,
    상기 확률상태 변수의 선택 스텝은,
    출현 빈도가 낮은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 1의 메모리로부터 상기 확률상태 변수를 순차로 선택하고,
    출현 빈도가 높은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 2의 메모리로부터 상기 확률상태 변수를 순차로 선택하는 것을 특징으로 하는 동화상 처리 방법.
  2. 제 1항에 있어서,
    상기 출현 빈도가 높은 상기 신택스 엘리먼트가, 상기 동화상을 형성하는 화상 데이터를 소정 블록 단위로 직교 변환 처리한 계수 데이터인 것을 특징으로 하는 동화상 처리 방법.
  3. 제 1항에 있어서,
    상기 제 2의 메모리가 레지스터인 것을 특징으로 하는 동화상 처리 방법.
  4. 제 1항에 있어서,
    상기 제 1의 메모리는,
    모든 상기 신택스 엘리먼트의 처리에 필요한 상기 확률상태 변수를 보존하고,
    상기 동화상 처리 방법은,
    상기 제 1의 메모리에 보존된 상기 확률상태 변수의 일부를 판독하여 상기 제 2의 메모리에 저장하는 제 2의 메모리에의 기록하는 스텝을 갖는 것을 특징으로 하는 동화상 처리 방법.
  5. 제 4항에 있어서,
    상기 콘텍스트 계산 처리의 스텝은,
    상기 확률상태 변수의 처리 스텝에서 상기 확률상태 변수를 처리하고 있는 기간의 사이, 계속되는 신택스 엘리먼트의 콘텍스트를 계산하여, 상기 계속되는 신택스 엘리먼트의 상기 확률상태 변수를 검출하고,
    상기 제 2의 메모리에의 기록의 스텝은,
    상기 확률상태 변수의 처리 스텝에서 상기 확률상태 변수를 처리하고 있는 기간의 사이에서, 상기 콘텍스트 계산 처리의 스텝에서 검출된 상기 계속되는 신택스 엘리먼트의 상기 확률상태 변수를 상기 제 2의 메모리에 저장하는 것을 특징으로 하는 동화상 처리 방법.
  6. 제 5항에 있어서,
    상기 출현 빈도가 높은 상기 신택스 엘리먼트에서 검출될 가능성이 있는 상기 확률상태 변수중에서, 상기 제 2의 메모리에의 기록의 스텝의 처리에서는, 상기 확률상태 변수의 처리 스텝에서 상기 계속되는 신택스 엘리먼트의 상기 확률상태 변수의 처리 시작에 시간을 맞출 수 없는 상기 확률상태 변수를, 사전에, 상기 제 1의 메모리로부터 제 2의 메모리에 저장하는 전처리의 스텝을 갖는 것을 특징으로 하는 동화상 처리 방법.
  7. 콘텍스트를 계산하여 동화상을 부호화 또는 복호화하는 동화상 처리 방법의 프로그램에 있어서,
    상기 동화상을 구성하는 신택스 엘리먼트의 콘텍스트를 계산하고, 상기 신택스 엘리먼트가 취할 수 있는 확률상태 변수를 순차로 검출하는 콘텍스트 계산 처리의 스텝과,
    상기 콘텍스트 계산 처리의 스텝에서 구한 상기 확률상태 변수를 순차로 선택하여 처리하고, 상기 신택스 엘리먼트를 부호화 또는 복호화하는 확률상태 변수의 처리 스텝을 가지며,
    상기 확률상태 변수의 처리 스텝은,
    확률상태 저장부에 보존한 상기 확률상태 변수를 선택하는 확률상태 변수의 선택 스텝을 가지며,
    상기 확률상태 저장부에는, 제 1의 메모리와, 상기 제 1의 메모리에 비하여 액세스 레이턴시가 작은 제 2의 메모리가 마련되고,
    상기 확률상태 변수의 선택 스텝은,
    출현 빈도가 낮은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 1의 메모리로부터 상기 확률상태 변수를 순차로 선택하고,
    출현 빈도가 높은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 2의 메모리로부터 상기 확률상태 변수를 순차로 선택하는 것을 특징으로 하는 동화상 처리 방법의 프로그램.
  8. 콘텍스트를 계산하여 동화상을 부호화 또는 복호화하는 동화상 처리 방법의 프로그램을 기록한 기록 매체에 있어서,
    상기 동화상 처리 방법의 프로그램은,
    상기 동화상을 구성하는 신택스 엘리먼트의 콘텍스트를 계산하고, 상기 신택스 엘리먼트가 취할 수 있는 확률상태 변수를 순차로 검출하는 콘텍스트 계산 처리의 스텝과,
    상기 콘텍스트 계산 처리의 스텝에서 구한 상기 확률상태 변수를 순차로 선택하여 처리하고, 상기 신택스 엘리먼트를 부호화 또는 복호화하는 확률상태 변수의 처리 스텝을 가지며,
    상기 확률상태 변수의 처리 스텝은,
    확률상태 저장부에 보존한 상기 확률상태 변수를 선택하는 확률상태 변수의 선택 스텝을 가지며,
    상기 확률상태 저장부에는, 제 1의 메모리와, 상기 제 1의 메모리에 비하여 액세스 레이턴시가 작은 제 2의 메모리가 마련되고,
    상기 확률상태 변수의 선택 스텝은,
    출현 빈도가 낮은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 1의 메모리로부터 상기 확률상태 변수를 순차로 선택하고,
    출현 빈도가 높은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 2의 메모리로부터 상기 확률상태 변수를 순차로 선택하는 것을 특징으로 하는 동화상 처리 방법의 프로그램을 기록한 기록 매체.
  9. 콘텍스트를 계산하여 동화상을 부호화 또는 복호화하는 동화상 처리 장치에 있어서,
    상기 동화상을 구성하는 신택스 엘리먼트의 콘텍스트를 계산하고, 상기 신택스 엘리먼트가 취할 수 있는 확률상태 변수를 순차로 검출하는 콘텍스트 계산부와,
    제 1의 메모리와, 상기 제 1의 메모리에 비하여 액세스 레이턴시가 작은 제 2의 메모리가 마련되고, 상기 확률상태 변수를 상기 제 1 및 제 2의 메모리에 보존하는 확률상태 저장부와,
    상기 콘텍스트 계산부의 검출 결과에 의거하여, 상기 확률상태 저장부로부터 상기 확률상태 변수를 순차로 선택하여 처리하고, 상기 신택스 엘리먼트를 부호화 또는 복호화하는 확률상태 변수 처리부를 가지며,
    상기 확률상태 변수 처리부는,
    출현 빈도가 낮은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 1의 메모리로부터 상기 확률상태 변수를 순차로 선택하고,
    출현 빈도가 높은 상기 신택스 엘리먼트를 처리하는 경우에는, 상기 제 2의 메모리로부터 상기 확률상태 변수를 순차로 선택하는 것을 특징으로 하는 동화상 처리 장치.
KR20087026633A 2006-05-02 2007-03-14 동화상 처리 방법, 동화상 처리 방법의 프로그램, 동화상 처리 방법의 프로그램을 기록한 기록 매체 및 동화상 처리 장치 KR20090008304A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006128093A JP2007300517A (ja) 2006-05-02 2006-05-02 動画像処理方法、動画像処理方法のプログラム、動画像処理方法のプログラムを記録した記録媒体及び動画像処理装置
JPJP-P-2006-128093 2006-05-02

Publications (1)

Publication Number Publication Date
KR20090008304A true KR20090008304A (ko) 2009-01-21

Family

ID=38667618

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20087026633A KR20090008304A (ko) 2006-05-02 2007-03-14 동화상 처리 방법, 동화상 처리 방법의 프로그램, 동화상 처리 방법의 프로그램을 기록한 기록 매체 및 동화상 처리 장치

Country Status (9)

Country Link
US (1) US20090304075A1 (ko)
EP (1) EP2015581A4 (ko)
JP (1) JP2007300517A (ko)
KR (1) KR20090008304A (ko)
CN (1) CN101438595B (ko)
BR (1) BRPI0711268A2 (ko)
RU (1) RU2423017C2 (ko)
TW (1) TW200810560A (ko)
WO (1) WO2007129508A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012067412A2 (ko) * 2010-11-15 2012-05-24 한국전자통신연구원 병렬 엔트로피 부호화/복호화 방법 및 장치

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4865662B2 (ja) * 2007-09-26 2012-02-01 キヤノン株式会社 エントロピー符号化装置、エントロピー符号化方法およびコンピュータプログラム
JP4962400B2 (ja) 2008-04-30 2012-06-27 ソニー株式会社 算術復号装置
US7932843B2 (en) * 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
JP5206960B2 (ja) * 2008-10-29 2013-06-12 株式会社メガチップス 画像圧縮装置
US9973768B2 (en) * 2010-03-16 2018-05-15 Texas Instruments Incorporated CABAC decoder with decoupled arithmetic decoding and inverse binarization
WO2011135829A1 (ja) * 2010-04-29 2011-11-03 パナソニック株式会社 符号化方法及び復号方法
US20120014433A1 (en) * 2010-07-15 2012-01-19 Qualcomm Incorporated Entropy coding of bins across bin groups using variable length codewords
US8378861B2 (en) * 2010-11-29 2013-02-19 Arm Limited Storage of probability values for contexts used in arithmetic coding
US9319675B2 (en) * 2011-02-24 2016-04-19 Panasonic Intellectual Property Corporation Of America Arithmetic decoding method and arithmetic coding method
USRE47366E1 (en) 2011-06-23 2019-04-23 Sun Patent Trust Image decoding method and apparatus based on a signal type of the control parameter of the current block
ES2962519T3 (es) 2011-06-23 2024-03-19 Sun Patent Trust Procedimiento de decodificación de imágenes, procedimiento de codificación de imágenes
CN103535036B (zh) 2011-06-24 2017-04-05 太阳专利托管公司 解码方法和解码装置
CA2830046C (en) 2011-06-24 2018-09-04 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
KR102060621B1 (ko) 2011-06-27 2019-12-30 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
CN103563377B (zh) 2011-06-28 2017-05-10 太阳专利托管公司 解码方法及解码装置
MX2013010892A (es) 2011-06-29 2013-12-06 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
BR112013030562B1 (pt) 2011-06-30 2022-05-03 Sun Patent Trust Método e aparelho de decodificação, método e aparelho de codificação e aparelho de codificação e decodificação
KR102060619B1 (ko) 2011-06-30 2019-12-30 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
CN107087185B (zh) * 2011-07-11 2020-01-10 太阳专利托管公司 编码方法及编码装置、解码方法及解码装置
PL3910947T3 (pl) 2012-03-26 2023-12-27 JVC Kenwood Corporation Urządzenie do dekodowania obrazu, sposób dekodowania obrazu i program do dekodowania obrazu
SG10202002472RA (en) 2012-04-13 2020-05-28 Jvc Kenwood Corp Picture coding device, picture coding method, and picture coding program, and picture decoding device, picture decoding method, and picture decoding program
WO2013179675A1 (ja) 2012-05-31 2013-12-05 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム
RU2573210C2 (ru) * 2013-04-10 2016-01-20 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Контекстно-адаптивное энтропийное кодирование с использованием кодирования серий высоковероятных символов
US9773536B1 (en) * 2013-07-09 2017-09-26 Ambarella, Inc. Context-adaptive binary arithmetic decoder with low latency
EP3050294A4 (en) * 2013-09-27 2017-08-09 Qualcomm Incorporated Residual coding for depth intra prediction modes
US11039143B2 (en) * 2017-11-20 2021-06-15 Qualcomm Incorporated Memory reduction for context initialization with temporal prediction

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002218474A (ja) * 2001-01-24 2002-08-02 Mitsubishi Electric Corp 画像データ符号化装置
JP3753678B2 (ja) * 2002-06-28 2006-03-08 Necマイクロシステム株式会社 多値画像符号化・復号化装置
JP2005130099A (ja) * 2003-10-22 2005-05-19 Matsushita Electric Ind Co Ltd 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置
JP2005217871A (ja) 2004-01-30 2005-08-11 Victor Co Of Japan Ltd 算術復号化装置および算術復号化プログラム
JP4241417B2 (ja) * 2004-02-04 2009-03-18 日本ビクター株式会社 算術復号化装置、および算術復号化プログラム
KR100648258B1 (ko) * 2004-08-02 2006-11-23 삼성전자주식회사 고속의 디코딩을 수행하는 파이프라인 구조의 내용 기반적응적 이진 산술 디코더

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012067412A2 (ko) * 2010-11-15 2012-05-24 한국전자통신연구원 병렬 엔트로피 부호화/복호화 방법 및 장치
WO2012067412A3 (ko) * 2010-11-15 2012-07-12 한국전자통신연구원 병렬 엔트로피 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
US20090304075A1 (en) 2009-12-10
TW200810560A (en) 2008-02-16
EP2015581A1 (en) 2009-01-14
TWI330042B (ko) 2010-09-01
RU2423017C2 (ru) 2011-06-27
WO2007129508A1 (ja) 2007-11-15
JP2007300517A (ja) 2007-11-15
RU2008143302A (ru) 2010-05-10
CN101438595A (zh) 2009-05-20
BRPI0711268A2 (pt) 2011-08-23
CN101438595B (zh) 2011-05-25
EP2015581A4 (en) 2011-06-29

Similar Documents

Publication Publication Date Title
KR20090008304A (ko) 동화상 처리 방법, 동화상 처리 방법의 프로그램, 동화상 처리 방법의 프로그램을 기록한 기록 매체 및 동화상 처리 장치
JP7098805B2 (ja) ニューラルネットワークを利用したコーデック
JP4182442B2 (ja) 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
CN1934866B (zh) 视频解码设备
US8009740B2 (en) Method and system for a parametrized multi-standard deblocking filter for video compression systems
EP3386199A1 (en) Lossless compression method and system appled to video hard decoding
US9001882B2 (en) System for entropy decoding of H.264 video for real time HDTV applications
JPH0723398A (ja) 可変長符号化装置
US9380314B2 (en) Pixel retrieval for frame reconstruction
WO2018057104A1 (en) Storing and retrieving high bit depth image data
JP2021513257A (ja) データ符号化及び復号化
US6298087B1 (en) System and method for decoding a variable length code digital signal
US6987811B2 (en) Image processor and image processing method
KR101082184B1 (ko) 디코딩 파이프라인에서의 제2 디블록커
US6097843A (en) Compression encoding apparatus, encoding method, decoding apparatus, and decoding method
US6674376B1 (en) Programmable variable length decoder circuit and method
JP2002112268A (ja) 圧縮画像データ復号装置
KR102267215B1 (ko) 잔차 레벨 데이터의 위치 의존적 엔트로피 코딩을 위한 임베디드 코덱(ebc) 회로
JP2022538968A (ja) ビデオデータの変換スキップ残差符号化
US6025876A (en) Data stream decoding device
WO2010095181A1 (ja) 可変長復号化装置
JP3861317B2 (ja) 可変長復号装置
US7269288B2 (en) Apparatus for parallel calculation of prediction bits in a spatially predicted coded block pattern and method thereof
Jaspers et al. Embedded compression for memory resource reduction in MPEG systems
KR20170053031A (ko) 복수개의 블록 기반의 파이프라인을 이용한 데이터 처리 속도 개선 장치 및 그 동작 방법

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