(57)【要約】【課題】画像の特性によらないで、ユーザによって選択された画像に情報を埋め込むこと。【解決手段】情報埋め込み装置１００は、画像選択部１３０が、記憶部１２０に記憶された元画像データ群１２０ａから元画像データを選択し、デコード部１４０が、元画像データからコードを検出し、候補コード決定部１５０が、候補コードを算出する。そして、候補コード埋め込み部１６０が、元画像データに候補コードを埋め込み、デコードチェック部１７０が、元画像データに候補コードが正常に埋め込まれているか否かを判定し、正常に埋め込まれていない場合には、画像選択部１３０が、元画像データ群１２０ａから、未選択の元画像データを選択し、選択した元画像データに対応する候補コードを埋め込む。【選択図】        図２
2007067629.tif 000002
【特許請求の範囲】
【請求項１】
画像データに情報を埋め込む情報埋め込み装置であって、
前記画像データから特徴量を抽出し、抽出した特徴量に基づいて、前記画像データに埋め込むコードを算出するコード算出手段と、
前記コード算出手段によって算出されたコードに対応するように前記画像データの特徴量に変更を加えて当該画像データに情報を埋め込む情報埋め込み手段と、
を備えたことを特徴とする情報埋め込み装置。
【請求項２】
前記情報埋め込み手段によって特徴量に変更が加えられた画像データから特徴量を抽出し、抽出した特徴量に対応するコードと、前記コード算出手段によって算出されたコードとが一致するか否かを判定する判定手段と、前記判定手段の判定結果に基づいて、前記画像データを変更する変更手段とを更に備え、前記変更手段によって前記画像データが変更された場合に、前記コード算出手段は、変更された画像データの特徴量に基づいて、変更された画像データに埋め込むコードを算出し、前記情報埋め込み手段は、当該コードに対応するように、変更された画像データの特徴量に変更を加えて情報を埋め込むことを特徴とする請求項１に記載の情報埋め込み装置。
【請求項３】
前記変更手段は、前記画像データに対する所定の周波数成分を取り除くフィルタであることを特徴とする請求項２に記載の情報埋め込み装置。
【請求項４】
前記変更手段は、低域濾過フィルタであることを特徴とする請求項３に記載の情報埋め込み装置。
【請求項５】
前記変更手段は、前記画像データに特定のパターンを重畳することを特徴とする請求項２に記載の情報埋め込み装置。
【請求項６】
前記変更手段は、前記画像データに特定のパターンを上書きすることを特徴とする請求項２に記載の情報埋め込み装置。
【請求項７】
画像データに情報を埋め込む情報埋め込み装置であって、
複数のコードと、画像データ群とを取得する取得手段と、
前記画像データ群の特徴量をそれぞれ抽出し、抽出した各特徴量と前記複数のコードとを基にして、情報を埋め込みやすい画像データおよびコードの組み合わせを抽出する抽出手段と、
前記抽出手段によって抽出されたコードに対応するように、当該コードの組み合わせ対象の画像データの特徴量に変更を加えて情報を埋め込む情報埋め込み手段と、
を備えたことを特徴とする情報埋め込み装置。
【請求項８】
前記請求項１〜７によって作成された画像を印刷した印刷物。
【請求項９】
画像データに情報を埋め込む情報埋め込みプログラムであって、
前記画像データから特徴量を抽出し、抽出した特徴量に基づいて、前記画像データに埋め込むコードを算出するコード算出手順と、
前記コード算出手順によって算出されたコードに対応するように前記画像データの特徴量に変更を加えて当該画像データに情報を埋め込む情報埋め込み手順と、
をコンピュータに実行させることを特徴とする情報埋め込みプログラム。
【請求項１０】
前記情報埋め込み手順によって特徴量に変更が加えられた画像データから特徴量を抽出し、抽出した特徴量に対応するコードと、前記コード算出手順によって算出されたコードとが一致するか否かを判定する判定手順と、前記判定手順の判定結果に基づいて、前記画像データを変更する変更手順とを更にコンピュータに実行させ、前記変更手順によって前記画像データが変更された場合に、前記コード算出手順は、変更された画像データの特徴量に基づいて、変更された画像データに埋め込むコードを算出し、前記情報埋め込み手順は、当該コードに対応するように、変更された画像データの特徴量に変更を加えて情報を埋め込むことを特徴とする請求項９に記載の情報埋め込みプログラム。
【請求項１１】
前記変更手順は、前記画像データから所定の周波数成分を取り除くことを特徴とする請求項１０に記載の情報埋め込みプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像データに情報を埋め込む情報埋め込み装置等に関し、特に、画像の特性によらないで、ユーザによって選択された画像に情報を埋め込み可能な情報埋め込み装置等に関するものである。
【背景技術】
【０００２】
従来、偽造の防止、不正使用の防止または付加サービスなどを提供するために、デジタルデータや、印刷画像などに見えない情報を埋め込む技術、すなわち、電子透かし技術の開発が行われている。この電子透かし技術の一例としては、情報を埋め込む画像領域の濃淡値を変更・調整することによって、画像に情報を埋め込んでいる。
【０００３】
また、特許文献１では、埋め込みアルゴリズムを用いて、情報埋め込み対象となる画像を解析し、情報の埋め込み可能な領域と、情報の埋め込み不可能な領域とを検出すると共に、情報の埋め込み不可能な領域に、情報が埋め込まれていない旨の情報を埋め込むことによって、効率よく画像に埋め込まれた情報をデコード可能とする技術が公開されている。
【０００４】
【特許文献１】特開２００５−１１７１５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、情報を埋め込む画像の特性によって、情報を埋め込むことができない画像が存在するため、たとえ、ユーザが情報埋め込みを所望する画像であっても、画像の特性によっては、情報を埋め込むことが難しい場合があった。
【０００６】
ユーザが情報埋め込みを行う場合に選択した画像は、その画像を選択した様々な理由がある。したがって、情報が埋め込めないことを理由として、ユーザが選択した画像を破棄してしまうことは、ユーザが埋め込みを行いたかった社会的、政治的、法的理由をいたずらに無視してしまうという問題がある。
【０００７】
すなわち、画像の特性によらないで、ユーザによって選択された画像に情報を埋め込むことが極めて重要な課題となっている。
【０００８】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、画像の特性によらないで、ユーザによって選択された画像に情報を埋め込むことができる情報埋め込み装置、情報埋め込みプログラムおよび情報埋め込み装置によって印刷された印刷物を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、請求項１の発明にかかる情報埋め込み装置は、画像データに情報を埋め込む情報埋め込み装置であって、前記画像データから特徴量を抽出し、抽出した特徴量に基づいて、前記画像データに埋め込むコードを算出するコード算出手段と、前記コード算出手段によって算出されたコードに対応するように前記画像データの特徴量に変更を加えて当該画像データに情報を埋め込む情報埋め込み手段と、を備えたことを特徴とする。
【００１０】
また、請求項２の発明にかかる情報埋め込み装置は、請求項１の発明において、前記情報埋め込み手段によって特徴量に変更が加えられた画像データから特徴量を抽出し、抽出した特徴量に対応するコードと、前記コード算出手段によって算出されたコードとが一致するか否かを判定する判定手段と、前記判定手段の判定結果に基づいて、前記画像データを変更する変更手段とを更に備え、前記変更手段によって前記画像データが変更された場合に、前記コード算出手段は、変更された画像データの特徴量に基づいて、変更された画像データに埋め込むコードを算出し、前記情報埋め込み手段は、当該コードに対応するように、変更された画像データの特徴量に変更を加えて情報を埋め込むことを特徴とする。
【００１１】
また、請求項３の発明にかかる情報埋め込み装置は、請求項２の発明において、前記変更手段は、前記画像データに対する所定の周波数成分を取り除くフィルタであることを特徴とする。
【００１２】
また、請求項４の発明にかかる情報埋め込み装置は、請求項３の発明において、前記変更手段は、低域濾過フィルタであることを特徴とする。
【００１３】
また、請求項５の発明にかかる情報埋め込み装置は、請求項２の発明において、前記変更手段は、前記画像データに特定のパターンを重畳することを特徴とする。
【００１４】
また、請求項６の発明にかかる情報埋め込み装置は、請求項２の発明において、前記変更手段は、前記画像データに特定のパターンを上書きすることを特徴とする。
【００１５】
また、請求項７の発明にかかる情報埋め込み装置は、画像データに情報を埋め込む情報埋め込み装置であって、複数のコードと、画像データ群とを取得する取得手段と、前記画像データ群の特徴量をそれぞれ抽出し、抽出した各特徴量と前記複数のコードとを基にして、情報を埋め込みやすい画像データおよびコードの組み合わせを抽出する抽出手段と、前記抽出手段によって抽出されたコードに対応するように、当該コードの組み合わせ対象の画像データの特徴量に変更を加えて情報を埋め込む情報埋め込み手段と、を備えたことを特徴とする。
【００１６】
また、請求項８の発明に係る印刷物は、請求項１〜７のいずれか一つの情報埋め込み装置によって情報を埋め込まれた画像が印刷された印刷物である。
【００１７】
また、請求項９の発明にかかる情報埋め込みプログラムは、画像データに情報を埋め込む情報埋め込みプログラムであって、前記画像データから特徴量を抽出し、抽出した特徴量に基づいて、前記画像データに埋め込むコードを算出するコード算出手順と、前記コード算出手順によって算出されたコードに対応するように前記画像データの特徴量に変更を加えて当該画像データに情報を埋め込む情報埋め込み手順と、をコンピュータに実行させることを特徴とする。
【００１８】
また、請求項１０の発明にかかる情報埋め込みプログラムは、請求項９の発明において、前記情報埋め込み手順によって特徴量に変更が加えられた画像データから特徴量を抽出し、抽出した特徴量に対応するコードと、前記コード算出手順によって算出されたコードとが一致するか否かを判定する判定手順と、前記判定手順の判定結果に基づいて、前記画像データを変更する変更手順とを更にコンピュータに実行させ、前記変更手順によって前記画像データが変更された場合に、前記コード算出手順は、変更された画像データの特徴量に基づいて、変更された画像データに埋め込むコードを算出し、前記情報埋め込み手順は、当該コードに対応するように、変更された画像データの特徴量に変更を加えて情報を埋め込むことを特徴とする。
【００１９】
また、請求項１１の発明にかかる情報埋め込みプログラムは、請求項１０の発明において、前記変更手順は、前記画像データから所定の周波数成分を取り除くことを特徴とする。
【発明の効果】
【００２０】
本発明によれば、情報埋め込み装置は、画像データから特徴量を抽出し、抽出した特徴量に基づいて、画像データに埋め込むコードを算出し、算出したコードに対応するように画像データの特徴量に変更を加えて画像データに情報を埋め込むので、画像を劣化させることなく画像に情報を埋め込むことができる。
【００２１】
また、情報埋め込み装置は、特徴量に変更が加えられた画像データから特徴量を抽出し、抽出した特徴量に対応するコードと、埋め込み前に算出されたコードとが一致するか否かを判定し、判定結果に基づいて画像データを変更し、変更した画像に改めて、対応するコードを埋め込むので、画像の特性によらないで、ユーザが所望する画像データに情報を埋め込むことができる。
【００２２】
また、情報埋め込み装置は、画像データを変更する場合に、画像データに対する所定の周波数成分を取り除くので、変更した画像データに正常に情報を埋め込むことができる。
【００２３】
また、情報埋め込み装置は、画像データを変更する場合に、画像データに特定のパターンを重畳するので、変更した画像データに正常に情報を埋め込むことができる。
【００２４】
また、情報埋め込み装置は、複数のコードと、画像データ群とを取得し、取得した画像データ群の特徴量をそれぞれ抽出し、抽出した各特徴量と複数のコードとを基にして、情報を埋め込みやすい画像データおよびコードの組み合わせを抽出し、抽出されたコードに対応するように、当該コードの組み合わせ対象の画像データの特徴量に変更を加えて情報を埋め込むので、効率よくかつ正常に画像データに情報を埋め込むことができる。
【００２５】
また、印刷物は、請求項１〜７のいずれか一つの情報埋め込み装置によって情報を埋め込まれた画像が印刷されるので、画質低下を防止することができる。
【００２６】
また、情報埋め込みプログラムは、画像データから特徴量を抽出し、抽出した特徴量に基づいて、画像データに埋め込むコードを算出し、算出したコードに対応するように画像データの特徴量に変更を加えて画像データに情報を埋め込むので、画像を劣化させることなく画像に情報を埋め込むことができる。
【発明を実施するための最良の形態】
【００２７】
以下に添付図面を参照して、この発明に係る情報埋め込み装置の好適な実施の形態を詳細に説明する。
【実施例１】
【００２８】
まず、本実施例１にかかる情報埋め込み装置の特徴について説明する。図１−１および図１−２は、本実施例１にかかる情報埋め込み装置の特徴を説明するための説明図である。図１−１に示すように、本実施例１にかかる情報埋め込み装置は、画像変更処理が加えられていない元の画像データ（以下、元画像データと表記する）に対してデコードを行い、元画像データから擬似的なコードを検出する。そして、情報埋め込み装置は、検出したコードを基に、元画像データに埋め込むコードを算出し、算出したコードを元画像データに埋め込む。
【００２９】
図１−１に示すように、元画像データからブロックペア（図１−１の例では、６つのブロックペアが存在する）を抽出し、ブロックペアに含まれるブロック左右の濃淡値を比較して、コードを検出することができる。具体的には、１つのブロックペアの左ブロックの濃淡値が右ブロックの濃淡値よりも大きい場合は、コード「１」となり、左ブロックの濃淡値が右ブロックの濃淡値以下の場合には、コード「０」となる。ブロックペアを差別化するための、特徴点である平均濃度値を利用して説明しているが、他の特徴点例えば、粒状度、彩度、濃度重心または分散を利用しても良い。
【００３０】
なお、図１−１では、説明の便宜上、元画像データには、２桁のコードを抽出することとする。また、この元画像データは、６ブロック（ブロックペア）からなり、２桁のコードが３回繰り返してコードとして抽出することができる。すなわち、図１−１にかかる元画像データからコードを検出すると、１，０，１，０，１，０が検出される。
【００３１】
そして、元画像データから検出されたコードを基にして多数決を行い、元画像データに埋め込むコードを算出する。この場合は、１，０の組み合わせのみが存在するため、元画像データに埋め込むコードは、「１，０」となる。この場合、情報埋め込み装置は、元画像データに変更を加える必要が無い。
【００３２】
一方、図１−２に示すように、元画像データからコードを検出した際に、１，０，１，１，１，０が検出された場合には、まず、多数決を行い、元画像データに埋め込むコードを算出する。この場合は、１，０と、１，１との組み合わせが存在するが、１，０の組み合わせのほうが、１，１の組み合わせよりも多いため、元画像データに埋め込むコードは、「１，０」となる。そして、情報埋め込み装置は、１，１のコードを１，０に変更する（対応するブロックの平均濃淡値に変更を加える。この場合は同図に示すように、１を０に変更する必要があるため、ブロックペアの平均濃淡値の大小関係を反転し、０が検出できるようにする）。
【００３３】
続いて、本実施例１にかかる情報埋め込み装置は、元画像データに変更を加えた画像データ（以下、単に画像データと表記する）に対して再びデコードを行い、正常にコードが埋め込まれているか否かを判定し、正確にコードが埋め込まれている場合には、コードを埋め込んだ画像データを出力する。
【００３４】
このように、本実施例１にかかる情報埋め込み装置は、元画像データに対してデコードを行い、元画像データに対して相性のよいコードを算出し、算出したコードを元画像データに埋め込むので、効率よく、コードを元画像データに埋め込むことができる。なお、元画像データに埋め込まれたコードは、後に、管理者によって様々な情報と紐付けされ、利用される。
【００３５】
つぎに、本実施例１にかかる情報埋め込み装置の構成について説明する。図２は、本実施例１にかかる情報埋め込み装置の構成を示す機能ブロック図である。同図に示すように、この情報埋め込み装置１００は、入力受付部１１０、記憶部１２０、画像選択部１３０、デコード部１４０、候補コード決定部１５０、候補コード埋め込み部１６０、デコードチェック部１７０、出力部１８０を有する。なお、情報埋め込み装置１００は、入力装置２００および出力装置３００に接続される。ここで、入力装置２００は、スキャナなどの入力装置であり、出力装置３００は、ディスプレイ、プリンタなどの出力装置である。
【００３６】
なお、ここでは、入力装置２００を利用して、画像データ群を情報埋め込み装置に入力する例を示すが、画像データ群を記録したＨＤＤ、ＵＳＢメモリ、ＤＶＤ−ＲＡＭなどの可搬記憶装置を情報埋め込み装置１００に接続して、画像データ群を入力しても良い。
【００３７】
入力受付部１１０は、入力装置２００から、情報の埋め込み対象となる元画像データを複数取得し、取得した情報を元画像データ群１２０ａとして、記憶部１２０に記録する処理部である。記憶部１２０は、元画像データ群１２０ａを記憶する記憶部である。
【００３８】
画像選択部１３０は、元画像データ群１２０ａの中から、元画像データを一つ選択し、選択した元画像データをデコード部１４０に渡す処理部である。また、画像選択部１３０は、デコードチェック部１７０（後述する）から、元画像データを変更する旨の通知を取得した場合には、元画像データ群１２０ａの中から未選択の元画像データを選択し、この選択した元画像データを再度、デコード部１４０に渡す。
【００３９】
デコード部１４０は、画像選択部１３０から元画像データを取得し、図１−１で説明したように、元画像データの濃淡値などを基にして、擬似的なコードを抽出する処理部である。また、デコード部１４０は、元画像から抽出したコードの情報を候補コード決定部１５０に渡す。
【００４０】
候補コード決定部１５０は、デコード部１４０からコードの情報を取得し、取得したコードに対して多数決を行い、元画像データに埋め込むコード（以下、候補コードと表記する）を算出する処理部である。例えば、デコード部１４０から、１，０、１，０、０，０の３つのコード（コードが２桁の場合）の情報を取得した場合には、多数決により、候補コードを「１，０」とする。候補コード決定部１５０は、算出した候補コードを候補コード埋め込み部１６０に渡す。
【００４１】
候補コード埋め込み部１６０は、候補コード決定部１５０から候補コードを取得し、デコード部１４０から元画像データおよび擬似的なコード情報を（候補コード決定部１５０を介して）取得し、元画像データに候補コードを埋め込む処理部である。具体的に、この候補コード埋め込み部１６０は、候補コードと擬似的なコードの情報とを比較して、異なるコードを特定し、特定したコードに対応する元画像の領域（ブロックペア）の濃淡値を変更して、元画像データに候補コードを埋め込む。そして、候補コード埋め込み部１６０は、候補コードを埋め込んだ画像データと、候補コードとをデコードチェック部１７０に渡す。
【００４２】
デコードチェック部１７０は、候補コード埋め込み部１６０から、候補コードを埋め込んだ画像データと、候補コードとを取得し、候補コードが正常に、画像データに埋め込まれているか否かを判定する処理部である。そして、デコードチェック部１７０は、候補コードが画像データに正常に埋め込まれていると判定した場合には、画像データおよび候補コードを出力部１８０に渡す。出力部１８０は、デコードチェック部１７０から取得した情報を出力装置３００に出力する処理部である。
【００４３】
一方、デコードチェック部１７０は、候補コードが画像データに正常に埋め込まれていないと判定した場合には、画像選択部１３０に、元画像データを変更する旨の情報を渡す。すなわち、画像選択部１３０が、選択した画像データから擬似的なコードを抽出し、相性のよい候補コードを算出した場合であっても、選択した画像データの性質によっては、ごくまれに候補コード埋め込み部１６０が埋め込んだ候補コードを画像データから抽出できない場合があるためである。
【００４４】
この候補コードが正常に画像データに埋め込まれない理由のとしては、例えば、ブロックペアの平均濃淡値の差によって、コードを埋め込む場合に、画像の各部分によって、平均濃淡値の大小関係が逆転しており、画像データ全体に対して最適な候補コードが算出できなかった場合が上げられる（画像の一部に対しては相性のよい候補コードであっても、他の部分に対しては相性がよくない場合がある）。したがって、情報埋め込み装置１００の利用者は、万が一に備えて、複数の画像データを記憶部１２０に記憶させる必要がある。
【００４５】
つぎに、本実施例１にかかる情報埋め込み装置の処理について説明する。図３は、本実施例１にかかる情報埋め込み装置の処理を示すフローチャートである。同図に示すように、情報埋め込み装置１００は、入力装置２００から元画像データ群を取得して、記憶部１２０に記録し（ステップＳ１０１）、画像選択部１３０が、元画像データ群１２０ｂから元画像データを選択する（ステップＳ１０２）。
【００４６】
そして、デコード部１４０が画像データをデコードして擬似的なコードを検出し（ステップＳ１０３）、候補コード決定部１０４が、候補コードを算出し（ステップＳ１０４）、候補コード埋め込み部１６０が、候補コードを元画像データに埋め込む（ステップＳ１０５）。
【００４７】
続いて、デコードチェック部１７０が、候補コードが正常に元画像データに埋め込まれているか否かを判定し（ステップＳ１０６）、正常に埋め込まれていない場合には（ステップＳ１０７，Ｎｏ）、画像選択部１３０が元画像データ群１２０ａから別の元画像データを選択し（ステップＳ１０８）、ステップＳ１０３に移行する。
【００４８】
一方、デコードチェック部１７０が、候補コードが正常に元画像データに埋め込まれていると判定した場合には（ステップＳ１０７，Ｙｅｓ）、出力部１８０が、候補コードと、候補コードを埋め込んだ元画像データを出力装置３００に出力する（ステップＳ１０９）。
【００４９】
このように、デコード部１４０が検出したコードに基づいて、候補コード決定部１５０が、候補コードを算出し、候補コード埋め込み部１６０が、元画像データに候補コードを埋め込むので、効率よく、元画像データにコードを埋め込むことができる。
【００５０】
上述してきたように、本実施例１にかかる情報埋め込み装置１００は、画像選択部１３０が、記憶部１２０に記憶された画像データ群１２０ａから元画像データを選択し、デコード部１４０が、元画像データからコードを検出し、候補コード決定部１５０が、候補コードを算出する。そして、候補コード埋め込み部１６０が、元画像データに候補コードを埋め込み、デコードチェック部１７０が、元画像データに候補コードが正常に埋め込まれているか否かを判定し、正常に埋め込まれていない場合には、画像選択部１３０が、元画像データ群１２０ａから、未選択の元画像データを選択し、選択した元画像データに対応する候補コードを埋め込むので、ユーザが所望する元画像データに、効率よく、情報を埋め込むことができる。
【００５１】
また、情報埋め込み装置１００は、候補コードを、元画像データから検出されるコードにおける多数決によって決定し、元画像データにこの候補コードを埋め込むので、元画像データの変更箇所を減少させ、画像劣化を防止することができる。すなわち、元画像データの画質劣化を極力抑え、元画像データ内に確実にエンコードできる。
【００５２】
ここで、情報埋め込み装置１００によってコードが埋め込まれた画像データの利用方法について説明する。コードが埋め込まれた画像データの利用方法としては、画像データに埋め込んだコードとＵＲＬ（Uniform Resource Locator）とを対応付けて記録する管理サーバを利用することによって、利用者は容易にネットワーク上のコンテンツに容易にアクセスすることができる。
【００５３】
すなわち、利用者は、カメラ付の携帯端末装置（携帯電話等）を利用して、画像データを取りこみ、コンテンツ提供者から配布されたプログラムを利用して画像データからコードを抽出し、抽出したコードを管理サーバに送信する。そして、管理サーバがコードを携帯端末装置から取得した場合に、取得したコードを、対応するＵＲＬに変換し、このＵＲＬを携帯端末装置に通知することによって、ユーザは、煩雑なＵＲＬを携帯端末装置に入力することなく、容易に所望するコンテンツに対してアクセスすることができる。
【００５４】
また、コンテンツ提供者がコードを埋め込む画像データを適切に選択することによって、利用者は画像データからコンテンツ内容を容易に連想できるようになるため、利用者が親しみやすい仕組みを実現することができる。
【実施例２】
【００５５】
つぎに、本実施例２にかかる情報埋め込み装置の特徴について説明する。図４は、本実施例２にかかる情報埋め込み装置の特徴を説明するための説明図である。本実施例２にかかる情報埋め込み装置は、まず、上述した実施例１の情報埋め込み装置１００と同様に、元画像データから擬似的なコードを検出し、検出しコードを基にして候補コードを算出する。
【００５６】
そして、本実施例２にかかる情報埋め込み装置は、候補コードを元画像データに埋め込み、候補コードが正常に埋め込まれた否かを判定し、候補コードが正常に埋め込まれていない場合には、図４に示すように、選択した元画像データにぼかし、枠付けなどの処理（以下、変更処理と表記する）を行い、変更処理を行った画像データにあらためて候補コードを埋め込む。
【００５７】
このように、本実施例２にかかる情報埋め込み装置は、候補コードを元画像データに正常に埋め込めなかった場合に、元画像データに変更処理を加え、あらためて、候補コードを埋め込むので、元画像データの特性によらないで、ユーザが所望する元画像データにコードを埋め込むことができる。
【００５８】
つぎに、本実施例２にかかる情報埋め込み装置の構成について説明する。図５は、本実施例２にかかる情報埋め込み装置の構成を示す機能ブロック図である。同図に示すように、この情報埋め込み装置４００は、入力受付部４１０、記憶部４２０、デコードチェック部４３０、画像変更処理部４４０を有する。その他の構成および要素は、実施例１で示した情報埋め込み装置１００と同様であるので、同一の構成要素には同一の符号を付して説明を省略する。また、情報埋め込み装置４００は、実施例１と同様に、入力装置２００および出力装置３００に接続される。
【００５９】
入力受付部４１０は、入力装置２００から、情報の埋め込み対象となる元画像データを取得し、取得した元画像データを記憶部４２０に記録する処理部である。ここで、記憶部４２０は、元画像データ４２０を記憶する記憶部である。
【００６０】
デコードチェック部４３０は、候補コード埋め込み部１６０から候補コードを埋め込んだ画像データと、候補コードとを取得し、候補コードが正常に、画像データに埋め込まれているか否かを判定する処理部である。そして、このデコードチェック部４３０は、候補コードが画像データに正常に埋め込まれていると判定した場合には、画像データおよび候補コードを出力部１８０に渡す。
【００６１】
一方、デコードチェック部４３０は、候補コードが画像データに正常に埋め込まれていないと判定した場合には、元画像データに変更処理を加える旨の情報を画像変更処理部４４０に渡す。
【００６２】
画像変更処理部４４０は、デコードチェック部４３０から、元画像データに変更処理を加える旨の情報を取得した場合に、デコード部１４０から元画像データを取得し、取得した元画像データに変更処理を加える処理部である。具体的に、この画像変更処理部４４０が、元画像データに変更処理を加える場合には、例えば、低域濾過フィルタまたは高域濾過フィルタを利用して、元画像データをぼかす、または、元画像データに特定のパターンを重畳する（元の画像をつぶさない）、または、元画像データに特定のパターンを上書きする（元の画像をつぶす）、または、元画像データに枠をつける。このような、変更処理を加えることによって、画像データの候補コードが埋め込みにくい部分を取り除くことができ、この変更を加えた画像データに候補コード再度埋め込むことによって、この画像データから正常に候補コードを抽出することができる。
【００６３】
例えば、画像データの複雑な部分に候補コードが正常に埋め込めない場合には、低域濾過フィルタを利用して、当該画像データの複雑な部分を取り除くことによって、変更処理前は、候補コードを埋め込みにくかった画像データに候補コードを正常に埋め込むことができる。
【００６４】
そして、画像変更処理部４４０は、元画像データに変更処理を加えた画像データをデコード部１４０に渡し、デコード部１４０、候補コード決定部１５０、候補コード埋め込み部１６０、デコードチェック部４３０は、上述した処理を繰り返す。
【００６５】
つぎに、本実施例２にかかる情報埋め込み装置の処理について説明する。図６は、本実施例２にかかる情報埋め込み装置の処理を示すフローチャートである。同図に示すように、情報埋め込み装置４００は、入力受付部４１０が、入力装置２００から元画像データを取得して、記憶部４２０に元画像データを記録し（ステップＳ２０１）、デコード部１４０が、元画像データをデコードして擬似的なコードを検出する（ステップＳ２０２）。
【００６６】
そして、候補コード決定部１５０が、デコード部１４０によって検出されたコードを基にして候補コードを算出し（ステップＳ２０３）、候補コード埋め込み部１６０が、候補コードを元画像データに埋め込む（ステップＳ２０４）。
【００６７】
続いて、デコードチェック部４３０が、候補コードが正常に元画像データに埋め込まれているか否かを判定し（ステップＳ２０５）、正常に埋め込まれていない場合には（ステップＳ２０６，Ｎｏ）、画像変更処理部４４０が元画像データに対して変更処理を加えて、変更処理を加えた画像データをデコード部１４０に渡し（ステップＳ２０７）、ステップＳ２０２に移行する。
【００６８】
一方、デコードチェック部４３０が、候補コードが正常に元画像データに埋め込まれていると判定した場合には（ステップＳ２０６，Ｙｅｓ）、出力部１８０が、候補コードと、候補コードを埋め込んだ元画像データを出力装置３００に出力する（ステップＳ２０８）。
【００６９】
このように、デコードチェック部４３０が、画像データに候補コードが正常に埋め込まれていないと判定した場合に、画像変更処理部４４０が、元画像データに変更処理を加え、あらためて、変更処理を加えた画像データに候補コードを埋め込むので、元画像データの特性によらないで、ユーザが所望する元画像データに、候補コードを埋め込むことができる。
【００７０】
上述してきたように、本実施例２にかかる情報埋め込み装置４００は、デコード部１４０が、元画像データからコードを検出し、候補コード決定部１５０が、候補コードを算出する。そして、候補コード埋め込み部１６０が、元画像データに候補コードを埋め込み、デコードチェック部４３０が、元画像データに候補コードが正常に埋め込まれているか否かを判定し、正常に埋め込まれていない場合には、画像変更処理部４４０が、元画像データに対して変更処理を行い、変更処理を加えた画像データに候補コードを埋め込むので、画像データの特性によらないで、ユーザが選択した元画像データに効率よく候補コードを埋め込むことができる。
【実施例３】
【００７１】
つぎに、本実施例３にかかる情報埋め込み装置の特徴について説明する。本実施例３にかかる情報埋め込み装置は、入力装置から元画像データおよび当該元画像データに埋め込むコード（以下、埋め込みコードと表記する）を取得し、元画像データに埋め込みコードを埋め込む。
【００７２】
そして、本実施例３にかかる情報埋め込み装置は、埋め込みコードが元画像データに、正常に埋め込まれたか否か判定し、埋め込みコードが正常に埋め込まれていない場合には、元画像データに対して実施例２で示したような変更処理を行い、変更処理を行った画像データにあらためて埋め込みコードを埋め込む。
【００７３】
このように、本実施例３にかかる情報埋め込み装置は、埋め込みコードを元画像データに正常に埋め込めなかった場合に、元画像データに変更を加え、あらためて、埋め込みコードを埋め込むので、元画像データの特性によらないで、ユーザが所望する埋め込みコードを、ユーザが所望する元画像データに埋め込むことができる。
【００７４】
つぎに、本実施例３にかかる情報埋め込み装置の構成について説明する。図７は、本実施例３にかかる情報埋め込み装置の構成を示す機能ブロック図である。同図に示すように、情報埋め込み装置５００は、入力受付部５１０、記憶部５２０、コード埋め込み部５３０、デコードチェック部５４０、画像変更処理部５５０を有する。その他の構成および要素は、実施例１で示した情報埋め込み装置１００と同様であるので、同一の構成要素には同一の符号を付して説明を省略する。また、情報埋め込み装置５００は、実施例１と同様に、入力装置２００および出力装置３００に接続される。
【００７５】
入力受付部５１０は、入力装置２００から、情報の埋め込み対象となる元画像データと、埋め込みコードデータとを取得し、取得した各情報を記憶部５２０に記録する処理部である。記憶部５２０は、埋め込みコードデータ５２０ａおよび元画像データ５２０ｂを記憶する記憶部である。
【００７６】
コード埋め込み部５３０は、記憶部５２０から埋め込みコードデータ５２０ａおよび元画像データ５２０ｂを取得し、元画像データ５２０ｂに埋め込みコードデータ５２０ａを埋め込む処理部である。なお、コード埋め込み部５３０が、元画像データ５２０ａに埋め込みコードデータを埋め込む手法は、例えば、図２の候補コード埋め込み部１６０と同じ方法を用いることができる。コード埋め込み部５３０は、元画像データ５２０ｂに埋め込みコードを埋め込んだ画像データをデコードチェック部５４０に渡す。
【００７７】
また、コード埋め込み部５３０は、画像変換処理部５５０（後述する）から画像データを取得した場合には、取得した画像データに埋め込みコードを埋め込み、埋め込みコードを埋め込んだ画像データをデコードチェック部５４０に渡す。
【００７８】
デコードチェック部５４０は、コード埋め込み部５３０から、埋め込みコードが埋め込まれた画像データと、埋め込みコードデータ５２０ａとを取得し、埋め込みコードが正常に、画像データに埋め込まれているか否かを判定する処理部である。そして、デコードチェック部５４０は、埋め込みコードが画像データに正常に埋め込まれていると判定した場合には、画像データおよび埋め込みコードデータ５２０ａを出力部１８０に渡す。
【００７９】
一方、デコードチェック部５４０は、埋め込みコードが画像データに正常に埋め込まれていないと判定した場合には、画像変更処理部５５０に、元画像データを変更する旨の情報を渡す。
【００８０】
画像変更処理部５５０は、デコードチェック部５４０から、元画像データに変更処理を加える旨の情報を取得した場合に、コード埋め込み部５３０から元画像データ５２０ｂを取得し、取得した元画像データに変更処理を加える処理部である。具体的に、この画像変更処理部５５０が、元画像データ５２０ｂに変更を加える場合には、例えば、低域濾過フィルタまたは高域濾過フィルタを利用して、元画像データをぼかす、または、元画像データに特定のパターンを重畳する（元の画像をつぶさない）、または、元画像データに特定のパターンを上書きする（元の画像をつぶす）、または、元画像データに枠をつける。
【００８１】
そして、画像変更処理部５５０は、元画像データ５２０ｂに変更処理を加えた画像データを、コード埋め込み部５３０に渡す。
【００８２】
つぎに、本実施例３にかかる情報埋め込み装置の処理について説明する。図８は、本実施例３にかかる情報埋め込み装置の処理を示すフローチャートである。同図に示すように、情報埋め込み装置５００は、入力受付部５１０が、入力装置２００から埋め込みコードデータおよび元画像データを取得して、記憶部５２０に埋め込みコードデータ５２０ａおよび元画像データ５２０ｂを記録し（ステップＳ３０１）、コード埋め込み部５３０が、元画像データ５２０ｂに埋め込みコードを埋め込む（ステップＳ３０２）。
【００８３】
そして、デコードチェック部５４０は、画像データに埋め込みコードが正常に埋め込まれたか否かを判定し（ステップＳ３０３）、正常に埋め込まれていない場合には（ステップＳ３０４，Ｎｏ）、画像変更処理部５５０が元画像データ５２０ｂに対して変更処理を加えて、変更処理を加えた画像データをコード埋め込み部５３０に渡し（ステップＳ３０５）、ステップＳ３０２に移行する。
【００８４】
一方、デコードチェック部５４０が、画像データに埋め込みコードが正常に埋め込まれていると判定した場合には（ステップＳ３０４，Ｙｅｓ）、出力部１８０が、埋め込みコードと、埋め込みコードを埋め込んだ画像データを出力部３００に出力する（ステップＳ３０６）。
【００８５】
このように、デコードチェック部５４０が、画像データに埋め込みコードが正常に埋め込まれていないと判定した場合に、画像変更処理部５５０が、元画像データに変更を加え、コード埋め込み部５３０が、変更処理が加えられた画像データに埋め込みコードを埋め込むので、ユーザが所望するコードを、ユーザが所望する元画像データに埋め込むことができる。
【００８６】
上述してきたように、本実施例３にかかる情報埋め込み装置５００は、コード埋め込み部５３０が、元画像データ５２０ｂに埋め込みコードを埋め込み、デコードチェック部５４０が、元画像データに埋め込みコードが正常に埋め込まれているか否かを判定し、正常に埋め込まれていない場合には、画像変更処理部５５０が、元画像データに対して変更処理を行い、変更処理を加えた画像データに埋め込みコードを埋め込むので、元画像データの特性によらないで、埋め込みコードを効率よく埋め込むことができる。
【００８７】
なお、本実施例３では、埋め込みコードが正常に元画像データ５２０ｂに埋め込まれていない場合には、画像変更処理部５５０が、元画像データ５２０に変更処理を加えていたが、予め、複数種類の元画像データを記憶部５２０に記憶させておき、埋め込みコードが正常に元画像データに埋め込まれていない場合に、コード埋め込み部５３０は、別の元画像データにあらためて埋め込みコードを埋め込むようにしても良い。
【００８８】
つぎに、本発明の応用例について説明する。図９は、本発明の応用例を説明するための説明図である。本発明の応用例にかかわる情報埋め込み装置は、埋め込み対象となる元画像データ群（画像リスト）と、元画像データに埋め込むコードのリスト（コードリスト）とを取得し、各元画像データをそれぞれデコードする。
【００８９】
そして、情報埋め込み装置は、各元画像データにかかわるそれぞれのデコード結果と、コードリストに含まれる各コードとを比較し、元画像データとコードとの最適な組み合わせを選択する。ここで、最適な組み合わせを選択する選択方法はどのような方法を用いても良いが、元画像データのデコード結果に最も近いコードを当該画像データと組になるコードとして選択することができる。
【００９０】
例えば、各元画像データのコードが（１，０，０）、（１，１，０）であり、コードリストに含まれるコードが、（１，１，１）、（１，０，１）（０，０，０）（０，１，１）である場合には、各位置のコードごとに多数決を行う。多数決の結果、コード（１，０，０）を有する画像データに最も近いコードは、（０，０，０）となり（２箇所一致）、コード（１，１，０）を有する画像データに最も近いコードは、（１，１，１）となる（２箇所一致）。
【００９１】
そして、最適な組み合わせのうち、最も一致箇所が多い画像データとコードとの組を選択し、画像データにコードを埋め込む。なお、一致箇所が同じ組が複数存在する場合には、ランダムに１つ選択する。
【００９２】
続いて、選択した組の画像データに正常にコードが埋め込まれたか否かを判定し、正常に埋め込まれた場合には、コードを埋め込んだ画像データとコードの情報を出力し、正常に埋め込まれていない場合には、他の元画像データとコードとの組み合わせを選択し、元画像データにコードを埋め込む。
【００９３】
ここで、最適な組を選択したにも関わらず、画像データに情報が正常に埋め込まれない理由としては、最適な組は、画像データの「デコード結果」とコードリストのコードとを比較しているが、このデコード結果が画像データにとって相性が良いとは限らないからである。すなわち、画像データからデコードされたコードは、多数決によって数値が決められているが、画像データによっては様々なコードが混在し、各コードにかかる相性の優劣が拮抗している場合があるからである。
【００９４】
したがって、上述した画像データとコードの組み合わせでは、最適な組にもかかわらず、画像データにコードを正常に埋め込めない場合があるため、他の組み合わせにかかる画像データとコードとを選択し、あらためて画像データにコードの埋め込みを行うこととなる。
【００９５】
このように、本発明の応用例にかかわる情報埋め込み装置は、画像リストとコードリストとを取得して、元画像データとコードとの最適な組み合わせを選択し、元画像データにコードを埋め込むので、効率よくかつ正常に元画像データにコードを埋め込むことができる。
【００９６】
ところで、上記の実施例で説明した情報埋め込み装置の各種の処理は、情報埋め込み処理に係るプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図１０を用いて、上記の実施例と同様の機能を有する情報埋め込みプログラムを実行するコンピュータの一例を説明する。図１０は、情報埋め込みプログラムを実行するコンピュータを示す図である。
【００９７】
同図に示すように、コンピュータ３０は、入力装置３１、出力装置３２、ＲＡＭ３３、ＲＯＭ３４およびＣＰＵ３５をバス３６で接続して構成される。ここで、入力装置３１および出力装置３２は、図２に示した入力装置２００および出力装置３００にそれぞれ対応する。
【００９８】
そして、ＲＯＭ３４には、上記の実施例の情報埋め込み装置と同様の機能を発揮する情報埋め込みプログラム、つまり、図１０に示すように、画像処理プログラム３４ａ、デコードプログラム３４ｂ、候補コード決定プログラム３４ｄ、候補コード埋め込みプログラム３４ｄ、デコードチェックプログラム３４ｅが予め記録されている。
【００９９】
そして、ＣＰＵ３５が、これらのプログラム３４ａ〜３４ｅをＲＯＭ３４から読み出して実行することで、図１０に示すように、各プログラム３４ａ〜３４ｅは、画像処理プロセス３５ａ、デコードプロセス３５ｂ、候補コードプロセス３５ｃ、候補コード埋め込みプロセス３５ｄ、デコードチェックプロセス３５ｅとして機能するようになる。各プロセス３５ａ〜３５ｅは、図２に示した画像選択部１３０、デコード部１４０、候補コード決定部１５０、候補コード埋め込み部１６０、デコードチェック部１７０にそれぞれ対応する。
【０１００】
そして、ＣＰＵ３５は、ＲＡＭ３３に記録された元画像データ群３３ａから元画像データを選択し、選択した元画像データから候補コードを算出して、元画像データに候補コードを埋め込む。
【０１０１】
ところで、上記した各プログラム３４ａ〜３４ｅは、必ずしも最初からＲＯＭ３４に記憶させておく必要はなく、例えば、コンピュータ３０に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬の物理媒体」、または、コンピュータ３０の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３０に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ３０がこれらから各プログラムを読み出して実行するようにしてもよい。
【産業上の利用可能性】
【０１０２】
以上のように、本発明にかかる情報埋め込み装置は、画像データの特性によらないで、画像データに処理を加え情報を埋め込む必要のある画像処理装置などに対して有用である。
【図面の簡単な説明】
【０１０３】
【図１−１】本実施例１にかかる情報埋め込み装置の特徴を説明するための説明図（１）である。
【図１−２】本実施例１にかかる情報埋め込み装置の特徴を説明するための説明図（２）である。
【図２】本実施例１にかかる情報埋め込み装置の構成を示す機能ブロック図である。
【図３】本実施例１にかかる情報埋め込み装置の処理を示すフローチャートである。
【図４】本実施例２にかかる情報埋め込み装置の特徴を説明するための説明図である。
【図５】本実施例２にかかる情報埋め込み装置の構成を示す機能ブロック図である。
【図６】本実施例２にかかる情報埋め込み装置の処理を示すフローチャートである。
【図７】本実施例３にかかる情報埋め込み装置の構成を示す機能ブロック図である。
【図８】本実施例３にかかる情報埋め込み装置の処理を示すフローチャートである。
【図９】本発明の応用例を説明するための説明図である。
【図１０】情報埋め込みプログラムを実行するコンピュータを示す図である。
【符号の説明】
【０１０４】
３０    情報埋め込み装置（コンピュータ）
３１    入力装置
３２    出力装置
３３    ＲＡＭ
３３ａ  元画像データ群
３４    ＲＯＭ
３４ａ  画像処理プログラム
３４ｂ  デコードプログラム
３４ｃ  候補コード決定プログラム
３４ｄ  候補コード埋め込みプログラム
３４ｅ  デコードチェックプログラム
３５    ＣＰＵ
３５ａ  画像処理プロセス
３５ｂ  デコードプロセス
３５ｃ  候補コード決定プロセス
３５ｅ  デコードチェックプロセス
１００，４００，５００    情報埋め込み装置
１１０，４１０，５１０    入力受付部
１２０，４２０，５２０    記憶部
１２０ａ  元画像データ群
１３０    画像処理部
１４０    デコード部
１５０    候補コード決定部
１６０    候補コード埋め込み部
１７０，４３０，５４０    デコードチェック部
１８０    出力部
２００    入力装置
３００    出力装置
４２０ａ  元画像データ
４４０    画像変換処理部
５２０ａ  埋め込みコードデータ
５２０ｂ  元画像データ
５３０    コード埋め込み部
５５０    画像変更処理部
【図１−１】
2007067629.tif 000003
【図１−２】
2007067629.tif 000004
【図２】
2007067629.tif 000005
【図３】
2007067629.tif 000006
【図５】
2007067629.tif 000007
【図６】
2007067629.tif 000008
【図７】
2007067629.tif 000009
【図８】
2007067629.tif 000010
【図９】
2007067629.tif 000011
【図１０】
2007067629.tif 000012
【図４】
2007067629.tif 000013