(57)【特許請求の範囲】
【請求項１】
第１のデータを変換して得られる第２のデータを、第３のデータにしたがって符号化するデータ処理装置であって、
前記第１のデータを選択するとともに、その選択された第１のデータに対して所定の位置関係にある他の前記第１のデータを、基準データとして選択する選択手段と、
前記基準データの値ごとに生成され、前記第１および第２のデータが対応付けられた変換テーブルに基づいて、前記第１のデータを、前記第２のデータに変換する変換手段と、
前記第２のデータの少なくとも一部のデータの度数分布を求める度数分布算出手段と、
前記度数分布に応じて、前記一部のデータの中から、前記第３のデータにしたがって変更する変更対象データを決定するとともに、前記変更対象データを変更する値である変更データを決定する決定手段と、
前記第３のデータにしたがって、前記変更対象データを前記変更データに変更することにより、前記第２のデータに、前記第３のデータに関連するデータを埋め込む符号化手段と
を備え、
前記変換テーブルは、前記第１のデータのうちの所定の値のデータを前記基準データとして、前記第１のデータのうちの、前記基準データに対して所定の位置関係にあるものの度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第１のデータの度数分布に基づいて、前記基準データに対して度数分布が求められた各値の前記第１のデータに対して、その度数の昇順または降順に、前記第２のデータを割り当てることにより、前記基準データの値ごとに生成されたものである
ことを特徴とするデータ処理装置。
【請求項２】
前記決定手段は、前記一部のデータの中から、度数が最大のデータを、前記変更対象データとして決定する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記決定手段は、前記第２のデータがとり得る値のうち、度数が０の値を、前記変更データとして決定する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記決定手段は、複数の値を、前記変更データとして決定する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項５】
前記変換テーブルは、前記第１のデータのうちの所定の値のデータを前記基準データとして、前記第１のデータのうちの、前記基準データに対して時間的または空間的に近い位置にあるものの度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第１のデータの度数分布に基づいて、前記基準データの値ごとに生成されたものである
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項６】
前記変換テーブルは、前記第１のデータのうちの所定の値のデータを前記基準データとして、前記第１のデータのうちの、前記基準データに対して時間的または空間的に隣接するものの度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第１のデータの度数分布に基づいて、前記基準データの値ごとに生成されたものである
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項７】
前記第１のデータは、画像を構成する画素値である
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項８】
前記基準データの値ごとの前記変換テーブルを記憶する記憶手段をさらに備える
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項９】
前記基準データの値ごとの前記変換テーブルを生成する生成手段をさらに備える
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項１０】
第１のデータを変換して得られる第２のデータを、第３のデータにしたがって符号化するデータ処理方法であって、
前記第１のデータを選択するとともに、その選択された第１のデータに対して所定の位置関係にある他の前記第１のデータを、基準データとして選択する選択ステップと、
前記基準データの値ごとに生成され、前記第１および第２のデータが対応付けられた変換テーブルに基づいて、前記第１のデータを、前記第２のデータに変換する変換ステップと、
前記第２のデータの少なくとも一部のデータの度数分布を求める度数分布算出ステップと、
前記度数分布に応じて、前記一部のデータの中から、前記第３のデータにしたがって変更する変更対象データを決定するとともに、前記変更対象データを変更する値である変更データを決定する決定ステップと、
前記第３のデータにしたがって、前記変更対象データを前記変更データに変更することにより、前記第２のデータに、前記第３のデータに関連するデータを埋め込む符号化ステップと
を備え、
前記変換テーブルは、前記第１のデータのうちの所定の値のデータを前記基準データとして、前記第１のデータのうちの、前記基準データに対して所定の位置関係にあるものの度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第１のデータの度数分布に基づいて、前記基準データに対して度数分布が求められた各値の前記第１のデータに対して、その度数の昇順または降順に、前記第２のデータを割り当てることにより、前記基準データの値ごとに生成されたものである
ことを特徴とするデータ処理方法。
【請求項１１】
第１のデータを変換して得られる第２のデータを、第３のデータにしたがって符号化するデータ処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
前記第１のデータを選択するとともに、その選択された第１のデータに対して所定の位置関係にある他の前記第１のデータを、基準データとして選択する選択ステップと、
前記基準データの値ごとに生成され、前記第１および第２のデータが対応付けられた変換テーブルに基づいて、前記第１のデータを、前記第２のデータに変換する変換ステップと、
前記第２のデータの少なくとも一部のデータの度数分布を求める度数分布算出ステップと、
前記度数分布に応じて、前記一部のデータの中から、前記第３のデータにしたがって変更する変更対象データを決定するとともに、前記変更対象データを変更する値である変更データを決定する決定ステップと、
前記第３のデータにしたがって、前記変更対象データを前記変更データに変更することにより、前記第２のデータに、前記第３のデータに関連するデータを埋め込む符号化ステップと
を備えるプログラムが記録されており、
前記変換テーブルは、前記第１のデータのうちの所定の値のデータを前記基準データとして、前記第１のデータのうちの、前記基準データに対して所定の位置関係にあるものの度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第１のデータの度数分布に基づいて、前記基準データに対して度数分布が求められた各値の前記第１のデータに対して、その度数の昇順または降順に、前記第２のデータを割り当てることにより、前記基準データの値ごとに生成されたものである
ことを特徴とする記録媒体。
【請求項１２】
第１のデータを変換して得られる第２のデータを、第３のデータにしたがって符号化した符号化データを復号するデータ処理装置であって、
前記符号化データの少なくとも一部のデータの度数分布を求める度数分布算出手段と、
前記度数分布に基づき、前記一部のデータの中から、前記第３のデータにしたがって変更された変更対象データと、その変更対象データを変更した値である変更データとを決定する決定手段と、
前記変更データを、前記変更対象データに変更することにより、前記符号化データを、前記第２のデータに復号するとともに、前記符号化データに埋め込まれた前記第３のデータを復号する復号手段と、
前記第２のデータを選択するとともに、その選択された第２のデータに対して所定の位置関係にある、既に逆変換された前記第１のデータを、基準データとして選択する選択手段と、
前記基準データの値ごとに生成され、前記第１および第２のデータが対応付けられた変換テーブルに基づいて、前記第２のデータを、前記第１のデータに逆変換する逆変換手段と
を備え、
前記変換テーブルは、前記第１のデータのうちの所定の値のデータを前記基準データとして、前記第１のデータのうちの、前記基準データに対して所定の位置関係にあるものの度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第１のデータの度数分布に基づいて、前記基準データに対して度数分布が求められた各値の前記第１のデータに対して、その度数の昇順または降順に、前記第２のデータを割り当てることにより、前記基準データの値ごとに生成されたものである
ことを特徴とするデータ処理装置。
【請求項１３】
前記決定手段は、前記符号化データの中から、度数の変化が不連続になっているデータを、前記変更対象データまたは変更データとして決定する
ことを特徴とする請求項１２に記載のデータ処理装置。
【請求項１４】
前記決定手段は、複数の値を、前記変更データとして決定する
ことを特徴とする請求項１２に記載のデータ処理装置。
【請求項１５】
前記変換テーブルは、前記第１のデータのうちの所定の値のデータを前記基準データとして、前記第１のデータのうちの、前記基準データに対して時間的または空間的に近い位置にあるものの度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第１のデータの度数分布に基づいて、前記基準データの値ごとに生成されたものである
ことを特徴とする請求項１２に記載のデータ処理装置。
【請求項１６】
前記変換テーブルは、前記第１のデータのうちの所定の値のデータを前記基準データとして、前記第１のデータのうちの、前記基準データに対して時間的または空間的に隣接するものの度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第１のデータの度数分布に基づいて、前記基準データの値ごとに生成されたものである
ことを特徴とする請求項１２に記載のデータ処理装置。
【請求項１７】
前記第１のデータは、画像を構成する画素値である
ことを特徴とする請求項１２に記載のデータ処理装置。
【請求項１８】
前記基準データの値ごとの前記変換テーブルを記憶する記憶手段をさらに備える
ことを特徴とする請求項１２に記載のデータ処理装置。
【請求項１９】
前記基準データの値ごとの前記変換テーブルを取得する取得手段をさらに備える
ことを特徴とする請求項１２に記載のデータ処理装置。
【請求項２０】
第１のデータを変換して得られる第２のデータを、第３のデータにしたがって符号化した符号化データを復号するデータ処理方法であって、
前記符号化データの少なくとも一部のデータの度数分布を求める度数分布算出ステップと、
前記度数分布に基づき、前記一部のデータの中から、前記第３のデータにしたがって変更された変更対象データと、その変更対象データを変更した値である変更データとを決定する決定ステップと、
前記変更データを、前記変更対象データに変更することにより、前記符号化データを、前記第２のデータに復号するとともに、前記符号化データに埋め込まれた前記第３のデータを復号する復号ステップと、
前記第２のデータを選択するとともに、その選択された第２のデータに対して所定の位置関係にある、既に逆変換された前記第１のデータを、基準データとして選択する選択ステップと、
前記基準データの値ごとに生成され、前記第１および第２のデータが対応付けられた変換テーブルに基づいて、前記第２のデータを、前記第１のデータに逆変換する逆変換ステップと
を備え、
前記変換テーブルは、前記第１のデータのうちの所定の値のデータを前記基準データとして、前記第１のデータのうちの、前記基準データに対して所定の位置関係にあるものの度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第１のデータの度数分布に基づいて、前記基準データに対して度数分布が求められた各値の前記第１のデータに対して、その度数の昇順または降順に、前記第２のデータを割り当てることにより、前記基準データの値ごとに生成されたものである
ことを特徴とするデータ処理方法。
【請求項２１】
第１のデータを変換して得られる第２のデータを、第３のデータにしたがって符号化した符号化データを復号するデータ処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
前記符号化データの少なくとも一部のデータの度数分布を求める度数分布算出ステップと、
前記度数分布に基づき、前記一部のデータの中から、前記第３のデータにしたがって変更された変更対象データと、その変更対象データを変更した値である変更データとを決定する決定ステップと、
前記変更データを、前記変更対象データに変更することにより、前記符号化データを、前記第２のデータに復号するとともに、前記符号化データに埋め込まれた前記第３のデータを復号する復号ステップと、
前記第２のデータを選択するとともに、その選択された第２のデータに対して所定の位置関係にある、既に逆変換された前記第１のデータを、基準データとして選択する選択ステップと、
前記基準データの値ごとに生成され、前記第１および第２のデータが対応付けられた変換テーブルに基づいて、前記第２のデータを、前記第１のデータに逆変換する逆変換ステップと
を備えるプログラムが記録されており、
前記変換テーブルは、前記第１のデータのうちの所定の値のデータを前記基準データとして、前記第１のデータのうちの、前記基準データに対して所定の位置関係にあるものの度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第１のデータの度数分布に基づいて、前記基準データに対して度数分布が求められた各値の前記第１のデータに対して、その度数の昇順または降順に、前記第２のデータを割り当てることにより、前記基準データの値ごとに生成されたものである
ことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置およびデータ処理方法、並びに記録媒体に関し、特に、例えば、画像等を、高圧縮すること等ができるようにするデータ処理装置およびデータ処理方法、並びに記録媒体に関する。
【背景技術】
【０００２】
例えば、画像その他のデータを圧縮する方法としては、ハフマン符号化等のエントロピー符号化を用いる方法がある。
【０００３】
エントロピー符号化は、ビット列に対し統計的な性質を利用してより少ないビット列に変換する可逆符号化であり、例えば、ハフマン符号化が該当する。ハフマン符号化では、出現頻度の高い値に対して、短い符号語を割り当てる一方、出現頻度の低い値に対して、長い符号語を割り当てることで、データの圧縮が行われる。
【０００４】
このため、画像を、ハフマン符号化によって圧縮する場合には、その画像を構成する各画素について、その画素に隣接する画素（隣接画素）との差分を計算し、その差分値を、ハフマン符号化することが行われる。
【０００５】
即ち、画像を構成する画素の画素値そのものの度数分布には、ある程度の偏りはあるものの、一般には、それほど大きな偏りはない。これに対して、差分値は、隣接する画素どうしの差であり、一般には、０付近に集中するため、その度数分布は、０付近を最大度数とする比較的急峻な、大きな偏りを有するものとなる。
【０００６】
従って、差分値を対象として、ハフマン符号化を行うことにより、画素値そのものを対象とする場合に比較して、圧縮率を大きく向上させることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ここで、画素値どうしの単純な差分値は、元の画素値がＮビットで表されるとすると、最大でＮ＋１ビットで表される値になる。即ち、例えば、画素値が、０乃至２５５の範囲の８ビットで表されるとすると、そのような画素どうしの単純な差分は、−２５５乃至＋２５５の範囲の値となり、その表現に、９ビットが必要となる。この場合、差分値がとり得る値の数は、元の画素値がとり得る値の数のほぼ２倍になるから、ハフマン符号化において必要となる符号語の数も２倍となり、圧縮率を劣化させることになる。
【０００８】
そこで、差分をとる２つの画素値どうしの大小関係を判定し、その判定結果に基づいて、差分値を計算する方法を変えることにより、上述のような差分値のビット数の増加を防止する方法がある。
【０００９】
即ち、差分値を計算しようとして注目している注目画素（の画素値）Ａが、それに隣接する隣接画素（の画素値）Ｂ以上である場合には、注目画素Ａから隣接画素Ｂを減算し、その減算値を、そのまま差分データＣとする。具体的には、例えば、注目画素値Ａが２００で、隣接画素値Ｂが１０である場合には、２００−１０＝１９０が、差分値Ｃとされる。
【００１０】
一方、注目画素Ａが、隣接画素Ｂより小さい場合には、注目画素Ａから隣接画素Ｂを減算し、その減算値に、ある値を加算し、その加算結果を、差分値とする。即ち、画素がＮビットで表現されるとすると、注目画素Ａから隣接画素Ｂを減算して得られる減算値に、２Nを加算し、その加算結果を、差分値Ｃとする。具体的には、例えば、画素が８ビットで表され、注目画素値Ａが１０で、隣接画素値Ｂが２００である場合には、１０−２００＋２8＝６６が、差分値Ｃとされる。
【００１１】
以上のような差分値Ｃを求めるようにすることで、その差分値Ｃのビット数は、元の画素のビット数と変わらない（元の画素がＮビットで表現されるものであれば、差分データもＮビットで表現することができる）。従って、差分値のビット数が増加することによる圧縮率の低下を防止することができる。
【００１２】
なお、以上のようにして求められた差分値Ｃは、次のようにして、元の画素（注目画素）Ａに復元することができる。
【００１３】
即ち、まず、差分値Ｃを隣接画素Ｂと加算し、その加算値を求める。そして、いま、画素がＮビットで表されるとすると、その加算値が２N−１以下である場合には、その加算値が、そのまま、元の画素Ａの復元結果となる。
【００１４】
一方、差分値Ｃとを隣接画素Ｂとの加算値が２N−１より大きい場合には、その加算値から、２Nを減算する。この場合、その減算値が、元の画素Ａの復元結果となる。
【００１５】
以上のようにすることで、ある画素Ａと、他の画素Ｂとの差分を、そのビット数を増加させずに表現することができ、さらに、その差分を、元の画素Ａに復元することができる。
【００１６】
なお、この場合、差分値の度数分布は、０および２N−１付近を最大度数とする比較的急峻な、大きな偏りを有するものとなる。
【００１７】
以上のように、隣接する画素どうしの差分値の度数分布は、ある値を中心として比較的急峻な、大きな偏りを有する分布となるが、画像について、より急峻で、より大きな偏りを有する度数分布が得られれば、より高い圧縮率を実現することができる。
【００１８】
本発明は、このような状況に鑑みてなされたものであり、画像その他のデータを、より高い圧縮率で圧縮することができるようにするものである。
【課題を解決するための手段】
【００１９】
本発明の第１の側面のデータ処理装置は、第１のデータを選択するとともに、その選択された第１のデータに対して所定の位置関係にある他の第１のデータを、基準データとして選択する選択手段と、基準データの値ごとに生成され、第１および第２のデータが対応付けられた変換テーブルに基づいて、第１のデータを、第２のデータに変換する変換手段と、第２のデータの少なくとも一部のデータの度数分布を求める度数分布算出手段と、度数分布に応じて、一部のデータの中から、第３のデータにしたがって変更する変更対象データを決定するとともに、変更対象データを変更する値である変更データを決定する決定手段と、第３のデータにしたがって、変更対象データを変更データに変更することにより、第２のデータに、第３のデータに関連するデータを埋め込む符号化手段とを備え、変換テーブルは、第１のデータのうちの所定の値のデータを基準データとして、第１のデータのうちの、基準データに対して所定の位置関係にあるものの度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第１のデータの度数分布に基づいて、基準データに対して度数分布が求められた各値の第１のデータに対して、その度数の昇順または降順に、第２のデータを割り当てることにより、基準データの値ごとに生成されたものであることを特徴とする。
【００２０】
第１の側面のデータ処理装置において、決定手段には、一部のデータの中から、度数が最大のデータを、変更対象データとして決定させることができる。
【００２１】
第１の側面のデータ処理装置において、決定手段には、第２のデータがとり得る値のうち、度数が０の値を、変更データとして決定させることができる。
【００２２】
第１の側面のデータ処理装置において、決定手段には、複数の値を、変更データとして決定させることができる。
【００２４】
第１の側面のデータ処理装置において、変換テーブルは、第１のデータのうちの所定の値のデータを基準データとして、第１のデータのうちの、基準データに対して時間的または空間的に近い位置にあるものの度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第１のデータの度数分布に基づいて、基準データの値ごとに生成されたものとすることができる。
【００２５】
第１の側面のデータ処理装置において、変換テーブルは、第１のデータのうちの所定の値のデータを基準データとして、第１のデータのうちの、基準データに対して時間的または空間的に隣接するものの度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第１のデータの度数分布に基づいて、基準データの値ごとに生成されたものとすることができる。
【００２７】
第１の側面のデータ処理装置において、第１のデータは、画像を構成する画素値とすることができる。
【００２８】
第１の側面のデータ処理装置には、基準データの値ごとの変換テーブルを記憶する記憶手段をさらに設けることができる。
【００２９】
第１の側面のデータ処理装置において、基準データの値ごとの変換テーブルを生成する生成手段をさらに設けることができる。
【００３０】
本発明の第１の側面のデータ処理方法は、第１のデータを選択するとともに、その選択された第１のデータに対して所定の位置関係にある他の第１のデータを、基準データとして選択する選択ステップと、基準データの値ごとに生成され、第１および第２のデータが対応付けられた変換テーブルに基づいて、第１のデータを、第２のデータに変換する変換ステップと、第２のデータの少なくとも一部のデータの度数分布を求める度数分布算出ステップと、度数分布に応じて、一部のデータの中から、第３のデータにしたがって変更する変更対象データを決定するとともに、変更対象データを変更する値である変更データを決定する決定ステップと、第３のデータにしたがって、変更対象データを変更データに変更することにより、第２のデータに、第３のデータに関連するデータを埋め込む符号化ステップとを備え、変換テーブルは、第１のデータのうちの所定の値のデータを基準データとして、第１のデータのうちの、基準データに対して所定の位置関係にあるものの度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第１のデータの度数分布に基づいて、基準データに対して度数分布が求められた各値の第１のデータに対して、その度数の昇順または降順に、第２のデータを割り当てることにより、基準データの値ごとに生成されたものであることを特徴とする。
【００３１】
本発明の第１の側面の記録媒体は、第１のデータを選択するとともに、その選択された第１のデータに対して所定の位置関係にある他の第１のデータを、基準データとして選択する選択ステップと、基準データの値ごとに生成され、第１および第２のデータが対応付けられた変換テーブルに基づいて、第１のデータを、第２のデータに変換する変換ステップと、第２のデータの少なくとも一部のデータの度数分布を求める度数分布算出ステップと、度数分布に応じて、一部のデータの中から、第３のデータにしたがって変更する変更対象データを決定するとともに、変更対象データを変更する値である変更データを決定する決定ステップと、第３のデータにしたがって、変更対象データを変更データに変更することにより、第２のデータに、第３のデータに関連するデータを埋め込む符号化ステップとを備えるプログラムが記録されており、変換テーブルは、第１のデータのうちの所定の値のデータを基準データとして、第１のデータのうちの、基準データに対して所定の位置関係にあるものの度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第１のデータの度数分布に基づいて、基準データに対して度数分布が求められた各値の第１のデータに対して、その度数の昇順または降順に、第２のデータを割り当てることにより、基準データの値ごとに生成されたものであることを特徴とする。
【００３２】
本発明の第２の側面のデータ処理装置は、符号化データの少なくとも一部のデータの度数分布を求める度数分布算出手段と、度数分布に基づき、一部のデータの中から、第３のデータにしたがって変更された変更対象データと、その変更対象データを変更した値である変更データとを決定する決定手段と、変更データを、変更対象データに変更することにより、符号化データを、第２のデータに復号するとともに、符号化データに埋め込まれた第３のデータを復号する復号手段と、第２のデータを選択するとともに、その選択された第２のデータに対して所定の位置関係にある、既に逆変換された第１のデータを、基準データとして選択する選択手段と、基準データの値ごとに生成され、第１および第２のデータが対応付けられた変換テーブルに基づいて、第２のデータを、第１のデータに逆変換する逆変換手段とを備え、変換テーブルは、第１のデータのうちの所定の値のデータを基準データとして、第１のデータのうちの、基準データに対して所定の位置関係にあるものの度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第１のデータの度数分布に基づいて、基準データに対して度数分布が求められた各値の第１のデータに対して、その度数の昇順または降順に、第２のデータを割り当てることにより、基準データの値ごとに生成されたものであることを特徴とする。
【００３３】
第２の側面のデータ処理装置において、決定手段には、符号化データの中から、度数の変化が不連続になっているデータを、変更対象データまたは変更データとして決定させることができる。
【００３４】
第２の側面のデータ処理装置において、決定手段には、複数の値を、変更データとして決定させることができる。
【００３６】
第２の側面のデータ処理装置において、変換テーブルは、第１のデータのうちの所定の値のデータを基準データとして、第１のデータのうちの、基準データに対して時間的または空間的に近い位置にあるものの度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第１のデータの度数分布に基づいて、基準データの値ごとに生成されたものとすることができる。
【００３７】
第２の側面のデータ処理装置において、変換テーブルは、第１のデータのうちの所定の値のデータを基準データとして、第１のデータのうちの、基準データに対して時間的または空間的に隣接するものの度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第１のデータの度数分布に基づいて、基準データの値ごとに生成されたものとすることができる。
【００３９】
第２の側面のデータ処理装置において、第１のデータは、画像を構成する画素値とすることができる。
【００４０】
第２の側面のデータ処理装置には、基準データの値ごとの変換テーブルを記憶する記憶手段をさらに設けることができる。
【００４１】
第２の側面のデータ処理装置には、基準データの値ごとの変換テーブルを取得する取得手段をさらに設けることができる。
【００４２】
本発明の第２の側面のデータ処理方法は、符号化データの少なくとも一部のデータの度数分布を求める度数分布算出ステップと、度数分布に基づき、一部のデータの中から、第３のデータにしたがって変更された変更対象データと、その変更対象データを変更した値である変更データとを決定する決定ステップと、変更データを、変更対象データに変更することにより、符号化データを、第２のデータに復号するとともに、符号化データに埋め込まれた第３のデータを復号する復号ステップと、第２のデータを選択するとともに、その選択された第２のデータに対して所定の位置関係にある、既に逆変換された第１のデータを、基準データとして選択する選択ステップと、基準データの値ごとに生成され、第１および第２のデータが対応付けられた変換テーブルに基づいて、第２のデータを、第１のデータに逆変換する逆変換ステップとを備え、変換テーブルは、第１のデータのうちの所定の値のデータを基準データとして、第１のデータのうちの、基準データに対して所定の位置関係にあるものの度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第１のデータの度数分布に基づいて、基準データに対して度数分布が求められた各値の第１のデータに対して、その度数の昇順または降順に、第２のデータを割り当てることにより、基準データの値ごとに生成されたものであることを特徴とする。
【００４３】
本発明の第２の側面の記録媒体は、符号化データの少なくとも一部のデータの度数分布を求める度数分布算出ステップと、度数分布に基づき、一部のデータの中から、第３のデータにしたがって変更された変更対象データと、その変更対象データを変更した値である変更データとを決定する決定ステップと、変更データを、変更対象データに変更することにより、符号化データを、第２のデータに復号するとともに、符号化データに埋め込まれた第３のデータを復号する復号ステップと、第２のデータを選択するとともに、その選択された第２のデータに対して所定の位置関係にある、既に逆変換された第１のデータを、基準データとして選択する選択ステップと、基準データの値ごとに生成され、第１および第２のデータが対応付けられた変換テーブルに基づいて、第２のデータを、第１のデータに逆変換する逆変換ステップとを備えるプログラムが記録されており、変換テーブルは、第１のデータのうちの所定の値のデータを基準データとして、第１のデータのうちの、基準データに対して所定の位置関係にあるものの度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第１のデータの度数分布に基づいて、基準データに対して度数分布が求められた各値の第１のデータに対して、その度数の昇順または降順に、第２のデータを割り当てることにより、基準データの値ごとに生成されたものであることを特徴とする。
【００４４】
本発明の第１の側面のデータ処理装置およびデータ処理方法、並びに記録媒体においては、第１のデータが選択されるとともに、その選択された第１のデータに対して所定の位置関係にある他の第１のデータが、基準データとして選択される。さらに、基準データの値ごとに生成され、第１および第２のデータが対応付けられた変換テーブルに基づいて、第１のデータが、第２のデータに変換される。また、第２のデータの少なくとも一部のデータの度数分布が求められ、その度数分布に応じて、一部のデータの中から、第３のデータにしたがって変更する変更対象データが決定されるとともに、変更対象データを変更する値である変更データが決定される。そして、第３のデータにしたがって、変更対象データが変更データに変更されることにより、第２のデータに、第３のデータに関連するデータが埋め込まれる。そして、変換テーブルは、第１のデータのうちの所定の値のデータを基準データとして、第１のデータのうちの、基準データに対して所定の位置関係にあるものの度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第１のデータの度数分布に基づいて、基準データに対して度数分布が求められた各値の第１のデータに対して、その度数の昇順または降順に、第２のデータを割り当てることにより、基準データの値ごとに生成されたものである。
【００４５】
本発明の第２の側面のデータ処理装置およびデータ処理方法、並びに記録媒体において
は、符号化データの少なくとも一部のデータの度数分布が求められ、その度数分布に基づ
き、一部のデータの中から、第３のデータにしたがって変更された変更対象データと、そ
の変更対象データを変更した値である変更データとが決定される。さらに、変更データが
、変更対象データに変更されることにより、符号化データが、第２のデータに復号される
とともに、符号化データに埋め込まれた第３のデータが復号される。その後、第２のデー
タが選択されるとともに、その選択された第２のデータに対して所定の位置関係にある、
既に逆変換された第１のデータが、基準データとして選択される。そして、基準データの
値ごとに生成され、第１および第２のデータが対応付けられた変換テーブルに基づいて、
第２のデータが、第１のデータに逆変換される。そして、変換テーブルは、第１のデータのうちの所定の値のデータを基準データとして、第１のデータのうちの、基準データに対して所定の位置関係にあるものの度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第１のデータの度数分布に基づいて、基準データに対して度数分布が求められた各値の第１のデータに対して、その度数の昇順または降順に、第２のデータを割り当てることにより、基準データの値ごとに生成されたものである。
【発明の効果】
【００４６】
本発明の第１の側面によれば、多量のデータを埋め込むことが可能となる。また、本発明の第２の側面によれば、多量のデータが埋め込まれた符号化データを、元のデータに復元することが可能となる。
【発明を実施するための最良の形態】
【００４７】
図１は、本発明を適用した画像変換装置の一実施の形態の構成例を示している。
【００４８】
この画像変換装置においては、画像データが、隣接する画素どうしの差分値以上に、急峻で大きな偏りを有する度数分布となるようなデータに変換されるようになっている。
【００４９】
即ち、フレームメモリ１には、変換の対象であるディジタル画像データが、例えば、１フレームごとに供給されるようになっており、フレームメモリ１は、そこに供給される画像データを、順次記憶する。
【００５０】
コードテーブル作成部２は、画像データを構成する画素値を変換するのに用いるコードテーブルを、画像データを構成する画素値が取り得る値ごとに作成（生成）し、コードテーブル記憶部３に供給する。
【００５１】
なお、コードテーブル作成部２においては、フレームメモリ１に記憶された各フレームごとの画像データを用いて、そのフレームに使用するコードテーブルを作成することもできるし、コードテーブル作成用にあらかじめ用意された画像データを用いて、すべてのフレームに共通に使用するコードテーブルを作成することもできる。
【００５２】
コードテーブル記憶部３は、コードテーブル作成部２から供給されるコードテーブルを一時記憶する。
【００５３】
変換対象画素取得部４は、フレームメモリ１に記憶されたフレームを構成する画素（画素値）を、いわゆるラスタスキャン順に読み出し（取得し）、読み出した画素を、コードテーブル記憶部３に記憶されたコードテーブルにしたがって変換する対象（以下、適宜、変換対象画素という）として、変換部６に供給する。
【００５４】
基準画素取得部５は、変換対象画素に対して所定の位置関係にある画素を、フレームメモリ１から読み出し（取得し）、基準画素として、変換部６に出力する。即ち、基準画素取得部５は、変換対象画素に対して空間的または時間的に隣接する画素等の、近い位置にある画素を、基準画素として、フレームメモリ１から読み出し、変換部６に出力する。なお、本実施の形態では、基準画素取得部５は、例えば、変換対象画素の左隣の画素を、基準画素として、フレームメモリ１から読み出すものとする。
【００５５】
変換部６は、コードテーブル記憶部３に記憶された、画素値が取り得る値ごとのコードテーブルのうち、基準画素取得部５からの基準画素の画素値に対するものを参照し、そのコードテーブルにしたがって、変換対象画素取得部４からの変換対象画素の画素値を変換する。さらに、変換部６は、その変換後の画素値を、フレームメモリ７に供給する。
【００５６】
フレームメモリ７は、変換部６からの、変換対象画素の変換後の画素値を、対応する位置のアドレスに記憶し、１フレーム分の画素値を記憶すると、そのような画素値でなる画像（以下、適宜、変換画像という）を出力する。
【００５７】
次に、図２は、図１のコードテーブル作成部２の構成例を示している。
【００５８】
フレームメモリ１１には、コードテーブルの作成に用いる画像データであるコードテーブル作成用画像データが供給されるようになっており、フレームメモリ１１は、そのコードテーブル作成用画像データを記憶する。
【００５９】
ここで、上述したように、コードテーブル作成用画像データは、図１のフレームメモリ１に記憶された画像データであっても良いし、コードテーブルの作成用にあらかじめ用意された画像データであっても良い。
【００６０】
画素選択部１２は、フレームメモリ１１に記憶された画像データのフレームを構成する画素のうち、ある画素値のものを、基準画素として選択する。さらに、画素選択部１２は、その選択した基準画素について、図１の変換対象画素取得部４が取得する変換対象画素と、その変換対象画素に対して、基準画素取得部５が取得する基準画素との位置関係が成立する画素を、フレームメモリ１１から、さらに選択する。
【００６１】
即ち、本実施の形態では、上述したように、基準画素取得部５は、変換対象画素取得部４が取得する変換対象画素に対して、その左隣の画素を、基準画素として取得する。従って、画素選択部１２は、図３に示すように、自身が選択した基準画素に対して、その右隣の画素を選択する。このように、画素選択部１２は、図１の変換対象画素選択部４が変換対象画素として取得する画素に相当する画素を選択する。
【００６２】
ここで、画素選択部１２が、基準画素に対して選択する、変換対象画素に相当する画素を、以下、適宜、選択画素という。
【００６３】
画素選択部１２において選択された基準画素と、その基準画素に対する選択画素は、ヒストグラム作成部１３に供給されるようになっている。
【００６４】
ヒストグラム作成部１３は、図４に示すように、基準画素に対して、画素選択部１２が選択する選択画素の画素値（例えば、輝度値）の度数分布（ヒストグラム）を、基準画素の画素値ごとに作成し、コード生成部１４に供給する。
【００６５】
コード生成部１４は、ヒストグラム作成部１３から供給される、基準画素の画素値ごとの選択画素の度数分布に基づいて、基準画素の画素値ごとに、選択画素の画素値と、その画素値に割り当てる割当コードとを対応付けたコードテーブルを生成し、コードテーブル記憶部３（図１）に供給する。
【００６６】
ここで、コード生成部１４において、選択画素の度数分布に基づいて生成されるコードテーブルについて説明する。
【００６７】
図５は、実際の画像を用いて求めた選択画素の度数分布を示している。
【００６８】
即ち、図５は、画素値が８ビットで表現される画像において、画素値が２０の画素を基準画素としたときの、その右隣の画素である選択画素の画素値の度数分布と、画素値が１２８の画素を基準画素としたときの、その右隣の画素である選択画素の画素値の度数分布とを示している。
【００６９】
図５から、ある画素値の基準画素の右隣の画素である選択画素の画素値の度数分布は、一様な分布ではなく、不均一な分布となり、さらに、基準画素の画素値を中心とする左右対称の分布にはならない（ことが多い）。
【００７０】
このため、ある画素から、その左隣の画素（本実施の形態では、基準画素）を減算して得られる差分値が、必ずしも、最適な偏りを有するとは限らない。
【００７１】
即ち、例えば、いま、ある画素値の基準画素の右隣の画素（選択画素）の画素値の度数分布が、図６（Ａ）に示すようであったとする。ここで、図６（Ａ）において、横軸は、基準画素の画素値を基準とする、その右隣の画素の画素値を表し、即ち、基準画素の右隣の画素から、基準画素を減算して得られる差分値を表し、縦軸は、その差分値の度数（頻度）を表す。
【００７２】
画素値を、その画素の左隣の画素（基準画素）との差分値で表現するということは、その差分値の絶対値が小さい方が度数が高く、差分値の絶対値が大きい方が度数が低いことを前提として、各画素値に対して、その差分値の絶対値の昇順（または降順）に、コードを割り当てることに相当する。
【００７３】
従って、差分値による表現では、例えば、図６（Ｂ）に示すように、差分値が０の画素値には、コード０が、差分値が＋１の画素値には、コード１が、差分値が−１の画素値には、コード２が、差分値が＋２の画素値には、コード３が、差分値が−２の画素値には、コード３が、・・・、それぞれ割り当てられる。
【００７４】
この場合、割り当てられたコード（割当コード）を、横軸にした度数分布は、図６（Ｃ）に示すようになり、マクロ的には（全体としては）、コードが大きくなるにつれて、度数が減少するような分布となるが、ミクロ的には、度数は、単調減少せず、多少の凹凸をもったものとなる。この凹凸は、図６（Ａ）に示した度数分布において、差分値の絶対値が小さい方（大きい方）が、必ずしも度数が高く（低く）なるとはならないことに起因する。
【００７５】
このように、ある画素値の基準画素の右隣の画素（選択画素）について、基準画素との差分値に基づいて割り当てた割当コードの度数分布は、図６（Ｃ）に示すような凹凸をもったものとなることから、他の画素値の基準画素の右隣の画素についての割当コードの度数分布も、同様に、凹凸をもったものとなる。
【００７６】
従って、画像全体についての差分値に基づく割当コードの度数分布は、マクロ的には、コードが大きくなるにつれて度数が減少する、各画素値の基準画素に対する度数分布を加算したものとなるから、全体としては、ある程度急峻で、かつある程度大きな偏りを有する分布となる。しかしながら、画像全体についての差分値に基づく割当コードの度数分布は、ミクロ的には、上述したような凹凸をもった、各画素値の基準画素に対する度数分布を加算したものであるから、その急峻さおよび偏りは、凹凸の影響で、いわば鈍ったものとなる。
【００７７】
そこで、コード生成部１４は、度数分布が、より急峻で、かつ、より偏りを有するものとなるように、各画素値に、次のような割当コードを割り当てるコードテーブルを生成するようになっている。
【００７８】
即ち、例えば、いま、ある画素値の基準画素の右隣の画素（選択画素）の画素値の度数分布として、図６（Ａ）と同様の図７（Ａ）に示すものが、ヒストグラム作成部１３から、コード生成部１４に供給されたとする。
【００７９】
この場合、コード生成部１４は、ヒストグラム作成部１３からの度数分布に基づいて、選択画素の各画素値（基準画素を基準とする画素値）に対して、その画素値の度数の昇順（または降順）に、コードを割り当てる。
【００８０】
従って、図７（Ａ）に示した度数分布においては、画素値（基準画素を基準とする画素値）が、０，＋１，＋２，−１，＋３，−２，＋４，＋５，−３，−４（−５），・・・の順で、度数が小さくなっているから、コード生成部１４では、図７（Ｂ）に示すように、各画素値に対して、そのような順番で、例えば、０からの整数値のコードが割り当てられたコードテーブルが作成される。
【００８１】
この場合、割り当てられたコード（割当コード）を、横軸にした度数分布は、図７（Ｃ）に示すように、単調減少の分布となる。
【００８２】
同様に、他の画素値の基準画素の右隣の画素（選択画素）について、基準画素を基準とする画素値の度数分布に基づいて割り当てた割当コードの度数分布も、図７（Ｃ）に示すような単調減少の分布となる。
【００８３】
従って、この場合、画像全体の割当コードの度数分布は、上述したような単調減少の各度数分布を加算したものとなるから、図６において差分値表現について説明した場合に比較して、より急峻で、かつより大きな偏りを有する分布となる。
【００８４】
以上のように、基準画素の右隣の画素の画素値の度数、つまり、画素値の存在確率に基づいて、その画素値に割り当てるコードを決定し、そのようなコードに変換することで、コードの度数分布は、より急峻で、かつより大きな偏りを有するものとなる。
【００８５】
その結果、図７（Ｂ）に示したコードテーブルに基づいて、画素値を割当コードに変換した画素（以下、適宜、変換画素という）で構成される画像（変換画像）は、より高い圧縮率で圧縮することが可能となる。
【００８６】
次に、図８のフローチャートを参照して、図１の画像変換装置で行われる、画像を変換画像に変換する変換処理について説明する。
【００８７】
フレームメモリ１には、変換対象の画像が、順次供給されて記憶され、また、コードテーブル作成部２には、コードテーブル作成用画像が供給される。なお、ここでは、例えば、フレームメモリ１に記憶された、変換対象の画像が、その画像を変換するためのコードテーブルを作成するのに用いるコードテーブル作成用画像として供給されるものとする。
【００８８】
コードテーブル作成部２は、ステップＳ１において、フレームメモリ１に記憶された、いま変換の対象となっているフレームである注目フレームの画像を用いて、コードテーブル作成処理を行い、これにより、基準画素となる画素がとり得る各画素値ごとのコードテーブルを作成する。この各画素値ごとのコードテーブルは、コードテーブル記憶部３に供給されて記憶され、ステップＳ２に進む。
【００８９】
ステップＳ２では、変換対象画素取得部４は、フレームメモリ１の注目フレームを構成する画素のうち、ラスタスキャン順で、まだ、変換対象画素とされていない画素を、変換対象画素として読み出し、変換部６に供給する。さらに、ステップＳ２では、基準画素取得部５は、フレームメモリ１から、変換対象画素の左隣の画素を、基準画素として読み出し、変換部６に供給する。
【００９０】
そして、ステップＳ３に進み、変換部６は、コードテーブル記憶部３に記憶された、画素値が取り得る値ごとのコードテーブルのうち、基準画素取得部５からの基準画素の画素値に対するものを参照し、そのコードテーブルにしたがって、変換対象画素取得部４からの変換対象画素の画素値を、その画素値に対応付けられている割当コードに変換して、ステップＳ４に進む。ステップＳ４では、変換部６は、画素値を割当コードに変換した変換対象画素、即ち、変換画素を、フレームメモリ７に供給して、対応する位置のアドレスに記憶させる。
【００９１】
その後、ステップＳ５に進み、注目フレームを構成するすべての画素を、変換対象画素として、その画素値の変換を行ったかどうかが判定される。ステップＳ５において、注目フレームを構成する画素のすべてを、変換対象画素として、その画素値の変換を、まだ行っていないと判定された場合、ステップＳ２に戻り、以下、同様の処理が繰り返される。
【００９２】
また、ステップＳ５において、注目フレームを構成する画素のすべてを、変換対象画素として、その画素値の変換を行ったと判定された場合、即ち、フレームメモリ７に、注目フレームに対応する変換画像が記憶された場合、フレームメモリ７から変換画像が読み出されるとともに、コードテーブル記憶部３に記憶された、その変換画像を得るのに用いたコードテーブル（各画素値ごとのコードテーブルのセット）が読み出されて出力される。
【００９３】
そして、ステップＳ６に進み、フレームメモリ１に、注目フレームの次のフレームが記憶されているかどうかが判定される。ステップＳ６において、注目フレームの次のフレームが記憶されていると判定された場合、その、次のフレームを、新たに注目フレームとして、ステップＳ１に戻り、以下、同様の処理が繰り返される。
【００９４】
また、ステップＳ６において、フレームメモリ１に、注目フレームの次のフレームが記憶されていないと判定された場合、処理を終了する。
【００９５】
なお、図８のフローチャートによれば、あるフレームの画像が変換画像に変換されるごとに、その変換に用いるコードテーブルが作成されるから、各フレームごとに、そのフレームに対するコードテーブルが得られることになる。
【００９６】
但し、コードテーブルの作成は、例えば、２フレーム以上の画像ごとに作成することが可能である。
【００９７】
また、コードテーブルは、所定の画像を用いて、あらかじめ作成しておき、コードテーブル記憶部３に記憶させておくことも可能である。この場合、図１の画像変換装置において、コードテーブル作成部２は不要となる（従って、図８のステップＳ１の処理も不要である）。さらに、この場合、一連の画像を変換するのに、１セットのコードテーブルがあれば済むことになる。
【００９８】
次に、図９のフローチャートを参照して、図８のステップＳ１で行われる、コードテーブル作成部２（図２）によるコードテーブル作成処理について、さらに説明する。
【００９９】
フレームメモリ１１には、コードテーブル作成用画像データが供給されて記憶される。
【０１００】
そして、ステップＳ１１において、画素選択部１２は、画像データを構成する画素値が取り得る値のうちの１つを、基準画素の画素値として設定し、ステップＳ１２に進む。ステップＳ１２では、画素選択部１２は、フレームメモリ１１のコードテーブル作成用画像データから、ステップＳ１１で設定された画素値（以下、適宜、設定画素値という）を有する画素を、基準画素として検索し、その基準画素の右隣の画素を、選択画素として選択して、ヒストグラム作成部１３に供給する。
【０１０１】
ヒストグラム作成部１３は、ステップＳ１３において、画素選択部１２からの選択画素の画素値の度数分布（ヒストグラム）を作成し、コード生成部１４に供給する。コード生成部１４は、ステップＳ１４において、ヒストグラム作成部１３からの度数分布に基づいて、いま基準画素となっている画素値（設定画素値）に対するコードテーブルを、図７で説明したようにして作成する。
【０１０２】
即ち、コード生成部１４は、ヒストグラム作成部１３からの度数分布に基づき、基準画素の右隣の画素（選択画素）の各画素値（基準画素を基準とする画素値）に対して、その画素値の度数の昇順に、コードを割り当て、これにより、いま基準画素となっている画素値（設定画素値）に対するコードテーブルを作成する。
【０１０３】
そして、ステップＳ１５に進み、画素選択部１２は、画像データを構成する画素値が取り得る値のすべてを、設定画素値として処理を行ったかどうかを判定する。ステップＳ１５において、画像データを構成する画素値が取り得る値のすべてを、設定画素値として、まだ、処理を行っていないと判定された場合、ステップＳ１１に戻り、画素選択部１２において、画像データを構成する画素値が取り得る値のうちの、まだ設定画素値とされていない画素値の１つが、新たな設定画素値とされ、以下、同様の処理が繰り返される。
【０１０４】
一方、ステップＳ１５において、画像データを構成する画素値が取り得る値のすべてを、設定画素値として処理を行ったと判定された場合、即ち、画像データを構成する画素値が取り得る値のすべてに対して、コードテーブルが得られた場合、コード生成部１４は、そのコードテーブルを、コードテーブル記憶部３（図１）に出力して、リターンする。
【０１０５】
なお、図１の画像変換装置において（後述する図１０の画像逆変換装置においても同様）、フレームの左端または右端の画素の左隣または右隣の画素が必要な場合は、その左隣または右隣の画素は、例えば、左端または右端の画素と同一の画素値を有するものとして、あるいは、所定の画素値（例えば、０など）を有するものとして、処理が行われる。
【０１０６】
次に、図１０は、図１の画像変換装置が出力する変換画像を、元の画像に逆変換する画像逆変換装置の一実施の形態の構成例を示している。
【０１０７】
図１の画像変換装置が出力する変換画像とコードテーブルは、フレームメモリ２３とコードテーブル取得部２１に、それぞれ供給されるようになっている。
【０１０８】
コードテーブル取得部２１は、そこに供給される各画素値ごとのコードテーブルを取得し、コードテーブル記憶部２２に供給する。コードテーブル記憶部２２は、コードテーブル取得部２１からのコードテーブルを記憶する。
【０１０９】
フレームメモリ２３は、そこに供給される変換画像を、例えば、１フレーム単位で順次記憶する。逆変換対象画素取得部２４は、フレームメモリ２３に記憶された変換画像を構成する変換画素を、例えば、ラスタスキャン順に、順次、逆変換の対象（以下、適宜、逆変換対象画素という）として取得し、逆変換部２５に供給する。
【０１１０】
逆変換部２５には、逆変換対象画素取得部２４から逆変換対象画素が供給される他、基準画素取得部２７から、基準画素が供給されるようになっている。逆変換部２５は、コードテーブル記憶部２２に記憶された、画素値が取り得る値ごとのコードテーブルのうち、基準画素取得部２７からの基準画素の画素値に対するものを参照し、そのコードテーブルにしたがって、逆変換対象画素取得部２４からの逆変換対象画素の画素値としての割当コードを、元の画素値に逆変換する。
さらに、逆変換部２５は、その逆変換後の画素値を、フレームメモリ２６に供給する。
【０１１１】
フレームメモリ２６は、逆変換部２５からの、逆変換された画素の画素値（元の画素値）を、対応する位置のアドレスに記憶し、１フレーム分の画素値を記憶すると、即ち、元の画像を復元すると、その復元した元の画像を出力する。
【０１１２】
基準画素取得部２７は、フレームメモリ２６に記憶された、既に逆変換された画素のうち、逆変換対象画素が、変換対象画素とされた場合に、図１の画像変換装置において基準画素とされる画素を取得し、これを基準画素として、逆変換部２５に供給する。即ち、本実施の形態では、基準画素取得部２７は、フレームメモリ２６に記憶された、既に逆変換された画素のうち、逆変換対象画素の左隣の画素を、基準画素として取得し、逆変換部２５に供給する。
【０１１３】
なお、本実施の形態では、逆変換対象画素取得部２４は、フレームメモリ２３に記憶された変換画像を構成する変換画素を、ラスタスキャン順に、逆変換対象画素として取得するので、その逆変換対象画素の左隣の画素は、既に、逆変換され、元の画素に復元されて、フレームメモリ２６に記憶されている。
【０１１４】
次に、図１１のフローチャートを参照して、図１０の画像逆変換装置で行われる、変換画像を、元の画像に逆変換する逆変換処理について説明する。
【０１１５】
図１の画像変換装置が出力する変換画像と各画素値ごとのコードテーブルが供給されると、ステップＳ２１において、フレームメモリ２３は、その変換画像を記憶し、コードテーブル取得部２１は、変換画像とともに供給されるコードテーブルを取得して、コードテーブル記憶部２２に供給する。コードテーブル記憶部２２では、コードテーブル取得部２１からのコードテーブルが記憶される。
【０１１６】
そして、ステップＳ２２に進み、逆変換対象画素取得部２４において、フレームメモリ２３に記憶された変換画像を構成する変換画素のうち、ラスタスキャン順で、まだ、逆変換対象画素とされていないものが、逆変換対象画素として読み出され、逆変換部２５に供給される。さらに、ステップＳ２２では、基準画素取得部２７において、フレームメモリ２６に記憶された、既に逆変換された画素のうち、逆変換対象画素の左隣の画素が、基準画素として取得され、逆変換部２５に供給される。
【０１１７】
逆変換部２５は、ステップＳ２３において、コードテーブル記憶部２２に記憶された、画素値が取り得る値ごとのコードテーブルのうち、基準画素取得部２７からの基準画素の画素値に対するものを参照し、そのコードテーブルにしたがって、逆変換対象画素取得部２４からの逆変換対象画素の画素値としての割当コードを、元の画素値に逆変換する。そして、ステップＳ２４において、逆変換部２５は、その逆変換後の画素値を、フレームメモリ２６に供給し、対応する位置のアドレスに記憶させて、ステップＳ２５に進む。
【０１１８】
ステップＳ２５では、逆変換対象画素取得部２４において、フレームメモリ２３に記憶された変換画像を構成するすべての画素を、逆変換対象画素として、その画素値の逆変換を行ったかどうかが判定される。ステップＳ２５において、変換画像を構成する画素のすべてを、逆変換対象画素として、その画素値の変換を、まだ行っていないと判定された場合、ステップＳ２２に戻り、以下、同様の処理が繰り返される。
【０１１９】
また、ステップＳ２５において、変換画像を構成する画素のすべてを、逆変換対象画素として、その画素値の逆変換を行ったと判定された場合、即ち、フレームメモリ２６に、変換画像を逆変換した元の画像が記憶された場合、フレームメモリ２６から、その元の画像が読み出され、処理を終了する。
【０１２０】
なお、図１１のフローチャートにしたがった逆変換処理は、画像逆変換装置に対して、変換画像と各画素値ごとのコードテーブルが供給されるごとに行われる。
【０１２１】
また、ここでは、図１０の画像逆変換装置に対して、変換画像とともに、コードテーブルが供給されるものとしたが、図１の画像変換装置において、上述したように、コードテーブルを、あらかじめ作成しておき、コードテーブル記憶部３に記憶させておく場合には、図１０の画像逆変換装置においても、それと同一のコードテーブルを、コードテーブル記憶部２２に記憶させておくようにすることができる。この場合、図１０の画像逆変換装置は、コードテーブル取得部２１を設けずに構成することができる。
【０１２２】
次に、上述したように、図１の画像変換装置が出力する変換画像は、それを構成する画素値である割当コードが、急峻で、かつ大きな偏りを有する分布となることから、ハフマン符号化等のエントロピー符号化することで、高い圧縮率で圧縮することが可能となる。
【０１２３】
そこで、図１２は、画像を、そのように圧縮して伝送する画像伝送システムの一実施の形態の構成例を示している。
【０１２４】
この画像伝送システムは、画像データの圧縮を行う圧縮装置３１と、圧縮された画像データを、元の画像データに伸張する伸張装置３４とから構成されている。
【０１２５】
圧縮装置３１は、画像変換装置４１、エントロピー符号化部４２、およびマルチプレクサ４３で構成されている。
【０１２６】
画像変換装置４１は、図１に示した画像変換装置と同様に構成され、圧縮対象の画像データを、上述したようにして、変換画像に変換し、コードテーブルとともに、エントロピー符号化部４２に出力する。エントロピー符号化部４２は、変換画像と、コードテーブルそれぞれに対して、ハフマン符号化等のエントロピー符号化処理を施すことで、その圧縮を行い、マルチプレクサ４３に出力する。
【０１２７】
ここで、上述したように、変換画像は、それを構成する画素値である割当コードが、急峻で、かつ大きな偏りを有する分布となることから、エントロピー符号化部４２では、高圧縮が実現される。
【０１２８】
マルチプレクサ４３は、エントロピー符号化部４２からの圧縮された変換画像とコードテーブルとが多重化され、その多重化の結果得られたデータは、例えば、地上波、衛星回線、ＣＡＴＶ（Cable Television）網、インターネット、公衆回線などでなる伝送媒体３２を介して伝送され、あるいは、また、例えば、半導体メモリ、光磁気ディスク、磁気ディスク、光ディスク、磁気テープ、相変化ディスクなどでなる記録媒体３３に記録され、伸張装置３４に提供される。
【０１２９】
伸張装置３４は、デマルチプレクサ４４、エントロピー復号部４５、および画像逆変換装置４６で構成されている。
【０１３０】
デマルチプレクサ４４は、伝送媒体３２または記録媒体３３を介して提供されるデータを受信し、そのデータを、エントロピー符号化された変換画像とコードテーブルとに分離して、エントロピー復号部４５に供給する。エントロピー復号部４５は、デマルチプレクサ４４の出力を、元の変換画像とコードテーブルにそれぞれ復号し、画像逆変換装置４６に供給する。
【０１３１】
画像逆変換装置４６は、図１０の画像逆変換装置と同様に構成され、上述したように、そこに供給される変換画像を、同じくそこに供給されるコードテーブルを用いて、元の画像に逆変換して出力する。
【０１３２】
次に、上述のように、画像を、その画素値が、急峻で、かつ大きな偏りを有する分布となるものに変換し、その逆変換を行う方法は、本件出願人が先に提案した、例えば、特願平１１−２８４１９９号等に開示されている埋め込み符号化／復号を行う場合に適用することができる。
【０１３３】
そこで、図１３は、本件出願人が先に提案した画像伝送システムの構成例を示している。
【０１３４】
この画像伝送システムは、符号化装置１１０および復号装置１２０で構成されており、符号化装置１１０は、符号化対象としての、例えば、画像を符号化して符号化データを出力し、復号装置１２０は、その符号化データを、元の画像に復号するようになされている。
【０１３５】
即ち、画像データベース１０１は、符号化すべきディジタル画像データを記憶している。そして、画像データベース１０１からは、そこに記憶されている画像が読み出され、埋め込み符号化器１０３に供給される。
【０１３６】
また、付加情報データベース１０２は、符号化対象の画像に埋め込むべき情報としての付加情報（ディジタルデータ）を記憶している。そして、付加情報データベース１０２からも、そこに記憶されている付加情報が読み出され、埋め込み符号化器１０３に供給される。
【０１３７】
埋め込み符号化器１０３では、画像データベース１０１からの画像、および付加情報データベース１０２からの付加情報が受信される。さらに、埋め込み符号化器１０３は、画像データベース１０１からの画像が有するエネルギの偏りを利用して復号を行うことができるように、その画像を、付加情報データベース１０２からの付加情報にしたがって符号化して出力する。即ち、埋め込み符号化器１０３は、画像が有するエネルギの偏りを利用して復号を行うことができるように、画像に付加情報を埋め込むことで、その画像を符号化し、符号化データを出力する。埋め込み符号化器１０３が出力する符号化データは、例えば、半導体メモリ、光磁気ディスク、磁気ディスク、光ディスク、磁気テープ、相変化ディスクなどでなる記録媒体１０４に記録され、あるいは、また、例えば、地上波、衛星回線、ＣＡＴＶ（Cable Television）網、インターネット、公衆回線などでなる伝送媒体１０５を介して伝送され、復号装置１２０に提供される。
【０１３８】
復号装置１２０は、埋め込み復号器１０６で構成され、そこでは、記録媒体１０４または伝送媒体１０５を介して提供される符号化データが受信される。さらに、埋め込み復号器１０６は、その符号化データを、画像が有するエネルギの偏りを利用して、元の画像および付加情報に復号する。復号された画像は、例えば、図示せぬモニタに供給されて表示される。
【０１３９】
なお、付加情報としては、例えば、元の画像に関連するテキストデータや、音声データ、その画像を縮小した縮小画像等は勿論、元の画像に無関係なデータも用いることができる。
【０１４０】
次に、図１３の埋め込み符号化器１０３における符号化（埋め込み符号化）、および埋め込み復号器１０６における復号（埋め込み復号）の原理について説明する。
【０１４１】
一般に、情報と呼ばれるものは、エネルギ（エントロピー）の偏り（普遍性）を有し、この偏りが、情報（価値ある情報）として認識される。即ち、例えば、ある風景を撮影して得られる画像が、そのような風景の画像であると人によって認識されるのは、画像（画像を構成する各画素の画素値など）が、その風景に対応したエネルギの偏りを有するからであり、エネルギの偏りがない画像は、雑音等にすぎず、情報としての利用価値はない。
【０１４２】
従って、価値ある情報に対して、何らかの操作を施し、その情報が有する本来のエネルギの偏りを、いわば破壊した場合でも、その破壊されたエネルギの偏りを元に戻すことで、何らかの操作が施された情報も、元の情報に戻すことができる。即ち、情報を符号化して得られる符号化データは、その情報が有する本来のエネルギの偏りを利用して、元の価値ある情報に復号することができる。
【０１４３】
ここで、情報が有するエネルギ（の偏り）を表すものとしては、例えば、相関性、連続性、相似性などがある。
【０１４４】
情報の相関性とは、その情報の構成要素（例えば、画像であれば、その画像を構成する画素やラインなど）どうしの相関（例えば、自己相関や、ある構成要素と他の構成要素との距離など）を意味する。例えば、画像の相関性を表すものとしては、画像のライン間の相関があり、この相関を表す相関値としては、例えば、２つのラインにおける、対応する各画素値の差分の２乗和等を用いることができる（この場合、相関値が小さいことは、ライン間の相関が大きいことを表し、相関値が大きいことは、ライン間の相関が小さいことを表す）。
【０１４５】
即ち、例えば、いま、図１４に示すようなＨラインを有する画像があった場合に、その上から１行目のライン（第１ライン）と、他のラインとの相関は、一般に、図１５（Ａ）に示すように、第１ラインとの距離が近いライン（図１４における画像の上側のライン）ほど、第Ｍラインについての相関として示すように大きくなり、第１ラインとの距離が遠いライン（図１４における画像の下側のライン）ほど、第Ｎラインについての相関として示すように小さくなる。従って、第１ラインから近いほど、第１ラインとの相関が大きくなり、遠いほど相関が小さくなるという相関の偏りがある。
【０１４６】
そこで、いま、図１４の画像において、第１ラインから比較的近い第Ｍラインと、第１ラインから比較的遠い第Ｎラインとの画素値を入れ替える操作を行い（１＜Ｍ＜Ｎ≦Ｈ）、その入れ替え後の画像について、第１ラインと、他のラインとの相関を計算値すると、それは、例えば、図１５（Ｂ）に示すようになる。
【０１４７】
即ち、入れ替え後の画像では、第１ラインから近い第Ｍライン（入れ替え前の第Ｎライン）との相関が小さくなり、第１ラインから遠い第Ｎライン（入れ替え前の第Ｍライン）との相関が大きくなる。
【０１４８】
従って、図１５（Ｂ）では、第１ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関性の偏りが破壊されている。しかしながら、画像については、一般に、第１ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関性の偏りを利用することにより、破壊された相関性の偏りを復元することができる。即ち、図１５（Ｂ）において、第１ラインから近い第Ｍラインとの相関が小さく、第１ラインから遠い第Ｎラインとの相関が大きいのは、画像が有する本来の相関性の偏りからすれば、明らかに不自然であり（おかしく）、第Ｍラインと第Ｎラインとは入れ替えるべきである。そして、図１５（Ｂ）における第Ｍラインと第Ｎラインとを入れ替えることで、図１５（Ａ）に示すような本来の相関性の偏りを有する画像、即ち、元の画像を復号することができる。
【０１４９】
ここで、図１４および図１５で説明した場合においては、ラインの入れ替えが、画像の符号化を行うこととなる。また、その符号化に際し、埋め込み符号化器１０３では、例えば、何ライン目を移動するかや、どのラインどうしを入れ替えるかなどが、付加情報にしたがって決定されることになる。一方、埋め込み復号器１０６では、符号化後の画像、即ち、ラインの入れ替えられた画像を、その相関を利用して、ラインを元の位置に入れ替えることにより、元の画像に戻すことが、画像を復号することとなる。さらに、その復号に際し、埋め込み復号器１０６において、例えば、何ライン目を移動したかや、どのラインどうしを入れ替えたかなどを検出することが、画像に埋め込まれた付加情報を復号することになる。
【０１５０】
次に、情報の連続性についてであるが、例えば、画像のある１ラインについて注目した場合に、その注目ラインにおいて、図１６（Ａ）に示すような、画素値の変化パターンが連続している波形が観察されたとすると、その注目ラインと離れた他のラインでは、注目ラインとは異なる画素値の変化パターンが観察される。従って、注目ラインと、その注目ラインと離れた他のラインとにおいては、画素値の変化パターンが異なり、連続性においても偏りがある。即ち、画像のある部分の画素値の変化パターンに注目すると、その注目部分に隣接する部分には、同様の画素値の変化パターンが存在し、注目部分から離れるにつれて、異なる画素値の変化パターンが存在するという連続性の偏りがある。
【０１５１】
そこで、いま、図１６（Ａ）に示した、画像のあるラインにおける、画素値の変化パターンが連続している波形の一部を、例えば、図１６（Ｂ）に示すように、離れたラインにおける波形の一部と入れ替える。
【０１５２】
この場合、画像の連続性の偏りが破壊される。しかしながら、近接する部分の画素値の変化パターンは連続しており、離れるほど、画素値の変化パターンが異なるという連続性の偏りを利用することにより、破壊された連続性の偏りを復元することができる。即ち、図１６（Ｂ）において、波形の一部の画素値の変化パターンが、他の部分の画素値の変化パターンに比較して大きく異なっているのは、波形が有する本来の連続性の偏りからすれば、明らかに不自然であり、他の部分の画素値の変化パターンと異なっている部分は、他の部分の画素値の変化パターンと同様の波形に入れ替えるべきである。そして、そのような入れ替えを行うことで、連続性の偏りが復元され、これにより、図１６（Ｂ）に示した波形から、図１６（Ａ）に示した元の波形を復号することができる。
【０１５３】
ここで、図１６で説明した場合においては、波形の一部を、その周辺の画素値の変化パターンとは大きく異なる画素値の変化パターンの波形に入れ替えることが、画像の符号化を行うこととなる。また、その符号化に際し、埋め込み符号化器１０３では、例えば、波形のどの部分の画素値の変化パターンを入れ替えるのかや、画素値の変化パターンをどの程度大きく変化させるのかなどが、付加情報にしたがって決定されることになる。一方、埋め込み復号器１０６では、符号化後の信号、即ち、大きく異なる画素値の変化パターンを一部に有する波形を、周辺の画素値の変化パターンは連続しており、離れるほど、画素値の変化パターンが異なるという連続性の偏りを利用して、元の波形に戻すことが、その元の波形を復号することとなる。さらに、その復号に際し、埋め込み復号器１０６において、例えば、波形のどの部分の画素値の変化パターンが大きく変化していたのかや、画素値の変化パターンがどの程度大きく変化していたのかなどを検出することが、埋め込まれた付加情報を復号することになる。
【０１５４】
次に、情報の相似性についてであるが、例えば、風景を撮影した画像等の一部は、画像のフラクタル性（自己相似性）を利用して生成することができることが知られている。即ち、例えば、図１７（Ａ）に示すような、海と森を撮影した画像においては、海全体の画素値の変化パターンと、その海の一部の画素値の変化パターンとの相似性は高いが、それらの変化パターンと、海から離れた森の画素値の変化パターンとの相似性は低いという相似性の偏りがある。ここで、画像の相似性は、上述のように画素値の変化パターンを比較して考えるのではなく、エッジ形状を比較して考えても良い。
【０１５５】
そこで、いま、図１７（Ａ）に示した海の一部と、森の一部とを入れ替える。
【０１５６】
この場合、画像の相似性の偏りが破壊され、図１７（Ｂ）に示すような画像が得られる。しかしながら、近接する部分の画素値の変化パターンは相似性が高く、離れるほど、画素値の変化パターンの相似性が低くなるという相似性の偏りを利用することにより、破壊された相似性の偏りを復元することができる。即ち、図１７（Ｂ）において、海の画像の一部が、海と相似性の低い森の画像の一部になっていること、および森の画像の一部が、森と相似性の低い海の画像の一部となっていることは、画像が有する本来の相似性の偏りからすれば、明らかに不自然である。具体的には、図１７（Ｂ）において、海の画像の中の、森の画像の一部についての相似性は、海の他の部分についての相似性に比較して極端に低くなっており、また、森の画像の中の、海の画像の一部についての相似性も、森の他の部分についての相似性に比較して極端に低くなっている。
【０１５７】
従って、画像が本来有する相似性の偏りからすれば、海の画像の一部となっている、森の画像の一部と、森の画像の一部となっている、海の画像の一部とは入れ替えるべきである。そして、そのような入れ替えを行うことで、画像の相似性の偏りが復元され、これにより、図１７（Ｂ）に示した画像から、図１７（Ａ）に示した元の画像を復号することができる。
【０１５８】
ここで、図１７で説明した場合においては、海の画像の一部と、森の画像の一部とを入れ替えることが、画像の符号化を行うこととなる。また、その符号化に際し、埋め込み符号化器１０３では、例えば、海の画像のどの部分（画面上の位置）と、森の画像のどの部分とを入れ替えるのかなどが、付加情報にしたがって決定されることになる。一方、埋め込み復号器では、符号化後の信号、即ち、海の一部が、森の一部となっているとともに、森の一部が、海の一部となっている画像を、周辺の画素値の変化パターンの相似性は高く、離れるほど、画素値の変化パターンの相似性が低くなっていくという相似性の偏りを利用して、元の画像に戻すことが、その元の画像を復号することとなる。さらに、その復号に際し、埋め込み復号器１０６において、例えば、海の画像のどの部分と、森の画像のどの部分とが入れ替えられていたのかなどを検出することが、埋め込まれた付加情報を復号することになる。
【０１５９】
以上のように、埋め込み符号化器１０３において、符号化対象の画像が有するエネルギの偏りを利用して復号を行うことができるように、その画像を、付加情報にしたがって符号化して、符号化データを出力する場合には、埋め込み復号器１０６では、その符号化データを、画像が有するエネルギの偏りを利用することにより、復号のためのオーバヘッドなしで、元の画像および付加情報に復号することができる。
【０１６０】
また、符号化対象の画像には、付加情報が埋め込まれることで、その埋め込みの結果得られる画像は、元の画像と異なる画像とされ、人が価値ある情報として認識することのできる画像ではなくなることから、符号化対象の画像については、オーバヘッドなしの暗号化を実現することができる。
【０１６１】
さらに、完全可逆の電子透かしを実現することができる。即ち、従来の電子透かしでは、例えば、画質にあまり影響のない画素値の下位ビットが、電子透かしに対応する値に、単に変更されていたが、この場合、その下位ビットを、元の値に戻すことは困難である。従って、復号画像の画質は、電子透かしとしての下位ビットの変更により、少なからず劣化する。これに対して、符号化データを、元の画像が有するエネルギの偏りを利用して復号する場合には、劣化のない元の画像および付加情報を得ることができ、従って、付加情報を電子透かしとして用いることで、電子透かしに起因して復号画像の画質が劣化することはない。
【０１６２】
また、埋め込まれた付加情報は、符号化データから画像を復号することで取り出すことができるので、画像の符号化結果とともに、オーバヘッドなしでサイドインフォメーションを提供することができる。言い換えれば、付加情報を取り出すためのオーバヘッドなしで、その付加情報を画像に埋め込むことができるので、その埋め込みの結果得られる符号化データは、付加情報の分だけ圧縮（埋め込み圧縮）されているということができる。従って、例えば、ある画像の半分を符号化対象とするとともに、残りの半分を付加情報とすれば、符号化対象である半分の画像に、残りの半分の画像を埋め込むことができるから、この場合、画像は、単純には、１／２に圧縮されることになる。
【０１６３】
さらに、符号化データは、元の画像が有するエネルギの偏りという、いわば統計量を利用して復号されるため、誤りに対する耐性の強いものとなる。即ち、ロバスト性の高い符号化であるロバスト符号化（統計的符号化）を実現することができる。
【０１６４】
また、符号化データは、元の画像が有するエネルギの偏りを利用して復号されるため、そのエネルギの偏りに特徴があるほど、即ち、例えば、画像については、そのアクティビティが高いほど、あるいは、冗長性が低いほど、多くの付加情報を埋め込むことができる。ここで、上述したように、付加情報の埋め込みの結果得られる符号化データは、付加情報の分だけ圧縮されているということができるが、この圧縮という観点からすれば、符号化対象の情報が有するエネルギの偏りを利用して復号を行うことができるように、その情報を、付加情報にしたがって符号化する方式（埋め込み符号化方式）によれば、画像のアクティビティが高いほど、あるいは、画像の冗長性が低いほど、圧縮率が高くなる。この点、埋め込み符号化方式は、従来の符号化方式と大きく異なる（従来の符号化方式である、例えばＭＰＥＧ（Moving Picture Experts Group）方式などでは、基本的に、画像のアクティビティが高いほど、あるいは、画像の冗長性が低いほど、圧縮率は低くなる）。
【０１６５】
さらに、例えば、上述したように、画像を符号化対象とする一方、付加情報として、画像とは異なるメディアの、例えば、音声を用いるようにすることで、音声をキーとして、画像の提供を行うようなことが可能となる。即ち、符号化装置１１０側において、例えば、契約者が発話した音声「開けゴマ」など付加情報として画像に埋め込んでおき、復号装置１２０側では、ユーザに、音声「開けゴマ」を発話してもらい、その音声と、画像に埋め込まれた音声とを用いて話者認識を行うようにする。このようにすることで、例えば、話者認識の結果、ユーザが契約者である場合にのみ、自動的に、画像を提示するようなことが可能となる。
なお、この場合、付加情報としての音声は、いわゆる特徴パラメータではなく、音声波形そのものを用いることが可能である。
【０１６６】
また、例えば、音声を符号化対象とする一方、付加情報として、音声とは異なるメディアの、例えば、画像を用いるようにすることで、画像をキーとして、音声の提供を行うようなこと（例えば、顔認識後の音声応答）が可能となる。即ち、符号化装置１１０側において、例えば、ユーザへの応答としての音声に、そのユーザの顔の画像を埋め込み、復号装置１２０側では、ユーザの顔を撮影し、その結果得られる画像とマッチングする顔画像が埋め込まれている音声を出力するようにすることで、ユーザごとに異なる音声応答を行う音声応答システムを実現することが可能となる。
【０１６７】
さらに、音声に、音声を埋め込んだり、画像に、画像を埋め込んだりするような、あるメディアの情報に、それと同一メディアの情報を埋め込むようなことも可能である。あるいは、また、画像に、契約者の音声と顔画像を埋め込んでおけば、ユーザの音声と顔画像とが、画像に埋め込まれているものと一致するときのみ、その画像を提示するようにする、いわば二重鍵システムなどの実現も可能となる。
【０１６８】
また、例えば、テレビジョン放送信号を構成する、いわば同期した画像と音声のうちのいずれか一方に、他方を埋め込むようなことも可能であり、この場合、異なるメディアの情報どうしを統合した、いわば統合符号化を実現することができる。
【０１６９】
さらに、埋め込み符号化方式では、上述したように、情報には、そのエネルギの偏りに特徴があるほど、多くの付加情報を埋め込むことができる。従って、例えば、ある２つの情報について、エネルギの偏りに特徴がある方を適応的に選択し、その選択した方に、他方を埋め込むようにすることで、全体のデータ量を制御することが可能となる。即ち、２つの情報どうしの間で、一方の情報によって、他方の情報量を、いわば吸収するようなことが可能となる。そして、このように全体のデータ量を制御することができる結果、伝送路の伝送帯域や使用状況、その他の伝送環境にあったデータ量による情報伝送（環境対応ネットワーク伝送）が可能となる。
【０１７０】
また、例えば、画像に、その画像を縮小した画像を埋め込むことで（あるいは、音声に、その音声を間引いたものを埋め込むことで）、データ量を増加することなく、いわゆる階層符号化（下位階層の情報を少なくすることにより、上位階層の情報を生成する符号化）を実現することができる。
【０１７１】
さらに、例えば、画像に、その画像を検索するためのキーとなる画像を埋め込んでおくことで、そのキーとなる画像に基づいて、画像の検索を行うデータベースを実現することが可能となる。
【０１７２】
次に、図１８は、画像の連続性を利用して元に戻すことができるように、画像に付加情報を埋め込む埋め込み符号化を行う場合の図１３の埋め込み符号化器１０３の構成例を示している。
【０１７３】
画像データベース１０１から供給される画像は、フレームメモリ１３１に供給されるようになされており、フレームメモリ１３１は、画像データベース１０１からの画像を、例えば、フレーム単位で一時記憶するようになされている。
【０１７４】
ＣＰＵ（Central Processing Unit）１３２は、プログラムメモリ１３３に記憶されたプログラムを実行することで、後述する埋め込み符号化処理を行うようになされている。即ち、CPU１３２は、プログラムメモリ１３３に記憶されているプログラムにしたがって、付加情報データベース１０２からメモリ１３４を介して供給される付加情報を受信し、その付加情報を、フレームメモリ１３１に記憶された画像に埋め込むようになされている。具体的には、CPU１３２は、フレームメモリ１３１に記憶された画像を構成する画素値を、メモリ１３４に記憶された付加情報にしたがって変更することで、その画素値に、付加情報を埋め込むようになされている。この付加情報が埋め込まれた画像は、符号化データとして出力されるようになされている。
【０１７５】
プログラムメモリ１３３は、例えば、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などで構成され、CPU１３２に、埋め込み符号化処理を行わせるためのコンピュータプログラムや必要なデータを記憶している。
【０１７６】
メモリ１３４は、付加情報データベース１０２が記憶している付加情報を読み出し、一時記憶するようになされている。出力バッファ１３５は、CPU１３２によって埋め込み符号化処理が行われることにより得られる符号化データを一時記憶して出力するようになされている。
【０１７７】
なお、フレームメモリ１３１は、複数のフレームを記憶することのできるように、複数バンクで構成されており、バンク切り替えを行うことで、フレームメモリ１３１では、画像データベース１０１から供給される画像の記憶、およびCPU１３２による埋め込み符号化処理の対象となっている画像の記憶を、同時に行うことができるようになされている。これにより、画像データベース１０１から供給される画像が、動画であっても、符号化データのリアルタイム出力を行うことができるようになされている。
【０１７８】
次に、図１９は、図１８の埋め込み符号化器１０３の機能的な構成例を示している。なお、この図１９に示した機能的な構成は、CPU１３２がプログラムメモリ１３３に記憶されたコンピュータプログラムを実行することで実現されるようになされている。
【０１７９】
フレームメモリ１３１、メモリ１３４、または出力バッファ１３５それぞれは、図１８で説明したものと同一のものである。
【０１８０】
度数分布算出部１４１は、フレームメモリ１３１に記憶された符号化対象の画像の画素値の度数分布（ヒストグラム）を、例えば、１フレーム単位で求め、変更対象画素値／変更値決定部１４２に供給するようになされている。変更対象画素値／変更値決定部１４２は、度数分布算出部１４１から供給される画素値の度数分布に基づき、フレームメモリ１３１に記憶された符号化対象の画像を構成する画素値の中から、付加情報にしたがって変更する画素値（以下、適宜、変更対象画素値という）を決定するとともに、その変更対象画素値を変更する値（以下、適宜、変更値という）を決定し、画素値変更部１４３に供給するようになされている。画素値変更部１４３は、フレームメモリ１３１に記憶された符号化対象のフレームを構成する画素値を、所定の順序としての、例えば、ラスタスキャン順で読み出し、その読み出した画素値が、変更対象画素値に一致しない場合には、そのまま出力バッファ１３５に供給して対応するアドレスに記憶させるようになされている。また、画素値変更部１４３は、読み出した画素値が、変更対象画素値に一致する場合には、メモリ１３４に記憶された付加情報を読み出し、その付加情報にしたがって、変更対象画素値を変更値に変更するか、またはそのままとし、出力バッファ１３５に供給して対応するアドレスに記憶させるようになされている。
【０１８１】
次に、図２０のフローチャートを参照して、図１９の埋め込み符号化器１０３において行われる埋め込み符号化処理について説明する。
【０１８２】
画像データベース１０１からは、そこに記憶されている画像が読み出され、フレームメモリ１３１に、順次供給されて記憶される。また、付加情報データベース１０２からは、そこに記憶されている付加情報が読み出され、メモリ１３４に、順次供給されて記憶される。
【０１８３】
一方、度数分布算出部１４１では、ステップＳ１０１において、フレームメモリ１３１に記憶された符号化対象の１フレームを構成する画素値が読み出され、その度数分布が算出される。
【０１８４】
ここで、図２１に、実際の画像の画素値の度数分布を示す。なお、図２１は、それぞれ８ビットが割り当てられたＲＧＢコンポーネント信号で構成される１フレームの画像のＲコンポーネントの度数分布を示している。Ｒコンポーネントには、ここでは、上述したように、８ビットが割り当てられおり、従って、０乃至２５５等の２５６の範囲の画素値をとり得るが、図２１では、２５０以上の画素値となる画素は存在していない。さらに、図２１から明らかなように、一般に、画像には、各画素値（ここでは、０乃至２５５それぞれの値）が、同じような数だけ存在するのではなく、多数存在する画素値もあれば、まったく存在しない画素値もある。しかしながら、画素値の度数分布の変化は、一般に連続している。
【０１８５】
度数分布算出部１４１で求められた画素値の度数分布は、変更対象画素値／変更値決定部１４２に供給される。変更対象画素値／変更値決定部１４２は、画素値の度数分布を受信すると、ステップＳ１０２に進み、その度数分布に基づき、フレームメモリ１３１に記憶された符号化対象の画像を構成する画素値の中から、変更対象画素値とするものを決定するとともに、その変更対象画素値を変更する値である変更値を決定する。即ち、変更対象画素値／変更値決定部１４２は、例えば、度数分布から、最も度数の高い画素値を検出し、それを、変更対象画素値として決定する。さらに、変更対象画素値／変更値決定部１４２は、度数分布から、度数が０になっている画素値を検出し、それを、変更値として決定する（度数が０になっている画素値が複数ある場合には、例えば、そのうちの１つを選択して、変更値として決定する）。
【０１８６】
ここで、本実施の形態では、変更対象画素値に、付加情報が埋め込まれる。そこで、埋め込むことのできる付加情報のデータ量を多くするために、最も度数の高い画素値を、変更対象画素値とするようにしている。但し、変更対象画素値とする画素値は、度数の最も高いものに限定されるものではない。
【０１８７】
変更対象画素値／変更値決定部１４２において、変更対象画素値および変更値が決定されると、その変更対象画素値および変更値は、画素値変更部１４３に供給される。
【０１８８】
画素値変更部１４３は、変更対象画素値および変更値を受信すると、ステップＳ１０３において、フレームメモリ１３１に記憶された符号化対象のフレームを構成する最も左上の画素値を読み出し、ステップＳ１０４に進む。ステップＳ１０４では、画素値変更部１４３において、ステップＳ１０４で読み出された画素値が変更対象画素値であるかどうかが判定され、変更対象画素値でないと判定された場合、ステップＳ１０５乃至Ｓ１０７をスキップして、ステップＳ１０８に進み、その画素値が、そのまま出力バッファ１３５に供給されて、対応するアドレスに書き込まれる。
【０１８９】
また、ステップＳ１０４において、ステップＳ１０４で読み出された画素値が変更対象画素値であると判定された場合、ステップＳ１０５に進み、画素値変更部１４３は、メモリ１３４から付加情報を読み出し、ステップＳ１０６に進む。
ここで、ステップＳ１０５では、付加情報が、例えば、１ビット単位で読み出されるものとする。
【０１９０】
ステップＳ１０６では、画素値変更部１４３において、ステップＳ１０５で読み出された１ビットの付加情報が０または１のうちのいずれであるかが判定される。ステップＳ１０６において、付加情報が、０または１のうちの、例えば、０であると判定された場合、ステップＳ１０７をスキップして、ステップＳ１０８に進み、画素値変更部３４において、変更対象画素値が、そのまま出力バッファ１３５に供給されて、対応するアドレスに書き込まれる。即ち、０である付加情報は、変更対象画素値を変更しないことで、その変更対象画素値を有する画素に埋め込まれる。
【０１９１】
また、ステップＳ１０６において、付加情報が、０または１のうちの、例えば、１であると判定された場合、ステップＳ１０７に進み、画素値変更部１４３において、変更対象画素値が変更値に変更され、ステップＳ１０８に進む。ステップＳ１０８では、画素値変更部１４３において、ステップＳ１０７で変更された変更値が、出力バッファ１３５に供給されて、対応するアドレスに書き込まれる。即ち、１である付加情報は、変更対象画素値を変更値に変更することで、その変更対象画素値を有していた画素に埋め込まれる。
【０１９２】
ステップＳ１０８の処理後は、ステップＳ１０９に進み、いま符号化対象とされているフレームの画素の読み出しがすべて終了したかどうかが判定される。ステップＳ１０９において、いま符号化対象とされているフレームの画素すべての読み出しが、まだ終了していないと判定された場合、ステップＳ１０３に戻り、ラスタスキャン順に、次に処理すべき画素値が読み出され、以下、同様の処理が繰り返される。
【０１９３】
また、ステップＳ１０９において、いま符号化対象とされているフレームの画素すべての読み出しが終了したと判定された場合、ステップＳ１１０に進み、出力バッファ１３５に記憶されている、付加情報が埋め込まれたフレームが、符号化データとして読み出されて出力される。そして、ステップＳ１１１に進み、フレームメモリ１３１に、次に処理すべきフレームが記憶されているかどうかが判定され、記憶されていると判定された場合、ステップＳ１０１に戻り、そのフレームを符号化対象として、同様の処理が繰り返される。
【０１９４】
また、ステップＳ１１１において、フレームメモリ１３１に、次に処理すべきフレームが記憶されていないと判定された場合、埋め込み符号化処理を終了する。
【０１９５】
以上のような埋め込み符号化処理によれば、ある１フレームの画像は、次のような符号化データに符号化される。
【０１９６】
即ち、例えば、符号化対象のフレームに、図２２（Ａ）において・で示すように、変更対象画素値が分布しているとすると、各変更対象画素値のうち、ラスタスキャン順で、０の付加情報に対応する位置にあるものは、そのままとされ、１の付加情報に対応する位置にあるものは、図２２（Ｂ）において×で示すように、図２２（Ａ）のフレームには存在しない画素値、即ち、度数が０の画素値である変更値に変更される。
【０１９７】
以上のように、フレームメモリ１３１に記憶された画像を構成する画素値のうち、度数の最も高い画素値である変更対象画素値を、付加情報にしたがって、その画像に存在しない画素値である変更値に変更することにより、付加情報を埋め込む場合には、画像の連続性（画像を構成する画素値の度数分布の連続性）の偏りを利用して、変更値を、元の変更対象画素値に変更することで、元の画像を復号することができるとともに、付加情報を復号することができる。従って、画像の画質の劣化を極力なくし、かつデータ量を増加せずに、画像に付加情報を埋め込むことができる。
【０１９８】
即ち、変更値は、画像の連続性、つまり、ここでは、画像を構成する画素値の度数分布の連続性を利用することにより、オーバヘッドなしで、元の画素値（変更対象画素値）に復号する（戻す）こができ、さらに、変更値と変更対象画素値を検出することで、付加情報を復号することができる。従って、その結果得られる復号画像（再生画像）には、基本的に、付加情報を埋め込むことによる画質の劣化は生じない。
【０１９９】
なお、符号化対象のフレームに、存在しない画素値がない場合には、変更対象画素値を変更すると、その変更後の画素値と、符号化対象のフレームに最初から存在する画素値とを区別することが困難となる。そこで、図２０の埋め込み符号化処理のステップＳ１０１において、度数分布を算出した後に、その度数分布から、フレームに、存在しない画素値がないことが判明した場合には、そのフレームには付加情報を埋め込まず、次のフレームを、符号化対象として、埋め込み符号化処理を行うのが望ましい。
【０２００】
次に、図２３は、図１９の埋め込み符号化器１０３が出力する符号化データを、画像の連続性を利用して元の画像と付加情報に復号する図１３の埋め込み復号器１０６の構成例を示している。
【０２０１】
符号化データ、即ち、付加情報が埋め込まれた画像（以下、適宜、埋め込み画像ともいう）は、入力バッファ１５１に供給されるようになされており、入力バッファ１５１は、埋め込み画像を、例えば、フレーム単位で一時記憶するようになされている。なお、入力バッファ１５１も、図１８のフレームメモリ１３１と同様に構成され、バンク切り替えを行うことにより、埋め込み画像が、動画であっても、そのリアルタイム処理が可能となっている。
【０２０２】
ＣＰＵ１５２は、プログラムメモリ１５３に記憶されたプログラムを実行することで、後述する埋め込み復号処理を行うようになされている。即ち、ＣＰＵ１５２は、入力バッファ１５１に記憶された埋め込み画像を、画像の連続性を利用して元の画像と付加情報に復号するようになされている。具体的には、ＣＰＵ１５２は、入力バッファ１５１に記憶された復号対象のフレームの画素値のうち、変更対象画素値と変更値とを検出することで、付加情報を復号し、さらに、変更値を変更対象画素値に変更することで、元の画像を復号するようになされている。
【０２０３】
プログラムメモリ１５３は、例えば、図１８のプログラムメモリ１３３と同様に構成され、ＣＰＵ１５２に、埋め込み復号化処理を行わせるためのコンピュータプログラムや必要なデータを記憶している。
【０２０４】
フレームメモリ１５４は、ＣＰＵ１５２において復号された画像を、例えば、１フレーム単位で記憶して出力するようになされている。メモリ１５５は、ＣＰＵ１５２で復号された付加情報を一時記憶して出力するようになされている。
【０２０５】
次に、図２４は、図２３の埋め込み復号器１０６の機能的な構成例を示している。なお、この図２４に示した機能的な構成は、ＣＰＵ１５２がプログラムメモリ１５３に記憶されたコンピュータプログラムを実行することで実現されるようになされている。
【０２０６】
入力バッファ１５１、フレームメモリ１５４、またはメモリ１５５それぞれは、図２３で説明したものと同一のものである。
【０２０７】
度数分布算出部１６１は、入力バッファ１５１に記憶された復号対象の埋め込み画像のフレームを構成する画素値を読み出し、その度数分布を求めて、変更対象画素値／変更値決定部１６２に供給するようになされている。変更対象画素値／変更値決定部１６２は、度数分布算出部１６１からの画素値の度数分布に基づき、埋め込み画像を構成する画素値の中から、埋め込み符号化器１０３において変更対象画素値と変更値それぞれに決定された画素値を求め（決定し）、画素値変更部１６３に供給するようになされている。画素値変更部１６３は、変更対象画素値／変更値決定部１６２の出力から、変更対象画素値および変更値を認識し、入力バッファ１５１に記憶された復号対象の埋め込み画像のフレームの中の変更対象画素値および変更値を検出することで、その埋め込み画像に埋め込まれた付加情報を復号して、メモリ１５５に供給するようになされている。さらに、画素値変更部１６３は、埋め込み画像の中の変更値を変更対象画素値に変更することで、その埋め込み画像を、元の画像に復号し、フレームメモリ１５４に供給するようになされている。
【０２０８】
次に、図２５のフローチャートを参照して、図２４の埋め込み復号器１０６において行われる埋め込み復号処理について説明する。
【０２０９】
入力バッファ１５１では、そこに供給される埋め込み画像（符号化データ）が、例えば、１フレーム単位で順次記憶される。
【０２１０】
一方、度数分布算出部１６１では、ステップＳ１２１において、入力バッファ１５１に記憶された復号対象の埋め込み画像のフレームが読み出され、そのフレームを構成する画素値の度数分布が求められる。この度数分布は、変更対象画素値／変更値決定部１６２に供給される。
【０２１１】
変更対象画素値／変更値決定部１６２は、度数分布算出部１６１から度数分布を受信すると、ステップＳ１２２において、その度数分布に基づいて、埋め込み符号化器１０３において決定された変更対象画素値および変更値を求める。
【０２１２】
即ち、埋め込み画像に符号化された元の画像を構成する画素値が、例えば、図２６（Ａ）に示すような連続した度数分布を有していたとすると、埋め込み符号化器１０３では、度数の最も高い画素値Ｐ1が変更対象画素値として決定される。なお、図２６では、画素値のとりうる範囲が、０乃至ＭＡＸとされており、また、元の画像は、画素値Ｐmin以下の画素および画素値Ｐmax以上の画素が存在しないものとなっている（０＜Ｐmin＜Ｐmax＜ＭＡＸ）。
【０２１３】
さらに、この場合、埋め込み符号化器１０３において、画素値Ｐmin以下の、元の画像に存在しないある画素値Ｐ2が変更値として決定され、埋め込み符号化が行われたとすると、その結果得られる埋め込み画像の画素値の度数分布は、例えば、図２６（Ｂ）に示すようなものとなる。即ち、変更対象画素値Ｐ1の度数は、それに近い画素値（例えば、両隣の画素値）の度数に比較して極端に低くなり、変更値Ｐ2の度数は、逆に、それに近い画素値の度数に比較して極端に高くなる。
【０２１４】
その結果、例えば、画素値の小さいものから、画素値ｎの度数と画素値ｎ＋１の度数との差分（＝画素値ｎの度数−画素値ｎ＋１の度数）（以下、適宜、度数差分という）を求めていくと、その度数差分は、変更対象画素値Ｐ1の付近（ｎ＝Ｐ1のときと、ｎ＋１＝Ｐ1のとき）において、図２７（Ａ）に示すように、極端に大きくなった後、極端に小さくなる（不連続になる）。また、度数差分は、変更値Ｐ2の付近（ｎ＝Ｐ2のときと、ｎ＋１＝Ｐ2のとき）において、図２７（Ｂ）に示すように、極端に小さくなった後、極端に大きくなる（不連続になる）。
【０２１５】
従って、埋め込み符号化器１０３において決定された変更対象画素値および変更値は、度数差分をサーチしていくことで求めることができ、変更対象画素値／変更値決定部１６２では、そのようにして、埋め込み画像の画素値の度数分布に基づき、埋め込み符号化器１０３において決定された変更対象画素値および変更値を求めるようになされている。
【０２１６】
図２５に戻り、変更対象画素値／変更値決定部１６２は、埋め込み符号化器１０３において決定された変更対象画素値および変更値を求めると、それらを、画素値変更部１６３に出力し、ステップＳ１２３に進む。
【０２１７】
ステップＳ１２３では、画素値変更部１６３において、入力バッファ１５１に記憶された復号対象の埋め込み画像のフレームを構成する最も左上の画素値が読み出され、ステップＳ１２４に進み、その画素値が判定される。ステップＳ１２４において、読み出された画素値が、変更対象画素値および変更値のいずれでもないと判定された場合、画素値変更部１６３は、ステップＳ１２８に進み、その画素値を、フレームメモリ１５４に供給し、対応するアドレスに記憶させる。ここで、変更対象画素値および変更値のいずれでもない画素には、付加情報は埋め込まれていないから、その復号は行われない（することができない）（する必要がない）。
【０２１８】
また、ステップＳ１２４において、読み出された画素値が、変更対象画素値であると判定された場合、ステップＳ１２５に進み、画素値変更部１６３は、メモリ１５５に、付加情報の復号結果として、０または１のうちの、変更対象画素値に対応する０を供給して記憶させる。そして、ステップＳ１２８に進み、画素値変更部１６３は、変更対象画素値を、そのまま、フレームメモリ１５４に供給し、対応するアドレスに記憶させる。
【０２１９】
さらに、ステップＳ１２４において、読み出された画素値が、変更値であると判定された場合、ステップＳ１２６に進み、画素値変更部１６３は、変更値を、変更対象画素値に変更し、これにより、元の画素値に復号して、ステップＳ１２７に進む。ステップＳ１２７では、画素値変更部１６３において、メモリ１５５に対して、付加情報の復号結果として、０または１のうちの、変更値に対応する１が供給されて書き込まれる。そして、ステップＳ１２８に進み、画素値変更部１６３は、変更対象画素値（ステップＳ１２６において、変更値を変更したもの）を、フレームメモリ１５４に供給し、対応するアドレスに記憶させる。
【０２２０】
ステップＳ１２８の処理後は、ステップＳ１２９に進み、いま復号対象とされている埋め込み画像のフレームの画素の読み出しがすべて終了したかどうかが判定される。ステップＳ１２９において、いま復号対象とされている埋め込み画像のフレームの画素すべての読み出しが、まだ終了していないと判定された場合、ステップＳ１２３に戻り、ラスタスキャン順に、次に処理すべき画素値が読み出され、以下、同様の処理が繰り返される。
【０２２１】
また、ステップＳ１２９において、いま復号対象とされている埋め込み画像の画素すべての読み出しが終了したと判定された場合、フレームメモリ１５４またはメモリ１５５にそれぞれ記憶された１フレームの復号画像または付加情報が読み出されて出力される。そして、ステップＳ１３０に進み、入力バッファ１５１に、次に処理すべき埋め込み画像のフレームが記憶されているかどうかが判定され、記憶されていると判定された場合、ステップＳ１２１に戻り、そのフレームを復号対象として、同様の処理が繰り返される。
【０２２２】
また、ステップＳ１３０において、入力バッファ１５１に、次に処理すべき埋め込み画像のフレームが記憶されていないと判定された場合、埋め込み復号処理を終了する。
【０２２３】
以上のように、付加情報が埋め込まれた画像である符号化データを、画像の連続性を利用して、元の画像と付加情報に復号するようにしたので、その復号のためのオーバヘッドがなくても、符号化データを、元の画像と付加情報に復号することができる。従って、その復号画像には、基本的に、付加情報を埋め込むことによる画質の劣化は生じない。
【０２２４】
なお、本実施の形態では、埋め込み符号化処理において、付加情報にしたがい、変更対象画素値を、そのままとする（変更対象画素値に変更する）か、または変更値に変更するようにしたが、符号化対象の画像に、存在しない画素値が２以上ある場合には、例えば、そのうちの２つを第１の変更値と第２の変更値とし、付加情報にしたがい、変更対象画素値を、第１の変更値に変更するか、または第２の変更値に変更するようにすることが可能である。ここで、変更対象画素値を、そのままとするか、または変更値に変更する場合には、符号化対象の画像に、存在しない画素値が１つあれば良いが、変更対象画素値を、第１または第２の変更値に変更する場合には、符号化対象の画像に、存在しない画素値が２以上ある必要がある。しかしながら、変更対象画素値を、第１または第２の変更値に変更する場合には、埋め込み画像には、変更対象画素値が存在しなくなるので、埋め込み復号器１０６において、埋め込み画像の度数分布から、より精度良く、変更対象画素値を求めることが可能となる。
【０２２５】
さらに、符号化対象の画像に、存在しない画素値が複数ある場合には、その複数の画素値をすべて変更値とし、付加情報にしたがい、変更対象画素値を、複数の変更値のうちのいずれかに変更するようにすることが可能である。この場合、１画素に、２ビット以上の付加情報を埋め込むことが可能となる。
【０２２６】
また、本実施の形態では、埋め込み符号化処理において、符号化対象の画像の画素値を、ラスタスキャン順に処理するようにしたが、その処理の順番は、ラスタスキャン順に限定されるものではない。即ち、度数分布を求める画素値を読み出すことができれば良いので、処理の順番は、列方向や斜め方向であってもかまわない。
【０２２７】
さらに、本実施の形態では、埋め込み符号化処理および埋め込み復号処理において、フレーム単位で度数分布を求めるようにしたが、度数分布は、その他、例えば、１フレームを幾つかのブロックに分けて、そのブロック単位で求めても良いし、複数フレーム単位で求めても良い。
【０２２８】
また、本実施の形態では、埋め込み復号器１０６において、埋め込み符号化器１０３で決定された変更対象画素値および変更値を求めるようにしたが、変更対象画素値および変更値は、僅かな量のデータであり、埋め込み画像に、オーバヘッドとして含めるようにしても良い。
【０２２９】
さらに、埋め込み符号化の対象とする画像が、例えば、ＲＧＢコンポーネント信号で構成されるカラー画像などである場合には、ＲＧＢそれぞれについて、埋め込み符号化処理を施すことが可能である。
【０２３０】
また、付加情報として用いる情報は、特に限定されるものではなく、例えば、画像や、音声、テキスト、コンピュータプログラム、制御信号、その他のデータを付加情報として用いることが可能である。なお、画像データベース１０１の画像の一部を付加情報とし、残りを、フレームメモリ１３１への供給対象とすれば、その残りの部分に、付加情報とされた画像の一部分が埋め込まれるから、画像の圧縮が実現されることになる。
【０２３１】
さらに、本実施の形態では、付加情報を、画像に埋め込むようにしたが、付加情報は、その他、例えば、音声等の、値の度数分布の形状が連続性を有するメディアに埋め込むことが可能である。
【０２３２】
また、ここでは、画像に、付加情報そのものを埋め込むようにしたが、画像には、その他、例えば、付加情報の特徴量（例えば、付加情報のヒストグラムや、分散、ダイナミックレンジ等）を埋め込むようにすることも可能である。
【０２３３】
次に、図２８は、図１３の埋め込み符号化器１０３を、図１の画像変換装置を利用して構成した場合の機能的構成例を示している。なお、図中、図１９における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図２８の埋め込み符号化器１０３は、画像変換装置１７１が新たに設けられている他は、図１９における場合と同様に構成されている。
【０２３４】
画像変換装置１７１は、図１の画像変換装置と同様に構成されており、フレームメモリ１３１に記憶された符号化対象の画像を、上述したようにして、変換画像に変換し、フレームメモリ１３１に記憶させるようになっている。
【０２３５】
なお、ここでは、説明を簡単にするために、画像変換装置１７１においては、あらかじめ作成された、画素値として取り得る値ごとのコードテーブルが記憶されているものとする。
【０２３６】
従って、図２８の実施の形態では、度数分布算出部１４１、変更対象画素値／変更値決定部１４２、および画素値変更部１４３において、変換画像を対象に、上述したような埋め込み符号化処理が行われる。
【０２３７】
次に、図２９のフローチャートを参照して、図２８の埋め込み符号化器１０３における埋め込み符号化処理について説明する。
【０２３８】
図２８の埋め込み符号化器１０３では、まず最初に、ステップＳ１４０において、画像変換装置１７１が、フレームメモリ１３１に記憶された符号化対象の画像を、変換画像に変換し、フレームメモリ１３１に記憶させる。
【０２３９】
そして、ステップＳ１４１乃至Ｓ１５１において、図２０のステップＳ１０１乃至Ｓ１１１における場合とそれぞれ同様の処理が行われ、これにより、変換画像を対象として、図２０で説明した場合と同様の埋め込み符号化処理が行われ、付加情報が埋め込まれる。
【０２４０】
以上のように、画像そのものではなく、変換画像に対して、付加情報を埋め込むことで、より効率的な埋め込み符号化を行うことが可能となる。
【０２４１】
即ち、画像変換装置１７１において得られる変換画像を構成する変換画素の画素値の分布は、上述したように、急峻で大きな偏りを有する。従って、変換画像に付加情報を埋め込む場合には、変更対象画素値とされる最も度数の高い変換画素（の画素値）の数は、元の画像の画素値そのものに付加情報を埋め込む場合に比較して、膨大な個数となり、その結果、そのような膨大な数の変換画素に対して、多量の付加情報を埋め込むことが可能となる。
【０２４２】
次に、図３０は、埋め込み符号化器１０３が、図２８に示したように構成される場合の、図１３の埋め込み復号器１０６の機能的な構成例を示している。なお、図中、図２４における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図３０の埋め込み復号器１０６は、画像逆変換装置１８１が新たに設けられている他は、図２４における場合と同様に構成されている。
【０２４３】
画像逆変換装置１８１は、図１０の画像逆変換装置と同様に構成され、フレームメモリ１５４に記憶された変換画像を、元の画像に逆変換することで復元し、フレームメモリ１５４に書き込むようになっている。
【０２４４】
次に、図３０の埋め込み復号器１０６による埋め込み復号処理について、図３１のフローチャートを参照して説明する。
【０２４５】
図３０の埋め込み復号器１０６では、ステップＳ１６１乃至Ｓ１７０において、図２５のステップＳ１２１乃至Ｓ１３０における場合とそれぞれ同様の処理が、上述したような変換画像に付加情報を埋め込んで得られる符号化データを対象に行われる。但し、ステップＳ１６９からＳ１７０に進む間に、ステップＳ１７１において、画像逆変換装置１８１は、フレームメモリ１５４に記憶された変換画像を構成する各変換画素の画素値を、元の画素値に逆変換し、フレームメモリ１５４に書き込む。
【０２４６】
即ち、図２８の埋め込み符号化器１０３が出力する符号化データは、上述したように、変換画像に、付加情報が埋め込まれたものであるから、そのような符号化データに対して、図２５のステップＳ１２１乃至Ｓ１２８とそれぞれ同様のステップＳ１６１乃至Ｓ１６８の処理が施されることにより、フレームメモリ１５４には、変換画像が書き込まれることになる。ステップＳ１７１では、画像逆変換装置１８１において、その変換画像が、上述したようにして逆変換され、その結果得られる元の画像が、フレームメモリ１５４に書き込まれる。
【０２４７】
以上のような埋め込み復号処理によれば、上述したように、多量の付加情報が埋め込まれた画像を、元の画像と付加情報とに復号することができる。
【０２４８】
なお、本実施の形態では、CPU１３２または１５２に、コンピュータプログラムを実行させることで、埋め込み符号化処理または埋め込み復号処理をそれぞれ行うようにしたが、これらの処理は、それ専用のハードウェアによって行うことも可能である。
【０２４９】
次に、上述した一連の処理は、汎用のコンピュータ等に、プログラムをインストールして行わせることが可能である。
【０２５０】
そこで、図３２は、上述した一連の処理を実行するプログラムがインストールされる汎用のコンピュータの一実施の形態の構成例を示している。
【０２５１】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク２０５やＲＯＭ２０３に予め記録しておくことができる。
【０２５２】
あるいはまた、プログラムは、フロッピー（登録商標）ディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体２１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体２１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０２５３】
なお、プログラムは、上述したようなリムーバブル記録媒体２１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部２０８で受信し、内蔵するハードディスク２０５にインストールすることができる。
【０２５４】
コンピュータは、CPU(Central Processing Unit)２０２を内蔵している。CPU２０２には、バス２０１を介して、入出力インタフェース２１０が接続されており、CPU２０２は、入出力インタフェース２１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部２０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)２０３に格納されているプログラムを実行する。あるいは、また、CPU２０２は、ハードディスク２０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部２０８で受信されてハードディスク２０５にインストールされたプログラム、またはドライブ２０９に装着されたリムーバブル記録媒体２１１から読み出されてハードディスク２０５にインストールされたプログラムを、RAM(Random Access Memory)２０４にロードして実行する。これにより、CPU２０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU２０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース２１０を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部２０６から出力、あるいは、通信部２０８から送信、さらには、ハードディスク２０５に記録等させる。
【０２５５】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０２５６】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０２５７】
なお、本実施の形態では、ある画素の左隣の画素を基準画素としたが、その他、例えば、右隣の画素や、その上または下に隣接する画素、隣接しないが近い位置にある画素等を、基準画素とすることが可能である。さらに、例えば、前のフレームの同一位置にある画素や、動き補償を行った後の前のフレームの同一位置にある画素等を、基準画素とすることも可能である。また、近い位置にある幾つかの画素の画素値の平均値を求め、その平均値を有する画素が仮想的に存在するものとして、その仮想的な画素を、基準画素とすることも可能である。
【０２５８】
さらに、本実施の形態では、画像データを変換の対象とするようにしたが、その他、例えば、オーディオデータや、コンピュータプログラム等を変換の対象とすることが可能である。但し、本発明は、画像データやオーディオデータ等のように、データどうしの間に、何らかの相関があるものを、変換の対象とする場合に、特に有用である。
【図面の簡単な説明】
【０２５９】
【図１】本発明を適用した画像変換装置の一実施の形態の構成例を示すブロック図である。
【図２】図１のコードテーブル作成部２の構成例を示すブロック図である。
【図３】図２の画素選択部１２の処理を説明するための図である。
【図４】図２のヒストグラム作成部１３の処理を説明するための図である。
【図５】実際の画像から得られた画素値のヒストグラムを示す図である。
【図６】図２のコード生成部１４の処理を説明するための図である。
【図７】図２のコード生成部１４の処理を説明するための図である。
【図８】図１の画像変換装置による変換処理を説明するためのフローチャートである。
【図９】図８のステップＳ１の処理のより詳細を説明するためのフローチャートである。
【図１０】本発明を適用した画像逆変換装置の一実施の形態の構成例を示すブロック図である。
【図１１】図１０の画像逆変換装置による逆変換処理を説明するためのフローチャートである。
【図１２】本発明を適用した画像伝送システムの一実施の形態の構成例を示すブロック図である。
【図１３】本件出願人が先に提案した画像伝送システムの構成例を示すブロック図である。
【図１４】符号化対象の画像を示す図である。
【図１５】相関性を利用した符号化／復号を説明するための図である。
【図１６】連続性を利用した符号化／復号を説明するための図である。
【図１７】相似性を利用した符号化／復号を説明するための図である。
【図１８】図１３の埋め込み符号化器１０３のハードウェアの構成例を示すブロック図である。
【図１９】図１８の埋め込み符号化器１０３の機能的構成例を示すブロック図である。
【図２０】埋め込み符号化処理を説明するためのフローチャートである。
【図２１】実際の画像の画素値の度数分布を示す図である。
【図２２】埋め込み符号化処理の結果を説明するための図である。
【図２３】図１３の埋め込み復号器１０６のハードウェアの構成例を示すブロック図である。
【図２４】図２３の埋め込み復号器１０６の機能的構成例を示すブロック図である。
【図２５】埋め込み復号処理を説明するためのフローチャートである。
【図２６】図２５のステップＳ１２２の処理を説明するための図である。
【図２７】図２５のステップＳ１２２の処理を説明するための図である。
【図２８】本発明を適用した、図１３の埋め込み符号化器１０３の一実施の形態の構成例を示すブロック図である。
【図２９】図２８の埋め込み符号化器１０３が行う埋め込み符号化処理を説明するためのフローチャートである。
【図３０】本発明を適用した、図１３の埋め込み復号器１０６の一実施の形態の構成例を示すブロック図である。
【図３１】図３０の埋め込み復号器１０６が行う埋め込み復号処理を説明するためのブロック図である。
【図３２】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０２６０】
１  フレームメモリ，  ２  コードテーブル作成部，  ３  コードテーブル記憶部，  ４  変換対象画素取得部，  ５  基準画素取得部，  ６  変換部，  ７  フレームメモリ，  １１  フレームメモリ，  １２  画素選択部，  １３  ヒストグラム作成部，  １４  コード生成部，  ２１  コードテーブル取得部，  ２２  コードテーブル記憶部，  ２３  フレームメモリ，  ２４  逆変換対象画素取得部，  ２５  逆変換部，  ２６  フレームメモリ，  ２７  基準画素取得部，  ３１  圧縮装置，  ３２  伝送媒体，  ３３  記録媒体，  ３４  伸張装置，  ４１  画像変換装置，  ４２  エントロピー符号化部，  ４３  マルチプレクサ，  ４４  デマルチプレクサ，  ４５  エントロピー復号部，  ４６  画像逆変換装置，  １０１  画像データベース，  １０２  付加情報データベース，  １０３  埋め込み符号化器，  １０４  記録媒体，  １０５  伝送媒体，  １０６  埋め込み復号器，  １１０  符号化装置，  １２０  復号装置，  １３１  フレームメモリ，  １３２  ＣＰＵ，  １３３  プログラムメモリ，  １３４  メモリ，  １３５  出力バッファ，  １４１  度数分布算出部，  １４２  変更対象画素値／変更値決定部，  １４３  画素値変更部，  １５１  入力バッファ，  １５２  ＣＰＵ，  １５３  プログラムメモリ，  １５４  フレームメモリ，  １５５  メモリ，  １６１  度数分布算出部，  １６２  変更対象画素値／変更値決定部，  １６３  画素値変更部，  １７１  画像変換装置，  １８１  画像逆変換装置，  ２０１  バス，  ２０２  CPU，  ２０３  ROM，  ２０４  RAM，  ２０５  ハードディスク，  ２０６  出力部，  ２０７  入力部，  ２０８  通信部，  ２０９  ドライブ，  ２１０  入出力インタフェース，  ２１１  リムーバブル記録媒体
【図１】
0004548434.tif 000002
【図２】
0004548434.tif 000003
【図３】
0004548434.tif 000004
【図４】
0004548434.tif 000005
【図５】
0004548434.tif 000006
【図６】
0004548434.tif 000007
【図７】
0004548434.tif 000008
【図８】
0004548434.tif 000009
【図９】
0004548434.tif 000010
【図１０】
0004548434.tif 000011
【図１１】
0004548434.tif 000012
【図１２】
0004548434.tif 000013
【図１３】
0004548434.tif 000014
【図１４】
0004548434.tif 000015
【図１５】
0004548434.tif 000016
【図１６】
0004548434.tif 000017
【図１７】
0004548434.tif 000018
【図１８】
0004548434.tif 000019
【図１９】
0004548434.tif 000020
【図２０】
0004548434.tif 000021
【図２１】
0004548434.tif 000022
【図２２】
0004548434.tif 000023
【図２３】
0004548434.tif 000024
【図２４】
0004548434.tif 000025
【図２５】
0004548434.tif 000026
【図２６】
0004548434.tif 000027
【図２７】
0004548434.tif 000028
【図２８】
0004548434.tif 000029
【図２９】
0004548434.tif 000030
【図３０】
0004548434.tif 000031
【図３１】
0004548434.tif 000032
【図３２】
0004548434.tif 000033