KR100809409B1 - 복호화 장치, 역양자화 방법 및 이들의 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 - Google Patents

복호화 장치, 역양자화 방법 및 이들의 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 Download PDF

Info

Publication number
KR100809409B1
KR100809409B1 KR20060092257A KR20060092257A KR100809409B1 KR 100809409 B1 KR100809409 B1 KR 100809409B1 KR 20060092257 A KR20060092257 A KR 20060092257A KR 20060092257 A KR20060092257 A KR 20060092257A KR 100809409 B1 KR100809409 B1 KR 100809409B1
Authority
KR
South Korea
Prior art keywords
quantization
distribution information
quantization index
value
inverse
Prior art date
Application number
KR20060092257A
Other languages
English (en)
Other versions
KR20070053098A (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 KR20070053098A publication Critical patent/KR20070053098A/ko
Application granted granted Critical
Publication of KR100809409B1 publication Critical patent/KR100809409B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/124Quantisation
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

본 발명은 유효 비트수가 다른 복수의 양자화 인덱스로부터, 보다 적절한 역양자화값을 산출하는 복호화 장치를 제공한다.
복호화 장치(2)는 양자화 인덱스를 나타내는 비트열의 비트 절사 위치에 관한 정보에 의거하여 양자화 인덱스를 복수의 그룹으로 분류하고, 각각의 그룹마다 양자화 인덱스의 빈도 분포를 생성하여, 생성된 양자화 인덱스의 빈도 분포에 의거하여 변환 계수의 빈도 분포를 추정하고, 추정된 빈도 분포와 합치하는 분포로, 역양자화값을 생성한다.
복호화 프로그램, 엔트로피 복호부, 비제로 변환 계수 분포 추정부

Description

복호화 장치, 역양자화 방법 및 이들의 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체{DECODING APPARATUS, INVERSE QUANTIZATION METHOD, AND COMPUTER READABLE MEDIUM RECORDED WITH THE PROGRAM}
도 1은 JPEG 2000 방식 등의 변환 부호화 방식의 개략을 설명하는 도면.
도 2는 변환 부호화 방식에서의 양자화 처리를 설명하는 도면.
도 3은 절사 위치가 다른 경우의 양자화 간격을 예시하는 도면으로, (a)는 최하위 비트까지 존재하는 경우의 양자화 간격을 예시하고, (b)는 최하위 비트만을 제외한 경우의 양자화 간격을 예시하는 도면.
도 4는 본 발명에 따른 역양자화 방법이 적응되는 복호화 장치(2)의 하드웨어 구성을, 제어 장치(20)를 중심으로 예시하는 도면.
도 5는 제어 장치(20)(도 4)에 의해 실행되고, 본 발명에 따른 역양자화 방법을 실현하는 복호화 프로그램(5)의 기능 구성을 예시하는 도면.
도 6은 역양자화값 추정부(500)(도 5)를 보다 상세하게 설명하는 도면.
도 7은 분포 추정부(520)(도 5)를 보다 상세하게 설명하는 도면.
도 8은 분포 판정부(530)(도 7)를 보다 상세하게 설명하는 도면.
도 9는 빈도 정보 통합부(536)에 의한 히스토그램의 통합 방법을 예시하는 도면.
도 10은 보정부(580)(도 5)를 보다 상세하게 설명하는 도면.
도 11은 기대값 시프트부(584) 및 기대값 보정부(586)에 의한 보정을 모식적으로 설명하는 도면.
도 12는 복호화 프로그램(5)(도 5)에 의한 복호화 처리(S10)의 플로차트.
도 13은 양자화 구간의 경계가 일치하지 않는 경우의 빈도값 분배 방법을 설명하는 도면.
도면의 주요 부분에 대한 부호의 설명
2 : 복호화 장치 5 : 복호화 프로그램
40 : 엔트로피 복호부 50 : 역양자화부
500 : 역양자화값 추정부 520 : 분포 추정부
522 : 제로 판정부 524 : 비제로 변환 계수 분포 추정부
526 : 제로 변환 계수 분포 추정부 530 : 분포 판정부
532 : 유효 자릿수 판정부 534 : 빈도 정보 생성부
536 : 빈도 정보 통합부 540 : 기대값 추정부
560 : 난수 발생부 580 : 보정부
590 : 역양자화값 출력부 60 : 역변환부
본 발명은 부호화 처리에 의해 생성된 부호 데이터를 복호화하는 복호화 장치에 관한 것이다. 특히, 본 발명은 데이터의 양자화(量子化)를 따르는 부호화 처 리에 의해 생성된 부호 데이터를 역양자화를 행함으로써 복호화하는 복호화 장치에 관한 것이다.
예를 들면, 비특허 문헌 1은 JPEG 2000 표준을 개시한다.
[비특허 문헌 1] ITU-T 권고 T.800
본 발명은 상술한 배경으로부터 이루어진 것으로, 부호 데이터를 보다 적절히 복호화하는 복호화 장치를 제공하는 것을 목적으로 한다.
[복호화 장치]
상기 목적을 달성하기 위해서, 본 발명에 따른 복호화 장치는 부호 데이터에 포함되는 양자화 인덱스를 복수의 그룹으로 분류하는 분류 수단과, 상기 분류 수단에 의해 분류된 양자화 인덱스에 의거하여, 각각의 그룹에 대해서 양자화 인덱스의 분포 정보를 생성하는 분포 정보 생성 수단과, 상기 분포 정보 생성 수단에 의해 생성된 분포 정보에 의거하여, 각각의 양자화 인덱스에 대응하는 역양자화값을 생성하는 역양자화값 생성 수단을 갖는다.
적합하게는, 상기 분류 수단은 양자화 인덱스를 나타내는 비트열의 유효 비트 길이에 의거하여, 양자화 인덱스를 분류하고, 상기 분포 정보 생성 수단은 상기 그룹마다 양자화 인덱스의 분포 정보를 생성한다.
적합하게는, 상기 분포 정보 생성 수단은 상기 분류 수단에 의해 분류된 양자화 인덱스값에 의거하여, 그룹마다 양자화 인덱스값의 빈도 분포 정보를 생성하 고, 상기 역양자화값 생성 수단은 그룹마다 생성된 빈도 분포 정보에 의거하여, 역양자화값을 생성한다.
적합하게는, 상기 분포 정보 생성 수단에 의해 그룹마다 생성된 복수의 빈도 분포 정보에 의거하여, 1개의 빈도 분포 정보를 생성하는 분포 정보 합성 수단을 더 가지며, 상기 역양자화값 생성 수단은 상기 분포 정보 합성 수단에 의해 생성된 빈도 분포 정보에 의거하여, 역양자화값을 생성한다.
적합하게는, 상기 분포 정보 합성 수단은 각각의 그룹에 속하는 양자화 인덱스의 양자화 간격에 의거하여, 그룹마다 생성된 복수의 빈도 분포 정보를 통합하여, 1개의 빈도 분포 정보를 생성한다.
적합하게는, 상기 분포 정보 합성 수단은 각각의 그룹에 대응하는 양자화 간격 중, 가장 미세한 양자화 간격을 이용하여 빈도 분포 정보를 통합한다.
적합하게는, 입력되는 부호 데이터는 JPEG 2000 방식으로 부호화된 데이터이며, 상기 분류 수단은 부호 데이터에 포함되는 양자화 인덱스를 코드 블록마다 분류하고, 상기 분포 정보 생성 수단은 코드 블록마다, 양자화 인덱스의 분포 정보를 생성한다.
적합하게는, 상기 분포 정보 생성 수단에 의해 그룹마다 생성된 빈도 분포 정보 중에서, 처리 대상이 되는 양자화 인덱스가 속하는 그룹의 빈도 분포 정보를 선택하는 분포 정보 선택 수단을 더 가지며, 상기 역양자화값 생성 수단은 상기 분포 정보 선택 수단에 의해 선택된 빈도 분포 정보를 이용하여, 상기 처리 대상의 양자화 인덱스에 대응하는 역양자화값을 생성한다.
적합하게는, 상기 분류 수단은 각각의 양자화 인덱스에 대응하는 양자화 간격에 의거하여, 양자화 인덱스값을 분류하고, 상기 분포 정보 생성 수단은 상기 그룹마다 양자화 인덱스의 분포 정보를 생성한다.
또한, 본 발명에 따른 복호화 장치는 부호 데이터에 포함되는 양자화 인덱스의 유효 비트수를 판정하는 판정 수단과, 복수의 양자화 인덱스와, 이들 양자화 인덱스에 대해서 상기 판정 수단에 의해 판정된 유효 비트수에 의거하여, 각각의 양자화 인덱스에 대응하는 역양자화값을 생성하는 역양자화값 생성 수단을 갖는다.
[역양자화 방법]
또한, 본 발명에 따른 역양자화 방법은 부호 데이터에 포함되는 양자화 인덱스를 복수의 그룹으로 분류하고, 분류된 양자화 인덱스에 의거하여, 각각의 그룹에 대해서 양자화 인덱스의 분포 정보를 생성하고, 생성된 분포 정보에 의거하여, 각각의 양자화 인덱스에 대응하는 역양자화값을 생성한다.
[프로그램]
또한, 본 발명에 따른 프로그램은 부호 데이터에 포함되는 양자화 인덱스를 복수의 그룹으로 분류하는 스텝과, 분류된 양자화 인덱스에 의거하여, 각각의 그룹에 대해서 양자화 인덱스의 분포 정보를 생성하는 스텝과, 생성된 분포 정보에 의거하여, 각각의 양자화 인덱스에 대응하는 역양자화값을 생성하는 스텝을 컴퓨터에 실행시킨다.
화상 데이터 및 음성 데이터 등은 데이터량이 방대하기 때문에, 압축하여 데이터량을 삭감해서 유지, 전송 등을 행하는 것이 일반적이다. 예를 들면, 컬러 원 고나 사진을 화상 스캐너로 전자화한 경우에 생성되는 다치(多値) 화상 데이터, 또는, 디지털 카메라로 풍경 등의 사진을 찍은 경우에 생성되는 다치 화상 데이터는 JPEG 2000 등의 비가역 부호화 방식으로 압축함으로써, 보다 작은 데이터량으로 할 수 있다.
이들 비가역 부호화를 행한 경우, 부호화 왜곡이 발생하는 것이 문제가 되고 있다.
그래서, 비가역 부호화의 부호화 왜곡이 어떠한 메커니즘으로 발생하는지를 설명한다.
도 1은 JPEG 2000 방식 등의 변환 부호화 방식의 개략을 설명하는 도면으로, 도 1의 (a)는 부호화 처리의 개략을 나타내고, 도 1의 (b)는 복호화 처리의 개략을 나타낸다.
도 2는 변환 부호화 방식에서의 양자화 처리를 설명하는 도면이다. 또한, 도 2에 나타낸 변환 계수(T(c, i, j)) 및 양자화 인덱스(Q(c, i, j))는 변수(c, i, j)의 함수이다. 또한, 변수(c)는 변환 계수의 종류를 나타내는 인덱스이며, 예를 들면, 웨이브릿(wavelet) 변환이면, 1HH 성분, 1LH 성분, 1HL 성분, 2HH 성분, 2LH 성분, 2HL성분, ···, NLL 성분 중 어느 하나를 나타내는 값이다. 또한, 변수(i, j)는 각 변환 계수의 위치를 나타내는 변수이며, 예를 들면, 웨이브릿 변환이면, c번째의 변환 계수의 위로부터 i번째, 좌로부터 j번째의 데이터가 T(c, i, j)로 표시된다.
도 1의 (a)에 나타낸 바와 같이, 변환 부호화 방식의 부호화 처리에서는, 입 력 화상(G)에 대해서 웨이브릿 변환 등의 변환 처리가 실시되어, 입력 화상(G)의 변환 계수(T)가 생성되고, 이 변환 계수(T)는 또한 양자화되어, 양자화 인덱스(Q)가 된다. 양자화 인덱스(Q)는 엔트로피 부호화(가역 부호화)되어, 압축 부호(F)가 된다.
여기서, 양자화 인덱스란, 양자화값을 식별하기 위한 정보이다. 또한, 양자화값이란, 일정한 범위(양자화 구간)에 있는 수치군이 축퇴(縮退)하는 값이며, 도 2에 예시하는 바와 같이, 양자화 구간 「A-2」∼「A2」 각각을 대표하는 이산적인 값(본 예에서는, 「-2.5×D(c)」∼「2.5×D(c)」)이다.
이와 같이 생성된 부호 데이터(압축 부호(F))는 도 1의 (b)에 나타낸 바와 같이, 엔트로피 복호되어, 양자화 인덱스(Q)가 된다. 이 양자화 인덱스(Q)는 부호화시의 양자화 인덱스(Q)와 동일한 것이다.
또한, 양자화 인덱스(Q)는 역양자화되어, 변환 계수(즉, 역양자화값)(R)가 되고, 이 변환 계수(R)가 역변환되어, 복호 화상(H)이 생성된다.
여기서, 역양자화값이란, 양자화 인덱스 또는 양자화값에 의거하여 생성되어, 복호 데이터의 복호화에 사용되는 값으로, 예를 들면, JPEG 2000 방식의 변환 계수(양자화 인덱스에 대응된 변환 계수)이다.
이상의 프로세스에서, 부호화 왜곡이 발생하는 것은 양자화를 행할 때이다. 원(元) 화상의 변환 계수(T)와, 양자화 인덱스(Q)의 정밀도를 비교하면, 일반적으로 변환 계수(T)의 정밀도가 양자화 인덱스(Q)보다도 높다. 그 때문에, 양자화 인덱스(Q)를 이용하여 재현된 변환 계수(R)는 원래의 변환 계수(T)와는 다른 것이 된 다. 이것이 부호화 왜곡의 원인이다.
다음에, 도 2를 참조하여, 양자화 및 역양자화를 보다 상세하게 설명한다.
양자화는 각 변환 계수(c)마다 준비된 양자화 스텝 폭(D(c))을 이용하여 행한다. 양자화 스텝 폭(D)은 변환 계수의 종류(c)의 함수이다. 예를 들면, JPEG 2000 방식이면, 이하의 식에 의해, 양자화 인덱스(Q) 및 역양자화값(R)을 산출한다.
Q(c, i, j)=sign(T(c, i, j))×floor(│T(c, i, j)│/D(c))
Q(c, i, j)>0인 경우에, R(c, i, j)=(Q(c, i, j)+r)×D(c)
Q(c, i, j)<0인 경우에, R(c, i, j)=(Q(c, i, j)-r)×D(c)
Q(c, i, j)=0인 경우에, R(c, i, j)=0
여기서, sign()은 플러스 마이너스의 부호를 출력하는 함수, floor는 소수점 이하를 O으로 하는 함수, ││는 절대값을 나타내는 기호이다.
또한, r은 0에서 1까지의 범위에 있는 수치로서, 도 2에서는, 전형적인 값인 r=0.5를 사용한 경우를 예시하고 있다.
또한, JPEG 2000 방식에서는 하위 비트를 부호화하지 않는 경우가 있지만, 도 2에서는 최하위 비트까지 모두 부호화하는 경우를 구체예로서 설명한다.
도 2의 (a)에 나타낸 바와 같이, JPEG 2000 방법의 부호화 처리에서, 입력 화상(G)에 대해서 변환 처리를 실시하여 생성된 변환 계수(T)(양자화 전)는 수직선 x축 위에 분포한다.
변환 계수(T)가 양자화 구간(A0)에 존재하고 있는 경우에는, 양자화 처리에 의해, 양자화 인덱스(Q)는 0이 된다. 마찬가지로, 변환 계수(T)가 양자화 구간(Aq)에 존재하고 있는 경우에는, 양자화 인덱스(Q)는 q가 된다.
그리고, 이것을 역양자화하는 경우에는, 양자화 인덱스(Q)가 0인 경우에는, 역양자화 처리에 의해, 역양자화값(R)=0이 생성되고, 양자화 인덱스(Q)가 1인 경우에는, 역양자화값(R)=1.5×D(c)가 생성된다.
이와 같이, 역양자화 처리가 이루어지면, 양자화 인덱스(Q)에 1대1로 대응하는 역양자화값이 생성된다.
여기서, 문제를 단순화하기 위해서, 양자화 인덱스(Q)가 q가 되는 양자화 구간(Aq) 내에 관해서만 고찰한다.
변환 계수(T)는 양자화 구간(Aq) 내에 존재하고 있다고 가정한다.
도 2의 (b)에 예시하는 바와 같이, 양자화 구간(Aq)은 d1∼d2의 범위라고 가정한다. 이 때, 원래의 변환 계수(T)는 d1∼d2의 범위에 포함된다. 또한, 이 변환 계수(T)의 역양자화값은 R이라고 가정한다.
이 상황에서, 복호 화상을 생성하기 위한 변환 계수는 역양자화값(R)이다. 그러나, 원 화상의 변환 계수(T)는 d1∼d2 범위 중 어느 한 값으로, 역양자화값(R)이라고는 할 수 없다. 이 때, 원래의 변환 계수(T)와 역양자화값(R)의 차분이 생긴다. 이 차분이 부호화 왜곡의 원인이다.
이와 같이, 비가역 부호화 방식에서는, 복수의 데이터 값(각각의 양자화 구간에 존재하는 원 데이터 값)을, 1개의 양자화값(각각의 양자화 구간에 대응하는 양자화값)으로 축퇴시킴으로써, 비가역인 데이터 압축을 실현하고 있지만, 동시에, 이 양자화에 의해 부호화 왜곡이 생긴다.
이러한 부호화 왜곡을 작게 하기 위해서는, 부호화시에 압축 효율을 낮게 하는 것과 같은 파라미터를 선택하면 좋다.
그러나, 이 경우에는, 부호화 효율이 저하되어, 데이터량이 많아져 버린다는 문제점이 있다.
또한, 이미 부호화된 데이터를 고화질화하고자 하는 경우에는, 이 압축 효율을 저하시킨다는 방식을 채용할 수는 없다.
그래서, 본 실시예에서의 복호화 장치(2)는 역양자화값(R)의 빈도 분포를, 입력 화상의 변환 계수(T)의 빈도 분포에 가능한 한 근접시킴으로써, 가능한 입력 화상에 가까운 복호 화상을 생성한다.
즉, JPEG 2000 방식 등의 표준 기술에서는, 역양자화값의 빈도 분포가 값(R)의 1점에만 분포되어 있게 된다. 그러나, 역양자화값의 빈도 분포를, 원 화상의 변환 계수의 빈도 분포에 가능한 한 근접시킴으로써, 보다 좋은 복호화가 실현된다.
왜냐하면, 빈도 분포가 일치하고 있는 경우에, 원 화상과 복호 화상이 일치한다고는 할 수 없지만, 원 화상과 빈도 분포가 다른 복호 화상과, 원화상과 빈도 분포가 가까운 복호 화상에서는, 빈도 분포가 가까운 복호 화상의 쪽이 원 화상에 보다 가깝다고 고려되기 때문이다. 실제로, 문헌(D. Heeger and J. Bergen, “Pyramid based texture analysis/synthesis,”Computer Graphics, pp. 229-238, SIGGRAPH 95, 1995.)에는, 변환 계수의 빈도 분포를 일치시킴으로써, 아주 흡사한 텍스처를 갖는 화상을 합성하는 방법이 기술되어 있다.
본 실시예에서의 복호화 장치(2)는 원 화상과 빈도 분포가 가까운 복호 화상을 생성함으로써, 보다 원 화상에 가까운 텍스처를 갖는 복호 화상을 생성한다.
예를 들면, 이하에 나타내는 3가지 방법을 이용하여, 원래의 변환 계수의 빈도 분포에 가까운 역양자화값을 생성한다.
제 1 방법에서는, 복호화 장치(2)는 양자화 인덱스(또는, 이것에 1대1로 대응하는 역양자화값)의 빈도 분포에 의거하여 변환 계수의 빈도 분포를 추정하고, 추정된 빈도 분포에 의거하여, 양자화 인덱스에 대응하는 역양자화값을 보정한다.
양자화 인덱스(또는, 이것에 1대1로 대응하는 역양자화값)의 빈도 분포는 원래의 변환 계수(T)의 빈도 분포와 근사하고 있다고 고려되기 때문에, 양자화 인덱스(또는, 이것에 1대1로 대응하는 역양자화값)의 빈도 분포와, 양자화 인덱스의 값에 따라서 생성된 복수의 역양자화값의 빈도 분포를 가능한 한 일치시킴으로써, 보다 재현성이 높은 복호 데이터를 얻을 수 있다.
제 2 방법에서는, 복호화 장치(2)는 상기와 마찬가지로, 양자화 인덱스(또는, 이것에 1대1로 대응하는 역양자화값)의 빈도 분포에 의거하여 변환 계수의 빈도 분포를 추정하고, 추정된 빈도 분포에 대응하는 난수를 생성하여, 생성된 난수를 이용하여 양자화 인덱스에 대응하는 역양자화값을 생성한다.
이 경우도, 양자화 인덱스(또는, 이것에 1대1로 대응하는 역양자화값)의 빈도 분포와, 양자화 인덱스의 값에 따라서 생성된 복수의 역양자화값의 빈도 분포를 가능한 한 일치시킬 수 있다.
제 3 방법에서는, 복호화 장치(2)는 주위에 있는 양자화 인덱스(또는, 이것에 1대1로 대응하는 역양자화값)를 참조하여, 처리 대상인 양자화 인덱스에 대응하는 역양자화값을 보정한다.
서로 근접하는 양자화 인덱스간에서는 높은 상관 관계가 보여지기 때문에, 주위의 양자화 인덱스를 참조하여 주목 양자화 인덱스의 역양자화값을 보정함으로써, 보다 재현성이 높은 복호 데이터를 얻을 수 있다.
이와 같이, 상기 3가지 방법 중 적어도 1개를 적용함으로써, 보다 재현성이 높은 복호 데이터를 생성하는 것이 가능하게 된다.
그러나, 도 2에 나타낸 예는 최하위 비트까지 모두 부호화하는 경우에 상당하지만, 하위 비트를 부호화하지 않는 경우도 있다. 하위 비트가 부호화되지 않는 경우, 또는, 하위 비트에 상당하는 부호를 잘라버린 경우(이하, 이들의 경우를 「절사 」라고 총칭), 실질적인 양자화 간격이 달라진다.
도 3은 절사 위치가 다른 경우의 양자화 간격을 예시하는 도면으로, 도 3의 (a)는 최하위 비트까지 존재하는 경우의 양자화 간격을 예시하고, 도 3의 (b)는 최하위 비트만을 제외한 경우의 양자화 간격을 예시한다.
도 3에 예시하는 바와 같이, 비트의 절사 위치가 다르면, 실질적인 양자화 간격이 다르다
이와 같이, 하위 비트가 절사되는 경우도 있기 때문에, 변환 계수의 빈도 분포를 추정하는 경우(상기 제 1 및 제 2 방법 등), 또는, 주위 화소의 양자화 인덱스를 참조하는 경우(상기 제 3 방법 등)에는, 양자화 인덱스에 대응하는 양자화 간격이 다를 수 있는 점에 유의할 필요가 있다.
그래서, 본 실시예에서의 복호화 장치(2)는 절사 위치에 관한 정보에 의거하여, 양자화 인덱스를 복수의 그룹으로 분류하고, 각각의 그룹마다 양자화 인덱스의 빈도 분포를 생성하고, 생성된 양자화 인덱스의 빈도 분포에 의거하여, 변환 계수의 빈도 분포를 추정한다.
[절사 위치에 따른 처리]
다음에, 절사 위치에 따른 처리를 더 구체적으로 설명한다.
본 실시예에서는, 코드 블록마다 처리를 독립시키는 점(요소 1)과, 절사 위치가 다른 빈도 분포를 합성하는 점(요소 2)과, 주위 화소의 양자화 인덱스를 적절히 평가하여 주목 화소의 예비적인 역양자화값을 산출하는 점(요소 3)이 포함되어 있다. 또한, 이들 요소(1∼3)는 각각 단독으로 적용되어도 좋고, 또한, 임의의 조합으로 적용되어도 좋다.
우선, 요소 1에 관하여 설명한다.
JPEG 2000 방식의 부호 데이터에서, 동일한 코드 블록에서의 동일 종류의 변환 계수의 양자화 간격이 근사하고 있다. 구체적으로는, 절사 위치의 차는 동일한 코드 블록 내이면 기껏해야 1비트이다.
그래서, 본 실시예의 복호화 장치(2)는 코드 블록마다 처리를 독립시킨다. 구체적으로는, 복호화 장치(2)는 코드 블록마다 양자화 인덱스의 빈도 분포를 생성한다. 또한, 양자화 인덱스에 대응하는 역양자화값의 산출도 코드 블록마다 이루어져도 좋다.
이와 같이, 코드 블록마다 처리를 독립시키면, 절사된 하위 비트수(S)의 종류는 기껏해야 2가 되어, 빈도 분포의 통합 처리(후술) 등이 용이해진다.
또한, JPEG 2000 방식의 복호 처리는 코드 블록마다 행해지기 때문에, 메모리 효율, 복호화 처리 속도, 실장의 용이함의 관점에서 유리하다. 특히, 빈도 분포(히스토그램)를 코드 블록마다 작성하면 되기 때문에, 부호 전체의 히스토그램을 취할 필요가 없는 점이 좋다.
또한, 코드 블록마다 통계(빈도 분포)를 취하기 위해서, 화상의 국소적인 성질의 변화에 추종할 수 있다.
또한, 본 실시예에서는 코드 블록 내에 절사 위치가 다른 양자화 인덱스가 혼재할 경우(구체적으로는 2종류)에는, 요소 2에 의해 양자화 인덱스의 빈도 분포를 통합하지만, 이것에 한정되는 것이 아니고, 예를 들면, 2종류 되는 양자화 간격 중, 보다 큰 쪽을 채용해도 좋다. 더 구체적으로는, 절사 비트수(S1, S2(S1<S2))인 경우에, 양자화 인덱스 전부를 S2비트만큼 우측으로 시프트하여 모든 양자화 인덱스의 양자화 간격을 통일하여 빈도 분포를 생성한다.
다음에, 요소 2에 관하여 설명한다.
양자화 인덱스의 양자화 간격이 다르면, 단순히 양자화 인덱스의 출현 빈도를 카운트하여 빈도 분포를 작성할 수는 없다. 또한, 상기한 바와 같이, 의사적(擬似的)으로 양자화 간격을 통일하면, 빈도 분포의 정밀도가 저하된다.
그래서, 본 실시예에서의 복호화 장치(2)는 양자화 인덱스의 절사 위치(또 는, 양자화 간격)에 의거하여, 양자화 인덱스를 복수의 그룹으로 분류하고, 분류된 그룹마다 양자화 인덱스의 빈도 분포를 작성하여, 작성된 복수의 빈도 분포를 통합한다.
본 예에서는, 코드 블록마다 처리를 독립시키기 위해서, 절사 비트수는 2종류(S1 및 S2라고 함)가 된다. 그래서, 본 복호화 장치(2)는 절사 비트수의 종류(즉, 유효 비트수의 종류)에 의거하여, 코드 블록에 포함되는 양자화 인덱스를 2개로 분류하고, 절사 비트수(S1)에 대응하는 히스토그램(h1)과, 절사 비트수(S2)에 대응하는 히스토그램(h2)을 작성한다. 다음에, 복호화 장치(2)는 히스토그램(h1)과 히스토그램(h2)을 보다 좁은 양자화 간격을 기준으로 하여 통합하여, 통합 히스토그램(h)을 생성한다. 구체적으로는, 복호화 장치(2)는 양자화 간격이 큰 쪽의 히스토그램의 각 빈도 값을, 보다 양자화 간격이 작은 히스토그램의 각 양자화 구간으로 분배한다. 빈도값의 분배는 분배처의 빈도값의 비에 따라 이루어진다. 또한, 분배처의 빈도값이 0인 경우에는, 분배처의 양자화 구간의 폭에 따른 비로 분배가 이루어진다.
다음에, 요소 3에 관하여 설명한다.
상기 제 3 방법은 주목 양자화 인덱스에 대응하는 역양자화값과, 이 주목 양자화 인덱스의 주위에 있는 양자화 인덱스에 대응하는 역양자화값의 차분을 산출할 필요가 있다.
그러나, 도 3에 예시한 바와 같이, 절사 위치가 다르면, 동일한 양자화 인덱 스에 대응하는 역양자화값이 달라진다. 예를 들면, 도 3의 (a)의 양자화 인덱스 「2」에 대응하는 표준적인 역양자화값(R)은 2.5×D(C)이다. 한편, 도 3의 (b)의 양자화 인덱스「2」에 대응하는 역양자화값(R)은 3.0×D(c)이다.
그래서, 본 실시예에서의 복호화 장치(2)는 주위에 있는 양자화 인덱스 그 자체를 참조하여, 주목 양자화 인덱스에 대응하는 역양자화값을 산출하는 것이 아니고, 주위 양자화 인덱스에 대응하는 역양자화값을 참조하여, 주목 양자화 인덱스에 대응하는 역양자화값을 산출한다.
[실시예]
이하, 본 발명의 실시예를 설명한다.
본 실시예에서는, JPEG 2000 방식에 의해 부호화된 부호 데이터를 복호화하는 경우를 구체예로서 설명한다. 또한, 본 실시예에서 설명하는 복호화 처리는 개략에서, ITU-T 권고 T.800에 기재되어 있는 것과 동일하지만, 본 발명에 따른 역양자화 처리를 적용하는 점에서 다르다.
[하드웨어 구성]
우선, 본 실시예에서의 복호화 장치(2)의 하드웨어 구성을 설명한다.
도 4는 본 발명에 따른 역양자화 방법이 적응되는 복호화 장치(2)의 하드웨어 구성을 제어 장치(20)를 중심으로 예시하는 도면이다.
도 4에 예시하는 바와 같이, 복호화 장치(2)는 CPU(202) 및 메모리(204) 등을 포함하는 제어 장치(20), 통신 장치(22), HDD·CD 장치 등의 기록 장치(24), 및, LCD 표시 장치 또는 CRT 표시 장치 및 키보드·터치 패널 등을 포함하는 유저 인터페이스 장치(UI장치)(26)로 구성된다.
복호화 장치(2)는, 예를 들면, 복호화 프로그램(5)(후술)이 인스톨된 범용 컴퓨터로서, 통신 장치(22) 또는 기록 장치(24) 등을 통하여 부호 데이터를 취득하고, 취득된 부호 데이터를 복호화하여 출력한다.
[복호화 프로그램]
도 5는 제어 장치(20)(도 4)에 의해 실행되고, 본 발명에 따른 역양자화 방법을 실현하는 복호화 프로그램(5)의 기능 구성을 예시하는 도면이다.
도 5에 예시하는 바와 같이, 복호화 프로그램(5)은 엔트로피 복호부(40), 역양자화부(50) 및 역변환부(60)를 갖는다.
또한, 역양자화부(50)는 역양자화값 추정부(500), 분포 추정부(520), 기대값 추정부(540), 난수 발생부(560), 보정부(580) 및 역양자화값 출력부(590)를 포함한다.
복호화 프로그램(5)에서, 엔트로피 복호부(40)는 입력된 부호 데이터를 엔트로피 복호화하여, 역양자화부(50)에 출력한다.
본 예의 엔트로피 복호부(40)는 입력된 부호 데이터를 복호화하여, 양자화 인덱스(Q)를 생성하고, 생성된 양자화 인덱스를 역양자화부(50)에 출력한다.
역양자화부(50)는 엔트로피 복호부(40)로부터 입력된 양자화 인덱스에 의거하여, 역양자화값을 생성하고, 생성된 역양자화값을 역변환부(60)에 출력한다.
본 예의 역양자화부(50)는 JPEG 2000 방식에서의 코드 블록마다, 변환 계수의 분포를 추정하고, 추정된 분포에 따라, 양자화 인덱스에 대응하는 역양자화값을 생성한다.
역변환부(60)는 역양자화부(50)로부터 입력된 역양자화값에 의거하여, 역변환 처리(이산 웨이브릿 역변환 처리)를 행하여, 복호 화상을 생성한다.
역양자화부(50)에서, 역양자화값 추정부(500)는 엔트로피 복호부(40)로부터 입력된 양자화 인덱스에 의거하여, 역양자화값을 추정하고, 추정된 역양자화값을 보정부(580)에 출력한다. 즉, 역양자화값 추정부(500)는 1개의 양자화 인덱스에 대해서, 항상 단일의 역양자화값을 생성하는 것이 아니고, 1개의 양자화 인덱스에 대해서, 서로 다른 복수의 역양자화값을 생성할 수 있다. 환언하면, 역양자화값 추정부(500)는 각각의 양자화 인덱스에 대해서, 1개의 역양자화값을 생성하지만, 입력되는 양자화 인덱스의 값이 동일했다고 해도, 반드시 동일한 역양자화값을 생성하는 것은 아니다.
본 예의 역양자화값 추정부(500)는 주목 블록의 양자화 인덱스와, 주목 블록의 주위에 있는 블록의 양자화 인덱스(동일 변환 계수 종류(c)에 한정)에 의거하여, 주목 블록의 양자화 인덱스에 대응하는 역양자화값(R)의 보정 계수(α)를 산출하고, 산출된 보정 계수(α)를 보정부(580)에 출력한다.
또한, 이하의 설명에서, 각 변환 계수 종류(c) 및 각 양자화 인덱스(q)에 대응하는 보정 계수(α)를 αycq로 기술한다. 또한, 변환 계수 종류(c), 또한, 각 양자화 인덱스가 q가 되는 신호의 수를 K로 하고, 각각의 보정 계수를 αycq(k)로서 표시한다(단, k=1,2,...,K).
분포 추정부(520)는 엔트로피 복호부(40)로부터 입력되는 복수의 양자화 인 덱스(또는, 이들에 대응된 역양자화값)에 의거하여, 변환 계수(원 데이터)의 분포를 추정하고, 추정된 변환 계수의 분포를 나타내는 분포 데이터를 기대값 추정부(540) 및 난수 발생부(560)에 출력한다.
본 예의 분포 추정부(520)는 변환 계수 종류(c)마다, 양자화 인덱스값의 빈도 분포를 산출하고, 산출된 빈도 분포에 의거하여, 변환 계수 종류(c)마다의 분포 데이터를 생성한다.
기대값 추정부(540)는 분포 추정부(520)로부터 입력된 분포 데이터에 의거하여, 역양자화값의 기대값을 산출하고, 산출된 기대값과 분포 데이터를 보정부(580)에 출력한다.
더 구체적으로는, 기대값 추정부(540)는 변환 계수 종류(c)마다 생성된 분포 데이터에 의거하여, 원 데이터의 확률 밀도 함수의 기대값을 양자화 구간마다 산출한다.
변환 계수 종류가 c이고, 또한, 양자화 인덱스(Q(c, i, j))=q인 경우의 기대값은 기대값을 E(αTcq)라고 한다. 즉, 기대값(E(αTcq))는 양자화 인덱스에 1대1로 대응된 역양자화값(R)과, 이 양자화 인덱스에 대응하는 원래의 변환 계수(T)의 차분의 추정 기대값이다.
난수 발생부(560)는 분포 추정부(520)로부터 입력된 분포 데이터에 따라서, 난수를 생성하고, 생성된 난수를 역양자화값 출력부(590)에 출력한다.
보정부(580)는 기대값 추정부(540)로부터 입력된 분포 데이터 또는 기대값에 따라서, 역양자화값 추정부(500)로부터 입력된 역양자화값(본 예에서는, 역양자화 값의 보정 계수(α))을 보정한다.
또한, 보정부(580)는 역양자화값 추정부(500)로부터 입력된 역양자화값(본 예에서는, 역양자화값의 보정 계수(α))을, 기정의 범위(예를 들면, 역양자화값의 경우에, 양자화 인덱스에 대응하는 양자화 구간)에 수용되도록 보정하고, 보정된 역양자화값(보정 계수(α))을 역양자화값 출력부(590)에 출력한다.
본 예의 보정부(580)는 기대값 추정부(540)로부터 입력된 기대값과 역양자화값 추정부(500)에 의해 산출된 보정 계수(α)의 평균값을 변환 계수 종류(c)별, 및 양자화 구간별로 대략 일치하도록, 역양자화값 추정부(500)로부터 입력된 보정 계수(α)를 보정하고, 보정된 보정 계수(α)를, 또한, JPEG 2000 방식에서, Q(c, i, j)>0일 때에, 0≤r+α≤1을 만족시키는 범위, Q(c, i, j)<0일 때에, -1≤-r+α≤O을 만족시키는 범위, Q(c, i, j)=0일 때에, -1≤α≤1을 만족시키는 범위에 들어가도록 선형 보정한다.
보정부(580)에 의한 선형 보정은, 예를 들면, 동일한 양자화 인덱스에 대응하는 보정 계수(α) 중에서, 최대값(αmax) 및 최소값(αmin)을 선택하고, 선택된 최대값(αmax) 및 최소값(αmin)이 기정의 범위에 수용되도록, 이들 보정 계수(α) 전체를 선형 변환함으로써 실현된다.
역양자화값 출력부(590)는 보정부(580)로부터 입력된 역양자화값(본 예에서는, 역양자화값의 보정 계수(α)), 또는 난수 발생부(560)로부터 입력된 난수를 이용하여, 적용할 역양자화값을 결정하고, 결정된 역양자화값을 역변환부(60)에 출력한다.
본 예의 역양자화값 출력부(590)는 보정부(580) 또는 난수 발생부(560)로부터 입력된 보정 계수(α)와, 양자화 인덱스(또는 이것에 대응된 역양자화값)에 의거하여 역양자화값을 산출한다. 더 구체적으로는, 이하의 식에 의해, 역양자화값 출력부(590)는 적용할 역양자화값 Ry(c, i, j)를 산출한다.
Ry(c, i, j)={Q(c, i, j)+α(c, i, j)}×D(c)
즉, 본 예의 복호화 프로그램(5)은 난수 발생부(560)에 의해 발생시킨 난수를 역양자화값 그 자체로서 적용하는 것이 아니고, 난수 발생부(560)에 의해 발생시킨 난수를 역양자화값의 보정 계수(α)로서 적용한다.
[역양자화값 추정부]
도 6은 역양자화값 추정부(500)(도 5)를 더 상세하게 설명하는 도면이다.
도 6에 예시하는 바와 같이, 역양자화값 추정부(500)는 주변 신호 추출부(502), 차분 연산부(504), 비상관 신호 제거부(506) 및 필터 처리부(508)를 포함한다.
역양자화값 추정부(500)에서, 주변 신호 추출부(502)는 처리 대상인 양자화 인덱스(Q(c, i, j))의 주위 양자화 인덱스(Q(c, i+m, j+n))를 추출한다(단, -M≤m≤M, -N≤n≤N). 또한, 여기서 추출된 주위 양자화 인덱스는, (2M+1)×(2N+1)의 행렬이 된다.
차분 연산부(502)는 주변 신호 추출부(502)에 의해 추출된 각각의 주위 양자화 인덱스(Q(c, i+m, j+n))에 대응하는 역양자화값 R(c, i+m, j+n)과, 처리 대상인 양자화 인덱스(Q(c, i, j))에 대응하는 역양자화값 R(c, i, j)의 차분을 산출한다. 양자화 인덱스에 의해 양자화 간격이 다른 경우에는, 양자화 인덱스의 차분보다도 역양자화값의 차분 쪽이 적절하기 때문이다.
본 예의 차분 연산부(502)는 이하의 연산을 행하여, 차분값 P(m, n)로 구성된 (2M+1)×(2N+1)의 차분 행렬을 작성한다.
R(c, i, j)=(Q(c, i, j)+α×2S(c, i, j))×D(c, i, j)
P(m, n)={R(c, i+m, j+n)-R(c, i, j)}/D(c, i, j)
또한, S(c, i, j)는 절사 비트수이고, D(c, i, j)는 양자화 간격이다.
비상관 신호 제거부(504)는 기정의 임계값(TH)을 이용하여, 처리 대상인 양자화 인덱스(Q(c, i, j))와의 상관이 적은 주위 양자화 인덱스(Q(c, i+m, j+n))를 제거한다.
더 구체적으로는, 비상관 신호 제거부(504)는 차분 연산부(502)에 의해 주위양자화 인덱스(Q(c, i+m, j+n)) 각각에 대해서 산출된 차분이 임계값(TH)보다도 큰 경우에는, 상관이 적은 것으로 판정하여, 이 주위 양자화 인덱스(Q(c, i+m, j+n))를 제거한다.
본 예의 비상관 신호 제거부(504)는 차분 연산부(502)에 의해 작성된 차분 행렬에서, 차분값의 절대값│P(m, n)│이 임계값(TH)보다도 큰 경우에, 이 P(m, n)=0으로 한다.
임계값(TH)은 예를 들면 1이다.
필터 처리부(508)는 주변 신호 추출부(502)에 의해 추출된 주위 양자화 인덱스(Q(c, i+m, j+n))(단, 비상관 신호 제거부(504)에 의해 제거된 주위 양자화 인덱 스를 제외함)에 의거하여, 처리 대상인 양자화 인덱스(Q(c, i, j))의 보정 계수(α)를 산출한다.
더 구체적으로는, 필터 처리부(508)는 차분 연산부(504)에 의해 산출된 차분(비상관 신호 제거부(504)에 의해 제거된 것을 제외함)에 의거하여, 보정 계수(α)를 산출한다.
본 예의 필터 처리부(508)는 (2M+1)×(2N+1)의 필터 커널(kernel ; K(m, n))을 준비한다. 이 필터 커널(K)은 2차원의 저역(低域) 통과 특성을 갖는 필터인 것이 바람직하다.
예를 들면, 임계값(TH)=1, 또한, 필터(K)의 계수(중심을 제외함)가 플러스값인 경우의 연산 결과를 고찰하면, 플러스가 되는 주위 양자화 인덱스가 많을 때에는, α값은 플러스의 값을 취한다. 또한, 플러스가 되는 주위 양자화 인덱스가 많으면 많을수록, α값이 큰 값을 취한다. 마이너스가 되는 주위 양자화 인덱스가 많은 경우도 마찬가지로 α값이 마이너스가 된다. 플러스 마이너스 동수의 경우에는, α값의 추정값은 0이 된다. 또한, 주위 양자화 인덱스의 값이 주목 양자화 인덱스와 동떨어져 있는 경우에는, α값의 추정에 그 값을 사용하지 않을 수 있다.
[분포 추정부]
도 7은 분포 추정부(520)(도 5)를 더 상세하게 설명하는 도면이다.
도 7에 예시하는 바와 같이, 분포 추정부(520)는 제로 판정부(522), 비제로 변환 계수 분포 추정부(524) 및 제로 변환 계수 분포 추정부(526)를 포함한다. 또한, 비제로 변환 계수 분포 추정부(524)는 분포 판정부(530)를 포함한다.
분포 추정부(520)에서, 제로 판정부(522)는 엔트로피 복호부(40)로부터 입력된 양자화 인덱스를 이 양자화 인덱스에 대응하는 원 데이터의 속성(예를 들면, 변환 계수의 종류)에 따라 분류하고, 각각의 속성으로 분류된 양자화 인덱스군만으로 원 데이터의 빈도 분포가 추정 가능한지의 여부(환언하면, 다른 속성으로 분류된 양자화 인덱스군과의 상관을 이용하여 빈도 분포를 추정할 필요가 있는지의 여부)를 판정한다.
본 예의 제로 판정부(522)는 엔트로피 복호부(40)로부터 입력되는 양자화 인덱스가 제로 변환 계수에 상당하는지 비제로 변환 계수에 상당하는지를 판정하여, 비제로 변환 계수에 상당한다고 판정된 양자화 인덱스를 비제로 변환 계수 분포 추정부(524)에 출력하고, 제로 변환 계수에 상당한다고 판정된 양자화 인덱스에 대해서는, 비제로 변환 계수의 분포를 사용한 분포 추정 처리를 행하도록 제로 변환 계수 분포 추정부(526)에 지시한다.
여기서, 비제로 변환 계수란, 어느 변환 계수 종류(c)의 양자화 인덱스 중 어느 하나가 0이 아닌 변환 계수이다. 또한, 제로 변환 계수란, 어느 변환 계수 종류(c)의 모든 양자화 인덱스가 0인 변환 계수이다. 환언하면, 제로 변환 계수가 아닌 변환 계수가 비제로 변환 계수이다.
비제로 변환 계수 분포 추정부(524)는 제로 판정부(522)로부터 입력된 양자화 인덱스에 의거하여, 원 데이터(본 예에서는, 변환 계수)의 빈도 분포를 추정한다.
더 구체적으로는, 비제로 변환 계수 분포 추정부(524)는 동일한 속성을 갖는 양자화 인덱스군(본 예에서는, 동일한 변환 계수(c)에 대응하는 복수의 양자화 인덱스)의 빈도 분포를 유효 비트 길이(절사 위치)마다 생성하고, 생성된 양자화 인덱스의 빈도 분포에 의거하여, 양자화 인덱스의 확률 밀도 함수를 작성한다. 이 확률 밀도 함수는 변환 계수의 확률 밀도 함수와 근사한 것으로서 적용된다.
본 예에서는, 분포 판정부(530)가 제로 판정부(522)로부터 입력된 양자화 인덱스(비제로 변환 계수에 대응하는 양자화 인덱스)(Q(c, i, j))의 히스토그램(hc(q))을, 코드 블록, 변환 계수 종류(c), 및 절사 위치별로 작성한다.
예를 들면, 분포 판정부(530)는 양자화 인덱스(Q(c, i, j))의 값이 q인 경우에, ht(c, q, i, j)=1, 상기 이외의 경우에, ht(c, q, i, j)=0이 되는 함수를 정의하여, 이하의 식에 의해 히스토그램(hc(q))을 작성한다.
[수식 1]
Figure 112006068707637-pat00001
다음에 본 예의 비제로 변환 계수 분포 추정부(524)는 분포 판정부(530)에 의해 작성된 히스토그램(hc(q))을 라플라스 분포로 근사시키고, 이 라플라스 함수를 변환 계수(T)의 분포 함수로 한다.
라플라스 분포의 식은 이하로 나타낼 수 있다.
[수식 2]
Figure 112006068707637-pat00002
비제로 변환 계수 분포 추정부(524)는 상기 식의 σ를 산출함으로써, 변환 계수(T)의 분포 함수를 얻을 수 있다.
우선, 비제로 변환 계수 분포 추정부(524)는 작성된 히스토그램(hc(q))을 양자화 구간의 폭 D(c) 및 양자화 인덱스의 총 수로 정규화하고, 확률 밀도 함수 fhc(x)로 변환한다. 구체적으로는, 이하의 식에 의해, 비제로 변환 계수 분포 추정부(524)는 히스토그램(hc(q))을 확률 밀도 함수 fhc(x)로 변환한다.
[수식 3]
Figure 112006068707637-pat00003
단, (q-0.5)×D(c)<x≤(q+0.5)×D(c)
다음에, 비제로 변환 계수 분포 추정부(524)는 히스토그램(hc(q))에 근사한 라플라스 함수를 산출한다.
또한, 난수 발생부(560)는 양자화 인덱스가 0인 경우에, 이 표준 편차(σ)의 라플라스 분포의 난수를 발생시켜서, 역양자화값이라고 한다.
제로 변환 계수 분포 추정부(526)는 제로 판정부(522)로부터의 지시에 따라서, 비제로 변환 계수 분포 추정부(524)에 의해 추정된 다른 변환 계수(비제로 변환 계수)의 빈도 분포에 의거하여, 제로 변환 계수의 빈도 분포를 추정한다.
즉, 비제로 변환 계수 분포 추정부(524)는 히스토그램이 의미가 있는 형상을 가질 경우에만 분포의 추정이 가능하지만, 모든 빈도값이 0이 되는 히스토그램이 작성되는 경우에는, 분포의 형상을 추정할 수 없다.
그래서, 제로 변환 계수 분포 추정부(526)는 이미 구한 다른 분포 데이터(본 예에서는, σ값)를 이용하여, 변환 계수 종류(c)의 모든 양자화 인덱스가 0이 되는 경우의 라플라스 분포의 형상을 추정한다.
구체적으로는, 제로 변환 계수 분포 추정부(526)는 비제로 변환 계수 분포 추정부(524)에 의해 산출된 표준 편차 σ(x, y)를, 2차원의 지수 함수로 근사시킨다. 즉, σ(x, y)=Cexp(-ax-by)라고 한다.
제로 변환 계수 분포 추정부(526)는 σ(x, y)=Cexp(-ax-by)에서의 파라미터(C, a, b)를 산출하고, 근사 함수 σ(x, y)를 결정하여, 결정된 근사 함수 σ(x, y)를 이용해서, 제로 변환 계수에 상당하는 σ값을 산출한다.
도 8은 분포 판정부(530)(도 7)를 더 상세하게 설명하는 도면이다.
도 8에 예시하는 바와 같이, 분포 판정부(530)는 유효 자릿수 판정부(532), 빈도 정보 생성부(534), 및 빈도 정보 통합부(536)를 포함한다.
분포 판정부(530)에서, 유효 자릿수 판정부(532)는 양자화 인덱스를 나타내는 비트열의 유효 비트 길이를 판정하고, 판정된 유효 비트 길이에 의거하여, 입력되는 양자화 인덱스를 분류한다.
본 예에서는, 코드 블록마다 양자화 인덱스가 입력되기 때문에, 유효 자릿수 판정부(532)는 2종류의 유효 비트 길이(절사 위치) 중, 어느 양자화 인덱스인지를 판정하고, 판정 결과에 의거하여, 코드 블록에 포함되는 양자화 인덱스를 절사 비 트수(S1)의 그룹과, 절사 비트수(S2)의 그룹으로 분류한다.
빈도 정보 생성부(534)는 유효 자릿수 판정부(532)에 의해 분류된 양자화 인덱스에 의거하여, 분류별로 양자화 인덱스값의 빈도 분포 정보를 생성한다.
본 예의 빈도 정보 생성부(534)는 절사 비트수(S1)의 그룹과, 절사 비트수(S2)의 그룹에 대해서, 각각 히스토그램(빈도 분포 정보)을 작성한다.
빈도 정보 통합부(536)는 빈도 정보 생성부(534)에 의해 생성된 빈도 분포 정보를 통합한다.
본 예의 빈도 정보 통합부(536)는 절사 비트수(S1)의 히스토그램과, 절사 비트수(S2)의 히스토그램을 가장 미세한 양자화 간격을 이용하여 통합한다. 또한, 이하의 설명에서, S1이 S2보다도 작은 경우(즉, S1의 그룹의 양자화 간격이 S2의 그룹보다도 좁은 경우)를 구체예로서 설명한다.
도 9는 빈도 정보 통합부(536)에 의한 히스토그램의 통합 방법을 예시하는 도면이다.
도 9의 (a)에 예시하는 바와 같이, 절사 비트수(S1)의 히스토그램(h1)이 절사 비트수(S2)의 히스토그램(h2)보다도 좁은 양자화 간격을 갖는 경우에는, 빈도 정보 통합부(536)는 보다 넓은 양자화 간격을 갖는 S2의 빈도값(h2)을 분할하여, 가장 양자화 간격이 좁은 S1의 히스토그램(h1)에 분배한다. 이하, 이와 같이 분배되는 빈도값을 분배값이라고 부른다.
본 예의 빈도 정보 통합부(536)는 도 9의 (B)에 예시하는 바와 같이, 분배처의 빈도값(본 예에서는, S1의 각 양자화 구간의 빈도값)에 비례하도록, S2의 빈도값(h2)을 분할하여, 각 분배값을 결정한다.
또한, 분배처의 빈도값이 모두 0인 경우에는, 빈도 정보 통합부(536)는 분배처의 양자화 구간의 폭(양자화 간격)에 비례하도록, 분배원(S2)의 빈도값(h2)을 분할하여, 분배값을 산출한다.
그리고, 빈도 정보 통합부(536)는 도 9의 (c)에 예시하는 바와 같이, 각 분배값을 분배처의 히스토그램(h1)에 가산하여, 통합된 히스토그램(h)을 작성한다.
[보정부]
도 10은 보정부(580)(도 5)를 더 상세하게 설명하는 도면이다.
도 10에 예시하는 바와 같이, 보정부(580)는 분포 정보 특정부(582), 기대값 시프트부(584) 및 기대값 보정부(586)를 포함한다.
보정부(580)에서, 분포 정보 특정부(582)는 역양자화값 추정부(500)로부터 입력된 역양자화값(본 예에서는, 보정 계수(α))의 평균값, 최소값 및 최대값을, 변환 계수 종류별 및 양자화 인덱스값별로 산출하여, 산출된 평균값, 최소값 및 최대값을, 입력된 역양자화값과 함께 기대값 시프트부(584)에 출력한다.
이하, 분포 정보 특정부(582)에 의해 산출된 평균값, 최소값, 및, 최대값은 평균값(αycqMean), 최대값(αycqMin), 및, 최소값(αycqMax)으로서 나타낸다. 이 들의 값은 변환 계수 종류(c) 및 양자화 인덱스값(q) 각각의 조합에 대해서 산출되고, 이하에 설명하는 기대값 시프트부(584) 및 기대값 보정부(586)의 처리도, 변환 계수 종류(c) 및 양자화 인덱스값(q)의 조합 각각에 대해서 이루어진다.
기대값 시프트부(584)는 분포 정보 특정부(582)로부터 입력된 보정 계수(αycq(k)) 및 보정 계수의 평균값(αycqMean)과, 기대값 추정부(540)로부터 입력된 기대값(E(αTcq))을 이용해서, 이하의 연산을 행하여, 시프트 보정 후의 보정 계수(αxcql(k))를 산출한다.
αxcql(k)=αycq(k)+E(αTcq)-αycqMean
상기의 처리는, k=1, 2, ..., K에 대해서 행해진다.
또한, 기대값 시프트부(584)는 마찬가지로, 최대값 및 최소값도 시프트한다.
즉, 기대값 시프트부(584)는 이하의 연산을 행하여, 시프트 보정 후의 최소값(αycqMin1) 및 최대값(αycqMax1)을 산출한다.
αycqMin1=αxcqMin+E(αTcq)-αycqMean
αycqMax1=αxcqMax+E(αTcq)-αycqMean
기대값 보정부(586)는 시프트 보정 후의 보정 계수(αxcql(k))가 모두 기정의 범위에 수용되도록 범위 보정을 행한다. 여기서, 범위 보정이란, 수치군을 일정한 범위에 수용하는 보정을 말한다.
구체적으로는, 기대값 보정부(586)는 시프트 보정 후의 보정 계수(αxcql)의 평균값을 변화시키지 않고, 이들 보정 계수의 범위를 일정한 범위(αmin∼αmax)로 한다.
이상의 범위 보정에 의해, 기대값 보정부(586)는 범위 보정 후의 보정 계수(αxcq2(k))를 얻는다.
도 11은 기대값 시프트부(584) 및 기대값 보정부(586)에 의한 보정을 모식적으로 설명하는 도면이다.
도 11의 (a)에 나타낸 바와 같이, 기대값 시프트부(584)는 변환 계수(T)의 추정 기대값(a1)과, 역양자화 값의 기대값(a2)이 일치하도록, 역양자화값의 분포를 시프트한다(a3).
또한, 도 11의 (b)에 나타낸 바와 같이, 역양자화값(본 예에서는, 보정 계수(α))의 분포가, 양자화 구간(d1∼d2)(본 예에서는, α의 범위 αmin∼αmax)으로부터 벗어나는 경우(b1)에, 기대값 보정부(586)는 역양자화값(보정 계수(α))의 기대값을 변동되지 않도록, 분포를 기대값을 향하여 작게 한다(b2).
또한, 본 예에서는, 기대값 시프트부(584) 및 기대값 보정부(586)가 따로따로 보정 처리를 행하고 있지만, 이들 보정 처리를 1개의 보정 처리로 통합해도 좋다.
[전체 동작]
다음에, 복호화 장치(2)(복호화 프로그램(5))의 전체 동작을 설명한다.
도 12는 복호화 프로그램(5)(도 5)에 의한 복호화 처리(S10)의 플로차트이다. 또한, 본 예에서는, 화상 데이터의 부호 데이터(JPEG 2000 방식)가 입력되는 경우를 구체예로서 설명한다.
도 12에 나타낸 바와 같이, 스텝 100(S100)에서, 엔트로피 복호부(40)(도 5) 는 입력된 부호 데이터를 복호화하여, 양자화 인덱스를 생성하고, 생성된 각 블록의 양자화 인덱스를 역양자화부(50)에 출력한다.
스텝 105(S105)에서, 역양자화부(50)는 엔트로피 복호부(40)로부터 입력된 양자화 인덱스를 코드 블록마다 분할하여, 처리 대상으로 할 주목 코드 블록을 설정한다.
역양자화부(50)는 설정된 주목 코드 블록에 대해서 S110∼S155의 처리를 행한다.
스텝 110(S110)에서, 분포 추정부(520)는 주목 코드 블록에 포함되는 복수의 양자화 인덱스에 의거하여, 변환 계수(T)의 분포를 변환 계수 종류 및 절사 비트 위치마다 추정한다.
구체적으로는, 유효 자릿수 판정부(532)는 주목 코드 블록에 포함되는 양자화 인덱스를, 절사 비트수(S1)의 양자화 인덱스와, 절사 비트수(S2)의 양자화 인덱스로 분류한다.
빈도 정보 생성부(534)는 절사 비트수(S1)의 양자화 인덱스와, 절사 비트수(S2)의 양자화 인덱스에 대해서, 각각 히스토그램을 작성한다.
빈도 정보 통합부(538)는 작성된 2개의 히스토그램을, 도 9에 예시하는 바와 같이 통합하여 히스토그램(h)을 작성한다.
비제로 변환 계수 분포 추정부(524)는 분포 추정부(520)에 의해 작성된 히스토그램(h)에 근사한 라플라스 함수(L)(즉, σ값)를 산출한다.
또한, 제로 변환 계수 분포 추정부(526)는 비제로 변환 계수 분포 추정부(524)에 의해 산출된 빈도 분포를 지수 함수로 근사시키고, 이 지수 함수를 이용하여, 제로 변환 계수의 빈도 분포(즉, σ값)를 추정한다.
스텝 115(S115)에서, 역양자화부(50)(도 5)는 주목 코드 블록에 포함되는 양자화 인덱스를 순차적으로, 주목 양자화 인덱스로 설정한다.
역양자화값 추정부(500)(도 5)는 주목 양자화 인덱스(Q)(c, i, j)의 주위 양자화 인덱스(Q)(c, i+m, j+n)를 추출한다(본 예에서는, -1≤m≤1, -1≤n≤1). 또한, 추출되는 주위 양자화 인덱스는 주목 블록을 중심으로 한 3×3개의 블록에서의 동일한 변환 계수 종류(c)에 대응하는 양자화 인덱스값으로, 3×3의 행렬이 된다.
스텝 120(S120)에서, 역양자화값 추정부(500)는 추출된 주위 양자화 인덱스와, 주목 양자화 인덱스를 이용하여, 차분 행렬(P)을 작성한다.
다음에, 역양자화값 추정부(500)는 차분 행렬(P)에 포함되는 각 차분값의 절대값│(m, n)│과, 임계값(TH)(예를 들면, 1)을 비교하여, 임계값(TH)보다도 큰 차분값(P(m, n))을 O으로 한다(임계값 처리). 즉, 역양자화값 추정부(500)는 주목 양자화 인덱스값과의 차분이 임계값보다도 큰 주위 양자화 인덱스값을 비상관 신호로서 제거한다.
스텝 125(S125)에서, 역양자화부(50)(도 5)는 주목 양자화 인덱스에 대해서, 역양자화값의 추정이 가능한지의 여부를 판정한다.
구체적으로는, 역양자화부(50)는 주목 양자화 인덱스와, 임계값 처리가 실시된 차분 행렬(P)의 전체 성분이 0인 경우(예를 들면, 모든 차분값(P)이 비상관 신 호로서 제거된 경우 등)에, 역양자화값의 추정이 불가능하다고 판정하고, 이 이외의 경우에, 역양자화값의 추정이 가능하다고 판정한다.
역양자화부(50)는 역양자화값의 추정(본 예에서는, 보정 계수(α)의 추정)이 가능하다고 판정된 경우에, S130의 처리로 이행하고, 상기 추정이 불가능하다고 판정된 경우에, S135의 처리로 이행한다.
스텝 130(S130)에서, 역양자화값 추정부(500)는 저역 통과 특성을 갖는 3×3의 필터 커널 K(m, n)을 이용하여, 임계값 처리가 이루어진 차분 행렬(P)에 대해서 콘볼루션(convolution) 연산을 행하여, 보정 계수(αycq)를 산출한다. 따라서, 주목 양자화 인덱스의 값이 동일하여도, 그 주위에 존재하는 주위 양자화 인덱스가 다르면, 산출되는 보정 계수(αycq)는 서로 다른 값을 취한다.
스텝 135(S135)에서, 난수 발생부(560)는 주목 양자화 인덱스에 대해서, 분포 추정부(520)로부터 입력된 분포 데이터에 따른 난수를 생성하고, 생성된 난수를 보정 계수(α)로서 역양자화값 출력부(590)에 출력한다.
구체적으로는, 난수 발생부(560)는 비제로 변환 계수 분포 추정부(524) 및 제로 변환 계수 분포 추정부(526)에 의해 추정된 분포 중, 주목 양자화 인덱스에 대응하는 분포를 선택하고, 선택된 분포에 합치한 난수를 발생시켜서, 이 난수를 보정 계수(α)로서 역양자화값 출력부(590)에 출력한다.
스텝 140(S140)에서, 역양자화부(50)는 주목 코드 블록에 포함되는 모든 양자화 인덱스에 대해서, 보정 계수(α)가 생성되었는지의 여부를 판정하고, 모든 양자화 인덱스에 대해서 보정 계수(α)가 생성된 경우에, S145의 처리로 이행하고, 이 이외의 경우에, S115의 처리로 복귀하여, 다음 양자화 인덱스를 주목 양자화 인덱스로서 처리한다.
스텝 145(S145)에서, 기대값 추정부(540)는 분포 추정부(520)로부터 입력된 분포 데이터에 의거하여, 변환 계수 종류 및 양자화 인덱스의 조합별로, 확률 밀도함수의 기대값 E(αTcq)을 산출하고, 산출된 기대값 E(αTcq)을 보정부(580)에 출력한다.
스텝 150(S150)에서, 보정부(580)는 역양자화값 추정부(500)에 의해 산출된 보정 계수(α)를 변환 계수 종류별 및 양자화 인덱스별로 분류하고, 분류된 보정 계수(α)의 최소값, 최대값 및 평균값을 산출한다.
보정부(580)는 다음에, 기대값 추정부(540)로부터 입력된 기대값 E(αTcq)과, 산출된 평균값을 변환 계수 종류와 양자화 인덱스의 조합별로 비교하여, 이들이 일치하도록, 변환 계수 종류 및 양자화 인덱스의 조합으로 분류된 보정 계수(αycq)군을 시프트한다(시프트 보정).
또한, 보정부(580)는 시프트 보정이 이루어진 보정 계수(α)군이 기정 범위에 수용되어 있는지의 여부를 판정하고, 수용되어 있지않은 경우에, 보정 계수(αycq)군의 평균값을 변경하지 않고, 보정 계수(αycq)군의 범위를 기정 범위에 수용하는 범위 보정을 행한다.
스텝 155(S155)에서, 역양자화값 출력부(590)(도 5)는 주목 양자화 인덱스(Q)와, 보정부(580)로부터 입력된 보정 계수(α) 또는 난수 발생부(560)로부터 입력된 보정 계수(α)에 의거하여, 적용할 역양자화값(Ry)을 산출하고, 산출된 역 양자화값(Ry)을 역변환부(60)에 출력한다.
구체적으로는, 본 예의 역양자화값 출력부(590)는 이하의 연산을 행하여 역양자화값(Ry)을 산출한다.
Ry(c, i, j)={Q(c, i, j)+α(c, i, j)}×D(c)
스텝 160(S160)에서, 역양자화부(50)는 부호 데이터에 포함되는 모든 코드 블록에 대해서, 역양자화값이 산출되었는지의 여부를 판정하고, 모든 코드 블록에 대해서 역양자화값이 산출된 경우에, S165의 처리로 이행하고, 이 이외의 경우에, S105의 처리로 복귀하여, 다음의 코드 블록을 주목 코드 블록으로 설정한다.
스텝 165(S165)에서, 역변환부(60)(도 5)는 역양자화부(50)로부터 입력된 역양자화값(근사적인 변환 계수)을 이용하여, 역변환 처리(본 예에서는 역 웨이브릿변환)를 행하여, 복호 화상(H)을 생성한다.
이상 설명한 바와 같이, 본 실시예에서의 복호화 장치(2)는 양자화 인덱스 에 의거하여, 변환 계수의 분포를 추정하고, 추정된 분포에 합치한 난수를 발생시켜서, 이 난수에 의거하여 역양자화값을 생성한다.
이에 따라, 역양자화값의 빈도 분포가 변환 계수의 빈도 분포보다 가까워지기 때문에, 보다 재현성이 높은 복호 화상을 기대할 수 있다.
[변형예 1]
상기 실시예에서는 양자화 간격이 넓은 쪽의 양자화 구간의 경계가 다른 쪽 양자화 구간의 경계와 일치하는 경우를 구체예로서 설명했지만, 도 13의 (a)에 예시하는 바와 같이, 일치하지 않는 경우도 있다.
그래서, 제 1 변형예에서는, 양자화 구간의 경계가 일치하지 않는 경우의 빈도값의 분배 방법을 설명한다.
본 변형예의 빈도 정보 통합부(536)는 도 13의 (a)에 예시하는 바와 같이 양자화 구간의 경계가 일치하지 않는 경우에, 양자화 구간의 중첩 정도에 따라서, 빈도값(히스토그램(h2))을 분배한다.
구체적으로는, 빈도 정보 통합부(536)는 양자화 구간의 중첩률(r)(예를 들면, r(m)=(양자화 구간(D1)과 양자화 구간(D2)의 겹치는 구간 길이)/(양자화 구간(D1)의 구간 길이), r(m+1)=1)에 따라서, 도 13의 (b)에 예시하는 식에 의해, 서로 겹친 영역(본 도면에서는 D2)에서의 통합 후의 히스토그램을 작성한다.
[변형예 2]
상기 실시예에서는, 양자화 인덱스의 유효 비트 길이(절사 위치)마다 히스토그램이 작성되어, 이들 히스토그램이 통합되어 있지만, 이것에 한정되는 것이 아니고, 제 2 변형예에서의 빈도 정보 통합부(536)(분포 정보 선택 수단)는 양자화 인덱스의 유효 비트 길이(절사 위치)마다 작성된 복수의 히스토그램(빈도 분포 정보) 중, 처리 대상이 되는 양자화 인덱스의 유효 비트 길이에 대응하는 히스토그램을 선택하여 적용한다.
[변형예 3]
상기 실시예에서는, 역양자화값이 양자화 간격에 따라 다르기 때문에, 역양자화값 추정부(500)는 주위의 양자화 인덱스에 대응하는 역양자화값을 산출하고 나서, 산출된 주위의 역양자화값을 이용하여, 주목 양자화 인덱스에 대응하는 역양자 화값을 산출하고 있다. 그 때문에 연산 부하가 커진다.
그래서, 제 3 변형예에서의 역양자화값 추정부(500)는 양자화 간격을 가장 넓은 것에 일치시키고, 주위의 양자화 인덱스 그 자체를 이용하여, 주목 양자화 인덱스에 대응하는 역양자화값(또는, 보정 계수(α))을 산출한다.
구체적으로는, 역양자화값 추정부(500)는 절사된 비트수 중, 최대의 비트수만큼, 코드 블록에 포함되는 전체 양자화 인덱스를 우측으로 비트 시프트하여, 코드 블록에 포함되는 양자화 인덱스에 대응하는 양자화 간격을 통일한다.
다음에, 역양자화값 추정부(500)는 이하의 연산을 행하여, 차분값 P(m, n)로 구성된 (2M+1)×(2N+1)의 차분 행렬을 작성한다.
P(m, n)=Q(c, i+m, j+n)-Q(c, i, j)
그리고, 역양자화값 추정부(500)는 비상관 신호 제거부(504)에 의한 비상관 신호의 제거 등을 행한 후에, 필터 커널(k)을 이용하여, 주목 양자화 인덱스(Q(c, i, j))의 보정 계수(α)를 산출한다.
이와 같이, 제 3 변형예에서는, 주위 양자화 인덱스에 대응하는 역양자화값을 산출할 필요가 없기 때문에, 고속 처리가 가능하게 된다.
[기타 변형예]
또한, 상기 실시예에서는, 코드 블록마다 역양자화 처리를 독립시키고 있기 때문에, 양자화 인덱스의 유효 비트수는 기껏해야 2종류였지만, 3종류 이상의 유효 비트수가 존재하는 경우에도 마찬가지로 히스토그램의 통합 등을 행할 수 있다. 이 경우에도, 상기 실시예와 마찬가지로, 어느 한 양자화 간격을 기준으로 하여, 이 기준이 되는 히스토그램에 대해서, 다른 히스토그램의 빈도값을 분배함으로써, 히스토그램의 통합을 행한다.
또한, 상기 실시예에서는, 복수 종류의 유효 비트수가 존재하는 경우에는, 가장 양자화 간격이 좁은 히스토그램을 기준으로 하고 있지만, 가장 양자화 간격이 넓은 히스토그램을 기준으로 해도 좋다. 이 경우에는, 최대의 절사 비트수만큼, 양자화 인덱스를 우측으로 비트 시프트함으로써, 양자화 간격을 통일할 수 있으므로, 히스토그램의 통합이 용이해진다.
본 발명의 복호화 장치에 의하면, 부호 데이터를 보다 적절하게 복호화할 수 있다.

Claims (12)

  1. 입력 부호 데이터에 포함되는 양자화 인덱스를, 복수의 그룹으로 분류하는 분류 수단과,
    상기 분류 수단에 의해 분류된 양자화 인덱스에 의거하여 각각의 그룹에 대해서 양자화 인덱스의 분포 정보를 생성하는 분포 정보 생성 수단과,
    상기 분포 정보 생성 수단에 의해 생성된 분포 정보에 의거하여, 각각의 양자화 인덱스에 대응하는 역양자화값을 생성하는 역양자화값 생성 수단을 가지고,
    상기 분류 수단은 양자화 인덱스를 나타내는 비트열의 유효 비트 길이에 의거하여, 양자화 인덱스를 분류하고,
    상기 분포 정보 생성 수단은 상기 그룹마다, 양자화 인덱스의 분포 정보를 생성하는 복호화 장치.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 분포 정보 생성 수단은 상기 분류 수단에 의해 분류된 양자화 인덱스값에 의거하여, 그룹마다 양자화 인덱스값의 빈도 분포 정보를 생성하고,
    상기 역양자화값 생성 수단은 그룹마다 생성된 빈도 분포 정보에 의거하여, 역양자화값을 생성하는 복호화 장치.
  4. 제 3 항에 있어서,
    상기 분포 정보 생성 수단에 의해 그룹마다 생성된 복수의 빈도 분포 정보에 의거하여, 1개의 빈도 분포 정보를 생성하는 분포 정보 합성 수단을 더 가지며,
    상기 역양자화값 생성 수단은 상기 분포 정보 합성 수단에 의해 생성된 빈도 분포 정보에 의거하여, 역양자화값을 생성하는 복호화 장치.
  5. 제 4 항에 있어서,
    상기 분포 정보 합성 수단은 각각의 그룹에 속하는 양자화 인덱스의 양자화 간격에 의거하여, 그룹마다 생성된 복수의 빈도 분포 정보를 통합하여, 1개의 빈도 분포 정보를 생성하는 복호화 장치.
  6. 제 5 항에 있어서,
    상기 분포 정보 합성 수단은 각각의 그룹에 대응하는 양자화 간격 중, 가장 미세한 양자화 간격을 이용하여 빈도 분포 정보를 통합하는 복호화 장치.
  7. 입력 부호 데이터에 포함되는 양자화 인덱스를, 복수의 그룹으로 분류하는 분류 수단과,
    상기 분류 수단에 의해 분류된 양자화 인덱스에 의거하여 각각의 그룹에 대해서 양자화 인덱스의 분포 정보를 생성하는 분포 정보 생성 수단과,
    상기 분포 정보 생성 수단에 의해 생성된 분포 정보에 의거하여, 각각의 양자화 인덱스에 대응하는 역양자화값을 생성하는 역양자화값 생성 수단을 가지고,
    입력되는 부호 데이터는 JPEG 2000 방식으로 부호화된 데이터이며,
    상기 분류 수단은 부호 데이터에 포함되는 양자화 인덱스를 코드 블록마다 분류하고,
    상기 분포 정보 생성 수단은 코드 블록마다, 양자화 인덱스의 분포 정보를 생성하는 복호화 장치.
  8. 제 3 항에 있어서,
    상기 분포 정보 생성 수단에 의해 그룹마다 생성된 빈도 분포 정보 중에서, 처리 대상이 되는 양자화 인덱스가 속하는 그룹의 빈도 분포 정보를 선택하는 분포 정보 선택 수단을 더 가지며,
    상기 역양자화값 생성 수단은 상기 분포 정보 선택 수단에 의해 선택된 빈도 분포 정보를 이용하여, 상기 처리 대상의 양자화 인덱스에 대응하는 역양자화값을 생성하는 복호화 장치.
  9. 입력 부호 데이터에 포함되는 양자화 인덱스를, 복수의 그룹으로 분류하는 분류 수단과,
    상기 분류 수단에 의해 분류된 양자화 인덱스에 의거하여 각각의 그룹에 대해서 양자화 인덱스의 분포 정보를 생성하는 분포 정보 생성 수단과,
    상기 분포 정보 생성 수단에 의해 생성된 분포 정보에 의거하여, 각각의 양자화 인덱스에 대응하는 역양자화값을 생성하는 역양자화값 생성 수단을 가지고,
    상기 분류 수단은 각각의 양자화 인덱스에 대응하는 양자화 간격에 의거하여, 양자화 인덱스를 분류하고,
    상기 분포 정보 생성 수단은 상기 그룹마다, 양자화 인덱스의 분포 정보를 생성하는 복호화 장치.
  10. 부호 데이터에 포함되는 양자화 인덱스의 유효 비트수를 판정하는 판정 수단과,
    복수의 양자화 인덱스와, 이들 양자화 인덱스에 대해서 상기 판정 수단에 의 해 판정된 유효 비트수에 의거하여, 각각의 양자화 인덱스에 대응하는 역양자화값을 생성하는 역양자화값 생성 수단을 갖는 복호화 장치.
  11. 양자화 인덱스를 나타내는 비트열의 유효 비트 길이에 의거하여, 부호 데이터에 포함되는 양자화 인덱스를, 복수의 그룹으로 분류하고,
    분류된 양자화 인덱스에 의거하여, 각각의 그룹에 대해서 양자화 인덱스의 분포 정보를 생성하고,
    생성된 분포 정보에 의거하여, 각각의 양자화 인덱스에 대응하는 역양자화값을 생성하는 역양자화 방법.
  12. 양자화 인덱스를 나타내는 비트열의 유효 비트 길이에 의거하여, 부호 데이터에 포함되는 양자화 인덱스를, 복수의 그룹으로 분류하는 스텝과,
    분류된 양자화 인덱스에 의거하여, 각각의 그룹에 대해서 양자화 인덱스의 분포 정보를 생성하는 스텝과,
    생성된 분포 정보에 의거하여, 각각의 양자화 인덱스에 대응하는 역양자화값을 생성하는 스텝을 컴퓨터에 실행시키는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
KR20060092257A 2005-11-18 2006-09-22 복호화 장치, 역양자화 방법 및 이들의 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 KR100809409B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00334086 2005-11-18
JP2005334086A JP4784281B2 (ja) 2005-11-18 2005-11-18 復号化装置、逆量子化方法及びこれらのプログラム

Publications (2)

Publication Number Publication Date
KR20070053098A KR20070053098A (ko) 2007-05-23
KR100809409B1 true KR100809409B1 (ko) 2008-03-05

Family

ID=38053613

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20060092257A KR100809409B1 (ko) 2005-11-18 2006-09-22 복호화 장치, 역양자화 방법 및 이들의 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체

Country Status (4)

Country Link
US (1) US8005306B2 (ko)
JP (1) JP4784281B2 (ko)
KR (1) KR100809409B1 (ko)
CN (1) CN100551062C (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8170101B2 (en) * 2006-10-27 2012-05-01 Sharp Laboratories Of America, Inc. Methods and systems for low-complexity data compression
US8150187B1 (en) 2007-11-29 2012-04-03 Lsi Corporation Baseband signal quantizer estimation
KR101518237B1 (ko) * 2008-09-01 2015-05-15 삼성전자주식회사 영상의 역양자화 방법 및 장치, 복호화 방법 및 장치
US9240802B2 (en) 2008-12-26 2016-01-19 Nec Corporation Inverse quantization method, inverse quantization device, and program
CN106937126B (zh) * 2011-05-20 2019-11-15 索尼公司 图像处理装置和图像处理方法
JP2013029953A (ja) * 2011-07-28 2013-02-07 Sony Corp 画像処理装置および方法
US8938041B2 (en) * 2012-12-18 2015-01-20 Intel Corporation Techniques for managing interference in multiple channel communications system
JP7046325B2 (ja) * 2017-07-10 2022-04-04 イントゥーピクス デジタルデータ圧縮のための方法及びデバイス
US20230024560A1 (en) * 2018-05-10 2023-01-26 Sharp Kabushiki Kaisha Systems and methods for performing binary arithmetic coding in video coding
EP3811616A4 (en) * 2018-05-10 2022-07-27 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR PERFORMING BINARY ARITHMETIC CODING IN VIDEO CODING

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001136526A (ja) * 1999-11-05 2001-05-18 Canon Inc 画像処理方法及びその装置及び記憶媒体
KR20050065548A (ko) * 2002-09-26 2005-06-29 도코모 커뮤니케이션스 라보라토리스 유에스에이. 인코포레이티드 비디오 코딩을 위한, 낮은 복잡도의 통합형 변환
KR20050098215A (ko) * 2005-09-28 2005-10-11 삼성전자주식회사 동영상 부호화 및 복호화 방법과 그 장치
KR20050108685A (ko) * 2004-05-13 2005-11-17 삼성전자주식회사 2차원 데이터 처리를 이용한 음성 신호 압축 및 복원장치와 그 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3627256B2 (ja) * 1994-06-28 2005-03-09 ソニー株式会社 ディジタル画像信号の受信/再生装置および方法
US5778102A (en) * 1995-05-17 1998-07-07 The Regents Of The University Of California, Office Of Technology Transfer Compression embedding
KR100355375B1 (ko) * 1995-11-01 2002-12-26 삼성전자 주식회사 영상부호화장치에있어서양자화간격결정방법및회로
AUPP248498A0 (en) * 1998-03-20 1998-04-23 Canon Kabushiki Kaisha A method and apparatus for encoding and decoding an image
EP1043898A4 (en) * 1998-10-06 2008-05-07 Sony Corp CODING DEVICE AND METHOD, DECODING DEVICE AND METHOD AND RECORDING MEDIUM
JP2000137820A (ja) * 1998-10-30 2000-05-16 Sony Corp 画像処理装置および方法、並びに提供媒体
US6301368B1 (en) * 1999-01-29 2001-10-09 International Business Machines Corporation System and method for data hiding in compressed fingerprint images
US6778709B1 (en) * 1999-03-12 2004-08-17 Hewlett-Packard Development Company, L.P. Embedded block coding with optimized truncation
EP1164543B1 (en) * 2000-06-14 2017-08-09 Panasonic Intellectual Property Corporation of America Digital information embedding/extracting
EP2302930B1 (en) * 2001-11-27 2015-07-15 Samsung Electronics Co., Ltd. Coding and decoding of a bitstream with a coordinate interpolator
JP3932110B2 (ja) * 2002-04-23 2007-06-20 シャープ株式会社 画像処理装置、画像処理システム、電子情報機器、画像処理方法、制御プログラムおよび可読記録媒体
JP2006505075A (ja) * 2002-10-31 2006-02-09 韓國電子通信研究院 複数のイメージフレームを有するビデオシーケンス検索のための非線形量子化及び類似度マッチング方法
KR101274644B1 (ko) * 2004-11-24 2013-06-14 톰슨 라이센싱 매체 재생 디바이스에서 사용하기 위한 필름 그레인시뮬레이션 기술
JP4645948B2 (ja) * 2005-03-18 2011-03-09 富士ゼロックス株式会社 復号化装置及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001136526A (ja) * 1999-11-05 2001-05-18 Canon Inc 画像処理方法及びその装置及び記憶媒体
KR20050065548A (ko) * 2002-09-26 2005-06-29 도코모 커뮤니케이션스 라보라토리스 유에스에이. 인코포레이티드 비디오 코딩을 위한, 낮은 복잡도의 통합형 변환
KR20050108685A (ko) * 2004-05-13 2005-11-17 삼성전자주식회사 2차원 데이터 처리를 이용한 음성 신호 압축 및 복원장치와 그 방법
KR20050098215A (ko) * 2005-09-28 2005-10-11 삼성전자주식회사 동영상 부호화 및 복호화 방법과 그 장치

Also Published As

Publication number Publication date
CN100551062C (zh) 2009-10-14
US8005306B2 (en) 2011-08-23
JP4784281B2 (ja) 2011-10-05
US20070116371A1 (en) 2007-05-24
JP2007142823A (ja) 2007-06-07
KR20070053098A (ko) 2007-05-23
CN1968417A (zh) 2007-05-23

Similar Documents

Publication Publication Date Title
KR100809409B1 (ko) 복호화 장치, 역양자화 방법 및 이들의 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체
JP4737711B2 (ja) 復号化装置、逆量子化方法、分布決定方法及びこのプログラム
US8731315B2 (en) Image compression and decompression for image matting
JP4775756B2 (ja) 復号化装置及びそのプログラム
JPH11168633A (ja) 再構成実行方法、再構成実行装置、記録媒体、逆変換実行方法、逆変換実行装置、好適再構成生成方法、好適再構成生成装置、符号化データ処理方法、符号化データ処理装置、データ処理方法、データ処理装置、符号化データのタイル処理方法、符号化データのタイル処理装置、データ復号化方法、データ復号化装置、再構成方法、及び、2値データモデル化方法
US6697529B2 (en) Data compression method and recording medium with data compression program recorded therein
US8805107B2 (en) Image data coding apparatus, method of controlling operation of same, and program therefor
CN103501438B (zh) 一种基于主成分分析的内容自适应图像压缩方法
RU2335803C2 (ru) Способ и устройство покадрового кодирования остаточного движения на основании сверхполного базисного преобразования для уплотнения видеоизображения
JP2006502604A (ja) 任意形状オブジェクトの画像圧縮方法
US7778468B2 (en) Decoding apparatus, dequantizing method, and program thereof
CN115315950A (zh) 点云数据的全局缩放
US7551788B2 (en) Digital image coding device and method for noise removal using wavelet transforms
JP4645948B2 (ja) 復号化装置及びプログラム
KR102020220B1 (ko) 이미지 압축 방법 및 장치
JP2006270737A (ja) 復号化装置、分布推定方法、復号化方法及びこれらのプログラム
EP4315866A1 (en) Multi-distribution entropy modeling of latent features in image and video coding using neural networks
Poolakkachalil et al. Comparative analysis of lossless compression techniques in efficient DCT-based image compression system based on Laplacian Transparent Composite Model and An Innovative Lossless Compression Method for Discrete-Color Images
JP4730144B2 (ja) 復号化装置、逆量子化方法及びこれらのプログラム
US10015507B2 (en) Transform system and method in video and image compression
JP2007300454A (ja) 復号化装置、逆量子化方法及びプログラム
Akinrotimi et al. Enhanced Image Compression Using the Lempel-Ziv-Welch Algorithm
Hakami et al. Reversible Color Compression Transform for Big Data System Using Human Visual System
JP2004289737A (ja) 画像符号化装置、画像符号化プログラム、及び画像復号化プログラム
WO2022268236A1 (en) Image compression and associated color approximation

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130201

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140204

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150130

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160127

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170202

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180202

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee