KR100318058B1 - 화상 복호화 방법 - Google Patents

화상 복호화 방법 Download PDF

Info

Publication number
KR100318058B1
KR100318058B1 KR1020017008444A KR20017008444A KR100318058B1 KR 100318058 B1 KR100318058 B1 KR 100318058B1 KR 1020017008444 A KR1020017008444 A KR 1020017008444A KR 20017008444 A KR20017008444 A KR 20017008444A KR 100318058 B1 KR100318058 B1 KR 100318058B1
Authority
KR
South Korea
Prior art keywords
variable length
code
length code
encoding
input
Prior art date
Application number
KR1020017008444A
Other languages
English (en)
Inventor
분충셍
Original Assignee
모리시타 요이찌
마쯔시다덴기산교 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 모리시타 요이찌, 마쯔시다덴기산교 가부시키가이샤 filed Critical 모리시타 요이찌
Application granted granted Critical
Publication of KR100318058B1 publication Critical patent/KR100318058B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • H03M7/425Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion 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
    • H03M7/48Conversion 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 alternating with other codes during the code conversion process, e.g. run-length coding being performed only as long as sufficientlylong runs of digits of the same kind are present
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

본 발명의 화상 부호화 방법은, 디지털 화상 데이터에 대하여 DCT 등의 처리를 행한 후에 양자화 처리를 실시하여 얻어진 양자화 변환 계수에 대하여, 가변 길이 부호의 할당을 나타내는 가변 길이 부호 테이블의 참조에 의한 가변 길이 부호화 처리를 행하는 것으로, 양자화 변환 계수로부터 얻어지는 사상과, 가변 길이 부호 테이블에 포함되는 참조 사상의 비교 처리에 있어서, 변환 처리를 행함으로써, 부호화 효율이 양호한 가변 길이 부호화가 실행될 가능성을 높이는 것이다.

Description

