(57)【要約】【課題】  Ｃｏｍｐａｎｄｉｎｇ関数と積符号の組合せによる歪みあり符号化を用いることで、ベクトル量子化における計算量上の課題を解決する。【解決手段】  変換器ψ１１は、ｎ次元入力ベクトルの情報源ｘから関数ψにより特徴ベクトルｙ＝［ｙ１，・・・，ｙｍ］を生成する。量子化器１２−１〜１２−ｍは、特徴ベクトルの各成分ｙ１〜ｙｍをそれぞれスカラー量子関数Γ１〜Γｍにより、離散化された圧縮ベクトルｙ＝［ｙ＾１，・・・，ｙ＾ｍ］を生成する。逆変換器φ１３は、圧縮ベクトルｙ＾から、関数φにより復号ベクトルｘ＾を生成する。変換器ψ１１と逆変換器φ１３は、それぞれパラメタライズされており、最も良い圧縮パフォーマンスが発揮できるように適応的に調整される。また、量子化器１２−１〜１２−ｍの量子化数が最適化される。【選択図】  図１
2005196040.tif 000002
【特許請求の範囲】
【請求項１】
パラメータθαを含み、ｎ次元ベクトルからｍ次元ベクトルへの写像を定めた変換関数ψにより、入力ベクトルを特徴ベクトルに変換する変換器と、
特徴ベクトルの第ｉ次元（ｉ＝１，・・・，ｍ）について、量子化数ａｉを用いて一様量子化するスカラー量子化関数Γｉにより、ｍ次元の特徴ベクトルをｍ次元の圧縮ベクトルに量子化する量子化器と、
パラメータθβを含み、ｍ次元ベクトルからｎ次元ベクトルへの写像を定めた逆変換関数φにより、圧縮ベクトルを復号ベクトルに逆変換する逆変換器と、
を備えた歪あり符号化装置を用いた歪みあり符号化方法であって、
変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φを定める構造決定ステップと、
パラメータθα及びθβ、量子化数ａ１，・・・，ａｍを初期設定する初期化ステップと、
現在のパラメータθα及びθβと量子化数ａ１，・・・，ａｍを用いて圧縮したい元の入力ベクトルから変換関数ψによって変換した特徴ベクトルを求め、特徴ベクトルをその次元ごとにスカラー量子化関数Γｉによって量子化した圧縮ベクトルを求め、さらに、圧縮ベクトルから逆変換関数φによって逆変換した復号ベクトルを求め、入力ベクトルと復号ベクトルとの間の歪みの期待値又は平均値に対応する項を含む第１のコスト関数を最小化するように、最適なパラメータθα及びθβを求める第１の学習ステップと、
前記第１の学習ステップにより求められたパラメータθα及びθβ、前記初期化ステップにより設定された量子化数ａ１，・・・，ａｍにより、それぞれ、変換関数ψ、逆変換関数φ、スカラー量子化関数Γｉを決定するステップと、
を含む歪みあり符号化方法。
【請求項２】
パラメータθαを含み、ｎ次元ベクトルからｍ次元ベクトルへの写像を定めた変換関数ψにより、入力ベクトルを特徴ベクトルに変換する変換器と、
特徴ベクトルの第ｉ次元（ｉ＝１，・・・，ｍ）について、量子化数ａｉを用いて一様量子化するスカラー量子化関数Γｉにより、ｍ次元の特徴ベクトルをｍ次元の圧縮ベクトルに量子化する量子化器と、
パラメータθβを含み、ｍ次元ベクトルからｎ次元ベクトルへの写像を定めた逆変換関数φにより、圧縮ベクトルを復号ベクトルに逆変換する逆変換器と、
を備えた歪あり符号化装置を用いた歪みあり符号化方法であって、
変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φを定める構造決定ステップと、
パラメータθα及びθβ、量子化数ａ１，・・・，ａｍを初期設定する初期化ステップと、
現在のパラメータθα及びθβと量子化数ａ１，・・・，ａｍを用いて圧縮したい元の入力ベクトルから変換関数ψによって変換した特徴ベクトルを求め、特徴ベクトルをその次元ごとにスカラー量子化関数Γｉによって量子化した圧縮ベクトルを求め、さらに、圧縮ベクトルから逆変換関数φによって逆変換した復号ベクトルを求め、入力ベクトルと復号ベクトルとの間の歪みの期待値又は平均値に対応する項を含む第１のコスト関数を最小化するように、最適なパラメータθα及びθβを求める第１の学習ステップと、
符号長に対応する項と歪みの期待値又は平均値に対応する項との重み付け加算値を含む第２のコスト関数を減らすように、特徴ベクトルの第ｉ次元についての最適な量子化数ａｉを求める第２の学習ステップと、
前記第１の学習ステップにより求められたパラメータθα及びθβに加えて、前記第２の学習ステップにより求められた量子化数ａ１，・・・，ａｍにより、それぞれ、変換関数ψ、逆変換関数φ、スカラー量子化関数Γｉを決定するステップと、
を含む歪みあり符号化方法。
【請求項３】
更新した量子化数ａ１，・・・，ａｍを用いて、前記第１の学習ステップによりパラメータθα及びθβを更新し、さらに、前記第２の学習ステップにより量子化数ａ１，・・・，ａｍをさらに更新することを、収束するまで繰り返すステップをさらに含む請求項２に記載の歪みあり符号化方法。
【請求項４】
前記第２の学習ステップにおいて、特徴ベクトルの第ｉ次元についての量子化数ａｉを減少又は増加させる局所的増減によって、最適な量子化数ａｉを求める、請求項２に記載の歪みあり符号化方法。
【請求項５】
前記第１のコスト関数は、次の（２）式である、請求項１又は２に記載の歪みあり符号化方法。
【数１】
2005196040.tif 000047
【請求項６】
前記第１の学習ステップは、最急勾配法又はニュートン法の最適化手法によってパラメータθα，θβを更新し、収束に近づくまで適当回繰り返す、請求項１又は２に記載の歪みあり符号化方法。
【請求項７】
前記第２のコスト関数は、次の（１１）式である、請求項２に記載の歪みあり符号化方法。
【数２】
2005196040.tif 000048
【請求項８】
前記変換関数ψ及び／又は前記逆変換関数φは、値域内で単調増加する関数である、請求項１又は２に記載の歪みあり符号化方法。
【請求項９】
前記変換関数ψ及び／又は前記逆変換関数φは、値域があらかじめ決められた範囲である後段の関数と、値域の条件のない前段の関数による階層化された関数である、請求項１又は２に記載の歪みあり符号化方法。
【請求項１０】
前記変換関数ψによる入力ベクトルの変換と、前記逆変換関数φによる圧縮ベクトルの逆変換が、互いに逆写像になる、請求項１又は２に記載の歪みあり符号化方法。
【請求項１１】
前記変換関数ψによる入力ベクトルの変換、及び／又は、前記逆変換関数φによる圧縮ベクトルの逆変換が、線形写像と非線形写像の組合せで構成されている、請求項１又は２に記載の歪みあり符号化方法。
【請求項１２】
パラメータθαを含み、ｎ次元ベクトルからｍ次元ベクトルへの写像を定めた変換関数ψにより、入力ベクトルを特徴ベクトルに変換する変換器と、
特徴ベクトルの第ｉ次元（ｉ＝１，・・・，ｍ）について、量子化数ａｉを用いて一様量子化するスカラー量子化関数Γｉにより、ｍ次元の特徴ベクトルをｍ次元の圧縮ベクトルに量子化する量子化器と、
パラメータθβを含み、ｍ次元ベクトルからｎ次元ベクトルへの写像を定めた逆変換関数φにより、圧縮ベクトルを復号ベクトルに逆変換する逆変換器と、
前記変換器の変換関数ψ、前記量子化器のスカラー量子化関数Γｉ、前記逆変換器の逆変換関数φを決定するための処理部と、
を備え、
前記処理部は、
変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φを定める構造決定手段と
パラメータθα及びθβ、量子化数ａ１，・・・，ａｍを初期設定する初期化手段と、
現在のパラメータθα及びθβと量子化数ａ１，・・・，ａｍを用いて圧縮したい元の入力ベクトルから変換関数ψによって変換した特徴ベクトルを求め、特徴ベクトルをその次元ごとにスカラー量子化関数Γｉによって量子化した圧縮ベクトルを求め、さらに、圧縮ベクトルから逆変換関数φによって逆変換した復号ベクトルを求め、入力ベクトルと復号ベクトルとの間の歪みの期待値又は平均値に対応する項を含む第１のコスト関数を最小化するように、最適なパラメータθα及びθβを求める第１の学習手段と、
前記第１の学習手段により求められたパラメータθα及びθβ、前記初期化手段により設定された量子化数ａ１，・・・，ａｍにより、それぞれ、変換関数ψ、逆変換関数φ、スカラー量子化関数Γｉを決定する手段と、
を有する歪みあり符号化装置。
【請求項１３】
パラメータθαを含み、ｎ次元ベクトルからｍ次元ベクトルへの写像を定めた変換関数ψにより、入力ベクトルを特徴ベクトルに変換する変換器と、
特徴ベクトルの第ｉ次元（ｉ＝１，・・・，ｍ）について、量子化数ａｉを用いて一様量子化するスカラー量子化関数Γｉにより、ｍ次元の特徴ベクトルをｍ次元の圧縮ベクトルに量子化する量子化器と、
パラメータθβを含み、ｍ次元ベクトルからｎ次元ベクトルへの写像を定めた逆変換関数φにより、圧縮ベクトルを復号ベクトルに逆変換する逆変換器と、
前記変換器の変換関数ψ、前記量子化器のスカラー量子化関数Γｉ、前記逆変換器の逆変換関数φを決定するための処理部と、
を備え、
前記処理部は、
変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φを定める構造決定手段と
パラメータθα及びθβ、量子化数ａ１，・・・，ａｍを初期設定する初期化手段と、
現在のパラメータθα及びθβと量子化数ａ１，・・・，ａｍを用いて圧縮したい元の入力ベクトルから変換関数ψによって変換した特徴ベクトルを求め、特徴ベクトルをその次元ごとにスカラー量子化関数Γｉによって量子化した圧縮ベクトルを求め、さらに、圧縮ベクトルから逆変換関数φによって逆変換した復号ベクトルを求め、入力ベクトルと復号ベクトルとの間の歪みの期待値又は平均値に対応する項を含む第１のコスト関数を最小化するように、最適なパラメータθα及びθβを求める第１の学習手段と、
符号長に対応する項と歪みの期待値又は平均値に対応する項との重み付け加算値を含む第２のコスト関数を減らすように、特徴ベクトルの第ｉ次元についての最適な量子化数ａｉを求める第２の学習手段と、
前記第１の学習手段により求められたパラメータθα及びθβに加えて、前記第２の学習手段により求められた量子化数ａ１，・・・，ａｍにより、それぞれ、変換関数ψ、逆変換関数φ、スカラー量子化関数Γｉを決定する手段と、
を有する歪あり符号化装置。
【請求項１４】
前記処理部は、パラメータθα及びθα、量子化数ａｉを含む情報を出力し、パラメータθαを含む変換関数ψにより前記変換器を設定し、パラメータθβを含む逆変換関数φにより前記逆変換器を設定し、量子化数ａｉを含むスカラー量子化関数Γｉにより前記量子化器を設定する手段をさらに備えた請求項１２又は１３に記載の歪みあり符号化装置。
【請求項１５】
パラメータθαを含み、ｎ次元ベクトルからｍ次元ベクトルへの写像を定めた変換関数ψにより、入力ベクトルを特徴ベクトルに変換する変換器と、
特徴ベクトルの第ｉ次元（ｉ＝１，・・・，ｍ）について、量子化数ａｉを用いて一様量子化するスカラー量子化関数Γｉにより、ｍ次元の特徴ベクトルをｍ次元の圧縮ベクトルに量子化する量子化器と、
パラメータθβを含み、ｍ次元ベクトルからｎ次元ベクトルへの写像を定めた逆変換関数φにより、圧縮ベクトルを復号ベクトルに逆変換する逆変換器と、
前記変換器の変換関数ψ、前記量子化器のスカラー量子化関数Γｉ、前記逆変換器の逆変換関数φを決定するための処理部と、
を備えた歪みあり符号化装置を用いて、歪みあり符号化処理をコンピュータに実行させるための歪みあり符号化プログラムであって、
前記処理部は、入力部から入力又は記憶部から読み出すことにより、変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φを定める構造決定ステップと、
前記処理部は、入力部から入力又は記憶部から読み出すことにより、パラメータθα及びθβ、量子化数ａ１，・・・，ａｍを初期設定する初期化ステップと、
前記処理部は、現在のパラメータθα及びθβと量子化数ａ１，・・・，ａｍを用いて圧縮したい元の入力ベクトルから変換関数ψによって変換した特徴ベクトルを求め、特徴ベクトルをスカラー量子化関数Γｉによって量子化した圧縮ベクトルを求め、さらに、圧縮ベクトルから逆変換関数φによって逆変換した復号ベクトルを求め、入力ベクトルと復号ベクトルとの間の歪みの期待値又は平均値に対応する項を含む第１のコスト関数を最小化するように、最適なパラメータθα及びθβを求め、それらパラメータを記憶部に記憶する第１の学習ステップと、
前記処理部は、前記第１の学習ステップにより求められたパラメータθα及びθβ、前記初期化ステップにより設定された量子化数ａ１，・・・，ａｍを記憶部から読み出し、パラメータθα及びθβ、量子化数ａ１，・・・，ａｍにより、それぞれ、変換関数ψ、逆変換関数φ、スカラー量子化関数Γｉを決定するステップと、
をコンピュータに実行させるための歪みあり符号化プログラム。
【請求項１６】
パラメータθαを含み、ｎ次元ベクトルからｍ次元ベクトルへの写像を定めた変換関数ψにより、入力ベクトルを特徴ベクトルに変換する変換器と、
特徴ベクトルの第ｉ次元（ｉ＝１，・・・，ｍ）について、量子化数ａｉを用いて一様量子化するスカラー量子化関数Γｉにより、ｍ次元の特徴ベクトルをｍ次元の圧縮ベクトルに量子化する量子化器と、
パラメータθβを含み、ｍ次元ベクトルからｎ次元ベクトルへの写像を定めた逆変換関数φにより、圧縮ベクトルを復号ベクトルに逆変換する逆変換器と、
前記変換器の変換関数ψ、前記量子化器のスカラー量子化関数Γｉ、前記逆変換器の逆変換関数φを決定するための処理部と、
を備えた歪みあり符号化装置を用いて、歪みあり符号化処理をコンピュータに実行させるための歪みあり符号化プログラムであって、
前記処理部は、入力部から入力又は記憶部から読み出すことにより、変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φを定める構造決定ステップと、
前記処理部は、入力部から入力又は記憶部から読み出すことにより、パラメータθα及びθβ、量子化数ａ１，・・・，ａｍを初期設定する初期化ステップと、
前記処理部は、現在のパラメータθα及びθβと量子化数ａ１，・・・，ａｍを用いて圧縮したい元の入力ベクトルから変換関数ψによって変換した特徴ベクトルを求め、特徴ベクトルをスカラー量子化関数Γｉによって量子化した圧縮ベクトルを求め、さらに、圧縮ベクトルから逆変換関数φによって逆変換した復号ベクトルを求め、入力ベクトルと復号ベクトルとの間の歪みの期待値又は平均値に対応する項を含む第１のコスト関数を最小化するように、最適なパラメータθα及びθβを求め、それらパラメータを記憶部に記憶する第１の学習ステップと、
前記処理部は、符号長に対応する項と歪みの期待値又は平均値に対応する項との重み付け加算値を含む第２のコスト関数を減らすように、特徴ベクトルの第ｉ次元についての最適な量子化数ａｉを求め、それら量子化数を記憶部に記憶する第２の学習ステップと、
前記処理部は、前記第１の学習ステップにより求められたパラメータθα及びθβと、前記第２の学習ステップにより求められた量子化数ａ１，・・・，ａｍを記憶部から読み出し、パラメータθα及びθβに加えて量子化数ａ１，・・・，ａｍにより、それぞれ、変換関数ψ、逆変換関数φ、スカラー量子化関数Γｉを決定するステップと、
をコンピュータに実行させるための歪あり符号化プログラム。
【請求項１７】
パラメータθαを含み、ｎ次元ベクトルからｍ次元ベクトルへの写像を定めた変換関数ψにより、入力ベクトルを特徴ベクトルに変換する変換器と、
特徴ベクトルの第ｉ次元（ｉ＝１，・・・，ｍ）について、量子化数ａｉを用いて一様量子化するスカラー量子化関数Γｉにより、ｍ次元の特徴ベクトルをｍ次元の圧縮ベクトルに量子化する量子化器と、
パラメータθβを含み、ｍ次元ベクトルからｎ次元ベクトルへの写像を定めた逆変換関数φにより、圧縮ベクトルを復号ベクトルに逆変換する逆変換器と、
前記変換器の変換関数ψ、前記量子化器のスカラー量子化関数Γｉ、前記逆変換器の逆変換関数φを決定するための処理部と、
を備えた歪みあり符号化装置を用いて、歪みあり符号化処理をコンピュータに実行させるための歪みあり符号化プログラムを記録した記録媒体であって、
前記処理部は、入力部から入力又は記憶部から読み出すことにより、変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φを定める構造決定ステップと、
前記処理部は、入力部から入力又は記憶部から読み出すことにより、パラメータθα及びθβ、量子化数ａ１，・・・，ａｍを初期設定する初期化ステップと、
前記処理部は、現在のパラメータθα及びθβと量子化数ａ１，・・・，ａｍを用いて圧縮したい元の入力ベクトルから変換関数ψによって変換した特徴ベクトルを求め、特徴ベクトルをスカラー量子化関数Γｉによって量子化した圧縮ベクトルを求め、さらに、圧縮ベクトルから逆変換関数φによって逆変換した復号ベクトルを求め、入力ベクトルと復号ベクトルとの間の歪みの期待値又は平均値に対応する項を含む第１のコスト関数を最小化するように、最適なパラメータθα及びθβを求め、それらパラメータを記憶部に記憶する第１の学習ステップと、
前記処理部は、前記第１の学習ステップにより求められたパラメータθα及びθβ、前記初期化ステップにより設定された量子化数ａ１，・・・，ａｍを記憶部から読み出し、パラメータθα及びθβ、量子化数ａ１，・・・，ａｍにより、それぞれ、変換関数ψ、逆変換関数φ、スカラー量子化関数Γｉを決定するステップと、
をコンピュータに実行させるための歪みあり符号化プログラムを記録した記録媒体。
【請求項１８】
パラメータθαを含み、ｎ次元ベクトルからｍ次元ベクトルへの写像を定めた変換関数ψにより、入力ベクトルを特徴ベクトルに変換する変換器と、
特徴ベクトルの第ｉ次元（ｉ＝１，・・・，ｍ）について、量子化数ａｉを用いて一様量子化するスカラー量子化関数Γｉにより、ｍ次元の特徴ベクトルをｍ次元の圧縮ベクトルに量子化する量子化器と、
パラメータθβを含み、ｍ次元ベクトルからｎ次元ベクトルへの写像を定めた逆変換関数φにより、圧縮ベクトルを復号ベクトルに逆変換する逆変換器と、
前記変換器の変換関数ψ、前記量子化器のスカラー量子化関数Γｉ、前記逆変換器の逆変換関数φを決定するための処理部と、
を備えた歪みあり符号化装置を用いて、歪みあり符号化処理をコンピュータに実行させるための歪みあり符号化プログラムを記録した記録媒体であって、
前記処理部は、入力部から入力又は記憶部から読み出すことにより、変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φを定める構造決定ステップと、
前記処理部は、入力部から入力又は記憶部から読み出すことにより、パラメータθα及びθβ、量子化数ａ１，・・・，ａｍを初期設定する初期化ステップと、
前記処理部は、現在のパラメータθα及びθβと量子化数ａ１，・・・，ａｍを用いて圧縮したい元の入力ベクトルから変換関数ψによって変換した特徴ベクトルを求め、特徴ベクトルをスカラー量子化関数Γｉによって量子化した圧縮ベクトルを求め、さらに、圧縮ベクトルから逆変換関数φによって逆変換した復号ベクトルを求め、入力ベクトルと復号ベクトルとの間の歪みの期待値又は平均値に対応する項を含む第１のコスト関数を最小化するように、最適なパラメータθα及びθβを求め、それらパラメータを記憶部に記憶する第１の学習ステップと、
前記処理部は、符号長に対応する項と歪みの期待値又は平均値に対応する項との重み付け加算値を含む第２のコスト関数を減らすように、特徴ベクトルの第ｉ次元についての最適な量子化数ａｉを求め、それら量子化数を記憶部に記憶する第２の学習ステップと、
前記処理部は、前記第１の学習ステップにより求められたパラメータθα及びθβと、前記第２の学習ステップにより求められた量子化数ａ１，・・・，ａｍを記憶部から読み出し、パラメータθα及びθβに加えて量子化数ａ１，・・・，ａｍにより、それぞれ、変換関数ψ、逆変換関数φ、スカラー量子化関数Γｉを決定するステップと、
をコンピュータに実行させるための歪みあり符号化プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歪みあり符号方法及び装置、歪みあり符号化プログラム及び記録媒体に関する。
【背景技術】
【０００２】
歪みあり符号とは、入力語（符号元、入力データ、入力ベクトル、情報源）と出力語（復号データ、復号ベクトル、リプロダクション（ｒｅｐｒｏｄｕｃｔｉｏｎ））との不一致を許し、その不一致の度合い（歪み）をある歪み基準で測ったときに、その歪みが小さくなるようにしつつ、出力語のための符号長を小さく（圧縮）する符号化方式である。現実の多くの圧縮符号は歪みあり符号である。
【０００３】
一般に、ベクトル量子化は、固定長のブロック入力に対して最適な歪みあり符号を実現することが知られている（非特許文献１参照）。しかし、出力語のパターン数がブロックの次元（個数）に対して指数的であるため、符号化の計算量が指数的に増加し、そのため現実的な符号化方式として採用することは出来ない。また、同様の理由により、最適な符号化方式の設計も困難になるという課題があった。
【０００４】
そこでベクトル量子化に何らかの制約をかけることで計算量を削減することが考えられている。そもそもベクトル量子化の計算量が情報源の次元に対して指数的に増大するのは、量子化の候補を情報源の次元ｎのべき、すなわち、Ｒを実数空間として、Ｒｎの空間から探索する必要があることに起因している。Ｐｒｏｄｕｃｔ  ｃｏｄｅ（積符号）はベクトル量子化をスカラー量子化の集合におきかえるという、制約のある量子化関数を用いた符号化方法である（非特許文献２、３参照）。スカラー量子化の採用によって次元ごとの探索をＲ１の空間に制限することができ、そのため情報源の次元に対してはたかだか線形の計算量にとどめることができる。Ｐｒｏｄｕｃｔ  ｃｏｄｅは計算量において大きなメリットをもつので、その性能を最大限に発揮する符号器は有用な技術である。
【０００５】
一方、量子化器を圧縮に用いる際に、入力語が量子化器の特性に合わない場合に、情報源をその量子化器の特性にあうように、コンパンディング関数（ｃｏｍｐａｎｄｉｎｇ関数）によって変換する手法が提案されている。Ｃｏｍｐａｎｄｉｎｇ関数は、入力語を量子化器入力に変換する変換器又は変換関数（ｃｏｍｐｒｅｓｓｏｒ）と、量子化器出力を出力語に変換する逆変換器又は逆変換関数（ｅｘｐａｎｄｅｒ）を備える。さらに、量子化器として積符号を用いることで、量子化出力のパターン数が量子化入力のブロック次元に対して線形になるため、計算量上のメリットは大きい。こうしたｃｏｍｐａｎｄｉｎｇ関数と積符号の組合せになる符号化方式において、最適なｃｏｍｐａｎｄｉｎｇ関数がいかなるものであるかについて、入力語の分布が特殊な特性を持つ場合については議論がなされている。例えば、非特許文献２では、入力語ブロック内の各要素が互いに独立である場合の最適なｃｏｍｐａｎｄｉｎｇ関数が示されている。また、非特許文献４では、ｃｏｍｐａｎｄｉｎｇ関数を直交線形変換に制限し、入力語の分布がガウス分布である場合、最適なｃｏｍｐａｎｄｉｎｇ関数はＫａｒｈｕｎｅｎ−Ｌｏｅｖｅ変換であることが示されている。
【非特許文献１】Ａ．Ｇｅｒｓｈｏ  ａｎｄ  Ｒ．Ｍ．Ｇｒａｙ：“Ｖｅｃｔｏｒ  Ｑｕａｎｔｉｚａｔｉｏｎａｎｄ  Ｓｉｇｎａｌ  Ｃｏｍｐｒｅｓｓｉｏｎ”，  Ｋｌｕｗｅｒ  Ａｃａｄｅｍｉｃ  Ｐｕｂｌｉｓｈｅｒｓ（１９９２）．
【非特許文献２】Ｐ．Ｗ．Ｍｏｏ  ａｎｄ  Ｄ．Ｌ．Ｎｅｕｈｏ．：“Ｏｐｔｉｍａｌ  ｃｏｍｐｒｅｓｓｏｒ  ｆｕｎｃｔｉｏｎｓ  ｆｏｒ  ｍｕｌｔｉｄｉｍｅｎｓｉｏｎａｌ  ｃｏｍｐａｎｄｉｎｇ”，ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，Ｕｌｍ．
【非特許文献３】Ｗ．  Ｙ．  Ｃｈａｎ  ａｎｄ  Ａ．  Ｇｅｒｓｈｏ：  “Ｇｅｎｅｒａｌｉｚｅｄ  ｐｒｏｄｕｃｔ  ｃｏｄｅ  ｖｅｃｔｏｒ  ｑｕａｎｔｉｚａｔｉｏｎ：  Ａ  ｆａｍｉｌｙ  ｏｆ  ｅ．ｃｉｅｎｔ  ｔｅｃｈｎｉｑｕｅｓ  ｆｏｒ  ｓｉｇｎａｌ  ｃｏｍｐｒｅｓｓｉｏｎ”，  Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ，４（２），  ｐｐ．  ９５−１２６（１９９４），
【非特許文献４】Ｖ．Ｋ．Ｇｏｙａｌ：“Ｔｈｅｏｒｅｔｉｃａｌ  ｆｏｕｎｄａｔｉｏｎｓ  ｏｆ  ｔｒａｎｓｆｏｒｍ  ｃｏｄｉｎｇ”，ＩＥＥＥ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｍａｇ．，１８（５），ｐｐ．９−２１（２００１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のｃｏｍｐａｎｄｉｎｇ関数により変換する手法については、上述のような特殊な場合を除き、一般的に最適となるｃｏｍｐａｎｄｉｎｇ関数、あるいはそれを構成する方法は知られていない。そのため、一般の入力語に対して最適なあるいは準最適な符号化器の構成法は存在しておらず、多くの場合、定性的に良いとされる符号化方式が入力語に関わらず用いられているのが現実である。すなわち、従来の積符号による方式では、特定の入力語の分布に対していかなるｃｏｍｐａｎｄｉｎｇ関数が最適であるかという議論はなされていたが、一般的な入力語の分布に対して適応的に最適あるいは準最適なｃｏｍｐａｎｄｉｎｇ関数を構成する手法は考えられていなかった。
【０００７】
本発明は、以上の点に鑑み、Ｃｏｍｐａｎｄｉｎｇ関数と積符号の組合せによる歪みあり符号化を用いることで、ベクトル量子化における計算量上の課題を解決することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では、主に符号長を制限したときに、その制約の中で最も歪みを小さくする符号化器を求める問題を考える。そして、本発明では、従来の積符号による方式で考えられていなかった、入力語の特性に応じて最適あるいは準最適なｃｏｍｐａｎｄｉｎｇ関数の構成を、入力語のサンプルを用いて適応的に行う。より具体的には、ｃｏｍｐａｎｄｉｎｇ関数を構成するｃｏｍｐｒｅｓｓｏｒおよびｅｘｐａｎｄｅｒをパラメトリックにモデル化し、入力語をサンプルとしてパラメータの最適化を行うことで、暗に入力語の特性を考慮したｃｏｍｐａｎｄｉｎｇ関数を構成する。これにより、一般の入力語に対して適用可能な、新しい符号化方式が提案される。
【０００９】
本発明の第１の解決手段によると、
パラメータθαを含み、ｎ次元ベクトルからｍ次元ベクトルへの写像を定めた変換関数ψにより、入力ベクトルを特徴ベクトルに変換する変換器と、
特徴ベクトルの第ｉ次元（ｉ＝１，・・・，ｍ）について、量子化数ａｉを用いて一様量子化するスカラー量子化関数Γｉにより、ｍ次元の特徴ベクトルをｍ次元の圧縮ベクトルに量子化する量子化器と、
パラメータθβを含み、ｍ次元ベクトルからｎ次元ベクトルへの写像を定めた逆変換関数φにより、圧縮ベクトルを復号ベクトルに逆変換する逆変換器と、
を備えた歪あり符号化装置を用いた歪みあり符号化方法であって、
変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φを定める構造決定ステップと、
パラメータθα及びθβ、量子化数ａ１，・・・，ａｍを初期設定する初期化ステップと、
現在のパラメータθα及びθβと量子化数ａ１，・・・，ａｍを用いて圧縮したい元の入力ベクトルから変換関数ψによって変換した特徴ベクトルを求め、特徴ベクトルをその次元ごとにスカラー量子化関数Γｉによって量子化した圧縮ベクトルを求め、さらに、圧縮ベクトルから逆変換関数φによって逆変換した復号ベクトルを求め、入力ベクトルと復号ベクトルとの間の歪みの期待値又は平均値に対応する項を含む第１のコスト関数を最小化するように、最適なパラメータθα及びθβを求める第１の学習ステップと、
前記第１の学習ステップにより求められたパラメータθα及びθβ、前記初期化ステップにより設定された量子化数ａ１，・・・，ａｍにより、それぞれ、変換関数ψ、逆変換関数φ、スカラー量子化関数Γｉを決定するステップと、
を含む歪みあり符号化方法が提供される。
【００１０】
本発明の第２の解決手段によると、
パラメータθαを含み、ｎ次元ベクトルからｍ次元ベクトルへの写像を定めた変換関数ψにより、入力ベクトルを特徴ベクトルに変換する変換器と、
特徴ベクトルの第ｉ次元（ｉ＝１，・・・，ｍ）について、量子化数ａｉを用いて一様量子化するスカラー量子化関数Γｉにより、ｍ次元の特徴ベクトルをｍ次元の圧縮ベクトルに量子化する量子化器と、
パラメータθβを含み、ｍ次元ベクトルからｎ次元ベクトルへの写像を定めた逆変換関数φにより、圧縮ベクトルを復号ベクトルに逆変換する逆変換器と、
を備えた歪あり符号化装置を用いた歪みあり符号化方法であって、
変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φを定める構造決定ステップと、
パラメータθα及びθβ、量子化数ａ１，・・・，ａｍを初期設定する初期化ステップと、
現在のパラメータθα及びθβと量子化数ａ１，・・・，ａｍを用いて圧縮したい元の入力ベクトルから変換関数ψによって変換した特徴ベクトルを求め、特徴ベクトルをその次元ごとにスカラー量子化関数Γｉによって量子化した圧縮ベクトルを求め、さらに、圧縮ベクトルから逆変換関数φによって逆変換した復号ベクトルを求め、入力ベクトルと復号ベクトルとの間の歪みの期待値又は平均値に対応する項を含む第１のコスト関数を最小化するように、最適なパラメータθα及びθβを求める第１の学習ステップと、
符号長に対応する項と歪みの期待値又は平均値に対応する項との重み付け加算値を含む第２のコスト関数を減らすように、特徴ベクトルの第ｉ次元についての最適な量子化数ａｉを求める第２の学習ステップと、
前記第１の学習ステップにより求められたパラメータθα及びθβに加えて、前記第２の学習ステップにより求められた量子化数ａ１，・・・，ａｍにより、それぞれ、変換関数ψ、逆変換関数φ、スカラー量子化関数Γｉを決定するステップと、
を含む歪みあり符号化方法が提供される。
【００１１】
本発明の第３の解決手段によると、
パラメータθαを含み、ｎ次元ベクトルからｍ次元ベクトルへの写像を定めた変換関数ψにより、入力ベクトルを特徴ベクトルに変換する変換器と、
特徴ベクトルの第ｉ次元（ｉ＝１，・・・，ｍ）について、量子化数ａｉを用いて一様量子化するスカラー量子化関数Γｉにより、ｍ次元の特徴ベクトルをｍ次元の圧縮ベクトルに量子化する量子化器と、
パラメータθβを含み、ｍ次元ベクトルからｎ次元ベクトルへの写像を定めた逆変換関数φにより、圧縮ベクトルを復号ベクトルに逆変換する逆変換器と、
前記変換器の変換関数ψ、前記量子化器のスカラー量子化関数Γｉ、前記逆変換器の逆変換関数φを決定するための処理部と、
を備え、
前記処理部は、
変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φを定める構造決定手段と
パラメータθα及びθβ、量子化数ａ１，・・・，ａｍを初期設定する初期化手段と、
現在のパラメータθα及びθβと量子化数ａ１，・・・，ａｍを用いて圧縮したい元の入力ベクトルから変換関数ψによって変換した特徴ベクトルを求め、特徴ベクトルをその次元ごとにスカラー量子化関数Γｉによって量子化した圧縮ベクトルを求め、さらに、圧縮ベクトルから逆変換関数φによって逆変換した復号ベクトルを求め、入力ベクトルと復号ベクトルとの間の歪みの期待値又は平均値に対応する項を含む第１のコスト関数を最小化するように、最適なパラメータθα及びθβを求める第１の学習手段と、
前記第１の学習手段により求められたパラメータθα及びθβ、前記初期化手段により設定された量子化数ａ１，・・・，ａｍにより、それぞれ、変換関数ψ、逆変換関数φ、スカラー量子化関数Γｉを決定する手段と、
を有する歪みあり符号化装置が提供される。
【００１２】
本発明の第４の解決手段によると、
パラメータθαを含み、ｎ次元ベクトルからｍ次元ベクトルへの写像を定めた変換関数ψにより、入力ベクトルを特徴ベクトルに変換する変換器と、
特徴ベクトルの第ｉ次元（ｉ＝１，・・・，ｍ）について、量子化数ａｉを用いて一様量子化するスカラー量子化関数Γｉにより、ｍ次元の特徴ベクトルをｍ次元の圧縮ベクトルに量子化する量子化器と、
パラメータθβを含み、ｍ次元ベクトルからｎ次元ベクトルへの写像を定めた逆変換関数φにより、圧縮ベクトルを復号ベクトルに逆変換する逆変換器と、
前記変換器の変換関数ψ、前記量子化器のスカラー量子化関数Γｉ、前記逆変換器の逆変換関数φを決定するための処理部と、
を備え、
前記処理部は、
変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φを定める構造決定手段と
パラメータθα及びθβ、量子化数ａ１，・・・，ａｍを初期設定する初期化手段と、
現在のパラメータθα及びθβと量子化数ａ１，・・・，ａｍを用いて圧縮したい元の入力ベクトルから変換関数ψによって変換した特徴ベクトルを求め、特徴ベクトルをその次元ごとにスカラー量子化関数Γｉによって量子化した圧縮ベクトルを求め、さらに、圧縮ベクトルから逆変換関数φによって逆変換した復号ベクトルを求め、入力ベクトルと復号ベクトルとの間の歪みの期待値又は平均値に対応する項を含む第１のコスト関数を最小化するように、最適なパラメータθα及びθβを求める第１の学習手段と、
符号長に対応する項と歪みの期待値又は平均値に対応する項との重み付け加算値を含む第２のコスト関数を減らすように、特徴ベクトルの第ｉ次元についての最適な量子化数ａｉを求める第２の学習手段と、
前記第１の学習手段により求められたパラメータθα及びθβに加えて、前記第２の学習手段により求められた量子化数ａ１，・・・，ａｍにより、それぞれ、変換関数ψ、逆変換関数φ、スカラー量子化関数Γｉを決定する手段と、
を有する歪みあり符号化装置が提供される。
【００１３】
本発明の第５の解決手段によると、
パラメータθαを含み、ｎ次元ベクトルからｍ次元ベクトルへの写像を定めた変換関数ψにより、入力ベクトルを特徴ベクトルに変換する変換器と、
特徴ベクトルの第ｉ次元（ｉ＝１，・・・，ｍ）について、量子化数ａｉを用いて一様量子化するスカラー量子化関数Γｉにより、ｍ次元の特徴ベクトルをｍ次元の圧縮ベクトルに量子化する量子化器と、
パラメータθβを含み、ｍ次元ベクトルからｎ次元ベクトルへの写像を定めた逆変換関数φにより、圧縮ベクトルを復号ベクトルに逆変換する逆変換器と、
前記変換器の変換関数ψ、前記量子化器のスカラー量子化関数Γｉ、前記逆変換器の逆変換関数φを決定するための処理部と、
を備えた歪みあり符号化装置を用いて、歪みあり符号化処理をコンピュータに実行させるための歪みあり符号化プログラムであって、
前記処理部は、入力部から入力又は記憶部から読み出すことにより、変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φを定める構造決定ステップと、
前記処理部は、入力部から入力又は記憶部から読み出すことにより、パラメータθα及びθβ、量子化数ａ１，・・・，ａｍを初期設定する初期化ステップと、
前記処理部は、現在のパラメータθα及びθβと量子化数ａ１，・・・，ａｍを用いて圧縮したい元の入力ベクトルから変換関数ψによって変換した特徴ベクトルを求め、特徴ベクトルをスカラー量子化関数Γｉによって量子化した圧縮ベクトルを求め、さらに、圧縮ベクトルから逆変換関数φによって逆変換した復号ベクトルを求め、入力ベクトルと復号ベクトルとの間の歪みの期待値又は平均値に対応する項を含む第１のコスト関数を最小化するように、最適なパラメータθα及びθβを求め、それらパラメータを記憶部に記憶する第１の学習ステップと、
前記処理部は、前記第１の学習ステップにより求められたパラメータθα及びθβ、前記初期化ステップにより設定された量子化数ａ１，・・・，ａｍを記憶部から読み出し、パラメータθα及びθβ、量子化数ａ１，・・・，ａｍにより、それぞれ、変換関数ψ、逆変換関数φ、スカラー量子化関数Γｉを決定するステップと、
をコンピュータに実行させるための歪みあり符号化プログラム、及び、そのプログラムを記録した記録媒体が提供される。
【００１４】
本発明の第６の解決手段によると、
パラメータθαを含み、ｎ次元ベクトルからｍ次元ベクトルへの写像を定めた変換関数ψにより、入力ベクトルを特徴ベクトルに変換する変換器と、
特徴ベクトルの第ｉ次元（ｉ＝１，・・・，ｍ）について、量子化数ａｉを用いて一様量子化するスカラー量子化関数Γｉにより、ｍ次元の特徴ベクトルをｍ次元の圧縮ベクトルに量子化する量子化器と、
パラメータθβを含み、ｍ次元ベクトルからｎ次元ベクトルへの写像を定めた逆変換関数φにより、圧縮ベクトルを復号ベクトルに逆変換する逆変換器と、
前記変換器の変換関数ψ、前記量子化器のスカラー量子化関数Γｉ、前記逆変換器の逆変換関数φを決定するための処理部と、
を備えた歪みあり符号化装置を用いて、歪みあり符号化処理をコンピュータに実行させるための歪みあり符号化プログラムであって、
前記処理部は、入力部から入力又は記憶部から読み出すことにより、変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φを定める構造決定ステップと、
前記処理部は、入力部から入力又は記憶部から読み出すことにより、パラメータθα及びθβ、量子化数ａ１，・・・，ａｍを初期設定する初期化ステップと、
前記処理部は、現在のパラメータθα及びθβと量子化数ａ１，・・・，ａｍを用いて圧縮したい元の入力ベクトルから変換関数ψによって変換した特徴ベクトルを求め、特徴ベクトルをスカラー量子化関数Γｉによって量子化した圧縮ベクトルを求め、さらに、圧縮ベクトルから逆変換関数φによって逆変換した復号ベクトルを求め、入力ベクトルと復号ベクトルとの間の歪みの期待値又は平均値に対応する項を含む第１のコスト関数を最小化するように、最適なパラメータθα及びθβを求め、それらパラメータを記憶部に記憶する第１の学習ステップと、
前記処理部は、符号長に対応する項と歪みの期待値又は平均値に対応する項との重み付け加算値を含む第２のコスト関数を減らすように、特徴ベクトルの第ｉ次元についての最適な量子化数ａｉを求め、それら量子化数を記憶部に記憶する第２の学習ステップと、
前記処理部は、前記第１の学習ステップにより求められたパラメータθα及びθβと、前記第２の学習ステップにより求められた量子化数ａ１，・・・，ａｍを記憶部から読み出し、パラメータθα及びθβに加えて量子化数ａ１，・・・，ａｍにより、それぞれ、変換関数ψ、逆変換関数φ、スカラー量子化関数Γｉを決定するステップと、
をコンピュータに実行させるための歪みあり符号化プログラム、及び、そのプログラムを記録した記録媒体が提供される。
【発明の効果】
【００１５】
本発明による最も重要な効果のひとつは、一般の入力語に対して、符号手続きおよび符号器構成手続きの両者において、効率の良い歪みあり符号化器を構成できることである。平均歪み、平均符号長など、符号化性能に関する定量的尺度を基に、積符号に対する量子化手続きを修正する手続きがあるため、要求性能に応じて適切な設定ができる点でも効果がある。
【００１６】
さらに、本発明は、ｃｏｍｐａｎｄｉｎｇ関数をパラメトリックにモデル化しているため、入力語の特性に関する事前知識をモデルとして組み込むことができる点でも効果がある。性能の高い符号化方式には多くのメリットがある。例えばインターネット通信において、通信コスト（時間、計算機コスト、など）の削減などが期待できる。
【発明を実施するための最良の形態】
【００１７】
１．  多次元ｃｏｍｐａｎｄｉｎｇ関数
ここで、本実施の形態での表記法を示す。
ｘ＝［ｘ１，・・・，ｘｎ］Ｔ∈Ｒｎ
を確率密度分布ｐ（ｘ）に従うｎ次元ベクトルの情報源（入力ベクトル）とし、
ｘ＾∈｛ｘ＾｝≡｛ｘ＾１，・・・，ｘ＾Ｍ｜ｘ＾ｋ＝［ｘ＾ｋ１，・・・，ｘ＾ｋｎ］Ｔ∈Ｒｎ，ｋ＝１，・・・，Ｍ｝
を復号ベクトル（ｒｅｐｒｏｄｕｃｔｉｏｎ）とする。ただし、［・］Ｔはベクトルの転置を表す。ｒｅｐｒｏｄｕｃｔｉｏｎ  ｘ＾はＭ通りの値をとるのでこれを符号化するのに要する符号長はｌｏｇ２Ｍｂｉｔである。Ｐｒｏｄｕｃｔ  ｃｏｄｅで可変長符号化、すなわち量子化数を入力情報に応じて選択することは可能であるが、複雑となるのでここでは固定長符号化のみを考える。またｒｅｐｒｏｄｕｃｔｉｏｎ  ｘ＾は、情報源ｘから符号化関数ｘ＾＝ρ（ｘ）によって得られるとする。ｘ，ｘ＾の属する空間をまとめて入力空間と呼ぶ。情報源ｘとｒｅｐｒｏｄｕｃｔｉｏｎ  ｘ＾の間の歪み測度はｄ（ｘ，ｘ＾）で表し、ｄ（ｘ，ｘ＾）≧０である。
【００１８】
なお、「＾」、「￣」等は、明細書中の数式で示されるように、本来ｘ，ｙ等の符号の真上に付加されるべき記号であるが、出願手続の制約上、符号の横上に記載する。また、ｘ、ｘ１，・・・，ｘN、ｘ＾、ｘ＾１，・・・，ｘ＾Ｍ、ｘ＾１，・・・，ｘ＾N、ｙ、ｙ１，・・・，ｙN、ｙ＾、ｙ＾１，・・・，ｙ＾Ｍ、ｙ＾１，・・・，ｙ＾N、等は、ベクトルであり、数式等で示されるように本来太字で表記されるべきであるが、出願手続の制約上通常の文字で記載する。なお、ｘ１，・・・，ｘｎ、ｘ＾ｋ１，・・・，ｘ＾ｋｎ、ｙ１，・・・，ｙｍ、ｙ＾１，・・・，ｙ＾ｍ等はスカラーである。
【００１９】
１．１  Ｐｒｏｄｕｃｔ  ｃｏｄｅ（積符号、プロダクトコード）装置の構成
図１に、Ｃｏｍｐａｎｄｉｎｇ関数を用いたＰｒｏｄｕｃｔ  Ｃｏｄｅによる符号化処理装置（Ｐｒｏｄｕｃｔ  Ｃｏｄｅ装置）の構成図を示す。
【００２０】
Ｐｒｏｄｕｃｔ  Ｃｏｄｅ装置１０は、変換器（Ｃｏｍｐｒｅｓｓｏｒ）ψ１１、量子化器１２−１〜１２−ｍ、逆変換器（Ｅｘｐａｎｄｅｒ）φ１３を備える。
【００２１】
変換器ψ１１は、ｎ次元入力ベクトルの情報源ｘから関数ψにより特徴ベクトルｙ＝[ｙ１，・・・，ｙｍ]を生成する。量子化器１２−１〜１２−ｍは、特徴ベクトルの各成分ｙ１〜ｙｍをそれぞれスカラー量子関数Γ１〜Γｍにより、離散化された圧縮ベクトルｙ＾＝[ｙ＾１，・・・，ｙ＾ｍ]を生成する。逆変換器φ１３は、圧縮ベクトルｙ＾から、関数φにより復号ベクトルｘ＾を生成する。関数ψ、φ、スカラー量子化関数Γ１〜Γｍの詳細については後述する。
【００２２】
例えば、変換器ψ１１及び量子化器１２−１〜１２−ｍは、送信側又は記録側等の装置に対応し、入力ベクトルｘを離散化された圧縮ベクトルｙ＾に符号化する。逆変換器φ１３は、受信側又は読取側等の装置に対応し、圧縮ベクトルｙ＾を復号ベクトルｘ＾に逆変換して復号化する。この圧縮ベクトルは、送信側から受信側装置へ転送することができる。また、圧縮ベクトルは、記録側の装置から、メモリ、ＣＤ、ＤＶＤ等の記録媒体に書き込み、読取側の装置で記録媒体から読み出すことができる。
【００２３】
ここで、ｘ＝［ｘ１，・・・，ｘｎ］Ｔはｎ次元の実数値をとる入力ベクトル（入力語）、すなわち圧縮したい画像、音声の元データである。ｘ＾＝［ｘ＾１，・・・，ｘ＾ｎ］Ｔが出力されるｎ次元の実数値をとる復号ベクトル（出力語）、すなわち、圧縮後の画像や音声のデータである。出力語ｘ＾がＭ通りの値をとるとすると、元データをｌｏｇ２Ｍビットに圧縮することになる。
【００２４】
図２はスカラー量子化関数を示す図である。
Ｐｒｏｄｕｃｔ  Ｃｏｄｅ（積符号）においては、量子化器（量子化関数）を次元ごとの量子化関数Γで表すことを特徴としている。ここではそれぞれの次元での量子化関数Γは図に示すような階段状のスカラー量子化関数を用いることを考える。この図はｉ番目の次元の量子化関数Γｉを表しており、量子化レベル（量子化の数）はａｉで表される。圧縮後のデータはＭ通りのベクトルのどれかに対応することになるが、このＭとａｉは
【００２５】
【数１】
2005196040.tif 000003
【００２６】
のような関係をもっており、これがＰｒｏｄｕｃｔ  Ｃｏｄｅ（積符号）とよばれるゆえんである。
【００２７】
ここで提案するＰｒｏｄｕｃｔ  Ｃｏｄｅは、一様なスカラー量子化関数という極めて単純な量子化関数の能力を最大限に利用するために、Ｃｏｍｐｒｅｓｓｏｒψによって特徴空間ｙ＝［ｙ１，・・・，ｙｍ］Ｔへと元データｘ＝［ｘ１，・・・，ｘｎ］Ｔを変換することを特徴のひとつとしている。そして、特徴空間上で量子化関数Γによって量子化が行われる。量子化されたベクトルは、ｙ＾＝［ｙ＾１，・・・，ｙ＾ｍ］Ｔで表している。ｙ＾＝［ｙ＾１，・・・，ｙ＾ｍ］Ｔは
【００２８】
【数２】
2005196040.tif 000004
【００２９】
通りの値をとる。ｙ＾＝［ｙ＾１，・・・，ｙ＾ｍ］ＴはＥｘｐａｎｄｅｒφによって再び元の入力空間に変換され、これが出力語ｘ＾＝［ｘ＾１，・・・，ｘ＾ｎ］Ｔとなる。
【００３０】
また、ＣｏｍｐｒｅｓｓｏｒψとＥｘｐａｎｄｅｒφは、それぞれθα，θβによってパラメタライズされており、最も良い圧縮パフォーマンスが発揮できるように適応的に調整される。（θα，θβはパラメータの集合をあらわしており、一般にはベクトルで表される。）
【００３１】
１．２  Ｐｒｏｄｕｃｔ  Ｃｏｄｅの詳細
以下に、このＰｒｏｄｕｃｔ  ｃｏｄｅについて詳細に説明する。
【００３２】
まず、特徴ベクトルｙ＝［ｙ１，・・・，ｙｍ］Ｔ，ｙ＾＝［ｙ＾１，・・・，ｙ＾ｍ］Ｔをそれぞれの要素の定義域が一例として（０，１）であるｍ次元ベクトルとする。多次元ｃｏｍｐａｎｄｉｎｇ関数は、特徴ベクトルｙ，ｙ＾を用いて、ｃｏｍｐｒｅｓｓｏｒ  ｙ＝ψ（ｘ；θα）とｅｘｐａｎｄｅｒ  ｘ＾＝φ（ｙ＾；θβ）の組み合わせとして定式化される。また、ｃｏｍｐｒｅｓｓｏｒ、ｅｘｐａｎｄｅｒそれぞれの要素ごとの出力関数は、ｙｉ＝ψｉ（ｘ；θα）、ｘｉ＾＝φｉ（ｙ＾；θβ）と表す。ただし、θαとθβはそれぞれｃｏｍｐｒｅｓｓｏｒとｅｘｐａｎｄｅｒのパラメータであり、パラメータ依存性を強調する必要がない場合は、適宜省略することができる。特徴ベクトルｙはランダム変数ｘの関数なので、ｙもまたランダム変数となり、その確率密度をｐ（ｙ）で表す。すなわち
ｃｏｍｐｒｅｓｓｏｒ  ｙ＝ψ（ｘ）は、Ｒｎ→（０，１）ｍの写像、
ｅｘｐａｎｄｅｒ  ｘ＾＝φ（ｙ＾）は、（０，１）ｍ→Ｒｎの写像
である。
【００３３】
関数ｙ＾＝Γ（ｙ）＝［Γ１（ｙ１），・・・，Γｍ（ｙｍ）］Ｔはｙからｙ＾への量子化関数であり、ｍ個の区間（０，１）を互いに独立に一様量子化するスカラー量子化関数
【００３４】
【数３】
2005196040.tif 000005
【００３５】
から成る。ただし、Ｄｉ＝｛（１／２ａｉ）（２ｊ―１）｜ｊ＝１，・・・，ａｉ｝である。ここで、ａｉは第ｉ成分の量子化数（正の整数）であり、
【００３６】
【数４】
2005196040.tif 000006
である。ただし、
【００３７】
【数５】
2005196040.tif 000007
【００３８】
が複数存在するとき、すなわちｙｉ＝ｊ／ａｉのときは
Γ（ｙｉ＝ｊ／ａｉ）＝（１／２ａｉ）（２ｊ＋１）とする。
【００３９】
ｙ＾ｋ＝［ｙ＾ｋ１，・・・，ｙ＾ｋｍ］Ｔをｋ番目のｒｅｐｒｏｄｕｃｔｉｏｎベクトルｘ＾ｋとｘ＾ｋ＝φ（ｙ＾ｋ）のように対応する特徴ベクトルとすると、これは
関数ｌｉ（ｋ）：｛ｋ｜ｋ∈｛１，・・・，Ｍ｝｝→｛ｊ｜ｊ∈｛１，・・・，ａｉ｝｝
を用いて、
ｙ＾ｋ＝［（１／２ａ１）（２ｌ１（ｋ）−１），・・・，（１／２ａｍ）（２ｌｍ（ｋ）−１）］Ｔ
と書ける。
【００４０】
以上を用いて、ｐｒｏｄｕｃｔ  ｃｏｄｅを行う符号化関数ρはρ（ｘ）＝φ（Γ（ψ（ｘ）））と書ける。
【００４１】
なお、定義域（値域）は（０，１）に限らず、適宜の範囲（ａ，ｂ）又は［ａ，ｂ］（ここで、ａ，ｂはある実数）とすることができる（例、［０，１］、（３，４）、（５，１０）等）。このように、一般的な場合でも、次のように、（０，１）に置きなおすことができるので（０，１）の場合だけを考えれば十分、一般的であるという趣旨から（０，１）として説明している。
【００４２】
すなわち、ψ１がｎ次元実数ベクトルからｍ次元の値域（ａ，ｂ）のベクトルへの写像で、Γ１がｍ個の空間（０，１）を互いに独立に一様量子化するスカラー量子化関数で、φ１がｍ次元の値域（０，１）ベクトルからｎ次元実数ベクトルへの写像があった場合、
ψ０（ｘ）＝（ｘ−ａ）／（ｂ−ａ）
φ０（ｘ）＝（ｂ−ａ）ｘ＋ａ
とおいて
ψ＝ψ０（ψ１）、φ＝φ１（φ０）としてやれば、これまで通り特徴空間はｍ次元（０，１）にできる。
【００４３】
１．３  Ｃｏｍｐａｎｄｉｎｇ関数のパラメータ学習
最適なｃｏｍｐａｎｄｉｎｇ関数（ｃｏｍｐｒｅｓｓｏｒψ及びｅｘｐａｎｄｅｒφ）を解析的に求めることは難しいが、ｃｏｍｐａｎｄｉｎｇ関数をパラメタライズしパラメータ族の中での局所最適解を求めることは、勾配法などの最適化手法により可能である。固定長符号化において符号長ｌｏｇ２Ｍｂｉｔが与えられたとき、歪みあり符号化の目的は次式のコスト関数の最小化となる。
【００４４】
【数６】
2005196040.tif 000008
【００４５】
ここで、Ｅはｘの分布ｐ（ｘ）での期待値を表す。パラメタライズされた本実施の形態のｐｒｏｄｕｃｔ  ｃｏｄｅにおいては式（１）は以下のようになる。
【００４６】
【数７】
2005196040.tif 000009
【００４７】
この最適化問題には、勾配法やニュートン法などよく知られた方法の適用が考えられるが、そのためにはコスト関数がパラメータθα，θβに対して適当階数、微分可能である必要がある。Ｃｏｍｐｒｅｓｓｏｒ  ψ、ｅｘｐａｎｄｅｒ  φは微分可能であったとしても量子化関数Γは微分可能でない。そのため、パラメータθβの学習には勾配法やニュートン法などの適用が可能であるのに対して、パラメータθαの学習にはこれらの手法が適用できない。そこで、パラメータθαの学習時には量子化関数Γを連続関数で近似することを考える。近似は次式のように単純な線形関数に置き換えることで行う。
ｙ＾＝Γ（ｙ）≒ｙ          （３）
【００４８】
図２からも直感的に明らかなように、高量子化の極限（ａｉ→∞，ｉ＝１，・・・，ｍ）ではこの近似は正確なものとなる。つまり、高量子符号化時の近似とみなすことができる。
【００４９】
式（２）には情報源ｘの確率密度ｐ（ｘ）についての期待値計算が含まれているが、実際には情報源の確率分布は不明でその代わりに情報源からのサンプルｘ１，・・・，ｘNが得られる場合がほとんどである。各々のサンプルｘiが分布ｐ（ｘ）から独立に得られるとするとこれらのサンプルから期待値を
【００５０】
【数８】
2005196040.tif 000010
【００５１】
で概算し、このサンプル平均に基づきパラメータθα，θβの最適化が可能となる。
ここで、
【００５２】
【数９】
2005196040.tif 000011
【００５３】
は中心極限定理によって平均値Ｅ［ＴＮ］＝Ｅ［ｄ（ｘ，ρ（ｘ））］、分散Ｖ（Ｔ１）／Ｎの正規分布にほぼ従う。ここで、Ｖ（Ｔ）はランダム変数Ｔの分散である。十分なサンプルが得られている場合（Ｎ＞＞Ｖ（Ｔ１））、分散Ｖ（Ｔ１）／Ｎが０に近くなり
【００５４】
【数１０】
2005196040.tif 000012
【００５５】
と考えてよい。また分散Ｖ（Ｔ１）／Ｎは、与えられた情報源ｘと符号化関数ρ（ｘ）の下では近似の精度が主にサンプル数Ｎに依存し、情報源ｘの次元ｎによらないことを示していることにも注意する。ただし、厳密には分散Ｖ（Ｔ１）がｘの次元の増加に対して変化しないことを示す必要がある。例えば、一般的に広く用いられる加法的な歪み測度
【００５６】
【数１１】
2005196040.tif 000013
【００５７】
を用いることを考え、さらにそれぞれの歪みξｉ≡ｄｉ（ｘｉ，ｘ＾ｉ）が互いに独立で同じ分布に従うランダム変数ξとすると、分散はＶ（Ｔ１）＝Ｖ（ξ）となりｘの次元に依存しない。
【００５８】
ベクトル量子化において、入力１次元当たりの符号長をレートＲ（ｂｉｔ）とすると、ｒｅｐｒｏｄｕｃｔｉｏｎベクトル集合｛ｘ＾｝の要素数ＭがＭ＝２Ｒｎと入力次元ｎの増大と共に指数的に増大する。最近傍ベクトルの探索
【００５９】
【数１２】
2005196040.tif 000014
【００６０】
はベクトル量子化の最適性のための必要条件である最近傍条件を満足させるために必要であるが、この探索には｛ｘ＾｝の要素数Ｍ＝２Ｒｎに比例した計算コストがかかる。
【００６１】
これに対して本実施の形態の符号化では、最近傍ベクトルを探索する代わりにｃｏｍｐｒｅｓｓｏｒ  ψ（ｘ；θα）と量子化関数Γによって、ｘに対するｒｅｐｒｏｄｕｃｔｉｏｎ  ｘ＾が決められる。仮にｃｏｍｐｒｅｓｓｏｒ  ψ（ｘ；θα）が要する計算量がパラメータθαに依存せずｃｃｏｍと書けるなら、関数Γ（ψ（ｘ；θα））に要する計算量ｃはｃｃｏｍと量子化関数Γ（・）に必要な計算量ｌｏｇ２Ｍとの合計
ｃ＝ｃｃｏｍ＋ｌｏｇ２Ｍ
になる。Ｍ＝２Ｒｎのとき
ｃ＝ｃｃｏｍ＋Ｒｎ
である。一方で、ｃｏｍｐｒｅｓｓｏｒ  ψ（ｘ；θα）に必要な計算量ｃｃｏｍはｃｏｍｐｒｅｓｓｏｒのモデルに依存する。表現能力の高い関数族のためにはモデルを複雑にする必要があるが、その代わり計算量は増大するので計算量はモデルの複雑さとのトレードオフで決められる。例えば、一般の線形変換による変換符号化の場合、
ｃｃｏｍ＝ｎｍ
となる。
【００６２】
パラメータθαとθβは、それぞれ一方を固定してもう一方を最適化するような繰り返し最適化法により求めることができる。パラメータθβを固定してパラメータθαを最適化すると、パラメータθαは式（２）と式（３）の近似より、
【００６３】
【数１３】
2005196040.tif 000015
【００６４】
となるように決められる。一般に歪み測度ｄ（ｘ１，ｘ２）はｘ１とｘ２が一致したときのみ０をとり、それ以外で正の値をとるのでｘ＝φ（ψ（ｘ；θα））となるとき最小の歪みを与える。すなわち、もしｅｘｐａｎｄｅｒ  φが逆関数φ−１をもつならばψ＝φ−１となるようにパラメータθαを決めればよい。この場合、パラメータθβさえ決まれば常にパラメータθαは決定されるのでθαは探索する必要がなくなり、探索時間削減や局所最適解の回避にメリットとなる。
【００６５】
２．  歪み測度を二乗誤差とした場合
２．１  平均歪み
ここでは歪み測度ｄを加法的な二乗誤差として、そのときの平均歪みを議論する。すなわち
【００６６】
【数１４】
2005196040.tif 000016
【００６７】
となるような歪み測度をとる。
ｙ＝ψ（ｘ），
ｘ＝φ（ｙ）          （６）
が成り立つとき、つまりψが逆関数ψ−１をもち、φ＝ψ―１としてｘとｙが一対一対応するとき、式（６）を式（５）に代入して、
【００６８】
【数１５】
2005196040.tif 000017
となる。
【００６９】
通常、特徴ベクトルｙは情報源ｘの圧縮表現となるので、その次元ｍは情報源の次元ｎより小さくなり、その場合ｘとｙが一対一対応するような逆関数φ−１はしばしば存在せず、その場合は、式（７）のような表現はできない。しかし、特徴空間は情報源ｘができるだけ表現できるように選ばれるので、よく出現するｘの領域については、ｘ＝φ（ｙ）となるあるｙ∈（０，１）ｍが存在すると考えてよい。すなわち領域ＤをＤ＝｛ｘ｜ｘ＝φ（ｙ），ｙ∈（０，１）ｍ｝、全空間をＲｎとしてＤｃをＤの補空間とした時に、
【００７０】
【数１６】
2005196040.tif 000018
【００７１】
と近似できるなら、ｘ∈Ｄｃを無視して式（７）が成り立つと考えてよい。
【００７２】
Ｅｘｐａｎｄｅｒ  φがｙについて２階微分可能のとき、次式のようにφｉ（ｙ＾）を点ｙの周りでテイラー展開できる。
【００７３】
【数１７】
2005196040.tif 000019
ここで、
【００７４】
【数１８】
2005196040.tif 000020
【００７５】
であり、Δ２は（ｙ＾ｊ―ｙｊ）について２次の項を指す。ｙの各要素ｙｉが区間
【００７６】
【数１９】
2005196040.tif 000021
【００７７】
となるｍ次元立方格子Ｃｋ内でφｉ（ｙ）が線形近似できるならΔ２の項は無視できる。
【００７８】
今、各立方格子Ｃｋ内でｅｘｐａｎｄｅｒ  φｉ（ｙ）が線形近似できるほど十分滑らかでΔ２の項が無視できるとして、式（８）を式（７）に代入すると、
【００７９】
【数２０】
2005196040.tif 000022
【００８０】
となる。さらに各立方格子Ｃｋ内で分布ｐ（ｙ）とφ’ｊｉ（ｙ）が一定とみなせるとし、それぞれｐｋとφ’ｊｉｋで表すと式（９）は以下のようになる。
【００８１】
【数２１】
2005196040.tif 000023
【００８２】
であり、ｙ￣ｊと、Ｃ￣ｊｋはそれぞれ特徴ベクトルｙからｙｊ成分を除いたベクトルと立方格子Ｃｋからｙｊ軸を除いた部分格子である。式（１０）には、ｐ（ｘ）についての期待値計算が含まれているが、パラメータ学習の場合と同様にサンプル平均により推定することができる。
【００８３】
２．２  ビット割り当て
つぎに、特徴ベクトルｙの各要素ｙｉを一様量子化するための量子化レベルａｉの決定について考える。量子化レベルを変えるとき、符号長
【００８４】
【数２２】
2005196040.tif 000024
【００８５】
もそれに応じて変化する。このとき、符号長の制約
【００８６】
【数２３】
2005196040.tif 000025
【００８７】
の下での最適化より、符号長の制約を取り払ったレート歪みの指標ＲＤ（ρ）での最適化のほうが扱いやすい。
【００８８】
【数２４】
2005196040.tif 000026
【００８９】
ここでγはあらかじめ決められたある正の実数である。このコスト関数ＲＤ（ρ）を小さくする符号器ρほど良い符号器ということにする。いったん量子化レベルが
決まれば、ＲＤ（ρ）は式（１）と同じコスト関数となり、ここまでの最適化の議論などはそのまま適用できる。
【００９０】
式（１１）に関して大域的に最適な量子化レベルを求めるためには、式（１０）による平均歪みの推定値を使ったとしても、最適なｃｏｍｐａｎｄｉｎｇ関数が何であるかをあらかじめ知る必要があり、容易でない。しかし局所的な量子化レベルの増減では、その量子化レベルでの最適なｃｏｍｐａｎｄｉｎｇ関数が局所的増減ではほとんど変わらないと仮定できるので、平均歪みの変化は式（１０）に基づいて推定することができる。
【００９１】
ここでは局所的増減として、ある要素ｙｉの量子化レベルａｉを１つ減少させる、もしくはある要素ｙｊの量子化レベルａｊを１つ増加させることを考える。これらの量子化レベルの局所的増減によって全体のコストＲＤ（ρ）を減らすことができれば、レート歪みの観点からより良い符号器を構成できたとみなすことにする。
【００９２】
式（１０）より、ある要素ｙｉの量子化レベルａｉを１つ減らしたときのコスト関数ＲＤ（ρ）の変化Δ−ｉは、
Δ−ｉ＝ｌｏｇ２（１−１／ａｉ）＋γ（Ｅ［Ｇｉ（ｙ）］／１２ｎ）｛（２ａｉ−１）／（ａｉ−１）２ａｉ２｝
となる。同様に、ある要素ｙｊの量子化レベルａｊを１つ増やしたときのコスト関数ＲＤ（ρ）の変化Δ＋ｊは、
Δ−ｊ＝ｌｏｇ２（１＋１／ａｊ）−γ（Ｅ［Ｇｊ（ｙ）］／１２ｎ）｛（２ａｊ＋１）／（ａｊ＋１）２ａｊ２｝
となる。
【００９３】
これら｛Δ−ｉ，Δ＋ｊ｝のうち最も小さい変化分Δを求め、Δ＜０ならば対応する量子化レベルの変化を行うことで、より良い符号器ρが構成できる。この手続きを繰り返すことで、符号器の改良を行う。
【００９４】
３．  符号化のためのハードウェアとアルゴリズム
３．１  ハードウェア
図３は、本実施の形態に関するハードウェアの構成図である。
【００９５】
このハードウェアは、Ｐｒｏｄｕｃｔ  Ｃｏｄｅ  装置１０の各種設定を行うためのものであり、中央処理装置（ＣＰＵ）である処理部１、入力部２、インタフェース部３及び記憶部４を有する。また、処理部１、入力部２、インタフェース部３及び記憶部４は、スター又はバス等の適宜の接続手段で接続されている。
【００９６】
記憶部４は、変換関数パラメータθα及びθβ、量子化数ａｉ（ｉ＝１，・・・，ｍ）、変換関数ψ、スカラー量子化関数Γｉ、逆変換関数φ等の初期値、決定値、等のデータを含む。記憶部４は、さらに、入力ベクトル、特徴ベクトル、圧縮ベクトル、復号ベクトルを記憶しても良い。これら、各データ、ベクトルは、処理部１により、インタフェース部３を解して、Ｐｒｏｄｕｃｔ  Ｃｏｄｅ  装置１０と送受することができる。
【００９７】
なお、Ｐｒｏｄｕｃｔ  Ｃｏｄｅ  装置１０内又は変換器１１内に、変換関数ψ及びパラメータθα等の設定データを記憶する記憶部を有する。同様に、Ｐｒｏｄｕｃｔ  Ｃｏｄｅ  装置１０内又は逆変換器１３内に、逆変換関数φ及びパラメータθβ等の設定データを記憶する記憶部を有し、Ｐｒｏｄｕｃｔ  Ｃｏｄｅ  装置１０内又は量子化器１２−１〜１２−ｍ内に、量子化数ａｉ等の設定データを記憶する記憶部を有する。
【００９８】
Ｐｒｏｄｕｃｔ  Ｃｏｄｅ  装置１０は、内部の記憶部に各種設定がなされると、このハードウェアと独立に使用することもできる。また、変換器１１及び量子化器１２−１〜１２−ｍのみを符号器として用い、逆変換器１３を復号器として用いることができる。
【００９９】
３．２  アルゴリズム
３．２．１  第１の実施の形態
図４に、符号化処理についての第１の実施の形態のフローチャートを示す。
【０１００】
本発明は、サンプルに基づき、符号器を最適化するものであるので、圧縮したい元データのサンプルをN個用意し、それらをｘ１，・・・，ｘNと表す。元データｘ１，・・・，ｘNについて、Ｃｏｍｐｒｅｓｓｏｒψによって変換された特徴ベクトルをそれぞれｙ１，・・・，ｙNで表す。特徴ベクトルｙ１，・・・，ｙNについて量子化された圧縮ベクトルをそれぞれｙ＾１，・・・，ｙ＾Nで表す。また、Ｅｘｐａｎｄｅｒφによって元の空間に戻された出力語をそれぞれｘ＾１，・・・，ｘ＾Nで表す。このフローチャートでは、サンプルを基に最適化（学習、トレーニング）することで圧縮性能のよい符号器を作成する。
【０１０１】
（ステップＳ１０１  構造決定）
処理部１は、入力部２からの入力又は記憶部４に予め設定されたデータを読み出し、ある適当な関数をＣｏｍｐｒｅｓｓｏｒψとＥｘｐａｎｄｅｒφに選ぶ。ただし、ここでは一例として、Ｃｏｍｐｒｅｓｓｏｒψはｎ次元実数ベクトル（元データの定義域）からｍ次元の値域（０，１）ベクトル（圧縮ベクトルの定義域）への写像、Ｅｘｐａｎｄｅｒφはｍ次元の値域（０，１）ベクトルからｎ次元実数ベクトル（元データの定義域およびｒｅｐｒｏｄｕｃｔｉｏｎベクトルの定義域）への写像であり、ＣｏｍｐｒｅｓｓｏｒψとＥｘｐａｎｄｅｒφはそれぞれパラメータ、θα，θβで微分可能であるとする。特徴空間の次元ｍも適当に定める。目標とする圧縮後の符号長ｌｏｇ２Ｍ’を考えてγを設定することができる。ここで、Ｍ’は、ＭをＭ’以下に設定するための目標値である。なお、これら関数ψ、φ、γ、Ｍ’の構造は、最適化がなされなくとも良い。どの構造がよいかは圧縮したい元データの性質に依存する。また、前述のように、ＣｏｍｐｒｅｓｓｏｒψとＥｘｐａｎｄｅｒφの値域は（０，１）に限らず適宜の範囲とすることができる。
【０１０２】
また、処理部１は、入力部２からの入力又は記憶部４に予め設定されたデータを読み出し、ある適当な関数をスカラー量子化関数Γ１〜Γｍに選ぶ（「１．  多次元ｃｏｍｐａｎｄｉｎｇ関数」（特に、「１．１  Ｐｒｏｄｕｃｔ  ｃｏｄｅ（積符号、プロダクトコード）装置の構成」、「１．２  Ｐｒｏｄｕｃｔ  Ｃｏｄｅの詳細」）等参照。）。
【０１０３】
なお、処理部１は、Ｐｒｏｄｕｃｔ  Ｃｏｄｅ  装置１０内の記憶部にすでに設定されているデータをインタフェース部３を介して読み取ることにより、適当な関数をＣｏｍｐｒｅｓｓｏｒψ、Ｅｘｐａｎｄｅｒφ、及び／又は、スカラー量子化関数Γ１〜Γｍに選ぶようにしてもよい。
【０１０４】
さらに、処理部１は、例えば、入力部２からの入力、又は、インタフェース部３を介してのＰｒｏｄｕｃｔ  Ｃｏｄｅ装置１０からの受信により、元データのサンプルｘ１，・・・，ｘNを記憶部４に予め記憶する。処理部１は、元データを以下の処理で必要に応じて読み出して用いることができる。
【０１０５】
（ステップＳ１０３  初期化）
処理部１は、入力部２からの入力又は記憶部４に予め設定されたデータを読み出し、パラメータθα，θβを適当に設定する。このとき、ａ１，・・・，ａｍを
【０１０６】
【数２５】
2005196040.tif 000027
【０１０７】
の制約下で適当に設定する。なお、これらθα，θβ，ａ１，・・・，ａｍを最適化することによって高性能な圧縮器を作成する。
【０１０８】
（ステップＳ１０５  θα，θβの学習）
処理部１は、現在のパラメータθα，θβとａ１，・・・ａｍを用いて圧縮したい元データのサンプルからＣｏｍｐｒｅｓｓｏｒψによって特徴ベクトルｙ１，・・・，ｙNと、それを量子化した圧縮ベクトルｙ＾１，・・・，ｙ＾N、及び、復号ベクトルｘ＾１，・・・，ｘ＾Nを求める（ｙｔ＝ψ（ｘｔ），ｙ＾ｔ＝Γ（ｙｔ），ｘ＾ｔ＝φ（ｙ＾ｔ），ｔ＝１，・・・，N）。処理部１は、入力ベクトルと、求めた復号ベクトル等に基づき、最急勾配法、ニュートン法等の適宜の最適化手法を用いてθα，θβを求めて学習する。処理部１は、必要に応じて、求められたθα，θβ、特徴ベクトル、圧縮ベクトル、復号ベクトル等を記憶部４又は他の適宜の記憶部に書き込む、または、そこから読み出す。
【０１０９】
最急勾配法を用いた例では
θα＝θα＋ηαΔα
θβ＝θβ＋ηβΔβ
によってパラメータθα，θβを更新する。
ただし、
【０１１０】
【数２６】
2005196040.tif 000028
ηα，ηβはステップサイズで適当なスカラー値。
【０１１１】
ただし、例外として、ＣｏｍｐｒｅｓｓｏｒψとＥｘｐａｎｄｅｒφが互いに逆写像の関係とできる場合、θαはψ（ｘ；θα）＝φ−１（ｘ；θβ）となるように決定することができる。
【０１１２】
（ステップＳ１０６）
処理部１は、収束するまで適当回、ステップＳ１０５の処理を繰り返す。
【０１１３】
（ステップＳ１０７  ａ１，・・・，ａｍの学習）
処理部１は、ａ１，・・・，ａｍは歪み測度ｄについて、最適化を行う。この例では、式（５）の二乗誤差基準を用いる場合に最適化を行う。処理部９は、必要に応じて、求めたａ１，・・・，ａｍを記憶部４又は適宜の記憶部に書き込む、また、そこから読み出す。なお、ステップＳ１０７を省略して最適化を行わないようにしてもよく、その場合は、例えば、初期化ステップＳ１０３で設定された量子化数ａ１，・・・，ａｍを用いて以下の処理を実行することができる。
【０１１４】
歪み測度ｄに式（５）の二乗誤差基準を用いる場合。
それぞれの特徴空間の次元ｉ，ｊに対して
【０１１５】
【数２７】
2005196040.tif 000029
【０１１６】
を計算する。全部でΔ−ｉがｍ個、Δ＋ｊがｍ個計算されるが、それら２ｍ個の中から最も小さいものΔを選んで、そのΔが負なら更新を行う。
Δ＝Δ−ｉ’ならｉ’番目に対応するａｉ’＝ａｉ’−１とし（ただしａｉ＞０）、
Δ＝Δ＋ｊ’ならｊ’番目に対応するａｊ’＝ａｊ’＋１と更新する。
【０１１７】
（ステップＳ１０９）
処理部１は、ａ１，・・・，ａｍの更新をしたなら、ステップＳ１０５へ戻り、以降の処理を繰り返す。この場合、望ましくは、更新した量子化数ａ１，・・・，ａｍを用いて、θα及びθβの学習ステップＳ１０５、Ｓ１０６によりパラメータθα及びθβを更新し、さらに、ａ１，・・・，ａｍの学習ステップＳ１０７、Ｓ１０９により量子化数ａ１，・・・，ａｍをさらに更新することを、収束するまで繰り返すとよい。
【０１１８】
なお、このステップＳ１０９は省略することができる。また、初期化ステップＳ１０３で設定された量子化数を用いる場合、このステップＳ１０９は省略される。
【０１１９】
（ステップＳ１１３  Ｐｒｏｄｕｃｔ  Ｃｏｄｅ決定）
処理部１は、各パラメータが収束して更新をする必要がなくなったと判断したならば、Ｐｒｏｄｕｃｔ  Ｃｏｄｅ装置１０（Ｃｏｍｐｒｅｓｓｏｒψ（ｘ；θα）、Ｅｘｐａｎｄｅｒφ（ｙ；θβ）、スカラー量子化関数Γ１〜Γｍ）が決定されたこととなり、設定された各パラメータ及び量子化数等のＰｒｏｄｕｃｔ  Ｃｏｄｅに関する情報を記憶部４に記憶する。また、処理部１は、これらパラメータ及び量子化数、及び／又は、変換関数ψ、逆変換関数φ、スカラー量子化関数Γ１〜Γｍ等のＰｒｏｄｕｃｔ  Ｃｏｄｅに関する情報を、必要に応じて記憶部４から読み出し、インタフェース部３を介して、Ｐｒｏｄｕｃｔ  Ｃｏｄｅ装置１０に出力し、その内部に記憶して、パラメータθαを含む変換関数ψにより変換器１１を設定し、パラメータθβを含む逆変換関数φにより逆変換器１３を設定し、量子化数ａ１，・・・，ａｍを含むスカラー量子化関数Γ１〜Γｍにより量子化器１２−１〜１２−ｍを設定する。
【０１２０】
なお、構造決定ステップＳ１０１において、Ｐｒｏｄｕｃｔ  Ｃｏｄｅ  装置１０内の記憶部にすでに設定されている適当な関数を変換関数ψ、逆変換関数φ、及び／又は、スカラー量子化関数Γ１〜Γｍとして選んだ場合等においては、処理部１は、変換関数ψ、逆変換関数φ、及び／又は、スカラー量子化関数Γ１〜Γｍに関する情報を、Ｐｒｏｄｕｃｔ  Ｃｏｄｅ装置１０に出力しなくてもよい。
【０１２１】
３．２．２  第２の実施の形態
図８に、符号化処理についての第２の実施の形態のフローチャートを示す。
この実施の形態は、第１の実施の形態におけるａ１，・・・，ａｍを学習するステップを省略したものである。
【０１２２】
構造決定ステップＳ１０１、初期化ステップＳ１０３、θα、θβの学習ステップＳ１０５及びＰｒｏｄｕｃｔ  Ｃｏｄｅ決定ステップＳ１０６までは第１の実施の形態と同様である。ステップＳ１０５〜Ｓ１０６は、パラメータθα及びθβの収束が確認されるまで繰り返す。
【０１２３】
ステップＳ１１３’では、処理部１は、各パラメータθα及びθβが収束して更新をする必要がなくなったと判断したならば、Ｐｒｏｄｕｃｔ  Ｃｏｄｅ装置１０が決定されたこととなり、設定された各パラメータ等のＰｒｏｄｕｃｔ  Ｃｏｄｅに関する情報を記憶部４に記憶する。また、処理部１は、これらパラメータθα及びθβと初期化ステップＳ１０３で設定された量子化数、及び／又は、変換関数ψ、逆変換関数φ、スカラー量子化関数Γ１〜Γｍ等のＰｒｏｄｕｃｔ  Ｃｏｄｅに関する情報を、必要に応じて記憶部４から読み出し、インターフェース部３を介して、Ｐｒｏｄｕｃｔ  Ｃｏｄｅ装置１０に出力し、その内部に記憶して、パラメータθαを含む変換関数ψにより変換器１１を設定し、パラメータθβを含む逆変換関数φにより逆変換器１３を設定し、スカラー量子化関数Γ１〜Γｍにより量子化器１２−１〜１２−ｍを設定する。
【０１２４】
なお、構造決定ステップＳ１０１において、Ｐｒｏｄｕｃｔ  Ｃｏｄｅ  装置１０内の記憶部にすでに設定されている適当な関数を変換関数ψ、逆変換関数φ、及び／又は、スカラー量子化関数Γ１〜Γｍとして選んだ場合等においては、処理部１は、変換関数ψ、逆変換関数φ、及び／又は、スカラー量子化関数Γ１〜Γｍに関する情報を、Ｐｒｏｄｕｃｔ  Ｃｏｄｅ装置１０に出力しなくてもよい。
【０１２５】
４．  符号化方式の具体例
４．１  Ｐｒｏｄｕｃｔ  Ｃｏｄｅの具体例
以下に単純なＣｏｍｐａｎｄｉｎｇ関数を用いたときのＰｒｏｄｕｃｔ  ｃｏｄｅの具体例を説明する。本発明は、これに限られず、様々な形態が可能である。
【０１２６】
図５に、二次元情報源の分布（標本数１０００点）の図を示す。
この例では、図に示すように情報源は二次元ｘ＝［ｘ１，ｘ２］Ｔで、二次元の一様分布ｚ＝［ｚ１，ｚ２］Ｔを２×２行列Ｋによって線形変換ｘ＝Ｋｚしたものを用いた。ここで用いたｃｏｍｐａｎｄｉｎｇ関数は、
ψ（ｘ；Ａ）＝ｆ（Ａ−１ｘ）
φ（ｙ＾；Ａ）＝Ａｇ（ｙ＾）
である。ただし、関数ｆ（ｘ）は二次元ベクトル関数で
あり、そのスカラー関数ｆｉ（ｘ）（ｉ＝１，２）は
【０１２７】
【数２８】
2005196040.tif 000030
【０１２８】
である。関数ｆｉ（ｘ）の値域が［０，１］となっているが，１節でｃｏｍｐｒｅｓｓｏｒをＲｎ→（０，１）ｍのように値域が（０，１）ｍの関数として定義したことは本質ではなく、［０，１］ｍとなっても同様の議論が可能である。このときｅｘｐａｎｄｅｒは［０，１］ｍ→Ｒｎの関数となる。関数ｇ（ｘ）もまた二次元のベクトル関数であり、そのスカラー関数ｇｉ（ｘ）（ｉ＝１，２）は
ｇｉ（ｘｉ）＝２ｘｉ−１，（０≦ｘｉ≦１）
である。行列Ａは２×２の正則な行列である。Ａ−１はＡの逆行列を表す。ここではｅｘｐａｎｄｅｒ  φが逆関数φ−１をもつので、２．２節の最後で述べたようにｃｏｍｐｒｅｓｓｏｒ  ψのパラメータは、ｅｘｐａｎｄｅｒ  φの逆関数φ−１となるように固定している。
【０１２９】
このｃｏｍｐａｎｄｉｎｇ関数においては行列Ａがパラメータとなっており、
【０１３０】
【数２９】
2005196040.tif 000031
【０１３１】
となるＡ＊を求める。ここで、ｘiは情報源からのｉ番目のサンプルであり、ｚiはｚi＝ｇ（Γ（ｆ（Ａ−１ｘi）））である。なお、Ａ＊は行列Ｘ＝［ｘ1，・・・，ｘN］とＺ＝［ｚ1，・・・，ｚN］を用いてＡ＊＝ＸＺ＋とかける。ただし、Ｚ＋は行列Ｚの最小二乗型擬逆行列である。ｚiはパラメータＡと無関係な定数としてパラメータＡを最適化したが、実際には相関があるので収束値付近で振動を引き起こしやすい。この影響を軽減するため、実際にはＡｔ＋１＝η＊Ａｔ＋（１−η）Ａ＊のように慣性項を加えて更新した。ただし、ηは０．１程度のスカラー値でＡｔはｔ番目に更新した際のパラメータＡを表す。
【０１３２】
さて、この例では、ｎ＝２，ｍ＝２となっている。Ｃｏｍｐｒｅｓｓｏｒ，Ｅｘｐａｎｄｅｒの最適化したいパラメータは、
【０１３３】
【数３０】
2005196040.tif 000032
【０１３４】
である。
Ｃｏｍｐｒｅｓｓｏｒψ，Ｅｘｐａｎｄｅｒφはそれぞれ、
【０１３５】
Ｃｏｍｐｒｅｓｓｏｒψ
【数３１】
2005196040.tif 000033
【０１３６】
Ｅｘｐａｎｄｅｒφ
【数３２】
2005196040.tif 000034
【０１３７】
となっている。なお、ここでは、ψ＝φ−１となるように固定されている。
【０１３８】
具体例ではＣｏｍｐｒｅｓｓｏｒψ，Ｅｘｐａｎｄｅｒφは、次のように決めている。
これらは、データの性質に依存して決めるべきだとしているが、具体的には、Ｃｏｍｐｒｅｓｓｏｒψで変換した後の変数ｙ＝ψ（ｘ）が互いに独立になるように選んだほうがうまくいく場合がある。圧縮したいデータが、一様分布を線形変換したものｘ＝Ｋｚから生成されているとした場合、ｙ＝Ａ−１ｘ型の線形変換Ａをうまく調整すれば独立な変数ｙを得ることができる。実際、最適化後のパラメータＡはｙをほぼ独立にするように働いている。ｆやｇは値域を［０，１］，定義域を［０，１］にするために導入されているが、定義域および値域が実際は何であるかは本質的ではない。画像や音声の符号化の場合も線形変換によって独立な変数が得られるので線形変換は有効である。実際、ＪｐｅｇやＪｐｅｇ２０００はそれぞれ離散コサイン変換、Ｗａｖｅｌｅｔ変換という線形変換を用いている。本発明に従えば、それらの線形変換を天下り式に与えるのではなく、自動的に最適化することができる。
θα＝Ａの初期値は
【０１３９】
【数３３】
2005196040.tif 000035
【０１４０】
（ｋはスカラー）で与えている。ｋは、例えば、ｍｉｎ（Ａ−１ｘ）≒０．８，ｍａｘ（Ａ−１ｘ）≒０．８ぐらいになるように決めればよい。
これは上記の変換で求まるｙ１，ｙ２が０や１に飽和しないようにしている。一般的に、θの初期値はｙが［０，１］の範囲をまんべんなくとるような値にするのが望ましい。
また、ａ１，・・・，ａｍの設定を
【０１４１】
【数３４】
2005196040.tif 000036
【０１４２】
を満たすようにとは、単に圧縮したい圧縮レベルの範囲に収まるように設定するということである。Ｍは圧縮後、何ビットの情報になるかを表している。たとえば、１０ビットに圧縮したければＭ＝２１０である。上述のようにｌｏｇ２Ｍビットに圧縮することになる。その他に、ａ１，・・・，ａｍは、例えば、どれも同じぐらいの値になるように決めておけばよい。
【０１４３】
後述のシミュレーションの具体例では、符号長が４ビット以内の符号化ではＭ’＝２４＝１６となっている。この例では、ｍ＝２と設定したので、ａ１，ａ２はａ１＝４，ａ２＝４で始めている。一方、符号長が６ビット以内の符号化ではＭ’＝２６＝６４となっており、ｍ＝２であるので、ａ１，ａ２は，ａ１＝８，ａ２＝８で始めている。
【０１４４】
最適化後のａ１，・・・，ａｍは、最初のａ１，・・・，ａｍと異なっているので必ずしも
【０１４５】
【数３５】
2005196040.tif 000037
【０１４６】
とならない場合がある。これは、γの値に依存する。γをどのような値にしたらよいかは、圧縮したい情報源の性質に依存する。γは、どれだけの歪みを許容しつつ、圧縮効率を高めるかという歪みと圧縮効率の間のジレンマを決めるバランシングパラメータになっている（式（１１）参照）。なお、式（１１）の第１項は符号長に関する項であり、第２項は歪みに関する項である。これを大きくすれば、歪みを小さくすることを重視した設計になり、逆に小さくすれば圧縮効率を高めることになる。そのため、既存の符号化の性能をみることで、だいたいどれぐらいのバランシングで圧縮を行うのが適切かがわかる。また、圧縮の結果をみながら歪みはもっと許してもいいから圧縮効率を高めたい、などの要望に応じてγを小さくしたり、大きくしたりすることもできる。
【０１４７】
θにしろａにしろ最初の値を変えても、（γが同じ値であるなら）最適化が終わったあとの値はどれも変わらない。ただ、上手に選んでおくことで最適化に必要な時間を短く済ませることができる。
【０１４８】
θの学習は、上で述べているように、最急勾配法を用いた例では
θα＝θα＋ηαΔα
θβ＝θβ＋ηβΔβ
によってパラメータθα，θβを更新できる。
ただし、
【０１４９】
【数３６】
2005196040.tif 000038
【０１５０】
ηα，ηβはステップサイズで適当なスカラー値。
これによって局所最適性の条件を満たす解、
【０１５１】
【数３７】
2005196040.tif 000039
を求めることができる。
【０１５２】
なお、後述のシミュレーションでの具体例は、もっと効率的に最適解を求められるので、最急勾配法は用いていない。前述のように、一回の計算で
【０１５３】
【数３８】
2005196040.tif 000040
【０１５４】
となるＡがＡ＝ＸＺ＋のように求めることができる。
【０１５５】
また、ａ１〜ａｍの学習は、二乗誤差基準でない場合もＥ［ｄ（ｘ，ｘ＾）］がｙの何らかの統計量、すなわちＥ［Ｇ（ｙ）］とａの関数で表現できれば学習が可能である。ただ、上述の説明では、どうすれば表現できるかを一般的な形で書くのは困難なため、よく使われる二乗誤差基準に絞って記述している。しかし、結局はどれも微小立方格子Ｃ内でφが緩やかに変化するという仮定や、微小立方格子Ｃ内で分布が一様であることを仮定して近似計算することになる。
【０１５６】
４．２  Ｃｏｍｐａｎｄｉｎｇ関数の他の例
ｃｏｍｐｒｅｓｓｏｒψ、ｅｘｐａｎｄｅｒφは、他にも、上述の形のｃｏｍｐｒｅｓｓｏｒψ、ｅｘｐａｎｄｅｒφを拡張したものを挙げることができる。
【０１５７】
まず、上述の例では固定されていたｆ（ｘ）にパラメータを入れることができる。
ｆ（ｘ）＝１／（１＋  ｅｘｐ（−ｘ））
という関数は、値域が（０，１）で単調に増加する関数となっている（図７参照）。このような単調増加関数にパラメータを加えることで、ｆ（ｘ）の表現能力を拡大できる。
【０１５８】
例えば、
ｆ（ｘ）＝ｄ／｛１＋  ｅｘｐ（−ａ（ｘ−ｂ））｝  ＋ｃ      （ａ＞０，ｄ＞０）
は、値域が（ｃ，ｃ＋ｄ）で単調に増加する関数である。
これに
【０１５９】
【数３９】
2005196040.tif 000041
【０１６０】
のような条件を加えれば、定義域が［０，１］で値域が［０，１］で単調に増加する関数となる。なお、実用的には、入力されるベクトルｘは有限の値しかとらないので、その定義域を適当に縮尺を変えれば定義域［０，１］にすることが可能である。ここで、ａ、ｂ、ｃ、ｄの４つのパラメータに対して、２つの制約条件を加えるので、２つの自由度（パラメータ）をもった関数を表現することになる。これが全体でｍ次元あるので、全体では２＊ｍだけパラメータが増えることになる。
【０１６１】
以上のように要素ごとの単調増加する非線形関数にパラメータを加えることが、まず第１の他の例である。ちなみにこの非線形関数を入れることは、均等に量子化するスカラー量子化関数Γを非均等に量子化するスカラー量子化関数に拡張することと等価である。その非均等さ具合を最適化によるパラメータ調節で自動的にきめてやることができる。
【０１６２】
つぎに、拡張の第２の他の例は、次のように階層化することである。
ψ（ｘ；Ａ）＝ｆ２（Ｗ２ｚ）  ｚ＝ｆ１（Ｗ１ｘ）
φ（ｙ＾；Ａ）＝Ａ１ｇ１（ｚ＾）  ｚ＾＝Ａ２ｇ２（ｙ＾）
ただし、Ｗ１、Ｗ２、Ａ１、Ａ２は線形変換を行う行列、ｆ１、ｆ２、ｇ１、ｇ２は要素ごとの非線形変換関数。
【０１６３】
このように階層化したとき、ψの最終段のｆ２は値域が（０，１）であることが要求されるが、その前段のｆ１にはそのような条件は必要ない。ただ単調増加関数であればよい。なお、単調増加関数でなくてもよいが、単調増加関数にしておいたほうが余分な複雑さが入らないので好ましい。また、２段にとどめず３段、４段とさらなる階層化も行うことができるが、実用的には２段の階層化で十分な性能を発揮するものと思われる。あまり複雑にしてもそれを最適化するだけの計算コストを解消できなかったり、また低ビットに圧縮できても復号に時間がかかりすぎたりというデメリットを生じる場合がある。
【０１６４】
５．  シミュレーション
図５に示した、二次元情報源の分布のような、単純なｃｏｍｐａｎｄｉｎｇ関数を用いたときのｐｒｏｄｕｃｔ  ｃｏｄｅの性能を、ＫＬ（Ｋａｒｈｕｎｅｎ−Ｌｏｅｖｅ）変換を用いた変換符号化の性能と比較した。
【０１６５】
ＫＬ変換を用いた変換符号化では、ＫＬ変換ｙ＝Ｋｘを行った後、変換後の特徴ベクトルｙに対してスカラー量子化を行った。前述のようにスカラー量子化を高量子符号化する極限では、ｃｏｍｐａｎｄｉｎｇ関数
【０１６６】
【数４０】
2005196040.tif 000042
によって最適な量子化が可能である。ただし、
【０１６７】
【数４１】
2005196040.tif 000043
【０１６８】
ｐｉ（ｚ）はｙｉを標準偏差σｉで正規化したｚ＝ｙｉ／σｉの確率密度である。符号長Ｂ＝ｌｏｇ２Ｍビット以内で符号化を行う場合、
【０１６９】
【数４２】
2005196040.tif 000044
ｂｉ≧０
【０１７０】
の制約の下で第ｉ番目のスカラー量子化をｂｉビット（ｉ＝１，・・・，ｎ）で行うことができる。このとき最適なビット割り当ては
【０１７１】
【数４３】
2005196040.tif 000045
で与えられる。ただし、
【０１７２】
【数４４】
2005196040.tif 000046
【０１７３】
である。このビット割り当て解は必ずしも正の整数の量子化レベルとはならないが、そのときは近い整数の値を候補とし、その候補から最も歪みが小さくなる整数を選ぶ。Ｐｒｏｄｕｃｔ  ｃｏｄｅの最適化では、情報源の確率密度の知識を必要とせず、情報源からのサンプルによって最適化可能であるのに対し、上記の変換符号化では情報源の確率密度の知識を必要としていることに注意する。
【０１７４】
図６にｐｒｏｄｕｃｔ  ｃｏｄｅによる符号化とＫＬ変換を用いた変換符号化の結果の図を示す。比較のために、どちらもある符号長の制約のもとでの平均誤差を求めたが、上述したようにｐｒｏｄｕｃｔ  ｃｏｄｅによる符号化では式（１１）で表されるレート歪み指標ＲＤに基づいて最適化を行っている。レート歪み指標ＲＤのγは、符号長が４ビット以内、６ビット以内の符号化のとき、それぞれγ＝２５，γ＝１００に設定している。どちらの指標で最適化を行っても歪み・レート関数Ｄ＊＝Ｄ（Ｒ＊）上の値（Ｒ＊，Ｄ＊）を与える。
【０１７５】
情報源ｘの定義域は図５に示す様に、平行四辺形内であり、ｒｅｐｒｏｄｕｃｔｉｏｎベクトルの集合｛ｘ＾｝が丸印で示されている。黒塗りの丸印は、ｒｅｐｒｏｄｕｃｔｉｏｎベクトルのうち情報源ｘの符号化に使われない不要なｒｅｐｒｏｄｕｃｔｉｏｎベクトル、すなわち空乏セルを表す。図６ａ，ｂは共に符号長が４ビット以内での符号化結果であり、図６ｃ，ｄは共に符号長が６ビット以内での符号化結果である。また図６ａ，ｃが本発明で提案したｐｒｏｄｕｃｔ  ｃｏｄｅによる符号化結果で、図中の直線が特徴ベクトルｙ１，ｙ２に沿う軸を表す。図６ｂ，ｄがＫＬ変換を用いた変換符号化の結果で、図中の直線が主軸を表している。それぞれの図上に、その符号化を行ったときの平均二乗誤差（ｍｓｅ）を示す。また、図６ａ，ｃの図上に式（１０）を用いて推定した平均二乗誤差を括弧書きで示す。
【０１７６】
Ｐｒｏｄｕｃｔ  ｃｏｄｅで学習された線形変換とＫＬ変換の結果の違いが図中の直線（特徴ベクトル）の向きからわかる。Ｐｒｏｄｕｃｔ  ｃｏｄｅにおける線形変換では、特徴ベクトルｙ１，ｙ２が互いに独立となるような変換を行うことですべてのｒｅｐｒｏｄｕｃｔｉｏｎベクトルが無駄なく使われるようにしているが、ＫＬ変換では変換後のベクトルが互いに無相関にはなるものの独立とはならない。低ビット符号化時には、どちらの符号化によってもｒｅｐｒｏｄｕｃｔｉｏｎベクトルが情報源の定義域内に収まり、平均二乗誤差にそれほど差がでなかったが、高ビット符号化時にはＫＬ変換を用いた変換符号化に空乏セルが現われることで、結果的に平均二乗誤差が大きく（ｐｒｏｄｕｃｔ  ｃｏｄｅの約１．６倍に）なる。
【０１７７】
同じデータに対して、ＧＬＡで最適化したベクトル量子化による平均二乗誤差は、４ビット以内、６ビット以内のそれぞれの符号化で、０．０４０，０．０１０となった。もしも、ｐｒｏｄｕｃｔ  ｃｏｄｅで求めたｒｅｐｒｏｄｕｃｔｉｏｎベクトルに対してベクトル量子化で用いたのと同じ最近傍法で符号化を行うと、平均二乗誤差は４ビット以内、
６ビット以内のそれぞれの符号化で、０．０４１，０．０１０となり、ベクトル量子化によるものとほとんど差はなくなった。これは、ｐｒｏｄｕｃｔ  ｃｏｄｅとベクトル量子化の性能の違いが主に計算コストの高い最近傍法を用いるかどうかに起因していることを示している。すなわち、最適なｒｅｐｒｏｄｕｃｔｉｏｎ  ベクトルはｐｒｏｄｕｃｔ  ｃｏｄｅによって十分良く表現できている。
【０１７８】
６．  おわりに
以上のように、本発明では、多次元ｃｏｍｐａｎｄｉｎｇ  関数の学習によるｐｒｏｄｕｃｔ  ｃｏｄｅの設計法を提案した。線形変換をｃｏｍｐａｎｄｉｎｇ関数に採用したときのｐｒｏｄｕｃｔ  ｃｏｄｅの性能を、ＫＬ変換による変換符号化と比較し、その有効性を確かめた。ＫＬ変換を用いた変換符号化は、情報源がガウス分布であるという仮定のもとでは、あらゆる直交線形変換による変換符号化の中で最適となるが、シミュレーションに用いた情報源はガウス分布ではない。今回の結果は、情報源が非ガウス分布である場合において、ｃｏｍｐａｎｄｉｎｇ関数の学習によって優れた変換符号器が得られることを示している。また、ｐｒｏｄｕｃｔ  ｃｏｄｅで符号化を行ったときの平均歪みの推定も行った。実験に用いたデータではｃｏｍｐａｎｄｉｎｇ関数が線形であったことや、情報源が局所的に一様に分布していたため、式（１０）の導出のための仮定が満たされることになり、平均二乗誤差が非常によく推定できた。
【０１７９】
本発明の歪あり符号化方法又は歪あり符号化装置・システムは、その各手順をコンピュータに実行させるための歪あり符号化プログラム、歪あり符号化プログラムを記録したコンピュータ読み取り可能な記録媒体、歪あり符号化プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
【産業上の利用可能性】
【０１８０】
符号および符号化方式は、情報分野全般に関わる最も重要でかつ最も基礎的な技術である。本発明は、インターネット通信、画像通信、音声通信、など、幾多の産業応用が考えられる。
【図面の簡単な説明】
【０１８１】
【図１】Ｃｏｍｐａｎｄｉｎｇ関数を用いたＰｒｏｄｕｃｔ  Ｃｏｄｅによる符号化処理装置（Ｐｒｏｄｕｃｔ  Ｃｏｄｅ装置）の構成図。
【図２】スカラー量子化関数を示す図。
【図３】ハードウェアの構成図。
【図４】符号化処理についての第１の実施の形態のフローチャート。
【図５】二次元情報源の分布（標本数１０００点）の図。
【図６】ｐｒｏｄｕｃｔ  ｃｏｄｅによる符号化とＫＬ変換を用いた変換符号化の結果の図。
【図７】単調増加関数の一例の図。
【図８】符号化処理についての第２の実施の形態のフローチャート。
【符号の説明】
【０１８２】
１  処理部
２  入力部
３  インタフェース部
４  記憶部
１０  Ｐｒｏｄｕｃｔ  Ｃｏｄｅ装置
１１  変換器（Ｃｏｍｐｒｅｓｓｏｒ）ψ
１２−１〜１２−ｍ  量子化器
１３  逆変換器（Ｅｘｐａｎｄｅｒ）φ
【図１】
2005196040.tif 000049
【図２】
2005196040.tif 000050
【図３】
2005196040.tif 000051
【図４】
2005196040.tif 000052
【図５】
2005196040.tif 000053
【図６】
2005196040.tif 000054
【図７】
2005196040.tif 000055
【図８】
2005196040.tif 000056
【手続補正書】
【提出日】平成16年1月20日(2004.1.20)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明は、以上の点に鑑み、ｃｏｍｐａｎｄｉｎｇ関数と積符号の組合せによる歪みあり符号化を用いることで、ベクトル量子化における計算量上の課題を解決することを目的とする。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明では、主に符号長を制限したときに、その制約の中で最も歪みを小さくする符号化器を求める問題を考える。そして、本発明では、従来の積符号による方式で考えられていなかった、入力語の特性に応じて最適あるいは準最適なｃｏｍｐａｎｄｉｎｇ関数の構成を、入力語のサンプルを用いて適応的に行う。より具体的には、ｃｏｍｐａｎｄｉｎｇ関数を構成するｃｏｍｐｒｅｓｓｏｒおよびｅｘｐａｎｄｅｒをパラメトリックにモデル化し、入力語をサンプルとしてパラメータの最適化を行うことで、入力語の特性を考慮したｃｏｍｐａｎｄｉｎｇ関数を構成する。これにより、一般の入力語に対して適用可能な、新しい符号化方式が提案される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
これに対して本実施の形態の符号化では、最近傍ベクトルを探索する代わりにｃｏｍｐｒｅｓｓｏｒ  ψ（ｘ；θα）と量子化関数Γによって、ｘに対するｒｅｐｒｏｄｕｃｔｉｏｎ  ｘ＾が決められる。仮にｃｏｍｐｒｅｓｓｏｒ  ψ（ｘ；θα）が要する計算量がパラメータθαに依存せずｃｃｏｍと書けるなら、関数Γ（ψ（ｘ；θα））に要する計算量ｃはｃｃｏｍと量子化関数Γ（・）に必要な計算量ｌｏｇ２Ｍとの合計
ｃ＝ｃｃｏｍ＋ｌｏｇ２Ｍ
になる。Ｍ＝２Ｒｎのとき
ｃ＝ｃｃｏｍ＋Ｒｎ
である。一方で、ｃｏｍｐｒｅｓｓｏｒ  ψ（ｘ；θα）に必要な計算量ｃｃｏｍはｃｏｍｐｒｅｓｓｏｒのモデルに依存する。表現能力の高い関数族のためにはモデルを複雑にする必要があるが、その代わり計算量は増大するので計算量はモデルの複雑さとのトレードオフで決められる。例えば、一般の線形変換による変換符号化の場合、
ｃｃｏｍ＝ｎｍ
となる。