(57)【要約】【課題】より多くのデータを埋め込む。【解決手段】第１の被埋め込みデータが画像データであるとすると、その第１の被埋め込みデータとしての画像データを、例えば、ラインローテーション方式により、特徴データに対応して操作する埋め込み処理が行われる。これにより、第１の被埋め込みデータとしての画像データに、特徴データが埋め込まれ、埋め込み符号化データが生成される。その後、埋め込み対象データとしての画像データが、例えば、ラインローテーション方式により、特徴埋め込みデータに対応して操作する埋め込み処理（埋め込み対象データに対する最初の埋め込み処理）が行われる。これにより、埋め込み対象データとしての画像データに、特徴埋め込みデータが埋め込まれ、第１の埋め込み符号化データが生成される。【選択図】図４２
2007028658.tif 000002
【特許請求の範囲】
【請求項１】
入力データから、その特徴を表す特徴データを抽出する特徴データ抽出手段と、
情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記特徴データを埋め込み、前記入力データに、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込む埋め込み手段と
を備えるデータ処理装置。
【請求項２】
入力データから、その特徴を表す特徴データを抽出する特徴データ抽出ステップと、
情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記特徴データを埋め込み、前記入力データに、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込む埋め込みステップと
を含むデータ処理方法。
【請求項３】
入力データから、その特徴を表す特徴データを抽出する特徴データ抽出ステップと、
情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第１の特徴データを埋め込み、前記入力データに、前記特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込む埋め込みステップと
を含むデータ処理をコンピュータに行わせるプログラム。
【請求項４】
入力データの特徴を表す第１の特徴データとともに送信されてくる、前記入力データを処理して得られる処理データを復元するデータ処理装置であって、
前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元手段と、
前記復元データから、その特徴を表す第２の特徴データを抽出する特徴データ抽出手段と、
前記第１および第２の特徴データの一致性を判定し、その判定結果に基づいて、前記復元手段における復元処理を制御する制御手段とを備え、
前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第１の特徴データを埋め込み、前記入力データに、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込んだものであり、
前記復元手段は、
前記処理データから、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データと、前記任意のデータを復元し、
前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データを、前記第１の特徴データが埋め込まれた前記他の任意のデータと、前記入力データに復元し、
さらに、前記第１の特徴データが埋め込まれた前記他の任意のデータを、前記第１の特徴データと前記他の任意のデータに復元する
データ処理装置。
【請求項５】
前記制御手段は、前記第１および第２の特徴データが一致するように、前記復元処理を制御する
請求項４に記載のデータ処理装置。
【請求項６】
前記復元手段は、前記処理データを、所定の操作ルールにしたがって操作する復元処理を行うことにより、前記入力データを復元し、
前記制御手段は、前記復元処理における前記処理データに対する操作を制御する
請求項４に記載のデータ処理装置。
【請求項７】
前記復元手段は、前記処理データの値を変更し、その変更後の前記処理データを、所定の操作ルールにしたがって操作する復元処理を行うことにより、前記入力データを復元し、
前記制御手段は、前記復元処理における前記処理データの値の変更を制御する
請求項４に記載のデータ処理装置。
【請求項８】
入力データの特徴を表す第１の特徴データとともに送信されてくる、前記入力データを処理して得られる処理データを復元するデータ処理方法であって、
前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元ステップと、
前記復元データから、その特徴を表す第２の特徴データを抽出する特徴データ抽出ステップと、
前記第１および第２の特徴データの一致性を判定し、その判定結果に基づいて、前記復元ステップでの復元処理を制御する制御ステップとを含み、
前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第１の特徴データを埋め込み、前記入力データに、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込んだものであり、
前記復元ステップにおいて、
前記処理データから、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データと、前記任意のデータを復元し、
前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データを、前記第１の特徴データが埋め込まれた前記他の任意のデータと、前記入力データに復元し、
さらに、前記第１の特徴データが埋め込まれた前記他の任意のデータを、前記第１の特徴データと前記他の任意のデータに復元する
データ処理方法。
【請求項９】
入力データの特徴を表す第１の特徴データとともに送信されてくる、前記入力データを処理して得られる処理データを復元するデータ処理を、コンピュータに行わせるプログラムであって、
前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元ステップと、
前記復元データから、その特徴を表す第２の特徴データを抽出する特徴データ抽出ステップと、
前記第１および第２の特徴データの一致性を判定し、その判定結果に基づいて、前記復元ステップでの復元処理を制御する制御ステップとを含み、
前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第１の特徴データを埋め込み、前記入力データに、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込んだものであり、
前記復元ステップにおいて、
前記処理データから、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データと、前記任意のデータを復元し、
前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データを、前記第１の特徴データが埋め込まれた前記他の任意のデータと、前記入力データに復元し、
さらに、前記第１の特徴データが埋め込まれた前記他の任意のデータを、前記第１の特徴データと前記他の任意のデータに復元する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法、およびプログラムに関し、特に、例えば、画像データに対して、多くのデータを埋め込むとともに、そのデータが埋め込まれた画像データと、埋め込んだデータを復元すること等ができるようにするデータ処理装置、データ処理方法、およびプログラムに関する。
【背景技術】
【０００２】
例えば、情報としてのあるデータ系列に対して、そのデータ量を増加させることなく、他の情報としての他のデータ系列を埋め込む手法としては、ディジタル音声データ（オーディオデータ）の最下位ビットや、下位２ビットなどを、埋め込む情報に変換するものなどがある。この手法は、ディジタル音声データの下位ビットが、その音質にあまり影響を与えないことを利用し、その下位ビットを、単に、他のデータ系列を構成するデータに置き換えるものであり、従って、再生時には、他のデータ系列が埋め込まれたディジタル音声データは、その下位ビットを元に戻さずに、そのまま出力される。即ち、この場合、他のデータ系列に変換された下位ビットを、元に戻すのは困難であり、また、下位ビットは、音質に、あまり影響を与えないことから、ディジタル音声データは、他のデータ系列が埋め込まれた状態で出力される。
【０００３】
しかしながら、以上のような手法によれば、元の音声データと異なる音声データが出力される。即ち、元の音声データに埋め込まれた他のデータは、元の音声データにとっては、ノイズとなるから、他のデータが埋め込まれた音声データは、その音質が劣化したものとなる。
【０００４】
また、音声データの他、画像データにも、上述の音声データにおける場合と同様にして、他のデータの埋め込みが可能であるが、この場合も、他のデータが埋め込まれた画像データは、その画質が劣化したものとなる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで、本件出願人は、画質を劣化させることなく（画質の劣化を最低限に抑えて）、元の画像データと、それに埋め込まれていた他のデータを復元することのできる埋め込み手法について、先に提案している。
【０００６】
即ち、いま、他のデータを埋め込む対象となる画像データ等を、埋め込み対象データと、埋め込み対象データに埋め込まれる他のデータを、被埋め込みデータと、埋め込み対象データに対して被埋め込みデータを埋め込むことにより得られるデータを、埋め込み符号化データと、それぞれいうものとする。
【０００７】
被埋め込みデータを、埋め込み対象データに埋め込む埋め込み処理では、埋め込み対象データとしての画像データが、所定の操作ルールにしたがい、被埋め込みデータに対応して操作される。即ち、例えば、埋め込み対象データとしての画像データを構成する水平ライン（または垂直ライン）を、被埋め込みデータに対応する値だけ、左方向にローテーションするという操作ルールにしたがって、その埋め込み対象データとしての画像データが操作される。これにより、図１Ａに示すように、埋め込み対象データに被埋め込みデータを埋め込んだ埋め込み符号化データが生成される。
【０００８】
一方、埋め込み符号化データを、埋め込み対象データと被埋め込みデータに復元する復元処理では、埋め込み符号化データが、埋め込み対象データとしての画像の相関性等を利用して、図１Ｂに示すように、元の埋め込み対象データと被埋め込みデータに復元される。即ち、例えば、埋め込み符号化データとされた画像データを構成する水平ラインを、順次、注目ラインとして、その注目ラインを、埋め込み処理における場合とは反対方向である左方向に、１画素ずつローテーションしながら、その注目ラインの１ライン上の水平ラインである基準ラインとの間の相関が計算され、その相関を最大にするローテーション量が求められる。そして、注目ラインが、基準ラインとの相関を最大にするローテーション量だけローテーションされることにより元の位置に戻されるとともに、そのローテーション量が、その注目ラインに埋め込まれていた被埋め込みデータとして復元される。
【０００９】
以上から、先に提案した埋め込み処理によれば、埋め込み対象データと被埋め込みデータを、埋め込み対象データのデータ量となる埋め込み符号化データに圧縮すること、即ち、被埋め込みデータの分だけ圧縮することができる。さらに、先に提案した復元処理によれば、埋め込み対象データとしての画像データの相関性を利用することにより、埋め込み符号化データを、特に復元のためのオーバヘッドなしで、元の埋め込み対象データと被埋め込みデータに復元することができる。
【００１０】
ところで、より多くの被埋め込みデータを埋め込むことができれば便利であるが、上述のように、ラインをローテーションするという操作ルールだけでは、画像データに埋め込むことのできる被埋め込みデータのデータ量は、その画像データを構成するライン数による制限を受ける。
【００１１】
本発明は、このような状況に鑑みてなされたものであり、埋め込み対象データに対して、より多くの被埋め込みデータを埋め込む埋め込み処理と、その埋め込み処理によって得られた埋め込み符号化データを、元の埋め込み対象データと被埋め込みデータに復元する復元処理を行うこと等ができるようにするものである。
【課題を解決するための手段】
【００１２】
本発明の第１の側面のデータ処理装置は、入力データから、その特徴を表す特徴データを抽出する特徴データ抽出手段と、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記特徴データを埋め込み、前記入力データに、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込む埋め込み手段とを備える。
【００１３】
本発明の第１の側面のデータ処理方法は、入力データから、その特徴を表す特徴データを抽出する特徴データ抽出ステップと、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記特徴データを埋め込み、前記入力データに、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込む埋め込みステップとを含む。
【００１４】
本発明の第１の側面のプログラムは、入力データから、その特徴を表す特徴データを抽出する特徴データ抽出ステップと、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第１の特徴データを埋め込み、前記入力データに、前記特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込む埋め込みステップとを含むデータ処理をコンピュータに行わせる。
【００１５】
本発明の第１の側面のデータ処理装置、データ処理方法、またはプログラムにおいては、入力データから、その特徴を表す特徴データが抽出され、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第１の特徴データが埋め込まれ、前記入力データに、前記特徴データが埋め込まれた前記他の任意のデータが埋め込まれ、さらに、任意のデータが埋め込まれる。
【００１６】
本発明の第２の側面のデータ処理装置は、入力データの特徴を表す第１の特徴データとともに送信されてくる、前記入力データを処理して得られる処理データを復元するデータ処理装置であって、前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元手段と、前記復元データから、その特徴を表す第２の特徴データを抽出する特徴データ抽出手段と、前記第１および第２の特徴データの一致性を判定し、その判定結果に基づいて、前記復元手段における復元処理を制御する制御手段とを備え、前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第１の特徴データを埋め込み、前記入力データに、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込んだものであり、前記復元手段は、前記処理データから、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データと、前記任意のデータを復元し、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データを、前記第１の特徴データが埋め込まれた前記他の任意のデータと、前記入力データに復元し、さらに、前記第１の特徴データが埋め込まれた前記他の任意のデータを、前記第１の特徴データと前記他の任意のデータに復元する。
【００１７】
前記制御手段は、前記第１および第２の特徴データが一致するように、前記復元処理を制御することができる。
【００１８】
前記復元手段は、前記処理データを、所定の操作ルールにしたがって操作する復元処理を行うことにより、前記入力データを復元し、前記制御手段は、前記復元処理における前記処理データに対する操作を制御することができる。
【００１９】
前記復元手段は、前記処理データの値を変更し、その変更後の前記処理データを、所定の操作ルールにしたがって操作する復元処理を行うことにより、前記入力データを復元し、前記制御手段は、前記復元処理における前記処理データの値の変更を制御することができる。
【００２０】
本発明の第２のデータ処理方法は、入力データの特徴を表す第１の特徴データとともに送信されてくる、前記入力データを処理して得られる処理データを復元するデータ処理方法であって、前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元ステップと、前記復元データから、その特徴を表す第２の特徴データを抽出する特徴データ抽出ステップと、前記第１および第２の特徴データの一致性を判定し、その判定結果に基づいて、前記復元ステップでの復元処理を制御する制御ステップとを含み、前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第１の特徴データを埋め込み、前記入力データに、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込んだものであり、前記復元ステップにおいて、前記処理データから、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データと、前記任意のデータを復元し、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データを、前記第１の特徴データが埋め込まれた前記他の任意のデータと、前記入力データに復元し、さらに、前記第１の特徴データが埋め込まれた前記他の任意のデータを、前記第１の特徴データと前記他の任意のデータに復元する。
【００２１】
本発明の第２のプログラムは、入力データの特徴を表す第１の特徴データとともに送信されてくる、前記入力データを処理して得られる処理データを復元するデータ処理を、コンピュータに行わせるプログラムであって、前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元ステップと、前記復元データから、その特徴を表す第２の特徴データを抽出する特徴データ抽出ステップと、前記第１および第２の特徴データの一致性を判定し、その判定結果に基づいて、前記復元ステップでの復元処理を制御する制御ステップとを含み、前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第１の特徴データを埋め込み、前記入力データに、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込んだものであり、前記復元ステップにおいて、前記処理データから、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データと、前記任意のデータを復元し、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データを、前記第１の特徴データが埋め込まれた前記他の任意のデータと、前記入力データに復元し、さらに、前記第１の特徴データが埋め込まれた前記他の任意のデータを、前記第１の特徴データと前記他の任意のデータに復元する。
【００２２】
本発明の第２のデータ処理装置、データ処理方法、またはプログラムにおいては、前記処理データに所定の復元処理を施すことにより、前記入力データが復元され、その復元した前記入力データが、復元データとして出力され、前記復元データから、その特徴を表す第２の特徴データが抽出され、入力データの特徴を表す第１および第２の特徴データの一致性が判定され、その判定結果に基づいて、前記復元処理が制御され、前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第１の特徴データを埋め込み、前記入力データに、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込んだものであり、前記処理データから、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データと、前記任意のデータが復元され、前記第１の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データが、前記第１の特徴データが埋め込まれた前記他の任意のデータと、前記入力データに復元され、さらに、前記第１の特徴データが埋め込まれた前記他の任意のデータが、前記第１の特徴データと前記他の任意のデータに復元される。
【発明の効果】
【００２３】
本発明の第１の側面によれば、多くのデータを埋め込むことができる。
【００２４】
本発明の第２の側面におれば、入力データを、正確に復元することができる。
【発明を実施するための最良の形態】
【００２５】
図２は、本発明を適用した埋め込み符号化／復号システムの一実施の形態の構成例を示している。
【００２６】
この埋め込み符号化／復号システムは、符号化装置１１および復号装置１２で構成されている。符号化装置１１は、埋め込み対象データとしての、例えば、画像データに対して、被埋め込みデータを埋め込むことにより、埋め込み符号化データを生成して出力し、復号装置１２は、その埋め込み符号化データを、元の埋め込み対象データと被埋め込みデータに復号する。
【００２７】
即ち、符号化装置１１は、埋め込み対象データベース１、被埋め込みデータベース２、および埋め込み符号化器３で構成されている。
【００２８】
埋め込み対象データベース１は、埋め込み対象データとしての、例えばディジタル画像データを記憶している。そして、埋め込み対象データベース１からは、そこに記憶されている画像データが読み出され、埋め込み符号化器３に供給される。
【００２９】
また、被埋め込みデータベース２は、被埋め込みデータ（ディジタルデータ）を記憶している。そして、被埋め込みデータベース２からも、そこに記憶されている被埋め込みデータが読み出され、埋め込み符号化器３に供給される。
【００３０】
埋め込み符号化器３では、埋め込み対象データベース１からの画像データ、および被埋め込みデータベース２からの被埋め込みデータが受信される。さらに、埋め込み符号化器３は、埋め込み対象データベース１からの画像データが有するエネルギの偏りを利用して復号を行うことができるように、その画像データを、被埋め込みデータベース２からの被埋め込みデータに対応して操作することで、画像データに、被埋め込みデータを埋め込み、埋め込み符号化データを生成して出力する。埋め込み符号化器３が出力する埋め込み符号化データは、例えば、半導体メモリ、光磁気ディスク、磁気ディスク、光ディスク、磁気テープ、相変化ディスクなどでなる記録媒体４に記録され、あるいは、また、例えば、地上波、衛星回線、ＣＡＴＶ（Cable Television）網、インターネット、公衆回線などでなる伝送媒体５を介して伝送され、復号装置１２に提供される。
【００３１】
復号装置１２は、復元器６で構成され、そこでは、記録媒体４または伝送媒体５を介して提供される埋め込み符号化データが受信される。さらに、復元器６は、その埋め込み符号化データを、埋め込み対象データとしての画像データが有するエネルギの偏りを利用して、元の画像データおよび被埋め込みデータに復元する。この復元された画像データは、例えば、図示せぬモニタに供給されて表示される。
【００３２】
なお、被埋め込みデータとしては、例えば、埋め込み対象データとしての元の画像データに関連するテキストデータや、音声データ、その画像データを縮小した縮小画像データ等は勿論、元の画像データに無関係なデータも用いることができる。
【００３３】
次に、図３は、図２の埋め込み符号化器３の構成例を示している。
【００３４】
埋め込み対象データベース１から供給される埋め込み対象データとしての画像データは、フレームメモリ２１に供給されるようになされており、フレームメモリ２１は、埋め込み対象データベース１からの画像データを、例えば、フレーム単位で一時記憶する。
【００３５】
埋め込み部２２は、被埋め込みデータベース２に記憶された被埋め込みデータを受信し、その被埋め込みデータを、フレームメモリ２１に記憶された埋め込み対象データとしての画像データに埋め込む埋め込み処理を行い、これにより、画像データのエネルギの偏りを利用して元に戻すことができる埋め込み符号化データを生成する。
【００３６】
なお、フレームメモリ２１は、複数のフレーム（またはフィールド）を記憶することのできるように、複数バンクで構成されており、バンク切り替えを行うことで、フレームメモリ２１では、埋め込み対象データベース１から供給される画像データの記憶、埋め込み部２２による埋め込み処理の対象となっている画像データの記憶、および埋め込み処理後の画像データ（埋め込み符号化データ）の出力を、同時に行うことができるようになっている。これにより、埋め込み対象データベース１から供給される画像データが、動画であっても、埋め込み符号化データのリアルタイム出力を行うことができるようになっている。
【００３７】
次に、図４は、図３の埋め込み符号化器３が出力する埋め込み符号化データを、画像データのエネルギの偏りを利用して元の画像データと被埋め込みデータに復元する図２の復元器６の構成例を示している。
【００３８】
埋め込み符号化データ、即ち、被埋め込みデータが埋め込まれた画像データ（以下、適宜、埋め込み画像データともいう）は、フレームメモリ３１に供給されるようになされており、フレームメモリ３１は、埋め込み画像データを、例えば、フレーム単位で一時記憶する。なお、フレームメモリ３１も、図３のフレームメモリ２１と同様に構成され、バンク切り替えを行うことにより、埋め込み画像データが、動画であっても、そのリアルタイム処理が可能となっている。
【００３９】
復元部３２は、フレームメモリ３１に記憶された埋め込み画像データを、画像データのエネルギの偏りを利用して元の画像データと被埋め込みデータに復元する復元処理を行う。
【００４０】
次に、上述の埋め込み符号化器３で行われる埋め込み処理と、復元器６で行われる復元処理の原理について説明する。
【００４１】
一般に、情報と呼ばれるものは、エネルギ（エントロピー）の偏り（普遍性）を有し、この偏りが、情報（価値ある情報）として認識される。即ち、例えば、ある風景を撮影して得られる画像が、そのような風景の画像であると人によって認識されるのは、画像（画像を構成する各画素の画素値など）が、その風景に対応したエネルギの偏りを有するからであり、エネルギの偏りがない画像は、雑音等にすぎず、情報としての利用価値はない。
【００４２】
従って、価値ある情報に対して、何らかの操作を施し、その情報が有する本来のエネルギの偏りを、いわば破壊した場合でも、その破壊されたエネルギの偏りを元に戻すことで、何らかの操作が施された情報も、元の情報に戻すことができる。即ち、情報を操作して得られるデータは、その情報が有する本来のエネルギの偏りを利用して、元の価値ある情報に復元することができる。
【００４３】
ここで、情報が有するエネルギ（の偏り）を表すものとしては、例えば、相関性、連続性、相似性などがある。
【００４４】
情報の相関性とは、その情報の構成要素（例えば、画像であれば、その画像を構成する画素や水平ラインなど）どうしの相関（例えば、自己相関や、ある構成要素と他の構成要素との距離など）を意味する。例えば、画像の相関性を表すものとしては、画像の水平ライン間の相関があり、この相関を表す相関値としては、例えば、２つの水平ラインにおける、対応する画素の画素値どうしの差分の２乗和等の逆数を用いることができる。
【００４５】
即ち、例えば、いま、図５に示すようなＨ本の水平ラインを有する画像があった場合に、その上から１行目の水平ライン（第１水平ライン）と、他の水平ラインとの相関は、一般に、図６Ａに示すように、第１水平ラインとの距離が近い水平ライン（図５における画像の上側の水平ライン）ほど、第Ｍ水平ラインについての相関として示すように大きくなり、第１水平ラインとの距離が遠い水平ライン（図５における画像の下側の水平ライン）ほど、第Ｎ水平ラインについての相関として示すように小さくなる。従って、第１水平ラインから近いほど、第１水平ラインとの相関が大きくなり、遠いほど相関が小さくなるという相関の偏りがある。
【００４６】
そこで、いま、図５の画像において、第１水平ラインから比較的近い第Ｍ水平ラインと、第１水平ラインから比較的遠い第Ｎ水平ラインとの画素を入れ替える操作を行い（１＜Ｍ＜Ｎ≦Ｈ）、その入れ替え後の画像について、第１水平ラインと、他の水平ラインとの相関を計算値すると、それは、例えば、図６Ｂに示すようになる。
【００４７】
即ち、入れ替え後の画像では、第１水平ラインから近い第Ｍ水平ライン（入れ替え前の第Ｎ水平ライン）との相関が小さくなり、第１水平ラインから遠い第Ｎ水平ライン（入れ替え前の第Ｍ水平ライン）との相関が大きくなる。
【００４８】
従って、図６Ｂでは、第１水平ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関性の偏りが破壊されている。しかしながら、画像については、一般に、第１水平ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関性の偏りを利用することにより、破壊された相関性の偏りを復元することができる。即ち、図６Ｂにおいて、第１水平ラインから近い第Ｍ水平ラインとの相関が小さく、第１水平ラインから遠い第Ｎ水平ラインとの相関が大きいのは、画像が有する本来の相関性の偏りからすれば、明らかに不自然であり（おかしく）、第Ｍ水平ラインと第Ｎ水平ラインとは入れ替えるべきである。そして、図６Ｂにおける第Ｍ水平ラインと第Ｎ水平ラインとを入れ替えることで、図６Ａに示すような本来の相関性の偏りを有する画像、即ち、元の画像を復元することができる。
【００４９】
ここで、図５および図６で説明した場合においては、水平ラインの入れ替え操作が、画像データに対して、被埋め込みデータを埋め込むこととなる。そして、被埋め込みデータの埋め込みに際して、例えば、何水平ライン目を移動するかや、どの水平ラインどうしを入れ替えるかなどといった画像データに対する操作が、被埋め込みデータに対応して決定される。一方、被埋め込みデータが埋め込まれた埋め込み画像データ（埋め込み符号化データ）の水平ラインを、元の画像データの相関を利用して、元の位置に入れ替えることが、元の画像データを復元することになる。そして、その復元に際して、例えば、何水平ライン目を移動したかや、どの水平ラインどうしを入れ替えたかなどの埋め込み画像データに対する操作に基づいて、画像データに埋め込まれていた被埋め込みデータが復元される。
【００５０】
次に、図７乃至図９を参照して、画像データの相関性を利用する埋め込み処理と復元処理の例について説明する。
【００５１】
図７乃至図９の実施の形態では、埋め込み処理において、埋め込み対象データとしての画像データを構成する一部の画素が、処理対象画素として選択され、その選択された画素が、被埋め込みデータに対応してレベル方向に操作されることにより（画素値が操作されることにより）、その画素に対して、被埋め込みデータが埋め込まれる。一方、復元処理では、埋め込み処理によって得られた埋め込み画像データを構成する一部の画素（埋め込み処理で選択されたのと同一位置の画素）が、処理対象画素として選択され、図７に示すように、その処理対象画素に対して、埋め込み処理における場合と逆の操作が施されることで、その画素値が変更される。さらに、図７に示すように、画素値の変更前の処理対象画素と、その周辺画素（図７の実施の形態では、左右に隣接する画素）との相関値Ｒ1が演算されるとともに、画素値の変更された処理対象画素と、その画素の周辺画素との相関値Ｒ2が演算される。そして、その相関値Ｒ1とＲ2との大小関係に基づいて、画素値の変更前または変更後の処理対象画素のうちのいずれか一方が、元の画像データの復元結果とされるとともに、その処理対象画素に埋め込まれていた被埋め込みデータが復元される。
【００５２】
図８は、図３の埋め込み符号化器３が、画像データの相関性を利用して行う埋め込み処理の例を示すフローチャートである。
【００５３】
埋め込み対象データベース１では、そこに記憶されている埋め込み対象データとしての画像データが読み出され、例えば、１フレーム単位で、フレームメモリ２１に供給されて記憶される。
【００５４】
一方、埋め込み部２２は、被埋め込みデータベース２から、被埋め込みデータを、例えば１ビットずつ受信し、ステップＳ１において、その１ビットの被埋め込みデータを埋め込む処理の対象とする画素（処理対象画素）を、フレームメモリ２１に記憶された画像から選択する。
【００５５】
ここで、本実施の形態では、例えば、フレームメモリ２１に記憶された画像データから、五の目格子状に、画素が、順次選択され、処理対象画素とされるようになっている。
【００５６】
その後、埋め込み部２２は、ステップＳ２において、被埋め込みデータベース２から受信した被埋め込みデータが１または０のうちのいずれであるかを判定する。ステップＳ２において、被埋め込みデータが、１または０のうちの、例えば０であると判定された場合、ステップＳ１に戻る。即ち、埋め込み部２２は、被埋め込みデータが０である場合には、処理対象画素に、何らの操作も施さずに（所定の定数としての０を加算し）、ステップＳ１に戻り、次の１ビットの被埋め込みデータが、被埋め込みデータベース２から送信されてくるのを待って、次に処理対象画素とすべき画素を選択し、以下、同様の処理を繰り返す。
【００５７】
また、ステップＳ２において、被埋め込みデータが、１または０のうちの、例えば１であると判定された場合、ステップＳ３に進み、埋め込み部２２は、処理対象画素に対して、所定の操作を施す。即ち、埋め込み部２２は、所定の定数としての、例えば、２の、画像データを構成する画素に割り当てられているビット数−１乗を、処理対象画素の画素値に加算する。
【００５８】
従って、画像データを構成する画素の画素値として、例えば、８ビットが割り当てられている場合には、ステップＳ３では、２7が、処理対象画素の画素値に加算されることになる。
【００５９】
なお、この加算は、画素値が、例えば、ＹＵＶなどで表現されている場合には、輝度成分Ｙ、または色成分Ｕ，Ｖのいずれに対して行っても良い。また、加算は、画素値が、例えば、ＲＧＢで表現されている場合には、Ｒ，Ｇ，Ｂのいずれに対して行っても良い。即ち、ステップＳ３における加算は、画素値が複数の成分で構成される場合には、その複数の成分のうちの１つまたは２以上に対して行っても良いし、全部に対して行っても良い。また、ステップＳ３の加算は、複数の成分それぞれごとに、独立に行うことも可能である。
【００６０】
ステップＳ３において、処理対象画素の画素値に、２7が加算された後は、ステップＳ４に進み、その加算結果がオーバフローしているかどうかが判定される。ステップＳ４において、加算結果がオーバフローしていないと判定された場合、ステップＳ５をスキップして、ステップＳ６に進み、埋め込み部２２は、その加算結果を、処理対象画素の画素値として、フレームメモリ２１に書き込み（上書きし）、ステップＳ１に戻る。
【００６１】
また、ステップＳ４において、加算結果がオーバフローしていると判定された場合、即ち、本実施の形態では、画素値が８ビットであるから、加算結果が、２8以上となった場合、ステップＳ５に進み、埋め込み部２２は、その加算値の補正を行う。即ち、ステップＳ５では、オーバフローした加算値が、例えば、そのオーバフローした分（オーバフローした加算値から２8を減算した値）に補正される。そして、ステップＳ６に進み、埋め込み部２２は、その補正後の加算結果を、処理対象画素の画素値として、フレームメモリ２１に書き込み、次の１ビットの被埋め込みデータが、被埋め込みデータベース２から送信されてくるのを待って、ステップＳ１に戻る。
【００６２】
なお、フレームメモリ２１に記憶された、ある１フレームの画像データについて埋め込み処理が行われた後は、その１フレームの画像データ、即ち、埋め込み画像データは、フレームメモリ２１から読み出されて出力される。そして、埋め込み部２２は、フレームメモリ２１に記憶された、次の１フレームの画像データを対象に、埋め込み処理を続行する。
【００６３】
次に、図９のフローチャートを参照して、図８の埋め込み処理により得られる埋め込み画像データを復元する、復元器６による復元処理について説明する。
【００６４】
フレームメモリ３１では、そこに供給される埋め込み画像データが、例えば、１フレーム単位で順次記憶される。
【００６５】
一方、復元部３２は、ステップＳ１１において、フレームメモリ３１に記憶されたあるフレームの埋め込み画像データから、復元処理の対象とする画素（処理対象画素）を選択する。
【００６６】
ここで、復元部３２では、埋め込み部２２と同様に、フレームメモリ３１に記憶された埋め込み画像データから、五の目格子状に、画素が、順次選択される。即ち、埋め込み処理と復元処理では、同一位置にある画素が、処理対象画素として選択される。
【００６７】
その後、ステップＳ１２に進み、復元部３２は、処理対象画素に対し、図３の埋め込み部２２が行った操作と逆の操作を施す。即ち、埋め込み部２２は、所定の定数としての、例えば、２の、画像を構成する画素に割り当てられているビット数−１乗を、処理対象画素の画素値から減算する。
【００６８】
従って、上述したように、埋め込み画像データを構成する画素の画素値として、例えば、８ビットが割り当てられている場合においては、ステップＳ１２では、２7が、処理対象画素の画素値から減算されることになる。
【００６９】
なお、この減算は、画素値が、例えば、ＹＵＶなどで表現されている場合には、輝度成分Ｙ、または色成分Ｕ，Ｖのいずれに対して行っても良い。また、減算は、画素値が、例えば、ＲＧＢで表現されている場合には、Ｒ，Ｇ，Ｂのいずれに対して行っても良い。但し、ステップＳ１２における減算は、図８のステップＳ３における加算が行われたものと同一のものに対して行う必要がある。即ち、画素値が、例えば、ＹＵＶなどで表現されており、図８のステップＳ３における加算が、ＹＵＶのうちの、例えば、Ｙ成分に対して行われた場合には、ステップＳ１２における減算は、やはり、Ｙ成分に対して行う必要がある。
【００７０】
ステップＳ１２において、処理対象画素の画素値から、２7が減算された後は、ステップＳ１３に進み、その減算結果がアンダフローしているかどうかが判定される。ステップＳ１３において、減算結果がアンダフローしていないと判定された場合、ステップＳ１４をスキップして、ステップＳ１５に進む。
【００７１】
また、ステップＳ１３において、減算結果がアンダフローしていると判定された場合、即ち、加算結果が、０未満となった場合、ステップＳ１４に進み、復元部３２は、その減算値の補正を行う。即ち、ステップＳ１４では、アンダフローした減算値が、例えば、その減算値に２8を加算した値に補正され、ステップＳ１５に進む。
【００７２】
ステップＳ１５では、処理対象画素の画素値（ステップＳ１２で２7を減算していないもの）（以下、適宜、第１の画素値という）Ｐ1と、その画素値から２7を減算した減算値（以下では、ステップＳ１４で補正されたものも含むものとする）（以下、適宜、第２の画素値という）Ｐ2のそれぞれについて、処理対象画素の周辺画素としての、例えば、その左右に隣接する画素それぞれとの間の相関を表す相関値が演算される。
【００７３】
即ち、ステップＳ１５では、例えば、処理対象画素の第１の画素値Ｐ1と、その左右の画素それぞれの画素値との差分の絶対値が演算され、その結果得られる２つの絶対値の加算値の逆数が、処理対象画素の第１の画素値Ｐ1についての相関値Ｒ1として求められる。さらに、ステップＳ１５では、処理対象画素の第２の画素値Ｐ2についても、その左右の画素それぞれの画素値との差分の絶対値どうしの加算値の逆数が演算され、それが、処理対象画素の第２の画素値Ｐ2の相関値Ｒ2として求められる。
【００７４】
なお、ステップＳ１５において、処理対象画素との間の相関を求めるのに用いる画素は、その左右に隣接する画素に限定されるものではなく、上下に隣接する画素であっても良いし、時間的に隣接する画素であっても良い。また、必ずしも、空間的または時間的に隣接する画素である必要もない。但し、処理対象画素との相関を求めるにあたっては、埋め込み画像データにおいて、被埋め込みデータが埋め込まれていない画素を用いるのが望ましい。これは、処理対象画素について、被埋め込みデータが埋め込まれた画素との相関を求めても、元の画像データについての相関を得ることができず、従って、画像データの相関性を利用することができないため、被埋め込みデータが埋め込まれた画素から、元の画素値および被埋め込みデータを、正確に復元するのが困難となるからである。また、画像データの相関性を利用して、処理対象画素を復元する以上、処理対象画素との相関値を求めるのに用いる画素は、その処理対象画素との空間的または時間的距離が近いものであるのが望ましい。
【００７５】
第１の画素値Ｐ1についての相関値Ｒ1、および第２の画素値Ｐ2についての相関値Ｒ2の算出後は、ステップＳ１６に進み、復元部３２において、その相関値Ｒ1とＲ2とが比較される。
【００７６】
ステップＳ１６において、相関値Ｒ1が、相関値Ｒ2より大きい（または以上である）と判定された場合、ステップＳ１７に進み、復元部３２において、被埋め込みデータの復元結果として、０が出力され、ステップＳ１１に戻る。そして、この場合、フレームメモリ３１の記憶値は書き換えられず（あるいは、画素値Ｐ1が上書きされ）従って、処理対象画素の画素値の復元結果は、その画素値Ｐ1のままとされる。
【００７７】
即ち、第１の画素値Ｐ1についての相関値Ｒ1の方が、第２の画素値Ｐ2についての相関値Ｒ2より大きいということは、処理対象画素の画素値としては、画素値Ｐ2よりも、画素値Ｐ1の方が確からしいこととなるので、処理対象画素の画素値の復元結果は、その確からしい画素値Ｐ1とされる。さらに、画素値Ｐ1は、ステップＳ１２で２7が減算されていないものであるから、図８のステップＳ３で２7が加算されていないと考えられる。そして、図８の埋め込み処理では、被埋め込みデータが０の場合には、２7を加算しないこととしているから、第１の画素値Ｐ1についての相関値Ｒ1の方が大きく、画素値Ｐ1が、処理対象画素の画素値として確からしい場合には、そこに埋め込まれた被埋め込みデータは０ということになる。
【００７８】
一方、ステップＳ１６において、相関値Ｒ2が、相関値Ｒ1より大きい（以上である）と判定された場合、ステップＳ１８に進み、復元部３２において、フレームメモリ３１に記憶された処理対象画素の画素値が、その画素値から２7を減算した減算値、即ち、第２の画素値Ｐ2に書き換えられる。従って、この場合、処理対象画素の画素値の復元結果は、その画素値Ｐ2とされる。そして、ステップＳ１９に進み、復元部３２において、被埋め込みデータの復元結果として、１が出力され、ステップＳ１１に戻る。
【００７９】
即ち、第２の画素値Ｐ2についての相関値Ｒ2の方が、第１の画素値Ｐ1についての相関値Ｒ1より大きいということは、処理対象画素の画素値としては、画素値Ｐ1よりも、画素値Ｐ2の方が確からしいこととなるので、処理対象画素の画素値の復元結果は、その確からしい画素値Ｐ2とされる。さらに、画素値Ｐ2は、ステップＳ１２で、画素値Ｐ1から２7が減算されたものであるから、図８のステップＳ３で、元の画素値に２7が加算されたものであると考えられる。そして、図８の埋め込み処理では、被埋め込みデータが１の場合には、２7を加算することとしているから、第２の画素値Ｐ2についての相関値Ｒ2の方が大きく、画素値Ｐ2が、処理対象画素の画素値として確からしい場合には、そこに埋め込まれた被埋め込みデータは１ということになる。
【００８０】
ここで、上述のようにして求められる相関値Ｒ1とＲ2との差分が小さい場合には、画素値Ｐ1とＰ2のうちのいずれが、処理対象画素の画素値として確からしいかは、一概には言えない。そこで、このような場合には、処理対象画素の左右に隣接する画素だけでなく、他の画素をも用いて、画素値Ｐ1，Ｐ2それぞれについての相関値を求め、その相関値を比較することで、画素値Ｐ1，Ｐ2のうちのいずれが、処理対象画素の画素値として確からしいかを決定することができる。
【００８１】
以上のように、被埋め込みデータが埋め込まれた画像データである埋め込み画像データを、画像の相関性を利用して、元の画像データと被埋め込みデータに復元するようにしたので、その復元のためのオーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像（復号画像）には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【００８２】
即ち、図８の埋め込み処理によれば、画像データの画素値に、被埋め込みデータの値に対応した所定値（図８の実施の形態では、０または２7）を加算し、その加算値がオーバフローしている場合には、その補正を行うという操作ルールにしたがい、画像データに対して、被埋め込みデータが埋め込まれ、埋め込み画像データが生成される。
【００８３】
一方、図９の復元処理によれば、埋め込み処理における操作ルールにしたがい、埋め込み画像データに対して、埋め込み処理における場合とは逆の操作が行われ、その操作後のデータの相関に基づいて、埋め込み処理において行われた操作が、いわば特定される。そして、その特定された操作にしたがい、埋め込み画像データが、元の画像データと被埋め込みデータが復元される。
【００８４】
従って、図８の埋め込み処理における操作ルールは、画像データの相関性を利用して、被埋め込みデータが埋め込まれた埋め込み画像データを元に戻すことができる操作ルールであるということができるが、埋め込み処理では、このような操作ルールを採用することで、画像データの画質を劣化させることなく（最低限の劣化に抑えて）、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。
【００８５】
即ち、被埋め込みデータが埋め込まれた画素は、画像の相関性、即ち、ここでは、被埋め込みデータが埋め込まれなかった画素との間の相関を利用することにより、オーバヘッドなしで、元の画素と被埋め込みデータに復元（戻す）ことができる。従って、その結果得られる復元画像（復号画像）には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【００８６】
なお、図７乃至図９の実施の形態では、処理対象画素と、他の画素との間の相関を表す相関値として、それらの画素値の差分の絶対値の逆数を用いるようにしたが、相関値は、これに限定されるものではない。
【００８７】
また、図７乃至図９の実施の形態では、画像データから、五の目格子状に、画素を選択し、その画素に、被埋め込みデータを埋め込むようにしたが、被埋め込みデータを埋め込む画素の選択パターンは、これに限定されるものではない。但し、被埋め込みデータを埋め込んだ画素の復元にあたっては、上述したように、被埋め込みデータが埋め込まれていない画素を用いて相関を求めるのが望ましく、また、画素どうしの相関は、基本的に、それらの間の空間的または時間的距離が離れるほど小さくなっていく。従って、正確な復元を行う観点からは、被埋め込みデータを埋め込む画素は、空間的または時間的に、いわゆる疎らになるように選択するのが望ましい。一方、多くの被埋め込みデータを埋め込む観点、即ち、圧縮率の観点からは、被埋め込みデータを埋め込む画素は、ある程度多くする必要がある。従って、被埋め込みデータを埋め込む画素は、復元の正確さと、圧縮率とをバランスさせて選択するのが望ましい。
【００８８】
さらに、図７乃至図９の実施の形態では、処理対象画素として選択された１画素に、１ビットの被埋め込みデータを埋め込むようにしたが、１画素に、２ビット以上の被埋め込みデータを埋め込むようにすることも可能である。例えば、１画素に、２ビットの被埋め込みデータを埋め込む場合には、その２ビットの被埋め込みデータにしたがって、例えば、０，２6，２7，２6＋２7のうちのいずれかを、画素値に加算するようにすれば良い。
【００８９】
また、図７乃至図９の実施の形態では、画素値に、０または２7のうちのいずれかを加算することで（画素値に、２7を加算しないか、または加算することで）、被埋め込みデータを埋め込むようにしたが、画素値に加算する値は、２7に限定されるものではない。但し、画素値の下位ビットにしか影響を与えないような値を加算する場合には、その加算値と、元の画素値とが、あまり異なったものとならず、従って、図９のステップＳ１５で求められる相関値Ｒ1とＲ2も、あまり異なったものとならなくなる。これは、画素値および被埋め込みデータの復元結果の精度を劣化させることとなるから、被埋め込みデータにしたがって、画素値に加算する値は、元の画素値の上位ビットに影響を与えるような値とするのが望ましい。
【００９０】
さらに、図７乃至図９の実施の形態では、画素値に、所定値を加算することで、被埋め込みデータの埋め込みを行うようにしたが、被埋め込みデータの埋め込みは、加算以外の操作（例えば、ビット反転や、前述した水平ラインのローテーションなど）を、画素値に施すことによって行うことも可能である。但し、上述したように、画素値および被埋め込みデータの復元結果の精度の劣化を防止する観点から、画素値に施す操作は、元の画像についての相関と、操作を施した画像についての相関とが大きく異なるようなものであることが望ましい。
【００９１】
また、図７乃至図９の実施の形態では、処理対象画素として選択された１画素に、１ビットの被埋め込みデータを埋め込むようにしたが、複数画素に、１ビットの被埋め込みデータを埋め込むようにすることも可能である。即ち、近接する２画素以上に対して、１ビットの被埋め込みデータに対応する同一の操作を行うようにすることが可能である。
【００９２】
次に、情報の連続性を利用した埋め込み処理と復元処理について説明する。
【００９３】
例えば、画像データのある１水平ラインについて注目した場合に、その注目ラインにおいて、図１０Ａに示すような、画素値の変化パターンが連続している波形ＷＡＶＥ＃１が観察されたとすると、その注目ラインと離れた他の水平ラインでは、注目ラインとは異なる画素値の変化パターンが観察される。従って、注目ラインと、その注目ラインと離れた他の水平ラインとにおいては、画素値の変化パターンが異なり、連続性においても偏りがある。即ち、画像のある部分の画素値の変化パターンに注目すると、その注目部分に隣接する部分には、同様の画素値の変化パターンが存在し、注目部分から離れるにつれて、異なる画素値の変化パターンが存在するという連続性の偏りがある。
【００９４】
そこで、いま、図１０Ａに示した、画像データのある水平ラインにおける、画素値の変化パターンが連続している波形ＷＡＶＥ＃１の一部を、例えば、図１０Ｂに示すように、離れた水平ラインにおける波形ＷＡＶＥ＃２と入れ替える。
【００９５】
この場合、画像データの連続性の偏りが破壊される。しかしながら、近接する部分の画素値の変化パターンは連続しており、離れるほど、画素値の変化パターンが異なるという連続性の偏りを利用することにより、破壊された連続性の偏りを復元することができる。即ち、図１０Ｂにおいて、波形の一部ＷＡＶＥ＃２の画素値の変化パターンが、他の部分の画素値の変化パターンに比較して大きく異なっているのは、波形が有する本来の連続性の偏りからすれば、明らかに不自然であり、他の部分の画素値の変化パターンと異なっている部分ＷＡＶＥ＃２は、他の部分の画素値の変化パターンと同様の波形に入れ替えるべきである。そして、そのような入れ替えを行うことで、連続性の偏りが復元され、これにより、図１０Ｂに示した波形から、図１０Ａに示した元の波形を復元することができる。
【００９６】
ここで、図１０で説明した場合においては、波形の一部を、その周辺の画素値の変化パターンとは大きく異なる画素値の変化パターンの波形に入れ替えることが、画像データに対して、被埋め込みデータを埋め込むこととなる。また、その埋め込みに際して、例えば、波形のどの部分の画素値の変化パターンを入れ替えるのかや、画素値の変化パターンをどの程度大きく変化させるのかなどが、被埋め込みデータにしたがって決定される。一方、被埋め込みデータが埋め込まれた埋め込み画像データ（埋め込み符号化データ）、即ち、大きく異なる画素値の変化パターンを一部に有する波形を、周辺の画素値の変化パターンは連続しており、離れるほど、画素値の変化パターンが異なるという連続性の偏りを利用して、元の波形に戻すことが、その元の波形を復元することとなる。そして、その復元に際して、例えば、波形のどの部分の画素値の変化パターンが大きく変化していたのかや、画素値の変化パターンがどの程度大きく変化していたのかなど、即ち、埋め込み画像データを、どのような操作によって、元の画像データ（波形）に戻したかによって、画像データに埋め込まれていた被埋め込みデータが復元される。
【００９７】
次に、図１１は、埋め込み符号化器３において、画像の連続性を利用した埋め込みが行われる場合の埋め込み処理の例を示すフローチャートである。
【００９８】
まず最初に、ステップＳ２１において、埋め込み部２２は、埋め込み対象データベース１に記憶された埋め込み対象データとしての１フレーム分の画像データを、フレームメモリ２１にさせる。さらに、ステップＳ２１では、埋め込み部２２は、フレームメモリ２１に記憶された画像データの連続領域を検出し、その連続領域の位置を示す連続領域データを、図示せぬワーク用のメモリ（以下、適宜、ワークメモリという）に記憶させる。
【００９９】
即ち、例えば、いま、図１２Ａに示すような、横×縦が２２４（＝ ７×３２）×１６００画素からなる画像データを対象に、その連続領域を検出する場合には、埋め込み部２２は、画像データを、例えば、３２×１画素毎の画像ブロックに分割し、各画像ブロック毎にＤＣＴ(Discrete Cosine Transform)処理を施して、画像ブロック毎のＤＣＴ係数を算出する。
【０１００】
さらに、埋め込み部２２は、画像ブロックをラスタスキャン順にスキャンして、順次、注目ブロックとし、例えば、注目ブロックに対応するＤＣＴ係数と左隣の隣接画像ブロックの対応するＤＣＴ係数との差分の絶対値和を順に算出して、注目ブロックの連続性評価値としてワークメモリに記憶させる。また、埋め込み部２２は、算出された連続性評価値（差分値）が所定閾値以下である画像ブロックを連続領域と認識し、その画像ブロックの位置をワークメモリに記憶させる。
【０１０１】
ここで、本来、連続領域とされるべき画像ブロックの一部がノイズ等の影響により連続領域ではないと判断される可能性もあるので、そのような判断が行われるのを防止するために、埋め込み部２２は、連続領域の検出の後、補正処理を行い、連続領域に隣接する、非連続領域とされた画像ブロックを、連続領域の画像ブロックに変換する。即ち、補正処理によれば、例えば、２つの連続領域に挟まれた短い区間の非連続領域の画像ブロックや、連続領域に隣接する１つ（または少数）の非連続領域の画像ブロックが、連続領域の画像ブロックに変換され（連続領域の画像ブロックとみなされ）、これにより、２つの連続領域と、その間に挟まれていた領域（非連続領域の画像ブロック）が、全体として、１つの連続領域に補正され、あるいは、１つの連続領域と、それに隣接する非連続領域の画像ブロックが、全体として、１つの連続領域に補正される。
【０１０２】
その後、ステップＳ２２に進み、埋め込み部２２は、被埋め込みデータデータベース２から、被埋め込みデータを、例えば６ビット（３ビット＋３ビット）ずつ受信し、ステップＳ２３に進む。
【０１０３】
ステップＳ２３では、埋め込み部２２は、上述の６ビットの被埋め込みデータを埋め込む画素群としての処理対象画像を選択、抽出する。即ち、ステップＳ２３では、例えば、フレームメモリ２１に記憶された１フレームの画像データが、仮想的に、上半分と下半分の領域（以下、適宜、それぞれを、上領域と下領域という）に分割され、その上領域と下領域のそれぞれの、例えば上から同一の位置にある水平ラインの連続領域が選択、抽出される。
【０１０４】
具体的には、例えば、フレームメモリ２１に記憶された１フレームの画像データが、例えば、図１２Ａに示すように、１６００ラインの水平ラインで構成される場合には、第１水平ラインから第８００水平ラインまでの領域が、上領域とされ、第８０１水平ラインから第１６００水平ラインまでの領域が、下領域とされる。そして、フレームメモリ２１に記憶された画像データについて、最初に、ステップ２３の処理が行われる場合には、図１２Ａに斜線を付して示すように、上領域の第１行である第１水平ラインと、下領域の第１行である第８０１水平ラインの連続領域が選択、抽出される。
【０１０５】
なお、埋め込み部２２は、ステップＳ２１においてワークメモリに記憶された連続領域データを参照して、第１水平ラインと、第８０１水平ラインの連続領域のみを選択、抽出する。ここで、図１２の実施の形態においては、第１水平ラインと、第８０１水平ラインの全領域が連続領域であるとして、選択、抽出されている。
【０１０６】
そして、ステップＳ２４に進み、埋め込み部２２は、処理対象画像である、例えば、第１水平ラインの画像と、第８０１の水平ラインの画像を入れ替えることにより、画像データに、被埋め込みデータを埋め込む。
【０１０７】
即ち、図１２Ｂは、被埋め込みデータが埋め込まれる前の第１水平ラインの画像データの画素値を示している。また、図１２Ｃは、被埋め込みデータが埋め込まれる前の第８０１水平ラインの画像データの画素値を示している。図１２Ｂおよび図１２Ｃに示すように、第１水平ラインの領域と第８０１水平ラインの領域では、画素値の変化パターン（周波数特性）が異なっている。
【０１０８】
例えば、いま、上位３ビットが２で、下位３ビットが６の６ビットの被埋め込みデータを、画像データに埋め込むこととすると、埋め込み部２２は、上位３ビットの２を埋め込むため、図１２Ｂに示した第１水平ラインの左から２ブロック目の画像ブロックを選択するとともに、下位３ビットの６を埋め込むため、図１２Ｃに示した第８０１水平ラインの左からの６ブロック目の画像ブロックを選択する。さらに、埋め込み部２２は、選択された第１水平ラインの２ブロック目の画像ブロックと、第８０１水平ラインの６ブロック目の画像ブロックを入れ替える操作を行う。これにより、第１水平ラインの画素値の変化パターンが、図１２Ｂから図１２Ｄに示すように変更されるとともに、第８０１水平ラインの画素値の変化パターンが、図１２Ｃから図１２Ｅに示すように変更され、第１水平ラインと第８０１水平ラインに、上位３ビットが２を表し、かつ下位３ビットが６を表す６ビットの被埋め込みデータが埋め込まれる。
【０１０９】
その後、ステップＳ２５において、埋め込み部２２は、被埋め込みデータが埋め込まれた第１水平ラインと第８０１水平ラインの画像データを、フレームメモリ２１に書き込み（上書きし）、ステップＳ２６に進む。
【０１１０】
ステップＳ２６では、埋め込み部２２は、フレームメモリ２１に記憶された１フレームの画像データのすべての水平ラインに、被埋め込みデータを埋め込んだかどうかを判定する。ステップＳ２６において、まだ、すべての水平ラインに、被埋め込みデータを埋め込んでいないと判定された場合、ステップＳ２２に戻り、埋め込み部２２は、新たな被埋め込みデータを受信し、ステップＳ２３に進む。ステップＳ２３では、埋め込み部２２は、上領域と下領域から、次の水平ラインを選択し、即ち、いまの場合は、第２水平ラインと第８０２水平ラインを選択し、以下、同様の処理を繰り返す。
【０１１１】
一方、ステップＳ２６において、フレームメモリ２１に記憶された１フレームの画像データのすべての水平ラインに、被埋め込みデータを埋め込んだと判定された場合、即ち、ステップＳ２３で、第１水平ラインと第８０１水平ラインのセットから、第８００ラインと第１６００ラインのセットまでが、処理対象画像として選択された場合、埋め込み部２２は、フレームメモリ２１に記憶された画像データ、即ち、被埋め込みデータが埋め込まれた画像データ（埋め込み画像データ）を読み出して出力させ、埋め込み処理を終了する。
【０１１２】
なお、図１１の埋め込み処理は、フレームメモリ２１に記憶された画像データを対象に、フレーム単位で繰り返し行われる。
【０１１３】
次に、図１３は、画像の連続性を利用して、埋め込み対象データとしての画像データに対して被埋め込みデータが埋め込まれた埋め込み符号化データを復元する復元処理の例を示すフローチャートである。
【０１１４】
まず最初に、ステップＳ３１において、復元部３２は、１フレーム単位の埋め込み符号化データ（埋め込み画像データ）を、フレームメモリ３１に記憶させる。さらに、ステップＳ３１では、復元部３２は、図１１のステップＳ２１における場合と同様にして、埋め込み符号化データの中から連続領域を抽出し、その画像ブロックの位置を、連続領域データとして、図示せぬワークメモリに記憶させる。
【０１１５】
ここで、本実施の形態では、図１２で説明したことから、１水平ラインに３ビットの被埋め込みデータが埋め込まれるが、この埋め込みは、１水平ラインのうち１つの画像ブロックを、他の水平ラインの画像ブロックに変更する操作によって行われる。従って、１水平ラインを構成する画像ブロックのうちの、少なくとも１つは、被埋め込みデータの埋め込みのための変更操作によって非連続領域になっている。しかしながら、連続領域の抽出の際には、図１１のステップ２１で説明したように、補正処理が行われるため、被埋め込みデータの埋め込みのための変更操作によって非連続領域とされた画像ブロックは、連続領域に変換される（連続領域とみなされる）。
【０１１６】
その後、ステップＳ３２に進み、復元部３２は、図１１のステップＳ２３における場合と同様に、フレームメモリ３１に記憶された１フレームの埋め込み画像データを、上領域と下領域に、仮想的に分割し、ステップＳ３１でワークメモリに記憶された連続領域データを参照して、その上領域と下領域それぞれから、同一位置の水平ラインの連続領域を、順次、選択、抽出する。
【０１１７】
従って、フレームメモリ３１に記憶された埋め込み画像データについて、ステップＳ３２の処理が最初に行われる場合には、上領域の第１行である第１水平ラインと、下領域の第１行である第８０１水平ラインが選択される。ここで、図１１のステップＳ２３で説明したように、埋め込み対象データとしての画像データの第１水平ラインと、第８０１水平ラインの全領域（全画像ブロック）が、連続領域であるとすると、ステップＳ３２では、第１水平ラインと、第８０１水平ラインの全領域が抽出される。
【０１１８】
そして、ステップＳ３３に進み、復元部３２は、ステップＳ３２で上領域と下領域それぞれから抽出された第１水平ラインの連続領域と、第８０１水平ラインの連続領域を構成する、上述の３２×１画素単位の画像ブロックを、例えばＤＣＴ処理し、これにより、画像データの連続性を評価する評価値としてのＤＣＴ係数を算出して、ステップＳ３４に進む。
【０１１９】
ステップＳ３４では、復元部３２は、上領域から抽出された第１水平ラインの連続領域を構成する画像ブロックを、例えば、左側から、順次、注目ブロックとし、その注目ブロックについて、例えば、注目ブロックのＤＣＴ係数から、その左隣の画像ブロックのＤＣＴ係数を減算し、そのＤＣＴ係数の差分値の絶対値和を算出する。さらに、復元部３２は、下領域から抽出された第８０１水平ラインの連続領域についても同様に、その連続領域を構成する画像ブロックを、順次、注目ブロックとし、その注目ブロックについて、ＤＣＴ係数の差分値の絶対値和を算出する。そして、復元部３２は、算出したＤＣＴ係数の差分値の絶対値和を、ワークメモリに記憶させる。
【０１２０】
なお、注目ブロックの左隣の画像ブロックが存在しない場合、即ち、ここでは、連続領域を構成する左端の画像ブロックが注目ブロックとされた場合、その注目ブロックについてのＤＣＴ係数の差分値の絶対値和は、所定値としての、例えば０とされる。
【０１２１】
その後、ステップＳ３５に進み、復元部３２は、ワークメモリに記憶された２つの水平ラインそれぞれについて、その連続領域を構成する画像ブロックのＤＣＴ係数の差分値の絶対値和（差分絶対値和）が１番目に大きい画像ブロックと、２番目に大きい画像ブロックの２つの画像ブロックを検出し、その画像ブロックの位置をワークメモリに記憶させる。即ち、例えば、いま、ワークメモリに、第１水平ラインの連続領域を構成する画像ブロックについてのＤＣＴ係数の差分絶対値和と、第８０１ラインの連続領域を構成する画像ブロックについてのＤＣＴ係数の差分絶対値和が記憶されている場合には、第１水平ラインにおいて、ＤＣＴ係数の差分絶対値和が１番目に大きい画像ブロック（以下、適宜、第１位の画像ブロックという）と、２番目に大きい画像ブロック（以下、適宜、第２位の画像ブロックという）が検出され、その第１位と第２位の画像ブロックの位置が、ワークメモリに記憶されるとともに、第８０１水平ラインにおいても、第１位の画像ブロックと、第２位の画像ブロックが検出され、その第１位と第２位の画像ブロックの位置が、ワークメモリに記憶される。
【０１２２】
そして、ステップＳ３６に進み、復元部３２は、ワークメモリに記憶された、２つの水平ラインそれぞれについての第１位および第２位の画像ブロックの位置に基づいて、６ビットの被埋め込みデータを復元して出力する。
【０１２３】
即ち、復元部３２は、第１位と第２の画像ブロックが隣接し、かつ第１位と第２位の画像ブロックについてのＤＣＴ係数の差分絶対値和どうしが同程度の値（差分絶対値和どうしの差が所定の閾値以下）の場合、その隣接する第１位と第２の画像ブロックのうちの、左側に位置する画像ブロック位置を、図１１の埋め込み処理によって被埋め込みデータを埋め込むのに入れ替えられた画像ブロックの位置（以下、適宜、埋め込み位置という）として、ワークメモリに記憶させるとともに、その埋め込み位置に対応する値を、被埋め込みデータの復元結果として出力する。
【０１２４】
具体的には、例えば、図１１の埋め込み処理において、第１水平ラインの連続領域につき、図１２Ｂおよび図１２Ｄに示したように、その左から３番目の画像ブロックと、第８０１水平ラインの画像ブロックとの入れ替え操作が行われた場合、その左から２番目と３番目の画像ブロックについては、そのＤＣＴ係数の差分絶対値和が大きくなる。従って、第１水平ラインについては、図１３のステップＳ３５において、その左から３番目と４番目の２つの隣接する画像ブロックが、第１位と第２位の画像ブロック（または第２位と第１位の画像ブロック）として検出され、その左側に位置する画像ブロック、即ち、左から３番目の画像ブロックの位置（埋め込み位置）に基づいて、上述の６ビットの被埋め込みデータのうちの上位３ビットが、２（＝３−１）に復元される。
【０１２５】
また、例えば、図１１の埋め込み処理において、第８０１水平ラインの連続領域につき、図１２Ｃおよび図１２Ｅに示したように、その左から７番目の画像ブロックと、第１水平ラインの画像ブロックとの入れ替え操作が行われた場合、その左から７番目と８番目の画像ブロックについては、そのＤＣＴ係数の差分絶対値和が大きくなる。従って、第８０１水平ラインについては、図１３のステップＳ３５において、その左から７番目と８番目の２つの隣接する画像ブロックが、第１位と第２位の画像ブロック（または第２位と第１位の画像ブロック）として検出され、その左側に位置する画像ブロック、即ち、左から７番目のブロックの位置（埋め込み位置）に基づいて、上述の６ビットの被埋め込みデータのうちの下位３ビットが、６（＝７−１）に復元される。
【０１２６】
ここで、図１１の埋め込み処理において、水平ラインの連続領域の左端の画像ブロックまたは右端の画像ブロックが、他の水平ラインの画像ブロックと入れ替えられることにより、被埋め込みデータが埋め込まれている場合には、ＤＣＴ係数の差分絶対値和は、その入れ替えが行われた画像ブロックについてのみ、ある程度大きくなり、他のブロックについては、それほど大きくならない。このため、復元部３２は、第１位と第２位の画像ブロックの位置が隣接していない場合、または第１位と第２位の画像ブロックについてのＤＣＴ係数の差分絶対値和どうしが同程度の値でない場合（差分絶対値和どうしの差が所定の閾値以上の場合）には、第１位の画像ブロックの位置に基づき、被埋め込みデータを復元する。即ち、この場合、第１位の画像ブロックが、左端または右端の画像ブロックであるとき、被埋め込みデータとして、０または７が、それぞれ復元される。
【０１２７】
以上のようにして、埋め込み位置に基づいて、被埋め込みデータが復元されると、ステップＳ３７に進み、復元部３２は、ステップＳ３５においてワークメモリに記憶された、６ビットの被埋め込みデータを復元するのに用いられた２つの埋め込み位置にしたがい、フレームメモリ３１に記憶された埋め込み画像データの、ステップＳ３２で選択された２つの水平ラインにおける画像ブロックの位置を入れ替える。
【０１２８】
即ち、例えば、図１１の埋め込み処理において、図１２で説明したように、上領域の第１行である第１水平ラインの左から３番目の画像ブロックと、下領域の第１行である第８０１ラインの左から７番目の画像ブロックとが入れ替えられた場合には、図１３のステップＳ３５において、第１水平ラインについては、左から３番目を表す埋め込み位置が記憶され、第８０１水平ラインについては、左から７番目を表す埋め込み位置が記憶される。従って、この場合、ステップ３７では、第１水平ラインの左から３番目の画像ブロックと、第８０１水平ラインの左から７番目の画像ブロックとが入れ替えられ、これにより、第１水平ラインおよび第８０１水平ラインが復元される。
【０１２９】
その後、復元部３２は、復元した２つの水平ラインを、フレームメモリ３１に上書きする形で書き込み、ステップＳ３８に進む。ステップＳ３８では、復元部３２は、フレームメモリ３１に記憶された１フレームの埋め込み画像データについて、埋め込み対象データとしての画像データと、そこに埋め込まれている被埋め込みデータの復元が終了したか否かを判定する。ステップＳ３８において、フレームメモリ３１に記憶された１フレームの埋め込み画像データについての復元が終了していないと判定された場合、ステップＳ３２に戻り、フレームメモリ３１に記憶された埋め込み画像データにおける上領域と下領域それぞれから、次の行の水平ラインが選択され、以下、同様の処理が繰り返される。
【０１３０】
また、ステップＳ３８において、フレームメモリ３１に記憶された１フレームの埋め込み画像データについての復元が終了したと判定された場合、ステップＳ３９に進み、復元部３２は、フレームメモリ３１に記憶された画像データ、即ち、復元された埋め込み対象データとしての画像データを出力させ、処理を終了する。
【０１３１】
なお、図１３の実施の形態によれば、埋め込み対象データとしての画像データは、２つの水平ラインごとに、即ち、その上領域と下領域それぞれの同一行の水平ラインごとに復元される。従って、復元された画像データは、上述のように、フレームメモリ３１に記憶された１フレームの画像データすべてが復元された後に出力することもできるが、復元単位である２つの水平ラインが復元されるごとに出力することも可能である。
【０１３２】
以上のように、被埋め込みデータが埋め込まれた画像データである埋め込み画像データを、画像の連続性を利用して、元の画像データと被埋め込みデータに復元するようにしたので、その復元のためのオーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像（復号画像）には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【０１３３】
即ち、図１１の埋め込み処理によれば、１の水平ラインにおける、６ビットの被埋め込みデータの上位３ビットに対応する位置の画像ブロックと、他の１つの水平ラインにおける、６ビットの被埋め込みデータの下位３ビットに対応する位置の画像ブロックとを入れ替えるという操作ルールにしたがい、画像データに対して、被埋め込みデータが埋め込まれ、埋め込み画像データが生成される。
【０１３４】
一方、図１３の復元処理によれば、埋め込み画像データのＤＣＴ係数を、連続性の評価値として、その連続性を利用し、埋め込み処理における操作ルールにしたがって、埋め込み画像データに対して、埋め込み処理における場合とは逆の操作が行われる。そして、その操作によって、埋め込み画像データが、元の画像データと被埋め込みデータが復元される。
【０１３５】
従って、図１１の埋め込み処理における操作ルールは、画像データの連続性を利用して、被埋め込みデータが埋め込まれた埋め込み画像データを元に戻すことができる操作ルールであるということができるが、埋め込み処理では、このような操作ルールを採用することで、画像データの画質を劣化させることなく（最低限の劣化に抑えて）、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。
【０１３６】
なお、上述の場合には、埋め込み画像データのＤＣＴ係数を、連続性の評価値として用いるようにしたが、連続性の評価値としては、ＤＣＴ係数以外のものを使用することが可能である。
【０１３７】
次に、情報の相似性を利用した埋め込み処理と復元処理について説明する。
【０１３８】
例えば、風景を撮影した画像等の一部は、画像のフラクタル性（自己相似性）を利用して生成することができることが知られている。そして、例えば、図１４Ａに示すような、海Ｒ１と森Ｒ２が表示されている画像においては、海Ｒ１全体の画素値の変化パターン（例えば、エッジ形状）と、その海Ｒ１の一部の画素値の変化パターンとの相似性は高いが、それらの変化パターンと、海Ｒ１から離れた森Ｒ２の画素値の変化パターンとの相似性は低いという相似性の偏りがある。
【０１３９】
そこで、いま、図１４Ａに示した海Ｒ１の一部Ｒ３と、森Ｒ２の一部Ｒ４とを入れ替える。
【０１４０】
この場合、画像の相似性の偏りが破壊され、図１４Ｂに示すような画像が得られる。しかしながら、近接する部分の画素値の変化パターンは相似性が高く、離れるほど、画素値の変化パターンの相似性が低くなるという相似性の偏りを利用することにより、破壊された相似性の偏りを復元することができる。即ち、図１４Ｂにおいて、海Ｒ１の画像の一部が、海Ｒ１と相似性の低い森Ｒ２の画像の一部Ｒ４になっていること、および森Ｒ２の画像の一部が、森Ｒ２と相似性の低い海Ｒ１の画像の一部Ｒ３となっていることは、画像が有する本来の相似性の偏りからすれば、明らかに不自然である。具体的には、図１４Ｂにおいて、海Ｒ１の画像の中の、森Ｒ２の画像の一部Ｒ４についての相似性は、海Ｒ１の他の部分についての相似性に比較して極端に低くなっており、また、森Ｒ２の画像の中の、海Ｒ１の画像の一部Ｒ３についての相似性も、森Ｒ２の他の部分についての相似性に比較して極端に低くなっている。一方、海Ｒ１の中にある森Ｒ２の一部Ｒ４と、森Ｒ２との相似性、および森Ｒ２の中にある海Ｒ１の一部Ｒ３と、海Ｒ１の相似性は、いずれも高い。
【０１４１】
従って、画像が本来有する相似性の偏りからすれば、海Ｒ１の画像の一部となっている、森Ｒ２の画像の一部Ｒ４と、森Ｒ２の画像の一部となっている、海Ｒ１の画像の一部Ｒ３とは入れ替えるべきである。そして、そのような入れ替えを行うことで、画像の相似性の偏りが復元され、これにより、図１４Ｂに示した画像から、図１４Ａに示した元の画像を復元することができる。
【０１４２】
ここで、図１４で説明した場合においては、埋め込み対象データとしての海Ｒ１の画像の一部Ｒ３と、森Ｒ２の画像の一部Ｒ４とを入れ替えることが、被埋め込みデータを、埋め込み対象データに埋め込むことになる。また、その埋め込みに際して、例えば、海Ｒ１の画像のどの部分（画面上の位置）と、森Ｒ２の画像のどの部分とを入れ替えるのかなどが、被埋め込みデータにしたがって決定されることになる。一方、被埋め込みデータが埋め込まれた埋め込み画像データ（埋め込み符号化データ）、即ち、海Ｒ１の一部が、森Ｒ２の一部Ｒ４となっているとともに、森Ｒ２の一部が、海Ｒ１の一部Ｒ３となっている画像を、周辺の画素値の変化パターンの相似性は高く、離れるほど、画素値の変化パターンの相似性が低くなっていくという相似性の偏りを利用して、元の画像に戻すことが、その元の画像を復元することとなる。そして、その復元に際して、例えば、海の画像のどの部分と、森の画像のどの部分とが入れ替えられていたのかなど、即ち、埋め込み画像データを、どのような操作によって元の画像データに戻したかによって、画像データに埋め込まれていた被埋め込みデータを復元される。
【０１４３】
次に、図１５を参照して、相似性について、さらに説明する。
【０１４４】
いま、例えば、図１５Ａに示すようなフラクタル画像を埋め込み対象データとして、そこに被埋め込みデータを埋め込むとした場合、被埋め込みデータに対応して、フラクタル画像の一部が、そのフラクタル画像とは相似でない画像に入れ替えられることで、フラクタル画像への被埋め込みデータの埋め込みが行われる。即ち、図１５Ａでは、樹木の葉の形状をしたフラクタル画像が埋め込み対象データとされているが、被埋め込みデータの埋め込みは、そのフラクタル画像の一部が、例えば、図１５Ｂに示すように、三角形に入れ替えられることで行われる。ここで、図１５では、図１５ＢにおいてＤ１およびＤ２で示す部分が三角形になっており、このように、三角形に入れ替えられるフラクタル画像の位置や、フラクタル画像と入れ替える三角形の大きさ、数などが、被埋め込みデータにしたがって決定される。
【０１４５】
一方、上述のようにして、被埋め込みデータが埋め込み対象データとしてのフラクタル画像に埋め込まれた埋め込み符号化データは、例えば、次のようにして、フラクタル画像と被埋め込みデータとに復元される。即ち、例えば、図１５Ｂにおいて、点線の四角形で囲んである部分については、三角形との入れ替えを行わないこととしておき、その点線の四角形で囲んである部分を、教師画像として、その教師画像と相似でない部分（ここでは、三角形）が検索される。さらに、教師画像と相似でない部分である三角形が、教師画像に含まれる、フラクタル画像の基準図形から生成される画像（フラクタル画像）に入れ替えられ、これにより、元のフラクタル画像（図１５Ａ）が復元される。そして、検索された三角形の位置や、大きさ、数などに基づいて、埋め込まれた被埋め込みデータが復元される。
【０１４６】
なお、上述の場合においては、教師画像に含まれる、フラクタル画像の基準図形を検出する必要があるが、これは、例えば、次のようにして行われる。即ち、図１５Ｂの画像のうちの、教師画像と、それ以外の部分との相似性、および教師画像の自己相似性に基づいて、図１５Ｂの画像を対象に、フラクタル画像の基準図形が検索され、教師画像以外の部分を、最も効率良く表すことができる図形が、基準図形として検出される。
【０１４７】
また、図１５の実施の形態では、元のフラクタル画像の生成規則が認識されており、その生成規則に基づいて、三角形と入れ替える画像が、基準図形を用いて生成されるものとする。即ち、埋め込み対象データとしてのフラクタル画像と被埋め込みデータの復元時においては、三角形と入れ替える画像を生成するための、基準図形の大きさや、位置、回転量などが、生成規則に基づいて特定され、その特定された基準図形の大きさや、位置、回転量などにしたがって、基準図形が操作され、三角形と入れ替える画像（フラクタル画像）が生成されるものとする。
【０１４８】
次に、図１６は、埋め込み符号化器３において、画像の相似性を利用した埋め込みが行われる場合の処理の例を示すフローチャートである。
【０１４９】
ステップＳ５１において、埋め込み部２２は、埋め込み対象データベース１から１フレーム分の画像データを、フレームメモリ２１に転送して記憶させ、さらに、画像データの相似領域を検出し、その相似領域の位置を示す相似領域データを、ワークメモリに記憶させる。
【０１５０】
即ち、例えば、図１７Ａに示すような、５６×１６００画素からなるフラクタル画像を、埋め込み対象データとして、被埋め込みデータの埋め込みを行う場合には、埋め込み部２２は、まず、その５６×１６００画素からなるフラクタル画像を、例えば、８×８画素毎の画像ブロックに分割し、その画像ブロックを、順次、注目ブロックとする。さらに、埋め込み部２２は、注目ブロックを構成する画素を、例えば、ラスタスキャン順にスキャンし、注目ブロックと、その左右に隣接する画像ブロックである２つの周辺画像ブロックそれぞれとの相似性を算出する。
【０１５１】
具体的には、埋め込み部２２は、注目ブロックの大きさ、位置、回転量を所定量だけ変更しながら、その注目ブロックと、左隣または右隣の画像ブロック（周辺画像ブロック）それぞれとのマッチングを行い、これにより、例えば、注目ブロックを構成する各画素と、周辺画像ブロックを構成する対応する画素との差分絶対値和の逆数を、マッチング度として求める。さらに、埋め込み部２２は、注目ブロックと、２つの周辺画像ブロックそれぞれとの２つのマッチング度を平均し、その平均値を、注目ブロックの周辺との相似性を表す評価値（相似性評価値）として、ワークメモリに記憶させる。ここで、左端または右端の画像ブロックが、注目ブロックのときは、その左側または右側には、周辺画像ブロックが存在しないため、例えば、右側または左側の周辺画像ブロックとの間で求められた１つのマッチング度を、そのまま注目ブロックの相似性評価値とすることとする。埋め込み部２２は、算出された相似性評価値（マッチング度）が所定に閾値以上となった画像ブロックを相似領域として認識し、その画像ブロックの位置を、ワークメモリに記憶させる。
【０１５２】
ここで、本来、相似領域とされるべき画像ブロックの一部がノイズ等の影響により相似領域ではないと判断される可能性もあるので、そのような判断が行われるのを防止するために、埋め込み部２２は、相似領域の検出の後、補正処理を行い、相似領域に隣接する、非相似領域とされた画像ブロックを、相似領域の画像ブロックに変換する。即ち、補正処理によれば、例えば、２つの相似領域に挟まれた短い区間の非相似領域の画像ブロックや、相似領域に隣接する１つ（または少数）の非相似領域の画像ブロックが、相似領域の画像ブロックに変換され（相似領域の画像ブロックとみなされ）、これにより、２つの相似領域と、その間に挟まれていた領域（非相似領域の画像ブロック）が、全体として、１つの相似領域に補正され、あるいは、１つの相似領域と、それに隣接する非相似領域の画像ブロックが、全体として、１つの相似領域に補正される。
【０１５３】
次に、ステップＳ５２において、埋め込み部２２は、被埋め込みデータベース２から、被埋め込みデータを、例えば、６ビット（３ビット＋３ビット）ずつ受信する。
【０１５４】
そして、ステップＳ５３において、埋め込み部２２は、上述の６ビットの被埋め込みデータを埋め込む画像ブロック群としての処理対象画像を選択、抽出する。即ち、ステップＳ５３では、例えば、フレームメモリ２１に記憶された１フレームの画像データが、仮想的に、上半分と下半分の領域（上領域と下領域）に分割され、その上領域と下領域のそれぞれの、例えば上から同一の行にある相似領域が選択、抽出される。
【０１５５】
具体的には、例えば、フレームメモリ２１に記憶された１フレームの画像データが、例えば、図１７Ａに示すように、１６００ラインの水平ラインで構成され、ステップＳ５１で８×８画素の画像ブロックに分割された場合には、第１行から第１００行までの画像ブロックの領域が、上領域とされ、第１０１行から第２００行までの画像ブロックの領域が、下領域とされる。そして、フレームメモリ２１に記憶された画像データについて、最初に、ステップ５３の処理が行われる場合には、上領域の第１行の画像ブロックと、下領域の第１行の画像ブロックの相似領域が選択、抽出される。
【０１５６】
なお、埋め込み部２２は、ステップＳ５１においてワークメモリに記憶された連続領域データを参照して、第１行の画像ブロックと、第１０１行の画像ブロックの相似領域のみを選択、抽出する。ここで、図１７の実施の形態においては、第１行と、第１０１行の全画像ブロックが相似領域であるとして、選択、抽出されている。
【０１５７】
その後、ステップＳ５４に進み、埋め込み部２２は、例えば、処理対象画像である、第１行の画像ブロックのうちの１つと、第１０１行の画像ブロックのうちの１つを入れ替えることにより、フレームメモリ２１に記憶された画像データに被埋め込みデータを埋め込む。
【０１５８】
即ち、図１７Ａは、被埋め込みデータが埋め込まれる前の埋め込み対象データとしての画像データを示しており、図１７Ｂは、被埋め込みデータが埋め込まれた後の埋め込み符号化データを示している。
【０１５９】
図１７Ａの埋め込み対象データにおいては、第１行の画像ブロックの領域と第１０１行の画像ブロックの領域とで、画素値の変化パターン、すなわち、画像ブロック内の図形の相似性が異なっている。
【０１６０】
いま、例えば、上位３ビットが２で、下位３ビットが６となっている６ビットの被埋め込みデータを、第１行と第１０１行の画像ブロックに埋め込むものとすると、埋め込み部２２は、６ビットの被埋め込みデータのうちの上位３ビットの２に対応して、図１７Ａの第１行の左から３番目の画像ブロックを選択するとともに、６ビットの被埋め込みデータのうちの下位３ビットの６に対応して、図１７Ａの第１０１行の左から７番目の画像ブロックを選択する。さらに、埋め込み部２２は、選択した第１行の左から３番目の画像ブロックと、第１０１行の左から７番目の画像ブロックとを入れ替え、これにより、図１７Ｂに示すように、６ビットの被埋め込みデータを、第１行と第１０１行の画像ブロックに埋め込む。
【０１６１】
ここで、左から、ｉ番目の画像ブロックを、以下、適宜、第ｉ画像ブロックという。
【０１６２】
ステップＳ５４において、被埋め込みデータを埋め込んだ後は、ステップＳ５５に進み、埋め込み部２２は、被埋め込みデータを埋め込んだ第１行の画像ブロックと、第１０１行の画像ブロックを、フレームメモリ２１に上書きする形で書き込み、ステップＳ５６に進む。
【０１６３】
ステップＳ５６では、埋め込み部２２は、フレームメモリ２１に記憶された１フレームの画像データのすべての画像ブロックの行に、被埋め込みデータを埋め込んだかどうかを判定する。ステップＳ５６において、まだ、すべての画像ブロックの行に、被埋め込みデータを埋め込んでいないと判定された場合、ステップＳ５２に戻り、埋め込み部２２は、新たな被埋め込みデータを受信し、ステップＳ５３に進む。ステップＳ５３では、埋め込み部２２は、上領域と下領域から、次の行の画像ブロックを選択し、即ち、いまの場合は、第２行の画像ブロックと第１０２行の画像ブロックを選択し、以下、同様の処理を繰り返す。
【０１６４】
一方、ステップＳ５６において、フレームメモリ２１に記憶された１フレームの画像データのすべての画像ブロックの行に、被埋め込みデータを埋め込んだと判定された場合、即ち、ステップＳ５３で、第１行と第１０１行の画像ブロックのセットから、第１００行と第２００行の画像ブロックのセットまでが、処理対象画像として選択された場合、埋め込み部２２は、フレームメモリ２１に記憶された画像データ、即ち、被埋め込みデータが埋め込まれた画像データ（埋め込み画像データ）を読み出して出力させ、埋め込み処理を終了する。
【０１６５】
なお、図１６の埋め込み処理は、埋め込み対象データとしての画像データのフレームを対象として、適宜、繰り返し行われる。
【０１６６】
次に、図１８は、画像の相似性を利用して、埋め込み対象データとしての画像データに対して被埋め込みデータが埋め込まれた埋め込み符号化データを復元する復元処理の例を示すフローチャートである。
【０１６７】
まず最初に、ステップＳ６１において、復元部３２は、１フレーム単位の埋め込み符号化データ（埋め込み画像データ）を、フレームメモリ３１に順次記憶させる。さらに、ステップＳ３１では、復元部３２は、図１６のステップＳ５１における場合と同様にして、埋め込み符号化データの中から相似領域を抽出し、その画像ブロックの位置を、相似領域データとして、図示せぬワークメモリに記憶させる。
【０１６８】
ここで、本実施の形態では、図１６で説明したことから、画像ブロックの１行に３ビットの被埋め込みデータが埋め込まれるが、この埋め込みは、１行を構成する画像ブロックのうちの１つの画像ブロックを変更する操作（入れ替える操作）によって行われる。従って、１行を構成する画像ブロックのうちの、少なくとも１つは、被埋め込みデータの埋め込みのための変更操作によって非相似領域になっている。しかしながら、相似領域の抽出の際には、図１６のステップ５１で説明したように、補正処理が行われるため、被埋め込みデータの埋め込みのための変更操作によって非相似領域とされた画像ブロックは、相似領域に変換される（相似領域とみなされる）。従って、ステップＳ３１で抽出される相似領域には、図１６の埋め込み処理で入れ替えが行われた画像ブロックが含まれる。
【０１６９】
その後、ステップＳ６２に進み、復元部３２は、図１６のステップＳ５３における場合と同様に、フレームメモリ３１に記憶された１フレームの埋め込み画像データを、上領域と下領域に、仮想的に分割し、ステップＳ６１でワークメモリに記憶された相似領域データを参照して、その上領域と下領域それぞれから、同一行の画像ブロックの相似領域を、順次、選択、抽出する。
【０１７０】
従って、フレームメモリ３１に記憶された埋め込み画像データについて、ステップＳ６２の処理が最初に行われる場合には、上領域の第１行と、下領域の第１行が選択される。ここで、図１６のステップＳ５３で説明したように、埋め込み対象データとしての画像データの第１行の画像ブロックと、第１０１行の画像ブロックのすべてが、相似領域であるとすると、ステップＳ６２では、第１行と、第１０１行の全画像ブロックが、相似領域であるとして抽出される。
【０１７１】
そして、ステップＳ６３に進み、復元部３２は、図１６のステップＳ５１で説明した場合と同様にして、ステップＳ６２で上領域と下領域それぞれから抽出された第１行の相似領域と、第１０１行の相似領域を構成する８×８画素単位の画像ブロックを、順次、注目ブロックとし、その注目ブロックについて、周辺画像ブロックとの間でマッチングを行う。これにより、復元部３２は、注目ブロックについて、周辺画像ブロックとの間のマッチング度を求め、さらに、そのマッチング度から、図１６および図１７で説明した場合と同様にして、相似性評価値を求める。
【０１７２】
なお、上述の場合には、注目ブロックと左右の画像ブロック（周辺画像ブロック）それぞれのマッチング度の平均値を、注目ブロックの相似性評価値とするようにしたが、その他、例えば、注目ブロックと左右の画像ブロックそれぞれのマッチング度のうちの大きい方または小さい方を、相似性評価値として採用するようにすることも可能である。
【０１７３】
復元部３２は、上述したようにして、上領域と下領域それぞれから抽出された第１行の相似領域と、第１０１行の相似領域を構成する画像ブロックそれぞれの相似性評価値を求めると、その相似性評価値を、ワークメモリに記憶させ、ステップＳ６５に進む。
【０１７４】
ステップＳ６５では、復元部３２は、ワークメモリに記憶された２行（上領域の１行と、その行に対応する下領域の１行の、合計２行）の画像ブロックの相似領域それぞれから、相似性評価値が最大の画像ブロックを検出し、その画像ブロックの位置を、ワークメモリに記憶させる。即ち、例えば、いま、ワークメモリに、第１行の相似領域を構成する画像ブロックについての相似性評価値と、第１０１行の相似領域を構成する画像ブロックについての相似性評価値が記憶されている場合には、第１行において、相似性評価値が最大の画像ブロック（以下、適宜、最大相似性画像ブロックという）と、第１０１行において、最大相似性画像ブロックが検出され、その最大相似性画像ブロックの位置が、ワークメモリに記憶される。
【０１７５】
そして、ステップＳ６６に進み、復元部３２は、ワークメモリに記憶された、２行それぞれの最大相似性画像ブロックの位置に基づいて、６ビットの被埋め込みデータを復元して出力する。
【０１７６】
即ち、復元部３２は、上領域または下領域の行の最大相似性画像ブロックが、第ｉ画像ブロックである場合、ｉ−１を、６ビットの被埋め込みデータの上位３ビットまたは下位３ビットとして、それぞれ復元し、さらに、その上位３ビットと下位３ビットから、６ビットの被埋め込みデータを構成して出力する。
【０１７７】
ここで、例えば、図１７Ｂに示した場合では、第１行の最大相似性画像ブロックは、第３画像ブロックとなり、第１０１行の最大相似性画像ブロックは、第７画像ブロックとなる。従って、６ビットの被埋め込みデータの上位３ビットと下位３ビットは、それぞれ２と６になる。
【０１７８】
以上のようにして、最大相似性画像ブロックの位置に基づいて、被埋め込みデータが復元されると、ステップＳ６７に進み、復元部３２は、ステップＳ６５においてワークメモリに記憶された、６ビットの被埋め込みデータを復元するのに用いた２つの最大相似性画像ブロックの位置にしたがい、フレームメモリ３１に記憶された埋め込み画像データの、ステップＳ６２で選択された２行の画像ブロックの位置を入れ替える。
【０１７９】
即ち、例えば、図１６の埋め込み処理において、図１７で説明したように、上領域の第１行の第３画像ブロックと、下領域の第１行（全体の第１０１行）の第７画像ブロックとが入れ替えられた場合には、図１８のステップＳ６５において、第１行については、第３画像ブロックの位置が記憶され、第１０１行については、第７画像ブロックの位置が記憶される。従って、この場合、ステップ６７では、第１行の第３画像ブロックと、第１０１行の第７画像ブロックとが入れ替えられ、これにより、第１行および第１０１行の画像データが復元される。
【０１８０】
その後、復元部３２は、復元した２行の画像データ（画像ブロック）を、フレームメモリ３１に上書きする形で書き込み、ステップＳ６８に進む。ステップＳ６８では、復元部３２は、フレームメモリ３１に記憶された１フレームの埋め込み画像データについて、埋め込み対象データとしての画像データと、そこに埋め込まれている被埋め込みデータの復元が終了したか否かを判定する。ステップＳ６８において、フレームメモリ３１に記憶された１フレームの埋め込み画像データについての復元が終了していないと判定された場合、ステップＳ６２に戻り、フレームメモリ３１に記憶された埋め込み画像データにおける上領域と下領域それぞれから、次の行の画像ブロックが選択され、以下、同様の処理が繰り返される。
【０１８１】
また、ステップＳ６８において、フレームメモリ３１に記憶された１フレームの埋め込み画像データについての復元が終了したと判定された場合、ステップＳ６９に進み、復元部３２は、フレームメモリ３１に記憶された画像データ、即ち、復元された埋め込み対象データとしての画像データを出力させ、処理を終了する。
【０１８２】
なお、図１８の実施の形態においても、図１３の実施の形態における場合と同様に、復元された画像データは、フレームメモリ３１に記憶された１フレームの画像データすべてが復元された後に出力することもできるし、復元単位である２行の画像ブロックが復元されるごとに出力することも可能である。
【０１８３】
以上のように、被埋め込みデータが埋め込まれた画像データである埋め込み画像データを、画像の相似性を利用して、元の画像データと被埋め込みデータに復元するようにしたので、その復元のためのオーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像（復号画像）には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【０１８４】
即ち、図１６の埋め込み処理によれば、１行の画像ブロックにおける、６ビットの被埋め込みデータの上位３ビットに対応する位置の画像ブロックと、他の行を構成する、６ビットの被埋め込みデータの下位３ビットに対応する位置の画像ブロックとを入れ替えるという操作ルールにしたがい、画像データに対して、被埋め込みデータが埋め込まれ、埋め込み画像データが生成される。
【０１８５】
一方、図１８の復元処理によれば、埋め込み画像データのマッチング度を、相似性の評価値として、その相似性を利用し、埋め込み処理における操作ルールにしたがって、埋め込み画像データに対して、埋め込み処理における場合とは逆の操作が行われる。そして、その操作によって、埋め込み画像データが、元の画像データと被埋め込みデータが復元される。
【０１８６】
従って、図１６の埋め込み処理における操作ルールは、画像データの相似性を利用して、被埋め込みデータが埋め込まれた埋め込み画像データを元に戻すことができる操作ルールであるということができるが、埋め込み処理では、このような操作ルールを採用することで、画像データの画質を劣化させることなく（最低限の劣化に抑えて）、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。
【０１８７】
なお、上述の場合には、相似性評価値として、埋め込み画像データのマッチング度を用いるようにしたが、相似性評価値としては、マッチング度以外のものを使用することが可能である。
【０１８８】
以上のように、埋め込み符号化器３において、埋め込み対象データとしての画像データが有するエネルギの偏りを利用して復元を行うことができるように操作を行う操作ルールにしたがい、画像データを、被埋め込みデータに対応して操作することにより、画像データに被埋め込みデータを埋め込み、埋め込み符号化データを出力する場合には、復元器６では、その埋め込み符号化データを、画像データが有するエネルギの偏りを利用することにより、復元のためのオーバヘッドなしで、元の画像データおよび被埋め込みデータに復元することができる。
【０１８９】
また、埋め込み対象データとしての画像データには、被埋め込みデータが埋め込まれることで、その埋め込みの結果得られる埋め込み画像データ（埋め込み符号化データ）は、元の画像データと異なる画像とされ、人が価値ある情報として認識することのできる画像ではなくなることから、埋め込み対象データとしての画像データについては、オーバヘッドなしの暗号化を実現することができる。
【０１９０】
さらに、完全可逆の電子透かしを実現することができる。即ち、従来の電子透かしでは、例えば、画質にあまり影響のない画素値の下位ビットが、電子透かしに対応する値に、単に変更されていたが、この場合、その下位ビットを、元の値に戻すことは困難である。従って、復元画像の画質は、電子透かしとしての下位ビットの変更により、少なからず劣化する。これに対して、埋め込み符号化データを、埋め込み対象データとしての画像データが有するエネルギの偏りを利用して復元する場合には、劣化のない元の画像データおよび被埋め込みデータを得ることができ、従って、被埋め込みデータを電子透かしとして用いることで、電子透かしに起因して復元画像の画質が劣化することはない。
【０１９１】
また、埋め込み対象データに埋め込まれた被埋め込みデータは、埋め込み符号化データから埋め込み対象データを復元することで取り出す（復元する）ことができるので、埋め込み対象データとともに、オーバヘッドなしでサイドインフォメーションを提供することができる。言い換えれば、被埋め込みデータを取り出すためのオーバヘッドなしで、その被埋め込みデータを埋め込み対象データに埋め込むことができるので、その埋め込みの結果得られる埋め込み符号化データは、被埋め込みデータの分だけ圧縮（埋め込み圧縮）されているということができる。従って、例えば、ある画像の半分を埋め込み対象データとするとともに、残りの半分を被埋め込みデータとすれば、埋め込み対象データである半分の画像に、残りの半分の画像を埋め込むことができるから、この場合、画像は、単純には、１／２に圧縮されることになる。
【０１９２】
さらに、埋め込み符号化データは、情報が有するエネルギの偏りという、いわば統計量を利用して復元されるため、誤りに対する耐性の強いものとなる。即ち、ロバスト性の高い符号化であるロバスト符号化（統計的符号化）を実現することができる。
【０１９３】
また、例えば、画像データを埋め込み対象データとする一方、被埋め込みデータとして、画像データとは異なるメディアの、例えば、音声データを用いるようにすることで、音声をキーとして、画像データの提供を行うようなことが可能となる。即ち、図２の符号化装置１１側において、例えば、契約者が発話した音声「開けゴマ」など被埋め込みデータとして、埋め込み対象データである画像データに埋め込んでおき、復元装置１２側では、ユーザに、音声「開けゴマ」を発話してもらい、その音声と、画像データに埋め込まれた音声とを用いて話者認識を行うようにする。このようにすることで、例えば、話者認識の結果、ユーザが契約者である場合にのみ、自動的に、画像を提示するようなことが可能となる。なお、この場合、被埋め込みデータとしての音声は、いわゆる特徴パラメータではなく、音声波形そのものを用いることが可能である。
【０１９４】
また、例えば、音声データを埋め込み対象データとする一方、被埋め込みデータとして、音声とは異なるメディアの、例えば、画像データを用いるようにすることで、画像をキーとして、音声の提供を行うようなこと（例えば、顔認識後の音声応答）が可能となる。即ち、図２の符号化装置１１側において、例えば、ユーザへの応答としての音声に、そのユーザの顔の画像を埋め込み、復元装置１２側では、ユーザの顔を撮影し、その結果得られる画像とマッチングする顔画像が埋め込まれている音声を出力するようにすることで、ユーザごとに異なる音声応答を行う音声応答システムを実現することが可能となる。
【０１９５】
さらに、音声に、音声を埋め込んだり、画像に、画像を埋め込んだりするような、あるメディアの情報に、それと同一メディアの情報を埋め込むようなことも可能である。あるいは、また、画像に、契約者の音声と顔画像を埋め込んでおけば、ユーザの音声と顔画像とが、画像に埋め込まれているものと一致するときのみ、その画像を提示するようにする、いわば二重鍵システムなどの実現も可能となる。
【０１９６】
また、例えば、テレビジョン放送信号を構成する、いわば同期した画像と音声のうちのいずれか一方に、他方を埋め込むようなことも可能であり、この場合、異なるメディアの情報どうしを統合した、いわば統合符号化を実現することができる。
【０１９７】
さらに、埋め込み処理では、上述したように、情報には、そのエネルギの偏りに特徴があるほど、多くの被埋め込みデータを埋め込むことができる。従って、例えば、ある２つの情報について、エネルギの偏りに特徴がある方を適応的に選択し、その選択した方に、他方を埋め込むようにすることで、全体のデータ量を制御することが可能となる。即ち、２つの情報どうしの間で、一方の情報によって、他方の情報量を、いわば吸収するようなことが可能となる。そして、このように全体のデータ量を制御することができる結果、伝送路の伝送帯域や使用状況、その他の伝送環境にあったデータ量による情報伝送（環境対応ネットワーク伝送）が可能となる。
【０１９８】
また、例えば、画像に、その画像を縮小した画像を埋め込むことで（あるいは、音声に、その音声を間引いたものを埋め込むことで）、データ量を増加することなく、いわゆる階層符号化（下位階層の情報量を少なくすることにより、上位階層の情報を生成する符号化）を実現することができる。
【０１９９】
さらに、例えば、画像に、その画像を検索するためのキーとなる画像を埋め込んでおくことで、そのキーとなる画像に基づいて、画像の検索を行うデータベースを実現することが可能となる。
【０２００】
以上のように、情報が有するエネルギ（の偏り）を表すものとしては、相関性、連続性、相似性などがあるが、以下においては、説明を簡単にするため、例えば、相関性にのみ注目して、説明を行う。そこで、まず、埋め込み対象データとして、画像データを用い、その画像データの相関性を利用する埋め込み処理と復元処理の他の例として、３つの方式（第１、第２、第３の方式）を紹介する。
【０２０１】
第１の方式では、埋め込み処理において、埋め込み対象データとしての画像データを構成する画素の位置を、例えば、１列（垂直方向に並ぶ画素列）単位で、被埋め込みデータに対応して入れ替える（画素スワップする）ことを操作ルールとして、その操作ルールにしたがい、埋め込み対象データとしての画像データが操作されることで、各列に、被埋め込みデータが埋め込まれる。
【０２０２】
即ち、第１の方式の埋め込み処理では、被埋め込みデータに基づいて、埋め込み対象データとしての、例えば、１フレームの画像データの各列の位置を、どのように入れ替えるかを表す画素スワップ情報が生成される。具体的には、例えば、埋め込み対象データとしての１フレームの画像データが、Ｍ行Ｎ列の画素で構成され、その画像データの第ｎ列（左からｎ番目の列）を、第ｎ’列に入れ替える場合には、ｎとｎ’とが対応付けられた画素スワップ情報が生成される（ｎ，ｎ’は、１以上Ｎ以下の整数）。
【０２０３】
ここで、１フレームの画像データの列数が、上述のように、Ｎ列である場合には、その入れ替え方は、そのすべての列を入れ替えの対象とすると、Ｎ！（！は、階乗を表す）通りだけある。従って、この場合、１フレームには、最大で、ｌｏｇ2（Ｎ！）ビット（但し、小数点以下切り捨て）の被埋め込みデータの埋め込みが可能となる。
【０２０４】
画素スワップ情報の生成後は、その画素スワップ情報にしたがって、埋め込み対象データとしての画像データの各列の位置が入れ替えられる（画素スワップされる）ことで、埋め込み対象データに、被埋め込みデータが埋め込まれ、埋め込み符号化データ（埋め込み画像データ）が生成される。
【０２０５】
ここで、第１の方式では、上述のように、埋め込み対象データとしての画像データの各列を、被埋め込みデータに対応して画素スワップするという操作ルールにしたがって、被埋め込みデータが埋め込まれるので、この第１の方式を、以下、適宜、画素スワップ方式という。
【０２０６】
次に、図１９のフローチャートを参照して、図３の埋め込み符号化器３で、画素スワップ方式による埋め込み処理が行われる場合の、その埋め込み処理について説明する。
【０２０７】
埋め込み対象データベース１からは、そこに記憶されている埋め込み対象データとしての画像データが、例えば、１フレーム単位で読み出され、フレームメモリ２１に、順次供給されて記憶される。
【０２０８】
そして、埋め込み部２２は、ステップＳ８１において、１フレームの画像に埋め込み可能なデータ量の被埋め込みデータを、被埋め込みデータベース２から読み出す。即ち、例えば、上述したように、１フレームの画像の列数がＮ列であり、そのすべての列を画素スワップ（入れ替え）の対象とする場合には、１フレームには、最大で、ｌｏｇ2（Ｎ！）ビットの被埋め込みデータの埋め込みが可能であるから、そのようなビット数（以下）の被埋め込みデータが、被埋め込みデータベース２から読み出される。
【０２０９】
そして、埋め込み部２２は、ステップＳ８２に進み、ステップＳ８１で読み出した被埋め込みデータに基づいて、画素スワップ情報を生成する。即ち、埋め込み部２２は、被埋め込みデータに基づき、フレームメモリ２１に記憶された画像データのフレームの第１列乃至第Ｎ列のうちの、例えば、第１列を除く第２列乃至第Ｎ列それぞれを、第何列に画素スワップするかを表す画素スワップ情報を生成する。
【０２１０】
その後、ステップＳ８３に進み、埋め込み部２２は、画素スワップ情報にしたがって、フレームメモリ２１に記憶された処理対象のフレームの各列の位置を画素スワップする。そして、列の画素スワップが行われたフレームは、フレームメモリ２１から読み出され、埋め込み符号化データとして出力される。
【０２１１】
なお、フレームの各列の画素スワップは、フレームメモリ２１における画像データ（を構成する画素）の記憶位置を変更することで行うことができるが、その他、例えば、フレームメモリ２１からフレームを読み出すときのアドレスを制御することによって、結果として、列の画素スワップが行われたフレームが、フレームメモリ２１から読み出されるようにすることも可能である。
【０２１２】
また、ここでは、画素スワップ情報には、第２列乃至第Ｎ列それぞれを、第何列に画素スワップするかを表す情報が含まれているが、第１列を、第何列に画素スワップするかを表す情報は含まれていない。従って、埋め込み部２２では、第２列乃至第Ｎ列それぞれの画素スワップは行われるが、第１列の画素スワップは行われない。なお、第１列の画素スワップを行わない理由については、後述する。
【０２１３】
ステップＳ８３において、フレームメモリ２１から埋め込み符号化データが出力されると、ステップＳ８４に進み、フレームメモリ２１に、まだ処理の対象とされていないフレームが記憶されているかどうかが判定され、記憶されていると判定された場合、ステップＳ８１に戻り、まだ処理されていないフレームを対象に、同様の処理が繰り返される。
【０２１４】
また、ステップＳ８４において、フレームメモリ２１に、まだ処理の対象とされていないフレームが記憶されていないと判定された場合、埋め込み処理を終了する。
【０２１５】
以上のように、フレームメモリ２１に記憶された画像を構成する１以上の画素の集合としての、各列の画素の位置を、被埋め込みデータに対応して画素スワップすることにより、各列に、被埋め込みデータを埋め込む場合には、その逆の画素スワップ（ここでは、列の入れ替え）を行うことで、元の画像データを復元することができ、さらに、どのような画素スワップを行ったかということに基づいて、被埋め込みデータを復元することができる。従って、画像データの画質の劣化を極力なくし、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。
【０２１６】
即ち、被埋め込みデータが埋め込まれた画像データである、列の位置の画素スワップが行われた画像データ（埋め込み画像データ）の各列は、その画像データの相関性、つまり、ここでは、例えば、元の画像データと同一の正しい位置にある列との間の相関を利用することにより、オーバヘッドなしで、元の位置に画素スワップすることができ、さらに、その画素スワップの仕方（各列を、どの列に画素スワップしたか）により、被埋め込みデータを復元ことができる。従って、その結果得られる復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【０２１７】
なお、埋め込み符号化データに、正しい位置にある列が存在しない場合には、上述のように画像データの相関性を利用して、画像データと被埋め込みデータを復元するのは、一般には、困難である。そこで、ここでは、図１９の埋め込み処理において、各フレームの第１列は、入れ替えを行わないで、そのまま、埋め込み符号化データとして出力するようにしている。
【０２１８】
但し、第１列を含むすべての列を入れ替えの対象として、埋め込み符号化を行うことも可能であり、この場合、例えば、入れ替え後の列の少なくとも１以上の元の位置を、オーバヘッドとして、埋め込み符号化データに含めることで、元の画像データと被埋め込みデータの復元が容易に可能となる。
【０２１９】
また、被埋め込みデータは、画像データの第１列以外のすべての列を一度に入れ替えることにより、その画像データに埋め込むことも、また、画像データの第１列以外の列を、順次入れ替えることにより、その画像データに埋め込むことも可能である。
【０２２０】
次に、画素スワップ方式による埋め込み処理により得られる埋め込み画像データは、以下のような、画像データの相関性を利用した画素スワップ方式による復元処理により、元の画像と被埋め込みデータに復元することができる。
【０２２１】
即ち、画素スワップ方式による復元処理では、埋め込み画像データを構成する列のうち、既に復元した最新の列と、他の列との相関を計算し、既に復元した列との相関を最大にする列を、その既に復元した列の右隣の位置に画素スワップすることを、埋め込み画像データを構成するすべての列について行うことで、元の画像データが復元され、さらに、埋め込み画像データを元の画像データに復元する際の、埋め込み画像データの各列の画素スワップの仕方に基づいて、被埋め込みデータが復元される。
【０２２２】
次に、図２０のフローチャートを参照して、図４の復元器６において画素スワップ方式による復元処理が行われる場合の、その復元処理について説明する。
【０２２３】
フレームメモリ３１では、そこに供給される埋め込み画像データが、例えば、１フレーム単位で順次記憶される。
【０２２４】
そして、復元部３２は、ステップＳ９１において、フレームの列数をカウントするための変数ｎに、初期値としての、例えば、１がセットされ、ステップＳ９２に進み、変数ｎが、フレームの列数であるＮから１を減算したＮ−１以下であるかどうかが判定される。
【０２２５】
ステップＳ９２において、変数ｎがＮ−１以下であると判定された場合、ステップＳ９３に進み、復元部３２は、フレームメモリ３１に記憶された埋め込み画像データのフレームから、第ｎ列の画素（画素列）を読み出し、その第ｎ列の各画素（の画素値）を要素として並べたベクトル（以下、適宜、列ベクトルという）ｖnを生成する。ここで、フレームがＭ行の画素で構成される場合には、列ベクトルｖn（後述する列ベクトルｖkも同様）は、Ｍ次元のベクトルとなる。
【０２２６】
その後、ステップＳ９４において、復元部３２は、第ｎ列より右側にある列をカウントするための変数ｋに、初期値としてのｎ＋１をセットし、ステップＳ９５に進む。ステップＳ９５では、復元部３２は、ステップＳ９３における場合と同様に、埋め込み画像データのフレームから、第ｋ列の画素を読み出し、その第ｋ列の画素を要素とする列ベクトルｖkを生成して、ステップＳ９６に進む。
【０２２７】
ステップＳ９６では、復元部３２は、列ベクトルｖnおよびｖkを用いて、第ｎ列と第ｋ列との間の相関を表す相関値を求める。
【０２２８】
即ち、復元部３２は、まず、列ベクトルｖnとｖkとの距離ｄ（ｎ，ｋ）を、次式にしたがって計算する。
【０２２９】
ｄ（ｎ，ｋ）＝｜ｖn−ｖk｜
＝（Σ（Ａ（ｍ，ｎ）−Ａ（ｍ，ｋ））2）1/2・・・（１）
但し、上式において、Σは、ｍを、１からＭに変化させてのサメーションを表す。また、Ａ（ｉ，ｊ）は、処理対象になっている埋め込み画像データのフレームの第ｉ行第ｊ列の画素（画素値）を表す。
【０２３０】
さらに、復元部３２は、列ベクトルｖnとｖkとの距離ｄ（ｎ，ｋ）の逆数１／ｄ（ｎ，ｋ）を、第ｎ列と第ｋ列との相関を表す相関値として求める。
【０２３１】
第ｎ列と第ｋ列との相関値の算出後は、ステップＳ９７に進み、復元部３２は、変数ｋが、フレームの列数であるＮから１を減算したＮ−１以下であるかどうかを判定する。ステップＳ９７において、変数ｋがＮ−１以下であると判定された場合、ステップＳ９８に進み、復元部３２は、変数ｋを１だけインクリメントして、ステップＳ９５に戻り、以下、ステップＳ９７において、変数ｋがＮ−１以下でないと判定されるまで、ステップＳ９５乃至Ｓ９８の処理を繰り返す。即ち、これにより、第ｎ列と、それより右側にある埋め込み画像の列それぞれとの相関値が求められる。
【０２３２】
その後、ステップＳ９７において、変数ｋがＮ−１以下でないと判定されると、ステップＳ９９に進み、復元部３２は、第ｎ列との相関値を最大にするｋを求めて、ステップＳ１００に進む。そして、いま、第ｎ列との相関値を最大にするｋを、例えばＫと表すと、復元部３２は、ステップＳ１００において、フレームメモリ３１に記憶された処理対象の埋め込み画像データのフレームの第ｎ＋１列と第Ｋ列とを画素スワップ、即ち、第Ｋ列を、第ｎ列の右隣の第ｎ＋１列に入れ替える。
【０２３３】
その後、ステップＳ１０１に進み、復元部３２は、変数ｎを１だけインクリメントして、ステップＳ９２に戻り、以下、ステップＳ９２において、変数ｎがＮ−１以下でないと判定されるまで、ステップＳ９２乃至Ｓ１０１の処理を繰り返す。
【０２３４】
ここで、本実施の形態では、埋め込み画像データの第１列は、元の画像データの第１列のままであるから、変数ｎが、初期値である１のときは、第１列との相関が最も高い埋め込み画像データの列が、第１列の右隣の第２列に画素スワップされる。第１列との相関が最も高い列は、画像データの相関性から、基本的に、元の画像データの第２列であるから、この場合、図１９の埋め込み処理において、埋め込み画像データのどこかの列に画素スワップされた元の画像データの第２列は、元の位置（列）に戻される（復元される）ことになる。
【０２３５】
そして、変数ｎが２となると、上述したようにして元の位置に画素スワップされた第２列との相関が最も高い埋め込み画像データの列が、その第２列の右隣の第３列に画素スワップされる。第２列との相関が最も高い列は、やはり、画像データの相関性から、基本的に、元の画像データの第３列であるから、この場合、図１９の埋め込み処理において、埋め込み画像データのどこかの列に画素スワップされた元の画像データの第３列は、元の位置に戻されることになる。
【０２３６】
以下、同様にして、フレームメモリ３１に記憶された埋め込み画像データは、元の画像データに復元されていく。
【０２３７】
そして、ステップＳ９２において、変数ｎがＮ−１以下でないと判定された場合、即ち、埋め込み画像データを構成する第２列乃至第Ｎ列すべてが、画像データの相関性を利用して元の位置に戻され、これにより、フレームメモリ３１の記憶内容が、元の画像データに復元された場合、ステップＳ１０２に進み、復元部３２は、その復元された画像データを、フレームメモリ３１から読み出させる。さらに、ステップＳ１０２では、復元部３２が、埋め込み画像データを元の画像データに復元した際の、埋め込み画像データの第２列乃至第Ｎ列それぞれの画素スワップの仕方（画素スワップ情報）に基づいて、埋め込み画像データに埋め込まれていた被埋め込みデータを復元して出力する。
【０２３８】
その後、ステップＳ１０３に進み、復元部３２は、フレームメモリ３１に、まだ処理の対象とされていない埋め込み画像データのフレームが記憶されているかどうかを判定し、記憶されていると判定した場合、ステップＳ９１に戻り、まだ処理の対象とされていない埋め込み画像データのフレームを対象に、同様の処理を繰り返す。
【０２３９】
また、ステップＳ１０３において、フレームメモリ３１に、まだ処理の対象とされていない埋め込み画像データのフレームが記憶されていないと判定された場合、復元処理を終了する。
【０２４０】
以上のように、被埋め込みデータが埋め込まれた画像データである埋め込み画像データを、画像データの相関性を利用して、元の画像データと被埋め込みデータに復元するようにしたので、その復元のためのオーバヘッドがなくても、符号化データを、元の画像と被埋め込みデータに復元することができる。従って、その復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【０２４１】
なお、図２０の復元処理においては、既に復元された最新の列（ｎ＝１の場合においては、埋め込み処理時に画素スワップされない第１列）と、まだ復元されていない列との相関を求め、その相関に基づいて、既に復元された最新の列の右隣の位置に画素スワップされるべき列を検出するようにしたが、その他、例えば、既に復元された複数の列それぞれと、まだ復元されていない列との相関を演算することにより、既に復元された最新の列の右隣に画素スワップされるべき列を検出するようにすることも可能である。
【０２４２】
また、上述の場合には、被埋め込みデータに基づき、埋め込み対象データとしての画像データ構成する画素を、列単位で画素スワップすることにより（垂直ラインの画素スワップを行うことにより）、被埋め込みデータを埋め込むようにしたが、被埋め込みデータの埋め込みは、その他、例えば、埋め込み対象データとしての画像データを、行単位で画素スワップしたり（水平ラインの画素スワップを行ったり）、また、時間方向に並ぶ所定数のフレームの同一位置にある画素列を画素スワップすることにより行うことも可能である。
【０２４３】
さらに、画素スワップ方式による埋め込み処理では、例えば、埋め込み対象データとしての画像データを、列単位で画素スワップし、さらに、行単位で画素スワップすることにより、被埋め込みデータを埋め込むことも可能である。
【０２４４】
ここで、列と行の両方の画素スワップを行って得られる埋め込み画像データについて、例えば、列の位置を元の位置に戻す復元処理を考えると、その復元処理では、式（１）のΣにおいて加算される項の順番が変化するだけで、加算される項自体は変化しない。従って、式（１）によって求められる距離ｄ（ｎ，ｋ）は、画像データの列だけ画素スワップした場合と、列と行の両方を画素スワップした場合とで変化しないため、列と行の両方を画素スワップして得られた埋め込み画像データも、列だけ画素スワップして得られた埋め込み画像データと同様に、図２０の復元処理によって、元の画像データと被埋め込みデータに復元することができる。即ち、列と行の両方を画素スワップして得られた埋め込み画像データは、図２０の復元処理を、列と行について、それぞれ独立に行うことで、元の画像データと被埋め込みデータに復元することができる。
【０２４５】
以上から、埋め込み処理において、列と行の両方を画素スワップすることにより、画像データに被埋め込みデータを埋め込む場合には、行と列のうち、いずれの画素スワップを先または後に行うかは、復元処理に影響を与えない。従って、埋め込み処理においては、行と列の画素スワップのうちのいずれを先または後に行っても良いし、復元処理においても、行と列の画素スワップのうちのいずれを先または後に行っても良い。また、行と列の画素スワップを、交互に行うようなことも可能である。
【０２４６】
但し、埋め込み処理において、列だけの画素スワップを行う場合には、埋め込み画像データを元の画像データに復元した際の、埋め込み画像データの列の画素スワップの仕方が、被埋め込みデータの復元結果となるが、行と列の両方の画素スワップを行う場合には、埋め込み画像データの第ｍ行ｎ列の位置（ｍ，ｎ）にある画素が、復元画像（元の画像データ）のどの位置（ｍ’，ｎ’）に画素スワップされたかが、被埋め込みデータの復元結果となる。
【０２４７】
また、図１９の埋め込み処理では、埋め込み対象データとしての画像データの第１列だけを固定にし、図２０の復元処理では、この第１列を、いわば復元の基準として、埋め込み画像データの画素スワップを行うようにしたが、復元の基準は、第１列でなくても、あらかじめ、埋め込み処理と復元処理で設定しておけば、最後の第Ｎ列であっても良いし、その他の任意の列でも良い。さらに、復元の基準は、１列の画素すべてである必要はなく、極端には、１画素であっても良い。
【０２４８】
なお、例えば、第１列だけを、いわば復元の基準とし、画像データの相関を利用して、埋め込み画像データの画素スワップを行う場合には、１の列の画素スワップを誤ると、その後の列（ここでは、画素スワップを誤った列の右側にある列）の画素スワップも誤る可能性が高くなる。この場合、元の画像データを復元することができないから、被埋め込みデータを復元することもできなくなる。
【０２４９】
そこで、埋め込み処理においては、複数の列（例えば、全列から等間隔に選択した複数の列）を、復元の基準として残しておく（画素スワップの対象としない）ようにすることが可能である。
【０２５０】
次に、第２の方式では、埋め込み処理において、埋め込み対象データとしての画像データを構成する複数の画素の画素値を表すビット列の各ビットごとのビットプレーンを、被埋め込みデータに対応して入れ替える（従って、レベル方向の操作を行う）ビットプレーンスワップを行うことを操作ルールとして、その操作ルールにしたがい、埋め込み対象データとしての画像データが操作されることで、その画像データに、被埋め込みデータが埋め込まれる。
【０２５１】
即ち、第２の方式の埋め込み処理では、図２１に示すように、埋め込み対象データとしての画像データが、複数の画素で構成される画像ブロックにブロック化され、さらに、画像ブロックが、その画像ブロックを構成する各画素の画素値を表すビット列の各ビットごとのビットプレーンに分割される。
【０２５２】
ここで、埋め込み対象データとしての画像データを構成する各画素値に、例えば、８ビットが割り当てられているとすると、画像ブロックは、画素値の最下位ビット、最下位ビットから２ビット目のビット、３ビット目のビット、・・・、７ビット目のビット、最上位ビット（以下、適宜、それぞれを第１乃至第８ビットという）それぞれからなるビットプレーンに分割される。
【０２５３】
そして、画像ブロックのビットプレーンが、被埋め込みデータに対応して並べ替えられる（ビットプレーンスワップされる）ことにより、画像データに、被埋め込みデータが埋め込まれる。
【０２５４】
なお、例えば、上述のように、埋め込み対象データとしての画像データを構成する画素値に８ビットが割り当てられている場合には、１の画像ブロックからは、８面のビットプレーンが得られる。そして、８面のビットプレーンの並べ替え方（ビットプレーンスワップの仕方）は、４０３２０（＝８！（！は階乗を表す））通りあるから、１つの画像ブロックには、最大で、ｌｏｇ2（８！）ビット（但し、小数点以下は切り捨て）の被埋め込みデータを埋め込むことができる。従って、埋め込み処理では、被埋め込みデータが、そのようなビット数ごとに区切られ、埋め込み対象データとしての画像データを構成する各画像ブロックに埋め込まれる。
【０２５５】
ここで、第２の方式では、上述のように、埋め込み対象データとしての画像データの各画像ブロックのビットプレーンを、被埋め込みデータに対応してビットプレーンスワップするという操作ルールにしたがって、被埋め込みデータが埋め込まれるので、この第２の方式を、以下、適宜、ビットプレーンスワップ方式という。
【０２５６】
次に、図２２のフローチャートを参照して、図３の埋め込み符号化器３で、ビットプレーンスワップ方式による埋め込み処理が行われる場合の、その埋め込み処理について説明する。
【０２５７】
まず最初に、ステップＳ１１１において、埋め込み部２２は、１フレームの画像に埋め込むことのできる分の被埋め込みデータを、被埋め込みデータベース２から読み出し、１つの画像ブロックに埋め込むことのできる単位にフォーマットする（被埋め込みデータを分割する）。さらに、ステップＳ１１１では、埋め込み部２２は、埋め込み対象データベース１に記憶された埋め込み対象データとしての画像データのフレームのうち、まだ処理の対象としていないフレームの画像データを、フレームメモリ２１に記憶させる。
【０２５８】
そして、ステップＳ１１２に進み、埋め込み部２２は、フレームメモリ２１に記憶された１フレームの画像を、例えば、横×縦が４×４画素の画像ブロックに分割し、ステップＳ１１３に進む。ステップＳ１１３では、埋め込み部２２は、フレームメモリ２１に記憶された１フレームの画像データを構成する各画像ブロックを、ビットプレーンに分割し、ステップＳ１１４に進む。
【０２５９】
ステップＳ１１４では、埋め込み部２２は、ビットプレーンに分割した各画像ブロックのうち、例えば、ラスタスキャン順で、まだ、注目ブロックとしていないものを、注目ブロックとし、その注目ブロックのビットプレーンを、ステップ１１１で得た１単位の被埋め込みデータに対応してビットプレーンスワップし、そのビットプレーンスワップ後の画像ブロックを、フレームメモリ２１に上書きする形で書き込む。
【０２６０】
その後、ステップＳ１１５に進み、埋め込み部２２は、フレームメモリ２１に記憶された１フレームの画像を構成する画像ブロックすべてを注目ブロックとして処理（ビットプレーンを並べ替える処理）を行ったかどうかを判定する。ステップＳ１１５において、まだ、１フレームのブロックすべてを処理していないと判定された場合、ステップＳ１１４に戻り、埋め込み部２２は、ラスタスキャン順で、また、注目ブロックとしていない画像ブロックを、新たに注目ブロックとして、以下、同様の処理を繰り返す。
【０２６１】
一方、ステップＳ１１５において、１フレームのブロックすべてを注目ブロックとして処理したと判定された場合、ステップＳ１１６に進み、埋め込み部２２は、被埋め込みデータに対応してビットプレーンスワップが行われた画像ブロックで構成される１フレームの画像データ、即ち、埋め込み画像データを、フレームメモリ２１から読み出して出力させ、処理を終了する。
【０２６２】
なお、以上の埋め込み処理は、埋め込み対象データベース１に記憶された埋め込み対象データとしての画像データの１フレームごとに繰り返し行われる。
【０２６３】
以上のように、各画像ブロックのビットプレーンを、被埋め込みデータに対応してビットプレーンスワップすることにより、各画像ブロックに、被埋め込みデータを埋め込む場合には、その逆のビットプレーンスワップを行うことで、元の画像データを復元することができ、さらに、どのようなビットプレーンスワップを行ったかということに基づいて、被埋め込みデータを復元することができる。従って、画像の画質の劣化を極力なくし、かつデータ量を増加せずに、画像に被埋め込みデータを埋め込むことができる。
【０２６４】
即ち、画像においては、画像ブロックを構成するビットプレーンにおけるビットどうしの相関は、基本的に、上位ビットのビットプレーンほど高い（下位ビットのビットプレーンほど低い）。従って、このような画像の相関性、即ち、ここでは、ビットプレーンを構成するビットどうしの相関を利用することにより、被埋め込みデータに対応してビットプレーンスワップされたビットプレーンは、オーバヘッドなしで、元の順番に並べ替えることができ、さらに、その並べ替え方により、被埋め込みデータを復元することができる。従って、復元された画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【０２６５】
次に、ビットプレーンスワップ方式による埋め込み処理により得られる埋め込み画像データは、以下のような、画像データの相関性を利用したビットプレーンスワップ方式による復元処理により、元の画像データと被埋め込みデータに復元することができる。
【０２６６】
即ち、ビットプレーンスワップ方式による復元処理では、フレームごとの埋め込み画像データが、ビットプレーンスワップによる埋め込み処理における場合と同一の画像ブロックにブロック化され、さらに、各画像ブロックが、その画像ブロックを構成する画素の画素値を表すビット列の各ビットごとのビットプレーンに分割される。そして、各画像ブロックを構成する各ビットプレーン内のビットどうしの相関を表す相関値が求められる。
【０２６７】
具体的には、例えば、図２３Ａに示すように、まず、相関値を計算するビットプレーンが、注目ビットプレーンとして、画像ブロックから取り出される。そして、いま、画像ブロックが、例えば、上述したように、４×４画素で構成される場合、注目ビットプレーンも、横×縦が４×４ビットで構成されることになるが、その４×４ビットの注目ビットプレーンから、例えば、図２３Ｂに示すような、その中心部分の２×２ビットＡ，Ｂ，Ｃ，Ｄそれぞれを中心とした所定の大きさの４つの小ブロックが構成される。ここで、図２３Ｂは、ビットＡを中心として構成された３×３ビットの小ブロックを示している。
【０２６８】
ビットプレーンスワップ方式による復元処理では、注目ビットプレーンから得られた各小ブロックについて、その中心のビットと同一の値のビットの数がカウントされ、そのカウント値が、小ブロックの中心ビットと、他のビットとの間の相関値として求められる。ここで、図２３Ｂに示したビットＡを中心とする小ブロックにおいては、その中心ビット（ここでは、ビットＡ）が０となっており、その左上、上、右上、右、右下、下、左下、左のビットが、それぞれ１，０，１，０，０，１，０，０になっている。従って、０になっている中心ビットと同一の値になっているのは、その中心ビットの上、左、右下、左下、左の５ビットであるため、中心ビットについての他のビットとの間の相関値は、５になる。
【０２６９】
ビットプレーンスワップ方式による復元処理では、上述のようにして、注目ビットプレーンから得られた、ビットＡ乃至Ｄそれぞれを中心とする各小ブロックについて、相関値が求められる。さらに、このようにして求められたビットＡ乃至Ｄそれぞれを中心とする小ブロックについての相関値どうしが加算され、その加算値が、注目ビットプレーンの相関値とされる。
【０２７０】
画像ブロックを構成する各ビットプレーンは、順次、注目ビットプレーンとされ、上述のようにして、相関値が求められる。そして、画像ブロックのすべてのビットプレーンの相関値を求められると、図２４に示すように、相関値の高いビットプレーンが最上位ビット側に位置するとともに、相関値の低いビットプレーンが最下位ビット側に位置するように、即ち、相関値の昇順に、ビットプレーンがビットプレーンスワップされる。これにより、画像ブロックが復元される。ここで、図２４では、濃度の薄いビットプレーンほど、相関値の高いビットプレーンを表している。
【０２７１】
画像ブロックが復元された後は、その復元された画像ブロック（以下、適宜、復元ブロックという）を構成するビットプレーンの並びと、復元前の画像ブロックを構成するビットプレーンの並びとを比較することで、画像ブロックの復元にあたって、各ビットプレーンが、どのようにビットプレーンスワップされたのかが検出され、そのビットプレーンスワップの仕方に基づいて、復元ブロックに埋め込まれていた被埋め込みデータが復元される。
【０２７２】
次に、図２５フローチャートを参照して、図４の復元器６においてビットプレーンスワップ方式による復元処理が行われる場合の、その復元処理について説明する。
【０２７３】
復元部３２は、ステップＳ１２１において、１フレームの埋め込み画像データを、フレームメモリ３１に記憶させ、ステップＳ１２２に進む。ステップＳ１２２では、復元部３２は、フレームメモリ３１に記憶された１フレームの埋め込み画像データを、埋め込み処理における場合と同様に、画像ブロックにブロック化し、ステップＳ１２３に進む。ステップＳ１２３では、復元部３２は、各画像ブロックをビットプレーンに分割し、ステップＳ１２４に進む。
【０２７４】
復元部３２は、ステップＳ１２４において、ビットプレーンに分割された各画像ブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとして、その注目ブロックの各ビットプレーンの相関値を、図２３で説明したように計算し、ステップＳ１２５に進む。ステップＳ１２５では、復元部３２は、ビットプレーンの相関値が昇順に並ぶように、注目ブロックのビットプレーンをビットプレーンスワップし、これにより、元の画像データを構成する画像ブロックを復元する。さらに、ステップＳ１２５では、復元部３２は、復元した画像ブロック（復元ブロック）を、フレームメモリ３１に上書きする形で書き込むとともに、その復元ブロックのビットプレーンの並びと、復元前の画像ブロックのビットプレーンの並びとを比較することで、埋め込み処理において、復元ブロックにつき、どのようなビットプレーンスワップが行われたかを認識する。そして、復元部３２は、その認識結果に基づいて、復元ブロックに埋め込まれていた被埋め込みデータを復元する。
【０２７５】
その後、ステップＳ１２６に進み、復元部３２は、フレームメモリ３１に記憶された１フレームの埋め込み画像データの画像ブロックすべてを注目ブロックとして処理を行ったかどうかを判定し、まだ、１フレームのブロックすべてを処理していないと判定した場合、ステップＳ１２４に戻り、ラスタスキャン順で、まだ、注目ブロックとしていない画像ブロックを、新たに注目ブロックとして、以下、同様の処理を繰り返す。
【０２７６】
一方、ステップＳ１２６において、フレームメモリ３１に記憶された１フレームの画像ブロックすべてを処理したと判定された場合、ステップＳ１２７に進み、復元部３２は、フレームメモリ３１に記憶された復元ブロックで構成される１フレームの画像データ、即ち、復元された元の画像データを読み出して出力させる。さらに、ステップＳ１２６では、復元部３２は、ステップＳ１２５で復元した被埋め込みデータを出力し、復元処理を終了する。
【０２７７】
なお、以上の復元処理は、１フレームの埋め込み画像データごとに繰り返し行われる。
【０２７８】
以上のように、埋め込み対象データとしての画像データのビットプレーンをビットプレーンスワップすることにより被埋め込みデータが埋め込まれた埋め込み画像データについて、ビットプレーンスワップを行い、画像の相関性を利用して、ビットプレーンを元の画像データにおける並びに戻すようにしたので、オーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【０２７９】
次に、第３の方式では、埋め込み処理において、埋め込み対象データとしての画像データを構成するライン（水平ラインもしくは垂直ライン、または時間方向に並ぶ複数の画素で構成されるライン）を、被埋め込みデータに対応してローテーションする（従って、空間方向または時間方向の操作を行う）ラインローテーションを行うことを操作ルールとして、その操作ルールにしたがい、埋め込み対象データとしての画像データが操作されることで、その画像データに、被埋め込みデータが埋め込まれる。
【０２８０】
即ち、第３の方式の埋め込み処理では、埋め込み対象データとしての画像データの、例えば、水平方向の各ライン（水平方向に並ぶ一連の画素）（水平ライン）を、被埋め込みデータに対応する分だけ、水平方向にずらすラインローテーションを行うことで、各水平ラインに、被埋め込みデータが埋め込まれる。
【０２８１】
ここで、第３の方式では、上述のように、埋め込み対象データとしての画像データのラインを、被埋め込みデータに対応してローテーションするという操作ルールにしたがって、被埋め込みデータが埋め込まれるので、この第３の方式を、以下、適宜、ラインローテーション方式という。
【０２８２】
次に、図２６のフローチャートを参照して、図３の埋め込み符号化器３で、ラインローテーション方式による埋め込み処理が行われる場合の、その埋め込み処理について説明する。
【０２８３】
埋め込み対象データベース１からは、そこに記憶されている埋め込み対象データとしての画像データが読み出され、フレームメモリ２１に、順次供給されて記憶される。
【０２８４】
そして、埋め込み部２２は、ステップＳ１３１において、フレームメモリ２１に記憶された画像データを構成する水平ラインのうち、まだ、注目ラインとしていないものを、注目ラインとして読み出し、ステップＳ１３２に進む。ステップＳ１３２では、埋め込み部２２は、注目ラインが、第１水平ライン（１フレームの画像データの最上行の水平ライン）であるかどうかを判定する。ステップＳ１３２において、注目ラインが第１水平ラインであると判定された場合、ステップＳ１３３に進み、埋め込み部２２は、その第１水平ラインを、そのまま、フレームメモリ２１に上書きする形で書き込み、ステップＳ１３７に進む。即ち、第１水平ラインは、特に操作（ラインローテーション）されず、従って、被埋め込みデータは埋め込まれない。
【０２８５】
また、ステップＳ１３２において、注目ラインが第１水平ラインでないと判定された場合、即ち、注目ラインが、第２水平ライン以降のいずれかの水平ラインである場合、ステップＳ１３４に進み、埋め込み部２２は、注目ラインに埋め込むべき被埋め込みデータを、被埋め込みデータベース２から読み出し、ステップＳ１３５に進む。ステップＳ１３５では、埋め込み部２２は、注目ラインを、例えば、ステップＳ１３４で読み出された被埋め込みデータに対応する画素数分だけ、水平方向にローテーションする。
【０２８６】
即ち、例えば、いま、図２７Ａに示すように、第Ｎ水平ライン（Ｎ≠１）が注目ラインとされているとすると、埋め込み部２２は、図２７Ｂに示すように、その第Ｎ水平ラインを、被埋め込みデータの値と同一の画素数だけ、水平方向である左または右方向のうちの、例えば右方向にスライドする（ずらす）。そして、埋め込み部２２は、そのスライドにより、フレームの右にはみ出した第Ｎ水平ラインの部分を、図２７Ｃに示すように、その第Ｎ水平ラインの左側にはめ込む。
【０２８７】
埋め込み部２２は、注目ラインをローテーションし、これにより、注目ラインに、被埋め込みデータを埋め込むと、ステップＳ１３６に進み、そのローテーション後の注目ラインを、フレームメモリ２１に上書きする形で書き込み、ステップＳ１３７に進む。
【０２８８】
ステップＳ１３７では、埋め込み部２２は、フレームメモリ２１に記憶された画像データのすべての水平ラインを、注目ラインとして処理を行ったかどうかを判定する。ステップＳ１３７において、フレームメモリ２１に記憶された画像データのすべての水平ラインを、まだ、注目ラインとしていないと判定された場合、ステップＳ１３１に戻り、まだ、注目ラインとしていない水平ライン（例えば、いままで注目ラインとされていた１ライン下の水平ラインが、新たに注目ラインとされ、以下、同様の処理が繰り返される。
【０２８９】
また、ステップＳ１３７において、フレームメモリ２１に記憶された画像データのすべての水平ラインを、注目ラインとしたと判定された場合、即ち、フレームメモリ２１に記憶された１フレームの画像データの各水平ライン（但し、ここでは、第１水平ラインを除く）に、被埋め込みデータが埋め込まれ、埋め込み画像データが生成された場合、埋め込み部２２は、その１フレームの埋め込み画像データを、フレームメモリ２１から読み出して出力させ、処理を終了する。
【０２９０】
なお、以上の埋め込み処理は、フレームメモリ２１に記憶された画像データの各フレームについて、繰り返し行われる。
【０２９１】
図２６の埋め込み処理によれば、ある１フレームの画像データは、次のような埋め込み画像データとされる。
【０２９２】
即ち、例えば、図２８Ａに示すような画像データに、被埋め込みデータとして、１０，１５０，２００，・・・を埋め込む場合においては、図２８Ｂに示すように、第１水平ラインは、そのまま出力され、第２水平ラインは、最初の被埋め込みデータと同一の値である１０画素だけ、右方向にローテーションされる。さらに、第３水平ラインは、２番目の被埋め込みデータと同一の値である１５０画素だけ、右方向にローテーションされ、第４水平ラインは、３番目の被埋め込みデータと同一の値である２００画素だけ、右方向にローテーションされる。第５水平ライン以降も、同様に、被埋め込みデータに対応する画素数だけ、右方向にローテーションされていく。
【０２９３】
以上のように、フレームメモリ２１に記憶された画像を構成する水平ラインを、被埋め込みデータに対応した画素数だけ、右方向にローテーションすることにより、各水平ラインに、被埋め込みデータを埋め込む場合には、その逆のローテーション（逆向きのローテーション）を行うことで、元の画像データを復元することができ、さらに、その逆のローテーションを行ったときのローテーション量に基づき、画像データに埋め込まれていた被埋め込みデータを復元することができる。従って、画像データの画質の劣化を極力なくし、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。
【０２９４】
即ち、被埋め込みデータが埋め込まれた水平ラインは、元の位置から被埋め込みデータに対応するローテーション量（画素数）だけローテーションされているが、このような水平ラインは、画像データの相関性、即ち、ここでは、元の位置にある水平ラインとの間の相関を利用することにより、オーバヘッドなしで、元の位置に戻すことができる。さらに、水平ラインを元の位置に戻すことで、埋め込み処理によって、その水平ラインがローテーションされたローテーション量を認識することができ、そのローテーション量に基づいて、その水平ラインに埋め込まれていた被埋め込みデータを復元することができる。従って、その結果得られる復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【０２９５】
なお、埋め込み画像データに、元の位置にある水平ラインが存在しない場合には、上述のように画像の相関性を利用して、画像データと被埋め込みデータを復元するのは、一般には、困難である。そこで、ここでは、図２６の埋め込み処理において、各フレームの第１水平ラインには、被埋め込みデータを埋め込まないで（ローテーションしないで）、そのまま、埋め込み画像データとするようにしている。
【０２９６】
次に、ラインローテーション方式による埋め込み処理により得られる埋め込み画像データは、以下のような、画像データの相関性を利用したラインローテーション方式による復元処理により、元の画像データと被埋め込みデータに復元することができる。
【０２９７】
即ち、ラインローテーション方式による復元処理では、埋め込み画像データの各水平ラインが、例えば、その第１水平ラインから、順次、注目ラインとされるとともに、その注目ラインの１ライン上の水平ラインが、基準ラインとされる。
【０２９８】
なお、注目ラインは、これから元の位置に戻そうとしている水平ラインであり、また、いまの場合、上方向から下方向に向かって、水平ラインが、順次、注目ラインとされるので、基準ラインは、既に元の位置に戻されている水平ラインである。
【０２９９】
ラインローテーション方式による復元処理では、その後、注目ラインを、１画素ずつ右または左のうちのいずれか一方向にローテーションしながら、そのローテーション後の注目ラインと、基準ラインとの間の相関を表す相関値が演算される。
【０３００】
具体的には、例えば、図２９Ａに示すように、注目ラインをローテーションせずに（注目ラインを、０画素分だけローテーションして）、その注目ラインを構成する画素の画素値と、基準ラインを構成する対応する画素の画素値との差分絶対値の総和の逆数が、注目ラインについての基準ラインとの間の相関値として計算される。さらに、図２９Ｂに示すように、注目ラインが、１画素だけ右または左のうちのいずれかにローテーションされ（図２９では、図２７で説明した場合の逆方向である左方向にローテーションされている）、そのローテーション後の注目ラインについて、基準ラインとの間の相関値が計算される。以下、同様にして、注目ラインが元の位置（埋め込み画像データにおける元の位置）に戻るまで、注目ラインを、２画素、３画素、・・・と順次ローテーションしながら、基準ラインとの間の相関値が計算される。
【０３０１】
以上のようにして、各ローテーション量（ここでは、水平ラインを構成する画素数）でローテーションされた注目ラインについての相関値が計算された後は、各ローテーション量の中から、注目ラインについての相関値を最大にするローテーション量が検出される。そして、その検出されたローテーション量が、注目ラインを元の位置に戻すローテーション量として決定され（この決定されたローテーション量を、以下、適宜、決定ローテーション量という）、注目ラインが、決定ローテーション量だけ、相関値を計算する場合と同一の方向（上述の場合は、左方向）にローテーションされることで、元の位置に戻される。即ち、これにより、注目ラインが復元される。
【０３０２】
さらに、決定ローテーション量に基づいて、注目ラインに埋め込まれていた被埋め込みデータが復元される。
【０３０３】
次に、図３０フローチャートを参照して、図４の復元器６においてラインローテーション方式による復元処理が行われる場合の、その復元処理について説明する。
【０３０４】
フレームメモリ３１では、そこに供給される埋め込み画像データが、例えば、１フレーム単位で順次記憶される。
【０３０５】
そして、復元部３２は、ステップＳ１４１において、フレームメモリ３１に記憶された埋め込み画像データの、まだ注目ラインとされていない水平ラインのうちの、より上の行の水平ラインを、注目ラインとして読み出し、ステップＳ１４２に進む。ステップＳ１４２では、復元部３２は、注目ラインが、第１水平ラインであるかどうかを判定する。ステップＳ１４２において、注目ラインが、第１水平ラインであると判定された場合、ステップＳ１４３に進み、復元部３２は、第１水平ラインである注目ラインを、そのまま、フレームメモリ３１に上書きする形で書き込み、ステップＳ１５０に進む。即ち、図２８の埋め込み処理では、上述したように、第１水平ラインには、被埋め込みデータが埋め込まれていないため（従って、ローテーションされていない）、第１水平ラインは、特に操作されない。
【０３０６】
また、ステップＳ１４２において、注目ラインが、第１水平ラインでないと判定された場合、即ち、注目ラインが、第２水平ライン以降のいずれかの水平ラインである場合、ステップＳ１４４に進み、復元部３２は、注目ラインの１ライン上の水平ラインを基準ラインとして、フレームメモリ３１から読み出し、ステップＳ１４５に進む。ステップＳ１４５では、復元部３２は、注目ラインと基準ラインとの間の相関値（ライン相関値）を計算し、その内蔵するメモリに記憶して、ステップＳ１４６に進む。
【０３０７】
ステップＳ１４６では、復元部３２は、注目ラインを、例えば、左方向に、１画素だけローテーションし、ステップＳ１４７に進む。ステップＳ１４７では、復元部３２は、ステップＳ１４６で注目ラインがローテーションされることにより、そのローテーション後の注目ラインの各画素が、フレームメモリ３１に記憶されている注目ラインの各画素の位置に戻ったかどうかを判定する。
【０３０８】
ステップＳ１４７において、ローテーション後の注目ラインの各画素が、フレームメモリ３１に記憶されている注目ラインの各画素の位置に戻っていないと判定された場合、ステップＳ１４５に戻り、ローテーション後の注目ラインと基準ラインとの間の相関値が計算され、以下、同様の処理が繰り返される。
【０３０９】
また、ステップＳ１４７において、ローテーション後の注目ラインの各画素が、フレームメモリ３１に記憶されている注目ラインの各画素の位置に戻ったと判定された場合、ステップＳ１４８に進み、復元部３２は、注目ラインについて、ステップＳ１４５乃至Ｓ１４７のループ処理を行うことにより得られた各ローテーション量に対する相関値の中から、その最大値を求める。さらに、ステップＳ１４８では、復元部３２は、最大値となる相関値を与えるローテーション量を検出し、そのローテーション量を、決定ローテーション量として決定する。そして、復元部３２は、その決定ローテーション量に基づいて、注目ラインに埋め込まれていた被埋め込みデータを復元して出力し、即ち、決定ローテーション量を、そのまま被埋め込みデータとして出力し、ステップＳ１４９に進む。
【０３１０】
ステップＳ１４９では、復元部３２は、フレームメモリ３１に記憶されている注目ラインを読み出し、決定ローテーション量だけ左方向にローテーションすることにより、注目ラインを復元する（注目ラインを、元の画像データにおける位置に戻す）。さらに、ステップＳ１４９では、復元部３２は、ローテーション後の注目ラインを、フレームメモリ３１に上書きする形で書き込み、ステップＳ１５０に進む。
【０３１１】
ステップＳ１５０では、復元部３２は、フレームメモリ３１に記憶された埋め込み画像データのすべての水平ラインを、注目ラインとして処理を行ったかどうかを判定する。ステップＳ１５０において、フレームメモリ３１に記憶された埋め込み画像データのすべての水平ラインを、まだ、注目ラインとしていないと判定された場合、ステップＳ１４１に戻り、いままで注目ラインとされていた１ライン下の水平ラインが、新たに注目ラインとされ、以下、同様の処理が繰り返される。
【０３１２】
また、ステップＳ１５０において、フレームメモリ３１に記憶された埋め込み画像データのすべての水平ラインを、注目ラインとしたと判定された場合、即ち、フレームメモリ３１に記憶された１フレームの埋め込み画像データの各水平ライン（但し、ここでは、第１水平ラインを除く）に埋め込まれていた被埋め込みデータを復元するとともに、その埋め込み画像データを、元の画像データに復元した場合、復元部３２は、その復元した画像データを、フレームメモリ３１から読み出して出力させ、処理を終了する。
【０３１３】
なお、以上の復元処理は、フレームメモリ３１に記憶された埋め込み画像データの各フレームについて、繰り返し行われる。
【０３１４】
以上のように、水平ラインをローテーションすることにより被埋め込みデータが埋め込まれた埋め込み画像データについて、水平ラインのローテーションを行い、画像の相関性を利用して、水平ラインを元の位置に戻すようにしたので、オーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【０３１５】
なお、図３０の復元処理では、注目ラインと、基準ラインとの間の相関を表す相関値として、対応する画素どうしの差分絶対値の総和（差分絶対値和）を用いるようにしたが、その他、例えば、画素の差分の自乗和等を用いることも可能である。
【０３１６】
また、図２６の埋め込み処理では、１つの水平ラインを、被埋め込みデータにしたがってローテーションするようにしたため、１つの水平ラインには、その水平ラインを構成する画素数だけの範囲内の値の被埋め込みデータの埋め込みが可能である。但し、１つの水平ラインを構成する画素数より大きい範囲内の値の被埋め込みデータの埋め込みであっても、例えば、２つの水平ラインなどの複数の水平ラインを、被埋め込みデータにしたがってローテーションするようにすることで行うことが可能である。
【０３１７】
ところで、例えば、上述した図２６のラインローテーション方式による埋め込み処理では、埋め込み対象データとしての画像データの水平方向に並ぶ画素で構成される水平ラインを、水平方向にローテーションすることにより、被埋め込みデータの埋め込みを行うようにしたが、被埋め込みデータの埋め込みは、その他、例えば、画像データの垂直方向に並ぶ画素で構成される垂直ラインを、垂直方向にローテーションしたり、あるいは、斜め方向に並ぶ画素で構成されるラインを、その斜め方向にローテーションすることなどによって行うことも可能である。
【０３１８】
また、ラインローテーション方式による場合には、水平ラインまたは垂直ラインのうちのいずれか一方をローテーションすることにより、被埋め込みデータを埋め込み、その後、水平ラインまたは垂直ラインのうちの他方をローテーションすることにより、被埋め込みデータを、さらに埋め込むことが可能である。
【０３１９】
即ち、例えば、図３１Ａに示すように、ラインローテーション方式による埋め込み処理では、埋め込み対象データとしての画像データの水平ラインを、所定の被埋め込みデータＤ1に対応してローテーションすることにより、その被埋め込みデータＤ1を埋め込み、さらに、その結果生成される埋め込み符号化データＣ1としての画像データの垂直ラインを、他の被埋め込みデータＤ2に対応してローテーションすることにより、その被埋め込みデータＤ2を埋め込むことが可能である。
【０３２０】
いま、埋め込み符号化データＣ1としての画像データの垂直ラインをローテーションすることにより、被埋め込みデータＤ2を埋め込んで生成される埋め込み符号化データを、埋め込み符号化データＣ2と記述するものとすると、埋め込み符号化データＣ2には、元の画像データの水平ラインだけでなく、垂直ラインもローテーションすることによって、被埋め込みデータＤ1およびＤ2が埋め込まれているから、図２６の埋め込み処理で説明したように、画像データの水平ラインだけをローテーションする場合に比較して、より多くの被埋め込みデータを埋め込むことができる。
【０３２１】
即ち、例えば、埋め込み対象データとしての画像データの水平ラインと垂直ラインのライン数が同一であるとした場合には、画像データの水平ラインと垂直ラインの両方をローテーションして生成される埋め込み符号化データＣ2には、画像データの水平ラインだけをローテーションして生成される埋め込み符号化データＣ1における場合の２倍のデータ量の被埋め込みデータを埋め込むことができる。
【０３２２】
以上のような埋め込み符号化データＣ2を、埋め込み対象データと被埋め込みデータＤ1およびＤ2に復元する復元処理は、やはり、画像の相関性を利用して、次のように行うことができる。
【０３２３】
即ち、埋め込み対象データとしての画像データの水平ラインをローテーションすると、その画像データにおける、水平ラインと直交する空間方向である垂直方向の相関性が破壊される。従って、画像データの水平ラインのみをローテーションすることにより生成される埋め込み符号化データについては、その水平ラインを、垂直方向の相関性を元に戻すように（図３０の復元処理においては、基準ラインとの間の相関値が最大になるように）ローテーションすることで、元の画像データに復元することができる。
【０３２４】
画像データの垂直ラインのみをローテーションすることにより生成される埋め込み符号化データについても、上述の、水平ラインをローテーションすることにより生成される埋め込み符号化データにおける場合と同様にして、元の画像データに復元することができる。
【０３２５】
即ち、埋め込み対象データとしての画像データの垂直ラインをローテーションすると、その画像データにおける、垂直ラインと直交する空間方向である水平方向の相関性が破壊される。従って、画像データの垂直ラインをローテーションすることにより生成される埋め込み符号化データについては、その垂直ラインを、水平方向の相関性を元に戻すようにローテーションすることで、元の画像データに復元することができる。
【０３２６】
以上から、画像データの水平ラインをローテーションすると、垂直方向の相関性は破壊されるが、水平方向の相関性は影響を受けない。また、画像データの垂直ラインをローテーションすると、水平方向の相関性は破壊されるが、垂直方向の相関性は影響を受けない。そして、画像データの水平ラインをローテーションすることにより生成される埋め込み符号化データは、垂直方向の相関性だけを利用して、元の画像データに復元することができ、画像データの垂直ラインをローテーションすることにより生成される埋め込み符号化データは、水平方向の相関性だけを利用して、元の画像データに復元することができる。
【０３２７】
従って、図３１Ａに示したように、埋め込み対象データとしての画像データの水平ラインを、被埋め込みデータＤ1に対応してローテーションすることにより、埋め込み符号化データＣ1を生成し、その埋め込み符号化データＣ1としての画像データの垂直ラインを、被埋め込みデータＤ2に対応してローテーションすることにより、埋め込み符号化データＣ2を生成した場合には、その埋め込み符号化データＣ2は、図３１Ｂに示すように、その垂直ラインを、水平方向の相関性を元に戻すようにローテーションすることで、埋め込み符号化データＣ1と被埋め込みデータＤ2に復元することができる。そして、埋め込み符号化データＣ1は、その水平ラインを、垂直方向の相関性を元に戻すようにローテーションすることで、埋め込み対象データと被埋め込みデータＤ1に復元することができる。即ち、埋め込み符号化データＣ2を、元の埋め込み対象データと、被埋め込みデータＤ1およびＤ2に復元することができる。
【０３２８】
水平ラインのローテーションによる埋め込みと、垂直ラインのローテーションによる埋め込みとは、いずれも、被埋め込みデータに対応してラインをローテーションするという操作ルールにしたがって、埋め込み対象データを操作するラインローテーション方式による埋め込みであるが、水平ラインのローテーションは、垂直方向の相関にのみ影響を与え、垂直ラインのローテーションは、水平方向の相関にのみ影響を与えるものであるから、水平ラインのローテーションと、垂直ラインのローテーションとは、いわば、独立した操作または直交した操作であるということができる。このように、水平ラインのローテーションと、垂直ラインのローテーションとが、独立した操作であるがゆえに、画像データの水平ラインを被埋め込みデータＤ1に対応してローテーションし、さらに、垂直ラインを被埋め込みデータＤ2に対応してローテーションして得られる埋め込み符号化データＣ2は、元の画像データと被埋め込みデータＤ1およびＤ2に復元することができる。
【０３２９】
ところで、上述の埋め込み符号化データＣ2は、埋め込み対象データとしての画像データの水平ラインと垂直ラインがローテーションされたものであるから、画像データの、いわば空間的な相関性が、すべての空間方向について破壊されたものとなっている。
【０３３０】
従って、埋め込み符号化データＣ2としての画像データに対して、ラインローテーション方式による場合は勿論、その他の操作ルールにしたがって操作を行う、例えば、上述の画素スワップ方式や、ビットプレーンスワップ方式によって、さらに被埋め込みデータの埋め込みを行うと、対応する方式による復元処理では、埋め込み符号化データＣ2も、その埋め込み符号化データＣ2に埋め込んだ被埋め込みデータも復元することが困難となる。
【０３３１】
即ち、埋め込み符号化データＣ2としての画像データに対して、ラインローテーション方式によって、さらに他の被埋め込みデータＤ3を埋め込んだ場合、その被埋め込みデータＤ3は、埋め込み符号化データＣ2の水平ラインまたは垂直ラインを、被埋め込みデータＤ3に対応してローテーションすることにより埋め込まれる。
【０３３２】
しかしながら、この被埋め込みデータＤ3に対応する水平ラインまたは垂直ラインのローテーションは、被埋め込みデータＤ1の埋め込みを行うための水平ラインのローテーション、または被埋め込みデータＤ2の埋め込みを行うための垂直ラインのローテーションと重複する操作であるから、水平ラインのローテーションが、被埋め込みデータＤ1またはＤ3のうちのいずれの埋め込みによるものであるのかを区別することができず、あるいは、垂直ラインのローテーションが、被埋め込みデータＤ2またはＤ3のうちのいずれの埋め込みによるものであるのかを区別することができず、このため、埋め込み符号化データＣ2も、被埋め込みデータＤ3も復元することはできない。
【０３３３】
また、画素スワップ方式や、ビットプレーンスワップ方式による復号処理では、上述したことから、空間的に近接する画素との相関を利用して、元の画像データとそこに埋め込まれていた被埋め込みデータの復元が行われる。
【０３３４】
しかしながら、埋め込み符号化データＣ2としての画像データについては、その空間方向の相関性が、すべての方向について破壊されているため、そのような埋め込み符号化データＣ2に、画素スワップ方式や、ビットプレーンスワップ方式によって、被埋め込みデータＤ3を埋め込むことは、エネルギの偏りのない、例えば、ノイズを埋め込み対象データとして、画素スワップ方式や、ビットプレーンスワップ方式によって、被埋め込みデータＤ3を埋め込むことと等価である。
【０３３５】
従って、そのような埋め込みにより得られた新たな埋め込み符号化データについては、画像データ（情報としての価値がある画像データ）が有する空間方向の相関性を利用することができず、画素スワップ方式や、ビットプレーンスワップ方式による復元処理によっては、元の埋め込み対象データと被埋め込みデータを復元することはできない。
【０３３６】
以上から、空間方向の相関性がすべての方向について破壊されている埋め込み符号化データＣ2に対して、画素スワップ方式や、ビットプレーンスワップ方式によって、被埋め込みデータＤ3を埋め込み、新たな埋め込み符号化データを生成した場合には、その新たな埋め込み符号化データについては、埋め込み符号化データＣ2としての画像データの相関性を利用することによっては、その埋め込み符号化データＣ2とそこに埋め込まれていた被埋め込みデータＤ3を復元することはできない。
【０３３７】
ところで、ラインローテーション方式による埋め込み処理によって生成された埋め込み符号化データＣ2に対して、さらに、同一のラインローテーション方式によって、被埋め込みデータＤ3を埋め込み、新たな埋め込み符号化データを生成した場合には、上述したように、埋め込み符号化データＣ2を生成するときに行われる操作と、新たな埋め込み符号化データを生成するときに行われる操作とが重複することがあるので、仮に、元の埋め込み対象データとしての画像データを復元することができても、その埋め込み対象データに埋め込まれた被埋め込みデータＤ1乃至Ｄ3すべてを復元することは困難である。
【０３３８】
一方、ラインローテーション方式による埋め込み処理によって生成された埋め込み符号化データＣ2に対して、さらに、ラインローテーション方式とは異なる、例えば、ビットプレーンスワップ方式等によって、被埋め込みデータＤ3を埋め込んだ場合には、埋め込み符号化データＣ2を生成するときに行われる操作（ここでは、水平ラインのローテーションと垂直ラインのローテーション）と、新たな埋め込み符号化データを生成するときに行われる操作とが重複することはない。
【０３３９】
従って、この場合は、仮に、元の埋め込み対象データとしての画像データを復元することができれば、その埋め込み対象データに埋め込まれた被埋め込みデータＤ1乃至Ｄ3も、すべて復元することができる。
【０３４０】
即ち、仮に、新たな埋め込み符号化データから、元の埋め込み対象データを復元することができれば、その埋め込み対象データから新たな埋め込み符号化データを生成する操作が特定される。さらに、埋め込み対象データから新たな埋め込み符号化データを生成する操作は、埋め込み対象データに対して、ラインローテーション方式によって被埋め込みデータＤ1とＤ2を埋め込む操作と、その操作によって得られる埋め込み符号化データＣ2に対して、ラインローテーション方式とは異なる、例えば、ビットプレーンスワップ方式等によって被埋め込みデータＤ3を埋め込む操作とからなる。そして、いまの場合、被埋め込みデータＤ1およびＤ2を埋め込むラインローテーション方式による操作と、被埋め込みデータＤ3を埋め込むビットプレーンスワップ方式による操作とは、上述したように直交する操作であり、重複することがない。
【０３４１】
従って、埋め込み対象データから、被埋め込みデータＤ1乃至Ｄ3が埋め込まれた埋め込み符号化データを生成する操作が特定されれば、その操作に基づき、被埋め込みデータＤ1およびＤ2を埋め込むラインローテーション方式による操作も、被埋め込みデータＤ3を埋め込むビットプレーンスワップ方式による操作のいずれの操作も特定することができる。
【０３４２】
そこで、図３２は、ラインローテーション方式とビットプレーンスワップ方式などのように、複数の方式による埋め込みを行う図２の埋め込み符号化器３の構成例を示している。なお、図中、図３における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図３２の埋め込み符号化器３は、特徴抽出部２３および統合部２４が新たに設けられている他は、基本的に、図３における場合と同様に構成されている。
【０３４３】
特徴抽出部２３には、フレームメモリ２１に供給されるのと同一の埋め込み対象データとしての１フレームの画像データが供給されるようになっている。特徴抽出部２３は、そこに供給される埋め込み対象データとしての１フレームの画像データから、その特徴を表す特徴データを抽出し、統合部２４に供給する。
【０３４４】
ここで、特徴抽出部２３は、埋め込み対象データとしての１フレームの画像データから、例えば、次のような特徴データを抽出する。
【０３４５】
即ち、特徴抽出部２３は、画像データの１以上の特定位置にある画素の画素値を、特徴データとして抽出する。また、特徴抽出部２３は、画像データの１以上の特定位置にある画素と、その上、下、左、または右に隣接する画素との画素値の差分値を計算し、その差分値を、特徴データとして抽出する。さらに、特徴抽出部２３は、画像データを、所定の大きさのブロックに分割し、各ブロックのアクティビティやダイナミックレンジを求め、その各ブロックごとのアクティビティやダイナミックレンジを、特徴データとして抽出する。ここで、ブロックのアクティビティとしては、例えば、ブロックを構成する各画素と、その画素に隣接する画素との画素値の差分絶対値（あるいは、差分の自乗）の総和や、ブロックを構成する画素の画素値をＤＣＴ変換して得られるＤＣＴ係数のうちのＡＣ(Alternating Current)成分の絶対値和等の、ブロックにおける画素値の変化の度合いを表すものを採用することができる。また、ブロックのダイナミックレンジとしては、例えば、ブロックを構成する画素の画素値の最大値と最小値との差を採用することができる。
【０３４６】
その他、特徴抽出部２３には、１フレームを構成する画像データの画素値の平均値や、分散、度数の最も高い画素値（最頻値）等を、特徴データとして抽出させることが可能である。
【０３４７】
なお、特徴抽出部２３において抽出する画像データの特徴データは、上述したものに限定されるものではない。即ち、特徴データとしては、上述したものの他、例えば、画像データに表示されている物体の輪郭や重心位置等の、その画像データの特徴を表すものであれば、上述したもの以外のものを採用することが可能である。また、特徴抽出部２３では、２種類以上の特徴データを抽出することも可能である。
【０３４８】
統合部２４は、特徴抽出部２３から特徴データを受信し、フレームメモリ２１に記憶された画像データ、即ち、その特徴データが抽出された画像データ（埋め込み対象データとしての画像データそのものの他、その画像データに、被埋め込みデータを埋め込んで得られる埋め込み符号化データとしての画像データも含む）と、特徴データとを統合する。
【０３４９】
ここで、統合部２４における画像データと、その特徴データとの統合の方法は、特に限定されるものではない。即ち、画像データと特徴データとは、画像データまたは特徴データに、特徴データまたは画像データを、単に付加する形で統合することもできるし、時分割多重や周波数分割多重、異なる拡散符号による周波数拡散等によって統合することも可能である。さらに、画像データと特徴データとは、画像データに、特徴データを埋め込むことによって統合することも可能である。
【０３５０】
次に、図３３のフローチャートを参照して、図３２の埋め込み符号化器３による埋め込み処理について説明する。
【０３５１】
埋め込み対象データベース１からは、そこに記憶されている埋め込み対象データとしての画像データがフレーム単位で読み出され、フレームメモリ２１と特徴抽出部２３に供給される。フレームメモリ２１は、埋め込み対象データベース１から供給される埋め込み対象データとしての１フレームの画像データを記憶する。
【０３５２】
特徴抽出部２３は、埋め込み対象データベース１から供給される埋め込み対象データとしての１フレームの画像データを受信し、ステップＳ１６１において、その画像データから、特徴データを抽出し、統合部２４に供給して、ステップＳ１６２に進む。
【０３５３】
ステップＳ１６２では、統合部２４が、特徴抽出部２３からの特徴データと、フレームメモリ２１に記憶された埋め込み対象データとしての画像データとを統合するとともに、埋め込み部２２が、被埋め込みデータベース２から被埋め込みデータを読み出し、フレームメモリ２１に記憶された埋め込み対象データとしての画像データに埋め込む。これにより、フレームメモリ２１に記憶された埋め込み対象データとしての画像データは、特徴データが統合された埋め込み符号化データとされ、ステップＳ１６２では、さらに、その特徴データが統合された埋め込み符号化データが、フレームメモリ２１から読み出されて処理を終了する。
【０３５４】
なお、図３３の処理は、埋め込み対象データとしての１フレームの画像データが、フレームメモリ２１に新たに記憶されるごとに繰り返し行われる。
【０３５５】
次に、図３４は、図３２の埋め込み符号化器３（のフレームメモリ２１）から出力される、特徴データが統合された埋め込み符号化データを、元の埋め込み対象データとしての画像データと被埋め込みデータに復元する図２の復元器６の構成例を示している。なお、図中、図４における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図３４の復元器６は、特徴分離部３３、特徴抽出部３４、および判定制御部３５が新たに設けられている他は、図４における場合と、基本的に同様に構成されている。
【０３５６】
特徴分離部３３は、フレームメモリ３１に記憶された埋め込み符号化データから、特徴データを分離し、判定制御部３５に供給する。即ち、フレームメモリ３１には、特徴データが統合された埋め込み符号化データが供給され、フレームメモリ３１は、その特徴データが統合された埋め込み符号化データを一時記憶するようになっており、特徴分離部３３は、フレームメモリ３１に記憶された、特徴データが統合された埋め込み符号化データから、その特徴データを分離し、判定制御部３５に供給する。
【０３５７】
ここで、特徴データが統合された埋め込み符号化データから分離される特徴データは、埋め込み対象データとしての元の画像データ（原画像）から抽出された、その画像データの特徴を表すものであり、後述する仮復元特徴データと区別するために、以下、適宜、原特徴データという。
【０３５８】
特徴抽出部３４は、復元部３２において仮に復元された埋め込み対象データとしての画像データ（以下、適宜、仮復元画像データという）から、図３２の特徴抽出部２３における場合と同様にして特徴データを抽出し、その特徴データを、仮復元特徴データとして、判定制御部３５に供給する。
【０３５９】
即ち、図３４の実施の形態では、復元部３２は、フレームメモリ３２に記憶された埋め込み符号化データを、埋め込み符号化器３において埋め込み対象データに被埋め込みデータを埋め込むときに行った埋め込み対象データの操作に対応する操作ルールにしたがって操作することにより、仮の埋め込み対象データとしての画像データ（仮復元画像データ）と、仮の被埋め込みデータに復元するようになっている。そして、特徴抽出部３４は、復元部３２で得られる仮復元画像データから、その特徴データを抽出し、仮復元特徴データとして、判定制御部３５に供給する。
【０３６０】
判定制御部３５は、特徴分離部３３から供給される原特徴データと、特徴抽出部３４から供給される仮復元特徴データの一致性を判定し、その判定結果に基づいて、復元部３２における復元処理を制御する。
【０３６１】
即ち、仮復元画像データが、元の埋め込み対象データとしての画像データに一致していれば（正確に復元されていれば）、その仮復元画像データの特徴データである仮復元特徴データは、原特徴データと一致するはずである。従って、原特徴データと仮復元特徴データとが一致していれば、仮復元画像データが、元の埋め込み対象データとしての画像データに、正確に復元されているということができる。
【０３６２】
そこで、判定制御部３５は、原特徴データと仮復元特徴データとが一致しているかどうかを判定し、一致していない場合には、復元部３２における復元処理を制御する。これにより、復元部３２は、フレームメモリ３２に記憶された埋め込み符号化データに対して、埋め込み符号化器３において埋め込み対象データに被埋め込みデータを埋め込むときに行った埋め込み対象データの操作に対応する操作ルールにしたがった他の操作を施すことにより、新たに、仮復元画像データと、仮の被埋め込みデータを復元する。
【０３６３】
一方、判定制御部３５は、原特徴データと仮復元特徴データとが一致している場合には、その仮復元特徴データが得られた仮復元画像データが、元の埋め込み対象データとしての画像データに、正確に復元されているとして、その仮復元画像データを、フレームメモリ３１に上書きするように、復元部３２を制御する。
【０３６４】
次に、図３５のフローチャートを参照して、図３４の復元器６による復元処理について説明する。
【０３６５】
特徴データ（原特徴データ）が統合された埋め込み符号化データは、フレームメモリ３１に供給され、一時記憶される。
【０３６６】
そして、ステップＳ１７１において、特徴分離部３３は、フレームメモリ３１に記憶された埋め込み符号化データから、原特徴データを分離し、判定制御部３５に供給する。
【０３６７】
さらに、ステップＳ１７１では、復元部３２が、フレームメモリ３１に記憶された埋め込み符号化データに対して、図３２の埋め込み部２２における埋め込み処理の操作ルールにしたがった所定の操作を施し、これにより、仮の埋め込み対象データとしての仮復元画像データと、仮の被埋め込みデータを復元する。
【０３６８】
その後、ステップＳ１７２に進み、特徴抽出部３４が、復元部３２で得られた仮復元画像データから特徴データを抽出し、仮復元特徴データとして、判定制御部３５に供給して、ステップＳ１７３に進む。
【０３６９】
ステップＳ１７３では、判定制御部３５が、原特徴データと仮復元特徴データとが一致するかどうかを判定する。ステップＳ１７３において、原特徴データと仮復元特徴データとが一致しないと判定された場合、ステップＳ１７４に進み、判定制御部３５は、埋め込み符号化データに対して他の操作を施すように、復元部３２を制御し、ステップＳ１７５に進む。
【０３７０】
ステップＳ１７５では、復元部３２が、判定制御部３５からの制御にしたがい、フレームメモリ３２に記憶された埋め込み符号化データに対して、図３２の埋め込み符号化器３における埋め込み処理の操作ルールにしたがった他の操作を施すことにより、新たに、仮復元画像データと、仮の被埋め込みデータを復元する。そして、ステップＳ１７２に戻り、ステップＳ１７３において、原特徴データと仮復元特徴データとが一致すると判定されるまで、ステップＳ１７３乃至Ｓ１７５の処理を繰り返す。
【０３７１】
そして、ステップＳ１７３において、原特徴データと仮復元特徴データとが一致すると判定された場合、判定制御部３５は、仮復元画像データを、フレームメモリ３１に上書きするように、復元部３２を制御し、ステップＳ１７６に進む。ステップＳ１７６では、復元部３２は、仮復元画像データを、フレームメモリ３１に上書きする形で書き込むとともに、その仮復元画像データとともに復元された仮の被埋め込みデータを、正確な復元結果として出力し、復元処理を終了する。
【０３７２】
なお、図３５の処理は、埋め込み符号化データとしての１フレームの画像データが、フレームメモリ３１に新たに記憶されるごとに繰り返し行われる。
【０３７３】
次に、特徴データ（原特徴データ）の統合方法として、例えば、埋め込みを採用した場合の埋め込み符号化器３における埋め込み処理と、復元器６における復元処理について説明する。
【０３７４】
この場合、埋め込み符号化器３では、図３６Ａに示すように、埋め込み対象データとしての画像データから特徴データが抽出され、その特徴データと被埋め込みデータが、埋め込み対象データとしての画像データに埋め込まれる。即ち、埋め込み符号化器３では、埋め込み対象データとしての画像データを、特徴データと被埋め込みデータに対応して操作する埋め込み処理が行われ、埋め込み符号化データが生成される。
【０３７５】
一方、復元器６では、図３６Ｂに示すように、埋め込み符号化データが、埋め込み符号化器３における埋め込み処理の操作ルールと同一の操作ルールにしたがって操作され、埋め込み対象データとしての画像データと、その画像データに埋め込まれていた特徴データおよび被埋め込みデータが復元される。
【０３７６】
より具体的には、埋め込み符号化器３では、例えば、図３７Ａに示すように、埋め込み対象データとしての画像データから特徴データが抽出され、埋め込み対象データとしての画像データを、例えば、ラインローテーション方式により、特徴データに対応して操作する埋め込み処理が行われる。これにより、埋め込み対象データとしての画像データに、特徴データが埋め込まれ、埋め込み符号化データが生成される。ここで、埋め込み対象データに対して、最初の埋め込み処理が施されることにより得られる埋め込み符号化データを、以下、適宜、第１の埋め込み符号化データという。
【０３７７】
埋め込み符号化器３では、さらに、埋め込み対象データに特徴データを埋め込むことで得られた第１の埋め込み符号化データとしての画像データを、ラインローテーション方式と直交する操作を行う、例えば、ビットプレーンスワップ方式により、被埋め込みデータに対応して操作する埋め込み処理が行われる。これにより、第１の埋め込み符号化データ（特徴データが埋め込まれた埋め込み対象データ）としての画像データに、被埋め込みデータが埋め込まれ、埋め込み符号化データが生成される。ここで、第１の埋め込み符号化データに対して埋め込み処理が施されることにより得られる埋め込み符号化データ、即ち、埋め込み対象データとしての画像データに対して、最初の埋め込み処理とは異なる方式による、２回目の埋め込み処理が施されることにより得られる埋め込み符号化データを、以下、適宜、第２の埋め込み符号化データという。
【０３７８】
一方、復元器６では、図３７Ｂに示すように、第２の埋め込み符号化データに対して、埋め込み符号化器３における２回目の埋め込み処理と同一のビットプレーンスワップ方式による復元処理としての操作が施され、これにより、仮の第１の埋め込み符号化データと、仮の被埋め込みデータが復元される。
【０３７９】
ここで、復元器６で行われる、この最初の復元処理では、全パターンの操作を行うことにより、各操作パターンごとの仮の第１の埋め込み符号化データと、仮の被埋め込みデータが復元される。即ち、最初の復元処理が、上述のようにビットプレーンスワップ方式によって行われる場合には、復元器６は、画像ブロックのビットプレーンを、全通りの並びに並び替えたものを、順次生成し、各並びのビットプレーンで構成される画像データを、仮の第１の埋め込み符号化データとして、順次出力する。
【０３８０】
復元器６は、ビットプレーンスワップ方式によるある操作によって、仮の第１の埋め込み符号化データを得ると、その仮の第１の埋め込み符号化データに対して、埋め込み符号化器３における最初の埋め込み処理と同一のラインローテーション方式による復元処理としての操作を施し、これにより、仮の埋め込み対象データ（仮復元画像データ）と、仮の特徴データ（原特徴データ）を復元する。
【０３８１】
ここで、復元器６で行われる２回目の復元処理では、最初の復元処理における場合と異なり、全パターンの操作を行うことにより得られる復元結果のうちの、最も確からしい復元結果のみが出力される。即ち、２回目の復元処理が、上述のようにラインローテーション方式によって行われる場合には、復元器６は、各ラインを、その相関が最も大きくなる位置にローテーションして得られる画像データを、仮の埋め込み対象データとして出力する。
【０３８２】
そして、復元器６は、仮の埋め込み対象データから、特徴データ（仮復元特徴データ）を抽出し、仮の原特徴データと比較することで、仮の原特徴データと仮復元特徴データとの一致性を判定する。
【０３８３】
仮の原特徴データと仮復元特徴データとが一致していない場合、復元器６は、仮の第１の埋め込み符号化データが、正確に、元の第１の埋め込み符号化データに復元されていないとして、第２の埋め込み符号化データに対して、ビットプレーンスワップ方式による復元処理（最初の復元処理）としての他のパターンの操作を施し、これにより、新たに、仮の第１の埋め込み符号化データと、仮の被埋め込みデータを復元する。
【０３８４】
さらに、復元器６は、新たな仮の第１の埋め込み符号化データに対して、埋め込み符号化器３における最初の埋め込み処理と同一のラインローテーション方式による復元処理（２回目の復元処理）としての操作を施し、これにより、仮の埋め込み対象データ（仮復元画像データ）と、仮の特徴データ（原特徴データ）を復元する。
【０３８５】
そして、復元器６は、仮の埋め込み対象データから、特徴データ（仮復元特徴データ）を抽出し、仮の原特徴データと比較することで、仮の原特徴データと仮復元特徴データとの一致性を判定する。
【０３８６】
仮の原特徴データと仮復元特徴データとが一致していない場合、復元器６は、上述の場合と同様の処理を繰り返す。
【０３８７】
一方、仮の原特徴データと仮復元特徴データとが一致している場合、復元器６は、そのときに得られている仮の埋め込み対象データと、仮の被埋め込みデータを、正確な復元結果とし、処理を終了する。
【０３８８】
次に、図３８は、図３７Ａで説明した埋め込み処理を行う図２の埋め込み符号化器３の構成例を示している。
【０３８９】
埋め込み対象データベース１（図２）に記憶された埋め込み対象データとしての画像データは、例えば、フレーム単位で、特徴抽出部４１と埋め込み器４２に供給されるようになっており、被埋め込みデータベース２（図２）に記憶された被埋め込みデータは、埋め込み器４３に供給されるようになっている。
【０３９０】
特徴抽出部４１は、図３２で説明した特徴抽出部２３と同様に、そこに供給される埋め込み対象データとしての１フレームごとの画像データから、特徴データを抽出し、埋め込み器４２に供給する。
【０３９１】
埋め込み器４２は、埋め込み対象データベース１（図２）から供給される埋め込み対象データとしての１フレームの画像データを、特徴抽出部４１から供給される特徴データに対応して、ラインローテーション方式により操作し、これにより、埋め込み対象データとしての画像データに特徴データを埋め込んだ第１の埋め込み符号化データを生成して、埋め込み器４３に供給する。
【０３９２】
ここで、埋め込み器２において、上述のようにラインローテーション方式による埋め込み処理を行う場合には、特徴抽出部４１では、埋め込み対象データとしての１フレームの画像データごとに、特徴データを抽出するのではなく、ラインローテーション方式により操作される単位である水平ラインや垂直ラインごとに、特徴データを抽出するようにすることが可能である。
【０３９３】
埋め込み器４３は、埋め込み器４２から供給される第１の埋め込み符号化データとしての１フレームの画像データを、被埋め込みデータベース２から供給される被埋め込みデータに対応して、ビットプレーンスワップ方式により操作し、これにより、第１の埋め込み符号化データとして画像データに被埋め込みデータを埋め込んだ第２の埋め込み符号化データを生成して出力する。
【０３９４】
次に、図３９のフローチャートを参照して、図３８の埋め込み符号化器３による埋め込み処理について説明する。
【０３９５】
まず最初に、ステップＳ１８１において、埋め込み対象データベース１（図２）に記憶された埋め込み対象データとしての１フレームの画像データが、特徴抽出部４１と埋め込み器４２に供給されるとともに、被埋め込みデータベース２（図２）に記憶された被埋め込みデータが、埋め込み器４３に供給され、ステップＳ１８２に進む。
【０３９６】
ステップＳ１８２では、特徴抽出部４１が、そこに供給される埋め込み対象データとしての１フレームの画像データから、特徴データを抽出し、埋め込み器４２に供給して、ステップＳ１８３に進む。
【０３９７】
ステップＳ１８３では、埋め込み器４２が、埋め込み対象データベース１（図２）から供給される埋め込み対象データとしての１フレームの画像データを、特徴抽出部４１から供給される特徴データに対応して、ラインローテーション方式により操作し、これにより、埋め込み対象データとしての画像データに特徴データを埋め込む。この埋め込みによって得られる第１の埋め込み符号化データは、埋め込み器４２から４３に供給され、ステップＳ１８４に進む。
【０３９８】
ステップＳ１８４では、埋め込み器４３が、埋め込み器４２から供給される第１の埋め込み符号化データとしての１フレームの画像データを、被埋め込みデータベース２から供給される被埋め込みデータに対応して、ビットプレーンスワップ方式により操作し、これにより、第１の埋め込み符号化データとして画像データに被埋め込みデータを埋め込む。この埋め込みによって得られる第２の埋め込み符号化データは、最終的な埋め込みデータとして出力され、処理を終了する。
【０３９９】
なお、図３９の処理は、埋め込み対象データベース１に記憶された埋め込み対象データとしての画像データの各フレームについて、繰り返し行われる。
【０４００】
次に、図４０は、図３７Ｂで説明した復元処理を行う図２の復元器６の構成例を示している。
【０４０１】
図３８および図３９で説明したようにして埋め込み符号化器６で得られる第２の埋め込み符号化データとしての画像データは、復元部５１に供給される。
【０４０２】
復元部５１は、そこに供給される第２の埋め込み符号化データを、図３８の埋め込み器４３における場合と同様のビットプレーンスワップ方式により操作し、これにより、仮の第１の埋め込み符号化データと、仮の被埋め込みデータを復元する。さらに、復元部５１は、仮の第１の埋め込み符号化データを、復元部５２に供給するとともに、仮の被埋め込みデータを、被埋め込みデータ用バッファ５５に供給する。
【０４０３】
また、復元部５１は、第２の埋め込み符号化データを、ビットプレーンスワップ方式により操作したときの、その操作の仕方（操作パターン）（どのように、ビットプレーンを入れ替えたか）を表す情報（以下、適宜、操作情報という）を生成し、その操作情報を、操作情報用バッファ５８に供給する。
【０４０４】
なお、復元部５１は、第２の埋め込み符号化データの、ビットプレーンスワップ方式による操作を、後述する判定制御部５６の制御にしたがい、操作情報用バッファ５８に記憶された操作情報を、スイッチ５９を介して参照しながら行う。
【０４０５】
即ち、復元部５１は、ある第２の埋め込み符号化データを受信した場合、最初は、その第２の埋め込み符号化データに対して、ビットプレーンスワップ方式による所定の操作を施すことにより、ビットプレーンを、ある並びに並べ替える。そして、復元部５１は、その操作に対応する操作情報（ここでは、例えば、ビットプレーンの並べ替え方）を、操作情報用バッファ５８に供給して記憶させる。
【０４０６】
その後、復元部５１は、判定制御部５６から、再度の復元処理の要求を表す再処理指示信号を受信すると、スイッチ５９を介して、操作情報用バッファ５８に記憶された操作情報を参照することで、それまでに第２の埋め込み符号化データに対して施したビットプレーンスワップ方式による操作を認識し、その認識した操作以外のビットプレーンスワップ方式による操作を、第２の埋め込み符号化データに施す。これにより、復元部５１は、それまでに復元した仮の第１の埋め込み符号化データとは異なる仮の第１の埋め込み符号化データを、新たに復元する。
【０４０７】
復元部５２は、復元部５１から供給される仮の第１の埋め込み符号化データを、図３８の埋め込み器４２における場合と同様のラインローテーション方式により操作し、これにより、仮の埋め込み対象データと、仮の原特徴データを復元する。さらに、復元部５２は、仮の埋め込み対象データを、埋め込み対象データ用バッファ５３および特徴抽出部５４に供給するとともに、仮の原特徴データを、判定制御部５６に供給する。
【０４０８】
埋め込み対象データ用バッファ５３は、復元部５２から供給される仮の埋め込み対象データとしての仮復元画像データを、順次、上書きする形で記憶する。
【０４０９】
特徴抽出部５４は、図３２の特徴抽出部２３と同様に構成され、復元部５２から供給される仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、仮復元特徴データとして、判定制御部５６に供給する。
【０４１０】
被埋め込みデータ用バッファ５５は、復元部５１から供給される被埋め込みデータを、順次上書きする形で記憶する。
【０４１１】
判定制御部５６は、図３４の判定制御部３５と同様に、復元部５２から供給される仮の原特徴データと、特徴抽出部５４から供給される仮復元特徴データの一致性を判定し、その判定結果に基づいて、復元部５１における復元処理その他を制御する。
【０４１２】
即ち、判定制御部５６は、仮の原特徴データと仮復元特徴データとの一致性に基づいて、復元部５１、スイッチ５７、およびスイッチ５９乃至６１を制御する。
【０４１３】
スイッチ５７は、判定制御部５６の制御にしたがい、端子５７Ａまたは５７Ｂを選択する。操作情報用バッファ５８は、復元部５１から供給される操作情報を、一時記憶する。
【０４１４】
スイッチ５９，６０，６１は、判定制御部５６の制御にしたがい、オン／オフする。なお、スイッチ５９がオン状態となることにより、復元部５１が操作情報用バッファ５８に記憶された操作情報を参照可能な状態となる。また、スイッチ６０がオン状態となることにより、埋め込み対象データ用バッファ５３に記憶された埋め込み対象データが出力可能な状態となる。さらに、スイッチ６１がオン状態となることにより、被埋め込みデータ用バッファ５５に記憶された被埋め込みデータが出力可能な状態となる。
【０４１５】
ここで、スイッチ５９乃至６１は、判定制御部５６によって特に制御されない限り、デフォルトで、オフ状態となるようになっている。
【０４１６】
次に、図４１のフローチャートを参照して、図４０の復元器６による復元処理について説明する。
【０４１７】
まず最初に、ステップＳ１９１において、第２の埋め込み符号化データとしての１フレームの画像データが、復元部５１に供給され、復元部５１は、その第２の埋め込み符号化データを受信する。さらに、ステップＳ１９１では、埋め込み対象データ用バッファ５３、被埋め込みデータ用バッファ５５、および操作情報用バッファ５８が、その記憶内容をクリアし、ステップＳ１９２に進む。
【０４１８】
ステップＳ１９２では、復元部５１は、そこに供給される第２の埋め込み符号化データを、図３８の埋め込み器４３における場合と同様のビットプレーンスワップ方式により操作し、これにより、各画像ブロックのビットプレーンをある並びに並べ替えた画像データである仮の第１の埋め込み符号化データと、仮の被埋め込みデータを復元する。そして、復元部５１は、仮の第１の埋め込み符号化データを、復元部５２に供給するとともに、仮の被埋め込みデータを、被埋め込みデータ用バッファ５５に供給し、上書きする形で記憶させる。さらに、ステップＳ１９２では、復元部５１は、第２の埋め込み符号化データを、ビットプレーンスワップ方式により操作したときの、その操作の仕方を表す操作情報を生成し、その操作情報を、操作情報用バッファ５８に供給して記憶させ、ステップＳ１９３に進む。
【０４１９】
ステップＳ１９３では、復元部５２は、復元部５１から供給される仮の第１の埋め込み符号化データを、図３８の埋め込み器４２における場合と同様のラインローテーション方式により操作し、これにより、水平ラインおよび垂直ラインを、その相関が最も高くなる位置にローテーションした仮の埋め込み対象データと、仮の原特徴データを復元する。そして、復元部５２は、仮の埋め込み対象データを、埋め込み対象データ用バッファ５３に供給し、上書きする形で記憶させる。さらに、復元部５２は、仮の埋め込み対象データを、特徴抽出部５４に供給するとともに、仮の原特徴データを、判定制御部５６に供給し、ステップＳ１９４に進む。
【０４２０】
ステップＳ１９４では、特徴抽出部５４は、復元部５２から供給される仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、仮復元特徴データとして、判定制御部５６に供給して、ステップＳ１９５に進む。
【０４２１】
ステップＳ１９５では、判定制御部５６は、復元部５２から供給される仮の原特徴データと、特徴抽出部５４から供給される仮復元特徴データとを比較し、ステップＳ１９６に進む。ステップＳ１９６では、判定制御部５６は、ステップＳ１９５における仮の原特徴データと仮復元特徴データとの比較結果に基づいて、それらの一致性を判定する。
【０４２２】
ステップＳ１９６において、仮の原特徴データと仮復元特徴データとが一致していないと判定された場合、ステップＳ１９７に進み、判定制御部５６は、復元部５１と、スイッチ５７およびスイッチ５９乃至６１を制御する。
【０４２３】
即ち、判定制御部５６は、スイッチ５７に端子５７Ａを選択させるとともに、再処理指示信号を生成して出力する。これにより、判定制御部５６が出力する再処理指示信号は、スイッチ５７および端子５７Ａを介して、復元部５１およびスイッチ５９に供給される。
【０４２４】
スイッチ５９は、再処理指示信号を受信すると、デフォルトの状態であるオフ状態からオン状態となり、これにより、復元部５１は、スイッチ５９を介して、操作情報用バッファ５８の参照が可能な状態となる。
【０４２５】
また、復元部５１は、再処理指示信号を受信すると、スイッチ５９を介して、操作情報用バッファ５８に記憶された操作情報を参照し、第２の埋め込み符号化データに対して、まだ行っていないビットプレーンスワップの仕方を認識する。そして、復元部５１は、その認識したビットプレーンスワップの仕方のうちのいずれか１つを選択し、ステップＳ１９２に戻る。
【０４２６】
ステップＳ１９２では、復元部５１は、ステップＳ１９７で選択したビットプレーンスワップの仕方にしたがい、第２の埋め込み符号化データを操作し、これにより、その第２の埋め込み符号化データについては、それまでとは別の仮の第１の埋め込み符号化データと、仮の被埋め込みデータが、新たに復元される。そして、ステップＳ１９３に進み、復元部５２において、復元部５１で復元された新たな仮の第１の埋め込み符号化データが、ラインローテーション方式により操作され、これにより、やはり、それまでとは別の仮の埋め込み対象データと、仮の原特徴データが、新たに復元され、以下、同様の処理が繰り返される。
【０４２７】
一方、ステップＳ１９６において、仮の原特徴データと仮復元特徴データとが一致すると判定された場合、即ち、仮の埋め込み対象データが、元の埋め込み対象データに正確に復元されており、従って、仮の原特徴データも、元の埋め込み対象データから得られる原特徴データに正確に復元されている結果、その仮の原特徴データと仮復元特徴データとが一致する場合、ステップＳ１９８に進み、判定制御部５６は、スイッチ５７，６０、および６１を制御する。
【０４２８】
即ち、判定制御部５６は、スイッチ５７に端子５７Ｂを選択させるとともに、出力指示信号を生成して出力する。これにより、判定制御部５６が出力する出力指示信号は、スイッチ５７および端子５７Ｂを介して、スイッチ６０および６１に供給される。
【０４２９】
スイッチ６０および６１は、出力指示信号を受信すると、一時、オフ状態からオン状態になり、ステップＳ１９９に進み、埋め込み対象データ用バッファ５３の記憶内容が、スイッチ６０を介して読み出されるとともに、被埋め込み対象データ用バッファ５５の記憶内容が、スイッチ６１を介して読み出され、処理を終了する。
【０４３０】
即ち、埋め込み対象データ用バッファ５３では、復元部５２が、新たな仮の埋め込み対象データを出力するたびに、その新たな仮の埋め込み対象データが、上書きする形で記憶される。また、被埋め込みデータ用バッファ５５でも、復元部５１が新たな仮の被埋め込みデータを出力するたびに、その新たな仮の被埋め込みデータが、上書きする形で記憶される。
【０４３１】
一方、仮の原特徴データと仮復元特徴データとが一致する場合というのは、上述したように、復元部５２が出力する仮の埋め込み対象データが、元の埋め込み対象データとして正確に復元されており、さらに、復元部５１が出力する仮の被埋め込みデータも、元の被埋め込みデータとして正確に復元されている。
【０４３２】
従って、仮の原特徴データと仮復元特徴データとが一致する場合には、埋め込み対象データ用バッファ５３には、正確に復元された埋め込み対象データが記憶されており、被埋め込みデータ用バッファ５５にも、正確に復元された被埋め込みデータが記憶されている。その結果、ステップＳ１９９では、埋め込み対象データ用バッファ５３から、スイッチ６０を介して、正確に復元された埋め込み対象データが読み出されるとともに、被埋め込み対象データ用バッファ５５から、スイッチ６１を介して、正確に復元された被埋め込みデータが読み出されることになる。
【０４３３】
なお、図４１の処理は、第２の埋め込み符号化データが新たに供給されるごとに繰り返し行われる。
【０４３４】
次に、上述の場合には、図３７Ａで説明したように、埋め込み対象データとしての画像データに対する最初の埋め込み処理において、その画像データから抽出した特徴データのみを埋め込むようにしたが、この最初の埋め込み処理では、特徴データの他、任意のデータとしての被埋め込みデータも埋め込むことが可能である。
【０４３５】
即ち、例えば、いま、最初の埋め込み処理で埋め込まれる被埋め込みデータを、第１の埋め込みデータというとともに、２回目の埋め込み処理で埋め込まれる被埋め込みデータを、第２の埋め込みデータというものとすると、埋め込み符号化器３では、例えば、図４２Ａに示すように、埋め込み対象データとしての画像データから特徴データが抽出され、第１の被埋め込みデータが、所定の操作ルールにしたがい、特徴データに対応して操作されることにより、第１の被埋め込みデータに、特徴データが埋め込まれる。
【０４３６】
具体的には、例えば、第１の被埋め込みデータが画像データであるとすると、埋め込み符号化器３は、その第１の被埋め込みデータとしての画像データを、例えば、ラインローテーション方式により、特徴データに対応して操作する埋め込み処理を行う。これにより、第１の被埋め込みデータとしての画像データに、特徴データが埋め込まれ、埋め込み符号化データが生成される。ここで、第１の被埋め込みデータに対して、特徴データを埋め込むことにより得られる埋め込み符号化データを、以下、適宜、特徴埋め込みデータという。
【０４３７】
その後、埋め込み符号化器３は、埋め込み対象データとしての画像データを、例えば、ラインローテーション方式により、特徴埋め込みデータに対応して操作する埋め込み処理（埋め込み対象データに対する最初の埋め込み処理）を行う。これにより、埋め込み対象データとしての画像データに、特徴埋め込みデータが埋め込まれ、第１の埋め込み符号化データが生成される。
【０４３８】
そして、埋め込み符号化器３では、図３７Ａで説明したように、第１の埋め込み符号化データとしての画像データを、最初の埋め込み処理におけるラインローテーション方式による操作と重複しない操作を行う、例えば、ビットプレーンスワップ方式により、第２の被埋め込みデータに対応して操作する埋め込み処理（埋め込み対象データに対する２回目の埋め込み処理）が行われる。これにより、第１の埋め込み符号化データ（特徴埋め込みデータが埋め込まれた埋め込み対象データ）としての画像データに、第２の被埋め込みデータが埋め込まれ、第２の埋め込み符号化データが生成される。
【０４３９】
なお、ここでは、第１の被埋め込みデータに対する特徴データの埋め込みと、埋め込み対象データに対する特徴埋め込みデータの埋め込みを、いずれも、ラインローテーション方式により行うこととしたが、第１の被埋め込みデータに対する特徴データの埋め込みと、埋め込み対象データに対する特徴埋め込みデータの埋め込みについては、ラインローテーション方式以外の方式（例えば、上述の画素スワップ方式など）を採用することが可能である。また、第１の被埋め込みデータに対する特徴データの埋め込みの方式と、埋め込み対象データに対する特徴埋め込みデータの埋め込みの方式とは、同一の方式である必要はなく、異なる方式（例えば、画素スワップ方式とラインローテーション方式など）を採用することが可能である。
【０４４０】
一方、復元器６では、図４２Ｂに示すように、第２の埋め込み符号化データに対して、図３７Ｂで説明した場合と同様に、埋め込み符号化器３における２回目の埋め込み処理と同一のビットプレーンスワップ方式による復元処理としての操作が施され、これにより、仮の第１の埋め込み符号化データと、仮の第２の被埋め込みデータが復元される。
【０４４１】
さらに、復元器６は、仮の第１の埋め込み符号化データに対して、埋め込み符号化器３における最初の埋め込み処理と同一のラインローテーション方式による復元処理としての操作を施し、これにより、仮の埋め込み対象データと、仮の特徴埋め込みデータを復元する。
【０４４２】
その後、復元器６は、仮の特徴埋め込みデータに対して、埋め込み符号化器３が第１の被埋め込みデータとしての画像データに特徴データを埋め込んだのと同一の方式（ここでは、上述したように、ラインローテーション方式）による復元処理としての操作を施し、これにより、仮の第１の被埋め込みデータと、仮の原特徴データを復元する。
【０４４３】
そして、復元器６は、仮の埋め込み対象データから、特徴データ（仮復元特徴データ）を抽出し、仮の原特徴データと比較することで、仮の原特徴データと仮復元特徴データとの一致性を判定する。
【０４４４】
仮の原特徴データと仮復元特徴データとが一致していない場合、復元器６は、仮の第１の埋め込み符号化データが、正確に、元の第１の埋め込み符号化データに復元されていないとして、第２の埋め込み符号化データに対して、ビットプレーンスワップ方式による復元処理としての他の操作を施し、これにより、新たに、仮の第１の埋め込み符号化データと、仮の第２の被埋め込みデータを復元する。
【０４４５】
さらに、復元器６は、新たな仮の第１の埋め込み符号化データに対して、埋め込み符号化器３における最初の埋め込み処理と同一のラインローテーション方式による復元処理としての操作を施し、これにより、新たに、仮の埋め込み対象データと、仮の特徴埋め込みデータを復元する。また、復元器６は、続けて、仮の特徴埋め込みデータに対して、ラインローテーション方式による復元処理としての操作を施し、これにより、新たに、仮の第１の被埋め込みデータと、仮の原特徴データを復元する。
【０４４６】
そして、復元器６は、新たな仮の埋め込み対象データから、特徴データ（仮復元特徴データ）を抽出し、新たな仮の原特徴データと比較することで、その仮の原特徴データと仮復元特徴データとの一致性を判定する。
【０４４７】
仮の原特徴データと仮復元特徴データとが一致していない場合、復元器６は、上述の場合と同様の処理を繰り返す。
【０４４８】
一方、仮の原特徴データと仮復元特徴データとが一致している場合、復元器６は、そのときに得られている仮の埋め込み対象データと、仮の第１および第２の被埋め込みデータを、正確な復元結果とし、処理を終了する。
【０４４９】
次に、図４３は、図４２Ａで説明した埋め込み処理を行う図２の埋め込み符号化器３の構成例を示している。なお、図中、図３８における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図４３の埋め込み符号化器３は、埋め込み器４４が新たに設けられている他は、基本的に、図３８における場合と同様に構成されている。
【０４５０】
図４３の実施の形態においては、埋め込み対象データは、特徴抽出部４１と埋め込み器４２に供給されるようになっている。また、第１の被埋め込みデータは、埋め込み器４４に、第２の被埋め込みデータは、埋め込み器４３に供給されるようになっている。
【０４５１】
そして、特徴抽出部４１が出力する特徴データは、埋め込み器４４に供給されるようになっており、埋め込み器４４は、第１の被埋め込みデータ（ここでは、上述したように、画像データ）を、ラインローテーション方式により、特徴データに対応して操作する埋め込み処理を行い、これにより、第１の被埋め込みデータに対して特徴データを埋め込んだ特徴埋め込みデータを生成し、埋め込み器４２に供給する。
【０４５２】
次に、図４４のフローチャートを参照して、図４３の埋め込み符号化器３による埋め込み処理について説明する。
【０４５３】
まず最初に、ステップＳ２０１において、埋め込み対象データベース１（図２）に記憶された埋め込み対象データとしての１フレームの画像データが、特徴抽出部４１と埋め込み器４２に供給される。さらに、ステップＳ２０１では、被埋め込みデータベース２（図２）に記憶された被埋め込みデータのうちのあるものが、第１の被埋め込みデータとして、埋め込み器４４に供給されるとともに、他の被埋め込みデータが、第２の被埋め込みデータとして、埋め込み器４３に供給され、ステップＳ２０２に進む。
【０４５４】
ステップＳ２０２では、特徴抽出部４１が、そこに供給される埋め込み対象データとしての１フレームの画像データから、特徴データを抽出し、埋め込み器４４に供給して、ステップＳ２０３に進む。
【０４５５】
ステップＳ２０３では、埋め込み器４４が、被埋め込みデータベース２（図２）から供給される第１の被埋め込みデータを、特徴抽出部４１から供給される特徴データに対応して、ラインローテーション方式により操作する。これにより、埋め込み器４４は、第１の被埋め込みデータに対して特徴データを埋め込んだ特徴埋め込みデータを生成し、埋め込み器４２に供給して、ステップＳ２０４に進む。
【０４５６】
ステップＳ２０４では、埋め込み器４２が、埋め込み対象データベース１（図２）から供給される埋め込み対象データとしての１フレームの画像データを、埋め込み器４４から供給される特徴埋め込みデータに対応して、ラインローテーション方式により操作し、これにより、埋め込み対象データとしての画像データに特徴埋め込みデータを埋め込む。この埋め込みによって得られる第１の埋め込み符号化データは、埋め込み器４２から４３に供給され、ステップＳ２０５に進む。
【０４５７】
ステップＳ２０５では、埋め込み器４３が、埋め込み器４２から供給される第１の埋め込み符号化データとしての１フレームの画像データを、被埋め込みデータベース２から供給される第２の被埋め込みデータに対応して、ビットプレーンスワップ方式により操作し、これにより、第１の埋め込み符号化データとして画像データに第２の被埋め込みデータを埋め込む。埋め込み器４３は、ステップＳ２０６において、この埋め込みによって得られる第２の埋め込み符号化データを、最終的な埋め込みデータとして出力し、処理を終了する。
【０４５８】
なお、図４４の処理は、埋め込み対象データベース１に記憶された埋め込み対象データとしての画像データの各フレームについて、繰り返し行われる。
【０４５９】
次に、図４５は、図４２Ｂで説明した復元処理を行う図２の復元器６の構成例を示している。なお、図中、図４０における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図４５の復元器６は、スイッチ６２、被埋め込みデータバッファ６３、および復元部６４が新たに設けられている他は、基本的に、図４０における場合と同様に構成されている。
【０４６０】
図４５の実施の形態では、復元部５１は、そこに供給される第２の埋め込み符号化データを、図４３の埋め込み器４３における場合と同様のビットプレーンスワップ方式により操作し、これにより、仮の第１の埋め込み符号化データと、仮の第２の被埋め込みデータを復元する。さらに、復元部５１は、仮の第１の埋め込み符号化データを、復元部５２に供給するとともに、仮の第２の被埋め込みデータを、被埋め込みデータ用バッファ５５に供給する。
【０４６１】
復元部５２は、復元部５１から供給される仮の第１の埋め込み符号化データを、図４３の埋め込み器４２における場合と同様のラインローテーション方式により操作し、これにより、仮の埋め込み対象データと、仮の特徴埋め込みデータを復元する。さらに、復元部５２は、仮の埋め込み対象データを、埋め込み対象データ用バッファ５３および特徴抽出部５４に供給するとともに、仮の特徴埋め込みデータを、復元部６４に供給する。
【０４６２】
被埋め込みデータ用バッファ５５は、復元部５１から供給される第１の被埋め込みデータを上書きする形で記憶する。
【０４６３】
判定制御部５６は、復元部６４から供給される仮の原特徴データと、特徴抽出部５４から供給される仮復元特徴データの一致性を判定し、その判定結果に基づいて、復元部５１における復元処理その他を制御する。
【０４６４】
即ち、判定制御部５６は、仮の原特徴データと仮復元特徴データとの一致性に基づいて、復元部５１、スイッチ５７、およびスイッチ５９乃至６２を制御する。
【０４６５】
スイッチ６２は、判定制御部５６の制御にしたがってオン／オフする。なお、スイッチ６２がオン状態となることにより、被埋め込みデータ用バッファ６３に記憶された被埋め込みデータが出力可能な状態となる。また、スイッチ６２は、図４０で説明したスイッチ５９乃至６１と同様に、判定制御部５６によって特に制御されない限り、デフォルトで、オフ状態となるようになっている。
【０４６６】
被埋め込みデータ用バッファ６３は、復元部６４が出力する仮の第１の被埋め込みデータを、上書きする形で記憶する。
【０４６７】
復元部６４は、復元部５２から供給される特徴埋め込みデータを、図４３の埋め込み器４４における場合と同様のラインローテーション方式により操作し、これにより、仮の第１の被埋め込みデータと、仮の原特徴データを復元する。さらに、復元部６４は、仮の第１の被埋め込みデータを、被埋め込みデータ用バッファ６３に供給するとともに、仮の原特徴データを、判定制御部５６に供給する。
【０４６８】
次に、図４６のフローチャートを参照して、図４５の復元器６による復元処理について説明する。
【０４６９】
まず最初に、ステップＳ２１１において、第２の埋め込み符号化データとしての１フレームの画像データが、復元部５１に供給され、復元部５１は、その第２の埋め込み符号化データを受信する。さらに、ステップＳ２１１では、埋め込み対象データ用バッファ５３、被埋め込みデータ用バッファ５５、操作情報用バッファ５８、および被埋め込みデータ用バッファ６３が、その記憶内容をクリアし、ステップＳ２１２に進む。
【０４７０】
ステップＳ２１２では、復元部５１は、そこに供給される第２の埋め込み符号化データを、ビットプレーンスワップ方式により操作し、これにより、仮の第１の埋め込み符号化データと、仮の第１の被埋め込みデータを復元する。そして、復元部５１は、仮の第１の埋め込み符号化データを、復元部５２に供給するとともに、仮の第１の被埋め込みデータを、被埋め込みデータ用バッファ５５に供給し、上書きする形で記憶させる。さらに、ステップＳ２１２では、復元部５１は、第２の埋め込み符号化データを、ビットプレーンスワップ方式により操作したときの、その操作の仕方を表す操作情報を生成し、その操作情報を、操作情報用バッファ５８に供給して記憶させ、ステップＳ２１３に進む。
【０４７１】
ステップＳ２１３では、復元部５２は、復元部５１から供給される仮の第１の埋め込み符号化データを、ラインローテーション方式により操作し、これにより、仮の埋め込み対象データと、仮の特徴埋め込みデータを復元する。そして、復元部５２は、仮の埋め込み対象データを、埋め込み対象データ用バッファ５３に供給し、上書きする形で記憶させる。さらに、復元部５２は、仮の埋め込み対象データを、特徴抽出部５４に供給するとともに、仮の特徴埋め込みデータを、復元部６４に供給し、ステップＳ２１４に進む。
【０４７２】
ステップＳ２１４では、復元部６４が、復元部５２から供給される仮の特徴埋め込みデータを、ラインローテーション方式により操作し、これにより、仮の第１の被埋め込みデータと、仮の原特徴データを復元する。そして、復元部６４は、仮の第１の被埋め込みデータを、被埋め込みデータ用バッファ６３に供給し、上書きする形で記憶させる。さらに、復元部６４は、仮の原特徴データを、判定制御部５６に供給する。
【０４７３】
ステップＳ２１４では、復元部６４で上述の処理が行われるのと並行して、特徴抽出部５４が、復元部５２から供給される仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、仮復元特徴データとして、判定制御部５６に供給して、ステップＳ２１５に進む。
【０４７４】
ステップＳ２１５では、判定制御部５６は、復元部６４から供給される仮の原特徴データと、特徴抽出部５４から供給される仮復元特徴データとを比較し、ステップＳ２１６に進む。ステップＳ２１６では、判定制御部５６は、ステップＳ２１５における仮の原特徴データと仮復元特徴データとの比較結果に基づいて、それらの一致性を判定する。
【０４７５】
ステップＳ２１６において、仮の原特徴データと仮復元特徴データとが一致していないと判定された場合、ステップＳ２１７に進み、判定制御部５６は、復元部５１と、スイッチ５７およびスイッチ５９乃至６２を制御する。
【０４７６】
即ち、判定制御部５６は、スイッチ５７に端子５７Ａを選択させるとともに、再処理指示信号を生成して出力する。これにより、判定制御部５６が出力する再処理指示信号は、スイッチ５７および端子５７Ａを介して、復元部５１およびスイッチ５９に供給される。
【０４７７】
スイッチ５９は、再処理指示信号を受信すると、デフォルトの状態であるオフ状態からオン状態となり、これにより、復元部５１は、スイッチ５９を介して、操作情報用バッファ５８の参照が可能な状態となる。
【０４７８】
また、復元部５１は、再処理指示信号を受信すると、スイッチ５９を介して、操作情報用バッファ５８に記憶された操作情報を参照し、第２の埋め込み符号化データに対して、まだ行っていないビットプレーンスワップの仕方を認識する。そして、復元部５１は、その認識したビットプレーンスワップの仕方のうちのいずれか１つを選択し、ステップＳ２１２に戻る。
【０４７９】
ステップＳ２１２では、復元部５１は、ステップＳ２１７で選択したビットプレーンスワップの仕方にしたがい、第２の埋め込み符号化データを操作し、これにより、その第２の埋め込み符号化データについては、それまでとは別の仮の第１の埋め込み符号化データと、仮の第１の被埋め込みデータが、新たに復元される。そして、ステップＳ２１３に進み、復元部５２では、復元部５１で復元された新たな仮の第１の埋め込み符号化データが、ラインローテーション方式により操作され、これにより、やはり、それまでとは別の仮の埋め込み対象データと、仮の特徴埋め込みデータが、新たに復元され、ステップＳ２１４に進む。
【０４８０】
ステップＳ２１４では、復元部６４が、復元部５２から供給される新たな仮の特徴埋め込みデータを、ラインローテーション方式により操作し、これにより、新たな仮の第１の被埋め込みデータと、仮の原特徴データを復元する。さらに、ステップＳ２１４では、特徴抽出部５４が、復元部５２から供給される新たな仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、以下、同様の処理が繰り返される。
【０４８１】
一方、ステップＳ２１６において、仮の原特徴データと仮復元特徴データとが一致すると判定された場合、即ち、仮の埋め込み対象データが、元の埋め込み対象データに正確に復元されており、従って、仮の原特徴データも、元の埋め込み対象データから得られる原特徴データに正確に復元されている結果、その仮の原特徴データと仮復元特徴データとが一致する場合、ステップＳ２１８に進み、判定制御部５６は、スイッチ５７，６０，６１、および６２を制御する。
【０４８２】
即ち、判定制御部５６は、スイッチ５７に端子５７Ｂを選択させるとともに、出力指示信号を生成して出力する。これにより、判定制御部５６が出力する出力指示信号は、スイッチ５７および端子５７Ｂを介して、スイッチ６０乃至６２に供給される。
【０４８３】
スイッチ６０乃至６２は、出力指示信号を受信すると、一時、オフ状態からオン状態になり、ステップＳ２１９に進み、埋め込み対象データ用バッファ５３の記憶内容が、スイッチ６０を介して、被埋め込み対象データ用バッファ５５の記憶内容が、スイッチ６１を介して、被埋め込み対象データ用バッファ６３の記憶内容が、スイッチ６２を介して、それぞれ読み出され、処理を終了する。
【０４８４】
即ち、埋め込み対象データ用バッファ５３では、復元部５２が、新たな仮の埋め込み対象データを出力するたびに、その新たな仮の埋め込み対象データが、上書きする形で記憶される。また、被埋め込みデータ用バッファ５５でも、復元部５１が新たな仮の第２の被埋め込みデータを出力するたびに、その新たな仮の第２の被埋め込みデータが、上書きする形で記憶される。さらに、図４５の実施の形態では、被埋め込みデータ用バッファ６３において、復元部６４が新たな仮の第１の被埋め込みデータを出力するたびに、その新たな仮の第１の被埋め込みデータが、上書きする形で記憶される。
【０４８５】
一方、仮の原特徴データと仮復元特徴データとが一致する場合というのは、上述したように、復元部５２が出力する仮の埋め込み対象データが、元の埋め込み対象データとして正確に復元されており、さらに、復元部５１が出力する仮の第２の被埋め込みデータも、復元部６４が出力する仮の第１の被埋め込みデータも、元の被埋め込みデータとして正確に復元されている。
【０４８６】
従って、仮の原特徴データと仮復元特徴データとが一致する場合には、埋め込み対象データ用バッファ５３には、正確に復元された埋め込み対象データが記憶されており、被埋め込みデータ用バッファ５５と６３にも、正確に復元された第２の被埋め込みデータと第１の被埋め込みデータがそれぞれ記憶されている。その結果、ステップＳ２１９では、埋め込み対象データ用バッファ５３から、スイッチ６０を介して、正確に復元された埋め込み対象データが読み出されるとともに、被埋め込み対象データ用バッファ５５と６３から、スイッチ６１と６２を介して、正確に復元された第２と第１の被埋め込みデータがそれぞれ読み出されることになる。
【０４８７】
以上のように、埋め込み対象データに対して被埋め込みデータを埋め込むとともに、その埋め込み対象データの特徴データを統合するようにしたので、その統合された特徴データ（原特徴データ）と、復元された埋め込み対象データから得られる特徴データ（仮復元特徴データ）との一致性に基づき、埋め込み対象データが、正確に元に復元されているかどうかを認識することができる。そして、その結果、埋め込み対象データに対して、第１の被埋め込みデータを埋め込み、さらに、第２に被埋め込みデータを埋め込んだ場合であっても、埋め込み対象データ、並びに第１および第２の被埋め込みデータを、元に復元することができる。即ち、多くのデータの埋め込みと、その復元が可能となる。
【０４８８】
なお、図４３の埋め込み符号化器３では、埋め込み部４２や４３において、固定の方式による埋め込み処理を行うようにしたが、埋め込み部４２や４３では、あらかじめ決定された幾つかの方式（例えば、上述した、画素スワップ方式、ラインローテーション方式、およびビットプレーンスワップ方式など）の中から任意の方式を選択し、その選択した方式による埋め込み処理を行うようにすることが可能である。
【０４８９】
この場合、図４５の復元器６では、判定制御部５６において、特徴データの一致性がない場合に、上述のあらかじめ決定された幾つかの方式を、順次選択し、その選択した方式による復元処理を採用するように、復元部５１や５２を制御するようにすることで、埋め込み対象データと被埋め込みデータの復元が可能となる。
【０４９０】
次に、図３７の実施の形態では、最初の埋め込み処理において、特徴データを、ラインローテーション方式により埋め込み、２回目の埋め込み処理において、被埋め込みデータを、ラインローテーション方式とは異なるビットプレーンスワップ方式により埋め込むようにしたが、特徴データと、被埋め込みデータとは、同一の方式による埋め込み処理で埋め込むことが可能である。
【０４９１】
即ち、この場合、埋め込み符号化器３では、図４７Ａに示すように、埋め込み対象データとしての画像データが、例えば、ラインローテーション方式により、特徴データと被埋め込みデータに対応して操作され、埋め込み符号化データとされる。具体的には、埋め込み符号化器３は、埋め込み対象データとしての画像データの水平ラインを、特徴データに対応してローテーションし、さらに、その垂直ラインを、被埋め込みデータに対応してローテーションすることにより、埋め込み対象データに、特徴データおよび被埋め込みデータを埋め込んだ埋め込み符号化データを生成する。
【０４９２】
一方、この場合、復元器６では、図４７Ｂに示すように、埋め込み符号化データとしての画像データの水平ラインと垂直ラインが、図３１Ｂで説明したようにローテーションされることにより元の位置に戻され、これにより、埋め込み対象データ、原特徴データ、および被埋め込みデータが復元される。
【０４９３】
さらに、復元器６は、復元した埋め込み対象データから、特徴データを抽出する。そして、復元器６は、その抽出した特徴データと、復元した原特徴データとの一致性を判定し、その判定結果に基づいて、埋め込み符号化データを、埋め込み対象データ、原特徴データ、および被埋め込みデータに復元する復元処理を制御する。
【０４９４】
ところで、図４７の実施の形態では、特徴データと被埋め込みデータが、ラインローテーション方式により、埋め込み対象データに埋め込まれるから、図３１で説明したように、その埋め込みによって得られる埋め込み符号化データは、原理的には、埋め込み対象データとしての画像データの相関性を利用することで、埋め込み対象データ、原特徴データ、および被埋め込みデータに、正確に復元される。従って、基本的には、特徴データの一致性の判定結果に基づいて、復元処理を制御する必要はない。
【０４９５】
しかしながら、埋め込み符号化器３において得られた埋め込み符号化データに、何らかのエラー（外乱）が生じた場合には、復元器６において復元対象となる埋め込み符号化データは、埋め込み符号化器３で生成された埋め込み符号化データとは異なるものとなっていることがあり、そのような埋め込み符号化データは、埋め込み対象データとしての画像データの相関性を利用することだけでは、埋め込み対象データ、原特徴データ、および被埋め込みデータに、正確に復元することが困難なことがある。
【０４９６】
そこで、図４７Ｂの実施の形態では、上述したように、復元器６が、復元した埋め込み対象データから抽出された特徴データと、復元した原特徴データとの一致性を判定し、その判定結果に基づいて、埋め込み符号化データを、埋め込み対象データ、原特徴データ、および被埋め込みデータに復元する復元処理を制御し、これにより、埋め込み符号化データにエラーが生じている場合であっても、そのような埋め込み符号化データを、埋め込み対象データ、原特徴データ、および被埋め込みデータに、正確に復元することができるようになっている。
【０４９７】
即ち、図４８は、図４７Ａで説明した埋め込み処理を行う図２の埋め込み符号化器３の構成例を示している。なお、図中、図３８における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図４８の埋め込み符号化器３は、埋め込み器４３が設けられていない他は、図３８における場合と、基本的に同様に構成されている。
【０４９８】
図４８の実施の形態では、被埋め込みデータベース（図２）から供給される被埋め込みデータが、特徴抽出部４１が出力する特徴データとともに、埋め込み器４２に供給されるようになっている。そして、埋め込み器４２は、埋め込み対象データベース１（図２）から供給される埋め込み対象データとしての画像データの水平ラインを、特徴データに対応してローテーションし、さらに、その垂直ラインを、被埋め込みデータに対応してローテーションすることにより、埋め込み対象データに、特徴データおよび被埋め込みデータを埋め込んだ埋め込み符号化データを生成して出力する。
【０４９９】
次に、図４９のフローチャートを参照して、図４８の埋め込み符号化器３による埋め込み処理について説明する。
【０５００】
まず最初に、ステップＳ２２１において、埋め込み対象データベース１（図２）に記憶された埋め込み対象データとしての１フレームの画像データが、特徴抽出部４１と埋め込み器４２に供給されるとともに、被埋め込みデータベース２（図２）に記憶された被埋め込みデータが、埋め込み器４２に供給され、ステップＳ２２２に進む。
【０５０１】
ステップＳ２２２では、特徴抽出部４１が、そこに供給される埋め込み対象データとしての１フレームの画像データから、特徴データを抽出し、埋め込み器４２に供給して、ステップＳ２２３に進む。
【０５０２】
ステップＳ２２３では、埋め込み器４２が、埋め込み対象データベース１（図２）から供給される埋め込み対象データとしての１フレームの画像データを、特徴抽出部４１から供給される特徴データと、被埋め込みデータベース２（図２）から供給される被埋め込みデータに対応して、ラインローテーション方式により操作し、これにより、埋め込み対象データとしての画像データに、特徴データと被埋め込みデータを埋め込み、ステップＳ２２４に進む。ステップＳ２２４では、埋め込み器４２が、埋め込み符号化データを出力し、処理を終了する。
【０５０３】
なお、図４９の処理は、埋め込み対象データベース１に記憶された埋め込み対象データとしての画像データの各フレームについて、繰り返し行われる。
【０５０４】
次に、図５０は、図４７Ｂで説明した復元処理を行う図２の復元器６の構成例を示している。なお、図中、図４０における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図５０の復元器６は、復元部５１または操作情報用バッファ５８それぞれに代えて、値変更部７１または変更情報用バッファ７２が設けられている他は、図４０における場合と、基本的に同様に構成されている。
【０５０５】
図４８の埋め込み符号化器３で得られる埋め込み符号化データとしての画像データは、値変更部７１に供給される。
【０５０６】
値変更部７１は、そこに供給される埋め込み符号化データとしての画像データを構成する各画素の画素値を操作することにより、微小値だけ変更し、その画素値の変更された埋め込み符号化データ（以下、適宜、変更埋め込みデータという）を、復元部５２に供給する。ここで、値変更部７１が画素値を、どの程度の微小値だけ変更するかは、例えば、埋め込み符号化器３から復元器６間での間において、埋め込み符号化データに重畳され得るノイズの最大レベルに基づいて決定される。
【０５０７】
また、値変更部７１は、埋め込み符号化データとしての画像データを構成する各画素の画素値を、どのように変更したのかを表す情報（以下、適宜、変更情報という）を生成し、その変更情報を、変更情報用バッファ７２に供給する。
【０５０８】
なお、値変更部７１は、埋め込み符号化データとしての画像データを構成する各画素の画素値の変更を、判定制御部５６の制御にしたがい、変更情報用バッファ７２に記憶された変更情報を、スイッチ５９を介して参照しながら行う。
【０５０９】
即ち、値変更部７１は、ある埋め込み符号化データを受信した場合、最初は、例えば、その埋め込み符号化データとしての画像データの画素値を変更せずに（画素値に０を加算して）、そのまま、変更埋め込みデータとして出力する。そして、値変更部７１は、その埋め込み符号化データとしての画像データの画素値の変更に対応する変更情報を生成し、変更情報用バッファ７２に供給して記憶させる。なお、いまの場合は、埋め込み符号化データとしての画像データを構成する各画素について、画素値の変更が０である（画素値の変更が無い）旨の変更情報が生成される。
【０５１０】
その後、値変更部７１は、判定制御部５６から、再度の復元処理の要求を表す再処理指示信号を受信すると、スイッチ５９を介して、変更情報用バッファ７２に記憶された変更情報を参照することで、それまでに埋め込み符号化データに対して施した画素値の変更を認識し、その認識した変更以外の変更を、埋め込み符号化データに施す。これにより、値変更部７１は、それまでに得られていないパターンの画素値で構成される変更埋め込みデータとしての画像データを求める。
【０５１１】
復元部５２は、値変更部７１から供給される変更埋め込みデータとしての画像データを、図４８の埋め込み器４２における場合と同様のラインローテーション方式により操作し、これにより、仮の埋め込み対象データ、仮の原特徴データ、および仮の被埋め込みデータを復元する。
【０５１２】
即ち、復元部５２は、変更埋め込みデータとしての画像データの水平ラインを、埋め込み対象データとしての画像データの相関性を利用して、その相関が最大になる位置にローテーションするとともに、その垂直ラインを、やはり、埋め込み対象データとしての画像データの相関性を利用して、その相関が最大になる位置にローテーションすることで、仮の埋め込み対象データを復元する。さらに、復元部５２は、変更埋め込みデータとしての画像データの水平ラインのローテーションの仕方に基づいて、仮の原特徴データを復元するとともに、その垂直ラインのローテーションの仕方に基づいて、仮の被埋め込みデータを復元する。
【０５１３】
そして、復元部５２は、仮の埋め込み対象データを、埋め込み対象データ用バッファ５３および特徴抽出部５４に供給するとともに、仮の被埋め込みデータを、被埋め込みデータ用バッファ５５に供給する。さらに、復元部５２は、仮の原特徴データを、判定制御部５６に供給する。
【０５１４】
変更情報用バッファ７２は、値変更部７１から供給される変更情報を一時記憶する。
【０５１５】
次に、図５１のフローチャートを参照して、図５０の復元器６による復元処理について説明する。
【０５１６】
まず最初に、ステップＳ２３１において、埋め込み符号化データとしての１フレームの画像データが、値変更部７１に供給され、値変更部７１は、その埋め込み符号化データを受信する。さらに、ステップＳ２３１では、埋め込み対象データ用バッファ５３、被埋め込みデータ用バッファ５５、および変更情報用バッファ７２が、その記憶内容をクリアし、ステップＳ２３２に進む。
【０５１７】
ステップＳ２３２では、値変更部７１は、そこに供給される埋め込み符号化データとしての画像データを構成する画素の画素値を、微小値だけ変更し、これにより、変更埋め込みデータを得て、復元部５２に供給する。さらに、ステップＳ２３２では、値変更部７１は、埋め込み符号化データとしての画像データの画素値をどのように変更したかを表す変更情報を生成し、その変更情報を、変更情報用バッファ７２に供給して記憶させ、ステップＳ２３３に進む。
【０５１８】
ステップＳ２３３では、復元部５２は、値変更部７１から供給される変更埋め込みデータを、図４８の埋め込み器４２における場合と同様のラインローテーション方式により操作し、これにより、仮の埋め込み対象データ、仮の原特徴データ、および仮の被埋め込みデータを復元する。そして、復元部５２は、仮の埋め込み対象データを、埋め込み対象データ用バッファ５３に供給し、上書きする形で記憶させるとともに、仮の被埋め込みデータを、被埋め込みデータ用バッファ５５に供給し、上書きする形で記憶させる。さらに、復元部５２は、仮の埋め込み対象データを、特徴抽出部５４に供給するとともに、仮の原特徴データを、判定制御部５６に供給し、ステップＳ２３４に進む。
【０５１９】
ステップＳ２３４では、特徴抽出部５４は、復元部５２から供給される仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、仮復元特徴データとして、判定制御部５６に供給して、ステップＳ２３５に進む。
【０５２０】
ステップＳ２３５では、判定制御部５６は、復元部５２から供給される仮の原特徴データと、特徴抽出部５４から供給される仮復元特徴データとを比較し、ステップＳ２３６に進む。ステップＳ２３６では、判定制御部５６は、ステップＳ２３５における仮の原特徴データと仮復元特徴データとの比較結果に基づいて、それらの一致性を判定する。
【０５２１】
ステップＳ２３６において、仮の原特徴データと仮復元特徴データとが一致していないと判定された場合、ステップＳ２３７に進み、判定制御部５６は、値変更部７１と、スイッチ５７およびスイッチ５９乃至６１を制御する。
【０５２２】
即ち、判定制御部５６は、スイッチ５７に端子５７Ａを選択させるとともに、再処理指示信号を生成して出力する。これにより、判定制御部５６が出力する再処理指示信号は、スイッチ５７および端子５７Ａを介して、値変更部７１およびスイッチ５９に供給される。
【０５２３】
スイッチ５９は、再処理指示信号を受信すると、デフォルトの状態であるオフ状態からオン状態となり、これにより、値変更部７１は、スイッチ５９を介して、変更情報用バッファ７２の参照が可能な状態となる。
【０５２４】
また、値変更部７１は、再処理指示信号を受信すると、スイッチ５９を介して、変更情報用バッファ７２に記憶された変更情報を参照し、埋め込み符号化データとしての画像データに対して、まだ行っていない画素値の変更の仕方を認識する。そして、値変更部７１は、その認識した画素値の変更の仕方のうちのいずれか１つを選択し、ステップＳ２３２に戻る。
【０５２５】
ステップＳ２３２では、値変更部７１は、ステップＳ２３７で選択した画素値の変更の仕方にしたがい、埋め込み符号化データとしての画像データの画素値を変更し、これにより、その埋め込み符号化データについては、それまでとは別の画素値パターンになっている画像データとしての変更埋め込みデータを、新たに求める。そして、ステップＳ２３３に進み、復元部５２では、値変更部７１で求められた新たな変更埋め込みデータが、ラインローテーション方式により操作され、これにより、やはり、それまでとは別の仮の埋め込み対象データ、仮の原特徴データ、および仮の被埋め込みデータが、新たに復元され、以下、同様の処理が繰り返される。
【０５２６】
一方、ステップＳ２３６において、仮の原特徴データと仮復元特徴データとが一致すると判定された場合、即ち、仮の埋め込み対象データが、元の埋め込み対象データに正確に復元されており、従って、仮の原特徴データも、元の埋め込み対象データから得られる原特徴データに正確に復元されている結果、その仮の原特徴データと仮復元特徴データとが一致する場合、ステップＳ２３８に進み、判定制御部５６は、スイッチ５７，６０、および６１を制御する。
【０５２７】
即ち、判定制御部５６は、スイッチ５７に端子５７Ｂを選択させるとともに、出力指示信号を生成して出力する。これにより、判定制御部５６が出力する出力指示信号は、スイッチ５７および端子５７Ｂを介して、スイッチ６０および６１に供給される。
【０５２８】
スイッチ６０および６１は、出力指示信号を受信すると、一時、オフ状態からオン状態になり、ステップＳ２３９に進み、埋め込み対象データ用バッファ５３の記憶内容が、スイッチ６０を介して読み出されるとともに、被埋め込み対象データ用バッファ５５の記憶内容が、スイッチ６１を介して読み出され、処理を終了する。
【０５２９】
即ち、埋め込み対象データ用バッファ５３では、復元部５２が、新たな仮の埋め込み対象データを出力するたびに、その新たな仮の埋め込み対象データが、上書きする形で記憶される。また、被埋め込みデータ用バッファ５５でも、復元部５２が、新たな仮の被埋め込みデータを出力するたびに、その新たな仮の被埋め込みデータが、上書きする形で記憶される。
【０５３０】
一方、仮の原特徴データと仮復元特徴データとが一致する場合というのは、上述したように、復元部５２が出力する仮の埋め込み対象データと、仮の被埋め込みデータが、それぞれ、元の埋め込み対象データと元の被埋め込みデータとして正確に復元されている。
【０５３１】
従って、仮の原特徴データと仮復元特徴データとが一致する場合には、埋め込み対象データ用バッファ５３には、正確に復元された埋め込み対象データが記憶されており、被埋め込みデータ用バッファ５５にも、正確に復元された被埋め込みデータが記憶されている。その結果、ステップＳ２３９では、埋め込み対象データ用バッファ５３から、スイッチ６０を介して、正確に復元された埋め込み対象データが読み出されるとともに、被埋め込み対象データ用バッファ５５から、スイッチ６１を介して、正確に復元された被埋め込みデータが読み出されることになる。
【０５３２】
なお、図５１の処理は、埋め込み符号化データが新たに供給されるごとに繰り返し行われる。
【０５３３】
以上のように、復元器６では、復元した埋め込み対象データから抽出された特徴データと、復元した原特徴データとの一致性を判定し、その判定結果に基づいて、復元処理における、埋め込み符号化データとしての画像データの画素値の変更を制御するようにしたので、埋め込み符号化データにエラーが生じ、その埋め込み符号化データとしての画像データの画素値が変わってしまっている場合であっても、そのような埋め込み符号化データから、埋め込み対象データと被埋め込みデータを、正確に復元することができる。従って、この場合、エラーに対するロバスト性を向上させることができる。
【０５３４】
なお、上述の場合には、埋め込み対象データとしての画像データに対して、その特徴データと被埋め込みデータを埋め込むようにしたが、埋め込み対象データとしての画像データには、特徴データだけを埋め込むようにすることが可能である。
【０５３５】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０５３６】
そこで、図５２は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０５３７】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１０５やＲＯＭ１０３に予め記録しておくことができる。
【０５３８】
あるいはまた、プログラムは、フレキシブルディスク、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，  １０５  ハードディスク，  １０６  出力部，  １０７  入力部，  １０８  通信部，  １０９  ドライブ，  １１０  入出力インタフェース，  １１１  リムーバブル記録媒体
【図１】
2007028658.tif 000003
【図２】
2007028658.tif 000004
【図３】
2007028658.tif 000005
【図４】
2007028658.tif 000006
【図５】
2007028658.tif 000007
【図６】
2007028658.tif 000008
【図７】
2007028658.tif 000009
【図８】
2007028658.tif 000010
【図９】
2007028658.tif 000011
【図１０】
2007028658.tif 000012
【図１１】
2007028658.tif 000013
【図１２】
2007028658.tif 000014
【図１３】
2007028658.tif 000015
【図１４】
2007028658.tif 000016
【図１５】
2007028658.tif 000017
【図１６】
2007028658.tif 000018
【図１７】
2007028658.tif 000019
【図１８】
2007028658.tif 000020
【図１９】
2007028658.tif 000021
【図２０】
2007028658.tif 000022
【図２１】
2007028658.tif 000023
【図２２】
2007028658.tif 000024
【図２３】
2007028658.tif 000025
【図２４】
2007028658.tif 000026
【図２５】
2007028658.tif 000027
【図２６】
2007028658.tif 000028
【図２７】
2007028658.tif 000029
【図２８】
2007028658.tif 000030
【図２９】
2007028658.tif 000031
【図３０】
2007028658.tif 000032
【図３１】
2007028658.tif 000033
【図３２】
2007028658.tif 000034
【図３３】
2007028658.tif 000035
【図３４】
2007028658.tif 000036
【図３５】
2007028658.tif 000037
【図３６】
2007028658.tif 000038
【図３７】
2007028658.tif 000039
【図３８】
2007028658.tif 000040
【図３９】
2007028658.tif 000041
【図４０】
2007028658.tif 000042
【図４１】
2007028658.tif 000043
【図４２】
2007028658.tif 000044
【図４３】
2007028658.tif 000045
【図４４】
2007028658.tif 000046
【図４５】
2007028658.tif 000047
【図４６】
2007028658.tif 000048
【図４７】
2007028658.tif 000049
【図４８】
2007028658.tif 000050
【図４９】
2007028658.tif 000051
【図５０】
2007028658.tif 000052
【図５１】
2007028658.tif 000053
【図５２】
2007028658.tif 000054