화상 복호화 방법{IMAGE DECODING METHOD}
본 발명은 화상 부호화·복호화 방법, 화상 부호화·복호화 장치, 및 화상 부호화·복호화 프로그램 기록 매체에 관한 것으로, 특히 범용성이 높은 가변 길이 부호화를 실행하는 화상 부호화 처리, 및 이러한 화상 부호화 결과에 대한 화상 복호화 처리에 관한 것이다.
디지털 화상을 효율적으로 축적 또는 전송하기 위해서는, 압축 부호화를 해야한다. 이러한, 디지털 화상에 대한 압축 부호화 방법으로서는, 대표적 규격인 JPEG(Joint Photographic Experts Group)나 MPEG(Moving Picture Experts Group)에 있어서의 중심적인 기술인 이산 코사인 변환(DCT)이 있으며, 그 밖에 서브 밴드 부호화나 웨이브렛 변환, 또한 차원 분열 도형(fracta1) 등의 파형 부호화 방법이 있다. 또한, 화상간의 용장 신호를 제거하기 위해서는, 기본적으로 하나의 정지 화상내에 있어서의 공간적인 상관 관계에 근거하는 화면내 부호화를 실행하는 것이지만, 이에 부가하여 각 정지 화상간의 시간적인 상관 관계에 근거하여, 움직임 보상을 이용한 화상간 예측을 실행하고, 차분 신호를 파형 부호화하는 화면간 부호화도 실행되며, 이 양자를 병용함으로써 고압축율의 부호화 데이터를 얻을 수 있다.
MPEG 규격 등에 따른 종래의 기술에 의한 화상 부호화 처리에 있어서는, DCT 등의 처리 후에, 양자화 처리를 행하고, 또한 가변 길이 부호화 처리가 행하여진다. 즉, 우선, 디지털 화상 데이터에 대하여 DCT, 서브 밴드, 웨이브렛 등의 처리를 실시하여, 해당 처리에 의해서 얻어진 변환 계수를, 소정의 양자화폭을 이용하여 양자화하여, 양자화 변환 계수를 생성하는 것으로, 이 양자화 변환 계수에 대하여, 가변 길이 부호화 처리가 행하여진다.
양자화 처리에 의해서 얻어진 양자화 변환 계수는, 이차원의 배열을 구성하는 것으로, 각각의 계수는 제로(zero), 또는 비(非)제로 중 어느 한쪽으로 된다. 가변 길이 부호화 처리에 있어서는, 이 이차원 배열로 되어 있는 계수(제로와 비제로)에 대하여, 소정의 순서로 주사하는 지그재그 스캔을 행하여 일차원으로 재배열한 후, 이 일차원의 계수의 배열로부터, 선행하는 제로 계수의 갯수인 런(Run)과, 비제로 계수의 값인 레벨(Level)로 이루어지는 사상을 생성한다. 그리고, 런과 레벨로 이루어지는 각 사상에 대하여, 일의적인 가변 길이 부호를 할당한 가변 길이 부호 테이블을 미리 준비하여, 그것을 참조하여 부호화한다. 또한 이에 부가하여, 계수가 마지막인지의 여부를 나타내는 코드로서 다른 부호를 할당하는 방법이나, 런과 레벨의 조(組)에 마지막 계수인지의 여부를 나타내는 라스트(Last)를 부가한 (Last, Run, Level)의 조를 하나의 사상으로 하여, 이 3자의 조에 가변 길이 부호를 할당한 테이블을 이용하여, 부호화를 행하는 방법도 이용된다.
도 18은 종래의 기술에 의한 (Last, Run, Level)로 이루어지는 사상에 대한 부호화 처리의 처리 순서를 나타내는 플로우차트이다. 이하에 종래의 기술에 의한 부호화 처리를 도 18의 순서에 따라서 설명한다.
단계 1801에 있어서 처리가 시작되면, 단계 1802에 있어서 j번째 사상이, 처리 대상인 입력 사상으로서 입력된다. 단계 1803에서는, 입력 사상과 가변 길이 부호 테이블에 있는 참조 사상의 비교가 행하여진다.
도 19 내지 도 22에, 종래의 기술에 의한 가변 길이 부호화 처리에 이용하는 가변 길이 부호 테이블의 예를 도시한다. 도시하는 바와 같이, 해당 테이블은 (Last, Run, Level)로 이루어지는 사상과, 부호가 대응한 테이블이다. 도면에 있어서, 「VLC CODE」의 란에 있는 “s”는 레벨이 양일 때에 0, 음일 때에 1로 되는 것이다. 또한, Last가 0일 때에는, 해당 계수가 마지막 계수가 아닌 것을 나타낸다.
도 18의 단계 1803에서는, 이 가변 길이 부호 테이블을 참조하여, 입력 사상과 해당 테이블에 포함되는 (Last, Run, Level)로 이루어지는 참조 사상 각각의 비교가 실행되고, 단계 1804에 있어서는, 상기 비교 처리에 의해, (Last, Run, Level)의 일치하는 참조 사상이 있었는지의 여부의 판정이 행하여진다. 단계 1804의 판정에 있어서 참조 사상이 있었던 경우에는 단계 1805가, 없었던 경우에는 단계 1806이 실행된다. 여기서, 단계 1805가 실행된 경우에는, 해당 참조 사상에 대응하는 가변 길이 부호가 출력되어, 후술하는 단계 1807로 이행한다.
한편, 단계 1806이 실행되는 경우, 즉 가변 길이 부호 테이블을 참조하더라도, 처리의 대상인 사상에 해당하는 (Last, Run, Level)이 없었던 경우에는, 단계 1806에 있어서 고정 길이 부호화를 행한다. 도 23은 고정 길이 부호화를 나타내는 개념 도면이다. 도시하는 바와 같이, 런에 대해서는 도 23a를, 레벨에 대해서는 도 23b에 도시하는 바와 같이 각각 부호가 할당되고, 이들이 부호화 결과로 된다. 이와 같이 고정 길이 부호화 처리가 행하여진 경우에는, 가변 길이 부호화에 의해서 얻어진 부호와의 구별을 하기 위해서, 부호화 결과가 고정 길이 부호인 것을 나타내기 위해 제어 코드를, 부호화 결과에 앞서 전송되도록 부여한다. 이 제어 코드는 에스케이프 코드(ESC)라 칭하고, 이 예로서는 도 22에 도시하는 바와 같이, “0000011”의 부호가 이용된다. 즉, 고정 길이 부호화가 실행된 경우, ESC 코드의 7비트와, 상기한 바와 같이 할당된 부호가 계속되는 부호화 데이터를 얻을 수 있게 된다.
단계 1805 또는 단계 1806 중 어느쪽이 실행된 경우에도, 계속되는 단계1807에서는 처리한 입력 사상이 마지막 입력 사상인지의 여부의 판정이 이루어져, 마지막인 경우에는 단계 1808에 있어서 부호화 처리가 종료된다. 한편, 마지막이 아닌 경우에는 단계 1809에 있어서 j가 1만큼 증가된 후에, 단계 1802로 되돌아감으로써, 다음 입력 사상이 마찬가지로 처리되게 된다. 이렇게 해서, 마지막 비제로의 계수까지 처리가 속행된다.
이와 같이, 종래의 기술에 있어서의 화상 부호화 처리에 있어서는, 양자화된 변환 계수에 대하여, 사상을 생성하여, 이 사상을 가변 길이 부호 테이블에 포함되는 참조 사상과 비교하여, 일치하는 것이 있으면 해당 테이블로부터 얻어지는 가변 길이 부호를 이용하고, 일치하는 것이 없으면 제어 코드(ESC 코드)를 부여한 고정 길이 부호화 결과를 이용하는 것이다.
일반적으로 가변 길이 부호 테이블은, 많은 화상을 이용하여 통계적인 분포를 조사하여, 빈번히 발생하는 사상에 대하여 짧은 코드를 할당하도록 작성되고, 이에 따라 전체적인 압축율의 향상을 도모하는 것이다. 상술한 바와 같이, 가변 길이 부호 테이블을 이용하여 부호화가 실행될 수 없었던 경우에는, 고정 길이 부호화되어, 압축율을 저하시키게 되기 때문에, 될 수 있는 한 고정 길이 부호화를 실행하지 않도록 설정되어 있는 것이 바람직한 것으로 된다. 여기서, 종래의 기술에 의한 화상 부호화에 있어서는, 도 18에 도시하는 바와 같이, 단계 1804의 판정에 있어서, 해당하는 참조 사상이 없었던 경우에, 즉시 단계 1806에 있어서 고정 길이 부호화가 실행되므로, 부호화 효율이 양호한 가변 길이 부호화가 실행되는 비율에 대해서는, 가변 길이 부호 테이블에 해당하는 사상이 존재하는 비율에 의해서직접적으로 결정되게 된다.
그러나, 화상 압축 부호화에 있어서는, 양자화폭에 의해서 계수의 통계적 분포가 변화하는 것으로, 특히 고압축율인 경우와 저압축율인 경우에는 계수의 분포는 상당히 상이한 것으로 되는 것을 알 수 있다. 따라서, 대상으로 되는 계수에 대하여 적절한 가변 길이 부호 테이블을 이용하지 않은 경우에는, 가변 길이 부호 테이블에 해당하는 사상이 존재하는 비율이 낮아지게 되어, 고정 길이 부호화가 실행되는 비율이 높아지기 때문에, 부호화 효율이 저하되어 버린다.
일반적으로 양자화폭을 크게 하면, 양자화 변환 계수에 대하여 압축율이 높아지지만, 이러한 양자화 변환 계수로부터 얻어진 사상에 대해서는, 그 갖고 있는 레벨값이 작은 것으로 되는 경향을 나타낸다. 도 19 내지 도 22에 도시하는 가변 길이 부호 테이블에서는, 레벨값이 작은 사상이 많이 포함되고, 또한 레벨값이 작은 사상에 대하여, 짧은 코드를 할당한 것으로, 비교적 압축율이 높은 양자화 변환 계수를 처리 대상으로 하는 경우에 적절한 것으로 되어 있다. 따라서, 양자화폭이 작고, 양자화 변환 계수의 압축율이 낮은 경우, 얻어지는 사상은 레벨값이 큰 것이 많아지는 점으로부터, 이러한 가변 길이 부호화 테이블에 해당하는 사상이 존재하지 않은 비율이 높아지고, 또한 존재하더라도 비교적 긴 코드가 할당되는 케이스가 증가하여, 부호화 결과의 비트수가 증대된다. 즉, 저압축율에 이용된 가변 길이 부호 테이블을 고압축율 부호화에 대하여 이용함으로써, 부호화 효율이 저하하게된다.
이와 같이, 가변 길이 부호화의 처리 대상인 계수에 대하여, 적절히 설정된 가변 길이 부호화 테이블을 이용하지 않을 때에는, 가변 길이 부호화를 행할 수 없어 고정 길이 부호화하는 것이 증가하고, 또한 가변 길이 부호화를 행할 경우에도 비트량이 증대하기 때문에, 부호량이 증가하여 압축율의 향상을 도모할 수 없는 점이, 종래의 기술에 의한 화상 부호화 처리의 문제점이었다.
본 발명은, 상기한 바와 같은 문제점에 비추어 보아 이루어진 것으로, 화상 부호화에 있어서, 동일한 가변 길이 부호화 테이블을 이용하여 광범위하게, 즉 고압축율로부터 저압축율까지 이르는 부호화 대상에 대하여, 그 어느쪽에 대해서도 효율적으로 부호화하는 것을 목적으로 한다.
도 1은 본 발명의 실시예 1에 의한 가변 길이 부호화 방법에 있어서의 처리 순서를 도시하는 플로우차트,
도 2는 본 발명의 실시예 1에 의한 화상 부호화 장치의 구성을 나타내는 블록도,
도 3은 본 발명의 실시예 1에 의한 가변 길이 부호화 방법을 이용하여 변환한 부호의 예를 도시하는 설명도,
도 4는 본 발명의 실시예 1에 의한 화상 복호화 장치의 구성을 나타내는 블록도,
도 5는 본 발명의 실시예 1에 의한 가변 길이 복호화 방법에 있어서의 처리 순서를 나타내는 플로우차트,
도 6은 본 발명의 실시예 2에 의한 가변 길이 부호화 방법에 있어서의 처리 순서를 도시하는 플로우차트,
도 7은 본 발명의 실시예 2에 의한 가변 길이 복호화 방법에 있어서의 처리 순서를 도시하는 플로우차트,
도 8은 본 발명의 실시예 3에 의한 가변 길이 부호화 방법에 있어서의 처리순서를 도시하는 플로우차트,
도 9는 본 발명의 실시예 3에 의한 가변 길이 복호화 방법에 있어서의 처리 순서를 도시하는 플로우차트,
도 10은 본 발명의 실시예 4에 의한 가변 길이 부호화 방법에 있어서의 처리 순서를 도시하는 플로우차트,
도 11은 본 발명의 실시예 4에 의한 가변 길이 복호화 방법에 있어서의 처리 순서를 도시하는 플로우차트,
도 12는 본 발명의 실시예 5에 의한 가변 길이 부호화 방법에 있어서의 처리 순서를 도시하는 플로우차트,
도 13은 본 발명의 실시예 5에 의한 가변 길이 부호화 방법에 있어서 이용되는, 양자화폭과 변환 처리를 위한 제수의 관계를 도시하는 도면,
도 14는 본 발명의 실시예 5에 의한 가변 길이 복호화 방법에 있어서의 처리 순서를 도시하는 플로우차트,
도 15는 본 발명의 실시예 6에 의한 가변 길이 부호화 방법에 있어서의 처리 순서를 도시하는 플로우차트,
도 16은 본 발명의 실시예 6에 의한 화상 부호화 장치가 갖는 가변 길이 부호화기의 내부 구성을 나타내는 블록도,
도 17은 본 발명의 실시예 6에 의한 화상 복호화 장치가 갖는 가변 길이 복호화기의 내부 구성을 나타내는 블록도,
도 18은 종래의 기술에 의한 가변 길이 부호화 방법에 있어서의 처리 순서를도시하는 플로우차트,
도 19 내지 도 22는 가변 길이 부호화에 이용되는 가변 길이 부호 테이블의 일례를 도시하는 도면,
도 23은 고정 길이 부호화 처리를 설명하기 위한 도면.
도면의 주요부분에 대한 부호의 설명
201 : 입력 단자 202 : 제 1 가산기
203 : 부호화기 206 : 출력 단자
207 : 복호화기 210 : 제 2 가산기
211 : 가변 길이 부호화기
213 : 프레임 메모리
214 : 움직임 검출기 215 : 움직임 보상기
상기 과제를 해결하기 위해서, 본 발명의 하나의 화상 부호화 방법은, 부호화 대상 화상에 대하여, 소정의 변환 방법에 따라서 변환 계수를 취득하고, 상기 변환 계수에 대하여 소정의 양자화폭을 이용한 양자화 처리를 행하여 양자화 변환 계수를 취득하며, 상기 양자화 변환 계수에 대하여, 참조 사상과 가변 길이 부호의 쌍을 복수개 갖는 가변 길이 부호 테이블을 참조하여 가변 길이 부호화 처리를 행하는 화상 부호화 방법에 있어서, 상기 양자화 변환 계수와 상기 가변 길이 부호 테이블에 포함되는 참조 사상의 비교 처리에 의해서 제 1 비교 결과를 취득하여, 상기 제 1 비교 결과가 「일치」를 나타내는 경우에, 해당 참조 사상에 대응하는가변 길이 부호를 이용하여 제 1 부호화 결과를 얻는 제 1 가변 길이 부호화 단계와, 상기 제 1 비교 결과가 「일치」를 나타내지 않은 경우에, 소정의 함수를 이용한 변환 처리를 동반한, 상기 양자화 변환 계수와 상기 가변 길이 부호 테이블에 포함되는 참조 사상과의 비교 처리에 의해서 제 2 비교 결과를 취득하여, 상기 제 2 비교 결과가 「일치」를 나타내는 경우에, 상기 참조 사상에 대응하는 가변 길이 부호를 이용하여, 상기 제 1 부호화 결과와 구별할 수 있는 제 2 부호화 결과를 얻는 제 2 가변 길이 부호화 단계와, 상기 제 2 비교 결과가 「일치」를 나타내지 않은 경우에, 상기 양자화 변환 계수에 대하여, 소정의 부호화 체계를 이용하여 부호화 처리를 행하고, 상기 제 1 부호화 결과 및 상기 제 2 부호화 결과의 어느쪽과도 구별할 수 있는 부호화 결과를 얻는 특정 부호화 단계를 실행하는 것이고, 제 1 가변 길이 부호화 단계에 있어서 가변 길이 부호화가 실행될 수 없었던 경우에도, 제 2 가변 길이 부호화 단계를 실행함으로써, 가변 길이 부호화가 실행되는 비율을 높게 하여, 얻어지는 부호화 데이터의 압축율을 향상시켜, 가변 길이 부호 테이블을 활용하여 부호화 처리의 효율을 향상시킬 수 있다.
본 발명의 다른 화상 부호화 방법은, 부호화 대상 화상에 대하여, 소정의 변환 방법에 따라서 변환 계수를 취득하고, 상기 변환 계수에 대하여 소정의 양자화폭을 이용한 양자화 처리를 행하여 양자화 변환 계수를 취득하며, 상기 양자화 변환 계수에 대하여, 참조 사상과 가변 길이 부호의 쌍을 복수개 갖는 가변 길이 부호 테이블을 참조하여 가변 길이 부호화 처리를 행하는 화상 부호화 방법에 있어서, 상기 양자화 변환 계수에 대하여, 상기 양자화폭에 근거하여 결정되는 제수를이용하여 제산 처리를 행하여 몫(quotient)과 나머지를 취득하고, 상기 몫을 이용한, 상기 가변 길이 부호 테이블에 포함되는 참조 사상과의 비교 처리에 의해서 몫 비교 결과를 취득하여 상기 몫 비교 결과가 「일치」를 나타내는 경우에, 해당 참조 사상에 대응하는 가변 길이 부호를 이용하여, 상기 나머지에 대하여 소정의 부호화 체계를 이용하여 부호화 처리를 행하여 얻어지는 보조 부호를 부여하고, 부호화 결과를 얻는 가변 길이 부호화 단계를 실행하는 것이며, 제산을 이용하는 변환 처리에 의해서, 비교에 있어서의 일치의 비율을 향상시켜, 가변 길이 부호 테이블을 활용하여 부호화 처리의 효율을 향상시키는 것이 가능해진다.
본 발명의 다른 화상 부호화 방법은, 부호화 대상 화상에 대하여, 소정의 변환 방법에 따라서 변환 계수를 취득하여, 상기 변환 계수에 대하여 소정의 양자화폭을 이용한 양자화 처리를 행하여 양자화 변환 계수를 취득하고, 상기 양자화 변환 계수에 대하여, 참조 사상과 가변 길이 부호의 쌍을 복수개 갖는 가변 길이 부호 테이블을 참조하여 가변 길이 부호화 처리를 행하는 화상 부호화 방법에 있어서, 상기 가변 길이 부호 테이블에 포함되는 참조 사상에 대하여, 상기 양자화폭에 근거하여, 소정의 함수를 이용한 변환 처리를 행하여 변환 사상을 생성하고, 상기 양자화 변환 계수와 상기 변환 사상의 비교 처리에 의해서 변환 비교 결과를 취득하여, 상기 변환 비교 결과가 「일치」를 나타내는 경우에, 해당 변환 참조 사상을 생성한 참조 사상에 대응하는 가변 길이 부호를 이용하여 부호화 결과를 얻는 가변 길이 부호화 단계를 실행하는 것이고, 가변 길이 부호 테이블에 포함되는 참조 사상에 대한 변환 처리에 의해서, 비교에 있어서의 일치의 비율을 향상시켜, 가변 길이 부호 테이블을 활용하여 부호화 처리의 효율을 향상할 수 있다.
이상과 같은 본 발명에 의하면, 같은 가변 길이 부호 테이블에 의해 광범위에 걸쳐(고압축율로부터 저압축율까지) 효율적으로 화상을 부호화하는 효과를 얻을 수 있다.
또한, 본 발명의 화상 부호화 장치는, 상기한 바와 같은 화상 부호화 방법을 실시하여, 고압축율의 부호화 결과를 얻을 수 있는 것이다.
또한, 본 발명의 화상 복호화 방법은, 상기한 바와 같은 화상 부호화 방법에 의해 얻어진 부호화 결과에 대하여, 적절히 복호 처리를 할 수 있는 것이다.
또한, 본 발명의 화상 복호화 장치는, 상기한 바와 같은 화상 부호화 장치에 의해 얻어진 부호화 결과에 대하여, 적절히 복호 처리를 할 수 있는 것이다.
또한, 본 발명의 화상 부호화 프로그램 기록 매체는, 상기한 바와 같은 화상 부호화 방법을 행하는 화상 부호화 프로그램을 기록한 것으로, 컴퓨터 시스템에서 해당 프로그램을 실행하는 것이고, 장치 자원을 활용하여, 고압축율의 부호화 결과가 얻어지는 화상 부호화 장치를 실현한다.
또한, 본 발명의 화상 복호화 프로그램 기록 매체는, 상기한 바와 같은 화상 복호화 방법을 행하는 화상 복호화 프로그램을 기록한 것으로, 컴퓨터 시스템에서 해당 프로그램을 실행하는 것이고, 장치 자원을 활용하여, 고압축율의 부호화 결과를 적절히 복호 처리할 수 있는 화상 복호화 장치를 실현한다.
(실시예 1)
본 발명의 실시예 1에 의한 화상 부호화 방법은, 부호화 대상으로 하는 사상에 대하여 변환 처리를 함으로써, 가변 길이 부호화 테이블의 사용 기회를 증가시켜, 부호화 효율의 향상을 도모하는 것이다.
도 1은 본 발명의 실시예 1에 의한 가변 길이 부호화 방법에 있어서의 처리 순서를 도시하는 플로우차트이다. 또한, 도 2는 본 실시예 1에 의한 가변 길이 부호화 처리를 실행하는 화상 부호화 장치의 구조를 도시하는 블록도, 도 3은 가변 길이 부호화 결과의 예를 도시하는 도면이다.
우선, 도 2를 이용하여 본 실시예 1에 의한 화상 부호화 장치에 대하여 설명한다. 도 2에 도시하는 바와 같이, 본 실시예 1에 의한 화상 부호화 장치는, 제 1 가산기(202), 부호화기(203), 제 2 가산기(210), 가변 길이 부호화기(VLC)(211), 프레임 메모리(FM)(213), 움직임 검출기(ME)(214), 및 움직임 보상기(MC)(215)를 구비한 것으로, 입력 단자(201)로부터 부호화 처리 대상으로 되는 디지털 화상 데이터를 입력하여, 출력 단자(206)로부터 해당 화상 부호화 장치의 장치 출력인 부호화 데이터를 출력한다. 또한, 부호화기(203)는 이산 코사인 변환기(DCT)(204)와 양자화기(Q)(205)를 내포하고, 복호화기(207)는 역(逆)양자화기(IQ)(208)와 역(逆)이산 코사인 변환기(IDCT)(209)를 내포하고 있다.
이상과 같이 구성된 화상 부호화 장치에 대하여, 이하에 그 동작을 기술한다. 우선, 디지털 화상 데이터인 부호화 대상 화상을 입력 단자(201)에 입력한다. 부호화 대상 화상은, 인접하는 복수개의 소(小)영역으로 분할된다. 본 실시예 1에있어서, 부호화 대상 화상은 인접하는 복수개의 16×16 블록으로 분할되고, 해당 분할된 블록마다 부호화 처리를 실행하는 것이다.
부호화의 대상으로 되는 블록인 대상 블록은, 라인(216)에 의해서 제 1 가산기(202)에 입력됨과 동시에, 라인(225)을 경유하여 움직임 검출기(214)에 입력된다. 또한, 프레임 메모리(213)에는 후술하는 바와 같이, 과거의 재생 화상이 저장되어 있는 것으로, 움직임 검출기(214)는 이 저장된 화상을 라인(224)을 거쳐서 입력하여, 이것을 참조 화상으로서 이용하여, 부호화 대상 블록에 대한 움직임 검출 처리를 행하여, 움직임 벡터를 취득한다. 움직임 검출 처리에 있어서는, 블록 매칭 등의 방법을 이용하여, 부호화 대상 블록에 대하여 오차가 가장 작은 예측 신호를 부여하는 움직임 변위 정보를 구하여, 이 움직임 변위 정보를 움직임 벡터로 함으로써 실행된다. 움직임 검출기(214)는 움직임 벡터를 움직임 보상기(215)에 출력한다. 또한, 움직임 벡터는 라인 228을 경유하여 가변 길이 부호화기(211)에도 출력되고, 가변 길이 부호화기(211)에 있어서, 가변 길이 부호로 변환되어, 사이드 정보의 일부로서 부호화 결과에 부여되게 된다.
움직임 보상기(215)에서는, 역시 프레임 메모리(213)에 저장된 화상을 참조 화상으로서 이용하여, 이 참조 화상과 움직임 벡터로부터, 예측 블록을 생성하고, 이것을 라인(226)에 의해서 제 1 가산기(202)에 출력함과 동시에, 라인(227)에 의해서 제 2 가산기(210)에도 출력한다. 제 1 가산기(202)에서는 입력된 대상 블록과 예측 블록의 차분을 취득함으로써 잔류 블록을 생성하여, 이것을 라인(217)에 의해 부호화기(203)에 출력한다.
잔류 블록은 부호화기(203)에 있어서 압축 부호화된다. 본 실시예 1에서는 잔류 블록을 이산 코사인 변환기(204)에 입력하여 주파수 영역의 계수로 변환하고, 주파수 영역의 계수는 라인(218)으로부터 양자화기(205)에 입력되며, 양자화기(205)는 소정의 양자화폭을 이용하여 양자화 처리를 한다. 제 1 가산기(202)에 있어서 차분을 취하지 않은 경우, 즉 화면내 부호화가 실행되는 경우에는, 대상 블록이 부호화기(203)에 입력되어 잔류 블록과 마찬가지로 처리된다.
양자화된 변환 계수인 양자화 변환 계수와 양자화 처리에 이용된 양자화폭이, 양자화기(205)로부터 라인(219)를 경유하여 가변 길이 부호화기(203)에 출력되어, 부호화 처리가 행하여지고, 부호화 결과는 움직임 벡터나 양자화폭 그 밖의 사이드 정보와 함께 출력 단자(206)에 출력된다. 한편, 양자화 변환 계수는 복호화기(207)에도 출력되어 신장(伸長) 처리가 행하여진다. 본 실시예 1에서는, 역양자화기(208)에 의해, 상기 양자화폭을 이용하여 역양자화되어, 그 결과가 라인(221)에 의해 역이산 코사인 변환기(209)에 입력되어, 이산 코사인 변환의 역처리에 의해서, 공간 영역의 데이터를 얻을 수 있다. 복호화기(207)에 의해 얻어진 신장된 잔류 블록은 라인(221)으로부터 제 2 가산기(210)에 출력되어, 라인(227)을 경유하여 보내여지는 예측 블록이 가산됨으로써, 재생 블록이 생성된다. 이 재생 블록은 라인(222)을 경유하여 프레임 메모리(213)에 출력되어, 다음의 부호화 처리에 있어서 참조 화상으로서 이용하기 위해 저장된다.
본 실시예 1에 의한 화상 부호화 장치에 있어서, 가변 길이 부호화기(211)에서는, 양자화 변환 계수와 양자화폭 및 움직임 벡터 등의 사이드 정보를 입력하여,이들을 가변 길이 또는 고정 길이 부호로 변환한다. 이하에 가변 길이 부호화기(211)에 의한, 양자화 변환 계수에 대한 처리시의 동작에 대하여, 도 1의 순서에 따라서 설명한다.
종래의 기술에 있어서의 설명과 마찬가지로, 변환 계수는 제로 및 비제로의 계수의 이차원 배열로서 얻어지는 것이고, 이 이차원 배열에 대하여, 소정의 순서(지그재그)에 따른 재배열을 행하여, 일차원 배열을 얻은 후, 선행하는 제로의 계수의 갯수(런, Run)와, 비제로의 계수의 값, 레벨(Level)로 이루어지는 사상으로 정리된다. 또한, 레벨에 의해 표시되는 변환 계수가 블록내의 마지막 계수인지의 여부를 나타내는 Last의 정보를 부여한다. 이와 같이 형성된 (Last, Run, Level)로 이루어지는 사상을 가변 길이 부호화기(211)의 처리 대상인 입력 사상으로 한다.
단계 101에 있어서 처리가 개시되면, 단계 102에 있어서 j번째 입력 사상을 얻는다. 단계 103에서는, 가변 길이 부호화기(211)에 있어서, 입력 사상과 가변 길이 부호 테이블에 있는 참조 사상의 비교가 행하여진다. 가변 길이 부호 테이블로서는, 종래의 기술에 있어서 이용된 도 19 내지 도 22에 도시하는 것이 이용되고, 동일한 테이블에 포함되는 (Last, Run, Level)로 이루어지는 각 참조 사상과의 비교가 실행된다.
단계 104에 있어서는, 상기 비교 처리에 의해, (Last, Run, Level)의 일치하는 참조 사상이 있었는지의 여부의 판정이 행하여진다. 단계 104의 판정에 있어서 참조 사상이 있었던 경우에는 단계 105가, 없었던 경우에는 단계 106이 실행된다. 여기서, 단계 105가 실행된 경우에는, 해당 참조 사상에 대응하는 가변 길이 부호가 출력되고, 후술하는 단계 111로 이행한다.
한편, 단계 106이 실행되는 경우에는, 입력 사상이 갖는 레벨에 대하여, 소정의 함수를 이용한 변환 처리가 행하여져, 변환 입력 사상이 생성된다. 다음 단계 107에서는, 변환 입력 사상과 참조 사상의 비교가 단계 103과 마찬가지로 실행된다. 계속되는 단계 108에서는, 일치하는 참조 사상이 있었는지의 여부의 판정이 행하여져, 참조 사상이 있었던 경우에는 단계 110이, 없었던 경우에는 단계 109가 실행된다. 여기서, 단계 110이 실행된 경우에는, 해당 참조 사상에 대응하는 가변 길이 부호에, 미리 일의적으로 설정된 제 2 제어 코드가 부여된 부호화 결과가 출력되어, 단계 111로 이행한다.
한편, 단계 109가 실행된 경우에는, 입력 사상에 대하여 도 23에 도시한 바와 같은 부호화 처리가 이루어져, 고정 길이 부호가 생성된다. 그리고, 제 2 제어 코드와 구별 가능한 제 1 제어 코드가, 해당 고정 길이 부호에 부여된 부호화 결과가 출력된다.
단계 110 또는 단계 109 중 어느쪽이 실행된 경우에도, 계속되는 단계 111에서는, 처리한 입력 사상이 마지막 입력 사상인지의 여부가 판정되어, 마지막인 경우에는 단계 112에 있어서 부호화 처리가 종료된다. 반면, 마지막이 아닌 경우에는 단계 113에 있어서 j가 1만큼 증가된 후에, 단계 102로 되돌아감으로써, 다음의 입력 사상이 마찬가지로 처리되게 된다. 이렇게 해서, 마지막 비제로의 계수까지 처리가 속행된다.
본 실시예 1에 있어서는, 입력 사상으로부터 변환 입력 사상을 얻을 때의 소정의 함수로서는, 정해진 값을 갖는 Offset의 감산 처리인 것으로 한다. 즉, 입력 사상이 갖는 레벨의 값에서 0ffset를 감하여 변환 입력 사상으로 한다. 바람직하게는, 레벨값의 절대값에서 Offset을 감산한 후에 레벨의 부호(양 또는 음)를 붙인다. 이 Offset은 하나이더라도 좋고, Last와 Run의 값에 따라 가변의 값을 취할 수도 있다. 본 실시예 1에서는 (Last, Run) = (0, 0)일 때 Offset = 12, (Last, Run) = (0, 1)일 때 Offset = 6, (Last, Run) = (0, 2)일 때 Offset = 4라고 하는 것처럼, 도 19 내지 도 22의 테이블로부터 얻어지는, 각 (Last, Run)의 쌍에 대한 최대의 레벨값를 Offset 값으로 한다.
도 19 내지 도 22에 도시하는 가변 길이 부호 테이블은, 비교적 고압축율의 변환 계수에 적합한 것으로, 테이블내의 사상이 갖는 레벨값이 작은 것이 많아진다. 따라서, 해당 테이블에 해당하는 사상의 존재하지 않은 입력 사상에 대하여, 그 레벨값에 대한 감산 처리를 실행하여, 레벨값이 작은 변환 입력 사상을 얻음으로써, 가변 길이 부호화를 행하는 비율을 높이는 것, 또한 해당 테이블에 있어서 레벨값이 작은 사상에 할당된 짧은 코드를 이용하는 비율을 높이는 것을 도모하는 것이다.
또한, 제 1 제어 코드로서 도 23에 도시한 종래의 기술에 있어서 이용되는ESC 코드와 같은「0000011」을, 또한 제 2 제어 코드로서는 동일한 ESC 코드를 2회 반복한 것을 이용하는 것이다.
도 3은 부호화 결과의 일례를 도시하는 도면이다. 여기서, 도 3을 이용하여 본 실시예 1에 의한 부호화 처리를 종래의 기술에 의한 경우와 비교한다. 여기서,(Last, Run, Level) = (0, 0, 13)인 사상을 부호화 대상으로 하는 경우를 고려한다. 도 19 내지 도 22에 도시하는 가변 길이 부호 테이블에 있어서는, (0, 0, 13)의 조가 없다. 따라서, 종래의 기술에 의한 부호화 처리를 행하였으면, 전술한 바와 같이 도 23에 도시한 고정 길이 부호화 처리가 행하여지고, 이에 ESC 코드가 부여되어 출력되게 된다. 도 3a는 이러한 처리의 결과를 도시하는 것으로, ESC 코드인 (301)의 7비트, Last를 나타내는 1 비트 (302)에 이어서, 레벨을 나타내는 (303)의 6비트와 (304)의 8비트가 출력되게 된다. 여기서, 레벨은 제로 런을 나타내는 (303)과, 고정 길이 부호(304)로 나타내여져 있다. 이와 같이, 합계 22비트가 필요하게 된다.
이에 대하여, 본 실시예 1에 의한 처리 결과로서는, 도 1의 순서의 단계 103 내지 104에 걸쳐서, 가변 길이 부호 테이블에 해당하는 참조 사상이 존재하지 않은 경우에도, 종래의 기술에 의한 처리와 같이 즉시 고정 길이 부호화가 실행되는 것이 아니라, 단계 106 내지 단계 108에 도시하는 변환 처리와 두 번째의 비교가 실행되는 것이다. 변환 처리에 있어서는, 레벨값 13에서 Offset(=12)을 감산하여, 레벨값이 1로 되도록 변환되어, 변환 입력 사상(0, 0, 1)이 얻어진다. 도 18에 도시하는 바와 같이, 사상(0, 0, 1)은 가변 길이 부호 테이블에 존재하기 때문에, 도 1의 순서에서는 단계 108에서 단계 110이 실행되게 된다. 따라서, 도 3b에 도시하는 바와 같이, 제 2 제어 코드(806)와 (0, 0, 1)에 대한 가변 길이 부호(807)로 이루어지는 부호화 결과를 얻을 수 있다. 따라서 이 경우, 17비트가 요구되어, 22비트가 요구되는 종래의 기술보다도 부호량이 저감하는 결과로 된다.
도 1의 순서에 있어서, 변환 입력 사상을 이용한 비교 처리를 행하더라도, 가변 길이 부호 테이블에 해당하는 참조 사상이 존재하지 않은 경우에는, 단계 109의 처리는 종래 기술과 마찬가지로 된다. 따라서, 본 실시예 1에 있어서는, 최악의 경우라 하더라도 종래 기술과 동등한 부호화를 실행할 수 있다. 또한, 제 2 제어 코드를 붙인 부호 길이가 제 1 제어 코드를 붙인 부호 길이보다 길어지는 경우에는, 제 1 제어 코드와 고정 길이 부호에 의해 부호화하는 쪽이 비트가 적은 것으로 된다.
이하에 본 실시예 1에 나타내는 화상 부호화 처리로 얻어진 부호화 데이터에 대한 복호화 처리를 설명한다.
도 4는 본 실시예 1에 의한 화상 복호화 장치의 구성을 나타내는 블록도이다. 도 4에 도시하는 바와 같이, 본 실시예 1에 의한 화상 복호화 장치는, 데이터해석기(DA)(402), 가산기(406), 가변 길이 복호화기(V1D)(408), 복호화기(403), 프레임 메모리(FM)(409), 및 움직임 보상기(MC)(410)를 구비한 것으로, 입력 단자(401)로부터 복호화 처리 대상으로 되는 부호화 데이터를 입력하여, 출력 단자(407)로부터 해당 화상 복호화 장치의 장치 출력인 복호화 데이터를 출력한다. 또한, 복호화기(403)는 역양자화기(IQ)(404)와, 역이산 코사인 변환기(IDCT)(405)를 내포하고 있다.
이상과 같이 구성된, 본 실시예 1에 의한 화상 복호화 장치에 대하여, 도 2에 도시하는 화상 부호화 장치에 있어서 압축 부호화된 부호화 데이터에 대한 복호화 처리를 행할 때의 동작을 설명한다.
처리 대상인 부호화 데이터를 입력 단자(401)에 입력하여, 데이터 해석기(402)에 있어서 데이터를 해석하여, 양자화 변환 계수로부터 얻어진 가변 길이 부호와, 양자화폭이나 움직임 벡터를 포함하는 사이드 정보의 부호를 취득한다. 이 중, 양자화폭과 양자화 변환 계수의 가변 길이 부호를 라인(412)을 경유하여 가변 길이 복호화기(408)에 전송하고, 움직임 벡터를 라인(418)을 경유하여 움직임 보상기(410)에 출력한다. 가변 길이 복호화기(408)에서는, 가변 길이 부호 테이블을 참조하여 양자화된 변환 계수의 가변 길이 부호를 변환 계수로 복원하여, 재배열에 의해서 압축 잔류 블록을 취득하여, 이를 복호화기(403)에 출력한다.
복호화기(403)에서는 압축 잔류 블록을 신장하여, 신장 잔류 블록으로 복원한다. 본 실시예 1의 복호화기(403)에서는, 역양자화기(404)에 있어서 양자화폭을 이용한 역양자화가 행하여져, 그 결과에 대하여, 역이산 코사인 변환기(405)가 주파수 영역 신호를 공간 영역 신호로 변환한다. 이 신호가 신장된 잔류 블록으로서 가산기(406)에 출력된다.
한편, 움직임 벡터를 입력한 움직임 보상기(410)에서는, 해당 움직임 벡터를 기준으로, 프레임 메모리(409)를 액세스하기 위한 어드레스를 생성하여, 프레임 메모리(409)에 저장된 화상에 근거하여 예측 블록을 생성한다. 생성된 예측 블록은 가산기(406)에 출력되어, 신장 잔류 블록과의 가산 처리에 의해 재생 블록이 생성된다. 이와 같이 재생된 화상은, 해당 화상 복호화 장치의 장치 출력으로서 출력 단자(407)로부터 출력됨과 동시에, 프레임 메모리(409)에 출력되어 저장된다.
도 5는 가변 길이 복호화기(408)에 의한 가변 길이 복호화 방법의 처리 순서를 도시하는 플로우차트이다. 이하에 계수 가변 길이 복호화기(408)에 있어서의 복호 처리시의 동작을 도 5의 순서에 따라서 설명한다.
우선, 단계 501에서 처리가 개시되면, 단계 502에서는 j번째 처리 대상인, 양자화 변환 계수로부터 얻어진 가변 길이 부호가, 입력 가변 길이 부호로서 입력된다. 단계 503에서는, 입력 가변 길이 부호가 제어 코드를 포함하는지의 여부가 판정되어, 포함하지 않으면 단계 504가, 포함하면 단계 505가 실행된다. 단계 504가 실행된 경우, 즉 제어 코드가 없는 경우에는, 가변 길이 부호 테이블을 이용함으로써, 입력 가변 길이 부호에 대응하는 (Last, Run, Level)이 출력되어, 후술하는 단계 510으로 이행한다.
한편, 단계 505가 실행된 경우, 즉 제어 코드가 포함되는 경우에는, 해당 제어 코드가 제 2 제어 코드인지의 여부가 판정되어, 제 2 제어 코드이면 단계 506이,제 2 제어 코드가 아니면 단계 507이 실행된다. 단계 506이 실행된 경우, 즉 제 2 제어 코드인 경우에는, 가변 길이 부호 테이블을 이용함으로써, 입력 가변 길이 부호에 대응하는 (Last, Run, Level)이 취득되어, 그 레벨값을 소정의 함수에 의해 변환하여, 얻어진 결과가 출력된 후에, 후술하는 단계 510으로 이행한다. 본 실시예 1에서는, 레벨값의 변환 처리로서는, 소정의 Offset의 가산 처리가 실행되는 것으로, 이 Offset의 값은, 상술한 대로 (Last, Run)에 따라 가변으로 되는 것이다.
여기서, 도 3b의 부호에 대한 복호화 처리의 경우를 고려한다. 단계 505의 판정에 있어서, 제 2 제어 코드라고 판정되기 때문에, 단계 506이 실행된다. 따라서, 도 3b의 (306)에 도시하는 부호「100」의 부분에 대응하는 (Last, Run, Level = 0, 0, 1)이 가변 길이 부호 테이블을 참조함으로써 취득되어, 이 레벨에 대하여 Offset = 12가 가산 처리되면, 참의 (Last, Run, Level) = (0, 0, 13)을 복원할 수 있다.
이에 대하여, 단계 507이 실행되는 경우, 또한 해당 제어 코드가 제 1 제어 코드인지의 여부가 판정된다. 제 1 제어 코드이면 단계 508이 실행되지만, 제 1 제어 코드가 아니라고 판정된 경우에는 제 1 제어 코드도, 제 2 제어 코드도 아닌 제어 코드가 부여되어 있었다고 하는 것으로 되기 때문에, 단계 509에 있어서는, 복호화 처리의 중지나, 그 내용을 사용자에게 표시하는 등의 오류 처리가 행하여지게 된다. 한편, 단계 508이 실행되는 경우, 즉 제 1 제어 코드가 있는 경우, 고정 길이 부호로서 복호화하여 계수를 재생한다.
단계 504, 단계 506, 또는 단계 508 중 어느쪽이 실행된 경우에도, 계속되는 단계 510에서는, 처리한 입력 가변 길이 부호가 마지막 입력 가변 길이 부호인지의 여부가 판정되어, 마지막인 경우에는 단계 511에 있어서 부호화 처리가 종료된다. 반면, 마지막이 아닌 경우에는, 단계 512에 있어서 j가 1만큼 증가된 후에, 단계 502로 되돌아감으로써, 다음의 입력 가변 길이 부호가 마찬가지로 처리되게 된다. 이렇게 해서, 마지막 가변 길이 부호까지 처리가 속행된다.
이와 같이, 본 실시예 1에 의한 화상 부호화 방법에 의하면, 도 1에 도시하는 바와 같이 단계 103 내지 단계 104에 있어서의 비교 처리에 있어서, 해당하는 참조 사상이 가변 길이 부호 테이블에 존재하지 않았던 경우에도, 단계 106에 있어서 입력 사상에 대한 변환 처리를 행하고, 단계 107 내지 단계 108에 있어서, 얻어진 변환 입력 사상을 이용한 비교 처리를 실행하기 때문에, 단계 109가 실행됨으로써 고정 길이 부호화가 실행되는 비율을 저감함으로써, 또한 변환 입력 사상을 이용함으로써, 가변 길이 부호화에 있어서 짧은 코드를 할당할 수 있는 가능성을 높임으로써, 전체로서 부호화 결과의 압축율의 향상을 도모할 수 있다.
또한, 본 실시예 1에 의한 화상 부호화 장치에 의하면, 상기한 바와 같은 부호화 방법을 실행하는 가변 길이 부호화기(211)를 구비한 것으로, 부호화기(203)에 있어서의 압축 부호화의 압축율이 고압축율인 경우, 혹은 저압축율인 경우 중 어느쪽에 있어서도, 동일한 가변 길이 부호 테이블을 이용하여, 압축률이 양호한 부호화 결과를 얻을 수 있다.
또한, 본 실시예 1에 의한 화상 복호화 방법, 및 화상 복호화 장치에 의하면, 상기한 바와 같이 얻어진 부호화 결과에 대응하여, 적절히 복호 처리를 행하여, 재생 화상을 얻을 수 있다.
또한, 본 실시예 1에 도시한 부호화 처리에 있어서는, 압축 부호화에 있어서는 이산 코사인 변환을 행하는 것으로서 설명하였지만, 그 대신에 웨이브렛 부호화 등의 파형 부호화를 이용하더라도 좋고, 마찬가지로 부호화 처리를 행할 수 있다.
또한, 본 실시예 1에 도시한 부호화 처리에 있어서는, 입력 사상에 대한 변환 처리에 의해, 입력 사상의 레벨값을 변환하는 것으로 하였지만, 그 대신에 입력 사상의 런의 값을 변환하는 것으로 하더라도 좋다. 이 경우, 도 19 내지 도 22의 가변 길이 부호 테이블에 있어서의, 각 참조 사상의 (Last, Level)의 쌍에 대한 최대의 Run값을 Offset 값으로 하여, 입력 사상의 런의 값에서 (Offset+1)을 감산하여 변환 입력 사상을 얻을 수 있다. 또한, Offset을 이용하는 대신에, 레벨 또는 런의 값을 체배하거나, 이차 함수에 의한 처리를 하거나, 다이나믹 레인지를 변경하기도 하는 방법을 이용하여 변환 처리를 하더라도 좋다. 또한, 입력 사상의 레벨 또는 런에 소정의 함수를 실시하는 대신에, 가변 길이 부호 테이블의 레벨 또는 런을 소정의 함수에 의해 변환시켜 비교 처리를 행할 수도 있다.
상기한 바와 같이, 부호화 처리에 있어서, 레벨값 대신에 런값을 변환하는 경우, 복호화 처리에 있어서도, 가변 길이 복호화된 런값에 (Offset+1)을 가산하여 참의 런값을 생성한다. 이 경우의 Offset 값은 상술한 대로 (Last, Level)의 쌍에 대한 Run의 최대값이다.
또한, 본 실시예 1에 있어서는, 부호화 처리, 및 복호화 처리의 처리 순서로서 도 1, 및 도 5의 플로우차트를 이용하여 설명하였지만, 이러한 처리 순서에 한정되는 것이 아니라, 마찬가지의 처리를 행할 수 있는 순서를 이용함으로써, 부호화 효율의 향상과, 이러한 부호화 결과에 대한 적절한 복호화 처리를 도모할 수 있다.
(실시예 2)
본 발명의 실시예 2에 의한 화상 부호화 방법은, 실시예 1과 마찬가지로, 부호화 대상으로 하는 사상에 대하여 변환 처리를 행하는 것으로, 모드 코드의 사용에 의해서 비트수 삭감을 도모하는 것이다.
도 6은 본 실시예 2에 의한 가변 길이 부호화 방법에 있어서의 처리 순서를 나타내는 플로우차트이다. 또한, 본 실시예 2에 있어서의 화상 부호화 장치는 실시예 1과 마찬가지의 구성을 갖는 것으로, 설명에는 도 2를 이용한다.
본 실시예 2에 의한 화상 부호화 처리에 있어서는, 도 2에 도시하는 가변 길이 부호화기(211)에 의한 처리만이, 실시예 1과 상이한 것으로 되기 때문에, 이하에 가변 길이 부호화기(211)의 부호화 처리의 동작에 대하여, 도 6에 따라서 설명한다.
단계 601 내지 단계 608은, 실시예 1에 있어서의 단계 101 내지 단계 108과 마찬가지로 실행되고, 단계 108에 있어서, 변환 입력 사상과 가변 길이 부호 테이블의 참조 사상의 비교에 근거하는 판정이 행하여진다. 판정에 의해, 일치하는 참조 사상이 있었던 경우에는 단계 610이, 없었던 경우에는 단계 609가 실행된다.
단계 610이 실행된 경우에는, 해당 참조 사상에 대응하는 가변 길이 부호에, 미리 일의적으로 설정된 제어 코드와 제 2 모드 코드가 부여된 부호화 결과가 출력되어, 단계 611로 이행한다. 여기서, 제어 코드로서는, 도 22에 도시하는 ESC 코드와 같이, 0000011을 이용하는 것으로 하고, 제 2 모드 코드로서는 “0”을 이용하는 것으로 한다.
한편, 단계 609가 실행된 경우에는, 입력 사상에 대하여 도 23에 도시한 바와 같은 부호화 처리가 이루어져, 고정 길이 부호가 생성된다. 그리고, 제어 코드와 제 1 모드 코드가 해당 고정 길이 부호에 부여된 부호화 결과가 출력된다. 제 1 모드 코드로서는 “1”을 이용하는 것으로 한다.
단계 610 또는 단계 609 중 어느쪽이 실행된 경우에도, 계속되는 단계 611에서는, 처리한 입력 사상이 마지막 입력 사상인지의 여부가 판정되어, 마지막인 경우에는 단계 612에 있어서 부호화 처리가 종료된다. 반면, 마지막이 아닌 경우에는, 단계 613에 있어서 j가 1만큼 증가된 후에, 단계 602에 되돌아감으로써, 다음의 입력 사상이 마찬가지로 처리되게 된다. 이렇게 해서, 마지막 비제로의 계수까지 처리가 속행된다.
본 실시예 2에서는, 실시예 1과 마찬가지로, 입력 변환 사상의 생성에 있어서는, 입력 사상의 레벨에 대하여 Offset를 이용한 변환을 행하는 것이지만, 실시예 1과 마찬가지로 Offset은 정해진 값을 취하는 것으로 하여도 좋고, Last와 Run에 대응한 가변의 값을 취하는 것으로 할 수도 있다. 본 실시예에서는 (Last, Run) = (0, 0)일 때 Offset = 12, (Last, Run) = (0, 1)일 때 Offset = 6, (Last, Run) = (0, 2)일 때 Offset = 4라고 하는 것처럼, 도 19 내지 도 22에 도시하는 가변 길이 부호화 테이블로부터 얻어지는, 각 (Last, Run)에 있어서의 최대의 레벨값를 Offset으로 한다.
이하에 본 실시예 2에 도시하는 화상 부호화 처리에 의해 얻어진 부호화 데이터에 대한 복호화 처리를 설명한다. 본 실시예 2에 의한 화상 복호화 장치의 구성은 실시예 1과 마찬가지이고, 설명에는 도 4를 이용한다.
도 7은 본 실시예 2에 의한 가변 길이 복호화 방법에 있어서의 처리 순서를 도시하는 플로우차트이다. 본 실시예 2에 의한 화상 복호화 처리에 있어서는, 도 4에 도시하는 가변 길이 복호화기(408)에 의한 처리만이, 실시예 1과 상이한 것으로 되기 때문에, 이하에 가변 길이 복호화기(408)의 복호화 처리의 동작에 대하여, 도 7에 따라서 설명한다.
단계 701 내지 단계 704는, 실시예 1에 있어서의 단계 501 내지 단계 504(도 5 참조)와 마찬가지로 실행되고, 이어서 단계 705에 있어서의 판정 처리가 실행된다. 단계 703의 판정에 있어서, 제어 코드가 있다고 판정된 경우, 단계 705에 있어서는, 해당 제어 코드에 후속하는 다음의 1 비트가 “0” 또는 “1” 중의 어느쪽인가에 의한 판정 처리가 행하여진다. 그리고, “0”인 경우에는 단계 706이, “1”인 경우에는 단계 708이 실행되게 된다.
단계 706이 실행된 경우, 우선 가변 길이 부호 테이블을 이용하여, 입력 가변 길이 부호에 대응하는 (Last, Run, Level)이 취득되어, 그 갖고 있는 레벨값에 대하여 소정의 함수를 이용한 변환 처리가 행하여진 후에, 복호 결과가 출력된다. 본 실시예 2에 있어서의, 변환 처리로서는, 취득한 레벨값에 대하여 소정의 Offset가 가산되는 것이다. 이 Offset 값은 상술한 대로 (Last, Run)에 따라 가변의 값을 취하는 것이다.
한편, 단계 708이 실행된 경우에는, 입력 가변 길이 부호에 대하여, 고정 길이 부호로서 복호화가 실행되어, 계수가 재생된다. 단계 704, 단계 706, 또는 단계 708 중 어느쪽이 실행된 경우에도, 계속되는 단계 710에서는, 처리한 입력 가변 길이 부호가 마지막 입력 가변 길이 부호인지의 여부가 판정되어, 마지막인 경우에는 단계 711에 있어서 부호화 처리가 종료된다. 반면, 마지막이 아닌 경우에는, 단계 712에 있어서 j가 1만큼 증가된 후에, 단계 702로 되돌아감으로써, 다음의 입력 가변 길이 부호가 마찬가지로 처리되게 된다. 이렇게 해서, 마지막 가변 길이 부호까지 처리가 속행된다.
이와 같이, 본 실시예 2에 의한 화상 부호화 방법에 의하면, 도 6에 도시하는 바와 같이 단계 603 내지 단계 604에 있어서의 비교 처리에 있어서, 해당하는 참조 사상이 가변 길이 부호 테이블에 존재하지 않은 경우에도, 단계 606에 있어서 입력 사상에 대한 변환 처리를 행하여, 단계 607 내지 단계 608에 있어서, 얻어진 변환 입력 사상을 이용한 비교 처리를 실행하기 때문에, 단계 609가 실행됨으로써 고정 길이 부호화가 실행되는 비율을 저감함으로써, 또한 변환 입력 사상을 이용함으로써, 가변 길이 부호화에 있어서 짧은 코드를 할당할 수 있는 가능성을 높임으로써, 전체로서 부호화 결과의 압축율의 향상을 도모할 수 있다. 그리고, 단계 610 또는 단계 609에 있어서는, 1비트의 모드 코드를 이용하여 고정 길이 부호화와 Offset 처리한 레벨을 구별하기 때문에, 제 1 및 제 2 제어 코드를 이용하는 실시예 1과 비교하여, 부호화 결과에 있어서의 총 비트수를 삭감할 수 있는 이점이 있다.
또한, 본 실시예 2에 의한 화상 부호화 장치에 의하면, 상기한 바와 같은 부호화 방법을 실행하는 가변 길이 부호화기(211)를 구비함으로써, 부호화기(203)에 있어서의 압축 부호화의 압축율이 고압축율인 경우, 혹은 저압축율인 경우 중 어느쪽에 있어서도, 동일한 가변 길이 부호 테이블을 이용하여, 압축률이 양호한 부호화 결과를 얻을 수 있다.
또한, 본 실시예 2에 의한 화상 복호화 방법, 및 화상 복호화 장치에 의하면, 상기한 바와 같이 얻어진 부호화 결과에 대응하여, 적절히 복호 처리를 행하여, 재생 화상을 얻을 수 있다.
또한, 본 실시예 2에서는, 하나의 모드 코드를 이용하는 것으로 하고 있지만, 두개 이상의 모드 코드를 이용하여, 복수개의 모드를 구별하더라도 좋다. 예를들면, 3번째의 모드로서 제로 런의 값을 변경한 모드를 추가하더라도 좋다.
또한, 본 실시예 2에 있어서도, 실시예 1과 마찬가지로 입력 사상의 레벨을 변환하여 변환 입력 사상을 얻는 것으로 하였지만, 런을 변환할 수도 있다. 또한, Offset을 이용하여 변환 처리를 하는 것으로 하였지만, 그대신에 레벨을 체배하거나, 이차 함수에 의해 처리하거나, 다이나믹 레인지를 변경하거나 하는 방법을 이용하더라도 좋다.
(실시예 3)
본 발명의 실시예 3에 의한 화상 부호화 방법은, 실시예 1 및 실시예 2와 마찬가지로, 부호화 대상으로 하는 사상에 대하여 변환 처리를 행하는 것으로, 반복하여 변환 처리를 행함으로써 부호화 효율의 향상을 도모하는 것이다.
도 8은 본 실시예 3에 의한 가변 길이 부호화 방법에 있어서의 처리 순서를 도시하는 플로우차트이다. 또한, 본 실시예 3에 있어서의 화상 부호화 장치는, 실시예 1과 마찬가지의 구성을 갖는 것으로, 설명에는 도 2를 이용한다.
본 실시예 3에 의한 화상 부호화 처리에 있어서는, 도 2에 도시하는 가변 길이 부호화기(211)에 의한 처리만이, 실시예 1과 상이한 것으로 되기 때문에, 이하에 가변 길이 부호화기(211)의 부호화 처리의 동작에 대하여, 도 8에 따라 설명한다.
도 8a의 순서에 있어서, 단계 801 내지 단계 805는, 실시예 1에 있어서의 단계 101 내지 단계 105와 마찬가지로 실행된다. 본 실시예 3에서는, 단계 806에 있어서의 변환 처리에 있어서는 소정의 함수를 이용한 변환 처리에 의해서, 제 1 변환 입력 사상을 얻을 수 있는 것이다. 여기서, 변환 처리에 대해서는, 실시예 1과 마찬가지로 실행되어, 입력 사상이 갖는 레벨값에 대하여 소정의 Offset이 감해짐으로써, 제 1 변환 입력 사상을 얻을 수 있는 것으로 한다. 여기서는 (Last, Run) = (0, 0)일 때 Offset = 12, (Last, Run) = (0, 1)일 때 Offset = 6, (Last, Run) = (0, 2)일 때 Offset = 4라고 하는 것처럼, 도 19 내지 도 22에 도시하는 가변 길이 부호 테이블로부터 얻어지는, 각 (Last, Run)에 대한 최대의 레벨값을 Offset으로 하는 것으로 한다.
단계 807에서는, 제 1 변환 입력 사상과 가변 길이 부호 테이블에 포함되는 참조 사상의 비교가 실행되어, 단계 808에 있어서, 해당 비교에 근거하는 판정이 행하여진다. 판정에 의해, 일치하는 참조 사상이 있었던 경우에는 단계 810이, 일치하는 참조 사상이 없었던 경우에는 도 8b의 순서가 실행된다. 여기서, 단계 810이 실행된 경우에는, 해당 참조 사상에 대응하는 가변 길이 부호에, 미리 일의적으로 설정된 제어 코드와, 제 2 모드 코드가 부여된 부호화 결과가 출력되어, 단계 811로 이행한다. 여기서, 제어 코드로서는, 도 22에 도시하는 ESC 코드와 같이, 0000011을 이용하는 것으로 하고, 제 2 모드 코드로서는 “0”을 이용하는 것으로한다.
한편, 도 8b의 순서가 실행되는 경우, 우선 단계 821에 있어서, 입력 사상의 런을 소정의 함수에 의해 변환시켜 제 2 변환 입력 사상을 취득한다. 본 실시예 3에서는, 런값으로부터 소정값 Offset를 감산하여, 새로운 런값을 갖는 제 2 변환 입력 사상을 생성하는 것으로 한다. 이 때의 Offset으로서는, 가변 길이 부호 테이블에 있어서의, 각 (Last, Level)에 대한 최대의 런값을 Offset으로 하는 것으로 한다.
단계 822에 있어서는, 제 2 변환 입력 사상과 가변 길이 부호 테이블에 포함되는 참조 사상의 비교가 실행되어, 단계 823에 있어서, 해당 비교에 근거하는 판정이 행하여진다. 판정에 의해, 일치하는 참조 사상이 있었던 경우에는 단계 824가, 없었던 경우에는 단계 825가 실행된다. 여기서, 단계 824가 실행된 경우에는, 해당 참조 사상에 대응하는 가변 길이 부호에, 제어 코드와 제 3 모드 코드가 부여된 부호화 결과가 출력되어, 도 8a의 단계 811로 이행한다. 제 3 모드 코드로서는 “10”을 이용하는 것으로 한다.
한편, 단계 825가 실행되는 경우에는, 입력 사상에 대하여 도 23에 도시한 바와 같은 부호화 처리가 이루어져, 고정 길이 부호가 생성된다. 그리고, 제어 코드와 제 1 모드 코드가 해당 고정 길이 부호에 부여된 부호화 결과가 출력된다. 제 1 모드 코드로서는 “11”을 이용하는 것으로 한다.
단계 810, 또는 도 8b에 도시하는 단계 824, 또는 단계 825 중 어느쪽이 실행된 경우에도, 계속되는 단계 811에서는, 처리한 입력 사상이 마지막 입력 사상인지의 여부가 판정되어, 마지막인 경우에는 단계 812에 있어서 부호화 처리가 종료된다. 한편, 마지막이 아닌 경우에는 단계 813에 있어서 j가 1만큼 증가된 후에, 단계 802로 되돌아감으로써, 다음의 입력 사상이 마찬가지로 처리되게 된다. 이렇게 해서, 마지막 비제로의 계수까지 처리가 속행된다.
이하에 본 실시예 3에 도시하는 화상 부호화 처리에 의해 얻어진 부호화 데이터에 대한 복호화 처리를 설명한다. 본 실시예 3에 의한 화상 복호화 장치의 구성은 실시예 1과 마찬가지이고, 설명에는 도 4를 이용한다.
도 9는 본 실시예 3에 의한 가변 길이 복호화 방법에 있어서의 처리 순서를 도시하는 플로우차트이다. 본 실시예 3에 의한 화상 복호화 처리에 있어서는, 도 4에 나타내는 가변 길이 복호화기(408)에 의한 처리만이, 실시예 1과 상이한 것으로 되기 때문에, 이하에 가변 길이 복호화기(408)의 복호화 처리의 동작에 대하여, 도 9에 따라서 설명한다.
단계 901 내지 단계 906은 도 7에 도시한 실시예 2에 있어서의 단계 701 내지 단계 706과 마찬가지로 실행된다. 그리고, 단계 905의 판정에 있어서, 대상으로 되는 비트가 “1”이었던 경우, 단계 907이 실행되고, 또한 후속의 1 비트에 대하여, 해당 비트가 “0” 또는 “1” 중 어느쪽인가에 의한 판정 처리가 행하여진다. 그리고, “0”인 경우에는 단계 908이, 또한 “1”인 경우에는 단계 909가 실행되게 된다.
단계 908이 실행된 경우, 우선 가변 길이 부호 테이블을 이용하여, 입력 가변 길이 부호에 대응하는 (Last, Run, Level)이 취득되어, 그 갖고 있는 런의 값에대하여 소정의 함수를 이용한 변환 처리가 행하여진 후에, 복호 결과가 출력된다. 본 실시예 3에 있어서의 변환 처리에서는, 취득된 런의 값에 대하여 소정의 (Offset+1)이 가산되는 것이다.
한편, 단계 909가 실행된 경우는, 입력 가변 길이 부호에 대하여, 고정 길이 부호로서 복호화가 실행되어 계수가 재생된다. 단계 904, 단계 906, 단계 908, 또는 단계 909 중 어느쪽이 실행된 경우에도, 계속되는 단계 910에서는, 처리한 입력 가변 길이 부호가 마지막 입력 가변 길이 부호인지의 여부가 판정되어, 마지막인 경우에는 단계 911에서 부호화 처리가 종료된다. 반면, 마지막이 아닌 경우에는 단계 912에 있어서 j가 1만큼 증가된 후에, 단계 902로 되돌아감으로써, 다음의 입력 가변 길이 부호가 마찬가지로 처리되게 된다. 이렇게 해서, 마지막 가변 길이 부호까지 처리가 속행된다.
이와 같이 본 실시예 3에 의한 화상 부호화 방법에 의하면, 도 8a에 도시하는 바와 같이, 단계 803 내지 단계 804에 있어서의 비교 처리에 있어서, 해당하는 참조 사상이 가변 길이 부호 테이블에 존재하지 않았을 경우에도, 단계 806에 있어서 입력 사상에 대한 변환 처리를 행하고, 단계 807 내지 단계 808에 있어서, 얻어진 제 1 변환 입력 사상을 이용한 비교 처리를 실행하며, 여기서 해당하는 참조 사상이 가변 길이 부호 테이블에 존재하지 않았을 경우에도, 도 8b의 처리가 실행되어, 단계 821에 있어서 입력 사상에 대한 변환 처리를 행하여, 단계 822 내지 단계 823에 있어서, 얻어진 제 2 변환 입력 사상을 이용한 비교 처리를 실행하기 때문에, 단계 825가 실행됨으로써 고정 길이 부호화가 실행되는 비율을, 실시예 1 및실시예 2와 비교하여 더욱 저감함으로써, 또한 가변 길이 부호화에 있어서 짧은 코드를 할당되는 가능성을 더욱 높임으로써, 전체로서 부호화 결과의 압축율의 향상을 도모할 수 있다.
또한, 본 실시예 3에 의한 화상 부호화 장치에 의하면, 상기한 바와 같은 부호화 방법을 실행하는 가변 길이 부호화기(211)를 구비함으로써, 부호화기(203)에 있어서의 압축 부호화의 압축율이 고압축율인 경우, 혹은 저압축율인 경우 중 어느쪽에 있어서도, 동일한 가변 길이 부호 테이블을 이용하여, 압축률이 양호한 부호화 결과를 얻을 수 있다.
또한, 본 실시예 3에 의한 화상 복호화 방법, 및 화상 복호화 장치에 의하면, 상기한 바와 같이 얻어진 부호화 결과에 대응하여, 적절히 복호 처리를 행하여, 재생 화상을 얻을 수 있다.
(실시예 4)
본 발명의 실시예 4에 의한 화상 부호화 방법은, 복수개의 가변 길이 부호 테이블을 병용하여 비교 처리를 행함으로써, 가변 길이 부호화 테이블의 사용 기회를 증가시켜, 부호화 효율의 향상을 도모하는 것이다.
도 10은 본 실시예 4에 의한 가변 길이 부호화 방법에 있어서의 처리 순서를 도시하는 플로우차트이다. 또한, 본 실시예 4에 있어서의 화상 부호화 장치는 실시예 1과 마찬가지의 구성을 갖고, 설명에는 도 2를 이용한다.
본 실시예 4에 의한 화상 부호화 처리에 있어서는, 도 2에 도시하는 가변 길이 부호화기(211)에 의한 처리만이, 실시예 1과 상이한 것으로 되기 때문에, 이하에 가변 길이 부호화기(211)의 부호화 처리의 동작에 대하여, 도 10에 따라서 설명한다. 여기서, 본 실시예 4에 의한 부호화 처리에 있어서는, 제 1 가변 길이 부호 테이블과 제 2 가변 길이 부호 테이블을 이용하는 것이다. 제 1 가변 길이 부호 테이블은 실시예 1 내지 실시예 3과 마찬가지로, 도 19 내지 도 22에 도시된 것을 이용한다. 한편, 제 2 가변 길이 부호 테이블에 대해서는, 제 1의 것과 상이한 테이블을 이용하는 것으로 하고, 여기서는 레벨값이 10 이상의 항으로 구성되는 것을 이용하는 것으로 한다. 이와 같이, 본 실시예 4에서는, 레벨값 10 이하가 주체인 제 1 가변 길이 부호 테이블에 대하여, 레벨값 10 이상을 포함하는 제 2 가변 길이 부호 테이블을 이용하는 것으로 하고 있지만, 제 2 가변 길이 테이블로서는, 제 1 가변 길이 테이블에 포함되지 않은 참조 사상으로 구성되는 것을 이용하는 것이 바람직한 것으로 된다.
단계 1001에 있어서 처리가 개시되면, 단계 1002에 있어서 j번째 입력 사상을 얻는다. 단계 1003에서는, 가변 길이 부호화기(211)에 있어서 입력 사상과 제 1 가변 길이 부호 테이블에 포함되는 참조 사상의 비교가 행하여진다. 이어서 단계 1004에 있어서는, 상기 비교 처리에 의해, (Last, Run, Level)의 일치하는 참조 사상이 있었는지의 여부가 판정된다. 단계 1004의 판정에 있어서 참조 사상이 있었던 경우에는 단계 1005가, 없었던 경우에는 단계 1006이 실행된다. 여기서, 단계 1005가 실행된 경우에는, 해당 참조 사상에 대응하는 가변 길이 부호가 출력되어, 후술하는 단계 1010으로 이행한다.
한편, 단계 1006이 실행된 경우, 가변 길이 부호화기(211)에 있어서, 입력 사상과 제 2 가변 길이 부호 테이블에 포함되는 참조 사상의 비교가 행하여진다. 이어서 단계 1007에 있어서는, 상기 비교 처리에 의해, (Last, Run, Level)의 일치하는 참조 사상이 있었는지의 여부의 판정이 행하여진다. 단계 1007의 판정에 있어서 참조 사상이 있었던 경우에는 단계 1008이, 없었던 경우에는 단계 1009가 실행된다. 여기서, 단계 1008이 실행된 경우에는, 해당 참조 사상에 대응하는 가변 길이 부호가 취득되어, 일의적으로 설정된 제어 코드와 제 2 모드 코드가 부여되어 출력되고, 후술하는 단계 1010으로 이행한다. 여기서, 제어 코드로서는, 도 22에 도시하는 ESC 코드와 같이, 0000011을 이용하는 것으로 하고, 제 2 모드 코드로서는 “0”을 이용하는 것으로 한다.
한편, 단계 1009가 실행되었던 경우에는, 입력 사상에 대하여 도 23에 도시된 바와 같은 부호화 처리가 이루어져, 고정 길이 부호가 생성된다. 그리고, 제어 코드와 제 1 모드 코드가 해당 고정 길이 부호에 부여된 부호화 결과가 출력된다. 제 1 모드 코드로서는 “1”을 이용하는 것으로 한다.
단계 1005, 단계 1008, 또는 단계 1009 중 어느쪽이 실행되었던 경우에도, 계속되는 단계 1010에서는, 처리한 입력 사상이 마지막 입력 사상인지의 여부가 판정되어, 마지막인 경우에는 단계 1011에 있어서 부호화 처리가 종료된다. 반면, 마지막이 아닌 경우에는 단계 1012에 있어서 j가 1만큼 증가된 후에, 단계 1002로 되돌아감으로써, 다음의 입력 사상이 마찬가지로 처리되게 된다. 이렇게 해서, 마지막 비제로의 계수까지 처리가 속행된다.
이하에 본 실시예 4에 도시하는 화상 부호화 처리에 의해 얻어진 부호화 데이터에 대한 복호화 처리를 설명한다. 본 실시예 4에 의한 화상 복호화 장치의 구성은 실시예 1과 마찬가지이고, 설명에는 도 4를 이용한다.
도 11은, 본 실시예 4에 의한 가변 길이 복호화 방법에 있어서의 처리 순서를 도시하는 플로우차트이다. 본 실시예 4에 의한 화상 복호화 처리에 있어서는, 도 4에 도시하는 가변 길이 복호화기(408)에 의한 처리만이, 실시예 1과 상이한 것으로 되기 때문에, 이하에 가변 길이 복호화기(408)의 복호화 처리의 동작에 대하여, 도 11에 따라서 설명한다.
우선, 단계 1101에 있어서 처리가 개시되면, 단계 1102에서는 j번째 처리 대상인, 양자화한 변환 계수의 가변 길이 부호가, 입력 가변 길이 부호로서 입력된다. 단계 1103에서는, 입력 가변 길이 부호가 제어 코드를 포함하는지의 여부가 판정되어, 포함되지 않으면 단계 1104가, 포함되면 단계 1105가 실행된다. 단계 1104가 실행된 경우, 즉 제어 코드가 없는 경우에는, 제 1 가변 길이 부호 테이블을 이용함으로써, 입력 가변 길이 부호에 대응하는 (Last, Run, Level)이 출력되어, 후술하는 단계 1110으로 이행한다.
단계 1103의 판정에 있어서, 제어 코드가 있다고 된 경우, 단계 1105에 있어서는, 해당 제어 코드에 후속하는 다음의 1 비트가 “0” 또는 “1”중 어느쪽인가에 의한 판정 처리가 행하여진다. 그리고, “0”인 경우에는 단계 1106가, “1”인 경우에는 단계 1108이 실행되게 된다.
단계 1106이 실행된 경우에는, 제 2 가변 길이 부호 테이블을 이용함으로써,입력 가변 길이 부호에 대응하는 (Last, Run, Level)이 출력되어, 후술하는 단계 1110으로 이행한다. 한편, 단계 1108이 실행된 경우에는, 입력 가변 길이 부호에 대하여, 고정 길이 부호로서 복호화가 실행되어, 계수가 재생된다.
단계 1104, 단계 1106, 또는 단계 1108 중 어느쪽이 실행된 경우에도, 계속되는 단계 1110에서는, 처리한 입력 가변 길이 부호가 마지막 입력 가변 길이 부호인지의 여부가 판정되어, 마지막인 경우에는 단계 1111에 있어서 부호화 처리가 종료된다. 반면, 마지막이 아닌 경우에는 단계 1112에 있어서 j가 1만큼 증가된 후에, 단계 1102에 되돌아감으로써, 다음의 입력 가변 길이 부호가 마찬가지로 처리되게 된다. 이렇게 해서, 마지막 가변 길이 부호까지 처리가 속행된다.
이와 같이, 본 실시예 4에 의한 화상 부호화 방법에 의하면, 제 1 가변 길이 부호 테이블과 제 2 가변 길이 부호 테이블을 이용함으로써, 도 10에 도시하는 바와 같이 단계 1003 내지 단계 1004에 있어서의 비교 처리에 있어서, 해당하는 참조 사상이 제 1 가변 길이 부호 테이블에 존재하지 않은 경우에도, 단계 1006 내지 단계 1007에 있어서, 제 2 가변 길이 부호 테이블과의 비교 처리를 실행하기 때문에, 단계 1009가 실행됨으로써 고정 길이 부호화가 실행되는 비율을 저감함으로써, 전체로서 부호화 결과의 압축율의 향상을 도모할 수 있다. 본 실시예 4에 의하면, 복수개의 가변 길이 부호 테이블을 준비해야 하지만, 전술한 바와 같이, 해당 복수개의 테이블에 있어서 포함되는 사상이 상이하도록 작성해 놓음으로써, 부호화 효율의 향상을 도모할 수 있다.
또한, 본 실시예 4에 의한 화상 부호화 장치에 의하면, 상기한 바와 같은 부호화 방법을 실행하는 가변 길이 부호화기(211)를 구비함으로써, 부호화기(203)에 있어서의 압축 부호화의 압축율이 고압축율인 경우, 혹은 저압축율인 경우중 어느쪽에 있어서도, 압축률이 양호한 부호화 결과를 얻을 수 있다.
또한, 본 실시예 4에 의한 화상 복호화 방법, 및 화상 복호화 장치에 의하면, 상기한 바와 같이 얻어진 부호화 결과에 대응하여, 적절히 복호 처리를 행하여, 재생 화상을 얻을 수 있다.
또한, 본 실시예 4에서는, 두개의 가변 길이 부호 테이블을 이용하는 것으로 하였지만, 임의의 수의 가변 길이 부호 테이블을 준비하고, 동일한 수의 모드 코드를 이용하여, 해당 복수의 가변 길이 부호 테이블을 구별하는 것으로 하더라도 좋다. 또한, 양자화폭을 이용하여 복수개의 가변 길이 부호 테이블을 구별하더라도 좋다.
(실시예 5)
본 발명의 실시예 5에 의한 화상 부호화 방법은, 부호화 대상으로 하는 사상에 대하여 제산 처리에 의한 변환 처리를 한 뒤에, 가변 길이 부호 테이블과의 비교를 하는 것이다.
도 12는 본 실시예 5에 의한 가변 길이 부호화 방법에 있어서의 처리 순서를 도시하는 플로우차트이다. 또한, 본 실시예 5에 있어서의 화상 부호화 장치는, 실시예 1과 마찬가지의 구성을 갖는 것으로, 설명에는 도 2를 이용한다.
본 실시예 5에 의한 화상 부호화 처리에 있어서는, 도 2에 도시하는 가변 길이 부호화기(211)에 의한 처리만이, 실시예 1과 상이한 것으로 되기 때문에, 이하에 가변 길이 부호화기(211)의 부호화 처리의 동작에 대하여, 도 12에 따라서 설명한다. 단계 1201에 있어서 처리가 개시되면, 단계 1202에 있어서, (Last, Run, Level)로 이루어지는 j번째 입력 사상을 얻는다. 그리고, 단계 1203에서는, 제산 처리에 의한 입력 사상에 대한 변환 처리가 행하여진다. 변환 처리는, 입력 사상이 갖는 레벨의 값에 대하여, 양자화폭에 근거하여 결정되는 제수를 이용하여 제산을 행하여, 레벨의 몫을 취득한다.
도 13은 양자화폭과 제수의 관계를 도시한 도면이다. 도 13a는 양자의 관계에 있어서의 설정의 일례이고, 양자화폭이 1 내지 7인 경우, 제수는 2이고, 양자화폭이 8이상인 경우 제수가 1이라고 하는 설정을 나타내고 있다. 이 경우 양자화폭이 8이상이면, 제산이 실행되지 않은 것을 의미하는 것으로 된다. 도 13b는 양자의 관계에 있어서의 설정의 다른 예이고, 이와 같이 양자화폭을 3등급으로 나누어, 등급에 따라 제수를 결정하는 것으로 하더라도 좋다.
양자화 처리는 기본적으로 제산 처리이고, 양자화폭이 작아지면, 양자화 변환 계수의 값은 커지는 경향이 있어, 따라서 사상을 생성한 경우에 그 갖고 있는 레벨값이 커지는 것이 많아진다. 도 19 내지 도 22에 도시하는 가변 길이 부호 테이블은 비교적 고압축율의 계수에 대하여 적합하게 작성된 것으로, 레벨의 값이 작은 사상을 많이 포함하는 것이기 때문에, 이러한 경우에는 해당 테이블에 포함되는 참조 사상에 해당하는 비율이 저하하여, 가변 길이 부호화되는 비율도 저하하여 부호화 효율이 불량으로 된다. 그래서, 본 실시예 5에서는, 양자화폭이 작은 경우에는, 레벨에 대하여 제산을 행함으로써, 레벨의 값이 작은 변환 입력 사상을 생성하고, 이 변환 입력 사상을 비교 처리에 이용함으로써, 가변 길이 부호화가 실행되는 비율을 향상시키고, 또한 짧은 코드가 할당되는 가능성을 많이 하는 것을 도모하는 것이다.
레벨의 몫이 취득되었으면, 단계 1204에서는 변환 입력 사상의 (Last, Run, Level의 몫)에 대하여, 가변 길이 부호 테이블에 포함되는 참조 사상과의 비교가 실행되고, 다음 단계 1205에서는, 해당 비교의 결과에 의한 판정 처리가 실행된다. 단계 1205의 판정에 있어서 참조 사상이 있었던 경우에는 단계 1207이, 없었던 경우에는 단계 1206이 실행된다.
단계 1207이 실행된 경우는, 해당하는 참조 사상의 가변 길이 부호가 출력되고, 이어서 단계 1208에 있어서, 레벨의 나머지가 고정 길이 부호화되어, 그 부호화 결과가 입력 보조 부호로서 출력된다. 레벨의 나머지의 부호 길이는 제수에 의해서 변한다. 예를 들면 도 13a에 도시하는 설정인 경우에는, 제수가 2인 경우는 나머지의 비트 길이가 1로 되고, 제수가 1인 경우에는 나머지의 비트 길이가 0이다. 즉, 제수가 1인 경우는 나머지를 부호화하지 않은 것으로 된다. 단계 1207 내지 1208이 실행된 경우, 가변 길이 부호와 입력 보조 부호가, 부호화 결과로서 출력되게 된다.
한편, 단계 1206이 실행된 경우에는, 입력 사상에 대하여 고정 길이 부호화 처리가 이루어져, 고정 길이 부호가 생성된다. 그리고, 제어 코드가 해당 고정 길이 부호에 부여된 부호화 결과가 출력된다.
단계 1207 내지 단계 1208, 또는 단계 1206 중 어느쪽이 실행된 경우에도, 계속되는 단계 1209에서는, 처리한 입력 사상이 마지막 입력 사상인지의 여부가 판정되어, 마지막인 경우에는 단계 1210에 있어서 부호화 처리가 종료된다. 반면, 마지막이 아닌 경우에는 단계 1211에 있어서 j가 1만큼 증가된 후에, 단계 1202로 되돌아감으로써, 다음의 입력 사상이 마찬가지로 처리되게 된다. 이렇게 해서, 마지막 비제로의 계수까지 처리가 속행된다. 이하에 본 실시예 5에 도시하는 화상 부호화 처리에 의해 얻어진 부호화 데이터에 대한 복호화 처리를 설명한다. 본 실시예 5에 의한 화상 복호화 장치의 구성은 실시예 1과 마찬가지이고, 설명에는 도 4를 이용한다.
도 14는 본 실시예 5에 의한 가변 길이 복호화 방법에 있어서의 처리 순서를 도시하는 플로우차트이다. 본 실시예 5에 의한 화상 복호화 처리에 있어서는, 도 4에 도시하는 가변 길이 복호화기(408)에 의한 처리만이, 실시예 1과 상이한 것으로 되기 때문에, 이하에 가변 길이 복호화기(408)의 복호화 처리의 동작에 대하여, 도 14에 따라서 설명한다.
우선, 단계 1401에 있어서 처리가 개시되면, 단계 1402에서는, j번째 처리 대상인, 양자화한 변환 계수의 가변 길이 부호가, 입력 가변 길이 부호로서 입력된다. 여기서, 본 실시예 5에 있어서의 화상 부호화 처리로서는, 상술한 바와 같이 부호화 결과가 입력 보조 부호를 포함하는 것으로 하여 얻어지기 때문에, 이 입력 보조 부호도 가변 길이 부호와 함께 처리 대상으로서 입력된다. 단계 1403에서는, 입력 가변 길이 부호가 제어 코드를 포함하는가의 여부가 판정되어, 포함되면 단계1404가, 포함되지 않으면 단계 1405가 실행된다. 단계 1404가 실행된 경우, 즉 제어 코드가 있었던 경우에는, 입력 가변 길이 부호를 고정 길이 부호로서 복호화하여 계수를 재생하여 출력한 후, 후술하는 단계 1408로 이행한다.
한편, 단계 1405가 실행된 경우, 즉 제어 코드가 없는 경우에는, 제 1 가변 길이 부호 테이블을 이용함으로써, 입력 가변 길이 부호에 대응하는 (Last, Run, Level)이 취득되고, 그 후 단계 1406이 실행되어, 취득된 레벨의 값에 대하여, 소정의 값을 승산하는 변환 처리가 행하여진다. 소정의 값은, 양자화폭에 근거하여 정해지는 것으로, 여기서는 부호화 처리에 대응하여, 도 13에 도시한 값이 이용되는 것이다. 그리고, 단계 1407에서는, 입력 보조 부호가 고정 길이 복호화됨으로써, 레벨의 나머지가 취득되어, 단계 1406에 있어서의 변환 처리에 의해 얻어진 곱(product)에 대하여 가산됨으로써, 올바른 레벨의 값이 취득되어, 이 레벨의 값을 이용한 (Last, Run, Level)이 복호화 결과로서 출력된다.
단계 1404, 또는 단계 1405 내지 단계 1407 중 어느쪽이 실행되었던 경우에도, 계속되는 단계 1408에서는, 처리한 입력 가변 길이 부호가 마지막 입력 가변 길이 부호인지의 여부가 판정되어, 마지막인 경우에는 단계 1409에 있어서 부호화 처리가 종료된다. 반면, 마지막이 아닌 경우에는 단계 1410에 있어서 j가 1만큼 증가된 후에, 단계 1402로 되돌아감으로써, 다음의 입력 가변 길이 부호가 마찬가지로 처리되게 된다. 이렇게 해서, 마지막 가변 길이 부호까지 처리가 속행된다.
이와 같이, 본 실시예 5에 의한 화상 부호화 방법에 의하면, 도 12의 단계 1203에 도시하는 바와 같이, 처리 대상인 입력 사상이 갖는 레벨의 값에 대하여,양자화폭에 근거하여 정해지는 수를 이용하여 제산을 행하는 변환 처리를 하고, 단계 1204에서는 해당 변환 처리를 한 변환 입력 사상을 이용하여 비교 처리를 하기 때문에, 가변 길이 부호 테이블에 포함되는 참조 사상과 일치하는 비율을 높이고, 단계 1206에 있어서의 고정 길이 부호화가 실행되는 비율을 저감함으로써, 또한 변환 입력 사상을 이용함으로써, 가변 길이 부호화에 있어서 짧은 코드를 할당할 수 있는 가능성을 높임으로써, 부호화 효율의 향상을 도모할 수 있다.
또한, 본 실시예 5에 의한 화상 부호화 장치에 의하면, 상기한 바와 같은 부호화 방법을 실행하는 가변 길이 부호화기(211)를 구비함으로써, 부호화기(203)에 있어서의 압축 부호화의 압축율이 고압축율인 경우, 혹은 저압축율인 경우 중 어느쪽에 있어서도, 동일한 가변 길이 부호 테이블을 이용하여, 압축률이 양호한 부호화 결과를 얻을 수 있다.
또한, 본 실시예 5에 의한 화상 복호화 방법, 및 화상 복호화 장치에 의하면, 상기한 바와 같이 얻어진 부호화 결과에 대응하여, 적절히 복호 처리를 행하여, 재생 화상을 얻을 수 있다.
또한, 본 실시예 5에 있어서는, 사상이 갖는 레벨에 대하여 변환 처리를 행하는 것으로 설명하였지만, 레벨이 아니라, 런에 대하여 변환 처리를 행하는 것으로 하더라도 무방하다.
(실시예 6)
본 발명의 실시예 6에 의한 화상 부호화 방법은, 입력 사상에 대하여 변환처리를 하는 대신에, 참조 사상에 대하여 변환 처리를 행하여 비교하는 것이다.
도 15는 본 실시예 5에 의한 가변 길이 부호화 방법에 있어서의 처리 순서를 도시하는 플로우차트이다. 또한, 본 실시예 6에 있어서의 화상 부호화 장치는, 실시예 1과 마찬가지의 구성을 갖는 것으로, 설명에는 도 2를 이용한다.
본 실시예 6에 의한 화상 부호화 처리에 있어서는, 도 2에 도시하는 가변 길이 부호화기(211)에 의한 처리만이, 실시예 1과 상이한 것으로 되기 때문에, 이하에 가변 길이 부호화기(211)의 부호화 처리의 동작에 대하여, 도 15에 따라서 설명한다. 단계 1501에 있어서 처리가 개시되면, 단계 1502에 있어서, (Last, Run, Level)로 이루어지는 j번째 입력 사상을 얻는다. 또한, 양자화 처리에 있어서 이용된 양자화폭도 입력된다. 단계 1503에서는, 가변 길이 부호화 테이블로부터 i번째 참조 사상이 취득되고, 단계 1504에 있어서, 해당 참조 사상이 변환 처리됨으로써, 변환 참조 사상이 생성된다.
본 실시예 6에서는 이 변환 처리로서, 참조 사상이 갖는 레벨의 값에 대하여, 단계 1502에 의해 입력된 양자화폭에 따라 설정되는 값인 Offset을 가산하는 것을 행한다. 여기서는, 양자화폭이 1이나 2일 때 Offset = 5, 양자화폭이 3이나 4일 때 Offset = 4, 양자화폭이 5나 6일 때 Offset = 3, 양자화폭이 7이나 8일 때 Offset = 2, 양자화폭이 9이나 10일 때 Offset = 1, 양자화폭이 11이상일 때에 Offset = 0으로 설정한 것으로 한다. 예를 들면, 부호화의 대상으로 되는 사상이 (Last, Run, Level) = (0, 1, 6)일 때에, 참조 사상에 대한 변환 처리를 행하지 않을 경우에는, 도 19에 도시되는 참조 사상에 해당하는 것이 있어, 대응하는 부호를이용하기 때문에, 부호화 결과는 13비트로 된다. 그런데 양자화폭이 4일 때, 같은 사상을 대상으로 한 경우에는, 모든 참조 사상에 대해서는, 레벨의 값에 4를 가산하는 변환 처리를 행하기 때문에, 도 19에 도시하는 참조 사상 (0, 1, 2)에 대응하는 가변 길이 부호가 이용되게 되어, 이 경우에는 7비트로 되어, 전술한 변환 처리를 행하지 않은 경우에 비해서 6비트 절약할 수 있다. 이와 같이, 참조 사상의 레벨에 Offset를 가산하는 것은, 부호화의 대상으로 되는 사상(1ast, Run, Level)의 레벨로부터 Offset을 감산하여, 가변 길이 부호화 테이블의 각 항과 비교하는 방법과 등가로 된다.
실시예 5에 있어서 설명한 바와 같이, 양자화폭이 작아지면, 양자화한 계수의 값이 커지는 경향에 있기 때문에, 레벨의 값이 큰 사상의 출현 빈도도 많아진다. 이에 대하여, 도 19 내지 도 22에 도시하는 가변 길이 부호 테이블은, 고압축율의 계수에 적합한 것이고, 레벨의 값이 작은 사상을 많이 포함하는 것이다. 따라서, 참조 사상이 갖는 레벨의 값에 Offset을 가산함으로써, 입력 사상이 갖는 레벨의 값에 대한 감산 처리를 행하는 경우(실시예 1 등)와 마찬가지로, 짧은 코드에 의해 가변 길이 부호화할 수 있는 비율을 높여, 압축율의 향상을 도모하는 것이다.
단계 1505에서는, 단계 1504에서의 비교의 결과에 의한 판정 처리가 실행된다. 단계 1505의 판정에 있어서 일치한 경우에는, 단계 1506이 실행되어, i번째 참조 사상에 대응하는 가변 길이 부호가 출력된 후에, 후술하는 단계 1509로 이행한다. 한편, 일치하지 않은 경우에는 단계 1507이 실행된다.
단계 1507에 있어서는, i번째 참조 사상이 가변 길이 부호 테이블에 포함되는 마지막 참조 사상인지의 여부가 판정되어, 마지막 참조 사상인 경우, 단계 1508이 실행된다. 마지막 참조 사상이 아닌 경우에는, 단계 1512에 있어서 i가 1만큼 증가된 후에 단계 1503으로 되돌아가, 단계 1507에 있어서의 판정까지가 반복된다.
단계 1503 내지 단계 1507의 처리에 의해, j번째 입력 사상과 가변 길이 부호 테이블에 포함되는 참조 사상의 비교가, 단계 1505에 있어서 일치한다고 판정되든가, 또는 단계 1507에 있어서 마지막이라고 판정될 때까지 반복된다. 즉, 가변 길이 부호화가 실행될 때까지는, 가변 길이 부호 테이블의 마지막까지 전부 비교될 때까지 비교가 행하여진다.
단계 1507에 있어서, 마지막이라고 판정된 경우, 즉 j번째 입력 사상에 대하여 테이블의 참조 사상과의 비교가 종료된 경우에는, 가변 길이 부호화는 실행할 수 없었다는 것으로 되어, 단계 1508에 있어서, 입력 사상에 대한 고정 길이 부호화가 실행되어, 부호화 결과에 제어 코드가 부여되어 출력된 후에, 단계 1509로 이행한다.
단계 1506, 또는 단계 1508에 계속해서 실행되는 단계 1509에서는, 처리한 입력 사상이 마지막 입력 사상인지의 여부가 판정되어, 마지막인 경우에는 단계 1510에 있어서 부호화 처리가 종료된다. 반면, 마지막이 아닌 경우에는, 단계 1511에 있어서 j가 1만큼 증가된 후에, 단계 1502로 되돌아감으로써, 다음의 입력 사상이 마찬가지로 처리되게 된다. 이렇게 해서, 마지막 비제로의 계수까지 처리가 속행된다.
도 16은 본 발명의 실시예 6에 의한 화상 부호화 장치에 이용되는 가변 길이부호화기(도 2의 (211))의 내부 구성을 도시하는 블록도이다. 도시하는 바와 같이, 해당 가변 길이 부호화기는 가변 길이 부호 테이블(1601), 레벨 변환기(1602), 비교기(1603), 고정 길이 부호화기(1604), 및 스위치(1605)를 구비한 것으로, 입력 사상과 양자화폭을 입력하여, 부호화 결과를 출력한다.
가변 길이 부호 테이블(1601)은, 도 19 내지 도 22에 도시하는 것이다. 레벨 변환기(1602)는 양자화폭과 참조 사상을 입력하여, 양자화폭에 대응하여 참조 사상이 갖는 레벨의 값을 변환하여, 변환 참조 사상을 생성한다. 비교기(1603)는 입력 사상과 변환 참조 사상의 비교 처리를 행하여, 비교 결과에 따라 제어 신호를 출력한다. 고정 길이 부호화기(1604)는 입력 사상이 입력되었을 때에는, 이것에 대하여 고정 길이의 부호화 처리를 행하여, 부호화 결과를 출력한다. 스위치(1605)는 비교기(1603)로부터의 출력에 대응하여 전환을 행하여, 가변 길이 부호 테이블(1601)로부터의 출력이나, 또는 고정 길이 부호화기(1604)로부터의 출력 중의 어느쪽을, 부호화 결과로서 출력한다.
이와 같이 구성된 가변 길이 부호화기의 동작을 도 15의 순서와의 대응에 있어서, 이하에 설명한다. 도 15의 순서의 단계 1502에 있어서, 해당 가변 길이 부호화기(도 2의 (211))에 양자화폭과 입력 사상(j번째)이 입력되면, 양자화폭은 라인(1611)으로부터 레벨 변환기(1602)에, 또한 입력 사상은 라인(1612)으로부터 비교기(1603)에 입력된다. 도 15의 순서의 단계 1503에서는, 레벨 변환기(1602)가 라인(1613)에 의해 가변 길이 부호 테이블로부터 참조 사상(i 번째)을 취득하여, 입력된 양자화폭을 이용하여, 해당 참조 사상이 갖는 레벨값에 대한 변환 처리를실행하여, 얻어진 변환 참조 사상을 비교기(1603)에 출력한다.
도 15의 순서의 단계 1505에서는, 비교기(1603)에 의한 비교 처리와 판정 처리가 실행된다. 비교기(1603)는 입력된 입력 사상과 변환 참조 사상의 비교 처리를 행하여, 일치하는지의 여부를 판정한다. 일치한다고 판정하는 경우에는, 비교기(1603)는 가변 길이 부호 테이블(1601)에 대하여 해당 i번째 참조 사상에 대응하는 부호를 출력하도록, 라인(1615)을 경유하여 제어 신호를 보냄과 동시에, 스위치(1605)에 대해서도 라인(1617)을 거친 제어 신호를 보내어, 스위치(1605)로부터의 출력이 가변 길이 부호 테이블(1601)로부터의 부호로 되도록 한다. 이에 따라, 단계 1505에 있어서의 판정이 「일치한다」인 경우에는, 도 15의 순서의 단계 1506에 있어서, 스위치(1605)의 출력 라인(1620)으로부터, 가변 길이 부호가 출력되게 된다.
한편, 비교기(1603)에 있어서의 비교 처리에 있어서, 일치하지 않은 경우에는, 라인(1615)을 경유한 제어 신호에 의해, 다음의 (i+1번째) 참조 사상이 가변 길이 부호 테이블(1601)로부터 레벨 변환기(1602)에 입력된다. 도 15의 순서에 있어서는, 단계 1512에서 i가 증가한 후, 단계 1503으로부터의 반복이 실행된다.
단계 1507의 판정에 있어서, 가변 길이 부호 테이블의 마지막까지 비교 처리가 끝났다고 인정된 경우, 비교기(1603)는 해당 입력 사상(j번째)을 라인(1618)에 의해서 고정 길이 부호화기(1604)에 출력함과 동시에, 스위치(1605)에 대해서도 라인(1617)을 거친 제어 신호를 보내어, 스위치(1605)로부터의 출력이 고정 길이 부호화기(1604)로부터의 부호로 되도록 한다.
도 15의 순서의 단계 1508에 있어서, 고정 길이 부호화기(1604)는 입력된 입력 사상에 대한 부호화 처리를 행하여, 얻어진 부호화 결과를 라인(1619)을 거쳐서 스위치(1605)에 출력한다. 비교기(1603)로부터의 제어 신호에 의해서, 스위치(1605)로부터는 고정 길이 부호가 라인(1620)으로부터 출력된다.
라인(1620)으로부터 출력이 있었던 후, 라인(1612)으로부터 다음의 입력 사상이 입력됨으로써, 도 15의 순서에 있어서의 입력 사상에 대한 처리의 반복이 실행된다.
이와 같이, 본 발명의 실시예 6에 의한 화상 부호화는 실행되지만, 이러한 화상 부호화에 의해 얻어진 부호화 데이터에 대한 복호화 처리는, 도 4에 도시하는 화상 복호화 장치에서 실행된다. 본 실시예 6에 의한 화상 복호화 처리에 있어서는, 도 4에 도시하는 가변 길이 복호화기(408)에 의한 처리만이, 실시예 1과 상이한 것으로 되기 때문에, 이하에 가변 길이 복호화기(408)의 복호화 처리에 대하여, 그 내부 구성을 도시하는 도 17을 이용하여 설명한다.
도 17에 도시하는 바와 같이, 해당 가변 길이 복호화기는, 가변 길이 부호 테이블(1701), 비교기(1702), 레벨 역변환기(1703), 고정 길이 복호화기(1704), 및 스위치(1705)를 구비한 것으로, 입력 가변 길이 부호와 양자화폭을 입력하여, 복호 처리에 의한 재생 결과를 출력한다.
가변 길이 부호 테이블(1701)은, 도 19 내지 도 22에 도시하는 것이다. 비교기(1702)는 입력 가변 길이 부호와 참조 가변 길이 부호의 비교 처리를 행하여, 비교 결과에 따라 제어 신호를 출력한다. 레벨 역변환기(1703)는, 양자화폭과 참조 사상을 입력하여, 양자화폭에 대응하여 참조 사상이 갖는 레벨의 값을 변환하여, 변환참조 사상을 생성한다. 고정 길이 복호화기(1704)는, 입력 가변 길이 부호가 입력되었을 때에는, 이것에 대하여 고정 길이의 복호화 처리를 행하여, 복호화 결과를 출력한다. 스위치(1705)는 비교기(1702)로부터의 출력에 대응하여 전환을 행하여, 가변 길이 부호 테이블(1701)로부터의 출력이나, 또는 고정 길이 복호화기(1704)로부터의 출력 중 어느쪽을 재생 결과로서 출력한다.
이와 같이 구성된 가변 길이 복호화기의 동작을 이하에 설명한다. 해당 가변 길이 복호화기(도 4의 (408) 참조)에 양자화폭과 입력 가변 길이 부호가 입력되면, 양자화폭은 라인(1711)으로부터 레벨 역변환기(1703)에, 또한 입력 가변 길이 부호는 라인(1712)으로부터 비교기(1702)에 입력된다. 비교기(1702)는 라인(1713)을 경유하여 가변 길이 부호 테이블(1701)로부터 참조 가변 길이 부호를 취득하여, 입력 가변 길이 부호와 참조 가변 길이 부호의 비교를 행한다.
비교에 의해 일치한다고 판정하는 경우에는, 비교기(1702)는 가변 길이 부호 테이블(1701)에 대하여, 해당 참조 가변 길이 부호에 대응하는 참조 사상을 출력하도록, 라인(1714)를 경유하여 제어 신호를 보냄과 동시에, 스위치(1705)에 대해서도 라인(1717)을 거친 제어 신호를 보내어, 스위치(1705)로부터의 출력이 가변 길이 부호 테이블(1701)로부터의 부호로 되도록 한다.
가변 길이 부호 테이블로부터는, 참조 사상이 라인(1715)을 경유하여 레벨 역변환기(1703)에 입력되어, 변환 처리를 수신하게 된다. 레벨 역변환기(1703)는, 참조 사상이 갖는 레벨에 대응하여, 양자화폭에 근거하여, 부호화시에 실행된 변환처리의 역처리를 행한다. 본 실시예 6에서는, 양자화폭에 따라 정해지는 Offset을, 참조 사상이 갖는 레벨값에 대하여 가산한다. 양자화폭이 1이나 2일 때 Offset = 5, 양자화폭이 3이나 4일 때 Offset = 4, 양자화폭이 5나 6일 때 Offset = 3, 양자화폭이 7이나 8일 때 Offset = 2, 양자화폭이 9나 10일 때 Offset = 1, 양자화폭이 11이상일 때에 Offset = 0이 이용되는 것이다. 예를 들면, 입력 가변 길이 부호가 「0101000」로 되면, 도 19에 도시하는 테이블로부터 참조 사상으로서 (Last, Run, Level) = (0, 1, 2)가 취득된다. 이것을 입력된 레벨 역변환기(1703)에서는, 입력된 양자화폭이 4였다라고 하면, 참조 사상이 갖는 레벨에 4를 가산하여, 얻어진 결과 (0, 1, 6)을 라인(1716)으로부터 스위치(1705)에 출력한다. 그리고, 비교기(1702)로부터의 제어 신호에 대응하여, 스위치(1705)는 이 결과를 재생 결과로서 라인(1720)으로부터 출력한다. 이에 의해, 판정이 「일치한다」인 경우에는, 스위치(1705)의 출력 라인(1720)으로부터, 가변 길이 부호가 출력되게 된다.
한편, 비교기(1702)에 있어서의 비교 처리에 있어서, 일치하는 참조 가변 길이 부호가 발견되지 않았던 경우에는, 비교기(1703)는 해당 입력 가변 길이 부호를, 라인(1718)에 의해 고정 길이 복호화기(1704)에 출력함과 동시에, 스위치(1705)에 대해서도 라인(1717)을 거친 제어 신호를 보내어, 스위치(1705)로부터의 출력이 고정 길이 복호화기(1704)로부터의 부호로 되도록 한다. 이에 의해, 고정 길이 복호화된 결과가, 스위치(1705)의 출력 라인(1720)으로부터 출력되게 된다.
이와 같이, 본 실시예 6에 의한 화상 부호화 방법에 의하면, 도 15의 단계1502에 도시하는 변환 처리를, 가변 길이 부호 테이블이 갖는 참조 사상에 대하여 실행함으로써, 동등한 변환 처리를 입력 사상에 대하여 실행하는 실시예 1 등과 마찬가지로, 가변 길이 부호화가 실행되는 비율과, 짧은 코드가 할당되는 비율을 높여, 부호화 효율의 향상을 도모할 수 있다.
또한, 본 실시예 6에 의한 화상 부호화 장치에 의하면, 도 16에 도시하는 내부 구성을 갖고, 상기한 바와 같은 부호화 방법을 실행하는 가변 길이 부호화기(211)를 구비함으로써, 부호화기(203)에 있어서의 압축 부호화의 압축율이 고압축율인 경우, 혹은 저압축율인 경우 중 어느쪽에 있어서도, 동일한 가변 길이 부호 테이블을 이용하여, 압축률이 양호한 부호화 결과를 얻을 수 있다.
또한, 본 실시예 6에 의한 화상 복호화 방법, 및 화상 복호화 장치에 의하면, 상기한 바와 같이 얻어진 부호화 결과에 대응하여, 적절히 복호 처리를 행하여, 재생 화상을 얻을 수 있다.
또한, 본 실시예 6에 있어서는, 참조 사상에 대한 변환 처리로서, Offset의 가산을 이용하는 방법을 나타내었지만, 이것에 한정되는 것이 아니라, 그 밖의 함수를 이용하더라도 좋다. 예를 들면, 양자화폭에 따라 레벨의 값에 곱하는 배수를 바꾸거나, 이차 함수를 실시하거나, 레벨의 다이나믹 레인지를 변경하거나 하는 방법에 의해서도, 상기 효과를 얻을 수 있다.
또한 실시예 1 등에 있어서, 입력 사상에 대한 변환 처리에 대하여 설명한 바와 같이, 참조 사상의 레벨에 대한 변환 처리를 실행하는 대신에, 런의 값에 대한 변환 처리를 할 수도 있다.
이상 본 발명에 의한 실시예를 설명하였지만, 어느 실시예에 있어서도, 플로우차트를 이용하여 도시한 처리 순서는 일례이고, 마찬가지의 부호화·복호화 방법을 실행할 수 있는 다른 처리 순서를 이용할 수도 있다.
또한, 본 발명의 실시예 1 내지 실시예 6에 도시한 화상 부호화 장치, 및 화상 복호화 장치는, 각 실시예에 도시한 화상 부호화 방법, 또는 화상 복호화 방법을 행하는 화상 부호화 프로그램, 또는 화상 복호화 프로그램을 기록 매체에 기록하여, 해당 기록한 프로그램을, 퍼스널 컴퓨터, 워크 스테이션 등을 갖는 컴퓨터 시스템에서 실행함으로써 실현된다. 기록 매체로서는, 플로피 디스크, CD-ROM 등의 광디스크 등, 프로그램을 기록할 수 있는 기록 매체이면, 사용가능하다.
이상과 같이, 본 발명의 화상 부호화 방법, 및 화상 부호화 장치에 의하면, 디지털 화상 데이터에 대한 DCT, 파형 부호화 등의 처리에 의해서 압축 부호화된 데이터를 처리 대상으로 하여, 그 압축도가 상이한 광범위한 대상에 있어서, 하나의 가변 길이 부호화 테이블을 활용하여, 고압축율의 부호화 처리를 실행할 수 있다.
또한, 본 발명의 화상 복호화 방법, 및 화상 복호화 장치에 의하면, 상기한 바와 같은 효율적인 부호화 처리된 부호화 결과에 대하여, 적절히 복호화 처리를 행하여, 재생 화상을 얻을 수 있다.
또한, 본 발명의 화상 부호화 프로그램 기록 매체, 및 화상 복호화 프로그램기록 매체에 의하면, 컴퓨터 시스템에 있어서 해당 기록한 프로그램을 실행함으로써, 장치 자원을 활용하여, 고압축율의 부호화 결과가 얻어지는 화상 부호화 장치, 및 이러한 부호화 결과를 적절히 처리할 수 있는 화상 복호화 장치를 실현할 수 있다.

