(57)【要約】  【課題】  より適切な復号化処理を行う復号化装置を提供する。  【解決手段】  復号化装置２は、量子化インデクス値の頻度分布に基づいて、元の変換係数の頻度分布を推定し、推定された頻度分布に応じた乱数を発生させ、発生させた乱数を用いて逆量子化値を算出する。復号化装置２は、変換係数の頻度分布を推定する場合に、低周波成分（ＤＣ成分以外の低周波成分）に相当する変換係数の分布データ（σ値）を除去して、分布データの近似関数（指数関数）を算出する。【選択図】図４
2006270737.tif 000002
【特許請求の範囲】
【請求項１】
複数の成分それぞれについて、信号の分布を推定する分布推定方法であって、
処理対象である注目成分の分布を推定する場合に、他の成分の信号の分布を示す分布データを成分に関する関数で近似し、
この関数を用いて、注目成分の分布データを算出する
分布推定方法。
【請求項２】
前記信号は、変換符号化処理により生成される変換係数であり、
前記成分は、それぞれの変換係数の種類であり、
他の変換係数種類について、変換係数の分布データを取得し、
取得された他の変換係数種類の分布データを関数で近似し、
この関数を用いて、注目変換係数種類について、変換係数の分布データを算出する
請求項１に記載の分布推定方法。
【請求項３】
変換係数種類は、２つの変数で規定され、
他の変換係数種類の分布データを、２つの入力変数により１つの出力変数が規定される指数関数を用いて、近似する
請求項２に記載の分布推定方法。
【請求項４】
他の変換係数種類の分布データのうち、一部の分布データを除外し、
一部の分布データが除外された分布データを、関数で近似し、
この関数を用いて、注目変換係数種類について、変換係数の分布データを算出する
請求項２又は３に記載の分布推定方法。
【請求項５】
一部の分布データが除外された結果、近似に用いられる関数の係数を算出するための行列のランクが３以上となるように、除外すべき部分データを決定する
請求項４に記載の分布推定方法。
【請求項６】
他の変換係数種類の分布データのうち、一部の分布データに対して既定の重み付け係数を乗じ、
前記重み付け係数が乗じられた分布データを含む、他の変換係数種類の分布データを、関数で近似し、
この関数を用いて、注目変換係数種類について、変換係数の分布データを算出する
請求項２又は３に記載の分布推定方法。
【請求項７】
２次元平面に配置された変換係数の分布データにおいて、１列又は１行のみに０ではない係数が存在している場合に、１つの入力変数により１つの出力変数が規定される指数関数を用いて、分布データを近似する
請求項３に記載の分布推定方法。
【請求項８】
２次元平面に配置された変換係数の分布データにおいて、０でない係数が１つだけである場合、又は、０でない係数が２つだけであり、かつ、１列又は１行のみに０でない係数が存在していない場合に、既定の係数で表現された指数関数を用いて、分布データを近似する
請求項３に記載の分布推定方法。
【請求項９】
前記注目変換係数種類は、量子化インデクス値が全て０である変換係数種類であり、
前記他の変換係数種類は、量子化インデクス値のいずれかが０でない変換係数種類である
請求項２〜８のいずれかに記載の分布推定方法。
【請求項１０】
処理対象である注目成分の分布を推定する場合に、他の成分の信号の分布を示す分布データを成分に関する関数で近似し、
この関数を用いて、注目成分の分布データを算出し、
算出された注目成分の分布データを用いて、逆量子化値を算出し、
算出された逆量子化値を用いて、復号データを生成する
復号化方法。
【請求項１１】
量子化インデクスの頻度分布に基づいて、いずれかの成分について、量子化前のデータの分布を示す分布データを生成する第１の分布生成手段と、
前記第１の分布生成手段により生成された分布データに基づいて、他の成分について、分布データを生成する第２の分布生成手段と、
前記第１の分布生成手段により生成された分布データ、又は、前記第２の分布生成手段により生成された分布データに基づいて、量子化インデクスに対応する逆量子化値を生成する逆量子化値生成手段と
を有する復号化装置。
【請求項１２】
前記第１の分布生成手段は、量子化インデクス値が全て０である変換係数種類について、分布データを生成し、
前記第２の分布生成手段は、前記第１の分布生成手段により生成された分布データを、指数関数で近似し、この指数関数を用いて、量子化インデクス値が全て０である変換係数種類の分布データを生成する
請求項１１に記載の復号化装置。
【請求項１３】
前記第２の分布生成手段は、低周波成分に相当する変換係数種類の分布データの一部が、より高周波な成分に相当する変換係数種類の分布データよりも、前記指数関数に対して影響を与えないようにする
請求項１２に記載の復号化装置。
【請求項１４】
複数の成分それぞれについて、信号の分布を推定するコンピュータにおいて、
処理対象である注目成分の分布を推定する場合に、他の成分の信号の分布を示す分布データを成分に関する関数で近似するステップと、
この関数を用いて、注目成分の分布データを算出するステップと
を前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化処理により生成された符号データを復号化する復号化装置に関する。特に、本発明は、データの量子化を伴う符号化処理により生成された符号データを、逆量子化を行うことにより復号化する復号化装置に関する。
【背景技術】
【０００２】
例えば、特許文献１は、量子化インデクスの頻度分布から原画像の変換係数の確率密度関数を推定することによって、圧縮符号化に夜画像品質の劣化を推定する方法を開示する。
また、非特許文献１は、ＪＰＥＧ標準を開示する。
また、非特許文献２は、ＪＰＥＧ２０００標準を開示する。
【特許文献１】特開２００４−８０７４１号公報
【非特許文献１】ＩＴＵ−Ｔ勧告  Ｔ．８１
【非特許文献２】ＩＴＵ−Ｔ勧告  Ｔ．８００
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述した背景からなされたものであり、量子化前の元データの分布をより適切に推定する分布推定装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
［分布推定方法］
上記目的を達成するために、本発明にかかる分布推定方法は、複数の成分それぞれについて、信号の分布を推定する分布推定方法であって、処理対象である注目成分の分布を推定する場合に、他の成分の信号の分布を示す分布データを成分に関する関数で近似し、この関数を用いて、注目成分の分布データを算出する。
【０００５】
好適には、前記信号は、変換符号化処理により生成される変換係数であり、前記成分は、それぞれの変換係数の種類であり、他の変換係数種類について、変換係数の分布データを取得し、取得された他の変換係数種類の分布データを関数で近似し、この関数を用いて、注目変換係数種類について、変換係数の分布データを算出する。
【０００６】
好適には、変換係数種類は、２つの変数で規定され、他の変換係数種類の分布データを、２つの入力変数により１つの出力変数が規定される指数関数を用いて、近似する。
【０００７】
好適には、他の変換係数種類の分布データのうち、一部の分布データを除外し、一部の分布データが除外された分布データを、関数で近似し、この関数を用いて、注目変換係数種類について、変換係数の分布データを算出する。
【０００８】
好適には、一部の分布データが除外された結果、近似に用いられる関数の係数を算出するための行列のランクが３以上となるように、除外すべき部分データを決定する。
【０００９】
好適には、他の変換係数種類の分布データのうち、一部の分布データに対して既定の重み付け係数を乗じ、前記重み付け係数が乗じられた分布データを含む、他の変換係数種類の分布データを、関数で近似し、この関数を用いて、注目変換係数種類について、変換係数の分布データを算出する。
【００１０】
好適には、２次元平面に配置された変換係数の分布データにおいて、１列又は１行のみに０ではない係数が存在している場合に、１つの入力変数により１つの出力変数が規定される指数関数を用いて、分布データを近似する。
【００１１】
好適には、２次元平面に配置された変換係数の分布データにおいて、０でない係数が１つだけである場合、又は、０でない係数が２つだけであり、かつ、１列又は１行のみに０でない係数が存在していない場合に、既定の係数で表現された指数関数を用いて、分布データを近似する。
【００１２】
好適には、前記注目変換係数種類は、量子化インデクス値が全て０である変換係数種類であり、前記他の変換係数種類は、量子化インデクス値のいずれかが０でない変換係数種類である。
【００１３】
［復号化方法］
また、本発明にかかる復号化方法は、処理対象である注目成分の分布を推定する場合に、他の成分の信号の分布を示す分布データを成分に関する関数で近似し、この関数を用いて、注目成分の分布データを算出し、算出された注目成分の分布データを用いて、逆量子化値を算出し、算出された逆量子化値を用いて、復号データを生成する。
【００１４】
［復号化装置］
また、本発明にかかる復号化装置は、量子化インデクスの頻度分布に基づいて、いずれかの成分について、量子化前のデータの分布を示す分布データを生成する第１の分布生成手段と、前記第１の分布生成手段により生成された分布データに基づいて、他の成分について、分布データを生成する第２の分布生成手段と、前記第１の分布生成手段により生成された分布データ、又は、前記第２の分布生成手段により生成された分布データに基づいて、量子化インデクスに対応する逆量子化値を生成する逆量子化値生成手段とを有する。
【００１５】
好適には、前記第１の分布生成手段は、量子化インデクス値が全て０である変換係数種類について、分布データを生成し、前記第２の分布生成手段は、前記第１の分布生成手段により生成された分布データを、指数関数で近似し、この指数関数を用いて、量子化インデクス値が全て０である変換係数種類の分布データを生成する。
【００１６】
好適には、前記第２の分布生成手段は、低周波成分に相当する変換係数種類の分布データの一部が、より高周波な成分に相当する変換係数種類の分布データよりも、前記指数関数に対して影響を与えないようにする。
【００１７】
［プログラム］
また、本発明にかかるプログラムは、複数の成分それぞれについて、信号の分布を推定するコンピュータにおいて、処理対象である注目成分の分布を推定する場合に、他の成分の信号の分布を示す分布データを成分に関する関数で近似するステップと、この関数を用いて、注目成分の分布データを算出するステップとを前記コンピュータに実行させる。
【発明の効果】
【００１８】
本発明の分布推定装置によれば、より適切に、量子化前の元データの分布を推定することができる。
【発明を実施するための最良の形態】
【００１９】
まず、本発明の理解を助けるために、その背景及び概略を説明する。
画像データ、音声データ及び動画像データなどは、データ量が膨大であるため、圧縮してデータ量を削減して保持、伝送等を行うことが一般的である。例えば、カラー原稿や写真を画像スキャナで電子化した場合の画像データ、あるいは、ディジタルカメラで風景等の写真を撮った場合の画像データなどのように、多値画像データは、ＪＰＥＧ方式、あるいは、ＪＰＥＧ２０００方式等の非可逆符号化方式で圧縮することにより、より小さなデータ量とすることができる。
ＪＰＥＧ方式及びＪＰＥＧ２０００方式の内容は、それぞれ、ITU-T勧告T.81、ITU-T勧告T.800に詳しく記載されている。
【００２０】
これらの非可逆符号化処理を行った場合、符号化歪が発生することが問題となっている。これらの非可逆符号化処理では、入力画像信号を一旦線形変換し、変換信号を量子化することにより高能率な圧縮を行っている。
例えば、変換信号は、ラプラス分布又はガウス分布に近似する分布を持つ。
量子化とは、この信号を図１（Ａ）又は（Ｂ）に示されるような複数の区間に分割し、区間q内に入った信号に対しては、インデクスqを与えるという処理を行うものである。以下、このインデクスqを量子化インデクスと呼ぶ。なお、図１（Ａ）に示す量子化の区間（量子化区間）は、ＪＰＥＧ方式に相当し、図１（Ｂ）に示す量子化区間は、ＪＰＥＧ２０００方式に相当する。
復号器では、上記のように量子化されたインデクスを入力し、さらに、逆量子化を行って変換信号（変換係数Ｔ）を復元する。このとき、元データである変換係数Ｔは、図１（Ｃ）に例示するように、ｄ１〜ｄ２の範囲に分布していたのであるが、復元された変換係数信号Ｒ（逆量子化値）と原画像の係数信号Ｔとが異なるため、画像に歪が発生する。
【００２１】
本発明では、「量子化インデクスの頻度分布から元データ（上記例では、原画像の変換係数）の確率密度関数を推定する」ことに注目している。
上記確率密度関数を適切に推定する技術については、下記２種類の応用が考えられる。
（１）データ圧縮の歪を小さくする技術
（２）データ圧縮の歪を推定する技術
【００２２】
まず、上記２種類の応用に関して説明を行う。
（画像圧縮の歪を小さくする技術の説明）
ＪＰＥＧ方式及びＪＰＥＧ２０００方式等の画像符号化によって発生した符号化歪を小さくするためには、符号化時に圧縮効率を低くするようなパラメタを選択すればよい。
しかしながら、その場合には、符号化効率が低下し、データ量が多くなってしまうという問題点がある。
また、既に符号化されたデータを高画質化しようとする場合には、この圧縮効率を低下させるという方式を採用することはできない。
そこで、復号時に上記画像歪を解消させようとする他の技術が必要になる。例えば、逆量子化した変換係数の分布を原画像の変換係数の分布に近づけることによって、復号画像の画像歪を解消する技術が考えられる。例えば、量子化インデクスの頻度分布から原画像の変換係数の確率密度関数を推定し、推定した確率密度関数の分布に合致するような乱数を発生させる。
【００２３】
（画像圧縮の歪を推定する技術の説明）
また、量子化インデクスの頻度分布から原画像の変換係数の確率密度関数を推定することによって、圧縮符号化による画像品質の劣化を推定する技術が特開２００４−８０７４１号公報に開示されている。
この技術では、まず、量子化インデクスの頻度分布から、原画像の変換信号の確率密度関数f(x)を推定する。
次に、量子化インデクスqの逆量子化値をR(q)とする。また、量子化インデクスqとなる変換信号の範囲をMin(q)〜Max(q)とする。
このとき、量子化インデクスqとなる信号は、元々、Min(q)〜Max(q)の間に分布しているはずであるのに対して、画像圧縮によって、R(q)という値になってしまっているということができる。そこで、特開２００４−８０７４１号公報では、量子化インデクスqとなる信号に与えられた歪S(q)を以下の式（数１）を用いて推定する。
【００２４】
【数１】
2006270737.tif 000003
【００２５】
また、上記S(q)を全てのインデクスqに対して加算することで、全歪を計算することができる（実際には、変換係数は複数あるため（例えば、ＪＰＥＧ方式であれば、６４個の変換係数がある）、さらに各変換係数に対する歪の和を取れば、画像全体の歪を推定することができる）。
【００２６】
このように、確率密度関数の推定技術は、上記のように応用可能である。したがって、確率密度関数を適切に推定することが重要である。
以下、確率密度関数の推定技術について検討する。
【００２７】
（準備）
まず、量子化インデクスの頻度分布をh(q)とする。すなわち、値がqとなる量子化インデクスの個数をh(q)とする。また、qの最小値をqmin,最大値をqmaxとする。
また、H(q)を正規化ヒストグラムとする。ここで、正規化とは、H(q)の総和が1となるようにすることを意味する。つまり、正規化ヒストグラムは、以下の式（数２）により定義される。
【００２８】
【数２】
2006270737.tif 000004
【００２９】
また、量子化インデクスqの逆量子化値をR(q)とし、量子化ステップサイズ(すなわち、図１に示された各量子化区間の幅)をDとする。
【００３０】
（第１の推定方法）
まず、特開２００４−８０７４１号公報に開示された推定方法を第１の推定方法として説明する。
特開２００４−８０７４１号公報では、量子化されたインデクスの逆量子化値の分散と、もともとの連続信号の分散が大体同じであることを期待してσの推定を行っている。
逆量子化値の分散は以下のように計算できる。
まず、R(q)の平均値μを式（数３）で算出する。
【００３１】
【数３】
2006270737.tif 000005
【００３２】
次に、平均値μを用いて、R(q)の分散σ2を式（数４）で算出する。
【００３３】
【数４】
2006270737.tif 000006
【００３４】
特開２００４−８０７４１号公報に開示された推定方法では、上式を用いて求めたσを標準偏差とするラプラス分布を推定変換係数分布としている。
【００３５】
以上に述べた第１の推定方法では、全てのR(q)の値が０、すなわち、量子化ステップサイズが大きくて(あるいは信号の大きさが小さくて)、全ての量子化インデクスが０となってしまう場合には、分散を求めることができない(あるいは、推定値が0となってしまう)。
そこで、下記、第２の推定方法では、各変換係数の標準偏差を周波数の順に２次元上に並べて、推定値が0となった係数の標準偏差を推定する手法を採っている。
【００３６】
（第２の推定方法）
次に、第2の推定方法を説明する。
まず、非ゼロ変換係数とは、ある変換係数の量子化インデクスが全て0ではない変換係数であるとする。また、ゼロ変換係数とは、ある変換係数種の全ての量子化インデクスが0である変換係数のことを示すとする。
図２は、第2の推定方法の概略を説明する図である。
第２の推定方法では、ＪＰＥＧ方式の復号処理の具体例として説明する。ＪＰＥＧ方式では、図２（Ａ）に例示するように、各変換係数が８×８の２次元行列に配置される。標準偏差σがＤＣＴの（１，１）成分から、（８，８）成分にまで２次元的に配置されるとする。そこで、上記σを２次元平面上に配置する。すなわち、（ｘ，ｙ）成分のσ値をσ（ｘ，ｙ）として表現する。
σ（１，１）は、ＤＣ成分のσ値であり、σ（８，８）は、最も高域のＡＣ成分を示す変換係数のσ値である。ただし、ここではＤＣ成分に対しては、σの推定は行わない。
【００３７】
第２の推定方法では、図２（Ｂ）に例示するように、σ（ｘ，ｙ）を、ｘｙ平面上の関数であると考える。既に求めることのできたσを用いて、この関数を決定し、他のσを推定する。ここでは、図２（Ｂ）に例示するように、上記関数を２次元の指数関数で近似する。すなわち、
σ(x,y)=Cexp(-ax-by)・・・（数５）
とする。
式（数５）において、C,a,bは、σ(x,y)の近似関数の形状を示すパラメタである。このパラメタを求めた後、式（数５）を用いて、求めることのできなかったσを計算すればよい。
【００３８】
ここで、σ(x,y)のうち、既に求めることのできたものを、σ(x(u),y(u))とする。ただし、u=1,2,...,Uであり、(x(u),y(u))は、既に求めることのできたσの座標である。
また、全ての量子化インデクスが０であったため、求めることのできなかったものを、σ(x(v),y(v))とする。ただし、v=1,2,...,Vであり、U+V=63 である。
【００３９】
まず、σ(x(u),y(u))  (u=1,2,...,U)を用いて、C,a,bを決定する。
準備として式（数５）の両辺を対数とする。
logσ(x,y)=logC -ax -by
この式に、σ(x(u),y(u))を代入する。すなわち、
logσ(x(u),y(u))=logC -ax(u) -by(u)
となる。
ここで、u=1,2,...,U であるため、上記の式は、実際には、式（数６）に示すように、行列の演算となる。
【００４０】
【数６】
2006270737.tif 000007
【００４１】
式（数６）は、最小自乗法で解くことができる。式（数６）が解ければ、a,b,Cを求めることができる。
次に、求められたa,b,Cを用いて、
σ(x(v),y(v))=Cexp(-ax(v)-by(v))
として、求めることのできなかったσを推定する。
このように、第２の推定方法では、求めることができたσ値に基づいて、a,b,Cを算出し、算出されたa,b,Cを用いて、求めることができなかったσ値を算出する。
【００４２】
（上記推定方法の第１の問題点）
式（数６）を用いて、a,b,Cを求めようとするとき、式（数６）の行列M
【００４３】
【数７】
2006270737.tif 000008
【００４４】
のランクが３以上である必要がある。すなわち、ランクが３未満である場合、解くことができないという問題点がある。
【００４５】
（上記推定方法の第２の問題点）
実際の標準偏差の分布は、式（数５）で示されたような指数分布に合致しておらず、正確な推定ができない。
例えば、図３（Ａ）は、実際の画像で各DCT係数の標準偏差の値を計測し、2次元周波数軸上で標準偏差の値を表示したものである。各棒グラフの長さが標準偏差の値に相当している。xy軸上で小さな値は低周波の係数であることを示している。
図３（Ｂ）は、図３（Ａ）のσ値に最も良く合致する式（数５）のパラメタを決定し、そのパラメタを元に標準偏差の値を推定した結果である。
図３に示すように、特に低周波の部分で誤差が大きくなっていることが分かる。
【００４６】
そこで、本実施形態における分布推定装置２は、上記問題点に鑑みて、既に標準偏差を推定できた係数値を元に、標準偏差を推定できない係数値の標準偏差を推定する場合に、（１）既出の行列Mのランクが3未満でも推定を可能とし、かつ、（２）より正確な推定を実現する。
【００４７】
［実施形態］
以下、本実施形態の分布推定装置２をより具体的に説明する。なお、以下、(x,y)成分の標準偏差をσ(x,y)と表記する。
本実施形態では、低周波成分であるσ(1,2)と、σ(2,1)を式（数６）に代入せずに、式（数６）の演算を行うものである。
ただし、このようにすると行列Mのランクが下がる虞があるため、ランクによっては、σ(1,2)と、σ(2,1)を式（数５）に代入してパラメタ推定を行う。
【００４８】
図４は、本実施形態のプローチャートである。
なお、図４において、「σ(x,y)→×」とは、σ(x,y)を式（数６）の計算に入れないことを意味する。また、「σ(x,y)→○」とは、σ(x,y)を式（数６）の計算に入れることを意味する。なお、特に記述が無い場合は、全てのσ(x,y)を式（数６）の計算に入れるものとする。
また、「max{A,B}→×」とは、A,Bのうち大きなほうを式（数６）の計算に入れないことを意味し、「max{A,B}→○」とは、A,Bのうち大きなほうを式（数６）の計算に入れることを意味する。同様に、「min{A,B}→×」とは、A,Bのうち小さなほうを式（数６）の計算に入れないことを意味し、「min{A,B}→○」とは、A,Bのうち小さなほうを式（数６）の計算に入れることを意味する。
また、「σ曲面の推定」とは、式（数６）の計算を示す。
【００４９】
図４に示すように、分布推定装置２は、まずσ(1,2)、σ(2,1)の両方を考慮から外す（Ｓ１００）。
次に、分布推定装置２は、ランクが3未満となる場合は（Ｓ１０２：Ｎｏ）、σ(1,2)、σ(2,1)の内、一つだけを式（数６）に復活させる（Ｓ１０４）。なお、どちらを復活させるかは任意であるが、本例では、先に、値が大きなほうを復活させる。
一方、分布推定装置２は、ランクが3以上となる場合は（Ｓ１０２：Ｙｅｓ）、Ｓ１１６の処理に移行する。
【００５０】
次に、分布推定装置２は、値が大きなほうのσ値を復活させてランクが３未満となる場合（Ｓ１０６：Ｎｏ）、値が大きなほうのσ値をはずして、値が小さなほうを復活させる（Ｓ１０８）。
一方、分布推定装置２は、値が大きなほうのσ値を復活させた結果、ランクが3以上となる場合は（Ｓ１０６：Ｙｅｓ）、Ｓ１１６の処理に移行する。
【００５１】
次に、分布推定装置２は、値が小さなほうのσ値だけを復活させてもランクが3未満となる場合（Ｓ１１０：Ｎｏ）、両方とも復活させる（Ｓ１１２）。
一方、分布推定装置２は、値が小さなほうのσ値だけを復活させた結果、ランクが3以上となる場合は（Ｓ１１０：Ｙｅｓ）、Ｓ１１６の処理に移行する。
【００５２】
次に、分布推定装置２は、両方のσ値を復活させても、依然としてランクが3未満である場合（Ｓ１１４：Ｎｏ）、後述する場合分け処理を行う（Ｓ１１８）。なお、この場合には、（状態１）σ(1,2)、σ(2,1)以外の係数が全て0である、又は、（状態２）非ゼロ係数がただ一つの行あるいは列上にのみ存在している、のいずれかに該当する。
一方、分布推定装置２は、両方のσ値を復活させた結果、ランクが3以上となる場合（Ｓ１１４：Ｙｅｓ）、Ｓ１１６の処理を行う。
【００５３】
Ｓ１１６では、分布推定装置２は、式（数６）を用いて、パラメタa,b,Cを算出する。
【００５４】
（場合分け処理）
次に、場合分け処理（Ｓ１１８）を説明する。
（１） σ(1,2)≠0、σ(2,1)≠0、その他のσ(i,j)=0である場合（場合１）
分布推定装置２は、予め、式（数５）のパラメタa,bのデフォルト値を設定しておき（本例では、デフォルト値a'を決めておく）、対称性を仮定して、Cの値を決定する。ただし、σ(1,2)、σ(2,1)の値として、α（ただし、αは１以下）倍したものを利用する。すなわち、分布推定装置２は、式（数５）を下記のように変更して、Ｃを計算する。
Cexp(-3a')=α(σ(1,2)+σ(2,1))/2
また、分布推定装置２は、このように算出されたＣを用いて、以下の式により、σ値を算出する。
σ(u,v)=Cexp(-a'u-a'v)
【００５５】
（２）σ(1,2)、σ(2,1)のうち、一つだけが非ゼロであり、かつ、他のσ(i,j)が全て0である場合
分布推定装置２は、予め定めておいた係数a,bを用いて、Cの値を決定する。ただし、σ(1,2)、あるいは、σ(2,1)の値として、α（ただし、αは１以下)倍したものを利用する。
分布推定装置２は、1次元的にCの値を決定し、対称となるように、他の行あるいは列の係数も決定する。すなわち、分布推定装置２は、Cexp(-3a')=ασ(1,2)、あるいは、Cexp(-3a')=ασ(2,1)を用いて、Cを求める。
分布推定装置２は、σ(u,v)=Cexp(-a'u-a'v)として、最終的に他の変換係数（ゼロ変換係数）の標準偏差を求める。
【００５６】
（３）非ゼロ係数がただ一つの行あるいは列上にのみ存在している場合
分布推定装置２は、σ(1,2)あるいはσ(2,1)以外に2個以上の非ゼロ係数があるときは、「σ(1,2)→×」あるいは「σ(2,1)→×」として、1次元的にCと、aあるいはｂの値を決定できる。分布推定装置２は、対称となるように、他の行あるいは列の係数も決定する。すなわち、分布推定装置２は、aが決定できた場合に、b=aとし、bが決定できた場合に、a=bとする。
例えば、非ゼロ行をiとする。σ(i,x1),σ(i,x2),,,σ(i,xn)が非ゼロであるとすると、分布推定装置２は、以下の式（数８）を解くことにより、パラメタa及びCを求めることができる。
【００５７】
【数８】
2006270737.tif 000009
【００５８】
上記は、非ゼロが行の場合であったが、非ゼロが列の場合も同様である。分布推定装置２は、最終的に以下の式で他の変換係数（ゼロ変換係数）の標準偏差を求める。
σ(u,v)=Cexp(-au-av)
【００５９】
（４）その他の場合
分布推定装置２は、ゼロ変換係数をゼロとして処理を終わる。
【００６０】
このように、本実施形態における分布推定装置２は、上記行列Mのランクが3未満であっても、ゼロ変換係数に対応するσ値（すなわち、量子化される前の元データの分布）を推定することができる。
また、本分布推定装置２は、より正確に、σ値（すなわち、量子化される前の元データの分布）を推定することができる。
【００６１】
［変形例１］
次に、上記実施形態の変形例を説明する。
上記実施形態では、二つの係数値σ(1,2)及びσ(2,1)を、式（数６）の計算に入れない例を示したが、計算に入れない係数値はこれに限らない。
そこで、第１の変形例における分布推定装置２は、図２に示されるように、係数(x,y)の集合の内、予め定められた集合Gに含まれているものに対しては、式（数６）の計算に入れないようにする。この場合、集合Gに含まれるものに対して、全部除いてもランクが3以上であれば、そのまま演算が可能である。また、ランクが3未満の場合は、上記実施形態と同様に、一つずつ式（数６）の計算に復活させるようにして、ランクが3以上になるようにすればよい。
なお、集合Gとは、例えば、G=｛(x,y)｜(1,2),(2,1),(2,2),(1,3),(3,1),(3,2),(2,3)}のように定めればよい。
【００６２】
図５は、第１の変形例におけるフローチャートである。
なお、図５のフローチャート中で、「集合Gの内、i個を計算に入れる」の処理が、一つのステップで示されているが、これは、集合Gのうち、i個を取り出す全ての場合を全て尽くすように試行を繰り返してもよい。また、本図に示されたＳ１１８は、図４に示されたものと実質的に同一の処理である。
【００６３】
図５に示すように、分布推定装置２は、集合Ｇに属するσ値を考慮から外す（Ｓ２００）。
次に、分布推定装置２は、ランクが3未満となる場合は（Ｓ２０２：Ｎｏ）、i=1として（Ｓ２０４）、集合Ｇに属するσ値の内、i個のσ値を式（数６）に復活させる（Ｓ２０６）。なお、本例の分布推定装置２は、既定の優先順位に従って、集合Ｇに属するi個のσ値を選択し、選択されたσ値を復活させるが、上記のように、集合Gのうち、i個を取り出す全ての場合を全て尽くすように試行を繰り返してもよい。
一方、分布推定装置２は、ランクが3以上となる場合は（Ｓ２０２：Ｙｅｓ）、Ｓ２１４の処理に移行する。
【００６４】
次に、分布推定装置２は、i個のσ値を復活させてもランクが３未満となる場合（Ｓ２０８：Ｎｏ）、i値を１つインクリメントする（Ｓ２１０）。
一方、分布推定装置２は、i個のσ値を復活させた結果、ランクが3以上となる場合は（Ｓ２０８：Ｙｅｓ）、Ｓ２１４の処理に移行する。
【００６５】
次に、分布推定装置２は、i値が集合Ｇに属するσ値の数を超える場合に、Ｓ１１８の処理に移行し、これ以外の場合に、Ｓ２０６の処理に戻る。
【００６６】
Ｓ２１４では、分布推定装置２は、式（数６）を用いて、パラメタa,b,Cを算出する。
【００６７】
以上のように、演算を行った場合の正確性に関して、以下に数値を述べる。
（本変形例の結果の平均誤差）/（σ(1,2)とσ(2,1)を入れて推定を行った場合の平均誤差）を計算した。上記比は、0.849であった。
これより、約15％の性能向上が図れることが分かる。
【００６８】
［変形例２］
上記実施形態では、一部のσ(x,y)を完全に計算に入れないようにしていたが、第２の変形例では、ある係数をかけることによって、完全に計算に入れる場合と完全に計算に入れない場合の中間の特性を持たせるものである。換言すると、本変形例の分布推定装置２は、一部のσ値に重み付け係数αをかけることにより、分布推定における一部のσ値の寄与率を下げる。
例えば、係数α(0<α<1)を用意し、分布推定装置２は、σ(1,2)及びσ(2,1)に対して、係数αを乗じて、係数αを乗じたσ(1,2)及びσ(2,1)と、そのσ値とを用いて、パラメタa,b,Cを算出する。すなわち、
σ'(1,2)=α×σ(1,2)
σ'(2,1)=α×σ(2,1)
となる。分布推定装置２は、σ(1,2)とσ(2,1)の代わりにσ'(1,2)とσ'(2,1)を用いて行列Mを作って、他のゼロ係数のσを求める。
【００６９】
ここで、上記実施形態では、σ推定関数は、指数分布を仮定しているため、x,yに関して単調減少であることが望ましい。そこで、本変形例の分布推定装置２は、
σ'(1,2)>σ(1,3)
σ'(1,2)>σ(2,2)
σ'(1,2)>σ(2,3)
σ'(2,1)>σ(3,1)
σ'(2,1)>σ(2,2)
σ'(2,1)>σ(3,2)
であるかどうかをチェックして、係数αを乗じた後のσ値（σ'）と、他のσ値とが単調に減少するように係数αの値を調整する。
すなわち、分布推定装置２は、上記の式が成り立たない場合は、αを乗算せずに演算を行う。
【００７０】
［第２実施形態］
次に、上記第１の実施形態で説明した分布推定方法を、復号化処理に適用する形態を、第２の実施形態として説明する。
本実施形態では、ＪＰＥＧ方式により符号化された符号データを復号化する場合を具体例として説明する。
【００７１】
［復号化プログラム］
図７は、本発明にかかる分布推定方法が適用される復号化プログラム５の機能構成を例示する図である。
図７に例示するように、復号化プログラム５は、エントロピ復号部４０、逆量子化部５０及び逆変換部６０を有する。
また、逆量子化部５０は、逆量子化値推定部５００、分布推定部５２０、期待値推定部５４０、乱数発生部５６０、補正部５８０及び逆量子化値出力部５９０を含む。
【００７２】
復号化プログラム５において、エントロピ復号部４０は、入力された符号データを、エントロピ復号化して、逆量子化部５０に出力する。
本例のエントロピ復号部４０は、入力された符号データを復号化して、量子化インデクスＱを生成し、生成された量子化インデクスを逆量子化部５０に出力する。
【００７３】
逆量子化部５０は、エントロピ復号部４０から入力された量子化インデスクに基づいて、逆量子化値を生成し、生成された逆量子化値を逆変換部６０に出力する。
【００７４】
逆変換部６０は、逆量子化部５０から入力された逆量子化値に基づいて、逆変換処理を行い、復号画像を生成する。
【００７５】
逆量子化部５０において、逆量子化値推定部５００は、エントロピ復号部４０から入力された量子化インデクスに基づいて、逆量子化値を推定し、推定した逆量子化値を補正部５８０に出力する。すなわち、逆量子化値推定部５００は、１つの量子化インデクス値に対して、常に単一の逆量子化値を生成するのではなく、１つの量子化インデクス値に対して、互いに異なる複数の逆量子化値を生成しうる。換言すると、逆量子化値推定部５００は、それぞれの量子化インデクスに対して、１つの逆量子化値を生成するが、入力される量子化インデクスの値が同一であったとしても、必ずしも同一の逆量子化値を生成するわけではない。
本例の逆量子化値推定部５００は、注目ブロックの量子化インデクスと、注目ブロックの周囲にあるブロックの量子化インデクス（同じ変換係数種類ｃのものに限る）とに基づいて、注目ブロックの量子化インデクスに対応する逆量子化値Ｒの補正係数αを算出し、算出された補正係数αを補正部５８０に出力する。
なお、以下の説明において、各変換係数種類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)
【００８２】
すなわち、本例の復号化プログラム５は、乱数発生部５６０により発生させた乱数を逆量子化値そのものとして適用するのではなく、乱数発生部５６０により発生させた乱数を逆量子化値の補正係数αとして適用する。
【００８３】
［分布推定部］
図７は、分布推定部５２０（図６）をより詳細に説明する図である。
図７に例示するように、分布推定部５２０は、ゼロ判定部５２２、非ゼロ変換係数分布推定部５２４及びゼロ変換係数分布推定部５２６を含む。なお、非ゼロ変換係数分布推定部５２４が上記第1の実施形態の分布推定装置２の機能を有する。
分布推定部５２０において、ゼロ判定部５２２は、エントロピ復号部４０から入力された量子化インデクスを、この量子化インデスクに対応する元データの属性（例えば、変換係数の種類）に応じて分類し、それぞれの属性に分類された量子化インデクス群のみで元データの頻度分布が推定可能であるか否か（換言すると、他の属性に分類された量子化インデクス群との相関を利用して頻度分布を推定する必要があるか否か）を判定する。
本例のゼロ判定部５２２は、エントロピ復号部４０から入力される量子化インデクスが、ゼロ変換係数に相当するか非ゼロ変換係数に相当するかを判定し、非ゼロ変換係数に相当すると判定された量子化インデクスを非ゼロ変換係数分布推定部５２４に出力し、ゼロ変換係数に相当すると判定された量子化インデクスについては、非ゼロ変換係数の分布を用いた分布推定処理を行うようゼロ変換係数分布推定部５２６に指示する。
ここで、非ゼロ変換係数とは、ある変換係数種類cの量子化インデクスのいずれかが０ではない変換係数である。また、ゼロ変換係数とは、ある変換係数種類cの全ての量子化インデクスが０である変換係数である。換言すると、ゼロ変換係数ではない変換係数が、非ゼロ変換係数である。
【００８４】
非ゼロ変換係数分布推定部５２４は、ゼロ判定部５２２から入力された量子化インデクスに基づいて、元データ（本例では、変換係数）の頻度分布を推定する。
より具体的には、非ゼロ変換係数分布推定部５２４は、同一の属性を有する量子化インデクス群（本例では、同一の変換係数ｃに対応する複数の量子化インデクス）の頻度分布を生成し、生成された量子化インデクスの頻度分布に基づいて、量子化インデクスの確率密度関数を作成する。この確率密度関数は、変換係数の確率密度関数と近似するものとして適用される。
【００８５】
本例の非ゼロ変換係数分布推定部５２４は、ゼロ判定部５２２から入力された量子化インデクス（非ゼロ変換係数に対応する量子化インデクス）Q(c,i,j)のヒストグラムhc(q)を、各変換係数種類cごとに作成する。
例えば、非ゼロ変換係数分布推定部５２４は、量子化インデクスQ(c,i,j)の値がqである場合に、ht(c,q,i,j)=1、上記以外の場合に、ht(c,q,i,j)=0となる関数を定義して、ヒストグラムhc(q)を作成する。
【００８６】
次に、本例の非ゼロ変換係数分布推定部５２４は、作成されたヒストグラムhc(q)をラプラス分布で近似し、このラプラス関数を変換係数Ｔの分布関数とする。
ラプラス分布の式は以下で表すことができる。
【００８７】
【数９】
2006270737.tif 000010
【００８８】
非ゼロ変換係数分布推定部５２４は、上式のσを算出することにより、変換係数Ｔの分布関数を得ることができる。
まず、非ゼロ変換係数分布推定部５２４は、作成されたヒストグラムhc(q)を量子化区間の幅Ｄ（ｃ）及び量子化インデクスの総数で正規化して、確率密度関数fhc(x)に変換する。具体的には、以下の式により、非ゼロ変換係数分布推定部５２４は、ヒストグラムhc(q)を確率密度関数fhc(x)に変換する。
【００８９】
【数１０】
2006270737.tif 000011
【００９０】
ただし、(q-0.5)×D(c)<x≦(q+0.5)×D(c)
次に、非ゼロ変換係数分布推定部５２４は、ヒストグラムhc(q)を近似するラプラス関数を算出する。
図８は、ヒストグラムｈと分布関数Ｌ（ラプラス関数）とを例示する図である。
非ゼロ変換係数分布推定部５２４は、図８に例示されるように、ラプラス関数L(x)とヒストグラムfhc(x)の違い（本例では、面積差）ができるだけ小さくなるようなσを求めればよい。
上記の「違いができるだけ小さくなる」ことを評価する関数として、以下の誤差関数Err(σ)を定義する。
【００９１】
【数１１】
2006270737.tif 000012
【００９２】
この誤差関数Errは、各量子化インデクスq毎に求めた確率密度関数の面積の差分の絶対値を加算したものである。Err(σ)の値が小さいほど、ヒストグラムfhc(x)とラプラス関数L(x)は似ているといえる。非ゼロ変換係数分布推定部５２４は、上記誤差関数Err(σ)を最小にするようなσを数値計算を行って求めればよい。
【００９３】
ゼロ変換係数分布推定部５２６は、ゼロ判定部５２２からの指示に応じて、非ゼロ変換係数分布推定部５２４により推定された他の変換係数（非ゼロ変換係数）の頻度分布に基づいて、ゼロ変換係数の頻度分布を推定する。
すなわち、非ゼロ変換係数分布推定部５２４は、ヒストグラムが意味のある形状を持つ場合にのみ分布の推定が可能であるが、全ての頻度値が０となるヒストグラムが作成される場合には、分布の形状を推定することができない。
そこで、ゼロ変換係数分布推定部５２６は、以下の手法を用いて、既に求めた他の分布データ（本例では、σ値）を用いて、変換係数種類cの全ての量子化インデクスが０となる場合のラプラス分布の形状を推定する。
【００９４】
なお、本例では、ＪＰＥＧ方式の復号処理を具体例として説明しているため、各変換係数種類は、８×８の２次元行列に配置される。
ここで、σ値が、図２（Ａ）に例示するように、ＤＣＴ係数の(1,1)成分から(8、8)成分に対応付けられて、２次元的に配置されるとする。すなわち、(x,y)成分の変換係数に対応するσ値を、σ(x,y)として表現する。
例えば、σ(1,1)は、DC成分のσ値であり、σ(8,8)は、最も高域のAC成分を示す変換係数のσ値である。ただし、本例の非ゼロ変換係数分布推定部５２４及びゼロ変換係数分布推定部５２６は、DC成分に対応するσ値をラプラス分布で近似できないため、σ値の推定に用いない。
【００９５】
本例では、σ(x,y)を、xy平面上の関数であると考える。ゼロ変換係数分布推定部５２６は、既に求めることのできたσ値（すなわち、非ゼロ変換係数分布推定部５２４により算出されたσ値）を用いて、この関数σ(x,y)を決定し、ゼロ変換係数に相当するσ値を推定する。
具体的には、ゼロ変換係数分布推定部５２６は、上記第1の実施形態又はその変形例で説明した分布推定方法を適用して、関数σ(x,y)を特定して、ゼロ変換係数に相当するσ値を算出する。
【００９６】
［全体動作］
次に、復号化装置３（復号化プログラム５）の全体動作を説明する。
図９は、復号化プログラム５（図４）による復号化処理（Ｓ３０）のフローチャートである。なお、本例では、画像データの符号データ（ＪＰＥＧ方式）が入力される場合を具体例として説明する。
図９に示すように、ステップ３００（Ｓ３００）において、エントロピ復号部４０（図６）は、入力された符号データを復号化して、各ブロック（８×８ブロック）の量子化インデクスを生成し、生成された各ブロックの量子化インデクスを逆量子化部５０に出力する。
【００９７】
ステップ３０５（Ｓ３０５）において、分布推定部５２０は、エントロピ復号部５００から入力された複数の量子化インデクスに基づいて、変換係数Ｔの分布を変換係数種類毎に推定する。
具体的には、分布推定部５２０に設けられたゼロ判定部５２２（図７）は、エントロピ復号部４０から１ページ分の画像に相当する量子化インデクスが入力されると、入力された量子化インデスクを変換係数の種類ｃで分類し、分類された量子化インデクス群がゼロ変換係数に相当するか非ゼロ変換係数に相当するかを判定する。
非ゼロ変換係数分布推定部５２４（図７）は、非ゼロ変換係数に相当する量子化インデクス群それぞれについて、量子化インデクス値のヒストグラムhc(q)（すなわち、各変換係数種類cごとのヒストグラム）を作成し、このヒストグラムhc(q)を近似するラプラス関数Ｌ（すなわち、σ値）を算出する。
また、ゼロ変換係数分布推定部５２６（図７）は、図４又は図５に示された推定処理（Ｓ１０又はＳ２０）により、非ゼロ変換係数分布推定部５２４により算出された頻度分布を用いて、ゼロ変換係数の頻度分布（すなわち、σ値）を推定する。
【００９８】
ステップ３１０（Ｓ３１０）において、逆量子化部５０（図６）は、入力された量子化インデクスを順に、注目量子化インデクスに設定する。
逆量子化値推定部５００（図６）は、注目量子化インデクスQ(c,i,j)の周囲量子化インデクスQ(c,i+m,j+n)を抽出する（本例では、-1≦m≦1,-1≦n≦1）。なお、抽出される周囲量子化インデクスは、注目ブロックを中心とした３×３個のブロックにおける、同一の変換係数種類ｃに対応する量子化インデクス値であり、３×３の行列となる。
【００９９】
ステップ３１５（Ｓ３１５）において、逆量子化値推定部５００は、抽出された周囲量子化インデクスと、注目量子化インデクスとを用いて、以下の演算を行い、差分行列Ｐを作成する。
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)を補正部５８０に出力する。
【０１０７】
ステップ３４５（Ｓ３４５）において、補正部５８０は、逆量子化値推定部５００により算出された補正係数αを、変換係数種類毎及び量子化インデクス毎に分類し、分類された補正係数αの最小値、最大値及び平均値を算出する。
補正部５８０は、次に、期待値推定部５４０から入力された期待値E(αTcq)と、算出された平均値とを、変換係数種類と量子化インデクスとの組合せ毎に比較して、これらが一致するように、変換係数種類及び量子化インデクスの組合せで分類された補正係数αycq群をシフトする（シフト補正）。
さらに、補正部５８０は、シフト補正がなされた補正係数α群が−０．５〜０．５の範囲におさまっているか否かを判定し、おさまっていない場合に、補正係数αycq群の平均値を変更せずに、補正係数αycq群の範囲を−０．５〜０．５の範囲におさめる範囲補正を行う。
【０１０８】
ステップ３５０（Ｓ３５０）において、逆量子化値出力部５９０（図６）は、注目量子化インデクスＱと、補正部５８０から入力された補正係数α又は乱数発生部５６０から入力された補正係数αとに基づいて、適用すべき逆量子化値Ｒｙを算出し、算出された逆量子化値Ｒｙを逆変換部６０に出力する。
具体的には、本例の逆量子化値出力部５９０は、以下の演算を行って逆量子化値Ｒｙを算出する。
Ry(c,i,j)={Q(c,i,j)+α(c,i,j)}×D(c)
【０１０９】
ステップ３５５（Ｓ３５５）において、逆変換部６０（図６）は、逆量子化部５０から入力された逆量子化値（近似的な変換係数）を用いて、逆変換処理（本例では逆ＤＣＴ変換）を行って、復号画像Ｈを生成する。
【０１１０】
以上説明したように、本実施形態における復号化装置３は、量子化インデクスに基づいて、変換係数の分布を推定し、推定された分布に合致した乱数を発生させて、この乱数に基づいて逆量子化値を生成する。
また、本実施形態における復号化装置３は、量子化インデクスに基づいて推定された変換係数の分布（期待値）と、適用される逆量子化値の頻度分布とを略一致するように、逆量子化値を補正する。
これにより、より再現性の高い復号画像が期待できる。
【０１１１】
［ハードウェア構成］
次に、上記第１の実施形態の分布推定装置２及び第２の実施形態の復号化装置３のハードウェア構成を説明する。
図１０は、本発明にかかる分布推定方法が適応される分布推定装置２及び復号化装置３のハードウェア構成を、制御装置２０を中心に例示する図である。
図１０に例示するように、分布推定装置２及び復号化装置３は、ＣＰＵ２０２及びメモリ２０４などを含む制御装置２０、通信装置２２、ＨＤＤ・ＣＤ装置などの記録装置２４、並びに、ＬＣＤ表示装置あるいはＣＲＴ表示装置及びキーボード・タッチパネルなどを含むユーザインターフェース装置（ＵＩ装置）２６から構成される。
また、復号化装置３は、例えば、上記復号化プログラム５がインストールされた汎用コンピュータであり、通信装置２２又は記録装置２４などを介して符号データを取得し、取得された符号データを復号化して出力する。
【図面の簡単な説明】
【０１１２】
【図１】変換符号化方式における量子化処理を説明する図である。
【図２】分布推定処理の概略を説明する図である。
【図３】σ値の分布を例示する図である。
【図４】第１の実施形態における分布推定処理のフローチャートである。
【図５】変形例における分布推定処理のフローチャートである。
【図６】本発明にかかる分布推定方法が適用される復号化プログラム５の機能構成を例示する図である。
【図７】分布推定部５２０（図６）をより詳細に説明する図である。
【図８】非ゼロ変換係数分布推定部５２４による分布推定処理を説明する図である。
【図９】復号化プログラム５（図６）による復号化処理のフローチャートである。
【図１０】分布推定装置２及び復号化装置３のハードウェア構成図である。
【符号の説明】
【０１１３】
２・・・分布推定装置
３・・・復号化装置
５・・・復号化プログラム
４０・・・エントロピ復号部
５０・・・逆量子化部
５００・・・逆量子化値推定部
５２０・・・分布推定部
５２２・・・ゼロ判定部
５２４・・・非ゼロ変換係数分布推定部
５２６・・・ゼロ変換係数分布推定部
５４０・・・期待値推定部
５６０・・・乱数発生部
５８０・・・補正部
５９０・・・逆量子化値出力部
６０・・・逆変換部
【図１】
2006270737.tif 000013
【図２】
2006270737.tif 000014
【図３】
2006270737.tif 000015
【図４】
2006270737.tif 000016
【図５】
2006270737.tif 000017
【図６】
2006270737.tif 000018
【図７】
2006270737.tif 000019
【図８】
2006270737.tif 000020
【図９】
2006270737.tif 000021
【図１０】
2006270737.tif 000022