(57)【要約】  【課題】  より適切な復号化処理を行う復号化装置を提供する。  【解決手段】  復号化装置２は、逆量子化値Ｒの頻度分布を、元データの変換係数Ｔの頻度分布にできるだけ近づけることによって、できるだけ元データに近い復号データを生成する。例えば、ＪＰＥＧ方式あるいはＪＰＥＧ２０００方式等の標準技術では、逆量子化値の頻度分布が値Ｒの一点にのみ分布させていることになる。しかしながら、本復号化装置２は、逆量子化値の頻度分布を、元の変換係数の頻度分布にできるだけ近づけることにより、よりよい復号データを生成する。【選択図】図６
2006262310.tif 000002
【特許請求の範囲】
【請求項１】
１つの量子化インデクス値に対して、複数の逆量子化値を生成する逆量子化値生成手段と、
それぞれの量子化インデクスに対応する元データの分布情報を取得する分布情報取得手段と、
前記分布情報取得手段により取得された分布情報に応じて、前記逆量子化値生成手段により生成された逆量子化値の少なくとも一部を補正する補正手段と
を有する復号化装置。
【請求項２】
前記分布情報生成手段は、それぞれの量子化インデクスに対応する元データの確率密度関数の期待値を前記分布情報として取得し、
前記補正手段は、前記分布情報取得手段により取得された期待値と、前記逆量子化値生成手段により生成された複数の逆量子化値の平均値とに基づいて、補正量を決定する
請求項１に記載の復号化装置。
【請求項３】
前記量子化インデクスは、変換符号化処理により生成される変換係数のいずれかの成分に対応づけられており、
前記分布情報取得手段は、変換係数の成分毎に、前記分布情報を取得し、
前記補正手段は、変換係数の成分毎に取得された分布情報のうち、変換係数の成分が一致する分布情報に応じて、逆量子化値を補正する
請求項１又は２に記載の復号化装置。
【請求項４】
前記分布情報取得手段は、それぞれの量子化インデクスに対応する量子化区間の確率密度関数の期待値を前記分布情報として取得し、
前記補正手段は、前記分布情報取得手段により取得された各量子化区間の期待値と、前記逆量子化値生成手段によりそれぞれの量子化インデクスについて生成された複数の逆量子化値の平均値とに基づいて、それぞれの量子化インデクスに対する補正量を決定する
請求項２に記載の復号化装置。
【請求項５】
前記分布情報取得手段は、それぞれの量子化インデクスに対応する量子化区間の確率密度関数の期待値に対して、変換係数の成分毎の量子化インデクスの数に応じた重み付け係数をかけて、これらの合算値を算出し、
前記補正手段は、前記逆量子化値生成手段により生成された逆量子化値の量子化インデクス毎の平均値と、前記分布情報生成手段により算出された合算値とが略一致するように、生成された逆量子化値を補正する
請求項３に記載の復号化装置。
【請求項６】
前記補正手段は、さらに、それぞれの量子化インデクスに対応する量子化区間に応じて、生成された逆量子化値の少なくとも一部を補正する
請求項１に記載の復号化装置。
【請求項７】
前記補正手段は、前記分布情報に応じて補正された逆量子化値がそれぞれの量子化インデクスに対応する量子化区間におさまるように、これらの逆量子化値の平均値を変化させずに、少なくとも一部の逆量子化値を補正する
請求項６に記載の復号化装置。
【請求項８】
量子化インデクスの分布情報を生成する分布情報生成手段
をさらに有し、
前記分布情報取得手段は、前記分布情報生成手段により生成された量子化インデクスの分布情報を、前記元データの分布情報として取得する
請求項１に記載の復号化装置。
【請求項９】
前記分布情報生成手段は、量子化インデクス値の頻度分布を折れ線近似することにより、これらの量子化インデクスの確率密度関数を生成し、
前記分布情報取得手段は、前記分布情報生成手段により生成された確率密度関数を、前記元データの確率密度関数として取得する
請求項８に記載の復号化装置。
【請求項１０】
前記分布情報生成手段は、量子化インデクス値の頻度分布のうち、互いに隣接する量子化インデクス値の間を、これらの量子化インデクス値の頻度数の比に応じた内分点を通るように折れ線近似する
請求項９に記載の復号化装置。
【請求項１１】
前記分布情報生成手段は、量子化インデクス値の頻度分布のうち、連続する３つの量子化インデクス値において、中央の頻度数がこの両隣の頻度数よりも大きい場合に、この中央の頻度数を実際の頻度数よりも大きくなるように折れ線近似し、中央の頻度数がこの両隣の頻度数よりも小さい場合に、この中央の頻度数を実際の頻度数よりも小さくなるように折れ線近似する
請求項９に記載の復号化装置。
【請求項１２】
前記分布情報生成手段は、量子化インデクス値の頻度分布のうち、連続する３つの量子化インデクス値をｈ（ｑ−１）、ｈ（ｑ）及びｈ（ｑ＋１）とした場合に、この中央の量子化インデクス値に関する折れ線近似値ｈ'（ｑ）を以下の式：
ｈ'（ｑ）＝ｈ（ｑ）×ｈ（ｑ）／｛１／（ｈ（ｑ）＋ｈ（ｑ−１））＋１／（ｈ（ｑ）＋ｈ（ｑ＋１））｝
を用いて算出する
請求項９に記載の復号化装置。
【請求項１３】
前記分布情報生成手段は、量子化インデクス値が第１の範囲にある場合に、量子化インデクス値の頻度分布を折れ線近似することにより、前記確率密度関数を生成し、量子化インデクス値が第２の範囲にある場合に、量子化インデクス値の頻度分布をラプラス分布で近似することにより、前記確率密度関数を生成する
請求項９に記載の復号化装置。
【請求項１４】
前記逆量子化値生成手段は、逆量子化すべき注目量子化インデクスの値と、この注目量子化インデクスに対して既定の位置にある逆量子化インデクスの値とに基づいて、この注目量子化インデクスの逆量子化値を算出する
請求項１に記載の復号化装置。
【請求項１５】
元データを量子化した場合の量子化値それぞれに対応付けられた量子化インデクス値それぞれに対して、複数の逆量子化値を生成し、
それぞれの量子化インデクスに対応する元データの分布情報を取得し、
取得された分布情報に応じて、生成された逆量子化値の少なくとも一部を補正する
逆量子化方法。
【請求項１６】
元データを量子化した場合の量子化値それぞれに対応付けられた量子化インデクス値それぞれに対して、複数の逆量子化値を生成するステップと、
それぞれの量子化インデクスに対応する元データの分布情報を取得するステップと、
取得された分布情報に応じて、生成された逆量子化値の少なくとも一部を補正するステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化処理により生成された符号データを復号化する復号化装置に関する。特に、本発明は、データの量子化を伴う符号化処理により生成された符号データを、逆量子化を行うことにより復号化する復号化装置に関する。
【背景技術】
【０００２】
例えば、特許文献１は、ＤＣＴのブロック境界にのみ低域通過フィルタをかける方式を開示する。
また、特許文献２は、画像内のエッジの有無を判別し、判別結果に応じて、適用すべきフィルタを選択する方式を開示する。
また、特許文献３は、歪が目立ち易い領域であると判断した場合に、ＤＣＴ係数に雑音を付加する方式を開示する。
また、非特許文献１は、ＪＰＥＧ標準を開示する。
また、非特許文献２は、ＪＰＥＧ２０００標準を開示する。
また、非特許文献３は、変換係数の頻度分布を合わせることによって、よく似たテクスチャを持つ画像を合成する手法を開示する。
【特許文献１】特開平５−１４７３５号公報
【特許文献２】特開平５−３１６３６１号公報
【特許文献３】特開平７−３３６６８４号公報
【非特許文献１】ＩＴＵ−Ｔ勧告  Ｔ．８１
【非特許文献２】ＩＴＵ−Ｔ勧告  Ｔ．８００
【非特許文献３】D. Heeger and J. Bergen,  "Pyramid based texture analysis/synthesis," Computer Graphics, pp. 229-238, SIGGRAPH 95, 1995.
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述した背景からなされたものであり、符号データをより適切に復号化する復号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
［復号化装置］
上記目的を達成するために、本発明にかかる復号化装置は、１つの量子化インデクス値に対して、複数の逆量子化値を生成する逆量子化値生成手段と、それぞれの量子化インデクスに対応する元データの分布情報を取得する分布情報取得手段と、前記分布情報取得手段により取得された分布情報に応じて、前記逆量子化値生成手段により生成された逆量子化値の少なくとも一部を補正する補正手段とを有する。
【０００５】
好適には、前記分布情報生成手段は、それぞれの量子化インデクスに対応する元データの確率密度関数の期待値を前記分布情報として取得し、前記補正手段は、前記分布情報取得手段により取得された期待値と、前記逆量子化値生成手段により生成された複数の逆量子化値の平均値とに基づいて、補正量を決定する。
【０００６】
好適には、前記量子化インデクスは、変換符号化処理により生成される変換係数のいずれかの成分に対応づけられており、前記分布情報取得手段は、変換係数の成分毎に、前記分布情報を取得し、前記補正手段は、変換係数の成分毎に取得された分布情報のうち、変換係数の成分が一致する分布情報に応じて、逆量子化値を補正する。
【０００７】
好適には、前記分布情報取得手段は、それぞれの量子化インデクスに対応する量子化区間の確率密度関数の期待値を前記分布情報として取得し、前記補正手段は、前記分布情報取得手段により取得された各量子化区間の期待値と、前記逆量子化値生成手段によりそれぞれの量子化インデクスについて生成された複数の逆量子化値の平均値とに基づいて、それぞれの量子化インデクスに対する補正量を決定する。
【０００８】
好適には、前記分布情報取得手段は、それぞれの量子化インデクスに対応する量子化区間の確率密度関数の期待値に対して、変換係数の成分毎の量子化インデクスの数に応じた重み付け係数をかけて、これらの合算値を算出し、前記補正手段は、前記逆量子化値生成手段により生成された逆量子化値の量子化インデクス毎の平均値と、前記分布情報生成手段により算出された合算値とが略一致するように、生成された逆量子化値を補正する。
【０００９】
好適には、前記補正手段は、さらに、それぞれの量子化インデクスに対応する量子化区間に応じて、生成された逆量子化値の少なくとも一部を補正する。
【００１０】
好適には、前記補正手段は、前記分布情報に応じて補正された逆量子化値がそれぞれの量子化インデクスに対応する量子化区間におさまるように、これらの逆量子化値の平均値を変化させずに、少なくとも一部の逆量子化値を補正する。
【００１１】
好適には、量子化インデクスの分布情報を生成する分布情報生成手段をさらに有し、前記分布情報取得手段は、前記分布情報生成手段により生成された量子化インデクスの分布情報を、前記元データの分布情報として取得する。
【００１２】
好適には、前記分布情報生成手段は、量子化インデクス値の頻度分布を折れ線近似することにより、これらの量子化インデクスの確率密度関数を生成し、前記分布情報取得手段は、前記分布情報生成手段により生成された確率密度関数を、前記元データの確率密度関数として取得する。
【００１３】
好適には、前記分布情報生成手段は、量子化インデクス値の頻度分布のうち、互いに隣接する量子化インデクス値の間を、これらの量子化インデクス値の頻度数の比に応じた内分点を通るように折れ線近似する。
【００１４】
好適には、前記分布情報生成手段は、量子化インデクス値の頻度分布のうち、連続する３つの量子化インデクス値において、中央の頻度数がこの両隣の頻度数よりも大きい場合に、この中央の頻度数を実際の頻度数よりも大きくなるように折れ線近似し、中央の頻度数がこの両隣の頻度数よりも小さい場合に、この中央の頻度数を実際の頻度数よりも小さくなるように折れ線近似する。
【００１５】
好適には、前記分布情報生成手段は、量子化インデクス値の頻度分布のうち、連続する３つの量子化インデクス値をｈ（ｑ−１）、ｈ（ｑ）及びｈ（ｑ＋１）とした場合に、この中央の量子化インデクス値に関する折れ線近似値ｈ'（ｑ）を以下の式：
ｈ'（ｑ）＝ｈ（ｑ）×ｈ（ｑ）／｛１／（ｈ（ｑ）＋ｈ（ｑ−１））＋１／（ｈ（ｑ）＋ｈ（ｑ＋１））｝
を用いて算出する。
【００１６】
好適には、前記分布情報生成手段は、量子化インデクス値が第１の範囲にある場合に、量子化インデクス値の頻度分布を折れ線近似することにより、前記確率密度関数を生成し、量子化インデクス値が第２の範囲にある場合に、量子化インデクス値の頻度分布をラプラス分布で近似することにより、前記確率密度関数を生成する。
【００１７】
好適には、前記逆量子化値生成手段は、逆量子化すべき注目量子化インデクスの値と、この注目量子化インデクスに対して既定の位置にある逆量子化インデクスの値とに基づいて、この注目量子化インデクスの逆量子化値を算出する。
【００１８】
［逆量子化方法］
また、本発明にかかる逆量子化方法は、元データを量子化した場合の量子化値それぞれに対応付けられた量子化インデクス値それぞれに対して、複数の逆量子化値を生成し、それぞれの量子化インデクスに対応する元データの分布情報を取得し、取得された分布情報に応じて、生成された逆量子化値の少なくとも一部を補正する。
【００１９】
［プログラム］
また、本発明にかかるプログラムは、元データを量子化した場合の量子化値それぞれに対応付けられた量子化インデクス値それぞれに対して、複数の逆量子化値を生成するステップと、それぞれの量子化インデクスに対応する元データの分布情報を取得するステップと、取得された分布情報に応じて、生成された逆量子化値の少なくとも一部を補正するステップとをコンピュータに実行させる。
【発明の効果】
【００２０】
本発明の復号化装置によれば、符号データをより適切に復号化することができる。
【発明を実施するための最良の形態】
【００２１】
まず、本発明の理解を助けるために、その背景及び概略を説明する。
画像データ及び音声データなどは、データ量が膨大であるため、圧縮してデータ量を削減して保持、伝送等を行うことが一般的である。例えば、カラー原稿や写真を画像スキャナで電子化した場合に生成される多値画像データ、あるいは、ディジタルカメラで風景等の写真を撮った場合に生成される多値画像データは、ＪＰＥＧ、あるいは、ＪＰＥＧ２０００等の非可逆符号化方式で圧縮することにより、より小さなデータ量とすることができる。
【００２２】
これらの非可逆符号化を行った場合、符号化歪が発生することが問題となっている。特に、ＪＰＥＧ方式を適用する場合には、復号化された画像（復号画像）のＤＣＴブロック境界に発生するブロック歪（符号化歪）が問題となっている。
【００２３】
まず、非可逆符号化の符号化歪がどのようなメカニズムで発生するかを説明する。
図１は、ＪＰＥＧ方式及びＪＰＥＧ２０００方式などの変換符号化方式の概略を説明する図であり、図１（Ａ）は、符号化処理の概略を示し、図１（Ｂ）は、復号化処理の概略を示す。
図２は、変換符号化方式における量子化処理を説明する図である。なお、図２に示された変換係数Ｔ（ｃ，ｉ，ｊ）及び量子化インデクスＱ（ｃ，ｉ，ｊ）は、変数ｃ，ｉ，ｊの関数である。また、変数ｃは、変換係数の種類を示すインデクスであり、例えば、８×８ブロックを用いたＤＣＴ変換であれば、６４種類（８×８）存在する変換係数のいずれかを示す値（１〜６４の整数など）であり、ウェーブレット変換であれば、1HH成分、1LH成分、1HL成分、2HH成分、2LH成分、2HL成分、・・・、NLLL成分のいずれかを示す値である。また、変数ｉ，ｊは、各変換係数の位置を示す変数であり、例えば、ＤＣＴ変換であれば、上からｉ番目、左からｊ番目のブロックのc番目の変換係数がＴ（ｃ，ｉ，ｊ）と表され、ウェーブレット変換であれば、c番目の変換係数の、上からｉ番目、左からｊ番目のデータがＴ（ｃ，ｉ，ｊ）と表される。
【００２４】
図１（Ａ）に示すように、変換符号化方式の符号化処理では、入力画像Ｇに対して離散コサイン変換又はウェーブレット変換などの変換処理が施されて、入力画像Ｇの変換係数Ｔが生成され、この変換係数Ｔは、さらに量子化されて、量子化インデクスＱとなる。量子化インデクスＱは、エントロピ符号化(可逆符号化)されて、圧縮符号Ｆとなる。
ここで、量子化インデクスとは、量子化値を識別するための情報である。また、量子化値とは、一定の範囲（量子化区間）にある数値群が縮退する値であり、図２に例示するように、量子化区間「Ａ−２」〜「Ａ２」それぞれを代表する離散的な値（本例では、「−２×Ｄ（ｃ）」〜「２×Ｄ（ｃ）」）である。
【００２５】
このように生成された符号データ（圧縮符号Ｆ）は、図１（Ｂ）に示すように、エントロピ復号されて、量子化インデクスＱとなる。この量子化インデクスＱは、符号化時の量子化インデクスＱと同じものである。
さらに、量子化インデクスＱは、逆量子化され、変換係数(すなわち、逆量子化値)Ｒとなり、この変換係数Ｒが逆変換され、復号画像Ｈが生成される。
ここで、逆量子化値とは、量子化インデクス又は量子化値に基づいて生成され、復号データの復号化に用いられる値であり、例えば、ＪＰＥＧ方式又はＪＰＥＧ２０００方式の変換係数（量子化インデクスに対応付けられた変換係数）である。
【００２６】
以上のプロセスにおいて、符号化歪が発生するのは、量子化を行う時である。元画像の変換係数Ｔと、量子化インデクスＱとの精度を比較すると、一般に変換係数Ｔの精度が量子化インデクスＱよりも高い。そのため、量子化インデクスＱを用いて再現した変換係数Ｒは、もともとの変換係数Ｔとは異なったものとなる。これが符号化歪の原因である。
【００２７】
次に、図２を参照して、量子化及び逆量子化をより詳細に説明する。
量子化は、各変換係数ｃ毎に用意された量子化ステップ幅Ｄ（ｃ）を用いて行う。量子化ステップ幅Ｄは、変換係数の種類ｃの関数である。例えば、ＪＰＥＧ方式であれば、量子化時に、以下の式で量子化インデクスＱを算出する。
【００２８】
Q(c,i,j)=round(T(c,i,j)/D(c))
【００２９】
ここでround()は、入力値に最も近い整数を出力する関数である。
また、逆量子化時には、以下の式で逆量子化値Ｒを算出する。
【００３０】
R(c,i,j)=Q(c,i,j)×D(c)
【００３１】
あるいは、ＪＰＥＧ２０００方式であれば、以下の式により、量子化インデクスＱ及び逆量子化値Ｒを算出する。
【００３２】
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は、小数点以下を０とする関数、｜｜は、絶対値を示す記号である。
また、ｒは、０から１までの範囲にある数値であり、典型的にはr=0.5を用いる。ただし、ＪＰＥＧ２０００方式では、下位ビットを符号化しない場合があるが、ここでは、最下位ビットまで全て符号化する場合を具体例として説明する。あるいは、JPEG2000においては、符号化時に符号化を省略したビット数を復号時に符号ストリームから得ることが可能である。そのため、量子化ステップ幅Dをその省略ビット数分左シフトした値を新たな量子化ステップ幅とすることによって、JPEGの場合と同様の動作とすることができる。
【００３４】
図２（Ａ）に示すように、ＪＰＥＧ方式の符号化処理において、入力画像Ｇに対して変換処理を施して生成された変換係数Ｔ（量子化前）は、数直線ｘ軸上に分布する。
変換係数Ｔが量子化区間Ａ０に存在している場合には、量子化処理により、量子化インデクスＱは、０となる。同様に、変換係数Ｔが量子化区間Ａｑに存在している場合には、量子化インデクスＱは、ｑとなる。
そして、これを逆量子化する場合には、量子化インデクスＱが０である場合には、逆量子化処理により、逆量子化値Ｒ＝０が生成され、量子化インデクスＱが１である場合には、逆量子化値Ｒ＝Ｄ（ｃ）が生成される。
ＪＰＥＧ２０００方法でも同様で、図２（Ｂ）に例示するように、変換係数Ｔが量子化区間Ａｑに存在している場合には、量子化インデクスＱはｑとなり、これを逆量子化すると、量子化インデクスＱに１対１で対応する逆量子化値が生成される。
【００３５】
ここで、問題を単純化するために、量子化インデクスＱがｑとなる量子化区間Ａｑ内のみに関して考察する。
変換係数Ｔは、量子化区間Ａｑ内に存在しているとする。
図２（Ｃ）に例示するように、量子化区間Ａｑは、d1〜d2の範囲であるとする。このとき、変換係数Ｔは、d1〜d2の範囲に含まれる。また、この変換係数Ｔの逆量子化値はＲであるとする。
この状況において、復号画像を生成するための変換係数は、逆量子化値Ｒである。しかしながら、原画像の変換係数Ｔは、d1〜d2の範囲のいずれかの値であり、逆量子化値Ｒであるとは限らない。このとき、元の変換係数Ｔと逆量子化値Ｒとの差分が生じる。この差分が符号化歪の原因である。
このように、非可逆符号化方式では、複数のデータ値（それぞれの量子化区間に存在する元データ値）を、１つの量子化値（それぞれの量子化区間に対応する量子化値）に縮退させることにより、非可逆なデータ圧縮を実現しているが、同時に、この量子化により符号化歪が生ずる。
【００３６】
このような符号化歪を小さくするためには、符号化時に圧縮効率を低くするようなパラメータを選択すればよい。
しかしながら、この場合には、符号化効率が低下し、データ量が多くなってしまうという問題点がある。
また、既に符号化されたデータを高画質化しようとする場合には、この圧縮効率を低下させるという方式を採用することはできない。
【００３７】
そこで、復号時に上記画像歪を解消させようとする技術が様々に提案されている。
大別して、復号画像に低域通過フィルタをかけることにより、符号化歪をぼかして見えないようにする方式（フィルタ方式）と、復号画像あるいは変換係数にノイズを付加することにより、符号化歪をぼかして見えないようにする方式（ノイズ方式）の２種類がある。
【００３８】
まず、低域通過フィルタを用いる方式（フィルタ方式）を述べる。
例えば、特開平５−１４７３５号公報には、ＤＣＴのブロック境界にのみ低域通過フィルタをかけることによって、ブロック歪を除去しようとする方式が提案されている。
この方式は、低域通過フィルタを用いて符号化歪をぼかして判別し難くしようとするものである。
ただし、この方式では、もともとの原画に存在するエッジ成分も同様にボケてしまうという問題がある。
【００３９】
また、特開平５−３１６３６１号公報には、複数の低域通過フィルタを用意して、画像内のエッジの有無を判別し、エッジが鈍らないフィルタを選択してかける方式が提案されている。
【００４０】
次に、ノイズを付加する方式（ノイズ方式）を述べる。
例えば、特開平７−３３６６８４号公報には、符号化歪が目立ち易い領域であると判断した場合に、ＤＣＴ係数に対して雑音を付加することにより、符号化歪を目立たなくしようとする方式が開示されている。
この方式では、平坦な画像領域であると判断した場合に、符号化歪が目立ちやすいと判断している。
【００４１】
符号データから復号画像を生成する場合（すなわち、復号化する場合）に、目標とすることは、復号画像を符号化前の原画像にできるだけ近づけたいということである。
この観点から見ると、低域通過フィルタによる画像のぼかし又はノイズの付与が復号画像を原画像に近づけるとは限らないため、上記の方式が最適であるとはいえない。
具体的には、上記の方式を用いると、以下に示すような副作用が発生する可能性がある。
（１）低域通過フィルタをかける方式では、復号画像の高周波領域の信号が抑圧されてしまう。そのため、原画像に高周波成分のテクスチャが存在していた場合には、そのテクスチャ成分を再現することが不可能となる。
（２）低域通過フィルタをかける方式では、エッジ判定が正しいとは限らないため、エッジが鈍ってしまう虞がある。
（３）ノイズを付加する方式では、付加ノイズに起因して、原画像には存在しないテクスチャを発生させてしまう虞がある。
【００４２】
そこで、本実施形態における復号化装置２は、逆量子化値Ｒの頻度分布を、入力画像の変換係数Ｔの頻度分布にできるだけ近づけることによって、できるだけ入力画像に近い復号画像を生成する。
すなわち、ＪＰＥＧ方式あるいはＪＰＥＧ２０００方式等の標準技術では、逆量子化値の頻度分布が値Rの一点にのみ分布させていることになる。しかしながら、逆量子化値の頻度分布を、原画像の変換係数の頻度分布にできるだけ近づけることにより、よりよい復号化が実現される。
なぜなら、頻度分布が一致している場合に、原画像と復号画像が一致するとは限らないが、原画像と頻度分布が異なる復号画像と、原画像と頻度分布が近い復号画像とでは、頻度分布が近い復号画像のほうが原画像により近いと考えられるからである。実際に、非特許文献３（D. Heeger and J. Bergen,  "Pyramid based texture analysis/synthesis," Computer Graphics, pp. 229-238, SIGGRAPH 95, 1995.）には、変換係数の頻度分布を合わせることによって、よく似たテクスチャを持つ画像を合成する手法が述べられている。
本実施形態における復号化装置２は、原画像と頻度分布が近い復号画像を生成することによって、より原画像に近いテクスチャを持つ復号画像を生成する。
【００４３】
より具体的には、本実施形態の復号化装置２は、ある量子化インデクスの値に対して、複数の逆量子化値を生成し、生成された逆量子化値の分布と、量子化インデクスの分布とを比較して、生成された逆量子化値を補正する。
量子化インデクス（又は、これに１対１で対応する逆量子化値）の頻度分布は、元の変換係数Ｔの頻度分布と近似していると考えられるため、量子化インデクス（又は、これに１対１で対応する逆量子化値）の頻度分布と、量子化インデクスの値に応じて生成された複数の逆量子化値の頻度分布とをできるだけ一致させることにより、より再現性の高い復号データが得られる。
【００４４】
［実施形態］
以下、本発明の実施形態を説明する。
本実施形態では、ＪＰＥＧ方式により符号化された符号データを復号化する場合を具体例として説明する。なお、本実施形態で説明する復号化処理は、概略において、ITU-T勧告T.81に記載されているものと同様であるが、本発明にかかる逆量子化処理を適用する点で異なる。
【００４５】
［ハードウェア構成］
まず、本実施形態における復号化装置２のハードウェア構成を説明する。
図３は、本発明にかかる逆量子化方法が適応される復号化装置２のハードウェア構成を、制御装置２０を中心に例示する図である。
図３に例示するように、復号化装置２は、ＣＰＵ２０２及びメモリ２０４などを含む制御装置２０、通信装置２２、ＨＤＤ・ＣＤ装置などの記録装置２４、並びに、ＬＣＤ表示装置あるいはＣＲＴ表示装置及びキーボード・タッチパネルなどを含むユーザインターフェース装置（ＵＩ装置）２６から構成される。
復号化装置２は、例えば、復号化プログラム５（後述）がインストールされた汎用コンピュータであり、通信装置２２又は記録装置２４などを介して符号データを取得し、取得された符号データを復号化して出力する。
【００４６】
［復号化プログラム］
図４は、制御装置２０（図３）により実行され、本発明にかかる逆量子化方法を実現する復号化プログラム５の機能構成を例示する図である。
図４に例示するように、復号化プログラム５は、エントロピ復号部４０、逆量子化部５０及び逆変換部６０を有する。
また、逆量子化部５０は、逆量子化値推定部５００、分布推定部５２０、期待値推定部５４０、乱数発生部５６０、補正部５８０及び逆量子化値出力部５９０を含む。
【００４７】
復号化プログラム５において、エントロピ復号部４０は、入力された符号データを、エントロピ復号化して、逆量子化部５０に出力する。
本例のエントロピ復号部４０は、入力された符号データを復号化して、量子化インデクスＱを生成し、生成された量子化インデクスを逆量子化部５０に出力する。
【００４８】
逆量子化部５０は、エントロピ復号部４０から入力された量子化インデスクに基づいて、逆量子化値を生成し、生成された逆量子化値を逆変換部６０に出力する。
【００４９】
逆変換部６０は、逆量子化部５０から入力された逆量子化値に基づいて、逆変換処理を行い、復号画像を生成する。
【００５０】
逆量子化部５０において、逆量子化値推定部５００（逆量子化値生成手段）は、エントロピ復号部４０から入力された量子化インデクスに基づいて、逆量子化値を推定し、推定した逆量子化値を補正部５８０に出力する。すなわち、逆量子化値推定部５００は、１つの量子化インデクス値に対して、常に単一の逆量子化値を生成するのではなく、１つの量子化インデクス値に対して、互いに異なる複数の逆量子化値を生成しうる。換言すると、逆量子化値推定部５００は、それぞれの量子化インデクスに対して、１つの逆量子化値を生成するが、入力される量子化インデクスの値が同一であったとしても、必ずしも同一の逆量子化値を生成するわけではない。
本例の逆量子化値推定部５００は、注目ブロックの量子化インデクスと、注目ブロックの周囲にあるブロックの量子化インデクス（同じ変換係数種類ｃのものに限る）とに基づいて、注目ブロックの量子化インデクスに対応する逆量子化値Ｒの補正係数αを算出し、算出された補正係数αを補正部５８０に出力する。
なお、以下の説明において、各変換係数種類c及び各量子化インデクスqに対応する補正係数αを、αycqと記述する。また、変換係数種類c、かつ、各量子化インデクスがqとなる信号の数をKとし、それぞれの補正係数をαycq(k)として表す（ただし、k=1,2,...,K）。
【００５１】
分布推定部５２０（分布情報生成手段）は、エントロピ復号部４０から入力される複数の量子化インデクス（又は、これらに対応付けられた逆量子化値）に基づいて、変換係数（元データ）の分布を推定し、推定された変換係数の分布を示す分布データを期待値推定部５４０及び乱数発生部５６０に出力する。
本例の分布推定部５２０は、変換係数種類ｃ毎に、量子化インデクスの頻度分布を算出し、算出された頻度分布に基づいて、変換係数種類ｃ毎の分布データを生成する。
【００５２】
期待値推定部５４０（分布情報生成手段又は分布情報取得手段）は、分布推定部５２０から入力された分布データに基づいて、逆量子化値の期待値を算出し、算出された期待値と分布データとを補正部５８０に出力する。
より具体的には、期待値推定部５４０は、変換係数種類ｃ毎に生成された分布データに基づいて、量子化区間毎の期待値（すなわち、量子化インデクス値毎の期待値）を算出する。
変換係数種類がcであり、かつ、量子化インデクスQ(c,i,j)=qである場合の期待値は、期待値をE(αTcq)とする。すなわち、期待値E(αTcq)は、量子化インデクスに１対１で対応付けられた逆量子化値Ｒと、この量子化インデクスに対応する元の変換係数Ｔとの差分の推定期待値である。
【００５３】
乱数発生部５６０は、分布推定部５２０から入力された分布データに応じて、乱数を生成し、生成された乱数を逆量子化値出力部５９０に出力する。
【００５４】
補正部５８０（補正手段）は、期待値推定部５４０から入力された分布データ又は期待値に応じて、逆量子化値推定部５００から入力された逆量子化値（本例では、逆量子化値の補正係数α）を補正する。
また、補正部５８０は、逆量子化値推定部５００から入力された逆量子化値（本例では、逆量子化値の補正係数α）を、既定の範囲（例えば、逆量子化値の場合に、量子化インデクスに対応する量子化区間）におさまるように補正し、補正された逆量子化値（補正係数α）を逆量子化値出力部５９０に出力する。
本例の補正部５８０は、期待値推定部５４０から入力された期待値に基づいて、分布推定部５２０により算出された量子化インデクスの頻度分布と、逆量子化値推定部５００により算出された逆量子化値の頻度分布とを、変換係数種類ｃ毎、及び、量子化区間毎に略一致するよう、逆量子化値推定部５００から入力された補正係数αを補正し、補正された補正係数αを、さらに、ＪＰＥＧ方式において、補正係数αが−０．５から０．５の範囲に入るように線形補正する。
補正部５８０による線形補正は、例えば、同一の量子化インデクスに対応する補正係数αの中から、最大値αmax及び最小値αminを選択し、選択された最大値αmax及び最小値αminが既定の範囲（ＪＰＥＧでは、-0.5から0.5の範囲）におさまるように、これらの補正係数α全体を線形変換することにより実現される。
【００５５】
なお、補正部５８０は、補正係数αが−０．５から０．５の範囲を超える場合に、αをこの範囲の境界値(すなわち、−０．５、あるいは、０．５のうちαに近いほう)としてもよい。また、補正部５８０は、補正係数αが−０．５から０．５の範囲を超える場合に、αを0としてもよい。
また、ＪＰＥＧ２０００方式では、補正係数αの範囲がＪＰＥＧ方式と異なるだけである。すなわち、ＪＰＥＧ２０００方式では、補正部５８０は、補正係数αの範囲は、Q(c,i,j)>0の時に、0≦r+α≦1を満たす範囲、Q(c,i,j)<0の時に、-1≦-r+α≦0を満たす範囲、Q(c,i,j)=0の時に、-1≦α≦1を満たす範囲を、それぞれ基準として補正係数αを補正する。
【００５６】
逆量子化値出力部５９０は、補正部５８０から入力された逆量子化値（本例では、逆量子化値の補正係数α）、又は、乱数発生部５６０から入力された乱数を用いて、適用すべき逆量子化値を決定し、決定された逆量子化値を逆変換部６０に出力する。
本例の逆量子化値出力部５９０は、補正部５８０又は乱数発生部５６０から入力された補正係数αと、量子化インデクス（又はこれに対応付けられた逆量子化値）とに基づいて、逆量子化値を算出する。より具体的には、以下の式により、逆量子化値出力部５９０は、適用すべき逆量子化値Ry(c,i,j)を算出する。
Ry(c,i,j)={Q(c,i,j)+α(c,i,j)}×D(c)
【００５７】
［補正部］
図５は、補正部５８０（図４）をより詳細に説明する図である。
図５に例示するように、補正部５８０は、分布情報特定部５８２、期待値シフト部５８４及び期待値補正部５８６を含む。
補正部５８０において、分布情報特定部５８２は、逆量子化値推定部５００から入力された逆量子化値（本例では、補正係数α）の平均値、最小値及び最大値を、変換係数種類毎及び量子化インデクス値毎に算出し、算出された平均値、最小値及び最大値を、入力された逆量子化値と共に期待値シフト部５８４に出力する。
以下、分布情報特定部５８２により算出された平均値、最小値、及び、最大値は、平均値αycqMean、最大値αycqMin、及び、最小値αycqMaxとして表す。これらの値は、変換係数種類ｃ及び量子化インデクス値ｑのそれぞれの組合せついて算出され、以下に説明する期待値シフト部５８４及び期待値補正部５８６の処理も、変換係数種類ｃ及び量子化インデクス値ｑの組合せそれぞれについてなされる。
【００５８】
期待値シフト部５８４は、分布情報特定部５８２から入力された補正係数αycq(k)及び補正係数の平均値αycqMeanと、期待値推定部５４０（図４）から入力された推定期待値E(αTcq)とを用いて、以下の演算を行って、シフト補正後の補正係数αxcq1(k)を算出する。
αxcq1(k)=αycq(k)+E(αTcq)-αycqMean
【００５９】
上記の処理は、k=1,2,...,Kに対して行われる。
また、期待値シフト部５８４は、同様に、最大値及び最小値もシフトする。
すなわち、期待値シフト部５８４は、以下の演算を行って、シフト補正後の最小値αycqMin1及び最大値αycqMax1を算出する。
αycqMin1=αxcqMin + E(αTcq) -αycqMean
αycqMax1=αxcqMax + E(αTcq) -αycqMean
【００６０】
期待値補正部５８６は、シフト補正後の補正係数αxcq1(k)が全て-0.5≦α≦0.5の範囲におさまるように範囲補正を行う。ここで、範囲補正とは、数値群を一定の範囲に収める補正をいう。
具体的には、期待値補正部５８６は、シフト補正後の補正係数αxcq1の平均値を変化させずに、これらの補正係数の範囲を一定の範囲（αmin〜αmax）とする。
本例の期待値補正部５８６は、以下の処理により、範囲補正を実現する。
【００６１】
(1)αycqMax1≦αmax、かつ、αmin≦αycqMin1のとき、
αxcq2(k)=αxcq1(k)
(2)上記(1)以外のとき、下記処理を行う。
V1=(E(αTcq)-αmin)/(E(αTcq)-αycqMin1)
V2=(αmax-E(αTcq))/(αycqMax1-E(αTcq))
V1≦V2のとき、V=V1
上記以外のとき、V=V2
αxcq2(k)=V(αxcq1(k)-E(αTcq))+E(αTcq)
【００６２】
以上の範囲補正により、期待値補正部５８６は、範囲補正後の補正係数αxcq2(k)を得る。
【００６３】
図６は、期待値シフト部５８４及び期待値補正部５８６による補正を模式的に説明する図である。
図６（Ａ）に示すように、期待値シフト部５８４は、変換係数Ｔの推定期待値（ａ１）と、逆量子化値の期待値（ａ２）とが一致するように、逆量子化値の分布をシフトする（ａ３）。
【００６４】
また、図６（Ｂ）に示すように、逆量子化値（本例では、補正係数α）の分布が、量子化区間ｄ１〜ｄ２（本例では、αの範囲αmin〜αmax)から外れる場合（ｂ１）に、期待値補正部５８６は、逆量子化値（補正係数α）の期待値を動かさないように、分布を期待値に向かって小さくする（ｂ２）。
【００６５】
なお、本例では、期待値シフト部５８４及び期待値補正部５８６が別々に補正処理を行っているが、これらの補正処理を１つの補正処理に統合することも可能である。
以下は、シフト補正及び範囲補正を統合した合成補正の一例である。
【００６６】
(1)αycqMin1=αxcqMin+E(αTcq)-αycqMean
αycqMax1=αxcqMax+E(αTcq)-αycqMean
αycqMax1≦αmax、かつ、αmin≦αycqMin1のとき、
αxcq(k)=αxcq1(k)
(2)上記(1)以外のとき、下記処理を行う。
V1=(E(αTcq)-αmin)/(αycqMean-αycqMin)
V2=(αmax-E(αTcq))/(αycqMax-αycqMean)
V1≦V2のとき、V=V1
上記以外のとき、V=V2
αxcq(k)=V(αxcq1(k)-αycqMean)+E(αTcq)
【００６７】
なお、上記(1)の処理はなくてもよい。
また、この演算は、αycqMeanの入力は、E(αTcq)にし、αycqMinまたは、αycqMaxの入力をαminまたはαmaxにする処理を行うものである。
【００６８】
［全体動作］
次に、復号化装置２（復号化プログラム５）の全体動作を説明する。
図７は、復号化プログラム５（図４）による復号化処理（Ｓ１０）のフローチャートである。なお、本例では、画像データの符号データ（ＪＰＥＧ方式）が入力される場合を具体例として説明する。
図７に示すように、ステップ１００（Ｓ１００）において、エントロピ復号部４０（図４）は、入力された符号データを復号化して、各ブロック（８×８ブロック）の量子化インデクスを生成し、生成された各ブロックの量子化インデクスを逆量子化部５０に出力する。
【００６９】
ステップ１０５（Ｓ１０５）において、逆量子化部５０（図４）は、入力された量子化インデクスを順に、注目量子化インデクスに設定し、この注目量子化インデクスについて逆量子化値の推定が可能であるか否かを判定する。例えば、逆量子化部５０は、注目量子化インデクスと、全ての周囲量子化インデクス（周囲にあるブロックの量子化インデクス）とが一致する場合に、逆量子化値の推定が不可能であると判定し、これ以外の場合に、逆量子化値の推定が可能であると判定する。
逆量子化部５０は、逆量子化値の推定が可能であると判定された場合に、Ｓ１０５の処理に移行し、逆量子化値の推定が不可能であると判定された場合に、Ｓ１１５の処理に移行する。
【００７０】
ステップ１１０（Ｓ１１０）において、逆量子化値推定部５００（図４）は、注目量子化インデクスQ(c,i,j)の周囲量子化インデクスQ(c,i+m,j+n)を抽出し（本例では、-1≦m≦1,-1≦n≦1）、抽出された周囲量子化インデクスQ(c,i+m,j+n)と、注目量子化インデクスQ(c,i,j)とに基づいて、この注目量子化インデクスに対応する補正係数αycqを算出する。なお、抽出される周囲量子化インデクスは、注目ブロックを中心とした３×３個のブロックにおける変換係数種類ｃの量子化インデクスであり、３×３の行列となる。
より具体的には、逆量子化値推定部５００は、抽出された周囲量子化インデクスと、注目量子化インデクスとを用いて、以下の演算を行い、差分行列Ｐを作成する。
P(m,n)=Q(c,i+m,j+n)-Q(c,i,j)
次に、逆量子化値推定部５００は、差分行列Ｐに含まれる各差分値の絶対値|P(m,n)|と、閾値THとを比較して、閾値THよりも大きな差分値P(m,n)を０にする（閾値処理）。
次に、逆量子化値推定部５００は、３×３のフィルタカーネルK(m,n)を用いて、閾値処理がなされた差分行列Ｐに対してコンボリューション演算を行い、補正係数αycqを算出する。したがって、注目量子化インデクスの値が同一であっても、その周囲に存在する周囲量子化インデスクが異なれば、算出される補正係数αycqは、互いに異なった値をとる。
【００７１】
ステップ１１５（Ｓ１１５）において、分布推定部５２０は、エントロピ復号部４０から入力された複数の量子化インデクスに基づいて、変換係数の分布を推定し、推定された分布を示す分布データを乱数発生部５６０に出力する。
乱数発生部５６０は、分布推定部５２０から入力された分布データに応じて、乱数を生成し、生成された乱数を補正係数αとして逆量子化値出力部５９０に出力する。
【００７２】
ステップ１２０（Ｓ１２０）において、逆量子化部５０は、全ての量子化インデクスについて補正係数αが生成されたか否かを判定し、全ての量子化インデクスについて補正係数αが生成された場合に、Ｓ１２５の処理に移行し、これ以外の場合に、Ｓ１０５の処理に戻って、次の量子化インデクスを注目量子化インデクスとして処理する。
【００７３】
ステップ１２５（Ｓ１２５）において、分布推定部５２０は、エントロピ復号部４０から入力された全ての量子化インデクスに基づいて、変換係数種類ｃ毎に、変換係数の分布を推定し、推定された分布を示す分布データを期待値推定部５４０に出力する。
【００７４】
ステップ１３０（Ｓ１３０）において、期待値推定部５４０は、分布推定部５２０から入力された分布データに基づいて、変換係数種類及び量子化インデクスの組合せ毎に、期待値E(αTcq)を算出し、算出された期待値E(αTcq)を補正部５８０に出力する。
【００７５】
ステップ１３５（Ｓ１３５）において、補正部５８０の分布情報特定部５８２（図５）は、逆量子化値推定部５００により算出された補正係数αycqを、変換係数種類毎及び量子化インデクス毎に分類し、分類された補正係数αycqの最小値、最大値及び平均値を算出し、算出された最小値、最大値及び平均値を期待値シフト部５８４に出力する。
【００７６】
ステップ１４０（Ｓ１４０）において、期待値シフト部５８４（図５）は、期待値推定部５４０から入力された期待値E(αTcq)と、分布情報特定部５８２から入力された平均値とを、変換係数種類と量子化インデクスとの組合せ毎に比較して、これらが一致するように、変換係数種類及び量子化インデクスの組合せで分類された補正係数αycq群をシフトする。
【００７７】
ステップ１４５（Ｓ１４５）において、期待値補正部５８６（図５）は、期待値シフト部５８４によりシフト補正がなされた補正係数αycq群が−０．５〜０．５の範囲におさまっているか否かを判定し、おさまっていない場合に、補正係数αycq群の平均値を変更せずに、補正係数αycq群の範囲を−０．５〜０．５の範囲におさめる範囲補正を行う。
【００７８】
ステップ１５０（Ｓ１５０）において、逆量子化値出力部５９０（図４）は、注目量子化インデクスＱと、期待値補正部５８６から入力された補正係数αycq（又は、乱数発生部５６０から入力された補正係数α）とに基づいて、適用すべき逆量子化値Ｒｙを算出し、算出された逆量子化値Ｒｙを逆変換部６０に出力する。
具体的には、本例の逆量子化値出力部５９０は、以下の演算を行って逆量子化値Ｒｙを算出する。
Ry(c,i,j)={Q(c,i,j)+α(c,i,j)}×D(c)
【００７９】
ステップ１５５（Ｓ１５５）において、逆変換部６０（図４）は、逆量子化部５０から入力された逆量子化値（近似的な変換係数）を用いて、逆変換処理（本例では逆ＤＣＴ変換）を行って、復号画像Ｈを生成する。
【００８０】
［分布推定処理］
次に、図７で述べた分布推定処理（Ｓ１２５）をより詳細に説明する。
以下に、分布推定部５２０による分布推定処理（Ｓ１２５）を順に示す。
まず、分布推定部５２０は、それぞれの変換係数種類cごとに、量子化インデクスQ(c,i,j)のヒストグラムhc(q)を取得する。例えば、hc(q)は、以下の演算により作成される。
Q(c,i,j)=qである場合に、ht(c,q,i,j)=1
上記以外の場合に、ht(c,q,i,j)=0
【００８１】
次に、分布推定部５２０は、変換係数種類cの変換係数の分布の推定を行う。
すなわち、分布推定部５２０は、量子化インデクスQ(c,i,j)のヒストグラムhc(q)に基づいて、変換係数T(c,i,j)の確率密度関数を推定する。
変換係数T(c,i,j)の確率密度関数の推定は、直線近似と、ラプラス分布による近似とによりなされる。
すなわち、直線近似では、変換係数Tの値がd1からd2まで範囲にある場合に、量子化インデクスがqになるとすると、図８（Ａ）に示すように、d1とd2の中点をd0とし、d1、d0、d2を結ぶ直線(折れ線)によって確率密度関数を近似する。ここで、前述したように、Tは、
T(c,i,j)=R(c,i,j)+α×D(c)  (αmin≦α≦αmax)
として表すことができる。
以下、αmid=(αmin+αmax)/2として、αmin、αmid、αmaxを結ぶ直線(折れ線)で確率密度関数を近似し、推定する形態を具体例として説明する。
【００８２】
また、ＡＣ成分かつ、量子化インデクス値qが0に近い場合には直線近似し難いため、ラプラス分布による近似方式を採る。ここで、正の整数の閾値をTH1とすると、分布推定部５２０は、｜q｜の値に応じて、以下のように場合分けを行って近似処理を行う。
｜q｜>TH1の時には第１の直線近似を行う。
｜q｜=TH1の時には第２の直線近似を行う。
｜q｜<TH1の時にはラプラス分布で近似を行う。
【００８３】
まず、第１の直線近似を説明する。
まず、図８（Ｂ）に示されるように、
fk(α)=hc(q) αmin≦α≦αmax
となる関数fk(α)を考える。
この一様関数を次に折れ線近似する。
次に周囲ヒストグラムhc(q-1)、hc(q+1)を用いて、fk(αmin)とfk(αmax)の値を推定する。例えば、以下、fk(αmax)の値を推定する。図８（Ｃ）に示す点Ａの位置を決定する。
fk(αmax)の値は、hc(q)と、hc(q+1)の間とするのが妥当である。例えば、fk(αmax)=(hc(q)+hc(q+1))/2とすればよい。
本例では、点Ａの位置として、hc(q)と、hc(q+1)の間を、hc(q):hc(q+1)に内分する点を採用する。
これは、図８（Ｃ）に示すように、hc(q)がhc(q+1)に比べて小さいとき、あるいはhc(q)の値が０に近いときには、点Ａの値を十分に小さい値にすることができて都合がよいからである。
このとき、fk(αmax)=2×hc(q)×hc(q+1)/(hc(q)+hc(q+1))として求めることができる。
同様に、fk(αmin)=2×hc(q)×hc(q-1)/(hc(q)+hc(q-1))として求めることができる。
次に、fk(αmid)の値を推定する。ここで、周囲ヒストグラムの形状を図８（Ｄ）及び図８（Ｅ）にそれぞれ例示する２種類に分類する。
図８（Ｄ）に例示するように、量子化インデクス値qに関して単調増加あるいは単調減少する場合には、
fk(αmid)=hc(q)
とする。
また、図８（Ｄ）のように量子化インデクス値qに関して単調増加あるいは単調減少しない場合には、
fk(αmid)>hc(q)  hc(q)が山になる場合
fk(αmid)<hc(q)  hc(q)が谷になる場合
となるのが好ましい。
そこで、fk(αmin)と、fk(αmax)との差分の平均値を加算する。すなわち、
fk(αmid)=hc(q)+(hc(q)-fk(αmin)+hc(q)-fk(αmax))/2
=2×hc(q)-(fk(αmin)+fk(αmax))/2
とする。
あるいは、上記の単調増加及び単調減少による場合分けを行わずに、常に
fk(αmid)=2×hc(q)-(fk(αmin)+fk(αmax))/2
としてもよい。
以上で、図８（Ａ）に示されるものと同様の折れ線近似ができる。
また、期待値推定部５４０は、この折れ線近似に基づいて、期待値E(αTcq)を算出する。具体的には、期待値推定部５４０は、次式を用いて、期待値E(αTcq)の計算を行う。
【００８４】
【数１】
2006262310.tif 000003
【００８５】
次に、ラプラス分布近似を説明する。
ラプラス分布の式は以下で表すことができる。
【００８６】
【数２】
2006262310.tif 000004
【００８７】
ラプラス分布の形状を推定するためには、上式のσを推定すればよい。
まず、分布推定部５２０は、以下の式により、ヒストグラムhc(q)から、確率密度関数fhc(x)を算出する。
【００８８】
【数３】
2006262310.tif 000005
【００８９】
ただし、(q-0.5)×D(c)<x≦(q+0.5)×D(c)、qは整数である。
図９に例示されるように、ラプラス分布による近似式L(x)と、確率密度関数fhc(x)の違いができるだけ小さくなるようなσを求めればよい。
上記の「違いができるだけ小さくなる」ことを評価する関数として、以下の誤差関数Err(σ)を定義する。
【００９０】
【数４】
2006262310.tif 000006
【００９１】
この誤差関数Err(σ)は、各量子化インデクスq毎に求めた確率密度関数の面積の差分の絶対値を加算したものである。Err(σ)の値が小さいほど、fhc(x)とL(x)は似ているといえる。
分布推定部５２０は、上記Err(σ)を最小にするようなσを、数値計算を行って求めればよい。
あるいは、分布推定部５２０は、単純に変換係数種類cごとに、Q(c,i,j)の標準偏差を計算して、σを求めてもよい。
【００９２】
次に、｜q｜<TH1の場合のラプラス近似の説明を行う。
TH1=2としたとき、図９に例示した分布では、q=0、１、-1の時に、ラプラス近似を行うことになる。
この場合も、期待値推定部５４０は、上記の式を用いて、期待値E(αTcq)の計算を行えばよい。ただし、関数fk()は折れ線ではなく、次式のようにラプラス分布から導かれるものとなる。
【００９３】
【数５】
2006262310.tif 000007
【００９４】
また、例えば、TH1=1としたとき、q=0の時に、ラプラス近似を行うことになる。q=0の範囲のラプラス分布は左右対称であるので、E(αTcq)=0とすることができる。
【００９５】
次に、第２の直線近似を説明する。
第２の直線近似は、｜q｜=TH1である場合の直線近似である。
q=TH1のときは、第１の直線近似が適用される場合と異なり、左側(q=TH1-1の場合)がラプラス分布で近似されているため、分布の連続性を満たすように、fk(αmin)の値を考慮したい。
図１０は、第２の直線近似を説明する図である。
図１０は、閾値TH1=1である場合を例示している。したがって、q=0の場合にはラプラス近似を行う。また、q=2の時には、第１の直線近似を行う。このとき、確率密度関数の近似曲線が、図１０に示す点Ａを通るようにすれば連続な確率密度関数とすることができる。
そのため、
【００９６】
【数６】
2006262310.tif 000008
【００９７】
とする。fk(αmax)及びfk(αmid)は、第１の直線近似と同じように計算する。また、以上の３つの数値fk(αmin)、fk(αmax)、fk(αmid)を用いて、期待値E(αTcq)も第１の直線近似と同様に計算できる。
q=-TH1の場合には、左側(q=TH1-1の場合)がラプラス分布で近似されているため、分布の連続性を満たすように、fk(αmax)の値を考慮したい。同様に図１０に示す点Ｂを通るようにすれば良いので、
【００９８】
【数７】
2006262310.tif 000009
【００９９】
とする。fk(αmin)及びfk(αmid)は、第１の直線近似と同じように計算する。また、以上の３つの数値fk(αmin)、fk(αmax)、fk(αmid)を用いて、期待値E(αTcq)も第１の直線近似と同様に計算できる。
【０１００】
以上説明したように、本実施形態における復号化装置２は、単一の量子化インデクスに対して互いに異なる複数の逆量子化値が生成される場合において、これらの逆量子化値を、量子化インデクスの分布に応じて補正する。
すなわち、復号化装置２は、量子化インデクスの分布に基づいて、変換係数Ｔの分布を推定し、推定された変換係数Ｔの分布と、算出された逆量子化値の分布とが一致するように、算出された逆量子化値を補正することにより、より再現性の高い復号画像を得ることができる。
【０１０１】
［変形例１］
上記実施形態では、各量子化インデクスq毎、かつ、各変換係数種類c毎に期待値を推定し、期待値シフトし、期待値補正を行っていたが、これに限定されるものではなく、例えば、全ての量子化インデクスqに対して統一したαの期待値を用いてもよい。
そこで、第１の変形例では、全ての量子化インデクスqに対して統一したαの期待値を用いる形態を説明する。ただし、このように期待値を共有する場合には、q=0の場合のみにはαの期待値を0とする。また、ＡＣ成分のみに適用する。
【０１０２】
全ての量子化インデクス値qに対してαの期待値を統一するためには、ＡＣ成分の分布の対称性を利用する。すなわち、量子化インデクス値qが正の値をとる場合の補正係数αの期待値が、E(α)であれば、量子化インデクス値qが負の値をとる場合のαの期待値は、-E(α)で近似できることを利用する。
まず、復号化プログラム５は、αyを以下のように変換する。
Q(c,i,j)<0のとき、αy=-αy
【０１０３】
ここで、変換係数種類c、かつ、量子化インデクスqとなる信号の個数をp(c,q)とし、全ての量子化インデクスqに対して統一された期待値E(αTc)を算出するために、上記個数p(c,q)で重み付け平均を取る。
すなわち、期待値推定部５４０は、まず、q<0の場合にも対応できるように、E(αTcq)を以下のように変換する。
q<0のとき、E(αTcq)=-E(αTcq)
【０１０４】
次に、期待値推定部５４０は、以下の式により期待値E(αTc)を算出する。
【０１０５】
【数８】
2006262310.tif 000010
【０１０６】
次に、αxを得る方法は、上記実施形態と同様の演算を行えばよい。
最後に、逆量子化値出力部５９０は、以下の演算を行って、逆量子化値Rx(c,i,j)を得る。
Q(c,i,j)≦0のとき、Rx(c,i,j)=R(c,i,j)+α×D(c)
Q(c,i,j)<0のとき、Rx(c,i,j)=R(c,i,j)-α×D(c)
【０１０７】
なお、本変形例を適用する場合に、分布情報特定部５８２（図５）は、各変換係数種類c毎に、平均値αycMean、最大値αycMin、及び最小値αycMaxを算出する必要がある。
【０１０８】
［変形例２］
また、全ての変換係数種類cに対して統一したαの期待値を用いてもよい。
そこで、第２の変形例では、全ての変換係数種類cに対して統一したαの期待値を用いる形態を説明する。
【０１０９】
変換係数種類c、かつ、量子化インデクスqとなる信号の個数をp(c,q)とし、全ての変換係数種類cに対して統一された期待値E(αTq)を算出するために、上記個数p(c,q)で重み付け平均を取る。
すなわち、期待値推定部５４０は、以下の式により、期待値E(αTc)を算出する。
【０１１０】
【数９】
2006262310.tif 000011
【０１１１】
なお、逆量子化値を得る方法は、上記実施形態と同様の演算を行えばよい。
また、本変形例では、分布情報特定部５８２（図５）は、各量子化インデクスq毎に、平均値αyqMean、最大値αyqMin、及び、最小値αyqMaxを算出する必要がある。
【０１１２】
［変形例３］
また、全ての量子化インデクスq、かつ、全ての変換係数種類cに対して統一αの期待値を用いてもよい。
そこで、第３の変形例では、全ての変換係数種類c、全ての量子化インデクスqに対して統一したαの期待値を用いる形態を説明する。ただし、このよう期待値を共有する場合には、q=0の場合のみにはαの期待値を０とする。また、ＡＣ成分のみに適用する。
【０１１３】
全ての量子化インデクスqに対して補正係数αの期待値を統一するためには、ＡＣ成分の分布の対称性を利用する。すなわち、量子化インデクス値qが正の値をとる場合のαの期待値がE(α)であれば、量子化インデクス値qが負の値をとる場合のαの期待値が-E(α)で近似できることを利用する。
まず、復号化プログラム５は、αyを以下のように変換する。
Q(c,i,j)<0 のとき、αy=-αy
【０１１４】
ここで、変換係数種類c、かつ、量子化インデクスqとなる信号の個数をp(c,q)とし、
全ての変換係数種類c、全ての量子化インデクスqに対して統一された期待値E(αT)、
を算出するために、上記個数p(c,q)で重み付け平均を取る。
すなわち、期待値推定部５４０は、まず、q<0の場合にも対応できるように、E(αT)を以下のように変換する。
q<0 のとき、E(αT)=- E(αT)
次に、期待値推定部５４０は、以下の式により、期待値E(αTc)を算出する。
【０１１５】
【数１０】
2006262310.tif 000012
【０１１６】
なお、αxを得る方法は、上記実施形態と同様の演算を行えばよい。
最後に、逆量子化値出力部５９０は、以下の演算により、逆量子化値Rx(c,i,j)を算出する。
Q(c,i,j)≦0のとき、Rx(c,i,j)=R(c,i,j)+α×D(c)
Q(c,i,j)<0のとき、Rx(c,i,j)=R(c,i,j)-α×D(c)
【０１１７】
なお、本変形例では、分布情報特定部５８２は、全αyの平均値αyMean、最大値αyMin、及び、最小値αyMaxを算出する必要がある。
【０１１８】
［その他の変形例］
上記実施形態では、変換係数Tの期待値を用いるのではなく、補正係数αの期待値を一致させたが、もちろん、変換係数Tの期待値を一致させてもよい。変換係数Tと補正係数αの関係は、以下の式である。
T(c,i,j)=R(c,i,j) + α×D(c)
このように、変換係数Tと補正係数αは、線形関係にあるため、上の式を用いて、補正係数αで説明している部分を全て変換係数Tの説明に置き換えることができる。
【０１１９】
また、上記実施形態では、ＪＰＥＧ方式を具体例として説明を行ったが、ＪＰＥＧ２０００方式に対しても応用可能である。
ＪＰＥＧ２０００方式では、αy、αx、αTの範囲が以下のようになる。
Q(c,i,j)≠0のとき、-0.5≦αy、αx、αT≦0.5
Q(c,i,j)=0のとき、-1≦αy、αx、αT≦1
上記範囲を満たすように、αminとαmaxを設定すればよい。
【０１２０】
また、上記実施形態では、変換係数の期待値を推定したが、該期待値は、符号化処理を行うときに計測して、符号データに埋め込んでもよい。
この場合に、期待値推定部５４０は、符号データに埋め込まれた期待値をそのまま補正部５８０に出力すれば足りる。
また、上記実施形態では、周囲量子化インデクス値を参照することにより（フィルタ処理により）、１つの量子化インデクス値に対して複数の逆量子化値を算出しているが、これに限定されるものではなく、例えば、乱数を発生させることにより、１つの量子化インデクス値に対して複数の逆量子化値を生成してもよい。
【図面の簡単な説明】
【０１２１】
【図１】ＪＰＥＧ方式及びＪＰＥＧ２０００方式などの変換符号化方式の概略を説明する図であり、（Ａ）は、符号化処理の概略を示し、（Ｂ）は、復号化処理の概略を示す。
【図２】変換符号化方式における量子化処理を説明する図である。
【図３】本発明にかかる逆量子化方法が適応される復号化装置２のハードウェア構成を、制御装置２０を中心に例示する図である。
【図４】制御装置２０（図３）により実行され、本発明にかかる逆量子化方法を実現する復号化プログラム５の機能構成を例示する図である。
【図５】補正部５８０（図４）をより詳細に説明する図である。
【図６】期待値シフト部５８４及び期待値補正部５８６による補正を模式的に説明する図である。
【図７】復号化プログラム５（図４）による復号化処理（Ｓ１０）のフローチャートである。
【図８】第１の折れ線近似を説明する図である。
【図９】ラプラス分布を用いた近似を説明する図である。
【図１０】第２の直線近似を説明する図である。
【符号の説明】
【０１２２】
２・・・復号化装置
５・・・復号化プログラム
４０・・・エントロピ復号部
５０・・・逆量子化部
５００・・・逆量子化値推定部
５２０・・・分布推定部
５４０・・・期待値推定部
５６０・・・乱数発生部
５８０・・・補正部
５８２・・・分布情報特定部
５８４・・・期待値シフト部
５８６・・・期待値補正部
５９０・・・逆量子化値出力部
６０・・・逆変換部
【図１】
2006262310.tif 000013
【図２】
2006262310.tif 000014
【図３】
2006262310.tif 000015
【図４】
2006262310.tif 000016
【図５】
2006262310.tif 000017
【図６】
2006262310.tif 000018
【図７】
2006262310.tif 000019
【図８】
2006262310.tif 000020
【図９】
2006262310.tif 000021
【図１０】
2006262310.tif 000022