Claims (5)

  1. 압축 부호화된 데이터로부터 가변 길이 부호를 추출하고, 라스트, 런, 레벨로 이루어진 참조 사상이 각각의 참조 가변 길이 부호에 할당된 가변 길이 부호 테이블을 사용하여 상기 가변 길이 부호에 대응하는 사상을 취득하며, 상기 사상으로부터 출력 변환 계수를 도출하는 화상 복호화 방법에 있어서,
    상기 가변 길이 부호가 제어 코드를 포함하는지 판정하여, 상기 가변 길이 부호가 제어 코드를 포함하지 않는 것으로 판정되면, 상기 가변 길이 부호 테이블을 사용하여 상기 가변 길이 부호에 대응하는 사상을 취득하는 단계와,
    상기 가변 길이 부호가 상기 제어 코드를 포함하는 것으로 판정되면, 상기 가변 길이 부호가 제 2 모드 코드를 포함하는지 여부를 더 판정하여, 상기 가변 길이 부호가 상기 제 2 모드 코드를 포함하는 것으로 판정되면, 상기 가변 길이 부호 테이블을 사용하여 상기 가변 길이 부호에 대응하는 사상을 취득한 후, 미리 결정된 함수를 사용하여 상기 가변 길이 부호에 대응하는 상기 사상의 레벨값을 변환함으로써 변환 사상을 취득하는 단계를 포함하는
    화상 복호화 방법.
  2. 제 1 항에 있어서,
    상기 제어 코드는 '0000011'이고,
    상기 제 2 모드 코드는 '0'인
    화상 복호화 방법.
  3. 제 1 항에 있어서,
    상기 레벨값을 변환하기 위한 상기 미리 결정된 함수는
    변환 레벨값 = sign (결과 레벨값) ×[abs(결과 레벨값) + 미리 결정된 오프셋값]
    으로서 규정되는
    화상 복호화 방법.
  4. 제 1 항에 있어서,
    상기 가변 길이 부호가 제 1 모드 코드를 포함하는지 여부를 더 판정하여, 상기 가변 길이 부호가 상기 제 1 모드 코드를 포함하는 것으로 판정되면, 상기 가변 길이 부호를 고정 길이 복호화 처리함으로써 사상을 취득하는
    화상 복호화 방법.
  5. 제 4 항에 있어서,
    상기 제 1 모드 코드는 '11'인
    화상 복호화 방법.
