JP3944821B2 - データ処理装置、データ処理方法、およびプログラム - Google Patents

データ処理装置、データ処理方法、およびプログラム Download PDF

Info

Publication number
JP3944821B2
JP3944821B2 JP2001320765A JP2001320765A JP3944821B2 JP 3944821 B2 JP3944821 B2 JP 3944821B2 JP 2001320765 A JP2001320765 A JP 2001320765A JP 2001320765 A JP2001320765 A JP 2001320765A JP 3944821 B2 JP3944821 B2 JP 3944821B2
Authority
JP
Japan
Prior art keywords
data
embedded
embedding
image
restoration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001320765A
Other languages
English (en)
Other versions
JP2003125193A (ja
Inventor
哲二郎 近藤
小林  直樹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2001320765A priority Critical patent/JP3944821B2/ja
Publication of JP2003125193A publication Critical patent/JP2003125193A/ja
Application granted granted Critical
Publication of JP3944821B2 publication Critical patent/JP3944821B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Television Systems (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ処理装置、データ処理方法、およびプログラムに関し、特に、例えば、画像データに対して、多くのデータを埋め込むとともに、そのデータが埋め込まれた画像データと、埋め込んだデータを復元すること等ができるようにするデータ処理装置、データ処理方法、並びにプログラムに関する。
【0002】
【従来の技術】
例えば、情報としてのあるデータ系列に対して、そのデータ量を増加させることなく、他の情報としての他のデータ系列を埋め込む手法としては、ディジタル音声データ(オーディオデータ)の最下位ビットや、下位2ビットなどを、埋め込む情報に変換するものなどがある。この手法は、ディジタル音声データの下位ビットが、その音質にあまり影響を与えないことを利用し、その下位ビットを、単に、他のデータ系列を構成するデータに置き換えるものであり、従って、再生時には、他のデータ系列が埋め込まれたディジタル音声データは、その下位ビットを元に戻さずに、そのまま出力される。即ち、この場合、他のデータ系列に変換された下位ビットを、元に戻すのは困難であり、また、下位ビットは、音質に、あまり影響を与えないことから、ディジタル音声データは、他のデータ系列が埋め込まれた状態で出力される。
【0003】
しかしながら、以上のような手法によれば、元の音声データと異なる音声データが出力される。即ち、元の音声データに埋め込まれた他のデータは、元の音声データにとっては、ノイズとなるから、他のデータが埋め込まれた音声データは、その音質が劣化したものとなる。
【0004】
また、音声データの他、画像データにも、上述の音声データにおける場合と同様にして、他のデータの埋め込みが可能であるが、この場合も、他のデータが埋め込まれた画像データは、その画質が劣化したものとなる。
【0005】
【発明が解決しようとする課題】
そこで、本件出願人は、画質を劣化させることなく(画質の劣化を最低限に抑えて)、元の画像データと、それに埋め込まれていた他のデータを復元することのできる埋め込み手法について、先に提案している。
【0006】
即ち、いま、他のデータを埋め込む対象となる画像データ等を、埋め込み対象データと、埋め込み対象データに埋め込まれる他のデータを、被埋め込みデータと、埋め込み対象データに対して被埋め込みデータを埋め込むことにより得られるデータを、埋め込み符号化データと、それぞれいうものとする。
【0007】
被埋め込みデータを、埋め込み対象データに埋め込む埋め込み処理では、埋め込み対象データとしての画像データが、所定の操作ルールにしたがい、被埋め込みデータに対応して操作される。即ち、例えば、埋め込み対象データとしての画像データを構成する水平ライン(または垂直ライン)を、被埋め込みデータに対応する値だけ、左方向にローテーションするという操作ルールにしたがって、その埋め込み対象データとしての画像データが操作される。これにより、図1Aに示すように、埋め込み対象データに被埋め込みデータを埋め込んだ埋め込み符号化データが生成される。
【0008】
一方、埋め込み符号化データを、埋め込み対象データと被埋め込みデータに復元する復元処理では、埋め込み符号化データが、埋め込み対象データとしての画像の相関性等を利用して、図1Bに示すように、元の埋め込み対象データと被埋め込みデータに復元される。即ち、例えば、埋め込み符号化データとされた画像データを構成する水平ラインを、順次、注目ラインとして、その注目ラインを、埋め込み処理における場合とは反対方向である左方向に、1画素ずつローテーションしながら、その注目ラインの1ライン上の水平ラインである基準ラインとの間の相関が計算され、その相関を最大にするローテーション量が求められる。そして、注目ラインが、基準ラインとの相関を最大にするローテーション量だけローテーションされることにより元の位置に戻されるとともに、そのローテーション量が、その注目ラインに埋め込まれていた被埋め込みデータとして復元される。
【0009】
以上から、先に提案した埋め込み処理によれば、埋め込み対象データと被埋め込みデータを、埋め込み対象データのデータ量となる埋め込み符号化データに圧縮すること、即ち、被埋め込みデータの分だけ圧縮することができる。さらに、先に提案した復元処理によれば、埋め込み対象データとしての画像データの相関性を利用することにより、埋め込み符号化データを、特に復元のためのオーバーヘッドなしで、元の埋め込み対象データと被埋め込みデータに復元することができる。
【0010】
ところで、より多くの被埋め込みデータを埋め込むことができれば便利であるが、上述のように、ラインをローテーションするという操作ルールだけでは、画像データに埋め込むことのできる被埋め込みデータのデータ量は、その画像データを構成するライン数による制限を受ける。
【0011】
本発明は、このような状況に鑑みてなされたものであり、埋め込み対象データに対して、より多くの被埋め込みデータを埋め込む埋め込み処理と、その埋め込み処理によって得られた埋め込み符号化データを、元の埋め込み対象データと被埋め込みデータに復元する復元処理を行うこと等ができるようにするものである。
【0012】
【課題を解決するための手段】
本発明のデータ処理装置は、入力データの特徴を表す第1の特徴データとともに送信されてくる、入力データを処理して得られる処理データを復元するデータ処理装置であって、処理データに所定の復元処理を施すことにより、入力データを復元し、その復元した入力データを、復元データとして出力する復元手段と、復元データから、その特徴を表す第2の特徴データを抽出する特徴データ抽出手段と、入力データの特徴を表す第1の特徴データおよび第2の特徴データの一致性を判定し、その判定結果に基づいて、復元手段における復元処理を制御する制御手段とを備え、処理データには、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、入力データを、第1の特徴データに対応して操作することによって、第1の特徴データが埋め込まれており、復元手段は、処理データを、所定の操作ルールにしたがって操作することにより、入力データと第1の特徴データに復元することを特徴とする。
【0013】
処理データは、入力データに、少なくとも、任意のデータを埋め込んだものであり、復元手段は、処理データを、入力データと任意のデータに復元し、その復元した入力データを、復元データとして出力することができる。
【0014】
処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、入力データを、任意のデータに対応して操作することにより、入力データに任意のデータを埋め込んだものであり、復元手段は、処理データを、所定の操作ルールにしたがって操作することにより、入力データと任意のデータに復元することができる。
【0015】
処理データは、入力データに第1の特徴データを埋め込み、さらに、その第1の特徴データが埋め込まれた入力データに、任意のデータを埋め込んだものであり、復元手段は、処理データから、第1の特徴データが埋め込まれた入力データと、任意のデータを復元し、さらに、第1の特徴データが埋め込まれた入力データを、入力データと第1の特徴データに復元することができる。
【0016】
処理データは、入力データに、第1の特徴データおよび他の任意のデータを埋め込み、その第1の特徴データおよび他の任意のデータが埋め込まれた入力データに、任意のデータを埋め込んだものであり、復元手段は、処理データから、第1の特徴データおよび他の任意のデータが埋め込まれた入力データと、任意のデータを復元し、さらに、第1の特徴データおよび他の任意のデータが埋め込まれた入力データを、入力データ、並びに第1の特徴データおよび他の任意のデータに復元することができる。
【0017】
制御手段は、第1および第2の特徴データが一致するように、復元処理を制御することができる。
【0018】
復元手段は、処理データを、所定の操作ルールにしたがって操作する復元処理を行うことにより、入力データを復元し、制御手段は、復元処理における処理データに対する操作を制御することができる。
【0019】
復元手段は、処理データの値を変更し、その変更後の処理データを、所定の操作ルールにしたがって操作する復元処理を行うことにより、入力データを復元し、制御手段は、復元処理における処理データの値の変更を制御することができる。
【0020】
本発明のデータ処理方法は、処理データに所定の復元処理を施すことにより、入力データを復元し、その復元した入力データを、復元データとして出力する復元ステップと、復元データから、その特徴を表す第2の特徴データを抽出する特徴データ抽出ステップと、入力データの特徴を表す第1の特徴データおよび第2の特徴データの一致性を判定し、その判定結果に基づいて、復元ステップにおける復元処理を制御する制御ステップとを含み、処理データには、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、入力データを、第1の特徴データに対応して操作することによって、第1の特徴データが埋め込まれており、復元ステップは、処理データを、所定の操作ルールにしたがって操作することにより、入力データと第1の特徴データに復元することを特徴とする。
【0021】
本発明のプログラムは、処理データに所定の復元処理を施すことにより、入力データを復元し、その復元した入力データを、復元データとして出力する復元ステップと、復元データから、その特徴を表す第2の特徴データを抽出する特徴データ抽出ステップと、入力データの特徴を表す第1の特徴データおよび第2の特徴データの一致性を判定し、その判定結果に基づいて、復元ステップにおける復元処理を制御する制御ステップとを含み、処理データには、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、入力データを、第1の特徴データに対応して操作することによって、第1の特徴データが埋め込まれており、復元ステップは、処理データを、所定の操作ルールにしたがって操作することにより、入力データと第1の特徴データに復元することを特徴とする。
【0022】
本発明のデータ処理装置、データ処理方法、およびプログラムにおいては、処理データに所定の復元処理を施すことにより、入力データが復元され、その復元した入力データが、復元データとして出力され、復元データから、その特徴を表す第2の特徴データが抽出され、入力データの特徴を表す第1の特徴データおよび第2の特徴データの一致性が判定され、その判定結果に基づいて、復元処理が制御され、処理データには、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、入力データを、第1の特徴データに対応して操作することによって、第1の特徴データが埋め込まれており、復元ステップは、処理データを、所定の操作ルールにしたがって操作することにより、入力データと第1の特徴データに復元される。
【0032】
【発明の実施の形態】
図2は、本発明を適用した埋め込み符号化/復号システムの一実施の形態の構成例を示している。
【0033】
【0034】
この埋め込み符号化/復号システムは、符号化装置11および復号装置12で構成されている。符号化装置11は、埋め込み対象データとしての、例えば、画像データに対して、被埋め込みデータを埋め込むことにより、埋め込み符号化データを生成して出力し、復号装置12は、その埋め込み符号化データを、元の埋め込み対象データと被埋め込みデータに復号する。
【0035】
即ち、符号化装置11は、埋め込み対象データベース1、被埋め込みデータベース2、および埋め込み符号化器3で構成されている。
【0036】
埋め込み対象データベース1は、埋め込み対象データとしての、例えばディジタル画像データを記憶している。そして、埋め込み対象データベース1からは、そこに記憶されている画像データが読み出され、埋め込み符号化器3に供給される。
【0037】
また、被埋め込みデータベース2は、被埋め込みデータ(ディジタルデータ)を記憶している。そして、被埋め込みデータベース2からも、そこに記憶されている被埋め込みデータが読み出され、埋め込み符号化器3に供給される。
【0038】
埋め込み符号化器3では、埋め込み対象データベース1からの画像データ、および被埋め込みデータベース2からの被埋め込みデータが受信される。さらに、埋め込み符号化器3は、埋め込み対象データベース1からの画像データが有するエネルギの偏りを利用して復号を行うことができるように、その画像データを、被埋め込みデータベース2からの被埋め込みデータに対応して操作することで、画像データに、被埋め込みデータを埋め込み、埋め込み符号化データを生成して出力する。埋め込み符号化器3が出力する埋め込み符号化データは、例えば、半導体メモリ、光磁気ディスク、磁気ディスク、光ディスク、磁気テープ、相変化ディスクなどでなる記録媒体4に記録され、あるいは、また、例えば、地上波、衛星回線、CATV(Cable Television)網、インターネット、公衆回線などでなる伝送媒体5を介して伝送され、復号装置12に提供される。
【0039】
復号装置12は、復元器6で構成され、そこでは、記録媒体4または伝送媒体5を介して提供される埋め込み符号化データが受信される。さらに、復元器6は、その埋め込み符号化データを、埋め込み対象データとしての画像データが有するエネルギの偏りを利用して、元の画像データおよび被埋め込みデータに復元する。この復元された画像データは、例えば、図示せぬモニタに供給されて表示される。
【0040】
なお、被埋め込みデータとしては、例えば、埋め込み対象データとしての元の画像データに関連するテキストデータや、音声データ、その画像データを縮小した縮小画像データ等は勿論、元の画像データに無関係なデータも用いることができる。
【0041】
次に、図3は、図2の埋め込み符号化器3の構成例を示している。
【0042】
埋め込み対象データベース1から供給される埋め込み対象データとしての画像データは、フレームメモリ21に供給されるようになされており、フレームメモリ21は、埋め込み対象データベース1からの画像データを、例えば、フレーム単位で一時記憶する。
【0043】
埋め込み部22は、被埋め込みデータベース2に記憶された被埋め込みデータを受信し、その被埋め込みデータを、フレームメモリ21に記憶された埋め込み対象データとしての画像データに埋め込む埋め込み処理を行い、これにより、画像データのエネルギの偏りを利用して元に戻すことができる埋め込み符号化データを生成する。
【0044】
なお、フレームメモリ21は、複数のフレーム(またはフィールド)を記憶することのできるように、複数バンクで構成されており、バンク切り替えを行うことで、フレームメモリ21では、埋め込み対象データベース1から供給される画像データの記憶、埋め込み部22による埋め込み処理の対象となっている画像データの記憶、および埋め込み処理後の画像データ(埋め込み符号化データ)の出力を、同時に行うことができるようになっている。これにより、埋め込み対象データベース1から供給される画像データが、動画であっても、埋め込み符号化データのリアルタイム出力を行うことができるようになっている。
【0045】
次に、図4は、図3の埋め込み符号化器3が出力する埋め込み符号化データを、画像データのエネルギの偏りを利用して元の画像データと被埋め込みデータに復元する図2の復元器6の構成例を示している。
【0046】
埋め込み符号化データ、即ち、被埋め込みデータが埋め込まれた画像データ(以下、適宜、埋め込み画像データともいう)は、フレームメモリ31に供給されるようになされており、フレームメモリ31は、埋め込み画像データを、例えば、フレーム単位で一時記憶する。なお、フレームメモリ31も、図3のフレームメモリ21と同様に構成され、バンク切り替えを行うことにより、埋め込み画像データが、動画であっても、そのリアルタイム処理が可能となっている。
【0047】
復元部32は、フレームメモリ31に記憶された埋め込み画像データを、画像データのエネルギの偏りを利用して元の画像データと被埋め込みデータに復元する復元処理を行う。
【0048】
次に、上述の埋め込み符号化器3で行われる埋め込み処理と、復元器6で行われる復元処理の原理について説明する。
【0049】
一般に、情報と呼ばれるものは、エネルギ(エントロピー)の偏り(普遍性)を有し、この偏りが、情報(価値ある情報)として認識される。即ち、例えば、ある風景を撮影して得られる画像が、そのような風景の画像であると人によって認識されるのは、画像(画像を構成する各画素の画素値など)が、その風景に対応したエネルギの偏りを有するからであり、エネルギの偏りがない画像は、雑音等にすぎず、情報としての利用価値はない。
【0050】
従って、価値ある情報に対して、何らかの操作を施し、その情報が有する本来のエネルギの偏りを、いわば破壊した場合でも、その破壊されたエネルギの偏りを元に戻すことで、何らかの操作が施された情報も、元の情報に戻すことができる。即ち、情報を操作して得られるデータは、その情報が有する本来のエネルギの偏りを利用して、元の価値ある情報に復元することができる。
【0051】
ここで、情報が有するエネルギ(の偏り)を表すものとしては、例えば、相関性、連続性、相似性などがある。
【0052】
情報の相関性とは、その情報の構成要素(例えば、画像であれば、その画像を構成する画素や水平ラインなど)どうしの相関(例えば、自己相関や、ある構成要素と他の構成要素との距離など)を意味する。例えば、画像の相関性を表すものとしては、画像の水平ライン間の相関があり、この相関を表す相関値としては、例えば、2つの水平ラインにおける、対応する画素の画素値どうしの差分の2乗和等の逆数を用いることができる。
【0053】
即ち、例えば、いま、図5に示すようなH本の水平ラインを有する画像があった場合に、その上から1行目の水平ライン(第1水平ライン)と、他の水平ラインとの相関は、一般に、図6Aに示すように、第1水平ラインとの距離が近い水平ライン(図5における画像の上側の水平ライン)ほど、第M水平ラインについての相関として示すように大きくなり、第1水平ラインとの距離が遠い水平ライン(図5における画像の下側の水平ライン)ほど、第N水平ラインについての相関として示すように小さくなる。従って、第1水平ラインから近いほど、第1水平ラインとの相関が大きくなり、遠いほど相関が小さくなるという相関の偏りがある。
【0054】
そこで、いま、図5の画像において、第1水平ラインから比較的近い第M水平ラインと、第1水平ラインから比較的遠い第N水平ラインとの画素を入れ替える操作を行い(1<M<N≦H)、その入れ替え後の画像について、第1水平ラインと、他の水平ラインとの相関を計算値すると、それは、例えば、図6Bに示すようになる。
【0055】
即ち、入れ替え後の画像では、第1水平ラインから近い第M水平ライン(入れ替え前の第N水平ライン)との相関が小さくなり、第1水平ラインから遠い第N水平ライン(入れ替え前の第M水平ライン)との相関が大きくなる。
【0056】
従って、図6Bでは、第1水平ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関性の偏りが破壊されている。しかしながら、画像については、一般に、第1水平ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関性の偏りを利用することにより、破壊された相関性の偏りを復元することができる。即ち、図6Bにおいて、第1水平ラインから近い第M水平ラインとの相関が小さく、第1水平ラインから遠い第N水平ラインとの相関が大きいのは、画像が有する本来の相関性の偏りからすれば、明らかに不自然であり(おかしく)、第M水平ラインと第N水平ラインとは入れ替えるべきである。そして、図6Bにおける第M水平ラインと第N水平ラインとを入れ替えることで、図6Aに示すような本来の相関性の偏りを有する画像、即ち、元の画像を復元することができる。
【0057】
ここで、図5および図6で説明した場合においては、水平ラインの入れ替え操作が、画像データに対して、被埋め込みデータを埋め込むこととなる。そして、被埋め込みデータの埋め込みに際して、例えば、何水平ライン目を移動するかや、どの水平ラインどうしを入れ替えるかなどといった画像データに対する操作が、被埋め込みデータに対応して決定される。一方、被埋め込みデータが埋め込まれた埋め込み画像データ(埋め込み符号化データ)の水平ラインを、元の画像データの相関を利用して、元の位置に入れ替えることが、元の画像データを復元することになる。そして、その復元に際して、例えば、何水平ライン目を移動したかや、どの水平ラインどうしを入れ替えたかなどの埋め込み画像データに対する操作に基づいて、画像データに埋め込まれていた被埋め込みデータが復元される。
【0058】
次に、図7乃至図9を参照して、画像データの相関性を利用する埋め込み処理と復元処理の例について説明する。
【0059】
図7乃至図9の実施の形態では、埋め込み処理において、埋め込み対象データとしての画像データを構成する一部の画素が、処理対象画素として選択され、その選択された画素が、被埋め込みデータに対応してレベル方向に操作されることにより(画素値が操作されることにより)、その画素に対して、被埋め込みデータが埋め込まれる。一方、復元処理では、埋め込み処理によって得られた埋め込み画像データを構成する一部の画素(埋め込み処理で選択されたのと同一位置の画素)が、処理対象画素として選択され、図7に示すように、その処理対象画素に対して、埋め込み処理における場合と逆の操作が施されることで、その画素値が変更される。さらに、図7に示すように、画素値の変更前の処理対象画素と、その周辺画素(図7の実施の形態では、左右に隣接する画素)との相関値R1が演算されるとともに、画素値の変更された処理対象画素と、その画素の周辺画素との相関値R2が演算される。そして、その相関値R1とR2との大小関係に基づいて、画素値の変更前または変更後の処理対象画素のうちのいずれか一方が、元の画像データの復元結果とされるとともに、その処理対象画素に埋め込まれていた被埋め込みデータが復元される。
【0060】
図8は、図3の埋め込み符号化器3が、画像データの相関性を利用して行う埋め込み処理の例を示すフローチャートである。
【0061】
埋め込み対象データベース1では、そこに記憶されている埋め込み対象データとしての画像データが読み出され、例えば、1フレーム単位で、フレームメモリ21に供給されて記憶される。
【0062】
一方、埋め込み部22は、被埋め込みデータベース2から、被埋め込みデータを、例えば1ビットずつ受信し、ステップS1において、その1ビットの被埋め込みデータを埋め込む処理の対象とする画素(処理対象画素)を、フレームメモリ21に記憶された画像から選択する。
【0063】
ここで、本実施の形態では、例えば、フレームメモリ21に記憶された画像データから、五の目格子状に、画素が、順次選択され、処理対象画素とされるようになっている。
【0064】
その後、埋め込み部22は、ステップS2において、被埋め込みデータベース2から受信した被埋め込みデータが1または0のうちのいずれであるかを判定する。ステップS2において、被埋め込みデータが、1または0のうちの、例えば0であると判定された場合、ステップS1に戻る。即ち、埋め込み部22は、被埋め込みデータが0である場合には、処理対象画素に、何らの操作も施さずに(所定の定数としての0を加算し)、ステップS1に戻り、次の1ビットの被埋め込みデータが、被埋め込みデータベース2から送信されてくるのを待って、次に処理対象画素とすべき画素を選択し、以下、同様の処理を繰り返す。
【0065】
また、ステップS2において、被埋め込みデータが、1または0のうちの、例えば1であると判定された場合、ステップS3に進み、埋め込み部22は、処理対象画素に対して、所定の操作を施す。即ち、埋め込み部22は、所定の定数としての、例えば、2の、画像データを構成する画素に割り当てられているビット数−1乗を、処理対象画素の画素値に加算する。
【0066】
従って、画像データを構成する画素の画素値として、例えば、8ビットが割り当てられている場合には、ステップS3では、27が、処理対象画素の画素値に加算されることになる。
【0067】
なお、この加算は、画素値が、例えば、YUVなどで表現されている場合には、輝度成分Y、または色成分U,Vのいずれに対して行っても良い。また、加算は、画素値が、例えば、RGBで表現されている場合には、R,G,Bのいずれに対して行っても良い。即ち、ステップS3における加算は、画素値が複数の成分で構成される場合には、その複数の成分のうちの1つまたは2以上に対して行っても良いし、全部に対して行っても良い。また、ステップS3の加算は、複数の成分それぞれごとに、独立に行うことも可能である。
【0068】
ステップS3において、処理対象画素の画素値に、27が加算された後は、ステップS4に進み、その加算結果がオーバフローしているかどうかが判定される。ステップS4において、加算結果がオーバフローしていないと判定された場合、ステップS5をスキップして、ステップS6に進み、埋め込み部22は、その加算結果を、処理対象画素の画素値として、フレームメモリ21に書き込み(上書きし)、ステップS1に戻る。
【0069】
また、ステップS4において、加算結果がオーバフローしていると判定された場合、即ち、本実施の形態では、画素値が8ビットであるから、加算結果が、28以上となった場合、ステップS5に進み、埋め込み部22は、その加算値の補正を行う。即ち、ステップS5では、オーバフローした加算値が、例えば、そのオーバフローした分(オーバフローした加算値から28を減算した値)に補正される。そして、ステップS6に進み、埋め込み部22は、その補正後の加算結果を、処理対象画素の画素値として、フレームメモリ21に書き込み、次の1ビットの被埋め込みデータが、被埋め込みデータベース2から送信されてくるのを待って、ステップS1に戻る。
【0070】
なお、フレームメモリ21に記憶された、ある1フレームの画像データについて埋め込み処理が行われた後は、その1フレームの画像データ、即ち、埋め込み画像データは、フレームメモリ21から読み出されて出力される。そして、埋め込み部22は、フレームメモリ21に記憶された、次の1フレームの画像データを対象に、埋め込み処理を続行する。
【0071】
次に、図9のフローチャートを参照して、図8の埋め込み処理により得られる埋め込み画像データを復元する、復元器6による復元処理について説明する。
【0072】
フレームメモリ31では、そこに供給される埋め込み画像データが、例えば、1フレーム単位で順次記憶される。
【0073】
一方、復元部32は、ステップS11において、フレームメモリ31に記憶されたあるフレームの埋め込み画像データから、復元処理の対象とする画素(処理対象画素)を選択する。
【0074】
ここで、復元部32では、埋め込み部22と同様に、フレームメモリ31に記憶された埋め込み画像データから、五の目格子状に、画素が、順次選択される。即ち、埋め込み処理と復元処理では、同一位置にある画素が、処理対象画素として選択される。
【0075】
その後、ステップS12に進み、復元部32は、処理対象画素に対し、図3の埋め込み部22が行った操作と逆の操作を施す。即ち、埋め込み部22は、所定の定数としての、例えば、2の、画像を構成する画素に割り当てられているビット数−1乗を、処理対象画素の画素値から減算する。
【0076】
従って、上述したように、埋め込み画像データを構成する画素の画素値として、例えば、8ビットが割り当てられている場合においては、ステップS12では、27が、処理対象画素の画素値から減算されることになる。
【0077】
なお、この減算は、画素値が、例えば、YUVなどで表現されている場合には、輝度成分Y、または色成分U,Vのいずれに対して行っても良い。また、減算は、画素値が、例えば、RGBで表現されている場合には、R,G,Bのいずれに対して行っても良い。但し、ステップS12における減算は、図8のステップS3における加算が行われたものと同一のものに対して行う必要がある。即ち、画素値が、例えば、YUVなどで表現されており、図8のステップS3における加算が、YUVのうちの、例えば、Y成分に対して行われた場合には、ステップS12における減算は、やはり、Y成分に対して行う必要がある。
【0078】
ステップS12において、処理対象画素の画素値から、27が減算された後は、ステップS13に進み、その減算結果がアンダフローしているかどうかが判定される。ステップS13において、減算結果がアンダフローしていないと判定された場合、ステップS14をスキップして、ステップS15に進む。
【0079】
また、ステップS13において、減算結果がアンダフローしていると判定された場合、即ち、加算結果が、0未満となった場合、ステップS14に進み、復元部32は、その減算値の補正を行う。即ち、ステップS14では、アンダフローした減算値が、例えば、その減算値に28を加算した値に補正され、ステップS15に進む。
【0080】
ステップS15では、処理対象画素の画素値(ステップS12で27を減算していないもの)(以下、適宜、第1の画素値という)P1と、その画素値から27を減算した減算値(以下では、ステップS14で補正されたものも含むものとする)(以下、適宜、第2の画素値という)P2のそれぞれについて、処理対象画素の周辺画素としての、例えば、その左右に隣接する画素それぞれとの間の相関を表す相関値が演算される。
【0081】
即ち、ステップS15では、例えば、処理対象画素の第1の画素値P1と、その左右の画素それぞれの画素値との差分の絶対値が演算され、その結果得られる2つの絶対値の加算値の逆数が、処理対象画素の第1の画素値P1についての相関値R1として求められる。さらに、ステップS15では、処理対象画素の第2の画素値P2についても、その左右の画素それぞれの画素値との差分の絶対値どうしの加算値の逆数が演算され、それが、処理対象画素の第2の画素値P2の相関値R2として求められる。
【0082】
なお、ステップS15において、処理対象画素との間の相関を求めるのに用いる画素は、その左右に隣接する画素に限定されるものではなく、上下に隣接する画素であっても良いし、時間的に隣接する画素であっても良い。また、必ずしも、空間的または時間的に隣接する画素である必要もない。但し、処理対象画素との相関を求めるにあたっては、埋め込み画像データにおいて、被埋め込みデータが埋め込まれていない画素を用いるのが望ましい。これは、処理対象画素について、被埋め込みデータが埋め込まれた画素との相関を求めても、元の画像データについての相関を得ることができず、従って、画像データの相関性を利用することができないため、被埋め込みデータが埋め込まれた画素から、元の画素値および被埋め込みデータを、正確に復元するのが困難となるからである。また、画像データの相関性を利用して、処理対象画素を復元する以上、処理対象画素との相関値を求めるのに用いる画素は、その処理対象画素との空間的または時間的距離が近いものであるのが望ましい。
【0083】
第1の画素値P1についての相関値R1、および第2の画素値P2についての相関値R2の算出後は、ステップS16に進み、復元部32において、その相関値R1とR2とが比較される。
【0084】
ステップS16において、相関値R1が、相関値R2より大きい(または以上である)と判定された場合、ステップS17に進み、復元部32において、被埋め込みデータの復元結果として、0が出力され、ステップS11に戻る。そして、この場合、フレームメモリ31の記憶値は書き換えられず(あるいは、画素値P1が上書きされ)従って、処理対象画素の画素値の復元結果は、その画素値P1のままとされる。
【0085】
即ち、第1の画素値P1についての相関値R1の方が、第2の画素値P2についての相関値R2より大きいということは、処理対象画素の画素値としては、画素値P2よりも、画素値P1の方が確からしいこととなるので、処理対象画素の画素値の復元結果は、その確からしい画素値P1とされる。さらに、画素値P1は、ステップS12で27が減算されていないものであるから、図8のステップS3で27が加算されていないと考えられる。そして、図8の埋め込み処理では、被埋め込みデータが0の場合には、27を加算しないこととしているから、第1の画素値P1についての相関値R1の方が大きく、画素値P1が、処理対象画素の画素値として確からしい場合には、そこに埋め込まれた被埋め込みデータは0ということになる。
【0086】
一方、ステップS16において、相関値R2が、相関値R1より大きい(以上である)と判定された場合、ステップS18に進み、復元部32において、フレームメモリ31に記憶された処理対象画素の画素値が、その画素値から27を減算した減算値、即ち、第2の画素値P2に書き換えられる。従って、この場合、処理対象画素の画素値の復元結果は、その画素値P2とされる。そして、ステップS19に進み、復元部32において、被埋め込みデータの復元結果として、1が出力され、ステップS11に戻る。
【0087】
即ち、第2の画素値P2についての相関値R2の方が、第1の画素値P1についての相関値R1より大きいということは、処理対象画素の画素値としては、画素値P1よりも、画素値P2の方が確からしいこととなるので、処理対象画素の画素値の復元結果は、その確からしい画素値P2とされる。さらに、画素値P2は、ステップS12で、画素値P1から27が減算されたものであるから、図8のステップS3で、元の画素値に27が加算されたものであると考えられる。そして、図8の埋め込み処理では、被埋め込みデータが1の場合には、27を加算することとしているから、第2の画素値P2についての相関値R2の方が大きく、画素値P2が、処理対象画素の画素値として確からしい場合には、そこに埋め込まれた被埋め込みデータは1ということになる。
【0088】
ここで、上述のようにして求められる相関値R1とR2との差分が小さい場合には、画素値P1とP2のうちのいずれが、処理対象画素の画素値として確からしいかは、一概には言えない。そこで、このような場合には、処理対象画素の左右に隣接する画素だけでなく、他の画素をも用いて、画素値P1,P2それぞれについての相関値を求め、その相関値を比較することで、画素値P1,P2のうちのいずれが、処理対象画素の画素値として確からしいかを決定することができる。
【0089】
以上のように、被埋め込みデータが埋め込まれた画像データである埋め込み画像データを、画像の相関性を利用して、元の画像データと被埋め込みデータに復元するようにしたので、その復元のためのオーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像(復号画像)には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【0090】
即ち、図8の埋め込み処理によれば、画像データの画素値に、被埋め込みデータの値に対応した所定値(図8の実施の形態では、0または27)を加算し、その加算値がオーバーフローしている場合には、その補正を行うという操作ルールにしたがい、画像データに対して、被埋め込みデータが埋め込まれ、埋め込み画像データが生成される。
【0091】
一方、図9の復元処理によれば、埋め込み処理における操作ルールにしたがい、埋め込み画像データに対して、埋め込み処理における場合とは逆の操作が行われ、その操作後のデータの相関に基づいて、埋め込み処理において行われた操作が、いわば特定される。そして、その特定された操作にしたがい、埋め込み画像データが、元の画像データと被埋め込みデータが復元される。
【0092】
従って、図8の埋め込み処理における操作ルールは、画像データの相関性を利用して、被埋め込みデータが埋め込まれた埋め込み画像データを元に戻すことができる操作ルールであるということができるが、埋め込み処理では、このような操作ルールを採用することで、画像データの画質を劣化させることなく(最低限の劣化に抑えて)、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。
【0093】
即ち、被埋め込みデータが埋め込まれた画素は、画像の相関性、即ち、ここでは、被埋め込みデータが埋め込まれなかった画素との間の相関を利用することにより、オーバヘッドなしで、元の画素と被埋め込みデータに復元(戻す)ことができる。従って、その結果得られる復元画像(復号画像)には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【0094】
なお、図7乃至図9の実施の形態では、処理対象画素と、他の画素との間の相関を表す相関値として、それらの画素値の差分の絶対値の逆数を用いるようにしたが、相関値は、これに限定されるものではない。
【0095】
また、図7乃至図9の実施の形態では、画像データから、五の目格子状に、画素を選択し、その画素に、被埋め込みデータを埋め込むようにしたが、被埋め込みデータを埋め込む画素の選択パターンは、これに限定されるものではない。但し、被埋め込みデータを埋め込んだ画素の復元にあたっては、上述したように、被埋め込みデータが埋め込まれていない画素を用いて相関を求めるのが望ましく、また、画素どうしの相関は、基本的に、それらの間の空間的または時間的距離が離れるほど小さくなっていく。従って、正確な復元を行う観点からは、被埋め込みデータを埋め込む画素は、空間的または時間的に、いわゆる疎らになるように選択するのが望ましい。一方、多くの被埋め込みデータを埋め込む観点、即ち、圧縮率の観点からは、被埋め込みデータを埋め込む画素は、ある程度多くする必要がある。従って、被埋め込みデータを埋め込む画素は、復元の正確さと、圧縮率とをバランスさせて選択するのが望ましい。
【0096】
さらに、図7乃至図9の実施の形態では、処理対象画素として選択された1画素に、1ビットの被埋め込みデータを埋め込むようにしたが、1画素に、2ビット以上の被埋め込みデータを埋め込むようにすることも可能である。例えば、1画素に、2ビットの被埋め込みデータを埋め込む場合には、その2ビットの被埋め込みデータにしたがって、例えば、0,26,27,26+27のうちのいずれかを、画素値に加算するようにすれば良い。
【0097】
また、図7乃至図9の実施の形態では、画素値に、0または27のうちのいずれかを加算することで(画素値に、27を加算しないか、または加算することで)、被埋め込みデータを埋め込むようにしたが、画素値に加算する値は、27に限定されるものではない。但し、画素値の下位ビットにしか影響を与えないような値を加算する場合には、その加算値と、元の画素値とが、あまり異なったものとならず、従って、図9のステップS15で求められる相関値R1とR2も、あまり異なったものとならなくなる。これは、画素値および被埋め込みデータの復元結果の精度を劣化させることとなるから、被埋め込みデータにしたがって、画素値に加算する値は、元の画素値の上位ビットに影響を与えるような値とするのが望ましい。
【0098】
さらに、図7乃至図9の実施の形態では、画素値に、所定値を加算することで、被埋め込みデータの埋め込みを行うようにしたが、被埋め込みデータの埋め込みは、加算以外の操作(例えば、ビット反転や、前述した水平ラインのローテーションなど)を、画素値に施すことによって行うことも可能である。但し、上述したように、画素値および被埋め込みデータの復元結果の精度の劣化を防止する観点から、画素値に施す操作は、元の画像についての相関と、操作を施した画像についての相関とが大きく異なるようなものであることが望ましい。
【0099】
また、図7乃至図9の実施の形態では、処理対象画素として選択された1画素に、1ビットの被埋め込みデータを埋め込むようにしたが、複数画素に、1ビットの被埋め込みデータを埋め込むようにすることも可能である。即ち、近接する2画素以上に対して、1ビットの被埋め込みデータに対応する同一の操作を行うようにすることが可能である。
【0100】
次に、情報の連続性を利用した埋め込み処理と復元処理について説明する。
【0101】
例えば、画像データのある1水平ラインについて注目した場合に、その注目ラインにおいて、図10Aに示すような、画素値の変化パターンが連続している波形WAVE#1が観察されたとすると、その注目ラインと離れた他の水平ラインでは、注目ラインとは異なる画素値の変化パターンが観察される。従って、注目ラインと、その注目ラインと離れた他の水平ラインとにおいては、画素値の変化パターンが異なり、連続性においても偏りがある。即ち、画像のある部分の画素値の変化パターンに注目すると、その注目部分に隣接する部分には、同様の画素値の変化パターンが存在し、注目部分から離れるにつれて、異なる画素値の変化パターンが存在するという連続性の偏りがある。
【0102】
そこで、いま、図10Aに示した、画像データのある水平ラインにおける、画素値の変化パターンが連続している波形WAVE#1の一部を、例えば、図10Bに示すように、離れた水平ラインにおける波形WAVE#2と入れ替える。
【0103】
この場合、画像データの連続性の偏りが破壊される。しかしながら、近接する部分の画素値の変化パターンは連続しており、離れるほど、画素値の変化パターンが異なるという連続性の偏りを利用することにより、破壊された連続性の偏りを復元することができる。即ち、図10Bにおいて、波形の一部WAVE#2の画素値の変化パターンが、他の部分の画素値の変化パターンに比較して大きく異なっているのは、波形が有する本来の連続性の偏りからすれば、明らかに不自然であり、他の部分の画素値の変化パターンと異なっている部分WAVE#2は、他の部分の画素値の変化パターンと同様の波形に入れ替えるべきである。そして、そのような入れ替えを行うことで、連続性の偏りが復元され、これにより、図10Bに示した波形から、図10Aに示した元の波形を復元することができる。
【0104】
ここで、図10で説明した場合においては、波形の一部を、その周辺の画素値の変化パターンとは大きく異なる画素値の変化パターンの波形に入れ替えることが、画像データに対して、被埋め込みデータを埋め込むこととなる。また、その埋め込みに際して、例えば、波形のどの部分の画素値の変化パターンを入れ替えるのかや、画素値の変化パターンをどの程度大きく変化させるのかなどが、被埋め込みデータにしたがって決定される。一方、被埋め込みデータが埋め込まれた埋め込み画像データ(埋め込み符号化データ)、即ち、大きく異なる画素値の変化パターンを一部に有する波形を、周辺の画素値の変化パターンは連続しており、離れるほど、画素値の変化パターンが異なるという連続性の偏りを利用して、元の波形に戻すことが、その元の波形を復元することとなる。そして、その復元に際して、例えば、波形のどの部分の画素値の変化パターンが大きく変化していたのかや、画素値の変化パターンがどの程度大きく変化していたのかなど、即ち、埋め込み画像データを、どのような操作によって、元の画像データ(波形)に戻したかによって、画像データに埋め込まれていた被埋め込みデータが復元される。
【0105】
次に、図11は、埋め込み符号化器3において、画像の連続性を利用した埋め込みが行われる場合の埋め込み処理の例を示すフローチャートである。
【0106】
まず最初に、ステップS21において、埋め込み部22は、埋め込み対象データベース1に記憶された埋め込み対象データとしての1フレーム分の画像データを、フレームメモリ21にさせる。さらに、ステップS21では、埋め込み部22は、フレームメモリ21に記憶された画像データの連続領域を検出し、その連続領域の位置を示す連続領域データを、図示せぬワーク用のメモリ(以下、適宜、ワークメモリという)に記憶させる。
【0107】
即ち、例えば、いま、図12Aに示すような、横×縦が224(= 7×32)×1600画素からなる画像データを対象に、その連続領域を検出する場合には、埋め込み部22は、画像データを、例えば、32×1画素毎の画像ブロックに分割し、各画像ブロック毎にDCT(Discrete Cosine Transform)処理を施して、画像ブロック毎のDCT係数を算出する。
【0108】
さらに、埋め込み部22は、画像ブロックをラスタスキャン順にスキャンして、順次、注目ブロックとし、例えば、注目ブロックに対応するDCT係数と左隣の隣接画像ブロックの対応するDCT係数との差分の絶対値和を順に算出して、注目ブロックの連続性評価値としてワークメモリに記憶させる。また、埋め込み部22は、算出された連続性評価値(差分値)が所定閾値以下である画像ブロックを連続領域と認識し、その画像ブロックの位置をワークメモリに記憶させる。
【0109】
ここで、本来、連続領域とされるべき画像ブロックの一部がノイズ等の影響により連続領域ではないと判断される可能性もあるので、そのような判断が行われるのを防止するために、埋め込み部22は、連続領域の検出の後、補正処理を行い、連続領域に隣接する、非連続領域とされた画像ブロックを、連続領域の画像ブロックに変換する。即ち、補正処理によれば、例えば、2つの連続領域に挟まれた短い区間の非連続領域の画像ブロックや、連続領域に隣接する1つ(または少数)の非連続領域の画像ブロックが、連続領域の画像ブロックに変換され(連続領域の画像ブロックとみなされ)、これにより、2つの連続領域と、その間に挟まれていた領域(非連続領域の画像ブロック)が、全体として、1つの連続領域に補正され、あるいは、1つの連続領域と、それに隣接する非連続領域の画像ブロックが、全体として、1つの連続領域に補正される。
【0110】
その後、ステップS22に進み、埋め込み部22は、被埋め込みデータデータベース2から、被埋め込みデータを、例えば6ビット(3ビット+3ビット)ずつ受信し、ステップS23に進む。
【0111】
ステップS23では、埋め込み部22は、上述の6ビットの被埋め込みデータを埋め込む画素群としての処理対象画像を選択、抽出する。即ち、ステップS23では、例えば、フレームメモリ21に記憶された1フレームの画像データが、仮想的に、上半分と下半分の領域(以下、適宜、それぞれを、上領域と下領域という)に分割され、その上領域と下領域のそれぞれの、例えば上から同一の位置にある水平ラインの連続領域が選択、抽出される。
【0112】
具体的には、例えば、フレームメモリ21に記憶された1フレームの画像データが、例えば、図12Aに示すように、1600ラインの水平ラインで構成される場合には、第1水平ラインから第800水平ラインまでの領域が、上領域とされ、第801水平ラインから第1600水平ラインまでの領域が、下領域とされる。そして、フレームメモリ21に記憶された画像データについて、最初に、ステップ23の処理が行われる場合には、図12Aに斜線を付して示すように、上領域の第1行である第1水平ラインと、下領域の第1行である第801水平ラインの連続領域が選択、抽出される。
【0113】
なお、埋め込み部22は、ステップS21においてワークメモリに記憶された連続領域データを参照して、第1水平ラインと、第801水平ラインの連続領域のみを選択、抽出する。ここで、図12の実施の形態においては、第1水平ラインと、第801水平ラインの全領域が連続領域であるとして、選択、抽出されている。
【0114】
そして、ステップS24に進み、埋め込み部22は、処理対象画像である、例えば、第1水平ラインの画像と、第801の水平ラインの画像を入れ替えることにより、画像データに、被埋め込みデータを埋め込む。
【0115】
即ち、図12Bは、被埋め込みデータが埋め込まれる前の第1水平ラインの画像データの画素値を示している。また、図12Cは、被埋め込みデータが埋め込まれる前の第801水平ラインの画像データの画素値を示している。図12Bおよび図12Cに示すように、第1水平ラインの領域と第801水平ラインの領域では、画素値の変化パターン(周波数特性)が異なっている。
【0116】
例えば、いま、上位3ビットが2で、下位3ビットが6の6ビットの被埋め込みデータを、画像データに埋め込むこととすると、埋め込み部22は、上位3ビットの2を埋め込むため、図12Bに示した第1水平ラインの左から2ブロック目の画像ブロックを選択するとともに、下位3ビットの6を埋め込むため、図12Cに示した第801水平ラインの左からの6ブロック目の画像ブロックを選択する。さらに、埋め込み部22は、選択された第1水平ラインの2ブロック目の画像ブロックと、第801水平ラインの6ブロック目の画像ブロックを入れ替える操作を行う。これにより、第1水平ラインの画素値の変化パターンが、図12Bから図12Dに示すように変更されるとともに、第801水平ラインの画素値の変化パターンが、図12Cから図12Eに示すように変更され、第1水平ラインと第801水平ラインに、上位3ビットが2を表し、かつ下位3ビットが6を表す6ビットの被埋め込みデータが埋め込まれる。
【0117】
その後、ステップS25において、埋め込み部22は、被埋め込みデータが埋め込まれた第1水平ラインと第801水平ラインの画像データを、フレームメモリ21に書き込み(上書きし)、ステップS26に進む。
【0118】
ステップS26では、埋め込み部22は、フレームメモリ21に記憶された1フレームの画像データのすべての水平ラインに、被埋め込みデータを埋め込んだかどうかを判定する。ステップS26において、まだ、すべての水平ラインに、被埋め込みデータを埋め込んでいないと判定された場合、ステップS22に戻り、埋め込み部22は、新たな被埋め込みデータを受信し、ステップS23に進む。ステップS23では、埋め込み部22は、上領域と下領域から、次の水平ラインを選択し、即ち、いまの場合は、第2水平ラインと第802水平ラインを選択し、以下、同様の処理を繰り返す。
【0119】
一方、ステップS26において、フレームメモリ21に記憶された1フレームの画像データのすべての水平ラインに、被埋め込みデータを埋め込んだと判定された場合、即ち、ステップS23で、第1水平ラインと第801水平ラインのセットから、第800ラインと第1600ラインのセットまでが、処理対象画像として選択された場合、埋め込み部22は、フレームメモリ21に記憶された画像データ、即ち、被埋め込みデータが埋め込まれた画像データ(埋め込み画像データ)を読み出して出力させ、埋め込み処理を終了する。
【0120】
なお、図11の埋め込み処理は、フレームメモリ21に記憶された画像データを対象に、フレーム単位で繰り返し行われる。
【0121】
次に、図13は、画像の連続性を利用して、埋め込み対象データとしての画像データに対して被埋め込みデータが埋め込まれた埋め込み符号化データを復元する復元処理の例を示すフローチャートである。
【0122】
まず最初に、ステップS31において、復元部32は、1フレーム単位の埋め込み符号化データ(埋め込み画像データ)を、フレームメモリ31に記憶させる。さらに、ステップS31では、復元部32は、図11のステップS21における場合と同様にして、埋め込み符号化データの中から連続領域を抽出し、その画像ブロックの位置を、連続領域データとして、図示せぬワークメモリに記憶させる。
【0123】
ここで、本実施の形態では、図12で説明したことから、1水平ラインに3ビットの被埋め込みデータが埋め込まれるが、この埋め込みは、1水平ラインのうち1つの画像ブロックを、他の水平ラインの画像ブロックに変更する操作によって行われる。従って、1水平ラインを構成する画像ブロックのうちの、少なくとも1つは、被埋め込みデータの埋め込みのための変更操作によって非連続領域になっている。しかしながら、連続領域の抽出の際には、図11のステップ21で説明したように、補正処理が行われるため、被埋め込みデータの埋め込みのための変更操作によって非連続領域とされた画像ブロックは、連続領域に変換される(連続領域とみなされる)。
【0124】
その後、ステップS32に進み、復元部32は、図11のステップS23における場合と同様に、フレームメモリ31に記憶された1フレームの埋め込み画像データを、上領域と下領域に、仮想的に分割し、ステップS31でワークメモリに記憶された連続領域データを参照して、その上領域と下領域それぞれから、同一位置の水平ラインの連続領域を、順次、選択、抽出する。
【0125】
従って、フレームメモリ31に記憶された埋め込み画像データについて、ステップS32の処理が最初に行われる場合には、上領域の第1行である第1水平ラインと、下領域の第1行である第801水平ラインが選択される。ここで、図11のステップS23で説明したように、埋め込み対象データとしての画像データの第1水平ラインと、第801水平ラインの全領域(全画像ブロック)が、連続領域であるとすると、ステップS32では、第1水平ラインと、第801水平ラインの全領域が抽出される。
【0126】
そして、ステップS33に進み、復元部32は、ステップS32で上領域と下領域それぞれから抽出された第1水平ラインの連続領域と、第801水平ラインの連続領域を構成する、上述の32×1画素単位の画像ブロックを、例えばDCT処理し、これにより、画像データの連続性を評価する評価値としてのDCT係数を算出して、ステップS34に進む。
【0127】
ステップS34では、復元部32は、上領域から抽出された第1水平ラインの連続領域を構成する画像ブロックを、例えば、左側から、順次、注目ブロックとし、その注目ブロックについて、例えば、注目ブロックのDCT係数から、その左隣の画像ブロックのDCT係数を減算し、そのDCT係数の差分値の絶対値和を算出する。さらに、復元部32は、下領域から抽出された第801水平ラインの連続領域についても同様に、その連続領域を構成する画像ブロックを、順次、注目ブロックとし、その注目ブロックについて、DCT係数の差分値の絶対値和を算出する。そして、復元部32は、算出したDCT係数の差分値の絶対値和を、ワークメモリに記憶させる。
【0128】
なお、注目ブロックの左隣の画像ブロックが存在しない場合、即ち、ここでは、連続領域を構成する左端の画像ブロックが注目ブロックとされた場合、その注目ブロックについてのDCT係数の差分値の絶対値和は、所定値としての、例えば0とされる。
【0129】
その後、ステップS35に進み、復元部32は、ワークメモリに記憶された2つの水平ラインそれぞれについて、その連続領域を構成する画像ブロックのDCT係数の差分値の絶対値和(差分絶対値和)が1番目に大きい画像ブロックと、2番目に大きい画像ブロックの2つの画像ブロックを検出し、その画像ブロックの位置をワークメモリに記憶させる。即ち、例えば、いま、ワークメモリに、第1水平ラインの連続領域を構成する画像ブロックについてのDCT係数の差分絶対値和と、第801ラインの連続領域を構成する画像ブロックについてのDCT係数の差分絶対値和が記憶されている場合には、第1水平ラインにおいて、DCT係数の差分絶対値和が1番目に大きい画像ブロック(以下、適宜、第1位の画像ブロックという)と、2番目に大きい画像ブロック(以下、適宜、第2位の画像ブロックという)が検出され、その第1位と第2位の画像ブロックの位置が、ワークメモリに記憶されるとともに、第801水平ラインにおいても、第1位の画像ブロックと、第2位の画像ブロックが検出され、その第1位と第2位の画像ブロックの位置が、ワークメモリに記憶される。
【0130】
そして、ステップS36に進み、復元部32は、ワークメモリに記憶された、2つの水平ラインそれぞれについての第1位および第2位の画像ブロックの位置に基づいて、6ビットの被埋め込みデータを復元して出力する。
【0131】
即ち、復元部32は、第1位と第2の画像ブロックが隣接し、かつ第1位と第2位の画像ブロックについてのDCT係数の差分絶対値和どうしが同程度の値(差分絶対値和どうしの差が所定の閾値以下)の場合、その隣接する第1位と第2の画像ブロックのうちの、左側に位置する画像ブロック位置を、図11の埋め込み処理によって被埋め込みデータを埋め込むのに入れ替えられた画像ブロックの位置(以下、適宜、埋め込み位置という)として、ワークメモリに記憶させるとともに、その埋め込み位置に対応する値を、被埋め込みデータの復元結果として出力する。
【0132】
具体的には、例えば、図11の埋め込み処理において、第1水平ラインの連続領域につき、図12Bおよび図12Dに示したように、その左から3番目の画像ブロックと、第801水平ラインの画像ブロックとの入れ替え操作が行われた場合、その左から2番目と3番目の画像ブロックについては、そのDCT係数の差分絶対値和が大きくなる。従って、第1水平ラインについては、図13のステップS35において、その左から3番目と4番目の2つの隣接する画像ブロックが、第1位と第2位の画像ブロック(または第2位と第1位の画像ブロック)として検出され、その左側に位置する画像ブロック、即ち、左から3番目の画像ブロックの位置(埋め込み位置)に基づいて、上述の6ビットの被埋め込みデータのうちの上位3ビットが、2(=3−1)に復元される。
【0133】
また、例えば、図11の埋め込み処理において、第801水平ラインの連続領域につき、図12Cおよび図12Eに示したように、その左から7番目の画像ブロックと、第1水平ラインの画像ブロックとの入れ替え操作が行われた場合、その左から7番目と8番目の画像ブロックについては、そのDCT係数の差分絶対値和が大きくなる。従って、第801水平ラインについては、図13のステップS35において、その左から7番目と8番目の2つの隣接する画像ブロックが、第1位と第2位の画像ブロック(または第2位と第1位の画像ブロック)として検出され、その左側に位置する画像ブロック、即ち、左から7番目のブロックの位置(埋め込み位置)に基づいて、上述の6ビットの被埋め込みデータのうちの下位3ビットが、6(=7−1)に復元される。
【0134】
ここで、図11の埋め込み処理において、水平ラインの連続領域の左端の画像ブロックまたは右端の画像ブロックが、他の水平ラインの画像ブロックと入れ替えられることにより、被埋め込みデータが埋め込まれている場合には、DCT係数の差分絶対値和は、その入れ替えが行われた画像ブロックについてのみ、ある程度大きくなり、他のブロックについては、それほど大きくならない。このため、復元部32は、第1位と第2位の画像ブロックの位置が隣接していない場合、または第1位と第2位の画像ブロックについてのDCT係数の差分絶対値和どうしが同程度の値でない場合(差分絶対値和どうしの差が所定の閾値以上の場合)には、第1位の画像ブロックの位置に基づき、被埋め込みデータを復元する。即ち、この場合、第1位の画像ブロックが、左端または右端の画像ブロックであるとき、被埋め込みデータとして、0または7が、それぞれ復元される。
【0135】
以上のようにして、埋め込み位置に基づいて、被埋め込みデータが復元されると、ステップS37に進み、復元部32は、ステップS35においてワークメモリに記憶された、6ビットの被埋め込みデータを復元するのに用いられた2つの埋め込み位置にしたがい、フレームメモリ31に記憶された埋め込み画像データの、ステップS32で選択された2つの水平ラインにおける画像ブロックの位置を入れ替える。
【0136】
即ち、例えば、図11の埋め込み処理において、図12で説明したように、上領域の第1行である第1水平ラインの左から3番目の画像ブロックと、下領域の第1行である第801ラインの左から7番目の画像ブロックとが入れ替えられた場合には、図13のステップS35において、第1水平ラインについては、左から3番目を表す埋め込み位置が記憶され、第801水平ラインについては、左から7番目を表す埋め込み位置が記憶される。従って、この場合、ステップ37では、第1水平ラインの左から3番目の画像ブロックと、第801水平ラインの左から7番目の画像ブロックとが入れ替えられ、これにより、第1水平ラインおよび第801水平ラインが復元される。
【0137】
その後、復元部32は、復元した2つの水平ラインを、フレームメモリ31に上書きする形で書き込み、ステップS38に進む。ステップS38では、復元部32は、フレームメモリ31に記憶された1フレームの埋め込み画像データについて、埋め込み対象データとしての画像データと、そこに埋め込まれている被埋め込みデータの復元が終了したか否かを判定する。ステップS38において、フレームメモリ31に記憶された1フレームの埋め込み画像データについての復元が終了していないと判定された場合、ステップS32に戻り、フレームメモリ31に記憶された埋め込み画像データにおける上領域と下領域それぞれから、次の行の水平ラインが選択され、以下、同様の処理が繰り返される。
【0138】
また、ステップS38において、フレームメモリ31に記憶された1フレームの埋め込み画像データについての復元が終了したと判定された場合、ステップS39に進み、復元部32は、フレームメモリ31に記憶された画像データ、即ち、復元された埋め込み対象データとしての画像データを出力させ、処理を終了する。
【0139】
なお、図13の実施の形態によれば、埋め込み対象データとしての画像データは、2つの水平ラインごとに、即ち、その上領域と下領域それぞれの同一行の水平ラインごとに復元される。従って、復元された画像データは、上述のように、フレームメモリ31に記憶された1フレームの画像データすべてが復元された後に出力することもできるが、復元単位である2つの水平ラインが復元されるごとに出力することも可能である。
【0140】
以上のように、被埋め込みデータが埋め込まれた画像データである埋め込み画像データを、画像の連続性を利用して、元の画像データと被埋め込みデータに復元するようにしたので、その復元のためのオーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像(復号画像)には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【0141】
即ち、図11の埋め込み処理によれば、1の水平ラインにおける、6ビットの被埋め込みデータの上位3ビットに対応する位置の画像ブロックと、他の1つの水平ラインにおける、6ビットの被埋め込みデータの下位3ビットに対応する位置の画像ブロックとを入れ替えるという操作ルールにしたがい、画像データに対して、被埋め込みデータが埋め込まれ、埋め込み画像データが生成される。
【0142】
一方、図13の復元処理によれば、埋め込み画像データのDCT係数を、連続性の評価値として、その連続性を利用し、埋め込み処理における操作ルールにしたがって、埋め込み画像データに対して、埋め込み処理における場合とは逆の操作が行われる。そして、その操作によって、埋め込み画像データが、元の画像データと被埋め込みデータが復元される。
【0143】
従って、図11の埋め込み処理における操作ルールは、画像データの連続性を利用して、被埋め込みデータが埋め込まれた埋め込み画像データを元に戻すことができる操作ルールであるということができるが、埋め込み処理では、このような操作ルールを採用することで、画像データの画質を劣化させることなく(最低限の劣化に抑えて)、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。
【0144】
なお、上述の場合には、埋め込み画像データのDCT係数を、連続性の評価値として用いるようにしたが、連続性の評価値としては、DCT係数以外のものを使用することが可能である。
【0145】
次に、情報の相似性を利用した埋め込み処理と復元処理について説明する。
【0146】
例えば、風景を撮影した画像等の一部は、画像のフラクタル性(自己相似性)を利用して生成することができることが知られている。そして、例えば、図14Aに示すような、海R1と森R2が表示されている画像においては、海R1全体の画素値の変化パターン(例えば、エッジ形状)と、その海R1の一部の画素値の変化パターンとの相似性は高いが、それらの変化パターンと、海R1から離れた森R2の画素値の変化パターンとの相似性は低いという相似性の偏りがある。
【0147】
そこで、いま、図14Aに示した海R1の一部R3と、森R2の一部R4とを入れ替える。
【0148】
この場合、画像の相似性の偏りが破壊され、図14Bに示すような画像が得られる。しかしながら、近接する部分の画素値の変化パターンは相似性が高く、離れるほど、画素値の変化パターンの相似性が低くなるという相似性の偏りを利用することにより、破壊された相似性の偏りを復元することができる。即ち、図14Bにおいて、海R1の画像の一部が、海R1と相似性の低い森R2の画像の一部R4になっていること、および森R2の画像の一部が、森R2と相似性の低い海R1の画像の一部R3となっていることは、画像が有する本来の相似性の偏りからすれば、明らかに不自然である。具体的には、図14Bにおいて、海R1の画像の中の、森R2の画像の一部R4についての相似性は、海R1の他の部分についての相似性に比較して極端に低くなっており、また、森R2の画像の中の、海R1の画像の一部R3についての相似性も、森R2の他の部分についての相似性に比較して極端に低くなっている。一方、海R1の中にある森R2の一部R4と、森R2との相似性、および森R2の中にある海R1の一部R3と、海R1の相似性は、いずれも高い。
【0149】
従って、画像が本来有する相似性の偏りからすれば、海R1の画像の一部となっている、森R2の画像の一部R4と、森R2の画像の一部となっている、海R1の画像の一部R3とは入れ替えるべきである。そして、そのような入れ替えを行うことで、画像の相似性の偏りが復元され、これにより、図14Bに示した画像から、図14Aに示した元の画像を復元することができる。
【0150】
ここで、図14で説明した場合においては、埋め込み対象データとしての海R1の画像の一部R3と、森R2の画像の一部R4とを入れ替えることが、被埋め込みデータを、埋め込み対象データに埋め込むことになる。また、その埋め込みに際して、例えば、海R1の画像のどの部分(画面上の位置)と、森R2の画像のどの部分とを入れ替えるのかなどが、被埋め込みデータにしたがって決定されることになる。一方、被埋め込みデータが埋め込まれた埋め込み画像データ(埋め込み符号化データ)、即ち、海R1の一部が、森R2の一部R4となっているとともに、森R2の一部が、海R1の一部R3となっている画像を、周辺の画素値の変化パターンの相似性は高く、離れるほど、画素値の変化パターンの相似性が低くなっていくという相似性の偏りを利用して、元の画像に戻すことが、その元の画像を復元することとなる。そして、その復元に際して、例えば、海の画像のどの部分と、森の画像のどの部分とが入れ替えられていたのかなど、即ち、埋め込み画像データを、どのような操作によって元の画像データに戻したかによって、画像データに埋め込まれていた被埋め込みデータを復元される。
【0151】
次に、図15を参照して、相似性について、さらに説明する。
【0152】
いま、例えば、図15Aに示すようなフラクタル画像を埋め込み対象データとして、そこに被埋め込みデータを埋め込むとした場合、被埋め込みデータに対応して、フラクタル画像の一部が、そのフラクタル画像とは相似でない画像に入れ替えられることで、フラクタル画像への被埋め込みデータの埋め込みが行われる。即ち、図15Aでは、樹木の葉の形状をしたフラクタル画像が埋め込み対象データとされているが、被埋め込みデータの埋め込みは、そのフラクタル画像の一部が、例えば、図15Bに示すように、三角形に入れ替えられることで行われる。ここで、図15では、図15BにおいてD1およびD2で示す部分が三角形になっており、このように、三角形に入れ替えられるフラクタル画像の位置や、フラクタル画像と入れ替える三角形の大きさ、数などが、被埋め込みデータにしたがって決定される。
【0153】
一方、上述のようにして、被埋め込みデータが埋め込み対象データとしてのフラクタル画像に埋め込まれた埋め込み符号化データは、例えば、次のようにして、フラクタル画像と被埋め込みデータとに復元される。即ち、例えば、図15Bにおいて、点線の四角形で囲んである部分については、三角形との入れ替えを行わないこととしておき、その点線の四角形で囲んである部分を、教師画像として、その教師画像と相似でない部分(ここでは、三角形)が検索される。さらに、教師画像と相似でない部分である三角形が、教師画像に含まれる、フラクタル画像の基準図形から生成される画像(フラクタル画像)に入れ替えられ、これにより、元のフラクタル画像(図15A)が復元される。そして、検索された三角形の位置や、大きさ、数などに基づいて、埋め込まれた被埋め込みデータが復元される。
【0154】
なお、上述の場合においては、教師画像に含まれる、フラクタル画像の基準図形を検出する必要があるが、これは、例えば、次のようにして行われる。即ち、図15Bの画像のうちの、教師画像と、それ以外の部分との相似性、および教師画像の自己相似性に基づいて、図15Bの画像を対象に、フラクタル画像の基準図形が検索され、教師画像以外の部分を、最も効率良く表すことができる図形が、基準図形として検出される。
【0155】
また、図15の実施の形態では、元のフラクタル画像の生成規則が認識されており、その生成規則に基づいて、三角形と入れ替える画像が、基準図形を用いて生成されるものとする。即ち、埋め込み対象データとしてのフラクタル画像と被埋め込みデータの復元時においては、三角形と入れ替える画像を生成するための、基準図形の大きさや、位置、回転量などが、生成規則に基づいて特定され、その特定された基準図形の大きさや、位置、回転量などにしたがって、基準図形が操作され、三角形と入れ替える画像(フラクタル画像)が生成されるものとする。
【0156】
次に、図16は、埋め込み符号化器3において、画像の相似性を利用した埋め込みが行われる場合の処理の例を示すフローチャートである。
【0157】
ステップS51において、埋め込み部22は、埋め込み対象データベース1から1フレーム分の画像データを、フレームメモリ21に転送して記憶させ、さらに、画像データの相似領域を検出し、その相似領域の位置を示す相似領域データを、ワークメモリに記憶させる。
【0158】
即ち、例えば、図17Aに示すような、56×1600画素からなるフラクタル画像を、埋め込み対象データとして、被埋め込みデータの埋め込みを行う場合には、埋め込み部22は、まず、その56×1600画素からなるフラクタル画像を、例えば、8×8画素毎の画像ブロックに分割し、その画像ブロックを、順次、注目ブロックとする。さらに、埋め込み部22は、注目ブロックを構成する画素を、例えば、ラスタスキャン順にスキャンし、注目ブロックと、その左右に隣接する画像ブロックである2つの周辺画像ブロックそれぞれとの相似性を算出する。
【0159】
具体的には、埋め込み部22は、注目ブロックの大きさ、位置、回転量を所定量だけ変更しながら、その注目ブロックと、左隣または右隣の画像ブロック(周辺画像ブロック)それぞれとのマッチングを行い、これにより、例えば、注目ブロックを構成する各画素と、周辺画像ブロックを構成する対応する画素との差分絶対値和の逆数を、マッチング度として求める。さらに、埋め込み部22は、注目ブロックと、2つの周辺画像ブロックそれぞれとの2つのマッチング度を平均し、その平均値を、注目ブロックの周辺との相似性を表す評価値(相似性評価値)として、ワークメモリに記憶させる。ここで、左端または右端の画像ブロックが、注目ブロックのときは、その左側または右側には、周辺画像ブロックが存在しないため、例えば、右側または左側の周辺画像ブロックとの間で求められた1つのマッチング度を、そのまま注目ブロックの相似性評価値とすることとする。埋め込み部22は、算出された相似性評価値(マッチング度)が所定に閾値以上となった画像ブロックを相似領域として認識し、その画像ブロックの位置を、ワークメモリに記憶させる。
【0160】
ここで、本来、相似領域とされるべき画像ブロックの一部がノイズ等の影響により相似領域ではないと判断される可能性もあるので、そのような判断が行われるのを防止するために、埋め込み部22は、相似領域の検出の後、補正処理を行い、相似領域に隣接する、非相似領域とされた画像ブロックを、相似領域の画像ブロックに変換する。即ち、補正処理によれば、例えば、2つの相似領域に挟まれた短い区間の非相似領域の画像ブロックや、相似領域に隣接する1つ(または少数)の非相似領域の画像ブロックが、相似領域の画像ブロックに変換され(相似領域の画像ブロックとみなされ)、これにより、2つの相似領域と、その間に挟まれていた領域(非相似領域の画像ブロック)が、全体として、1つの相似領域に補正され、あるいは、1つの相似領域と、それに隣接する非相似領域の画像ブロックが、全体として、1つの相似領域に補正される。
【0161】
次に、ステップS52において、埋め込み部22は、被埋め込みデータベース2から、被埋め込みデータを、例えば、6ビット(3ビット+3ビット)ずつ受信する。
【0162】
そして、ステップS53において、埋め込み部22は、上述の6ビットの被埋め込みデータを埋め込む画像ブロック群としての処理対象画像を選択、抽出する。即ち、ステップS53では、例えば、フレームメモリ21に記憶された1フレームの画像データが、仮想的に、上半分と下半分の領域(上領域と下領域)に分割され、その上領域と下領域のそれぞれの、例えば上から同一の行にある相似領域が選択、抽出される。
【0163】
具体的には、例えば、フレームメモリ21に記憶された1フレームの画像データが、例えば、図17Aに示すように、1600ラインの水平ラインで構成され、ステップS51で8×8画素の画像ブロックに分割された場合には、第1行から第100行までの画像ブロックの領域が、上領域とされ、第101行から第200行までの画像ブロックの領域が、下領域とされる。そして、フレームメモリ21に記憶された画像データについて、最初に、ステップ53の処理が行われる場合には、上領域の第1行の画像ブロックと、下領域の第1行の画像ブロックの相似領域が選択、抽出される。
【0164】
なお、埋め込み部22は、ステップS51においてワークメモリに記憶された連続領域データを参照して、第1行の画像ブロックと、第101行の画像ブロックの相似領域のみを選択、抽出する。ここで、図17の実施の形態においては、第1行と、第101行の全画像ブロックが相似領域であるとして、選択、抽出されている。
【0165】
その後、ステップS54に進み、埋め込み部22は、例えば、処理対象画像である、第1行の画像ブロックのうちの1つと、第101行の画像ブロックのうちの1つを入れ替えることにより、フレームメモリ21に記憶された画像データに被埋め込みデータを埋め込む。
【0166】
即ち、図17Aは、被埋め込みデータが埋め込まれる前の埋め込み対象データとしての画像データを示しており、図17Bは、被埋め込みデータが埋め込まれた後の埋め込み符号化データを示している。
【0167】
図17Aの埋め込み対象データにおいては、第1行の画像ブロックの領域と第101行の画像ブロックの領域とで、画素値の変化パターン、すなわち、画像ブロック内の図形の相似性が異なっている。
【0168】
いま、例えば、上位3ビットが2で、下位3ビットが6となっている6ビットの被埋め込みデータをを、第1行と第101行の画像ブロックに埋め込むものとすると、埋め込み部22は、6ビットの被埋め込みデータのうちの上位3ビットの2に対応して、図17Aの第1行の左から3番目の画像ブロックを選択するとともに、6ビットの被埋め込みデータのうちの下位3ビットの6に対応して、図17Aの第101行の左から7番目の画像ブロックを選択する。さらに、埋め込み部22は、選択した第1行の左から3番目の画像ブロックと、第101行の左から7番目の画像ブロックとを入れ替え、これにより、図17Bに示すように、6ビットの被埋め込みデータを、第1行と第101行の画像ブロックに埋め込む。
【0169】
ここで、左から、i番目の画像ブロックを、以下、適宜、第i画像ブロックという。
【0170】
ステップS54において、被埋め込みデータを埋め込んだ後は、ステップS55に進み、埋め込み部22は、被埋め込みデータを埋め込んだ第1行の画像ブロックと、第101行の画像ブロックを、フレームメモリ21に上書きする形で書き込み、ステップS56に進む。
【0171】
ステップS56では、埋め込み部22は、フレームメモリ21に記憶された1フレームの画像データのすべての画像ブロックの行に、被埋め込みデータを埋め込んだかどうかを判定する。ステップS56において、まだ、すべての画像ブロックの行に、被埋め込みデータを埋め込んでいないと判定された場合、ステップS52に戻り、埋め込み部22は、新たな被埋め込みデータを受信し、ステップS53に進む。ステップS53では、埋め込み部22は、上領域と下領域から、次の行の画像ブロックを選択し、即ち、いまの場合は、第2行の画像ブロックと第102行の画像ブロックを選択し、以下、同様の処理を繰り返す。
【0172】
一方、ステップS56において、フレームメモリ21に記憶された1フレームの画像データのすべての画像ブロックの行に、被埋め込みデータを埋め込んだと判定された場合、即ち、ステップS53で、第1行と第101行の画像ブロックのセットから、第100行と第200行の画像ブロックのセットまでが、処理対象画像として選択された場合、埋め込み部22は、フレームメモリ21に記憶された画像データ、即ち、被埋め込みデータが埋め込まれた画像データ(埋め込み画像データ)を読み出して出力させ、埋め込み処理を終了する。
【0173】
なお、図16の埋め込み処理は、埋め込み対象データとしての画像データのフレームを対象として、適宜、繰り返し行われる。
【0174】
次に、図18は、画像の相似性を利用して、埋め込み対象データとしての画像データに対して被埋め込みデータが埋め込まれた埋め込み符号化データを復元する復元処理の例を示すフローチャートである。
【0175】
まず最初に、ステップS61において、復元部32は、1フレーム単位の埋め込み符号化データ(埋め込み画像データ)を、フレームメモリ31に順次記憶させる。さらに、ステップS31では、復元部32は、図16のステップS51における場合と同様にして、埋め込み符号化データの中から相似領域を抽出し、その画像ブロックの位置を、相似領域データとして、図示せぬワークメモリに記憶させる。
【0176】
ここで、本実施の形態では、図16で説明したことから、画像ブロックの1行に3ビットの被埋め込みデータが埋め込まれるが、この埋め込みは、1行を構成する画像ブロックのうちの1つの画像ブロックを変更する操作(入れ替える操作)によって行われる。従って、1行を構成する画像ブロックのうちの、少なくとも1つは、被埋め込みデータの埋め込みのための変更操作によって非相似領域になっている。しかしながら、相似領域の抽出の際には、図16のステップ51で説明したように、補正処理が行われるため、被埋め込みデータの埋め込みのための変更操作によって非相似領域とされた画像ブロックは、相似領域に変換される(相似領域とみなされる)。従って、ステップS31で抽出される相似領域には、図16の埋め込み処理で入れ替えが行われた画像ブロックが含まれる。
【0177】
その後、ステップS62に進み、復元部32は、図16のステップS53における場合と同様に、フレームメモリ31に記憶された1フレームの埋め込み画像データを、上領域と下領域に、仮想的に分割し、ステップS61でワークメモリに記憶された相似領域データを参照して、その上領域と下領域それぞれから、同一行の画像ブロックの相似領域を、順次、選択、抽出する。
【0178】
従って、フレームメモリ31に記憶された埋め込み画像データについて、ステップS62の処理が最初に行われる場合には、上領域の第1行と、下領域の第1行が選択される。ここで、図16のステップS53で説明したように、埋め込み対象データとしての画像データの第1行の画像ブロックと、第101行の画像ブロックのすべてが、相似領域であるとすると、ステップS62では、第1行と、第101行の全画像ブロックが、相似領域であるとして抽出される。
【0179】
そして、ステップS63に進み、復元部32は、図16のステップS51で説明した場合と同様にして、ステップS62で上領域と下領域それぞれから抽出された第1行の相似領域と、第101行の相似領域を構成する8×8画素単位の画像ブロックを、順次、注目ブロックとし、その注目ブロックについて、周辺画像ブロックとの間でマッチングを行う。これにより、復元部32は、注目ブロックについて、周辺画像ブロックとの間のマッチング度を求め、さらに、そのマッチング度から、図16および図17で説明した場合と同様にして、相似性評価値を求める。
【0180】
なお、上述の場合には、注目ブロックと左右の画像ブロック(周辺画像ブロック)それぞれのマッチング度の平均値を、注目ブロックの相似性評価値とするようにしたが、その他、例えば、注目ブロックと左右の画像ブロックそれぞれのマッチング度のうちの大きい方または小さい方を、相似性評価値として採用するようにすることも可能である。
【0181】
復元部32は、上述したようにして、上領域と下領域それぞれから抽出された第1行の相似領域と、第101行の相似領域を構成する画像ブロックそれぞれの相似性評価値を求めると、その相似性評価値を、ワークメモリに記憶させ、ステップS65に進む。
【0182】
ステップS65では、復元部32は、ワークメモリに記憶された2行(上領域の1行と、その行に対応する下領域の1行の、合計2行)の画像ブロックの相似領域それぞれから、相似性評価値が最大の画像ブロックを検出し、その画像ブロックの位置を、ワークメモリに記憶させる。即ち、例えば、いま、ワークメモリに、第1行の相似領域を構成する画像ブロックについての相似性評価値と、第101行の相似領域を構成する画像ブロックについての相似性評価値が記憶されている場合には、第1行において、相似性評価値が最大の画像ブロック(以下、適宜、最大相似性画像ブロックという)と、第101行において、最大相似性画像ブロックが検出され、その最大相似性画像ブロックの位置が、ワークメモリに記憶される。
【0183】
そして、ステップS66に進み、復元部32は、ワークメモリに記憶された、2行それぞれの最大相似性画像ブロックの位置に基づいて、6ビットの被埋め込みデータを復元して出力する。
【0184】
即ち、復元部32は、上領域または下領域の行の最大相似性画像ブロックが、第i画像ブロックである場合、i−1を、6ビットの被埋め込みデータの上位3ビットまたは下位3ビットとして、それぞれ復元し、さらに、その上位3ビットと下位3ビットから、6ビットの被埋め込みデータを構成して出力する。
【0185】
ここで、例えば、図17Bに示した場合では、第1行の最大相似性画像ブロックは、第3画像ブロックとなり、第101行の最大相似性画像ブロックは、第7画像ブロックとなる。従って、6ビットの被埋め込みデータの上位3ビットと下位3ビットは、それぞれ2と6になる。
【0186】
以上のようにして、最大相似性画像ブロックの位置に基づいて、被埋め込みデータが復元されると、ステップS67に進み、復元部32は、ステップS65においてワークメモリに記憶された、6ビットの被埋め込みデータを復元するのに用いた2つの最大相似性画像ブロックの位置にしたがい、フレームメモリ31に記憶された埋め込み画像データの、ステップS62で選択された2行の画像ブロックの位置を入れ替える。
【0187】
即ち、例えば、図16の埋め込み処理において、図17で説明したように、上領域の第1行の第3画像ブロックと、下領域の第1行(全体の第101行)の第7画像ブロックとが入れ替えられた場合には、図18のステップS65において、第1行については、第3画像ブロックの位置が記憶され、第101行については、第7画像ブロックの位置が記憶される。従って、この場合、ステップ67では、第1行の第3画像ブロックと、第101行の第7画像ブロックとが入れ替えられ、これにより、第1行および第101行の画像データが復元される。
【0188】
その後、復元部32は、復元した2行の画像データ(画像ブロック)を、フレームメモリ31に上書きする形で書き込み、ステップS68に進む。ステップS68では、復元部32は、フレームメモリ31に記憶された1フレームの埋め込み画像データについて、埋め込み対象データとしての画像データと、そこに埋め込まれている被埋め込みデータの復元が終了したか否かを判定する。ステップS68において、フレームメモリ31に記憶された1フレームの埋め込み画像データについての復元が終了していないと判定された場合、ステップS62に戻り、フレームメモリ31に記憶された埋め込み画像データにおける上領域と下領域それぞれから、次の行の画像ブロックが選択され、以下、同様の処理が繰り返される。
【0189】
また、ステップS68において、フレームメモリ31に記憶された1フレームの埋め込み画像データについての復元が終了したと判定された場合、ステップS69に進み、復元部32は、フレームメモリ31に記憶された画像データ、即ち、復元された埋め込み対象データとしての画像データを出力させ、処理を終了する。
【0190】
なお、図18の実施の形態においても、図13の実施の形態における場合と同様に、復元された画像データは、フレームメモリ31に記憶された1フレームの画像データすべてが復元された後に出力することもできるし、復元単位である2行の画像ブロックが復元されるごとに出力することも可能である。
【0191】
以上のように、被埋め込みデータが埋め込まれた画像データである埋め込み画像データを、画像の相似性を利用して、元の画像データと被埋め込みデータに復元するようにしたので、その復元のためのオーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像(復号画像)には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【0192】
即ち、図16の埋め込み処理によれば、1行の画像ブロックにおける、6ビットの被埋め込みデータの上位3ビットに対応する位置の画像ブロックと、他の行を構成する、6ビットの被埋め込みデータの下位3ビットに対応する位置の画像ブロックとを入れ替えるという操作ルールにしたがい、画像データに対して、被埋め込みデータが埋め込まれ、埋め込み画像データが生成される。
【0193】
一方、図18の復元処理によれば、埋め込み画像データのマッチング度を、相似性の評価値として、その相似性を利用し、埋め込み処理における操作ルールにしたがって、埋め込み画像データに対して、埋め込み処理における場合とは逆の操作が行われる。そして、その操作によって、埋め込み画像データが、元の画像データと被埋め込みデータが復元される。
【0194】
従って、図16の埋め込み処理における操作ルールは、画像データの相似性を利用して、被埋め込みデータが埋め込まれた埋め込み画像データを元に戻すことができる操作ルールであるということができるが、埋め込み処理では、このような操作ルールを採用することで、画像データの画質を劣化させることなく(最低限の劣化に抑えて)、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。
【0195】
なお、上述の場合には、相似性評価値として、埋め込み画像データのマッチング度を用いるようにしたが、相似性評価値としては、マッチング度以外のものを使用することが可能である。
【0196】
以上のように、埋め込み符号化器3において、埋め込み対象データとしての画像データが有するエネルギの偏りを利用して復元を行うことができるように操作を行う操作ルールにしたがい、画像データを、被埋め込みデータに対応して操作することにより、画像データに被埋め込みデータを埋め込み、埋め込み符号化データを出力する場合には、復元器6では、その埋め込み符号化データを、画像データが有するエネルギの偏りを利用することにより、復元のためのオーバヘッドなしで、元の画像データおよび被埋め込みデータに復元することができる。
【0197】
また、埋め込み対象データとしての画像データには、被埋め込みデータが埋め込まれることで、その埋め込みの結果得られる埋め込み画像データ(埋め込み符号化データ)は、元の画像データと異なる画像とされ、人が価値ある情報として認識することのできる画像ではなくなることから、埋め込み対象データとしての画像データについては、オーバヘッドなしの暗号化を実現することができる。
【0198】
さらに、完全可逆の電子透かしを実現することができる。即ち、従来の電子透かしでは、例えば、画質にあまり影響のない画素値の下位ビットが、電子透かしに対応する値に、単に変更されていたが、この場合、その下位ビットを、元の値に戻すことは困難である。従って、復元画像の画質は、電子透かしとしての下位ビットの変更により、少なからず劣化する。これに対して、埋め込み符号化データを、埋め込み対象データとしての画像データが有するエネルギの偏りを利用して復元する場合には、劣化のない元の画像データおよび被埋め込みデータを得ることができ、従って、被埋め込みデータを電子透かしとして用いることで、電子透かしに起因して復元画像の画質が劣化することはない。
【0199】
また、埋め込み対象データに埋め込まれた被埋め込みデータは、埋め込み符号化データから埋め込み対象データを復元することで取り出す(復元する)ことができるので、埋め込み対象データとともに、オーバヘッドなしでサイドインフォメーションを提供することができる。言い換えれば、被埋め込みデータを取り出すためのオーバヘッドなしで、その被埋め込みデータを埋め込み対象データに埋め込むことができるので、その埋め込みの結果得られる埋め込み符号化データは、被埋め込みデータの分だけ圧縮(埋め込み圧縮)されているということができる。従って、例えば、ある画像の半分を埋め込み対象データとするとともに、残りの半分を被埋め込みデータとすれば、埋め込み対象データである半分の画像に、残りの半分の画像を埋め込むことができるから、この場合、画像は、単純には、1/2に圧縮されることになる。
【0200】
さらに、埋め込み符号化データは、情報が有するエネルギの偏りという、いわば統計量を利用して復元されるため、誤りに対する耐性の強いものとなる。即ち、ロバスト性の高い符号化であるロバスト符号化(統計的符号化)を実現することができる。
【0201】
また、例えば、画像データを埋め込み対象データとする一方、被埋め込みデータとして、画像データとは異なるメディアの、例えば、音声データを用いるようにすることで、音声をキーとして、画像データの提供を行うようなことが可能となる。即ち、図2の符号化装置11側において、例えば、契約者が発話した音声「開けゴマ」など被埋め込みデータとして、埋め込み対象データである画像データに埋め込んでおき、復元装置12側では、ユーザに、音声「開けゴマ」を発話してもらい、その音声と、画像データに埋め込まれた音声とを用いて話者認識を行うようにする。このようにすることで、例えば、話者認識の結果、ユーザが契約者である場合にのみ、自動的に、画像を提示するようなことが可能となる。なお、この場合、被埋め込みデータとしての音声は、いわゆる特徴パラメータではなく、音声波形そのものを用いることが可能である。
【0202】
また、例えば、音声データを埋め込み対象データとする一方、被埋め込みデータとして、音声とは異なるメディアの、例えば、画像データを用いるようにすることで、画像をキーとして、音声の提供を行うようなこと(例えば、顔認識後の音声応答)が可能となる。即ち、図2の符号化装置11側において、例えば、ユーザへの応答としての音声に、そのユーザの顔の画像を埋め込み、復元装置12側では、ユーザの顔を撮影し、その結果得られる画像とマッチングする顔画像が埋め込まれている音声を出力するようにすることで、ユーザごとに異なる音声応答を行う音声応答システムを実現することが可能となる。
【0203】
さらに、音声に、音声を埋め込んだり、画像に、画像を埋め込んだりするような、あるメディアの情報に、それと同一メディアの情報を埋め込むようなことも可能である。あるいは、また、画像に、契約者の音声と顔画像を埋め込んでおけば、ユーザの音声と顔画像とが、画像に埋め込まれているものと一致するときのみ、その画像を提示するようにする、いわば二重鍵システムなどの実現も可能となる。
【0204】
また、例えば、テレビジョン放送信号を構成する、いわば同期した画像と音声のうちのいずれか一方に、他方を埋め込むようなことも可能であり、この場合、異なるメディアの情報どうしを統合した、いわば統合符号化を実現することができる。
【0205】
さらに、埋め込み処理では、上述したように、情報には、そのエネルギの偏りに特徴があるほど、多くの被埋め込みデータを埋め込むことができる。従って、例えば、ある2つの情報について、エネルギの偏りに特徴がある方を適応的に選択し、その選択した方に、他方を埋め込むようにすることで、全体のデータ量を制御することが可能となる。即ち、2つの情報どうしの間で、一方の情報によって、他方の情報量を、いわば吸収するようなことが可能となる。そして、このように全体のデータ量を制御することができる結果、伝送路の伝送帯域や使用状況、その他の伝送環境にあったデータ量による情報伝送(環境対応ネットワーク伝送)が可能となる。
【0206】
また、例えば、画像に、その画像を縮小した画像を埋め込むことで(あるいは、音声に、その音声を間引いたものを埋め込むことで)、データ量を増加することなく、いわゆる階層符号化(下位階層の情報量を少なくすることにより、上位階層の情報を生成する符号化)を実現することができる。
【0207】
さらに、例えば、画像に、その画像を検索するためのキーとなる画像を埋め込んでおくことで、そのキーとなる画像に基づいて、画像の検索を行うデータベースを実現することが可能となる。
【0208】
以上のように、情報が有するエネルギ(の偏り)を表すものとしては、相関性、連続性、相似性などがあるが、以下においては、説明を簡単にするため、例えば、相関性にのみ注目して、説明を行う。そこで、まず、埋め込み対象データとして、画像データを用い、その画像データの相関性を利用する埋め込み処理と復元処理の他の例として、3つの方式(第1、第2、第3の方式)を紹介する。
【0209】
第1の方式では、埋め込み処理において、埋め込み対象データとしての画像データを構成する画素の位置を、例えば、1列(垂直方向に並ぶ画素列)単位で、被埋め込みデータに対応して入れ替える(画素スワップする)ことを操作ルールとして、その操作ルールにしたがい、埋め込み対象データとしての画像データが操作されることで、各列に、被埋め込みデータが埋め込まれる。
【0210】
即ち、第1の方式の埋め込み処理では、被埋め込みデータに基づいて、埋め込み対象データとしての、例えば、1フレームの画像データの各列の位置を、どのように入れ替えるかを表す画素スワップ情報が生成される。具体的には、例えば、埋め込み対象データとしての1フレームの画像データが、M行N列の画素で構成され、その画像データの第n列(左からn番目の列)を、第n’列に入れ替える場合には、nとn’とが対応付けられた画素スワップ情報が生成される(n,n’は、1以上N以下の整数)。
【0211】
ここで、1フレームの画像データの列数が、上述のように、N列である場合には、その入れ替え方は、そのすべての列を入れ替えの対象とすると、N!(!は、階乗を表す)通りだけある。従って、この場合、1フレームには、最大で、log2(N!)ビット(但し、小数点以下切り捨て)の被埋め込みデータの埋め込みが可能となる。
【0212】
画素スワップ情報の生成後は、その画素スワップ情報にしたがって、埋め込み対象データとしての画像データの各列の位置が入れ替えられる(画素スワップされる)ことで、埋め込み対象データに、被埋め込みデータが埋め込まれ、埋め込み符号化データ(埋め込み画像データ)が生成される。
【0213】
ここで、第1の方式では、上述のように、埋め込み対象データとしての画像データの各列を、被埋め込みデータに対応して画素スワップするという操作ルールにしたがって、被埋め込みデータが埋め込まれるので、この第1の方式を、以下、適宜、画素スワップ方式という。
【0214】
次に、図19のフローチャートを参照して、図3の埋め込み符号化器3で、画素スワップ方式による埋め込み処理が行われる場合の、その埋め込み処理について説明する。
【0215】
埋め込み対象データベース1からは、そこに記憶されている埋め込み対象データとしての画像データが、例えば、1フレーム単位で読み出され、フレームメモリ21に、順次供給されて記憶される。
【0216】
そして、埋め込み部22は、ステップS81において、1フレームの画像に埋め込み可能なデータ量の被埋め込みデータを、被埋め込みデータベース2から読み出す。即ち、例えば、上述したように、1フレームの画像の列数がN列であり、そのすべての列を画素スワップ(入れ替え)の対象とする場合には、1フレームには、最大で、log2(N!)ビットの被埋め込みデータの埋め込みが可能であるから、そのようなビット数(以下)の被埋め込みデータが、被埋め込みデータベース2から読み出される。
【0217】
そして、埋め込み部22は、ステップS82に進み、ステップS81で読み出した被埋め込みデータに基づいて、画素スワップ情報を生成する。即ち、埋め込み部22は、被埋め込みデータに基づき、フレームメモリ21に記憶された画像データのフレームの第1列乃至第N列のうちの、例えば、第1列を除く第2列乃至第N列それぞれを、第何列に画素スワップするかを表す画素スワップ情報を生成する。
【0218】
その後、ステップS83に進み、埋め込み部22は、画素スワップ情報にしたがって、フレームメモリ21に記憶された処理対象のフレームの各列の位置を画素スワップする。そして、列の画素スワップが行われたフレームは、フレームメモリ21から読み出され、埋め込み符号化データとして出力される。
【0219】
なお、フレームの各列の画素スワップは、フレームメモリ21における画像データ(を構成する画素)の記憶位置を変更することで行うことができるが、その他、例えば、フレームメモリ21からフレームを読み出すときのアドレスを制御することによって、結果として、列の画素スワップが行われたフレームが、フレームメモリ21から読み出されるようにすることも可能である。
【0220】
また、ここでは、画素スワップ情報には、第2列乃至第N列それぞれを、第何列に画素スワップするかを表す情報が含まれているが、第1列を、第何列に画素スワップするかを表す情報は含まれていない。従って、埋め込み部22では、第2列乃至第N列それぞれの画素スワップは行われるが、第1列の画素スワップは行われない。なお、第1列の画素スワップを行わない理由については、後述する。
【0221】
ステップS83において、フレームメモリ21から埋め込み符号化データが出力されると、ステップS84に進み、フレームメモリ21に、まだ処理の対象とされていないフレームが記憶されているかどうかが判定され、記憶されていると判定された場合、ステップS81に戻り、まだ処理されていないフレームを対象に、同様の処理が繰り返される。
【0222】
また、ステップS84において、フレームメモリ21に、まだ処理の対象とされていないフレームが記憶されていないと判定された場合、埋め込み処理を終了する。
【0223】
以上のように、フレームメモリ21に記憶された画像を構成する1以上の画素の集合としての、各列の画素の位置を、被埋め込みデータに対応して画素スワップすることにより、各列に、被埋め込みデータを埋め込む場合には、その逆の画素スワップ(ここでは、列の入れ替え)を行うことで、元の画像データを復元することができ、さらに、どのような画素スワップを行ったかということに基づいて、被埋め込みデータを復元することができる。従って、画像データの画質の劣化を極力なくし、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。
【0224】
即ち、被埋め込みデータが埋め込まれた画像データである、列の位置の画素スワップが行われた画像データ(埋め込み画像データ)の各列は、その画像データの相関性、つまり、ここでは、例えば、元の画像データと同一の正しい位置にある列との間の相関を利用することにより、オーバヘッドなしで、元の位置に画素スワップすることができ、さらに、その画素スワップの仕方(各列を、どの列に画素スワップしたか)により、被埋め込みデータを復元ことができる。従って、その結果得られる復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【0225】
なお、埋め込み符号化データに、正しい位置にある列が存在しない場合には、上述のように画像データの相関性を利用して、画像データと被埋め込みデータを復元するのは、一般には、困難である。そこで、ここでは、図19の埋め込み処理において、各フレームの第1列は、入れ替えを行わないで、そのまま、埋め込み符号化データとして出力するようにしている。
【0226】
但し、第1列を含むすべての列を入れ替えの対象として、埋め込み符号化を行うことも可能であり、この場合、例えば、入れ替え後の列の少なくとも1以上の元の位置を、オーバヘッドとして、埋め込み符号化データに含めることで、元の画像データと被埋め込みデータの復元が容易に可能となる。
【0227】
また、被埋め込みデータは、画像データの第1列以外のすべての列を一度に入れ替えることにより、その画像データに埋め込むことも、また、画像データの第1列以外の列を、順次入れ替えることにより、その画像データに埋め込むことも可能である。
【0228】
次に、画素スワップ方式による埋め込み処理により得られる埋め込み画像データは、以下のような、画像データの相関性を利用した画素スワップ方式による復元処理により、元の画像と被埋め込みデータに復元することができる。
【0229】
即ち、画素スワップ方式による復元処理では、埋め込み画像データを構成する列のうち、既に復元した最新の列と、他の列との相関を計算し、既に復元した列との相関を最大にする列を、その既に復元した列の右隣の位置に画素スワップすることを、埋め込み画像データを構成するすべての列について行うことで、元の画像データが復元され、さらに、埋め込み画像データを元の画像データに復元する際の、埋め込み画像データの各列の画素スワップの仕方に基づいて、被埋め込みデータが復元される。
【0230】
次に、図20のフローチャートを参照して、図4の復元器6において画素スワップ方式による復元処理が行われる場合の、その復元処理について説明する。
【0231】
フレームメモリ31では、そこに供給される埋め込み画像データが、例えば、1フレーム単位で順次記憶される。
【0232】
そして、復元部32は、ステップS91において、フレームの列数をカウントするための変数nに、初期値としての、例えば、1がセットされ、ステップS92に進み、変数nが、フレームの列数であるNから1を減算したN−1以下であるかどうかが判定される。
【0233】
ステップS92において、変数nがN−1以下であると判定された場合、ステップS93に進み、復元部32は、フレームメモリ31に記憶された埋め込み画像データのフレームから、第n列の画素(画素列)を読み出し、その第n列の各画素(の画素値)を要素として並べたベクトル(以下、適宜、列ベクトルという)vnを生成する。ここで、フレームがM行の画素で構成される場合には、列ベクトルvn(後述する列ベクトルvkも同様)は、M次元のベクトルとなる。
【0234】
その後、ステップS94において、復元部32は、第n列より右側にある列をカウントするための変数kに、初期値としてのn+1をセットし、ステップS95に進む。ステップS95では、復元部32は、ステップS93における場合と同様に、埋め込み画像データのフレームから、第k列の画素を読み出し、その第k列の画素を要素とする列ベクトルvkを生成して、ステップS96に進む。
【0235】
ステップS96では、復元部32は、列ベクトルvnおよびvkを用いて、第n列と第k列との間の相関を表す相関値を求める。
【0236】
即ち、復元部32は、まず、列ベクトルvnとvkとの距離d(n,k)を、次式にしたがって計算する。
【0237】
Figure 0003944821
但し、上式において、Σは、mを、1からMに変化させてのサメーションを表す。また、A(i,j)は、処理対象になっている埋め込み画像データのフレームの第i行第j列の画素(画素値)を表す。
【0238】
さらに、復元部32は、列ベクトルvnとvkとの距離d(n,k)の逆数1/d(n,k)を、第n列と第k列との相関を表す相関値として求める。
【0239】
第n列と第k列との相関値の算出後は、ステップS97に進み、復元部32は、変数kが、フレームの列数であるNから1を減算したN−1以下であるかどうかを判定する。ステップS97において、変数kがN−1以下であると判定された場合、ステップS98に進み、復元部32は、変数kを1だけインクリメントして、ステップS95に戻り、以下、ステップS97において、変数kがN−1以下でないと判定されるまで、ステップS95乃至S98の処理を繰り返す。即ち、これにより、第n列と、それより右側にある埋め込み画像の列それぞれとの相関値が求められる。
【0240】
その後、ステップS97において、変数kがN−1以下でないと判定されると、ステップS99に進み、復元部32は、第n列との相関値を最大にするkを求めて、ステップS100に進む。そして、いま、第n列との相関値を最大にするkを、例えばKと表すと、復元部32は、ステップS100において、フレームメモリ31に記憶された処理対象の埋め込み画像データのフレームの第n+1列と第K列とを画素スワップ、即ち、第K列を、第n列の右隣の第n+1列に入れ替える。
【0241】
その後、ステップS101に進み、復元部32は、変数nを1だけインクリメントして、ステップS92に戻り、以下、ステップS92において、変数nがN−1以下でないと判定されるまで、ステップS92乃至S101の処理を繰り返す。
【0242】
ここで、本実施の形態では、埋め込み画像データの第1列は、元の画像データの第1列のままであるから、変数nが、初期値である1のときは、第1列との相関が最も高い埋め込み画像データの列が、第1列の右隣の第2列に画素スワップされる。第1列との相関が最も高い列は、画像データの相関性から、基本的に、元の画像データの第2列であるから、この場合、図19の埋め込み処理において、埋め込み画像データのどこかの列に画素スワップされた元の画像データの第2列は、元の位置(列)に戻される(復元される)ことになる。
【0243】
そして、変数nが2となると、上述したようにして元の位置に画素スワップされた第2列との相関が最も高い埋め込み画像データの列が、その第2列の右隣の第3列に画素スワップされる。第2列との相関が最も高い列は、やはり、画像データの相関性から、基本的に、元の画像データの第3列であるから、この場合、図19の埋め込み処理において、埋め込み画像データのどこかの列に画素スワップされた元の画像データの第3列は、元の位置に戻されることになる。
【0244】
以下、同様にして、フレームメモリ31に記憶された埋め込み画像データは、元の画像データに復元されていく。
【0245】
そして、ステップS92において、変数nがN−1以下でないと判定された場合、即ち、埋め込み画像データを構成する第2列乃至第N列すべてが、画像データの相関性を利用して元の位置に戻され、これにより、フレームメモリ31の記憶内容が、元の画像データに復元された場合、ステップS102に進み、復元部32は、その復元された画像データを、フレームメモリ31から読み出させる。さらに、ステップS102では、復元部32が、埋め込み画像データを元の画像データに復元した際の、埋め込み画像データの第2列乃至第N列それぞれの画素スワップの仕方(画素スワップ情報)に基づいて、埋め込み画像データに埋め込まれていた被埋め込みデータを復元して出力する。
【0246】
その後、ステップS103に進み、復元部32は、フレームメモリ31に、まだ処理の対象とされていない埋め込み画像データのフレームが記憶されているかどうかを判定し、記憶されていると判定した場合、ステップS91に戻り、まだ処理の対象とされていない埋め込み画像データのフレームを対象に、同様の処理を繰り返す。
【0247】
また、ステップS103において、フレームメモリ31に、まだ処理の対象とされていない埋め込み画像データのフレームが記憶されていないと判定された場合、復元処理を終了する。
【0248】
以上のように、被埋め込みデータが埋め込まれた画像データである埋め込み画像データを、画像データの相関性を利用して、元の画像データと被埋め込みデータに復元するようにしたので、その復元のためのオーバヘッドがなくても、符号化データを、元の画像と被埋め込みデータに復元することができる。従って、その復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【0249】
なお、図20の復元処理においては、既に復元された最新の列(n=1の場合においては、埋め込み処理時に画素スワップされない第1列)と、まだ復元されていない列との相関を求め、その相関に基づいて、既に復元された最新の列の右隣の位置に画素スワップされるべき列を検出するようにしたが、その他、例えば、既に復元された複数の列それぞれと、まだ復元されていない列との相関を演算することにより、既に復元された最新の列の右隣に画素スワップされるべき列を検出するようにすることも可能である。
【0250】
また、上述の場合には、被埋め込みデータに基づき、埋め込み対象データとしての画像データ構成する画素を、列単位で画素スワップすることにより(垂直ラインの画素スワップを行うことにより)、被埋め込みデータを埋め込むようにしたが、被埋め込みデータの埋め込みは、その他、例えば、埋め込み対象データとしての画像データを、行単位で画素スワップしたり(水平ラインの画素スワップを行ったり)、また、時間方向に並ぶ所定数のフレームの同一位置にある画素列を画素スワップすることにより行うことも可能である。
【0251】
さらに、画素スワップ方式による埋め込み処理では、例えば、埋め込み対象データとしての画像データを、列単位で画素スワップし、さらに、行単位で画素スワップすることにより、被埋め込みデータを埋め込むことも可能である。
【0252】
ここで、列と行の両方の画素スワップを行って得られる埋め込み画像データについて、例えば、列の位置を元の位置に戻す復元処理を考えると、その復元処理では、式(1)のΣにおいて加算される項の順番が変化するだけで、加算される項自体は変化しない。従って、式(1)によって求められる距離d(n,k)は、画像データの列だけ画素スワップした場合と、列と行の両方を画素スワップした場合とで変化しないため、列と行の両方を画素スワップして得られた埋め込み画像データも、列だけ画素スワップして得られた埋め込み画像データと同様に、図20の復元処理によって、元の画像データと被埋め込みデータに復元することができる。即ち、列と行の両方を画素スワップして得られた埋め込み画像データは、図20の復元処理を、列と行について、それぞれ独立に行うことで、元の画像データと被埋め込みデータに復元することができる。
【0253】
以上から、埋め込み処理において、列と行の両方を画素スワップすることにより、画像データに被埋め込みデータを埋め込む場合には、行と列のうち、いずれの画素スワップを先または後に行うかは、復元処理に影響を与えない。従って、埋め込み処理においては、行と列の画素スワップのうちのいずれを先または後に行っても良いし、復元処理においても、行と列の画素スワップのうちのいずれを先または後に行っても良い。また、行と列の画素スワップを、交互に行うようなことも可能である。
【0254】
但し、埋め込み処理において、列だけの画素スワップを行う場合には、埋め込み画像データを元の画像データに復元した際の、埋め込み画像データの列の画素スワップの仕方が、被埋め込みデータの復元結果となるが、行と列の両方の画素スワップを行う場合には、埋め込み画像データの第m行n列の位置(m,n)にある画素が、復元画像(元の画像データ)のどの位置(m’,n’)に画素スワップされたかが、被埋め込みデータの復元結果となる。
【0255】
また、図19の埋め込み処理では、埋め込み対象データとしての画像データの第1列だけを固定にし、図20の復元処理では、この第1列を、いわば復元の基準として、埋め込み画像データの画素スワップを行うようにしたが、復元の基準は、第1列でなくても、あらかじめ、埋め込み処理と復元処理で設定しておけば、最後の第N列であっても良いし、その他の任意の列でも良い。さらに、復元の基準は、1列の画素すべてである必要はなく、極端には、1画素であっても良い。
【0256】
なお、例えば、第1列だけを、いわば復元の基準とし、画像データの相関を利用して、埋め込み画像データの画素スワップを行う場合には、1の列の画素スワップを誤ると、その後の列(ここでは、画素スワップを誤った列の右側にある列)の画素スワップも誤る可能性が高くなる。この場合、元の画像データを復元することができないから、被埋め込みデータを復元することもできなくなる。
【0257】
そこで、埋め込み処理においては、複数の列(例えば、全列から等間隔に選択した複数の列)を、復元の基準として残しておく(画素スワップの対象としない)ようにすることが可能である。
【0258】
次に、第2の方式では、埋め込み処理において、埋め込み対象データとしての画像データを構成する複数の画素の画素値を表すビット列の各ビットごとのビットプレーンを、被埋め込みデータに対応して入れ替える(従って、レベル方向の操作を行う)ビットプレーンスワップを行うことを操作ルールとして、その操作ルールにしたがい、埋め込み対象データとしての画像データが操作されることで、その画像データに、被埋め込みデータが埋め込まれる。
【0259】
即ち、第2の方式の埋め込み処理では、図21に示すように、埋め込み対象データとしての画像データが、複数の画素で構成される画像ブロックにブロック化され、さらに、画像ブロックが、その画像ブロックを構成する各画素の画素値を表すビット列の各ビットごとのビットプレーンに分割される。
【0260】
ここで、埋め込み対象データとしての画像データを構成する各画素値に、例えば、8ビットが割り当てられているとすると、画像ブロックは、画素値の最下位ビット、最下位ビットから2ビット目のビット、3ビット目のビット、・・・、7ビット目のビット、最上位ビット(以下、適宜、それぞれを第1乃至第8ビットという)それぞれからなるビットプレーンに分割される。
【0261】
そして、画像ブロックのビットプレーンが、被埋め込みデータに対応して並べ替えられる(ビットプレーンスワップされる)ことにより、画像データに、被埋め込みデータが埋め込まれる。
【0262】
なお、例えば、上述のように、埋め込み対象データとしての画像データを構成する画素値に8ビットが割り当てられている場合には、1の画像ブロックからは、8面のビットプレーンが得られる。そして、8面のビットプレーンの並べ替え方(ビットプレーンスワップの仕方)は、40320(=8!(!は階乗を表す))通りあるから、1つの画像ブロックには、最大で、log2(8!)ビット(但し、小数点以下は切り捨て)の被埋め込みデータを埋め込むことができる。従って、埋め込み処理では、被埋め込みデータが、そのようなビット数ごとに区切られ、埋め込み対象データとしての画像データを構成する各画像ブロックに埋め込まれる。
【0263】
ここで、第2の方式では、上述のように、埋め込み対象データとしての画像データの各画像ブロックのビットプレーンを、被埋め込みデータに対応してビットプレーンスワップするという操作ルールにしたがって、被埋め込みデータが埋め込まれるので、この第2の方式を、以下、適宜、ビットプレーンスワップ方式という。
【0264】
次に、図22のフローチャートを参照して、図3の埋め込み符号化器3で、ビットプレーンスワップ方式による埋め込み処理が行われる場合の、その埋め込み処理について説明する。
【0265】
まず最初に、ステップS111において、埋め込み部22は、1フレームの画像に埋め込むことのできる分の被埋め込みデータを、被埋め込みデータベース2から読み出し、1つの画像ブロックに埋め込むことのできる単位にフォーマットする(被埋め込みデータを分割する)。さらに、ステップS111では、埋め込み部22は、埋め込み対象データベース1に記憶された埋め込み対象データとしての画像データのフレームのうち、まだ処理の対象としていないフレームの画像データを、フレームメモリ21に記憶させる。
【0266】
そして、ステップS112に進み、埋め込み部22は、フレームメモリ21に記憶された1フレームの画像を、例えば、横×縦が4×4画素の画像ブロックに分割し、ステップS113に進む。ステップS113では、埋め込み部22は、フレームメモリ21に記憶された1フレームの画像データを構成する各画像ブロックを、ビットプレーンに分割し、ステップS114に進む。
【0267】
ステップS114では、埋め込み部22は、ビットプレーンに分割した各画像ブロックのうち、例えば、ラスタスキャン順で、まだ、注目ブロックとしていないものを、注目ブロックとし、その注目ブロックのビットプレーンを、ステップ111で得た1単位の被埋め込みデータに対応してビットプレーンスワップし、そのビットプレーンスワップ後の画像ブロックを、フレームメモリ21に上書きする形で書き込む。
【0268】
その後、ステップS115に進み、埋め込み部22は、フレームメモリ21に記憶された1フレームの画像を構成する画像ブロックすべてを注目ブロックとして処理(ビットプレーンを並べ替える処理)を行ったかどうかを判定する。ステップS115において、まだ、1フレームのブロックすべてを処理していないと判定された場合、ステップS114に戻り、埋め込み部22は、ラスタスキャン順で、また、注目ブロックとしていない画像ブロックを、新たに注目ブロックとして、以下、同様の処理を繰り返す。
【0269】
一方、ステップS115において、1フレームのブロックすべてを注目ブロックとして処理したと判定された場合、ステップS116に進み、埋め込み部22は、被埋め込みデータに対応してビットプレーンスワップが行われた画像ブロックで構成される1フレームの画像データ、即ち、埋め込み画像データを、フレームメモリ21から読み出して出力させ、処理を終了する。
【0270】
なお、以上の埋め込み処理は、埋め込み対象データベース1に記憶された埋め込み対象データとしての画像データの1フレームごとに繰り返し行われる。
【0271】
以上のように、各画像ブロックのビットプレーンを、被埋め込みデータに対応してビットプレーンスワップすることにより、各画像ブロックに、被埋め込みデータを埋め込む場合には、その逆のビットプレーンスワップを行うことで、元の画像データを復元することができ、さらに、どのようなビットプレーンスワップを行ったかということに基づいて、被埋め込みデータを復元することができる。従って、画像の画質の劣化を極力なくし、かつデータ量を増加せずに、画像に被埋め込みデータを埋め込むことができる。
【0272】
即ち、画像においては、画像ブロックを構成するビットプレーンにおけるビットどうしの相関は、基本的に、上位ビットのビットプレーンほど高い(下位ビットのビットプレーンほど低い)。従って、このような画像の相関性、即ち、ここでは、ビットプレーンを構成するビットどうしの相関を利用することにより、被埋め込みデータに対応してビットプレーンスワップされたビットプレーンは、オーバヘッドなしで、元の順番に並べ替えることができ、さらに、その並べ替え方により、被埋め込みデータを復元することができる。従って、復元された画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【0273】
次に、ビットプレーンスワップ方式による埋め込み処理により得られる埋め込み画像データは、以下のような、画像データの相関性を利用したビットプレーンスワップ方式による復元処理により、元の画像データと被埋め込みデータに復元することができる。
【0274】
即ち、ビットプレーンスワップ方式による復元処理では、フレームごとの埋め込み画像データが、ビットプレーンスワップによる埋め込み処理における場合と同一の画像ブロックにブロック化され、さらに、各画像ブロックが、その画像ブロックを構成する画素の画素値を表すビット列の各ビットごとのビットプレーンに分割される。そして、各画像ブロックを構成する各ビットプレーン内のビットどうしの相関を表す相関値が求められる。
【0275】
具体的には、例えば、図23Aに示すように、まず、相関値を計算するビットプレーンが、注目ビットプレーンとして、画像ブロックから取り出される。そして、いま、画像ブロックが、例えば、上述したように、4×4画素で構成される場合、注目ビットプレーンも、横×縦が4×4ビットで構成されることになるが、その4×4ビットの注目ビットプレーンから、例えば、図23Bに示すような、その中心部分の2×2ビットA,B,C,Dそれぞれを中心とした所定の大きさの4つの小ブロックが構成される。ここで、図23Bは、ビットAを中心として構成された3×3ビットの小ブロックを示している。
【0276】
ビットプレーンスワップ方式による復元処理では、注目ビットプレーンから得られた各小ブロックについて、その中心のビットと同一の値のビットの数がカウントされ、そのカウント値が、小ブロックの中心ビットと、他のビットとの間の相関値として求められる。ここで、図23Bに示したビットAを中心とする小ブロックにおいては、その中心ビット(ここでは、ビットA)が0となっており、その左上、上、右上、右、右下、下、左下、左のビットが、それぞれ1,0,1,0,0,1,0,0になっている。従って、0になっている中心ビットと同一の値になっているのは、その中心ビットの上、左、右下、左下、左の5ビットであるため、中心ビットについての他のビットとの間の相関値は、5になる。
【0277】
ビットプレーンスワップ方式による復元処理では、上述のようにして、注目ビットプレーンから得られた、ビットA乃至Dそれぞれを中心とする各小ブロックについて、相関値が求められる。さらに、このようにして求められたビットA乃至Dそれぞれを中心とする小ブロックについての相関値どうしが加算され、その加算値が、注目ビットプレーンの相関値とされる。
【0278】
画像ブロックを構成する各ビットプレーンは、順次、注目ビットプレーンとされ、上述のようにして、相関値が求められる。そして、画像ブロックのすべてのビットプレーンの相関値を求められると、図24に示すように、相関値の高いビットプレーンが最上位ビット側に位置するとともに、相関値の低いビットプレーンが最下位ビット側に位置するように、即ち、相関値の昇順に、ビットプレーンがビットプレーンスワップされる。これにより、画像ブロックが復元される。ここで、図24では、濃度の薄いビットプレーンほど、相関値の高いビットプレーンを表している。
【0279】
画像ブロックが復元された後は、その復元された画像ブロック(以下、適宜、復元ブロックという)を構成するビットプレーンの並びと、復元前の画像ブロックを構成するビットプレーンの並びとを比較することで、画像ブロックの復元にあたって、各ビットプレーンが、どのようにビットプレーンスワップされたのかが検出され、そのビットプレーンスワップの仕方に基づいて、復元ブロックに埋め込まれていた被埋め込みデータが復元される。
【0280】
次に、図25フローチャートを参照して、図4の復元器6においてビットプレーンスワップ方式による復元処理が行われる場合の、その復元処理について説明する。
【0281】
復元部32は、ステップS121において、1フレームの埋め込み画像データを、フレームメモリ31に記憶させ、ステップS122に進む。ステップS122では、復元部32は、フレームメモリ31に記憶された1フレームの埋め込み画像データを、埋め込み処理における場合と同様に、画像ブロックにブロック化し、ステップS123に進む。ステップS123では、復元部32は、各画像ブロックをビットプレーンに分割し、ステップS124に進む。
【0282】
復元部32は、ステップS124において、ビットプレーンに分割された各画像ブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとして、その注目ブロックの各ビットプレーンの相関値を、図23で説明したように計算し、ステップS125に進む。ステップS125では、復元部32は、ビットプレーンの相関値が昇順に並ぶように、注目ブロックのビットプレーンをビットプレーンスワップし、これにより、元の画像データを構成する画像ブロックを復元する。さらに、ステップS125では、復元部32は、復元した画像ブロック(復元ブロック)を、フレームメモリ31に上書きする形で書き込むとともに、その復元ブロックのビットプレーンの並びと、復元前の画像ブロックのビットプレーンの並びとを比較することで、埋め込み処理において、復元ブロックにつき、どのようなビットプレーンスワップが行われたかを認識する。そして、復元部32は、その認識結果に基づいて、復元ブロックに埋め込まれていた被埋め込みデータを復元する。
【0283】
その後、ステップS126に進み、復元部32は、フレームメモリ31に記憶された1フレームの埋め込み画像データの画像ブロックすべてを注目ブロックとして処理を行ったかどうかを判定し、まだ、1フレームのブロックすべてを処理していないと判定した場合、ステップS124に戻り、ラスタスキャン順で、まだ、注目ブロックとしていない画像ブロックを、新たに注目ブロックとして、以下、同様の処理を繰り返す。
【0284】
一方、ステップS126において、フレームメモリ31に記憶された1フレームの画像ブロックすべてを処理したと判定された場合、ステップS127に進み、復元部32は、フレームメモリ31に記憶された復元ブロックで構成される1フレームの画像データ、即ち、復元された元の画像データを読み出して出力させる。さらに、ステップS126では、復元部32は、ステップS125で復元した被埋め込みデータを出力し、復元処理を終了する。
【0285】
なお、以上の復元処理は、1フレームの埋め込み画像データごとに繰り返し行われる。
【0286】
以上のように、埋め込み対象データとしての画像データのビットプレーンをビットプレーンスワップすることにより被埋め込みデータが埋め込まれた埋め込み画像データについて、ビットプレーンスワップを行い、画像の相関性を利用して、ビットプレーンを元の画像データにおける並びに戻すようにしたので、オーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【0287】
次に、第3の方式では、埋め込み処理において、埋め込み対象データとしての画像データを構成するライン(水平ラインもしくは垂直ライン、または時間方向に並ぶ複数の画素で構成されるライン)を、被埋め込みデータに対応してローテーションする(従って、空間方向または時間方向の操作を行う)ラインローテーションを行うことを操作ルールとして、その操作ルールにしたがい、埋め込み対象データとしての画像データが操作されることで、その画像データに、被埋め込みデータが埋め込まれる。
【0288】
即ち、第3の方式の埋め込み処理では、埋め込み対象データとしての画像データの、例えば、水平方向の各ライン(水平方向に並ぶ一連の画素)(水平ライン)を、被埋め込みデータに対応する分だけ、水平方向にずらすラインローテーションを行うことで、各水平ラインに、被埋め込みデータが埋め込まれる。
【0289】
ここで、第3の方式では、上述のように、埋め込み対象データとしての画像データのラインを、被埋め込みデータに対応してローテーションするという操作ルールにしたがって、被埋め込みデータが埋め込まれるので、この第3の方式を、以下、適宜、ラインローテーション方式という。
【0290】
次に、図26のフローチャートを参照して、図3の埋め込み符号化器3で、ラインローテーション方式による埋め込み処理が行われる場合の、その埋め込み処理について説明する。
【0291】
埋め込み対象データベース1からは、そこに記憶されている埋め込み対象データとしての画像データが読み出され、フレームメモリ21に、順次供給されて記憶される。
【0292】
そして、埋め込み部22は、ステップS131において、フレームメモリ21に記憶された画像データを構成する水平ラインのうち、まだ、注目ラインとしていないものを、注目ラインとして読み出し、ステップS132に進む。ステップS132では、埋め込み部22は、注目ラインが、第1水平ライン(1フレームの画像データの最上行の水平ライン)であるかどうかを判定する。ステップS132において、注目ラインが第1水平ラインであると判定された場合、ステップS133に進み、埋め込み部22は、その第1水平ラインを、そのまま、フレームメモリ21に上書きする形で書き込み、ステップS137に進む。即ち、第1水平ラインは、特に操作(ラインローテーション)されず、従って、被埋め込みデータは埋め込まれない。
【0293】
また、ステップS132において、注目ラインが第1水平ラインでないと判定された場合、即ち、注目ラインが、第2水平ライン以降のいずれかの水平ラインである場合、ステップS134に進み、埋め込み部22は、注目ラインに埋め込むべき被埋め込みデータを、被埋め込みデータベース2から読み出し、ステップS135に進む。ステップS135では、埋め込み部22は、注目ラインを、例えば、ステップS134で読み出された被埋め込みデータに対応する画素数分だけ、水平方向にローテーションする。
【0294】
即ち、例えば、いま、図27Aに示すように、第N水平ライン(N≠1)が注目ラインとされているとすると、埋め込み部22は、図27Bに示すように、その第N水平ラインを、被埋め込みデータの値と同一の画素数だけ、水平方向である左または右方向のうちの、例えば右方向にスライドする(ずらす)。そして、埋め込み部22は、そのスライドにより、フレームの右にはみ出した第N水平ラインの部分を、図27Cに示すように、その第N水平ラインの左側にはめ込む。
【0295】
埋め込み部22は、注目ラインをローテーションし、これにより、注目ラインに、被埋め込みデータを埋め込むと、ステップS136に進み、そのローテーション後の注目ラインを、フレームメモリ21に上書きする形で書き込み、ステップS137に進む。
【0296】
ステップS137では、埋め込み部22は、フレームメモリ21に記憶された画像データのすべての水平ラインを、注目ラインとして処理を行ったかどうかを判定する。ステップS137において、フレームメモリ21に記憶された画像データのすべての水平ラインを、まだ、注目ラインとしていないと判定された場合、ステップS131に戻り、まだ、注目ラインとしていない水平ライン(例えば、いままで注目ラインとされていた1ライン下の水平ラインが、新たに注目ラインとされ、以下、同様の処理が繰り返される。
【0297】
また、ステップS137において、フレームメモリ21に記憶された画像データのすべての水平ラインを、注目ラインとしたと判定された場合、即ち、フレームメモリ21に記憶された1フレームの画像データの各水平ライン(但し、ここでは、第1水平ラインを除く)に、被埋め込みデータが埋め込まれ、埋め込み画像データが生成された場合、埋め込み部22は、その1フレームの埋め込み画像データを、フレームメモリ21から読み出して出力させ、処理を終了する。
【0298】
なお、以上の埋め込み処理は、フレームメモリ21に記憶された画像データの各フレームについて、繰り返し行われる。
【0299】
図26の埋め込み処理によれば、ある1フレームの画像データは、次のような埋め込み画像データとされる。
【0300】
即ち、例えば、図28Aに示すような画像データに、被埋め込みデータとして、10,150,200,・・・を埋め込む場合においては、図28Bに示すように、第1水平ラインは、そのまま出力され、第2水平ラインは、最初の被埋め込みデータと同一の値である10画素だけ、右方向にローテーションされる。さらに、第3水平ラインは、2番目の被埋め込みデータと同一の値である150画素だけ、右方向にローテーションされ、第4水平ラインは、3番目の被埋め込みデータと同一の値である200画素だけ、右方向にローテーションされる。第5水平ライン以降も、同様に、被埋め込みデータに対応する画素数だけ、右方向にローテーションされていく。
【0301】
以上のように、フレームメモリ21に記憶された画像を構成する水平ラインを、被埋め込みデータに対応した画素数だけ、右方向にローテーションすることにより、各水平ラインに、被埋め込みデータを埋め込む場合には、その逆のローテーション(逆向きのローテーション)を行うことで、元の画像データを復元することができ、さらに、その逆のローテーションを行ったときのローテーション量に基づき、画像データに埋め込まれていた被埋め込みデータを復元することができる。従って、画像データの画質の劣化を極力なくし、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。
【0302】
即ち、被埋め込みデータが埋め込まれた水平ラインは、元の位置から被埋め込みデータに対応するローテーション量(画素数)だけローテーションされているが、このような水平ラインは、画像データの相関性、即ち、ここでは、元の位置にある水平ラインとの間の相関を利用することにより、オーバヘッドなしで、元の位置に戻すことができる。さらに、水平ラインを元の位置に戻すことで、埋め込み処理によって、その水平ラインがローテーションされたローテーション量を認識することができ、そのローテーション量に基づいて、その水平ラインに埋め込まれていた被埋め込みデータを復元することができる。従って、その結果得られる復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【0303】
なお、埋め込み画像データに、元の位置にある水平ラインが存在しない場合には、上述のように画像の相関性を利用して、画像データと被埋め込みデータを復元するのは、一般には、困難である。そこで、ここでは、図26の埋め込み処理において、各フレームの第1水平ラインには、被埋め込みデータを埋め込まないで(ローテーションしないで)、そのまま、埋め込み画像データとするようにしている。
【0304】
次に、ラインローテーション方式による埋め込み処理により得られる埋め込み画像データは、以下のような、画像データの相関性を利用したラインローテーション方式による復元処理により、元の画像データと被埋め込みデータに復元することができる。
【0305】
即ち、ラインローテーション方式による復元処理では、埋め込み画像データの各水平ラインが、例えば、その第1水平ラインから、順次、注目ラインとされるとともに、その注目ラインの1ライン上の水平ラインが、基準ラインとされる。
【0306】
なお、注目ラインは、これから元の位置に戻そうとしている水平ラインであり、また、いまの場合、上方向から下方向に向かって、水平ラインが、順次、注目ラインとされるので、基準ラインは、既に元の位置に戻されている水平ラインである。
【0307】
ラインローテーション方式による復元処理では、その後、注目ラインを、1画素ずつ右または左のうちのいずれか一方向にローテーションしながら、そのローテーション後の注目ラインと、基準ラインとの間の相関を表す相関値が演算される。
【0308】
具体的には、例えば、図29Aに示すように、注目ラインをローテーションせずに(注目ラインを、0画素分だけローテーションして)、その注目ラインを構成する画素の画素値と、基準ラインを構成する対応する画素の画素値との差分絶対値の総和の逆数が、注目ラインについての基準ラインとの間の相関値として計算される。さらに、図29Bに示すように、注目ラインが、1画素だけ右または左のうちのいずれかにローテーションされ(図29では、図27で説明した場合の逆方向である左方向にローテーションされている)、そのローテーション後の注目ラインについて、基準ラインとの間の相関値が計算される。以下、同様にして、注目ラインが元の位置(埋め込み画像データにおける元の位置)に戻るまで、注目ラインを、2画素、3画素、・・・と順次ローテーションしながら、基準ラインとの間の相関値が計算される。
【0309】
以上のようにして、各ローテーション量(ここでは、水平ラインを構成する画素数)でローテーションされた注目ラインについての相関値が計算された後は、各ローテーション量の中から、注目ラインについての相関値を最大にするローテーション量が検出される。そして、その検出されたローテーション量が、注目ラインを元の位置に戻すローテーション量として決定され(この決定されたローテーション量を、以下、適宜、決定ローテーション量という)、注目ラインが、決定ローテーション量だけ、相関値を計算する場合と同一の方向(上述の場合は、左方向)にローテーションされることで、元の位置に戻される。即ち、これにより、注目ラインが復元される。
【0310】
さらに、決定ローテーション量に基づいて、注目ラインに埋め込まれていた被埋め込みデータが復元される。
【0311】
次に、図30フローチャートを参照して、図4の復元器6においてラインローテーション方式による復元処理が行われる場合の、その復元処理について説明する。
【0312】
フレームメモリ31では、そこに供給される埋め込み画像データが、例えば、1フレーム単位で順次記憶される。
【0313】
そして、復元部32は、ステップS141において、フレームメモリ31に記憶された埋め込み画像データの、まだ注目ラインとされていない水平ラインのうちの、より上の行の水平ラインを、注目ラインとして読み出し、ステップS142に進む。ステップS142では、復元部32は、注目ラインが、第1水平ラインであるかどうかを判定する。ステップS142において、注目ラインが、第1水平ラインであると判定された場合、ステップS143に進み、復元部32は、第1水平ラインである注目ラインを、そのまま、フレームメモリ31に上書きする形で書き込み、ステップS150に進む。即ち、図28の埋め込み処理では、上述したように、第1水平ラインには、被埋め込みデータが埋め込まれていないため(従って、ローテーションされていない)、第1水平ラインは、特に操作されない。
【0314】
また、ステップS142において、注目ラインが、第1水平ラインでないと判定された場合、即ち、注目ラインが、第2水平ライン以降のいずれかの水平ラインである場合、ステップS144に進み、復元部32は、注目ラインの1ライン上の水平ラインを基準ラインとして、フレームメモリ31から読み出し、ステップS145に進む。ステップS145では、復元部32は、注目ラインと基準ラインとの間の相関値(ライン相関値)を計算し、その内蔵するメモリに記憶して、ステップS146に進む。
【0315】
ステップS146では、復元部32は、注目ラインを、例えば、左方向に、1画素だけローテーションし、ステップS147に進む。ステップS147では、復元部32は、ステップS146で注目ラインがローテーションされることにより、そのローテーション後の注目ラインの各画素が、フレームメモリ31に記憶されている注目ラインの各画素の位置に戻ったかどうかを判定する。
【0316】
ステップS147において、ローテーション後の注目ラインの各画素が、フレームメモリ31に記憶されている注目ラインの各画素の位置に戻っていないと判定された場合、ステップS145に戻り、ローテーション後の注目ラインと基準ラインとの間の相関値が計算され、以下、同様の処理が繰り返される。
【0317】
また、ステップS147において、ローテーション後の注目ラインの各画素が、フレームメモリ31に記憶されている注目ラインの各画素の位置に戻ったと判定された場合、ステップS148に進み、復元部32は、注目ラインについて、ステップS145乃至S147のループ処理を行うことにより得られた各ローテーション量に対する相関値の中から、その最大値を求める。さらに、ステップS148では、復元部32は、最大値となる相関値を与えるローテーション量を検出し、そのローテーション量を、決定ローテーション量として決定する。そして、復元部32は、その決定ローテーション量に基づいて、注目ラインに埋め込まれていた被埋め込みデータを復元して出力し、即ち、決定ローテーション量を、そのまま被埋め込みデータとして出力し、ステップS149に進む。
【0318】
ステップS149では、復元部32は、フレームメモリ31に記憶されている注目ラインを読み出し、決定ローテーション量だけ左方向にローテーションすることにより、注目ラインを復元する(注目ラインを、元の画像データにおける位置に戻す)。さらに、ステップS149では、復元部32は、ローテーション後の注目ラインを、フレームメモリ31に上書きする形で書き込み、ステップS150に進む。
【0319】
ステップS150では、復元部32は、フレームメモリ31に記憶された埋め込み画像データのすべての水平ラインを、注目ラインとして処理を行ったかどうかを判定する。ステップS150において、フレームメモリ31に記憶された埋め込み画像データのすべての水平ラインを、まだ、注目ラインとしていないと判定された場合、ステップS141に戻り、いままで注目ラインとされていた1ライン下の水平ラインが、新たに注目ラインとされ、以下、同様の処理が繰り返される。
【0320】
また、ステップS150において、フレームメモリ31に記憶された埋め込み画像データのすべての水平ラインを、注目ラインとしたと判定された場合、即ち、フレームメモリ31に記憶された1フレームの埋め込み画像データの各水平ライン(但し、ここでは、第1水平ラインを除く)に埋め込まれていた被埋め込みデータを復元するとともに、その埋め込み画像データを、元の画像データに復元した場合、復元部32は、その復元した画像データを、フレームメモリ31から読み出して出力させ、処理を終了する。
【0321】
なお、以上の復元処理は、フレームメモリ31に記憶された埋め込み画像データの各フレームについて、繰り返し行われる。
【0322】
以上のように、水平ラインをローテーションすることにより被埋め込みデータが埋め込まれた埋め込み画像データについて、水平ラインのローテーションを行い、画像の相関性を利用して、水平ラインを元の位置に戻すようにしたので、オーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。
【0323】
なお、図30の復元処理では、注目ラインと、基準ラインとの間の相関を表す相関値として、対応する画素どうしの差分絶対値の総和(差分絶対値和)を用いるようにしたが、その他、例えば、画素の差分の自乗和等を用いることも可能である。
【0324】
また、図26の埋め込み処理では、1つの水平ラインを、被埋め込みデータにしたがってローテーションするようにしたため、1つの水平ラインには、その水平ラインを構成する画素数だけの範囲内の値の被埋め込みデータの埋め込みが可能である。但し、1つの水平ラインを構成する画素数より大きい範囲内の値の被埋め込みデータの埋め込みであっても、例えば、2つの水平ラインなどの複数の水平ラインを、被埋め込みデータにしたがってローテーションするようにすることで行うことが可能である。
【0325】
ところで、例えば、上述した図26のラインローテーション方式による埋め込み処理では、埋め込み対象データとしての画像データの水平方向に並ぶ画素で構成される水平ラインを、水平方向にローテーションすることにより、被埋め込みデータの埋め込みを行うようにしたが、被埋め込みデータの埋め込みは、その他、例えば、画像データの垂直方向に並ぶ画素で構成される垂直ラインを、垂直方向にローテーションしたり、あるいは、斜め方向に並ぶ画素で構成されるラインを、その斜め方向にローテーションすることなどによって行うことも可能である。
【0326】
また、ラインローテーション方式による場合には、水平ラインまたは垂直ラインのうちのいずれか一方をローテーションすることにより、被埋め込みデータを埋め込み、その後、水平ラインまたは垂直ラインのうちの他方をローテーションすることにより、被埋め込みデータを、さらに埋め込むことが可能である。
【0327】
即ち、例えば、図31Aに示すように、ラインローテーション方式による埋め込み処理では、埋め込み対象データとしての画像データの水平ラインを、所定の被埋め込みデータD1に対応してローテーションすることにより、その被埋め込みデータD1を埋め込み、さらに、その結果生成される埋め込み符号化データC1としての画像データの垂直ラインを、他の被埋め込みデータD2に対応してローテーションすることにより、その被埋め込みデータD2を埋め込むことが可能である。
【0328】
いま、埋め込み符号化データC1としての画像データの垂直ラインをローテーションすることにより、被埋め込みデータD2を埋め込んで生成される埋め込み符号化データを、埋め込み符号化データC2と記述するものとすると、埋め込み符号化データC2には、元の画像データの水平ラインだけでなく、垂直ラインもローテーションすることによって、被埋め込みデータD1およびD2が埋め込まれているから、図26の埋め込み処理で説明したように、画像データの水平ラインだけをローテーションする場合に比較して、より多くの被埋め込みデータを埋め込むことができる。
【0329】
即ち、例えば、埋め込み対象データとしての画像データの水平ラインと垂直ラインのライン数が同一であるとした場合には、画像データの水平ラインと垂直ラインの両方をローテーションして生成される埋め込み符号化データC2には、画像データの水平ラインだけをローテーションして生成される埋め込み符号化データC1における場合の2倍のデータ量の被埋め込みデータを埋め込むことができる。
【0330】
以上のような埋め込み符号化データC2を、埋め込み対象データと被埋め込みデータD1およびD2に復元する復元処理は、やはり、画像の相関性を利用して、次のように行うことができる。
【0331】
即ち、埋め込み対象データとしての画像データの水平ラインをローテーションすると、その画像データにおける、水平ラインと直交する空間方向である垂直方向の相関性が破壊される。従って、画像データの水平ラインのみをローテーションすることにより生成される埋め込み符号化データについては、その水平ラインを、垂直方向の相関性を元に戻すように(図30の復元処理においては、基準ラインとの間の相関値が最大になるように)ローテーションすることで、元の画像データに復元することができる。
【0332】
画像データの垂直ラインのみをローテーションすることにより生成される埋め込み符号化データについても、上述の、水平ラインをローテーションすることにより生成される埋め込み符号化データにおける場合と同様にして、元の画像データに復元することができる。
【0333】
即ち、埋め込み対象データとしての画像データの垂直ラインをローテーションすると、その画像データにおける、垂直ラインと直交する空間方向である水平方向の相関性が破壊される。従って、画像データの垂直ラインをローテーションすることにより生成される埋め込み符号化データについては、その垂直ラインを、水平方向の相関性を元に戻すようにローテーションすることで、元の画像データに復元することができる。
【0334】
以上から、画像データの水平ラインをローテーションすると、垂直方向の相関性は破壊されるが、水平方向の相関性は影響を受けない。また、画像データの垂直ラインをローテーションすると、水平方向の相関性は破壊されるが、垂直方向の相関性は影響を受けない。そして、画像データの水平ラインをローテーションすることにより生成される埋め込み符号化データは、垂直方向の相関性だけを利用して、元の画像データに復元することができ、画像データの垂直ラインをローテーションすることにより生成される埋め込み符号化データは、水平方向の相関性だけを利用して、元の画像データに復元することができる。
【0335】
従って、図31Aに示したように、埋め込み対象データとしての画像データの水平ラインを、被埋め込みデータD1に対応してローテーションすることにより、埋め込み符号化データC1を生成し、その埋め込み符号化データC1としての画像データの垂直ラインを、被埋め込みデータD2に対応してローテーションすることにより、埋め込み符号化データC2を生成した場合には、その埋め込み符号化データC2は、図31Bに示すように、その垂直ラインを、水平方向の相関性を元に戻すようにローテーションすることで、埋め込み符号化データC1と被埋め込みデータD2に復元することができる。そして、埋め込み符号化データC1は、その水平ラインを、垂直方向の相関性を元に戻すようにローテーションすることで、埋め込み対象データと被埋め込みデータD1に復元することができる。即ち、埋め込み符号化データC2を、元の埋め込み対象データと、被埋め込みデータD1およびD2に復元することができる。
【0336】
水平ラインのローテーションによる埋め込みと、垂直ラインのローテーションによる埋め込みとは、いずれも、被埋め込みデータに対応してラインをローテーションするという操作ルールにしたがって、埋め込み対象データを操作するラインローテーション方式による埋め込みであるが、水平ラインのローテーションは、垂直方向の相関にのみ影響を与え、垂直ラインのローテーションは、水平方向の相関にのみ影響を与えるものであるから、水平ラインのローテーションと、垂直ラインのローテーションとは、いわば、独立した操作または直交した操作であるということができる。このように、水平ラインのローテーションと、垂直ラインのローテーションとが、独立した操作であるがゆえに、画像データの水平ラインを被埋め込みデータD1に対応してローテーションし、さらに、垂直ラインを被埋め込みデータD2に対応してローテーションして得られる埋め込み符号化データC2は、元の画像データと被埋め込みデータD1およびD2に復元することができる。
【0337】
ところで、上述の埋め込み符号化データC2は、埋め込み対象データとしての画像データの水平ラインと垂直ラインがローテーションされたものであるから、画像データの、いわば空間的な相関性が、すべての空間方向について破壊されたものとなっている。
【0338】
従って、埋め込み符号化データC2としての画像データに対して、ラインローテーション方式による場合は勿論、その他の操作ルールにしたがって操作を行う、例えば、上述の画素スワップ方式や、ビットプレーンスワップ方式によって、さらに被埋め込みデータの埋め込みを行うと、対応する方式による復元処理では、埋め込み符号化データC2も、その埋め込み符号化データC2に埋め込んだ被埋め込みデータも復元することが困難となる。
【0339】
即ち、埋め込み符号化データC2としての画像データに対して、ラインローテーション方式によって、さらに他の被埋め込みデータD3を埋め込んだ場合、その被埋め込みデータD3は、埋め込み符号化データC2の水平ラインまたは垂直ラインを、被埋め込みデータD3に対応してローテーションすることにより埋め込まれる。
【0340】
しかしながら、この被埋め込みデータD3に対応する水平ラインまたは垂直ラインのローテーションは、被埋め込みデータD1の埋め込みを行うための水平ラインのローテーション、または被埋め込みデータD2の埋め込みを行うための垂直ラインのローテーションと重複する操作であるから、水平ラインのローテーションが、被埋め込みデータD1またはD3のうちのいずれの埋め込みによるものであるのかを区別することができず、あるいは、垂直ラインのローテーションが、被埋め込みデータD2またはD3のうちのいずれの埋め込みによるものであるのかを区別することができず、このため、埋め込み符号化データC2も、被埋め込みデータD3も復元することはできない。
【0341】
また、画素スワップ方式や、ビットプレーンスワップ方式による復号処理では、上述したことから、空間的に近接する画素との相関を利用して、元の画像データとそこに埋め込まれていた被埋め込みデータの復元が行われる。
【0342】
しかしながら、埋め込み符号化データC2としての画像データについては、その空間方向の相関性が、すべての方向について破壊されているため、そのような埋め込み符号化データC2に、画素スワップ方式や、ビットプレーンスワップ方式によって、被埋め込みデータD3を埋め込むことは、エネルギの偏りのない、例えば、ノイズを埋め込み対象データとして、画素スワップ方式や、ビットプレーンスワップ方式によって、被埋め込みデータD3を埋め込むことと等価である。
【0343】
従って、そのような埋め込みにより得られた新たな埋め込み符号化データについては、画像データ(情報としての価値がある画像データ)が有する空間方向の相関性を利用することができず、画素スワップ方式や、ビットプレーンスワップ方式による復元処理によっては、元の埋め込み対象データと被埋め込みデータを復元することはできない。
【0344】
以上から、空間方向の相関性がすべての方向について破壊されている埋め込み符号化データC2に対して、画素スワップ方式や、ビットプレーンスワップ方式によって、被埋め込みデータD3を埋め込み、新たな埋め込み符号化データを生成した場合には、その新たな埋め込み符号化データについては、埋め込み符号化データC2としての画像データの相関性を利用することによっては、その埋め込み符号化データC2とそこに埋め込まれていた被埋め込みデータD3を復元することはできない。
【0345】
ところで、ラインローテーション方式による埋め込み処理によって生成された埋め込み符号化データC2に対して、さらに、同一のラインローテーション方式によって、被埋め込みデータD3を埋め込み、新たな埋め込み符号化データを生成した場合には、上述したように、埋め込み符号化データC2を生成するときに行われる操作と、新たな埋め込み符号化データを生成するときに行われる操作とが重複することがあるので、仮に、元の埋め込み対象データとしての画像データを復元することができても、その埋め込み対象データに埋め込まれた被埋め込みデータD1乃至D3すべてを復元することは困難である。
【0346】
一方、ラインローテーション方式による埋め込み処理によって生成された埋め込み符号化データC2に対して、さらに、ラインローテーション方式とは異なる、例えば、ビットプレーンスワップ方式等によって、被埋め込みデータD3を埋め込んだ場合には、埋め込み符号化データC2を生成するときに行われる操作(ここでは、水平ラインのローテーションと垂直ラインのローテーション)と、新たな埋め込み符号化データを生成するときに行われる操作とが重複することはない。
【0347】
従って、この場合は、仮に、元の埋め込み対象データとしての画像データを復元することができれば、その埋め込み対象データに埋め込まれた被埋め込みデータD1乃至D3も、すべて復元することができる。
【0348】
即ち、仮に、新たな埋め込み符号化データから、元の埋め込み対象データを復元することができれば、その埋め込み対象データから新たな埋め込み符号化データを生成する操作が特定される。さらに、埋め込み対象データから新たな埋め込み符号化データを生成する操作は、埋め込み対象データに対して、ラインローテーション方式によって被埋め込みデータD1とD2を埋め込む操作と、その操作によって得られる埋め込み符号化データC2に対して、ラインローテーション方式とは異なる、例えば、ビットプレーンスワップ方式等によって被埋め込みデータD3を埋め込む操作とからなる。そして、いまの場合、被埋め込みデータD1およびD2を埋め込むラインローテーション方式による操作と、被埋め込みデータD3を埋め込むビットプレーンスワップ方式による操作とは、上述したように直交する操作であり、重複することがない。
【0349】
従って、埋め込み対象データから、被埋め込みデータD1乃至D3が埋め込まれた埋め込み符号化データを生成する操作が特定されれば、その操作に基づき、被埋め込みデータD1およびD2を埋め込むラインローテーション方式による操作も、被埋め込みデータD3を埋め込むビットプレーンスワップ方式による操作のいずれの操作も特定することができる。
【0350】
そこで、図32は、ラインローテーション方式とビットプレーンスワップ方式などのように、複数の方式による埋め込みを行う図2の埋め込み符号化器3の構成例を示している。なお、図中、図3における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図32の埋め込み符号化器3は、特徴抽出部23および統合部24が新たに設けられている他は、基本的に、図3における場合と同様に構成されている。
【0351】
特徴抽出部23には、フレームメモリ21に供給されるのと同一の埋め込み対象データとしての1フレームの画像データが供給されるようになっている。特徴抽出部23は、そこに供給される埋め込み対象データとしての1フレームの画像データから、その特徴を表す特徴データを抽出し、統合部24に供給する。
【0352】
ここで、特徴抽出部23は、埋め込み対象データとしての1フレームの画像データから、例えば、次のような特徴データを抽出する。
【0353】
即ち、特徴抽出部23は、画像データの1以上の特定位置にある画素の画素値を、特徴データとして抽出する。また、特徴抽出部23は、画像データの1以上の特定位置にある画素と、その上、下、左、または右に隣接する画素との画素値の差分値を計算し、その差分値を、特徴データとして抽出する。さらに、特徴抽出部23は、画像データを、所定の大きさのブロックに分割し、各ブロックのアクティビティやダイナミックレンジを求め、その各ブロックごとのアクティビティやダイナミックレンジを、特徴データとして抽出する。ここで、ブロックのアクティビティとしては、例えば、ブロックを構成する各画素と、その画素に隣接する画素との画素値の差分絶対値(あるいは、差分の自乗)の総和や、ブロックを構成する画素の画素値をDCT変換して得られるDCT係数のうちのAC(Alternating Current)成分の絶対値和等の、ブロックにおける画素値の変化の度合いを表すものを採用することができる。また、ブロックのダイナミックレンジとしては、例えば、ブロックを構成する画素の画素値の最大値と最小値との差を採用することができる。
【0354】
その他、特徴抽出部23には、1フレームを構成する画像データの画素値の平均値や、分散、度数の最も高い画素値(最頻値)等を、特徴データとして抽出させることが可能である。
【0355】
なお、特徴抽出部23において抽出する画像データの特徴データは、上述したものに限定されるものではない。即ち、特徴データとしては、上述したものの他、例えば、画像データに表示されている物体の輪郭や重心位置等の、その画像データの特徴を表すものであれば、上述したもの以外のものを採用することが可能である。また、特徴抽出部23では、2種類以上の特徴データを抽出することも可能である。
【0356】
統合部24は、特徴抽出部23から特徴データを受信し、フレームメモリ21に記憶された画像データ、即ち、その特徴データが抽出された画像データ(埋め込み対象データとしての画像データそのものの他、その画像データに、被埋め込みデータを埋め込んで得られる埋め込み符号化データとしての画像データも含む)と、特徴データとを統合する。
【0357】
ここで、統合部24における画像データと、その特徴データとの統合の方法は、特に限定されるものではない。即ち、画像データと特徴データとは、画像データまたは特徴データに、特徴データまたは画像データを、単に付加する形で統合することもできるし、時分割多重や周波数分割多重、異なる拡散符号による周波数拡散等によって統合することも可能である。さらに、画像データと特徴データとは、画像データに、特徴データを埋め込むことによって統合することも可能である。
【0358】
次に、図33のフローチャートを参照して、図32の埋め込み符号化器3による埋め込み処理について説明する。
【0359】
埋め込み対象データベース1からは、そこに記憶されている埋め込み対象データとしての画像データがフレーム単位で読み出され、フレームメモリ21と特徴抽出部23に供給される。フレームメモリ21は、埋め込み対象データベース1から供給される埋め込み対象データとしての1フレームの画像データを記憶する。
【0360】
特徴抽出部23は、埋め込み対象データベース1から供給される埋め込み対象データとしての1フレームの画像データを受信し、ステップS161において、その画像データから、特徴データを抽出し、統合部24に供給して、ステップS162に進む。
【0361】
ステップS162では、統合部24が、特徴抽出部23からの特徴データと、フレームメモリ21に記憶された埋め込み対象データとしての画像データとを統合するとともに、埋め込み部22が、被埋め込みデータベース2から被埋め込みデータを読み出し、フレームメモリ21に記憶された埋め込み対象データとしての画像データに埋め込む。これにより、フレームメモリ21に記憶された埋め込み対象データとしての画像データは、特徴データが統合された埋め込み符号化データとされ、ステップS162では、さらに、その特徴データが統合された埋め込み符号化データが、フレームメモリ21から読み出されて処理を終了する。
【0362】
なお、図33の処理は、埋め込み対象データとしての1フレームの画像データが、フレームメモリ21に新たに記憶されるごとに繰り返し行われる。
【0363】
次に、図34は、図32の埋め込み符号化器3(のフレームメモリ21)から出力される、特徴データが統合された埋め込み符号化データを、元の埋め込み対象データとしての画像データと被埋め込みデータに復元する図2の復元器6の構成例を示している。なお、図中、図4における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図34の復元器6は、特徴分離部33、特徴抽出部34、および判定制御部35が新たに設けられている他は、図4における場合と、基本的に同様に構成されている。
【0364】
特徴分離部33は、フレームメモリ31に記憶された埋め込み符号化データから、特徴データを分離し、判定制御部35に供給する。即ち、フレームメモリ31には、特徴データが統合された埋め込み符号化データが供給され、フレームメモリ31は、その特徴データが統合された埋め込み符号化データを一時記憶するようになっており、特徴分離部33は、フレームメモリ31に記憶された、特徴データが統合された埋め込み符号化データから、その特徴データを分離し、判定制御部35に供給する。
【0365】
ここで、特徴データが統合された埋め込み符号化データから分離される特徴データは、埋め込み対象データとしての元の画像データ(原画像)から抽出された、その画像データの特徴を表すものであり、後述する仮復元特徴データと区別するために、以下、適宜、原特徴データという。
【0366】
特徴抽出部34は、復元部32において仮に復元された埋め込み対象データとしての画像データ(以下、適宜、仮復元画像データという)から、図32の特徴抽出部23における場合と同様にして特徴データを抽出し、その特徴データを、仮復元特徴データとして、判定制御部35に供給する。
【0367】
即ち、図34の実施の形態では、復元部32は、フレームメモリ32に記憶された埋め込み符号化データを、埋め込み符号化器3において埋め込み対象データに被埋め込みデータを埋め込むときに行った埋め込み対象データの操作に対応する操作ルールにしたがって操作することにより、仮の埋め込み対象データとしての画像データ(仮復元画像データ)と、仮の被埋め込みデータに復元するようになっている。そして、特徴抽出部34は、復元部32で得られる仮復元画像データから、その特徴データを抽出し、仮復元特徴データとして、判定制御部35に供給する。
【0368】
判定制御部35は、特徴分離部33から供給される原特徴データと、特徴抽出部34から供給される仮復元特徴データの一致性を判定し、その判定結果に基づいて、復元部32における復元処理を制御する。
【0369】
即ち、仮復元画像データが、元の埋め込み対象データとしての画像データに一致していれば(正確に復元されていれば)、その仮復元画像データの特徴データである仮復元特徴データは、原特徴データと一致するはずである。従って、原特徴データと仮復元特徴データとが一致していれば、仮復元画像データが、元の埋め込み対象データとしての画像データに、正確に復元されているということができる。
【0370】
そこで、判定制御部35は、原特徴データと仮復元特徴データとが一致しているかどうかを判定し、一致していない場合には、復元部32における復元処理を制御する。これにより、復元部32は、フレームメモリ32に記憶された埋め込み符号化データに対して、埋め込み符号化器3において埋め込み対象データに被埋め込みデータを埋め込むときに行った埋め込み対象データの操作に対応する操作ルールにしたがった他の操作を施すことにより、新たに、仮復元画像データと、仮の被埋め込みデータを復元する。
【0371】
一方、判定制御部35は、原特徴データと仮復元特徴データとが一致している場合には、その仮復元特徴データが得られた仮復元画像データが、元の埋め込み対象データとしての画像データに、正確に復元されているとして、その仮復元画像データを、フレームメモリ31に上書きするように、復元部32を制御する。
【0372】
次に、図35のフローチャートを参照して、図34の復元器6による復元処理について説明する。
【0373】
特徴データ(原特徴データ)が統合された埋め込み符号化データは、フレームメモリ31に供給され、一時記憶される。
【0374】
そして、ステップS171において、特徴分離部33は、フレームメモリ31に記憶された埋め込み符号化データから、原特徴データを分離し、判定制御部35に供給する。
【0375】
さらに、ステップS171では、復元部32が、フレームメモリ31に記憶された埋め込み符号化データに対して、図32の埋め込み部22における埋め込み処理の操作ルールにしたがった所定の操作を施し、これにより、仮の埋め込み対象データとしての仮復元画像データと、仮の被埋め込みデータを復元する。
【0376】
その後、ステップS172に進み、特徴抽出部34が、復元部32で得られた仮復元画像データから特徴データを抽出し、仮復元特徴データとして、判定制御部35に供給して、ステップS173に進む。
【0377】
ステップS173では、判定制御部35が、原特徴データと仮復元特徴データとが一致するかどうかを判定する。ステップS173において、原特徴データと仮復元特徴データとが一致しないと判定された場合、ステップS174に進み、判定制御部35は、埋め込み符号化データに対して他の操作を施すように、復元部32を制御し、ステップS175に進む。
【0378】
ステップS175では、復元部32が、判定制御部35からの制御にしたがい、フレームメモリ32に記憶された埋め込み符号化データに対して、図32の埋め込み符号化器3における埋め込み処理の操作ルールにしたがった他の操作を施すことにより、新たに、仮復元画像データと、仮の被埋め込みデータを復元する。そして、ステップS172に戻り、ステップS173において、原特徴データと仮復元特徴データとが一致すると判定されるまで、ステップS173乃至S175の処理を繰り返す。
【0379】
そして、ステップS173において、原特徴データと仮復元特徴データとが一致すると判定された場合、判定制御部35は、仮復元画像データを、フレームメモリ31に上書きするように、復元部32を制御し、ステップS176に進む。ステップS176では、復元部32は、仮復元画像データを、フレームメモリ31に上書きする形で書き込むとともに、その仮復元画像データとともに復元された仮の被埋め込みデータを、正確な復元結果として出力し、復元処理を終了する。
【0380】
なお、図35の処理は、埋め込み符号化データとしての1フレームの画像データが、フレームメモリ31に新たに記憶されるごとに繰り返し行われる。
【0381】
次に、特徴データ(原特徴データ)の統合方法として、例えば、埋め込みを採用した場合の埋め込み符号化器3における埋め込み処理と、復元器6における復元処理について説明する。
【0382】
この場合、埋め込み符号化器3では、図36Aに示すように、埋め込み対象データとしての画像データから特徴データが抽出され、その特徴データと被埋め込みデータが、埋め込み対象データとしての画像データに埋め込まれる。即ち、埋め込み符号化器3では、埋め込み対象データとしての画像データを、特徴データと被埋め込みデータに対応して操作する埋め込み処理が行われ、埋め込み符号化データが生成される。
【0383】
一方、復元器6では、図36Bに示すように、埋め込み符号化データが、埋め込み符号化器3における埋め込み処理の操作ルールと同一の操作ルールにしたがって操作され、埋め込み対象データとしての画像データと、その画像データに埋め込まれていた特徴データおよび被埋め込みデータが復元される。
【0384】
より具体的には、埋め込み符号化器3では、例えば、図37Aに示すように、埋め込み対象データとしての画像データから特徴データが抽出され、埋め込み対象データとしての画像データを、例えば、ラインローテーション方式により、特徴データに対応して操作する埋め込み処理が行われる。これにより、埋め込み対象データとしての画像データに、特徴データが埋め込まれ、埋め込み符号化データが生成される。ここで、埋め込み対象データに対して、最初の埋め込み処理が施されることにより得られる埋め込み符号化データを、以下、適宜、第1の埋め込み符号化データという。
【0385】
埋め込み符号化器3では、さらに、埋め込み対象データに特徴データを埋め込むことで得られた第1の埋め込み符号化データとしての画像データを、ラインローテーション方式と直交する操作を行う、例えば、ビットプレーンスワップ方式により、被埋め込みデータに対応して操作する埋め込み処理が行われる。これにより、第1の埋め込み符号化データ(特徴データが埋め込まれた埋め込み対象データ)としての画像データに、被埋め込みデータが埋め込まれ、埋め込み符号化データが生成される。ここで、第1の埋め込み符号化データに対して埋め込み処理が施されることにより得られる埋め込み符号化データ、即ち、埋め込み対象データとしての画像データに対して、最初の埋め込み処理とは異なる方式による、2回目の埋め込み処理が施されることにより得られる埋め込み符号化データを、以下、適宜、第2の埋め込み符号化データという。
【0386】
一方、復元器6では、図37Bに示すように、第2の埋め込み符号化データに対して、埋め込み符号化器3における2回目の埋め込み処理と同一のビットプレーンスワップ方式による復元処理としての操作が施され、これにより、仮の第1の埋め込み符号化データと、仮の被埋め込みデータが復元される。
【0387】
ここで、復元器6で行われる、この最初の復元処理では、全パターンの操作を行うことにより、各操作パターンごとの仮の第1の埋め込み符号化データと、仮の被埋め込みデータが復元される。即ち、最初の復元処理が、上述のようにビットプレーンスワップ方式によって行われる場合には、復元器6は、画像ブロックのビットプレーンを、全通りの並びに並び替えたものを、順次生成し、各並びのビットプレーンで構成される画像データを、仮の第1の埋め込み符号化データとして、順次出力する。
【0388】
復元器6は、ビットプレーンスワップ方式によるある操作によって、仮の第1の埋め込み符号化データを得ると、その仮の第1の埋め込み符号化データに対して、埋め込み符号化器3における最初の埋め込み処理と同一のラインローテーション方式による復元処理としての操作を施し、これにより、仮の埋め込み対象データ(仮復元画像データ)と、仮の特徴データ(原特徴データ)を復元する。
【0389】
ここで、復元器6で行われる2回目の復元処理では、最初の復元処理における場合と異なり、全パターンの操作を行うことにより得られる復元結果のうちの、最も確からしい復元結果のみが出力される。即ち、2回目の復元処理が、上述のようにラインローテーション方式によって行われる場合には、復元器6は、各ラインを、その相関が最も大きくなる位置にローテーションして得られる画像データを、仮の埋め込み対象データとして出力する。
【0390】
そして、復元器6は、仮の埋め込み対象データから、特徴データ(仮復元特徴データ)を抽出し、仮の原特徴データと比較することで、仮の原特徴データと仮復元特徴データとの一致性を判定する。
【0391】
仮の原特徴データと仮復元特徴データとが一致していない場合、復元器6は、仮の第1の埋め込み符号化データが、正確に、元の第1の埋め込み符号化データに復元されていないとして、第2の埋め込み符号化データに対して、ビットプレーンスワップ方式による復元処理(最初の復元処理)としての他のパターンの操作を施し、これにより、新たに、仮の第1の埋め込み符号化データと、仮の被埋め込みデータを復元する。
【0392】
さらに、復元器6は、新たな仮の第1の埋め込み符号化データに対して、埋め込み符号化器3における最初の埋め込み処理と同一のラインローテーション方式による復元処理(2回目の復元処理)としての操作を施し、これにより、仮の埋め込み対象データ(仮復元画像データ)と、仮の特徴データ(原特徴データ)を復元する。
【0393】
そして、復元器6は、仮の埋め込み対象データから、特徴データ(仮復元特徴データ)を抽出し、仮の原特徴データと比較することで、仮の原特徴データと仮復元特徴データとの一致性を判定する。
【0394】
仮の原特徴データと仮復元特徴データとが一致していない場合、復元器6は、上述の場合と同様の処理を繰り返す。
【0395】
一方、仮の原特徴データと仮復元特徴データとが一致している場合、復元器6は、そのときに得られている仮の埋め込み対象データと、仮の被埋め込みデータを、正確な復元結果とし、処理を終了する。
【0396】
次に、図38は、図37Aで説明した埋め込み処理を行う図2の埋め込み符号化器3の構成例を示している。
【0397】
埋め込み対象データベース1(図2)に記憶された埋め込み対象データとしての画像データは、例えば、フレーム単位で、特徴抽出部41と埋め込み器42に供給されるようになっており、被埋め込みデータベース2(図2)に記憶された被埋め込みデータは、埋め込み器43に供給されるようになっている。
【0398】
特徴抽出部41は、図32で説明した特徴抽出部23と同様に、そこに供給される埋め込み対象データとしての1フレームごとの画像データから、特徴データを抽出し、埋め込み器42に供給する。
【0399】
埋め込み器42は、埋め込み対象データベース1(図2)から供給される埋め込み対象データとしての1フレームの画像データを、特徴抽出部41から供給される特徴データに対応して、ラインローテーション方式により操作し、これにより、埋め込み対象データとしての画像データに特徴データを埋め込んだ第1の埋め込み符号化データを生成して、埋め込み器43に供給する。
【0400】
ここで、埋め込み器2において、上述のようにラインローテーション方式による埋め込み処理を行う場合には、特徴抽出部41では、埋め込み対象データとしての1フレームの画像データごとに、特徴データを抽出するのではなく、ラインローテーション方式により操作される単位である水平ラインや垂直ラインごとに、特徴データを抽出するようにすることが可能である。
【0401】
埋め込み器43は、埋め込み器42から供給される第1の埋め込み符号化データとしての1フレームの画像データを、被埋め込みデータベース2から供給される被埋め込みデータに対応して、ビットプレーンスワップ方式により操作し、これにより、第1の埋め込み符号化データとして画像データに被埋め込みデータを埋め込んだ第2の埋め込み符号化データを生成して出力する。
【0402】
次に、図39のフローチャートを参照して、図38の埋め込み符号化器3による埋め込み処理について説明する。
【0403】
まず最初に、ステップS181において、埋め込み対象データベース1(図2)に記憶された埋め込み対象データとしての1フレームの画像データが、特徴抽出部41と埋め込み器42に供給されるとともに、被埋め込みデータベース2(図2)に記憶された被埋め込みデータが、埋め込み器43に供給され、ステップS182に進む。
【0404】
ステップS182では、特徴抽出部41が、そこに供給される埋め込み対象データとしての1フレームの画像データから、特徴データを抽出し、埋め込み器42に供給して、ステップS183に進む。
【0405】
ステップS183では、埋め込み器42が、埋め込み対象データベース1(図2)から供給される埋め込み対象データとしての1フレームの画像データを、特徴抽出部41から供給される特徴データに対応して、ラインローテーション方式により操作し、これにより、埋め込み対象データとしての画像データに特徴データを埋め込む。この埋め込みによって得られる第1の埋め込み符号化データは、埋め込み器42から43に供給され、ステップS184に進む。
【0406】
ステップS184では、埋め込み器43が、埋め込み器42から供給される第1の埋め込み符号化データとしての1フレームの画像データを、被埋め込みデータベース2から供給される被埋め込みデータに対応して、ビットプレーンスワップ方式により操作し、これにより、第1の埋め込み符号化データとして画像データに被埋め込みデータを埋め込む。この埋め込みによって得られる第2の埋め込み符号化データは、最終的な埋め込みデータとして出力され、処理を終了する。
【0407】
なお、図39の処理は、埋め込み対象データベース1に記憶された埋め込み対象データとしての画像データの各フレームについて、繰り返し行われる。
【0408】
次に、図40は、図37Bで説明した復元処理を行う図2の復元器6の構成例を示している。
【0409】
図38および図39で説明したようにして埋め込み符号化器6で得られる第2の埋め込み符号化データとしての画像データは、復元部51に供給される。
【0410】
復元部51は、そこに供給される第2の埋め込み符号化データを、図38の埋め込み器43における場合と同様のビットプレーンスワップ方式により操作し、これにより、仮の第1の埋め込み符号化データと、仮の被埋め込みデータを復元する。さらに、復元部51は、仮の第1の埋め込み符号化データを、復元部52に供給するとともに、仮の被埋め込みデータを、被埋め込みデータ用バッファ55に供給する。
【0411】
また、復元部51は、第2の埋め込み符号化データを、ビットプレーンスワップ方式により操作したときの、その操作の仕方(操作パターン)(どのように、ビットプレーンを入れ替えたか)を表す情報(以下、適宜、操作情報という)を生成し、その操作情報を、操作情報用バッファ58に供給する。
【0412】
なお、復元部51は、第2の埋め込み符号化データの、ビットプレーンスワップ方式による操作を、後述する判定制御部56の制御にしたがい、操作情報用バッファ58に記憶された操作情報を、スイッチ59を介して参照しながら行う。
【0413】
即ち、復元部51は、ある第2の埋め込み符号化データを受信した場合、最初は、その第2の埋め込み符号化データに対して、ビットプレーンスワップ方式による所定の操作を施すことにより、ビットプレーンを、ある並びに並べ替える。そして、復元部51は、その操作に対応する操作情報(ここでは、例えば、ビットプレーンの並べ替え方)を、操作情報用バッファ58に供給して記憶させる。
【0414】
その後、復元部51は、判定制御部56から、再度の復元処理の要求を表す再処理指示信号を受信すると、スイッチ59を介して、操作情報用バッファ58に記憶された操作情報を参照することで、それまでに第2の埋め込み符号化データに対して施したビットプレーンスワップ方式による操作を認識し、その認識した操作以外のビットプレーンスワップ方式による操作を、第2の埋め込み符号化データに施す。これにより、復元部51は、それまでに復元した仮の第1の埋め込み符号化データとは異なる仮の第1の埋め込み符号化データを、新たに復元する。
【0415】
復元部52は、復元部51から供給される仮の第1の埋め込み符号化データを、図38の埋め込み器42における場合と同様のラインローテーション方式により操作し、これにより、仮の埋め込み対象データと、仮の原特徴データを復元する。さらに、復元部52は、仮の埋め込み対象データを、埋め込み対象データ用バッファ53および特徴抽出部54に供給するとともに、仮の原特徴データを、判定制御部56に供給する。
【0416】
埋め込み対象データ用バッファ53は、復元部52から供給される仮の埋め込み対象データとしての仮復元画像データを、順次、上書きする形で記憶する。
【0417】
特徴抽出部54は、図32の特徴抽出部23と同様に構成され、復元部52から供給される仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、仮復元特徴データとして、判定制御部56に供給する。
【0418】
被埋め込みデータ用バッファ55は、復元部51から供給される被埋め込みデータを、順次上書きする形で記憶する。
【0419】
判定制御部56は、図34の判定制御部35と同様に、復元部52から供給される仮の原特徴データと、特徴抽出部54から供給される仮復元特徴データの一致性を判定し、その判定結果に基づいて、復元部51における復元処理その他を制御する。
【0420】
即ち、判定制御部56は、仮の原特徴データと仮復元特徴データとの一致性に基づいて、復元部51、スイッチ57、およびスイッチ59乃至61を制御する。
【0421】
スイッチ57は、判定制御部56の制御にしたがい、端子57Aまたは57Bを選択する。操作情報用バッファ58は、復元部51から供給される操作情報を、一時記憶する。
【0422】
スイッチ59,60,61は、判定制御部56の制御にしたがい、オン/オフする。なお、スイッチ59がオン状態となることにより、復元部51が操作情報用バッファ58に記憶された操作情報を参照可能な状態となる。また、スイッチ60がオン状態となることにより、埋め込み対象データ用バッファ53に記憶された埋め込み対象データが出力可能な状態となる。さらに、スイッチ61がオン状態となることにより、被埋め込みデータ用バッファ55に記憶された被埋め込みデータが出力可能な状態となる。
【0423】
ここで、スイッチ59乃至61は、判定制御部56によって特に制御されない限り、デフォルトで、オフ状態となるようになっている。
【0424】
次に、図41のフローチャートを参照して、図40の復元器6による復元処理について説明する。
【0425】
まず最初に、ステップS191において、第2の埋め込み符号化データとしての1フレームの画像データが、復元部51に供給され、復元部51は、その第2の埋め込み符号化データを受信する。さらに、ステップS191では、埋め込み対象データ用バッファ53、被埋め込みデータ用バッファ55、および操作情報用バッファ58が、その記憶内容をクリアし、ステップS192に進む。
【0426】
ステップS192では、復元部51は、そこに供給される第2の埋め込み符号化データを、図38の埋め込み器43における場合と同様のビットプレーンスワップ方式により操作し、これにより、各画像ブロックのビットプレーンをある並びに並べ替えた画像データである仮の第1の埋め込み符号化データと、仮の被埋め込みデータを復元する。そして、復元部51は、仮の第1の埋め込み符号化データを、復元部52に供給するとともに、仮の被埋め込みデータを、被埋め込みデータ用バッファ55に供給し、上書きする形で記憶させる。さらに、ステップS192では、復元部51は、第2の埋め込み符号化データを、ビットプレーンスワップ方式により操作したときの、その操作の仕方を表す操作情報を生成し、その操作情報を、操作情報用バッファ58に供給して記憶させ、ステップS193に進む。
【0427】
ステップS193では、復元部52は、復元部51から供給される仮の第1の埋め込み符号化データを、図38の埋め込み器42における場合と同様のラインローテーション方式により操作し、これにより、水平ラインおよび垂直ラインを、その相関が最も高くなる位置にローテーションした仮の埋め込み対象データと、仮の原特徴データを復元する。そして、復元部52は、仮の埋め込み対象データを、埋め込み対象データ用バッファ53に供給し、上書きする形で記憶させる。さらに、復元部52は、仮の埋め込み対象データを、特徴抽出部54に供給するとともに、仮の原特徴データを、判定制御部56に供給し、ステップS194に進む。
【0428】
ステップS194では、特徴抽出部54は、復元部52から供給される仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、仮復元特徴データとして、判定制御部56に供給して、ステップS195に進む。
【0429】
ステップS195では、判定制御部56は、復元部52から供給される仮の原特徴データと、特徴抽出部54から供給される仮復元特徴データとを比較し、ステップS196に進む。ステップS196では、判定制御部56は、ステップS195における仮の原特徴データと仮復元特徴データとの比較結果に基づいて、それらの一致性を判定する。
【0430】
ステップS196において、仮の原特徴データと仮復元特徴データとが一致していないと判定された場合、ステップS197に進み、判定制御部56は、復元部51と、スイッチ57およびスイッチ59乃至61を制御する。
【0431】
即ち、判定制御部56は、スイッチ57に端子57Aを選択させるとともに、再処理指示信号を生成して出力する。これにより、判定制御部56が出力する再処理指示信号は、スイッチ57および端子57Aを介して、復元部51およびスイッチ59に供給される。
【0432】
スイッチ59は、再処理指示信号を受信すると、デフォルトの状態であるオフ状態からオン状態となり、これにより、復元部51は、スイッチ59を介して、操作情報用バッファ58の参照が可能な状態となる。
【0433】
また、復元部51は、再処理指示信号を受信すると、スイッチ59を介して、操作情報用バッファ58に記憶された操作情報を参照し、第2の埋め込み符号化データに対して、まだ行っていないビットプレーンスワップの仕方を認識する。そして、復元部51は、その認識したビットプレーンスワップの仕方のうちのいずれか1つを選択し、ステップS192に戻る。
【0434】
ステップS192では、復元部51は、ステップS197で選択したビットプレーンスワップの仕方にしたがい、第2の埋め込み符号化データを操作し、これにより、その第2の埋め込み符号化データについては、それまでとは別の仮の第1の埋め込み符号化データと、仮の被埋め込みデータが、新たに復元される。そして、ステップS193に進み、復元部52において、復元部51で復元された新たな仮の第1の埋め込み符号化データが、ラインローテーション方式により操作され、これにより、やはり、それまでとは別の仮の埋め込み対象データと、仮の原特徴データが、新たに復元され、以下、同様の処理が繰り返される。
【0435】
一方、ステップS196において、仮の原特徴データと仮復元特徴データとが一致すると判定された場合、即ち、仮の埋め込み対象データが、元の埋め込み対象データに正確に復元されており、従って、仮の原特徴データも、元の埋め込み対象データから得られる原特徴データに正確に復元されている結果、その仮の原特徴データと仮復元特徴データとが一致する場合、ステップS198に進み、判定制御部56は、スイッチ57,60、および61を制御する。
【0436】
即ち、判定制御部56は、スイッチ57に端子57Bを選択させるとともに、出力指示信号を生成して出力する。これにより、判定制御部56が出力する出力指示信号は、スイッチ57および端子57Bを介して、スイッチ60および61に供給される。
【0437】
スイッチ60および61は、出力指示信号を受信すると、一時、オフ状態からオン状態になり、ステップS199に進み、埋め込み対象データ用バッファ53の記憶内容が、スイッチ60を介して読み出されるとともに、被埋め込み対象データ用バッファ55の記憶内容が、スイッチ61を介して読み出され、処理を終了する。
【0438】
即ち、埋め込み対象データ用バッファ53では、復元部52が、新たな仮の埋め込み対象データを出力するたびに、その新たな仮の埋め込み対象データが、上書きする形で記憶される。また、被埋め込みデータ用バッファ55でも、復元部51が新たな仮の被埋め込みデータを出力するたびに、その新たな仮の被埋め込みデータが、上書きする形で記憶される。
【0439】
一方、仮の原特徴データと仮復元特徴データとが一致する場合というのは、上述したように、復元部52が出力する仮の埋め込み対象データが、元の埋め込み対象データとして正確に復元されており、さらに、復元部51が出力する仮の被埋め込みデータも、元の被埋め込みデータとして正確に復元されている。
【0440】
従って、仮の原特徴データと仮復元特徴データとが一致する場合には、埋め込み対象データ用バッファ53には、正確に復元された埋め込み対象データが記憶されており、被埋め込みデータ用バッファ55にも、正確に復元された被埋め込みデータが記憶されている。その結果、ステップS199では、埋め込み対象データ用バッファ53から、スイッチ60を介して、正確に復元された埋め込み対象データが読み出されるとともに、被埋め込み対象データ用バッファ55から、スイッチ61を介して、正確に復元された被埋め込みデータが読み出されることになる。
【0441】
なお、図41の処理は、第2の埋め込み符号化データが新たに供給されるごとに繰り返し行われる。
【0442】
次に、上述の場合には、図37Aで説明したように、埋め込み対象データとしての画像データに対する最初の埋め込み処理において、その画像データから抽出した特徴データのみを埋め込むようにしたが、この最初の埋め込み処理では、特徴データの他、任意のデータとしての被埋め込みデータも埋め込むことが可能である。
【0443】
即ち、例えば、いま、最初の埋め込み処理で埋め込まれる被埋め込みデータを、第1の埋め込みデータというとともに、2回目の埋め込み処理で埋め込まれる被埋め込みデータを、第2の埋め込みデータというものとすると、埋め込み符号化器3では、例えば、図42Aに示すように、埋め込み対象データとしての画像データから特徴データが抽出され、第1の被埋め込みデータが、所定の操作ルールにしたがい、特徴データに対応して操作されることにより、第1の被埋め込みデータに、特徴データが埋め込まれる。
【0444】
具体的には、例えば、第1の被埋め込みデータが画像データであるとすると、埋め込み符号化器3は、その第1の被埋め込みデータとしての画像データを、例えば、ラインローテーション方式により、特徴データに対応して操作する埋め込み処理を行う。これにより、第1の被埋め込みデータとしての画像データに、特徴データが埋め込まれ、埋め込み符号化データが生成される。ここで、第1の被埋め込みデータに対して、特徴データを埋め込むことにより得られる埋め込み符号化データを、以下、適宜、特徴埋め込みデータという。
【0445】
その後、埋め込み符号化器3は、埋め込み対象データとしての画像データを、例えば、ラインローテーション方式により、特徴埋め込みデータに対応して操作する埋め込み処理(埋め込み対象データに対する最初の埋め込み処理)を行う。これにより、埋め込み対象データとしての画像データに、特徴埋め込みデータが埋め込まれ、第1の埋め込み符号化データが生成される。
【0446】
そして、埋め込み符号化器3では、図37Aで説明したように、第1の埋め込み符号化データとしての画像データを、最初の埋め込み処理におけるラインローテーション方式による操作と重複しない操作を行う、例えば、ビットプレーンスワップ方式により、第2の被埋め込みデータに対応して操作する埋め込み処理(埋め込み対象データに対する2回目の埋め込み処理)が行われる。これにより、第1の埋め込み符号化データ(特徴埋め込みデータが埋め込まれた埋め込み対象データ)としての画像データに、第2の被埋め込みデータが埋め込まれ、第2の埋め込み符号化データが生成される。
【0447】
なお、ここでは、第1の被埋め込みデータに対する特徴データの埋め込みと、埋め込み対象データに対する特徴埋め込みデータの埋め込みを、いずれも、ラインローテーション方式により行うこととしたが、第1の被埋め込みデータに対する特徴データの埋め込みと、埋め込み対象データに対する特徴埋め込みデータの埋め込みについては、ラインローテーション方式以外の方式(例えば、上述の画素スワップ方式など)を採用することが可能である。また、第1の被埋め込みデータに対する特徴データの埋め込みの方式と、埋め込み対象データに対する特徴埋め込みデータの埋め込みの方式とは、同一の方式である必要はなく、異なる方式(例えば、画素スワップ方式とラインローテーション方式など)を採用することが可能である。
【0448】
一方、復元器6では、図42Bに示すように、第2の埋め込み符号化データに対して、図37Bで説明した場合と同様に、埋め込み符号化器3における2回目の埋め込み処理と同一のビットプレーンスワップ方式による復元処理としての操作が施され、これにより、仮の第1の埋め込み符号化データと、仮の第2の被埋め込みデータが復元される。
【0449】
さらに、復元器6は、仮の第1の埋め込み符号化データに対して、埋め込み符号化器3における最初の埋め込み処理と同一のラインローテーション方式による復元処理としての操作を施し、これにより、仮の埋め込み対象データと、仮の特徴埋め込みデータを復元する。
【0450】
その後、復元器6は、仮の特徴埋め込みデータに対して、埋め込み符号化器3が第1の被埋め込みデータとしての画像データに特徴データを埋め込んだのと同一の方式(ここでは、上述したように、ラインローテーション方式)による復元処理としての操作を施し、これにより、仮の第1の被埋め込みデータと、仮の原特徴データを復元する。
【0451】
そして、復元器6は、仮の埋め込み対象データから、特徴データ(仮復元特徴データ)を抽出し、仮の原特徴データと比較することで、仮の原特徴データと仮復元特徴データとの一致性を判定する。
【0452】
仮の原特徴データと仮復元特徴データとが一致していない場合、復元器6は、仮の第1の埋め込み符号化データが、正確に、元の第1の埋め込み符号化データに復元されていないとして、第2の埋め込み符号化データに対して、ビットプレーンスワップ方式による復元処理としての他の操作を施し、これにより、新たに、仮の第1の埋め込み符号化データと、仮の第2の被埋め込みデータを復元する。
【0453】
さらに、復元器6は、新たな仮の第1の埋め込み符号化データに対して、埋め込み符号化器3における最初の埋め込み処理と同一のラインローテーション方式による復元処理としての操作を施し、これにより、新たに、仮の埋め込み対象データと、仮の特徴埋め込みデータを復元する。また、復元器6は、続けて、仮の特徴埋め込みデータに対して、ラインローテーション方式による復元処理としての操作を施し、これにより、新たに、仮の第1の被埋め込みデータと、仮の原特徴データを復元する。
【0454】
そして、復元器6は、新たな仮の埋め込み対象データから、特徴データ(仮復元特徴データ)を抽出し、新たな仮の原特徴データと比較することで、その仮の原特徴データと仮復元特徴データとの一致性を判定する。
【0455】
仮の原特徴データと仮復元特徴データとが一致していない場合、復元器6は、上述の場合と同様の処理を繰り返す。
【0456】
一方、仮の原特徴データと仮復元特徴データとが一致している場合、復元器6は、そのときに得られている仮の埋め込み対象データと、仮の第1および第2の被埋め込みデータを、正確な復元結果とし、処理を終了する。
【0457】
次に、図43は、図42Aで説明した埋め込み処理を行う図2の埋め込み符号化器3の構成例を示している。なお、図中、図38における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図43の埋め込み符号化器3は、埋め込み器44が新たに設けられている他は、基本的に、図38における場合と同様に構成されている。
【0458】
図43の実施の形態においては、埋め込み対象データは、特徴抽出部41と埋め込み器42に供給されるようになっている。また、第1の被埋め込みデータは、埋め込み器44に、第2の被埋め込みデータは、埋め込み器43に供給されるようになっている。
【0459】
そして、特徴抽出部41が出力する特徴データは、埋め込み器44に供給されるようになっており、埋め込み器44は、第1の被埋め込みデータ(ここでは、上述したように、画像データ)を、ラインローテーション方式により、特徴データに対応して操作する埋め込み処理を行い、これにより、第1の被埋め込みデータに対して特徴データを埋め込んだ特徴埋め込みデータを生成し、埋め込み器42に供給する。
【0460】
次に、図44のフローチャートを参照して、図43の埋め込み符号化器3による埋め込み処理について説明する。
【0461】
まず最初に、ステップS201において、埋め込み対象データベース1(図2)に記憶された埋め込み対象データとしての1フレームの画像データが、特徴抽出部41と埋め込み器42に供給される。さらに、ステップS201では、被埋め込みデータベース2(図2)に記憶された被埋め込みデータのうちのあるものが、第1の被埋め込みデータとして、埋め込み器44に供給されるとともに、他の被埋め込みデータが、第2の被埋め込みデータとして、埋め込み器43に供給され、ステップS202に進む。
【0462】
ステップS202では、特徴抽出部41が、そこに供給される埋め込み対象データとしての1フレームの画像データから、特徴データを抽出し、埋め込み器44に供給して、ステップS203に進む。
【0463】
ステップS203では、埋め込み器44が、被埋め込みデータベース2(図2)から供給される第1の被埋め込みデータを、特徴抽出部41から供給される特徴データに対応して、ラインローテーション方式により操作する。これにより、埋め込み器44は、第1の被埋め込みデータに対して特徴データを埋め込んだ特徴埋め込みデータを生成し、埋め込み器42に供給して、ステップS204に進む。
【0464】
ステップS204では、埋め込み器42が、埋め込み対象データベース1(図2)から供給される埋め込み対象データとしての1フレームの画像データを、埋め込み器44から供給される特徴埋め込みデータに対応して、ラインローテーション方式により操作し、これにより、埋め込み対象データとしての画像データに特徴埋め込みデータを埋め込む。この埋め込みによって得られる第1の埋め込み符号化データは、埋め込み器42から43に供給され、ステップS205に進む。
【0465】
ステップS205では、埋め込み器43が、埋め込み器42から供給される第1の埋め込み符号化データとしての1フレームの画像データを、被埋め込みデータベース2から供給される第2の被埋め込みデータに対応して、ビットプレーンスワップ方式により操作し、これにより、第1の埋め込み符号化データとして画像データに第2の被埋め込みデータを埋め込む。埋め込み器43は、ステップS206において、この埋め込みによって得られる第2の埋め込み符号化データを、最終的な埋め込みデータとして出力し、処理を終了する。
【0466】
なお、図44の処理は、埋め込み対象データベース1に記憶された埋め込み対象データとしての画像データの各フレームについて、繰り返し行われる。
【0467】
次に、図45は、図42Bで説明した復元処理を行う図2の復元器6の構成例を示している。なお、図中、図40における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図45の復元器6は、スイッチ62、被埋め込みデータバッファ63、および復元部64が新たに設けられている他は、基本的に、図40における場合と同様に構成されている。
【0468】
図45の実施の形態では、復元部51は、そこに供給される第2の埋め込み符号化データを、図43の埋め込み器43における場合と同様のビットプレーンスワップ方式により操作し、これにより、仮の第1の埋め込み符号化データと、仮の第2の被埋め込みデータを復元する。さらに、復元部51は、仮の第1の埋め込み符号化データを、復元部52に供給するとともに、仮の第2の被埋め込みデータを、被埋め込みデータ用バッファ55に供給する。
【0469】
復元部52は、復元部51から供給される仮の第1の埋め込み符号化データを、図43の埋め込み器42における場合と同様のラインローテーション方式により操作し、これにより、仮の埋め込み対象データと、仮の特徴埋め込みデータを復元する。さらに、復元部52は、仮の埋め込み対象データを、埋め込み対象データ用バッファ53および特徴抽出部54に供給するとともに、仮の特徴埋め込みデータを、復元部64に供給する。
【0470】
被埋め込みデータ用バッファ55は、復元部51から供給される第1の被埋め込みデータを上書きする形で記憶する。
【0471】
判定制御部56は、復元部64から供給される仮の原特徴データと、特徴抽出部54から供給される仮復元特徴データの一致性を判定し、その判定結果に基づいて、復元部51における復元処理その他を制御する。
【0472】
即ち、判定制御部56は、仮の原特徴データと仮復元特徴データとの一致性に基づいて、復元部51、スイッチ57、およびスイッチ59乃至62を制御する。
【0473】
スイッチ62は、判定制御部56の制御にしたがってオン/オフする。なお、スイッチ62がオン状態となることにより、被埋め込みデータ用バッファ63に記憶された被埋め込みデータが出力可能な状態となる。また、スイッチ62は、図40で説明したスイッチ59乃至61と同様に、判定制御部56によって特に制御されない限り、デフォルトで、オフ状態となるようになっている。
【0474】
被埋め込みデータ用バッファ63は、復元部64が出力する仮の第1の被埋め込みデータを、上書きする形で記憶する。
【0475】
復元部64は、復元部52から供給される特徴埋め込みデータを、図43の埋め込み器44における場合と同様のラインローテーション方式により操作し、これにより、仮の第1の被埋め込みデータと、仮の原特徴データを復元する。さらに、復元部64は、仮の第1の被埋め込みデータを、被埋め込みデータ用バッファ63に供給するとともに、仮の原特徴データを、判定制御部56に供給する。
【0476】
次に、図46のフローチャートを参照して、図45の復元器6による復元処理について説明する。
【0477】
まず最初に、ステップS211において、第2の埋め込み符号化データとしての1フレームの画像データが、復元部51に供給され、復元部51は、その第2の埋め込み符号化データを受信する。さらに、ステップS211では、埋め込み対象データ用バッファ53、被埋め込みデータ用バッファ55、操作情報用バッファ58、および被埋め込みデータ用バッファ63が、その記憶内容をクリアし、ステップS212に進む。
【0478】
ステップS212では、復元部51は、そこに供給される第2の埋め込み符号化データを、ビットプレーンスワップ方式により操作し、これにより、仮の第1の埋め込み符号化データと、仮の第1の被埋め込みデータを復元する。そして、復元部51は、仮の第1の埋め込み符号化データを、復元部52に供給するとともに、仮の第1の被埋め込みデータを、被埋め込みデータ用バッファ55に供給し、上書きする形で記憶させる。さらに、ステップS212では、復元部51は、第2の埋め込み符号化データを、ビットプレーンスワップ方式により操作したときの、その操作の仕方を表す操作情報を生成し、その操作情報を、操作情報用バッファ58に供給して記憶させ、ステップS213に進む。
【0479】
ステップS213では、復元部52は、復元部51から供給される仮の第1の埋め込み符号化データを、ラインローテーション方式により操作し、これにより、仮の埋め込み対象データと、仮の特徴埋め込みデータを復元する。そして、復元部52は、仮の埋め込み対象データを、埋め込み対象データ用バッファ53に供給し、上書きする形で記憶させる。さらに、復元部52は、仮の埋め込み対象データを、特徴抽出部54に供給するとともに、仮の特徴埋め込みデータを、復元部64に供給し、ステップS214に進む。
【0480】
ステップS214では、復元部64が、復元部52から供給される仮の特徴埋め込みデータを、ラインローテーション方式により操作し、これにより、仮の第1の被埋め込みデータと、仮の原特徴データを復元する。そして、復元部64は、仮の第1の被埋め込みデータを、被埋め込みデータ用バッファ63に供給し、上書きする形で記憶させる。さらに、復元部64は、仮の原特徴データを、判定制御部56に供給する。
【0481】
ステップS214では、復元部64で上述の処理が行われるのと並行して、特徴抽出部54が、復元部52から供給される仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、仮復元特徴データとして、判定制御部56に供給して、ステップS215に進む。
【0482】
ステップS215では、判定制御部56は、復元部64から供給される仮の原特徴データと、特徴抽出部54から供給される仮復元特徴データとを比較し、ステップS216に進む。ステップS216では、判定制御部56は、ステップS215における仮の原特徴データと仮復元特徴データとの比較結果に基づいて、それらの一致性を判定する。
【0483】
ステップS216において、仮の原特徴データと仮復元特徴データとが一致していないと判定された場合、ステップS217に進み、判定制御部56は、復元部51と、スイッチ57およびスイッチ59乃至62を制御する。
【0484】
即ち、判定制御部56は、スイッチ57に端子57Aを選択させるとともに、再処理指示信号を生成して出力する。これにより、判定制御部56が出力する再処理指示信号は、スイッチ57および端子57Aを介して、復元部51およびスイッチ59に供給される。
【0485】
スイッチ59は、再処理指示信号を受信すると、デフォルトの状態であるオフ状態からオン状態となり、これにより、復元部51は、スイッチ59を介して、操作情報用バッファ58の参照が可能な状態となる。
【0486】
また、復元部51は、再処理指示信号を受信すると、スイッチ59を介して、操作情報用バッファ58に記憶された操作情報を参照し、第2の埋め込み符号化データに対して、まだ行っていないビットプレーンスワップの仕方を認識する。そして、復元部51は、その認識したビットプレーンスワップの仕方のうちのいずれか1つを選択し、ステップS212に戻る。
【0487】
ステップS212では、復元部51は、ステップS217で選択したビットプレーンスワップの仕方にしたがい、第2の埋め込み符号化データを操作し、これにより、その第2の埋め込み符号化データについては、それまでとは別の仮の第1の埋め込み符号化データと、仮の第1の被埋め込みデータが、新たに復元される。そして、ステップS213に進み、復元部52では、復元部51で復元された新たな仮の第1の埋め込み符号化データが、ラインローテーション方式により操作され、これにより、やはり、それまでとは別の仮の埋め込み対象データと、仮の特徴埋め込みデータが、新たに復元され、ステップS214に進む。
【0488】
ステップS214では、復元部64が、復元部52から供給される新たな仮の特徴埋め込みデータを、ラインローテーション方式により操作し、これにより、新たな仮の第1の被埋め込みデータと、仮の原特徴データを復元する。さらに、ステップS214では、特徴抽出部54が、復元部52から供給される新たな仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、以下、同様の処理が繰り返される。
【0489】
一方、ステップS216において、仮の原特徴データと仮復元特徴データとが一致すると判定された場合、即ち、仮の埋め込み対象データが、元の埋め込み対象データに正確に復元されており、従って、仮の原特徴データも、元の埋め込み対象データから得られる原特徴データに正確に復元されている結果、その仮の原特徴データと仮復元特徴データとが一致する場合、ステップS218に進み、判定制御部56は、スイッチ57,60,61、および62を制御する。
【0490】
即ち、判定制御部56は、スイッチ57に端子57Bを選択させるとともに、出力指示信号を生成して出力する。これにより、判定制御部56が出力する出力指示信号は、スイッチ57および端子57Bを介して、スイッチ60乃至62に供給される。
【0491】
スイッチ60乃至62は、出力指示信号を受信すると、一時、オフ状態からオン状態になり、ステップS219に進み、埋め込み対象データ用バッファ53の記憶内容が、スイッチ60を介して、被埋め込み対象データ用バッファ55の記憶内容が、スイッチ61を介して、被埋め込み対象データ用バッファ63の記憶内容が、スイッチ62を介して、それぞれ読み出され、処理を終了する。
【0492】
即ち、埋め込み対象データ用バッファ53では、復元部52が、新たな仮の埋め込み対象データを出力するたびに、その新たな仮の埋め込み対象データが、上書きする形で記憶される。また、被埋め込みデータ用バッファ55でも、復元部51が新たな仮の第2の被埋め込みデータを出力するたびに、その新たな仮の第2の被埋め込みデータが、上書きする形で記憶される。さらに、図45の実施の形態では、被埋め込みデータ用バッファ63において、復元部64が新たな仮の第1の被埋め込みデータを出力するたびに、その新たな仮の第1の被埋め込みデータが、上書きする形で記憶される。
【0493】
一方、仮の原特徴データと仮復元特徴データとが一致する場合というのは、上述したように、復元部52が出力する仮の埋め込み対象データが、元の埋め込み対象データとして正確に復元されており、さらに、復元部51が出力する仮の第2の被埋め込みデータも、復元部64が出力する仮の第1の被埋め込みデータも、元の被埋め込みデータとして正確に復元されている。
【0494】
従って、仮の原特徴データと仮復元特徴データとが一致する場合には、埋め込み対象データ用バッファ53には、正確に復元された埋め込み対象データが記憶されており、被埋め込みデータ用バッファ55と63にも、正確に復元された第2の被埋め込みデータと第1の被埋め込みデータがそれぞれ記憶されている。その結果、ステップS219では、埋め込み対象データ用バッファ53から、スイッチ60を介して、正確に復元された埋め込み対象データが読み出されるとともに、被埋め込み対象データ用バッファ55と63から、スイッチ61と62を介して、正確に復元された第2と第1の被埋め込みデータがそれぞれ読み出されることになる。
【0495】
以上のように、埋め込み対象データに対して被埋め込みデータを埋め込むとともに、その埋め込み対象データの特徴データを統合するようにしたので、その統合された特徴データ(原特徴データ)と、復元された埋め込み対象データから得られる特徴データ(仮復元特徴データ)との一致性に基づき、埋め込み対象データが、正確に元に復元されているかどうかを認識することができる。そして、その結果、埋め込み対象データに対して、第1の被埋め込みデータを埋め込み、さらに、第2に被埋め込みデータを埋め込んだ場合であっても、埋め込み対象データ、並びに第1および第2の被埋め込みデータを、元に復元することができる。即ち、多くのデータの埋め込みと、その復元が可能となる。
【0496】
なお、図43の埋め込み符号化器3では、埋め込み部42や43において、固定の方式による埋め込み処理を行うようにしたが、埋め込み部42や43では、あらかじめ決定された幾つかの方式(例えば、上述した、画素スワップ方式、ラインローテーション方式、およびビットプレーンスワップ方式など)の中から任意の方式を選択し、その選択した方式による埋め込み処理を行うようにすることが可能である。
【0497】
この場合、図45の復元器6では、判定制御部56において、特徴データの一致性がない場合に、上述のあらかじめ決定された幾つかの方式を、順次選択し、その選択した方式による復元処理を採用するように、復元部51や52を制御するようにすることで、埋め込み対象データと被埋め込みデータの復元が可能となる。
【0498】
次に、図37の実施の形態では、最初の埋め込み処理において、特徴データを、ラインローテーション方式により埋め込み、2回目の埋め込み処理において、被埋め込みデータを、ラインローテーション方式とは異なるビットプレーンスワップ方式により埋め込むようにしたが、特徴データと、被埋め込みデータとは、同一の方式による埋め込み処理で埋め込むことが可能である。
【0499】
即ち、この場合、埋め込み符号化器3では、図47Aに示すように、埋め込み対象データとしての画像データが、例えば、ラインローテーション方式により、特徴データと被埋め込みデータに対応して操作され、埋め込み符号化データとされる。具体的には、埋め込み符号化器3は、埋め込み対象データとしての画像データの水平ラインを、特徴データに対応してローテーションし、さらに、その垂直ラインを、被埋め込みデータに対応してローテーションすることにより、埋め込み対象データに、特徴データおよび被埋め込みデータを埋め込んだ埋め込み符号化データを生成する。
【0500】
一方、この場合、復元器6では、図47Bに示すように、埋め込み符号化データとしての画像データの水平ラインと垂直ラインが、図31Bで説明したようにローテーションされることにより元の位置に戻され、これにより、埋め込み対象データ、原特徴データ、および被埋め込みデータが復元される。
【0501】
さらに、復元器6は、復元した埋め込み対象データから、特徴データを抽出する。そして、復元器6は、その抽出した特徴データと、復元した原特徴データとの一致性を判定し、その判定結果に基づいて、埋め込み符号化データを、埋め込み対象データ、原特徴データ、および被埋め込みデータに復元する復元処理を制御する。
【0502】
ところで、図47の実施の形態では、特徴データと被埋め込みデータが、ラインローテーション方式により、埋め込み対象データに埋め込まれるから、図31で説明したように、その埋め込みによって得られる埋め込み符号化データは、原理的には、埋め込み対象データとしての画像データの相関性を利用することで、埋め込み対象データ、原特徴データ、および被埋め込みデータに、正確に復元される。従って、基本的には、特徴データの一致性の判定結果に基づいて、復元処理を制御する必要はない。
【0503】
しかしながら、埋め込み符号化器3において得られた埋め込み符号化データに、何らかのエラー(外乱)が生じた場合には、復元器6において復元対象となる埋め込み符号化データは、埋め込み符号化器3で生成された埋め込み符号化データとは異なるものとなっていることがあり、そのような埋め込み符号化データは、埋め込み対象データとしての画像データの相関性を利用することだけでは、埋め込み対象データ、原特徴データ、および被埋め込みデータに、正確に復元することが困難なことがある。
【0504】
そこで、図47Bの実施の形態では、上述したように、復元器6が、復元した埋め込み対象データから抽出された特徴データと、復元した原特徴データとの一致性を判定し、その判定結果に基づいて、埋め込み符号化データを、埋め込み対象データ、原特徴データ、および被埋め込みデータに復元する復元処理を制御し、これにより、埋め込み符号化データにエラーが生じている場合であっても、そのような埋め込み符号化データを、埋め込み対象データ、原特徴データ、および被埋め込みデータに、正確に復元することができるようになっている。
【0505】
即ち、図48は、図47Aで説明した埋め込み処理を行う図2の埋め込み符号化器3の構成例を示している。なお、図中、図38における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図48の埋め込み符号化器3は、埋め込み器43が設けられていない他は、図38における場合と、基本的に同様に構成されている。
【0506】
図48の実施の形態では、被埋め込みデータベース(図2)から供給される被埋め込みデータが、特徴抽出部41が出力する特徴データとともに、埋め込み器42に供給されるようになっている。そして、埋め込み器42は、埋め込み対象データベース1(図2)から供給される埋め込み対象データとしての画像データの水平ラインを、特徴データに対応してローテーションし、さらに、その垂直ラインを、被埋め込みデータに対応してローテーションすることにより、埋め込み対象データに、特徴データおよび被埋め込みデータを埋め込んだ埋め込み符号化データを生成して出力する。
【0507】
次に、図49のフローチャートを参照して、図48の埋め込み符号化器3による埋め込み処理について説明する。
【0508】
まず最初に、ステップS221において、埋め込み対象データベース1(図2)に記憶された埋め込み対象データとしての1フレームの画像データが、特徴抽出部41と埋め込み器42に供給されるとともに、被埋め込みデータベース2(図2)に記憶された被埋め込みデータが、埋め込み器42に供給され、ステップS222に進む。
【0509】
ステップS222では、特徴抽出部41が、そこに供給される埋め込み対象データとしての1フレームの画像データから、特徴データを抽出し、埋め込み器42に供給して、ステップS223に進む。
【0510】
ステップS223では、埋め込み器42が、埋め込み対象データベース1(図2)から供給される埋め込み対象データとしての1フレームの画像データを、特徴抽出部41から供給される特徴データと、被埋め込みデータベース2(図2)から供給される被埋め込みデータに対応して、ラインローテーション方式により操作し、これにより、埋め込み対象データとしての画像データに、特徴データと被埋め込みデータを埋め込み、ステップS224に進む。ステップS224では、埋め込み器42が、埋め込み符号化データを出力し、処理を終了する。
【0511】
なお、図49の処理は、埋め込み対象データベース1に記憶された埋め込み対象データとしての画像データの各フレームについて、繰り返し行われる。
【0512】
次に、図50は、図47Bで説明した復元処理を行う図2の復元器6の構成例を示している。なお、図中、図40における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図50の復元器6は、復元部51または操作情報用バッファ58それぞれに代えて、値変更部71または変更情報用バッファ72が設けられている他は、図40における場合と、基本的に同様に構成されている。
【0513】
図48の埋め込み符号化器3で得られる埋め込み符号化データとしての画像データは、値変更部71に供給される。
【0514】
値変更部71は、そこに供給される埋め込み符号化データとしての画像データを構成する各画素の画素値を操作することにより、微小値だけ変更し、その画素値の変更された埋め込み符号化データ(以下、適宜、変更埋め込みデータという)を、復元部52に供給する。ここで、値変更部71が画素値を、どの程度の微小値だけ変更するかは、例えば、埋め込み符号化器3から復元器6間での間において、埋め込み符号化データに重畳され得るノイズの最大レベルに基づいて決定される。
【0515】
また、値変更部71は、埋め込み符号化データとしての画像データを構成する各画素の画素値を、どのように変更したのかを表す情報(以下、適宜、変更情報という)を生成し、その変更情報を、変更情報用バッファ72に供給する。
【0516】
なお、値変更部71は、埋め込み符号化データとしての画像データを構成する各画素の画素値の変更を、判定制御部56の制御にしたがい、変更情報用バッファ72に記憶された変更情報を、スイッチ59を介して参照しながら行う。
【0517】
即ち、値変更部71は、ある埋め込み符号化データを受信した場合、最初は、例えば、その埋め込み符号化データとしての画像データの画素値を変更せずに(画素値に0を加算して)、そのまま、変更埋め込みデータとして出力する。そして、値変更部71は、その埋め込み符号化データとしての画像データの画素値の変更に対応する変更情報を生成し、変更情報用バッファ72に供給して記憶させる。なお、いまの場合は、埋め込み符号化データとしての画像データを構成する各画素について、画素値の変更が0である(画素値の変更が無い)旨の変更情報が生成される。
【0518】
その後、値変更部71は、判定制御部56から、再度の復元処理の要求を表す再処理指示信号を受信すると、スイッチ59を介して、変更情報用バッファ72に記憶された変更情報を参照することで、それまでに埋め込み符号化データに対して施した画素値の変更を認識し、その認識した変更以外の変更を、埋め込み符号化データに施す。これにより、値変更部71は、それまでに得られていないパターンの画素値で構成される変更埋め込みデータとしての画像データを求める。
【0519】
復元部52は、値変更部71から供給される変更埋め込みデータとしての画像データを、図48の埋め込み器42における場合と同様のラインローテーション方式により操作し、これにより、仮の埋め込み対象データ、仮の原特徴データ、および仮の被埋め込みデータを復元する。
【0520】
即ち、復元部52は、変更埋め込みデータとしての画像データの水平ラインを、埋め込み対象データとしての画像データの相関性を利用して、その相関が最大になる位置にローテーションするとともに、その垂直ラインを、やはり、埋め込み対象データとしての画像データの相関性を利用して、その相関が最大になる位置にローテーションすることで、仮の埋め込み対象データを復元する。さらに、復元部52は、変更埋め込みデータとしての画像データの水平ラインのローテーションの仕方に基づいて、仮の原特徴データを復元するとともに、その垂直ラインのローテーションの仕方に基づいて、仮の被埋め込みデータを復元する。
【0521】
そして、復元部52は、仮の埋め込み対象データを、埋め込み対象データ用バッファ53および特徴抽出部54に供給するとともに、仮の被埋め込みデータを、被埋め込みデータ用バッファ55に供給する。さらに、復元部52は、仮の原特徴データを、判定制御部56に供給する。
【0522】
変更情報用バッファ72は、値変更部71から供給される変更情報を一時記憶する。
【0523】
次に、図51のフローチャートを参照して、図50の復元器6による復元処理について説明する。
【0524】
まず最初に、ステップS231において、埋め込み符号化データとしての1フレームの画像データが、値変更部71に供給され、値変更部71は、その埋め込み符号化データを受信する。さらに、ステップS231では、埋め込み対象データ用バッファ53、被埋め込みデータ用バッファ55、および変更情報用バッファ72が、その記憶内容をクリアし、ステップS232に進む。
【0525】
ステップS232では、値変更部71は、そこに供給される埋め込み符号化データとしての画像データを構成する画素の画素値を、微小値だけ変更し、これにより、変更埋め込みデータを得て、復元部52に供給する。さらに、ステップS232では、値変更部71は、埋め込み符号化データとしての画像データの画素値をどのように変更したかを表す変更情報を生成し、その変更情報を、変更情報用バッファ72に供給して記憶させ、ステップS233に進む。
【0526】
ステップS233では、復元部52は、値変更部71から供給される変更埋め込みデータを、図48の埋め込み器42における場合と同様のラインローテーション方式により操作し、これにより、仮の埋め込み対象データ、仮の原特徴データ、および仮の被埋め込みデータを復元する。そして、復元部52は、仮の埋め込み対象データを、埋め込み対象データ用バッファ53に供給し、上書きする形で記憶させるとともに、仮の被埋め込みデータを、被埋め込みデータ用バッファ55に供給し、上書きする形で記憶させる。さらに、復元部52は、仮の埋め込み対象データを、特徴抽出部54に供給するとともに、仮の原特徴データを、判定制御部56に供給し、ステップS234に進む。
【0527】
ステップS234では、特徴抽出部54は、復元部52から供給される仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、仮復元特徴データとして、判定制御部56に供給して、ステップS235に進む。
【0528】
ステップS235では、判定制御部56は、復元部52から供給される仮の原特徴データと、特徴抽出部54から供給される仮復元特徴データとを比較し、ステップS236に進む。ステップS236では、判定制御部56は、ステップS235における仮の原特徴データと仮復元特徴データとの比較結果に基づいて、それらの一致性を判定する。
【0529】
ステップS236において、仮の原特徴データと仮復元特徴データとが一致していないと判定された場合、ステップS237に進み、判定制御部56は、値変更部71と、スイッチ57およびスイッチ59乃至61を制御する。
【0530】
即ち、判定制御部56は、スイッチ57に端子57Aを選択させるとともに、再処理指示信号を生成して出力する。これにより、判定制御部56が出力する再処理指示信号は、スイッチ57および端子57Aを介して、値変更部71およびスイッチ59に供給される。
【0531】
スイッチ59は、再処理指示信号を受信すると、デフォルトの状態であるオフ状態からオン状態となり、これにより、値変更部71は、スイッチ59を介して、変更情報用バッファ72の参照が可能な状態となる。
【0532】
また、値変更部71は、再処理指示信号を受信すると、スイッチ59を介して、変更情報用バッファ72に記憶された変更情報を参照し、埋め込み符号化データとしての画像データに対して、まだ行っていない画素値の変更の仕方を認識する。そして、値変更部71は、その認識した画素値の変更の仕方のうちのいずれか1つを選択し、ステップS232に戻る。
【0533】
ステップS232では、値変更部71は、ステップS237で選択した画素値の変更の仕方にしたがい、埋め込み符号化データとしての画像データの画素値を変更し、これにより、その埋め込み符号化データについては、それまでとは別の画素値パターンになっている画像データとしての変更埋め込みデータを、新たに求める。そして、ステップS233に進み、復元部52では、値変更部71で求められた新たな変更埋め込みデータが、ラインローテーション方式により操作され、これにより、やはり、それまでとは別の仮の埋め込み対象データ、仮の原特徴データ、および仮の被埋め込みデータが、新たに復元され、以下、同様の処理が繰り返される。
【0534】
一方、ステップS236において、仮の原特徴データと仮復元特徴データとが一致すると判定された場合、即ち、仮の埋め込み対象データが、元の埋め込み対象データに正確に復元されており、従って、仮の原特徴データも、元の埋め込み対象データから得られる原特徴データに正確に復元されている結果、その仮の原特徴データと仮復元特徴データとが一致する場合、ステップS238に進み、判定制御部56は、スイッチ57,60、および61を制御する。
【0535】
即ち、判定制御部56は、スイッチ57に端子57Bを選択させるとともに、出力指示信号を生成して出力する。これにより、判定制御部56が出力する出力指示信号は、スイッチ57および端子57Bを介して、スイッチ60および61に供給される。
【0536】
スイッチ60および61は、出力指示信号を受信すると、一時、オフ状態からオン状態になり、ステップS239に進み、埋め込み対象データ用バッファ53の記憶内容が、スイッチ60を介して読み出されるとともに、被埋め込み対象データ用バッファ55の記憶内容が、スイッチ61を介して読み出され、処理を終了する。
【0537】
即ち、埋め込み対象データ用バッファ53では、復元部52が、新たな仮の埋め込み対象データを出力するたびに、その新たな仮の埋め込み対象データが、上書きする形で記憶される。また、被埋め込みデータ用バッファ55でも、復元部52が、新たな仮の被埋め込みデータを出力するたびに、その新たな仮の被埋め込みデータが、上書きする形で記憶される。
【0538】
一方、仮の原特徴データと仮復元特徴データとが一致する場合というのは、上述したように、復元部52が出力する仮の埋め込み対象データと、仮の被埋め込みデータが、それぞれ、元の埋め込み対象データと元の被埋め込みデータとして正確に復元されている。
【0539】
従って、仮の原特徴データと仮復元特徴データとが一致する場合には、埋め込み対象データ用バッファ53には、正確に復元された埋め込み対象データが記憶されており、被埋め込みデータ用バッファ55にも、正確に復元された被埋め込みデータが記憶されている。その結果、ステップS239では、埋め込み対象データ用バッファ53から、スイッチ60を介して、正確に復元された埋め込み対象データが読み出されるとともに、被埋め込み対象データ用バッファ55から、スイッチ61を介して、正確に復元された被埋め込みデータが読み出されることになる。
【0540】
なお、図51の処理は、埋め込み符号化データが新たに供給されるごとに繰り返し行われる。
【0541】
以上のように、復元器6では、復元した埋め込み対象データから抽出された特徴データと、復元した原特徴データとの一致性を判定し、その判定結果に基づいて、復元処理における、埋め込み符号化データとしての画像データの画素値の変更を制御するようにしたので、埋め込み符号化データにエラーが生じ、その埋め込み符号化データとしての画像データの画素値が変わってしまっている場合であっても、そのような埋め込み符号化データから、埋め込み対象データと被埋め込みデータを、正確に復元することができる。従って、この場合、エラーに対するロバスト性を向上させることができる。
【0542】
なお、上述の場合には、埋め込み対象データとしての画像データに対して、その特徴データと被埋め込みデータを埋め込むようにしたが、埋め込み対象データとしての画像データには、特徴データだけを埋め込むようにすることが可能である。
【0543】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0544】
そこで、図52は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0545】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
【0546】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体111に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。
【0547】
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部108で受信し、内蔵するハードディスク105にインストールすることができる。
【0548】
コンピュータは、CPU(Central Processing Unit)102を内蔵している。CPU102には、バス101を介して、入出力インタフェース110が接続されており、CPU102は、入出力インタフェース110を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部107が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、また、CPU102は、ハードディスク105に格納されているプログラム、衛星若しくはネットワークから転送され、通信部108で受信されてハードディスク105にインストールされたプログラム、またはドライブ109に装着されたリムーバブル記録媒体111から読み出されてハードディスク105にインストールされたプログラムを、RAM(Random Access Memory)104にロードして実行する。これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
【0549】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0550】
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0551】
なお、被埋め込みデータは、特に限定されるものではなく、例えば、画像データや、音声データ、テキスト、コンピュータプログラム、制御信号、その他のデータを、被埋め込みデータとして用いることが可能である。
【0552】
また、本実施の形態では、埋め込み対象データとして画像データを採用し、被埋め込みデータおよび特徴データを、その画像データに埋め込むようにしたが、埋め込み対象データとしては、その他、例えば、音声データ等を採用することも可能である。即ち、この場合、例えば、時系列の音声データを、適当なフレームに区切り、各フレームの音声データを、被埋め込みデータにしたがって入れ替えることで、被埋め込みデータおよび特徴データを、音声に埋め込むことが可能である。また、この場合、埋め込み対象データとしての音声データの特徴データとしては、線形予測係数やケプストラム係数等を採用することが可能である。
【0553】
さらに、本実施の形態では、画像データを、埋め込み対象データとして、その画像データに、被埋め込みデータを埋め込む埋め込み処理を施すようにしたが、画像データに対して施す処理は、埋め込み処理に限定されるのものではない。即ち、画像データに対しては、何らかの処理を施し、その特徴データと統合して出力するようにすることが可能である。そして、画像データに対して施す処理は、極端には、不可逆な処理である場合であっても、処理された画像データを元に復元することが可能である。
【0554】
即ち、本発明では、処理された画像データを元に戻す場合、処理された画像データに、何らかの復元処理を施すことで、仮の画像データが復元される。そして、その仮の画像データから抽出される特徴データと、処理された画像データに統合されている特徴データとが一致するように、復元処理が制御される。その結果、画像データに対して不可逆な処理が施された場合であっても、元の画像データを復元することが可能となる。この場合、画像データに施される処理を、暗号化と捉えれば、画像データには、強固な暗号化が施されることとなり、秘匿性を向上させることができる。
【0555】
【発明の効果】
本発明によれば、処理データから、入力データを、正確に復元することが可能となる。
【図面の簡単な説明】
【図1】先に提案している埋め込み処理と復元処理の概要を説明する図である。
【図2】埋め込み符号化/復元システムの一実施の形態の構成例を示すブロック図である。
【図3】埋め込み符号化器3の構成例を示すブロック図である。
【図4】復元器6の構成例を示すブロック図である。
【図5】埋め込み対象データとしての画像データを示す図である。
【図6】相関性を利用した埋め込み/復元を説明するための図である。
【図7】相関性を利用した埋め込み/復元を説明するための図である。
【図8】埋め込み処理を説明するフローチャートである。
【図9】復元処理を説明するフローチャートである。
【図10】連続性を利用した埋め込み/復元を説明する図である。
【図11】埋め込み処理を説明するフローチャートである。
【図12】埋め込み処理および復元処理を説明する図である。
【図13】復元処理を説明するフローチャートである。
【図14】相似性を利用した埋め込み/復元を説明するための図である。
【図15】相似性を利用した埋め込み/復元を説明するための図である。
【図16】埋め込み処理を説明するフローチャートである。
【図17】埋め込み処理および復元処理を説明する図である。
【図18】復元処理を説明するフローチャートである。
【図19】埋め込み処理を説明するためのフローチャートである。
【図20】復元処理を説明するためのフローチャートである。
【図21】ビットプレーンスワップ方式による埋め込み処理を説明するための図である。
【図22】埋め込み処理を説明するためのフローチャートである。
【図23】ビットプレーンの相関の計算方法を説明するための図である。
【図24】ビットプレーンスワップ方式による復元処理を説明するための図である。
【図25】復元処理を説明するためのフローチャートである。
【図26】埋め込み処理を説明するためのフローチャートである。
【図27】ローテーションを説明するための図である。
【図28】埋め込み処理の結果を説明するための図である。
【図29】ラインローテーション方式による復元処理を説明するための図である。
【図30】復元処理を説明するためのフローチャートである。
【図31】水平ラインと垂直ラインの両方をローテーションする埋め込み処理と復元処理を説明する図である。
【図32】埋め込み符号化器3の構成例を示すブロック図である。
【図33】埋め込み符号化器3による埋め込み処理を説明するフローチャートである。
【図34】復元器6の構成例を示すブロック図である。
【図35】復元器6による復元処理を説明するフローチャートである。
【図36】特徴データを埋め込む埋め込み処理と、その特徴データを利用した復元処理の概要を説明する図である。
【図37】埋め込み符号化器6による埋め込み処理と、復元器6による復元処理を説明する図である。
【図38】埋め込み符号化器3の構成例を示すブロック図である。
【図39】埋め込み符号化器3による埋め込み処理を説明するフローチャートである。
【図40】復元器6の構成例を示すブロック図である。
【図41】復元器6による復元処理を説明するフローチャートである。
【図42】埋め込み符号化器6による埋め込み処理と、復元器6による復元処理を説明する図である。
【図43】埋め込み符号化器3の構成例を示すブロック図である。
【図44】埋め込み符号化器3による埋め込み処理を説明するフローチャートである。
【図45】復元器6の構成例を示すブロック図である。
【図46】復元器6による復元処理を説明するフローチャートである。
【図47】埋め込み符号化器6による埋め込み処理と、復元器6による復元処理を説明する図である。
【図48】埋め込み符号化器3の構成例を示すブロック図である。
【図49】埋め込み符号化器3による埋め込み処理を説明するフローチャートである。
【図50】復元器6の構成例を示すブロック図である。
【図51】復元器6による復元処理を説明するフローチャートである。
【図52】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
1 埋め込み対象データベース, 2 被埋め込みデータベース, 3 埋め込み符号化器, 4 記録媒体, 5 伝送媒体, 6 復元器, 11 符号化装置, 12 復号装置, 21 フレームメモリ, 22 埋め込み部, 23 特徴抽出部, 24 統合部, 31 フレームメモリ, 32 復元部, 33 特徴分離部, 34 特徴抽出部, 35 判定制御部, 41 特徴抽出部, 42,43,44 埋め込み器, 51,52 復元部, 53 埋め込み対象データ用バッファ, 54 特徴抽出部, 55 被埋め込みデータ用バッファ, 56 判定制御部, 57 スイッチ, 57A,57B 端子, 58 操作情報用バッファ, 59乃至62 スイッチ, 63 被埋め込みデータ用バッファ, 64 復元部, 71 値変更部, 72 変更情報用バッファ, 101 バス, 102 CPU, 103 ROM, 104 RAM, 105 ハードディスク, 106 出力部, 107 入力部, 108通信部, 109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体

Claims (10)

  1. 入力データの特徴を表す第1の特徴データとともに送信されてくる、前記入力データを処理して得られる処理データを復元するデータ処理装置であって、
    前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元手段と、
    前記復元データから、その特徴を表す第2の特徴データを抽出する特徴データ抽出手段と、
    前記第1および第2の特徴データの一致性を判定し、その判定結果に基づいて、前記復元手段における復元処理を制御する制御手段とを備え、
    前記処理データには、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、前記入力データを、前記第1の特徴データに対応して操作することによって、前記第1の特徴データが埋め込まれており、
    前記復元手段は、前記処理データを、前記所定の操作ルールにしたがって操作することにより、前記入力データと第1の特徴データに復元する
    ことを特徴とするデータ処理装置。
  2. 前記処理データは、前記入力データに、少なくとも、任意のデータを埋め込んだものであり、
    前記復元手段は、前記処理データを、前記入力データと任意のデータに復元し、その復元した前記入力データを、前記復元データとして出力する
    ことを特徴とする請求項1に記載のデータ処理装置。
  3. 前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、前記入力データを、前記任意のデータに対応して操作することにより、前記入力データに前記任意のデータを埋め込んだものであり、
    前記復元手段は、前記処理データを、前記所定の操作ルールにしたがって操作することにより、前記入力データと任意のデータに復元する
    ことを特徴とする請求項2に記載のデータ処理装置。
  4. 前記処理データは、前記入力データに前記第1の特徴データを埋め込み、さらに、その第1の特徴データが埋め込まれた前記入力データに、任意のデータを埋め込んだものであり、
    前記復元手段は、
    前記処理データから、前記第1の特徴データが埋め込まれた前記入力データと、前記任意のデータを復元し、
    さらに、前記第1の特徴データが埋め込まれた前記入力データを、前記入力データと前記第1の特徴データに復元する
    ことを特徴とする請求項1に記載のデータ処理装置。
  5. 前記処理データは、前記入力データに、前記第1の特徴データおよび他の任意のデータを埋め込み、その第1の特徴データおよび他の任意のデータが埋め込まれた前記入力データに、前記任意のデータを埋め込んだものであり、
    前記復元手段は、
    前記処理データから、前記第1の特徴データおよび他の任意のデータが埋め込まれた前記入力データと、前記任意のデータを復元し、
    さらに、前記第1の特徴データおよび他の任意のデータが埋め込まれた前記入力データを、前記入力データ、並びに前記第1の特徴データおよび他の任意のデータに復元する
    ことを特徴とする請求項4に記載のデータ処理装置。
  6. 前記制御手段は、前記第1および第2の特徴データが一致するように、前記復元処理を制御する
    ことを特徴とする請求項1に記載のデータ処理装置。
  7. 前記復元手段は、前記処理データを、所定の操作ルールにしたがって操作する復元処理を行うことにより、前記入力データを復元し、
    前記制御手段は、前記復元処理における前記処理データに対する操作を制御する
    ことを特徴とする請求項1に記載のデータ処理装置。
  8. 前記復元手段は、前記処理データの値を変更し、その変更後の前記処理データを、所定の操作ルールにしたがって操作する復元処理を行うことにより、前記入力データを復元し、
    前記制御手段は、前記復元処理における前記処理データの値の変更を制御する
    ことを特徴とする請求項1に記載のデータ処理装置。
  9. 入力データの特徴を表す第1の特徴データとともに送信されてくる、前記入力データを処理して得られる処理データを復元するデータ処理方法であって、
    前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元ステップと、
    前記復元データから、その特徴を表す第2の特徴データを抽出する特徴データ抽出ステップと、
    前記第1および第2の特徴データの一致性を判定し、その判定結果に基づいて、前記復元ステップにおける復元処理を制御する制御ステップとを含み、
    前記処理データには、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、前記入力データを、前記第1の特徴データに対応して操作することによって、前記第1の特徴データが埋め込まれており、
    前記復元ステップは、前記処理データを、前記所定の操作ルールにしたがって操作することにより、前記入力データと第1の特徴データに復元する
    ことを特徴とするデータ処理方法。
  10. 入力データの特徴を表す第1の特徴データとともに送信されてくる、前記入力データを処理して得られる処理データを復元するデータ処理を、コンピュータに行わせるプログラムであって、
    前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元ステップと、
    前記復元データから、その特徴を表す第2の特徴データを抽出する特徴データ抽出ステップと、
    前記第1および第2の特徴データの一致性を判定し、その判定結果に基づいて、前記復元ステップにおける復元処理を制御する制御ステップとを含み、
    前記処理データには、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、前記入力データを、前記第1の特徴データに対応して操作することによって、前記第1の特徴データが埋め込まれており、
    前記復元ステップは、前記処理データを、前記所定の操作ルールにしたがって操作することにより、前記入力データと第1の特徴データに復元する
    ことを特徴とするプログラム。
JP2001320765A 2001-10-18 2001-10-18 データ処理装置、データ処理方法、およびプログラム Expired - Fee Related JP3944821B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001320765A JP3944821B2 (ja) 2001-10-18 2001-10-18 データ処理装置、データ処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001320765A JP3944821B2 (ja) 2001-10-18 2001-10-18 データ処理装置、データ処理方法、およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006247163A Division JP4232118B2 (ja) 2006-09-12 2006-09-12 データ処理装置、データ処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2003125193A JP2003125193A (ja) 2003-04-25
JP3944821B2 true JP3944821B2 (ja) 2007-07-18

Family

ID=19138105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001320765A Expired - Fee Related JP3944821B2 (ja) 2001-10-18 2001-10-18 データ処理装置、データ処理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP3944821B2 (ja)

Also Published As

Publication number Publication date
JP2003125193A (ja) 2003-04-25

Similar Documents

Publication Publication Date Title
US7738711B2 (en) Coding apparatus and method, decoding apparatus and method, data processing system, storage medium, and signal
JP4822304B2 (ja) 画像処理装置および画像処理方法、並びに記録媒体
JP4147700B2 (ja) 符号化装置および符号化方法、並びに記録媒体
JP3924967B2 (ja) 符号化装置および方法、復号装置および方法、記録媒体、並びにデータ処理システム
US6859155B2 (en) Data processing device
JP2001331724A (ja) データ処理装置およびデータ処理方法、並びに記録媒体
Chang et al. Reversible steganographic method using SMVQ approach based on declustering
JP3991249B2 (ja) 符号化装置および符号化方法、復号装置および復号方法、情報処理装置および情報処理方法、並びに記録媒体
JP4182603B2 (ja) 符号化装置および符号化方法、復号装置および復号方法、記録媒体、並びにデータ処理装置
Shetty A study and analysis of reversible data hiding techniques
JP4232118B2 (ja) データ処理装置、データ処理方法、およびプログラム
JP4556087B2 (ja) データ処理装置およびデータ処理方法、並びにプログラムおよびプログラム記録媒体
JP4556147B2 (ja) 復号装置および復号方法、記録媒体、並びにデータ処理装置
JP3940986B2 (ja) データ処理装置およびデータ処理方法、並びにプログラム
JP3944821B2 (ja) データ処理装置、データ処理方法、およびプログラム
US6738492B1 (en) Coding apparatus and method, decoding apparatus and method, data processing system, storage medium, and signal
JP2001285622A (ja) 埋め込み装置および埋め込み方法、復号装置および復号方法、並びに記録媒体
Rahmani et al. A low distortion reversible data hiding scheme for search order coding of VQ indices
JP4077771B2 (ja) データ再生装置、再生方法、データ圧縮装置及び圧縮方法
KR20000028877A (ko) 부호화 장치와 방법, 복호화 장치와 방법, 데이터 처리시스템, 저장 매체, 및 신호
JP2001285650A (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JP4507130B2 (ja) データ処理装置およびデータ処理方法、並びに記録媒体
CN116962713A (zh) 一种视频压缩方法、视频解码方法和相关装置
JP4548434B2 (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JPH11196416A (ja) 符号化装置及び方法、復号装置及び方法並びに記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060911

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070316

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070329

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100420

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110420

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110420

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120420

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120420

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130420

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130420

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140420

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees