KR100845090B1 - 화상 부호화 장치, 화상 복호 장치 및 그것들의 제어 방법 - Google Patents

화상 부호화 장치, 화상 복호 장치 및 그것들의 제어 방법 Download PDF

Info

Publication number
KR100845090B1
KR100845090B1 KR1020070026342A KR20070026342A KR100845090B1 KR 100845090 B1 KR100845090 B1 KR 100845090B1 KR 1020070026342 A KR1020070026342 A KR 1020070026342A KR 20070026342 A KR20070026342 A KR 20070026342A KR 100845090 B1 KR100845090 B1 KR 100845090B1
Authority
KR
South Korea
Prior art keywords
encoding
parameter
symbol
decoding
pixel
Prior art date
Application number
KR1020070026342A
Other languages
English (en)
Other versions
KR20070094571A (ko
Inventor
히로시 가지와라
Original Assignee
캐논 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20070094571A publication Critical patent/KR20070094571A/ko
Application granted granted Critical
Publication of KR100845090B1 publication Critical patent/KR100845090B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/417Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (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)

Abstract

본 발명은 처리 부하 및 메모리 코스트가 적은 간이한 방법을 이용하여 부호화 파라미터를 결정할 수 있고, 또한 화상 데이터를 우수한 압축 성능으로 부호화하는 것을 가능하게 한다. 이를 위해서, 본 발명에 따른 부호화 장치의 예측 오차 생성부는 주목 화소와 예측값의 차분(예측 오차)을 산출한다. 예측 순위 변환부는 예측 오차를 음이 아닌 정수로 변환하고, 그것을 예측 순위 M(e)로서 출력한다. Golomb 부호화부는 k 파라미터 갱신부로부터 공급된 k 파라미터에 따라 부호화를 행한다. k 파라미터 갱신부는 주목 화소의 예측 순위 M(e)와 Golomb 부호화부에 공급된 k 파라미터에 기초하여, 다음의 부호화에 사용하는 k 파라미터를 갱신한다.
화상 처리 장치, 화상 부호화 장치, 화상 복호 장치, 부호화 파라미터, 복호 파라미터,

Description

화상 부호화 장치, 화상 복호 장치 및 그것들의 제어 방법{IMAGE ENCODING APPARATUS, IMAGE DECODING APPARATUS AND CONTROL METHOD THEREFOR}
도 1은 제1 실시예에 따른 화상 처리 장치의 블록 구성도.
도 2는 주위 화소들 간의 차분의 양자화를 위한 테이블을 나타내는 도면.
도 3은 부호화 대상 화소 x와 그 주위 화소 a, b, c의 상대 위치 관계를 나타내는 도면.
도 4는 제1 실시예에 따른 부호화 처리의 흐름을 설명하는 플로우차트.
도 5a는 Golomb 부호화 파라미터 k와 각 심볼의 부호 길이의 관계를 나타내는 테이블 도면.
도 5b는 Golomb 부호화 파라미터 k와 각 심볼의 부호 길이와 보정값의 관계를 나타내는 테이블 도면.
도 6은 제1 실시예에 따른 화상 처리 장치에 있어서의 k 파라미터 천이의 예를 도시하는 도면.
도 7은 k=1인 경우에 부호화 효율이 최대로 되는 확률 분포 f(n, 1)을 나타내는 도면.
도 8a 및 도 8b는 k 파라미터의 천이 확률을 나타내는 도면.
도 9는 본 화상 처리 장치로부터 출력되는 부호열의 구성을 나타내는 도면.
도 10은 제2 및 제3 실시예에 따른 화상 처리 장치의 블록 구성도.
도 11은 제2 실시예에 있어서의 k 파라미터 갱신부(1002)의 처리의 흐름을 설명하는 플로우차트.
도 12는 제3 실시예에 있어서의 인덱스값 i와 파라미터 k의 대응을 나타내는 도면.
도 13은 제3 실시예에 있어서의 k 파라미터 갱신부(1002)의 처리의 흐름을 설명하는 플로우차트.
도 14는 제1 내지 제3 실시예를 소프트웨어로 실현하는 경우의 정보 처리 장치의 블록 구성도.
도 15는 제1 실시예에 있어서의 복호를 행하는 화상 처리 장치의 블록 구성도.
도 16은 Golomb 부호화의 예를 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
101 : 화상 입력부
102 : 라인 버퍼
103 : 예측기
104 : 예측 오차 생성부
105 : 예측 순위 변환부
106 : Golomb 부호화부
107 : k 파라미터 갱신부
108 : 부호열 형성부
109 : 신호선
본 발명은 화상 부호화 장치, 화상 복호 장치 및 이들의 제어 방법에 관한 것이다.
화상 부호화에 이용하는 엔트로피 부호화의 형태로서, 정적인 확률 분포 모델을 이용하는 것과 동적인 모델을 이용하는 것이 있다. 정적 확률 분포 모델을 이용하는 것은 정보원의 성질을 조사 또는 상정하여 미리 확률 분포 모델을 준비하고, 그 모델에 알맞은 부호화를 행하는 것이다. 또한, 동적 확률 분포 모델을 이용하는 것은 부호화 과정 중에 정보원의 성질을 학습하고, 동적으로 확률 분포 모델을 변경하면서 동시에 부호화를 행하는 것이다.
여기서는, 다치 화상의 가역(lossless) 부호화에 대해서 2개의 예를 든다.
연속 계조 정지 화상의 국제 표준 부호화 방식으로서 ISO와 ITU-T로부터 권고되는 JPEG로 규정되는 가역 부호화 방식에서는, 주목 화소와 예측값의 차분을 미리 정한 허프만 테이블을 이용하여 부호화하는 정적 모델을 이용하고 있다.
한편, 연속 계조 정지 화상의 가역과 준가역(near-lossless) 압축의 국제 표준 방식으로서 ISO와 ITU-T로부터 권고되는 JPEG-LS의 Part 1은 동적 모델의 일례이다. JPEG-LS는 예측 오차 부호화에, 부호화 파라미터를 바꿈으로써 달라지는 확 률 분포에 대응가능한 Golomb 부호화 기술을 채용하고 있다. 주목 화소 주위의 4개의 화소로부터 결정되는 콘텍스트마다, 부호화된 심볼의 확률 분포 상황을 참고로 하여 "k"를 선택함으로써, 동적으로 확률 분포 모델을 변경한다.
이하, JPEG-LS에 있어서의 예측 오차 부호화의 전반적인 흐름과, Golomb 부호화 파라미터의 결정 방법에 대해서 설명한다. 이하의 설명에서는, 주목 화소의 주위 화소들이 모두 동일한 화소값을 가질 경우에 적용되는 런 모드나, 준가역 부호화를 위한 양자화 처리 등, 본 발명에 직접 관계되지 않는 사항에 대해서는 생략한다. 표준 방식의 상세에 대해서는 규격서를 참조해야 한다.
도 3은 JPEG-LS에서 참조되는 주목 화소 "x"와 그 주위 화소 a, b, c, d의 상대 위치 관계를 나타낸다. 래스터 스캔순으로 화소를 부호화하기 때문에, 주목 화소 "x"의 주위 화소 a, b, c, d는 모두 부호화되어 있다는 것을 주의해야 한다. 각 화소의 값도 a, b, c, d로 표현한다. 우선, 이하의 식에 의해 a와 c, c와 b, b와 d의 차분을 구하여, D1, D2, D3을 얻는다.
D1=d-b
D2=b-c
D3=c-a
이 차분값 D1, D2, D3을 9 가지(-4에서 4까지)로 양자화하여 각각의 차분의 양자화값 Q1, Q2, Q3을 구한다. 도 2에 차분값의 범위와 그 양자화값의 대응을 나타낸다. T1, T2, T3은 미리 정해진 음이 아닌 정수값이다.
예를 들면, 0 내지 255의 값을 취하는 8 비트 화상에 대해서는 값 T1=3, T2=7, T3=21이 설정된다. 이렇게 하여 얻어진 Q1, Q2, Q3의 조합(Q1, Q2, Q3)은 Q1, Q2, Q3이 각각―4에서 4까지 9개의 값을 가질 수 있으므로, 9×9×9=729이다.
여기서, 상태(Ql, Q2, Q3)에서 예측 오차 e가 발생하는 확률은 상태(-Ql, -Q2, -Q3)에서 예측 오차 -e가 발생하는 확률과 동일한 것으로 간주한다. 따라서, 이것들 2개의 상태를 통합하여 조합수를 365로 축소시킨다. 이 조합을 나타내는 정보가 상기 콘텍스트이다. 365개의 상태를 나타내는 식별자를 S라고 하고, 이하, 이 식별자 S를 상태 번호라고 부른다.
한편, 주위 화소 a, b, c를 이용하여 주목 화소의 값 x에 대한 예측값 p를 이하의 식에 의해 구한다.
p=min(a,b) (max(a,b)≤c인 경우) 또는
p=max(a,b) (min(a,b)≥c인 경우) 또는
p=a+b-c (상기 이외)
여기서, min(x,y)는 x, y 중 작은 쪽을 산출해내는 함수이고, max(x,y)는 x, y 중 큰 쪽을 산출해내는 함수이다.
예측값 p를 취하는 방법은 주위 화소 a, b, c의 값의 대소 관계에 따라 전환되지만, 화소 a, b, c가 이미 부호화되어 있기 때문에, 전환에 관한 부가 정보를 전송하지 않고, 부호화측과 복호측에서 동일한 예측값 p를 취할 수 있다는 것을 주의해야 한다. JPEG-LS에서는 예측 정밀도를 향상시키기 위해서, 이제까지 상태 S에서 부호화된 화소에서 발생한 예측 오차의 평균값을 참조하여 예측값 p를 수정하는 것을 수반하는 기술이 이용되고 있지만, 여기에서는 설명을 생략한다.
예측값 p와 주목 화소의 값 x의 차분 e를 구하고, 이것을 음이 아닌 정수값으로 변환하여 Golomb 부호화한다. 이 때, 주목 화소의 콘텍스트에 따라서 부호화 파라미터 k를 결정한다.
JPEG-LS에서는 각각의 상태 S마다 발생 횟수 N[S]와 그 상태에서 부호화된 예측 오차의 절대값 합 A[S]를 유지한다. Golomb 부호화 파라미터 k는 이것들 2개의 값을 이용한 이하의 조건을 충족시키는 것이다. 또한, "x^y"는 x의 y승을 나타낸다.
2^(k-1)<A[S]/N[S]≤2^k
실제로는, A[S]/N[S]의 제산을 행할 필요는 없다. N[S]×2^k≥A[S]가 되는 최소 k를 구하면 좋다. 이에 따라, 예측 오차의 절대값 평균이 큰 상태에서는 k 파라미터로서 큰 값이 선택되고, 반대로 절대값 평균이 작은 상태에서는 작은 k 파라미터가 선택된다.
부호화의 개시 시점에서는 A[S], N[S]를 초기값으로 설정해 놓고, 부호화 처리 중에 필요에 따라 이 값들을 갱신함으로써, 동적으로 각 상태의 확률 분포에 추종한다.
상기 JPEG-LS를 이용한 화상 처리 장치에서는 예측 오차를 부호화할 때마다 k 파라미터를 결정하기 위한 처리를 실행한다.
제산을 행하지 않도록 하는 등, 처리 부하를 경감시키는 연구가 이루어지고 있지만, 부정 횟수의 판정을 수반하는 처리를 행하는 것은 처리 부하의 관점에서 효율적이라고는 말할 수 없다.
또한, 예측 오차의 절대값 합을 유지하기 위해서는 많은 자릿수(비트수)가 필요하고, 경우에 따라서는 A[S]에 대한 메모리 용량이 문제가 될 수 있다.
예측 오차의 절대값 평균에 기초하여 부호화 파라미터 k를 결정하고 있다. 따라서, 예를 들면 상태 분리가 불충분해서 통계적 성질의 변화가 큰 정보원을 부호화하는 경우에, 큰 예측 오차가 발생하면 그 후에 부호화되는 다수의 예측 오차에 대해서 파라미터 k가 커지는 등의 문제가 남는다.
본 발명은 전술한 문제점을 감안하여 이루어진 것이다. 본 발명의 실시예에 따르면, 동적 확률 분포 모델을 이용하는 화상 부호화에서, 간이하게 부호화 파라미터를 결정하고, 우수한 부호화 성능을 실현하는 기술을 제공한다.
본 발명의 제1 형태에 따르면, 화상 부호화 장치가 제공된다. 즉, 화상 부호화 장치는, 부호화 대상의 심볼을 입력하는 입력 수단; 상기 심볼을 부호화 파라미터에 따라 부호화하여 부호화 데이터를 생성하는 부호화 수단; 상기 심볼이 상기 부호화 파라미터의 목표 범위의 상한을 초과하는지, 그리고 상기 심볼이 상기 목표 범위의 하한을 하회하는지를 판단하는 판단 수단; 및 상기 판단 결과에 따라서 상기 부호화 파라미터를 갱신하는 갱신 수단을 포함한다.
또한, 본 발명의 제2 형태에 따르면, 화상 부호화 장치의 제어 방법이 제공된다. 즉, 화상 부호화 장치의 제어 방법은, 부호화 대상의 심볼을 입력하는 입력 단계; 상기 심볼을 부호화 파라미터에 따라 부호화하여 부호화 데이터를 생성하는 부호화 단계; 상기 심볼이 상기 부호화 파라미터의 목표 범위의 상한을 초과하는지, 그리고 상기 심볼이 상기 목표 범위의 하한을 하회하는지를 판단하는 판단 단계; 및 상기 판단 결과에 따라서 상기 부호화 파라미터를 갱신하는 갱신 단계를 포함한다.
또한, 본 발명의 제3 형태에 따르면, 화상 복호 장치가 제공된다. 즉, 화상 복호 장치는, 부호화 데이터를 입력하는 입력 수단; 상기 부호화 데이터를 복호 파라미터에 따라 복호하여 심볼 데이터를 생성하는 복호 수단; 상기 심볼이 상기 복호 파라미터의 목표 범위의 상한을 초과하는지, 그리고 상기 심볼이 상기 목표 범위의 하한을 하회하는지를 판단하는 판단 수단; 및 상기 판단 결과에 따라서 상기 복호 파라미터를 갱신하는 갱신 수단을 포함한다.
또한, 본 발명의 제4 형태에 따르면, 화상 복호 장치의 제어 방법이 제공된다. 즉, 화상 복호 장치의 제어 방법은, 부호화 데이터를 입력하는 입력 단계; 상기 부호화 데이터를 복호 파라미터에 따라 복호하여 심볼 데이터를 생성하는 복호 단계; 상기 심볼이 상기 복호 파라미터의 목표 범위의 상한을 초과하는지, 그리고 상기 심볼이 상기 목표 범위의 하한을 하회하는지를 판단하는 판단 단계; 및 상기 판단 결과에 따라서 상기 복호 파라미터를 갱신하는 갱신 단계를 포함한다.
또한, 본 발명의 제5 형태에 따르면, 화상 부호화 장치가 제공된다. 즉, 동적 확률 분포 모델에 기초하여 화상 데이터를 부호화하는 화상 부호화 장치는, 화상 데이터를 화소 단위로 입력하는 입력 수단; 상기 입력 수단에 의해 입력된 주목 화소 데이터로부터 엔트로피 부호화 대상이 되는 심볼을 생성하는 심볼 생성 수단; 상기 심볼 생성 수단에 의해 생성된 심볼을 주어진 부호화 파라미터에 따라 부호화하여 부호화 데이터를 생성하는 부호화 수단; 상기 부호화 수단이 상기 심볼을 부호화할 때에 이용한 부호화 파라미터가 상기 심볼의 부호어를 목표 부호 길이 내로 하기 위한 부호화 파라미터의 가능한 범위 내에 있는지, 상기 범위의 상한을 초과하는지, 또는 상기 범위의 하한을 하회하는지를 판단하는 판단 수단; 및 상기 판단 수단의 판단 결과에 기초하여 상기 부호화 파라미터를 갱신하는 갱신 수단을 포함한다.
또한, 본 발명의 제6 형태에 따르면, 화상 부호화 장치의 제어 방법이 제공된다. 즉, 동적 확률 분포 모델에 기초하여 화상 데이터를 부호화하는 화상 부호화 장치의 제어 방법은, 화상 데이터를 화소 단위로 입력하는 입력 단계; 상기 입력 단계에서 입력된 주목 화소 데이터로부터 엔트로피 부호화 대상이 되는 심볼을 생성하는 심볼 생성 단계; 상기 심볼 생성 단계에서 생성된 심볼을 주어진 부호화 파라미터에 따라 부호화하여 부호화 데이터를 생성하는 부호화 단계; 상기 부호화 단계에서 상기 심볼을 부호화할 때에 이용한 부호화 파라미터가 상기 심볼의 부호어를 목표 부호 길이 내로 하기 위한 부호화 파라미터의 가능한 범위 내에 있는지, 상기 범위의 상한을 초과하는지, 또는 상기 범위의 하한을 하회하는지를 판단하는 판단 단계; 및 상기 판단 단계의 판단 결과에 기초하여 상기 부호화 파라미터를 갱신하는 갱신 단계를 포함한다.
또한, 본 발명의 제7 형태에 따르면, 화상 복호 장치가 제공된다. 즉, 동적 확률 분포 모델에 기초하여 부호화된 화상 데이터를 복호하는 화상 복호 장치는, 부호화 데이터를 화소 단위로 입력하는 입력 수단; 상기 입력 수단에 의해 입력된 부호화 데이터를 주어진 복호 파라미터에 따라 복호하여 주목 화소의 심볼을 생성하는 복호 수단; 상기 복호에 의해 얻어진 심볼로부터 상기 주목 화소의 화소 데이터를 복원하는 화상 데이터 복원 수단; 상기 복호 수단이 상기 심볼을 복호할 때에 이용한 복호 파라미터가 상기 심볼의 부호어를 목표 부호 길이 내로 하기 위한 부호화 파라미터의 가능한 범위 내에 있는지, 상기 범위의 상한을 초과하는지, 또는 상기 범위의 하한을 하회하는지를 판단하는 판단 수단; 및 상기 판단 수단의 판단 결과에 기초하여 상기 복호 파라미터를 갱신하는 갱신 수단을 포함한다.
또한, 본 발명의 제8 형태에 따르면, 화상 복호 장치의 제어 방법이 제공된다. 즉, 동적 확률 분포 모델에 기초하여 부호화된 화상 데이터를 복호하는 화상 복호 장치의 제어 방법은, 부호화 데이터를 화소 단위로 입력하는 입력 단계; 상기 입력 단계에서 입력된 부호화 데이터를 주어진 복호 파라미터에 따라 복호하여 주목 화소의 심볼을 생성하는 복호 단계; 상기 복호에 의해 얻어진 심볼로부터 상기 주목 화소의 화소 데이터를 복원하는 복원 단계; 상기 복호 단계에서 상기 심볼을 복호할 때에 이용한 복호 파라미터가 상기 심볼의 부호어를 목표 부호 길이 내로 하기 위한 부호화 파라미터의 가능한 범위 내에 있는지, 상기 범위의 상한을 초과하는지, 또는 상기 범위의 하한을 하회하는지를 판단하는 판단 단계; 및 상기 판단 단계의 판단 결과에 기초하여 상기 복호 파라미터를 갱신하는 갱신 단계를 포함한다.
본 발명에 따르면, 처리 부하 또는 메모리 코스트가 적은 간이한 방법을 이 용하여 부호화 파라미터를 결정할 수 있고, 또한 화상 데이터를 우수한 압축 성능으로 부호화하는 것이 가능하게 된다.
본 발명의 또 다른 특징은 첨부한 도면과 후술하는 예시적인 실시예에 대한 설명을 참조하면 명확히 알게 될 것이다.
이하, 첨부한 도면을 참조하면서 바람직한 실시예에 따라서 본 발명을 상세히 설명한다.
<제1 실시예>
도 1은 제1 실시예에 따른 화상 처리 장치의 블록 구성도이다.
도 1에 도시한 바와 같이, 제1 실시예에 따른 화상 부호화를 행하는 화상 처리 장치는 화상 입력부(101), 라인 버퍼(102), 예측기(103), 예측 오차 생성부(104), 예측 순위 변환부(105), Golomb 부호화부(106), k 파라미터 갱신부(107), 및 부호열 형성부(108)를 포함한다. 도 1에서 참조 번호 109는 신호선을 나타낸다.
이하, 도 1을 참조하여 본 실시예에 따른 화상 처리 장치가 행하는 화상 부호화에 대해서 설명한다. 여기에서는, 부호화 대상 화상은 각 화소가 8 비트(0-255의 범위)의 휘도값 또는 농도값을 표현한 화상 데이터로 구성되는 모노크롬 화상 데이터인 것으로 한다. 그러나, 본 방식은 RGB나 CMYK 등, 1 화소가 복수의 컴포넌트(색)로 표현되는 컬러 화상이나, 각 컴포넌트가 8 비트 이상의 비트 정밀도로 표현되는 화상 데이터에 대하여도 마찬가지로 적용가능하다. 예를 들면, 본 방식을 컬러 화상에 적용하는 경우에는, 컬러 화상을 컴포넌트마다 분리하여 모노크 롬 화상과 같이 부호화한다. 또한, 부호화 대상 화상은 수평 방향으로 W 화소, 수직 방향으로 G 화소로 구성되는 것으로 한다.
다음으로, 본 실시예의 화상 처리 장치에서의 각 부의 동작에 대해서 설명한다.
화상 입력부(101)는 부호화 대상 화상 데이터의 화소 데이터 x를 입력한다. 화소 데이터는 래스터 스캔순으로 입력된다. 입력원은 이미지 스캐너로 하지만, 그 입력원의 종류를 한정하는 것은 아니며, 화상 데이터 파일을 기억하는 기억 매체일 수도 있다.
라인 버퍼(102)는 2 라인의 화상 데이터를 저장하는 용량을 갖고, 화상 입력부(101)로부터 입력되는 화상 데이터를 순차적으로 저장한다. 즉, 라인 버퍼(102)에 필요한 용량은 2×W 바이트이다. 라인 버퍼(102)에 유지되는 2 라인분의 화상 데이터는 부호화 개시 시점에서 소정의 값으로 초기화된다. 화소의 초기값은 부호화 장치와 복호 장치가 공통으로 설정할 수 있는 값이어야 한다. 여기에서는, 설명의 간략화를 위해서, 부호화를 시작할 때에, 라인 버퍼(102)를 "0"으로 초기화하는 것으로 한다.
예측기(103)는 화상 입력부(101)로부터 입력되는 화소(이후, "주목 화소"라 함)에 대해서 부호화된 주위 화소 a, b, c를 참조하여 예측값 p를 생성한다. 주목 화소 x와 주위 화소 a, b, c의 위치 관계는 도 3에 도시한 바와 같다. 부호화된 주위 화소 a, b, c는 라인 버퍼(102)로부터 공급된다. 주목 화소 x가 라인의 선두 또는 후미에 있을 경우, 주위 화소 a, b, c 중 적어도 하나가 부호화 대상 화상의 범위 외에 있게 된다는 것을 주의해야 한다. 이러한 경우에는 부호화 장치와 복호 장치에서 공통인 값을 이용하는데, 여기에서는 화상의 범위 외의 값이 0인 것으로 한다. 본 실시예에서는 예측값 p를 이하의 식을 이용하여 구한다.
p=min(a,b) (max(a,b)≤c인 경우) 또는
p=max(a,b) (min(a,b)≥c인 경우) 또는
p=a+b-c (상기 이외)
예측값 생성에는 상기 방법 이외에도 다양한 방법을 이용하는 것이 가능하다. JPEG 표준 방식의 가역 부호화에서 사용가능한 7개의 예측식과 같이, 다른 예측식을 이용할 수도 있다. JPEG-LS 표준 방식과 같이, 부호화된 화소에서 평균적으로 발생한 예측 오차값을 이용하여 상기 예측값 p를 보정함으로써 예측의 정밀도를 향상시키는 것을 수반하는 방법을 이용할 수도 있다.
예측 오차 생성부(104)는 예측기(103)에 의해 생성된 예측값 p와 화상 입력부(101)로부터 입력되는 주목 화소의 값 x의 차분 "x-p"을 연산하고, 그 결과를 예측 오차 e로서 출력한다.
예측 순위 변환부(105)는 예측 오차 생성부(104)에서 구한 예측 오차 e를 이하의 식을 이용하여 음이 아닌 정수값 M(e)에 맵핑한다. 이하, M(e)를 예측 순위라고 부른다.
M(e)=2×e(e≥0인 경우)
M(e)=-2×e-1(e<0인 경우)
상기의 결과, M(e)는 음이 아닌 정수가 되고, M(e)가 짝수인지 홀수인지에 따라 예측 오차 e의 양/음 부호를 식별할 수 있다.
Golomb 부호화부(106)는 k 파라미터 갱신부(107)에 유지되는 k 파라미터를 이용하여 예측 순위 변환부(105)로부터 출력되는 예측 순위 M(e)를 Golomb 부호화하고, 2치 심볼열을 출력한다.
Golomb 부호화는 음이 아닌 정수값을 부호화 대상으로 해서, 파라미터 변수 m에 따라 달라지는 복수의 확률 모델을 이용한 부호화가 가능하다는 특징을 갖는다. 또한, Golomb 부호화는 부호화 대상 심볼과 파라미터 변수 m으로부터 부호어(codeword)를 도출할 수 있기 때문에, 부호표(code table)가 불필요하다는 이점도 있다. 이하의 설명에서는 파라미터 변수 m이 2^k가 되는 Golomb 부호화의 특수형에 한정하고, k를 파라미터 변수로서 설명한다. 이러한 Golomb 부호화의 일 형태가 ISO와 ITU-T에 의해 국제 표준으로서 권고되는 JPEG-LS(ISO/IEC 14495-1|ITU-T Recommendation T.87)에서 예측 오차 부호화 방식으로서 채용되어 있다.
부호화 대상의 음이 아닌 정수값 n을 부호화 파라미터 k로 Golomb 부호화하는 수순은 다음과 같다. 우선, n을 k 비트 우 시프트하여 정수값 u를 구한다. 평이한 말로, 정수값 u는 n을 2^k으로 제산한 몫을 의미한다.
심볼 n에 대한 부호는 u개의 "O"에 이어지는 "1"(가변 길이부)과, n의 하위 k 비트(고정 길이부)의 조합에 의해 구성된다. 도 16에 k=0,1,2,3에 있어서의 Golomb 부호화의 예를 도시한다.
예를 들면, k=2(따라서 m=4)에서 심볼 n=5인 경우, u=floor(5/4)=1이 되므로, 가변 길이부는 2진 "01"이 된다. 또한, 심볼 n의 하위 2비트는 "01"이 되므 로, k=2인 경우의 심볼 "5"의 Golomb 부호어는 "0101"이 되고, 부호 길이는 4 비트가 된다.
여기에서 설명한 부호의 구성 방법은 일례이며, 고정 길이부와 가변 길이부의 순서를 반대로 해도 유일하게 복호가능한 부호를 구성할 수 있다. 또한, O과 1을 반대로 해서 부호를 구성할 수 있다.
k 파라미터 갱신부(107)는 Golomb 부호화부(106)에 의해 예측 순위 변환부(105)로부터 출력되는 예측 순위 M(e)가 부호화된 후에, 내부에 유지하는 k 파라미터를 갱신한다. 갱신은 부호화한 예측 순위 M(e)의 값을 현재의 k 파라미터에서 최소 부호 길이를 얻을 수 있는 범위(이후, 최적 심볼 범위라고 함)를 비교하고, 필요에 따라 k의 값에 대하여 1을 가산 또는 감산한다.
도 5a는 Golomb 부호화의 각 심볼의 값(종축)과 k 파라미터(횡축)와 2차원 공간에 있어서의 부호 길이를 나타내는 테이블이다. 이 테이블에서는 0∼28까지의 심볼(예측 순위 M(e)에 대응)을 k=0∼5의 각각의 부호화 파라미터로 부호화했을 경우에 발생하는 부호 길이(비트수)를 나타내고 있다.
테이블은 3개의 영역으로 나누어진다. 첫번째 영역은 개개의 심볼에 주목하고, 각각의 심볼에 대한 부호어의 최소(최단) 부호 길이를 포함하는 영역(50)이다. 나머지 2개의 영역은 영역(50)에 의해 분단되는 영역(51, 52)이다. 영역(51)은 영역(50)을 규정하는 각각의 부호화 파라미터 k의 값보다도 큰 부호화 파라미터 k와, 최소 부호 길이가 아닌 부호 길이에 의해 정의되는 영역이라고 바꿔 말할 수 있다. 또한, 영역(52)은 영역(50)을 규정하는 각각의 부호화 파라미터 k의 값보다도 작은 부호화 파라미터 k와, 최소 부호 길이가 아닌 부호 길이에 의해 정의되는 영역이라고 바꿔 말할 수 있다.
심볼 "8"을 일례로 들면, 부호화 파라미터 k=2 내지 4의 범위에서 최소 부호 길이는 "5"이다. 따라서, 심볼 "8"의 경우, 부호화 파라미터 k=2 내지 4의 범위에서의 부호 길이가 "5"인 위치는 영역(50) 내에 있다.
또한, 심볼 "8"을 일례로 들면, 부호화 파라미터 k=5에서 부호 길이는 "6"이고, 최소 부호 길이 "5"보다 크다. 따라서, 심볼 "8"의 경우, 부호화 파라미터 k=5에서의 부호 길이가 "6"인 위치는 영역(51) 내에 있다.
마찬가지로, 심볼 "8"을 일례로 들면, 부호화 파라미터 k=0 또는 l에서 부호 길이는 "9" 또는 "6"이고, 물론 최소 부호 길이 "5"보다 크다. 따라서, 심볼 "8"의 경우, 부호화 파라미터 k=0 또는 1에서의 부호 길이가 "9" 또는 "6"인 위치는 영역(52) 내에 있다.
본 실시예에 있어서의 k 파라미터 갱신부(107)는 부호화 대상의 예측 순위 M(e)가 영역(51) 내에 있었을 경우, 다음 화소의 부호화 시에는 보다 작은 k 파라미터가 적절하다고 판단하고, k의 값을 보다 작은 값으로 보정한다. 구체적으로는, 다음 화소의 부호화에 대비하여 파라미터 k로부터 1을 감산한다.
또한, 부호화된 예측 순위 M(e)가 영역(52) 내에 있었을 경우, 보다 큰 파라미터 k가 적절하다고 판단하고, k의 값을 보다 큰 값으로 보정한다. 구체적으로는, k에 1을 가산하여 갱신한다.
그리고, 부호화된 예측 순위 M(e)가 영역(50) 내에 있었을 경우, 현재의 k 파라미터가 적절하다고 판단하고, k의 값을 보정하지 않고 유지한다.
도 5a에 도시한 영역들(51, 52)의 경계는 파라미터 k로부터 도출할 수 있다. 부호화 대상 심볼의 값을 n으로 나타낼 경우, 영역(51)은 "n<2^(k-1)"의 관계를 충족시키는 범위이고, 영역(52)는 "3×2^k≤n"을 충족시키는 범위이다. 바꾸어 말하면, 도 5a의 테이블 전체를 기억할 필요는 없고, 영역(50)을 정의하는 정보만을 기억하면 된다. 영역(50)의 경우, 각각의 심볼마다, 심볼의 값과, 심볼을 부호화했을 때의 최소 부호 길이가 되는 파라미터 k의 상한값 및 하한값을 기억하면 된다.
이 판정 처리를 불필요하게 하기 위해서, k 파라미터 갱신부(107)가 도 5b에 도시한 바와 같은 테이블을 미리 기억해 두어도 된다. 도 5b의 테이블은 다음의 부호화에 대비하여 도 5a의 테이블에 "보정값" (-1, 0, 1)의 항목을 추가한 것이다. 영역(50) 내에서의 보정값은 "0", 영역(51) 내에서의 보정값은 "-1", 그리고 영역(52) 내에서의 보정값은 "+1"이다. 따라서, 보정값 H(=-1, 0, +1)는 H(n,k)로 표현 가능하므로, 이 값 H(n,k)를 현재의 k 파라미터에 산입함으로써 k 파라미터를 갱신할 수도 있다.
부호열 형성부(108)는 Golomb 부호화부(106)로부터 출력되는 부호열(2치 심볼열)을 결합시키고, 필요한 부가 정보를 가해서 화상 처리 장치의 출력이 되는 부호화 데이터를 형성하여, 그 부호화 데이터를 신호선(109)을 통해 출력한다. 출력처가 기억 장치이면, 부호화 데이터를 파일로 저장한다.
도 9는 화상 처리 장치로부터 출력되는 부호열의 구성을 나타내는 도면이다. 출력 부호열의 선두에는 화상의 복호에 필요한 정보, 예를 들면, 화상의 수평 방향 화소수, 수직 방향 화소수 및 색 공간을 나타내는 속성 정보와, 컴포넌트수, 각 컴포넌트의 비트수와 같은 부가 정보가 헤더로서 첨부된다.
도 4는 본 실시예에 따른 화상 처리 장치에 의한 화상 데이터의 부호화 처리의 흐름을 설명하는 플로우차트이다. 이하, 도 4에 나타낸 플로우차트를 참조하여, 본 실시예에 따른 화상 처리 장치가 행하는 화상 부호화의 전체적인 흐름에 관해서 설명한다.
우선, 부호화 전에, 라인 버퍼(102)에 저장되는 화상 데이터와, k 파라미터 갱신부(107)에 유지되는 부호화 파라미터 k를 초기화한다. 본 실시예에서는, 라인 버퍼(102)의 화상 데이터를 모두 0으로 초기화하고, k 파라미터 갱신부(107)가 유지하는 k 파라미터를 "2"로 설정한다(단계 S400). 이어서, 화상 입력부(101)는 래스터 스캔순으로 화상 데이터의 입력을 시작하고, 입력한 화상 데이터를 라인 버퍼(102)에 저장함과 함께 예측 오차 생성부(104)에 공급한다(단계 S401).
다음으로, 라인 버퍼(102)로부터 주목 화소의 주위 화소 a, b, c를 판독하고, 예측기(103)에서 예측값 p를 생성한다(단계 S402). 예측 오차 생성부(104)는 주목 화소 x와 예측기(103)에서 생성한 예측값 p의 차분을 구하고, 그 구한 차분을 예측 오차 e로서 출력한다(단계 S403). 예측 순위 변환부(105)는 이 예측 오차 e를 예측 순위 M(e)로 변환한다(단계 S404). Golomb 부호화부(106)는 k 파라미터 갱신부(107)에 유지되는 k 파라미터를 이용하여 예측 순위 M(e)를 Golomb 부호화한다(단계 S405).
이어서, k 파라미터 갱신부(107)는 부호화된 예측 순위 M(e)를 갱신 전의 k 파라미터의 최적 범위와 비교하고, 필요에 따라 내부에 저장된 현재의 k 파라미터를 갱신한다(단계 S406). 즉, k 파라미터 갱신부(107)는 예측 순위 M(e)와 Golomb 부호화부(106)에서 사용한 k 파라미터가 나타내는 위치가 도 5a 또는 도 5b의 영역(50) 내지 영역(52)의 어느 영역 내에 있는지를 판단하고, 그 위치가 어느 영역 내에 있는지에 대한 판단에 기초하여 다음 화소의 부호화 시에 이용할 k 파라미터를 갱신(보정)한다.
다음으로, 부호화된 화소가 화상의 최후 화소인지를 판단한다(단계 S407). 최후 화소인 경우에는, 부호화를 종료하고, 그렇지 않은 경우에는, 단계 S401로 이동하여, 다음 화소를 부호화한다.
이상의 처리의 결과로서 화상 전체를 부호화한다. 부호화는 반드시 이 순서로 행할 필요는 없다. 예를 들면, 여기에서는 화상 데이터의 판독(단계 S401)과 예측값의 생성(단계 S402)을 수반하는 순서로 설명하였지만, 순서를 반대로 해도 된다. 또한, 갱신 전의 k 파라미터를 정확하게 전달할 수 있다면, Golomb 부호화(단계 S405)와 k 파라미터의 갱신(단계 S406)의 순서를 바꾸거나, 병렬로 행할 수도 있다.
여기서, 예측 순위 변환부(105)로부터 순서대로 출력되는 예측 순위의 열 "0, 0, 2, 0, 0, 1, 0, 3, 0 ···"를 부호화하는 경우를 예로 들어, 부호화에 사용하는 k 파라미터의 값, 갱신의 상세 및 갱신 후의 k 값의 추이를 도 6에 나타낸다.
이하, k 파라미터의 변화를 순서대로 설명한다. 부호화의 개시 시에 k 파라 미터의 초기값을 "2"로 설정하고, 최초의 심볼 "0"을 k=2를 이용하여 Go1omb 부호화한다. k=2에 대하여 심볼 "0"은 도 5a의 영역(51)에 해당한다. 따라서, k에서 1을 감산하여, k=1로 갱신한다.
두번째의 심볼 "0"을 갱신된 k(여기서, k=1)로 부호화한다. 이 경우, 심볼 "0"은 마찬가지로 도 5a의 영역(51)에 해당하므로, k에서 1을 감산하여, k=0으로 갱신한다.
다음으로, 심볼 "2"를 k=0으로 부호화한다. 심볼 "2"는 k=0의 최적 심볼 범위 내에 있기 때문에, k의 값은 변화시키지 않는다. 이후, 마찬가지로 심볼열 "0, 0, 1, 0"을 부호화하는데, 동일한 이유로 k의 값에 변화는 발생하지 않는다.
계속해서, 심볼 "3"을 k=0으로 부호화하는데, 이 심볼은 영역(52)에 해당하므로, 1을 가산하여, k=1로 갱신한다. 다음 심볼 "0"을 k=1으로 부호화하는데, 이 심볼은 영역(51)에 해당하므로, 1을 감산하여, k=0으로 갱신한다. 이와 같이, 심볼을 부호화하고 파라미터 k를 갱신한다. 이 예로부터도, 부호화 대상 심볼의 국소적인 성질에 따라 k 파라미터가 변화된다는 것을 알 수 있다.
본 실시예의 화상 처리 장치에 의해 생성된 부호화 데이터를 복호하기 위해서, 헤더에 나타나는 부가 정보를 참조하고, 부호화의 역 수순으로 각각의 화소를 복호할 수 있다. 이 때에, 각 심볼의 복호에 있어서, Golomb 부호화의 파라미터 k는 부호화측과 복호측에서 동일한 값을 이용한다. 즉, 복호측에도 부호화측과 동일한 초기값을 제공하여 복호를 시작하고, 복호된 심볼이 현재의 k 파라미터에 대하여 최적 심볼 범위에 있는지를 판정한 후, k의 값을 부호화와 동일한 알고리즘으 로 필요에 따라 갱신할 수 있다.
도 15은 복호측의 화상 처리 장치의 기능 구성을 나타내는 블록도이다. 전술한 도 1과 공통인 블록에 대해서는 동일한 번호를 붙이고, 그에 대한 설명을 생략한다. 도 15에 도시한 바와 같이, 복호측의 화상 처리 장치는 부호화 데이터 입력부(1501), Golomb 부호 복호부(1502), 예측 순위 역변환부(1503), 화소값 복원부(1504), 헤더 해석부(1505), 라인 버퍼(102), 예측기(103), 및 k 파라미터 갱신부(107)를 구비한다.
이하, 복호를 행하는 화상 처리 장치의 각 처리부의 동작에 대해서 설명한다.
부호화 데이터 입력부(1501)는 복호 대상이 되는 부호화 데이터를 입력한다. 이 때, 부호화 데이터 입력부(1501)는 부호화 데이터의 구조를 해석하고, 헤더부는 헤더 해석부(1505)에, 부호화 화소 데이터는 Golomb 부호 복호부(1502)에 전달한다.
헤더 해석부(1505)는 부호화 데이터 입력부(1501)로부터 보내지는 헤더를 해석하고, 부호화된 화상 데이터의 수평 및 수직 방향의 화소수 등 복호에 필요한 정보를 추출하여, 화상 처리 장치의 제어에 반영시킨다.
Golomb 부호 복호부(1502)는 k 파라미터 갱신부(107)에 유지되는 k 파라미터를 취득하고, 이 정보를 이용하여 예측 순위 M(e)까지 복원한다.
k 파라미터 갱신부(l07)는 전술한 부호화 시의 갱신과 동일한 방법을 이용하여, 필요에 따라 복원된 예측 순위 M(e)에 기초하여 k 파라미터를 갱신한다.
예측 순위 역변환부(1503)는 Golomb 부호 복호부(1502)에서 복원된 예측 순위 M(e)에 기초하여, 이하의 식에 의해 예측 오차 e를 복원한다.
e=M(e)/2 (M(e)가 짝수인 경우)
e=-(M(e)+1)/2 (M(e)가 홀수인 경우)
화소값 복원부(1504)는 예측 순위 역변환부(1503)에서 복원된 예측 오차 e와 예측기(103)에서 생성되는 예측값 p에 기초하여, e+p에 의해 주목 화소의 값 x를 복호해서 출력한다. 복호된 화소값 x는 라인 버퍼(102)에 저장되고, 이후의 화소의 예측값을 생성할 때에 이용된다.
화상을 구성하는 모든 화소가 복호될 때까지, Golomb 부호 복호부(1502)로부터 화소값 복원부(1504)까지의 처리를 반복하여 행함으로써, 부호화 데이터로부터 화상 데이터를 복호한다.
이상 설명한 바와 같이, 본 실시예에 따른 화상 처리 장치는, 부호화된 심볼 또는 복호된 심볼이 현재의 k 파라미터에 있어서의 최적 심볼 범위에 있는지를 판정하고, 최적 심볼 범위 내에 없을 경우에 1을 가산 또는 감산하여 k의 값을 갱신함으로써, 적절한 k 파라미터를 얻을 수 있도록 제어를 행한다. 이에 따라, 국소적으로 통계적 성질이 상이한 화상 데이터일지라도, 화상 데이터 성질의 변화에 추종한 효율적인 부호화를 행할 수 있다.
<제1 실시예의 변형예>
상기 실시예는 퍼스널 컴퓨터 등의 범용 정보 처리 장치와, 그 정보 처리 장치 상에서 실행되는 컴퓨터 프로그램으로 실현할 수도 있다.
도 14는 본 변형예에 따른 정보 처리 장치의 기본 구성을 나타내는 도면이다. 도 14에서, 참조 번호 1401은 RAM(1402) 또는 ROM(1403)에 기억되어 있는 데이터와 프로그램을 이용하여 장치 전체의 제어를 행함과 함께, 화상 부호화(후술함)를 실행하는 CPU를 나타낸다.
참조 번호 1402는 외부 기억 장치(1407), 기억 매체 드라이브(1408) 또는 I/F(1409)을 통해 외부 장치로부터 다운로드된 프로그램과 데이터를 기억하기 위한 영역과, CPU(1401)가 각종 처리를 실행할 때에 사용하는 작업 영역을 포함하는 RAM을 나타낸다.
참조 번호 1403은 부트 프로그램, 정보 처리 장치를 설정하기 위한 초기화 프로그램 및 데이터를 기억하는 ROM을 나타낸다.
참조 번호 l404, 1405는 각각 CPU(1401)에 대하여 각종 지시를 입력할 수 있는 키보드, 마우스 등의 포인팅 디바이스를 나타낸다.
참조 번호 1406은 CRT, LCD 등으로 구성되고, 화상, 문자 등의 정보를 표시 할 수 있는 표시 장치를 나타낸다.
참조 번호 1407은 하드 디스크 드라이브 장치 등의 대용량 정보 기억 장치로서, 오퍼레이팅 시스템(0S), 화상 부호화 및 복호 처리를 위한 어플리케이션 프로그램(후술함), 부호화 대상의 화상 데이터 등을 저장하는 외부 기억 장치를 나타낸다. 0S와 어플리케이션은 CPU(1401)에 의한 제어 하에 RAM(1402) 상의 소정의 영역에 로드됨으로써 실행된다.
참조 번호 1408은 CD-ROM이나 DVD-ROM 등의 기억 매체에 기록된 프로그램이 나 데이터를 판독하여, RAM(1402)이나 외부 기억 장치(l407)에 출력하는 기억 매체 드라이브를 나타낸다. 이 기억 매체에는 (후술하는) 화상 부호화를 행하기 위한 프로그램이나 부호화 대상 화상을 기록할 수도 있는데, 이 경우, 기억 매체 드라이브(1408)는 CPU(1401)에 의한 제어 하에 그 프로그램이나 데이터를 RAM(1402)상의 소정의 영역에 로드한다.
참조 번호 1409는 외부 장치를 정보 처리 장치에 접속하여, 정보 처리 장치와 외부 장치 사이에서 데이터 통신을 가능하게 하는 인터페이스(I/F)를 나타낸다. 예컨대, 부호화 대상이 되는 화상 데이터를 I/F(1409)를 통해 정보 처리 장치의 RAM(1402)이나 외부 기억 장치(1407)에 입력하거나, 반대로, 정보 처리 장치의 RAM(1402)이나 외부 기억 장치(1407)에 의해 생성된 부호화된 화상 데이터를 I/F(I1409)를 통해 정보 처리 장치의 외부에 출력할 수 있다. 참조 번호 1410은 전술한 각 부를 연결하는 버스를 나타낸다.
화상 부호화 시에, 외부 기억 장치(1407)로부터 대응하는 프로그램을 RAM(1402)에 로드하고, CPU(1401)가 그 처리를 실행한다. 이 부호화 프로그램은 기본적으로 도 4의 플로우차트에 따라 처리를 행할 수 있다. 또한, 이 프로그램은 도 1에 도시한 각 구성에 상당하는 모듈(함수, 서브솔루션이라고도 함)로 구성하는 것도 가능하다. 단, 라인 버퍼(102)는 RAM(l402)에 그 용량의 데이터 영역을 확보해야 한다.
또한, 복호에 관한 프로그램도 도 15에 도시한 모듈로 구성가능하다는 것은 분명할 것이다.
<제2 실시예>
다음으로, 제2 실시예를 이하에 설명한다. 제1 실시예의 화상 처리 장치에서는 부호화 대상 심볼이 최적 심볼 범위 외에 있을 때에 부호화 파라미터 k를 증감시켜 보정한다.
이 경우, 정보원의 통계적 성질의 변화에 신속히 대응할 수 있다는 이점이 있는 반면, 변화가 적은 정보원에 있어서는 안정성이 문제가 된다.
예를 들면, 각각의 k 파라미터에서 부호화 효율이 최대로 되는 확률 분포 f(n,k)=(1/2)^L(n,k)를 생각한다. L(n,k)는 부호화 대상 심볼 n을 부호화 파라미터 k로 Golomb 부호화했을 경우의 부호 길이이며, L(n,k)=k+1+floor(n/(2^k))로 주어진다. x^y는 x의 y승, floor(x)는 x를 초과하지 않는 최대 정수를 산출해내는 함수를 나타낸다.
도 7에 k=1인 경우의 확률 분포 f(n,1)을 도시한다.
확률 분포 f(n,k)에 관하여 도 5a에 도시한 영역(52)에 속하는 어느 하나의 심볼이 출현할 확률, 즉 소정의 k 값에 있어서 영역(52)에 속하는 심볼들의 출현 확률의 합을 조사하면, 어느 k 값에 있어서도 확률이 12.5%인 것으로 드러난다.
마찬가지로 영역(51)에 대해서 보면, k=0인 경우를 제외하고는, 영역(51)의 심볼들의 출현 확률은 25%이다. 즉, 그 이상적인 확률 분포 f(n,k)를 갖는 정보원을 소정의 k 파라미터(k≠0)로 부호화하는 경우에도, 37.5%(12.5%+25%)의 확률에서 k 파라미터가 변화되는 것을 의미한다.
도 8a 및 도 8b는 각각 k=0인 경우와, k>0인 경우에, 확률 분포 f(n,k)를 갖 는 정보원의 심볼을 부호한 후에 발생하는 k 파라미터의 천이를 나타내고 있다.
여기서는 본 발명의 제2 실시예로서, k 파라미터의 변동을 제어하여 안정성을 향상시키는 방법에 대해서 설명한다.
도 10은 제2 실시예에 따른 화상 처리 장치의 기능 구성을 나타내는 블록도이다. 제1 실시예에서 설명한 도 1과 공통인 블록에 대해서는 동일한 번호를 붙이고, 이들 블록에 대한 설명은 생략한다.
제2 실시예에 따른 화상 처리 장치는 화상 입력부(101), 라인 버퍼(102), 예측기(103), 예측 오차 생성부(104), 예측 순위 변환부(105), Golomb 부호화부(106), 콘텍스트 생성부(1001), k 파라미터 갱신부(1002), 및 부호열 형성부(108)를 포함한다. 도 10에서 참조 번호 109는 신호선을 나타낸다.
제2 실시예에 따른 화상 처리 장치의 기본 구성에 대해서는, 각각의 기능을 전용 하드웨어를 이용하여 구성해도 된다. 또한, 전술한 제1 실시예의 변형예와 마찬가지로, 본 실시예를 도 14에 나타낸 바와 같이 구성하고, 도 10에 도시한 각 부의 기능을 컴퓨터에 실현시키는 컴퓨터 프로그램에 의해 실현할 수도 있다. 후자의 경우, 그 프로그램은 외부 기억 장치(1407), 기억 매체 드라이브(1408), 또는 I/F(l409)를 통해 외부 장치로부터 RAM(1402)에 로드되어, CPU(1401)에 의해 실행된다.
이하, 도 10을 이용하여 제2 실시예에 따른 화상 처리 장치가 행하는 동작에 대해서 설명한다.
제2 실시예에 따른 화상 처리 장치가 부호화하는 화상 데이터는 제1 실시예 와 마찬가지로, 8 비트 화소로 0∼255의 범위의 휘도값을 표현하는 모노크롬 화상 데이터로서 설명한다. 단, 본 실시예는 RGB나 CMYK 컬러 화상 등, 복수의 컴포넌트로 구성되는 화상 데이터에도 적용가능하다. 또한, 부호화 대상의 화상 데이터는 래스터 스캔순으로 화소값을 배열하여 구성하는 것으로 한다. 화상은 수평 방향으로 W 화소, 수직 방향으로 H 화소에 의해 구성되는 것으로 한다.
제2 실시예에 따른 화상 처리 장치에 있어서도, 제1 실시예의 화상 처리 장치와 마찬가지로, 화상 입력부(101)는 부호화 대상의 화상 데이터 x를 입력하고, 그 화상 데이터 x를 라인 버퍼(102)에 저장한다. 전술한 예측기(103), 예측 오차 생성부(104) 및 예측 순위 변환부(105)에 의해, 엔트로피 부호화 대상이 되는 음이 아닌 정수값 M(e)가 생성된다.
한편, 콘텍스트 생성부(1OO1)에서는, 라인 버퍼(102)로부터 주목 화소 x의 주위 화소 a, b, c, d를 판독하고, 주목 화소 주위의 상태를 나타내는 콘텍스트를 생성한다. 본 실시예에서는, JPEG-LS와 유사한 방법을 이용하여, 상태 번호 S가 0∼728인 729개의 상태로 분리되는 것으로 한다.
종래 기술의 설명 부분에서 설명한 바와 같이, 주위 화소 a와 b, b와 c, c와 d의 차분을 각각 도 2의 테이블에 따라 양자화하여 Q1, Q2, Q3를 얻는다. 이 조합을 고유하게 표현하는 상태 번호 S를 생성한다. 제2 실시예에서는, 이하의 식에 의해 상태 번호 S를 결정한다.
S=81×Q1+9×Q2+Q3+364
JPEG-LS와 마찬가지로, 상태 (Ql,Q2,Q3)과 상태(-Q1,-Q2,-Q3)을 통합하여 상 태수를 365로 축소시킬 수도 있으며, a, b, c, d 이외의 주위 화소를 참조하여 콘텍스트를 생성할 수도 있다.
k 파라미터 갱신부(1002)에는 각 상태 S에 대한 k 파라미터를 저장하는 배열 K[S]와, (후술하는) 갱신 처리에서 참조하는 플래그 배열 F[S]가 유지된다. 부호화 개시 시에, 배열 K[S](S=0,1,2,…)는 초기값(본 실시예에서는 2)으로 설정되고, 플래그 배열 F[S](S=0,1,2,…)는 "O"으로 초기화된다.
도 11은 주목 화소 x를 부호화할 때의 k 파라미터 갱신부(l002)의 처리의 흐름을 설명하는 플로우차트이다. 도 11을 이용하여 각 화소에서 행해지는 k 파라미터 갱신부(1002)의 처리의 흐름을 설명한다.
우선, k 파라미터 갱신부(1002)는 콘텍스트 생성부(1001)로부터 출력되는 상태 번호 S와 예측 순위 변환부(105)로부터 출력되는 예측 순위 M(e)를 취득한다(단계 S1101). 다음으로, k 파라미터 갱신부(1002)는 배열 요소 K[S]를 이용하여 입력된 상태 번호 S에 대응하는 k 파라미터를 취득하고, 취득한 k 파라미터를 Golomb 부호화부(106)에 출력한다(단계 S1102). 이에 의해, Golomb 부호화부(106)는 예측 순위 M(e)를 부호화한다.
다음으로, k 파라미터 갱신부(1002)는 현재의 k 파라미터의 값, 즉 K[S]와, 심볼인 예측 순위 M(e)로 나타내어지는 위치 (K[S],M(e))가 영역(51) 내에 있는지를 판단한다(단계 S1103).
이것은 현재의 k 파라미터의 값이 예측 순위 M(e)의 부호 길이가 최소로 되는 k 파라미터의 상한값을 초과하는지를 판단하는 것으로 바꿔 말할 수도 있다.
위치 (K[S],M(e))가 영역(51) 내에 있는 것으로 판단된 경우에는, 단계 S1107로 처리를 진행시켜, 여기서 플래그 배열 요소 F[S]가 "1"인지를 판정한다. "1"이 아닌 것으로 판정된 경우에는, 플래그 배열 요소 F[S]를 "1"로 설정한다(단계 S1110). 단계 S1107에서, 플래그 배열 요소 F[S]가 "1"인 것으로 판정된 경우에는, K[S]를 그것에서 "1"을 감산하여 갱신하고(단계 S1108), 플래그 배열 요소 F[S]를 "0"으로 설정한다(단계 S1109).
한편, 단계 S1103에서, 위치 (K[S],M(e))가 영역(51)에 속하지 않는 것으로 판단된 경우에는, 단계 S1104로 처리를 진행시켜, 여기서 위치 (K[S],M(e))가 영역(52) 내에 있는지를 판정한다.
이것은 현재의 k 파라미터의 값이 예측 순위 M(e)의 부호 길이가 최소가 되는 k 파라미터의 하한값을 하회하는지를 판단하는 것으로 바꿔 말할 수도 있다.
위치 (K[S],M(e))가 영역(52) 내에 있는 것으로 판정된 경우에는, K[S]를 그것에 "1"을 가산하여 갱신하고, F[S]를 "0"으로 설정한다(단계 S1106).
단계 S1104에서, 위치 (K[S],M(e))가 영역(52)에 속하지 않는 것으로 판정된 경우, 즉 위치 (K[S],M(e))가 영역(50) 내에 있는 것으로 판정된 경우에는, 현재의 부호화 상태는 최적 심볼 범위 내에 있는 것으로 판정하여, k 파라미터를 갱신하지 않는다.
이후, 갱신된 K[S]는 주목 화소 이후에 나타나는 동일한 상태 번호 S를 갖는 화소의 부호화에 적용된다.
요약하자면, 제2 실시예에서는, 위치 (K[S],M(e))가 영역(52) 내에 있을 경 우에는, 제1 실시예와 마찬가지로, k 파라미터를 그것에 1을 가산하여 즉시 갱신한다. 그러나, 위치 (K[S],M(e))가 영역(51) 내에 있을 경우에는, K[S]를 그것에서 1을 감산하여 갱신하는 처리 빈도를 플래그 F[S]를 이용하여 1/2로 줄인다.
여기서, 다시, 본 실시예의 설명의 첫머리에서 설명한 확률 분포 f(n,k)의 정보원을 소정의 k 파라미터로 부호화하는 경우를 생각한다. 본 실시예에서는, k를 증가시켜 갱신할 확률이 12.5%이고, k를 감소시켜 갱신할 확률이 12.5% 이하인 것으로 생각되므로, k 파라미터의 천이가 행해지지 않을 확률은 75% 이상으로 향상된다.
따라서, k 파라미터의 갱신 시에 증가 또는 감소 방향의 확률의 치우침을 경감시키고, 또한, 불필요한 k 파라미터 변동의 발생 확률을 줄일 수 있다.
제1 실시예와 마찬가지로, 예측 순위 M(e)는, Golomb 부호화부(106)에 의해, k 파라미터 갱신부(107)로부터 출력되는 k 파라미터를 이용하여 부호화되어, 부호열 형성부(108)에 의해, 부호화 대상의 화상 데이터에 대한 부호열로서 결합된다. 부호열 형성부(108)에 의해 생성된 최종 부호열은 신호선(109)을 통해 외부에 출력된다.
제2 실시예에 따른 화상 처리 장치에 의해 부호화되는 화상 데이터의 흐름은 도 4에 도시한 제1 실시예의 화상 처리 장치의 플로우차트에 약간의 변경을 가한 것이다. 구체적으로는, 단계 S401 내지 단계 S404의 처리 중에 콘텍스트 생성부(1001)에 의한 콘텍스트 생성이 행해진다. 예를 들면, 단계 S401에서의 주목 화소 데이터의 판독과 단계 S402에서의 예측값 생성 사이에서, 콘텍스트 생성을 실시 할 수도 있다.
제2 실시예의 화상 처리 장치에서 생성된 부호화 데이터를 복호하기 위해서는, 헤더에 나타나는 부가 정보를 참조하여, 부호화의 역 수순으로 각각의 화소를 복호할 수 있다.
이 때, 각 심볼의 복호에 있어서, Golomb 부호화 파라미터 k는 부호화측과 동일한 값을 복호측에서 이용한다.
즉, 복호측에서도 부호화측과 동일한 초기값을 부여해서 복호를 시작하고, 복호된 심볼이 현재의 k 파라미터에 대하여 최적 심볼 범위에 있는지를 판정한 후, 부호화 시와 동일한 알고리즘으로 필요에 따라 k의 값을 갱신할 수 있다.
이상의 설명과 같이, 제2 실시예에 따른 화상 처리 장치에서는 간이한 방법에 의해 정보원의 성질에 추종한 부호화를 행할 수 있다. 또한, 파라미터 천이의 빈도를 조정함으로써, 통계적 성질의 변화가 적은 정보원에 대하여 필요없는 파라미터 천이를 줄일 수 있다.
<제3 실시예>
제2 실시예에서는, 심볼이 영역(51)에서 2회 발생했을 경우에 k 파라미터를 감소시키는 방법을 나타내었지만, k 파라미터에 따라 갱신 실시 횟수를 변경할 수도 있다. 그 예를 제3 실시예로서 설명한다.
제3 실시예의 화상 처리 장치의 블록도는 제2 실시예에서 설명한 도 10과 동일하고, k 파라미터 갱신부(1002)에 의한 처리만이 상이하다. 이하, 제3 실시예에 있어서의 k 파라미터 갱신부(1002)에 의한 처리에 대해서 설명한다.
제3 실시예의 k 파라미터 갱신부(1002)는 도 12에 도시한 바와 같은 인덱스값 i를 파라미터 k와 연관시킨 대응 테이블과, 콘텍스트 생성부(1001)에 의해 분류되는 365개의 상태 번호 S에 대해서 인덱스값 i를 저장하는 배열 I[S]를 유지한다. 배열 I[S]의 모든 요소는 부호화의 개시 시점에서 초기값(여기서는 "4")으로 설정된다. 즉, 상태 번호 S의 어느 것이라도, 파라미터 k의 초기 상태는 "2"이다. 보다 쉽게 말하자면, 인덱스 i에 기초하는 k 파라미터를 배열 K[i]로 표현하자면, K[i]=K[I[S]]와 같이 표기할 수 있다.
도 13은 주목 화소 x의 부호화 시의 k 파라미터 갱신부(1002)의 처리의 흐름을 설명하는 플로우차트이다. 도 13을 이용하여 각 화소에서 행해지는 k 파라미터 갱신부(1002)의 처리의 흐름을 설명한다.
k 파라미터 갱신부(1002)는 콘텍스트 생성부(1001)로부터 출력되는 상태 번호 S와, 예측 순위 변환부(105)로부터 출력되는 예측 순위 M(e)를 취득한다(단계 S1301). 입력된 상태 번호 S에 대한 인덱스값 배열의 요소 I[S]을 추출하고, 도 12의 대응 표를 참조하여 얻은 추출한 I[S]에 대응하는 k 파라미터의 값을 Golomb 부호화부(106)에 출력한다(단계 S1302). 예를 들면, 소정의 상태 번호 S에 대한 I[S]의 값이 5인 것으로 하면, 대응 표를 참조할 경우 파라미터 k는 K[I[S]]=K[5]가 되므로, 파라미터 k로서 "3"을 Golomb 부호화부(106)에 출력할 것이다. 이에 의해, Golomb 부호화부(106)는 주목 화소 x에 대응하는 예측 순위 M(e)를 부호화한다.
계속해서, 현재의 k 파라미터와 예측 순위 M(e)로 나타내어지는 위치가 영 역(51) 내에 있는지를 판단한다(단계 S1303). 그 위치가 영역(51) 내에 속할 경우에는, 단계 S1308로 처리를 이동하고, 영역(51) 내에 속하지 않을 경우에는, 단계 S1304로 처리를 이동한다.
그 위치가 영역(51)에 속할 경우, 배열 요소 I[S]가 0인지를 조사하고(단계 Sl308), 0이 아닐 경우에는, I[S]의 값을 그것에서 1을 감산하여 갱신한다(단계 S1309). 또한, 배열 요소 I[S]가 0인 경우에는, 더 이상의 감산은 행하지 않는다.
한편, 단계 S1303에서, 파라미터 k와 M(e)로 나타내어지는 위치가 영역(51) 외에 있는 것으로 판단된 경우에는, 그 위치가 영역(52) 내에 있는지를 판단한다(단계 S1304).
그 위치가 영역(52) 내에 있는 것으로 판단된 경우에는, I[S]의 값을 그것에 "2"를 가산하여 갱신한다(단계 S1305). 또한, I[S]가 미리 정한 인덱스의 최대값(제3 실시예에서는 "23")을 초과하는지를 조사하고(단계 S1306), 그 최대값을 초과하는 경우에는, I[S]를 그 최대값으로 설정한다(단계 S1307).
또한, 단계 S1304에서, 파라미터 k와 M(e)로 나타내어지는 위치가 영역(52)에 속하지 않는 것으로 판단된 경우, 이것은 그 위치가 영역(50) 내에 있다는 것을 나타낸다. 즉, 그 위치가 최적 심볼 범위에 있는 것으로 판정하고, 인덱스 I[S]의 갱신은 행하지 않는다. 갱신된 I[S]는 주목 화소 이후에 나타나는 동일한 상태 번호 S를 갖는 화소의 부호화 시에 사용된다.
상기의 처리로부터도 알 수 있는 바와 같이, 제3 실시예에서는 k 파라미터가 작은 부분에서는 인덱스 I[S]와 k 파라미터의 천이가 빨리 행해지고, k 파라미터가 큰 부분에서는 천천히 행해지는 예에 대해서 나타냈다.
직접 k 파라미터의 값을 증감시켜서 k 파라미터를 갱신시킬 뿐만 아니라, 제3 실시예에서와 같이 인덱스값을 도입하여 간접적으로 k 파라미터를 제어함으로써, 부호화 대상의 정보원의 동적 특성에 맞춰서, 보다 자유롭게 부호화 시스템을 설계 할 수 있다.
<다른 변형예>
본 발명은 전술한 실시예들에 한정되는 것은 아니다. 예를 들면, 예측 오차 생성 방법으로서 JPEG-LS와 같은 방법을 이용하여, a, b, a+b-c의 3개의 예측식을 적응적으로 전환하는 예를 나타냈지만, (a+b)/2 등과 같은 다른 예측식을 적용해도 된다. 또한, 부호화된 영역으로부터 예측값을 생성하는 방법이라면 어떠한 방법도 적용가능하다. 예컨대, 복수의 프레임으로 구성되는 동화상에 있어서 부호화된 이전의 프레임에서 주목 화소와 같은 공간 위치에 존재하는 화소값을 예측값으로 하는 방법을 이용해도 된다.
또한, JPEG-LS에서 채용되어 있는 것 같이, 부호화된 예측 오차를 참조함으로써 예측값을 수정하여 예측 정밀도를 향상시킬 수도 있다.
또한, 본 발명은 예측 오차의 부호를 예측해서 반전시키거나, 모듈 변환에 의해 동적 범위를 축소시키는 등의 효율 개선 연구와 조합해서 이용할 수도 있다.
제1 내지 제3 실시예에서는, 부호 길이가 최소가 되는 범위를 기준으로 하여 k 파라미터의 갱신을 판단하는 구성에 대해서 나타내었다. 예를 들면, k=2일 경우, 부호화 대상의 심볼(실시예들에서는 M(e))이 2∼1l이면, 이것이 최적 심볼 범 위이므로, 파라미터의 갱신을 행하지 않고, 그 심볼이 0 또는 1이면, k를 감소시키고, 그 심볼이 12 이상이면, k를 증가시키는 갱신을 행하였다.
그러나, 예컨대, "최소 부호 길이 + 1"까지를 적절한 범위로 생각한다면, 범위를 넓히거나 좁히는 수정을 행할 수도 있다.
k=2에서 "최소 부호 길이 + 1"까지를 적절한 범위로 생각한다면, 심볼값이 1∼15인 경우에는 파라미터의 갱신을 행하지 않음으로써, 파라미터의 안정성이 향상된다. 단, 이 경우에는, k=1에서 k=0으로의 천이가 행해지지 않기 때문에, k=1인 경우에는 범위의 확장을 적용하지 않는 등의 예외적인 처리가 요구된다.
또한, 전술한 실시예들에서는 엔트로피 부호화로서 파라미터 변수 m=2^k가 되는 Golomb 부호화의 형태를 이용하는 예에 대해서 나타내었지만, 본 발명은 이것에 한정되는 것은 아니다. m≠2^k를 이용하여 그 기술을 적용할 수도 있다. 또한, 이것은 Exponential-Golomb 부호화 등, Golomb 부호화의 파생 형태에 대하여 적용할 수도 있다.
전술한 실시예들에서는, 특히 부호화/복호를 행하는 화상 처리 장치를 예로 하였으나, 본 발명은 화상의 부호화 또는 복호를 행하는 장치, 예를 들면 복사기, 프린터, 판독기 등의 장치에 적당할 수 있다. 또한, 전술한 바와 같이, 상기 실시예들의 기능은 컴퓨터가 판독하여 실행하는 컴퓨터 프로그램에 의해서도 실현될 수 있기 때문에, 본 발명은 그 범주에 컴퓨터 프로그램도 포함하는 것은 당연한 것이다. 또한, 통상적으로, 컴퓨터 프로그램은 CD-ROM 등의 컴퓨터 판독가능한 기억 매체에 저장되어 있고, 컴퓨터의 판독 장치(CD-ROM 드라이브 등)에 로드되어, 시스 템에 카피 또는 인스톨됨으로써 실행 가능하게 된다. 따라서, 이러한 컴퓨터 판독가능한 기억 매체도 본 발명의 범주에 포함되는 것은 분명하다.
본 발명에 대해서는 예시적인 실시예들을 참조하여 설명하였지만, 본 발명을 그 예시적인 실시예들에 한정하는 것은 아니다. 다음의 특허 청구 범위의 기술적 사상의 범위는 모든 변형과 균등 구조 및 기능을 포함하도록 가장 넓게 해석되어야만 한다.
본 발명에 따르면, 동적 확률 분포 모델을 이용하는 화상 부호화에서, 간이하게 부호화 파라미터를 결정하고, 또한 우수한 부호화 성능을 실현하는 기술을 제공할 수 있다.

Claims (19)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 동적 확률 분포 모델에 기초하여 화상 데이터를 부호화하는 화상 부호화 장치로서,
    화상 데이터를 화소 단위로 입력하는 입력 수단;
    상기 입력 수단에 의해 입력된 주목 화소 데이터로부터 엔트로피 부호화 대상이 되는 심볼을 생성하는 심볼 생성 수단;
    상기 심볼 생성 수단에 의해 생성된 심볼을 주어진 부호화 파라미터에 따라 부호화하여 부호화 데이터를 생성하는 부호화 수단;
    상기 부호화 수단이 상기 심볼을 부호화할 때에 이용한 부호화 파라미터가 상기 심볼의 부호어(codeword)를 목표 부호 길이 내로 하기 위한 부호화 파라미터의 가능한 범위 내에 있는지, 상기 범위의 상한을 초과하는지, 또는 상기 범위의 하한을 하회하는지를 판단하는 판단 수단; 및
    상기 판단 수단의 판단 결과에 기초하여 상기 부호화 파라미터를 갱신하는 갱신 수단
    을 포함하는 화상 부호화 장치.
  8. 제7항에 있어서,
    상기 부호화 수단은 Golomb 부호화 수단인 화상 부호화 장치.
  9. 제7항에 있어서,
    상기 심볼 생성 수단은,
    주목 화소 데이터의 주위에 있는 부호화된 화소들 중 적어도 하나로부터 주목 화소 데이터의 예측값을 산출하는 예측값 산출 수단;
    상기 산출된 예측값과 상기 주목 화소 데이터의 차분인 예측 오차를 산출하는 예측 오차 산출 수단; 및
    상기 산출된 예측 오차의 양/음 부호를 판별 가능한 음이 아닌 정수값으로 변환하는 변환 수단을 포함하며,
    상기 심볼 생성 수단은 상기 변환 수단에 의해 변환된 음이 아닌 정수값을 상기 심볼로서 생성하는 화상 부호화 장치.
  10. 제7항에 있어서,
    상기 부호화 수단이 상기 심볼을 부호화할 때에 이용한 부호화 파라미터를 K로 정의하고, 상기 심볼의 부호어 길이를 목표 부호 길이 내로 하기 위한 부호화 파라미터의 범위의 하한 및 상한을 각각 KSmin 및 KSmax로 정의했을 때,
    상기 갱신 수단은,
    K<KSmin인 경우에, 상기 부호화 파라미터 K를 증가시키고,
    KSmax<K인 경우에, 상기 부호화 파라미터 K를 감소시키며,
    KSmin≤K≤KSmax인 경우에, 상기 부호화 파라미터 K의 값을 유지하는 화상 부호화 장치.
  11. 제7항에 있어서,
    주목 화소 X의 주위에 있는 부호화된 화소 데이터에 기초하여, 주목 화소 X의 위치에 대한 상태 정보 S를 산출하는 상태 정보 산출 수단; 및
    상기 상태 정보 S의 가능한 범위의 부호화 파라미터 배열 K[]를 기억하는 부호화 파라미터 기억 수단
    을 더 포함하며,
    상기 부호화 수단은 상기 주목 화소 데이터의 상태 정보 S에 의해 특정되는 부호화 파라미터 K[S]에 따라 부호화를 행하고,
    상기 갱신 수단은 상기 부호화 파라미터 K[S]를 갱신하는 화상 부호화 장치.
  12. 제11항에 있어서,
    상기 부호화 수단이 상기 심볼을 부호화할 때에 이용한 부호화 파라미터를 K[S]로 정의하고, 상기 심볼의 부호어 길이를 목표 부호 길이 내로 하기 위한 부호화 파라미터의 범위의 하한 및 상한을 각각 KSmin 및 KSmax로 정의했을 때,
    상기 갱신 수단은,
    K[S]<KSmin인 경우에, 상기 부호화 파라미터 K[S]를 증가시키고,
    KSmax<K[S]인 경우에, 상기 부호화 파라미터 K[S]를 1 미만의 확률로 감소시 키며,
    KSmin≤K[S]≤KSmax인 경우에, 상기 부호화 파라미터 K[S]의 값을 유지하는 화상 부호화 장치.
  13. 제7항에 있어서,
    주목 화소 X의 주위에 있는 부호화된 화소 데이터에 기초하여, 주목 화소 X의 위치에 대한 상태 정보 S를 산출하는 상태 정보 산출 수단;
    상기 상태 정보 산출 수단에 의해 산출된 상태 정보 S의 가능한 범위의 인덱스 배열 i[]를 기억하는 인덱스 기억 수단; 및
    상기 인덱스 배열 i[]의 가능한 범위의 부호화 파라미터 배열 K[i[]]를 기억하는 부호화 파라미터 기억 수단
    을 더 포함하며,
    상기 부호화 수단은 상기 주목 화소 데이터의 상태 정보 S에 의해 특정되는 부호화 파라미터 K[i[S]]에 따라 부호화를 행하고,
    상기 갱신 수단은 상기 부호화 파라미터 K[i[S]]를 갱신하는 화상 부호화 장치.
  14. 제13항에 있어서,
    상기 부호화 수단이 상기 심볼을 부호화할 때에 이용한 부호화 파라미터를 K[i[S]]로 정의하고, 상기 심볼의 부호어 길이를 목표 부호 길이 내로 하기 위한 부호화 파라미터의 범위의 하한 및 상한을 각각 KSmin 및 KSmax로 정의했을 때,
    상기 갱신 수단은,
    K[i[S]]<KSmin인 경우에, 상기 부호화 파라미터 K[i[S]]를 미리 설정된 보정값 α만큼 증가시키고,
    KSmax<K[i[S]]인 경우에, 상기 부호화 파라미터 K[i[S]]를 상기 보정값 α보다도 작은 보정값 β만큼 감소시키며,
    KSmin≤K[i[S]]≤KSmax인 경우에, 상기 부호화 파라미터 K[i[S]]의 값을 유지하는 화상 부호화 장치.
  15. 동적 확률 분포 모델에 기초하여 화상 데이터를 부호화하는 화상 부호화 장치의 제어 방법으로서,
    화상 데이터를 화소 단위로 입력하는 입력 단계;
    상기 입력 단계에서 입력된 주목 화소 데이터로부터 엔트로피 부호화 대상이 되는 심볼을 생성하는 심볼 생성 단계;
    상기 심볼 생성 단계에서 생성된 심볼을 주어진 부호화 파라미터에 따라 부호화하여 부호화 데이터를 생성하는 부호화 단계;
    상기 부호화 단계에서 상기 심볼을 부호화할 때에 이용한 부호화 파라미터가 상기 심볼의 부호어를 목표 부호 길이 내로 하기 위한 부호화 파라미터의 가능한 범위 내에 있는지, 상기 범위의 상한을 초과하는지, 또는 상기 범위의 하한을 하회하는지를 판단하는 판단 단계; 및
    상기 판단 단계의 판단 결과에 기초하여 상기 부호화 파라미터를 갱신하는 갱신 단계
    를 포함하는 제어 방법.
  16. 컴퓨터에 의해 판독되어 실행됨으로써 상기 컴퓨터를 제7항에 기재된 화상 부호화 장치로서 기능시키는 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기억 매체.
  17. 동적 확률 분포 모델에 기초하여 부호화된 화상 데이터를 복호하는 화상 복호 장치로서,
    부호화 데이터를 화소 단위로 입력하는 입력 수단;
    상기 입력 수단에 의해 입력된 부호화 데이터를 주어진 복호 파라미터에 따라 복호하여 주목 화소의 심볼을 생성하는 복호 수단;
    상기 복호에 의해 얻어진 심볼로부터 상기 주목 화소의 화소 데이터를 복원하는 화상 데이터 복원 수단;
    상기 복호 수단이 상기 심볼을 복호할 때에 이용한 복호 파라미터가 상기 심볼의 부호어를 목표 부호 길이 내로 하기 위한 부호화 파라미터의 가능한 범위 내에 있는지, 상기 범위의 상한을 초과하는지, 또는 상기 범위의 하한을 하회하는지를 판단하는 판단 수단; 및
    상기 판단 수단의 판단 결과에 기초하여 상기 복호 파라미터를 갱신하는 갱 신 수단
    을 포함하는 화상 복호 장치.
  18. 동적 확률 분포 모델에 기초하여 부호화된 화상 데이터를 복호하는 화상 복호 장치의 제어 방법으로서,
    부호화 데이터를 화소 단위로 입력하는 입력 단계;
    상기 입력 단계에서 입력된 부호화 데이터를 주어진 복호 파라미터에 따라 복호하여 주목 화소의 심볼을 생성하는 복호 단계;
    상기 복호에 의해 얻어진 심볼로부터 상기 주목 화소의 화소 데이터를 복원하는 복원 단계;
    상기 복호 단계에서 상기 심볼을 복호할 때에 이용한 복호 파라미터가 상기 심볼의 부호어를 목표 부호 길이 내로 하기 위한 부호화 파라미터의 가능한 범위 내에 있는지, 상기 범위의 상한을 초과하는지, 또는 상기 범위의 하한을 하회하는지를 판단하는 판단 단계; 및
    상기 판단 단계의 판단 결과에 기초하여 상기 복호 파라미터를 갱신하는 갱신 단계
    를 포함하는 제어 방법.
  19. 컴퓨터에 의해 판독되어 실행됨으로써 상기 컴퓨터를 제17항에 기재된 화상 복호 장치로서 기능시키는 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기억 매 체.
KR1020070026342A 2006-03-17 2007-03-16 화상 부호화 장치, 화상 복호 장치 및 그것들의 제어 방법 KR100845090B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2006-00075544 2006-03-17
JP2006075544A JP4732203B2 (ja) 2006-03-17 2006-03-17 画像符号化装置及び復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体

Publications (2)

Publication Number Publication Date
KR20070094571A KR20070094571A (ko) 2007-09-20
KR100845090B1 true KR100845090B1 (ko) 2008-07-09

Family

ID=38517902

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070026342A KR100845090B1 (ko) 2006-03-17 2007-03-16 화상 부호화 장치, 화상 복호 장치 및 그것들의 제어 방법

Country Status (4)

Country Link
US (1) US7783119B2 (ko)
JP (1) JP4732203B2 (ko)
KR (1) KR100845090B1 (ko)
CN (1) CN101039422B (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7650039B2 (en) 2005-03-03 2010-01-19 Canon Kabushiki Kaisha Image encoding apparatus, image decoding apparatus, control method therefor, computer program, and computer-readable storage medium
JP4587175B2 (ja) * 2005-05-19 2010-11-24 キヤノン株式会社 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4732203B2 (ja) 2006-03-17 2011-07-27 キヤノン株式会社 画像符号化装置及び復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
EP1978749B1 (en) * 2007-04-06 2017-08-30 Canon Kabushiki Kaisha Compression of multidimensional look-up tables for colour space conversion
JP2009094828A (ja) 2007-10-10 2009-04-30 Hitachi Ltd 画像符号化装置及び画像符号化方法、画像復号化装置及び画像復号化方法
US20100002946A1 (en) * 2008-07-02 2010-01-07 Texas Instruments Incorporated Method and apparatus for compressing for data relating to an image or video frame
JP4979655B2 (ja) * 2008-08-07 2012-07-18 キヤノン株式会社 画像符号化装置及びその制御方法
CN104104391B (zh) * 2008-12-09 2017-04-26 日本电信电话株式会社 编码方法以及编码装置
KR20100102386A (ko) * 2009-03-11 2010-09-24 삼성전자주식회사 레지듀얼 값 분포에 적응적인 부호표 선택에 기초한 영상 부호화, 복호화 방법 및 장치
US9654138B2 (en) * 2009-08-21 2017-05-16 Thomson Licensing Dtv Methods and apparatus for explicit updates for symbol probabilities of an entropy encoder or decoder
KR20110060181A (ko) * 2009-11-30 2011-06-08 한국전자통신연구원 무손실/준무손실 영상 압축 장치 및 방법
WO2011155786A2 (ko) * 2010-06-09 2011-12-15 엘지전자 주식회사 엔트로피 복호화 방법 및 복호화 장치
US9503750B2 (en) * 2011-11-04 2016-11-22 Futurewei Technologies, Inc. Binarization of prediction residuals for lossless video coding
JP5651628B2 (ja) 2012-03-22 2015-01-14 株式会社東芝 磁気記録媒体の製造方法
US10129540B2 (en) * 2012-04-10 2018-11-13 Texas Instruments Incorporated Reduced complexity coefficient transmission for adaptive loop filtering (ALF) in video coding
EP3637621B1 (en) * 2012-04-15 2023-06-07 Samsung Electronics Co., Ltd. Video decoding method using parameter update for de-binarization of entropy coded transformation coefficient, encoding apparatus using same for binarization
JP5845202B2 (ja) 2013-03-22 2016-01-20 株式会社東芝 画像圧縮装置および画像処理システム
GB2521828A (en) * 2013-12-23 2015-07-08 Sony Corp Data encoding and decoding
US10142636B2 (en) 2014-06-09 2018-11-27 Sony Corporation Communication system with coding mechanism and method of operation thereof
JP6512927B2 (ja) 2015-04-28 2019-05-15 キヤノン株式会社 画像符号化装置及びその制御方法
CN105208394B (zh) * 2015-09-21 2018-09-04 北京集创北方科技股份有限公司 一种实时数字图像压缩预测方法与系统
CN108809486B (zh) * 2017-05-03 2020-09-04 华为技术有限公司 Polar码编译码方法及装置
US10706492B2 (en) * 2017-09-05 2020-07-07 Texas Instruments Incorporated Image compression/decompression in a computer vision system
CN108282662B (zh) * 2018-02-02 2021-02-02 武汉精测电子集团股份有限公司 一种连续色调静态图像压缩的优化方法及装置
CN110545435B (zh) * 2018-05-28 2023-05-12 深信服科技股份有限公司 一种基于概率模型的桌面像素编码方法、装置及存储介质
JP7230368B2 (ja) * 2018-08-20 2023-03-01 富士フイルムビジネスイノベーション株式会社 符号化装置、復号装置及びプログラム
JP7180255B2 (ja) * 2018-10-01 2022-11-30 カシオ計算機株式会社 ゴロムパラメータを算出する算出装置、その算出装置を備えるゴロム符号化装置、そのゴロム符号化装置を備える電子機器、ゴロムパラメータの算出方法、及び、ゴロムパラメータを算出する算出装置のプログラム
JP7041380B2 (ja) * 2018-11-14 2022-03-24 日本電信電話株式会社 符号化システム、学習方法、及びプログラム
CN111935486B (zh) * 2020-07-29 2022-11-29 Oppo广东移动通信有限公司 图像处理方法及装置、计算机可读存储介质和电子设备
US11955047B2 (en) * 2021-01-22 2024-04-09 Hefei Boe Joint Technology Co., Ltd. Display panel and driving method thereof, compensation data compression method and decompression method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000031178A (ko) * 1998-11-04 2000-06-05 구자홍 무손실 부호화 방법 및 장치
JP2008004548A (ja) * 2006-06-20 2008-01-10 Samsung Sdi Co Ltd 発光装置およびこれを光源として使用する表示装置

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08130649A (ja) * 1994-11-01 1996-05-21 Canon Inc データ処理装置
US6031938A (en) * 1995-04-26 2000-02-29 Canon Kabushiki Kaisha Image encoding apparatus with selective Markov and predictive coding
US6101282A (en) * 1995-06-22 2000-08-08 Canon Kabushiki Kaisha Apparatus and method for image data encoding
US5960116A (en) * 1995-11-02 1999-09-28 Canon Kabushiki Kaisha Image processing apparatus and method for performing prediction data encoding
JP3787389B2 (ja) * 1996-06-17 2006-06-21 キヤノン株式会社 画像処理装置、及び方法、及びその方法を記憶した記憶媒体
JPH104557A (ja) * 1996-06-17 1998-01-06 Canon Inc 画像処理装置、及び方法、及びその方法を記憶した記憶媒体
US6028963A (en) * 1996-06-17 2000-02-22 Canon Kabushiki Kaisha Image encoding based on judgement on prediction error
JPH10336682A (ja) * 1997-04-02 1998-12-18 Canon Inc 符号化装置及び方法及び方法を記憶した記憶媒体
JP2000069292A (ja) * 1998-08-24 2000-03-03 Canon Inc 画像処理装置及び方法及び記憶媒体
JP3839974B2 (ja) * 1998-10-06 2006-11-01 キヤノン株式会社 符号化装置
JP2000115782A (ja) * 1998-10-06 2000-04-21 Canon Inc 符号化装置及び方法及び記憶媒体
JP2000115783A (ja) * 1998-10-06 2000-04-21 Canon Inc 復号化装置及び方法
US6665444B1 (en) * 1999-04-28 2003-12-16 Canon Kabushiki Kaisha Image processing apparatus and method, and storage medium
JP4181699B2 (ja) * 1999-07-27 2008-11-19 キヤノン株式会社 符号化装置及び方法及び記憶媒体
JP4365957B2 (ja) * 1999-11-05 2009-11-18 キヤノン株式会社 画像処理方法及びその装置及び記憶媒体
US6633674B1 (en) * 1999-11-24 2003-10-14 General Electric Company Picture archiving and communication system employing improved data compression
JP4367880B2 (ja) * 1999-12-09 2009-11-18 キヤノン株式会社 画像処理装置及びその方法並びに記憶媒体
FI116819B (fi) * 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
JP2002281444A (ja) * 2000-03-03 2002-09-27 Canon Inc 画像処理方法及び装置及び記憶媒体
JP4208378B2 (ja) * 2000-03-10 2009-01-14 キヤノン株式会社 画像処理装置及び方法及び記録媒体
JP4480119B2 (ja) * 2000-03-30 2010-06-16 キヤノン株式会社 画像処理装置及び画像処理方法
US6847735B2 (en) * 2000-06-07 2005-01-25 Canon Kabushiki Kaisha Image processing system, image processing apparatus, image input apparatus, image output apparatus and method, and storage medium
JP4612782B2 (ja) * 2000-09-27 2011-01-12 キヤノン株式会社 画像処理装置、及びその方法、並びにプログラム、記憶媒体
US7013050B2 (en) * 2001-06-26 2006-03-14 Canon Kabushiki Kaisha Image encoding apparatus and method, program code, and storage medium
US6735254B2 (en) * 2001-06-29 2004-05-11 Qualcomm, Inc. DCT compression using Golomb-Rice coding
JP3984886B2 (ja) * 2001-09-28 2007-10-03 キヤノン株式会社 データ変換装置、データ変換方法、コンピュータプログラム、記憶媒体
US7302105B2 (en) * 2002-07-22 2007-11-27 Canon Kabushiki Kaisha Moving image coding apparatus, moving image decoding apparatus, and methods therefor
US7903734B2 (en) * 2003-04-24 2011-03-08 Canon Kabushiki Kaisha Moving image decoding apparatus, moving image decoding method, image decoding method, and image decoding apparatus
US7574063B2 (en) * 2003-07-23 2009-08-11 Canon Kabushiki Kaisha Image coding method and apparatus
KR100561869B1 (ko) * 2004-03-10 2006-03-17 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
JP4702928B2 (ja) * 2004-03-12 2011-06-15 キヤノン株式会社 動画像符号化装置及び復号装置及びその制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP4418762B2 (ja) * 2004-05-07 2010-02-24 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US7529417B2 (en) * 2004-07-09 2009-05-05 Canon Kabushiki Kaisha Apparatus, method and storage medium for image encoding/decoding using shape-based coefficient interpolation
JP4533043B2 (ja) * 2004-08-25 2010-08-25 キヤノン株式会社 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US6987468B1 (en) * 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
US7650039B2 (en) * 2005-03-03 2010-01-19 Canon Kabushiki Kaisha Image encoding apparatus, image decoding apparatus, control method therefor, computer program, and computer-readable storage medium
JP4587175B2 (ja) * 2005-05-19 2010-11-24 キヤノン株式会社 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4732203B2 (ja) 2006-03-17 2011-07-27 キヤノン株式会社 画像符号化装置及び復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000031178A (ko) * 1998-11-04 2000-06-05 구자홍 무손실 부호화 방법 및 장치
JP2008004548A (ja) * 2006-06-20 2008-01-10 Samsung Sdi Co Ltd 発光装置およびこれを光源として使用する表示装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Image Processing, 1999. ICIP 99. Proceedings. 1999 International Conference on Volume 4, 24-28 Oct. 1999 Page(s):68 - 72 vol.4
방송공학회논문지 제9권 제3호, 2004. 9, pp. 246 ~ 256 (11pages)
한국멀티미디어학회:학술대회지 , 2000년도 추계학술발표논문집(한국멀티미디어학회) , pp.45-48 , 2000

Also Published As

Publication number Publication date
JP4732203B2 (ja) 2011-07-27
JP2007251834A (ja) 2007-09-27
CN101039422A (zh) 2007-09-19
US7783119B2 (en) 2010-08-24
US20070217703A1 (en) 2007-09-20
KR20070094571A (ko) 2007-09-20
CN101039422B (zh) 2010-05-26

Similar Documents

Publication Publication Date Title
KR100845090B1 (ko) 화상 부호화 장치, 화상 복호 장치 및 그것들의 제어 방법
US11089324B2 (en) Method and apparatus for encoding and decoding an image with inter layer motion information prediction according to motion information compression scheme
JP4418762B2 (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
KR100868716B1 (ko) 컬러 이미지 인코딩을 위한 방법, 시스템 및 소프트웨어제품
KR101461209B1 (ko) 2d 매트릭스들에 인코딩 파라미터들을 저장하는 이미지 압축을 위한 방법 및 장치
US9967589B2 (en) Method and apparatus for updating predictions when coding motion information
US7650039B2 (en) Image encoding apparatus, image decoding apparatus, control method therefor, computer program, and computer-readable storage medium
US7689048B2 (en) Image encoding apparatus, method, and computer-readable storage medium for encoding a pixel value
US20100177820A1 (en) Video encoding device, video decoding device, video encoding method, video decoding method, video encoding or decoding program
JP6502739B2 (ja) 画像符号化装置、画像処理装置、画像符号化方法
CN112887722A (zh) 一种图像无损压缩方法
JP2017005433A (ja) 画像符号化装置、画像処理装置、画像符号化方法
JP5101962B2 (ja) 画像符号化装置及びその制御方法並びにコンピュータプログラム
CN110191341B (zh) 一种深度数据的编码方法和解码方法
JP2017168879A (ja) 画像符号化装置、画像符号化方法、及び画像符号化プログラム
US20150023416A1 (en) Image encoding device and image decoding device
JP5307681B2 (ja) 画像符号化構造の自動生成方法,画像符号化構造の自動生成装置およびそのプログラム
US20120328023A1 (en) Video encoding and decoding using reference pictures
JP2008271039A (ja) 画像符号化装置及び画像復号化装置
KR20060128586A (ko) 영상 부호화 및 복호화 장치와, 그 방법, 및 이를 수행하기위한 프로그램이 기록된 기록 매체
WO2019150411A1 (ja) 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
JP6572093B2 (ja) 画像符号化装置及びその制御方法
JP4343863B2 (ja) 画像符号化装置及び画像復号装置、並びに、それらの制御方法
JPWO2010146782A1 (ja) 算術符号化装置、算術復号装置
JP4743884B2 (ja) 画像符号化装置及びその制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130626

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140625

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150625

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160627

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180625

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190625

Year of fee payment: 12