KR20080071482A - 부호화 장치 및 방법, 복호 장치 및 방법, 및, 전송 시스템 - Google Patents

부호화 장치 및 방법, 복호 장치 및 방법, 및, 전송 시스템 Download PDF

Info

Publication number
KR20080071482A
KR20080071482A KR20077018759A KR20077018759A KR20080071482A KR 20080071482 A KR20080071482 A KR 20080071482A KR 20077018759 A KR20077018759 A KR 20077018759A KR 20077018759 A KR20077018759 A KR 20077018759A KR 20080071482 A KR20080071482 A KR 20080071482A
Authority
KR
South Korea
Prior art keywords
significant digit
unit
data
coefficient
coefficient data
Prior art date
Application number
KR20077018759A
Other languages
English (en)
Other versions
KR101320534B1 (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 KR20080071482A publication Critical patent/KR20080071482A/ko
Application granted granted Critical
Publication of KR101320534B1 publication Critical patent/KR101320534B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • 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/436Methods 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 using parallelised computational arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]

Abstract

본 발명은 보다 고속으로 화상을 부호화하도록 하는 부호화 장치 및 방법, 복호 장치 및 방법, 및 전송 시스템에 관한 것이다. 최대 유효 자리수 계산부(63)는 예정된 w개의 양자화 계수의 최대 유효 자리수를 계산한다. VLC 부호화부(64)는 상기 계산의 결과에 기초하여 최대 유효 자리수를 나타내는 부호를 출력한다. 유효 자리 추출부(65)는 최대 유효 자리수에 기초하여 w개의 양자화 계수로부터, 각각의 양자화 계수의 유효 자리수를 추출한다. VLC 부호화부(66)는 추출된 유효 자리수를 기초해, w개의 양자화 계수의 절대값을 나타내는 부호를 출력한다. 싸인 추출법(67)는 w개의 양자화 계수로부터, 각각의 양자화 계수가 플러스인지 또는 마이너스인지를 나타내는 싸인을 추출한다. VLC 부호화부(68)는 w개의 싸인을 나타내는 부호를 출력한다.
화상, 부호, 복호, 양자화, 자리수, 자리, 싸인, 전송, 데이터, 부호화

Description

