(57)【特許請求の範囲】
【請求項１】
所定の表示順序及び所定の表示時間間隔で、表示装置の画面に順次表示された複数枚の表示画像から埋込み対象データを復元するための方法であって、
前記複数枚の表示画像の各々は、前記埋込み対象データが所定の長さ単位で分割された部分データが、分割位置を特定するための位置情報と共に複数の入力画像にそれぞれ埋め込まれる埋め込み処理によって生成され、
前記埋め込み処理では、
第１の部分データの分割位置を特定するための第１の位置情報と共に、前記第１の部分データを第１のビット数だけ所定の方向にビットシフトした第１のビット列と、前記第１のビット数が、第１の入力画像に埋め込まれ、
第２の部分データの分割位置を特定するための第２の位置情報と共に、前記第２の部分データを前記第１のビット数だけ前記所定の方向にビットシフトした第２のビット列と、前記第１のビット数が、第２の入力画像に埋め込まれ、
前記第２の位置情報と共に、前記第２の部分データを第２のビット数だけ前記所定の方向にビットシフトした第３のビット列と、前記第２のビット数が、第３の入力画像に埋め込まれ、
前記復元方法は、
前記表示画像を所定の撮影時間間隔で撮影する画像入力ステップと、
該撮影した画像から埋め込まれた前記部分データ及び前記位置情報を抽出するデータ抽出ステップと、
該抽出した前記位置情報を判定しながら、全ての前記部分データ及び前記位置情報の取得が終了するまで前記画像入力ステップと前記データ抽出ステップを繰り返し実行し、その後、抽出した前記位置情報に基づいて抽出した前記部分データを結合して前記埋込み対象データを復元するデータ結合ステップと、
を含み、
前記データ結合ステップは、
前記第１の入力画像の表示結果である第１の表示画像を撮影した画像から得られた前記第１のビット列を、前記第１のビット数だけ前記所定の方向の逆方向にビットシフトして、得られたビット列を前記第１の部分データとし、
前記第２の入力画像の表示結果である第２の表示画像を撮影した画像から前記第２のビット列が得られない場合、前記第３の入力画像の表示結果である第３の表示画像を撮影した画像から、前記第３のビット列を取得すると共に、前記第３のビット列を前記第２のビット数だけ前記所定の方向の逆方向にビットシフトしたビット列を前記第２の部分データとする
ことを特徴とするデータ復元方法。
【請求項２】
前記位置情報は、少なくとも前記各部分データの結合順序に関する情報を含み、
前記データ結合ステップは、該位置情報が示す結合順序を判定することにより、結合順序の異なる前記各部分データを予め定めておいた分割個数分抽出した時点で全ての前記部分データの抽出が完了したと判断し、前記各部分データを前記結合順序に基づいて結合する、
ことを特徴とする請求項１に記載のデータ復元方法。
【請求項３】
前記位置情報は、少なくとも前記各部分データの分割個数と結合順序に関する情報を含み、
前記データ結合ステップは、該位置情報が示す分割個数及び結合順序を判定することにより、結合順序の異なる前記各部分データを前記分割個数分抽出した時点で全ての前記部分データの抽出が完了したと判断し、前記各部分データを前記結合順序に基づいて結合する、
ことを特徴とする請求項１に記載のデータ復元方法。
【請求項４】
請求項１乃至３の何れか１項に記載の方法による処理を実行する装置。
【請求項５】
請求項１乃至３の何れか１項に記載の方法の各ステップをコンピュータにより実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを人の目に見えにくいように埋め込んだ画像を画面に表示して撮影及び認識する技術に関する。
【背景技術】
【０００２】
人の目に見えにくいように画像にデータを埋め込む従来技術として、特許文献１に開示されている技術がある。
この従来技術では、埋込み対象の入力画像の黄色コンポーネントが所定サイズのブロックに分割され、隣接ブロックの平均濃度差の大小関係に基づいて誤り訂正データが付加されたデータが繰り返し埋め込まれる。
【０００３】
データが埋め込まれた画像からのデータの取得は、まず隣接ブロックの平均濃度の大小関係から繰り返し埋め込まれたデータ（元のデータに誤り訂正データが付加されたデータ）を取得し、次に多数決及び誤り訂正を行うことで実現できる。多数決を行うことでデータ内の誤りの個数を削減し、誤り訂正を行うことでデータ内の誤りを補正して元のデータ取得することができる。
【０００４】
多数決及び誤り訂正により正しくデータを取得できるようにしていることから、埋め込まれた画像を紙面に印刷したり画面に表示させて、カメラなどの画像入力手段で取り込んだ画像からも埋め込まれたデータを取得することを可能にしている。
【特許文献１】特開２００４−３４９８７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来のデータ埋込み方法では、印刷や表示などの画像出力手段とカメラなどの画像入力手段を介して取得された、元の画像に対して画質が劣化した画像から埋め込まれているデータを正しく取得可能とするために、誤り訂正用のデータを付与したり同じデータを繰り返し埋め込む処理を行う必要があるため、実際に埋め込むことができるデータサイズには制約があり増やすことが困難であるという問題点を有していた。
【課題を解決するための手段】
【０００６】
本発明の課題は、埋込み画像を画面に表示する用途において、従来の何倍ものデータを埋め込み取得することを可能にすることにある。
本発明の第１の態様は、データを画像に視認できないように埋め込む方法、装置、又はプログラムを前提とする。
【０００７】
データ分割ステップでは、埋込み対象データが所定の長さ単位で複数の部分データに分割される。このステップでは例えば、埋込み対象データが所定の長さ単位で切り取られ、その切り取られた各データが各部分データとして出力される。また、このステップでは例えば、埋込み対象データが所定の長さ単位で切り取られ、その切り取られた各データに対して所定の可逆的なデータ変換操作が行われ、その結果得られる各変換データが各部分データとして出力される。また、このステップでは例えば、切り取った各データの同じ切り取り部分が冗長的に複数の部分データに含まれるように各部分データの生成が行われる。
【０００８】
データ埋込みステップでは、分割された各部分データが、分割位置を特定するための位置情報と共に複数の入力画像にそれぞれ埋め込まれ、分割個数分の埋込み画像が生成される。このとき、複数の入力画像は例えば、１枚の静止入力画像をコピーして得た同じ静止
画像である。また、複数の入力画像は例えば、入力動画像を構成する複数のフレーム画像である。
【０００９】
本発明の第２の態様は、本発明の第１の態様によって埋込み対象データが複数の部分データとして埋め込まれた埋込み画像を表示するための方法、装置、又はプログラムを前提とする。
【００１０】
この態様においては、表示ステップにおいて、埋込み画像が所定の表示順序及び所定の表示時間間隔で、表示装置の画面に順次表示される。この表示ステップでは例えば、埋込み画像間の画素値の差ができる限り小さくなる順序で埋込み画像が表示される。また、ｋの表示ステップでは例えば、埋込み画像がランダムな順序で表示される。
【００１１】
本発明の第３の態様は、本発明の第２の態様によって表示された表示画像から各部分データを抽出し、埋込み対象データを復元するための方法、装置、又はプログラムを前提とする。
【００１２】
画像入力ステップでは、表示画像が所定の撮影時間間隔で撮影される。
データ抽出ステップでは、その撮影された画像から埋め込まれた部分データ及び位置情報が抽出される。
【００１３】
データ結合ステップでは、その抽出された位置情報が判定されながら、全ての部分データ及び位置情報の取得が終了するまで画像入力ステップとデータ抽出ステップが繰り返し実行され、その後、抽出された位置情報に基づいて抽出された部分データが結合されて埋込み対象データが復元される。この場合に、位置情報は例えば、少なくとも各部分データの結合順序に関する情報を含み、データ結合ステップでは、その位置情報が示す結合順序が判定されることにより、結合順序の異なる各部分データが予め定めておいた分割個数分抽出された時点で全ての部分データの抽出が完了したと判断され、各部分データが結合順序に基づいて結合される。また、位置情報は例えば、少なくとも各部分データの分割個数と結合順序に関する情報を含み、データ結合過程では、その位置情報が示す分割個数及び結合順序が判定されることにより、結合順序の異なる各部分データが分割個数分抽出された時点で全ての部分データの抽出が完了したと判断され、各部分データが結合順序に基づいて結合される。また、位置情報は例えば、少なくとも各部分データの結合順序に関する情報を含むと共に、その結合順序が先頭の部分データに対応する位置情報は、更に各部分データの分割個数に関する情報を含み、データ結合ステップでは、その位置情報が示す分割個数及び結合順序が判定されることにより、結合順序の異なる各部分データが分割個数分抽出された時点で全ての部分データの抽出が完了したと判断され、各部分データが結合順序に基づいて結合される。
【００１４】
上記本発明の第２及び第３の態様の構成において、撮影時間間隔は表示時間間隔より短いように構成することができる。
【発明の効果】
【００１５】
本発明によれば、データを埋め込んだ画像を画面に表示して撮影・認識させる際に、画像の表示領域を増やすことなく、従来と同じ画像を使用して埋め込めるデータ量を何倍にも拡張することが可能となる。
【００１６】
従来は１つの画像に埋め込めるデータは数十ビット程度であり十桁程度の番号を埋め込める程度であったが、本発明ではメールアドレスやURLのように大きいデータを表示画像に埋め込むことが可能となり、表示画像を使って多様なデータを提供することが可能となる。
【００１７】
本発明によれば、画像に埋め込まれるデータに対して可逆的な変換処理を施すことにより、データの秘匿性を高めることが可能となる。
本発明によれば、データを動画像の連続するフレームに埋め込むことが可能となり、動画像を通じて多彩なデータ提供を実現することが可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照しながら、本発明を実施するための最良の形態を詳細に説明する。
本発明の実施形態の共通構成図
図１は、本発明の第１〜第３の各実施形態に共通の機能ブロック図である。
【００１９】
埋め込むデータはデータ分割部１０１に入力し、ここで分割されたｎ個の部分データと位置情報がデータ埋込み部１０２に出力される。
データ埋込み部１０２は、データ分割部１０１から入力された部分データと位置情報を、順に入力画像に埋め込み、ｎ個の埋込み画像を画像格納部１０３に出力して保存する。
【００２０】
表示制御部１０４は、画像格納部１０３に格納されているｎ個の埋込み画像を所定の順序で繰り返し読み出し、表示部１０５にその画像をＴ１秒間ずつ表示する。
画像入力部１０６は、表示部１０５に表示された埋込み画像をＴ２秒間隔で撮影し、撮影画像をデータ抽出部１０７に出力する。
【００２１】
データ抽出部１０７は、画像入力部１０６から入力された撮影画像をデコードして部分データ及び位置情報を抽出し、両者をデータ格納部１０８に格納する。全ての部分データと位置情報のデコードが終了した時点で、データ結合部１０９にデコード終了を通知する。
【００２２】
データ結合部１０９は、データ格納部１０８に格納されている部分データと位置情報を読み出し、元の埋込みデータに結合して出力する。
本発明の第１の実施形態
図１の構成に基づく本発明の第１の実施形態の動作について、以下に説明する。
【００２３】
図２は、本発明の第１の実施形態の動作原理を示す図である。
まず、図１のデータ分割部１０１が、図２の２０１として示されるように、画像に埋め込む元データＣをｎ個（ｎは２以上の整数）の部分データＣ１〜Ｃｎ（図２ではｎ＝４）に分割する。
【００２４】
次に、図１のデータ埋込み部１０２が、図２の２０２として示されるように、分割で得られる各部分データＣ１〜Ｃｎに、位置情報Ｐ１〜Ｐｎをそれぞれ付与する。
更に、データ埋込み部１０２が、図２の２０３として示されるように、埋め込む対象の画像をｎ個コピーし、各コピー画像に部分データＣ１〜Ｃｎとその部分データの位置を特定するための位置情報Ｐ１〜Ｐｎをそれぞれ埋め込む。
【００２５】
部分データの大きさは、位置情報と合わせて画像に埋込みが可能な大きさになるように設定される。
これにより、データ埋込み部１０２にて、図２の２０４として示されるように、同じ画像に異なる部分データと位置情報が埋め込まれたｎ個の埋込み画像Ｅ１〜Ｅｎが生成され、図１の画像格納部１０３に格納される。
【００２６】
次に、図１の表示制御部１０４は、部分データが埋め込まれたｎ個の埋込み画像Ｅ１〜Ｅｎを、画像格納部１０３から順次読出しながら、図１の表示部１０５の画面上の同じ位
置に、図２の２０５として示されるように、Ｔ１秒づつ順に表示する。これにより、人の目には一つの画像が所定の位置に静止して表示されているように見えるが、実際は同じ画像のコピーに部分データが埋め込まれたｎ個の画像Ｅ１〜Ｅｎが、Ｔ１秒ごとに順に切り替わりながら繰り返し表示されている状態となる。
【００２７】
一方、携帯電話機等に組み込まれる図１の画像入力部１０６、データ抽出部１０７、データ格納部１０８、及びデータ結合部１０９は、以下の動作を実行する。
まず、画像入力部１０６は、上記のように表示部１０５に表示された埋込み画像をＴ２秒間隔で撮影する。
【００２８】
次に、データ抽出部１０７は、上述の撮影された埋込み画像に埋め込まれている部分データＣ１〜Ｃｎ及びそれぞれの部分データに対応する位置情報Ｐ１〜Ｐｎを順次抽出し、データ格納部１０８に格納する。
【００２９】
この場合、図２の２０６として示されるように、Ｔ２秒間隔の撮影毎に、Ｅ１〜Ｅ４の各画像が順次撮影され、その都度、埋め込まれた部分データＣ１〜Ｃｎの取得に成功したり失敗したりしながら、各部分データが徐々に取得されてゆく。
【００３０】
この結果、例えば分割数ｎが予め固定値であれば、データ抽出部１０７は、ｎ個の部分データＣ１〜Ｃｎが全て取得されたことを認識した時点で、データ結合部１０９に通知を行う。
【００３１】
データ結合部１０９は、データ格納部１０８に格納されている部分データＣ１〜Ｃｎ、及びそれと共に格納されている位置情報Ｐ１〜Ｐｎに基づいて、部分データを結合することにより、元の埋込みデータを取得し、出力する。
【００３２】
図３は、図１のデータ分割部１０１において実行される、本発明の第１の実施形態におけるデータ分割方式の説明図である。
Ｍビットの元データが、Ｋ１〜Ｋｎビットのｎ個の部分データＣ１〜Ｃｎに分割される。Ｍは、Ｋ１からＫｎの合計に等しくなる。
【００３３】
分割された部分データのビット数Ｋ１〜Ｋｎは、部分データと共に埋め込まれる位置情報とを合わせて画像に埋め込める大きさに決める必要がある。画像に埋め込むことができるビット数をＰ、部分データＣ１〜Ｃｎに対する位置情報Ｐ１〜Ｐｎのビット数をそれぞれＳ１〜Ｓｎとすると、i番目（１≦ｉ≦ｎ）の部分データと位置情報について、下記数１式が満たされるようにＫｉとＳｉを決める必要がある。
【００３４】
［数１］
Ｋｉ＋Ｓｉ≦Ｐ
図４は、本発明の第１の実施形態における部分データＣ１〜Ｃｎと位置情報Ｐ１〜Ｐｎの第１の構成例を示す図である。
【００３５】
この構成例では、元データが同じ大きさの部分データＣ１〜Ｃｎに分割され、位置情報Ｐ１〜Ｐｎとして、「１」〜「ｎ」の部分データ番号が使用される。
分割数をｎとすると、位置情報（分割データ番号）に必要なビット数Ｓは、下記数２式のようにして求まる。
【００３６】
［数２］
Ｓ＝ｃｅｉｌ（ｌｏｇ２（ｎ））
部分データのビット数Ｋは、下記数３式によって求まる。
【００３７】
［数３］
Ｋ＝Ｐ−Ｓ
また、埋め込めるデータの最大ビット数Ｍは、下記数４式によって求まる。
【００３８】
［数４］
Ｍ＝Ｋ×ｎ＝（Ｐ−ｃｅｉｌ（ｌｏｇ２（ｎ）））×ｎ
数２式及び数４式において、ｃｅｉｌ（）は、括弧内の値の小数点以下を切り上げて整数化する処理、ｌｏｇ２（）は、２を底として括弧内の数字の対数を計算する処理を意味する。
【００３９】
ｎ＝４個、Ｐ＝１００ビットとした場合、Ｓ＝２ビット、Ｋ＝９８ビット、Ｍ＝３９２ビットとなる。
図５は、本発明の第１の実施形態における部分データＣ１〜Ｃｎと位置情報Ｐ１〜Ｐｎの第２の構成例を示す図である。
【００４０】
この構成例では、元データが同じ大きさの部分データＣ１〜Ｃｎに分割され、位置情報Ｐ１〜Ｐｎとして、部分データ番号及び分割数が使用される。
分割数をｎとすると、位置情報（部分データ番号及び分割数）に必要なビット数Ｓは、下記数５式のようにして求まる。
【００４１】
［数５］
Ｓ＝ｃｅｉｌ（ｌｏｇ２（ｎ））×２
部分データのビット数Ｋは、前述の数３式によって求まり、埋め込めるデータの最大ビット数Ｍは、下記数６式によって求まる。
【００４２】
［数６］
Ｍ＝Ｋ×ｎ＝（Ｐ−ｃｅｉｌ（ｌｏｇ２（ｎ））×２）×ｎ
ｎ＝４個、Ｐ＝１００ビットとした場合、Ｓ＝４ビット、Ｋ＝９６ビット、Ｍ＝３８４ビットとなる。
【００４３】
図６は、本発明の第１の実施形態における部分データＣ１〜Ｃｎと位置情報Ｐ１〜Ｐｎの第３の構成例を示す図である。
この構成例では、元データが先頭の部分データＣ１以外は同じ大きさの部分データＣ２〜Ｃｎに分割され、位置情報Ｐｉとして先頭の部分データＣ１には部分データ番号及び分割数、先頭以外の部分データＣ２〜Ｃｎにはデータ番号が設定される。
【００４４】
分割数をｎとすると、先頭の部分データＣ１の位置情報Ｐ１（部分データ番号及び分割数）に必要なビット数Ｓ１は、下記数７式のようにして求まる。
［数７］
Ｓ１＝ｃｅｉｌ（ｌｏｇ２（ｎ））×２
先頭の部分データのビット数Ｋ１は、下記数８式によって求まる。
【００４５】
［数８］
Ｋ１＝Ｐ−Ｓ１
先頭以外の部分データＣ２〜Ｃｎの位置情報Ｐ２〜Ｐｎ（部分データ番号）にそれぞれ必要なビット数Ｓ２は、下記数９式のようにして求まる。
【００４６】
［数９］
Ｓ２＝ｃｅｉｌ（ｌｏｇ２（ｎ））
先頭以外の部分データのビット数Ｋ２は、下記数１０式によって求まる。
【００４７】
［数１０］
Ｋ２＝Ｐ−Ｓ２
この結果、埋め込めるデータの最大ビット数Ｍは、下記数１１式によって求まる。
【００４８】
［数１１］
Ｍ＝Ｋ１＋Ｋ２×（ｎ−１）＝Ｐ×ｎ−ｃｅｉｌ（ｌｏｇ２（ｎ））×（ｎ＋１）
ｎ＝４個、Ｐ＝１００ビットとした場合、Ｓ１＝４ビット、Ｋ１＝９６ビット、Ｓ２＝２ビット、Ｋ２＝９８ビット、Ｍ＝３９０ビットとなる。
【００４９】
図７は、図１のデータ埋込み部１０２が実行する、本発明の第１の実施形態におけるデータ埋込み処理の動作フローチャートである。
まず、データ埋込み部１０２は、入力データのビット数Ｍと画像に埋め込むことができるビット数Ｐ、及び予め決めておいた位置情報Ｐ１〜Ｐｎの構成に基づいて、分割数ｎと部分データＣ１〜Ｃｎのビット数Ｋ１〜Ｋｎと、各部分データＣ１〜Ｃｎの位置情報Ｐ１〜Ｐｎのビット数Ｓ１〜Ｓｎを決定する（図７のステップＳ７０１）。部分データＣ１〜Ｃｎと位置情報Ｐ１〜Ｐｎの構成は、前述した図４〜図６の３種類のデータ構成例の中から選択しておく。
【００５０】
次に、データ埋込み部１０２は、入力データを先頭からＫ１〜Ｋｎビットでｎ分割して、部分データＣ１〜Ｃｎを生成する（図７のステップＳ７０２）。
次に、データ埋込み部１０２は、部分データ番号を示す変数ｉを１即ち先頭の部分データを示す値に設定する（図７のステップＳ７０３）。
【００５１】
次に、データ埋込み部１０２は、部分データ番号ｉ及び分割数ｎを特定するための位置情報Ｐｉを生成する（図７のステップＳ７０４）。
次に、データ埋込み部１０２は、入力画像をコピーした画像に対して、部分データＣｉ及び位置情報Ｐｉの埋込みを行い、両者が埋め込まれた画像Ｅｉを生成し、図１の画像格納部１０３に格納する（図７のステップＳ７０５）。
【００５２】
次に、データ埋込み部１０２は、部分データ番号ｉに１を加え、次の部分データを示す値に設定する（図７のステップＳ７０６）。
そして、データ埋込み部１０２は、部分データ番号ｉが分割数ｎを超えていた場合には、全ての部分データの埋込みが完了したと判断して埋込み処理を終了し（図７のステップＳ７０７の判定がＹｅｓ）、部分データ番号ｉが分割数ｎ以下の場合には、処理をステップＳ７０４に戻す（ステップＳ７０７の判定がＮｏ）。
【００５３】
以上のデータ埋込み部１０２の処理により、入力画像への入力データの埋込みが行われ
、入力データをｎ個に分割した部分データＣ１〜Ｃｎと位置情報Ｐ１〜Ｐｎを埋め込んだ画像Ｅ１〜Ｅｎが生成される。
【００５４】
図８は、図１の表示制御部１０４によって実行される、本発明の第１の実施形態における部分データが埋め込まれた画像の表示処理の動作フローチャートである。
まず、表示制御部１０４は、埋込み画像の表示順序を決定する（図８のステップＳ８０１）。表示順序は分割した順に表示してもよいが、画像の見栄えを向上させるため、埋込み画像間の画素差が最小となる順序やランダムな順序を選択することができる。
【００５５】
次に、表示制御部１０４は、表示する埋込み画像数を示す変数ｉを１に設定する（図８のステップＳ８０２）。
次に、表示制御部１０４は、表示順序に基づき、表示する埋込み画像の番号ｋを取得する（図８のステップＳ８０３）。埋込み画像ｋは、部分データ番号ｋの部分データＣｋに対応する。
【００５６】
次に、表示制御部１０４は、ｋ番目の埋込み画像Ｅｋを図１の表示部１０５の画面に表示する（図８のステップＳ８０４）。表示制御部１０４は、次の埋込み画像を表示する際には、その画像を画面上の同じ位置に表示する。
【００５７】
次に、表示制御部１０４は、埋込み画像Ｅｋを表示してからＴ１秒経過するまで待つ（図８のステップＳ８０５）。Ｔ１秒の間埋込み画像Ｅｋが画面に表示された状態となる。
次に、表示制御部１０４は、外部より表示終了の指示があった場合には表示処理を終了し（図８のステップＳ８０６の判定がＹｅｓ）、表示終了の指示がない場合場合には処理を図８のステップＳ８０７に進める（ステップＳ８０６の判定がＮｏ）。
【００５８】
続いて、表示制御部１０４は、表示する埋込み画像数を示す変数ｉに１を加える（図８のステップＳ８０７）。
次に、表示制御部１０４は、表示する埋込み画像数を示す変数ｉが分割数ｎを超えている場合には（図８のステップＳ８０８の判定がＹｅｓ）、処理を図８のステップＳ８０２に戻して再度埋込み画像Ｅ１〜Ｅｎの表示を行い、変数ｉが分割数ｎ以下の場合には（ステップＳ８０８の判定がＮｏ）、処理を図８のステップＳ８０３に戻して次の埋込み画像Ｅｉの表示を行う。
【００５９】
以上の表示制御部１０４の処理により、埋込み画像Ｅ１〜Ｅｎが画面の同じ位置に、Ｔ１秒ごとに切り替わりながら繰り返し画面に表示される。
図９は、図１の画像入力部１０６、データ抽出部１０７、及びデータ結合部１０９によって実行される、本発明の第１の実施形態における埋込み画像の撮影・認識処理の動作フローチャートである。
【００６０】
まず、図１の画像入力部１０６が表示部１０５の画面に表示されている埋込み画像を撮影し、続いて、図１のデータ抽出部１０７が、埋め込まれている部分データと位置情報を取り出すためのデコード処理を行う（図９のステップＳ９０１）。
【００６１】
次に、データ抽出部１０７は、デコードに成功した場合には処理を図９のステップＳ９０３に進め（図９のステップＳ９０２の判定がＹｅｓ）、デコードに失敗した場合には処理を図９のステップＳ９０８に進める（ステップＳ９０２の判定がＮｏ）。
【００６２】
データ抽出部１０７は、デコードに成功した場合には、デコード結果として部分データと位置情報を取得する（図９のステップＳ９０３）。
次に、データ抽出部１０７は、位置情報から部分データ番号と分割数ｎを取得する（図
５のデータ構成例の場合）。なお、分割数が事前に固定的に決められるデータ構成例の場合（図４の場合）には、位置情報には分割数ｎは含まれない。また、先頭の部分データの場合のみ分割数が付与される方式が採用される場合（図６のデータ構成例の場合）には、部分データ番号が１即ち先頭の場合のみ分割数ｎが取得される（以上、図９のステップＳ９０４）。
【００６３】
次に、データ抽出部１０７は、デコードした部分データを部分データ番号と共に図１のデータ格納部１０８に格納して保持する。位置情報に分割数が含まれる場合には分割数も保持される（以上、図９のステップＳ９０５）。
【００６４】
次に、データ抽出部１０７は、分割数ｎに基づいて全ての部分データのデコードが成功したか否かを確認し（図９のステップＳ９０６）、全ての部分データが取得できていれば処理を図９のステップＳ９０７に進め（ステップＳ９０６の判定げＹｅｓ）、未取得の部分デーが残っている場合には処理を図９のステップＳ９０８に進める（ステップＳ９０６の判定がＮｏ）。
【００６５】
データ抽出部１０７にて全ての部分データが取得できた場合には、図１のデータ結合部１０９が、データ格納部１０８に格納されている、デコードして取得した部分データを、それらと共に取得した部分データ番号の順に結合して、元の部分データを得て、処理を終了する（図９のステップＳ９０７）。
【００６６】
未取得の部分デーが残っている場合には、データ抽出部１０７は、撮影開始からＴ２秒経過するまで待つ（図９のステップＳ９０８）。図１０に示されるように、表示時間Ｔ１に対して撮影・認識間隔Ｔ２は短く設定し、表示された埋込み画像を取りこぼしなく撮影して最短の時間でデコードが終わるようにする。データ抽出部１０７は、Ｔ２秒が経過したら、処理を図９のステップＳ９０１に戻し、全ての部分データの取得が完了するまで撮影とデコード処理を繰り返す。
【００６７】
以上の画像入力部１０６、データ抽出部１０７、及びデータ結合部１０９の処理により、画面に表示された部分データが埋め込まれた埋込み画像Ｅ１〜Ｅｎを撮影及びデコードして埋め込まれた部分データを抽出し、部分データを結合して元のデータを取得することができる。
【００６８】
本発明の第２の実施形態
次に、本発明の第２の実施形態について、図１１〜図１７を用いて説明する。
本発明の第１の実施形態では、埋め込むべきデータが単純に分割されて埋込み画像が生成されるが、本発明の第２の実施形態では、何らかの可逆のオペレーションを行って分割された状態のデータが生成されることが特徴である。
【００６９】
図１１〜図１３は、分割データ（部分データ）がローテーションさせられて埋め込まれる方式の説明図である。
同じ分割データをローテーションさせたデータを冗長的に埋め込むことで、埋込み状態の異なる埋込み画像が生成される。本発明の第１の実施形態では、或る部分データが埋め込まれる画像は１画像のみであった、例えば、部分データＣｉが埋め込まれる画像は埋込み画像Ｅｉのみであった。このため、埋込み画像Ｅ１〜Ｅｎのうち１つでもデコードできない画像があると、元のデータを取得することができない。
【００７０】
これに対して、本発明の第２の実施形態においては、或る分割データを様々なビット幅分ローテーションさせて、各分割データを複数の画像に分散させて冗長的に埋め込んで表示させることにより、その中の画像のうちで１つでもデコードが成功すればよいため、デ
コードに成功する確率を向上させることが可能となる。
【００７１】
図１１（ａ）は、本発明の第２の実施形態において、分割データが２ビットローテーションされた場合のデータの並び順を示す図である。また、図１１（ｂ）は、その場合のデータ構成例を示す図である。
【００７２】
このデータ構成では、図１のデータ埋込み部１０２は、ローテーションしたビット数を位置情報に含めて埋込みを行う。これに対して、図１のデータ抽出部１０７は、デコード時に、ローテーションビット数分だけデータを逆方向にローテーションさせることで、ローテーション前の元の分割データを取得する。
【００７３】
図１２は、図１１のデータ構成のもとで図１のデータ埋込み部１０２によって実行される、本発明の第２の実施形態におけるデータ埋込み処理の動作フローチャートである。
図１２において、本発明の第１の実施形態の場合の図７の動作フローチャートと同じ番号が付されたステップは、図７の場合と同じ処理を実行するステップである。また、図７のステップ番号が括弧書きされたステップは、図７の場合と同じ目的の処理を実行するステップである。
【００７４】
図１２において、変数ｂはローテーションさせたビット数を示している。ｂ＝０はローテーションを行わないことを意味する。最初にステップＳ１２０１で変数ｂ＝０とされて、ローテーションしない埋込み画像が生成され、その後、変数ｂがカウントアップさせられながら（ステップＳ１２０５−＞Ｓ１２０６−＞Ｓ７０３）、ｂビットローテーションさせた画像が生成される（ステップＳ１２０２〜Ｓ１２０４）。ローテーションさせるビット数の上限は分割データのビット数（ｉ番目の分割データのビット数の場合はＫｉビット）とされる（ステップＳ１２０６）。これ以上ローテーションさせると同じデータが生成されてしまうからである。
【００７５】
図１３は、図１１のデータ構成のもとで図１の表示制御部１０４によって実行される、本発明の第２の実施形態における部分データが埋め込まれた画像の表示処理の動作フローチャートである。
【００７６】
図１３において、本発明の第１の実施形態の場合の図８の動作フローチャートと同じ番号が付されたステップは、図８の場合と同じ処理を実行するステップである。また、図８のステップ番号が括弧書きされたステップは、図８の場合と同じ目的の処理を実行するステップである。
【００７７】
図１３において、最初にステップＳ１３０１で変数ｂ＝０とされて、変数ｂが順次カウントアップさせられながら（ステップＳ１３０３−＞Ｓ１３０４−＞Ｓ８０２）、ｂビットローテーションさせた画像が図８の場合と同様にして表示される（ステップＳ１３０２）。変数ｂが上限値に達すると（ステップＳ１３０４の判定がＹｅｓ）、再び変数ｂ＝０とされて同様の表示が繰り返される（ステップＳ１３０４−＞Ｓ１３０１）。
【００７８】
図１４〜図１６は、分割データのビット順序が左右反転させられて埋め込まれる方式の説明図である。
この方式では、同じ分割データが左右ビット反転させられたデータを２枚の画像に分散させて冗長的に埋め込んで表示させることにより、その２枚の画像のうちで１枚でもデコードが成功すればよいため、デコードに成功する確率を向上させることが可能となる。
【００７９】
図１４（ａ）は、本発明の第２の実施形態において、分割データが左右ビット反転された場合のデータの並び順を示す図である。また、図１４（ｂ）は、その場合のデータ構成
例を示す図である。
【００８０】
このデータ構成では、図１のデータ埋込み部１０２は、ビットの左右反転有無を識別するための１ビットの反転フラグを位置情報に含めて埋込みを行う。これに対して、図１のデータ抽出部１０７は、デコード時に、反転フラグをチェックして、０の場合には左右ビット反転なしと判断し、１の場合には左右ビット反転ありと判断して、適宜左右のビットを反転させることで、元の分割データを取得する。
【００８１】
図１５は、図１４のデータ構成のもとで図１のデータ埋込み部１０２によって実行される、本発明の第２の実施形態におけるデータ埋込み処理の動作フローチャートである。
図１５において、本発明の第１の実施形態の場合の図７の動作フローチャートと同じ番号が付されたステップは、図７の場合と同じ処理を実行するステップである。また、図７のステップ番号が括弧書きされたステップは、図７の場合と同じ目的の処理を実行するステップである。
【００８２】
図１５では、ビット反転なしのデータ埋込み処理が図７の場合と同様にして実行された後（ステップＳ１５０１参照）、続いて、ビット反転がされた後に（ステップＳ１５０２）、今度はビット反転ありのデータ埋込み処理が図７の場合と同様にして実行される（ステップＳ１５０３、Ｓ１５０４参照）。部分データにおいて、Ｃｉはビット反転なしのもの、Ｃ′ｉはビット反転ありのものである。位置情報も、Ｐｉがビット反転なし、Ｐ′ｉがビット反転ありである。更に、埋込み画像についても、Ｅｉがビット反転あり、Ｅ′ｉがビット反転ありである。
【００８３】
図１６は、図１４のデータ構成のもとで図１の表示制御部１０４によって実行される、本発明の第２の実施形態における部分データが埋め込まれた画像の表示処理の動作フローチャートである。
【００８４】
図１６において、本発明の第１の実施形態の場合の図８の動作フローチャートと同じ番号が付されたステップは、図８の場合と同じ処理を実行するステップである。また、図８のステップ番号が括弧書きされたステップは、図８の場合と同じ目的の処理を実行するステップである。
【００８５】
図１６では、ビット反転なしの埋込み画像Ｅｋに関する表示処理が図８の場合と同様にして実行された後、続いて、ビット反転ありの埋込み画像Ｅ′ｋに関する表示処理が図８の場合と同様にして実行される（ステップＳ１６０１参照）。
【００８６】
なお、図１４に示されるような左右のビット反転の替わりに、各ビット値を０と１とで反転させた方式を適用することも可能である。
図１７は、本発明の第２の実施形態における分割データの他の分割方式の説明図である。
【００８７】
図１７（ａ）は、１ビット単位に順番にデータを抽出して順に分割データとする例、図１７（ｂ）は、データの抽出順序を所定の順序に変えた例である。後者は、順序が分からないと分割前の元のデータに復元できないことから、データの秘匿性を高める用途に適用することができる。
【００８８】
本発明の第３の実施形態
次に、本発明の第３の実施形態について、図１８と図１９を用いて説明する。
本発明の第３の実施形態では、データを動画像に埋め込むことを可能にする。
【００８９】
図１８は、動画像へのデータ埋込みの原理説明図である。
図１９は、図１のデータ埋込み部１０２によって実行される、本発明の第３の実施形態におけるデータ埋込み処理の動作フローチャートである。
【００９０】
図１９において、本発明の第１の実施形態の場合の図７の動作フローチャートと同じ番号が付されたステップは、図７の場合と同じ処理を実行するステップである。また、図７のステップ番号が括弧書きされたステップは、図７の場合と同じ目的の処理を実行するステップである。
【００９１】
本発明の第３の実施形態では、動画像（以下、「動画」という）がＴ１秒単位のフレーム画像に分割され、Ｔ１秒ごとに分割データが順に埋め込まれてゆく（図１８及び図１９のステップＳ１９０２−＞Ｓ７０６−＞Ｓ７０７−＞Ｓ７０４参照）。Ｔ１秒内のフレーム画像には同じ分割データが埋め込まれる（図１８及び図１９のステップＳ１９０１参照）。動画の末尾まで分割データが繰り返し埋め込まれる（図１９のステップＳ７０７−＞Ｓ７０３、ステップＳ１９０２−＞終了）。
【００９２】
上記のようにして埋込みが行われた動画が再生されることで、静止画像の場合と同じ方法でデコードを行うことができる。即ち、デコード側では静止画と動画を区別することなく同じ処理で、両者のデコードに対応することができる。
【００９３】
本発明がプログラムとして実現される場合の実施形態
図２０は、上述の本発明の第１〜第３の実施形態に対応するシステムを実現できるコンピュータ又は端末装置等のハードウェア構成の一例を示す図である。
【００９４】
図２０に示されるコンピュータは、ＣＰＵ２００１、メモリ２００２、入力装置２００３、出力装置２００４、外部記憶装置２００５、可搬記録媒体２００９が挿入される可搬記録媒体駆動装置２００６、及びネットワーク接続装置２００７を有し、これらがバス２００８によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【００９５】
ＣＰＵ２００１は、当該コンピュータ全体の制御を行う。メモリ２００２は、プログラムの実行、データ更新等の際に、外部記憶装置２００５（或いは可搬記録媒体２００９）に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＵＰ２００１は、プログラムをメモリ２００２に読み出して実行することにより、全体の制御を行う。
【００９６】
入力装置２００３は、例えば、キーボード、マウス等及びそれらのインタフェース制御装置とからなる。入力装置２００３は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をＣＰＵ２００１に通知する。
【００９７】
出力装置２００４は、表示装置、印刷装置等及びそれらのインタフェース制御装置とからなる。出力装置２００４は、ＣＰＵ２００１の制御によって送られてくるデータを表示装置や印刷装置に出力する。
【００９８】
外部記憶装置２００５は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置２００６は、光ディスクやＳＤＲＡＭ、コンパクトフラッシュ（登録商標）等の可搬記録媒体２００９を収容するもので、外部記憶装置２００５の補助の役割を有する。
【００９９】
ネットワーク接続装置２００７は、例えばモバイル通信網、ＬＡＮ（ローカルエリアネットワーク）又はＷＡＮ（ワイドエリアネットサーク）などの通信回線を接続するための装置である。
【０１００】
本実施形態によるシステムは、図１の機能ブロックが実現する機能を搭載したプログラムをＣＰＵ２００１が実行することで実現される。そのプログラムは、例えば外部記憶装置２００５や可搬記録媒体２００９に記録して配布してもよく、或いはネットワーク接続装置２００７によりネットワークから取得できるようにしてもよい。
【０１０１】
特に、図１の画像入力部１０６、データ抽出部１０７、データ格納部１０８、及びデータ結合部１０９からなる部分は、例えば携帯電話又はモバイル端末装置の機能として実現される。
【０１０２】
本発明の第１〜第３の実施形態に対する補足
以上の本発明の第１〜第３の実施形態に関して、更に以下の付記を開示する。
（付記１）
データを画像に視認できないように埋め込む方法であって、
埋込み対象データを所定の長さ単位で複数の部分データに分割するデータ分割ステップと、
前記分割された各部分データを、分割位置を特定するための位置情報と共に複数の入力画像にそれぞれ埋め込み、分割個数分の埋込み画像を生成するデータ埋込みステップと、
を含むことを特徴とするデータ埋込み方法。
（付記２）
付記１に記載の方法によって前記埋込み対象データが複数の部分データとして埋め込まれた前記埋込み画像を表示するための方法であって、
前記埋込み画像を所定の表示順序及び所定の表示時間間隔で、表示装置の画面に順次表示する表示ステップを含む、
ことを特徴とするデータ表示方法。
（付記３）
前記表示ステップは、前記埋込み画像間の画素値の差ができる限り小さくなる順序で前記埋込み画像を表示する、
ことを特徴とする付記２に記載のデータ表示方法。
（付記４）
前記表示ステップは、前記埋込み画像をランダムな順序で表示する、
ことを特徴とする付記２に記載のデータ表示方法。
（付記５）
付記２乃至４の何れか１項に記載の方法によって表示された表示画像から前記各部分データを抽出し、前記埋込み対象データを復元するための方法であって、
前記表示画像を所定の撮影時間間隔で撮影する画像入力ステップと、
該撮影した画像から埋め込まれた前記部分データ及び前記位置情報を抽出するデータ抽出ステップと、
該抽出した前記位置情報を判定しながら、全ての前記部分データ及び前記位置情報の取得が終了するまで前記画像入力ステップと前記データ抽出ステップを繰り返し実行し、その後、抽出した前記位置情報に基づいて抽出した前記部分データを結合して前記埋込み対象データを復元するデータ結合ステップと、
を含むことを特徴とするデータ復元方法。
（付記６）
前記位置情報は、少なくとも前記各部分データの結合順序に関する情報を含み、
前記データ結合ステップは、該位置情報が示す結合順序を判定することにより、結合順序の異なる前記各部分データを予め定めておいた分割個数分抽出した時点で全ての前記部分データの抽出が完了したと判断し、前記各部分データを前記結合順序に基づいて結合する、
ことを特徴とする付記５に記載のデータ復元方法。
（付記７）
前記位置情報は、少なくとも前記各部分データの分割個数と結合順序に関する情報を含み、
前記データ結合ステップは、該位置情報が示す分割個数及び結合順序を判定することにより、結合順序の異なる前記各部分データを前記分割個数分抽出した時点で全ての前記部分データの抽出が完了したと判断し、前記各部分データを前記結合順序に基づいて結合する、
ことを特徴とする付記５に記載のデータ復元方法。
（付記８）
前記位置情報は、少なくとも前記各部分データの結合順序に関する情報を含むと共に、
該結合順序が先頭の部分データに対応する位置情報は、更に前記各部分データの分割個数に関する情報を含み、
前記データ結合ステップは、該位置情報が示す分割個数及び結合順序を判定することにより、結合順序の異なる前記各部分データを前記分割個数分抽出した時点で全ての前記部分データの抽出が完了したと判断し、前記各部分データを前記結合順序に基づいて結合する、
ことを特徴とする付記５に記載のデータ復元方法。
（付記９）
前記データ分割ステップは、前記埋込み対象データを所定の長さ単位で切り取り、該切り取った各データを前記各部分データとして出力する、
ことを特徴とする付記１に記載のデータ埋込み方法。
（付記１０）
前記データ分割ステップは、前記埋込み対象データを所定の長さ単位で切り取り、該切り取った各データに対して所定の可逆的なデータ変換操作を行い、その結果得られる各変換データを前記各部分データとして出力する、
ことを特徴とする付記１に記載のデータ埋込み方法。
（付記１１）
前記データ分割ステップは、前記切り取った各データの同じ切り取り部分が冗長的に複数の前記部分データに含まれるように前記各部分データの生成を行う、
ことを特徴とする付記９に記載のデータ埋込み方法。
（付記１２）
前記複数の入力画像は、１枚の静止入力画像をコピーして得た同じ静止画像である、
ことを特徴とする付記１に記載のデータ埋込み方法。
（付記１３）
前記複数の入力画像は、入力動画像を構成する複数のフレーム画像である、
ことを特徴とする付記１に記載のデータ埋込み方法。
（付記１４）
前記撮影時間間隔は前記表示時間間隔より短い、
ことを特徴とする付記５に記載のデータ復元方法。
（付記１５）
付記１に記載のデータ埋込み方法にて前記データ埋込み動作を行うデータ埋込み装置。
（付記１６）
付記２に記載のデータ表示方法にて前記データ表示動作を行うデータ表示装置。
（付記１７）
付記５に記載のデータ復元方法にて前記データ復元動作を行うデータ復元装置。
（付記１８）
データを画像に視認できないように埋め込む処理を実行するコンピュータに、
埋込み対象データを所定の長さ単位で複数の部分データに分割するデータ分割機能と、
前記分割された各部分データを、分割位置を特定するための位置情報と共に複数の入力画像にそれぞれ埋め込み、分割個数分の埋込み画像を生成するデータ埋込み機能と、
を実行させるためのプログラム。
（付記１９）
埋込み対象データが複数の部分データとして埋め込まれた埋込み画像を表示する処理を実行するコンピュータに、
前記埋込み画像を所定の表示順序及び所定の表示時間間隔で、表示装置の画面に順次表示する表示機能を実行させるためのプログラム。
（付記２０）
表示画像から各部分データを抽出し、埋込み対象データを復元する処理を実行するコンピュータに、
前記表示画像を所定の撮影時間間隔で撮影する画像入力機能と、
該撮影した画像から埋め込まれた前記部分データ及び位置情報を抽出するデータ抽出機能と、
該抽出した前記位置情報を判定しながら、全ての前記部分データ及び前記位置情報の取得が終了するまで前記画像入力ステップと前記データ抽出ステップを繰り返し実行し、その後、抽出した前記位置情報に基づいて抽出した前記部分データを結合して前記埋込み対象データを復元するデータ結合機能と、
を実行させるためのプログラム。
【図面の簡単な説明】
【０１０３】
【図１】本発明の各実施形態に共通の機能ブロック図である。
【図２】本発明の第１の実施形態の動作原理を示す図である。
【図３】本発明の第１の実施形態におけるデータ分割方式の説明図である。
【図４】本発明の第１の実施形態における部分データと位置情報の第１の構成例を示す図である。
【図５】本発明の第１の実施形態における部分データと位置情報の第２の構成例を示す図である。
【図６】本発明の第１の実施形態における部分データと位置情報の第３の構成例を示す図である。
【図７】本発明の第１の実施形態におけるデータ埋込み処理の動作フローチャートである。
【図８】本発明の第１の実施形態における部分データが埋め込まれた画像の表示処理の動作フローチャートである。
【図９】本発明の第１の実施形態における埋込み画像の撮影・認識処理の動作フローチャートである。
【図１０】表示間隔と撮影・認識間隔との関係の説明図である。
【図１１】本発明の第２の実施形態における分割データをビットローテーションするデータ埋込み方式の説明図及びデータ構成図である。
【図１２】本発明の第２の実施形態におけるデータ埋込み処理の動作フローチャート（その１）である。
【図１３】本発明の第２の実施形態における部分データが埋め込まれた画像の表示処理の動作フローチャート（その１）である。
【図１４】本発明の第２の実施形態における分割データを左右ビット反転するデータ埋込み方式の説明図及びデータ構成図である。
【図１５】本発明の第２の実施形態におけるデータ埋込み処理の動作フローチャート（その２）である。
【図１６】本発明の第２の実施形態における部分データが埋め込まれた画像の表示処理の動作フローチャート（その２）である。
【図１７】本発明の第２の実施形態における分割データの他の分割方式の説明図である。
【図１８】本発明の第３の実施形態における動画像へのデータ埋込みの適用例の原理説明図である。
【図１９】本発明の第３の実施形態におけるデータ埋込み処理の動作フローチャートである。
【図２０】本発明の第１〜第３の実施形態に対応するシステムを実現できるコンピュータ又は端末装置等のハードウェア構成の一例を示す図である。
【符号の説明】
【０１０４】
１０１  データ分割部
１０２  データ埋込み部
１０３  画像格納部
１０４  表示制御部
１０５  表示部
１０６  画像入力部
１０７  データ抽出部
１０８  データ格納部
１０９  データ結合部
【図１】
0004962335.tif 000002
【図３】
0004962335.tif 000003
【図４】
0004962335.tif 000004
【図５】
0004962335.tif 000005
【図６】
0004962335.tif 000006
【図７】
0004962335.tif 000007
【図８】
0004962335.tif 000008
【図９】
0004962335.tif 000009
【図１０】
0004962335.tif 000010
【図１１】
0004962335.tif 000011
【図１２】
0004962335.tif 000012
【図１３】
0004962335.tif 000013
【図１４】
0004962335.tif 000014
【図１５】
0004962335.tif 000015
【図１６】
0004962335.tif 000016
【図１７】
0004962335.tif 000017
【図１８】
0004962335.tif 000018
【図１９】
0004962335.tif 000019
【図２０】
0004962335.tif 000020
【図２】
0004962335.tif 000021