KR1020017008444A 1996-11-06 1997-11-06 화상 복호화 방법 KR100318058B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP29351296 1996-11-06
JP96-293512 1996-11-06
JP6264997 1997-03-17
JP97-62649 1997-03-17
KR1019980705193A KR100318059B1 (ko) 1996-11-06 1997-11-06 화상복호화방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1019980705193A Division KR100318059B1 (ko) 1996-11-06 1997-11-06 화상복호화방법

Publications (1)

Publication Number Publication Date
KR100318058B1 true KR100318058B1 (ko) 2001-12-24

Family

ID=26403695

Family Applications (7)

Application Number Title Priority Date Filing Date
KR1020017008442A KR100318056B1 (ko) 1996-11-06 1997-11-06 화상 복호화 방법
KR1020017008443A KR100318057B1 (ko) 1996-11-06 1997-11-06 화상 복호화 방법
KR1019980705193A KR100318059B1 (ko) 1996-11-06 1997-11-06 화상복호화방법
KR10-2002-7014873A KR100469176B1 (ko) 1996-11-06 1997-11-06 화상 부호화 방법
KR1020017008441A KR100318055B1 (ko) 1996-11-06 1997-11-06 화상 복호화 방법
KR10-2001-7008445A KR100402541B1 (ko) 1996-11-06 1997-11-06 화상 부호화 방법, 화상 복호화 방법 및 화상 복호화 장치
KR1020017008444A KR100318058B1 (ko) 1996-11-06 1997-11-06 화상 복호화 방법