부호화 장치 및 방법, 복호 장치 및 방법, 및, 전송 시스템{ENCODING DEVICE AND METHOD, COMPOSITE DEVICE AND METHOD, AND TRANSMISSION SYSTEM}
본 발명은 부호화 장치 및 방법, 복호 장치 및 방법, 및 전송 시스템에 관한 것으로, 특히 보다 고속으로 부호화 또는 복호할 수 있도록 한 부호화 장치 및 방법, 복호 장치 및 방법, 및 전송 시스템에 관한 것이다.
화상(데이터)의 부호화를 행하는 경우에, 입력된 화상에 대해서 대역 분할 처리를 행함으로써 생성된 각 서브 밴드(주파수 대역)의 계수를 부호화하는 부호화 방식으로서, JPEG(Joint Photographic Experts Group)(2000)이 알려져 있다.
JPEG2000 방식에 의해 화상을 부호화하는 경우, 입력된 화상을 웨이브 렛(wavelet) 변환함으로써 얻어진 웨이브 렛 계수가 양자화되고, 양자화에 의해 얻어진 양자화 계수가 또한 엔트로피 부호화된다.
종래에는, 엔트로피 부호화에 있어서는, EBCOT(Embedded Block Coding with Optimized Truncation)라는 비트 모델링과, MQ코다(coda)라는 산술 부호화가 행해지고 있다. 즉, 양자화 계수가 비트 모델링되고, 또한 비트 플레인(plain)마다 복수개의 코딩 패스에 기초하여 산술 부호화된다. 그리고, 산술 부호화에 의해 얻어진 부호가 부호화된 화상(데이터)으로서 출력된다(예를 들면, 일본국 특개 2004- 166254호 공보 참조).
또, JPEG2000 방식에 의해 부호화된 화상을 복호하는 경우, 부호화를 행하는 경우와는 역의 단계로 처리가 행해진다. 보다 구체적으로는, 부호화된 화상의 데이터로서의 부호가 엔트로피 복호되어 역양자화 되고, 이로써 얻어진 양자화 계수가 또한 웨이브 렛 역변환 된다. 그리고, 웨이브 렛 역변환에 의해 얻어진 화상이 복호된 화상으로서 출력된다.
그러나 전술한 기술에서는, EBCOT 및 MQ코다에서의 처리량이 많기 때문에, 화상의 부호화 및 복호를 고속으로 행하는 것은 곤란하고, 예를 들면, 가로 1920 화소, 세로 1080 화소 등의 해상도가 높은 HD(High Definition) 화상을 실시간으로 부호화(또는 복호)하기 위해서는, 고가의 전용의 하드웨어를 준비할 필요가 있었다.
본 발명은, 이와 같은 상황을 감안하여 이루어진 것이며, 화상을 보다 고속으로 부호화 또는 복호하는 것이 가능하도록 하는 것이다.
본 발명의 제1 측면의 부호화 장치는, 소정의 수치를 나타내는 복수개의 제1 데이터로 이루어지는 제2 데이터를 부호화하는 부호화 장치로서, 상기 제1 데이터의 각각에 의해 표시되는 수치 중, 절대값이 가장 큰 수치의 유효 자리수를 상기 제1 데이터의 최대 유효 자리수로서, 상기 최대 유효 자리수를 나타낸 부호를 출력하는 최대 유효 자리수 출력 수단과, 상기 제1 데이터에 의해 표시되는 수치의 절대값을 나타낸 부호를 출력하는 절대값 출력 수단과, 상기 제1 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타낸 부호를 출력하는 부호 출력 수단을 구비한다.
상기 최대 유효 자리수 출력 수단에는, 상기 최대 유효 자리수를 나타낸 부호로서, 최대 유효 자리수가 변화되었는지 아닌지를 나타낸 부호를 출력시킬 수 있다.
상기 최대 유효 자리수 출력 수단에는, 최대 유효 자리수가 변화된 경우, 상기 최대 유효 자리수를 나타낸 부호로서, 최대 유효 자리수가 증가했는지 또는 감소했는지를 나타낸 부호를 출력시킬 수 있다.
상기 최대 유효 자리수 출력 수단에는, 최대 유효 자리수의 변화량을 나타낸 부호를 출력시킬 수 있다.
상기 최대 유효 자리수 출력 수단에는, 연속하여 배열된 상기 제1 데이터의 상기 최대 유효 자리수를 나타낸 부호를 출력하고, 상기 제1 데이터에 또한 연속하여 배열된 상기 제1 데이터의 최대 유효 자리수를 나타낸 부호를 출력하는 처리를 반복하는 것이 가능하다.
상기 절대값 출력 수단에는, 상기 제1 데이터에 의해 표시되는 수치의 절대값을 나타낸 부호로서, 상기 제1 데이터가 나타내는 수치의 최하위의 자리수로부터 상기 최대 유효 자리수까지의 값을 나타낸 부호를 출력시킬 수 있다.
상기 절대값 출력 수단에는, 상기 제1 데이터에 의해 표시되는 수치의 절대값을 나타낸 부호를 병렬로 출력시킬 수 있다.
본 발명의 제1 측면의 부호화 방법은, 제1 데이터의 각각에 의해 표시되는 수치 중, 절대값이 가장 큰 수치의 유효 자리수를 상기 제1 데이터의 최대 유효 자리수로서, 상기 최대 유효 자리수를 나타낸 부호를 출력하고, 상기 제1 데이터에 의해 표시되는 수치의 절대값을 나타낸 부호를 출력하고, 상기 제1 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타낸 부호를 출력하는 단계를 포함한다.
본 발명의 제2 측면의 복호 장치는, 부호를 복호하여, 소정의 수치를 나타내는 복수개의 제1 데이터로 이루어지는 제2 데이터를 출력하는 복호 장치로서,
상기 제1 데이터의 각각에 의해 표시되는 수치 중, 절대값이 가장 큰 수치의 유효 자리수를 상기 제1 데이터의 최대 유효 자리수로서, 상기 최대 유효 자리수를 나타낸 부호를 복호하여, 상기 최대 유효 자리수를 출력하는 최대 유효 자리수 출력 수단과, 상기 제1 데이터에 의해 표시되는 수치의 절대값을 나타낸 부호를 복호하여, 상기 제1 데이터에 의해 표시되는 수치의 절대값을 출력하는 절대값 출력 수단과, 상기 제1 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타낸 부호를 복호하여, 상기 제1 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타내는 데이터를 출력하는 부호 출력 수단과, 상기 최대 유효 자리수, 상기 제1 데이터에 의해 표시되는 수치의 절대값, 및 상기 제1 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타내는 데이터를 기초로, 상기 제1 데이터를 출력하는 데이터 출력 수단을 구비한다.
상기 최대 유효 자리수 출력 수단에는, 상기 최대 유효 자리수를 나타낸 부호로서, 최대 유효 자리수가 변화되었는지 아닌지를 나타낸 부호를 복호시킬 수 있다.
상기 최대 유효 자리수 출력 수단에는, 최대 유효 자리수가 변화된 경우, 상기 최대 유효 자리수를 나타낸 부호로서, 최대 유효 자리수가 증가했는지 또는 감소했는지를 나타낸 부호, 및 최대 유효 자리수의 변화량을 나타낸 부호를 복호시켜, 그 복호의 결과에 따라 상기 최대 유효 자리수를 출력시킬 수 있다.
상기 최대 유효 자리수 출력 수단에는, 연속하여 배열된 상기 제1 데이터의 상기 최대 유효 자리수를 나타낸 부호를 복호하고, 상기 제1 데이터에 또한 연속하여 배열된 상기 제1 데이터의 최대 유효 자리수를 나타낸 부호를 복호하는 처리를 반복 행하게 하는 것이 가능하다.
상기 절대값 출력 수단에는, 상기 제1 데이터에 의해 표시되는 수치의 절대값을 나타낸 부호를 병렬로 복호시킬 수 있다.
본 발명의 제2 측면의 복호 방법은, 제1 데이터의 각각에 의해 표시되는 수치 중, 절대값이 가장 큰 수치의 유효 자리수를 상기 제1 데이터의 최대 유효 자리수로서, 상기 최대 유효 자리수를 나타낸 부호를 복호하여, 상기 최대 유효 자리수를 출력하고, 상기 제1 데이터에 의해 표시되는 수치의 절대값을 나타낸 부호를 복호하여, 상기 제1 데이터에 의해 표시되는 수치의 절대값을 출력하고, 상기 제1 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타낸 부호를 복호하여, 상기 제1 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타내는 데이터를 출력하고, 상기 최대 유효 자리수, 상기 제1 데이터에 의해 표시되는 수치의 절대값, 및 상기 제1 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타내는 데이터를 기초로, 상기 제1 데이터를 출력하는 단계를 포함한다.
본 발명의 제3 측면의 전송 시스템은, 소정의 수치를 나타내는 복수개의 제1 데이터로 이루어지는 제2 데이터를 부호화하는 부호화 장치와, 부호를 복호하여, 상기 제1 데이터로 이루어지는 상기 제2 데이터를 출력하는 복호 장치를 구비하고, 상기 부호화 장치로부터 상기 복호 장치에 상기 부호를 전송하는 전송 시스템으로서,
상기 부호화 장치는, 상기 제1 데이터의 각각에 의해 표시되는 수치 중, 절대값이 가장 큰 수치의 유효 자리수를 상기 제1 데이터의 최대 유효 자리수로서, 상기 최대 유효 자리수를 나타낸 부호를 출력하는 제1 최대 유효 자리수 출력 수단과, 상기 제1 데이터에 의해 표시되는 수치의 절대값을 나타낸 부호를 출력하는 제1 절대값 출력 수단과, 상기 제1 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타낸 부호를 출력하는 제1 부호 출력 수단을 구비하고,
상기 복호 장치는, 상기 부호화 장치로부터 전송된, 상기 제1 최대 유효 자리수 출력 수단에 의해 출력된 상기 최대 유효 자리수를 나타낸 부호를 복호하여, 상기 최대 유효 자리수를 출력하는 제2 최대 유효 자리수 출력 수단과, 상기 부호화 장치로부터 전송된, 상기 제1 절대값 출력 수단에 의해 출력된 상기 절대값을 나타낸 부호를 복호하여, 상기 절대값을 출력하는 제2 절대값 출력 수단과, 상기 부호화 장치로부터 전송된, 상기 제1 부호 출력 수단에 의해 출력된 상기 플러스 마이너스를 나타낸 부호를 복호하여, 상기 플러스 마이너스를 나타내는 데이터를 출력하는 제2 부호 출력 수단과, 상기 제2 최대 유효 자리수 출력 수단에 의해 출력된 상기 최대 유효 자리수, 상기 제2 절대값 출력 수단에 의해 출력된 상기 절대값, 및, 상기 제2 부호 출력 수단에 의해 출력된 상기 플러스 마이너스를 나타내는 데이터를 기초로, 상기 제1 데이터를 출력하는 데이터 출력 수단을 구비한다.
본 발명의 제1 측면에서는, 제1 데이터의 각각에 의해 표시되는 수치 중, 절대값이 가장 큰 수치의 유효 자리수를 상기 제1 데이터의 최대 유효 자리수로서, 상기 최대 유효 자리수를 나타낸 부호가 출력되고, 상기 제1 데이터에 의해 표시되는 수치의 절대값을 나타낸 부호가 출력되고, 상기 제1 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타낸 부호가 출력된다.
본 발명의 제2 측면에서는, 제1 데이터의 각각에 의해 표시되는 수치 중, 절대값이 가장 큰 수치의 유효 자리수를 상기 제1 데이터의 최대 유효 자리수로서, 상기 최대 유효 자리수를 나타낸 부호가 복호되어, 상기 최대 유효 자리수가 출력되고, 상기 제1 데이터에 의해 표시되는 수치의 절대값을 나타낸 부호가 복호되어, 상기 제1 데이터에 의해 표시되는 수치의 절대값이 출력되고, 상기 제1 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타낸 부호가 복호되어 상기 제1 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타내는 데이터가 출력되고, 상기 최대 유효 자리수, 상기 제1 데이터에 의해 표시되는 수치의 절대값, 및 상기 제1 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타내는 데이터를 기초로, 상기 제1 데이터가 출력된다.
본 발명의 제3 측면에서는, 부호화 장치에 있어서, 제1 데이터의 각각에 의해 표시되는 수치 중, 절대값이 가장 큰 수치의 유효 자리수를 제1 데이터의 최대 유효 자리수로서, 최대 유효 자리수를 나타낸 부호가 출력되고, 제1 데이터에 의해 표시되는 수치의 절대값을 나타낸 부호가 출력되고, 제1 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타낸 부호가 출력되고, 복호 장치에 있어서, 부호화 장치로부터 전송된 최대 유효 자리수를 나타낸 부호가 복호되고, 최대 유효 자리수가 출력되고, 부호화 장치로부터 전송된 절대값을 나타낸 부호가 복호되어, 절대값이 출력되고, 부호화 장치로부터 전송된 플러스 마이너스를 나타낸 부호가 복호되어, 플러스 마이너스를 나타내는 데이터가 출력되고, 최대 유효 자리수, 절대값, 및, 플러스 마이너스를 나타내는 데이터를 기초로, 제1 데이터가 출력된다.
본 발명의 제1 측면에 따르면, 화상을 부호화할 수 있다. 특히, 본 발명의 제1 측면에 따르면, 보다 고속으로 화상을 부호화할 수 있다.
또, 본 발명의 제2 측면에 따르면, 화상을 복호할 수 있다. 특히, 본 발명의 제2 측면에 따르면, 보다 고속으로 화상을 복호할 수 있다.
또한, 본 발명의 제3 측면에 따르면, 부호화 장치에서 보다 고속으로 화상을 부호화하고, 복호 장치에서 보다 고속으로 화상을 복호할 수 있다.
도 1은 본 발명을 적용한 화상 부호화 장치의 구성예를 나타낸 블록도이다.
도 2는 서브 밴드를 설명하기 위한 도면이다.
도 3은 부호화되는 양자화 계수의 일례를 나타낸 도면이다.
도 4는 엔트로피 부호화부의 구성예를 나타낸 블록도이다.
도 5는 부호화 처리를 설명하기 위한 플로차트이다.
도 6은 엔트로피 부호화 처리를 설명하기 위한 플로차트이다.
도 7은 w개 세트 부호화 처리를 설명하기 위한 플로차트이다.
도 8은 화상 복호 장치의 구성예를 나타낸 블록도이다.
도 9는 엔트로피 복호부의 구성예를 나타낸 블록도이다.
도 10은 부호 분할부의 구성예를 나타낸 블록도이다.
도 11은 부호 분할부의 다른 구성예를 나타낸 블록도이다.
도 12는 복호 처리를 설명하기 위한 플로차트이다.
도 13은 엔트로피 복호 처리를 설명하기 위한 플로차트이다.
도 14는 w개 세트 복호 처리를 설명하기 위한 플로차트이다.
도 15는 엔트로피 부호화부의 다른 구성예를 나타낸 블록도이다.
도 16은 부호화되는 양자화 계수의 일례를 나타낸 도이다.
도 17은 w개 세트 부호화 처리를 설명하기 위한 플로차트이다.
도 18은 w개 세트 복호 처리를 설명하기 위한 플로차트이다.
도 19는 본 발명을 적용한 화상 부호화 장치의 일례의 구성을 나타낸 블록도이다.
도 20은 웨이브 렛 변환에 대하여 개략적으로 설명하기 위한 개략도이다.
도 21은 웨이브 렛 변환에 대하여 개략적으로 설명하기 위한 개략도이다.
도 22는 5×3 필터에 대해서 리프팅 기술을 적용한 경우의 웨이브 렛 변환에 대하여 개략적으로 설명하기 위한 개략도이다.
도 23은 5×3 필터에 대해서 리프팅 기술을 적용한 경우의 웨이브 렛 역변환에 대하여 개략적으로 설명하기 위한 개략도이다.
도 24는 5×3 필터의 리프팅에 의한 필터링을 분해 레벨=2까지 실행한 예를 나타낸 개략도이다.
도 25는 본 발명에 의한 웨이브 렛 변환 및 웨이브 렛 역변환의 흐름을 개략적으로 나타낸 개략도이다.
도 26은 부호화 처리의 흐름의 예를 설명하기 위한 플로차트이다.
도 27은 본 발명을 적용한 화상 복호 장치의 일례의 구성을 나타낸 블록도이다.
도 28은 복호 처리의 흐름의 예를 설명하기 위한 플로차트이다.
도 29는 본 발명을 적용한 화상 부호화 장치 및 화상 복호 장치의 각 요소의 일례의 병렬 동작을 개략적으로 나타낸 개략도이다.
도 30은 본 발명을 적용한 화상 부호화 장치의 일례의 구성을 나타낸 블록도이다.
도 31은 웨이브 렛 계수의 정렬 처리를 화상 부호화 장치 측에서 행하는 경우의 처리의 흐름을 설명하기 위한 개략도이다.
도 32는 웨이브 렛 계수의 정렬 처리를 화상 복호 장치 측에서 행하는 경우의 처리의 흐름을 설명하기 위한 개략도이다.
도 33은 본 발명을 적용한 화상 부호화 장치의 일례의 구성을 나타낸 블록도이다.
도 34는 본 발명을 적용한 화상 복호 장치의 일례의 구성을 나타낸 블록도이다.
도 35는 부호화 데이터를 주고 받는 모습의 예를 설명하는 개략도이다.
도 36은 패킷의 구성예를 나타낸 도면이다.
도 37은 본 발명을 적용한 디지탈 트라이액스 시스템의 일례의 구성을 나타낸 블록도이다.
도 38은 본 발명을 적용한 무선 전송 시스템의 일례의 구성을 나타낸 블록도이다.
도 39는 본 발명을 적용한 가정용 게임기기의 일례의 구성을 나타낸 도면이다.
도 40은 본 발명을 적용한 정보 처리 시스템의 구성예를 나타낸 도면이다.
* 도면의 부호의 설명
11: 화상 부호화 장치 23: 엔트로피 부호화부
61: 라인 판정부 62: VLC 부호화부
63: 최대 유효 자리수 계산부 64: VLC 부호화부
65: 유효 자리수 추출부 66: VLC 부호화부
67: 싸인 추출부 68: VLC 부호화부
111: 화상 복호 장치 151: 부호 분할부
152: 라인 판정부 154: VLC 복호부
155: VLC 복호부 156: VLC 복호부
301: 버퍼 401: 화상 부호화 장치
410: 웨이브 렛 변환부 411: 도중 계산용 버퍼부
412: 계수 정렬용 버퍼부 413: 계수 정렬부
414: 레이트 제어부 415: 엔트로피 부호화부
420: 화상 복호 장치 421: 엔트로피 복호부
422: 계수 버퍼부 423: 웨이브 렛 역변환부
430: 화상 부호화 장치 431: 부호 정렬용 버퍼부
432: 부호 정렬부 441: 화상 부호화 장치
442: 화상 복호 장치 443: 계수 정렬용 버퍼부
500: 송신 유닛 501: 트라이액스 케이블
502: 카메라 제어부 510: 비디오 신호 부호화부
511: 비디오 신호 복호부 526: 비디오 신호 복호부
527: 비디오 신호 부호화부 600: 송신 유닛
601: 수신 장치 602: 비디오 신호 부호화부
612: 무선 모듈부 621: 무선 모듈부
624: 비디오 신호 복호부 700: 비디오 카메라 장치
701: 가정용 게임기기의 본체
도 1은 본 발명을 적용한 화상 부호화 장치의 구성예를 나타낸 블록도이다.
화상 부호화 장치(11)는, 웨이브 렛 변환부(21), 양자화부(22), 및 엔트로피 부호화부(23)를 구비한다.
웨이브 렛 변환부(21)에는, 예를 들면, 필요에 따라 DC 레벨 시프트가 행해 진 컴포넌트 신호인 화상(데이터)이 입력된다. 웨이브 렛 변환부(21)는, 그 입력된 화상을 웨이브 렛 변환하여 복수개의 서브 밴드로 분해한다. 웨이브 렛 변환부(21)는, 웨이브 렛 변환에 의해 얻어진 서브 밴드의 웨이브 렛 계수를 양자화부(22)에 공급한다.
양자화부(22)는, 웨이브 렛 변환부(21)로부터 공급된 웨이브 렛 계수를 양자화하고, 그 결과로서 얻어진 양자화 계수를 엔트로피 부호화부(23)에 공급한다.
엔트로피 부호화부(23)는, 양자화부(22)로부터 공급된 양자화 계수를 엔트로피 부호화하고, 이로써 얻어진 부호를 부호화된 화상(데이터)으로서 출력한다. 엔트로피 부호화부(23)로부터 출력된 화상은, 예를 들면, 레이트 제어 처리된 후, 패킷화되어 기록되고, 화상 부호화 장치(11)에 접속된 다른 장치(도시하지 않음)에 공급된다.
다음에, 도 2 및 도 3을 참조하여, 도 1의 엔트로피 부호화부(23)가 행하는 엔트로피 부호화에 대하여 설명한다.
예를 들면, 도 2에 나타낸 바와 같이, 1개의 서브 밴드가 라인(L1) 내지 라인(L6)의 6개의 라인으로 구성되어 있는 것으로 하고, xy 좌표계에서의 라인 상의 화소에 대응하는 위치를 (x, y)로 한다. 여기서, 각 라인의 도면 중, 좌측단의 위치의 x 좌표는 0으로 되고, 라인(L1)의 y 좌표는 0으로 된다.
양자화부(22)로부터 엔트로피 부호화부(23)에는, 비트 플레인 표현된, 서브 밴드의 각 위치 (x, y)에서의 양자화 계수가 라인(L1)으로부터 라인(L6)까지 라스터 스캔 순서로 입력된다.
환언하면, 엔트로피 부호화부(23)에는, 먼저, 라인(L1)의 좌측단의 위치 (0, 0)에 대응하는 양자화 계수가 입력된다. 다음에 그 위치(0, 0)의 우측에 인접한 위치(1, 0)에 대응하는 양자화 계수가 엔트로피 부호화부(23)에 입력되고, 라인(L1)의 우측단의 위치까지, 양자화 계수가 입력된 위치의 우측에 인접한 위치에 대응하는 양자화 계수가 엔트로피 부호화부(23)에 차례로 입력된다. 그리고, 라인(L1)상의 위치의 양자화 계수가 모두 입력되면, 라인(L2)의 좌측단의 위치(0, 1)로부터 순서대로 우측단의 위치까지, 라인(L2) 상의 각 위치에 대응하는 양자화 계수가 엔트로피 부호화부(23)에 입력되고, 마찬가지로 라인(L3)으로부터 라인(L6)까지, 각 라인 상의 위치에 대응하는 양자화 계수가 엔트로피 부호화부(23)에 입력된다.
예를 들면, 도 3의 도면 중, 좌측 상부에 나타낸 바와 같이, 도 2의 라인(L1)의 좌측단의 위치의 양자화 계수로부터 순서대로, 12개의 양자화 계수가 엔트로피 부호화부(23)에 입력되면, 엔트로피 부호화부(23)는, 미리 정해진 소정의 개수(w)(도 3에서는 w=4)씩 양자화 계수를 부호화한다.
여기서, 도 3의 좌측 상부에 나타낸 각 양자화 계수는, 그 부호의 절대값이 2진수의 자리수로 나누어져 표현되어(비트 플레인 표현되어) 있고, 도 3의 예에서는, 엔트로피 부호화부(23)에는, 1개의 라인(도 2의 라인(L1))의 양자화 계수 "-0101", "+0011", "-0110", "+0010", "+0011", "+0110", "0000", "-0011", "+1101", "-0100", "+0111", 및 "-1010"이 순서대로 입력된다.
1개의 양자화 계수는, "+"(플러스) 또는 "-"(마이너스)로 표현되는 양자화 계수의 부호(이하, 양자화 계수의 싸인(Sign)이라고 함)와, 2진수로 표현된 양자화 계수의 절대값으로 이루어진다. 도 3에서는, 양자화 계수의 절대값의 각 자리의 값을 나타낸 각 비트 중, 도면 중, 가장 위쪽의 비트가 최상위 비트(최상위의 자리수의 비트)를 나타내고 있다. 따라서, 예를 들면, 양자화 계수 "-0101"은, 그 싸인이 "-"이며, 2진수로 표현된 절대값이 "0101"이므로, 이 양자화 계수는 10진수로 나타내면 "-5"로 된다.
먼저, 엔트로피 부호화부(23)는, 입력된 1개의 라인의 양자화 계수(의 절대값)가 모두 0인지 여부를 판정하고, 그 판정 결과에 따라, 지금부터 부호화하는 라인의 양자화 계수가 모두 0인지 여부를 나타내는 부호를 출력한다. 양자화 계수가 모두 0인 것으로 판정된 경우, 엔트로피 부호화부(23)는, 라인의 양자화 계수가 모두 0인지 여부를 나타내는 부호로서 0을 출력하여, 현재 행하고 있는 라인의 양자화 계수의 부호화를 종료한다. 또, 모든 양자화 계수의 값이 0은 아닌(0의 양자화 계수만은 아님) 것으로 판정된 경우, 엔트로피 부호화부(23)는, 라인의 양자화 계수가 모두 0인지 여부를 나타내는 부호로서 1을 출력한다.
도면 중, 좌측 상부에 나타낸 12개의 양자화 계수가 입력된 경우, 입력된 라인의 양자화 계수는 0만은 아니기 때문에, 도면 중, 우측 상부에 나타낸 바와 같이, 엔트로피 부호화부(23)는 부호로서 1을 출력한다.
라인의 양자화 계수가 모두 0인지 여부를 나타내는 부호로서 양자화 계수가 모두 0이 아닌 것을 나타낸 부호 1이 출력되면, 다음에, 엔트로피 부호화부(23)는, 입력된 최초의 4개(w개)의 양자화 계수 "-0101", "+0011", "-0110", 및 "+0010"의 부호화를 행한다.
엔트로피 부호화부(23)는, 이번회에 입력된 연속하는 4개의 양자화 계수의 최대 유효 자리수(도 3에서의 변수(B)의 값)와, 전회에 부호화한(입력된) 4개(w개)의 양자화 계수의 최대 유효 자리수를 비교하고, 최대 유효 자리수가 변화되었는지 아닌지를 판정하여, 양자화 계수의 최대 유효 자리수를 나타낸 부호를 출력한다.
여기서, 최대 유효 자리수란, 한꺼번에 부호화하는 4개(w개)의 양자화 계수 중, 절대값이 가장 큰 양자화 계수의 유효 자리수를 의미한다. 환언하면, 최대 유효 자리수는, 4개의 양자화 계수 중, 절대값이 가장 큰 양자화 계수의 최상위에 있는 1이 몇 자리수째에 있는지를 나타낸다. 따라서, 예를 들면, 한꺼번에 부호화하는 4개의 양자화 계수 "-0101", "+0011", "-0110", 및 "+0010"의 최대 유효 자리수는, 절대값이 가장 큰 양자화 계수 "-0110"의 최상위에 있는 1의 자리수인 "3"으로 된다.
또, 양자화 계수의 최대 유효 자리수를 나타낸 부호는, 최대 유효 자리수가 변화되었는지 아닌지를 나타낸 부호, 최대 유효 자리수가 증가했는지 또는 감소했는지를 나타낸 부호, 및 최대 유효 자리수의 변화량을 나타낸 부호로 이루어지고, 최대 유효 자리수가 변화하고 있지 않는 경우, 최대 유효 자리수가 증가했는지 또는 감소했는지를 나타낸 부호, 및 최대 유효 자리수의 변화량을 나타낸 부호는 출력되지 않는다.
엔트로피 부호화부(23)는, 최대 유효 자리수의 비교 결과, 최대 유효 자리수가 변화된 경우, 최대 유효 자리수가 변화된 것을 나타낸 부호 1을 출력하고, 최대 유효 자리수가 변화하고 있지 않는 경우, 최대 유효 자리수가 변화하고 있지 않는 것을 나타낸 부호 0을 출력한다.
그리고, 최대 유효 자리수가 변화되었는지 아닌지를 판정하는 경우에, 이번회에 처음으로 4개의 양자화 계수가 입력될 때, 즉, 부호화하는 서브 밴드의 양자화 계수가 처음으로 입력될 때(예를 들면, 도 2의 라인(L1)의 좌측단으로부터 순서대로 4개의 양자화 계수가 입력될 때), 전회, 그 서브 밴드의 양자화 계수는 부호화되어 있지 않으므로, 전회에 부호화한 4개(w개)의 양자화 계수의 최대 유효 자리수는 0으로 된다.
따라서, 엔트로피 부호화부(23)는, 이번회에 입력된 4개의 양자화 계수 "-0101", "+0011", "-0110", 및 "+0010"의 최대 유효 자리수 3과, 전회에 부호화한 양자화 계수의 최대 유효 자리수 0을 비교하고, 최대 유효 자리수가 변화되었으므로 부호 1을 출력한다.
또, 엔트로피 부호화부(23)는, 최대 유효 자리수가 변화된 것을 나타낸 부호 1에 이어서, 최대 유효 자리수가 증가했는지 또는 감소했는지를 나타낸 부호를 출력한다. 여기서, 엔트로피 부호화부(23)는, 최대 유효 자리수가 증가한 경우에는 0을 출력하고, 최대 유효 자리수가 감소한 경우에는 1을 출력한다.
전회의 최대 유효 자리수는 0이며, 이번회의 최대 유효 자리수는 3이므로, 도면 중, 우측 상부에 나타낸 바와 같이, 엔트로피 부호화부(23)는, 최대 유효 자리수가 증가한 것을 나타낸 부호 0을 출력한다.
또한, 엔트로피 부호화부(23)는, 최대 유효 자리수가 증가했는지 또는 감소 했는지를 나타낸 부호를 출력하면, 최대 유효 자리수가 얼마나 증가 또는 감소했는지를 나타낸 부호, 즉, 최대 유효 자리수의 변화량을 나타낸 부호를 출력한다. 구체적으로는, 엔트로피 부호화부(23)는, 최대 유효 자리수의 변화량(즉, 증가량 또는 감소량)을 n로 하면, (n-1)개의 부호 0을 출력하고, 출력된 0에 이어서 부호 1을 출력한다.
도 3의 최초의 4개의 양자화 계수를 부호화하는 경우, 최대 유효 자리수의 변화량은 3(=3-0)이므로, 엔트로피 부호화부(23)는 부호로서 2(=3-1)개의 0을 출력하고, 또한 1을 출력한다.
다음에, 엔트로피 부호화부(23)는, 이번 부호화하는 4개(w개)의 양자화 계수의 각각의 절대값을 나타낸 최대 유효 자리수분의 부호를 출력한다. 즉, 엔트로피 부호화부(23)는, 각각의 양자화 계수에 대하여, 최대 유효 자리수에 의해 나타내는 유효 자리수의 최대의 자리수로부터 순서대로 최소의 자리수까지, 양자화 계수의 절대값의 각 자리의 값을 나타낸 부호를 출력한다.
이번 부호화하는 양자화 계수는, "-0101", "+0011", "-0110", 및 "+0010"이므로, 엔트로피 부호화부(23)는, 먼저, 최초에 입력된 양자화 계수 "-0101"의 절대값을 나타낸 최대 유효 자리수 분의 부호를 출력한다. 여기서, 이번회의 최대 유효 자리수는 3이므로, 엔트로피 부호화부(23)는, 양자화 계수 "-0101"의 최대 유효 자리수에 의해 나타내는 유효 자리수의 최대의 자리수(즉, 3자리수째)의 값 "1", 최대의 자리수로부터 1개 이하의 자리수(2자리수째)의 값 "0", 및 최하위의 자리수의 값 "1"을 출력한다. 이로써, 양자화 계수 "-0101"의 절대값을 나타낸 유효 자 리수분의 부호 "101"이 출력된다.
마찬가지로, 엔트로피 부호화부(23)는, 양자화 계수 "+0011", "-0110", 및 "+0010"의 절대값을 나타낸 유효 자리수분의 부호 "011", "110", 및 "010"을 순서대로 출력한다. 따라서, 양자화 계수는, "-0101", "+0011", "-0110", 및 "+0010"의 각각의 절대값을 나타낸 최대 유효 자리수분의 부호로서 "101011110010"이 출력된다. 이와 같이, 엔트로피 부호화부(23)로부터는, 양자화 계수의 절대값을 나타낸 부호로서, 부호화하는 4개의 양자화 계수의 최대 유효 자리수에 따른 길이의 부호가 출력된다.
그리고 마지막으로, 엔트로피 부호화부(23)는, 4개(w개)의 양자화 계수 중, 절대값이 0이 아닌 양자화 계수의 각각의 싸인을 나타낸 부호를 출력한다. 여기서, 엔트로피 부호화부(23)는, 양자화 계수의 싸인이 "+"(플러스)인 경우, 부호 0을 출력하고, 싸인이 "-"(마이너스)인 경우, 부호 1을 출력한다.
이번 부호화하는 양자화 계수는, "-0101", "+0011", "-0110", 및 "+0010"이며, 이들 양자화 계수의 싸인은, 순서대로 마이너스, 플러스, 마이너스, 플러스이므로, 도면 중, 우측 상부에 나타낸 바와 같이, 엔트로피 부호화부(23)는, 양자화 계수의 각각의 싸인을 나타낸 부호로서 "1010"을 출력한다.
최초에 입력된 4개의 양자화 계수가 부호화되면, 엔트로피 부호화부(23)는, 이어서, 다음의 연속하는 4개의 양자화 계수 "+0011", "+0110", "0000", 및 "-0011"의 부호화를 행한다.
최초에(전회) 입력된 양자화 계수의 부호화에서의 경우와 마찬가지로, 먼저, 엔트로피 부호화부(23)는, 이번회에, 새롭게 입력된 4개(w개)의 양자화 계수의 최대 유효 자리수와, 전회에 부호화한 4개의 양자화 계수의 최대 유효 자리수를 비교한다.
이번회에 입력된 4개(w개)의 양자화 계수 "+0011", "+0110", "0000", 및 "-0011"의 최대 유효 자리수는, 절대값이 가장 큰 양자화 계수 "+0110"의 최상위에 있는 1의 자리수인 "3"이며, 전회에 부호화한 양자화 계수의 최대 유효 자리수 "3"과 동일한 것으로, 엔트로피 부호화부(23)는, 최대 유효 자리수가 변화하고 있지 않는 것을 나타낸 부호 0을 출력한다.
이어서, 엔트로피 부호화부(23)는, 이번 부호화하는 4개(w개)의 양자화 계수 "+0011", "+0110", "0000", 및 "-0011"의 각각의 절대값을 나타낸 최대 유효 자리수분의 부호 "011", "110", "000", 및 "011"이 순서대로 배열된 부호 "011110000011"을 출력한다.
그리고, 양자화 계수의 절대값을 나타낸 부호가 출력되면, 엔트로피 부호화부(23)는, 4개의 양자화 계수 중, 절대값이 0이 아닌 양자화 계수의 각각의 싸인을 나타낸 부호를 출력한다.
이번 부호화하는 양자화 계수는, "+0011", "+0110", "0000", 및 "-0011"이며, 3번째의 양자화 계수 "0000"은 그 절대값이 0이므로, 엔트로피 부호화부(23)는, 0이 아닌 양자화 계수 "+0011", "+0110", 및 "-0011"의 각각의 싸인(플러스, 플러스, 마이너스)을 나타낸 부호 "001"을 출력한다.
4개의 양자화 계수 "+0011", "+0110", "0000", 및 "-0011"이 부호화되면 또 한, 엔트로피 부호화부(23)는, 다음의 4개의 양자화 계수 "+1101", "-0100", "+0111", 및 "-1010"의 부호화를 행한다.
먼저, 엔트로피 부호화부(23)는, 이번, 새롭게 입력된 4개(w개)의 양자화 계수의 최대 유효 자리수와, 전회에 부호화한 4개의 양자화 계수의 최대 유효 자리수를 비교한다.
이번회에 입력된 4개(w개)의 양자화 계수 "+1101", "-0100", "+0111", 및 "-1010"의 최대 유효 자리수는, 절대값이 가장 큰 양자화 계수 "+1101"의 최상위에 있는 1의 자리수인 "4"이며, 전회에 부호화한 양자화 계수의 최대 유효 자리수 "3"과는 상이하므로, 엔트로피 부호화부(23)는, 최대 유효 자리수가 변화된 것을 나타낸 부호 1을 출력한다.
또, 전회의 최대 유효 자리수는 3이며, 이번회의 최대 유효 자리수는 4이므로, 엔트로피 부호화부(23)는, 도면 중, 우측에 나타낸 바와 같이, 최대 유효 자리수가 증가한 것을 나타낸 부호 0을 출력한다.
또한, 엔트로피 부호화부(23)는, 최대 유효 자리수가 얼마나 증가 또는 감소했는지를 나타낸 부호를 출력한다. 이 경우, 최대 유효 자리수의 변화량은 1(=4-3)이므로, 엔트로피 부호화부(23)는 부호로서, 0(=1-1)개의 0을 출력하고, 또한 1을 출력한다(즉, 부호 1을 출력함).
다음에, 엔트로피 부호화부(23)는, 이번 부호화하는 4개(w개)의 양자화 계수 "+1101", "-0100", "+0111", 및 "-1010"의 각각의 절대값을 나타낸 최대 유효 자리수분의 부호 "1101", "0100", "0111", 및 "1010"이 순서대로 배열된 부호 "1101010001111010"을 출력한다.
그리고, 양자화 계수의 절대값을 나타낸 부호가 출력되면, 엔트로피 부호화부(23)는, 4개의 양자화 계수 중, 0이 아닌 양자화 계수의 각각의 싸인을 나타낸 부호를 출력한다.
이번 부호화하는 양자화 계수는, "+1101", "-0100", "+0111", 및 "-1010"이며, 이들 양자화 계수의 싸인은, 순서대로 플러스, 마이너스, 플러스, 마이너스이므로, 도면 중, 우측 아래에 나타낸 바와 같이, 엔트로피 부호화부(23)는, 양자화 계수의 각각의 싸인을 나타낸 부호로서 "0101"을 출력한다.
이와 같이 하여, 엔트로피 부호화부(23)는, 입력된 양자화 계수를, 연속하는 미리 정해진 개수(w개)씩 부호화한다. 이로써, 엔트로피 부호화부(23)로부터는, 부호화하는 라인의 양자화 계수가 모두 0인지 여부를 나타내는 부호가 출력되고, 라인의 양자화 계수가 모두 0이 아닌 것을 나타낸 부호가 출력되면, 다음에, w개의 양자화 계수의 최대 유효 자리수를 나타낸 부호, w개의 양자화 계수의 절대값(비트 플레인 표현)을 나타낸 부호, 및 그들의 양자화 계수의 싸인을 나타낸 부호가 출력된다.
그리고, 이들 w개의 양자화 계수의 최대 유효 자리수를 나타낸 부호, w개의 양자화 계수의 절대값을 나타낸 부호, 및 양자화 계수의 싸인을 나타낸 부호의 각각은, 그 라인의 양자화 계수가 모두 부호화될 때까지, 다음의 w개의 양자화 계수의 최대 유효 자리수를 나타낸 부호, 양자화 계수의 절대값을 나타낸 부호, 및 양자화 계수의 싸인을 나타낸 부호가 반복 출력된다.
그리고, 양자화 계수가 라스터 스캔 순서로 부호화되는 것으로 설명하였으나, 양자화 계수가 부호화되는 순서는 반드시 라스터 스캔 순서일 필요는 없다. 예를 들면, 도 2에 나타낸 서브 밴드의 양자화 계수가 부호화되는 경우, 최초에 위치 (0, 0), (0, 1), (0, 2), 및 (0, 3)(즉, 라인(L1) 내지 라인(L4)의 각각의 도면 중, 좌측단의 위치)의 양자화 계수가 부호화되고, 다음에, 위치 (1, 0), (1, 1), (1, 2), 및 (1, 3)의 양자화 계수가 부호화되는 것처럼, 도면 중, 세로 방향으로 정렬된 4개의 위치의 양자화 계수를 w개의 양자화 계수로서, w개씩 순서대로 부호화하도록 해도 된다.
상기에서 설명한 처리를 행하는 도 1의 엔트로피 부호화부(23)는, 보다 상세하게는, 도 4에 나타낸 바와 같이 구성된다.
엔트로피 부호화부(23)는, 라인 판정부(61), VLC(Variable Length Coding) 부호화부(62), 최대 유효 자리수 계산부(63), VLC 부호화부(64), 유효 자리수 추출부(65), VLC 부호화부(66), 싸인 추출부(67), VLC 부호화부(68), 및 부호 연결부(69)를 구비한다.
양자화부(22)(도 1)로부터 출력된 양자화 계수는, 라인 판정부(61), 최대 유효 자리수 계산부(63), 유효 자리수 추출부(65), 및 싸인 추출부(67)에 공급(입력)된다.
라인 판정부(61)는, 양자화부(22)로부터 입력된, 지금부터 부호화하는 1개의 라인의 양자화 계수가 모두 0인지 여부를 판정하고, 그 판정의 결과를 나타내는 정보를 VLC 부호화부(62)에 공급한다.
VLC 부호화부(62)는, 라인 판정부(61)로부터의 판정의 결과를 나타내는 정보에 기초하여, 부호화하는 라인의 양자화 계수가 모두 0인지 여부를 나타내는 부호를 부호 연결부(69)에 출력한다.
최대 유효 자리수 계산부(63)는, 양자화부(22)로부터 입력된, 연속하는 w개의 양자화 계수의 최대 유효 자리수를 계산하고, 그 계산의 결과를 나타내는 정보를 VLC 부호화부(64) 및 유효 자리수 추출부(65)에 공급한다.
VLC 부호화부(64)는, 최대 유효 자리수 계산부(63)로부터의 계산의 결과를 나타내는 정보에 기초하여, w개의 양자화 계수의 최대 유효 자리수를 나타낸 부호를 부호 연결부(69)에 공급한다.
유효 자리수 추출부(65)는, 최대 유효 자리수 계산부(63)로부터의 계산의 결과를 나타내는 정보에 기초하여, 양자화부(22)로부터 공급된 w개의 양자화 계수의 유효 자리수를 추출하고, 추출한 양자화 계수의 유효 자리수(의 데이터)를 VLC 부호화부(66) 및 싸인 추출부(67)에 공급한다.
VLC 부호화부(66)는, 유효 자리수 추출부(65)로부터의 양자화 계수의 유효 자리수에 기초하여, 이들의 양자화 계수의 절대값을 부호화하고, 이로써 얻어진 양자화 계수의 절대값을 나타낸 부호를 부호 연결부(69)에 공급한다.
싸인 추출부(67)는, 유효 자리수 추출부(65)로부터의 양자화 계수의 유효 자리수에 기초하여, 양자화부(22)로부터 공급된 양자화 계수의 싸인을 추출하여, 추출한 싸인(의 데이터)을 VLC 부호화부(68)에 공급한다.
VLC 부호화부(68)는, 싸인 추출부(67)로부터의 싸인(의 데이터)을 부호화하 고, 이로써 얻어지는 양자화 계수의 싸인을 나타낸 부호를 부호 연결부(69)에 공급한다.
부호 연결부(69)는, VLC 부호화부(62), VLC 부호화부(64), VLC 부호화부(66), 및 VLC 부호화부(68)의 각각으로부터 공급된, 라인의 양자화 계수가 모두 0인지 여부를 나타내는 부호, 최대 유효 자리수를 나타낸 부호, 양자화 계수의 절대값을 나타낸 부호, 및 양자화 계수의 싸인을 나타낸 부호의 각각을 연결하고, 부호화된 화상(데이터)으로서 출력한다.
다음에, 도 5의 플로차트를 참조하여, 화상 부호화 장치(11)(도 1)에 의한, 부호화 처리에 대하여 설명한다. 상기 부호화 처리는, 웨이브 렛 변환부(21)에, 부호화하는 화상(데이터)이 입력되면 개시된다.
단계 S11에 있어서, 웨이브 렛 변환부(21)는, 입력된 화상에 웨이브 렛 변환을 행하여, 입력된 화상을 복수개의 서브 밴드로 분해하여, 각 서브 밴드의 웨이브 렛 계수를 양자화부(22)에 공급한다.
단계 S12에 있어서, 양자화부(22)는, 웨이브 렛 변환부(21)로부터 공급된 웨이브 렛 계수를 양자화하고, 그 결과 얻어진 양자화 계수를 엔트로피 부호화부(23)에 공급한다. 이로써, 엔트로피 부호화부(23)에는, 예를 들면, 도 3을 참조하여 설명한 비트 플레인 표현된, 서브 밴드의 각 위치의 양자화 계수가 입력된다.
단계 S13에 있어서, 엔트로피 부호화부(23)는, 엔트로피 부호화 처리를 행하고, 부호화 처리를 종료한다. 그리고, 엔트로피 부호화 처리의 자세한 것은 후술하지만, 엔트로피 부호화부(23)는, 엔트로피 부호화 처리에 있어서, 도 3을 참조하 여 설명한 바와 같이, 양자화부(22)로부터 공급된 양자화 계수를 소정의 개수(w개)씩 부호화하고, 부호화하는 라인의 양자화 계수가 모두 0인지 여부를 나타내는 부호, 양자화 계수의 최대 유효 자리수를 나타낸 부호, 양자화 계수의 절대값을 나타낸 부호, 및 양자화 계수의 싸인을 나타낸 부호를, 부호화된 화상(데이터)으로서 출력한다.
이와 같이 하여, 화상 부호화 장치(11)는, 입력된 화상을 부호화하여 출력한다.
다음에, 도 6의 플로차트를 참조하여, 도 5의 단계 S13의 처리에 대응하는 엔트로피 부호화 처리에 대하여 설명한다.
도 5의 단계 S12에 있어서, 양자화부(22)로부터 출력된 양자화 계수는, 엔트로피 부호화부(23)(도 4)의 라인 판정부(61), 최대 유효 자리수 계산부(63), 유효 자리수 추출부(65), 및 싸인 추출부(67)에 공급(입력)된다.
단계 S41에 있어서, 라인 판정부(61)는, 지금부터 부호화하는 서브 밴드의 라인을 나타낸 변수(y)를 y=0으로 하여, 상기 변수(y)를 기억한다.
예를 들면, 도 2에 나타낸 서브 밴드의 양자화 계수를 부호화하는 경우, 라인 판정부(61)는, 그 서브 밴드의 라인(라인(L1) 내지 라인(L6))을 나타낸 변수(y)를, y=0으로 한다. 그리고, 여기서, 변수(y)에 의해 나타내는 라인(y)는, 서브 밴드의 라인 상의 각 위치(x, y)의 y 좌표가 y인 라인을 나타내고 있다. 따라서, 예를 들면, 라인 판정부(61)가 기억하고 있는 변수(y)가 y=0인 경우, 그 변수에 의해 나타내는 라인은, 라인 상의 각 위치의 y 좌표가 0인 라인(L1)으로 된다.
단계 S42에 있어서, 최대 유효 자리수 계산부(63)는, 라인 판정부(61)가 기억하고 있는 변수(y)에 의해 나타내는 라인(y)보다 1개 전의 라인 (y-1) 상의 최초에 입력되는 w개의 양자화 계수의 최대 유효 자리수를 나타낸 변수(Binit)를 Binit=0으로 하여, 상기 변수(Binit)를 기억한다.
예를 들면, 라인(y-1)이, 도 2에 나타낸 라인(L1)인 경우, 라인 (y-1) 상의 최초에 입력되는 w개의 양자화 계수의 최대 유효 자리수를 나타낸 변수(Binit)의 값은, 라인(L1)의 도면 중, 좌측단의 위치로부터 w개의 양자화 계수, 즉, 위치 (0, 0), (1, 0), ‥·, (w-1, 0)의 w개의 양자화 계수의 최대 유효 자리수로 된다. 또, 라인 판정부(61)가 기억하고 있는 변수(y)가 y=0인 경우, 라인(y-1)은 존재하지 않으므로, 변수(Binit)의 값은, Binit=0으로 된다.
단계 S43에 있어서, 라인 판정부(61)는, 기억하고 있는 변수(y)에 의해 나타내는 라인(y)의 양자화 계수(의 절대값)가 모두 0인지 여부를 판정한다. 예를 들면, 라인(y)가, 도 2에 나타낸 라인(L1)인 경우, 라인 판정부(61)는, 라인(L1)상의 위치 (x, y)의 양자화 계수가 모두 0일 때, 양자화 계수가 모두 0인 것으로 판정한다.
단계 S43에 있어서, 양자화 계수가 모두 0인 것으로 판정된 경우, 라인 판정부(61)는, 양자화 계수가 모두 0인 취지의 정보를 생성하여 그것을 VLC 부호화부(62) 및 최대 유효 자리수 계산부(63)에 공급하고, 처리를 단계 S44로 진행한다.
단계 S44에 있어서, VLC 부호화부(62)는, 라인 판정부(61)로부터의 양자화 계수가 모두 0인 취지의 정보에 따라, 부호화하는 라인의 양자화 계수가 모두 0인 것을 나타낸 부호 0을 부호 연결부(69)에 출력(공급)한다. 부호 연결부(69)는, VLC 부호화부(62)로부터 공급된 부호 0을, 라인(y)의 양자화 계수의 부호화의 결과 얻어진 부호로서, 그대로 출력한다.
단계 S45에 있어서, 최대 유효 자리수 계산부(63)는, 라인 판정부(61)로부터의 양자화 계수가 모두 0인 취지의 정보에 따라, 기억하고 있는 변수(Binit)의 값을 Binit=0으로 하고, 변수(Binit)를 갱신한다.
단계 S46에 있어서, 라인 판정부(61)는, 부호화하고 있는 서브 밴드의 라인 중, 미처리의 라인이 있는지 없는지를 판정한다. 즉, 라인 판정부(61)는, 부호화하고 있는 서브 밴드의 모든 라인의 양자화 계수를 부호화했는지 아닌지를 판정한다. 예를 들면, 도 2에 나타낸 서브 밴드의 양자화 계수를 부호화하고 있는 경우, 라인(L1) 내지 라인(L6)상의 모든 위치의 양자화 계수가 부호화되었을 때, 라인 판정부(61)는, 미처리의 라인이 존재하지 않는 것으로 판정한다.
상기 단계 S46에 있어서, 미처리의 라인이 있는 것으로 판정된 경우, 라인 판정부(61)는, 다음의 라인, 즉, 라인 (y+1) 위의 각 위치의 양자화 계수를 부호화하므로, 처리를 단계 S47로 진행한다.
단계 S47에 있어서, 라인 판정부(61)는, 기억하고 있는 라인을 나타낸 변수(y)를 인크리먼트(increment)하여 y=y+1로 하고, 처리를 단계 S43으로 복귀시키고, 전술한 그 이후의 처리를 다시 실행시킨다.
이에 대하여, 단계 S46에 있어서, 미처리의 라인이 없는 것으로 판정된 경우, 라인 판정부(61)는, 서브 밴드를 구성하는 모든 라인에 대하여 양자화 계수를 부호화하였으므로, 엔트로피 부호화 처리를 종료하고, 처리를 도 5의 단계 S13으로 복귀시키고, 부호화 처리를 종료시킨다.
또한, 도 6의 단계 S43에 있어서, 라인(y)의 양자화 계수가 모두 0이 아닌(0이 아닌 양자화 계수가 존재함) 것으로 판정된 경우, 라인 판정부(61)는, 양자화 계수가 모두 0이 아닌(0이 아닌 양자화 계수가 존재함) 취지의 정보를 생성하여 그것을 VLC 부호화부(62) 및 최대 유효 자리수 계산부(63)에 공급하고, 단계 S48로 처리를 진행시킨다.
단계 S48에 있어서, VLC 부호화부(62)는, 라인 판정부(61)로부터의 양자화 계수가 모두 0이 아닌 취지의 정보에 따라, 부호화하는 라인의 양자화 계수가 모두 0이 아닌 것을 나타낸 부호 1을 부호 연결부(69)에 출력(공급)한다.
단계 S49에 있어서, 최대 유효 자리수 계산부(63)는, 라인 판정부(61)로부터의 양자화 계수가 모두 0이 아닌 취지의 정보에 따라, 지금부터 부호화하는 w개의 양자화 계수 중, 최초에 입력되는 양자화 계수에 대응하는 라인(y) 상의 위치의 x 좌표를 나타낸 변수(x)의 값을 x=0으로 하여, 상기 변수(x)를 기억한다.
예를 들면, 라인(y)가, 도 2에 나타낸 라인(L1)인 경우, 최대 유효 자리수 계산부(63)가 기억하고 있는 변수(x)의 값은, 지금부터 부호화하려고 하는 라인(L1) 상의 연속하는 w개의 위치 (x, 0), (x+1, 0), ‥·, (x+w-1, 0) 중 도면 중, 가장 좌측의 위치 (x, 0)의 x 좌표를 나타내고 있다.
또, 단계 S49에 있어서, 최대 유효 자리수 계산부(63)는, 전회에 부호화된 w개의 양자화 계수의 최대 유효 자리수를 나타낸 변수(B)의 값을 B=Binit로 하여, 상기 변수(B)를 기억한다. 즉, 최대 유효 자리수 계산부(63)는, 변수(B)의 값을 기억하고 있는 변수(Binit)의 값으로서 변수(B)를 갱신하고, 갱신된 변수(B)의 값을 기억한다.
최대 유효 자리수 계산부(63)는 변수(B)의 값을 갱신하면, 갱신된 변수(B)(최대 유효 자리수)의 값을 나타내는 정보를 VLC 부호화부(64) 및 유효 자리수 추출부(65)에 공급한다. 또, VLC 부호화부(64) 및 유효 자리수 추출부(65)는, 각각 최대 유효 자리수 계산부(63)로부터 공급된 변수(B)의 값을 기억한다.
단계 S50에 있어서, 엔트로피 부호화부(23)는 w개 세트 부호화 처리를 행한다. 그리고, w개 세트 부호화 처리의 자세한 것은 후술하지만, w개 세트 부호화 처리에 있어서, 엔트로피 부호화부(23)는, 라인 판정부(61)가 기억하고 있는 변수(y)에 의해 나타내는 라인(y) 상의 연속하는 w개의 양자화 계수를 부호화한다.
여기서, 라인 판정부(61)가 기억하고 있는 변수(y) 및, 최대 유효 자리수 계산부(63)가 기억하고 있는 변수(x)에 의해 특정되는 라인(y) 상의 위치를 (x, y)로 하면, 라인(y) 상의 w개의 연속하는 위치는, 라인(y) 상의 연속하는 위치 (x, y), (x+1, y), …, (x+w-1, y)로 된다. 즉, w개 세트 부호화 처리에 있어서, 엔트로피 부호화부(23)는, 위치 (x, y), (x+1, y), …, (x+w-1, y)의 각각의 양자화 계수를 부호화한다.
단계 S51에 있어서, 최대 유효 자리수 계산부(63)는, 라인(y)에 미처리된 양자화 계수가 있는지 없는지를 판정한다. 즉, 최대 유효 자리수 계산부(63)는, 라인 판정부(61)가 기억하고 있는 변수(y)에 의해 나타내는 라인(y) 상의 위치의 모 든 양자화 계수를 부호화했는지 아닌지를 판정한다.
단계 S51에 있어서, 라인(y)에 미처리된 양자화 계수가 있는 것으로 판정된 경우, 최대 유효 자리수 계산부(63)는, 다음의 w개의 양자화 계수를 부호화하므로, 처리를 단계 S52로 진행한다.
단계 S52에 있어서, 최대 유효 자리수 계산부(63)는, 기억하고 있는 변수(x)를, x=x+w으로 하고, 처리를 단계 S50으로 복귀시킨다. 이로써, 그 후의 단계 S50의 처리에 있어서, 라인(y) 상의 위치 (x+w, y), (x+w+1, y), ‥·, (x+2w-1, y)의 각각의 양자화 계수가 부호화된다.
또, 단계 S51에 있어서, 라인(y)에 미처리된 양자화 계수가 없는 것으로 판정된 경우, 최대 유효 자리수 계산부(63)는, 라인(y) 상의 하나의 모든 위치의 양자화 계수가 부호화되었으므로, 처리를 단계 S46로 복귀시키고, 그 이후의 처리를 실행시킨다.
이와 같이 하여, 엔트로피 부호화부(23)는, 서브 밴드의 각 위치의 양자화 계수를 소정의 개수씩 라스터 스캔 순서로 부호화한다.
이와 같이, 서브 밴드의 각 위치의 양자화 계수를 소정의 개수씩 라스터 스캔 순서로 부호화함으로써, 입력된 양자화 계수를 입력된 순서대로 처리할 수 있고, 양자화 계수의 부호화에 의해 생기는 지연을 보다 적게 할 수 있다.
다음에, 도 7의 플로차트를 참조하여, 도 6의 단계 S50의 처리에 대응하는 w개 세트 부호화 처리에 대하여 설명한다.
단계 S81에 있어서, 최대 유효 자리수 계산부(63)는, 기억하고 있는 변수(x) 에 의해 특정되는 라인(y) 상의 위치를 (x, y)로서, 연속하는 w개의 위치 (x, y), (x+1, y), ‥·, (x+w-1, y)의 양자화 계수 중, 절대값이 가장 큰 양자화 계수의 유효 자리수를, 지금부터 부호화하는 w개의 양자화 계수의 최대 유효 자리수를 나타낸 변수(Bnew)의 값으로 하여, 상기 변수(Bnew)를 기억한다.
또, 최대 유효 자리수 계산부(63)는, 구해진 w개의 양자화 계수의 최대 유효 자리수, 즉, 변수(Bnew)의 값을 VLC 부호화부(64) 및 유효 자리수 추출부(65)에 공급한다. 예를 들면, w개가 연속하는 위치의 각각의 양자화 계수가, 도 3에 나타낸 양자화 계수 "-0101", "+0011", "-0110", 및 "+0010"인 경우, 이들 양자화 계수 중, 절대값이 최대인 양자화 계수는 "-0110"이며, 그 유효 자리수는 "-0110"의 최상위에 있는 1의 자리수인 "3"이므로, 변수(Bnew)의 값은 3으로 된다.
단계 S82에 있어서, VLC 부호화부(64)는, B=Bnew인지 여부를 판정한다. 즉, VLC 부호화부(64)는, 기억하고 있는, 전회에 부호화된 w개의 양자화 계수의 최대 유효 자리수를 나타낸 변수(B)의 값이, 최대 유효 자리수 계산부(63)로부터 공급된, 지금부터 부호화하는 w개의 양자화 계수의 최대 유효 자리수를 나타낸 변수(Bnew)의 값과 동일한지 여부를 판정한다.
단계 S82에 있어서, B=Bnew인 것으로 판정된 경우, VLC 부호화부(64)는, 처리를 단계 S83으로 진행하고, 지금부터 부호화하는 w개의 양자화 계수의 최대 유효 자리수를 나타낸 부호로서, 최대 유효 자리수가 변화하지 않은 것을 나타낸 부호 0을 부호 연결부(69)에 출력한다. 그리고, 최대 유효 자리수를 나타낸 부호 0이 출력되면, VLC 부호화부(64)는, 단계 S84의 처리 내지 단계 S88의 처리를 스킵(skip) 하고, 단계 S89로 처리를 진행시킨다.
이에 대하여, 단계 S82에 있어서, B=Bnew가 아닌 것으로 판정된 경우, VLC 부호화부(64)는, 처리를 단계 S84로 진행하고, (최대 유효 자리수가 변화되었으므로,)최대 유효 자리수가 변화된 것을 나타낸 부호 1을 부호 연결부(69)에 출력한다.
단계 S85에 있어서, VLC 부호화부(64)는, 다음 식(1)을 만족시키는 정수 n 및 m을 구한다.
Bnew=B+(n+1)×(-1)^m …(1)
여기서, 식(1)에서의 기호 "^"은, 거듭제곱승을 나타내고 있다. 따라서, (-1)^m은, (-1)의 m승을 나타내고 있다.
예를 들면, Bnew=3이며, B=0인 경우, 식(1)을 만족시키는 n 및 m으로서, 각각 n=2, 및 m=0이 구해진다. 변수(Bnew) 및 변수(B)를 비교한 경우, 변수(Bnew)의 값의 절대값과 변수(B)의 값의 절대값의 차이가 클수록, 식(1)에서의 n의 값은 커진다. 따라서 n의 값은, 최대 유효 자리수의 변화량을 나타내고 있다고 할 수 있다. 또, 변수(Bnew)의 값이 변수(B)의 값보다 큰 경우, m의 값은 0로 되고, 역으로 변수(Bnew)의 값이 변수(B)의 값보다 작은 경우, m의 값은 1로 된다. 따라서, 식(1)에서의 m의 값은, 최대 유효 자리수가 증가했는지 또는 감소했는지를 나타내고 있다고 할 수 있다.
단계 S86에 있어서, VLC 부호화부(64)는, 최대 유효 자리수가 증가했는지 또는 감소했는지를 나타낸 부호로서, 식(1)을 만족시키는 m의 값을 1비트의 부호로 부호 연결부(69)에 출력한다. 예를 들면, 식(1)을 만족시키는 m의 값이 0인 경우, VLC 부호화부(64)는, 최대 유효 자리수가 증가한 것을 나타낸 부호 0을 출력한다.
단계 S87에 있어서, VLC 부호화부(64)는, 최대 유효 자리수의 변화량을 나타낸 부호로서, 식(1)을 만족시키는 n의 값만큼 연속하는 0에 계속하여 1개의 1을 부호 연결부(69)에 출력한다. 즉, VLC 부호화부(64)는, n개의 0 및 1개의 1을 최대 유효 자리수의 변화량을 나타낸 부호로서 출력한다.
예를 들면, 식(1)을 만족시키는 n의 값이 2인 경우, VLC 부호화부(64)는, 최대 유효 자리수의 변화량을 나타낸 부호로서 "001"을 부호 연결부(69)에 출력한다.
이로써, VLC 부호화부(64)로부터 부호 연결부(69)에는, 지금부터 부호화하는 w개의 양자화 계수의 최대 유효 자리수를 나타낸 부호로서, 최대 유효 자리수가 변화된 것을 나타낸 부호, 최대 유효 자리수가 증가했는지 또는 감소했는지를 나타낸 부호, 및 최대 유효 자리수의 변화량을 나타낸 부호가 출력된다.
단계 S88에 있어서, 최대 유효 자리수 계산부(63)는, 기억하고 있는 변수(B)의 값을 B=B new으로 하고, 처리를 단계 S89로 진행한다. 즉, 최대 유효 자리수 계산부(63)는, 기억하고 있는 변수(B)의 값을, 기억하고 있는 변수(Bnew)의 값으로서 변수(B)를 갱신한다. 또, VLC 부호화부(64) 및 유효 자리수 추출부(65)도 기억하고 있는 변수(B)의 값을 B=Bnew로 한다.
단계 S88에 있어서, 변수(B)의 값이 B=Bnew로 되거나, 또는 단계 S83에 있어서, 양자화 계수의 최대 유효 자리수를 나타낸 부호가 출력되면, 단계 S89에 있어서, 최대 유효 자리수 계산부(63)는, 기억하고 있는 변수(x)의 값이 0인 경우, 기 억하고 있는 변수(Binit)의 값을 Binit=B로 한다.
즉, 최대 유효 자리수 계산부(63)는, 기억하고 있는 변수(x)의 값이 0인 경우, 기억하고 있는, 라인(y-1) 상의 최초에 입력되는 w개의 양자화 계수의 최대 유효 자리수를 나타낸 변수(Binit)의 값을, 전회에 부호화된 w개의 양자화 계수의 최대 유효 자리수를 나타낸 변수(B)의 값으로 하여, 상기 변수(Binit)를 갱신한다.
이와 같이, 변수 x=0인 경우에, 변수(Binit)의 값을 Binit=B로 함으로써, 다음의 라인(예를 들면, 라인(y+1))의 x=0으로부터 시작되는 w개의 양자화 계수에 대하여, 이전의 라인(예를 들면, 라인(y))의 x=0으로부터 시작되는 w개의 양자화 계수의 최대 유효 자리수와의 상관관계를 이용하여 양자화 계수의 부호화를 행할 수 있다.
단계 S90에 있어서, 유효 자리수 추출부(65)는, 소정의 변수를 i로 하여, 변수 i를 0으로부터 (w-1)까지 변화시켜, 양자화부(22)로부터 공급된, 라인(y) 상의 위치(x+i, y)의 양자화 계수로부터, 양자화 계수의 유효 자리수를 추출한다. 유효 자리수 추출부(65)는, 추출된 양자화 계수의 유효 자리수(의 데이터)를 VLC 부호화부(66) 및 싸인 추출부(67)에 공급한다. 또, VLC 부호화부(66)는, 유효 자리수 추출부(65)로부터 공급된 유효 자리수에 기초하여(유효 자리수를 부호화하여), w개의 양자화 계수의 절대값을 나타낸 부호를 부호 연결부(69)에 출력한다.
여기서, 위치(x+i, y)에서의 x의 값은, 최대 유효 자리수 계산부(63)가 기억하고 있는 변수(x)의 값으로 된다. 예를 들면, 최대 유효 자리수 계산부(63)가 기억하고 있는 변수(x)의 값이 0이고, 유효 자리수 추출부(65)가 기억하고 있는 변 수(B)의 값이 3이며, 또한, 양자화부(22)로부터 유효 자리수 추출부(65)에, 위치(x+i, y)(0≤i≤3)의 각각, 즉 위치 (0, y), (1, y), (2, y), 및 (3, y)의 양자화 계수에 대응하는 도 3에 나타낸 w개(4개)의 양자화 계수 "-0101", "+0011", "-0110", 및 "+0010"이 공급된 것으로 하면, 유효 자리수 추출부(65)는, 이들 양자화 계수로부터 유효 자리수를 추출한다.
이 경우, 유효 자리수 추출부(65)가 기억하고 있는 변수(B)의 값은 3이며, 유효 자리수는 3자리수이므로, 유효 자리수 추출부(65)는, 위치(x, y)에 대응하는 양자화 계수 "-0101"로부터, 최하위로부터 3자리수의 값 "101"을 추출한다.
마찬가지로, 유효 자리수 추출부(65)는, 위치(x+1, y), 위치(x+2, y), 및 위치(x+3, y)의 각각의 양자화 계수 "+0011", "-0110", 및 "+0010"으로부터, 차례로, 이들 최하위로부터 3자리수의 값 "011", "110", 및 "010"을 추출한다. 이로써, 유효 자리수 추출부(65)로부터 VLC 부호화부(66) 및 싸인 추출부(67)에는, 양자화 계수 "-0101", "+0011", "-0110", 및 "+0010"의 유효 자리수(의 부호) "101", "011", "110", 및 "010" 이 출력된다. VLC 부호화부(66)는, 유효 자리수 추출부(65)로부터 공급된 부호 "101", "011", "110", 및 "010"을 부호화하여, w개(4개)의 양자화 계수의 절대값을 나타낸 부호 "101011110010"을, 부호 연결부(69)에 출력한다.
단계 S91에 있어서, 싸인 추출부(67)는, 소정의 변수를 i로 하여, 변수 i를 0으로부터 (w-1)까지 변화시켜, 양자화부(22)로부터 공급된, 양자화 계수의 절대값이 0이 아닌 라인(y) 상의 위치(x+i, y)의 양자화 계수로부터, 양자화 계수의 싸인을 추출하고, 추출된 싸인(의 데이터)을 VLC 부호화부(68)에 공급한다. VLC 부호 화부(68)는, 싸인 추출부(67)로부터의 싸인을 부호화하고, 이로써 얻어지는 양자화 계수의 싸인을 나타낸 부호를 부호 연결부(69)에 출력한다.
부호 연결부(69)는, VLC 부호화부(68)로부터 양자화 계수의 싸인을 나타낸 부호가 공급되면, VLC 부호화부(62), VLC 부호화부(64), VLC 부호화부(66), 및 VLC 부호화부(68)의 각각으로부터 공급된, 양자화 계수가 모두 0인지 여부를 나타내는 부호, 양자화 계수의 최대 유효 자리수를 나타낸 부호, 양자화 계수의 절대값을 나타낸 부호, 및 양자화 계수의 싸인을 나타낸 부호의 각각을 연결하여, 연결된 부호를 부호화된 화상으로서 출력하고, w개 세트 부호화 처리를 종료하고, 도 6의 단계 S50으로 처리를 복귀시키고, 단계 S51이후의 처리를 실행한다.
여기서, 위치(x+i, y)에서의 x의 값은, 최대 유효 자리수 계산부(63)가 기억하고 있는 변수(x)의 값으로 된다. 예를 들면, 최대 유효 자리수 계산부(63)가 기억하고 있는 변수(x)의 값이 0이며, 양자화부(22)로부터 싸인 추출부(67)에, 위치(x+i, y)(0≤i≤3)의 각각, 즉 위치 (0, y), (1, y), (2, y), 및 (3, y)의 양자화 계수에 대응하는 도 3에 나타낸 w개(4개)의 양자화 계수 "-0101", "+0011", "-0110", 및 "+0010"이 공급된 것으로 하면, 양자화 계수 "-0101", "+0011", "-0110", 및 "+0010"의 각각은 0은 아니기 때문에, 싸인 추출부(67)는, 이들 양자화 계수로부터 싸인을 추출한다.
이 경우, 싸인 추출부(67)는, 위치(x, y)에 대응하는 양자화 계수 "-0101"로부터 양자화 계수의 싸인 "-"을 추출한다.
마찬가지로, 싸인 추출부(67)는, 위치(x+1, y), 위치(x+2, y), 및 위치(x+3, y)의 각각의 양자화 계수 "+0011", "-0110", 및 "+0010"으로부터, 차례로, 이들 양자화 계수의 싸인 "+", "-", 및 "+"을 추출한다. 이로써, 싸인 추출부(67)로부터 VLC 부호화부(68)에는, 양자화 계수 "-0101", "+0011", "-0110", 및 "+0010"의 싸인 "-", "+", "-", 및 "+"이 출력된다. VLC 부호화부(68)는, 싸인 추출부(67)로부터 공급된 양자화 계수의 싸인 "-", "+", "-", 및 "+"을 부호화한다.
예를 들면, VLC 부호화부(68)는, 싸인 "-"가 입력되면 부호 1을 출력하고, 싸인 "+ "가 입력되면 부호 0을 출력함으로써, 입력된 싸인을 부호화한다. 이 경우, VLC 부호화부(68)에는, 양자화 계수의 싸인 "-", "+", "-", 및 "+"가 입력되므로, VLC 부호화부(68)는, 부호 "1", "0", "1", "0"으로 이루어지는 부호 "1010"을 양자화 계수의 싸인을 나타낸 부호로서 부호 연결부(69)에 출력한다.
이와 같이 하여, 엔트로피 부호화부(23)는, 서브 밴드의 양자화 계수를, 미리 정해진 소정의 개수씩 한꺼번에 부호화하고, 양자화 계수의 최대 유효 자리수를 나타낸 부호, 양자화 계수의 절대값을 나타낸 부호, 및 양자화 계수의 싸인을 나타낸 부호를 출력한다.
이와 같이, 서브 밴드의 양자화 계수를, 미리 정해진 소정의 개수씩 한꺼번에 부호화함으로써, 예를 들면, JPEG2000 방식에 의해 화상을 부호화하는 경우와는 상이하고, 복수의 코딩 패스에 기초하여, 비트 플레인마다 복수개의 처리를 행할 필요가 없고, 또, 가변길이 부호화를 행하므로, 부호화의 처리량을 대폭 저감할 수 있다. 이로써, 보다 고속으로 화상의 부호화를 행할 수 있고, 고해상도의 화상을 실시간으로 부호화하기 위한 부호화 장치를 저가로 실현할 수 있다.
또한, 화상 부호화 장치(11)에서는, 화상을 부호화하는 경우에, 부호의 길이를 명시적으로 부호화할 필요가 없기 때문에, 부호량을 적게 할 수 있고, 부호의 길이의 정보를 관리할 필요도 없다.
그리고, 상기에서는, w개의 양자화 계수 중, 절대값이 가장 큰 양자화 계수의 유효 자리수를, 최대 유효 자리수를 나타낸 변수(Bnew)의 값으로 하여 설명하였지만, 변수(Bnew)의 값은, w개의 양자화 계수 중, 절대값이 가장 큰 양자화 계수의 유효 자리수 이상의 값이면 된다. 변수(Bnew)의 값이 커지면, 양자화 계수의 절대값을 나타낸 부호의 부호량이 많아지지만, 변수(Bnew)의 값을, 절대값이 가장 큰 양자화 계수의 유효 자리수 이상의 값으로 함으로써, 양자화 계수의 최대 유효 자리수를 나타낸 부호의 부호량을 적게 할 수 있다.
다음에, 화상 부호화 장치(11)에 의해 부호화된 화상을 복호하는 화상 복호 장치에 대하여 설명한다.
도 8은 화상 복호 장치의 구성예를 나타낸 블록도이다.
화상 복호 장치(111)는, 엔트로피 복호부(121), 역양자화부(122), 및 웨이브 렛 역변환부(123)로 구성되며, 엔트로피 복호부(121)에는, 부호화된 화상(데이터)이 입력된다.
엔트로피 복호부(121)는, 입력된 부호화된 화상으로서의 부호를 엔트로피 복호하고, 이로써 얻어진 양자화 계수를 역양자화부(122)에 공급한다.
역양자화부(122)는, 엔트로피 복호부(121)로부터 공급된 양자화 계수를 역양자화하고, 역양자화에 의해 얻어진 각 서브 밴드의 웨이브 렛 계수를 웨이브 렛 역 변환부(123)에 공급한다.
웨이브 렛 역변환부(123)는, 역양자화부(122)로부터 공급된, 각 서브 밴드의 웨이브 렛 계수에 웨이브 렛 역변환을 행하고, 그 결과 얻어진 화상을, 복호된 화상으로서 출력한다.
또, 이와 같은 처리를 행하는 화상 복호 장치(111)의 엔트로피 복호부(121)는, 보다 상세하게는, 예를 들면, 도 9에 나타낸 바와 같이 구성된다.
엔트로피 복호부(121)는, 보다 상세하게는, 부호 분할부(151), 라인 판정부(152), 발생부(153), VLC 복호부(154), VLC 복호부(155), VLC 복호부(156), 양자화 계수 합성부(157), 및 전환부(158)를 가진다.
부호 분할부(151)는, 라인 판정부(152), VLC 복호부(154), VLC 복호부(155), 및 VLC 복호부(156)의 각각으로부터 공급되는 정보에 따라, 입력된, 부호화된 화상으로서의 부호를 분할하고, 분할된 소정 길이의 부호를 라인 판정부(152), VLC 복호부(154), VLC 복호부(155), 또는 VLC 복호부(156)에 공급한다.
즉, 부호 분할부(151)는, 입력된 부호를, 부호화된 1개의 라인의 양자화 계수가 모두 0인지 여부를 나타내는 부호, 부호화된 w개의 양자화 계수의 최대 유효 자리수를 나타낸 부호, 부호화된 w개의 양자화 계수의 절대값을 나타낸 부호, 및 부호화된 양자화 계수의 싸인을 나타낸 부호의 각각에 분할하고, 라인 판정부(152), VLC 복호부(154), VLC 복호부(155), 및 VLC 복호부(156)의 각각에 공급한다.
라인 판정부(152)는, 부호 분할부(151)로부터 공급된 부호에 기초하여, 부호 화된 서브 밴드의 하나의 라인의 양자화 계수가 모두 0인지 여부를 판정하고, 그 판정의 결과를 나타내는 정보를, 부호 분할부(151), 발생부(153), 및 VLC 복호부(154)에 공급한다.
발생부(153)는, 라인 판정부(152)로부터의 판정의 결과를 나타내는 정보에 기초하여, 1 라인분의 0인 양자화 계수를 나타낸 부호를 발생하여 전환부(158)에 공급한다.
VLC 복호부(154)는, 부호 분할부(151)로부터 공급된, 부호화된 w개의 양자화 계수의 최대 유효 자리수를 나타낸 부호를 복호하여, 부호화된 w개의 양자화 계수의 최대 유효 자리수를 구하고, 구한 최대 유효 자리수를 나타내는 정보를 부호 분할부(151), VLC 복호부(155), 및 양자화 계수 합성부(157)에 공급한다.
VLC 복호부(155)는, VLC 복호부(154)로부터의 최대 유효 자리수를 나타내는 정보에 기초하여, 부호 분할부(151)로부터 공급된 양자화 계수의 절대값을 나타낸 부호를 복호하고, 이로써 얻어진 w개의 양자화 계수의 유효 자리수(의 데이터)를, VLC 복호부(156) 및 양자화 계수 합성부(157)에 공급한다. 또, VLC 복호부(155)는, 양자화 계수의 절대값을 나타낸 부호의 복호의 결과를 나타내는 정보를 부호 분할부(151)에 공급한다.
VLC 복호부(156)는, VLC 복호부(155)로부터 공급된 양자화 계수의 유효 자리수에 기초하여, 부호 분할부(151)로부터 공급된 양자화 계수의 싸인을 나타낸 부호를 복호하고, 이로써 얻어지는 양자화 계수의 싸인(의 데이터)을 양자화 계수 합성부(157)에 공급한다. 또, VLC 복호부(156)는, 양자화 계수의 싸인을 나타낸 부호 의 복호의 결과를 나타내는 정보를 부호 분할부(151)에 공급한다.
양자화 계수 합성부(157)는, VLC 복호부(154)로부터의 최대 유효 자리수를 나타내는 정보에 기초하여, VLC 복호부(155)로부터 공급된 양자화 계수의 유효 자리수 및 VLC 복호부(156)로부터 공급된 양자화 계수의 싸인을 합성하고, 이로써 얻어진 w개의 양자화 계수를 전환부(158)에 공급한다.
전환부(158)는, 발생부(153) 또는 양자화 계수 합성부(157)로부터의 양자화 계수를 출력한다.
도 10은 부호 분할부(151)의 보다 상세한 구성예를 나타낸 블록도이다.
부호 분할부(151)는, 제어부(171) 및 메모리(172)를 가지고 있다. 제어부(171)는, 부호화된 화상으로서의 부호가 입력되면, 입력된 부호를 메모리(172)에 공급하여 일시적으로 기억시킨다.
그리고, 제어부(171)는, 도 9에 나타낸 라인 판정부(152), VLC 복호부(154), VLC 복호부(155), 및 VLC 복호부(156)의 각각으로부터 공급되는 정보에 따라, 메모리(172)에 일시적으로 기억되어 있는 부호 중, 소정 길이의 부호를 판독하여, 라인 판정부(152), VLC 복호부(154), VLC 복호부(155), 또는 VLC 복호부(156)에 공급한다.
또, 부호 분할부(151)는 도 10에 나타낸 구성예의 이외에, 예를 들면, 도 11에 나타낸 바와 같이 구성되어도 된다.
도 11에 나타낸 부호 분할부(151)는, 제어부(191), 스위치(192), 및, 노드(node)(193-1) 내지 노드(193-4)를 가진다.
제어부(191)는, 부호화된 화상으로서의 부호가 부호 분할부(151)에 입력되면, 도 9에 나타낸 라인 판정부(152), VLC 복호부(154), VLC 복호부(155), 및 VLC 복호부(156)의 각각으로부터 공급되는 정보에 따라, 스위치(192)를 제어하고, 입력된 부호 중, 소정 길이의 부호를 라인 판정부(152), VLC 복호부(154), VLC 복호부(155), 또는 VLC 복호부(156)에 공급시킨다.
즉, 노드(193-1) 내지 노드(193-4)의 각각은, 라인 판정부(152), VLC 복호부(154), VLC 복호부(155), 및 VLC 복호부(156)의 각각에 접속되어 있고, 제어부(191)는, 부호의 공급처로서 노드(193-1) 내지 노드(193-4) 중 어느 하나를 선택하고, 스위치(192)와 선택된 노드의 접속을 제어한다.
스위치(192)가 제어부(191)의 제어에 따라 선택된 노드를 입력과 접속하므로, 부호 분할부(151)에 입력된 부호는, 스위치(192), 및 스위치(192)와 접속된 노드를 통하여, 부호의 공급처로서 선택된 라인 판정부(152), VLC 복호부(154), VLC 복호부(155), 또는 VLC 복호부(156)에 공급된다.
다음에, 도 12의 플로차트를 참조하여, 화상 복호 장치(111)에 의한 복호 처리에 대하여 설명한다. 상기 복호 처리는, 엔트로피 복호부(121)에 부호화된 화상으로서의 부호가 입력되면 개시된다.
단계 S131에 있어서, 엔트로피 복호부(121)는, 엔트로피 복호 처리를 행하고, 입력된 화상으로서의 부호를 엔트로피 복호하고, 이로써 얻어진 양자화 계수를 역양자화부(122)에 공급한다. 그리고, 엔트로피 복호 처리의 상세한 것은 후술하지만, 이 엔트로피 복호 처리에 있어서, 엔트로피 복호부(121)는, 부호화된 서브 밴드의 라인 상의 연속하는 위치의 양자화 계수를 w개씩 복호하고, 복호된 양자화 계수를 역양자화부(122)에 공급한다.
단계 S132에 있어서, 역양자화부(122)는, 엔트로피 복호부(121)로부터 공급된 양자화 계수를 역양자화하고, 역양자화에 의해 얻어진 각 서브 밴드의 웨이브 렛 계수를 웨이브 렛 역변환부(123)에 공급한다.
단계 S133에 있어서, 웨이브 렛 역변환부(123)는, 역양자화부(122)로부터 공급된, 각 서브 밴드의 웨이브 렛 계수에 웨이브 렛 역변환을 행하고, 그 결과 얻어진 화상을 출력하여 복호 처리는 종료된다.
이와 같이 하여, 화상 복호 장치(111)는, 부호화된 화상을 복호하여 출력한다.
다음에, 도 13의 플로차트를 참조하여, 도 12의 단계 S131의 처리에 대응하는 엔트로피 복호 처리에 대하여 설명한다.
단계 S161에 있어서, 라인 판정부(152)는, 지금부터 복호하는 서브 밴드의 라인을 나타낸 변수(y)를 y=0으로 하여, 상기 변수(y)를 기억한다.
단계 S162에 있어서, VLC 복호부(154)는, 라인 판정부(152)가 기억하고 있는 변수(y)에 의해 나타내는 라인(y)보다 1개 전의 라인(y-1) 상의 최초에 입력되는 w개의 양자화 계수의 최대 유효 자리수를 나타낸 변수(Binit)를 Binit=0으로 하여, 상기 변수(Binit)를 기억한다.
예를 들면, 라인(y-1)이, 도 2에 나타낸 라인(L1)인 경우, 라인(y-1) 상의 최초에 입력되는 w개의 양자화 계수의 최대 유효 자리수를 나타낸 변수(Binit)의 값은, 라인(L1)의 도면 중, 좌측단의 위치로부터 w개의 양자화 계수의 최대 유효 자리수로 된다. 또한, 라인 판정부(152)가 기억하고 있는 변수(y)가 y=0인 경우, 라인(y-1)은 존재하지 않으므로, 변수(Binit)의 값은, Binit=0으로 된다.
또, 단계 S162에 있어서, 부호 분할부(151)는, 입력된 부호 중, 최초의 1비트의 부호를, 지금부터 복호하는 라인의 양자화 계수가 모두 0인지 여부를 나타내는 부호로서, 라인 판정부(152)에 공급한다.
단계 S163에 있어서, 라인 판정부(152)는, 부호 분할부(151)로부터 판독된(공급된) 1비트의 부호가 0인지 여부를 판정하고, 그 판정의 결과를 나타내는 정보를 생성하여 발생부(153), VLC 복호부(154), 및 부호 분할부(151)에 공급한다.
단계 S163에 있어서, 부호가 0인 것으로 판정된 경우, 라인(y)의 양자화 계수가 모두 0이므로, 라인 판정부(152)는, 처리를 단계 S164로 진행한다. 단계 S164에서 발생부(153)는, 라인 판정부(152)로부터의 판정의 결과를 나타내는 정보에 기초하여, 라인(y)의 양자화 계수를 모두 0으로 한다. 그리고, 발생부(153)는, 라인(y)의 양자화 계수를 나타낸 부호를 발생하여 전환부(158)에 공급한다.
예를 들면, 도 3에 나타낸 바와 같이, 1개의 양자화 계수가 4자리수로 표현되고, 1개의 라인의 양자화 계수가 5개인 경우, 발생부(153)는, 라인(y)의 양자화 계수를 나타낸 부호로서, 20(=4×5)개의 0을 발생하여 전환부(158)에 공급한다. 전환부(158)는, 발생부(153)로부터 공급된 연속하는 20개의 0을, 1개의 라인의 양자화 계수를 나타낸 부호로서, 역양자화부(122)에 출력한다.
단계 S165에 있어서, VLC 복호부(154)는, 라인 판정부(152)로부터의 판정의 결과를 나타내는 정보에 기초하여, 기억하고 있는 변수(Binit)의 값을 Binit=0으로 하고, 변수(Binit)를 갱신한다.
단계 S166에 있어서, 라인 판정부(152)는, 복호하고 있는 서브 밴드의 라인 중, 미처리의 라인이 있는지 없는지를 판정한다. 즉, 라인 판정부(152)는, 복호하고 있는 서브 밴드의 모든 라인 상의 위치의 양자화 계수를 복호했는지 아닌지를 판정한다
단계 S166에 있어서, 미처리의 라인이 있는 것으로 판정된 경우, 라인 판정부(152)는, 자기 자신이 기억하고 있는 변수(y)에 의해 나타내는 라인(y)의 다음의 라인(y+1) 상의 각 위치의 양자화 계수를 복호하므로, 처리를 단계 S167로 진행한다.
단계 S167에 있어서, 라인 판정부(152)는, 기억하고 있는 라인을 나타낸 변수(y)를 인크리먼트하여 y=y+1로 하고, 처리를 단계 S163으로 복귀시키고, 그 이후의 처리를 실행시킨다.
이에 대하여, 단계 S166에 있어서, 미처리의 라인이 없는 것으로 판정된 경우, 서브 밴드를 구성하는 모든 라인에 대하여 양자화 계수가 복호되었으므로, 라인 판정부(152)는, 엔트로피 복호 처리를 종료하고, 처리를 도 12의 단계 S131로 복귀시키고, 단계 S132 이후의 처리를 실행시킨다.
또한, 도 13의 단계 S163에 있어서, 부호가 0이 아닌 것으로 판정된 경우, 라인 판정부(152)는, 처리를 단계 S168로 진행한다. 단계 S168에 있어서, VLC 복호부(154)는, 라인 판정부(152)로부터의 판정의 결과를 나타내는 정보에 기초하여, 지금부터 복호하는 w개의 양자화 계수 중, 최초에 입력되는 양자화 계수에 대응하는 라인(y) 상의 위치의 x 좌표를 나타낸 변수(x)의 값을 x=0으로 하여, 상기 변수(x)를 기억한다.
또, 단계 S168에 있어서, VLC 복호부(154)는, 전회 복호된 w개의 양자화 계수의 최대 유효 자리수를 나타낸 변수(B)의 값을 B=Binit로 하여, 상기 변수(B)를 기억한다. 즉, VLC 복호부(154)는, 변수(B)의 값을 기억하고 있는 변수(Binit)의 값으로서 변수(B)를 갱신하고, 갱신된 변수(B)의 값을 기억한다.
또한, 단계 S168에 있어서, 부호 분할부(151)는, 라인 판정부(152)로부터의 판정의 결과를 나타내는 정보에 기초하여, 입력된 부호의 다음의 1비트의 부호를, 지금부터 복호하는 w개의 양자화 계수의 최대 유효 자리수가 변화되었는지 아닌지를 나타낸 부호로서, VLC 복호부(154)에 공급한다.
단계 S169에 있어서, 엔트로피 복호부(121)는, w개 세트 복호 처리를 행한다. 그리고, w개 세트 복호 처리의 상세한 것은 후술하지만, 상기 w개 세트 복호 처리에 있어서, 엔트로피 복호부(121)는, 라인 판정부(152)가 기억하고 있는 변수(y)에 의해 나타내는 라인(y) 상의 연속하는 w개의 위치의 양자화 계수를 복호한다.
단계 S170에 있어서, VLC 복호부(154)는, 라인(y)에 미처리의 양자화 계수가 있는지 없는지를 판정한다. 즉, VLC 복호부(154)는, 라인 판정부(152)가 기억하고 있는 변수(y)에 의해 나타내는 라인(y) 상의 위치의 모든 양자화 계수를 복호했는지 아닌지를 판정한다.
단계 S170에 있어서, 라인(y)에 미처리의 양자화 계수가 있는 것으로 판정된 경우, 다음의 w개의 양자화 계수를 복호하므로, VLC 복호부(154)는, 처리를 단계 S171로 진행한다.
단계 S171에 있어서, VLC 복호부(154)는, 기억하고 있는 변수(x)를, x=x+w로 하여, 처리를 단계 S169로 복귀시킨다. 이로써, 그 후의 단계 S169의 처리에서, 라인(y) 상의 위치 (x+w, y), (x+w+1, y), ‥·, (x+2w-1, y)의 각각의 양자화 계수가 복호된다.
또, 단계 S170에 있어서, 라인(y)에 미처리의 양자화 계수가 없는 것으로 판정된 경우, VLC 복호부(154)는, 라인(y) 상의 모든 위치의 양자화 계수가 복호되었으므로, 처리를 단계 S166으로 복귀시키고, 그 이후의 처리를 실행시킨다.
이와 같이 하여, 엔트로피 복호부(121)는, 서브 밴드의 각 위치의 양자화 계수를 소정의 개수씩 라스터 스캔 순서로 복호한다.
이와 같이, 서브 밴드의 각 위치의 양자화 계수를 소정의 개수씩 라스터 스캔 순서로 복호함으로써, 부호화된 양자화 계수를, 입력된 순서대로 처리할 수 있고, 양자화 계수의 복호에 의해 생기는 지연을 보다 적게 할 수 있다.
다음에, 도 14의 플로차트를 참조하여, 도 13의 단계 S169의 처리에 대응하는 w개 세트 복호 처리에 대하여 설명한다.
전술한 바와 같이, 도 13의 단계 S168에서, 부호 분할부(151)로부터 VLC 복호부(154)에는, 지금부터 복호하는 w개의 양자화 계수의 최대 유효 자리수가 변화되었는지 아닌지를 나타낸 1비트의 부호가 공급된다.
도 14의 단계 S211에 있어서, VLC 복호부(154)는, 판독된(공급된) 1비트의 부호가 0 인지 여부를 판정한다.
단계 S211에 있어서, 판독된 부호가 0인 것으로 판정된 경우, 최대 유효 자리수는 변화하지 않았기 때문에, VLC 복호부(154)는, 최대 유효 자리수가 변화하고 있지 않는 취지의 정보를 생성하고, 상기 정보를 부호 분할부(151), VLC 복호부(155), 및 양자화 계수 합성부(157)에 공급하고, 단계 S212 내지 단계 S214의 각 처리를 스킵하여, 단계 S215로 처리를 진행시킨다.
즉, 최대 유효 자리수가 변화되었는지 아닌지를 나타낸 부호가 0인 경우, 도 3을 참조하여 설명한 바와 같이, 최대 유효 자리수가 변화되었는지 아닌지를 나타낸 1비트의 부호 0의 뒤에는, 최대 유효 자리수가 증가했는지 또는 감소했는지를 나타낸 부호, 및 최대 유효 자리수의 변화량을 나타낸 부호가 아니고, 양자화 계수의 절대값을 나타낸 부호가 입력되므로, 최대 유효 자리수가 증가했는지 또는 감소했는지를 나타낸 부호, 및 최대 유효 자리수의 변화량을 나타낸 부호를 복호하는 처리인 단계 S212 내지 단계 S214의 각 처리는 스킵된다.
이에 대하여, 단계 S211에 있어서, 판독된 1비트의 부호가 0이 아닌 것으로 판정된 경우, 최대 유효 자리수가 변화되었으므로, VLC 복호부(154)는, 처리를 단계 S212로 진행하고, 부호 분할부(151)로부터 부호를 1비트 판독하고, 상기 값을 소정의 변수(m)로서 기억한다.
단계 S213에 있어서, VLC 복호부(154)는, 부호가 1로 될 때까지(부호 1을 판독할 때까지) 부호 분할부(151)로부터 부호를 판독하고, 그때까지 판독된 부호 0의 수를 소정의 변수(n)로서 기억한다. 예를 들면, VLC 복호부(154)가 부호 분할부(151)로부터 판독된 3번째의 부호가 1이었던 경우, 즉, VLC 복호부(154)가 부호 "001"을 판독했을 경우, VLC 복호부(154)가 부호 1을 판독하기까지, 판독된 부호 0의 수는 2이므로, VLC 복호부(154)는, 판독된 부호 0의 수인 2를 변수(n)의 값으로서 기억한다.
단계 S214에 있어서, VLC 복호부(154)는, 최대 유효 자리수를 나타낸 변수(B)의 값을 이하의 식(2)에 의해 구하고, 구해진 변수(B)의 값을 기억한다.
B=B+(n+1)×(-1)^m …(2)
여기서, 식(2)에 있어서의 좌측 변은, 새롭게 구해지는 변수(B)의 값을 나타내고, 우측 변의 B는 기억하고 있는 변수(B)의 값을 나타내고 있다. 또, 식(2)에 있어서의 기호 "^"은, 거듭제곱승을 나타내고 있다. 따라서, (-1)^m은, (-1)의 m승을 나타내고 있다.
VLC 복호부(154)는, 기억하고 있는 변수(B), 변수(m), 및 변수(n)에 기초하여, 식(2)를 계산하여 기억하고 있는 변수(B)를 갱신한다. VLC 복호부(154)는, 최대 유효 자리수를 나타낸 변수(B)를 갱신하면, 갱신된 최대 유효 자리수를 나타내는 정보를 생성하여, 부호 분할부(151), VLC 복호부(155), 및 양자화 계수 합성부(157)에 공급한다.
단계 S214에 있어서 새로운 최대 유효 자리수를 구하거나, 단계 S211에 있어서, 판독된 1비트의 부호가 0인 것으로 판정하면, VLC 복호부(154)는, 단계 S215로 처리를 진행시키고, 기억하고 있는 변수(x)의 값이 0인 경우, 기억하고 있는 변 수(Binit)의 값을 Binit=B로 한다.
즉, VLC 복호부(154)는, 기억하고 있는 변수(x)의 값이 0인 경우, 기억하고 있는, 라인(y-1) 상의 최초에 입력되는 w개의 양자화 계수의 최대 유효 자리수를 나타낸 변수(Binit)의 값을, 지금부터 복호하는 w개의 양자화 계수의 최대 유효 자리수를 나타낸 변수(B)의 값으로 하여, 상기 변수(Binit)를 갱신한다.
이와 같이, 변수 x=0인 경우에, 변수(Binit)의 값을 Binit=B로 함으로써, 다음의 라인(예를 들면, 라인(y+1))의 x=0으로부터 시작되는 w개의 양자화 계수에 대하여, 이전 라인(예를 들면, 라인(y))의 x=0으로부터 시작되는 w개의 양자화 계수의 최대 유효 자리수와의 상관관계를 이용하여 양자화 계수의 복호를 행할 수 있다.
단계 S216에 있어서, VLC 복호부(155)는, 소정의 변수를 i로 하여, 변수 i를 0으로부터 (w-1)까지 변화시켜, 부호 분할부(151)로부터 부호를 B비트씩 판독하고, 판독된 B비트의 부호를, 라인(y) 상의 위치(x+i, y)의 양자화 계수의 유효 자리수를 나타낸 부호로서, VLC 복호부(156) 및 양자화 계수 합성부(157)에 공급(출력)한다. 또, VLC 복호부(155)는, 양자화 계수의 유효 자리수를 나타내는 정보를 생성하여, 부호 분할부(151)에 공급한다.
여기서, 위치(x+i, y)에서의 x의 값은, VLC 복호부(154)가 기억하고 있는 변수(x)의 값으로 된다. 예를 들면, VLC 복호부(154)가 기억하고 있는 변수(x)의 값이 0이며, VLC 복호부(155)가 기억하고 있는 변수(B)의 값이 3인 경우, VLC 복호부(155)는, 변수 i=0으로서 부호 분할부(151)로부터 3비트의 부호를 판독하고, 판 독된 3비트의 부호를 위치(0, y)에서의 양자화 계수의 유효 자리수로서 출력한다.
마찬가지로, VLC 복호부(155)는, 변수 i=1로서 부호 분할부(151)로부터 또한 3비트의 부호를 판독하고, 그 부호를 위치(1, y)에서의 양자화 계수의 유효 자리수로서 출력하고, 변수 i=2로서 부호 분할부(151)로부터 다음의 3비트의 부호를 판독하고, 상기 부호를 위치(2, y)에서의 양자화 계수의 유효 자리수로서 출력하고, 변수 i=3으로서 부호 분할부(151)로부터, 또한 다음의 3비트의 부호를 판독하고, 상기 부호를 위치(3, y)에서의 양자화 계수의 유효 자리수로서 출력한다.
단계 S217에 있어서, VLC 복호부(156)는, 소정의 변수를 i로서, 변수 i를 0으로부터 (w-1)까지 변화시켜, 라인(y) 상의 위치(x+i, y)의 양자화 계수의 유효 자리수(절대값)가 0이 아니면, 부호 분할부(151)로부터 부호를 1비트 판독한다. 그리고, VLC 복호부(156)는, 판독된 부호를 복호하고, 이로써 얻어진 부호를 양자화 계수의 싸인으로서 양자화 계수 합성부(157)에 공급(출력)한다. 또, VLC 복호부(156)는, 양자화 계수의 싸인을 나타내는 정보를 생성하여, 부호 분할부(151)에 공급한다.
여기서, 위치(x+i, y)에서의 x의 값은, VLC 복호부(154)가 기억하고 있는 변수(x)의 값으로 된다. 예를 들면, VLC 복호부(154)가 기억하고 있는 변수(x)의 값이 0이며, VLC 복호부(155)에서 0이 아닌 유효 자리수(를 나타낸 부호)가 공급된 경우, VLC 복호부(156)는, 변수 i=0으로서 부호 분할부(151)로부터 1비트의 부호를 판독하고, 상기 부호가 0이면, 위치(ω, y)에서의 양자화 계수의 싸인 "-"을 나타낸 부호를 양자화 계수 합성부(157)에 공급하고, 판독된 부호가 1이면, 위치(0, y) 에서의 양자화 계수의 싸인 "+"을 나타낸 부호를 양자화 계수 합성부(157)에 공급한다.
또, VLC 복호부(156)는, VLC 복호부(155)로부터 공급된 유효 자리수(를 나타낸 부호)의 절대값이 0인 경우, 위치(0, y)에서의 양자화 계수의 싸인은 없기 때문에, 부호 분할부(151)로부터 부호를 판독하지 않는다.
마찬가지로, VLC 복호부(155)로부터 다음에 공급된 유효 자리수(의 절대값)가 0이 아닌 경우, VLC 복호부(156)는, 변수 i=1로서 부호 분할부(151)로부터 1비트의 부호를 판독하고, 상기 부호가 0이면, 싸인 "-"를 나타낸 부호를 양자화 계수 합성부(157)에 공급하고, 판독된 부호가 1이면, 싸인 "+"를 나타낸 부호를 양자화 계수 합성부(157)에 공급한다.
또한, VLC 복호부(155)로부터 다음에 공급된 유효 자리수가 0이 아닌 경우, VLC 복호부(156)는, 변수 i=2로서 부호 분할부(151)로부터 1비트의 부호를 판독하고, 상기 부호가 0이면, 싸인 "-"를 나타낸 부호를 양자화 계수 합성부(157)에 공급하고, 판독된 부호가 1이면, 싸인 "+"를 나타낸 부호를 양자화 계수 합성부(157)에 공급한다. 또, VLC 복호부(155)로부터 다음에 공급된 유효 자리수가 0이 아닌 경우, VLC 복호부(156)는, 변수 i=3으로서 부호 분할부(151)로부터 1비트의 부호를 판독하고, 상기 부호가 0이면, 싸인 "-"를 나타낸 부호를 양자화 계수 합성부(157)에 공급하고, 판독된 부호가 1이면, 싸인 "+"를 나타낸 부호를 양자화 계수 합성부(157)에 공급한다.
단계 S218에 있어서, 양자화 계수 합성부(157)는, VLC 복호부(155)로부터 공 급된 유효 자리수, 및 VLC 복호부(155)로부터 공급된 싸인을 합성하고, 이로써 얻어진 양자화 계수를, 전환부(158)를 통하여 역양자화부(122)에 출력하고, w개 세트 복호 처리를 종료하여 처리를 도 13의 단계 S169로 복귀시키고, 단계 S170이후의 처리를 실행시킨다.
예를 들면, 출력하는 양자화 계수의 절대값의 자리수는 미리 정해져 있다. 미리 정해진 출력하는 양자화 계수의 절대값의 자리수가 4자리수이며, VLC 복호부(154)로부터의 최대 유효 자리수를 나타내는 정보에 의해 나타내는 최대 유효 자리수가 3인 경우, VLC 복호부(155)로부터 유효 자리수 "101"이 공급되고, VLC 복호부(155)로부터 싸인 "-"를 나타낸 부호가 공급됐을 때, 양자화 계수 합성부(157)는 양자화 계수 "-0101"을 출력한다.
즉, 양자화 계수 합성부(157)는, 양자화 계수의 절대값의 자리수는 4자리수이며, 유효 자리수는 "101"(3자리수)이므로, 유효 자리수 "101"의 최상위의 비트의 또한 1개 상위의 비트를 0으로서, 양자화 계수의 절대값을 4자리수인 "0101"로 한다. 그리고, 또한, 양자화 계수의 싸인 "-"와, 양자화 계수의 절대값 "0101"을 합성하여 얻어지는 "-0101"을 양자화 계수로서 출력한다.
그리고, 양자화 계수 합성부(157)는, VLC 복호부(155)로부터 공급된 유효 자리수가 0인 경우에는, 싸인이 없는 양자화 계수를 출력한다. 예를 들면, 미리 정해진 출력하는 양자화 계수의 절대값의 자리수가 4자리수이며, VLC 복호부(154)로부터의 최대 유효 자리수를 나타내는 정보에 의해 나타내는 최대 유효 자리수가 3인 경우, VLC 복호부(155)로부터 유효 자리수 "000"이 공급됐을 때, 양자화 계수 합성부(157)는 양자화 계수 "0000"을 출력한다.
이와 같이 하여, 엔트로피 복호부(121)는, 부호화된 서브 밴드의 양자화 계수를, 미리 정해진 소정의 개수씩 한꺼번에 복호한다.
이와 같이, 부호화된 서브 밴드의 양자화 계수를, 미리 정해진 소정의 개수씩 한꺼번에 복호함으로써, 예를 들면, JPEG2000 방식에 의해 화상을 복호하는 경우와는 상이하고, 복수개의 코딩 패스에 기초하여, 비트 플레인마다 복수개의 처리를 행할 필요가 없고, 보다 고속으로 화상의 복호를 행할 수 있다. 이로써, 고해상도의 화상을 실시간으로 복호하기 위한 복호 장치를 저가로 실현할 수 있다.
그런데, 상기에서 설명한 화상 부호화 장치(11)에서는, 양자화 계수의 절대값을 부호화(또는 복호)하는 경우에, 미리 정해진 w개의 양자화 계수의 절대값을 순서대로 부호화하는 것으로 설명하였지만, 범용 DSP(Digital Signal Processor)나, 범용 CPU에서 사용되고 있는 SIMD(Single Instruction Multiple Data) 연산 명령을 이용하여, w개의 양자화 계수를 동시에(병렬로) 부호화(또는 복호) 함으로써, 보다 고속으로 화상을 부호화(또는 복호) 할 수 있다.
여기서, SIMD 연산 명령의 일례로서는, 예를 들면, 인텔 주식회사의 CPU에서 사용되고 있는 MMX(MultiMedia eXtension), SSE(Streaming SIMD Extensions), SSE2, SSE3 등이 있다.
이와 같은 SIMD 연산 명령을 이용하여 양자화 계수의 절대값을 부호화하는 경우, 화상 부호화 장치(11)의 엔트로피 부호화부(23)는, 예를 들면, 도 15에 나타낸 바와 같이 구성된다.
도 15에 나타낸 엔트로피 부호화부(23)는, 라인 판정부(61), VLC 부호화부(62), 최대 유효 자리수 계산부(63), VLC 부호화부(64), 유효 자리수 추출부(65), VLC 부호화부(66), 싸인 추출부(67), 및 VLC 부호화부(68)가 설치되어 있는 점에서, 도 4에 나타낸 엔트로피 부호화부(23)와 동일하고, 부호 연결부(69)에 새롭게 버퍼(301)가 설치되어 있는 점에서 상이하다. 그리고, 도 15에서, 도 4에서의 경우와 대응하는 부분에 대하여는 동일한 부호를 부여하고, 그 설명은 적당히 생략한다.
부호 연결부(69)의 버퍼(301)에는, VLC 부호화부(62), VLC 부호화부(64), VLC 부호화부(66), 및 VLC 부호화부(68)의 각각으로부터 공급된, 라인의 양자화 계수가 모두 0인지 여부를 나타내는 부호, 최대 유효 자리수를 나타낸 부호, 양자화 계수의 절대값을 나타낸 부호, 및 양자화 계수의 싸인을 나타낸 부호의 각각 이 일시적으로 기억된다.
버퍼(301)의 기억 영역은, 32 비트마다 관리되고, 버퍼(301)에 입력되는 부호(데이터)는, 스칼라 연산 처리에 사용되는 부호와, 벡터 연산 처리에 사용되는 부호로 나누어 기억된다. 즉, 1개의 32 비트의 기억 영역에는, 일시적으로 기억하는 부호(데이터)로서, 스칼라 연산 처리에 사용되는 부호, 또는 벡터 연산 처리에 사용되는 부호가 기억된다.
도 15의 엔트로피 부호화부(23)에서는, 양자화 계수의 절대값이 SIMD 연산 명령을 이용하여 병렬로 부호화되므로, 양자화 계수의 절대값을 나타낸 부호가 벡터 연산 처리에 사용되는 부호로 되고, 그 이외의 부호는 스칼라 연산 처리에 사용 되는 부호로 된다.
그리고, 이하의 설명에서는, 버퍼(301)에 설치되는 32 비트의 기억 영역 중, 스칼라 연산 처리에 사용되는 부호가 기억되는 기억 영역을 스칼라 영역으로도 칭하고, 벡터 연산 처리에 사용되는 부호가 기억되는 기억 영역을 벡터 영역으로도 칭한다.
다음에, 도 16을 참조하여, 도 15의 엔트로피 부호화부(23)가 행하는 엔트로피 부호화에 대하여 설명한다.
예를 들면, 도 16의 좌측 상부에 나타낸 바와 같이, 도 3에 나타낸 12개의 양자화 계수 "-0101", "+0011", "-0110", "+0010", "+0011", "+0110", "0000", "-0011", "+1101", "-0100", "+0111", 및 "-1010"이 엔트로피 부호화부(23)에 순서대로 입력된 것으로 한다.
그러면, 도 3을 참조하여 설명한 경우와 마찬가지로, 엔트로피 부호화부(23)의 부호 연결부(69)에는, 지금부터 부호화하는 라인의 양자화 계수가 모두 0인지 여부를 나타내는 부호 "1", 및 최초에 입력된 4개의 양자화 계수 "-0101", "+0011", "-0110", 및 "+0010"의 최대 유효 자리수를 나타낸 부호 "10001"이 공급된다.
그리고, 이들 양자화 계수가 모두 0인지 여부를 나타내는 부호 "1", 및 양자화 계수의 최대 유효 자리수를 나타낸 부호 "10001"로 이루어지는 부호 "110001"은, 화살표 A11에 나타낸 바와 같이, 부호 연결부(69)의 버퍼(301)에 설치된 32 비트의 스칼라 영역에 기억된다.
도 16의 예에서는, 스칼라 영역은, 또한 4개의 8 비트의 영역으로 나눌 수 있고, 스칼라 영역에는, 상기 스칼라 영역에 기억되는 부호가 도면 중, 좌측으로부터 우측 방향으로, 상위의 비트로부터 순서대로 저장되어 기억된다. 그리고, 1개의 스칼라 영역의 전체에 부호가 저장되면, 즉, 1개의 스칼라 영역에 32 비트의 부호가 저장되면, 버퍼(301)에는, 새로운 1개의 스칼라 영역이 설치되고, 새롭게 설치된 스칼라 영역에, 차례로 스칼라 연산 처리에 사용되는 부호가 저장된다.
양자화 계수가 모두 0인지 여부를 나타내는 부호 "1", 및 양자화 계수의 최대 유효 자리수를 나타낸 부호 "10001"로 이루어지는 부호 "110001"이 스칼라 영역에 기억되면, 다음에, 엔트로피 부호화부(23)는, 최초에 입력된 w개(4개)의 양자화 계수 "-0101", "+0011", "-0110", 및 "+0010"의 각각의 절대값을 나타낸 최대 유효 자리수분의 부호를, 동시에(병렬로 배열하여) 벡터 영역에 기억한다.
양자화 계수 "-0101", "+0011", "-0110", 및 "+0010"의 최대 유효 자리수는, 도 3을 참조하여 설명한 바와 같이, "3"이므로, 이들 4개의 양자화 계수의 절대값을 나타낸 부호는, 각각 "101", "011", "110", 및 "010"으로 되고, 화살표 A12에 나타낸 바와 같이, 양자화 계수의 절대값을 나타낸 부호 "101", "011", "110", 및 "010"은, 버퍼(301)에 설치된 1개의 벡터 영역에 병렬로 나란히 저장되고, 기억된다.
여기서, 벡터 영역은, 또한 4개의 8 비트의 영역으로 나눌 수 있고, 벡터 영역의 4개의 영역의 각각에는, 동일한 길이의(비트 길이의) 4개의 양자화 계수의 절대값을 나타낸 부호의 각각이, 도면 중, 좌측으로부터 우측 방향으로, 상위의 비트 로부터 순서대로 저장되어 기억된다.
화살표 A12에 의해 나타내는 벡터 영역에 있어서는, 도면 중, 좌측의 8 비트의 영역에 양자화 계수의 절대값을 나타낸 부호 "101"이 좌측으로부터 저장되고, 좌측으로부터 2번째의 8 비트의 영역에 부호 "011"이 좌측으로부터 저장되고, 우측으로부터 2번째의 영역에 부호 "110"이 좌측으로부터 저장되고, 또한, 가장 우측의 영역에는 부호 "010"이 좌측으로부터 저장되어 기억되어 있다.
또, 벡터 영역도 스칼라 영역에서의 경우와 마찬가지로, 1개의 벡터 영역의 전체에 부호가 저장되면, 즉, 1개의 벡터 영역에 32 비트의 부호가 저장되면, 버퍼(301)에는, 새로운 1개의 벡터 영역이 형성되고, 새롭게 형성된 벡터 영역에, 차례로 벡터 연산 처리에 사용되는 부호가 저장된다.
그리고, 4개의 양자화 계수 "-0101", "+0011", "-0110", 및 "+0010"의 절대값을 나타낸 부호가 벡터 영역에 기억되면, 엔트로피 부호화부(23)는, 화살표 A13에 나타낸 바와 같이, 이들 4개의 양자화 계수의 싸인을 나타낸 부호를 스칼라 영역에 저장하여 기억한다.
화살표 A11에 나타낸 바와 같이 스칼라 영역에는, 양자화 계수가 모두 0인지 여부를 나타내는 부호 "1", 및 양자화 계수의 최대 유효 자리수를 나타낸 부호 "10001"로 이루어지는 부호 "110001"이 이미 기억되어 있으므로, 엔트로피 부호화부(23)는, 화살표 A13에 나타낸 바와 같이, 양자화 계수 "-0101", "+0011", "-0110", 및 "+0010"의 싸인을 나타낸 부호 "1010"을, 스칼라 영역의 이미 기억되어 있는 부호 "110001"의 우측에(부호 "110001"에 계속하여) 저장하여 기억한다.
또한, 최초의 4개의 양자화 계수가 부호화되면, 엔트로피 부호화부(23)는, 다음의 4개의 양자화 계수 "+0011", "+0110", "0000", 및 "-0011"을 부호화한다.
먼저, 엔트로피 부호화부(23)는, 전회에 부호화한 4개의 양자화 계수의 최대 유효 자리수 "3"과, 이번 부호화하는 양자화 계수 "+0011", "+0110", "0000", 및 "-0011"의 최대 유효 자리수 "3"을 비교하고, 최대 유효 자리수가 변화하고 있지 않으므로, 화살표 A14에 나타낸 바와 같이, 최대 유효 자리수를 나타낸 부호로서, 최대 유효 자리수가 변화하지 않은 것을 나타낸 부호 "0"을, 이미 기억되어 있는 부호 "1100011010"에 계속하여 스칼라 영역에 저장하여 기억한다.
다음에, 엔트로피 부호화부(23)는, 이번회에 입력된 w개(4개)의 양자화 계수 "+0011", "+0110", "0000", 및 "-0011"의 각각의 절대값을 나타낸 최대 유효 자리수분의 부호 "011", "110", "000", 및 "011"의 각각을, 화살표 A15에 나타낸 바와 같이 벡터 영역에 동시에 저장하여 기억한다.
화살표 A12에 나타낸 바와 같이, 벡터 영역의 도면 중, 좌측의 8 비트의 영역, 좌측으로부터 2번째의 8 비트의 영역, 우측으로부터 2번째의 8 비트의 영역, 및 가장 우측의 8 비트의 영역의 각각에는, 이미 부호 "101", "011", "110", 및 "010"의 각각이 기억되어 있으므로, 엔트로피 부호화부(23)는, 화살표 A15에 나타낸 바와 같이, 이번회에 입력된 양자화 계수의 절대값을 나타낸 부호 "011", "110", "000", 및 "011"의 각각을, 벡터 영역에 이미 기억되어 있는 부호 "101", "011", "110", 및 "010"의 각각의 우측에 계속하여 저장하여 기억한다.
또한, 엔트로피 부호화부(23)는, 화살표 A16에 나타낸 바와 같이, 이번회에 입력된 4개의 양자화 계수 "+0011", "+0110", "0000", 및 "-0011"중, 절대값이 0이 아닌 양자화 계수의 싸인을 나타낸 부호 "001"을, 스칼라 영역 내의 이미 기억되어 있는 부호 "11000110100"의 우측에 계속하여 저장하여 기억한다.
그리고, 4개의 양자화 계수 "+0011", "+0110", "0000", 및 "-0011"이 부호화되면, 엔트로피 부호화부(23)는, 다음의 4개의 양자화 계수 "+1101", "-0100", "+0111", 및 "-1010"의 부호화를 행한다.
먼저, 엔트로피 부호화부(23)는, 이번회에 입력된 4개의 양자화 계수 "+1101", "-0100", "+0111", 및 "-1010"의 최대 유효 자리수 "4"와, 전회에 부호화한 4개의 양자화 계수 "3"을 비교하여, 화살표 A17에 나타낸 바와 같이, 최대 유효 자리수가 변화된 것을 나타낸 부호 "1", 최대 유효 자리수가 증가한 것을 나타낸 부호 "0", 및 최대 유효 자리수의 변화량을 나타낸 부호 "1"로 이루어지는, 최대 유효 자리수를 나타낸 부호 "101"을 스칼라 영역에 저장하여 기억한다.
이 경우, 스칼라 영역에는, 화살표 A16에 나타낸 바와 같이, 이미 부호 "11000110100001"이 기억되어 있으므로, 엔트로피 부호화부(23)는, 화살표 A17에 나타낸 바와 같이, 상기 부호 "11000110100001"의 도면 중, 우측에 최대 유효 자리수를 나타낸 부호 "101"을 저장한다.
또한, 4개의 양자화 계수 "+1101", "-0100", "+0111", 및 "-1010"의 최대 유효 자리수를 나타낸 부호가 기억되면, 엔트로피 부호화부(23)는, 이들 양자화 계수의 절대값을 나타낸 부호 "1101", "0100", "0111", 및 "1010"의 각각을, 화살표 A18에 나타낸 바와 같이 벡터 영역에 동시에 저장하여 기억한다.
화살표 A15에 나타낸 바와 같이, 벡터 영역의 도면 중, 좌측의 8 비트의 영역, 좌측으로부터 2번째의 8 비트의 영역, 우측으로부터 2번째의 8 비트의 영역, 및 가장 우측의 8 비트의 영역의 각각에는, 이미 부호 "101011", "011110", "110000", 및 "010011"의 각각이 기억되어 있고, 좌측의 8 비트의 영역, 좌측으로부터 2번째의 8 비트의 영역, 우측으로부터 2번째의 8 비트의 영역, 및 가장 우측의 8 비트의 영역의 각각에는, 각각 2비트의 부호밖에 기억할 수 없다.
그래서, 엔트로피 부호화부(23)는, 화살표 A18에 나타낸 바와 같이, 버퍼(301)에 새로운 벡터 영역을 확보하고(마련하고), 이번회에 입력된 양자화 계수의 절대값을 나타낸 부호 "1101", "0100", "0111", 및 "1010"의 각각 중의 상위의 2비트의 부호 "11", "01", "01", 및 "10"의 각각을, 벡터 영역에 이미 기억되어 있는 부호 "101011", "011110", "110000", 및 "010011"의 각각의 우측에 계속하여 저장하여 기억하고, 이번회에 입력된 양자화 계수의 절대값을 나타낸 부호 "1101", "0100", "0111", 및 "1010"의 각각 중의 하위의 2비트의 부호 "01", "00", "11", 및 "10"의 각각을, 새롭게 설치된 벡터 영역(화살표 A18에 의해 나타내는 2개의 벡터 영역 중, 도면 중, 아래쪽의 벡터 영역)의 도면 중, 좌측의 8 비트의 영역, 좌측으로부터 2번째의 8 비트의 영역, 우측으로부터 2번째의 8 비트의 영역, 및 가장 우측의 8 비트의 영역의 각각의 좌측에 저장하여 기억한다.
그리고, 4개의 양자화 계수 "+1101", "-0100", "+0111", 및 "-1010"의 절대값을 나타낸 부호가 기억되면, 화살표 A19에 나타낸 바와 같이, 엔트로피 부호화부(23)는, 이들 4개의 양자화 계수 중, 절대값이 0이 아닌 양자화 계수의 싸인을 나타낸 부호 "0101"을, 스칼라 영역 내의 이미 기억되어 있는 부호 "11000110100001101"의 우측에 계속하여 저장하여 기억한다.
이와 같이 하여, 입력된 양자화 계수가 부호화되면, 엔트로피 부호화부(23)는, 화살표 A19에 의해 나타내는 스칼라 영역에 기억되어 있는 부호, 화살표 A19에 의해 나타내는 2개의 벡터 영역 중 도면 중, 위쪽의 벡터 영역에 기억되어 있는 부호, 및 아래쪽의 벡터 영역에 기억되어 있는 부호를, 부호화된 화상으로서 순서대로 출력한다.
이 경우, 화살표 A19에 의해 나타내는 스칼라 영역의 도면 중, 우측의 11 비트에는, 부호가 저장되어 있지 않다. 또, 화살표 A19에 의해 나타내는 2개의 벡터 영역 중 아래쪽의 벡터 영역의 좌측의 8 비트의 영역, 좌측으로부터 2번째의 8 비트의 영역, 우측으로부터 2번째의 8 비트의 영역, 및 가장 우측의 8 비트의 영역의 각각의 우측의 6 비트의 영역에도, 부호가 저장되어 있지 않다.
이와 같이, 스칼라 영역 및 벡터 영역에 저장되어 기억되어 있는 부호를, 부호화된 화상으로서 출력하는 경우에, 입력된 양자화 계수의 부호화가 종료된 시점에서, 스칼라 영역 및 벡터 영역에 부호가 저장되어 있지 않은 영역이 있을 때는, 상기 부호가 저장되어 있지 않은 영역에, 예를 들면 부호 "0" 등의 임의의 부호가 저장되어 기억되므로, 스칼라 영역 및 벡터 영역에 기억된 부호가 부호화된 화상으로서 출력된다.
따라서, 예를 들면, 화살표 A19에 나타낸 예에서는, 부호화된 화상으로서, 스카라 영역에 저장된 부호 "11000110100001101010100000000000", 도면 중, 위쪽 벡터 영역에 기억된 부호 "10101111011110011100000101001110", 및 아래쪽의 벡터 영역에 기억된 부호 "01000000000000001100000010000000"이 순서대로 출력된다. 여기서, 스칼라 영역 및 벡터 영역 중, 양자화 계수의 부호화가 종료된 시점에서 부호가 저장되지 않았던 영역에 저장되는 임의의 부호는, 복호시에 판독되지 않으므로, 어떠한 부호가 저장되어도 된다.
화상 부호화 장치(11)는, SIMD 연산 명령을 이용하여 양자화 계수의 절대값을 부호화하는 경우에도, 화상이 입력되면, 도 5의 플로차트를 참조하여 설명한 부호화 처리를 행한다. 또, 도 5의 단계 S13의 처리에 대응하는 도 6의 엔트로피 부호화 처리에서는, 도 6의 단계 S41 내지 단계 S49의 각 처리, 단계 S51의 처리, 및 단계 S52의 처리에 대하여는, 화상 부호화 장치(11)는, SIMD 연산 명령을 이용하지 않는 경우와 마찬가지의 처리(도 6을 참조하여 설명한 처리)를 행하고, 단계 S50에 대응하는 w개 세트 부호화 처리에서, SIMD 연산 명령을 이용하지 않는 경우와는 상이한 처리를 행한다.
이하에서, 도 17의 플로차트를 참조하여, 화상 부호화 장치(11)가 SIMD 연산 명령을 이용하여 양자화 계수의 절대값을 부호화하는 경우에서의, w개 세트 부호화 처리에 대하여 설명한다. 그리고, 단계 S311 내지 단계 S319의 각 처리는, 도 7의 단계 S81 내지 단계 S89의 각 처리에 각각 대응하고, 각각 마찬가지로 실행된다. 따라서, 그들의 설명은 반복되므로 생략한다.
또, SIMD 연산 명령을 이용하여 양자화 계수의 절대값을 부호화하는 경우, 도 6 또는 도 17을 참조하여 설명한 처리에서, VLC 부호화부(62)로부터 부호 연결 부(69)에 공급되는, 지금부터 부호화하는 라인의 양자화 계수의 절대값이 모두 0인지 여부를 나타내는 부호, VLC 부호화부(64)로부터 부호 연결부(69)에 공급되는 양자화 계수의 최대 유효 자리수를 나타낸 부호, 및 VLC 부호화부(68)로부터 부호 연결부(69)에 공급되는 양자화 계수의 싸인을 나타낸 부호의 각각은, 도 16을 참조하여 설명한 바와 같이, 부호 연결부(69)의 버퍼(301)에 형성된 스칼라 영역에 저장되어 기억된다.
단계 S320에 있어서, 유효 자리수 추출부(65)는, 양자화부(22)로부터 공급된, w개가 연속하는 라인(y) 상의 위치 (x, y), (x+1, y), ‥·, (x+w-1, y)의 양자화 계수로부터, 양자화 계수의 유효 자리수를 동시에 추출한다. 유효 자리수 추출부(65)는, 추출한 양자화 계수의 유효 자리수를 VLC 부호화부(66) 및 싸인 추출부(67)에 공급한다. 또, VLC 부호화부(66)는, 유효 자리수 추출부(65)로부터 공급된 유효 자리수에 기초하여(유효 자리수를 부호화하여), w개의 양자화 계수의 절대값을 나타낸 부호를 동시에 부호 연결부(69)에 출력한다.
여기서, 위치(x, y)에서의 x의 값은, 최대 유효 자리수 계산부(63)가 기억하고 있는 변수(x)의 값으로 되고, y의 값은, 라인 판정부(61)가 기억하고 있는 변수(y)의 값으로 된다. 예를 들면, 유효 자리수 추출부(65)가 양자화 계수의 유효 자리수로서, 유효 자리수 "101", "011", "110", 및 "010"을 추출한 경우, VLC 부호화부(66)로부터 부호 연결부(69)에는 4개의 양자화 계수의 절대값을 나타낸 부호 "101", "011", "110", 및 "010"이 공급되므로, 부호 연결부(69)는, 공급된 이들 양자화 계수의 절대값을 나타낸 부호를 부호화하여, 도 16의 화살표 A12에 나타낸 바 와 같이, 벡터 영역에 저장하여 기억시킨다.
단계 S321에 있어서, 싸인 추출부(67)는, 소정의 변수를 i로서, 변수 i를 0으로부터 (w-1)까지 변화시켜, 양자화부(22)로부터 공급된, 양자화 계수가 0이 아닌 라인(y) 상의 위치(x+i, y)의 양자화 계수로부터, 양자화 계수의 싸인을 추출하고, 추출된 싸인(의 데이터)을 VLC 부호화부(68)에 공급한다. 여기서, 위치(x, y)에서의 x의 값은, 최대 유효 자리수 계산부(63)가 기억하고 있는 변수(x)의 값으로 되고, y의 값은, 라인 판정부(61)가 기억하고 있는 변수(y)의 값으로 된다.
VLC 부호화부(68)는, 싸인 추출부(67)로부터의 싸인을 부호화하고, 이로써 얻어지는 양자화 계수의 싸인을 나타낸 부호를 부호 연결부(69)에 출력한다. 또, 부호 연결부(69)는, 도 16을 참조하여 설명한 바와 같이, VLC 부호화부(68)로부터 공급된 양자화 계수의 싸인을 나타낸 부호를, 버퍼(301)의 스칼라 영역에 저장하여 기억시킨다.
부호 연결부(69)는, 양자화 계수의 싸인을 나타낸 부호를 버퍼(301)의 스칼라 영역에 저장하여 기억시키면, 도 16을 참조하여 설명한 바와 같이, 버퍼(301)의 스칼라 영역에 기억되어 있는 부호, 및 벡터 영역에 기억되어 있는 부호를 연결하여, 연결된 부호를 부호화된 화상으로서 출력하고, w개 세트 부호화 처리를 종료하고, 처리를 도 6의 단계 S50으로 복귀시키고, 단계 S51이후의 처리를 실행시킨다.
이와 같이 하여, 엔트로피 부호화부(23)는, 미리 정해진 수의 양자화 계수의 절대값을 동시에 부호화한다.
종래의 JPEG2000 방식에 의한 엔트로피 부호화에서는, 복수개의 코딩 패스에 기초하여, 양자화 계수를 비트 플레인마다 산술 부호화하기 때문에, 엔트로피 부호화에서의 소정의 처리를 병렬하여 동시에 행하는 것은 곤란하였지만, 엔트로피 부호화부(23)에서는, 비트 플레인 단위로 복잡한 처리를 행할 필요가 없기 때문에, 복수개의 양자화 계수의 절대값을 동시에 부호화할 수 있다.
이와 같이, 미리 정해진 수의 양자화 계수의 절대값을 동시에 부호화함으로써, 복수개의 처리를 동시(병렬)에 행할 수 있고, 보다 고속으로 화상을 부호화할 수 있다.
그리고, 단계 S321의 처리에 있어서, w개의 양자화 계수의 싸인의 부호화를 순서대로 행하는 것으로 설명하였지만, 양자화 계수의 절대값의 부호화에서의 경우와 마찬가지로, SIMD 연산 명령을 이용함으로써, w개의 양자화 계수의 싸인의 부호화를 동시에 행하도록 해도 된다. 이 경우, 부호화에 의해 얻어진 w개의 양자화 계수의 싸인을 나타낸 부호의 각각은, 버퍼(301)의 벡터 영역에 w개로 구분하여 저장된다.
또, 버퍼(301)에서는, 1개의 스칼라 영역 또는 벡터 영역을 32 비트의 영역으로 하고, 상기 32 비트의 영역을 또한 4개의 8 비트의 영역으로 구분하여 사용하는 것으로 설명하였지만, 1개의 스칼라 영역 또는 벡터 영역의 크기 등은 임의의 크기로 할 수 있다. 예를 들면, 1개의 스칼라 영역 또는 벡터 영역을 128 비트의 영역으로 하고, 상기 128 비트의 영역을 8개의 16 비트의 영역으로 구분하여 사용하도록 해도 된다.
또한, SIMD 연산 명령을 이용하여 부호화된 화상을 복호하는 경우, 화상을 복호하는 화상 복호 장치(111)의 부호 분할부(151)(도 9)는, 예를 들면, 도 10에 나타낸 구성으로 되고, 메모리(172)에는, 부호화된 화상으로서의 부호가, 도 16을 참조하여 설명한 바와 같이, 32 비트씩 저장되어 기억된다.
제어부(171)는, 메모리(172)로부터 부호를 판독하여 출력하는 경우, 먼저, 최초의 32 비트의 부호가 저장되어 있는 기억 영역을 스칼라 영역으로서, 스칼라 영역의 선두로부터 순서대로, 지금부터 복호하는 라인의 양자화 계수의 절대값이 모두 0인지 여부를 나타내는 부호, 양자화 계수의 최대 유효 자리수를 나타낸 부호, 또는 양자화 계수의 싸인을 나타낸 부호를 판독하여 출력한다.
또, 제어부(171)는, 메모리(172)로부터 양자화 계수의 절대값을 나타낸 부호를 판독하는 경우, 메모리(172)의 스칼라 영역으로 된 기억 영역의 다음의 32 비트의 기억 영역(따라서, 상기 기억 영역으로부터는 아직 부호가 판독되어 있지 않음)을 벡터 영역으로서, 상기 벡터 영역으로부터 양자화 계수의 절대값을 나타낸 부호를 판독하여 출력한다.
그리고, 화상이 부호화되는 경우, 복호시에 최초에 양자화 계수의 절대값을 나타낸 부호를 판독할 때에, 스칼라 영역으로 된 기억 영역의 다음의 32 비트의 기억 영역에, 반드시 양자화 계수의 절대값을 나타낸 부호(벡터 연산에 사용되는 부호)가 저장되어 있도록 화상의 부호화를 행한다.
또한, 부호화된 화상으로서의 부호가 몇 비트의 기억 영역으로 구분하여 메모리(172)에 저장되는지는, 화상 부호화 장치(11)에서 화상이 부호화되는 경우에, 1개의 스칼라 영역 및 벡터 영역이 몇 비트로 되는가에 따라 변화한다. 즉, 화상 으로서의 부호가 구분되어 저장되는 메모리(172) 내의 복수개의 기억 영역의 각각의 크기는, 화상이 부호화되는 경우에서의 1개의 스칼라 영역 및 벡터 영역의 크기와 같은 크기로 된다.
화상 복호 장치(111)는, SIMD 연산 명령을 이용하여 양자화 계수의 절대값을 복호하는 경우에도, 부호화된 화상이 입력되면, 도 12의 플로차트를 참조하여 설명한 복호 처리를 행한다. 또, 도 12의 단계 S131의 처리에 대응하는 도 13의 엔트로피 복호 처리에서는, 도 13의 단계 S161 내지 단계 S168의 각 처리, 단계 S170의 처리, 및 단계 S171의 처리에 대하여는, 화상 복호 장치(111)는, SIMD 연산 명령을 이용하지 않는 경우와 마찬가지의 처리(도 13을 참조하여 설명한 처리)를 행하고, 단계 S169에 대응하는 w개 세트 복호 처리에서, SIMD 연산 명령을 이용하지 않는 경우와는 상이한 처리를 행한다.
이하에서, 도 18의 플로차트를 참조하여, 화상 복호 장치(111)가 SIMD 연산 명령을 이용하여 양자화 계수의 절대값을 복호하는 경우에서의, w개 세트 복호 처리에 대하여 설명한다.
그리고, 단계 S351 내지 단계 S355의 각 처리는, 도 14의 단계 S211 내지 단계 S215의 각 처리와 각각 대응되고, 각각 마찬가지로 실행된다. 따라서, 그들에 대한 설명은 반복되므로 생략된다.
또, SIMD 연산 명령을 이용하여 양자화 계수의 절대값을 복호하는 경우, 부호 분할부(151)의 메모리(172)에는, 예를 들면, 도 16의 화살표 A19에 나타낸 바와 같이, 화상으로서의 부호가 3개의 32 비트의 영역으로 구분하여 기억된다. 그리 고, 라인 판정부(152), VLC 복호부(154), 및 VLC 복호부(156)의 각각은, 3개의 32 비트의 영역 중, 도 16중, 가장 위의 영역을 스칼라 영역으로서, 스칼라 영역의 선두(도면 중, 좌측)로부터 라인의 양자화 계수가 모두 0인지 여부를 나타내는 부호, 양자화 계수의 최대 유효 자리수를 나타낸 부호, 및 양자화 계수의 싸인을 나타낸 부호의 각각을 순서대로 판독하여 복호한다.
단계 S356에 있어서, VLC 복호부(155)는, 부호 분할부(151)로부터, 연속하는 B비트의 부호를 w개 동시에 판독하고, 판독된 w개의 B비트의 부호의 각각을, 라인(y) 상의 위치 (x, y), (x+1, y), …, (x+w-1, y)의 양자화 계수의 유효 자리수를 나타낸 부호로서, VLC 복호부(156) 및 양자화 계수 합성부(157)에 공급(출력)한다. 또, VLC 복호부(155)는, 양자화 계수의 유효 자리수를 나타내는 정보를 생성하여, 부호 분할부(151)에 공급한다. 여기서, 위치(x, y)에서의 x의 값은, VLC 복호부(154)가 기억하고 있는 변수(x)의 값으로 되고, y의 값은, 라인 판정부(152)가 기억하고 있는 변수(y)의 값으로 된다.
예를 들면, 미리 정해진 수(w)가 4이고, 변수(B)의 값이 3이며, 부호 분할부(151)의 메모리(172)에, 도 16의 화살표 A19에 나타낸 바와 같이, 화상으로서의 부호가 3개의 32 비트의 기억 영역으로 구분되어 기억되어 있는 것으로 하면, 도 16중, 가장 위쪽의 32 비트의 기억 영역은, 이미 스칼라 영역으로 되어, 라인의 양자화 계수가 모두 0인지 여부를 나타내는 부호, 및 양자화 계수의 최대 유효 자리수를 나타낸 부호가 판독되어 있고, 다음의 32 비트의 기억 영역(위로부터 2번째의 기억 영역)으로부터는, 아직 부호가 판독되어 있지 않으므로, VLC 복호부(155)는, 위로부터 2번째의 기억 영역을 벡터 영역으로서, 상기 벡터 영역의 좌측의 8 비트의 영역, 좌측으로부터 2번째의 8 비트의 영역, 우측으로부터 2번째의 8 비트의 영역, 및 가장 우측의 8 비트의 영역의 각각의 도면 중 좌측으로부터, 위치 (x, y), (x+1, y), (x+2, y), 및 (x+3, y)의 양자화 계수의 유효 자리수를 나타낸 부호 "101", "011", "110", 및 "010"의 각각을 동시에 판독하여 출력한다.
w개의 양자화 계수의 유효 자리수를 나타낸 부호가, VLC 복호부(156) 및 양자화 계수 합성부(157)에 공급되면, 그 후, 단계 S357의 처리 및 단계 S358의 처리가 행해지지만, 이들 처리는, 도 14의 단계 S217의 처리 및 단계 S218의 처리와 마찬가지이므로, 그 설명은 생략된다.
이와 같이 하여, 엔트로피 복호부(121)는, 미리 정해진 수의 양자화 계수의 절대값을 동시에 복호한다.
이와 같이, 미리 정해진 수의 양자화 계수의 절대값을 동시에 복호함으로써, 복수개의 처리를 동시(병렬)에 행할 수 있고, 보다 고속으로 화상을 복호할 수 있다.
그리고, 단계 S357의 처리에 있어서, w개의 양자화 계수의 싸인을 나타낸 부호의 각각의 복호를 순서대로 행하는 것으로 설명하였지만, w개의 양자화 계수의 싸인을 나타낸 부호의 각각의 복호를, SIMD 연산 명령을 이용하여 동시에(병렬로) 행하도록 해도 된다.
상기와 같이, 종래의 JPEG2000 방식에 의한 화상의 부호화(또는 복호)와는 달리, 복수개의 코딩 패스에 기초하여, 양자화 계수를 비트 플레인마다 산술 부호 화할 필요가 없기 때문에, 보다 간단한 처리로 보다 고속으로 화상을 부호화(또는 복호)할 수 있다.
종래의 JPEG2000 방식에서는, 복수개의 코딩 패스에 기초하여, 비트 플레인마다 처리를 행하므로, 그들의 처리를 행하는 경우에, 대체로 양자화 계수에 비트 플레인의 수를 곱셈한 회수 정도, 양자화 계수에 액세스해야만 되므로, 처리량이 많았다.
또, 부호화된 화상을 패킷화하는 경우에, 1개의 화상의 부호화가 완전하게 종료되지 않으면 패킷화의 처리를 개시할 수 없으므로, 그 만큼 지연이 발생된다. 또한, JPEG2000 방식에서는, 예를 들면, 도 2에 나타낸 서브 밴드 상의 x 방향 및 y 방향에 평행한 변으로 이루어지는 직사각형 영역 내의 위치에 대응하는(부호화된) 양자화 계수가 1개의 패킷에 저장되므로, 그 직사각형 영역의 y 방향의 길이로 따른 지연도 발생된다. 종래의 JPEG2000 방식에서는, 이와 같은 부호화에 의한 지연이 발생되므로, 실시간으로의 처리는 곤란하였다. 그리고, 서브 밴드 상의 직사각형 영역의 y 방향의 길이를 짧게 함으로써, 지연을 저감하는 것은 가능했었지만, 이 경우, 부호화 효율이 악화된다.
이에 대하여, 화상 부호화 장치(11)에서는, 전술한 바와 같이, 복수개의 코딩 패스에 기초하여, 양자화 계수를 비트 플레인마다 산술 부호화할 필요는 없고, 화상의 부호화를 행하는 경우에, 양자화 계수의 절대값을 나타낸 부호를 출력할 때, 최대 유효 자리수를 나타낸 부호를 출력할 때, 및 양자화 계수의 싸인을 나타낸 부호를 출력할 때에 양자화 계수에 액세스하는 것만으로, 보다 간단하게 화상을 부호화할 수 있다.
그리고, 최대 유효 자리수를 나타낸 부호 및 양자화 계수의 싸인을 나타낸 부호는 1비트나 0비트인 것도 있으므로, 실질적으로는, 화상의 부호화를 행하는 경우에, 대체로 2회 정도 양자화 계수에 액세스하는 것만으로 화상을 부호화할 수 있다. 또, 화상을 복호하는 경우, 양자화 계수에는 1도만큼 액세스하면 되므로, 보다 간단하고 보다 고속으로 화상을 복호할 수 있다.
화상 부호화 장치(11) 또는 화상 복호 장치(111)에서는, 서브 밴드의 양자화 계수를 라스터 스캔 순서로 부호화 또는 복호하므로, 양자화 계수를 버퍼링할 필요가 없고, 부호화 또는 복호에 의한 지연을 저감할 수 있다.
또한, 실제로 가로 1920 화소×세로 1080 화소의 YUV 4: 2: 2 형식의 화상을, SIMD 연산 명령을 이용하여(단, w=4) 실제로 부호화 및 복호하여, 다음과 같은 결과를 얻을 수 있었다. 그리고, 부호화를 행하는 경우, 화상을 웨이브 렛 변환해 5단계의 서브 밴드 분해를 행하고, 또한, 각 서브 밴드의 웨이브 렛 계수를 양자화해 얻어진 양자화 계수를 부호화했다. 또, 부호화 및 복호에 필요한 기능 블록(예를 들면, 도 15의 엔트로피 부호화부(23) 및 도 9의 엔트로피 복호부(121)), 및 JPEG2000 방식에 의해 화상을 부호화 및 복호하는 기능 블록은, Pentium(등록상표)4(인텔 주식회사의 상표)라는 CPU(클록 주파수 3.0 GHz)에 소정의 프로그램을 실행시킴으로써 실현시켰다.
종래의 JPEG2000 방식에 의해 1 프레임분의 화상을 부호화한 경우, 그 부호량은 291571 바이트이며, 부호화에 필요하게 된 시간은, 0.26157초였다. 또, 부호 화된 화상을 복호하기 위해 필요한 시간은 0.24718초였다.
이에 대하여, 도 15의 엔트로피 부호화부(23)에 의해, 1 프레임분의 화상을 부호화한 경우, 그 부호량은 343840 바이트이며, 부호화에 필요하게 된 시간은, 0.03453초였다. 또, 부호화된 화상을, 도 9의 엔트로피 복호부(121)에 의해 복호하기 위해 필요한 시간은 0.02750초였다.
동화상에 있어서는, 많은 경우, 1초간에 30 프레임 표시되므로, 1 프레임당 0.033(=1/30)초에 부호화 또는 복호할 수 있으면, 화상을 리얼 타임으로 처리할 수 있다. JPEG2000 방식에서는, 부호화에 필요한 시간은 0.26157초이며, 복호에 필요한 시간은 0.24718초이므로, 화상을 리얼 타임으로 처리하는 것은 곤란하지만, 도 15의 엔트로피 부호화부(23)에 의해 화상을 부호화시키는 경우에는, 부호화에 필요한 시간은 0.03453초이므로, 대략 리얼 타임으로 화상을 처리할 수 있다. 또, 도 9의 엔트로피 복호부(121)에 의해 화상을 복호하는 경우, 복호에 필요한 시간은 0.02750초이므로, 충분히 실시간으로 처리를 행할 수 있다.
그리고, 상기에서는, 양자화 계수를 미리 정해진 소정의 개수씩 한꺼번에 부호화, 또는 복호하는 처리를 JPEG2000 방식으로 적용하는 예에 대하여 설명하였지만, JPEG2000 방식에 한정되지 않고, 기타 다른 부호화 방식 또는 복호 방식에도 적용할 수 있다.
또, 상기에서는, 화상 데이터를 부호화 또는 복호하는 예에 대하여 설명하였지만, 화상 데이터에 한정되지 않고, 예를 들면, 음성 데이터 등을 부호화 또는 복호하는 경우에도 적용할 수 있다. 예를 들면, 음성 데이터를 부호화하는 경우, 음 성 데이터로서 입력된 부호에 의해 표현되는 w개의 소정의 수치의 최대 유효 자리수를 나타낸 부호, 그들의 수치의 절대값을 나타낸 부호, 및 그들의 수치의 싸인을 나타낸 부호가 부호화된 음성 데이터로서 출력된다.
여기서, 본 발명의 부호화 처리의 특징에 대하여 추가로 설명하면, 본 발명의 부호화 방식에서는, 양자화 계수가 가역 부호화된다. 그러므로, 예를 들면, 인간의 시각 특성에 맞추어 고역의 계수 정도 큰 양자화 단계 사이즈로 양자화되도록 함으로써, 발생 부호량 근처의 화질을 크게 향상시킬 수 있다. 또, 예를 들면, 특정한 공간 범위에서 사용하는 양자화 단계 사이즈를 작게 함으로써, 상기 공간 범위의 화질을 향상시킬 수도 있다.
또한, 본 실시예에서 설명한 부호화 방식에서는, 절대값의 유효 자리수 부분을 배열한 것이 부호로 된다. 만일, 절대값의 유효 자리수 부분이 VLC 부호화되어 송출되도록 하면, 절대값의 유효 자리수가 N인 경우에는, 2^(N*W)개의 엔트리(entry)를 가지는 매우 큰 VLC 테이블이 필요하게 된다(연산 처리의 부하나 처리 시간뿐만 아니라, VLC 테이블을 유지하는데 필요한 메모리의 용량도 증대된다). 이에 대하여, 본 발명의 부호화 방식에서는 이와 같은 큰 테이블을 사용할 필요가 없다(연산 처리의 부하나 처리 시간뿐만 아니라, 메모리의 용량을 저감시킬 수 있다).
또, VLC보다 압축율이 높은 산술 부호를 사용하는 것도 고려되지만, 예를 들면 JPEG2000과 같은 산술 부호화를 사용한 압축 방식을 사용한 경우에도, 본 발명의 부호화 방식의 경우와 비교하여, 압축율이 크게 향상되지 않는다. 즉, 본 발명 의 부호화 방식은, 부호화 처리가 용이하면서 압축율이 높다.
또한, 본 발명의 부호화 방식은, w개 세트의 계수에서의 절대값의 최대 유효 자리수를 부호화하므로, 근처끼리의 계수의 유효 자리수가 유사한 것을 이용하여 발생 부호량을 저감시킬 수 있다.
또, 본 발명의 부호화 방식은, w개 세트의 계수에서의 절대값의 최대 유효 자리수를 부호화할 때에 차이분 부호화를 행하므로, 이 점에서도 근처끼리의 계수의 유효 자리수가 유사한 것을 이용하여 발생 부호량을 저감시킬 수 있다.
다음에, 화상 부호화 장치(11)의 웨이브 렛 변환부(21)나, 화상 복호 장치(111)의 웨이브 렛 역변환부(123)의 구체적인 예에 대하여 설명한다. 상기 웨이브 렛 변환부(21)로서, 예를 들면, 화면(픽쳐 또는 필드) 전체의 화상 데이터에 대해서 화면 수직 방향 및 화면 수평 방향으로 분석 필터 처리를 행하고, 화면 전체를 복수개의 서브 밴드로 분해하는, 일반적인 웨이브 렛 변환 처리를 행하는 것을 사용하도록 해도 되지만, 이하에서 설명하는 방법으로 웨이브 렛 변환 처리를 행하는 것을 사용하는 편이 보다 고속으로 화상을 부호화할 수 있다. 마찬가지로, 웨이브 렛 역변환부(123)로서, 예를 들면, 화면(픽쳐 또는 필드) 전체의 계수 데이터에 대해서 화면 수직 방향 및 화면 수평 방향으로 합성 필터 처리를 행하고, 각 서브 밴드를 합성하는, 일반적인 웨이브 렛 역변환 처리를 행하는 것을 사용하도록 해도 되지만, 이하에서 설명하는 방법으로 웨이브 렛 역변환 처리를 행하는 것을 사용하는 편이 보다 고속으로 화상을 복호할 수 있다.
도 19는 본 발명을 적용한 화상 부호화 장치의 일례의 구성을 나타낸 블록도 이다. 화상 부호화 장치(401)는, 웨이브 렛 변환부(410), 도중 계산용 버퍼부(411), 계수 정렬용 버퍼부(412), 계수 정렬부(413), 레이트 제어부(414), 및 엔트로피 부호화부(415)로 이루어진다.
즉, 도 19의 화상 부호화 장치(401)의, 웨이브 렛 변환부(410), 도중 계산용 버퍼부(411), 계수 정렬용 버퍼부(412), 및 계수 정렬부(413)는, 도 1의 화상 부호화 장치(11)의 웨이브 렛 변환부(21)에 대응하고, 도 19의 화상 부호화 장치(401)의 레이트 제어부(414), 및 엔트로피 부호화부(415)는, 도 1의 화상 부호화 장치(11)의 양자화부(22) 및 엔트로피 부호화부(23)에 대응한다.
입력된 화상 데이터는, 도중 계산용 버퍼부(411)에 일시적으로 모인다. 웨이브 렛 변환부(410)는, 도중 계산용 버퍼부(411)에 모인 화상 데이터에 대해서 웨이브 렛 변환을 행한다. 즉, 웨이브 렛 변환부(410)는, 도중 계산용 버퍼부(411)로부터 화상 데이터를 판독하여 분석 필터에 의해 필터 처리를 행하여 저역 성분 및 고역 성분의 계수의 데이터를 생성하고, 생성된 계수 데이터를 도중 계산용 버퍼부(411)에 저장한다. 웨이브 렛 변환부(410)는, 수평 분석 필터와 수직 분석 필터를 가지고, 화상 데이터 군에 대해서, 화면 수평 방향과 화면 수직 방향의 양쪽에 대하여 분석 필터 처리를 행한다. 웨이브 렛 변환부(410)는, 도중 계산용 버퍼부(411)에 저장된 저역 성분의 계수 데이터를 재차 판독하고, 판독한 계수 데이터에 대해서 분석 필터에 의한 필터 처리를 행하여, 고역 성분 및 저역 성분의 계수의 데이터를 또한 생성한다. 생성된 계수 데이터는, 도중 계산용 버퍼부(411)에 저장된다.
웨이브 렛 변환부(410)는, 상기 처리를 반복하여 분해 레벨이 소정 레벨에 이르면, 도중 계산용 버퍼부(411)로부터 계수 데이터를 판독하고, 판독된 계수 데이터를 계수 정렬용 버퍼부(412)에 기록한다.
계수 정렬부(413)는, 계수 정렬용 버퍼부(412)에 기록된 계수 데이터를 소정의 순서대로 판독하고, 엔트로피 부호화부(415)에 공급한다. 엔트로피 부호화부(415)는, 공급된 계수 데이터를, 예를 들면 허프만(Huffman) 코딩화나 산술 부호화라는 소정의 엔트로피 부호화 방식으로 부호화한다.
엔트로피 부호화부(415)는, 레이트 제어부(414)와 연동적으로 동작되고, 출력되는 압축 부호화 데이터의 비트 레이트가 대략 일정값으로 되도록 제어된다. 즉, 레이트 제어부(414)는, 엔트로피 부호화부(415)로부터의 부호화 데이터 정보에 따라, 엔트로피 부호화부(415)에 의해 압축 부호화된 데이터의 비트 레이트가 목표값에 이른 시점 또는 목표값에 이르기 직전에 엔트로피 부호화부(415)에 의한 부호화 처리를 종료하도록 제어하는 제어 신호를, 엔트로피 부호화부(415)에 대해서 공급한다. 엔트로피 부호화부(415)는, 레이트 제어부(414)로부터 공급되는 제어 신호에 따라 부호화 처리가 종료된 시점에서, 부호화 데이터를 출력한다.
웨이브 렛 변환부(410)에서 행해지는 처리에 대하여, 보다 상세하게 설명한다. 먼저, 웨이브 렛 변환에 대하여, 개략적으로 설명한다. 화상 데이터에 대한 웨이브 렛 변환에서는, 도 20에 개략적으로 나타낸 바와 같이, 화상 데이터를 공간 주파수가 높은 대역과 낮은 대역으로 분할하는 처리를, 분할의 결과 얻어지는 공간 주파수의 낮은 대역의 데이터에 대해서 재귀적으로 반복한다. 이와 같이 하여, 공 간 주파수가 낮은 대역의 데이터를 보다 작은 영역에 몰아넣어 감으로써, 효율적인 압축 부호화를 가능하게 한다.
그리고, 도 20은, 화상 데이터의 최저역 성분 영역에 대한 저역 성분의 영역(L) 및 고역 성분의 영역(H)에의 분할 처리를 3회 반복하고, 분할 레벨=3으로 한 경우의 예이다. 도 20에서, "L" 및 "H"는, 각각 저역 성분 및 고역 성분을 나타내고, "L" 및 "H"의 순서는, 앞쪽이 가로 방향으로 분할된 결과의 대역을 나타내고, 뒤쪽이 세로 방향으로 분할된 결과의 대역을 나타낸다. 또, "L" 및 "H"의 이전의 숫자는, 상기 영역의 분할 레벨을 나타낸다.
또, 도 20의 예로부터 알 수 있는 바와 같이, 화면의 우측 아래의 영역으로부터 좌측 위의 영역에 걸쳐 단계적으로 처리가 되고, 저역 성분이 몰아 넣어진다. 즉, 도 20의 예에서는, 화면의 우측 아래의 영역이 가장 저역 성분이 적은(고역 성분이 가장 많이 포함되는) 영역(3HH)으로 되는, 화면이 4 분할된 좌측 위의 영역은, 또한 4 분할되고, 상기 4 분할된 영역 중 좌측 위의 영역이 또한 4 분할된다. 가장 좌측 상부 코너의 영역은, 가장 저역 성분을 많이 포함하는 영역(0LL)으로 된다.
저역 성분에 대해서 반복 변환 및 분할을 행하는 것은, 화상의 에너지가 저역 성분에 집중하고 있기 때문이다. 이것은, 도 21의 A에 일례가 도시되는 분할 레벨=1 상태로부터, 도 21의 B에 일례가 도시되는 분할 레벨=3 상태와 같이 분할 레벨을 진행하여 감에 따라, 도 21의 B에 나타낸 바와 같이 서브 밴드가 형성되어 가는 것으로부터도, 이해된다. 예를 들면, 도 20에서의 웨이브 렛 변환의 분할 레 벨은 3이며, 이 결과, 10개의 서브 밴드가 형성되어 있다.
웨이브 렛 변환부(410)는, 통상, 저역 필터와 고역 필터로 구성되는 필터 뱅크(filter bank)를 사용하여, 전술한 바와 같은 처리를 행한다. 그리고, 디지털 필터는, 통상, 복수 탭 길이의 임펄스 응답, 즉 필터 계수를 가지고 있으므로, 필터 처리를 행하는 만큼의 입력 화상 데이터 또는 계수 데이터를 미리 버퍼링해 둘 필요가 있다. 또, 웨이브 렛 변환을 다단에 걸쳐서 행하는 경우도 마찬가지로, 전단계에서 생성한 웨이브 렛 변환 계수를, 필터 처리가 행해지는 수만큼 버퍼링해 둘 필요가 있다.
다음에, 상기 웨이브 렛 변환의 구체적인 예로서, 5×3 필터를 사용한 방법에 대하여 설명한다. 상기 5×3 필터를 사용한 방법은, 종래 기술에서 이미 설명한 JPEG2000규격에서도 채용되어 있고, 적은 필터 탭 수로 웨이브 렛 변환을 행할 수 있는 점에서, 우수한 방법이다.
5×3 필터의 임펄스 응답(Z변환 표현)은, 다음의 식(3) 및 식(4)에 나타낸 바와 같이, 저역 필터(H0(z))와 고역 필터(H1(z))로 구성된다. 식(3) 및 식(4)으로부터, 저역 필터(H0(z))는 5탭이고, 고역 필터(H1(z))는 3탭인 것을 알 수 있다.
H0(z)=(-1+2z-1+6z-2+2z-3-z-4)/8 …(3)
H1(z)=(-1+2z-1-z-2)/2 …(4)
이들 식(3) 및 식(4)에 의하면, 저역 성분 및 고역 성분의 계수를, 직접적으 로 산출할 수 있다. 여기서, 리프팅(Lifting) 기술을 사용함으로써, 필터 처리의 계산을 줄일 수 있다. 도 22를 사용하여, 5×3 필터에 대해서 리프팅 기술을 적용한 경우의, 웨이브 렛 변환을 행하는 분석 필터 측의 처리에 대하여, 개략적으로 설명한다.
도 22에서, 최상단부, 중단부 및 최하단부는, 각각 입력 화상의 화소열, 고역 성분 출력 및 저역 성분 출력을 나타낸다. 최상단은, 입력 화상의 화소열에 한정되지 않고, 앞의 필터 처리에서 얻어진 계수도 된다. 여기서는, 최상단부가 입력 화상으로 화소열인 것으로 하고, 사각표(■)가 짝수번째(최초를 0번째로 함)의 화소 또는 라인, 동그라미(●)가 홀수번째의 화소 또는 라인으로 한다.
먼저 제1 단계로서, 다음 식(5)에 의해 입력 화소열로부터 고역 성분의 계수(di 1)를 생성한다.
di 1=di 0-1/2(si 0+si +1 0) …(5)
다음에 제2 단계로서, 상기 생성된 고역 성분의 계수와, 입력 화상의 홀수번째의 화소를 사용하여, 다음 식(6)에 의해 저역 성분의 계수(si 1)를 생성한다.
si 1=si 0+1/4(di -1 1+di 1) …(6)
분석 필터 측에서는, 이와 같이 하여, 필터링 처리에 의해 입력 화상의 화소 데이터를 저역 성분과 고역 성분으로 분해한다.
도 23을 사용하여, 웨이브 렛 변환에 의해 생성된 계수를 복원하는 웨이브 렛 역변환을 행하는 합성 필터 측의 처리에 대하여, 개략적으로 설명한다. 도 23은, 전술한 도 22에 대응되고, 5×3 필터를 사용하고, 리프팅 기술을 적용한 예를 나타낸다. 도 23에서, 최상단부는, 웨이브 렛 변환에 의해 생성된 입력 계수를 나타내고, 동그라미(●)가 고역 성분의 계수, 사각표(■)가 저역 성분의 계수를 각각 나타낸다.
먼저 제1 단계로서, 다음 식(7)에 따라, 입력된 저역 성분 및 고역 성분의 계수로부터, 짝수번째(최초를 0번째로 한다)의 계수(si 0)가 생성된다.
si 0=si 1-1/4(di -1 1+di 1) …(7)
다음에 제2 단계로서, 다음 식(8)에 따라, 전술한 제1 단계에서 생성된 짝수 번째의 계수(si 0)와, 입력된 고역 성분의 계수(di 1)로부터, 홀수번째의 계수(di 0)가 생성된다.
di 0=di 1+1/2(si 0+si +1 0) …(8)
합성 필터 측에서는, 이와 같이 하여, 필터링 처리에 의해 저역 성분 및 고역 성분의 계수를 합성하고, 웨이브 렛 역변환을 행한다.
또한, 상기 웨이브 렛 변환 방법에 대하여 설명한다. 도 24는, 도 22를 사용하여 설명한 5×3 필터의 리프팅에 의한 필터 처리를, 분해 레벨=2까지 실행한 예를 나타낸다. 그리고, 도 24에서, 도면의 좌측에 분석 필터로서 나타내는 부분은, 화상 부호화 장치(401) 측에서의 웨이브 렛 변환부(410)의 필터이다. 또, 도면의 우측에 합성 필터로서 나타내는 부분은, 후술하는 화상 복호 장치 측에서의 웨이브 렛 역변환부의 필터이다.
그리고, 이하의 설명에서는, 예를 들면 표시 장치 등에서 화면의 좌측 상부 코너의 화소를 선두로서, 화소가 화면의 좌측단으로부터 우측단을 향해 주사되어 1라인이 구성되며, 라인마다의 주사가 화면의 상단으로부터 하단으로 향해 행해져 1 화면이 구성되는 것으로 한다.
도 24에서, 좌측단 열은, 원화상 데이터의 라인 상의 대응하는 위치에 있는 화소 데이터가 세로 방향으로 배열되어 표시되어 있다. 즉, 웨이브 렛 변환부(410)에서의 필터 처리는, 수직 필터를 사용하여 화면 위를 화소가 세로로 주사되어 행해진다. 좌측단으로부터 1번째 내지 3번째가 분할 레벨=1의 필터 처리를 나타내고, 4번째 내지 6번째가 분할 레벨=2의 필터 처리를 나타낸다. 좌측단으로부터 2번째는, 좌측단의 원화상 데이터의 화소에 근거하는 고역 성분 출력을 나타내고, 좌측단으로부터 3번째는, 원화상 데이터 및 고역 성분 출력에 근거하는 저역 성분 출력을 나타낸다. 분할 레벨=2의 필터 처리는, 좌측단으로부터 4번째 내지 6번째에 나타낸 바와 같이, 분할 레벨=1의 필터 처리의 출력에 대해서 처리가 된다.
분해 레벨=1의 필터 처리에서, 제1 단계의 필터 처리로서, 원화상 데이터의 화소에 근거해 고역 성분의 계수 데이터가 산출되고, 제2 단계의 필터 처리로서, 제1 단계의 필터 처리에 의해 산출된 고역 성분의 계수 데이터와, 원화상 데이터의 화소에 근거해 저역 성분의 계수 데이터가 산출된다. 분해 레벨=1의 일례의 필터 처리를, 도 24에서의 좌측(분석 필터 측)의 제1 번째 내지 제3 번째에 나타낸다. 산출된 고역 성분의 계수 데이터는, 도 19에서 설명한 계수 정렬용 버퍼부(412)에 저장된다. 또, 산출된 저역 성분의 계수 데이터는, 도중 계산용 버퍼부(411)에 저장된다.
도 24에서는, 계수 정렬용 버퍼부(412)는 일점 쇄선으로 둘러싸인 부분으로서 도시되고, 도중 계산용 버퍼부(411)는 점선으로 둘러싸인 부분으로서 도시된다.
도중 계산용 버퍼부(411)에 유지된 분해 레벨=1의 필터 처리의 결과에 따라, 분해 레벨=2의 필터 처리가 행해진다. 분해 레벨=2의 필터 처리에서는, 분해 레벨=1의 필터 처리에서 저역 성분의 계수로서 산출된 계수 데이터를, 저역 성분 및 고역 성분을 포함한 계수 데이터로 간주하여, 분해 레벨=1과 마찬가지의 필터 처리를 행한다. 분해 레벨=2의 필터 처리에 의해 산출된, 고역 성분의 계수 데이터 및 저역 성분의 계수 데이터는, 도 19에서 설명한 계수 정렬용 버퍼부(412)에 저장된다.
웨이브 렛 변환부(410)에서는, 전술한 바와 같은 필터 처리를, 화면의 수평 방향 및 수직 방향으로 각각 행한다. 예를 들면, 먼저, 분해 레벨=1의 필터 처리를 수평 방향으로 행하고, 생성된 고역 성분 및 저역 성분의 계수 데이터를 도중 계산용 버퍼부(411)에 저장한다. 다음에, 도중 계산용 버퍼부(411)에 저장된 계수 데이터에 대해서, 수직 방향으로 분해 레벨=1의 필터 처리를 행한다. 상기 분해 레벨=1의 수평 및 수직 방향의 처리에 의해, 고역 성분을 또한 고역 성분 및 저역 성분으로 분해한 계수 데이터의 각각에 의한 영역(HH) 및 영역(HL)과, 저역 성분을 또한 고역 성분 및 저역 성분으로 분해한 계수 데이터의 각각에 의한 영역(LH) 및 영역(LL)의 4 영역이 형성된다.
그리고, 분해 레벨=2에서는, 수평 방향 및 수직 방향의 각각에 대하여, 분해 레벨=1에서 생성된 저역 성분의 계수 데이터에 대해서 필터 처리가 행해진다. 즉, 분해 레벨=2에서는, 분해 레벨=1에서 분할되어 형성된 영역(LL)이 또한 4 분할되고, 영역(LL) 내에 또한 영역(HH), 영역(HL), 영역(LH) 및 영역(LL)이 형성된다.
상기 제1 실시예에서는, 웨이브 렛 변환에 의한 필터 처리를, 화면의 세로 방향에 대하여, 수라인마다의 처리로 분할하여, 복수회 나누어 단계적으로 행하도록하고 있다. 도 24의 예에서는, 화면 상의 제1 라인으로부터의 처리가 되는 1회째의 처리는, 7라인에 대하여 필터 처리를 행하고, 8라인째부터의 처리가 되는 2번째 이후의 처리는, 4라인마다 필터 처리를 행하고 있다. 상기 라인수는, 고역 성분과 저역 성분으로 2분해 한 후에, 1라인분의 최저역 성분이 생성되기 위해 필요한 라인수에 근거한다.
그리고, 이하에서, 상기 최저역 성분의 1라인분(최저역 성분의 서브 밴드의 1라인분의 계수 데이터)을 생성하기 위해 필요한, 다른 서브 밴드도 포함한 라인의 집합을, 라인 블록(또는 프리신트(precints))이라고 한다. 여기서 라인이란, 웨이브 렛 변환전의 화상 데이터에 대응하는 픽쳐 또는 필드내, 또는 각 서브 밴드 내에서 형성되는 1행분의 화소 데이터 또는 계수 데이터를 나타낸다. 즉, 라인 블록(프리신트)이란, 웨이브 렛 변환전의 원래의 화상 데이터에서의, 웨이브 렛 변환 후의 최저역 성분의 서브 밴드 1 라인분의 계수 데이터를 생성하기 위해 필요한 라 인수분의 화소 데이터 군, 또는, 상기 화소 데이터 군을 웨이브 렛 변환하여 얻어지는 각 서브 밴드의 계수 데이터 군을 나타낸다.
도 24에 의하면, 분해 레벨=2의 필터 처리 결과로 얻어지는 계수(C5)는, 계수(C4) 및 도중 계산용 버퍼부(411)에 저장된 계수(Ca)에 근거해 산출되고, 계수(C4)는, 도중 계산용 버퍼부(411)에 저장된 계수(Ca), 계수(Cb) 및 계수(Cc)에 근거해 산출된다. 또한, 계수(Cc)는, 계수 정렬용 버퍼부(412)에 저장되는 계수(C2) 및 계수(C3), 및 제5 라인의 화소 데이터에 근거해 산출된다. 또, 계수(C3)는, 제5 라인 내지 제7 라인의 화소 데이터에 근거해 산출된다. 이와 같이, 분할 레벨=2에서의 저역 성분의 계수(C5)를 얻기 위해서는, 제1 라인 내지 제7 라인의 화소 데이터가 필요하게 된다.
한편, 2번째 이후의 필터 처리에서는, 전회까지의 필터 처리에서 이미 산출되어 계수 정렬용 버퍼부(412)에 저장되어 있는 계수 데이터를 사용할 수 있으므로, 필요한 라인수가 적어지게 된다.
즉, 도 24에 의하면, 분해 레벨=2의 필터 처리 결과로 얻어지는 저역 성분의 계수 중, 계수(C5)의 다음의 계수인 계수(C9)는, 계수(C4) 및 계수(C8), 및, 도중 계산용 버퍼부(411)에 저장된 계수(Cc)에 기초하여 산출된다. 계수(C4)는, 전술한 1회째의 필터 처리에 의해 이미 산출되고, 계수 정렬용 버퍼부(412)에 저장되어 있다. 마찬가지로, 계수(Cc)는, 전술한 1회째의 필터 처리에 의해 이미 산출되고, 도 중 계산용 버퍼부(411)에 저장되어 있다. 따라서, 이 2번째의 필터 처리에서는, 계수(C8)를 산출하기 위한 필터 처리만이, 새롭게 되도록 된다. 이 새로운 필터 처리는, 제8 라인 내지 제11 라인이 또한 이용되게 된다.
이와 같이, 2번째 이후의 필터 처리는, 전회까지의 필터 처리에 의해 산출되어 도중 계산용 버퍼부(411) 및 계수 정렬용 버퍼부(412)에 저장된 데이터를 사용할 수 있으므로, 각각 4라인마다의 처리로 끝나게 된다.
그리고, 화면 상의 라인수가 부호화의 라인수와 합치되지 않는 경우에는, 원화상 데이터의 라인을 소정으로 복제해 라인수를 부호화의 라인수와 맞추고, 필터 처리를 행한다.
상세한 것은 후술하지만, 본 발명에서는, 이와 같이, 최저역 성분 1라인분의 계수 데이터를 얻을 수 있는 만큼의 필터 처리를 단계적으로, 화면 전체의 라인에 대해서 복수회에 나누어(라인 블록 단위로) 행함으로써, 부호화 데이터를 전송했을 때에 저지연으로 복호 화상을 얻을 수 있다.
웨이브 렛 변환을 행하기 위해서는, 웨이브 렛 변환 그 자체를 실행하기 위해 사용되는 제1 버퍼와, 소정의 분할 레벨까지 처리를 실행하는 사이에 생성되는 계수를 저장하기 위한 제2 버퍼가 필요하다. 제1 버퍼는, 도중 계산용 버퍼부(411)에 대응되고, 도 24에서는 점선으로 둘러싸여 도시되어 있다. 또, 제2 버퍼는, 계수 정렬용 버퍼부(412)에 대응되고, 도 24에 있어서는 일점 쇄선에 둘러싸여 도시되어 있다. 제2 버퍼에 저장된 계수는, 복호 시에 사용되므로 후단의 엔트로피 부호화 처리의 대상으로 된다.
계수 정렬부(413)의 처리에 대하여 설명한다. 전술한 바와 같이, 웨이브 렛 변환부(410)에서 산출된 계수 데이터는, 계수 정렬용 버퍼부(412)에 저장되고, 계수 정렬부(413)에 의해 순서를 정렬하여 판독되고, 엔트로피 부호화부(415)에 송출된다.
이미 설명한 바와 같이, 웨이브 렛 변환에서는, 고역 성분 측으로부터 저역 성분측으로 계수가 생성되어 간다. 도 24의 예에서는, 1회째에 있어서, 원화상의 화소 데이터에 의해, 분해 레벨=1의 필터 처리에서, 고역 성분의 계수(C1), 계수(C2) 및 계수(C3)가 차례로 생성된다. 그리고, 분해 레벨=1의 필터 처리에서 얻어진 저역 성분의 계수 데이터에 대해서 분해 레벨=2의 필터 처리를 행하고, 저역 성분의 계수(C4) 및 계수(C5)가 차례로 생성된다. 즉, 제1 회째에서는, 계수(C1), 계수(C2), 계수(C3), 계수(C4), 계수(C5)의 순서로, 계수 데이터가 생성된다. 상기 계수 데이터의 생성순서는, 웨이브 렛 변환의 원리상, 반드시 상기 순서(고역으로부터 저역의 순서)로 된다.
이에 대하여, 복호 측에서는, 저지연으로 즉시 복호를 행하기 위해서는 저역 성분으로부터 화상의 생성 및 출력을 행할 필요가 있다. 그러므로, 부호화 측에서 생성된 계수 데이터를 최저역 성분 측으로부터 고역 성분 측을 향해 정렬하여 복호 측에 공급하는 것이 바람직하다.
도 24의 예를 사용하여, 보다 구체적으로 설명한다. 도 24의 우측은, 역웨이브 렛 변환을 행하는 합성 필터 측을 나타낸다. 복호 측의, 출력 화상 데이터의 제1 라인째를 포함하는 1회째의 합성 처리(역웨이브 렛 변환 처리)는, 부호화 측의 1회째의 필터 처리에서 생성된 최저역 성분의 계수(C4) 및 계수(C5)와, 계수(C1)를 사용하여 행해진다.
즉, 1회째의 합성 처리에서는, 계수(C5), 계수(C4), 계수(C1)의 순서로 부호화 측으로부터 복호 측으로 계수 데이터를 공급하고, 복호 측에서는, 분해 레벨=2에 대응하는 합성 처리인 합성 레벨=2의 처리에서, 계수(C5) 및 계수(C4)에 대해서 합성 처리를 행하여 계수(Cf)를 생성하고, 버퍼에 저장한다. 그리고, 분해 레벨=1에 대응하는 합성 처리인 합성 레벨=1의 처리에서, 상기 계수(Cf)와 계수(C1)에 대해서 합성 처리를 행하여, 제1 라인을 출력한다.
이와 같이, 제1회째의 합성 처리에서는, 부호화 측에서 계수(C1), 계수(C2), 계수(C3), 계수(C4), 계수(C5)의 순서로 생성되어 계수 정렬용 버퍼부(412)에 저장된 계수 데이터가, 계수(C5), 계수(C4), 계수(C1),…의 순서로 정렬되어 복호 측에 공급된다.
그리고, 도 24의 우측에 나타낸 합성 필터 측에서는, 부호화 측으로부터 공급되는 계수에 대하여, 괄호 내에 부호화 측에서의 계수의 번호를 기록하고, 괄호 밖에 합성 필터의 라인순서를 기록한다. 예를 들면 계수(C1(5))는, 도 24의 좌측의 분석 필터 측에서는 계수(C5)로서, 합성 필터 측에서는 제1 라인째인 것을 나타낸다.
부호화 측의 2번째 이후의 필터 처리에서 생성된 계수 데이터에 의한 복호 측의 합성 처리는, 전회의 합성 처리 시에 합성 또는 부호화 측으로부터 공급된 계 수 데이터를 사용하여 행할 수 있다. 도 24의 예에서는, 부호화 측의 2번째의 필터 처리에 의해 생성된 저역 성분의 계수(C8) 및 계수(C9)를 사용하여 행하고, 복호 측의 2번째의 합성 처리는, 부호화 측의 1회째의 필터 처리에서 생성된 계수(C2) 및 계수(C3)가 또한 필요하게 되고, 제2 라인 내지 제5 라인이 복호된다.
즉, 2번째의 합성 처리에서는, 계수(C9), 계수(C8), 계수(C2), 계수(C3)의 순서로 부호화 측으로부터 복호 측으로 계수 데이터를 공급한다. 복호 측에서는, 합성 레벨=2의 처리에서, 계수(C8) 및 계수(C9)와, 1회째의 합성 처리 시에 부호화 측으로부터 공급된 계수(C4)를 사용하여 계수(Cg)를 생성하고, 버퍼에 저장한다. 상기 계수(Cg)와, 전술한 계수(C4)와, 1회째의 합성 처리에 의해 생성되고 버퍼에 저장된 계수(Cf)를 사용하여 계수(Ch)를 생성하고, 버퍼에 저장한다.
그리고, 합성 레벨=1의 처리에서, 합성 레벨=2의 처리에서 생성되고 버퍼에 저장된 계수(Cg) 및 계수(Ch)와, 부호화 측으로부터 공급된 계수(C2)(합성 필터에서는 계수(C6(2))로 나타나 있음) 및 계수(C3)(합성 필터에서는 계수(C7(3))로 나타나 있음)를 사용하여 합성 처리가 행해지고, 제2 라인 내지 제5 라인이 복호된다.
이와 같이, 제2 회째의 합성 처리에서는, 부호화 측에서 계수(C2), 계수(C3), 계수(C4), 계수(C5)), 계수(C6), 계수(C7), 계수(C8), 계수(C9)의 순서로 생성된 계수 데이터가, 계수(C9), 계수(C8), 계수(C2), 계수(C3), …의 순서로 정렬되어 복호 측에 공급된다.
3번째 이후의 합성 처리에서도, 마찬가지로 하여, 정렬 버퍼부(12)에 저장된 계수 데이터가 소정으로 정렬되어 복호부에 공급되고, 4라인씩, 라인이 복호된다.
그리고, 부호화 측에서 화면의 하단의 라인을 포함하는 필터 처리(이하, 최후의 회라고 함)에 대응하는 복호 측의 합성 처리에서는, 지금까지의 처리에서 생성되고 버퍼에 저장된 계수 데이터를 모두 출력하기 때문에, 출력 라인수가 많아진다. 도 24의 예에서는, 최후의 회에 8라인이 출력된다.
그리고, 계수 정렬부(413)에 의한 계수 데이터의 정렬 처리는, 예를 들면, 계수 정렬용 버퍼부(412)에 저장된 계수 데이터를 판독하는 때의 판독 어드레스를, 소정의 순서대로 설정함으로써 이루어진다.
도 25를 사용하여, 상기에서 설명한 처리를 보다 구체적으로 설명한다. 도 25는, 5×3 필터를 사용하여, 분해 레벨=2까지 웨이브 렛 변환에 의한 필터 처리를 행한 예이다. 웨이브 렛 변환부(410)에서, 도 25의 A에 일례가 도시된 바와 같이, 입력 화상 데이터의 제1 라인으로부터 제7 라인에 대해서 1회째의 필터 처리가 수평 및 수직 방향으로 각각 행해진다(도 25의 A의 In-1).
1회째의 필터 처리의 분해 레벨=1의 처리에서, 계수(C1), 계수(C2), 및 계수(C3)의 3 라인분의 계수 데이터가 생성되고, 도 25의 B에 일례가 도시된 바와 같이, 분해 레벨=1에서 형성되는 영역(HH), 영역(HL) 및 영역(LH)의 각각에 배치된다(도 25의 B의 WT-1).
또, 분해 레벨=1에서 형성되는 영역(LL)은, 분해 레벨=2에 의한 수평 및 수직 방향의 필터 처리에서 또한 4 분할된다. 분해 레벨=2에서 생성되는 계수(C5) 및 계수(C4)는, 분해 레벨=1에 의한 영역(LL) 내에서, 영역(LL)에 계수(C5)에 의한 1라인이 배치되고, 영역(HH), 영역(HL) 및 영역(LH)의 각각에, 계수(C4)에 의한 1라인이 배치된다.
웨이브 렛 변환부(410)에 의한 2번째 이후의 필터 처리에서는, 4라인마다 필터 처리가 행해지고(도 25의 A의 In-2…), 분해 레벨=1에서 2라인씩의 계수 데이터가 생성되고(도 25의 B의 WT-2), 분해 레벨=2에서 1라인씩의 계수 데이터가 생성된다.
도 24의 2번째의 예에서는, 분해 레벨=1의 필터 처리에서 계수(C6) 및 계수(C7)의 2라인분의 계수 데이터가 생성되고, 도 25의 B에 일례가 도시된 바와 같이, 분해 레벨(1)에서 형성되는 영역(HH), 영역(HL) 및 영역(LH)의, 1회째의 필터 처리에서 생성된 계수 데이터의 다음부터 배치된다. 마찬가지로, 분해 레벨=1에 의한 영역(LL) 내에서, 분해 레벨=2의 필터 처리에서 생성된 1라인분의 계수(C9)가 영역(LL)에 배치되고, 1라인분의 계수(C8)가 영역(HH), 영역(HL) 및 영역(LH)에 각각 배치된다.
도 25의 B와 같이 웨이브 렛 변환된 데이터를 복호했을 때는, 도 25의 C에 일례가 도시된 바와 같이, 부호화 측의 제1 라인 내지 제7 라인에 의한 1회째의 필터 처리에 대해서, 복호 측의 1회째의 합성 처리에 의한 제1 라인이 출력된다(도 25의 C의 Out-1). 이후, 부호화 측의 2번째로부터 최후의 회의 이전까지의 필터 처리에 대해서, 복호 측에서 4라인씩이 출력된다(도 25의 C의 Out-2…). 그리고, 부호화 측의 최후의 회의 필터 처리에 대해서, 복호 측에서 8라인이 출력된다.
웨이브 렛 변환부(410)에서 고역 성분 측으로부터 저역 성분측으로 생성된 계수 데이터는, 계수 정렬용 버퍼부(412)에 차례로 저장된다. 계수 정렬부(413)는, 전술한 계수 데이터의 정렬이 가능해질 때까지 계수 정렬용 버퍼부(412)에 계수 데이터가 축적되면, 계수 정렬용 버퍼부(412)로부터 합성 처리에 필요한 순서로 정렬되어 계수 데이터를 판독한다. 판독된 계수 데이터는, 엔트로피 부호화부(415)에 차례로 공급된다.
엔트로피 부호화부(415)는, 공급된 계수 데이터에 대해서, 레이트 제어부(414)로부터 공급되는 제어 신호에 따라 출력 데이터의 비트 레이트가 목표 비트 레이트로 되도록 부호화 동작을 제어하여, 도 1 내지 도 18을 참조하여 설명한 바와 같이 엔트로피 부호화를 행한다. 엔트로피 부호화된 부호화 데이터는, 복호 측에 공급된다.
그리고, 이와 같이 엔트로피 부호화부(415)는, 공급된 계수 데이터에 대해서 양자화를 행하지 않고 부호화 처리를 행하는 것도 가능하지만, 도 1을 참조하여 설명한 바와 같이, 양자화부(22)와 마찬가지로 최초에, 계수 데이터에 대해서 양자화를 행하고, 얻어진 양자화 계수에 대해서, 엔트로피 부호화부(23)와 마찬가지의 정보원 부호화 처리를 행하도록 하면, 압축 효과의 향상을 더욱 기대할 수 있다. 상기 양자화의 방법으로서는 어떠한 것을 사용해도 되고, 예를 들면, 일반적인 수단, 즉, 이하의 식(9)에 나타낸 바와 같은, 계수 데이터(W)를 양자화 단계 사이즈(△)로 나눗셈하는 방법을 이용하면 된다.
양자화 계수=W/△ …(9)
도 24 및 도 25를 사용하여 설명한 바와 같이, 본 발명의 제1 실시예에서는, 웨이브 렛 변환부(410)는, 화상 데이터의 복수개 라인마다(라인 블록마다)에 웨이브 렛 변환 처리를 행한다. 엔트로피 부호화부(415)에서는 부호화된 부호화 데이터는, 상기 라인 블록마다 출력된다. 즉, 전술한, 5×3 필터를 사용하고, 분해 레벨=2까지 처리를 행한 경우에는, 1 화면의 데이터의 출력에서, 최초에 1라인, 2번째 이후 최후의 회의 이전까지 4라인씩, 최후의 회에 8라인의 출력을 얻을 수 있다.
그리고, 계수 정렬부(413)에서 정렬된 후의 계수 데이터를 엔트로피 부호화하는 경우, 예를 들면 도 24에 나타낸 1회째의 필터 처리에서는, 최초의 계수(C5)의 라인을 엔트로피 부호화할 때는, 아직도 과거의 라인, 즉 이미 계수 데이터가 생성된 라인이 존재하고 있지 않다. 따라서, 이 경우에는, 이 1라인 만큼을 엔트로피 부호화한다. 이에 대하여, 계수(C1)의 라인을 부호화 할때는, 계수(C5) 및 계수(C4)의 라인이 과거의 라인으로 되어 있다. 이들 근접하는 복수개 라인은, 유사한 데이터로 구성되어 있다고 생각되므로, 이들 복수개 라인을 모아 엔트로피 부호화하는 것은, 유효하다.
또, 전술에서는, 웨이브 렛 변환부(410)에서, 5×3 필터를 사용하여 웨이브 렛 변환에 의한 필터 처리를 행하는 예에 대하여 설명하였지만, 이것은 상기 예에 한정되지 않는다. 예를 들면, 웨이브 렛 변환부(410)에서는, 예를 들면 9×7필터이고, 또한 탭수의 긴 필터를 사용할 수 있다. 이 경우, 필터의 탭수가 길면, 필터에 축적되는 라인수도 많아지므로, 화상 데이터의 입력으로부터 부호화 데이터의 출력까지의 지연 시간이 길게 이루어지게 된다.
또, 상기 설명에서는, 설명을 위해 웨이브 렛 변환의 분해 레벨을 분해 레벨=2로 하였으나, 이것은 상기 예에 한정되지 않고, 분해 레벨을 더 높일 수 있다. 분해 레벨을 올리는만큼, 보다 고압축율을 실현할 수 있다. 예를 들면, 일반적으로는, 웨이브 렛 변환에서는, 분해 레벨=4까지 필터 처리가 반복된다. 그리고, 분해 레벨이 오르면, 지연 시간도 증대하게 된다.
따라서, 실제의 시스템에 적용할 때에는, 해당 시스템에 요구되는 지연 시간이나 복호 화상의 화질 등에 따라, 필터의 탭수나, 분해 레벨을 결정하는 것이 바람직하다. 상기 필터의 탭수나, 분해 레벨은, 고정값으로 하지 않고, 적응적으로 선택하도록 할 수 있다.
다음에, 상기와 같은 화상 부호화 장치(401)에 의한 부호화 처리 전체의 구체적인 흐름의 예를 도 26의 플로차트를 참조하여 설명한다.
부호화 처리가 개시되면, 웨이브 렛 변환부(410)는, 단계 S401에서, 처리 대상 라인 블록의 번호 A를 초기설정으로 한다. 통상의 경우, 번호 A는 「1」로 설정된다. 설정이 종료되면, 웨이브 렛 변환부(410)는, 단계 S402에서, 최저역 서브 밴드에서 위로부터 A 번째의 1라인을 생성하는데 필요한 라인수(즉, 1라인 블록)의 화상 데이터를 취득하고, 상기 화상 데이터에 대해서, 단계 S403에서 화면 수직 방향으로 정렬된 화상 데이터에 대해서 분석 필터링을 행하는 수직 분석 필터링 처리를 행하고, 단계 S404에서 화면 수평 방향으로 정렬된 화상 데이터에 대해서 분석 필터링 처리를 행하는 수평 분석 필터링 처리를 행한다.
단계 S405에서 웨이브 렛 변환부(410)는, 분석 필터링 처리를 최종 레벨까지 행했는지 아닌지를 판정하고, 분해 레벨이 최종 레벨에 이르지 않다고 판정된 경우, 처리를 단계 S403으로 복귀시키고, 현재의 분해 레벨에 대해서, 단계 S403 및 단계 S404의 분석 필터링 처리를 반복한다.
단계 S405에서, 분석 필터링 처리가 최종 레벨까지 행했다고 판정된 경우, 웨이브 렛 변환부(410)는, 처리를 단계 S406으로 진행한다.
단계 S406에서, 계수 정렬부(413)는, 라인 블록(A)(픽쳐(인터레이스(interlace ) 방식의 경우의 필드)의 위로부터 A 번째의 라인 블록)의 계수를 저역으로부터 고역의 순서로 정렬시킨다. 엔트로피 부호화부(415)는, 단계 S407에서, 상기 라인 블록(A)의 계수에 대해서 라인마다 엔트로피 부호화한다. 엔트로피 부호화가 종료되면, 엔트로피 부호화부(415)는, 단계 S408에서 라인 블록(A)의 부호화 데이터를 외부에 송출한다.
웨이브 렛 변환부(410)는, 단계 S409에서 번호 A의 값을 「1」인크리먼트 하여 다음의 라인 블록을 처리 대상으로 하고, 단계 S410에서, 처리 대상의 픽쳐에 대하여, 미처리의 화상 입력 라인이 존재하는지 여부를 판정하고, 존재한다고 판정된 경우, 처리를 단계 S402로 복귀시키고, 새로운 처리 대상의 라인 블록에 대해서 그 이후의 처리를 반복한다.
상기와 같이 단계 S402 내지 단계 S410의 처리가 반복 실행되고, 각 라인 블록이 부호화된다. 그리고, 단계 S410에서, 미처리의 화상 입력 라인이 존재하지 않는 것으로 판정된 경우, 웨이브 렛 변환부(410)는, 그 픽쳐에 대한 부호화 처리를 종료한다. 다음의 픽쳐에 대해서는 새롭게 부호화 처리가 개시된다.
종래의 웨이브 렛 변환의 방법의 경우, 먼저, 수평 분석 필터링 처리를 픽쳐 전체에 대해서 행하고, 다음에 수직 분석 필터링 처리를 상기 픽쳐 전체에 대해서 행한다. 그리고 얻어진 저역 성분 전체에 대해서 마찬가지의 수평 분석 필터링 처리와 수직 분석 필터링 처리를 순서로 행한다. 상기와 같이, 분해 레벨이 최종 레벨에 이를 때까지, 분석 필터링 처리가 재귀적으로 반복된다. 따라서, 각 분석 필터링 처리의 결과를 버퍼에 유지시킬 필요가 있지만, 그 때, 버퍼는, 픽쳐 전체, 또는, 그 시점의 분해 레벨의 저역 성분 전체의 필터링 결과를 유지할 필요가 있고, 매우 큰 메모리 용량을 필요로 하게 된다(유지하는 데이터량이 많다).
또, 이 경우, 픽쳐 내에서 모든 웨이브 렛 변환이 종료되지 않으면, 후 단계의 계수 정렬이나 엔트로피 부호화를 행할 수 없고, 지연 시간이 증대된다.
이에 대하여, 화상 부호화 장치(401)의 웨이브 렛 변환부(410)의 경우, 전술한 바와 같이 라인 블록 단위로 수직 분석 필터링 처리 및 수평 분석 필터링 처리를 최종 레벨까지 연속하여 행하므로, 종래의 방법과 비교하여, 한번에(동시기에) 유지할(버퍼링할) 필요가 있는 데이터의 양이 적고, 준비해야 할 버퍼의 메모리 양을 대폭 저감시킬 수 있다. 또, 최종 레벨까지 분석 필터링 처리가 행해짐으로써, 후 단계의 계수 정렬이나 엔트로피 부호화 등의 처리도 행할 수 있다(즉, 계수 정렬이나 엔트로피 부호화를 라인 블록 단위로 행할 수 있다). 따라서, 종래의 방법과 비교하여 지연 시간을 대폭 저감시킬 수 있다.
도 27은 도 19의 화상 부호화 장치(401)에 대응하는 화상 복호 장치의 일례의 구성을 나타낸다. 도 19의 화상 부호화 장치(401)의 엔트로피 부호화부(415)로 부터 출력된 부호화 데이터(도 19의 부호화 데이터 출력)는, 도 27의 화상 복호 장치(420)의 엔트로피 복호부(421)에 공급되고(도 27의 부호화 데이터 입력), 엔트로피 부호를 복호시키고, 계수 데이터로 된다. 계수 데이터는, 계수 버퍼부(422)에 저장된다. 웨이브 렛 역변환부(423)는, 계수 버퍼부(422)에 저장된 계수 데이터를 사용하여, 예를 들면 도 23 및 도 24를 사용하여 설명한 바와 같이 합성 필터에 의한 합성 필터 처리를 행하고, 합성 필터 처리의 결과를 다시 계수 버퍼부(422)에 저장한다. 웨이브 렛 역변환부(423)는, 상기 합성 필터 처리를 분해 레벨에 따라 반복하여, 복호된 화상 데이터(출력 화상 데이터)를 얻는다.
도 27의 화상 복호 장치(420)의 엔트로피 복호부(421)는, 도 8의 화상 복호 장치(111)의 엔트로피 복호부(121) 및 역양자화부(122)에 대응되고, 화상 복호 장치(420)의 계수 버퍼부(422) 및 웨이브 렛 역변환부(423)는, 화상 복호 장치(111)의 웨이브 렛 역변환부(123)에 대응된다.
즉, 여기서는 웨이브 렛 역변환 처리에 대한 설명을 위해, 웨이브 렛 역변환 처리의 방법과 관련성이 적은 역양자화 처리(역양자화부(122))의 설명을 생략한다. 물론, 화상 부호화 장치(401)에서 양자화를 행하고 있으면, 엔트로피 복호부(421)가 엔트로피 복호 후에, 역양자화부(122)와 마찬가지의 역양자화(화상 부호화 장치(401)에서의 양자화에 대응하는 역양자화)를 행하고, 얻어진 웨이브 렛 계수를, 계수 버퍼부(422)(웨이브 렛 역변환부(123))에 공급하도록 해도 된다. 이와 같이 하면, 압축 효과의 향상을 더욱 기대할 수 있다.
다음에, 상기와 같은 화상 복호 장치(420)에 의한 복호 처리 전체의 구체적 인 흐름의 예를 도 28의 플로차트를 참조하여 설명한다.
복호 처리가 개시되면, 엔트로피 복호부(421)는, 단계 S431에서, 부호화 데이터를 취득하고, 단계 S432에서, 라인마다 부호화 데이터를 엔트로피 복호한다. 단계 S433에서, 계수 버퍼부(422)는 상기 복호되어 얻어진 계수를 유지한다. 단계 S434에서 웨이브 렛 역변환부(423)는, 계수 버퍼부(422)에 1라인 블록분의 계수가 축적되었는지 여부를 판정하고, 축적되어 있지 않은 것으로 판정된 경우, 처리를 단계 S431로 복귀시키고, 그 이후의 처리를 실행시키고, 계수 버퍼부(422)에 1라인 블록분의 계수가 축적되기까지 대기한다.
단계 S434에서 계수 버퍼부(422)에 1라인 블록분의 계수가 축적되었다고 판정된 경우, 웨이브 렛 역변환부(423)는, 처리를 단계 S435로 진행하고, 계수 버퍼부(422)에 유지되어 있는 계수를 1라인 블록분 판독한다.
그리고 상기 판독한 계수에 대해서, 웨이브 렛 역변환부(423)는, 단계 S436에서, 화면 수직 방향으로 정렬된 계수에 대해서 합성 필터링 처리를 행하는 수직 합성 필터링 처리를 행하고, 단계 S437에서, 화면 수평 방향으로 정렬된 계수에 대해서 합성 필터링 처리를 행하는 수평 합성 필터링 처리를 행하고, 단계 S438에서, 합성 필터링 처리가 레벨1(분해 레벨의 값이 「1」인 레벨)까지 종료되었는지 여부, 즉, 웨이브 렛 변환전 상태까지 역변환했는지 여부를 판정하고, 레벨1까지 이르지 않는 것으로 판정된 경우, 처리를 단계 S436으로 복귀시키고, 단계 S436 및 단계 S437의 필터링 처리를 반복한다.
단계 S438에서, 레벨1까지 역변환 처리가 종료되었다고 판정된 경우, 웨이브 렛 역변환부(423)는, 처리를 단계 S439로 진행하고, 역변환 처리에 의해 얻어진 화상 데이터를 외부에 출력한다.
단계 S440에서, 엔트로피 복호부(421)는, 복호 처리를 종료했는지 여부를 판정하고, 부호화 데이터의 입력이 계속되고 있고, 복호 처리를 종료하지 않은 것으로 판정된 경우, 처리를 단계 S431로 복귀시키고, 그 이후의 처리를 반복한다. 또, 단계 S440에서, 부호화 데이터의 입력이 종료되는 등으로 복호 처리를 종료한 것으로 판정된 경우, 엔트로피 복호부(421)는, 복호 처리를 종료한다.
종래의 웨이브 렛 역변환의 방법의 경우, 처리 대상의 분해 레벨의 전체 계수에 대해서, 먼저, 화면 수평 방향으로 수평 합성 필터링 처리를 행하고, 다음에 화면 수직 방향으로 수직 합성 필터링 처리를 행하고 있었다. 즉, 각 합성 필터링 처리마다, 상기 합성 필터링 처리의 결과를 버퍼에 유지시킬 필요가 있지만, 그 때, 버퍼는, 그 시점의 분해 레벨의 합성 필터링 결과와, 다음의 분해 레벨의 전체 계수를 유지할 필요가 있고, 매우 큰 메모리 용량을 필요로 하게 된다(유지하는 데이터량이 많다).
또, 이 경우, 픽쳐(인터레이스 방식의 경우 필드) 내에서 모든 웨이브 렛 역변환이 종료될 때까지 화상 데이터 출력이 행해지지 않으므로, 입력으로부터 출력까지의 지연 시간이 증대된다.
이에 대하여, 화상 복호 장치(420)의 웨이브 렛 역변환부(423)의 경우, 전술한 바와 같이 라인 블록 단위로 수직 합성 필터링 처리 및 수평 합성 필터링 처리를 레벨1까지 연속하여 행하므로, 종래의 방법과 비교하여, 한번에(동시기에) 버퍼 링 할 필요가 있는 데이터의 양이 적고, 준비해야 할 버퍼의 메모리 양을 대폭 저감시킬 수 있다. 또, 레벨1까지 합성 필터링 처리(웨이브 렛 역변환 처리)를 행함으로써, 픽쳐 내의 전체 화상 데이터를 얻을 수 있기 전에(라인 블록 단위로) 화상 데이터를 차례로 출력시킬 수 있어, 종래의 방법과 비교하여 지연 시간을 대폭 저감시킬 수 있다.
그리고, 도 19에 나타내는 화상 부호화 장치(401)나, 도 27에 나타내는 화상 복호 장치(420)의 각 구성요소의 동작(도 26의 부호화 처리나 도 28의 복호 처리)은, 예를 들면 도시되지 않는 CPU(Central Processing Unit)에 의해, 소정의 프로그램에 따라 제어된다. 프로그램은, 예를 들면 도시되지 않는 ROM(Read Only Memory)에 미리 기억된다. 이에 한정되지 않고, 화상 부호화 장치나 화상 복호 장치를 구성하는 각 구성요소 사이에서 타이밍 신호나 제어 신호를 서로 교환하여, 전체적으로 동작시키는 것도 가능하다. 또, 화상 부호화 장치나 화상 복호 장치는, 컴퓨터 장치 상에서 동작하는 소프트 웨어로 실현하는 것도 가능하다.
다음에, 이와 같은 화상 부호화 처리 및 화상 복호 처리의 다른 예에 대하여 설명한다. 예를 들면, 전술한 시스템(화상 부호화 장치(401) 및 화상 복호 장치(420))에서, 화상 부호화 장치(401) 및 화상 복호 장치(420)의 각 구성요소를 병렬적으로 동작시켜, 화상의 압축 부호화 및 복호 처리를 보다 저지연으로 행하도록 할 수 있다.
그리고, 상기에서 설명한 내용과 중복되는 부분의 설명은, 번잡함을 피하기 위해서 생략된다.
도 29는 본 발명의 제2 실시예에 의한, 화상 부호화 장치(401) 및 화상 복호 장치(420)의 각 요소의 일례의 병렬 동작을 개략적으로 나타낸다. 도 29는 전술한 도 25에 대응되는 것이다. 화상 데이터의 입력(In-1)(도 29의 A)에 대해서, 엔트로피 부호화부(415)에서 1회째의 웨이브 렛 변환(WT-1)이 행해진다(도 29의 B). 도 24를 참조하여 설명한 바와 같이, 상기 1회째의 웨이브 렛 변환(WT-1)은, 최초의 3라인이 입력된 시점에서 개시되고, 계수(C1)가 생성된다. 즉, 화상 데이터 In-1의 입력으로부터 웨이브 렛 변환(WT-1)이 개시되기까지, 3라인분의 지연이 생긴다.
생성된 계수 데이터는, 계수 정렬용 버퍼부(412)에 저장된다. 이후, 입력 된 화상 데이터에 대해서 웨이브 렛 변환이 행해지고, 1회째의 처리가 종료되면, 그대로 2번째의 웨이브 렛 변환(WT-2)의 처리가 이행된다.
2번째의 웨이브 렛 변환(WT-2)을 위한 화상 데이터 In-2의 입력과 해당 2번째의 웨이브 렛 변환(WT-2)의 처리와 병렬적으로, 계수 정렬부(413)에 의해 3개의 계수(C1), 계수(C4), 및 계수(C5)의 정렬(Ord-1)이 실행된다(도 29의 C).
그리고, 웨이브 렛 변환(WT-1)의 종료부터 정렬(Ord-1)이 개시되기까지의 지연은, 예를 들면, 정렬 처리를 계수 정렬부(413)에 지시하는 제어 신호의 전달에 수반하는 지연이나, 제어 신호에 대한 계수 정렬부(413)의 처리 개시에 필요한 지연, 프로그램 처리에 필요한 지연이라는, 장치나 시스템 구성에 근거하는 지연으로서, 부호화 처리에서의 본질적인 지연은 아니다.
계수 데이터는, 정렬이 종료된 순서로 계수 정렬용 버퍼부(412)로부터 판독 되어, 엔트로피 부호화부(415)에 공급되고, 엔트로피 부호화(EC-1)가 행해진다(도 29의 D). 상기 엔트로피 부호화(EC-1)는, 3개의 계수(C1), 계수(C4), 및 계수(C5)의, 모든 정렬의 종료를 기다리지 않고 개시하는 것이 가능하다. 예를 들면, 최초에 출력되는 계수(C5)에 의한 1라인의 정렬이 종료된 시점에서, 해당 계수(C5)에 대한 엔트로피 부호화를 개시하는 것이 가능하다. 이 경우, 정렬(Ord-1)의 처리 개시로부터 엔트로피 부호화(EC-1)의 처리 개시까지의 지연은, 1라인분으로 된다.
엔트로피 부호화부(415)에 의한 엔트로피 부호화(EC-1)가 종료된 부호화 데이터는, 전송로를 통하여 화상 복호 장치(420)에 전송된다(도 29의 E). 부호화 데이터가 전송되는 전송로는, 예를 들면 인터넷 등의 통신 네트워크일 수 있다. 이 경우, 부호화 데이터는, IP(Internet Protocol)에 의해 전송된다. 이에 한정되지 않고, 부호화 데이터의 전송로는, USB(Universal Serial Bus)나 IEEE 1394(Institute Electrical and Electronics Engineers 1394)라는 통신 인터페이스나, IEEE 802011 규격 등으로 대표되는 무선 통신일 수 있다.
화상 부호화 장치(401)에 대해서, 1회째의 처리에 의한 7라인분의 화상 데이터 입력에 계속하여, 화면 상의 하단의 라인까지 화상 데이터가 차례로 입력된다. 화상 부호화 장치(401)에서는, 화상 데이터의 입력(In-n)(n는 2 이상)에 따라, 전술한 바와 같이 하여, 4라인마다 웨이브 렛 변환(WT-n), 정렬(Ord-n) 및 엔트로피 부호화(EC-n)를 행한다. 화상 부호화 장치(401)에서의 최후의 회의 처리에 대한 정렬(Ord) 및 엔트로피 부호화(EC)는, 6라인에 대해서 행해진다. 이들 처리는, 화상 부호화 장치(401)에서, 도 29의 A내지 도 29의 D에 예시 되도록, 병렬적 으로 행해진다.
화상 부호화 장치(401)에 의한 엔트로피 부호화(EC-1)에 의해 부호화된 부호화 데이터가, 화상 복호 장치(420)에 전송로를 통하여 전송되어, 엔트로피 복호부(421)에 공급된다. 엔트로피 복호부(421)는, 공급된 엔트로피 부호화(EC-1)에 의해 부호화된 부호화 데이터에 대해서, 차례로, 엔트로피 부호의 복호(iEC-1)를 행하고, 계수 데이터를 복원한다(도 29의 F). 복원된 계수 데이터는, 차례로, 계수 버퍼부(422)에 저장된다. 웨이브 렛 역변환부(423)는, 계수 버퍼부(422)에 웨이브 렛 역변환이 행해진만큼 계수 데이터가 저장되면, 계수 버퍼부(422)로부터 계수 데이터를 판독하여, 판독된 계수 데이터를 사용하여 웨이브 렛 역변환(iWT-1)을 행한다(도 29의 G).
도 24를 참조하여 설명한 바와 같이, 웨이브 렛 역변환부(423)에 의한 웨이브 렛 역변환(iWT-1)은, 계수(C4) 및 계수(C5)가 계수 버퍼부(422)에 저장된 시점에서 개시하는 것이 가능하다. 따라서, 엔트로피 복호부(421)에 의한 복호(iEC-1)가 개시되므로 웨이브 렛 역변환부(423)에 의한 웨이브 렛 역변환(iWT-1)이 개시되기까지의 지연은, 2라인분으로 된다.
웨이브 렛 역변환부(423)에서, 1회째의 웨이브 렛 변환에 의한 3라인분의 웨이브 렛 역변환(iWT-1)이 종료되면, 웨이브 렛 역변환(iWT-1)으로 생성된 화상 데이터의 출력(Out-1)이 행해진다(도 29의 H). 출력(Out-1)에서는, 도 24 및 도 25를 사용하여 설명한 바와 같이, 제1 라인째의 화상 데이터가 출력된다.
화상 복호 장치(420)에 대하여, 화상 부호화 장치(401)에서의 1회째의 처리 에 의한 3라인분의 부호화된 계수 데이터의 입력에 계속하여, 엔트로피 부호화(EC-n)(n는 2 이상)에 의해 부호화된 계수 데이터가 차례로 입력된다. 화상 복호 장치(420)에서는, 입력된 계수 데이터에 대해서, 전술한 바와 같이, 4라인마다 엔트로피 복호(iEC-n) 및 웨이브 렛 역변환(iWT-n)을 행하고, 웨이브 렛 역변환(iWT-n)에 의해 복원된 화상 데이터의 출력(Out-n)을 차례로 행한다. 화상 부호화 장치의 최후의 회에 대응하는 엔트로피 복호(iEC) 및 웨이브 렛 역변환(iWT)은, 6라인에 대해서 행해지고, 출력(Out)은 8라인이 출력된다. 이들 처리는, 화상 복호 장치에서, 도 29의 F내지 도 29의 H에 예시되는 바와 같이, 병렬적으로 행해진다.
전술한 바와 같이, 화면 상부로부터 하부의 방향으로 순서대로, 화상 부호화 장치(401) 및 화상 복호 장치(420)에서의 각 처리를 병렬적으로 행함으로써, 화상 압축 처리 및 화상 복호 처리를 보다 저지연으로 행하는 것이 가능해진다.
도 29를 참조하여, 5×3 필터를 사용하여 분해 레벨=2까지 웨이브 렛 변환을 행한 경우의, 화상 입력으로부터 화상 출력까지의 지연 시간을 계산해 본다. 제1 라인째의 화상 데이터가 화상 부호화 장치(401)에 입력된 후, 상기 제1 라인째의 화상 데이터가 화상 복호 장치(420)로부터 출력될 때까지의 지연 시간은, 하기의 각 요소의 총계로 된다. 그리고, 여기서는, 전송로에서의 지연이나, 장치 각 부의 실제의 처리 타이밍에 수반되는 지연 등의, 시스템의 구성에 의한 상이한 지연은, 제외하고 있다.
(1) 최초의 라인 입력으로부터 7라인분의 웨이브 렛 변환(WT-1)이 종료될 때까지의 지연(D_WT)
(2) 3라인분의 계수 정렬(Ord-1)에 수반되는 시간(D_Ord)
(3) 3라인분의 엔트로피 부호화(EC-1)에 수반되는 시간(D_EC)
(4)) 3라인분의 엔트로피 복호(iEC-1)에 수반되는 시간(D_iEC)
(5) 3라인분의 웨이브 렛 역변환(iWT-1)에 수반되는 시간(D_iWT)
도 29를 참조하여, 전술한 각 요소에 의한 지연의 계산을 시도한다. (1)의 지연(D_WT)은, 10라인분의 시간이다. (2)의 시간(D_Ord), (3)의 시간(D_EC), (4)의 시간(D_iEC), 및 (5)의 시간(D_iWT)은, 각각 3라인분의 시간이다. 한편, 화상 부호화 장치(401)에서, 정렬(Ord-1)이 개시되므로 1라인 후에는, 엔트로피 부호화(EC-1)를 개시하는 것이 가능하다. 마찬가지로, 화상 복호 장치(420)에서, 엔트로피 복호(iEC-1)가 개시되므로 2라인 후에는, 웨이브 렛 역변환(iWT-1)을 개시하는 것이 가능하다. 또, 엔트로피 복호(iEC-1)는, 엔트로피 부호화(EC-1)에서 1라인분의 부호화가 종료된 시점에서 처리를 개시하는 것이 가능하다.
따라서, 도 29의 예에서는, 화상 부호화 장치에 제1 라인째의 화상 데이터가 입력된 후, 화상 복호 장치로부터 해당 제1 라인째의 화상 데이터가 출력될 때까지의 지연 시간은, 10+1+1+2+3=17 라인분으로 된다.
지연 시간에 대하여, 보다 구체적인 예를 들어 고찰한다. 입력되는 화상 데이터가 HDTV(High Definition Television)의 인터레이스 비디오 신호의 경우, 예를 들면 1920 화소×1080 라인의 해상도로 1 프레임이 구성되며, 1 필드는 1920 화소×540 라인으로 된다. 따라서, 프레임 주파수를 30Hz로 한 경우, 1 필드의 540 라인이 16.67msec(=1sec/60필드)의 시간에, 화상 부호화 장치(401)에 입력된다.
따라서, 7라인분의 화상 데이터의 입력에 수반되는 지연 시간은, 0.216msec(=16.67msec×7/540 라인)이며, 예를 들면 1 필드의 갱신 시간에 대해서 매우 짧은 시간으로 된다. 또, 전술한 (1)의 지연(D_WT), (2)의 시간(D_Ord), (3)의 시간(D_EC), (4)의 시간(D_iEC), 및 (5)의 시간(D_iWT)의 총계에 대하여도, 처리 대상의 라인수가 적기 때문에, 지연 시간이 매우 단축된다. 각 처리를 행하는 요소를 하드웨어화 하면, 처리 시간을 더욱 단축할 수도 있다.
또한, 다른 예에 대하여 설명한다. 전술한 설명에서는, 화상 부호화 장치(401)에서, 웨이브 렛 변환을 행한 후에 계수 데이터의 정렬을 행하고 있었다. 이에 대하여, 이하에서는, 계수 데이터의 정렬을, 엔트로피 부호화의 이후에 행하도록 하는 경우에 대하여 설명한다. 이 경우의 화상 부호화 장치에서는, 입력된 화상 데이터에 대해서 웨이브 렛 변환을 행하여 생성된 계수에 대해서 엔트로피 부호화를 행하고, 엔트로피 부호화된 데이터에 대해서 정렬 처리를 행한다. 이와 같이, 계수 데이터의 정렬을 엔트로피 부호화의 이후에 행함으로써, 계수 정렬 버퍼에서 필요한 기억 용량을 억제할 수 있다.
예를 들면, 입력 화상 데이터의 비트 정밀도가 8 비트인 경우, 웨이브 렛 변환을 복수 레벨 분해까지 행하면, 생성되는 계수 데이터의 비트 정밀도가, 예를 들면 12 비트 정도로 된다. 엔트로피 부호화 처리 이전에 계수 정렬 처리를 행하는 경우, 계수 정렬용 버퍼부는, 상기 비트 정밀도 12비트인 계수 데이터를, 소정 라인수분, 저장할 필요가 있다. 웨이브 렛 변환으로 생성된 계수 데이터를 엔트로피 부호화한 후에 정렬 처리하도록 하면, 계수 정렬용 버퍼는, 엔트로피 부호화에 의 해 압축된 데이터를 저장하면 되므로, 보다 작은 기억 용량으로 완료된다.
도 30은 이 경우의 화상 부호화 장치의 일례의 구성을 나타낸다. 그리고, 도 30에서, 전술한 도 19와 공통되는 부분에는 동일한 부호를 부여하고, 상세한 설명을 생략한다.
입력 화상 데이터는, 화상 부호화 장치(430)의 도중 계산용 버퍼부(411)에 일단 저장된다. 웨이브 렛 변환부(410)는, 도중 계산용 버퍼부(411)에 저장된 화상 데이터에 대해서, 제1 실시예에서 이미 설명한 바와 같이, 웨이브 렛 변환을 소정으로 행한다. 웨이브 렛 변환으로 생성된 계수 데이터는, 엔트로피 부호화부(415)에 공급된다. 엔트로피 부호화부(415)는, 레이트 제어부(414)와 연동적으로 동작되고, 출력되는 압축 부호화 데이터의 비트 레이트가 대략 일정값으로 되도록 제어되고, 공급된 계수 데이터에 대해서 엔트로피 부호화 처리를 행한다. 즉, 엔트로피 부호화부(415)는, 계수의 순서에 관계없이, 취득한 계수를, 그 취득한 순서대로 마찬가지로 부호화한다.
웨이브 렛 변환에 의해 생성된 계수 데이터가 엔트로피 부호화부(415)에서 엔트로피 부호화된 부호화 데이터는, 부호 정렬용 버퍼부(431)에 일단 저장된다. 부호 정렬부(432)는, 부호 정렬용 버퍼부(431)에 정렬하는 부호화 데이터가 저장되자마자, 부호 정렬용 버퍼부(431)로부터 부호화 데이터를 정렬하여 판독한다. 제1 실시예에서 이미 설명한 바와 같이, 웨이브 렛 변환부(410)에서 생성된 계수 데이터는, 고역 성분으로부터 저역 성분의 순서로, 화면의 상단 측으로부터 하단 측을 향해 생성된다. 복호 측에서 저지연으로 화상 데이터의 출력을 행하기 위해서는, 부호 정렬용 버퍼부(431)에 저장된 부호화 데이터를, 웨이브 렛 변환에 의한 계수 데이터의 저역 성분으로부터 고역 성분의 순서로 정렬하여 판독한다.
부호 정렬용 버퍼부(431)로부터 판독된 부호화 데이터가 출력의 부호화 데이터로서, 예를 들면 전송로에 송출된다.
그리고, 상기 화상 부호화 장치(430)에서 부호화되고 출력된 데이터는, 도 27을 사용하여 이미 설명한 화상 복호 장치(420)에 의해, 화상 부호화 장치(401)에서 부호화된 데이터를 복호하는 경우와 마찬가지로 복호하는 것이 가능하다. 즉, 예를 들면 전송로를 통하여 화상 복호 장치(420)에 입력된 부호화 데이터는, 엔트로피 복호부(421)에서 엔트로피 부호의 복호가 되어, 계수 데이터가 복원된다. 복원된 계수 데이터는, 계수 버퍼부(422)에 차례로 저장된다. 웨이브 렛 역변환부(423)는, 계수 버퍼부(422)에 저장된 계수 데이터에 대해서 웨이브 렛 역변환을 행하고, 화상 데이터를 출력한다.
또한, 다른 예에 대하여 설명한다. 상기에서는, 웨이브 렛 변환으로 생성된 계수 데이터의 정렬 처리를, 도 31에 일례가 도시된 바와 같이, 화상 부호화 장치 측에서 행하도록 설명했다. 여기서는, 웨이브 렛 변환에 의해 생성된 계수 데이터의 정렬 처리를, 도 32에 일례가 도시된 바와 같이, 화상 복호 장치 측에서 행하는 경우에 대하여 설명한다.
웨이브 렛 변환으로 생성된 계수 데이터를 정렬시키는 처리에서는, 전술한 바와 같이, 계수 정렬용 버퍼의 기억 용량으로서 비교적 대용량이 필요함과 동시에, 계수 정렬의 처리 자체에도, 높은 처리 능력이 요구된다. 이 경우에서도, 화 상 부호화 장치 측의 처리 능력이 어느 정도 이상 높은 경우에는, 전술한 각 설명의 경우의 같이, 화상 부호화 장치 측에서 계수 정렬 처리를 행해도, 어떤 문제는 생기지 않는다.
여기서, 휴대 전화 단말기나 PDA(Personal Digital Assistant)라는 이른바 모바일 단말기 등의, 비교적 처리 능력이 낮은 기기에 화상 부호화 장치가 장착되는 경우에 대하여 고려한다. 예를 들면, 최근에서는, 휴대 전화 단말기에 대해서 촬상 기능을 부가한 제품이 널리 보급되어 있다(카메라 기능이 부가된 휴대 전화 단말기라고 함). 이와 같은 카메라 기능이 부가된 휴대 전화 단말기로 촬상된 화상 데이터를 웨이브 렛 변환 및 엔트로피 부호화에 의해 압축 부호화하고, 무선 또는 유선 통신을 통하여 전송하는 것을 고려할 수 있다.
이와 같은 예를 들면 모바일 단말기는, CPU의 처리 능력도 한정되고 또, 메모리 용량에도 어느 정도의 상한이 있다. 그러므로, 전술한 바와 같은 계수 정렬에 수반되는 처리의 부하 등은, 무시할 수 없는 문제로 된다.
그래서, 도 32에 일례가 도시된 바와 같이, 정렬 처리를 화상 복호 장치 측에 조립함으로써, 화상 부호화 장치 측의 부하가 가벼워져, 화상 부호화 장치를 모바일 단말기 등의 비교적 처리 능력이 낮은 기기에 장착하는 것이 가능해진다.
도 33은 이 경우의 화상 부호화 장치의 일례의 구성을 나타낸다. 그리고, 도 33에서, 전술한 도 19와 공통되는 부분에는 동일한 부호를 부여하여, 상세한 설명을 생략한다. 도 33에 나타내는 화상 부호화 장치(441)의 구성은, 전술한 도 19에 나타낸 화상 부호화 장치(401)의 구성에 대해서 계수 정렬부(413) 및 계수 정렬 용 버퍼부(412)를 제거한 구성으로 되어 있다. 즉, 제4 실시예에서는, 화상 부호화 장치(441)로서는, 종래부터 사용되는, 웨이브 렛 변환부(410), 도중 계산용 버퍼부(411), 엔트로피 부호화부(415) 및 레이트 제어부(414)를 조합한 구성을 적용하는 것이 가능하다.
입력된 화상 데이터는, 도중 계산용 버퍼부(411)에 일시적으로 모인다. 웨이브 렛 변환부(410)는, 도중 계산용 버퍼부(411)에 모인 화상 데이터에 대해서 웨이브 렛 변환을 행하고, 생성된 계수 데이터를, 계수 데이터의 생성 순서로 차례로, 엔트로피 부호화부(415)에 공급한다. 즉, 엔트로피 부호화부(415)에 대해서, 웨이브 렛 변환의 순서에 따라 고역 성분으로부터 저역 성분의 순서로, 생성된 계수 데이터가 공급된다. 엔트로피 부호화부(415)는, 공급된 계수에 대해서, 레이트 제어부(414)에 의해 출력 데이터의 비트 레이트를 제어시키면서 엔트로피 부호화를 행한다. 엔트로피 부호화부(415)로부터, 웨이브 렛 변환에 의해 생성된 계수 데이터가 엔트로피 부호화된 부호화 데이터로 출력된다.
도 34는 이 경우의 화상 복호 장치의 일례의 구성을 나타낸다. 그리고, 도 34에서, 전술한 도 27과 공통되는 부분에는 동일한 부호를 부여하고, 상세한 설명을 생략한다.
도 33에서 설명한 화상 부호화 장치(441)의 엔트로피 부호화부(415)로부터 출력된 부호화 데이터는, 도 34의 화상 복호 장치(442)의 엔트로피 복호부(421)에 공급되고, 엔트로피 부호를 복호시키고 계수 데이터로 된다. 계수 데이터는, 계수 버퍼부(422)를 통하여 계수 정렬용 버퍼부(443)에 저장된다. 웨이브 렛 역변환 부(423)는, 계수 정렬용 버퍼부(443)에 계수 데이터의 정렬이 가능해질 때까지 계수 데이터가 축적되면, 계수 정렬용 버퍼부(443)에 저장된 계수 데이터를, 저역 성분으로부터 고역 성분의 순서로 정렬하여 판독하고, 판독된 순서로 계수 데이터를 사용하여 웨이브 렛 역변환 처리를 행한다. 5×3 필터를 사용하는 경우에는, 전술한 도 32에 나타낸 바와 같이 된다.
즉, 웨이브 렛 역변환부(423)는, 예를 들면 1 프레임의 선두로부터의 처리이면, 계수 정렬용 버퍼부(443)에 엔트로피 부호의 복호가 이루어진 계수(C1), 계수(C4), 및 계수(C5)가 저장된 시점에서, 계수 정렬용 버퍼부(443)로부터 계수 데이터를 판독하고, 웨이브 렛 역변환 처리를 행한다. 웨이브 렛 역변환부(423)에서 웨이브 렛 역변환을 행한 데이터는, 차례로, 출력 화상 데이터로서 출력된다.
그리고, 이 경우에도 도 29를 사용하여 이미 설명한 경우와 마찬가지로, 화상 부호화 장치(441)에서의 각 요소의 처리와, 전송로에 대한 부호화 데이터의 전송과, 화상 복호 장치(442)에서의 각 요소의 처리가 병렬적으로 실행될 수 있다.
다음에, 전술한 화상 부호화 장치와 화상 복호 장치 사이에서의 부호화 데이터의 수수(授受)에 대하여 설명한다. 도 35는 상기 부호화 데이터의 수수의 상태의 예를 설명하는 개략도이다. 도 35에 나타내는 예의 경우에도, 전술한 다른 실시예와 마찬가지로, 화상 데이터는, 라인 블록마다, 소정의 라인수분 만큼 입력되면서 웨이브 렛 변환된다(서브 밴드(451)). 그리고, 소정의 웨이브 렛 변환 분해 레벨까지 이른 때에, 최저역 서브 밴드로부터 최고역 서브 밴드까지의 계수 라인이, 생성된 순서와는 역으로, 즉 저역으로부터 고역의 순서로 정렬된다.
도 35의 서브 밴드(451)에 있어서, 경사선, 세로선, 및 파선의 모양 구분된 부분은, 각각 상이한 라인 블록이다(화살표로 나타낸 바와 같이, 서브 밴드(451)의 백색 부분도 마찬가지로 라인 블록마다 분할하여 처리된다). 정렬된 후의 라인 블록의 계수가 상술한 형태의 엔트로피 부호화되고, 부호화 데이터가 생성된다.
여기서, 예를 들면 화상 부호화 장치가 부호화 데이터를 그대로 송출하면, 화상 복호 장치가 각 라인 블록의 경계를 식별하는 것이 곤란한(또는 번잡한 처리가 필요해지는) 경우가 있다. 그래서, 본 실시예에서는, 화상 부호화 장치가, 부호화 데이터에, 예를 들면 라인 블록 단위로 헤더(header)를 부가하고, 헤더와 부호화 데이터로 이루어지는 패킷(packet)으로서 송출하도록 한다.
즉, 화상 부호화 장치는, 도 35에 나타낸 바와 같이, 1번째의 라인 블록(Line block-1)의 부호화 데이터(인코드 데이터)를 생성하면, 상기 부호화 데이터를 패킷화하고, 송신 패킷(461)으로서 화상 복호 장치에 송출한다. 화상 복호 장치는, 상기 패킷을 수신하면(수신 패킷(471)), 상기 부호화 데이터를 복호(디코드)한다.
마찬가지로, 화상 부호화 장치는, 2번째의 라인 블록(Line block-2)의 부호화 데이터를 생성하면, 상기 부호화 데이터를 패킷화하고, 송신 패킷(462)으로서 화상 복호 장치에 송출한다. 화상 복호 장치는, 상기 패킷을 수신하면(수신 패킷(472)), 상기 부호화 데이터를 복호(디코드)한다. 또한 마찬가지로, 화상 부호화 장치는, 3번째의 라인 블록(Line block-3)의 부호화 데이터를 생성하면, 상기 부호화 데이터를 패킷화하고, 송신 패킷(463)으로서 화상 복호 장치에 송출한다. 화상 복호 장치는, 상기 패킷을 수신하면(수신 패킷(473)), 상기 부호화 데이터를 복호(디코드)한다.
화상 부호화 장치 및 화상 복호 장치는, 상기와 같은 처리를, X 번째의 최종 라인 블록(Line block-X)까지 반복한다(송신 패킷(464), 수신 패킷(474)). 상기와 같이 하여 화상 복호 장치에서 복호 화상(481)이 생성된다.
도 36에 헤더의 구성예를 나타낸다. 전술한 바와 같이 패킷은 헤더(Header)(491)와 부호화 데이터로 구성되지만, 상기 헤더(491)에는, 라인 블록의 번호(NUM(493))와 부호화 데이터 길이(LEN(494))의 기술이 포함되어 있다.
화상 복호 장치는, 수신된 부호화 데이터에 부가된 헤더에 포함되는 이들 정보를 판독함으로써, 각 라인 블록의 경계를 용이하게 식별할 수 있고, 복호 처리의 부하나 처리 시간을 저감시킬 수 있다.
그리고, 도 36에 나타낸 바와 같이, 또한, 라인 블록을 구성하는 서브 밴드마다의 양자화 단계 사이즈(△1 내지 △N)(492)의 기술을 부가하도록 해도 된다. 이로써, 화상 복호 장치는, 서브 밴드마다의 역양자화를 행할 수 있고, 보다 치밀한 화질 제어를 행할 수 있다.
또, 화상 부호화 장치 및 화상 복호 장치는, 전술한 바와 같은 부호화, 패킷화, 패킷의 송수신, 및 복호 등의 각 처리를, 제4 실시예에서 설명한 바와 같이, 라인 블록마다, 동시 병행적으로(파이프라인화 하여) 실행하도록 해도 된다.
이와 같이 함으로써, 화상 복호 장치에서 화상 출력을 얻을 수 있을 때까지의 지연 시간을 대폭 저감시킬 수 있다. 도 35에는 일례로서, 인터레이스 동영 상(60필드/초)에서의 동작예를 나타내고 있다. 이 예에서, 1 필드의 시간은, 1초÷60=약 16.7msec이지만, 동시 병행적으로 각 처리를 행하도록함으로써, 약 5msec의 지연 시간에 화상 출력을 얻을 수 있도록 할 수 있다.
상기에서 각 예를 설명한 바와 같이, 라인 블록마다 웨이브 렛 변환(또는 웨이브 렛 역변환)을 행하도록 함으로써, 화상 부호화 장치(또는 화상 복호 장치)는, 더욱 고속으로 부호화 처리(또는 복호 처리)를 행할 수 있다.
환언하면, 엔트로피 부호화부는, 라인 블록마다 변환하는 웨이브 렛 변환부로부터의 계수의 출력 순서의 특징(즉, 연속하는 계수의 유효 자리수가 유사한 것)으로 발생 부합량을 저감시킬 수 있다. 또, 계수의 정렬을 행하는 경우에도, 웨이브 렛 변환부가 라인 블록 단위로 웨이브 렛 변환을 행하므로, 연속하는 계수의 유효 자리수가 유사하다는 특징에는 큰 영향을 받지 않고, 엔트로피 부호화 처리의 발생 부호량은 크게 변화되지 않는다.
상기와 같이, 전술한 웨이브 렛 변환 처리는, 본 발명의 엔트로피 부호화 처리와, 처리되는 계수 데이터의 특징이나 기대되는 효과가 유사하여, 서로 친화성이 높다. 따라서, 일반적인 종래의 웨이브 렛 변환 방법을 적용하는 경우보다, 전술한 웨이브 렛 변환 처리를 적용하는 경우가, 화상 부호화 처리 전체에서 보다 큰 효과를 얻을 수 있다.
그리고, 전술한 바와 같이, 상기 웨이브 렛 변환 처리는, 다양한 구성으로 실현 가능하며, 본 발명의 엔트로피 부호화 처리나 엔트로피 복호 처리(화상 부호화 장치나 화상 복호 장치)를, 다양한 종류의 시스템에 적용할 수 있다.
이하에서 구체적인 적용예를 설명한다. 최초에, 전술한 화상 부호화 장치 및 화상 복호 장치를, 디지탈 트라이액스 시스템에 적용하는 경우에 대하여 설명한다. 트라이액스 시스템은, 텔레비전 방송국이나 제작 스튜디오 등에서, 스튜디오 수록이나 중계 등의 때에, 비디오 카메라와 카메라 컨트롤 유닛이나 스위쳐(switcher)를 접속하는 1개의 동축 케이블로, 영상 신호, 음성 신호, 반송(리턴)의 영상 신호, 동기 신호 등 복수개의 신호를 중첩시켜 송신하는 동시에, 전원의 공급도 행하도록 한 시스템이다.
종래의 트라이액스 시스템은, 아날로그 신호를 사용하여 전술한 각 신호의 전송을 행하도록 한 예가 대부분이었다. 한편, 최근에서는, 시스템 전체의 디지털화에 따라, 방송국내 등에서 사용하는 트라이액스 시스템의 디지털화가 진행되고 있다.
기존의 디지탈 트라이액스 시스템에서는, 트라이액스 케이블을 통하여 전송되는 디지털 비디오 신호는, 비압축의 비디오 신호였다. 이것은, 특히 방송국 등에서는 신호의 지연 시간에 대한 요구 스펙이 엄격하고, 기본적으로, 촬상으로부터, 예를 들면 모니터 출력까지의 지연 시간이 1 필드(16.67msec) 이내인 것이 요구되기 때문이다. 고압축율 및 고화질을 실현한 MPEG2(Moving Pictures Experts Group 2)나 MPEG4라는 압축 부호화 방식은, 비디오 신호의 압축 부호화나 압축 비디오 신호의 복호할 때에 수 프레임분의 시간을 필요로 하여, 지연 시간이 크기 때문에, 트라이액스 시스템에 채용되지는 않았다.
본 발명에 의한 화상 부호화 및 화상 복호 방법은, 전술한 바와 같이, 화상 데이터의 입력으로부터 출력 화상을 얻을 수 있을 때까지의 지연 시간이 1 필드 시간 이내, 예를 들면 수라인 내지 수십 라인으로 극히 짧고, 디지탈 트라이액스 시스템에 대해서 사용하기에 바람직한 것이다.
도 37은 본 발명을 적용한 디지탈 트라이액스 시스템의 일례의 구성을 나타낸다.
송신 유닛(500)과 카메라 제어부(502)가 트라이액스 케이블(동축 케이블)(501)을 통하여 접속된다. 송신 유닛(500)으로부터 카메라 제어부(502)에 대한, 실제로 방영되거나 소재로서 이용되는 디지털 비디오 신호 및 디지털 오디오 신호(이하, 본선 신호라 함)의 송출, 카메라 제어부(502)로부터 비디오 카메라부(503)에 대한, 인컴(income)용 오디오 신호 및 리턴(return)용 디지털 비디오 신호의 송출이, 트라이액스 케이블(501)을 통하여 행해진다.
송신 유닛(500)은, 예를 들면, 도시되지 않는 비디오 카메라 장치에 내장된다. 이에 한정되지 않고, 송신 유닛(500)이 비디오 카메라 장치에 대한 외부 장치로서, 비디오 카메라 장치와 소정으로 접속되어 사용되는 것으로 해도 된다. 또, 카메라 제어부(502)는, 예를 들면 일반적으로 CCU(Camera Control Unit)라고 부르는 장치이다.
그리고, 디지털 오디오 신호에 대하여는, 본 발명의 주제와 관계가 적기 때문에, 번잡함을 피하기 위해 설명을 생략한다.
비디오 카메라부(503)는, 예를 들면 도시되지 않은 비디오 카메라 장치 내에 구성되며, 렌즈, 포커스 기구, 줌 기구, 아이리스(iris) 조정 기구 등을 가지는 광 학계(550)을 통하여 입사된 피사체로부터의 광을, CCD(Charge Coupled Device) 등으로 이루어지는 도시되지 않은 촬상 소자로 수광한다. 촬상 소자는, 수광된 광을 광전변환으로 전기 신호로 변환하고, 또한 소정의 신호 처리를 행하여 베이스 밴드의 디지털 비디오 신호를 출력한다. 상기 디지털 비디오 신호는, 예를 들면 HD-SDI(High Definition-Serial Data Interface)의 포맷에 매핑(mapping)하여 출력된다.
또, 비디오 카메라부(503)는, 모니터용으로 사용되는 표시부(551)와, 외부와 음성에 의한 교환을 행하기 위한 인컴(552)이 접속된다.
송신 유닛(500)은, 비디오 신호 부호화부(510) 및 비디오 신호 복호부(511), 디지털 변조부(512) 및 디지털 복조부(513), 앰프(514) 및 앰프(515), 및, 비디오 분리/합성부(516)를 가진다.
송신 유닛(500)에서, 비디오 카메라부(503)로부터, 예를 들면 HD-SDI의 포맷에 매핑 된 베이스 밴드의 디지털 비디오 신호가 공급된다. 상기 디지털 비디오 신호는, 비디오 신호 부호화부(510)에서 압축 부호화되고, 부호화 스트림(stream)으로 되어 디지털 변조부(512)에 공급된다. 디지털 변조부(512)는, 공급된 부호화 스트림을, 트라이액스 케이블(501)을 통한 전송에 적절한 형식의 신호로 변조하여 출력한다. 디지털 변조부(512)로부터 출력된 신호는, 앰프(514)를 통하여 비디오 분리/합성부(516)에 공급된다. 비디오 분리/합성부(516)는, 공급된 신호를 트라이액스 케이블(501)에 송출한다. 상기 신호는, 트라이액스 케이블(501)을 통하여 카메라 제어부(502)에 수신된다.
카메라 제어부(502)로부터 출력된 신호가, 트라이액스 케이블(501)을 통하여 송신 유닛(500)에 수신된다. 수신된 신호는, 비디오 분리/합성부(516)에 공급되고, 디지털 비디오 신호의 부분과 그 외의 신호의 부분이 분리된다. 수신 신호 중 디지털 비디오 신호의 부분은, 앰프(515)를 통하여 디지털 복조부(513)에 공급되고, 카메라 제어부(502) 측에서 트라이액스 케이블(501)을 통한 전송에 적절한 형식의 신호로 변조된 신호를 복조하고, 부호화 스트림을 복원한다.
부호화 스트림은, 비디오 신호 복호부(511)에 공급되고, 압축 부호를 복호시키고, 베이스 밴드의 디지털 비디오 신호로 된다. 상기 복호된 디지털 비디오 신호는, HD-SDI의 포맷에 매핑되어 출력되고, 리턴용 디지털 비디오 신호로서 비디오 카메라부(503)에 공급된다. 상기 리턴용 디지털 비디오 신호는, 비디오 카메라부(503)에 접속되는 표시부(551)에 공급되고, 촬영자를 위한 모니터 등에 이용된다.
카메라 제어부(502)는, 비디오 분리/합성부(520), 앰프(521) 및 앰프(522), 프론트 엔드부(523), 디지털 복조부(524) 및 디지털 변조부(525), 및, 비디오 신호 복호부(526) 및 비디오 신호 부호화부(527)를 가진다.
송신 유닛(500)으로부터 출력된 신호가, 트라이액스 케이블(501)을 통하여 카메라 제어부(502)에 수신된다. 수신된 신호는, 비디오 분리/합성부(520)에 공급된다. 비디오 분리/합성부(520)는, 공급된 신호를, 앰프(521) 및 프론트 엔드부(523)를 통하여 디지털 복조부(524)에 공급한다. 그리고, 프론트 엔드부(523)는, 입력 신호의 게인을 조정하는 게인 제어부나, 입력 신호에 대하여 소정의 필터 처리를 가하는 필터부 등을 가진다.
디지털 복조부(524)는, 송신 유닛(500) 측에서 트라이액스 케이블(501)을 통한 전송에 적절한 형식의 신호로 변조된 신호를 복조하고, 부호화 스트림을 복원한다. 상기 부호화 스트림은, 비디오 신호 복호부(526)에 공급되고, 압축 부호를 복호시키고, 베이스 밴드의 디지털 비디오 신호로 된다. 상기 복호된 디지털 비디오 신호는, HD-SDI의 포맷으로 매핑되어 출력되고, 본선 신호로서 외부에 출력된다.
외부로부터 카메라 제어부(502)에 대해서, 리턴용 디지털 비디오 신호와, 디지털 오디오 신호가 공급된다. 디지털 오디오 신호는, 예를 들면, 촬영자의 인컴(552)에 공급되고, 외부로부터 촬영자에 대한 음성에 의한 지시를 전달하는데 사용된다.
리턴용 디지털 비디오 신호는, 비디오 신호 부호화부(527)에 공급되어 압축 부호화되고, 디지털 변조부(525)에 공급된다. 디지털 변조부(525)는, 공급된 부호화 스트림을, 트라이액스 케이블(501)을 통한 전송에 적절한 형식의 신호로 변조하여 출력한다. 디지털 변조부(525)로부터 출력된 신호는, 프론트 엔드부(523) 및 앰프(522)를 통하여 비디오 분리/합성부(520)에 공급된다. 비디오 분리/합성부(520)는, 상기 디지털 변조부(525)로부터 출력된 신호를 다른 신호와 다중화해, 트라이액스 케이블(501)에 송출한다. 상기 신호는 트라이액스 케이블(501)을 통하여 비디오 카메라부(503)에 수신된다.
본 발명의 제7 실시예에서는, 전술한 비디오 신호 부호화부(510) 및 비디오 신호 부호화부(527), 및, 비디오 신호 복호부(511) 및 비디오 신호 복호부(526)에 대해서, 전술한 각 실시예에서 설명한 화상 부호화 장치 및 화상 복호 장치를 각각 적용한다.
특히, 화상 부호화 장치 및 화상 복호 장치에서의 각 요소의 처리를 병렬적으로 행하도록 한, 발명의 제2 실시예는, 비디오 카메라부(503)로 촬영된 영상이 카메라 제어부(502)로부터 출력될 때의 지연이나, 외부로부터 공급되고 카메라 제어부(502)로부터 비디오 카메라부(503)에 송신되는 리턴용 디지털 비디오 신호의 지연을 낮게 억제할 수 있어, 본 발명의 제7 실시예에 사용하기에 매우 적합하다.
또한, 도 37에 예시한 시스템의 경우, 송신 유닛(500) 및 카메라 제어부(502)의 각각에 있어서, 신호 처리 능력이나 메모리 용량을 적당히 설정할 수 있으므로, 계수 데이터의 정렬 처리를 행하는 위치는, 송신 유닛(500) 측 및 카메라 제어부(502) 측의 어느 쪽이라도 되고, 엔트로피 부호화를 행하는 위치도 마찬가지로, 정렬 처리의 전후의 어느 쪽이라도 된다.
즉, 송신 유닛(500) 측에서, 비디오 신호 부호화부(510)는, 공급된 디지털 비디오 신호에 대하여, 본 발명에 의한 방법에 따라 웨이브 렛 변환 및 엔트로피 부호화를 행하고, 부호화 스트림을 출력한다. 전술한 바와 같이, 비디오 신호 부호화부(510)는, 웨이브 렛 변환에 사용하는 필터의 탭수 및 웨이브 렛 변환의 분해 레벨 수에 따른 라인수가 입력되면, 웨이브 렛 변환을 개시한다. 그리고, 도 23, 도 24 및 도 29 등을 사용하여 설명한 바와 같이, 화상 부호화 장치 및 화상 복호 장치에서, 각 요소에 필요한 계수 데이터가 축적되면, 차례로 각 요소에 의한 처리가 행해진다. 1 프레임 또는 1 필드의 하단의 라인까지 처리가 종료되면, 다음의 1 프레임 또는 1 필드의 처리가 개시된다.
카메라 제어부(502) 측으로부터 송신 유닛(500) 측에, 리턴용 디지털 비디오 신호를 송신하는 경우에도, 마찬가지이다. 즉, 카메라 제어부(502) 측에서, 비디오 신호 부호화부(527)는, 외부로부터 공급된 리턴용 디지털 비디오 신호에 대하여, 본 발명에 의한 방법에 따라 웨이브 렛 변환 및 엔트로피 부호화를 행하고, 부호화 스트림을 출력한다.
여기서, 리턴용 디지털 비디오 신호는, 본선 신호의 디지털 비디오 신호보다도 화질이 낮아도 상관없는 경우가 많다. 그래서, 비디오 신호 부호화부(527)에서, 부호화 시의 비트 레이트를 내리도록 하여도 된다. 예를 들면, 비디오 신호 부호화부(527)에서, 레이트 제어부(414)에 의해, 엔트로피 부호화부(415)에서의 엔트로피 부호화 처리를 보다 저비트 레이트에 이를 때까지 행하도록 제어한다. 또한 예를 들면, 카메라 제어부(502) 측에서는, 비디오 신호 부호화부(527)에서 웨이브 렛 변환부(410)보다 높은 분해 레벨까지 변환 처리를 행하고, 송신 유닛(500) 측에서는, 비디오 신호 복호부(511)의 웨이브 렛 역변환부(423)에서의 웨이브 렛 역변환을, 보다 낮은 분해 레벨까지 멈추게 할 수 있다. 카메라 제어부(502) 측의 비디오 신호 부호화부(527)에서의 처리는, 이 예에 한정되지 않고, 웨이브 렛 변환에서의 분해 레벨을 보다 낮게 억제하여 변환 처리에 의한 부담을 경감할 수도 있다.
다음에, 본 발명의 화상 부호화 장치 및 화상 복호 장치를, 부호화된 부호화 데이터의 전송을, 무선 통신을 사용하여 행하는 시스템에 적용한 경우의 예에 대하 여 설명한다. 도 38은 본 발명을 적용한 무선 전송 시스템의 일례의 구성을 나타낸다. 그리고, 도 38의 예에서는, 비디오 신호는 비디오 카메라 또는 송신 유닛(600)(이하, 송신 유닛(600)으로 대략 칭함) 측으로부터 수신 장치(601) 측에, 일방향으로 송신된다. 오디오 신호 및 그 외의 신호는, 송신 유닛(600)과 수신 장치(601) 사이에서 양방향의 통신이 가능하다.
송신 유닛(600)은, 예를 들면 비디오 카메라부(602)를 가지는 도시되지 않은 비디오 카메라 장치에 내장된다. 이에 한정되지 않고, 송신 유닛(600)이 비디오 카메라부(602)를 가지는 비디오 카메라 장치에 대한 외부 장치로서, 비디오 카메라 장치와 소정으로 접속되어 사용되는 것으로 해도 된다.
비디오 카메라부(602)는, 예를 들면 소정의 광학계와, 예를 들면 CCD로 이루어지는 촬상 소자와, 촬상 소자로부터 출력된 신호를 디지털 비디오 신호로서 출력하는 신호 처리부를 가진다. 비디오 카메라부(602)로부터, 예를 들면 HD-SDI의 포맷으로 매핑되어 디지털 비디오 신호가 출력된다. 이것은 이 예에 한정되지 않고, 비디오 카메라부(602)로부터 출력되는 디지털 비디오 신호는, 다른 포맷이라도 된다.
송신 유닛(600)은, 비디오 신호 부호화부(610), 디지털 변조부(611) 및 무선 모듈부(612)를 가진다. 송신 유닛(600)에서는, 비디오 카메라부(602)로부터, 베이스 밴드의 디지털 비디오 신호가, 예를 들면 HD-SDI의 포맷으로 매핑되어 출력된다. 상기 디지털 비디오 신호는, 비디오 신호 부호화부(610)에서 본 발명에 관한 압축 부호화 방법에 의해, 웨이브 렛 변환 및 엔트로피 부호화에 의해 압축 부호화 되고, 부호화 스트림으로 되어 디지털 변조부(611)에 공급된다. 디지털 변조부(611)는, 공급된 부호화 스트림을, 무선 통신을 행하기 위해 적합한 형식의 신호로 디지털 변조하여 출력한다.
또, 디지털 변조부(611)에는, 디지털 오디오 신호나 그 외의 신호, 예를 들면 소정의 커맨드(command)나 데이터도 공급된다. 예를 들면, 비디오 카메라부(602)는, 마이크로폰을 가지고, 집음(集音)된 음성을 음성 신호로 변환하고, 또한 해당 음성 신호를 A/D 변환하여 디지털 오디오 신호로서 출력한다. 또, 비디오 카메라부(602)는, 소정의 커맨드나 데이터를 출력할 수 있도록 되어 있다. 커맨드나 데이터는, 비디오 카메라부(602)의 내부에서 발생하도록 해도 되고, 비디오 카메라부(602)에 조작부를 설치하고, 해당 조작부에 대한 사용자의 조작에 따라 커맨드나 데이터를 생성하도록 해도 된다. 비디오 카메라부(602)에 대해서 커맨드나 데이터를 입력하는 입력 장치를 접속하도록 해도 된다.
디지털 변조부(611)는, 이들 디지털 오디오 신호나 그 외의 신호를 디지털 변조하고, 출력한다. 디지털 변조부(611)로부터 출력된 디지털 변조 신호는, 무선 모듈부(612)에 공급되고 안테나(613)로부터 전파로서 무선 송신된다.
그리고, 무선 모듈부(612)는, 수신 장치(601) 측으로부터의 자동 재송신 요구(ARQ: Auto Repeat Request)를 수신하면, 디지털 변조부(611)에 대해서 상기 ARQ를 통지하고, 데이터의 재송신을 요구한다.
안테나(613)로부터 송신된 전파는, 수신 장치(601) 측의 안테나(620)에서 수신되어, 무선 모듈부(621)에 공급된다. 무선 모듈부(621)는, 수신된 전파에 근거 하는 디지털 변조 신호를 프론트 엔드부(622)에 공급한다. 프론트 엔드부(622)는, 공급된 디지털 변조 신호에 대하여, 예를 들면 게인 제어라는 소정의 신호 처리를 행하여, 디지털 복조부(623)에 공급한다. 디지털 복조부(623)는, 공급된 디지털 변조 신호를 복조하고, 부호화 스트림을 복원한다.
디지털 복조부(623)로 복원된 부호화 스트림은, 비디오 신호 복호부(624)에 공급되고, 본 발명에 관한 복호 방법에 의해 압축 부호를 복호시키고, 베이스 밴드의 디지털 비디오 신호로 된다. 상기 복호된 디지털 비디오 신호는, 예를 들면 HD-SDI의 포맷으로 매핑되어 출력된다.
디지털 복조부(623)에는, 송신 유닛(600) 측에서 디지털 변조되고 송신된, 디지털 오디오 신호나 그 외의 신호도 공급된다. 디지털 복조부(623)는, 이들 디지털 오디오 신호나 그 외의 신호가 디지털 변조된 신호를 복조하고, 디지털 오디오 신호나 그 외의 신호를 복원해 출력한다.
또, 프론트 엔드부(622)는, 무선 모듈부(621)로부터 공급된 수신 신호에 대하여 소정의 방법으로 에러 검출을 행하고, 예를 들면 잘못된 프레임이 수신된 이라는 에러가 검출되면, ARQ를 출력한다. ARQ는 무선 모듈부(621)에 공급되고, 안테나(620)로부터 송신된다.
이와 같은 구성에 있어서, 송신 유닛(600)을 예를 들면 비디오 카메라부(602)를 가지는 비교적 소형의 비디오 카메라 장치에 내장시키고, 수신 장치(601)에는 모니터 장치를 접속하고, 비디오 신호 복호부(624)로부터 출력된 디지털 비디오 신호를 모니터 장치에 공급한다. 수신 장치(601)에 대해서, 송신 유 닛(600)의 내장된 비디오 카메라 장치가 무선 모듈부(612)로부터 송신되는 전파의 도달범위 내에 있으면, 비디오 카메라 장치로 촬영된 영상을, 저지연, 예를 들면 1 필드 또는 1 프레임 시간 이내의 지연으로 모니터 장치에 의해 볼 수 있다.
그리고, 도 38에서는, 송신 유닛(600)과 수신 장치(601) 사이의 통신을, 무선 통신을 사용하여 행하고, 비디오 신호를, 무선 통신을 통하여 전송하도록 하고 있지만, 이것은 이 예에 한정되지 않는다. 예를 들면, 송신 유닛(600)과 수신 장치(601)는, 인터넷 등의 네트워크를 통하여 접속하도록 해도 된다. 이 경우, 송신 유닛(600) 측의 무선 모듈부(612) 및 수신 장치(601) 측의 무선 모듈부(621)는, 각각 IP(Internet Protocol)를 사용한 통신이 가능한 통신 인터페이스로 된다.
상기 시스템은 매우 다양하게 응용될 수 있다. 예를 들면, 상기 시스템은, 텔레비젼 회의 시스템에 응용될 수 있다. 예를 들면, USB(Universal Serial Bus) 접속이 가능한 간이 비디오 카메라 장치를 퍼스널 컴퓨터라는 컴퓨터 장치에 접속하는 동시에, 컴퓨터 장치 측에 비디오 신호 부호화부(610) 및 비디오 신호 복호부(624)를 장착한다. 컴퓨터 장치에 장착되는 비디오 신호 부호화부(610) 및 비디오 신호 복호부(624)는, 하드웨어로 구성해도 되고, 컴퓨터 장치 상에서 동작하는 소프트 웨어로서 실현할 수도 있다.
예를 들면, 회의에 참가하는 멤버 각각에, 컴퓨터 장치와 해당 컴퓨터 장치에 접속되는 비디오 카메라 장치가 준비되고, 컴퓨터 장치가, 예를 들면 텔레비전 회의 시스템의 서비스를 제공하는 서버 장치에, 유선 및/또는 무선에 의한 네트워크를 통하여 접속된다. 비디오 카메라 장치로부터 출력된 비디오 신호는, USB 케 이블을 통하여 컴퓨터 장치에 공급되고, 컴퓨터 장치 내의 비디오 신호 부호화부(610)에서, 본 발명에 관한 부호화 처리가 실행된다. 컴퓨터 장치는, 비디오 신호가 부호화된 부호화 스트림을, 네트워크를 통하여 서버 장치 등에 송신한다.
서버 장치는, 수신한 부호화 스트림을, 참가 멤버 각각의 컴퓨터 장치에 네트워크를 통하여 송신한다. 상기 부호화 스트림은, 참가 멤버 각각의 컴퓨터 장치에 수신되고, 컴퓨터 장치 내의 비디오 신호 복호부(624)에서 본 발명에 관한 복호 처리가 이루어진다. 비디오 신호 복호부(624)로부터 출력된 화상 데이터가, 컴퓨터 장치의 표시부에 영상으로서 표시된다.
즉, 각 참가 멤버의 컴퓨터 장치의 표시부에는, 다른 참가 멤버의 비디오 카메라 장치로 촬영된 각각의 영상이 표시되게 된다. 본 발명의 제8 실시예에 의하면, 비디오 카메라 장치에서의 촬영에 의한 비디오 신호의 부호화로부터, 다른 참가 멤버의 컴퓨터 장치로 복호될 때까지의 지연 시간이 짧고, 참가 멤버의 컴퓨터 장치의 표시부에 표시되는 다른 참가 멤버 각각의 영상의 위화감을 적게 할 수 있다.
또한, 비디오 신호 부호화부(610)를 비디오 카메라 장치 측에 장착할 수도 있다. 예를 들면, 비디오 카메라 장치에 송신 유닛(600)을 내장시킨다. 이와 같이 구성함으로써, 비디오 카메라 장치에 컴퓨터 장치 등의 다른 장치를 접속할 필요가 없어지게 된다.
이와 같은, 송신 유닛(600)이 내장된 비디오 카메라 장치와 수신 장치(601)로 이루어지는 시스템은, 전술한 텔레비전 회의 시스템 외에도, 다양한 응용이 고 려될 수 있다. 예를 들면, 도 39에 개략적으로 나타낸 바와 같이, 상기 시스템을 가정용 게임기기에 적용할 수 있다. 도 39에서, 비디오 카메라 장치(700)는, 본 발명의 제8 실시예에 의한 송신 유닛(600)이 내장된다.
가정용 게임기기의 본체(701)는, 예를 들면 CPU, RAM 및 ROM이나, CD-ROM(Compact Disc-Read Only Memory)이나 DVD-ROM(Digital Versatile Disc-ROM)에 대응한 디스크 드라이브 장치, CPU에 의해 생성된 표시 제어 신호를 비디오 신호로 변환해 출력하는 그래픽 제어부, 오디오 신호를 재생하는 오디오 재생부 등이, 예를 들면 버스에 접속되고, 컴퓨터 장치와 대략 동일한 구성으로 된다. 가정용 게임기기의 본체(701)는, ROM에 미리 기억된 프로그램이나, 디스크 드라이브 장치에 장전된 CD-ROM나 DVD-ROM에 기록된 프로그램에 따라, CPU에 의해 전체가 제어된다. RAM은 CPU의 워크 메모리(work memory)로서 사용된다. 상기 가정용 게임기기의 본체(701)에 대해서, 수신 장치(601)를 내장한다. 수신 장치(601)로부터 출력되는 디지털 비디오 신호나 그 외의 신호는, 예를 들면 버스를 통하여 CPU에 공급된다.
이와 같은 시스템에 있어서, 예를 들면, 가정용 게임기기의 본체에서, 외부로부터 공급된 디지털 비디오 신호에 의한 화상을, 게임 내의 화상으로서 사용할 수 있도록 된 게임 소프트 웨어가 기동되어 있는 것으로 한다. 예를 들면, 상기 게임 소프트 웨어는, 외부로부터 공급된 디지털 비디오 신호에 의한 화상을 게임 내의 화상으로서 사용할 수 있고 동시에, 해당 화상 내에서의 인물(플레이어) 등의 움직임을 식별하고, 식별된 움직임에 따른 동작을 행할 수 있게 되어 있다.
비디오 카메라 장치(700)는, 촬영된 디지털 비디오 신호를, 내장되는 송신 유닛(600)에서, 비디오 신호 부호화부(610)로 본 발명에 관한 부호화 방법으로 부호화하고, 부호화 스트림을 디지털 변조부(611)로 변조하여 무선 모듈부(612)에 공급하고, 안테나(613)로부터 송신한다. 송신된 전파는, 가정용 게임기기의 본체(701)에 내장되는 수신 장치(601)에서 안테나(620)로 수신되고, 수신 신호가 무선 모듈부(621) 및 프론트 엔드부(622)를 통하여 디지털 복조부(623)에 공급된다. 수신 신호는, 디지털 복조부(623)에서 복조된 부호화 스트림으로 되고, 비디오 신호 복호부(624)에 공급된다. 비디오 신호 복호부(624)에서는, 공급된 부호화 스트림을, 본 발명에 관한 복호 방법으로 복호하고, 베이스 밴드의 디지털 비디오 신호를 출력한다.
비디오 신호 복호부(624)로부터 출력된 베이스 밴드의 디지털 비디오 신호는, 가정용 게임기기의 본체(701)에서, 버스에 송출되고, 예를 들면 RAM에 일시적으로 기억된다. CPU는 소정의 프로그램에 따라, RAM에 기억된 디지털 비디오 신호를 판독함으로써, 상기 디지털 비디오 신호에 의한 화상 내의 인물의 움직임을 검출하거나, 해당 화상을 게임 내에서 사용할 수 있도록 된다.
비디오 카메라 장치(700)로 촬영되고, 얻어진 디지털 비디오 신호가 부호화되므로, 가정용 게임기기의 본체(701)에서 부호화 스트림이 복호되고 화상을 얻을 수 있을 때까지의 지연 시간이 짧기 때문에, 가정용 게임기기의 본체(701) 상에서 동작하는 게임 소프트 웨어에서의, 플레이어의 움직임에 대한 응답성이 양호하게 되고, 게임의 조작성을 향상시킬 수 있다.
그리고, 이와 같은, 가정용 게임기기와 함께 사용되는 비디오 카메라 장 치(700)는, 가격이나 크기 등의 관점에서 간단하고 쉬운 구성으로 되는 것이 많고, 컴퓨터 장치 등과 같이, 처리 능력의 높은 CPU나, 기억 용량의 큰 메모리를 장착할 수 없는 것이 상정된다.
즉, 일반적으로, 비디오 카메라 장치(700)는, 비디오 카메라 장치(700)를 이용하는 게임을 플레이하는 경우에만 필요하게 되는, 가정용 게임기기의 본체(701)의 주변기기이며, 가정용 게임기기의 본체(701)를 사용하여 게임을 플레이하는데 필요한 장치는 아니다. 그와 같은 경우, 비디오 카메라 장치(700)가 가정용 게임기기의 본체(701)와 별개 상품으로서 판매되는(이른바, 별매) 것이 많다. 그 경우에, 비디오 카메라 장치(700)에, 처리 능력이 높은 CPU나 기억 용량의 큰 메모리를 장착하고, 고액의 가격으로 판매하도록 하면, 일반적으로 판매수가 저감될 우려가 있다. 그 경우, 상기 비디오 카메라 장치(700)를 이용하는 게임의 판매수도 저감할 우려가 있어, 수익의 저하로 연결될 우려가 있다. 또, 특히, 가정용 게임에서는 보급율이 판매수에 대해서 강한 영향을 미치는 것도 많고, 비디오 카메라 장치(700)의 보급율이 낮으면, 판매수가 더욱 저감될 우려가 있다.
반대로, 비디오 카메라 장치(700)를 저가로 다수 판매해 보급율을 향상시킴으로써, 상기 비디오 카메라 장치(700)를 이용하는 가정용 게임의 판매수나 인기 도를 향상시킬 수 있고, 또한, 그것이 가정용 게임기기의 본체(701)의 새로운 구매동기로 연결되는 것을 기대할 수 있다. 그럼에도 불구하고, 비디오 카메라 장치(700)는 간단하고 쉬운 구성으로 하는 것이 바람직한 경우가 많다.
이 경우, 예를 들면, 비디오 카메라 장치(700)에 내장되는 송신 유닛(600)의 비디오 신호 부호화부(610)에서, 웨이브 렛 변환을 낮은 분해 레벨로 억제하여 행할 수 있다. 이와 같이 함으로써, 계수 정렬용 버퍼부에 사용하는 메모리 용량이 적어지게 된다.
또, 비디오 신호 부호화부(610)에, 제3 실시예에서 설명한, 도 30에 예시되는 화상 부호화 장치의 구성을 적용할 수 있다. 또한, 비디오 신호 부호화부(610)에, 도 33에 예시되는 화상 부호화 장치의 구성을 적용하면, 비디오 신호 부호화부(610) 측에서 웨이브 렛 변환 계수 데이터의 정렬 처리를 행할 필요가 없어지기 때문에, 비디오 카메라 장치(700) 측의 부담을 보다 줄일 수 있어, 바람직하다. 이 경우, 가정용 게임기기의 본체(701) 측에 내장되는 수신 장치(601)에서, 비디오 신호 복호부(624)로서, 도 34에 예시되는 화상 복호 장치를 사용할 필요가 있다.
그리고, 상기한 설명에서는, 비디오 카메라 장치(700)와 가정용 게임기기의 본체(701)는, 무선 통신으로 접속되도록 설명하였지만, 이것은 이 예에 한정되지 않는다. 즉, 비디오 카메라 장치(700)와 가정용 게임기기의 본체(701)는, USB나 IEEE 1394라는 인터페이스에 의해, 유선으로 접속되어도 된다.
상기와 같이, 본 발명의 부호화 방법(또는 복호 방법)은, 처리가 용이하며, 부하나 처리 시간이 적기 때문에, 다양한 형태에 적용될 수 있고, 용이하게 다양한 용도에 응용될 수 있는(즉, 범용성이 높음) 것도 큰 효과이다.
상기한 일련의 처리는, 하드웨어에 의해 실행시킬 수 있고, 소프트 웨어에 의해 실행시킬 수 있다. 일련의 처리를 소프트 웨어에 의해 실행시키는 경우에는, 상기 소프트 웨어를 구성하는 프로그램이, 전용의 하드웨어에 내장되어 있는 컴퓨 터, 또는, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행할 수 있는, 예를 들면 범용 퍼스널 컴퓨터, 또는, 복수개의 장치로 이루어지는 정보 처리 시스템의 정보 처리 장치 등에, 프로그램 기록 매체로부터 인스톨된다.
도 40은 상기에서 설명한 일련의 처리를 프로그램에 의해 실행하는 정보 처리 시스템의 구성의 예를 나타낸 블록도이다.
도 40에 나타낸 바와 같이, 정보 처리 시스템(800)은, 정보 처리 장치(801), 상기 정보 처리 장치(801)와 PCI 버스(802)에 의해 접속된, 기억 장치(803), 복수대의 비디오 테이프 레코더(VTR)인 VTR(804-1) 내지 VTR(804-S), 사용자가 이들에 대하는 조작 입력을 행하기 위한 마우스(805), 키보드(806), 및 조작 컨트롤러(807)로 구성되는 시스템이며, 인스톨된 프로그램에 의해, 상기한 바와 같은 화상 부호화 처리나 화상 복호 처리 등을 행하는 시스템이다.
예를 들면, 정보 처리 시스템(800)의 정보 처리 장치(801)는, RAID(Redundant Arrays of Independent Disks)로 이루어지는 대용량의 기억 장치(803)에 기억되어 있는 동영상 컨텐츠를 부호화해 얻어진 부호화 데이터를 기억 장치(803)에 기억시키거나, 기억 장치(803)에 기억되어 있는 부호화 데이터를 복호하여 얻어진 복호 화상 데이터(동영상 컨텐츠)를 기억 장치(803)에 기억시키거나, 부호화 데이터나 복호 화상 데이터를 VTR(804-1) 내지 VTR(804-S)를 통하여 비디오 테이프에 기록할 수 있다. 또, 정보 처리 장치(801)는, VTR(804-1) 내지 VTR(804-S)에 장착된 비디오 테이프에 기록된 동영상 컨텐츠를 기억 장치(803)에 입력할 수 있도록 되어 있다. 그 때, 정보 처리 장치(801)가, 동영상 컨텐츠를 부호화하도록 해도 된다.
정보 처리 장치(801)는, 마이크로 프로세서(901), GPU(Graphics Processing Unit)(902), XDR(Extreme Data Rate)-RAM(903), 사우스 브리지(904), HDD(905), USB 인터페이스(USB I/F)(906), 및 사운드 입출력 코덱(907)을 가지고 있다.
GPU(902)는 전용의 버스(911)를 통하여 마이크로 프로세서(901)에 접속된다. XDR-RAM(903)은 전용의 버스(912)를 통하여 마이크로 프로세서(901)에 접속된다. 사우스 브리지(904)는, 전용의 버스를 통하여 마이크로 프로세서(901)의 I/O 컨트롤러(944)에 접속된다. 상기 사우스 브리지(904)에는, HDD(905), USB 인터페이스(906), 및, 사운드 입출력 코덱(907)도 접속되어 있다. 상기 사운드 입출력 코덱(907)에는 스피커(921)가 접속되어 있다. 또, GPU(902)에는 디스플레이(922)가 접속되어 있다.
또, 사우스 브리지(904)에는, 또한, PCI 버스(802)를 통하여, 마우스(805), 키보드(806), VTR(804-1) 내지 VTR(804-S), 기억 장치(803), 및, 조작 컨트롤러(807)가 접속되어 있다.
마우스(805) 및 키보드(806)는, 사용자의 조작 입력을 받아, PCI 버스(802) 및 사우스 브리지(904)를 통하여, 사용자의 조작 입력의 내용을 나타내는 신호를, 마이크로 프로세서(901)에 공급한다. 기억 장치(803) 및 VTR(804-1) 내지 VTR(804-S)은 소정의 데이터를 기록 또는 재생할 수 있도록 되어 있다.
PCI 버스(802)에는 또한, 필요에 따라 드라이브(808)가 접속되고, 자기 디스크, 광디스크, 광자기 디스크, 또는 반도체 메모리 등의 리무버블 미디 어(removable media)(811)가 적당히 장착되고, 그것들로부터 판독된 컴퓨터 프로그램이, 필요에 따라 HDD(905)에 인스톨된다.
마이크로 프로세서(901)는, OS(Operating System) 등의 기본 프로그램을 실행하는 범용의 메인 CPU 코어(941)와, 메인 CPU 코어(941)에 내부 버스(945)를 통하여 접속된 복수개(이 경우, 8개)의 RISC(Reduced Instruction Set Computer) 타입의 신호 처리 프로세서인, 서브 CPU 코어(942-1) 내지 서브 CPU 코어(942-8)와, 예를 들면 256[MByte]의 용량을 가지는 XDR-RAM(903)에 대한 메모리 컨트롤을 행하는 메모리 컨트롤러(943)와, 사우스 브리지(904)와의 사이에서 데이터의 입출력을 관리하는 I/O(In/Out) 컨트롤러(944)가 1 칩(chip)에 집적된 멀티 코어 구성으로 이루어지고, 예를 들면 동작 주파수 4[GHz]를 실현하고 있다.
상기 마이크로 프로세서(901)는, 기동시, HDD(905)에 저장된 제어 프로그램에 근거해, HDD(905)에 저장되어 있는 필요한 어플리케이션 프로그램을 판독하여 XDR-RAM(903)에 전개하고, 이 후 상기 어플리케이션 프로그램 및 오퍼레이터 조작에 따라 필요한 제어 처리를 실행한다.
또, 마이크로 프로세서(901)는, 소프트 웨어를 실행함으로써, 예를 들면, 전술한 각 실시예의 화상 부호화 처리나 화상 복호 처리를 실현하고, 인코드의 결과 얻어진 부호화 스트림을, 사우스 브리지(904)를 통하여, HDD(905)에 공급하여 기억시키거나, 디코드한 결과 얻어지는 동화상 컨텐츠의 재생 영상을, GPU(902)에 데이타를 전송하여, 디스플레이(922)에 표시할 수 있다.
마이크로 프로세서(901) 내의 각 CPU 코어의 사용 방법은 임의이지만, 예를 들면, 메인 CPU 코어(941)가, 화상 부호화 처리나 화상 복호 처리의 제어에 관한 처리를 행하고, 8개의 서브 CPU 코어(942-1) 내지 서브 CPU 코어(942-8)에, 웨이브 렛 변환, 계수 정렬, 엔트로피 부호화, 엔트로피 복호, 웨이브 렛 역변환, 양자화, 및 역양자화 등의 각 처리를, 예를 들면 도 29를 참조하여 설명한 바와 같이 동시에 병렬적으로 실행시키도록 해도 된다. 그 때, 메인 CPU 코어(941)가, 8개의 서브 CPU 코어(942-1) 내지 서브 CPU 코어(942-8)의 각각에 대하여 라인 블록(프리신트)단위로 처리를 할당하도록 하면, 화상 부호화 처리나 화상 복호 처리가, 도 29를 참조하여 설명한 경우와 마찬가지로 라인 블록 단위로 동시에 병렬적으로 실행된다. 즉, 화상 부호화 처리나 화상 복호 처리의 효율을 향상시키고, 처리 전체의 지연 시간을 단축시키며, 또한, 부하, 처리 시간, 및, 처리에 필요한 메모리 용량을 저감시킬 수 있다. 물론, 이외의 방법으로 각 처리를 행하도록 해도 된다.
예를 들면, 마이크로 프로세서(901)의 8개의 서브 CPU 코어(942) 내지 서브 CPU 코어(942-8) 중 일부가 인코드 처리를, 다른 부분이 디코드 처리를, 동시 병렬적으로 실행하도록 할 수도 있다.
또, 예를 들면, PCI 버스(802)에, 독립된 인코더 또는 디코더, 또는, 코덱 처리 장치가 접속되어 있는 경우, 마이크로 프로세서(901)의 8개의 서브 CPU 코어(942) 내지 서브 CPU 코어(942-8)가, 사우스 브리지(904) 및 PCI 버스(802)를 통하여, 이들 장치가 실행하는 처리를 제어하도록 해도 된다. 또한, 이들 장치가 복수개 접속되어 있는 경우, 또는, 이들 장치가 복수개의 디코더 또는 인코더를 포함하고 있는 경우, 마이크로 프로세서(901)의 8개의 서브 CPU 코어(942) 내지 서브 CPU 코어(942-8)는, 복수개의 디코더 또는 인코더가 실행하는 처리를, 분담해 제어하도록 해도 된다.
이 때 메인 CPU 코어(941)는, 8개의 서브 CPU 코어(942) 내지 서브 CPU 코어(942-8)의 동작을 관리하고, 각 서브 CPU 코어에 대해서 처리를 할당하거나, 처리 결과를 인수한다. 또한, 메인 CPU 코어(941)는, 이들 서브 CPU 코어가 행하는 이외의 처리도 행한다. 예를 들면, 메인 CPU 코어(941)는, 사우스 브리지(904)를 통하여 마우스(805), 키보드(806), 또는, 조작 컨트롤러(807)로부터 공급된 명령을 받아들여, 명령에 따른 각종 처리를 실행한다.
GPU(902)는, 디스플레이(922)에 표시되는 동영상 컨텐츠의 재생 영상을 움직일 때의 텍스처(texture)의 잠복 등에 관한 최종적인 렌더링 처리에 더하여, 동영상 컨텐츠의 재생 영상 및 정지 화상 컨텐츠의 정지 화상을 디스플레이(922)에 한번에 복수개 표시할 때의 좌표 변환 계산 처리나, 동영상 컨텐츠의 재생 영상 및 정지 화상 컨텐츠의 정지 화상에 대한 확대·축소 처리 등을 행하는 기능을 맡아, 마이크로 프로세서(901)의 처리 부담을 경감시키도록 되어 있다.
GPU(902)는, 마이크로 프로세서(901)의 제어 하에서, 공급된 동영상 컨텐츠의 영상 데이터나 정지화상 컨텐츠의 화상 데이터에 대해서 소정의 신호 처리를 행하고, 그 결과 얻어진 영상 데이터나 화상 데이터를 디스플레이(922)에 송출하여, 화상 신호를 디스플레이(922)에 표시하게 한다.
그런데, 마이크로 프로세서(901)에서의 8개의 서브 CPU 코어(942) 내지 서브 CPU 코어(942-8)에서 동시에 병렬적으로 디코드된 복수개의 동영상 컨텐츠에서의 재생 영상은, 버스(911)를 통하여 GPU(902)에 데이타 전송되지만, 이 때의 전송 속도는, 예를 들면, 최대 30[Gbyte/sec]이며, 특수 효과가 행해진 복잡한 재생 영상 이라도 고속으로 원활하게 표시할 수 있도록 되어 있다.
한편, 마이크로 프로세서(901)는, 동영상 컨텐츠의 영상 데이터 및 음성 데이터 중 음성 데이터에 대해서 음성 믹싱 처리를 행하고, 그 결과 얻어진 편집 음성 데이터를, 사우스 브리지(904) 및 사운드 입출력 코덱(907)을 통하여, 스피커(921)에 송출함으로써, 음성 신호에 따른 음성을 스피커(921)로부터 출력시킬 수도 있다.
전술한 일련의 처리를 소프트 웨어에 의해 실행시키는 경우에는, 상기 소프트 웨어를 구성하는 프로그램이, 네트워크나 기록 매체로부터 인스톨 된다.
상기 기록 매체는, 예를 들면, 도 40에 나타낸 바와 같이, 장치 본체와는 별도로, 사용자에 프로그램을 분배하기 위해 배포되는, 프로그램이 기록되어 있는 자기 디스크(플렉시블 디스크를 포함함), 광디스크(CD-ROM, DVD를 포함함), 광자기 디스크(MD를 포함함), 또는 반도체 메모리 등으로 이루어지는 리무버블 미디어(811)에 의해 구성될 뿐만 아니라, 장치 본체에 미리 내장된 상태에서 사용자에 분배되는, 프로그램이 기록되어 있는 HDD(905)나 기억 장치(803) 등으로 구성된다. 물론, 기록 매체는, ROM이나 플래시 메모리 등의 반도체 메모리도 된다.
상기에서, 마이크로 프로세서(901) 내에 8개의 서브 CPU 코어가 구성되도록 설명하였지만, 이에 한정되지 않고, 서브 CPU 코어의 개수는 임의이다. 또, 마이크로 프로세서(901)가, 메인 CPU 코어와 서브 CPU 코어와 같은 복수개의 코어에 의 해 구성되어 있지 않아도 되고, 싱글 코어(1개의 코어)에 의해 구성되는 CPU를 사용하도록 해도 된다. 또, 마이크로 프로세서(901) 대신에 복수개의 CPU를 사용하도록 해도 되고, 복수개의 정보 처리 장치를 사용하도록(즉, 본 발명의 처리를 실행하는 프로그램을, 서로 제휴해 동작하는 복수개의 장치에서 실행하도록) 해도 된다.
그리고, 본 명세서에서, 기록 매체에 기록되는 프로그램을 기술하는 단계는, 기재된 순서에 따라 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않아도, 병렬적 또는 개별적으로 실행되는 처리도 포함되는 것이다.
또, 본 명세서에서, 시스템은 복수개의 디바이스(장치)에 의해 구성되는 장치 전체를 나타내는 것이다.
그리고, 상기에서, 하나의 장치로서 설명한 구성을 분할하고, 복수개의 장치로서 구성하도록 해도 된다. 반대로, 상기에서 복수개의 장치로서 설명한 구성을 함께 하나의 장치로서 구성하도록 해도 된다. 물론, 각 장치의 구성에 전술한 이외의 구성을 부가하도록 해도 된다. 또한, 시스템 전체적으로의 구성이나 동작이 실질적으로 동일하면, 어느 장치의 구성의 일부를 다른 장치의 구성에 포함하도록 해도 된다.
본 발명은 부호화 장치 및 방법, 복호 장치 및 방법, 및 전송 시스템에 이용될 수 있다.

