JP4737711B2 - 復号化装置、逆量子化方法、分布決定方法及びこのプログラム - Google Patents

復号化装置、逆量子化方法、分布決定方法及びこのプログラム Download PDF

Info

Publication number
JP4737711B2
JP4737711B2 JP2005084085A JP2005084085A JP4737711B2 JP 4737711 B2 JP4737711 B2 JP 4737711B2 JP 2005084085 A JP2005084085 A JP 2005084085A JP 2005084085 A JP2005084085 A JP 2005084085A JP 4737711 B2 JP4737711 B2 JP 4737711B2
Authority
JP
Japan
Prior art keywords
value
distribution
quantization
random number
quantization index
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2005084085A
Other languages
English (en)
Other versions
JP2006270375A (ja
Inventor
俊一 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2005084085A priority Critical patent/JP4737711B2/ja
Priority to US11/179,988 priority patent/US7715636B2/en
Priority to CNB2005100875080A priority patent/CN100490494C/zh
Publication of JP2006270375A publication Critical patent/JP2006270375A/ja
Priority to US12/659,571 priority patent/US8014617B2/en
Priority to US12/659,574 priority patent/US8355586B2/en
Application granted granted Critical
Publication of JP4737711B2 publication Critical patent/JP4737711B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、符号化処理により生成された符号データを復号化する復号化装置に関する。特に、本発明は、データの量子化を伴う符号化処理により生成された符号データを、逆量子化を行うことにより復号化する復号化装置に関する。
例えば、特許文献1は、DCTのブロック境界にのみ低域通過フィルタをかける方式を開示する。
また、特許文献2は、画像内のエッジの有無を判別し、判別結果に応じて、適用すべきフィルタを選択する方式を開示する。
また、特許文献3は、歪が目立ち易い領域であると判断した場合に、DCT係数に雑音を付加する方式を開示する。
また、特許文献4は、量子化インデクスの頻度分布から原画像の変換係数の確率密度関数を推定することによって、圧縮符号化に夜画像品質の劣化を推定する方法を開示する。
また、非特許文献1は、JPEG標準を開示する。
また、非特許文献2は、JPEG2000標準を開示する。
また、非特許文献3は、変換係数の頻度分布を合わせることによって、よく似たテクスチャを持つ画像を合成する手法を開示する。
また、非特許文献4は、確率密度関数に合致するような乱数を発生させる手法を開示する。
特開平5−14735号公報 特開平5−316361号公報 特開平7−336684号公報 特開2004−80741号公報 ITU−T勧告 T.81 ITU−T勧告 T.800 D. Heeger and J. Bergen, "Pyramid based texture analysis/synthesis," Computer Graphics, pp. 229-238, SIGGRAPH 95, 1995. 脇本和昌著,「乱数の知識」,森北出版株式会社,pp.61-64
本発明は、上述した背景からなされたものであり、符号データをより適切に復号化する復号化装置を提供することを目的とする。
[復号化装置]
上記目的を達成するために、本発明にかかる復号化装置は、量子化処理により生成された量子化値を識別するためのインデクスであり、符号データに含まれた量子化インデクスの頻度分布から推定された元データの頻度分布に応じて、乱数を生成する乱数生成手段と、前記乱数生成手段により生成される乱数に基づいて、処理対象の量子化インデクスに対応する逆量子化値を生成し、生成された逆量子化値を用いて復号データを生成させる復号化手段とを有する。
好適には、符号データに含まれる量子化インデクスの頻度分布を示す分布情報を生成する分布生成手段をさらに有し、前記乱数生成手段は、前記分布生成手段により生成された分布情報を、前記元データの分布情報として適用する。
好適には、前記乱数発生手段は、既定の範囲内で、乱数を発生させる。
好適には、乱数を用いずに、それぞれの量子化インデクスに対応する逆量子化値を生成する逆量子化値生成手段をさらに有し、前記復号化手段は、前記逆量子化値生成手段により生成される逆量子化値、又は、前記乱数生成手段により生成される乱数を適用して、復号データを生成する。
好適には、前記復号化手段は、処理対象となる注目量子化インデクスの値が0である場合にのみ、前記乱数生成手段により生成される乱数を適用する。
好適には、前記逆量子化値生成手段は、処理対象となる注目量子化インデクスの値と、この注目量子化インデクスを含むブロックの周囲にあるブロックの量子化インデクスの値とを用いて、この注目量子化インデクスに対応する逆量子化値を生成する。
好適には、前記復号化手段は、前記注目量子化インデクスの値と、前記他の量子化インデクスの値との差分値がいずれも0である場合に、前記乱数生成手段により生成される乱数を適用し、前記差分値のいずれかが0以外の値である場合に、前記逆量子化値生成手段により生成される逆量子化値を適用する。
好適には、前記分布生成手段は、前記量子化インデクスの分散又は標準偏差を、前記分布情報として生成し、前記乱数生成手段は、前記分布生成手段により生成された分散又は標準偏差に対応するラプラス分布に応じて、乱数を発生させる。
好適には、前記分布生成手段は、量子化インデクス値に対応する各量子化区間に関する、量子化インデクス値のヒストグラムとの面積差の総和が最小となるようなラプラス分布の分散又は標準偏差を算出する。
好適には、前記乱数発生手段は、それぞれの量子化インデクスに対応する量子化区間の幅に応じた範囲内で、乱数を発生させる。
好適には、前記分布生成手段は、量子化インデクスに対応する変換係数の標準偏差を取得し、前記乱数発生手段は、取得された前記標準偏差に対して既定値が乗じられた標準偏差と、乱数を発生させる上限値とのうち、小さい方の値を上限として、一様に乱数を発生させる。
好適には、前記分布生成手段は、量子化インデクスの出現頻度を計測し、計測された出現頻度に基づいて、正規化されたヒストグラムを生成し、量子化インデクスの頻度分布を加算する加算範囲を決定し、生成されたヒストグラムと、決定された加算範囲とに基づいて、標準偏差又は分散を決定する。
好適には、前記分布生成手段は、量子化インデクスの標準偏差又は分散である第1の標準偏差又は分散と、既定の範囲における量子化インデクスの頻度値の合算値と該範囲に相当するラプラス分布関数の積分値とが一致する場合のラプラス分布の標準偏差又は分散である第2の標準偏差又は分散との少なくとも一方を用いて、量子化インデクスに対応する元データの分布を推定する。
好適には、前記分布推定手段は、前記第1の標準偏差又は分散と、前記第2の標準偏差又は分散との幾何平均を算出し、算出された幾何平均値を用いて、元データの分布を推定する。
好適には、前記分布推定手段は、量子化インデクスの最大値に基づいて、前記第1の標準偏差又は分散と、前記第2の標準偏差又は分散とのうち、いずれか一方を選択して適用する。
好適には、前記分布推定手段は、前記第2の標準偏差と、量子化区間の幅との比に基づいて、前記第1の標準偏差又は分散と、前記第2の標準偏差又は分散とのうち、いずれか一方を選択して適用する。
[逆量子化方法]
また、本発明にかかる逆量子化方法は、量子化処理により生成された量子化値を識別するためのインデクスであり、符号データに含まれた量子化インデクスの頻度分布から推定された元データの頻度分布に応じて、乱数を生成し、生成された乱数に基づいて、処理対象の量子化インデクスに対応する逆量子化値を生成する。
好適には、それぞれの量子化インデクスの頻度値を加算し、ラプラス分布の最大頻度位置を基準として右側の積分範囲と左側の積分範囲とが等しくなるように、ラプラス分布関数を積分した場合の積分値と、頻度値の加算値とが一致するように、ラプラス分布の分散又は標準偏差を算出して決定する分布により乱数を生成する
好適には、量子化インデクスの頻度分布における最大頻度値を基準として右側の加算範囲と左側の加算範囲とが等しくなるように、それぞれの量子化インデクスの頻度値を加算する。
好適には、量子化インデクスの絶対値の最大値に基づいて、前記頻度値を加算する範囲を決定する。
好適には、量子化インデクスの絶対値の最大値を既定の一次関数に代入し、この一次関数により求められた数値に対して丸め処理を施して、整数値を算出し、算出された整数値を、前記頻度値を加算する範囲とする。
[プログラム]
また、本発明にかかるプログラムは、量子化処理により生成された量子化値を識別するためのインデクスであり、符号データに含まれた量子化インデクスの頻度分布から推定された元データの頻度分布に応じて、乱数を生成するステップと、生成された乱数に基づいて、処理対象の量子化インデクスに対応する逆量子化値を生成し、生成された逆量子化値を用いて復号データを生成させるステップとをコンピュータに実行させる。
また、本発明にかかるプログラムは、それぞれの量子化インデクスの頻度値を加算するステップと、ラプラス分布の最大頻度位置を基準として右側の積分範囲と左側の積分範囲とが等しくなるようにラプラス分布関数を積分した場合の積分値と、頻度値の加算値とが一致するように、ラプラス分布の分散又は標準偏差を算出して決定する分布により乱数を生成するステップと生成された乱数に基づいて、処理対象の量子化インデクスに対応する逆量子化値を生成するステップとをコンピュータに実行させる。
本発明の復号化装置によれば、符号データをより適切に復号化することができる。
まず、本発明の理解を助けるために、その背景及び概略を説明する。
画像データ及び音声データなどは、データ量が膨大であるため、圧縮してデータ量を削減して保持、伝送等を行うことが一般的である。例えば、カラー原稿や写真を画像スキャナで電子化した場合に生成される多値画像データ、あるいは、ディジタルカメラで風景等の写真を撮った場合に生成される多値画像データは、JPEG、あるいは、JPEG2000等の非可逆符号化方式で圧縮することにより、より小さなデータ量とすることができる。
これらの非可逆符号化を行った場合、符号化歪が発生することが問題となっている。特に、JPEG方式を適用する場合には、復号化された画像(復号画像)のDCTブロック境界に発生するブロック歪(符号化歪)が問題となっている。
まず、非可逆符号化の符号化歪がどのようなメカニズムで発生するかを説明する。
図1は、JPEG方式及びJPEG2000方式などの変換符号化方式の概略を説明する図であり、図1(A)は、符号化処理の概略を示し、図1(B)は、復号化処理の概略を示す。
図2は、変換符号化方式における量子化処理を説明する図である。なお、図2に示された変換係数T(c,i,j)及び量子化インデクスQ(c,i,j)は、変数c,i,jの関数である。また、変数cは、変換係数の種類を示すインデクスであり、例えば、8×8ブロックを用いたDCT変換であれば、64種類(8×8)存在する変換係数のいずれかを示す値(1〜64の整数など)であり、ウェーブレット変換であれば、1HH成分、1LH成分、1HL成分、2HH成分、2LH成分、2HL成分、・・・、NLLL成分のいずれかを示す値である。また、変数i,jは、各変換係数の位置を示す変数であり、例えば、DCT変換であれば、上からi番目、左からj番目のブロックのc番目の変換係数がT(c,i,j)と表され、ウェーブレット変換であれば、c番目の変換係数の、上からi番目、左からj番目のデータがT(c,i,j)と表される。
図1(A)に示すように、変換符号化方式の符号化処理では、入力画像Gに対して離散コサイン変換又はウェーブレット変換などの変換処理が施されて、入力画像Gの変換係数Tが生成され、この変換係数Tは、さらに量子化されて、量子化インデクスQとなる。量子化インデクスQは、エントロピ符号化(可逆符号化)されて、圧縮符号Fとなる。
ここで、量子化インデクスとは、量子化値を識別するための情報である。また、量子化値とは、一定の範囲(量子化区間)にある数値群が縮退する値であり、図2に例示するように、量子化区間「A−2」〜「A2」それぞれを代表する離散的な値(本例では、「−2×D(c)」〜「2×D(c)」)である。
このように生成された符号データ(圧縮符号F)は、図1(B)に示すように、エントロピ復号されて、量子化インデクスQとなる。この量子化インデクスQは、符号化時の量子化インデクスQと同じものである。
さらに、量子化インデクスQは、逆量子化され、変換係数(すなわち、逆量子化値)Rとなり、この変換係数Rが逆変換され、復号画像Hが生成される。
ここで、逆量子化値とは、量子化インデクス又は量子化値に基づいて生成され、復号データの復号化に用いられる値であり、例えば、JPEG方式又はJPEG2000方式の変換係数(量子化インデクスに対応付けられた変換係数)である。
以上のプロセスにおいて、符号化歪が発生するのは、量子化を行う時である。元画像の変換係数Tと、量子化インデクスQとの精度を比較すると、一般に変換係数Tの精度が量子化インデクスQよりも高い。そのため、量子化インデクスQを用いて再現した変換係数Rは、もともとの変換係数Tとは異なったものとなる。これが符号化歪の原因である。
次に、図2を参照して、量子化及び逆量子化をより詳細に説明する。
量子化は、各変換係数c毎に用意された量子化ステップ幅D(c)を用いて行う。量子化ステップ幅Dは、変換係数の種類cの関数である。例えば、JPEG方式であれば、量子化時に、以下の式で量子化インデクスQを算出する。
Q(c,i,j)=round(T(c,i,j)/D(c))
ここでround()は、入力値に最も近い整数を出力する関数である。
また、逆量子化時には、以下の式で逆量子化値Rを算出する。
R(c,i,j)=Q(c,i,j)×D(c)
あるいは、JPEG2000方式であれば、以下の式により、量子化インデクス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は、小数点以下を0とする関数、||は、絶対値を示す記号である。
また、rは、0から1までの範囲にある数値であり、典型的にはr=0.5を用いる。ただし、JPEG2000方式では、下位ビットを符号化しない場合があるが、ここでは、最下位ビットまで全て符号化する場合を具体例として説明する。
図2(A)に示すように、JPEG方式の符号化処理において、入力画像Gに対して変換処理を施して生成された変換係数T(量子化前)は、数直線x軸上に分布する。
変換係数Tが量子化区間A0に存在している場合には、量子化処理により、量子化インデクスQは、0となる。同様に、変換係数Tが量子化区間Aqに存在している場合には、量子化インデクスQは、qとなる。
そして、これを逆量子化する場合には、量子化インデクスQが0である場合には、逆量子化処理により、逆量子化値R=0が生成され、量子化インデクスQが1である場合には、逆量子化値R=D(c)が生成される。
JPEG2000方法でも同様で、図2(B)に例示するように、変換係数Tが量子化区間Aqに存在している場合には、量子化インデクスQはqとなり、これを逆量子化すると、量子化インデクスQに1対1で対応する逆量子化値が生成される。
ここで、問題を単純化するために、量子化インデクスQがqとなる量子化区間Aq内のみに関して考察する。
変換係数Tは、量子化区間Aq内に存在しているとする。
図2(C)に例示するように、量子化区間Aqは、d1〜d2の範囲であるとする。このとき、変換係数Tは、d1〜d2の範囲に含まれる。また、この変換係数Tの逆量子化値はRであるとする。
この状況において、復号画像を生成するための変換係数は、逆量子化値Rである。しかしながら、原画像の変換係数Tは、d1〜d2の範囲のいずれかの値であり、逆量子化値Rであるとは限らない。このとき、元の変換係数Tと逆量子化値Rとの差分が生じる。この差分が符号化歪の原因である。
このように、非可逆符号化方式では、複数のデータ値(それぞれの量子化区間に存在する元データ値)を、1つの量子化値(それぞれの量子化区間に対応する量子化値)に縮退させることにより、非可逆なデータ圧縮を実現しているが、同時に、この量子化により符号化歪が生ずる。
このような符号化歪を小さくするためには、符号化時に圧縮効率を低くするようなパラメータを選択すればよい。
しかしながら、この場合には、符号化効率が低下し、データ量が多くなってしまうという問題点がある。
また、既に符号化されたデータを高画質化しようとする場合には、この圧縮効率を低下させるという方式を採用することはできない。
そこで、復号時に上記画像歪を解消させようとする技術が様々に提案されている。
大別して、復号画像に低域通過フィルタをかけることにより、符号化歪をぼかして見えないようにする方式(フィルタ方式)と、復号画像あるいは変換係数にノイズを付加することにより、符号化歪をぼかして見えないようにする方式(ノイズ方式)の2種類がある。
まず、低域通過フィルタを用いる方式(フィルタ方式)を述べる。
例えば、特開平5−14735号公報には、DCTのブロック境界にのみ低域通過フィルタをかけることによって、ブロック歪を除去しようとする方式が提案されている。
この方式は、低域通過フィルタを用いて符号化歪をぼかして判別し難くしようとするものである。
ただし、この方式では、もともとの原画に存在するエッジ成分も同様にボケてしまうという問題である。
また、特開平5−316361号公報には、複数の低域通過フィルタを用意して、画像内のエッジの有無を判別し、エッジが鈍らないフィルタを選択してかける方式が提案されている。
次に、ノイズを付加する方式(ノイズ方式)を述べる。
例えば、特開平7−336684号公報には、符号化歪が目立ち易い領域であると判断した場合に、DCT係数に対して雑音を付加することにより、符号化歪を目立たなくしようとする方式が開示されている。
この方式では、平坦な画像領域であると判断した場合に、符号化歪が目立ちやすいと判断している。
符号データから復号画像を生成する場合(すなわち、復号化する場合)に、目標とすることは、復号画像を符号化前の原画像にできるだけ近づけたいということである。
この観点から見ると、低域通過フィルタによる画像のぼかし又はノイズの付与が復号画像を原画像に近づけるとは限らないため、上記の方式が最適であるとはいえない。
具体的には、上記の方式を用いると、以下に示すような副作用が発生する可能性がある。
(1)低域通過フィルタをかける方式では、復号画像の高周波領域の信号が抑圧されてしまう。そのため、原画像に高周波成分のテクスチャが存在していた場合には、そのテクスチャ成分を再現することが不可能となる。
(2)低域通過フィルタをかける方式では、エッジ判定が正しいとは限らないため、エッジが鈍ってしまう虞がある。
(3)ノイズを付加する方式では、付加ノイズに起因して、原画像には存在しないテクスチャを発生させてしまう虞がある。
そこで、本実施形態における復号化装置2は、逆量子化値Rの頻度分布を、入力画像の変換係数Tの頻度分布にできるだけ近づけることによって、できるだけ入力画像に近い復号画像を生成する。
すなわち、JPEG方式あるいはJPEG2000方式等の標準技術では、逆量子化値の頻度分布が値Rの一点にのみ分布させていることになる。しかしながら、逆量子化値の頻度分布を、原画像の変換係数の頻度分布にできるだけ近づけることにより、よりよい復号化が実現される。
なぜなら、頻度分布が一致している場合に、原画像と復号画像が一致するとは限らないが、原画像と頻度分布が異なる復号画像と、原画像と頻度分布が近い復号画像とでは、頻度分布が近い復号画像のほうが原画像により近いと考えられるからである。実際に、非特許文献3(D. Heeger and J. Bergen, "Pyramid based texture analysis/synthesis," Computer Graphics, pp. 229-238, SIGGRAPH 95, 1995.)には、変換係数の頻度分布を合わせることによって、よく似たテクスチャを持つ画像を合成する手法が述べられている。
本実施形態における復号化装置2は、原画像と頻度分布が近い復号画像を生成することによって、より原画像に近いテクスチャを持つ復号画像を生成する。
より具体的には、本実施形態の復号化装置2は、符号データに含まれる量子化インデクスの頻度分布に基づいて、量子化される前の元データ(本例では、変換係数T)の分布を推定し、推定された分布に合致する乱数を発生させて、この乱数に基づいて、逆量子化値を生成する。
[第1実施形態]
以下、本発明の第1の実施形態を説明する。
本実施形態では、JPEG方式により符号化された符号データを復号化する場合を具体例として説明する。なお、本実施形態で説明する復号化処理は、概略において、ITU-T勧告T.81に記載されているものと同様であるが、本発明にかかる逆量子化処理を適用する点で異なる。
[ハードウェア構成]
まず、本実施形態における復号化装置2のハードウェア構成を説明する。
図3は、本発明にかかる逆量子化方法が適応される復号化装置2のハードウェア構成を、制御装置20を中心に例示する図である。
図3に例示するように、復号化装置2は、CPU202及びメモリ204などを含む制御装置20、通信装置22、HDD・CD装置などの記録装置24、並びに、LCD表示装置あるいはCRT表示装置及びキーボード・タッチパネルなどを含むユーザインターフェース装置(UI装置)26から構成される。
復号化装置2は、例えば、復号化プログラム5(後述)がインストールされた汎用コンピュータであり、通信装置22又は記録装置24などを介して符号データを取得し、取得された符号データを復号化して出力する。
[復号化プログラム]
図4は、制御装置20(図3)により実行され、本発明にかかる逆量子化方法を実現する復号化プログラム5の機能構成を例示する図である。
図4に例示するように、復号化プログラム5は、エントロピ復号部40、逆量子化部50及び逆変換部60を有する。
また、逆量子化部50は、逆量子化値推定部500、分布推定部520、期待値推定部540、乱数発生部560、補正部580及び逆量子化値出力部590を含む。
復号化プログラム5において、エントロピ復号部40は、入力された符号データを、エントロピ復号化して、逆量子化部50に出力する。
本例のエントロピ復号部40は、入力された符号データを復号化して、量子化インデクスQを生成し、生成された量子化インデクスを逆量子化部50に出力する。
逆量子化部50は、エントロピ復号部40から入力された量子化インデスクに基づいて、逆量子化値を生成し、生成された逆量子化値を逆変換部60に出力する。
逆変換部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から入力された期待値に基づいて、分布推定部520により算出された量子化インデクスの頻度分布と、逆量子化値推定部500により算出された逆量子化値の頻度分布とを、変換係数種類c毎、及び、量子化区間毎に略一致するよう、逆量子化値推定部500から入力された補正係数αを補正し、補正された補正係数αを、さらに、JPEG方式において、補正係数αが−0.5から0.5の範囲に入るように線形補正する。
補正部580による線形補正は、例えば、同一の量子化インデクスに対応する補正係数αの中から、最大値αmax及び最小値αminを選択し、選択された最大値αmax及び最小値αminが既定の範囲(JPEGでは、-0.5から0.5の範囲)におさまるように、これらの補正係数α全体を線形変換することにより実現される。
なお、補正部580は、補正係数αが−0.5から0.5の範囲を超える場合に、αをこの範囲の境界値としてもよい。また、補正部580は、補正係数αが−0.5から0.5の範囲を超える場合に、αを0としてもよい。
また、JPEG2000方式では、補正係数αの範囲がJPEG方式と異なるだけである。すなわち、JPEG2000方式では、補正部580は、補正係数αの範囲は、Q(c,i,j)>0の時に、0≦r+α≦1を満たす範囲、Q(c,i,j)<0の時に、-1≦-r+α≦0を満たす範囲、Q(c,i,j)=0の時に、-1≦α≦1を満たす範囲を、それぞれ基準として補正係数αを補正する。
逆量子化値出力部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により発生させた乱数を逆量子化値の補正係数αとして適用する。
[分布推定部]
図5は、分布推定部520(図4)をより詳細に説明する図である。
図5に例示するように、分布推定部520は、ゼロ判定部522、非ゼロ変換係数分布推定部524及びゼロ変換係数分布推定部526を含む。
分布推定部520において、ゼロ判定部522は、エントロピ復号部40から入力された量子化インデクスを、この量子化インデスクに対応する元データの属性(例えば、変換係数の種類)に応じて分類し、それぞれの属性に分類された量子化インデクス群のみで元データの頻度分布が推定可能であるか否か(換言すると、他の属性に分類された量子化インデクス群との相関を利用して頻度分布を推定する必要があるか否か)を判定する。
本例のゼロ判定部522は、エントロピ復号部40から入力される量子化インデクスが、ゼロ変換係数に相当するか非ゼロ変換係数に相当するかを判定し、非ゼロ変換係数に相当すると判定された量子化インデクスを非ゼロ変換係数分布推定部524に出力し、ゼロ変換係数に相当すると判定された量子化インデクスについては、非ゼロ変換係数の分布を用いた分布推定処理を行うようゼロ変換係数分布推定部526に指示する。
ここで、非ゼロ変換係数とは、ある変換係数種類cの量子化インデクスのいずれかが0ではない変換係数である。また、ゼロ変換係数とは、ある変換係数種類cの全ての量子化インデクスが0である変換係数である。換言すると、ゼロ変換係数ではない変換係数が、非ゼロ変換係数である。
非ゼロ変換係数分布推定部524は、ゼロ判定部522から入力された量子化インデクスに基づいて、元データ(本例では、変換係数)の頻度分布を推定する。
より具体的には、非ゼロ変換係数分布推定部524は、同一の属性を有する量子化インデクス群(本例では、同一の変換係数cに対応する複数の量子化インデクス)の頻度分布を生成し、生成された量子化インデクスの頻度分布に基づいて、量子化インデクスの確率密度関数を作成する。この確率密度関数は、変換係数の確率密度関数と近似するものとして適用される。
本例の非ゼロ変換係数分布推定部524は、ゼロ判定部522から入力された量子化インデクス(非ゼロ変換係数に対応する量子化インデクス)Q(c,i,j)のヒストグラムhc(q)を、各変換係数種類cごとの作成する。
例えば、非ゼロ変換係数分布推定部524は、量子化インデクスQ(c,i,j)の値がqである場合に、ht(c,q,i,j)=1、上記以外の場合に、ht(c,q,i,j)=0となる関数を定義して、以下の式によりヒストグラムhc(q)を作成する。
Figure 0004737711
次に、本例の非ゼロ変換係数分布推定部524は、作成されたヒストグラムhc(q)をラプラス分布で近似し、このラプラス関数を変換係数Tの分布関数とする。
ラプラス分布の式は以下で表すことができる。
Figure 0004737711
非ゼロ変換係数分布推定部524は、上式のσを算出することにより、変換係数Tの分布関数を得ることができる。
まず、非ゼロ変換係数分布推定部524は、作成されたヒストグラムhc(q)を量子化区間の幅D(c)及び量子化インデクスの総数で正規化して、確率密度関数fhc(x)に変換する。具体的には、以下の式により、非ゼロ変換係数分布推定部524は、ヒストグラムhc(q)を確率密度関数fhc(x)に変換する。
Figure 0004737711
ただし、(q-0.5)×D(c)<x≦(q+0.5)×D(c)
次に、非ゼロ変換係数分布推定部524は、ヒストグラムhc(q)を近似するラプラス関数を算出する。
図6は、ヒストグラムhと分布関数L(ラプラス関数)とを例示する図である。
非ゼロ変換係数分布推定部524は、図6に例示されるように、ラプラス関数L(x)とヒストグラムfhc(x)の違い(本例では、面積差)ができるだけ小さくなるようなσを求めればよい。
上記の「違いができるだけ小さくなる」ことを評価する関数として、以下の誤差関数Err(σ)を定義する。
Figure 0004737711
この誤差関数Errは、各量子化インデクスq毎に求めた確率密度関数の面積の差分の絶対値を加算したものである。Err(σ)の値が小さいほど、ヒストグラムfhc(x)とラプラス関数L(x)は似ているといえる。非ゼロ変換係数分布推定部524は、上記誤差関数Err(σ)を最小にするようなσを数値計算を行って求めればよい。
ゼロ変換係数分布推定部526は、ゼロ判定部522からの指示に応じて、非ゼロ変換係数分布推定部524により推定された他の変換係数(非ゼロ変換係数)の頻度分布に基づいて、ゼロ変換係数の頻度分布を推定する。
すなわち、非ゼロ変換係数分布推定部524は、ヒストグラムが意味のある形状を持つ場合にのみ分布の推定が可能であるが、全ての頻度値が0となるヒストグラムが作成される場合には、分布の形状を推定することができない。
そこで、ゼロ変換係数分布推定部526は、以下の手法を用いて、既に求めた他の分布データ(本例では、σ値)を用いて、変換係数種類cの全ての量子化インデクスが0となる場合のラプラス分布の形状を推定する。
なお、本例では、JPEG方式の復号処理を具体例として説明しているため、各変換係数種類は、8×8の2次元行列に配置される。
ここで、σ値が、図7(A)に例示するように、DCT係数の(1,1)成分から(8、8)成分に対応付けられて、2次元的に配置されるとする。すなわち、(x,y)成分の変換係数に対応するσ値を、σ(x,y)として表現する。
例えば、σ(1,1)は、DC成分のσ値であり、σ(8,8)は、最も高域のAC成分を示す変換係数のσ値である。ただし、本例の非ゼロ変換係数分布推定部524及びゼロ変換係数分布推定部526は、DC成分に対応するσ値をラプラス分布で近似できないため、σ値の推定に用いない。
本例では、σ(x,y)を、xy平面上の関数であると考える。ゼロ変換係数分布推定部526は、既に求めることのできたσ値(すなわち、非ゼロ変換係数分布推定部524により算出されたσ値)を用いて、この関数σ(x,y)を決定し、ゼロ変換係数に相当するσ値を推定する。
具体的には、ゼロ変換係数分布推定部526は、上記関数σ(x,y)を、2次元の指数関数で近似する。すなわち、σ(x,y)=Cexp(-ax-by)とする。
これは、ゼロ変換係数分布推定部526が、図7(B)に例示するように、指数関数でσ値を近似していることに相当する。
ゼロ変換係数分布推定部526は、σ(x,y)=Cexp(-ax-by)におけるパラメータC,a,bを算出して、近似関数σ(x,y)を決定し、決定された近似関数σ(x,y)を用いて、ゼロ変換係数に相当するσ値を算出する。
ここで、σ(x,y)のうち、既に求めることのできたものを、σ(x(u),y(u))とする。ただし、u=1,2,...,Uであり、(x(u),y(u))は、既に求めることのできたσの座標である。
また、全ての量子化インデクスが0であったため、求めることのできなかったσ値を、σ(x(v),y(v))とする。ただし、v=1,2,...,Vであり、U+V=63である。
まず、ゼロ変換係数分布推定部526は、σ(x(u),y(u))(u=1,2,...,U)を用いて、C,a,bを決定する。
準備として、σ(x,y)=Cexp(-ax-by)の両辺を対数とする。
logσ(x,y)=logC-ax-by
次に、この式に、σ(x(u),y(u))を代入する。すなわち、
logσ(x(u),y(u))=logC-ax(u)-by(u)
ここで、u=1,2,...,Uであるため、上記の式は実際には、次に示すような行列の演算である。
Figure 0004737711
なお、上記の行列は、U=3であれば通常の連立方程式として解くことができる。また、U>3であれば、最小自乗法で解くことができる。
このように、ゼロ変換係数分布推定部526は、上記の行列を解くことにより、パラメータa,b,Cを求めることができる。
次に、ゼロ変換係数分布推定部526は、σ(x(v),y(v))=Cexp(-ax(v)-by(v))に、ゼロ変換係数に対応するx(v)及びy(v)を代入することにより、ゼロ変換係数に対応するσ値を算出する。
なお、ゼロ変換係数分布推定部526は、さらに尤もらしいσの推定値にするため、σ(x,y)をx,yに関して単調減少するように補正してもよい。すなわち、σ(x(v),y(v))=Cexp(-ax(v)-by(v))としてσ(x(v),y(v))を求めたとき、σ(x(v),y(v))が、(x,y)座標がより小さなσ(x,y)よりも小さいか等しくなるようにする。具体的には、ゼロ変換係数分布推定部526は、以下の式を用いて、補正を行う。
σ(x(v),y(v))=min{σ(x(v)-1,y(v)),σ(x(v),y(v)-1),σ(x(v)-1,y(v)-1)}
[乱数発生部の詳細]
次に、乱数発生部560(図4)をより詳細に説明する。
乱数発生部560は、分布推定部520から入力された分布関数fc(x)(すなわち、非ゼロ変換係数推定部524又はゼロ変換係数推定部526により算出されたσ値(分布データ)に対応する関数)に対して、処理対象となる量子化インデクスQ(c,i,j)に応じた変数変換を行う。
具体的には、量子化インデクスQ(c,i,j)=qとし、量子化インデクスQ(c,i,j)=qとなる変換係数T(c,i,j)の範囲をd1〜d2とすると、乱数発生部560は、以下に示す関数fcq(x)を生成する。
Figure 0004737711
この関数fcq(x)は、変換種類c、量子化インデクスqの変換係数に対応する確率密度関数である。また、この確率密度関数は、d1〜d2の範囲をαmin〜αmaxに変換したものである。なお、αmin及びαmaxの決定方法は、様々な方法が考えられ、例えば、(1)αmin=-αmaxとし、αmax、αminの値を予め定めておいた定数とする方法、(2)αmin=-αmaxとし、(αmax-αmin)の値を予め定めておいた定数βを用いて、量子化ステップサイズ×β=αmax-αminとなるように設定する方法、(3)上記(2)に加えて、量子化ステップサイズ×βの値が予め定めておいた定数以上とならないように上限値Dmaxを設定し、αmax-αmin=min{量子化ステップサイズ×β、Dmax}として決定する方法、(4)(αmin+αmax)/2の値をαの期待値(変形例において後述するE(αTcq))となるように設定する方法、などが考えられる。
乱数発生部560は、上記確率密度関数fcq(x)に合致するような乱数αを発生させる。この乱数αは、逆量子化値出力部590(図4)により補正係数αとして逆量子化値の算出に用いられる。
なお、本例では、まず乱数αを発生させてから逆量子化値Rを求めたが、直接Rを乱数として発生させてもよい。すなわち、乱数発生部560は、以下の確率密度関数fcq(x)に合致するような乱数を発生させ、逆量子化値出力部590は、この乱数をそのまま逆量子化値として逆変換部60に出力してもよい。
Figure 0004737711
次に、確率密度関数fcq(x)に合致するような乱数αを発生させる方法を説明する。このような乱数発生方法としては、例えば、文献「脇本和昌著,乱数の知識,森北出版株式会社,61ページ〜64ページ」に示されている逆関数法を適用することができる。
以下その例を示す。
まず、以下の関数Fcq(x)を求める。
Figure 0004737711
次に、Fcq(x)の逆関数F-1cq(x)を求める。
次に、一様乱数発生器から区間[0,1]上の乱数Xを発生させる。
最終的に、α=F-1cq(X)とすれば、fcq(x)に合致した乱数αを発生させることができる。ただし、F-1cq(X)は、Fcq(X)の逆関数である。
また、fc(x)がラプラス分布の場合は、上記関数F-1cq(x)を簡易な形で予め定めておくことができる。ここで簡単のため、fcq(x)が既に正規化されているとする。また、αmin=-αmaxとする。すなわち、fcq(x)=Cexp(-s|x|)(ただし、αmin≦x≦αmax)とする。
q>0のときは、x≧0であるので、fcq(x)=Cexp(-sx)となる。
よって、
Fcq(x)=-(C/s){exp(-sx)-exp(-sαmin)}
F-1cq(x)=-(1/s)log{exp(-sαmin)-sx/C}
となる。
q<0のときは、x<0であるので、同様に、
F-1cq(x)=(1/s)log{exp(sαmin)+sx/C}
となる。
また、q=0、かつ、x<0のときは、
F-1cq(x)=(1/s)log{exp(sαmin)+sx/C}
となり、
q=0、かつ、x≧0のときは、
Figure 0004737711
となるため、
F-1cq(x)=-(1/s)log{1-s(x-0.5)/C}
となる。
このように、乱数発生部560は、分布推定部520から入力された分布データに基づいて、変換係数の分布に適合した補正係数αを乱数により生成することができる。
[補正部]
図8は、補正部580による補正を模式的に説明する図である。
図8(A)に示すように、補正部580は、変換係数Tの推定期待値(a1)と、逆量子化値の期待値(a2)とが一致するように、逆量子化値の分布をシフトする(a3)。
また、図8(B)に示すように、逆量子化値(本例では、補正係数α)の分布が、量子化区間d1〜d2(本例では、αの範囲αmin〜αmax)から外れる場合(b1)に、補正部580は、逆量子化値(補正係数α)の期待値を動かさないように、分布を期待値に向かって小さくする(b2)。
なお、本例では、補正部580は、逆量子化値推定部500から入力された補正係数αに対して、上記の補正を行う。
[全体動作]
次に、復号化装置2(復号化プログラム5)の全体動作を説明する。
図9は、復号化プログラム5(図4)による復号化処理(S10)のフローチャートである。なお、本例では、画像データの符号データ(JPEG方式)が入力される場合を具体例として説明する。
図9に示すように、ステップ100(S100)において、エントロピ復号部40(図4)は、入力された符号データを復号化して、各ブロック(8×8ブロック)の量子化インデクスを生成し、生成された各ブロックの量子化インデクスを逆量子化部50に出力する。
ステップ105(S105)において、分布推定部520は、エントロピ復号部500から入力された複数の量子化インデクスに基づいて、変換係数Tの分布を変換係数種類毎に推定する。
具体的には、分布推定部520に設けられたゼロ判定部522(図5)は、エントロピ復号部40から1ページ分の画像に相当する量子化インデクスが入力されると、入力された量子化インデスクを変換係数の種類cで分類し、分類された量子化インデクス群がゼロ変換係数に相当するか非ゼロ変換係数に相当するかを判定する。
非ゼロ変換係数分布推定部524(図5)は、非ゼロ変換係数に相当する量子化インデクス群それぞれについて、量子化インデクス値のヒストグラムhc(q)(すなわち、各変換係数種類cごとのヒストグラム)を作成し、このヒストグラムhc(q)を近似するラプラス関数L(すなわち、σ値)を算出する。
また、ゼロ変換係数分布推定部526(図5)は、非ゼロ変換係数分布推定部524により算出された頻度分布を指数関数で近似し、この指数関数を用いて、ゼロ変換係数の頻度分布(すなわち、σ値)を推定する。
ステップ110(S110)において、逆量子化部50(図4)は、入力された量子化インデクスを順に、注目量子化インデクスに設定する。
逆量子化値推定部500(図4)は、注目量子化インデクスQ(c,i,j)の周囲量子化インデクスQ(c,i+m,j+n)を抽出する(本例では、-1≦m≦1,-1≦n≦1)。なお、抽出される周囲量子化インデクスは、注目ブロックを中心とした3×3個のブロックにおける、同一の変換係数種類cに対応する量子化インデクス値であり、3×3の行列となる。
ステップ115(S115)において、逆量子化値推定部500は、抽出された周囲量子化インデクスと、注目量子化インデクスとを用いて、以下の演算を行い、差分行列Pを作成する。
P(m,n)=Q(c,i+m,j+n)-Q(c,i,j)
すなわち、逆量子化値推定部500は、注目量子化インデクス値と、周囲量子化インデクス値との差分値を算出する。
次に、逆量子化値推定部500は、差分行列Pに含まれる各差分値の絶対値|P(m,n)|と、閾値TH(例えば、1)とを比較して、閾値THよりも大きな差分値P(m,n)を0にする(閾値処理)。すなわち、逆量子化値推定部500は、注目量子化インデクス値との差分が閾値よりも大きい周囲量子化インデクス値を非相関信号として除去する。
ステップ120(S120)において、逆量子化部50(図4)は、注目量子化インデクスについて、逆量子化値の推定が可能であるか否かを判定する。
具体的には、逆量子化部50は、注目量子化インデクスと、閾値処理が施された差分行列Pの全成分が0である場合(例えば、全ての周囲量子化インデクス(周囲にあるブロックの量子化インデクス)で値が一致する場合、全て周囲量子化インデクスが非相関信号として除去された場合など)に、逆量子化値の推定が不可能であると判定し、これ以外の場合に、逆量子化値の推定が可能であると判定する。
逆量子化部50は、逆量子化値の推定(本例では、補正係数αの推定)が可能であると判定された場合に、S115の処理に移行し、上記推定が不可能であると判定された場合に、S120の処理に移行する。
ステップ125(S125)において、逆量子化値推定部500は、図10に例示する3×3のフィルタカーネルK(m,n)を用いて、閾値処理がなされた差分行列Pに対してコンボリューション演算を行い、補正係数αycqを算出する。したがって、注目量子化インデクスの値が同一であっても、その周囲に存在する周囲量子化インデスクが異なれば、算出される補正係数αycqは、互いに異なった値をとる。
なお、図10(A)に例示されたフィルタは、低域通過特性を有する。
ステップ130(S130)において、乱数発生部560は、注目量子化インデクスについて、分布推定部520から入力された分布データに応じた乱数を生成し、生成された乱数を補正係数αとして逆量子化値出力部590に出力する。
具体的には、乱数発生部560は、非ゼロ変換係数分布推定部524及びゼロ変換係数分布推定部526により推定された分布のうち、注目量子化インデクスに対応する分布を選択し、選択された分布に合致した乱数を発生させて、この乱数を補正係数αとして逆量子化値出力部590に出力する。
ステップ135(S135)において、逆量子化部50は、全ての量子化インデクスについて補正係数αが生成されたか否かを判定し、全ての量子化インデクスについて補正係数αが生成された場合に、S140の処理に移行し、これ以外の場合に、S110の処理に戻って、次の量子化インデクスを注目量子化インデクスとして処理する。
ステップ140(S140)において、期待値推定部540は、分布推定部520から入力された分布データに基づいて、変換係数種類及び量子化インデクスの組合せ毎に、確率密度関数の期待値E(αTcq)を算出し、算出された期待値E(αTcq)を補正部580に出力する。
ステップ145(S145)において、補正部580は、逆量子化値推定部500により算出された補正係数αを、変換係数種類毎及び量子化インデクス毎に分類し、分類された補正係数αの最小値、最大値及び平均値を算出する。
補正部580は、次に、期待値推定部540から入力された期待値E(αTcq)と、算出された平均値とを、変換係数種類と量子化インデクスとの組合せ毎に比較して、これらが一致するように、変換係数種類及び量子化インデクスの組合せで分類された補正係数αycq群をシフトする(シフト補正)。
さらに、補正部580は、シフト補正がなされた補正係数α群が−0.5〜0.5の範囲におさまっているか否かを判定し、おさまっていない場合に、補正係数αycq群の平均値を変更せずに、補正係数αycq群の範囲を−0.5〜0.5の範囲におさめる範囲補正を行う。
ステップ150(S150)において、逆量子化値出力部590(図4)は、注目量子化インデクスQと、補正部580から入力された補正係数α又は乱数発生部560から入力された補正係数αとに基づいて、適用すべき逆量子化値Ryを算出し、算出された逆量子化値Ryを逆変換部60に出力する。
具体的には、本例の逆量子化値出力部590は、以下の演算を行って逆量子化値Ryを算出する。
Ry(c,i,j)={Q(c,i,j)+α(c,i,j)}×D(c)
ステップ155(S155)において、逆変換部60(図4)は、逆量子化部50から入力された逆量子化値(近似的な変換係数)を用いて、逆変換処理(本例では逆DCT変換)を行って、復号画像Hを生成する。
以上説明したように、本実施形態における復号化装置2は、量子化インデクスに基づいて、変換係数の分布を推定し、推定された分布に合致した乱数を発生させて、この乱数に基づいて逆量子化値を生成する。
これにより、逆量子化値の頻度分布が、変換係数の頻度分布とより近くなるため、より再現性の高い復号画像が期待できる。
なお、上記実施形態では、周囲量子化インデクス値を用いて補正係数αを算出する逆量子化値推定部500と、量子化インデクスの分布に合致した乱数を補正係数αとして生成する乱数発生部560とが設けられた形態を説明したが、逆量子化値推定部500は必須ではない。すなわち、全ての量子化インデクスについて、上記乱数発生部560が補正係数αを生成してもよい。
[変形例1]
次に、第1の変形例を説明する。
上記実施形態では、変換係数の分布をラプラス分布で推定したが、第1の実施例では、変換係数の分布を図11に示されるような折れ線近似を行う。
例えば、非ゼロ変換係数分布推定部524(図5)は、αmid=(αmin+αmax)として、αmin、αmid、αmaxを結ぶ直線(折れ線)で確率密度関数を近似し、推定する。
ただし、非ゼロ変換係数分布推定部524は、AC成分かつ、量子化インデクス値qの値が0に近い場合には、直線近似し難いため、別の方式を採る。より具体的には、非ゼロ変換係数分布推定部524は、正の整数である閾値TH1を用いて、複数の近似方法を切り替える。すなわち、qを量子化インデクス値として、
|q|>TH1である場合に、第1の直線近似を適用し、
|q|=TH1である場合に、第2の直線近似を適用し、
|q|<TH1である場合に、ラプラス分布による近似(上記実施形態で説明)を適用する。
なお、本変形例では、上記のように、量子化インデクス値qに応じて、直線近似とラプラス分布による近似とを切り替えているが、全てのq値について、第1の直線近似を適用してもよい。
第1及び第2の直線近似は、図11(A)に例示するような折れ線近似となる。
まず、第1の直線近似を説明する。
非ゼロ変換係数分布推定部524は、図11(B)に示されるように、fk(α)=hc(q)(ただし、αmin≦α≦αmax)となる関数fk(α)を考える。この一様関数を折れ線近似する。
非ゼロ変換係数分布推定部524は、周囲ヒストグラムhc(q-1)、hc(q+1)を用いて、図11(A)に例示するfk(αmin)及びfk(αmax)の値を推定する。
例えば、以下のように、fk(αmax)の値が推定される。
まず、非ゼロ変換推定部524は、図11(C)に例示する点Aの位置を決定する。fk(αmax)の値は、hc(q)と、hc(q+1)の間とするのが妥当である。例えば、fk(αmax)=(hc(q)+hc(q+1))/2とすればよい。
本例では、点Aの位置として、hc(q)と、hc(q+1)の間を、hc(q):hc(q+1)に内分する点を採用する。
これは、図11(C)に例示するように、注目量子化インデクスの頻度値hc(q)が、隣接する量子化インデクスの頻度値hc(q+1)に比べて小さいとき、あるいは、注目量子化インデクスの頻度値hc(q)が0に近いときには、点Aの値を十分に小さい値にすることができて都合が良いからである。
この場合に、非ゼロ変換係数分布推定部524は、以下の式により、fk(αmax)を算出することができる。
fk(αmax)=2×hc(q)×hc(q+1)/(hc(q)+hc(q+1))
同様に、非ゼロ変換係数分布推定部524は、以下の式により、fk(αmin)を算出することができる。
fk(αmin)=2×hc(q)×hc(q-1)/(hc(q)+hc(q-1))
次に、非ゼロ変換係数分布推定部524は、fk(αmid)の値を推定する。ここで、周囲ヒストグラムの形状を図11(D)及び図11(E)の2種類に分類する。
図11(D)に例示するように、ヒストグラム(頻度値)が、量子化インデクス値qに関して単調増加あるいは単調減少する場合には、非ゼロ変換係数分布推定部524は、fk(αmid)=hc(q)とする。
また、図11(E)に例示するように、ヒストグラム(頻度値)が、量子化インデクス値qに関して単調増加も単調減少もしない場合には、非ゼロ変換係数分布推定部524は、hc(q)が山になるときには、fk(αmid)>hc(q)となるfk(αmid)を算出し、hc(q)が谷になるときには、fk(αmid)<hc(q)となるfk(αmid)を算出する。
より具体的には、非ゼロ変換係数分布推定部524は、fk(αmin)と、fk(αmax)との差分の平均値を加算する。すなわち、以下の式により、fk(αmid)が算出される。
fk(αmid)=hc(q)+(hc(q)-fk(αmin)+hc(q)-fk(αmax))/2
非ゼロ変換係数分布推定部524は、以上で求めた関数fk(x)を確率密度関数となるように変換すればよい。すなわち、確率密度関数fcq(x)は、以下のようになる。
Figure 0004737711
次に、第2の直線近似を説明する。第2の直線近似は、|q|=TH1である場合に適用される直線近似である。
q=TH1のときは、第1の直線近似のときと異なり、左側(q=TH1-1の場合)がラプラス分布で近似されているため、分布の連続性を満たすように、fk(αmin)の値を考慮したい。したがって、非ゼロ変換係数分布推定部524は、fk(αmin)を以下の式により算出する。
Figure 0004737711
なお、第2の直線近似によるfk(αmax)及びfk(αmid)は、第1の直線近似の場合と同様に計算される。そして、非ゼロ変換係数分布推定部524は、第1の直線近似の場合と同様に、以上の3つの数値fk(αmin)、fk(αmax)、fk(αmid)を用いて、fcq(x)を計算する。
[変形例2]
上記実施形態では、全ての量子化インデクス値qに対して、乱数を発生させた。
第2の変形例は、一部の量子化インデクス値qに対してのみ乱数を発生させる例を示す。
例えば、逆量子化値推定部500は、注目量子化インデクス値と周囲量子化インデクス値との差分が全て0である場合にのみ、逆量子化値を推定できない。量子化インデクス値は、図6のヒストグラムに示すように、0に多く分布するため、上記のように周囲量子化インデクス値との差分が全て0となる可能性は、注目量子化インデクス値が0である場合に高くなる。
逆に、注目量子化インデクス値が0以外である場合には、周囲量子化インデクス値が0となる可能性が高いため、周囲量子化インデクス値との差分が全て0となる確率は低い。
以上から、本変形例の復号化プログラム5は、注目量子化インデクス値qが0である場合に、乱数発生部560により発生させた乱数を補正係数α(又は逆量子化値)として適用し、注目量子化インデクス値qが0以外である場合に、逆量子化値推定部500により生成される補正係数α(又は逆量子化値)を適用する。
[変形例3]
上記実施形態の乱数発生部560は、関数fcq(x)に合致する乱数を発生させたが、第3の変形例では、関数fcq(x)とは異なる乱数を発生させる。
関数fcq(x)は、αmin〜αmaxの間を分布する関数である。そのため、量子化ステップサイズD(c)が大きな場合には、αの期待値から外れる乱数が発生したときの歪が大きくなってしまう可能性がある。
そこで、第4の本実施例では、以下のように乱数の範囲を制限する。
すなわち、乱数発生部560は、以下の確率密度関数fcq1(x)に合致する乱数を発生させる。
Figure 0004737711
ただし、E(αTcq)は、fcq(x)の期待値である。このように、期待値を演算してもよいし、簡易に演算する場合は、E(αTcq)=0としてもよい。また、αmin≦E(αTcq)-d、かつ、E(αTcq)+d≦αmaxとなるようにdの範囲は限定される。
上式は、fcq(x)の中心の形状(-d〜d)のみを利用して、周囲の発生確率を0としてしまう例である。このようにすることで、期待値から外れた値を出力しないため、自乗誤差を制限することが可能となる。
[変形例4]
第4の変形例でも、fcq(x)とは異なる乱数を発生させる。
上記実施形態で示したような逆関数法等による乱数発生の処理負荷が大きな場合がある。
そこで、第4の変形例の乱数発生部560は、一様乱数を発生させる。なお、本変形例では、説明の便宜上、変換係数分布をラプラス分布で推定し、変換係数種類cをラプラス分布で推定した場合のラプラス分布の分散をσ(c)とする。
すなわち、本変形例の乱数発生部560は、以下の確率密度関数fcq2(x)に従って、乱数を発生させる。
E(αTcq)-βσ≦x≦E(αTcq)+βσである場合に、fcq2(x)=1/(2βσ)
上記以外の場合に、fcq2(x)=0
ただし、E(αTcq)は、fcq(x)の期待値である。この期待値を演算してもよいし、簡易に演算する場合は、E(αTcq)=0としてもよい。
E(αTcq)=0の場合を考えると、この確率密度関数fcq2(x)は、[-βσ,βσ]の範囲の一様分布関数である。[E(αTcq)-βσ,E(αTcq)+βσ]の範囲が[αmin、αmax]を超えないように値βが設定される。
値βは、復号画像の乱雑さを制御するパラメータである。βを大きくすると乱雑な画像となる。βを小さくすると、乱雑さが小さい画像となる代わりに、ブロック歪等が目につきやすい画像となる。
[変形例5]
上記実施形態及び上記変形例では、本発明をJPEG方式に適用する場合を具体例として説明したが、これに限定されるものではない。そこで、第5の変形例では、JPEG2000方式に適用した形態を説明する。以下、JPEG2000方式に適用する場合と、JPEG方式に適用する場合(上記実施形態及び上記変形例)とで異なる部分を説明する。
JPEG2000方式に適用するときには、上記αの範囲が以下のようになる。
Q(c,i,j)=0のとき、-1≦α≦1
Q(c,i,j)>0のとき、0≦r+α≦1
Q(c,i,j)<0のとき、-1≦-r+α≦0
また、JPEG2000方式の場合に、各変換係数は、図12に例示されるように分解された周波数領域に存在する。ここで、σ(x,y)を次のように定義する。ただし、NLをウェーブレット変換の分解レベル数(the number of decomposition levels)とする。
σ(1,3)=NLHLの係数のσ
σ(3,1)=NLLHの係数のσ
σ(3,3)=NLHHの係数のσ
・・・
σ(2,6)=(NL-1)HLの係数のσ
σ(6,2)=(NL-1)LHの係数のσ
σ(6,6)=(NL-1)HHの係数のσ
・・・
すなわち、以下のように、一般化される。
Figure 0004737711
上記したσ値は、単純な信号の標準偏差でもよいし、上記実施形態で示したようなラプラス分布の推定を行ったときの結果であってもよい。以上のσの配置は、図12に示したように各変換係数の2次元周波数上での範囲の中心をxy平面上に相対的に配置したものである。
ゼロ変換係数分布推定部526は、上記σ値を指数関数で近似して、ゼロ変換係数に対応するσ値を算出する。
[第2実施形態]
次に、第2の実施形態を説明する。
第2の実施形態では、上記第1の実施形態とは異なる分布決定方法を説明する。より具体的には、本実施形態では、変換係数種類cごとに、量子化インデクスQ(c,i,j)の標準偏差を計算することでσ値を求める。なお、本実施形態における復号化プログラム5は、図4に示された各構成を有する。
本実施形態における分布推定部520は、既出の関数F+(x,σ)、あるいは、F-(x,σ)を用いてσの推定を行う。F+(x,σ)、あるいは、F-(x,σ)は、ラプラス分布を積分した関数であり、以下の式で表される。
Figure 0004737711
この関数は、y=F+(x,σ)、あるいは、y=F-(x,σ)の形の方程式に対し、σをxとyの陽関数として表すことが可能である。すなわち、数値演算(反復演算)を行わなくても、標準偏差σを得ることができる。この点が、本実施形態が、上記第1の実施形態よりも優れている点である。
ここで、量子化インデクスqの正規化ヒストグラムをH(q)とする。
本実施形態では、ある整数Nを与えたとき、qが-N〜Nまでの正規化ヒストグラムの和と、それに相当するラプラス分布の積分値が等しくなるような標準偏差σを求めるものである。
量子化ステップサイズがDの時、qが-N〜Nまでとなる係数の範囲は、JPEG方式の場合には、-(2N+1)D/2〜(2N+1)D/2となる。
qが-N〜Nまでの正規化ヒストグラムの和と、それに相当するラプラス分布の積分値が等しくなるようにするには、下記のようにすればよい。
Figure 0004737711
上式は、ラプラス分布の対称性より、
Figure 0004737711
と表すことができる。この式をσに関して解くと、
Figure 0004737711
を得る。分布推定部520は、この式を用いて、標準偏差σを求める。
[変形例1]
以下、第2の実施形態の変形例を説明する。
第1の変形例として、上記第2の実施形態をJPEG2000方式に対応させた形態を説明する。JPEG2000方式の場合には、qが-N〜Nまでとなる係数の範囲は、-(N+1)D〜(N+1)Dとなる。qが-N〜Nまでの正規化ヒストグラムの和と、それに相当するラプラス分布の積分値が等しくなるようにするには、下記のようにすればよい。
Figure 0004737711
[変形例2]
上記第2の実施形態では、整数Nの値は既定値(すなわち、与えられたもの)であったが、第2の変形例では、復号化プログラム5が適切な整数Nの値を設定する。
ここでは、量子化インデクスqの最大値の一次関数としてNの値を決定する方式を具体例として説明する。
まず、予め定数a,bを用意して、
(1)量子化インデクスqの絶対値の最大値をqMとする。すなわち、qM=max{|qmax|,|qmin|}とする。
(2)qMが0の時には、処理を行わない。
(3)N=min{qM-1,round(a×qM+b)}としてNを求める。
ただし、上式において、max{A,B}は、A,Bのうちで大きなものを出力する関数、min{A,B}は、A,Bのうちで小さいものを出力する関数を示す。また、qの最小値をqmin,最大値をqmaxとしている。round()は、四捨五入あるいは五捨六入等の丸め処理を示す。
上記(3)で、qM-1と、一次関数出力値round(a×qM+b)の最小値を取っているのは、N=qMとなった場合には、σ値を算出する式(17)の分母が0となってしまい、σを求めることができないためである。つまり、Nの最大値をqM-1とする処理を行うためである。
図13は、第2の変形例における分布推定部520の構成をより詳細に説明する図である。
図13に例示するように、分布推定部520は、頻度分布計測部532、ヒストグラム正規化部534、N値取得部536及び標準偏差推定部538を含む。
分布推定部520において、頻度分布計測部532は、入力された量子化インデクスQ(i)(ただし、i=1,2,...)に基づいて、頻度分布h(q)を計測する。頻度分布h(q)は、量子化インデクスQ(i)の値がqとなる個数を示す。
また、頻度分布計測部532は、量子化インデクス値qの絶対値の最大値qMを取得する。
ヒストグラム正規化部534は、頻度分布計測部532により計測された頻度分布h(q)を正規化して、正規化ヒストグラムH(q)を生成する。
N値取得部536は、頻度分布計測部532により取得されたqMに基づいて、N値を決定する。具体的には、N値取得部536は、上記(1)〜(3)の処理を行う。
標準偏差推定部538は、N値取得部536により取得されたN値と、ヒストグラム正規化部534により生成された正規化ヒストグラムH(q)、及び、外部から入力された量子化ステップサイズDに基づいて、標準偏差σを算出する。
上記のようにN値を設定した場合の実験結果を図14に示す。
様々な画像をDCTで変換し、量子化した後の量子化インデクスの最大値を求める。さらに、原画像の変換係数の標準偏差を求めておき、様々なNの値でσを計算して、その変換係数の標準偏差を推定するのに最も適したNの値を求めておく。図14は、このように求めた量子化インデクスの最大値と最適なNの値との関係を示したものである。図14に示されるように、qMと最適なNの間には線形の関係がある。
したがって、本手法のようにqMの一次関数でNを求める効果は高い。
また、b=0として、N=min{qM-1,round(a×qM)}としてN値を求めてもよい。
すなわち、図14に示されるようにqMと最適Nの関係は、ほぼ原点を通る直線であるため、b=0に限定してもよい。
上記では、量子化インデクスqの絶対値の最大値をqMとして、qMの一次関数を用いてNを求めた。しかし、qMを量子化インデクスqの絶対値の最大値とする必然性は必ずしもない。qMとして、qmaxや、qminを用いてもよい。
これは、量子化インデクスの分布が大体対称であり、だいたいqmax=-qminが成り立っているためである。すなわち、必ずしも絶対値の最大値を用いなくてもよい
また、上記では、一次関数の出力のround()関数による丸めを行ってN値を求めた。整数値Nを求めるためには、切り捨て、あるいは切り上げ等の処理を行ってもよい。
また、上記では、頻度分布を加算する範囲を-N〜Nとしていたが、このような対称な範囲でなくともよい。例えば、範囲は、Nmin〜Nmaxであり、Nmin≦0、かつ、Nmax≦0であればよい。例えば、Nminをqminの関数として求め、Nmaxをqmaxの関数として求める等としてもよい。
[変形例3]
第3の変形例では、H(q)の累積頻度がある値P(0<P<1)になるようなNの値を用いて推定を行う。すなわち、第3の変形例におけるN値取得部536は、既定値Pを与えて、
Figure 0004737711
となるNを求める。
より具体的には、図13に例示した構成により、以下のように動作する。
なお、分布推定部520に入力されるデータは、量子化インデクスQ(i)(ただし、i=1,2,...)、および、量子化ステップサイズDである。
頻度分布計測部532は、入力された量子化インデクスQ(i)に基づいて、頻度分布h(q)を計測する。h(q)は、量子化インデクスQ(i)の値がqとなる個数を示す。
頻度分布計測部532は、同時に、量子化インデクス値qの絶対値の最大値qMを取得する。
次に、ヒストグラム正規化部534は、頻度分布計測部532により計測された頻度分布h(q)に基づいて、正規化ヒストグラムH(q)を生成する。
N値取得部536は、ヒストグラム正規化部534により生成された正規化ヒストグラムH(q)と、頻度分布計測部532により取得されたqMとに基づいて、N値を決定する。なお、値Pは予め定められた値である。
より具体的には、N値取得部536は、図15に示すフローチャートにそって、N値を決定する。なお、図15のフローチャートにおけるqmは、qの絶対値の最大値(上記qM)を示す。また、SUMは、頻度値H(q)の累積値(累積頻度)を示す。
まず、N値取得部536は、SUM=H(0)、i=0とする(S200)。
次に、N値取得部536は、SUM≧P又はqm=1である場合(S205:Yes)、N=1として処理を終了し(S210)、これ以外の場合(S205:No)、i値を1つインクリメントし、NewSUM=SUM+H(i)+H(-i)とする(S215)。つまり、N値取得部536は、頻度値を累積する範囲を左右に1つ広げる。
N値取得部536は、NewSUM≧Pであり(S220:Yes)、かつ、|NewSUM-P|≦|SUM-P|である(S225:Yes)場合に、N=iとして処理を終了し(S230)、NewSUM≧Pであり(S220:Yes)、かつ、|NewSUM-P|>|SUM-P|である(S225:No)場合に、N=i-1として処理を終了する(S235)。
一方、N値取得部536は、NewSUM<Pであり(S220:No)、かつ、i=qm-1である(S240:Yes)場合に、N=qm-1として処理を終了し(S245)、NewSUM<Pであり(S220:No)、かつ、i=qm-1でない(S240:No)場合に、NewSUMの値をSUMに代入して(S250)、S215の処理に戻る。
以上の処理により、N値取得部536は、N値を決定する。
さらに、N値取得部536は、上記フローチャートで示すように、ΣH(q)の値を算出済みであるため、正規化ヒストグラムの加算結果である
Figure 0004737711
を標準偏差推定部538に出力する。
標準偏差推定部538は、第2の実施形態で示した式を用いて、N値取得部536から入力されたN値及び正規化ヒストグラムH(q)の加算結果と、外部から入力された量子化ステップサイズDとに基づいて、標準偏差σを算出する。
以上のように、標準偏差を推定したときの結果例を以下に示す。
様々な画像、色成分、量子化ステップサイズで計測した元の変換係数の標準偏差と推定した標準偏差との自乗平均誤差の平方根(RMSE)を計算した。
第2の変形例で示した方法でN値を決定した場合に、RMSEは、4.176であった。
また、第3の変形例で示した方法でN値を決定した場合に、RMSEは、4.033であった、
このように、上記変形例で示された方法は、正確に標準偏差を推定できる。
しかも、本実施形態における手法は、従来例のように数値演算を必要としないため、局所解に陥ることがなく安定で、かつ、高速に演算を行うことができる。
さらに、図16には、様々な画像、色成分、量子化ステップサイズで計測した元の変換係数の標準偏差と推定した標準偏差との比を示している。縦軸は、推定標準偏差/真の標準偏差であるため、1に近いほうが性能が良いことを示している。
図16から分かるように、Xの値が大きな場合には、従来例の値が非常に悪くなるのに対し、上記第2の変形発明では、Xが大きな場合でも性能が悪くならない非常に良い方式であるということが分かる。
さらに、Xの値が小さい時には、従来例の方式が比較的良い。また、Xの値が大きな時には上記第2又は第3の変形例が良い。
[変形例4]
そこで、第4の変形例では、X=D/σの値が小さな時は、特開2004−80741号公報に開示された方法(すなわち、上記従来例)を適用し、Xの値が大きな時には、上記第2又は第3の変形例を適用する。
この場合に、σの真値は分からないため、分布推定部520は、まず、上記第2又は第3の変形例と同様の手法により、σの推定を行い、推定したσを用いて、Xの値の評価を行い、Xが予め定めた閾値より小さい時には、従来例の方法を用いて推定したσを採用し、Xが予め定めた閾値より大きな時には、上記第2又は第3の変形例を用いて推定したσを採用する。
なお、分布推定部520は、量子化インデクスの最大値(あるいは、絶対値の最大値)が予め定めておいた閾値より小さい場合には、上記第2又は第3の変形例を用いて、σの推定を行い、量子化インデクスの最大値(あるいは、絶対値の最大値)が予め定めておいた閾値より大きな場合には、従来例の方法を用いてσの推定を行う。
また、分布推定部520は、従来例の方法により算出されたσ値と、上記第2又は第3の変形例により算出されたσ値とに基づいて、これらの中間的なσ値を算出し、適用してもよい。
すなわち、図16に示すように、従来例の方法では、実際の標準偏差よりも小さな値が出ることが多く、上記第2又は第3の変形例では、実際の標準偏差よりも大きな値が出ることが多いため、分布推定部520は、これらの算出結果を統合して、中間的なσ値とすることにより、より実際の標準偏差に近いσ値を求めることができる。
より具体的には、従来例の方法により算出された標準偏差をA、上記第2又は第3の変形例により算出された標準偏差をBとすると、分布推定部520は、以下の式により、最終標準偏差σを算出する。なお、定数cは既定値である。
Figure 0004737711
例えば、c=1とする場合には、最終標準偏差σは、標準偏差Aと標準偏差Bとの相乗平均となる。c=1の場合の結果を図17に示す。縦軸の推定標準偏差相対値とは、推定標準偏差値/真の標準偏差値の値を示す。
図17に示すように、第4の変形例では、さらに推定精度を高めることができた。
この第4の変形例について、RMSE=SQRT(真の標準偏差と、推定標準偏差の差分の自乗の平均値)を算出した。ただし、SQRT()は、平方根を計算する関数である。
従来例のRMSE:2.26
第4の変形例のRMSE:1.22
以上の結果より、第4の変形例の効果(正確性)が高いことがわかる。
JPEG方式及びJPEG2000方式などの変換符号化方式の概略を説明する図であり、(A)は、符号化処理の概略を示し、(B)は、復号化処理の概略を示す。 変換符号化方式における量子化処理を説明する図である。 本発明にかかる逆量子化方法が適応される復号化装置2のハードウェア構成を、制御装置20を中心に例示する図である。 制御装置20(図3)により実行され、本発明にかかる逆量子化方法を実現する復号化プログラム5の機能構成を例示する図である。 分布推定部520(図4)をより詳細に説明する図である。 ヒストグラムhと分布関数L(ラプラス関数)とを例示する図である。 ゼロ変換係数推定部526による分布推定処理を説明する図である。 補正部580による補正を模式的に説明する図である。 復号化プログラム5(図4)による復号化処理(S10)のフローチャートである。 逆量子化値推定部500により用いられるフィルタを例示する図である。 折れ線近似を説明する図である。 JPEG2000方式の変換係数を説明する図である。 第2の実施形態における分布推定部520をより詳細に説明する図である。 量子化インデクスの最大値と、最適N値との関係を示すグラフである。 N値決定処理のフローチャートである。 元の変換係数の標準偏差と推定した標準偏差との比を示すグラフである。 第4の変形例を適用した場合の、元の変換係数の標準偏差と推定した標準偏差との比を示すグラフである。
符号の説明
2・・・復号化装置
5・・・復号化プログラム
40・・・エントロピ復号部
50・・・逆量子化部
500・・・逆量子化値推定部
520・・・分布推定部
522・・・ゼロ判定部
524・・・非ゼロ変換係数分布推定部
526・・・ゼロ変換係数分布推定部
532・・・頻度分布計測部
534・・・ヒストグラム正規化部
536・・・N値取得部
538・・・標準偏差推定部
540・・・期待値推定部
560・・・乱数発生部
580・・・補正部
582・・・分布情報特定部
590・・・逆量子化値出力部
60・・・逆変換部

Claims (23)

  1. 量子化処理により生成された量子化値を識別するためのインデクスであり、符号データに含まれた量子化インデクスの頻度分布から推定された元データの頻度分布に応じて、乱数を生成する乱数生成手段と、
    前記乱数生成手段により生成される乱数に基づいて、処理対象の量子化インデクスに対応する逆量子化値を生成し、生成された逆量子化値を用いて復号データを生成させる復号化手段と
    を有する復号化装置。
  2. 符号データに含まれる量子化インデクスの頻度分布を示す分布情報を生成する分布生成手段
    をさらに有し、
    前記乱数生成手段は、前記分布生成手段により生成された分布情報を、前記元データの分布情報として適用する
    請求項1に記載の復号化装置。
  3. 前記乱数発生手段は、既定の範囲内で、乱数を発生させる
    請求項1に記載の復号化装置。
  4. 乱数を用いずに、それぞれの量子化インデクスに対応する逆量子化値を生成する逆量子化値生成手段
    をさらに有し、
    前記復号化手段は、前記逆量子化値生成手段により生成される逆量子化値、又は、前記乱数生成手段により生成される乱数を適用して、復号データを生成する
    請求項1に記載の復号化装置。
  5. 前記復号化手段は、処理対象となる注目量子化インデクスの値が0である場合にのみ、前記乱数生成手段により生成される乱数を適用する
    請求項に記載の復号化装置。
  6. 前記逆量子化値生成手段は、処理対象となる注目量子化インデクスの値と、この注目量子化インデクスを含むブロックの周囲にあるブロックの量子化インデクスの値とを用いて、この注目量子化インデクスに対応する逆量子化値を生成する
    請求項4又は5に記載の復号化装置。
  7. 前記復号化手段は、前記注目量子化インデクスの値と、前記他の量子化インデクスの値との差分値がいずれも0である場合に、前記乱数生成手段により生成される乱数を適用し、前記差分値のいずれかが0以外の値である場合に、前記逆量子化値生成手段により生成される逆量子化値を適用する
    請求項に記載の復号化装置。
  8. 前記分布生成手段は、前記量子化インデクスの分散又は標準偏差を、前記分布情報として生成し、
    前記乱数生成手段は、前記分布生成手段により生成された分散又は標準偏差に対応するラプラス分布に応じて、乱数を発生させる
    請求項2に記載の復号化装置。
  9. 前記分布生成手段は、量子化インデクス値に対応する各量子化区間に関する、量子化インデクス値のヒストグラムとの面積差の総和が最小となるようなラプラス分布の分散又は標準偏差を算出する
    請求項に記載の復号化装置。
  10. 前記乱数発生手段は、それぞれの量子化インデクスに対応する量子化区間の幅に応じた範囲内で、乱数を発生させる
    請求項に記載の復号化装置。
  11. 前記分布生成手段は、量子化インデクスに対応する変換係数の標準偏差を取得し、
    前記乱数発生手段は、取得された前記標準偏差に対して既定値が乗じられた標準偏差と、乱数を発生させる上限値とのうち、小さい方の値を上限として、一様に乱数を発生させる
    請求項2に記載の復号化装置。
  12. 前記分布生成手段は、量子化インデクスの出現頻度を計測し、計測された出現頻度に基づいて、正規化されたヒストグラムを生成し、量子化インデクスの頻度分布を加算する加算範囲を決定し、生成されたヒストグラムと、決定された加算範囲とに基づいて、標準偏差又は分散を決定する
    請求項8に記載の復号化装置。
  13. 前記分布生成手段は、量子化インデクスの標準偏差又は分散である第1の標準偏差又は分散と、既定の範囲における量子化インデクスの頻度値の合算値と該範囲に相当するラプラス分布関数の積分値とが一致する場合のラプラス分布の標準偏差又は分散である第2の標準偏差又は分散との少なくとも一方を用いて、量子化インデクスに対応する元データの分布を推定する
    請求項8に記載の復号化装置。
  14. 前記分布推定手段は、前記第1の標準偏差又は分散と、前記第2の標準偏差又は分散との幾何平均を算出し、算出された幾何平均値を用いて、元データの分布を推定する
    請求項13に記載の復号化装置。
  15. 前記分布推定手段は、量子化インデクスの最大値に基づいて、前記第1の標準偏差又は分散と、前記第2の標準偏差又は分散とのうち、いずれか一方を選択して適用する
    請求項13に記載の復号化装置。
  16. 前記分布推定手段は、前記第2の標準偏差と、量子化区間の幅との比に基づいて、前記第1の標準偏差又は分散と、前記第2の標準偏差又は分散とのうち、いずれか一方を選択して適用する
    請求項13に記載の復号化装置。
  17. 量子化処理により生成された量子化値を識別するためのインデクスであり、符号データに含まれた量子化インデクスの頻度分布から推定された元データの頻度分布に応じて、乱数を生成し、
    生成された乱数に基づいて、処理対象の量子化インデクスに対応する逆量子化値を生成する
    逆量子化方法。
  18. それぞれの量子化インデクスの頻度値を加算し、
    ラプラス分布の最大頻度位置を基準として右側の積分範囲と左側の積分範囲とが等しくなるように、ラプラス分布関数を積分した場合の積分値と、頻度値の加算値とが一致するように、ラプラス分布の分散又は標準偏差を算出して決定する分布により乱数を生成する
    請求項17に記載の逆量子化方法。
  19. 量子化インデクスの頻度分布における最大頻度値を基準として右側の加算範囲と左側の加算範囲とが等しくなるように、それぞれの量子化インデクスの頻度値を加算する
    請求項18に記載の分布決定方法。
  20. 量子化インデクスの絶対値の最大値に基づいて、前記頻度値を加算する範囲を決定する
    請求項18に記載の分布決定方法。
  21. 量子化インデクスの絶対値の最大値を既定の一次関数に代入し、
    この一次関数により求められた数値に対して丸め処理を施して、整数値を算出し、
    算出された整数値を、前記頻度値を加算する範囲とする
    請求項20に記載の分布決定方法。
  22. 量子化処理により生成された量子化値を識別するためのインデクスであり、符号データに含まれた量子化インデクスの頻度分布から推定された元データの頻度分布に応じて、乱数を生成するステップと、
    生成された乱数に基づいて、処理対象の量子化インデクスに対応する逆量子化値を生成し、生成された逆量子化値を用いて復号データを生成させるステップと
    をコンピュータに実行させるプログラム。
  23. それぞれの量子化インデクスの頻度値を加算するステップと、
    ラプラス分布の最大頻度位置を基準として右側の積分範囲と左側の積分範囲とが等しくなるようにラプラス分布関数を積分した場合の積分値と、頻度値の加算値とが一致するように、ラプラス分布の分散又は標準偏差を算出して決定する分布により乱数を生成するステップと
    生成された乱数に基づいて、処理対象の量子化インデクスに対応する逆量子化値を生成するステップと
    をコンピュータに実行させるプログラム。
JP2005084085A 2005-03-23 2005-03-23 復号化装置、逆量子化方法、分布決定方法及びこのプログラム Expired - Fee Related JP4737711B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005084085A JP4737711B2 (ja) 2005-03-23 2005-03-23 復号化装置、逆量子化方法、分布決定方法及びこのプログラム
US11/179,988 US7715636B2 (en) 2005-03-23 2005-07-13 Decoding apparatus, dequantizing method, distribution determining method, and program thereof
CNB2005100875080A CN100490494C (zh) 2005-03-23 2005-07-20 解码设备、逆量化方法、分布确定方法及其程序
US12/659,571 US8014617B2 (en) 2005-03-23 2010-03-12 Decoding apparatus, dequantizing method, distribution determining method, and program thereof
US12/659,574 US8355586B2 (en) 2005-03-23 2010-03-12 Decoding apparatus, dequantizing method, distribution determining method, and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005084085A JP4737711B2 (ja) 2005-03-23 2005-03-23 復号化装置、逆量子化方法、分布決定方法及びこのプログラム

Publications (2)

Publication Number Publication Date
JP2006270375A JP2006270375A (ja) 2006-10-05
JP4737711B2 true JP4737711B2 (ja) 2011-08-03

Family

ID=37015967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005084085A Expired - Fee Related JP4737711B2 (ja) 2005-03-23 2005-03-23 復号化装置、逆量子化方法、分布決定方法及びこのプログラム

Country Status (3)

Country Link
US (3) US7715636B2 (ja)
JP (1) JP4737711B2 (ja)
CN (1) CN100490494C (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4725127B2 (ja) * 2005-02-16 2011-07-13 ソニー株式会社 復号装置および方法、記録媒体、並びにプログラム
US7778468B2 (en) 2005-03-23 2010-08-17 Fuji Xerox Co., Ltd. Decoding apparatus, dequantizing method, and program thereof
US7696907B2 (en) * 2005-10-05 2010-04-13 Lg Electronics Inc. Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
US7672379B2 (en) * 2005-10-05 2010-03-02 Lg Electronics Inc. Audio signal processing, encoding, and decoding
KR100857115B1 (ko) * 2005-10-05 2008-09-05 엘지전자 주식회사 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩방법 및 이의 장치
US7751485B2 (en) * 2005-10-05 2010-07-06 Lg Electronics Inc. Signal processing using pilot based coding
US8068569B2 (en) * 2005-10-05 2011-11-29 Lg Electronics, Inc. Method and apparatus for signal processing and encoding and decoding
WO2007040360A1 (en) * 2005-10-05 2007-04-12 Lg Electronics Inc. Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
JP5102122B2 (ja) * 2008-06-11 2012-12-19 キヤノン株式会社 復号化装置及び復号化方法
JP5151919B2 (ja) * 2008-11-11 2013-02-27 ソニー株式会社 画像復号化装置と画像復号化方法およびコンピュータ・プログラム
EP2309493B1 (en) * 2009-09-21 2013-08-14 Google, Inc. Coding and decoding of source signals using constrained relative entropy quantization
US8396119B1 (en) * 2009-09-30 2013-03-12 Ambarella, Inc. Data sample compression and decompression using randomized quantization bins
US10134150B2 (en) * 2010-08-10 2018-11-20 Monotype Imaging Inc. Displaying graphics in multi-view scenes
US20150043637A1 (en) * 2012-04-13 2015-02-12 Sony Corporation Image processing device and method
US9628808B2 (en) * 2013-03-26 2017-04-18 Dolby Laboratories Licensing Corporation Encoding perceptually-quantized video content in multi-layer VDR coding
US10372528B1 (en) * 2014-12-15 2019-08-06 Seagate Technology Llc Random values from data errors

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885636A (en) * 1987-06-22 1989-12-05 Eastman Kodak Company Block adaptive linear predictive coding with adaptive gain and bias
EP0429634B1 (en) * 1989-06-16 1996-08-14 Eastman Kodak Company Digital image interpolator
US5136374A (en) * 1990-04-03 1992-08-04 At&T Bell Laboratories Geometric vector quantization
US5625714A (en) * 1991-01-10 1997-04-29 Olympus Optical Co., Ltd. Image signal decoding device capable of removing block distortion with simple structure
JPH0514735A (ja) 1991-07-01 1993-01-22 Kubota Corp 画像処理装置
JPH05316361A (ja) 1992-04-24 1993-11-26 Sony Corp ブロック歪除去フィルタ
JP3132168B2 (ja) 1992-07-31 2001-02-05 松下電器産業株式会社 映像信号処理装置
US5615288A (en) * 1993-04-26 1997-03-25 Fuji Xerox Co., Ltd. Singular value decomposition coding and decoding apparatuses
JP3466705B2 (ja) * 1993-05-28 2003-11-17 ゼロックス・コーポレーション 圧縮画像の圧縮解除方法
WO1995007004A1 (en) * 1993-08-30 1995-03-09 Sony Corporation Device and method for encoding image data
JP2921358B2 (ja) * 1993-10-06 1999-07-19 富士ゼロックス株式会社 画像符号化装置
US5724097A (en) * 1993-10-18 1998-03-03 Mitsubishi Denki Kabushiki Kaisha Adaptive quantization of video based on edge detection
JP2914607B2 (ja) 1994-06-10 1999-07-05 シャープ株式会社 画像信号復号化装置
JPH08102943A (ja) * 1994-09-30 1996-04-16 Fuji Xerox Co Ltd 画像符号化装置
US5778102A (en) * 1995-05-17 1998-07-07 The Regents Of The University Of California, Office Of Technology Transfer Compression embedding
US5768425A (en) * 1995-07-14 1998-06-16 Texas Instruments Incorporated Method and system for improved threshold based screening
US6072909A (en) * 1995-12-13 2000-06-06 Fuji Xerox Co., Ltd. Image coding devise and image decoding devise using with image disassembly
JP2888186B2 (ja) * 1996-02-19 1999-05-10 富士ゼロックス株式会社 画像符号化装置および画像復号装置
JP2002091691A (ja) * 2000-09-20 2002-03-29 Nagano Fujitsu Component Kk ポインティングデバイス
JPH10243402A (ja) * 1997-02-27 1998-09-11 Toshiba Corp 画像処理装置及び画像処理方法
JP3087835B2 (ja) * 1997-04-22 2000-09-11 富士ゼロックス株式会社 画像符号化方法および装置ならびに画像復号方法および装置
JP3959698B2 (ja) * 1998-02-24 2007-08-15 ソニー株式会社 画像処理方法および装置
JP3921678B2 (ja) 1998-02-24 2007-05-30 ソニー株式会社 画像処理方法および装置
JP4250867B2 (ja) * 1998-10-06 2009-04-08 ソニー株式会社 符号化装置および方法、復号装置および方法並びに記録媒体
US6393155B1 (en) * 1998-11-04 2002-05-21 International Business Machines Corporation Error reduction in transformed digital data
US6301368B1 (en) * 1999-01-29 2001-10-09 International Business Machines Corporation System and method for data hiding in compressed fingerprint images
JP3365330B2 (ja) * 1999-02-01 2003-01-08 ヤマハ株式会社 ベクトル量子化装置およびベクトル量子化方法
US6748113B1 (en) * 1999-08-25 2004-06-08 Matsushita Electric Insdustrial Co., Ltd. Noise detecting method, noise detector and image decoding apparatus
WO2001061387A2 (en) * 2000-02-17 2001-08-23 Nanovation Technologies, Inc. Strongly confined polarization-independent single-mode optical ridge waveguide
EP1164543B1 (en) * 2000-06-14 2017-08-09 Panasonic Intellectual Property Corporation of America Digital information embedding/extracting
US6424697B1 (en) * 2000-12-29 2002-07-23 Ge Medical Systems Global Technology Company, Llc Directed energy beam welded CT detector collimators
US7035459B2 (en) * 2001-05-14 2006-04-25 Nikon Corporation Image compression apparatus and image compression program
JP2003250137A (ja) * 2002-02-22 2003-09-05 Canon Inc 画像処理装置及び方法
JP3932110B2 (ja) * 2002-04-23 2007-06-20 シャープ株式会社 画像処理装置、画像処理システム、電子情報機器、画像処理方法、制御プログラムおよび可読記録媒体
JP4309703B2 (ja) 2002-06-21 2009-08-05 日本放送協会 符号化誤差推定装置
JP4657570B2 (ja) 2002-11-13 2011-03-23 ソニー株式会社 音楽情報符号化装置及び方法、音楽情報復号装置及び方法、並びにプログラム及び記録媒体
JP2004260539A (ja) * 2003-02-26 2004-09-16 Victor Co Of Japan Ltd 画像復号化装置及び画像復号化プログラム
US7200277B2 (en) * 2003-07-01 2007-04-03 Eastman Kodak Company Method for transcoding a JPEG2000 compressed image
WO2005020585A1 (en) * 2003-08-20 2005-03-03 Thomson Licensing S.A. Video comfort noise addition technique
GB0320287D0 (en) 2003-08-29 2003-10-01 Stanmore Implants Worldwide Shoulder joint prosthetic system
US7362474B2 (en) * 2004-06-07 2008-04-22 Lite-On Technology Corp. Printing quality enhancement via graphic/text detection method in compression (JPEG) image
JP2006074339A (ja) * 2004-09-01 2006-03-16 Fuji Xerox Co Ltd 符号化装置、復号化装置、符号化方法、復号化方法、及びこれらのプログラム
BRPI0518258A2 (pt) * 2004-11-24 2008-11-11 Thomson Licensing tÉcnica de simulaÇço de granulaÇço de filme para uso nos dispositivos de reproduÇço de mÍdia

Also Published As

Publication number Publication date
CN100490494C (zh) 2009-05-20
US20060215918A1 (en) 2006-09-28
US7715636B2 (en) 2010-05-11
US8014617B2 (en) 2011-09-06
US8355586B2 (en) 2013-01-15
US20100189371A1 (en) 2010-07-29
JP2006270375A (ja) 2006-10-05
US20100189369A1 (en) 2010-07-29
CN1838724A (zh) 2006-09-27

Similar Documents

Publication Publication Date Title
JP4737711B2 (ja) 復号化装置、逆量子化方法、分布決定方法及びこのプログラム
Zhang et al. Compression artifact reduction by overlapped-block transform coefficient estimation with block similarity
JP4775756B2 (ja) 復号化装置及びそのプログラム
JP4784281B2 (ja) 復号化装置、逆量子化方法及びこれらのプログラム
US20020150302A1 (en) Apparatus and methods for image and signal processing
JPH10327403A (ja) 圧縮条件の自動選択を伴う画像データの圧縮を最適化する方法
EP0998720A4 (en) DEVICE AND METHOD FOR IMAGE AND SIGNAL PROCESSING
EP2145476B1 (en) Image compression and decompression using the pixon method
JP2006141018A (ja) 動的なバッファ容量レベルに基づく圧縮調整を用いた画像の符号化
US7778468B2 (en) Decoding apparatus, dequantizing method, and program thereof
JP4645948B2 (ja) 復号化装置及びプログラム
JP2006270737A (ja) 復号化装置、分布推定方法、復号化方法及びこれらのプログラム
Han et al. ABCD: Arbitrary Bitwise Coefficient for De-quantization
JP4730144B2 (ja) 復号化装置、逆量子化方法及びこれらのプログラム
JP4784386B2 (ja) 復号化装置、逆量子化方法及びプログラム
CN112116544B (zh) 一种抵抗图像平滑滤波的预处理方法
Florea et al. Computationally efficient formulation of sparse color image recovery in the JPEG compressed domain
Wu Artifact Effect Reduction Using Power and Entropy Algorithms
JP4424672B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
Zaramensky et al. No-reference quality assessment of wavelet-compressed images
Cosma A Method for Improving the Progressive Image Coding Algorithms
FANGFANG DESIGN AND ANALYSIS OF EFFICIENT METHODS FOR PROVIDING A DESIRED QUALITY IN IMAGE LOSSY COMPRESSION
JP2004229101A (ja) 画像符号化システム及びその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101112

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110411

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110424

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees