KR20100042666A - 복호화 방법 및 복호화 장치 - Google Patents
복호화 방법 및 복호화 장치 Download PDFInfo
- Publication number
- KR20100042666A KR20100042666A KR1020107007955A KR20107007955A KR20100042666A KR 20100042666 A KR20100042666 A KR 20100042666A KR 1020107007955 A KR1020107007955 A KR 1020107007955A KR 20107007955 A KR20107007955 A KR 20107007955A KR 20100042666 A KR20100042666 A KR 20100042666A
- Authority
- KR
- South Korea
- Prior art keywords
- run
- code
- value
- variable length
- code table
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/14—Digital recording or reproducing using self-clocking codes
- G11B20/1403—Digital recording or reproducing using self-clocking codes characterised by the use of two levels
- G11B20/1423—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
- G11B20/1426—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/04—Conversion to or from representation by pulses the pulses having two levels
- H03M5/14—Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
- H03M5/145—Conversion to or from block codes or representations thereof
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/162—User input
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/69—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving reversible variable length codes [RVLC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/93—Run-length coding
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
Abstract
본 발명에 따르면, 이미지 부호화 장치는, 연속하는 영 계수의 수를 나타내는 런 값 Run과 영 계수에 후속하는 비영 계수의 값을 나타내는 레벨 값 Lev를 이용함으로써 이미지 신호의 주파수 성분을 양자화하여 얻어지는 양자화된 계수에, 가변 길이 부호화 처리를 실시하는 런 길이 부호화 유닛 RLE1을 제공한다. 런 길이 부호화 유닛 RLE1은, 레벨 값 Lev을 재배열하는 재배열 유닛 Lreodr과, 양자화 파라미터 QP의 값에 따라 선택되는 코드 테이블을 이용하여 재배열된 레벨 값 RoLev를 부호화하는 가변 길이 부호화기 LVLC와, 양자화된 계수의 고주파 성분으로부터 저주파 성분까지의 런 값 Run을 재배열하는 재배열 유닛 Rreodr와, 이미 처리된 런 값의 수에 따라 선택되는 코드 테이블을 이용하여 재배열된 런 값 RORun을 부호화하는 가변 길이 부호화기 RVLC를 포함한다. 따라서, 양자화된 계수의 가변 길이 부호화 처리는, 보다 높은 부호화 효율로 처리되어, 계수에 포함되는 리던던트(redundant) 정보가 효과적으로 저감된다.
Description
본 발명은 가변 길이 부호화 방법 및 가변 길이 복호화 방법에 관한 것으로서, 보다 구체적으로는, 가변 길이 부호화 처리에 따라 이미지 데이터의 주파수 성분을 양자화함으로써 얻어지는 복수의 계수(양자화 계수)를 부호화된 데이터로 변환하는 방법, 및 가변 길이 복호화 처리에 따라 부호화된 데이터를 복호화하여 복수의 계수를 재구성하는 방법에 관한 것이다.
최근, 오디오, 비디오 및 다른 데이터가 통합적으로 다루어지는 멀티미디어 시대를 맞이하고 있으며, 신문, 잡지, 텔레비전, 라디오 및 전화와 같은 통상적인 정보 매체(즉, 정보를 사람에게 전송하는 수단)가, 멀티미디어의 주제로서 채택되고 있다. 통상적으로, "멀티미디어"란, 캐릭터(characters) 뿐만 아니라, 다이어그램(diagrams), 스피치(speeches), 및, 특히, 서로 간에 동시적으로 관련하는 이미지(images)를 나타내는 것을 의미한다. 멀티미디어의 주제로서 통상적인 정보 매체를 다루기 위해서는, 정보를 디지털 포맷으로 변환하는 것이 필수적이다.
상술한 각 정보 매체에 의한 데이터 처리의 양이 디지털 데이터량으로서 평가된다고 할 때, 캐릭터의 경우, 각 캐릭터에 대한 데이터량은 1-2 바이트이다. 그러나, 스피치의 경우, 데이터 양은 초 당 64 킬로비트(원거리 통신용의 품질)이며, 동영상의 경우, 초 당 100 메가비트(현재의 텔레비전 방송용의 품질)이다. 그래서, 전술한 정보 매체의 경우, 디지털 포맷으로 데이터를 다루는 것과 같이, 이러한 대량의 데이터를 다루는 것은 실용적이지 않다. 예를 들어, 화상 전화는 64kbps 내지 1.5 Mbps의 전송률을 갖는 ISDN(통합 서비스 디지털 네트워크)에 의해 이미 실용화되었으나, ISDN에 의해 행해지는 것과 같이 다량의 데이터를 갖는 화상 카메라의 출력 이미지를 전송하는 것은 불가능하다.
따라서, 데이터 압축 기술이 요구된다. 예를 들어, 화상 전화의 경우, ITU-T(International Telecommunication Union-Telecommunication Sector)에 의해 H.261 및 H.263과 같은 동영상 압축 기술 표준안이 채용되고 있다. 또한, MPEG-1에 근거하는 데이터 압축 기술에 따르면, 통상적인 음악 CD에, 오디오 데이터와 함께, 이미지 데이터를 기록하는 것이 가능하다.
여기서, MPEG(Moving Picture Experts Group)은, 동영상의 이미지 신호에 대한 디지털 압축과 연관된 국제 표준안이다. MPEG-1에서, 동영상의 이미지 신호는 1.5Mbps로 압축되는데, 즉, 텔레비전 신호의 데이터는 약 1/100로 압축된다. MPEG-1에 관한 전송률은 약 1.5Mbps로 주로 제한되고, MPEG-2는 보다 높은 이미지 품질에 대한 요구를 충족하도록 표준화되어 있다. MPEG-2에서, 동영상의 이미지 신호는 2-15Mbps로 압축된다.
현재의 환경 하에서, 보다 높은 압축률을 갖는 MPEG-4의 표준안은 MPEG-1 및 MPEG-2의 표준안을 위한 작업 그룹(ISO/IEC JTC1/SC29/WG11)에 의해 실현되었다. MPEG-4는 저 비트 레이트에서 높은 효율로 부호화를 가능하게 할 뿐만 아니라, 전송 라인에 에러가 발생한 경우에도 이미지 품질의 저하를 저감할 수 있는 강한 에러 내성이 있는 기술의 도입을 또한 실현한다. 또한, ITU-T는 차세대의 이미지 부호화 방법으로서 H.26L의 개발 중인 표준안이며, 이 시점에서 가장 최근의 부호화 방법은 "Test Model 8"(TML8)이라 불리우는 방법이다.
도 30은 통상적인 이미지 부호화 장치를 도시하는 블록도이다.
이 이미지 부호화 장치(201a)는 입력된 이미지 신호 Vin을 단위 영역(블록)으로 블록킹(blocking)하고, 각각이 사전 결정된 수의 화소를 구비하여 블록킹된 이미지 신호 Blks를 출력하는 블록킹 유닛 Blk와, 출력 Blks에 주파수 변환을 실시하여 제각각의 블록에 대응하는 주파수 성분 TransS를 출력하는 주파수 변환 유닛 Trans를 갖는다. 여기서, 블록은 이미지 신호의 부호화 처리의 단위로서, 픽쳐(이미지 공간) 내의 사전결정된 사이즈의 영역이고, 사전 결정된 수의 화소로 이루어진다. 여기서, 이미지 신호 Vin은 복수의 픽쳐로 이루어지는 동영상에 대응한다.
이미지 부호화 장치(201a)는 주파수 변환 유닛으로부터의 출력(주파수 성분) TransS를 양자화하여 제각각의 블록에 대응하는 양자화된 성분(양자화 계수) QS로 출력하는 양자화 유닛 Q와, 양자화 유닛으로부터의 출력(양자화된 성분) QS에 가변 길이 부호화 처리를 실시하는 부호화 유닛 RLE0a를 더 포함한다.
여기서, 그 동작을 설명한다.
이미지 신호 Vin이 이미지 부호화 장치(201a)에 입력되는 경우, 블록킹 유닛 Blk는 입력된 이미지 신호 Vin을 블록 단위에 대응하는 이미지 신호로 분할하여, 각 블록에 대응하는 이미지 신호(블록킹된 이미지 신호) Blks를 생성한다. 주파수 변환 유닛 Trans는 DCT(이산 코사인 변환) 또는 웨이블렛(Wavelet) 변환에 따라, 블록킹된 이미지 신호 Blks를 주파수 성분 TransS로 변환한다. 양자화 유닛 Q는 양자화 파라미터 QP를 출력할 뿐만 아니라, 양자화 파라미터 QP에 근거하여 사전 결정된 양자화 스텝으로 주파수 성분 TransS를 양자화하여 양자화된 성분 QS를 출력한다. 그 다음에, 부호화 유닛 RLE0a는 양자화된 성분 QS에 가변 길이 부호화 처리를 실시하여, 부호화된 스트림 Str0a를 출력한다.
도 31은 이미지 부호화 장치(201a)를 구성하는 부호화 유닛 RLE0a를 설명하는 블록도이다.
이 부호화 유닛 RLE0a는 2 차원 어레이의 양자화 유닛 Q의 출력(양자화된 계수) QS를 1 차원 어레이(즉, 사전 결정된 순서)의 양자화된 성분 Coef로 변환하는 지그재그 스캐너 Scan과, 지그재그 스캐너 Scan으로부터 출력되는 양자화된 성분 Coef에 가변 길이 부호화 처리를 실시하는 가변 길이 부호화기 VLC를 갖는다.
양자화 유닛 Q로부터 출력되는 양자화된 성분 QS가 부호화 유닛 RLE0a에 입력되는 경우, 지그재그 스캐너 Scan은 양자화 유닛 Q로부터의 2 차원 어레이의 양자화된 성분 QS를 1 차원 어레이(사전 결정된 순서)의 양자화된 성분 Coef로 변환하여, 양자화된 성분을 출력한다.
도 43은 지그재그 스캐너 Scan에 의해 양자화된 성분 QS를 변환하는 처리를 구체적으로 설명하는 도면이다.
도 43에 도시한 바와 같이, 양자화 유닛 Q로부터 출력되는 양자화된 성분 QS는 2 차원 어레이, 즉, 수평 주파수 성분의 높이 및 수직 주파수 성분의 높이에 따른 2 차원 주파수 영역 Fr상에 매트릭스 형태로 양자화된 성분 QS가 배치되는 어레이를 갖는다.
지그재그 스캐너 Scan은 화살표 Y1 내지 Y7로 도시한 바와 같이, 지그재그 방식으로 2 차원 어레이의 양자화된 성분 QS를 스캐닝하는 처리를 수행하여, 이 성분을 1 차원 어레이의 양자화 성분 Coef로 변환한다. 즉, 이러한 스캔 처리 시에, 2 차원 어레이의 복수의 양자화된 성분 QS에 대해 스캐닝 코스에 따른 사전 결정된 순서가 세트된다.
그리고 나서, 가변 길이 부호화기 VLC는 지그재그 스캐너 Scan으로부터 출력되는 양자화된 성분 Coef에 코드를 할당하며, 양자화된 성분의 사이즈를 나타내는 수치와 코드(코드 워드) 간의 상관을 나타내는 코드 테이블을 이용하여, 양자화된 성분을 각 블록에 대응하는 부호화된 스트림 Str0a로 변환한다.
도 31은 도 30에 도시한 바와 같이, 이미지 부호화 장치(201a)에 대응하는 이미지 복호화 장치(202a)를 설명하는 블록도이다.
이 이미지 복호화 장치(202a)는 도 30에 도시한 바와 같이 통상적인 이미지 부호화 장치(201a)로부터 출력되는 부호화된 스트림 Str0a를 복호화한다.
이미지 복호화 장치(202a)는 이미지 부호화 장치(201a)로부터 출력되는 부호화된 스트림 Str0a를 복호화하는 복호화 유닛 RLD0a와, 복호화 유닛 RLD0a으로부터의 출력(복호화된 양자화 성분) DQS에 역양자화 처리를 실시하는 역양자화 유닛 IQ를 갖는다.
이미지 복호화 장치(202a)는 역양자화 유닛 IQ로부터의 출력(복호화된 주파수 성분) ITransS에 역주파수 변환 처리를 실시하는 역주파수 변환 유닛 ITrans와, 역주파수 변환 유닛 ITrans로부터의 출력(복호화된 블록킹 이미지 신호) DBlks에 근거하여 각 픽쳐에 대응하는 복호화된 이미지 신호 Vout를 생성하는 디블록킹 유닛(deblocking unit) Deblk를 더 포함한다.
여기서, 그 동작을 설명한다.
부호화된 스트림 Str0a가 이미지 부호화 장치(201a)로부터 이미지 복호화 장치(202a)로 입력되는 경우, 복호화 유닛 RLD0a는 부호화된 스트림 Str0a를 복호화하고 복호화된 양자화 성분 DQS를 출력한다. 복호화 유닛 RLD0a의 동작은 부호화 유닛 RLE0a의 동작과 반대이다.
역양자화 유닛 IQ는 양자화 유닛 Q의 동작의 역동작, 즉, 양자화 파라미터 QP를 참조하여 복호화된 양자화 성분 DQS를 역양자화하는 동작을 수행하여, 복호화된 주파수 성분 ITransS를 출력한다. 역주파수 변환 유닛 ITans는 주파수 변환 유닛 Trans의 역동작, 즉, 복호화된 주파수 성분 ITransS에 역DCT 또는 역웨이블렛 변환을 실시하여, 제각각의 블록에 대응하는 복호화된 이미지 신호 DBiks를 재구성하는 동작을 수행한다. 그리고 나서, 디블록킹 유닛 DeBlk는 제각각의 블록의 복호화된 이미지 신호 DBlks를 통합하여 각 픽쳐(프레임)에 대응하는 복호화된 이미지 신호 Vout를 출력한다.
도 31은 이미지 복호화 장치(202a)를 구성하는 복호화 유닛 RLD0a를 설명하는 블록도이다.
복호화 유닛 RLD0a는 부호화된 스트림 Str0a에 가변 길이 복호화 처리를 실시하여 부호화된 스트림 Str0a에 포함되는 각 코드에 대응하는 양자화된 성분 Coef를 복호화하는 가변 길이 복호화기 VLD와, 가변 길이 복호화기 VLD로부터 출력되는 1 차원 어레이의 복호화된 양자화 성분 Coef로부터 2 차원 어레이의 양자화된 성분 DQS를 재구성하는 역지그재그 스캐너 IScan을 갖는다.
이러한 복호화 유닛 RLD0a에서, 가변 길이 복호화기 VLD는 가변 길이 부호화기 VLC에 대한 역동작에 따라, 부호화된 스트림 Str0a를 복호화하여, 코드(코드 워드)에 대응하는 양자화된 성분 Coef를 출력한다. 그리고 나서, 역지그재그 스캐너 IScan은 지그재그 스캐너 Scan에 대한 역동작을 수행하여, 가변 길이 복호화기 VLD로부터 출력되는 1 차원 어레이의 양자화된 성분 Coef로부터 2 차원 어레이의 복호화된 양자화 성분 DQS를 재구성하여, 복호화된 양자화 성분 DQS를 역양자화 유닛 IQ에 출력한다.
일본 특허 공개 평성 제 6-311534 호는 이미지 신호가 휘도 신호 및 색차 신호로 분할되고 그 얻어진 신호에 가변 길이 부호화 처리를 실시하는 방법을 개시한다.
사전 결정된 순서가 세트된 제각각의 블록에 대응하는 복수의 양자화된 성분은, 높은 리던던시를 포함하는 데이터, 즉, 그 값이 비영(non-zero)인 계수(비영 계수) 이후에 그 값이 영인 계수(영 계수)가 계속되는 데이터이다. 이러한 양자화된 성분을 부호화하기 위해, 양자화된 성분이 부호화되어 그 리던던트 정보가 제거되는 방법, 예를 들면, 연속하는 영 계수의 수를 나타내는 런 값 및 영 계수에 후속하는 비영 계수의 값을 나타내는 레벨 값을 사용함으로써 양자화된 성분이 부호화되는 런 길이 부호화 방법(run-length encoding method)이 통상적으로 채용되어 왔다.
이후, 런 길이 부호화 벙법을 이용하는 통상적인 부호화 장치가 설명될 것이다.
도 34는 런 길이 부호화를 수행하는 통상적인 이미지 부호화 장치를 설명하는 블록도이다.
본 이미지 부호화 장치(201b)는, 도 30에 도시한 이미지 부호화 장치(201a)의 부호화 유닛 RLE0a 대신에, 양자화 유닛 Q로부터의 출력(양자화된 성분) QS에 런 길이 부호화를 실시하여 부호화된 스트림 Str0b를 출력하는 런 길이 부호화 유닛 RLE0b를 포함한다. 다른 구성 요소는 이미지 부호화 장치(201a)의 구성 요소와 동일하다.
이미지 부호화 장치(201b)의 동작은 부호화 유닛 RLE0b의 동작에서만 이미지 부호화 장치(201a)의 그것과 상이하다.
도 35는 이미지 부호화 장치(201b)에서 부호화 유닛 RLE0b의 구체적인 구성을 도시하는 블록도이다.
이러한 런 길이 부호화 유닛 RLE0b는, 부호화 유닛 RLE0a와 마찬가지로, 양자화 유닛 Q로부터 2 차원 어레이의 출력(양자화된 성분)을 1 차원 어레이(즉, 사전 결정된 순서)인 양자화된 성분 Coef로 변환하는 지그재그 스캐너 Scan을 갖는다.
그 다음에, 이러한 런 길이 부호화 유닛 RLE0b는, 그 값이 영(영 계수) Coef인 연속하는 양자화 성분의 수를 계산하여, 연속하는 영 계수의 수를 나타내는 런 값을 출력하는 런 계산기 RunCal과, 영 계수에 후속하는 영이 아닌(비영 계수) 양자화된 성분의 값을 계산하여, 비영 계수의 값을 나타내는 레벨 값 Lev를 출력하는 레벨 계산기 LevCal을 더 포함한다.
런 길이 부호화 유닛 RLE0b는 레벨 계산기 LevCal로부터 출력되는 레벨 값 Lev에 가변 길이 부호화 처리를 실시하여 코드 스트링(레벨 값 코드 스트링) LStr을 출력하는 가변 길이 부호화기 LevVLC와, 런 계산기 RunCal로부터 출력되는 런 값 Run에 가변 길이 부호화 처리를 실시하여 코드 스트링(런 값 코드 스트링) RStr을 출력하는 가변 길이 부호화기 RunVLC와, 레벨 값 코드 스트링 LStr 및 런 값 코드 스트링 RStr을 멀티플렉싱하여 멀티플렉싱된 부호화 스트림 Str0b를 출력하는 멀티플렉서 MUX를 더 포함한다.
다음에, 동작에 대해 설명한다.
지그재그 스캐너 Scan은 양자화 유닛 Q로부터 출력되는 2 차원 어레이의 양자화된 성분 QS를 1 차원 어레이(사전 결정된 순서)의 양자화된 성분 Coef로 변환한하여, 양자화된 성분 Coef를 출력한다. 지그재그 스캐너 Scan에 의한 양자화된 성분 QS에 대한 변환 처리는 이미지 부호화 장치(101a)의 부호화 유닛 RLE0a에서의 변환 처리와 동일한 방식으로 수행된다.
런 계산기 RunCal은 지그재그 스캐너 Scan으로부터 출력되는 양자화된 성분 Coef에 근거하여 연속하는 영 계수의 수를 계산하여, 계산된 수를 나타내는 런 값 Run을 출력한다. 레벨 계산기 LevCal은 지그재그 스캐너 Scan으보부터 출력되는 양자화된 성분 Coef에 근거하여, 연속하는 영 계수에 후속하는 비영 계수의 값을 계산해서, 이 값을 나타내는 레벨 값 Lev를 출력한다.
여기서, 런 계산기 RunCal은 처리될 타겟 블록 내의 최고 주파수 성분(마지막 비영 계수)을 검출하면 특수한 값 EOB(엔드 오브 블록)을 생성하여, 후속하는 보다 높은 주파수 성분이 모두 영 값을 갖는다는 것을 통지한다.
또한, 가변 길이 부호화기 RunVLC은 런 계산기 RunCal로부터 출력되는 런 값 Run에, 코드 테이블 또는 산술 연산에 따라 런 값에 코드(코드 워드)를 할당하는 가변 길이 부호화 처리를 실시하여, 코드 스트링 RStr을 출력한다. 가변 길이 부호화기 LevVLC는 레벨 계산기 LevCal로부터 출력되는 레벨 값 Lev에, 코드 테이블 또는 산술 연산에 따라 레벨 값에 코드(코드 워드)를 할당하는 가변 길이 부호화 처리를 실시하여, 코드 스트링 LStr을 출력한다.
멀티플렉서 MUX는 각 블록에 대해 코드 스트링 LStr 및 코드 스트링 RStr을 멀티플렉싱하여, 멀티플렉싱된 부호화 스트림 Str0b를 출력한다.
여기서, 코드 스트링 LStr 및 코드 스트링 RStr을 멀티플렉싱하는 처리가, 각 블록에 대해 수행되는데, 예를 들어, 타겟 블록에 대한 모든 런 값에 대응하는 코드 스트링 RStr에, 타겟 블록에 대한 모든 레벨 값에 대응하는 코드 스트링 LStr이 후속하거나, 또는 타겟 블록에 대한 모든 레벨 값에 대응하는 코드 스트링 LStr에, 타겟 블록에 대한 모든 런 값에 대응하는 코드 스트링 RStr이 후속하는 방식으로, 수행된다.
전술한 바와 같은 사전 결정된 순서로 복수의 양자화된 계수를 부호화하는 이미지 부호화 장치는, 그 값이 영(영 계수) Coef인 양자화된 성분의 수를 나타내는 런 값 Run, 및 그 값이 영 계수에 후속하는 영이 아닌(비영 계수) Coef인 양자화된 성분의 값을 나타내는 레벨 값 Lev를 사용함으로써, 복수의 양자화된 계수를 보다 높은 부호화 효율로 부호화하면서, 그 리던던트 정보를 제거할 수 있다.
도 36은 도 34에 도시한 바와 같은 이미지 부호화 장치(201b)에 대응하는 이미지 복호화 장치(202b)를 설명하는 블록도이다.
본 이미지 복호화 장치(202b)는, 도 34에 도시한 바와 같은 통상적인 이미지 부호화 장치(201b)로부터 출력되는 부호화된 스트림 Str0을 복호화한다.
이미지 복호화 장치(202b)는, 도 32에 도시한 이미지 복호화 장치(202a)의 복호화 유닛 RLD0a 대신에, 이미지 부호화 장치(201b)로부터 출력되는 부호화된 스트림 Str0b에 런 길이 복호화 처리를 실시하는 런 길이 복호화 유닛 RLD0b를 갖는다. 다른 구성 요소는 이미지 복호화 장치(202a)의 구성 요소와 동일하다.
이미지 복호화 장치(202b)의 동작은, 복호화 유닛 RLD0b의 동작에서만 이미지 복호화 장치(202a)와 상이하다.
도 37은 이미지 복호화 장치(202b)의 런 길이 복호화 유닛 RLD0b의 구체적인 구성을 도시하는 블록도이다.
이러한 런 길이 복호화 유닛 RLD0b는 이미지 부호화 장치(201b)로부터 출력되는 멀티플렉싱된 부호화 스트림 Str0b를 디멀티플렉싱하여 레벨 값에 대응하는 코드 스트링 LStr 및 런 값에 대응하는 코드 스트링 RStr을 취득하는 디멀티플렉서 DMUX와, 코드 스트링 RStr에 가변 길이 복호화 처리를 실시하여 레벨 값 Lev를 재구성하는 가변 길이 복호화기 LevVLD와, 코드 스트링 LStr에 가변 길이 복호화 처리를 실시하여 런 값 Run을 재구성하는 가변 길이 복호화기 RunVLD와, 레벨 값 Lev 및 런 값 Run에 의해 나타내어지는 1 차원 어레이의 복호화된 양자화 성분으로부터 2 차원 어레이의 복호화된 양자화 성분 DQS를 재구성하는 역지그재그 스캐너 IScan을 갖는다.
다음에, 그 동작에 대해 설명한다.
이미지 복호화 장치(202b)에서, 런 길이 복호화 유닛 RLD0b는 런 길이 부호화 유닛 RLE0b에 대한 역동작을 수행한다. 즉, 런 길이 복호화 유닛 RLD0b는 멀티플렉싱된 부호화 스트림 Str0b를 디멀티플렉싱하여 레벨 값에 대응하는 코드 스트링 LStr 및 런 값에 대응하는 코드 스트링 RStr을 취득한다.
그리고 나서, 가변 길이 복호화기 LevVLD는 가변 길이 부호화기 LevVLC에 대한 역동작에 의해 레벨 값에 대응하는 코드 스트링 LStr을 복호화하여, 레벨 값 Lev를 출력한다. 가변 길이 복호화기 RunVLD는 가변 길이 부호화기 RunVLC에 대한 역동작에 의해 런 값에 대응하는 코드 스트링 RStr을 복호화하여, 런 값 Run을 출력한다.
역지그재그 스캐너 IScan은 지그재그 스캐너 Scan에 대한 역동작에 의해, 레벨 값 Lev 및 런 값 Run에 의해 나타내어지는 1 차원 어레이의 양자화된 성분으로부터 2 차원 어레이의 복호화된 양자화 성분 DQS를 재구성하여, 복호화된 양자화 성분을 역양자화 유닛 IQ에 출력한다. 그러나, 이러한 역지그재그 스캐너 IScan(도 37 참조)은 레벨 값 Lev 및 런 값 Run이 입력된다는 점에서 도 33에 도시한 바와 같은 역지그재그 스캐너 IScan와 상이하다. 따라서, 도 37에 도시한 역지그재그 스캐너 IScan은 레벨 값 Lev 및 런 값 Run에 의해 나타내어지는 계수를 양자화된 성분 Coef로 변환하는 기능을 갖는다.
복수의 양자화된 계수를 사전 결정된 순서로 복호화하는 복호화 처리를 수행하는 이미지 복호화 장치에 따르면, 그 값이 영(영 계수) Coef인 양자화된 성분의 수를 나타내는 런 값 Run 및 그 값이 영 계수에 후속하는 영이 아닌(비영 계수) Coef인 양자화된 성분의 값을 나타내는 레벨 값 Lev를 사용함으로써, 리던던트 정보를 제거하는 런 길이 부호화에 따라 보다 높은 부호화 효율로 복수의 양자화된 성분을 부호화함으로써 얻어지는 부호화된 데이터가, 만족스럽게 복호화된다.
이후, 런 길이 부호화 방법을 이용하는 통상적인 이미지 부호화 장치의 다른 예에 대해 설명한다.
도 38은, 통상적인 런 길이 복호화 유닛을 채용하는 이미지 부호화 장치의 다른 예를 도시하는 블록도이다. MPEG 또는 H.261 및 H.263과 같은 표준(ITU) 또는 현재 계획 중인 드래프트 H26L 표준안(TML8)과 호환성이 있는 통상적인 이미지 부호화 장치의 거의 대부분은 도 38에 도시한 바와 같은 구성을 갖는다.
본 이미지 부호화 장치(201c)는 도 34에 도시한 이미지 부호화 장치(201b)와 마찬가지로, 런 값 및 레벨 값을 이용하여 양자화된 계수의 부호화를 수행하는 한편, 본 이미지 부호화 장치(201c)는, 이미지 부호화 장치(201b)와 마찬가지로, 런 값 및 레벨 값에 대해 가변 길이 부호화 처리를 개별적으로 수행하지 않으나, 런 값 및 레벨 값의 쌍(런-레벨 쌍)에 대해 가변 길이 부호화 처리를 수행한다.
보다 구체적으로는, 이미지 부호화 장치(201c)는, 이미지 부호화 장치(201b)와 마찬가지로, 이미지 신호 Vin이 입력되는 블록킹 유닛 Blk와, 블록킹 유닛으로부터의 출력 Blks에 주파수 변환을 실시하는 주파수 변환 유닛 Trans와, 변환 유닛으로부터의 출력(주파수 성분) TransS를 양자화하는 양자화 유닛 Q를 갖는다. 이미지 부호화 장치(201c)는 양자화 유닛 Q로부터의 출력(양자화된 성분) QS에 런 길이 부호화 처리를 실시하여 런 값 및 레벨 값으로 이루어지는 런-레벨 쌍을 가변 길이 코드로 변환하는 런 길이 부호화 유닛 RLE0c를 더 포함한다.
다음에, 그 동작에 대해 설명한다.
블록킹 유닛 Blk는 이미지 신호 Vin을 블록 단위에 대응하는 이미지 신호로 분할하여 화소 값 성분(블록킹된 이미지 신호) Blks를 생성한다. 주파수 변환 유닛 Trans는 DCT(이산 코사인 변환) 또는 웨이블렛 변환에 따라 화소 값 성분 Blks를 주파수 성분 TransS로 변환한다. 양자화 유닛 Q는 양자화 파라미터 QP를 출력할 뿐만 아니라, 양자화 파라미터 QP에 근거하여 주파수 성분 TransS를 양자화하여 양자화된 성분 QS를 출력한다. 런 길이 부호화 유닛 RLE0c는 양자화된 성분 QS에 런 길이 부호화를 실시하여, 부호화된 스트림 Str0c를 출력한다.
여기서, 블록은 픽쳐(이미지 공간) 내의 사전 결정된 사이즈의 영역으로서, 이미지 신호에 대한 부호화 처리 시의 단위이고, 사전 결정된 수의 화소로 이루어진다. 런 길이 부호화는 그 값이 영(영 계수)인 연속하는 양자화된 성분의 수를 나타내는 런 값과, 그 값이 영 계수에 후속하는 비영(비영 계수)인 양자회된 성분의 값을 나타내는 레벨 값으로 이루어지는 쌍을, 가변 길이 코드로 변환하는 처리, 즉, 1개의 가변 길이 코드(코드 워드)에 한 쌍의 런 값 및 레벨 값(런-레벨 쌍)을 할당하는 처리이다.
다음에, 런 길이 부호화 유닛 RLE0c에 대해 구체적으로 설명한다.
도 39는 통상적인 런 길이 부호화 유닛 RLEoc를 도시하는 블록도이다.
이러한 런 길이 부호화 유닛 RLEoc은, 도 35에 도시한 바와 같은 런 길이 부호화 유닛 RLE0b와 마찬가지로, 양자화 유닛 Q로부터의 2 차원 어레이의 출력(양자화된 성분)을 1 차원 어레이(즉, 사전 결정된 순서)의 양자화된 성분 Coef로 변환하는 지그재그 스캐너 Scan과, 그 값이 영(영 계수)인 연속하는 양자화된 성분의 수를 계산하여 런 값 Run을 출력하는 런 계산기 RunCal과, 그 값이 영 계수에 후속하는 영이 아닌(비영 계수) Coef인 양자화된 성분의 값을 계산하여, 레벨 값 Lev를 출력하는 레벨 계산기 LevCal을 갖는다.
런 길이 부호화 유닛 RLE0c는 런 계산기 Runcal 및 레벨 계산기 LevCal로부터의 출력에 근거하여 코드 테이블 또는 산술 연산에 따라 레벨 값 Lev 및 런 값 Run의 쌍에 대응하는 코드 번호 Code를 취득하는 런-레벨 부호화기 RunLevEnc와, 코드 워드에 코드 번호 Code를 할당하여 이미지 신호 Vin에 대응하는 부호화된 스트림 Str0c를 생성하는 가변 길이 부호화기 VLC를 더 포함한다.
다음에, 그 동작에 대해 설명한다.
런 길이 부호화 유닛 RLE0c에서, 런 길이 부호화 유닛 RLE0b와 마찬가지로, 지그재그 스캐너 Scan은 양자화 유닛 Q로부터 출력되는 2 차원 어레이의 양자화된 성분 QS를, 1차원 어레이(사전 결정된 순서)의 양자화된 성분 Coef로 변환하여, 취득된 양자화 성분을 출력한다.
도 43은 지그재그 스캐너 Scan에 의해 양자화된 성분 QS를 변환하는 처리를 구체적으로 설명하는 도면이다.
양자화 유닛 Q로부터 출력되는 양자화된 성분 QS는 도 43에 도시한 바와 같은 2 차원 어레이, 즉, 양자화 성분 QS가 수평 주파수의 사이즈 및 수직 주파수의 사이즈에 따라 2 차원 주파수 영역 Fr의 형태로 배치된 어레이를 갖는다.
지그재그 스캐너 Scan은 화살표 Y1 내지 Y7로 도시한 바와 같이, 지그재그 방식으로 2 차원 어레이의 양자화된 성분 QS를 스캐닝하는 처리를 수행하여, 양자화된 성분 QS를 1 차원 어레이의 양자화된 성분 Coef로 변환한다. 즉, 이러한 스캐닝 처리는 2 차원 어레이의 복수의 양자화된 성분 QS에 대해, 스캐닝 코스에 따른 사전 결정된 순서를 세트한다.
런 계산기 RunCal은 지그재그 스캐너 Scan으로부터 출력되는 양자화된 성분 Coef에 근거하여 연속하는 영 계수의 수를 계산해서, 계산된 수를 나타내는 런 값 Run을 출력한다. 레벨 계산기 LevCal은 지그재그 스캐너 Scan로부터 출력되는 양자화된 성분 Coef에 근거하여, 연속하는 영 계수에 후속하는 비영 계수의 값을 계산해서, 계산된 값을 나타내는 레벨 값을 출력한다. 여기서, 런 계산기 RunCal은 처리될 타겟 블록에서 최고 주파수 성분(마지막 비영 계수)을 검출하면 특정 값 EOB(엔드 오브 블록)를 출력하여, 후속하는 보다 높은 주파수 성분이 모두 영 값을 갖는다는 것을 통지한다.
또한, 런-레벨 부호화기 RunLevEnc는 코드 테이블 또는 산술 연산에 따라, 런 계산기 Runcal 및 레벨 계산기 LevCal로부터의 출력에 근거하여 레벨 값 Lev 및 런 값 Run의 쌍에 대응하는 코드 번호 Code를 취득한다. 가변 길이 부호화기 VLC는 변환기에 의해 취득되는 코드 번호 Code를 부호화하는데, 즉, 코드 워드(비트 스트링)에 코드 번호를 할당하여 부호화된 스트림 Str0을 생성한다.
도 42는 런 길이 부호화 유닛 RLE0c에 의해 채용되는 코드 테이블의 예를 도시한다. 도 42에 도시한 코드 테이블(제 1 부호화 테이블) T1은 현재 계획 중에 있는 드래프트 H.26L 표준안(TML8)에 따르는 색차 신호의 DC 성분에 대응하는 코드 테이블을 도시한다.
이 코드 테이블 T는, 레벨 값 및 런 값을 이용하여 산술 연산에 따라 계산될 수 있는 레벨 값 및 런 값의 쌍에 대응하는 코드 번호를 포함하는 규칙적으로 생성 가능한 부분(regularly generable part)(규칙적 구축 VLC)과, 산술 연산에 의해 계산될 수 없는 레벨 값 및 런 값의 쌍에 대응하는 코드 번호를 포함하는 불규칙한 부분(테이블 룩업 VLC)으로 이루어진다. 또한, 비트 스트링(도시하지 않음)에는 1 대 1 관계의 코드 워드로서 각 코드 번호 Code가 할당된다. 보다 짧은 코드 워드에는 보다 작은 값을 갖는 코드 번호 Code가 할당된다.
다음에, 이미지 부호화 장치(201c)에 대응하는 통상적인 복호화 장치에 대해 설명한다.
도 40은 통상적인 런 길이 복호화 유닛 RLD0을 채용하는 이미지 복호화 장치(202c)를 도시하는 블록도이다.
본 이미지 복호화 장치(202c)는 도 39에 도시한 이미지 부호화 장치(201c)로부터 출력되는 부호화된 스트림 Str0c를 복호화한다.
이미지 복호화 장치(202c)는 도 36에 도시한 이미지 복호화 장치(202b)와 같이, 런 값 및 레벨 값을 이용하여 양자화된 계수를 복호화하는 한편, 본 이미지 복호화 장치(202c)는 이미지 복호화 장치(202b)와 마찬가지로 런 값 및 레벨 값의 가변 길이 복호화를 개별적으로 수행하지 않으나, 런 값 및 레벨 값으로 이루어지는 쌍의 가변 길이 복호화를 수행한다.
보다 구체적으로, 이미지 복호화 장치(202c)는, 이미지 부호화 장치(201c)로부터 출력되는 부호화된 스트림 Str0c에, 런 값 및 레벨 값으로 이루어지는 런-레벨 쌍을 이용하여 런 길이 복호화 처리를 실시한다. 이미지 복호화 장치(202c)는, 이미지 복호화 장치(202b)와 같이, 런 길이 복호화 유닛 RLDc로부터의 출력(복호화화된 양자화 성분) DQS에 역양자화 처리를 실시하는 역양자화 유닛 IQ와, 역영자화 유닛 IQ로부터의 출력(복호화된 주파수 성분) TransS에 역주파수 변환 처리를 실시하는 역주파수 변환 유닛 ITrans와, 역주파수 변환 유닛 ITrans으로부터의 출력(복호화된 화소 값 성분) DSlks에 근거하여 각 픽쳐에 대응하는 복호화된 이미지 신호 Vput를 생성하는 디블록킹 유닛 DeBlk를 더 갖는다.
다음에, 그 동작에 대해 설명한다.
이미지 복호화 장치(201c)에서, 런 길이 복호화 유닛 RLD0c는 런 길이 부호화 유닛 RLE0c의 역동작을 수행한다. 보다 구체적으로, 런 길이 복호화 유닛 RLD0c는 부호화된 스트림 Str0c에 런 길이 복호화 처리를 실시하여 복호화된 양자화 성분 DQS를 출력한다. 역양자화 유닛 IQ는 양자화 유닛 Q에 대한 역동작, 즉, 양자화 파라미터 QP를 참조하여 복호화된 양자화 성분 DQS를 역양자화하여 복호화된 주파수 성분 ITransS를 출력하는 동작을 수행한다. 역주파수 변환 유닛 ITrans는 주파수 변환 유닛 Trans에 대한 역동작, 즉, 복호화된 주파수 성분 ITransS에 역DCT 또는 역웨이블렛 변환을 실시하여, 각 블록에 대응하는 복호화된 화소 값 신호(복호화된 디블록킹 이미지 신호) DBlks를 재구성한다. 디블록킹 유닛 DeBlk는 제각각의 블록에 대한 이미지 화소 값 성분을 통합하여, 각 픽쳐(프레임)에 대응하는 복호화된 이미지 신호 Vout를 출력한다.
다음에, 런 길이 복호화 유닛 RLD0c에 대해 구체적으로 설명한다.
도 41은 런 길이 복호화 유닛 RLD0c의 구체적인 구성을 설명하는 블록도이다.
이러한 런 길이 복호화 유닛 RLD0c는, 부호화된 스트림 Str0c에 가변 길이 복호화 처리를 실시하여 부호화된 스트림 Str0c에 포함되는 각 코드(코드 워드)에 대응하는 코드 번호 Code를 취득하는 가변 길이 복호화기 VLD와, 코드 번호 Code에 대응하여, 레벨 값 Lev 및 런 값 Run의 쌍을 검출하는 런-레벨 검출기 RunLevDec와, 레벨 값 Lev 및 런 값 Run의 쌍에 근거하여, 레벨 값 Lev 및 런 값 Run에 의해 나타내어지는, 1 차원 어레이의 복호화된 양자화 성분으로부터 2 차원 어레이의 복호화된 양자화 성분 DQS를 재구성하는 역지그재그 스캐너 IScan을 갖는다.
다음에, 그 동작에 대해 설명한다.
이러한 런 길이 복호화 유닛 RLD0c에서, 가변 길이 복호화기 VLD는 부호화된 스트림 Str0c를 복호화하고, 가변 길이 복호화기 VLC에 대한 역동작에 따라 코드 워드(비트 스트링)에 대응하는 코드 번호 Code를 출력한다. 런-레벨 검출기 RunLevDec는 코드 테이블을 참조하거나, 또는 산술 연산을 수행하여, 런-레벨 부호화기 RunLevEnc에 대한 역동작에 따라, 코드 번호 Code에 대응하는, 레벨 값 Lev 및 런 값 Run의 쌍을 출력한다. 역지그재그 스캐너 IScan은 지그재그 스캐너 Scan에 대한 역동작에 따라 레벨 값 Lev 및 런 값 Run의 쌍에 의해 나타내어지는 1 차원 어레이의 양자화된 성분으로부터 2 차원 어레이의 복호화된 양자화 성분 DQS를 재구성하여, 복호화된 양자화 성분 DQS를 역양자화 유닛 IQ에 출력한다.
일본 공개 특허 출원 평성 제 6-237184 호는 그 값이 영(영 계수) Coef인 양자화된 성분의 수를 나타내는 런 값 Run 및 그 값이 영 계수에 후속하는 비영(비영 계수) Coef인 양자화된 성분의 값을 나타내는 레벨 값 Lev를 이용하여 사전 결정된 순서로 복수의 계수가 부호화되는 런 길이 부호화 방법을 개시한다.
일본 특허 제 3144456 호(일본 공개 특허 출원 평성 제 8-79088 호에 대응함)는 디지털 비디오 데이터를 예측적으로 부호화하는 방법에서 가변 길이 부호화 테이블을 이용하여 차동 모션 벡터 값(differential motion vector value)이 부호화되는 때의 차동 모션 벡터의 값에 따라 가변 길이 부호화 테이블(VLC 테이블)이 변경되는 방법을 개시한다.
또한, 산술적 부호화는 화소 값이 가변 길이 부호화되는 다른 방법으로서 알려져 있으며, 여기서 가변 길이 부호화는 화소 값이 사전 결정된 값을 취할 수 있는 확률을 이용하여 산술 연산에 따라 수행된다. 산술적 부호화에 따르면, 확률로부터 코드가 도출되어, 개별적인 상황에 대응하는 확률이 기술되는 확률 테이블은 VLC 테이블에 대응하게 된다. 여기서, "MPEG-4에 관한 모든 것"(고교 쵸사카이 발행 주식 회사의 미키 스케이치(Miki Sukeichi)에 의해 작성 편집되어, 1998년 9월 30일에 발행된 제 1 판, 제 1 인쇄의 pp.68-73)은, 주위 화소의 화소 값으로부터 예측되는 부호화 타겟 화소에 대한 예측 방법(컨텍스트)에 근거하여 확률 테이블을 변경함으로써 부호화 타겟에 대응하는 화소의 화소 값에 산술적 부호화를 실시하는 방법을 개시한다.
통상적인 이미지 부호화 장치(201a)의 상술한 부호화 유닛 RLE0a는, 각 사전 결정된 처리 단위(블록)에 대해, 이미지 데이터의 주파수 성분을 양자화하여 취득되는 복수의 양자화된 계수에 대해 가변 길이 부호화를 수행한다. 이러한 부호화유닛은, 각 양자화된 계수의 사이즈를 나타내는 수치 정보 및 코드(코드 워드) 간의 대응을 나타내는 사전 결정된 코드 테이블을 채용한다. 부호화 유닛에 의한 가변 길이 부호화 처리 시에, 양자화된 계수(처리될 데이터)에 포함되는 리던던트 정보가 충분히 제거될 수 없고, 따라서, 압축률이 더 향상될 수가 있다.
또한 그 값이 영(영 계수) Coef인 양자화된 성분의 수를 나타내는 런 값과, 영 계수에 후속하는 영이 아닌(비영 계수) Coef인 양자화된 성분의 값을 나타내는 레벨 값을 이용하여 복수의 양자화된 계수의 가변 길이 부호화를 수행하는 런 길이 부호화 유닛에서, 통상적인 이미지 부호화 장치(201b 또는 201c)에서의 부호화 유닛(RLE0b 또는 RLE0c)과 마찬가지로, 가변 길이 부호화 처리 시의 양자화된 계수에 포함되는 리던던트 정보는 충분히 제거되지 않는다.
또한, 통상적인 이미지 복호화 장치(202a)의 복호화 유닛 RLD0a 또는 통상적인 이미지 복호화 장치(202b 또는 202c)의 복호화 유닛 RLD0b 또는 RLD0c는 양자화된 계수에 대한 가변 길이 부호화 처리 시에 양자화된 계수에 포함되는 리던던트 정보를 충분하게 제거할 수 없는 부호화 유닛에 대응한다.
또한, 디지털 비디오 데이터를 예측적으로 부호화하는 방법에서 가변 길이 부호화 테이블을 이용하여 차동 모션 벡터 값이 부호화되는 경우 차동 모션 벡터의 값에 따라 가변 길이 부호화 테이블(VLC 테이블)이 변화되는 방법에 관한 것으로서, 이미지 신호의 주파수 성분을 양자화하여 취득되는 양자화 성분과 마찬가지로, 복수의 영 계수가 연속적으로 후속하는 이러한 특성을 갖는 데이터에 대한 가변 길이 부호화 처리 시에 부호화 테이블의 효과적인 변경도 알려져 있지 않다.
본 발명은 상기한 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 양자화된 성분에 대한 부호화 처리의 양자화된 계수의 특성 및 상태에 따라 보다 효과적으로, 가변 길이 부호화 처리에 대한 타겟 데이터(양자화된 계수)에 포함되는 리던던트 정보를 제거하여, 이미지 신호 등의 압축률을 더 증대시킬 수 있는, 가변 길이 부호화 방법, 및 가변 길이 복호화 방법을 제공하는 것이다.
발명의 개시
본 발명에 따르면, 복수의 계수로 구성되는 계수 데이터를 부호화하는 가변 길이 부호화 방법으로서, 계수의 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블을 이용함으로써, 제각각의 계수에 대해 대해, 계수의 데이터를 복수의 코드로 구성되는 부호화된 데이터로 변환하는 부호화 처리를 실시하는 부호화 단계를 포함하되, 이 부호화 단계는, 부호화되어 있는 부호화 계수에 관한 정보, 및 계수의 부호화 처리에 관한 파라미터 중 적어도 하나에 따라 코드 테이블을 선택하는 코드 테이블 선택 단계와, 선택된 코드 테이블을 이용하여, 아직 부호화되지 않은 미부호화 계수에 코드를 할당하는 코드 할당 단계를 포함하는 가변 길이 부호화 방법이 제공된다. 따라서, 계수에 대한 부호화 처리의 계수 데이터 또는 상태를 구성하는 계수의 특성에 따른 코드 테이블의 선택에 의해, 가변 길이 부호화 처리가 실시되는 계수 데이터에 포함되는 리던던트 정보가 효과적으로 제거되어, 이미지 신호 등에 대한 가변 길이 부호화 처리의 부호화 효율을 크게 증대시킨다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 계수는 이미지 데이터에 대응하는 양자화 스텝에 따라 이미지 데이터의 주파수 성분을 양자화함으로써 취득되고, 코드 테이블 선택 단계에서, 코드 할당 단계에 이용되는 코드 테이블이, 양자화 스텝의 값에 따라 선택된다. 따라서, 양자화 스텝의 값에 적응되고, 부호화 효율을 극대화하는 코드 테이블이 항상 채용될 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 계수에 대한 부호화 처리에 따라, 그 값이 영인 연속하는 영 계수의 수를 나타내는 런 값과, 영 계수에 후속하는 비영 계수의 값을 나타내는 레벨 값이, 코드로 각각 변환되고, 코드 테이블 선택 단계에서, 양자화 스텝의 값에 따라 런 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블을 선택하는 제 1 선택 처리와, 양자화 스텝의 값에 따라 레벨 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블을 선택하는 제 2 선택 처리 중 적어도 하나가 수행되며, 코드 할당 단계에서, 선택된 코드 테이블에 근거하여, 아직 부호화되지 않은 미부호화 계수에 대응하는 런 값 및 레벨 값 중 적어도 하나에 코드가 할당된다. 따라서, 런 값 및 레벨 값 중 적어도 하나에 대한 코드의 할당은, 양자화 스텝의 값에 적응되고, 할당된 코드에 대응하는 비트의 총 수를 극소화하는 코드 테이블을 이용함으로써 항상 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 계수에 대한 부호화 처리에 따라, 그 값이 영인 연속하는 영 계수의 수를 나타내는 런 값 및 영 계수에 후속하는 비영 계수의 값을 나타내는 레벨 값을 포함하는 런-레벨 쌍이 코드로 변환되고, 코드 테이블 선택 단계에서, 양자화 스텝의 값에 따라, 런-레벨 쌍 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블이 선택되고, 코드 할당 단계에서, 선택된 코드 테이블에 근거하여, 아직 부호화되지 않은 미부호화 계수에 대응하는 런-레벨 쌍에 코드가 할당된다. 따라서, 런-레벨 쌍에 코드를 할당하는 것은, 양자화 스텝의 값에 적응되고, 할당된 코드에 대응하는 비트의 총 수를 극소화하는 코드 테이블을 이용함으로써 항상 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 코드 테이블 선택 단계에서, 코드 할당 단계에 이용되는 코드 테이블은, 부호화되어 있는 이미 처리된 계수에 관한 정보에 따라 선택된다. 따라서, 양자화된 계수에 대한 부호화 처리는, 부호화되지 않은 수에 적응되고, 부호화 효율을 극대화하는 코드 테이블을 이용함으로써, 항상 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 계수에 대한 부호화 처리에 따라, 그 값이 영인 연속하는 영 계수의 수를 나타내는 런 값과, 영 계수에 후속하는 비영 계수의 값을 나타내는 레벨 값이, 코드로 각각 변환되고, 코드 테이블 선택 단계에서, 부호화된 계수에 대응하는 런 값에 관한 정보에 따라 런 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블을 선택하는 제 1 선택 처리와, 부호화된 계수에 대응하는 레벨 값에 관한 정보에 따라 레벨 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블을 선택하는 제 2 선택 처리 중 적어도 하나가 수행되며, 코드 할당 단계에서, 선택된 코드 테이블에 근거하여, 부호화되지 않은 계수에 대응하는 런 값 및 레벨 값 중 적어도 하나에 코드가 할당된다. 따라서, 런 값 및 레벨 값 중 적어도 하나에 코드를 할당하는 것은, 부호화되지 않은 계수의 수에 적응되고, 부호화 효율을 극대화하는 코드 테이블을 이용함으로써, 항상 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 코드 테이블 선택 단계에서, 부호화되어 있는 부호화 런 값의 수에 따라 런 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블이 선택되고, 코드 할당 단계에서, 선택된 코드 테이블에 근거하여, 아직 부호화되지 않은 미부호화 런 값에 코드가 할당한다. 따라서, 런 값에 코드를 할당하는 것은, 아직 처리되지 않은 런 값의 수에 적응되고, 부호화 효율을 극대화하는 코드 테이블을 이용함으로써, 항상 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 계수에 대한 상기 부호화 처리에 따라, 그 값이 영인 연속하는 영 계수의 수를 나타내는 런 값 및 영 계수에 후속하는 비영 계수의 값을 나타내는 레벨 값을 포함하는 런-레벨 쌍이 코드로 변환되고, 코드 테이블 선택 단계에서, 부호화되어 있는 부호화 계수에 대응하는 런-레벨 쌍에 관한 정보에 따라, 런-레벨 쌍 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블이 선택되고, 코드 할당 단계에서, 선택된 코드 테이블에 근거하여, 아직 부호화되지 않은 미부호화 계수에 대응하는 런-레벨 쌍에 코드가 할당된다. 따라서, 런-레벨 쌍에 코드를 할당하는 것은, 이직 처리되지 않은 계수의 수에 적응되고, 부호화 효율을 극대화하는 코드 테이블을 이용함으로써, 항상 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 계수는 이미지 데이터에 대응하는 양자화 스텝에 따라 이미지 데이터의 주파수 성분을 양자화함으로써 취득되고, 부호화 단계에서, 대응하는 이미지 데이터의 고주파 성분으로부터 저주파 성분까지 계수 데이터를 구성하는 복수의 계수에 코드가 할당되도록, 계수에 대한 부호화 처리가 수행된다. 따라서, 계수에 할당되는 코드에 대응하는 비트의 총 수가 더 저감될 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 계수에 대한 부호화 처리에 따라, 사전 결정된 수의 계수로 이루어지는 각 블록에 대해, 그 값이 영인 연속하는 영 계수의 수를 나타내는 런 값과, 영 계수에 후속하는 비영 계수의 값을 나타내는 레벨 값으로 이루어지는 런-레벨 쌍이 코드로 변환되고, 코드 테이블 선택 단계에서, 부호화 처리의 대상인 타겟 블록에서 부호화 처리가 실시된 이미 처리된 계수의 수와, 타겟 블록에서 아직 부호화되지 않은 미부호화 비영 계수의 수의 합에 따라 런-레벨 쌍 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블이 선택되며, 코드 할당 단계에서, 선택된 코드 테이블에 근거하여, 타겟 블록에서 부호화되지 않은 계수에 대응하는 런-레벨 쌍에 코드가 할당된다. 따라서, 결코 생성되지 않을 런 값 및 레벨 값의 쌍을 포함하지 않는 코드 테이블이 채용될 수 있어, 가변 길이 부호화 효율을 증대시킨다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 계수에 대한 부호화 처리에 따라, 그 값이 영인 연속하는 영 계수의 수를 나타내는 런 값과, 영 계수에 후속하는 비영 계수를 나타내는 레벨 값으로 이루어지는 런-레벨 쌍이 코드로 변환되고, 부호화 단계는, 제 1 코드 테이블에 근거하여, 런-레벨 쌍을 구성하는 런 값 및 레벨 값의 조합에 따라 런-레벨 쌍과 대응하는 코드 사이의 대응을 나타내는 제 1 코드 테이블에서의 런-레벨 쌍과 코드 사이의 대응을 규칙적으로 변경시켜, 제 1 코드 테이블과는 런-레벨 쌍 및 코드 사이의 대응이 상이한 제 2 코드 테이블을 형성하는 코드 테이블 처리 단계를 포함하며, 코드 테이블 선택 단계에서, 이미 처리된 계수에 관한 정보 및 계수의 생성에 관한 파라미터 중 적어도 하나에 따라 제 1 및 제 2 코드 테이블 중 하나가 선택된다. 따라서, 런 값 및 레벨 값의 쌍에 코드가 할당되는 때에 사용될 최적의 코드 테이블로서 제 1 및 제 2 코드 테이블 중 하나가 적응적으로 선택되어, 처리될 타겟 데이터 내에 포함되는 리던던트 정보가 효과적으로 제거될 수 있다. 따라서, 이미지 신호 등에 대한 압축률이 더 향상될 수 있어, 이러한 가변 길이 부호화 방법은 매우 유용하다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 제 1 및 제 2 코드 테이블에서, 런-레벨 쌍을 구성하는 보다 작은 레벨 값을 갖는 제각각의 런-레벨 쌍에 적응적으로 보다 짧은 코드가 대응하게 되고, 제 2 코드 테이블에서, 보다 짧은 코드가 대응하게 되는 런-레벨 쌍의 레벨 값은 제 1 코드 테이블에 비해 평균적으로 작다. 따라서, 이러한 가변 길이 부호화 방법은 처리될 타겟 데이터를 구성하는 계수에 대한 양자화 파라미터가 클 때 유용하다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 제 1 및 제 2 코드 테이블에서, 런-레벨 쌍을 구성하는 보다 작은 런 값을 갖는 제각각의 런-레벨 쌍에 적응적으로 보다 짧은 코드가 대응하게 되고, 제 2 코드 테이블에서, 보다 짧은 코드가 대응하게 되는 런-레벨 쌍의 런 값은 제 1 코드 테이블에 비해 평균적으로 작다. 따라서, 이러한 가변 길이 부호화 방법은 처리될 타겟 데이터를 구성하는 계수에 대한 양자화 파라미터가 작을 때 유용하다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 계수에 대한 부호화 처리에 따라, 런-레벨 쌍의 코드로의 변환이, 사전 결정된 수의 계수로 이루어지는 각 블록에 대해 수행되고, 코드 테이블 처리 단계에서, 부호화 처리의 대상인 타겟 블록에서 부호화 처리가 실시된, 이미 처리된 계수의 수에 따라 제 2 코드 테이블이 형성된다. 따라서, 결코 발생되지 않을 런 값 및 레벨 값으로 이루어지는 쌍을 포함하지 않는 코드 테이블이 제 2 코드 테이블로서 채용될 수 있어, 가변 길이 부호화 효율을 더 증대시킨다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 코드 할당 단계에서, 런-레벨 쌍에 대한 코드의 할당은, 고주파 성분으로부터 저주파 성분까지의, 이미지 데이터의 최고 주파수 성분을 갖는 계수에 대응하는 런-레벨 쌍으로부터 수행된다. 따라서, 결코 발생되지 않을 런 값 및 레벨 값으로 이루어지는 쌍을 포함하지 않는 코드 테이블을 제 2 코드 테이블로서 이용함으로써 획득되는 가변 길이 부호화 효율의 증대가 보다 커질 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 제 2 코드 테이블은, 제 1 코드 테이블에 포함되는 런-레벨 쌍 및 코드 사이의 대응 중에서, 규칙적으로 연산될 수 있는 대응만을 변경시킴으로써 형성된다. 따라서, 제 2 코드 테이블의 형성에 요구되는 산술 연산이 저감될 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 계수는 이미지 데이터에 대응하는 양자화 스텝에 따라, 이미지 데이터의 주파수 성분을 양자화함으로써 취득되고, 코드 테이블 선택 단계는, 양자화 스텝의 값에 따라 제 1 코드 테이블 및 제 2 코드 테이블 사이를 전환하는 코드 테이블 전환 단계이다. 따라서, 양자화 스텝에 적응되는 코드 테이블은, 처리될 타겟 데이터를 구성하는 계수에 대해 가변 길이 부호화 처리에 사용될 코드 테이블로서 채용될 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 코드 테이블 선택 단계는, 전환 인스트럭션 신호(switch instruction signal)에 따라 제 1 코드 테이블 및 제 2 코드 테이블 사이를 전환하는 코드 테이블 전환 단계이며, 부호화 단계에서, 전환 인스트럭션 신호의 부호화가 수행된다. 따라서, 계수에 대한 가변 길이 부호화 처리에 이용될 코드 테이블은 타겟 데이터의 특성 등에 따라 변경될 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 방법에 있어서, 계수에 대한 부호화 처리에 따라, 사전 결정된 수의 계수로 구성되는 각 블록에 대해 런-레벨 쌍의 코드로의 변환이 수행되고, 코드 테이블 처리 단계에서, 제 2 코드 테이블은, 부호화 처리의 대상인 타겟 블록에서 부호화 처리가 실시된 이미 처리된 계수의 수와, 타겟 블록에서 아직 부호화되지 않은 미부호화 비영 계수의 수의 합에 근거하여 형성된다. 따라서, 결코 발생되지 않을 런 값 및 레벨 값의 쌍을 포함하지 않는 코드 테이블이, 제 2 코드 테이블로서 사용될 수 있어, 가변 길이 부호화 효율을 더 증대시킨다.
본 발명에 따르면, 복수의 계수로 구성되는 계수 데이터를 부호화하는 가변 길이 부호화 장치로서, 계수의 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블을 이용함으로써, 제각각의 계수에 대해, 계수 데이터를 복수의 코드로 구성되는 부호화된 데이터로 변환하는 부호화 처리를 실시하는 부호화 유닛을 포함하되, 이 부호화 유닛은, 부호화되어 있는 부호화 계수에 관한 정보, 및 계수의 부호화 처리에 관한 파라미터 중 적어도 하나에 따라 코드 테이블을 선택하는 코드 테이블 선택 유닛과, 선택된 코드 테이블을 이용하여, 아직 부호화되지 않은 미부호화 계수에 코드를 할당하는 코드 할당 유닛을 포함하는 가변 길이 부호화 장치가 제공된다. 따라서, 가변 길이 부호화 처리가 실시되는 계수 데이터에 포함되는 리던던트 정보가, 계수에 대한 부호화 처리의 계수 데이터 또는 상태를 구성하는 계수의 특성에 따라 코드 테이블의 선택에 의해 효과적으로 제거될 수 있어, 이미지 신호 등에 대한 가변 길이 부호화 처리 시의 부호화 효율을 크게 증대시킬 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 장치에 있어서, 계수는 이미지 데이터에 대응하는 양자화 스텝에 따라 이미지 데이터의 주파수 성분을 양자화함으로써 취득되고, 코드 테이블 선택 유닛은, 양자화 스텝의 값에 따라 코드 할당 유닛에 의해 이용될 코드 테이블을 선택한다. 따라서, 양자화 스텝의 값에 적응되고 부호화 효율을 극대화하는 코드 테이블이 항상 이용될 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 장치에 있어서, 코드 테이블 선택 유닛은, 부호화된 계수에 관한 정보에 따라, 코드 할당 유닛에 의해 이용될 코드 테이블을 선택한다. 따라서, 양자화된 계수에 대한 부호화 처리가, 아직 처리되지 않은 계수의 수에 적응되고 부호화 효율을 극대화하는 코드 테이블을 이용함으로써, 항상 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 장치에 있어서, 계수에 대한 부호화 처리에 따라, 그 값이 영인 연속하는 영 계수의 수를 나타내는 런 값과, 영 계수에 후속하는 비영 계수의 값을 나타내는 레벨 값이, 코드로 각각 변환되고, 코드 테이블 선택 유닛은, 코드가 할당되었던 부호화된 런 값의 수에 따라, 런 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블을 선택하며, 코드 할당 유닛은, 선택된 코드 테이블에 근거하여, 아직 부호화되지 않은 미부호화 런 값에 코드가 할당된다. 따라서, 런 값에 대한 코드의 할당은, 아직 처리되지 않은 런 값의 수에 적응되고 부호화 효율을 극대화하는 코드 테이블을 이용함으로써, 항상 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 부호화 장치에 있어서, 계수는 이미지 데이터에 대응하는 양자화 스텝에 따라 이미지 데이터의 주파수 성분을 양자화함으로써 취득되고, 부호화 유닛은, 고주파 성분으로부터 저주파 성분까지 계수 데이터를 구성하는 복수의 계수에 코드가 할당되도록, 계수에 대한 부호화 처리를 수행한다. 따라서, 계수에 할당되는 코드에 대응하는 비트의 총 수가 더 저감될 수 있다.
본 발명에 따르면, 컴퓨터에 의해, 복수의 계수로 구성되는 계수 데이터를 부호화하는 가변 길이 부호화 처리를 실행하는 프로그램을 포함하는 기억 매체로서, 이 프로그램은, 계수의 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블을 이용함으로써, 제각각의 계수에 대해, 계수의 데이터를 복수의 코드로 구성되는 부호화된 데이터로 변환하는 부호화 처리를 실시하는 부호화 단계를 포함하되, 이 부호화 단계는, 부호화되어 있는 부호화 계수에 관한 정보, 및 계수의 부호화 처리에 관한 파라미터 중 적어도 하나에 따라 코드 테이블을 선택하는 코드 테이블 선택 단계와, 선택된 코드 테이블을 이용하여, 아직 부호화되지 않은 미부호화 계수에 코드를 할당하는 코드 할당 단계를 더 포함하는 기억 매체가 제공된다. 따라서, 계수에 대한 부호화 처리의 계수 데이터 또는 상태를 구성하는 계수의 특성에 따른 코드 테이블의 선택에 의해 가변 길이 부호화 처리가 실시될 대상으로서 계수 데이터에 포함되는 리던던트 정보를 효과적으로 제거할 수 있는, 보다 높은 부호화 효율을 갖는 가변 길이 부호화 처리가 소프트웨어에 의해 구현될 수 있다.
본 발명에 따르면, 복수의 계수로 구성되는 계수 데이터에 가변 길이 부호화를 수행함으로써, 취득된 복수의 코드로 구성되는 부호화된 데이터를 복호화하는 가변 길이 복호화 방법으로서, 계수의 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블을 이용하여, 제각각의 코드에 대해, 부호화된 데이터를 복호화하는 복호화 처리를 실시하여, 복수의 계수로 구성되는 계수 데이터를 재구성하는 복호화 단계를 포함하되, 이 복호화 단계는, 복호화되어 있던 복호화 계수에 관한 정보, 및 복호화 처리에 관한 파라미터 중 적어도 하나에 따라 코드 테이블을 선택하는 코드 테이블 선택 단계와, 선택된 코드 테이블을 이용하여, 아직 복호화되지 않은 미복호화 코드에 대응하는 값을 검출하는 값 검출 단계를 더 포함하는 가변 길이 복호화 방법이 제공된다. 따라서, 계수 데이터를 부호화하기 위해, 코드를 변경시킴으로써 계수 데이터에 포함되는 리던던트 정보를 효과적으로 제거할 수 있는, 보다 높은 부호화 효율을 갖는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 처리에 있어서, 계수는 이미지 데이터에 대응하는 양자화 스텝에 따라 이미지 데이터의 주파수 성분을 양자화함으로써 취득되고, 코드 테이블 선택 단계에서, 값 검출 단계에 이용되는 코드 테이블은, 양자화 스텝의 값에 따라 선택된다. 따라서, 양자화 스텝의 값에 적응되고 부호화 효율을 극대화하는 코드 테이블을 항상 채용하는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 처리에 있어서, 코드에 대한 복호화 처리에서, 그 값이 영인 연속하는 영 계수의 수를 나타내는 런 값과, 영 계수에 후속하는 비영 계수의 값을 나타내는 레벨 값을 재구성하도록 코드가 복호화되고, 코드 테이블 선택 단계에서, 양자화 스텝의 값에 따라 런 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블을 선택하는 제 1 선택 처리와, 양자화 스텝의 값에 따라 레벨 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블을 선택하는 제 2 선택 처리 중 적어도 하나가 수행되며, 수치 검출 단계에서, 선택된 코드 테이블에 근거하여, 아직 복호화되지 않은 미복호화 계수에 대응하는 런 값 및 레벨 값 중 적어도 하나가 검출된다. 따라서, 양자화 스텝의 값에 적합하고 할당된 코드에 대응하는 비트의 총 수를 극소화하는 코드 테이블을 이용함으로써 런 값 및 레벨 값 중 적어도 하나에 대한 코드 할당을 항상 수행하는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 처리에 있어서, 코드에 대한 복호화 처리에 따라, 그 값이 영인 연속하는 영 계수의 수를 나타내는 런 값 및 영 계수에 후속하는 비영 계수의 값을 나타내는 레벨 값을 포함하는 런-레벨 쌍을 재구성하도록 코드가 복호화되고, 코드 테이블 선택 단계에서, 양자화 스텝의 값에 따라, 런-레벨 쌍 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블이 선택되고, 수치 검출 단계에서, 선택된 코드 테이블에 근거하여, 아직 복호화되지 않은 미복호화 계수에 대응하는 런-레벨 쌍이 검출된다. 따라서, 양자화 스텝의 값에 적응되고 할당된 코드에 대응하는 비트의 총 수를 극소화하는 코드 테이블을 이용함으로써 런-레벨 쌍에 대한 코드의 할당을 항상 수행하는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 처리에 있어서, 코드 테이블 선택 단계에서, 수치 검출 단계에 이용되는 코드 테이블은, 복호화된 계수에 관한 정보에 따라 선택된다. 따라서, 아직 처리되지 않은 계수의 수에 적응되고 부호화 효율을 극대화하는 코드 테이블을 이용함으로써 양자화된 계수를 항상 부호화하는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 방법에 있어서, 코드에 대한 복호화 처리에 따라, 그 값이 영인 연속하는 영 계수의 수를 나타내는 런 값과, 영 계수에 후속하는 비영 계수의 값을 나타내는 레벨 값을 재구성하도록 코드가 각각 복호화되고, 코드 테이블 선택 단계에서, 복호화된 런 값에 관한 정보에 따라 런 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블을 선택하는 제 1 선택 처리와, 복호화된 레벨 값에 관한 정보에 따라 레벨 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블을 선택하는 제 2 선택 처리 중 적어도 하나가 수행되며, 값 검출 단계에서, 선택된 코드 테이블에 근거하여, 복호화되지 않은 코드에 대응하는 런 값 및 레벨 값 중 적어도 하나가 검출된다. 따라서, 아직 처리되지 않은 계수의 수에 적응되고 부호화 효율을 극대화하는 코드 테이블을 이용함으로써 런 값 및 레벨 값 중 적어도 하나에 대한 코드의 할당을 항상 수행하는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 방법에 있어서, 코드 테이블 선택 단계에서, 이미 복호화되어 있는 복호화 런 값의 수에 따라 런 값의 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블이 선택되고, 값 검출 단계에서, 선택된 코드 테이블에 근거하여, 아직 복호화되지 않은 복호화 코드에 대응하는 런 값이 검출된다. 따라서, 아직 처리되지 않은 런 값의 수에 적응되고 부호화 효율을 극대화하는 코드 테이블을 이용함으로써 런 값에 대한 코드의 할당을 항상 수행하는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 방법에 있어서, 코드에 대한 상기 복호화 처리에 따라, 그 값이 영인 연속하는 영 계수의 수를 나타내는 런 값 및 영 계수에 후속하는 비영 계수의 수를 나타내는 레벨 값을 포함하는 런-레벨 쌍을 재구성하도록 코드가 복호화되고, 코드 테이블 선택 단계에서, 복호화 처리에 의해 취득되었던 런-레벨 쌍에 관한 정보에 따라, 런-레벨 쌍 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블이 선택되고, 수치 검출 단계에서, 선택된 코드 테이블에 근거하여, 아직 복호화되지 않은 미복호화 코드에 대응하는 런-레벨 쌍이 검출된다. 따라서, 아직 처리되지 않은 계수의 수에 적응되고 부호화 효율을 극대화하는 코드 테이블을 이용함으로써 런-레벨 쌍에 대한 코드의 할당을 항상 수행하는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 방법에 있어서, 계수는 이미지 데이터에 대응하는 양자화 스텝에 따라 이미지 데이터의 주파수 성분을 양자화함으로써 취득되고, 복호화 단계에서, 고주파 성분으로부터 저주파 성분까지 코드에 대응하는 값이 취득되도록, 코드에 대한 복호화 처리가 수행된다. 따라서, 계수에 할당되는 코드에 대응하는 비트의 총 수를 더 저감할 수 있는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 방법에 있어서, 코드에 대한 복호화 처리에 따라, 사전 결정된 계수로 이루어지는 각 블록에 대해, 그 값이 영인 연속하는 영 계수의 수를 나타내는 런 값과, 영 계수에 후속하는 비영 계수의 값을 나타내는 레벨 값으로 이루어지는 런-레벨 쌍을 재구성하도록 코드가 복호화되고, 코드 테이블 선택 단계에서, 복호화 처리의 대상인 타겟 블록에서 이미 처리된 계수의 수와, 타겟 블록에 대한 복호화 처리에 의해 아직 취득되지 않은 타겟 블록에서 복호화되지 않은 비영 계수의 수의 합에 따라 런-레벨 쌍 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블이 선택되며, 수치 검출 단계에서, 선택된 코드 테이블에 근거하여, 타겟 블록에서 복호화되지 않은 계수에 대응하는 런-레벨 쌍이 검출된다. 따라서, 결코 생성되지 않을 런 값 및 레벨 값으로 이루어지는 쌍을 포함하지 않는 코드 테이블을 이용함으로써, 보다 높은 효율을 갖는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 구현될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 방법에 있어서, 코드에 대한 복호화 처리에 따라, 그 값이 영인 연속하는 영 계수의 수를 나타내는 런 값과, 영 계수에 후속하는 비영 계수를 나타내는 레벨 값으로 이루어지는 런-레벨 쌍을 재구성하도록 부호화된 데이터를 구성하는 코드가 복호화되고, 복호화 단계는, 제 1 코드 테이블에 근거하여, 런-레벨 쌍을 구성하는 런 값 및 레벨 값의 조합에 따라 런-레벨 쌍 및 대응하는 코드 사이의 대응을 나타내는 제 1 코드 테이블에서의 런-레벨 쌍 및 코드 사이의 대응을 규칙적으로 변경시켜, 제 1 코드 테이블과는 런-레벨 쌍 및 코드 사이의 대응이 상이한 제 2 코드 테이블을 형성하는 코드 테이블 처리 단계를 포함하며, 코드 테이블 선택 단계에서, 이미 처리된 계수에 관한 정보 및 계수의 생성에 관한 파라미터 중 적어도 하나에 따라 제 1 및 제 2 코드 테이블 중 하나가 선택된다. 따라서, 런 값 및 레벨 값의 쌍으로 코드가 변환되는 경우에 사용될 최적의 코드 테이블로서 제 1 및 제 2 코드 테이블 중 하나가 적응적으로 선택된다. 따라서, 처리될 타겟 데이터에 포함되는 리던던트 정보를 효과적으로 제거할 수 있는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 만족스럽게 수행되므로, 이러한 가변 길이 복호화 방법이 매우 유용하다.
본 발명에 따르면, 상술한 가변 길이 복호화 방법에 있어서, 제 1 및 제 2 코드 테이블에서, 런-레벨 쌍을 구성하는 보다 작은 레벨 값을 갖는 제각각의 런-레벨 쌍에 적응적으로 보다 짧은 코드가 대응하게 되고, 제 2 코드 테이블에서, 보다 짧은 코드가 대응하게 되는 런-레벨 쌍의 레벨 값은 제 1 코드 테이블에 비해 평균적으로 작다. 따라서, 이러한 가변 길이 복호화 방법은 처리될 타겟 데이터를 구성하는 계수에 관한 양자화 파라미터가 큰 경우에 효과적이다.
본 발명에 따르면, 상술한 가변 길이 복호화 방법에 있어서, 제 1 및 제 2 코드 테이블에서, 런-레벨 쌍을 구성하는 보다 작은 런 값을 갖는 제각기 런-레벨 쌍에 적응적으로 보다 짧은 코드가 대응하게 되고, 제 2 코드 테이블에서, 보다 짧은 코드가 대응하게 되는 런-레벨 쌍의 런 값은 제 1 코드 테이블에 비해 평균적으로 작다. 따라서, 이러한 가변 길이 복호화 방법은 처리될 타겟 데이터를 구성하는 계수에 관한 양자화 파라미터가 작은 경우에 효과적이다.
본 발명에 따르면, 상술한 가변 길이 복호화 방법에 있어서, 계수에 대한 복호화 처리에 따라, 코드로부터 런-레벨 쌍의 재구성이, 계수 데이터를 구성하는 사전 결정된 수의 계수로 이루어지는 각 블록에 대해 수행되고, 코드 테이블 처리 단계에서, 부호화 처리의 대상인 타겟 블록에서 복호화 처리에 의해 취득된, 이미 처리된 계수의 수에 따라 제 2 코드 테이블이 형성된다. 따라서, 결코 발생되지 않을 런 값 및 레벨 값의 쌍을 포함하지 않는 코드 테이블이 제 2 코드 테이블로서 채용될 수 있어, 보다 높은 효율을 갖는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 구현될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 방법에 있어서, 수치 검출 단계에서, 코드에 대응하는 런-레벨 쌍의 검출은, 고주파 성분으로부터 저주파 성분까지의, 이미지 데이터의 최고 주파수 성분을 갖는 런-레벨 쌍으로부터 수행된다. 따라서, 결코 발생되지 않을 런 값 및 레벨 값으로 이루어지는 쌍을 포함하지 않는 코드 테이블이 제 2 코드 테이블로서 채용될 수 있어, 압축률을 증대시키는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 보다 효과적으로 구현될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 방법에 있어서, 제 2 코드 테이블은, 제 1 코드 테이블에 포함되는 런-레벨 쌍 및 코드 사이의 대응 중에서, 규칙적으로 연산될 수 있는 대응만을 변경시킴으로써 형성된다. 따라서, 제 2 코드 테이블의 형성에 요구되는 산술 연산이 저감될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 방법에 있어서, 계수 데이터를 재구성하도록, 계수는 이미지 데이터에 대응하는 양자화 스텝에 따라, 이미지 데이터의 주파수 성분을 양자화함으로써 취득되고, 코드 테이블 선택 단계에서, 양자화 스텝의 값에 따라 수행되는 제 1 코드 테이블 및 제 2 코드 테이블 사이의 전환이 수행된다. 따라서, 양자화 스텝에 적응된 코드 테이블은, 처리될 타겟 데이터를 구성하는 계수에 대해 가변 길이 부호화 처리에 사용될 코드 테이블로서 채용될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 방법에 있어서, 코드 테이블 선택 단계는, 전환 인스트럭션 신호에 따라 제 1 코드 테이블 및 제 2 코드 테이블 사이를 전환하는 코드 테이블 전환 단계를 포함하며, 복호화 단계에서, 전환 인스트럭션 신호의 복호화가 수행된다. 따라서, 가변 길이 복호화 처리에 채용될 코드 테이블은 처리될 타겟 데이터의 특성 등에 따라 전환될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 방법에 있어서, 코드에 대한 복호화 처리에 따라, 계수 데이터를 구성하는 사전 결정된 수의 계수로 구성되는 각 블록에 대해 코드로부터의 런-레벨 쌍의 재구성이 수행되고, 코드 테이블 처리 단계에서, 제 2 코드 테이블은, 타겟 블록에 대해 복호화 처리에 의해 취득되어 있는, 복호화 처리의 대상인, 타겟 블록 내의 이미 처리된 계수의 수와, 타겟 블록에 대한 복호화 처리에 의해 아직 취득되지 않은 타겟 블록 내의 복호화되지 않은 비영 계수의 수의 합에 근거하여 형성된다. 따라서, 결코 발생되지 않을 런 값 및 레벨 값의 쌍을 포함하지 않는 코드 테이블이, 재 2 코드 테이블로서 사용되어, 보다 높은 효율을 갖는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 구현될 수 있다.
본 발명에 따르면, 복수의 계수로 구성되는 계수 데이터에 가변 길이 부호화를 수행함으로써 취득된, 복수의 코드로 구성되는 부호화된 데이터를 복호화하는 가변 길이 복호화 장치로서, 계수의 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블을 이용하여, 복수의 계수로 구성되는 계수 데이터를 재구성하도록, 제각각의 코드에 대해 부호화된 데이터를 복호화하는 복호화 처리를 실시하는 복호화 유닛을 포함하되, 이 복호화 유닛은, 복호화되어 있는 복호화 계수에 관한 정보, 및 계수의 복호화 처리에 관한 파라미터 중 적어도 하나에 따라 복수의 코드 테이블로부터 코드 테이블을 선택하는 코드 테이블 선택 유닛과, 선택된 코드 테이블을 이용하여, 아직 복호화되지 않은 미복호화 코드에 대응하는 값을 검출하는 값 검출 유닛을 포함하는 가변 길이 복호화 장치가 제공된다. 따라서, 계수 데이터를 부호화하기 위해, 코드 테이블을 변경시킴으로써 계수 데이터 내의 리던던트 정보를 효과적으로 제거하는, 보다 높은 부호화 효율을 갖는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 장치에 있어서, 계수는 이미지 데이터에 대응하는 양자화 스텝에 따라 이미지 데이터의 주파수 성분을 양자화함으로써 취득되고, 코드 테이블 선택 유닛은, 양자화 스텝의 값에 따라 수치 검출 유닛에 의해 이용되는 코드 테이블을 선택한다. 따라서, 양자화 스텝의 값에 적응되고 부호화 효율을 극대화하는 코드 테이블을 항상 이용하는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 장치에 있어서, 코드 테이블 선택 유닛은, 복호화된 계수에 관한 정보에 따라, 수치 검출 유닛에 의해 이용되는 코드 테이블을 선택한다. 따라서, 복호화되지 않은 계수의 수에 적응되고 부호화 효율을 극대화하는 코드 테이블을 이용함으로써 양자화된 계수를 항상 부호화하는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 장치에 있어서, 코드에 대한 복호화 처리에 따라, 그 값이 영인 연속하는 영 계수의 수를 나타내는 런 값과, 영 계수에 후속하는 비영 계수의 값을 나타내는 레벨 값을 재구성하도록, 코드가 각각 복호화되고, 코드 테이블 선택 유닛은, 복호화된 런 값의 수에 따라, 런 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블로부터 코드 테이블을 선택하며, 값 검출 유닛은, 선택된 코드 테이블에 근거하여, 복호화된 코드에 대응하는 런 값을 검출한다. 따라서, 아직 처리되지 않은 런 값의 수에 적응되고 부호화 효율을 극대화하는 코드 테이블을 이용함으로써 런 값에 대한 코드의 할당을 항상 수행하는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 수행될 수 있다.
본 발명에 따르면, 상술한 가변 길이 복호화 장치에 있어서, 계수는 이미지 데이터에 대응하는 양자화 스텝에 따라 이미지 데이터의 주파수 성분을 양자화함으로써 취득되고, 복호화 유닛은, 고주파 성분으로부터 저주파 성분까지 코드에 대응하는 값이 취득되도록, 코드에 대한 복호화 처리를 수행한다. 따라서, 계수에 할당된 코드에 대응하는 비트의 총 수를 더 저감할 수 있는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 수행될 수 있다.
본 발명에 따르면, 컴퓨터에 의해, 복수의 계수로 구성되는 계수 데이터에 가변 길이 부호화를 수행함으로써 취득된, 복수의 코드로 구성되는 부호화된 데이터를 복호화하는 가변 길이 복호화 처리를 실행하는 프로그램을 포함하는 기억 매체로서, 이 프로그램은, 계수의 값 및 코드 사이의 대응을 나타내는 복수의 코드 테이블을 이용하여, 제각각의 코드에 대해, 복수의 계수로 구성되는 계수 데이터를 재구성하도록 부호화된 데이터를 복호화하는 복호화 처리를 실시하는 복호화 단계를 포함하되, 이 복호화 단계는, 복호화되어 있는 복호화 계수에 관한 정보, 및 계수의 복호화 처리에 관한 파라미터 중 적어도 하나에 따라 코드 테이블을 선택하는 코드 테이블 선택 단계와, 선택된 코드 테이블을 이용하여, 아직 복호화되지 않은 미복호화 코드에 대응하는 값을 검출하는 값 검출 단계를 더 포함하는 기억 매체가 제공된다. 따라서, 계수 데이터를 부호화하기 위해, 코드 테이블을 변경시킴으로써 계수 데이터에 포함되는 리던던트 정보를 효과적으로 제거할 수 있는, 보다 높은 부호화 효율을 갖는 가변 길이 부호화 처리에 대응하는 가변 길이 복호화 처리가 소프트웨어에 의해 구현될 수 있다.
본 발명에 따른 가변 길이 부호화 방법 및 가변 길이 복호화 방법은 계수에 대한 부호화 처리의 계수 데이터 또는 상태를 구성하는 계수의 특성에 코드 테이블을 적응적으로 선택함으로써, 가변 길이 부호화 처리의 타겟으로서 계수 데이터에 포함되는 리던던트 정보를 효과적으로 제거하여, 이미지 신호 등에 대한 가변 길이 부호화 처리의 부호화 효율을 크게 향상시킨다. 이들 가변 길이 부호화 방법 및 가변 길이 복호화 방법은 동영상 데이터를 전송하거나 저장하는 데이터 처리에 유용하다.
도 1은 본 발명의 실시예 1에 따른 이미지 부호화 장치(101)를 설명하는 블록도,
도 2는 본 발명의 실시예 1에 따른 이미지 부호화 장치(101)를 구성하는 런 길이 부호화 유닛 RLE1을 도시하는 블록도,
도 3의 (a) 내지 (d)는 런 길이 부호화 유닛 RLE1에 의한 지그재그 스캐닝을 설명하는 도면이고, 도 3의 (e) 및 (f)는 런 값 및 레벨 값의 재배열을 설명하는 도면,
도 4는 런 길이 부호화 유닛 RLE1의 가변 길이 부호화기 LVLC에서의 처리를 설명하는 도면으로서, 도 4의 (a)는 레벨 값에 대한 가변 길이 부호화 처리를 나타내는 플로우차트이고, 도 4의 (b)는 레벨 값에 대한 가변 길이 부호화 처리에 이용되는 코드 테이블을 도시하는 도면,
도 5는 런 길이 부호화 유닛 RLE1의 가변 길이 부호화기 RVLC에서의 처리를 설명하는 도면으로서, 도 5의 (a)는 런 값에 대한 가변 길이 부호화 처리를 나타내는 플로우차트이고, 도 5의 (b)는 런 값에 대한 가변 길이 부호화 처리에 이용되는 코드 테이블을 도시하는 도면,
도 6은 가변 길이 부호화기 LevVLC에 의해 레벨 값에 할당되는 코드에 대응하는 비트의 총 수를 나타내는 도면으로서(양자화 파라미터가 상대적으로 작음), 도 6의 (a)는 코드 테이블 L2가 채용되는 경우, 도 6의 (b)는 코드 테이블 L1이 채용되는 경우를 각각 도시하는 도면,
도 7은 가변 길이 부호화기 LevVLC에 의해 레벨 값에 할당되는 코드에 대응하는 비트의 총 수를 나타내는 도면으로서(양자화 파라미터가 상대적으로 큼), 도 7의 (a)는 코드 테이블 L2가 채용되는 경우, 도 7의 (b)는 코드 테이블 L1이 채용되는 경우를 각각 도시하는 도면,
도 8의 (a)는 특정의 코드 테이블이 채용되는 경우, 가변 길이 부호화기 RVLC에 의해 런 값에 할당되는 코드에 대응하는 비트의 총 수를 나타내는 도면, 도 8의 (b)는 코드 테이블의 변경 및 런 값의 재배열이 수행되는 경우를 도시하는 도면, 도 8의 (c)는 코드 테이블의 변경만이 수행되는 경우를 도시하는 도면,
도 9는 본 발명의 실시예 2에 따른 이미지 복호화 장치(102)를 설명하는 블록도,
도 10은 본 발명의 실시예 2에 따른 이미지 복호화 장치(102)를 구성하는 런 길이 복호화 유닛 RLD1을 도시하는 블록도,
도 11은 가변 길이 복호화기 LVLD에 의한 가변 길이 복호화 처리를 설명하는 도면으로서, 도 11의 (a)는 레벨 값을 재구성하는 가변 길이 복호화 처리를 나타내는 플로우차트이고, 도 11의 (b)는 가변 길이 복호화 처리에 이용되는 코드 테이블을 도시하는 도면,
도 12는 가변 길이 복호화기 RVLD에 의한 가변 길이 복호화 처리를 설명하는 도면으로서, 도 12의 (a)는 런 값을 재구성하는 가변 길이 복호화 처리를 나타내는 플로우차트이고, 도 12의 (b)는 가변 길이 복호화 처리에 이용되는 코드 테이블을 도시하는 도면,
도 13은 본 발명의 실시예 3에 따른 이미지 부호화 장치(103)를 설명하는 블록도,
도 14는 본 발명의 실시예 3에 따른 이미지 부호화 장치(103)를 구성하는 런 길이 부호화 유닛 RLE2를 도시하는 블록도,
도 15는 본 발명의 실시예 3에 따른 런 길이 부호화 유닛 RLE2에 의해 형성되는 코드 테이블(제 2 코드 테이블)의 예 T2a(도 15의 (a)), T2b(도 15의 (b))를 도시하는 도면,
도 16은 본 발명의 실시예 3에 따른 런 길이 부호화 유닛 RLE2에 의해 형성되는 코드 테이블(제 2 코드 테이블)의 예 T2c(도 16의 (a)), T2d(도 16의 (b)), T2e(도 16의 (c))를 도시하는 도면,
도 17은 본 발명의 실시예 3에 따른 런 길이 부호화 유닛 RLE2에 의해 양자화된 성분이 부호화되는 순서의 예를 도시하는 도면,
도 18은 본 발명의 실시예 4에 따른 이미지 복호화 장치(104)를 설명하는 블록도,
도 19는 본 발명의 실시예 4에 따른 이미지 복호화 장치(104)를 구성하는 런 길이 복호화 유닛 RLD2를 도시하는 블록도,
도 20은 본 발명의 실시예 5에 따른 이미지 부호화 장치(105)를 설명하는 블록도,
도 21은 본 발명의 실시예 5에 따른 이미지 부호화 장치(105)를 구성하는 런 길이 부호화 유닛 RLE3을 도시하는 블록도,
도 22는 본 발명의 실시예 6에 따른 이미지 복호화 장치(106)를 설명하는 블록도,
도 23은 본 발명의 실시예 6에 따른 이미지 복호화 장치(106)를 구성하는 런 길이 복호화 유닛 RLD3을 도시하는 블록도,
도 24는 본 발명의 실시예 5에 따른 런 길이 부호화 유닛 RLE2 및 본 발명의 실시예 6에 따른 런 길이 복호화 유닛 RLD3에 의해 채용되는 가변 길이 코드 테이블의 예 Ta(도 24의 (a)), Tb(도 24의 (b)), Tc(도 24의 (c))를 도시하는 도면,
도 25는 컴퓨터 시스템(도 25의 (a) 및 도 25의 (b)) 및 컴퓨터 시스템(도 25의 (c))에 의해 상기 실시예 중 어느 한 실시예에 따라 가변 길이 부호화 처리 또는 가변 길이 복호화 처리를 구현하는 프로그램을 포함하는 데이터 기억 매체를 설명하는 도면,
도 26은 상기 실시예 중 어느 한 실시예에 따라 이미지 부호화 방법 및 이미지 복호화 방법을 설명하는 도면으로서, 콘텐츠 분배 서비스를 구현하는 콘텐츠 공급 시스템을 도시하는 도면,
도 27은 상기 실시예 중 어느 한 실시예에 따라 이미지 부호화 방법 및 이미지 복호화 방법을 채용하는 휴대 전화를 설명하는 도면,
도 28은 도 27에 도시한 휴대 전화를 도시하는 블록도,
도 29는 상기 실시예 중 어느 한 실시예에 따라 이미지 부호화 방법 및 이미지 복호화 장치를 채용하는 디지털 방송 시스템을 설명하는 도면,
도 30은 통상적인 이미지 부호화 장치(201a)를 도시하는 블록도,
도 31은 통상적인 이미지 부호화 장치(201a)를 구성하는 부호화 유닛 RLE0a를 설명하는 블록도,
도 32는 통상적인 이미지 부호화 장치(201a)에 대응하는 통상적인 복호화 장치(202a)를 설명하는 블록도,
도 33은 통상적인 이미지 부호화 장치(202a)를 구성하는 부호화 유닛 RLD0a를 설명하는 블록도,
도 34는 통상적인 런 길이 부호화를 수행하는 이미지 부호화 장치(201b)를 도시하는 블록도,
도 35는 통상적인 이미지 부호화 장치(201b)를 구성하는 런 길이 부호화 유닛 RLE0a를 설명하는 블록도,
도 36은 통상적인 이미지 부호화 장치(201b)에 대응하는 통상적인 복호화 장치(202c)를 설명하는 블록도,
도 37은 통상적인 이미지 부호화 장치(202b)를 구성하는 런 길이 부호화 유닛 RLE0b를 설명하는 블록도,
도 38은 통상적인 런 길이 부호화를 수행하는 다른 이미지 부호화 장치(201c)를 도시하는 블록도,
도 39는 통상적인 이미지 부호화 장치(202c)를 구성하는 런 길이 부호화 유닛 RLE0c를 설명하는 블록도,
도 40은 통상적인 이미지 부호화 장치(201c)에 대응하는 통상적인 복호화 장치(202c)를 설명하는 블록도,
도 41은 통상적인 이미지 부호화 장치(202c)를 구성하는 런 길이 복호화 유닛 RLD0c를 설명하는 블록도,
도 42는 통상적인 이미지 부호화 장치(201c)를 구성하는 런 길이 부호화 유닛 RLE0c에 의해 채용되는 코드 테이블의 예를 설명하는 블록도,
도 43은 양자화된 성분이 통상적인 런 길이 부호화 유닛 RLE0a, RLE0b, RLE0c에 의해 부호화되는 순서의 예를 도시하는 도면이다.
도 2는 본 발명의 실시예 1에 따른 이미지 부호화 장치(101)를 구성하는 런 길이 부호화 유닛 RLE1을 도시하는 블록도,
도 3의 (a) 내지 (d)는 런 길이 부호화 유닛 RLE1에 의한 지그재그 스캐닝을 설명하는 도면이고, 도 3의 (e) 및 (f)는 런 값 및 레벨 값의 재배열을 설명하는 도면,
도 4는 런 길이 부호화 유닛 RLE1의 가변 길이 부호화기 LVLC에서의 처리를 설명하는 도면으로서, 도 4의 (a)는 레벨 값에 대한 가변 길이 부호화 처리를 나타내는 플로우차트이고, 도 4의 (b)는 레벨 값에 대한 가변 길이 부호화 처리에 이용되는 코드 테이블을 도시하는 도면,
도 5는 런 길이 부호화 유닛 RLE1의 가변 길이 부호화기 RVLC에서의 처리를 설명하는 도면으로서, 도 5의 (a)는 런 값에 대한 가변 길이 부호화 처리를 나타내는 플로우차트이고, 도 5의 (b)는 런 값에 대한 가변 길이 부호화 처리에 이용되는 코드 테이블을 도시하는 도면,
도 6은 가변 길이 부호화기 LevVLC에 의해 레벨 값에 할당되는 코드에 대응하는 비트의 총 수를 나타내는 도면으로서(양자화 파라미터가 상대적으로 작음), 도 6의 (a)는 코드 테이블 L2가 채용되는 경우, 도 6의 (b)는 코드 테이블 L1이 채용되는 경우를 각각 도시하는 도면,
도 7은 가변 길이 부호화기 LevVLC에 의해 레벨 값에 할당되는 코드에 대응하는 비트의 총 수를 나타내는 도면으로서(양자화 파라미터가 상대적으로 큼), 도 7의 (a)는 코드 테이블 L2가 채용되는 경우, 도 7의 (b)는 코드 테이블 L1이 채용되는 경우를 각각 도시하는 도면,
도 8의 (a)는 특정의 코드 테이블이 채용되는 경우, 가변 길이 부호화기 RVLC에 의해 런 값에 할당되는 코드에 대응하는 비트의 총 수를 나타내는 도면, 도 8의 (b)는 코드 테이블의 변경 및 런 값의 재배열이 수행되는 경우를 도시하는 도면, 도 8의 (c)는 코드 테이블의 변경만이 수행되는 경우를 도시하는 도면,
도 9는 본 발명의 실시예 2에 따른 이미지 복호화 장치(102)를 설명하는 블록도,
도 10은 본 발명의 실시예 2에 따른 이미지 복호화 장치(102)를 구성하는 런 길이 복호화 유닛 RLD1을 도시하는 블록도,
도 11은 가변 길이 복호화기 LVLD에 의한 가변 길이 복호화 처리를 설명하는 도면으로서, 도 11의 (a)는 레벨 값을 재구성하는 가변 길이 복호화 처리를 나타내는 플로우차트이고, 도 11의 (b)는 가변 길이 복호화 처리에 이용되는 코드 테이블을 도시하는 도면,
도 12는 가변 길이 복호화기 RVLD에 의한 가변 길이 복호화 처리를 설명하는 도면으로서, 도 12의 (a)는 런 값을 재구성하는 가변 길이 복호화 처리를 나타내는 플로우차트이고, 도 12의 (b)는 가변 길이 복호화 처리에 이용되는 코드 테이블을 도시하는 도면,
도 13은 본 발명의 실시예 3에 따른 이미지 부호화 장치(103)를 설명하는 블록도,
도 14는 본 발명의 실시예 3에 따른 이미지 부호화 장치(103)를 구성하는 런 길이 부호화 유닛 RLE2를 도시하는 블록도,
도 15는 본 발명의 실시예 3에 따른 런 길이 부호화 유닛 RLE2에 의해 형성되는 코드 테이블(제 2 코드 테이블)의 예 T2a(도 15의 (a)), T2b(도 15의 (b))를 도시하는 도면,
도 16은 본 발명의 실시예 3에 따른 런 길이 부호화 유닛 RLE2에 의해 형성되는 코드 테이블(제 2 코드 테이블)의 예 T2c(도 16의 (a)), T2d(도 16의 (b)), T2e(도 16의 (c))를 도시하는 도면,
도 17은 본 발명의 실시예 3에 따른 런 길이 부호화 유닛 RLE2에 의해 양자화된 성분이 부호화되는 순서의 예를 도시하는 도면,
도 18은 본 발명의 실시예 4에 따른 이미지 복호화 장치(104)를 설명하는 블록도,
도 19는 본 발명의 실시예 4에 따른 이미지 복호화 장치(104)를 구성하는 런 길이 복호화 유닛 RLD2를 도시하는 블록도,
도 20은 본 발명의 실시예 5에 따른 이미지 부호화 장치(105)를 설명하는 블록도,
도 21은 본 발명의 실시예 5에 따른 이미지 부호화 장치(105)를 구성하는 런 길이 부호화 유닛 RLE3을 도시하는 블록도,
도 22는 본 발명의 실시예 6에 따른 이미지 복호화 장치(106)를 설명하는 블록도,
도 23은 본 발명의 실시예 6에 따른 이미지 복호화 장치(106)를 구성하는 런 길이 복호화 유닛 RLD3을 도시하는 블록도,
도 24는 본 발명의 실시예 5에 따른 런 길이 부호화 유닛 RLE2 및 본 발명의 실시예 6에 따른 런 길이 복호화 유닛 RLD3에 의해 채용되는 가변 길이 코드 테이블의 예 Ta(도 24의 (a)), Tb(도 24의 (b)), Tc(도 24의 (c))를 도시하는 도면,
도 25는 컴퓨터 시스템(도 25의 (a) 및 도 25의 (b)) 및 컴퓨터 시스템(도 25의 (c))에 의해 상기 실시예 중 어느 한 실시예에 따라 가변 길이 부호화 처리 또는 가변 길이 복호화 처리를 구현하는 프로그램을 포함하는 데이터 기억 매체를 설명하는 도면,
도 26은 상기 실시예 중 어느 한 실시예에 따라 이미지 부호화 방법 및 이미지 복호화 방법을 설명하는 도면으로서, 콘텐츠 분배 서비스를 구현하는 콘텐츠 공급 시스템을 도시하는 도면,
도 27은 상기 실시예 중 어느 한 실시예에 따라 이미지 부호화 방법 및 이미지 복호화 방법을 채용하는 휴대 전화를 설명하는 도면,
도 28은 도 27에 도시한 휴대 전화를 도시하는 블록도,
도 29는 상기 실시예 중 어느 한 실시예에 따라 이미지 부호화 방법 및 이미지 복호화 장치를 채용하는 디지털 방송 시스템을 설명하는 도면,
도 30은 통상적인 이미지 부호화 장치(201a)를 도시하는 블록도,
도 31은 통상적인 이미지 부호화 장치(201a)를 구성하는 부호화 유닛 RLE0a를 설명하는 블록도,
도 32는 통상적인 이미지 부호화 장치(201a)에 대응하는 통상적인 복호화 장치(202a)를 설명하는 블록도,
도 33은 통상적인 이미지 부호화 장치(202a)를 구성하는 부호화 유닛 RLD0a를 설명하는 블록도,
도 34는 통상적인 런 길이 부호화를 수행하는 이미지 부호화 장치(201b)를 도시하는 블록도,
도 35는 통상적인 이미지 부호화 장치(201b)를 구성하는 런 길이 부호화 유닛 RLE0a를 설명하는 블록도,
도 36은 통상적인 이미지 부호화 장치(201b)에 대응하는 통상적인 복호화 장치(202c)를 설명하는 블록도,
도 37은 통상적인 이미지 부호화 장치(202b)를 구성하는 런 길이 부호화 유닛 RLE0b를 설명하는 블록도,
도 38은 통상적인 런 길이 부호화를 수행하는 다른 이미지 부호화 장치(201c)를 도시하는 블록도,
도 39는 통상적인 이미지 부호화 장치(202c)를 구성하는 런 길이 부호화 유닛 RLE0c를 설명하는 블록도,
도 40은 통상적인 이미지 부호화 장치(201c)에 대응하는 통상적인 복호화 장치(202c)를 설명하는 블록도,
도 41은 통상적인 이미지 부호화 장치(202c)를 구성하는 런 길이 복호화 유닛 RLD0c를 설명하는 블록도,
도 42는 통상적인 이미지 부호화 장치(201c)를 구성하는 런 길이 부호화 유닛 RLE0c에 의해 채용되는 코드 테이블의 예를 설명하는 블록도,
도 43은 양자화된 성분이 통상적인 런 길이 부호화 유닛 RLE0a, RLE0b, RLE0c에 의해 부호화되는 순서의 예를 도시하는 도면이다.
먼저, 본 발명의 기본 원리에 대해 설명한다.
통상적으로, 양자화 스텝이 개략적(rough)인 경우, 양자화된 성분은 보다 작은 절대값을 갖는다. 그리고 나서, 런(연속적으로 계속되는 영 계수의 길이)이 길게 되고, 따라서 레벨 값(비영 계수의 값)은 보다 작은 절대값을 갖는다. 반대로, 양자화 스텝이 세밀(fine)한 경우, 양자화된 성분은 보다 큰 절대값을 갖는다. 따라서, 런이 짧게 되고, 따라서 레벨 값은 보다 큰 절대값을 갖는다.
또한, 다수의 양자화된 성분의 가변 길이 부호화는 처리될 대상 블록에서 이미 완료되었으며, 부호화되지 않은 양자화된 성분의 수는 작고, 부호화되지 않은 양자화된 성분의 수를 초과하는 런 값은 결코 발생하지 않는다. 따라서, 이들 런 값 및 레벨 값의 쌍이 제거되는 경우, 부호화 효율이 증대된다.
이러한 관점에서, 본 발명은 양자화된 계수(양자화 파라미터)의 생성과 연관된 양자화된 계수 및 코드에 대한 가변 길이 부호화 처리 또는 가변 길이 복호화 처리의 상태에 따라, 양자화된 계수의 사이즈를 나타내는 수치 정보 및 코드 사이의 대응을 나타내는 코드 테이블을 변경시켜, 가변 길이 부호화 처리의 타겟 데이터(양자화된 계수) 내에 포함되는 리던던트 정보를 효과적으로 제거한다.
예를 들어, 코드 테이블의 변경은, 양자화된 계수의 처리 상태에 근거하여, 통상적인 가변 길이 부호화 또는 복호화 처리에 채용되는 코드 테이블(제 1 코드 테이블), 또는 제 1 코드 테이블에 근거하여 형성되고, 처리될 데이터에 대해 최적화된 제 2 코드 테이블을 선택함으로써 수행된다. 제 1 코드 테이블에 근거하여 제 2 코드 테이블을 항상 형성하는 것은 불필요하나, 코드 테이블로서 타겟 데이터를 처리하는데 적합한 임의의 코드 테이블이 선택될 수도 있다.
이하, 도 1 내지 도 25를 참조하여, 본 발명의 실시예에 대해 설명한다.
(실시예 1)
도 1은 본 발명의 실시예 1에 따른 이미지 부호화 장치를 설명하는 블록도이다.
실시예 1에 따른 본 이미지 부호화 장치(101)는, 양자화 유닛 Q로부터의 출력(양자화된 성분) QS에 가변 길이 부호화 처리를 실시하여, 부호화된 스트림 Strob를 출력하는, 도 34에 도시한 통상적인 이미지 부호화 장치(201b)의 런 길이 부호화 유닛 RLE0b 대신에, 양자화 파라미터 QP 및 VLC 선택 신호 VlcSel에 근거하여 양자화 유닛 Q로부터의 출력 QS에 가변 길이 부호화 처리를 실시하여, 부호화된 스트림 Str1을 출력하는 런 길이 부호화 유닛 RLE1을 갖는다.
여기서, 양자화 파라미터 QP는 양자화 스텝의 값을 나타내는 파라미터이며, 양자화 스텝은 양자화 파라미터 QP에 대략 비례한다. 보다 구체적으로, 양자화 파라미터 QP가 큰 경우, 양자화된 성분(그 값이 영인 연속적으로 계속되는 성분의 길이)의 제로 런이 커지게 되고, 레벨 값은 보다 작은 절대값을 갖는다.
도 2는 런 길이 부호화 유닛 RLE1의 구체적인 구성을 설명하는 블록도이다.
이러한 런 길이 부호화 유닛 RLE1은, 도 35에 도시한 통상적인 런 길이 부호화 유닛 RLE0b와 마찬가지로, 2 차원 어레이의 양자화 유닛 Q(양자화된 성분) QS로부터의 출력을 1 차원 어레이(즉, 사전 결정된 순서)의 양자화된 계수 Coef로 변환하는 지그재그 스캐너 Scan과, 그 값이 영(영 계수)인 연속하는 양자화된 성분의 수를 계산하여 연속하는 영 계수의 수를 나타내는 런 값 Run을 출력하는 런 계산기 RunCal과, 그 값이 영 계수에 후속하는 영이 아닌(비영 계수) 양자화된 성분의 값을 계산하여, 비영 계수의 값을 나타내는 레벨 값 Lev를 출력하는 레벨 계산기 LevCal을 갖는다.
도 3의 (a)는 하나의 블록에 대응하는 양자화된 성분 Q1 내지 Q16의 2 차원 어레이를 도시하고, 도 3의 (b)는 화살표 A1 내지 A15에 의해 지그재그 스캐너 Scan에서의 양자화된 성분 Q1 내지 Q16의 스캐닝 코스를 도시한다. 여기서, 양자화된 성분 Q1은 이미지 신호에 대응하는 주파수 성분의 DC 성분을 양자화함으로써 취득되고, 양자화된 성분 Q2 내지 Q15는 이미지 신호에 대응하는 주파수 성분의 AC 성분을 양자화함으로써 취득된다. 도 3의 (c)는 지그재그 스캐너 Scan에서의 지그재그 스캐닝에 의해 취득되는 양자화된 성분 Q1 내지 Q16의 1 차원 어레이(부호화 순서)를 도시하고, 도 3의 (d)는 양자화된 성분 Q1 내지 Q16의 값을 나타내는 구체적인 수치의 1 차원 어레이를 도시한다.
런 길이 부호화 유닛 RLE1은, 레벨 계산기 LevCal로부터의 출력인 레벨 값 Lev를 재배열하는 재배열 유닛(reordering unit) Lreodr과, 런 계산기 RunCal로부터의 출력인 런 값 Run을 재배열하는 재배열 유닛 Rreodr과, 런 계산기 RunCal로부터의 출력에 근거하여 타겟 블록 내의 부호화되지 않은 계수의 수 Cnum을 계산하여, 계산된 수를 출력하는 수 계산기 NumClc를 더 포함한다. 도 3의 (e)는 도 3의 (c), (d) 및 (f)에 도시한 바와 같은 배치를 갖는 양자화된 성분의 수치로부터 취득되는 런 값 및 레벨 값의 순서를 도시한다.
런 길이 부호화 유닛 RLE1은, 양자화 파라미터 QP 및 선택 신호 VlSel에 근거하여 재배열 유닛 Lreodr로부터의 출력 ROLev에 가변 길이 부호화 처리를 실시하여, 코드 스트링(레벨 값 코드 스트링) LStr을 출력하는 가변 길이 부호화기 LVLC와, 부호화되지 않은 계수의 수 Cnum에 근거하여 재배열 유닛 Rreodr로부터의 출력 RORun에 가변 길이 부호화 처리를 실시하여, 코드 스트링(런 값 코드 스트링) RStr을 출력하는 가변 길이 부호화기 RVLC와, 각 블록에 대해 코드 스트링 LStr 및 코드 스트링 RStr을 멀티플렉싱하여 멀티플렉싱된 부호화 스트림 Str1을 출력하는 멀티플렉서 MUX를 더 포함한다.
도 4는 가변 길이 부호화기 LVLC에 의해 가변 길이 부호화 처리를 설명하는 도면이다. 도 4의 (a)는 레벨 값에 대한 가변 길이 부호화 처리를 설명하는 플로우차트이고, 도 4의 (b)는 레벨 값에 대한 가변 길이 부호화 처리에 채용되는 코드 테이블을 도시하는 예시적인 도면이다.
도 4의 (b)는 양자화 파리미터 QP가 임계값보다 작은 경우, 레벨 값(Level)의 배치 Alev와, 코드(코드 워드)의 배치 Ca1을 도시하고, 양자화 파리미터 QP가 임계값 이상인 경우, 코드(코드 워드)의 배치 Ca2를 도시한다.
여기서, 코드 테이블 L1은, 양자화 파리미터 QP가 임계값보다 작은 경우, 레벨 값(Level)의 배치 Alev 및 코드(코드 워드)의 배치 Ca1에 의해 구성된다. 이러한 코드 테이블 L1은, 양자화 파리미터 QP가 임계값보다 작은 경우, 레벨 값(Level) 및 코드 사이의 대응을 도시한다. 코드 테이블 L2는, 양자화 파리미터 QP가 임계값 이상인 경우, 레벨 값(Level)의 배치 Alev 및 코드(코드 워드)의 배치 Ca2에 의해 구성된다. 이러한 코드 테이블 L2는, 양자화 파리미터 QP가 임계값 이상인 경우, 레벨 값(Level) 및 코드 사이의 대응을 도시한다.
도 5는 가변 길이 부호화기 RVLC에 의해 가변 길이 부호화 처리를 설명하는 도면이다. 도 5의 (a)는 런 값에 대한 가변 길이 부호화 처리를 설명하는 플로우차트이고, 도 5의 (b)는 런 값에 대한 가변 길이 부호화 처리에 채용되는 코드 테이블을 도시하는 예시적인 도면이다.
도 5의 (b)는 부호화되지 않은 영 계수의 수가 1인 경우의, 런 값(Run)의 배치 Arun 및 코드(코드 워드)의 배치 Cb1, 부호화되지 않은 영 계수의 수가 2인 경우의, 코드(코드 워드)의 배치 Cb2, 부호화되지 않은 영 계수의 수가 3인 경우의, 코드(코드 워드)의 배치 Cb3, 부호화되지 않은 영 계수의 수가 4인 경우의, 코드(코드 워드)의 배치 Cb4, 부호화되지 않은 영 계수의 수가 5인 경우의, 코드(코드 워드)의 배치 Cb5, 부호화되지 않은 영 계수의 수가 6인 경우의, 코드(코드 워드)의 배치 Cb6, 부호화되지 않은 영 계수의 수가 7인 경우의, 코드(코드 워드)의 배치 Cb7, 부호화되지 않은 영 계수의 수가 8 이상인 경우의, 코드(코드 워드)의 배치 Cb8을 도시한다.
여기서, 코드 테이블 R1은, 부호화되지 않은 영 계수의 수가 1인 경우, 런 값(Run)의 배치 Arun 및 코드(코드 워드)의 배치 Cb1에 의해 구성되며, 이 코드 테이블 R1은, 부호화되지 않은 영 계수의 수가 1인 경우의, 런 값(Run) 및 코드 사이의 대응을 도시한다. 마찬가지로, 코드 테이블 R2, R3, R4, R5, R6, R7은, 부호화되지 않은 영 계수의 수가 제각기 2, 3, 4, 5, 6, 7인 경우, 런 값(Run)의 배치 Arun 및 코드(코드 워드)의 배치 Cb2, Cb3, Cb4, Cb5, Cb6, Cb7에 의해 구성되며, 부호화되지 않은 영 계수의 수가 제각기 2, 3, 4, 5, 6, 7인 경우의, 런 값(Run) 및 코드 사이의 대응을 도시한다. 또한, 코드 테이블 R8은, 부호화되지 않은 영 계수의 수가 8 이상인 경우, 런 값(Run)의 배치 Arun 및 코드(코드 워드)의 배치 Cb8에 의해 구성되며, 부호화되지 않은 영 계수의 수가 8 이상인 경우의, 런 값(Run) 및 코드 사이의 대응을 도시한다.
다음에, 그 동작에 대해 설명한다.
실시예 1에 따른 이미지 부호화 장치(101)에서, 블록킹 유닛 Blk, 주파수 변환 유닛 Trans, 양자화 유닛 Q는, 통상적인 이미지 부호화 장치(201a)(도 30 참조) 또는 이미지 부호화 장치(201b)(도 31 참조)에서와 동일한 방식으로 동작한다.
보다 구체적으로, 이미지 신호 Vin이 이미지 부호화 장치(101)에 입력되는 경우, 블록킹 유닛 Blk는 입력된 이미지 신호 Vin을 블록 단위로 분할하여, 제각각의 블록에 대응하는 이미지 신호(화소 값 성분) Blks를 생성한다. 주파수 변환 유닛 Trans는 DCT(이산 코사인 변환) 또는 웨이블렛 변환에 따라 화소 값 성분 Blks를 주파수 성분 TransS로 변환한다. 양자화 유닛 Q는 양자화 파라미터 QP에 근거하여 양자화 파라미터 QP를 출력할 뿐만 아니라 사전 결정된 양자화 스텝으로 주파수 성분 TransS를 양자화하여 양자화된 성분 QS를 출력한다. 런 길이 부호화 유닛 RLE1은, 양자화된 성분 QS에 가변 길이 부호화 처리를 실시하여, 부호화된 스트림 Str1을 출력한다.
이후, 런 길이 부호화 유닛 RLE1의 동작에 대해 구체적으로 설명한다.
지그재그 스캐너 Scan은, 양자화 유닛 Q로부터 출력되는 양자화된 성분 QS(즉, 도 3의 (a)에 도시한 바와 같은 2 차원 어레이의 복수의 양자화된 계수 Q1 내지 Q16)의 지그재그 스캐닝을 수행하여, 양자화된 성분 QS를 양자화된 계수 Coef로 변환한다. 여기서, 양자화된 성분 QS의 지그재그 스캐닝은, 도 3의 (b)의 화살표 A1 내지 A15에 의해 표시되는 코스를 따라 도 3의 (a)에 도시한 바와 같은 2 차원 어레이의 복수의 양자화된 성분 Q1 내지 Q16을 스캐닝하여, 복수의 양자화된 성분 Q1 내지 Q16의 어레이를 도 3의 (c)에 도시한 바와 같은 1 차원 어레이(처리 순서)로 변환함으로써 수행된다. 여기서, 도 3의 (d)는 지그재그 스캐닝이 실시된 복수의 양자화된 성분 Q1 내지 Q16의 구체적인 수치의 배치를 도시한다(20, -10, 5, 0, 2, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 1).
런 계산기 Runcal은 지그재그 스캐너 Scan으로부터 출력되는 양자화된 성분 Coef에 근거하여 연속하는 영 계수의 수를 계산하여, 계산된 수를 나타내는 런 값 Run을 출력한다. 도 3의 (e)는 런 값이 출력되는 순서(0, 0, 0, 1, 3, 3, 2)에 따라, 런 계산기 RunCal로부터 연속적으로 출력되는 특정의 런 값을 도시한다. 한편, 레벨 계산기 LevCal은 지그재그 스캐너 Scan로부터 출력되는 양자화된 성분 Coef에 근거하여 연속하는 영 계수에 후속하는 비영 계수의 값을 계산하여, 계산된 값을 나타내는 레벨 값 Lev를 출력한다. 도 3의 (e)는 레벨 값이 출력되는 순서(20, -10, 5, 2, 1, -1, 1)에 따라, 레벨 계산기 LevCal로부터 연속적으로 출력되는 특정의 레벨 값을 도시한다.
재배열 유닛 Rreodr은, 런 값이 출력되는 것과는 반대의 순서로 런 계산기 RunCal로부터 연속적으로 출력되는 런 값을 재배열한다. 도 3의 (f)는 재배열 유닛 Rreodr에 의해 재배열된 특정의 런 값의 변경된 순서(2, 3, 3, 1, 0, 0, 0)를 도시한다. 수 계산기 NumClc는 런 계산기 RunCal로부터 출력되는 런 값 Run에 근거하여 부호화되지 않은 계수의 수를 계산하여, 부호화되지 않은 계수의 계산된 수(이하, 부호화되지 않은 계수 수라 칭함) Cnum을 출력한다. 한편, 재배열 유닛 Lreodr은, 레벨 값이 출력되는 것과는 반대의 순서로 레벨 계산기 LevCal로부터 연속적으로 출력되는 레벨 값을 재배열한다. 도 3의 (f)는 재배열 유닛 Lreodr에 의해 재배열된 특정의 레벨 값의 변경 순서(1, -1, 1, 2, 5, -10, 20)를 도시한다.
가변 길이 부호화기 RVLC는, 수 계산기 NumClc로부터 출력되는 부호화되지 않은 영 계수의 수 Cum에 근거하여, 재배열 유닛 Rreodr로부터의 출력으로서 재배열된 런 값 RORun에 대해, 런 값 및 코드(코드 워드) 사이의 대응을 나타내는 복수의 코드 테이블을 이용하여 런 값 RORun에 코드(코드 워드)를 할당하는 가변 길이 부호화 처리를 실시하여, 런 값 코드 스트링 RStr을 출력한다. 한편, 가변 길이 부호화기 LVLC는, 양자화 유닛 Q로부터의 양자화 파라미터 QP 및 가변 길이 부호화의 외부 지시 선택으로부터의 선택 신호 VlcSel에 근거하여, 재배열 유닛 Lreodr로부터의 출력으로서 재배열된 레벨 값 ROLev에 대해, 레벨 값 및 코드(코드 워드) 사이의 대응을 나타내는 복수의 코드 테이블을 이용하여, 레벨 값 ROL에 코드(코드 워드)를 할당하는 가변 길이 부호화 처리를 실시하여, 레벨 값 코드 스트링 LStr을 출력한다.
그리고 나서, 멀티플렉서 MUX는 블록 단위로, 레벨 값 코드 스트링 LStr 및 런 값 코드 스트링 RStr을 멀티플렉싱하여, 멀티플렉싱된 부호화 스트림 Str1을 출력한다.
여기서, 레벨 값 코드 스트링 LStr 및 런 값 코드 스트링 RStr을 멀티플렉싱하는 처리는, 블록 단위로 수행되는데, 예를 들어, 타겟 블록의 모든 런 값에 대응하는 코드 스트링 RStr에, 타겟 블록의 모든 레벨 값에 대응하는 코드 스트링 LStr이 후속하거나, 또는 타겟 블록의 모든 레벨 값에 대응하는 코드 스트링 LStr에, 타겟 블록의 모든 런 값에 대응하는 코드 스트링 RStr이 후속하는 방식으로 수행된다.
이후, 가변 길이 부호화기 LVLC의 동작에 대해 도 4를 참조하여 구체적으로 설명한다.
가변 길이 부호화기 LVLC는 양자화 유닛 Q로부터 양자화 파라미터 QP를 취득하고(단계 Sa1), 취득된 양자화 파라미터 QP의 값이 가변 길이 부호화기 LVLC에 유지되는, 양자화 파라미터 QP의 임계값 이상인지를 판정한다(단계 Sa2).
이러한 판정 결과는, 취득된 양자화 파라미터 QP의 값이 양자화 파라미터 QP의 임계값보다 작음을 나타내는 경우, 가변 길이 부호화기 LVLC는 레벨 값의 배치 Alev 및 코드(코드 워드)의 배치 Cs1에 의해 구성되는 코드 테이블 L1을 선택하는(도 4의 (b) 참조)(단계 Sa3) 한편, 취득된 양자화 파라미터 QP의 값이 양자화 파라미터 QP의 임계값 이상인 경우, 레벨 값의 배치 Alev 및 코드(코드 워드)의 배치 Cs2에 의해 구성되는 코드 테이블 L2를 선택한다(도 4의 (b) 참조)(단계 Sa4).
그 다음에, 가변 길이 부호화기 LVLC는 타겟 블록 내에 부호화되지 않은 레벨 값 Lev가 존재하는지 여부를 판정한다(단계 Sa5). 부호화되지 않은 레벨 값 Lev가 타겟 블록 내에 포함되는 경우, 가변 길이 부호화기 LVLC는 선택된 코드 테이블을 이용하여 레벨 값을 부호화는 처리, 즉, 레벨 값에 대응하는 코드를 할당하는 처리를 수행하고(단계 Sa6), 이후 단계 Sa5의 처리를 수행한다. 한편, 단계 Sa5에서의 판정 결과는 타겟 블록 내에 부호화되지 않은 레벨 값 Lev가 존재하지 않음을 나타내고, 가변 길이 부호화기 LVLC는 레벨 값 Lev에 대한 가변 길이 부호화 처리를 종료한다.
여기서, VLC 선택 신호 VlcSel가 특정의 코드 테이블을 이용하여 가변 길이 부호화 처리를 미리 지정하는 경우, 가변 길이 부호화기 LVLC는 양자화 파라미터 QP의 값에 관계없이, 특정의 코드 테이블을 이용함으로써 레벨 값에 대한 가변 길이 부호화 처리를 수행한다.
다음에, 도 5를 참조하여 가변 길이 부호화기 RVLC의 동작에 대해 구체적으로 설명한다.
가변 길이 부호화기 RVLC는 수 계산기 NumClc로부터의 출력(부호화되지 않은 계수의 수) Cnum에 근거하여 타겟 블록 내에 부호화되지 않은 비영 계수가 존재하는지 여부를 판정한다(단계 Sb1). 판정 결과가 부호화되지 않은 비영 계수가 존재함을 나타내는 경우, 가변 길이 부호화기 RVLC는 수 계산기 NumClc로부터의 출력 Cnum에 근거하여 타겟 블록 내에 부호화되지 않은 영 계수의 수를 계산한다(단계 Sb2).
그 다음에, 가변 길이 부호화기 RVLC는 부호화되지 않은 영 계수의 계산된 수에 따라 코드 테이블을 선택한다(단계 Sb3). 보다 구체적으로, 가변 길이 부호화기 RVLC는 부호화되지 않은 영 계수의 수가 1인 경우, 런 값의 배치 Arun 및 코드(코드 워드)의 배치 Cb1에 의해 구성되는 코드 테이블 R1을 선택한다. 마찬가지로, 가변 길이 부호화기 RVLC는 부호화되지 않은 영 계수의 수가 2인 경우, 코드 테이블 R2를 선택하고, 부호화되지 않은 영 계수의 수가 3인 경우, 코드 테이블 R3을 선택하며, 부호화되지 않은 영 계수의 수가 4인 경우, 코드 테이블 R4를 선택한다. 또한, 가변 길이 부호화기 RVLC는 부호화되지 않은 영 계수의 수가 5인 경우, 코드 테이블 R5를 선택하고, 부호화되지 않은 영 계수의 수가 6인 경우, 코드 테이블 R6을 선택하며, 부호화되지 않은 영 계수의 수가 7인 경우, 코드 테이블 R8을 각각 선택한다. 또한, 가변 길이 부호화기 RVLC는 부호화되지 않은 영 계수의 수가 8 이상인 경우, 코드 테이블 R8을 선택한다.
다음에, 가변 길이 부호화기 RVLC는 선택된 코드 테이블을 이용하여 런 값 Run을 부호화하는 처리, 즉, 런 값에 대응하는 코드를 할당하는 처리를 수행하고(단계 Sb4), 그 다음에, 단계 Sb1의 판정 처리를 수행한다.
여기서, 단계 Sb1에서 판정 결과가 부호화되지 않은 비영 계수가 존재하지 않음을 나타내는 경우, 가변 길이 부호화기 RVLC는 런 값에 대한 가변 길이 부호화 처리를 종료한다.
다음에, 전술한 바와 같은 레벨 값의 가변 길이 부호화에서의 양자화 파라미터에 근거하여 코드 테이블이 선택되어, 부호화 효율을 증대시키는 특정의 예에 대해 설명한다.
도 6은 양자화 파라미터 QP가 비교적 작은 경우, 즉, 재배열 유닛 Lreodr로부터 출력되고 재배열된 레벨 계산기 LevCal로부터의 출력(레벨 값)이 도 3의 (f)에 도시한 바와 같이, 1, -1, 1, 2, 5, -10, 20인 경우, 레벨 값에 할당되는 코드에 대응하는 비트의 총 수를 도시한다.
양자화 파라미터 QP가 임계값 이상인 것으로 판정되어, 코드 테이블 L2가 채용되는 경우, 도 6의 (a)에 도시한 바와 같이, 제각각의 레벨 값에 코드(코드 워드)가 할당되며, 할당된 코드에 대응하는 비트의 총 수는 75 비트이다.
한편, 양자화 파라미터 QP가 임계값보다 작은 것으로 판정되어, 코드 테이블 L1이 채용되는 경우, 도 6의 (b)에 도시한 바와 같이, 제각각의 레벨 값에 코드(코드 워드)가 할당되며, 할당된 코드에 대응하는 비트의 총 수는 47 비트이다.
양자화 파라미터 QP가 비교적 작은 경우, 보다 큰 값을 갖는 양자화된 성분의 발생 빈도는 높다. 따라서, 부호화 효율을 증대시키기 위해서는, 코드 테이블 L2에 비해, 그 절대값이 비교적 큰 레벨 값에 평균적으로 보다 짧은 코드가 대응하게 되는 코드 테이블 L1을 선택하는 것이 효과적이다.
도 7은 양자화 파라미터 QP가 비교적 큰 경우, 즉, 재배열 유닛 Lreodr로부터 출력되고 재배열된 레벨 계산기 LevCal로부터의 출력(레벨 값)이 도 3의 (f)에 도시한 경우와 달리, 1, -1, 1, 1, 1, -2, 3인 경우, 레벨 값에 할당되는 코드에 대응하는 비트의 총 수를 도시한다.
양자화 파라미터 QP가 임계값 이상인 것으로 판정되어, 코드 테이블 L2가 채용되는 경우, 도 7의 (a)에 도시한 바와 같이, 제각각의 레벨 값에 코드(코드 워드)가 할당되며, 할당된 코드에 대응하는 비트의 총 수는 15 비트이다.
한편, 양자화 파라미터 QP가 임계값보다 작은 것으로 판정되어, 코드 테이블 L1이 채용되는 경우, 도 7의 (b)에 도시한 바와 같이, 제각각의 레벨 값에 코드(코드 워드)가 할당되며, 할당된 코드에 대응하는 비트의 총 수는 17 비트이다.
전술한 바와 같이, 양자화 파라미터 QP가 비교적 큰 경우, 보다 큰 값을 갖는 양자화 계수의 발생 빈도는 낮다. 따라서, 부호화 효율을 증대시키기 위해서는, 코드 테이블 L1에 비해, 그 절대값이 비교적 작은 레벨 값에 집중적으로 보다 짧은 코드가 대응하게 되는 코드 테이블 L2를 선택하는 것이 효과적이다.
도 8은 런 값이 도 3의 (e)에 도시한 바와 같이, 0, 0, 0, 1, 3, 3, 2인 경우 런 계산기 RunCal로부터 출력된 런 값에 할당되는 코드에 대응하는 비트의 총 수를 도시한다.
런 길이 부호화 유닛 RLE1에서와 같이 런 값의 재배열 및 코드 테이블의 변경이 수행되지는 않으나 도 5의 (b)에 도시한 바와 같은 코드 테이블 R8이 항상 채용되는 경우, 코드(코드 워드)는 도 8의 (a)에 도시한 바와 같이 런 값에 제각기 할당되고, 할당된 코드에 대응하는 비트의 총 수는 21 비트이다.
런 길이 부호화 유닛 RLE1에서와 같이 부호화되지 않은 영 계수의 수에 따라 런 값의 재배열 및 코드 테이블의 변경이 수행되고 도 8의 (b)에 도시한 바와 같은 코드 테이블 R8이 채용되는 경우, 코드(코드 워드)는 도 8의 (b)에 도시한 바와 같이 런 값에 제각기 할당되고, 할당된 코드에 대응하는 비트의 총 수는 13 비트이다. 여기서, 런 값에 코드가 할당될 때마다, 부호화되지 않은 계수의 수는, 바로 이전에 부호화되어 있는 런 값에 1을 가산함으로써 취득되는 값만큼 감소된다. 이것은 단일의 영 계수 또는 연속하는 영 계수에, 하나의 비영 계수가 항상 후속하기 때문이다. 또한, 재배열 유닛 Rreodr로부터 출력되는 하나의 블록에 대응하는 복수의 재배열된 런 값으로부터 취득된 부호화되지 않은 영 계수의 수는 15이다. 이것은 처리될 블록이 적어도 하나의 비영 계수를 갖기 때문이다.
런 길이 부호화 유닛 RLE1에서와 같이 런 값의 재배열이 수행되지 않으나 부호화되지 않은 영 계수의 수에 따라 코드 테이블의 변경만이 수행되는 경우, 도 8의 (c)에 도시한 바와 같이 런 값에 코드(코드 워드)가 제각기 할당되며, 할당된 코드에 대응하는 비트의 총 수는 20 비트이다.
전술한 바와 같이, 실시예 1에 따른 이미지 부호화 장치(101)는 그 값이 영(영 계수) Coef인 연속하는 양자화된 성분의 수를 나타내는 런 값 Run과, 그 값이 영 계수에 후속하는 영이 아닌(비영 계수) 양자화된 성분 Coef의 값을 나타내는 레벨 값 Lev를 이용하여, 이미지 신호의 주파수 성분을 양자화함으로써 취득되는 양자화된 계수를 부호화하는 런 길이 부호화 유닛 RLE1을 포함한다. 따라서, 양자화된 계수는 보다 높은 부호화 효율에서 부호화되어, 그 리던던트 정보가 제거될 수 있다.
또한, 실시예 1에 따른 런 길이 부호화 유닛 RLE1은 양자화 파라미터 QP의 값에 따라 코드 테이블을 선택하고, 선택된 코드 테이블을 이용함으로써 레벨 값의 가변 길이 부호화를 수행하여, 레벨 값에 할당되는 코드에 대응하는 비트의 총 수를 저감하는 가변 길이 부호화기 LVLC를 포함한다. 런 길이 부호화 유닛 RLE1은 고주파 성분으로부터 저주파 성분까지, 사전 결정된 처리 순서가 주어진 양자화된 계수로부터 취득되는 복수의 런 값을 재배열하는 재배열 유닛 Rreodr과, 타겟 블록 내의 부호화되지 않은 영 계수의 수에 따라 코드 테이블을 선택하고, 선택된 코드 테이블을 이용하여 재배열된 런 값의 가변 길이 부호화를 수행하는 가변 길이 부호화기 RVLC를 더 포함한다. 따라서, 런 값에 할당되는 코드에 대응하는 비트의 총 수가 효과적으로 감소되어, 부호화 효율을 증대시킨다.
본 실시예 1에서, 가변 길이 부호화기 RVLC는, 타겟 블록 내의 부호화되지 않은 영 계수의 수(즉, 수 계산기 NumClc로부터의 출력 Cnum)에 따라 코드 테이블을 선택한다. 그러나, 가변 길이 부호화기 RVLC는 수 계산기 NumClc로부터의 출력 Cnum 뿐만 아니라 VLC 선택 신호 VlcSel에도 근거하여 코드 테이블을 선택할 수도 있다. 예를 들어, 특정의 코드 테이블을 이용하는 가변 길이 부호화 처리가 VLC 선택 신호 VlcSel에 의해 미리 표시되는 경우, 가변 길이 부호화기 RVLC는 타겟 블록 내의 부호화되지 않은 영 계수의 수에 관계없이, 특정의 코드 테이블을 이용함으로써 런 값에 대한 가변 길이 부호화 처리를 수행한다.
(실시예 2)
도 9는 본 발명의 실시예 2에 따른 이미지 복호화 장치를 설명하는 블록도이다.
실시예 2에 따른 본 이미지 복호화 장치(102)는, 예를 들어, 실시예 1의 이미지 부호화 장치(101)로부터 출력되는 부호화된 스트림 Str1을 복호화한다.
이미지 복호화 장치(102)는, 입력되는 부호화된 스트림 Str0b에 가변 길이 복호화 처리를 실시하는 도 36에 도시한 통상적인 이미지 부호화 장치(201b)의 런 길이 복호화 유닛 RLD0b 대신에, 양자화 파라미터 QP 및 VLC 선택 신호 VlcSel에 근거하여, 입력되는 부호화된 스트림 Str1에 가변 길이 복호화 처리를 실시하여, 양자화된 계수를 재구성하는 런 길이 복호화 유닛 RLD1을 갖는다. 런 길이 복호화 유닛 RLD1을 제외한 구성은 도 36에 도시한 바와 같은 이미지 복호화 장치(202b)의 구성과 동일하다.
도 10은 런 길이 복호화 유닛 RLD1의 구체적인 구성을 설명하는 블록도이다.
런 길이 복호화 유닛 RLD1은, 도 37에 도시한 바와 같은 통상적인 런 길이 복호화 유닛 RLD0b와 같이, 이미지 부호화 장치(101)로부터 출력되는 멀티플렉싱된 부호화 스트림 Str1을 디멀티플렉싱하여 레벨 값에 대응하는 코드 스트링 LStr 및 런 값에 대응하는 코드 스트링 RStr을 취득한다.
런 길이 복호화 유닛 RLD1은, 양자화 파라미터 QP 및 VLD 선택 신호 VldSel에 근거하여, 멀티플렉싱된 부호화 스트림 Str1을 디멀티플렉싱하여 취득되는 레벨 값 코드 스트링 LStr에 가변 길이 복호화 처리를 실시하여, 레벨 값 ROLev를 재구성하는 가변 길이 복호화기 LVLD와, 복호화되지 않은 계수의 수에 근거하여, 멀티플렉싱된 부호화 스트림 Str1을 디멀티플렉싱하여 취득되는 런 값 코드 스트링 RStr에 가변 길이 복호화 처리를 실시하여, 런 값 RORun을 재구성하는 가변 길이 복호화기 RVLD를 갖는다.
런 길이 복호화 유닛 RLD1은, 부호화 종단(coding end)에서 재배열 유닛 Lreodr의 순서와 반대의 순서로 가변 길이 복호화기 LVLD로부터 출력된 레벨 값 ROLev를 재배열하여 부호화 종단에서 레벨 계산기로부터의 출력 Lev를 재구성하는 역재배열 유닛 LIreodr과, 부호화 종단에서 재배열 유닛 Rreodr의 순서와 반대의 순서로 가변 길이 복호화기 RVLD로부터 출력된 런 값 RORun을 재배열하여 부호화 종단에서 런 계산기로부터의 출력 Run을 재구성하는 역재배열 유닛 RIreodr과, 역재배열 유닛 RIreodr로부터의 출력에 근거하여 타겟 블록 내의 복호화되지 않은 계수의 수 Cnum을 계산하여 취득된 수를 출력하는 수 계산기 NumClc를 더 포함한다.
런 길이 복호화 유닛 RLD1은, 레벨 값 Lev 및 런 값 Run에 의해 나타내어지는, 1 차원 어레이의 복호화된 양자화 성분으로부터 2 차원 어레이의 복호화된 양자화 성분 DQS를 재구성하는 역지그재그 스캐너 IScan을 더 포함한다.
도 11은 가변 길이 복호화기 LVLD에 의해 가변 길이 복호화 처리를 설명하는 도면이다. 도 11의 (a)는 레벨 값을 재구성하는 가변 길이 복호화 처리를 설명하는 도면이고, 도 11의 (b)는 가변 길이 복호화 처리에 채용되는 코드 테이블을 나타내는 예시적인 도면이다. 여기서, 레벨 값에 대한 가변 길이 복호화 처리에 채용되는 코드 테이블 L1 및 L2는 실시예 1에 따른 런 길이 부호화 유닛 RLE1에서의 레벨 값에 대한 부호화 처리에 채용되는 코드 테이블 L1 및 L2와 동일하다.
도 12는 가변 길이 복호화기 RVLD에 의해 가변 길이 복호화 처리를 설명하는 도면이다. 도 12의 (a)는 런 값을 재구성하는 가변 길이 복호화 처리를 설명하는 플로우차트이다. 도 12의 (b)는 가변 길이 복호화 처리에 채용되는 코드 테이블을 나타내는 예시적인 도면이다. 여기서, 런 값에 대한 가변 길이 복호화 처리에 채용되는 코드 테이블 R1 내지 R8은, 실시예 1에 따른 런 길이 부호화 유닛 RLE1에서의 런 값에 대한 부호화 처리에 채용되는 코드 테이블 R1 내지 R8과 각각 동일하다.
다음에, 그 동작에 대해 설명한다.
멀티플렉싱된 부호화 스트림 Str1이, 예를 들어, 실시예 1에 따른 이미지 부호화 장치(101)로부터 이미지 복호화 장치(102)에 입력되는 경우, 런 길이 복호화 유닛 RLD1은 부호화된 스트림 Str1에 복호화 처리를 실시하여 복호화된 양자화 성분 DQS를 출력한다. 런 길이 복호화 유닛 RLD1의 동작은, 런 길이 부호화 유닛 RLE1의 동작과 반대이다.
보다 구체적으로는, 런 길이 복호화 유닛 RLD1에서, 디멀티플렉서 DMUX는 입력된 멀티플렉싱된 부호화 스트림 Str1을 디멀티플렉싱하여 레벨 값에 대응하는 레벨 값 코드 스트링 LStr 및 런 값에 대응하는 런 값 코드 스트링 RStr을 취득하고, 레벨 값 코드 스트링 및 런 값 코드 스트링을 가변 길이 복호화기 LVLD 및 가변 길이 복호화기 RVLD에 제각기 출력한다.
가변 길이 복호화기 LVLD는 양자화 유닛 Q로부터의 양자화 파라미터 QP 및 가변 길이 복호화의 외부 지시 선택으로부터의 VLD 선택 신호 VldSel에 근거하여, 레벨 값 및 코드(코드 워드) 사이의 대응을 나타내는 복수의 코드 테이블을 이용함으로써, 디멀티플렉서 DMUX로부터 취득된 레벨 값 코드 스트링 LStr에 대한 제각기 코드(코드 워드)에 대응하는 레벨 값 ROLev를 취득하여, 취득된 레벨 값을 역재배열 유닛 LIreodr에 출력한다. 한편, 가변 길이 복호화기 RVLD는 수 계산기 NumClc로부터 출력되는 부호화되지 않은 수 Cnum에 근거하여, 런 값 및 코드(코드 워드) 사이의 대응을 나타내는 복수의 코드 테이블을 이용함으로써, 디멀티플렉서 DMUX로부터 취득된 런 값 코드 스트링 RStr에 대한 제각각의 코드(코드 워드)에 대응하는 런 값 ROLev를 취득하여, 취득된 런 값을 역재배열 유닛 RIreodr에 출력한다.
역재배열 유닛 LIreodr은 가변 길이 복호화기 LVLD로부터 출력되는 레벨 값 ROLev에, 부호화 종단에서 재배열 유닛 Lreodr에 의해 역배치 처리를 실시하여, 부호화 종단에서 레벨 계산기로부터의 출력 Lev를 재구성한다. 한편, 역재배열 유닛 RIreodr은 가변 길이 복호화기 RVLD로부터 출력되는 런 값 RORun에, 부호화 종단에서 재배열 유닛 Rreodr의 처리와 반대인 배치 처리를 실시하여, 부호화 종단에서 레벨 계산기로부터의 출력 Eun을 재구성한다. 또한, 수 계산기 NumClc는 역재배열 유닛 RIreodr로부터의 출력 Run에 근거하여 타겟 블록 내의 복호화되지 않은 계수의 수 Cnum을 계산하여 취득된 수 Cnum을 계산하여, 가변 길이 복호화기 RVLD에 출력한다.
그리고 나서, 역지그재그 스캐너 IScan은 지그재그 스캐너 Scan의 동작과 반대인 동작을 수행하여, 레벨 값 Lev 및 런 값 Run에 의해 나타내어지는 1 차원 어레이의 양자화된 성분으로부터 2 차원 어레이의 복호화된 양자화 성분 DQS를 재구성하여, 취득된 양자화 성분 DQS를 역양자화 유닛 IQ에 출력한다.
이하, 가변 길이 복호화기 LVLD의 동작에 대해 도 11을 참조하여 구체적으로 설명한다.
가변 길이 복호화기 LVLD는 이미지 부호화 장치(101)의 양자화 유닛 Q로부터 양자화 파라미터 QP를 취득하고(단계 Sc1), 취득된 양자화 파라미터 QP가 가변 길이 복호화기 LVLD에 유지되는, 양자화 파라미터 QP의 임계값 이상인지를 판정한다(단계 Sc2).
이러한 판정 결과가, 취득된 양자화 파라미터 QP가 양자화 파라미터 QP의 임계값보다 작은 것을 나타내는 경우, 가변 길이 복호화기 LVLD는 레벨 값의 배치 Alev 및 코드(코드 워드)의 배치 Ca1에 의해 구성되는 코드 테이블 L1(도 11의 (b) 참조)을 선택하는(단계 Sc3) 한편, 취득된 양자화 파라미터 QP가 양자화 파라미터 QP의 임계값 이상인 경우, 레벨 값의 배치 Alev 및 코드(코드 워드)의 배치 Ca2에 의해 구성되는 코드 테이블 L2(도 11의 (b) 참조)를 선택한다(단계 Sc4).
이후, 가변 길이 복호화기 LVLD는 타겟 블록 내에 임의의 부호화되지 않은 레벨 값 Lev가 존재하는지 여부를 판정한다(단계 Sc5). 부호화되지 않은 레벨 값 Lev가 타겟 블록 내에 포함되는 경우, 가변 길이 복호화기는 선택된 코드 테이블을 이용함으로써 레벨 값을 재구성화는 복호화 처리, 즉, 코드에 대응하는 레벨 값을 취득하는 처리를 수행하고(단계 Sc6), 그리고 나서 상술한 단계 Sc5의 처리를 수행한다. 한편, 단계 Sc5에서의 판정 결과는 타겟 블록 내에 복호화되지 않은 레벨 값 Lev가 존재하지 않음을 나타내고, 가변 길이 복호화기는 레벨 값 Lev를 재구성하는 가변 길이 복호화 처리를 종료한다.
여기서, VLD 선택 신호 VldSel가 특정의 코드 테이블을 이용하여 가변 길이 복호화 처리를 미리 지정하는 경우, 가변 길이 복호화기 LVLD는 양자화 파라미터 QP의 값에 관계없이, 특정의 코드 테이블을 이용함으로써 레벨 값을 재구성하는 가변 길이 복호화 처리를 수행한다.
다음에, 도 12를 참조하여 가변 길이 복호화기 RVLD의 동작에 대해 구체적으로 설명한다.
가변 길이 부호화기 RVLD는 수 계산기 BunClc로부터의 출력(복호화되지 않은 계수의 수)에 근거하여 타겟 블록 내에 복호화되지 않은 비영 계수가 존재하는지 여부를 판정한다(단계 Sd1). 판정 결과가 복호화되지 않은 비영 계수가 존재함을 나타내는 경우, 가변 길이 복호화기는 복호화되지 않은 계수의 수 Cnum에 근거하여 타겟 블록 내에 복호화되지 않은 영 계수를 계산한다는 것을 나타낸다(단계 Sd2).
가변 길이 복호화기 RVLC는 복호화되지 않은 영 계수의 취득된 수에 따라 코드 테이블을 선택한다(단계 Sd3). 보다 구체적으로, 가변 길이 복호화기는 복호화되지 않은 영 계수의 수가 1인 경우, 런 값의 배치 Arun 및 코드(코드 워드)의 배치 Cb1에 의해 구성되는 코드 테이블 R1을 선택한다(도 12의 (b) 참조). 마찬가지로, 가변 길이 복호화기는 복호화되지 않은 영 계수의 수가 2인 경우, 코드 테이블 R2를 선택하고, 복호화되지 않은 영 계수의 수가 3인 경우, 코드 테이블 R3을 선택하며, 복호화되지 않은 영 계수의 수가 4인 경우, 코드 테이블 R4를 선택한다. 또한, 가변 길이 복호화기는 복호화되지 않은 영 계수의 수가 5인 경우, 코드 테이블 R5를 선택하고, 복호화되지 않은 영 계수의 수가 6인 경우, 코드 테이블 R6을 선택하며, 복호화되지 않은 영 계수의 수가 7인 경우, 코드 테이블 R8을 각각 선택한다. 또한, 가변 길이 복호화기 RVLD는 복호화되지 않은 영 계수의 수가 8 이상인 경우, 코드 테이블 R8을 선택한다.
다음에, 가변 길이 복호화기 RVLD는 선택된 코드 테이블을 이용하여 런 값 Run을 재구성하는 복호화 처리, 즉, 제각각의 코드에 대해 대응하는 런 값을 취득하는 처리를 수행하고(단계 Sd4), 그 다음에, 단계 Sd1의 판정 처리를 수행한다.
또한, Sd1에서 판정 결과가 복호화되지 않는 비영 계수가 존재하지 않음을 나타내는 경우, 가변 길이 복호화기 RVLD는 런 값을 재구성하는 가변 길이 복호화 처리를 종료한다.
실시예 2에 따른 본 이미지 복호화 장치(102)에서, 역양자화 유닛 IQ, 역주파수 변환 유닛 ITrans, 및 디블록킹 유닛 DeBlk는, 통상적인 이미지 복호화 장치(202a)(도 32 참조) 및 이미지 복호화 장치(202b)(도 36 참조)에서의 동작과 동일한 방식으로 동작한다.
보다 구체적으로, 역양자화 유닛 IQ는 양자화 유닛 Q의 역동작, 즉, 양자화 파라미터 QP를 참조하여 복호화된 양자화 성분 DQS를 역양자화하는 동작을 수행하여, 복호화된 주파수 성분 ITransS를 출력한다. 역주파수 변환 유닛 ITrans는 주파수 변환 유닛 Trans의 역동작, 즉, 역DCT 또는 역웨이블렛 변환에 따라 각 블록에 대응하는 복호화된 주파수 성분 ITransS를 변환하는 동작을 수행하여, 제각각의 블록에 대응하는 복호화된 화소 값 신호 DBlks를 재구성한다. 그리고 나서, 디블록킹 유닛 DBlks는 제각각의 블록의 복호화된 화소 값 성분 DBlks를 통합하여, 각 픽쳐(프레임)에 대응하는 복호화된 이미지 신호 Vout를 출력한다.
전술한 바와 같이, 실시예 2에 따른 이미지 복호화 장치(101)는, 부호화된 데이터를 각각 구성하는 런 코드 스트링 RStr 및 레벨 코드 스트링 LStr을, 연속하는 영 계수 Coef의 수를 나타내는 런 값 Run과, 영 계수에 후속하는 비영 계수의 값을 나타내는 레벨 값 Lev로 변환하여, 런 값 및 레벨 값에 근거하여 양자화된 계수를 재구성하는 런 길이 복호화 유닛 RLD1을 포함한다. 따라서, 양자화된 계수가 보다 높은 부호화 효율로 부호화되어, 그 리던던트 정보가 제거될 수 있는 가변 길이 부호화 처리에 대응하는 가변 복호화 처리가 만족스럽게 수행될 수 있다.
또한, 실시예 2에 따른 런 길이 복호화 유닛 RLD1은, 양자화 파라미터 QP의 값에 따라 코드 테이블을 선택하고, 선택된 코드 테이블을 이용함으로써 레벨 값을 재구성하는 가변 길이 복호화를 수행하는 가변 길이 복호화기 LVLD를 포함한다. 따라서, 레벨 값에 할당되는 코드에 대응하는 저감된 비트의 총 수로 이루어지는 레벨 값 코드 스트링이 만족스럽게 복호화될 수 있다.
런 길이 복호화 유닛 RLD1은, 타겟 블록 내에 복호화되지 않은 영 계수의 수에 따라 코드 테이블을 선택하고 선택된 코드 테이블을 이용함으로써 재배열된 런 값에 대응하는 코드 스트링을 복호화하는 가변 길이 복호화기 RVLD와, 런 길이 부호화 유닛 RLE1에서 런 값에 대한 재배열 처리와 반대의 순서로 복호화 처리에 의해 취득되는 런 값을 재배열하는 역재배열 유닛 RIreodr을 더 포함한다. 따라서, 런 값에 할당되는 코드에 대응하는 비트의 총 수가 효과적으로 저감될 수 있고, 런 값을 포함하는 런 값 코드 스트링이 만족스럽게 복호화될 수 있다.
본 실시예 2에서, 가변 길이 복호화기 RVLD는, 타겟 블록 내의 복호화되지 않은 영 계수의 수(즉, 수 계산기 NumClc로부터의 출력 Cnum)에 따라 코드 테이블을 선택하나, 가변 길이 복호화기 RVLD는 수 계산기 NumClc로부터의 출력 Cnum 뿐만 아니라 VLD 선택 신호 VldSel에도 근거하여 코드 테이블을 선택할 수도 있다. 예를 들어, 특정의 코드 테이블을 이용하는 가변 길이 복호화 처리가 VLD 선택 신호 VldSel에 의해 미리 표시되는 경우, 가변 길이 복호화기 RVLD는 타겟 블록 내의 복호화되지 않은 영 계수의 수에 관계없이, 특정의 코드 테이블을 이용함으로써 가변 길이 복호화 처리를 수행하여 런 값을 재구성한다.
(실시예 3)
도 13은 본 발명의 실시예 3에 따른 이미지 부호화 장치를 설명하는 블록도이다.
실시예 3에 따른 본 이미지 부호화 장치(103)는, 양자화 유닛 Q로부터의 출력(양자화된 성분) QS에 가변 길이 부호화 처리를 실시하여, 부호화된 스트림 Stroc를 출력하는 도 38에 도시한 통상적인 이미지 부호화 장치(201c)의 런 길이 부호화 유닛 RLE0c 대신에, 양자화 파라미터 QP 및 VLC 선택 신호 VlcSel에 근거하여 양자화 유닛 Q로부터의 출력 QS에 가변 길이 부호화 처리를 실시하여, 부호화된 스트림 Str2를 출력하는 런 길이 부호화 유닛 RLE2를 갖는다.
보다 구체적으로, 런 길이 부호화 유닛 RLE2는, 통상적인 런 길이 부호화 유닛 RLE0c와 마찬가지로, 런 값 및 레벨 값의 조합에 따라, 런 값 및 레벨 값의 쌍(이하, 런-레벨 쌍이라 지칭됨) 및 대응하는 코드 사이의 대응을 나타내는 제 1 코드 테이블 T1(도 42 참조)을 갖는다. 이러한 런 길이 부호화 유닛 RLE2는 제 1 코드 테이블에 근거하여, 제 1 코드 테이블 내의 런-레벨 쌍 및 코드 사이의 대응을 규칙적으로 변경시켜, 제 1 코드 테이블과 상이한 대응을 갖는 제 2 코드 테이블을 형성하고, 양자화 유닛 Q로부터 출력되는 양자화 파라미터 QP 및 외부로부터의 VLC 선택 신호 VlcSel에 근거하여 제 1 및 제 2 코드 테이블 중 하나를 선택할 뿐만 아니라, 선택된 코드 테이블에 근거하여, 처리될 타겟 데이터 내의 계수와 연관된 런-레벨 쌍에 코드를 할당한다.
여기서, 양자화 파라미터 QP는 양자화 스텝의 값을 나타내는 파라미터이며, 양자화 스텝은 양자화 파라미터 QP에 대략 비례한다. 보다 구체적으로, 양자화 파라미터 QP가 큰 경우, 양자화 성분은 보다 작은 절대값을 가지며, 양자화된 성분의 제로 런(그 값이 영인 연속적으로 계속되는 성분의 길이)이 길게 되고, 따라서 레벨 값은 보다 작은 절대값을 갖는다. 따라서, 이 경우, 보다 큰 런 값 및 보다 작은 레벨 값으로 이루어지는 런-레벨 쌍에 보다 작은 코드가 할당되는 코드 테이블이 선택되어, 부호화 효율을 증대시킨다. 반대로, 양자화 파라미터 QP가 보다 작은 경우, 양자화된 성분은 보다 큰 절대값을 갖는다. 따라서, 보다 작은 런 값 및 보다 큰 레벨 값으로 이루어지는 런-레벨 쌍에 보다 짧은 코드가 할당되는 코드 테이블이 선택되어, 부호화 효율을 증대시킨다.
또한, 이미지 부호화 장치(103)의 외부로부터 VLC 선택 신호 VlcSel가 입력되는 경우, 런 길이 부호화 유닛 RLE2는 선택 신호 VlcSel에 따라 부호화 처리에 채용되는 코드 테이블을 선택한다. 따라서, 이미지 특성(이미지 모션의 값, 모션의 복잡성, 패턴의 세밀성 등)에 따라 적절한 코드 테이블이 외부로부터 선택되는 경우, 또는, 단지 하나의 코드 테이블만을 포함하는 이미지 복호화 장치에 의해 복호화될 수 있는 스트림이 이미지 부호화 장치(103)의 측면 상에 형성되는 경우, 이러한 이미지 부호화 장치(103)는 사전 결정된 코드 테이블을 이용하여 VLC 선택 신호 VlcSel에 의해 항상 제어될 수 있다. 즉, 코드 테이블을 변경하지 않고 단지 하나의 코드 테이블을 이용하여 가변 길이 부호화 처리를 수행하는 것이 또한 가능하다.
도 14는 런 길이 부호화 유닛 RLE2의 구체적인 구성을 설명하는 블록도이다.
런 길이 부호화 유닛 RLE2는, 통상적인 런 길이 부호화 유닛 RLE0c(도 39 참조)와 마찬가지로, 양자화 유닛 Q로부터 2 차원 어레이의 출력(양자화된 성분) QS를 1 차원 어레이(즉, 사전 결정된 순서)의 양자화된 계수 Coef로 변환하는 지그재그 스캐너 Scan과, 그 값이 영 Coef(영 계수)인 연속하는 양자화된 성분의 수를 계산하여 런 값 Run을 출력하는 런 계산기 RunCal과, 그 값이 영 계수에 후속하는 영이 아닌(비영 계수) Coef인 양자화된 성분의 값을 계산하여, 레벨 값 Lev를 출력하는 레벨 계산기 LevCal을 갖는다.
본 실시예 3에서, 런 길이 부호화 유닛 RLE2는, 양자화 파라미터 QP 또는 VLC 선택 신호 VlcSel에 근거하여, 런 계산기 RunCal로부터의 출력(런 값) Run을, 런 값 Run의 상위 디지트를 나타내는 런 값 Run1과 런 값 Run의 하위 디지트를 나타내는 런 값 Run2로 분할하는 변환 처리를 수행하는 런 변환기 RunConv와, 양자화 파라미터 QP 또는 VLC 선택 신호 VlcSel에 근거하여, 레벨 계산기 LevCal로부터의 출력(레벨 값) Lev를, 레벨 값 Lev의 상위 디지트를 나타내는 레벨 값 Lev1과 레벨 값 Lev의 하위 디지트를 나타내는 레벨 값 Lev2로 분할하는 변환 처리를 수행하는 레벨 변환기 LevConv를 더 갖는다.
런 길이 부호화 유닛 RLE2는, 코드 테이블 또는 산술 연산에 따라 런 값 Run1 및 레벨 값 Lev1의 쌍(이하, 런-레벨 상위 디지트 쌍)에 대응하는 코드 번호 Code를 취득하는 런-레벨 부호화기 RunLevEnc와, 양자화 파라미터 QP 또는 VLC 선택 신호 VlcSel에 따라, 런-레벨 상위 디지트 쌍 및 코드 번호 Code 사이의 대응에 근거하여, 처리될 대상 블록에 대응하는 고주파 성분에 대한 런-레벨 상위 디지트 쌍이 보다 작은 코드 번호에 대응하도록, 런-레벨 상위 디지트 쌍을 재배열하는 처리를 수행하여, 재배열된 런-레벨 상위 디지트 쌍에 대응하는 코드 번호 ReOdrCode를 출력하는 재배열 유닛 ReOdr를 더 포함한다.
런 길이 부호화 유닛 RLE2는, 런 값 Run으로부터 부호화된 양자화 성분의 수(부호화된 계수)를 계산하여 부호화된 계수의 수 Pos를 출력하는 위치 계산기 PosCls와, 런-레벨 상위 디지트 쌍 및 코드 번호 ReOdrCode 사이의 대응에 근거하여, 레벨 값 Lev2 및 런 값 Run2로부터, 제 2 부호화 테이블에 의해 표시되는, 런-레벨 쌍에 대응하는 코드 번호 ExtCode를 출력하는 코드 변환기 CodeTrans와, 비트 스트링(코드 워드)에 코드 번호 ExtCode를 할당하여 코드 스트링 Str2를 생성하는 가변 길이 부호화기 VLC를 더 포함한다.
런 길이 부호화 유닛 RLE2 내의 지그재그 스캐너 Scan, 런 계산기 RunCal, 레벨 계산기 LevCal은 도 39에 도시한 바와 같은 통상적인 런-길이 부호화 유닛 RLE0c의 구성과 동일하다.
다음에, 기능 및 효과에 대해 설명한다.
지그재그 스캐너 Scan은, 2 차원 어레이의 양자화된 성분 QP를 1 차원 어레이, 즉, 순서가 세트되는 양자화된 성분 Coef로 변환한다. 런 계산기 RunCal은 연속하는 영 계수(그 값이 영인 양자화된 성분) Coef의 수를 계산하여 취득된 수를 나타내는 런 값 Run을 출력한다. 레벨 계산기 LevCal은 비영 성분(그 값이 영 계수에 후속하는 영이 아닌 양자화된 성분)의 값 Coef를 계산하여, 비영 성분의 값을 나타내는 레벨 값 Lev를 출력한다.
런 변환기 RunConv는 런 값 Run을, 런 값 Run의 상위 디지트를 나타내는 런 값 Run1과, 런 값 Run의 하위 디지트를 나타내는 런 값 Run2로 분할하는 변환 처리를 수행한다. 레벨 변환기 LevConv는 레벨 값 Lev를, 레벨 값 Lev의 상위 디지트를 나타내는 레벨 값 Lev1과, 레벨 값 Lev의 하위 디지트를 나타내는 레벨 값 Lev2로 분할하는 변환 처리를 수행한다.
런-레벨 부호화기 RunLevEnc는 도 42에 도시한 코드 테이블(제 1 코드 테이블) 또는 산술 연산에 따라 레벨 값 Lev1 및 런 값 Run1의 런-레벨 상위 디지트 쌍에 대응하는 코드 번호 Code를 취득한다. 재배열 유닛 ReOdr은 양자화 파라미터 QP 또는 VLC 선택 신호 VlcSel에 따라 런-레벨 상위 디지트 상을 재배열하는 처리를 수행하여, 재배열된 런-레벨 상위 디지트 상에 대응하는 코드 번호 ReOdrCode를 출력한다. 런-레벨 상위 디지트 쌍을 재배열하는 처리에 따라, 런-레벨 부호화기 RunLevEnc에 의해 취득되는, 런-레벨 상위 디지트 쌍 및 코드 번호 Code 사이의 대응은, 처리될 타겟 블록 내의 고주파 성분에 대응하는 런-레벨 상위 디지트 쌍에 보다 작은 코드 번호가 대응하는 대응으로 변환된다.
위치 계산기 PosCls는 런 값 Run으로부터의 부호화된 성분의 수를 계산하여, 부호화된 계수의 수 Pos를 출력한다. 코드 변환기 CodeTrans는 런-레벨 상위 디지트 쌍 및 코드 번호 ReOdrCode 사이의 대응에 근거하여, 레벨 값 Lev2 및 런 값 Run2로부터의 런-레벨 쌍에 대응하는 코드 번호 ExtCode를 출력한다. 이 때, 코드 변환기 CodeTrans는 위치 계산기 PosClc로부터 출력되는 부호화된 계수의 수 Pos를 채용하여, 부호화되지 않은 성분의 수를 취득한다.
여기서, 코드 변환기 CodeTrans로부터 출력되는 런-레벨 쌍에 대응하는 코드 번호 ExtCode는, 제 1 코드 테이블의 대응과 상이한 런-레벨 쌍 및 코드 번호 사이의 대응을 갖는 제 2 코드 테이블에 근거하여 취득된다. 이러한 제 2 코드 테이블은 다음과 같이 구성되는데, 즉, 제 1 코드 테이블과 상이한 런-레벨 쌍 및 코드 번호 사이의 대응을 갖는 코드 테이블이, 재배열 유닛 ReOdr에 의한 재배열 처리에 의해 우선적으로 형성되고, 그 다음에 재배열 유닛 ReOdr에 의해 형성된 이러한 코드 테이블은, 부호화된 계수의 수 Pos에 근거하여 번호 변환기 CodeTrans에 의해 수정되어, 부호화되지 않은 성분의 수를 초과하는 런 값 run에 대응하는, 런-레벨 쌍 및 코드 번호 사이의 대응을 포함하지 않도록 구성된다.
가변 길이 부호화기 VLC는 코드 번호 ExtCode에 비트 스트링(코드 워드)를 할당하여 부호화된 스트림 Str2를 생성한다.
도 15는 제 1 테이블에 근거하여 런 길이 부호화 유닛 RLE2에 의해 형성되는 제 2 코드 테이블의 예를 도시한다. 다음에, 제 1 코드 테이블은, 통상적인 런 길이 부호화 유닛 RLE0c에 채용되는 도 42에 도시한 코드 테이블과 동일하다. 제 1 및 제 2 코드 테이블에서, 비트 스트링(코드 워드)은 1 대 1 관계로 코드 번호에 할당되는 한편, 보다 작은 값을 갖는 코드 번호 Code에 보다 짧은 코드 워드가 할당됨은 물론이다.
도 15의 (a)는 제 2 코드 테이블의 예로서, 양자화 파라미터 QP가 보다 작은 경우에 적절한 제 2 코드 테이블 T2a를 도시한다.
이러한 제 2 코드 테이블 T2a는 다음과 같이 형성된다.
우선, 레벨 Lev의 1/2에 대응하는 값은 레벨 값 Lev1로서 할당되며, (Lev1×2-Lev)의 절대값은 레벨 값 Lev2로서 할당된다.
여기서, 레벨 값 Lev가 기수(odd number)인 경우, 레벨 값 Lev의 절대값보다 하나 큰 절대값을 갖는 우수(even number)를 2로 나눔으로써 취득되는 값은, 레벨 값 Lev1로서 채용된다. 보다 구체적으로, 레벨 값 Lev가 양인 경우, (Lev+1)의 1/2에 대응하는 값이 레벨 값 Lev1에 할당되는 한편, 레벨 값 Lev가 음인 경우, (Lev-1)의 1/2에 대응하는 값이 레벨 값 Lev1에 할당된다.
그 다음에, 레벨 값 Lev1 및 런 값 Run의 쌍에 대응하는 코드 번호 Code는 레벨 값 Lev 및 런 값 Run의 조합에 따라 제 1 코드 테이블(도 42 참조)로부터 취득된다.
또한, 레벨 값 Lev1 및 런 값 Run의 쌍에 대응하는 코드 번호 Code는 Lev 값이 양인 경우 다음의 수학식 1에 따라, Lev 값이 음인 경우 다음의 수학식 2에 따라, 변환된다. 제 2 코드 테이블 T2a는 상기 변환에 의해 취득되는 코드 번호 및 런-레벨 쌍 사이의 대응을 나타낸다.
예를 들어, 도 42의 코드 테이블(제 1 코드 테이블)에서 런-레벨 쌍(레벨=-2, 런=1)에 주의를 집중하는 경우, 이 런-레벨 쌍에 대응하는 코드 번호 Code는 도 42의 제 1 코드 테이블 T1에 의해 표시된 "10"으로부터 도 15의 (a)의 제 2 코드 테이블 T2a에 의해 표시된 "12"로 변환된다.
즉, 런-레벨 쌍(Lev, Run)이 (-2, 1)이므로, 이 경우, Lev1 및 Lev2는 다음과 같이 계산된다.
Lev1 = Lev·(1/2) = -1
Lev2 = |Lev1·2-Lev| = |-1·2-(-2)| = 0
따라서, (Lev1, Run)이 (-1, 1)이고, 이 런-레벨 쌍은 제 1 코드 테이블(도 42 참조)에 따라 코드 번호(Code = 6)에 대응한다.
그리고 나서, 런-레벨 쌍(Lev, Run) = (-2, 1)에 대응하는 코드 번호는 수학식 2를 이용하여 계산된다. 즉,
2×(Code-Lev2) = 2×(6-0) = 12
도 15의 (a)의 코드 테이블은, 도 42에 도시한 코드 테이블(제 1 코드 테이블)에 비해 보다 작은 런 값 및 보다 큰 레벨 값으로 이루어지는 런-레벨 쌍에, 보다 짧은 코드 번호(즉, 보다 짧은 코드 워드)가 할당되는 것을 특징으로 하며, 이것은 양자화 파리미터 QP가 보다 작은 경우에 적합하다.
도 15의 (b)는 제 2 코드 테이블의 다른 예로서, 양자화 파라미터 QP가 보다 큰 경우에 적절한 제 2 코드 테이블 T2b를 도시한다.
이러한 제 2 코드 테이블 T2b는 다음과 같이 형성된다.
우선, 런 값 Run의 1/2에 대응하는 값은 런 값 Run1로서 할당되며, (Run×2-Run)의 절대값은 런 값 Run2로서 할당된다. 여기서, 런 값이 기수인 경우, (Run+1)의 1/2에 대응하는 값의 정수 부분은, 런 값 Run1에 할당된다.
그 다음에, 레벨 값 Lev1 및 런 값 Run1의 쌍에 대응하는 코드 번호 Code는 레벨 값 Lev 및 런 값 Run의 조합에 따라, 제 1 코드 테이블(도 42 참조)로부터 취득된다.
또한, 레벨 값 Lev1 및 런 값 Run1의 쌍에 대응하는 코드 번호 Code는 Lev 값이 양인 경우 다음의 수학식 3에 따라, Lev 값이 음인 경우 다음의 수학식 4에 근거하여, 변환된다. 제 2 코드 테이블 T2b는 상기 변환의 결과로서 취득되는 코드 번호 및 런-레벨 쌍 사이의 대응을 나타낸다.
예를 들어, 도 42의 코드 테이블(제 1 코드 테이블)에서 런-레벨 쌍(레벨=-1, 런=2)에 주의를 집중하는 경우, 이 런-레벨 쌍에 대응하는 코드 번호 Code는 도 42의 제 1 코드 테이블 T1에 의해 표시된 "12"로부터 도 15의 (b)의 제 2 코드 테이블 T2b에 의해 표시된 "10"으로 변환된다.
보다 구체적으로, 이 경우, 런-레벨 쌍(Lev, Run)이 (-1, 2)이므로, Run1 및 Run2는 다음과 같이 계산된다.
Run1 = Run·(1/2) = 1
Run2 = |Run1·2-Run| = |1·2-2)| = 0
따라서, (Lev, Run1)이 (-1, 1)이고, 이 런-레벨 쌍은 제 1 코드 테이블(도 42 참조)에 따라 코드 번호(Code = 6)에 대응한다.
그리고 나서, 런-레벨 쌍(Lev, Run) = (-1, 2)에 대응하는 코드 번호는 수학식 4를 이용하여 계산된다. 즉,
2×(Code+Run2) = 2×(6-0)-2 = 10
도 15의 (b)에 도시한 코드 테이블은, 도 42에 도시한 코드 테이블(제 1 코드 테이블)에 비해 보다 큰 런 값 및 보다 작은 레벨 값으로 이루어지는 런-레벨 쌍에, 보다 짧은 코드 번호(즉, 보다 짧은 코드 워드)가 할당되는 것을 특징으로 하며, 이것은 양자화 파리미터 QP가 보다 큰 경우에 적합하다.
도 16은 런 길이 부호화 유닛 RLE2에 의해 제 1 코드 테이블에 근거하여 형성되는 제 2 코드 테이블의 다른 예를 도시한다. 여기서, 제 1 코드 테이블은 통상적인 런 길이 부호화 유닛 RLE0c에 채용되는, 도 42에 도시한 코드 테이블 T1과 동일하다.
번호 변환기 CodeTrans는 위치 계산기 PodClc로부터 출력되는 부호화된 계수의 수 Pos에 근거하여, 처리될 타겟 블록 내의 부호화되지 않은 성분의 수(부호화 처리가 아직 실시되지 않은 계수의 수)를 계산한다. 또한, 제 1 코드 테이블로부터 형성되는 제 2 코드 테이블은 부호화되지 않은 성분의 수를 초과하는 런 값을 포함하는 런-레벨 쌍에 대응하는 어떠한 코드 워드를 포함하지 않게 된다. 따라서, 보다 높은 압축 효율을 갖는 부호화가 가능하게 된다.
도 16의 (a)는 부호화되지 않은 성분의 수가 3 이상인 경우에 형성되는 제 2 코드 테이블 T2c를 도시하고, 도 16의 (b)는 부호화되지 않은 성분의 수가 2인 경우에 형성되는 제 2 코드 테이블 T2d를 도시한다. 도 16의 (c)는 부호화되지 않은 성분의 수가 1인 경우에 형성되는 제 2 코드 테이블 T2e를 도시한다.
결코 사용되지 않을 런 값을 포함하는 런-레벨 쌍 및 코드 사이의 대응이 전술한 바와 같은 코드 테이블로부터 제거되는 경우, 런-레벨 쌍에 보다 짧은 코드가 할당된다. 예를 들어, 도 16의 (c)에 도시한 바와 같은 제 2 코드 테이블 T2e에 따라, 런 값 [0] 및 레벨 값 [4]로 이루어지는 런-레벨 쌍은 코드 번호 [7]에 대응한다. 런 값 [0] 및 레벨 값 [4]로 이루어지는 런-레벨 쌍은, 도 16의 (b)에 도시한 제 2 코드 테이블 T2d에 따라 코드 번호 [11]에 대응하는 한편, 런 값 [0] 및 레벨 값 [4]로 이루어지는 런-레벨 쌍은, 도 16의 (a)에 도시한 제 2 코드 테이블 T2c에 따라 더 큰 값(도시하지 않음)을 갖는 코드 번호에 대응한다.
도 17은 실시예 3에 따른 이미지 부호화 장치(103)의 런 길이 부호화 유닛 RLE2에서의 부호화 순서의 예를 도시한다.
통상적으로, 저주파 성분에 대응하는 레벨 값의 절대값은 크고, 코드 테이블에서, 보다 큰 값을 갖는 코드 번호 Code는 저주파 성분에 대응하는 런-레벨 쌍에 대응한다. 반대로, 고주파 성분에 대응하는 레벨 값의 절대값은 작고, 코드 테이블에서, 보다 작은 값을 갖는 코드 번호 Code는 고주파 성분에 대응하는 런-레벨 쌍에 대응한다.
도 16을 참조하여 기술한 바와 같이, 코드 테이블로부터의 부호화되지 않은 성분의 수를 초과하는 런 값을 포함하는 런-레벨 쌍에 대응하는 코드 번호(코드 워드)를 제거함으로써 획득되는 압축 효율의 증대는, 코드 번호가 아직 제거되지 않은 경우에 비해 할당된 코드 번호의 값의 감소 비율이 크기 때문에, 부호화되지 않은 성분의 수가 작아짐에 따라 커지고, 레벨 값의 절대값이 커짐에 따라 커진다.
따라서, 실시예 3에 따른 이미지 부호화 장치(103)와 마찬가지로, 레벨 값의 보다 큰 절대값을 갖고 저주파 성분에 대응하는 양자화된 성분이, 이후에 런 길이 부호화 유닛 RLE2에 의해 양자화된 성분의 부호화기에서 부호화되는 경우, 부호화 효율이 더 증대된다.
보다 구체적으로, 재배열 유닛 ReOdr은 양자화된 성분을 재배열하여, 도 17의 화살표 X1 내지 X7에 도시한 바와 같이, 고주파 성분(최종 비영 성분)에 대응하는 양자화된 성분의 런-레벨 쌍으로부터 저주파 성분에 대응하는 양자화된 성분의 런-레벨 쌍으로, 연속적으로 배치되고, 저주파 성분을 갖는 양자화된 성분의 런-레벨 쌍에 대응하는 코드 워드 이후에 타겟 블록 내의 최종 부호화된 성분을 나타내는 EOB를 가산하여, 압축 효율을 증대시킨다.
또한, 실시예 3에서, 양자화 파라미터 QP 및 VLC 선택 신호 VlcSel은 레벨 변환기 LevConv, 런 변환기 RunConv, 재배열 유닛 ReOdr, 및 번호 변환기 CodeTrans에 공급된다. 따라서, 양자화 파라미터 QP에 따라 코드 테이블이 변경될 수 있으며, 혹은, 이미지의 내용(이미지 모션의 값, 모션의 복잡성, 패턴의 세밀성)에 따라 외부로부터 적절한 코드 테이블이 선택될 수 있다.
예를 들어, 부호화 처리에 채용되는 코드 테이블이, 이미지 부호화 장치의 외부로부터의 VLC 선택 신호 VlcSel에 따라 변경되는 경우에, 이미지 복호화 장치는 단지 하나의 코드 테이블을 갖는 복호화 유닛에 의해 복호화 가능한 스트림을 생성할 수 있다.
본 실시예 3에서, 처리될 타겟 데이터로서 이미지 신호의 양자화된 계수를 부호화하는 이미지 부호화 장치(103)는, 코드 테이블을 이용하여 양자화된 계수에 가변 길이 코드를 할당하는 런 길이 부호화 유닛 RLE2를 포함하며, 이 런 길이 부호화 유닛 RLE2는 제 1 코드 테이블에 근거하여 처리될 타겟 데이터에 대해 최적화되는 제 2 코드 테이블을 형성하며, 양자화 파라미터 QP 및 VLC 선택 신호 VlcSel에 근거하여, 가변 길이 코드의 할당에 채용되는 코드 테이블로서 제 1 및 제 2 코드 테이블 중 하나를 선택한다. 따라서, 타겟 데이터에 포함되는 리던던트 정보가 효과적으로 제거될 수 있어, 이미지 신호 등에 대한 압축률을 더 증대시킨다.
본 실시예 3에서, 런 길이 부호화 유닛 RLE2는, 압축률을 증대시키는 각종 장치, 즉, 도 14에 도시한 바와 같이, 런 변환기 RunConv, 레벨 변환기 LevConv, 재배열 유닛 ReOdr, 및 번호 변환기 CodeTrans를 포함한다. 그러나, 런 길이 부호화 유닛 RLE2는 압축률을 증대시키는 장치의 일부만을 포함할 수도 있다. 이 경우, 런 길이 부호화 유닛 RLE2가 용이하게 탑재될 수 있다.
또한, 실시예 3에서, 제 2 코드 테이블은 제 1 코드 테이블을 구성하는 두 부분, 즉, 산술 연산에 의해 규칙적으로 생성될 수 있는 부분(규칙적 구축 VLC)과, 규칙적으로 생성될 수 없는 부분(테이블 룩업 VLC)에서 런-레벨 쌍 및 코드 번호 사이의 대응을 수정하여 취득된다. 그러나, 제 1 코드 테이블은, 산술 연산에 의해 규칙적으로 생성될 수 있는 부분(규칙적 구축 VLC)과, 규칙적으로 생성될 수 없는 부분(테이블 룩업 VLC)을 가지며, 제 2 코드 테이블은, 그 연산이 용이하게 수행되는 산술 연산에 의해 규칙적으로 생성될 수 있는, 제 1 코드 테이블의 부분으로서 단지 일부분만을 수정하여 형성될 수도 있다. 이 경우, 런 길이 부호화 유닛 RLE2의 탑재가 보다 용이하게 수행될 수 있다.
본 실시예 3에 따르면, 런-레벨 쌍을 이용하여 양자화된 성분의 가변 길이 부호화를 수행하는 런 길이 부호화 유닛에서, 양자화된 성분은 고주파 성분으로부터 저주파 성분까지 가변 길이 부호화가 연속적으로 실시된다. 그러나, 타겟 블록 내의 양자화된 성분에 대응하는 런 값 및 레벨 값에 개별적으로 가변 길이 부호화 처리를 실시하는 런 길이 부호화 유닛에서, 타겟 블록 내의 양자화된 성분에 대응하는 런 값 및 레벨 값에, 고주파 성분으로부터 저주파 성분까지, 가변 길이 부호화가 연속적으로 실시될 수 있음은 물론이다.
(실시예 4)
도 18은 본 발명의 실시예 4에 따른 이미지 복호화 장치를 설명하는 블록도이다.
실시예 4에 따른 이러한 이미지 복호화 장치(104)는, 부호화된 스트림 Str0c에 가변 길이 복호화 처리를 실시하여 복호화된 양자화 성분 DQS를 출력하는 도 40에 도시한 바와 같은 통상적인 이미지 복호화 장치(202c)의 런 길이 복호화 유닛 RLD0c 대신에, 양자화 파라미터 QP 또는 가변 길이 복호화 선택 신호(VLD 선택 신호) VldSel에 근거하여 부호화된 스트림 Str2에 가변 길이 복호화 처리를 실시하여, 복호화된 양자화 성분 DQS를 출력하는 런 길이 복호화 유닛 RLD2를 갖는다. 실시예 4에 따른 이미지 복호화 장치(104)의 다른 구성 요소는 통상적인 이미지 복호화 장치(202c)의 구성 요소와 동일하다.
보다 구체적으로, 런 길이 복호화 유닛 RLD2는, 통상적인 런 길이 복호화 유닛 RLD0c와 마찬가지로, 런 값 및 레벨 값의 조합에 따라, 런 값 및 레벨 값의 쌍(이하, 런-레벨 쌍이라 지칭됨) 및 대응하는 코드 사이의 대응을 나타내는 제 1 코드 테이블 T1(도 42 참조)을 갖는다. 그 다음에, 런 길이 복호화 유닛 RLD2는 제 1 코드 테이블에 근거하여, 제 1 코드 테이블의 런-레벨 쌍 및 코드 사이의 대응을 규칙적으로 변경시켜, 제 1 코드 테이블과 상이한 대응을 갖는 제 2 코드 테이블을 형성하고, 양자화 유닛 Q로부터 출력되는 양자화 파라미터 QP 및 외부로부터의 VLC 선택 신호 VldSel에 따라 제 1 및 제 2 코드 테이블 중 하나를 선택할 뿐만 아니라, 부호화된 스트림 Str2를 구성하는 코드 워드(비트 스트링)을, 선택된 코드 테이블에 근거하여, 처리될 타겟 데이터의 계수와 연관된 런 값 및 레벨 값의 쌍으로 변환한다.
전술한 바와 같이, 양자화 파라미터 QP는 양자화 스텝의 값을 나타내는 파라미터이며, 양자화 스텝은 양자화 파라미터 QP에 대략 비례한다. 보다 구체적으로, 양자화 파라미터 QP가 큰 경우, 양자화된 성분은 보다 작은 절대값을 가지며, 양자화된 성분의 제로 런(그 값이 영인 연속적으로 계속되는 성분의 길이)이 길게 되고, 따라서 레벨 값은 보다 작은 절대값을 갖는다. 따라서, 이 경우, 보다 큰 런 값 및 보다 작은 레벨 값으로 이루어지는 런-레벨 쌍에 보다 작은 코드가 할당되는 코드 테이블이 선택되어, 부호화 효율을 더 증대시킨다. 반대로, 양자화 파라미터 QP가 작은 경우, 양자화된 성분은 보다 큰 절대값을 가지며, 따라서 보다 작은 런 값 및 보다 큰 레벨 값으로 이루어지는 런-레벨 쌍에 보다 짧은 코드가 할당되는 코드 테이블이 선택되어, 부호화 효율을 향상시킨다.
도 19는 런 길이 복호화 유닛 RLD2의 구체적인 구성을 도시하는 블록도이다.
런 길이 복호화 유닛 RLD2는, 통상적인 런 길이 복호화 유닛 RLD0c로서, 가변 길이 복호화기 VLD를 가지며, 이 복호화기 VLD는 실시예 3에 따른 이미지 부호화 장치(103)로부터 출력되는 부호화된 스트림 Str2를 복호화하여 코드 번호 ExtCode를 출력한다.
본 실시예 4에서, 런 길이 복호화 유닛 RLD2는, 양자화 파라미터 QP 또는 VLD 선택 신호 VldSel에 근거하여, 코드 번호 ExtCode를, 레벨 값 Lev1, 런 값 Run1, 레벨 값 Lev2, 및 런 값 Run2로 이루어지는 런-레벨 상위 디지트 쌍에 대응하는 코드 번호 PrmCode로 분할하는 수 역변환 처리를 수행하는 번호 역변환기(number inverse transformer) ICodeTrans와, 런-레벨 쌍의 주파수를 증대시키는 순서로 처리될 타겟 블록에 대응하는 복수의 코드 번호 PrmCode를 재배열하여, 타겟 블록에 대응하고 변경된 순서를 갖는 복수의 코드 번호 Code를 출력하는 역재배열 유닛 IReOdr를 갖는다.
런 길이 복호화 유닛 RLD2는, 코드 테이블 또는 산술 연산에 따라 코드 번호 Code에 대응하는 런-레벨 쌍을 검출하여, 런-레벨 쌍을 구성하는 레벨 값 Lev1과 런 값 Run1을 출력하는 런-레벨 검출기 RunLevDec와, 런 값 Run의 상위 디지트를 나타내는 런 값 Run1 및 런 값 Run의 하위 디지트를 나타내는 런 값 Run2로부터 런 값 Run을 재구성하는 런 역변환기 IRunConv와, 레벨 값 Lev의 상위 디지트를 나타내는 레벨 값 Lev1 및 레벨 값 Lev의 하위 디지트를 나타내는 레벨 값 Lev2로부터 레벨 값 Lev를 재구성하는 레벨 역변환기 ILevConv를 더 포함한다.
런 길이 복호화 유닛 RLD2는, 통상적인 런 길이 복호화 유닛 RLD0c로서, 역지그재그 스캐너 IScan을 더 포함한다. 이러한 스캐너 IScan은, 레벨 값 Lev 및 런 값 Run에 의해 나타내어지는 1 차원 어레이의 양자화된 성분을, 2 차원 어레이의 양자화된 성분 DQS로 변환하여, 이를 출력한다.
여기서, 런 길이 복호화 유닛 RLD2의 가변 길이 복호화기 VLD, 런-레벨 검출기 RunLevDec, 및 역지그재그 스캐너 IScan는, 도 41에 도시한 런 길이 복호화 유닛 RLD0c의 것과 동일하다.
다음에, 기능 및 효과에 대해 설명한다.
런 길이 복호화 유닛 RLD2에서, 가변 길이 복호화기 VLD는 가변 길이 부호화기 VLC의 역동작을 수행한다. 즉, 가변 길이 복호화기 VLD는 부호화된 스트림 Str2를 복호화하여 스트림을 구성하는 코드 워드(비트 스트링)에 대응하는 코드 번호 ExtCode를 출력한다. 번호 역변환기 ICodeTrans는 양자화 파라미터 QP 또는 VLD 선택 신호 VldSel에 근거하여 번호 변환기 CodeTrans의 동작과 반대의 동작을 수행하여, 코드 번호 ExtCode를, 레벨 값 Lev1, 런 값 Run1, 레벨 값 Lev2, 및 런 값 Run2로 이루어지는 런-레벨 상위 디지트 쌍에 대응하는 코드 번호 PrmCode로 분할한다.
역재배열 유닛 IReOdr은 양자화 파라미터 QP 또는 VLD 선택 신호 VldSel에 근거하여 재배열 유닛 ReOdr의 동작과 반대의 동작을 수행한다. 이에 의해, 런-레벨 쌍의 주파수를 증대시키는 순서로 처리될 타겟 블록에 대응하는 복수의 코드 번호 PrmCode를 재배열하는 처리가 수행되고, 변경된 순서를 갖고 블록에 대응하는 복수의 코드 번호 Code가 출력된다. 런-레벨 검출기 RunLevDec는 코드 테이블 또는 산술 연산에 따라 코드 번호 Code에 대응하는 런-레벨 쌍을 검출하여, 검출된 런-레벨 쌍을 구성하는 레벨 값 Lev1 및 런 값 Run1을 출력한다.
런 역변환기 IRunConv는 양자화 파라미터 QP 또는 VLD 선택 신호 VldSel에 근거하여 런 변환기 RunConv의 동작의 역동작을 수행하여, 런 값 Run의 상위 디지트를 나타내는 런 값 Run1과 런 값 Run의 하위 디지트를 나타내는 런 값 Run2로부터 런 값 Run을 재구성한다. 또한, 레벨 역변환기 ILevConv는 양자화 파라미터 QP 또는 VLD 선택 신호 VldSel에 근거하여 레벨 변환기 LevConv의 동작의 역동작을 수행하여, 레벨 값 Lev의 상위 디지트를 나타내는 레벨 값 Lev1과 레벨 값 Lev의 하위 디지트를 나타내는 레벨 값 Lev2로부터 레벨 값 Lev을 재구성한다.
여기서, 번호 역변환기 ICodeTrans, 역재배열 유닛 IReOdr, 런 역변환기 IRunConv와, 레벨 역변환기 ILevConv에서, 제 1 또는 제 2 코드 테이블의 선택은, 양자화 파라미터 QP 또는 VLD 선택 신호 VldSel에 근거하여 수행되며, 연산은 선택된 코드 테이블에 따라 수행된다.
역지그재그 스캐너 IScan은 지그재그 스캐너 Scan의 동작과 반대의 동작을 수행하여, 레벨 값 Lev와 런 값 Run에 근거하여, 레벨 값 Lev와 런 값 Run에 의해 나타내어지는 1 차원 어레이의 양자화된 성분을, 2 차원 어레이의 복호화된 양자화 성분 DQS로 변환한다.
또한, VLD 선택 신호 VldSel이 외부로부터 입력되는 경우, 런 길이 복호화 유닛 RLD2는 VLD 선택 신호 VldSel에 의해 나타내어지는 이미지의 내용(이미지 모션의 값, 모션의 복잡성, 패턴의 세밀성)에 대응하는 적절한 코드 테이블을 선택한다.
본 실시예 4에서, 양자화 파라미터 QP 또는 VLD 선택 신호 VldSel은, 번호 역변환기 ICodeTrans, 역재배열 유닛 IReOdr, 및 런 역변환기 IRunConv, 및 레벨 역변환기 ILevConv에 제각기 공급된다. 따라서, 양자화 파라미터 QP에 따라 코드 테이블이 변경될 수 있으며, 혹은, 이미지의 특성, 즉, 이미지 모션의 값, 모션의 복잡성, 패턴의 세밀성 등에 따라 이미지 복호화 장치의 외부로부터 적절한 코드 테이블이 선택될 수 있다.
전술한 바와 같이, 본 실시예 4에서, 이미지 신호의 양자화된 계수를 가변 길이 부호화하여 취득되는 부호화된 데이터를 복호화하는 이미지 복호화 장치(104)는, 코드 테이블을 이용하여 가변 길이 코드를 양자화된 성분으로 변환하는 런 길이 복호화 유닛 RLD2를 포함한다. 또한, 런 길이 복호화 유닛 RLD2는 제 1 코드 테이블에 근거하여, 처리될 타겟 데이터에 대해 최적화되는 제 2 코드 테이블을 형성하고, 양자화 파라미터 QP 및 VLD 선택 신호 VldSel에 따라, 가변 길이 코드를 양자화된 계수로 변환하는데 채용되는 코드 테이블로서 제 1 및 제 2 코드 테이블 중 하나를 선택한다. 따라서, 처리될 타겟 데이터에 포함되는 리던던트 정보를 효과적으로 제거할 수 있는, 가변 길이 부호화 처리에 대응하는 복호화 처리가 만족스럽게 수행될 수 있다.
본 실시예 4에서, 도 19에 도시한 바와 같이, 런 길이 복호화 유닛 RLD2는, 압축률을 증대시키는 각종 장치, 즉, 번호 역변환기 ICodeTrans, 역재배열 유닛 IReOdr, 런 역변환기 IRunConv, 레벨 역변환기 ILevConv를 포함하는 한편, 런 길이 복호화 유닛 RLD2는 압축률을 증대시키는 이들 장치의 일부만을 포함할 수도 있다. 이 경우, 런 길이 복호화 유닛 RLD2가 보다 용이하게 탑재될 수 있다.
또한, 실시예 4에서, 제 2 코드 테이블은 제 1 코드 테이블을 구성하는 두 부분, 즉, 산술 연산에 의해 규칙적으로 생성될 수 있는 부분(규칙적 구축 VLC)과, 규칙적으로 생성될 수 없는 부분(테이블 룩업 VLC)에서 런-레벨 쌍 및 코드 번호 사이의 대응을 변경하여 취득된다. 그러나, 제 1 코드 테이블은, 산술 연산에 의해 규칙적으로 생성될 수 있는 부분(규칙적 구축 VLC)과, 규칙적으로 생성될 수 없는 부분(테이블 룩업 VLC)을 가지며, 제 2 코드 테이블은, 그 연산이 용이하게 수행되는 산술 연산에 의해 규칙적으로 생성될 수 있는 제 1 코드 테이블의 부분으로서 단지 일부분만을 변경하여 형성될 수도 있다. 이 경우, 런 길이 복호화 유닛 RLD2의 탑재가 보다 용이하게 수행될 수 있다.
본 실시예 4에 따르면, 런-레벨 쌍을 이용하여 양자화된 성분에 대응하는 부호화된 데이터의 가변 길이 복호화를 수행하는 런 길이 복호화 유닛에서, 양자화된 성분에 대응하는 부호화된 데이터의 가변 길이 복호화가, 고주파 성분으로부터 저주파 성분까지 연속적으로 수행된다. 그러나, 타겟 블록 내의 양자화된 성분에 대응하는 런 값 및 레벨 값의 부호화된 데이터에, 실시예 2에서와 같이 가변 길이 복호화 처리를 개별적으로 실시하는 런 길이 복호화 유닛에서, 타겟 블록의 양자화된 성분에 대응하는 런 값 및 레벨 값의 부호화된 데이터에, 고주파 성분으로부터 저주파 성분까지, 가변 길이 복호화가 연속적으로 실시하는 것이 가능하다.
(실시예 5)
도 20은 본 발명의 실시예 5에 따른 이미지 부호화 장치를 설명하는 블록도이다.
본 이미지 부호화 장치(105)는, 도 13에 도시한 실시예 3에 따른 이미지 부호화 장치(103)의 런 길이 부호화 유닛 RLE2 대신에, 런 길이 부호화 유닛 RLE2와 마찬가지로, 런-레벨 쌍을 부호화하고 비영 성분의 수를 부호화하는 런 길이 부호화 유닛 RLE3을 포함한다. 실시예 5에 따른 이미지 부호화 장치(105)의 다른 구성 요소는 실시예 3에 따른 이미지 부호화 장치(103)의 구성 요소와 동일하다.
도 21은 이미지 부호화 장치(105)의 런 길이 부호화 유닛 RLE3의 구체적인 구성을 도시한다.
실시예 5에 따른 이러한 런 길이 부호화 유닛 RLE3은, 도 14에 도시한 바와 같은 실시예 3에 따른 런 길이 부호하 유닛 RLE2의 위치 계산기 PosClc 대신에, 입력되는 양자화된 성분에 근거하여 비영 계수의 수 NZnum을 카운트하는 비영 계수 카운터 NZcount와, 비영 계수의 카운트된 수 Nznum 및 런 계산기 RunCal에 의해 계산된 런 값 Run에 근거하여 부호화된 계수의 수 Pos2를 계산하는 위치 계산기 PosCls2를 갖는다.
실시예 5에 따른 런 길이 부호화 유닛 RLE3은, 실시예 3에 따른 런 길이 부호화 유닛 RLE2의 가변 길이 부호화기 VLC와는 달리, 번호 변환기 CodeTrans로부터의 출력(코드 번호)를 부호화하고, 비영 성분의 수 NZnum을 부호화한다.
런 길이 부호화 유닛 RLE3의 다른 구성 요소는 실시예 3에 따른 런 길이 부호화 유닛 RLE2의 구성 요소와 동일하다.
다음에, 기능 및 효과에 대해 설명한다.
실시예 5에 따른 이미지 부호화 장치(105)의 블록킹 유닛 Blk, 주파수 변환 유닛 Trnas, 양자화 유닛 Q는, 실시예 3에 따른 이미지 부호화 장치(103)의 것과 동일하다. 또한, 실시예 5에 따른 런 길이 부호화 유닛 RLE3의 비영 계수 카운터 NZcount, 위치 계산기 PosClc2, 번호 변환기 CodeTrans, 및 가변 길이 부호화기 VLC2 이외의 구성 요소의 동작, 즉, 스캐너 Scan, 런 계산기 RunCal, 레벨 계산기 LevCal, 런 변환기 RunConv, 레벨 변환기 LevConv, 런-레벨 부호화기 RunLevConv, 및 재배열 유닛 ReOdr의 동작은, 실시예 3에 따른 런 길이 부호화 유닛 RLE2의 것과 동일하다. 따라서, 이하 비영 계수 카운터 NZcount, 위치 계산기 PosClc2, 번호 변환기 CodeTrans, 및 가변 길이 부호화기 VLC2의 동작에 대해 주로 설명한다.
양자화 유닛 Q로부터 출력되는 양자화된 성분 QS가 런 길이 부호화 유닛 RLE3에 입력되는 경우, 런 길이 부호화 유닛 RLE3의 비영 계수 카운터 NZcount는 양자화된 성분 QS에 근거하여 제각각의 블록에 대응하는 복수의 양자화된 성분의 비영 성분의 수 BZnum을 카운트하여, 취득된 비영 성분의 수 BZnum를 위치 계산기 PosClc2, 및 가변 길이 부호화기 VLC2에 출력한다.
위치 계산기 PosClc2는, 비영 계수 카운터 NZcount로부터의 비영 성분의 수 NZnum 및 런 계산기 RunCal로부터의 런 값 Run에 근거하여 타겟 블록 내의 부호화된 영 성분의 수 및 비영 성분의 수의 합을 계산하여, 취득된 값 Pos2를 출력한다.
번호 변환기 CodeTrans는, 런-레벨 상위 디지트 쌍 및 코드 번호 ReOdrCode 사이의 대응에 근거하여, 레벨 값 Lev2 및 런 값 Run2으로부터의 런-레벨 쌍에 대응하는 코드 번호 ExtCode를 출력한다. 이 때, 번호 변환기 CodeTrans는, 위치 계산기 PosClc2로부터 출력되는 계산된 값 Pos2를 채용하여 타겟 블록 내의 부호화되지 않은 성분의 수를 취득한다.
여기서, 번호 변환기 CodeTrans로부터 출력되는 런-레벨 쌍에 대응하는 코드 번호 ExtCode는, 제 1 코드 테이블로부터의 런-레벨 쌍 및 코드 번호 사이의 대응과 상이한 대응을 갖는 제 2 코드 테이블에 근거하여 취득된다. 이 제 2 코드 테이블은 다음과 같이 형성되는데, 즉, 제 1 코드 테이블로부터의 런-레벨 쌍 및 코드 번호 사이의 대응과 상이한 대응을 갖는 코드 테이블은 재배열 유닛 ReOdr의 재배열 처리에 의해 우선 형성되고 나서, 재배열 유닛 ReOdr에 의해 형성된 코드 테이블은 계산된 값 Pos2에 근거하여 번호 변환기 CodeTrans에 의해 수정되어 코드 테이블의 최대 런 값 Run보다 큰 런 값을 갖는 런-레벨 쌍이, 코드가 할당되지 않는 코드 번호 ExtCode에 대응한다.
가변 길이 부호화기 VLC2는 비영 성분의 수 NZnum을 부호화하고, 비트 스트링(코드 워드)에 코드 번호 ExtCode를 할당하기 위해 코드 번호 ExtCode에 대한 부호화를 수행하여 부호화된 스트림 Str3을 생성한다.
이후, 가변 길이 부호화기 VLC2의 동작에 구체적으로 설명한다.
실시예 3에 따른 가변 길이 부호화기 VLC와는 달리, 실시예 5에 따른 가변 길이 부호화기 VLC2는 타겟 블록의 런-레벨 쌍에 대응하는 코드 번호 ExtCode를 부호화할 뿐만 아니라 블록의 코드 번호 ExtCode를 부호화하기 전에 타겟 블록의 비영 성분의 수 NZnum을 부호화한다.
전술한 바와 같이, 블록의 코드 번호 ExtCode를 부호화기 전에 비영 계수의 수 NZnum가 부호화되는 경우, 타겟 블록의 비영 성분의 수 NZnum는 복호화 시에 우선적으로 복호화될 수 있고, 비영 성분의 수 NZnum에 대응하는 런-레벨 쌍이 재구성되었던 때에, 타겟 블록의 최종 런-레벨 쌍의 재구성이 완료되었는지가 체크될 수 있다. 따라서, 실시예 3에 따른 가변 길이 부호화기 VLC에 의해 요구되는 타겟 블록의 종단에서 부호화되는 특정의 값 EOB(마지막 비영 성분 이후에 전송되는 값)이, 가변 길이 부호화기 VLC2에 의해 요구되지 않는다.
다음에, 위치 계산기 PosClc2 및 번호 변환기 CodeTrans의 동작에 대해 구체적으로 설명한다.
타겟 블록이 NBlock 양자화된 성분 QS(영 성분 및 비영 성분 모두를 포함함)를 포함한다고 가정하는 경우, 최대 런 길이(연속적으로 계속되는 영 계수의 최대 수)는 타겟 블록의 비영 계수의 수 NZnum에 근거하여 (NBlock-NZnum)이 된다. 또한, 첫 번째 런-레벨 쌍의 부호화가 완료되었을 때에 최대 런 값 MaxRun(1)(연속적으로 계속되는 영 계수의 최대 수)은, 타겟 블록의 첫 번째 런-레벨 쌍의 런 값 FRun을 이용하여, 다음의 수학식 5로 나타내어진다.
통상적으로, 블록 내의 i번째 런-레벨 쌍의 부호화가 완료되었을 때에 최대 런 값 MaxRun(i)은 다음의 수학식 6으로 나타내어진다.
따라서, 위치 계산기 PosClc2는 다음의 수학식 7로 나타내어진 계산된 값 Pos2를 출력하여, 최대 런 값 MaxRun(i)이 다음의 수학식 8로 나타내어진 값임을, 번호 변환기 CodeTrans에 표시한다.
번호 변환기 CodeTrans는, 코드가 할당되지 않는 코드 번호 ExtCode가, 최대 런 값 MaxRun보다 큰 런 값을 갖는 런-레벨 쌍에 대응하게 되는 제 2 코드 테이블을 형성한다. 이에 의해, 결로 발생하지 않을 런-레벨 쌍에 코드를 할당하는 것으로 인한 부호화 처리 시의 리던던시가 제거되어, 압축률을 증대시킨다.
산술 연산에 의해 생성될 수 있는 제 1 부분(규칙적 구축 VLC)과 산술 연산에 의해 규칙적으로 생성될 수 없는 제 2 부분(테이블 룩업 VLC)으로 구성되는 가변 길이 코드 테이블이 제 1 및 제 2 코드 테이블로서 채용되는 경우, 양자화된 성분에 대한 가변 길이 부호화 처리가 수행될 때, 제 2 코드 테이블은 최대 런 값에 따라 제 1 코드 테이블의 제 1 및 제 2 부분 모두를 변경하여 형성될 수 있으며, 혹은, 제 2 코드 테이블은, 그 연산이 최대 런 값에 따라 용이하게 수행되는 산술 연산에 의해 생성될 수 있는 제 1 코드 테이블의 제 1 부분만을 변경하여 형성될 수도 있다.
또한, i번째 런-레벨 쌍의 부호화가 완료되었을 때에 최대 런 값 MaxRun(i)에 따라 가변 길이 코드 테이블이 변경되는 경우 최대 런 값 MaxRun(i)보다 큰 런 값 Run을 갖는 런-레벨 쌍에 코드가 할당되지 않는 테이블로 코드 테이블을 변경시키는 대신에, 가변 길이 코드 테이블은 최대 런 값 MaxRun(i)보다 큰 런 값 Run을 갖는 런-레벨 쌍에 코드가 할당되지 않는 테이블로 직접 변경될 수도 있다.
도 24는 가변 길이 코드 테이블의 예를 나타내는 도면이다. 코드 테이블 Ta(도 24의 (a))에서, 코드 테이블 Tb(도 24의 (b))에 비해 작은 런 값에 짧은 코드가 할당된다. 코드 테이블 Tb에서(도 24의 (b)), 코드 테이블 Tc(도 24의 (c))에 비해 작은 런 값에 더 짧은 코드가 할당된다.
또한, 코드 테이블 Tc(도 24의 (c))에서, 코드 테이블 Tb(도 24의 (b))에 비해 작은 절대값을 갖는 레벨 값에 짧은 코드가 할당된다. 코드 테이블 Tb에서(도 24의 (b)), 코드 테이블 Ta(도 24의 (a))에 비해 작은 런 값에 더 짧은 코드가 할당된다.
따라서, 최대 런 값 MaxRun이 작은 경우, 도 24의 (a)의 코드 테이블 Ta를 선택하고, 최대 런 값 MaxRun이 큰 경우, 도 24의 (c)의 코드 테이블 Tc를 선택하며, 최대 런 값 MaxRun이 중간 값인 경우, 도 24의 (b)의 코드 테이블 Tb를 선택한다.
실시예 5에 따르면, 이미지 신호의 주파수 성분을 양자화하여 취득되는 양자화된 계수를 부호화하는 이미지 부호화 장치(105)에는 코드 테이블을 이용하여 양자화된 성분에 가변 길이 코드를 할당하는 런 길이 부호화 유닛 RLE3이 마련된다. 그 다음에, 런 길이 부호화 유닛 RLE3은, 부호화 타겟 블록 내의 처리된 계수(부호화된 계수)의 수와, 타겟 블록 내의 부호화되지 않은 비영 계수의 수의 합, 즉, 타겟 블록 내의 비영 계수의 수와, 타겟 블록 내의 이미 처리된 런 값의 수의 합에 근거하여, 결코 발생하지 않을 런-레벨 쌍이 제거되는 코드 테이블을 선택하여, 가변 길이 부호화 효율을 증대시킨다.
본 실시예 5에 따르면, 런-레벨 쌍을 이용하여 각 블록에 대응하는 양자화된 성분의 가변 길이 부호화를 수행하는 런 길이 부호화 유닛에서, 타겟 블록 내의 비영 계수의 수 NZnum가 부호화된다. 그러나, 실시예 5에서와 같이, 각 블록의 양자화된 성분에 대응하는 런 값 및 레벨 값의 가변 길이 부호화 처리를 개별적으로 수행하는 런 길이 부호화 유닛에서, 타겟 블록의 비영 성분의 수 NZnum를 부호화하는 것이 가능하다. 이 경우, 타겟 블록 내의 최대 런 값은, 타겟 블록 내의 모든 성분의 수로부터 비영 성분의 수 NZnum를 감산하여 취득되는 값으로 세트될 수 있다.
(실시예 6)
도 22는 본 발명의 실시예 6에 따른 이미지 복호화 장치를 설명하는 블록도이다.
실시예 6에 따른 이러헌 이미지 복호화 장치(106)는, 도 18에 도시한 실시예 4에 따른 이미지 복호화 장치(104)의 런 길이 복호화 유닛 RLD2 대신에, 런 길이 복호화 유닛 RLD2에서와 같이, 부호화된 데이터에 대해 복호화 처리를 수행하여, 각 블록내의 런-레벨 쌍의 수 및 비영 성분의 수를 재구성하는 런 길이 복호화 유닛 RLD3을 갖는다. 실시예 6에 따른 이미지 복호화 장치(106)의 다른 구성 요소는 실시예 4에 따른 이미지 복호화 장치(104)의 구성 요소와 동일하다.
도 23은 이미지 복호화 장치(106)의 런 길이 복호화 유닛 RLD3의 구체적인 구성을 도시한다.
본 실시예 6의 런 길이 복호화 유닛 RLD3은, 도 19에 도시한 바와 같은 실시예 4에 따른 런 길이 복호하 유닛 RLD2의 위치 계산기 PosClc 대신에, 복호화될 타겟 블록 내의 복호화된 런 값의 수와, 타겟 블록 내의 비영 계수의 수 NZnum의 합 Pos2를 계산하는 계산기 PosCls2를 포함한다.
또한, 실시예 6에 따른 런 길이 복호화 유닛 RLD3의 가변 길이 복호화기 VLD2는, 코드 번호 ExtCode를 재구성하는 복호화 처리와, 비영 성분의 부호화된 수 NZnum을 재구성하는 복호화 처리가 수행된다는 점에서, 실시예 4에 따른 런 길이 복호화 유닛 RLD2의 가변 길이 복호화기 VLD와 상이하다.
다음에, 기능 및 효과에 대해 설명한다.
실시예 6에 따른 이미지 복호화 장치(106)의 역양자화 유닛 IQ, 역주파수 변환 유닛 ITrnas, 및 디블록킹 유닛 DeBlk의 동작은, 실시예 4에 따른 이미지 복호화 장치(104)의 동작과 동일하다. 또한, 가변 길이 복호화기 VLD2, 위치 계산기 PosClc2, 번호 역변환기 ICodeTrans 이외의 실시예 6에 따른 런 길이 복호화 유닛 RLD3의 구성 요소의 동작, 즉, 역재배열 유닛 IReOdr, 런-레벨 검출기 RunLevDec, 레벨 역변환기 ILevConv, 런 역변환기 IRunConv, 역지그재그 스캐너 IScan의 동작은, 실시예 4에 따른 런 길이 복호화 유닛 RLD2의 동작과 동일하다. 따라서, 이하 가변 길이 복호화기 VLD2, 위치 계산기 PosClc2, 번호 역변환기 ICodeTrans의 동작에 대해 주로 설명한다.
가변 길이 복호화기 VLD2는, 부호화된 스트림 Str3을 복호화하고, 부호화된 스트림을 구성하는 코드 워드(비트 스트링)에 대응하는 코드 번호 ExtCode를 출력한다. 번호 역변환기 ICodeTrans는 양자화 파라미터 QP나 VLD 선택 신호 VldSel, 또는 복호화된 계수의 수와, 복호화되지 않은 비영 계수의 수의 합 Pos2에 적어도 근거하여 번호 변환기 CodeTrans이 동작과 반대의 동작을 수행하여, 코드 번호 ExtCode를, 레벨 값 Lev1, 런 값 Run1, 레벨 값 Lev2, 런 값 Run2로 이루어지는 런-레벨 상위 디지트 쌍에 대응하는 코드 번호 PrmCode로 분할한다.
역재배열 유닛 IReOdr, 런-레벨 검출기 RunLevDec, 런 역변환기 IRunConv, 레벨 역변환기 ILevConv, 역지그재그 스캐너 IScan는, 실시예 4의 동작과 동일한 동작을 수행한다.
여기서, 번호 역변환기 ICodeTrans, 역재배열 유닛 IReOdr, 런 역변환기 IRunConv, 및 레벨 역변환기 ILevConv는, 양자화 파라미터 QP나 VLD 선택 신호 VldSel, 또는, 계수의 합 Pos2에 적어도 근거하여, 제 1 및 제 2 코드 테이블 중 하나를 선택하고, 선택된 테이블에 근거하여 동작을 수행한다.
이후, 가변 길이 복호화기 VLD2의 동작에 대해 구체적으로 설명한다.
실시예 6에 따른 가변 길이 복호화기 VLD2는, 런-레벨 쌍에 대응하는 코드 번호 ExtCode를 복호화할 뿐만 아니라, 타겟 블록 내의 비영 성분의 부호화된 수 NZnum을 재구성하는 복호화한다는 점에서, 실시예 4에 따른 가변 길이 복호화기 VLD와 상이하다. 비영 성분의 수 NZnum이, NZnum 런-레벨 쌍이 복호화되었을 때에, 복호화에 의해 취득되는 경우, 이 NZnum 번째 런-레벨 쌍은 최종 런-레벨 쌍으로 판단된다. 따라서, 가변 길이 복호화기 VLD2는, 가변 길이 복호화기 VLD에 의해 요구되고 타겟 블록의 종단에서 부호화되는 값 EOB를 필요로 하지 않는다.
예를 들어, 영 성분 및 비영 성분을 포함하여, 타겟 블록에 NBlock 양자화된 성분 QS가 존재한다고 가정하면, 타겟 블록 내의 비영 계수의 수 NZnum에 근거하여, 최대 런 값(연속적으로 계속되는 영 계수의 최대 수)은 (NBlock-NZnum)이 된다. 또한, 첫 번째 런-레벨 쌍을 재구성하는 복호화가 수행되었을 때의, 최대 런 값(연속적으로 계속되는 영 계수의 최대 수) MaxRun(1)은, 실시예 5에서 기술한 바와 같이, (NBlock-NZnum-FRun)이다.
통상적으로, 블록내의 i 번째 런-레벨 쌍을 재구성하는 복호화가 수행되었을 때의 최대 런 값 MaxRun(i)는 다음과 같이 취득된다. 즉,
MaxRun(i) = NBlock - NZnum - (첫 번째에서 i번째까지의 런 값들의 합)
따라서, 위치 계산기 PosClc2는 계수의 합 Pos2[NZnum + (첫 번째에서 i번째까지의 런 값들의 합)]를 출력하여, i 번째 런-레벨 쌍을 재구성하는 복호화가 수행되었을 때의 최대 런 값 MaxRun(i)이 (NBlock - Pos2)이라는 것을, 번호 변환기 CodeTrans에 표시한다.
번호 역변환기 ICodeTrans는 최대 런 값 Run보다 큰 런 값을 포함하는 런-레벨 쌍에 대응하는 코드 번호에 코드가 할당되지 않는 코드 테이블을 채용하여, 코드에 대응하는 코드 번호 ExtCode를 취득해서, 결코 발생하지 않을 런-레벨 쌍에 대한 코드의 할당을 방지하는 코드 할당에 따라 코드 번호에 할당되는 코드를 복호화한다.
여기서, 산술 연산에 의해 생성될 수 있는 제 1 부분(규칙적 구축 VLC)과 산술 연산에 의해 규칙적으로 생성될 수 없는 제 2 부분(테이블 룩업 VLC)으로 구성되는 가변 길이 코드 테이블이 가변 길이 복호화 처리에서 제 1 및 제 2 코드 테이블로서 채용되는 경우, 제 2 코드 테이블은 최대 런 값에 따라 제 1 코드 테이블의 제 1 및 제 2 부분 모두를 변경하여 형성될 수 있는 한편, 제 2 코드 테이블은, 그 연산이 최대 런 값에 따라 용이하게 수행되는 산술 연산에 의해 생성될 수 있는 제 1 코드 테이블의 제 1 부분만을 변경하여 형성될 수도 있다.
또한, i번째 런-레벨 쌍을 재구성하는 복호화가 완료되었을 때의 최대 런 값 MaxRun에 따라 가변 길이 코드 테이블이 변경되는 경우, 최대 런 값 MaxRun보다 큰 런 값을 포함하는 런-레벨 쌍에 코드가 할당되지 않는 테이블로 코드 테이블을 변경시키는 대신에, 가변 길이 코드 테이블은, 도 24의 (a)의 코드 테이블 Ta, 도 24의 (b)의 코드 테이블 Tb, 또는 도 24의 (c)의 코드 테이블 Tc로 직접 변경될 수도 있다.
예를 들어, 최대 런 값 MaxRun이 작은 경우, 도 24의 (a)의 코드 테이블 Ta를 선택하고, 최대 런 값 MaxRun이 큰 경우, 도 24의 (c)의 코드 테이블 Tc를 선택하며, 최대 런 값 MaxRun이 중간 값인 경우, 도 24의 (b)의 코드 테이블 Tb를 선택하는 것이 바람직하다.
전술한 바와 같이, 실시예 6에 따르면, 이미지 신호의 주파수 성분을 양자화하여 취득되는 양자화된 계수를 재구성하는 이미지 복호화 장치(106)에는 코드 테이블을 이용하여 가변 길이 코드에 대응하는 양자화딘 성분을 취득하는 런 길이 복호화 유닛 RLD3이 마련된다. 그 다음에, 이러한 런 길이 복호화 유닛 RLD3은, 타겟 블록내의 처리된 계수(복호화된 계수)의 수와, 타겟 블록 내의 복호화되지 않은 비영 계수의 수의 합에 근거하여, 결코 발생하지 않을 런-레벨 쌍을 포함하지 않는 코드 테이블을 선택한다. 따라서, 처리될 양자화된 계수에 포함되는 리던던트 정보를 보다 효과적으로 제거할 수 있는 가변 길이 부호화 처리에 대응하는 부호화 처리가 만족스럽게 수행될 수 있다.
본 실시예 6에 따르면, 런-레벨 쌍을 이용하여 각 블록의 양자화된 성분에 대해 가변 길이 복호화를 수행하는 런 길이 복호화 유닛에서, 타겟 블록 내의 비영 계수의 부호화된 수 NZnum가 복호화된다. 그러나, 실시예 2에서와 같이, 각 블록의 양자화된 성분에 대응하는 런 값 및 레벨 값에 개별적으로 가변 길이 복호화 처리를 실시하는 런 길이 복호화 유닛에서, 타겟 블록의 비영 성분의 부호화된 수 NZnum를 복호화하는 것이 가능하다. 이 경우, NZnum 레벨 값이 복호화되었을 때에, NZnum 번째 레벨 값이 타겟 블록 내의 최종 레벨 값이라는 것으로 판단될 수 있다.
상술한 실시예 중 어느 한 실시예에서, 코드 테이블은, 양자화 파라미터 QP에 따라 변경되는 한편, 코드 테이블은 다른 파라미터에 따라 변경될 수도 있다. 예를 들어, 다른 파라미터는 각 블록에 대해 새롭게 도출되고 명시적으로 전환될 수도 있다.
상술한 실시예에서, 양자화된 성분과 같은 계수에 가변 길이 부호화(복호화) 처리를 실시하는 방법으로서, VLC 테이블이 채용되는 방법이 예시되어 있으며, VLC 테이블은 부호화(복호화) 처리가 실시된 처리 계수, 또는 계수 생성에 관한 파라미터에 관한 정보에 적어도 근거하여 변경된다. 그러나, 본 발명에 따른 양자화된 성분과 같은 가변 길이 부호화(복호화) 계수에 대한 방법은 VLC 테이블을 이용하는 것으로 한정되지 않는다. 예를 들어, 실시예 1, 3, 5 중 어느 하나에 기술된 양자화 성분을 가변 길이 부호화하는 방법은, VLC 테이블이 채용되지 않는 가변 길이 부호화 방법일 수도 있고, VLC 테이블에 대응하는 코드 테이블은, 처리된 계수, 또는 계수의 생성에 관한 파라미터에 관한 정보에 적어도 근거하여 변경된다. 또한, 실시예 2, 4, 6 중 어느 하나에 따른 양자화 성분에 대응하는 부호화된 데이터를 을 가변 길이 복호화하는 방법은, VLC 테이블이 채용되지 않는 가변 길이 복호화 방법일 수도 있고, VLC 테이블에 대응하는 코드 테이블은, 처리된 계수, 또는 계수의 생성에 관한 파라미터에 관한 정보에 적어도 근거하여 변경된다.
상술한 실시예 중 어느 한 실시예에 따른 가변 길이 부호화 처리를 수행하는 이미지 부호화 장치, 또는, 가변 길이 복호화 처리를 수행하는 이미지 복호화 장치는 하드웨어에 의해 구현되는 한편, 이들 장치는 소프트웨어에 의해 구현될 수도 있다. 이 경우, 상술한 실시예 중 어느 한 실시예에 따른 가변 길이 부호화, 또는, 가변 길이 복호화를 실행하는 프로그램은, 플렉시블 디스크와 같은 데이터 기억 매체에 기록되고, 상술한 실시예 중 어느 한 실시예에 따른 이미지 부호화 장치, 또는 이미지 복호화 장치는 독립형 컴퓨터 시스템으로 용이하게 구현될 수 있다.
도 25는 실시예 1, 3, 5에 따른 가변 길이 부호화 처리를 실행하는 컴퓨터 시스템, 또는 실시예 2, 4, 6에 따른 가변 길이 복호화 처리를 실행하는 컴퓨터 시스템을 설명하는 도면이다.
도 25의 (a)는 컴퓨터 시스템에 채용된 프로그램을 포함하는 매체인 플렉시블 디스크 FD의 정면도, 그의 단면도, 및 플렉시블 디스크 본체 D를 도시한다. 도 25의 (b)는 플렉시블 디스크 본체 D의 물리적 포맷의 예를 도시한다.
플렉시블 디스크 FD는, 플렉시블 디스크 본체 D 및 그 플렉시블 디스크 본체 D를 포함하는 케이스 FC로 이루어진다. 디스크 본체 D의 표면상에, 복수의 트랙 Tr이 디스크의 외주로부터 내주를 향하여 동심원적으로 형성된다. 각 트랙은 각도 방향으로 16 섹터 Se로 분할된다. 따라서, 상술한 프로그램을 포함하는 플렉시블 디스크 FD에서, 가변 길이 부호화 처리, 또는 가변 길이 복호화 처리를 실행하는 프로그램의 데이터는, 플렉시블 디스크 본체 D 상의 할당된 기억 영역(섹터)에 기록된다.
도 25의 (c)는 플렉시블 디스크 FD로/로부터의 프로그램을 기록 또는 재생하는 구조를 도시한다. 프로그램이 플렉시블 디스크 FD에 기록되는 경우, 프로그램의 데이터는 컴퓨터 시스템 Cs로부터 플렉시블 디스크 드라이브 FDD를 거쳐서 플렉시블 디스크 FD에 기입된다. 상술한 이미지 부호화 장치 또는 이미지 복호화 장치가 플렉시블 디스크 FD에 기록된 프로그램에 의해 컴퓨터 시스템 Cs에 구성되는 경우, 프로그램은 플렉시블 디스크 드라이브 FDD에 의해 플렉시블 디스크 FD로부터 판독되어 컴퓨터 시스템 Cs로 로딩된다.
상술한 설명에서 플렉시블 디스크는 가변 길이 부호화 처리, 또는 가변 길이 복호화 처리를 실행하는 프로그램을 포함하는 기억 매체로서 채용되며, 광 디스크는 기억 매체로서 채용될 수도 있다. 또한 이 경우, 가변 길이 부호화 처리, 또는 가변 길이 복호화 처리는, 플렉시블 디스크를 이용하는 경우와 마찬가지의 방식으로 소프트웨어에 의해 수행될 수 있다. 기억 매체는 이들 디스크에 제한되지 않으며, 프로그램을 포함할 수 있는 한, 임의의 매체, 예를 들어, CD-ROM, 메모리 카드, 또는 ROM 카세트가 채용될 수도 있다. 또한 이러한 데이터 기억 매체가 채용되는 경우, 가변 길이 부호화, 또는 가변 길이 복호화 처리는, 플렉시블 디스크를 이용하는 경우와 동일한 방식으로 컴퓨터 시스템에 의해 수행될 수 있다.
이후 상술한 실시예 중 어느 한 실시예에 따른 이미지 부호화 방법 또는 이미지 복호화 방법 및 이를 이용하는 장치의 적용에 대해 설명한다.
도 26은 컨텐츠 분배 서비스를 수행하는 컨텐츠 공급 시스템(1100)의 전체 구성을 도시하는 블록도이다.
통신 서비스 공급 영역은 소망하는 사이즈의 영역(셀), 및 제각기 셀에 확립되는 각각의 고정 무선국인 기지국(1107 내지 1110)으로 분할된다.
이러한 컨텐츠 공급 시스템(1100)에서, 컴퓨터(1111), PDA(personal digital assistant)(1112), 카메라(1113), 휴대 전화(1114), 및 카메라(1200)를 구비한 휴대 전화와 같은 각종 장치, 예를 들어, 인터넷 서비스 공급자(1102), 전화 네트워크(1104), 기지국(1107 내지 1110)을 거쳐 인터넷(1101)에 접속된다.
그러나, 컨텐츠 공급 시스템(1100)은 도 26에 도시한 모든 복수의 장치를 포함하는 시스템에 제한되지 않으며, 도 26에 도시한 복수의 장치 중 일부를 포함하는 시스템일 수도 있다. 또한, 각각의 장치는 기지국(1107 내지 1100)을 거치지 않고 고정된 무선국으로서 전화 네트워크(1104)에 직접 접속될 수도 있다.
카메라(1113)는 디지털 비디오 카메라와 같이, 대상의 동영상을 취할 수 있는 장치이다. 휴대 전화는 FDC(Personal Digital Communication) 시스템, CDMA(Code Division Multiple Access) 시스템, W-CDMA(Wideband-Code Division Multiple Access) 시스템, GSM(Slobal System for Mobile Communication) 시스템, 또는 PHS(Personal Handyphone System)에 따라 세트된 휴대 전화일 수도 있다.
스트리밍 서버(1103)는 기지국(1109) 및 전화 네트워크(1104)를 거쳐 카메라(1113)에 접속된다. 이러한 시스템에서, 카메라를 사용하는 사용자에 의해 전송되는 부호화된 데이터에 근거하는 라이브(live) 분배가 수행될 수 있다. 취해진 이미지 데이터에 대한 부호화 처리는 카메라(1113) 또는 데이터를 전송하는 서버에 의해 수행될 수도 있다. 카메라(1116)에 의해 대상의 동영상을 취함으로써 취득되는 동영상 데이터는 컴퓨터(1111)를 통해 스트리밍 서버(1103)에 전송될 수도 있다. 카메라(1116)는 디지털 카메라와 같은 대상의 정지 화상 또는 동영상을 취할 수 있는 장치이다. 이 경우, 동영상 데이터의 부호화는 카메라(1116) 또는 컴퓨터(1111)에 의해 수행될 수 있다. 또한, 부호화 처리는 컴퓨터(1111)에 포함되는 LSI(1117) 또는 카메라(1116)에 의해 수행된다.
이미지 부호화 또는 복호화 소프트웨어는 컴퓨터(1111) 등에 의해 판독 가능한 데이터를 포함하는 기록 매체인 기억 매체(CD-ROM, 플렉시블 디스크, 하드 디스크 등)에 저장될 수도 있다. 동영상 데이터는 카메라(1200)를 구비한 휴대 전화를 통해 전송될 수도 있다. 동영상 데이터는 휴대 전화(1200)에 포함되는 LSI에 의해 부호화된 데이터이다.
이러한 컨텐츠 공급 시스템(1100)에서, 카메라(1113) 또는 카메라(1116)에 의해 사용자에 의해 취해진 이미지에 대응하는 컨텐츠(예를 들어, 음악 콘서트의 라이브 비디오)는 상술한 실시예 중 어느 한 실시예와 동일한 방식으로 카메라 내에 부호화되어, 카메라로부터 스트리밍 서버(1103)로 전송된다. 컨텐츠 데이터는 스트리밍 서버(1103)로부터 요구 클라이언트로의 스트리밍 분배가 실시되다.
클라이언트는 부호화된 데이터를 복호화할 수 있는 컴퓨터(1111), PDA(1112), 카메라(1113), 휴대 전화(1114) 중 어느 하나일 수도 있다.
이러한 컨텐츠 공급 시스템(1100)에서, 부호화된 데이터는 클라이언트측에 수신되어 재생될 수 있다. 데이터가 클라이언트측에 실시간으로 수신되고, 복호화되어, 재생되는 경우, 개별 방송이 실현될 수 있다.
이러한 시스템을 구성하는 각 장치 내의 부호화 또는 복호화는, 상술한 실시예 중 어느 한 실시예에 따른 이미지 부호화 장치 또는 이미지 복호화 장치를 이용하여 수행될 수 있다.
이제 휴대 전화는 이미지 부호화 또는 이미지 복호화 장치의 예로서 설명될 것이다.
도 27은 상술한 실시예 중 어느 한 실시예에 따른 이미지 부호화 방법 또는 이미지 복호화 방법을 채용하는 휴대 전화(1200)를 도시하는 도면이다.
이 휴대 전화(1200)는 기지국(1110)으로/으로부터의 무선 전파를 송신/수신하는 안테나(1201)와, 객체의 비디오 또는 정지 화상을 취할 수 있는, CCD 카메라 등의 카메라 유닛(1203)과, 카메라 유닛(1203)에 의해 취해진 비디오 또는 안테나(1201)를 통해 수신된 비디오의 데이터를 디스플레이하는 액정 디스플레이 등의 디스플레이 유닛(1202)을 포함한다.
휴대 전화(1200)는 복수의 제어 키를 포함하는 본체(1204)와, 보이스(voice)를 출력하는 스피커 등의 보이스 출력 유닛(1208)과, 보이스를 입력하는 마이크로폰 등의 보이스 입력 유닛(1205)과, 취해진 동영상 또는 정지 화상의 데이터 등의 부호화된 데이터, 또는 복호화된 데이터, 수신된 이메일(e-mail)의 동영상 또는 정지 화상의 데이터를 보류하는 기억 매체(1207)와, 휴대 전화(1200)에 기억 매체(1207)가 부착될 수 있도록 하는 슬롯 유닛(1206)을 더 포함한다.
기억 매체(1207)는 플라스틱 케이스에 포함되는 전기적으로 프로그래밍 가능하고 소거 가능한 비휘발성 메모리인, SD 카드 등의 EEPROM(Electrically Erasable and Programmable Read Only memory)의 유형으로서 플래시 메모리 소자를 갖는다.
휴대 전화(1200)는 도 28을 참조하여 보다 구체적으로 설명한다.
휴대 전화(1200)는 디스플레이 유닛(1202) 및 제어 키(1204)를 포함하는 본체의 각 유닛에 대해 일반적인 제어를 수행하는 주 제어 유닛(1241)을 갖는다.
휴대 전화(1200)는, 전원 회로(1240), 동작 입력 제어 유닛(1234), 이미지 부호화 유닛(1242), 카메라 인터페이스 유닛(1233), LCD 제어 유닛(1232), 이미지 복호화 유닛(1239), 멀티플렉싱/디멀티플렉싱 유닛(1238), 기록/재생 유닛(1237), 변조/복조 유닛(1236), 오디오 처리 유닛(1235)을 더 포함한다. 휴대 전화(1200)의 각 유닛은 동기화 버스(1250)를 통해 서로 접속된다.
전원 회로(1240)는 사용자의 제어 하에 호출 종료/전원 키가 턴 온 되는 경우, 배터리 팩으로부터 각 유닛으로 전력을 공급하여, 카메라를 구비한 디지털 휴대 전화(1200)를 활성화시켜 동작 상태로 전환되도록 한다.
휴대 전화(1206)에서, 각 유닛은, CPU, ROM, RAM 등에 의해 구성되는 주 제어 유닛(1241)의 제어 하에 동작한다. 보다 구체적으로, 휴대 전화(1200)에서, 보이스 통신 모드에서 보이스 입력 유닛(1205)으로 보이스 입력하여 취득되는 오디오 신호는 오디오 처리 유닛(1235)에 의해 디지털 오디오 데이터로 변환된다. 디지털 오디오 데이터는 변조/복조 회로(1236)에 의해 더 스펙트럼 역확산 처리가 실시되고, 송신/수신 회로(1231)에 의해 DA 변환 처리 및 주파수 변환 처리가 더 실시되어, 안테나(1201)를 통해 전송된다.
이러한 휴대 전화 세트(1200)에서, 보이스 통신 모드에서 안테나(1201)를 통해 수신된 신호는 증폭되고 나서, 주파수 변환 처리 및 AD 변환 처리가 실시된다. 수신된 신호는 변조/복조 회로(1236)에서 역스페트럼 확산 처리가 실시되고, 오디오 처리 유닛(1235)에 의해 아날로그 오디오 신호로 변환되며, 이 아날로그 오디오 신호는 보이스 출력 유닛(1208)을 통해 출력된다.
휴대 전화(1200)는 데이터 통신 모드에서 이메일을 전송하고, 본체 상의 제어 키(1204)의 수동 조작에 의해 입력되는 이메일의 텍스트 데이터는 조작 입력 제어 유닛(1234)을 통해 주 제어 유닛(1241)으로 전송된다. 주 제어 유닛(1241)은 각 유닛을 제어하여 텍스트 데이터는 변조/복조 회로(1234)에서 스펙트럼 확산 처리가 실시되며, 송신/수신 회로(1231)에서 DA 변환 처리 및 주파수 변환 처리가 실시되고 나서, 안테나(1201)를 통해 기지국(1110)으로 전송된다.
이 휴대 전화(1200)는 데이터 통신 모드에서 이미지를 전송하고, 카메라 유닛(1203)에 의해 취해진 이미지의 데이터는 카메라 인터페이스 유닛(1233)을 통해 이미지 부호화 유닛(1242)으로 공급된다. 휴대 전화(1200)가 이미지 데이터를 전송하지 않는 경우, 카메라 유닛(1203)에 의해 취해진 이미지의 데이터는 카메라 인터페이스 유닛(1233) 및 LCD 제어 유닛(1232)을 통해 디스플레이 유닛(1203) 상에 직접 디스플레이될 수 있다.
이미지 부호화 유닛(1242)은 상술한 실시예 중 어느 한 실시예에 따른 이미지 부호화 장치를 포함한다. 이러한 이미지 부호화 유닛(1242)은 상술한 실시예 중 어느 한 실시예에 따른 이미지 부호화 방법에 의해 카메라 유닛(1203)으로부터 공급되는 이미지 데이터를 효율적으로 부호화하여 이 이미지 데이터를 부호화된 이미지 데이터로 변환해서, 취득된 부호화 이미지 데이터를 멀티플렉싱/디멀티플렉싱 유닛(1238)으로 출력한다. 이와 동시에, 휴대 전화(1200)는 보이스 입력 유닛(1205)에 입력되는 보이스를 전송하는 한편, 카메라 유닛(1203)에 의해 취해진 이미지는, 디지털 오디오 데이터로서 오디오 처리 유닛(1235)을 거쳐서 멀티플렉싱/디멀티플렉싱 유닛(1238)으로 전송된다.
멀티플렉싱/디멀티플렉싱 유닛(1238)은 사전 결정된 방법에 의해 이미지 부호화 유닛(1242)으로부터 공급된 부호화 이미지 데이터 및 오디오 처리 유닛(1235)으로부터 공급된 오디오 데이터를 멀티플렉싱한다. 그 결과 멀티플렉싱된 데이터는 변조/복조 회로(1236)에서 스펙트럼 확산 처리가 실시되고 나서, 송신/수신 회로(1231)에서 DA 변환 처리 및 주파수 변환 처리가 더 실시되어, 취득된 데이터가 안테나(1201)를 통해 전송된다.
휴대 전화(1200)는 데이터 통신 모드에서 홈 페이지 등에 링크되는 동영상 파일의 데이터를 수신하고, 안테나(1201)를 통해 기지국(1110)으로부터 수신된 신호는 변조/복조 회로(1236)에 의해 스펙트럼 역확산 처리가 실시되며, 그 결과 멀티플렉싱된 데이터가 멀티플렉싱/디멀티플렉싱 유닛(1238)으로 전송된다.
안테나(1201)를 통해 수신되는 멀티플렉싱된 데이터가 복호화되는 경우, 멀티플렉싱/디멀티플렉싱 유닛(1238)은 멀피틀렉싱된 데이터를 디멀티플렉싱하여 이미지 데이터에 대응하는 부호화된 비트 스트림 및 오디오 데이터에 대응하는 부호화된 비트 스트림으로 분할하며, 동기화 버스(1250)를 통해, 부호화된 이미지 데이터는 이미지 복호화 유닛(1239)으로 공급되고, 오디오 데이터는 오디오 처리 유닛(1235)으로 공급된다.
이미지 복호화 유닛(1239)은, 상술한 실시예 중 어느 한 실시예에 따른 이미지 복호화 장치를 포함한다. 이미지 복호화 유닛(1239)은 상술한 실시예 중 어느 한 실시예에 따른 부호화 방법에 대응하는 복호화 방법에 의해 이미지 데이터의 부호화된 비트 스트림을 복호화하여, 동영상 데이터를 재생하고, 재생된 데이터를 LVD 제어 유닛(1232)을 통해 디스플레이 유닛(1202)으로 공급한다. 이에 의해, 예를 들어, 홈 페이지에 링크되는 동영상 파일에 포함되는 동영상 데이터가 디스플레이된다. 이와 동시에, 오디오 처리 유닛(1235)은 오디오 데이터를 아날로그 오디오 신호로 변환하고 나서, 이 아날로그 오디오 신호를 보이스 출력 유닛(1208)에 공급한다. 이에 의해, 예를 들어, 홈 페이지에 링크되는 동영상 파일에 포함되는 오디오 데이터가 재생된다.
여기서, 상술한 실시예 중 어느 한 실시예에 따른 이미지 부호화 방법 및 이미지 복호화 방법이 적용 가능한 시스템은, 상술한 컨텐츠 공급 시스템에 제한되지 않는다.
최근, 위성 또는 지상파를 이용하는 디지털 방송이 자주 언급되고 있으며, 상기 실시예에 따른 이미지 부호화 장치 및 이미지 복호화 장치는 도 29에 도시한 바와 같은 디지털 방송 시스템에도 또한 적용 가능하다.
보다 구체적으로, 비디오 정보에 대응하는 부호화된 비트 스트림은 방송국(1409)으로부터 무선 통신을 통해, 통신 위성 또는 방송 위성 등의 위성(1410)으로 전송된다. 방송 위상(1410)이 비디오 정보에 대응하는 부호화된 비트 스트림을 수신하는 경우, 위성(1410)은 방송 전파룰 출력하고, 이들 전파는 이상 방송 수신 설비를 포함하는 가정에서 안테나(1406)에 의해 수신된다. 예를 들어, 텔레비전(수신기)(1401) 또는 셋 탑 박스(STB)(1407)와 같은 장치는, 부호화된 비트 스트림을 복호화하여, 비디오 정보를 재생한다.
또한, 상술한 실시예 중 어느 한 실시예에 따른 이미지 복호화 장치는 CD 또는 DVD(기록 매체) 등의 기억 매체(1402) 상에 기록되는 부호화된 비트 스트림을 판독하여 복호화할 수 있는 재생 장치(1403) 상에 또한 탑재될 수 있다.
이 경우, 재생된 비디오 신호는 모니터(1404) 상에 디스플레이된다. 이미지 복호화 장치는 텔레비전의 모니터(1408) 상에 디스플레이될 이미지 복호화 장치의 출력을 재생하기 위해, 케이블 텔레비전(1405)용의 케이블 또는 위성/지상파 방송(1406)용의 안테나에 접속되는 셋 탑 박스(1407) 상에 탑재될 수도 있다. 이 경우, 이미지 복호화 장치는 셋 탑 박스가 아니라 텔레비전에 내장될 수도 있다. 안테나(1411)를 갖는 차량(1412)은 위성(1410) 또는 기지국(1107)으로부터의 신호를 수신하여 동영상을 재생하여, 차량(1412)에 탑재되는 카 네비게이션 시스템(1413) 등의 디스플레이 장치 상에 이 동영상을 디스플레이할 수 있다.
또한, 이미지 신호는 상술한 실시예 중 어느 한 실시예에 따른 이미지 부호화 장치에 의해 부호화될 수 있고 기록 매체에 기록되는 것이 또한 가능하다.
기록 장치의 구체적인 예로는 DVD 디스크(1421) 상에 이미지 신호를 기록하는 DVD 레코더, 및 하드 디스크 상에 이미지 신호를 기록하는 디스크 레코더를 들 수 있다. 이미지 신호는 SD 카드(1422) 상에 기록될 수도 있다. 또한, 레코더(1420)가 상술한 실시예 중 어느 한 실시예에 따른 이미지 복호화 장치를 포함하는 경우, DVD 디스크(1421) 또는 SD 카드(1422) 상에 기록되는 이미지 신호는 레코더(1420)에 의해 재생되어, 모니터(1408) 상에 디스플레이될 수 있다.
여기서, 카 네비게이션 시스템(1413)의 구조는, 예를 들어, 카메라 유닛(1203), 카메라 인터페이스 유닛(1233), 이미지 부호화 유닛(1242) 및 이미지 부호화 유닛(1242) 이외에, 도 28에 도시한 휴대 전화의 구성 요소를 포함할 수도 있으며, 이는 마찬가지로 컴퓨터(1111), 또는 텔레비전(수신기)(1401)에 적용할 수도 있다.
또한, 휴대 전화(1114)와 같은 터미널로서, 3 종류의 터미널 중 하나, 즉, 부호화기 및 복호화기 모두를 갖는 송/수신형 터미널, 부호화기만을 갖는 송신 터미널, 복호화기만을 갖는 수신 터미널 중 하나가 탑재될 수 있다.
전술한 바와 같이, 상술한 실시예 중 어느 한 실시예에 따른 이미지 부호화 방법 또는 이미지 복호화 방법은 상술한 장치 또는 시스템에 적용 가능하며, 이에 의해 상기 실시예에 기술한 바와 같은 효과가 얻어질 수 있다.
또한, 본 발명의 실시예 및 그 응용 예는 본 명세서에 도시한 것에 제한되지 않음은 물론이다.
101 : 이미지 부호화 장치
Blk : 블로킹 유닛
Trans : 주파수 변환 유닛
Q : 양자화 유닛
RLE1 : 런 길이 부호화 유닛
Blk : 블로킹 유닛
Trans : 주파수 변환 유닛
Q : 양자화 유닛
RLE1 : 런 길이 부호화 유닛
Claims (3)
- 부호화된 주파수 성분의 계수값을 가변 길이 복호화하는 복호화 방법으로서,
상기 계수값이 0인 계수 중, 복호화되어 있지 않은 런 값에 대응하는 0 계수의 갯수를 나타내는 미복호화 0 계수의 갯수 정보에 근거하여 코드 테이블을 선택하는 선택 단계와,
상기 선택된 코드 테이블을 이용하여 상기 복호화되어 있지 않은 런 값을 고주파 성분으로부터 저주파 성분의 순으로 가변 길이 복호화하는 복호화 단계
를 포함하는 것을 특징으로 하는 복호화 방법.
- 제 1 항에 있어서,
상기 선택 단계는, 블록 단위로 주파수 성분의 계수값을 가변 길이 복호화할 때, 상기 미복호화 0 계수의 갯수 정보에 근거하여 코드 테이블을 선택하는 것을 특징으로 하는 복호화 방법.
- 부호화된 주파수 성분의 계수값을 가변 길이 복호화하는 복호화 장치로서,
상기 계수값이 0인 계수 중, 복호화되어 있지 않은 런 값에 대응하는 0 계수의 갯수를 나타내는 미복호화 0 계수의 갯수 정보에 근거하여 코드 테이블을 선택하는 선택 수단과,
상기 선택 수단에서 선택된 코드 테이블을 이용하여 상기 복호화되어 있지 않은 런 값을 고주파 성분으로부터 저주파 성분의 순으로 가변 길이 복호화하는 복호화 수단
을 포함하는 것을 특징으로 하는 복호화 장치.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2001-358197 | 2001-11-22 | ||
JP2001358197 | 2001-11-22 | ||
JPJP-P-2002-099227 | 2002-04-01 | ||
JP2002099227 | 2002-04-01 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097023346A Division KR100992336B1 (ko) | 2001-11-22 | 2002-11-22 | 부호화 방법 및 부호화 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100042666A true KR20100042666A (ko) | 2010-04-26 |
KR101030908B1 KR101030908B1 (ko) | 2011-04-22 |
Family
ID=26624666
Family Applications (16)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097017951A KR100993443B1 (ko) | 2001-11-22 | 2002-11-22 | 복호화 방법 |
KR1020037015866A KR100947399B1 (ko) | 2001-11-22 | 2002-11-22 | 부호화 방법 |
KR1020107007955A KR101030908B1 (ko) | 2001-11-22 | 2002-11-22 | 복호화 방법 및 복호화 장치 |
KR1020107007956A KR101030903B1 (ko) | 2001-11-22 | 2002-11-22 | 부호화 방법 및 부호화 장치 |
KR1020107007957A KR101030850B1 (ko) | 2001-11-22 | 2002-11-22 | 복호화 방법 및 복호화 장치 |
KR10-2004-7007783A KR20040054794A (ko) | 2001-11-22 | 2002-11-22 | 가변 길이 부호화 방법 및 가변 길이 복호화 방법 |
KR1020087009133A KR100921031B1 (ko) | 2001-11-22 | 2002-11-22 | 블럭 이미지의 부호화 데이터의 복호화 방법 및 장치 |
KR1020087009127A KR100913633B1 (ko) | 2001-11-22 | 2002-11-22 | 주파수 성분의 계수를 부호화함으로써 얻어진 부호화데이터의 복호화 방법 |
KR1020087009136A KR100921032B1 (ko) | 2001-11-22 | 2002-11-22 | 블럭 이미지의 양자화 계수의 부호화 방법 및 장치 |
KR1020097023346A KR100992336B1 (ko) | 2001-11-22 | 2002-11-22 | 부호화 방법 및 부호화 장치 |
KR1020107007960A KR101022091B1 (ko) | 2001-11-22 | 2002-11-22 | 부호화 방법 및 부호화 장치 |
KR1020097023335A KR100992246B1 (ko) | 2001-11-22 | 2002-11-22 | 부호화 방법 및 부호화 장치 |
KR1020087009140A KR100921033B1 (ko) | 2001-11-22 | 2002-11-22 | 미부호화 주파수 성분의 계수의 부호화 방법 |
KR1020087009131A KR100921034B1 (ko) | 2001-11-22 | 2002-11-22 | 주파수 성분의 계수를 부호화함으로써 얻어진 부호화데이터의 복호화 방법 |
KR1020087009132A KR100921030B1 (ko) | 2001-11-22 | 2002-11-22 | 주파수 성분의 계수의 부호화 방법 |
KR1020107007959A KR101030862B1 (ko) | 2001-11-22 | 2002-11-22 | 부호화 방법 및 부호화 장치 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097017951A KR100993443B1 (ko) | 2001-11-22 | 2002-11-22 | 복호화 방법 |
KR1020037015866A KR100947399B1 (ko) | 2001-11-22 | 2002-11-22 | 부호화 방법 |
Family Applications After (13)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107007956A KR101030903B1 (ko) | 2001-11-22 | 2002-11-22 | 부호화 방법 및 부호화 장치 |
KR1020107007957A KR101030850B1 (ko) | 2001-11-22 | 2002-11-22 | 복호화 방법 및 복호화 장치 |
KR10-2004-7007783A KR20040054794A (ko) | 2001-11-22 | 2002-11-22 | 가변 길이 부호화 방법 및 가변 길이 복호화 방법 |
KR1020087009133A KR100921031B1 (ko) | 2001-11-22 | 2002-11-22 | 블럭 이미지의 부호화 데이터의 복호화 방법 및 장치 |
KR1020087009127A KR100913633B1 (ko) | 2001-11-22 | 2002-11-22 | 주파수 성분의 계수를 부호화함으로써 얻어진 부호화데이터의 복호화 방법 |
KR1020087009136A KR100921032B1 (ko) | 2001-11-22 | 2002-11-22 | 블럭 이미지의 양자화 계수의 부호화 방법 및 장치 |
KR1020097023346A KR100992336B1 (ko) | 2001-11-22 | 2002-11-22 | 부호화 방법 및 부호화 장치 |
KR1020107007960A KR101022091B1 (ko) | 2001-11-22 | 2002-11-22 | 부호화 방법 및 부호화 장치 |
KR1020097023335A KR100992246B1 (ko) | 2001-11-22 | 2002-11-22 | 부호화 방법 및 부호화 장치 |
KR1020087009140A KR100921033B1 (ko) | 2001-11-22 | 2002-11-22 | 미부호화 주파수 성분의 계수의 부호화 방법 |
KR1020087009131A KR100921034B1 (ko) | 2001-11-22 | 2002-11-22 | 주파수 성분의 계수를 부호화함으로써 얻어진 부호화데이터의 복호화 방법 |
KR1020087009132A KR100921030B1 (ko) | 2001-11-22 | 2002-11-22 | 주파수 성분의 계수의 부호화 방법 |
KR1020107007959A KR101030862B1 (ko) | 2001-11-22 | 2002-11-22 | 부호화 방법 및 부호화 장치 |
Country Status (14)
Country | Link |
---|---|
US (16) | US6967600B2 (ko) |
EP (7) | EP3099068B1 (ko) |
JP (7) | JP4158995B1 (ko) |
KR (16) | KR100993443B1 (ko) |
CN (3) | CN1301014C (ko) |
AT (1) | ATE528924T1 (ko) |
AU (5) | AU2002357584B2 (ko) |
BR (3) | BR0206628A (ko) |
CA (2) | CA2450360C (ko) |
DK (3) | DK1413139T3 (ko) |
ES (6) | ES2373944T3 (ko) |
MX (2) | MXPA04000912A (ko) |
PT (3) | PT2268033T (ko) |
WO (2) | WO2003045065A2 (ko) |
Families Citing this family (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MXPA04000912A (es) | 2001-11-22 | 2004-04-02 | Matsushita Electric Ind Co Ltd | Metodo de codificacion de longitud variable y metodo de decodificacion de longitud variable. |
JP4368575B2 (ja) * | 2002-04-19 | 2009-11-18 | パナソニック株式会社 | 可変長復号化方法、可変長復号化装置およびプログラム |
ES2378462T3 (es) | 2002-09-04 | 2012-04-12 | Microsoft Corporation | Codificación entrópica por adaptación de codificación entre modalidades de nivel y de longitud/nivel de cadencia |
US7133523B2 (en) * | 2002-12-20 | 2006-11-07 | Pitney Bowes Inc. | Method and system for solving the word problem in braid group cryptosystems |
CN1214649C (zh) * | 2003-09-18 | 2005-08-10 | 中国科学院计算技术研究所 | 用于视频预测残差系数编码的熵编码方法 |
US7522774B2 (en) * | 2004-03-10 | 2009-04-21 | Sindhara Supermedia, Inc. | Methods and apparatuses for compressing digital image data |
US7519229B2 (en) * | 2004-03-30 | 2009-04-14 | Apple, Inc. | Video coding system providing separate coding chains for dynamically selected small-size or full-size playback |
JP2005333609A (ja) * | 2004-04-22 | 2005-12-02 | Sanyo Electric Co Ltd | 符号化制御回路及び符号化回路 |
ATE532270T1 (de) * | 2004-07-14 | 2011-11-15 | Slipstream Data Inc | Verfahren, system und computerprogramm für die optimierung von datenkomprimierung |
CN101032081B (zh) * | 2004-07-14 | 2010-05-26 | 喷流数据有限公司 | 用于数据压缩优化的方法和系统 |
US7570827B2 (en) * | 2004-07-14 | 2009-08-04 | Slipstream Data Inc. | Method, system and computer program product for optimization of data compression with cost function |
JP3990392B2 (ja) * | 2004-08-31 | 2007-10-10 | 松下電器産業株式会社 | 可変長復号化装置、可変長復号化方法および撮像システム |
US7209059B2 (en) * | 2004-12-06 | 2007-04-24 | Matsushita Electric Industrial Co., Ltd. | Decoding method and encoding method |
US8599925B2 (en) | 2005-08-12 | 2013-12-03 | Microsoft Corporation | Efficient coding and decoding of transform blocks |
JP4682102B2 (ja) | 2005-09-02 | 2011-05-11 | キヤノン株式会社 | 画像符号化装置及び画像符号化方法 |
JP4548348B2 (ja) * | 2006-01-18 | 2010-09-22 | カシオ計算機株式会社 | 音声符号化装置及び音声符号化方法 |
JP4749195B2 (ja) | 2006-03-28 | 2011-08-17 | 京セラ株式会社 | 通信制御装置、無線通信装置、通信制御方法及び無線通信方法 |
US8599841B1 (en) | 2006-03-28 | 2013-12-03 | Nvidia Corporation | Multi-format bitstream decoding engine |
US8593469B2 (en) * | 2006-03-29 | 2013-11-26 | Nvidia Corporation | Method and circuit for efficient caching of reference video data |
JP2007329903A (ja) * | 2006-05-11 | 2007-12-20 | Matsushita Electric Ind Co Ltd | 可変長復号化装置、可変長復号化方法および撮像システム |
US7324026B2 (en) * | 2006-05-19 | 2008-01-29 | Nvidia Corporation | Optimization of decoder memory usage for VLC tables |
US7884742B2 (en) * | 2006-06-08 | 2011-02-08 | Nvidia Corporation | System and method for efficient compression of digital data |
EP2067356A1 (en) * | 2006-09-28 | 2009-06-10 | THOMSON Licensing | Flexible redundancy coding |
US7796825B2 (en) * | 2007-02-16 | 2010-09-14 | Cisco Technology, Inc. | Losslessly improving compression of compressed image data |
US7774205B2 (en) * | 2007-06-15 | 2010-08-10 | Microsoft Corporation | Coding of sparse digital media spectral data |
CN101106715B (zh) * | 2007-07-26 | 2012-08-29 | 昊迪移通(北京)技术有限公司 | 一种视频带宽适配方法及装置 |
NO20074463A (no) * | 2007-09-03 | 2009-02-02 | Tandberg Telecom As | Metode for entropikoding av transformasjonskoeffisienter i videokomprimeringssystemer |
US8031959B2 (en) * | 2008-02-22 | 2011-10-04 | Himax Technologies Limited | Compression system for a bit-plane |
US8902972B2 (en) * | 2008-04-11 | 2014-12-02 | Qualcomm Incorporated | Rate-distortion quantization for context-adaptive variable length coding (CAVLC) |
US8179974B2 (en) * | 2008-05-02 | 2012-05-15 | Microsoft Corporation | Multi-level representation of reordered transform coefficients |
US20090304073A1 (en) * | 2008-06-06 | 2009-12-10 | Mohammad Usman | Systems and Methods for the Bandwidth Efficient Processing of Data |
JPWO2009157581A1 (ja) * | 2008-06-27 | 2011-12-15 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
KR101501568B1 (ko) * | 2008-07-04 | 2015-03-12 | 에스케이 텔레콤주식회사 | 영상 부호화 및 복호화 장치 및, 방법 |
US7791509B2 (en) * | 2008-07-15 | 2010-09-07 | International Business Machines Corporation | Preprocessing variable-length code (VLC) bitstream information |
US7777653B2 (en) * | 2008-07-15 | 2010-08-17 | International Business Machines Corporation | Decoding variable-length code (VLC) bitstream information |
US8406307B2 (en) | 2008-08-22 | 2013-03-26 | Microsoft Corporation | Entropy coding/decoding of hierarchically organized data |
TWI482499B (zh) * | 2008-10-03 | 2015-04-21 | Ind Tech Res Inst | 影像訊號處理裝置和方法 |
AU2009324014A1 (en) * | 2008-12-03 | 2011-06-23 | Nokia Corporation | Switching between DCT coefficient coding modes |
US8676775B2 (en) * | 2008-12-12 | 2014-03-18 | At&T Intellectual Property I, L.P. | Support 3-screen user experience in the context of a services marketplace |
JP5490404B2 (ja) * | 2008-12-25 | 2014-05-14 | シャープ株式会社 | 画像復号装置 |
EP2395755A4 (en) | 2009-02-09 | 2015-01-07 | Samsung Electronics Co Ltd | VIDEO PROCESSING AND DEVICE WITH LOW-COMPLEX FREQUENCY CONVERSION AND VIDEO PROCESSING AND DEVICE |
WO2010133763A1 (en) * | 2009-05-19 | 2010-11-25 | Nokia Corporation | Method for variable length coding and apparatus |
JP5492206B2 (ja) | 2009-07-27 | 2014-05-14 | 株式会社東芝 | 画像符号化方法および画像復号方法、ならびに、画像符号化装置および画像復号装置 |
US20110158310A1 (en) * | 2009-12-30 | 2011-06-30 | Nvidia Corporation | Decoding data using lookup tables |
TWI415397B (zh) * | 2010-05-19 | 2013-11-11 | Mstar Semiconductor Inc | 媒體編碼系統、量化係數編碼裝置及量化係數編碼方法 |
JP2012010263A (ja) * | 2010-06-28 | 2012-01-12 | Sony Corp | 符号化装置、撮像装置、符号化伝送システムおよび符号化方法 |
US20120147947A1 (en) * | 2010-12-08 | 2012-06-14 | Qualcomm Incorporated | Codeword adaptation for variable length coding |
US9338449B2 (en) | 2011-03-08 | 2016-05-10 | Qualcomm Incorporated | Harmonized scan order for coding transform coefficients in video coding |
JP2012253420A (ja) * | 2011-05-31 | 2012-12-20 | Toshiba Corp | 可変長符号復号装置、復号システムおよび可変長符号復号方法 |
KR101943425B1 (ko) * | 2011-06-30 | 2019-01-30 | 에스케이 텔레콤주식회사 | 비균등 양자화를 이용한 효과적인 부호화/복호화 방법 및 장치 |
JP5685683B2 (ja) * | 2011-10-28 | 2015-03-18 | 株式会社Gnzo | バイトアラインメント装置及びバイトアラインメント方法 |
US20130114687A1 (en) * | 2011-11-07 | 2013-05-09 | Sharp Laboratories Of America, Inc. | Fixed intra run-level mode for cavlc in hevc |
WO2013077108A1 (ja) * | 2011-11-24 | 2013-05-30 | タツタ電線株式会社 | シールドフィルム、シールドプリント配線板、及び、シールドフィルムの製造方法 |
US9654139B2 (en) | 2012-01-19 | 2017-05-16 | Huawei Technologies Co., Ltd. | High throughput binarization (HTB) method for CABAC in HEVC |
US9860527B2 (en) | 2012-01-19 | 2018-01-02 | Huawei Technologies Co., Ltd. | High throughput residual coding for a transform skipped block for CABAC in HEVC |
US9743116B2 (en) | 2012-01-19 | 2017-08-22 | Huawei Technologies Co., Ltd. | High throughput coding for CABAC in HEVC |
US10616581B2 (en) | 2012-01-19 | 2020-04-07 | Huawei Technologies Co., Ltd. | Modified coding for a transform skipped block for CABAC in HEVC |
US20130188736A1 (en) * | 2012-01-19 | 2013-07-25 | Sharp Laboratories Of America, Inc. | High throughput significance map processing for cabac in hevc |
PL3910947T3 (pl) | 2012-03-26 | 2023-12-27 | JVC Kenwood Corporation | Urządzenie do dekodowania obrazu, sposób dekodowania obrazu i program do dekodowania obrazu |
US9386326B2 (en) | 2012-10-05 | 2016-07-05 | Nvidia Corporation | Video decoding error concealment techniques |
JP6213879B2 (ja) * | 2012-12-17 | 2017-10-18 | パナソニックIpマネジメント株式会社 | 情報処理装置および制御方法 |
WO2014110652A1 (en) * | 2013-01-16 | 2014-07-24 | Blackberry Limited | Context determination for entropy coding of run-length encoded transform coefficients |
US9160363B2 (en) * | 2014-02-27 | 2015-10-13 | Samsung Display Co., Ltd. | Run length encoding with non-sequential input |
US10750198B2 (en) | 2014-05-22 | 2020-08-18 | Qualcomm Incorporated | Maximum palette parameters in palette-based video coding |
US10264285B2 (en) * | 2014-05-22 | 2019-04-16 | Qualcomm Incorporated | Coding runs in palette-based video coding |
JP6512928B2 (ja) * | 2015-04-28 | 2019-05-15 | キヤノン株式会社 | 画像符号化装置、画像処理装置、画像符号化方法 |
JP6502739B2 (ja) | 2015-04-28 | 2019-04-17 | キヤノン株式会社 | 画像符号化装置、画像処理装置、画像符号化方法 |
US10171810B2 (en) | 2015-06-22 | 2019-01-01 | Cisco Technology, Inc. | Transform coefficient coding using level-mode and run-mode |
KR101746799B1 (ko) | 2015-11-04 | 2017-06-14 | 주식회사 쏠리드 | 분산 안테나 시스템 |
US10063892B2 (en) * | 2015-12-10 | 2018-08-28 | Adobe Systems Incorporated | Residual entropy compression for cloud-based video applications |
US10264262B2 (en) | 2016-02-29 | 2019-04-16 | Adobe Inc. | Codebook generation for cloud-based video applications |
WO2018173862A1 (ja) * | 2017-03-21 | 2018-09-27 | シャープ株式会社 | 画像復号装置及び画像符号化装置 |
JP6787231B2 (ja) * | 2017-04-04 | 2020-11-18 | 富士通株式会社 | データ処理プログラム、データ処理方法およびデータ処理装置 |
CN106941610B (zh) * | 2017-04-25 | 2019-12-24 | 西安电子科技大学 | 基于改进方块编码的二值roi掩模编码方法 |
US11086843B2 (en) | 2017-10-19 | 2021-08-10 | Adobe Inc. | Embedding codebooks for resource optimization |
US10942914B2 (en) | 2017-10-19 | 2021-03-09 | Adobe Inc. | Latency optimization for digital asset compression |
US11120363B2 (en) | 2017-10-19 | 2021-09-14 | Adobe Inc. | Latency mitigation for encoding data |
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 |
KR101997599B1 (ko) * | 2019-01-22 | 2019-07-08 | 에스케이 텔레콤주식회사 | 비균등 양자화를 이용한 효과적인 부호화/복호화 방법 및 장치 |
CN110545437B (zh) * | 2019-08-30 | 2021-07-20 | 北京大学 | 系数编码、解码方法、电子设备及介质 |
JP2021177628A (ja) * | 2020-05-07 | 2021-11-11 | ブラックマジック デザイン ピーティーワイ リミテッドBlackmagic Design Pty Ltd | 変換係数処理方法 |
CN117097906B (zh) * | 2023-10-20 | 2023-12-26 | 河北天英软件科技有限公司 | 一种区域医疗资源高效利用的方法及系统 |
Family Cites Families (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
LU42775A1 (ko) * | 1962-11-28 | 1964-05-28 | ||
JPH03285460A (ja) | 1990-04-02 | 1991-12-16 | Fuji Facom Corp | 画像データ圧縮符号化方式 |
DE69132076T2 (de) | 1990-12-28 | 2000-08-24 | Canon K.K., Tokio/Tokyo | Vorrichtung zur Bildverarbeitung |
US5230938A (en) * | 1991-03-11 | 1993-07-27 | Moore Business Forms, Inc. | Protected fold and seal label for demand printing |
US5838834A (en) * | 1991-11-07 | 1998-11-17 | Canon Kabushiki Kaisha | Image processing apparatus and method for quantizing image data and quantization errors using single quantizing unit and pluralities of quantization tables |
US5233348A (en) * | 1992-03-26 | 1993-08-03 | General Instrument Corporation | Variable length code word decoder for use in digital communication systems |
KR0162197B1 (ko) * | 1992-05-30 | 1998-12-15 | 강진구 | 영상데이타의 가변장부호와/복호화방법 및 장치 |
GB2268667B (en) * | 1992-06-24 | 1995-11-08 | Sony Broadcast & Communication | Serial data decoding |
JPH0621830A (ja) * | 1992-06-30 | 1994-01-28 | Sony Corp | 2次元ハフマン符号化方法 |
US5821885A (en) * | 1994-07-29 | 1998-10-13 | Discovision Associates | Video decompression |
US5325092A (en) * | 1992-07-07 | 1994-06-28 | Ricoh Company, Ltd. | Huffman decoder architecture for high speed operation and reduced memory |
KR950010913B1 (ko) | 1992-07-23 | 1995-09-25 | 삼성전자주식회사 | 가변장부호화 및 복호화시스템 |
KR940017747A (ko) * | 1992-12-29 | 1994-07-27 | 에프. 제이. 스미트 | 영상 처리 디바이스 |
US5400075A (en) * | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
JPH06237184A (ja) * | 1993-02-10 | 1994-08-23 | Fujitsu Ltd | 可変長符号化回路 |
US5381145A (en) * | 1993-02-10 | 1995-01-10 | Ricoh Corporation | Method and apparatus for parallel decoding and encoding of data |
US5583500A (en) * | 1993-02-10 | 1996-12-10 | Ricoh Corporation | Method and apparatus for parallel encoding and decoding of data |
US5717394A (en) * | 1993-02-10 | 1998-02-10 | Ricoh Company Ltd. | Method and apparatus for encoding and decoding data |
US5861921A (en) * | 1993-03-29 | 1999-01-19 | Canon Kabushiki Kaisha | Controlling quantization parameters based on code amount |
JPH0766982A (ja) | 1993-08-26 | 1995-03-10 | Canon Inc | 符号量制御装置 |
JP3382292B2 (ja) | 1993-04-22 | 2003-03-04 | キヤノン株式会社 | 画像符号化装置及びその方法 |
JPH079088A (ja) | 1993-06-28 | 1995-01-13 | Sumitomo Heavy Ind Ltd | 小ロット生産用連続鋳造設備による鋳片の製造法 |
JP3210996B2 (ja) * | 1993-07-30 | 2001-09-25 | 三菱電機株式会社 | 高能率符号化装置及び高能率復号化装置 |
JPH0766882A (ja) | 1993-08-23 | 1995-03-10 | Matsushita Electric Works Ltd | インターホンシステム |
JPH07143488A (ja) * | 1993-11-19 | 1995-06-02 | Fujitsu Ltd | 画像データ復号化方法および装置 |
US5479527A (en) * | 1993-12-08 | 1995-12-26 | Industrial Technology Research Inst. | Variable length coding system |
KR0155784B1 (ko) * | 1993-12-16 | 1998-12-15 | 김광호 | 영상데이타의 적응형 가변장 부호화/복호화방법 |
KR970009408B1 (ko) * | 1994-01-18 | 1997-06-13 | 대우전자 주식회사 | 인터/인트라 테이블 선택 회로 |
KR0148151B1 (ko) * | 1994-05-11 | 1998-09-15 | 김광호 | 개선된 차분동부호테이블을 이용한 차분동벡터값의 가변장부호화방법 및 그 장치 |
JP3220598B2 (ja) * | 1994-08-31 | 2001-10-22 | 三菱電機株式会社 | 可変長符号テーブルおよび可変長符号化装置 |
KR0147948B1 (ko) * | 1994-09-15 | 1998-09-15 | 배순훈 | 영상 부호화장치 |
US6141446A (en) * | 1994-09-21 | 2000-10-31 | Ricoh Company, Ltd. | Compression and decompression system with reversible wavelets and lossy reconstruction |
US6549666B1 (en) * | 1994-09-21 | 2003-04-15 | Ricoh Company, Ltd | Reversible embedded wavelet system implementation |
CA2156889C (en) | 1994-09-30 | 1999-11-02 | Edward L. Schwartz | Method and apparatus for encoding and decoding data |
JP3144456B2 (ja) | 1995-01-20 | 2001-03-12 | 三菱自動車工業株式会社 | 助手席エアバッグモジュールのリアクションカン構造 |
JP3285460B2 (ja) | 1995-01-31 | 2002-05-27 | 株式会社ケット科学研究所 | 近赤外成分分析器の光源装置 |
KR100209410B1 (ko) * | 1995-03-28 | 1999-07-15 | 전주범 | 영상 신호 부호화 장치 |
US5740283A (en) * | 1995-07-06 | 1998-04-14 | Rubin, Bednarek & Associates, Inc. | Digital video compression utilizing mixed vector and scalar outputs |
US5812788A (en) * | 1995-07-21 | 1998-09-22 | Intel Corporation | Encoding/decoding video signals using quantization tables based on explicitly encoded base and scale matrices |
JP3883618B2 (ja) * | 1995-10-26 | 2007-02-21 | 株式会社ハイニックスセミコンダクター | データ圧縮方法 |
US5835145A (en) * | 1996-01-19 | 1998-11-10 | Lsi Logic Corporation | Conversion system using programmable tables for compressing transform coefficients |
JP3141149B2 (ja) | 1996-04-26 | 2001-03-05 | 株式会社日立製作所 | 画像符号化装置 |
CN1183769C (zh) * | 1996-05-28 | 2005-01-05 | 松下电器产业株式会社 | 图像预测编码/解码装置和方法以及记录媒体 |
US5825312A (en) * | 1996-11-25 | 1998-10-20 | Xerox Corporation | DX JPEG Huffman decoder |
US5995148A (en) * | 1997-02-14 | 1999-11-30 | At&T Corp | Video coder having scalar dependent variable length coder |
JPH10271017A (ja) | 1997-03-27 | 1998-10-09 | Kawasaki Steel Corp | 符号量制御装置 |
JP3189876B2 (ja) * | 1997-06-09 | 2001-07-16 | 日本電気株式会社 | 可変長符号復号化回路 |
US6151075A (en) * | 1997-06-11 | 2000-11-21 | Lg Electronics Inc. | Device and method for converting frame rate |
FI107496B (fi) * | 1997-07-18 | 2001-08-15 | Nokia Mobile Phones Ltd | Kuvan kompressointi |
US6016111A (en) * | 1997-07-31 | 2000-01-18 | Samsung Electronics Co., Ltd. | Digital data coding/decoding method and apparatus |
KR19990036476A (ko) * | 1998-04-28 | 1999-05-25 | 백정한 | 가변양자의 부호화를 이용한 화상압축방법및 그 장치 |
US6477280B1 (en) * | 1999-03-26 | 2002-11-05 | Microsoft Corporation | Lossless adaptive encoding of finite alphabet data |
US6241778B1 (en) * | 1999-06-18 | 2001-06-05 | Lucent Technologies Inc. | Methods and apparatus for implementing run-length limited and maximum transition run codes |
JP2001025053A (ja) * | 1999-07-09 | 2001-01-26 | Mitsubishi Electric Corp | 携帯電話のメモリシステム |
AUPQ668500A0 (en) * | 2000-04-04 | 2000-05-04 | Canon Kabushiki Kaisha | Accessing items of information |
AU769072B2 (en) | 2000-04-04 | 2004-01-15 | Canon Kabushiki Kaisha | Accessing items of information |
JP4109404B2 (ja) * | 2000-04-26 | 2008-07-02 | 松下電器産業株式会社 | 符号化装置および符号化方法 |
US6731814B2 (en) * | 2000-05-01 | 2004-05-04 | Xerox Corporation | Method for compressing digital documents with control of image quality and compression rate |
US6912070B1 (en) * | 2000-08-08 | 2005-06-28 | Qualcomm, Inc. | Sub-optimal variable length coding |
US6661355B2 (en) * | 2000-12-27 | 2003-12-09 | Apple Computer, Inc. | Methods and apparatus for constant-weight encoding & decoding |
US6757429B2 (en) * | 2001-02-21 | 2004-06-29 | Boly Media Communications Inc. | Method of compressing digital images |
US20030012287A1 (en) * | 2001-03-05 | 2003-01-16 | Ioannis Katsavounidis | Systems and methods for decoding of systematic forward error correction (FEC) codes of selected data in a video bitstream |
US6763070B1 (en) | 2001-05-29 | 2004-07-13 | Cisco Technology, Inc. | Methods and apparatus for selecting a cut-off index |
US7046852B2 (en) * | 2001-09-13 | 2006-05-16 | Sharp Laboratories Of America, Inc. | Fast image decompression via look up table |
US6856701B2 (en) * | 2001-09-14 | 2005-02-15 | Nokia Corporation | Method and system for context-based adaptive binary arithmetic coding |
MXPA04000912A (es) * | 2001-11-22 | 2004-04-02 | Matsushita Electric Ind Co Ltd | Metodo de codificacion de longitud variable y metodo de decodificacion de longitud variable. |
CN101448162B (zh) | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
US6690307B2 (en) * | 2002-01-22 | 2004-02-10 | Nokia Corporation | Adaptive variable length coding of digital video |
US6823015B2 (en) * | 2002-01-23 | 2004-11-23 | International Business Machines Corporation | Macroblock coding using luminance date in analyzing temporal redundancy of picture, biased by chrominance data |
US7206448B2 (en) | 2002-02-28 | 2007-04-17 | At&T Corp. | System and method for using pattern vectors for video and image coding and decoding |
US6717394B2 (en) * | 2002-03-21 | 2004-04-06 | Eaton Corporation | Method and apparatus for determining frequency of an alternating current signal of an electric power system |
US7099387B2 (en) * | 2002-03-22 | 2006-08-29 | Realnetorks, Inc. | Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses |
JP4130780B2 (ja) * | 2002-04-15 | 2008-08-06 | 松下電器産業株式会社 | 画像符号化方法および画像復号化方法 |
EP1478190B1 (en) * | 2002-04-26 | 2013-01-02 | NTT DoCoMo, Inc. | Image encoding device, image encoding method, and image encoding program |
PT1467491E (pt) * | 2002-05-02 | 2007-03-30 | Fraunhofer Ges Forschung | Codificação aritmética de coeficientes de transformação |
US6731841B1 (en) * | 2002-05-24 | 2004-05-04 | Alliance Fiber Optic Products, Inc. | Folded waveguide optical devices |
JP3707456B2 (ja) * | 2002-08-12 | 2005-10-19 | ヤマハ株式会社 | 画像データ圧縮方法および画像データ伸張装置並びに伸張プログラム |
JP3679083B2 (ja) * | 2002-10-08 | 2005-08-03 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム |
US6646578B1 (en) * | 2002-11-22 | 2003-11-11 | Ub Video Inc. | Context adaptive variable length decoding system and method |
EP1494413A1 (en) * | 2003-07-02 | 2005-01-05 | CoreOptics, Inc., c/o The Corporation Trust Center | Channel estimation and sequence estimation for the reception of optical signal |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
JP4484630B2 (ja) * | 2004-01-29 | 2010-06-16 | パナソニック株式会社 | 可変長復号化装置および可変長復号化方法および再生システム |
US7450775B2 (en) * | 2004-03-12 | 2008-11-11 | Kabushiki Kaisha Toshiba | Image processing apparatus for efficient storage of variable block length data |
US7132963B2 (en) * | 2004-09-13 | 2006-11-07 | Ati Technologies Inc. | Methods and apparatus for processing variable length coded data |
-
2002
- 2002-11-22 MX MXPA04000912A patent/MXPA04000912A/es active IP Right Grant
- 2002-11-22 ES ES02803564T patent/ES2373944T3/es not_active Expired - Lifetime
- 2002-11-22 AT AT02803564T patent/ATE528924T1/de active
- 2002-11-22 KR KR1020097017951A patent/KR100993443B1/ko active IP Right Grant
- 2002-11-22 EP EP16175248.0A patent/EP3099068B1/en not_active Expired - Lifetime
- 2002-11-22 KR KR1020037015866A patent/KR100947399B1/ko active IP Right Grant
- 2002-11-22 DK DK02803564T patent/DK1413139T3/da active
- 2002-11-22 EP EP16175243.1A patent/EP3099066B1/en not_active Expired - Lifetime
- 2002-11-22 CN CNB028132823A patent/CN1301014C/zh not_active Expired - Lifetime
- 2002-11-22 WO PCT/JP2002/012230 patent/WO2003045065A2/en active Application Filing
- 2002-11-22 KR KR1020107007955A patent/KR101030908B1/ko active IP Right Grant
- 2002-11-22 KR KR1020107007956A patent/KR101030903B1/ko active IP Right Grant
- 2002-11-22 KR KR1020107007957A patent/KR101030850B1/ko active IP Right Grant
- 2002-11-22 PT PT101806982T patent/PT2268033T/pt unknown
- 2002-11-22 WO PCT/JP2002/012232 patent/WO2003044964A1/ja not_active Application Discontinuation
- 2002-11-22 KR KR10-2004-7007783A patent/KR20040054794A/ko not_active Application Discontinuation
- 2002-11-22 AU AU2002357584A patent/AU2002357584B2/en not_active Expired
- 2002-11-22 KR KR1020087009133A patent/KR100921031B1/ko active IP Right Grant
- 2002-11-22 CN CN2006101436850A patent/CN101001385B/zh not_active Expired - Lifetime
- 2002-11-22 ES ES16175243T patent/ES2752804T3/es not_active Expired - Lifetime
- 2002-11-22 EP EP10180698.2A patent/EP2268033B1/en not_active Expired - Lifetime
- 2002-11-22 KR KR1020087009127A patent/KR100913633B1/ko active IP Right Grant
- 2002-11-22 DK DK10180698.2T patent/DK2268033T3/en active
- 2002-11-22 CA CA002450360A patent/CA2450360C/en not_active Expired - Lifetime
- 2002-11-22 EP EP16175245.6A patent/EP3099067B1/en not_active Expired - Lifetime
- 2002-11-22 US US10/480,038 patent/US6967600B2/en not_active Expired - Lifetime
- 2002-11-22 BR BR0206628A patent/BR0206628A/pt not_active Application Discontinuation
- 2002-11-22 KR KR1020087009136A patent/KR100921032B1/ko active IP Right Grant
- 2002-11-22 MX MXPA04004770A patent/MXPA04004770A/es unknown
- 2002-11-22 PT PT02803564T patent/PT1413139E/pt unknown
- 2002-11-22 KR KR1020097023346A patent/KR100992336B1/ko active IP Right Grant
- 2002-11-22 CN CNA028224728A patent/CN1586042A/zh not_active Withdrawn
- 2002-11-22 EP EP20020790698 patent/EP1453208A1/en not_active Withdrawn
- 2002-11-22 EP EP20020803564 patent/EP1413139B1/en not_active Expired - Lifetime
- 2002-11-22 KR KR1020107007960A patent/KR101022091B1/ko active IP Right Grant
- 2002-11-22 ES ES16175245T patent/ES2741562T3/es not_active Expired - Lifetime
- 2002-11-22 US US10/494,753 patent/US20050015248A1/en not_active Abandoned
- 2002-11-22 PT PT101807147T patent/PT2268034T/pt unknown
- 2002-11-22 KR KR1020097023335A patent/KR100992246B1/ko active IP Right Grant
- 2002-11-22 AU AU2002366142A patent/AU2002366142A1/en not_active Withdrawn
- 2002-11-22 ES ES16175248T patent/ES2741563T3/es not_active Expired - Lifetime
- 2002-11-22 KR KR1020087009140A patent/KR100921033B1/ko active IP Right Grant
- 2002-11-22 EP EP10180714.7A patent/EP2268034B1/en not_active Expired - Lifetime
- 2002-11-22 ES ES10180714.7T patent/ES2599624T3/es not_active Expired - Lifetime
- 2002-11-22 BR BRPI0206629-7A patent/BRPI0206629B1/pt unknown
- 2002-11-22 CA CA 2467266 patent/CA2467266A1/en not_active Withdrawn
- 2002-11-22 ES ES10180698.2T patent/ES2587022T3/es not_active Expired - Lifetime
- 2002-11-22 BR BR0206629A patent/BR0206629A/pt active IP Right Grant
- 2002-11-22 KR KR1020087009131A patent/KR100921034B1/ko active IP Right Grant
- 2002-11-22 DK DK10180714.7T patent/DK2268034T3/en active
- 2002-11-22 KR KR1020087009132A patent/KR100921030B1/ko active IP Right Grant
- 2002-11-22 KR KR1020107007959A patent/KR101030862B1/ko active IP Right Grant
-
2005
- 2005-04-21 US US11/110,922 patent/US7161508B2/en not_active Expired - Lifetime
- 2005-04-21 US US11/110,921 patent/US6992605B2/en not_active Expired - Lifetime
- 2005-04-21 US US11/110,916 patent/US6954157B2/en not_active Expired - Lifetime
- 2005-11-08 US US11/268,667 patent/US7109898B2/en not_active Expired - Lifetime
-
2006
- 2006-07-31 US US11/495,600 patent/US7541948B2/en not_active Expired - Lifetime
- 2006-07-31 US US11/495,601 patent/US7411526B2/en not_active Expired - Lifetime
- 2006-07-31 US US11/495,598 patent/US7283071B2/en not_active Expired - Lifetime
- 2006-10-06 US US11/543,860 patent/US7339506B2/en not_active Expired - Lifetime
- 2006-10-06 US US11/543,854 patent/US7312730B2/en not_active Expired - Lifetime
- 2006-10-06 US US11/543,857 patent/US7312731B2/en not_active Expired - Lifetime
-
2007
- 2007-05-31 AU AU2007202509A patent/AU2007202509B2/en not_active Expired
- 2007-10-31 US US11/980,403 patent/US7714752B2/en not_active Expired - Lifetime
-
2008
- 2008-04-21 JP JP2008109896A patent/JP4158995B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109899A patent/JP4158998B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109900A patent/JP4158999B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109895A patent/JP4158994B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109898A patent/JP4158997B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109894A patent/JP4158993B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109897A patent/JP4158996B2/ja not_active Expired - Lifetime
-
2010
- 2010-02-19 US US12/708,884 patent/US7956774B2/en not_active Expired - Fee Related
- 2010-03-10 AU AU2010200907A patent/AU2010200907B2/en not_active Expired
- 2010-03-10 AU AU2010200906A patent/AU2010200906B2/en not_active Expired
-
2011
- 2011-04-21 US US13/091,611 patent/US8604947B2/en not_active Expired - Lifetime
-
2013
- 2013-11-04 US US14/070,857 patent/US8941514B2/en not_active Expired - Lifetime
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101030908B1 (ko) | 복호화 방법 및 복호화 장치 | |
JP4100552B2 (ja) | 復号化方法 | |
JP4158985B2 (ja) | 符号化方法、及び符号化装置 | |
JP4158986B2 (ja) | 復号化方法、及び復号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
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: 20140320 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160318 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170322 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180410 Year of fee payment: 8 |