Claims (25)

  1. 계수 데이터를 부호화하는 부호화 장치에 있어서,
    상기 계수 데이터의 각각에 의해 표시되는 수치 중, 절대값이 가장 큰 수치의 유효 자리수를 상기 계수 데이터의 최대 유효 자리수로서, 상기 최대 유효 자리수를 나타내는 부호를 생성하는 최대 유효 자리수 생성 수단,
    상기 계수 데이터에 의해 표시되는 수치의 절대값을 나타내는 부호를 생성하는 절대값 생성 수단, 및
    상기 계수 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타내는 부호를 생성하는 부호 생성 수단
    을 구비한 것을 특징으로 하는 부호화 장치.
  2. 제1항에 있어서,
    상기 최대 유효 자리수 생성 수단에 의해 생성된 최대 유효 자리수를 나타내는 부호, 상기 절대값 생성 수단에 의해 생성된 절대값을 나타내는 부호, 및 상기 부호 생성 수단에 의해 생성된 플러스 마이너스를 나타내는 부호를 연결하여, 부호화 데이터를 생성하는 부호 연결 수단을 추가로 구비한 것을 특징으로 하는 부호화 장치.
  3. 제1항에 있어서,
    상기 최대 유효 자리수 생성 수단은, 상기 최대 유효 자리수를 나타내는 부호로서, 최대 유효 자리수가 변화되었는지 여부를 나타내는 부호를 생성하는 것을 특징으로 하는 부호화 장치.
  4. 제3항에 있어서,
    상기 최대 유효 자리수 생성 수단은, 최대 유효 자리수가 변화된 경우, 상기 최대 유효 자리수를 나타내는 부호로서, 최대 유효 자리수가 증가되었는지 또는 감소되었는지를 나타내는 부호를 생성하는 것을 특징으로 하는 부호화 장치.
  5. 제4항에 있어서,
    상기 최대 유효 자리수 생성 수단은, 최대 유효 자리수의 변화량을 나타내는 부호를 생성하는 것을 특징으로 하는 부호화 장치.
  6. 제1항에 있어서,
    상기 최대 유효 자리수 생성 수단은, 연속하여 정렬된 상기 계수 데이터의 상기 최대 유효 자리수를 나타내는 부호를 생성하고, 상기 계수 데이터에 또한 연속하여 정렬된 상기 계수 데이터의 최대 유효 자리수를 나타내는 부호를 생성하는 처리를 반복하여 행하는 것을 특징으로 하는 부호화 장치.
  7. 제1항에 있어서,
    상기 절대값 생성 수단은, 상기 계수 데이터에 의해 표시되는 수치의 절대값을 나타내는 부호로서, 상기 계수 데이터가 표시하는 수치의 최하위의 자리부터 상기 최대 유효 자리까지의 값을 나타내는 부호를 생성하는 것을 특징으로 하는 부호화장치.
  8. 제1항에 있어서,
    상기 절대값 생성 수단은, 상기 계수 데이터에 의해 표시되는 수치의 절대값을 나타내는 부호를 병렬로 생성하는 것을 특징으로 하는 부호화 장치.
  9. 제1항에 있어서,
    상기 계수 데이터에 의해 표시되는 수치가 전부 0인지 여부를 나타내는 부호를 생성하는 제로(zero) 부호 생성 수단을 추가로 구비하고,
    상기 최대 유효 자리수 생성 수단은, 상기 제로 부호 생성 수단에 의해 생성된 0인지 여부를 나타내는 부호로 나타내는 값에 따라서, 상기 최대 유효 자리수를 나타내는 부호를 생성하는 것을 특징으로 하는 부호화 장치.
  10. 제9항에 있어서,
    상기 절대값 생성 수단은, 상기 최대 유효 자리수 생성 수단에 의해 생성되는 수치의 절대값을 나타내는 부호로 나타내는 값에 따라서, 수치의 절대값을 나타내는 부호를 생성하는 것을 특징으로 하는 부호화 장치.
  11. 제10항에 있어서,
    상기 부호 생성 수단은, 상기 절대값 생성 수단에 의해 생성된 수치의 절대값을 나타내는 부호로 나타내는 값에 따라서, 수치의 플러스 마이너스를 나타내는 부호를 생성하는 것을 특징으로 하는 부호화 장치.
  12. 제1항에 있어서,
    화상 데이터에 대하여 직교 변환을 행하여, 상기 계수 데이터를 생성하는 직교 변환 수단,
    상기 직교 변환 수단에 의해 생성된 계수 데이터를 기억하는 기억수단, 및
    상기 기억 수단에 의해 기억된 상기 계수 데이터를, 상기 계수 데이터에 대하여 역직교 변환을 행하는 순서로 미리 정렬하는 계수 정렬 수단
    을 추가로 구비한 것을 특징으로 하는 부호화장치.
  13. 제1항에 있어서,
    화상 데이터에 대하여, 적어도 최저역 성분의 서브밴드의 1라인분의 계수 데이터를 생성하는데 필요한 라인수분의 화상 데이터를 포함한 라인 블록마다 필터 처리를 행하고, 주파수 대역마다 분해된 상기 계수 데이터로 이루어지는 복수개의 서브 밴드를 생성하는 필터 수단,
    상기 필터 수단에 의해 생성된 계수 데이터를 라인 블록마다 기억하는 기억 수단, 및
    상기 기억 수단에 의해 기억된 상기 계수 데이터를, 라인 블록마다, 주파수대역으로 분해된 복수개의 서브밴드의 계수 데이터를 합성하여 화상 데이터를 생성하는 합성 처리를 실행하는 순서로 미리 정렬하는 계수 정렬 수단
    을 추가로 구비한 것을 특징으로 하는 부호화 장치.
  14. 제13항에 있어서,
    상기 계수 정렬 수단은, 상기 계수 데이터를 라인 블록마다, 저역 성분으로부터 고역 성분의 순서로 정렬하는 것을 특징으로 하는 부호화 장치.
  15. 계수 데이터를 부호화하는 부호화 방법에 있어서,
    상기 계수 데이터의 각각에 의해 표시되는 수치 중, 절대값이 가장 큰 수치의 유효 자리수를 상기 계수 데이터의 최대 유효 자리수로서, 상기 최대 유효 자리수를 나타내는 부호를 생성하는 단계,
    상기 계수 데이터에 의해 표시되는 수치의 절대값을 나타내는 부호를 생성하는 단계, 및
    상기 계수 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타내는 부호를 생성하는 단계
    를 포함하는 것을 특징으로 하는 부호화 방법.
  16. 부호화 데이터를 복호하여 계수 데이터를 생성하는 복호 장치에 있어서,
    상기 계수 데이터의 각각에 의해 표시되는 수치 중, 절대값이 가장 큰 수치의 유효 자리수를 상기 계수 데이터의 최대 유효 자리수로서, 상기 최대 유효 자리수를 나타내는 부호를 복호하여, 상기 최대 유효 자리수를 산출하는 최대 유효 자리수 산출 수단,
    상기 계수 데이터에 의해 표시되는 수치의 절대값을 나타내는 부호를 복호하여, 상기 계수 데이터에 의해 표시되는 수치의 절대값을 산출하는 절대값 산출 수단,
    상기 계수 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타내는 부호를 복호하여, 상기 계수 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타내는 데이터를 생성하는 부호 생성 수단, 및
    상기 최대 유효 자리수 산출 수단에 의해 산출된 최대 유효 자리수와, 상기 절대값 산출 수단에 의해 산출된 절대값과, 상기 부호 생성 수단에 의해 생성된 플러스 마이너스를 나타내는 데이터에 따라서, 부호화 데이터를 복호하여 계수 데이터를 생성하는 계수 데이터 생성 수단
    을 구비한 것을 특징으로 하는 복호 장치.
  17. 제16항에 있어서,
    상기 부호화 데이터를, 상기 최대 유효 자리수를 나타내는 부호와, 상기 절대값을 나타내는 부호와, 상기 플러스 마이너스를 나타내는 부호로 분리하는 부호 분리 수단을 추가로 구비한 것을 특징으로 하는 복호 장치.
  18. 제16항에 있어서,
    상기 최대 유효 자리수 산출 수단은, 상기 최대 유효 자리수를 나타내는 부호로서, 최대 유효 자리수가 변화되었는지 여부를 나타내는 부호를 복호하는 것을 특징으로 하는 복호 장치.
  19. 제18항에 있어서,
    상기 최대 유효 자리수 산출 수단은, 최대 유효 자리수가 변화된 경우, 상기 최대 유효 자리수를 나타내는 부호로서, 최대 유효 자리수가 증가되었는지 또는 감소되었는지를 나타내는 부호, 및 상기 최대 유효 자리수의 변화량을 나타내는 부호를 복호하고, 상기 복호의 결과에 기초하여 상기 최대 유효 자리수를 산출하는 것을 특징으로 하는 복호 장치.
  20. 제16항에 있어서,
    상기 최대 유효 자리수 산출 수단은, 연속하여 정렬된 상기 계수 데이터의 상기 최대 유효 자리수를 나타내는 부호를 복호하고, 상기 계수 데이터에 또한 연속하여 정렬된 상기 계수 데이터의 최대 유효 자리수를 나타내는 부호를 복호하는 처리를 반복해서 행하는 것을 특징으로 하는 복호 장치.
  21. 제16항에 있어서,
    상기 절대값 산출 수단은, 상기 계수 데이터에 의해 표시되는 수치의 절대값을 나타내는 부호를 병렬로 복호하는 것을 특징으로 하는 복호 장치.
  22. 제16항에 있어서,
    상기 부호화 데이터를 복호하여, 직교 변환함으로써 얻어진 상기 계수 데이터를 생성하는 복호 수단,
    상기 복호 수단에 의해 생성된 계수 데이터를 기억하는 기억 수단, 및
    상기 기억 수단에 의해 기억되어 있는 상기 계수 데이터를, 상기 계수 데이터에 대하여 역직교 변환을 행하는 순서로 정렬하는 계수 정렬 수단
    을 추가로 구비한 것을 특징으로 하는 복호 장치.
  23. 제16항에 있어서,
    상기 부호화 데이터를 복호하여, 복수개의 서브밴드에 포함되는 상기 계수 데이터를 생성하는 복호 수단,
    상기 복호 수단에 의해 생성된 계수 데이터를, 적어도 최저역 성분의 서브밴드의 1라인분의 계수 데이터를 생성하는데 필요한 라인수분의 화상 데이터를 포함한 라인 블록마다 기억하는 기억 수단, 및
    상기 기억 수단에 의해 기억되어 있는 상기 계수 데이터를, 라인 블록마다, 주파수 대역으로 분해된 복수개의 서브밴드의 계수 데이터를 합성하는 순서로 정렬 하는 계수 정렬 수단
    을 추가로 구비한 것을 특징으로 하는 복호 장치.
  24. 부호화 데이터를 복호하여 계수 데이터를 생성하는 복호 방법에 있어서,
    상기 계수 데이터의 각각에 의해 표시되는 수치 중, 절대값이 가장 큰 수치의 유효 자리수를 상기 계수 데이터의 최대 유효 자리수로서, 상기 최대 유효 자리수를 나타내는 부호를 복호하여, 상기 최대 유효 자리수를 산출하는 단계,
    상기 계수 데이터에 의해 표시되는 수치의 절대값을 나타내는 부호를 복호하여, 상기 계수 데이터에 의해 표시되는 수치의 절대값을 산출하는 단계,
    상기 계수 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타내는 부호를 복호하여, 상기 계수 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타내는 데이터를 생성하는 단계, 및
    산출된 최대 유효 자리수와, 산출된 절대값과, 생성된 플러스 마이너스를 나타내는 데이터에 따라서, 부호화 데이터를 복호하여 계수 데이터를 생성하는 단계
    를 포함하는 것을 특징으로 하는 복호 방법.
  25. 계수 데이터를 부호화하는 부호화 장치와, 상기 계수 데이터를 부호화하여 얻어진 부호화 데이터를 복호하는 복호 장치를 구비하고, 상기 부호화 장치 및 상기 복호 장치의 사이에서 상기 부호화 데이터를 전송하는 전송 시스템에서,
    상기 부호화 장치는,
    상기 계수 데이터의 각각에 의해 표시되는 수치 중, 절대값이 가장 큰 수치의 유효 자리수를 상기 계수 데이터의 최대 유효 자리수로서, 상기 최대 유효 자리수를 나타내는 부호를 생성하는 최대 유효 자리수 생성 수단,
    상기 계수 데이터에 의해 표시되는 수치의 절대값을 나타내는 부호를 생성하는 절대값 생성 수단,
    상기 계수 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타내는 부호를 생성하는 부호 생성 수단,
    상기 최대 유효 자리수 생성 수단에 의해 생성된 최대 유효 자리수를 나타내는 부호와, 상기 절대값 생성 수단에 의해 생성된 절대값을 나타내는 부호와, 상기 부호 생성 수단에 의해 생성된 플러스 마이너스를 나타내는 부호를 연결하여, 부호화 데이터를 생성하는 부호 연결 수단, 및
    상기 부호 연결 수단에 의해 생성된 부호화 데이터를 송신하는 송신 수단
    을 구비하고,
    상기 복호 장치는,
    상기 송신 수단에 의해 송신된 부호화 데이터를 수신하는 수신 수단,
    상기 수신 수단에 의해 수신된 부호화 데이터를, 상기 최대 유효 자리수를 나타내는 부호와, 상기 절대값을 나타내는 부호와, 상기 플러스 마이너스를 나타내는 부호로 분리하는 부호 분리 수단,
    상기 부호 분리 수단에 의해 분리된 상기 최대 유효 자리수를 나타내는 부호를 복호하여, 상기 최대 유효 자리수를 산출하는 최대 유효 자리수 산출 수단,
    상기 부호 분리 수단에 의해 분리된 상기 절대값을 나타내는 부호를 복호하여, 상기 계수 데이터에 의해 표시되는 수치의 절대값을 산출하는 절대값 산출 수단,
    상기 부호 분리 수단에 의해 분리된 상기 플러스 마이너스를 복호하여, 상기 계수 데이터에 의해 표시되는 수치의 플러스 마이너스를 나타내는 데이터를 생성하는 부호 생성 수단, 및
    상기 최대 유효 자리수 산출 수단에 의해 산출된 최대 유효 자리수와, 상기 절대값 산출 수단에 의해 산출된 절대값과, 상기 부호 생성 수단에 의해 생성된 플러스 마이너스를 나타내는 데이터에 따라서, 부호화 데이터를 복호하여 계수 데이터를 생성하는 계수 데이터 생성 수단
    을 구비한 것을 특징으로 하는 전송 시스템.