Family Applications Before (6)

Application Number Title Priority Date Filing Date
KR1020017008442A KR100318056B1 (ko) 1996-11-06 1997-11-06 화상 복호화 방법
KR1020017008443A KR100318057B1 (ko) 1996-11-06 1997-11-06 화상 복호화 방법
KR1019980705193A KR100318059B1 (ko) 1996-11-06 1997-11-06 화상복호화방법
KR10-2002-7014873A KR100469176B1 (ko) 1996-11-06 1997-11-06 화상 부호화 방법
KR1020017008441A KR100318055B1 (ko) 1996-11-06 1997-11-06 화상 복호화 방법
KR10-2001-7008445A KR100402541B1 (ko) 1996-11-06 1997-11-06 화상 부호화 방법, 화상 복호화 방법 및 화상 복호화 장치

Country Status (9)

Country Link
US (11) US6345123B1 (ko)
EP (7) EP1100274B1 (ko)
JP (13) JP3103383B2 (ko)
KR (7) KR100318056B1 (ko)
CN (7) CN1177488C (ko)
DE (7) DE69724841T2 (ko)
SG (1) SG102016A1 (ko)
TW (1) TW366670B (ko)
WO (1) WO1998020681A1 (ko)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7116829B1 (en) 1996-11-06 2006-10-03 Matsushita Electric Industrial Co., Ltd. Image coding and decoding methods, image coding and decoding apparatuses, and recording media for image coding and decoding programs
US6345123B1 (en) * 1996-11-06 2002-02-05 Matsushita Electric Industrial Co., Ltd. Image encoding/decoding method, image encoder/decoder and image encoding/decoding program recording medium
US6587159B1 (en) 1998-05-29 2003-07-01 Texas Instruments Incorporated Projector for digital cinema
US6785323B1 (en) 1999-11-22 2004-08-31 Ipr Licensing, Inc. Variable rate coding for forward link
US6973140B2 (en) 1999-03-05 2005-12-06 Ipr Licensing, Inc. Maximizing data rate by adjusting codes and code rates in CDMA system
JP3573735B2 (ja) 2000-05-23 2004-10-06 松下電器産業株式会社 可変長符号化方法および可変長符号化装置
JP3977087B2 (ja) * 2001-02-13 2007-09-19 キヤノン株式会社 画像符号化装置、方法及びプログラム
JP2002261623A (ja) * 2001-02-28 2002-09-13 Canon Inc 復号装置、復号方法、記憶媒体及びプログラムソフトウェア
JP4090862B2 (ja) * 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
US7016547B1 (en) 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US20040025012A1 (en) * 2002-07-30 2004-02-05 Burks David Patrick System for processing coded content and associated decoding instructions on a removable storage medium
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
EP1734511B1 (en) 2002-09-04 2009-11-18 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
EP1416735B1 (en) * 2002-10-30 2005-12-28 Visiowave S.A. Method of computing temporal wavelet coefficients of a group of pictures
US7212681B1 (en) 2003-01-15 2007-05-01 Cisco Technology, Inc. Extension of two-dimensional variable length coding for image compression
US7194137B2 (en) * 2003-05-16 2007-03-20 Cisco Technology, Inc. Variable length coding method and apparatus for video compression
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7782954B2 (en) * 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
JP2007525907A (ja) * 2004-02-27 2007-09-06 ティディヴィジョン コーポレイション エス.エー. デ シー.ヴィ. 立体3dビデオイメージディジタルデコーディングのシステムおよび方法
WO2005083636A1 (es) 2004-02-27 2005-09-09 Td Vision Corporation, S.A. De C.V. Método y sistema de codificación digital de imágenes de video 3d estereoscópicas
CN100353445C (zh) * 2004-03-11 2007-12-05 威盛电子股份有限公司 运用于光驱系统8-14调制的数据译码的方法与装置
KR100579417B1 (ko) * 2004-04-06 2006-05-12 (주)씨앤에스 테크놀로지 고속 영상압축장치
US7454073B2 (en) 2004-06-15 2008-11-18 Cisco Technology, Inc. Video compression using multiple variable length coding processes for multiple classes of transform coefficient blocks
US7492956B2 (en) * 2004-08-18 2009-02-17 Cisco Technology, Inc. Video coding using multi-dimensional amplitude coding and 2-D non-zero/zero cluster position coding
US7499595B2 (en) * 2004-08-18 2009-03-03 Cisco Technology, Inc. Joint amplitude and position coding for photographic image and video coding
US7499596B2 (en) 2004-08-18 2009-03-03 Cisco Technology, Inc. Amplitude coding for clustered transform coefficients
US7471841B2 (en) 2004-06-15 2008-12-30 Cisco Technology, Inc. Adaptive breakpoint for hybrid variable length coding
US7454076B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Hybrid variable length coding method for low bit rate video coding
US7471840B2 (en) * 2004-08-18 2008-12-30 Cisco Technology, Inc. Two-dimensional variable length coding of runs of zero and non-zero transform coefficients for image compression
US7113115B2 (en) * 2004-06-30 2006-09-26 Intel Corporation Variable length code table look ups
US7620258B2 (en) * 2004-08-18 2009-11-17 Cisco Technology, Inc. Extended amplitude coding for clustered transform coefficients
US7680349B2 (en) * 2004-08-18 2010-03-16 Cisco Technology, Inc. Variable length coding for clustered transform coefficients in video compression
JP4527474B2 (ja) * 2004-08-27 2010-08-18 パナソニック株式会社 可変長符号化装置、撮像装置
US7132963B2 (en) * 2004-09-13 2006-11-07 Ati Technologies Inc. Methods and apparatus for processing variable length coded data
CN100452877C (zh) * 2004-11-12 2009-01-14 财团法人资讯工业策进会 视讯译码装置与方法
WO2006059424A1 (ja) * 2004-12-01 2006-06-08 Nec Corporation 可変長符号化方法、装置およびプログラム
US20060198973A1 (en) * 2005-03-03 2006-09-07 Jester Randy D Packaging with cycloolefin food/beverage contact layer
JP4495034B2 (ja) * 2005-06-01 2010-06-30 パナソニック株式会社 可変長符号化方式および可変長符号化装置
US7599840B2 (en) * 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US7684981B2 (en) * 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
US7693709B2 (en) 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US7565018B2 (en) * 2005-08-12 2009-07-21 Microsoft Corporation Adaptive coding and decoding of wide-range coefficients
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
US7242328B1 (en) 2006-02-03 2007-07-10 Cisco Technology, Inc. Variable length coding for sparse coefficients
CN101090501B (zh) * 2006-06-13 2010-05-12 财团法人工业技术研究院 模型搜寻式的可变长度编解码方法与装置
JP2008048235A (ja) * 2006-08-18 2008-02-28 Sony Corp 可変長符号の復号化方法および復号化装置
CN101137047B (zh) * 2006-08-29 2010-09-15 昆山杰得微电子有限公司 一种通过有效残差系数分析提高编码效率的方法
US8184710B2 (en) * 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
US7774205B2 (en) * 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
US7876968B2 (en) * 2007-10-15 2011-01-25 Himax Technologies Limited Apparatus of compressing image data and a method thereof
US20100260258A1 (en) * 2007-12-13 2010-10-14 Kyoko Ueda Image coding device, coding rate conversion device, audio video stream recording device, network distribution system, coefficient conversion device, integrated circuit, and image coding method
CN101572586B (zh) * 2008-04-30 2012-09-19 北京工业大学 编解码方法、装置及系统
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
WO2010003574A1 (en) * 2008-07-11 2010-01-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method for encoding a symbol, method for decoding a symbol, method for transmitting a symbol from a transmitter to a receiver, encoder, decoder and system for transmitting a symbol from a transmitter to a receiver
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
EP2182732A1 (en) * 2008-10-28 2010-05-05 Panasonic Corporation Switching between scans in image coding
US9511914B2 (en) * 2009-09-01 2016-12-06 Philip Morris Usa Inc. Thermoformable multilayer films and blister packs produced therefrom
US9452593B2 (en) 2010-04-15 2016-09-27 Topas Advanced Polymers, Inc. Melt blends of amorphous cycloolefin polymers and partially crystalline cycloolefin elastomers with improved toughness
TWI415397B (zh) * 2010-05-19 2013-11-11 Mstar Semiconductor Inc 媒體編碼系統、量化係數編碼裝置及量化係數編碼方法
CN102325343B (zh) * 2011-05-25 2014-03-12 京信通信系统(中国)有限公司 一种数据压缩传输方法及其系统
JP2013009272A (ja) * 2011-06-27 2013-01-10 Toshiba Corp 画像符号化装置、方法及びプログラム、並びに、画像復号化装置、方法及びプログラム
TWI595770B (zh) * 2011-09-29 2017-08-11 杜比實驗室特許公司 具有對稱圖像解析度與品質之圖框相容全解析度立體三維視訊傳達技術
US9602827B2 (en) 2012-07-02 2017-03-21 Qualcomm Incorporated Video parameter set including an offset syntax element
US9485508B2 (en) 2013-04-08 2016-11-01 Qualcomm Incorporated Non-entropy encoded set of profile, tier, and level syntax structures
US9626184B2 (en) * 2013-06-28 2017-04-18 Intel Corporation Processors, methods, systems, and instructions to transcode variable length code points of unicode characters
US9550559B1 (en) 2013-07-08 2017-01-24 The Boeing Company Aircraft wing assemblies
US11577443B2 (en) 2016-03-11 2023-02-14 Polyplastics USA, Inc Injection stretch blow-molding (ISBM) enhancement for semi-crystalline polyolefin containers utilizing alicyclic polyolefins

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63115343A (ja) 1986-11-04 1988-05-19 Matsushita Electric Ind Co Ltd 処理装置
US4939583A (en) * 1987-09-07 1990-07-03 Hitachi, Ltd. Entropy-coding system
DE69131809T2 (de) * 1990-09-04 2000-05-11 Canon Kk Bildverarbeitungsverfahren und -gerät
JP2959916B2 (ja) * 1992-10-28 1999-10-06 松下電器産業株式会社 デジタル・ビデオ・コーダ用のバーサタイルなエスケープ・ラン・レベル・コーダ
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 可変長符号化回路
JP3382292B2 (ja) 1993-04-22 2003-03-04 キヤノン株式会社 画像符号化装置及びその方法
KR0155784B1 (ko) * 1993-12-16 1998-12-15 김광호 영상데이타의 적응형 가변장 부호화/복호화방법
KR970009408B1 (ko) * 1994-01-18 1997-06-13 대우전자 주식회사 인터/인트라 테이블 선택 회로
US5563593A (en) * 1994-03-18 1996-10-08 Lucent Technologies Inc. Video coding with optimized low complexity variable length codes
KR0148151B1 (ko) 1994-05-11 1998-09-15 김광호 개선된 차분동부호테이블을 이용한 차분동벡터값의 가변장부호화방법 및 그 장치
KR100186915B1 (ko) * 1994-07-13 1999-05-01 모리시다 요이치 디지털 부호화 장치 및 디지털 부호 복호화 장치
EP1802134A3 (en) * 1995-03-15 2008-12-31 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems
US6345123B1 (en) 1996-11-06 2002-02-05 Matsushita Electric Industrial Co., Ltd. Image encoding/decoding method, image encoder/decoder and image encoding/decoding program recording medium

