(57)【要約】  【課題】  より適切な復号化処理を行う復号化装置を提供する。  【解決手段】  復号化装置２は、逆量子化値Ｒの頻度分布を、元データの変換係数Ｔの頻度分布にできるだけ近づけることによって、できるだけ元データに近い復号データを生成する。例えば、ＪＰＥＧ方式の標準技術では、逆量子化値が既定の一点にのみ分布させている。しかしながら、本復号化装置２は、量子化インデクス値の頻度分布に基づいて、元の変換係数の頻度分布を推定し、推定された変換係数の頻度分布に基づいて、逆量子化値を補正する。【選択図】図３
2006304270.tif 000002
【特許請求の範囲】
【請求項１】
量子化インデクス値の頻度分布を生成する分布生成手段と、
前記分布生成手段により生成された量子化インデクスの頻度分布に基づいて、それぞれの量子化インデクス値に対応する逆量子化値を補正する補正手段と
を有する復号化装置。
【請求項２】
前記分布生成手段により生成された頻度分布に基づいて、量子化インデクスの確率密度関数の期待値を算出する期待値算出手段
をさらに有し、
前記補正手段は、前記期待値算出手段により算出された期待値に基づいて、逆量子化値を補正する
請求項１に記載の復号化装置。
【請求項３】
前記期待値算出手段は、前記分布生成手段により生成された頻度分布の少なくとも一部を近似する一次関数を用いて、前記確率密度関数を生成する
請求項２に記載の復号化装置。
【請求項４】
前記期待値算出手段は、少なくとも、それぞれの量子化インデクスに対応する量子化区間の境界で、連続な関数となるように、前記頻度分布を折れ線で近似する
請求項３に記載の復号化装置。
【請求項５】
前記期待値算出手段は、互いに隣接する２つの量子化インデクス値の頻度値を結ぶ一次関数を用いて、前記確率密度関数の少なくとも一部を生成する
請求項３に記載の復号化装置。
【請求項６】
前記期待値算出手段は、注目量子化インデクス値について確率密度関数を決定する場合に、この注目量子化インデクス値の頻度値と、この注目量子化インデクス値と隣接する量子化インデクス値の頻度値との比、及び、前記注目量子化インデクス値の頻度値と前記隣接する量子化インデクス値の頻度値との差分に応じて、頻度分布を近似する一次関数を決定する
請求項３又は４に記載の復号化装置。
【請求項７】
前記期待値算出手段は、注目量子化インデクス値について確率密度関数を決定する場合に、この注目量子化インデクス値と、この注目量子化インデクス値に対応する量子化区間の中央値とを用いて、前記頻度分布を近似する一次関数を決定する
請求項３〜６のいずれかに記載の復号化装置。
【請求項８】
前記期待値算出手段は、注目量子化インデクス値について確率密度関数を決定する場合に、この注目量子化インデクス値の頻度値をｈ（ｑ）とし、この注目量子化インデクス値の両隣の量子化インデクス値の頻度値をｈ（ｑ−１）及びｈ（ｑ＋１）としたときに、中心の値をh(q)*h(q)/{1/(h(q)+h(q-1))+1/(h(q)+h(q+1))}とし、この中心の値を用いて、前記頻度分布を近似する一次関数を決定する
請求項３〜６のいずれかに記載の復号化装置。
【請求項９】
前記期待値算出手段は、既定のパラメータで形状が決定される分布関数であって、前記分布生成手段により生成された頻度分布を近似する分布関数を生成し、生成された分布関数を用いて、前記確率密度関数を生成する
請求項２に記載の復号化装置。
【請求項１０】
前記期待値算出手段は、量子化インデクス値の絶対値が既定値以下となる量子化区間について、前記分布関数を用いて前記確率密度関数を生成し、量子化インデクス値の絶対値が既定値よりも大きくなる量子化区間について、前記分布生成手段により生成された頻度分布を少なくとも１つの直線で近似する関数を用いて、前記確率密度関数を生成する
請求項９に記載の復号化装置。
【請求項１１】
前記期待値算出手段は、前記分布関数を用いて生成される確率密度関数と、前記直線で近似する関数を用いて生成される確率密度関数とを互いに連続に接続する
請求項１０に記載の復号化装置。
【請求項１２】
前記期待値算出手段は、前記分布生成手段により生成された頻度分布との面積差が既定値以下となるような分布関数を生成する
請求項９に記載の復号化装置。
【請求項１３】
前記期待値算出手段は、前記分布生成手段により生成された頻度分布に基づいて、量子化インデクスの標準偏差を算出し、算出された標準偏差に基づいて、前記分布関数を生成する
請求項９に記載の復号化装置。
【請求項１４】
前記分布生成手段は、量子化インデクス値の頻度分布を示す標準偏差σを算出し、
前記補正手段は、前記分布生成手段により算出された標準偏差σと、量子化区間の幅Ｄと、以下の２式：
【数１５】
2006304270.tif 000019
【数１６】
2006304270.tif 000020
とを用いて、補正値ｒを算出する
請求項１に記載の復号化装置。
【請求項１５】
前記分布生成手段により生成された頻度分布に基づいて、量子化インデクスの確率密度関数の期待値を量子化区間毎に算出する期待値算出手段
をさらに有し、
前記補正手段は、前記期待値算出手段により算出された量子化区間毎の期待値に基づいて、量子化区間毎の個別補正値を算出し、算出された個別補正値と、それぞれの量子化区間に対応する量子化インデクスの数とに基づいて、適用すべき補正値を決定する
請求項１に記載の復号化装置。
【請求項１６】
前記量子化インデクスは、変換符号化処理で生成される変換係数の種類に対応付けられており、
前記分布生成手段は、変換係数の種類毎に、量子化インデクス値の頻度分布を生成し、
前記分布生成手段により生成された頻度分布に基づいて、量子化インデクスの確率密度関数の期待値を、変換係数の種類毎に算出する期待値算出手段
をさらに有し、
前記補正手段は、前記期待値算出手段により算出された期待値に基づいて、変換係数の種類毎の個別補正値を算出し、算出された個別補正値と、それぞれの量子化区間に対応する量子化インデクスの数とに基づいて、適用すべき補正値を決定する
請求項１に記載の復号化装置。
【請求項１７】
前記分布生成手段により生成された頻度分布に基づいて、量子化インデクスの確率密度関数の期待値を量子化区間毎に算出する期待値算出手段
をさらに有し、
前記補正手段は、前記期待値算出手段により算出された量子化区間毎の期待値に基づいて、量子化区間毎の補正値を算出し、
前記補正手段により算出された補正値のうち、逆量子化すべき量子化インデクスの量子化区間が一致する補正値を適用して、逆量子化値を算出する逆量子化値算出手段
をさらに有する
請求項１に記載の復号化装置。
【請求項１８】
前記量子化インデクスは、変換符号化処理で生成される変換係数の種類に対応付けられており、
前記分布生成手段は、変換係数の種類毎に、量子化インデクス値の頻度分布を生成し、
前記分布生成手段により生成された頻度分布に基づいて、量子化インデクスの確率密度関数の期待値を、変換係数の種類毎に算出する期待値算出手段
をさらに有し、
前記補正手段は、前記期待値算出手段により算出された期待値に基づいて、変換係数の種類毎の補正値を算出し、
前記補正手段により算出された補正値のうち、逆量子化すべき量子化インデクスと変換係数の種類が一致する補正値を適用して、逆量子化値を算出する逆量子化値算出手段
をさらに有する
請求項１に記載の復号化装置。
【請求項１９】
前記分布生成手段は、量子化インデクスのヒストグラムを作成し、
前記期待値算出手段は、前記分布生成手段により生成されたヒストグラムに基づいて、互いに隣接する量子化区間の境界位置の頻度値を算出し、算出された境界位置の頻度値を用いて、前記確率密度関数を生成し、
前記互いに隣接する量子化区間の境界位置の頻度値は、これらの量子化区間の頻度値に関して対称となるように算出される
請求項２に記載の復号化装置。
【請求項２０】
前記期待値算出手段は、互いに隣り合う２つの量子化区間の頻度値をｈ（ｑ）及びｈ（ｑ−１）とした場合に、既定の関数Ｆ（）を用いて、これらの量子化区間の境界位置の頻度値として、ｈ（ｑ）及びｈ（ｑ−１）の間をＦ（ｈ（ｑ））：Ｆ（ｈ（ｑ−１））に内分する値を算出する
請求項１９に記載の復号化装置。
【請求項２１】
前記期待値算出手段は、前記関数Ｆ（）として、Ｆ（ｘ）＝ｘｎ（ｎは定数）として表すことのできる関数を用いる
請求項２０に記載の復号化装置。
【請求項２２】
前記期待値算出手段は、連続する３つの量子化区間のうち、２番目の量子化区間の中間位置の確率密度関数値Ｉを算出する場合に、１番目の量子化区間と２番目の量子化区間との境界位置の確率密度関数値Ａと、２番目の量子化区間と３番目の量子化区間との境界位置の隔離密度関数値Ｂと、２番目の量子化区間の頻度値Ｈ（ｑ）と、以下の式：
Ｉ＝２×Ｈ（ｑ）−（Ａ＋Ｂ）／２
とを用いて、確率密度関数値Ｉを算出する
請求項２に記載の復号化装置。
【請求項２３】
前記期待値算出手段は、算出された確率密度関数値が負の値となった場合に、この確率密度関数値を０として、期待値を算出する
請求項２２に記載の復号化装置。
【請求項２４】
量子化インデクス値の頻度分布を生成し、
生成された量子化インデクスの頻度分布に基づいて、それぞれの量子化インデクス値に対応する逆量子化値を補正する
逆量子化方法。
【請求項２５】
量子化インデクス値の頻度分布を生成するステップと、
生成された量子化インデクスの頻度分布に基づいて、それぞれの量子化インデクス値に対応する逆量子化値を補正するステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化処理により生成された符号データを復号化する復号化装置に関する。特に、本発明は、データの量子化を伴う符号化処理により生成された符号データを、逆量子化を行うことにより復号化する復号化装置に関する。
【背景技術】
【０００２】
例えば、非特許文献１は、ＪＰＥＧ標準を開示し、非特許文献２は、ＪＰＥＧ２０００標準を開示する。
また、非特許文献３は、変換係数の頻度分布を合わせることによって、よく似たテクスチャを持つ画像を合成する手法を開示する。
また、特許文献１は、符号化時に予め実際の振幅値と量子化値との間の補正値を求めておき、復号時にその補正値を用いて補正する方法を開示する。
【非特許文献１】ＩＴＵ−Ｔ勧告  Ｔ．８１
【非特許文献２】ＩＴＵ−Ｔ勧告  Ｔ．８００
【非特許文献３】D. Heeger and J. Bergen,  "Pyramid based texture analysis/synthesis," Computer Graphics, pp. 229-238, SIGGRAPH 95, 1995.
【特許文献１】特開平７−２４８７９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述した背景からなされたものであり、符号データをより適切に復号化する復号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
［復号化装置］
上記目的を達成するために、本発明にかかる復号化装置は、量子化インデクス値の頻度分布を生成する分布生成手段と、前記分布生成手段により生成された量子化インデクスの頻度分布に基づいて、それぞれの量子化インデクス値に対応する逆量子化値を補正する補正手段とを有する。
【０００５】
好適には、前記分布生成手段により生成された頻度分布に基づいて、量子化インデクスの確率密度関数の期待値を算出する期待値算出手段をさらに有し、前記補正手段は、前記期待値算出手段により算出された期待値に基づいて、逆量子化値を補正する。
【０００６】
好適には、前記期待値算出手段は、前記分布生成手段により生成された頻度分布の少なくとも一部を近似する一次関数を用いて、前記確率密度関数を生成する。
【０００７】
好適には、前記期待値算出手段は、少なくとも、それぞれの量子化インデクスに対応する量子化区間の境界で、連続な関数となるように、前記頻度分布を折れ線で近似する。
【０００８】
好適には、前記期待値算出手段は、互いに隣接する２つの量子化インデクス値の頻度値を結ぶ一次関数を用いて、前記確率密度関数の少なくとも一部を生成する。
【０００９】
好適には、前記期待値算出手段は、注目量子化インデクス値について確率密度関数を決定する場合に、この注目量子化インデクス値の頻度値と、この注目量子化インデクス値と隣接する量子化インデクス値の頻度値との比、及び、前記注目量子化インデクス値の頻度値と前記隣接する量子化インデクス値の頻度値との差分に応じて、頻度分布を近似する一次関数を決定する。
【００１０】
好適には、前記期待値算出手段は、注目量子化インデクス値について確率密度関数を決定する場合に、この注目量子化インデクス値と、この注目量子化インデクス値に対応する量子化区間の中央値とを用いて、前記頻度分布を近似する一次関数を決定する。
【００１１】
好適には、前記期待値算出手段は、注目量子化インデクス値について確率密度関数を決定する場合に、この注目量子化インデクス値の頻度値をｈ（ｑ）とし、この注目量子化インデクス値の両隣の量子化インデクス値の頻度値をｈ（ｑ−１）及びｈ（ｑ＋１）としたときに、中心の値をh(q)*h(q)/{1/(h(q)+h(q-1))+1/(h(q)+h(q+1))}とし、この中心の値を用いて、前記頻度分布を近似する一次関数を決定する。
【００１２】
好適には、前記期待値算出手段は、既定のパラメータで形状が決定される分布関数であって、前記分布生成手段により生成された頻度分布を近似する分布関数を生成し、生成された分布関数を用いて、前記確率密度関数を生成する。
【００１３】
好適には、前記期待値算出手段は、量子化インデクス値の絶対値が既定値以下となる量子化区間について、前記分布関数を用いて前記確率密度関数を生成し、量子化インデクス値の絶対値が既定値よりも大きくなる量子化区間について、前記分布生成手段により生成された頻度分布を少なくとも１つの直線で近似する関数を用いて、前記確率密度関数を生成する。
【００１４】
好適には、前記期待値算出手段は、前記分布関数を用いて生成される確率密度関数と、前記直線で近似する関数を用いて生成される確率密度関数とを互いに連続に接続する。
【００１５】
好適には、前記期待値算出手段は、前記分布生成手段により生成された頻度分布との面積差が既定値以下となるような分布関数を生成する。
【００１６】
好適には、前記期待値算出手段は、前記分布生成手段により生成された頻度分布に基づいて、量子化インデクスの標準偏差を算出し、算出された標準偏差に基づいて、前記分布関数を生成する。
【００１７】
好適には、前記分布生成手段は、量子化インデクス値の頻度分布を示す標準偏差σを算出し、前記補正手段は、前記分布生成手段により算出された標準偏差σと、量子化区間の幅Ｄと、以下の２式：
【数１５】
2006304270.tif 000003
【数１６】
2006304270.tif 000004
とを用いて、補正値ｒを算出する。
【００１８】
好適には、前記分布生成手段により生成された頻度分布に基づいて、量子化インデクスの確率密度関数の期待値を量子化区間毎に算出する期待値算出手段をさらに有し、前記補正手段は、前記期待値算出手段により算出された量子化区間毎の期待値に基づいて、量子化区間毎の個別補正値を算出し、算出された個別補正値と、それぞれの量子化区間に対応する量子化インデクスの数とに基づいて、適用すべき補正値を決定する。
【００１９】
好適には、前記量子化インデクスは、変換符号化処理で生成される変換係数の種類に対応付けられており、前記分布生成手段は、変換係数の種類毎に、量子化インデクス値の頻度分布を生成し、前記分布生成手段により生成された頻度分布に基づいて、量子化インデクスの確率密度関数の期待値を、変換係数の種類毎に算出する期待値算出手段をさらに有し、前記補正手段は、前記期待値算出手段により算出された期待値に基づいて、変換係数の種類毎の個別補正値を算出し、算出された個別補正値と、それぞれの量子化区間に対応する量子化インデクスの数とに基づいて、適用すべき補正値を決定する。
【００２０】
好適には、前記分布生成手段により生成された頻度分布に基づいて、量子化インデクスの確率密度関数の期待値を量子化区間毎に算出する期待値算出手段をさらに有し、前記補正手段は、前記期待値算出手段により算出された量子化区間毎の期待値に基づいて、量子化区間毎の補正値を算出し、前記補正手段により算出された補正値のうち、逆量子化すべき量子化インデクスの量子化区間が一致する補正値を適用して、逆量子化値を算出する逆量子化値算出手段をさらに有する。
【００２１】
好適には、前記量子化インデクスは、変換符号化処理で生成される変換係数の種類に対応付けられており、前記分布生成手段は、変換係数の種類毎に、量子化インデクス値の頻度分布を生成し、前記分布生成手段により生成された頻度分布に基づいて、量子化インデクスの確率密度関数の期待値を、変換係数の種類毎に算出する期待値算出手段をさらに有し、前記補正手段は、前記期待値算出手段により算出された期待値に基づいて、変換係数の種類毎の補正値を算出し、前記補正手段により算出された補正値のうち、逆量子化すべき量子化インデクスと変換係数の種類が一致する補正値を適用して、逆量子化値を算出する逆量子化値算出手段をさらに有する。
【００２２】
好適には、前記分布生成手段は、量子化インデクスのヒストグラムを作成し、前記期待値算出手段は、前記分布生成手段により生成されたヒストグラムに基づいて、互いに隣接する量子化区間の境界位置の頻度値を算出し、算出された境界位置の頻度値を用いて、前記確率密度関数を生成し、前記互いに隣接する量子化区間の境界位置の頻度値は、これらの量子化区間の頻度値に関して対称となるように算出される。
【００２３】
好適には、前記期待値算出手段は、互いに隣り合う２つの量子化区間の頻度値をｈ（ｑ）及びｈ（ｑ−１）とした場合に、既定の関数Ｆ（）を用いて、これらの量子化区間の境界位置の頻度値として、ｈ（ｑ）及びｈ（ｑ−１）の間をＦ（ｈ（ｑ））：Ｆ（ｈ（ｑ−１））に内分する値を算出する。
【００２４】
好適には、前記期待値算出手段は、前記関数Ｆ（）として、Ｆ（ｘ）＝ｘｎ（ｎは定数）として表すことのできる関数を用いる。
【００２５】
好適には、前記期待値算出手段は、連続する３つの量子化区間のうち、２番目の量子化区間の中間位置の確率密度関数値Ｉを算出する場合に、１番目の量子化区間と２番目の量子化区間との境界位置の確率密度関数値Ａと、２番目の量子化区間と３番目の量子化区間との境界位置の隔離密度関数値Ｂと、２番目の量子化区間の頻度値Ｈ（ｑ）と、以下の式：
Ｉ＝２×Ｈ（ｑ）−（Ａ＋Ｂ）／２
とを用いて、確率密度関数値Ｉを算出する。
【００２６】
好適には、前記期待値算出手段は、算出された確率密度関数値が負の値となった場合に、この確率密度関数値を０として、期待値を算出する。
【００２７】
［逆量子化方法］
また、本発明にかかる逆量子化方法は、量子化インデクス値の頻度分布を生成し、生成された量子化インデクスの頻度分布に基づいて、それぞれの量子化インデクス値に対応する逆量子化値を補正する。
【００２８】
［プログラム］
また、本発明にかかるプログラムは、量子化インデクス値の頻度分布を生成するステップと、生成された量子化インデクスの頻度分布に基づいて、それぞれの量子化インデクス値に対応する逆量子化値を補正するステップとをコンピュータに実行させる。
【発明の効果】
【００２９】
本発明の復号化装置によれば、符号データをより適切に復号化することができる。
【発明を実施するための最良の形態】
【００３０】
まず、本発明の理解を助けるために、その背景及び概略を説明する。
画像データ及び音声データなどは、データ量が膨大であるため、圧縮してデータ量を削減して保持、伝送等を行うことが一般的である。例えば、カラー原稿や写真を画像スキャナで電子化した場合に生成される多値画像データ、あるいは、ディジタルカメラで風景等の写真を撮った場合に生成される多値画像データは、ＪＰＥＧ、あるいは、ＪＰＥＧ２０００等の非可逆符号化方式で圧縮することにより、より小さなデータ量とすることができる。
【００３１】
これらの非可逆符号化を行った場合、符号化歪が発生することが問題となっている。特に、ＪＰＥＧ方式を適用する場合には、復号化された画像（復号画像）のＤＣＴブロック境界に発生するブロック歪（符号化歪）が問題となっている。
【００３２】
まず、非可逆符号化の符号化歪がどのようなメカニズムで発生するかを説明する。
図１は、ＪＰＥＧ方式及びＪＰＥＧ２０００方式などの変換符号化方式の概略を説明する図であり、図１（Ａ）は、符号化処理の概略を示し、図１（Ｂ）は、復号化処理の概略を示す。
図２は、変換符号化方式における量子化処理を説明する図である。なお、図２に示された変換係数Ｔ（ｃ，ｉ，ｊ）及び量子化インデクスＱ（ｃ，ｉ，ｊ）は、変数ｃ，ｉ，ｊの関数である。また、変数ｃは、変換係数の種類を示すインデクスであり、例えば、８×８ブロックを用いたＤＣＴ変換であれば、６４種類（８×８）存在する変換係数のいずれかを示す値（１〜６４の整数など）であり、ウェーブレット変換であれば、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を用いる。ただし、ＪＰＥＧ２０００方式では、下位ビットを符号化しない場合があるが、ここでは、最下位ビットまで全て符号化する場合を具体例として説明する。
【００４４】
ＪＰＥＧ２０００方式では、式（１）で示した補正値rを適切に設定すれば、より歪の小さな復号画像を得ることができる。このように、ＪＰＥＧ２０００方式では、逆量子化値を量子化範囲の中心以外の値とすることで復号画質を向上させることができる。
【００４５】
また、ＪＰＥＧ方式でも、同様の補正値ｒを導入することにより、復号画像の画質を向上させることができる。具体的には、以下の式（数２）を用いて、逆量子化値を算出する。
【００４６】
Q(c,i,j)>0である場合に、R(c,i,j)=(Q(c,i,j)+r-0.5)×D(c)
Q(c,i,j)<0である場合に、R(c,i,j)=(Q(c,i,j)-r+0.5)×D(c)
Q(c,i,j)=0である場合に、R(c,i,j)=0
・・・（数２）
【００４７】
このように、適切な補正値ｒを用いて、逆量子化値を算出することにより、より再現性の高い復号化処理が可能となる。
【００４８】
次に、適切な補正値ｒの算出方法が問題となる。
図２は、変換符号化処理における量子化及び逆量子化を説明する図である。
図２に示すように、数直線x軸上に、変換係数Ｔ（元データ）が分布する。ＪＰＥＧ方式では、数直線xは、図２（Ａ）に示されるように、A0、A1、…、A-1、A-2、…の領域（量子化区間）に分割される。
変換係数Ｔが、量子化区間A0の領域に存在している場合には、この変換係数Ｔに対応する量子化インデクスＱは、０となる。同様に、変換係数Ｔが量子化区間Ａｑの領域に存在している場合には、この変換係数Ｔに対応する量子化インデクスＱは、qとなる。
【００４９】
また、ＪＰＥＧ２０００方式では、図２（Ｂ）に示すように、変換係数Ｔが量子化区間Ａｑの領域に存在している場合には、この変換係数Ｔに対応する量子化インデクスＱは、qとなる。
また、この量子化インデクスを逆量子化する場合には、図２（Ｂ）に示された逆量子化値を取る。
【００５０】
ここで、問題を単純化するために、量子化インデクスＱがｑ値となる量子化区間Ａｑ内のみに関して考察する。変換係数Ｔは、量子化区間Ａｑ内に存在しているとする。
この場合に、図２（Ｃ）に示されるように、量子化区間領域Ａｑは、d1≦x<d2の範囲であるとする。このとき、d1≦T<d2である。
ここで、量子化区間Ａｑにおける変換係数Ｔの出現確率を示す確率密度関数ｆT(x)を考える。確率密度関数ｆT(x)は、d1≦x<d2の範囲で定義されており、値xの生起確率を示す。
また、確率密度関数ｆT(x)を量子化区間d1≦x<d2の全範囲で積分すると、その積分値が１となるように定義されている。
このような確率密度関数ｆT(x)が存在しているとき、量子化前の変換係数Ｔ（元データ）と、逆量子化値Ｒとの自乗誤差を最小とするような逆量子化値は、「Vector Quantization and Signal Compression, Kluwer Academic Publishers, 177〜178ページ」によれば、以下の式（数３）により算出される逆量子化値Ｒである。
【００５１】
【数３】
2006304270.tif 000005
【００５２】
上記の式（数３）により算出された値Ｒを、式（数１）あるいは式（数２）式に代入することで、自乗誤差を最小とする補正値ｒを決定することができる。
すなわち、元々の変換係数Ｔの確率密度関数を推定できればよい。
【００５３】
そこで、本実施形態における復号化装置２は、量子化インデクスQ(c,i,j)に基づいて、変換係数T(c,i,j)の確率密度を推定し、推定された確率密度に基づいて補正値ｒを決定する。
図３は、変換係数Ｔの頻度分布を例示する図である。
一般に、ＤＣＴ係数あるいはウェーブレット変換係数は、図３（Ａ）に例示されるような、ラプラス分布あるいは一般化ガウス分布をすると考えられている。このような分布をする確率変数を量子化するとき、量子化範囲は、図３（Ａ）に示されるように分割される。このような場合、各量子化範囲内の確率密度は、図３（Ｂ）、（Ｃ）及び（Ｄ）に例示されるような形状を持つ。
本復号化装置２は、量子化インデクスQ(c,i,j)の頻度分布（例えば、ヒストグラム）を作成し、作成されたヒストグラムを用いて、変換係数Ｔの分布を推定する。
【００５４】
［実施形態］
以下、本発明の実施形態を説明する。
本実施形態では、ＪＰＥＧ２０００方式により符号化された符号データを復号化する場合を具体例として説明する。なお、本実施形態で説明する復号化処理は、概略において、ITU-T勧告T.800に記載されているものと同様であるが、本発明にかかる逆量子化処理を適用する点で異なる。
【００５５】
［ハードウェア構成］
まず、本実施形態における復号化装置２のハードウェア構成を説明する。
図４は、本発明にかかる逆量子化方法が適応される復号化装置２のハードウェア構成を、制御装置２０を中心に例示する図である。
図４に例示するように、復号化装置２は、ＣＰＵ２０２及びメモリ２０４などを含む制御装置２０、通信装置２２、ＨＤＤ・ＣＤ装置などの記録装置２４、並びに、ＬＣＤ表示装置あるいはＣＲＴ表示装置及びキーボード・タッチパネルなどを含むユーザインターフェース装置（ＵＩ装置）２６から構成される。
復号化装置２は、例えば、復号化プログラム５（後述）がインストールされた汎用コンピュータであり、通信装置２２又は記録装置２４などを介して符号データを取得し、取得された符号データを復号化して出力する。
【００５６】
［復号化プログラム］
図５は、制御装置２０（図４）により実行され、本発明にかかる逆量子化方法を実現する復号化プログラム５の機能構成を例示する図である。
図５に例示するように、復号化プログラム５は、エントロピ復号部４０、逆量子化部５０及び逆変換部６０を有する。
また、逆量子化部５０は、ヒストグラム取得部５００、確率密度関数推定部５１０、補正値推定部５４０及び逆量子化値出力部５５０を有し、確率密度関数推定部５１０は、折れ線近似部５２０及び関数推定部５３０を含む。
【００５７】
復号化プログラム５において、エントロピ復号部４０は、入力された符号データを、エントロピ復号化して、逆量子化部５０に出力する。
本例のエントロピ復号部４０は、入力された符号データを復号化して、量子化インデクスＱを生成し、生成された量子化インデクスを逆量子化部５０に出力する。
【００５８】
逆量子化部５０は、エントロピ復号部４０から入力された量子化インデスクに基づいて、逆量子化値を生成し、生成された逆量子化値を逆変換部６０に出力する。
【００５９】
逆変換部６０は、逆量子化部５０から入力された逆量子化値に基づいて、逆変換処理を行い、復号画像を生成する。
【００６０】
逆量子化部５０において、ヒストグラム取得部５００は、エントロピ復号部４０から入力された量子化インデクスQ(c,i,j)に基づいて、各量子化インデクス値qに対するヒストグラムh(q)を取得する。
より具体的には、ヒストグラム取得部５００は、入力された量子化インデクスQ(c,i,j)について、全てのc,i,jの組み合わせで各量子化インデクス値qとなる個数を計測して、量子化マトリクス値がqとなる量子化インデクスQの個数をh(q)とする。
【００６１】
折れ線近似部５２０は、ヒストグラム取得部５００により取得されたヒストグラム（頻度分布）を折れ線で近似して、折れ線関数を作成する。すなわち、折れ線近似部５２０は、ヒストグラム取得部５００により取得されたヒストグラムを用いて、変換係数Ｔの確率密度関数を近似する。以降は、変換係数Ｔそのものの確率密度関数ではなく、変換係数Ｔを量子化ステップ幅Ｄ（ｃ）で正規化した値であるT(c,i,j)/D(c)の確率密度関数を考える。
なお、例えば、折れ線近似部５２０は、
f(x)=h(q)(ただし、x≦1かつq≦x<q+1、あるいは、x≦-1かつq-1<x≦qのとき)
f(x)=h(0)(ただし、-1<x<1のとき)
とすると、T(c,i,j)/D(c)の確率密度関数を、f(x)/∫f(x)で近似してもよいが、このままでは階段状の不連続な確率密度関数であるため、実際の変換係数Ｔの確率密度とは異なると考えられる。そのため、本例の折れ線近似部５２０は、連続かつより妥当と考えられる確率密度関数を推定する。
【００６２】
本例の折れ線近似部５２０は、ヒストグラムｈ（ｑ）から、連続する３つの量子化インデクス値qに対応するヒストグラム値h(q-1),h(q),h(q+1)を抽出し、抽出されたヒストグラム値h(q-1),h(q),h(q+1)を用いて、折れ線関数を作成する。
より具体的には、折れ線近似部５２０は、｜q｜>0の各qに対して、それに隣接するヒストグラム値h(q-1),h(q),h(q+1)を抽出する。
【００６３】
ここで、量子化インデクス値がqとなるx=T(c,i,j)/D(c)の範囲(すなわち、量子化インデクスqの量子化範囲)を
q>0のとき、M1(q)≦x<M2(q)、
q<0のとき、M1(q)<x≦M2(q)
とし、M1(q)とM2(q)の中点をM(q)とする。
なお、ＪＰＥＧ２０００方式の場合は、
q=0のとき、M(q)=0、M1(q)=-1、M2(q)=1
q>0のとき、M(q)=1.5×q、M1(q)=q、M2(q)=q+1
q<0のとき、M(q)=1.5×q、M1(q)=q-1、M2(q)=q
となる。
【００６４】
折れ線近似部５２０は、ヒストグラムで表された確率密度関数を、M1(q)からM2(q)までの範囲で折れ線近似する。
具体的には、座標(M(q-1),h(q-1))と座標(M(q),h(q))を結ぶ線分Ａと、座標(M(q+1),h(q+1))と座標(M(q),h(q))を結ぶ線分Ｂとを考え、折れ線近似部５２０は、この二つの線分Ａ，Ｂに相当する関数を用いて、M1(q)からM2(q)までの範囲を折れ線近似する。この折れ線近似関数を、Fq(x)と定義する。
これは、例えば、図６に示されるように、ヒストグラム値h(q-1),h(q),h(q+1)があった場合、各ヒストグラム値を結ぶ線分で確率密度を推定していることになる。
【００６５】
関数推定部５３０は、折れ線近似部５２０により作成された折れ線関数に基づいて、量子化インデクス値qに対応する部分確率密度関数fq(x)を生成する。
より具体的には、関数推定部５３０は、折れ線近似部５２０により生成された折れ線近似関数Fq(x)を、部分確率密度関数fq(x)に変換する。
ここで、量子化インデクス値qに対する部分確率密度関数fq(x)を、以下のように定義する。
上記線分Ａと線分Ｂとで定義された確率密度関数Fq(x)は、M1(q)からM2(q)までの範囲で定義されている。ここで、M1(q)からM2(q)までの範囲を０から１までの範囲に変換できれば、０から１までの範囲をそのまま式(１)あるいは式(２)のr値に対応させることができる。このようにM1(q)からM2(q)までの範囲を０から１までの範囲に変換したものを、部分確率密度関数fq(x)とする。なお、式(１)あるいは式(２)に対応するため、q値が正の時と、q値が負の時では、逆の対応を取る。すなわち、部分確率密度関数fq(x)は、以下のように定義される。
【００６６】
q>0の時、M1→0、M2→1の対応を取る。
fq(x)=Fq{(M2(q)-M1(q))x+M1(q)}
q<0の時、M1→1、M2→0の対応を取る。
fq(x)=Fq{(M1(q)-M2(q))x+M2(q)}
関数推定部５３０は、上記の変換式により、部分確率密度関数ｆｑ（ｘ）を得る。
【００６７】
補正値推定部５４０は、関数推定部５３０により生成された部分確率密度関数fq(x)を用いて、各量子化インデクス（各量子化区間）に対応する補正値rを算出する。
本例の補正値推定部５４０は、以下の式（数４）で演算を行い、補正値rを算出する。
【００６８】
【数４】
2006304270.tif 000006
【００６９】
すなわち、補正値推定部５４０は、全ての部分確率密度関数ｆｑ（ｘ）をxが0〜1の範囲で全て加算して正規化することによって得られた確率密度関数を用いて、xの期待値を算出し、算出された期待値を補正値ｒとする。
【００７０】
逆量子化値出力部５５０は、補正値推定部５４０により算出された補正値ｒを用いて、適用すべき逆量子化値を算出し、算出された逆量子化値を逆変換部６０に出力する。
本例の逆量子化値出力部５５０は、上記の式（数１）又は式（数２）に、補正値ｒを代入して、適用すべき逆量子化値を算出する。
【００７１】
以上説明したように、本実施形態における復号化装置２は、量子化インデクスのヒストグラムを折れ近似することにより、部分確率密度関数ｆｑ（ｘ）を生成し、生成された確率密度関数ｆｑ（ｘ）を用いて補正値ｒを算出する。
【００７２】
［変形例１］
上記実施形態では、ヒストグラム値をそのまま結ぶことにより、変換係数の確率密度関数を推定した。このような推定は、簡易であることが利点であるが、次に示すような問題もある。
まず、前提として、ヒストグラム値をそのまま階段状にして近似した確率密度推定関数の各量子化範囲内の面積と、推定後の確率密度関数の各量子化範囲内の面積が等しいことが良い推定方式であるとする。
改善すべき点は以下である。
（１）上記実施形態における折れ線近似では、図７（Ａ）に例示する斜線部の面積分が加わるため、もともとの階段状の確率密度関数近似の面積よりも大きくなってしまう。これを、避けるためには、x=M(q)のときのFq(x)の値を、h(q)よりも小さくすればよいが、隣接ヒストグラム値h(q-1)とh(q)の値との差分が大きく、かつ、h(q)の値が小さいときは、補正に限界がある。
（２）隣接ヒストグラム値h(q-1)、h(q)、h(q+1)が単調増加あるいは単調減少では無い場合、図７（Ｂ）に例示する斜線部の面積分だけ引かれるため、もともとの階段状の確率密度関数近似の面積よりも小さくなってしまう。逆に、ヒストグラム値h(q-1)、h(q)、h(q+1)が谷形状の場合は、面積が大きくなってしまう。
そこで、第１の変形例では、上記実施形態よりも若干複雑ではあるが、これらの問題を解消する以下に示す折れ線近似を行うものである。
【００７３】
なお、本変形例における復号化プログラム５の構成は、上記実施形態のもの（図５）と実質的に同一であるが、折れ線近似部５２０の動作のみが異なる。
以下、折れ線近似部５２０の動作を説明する。
【００７４】
本変形例の折れ線近似部５２０は、次の２点を実施する。
（第１点）量子化範囲の境界M1(q)とM2(q)における推定値Fq(M1(q))、Fq(M2(q))を、補正が可能な値にする。ここで、本変形例における補正とは、階段状の確率密度関数と、推定後の確率密度関数との面積を量子化範囲内でできるだけ等しくすることをいう。
（第２点）量子化範囲内のある点xにおける推定値Fq(x)を、できるだけ面積が変化しないように規定する。
【００７５】
具体的な折れ線近似方法を以下に示す。
（１）まず、折れ線近似部５２０は、図８（Ａ）に例示するように、量子化範囲の境界M1(q)における推定値Fq(M1(q))を、Fq(M1(q))=h(q)とh(q-1)の間（すなわち、線分ＡＢ）をh(q):h(q-1)に内分する点として規定する。
具体的には、折れ線近似部５２０は、以下の演算により、推定値Fq(M1(q))を算出する。
Fq(M1(q))=2×h(q)×h(q-1)/(h(q)+h(q-1))
【００７６】
同様に、折れ線近似部５２０は、量子化範囲の境界M2(q)における推定値Fq(M2(q))（すなわち、Fq(M2(q))=h(q)とh(q+1)の間をh(q):h(q+1)に内分する点）を、以下の演算により、算出する。
Fq(M2(q))=2×h(q)×h(q+1)/(h(q)+h(q+1))
【００７７】
このようにすることによって、
h(q-1)>h(q)のとき、Fq(M1(q))-h(q)<h(q)とできる。
あるいは、
h(q+1)>h(q)のとき、Fq(M2(q))-h(q)<h(q)とできる。
よって、Fq(M(q))の値を小さく設定することができるため、図７に例示するような斜線部が十分に補正可能となる。
【００７８】
（２）次に、折れ線近似部５２０は、量子化範囲M1(q)〜M2(q)の間を4つに分割する。すなわち、量子化範囲M1(q)〜M2(q)の間を1:3に内分する点（すなわち、図８（Ｂ）に例示する点Ｃ）を、M3(q)とし、3:1に内分する点（すなわち、図８（Ｂ）に例示する点Ｄ）をM4(q)とする。
M3(q)=M1(q)+(1/4)×(M2(q)-M1(q))
M4(q)=M1(q)+(3/4)×(M2(q)-M1(q))
である。ここで、
Fq(M3(q))=h(q)、Fq(M4(q))=h(q)
とする。
【００７９】
（３）次に、折れ線近似部５２０は、h(q-1),h(q),h(q+1)が単調増加あるいは単調減少ではないとき、上記で示した４点を用いて折れ線近似する。すなわち、図８（Ｂ）に例示するように、
点Ａ：座標(M1(q),2×h(q)×h(q-1)/(h(q)+h(q-1))
点Ｂ：座標(M2(q),2×h(q)×h(q+1)/(h(q)+h(q+1))
点Ｃ：座標(M3(q),h(q))
点Ｄ：座標(M4(q),h(q))
点Ｅ：直線ＡＣと直線ＢＤの交点
とすると、折れ線近似は、線分ＡＥ及び線分ＢＥで表す。
h(q-1),h(q),h(q+1)が単調増加あるいは単調減少のとき、点Ｆの座標(M(q),h(q))として、折れ線近似は、線分ＡＦ及び線分ＢＦで表す。
すなわち、折れ線近似部５２０は、h(q-1),h(q),h(q+1)が単調増加あるいは単調減少である場合に、直線ＡＣと直線ＢＤが量子化範囲内で交点を持つとは限らないため、場合分けが必要となる。
以上のように折れ線近似することによって、階段状の確率密度関数と、推定後の確率密度関数との面積を量子化範囲内でより等しくすることができる。
【００８０】
［変形例２］
上記第１の変形例では、直線ＡＣと直線ＢＤの交点を求める負荷が大きい。また、h(q-1),h(q),h(q+1)が単調増加あるいは単調減少かどうかの場合分けも負荷となる。
そこで、第２の変形例では、交点を求めずに、直線ＡＣと直線ＢＤそれぞれの、x=M(q)のときの値の平均値を用いて折れ線近似する。すなわち、
点Ａ：座標(M1(q),2×h(q)×h(q-1)/(h(q)+h(q-1))
点Ｂ：座標(M2(q),2×h(q)×h(q+1)/(h(q)+h(q+1))
点Ｇ：座標(M(q),h(q)+{h(q)-2×h(q)×h(q-1)/(h(q)+h(q-1))})
とする。
すなわち、点Ｇを座標(M(q),2×h(q)2/(h(q)+h(q-1)))とし、同様に、点Ｈを座標(M(q),2×h(q)2/(h(q)+h(q+1)))とし、さらに、点Ｉを線分ＧＨの中点とする。
この点Ｉの座標は、(M(q),h(q)2｛1/(h(q)+h(q-1))+1/(h(q)+h(q+1))｝となる。
このように点を定義したとき、本変形例における折れ線近似部５２０は、線分ＡＩ及び線分ＢＩに相当する関数を用いて折れ線近似する。
【００８１】
図９（Ａ）は、ヒストグラムh(q-1),h(q),h(q+1)が山型の形状を示す場合に相当し、図９（Ｂ）は、ヒストグラムh(q-1),h(q),h(q+1)が単調増加の形状を示す場合に相当する。
いずれの場合も、折れ線近似部５２０は、以下のように、各点を定義して、線分ＡＩ及び線分ＢＩに相当する関数で折れ線近似する。
点Ａ：座標(M1(q),2×h(q)×h(q-1)/(h(q)+h(q-1))
点Ｂ：座標(M2(q),2×h(q)×h(q+1)/(h(q)+h(q+1))
点Ｉ：座標(M(q),h(q)2｛1/(h(q)+h(q-1))+1/(h(q)+h(q+1))｝
【００８２】
なお、本変形例を場合分けして適用してもよい。
すなわち、折れ線近似部５２０は、ヒストグラムh(q-1),h(q),h(q+1)が単調増加あるいは単調減少ではないとき、図９に例示したように、点Ｇと点Ｈとの中点Ｉを導入して、線分ＡＩ及び線分ＢＩに相当する関数で折れ線近似し、ヒストグラムh(q-1),h(q),h(q+1)が単調増加または単調減少であるとき、点Ｆ（すなわち、座標(M(q),h(q))）を導入して、線分ＡＦ及び線分ＢＦに相当する関数で折れ線近似してもよい。
【００８３】
また、本変形例では、図９に例示するように、点Ｇと点Ｈとの中点Ｉを用いて、連続となるような確率密度関数としたが、必ずしも連続にしなくてもよい。
例えば、折れ線近似部５２０は、図９に例示する線分ＡＧ及び線分ＢＨに相当する関数で折れ線近似を行ってもよい。すなわち、関数ｆq(x)は、以下のように定義される。
ｆq(x)=線分ＡＧ（ただし、M1(q)≦x<M(q)）
ｆq(x)=線分ＢＨ（ただし、M(q)≦x<M2(q)）
【００８４】
また、折れ線近似部５２０は、h(q-1),h(q),h(q+1)が単調増加あるいは単調減少ではないとき、
ｆq(x)=線分ＡＧ（ただし、M1(q)≦x<M(q)）
ｆq(x)=線分ＢＨ（ただし、M(q)≦x<M2(q)）
を用いて、不連続な折れ線近似を行い、h(q-1),h(q),h(q+1)が単調増加又は単調減少であるとき、点Ｆを座標(M(q),h(q))として、線分ＡＦ及び線分ＢＦに相当する関数で折れ線近似してもよい。
【００８５】
なお、上記変形例２は、以下のように一般化できる。
点Aは、h(q)とh(q-1)の間をh(q)n ：h(q-1)n に内分する点とする。すなわち、
点A：座標(M1(q), 2×h(q)n×h(q-1)n/(h(q)n+h(q-1)n))
同様に、点Bは、h(q)とh(q+1)の間をh(q)n ： h(q+1)n に内分する点とする。すなわち、
点B：座標(M2(q), 2×h(q)n×h(q+1)n/(h(q)n+h(q+1)n))
また、点Iの座標は、以下とする。
点I：座標(M(q), 2×h(q)−(Pa+Pb)/2)
ただし、
Pa=2×h(q)n×h(q-1)n/(h(q)n+h(q-1)n)
Pb=2×h(q)n×h(q+1)n/(h(q)n+h(q+1)n)
上記ｎの値は実数であり、図９を参照して説明した上記変形例２は、n=1の場合に相当する。
【００８６】
また、折れ線近似部５２０は、所定の関数F()を用いて、ヒストグラムの境界に位置する点（点Ａ及び点Ｂ）を算出し、算出された点を用いて折れ線近似してもよい。すなわち、上記では、点Aは、h(q)とh(q-1)の間をh(q)n ： h(q-1)n に内分する点としたが、所定の関数F()を用いて、点Aは、h(q)とh(q-1)の間をF(h(q))：F(h(q-1))に内分する点としてもよい。このような点Aを採用する理由は、確率密度関数を連続にしたいからである。そして、このように様々な形状の関数F()を用いて、点を決めることにより確率密度関数を連続にすることが可能である。
【００８７】
さらに、上記では、点Aは、h(q)とh(q-1)の間をF(h(q))：F(h(q-1))に内分する点としたが、確率密度関数を連続にするためには、点Aの位置を、h(q)及びh(q-1)を入力として、h(q)とh(q-1)とを交換しても同じ値になるような関数値とすればよい。すなわち、互いに隣接するヒストグラムの境界における値（点Ａ又は点Ｂの値）が、これらのヒストグラムの頻度値h(q)及びh(q-1)に関して対称となることが望ましい。
【００８８】
次に、確率密度関数であるため、その関数の値域は、正または0であることが望まれる。そのため、折れ線近似部５２０は、I<0であるときには、I＝0とする例外処理を行う。
ただし、F(x)=xn 、かつ、n?1の場合には、Ｉ≧０となるため、上記例外処理（I＝0とする処理）は必要ない。
【００８９】
［変形例３］
上記実施形態では、確率密度関数を折れ線近似で行ったが、第３の変形例では、曲線で確率密度関数を近似する。
図１０は、第３の変形例における復号化プログラム５２を例示する図である。なお、本図に示された各構成のうち、図５に示された構成と実質的に同一のものには同一の符号が付されている。
図１０に例示するように、本変形例の復号化プログラム５２は、図５に示された復号化プログラム５の折れ線近似部５２０を、パラメータ推定部５６０に置換した構成をとる。
パラメータ推定部５６０は、ヒストグラム取得部５００により取得されたヒストグラムh(q)に基づいて、変換係数Ｔの分布を曲線で近似する。
本例のパラメータ推定部５６０は、量子化インデクスのヒストグラムに基づいて、変換係数Ｔの分布をラプラス分布で推定する。
まずラプラス分布の式は、以下で表すことができる。
【００９０】
【数５】
2006304270.tif 000007
【００９１】
ラプラス分布の形状を推定するためには、パラメータ推定部５６０が上式のσを推定すればよい。
まず、パラメータ推定部５６０は、以下の式（数６）を用いて、ヒストグラムh(q)から、確率密度関数fhc(x)を算出する。
【００９２】
【数６】
2006304270.tif 000008
【００９３】
ただし、この場合に、q=0は、-1<x<1に対応する。また、q=1,2,…は、q≦x<q+1に対応し、q=-1,-2,…は、q-1<x≦qに対応する。
このとき、図１１に例示されるように、ラプラス関数L(x)とヒストグラムfhc(x)の違いができるだけ小さくなるようなσを求めればよい。
上記の「違いができるだけ小さくなる」ことを評価する関数として、以下の誤差関数Err(σ)を定義する。
【００９４】
【数７】
2006304270.tif 000009
【００９５】
この誤差関数Errは、各量子化インデクス値q毎に求めた確率密度関数の面積の差分の絶対値を加算したものである。誤差関数Err(σ)の値が小さいほど、fhc(x)とL(x)は似ているといえる。パラメータ推定部５６０は、上記Err(σ)を最小にするようなσを、数値計算を行って求めればよい。
あるいは、パラメータ推定部５６０は、σの値を多く用意しておき、そのうちで上記Err関数が最も小さくなるσを採用すればよい。
あるいは、パラメータ推定部５６０は、単純に変換係数種類cごとに、量子化インデクスQ(c,i,j)の標準偏差を計算して、σを求めてもよい。
【００９６】
なお、本変形例では、ラプラス分布を用いる形態を具体例として説明したが、これに限定されるものではなく、パラメータを入力すると形状が決定できる関数であれば何でもよい。パラメータ数がＮ個ある場合には、多次元の最小化を行う数値演算を行えばよい。
例えば、パラメータ推定部５６０は、以下に示す一般化ガウス分布GG(x)を用いて、ヒストグラムを近似してもよい。
【００９７】
【数８】
2006304270.tif 000010
【００９８】
なお、上記式中のΓ()は、ガンマ関数である。この分布は、パラメータα、βにより、形状が決定する。例えば、パラメータ推定部５６０は、上記誤差関数Errをガンマ関数GG(x)に適用して（すなわち、上記式（数７）のラプラス関数L（x)をガンマ関数GG(x)に変えて）、Errを最小化するパラメータα、βを求めればよい。
【００９９】
関数推定部５３０の説明を行う。
ここで、パラメータ推定部５６０により算出された確率密度関数が、LL(x)であるとする。
関数推定部５３０は、Fq(x)=LL(x)として以下の式により、部分確率密度関数fq()を求めればよい。
q>0の時、M1→0、M2→1の対応を取る。
fq(x)=Fq{(M2(q)-M1(q))x+M1(q)}
q<0の時、M1→1、M2→0の対応を取る。
fq(x)=Fq{(M1(q)-M2(q))x+M2(q)}
【０１００】
［変形例４］
上記変形例３では、予めパラメータ化された分布関数を仮定して、パラメータを推定すれば、曲線で構成された、より緻密な確率密度関数を推定することができる。ところが、問題は、上記のように予め仮定した分布関数が、実際の変換係数分布と一致するとは限らない点である。例えば、前記ラプラス分布あるいは一般化ガウス分布は、|x|に対して単調減少するが、実際の分布は単調減少するとは限らない。
そこで、第４の変形例では、折れ線近似と、分布関数を用いた曲線近似とを併用する。より具体的には、信号数（量子化インデクスの出現頻度）の多い|q|が、比較的値の小さな領域に対しては、比較的パラメータ化された分布関数近似を適用する。逆に、|q|が比較的大きな領域に対しては、パラメータ化された分布関数による近似が当てはまらない可能性があるため、|q|が比較的大きな領域では、確率密度の変化が比較的小さいので折れ線近似を適用する。
【０１０１】
図１２は、第４の変形例における復号化プログラム５４の構成を示す図である。なお、本図に示された各構成のうち、図５又は図１０に示された構成と実質的に同一のものには、同一の符号が付されている。
図１２に例示するように、本変形例における復号化プログラム５４は、図５に示された構成に、パラメータ推定部５６０を追加した構成をとる。
折れ線近似部５２０は、正の整数の閾値TH1を用意する。典型的にはTH1=1、あるいは、TH1=2等の値となる。
また、パラメータ推定部５６０により推定された確率密度関数がLL(x)であるとする。
【０１０２】
折れ線近似部５２０は、|q|>TH1である場合に、上記実施形態又は上記変形例で示した折れ線近似を行い、Fq(x)を求める。
また、折れ線近似部５２０は、|q|=TH1である場合に、左右の点を規定する。すなわち、q=THのときに、折れ線近似部５２０は、左の点の値Fq(M1(q))を、パラメータ推定部５６０により求められた関数の代入値LL(M1(q))とし、右の点Fq(M2(q))を、パラメータ推定部５６０により求められた関数の代入値=LL(M2(q))とする。
上記実施形態又は上記変形例で示したように、折れ線近似部５２０は、３点(あるいは４点)を結ぶ線分を用いて折れ線近似を行う。上記で示されていない他の点については、折れ線近似部５２０は、上記実施形態又は上記変形例で示したものと同じ点を取って、折れ線近似を行う。
【０１０３】
関数推定部５３０は、|q|≦TH1である場合に、折れ線近似部５２０により求められたFq(x)を、上記実施形態と同様の方法により部分密度関数fq()に変換し、|q|<TH1である場合に、変形例３と同様の方法により、部分密度関数fq()を求める。
【０１０４】
［その他の変形例］
上記実施形態及び上記変形例では、各変換係数種類c及び量子化インデクス値qに対して統一されたr値を求める例を示した。ところが、r値は、各量子化インデクスqに対して別々の値をとってもよい。例えば、rをqの関数として、r(q)とすることができる。
この場合、補正値推定部５４０は、以下の式により、量子化インデクス値q毎に補正値r(q)を求めることができる。
【０１０５】
【数９】
2006304270.tif 000011
【０１０６】
このとき、逆量子化値出力部５５０は、量子化インデクス値ｑに対応する補正値ｒ（ｑ）を用いて、逆量子化値を算出する。
【０１０７】
同様に、r値は、変換係数種類ｃに対して別々の値をとってもよい。例えば、rをcの関数として、r(c)とすることができる。
この場合、ヒストグラム取得部５００は、ヒストグラム値h(q)を、変換係数種類ｃ毎に算出し、hc(q)とすればよい。
また、上記実施形態のh(q)を全てhc(q)と読み替えて、かつ、全ての処理を変換係数種類ごとに行えばよい。
その結果、部分確率密度関数fq(x)も、変換係数種類ｃ毎に算出することになる。変換係数種類cに対応する部分確率密度関数をfcq(x)とする。
この場合、補正値推定部５４０は、変換係数種類c毎にr(c)を求めることができる。
このとき、逆量子化値出力部５５０は、変換係数種類ｃに対応するr(c)を用いて、逆量子化値を算出する。
【０１０８】
また、同様に、r値は、変換係数種類ｃ及び量子化インデクス値qの組合せに対して別々の値をとってもよい。例えば、補正値rを変換係数種類c及び量子化インデクス値qの関数として、r(c,q)とすることができる。
この場合、ヒストグラム取得部５００は、ヒストグラム値h(q)を、変換係数種類毎に算出し、hc(q)とすればよい。また、h(q)を全てhc(q)と読み替えて、かつ、全ての処理を変換係数ごとに行えばよい。
このとき、逆量子化値出力部５５０は、量子化インデクス値ｑ及び変換係数種類ｃの組合せに対応するr(c,Q(c,i,j))を用いて、逆量子化値を算出する。
【０１０９】
また、上記実施形態では、ヒストグラムを計測するときに、変換係数種類cに関わらず頻度数を計測し、最終的に部分確率密度関数の和を取って、r値を推定していた。
しかしながら、復号化プログラム５は、まず、各変換係数種類c、あるいは、量子化インデクス値q毎に推定したr値を用いて、重み付け平均を取って統一されたr値を求めるようにしてもよい。
ここで、変換係数種類c、かつ、量子化インデクスqとなる信号の個数をp(c,q)とし、量子化インデクス値がqとなる信号の個数をp(q)とし、変換係数種類cとなる信号の個数をp(c)とする。
この場合に、復号化プログラム５は、以下の式により、r、r(q)、あるいは、r(c)を算出する。
【０１１０】
【数１０】
2006304270.tif 000012
【０１１１】
また、上記実施形態では、Fq()を求めてから、fq()に変換していたが、復号化プログラム５は、最初に量子化範囲内のT(c,i,j)/D(c)の値を、0〜1に変換して、次に直接fq()を求めるようにしてももちろんよい。
【０１１２】
また、上記実施形態では、ＪＰＥＧ２０００方式に適用する形態を具体例として説明したが、上記実施形態で説明した逆量子化は、ＪＰＥＧ方式の逆量子化に用いることができる。
この場合、以下の変更を行えばよい。
すなわち、ヒストグラム取得部５００は、f(x)=h(q)(ただし、x≦0.5かつq-0.5≦x<q+0.5、あるいは、x≦-0.5かつq-0.5<x≦q+0.5のとき)、f(x)=h(0)(ただし、-0.5<x<0.5のとき)として、ヒストグラム関数を定義し、折れ線近似部５２０は、M(q)=q、M1(q)=q-0.5、M2(q)=q+0.5として、折れ線近似を行う。
【０１１３】
また、パラメータ推定部５６０は、q=0を、-0.5<x<0.5に対応させ、q=1,2,…を、q-0.5≦x<q+0.5に対応させ、q=-1,-2,…を、q-0.5<x≦q+0.5に対応させて、ヒストグラムh(q)を、確率密度関数fhc(x)に変換する。
【０１１４】
なお、上記変形例３において、パラメータ推定部５６０が、単純に変換係数種類cごとに、量子化インデクスQ(c,i,j)の標準偏差を計算して、σを求める方法を説明する。
パラメータ推定部５６０は、以下の式により、部分確率密度関数fq(x)を求めることができる。
【０１１５】
【数１１】
2006304270.tif 000013
【０１１６】
ただし、量子化インデクスがqとなるxの範囲をd1(q)〜d2(q)としている。また、量子化インデクスqにおける値rを、r(q)とする。
ここで、
【０１１７】
【数１２】
2006304270.tif 000014
【０１１８】
とすると、r(q)は、以下のように表される。
【０１１９】
【数１３】
2006304270.tif 000015
【０１２０】
f(x)がラプラス分布の場合、上記r(q)は、qに依存しない(すなわち、σとDの比のみに依存する)定数となる。したがって、関数G(q)は、以下の式のように表される。
【０１２１】
【数１４】
2006304270.tif 000016
【０１２２】
ただし、
【０１２３】
【数１５】
2006304270.tif 000017
【０１２４】
および、q≠0、q=0を得る。
よって、パラメータ推定部５６０は、以下の式により補正値ｒを算出することができる。
【０１２５】
【数１６】
2006304270.tif 000018
【０１２６】
すなわち、パラメータ推定部５６０は、量子化インデクスQのヒストグラムから、その変換係数種類の標準偏差σを推定する。量子化インデクスから変換係数の標準偏差を推定する手法としては、特開2004-80741に示された手法などを用いればよい。
そして、パラメータ推定部５６０は、推定された標準偏差（すなわち、量子化インデクスの標準偏差）に基づいて、ｒ値を算出する。
なお、ｒ値は、符号化時に算出されてもよく、この場合には、実際の変換係数の標準偏差に基づいて上記式（１４）及び式（１５）によりｒ値を算出し、算出されたｒ値を符号データに埋め込む。復号化プログラム５は、符号データに埋め込まれたｒ値に基づいて、逆量子化することができる。
本変形例では、変換係数の標準偏差を求めるだけで、簡単にｒ値を求めることができるため好適である。
【図面の簡単な説明】
【０１２７】
【図１】ＪＰＥＧ方式及びＪＰＥＧ２０００方式などの変換符号化方式の概略を説明する図であり、（Ａ）は、符号化処理の概略を示し、（Ｂ）は、復号化処理の概略を示す。
【図２】変換符号化方式における量子化処理を説明する図である。
【図３】変換係数の分布を例示する図である。
【図４】本発明にかかる逆量子化方法が適応される復号化装置２のハードウェア構成を、制御装置２０を中心に例示する図である。
【図５】制御装置２０（図４）により実行され、本発明にかかる逆量子化方法を実現する復号化プログラム５の機能構成を例示する図である。
【図６】折れ線近似を例示する図である。
【図７】折れ線近似とヒストグラムとの面積差を例示する図である。
【図８】第１の変形例における折れ線近似を説明する図である。
【図９】第２の変形例における折れ線近似を説明する図である。
【図１０】第２の復号化プログラム５２の構成を例示する図である。
【図１１】ラプラス分布（分布関数）を用いた近似を説明する図である。
【図１２】第３の復号化プログラム５４の構成を例示する図である。
【符号の説明】
【０１２８】
２・・・復号化装置
５・・・復号化プログラム
４０・・・エントロピ復号部
５０・・・逆量子化部
５００・・・逆量子化値推定部
５２０・・・分布推定部
５４０・・・期待値推定部
５６０・・・乱数発生部
５８０・・・補正部
５８２・・・分布情報特定部
５８４・・・期待値シフト部
５８６・・・期待値補正部
５９０・・・逆量子化値出力部
６０・・・逆変換部
【図１】
2006304270.tif 000021
【図２】
2006304270.tif 000022
【図３】
2006304270.tif 000023
【図４】
2006304270.tif 000024
【図５】
2006304270.tif 000025
【図６】
2006304270.tif 000026
【図７】
2006304270.tif 000027
【図８】
2006304270.tif 000028
【図９】
2006304270.tif 000029
【図１０】
2006304270.tif 000030
【図１１】
2006304270.tif 000031
【図１２】
2006304270.tif 000032