KR20077018759A 2005-11-18 2006-11-17 부호화 장치 및 방법, 복호 장치 및 방법, 및, 전송 시스템 KR101320534B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00334243 2005-11-18
JP2005334243 2005-11-18
JPJP-P-2006-00007256 2006-01-16
JP2006007256 2006-01-16
PCT/JP2006/322953 WO2007058296A1 (ja) 2005-11-18 2006-11-17 符号化装置および方法、復号装置および方法、並びに、伝送システム

Publications (2)

Publication Number Publication Date
KR20080071482A true KR20080071482A (ko) 2008-08-04
KR101320534B1 KR101320534B1 (ko) 2013-10-22

Family

ID=38048678

Family Applications (2)

Application Number Title Priority Date Filing Date
KR20077018759A KR101320534B1 (ko) 2005-11-18 2006-11-17 부호화 장치 및 방법, 복호 장치 및 방법, 및, 전송 시스템
KR1020077016423A KR101377021B1 (ko) 2005-11-18 2006-11-17 부호화 장치 및 방법, 복호 장치 및 방법, 및 전송 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020077016423A KR101377021B1 (ko) 2005-11-18 2006-11-17 부호화 장치 및 방법, 복호 장치 및 방법, 및 전송 시스템

Country Status (8)

Country Link
US (2) US7701365B2 (ko)
EP (2) EP1838081A4 (ko)
JP (2) JP4900720B2 (ko)
KR (2) KR101320534B1 (ko)
BR (2) BRPI0607204B1 (ko)
RU (1) RU2339997C1 (ko)
TW (2) TW200727598A (ko)
WO (2) WO2007058296A1 (ko)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7966309B2 (en) * 2007-01-17 2011-06-21 Google Inc. Providing relevance-ordered categories of information
TW200833115A (en) * 2007-01-30 2008-08-01 Beyond Innovation Tech Co Ltd Apparatus and method for compressing data
JP4254867B2 (ja) * 2007-01-31 2009-04-15 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
WO2008143157A1 (ja) 2007-05-17 2008-11-27 Sony Corporation 情報処理装置および方法
KR101442273B1 (ko) 2007-05-17 2014-09-23 소니 주식회사 정보 처리 장치 및 방법
JP4793320B2 (ja) * 2007-05-17 2011-10-12 ソニー株式会社 情報処理装置および方法
US7894452B2 (en) * 2007-06-13 2011-02-22 Intel Corporation Method and apparatus for the creation of TCP segments by simultaneous use of computing device components
US8331444B2 (en) * 2007-06-26 2012-12-11 Qualcomm Incorporated Sub-band scanning techniques for entropy coding of sub-bands
KR101442836B1 (ko) * 2008-01-07 2014-11-04 삼성전자주식회사 가시광 통신을 이용한 영상 부가정보 제공방법 및 장치
JP5359302B2 (ja) * 2008-03-18 2013-12-04 ソニー株式会社 情報処理装置および方法、並びにプログラム
TWI349487B (en) * 2008-03-25 2011-09-21 Novatek Microelectronics Corp Entropy encoding circuit and encoding method thereof
US8923385B2 (en) * 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
TWI376959B (en) * 2008-05-02 2012-11-11 Novatek Microelectronics Corp Entropy decoding circuit, entropy decoding method, and entropy decoding method using a pipeline manner
BRPI0910787B1 (pt) * 2008-07-11 2019-12-03 Fraunhofer Ges Forschung método para codificar um símbolo, método para decodificar um símbolo, método para transmitir um símbolo de um transmissor a um receptor, codificador, decodificador e sistema para transmitir um símbolo de um transmissor a um receptor
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
JP4670947B2 (ja) * 2008-12-05 2011-04-13 ソニー株式会社 情報処理装置および方法
JP4626707B2 (ja) * 2008-12-08 2011-02-09 ソニー株式会社 情報処理装置および方法
KR101029108B1 (ko) * 2008-12-11 2011-04-15 충북대학교 산학협력단 생체신호관리시스템에서의 심전도 데이터 압축 및 압축 해제 방법
JP4883076B2 (ja) * 2008-12-12 2012-02-22 ソニー株式会社 情報処理装置および方法
JP4760902B2 (ja) * 2008-12-17 2011-08-31 ソニー株式会社 情報処理装置および方法
JP2010239288A (ja) * 2009-03-30 2010-10-21 Sony Corp 情報処理装置および方法
CN101609680B (zh) 2009-06-01 2012-01-04 华为技术有限公司 压缩编码和解码的方法、编码器和解码器以及编码装置
CN105872541B (zh) * 2009-06-19 2019-05-14 三菱电机株式会社 图像编码装置、图像编码方法及图像解码装置
JP5263621B2 (ja) * 2009-09-24 2013-08-14 ソニー株式会社 画像処理装置および方法
SG172459A1 (en) * 2009-12-01 2011-08-29 Intel Corp Compression using range coding with virtual sliding window
US9075560B2 (en) * 2009-12-10 2015-07-07 Microsoft Technology Licensing, Llc Real-time compression with GPU/CPU
JP5707412B2 (ja) 2010-09-29 2015-04-30 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路
MX2013001774A (es) 2010-09-30 2013-03-18 Panasonic Corp Metodo de decodificacion de imagen, metodo de codificacion de imagen, aparato de decodificacion de imagen, aparato codificacion de imagen, programa, y circuito integrado.
CN102118289B (zh) * 2010-12-02 2013-04-17 西北工业大学 Ieee1394接口的实时图像分割处理系统与高速智能统一总线接口方法
JP5850214B2 (ja) * 2011-01-11 2016-02-03 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
TWI652941B (zh) * 2011-11-03 2019-03-01 太陽專利信託 用於解區塊之有效修整技術(二)
JP2013121032A (ja) 2011-12-07 2013-06-17 Sony Corp 画像処理装置および方法
JP5966345B2 (ja) * 2011-12-21 2016-08-10 ソニー株式会社 画像処理装置および方法
JP5966346B2 (ja) * 2011-12-21 2016-08-10 ソニー株式会社 画像処理装置および方法
JP5966347B2 (ja) * 2011-12-21 2016-08-10 ソニー株式会社 画像処理装置および方法
WO2013128526A1 (ja) * 2012-02-28 2013-09-06 パナソニック株式会社 画像処理装置、及び、画像処理方法
JP5950157B2 (ja) * 2012-05-18 2016-07-13 ソニー株式会社 画像処理装置および方法、並びに、プログラム
US9532051B2 (en) * 2012-10-05 2016-12-27 Futurewei Technologies, Inc. Architecture for hybrid video codec
US20140294314A1 (en) * 2013-04-02 2014-10-02 Samsung Display Co., Ltd. Hierarchical image and video codec
US9716888B2 (en) * 2014-03-26 2017-07-25 Vixs Systems, Inc. Video processing with static and dynamic regions and method for use therewith
JP2015195526A (ja) 2014-03-31 2015-11-05 ソニー株式会社 画像処理装置、および画像処理方法
US9542955B2 (en) * 2014-03-31 2017-01-10 Qualcomm Incorporated High-band signal coding using multiple sub-bands
EP3211887B1 (en) * 2014-11-13 2020-07-01 Samsung Electronics Co., Ltd. Method and device for generating metadata including frequency characteristic information of image
JP6613618B2 (ja) * 2015-05-20 2019-12-04 株式会社ソシオネクスト 画像処理装置および画像処理方法
CN105120293B (zh) * 2015-08-26 2018-07-06 中国航空工业集团公司洛阳电光设备研究所 基于cpu和gpu的图像协同解码方法及装置
JP6420505B2 (ja) * 2016-02-10 2018-11-07 株式会社日立国際電気 映像信号伝送装置
CN106547829A (zh) * 2016-10-10 2017-03-29 福建省够兄弟科技有限公司 一种体育运动数据的处理方法与系统
US11044495B1 (en) * 2018-02-13 2021-06-22 Cyborg Inc. Systems and methods for variable length codeword based data encoding and decoding using dynamic memory allocation
US10491240B1 (en) 2019-01-17 2019-11-26 Cyborg Inc. Systems and methods for variable length codeword based, hybrid data encoding and decoding using dynamic memory allocation

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2295936B (en) * 1994-12-05 1997-02-05 Microsoft Corp Progressive image transmission using discrete wavelet transforms
JP3213222B2 (ja) 1995-11-02 2001-10-02 株式会社リコー 符号化方法
US5923785A (en) * 1997-03-31 1999-07-13 Interated Systems, Inc. System and method for compressing data
JP3213582B2 (ja) * 1997-05-29 2001-10-02 シャープ株式会社 画像符号化装置及び画像復号装置
JP3614361B2 (ja) * 1997-09-19 2005-01-26 シャープ株式会社 画像復号装置
US6707948B1 (en) * 1997-11-17 2004-03-16 The Regents Of The University Of California Image compression for memory-constrained decoders
JP4420415B2 (ja) * 1998-07-03 2010-02-24 キヤノン株式会社 符号化方法及び符号化装置
JP2000059781A (ja) 1998-08-07 2000-02-25 Ricoh Co Ltd ウェーブレット変換装置
US6563953B2 (en) 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
JP2000184204A (ja) 1998-12-11 2000-06-30 Canon Inc 画像処理装置及び方法及び記憶媒体
CN1197253C (zh) * 1999-04-15 2005-04-13 株式会社理光 数据高速压缩伸展方法及其装置
US7369161B2 (en) * 1999-06-08 2008-05-06 Lightsurf Technologies, Inc. Digital camera device providing improved methodology for rapidly taking successive pictures
JP4097108B2 (ja) 1999-07-06 2008-06-11 株式会社リコー ウェーブレット変換装置及び符号化復号化装置
US6370197B1 (en) * 1999-07-23 2002-04-09 Memorylink Corporation Video compression scheme using wavelets
JP3710342B2 (ja) * 1999-09-07 2005-10-26 キヤノン株式会社 ディジタル信号処理装置および方法および記憶媒体
EP1655969A2 (en) * 2000-09-19 2006-05-10 Matsushita Electric Industrial Co., Ltd. Image signal transmitter
JP2003204439A (ja) * 2002-01-08 2003-07-18 Canon Inc 画像符号化装置及び画像符号化方法
JP3700670B2 (ja) 2002-03-28 2005-09-28 ソニー株式会社 ビットプレーン符号化装置
KR100477649B1 (ko) * 2002-06-05 2005-03-23 삼성전자주식회사 다양한 프레임 사이즈를 지원하는 정수 코딩 방법 및 그를적용한 코덱 장치
JP4449400B2 (ja) 2002-10-25 2010-04-14 ソニー株式会社 画像符号化装置及び方法、並びにプログラム及び記録媒体
JP2005109776A (ja) * 2003-09-30 2005-04-21 Sony Corp 符号化装置及び復号装置
JP4097586B2 (ja) * 2003-10-03 2008-06-11 三洋電機株式会社 データ処理装置
JP4196813B2 (ja) * 2003-11-20 2008-12-17 ソニー株式会社 画像符号化装置及び方法、並びに画像復号装置及び方法
US7817869B2 (en) * 2004-05-07 2010-10-19 Sony Corporation Variable support robust transform for multiple description coding
JP4527474B2 (ja) * 2004-08-27 2010-08-18 パナソニック株式会社 可変長符号化装置、撮像装置