Also Published As

Publication number Publication date
CN1201595C (zh) 2005-05-11
CN1681327A (zh) 2005-10-12
DE69720559T2 (de) 2004-02-12
EP1100275A2 (en) 2001-05-16
JP3135062B2 (ja) 2001-02-13
KR100469176B1 (ko) 2005-02-02
EP1560439A2 (en) 2005-08-03
EP1100275A3 (en) 2001-05-30
US6556717B2 (en) 2003-04-29
CN1374808A (zh) 2002-10-16
JP3743961B2 (ja) 2006-02-08
US20010046328A1 (en) 2001-11-29
EP0873018A1 (en) 1998-10-21
KR100318057B1 (ko) 2001-12-24
CN100393138C (zh) 2008-06-04
WO1998020681A1 (en) 1998-05-14
EP1560439A3 (en) 2005-08-24
KR100318056B1 (ko) 2001-12-24
CN1210651A (zh) 1999-03-10
DE69735680T2 (de) 2006-11-23
CN1173579C (zh) 2004-10-27
EP1100273A2 (en) 2001-05-16
CN1173580C (zh) 2004-10-27
JP2005065313A (ja) 2005-03-10
US6404929B1 (en) 2002-06-11
US6445827B2 (en) 2002-09-03
JP3743962B2 (ja) 2006-02-08
DE69735679T2 (de) 2006-11-23
EP1100273B1 (en) 2006-04-12
US6278801B1 (en) 2001-08-21
JP2000316153A (ja) 2000-11-14
EP1100272A2 (en) 2001-05-16
DE69724841D1 (de) 2003-10-16
JP3103383B2 (ja) 2000-10-30
JP2005057796A (ja) 2005-03-03
JP2005065311A (ja) 2005-03-10
DE69720558T2 (de) 2004-03-04
US6490372B1 (en) 2002-12-03
DE69735680D1 (de) 2006-05-24
DE69715815D1 (de) 2002-10-31
CN1362838A (zh) 2002-08-07
CN1362835A (zh) 2002-08-07
DE69720559D1 (de) 2003-05-08
EP0873018B1 (en) 2002-09-25
EP1100274A3 (en) 2001-05-30
US20010001018A1 (en) 2001-05-10
CN1362836A (zh) 2002-08-07
CN1362837A (zh) 2002-08-07
CN1177488C (zh) 2004-11-24
JP2005039855A (ja) 2005-02-10
DE69739536D1 (de) 2009-09-24
EP1560439B1 (en) 2009-08-12
US6608936B2 (en) 2003-08-19
KR100402541B1 (ko) 2003-10-22
US20010001017A1 (en) 2001-05-10
KR20030097615A (ko) 2003-12-31
US6574369B2 (en) 2003-06-03
JP3776921B2 (ja) 2006-05-24
US20020003907A1 (en) 2002-01-10
EP1104972A1 (en) 2001-06-06
SG102016A1 (en) 2004-02-27
US6349149B1 (en) 2002-02-19
US6345123B1 (en) 2002-02-05
JP2005065314A (ja) 2005-03-10
CN1173581C (zh) 2004-10-27
DE69720558D1 (de) 2003-05-08
EP1100272A3 (en) 2001-05-30
JP2000316154A (ja) 2000-11-14
US6411739B2 (en) 2002-06-25
KR19990077060A (ko) 1999-10-25
KR100318059B1 (ko) 2002-02-19
US6650785B2 (en) 2003-11-18
CN1136733C (zh) 2004-01-28
EP1100275B1 (en) 2003-04-02
TW366670B (en) 1999-08-11
EP1100273A3 (en) 2001-05-30
JP2001094993A (ja) 2001-04-06
JP2005039854A (ja) 2005-02-10
JP3743960B2 (ja) 2006-02-08
JP3380810B2 (ja) 2003-02-24
EP1100272B1 (en) 2003-04-02
US20010046329A1 (en) 2001-11-29
JP2003018601A (ja) 2003-01-17
JP3135061B2 (ja) 2001-02-13
JP3776920B2 (ja) 2006-05-24
EP1100274A2 (en) 2001-05-16
JP2001309376A (ja) 2001-11-02
DE69715815T2 (de) 2003-05-22
DE69724841T2 (de) 2004-07-08
EP0873018A4 (en) 2001-01-17
KR100318055B1 (ko) 2001-12-24
US20010046325A1 (en) 2001-11-29
JP2005065312A (ja) 2005-03-10
EP1104972B1 (en) 2003-09-10
DE69735679D1 (de) 2006-05-24
EP1100274B1 (en) 2006-04-12

Similar Documents

Publication Publication Date Title
KR100318058B1 (ko) 화상 복호화 방법
US7505631B2 (en) Image coding and decoding methods, image coding and decoding apparatuses, and recording media for image coding and decoding programs
KR0134489B1 (ko) 적응적 움직임 보상 영상 부호화 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20121119

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20131119

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20141117

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 16

EXPY Expiration of term