Also Published As

Publication number Publication date
WO2007058296B1 (ja) 2007-08-02
WO2007058294A1 (ja) 2007-05-24
TWI341658B (ko) 2011-05-01
JP4888729B2 (ja) 2012-02-29
US20090102686A1 (en) 2009-04-23
TW200746655A (en) 2007-12-16
TW200727598A (en) 2007-07-16
EP1901544A1 (en) 2008-03-19
WO2007058294B1 (ja) 2007-07-19
EP1901544B1 (en) 2018-09-26
US7701365B2 (en) 2010-04-20
KR101320534B1 (ko) 2013-10-22
JP4900720B2 (ja) 2012-03-21
US8320693B2 (en) 2012-11-27
EP1838081A4 (en) 2011-03-30
JPWO2007058294A1 (ja) 2009-05-07
TWI336570B (ko) 2011-01-21
EP1838081A1 (en) 2007-09-26
EP1901544A4 (en) 2011-03-30
WO2007058296A1 (ja) 2007-05-24
KR20080069903A (ko) 2008-07-29
RU2339997C1 (ru) 2008-11-27
BRPI0607204A2 (pt) 2010-02-09
BRPI0606733A2 (pt) 2010-02-09
KR101377021B1 (ko) 2014-03-26
US20090274378A1 (en) 2009-11-05
BRPI0607204B1 (pt) 2019-04-09
JPWO2007058296A1 (ja) 2009-05-07

Similar Documents

Publication Publication Date Title
KR101320534B1 (ko) 부호화 장치 및 방법, 복호 장치 및 방법, 및, 전송 시스템
US8665943B2 (en) Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program
US8254707B2 (en) Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program in interlace scanning
EP1954058B1 (en) Information processing
CN101120584B (zh) 编码装置和方法、解码装置和方法、以及传输系统
US8432967B2 (en) Information processing apparatus and method for encoding image data to generate encoded data
US8000548B2 (en) Wavelet transformation device and method, wavelet inverse transformation device and method, program, and recording medium for performing wavelet transformation at a plurality of division levels
JP2008187571A (ja) 情報処理装置および方法、並びにプログラム
JP2008187572A (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: 20161007

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171011

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181005

Year of fee payment: 6