(57)【特許請求の範囲】
【請求項１】
ホスト画像に透かし画像を埋め込むとともに、前記ホスト画像内の前記透かし画像を抽出する方法であって、
前記透かし画像と前記ホスト画像とに関連する情報を含むマトリックスコードシンボルを生成するステップと、
前記透かし画像と前記マトリックスコードシンボルとが前記ホスト画像において重複しない位置にて、前記ホスト画像に前記透かし画像と前記マトリックスコードシンボルとを埋め込むステップと、
前記透かし画像が埋め込まれた前記ホスト画像の逆離散コサイン変換（ＩＤＣＴ）を演算するステップと、
前記ＩＤＣＴ後の前記ホスト画像の複数のブロックの浮動小数点形式のピクセル値のフロア値を取得するステップとを含む、方法。
【請求項２】
前記生成するステップは、
前記ホスト画像を第１の所定サイズの複数のブロックに分割するステップと、
前記透かし画像を第２の所定サイズの複数のブロックに分割するステップとを含む、請求項１に記載の方法。
【請求項３】
前記ホスト画像の前記複数のブロックの数は、前記透かし画像の前記複数のブロックの数よりも多い、請求項２に記載の方法。
【請求項４】
前記生成するステップは、
前記透かし画像の前記複数のブロックのうちのブロックを、前記ホスト画像の前記複数のブロックのうちの少なくとも１つのブロックに関連付けるステップをさらに含む、請求項２に記載の方法。
【請求項５】
前記生成するステップは、
前記透かし画像と前記ホスト画像とに関連する情報を取得するステップと、
前記透かし画像と前記ホスト画像とに関連する情報を前記マトリックスコードシンボルに記憶するステップとをさらに含む、請求項４に記載の方法。
【請求項６】
前記情報は、前記ホスト画像の前記複数のブロック、前記透かし画像の前記複数のブロック、前記透かし画像の前記複数のブロックのうちのブロックと前記ホスト画像の前記複数のブロックのうちの少なくとも１つのブロックとの間の関連性、前記透かし画像のサイズ、前記ホスト画像のサイズ、埋め込みスキームのうちの少なくとも１つについての情報に対応する、請求項５に記載の方法。
【請求項７】
前記埋め込むステップは、
前記ホスト画像の離散コサイン変換（ＤＣＴ）を演算するステップと、
前記ホスト画像の前記ＤＣＴの演算に応答して前記ホスト画像の低周波数係数に前記透かし画像をマッピングするステップとを含み、低周波数係数は、前記ホスト画像のブロックに関連する、最下位から２番目の有効ビットに対応する、請求項１に記載の方法。
【請求項８】
前記埋め込むステップは、
前記ホスト画像の前記低周波数係数に前記透かし画像を記憶するステップと、
前記ホスト画像に、前記マトリックスコードシンボルをバイナリ画像として記憶するステップとをさらに含む、請求項１に記載の方法。
【請求項９】
前記透かし画像は、企業名、絵、デジタル画像のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項１０】
ホスト画像に透かし画像を埋め込むとともに、前記ホスト画像内の前記透かし画像を抽出する装置であって、
前記透かし画像と前記ホスト画像とに関連する情報を含むマトリックスコードシンボルを生成するための生成器と、
前記透かし画像と前記マトリックスコードシンボルとが前記ホスト画像において重複しない位置にて、前記ホスト画像に前記透かし画像と前記マトリックスコードシンボルとを埋め込む埋め込み器とを含み、
前記生成器は、前記透かし画像が埋め込まれた前記ホスト画像の逆離散コサイン変換（ＩＤＣＴ）を演算し、前記ＩＤＣＴ後の前記ホスト画像の複数のブロックの浮動小数点形式のピクセル値のフロア値を取得する、装置。
【請求項１１】
前記生成器は、
前記ホスト画像を第１の所定サイズの複数のブロックに分割し、
前記透かし画像を第２の所定サイズの複数のブロックに分割するようにさらに構成される、請求項１０に記載の装置。
【請求項１２】
前記生成器は、前記透かし画像の前記複数のブロックのうちのブロックを、前記ホスト画像の前記複数のブロックのうちの少なくとも１つのブロックに関連付けるようにさらに構成される、請求項１１に記載の装置。
【請求項１３】
前記生成器は、
前記透かし画像と前記ホスト画像とに関連する情報を取得し、
前記透かし画像と前記ホスト画像とに関連する情報を前記マトリックスコードシンボルに記憶するようにさらに構成される、請求項１１に記載の装置。
【請求項１４】
前記埋め込み器は、
前記ホスト画像の離散コサイン変換（ＤＣＴ）を演算し、
前記ホスト画像の前記ＤＣＴの演算に応答して前記ホスト画像の低周波数係数に前記透かし画像をマッピングするようにさらに構成され、低周波数係数は、前記ホスト画像のブロックに関連する、最下位から２番目の有効ビットに対応する、請求項１０に記載の装置。
【請求項１５】
前記埋め込み器は、
前記ホスト画像の前記低周波数係数に前記透かし画像を記憶し、
前記変換されたホスト画像に、前記マトリックスコードシンボルをバイナリ画像として記憶するようにさらに構成される、請求項１４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は一般的に透かし画像の埋込みに関し、より具体的には、ホスト画像に透かし画像およびマトリックスコードシンボルを埋込む方法に関する。
【背景技術】
【０００２】
発明の背景
透かし入れは、著作権およびデータ所有者の所有権を保護するのと同様に違法な複製を防ぐためにデータを画像、音声、またはビデオ信号に埋込む処理である。埋込まれるデータは透かしと呼ばれる。典型的に、透かしは、コード、模様、ロゴ、画像、またはデータ所有者に関連する識別情報の何らかの形式に対応する。一般的に、透かしは、オリジナルデータに透かし信号を加えることによってオリジナルデータに埋込まれる。アルゴリズムは、オリジナルデータおよび埋込まれる透かし信号を受入れ、透かしが入ったデータを生成する。一旦埋込まれると、オリジナルデータが保存されたり転送されたりしたときに透かしはオリジナルデータ内に残る。後に、オリジナルデータの所有者を照合するため任意の後の時点で透かしが取出され得る。
【０００３】
しかしながら、ホスト画像などのオリジナルデータに対する変更または攻撃により、透かしは損傷し得る。そして、透かしに関連する情報の損失が生じる。たとえば、ホスト画像に埋込まれた透かしは、所有権情報を迂回したり破壊したりするために故意に破損され得たり、ホスト画像を扱っている間に起こるさまざまな変更を介して意図せず破損されたりし得る。その結果、抽出された透かしは、完全には識別できないものであったり、ホスト画像を追跡しホスト画像に関連する所有権情報を照合するために必要な、要求される必要な情報のすべてを含んでいなかったりし得る。
【０００４】
したがって、さまざまな種類の攻撃および損傷に対する透かし画像の耐性を向上する、ホスト画像に透かし画像を確実に埋込むための方法および装置が要求される。
【０００５】
図面の簡単な説明
同様の参照番号は同一のまたは別々の視点を通して一貫して機能的に同様の要素を示し、下記の詳細な説明とともに明細書に組込まれ明細書の一部を形成する添付の図面は、さまざまな実施例をさらに説明し、すべて発明に従うさまざまな原則および利点を説明する。
【図面の簡単な説明】
【０００６】
【図１】発明のさまざまな実施例が機能する例示の環境を示す。
【図２】発明の実施例に従う、ホスト画像に透かし画像を埋込むための方法のフローチャートを示す。
【図３】発明の実施例に従う、マトリックスコードシンボルを生成するための方法のフローチャートを示す。
【図４】発明の実施例に従う、ホスト画像に透かし画像およびマトリックスコードシンボルを埋込むための方法のフローチャートを示す。
【図５】発明の実施例に従う、ホスト画像に透かし画像を埋込むための装置のブロック図を示す。
【図６】発明の実施例に従う、ホスト画像を第１の所定サイズの複数のブロックに分割する処理を示すブロック図である。
【図７】発明の実施例に従う、透かし画像を第２の所定サイズの複数のブロックに分割する処理を示すブロック図である。
【図８】発明の実施例に従う、ホスト画像に透かし画像を埋込むこと、およびホスト画像内の透かし画像を抽出することを示すブロック図である。
【発明を実施するための形態】
【０００７】
当業者であれば図面内の要素は簡潔性および明瞭性のために示されたのであって必ずしも一定の比率で描かれたものではないことが理解されるであろう。たとえば、発明の実施の形態の理解を向上するために、図面内のいくつかの要素の寸法は他の要素に比べて誇張され得る。
【０００８】
発明の詳細な説明
発明に従う詳細な実施例を説明する前に、実施例は、ホスト画像に透かし画像を埋込む方法に関連する、方法の手順と装置のコンポーネントとの組合せに存在することが認められるべきである。したがって、装置のコンポーネントと方法の手順とは、図面中の従来のシンボルによって適切な場所に表わされ、ここでの説明の利益を有する当業者にとって容易に自明となる詳細を伴う開示が曖昧とならないように、本発明の実施例の理解に適当な特定の詳細のみを示す。
【０００９】
発明のさまざまな実施例はホスト画像に透かし画像を埋込む方法を提供する。方法はマトリックスコードシンボルを生成するステップを含む。マトリックスコードシンボルは、透かし画像およびホスト画像に関連する情報を含む。方法はさらに、ホスト画像に透かし画像とマトリックスコードシンボルとを埋込むステップを含む。透かし画像とマトリックスコードシンボルとはホスト画像において重複しない位置に埋込まれる。
【００１０】
図１は、発明のさまざまな実施例が機能し得る例示の環境１００を示す。環境１００は、画像入力ユニット１０２、透かし埋込ユニット１０４、画像出力ユニット１０６を含む。画像入力ユニット１０２は、画像が埋込まれることを必要とするホスト画像を受信するように構成される。ホスト画像の一例はデジタル画像である。さらに、ホスト画像に埋込まれる透かし画像はバイナリ透かし画像に対応する。しかしながら、任意の別の種類の透かし画像がホスト画像に埋込まれ得ることは当業者にとって明らかであろう。ホスト画像を受取った後、画像入力ユニット１０２は、ホスト画像を透かし埋込ユニット１０４に送る。透かし埋込ユニット１０４は、透かし画像を埋込む前にホスト画像を処理する。たとえば、透かし埋込ユニットはホスト画像を複数の領域に分割し得る。さらに、ホスト画像は、透かし埋込ユニット１０４による１つ以上の変換の対象となり得る。たとえば、透かし埋込ユニット１０４は、ホスト画像の離散コサイン変換（ＤＣＴ）を演算することによって、ホスト画像の直交変換を実行し得る。
【００１１】
ホスト画像の変換を実行した後、透かし埋込ユニット１０４は、ホスト画像に透かし画像を埋込む。ある実施例において、ホスト画像に埋込まれる透かし画像は、透かし埋込ユニット１０４によって生成され得る。代替的に、別の実施例において、透かし画像は、外部ユニット（図１において示されず）によって生成され得る。その後、透かし画像が埋込まれたホスト画像は画像出力ユニット１０６に送られる。最後に、画像出力ユニット１０６は透かし画像が埋込まれたホスト画像を出力する。画像出力ユニット１０６から出力された、透かし画像を含む、結果的に得られたホスト画像はオリジナルのホスト画像と似ている。
【００１２】
図２は、発明の実施例に従ってホスト画像に透かし画像を埋込む方法のフローチャートである。ホスト画像は、たとえば、デジタルイメージであり得る。しかしながら、電子文書、ソフトウェア、物の表面組織など、別の種類の媒体に方法が適用されてもよいことは当業者にとって明らかであろう。透かし画像は、ホスト画像に関連する情報を含む。情報は、ロゴ、企業名、所有権情報、ホスト画像の所有者に関連する別の種類の知的財産権のうちの１つ以上に対応し得る。
【００１３】
ステップ２０２にて、マトリックスコードシンボルが生成される。一例として、マトリックスコードシンボルは一次元データマトリックス、二次元データマトリックス、三次元データマトリックスを含み得るが、これらに限定されない。マトリックスコードシンボルは、透かし画像とホスト画像とに関連する情報を含む。さらに、マトリックスコードシンボルのサイズは、マトリックスコードシンボルに記憶された情報の量に基づいて選択される。したがって、マトリックスコードシンボルのサイズは、マトリックスコードシンボルがホスト画像において多くの空間を占めないようにするとともに透かし画像とホスト画像とに関連する情報のすべてを保持するように最適化される。これは図３に関連してさらに説明される。
【００１４】
マトリックスコードシンボルを生成した後、ステップ２０４にて、透かし画像とマトリックスコードシンボルとがホスト画像に埋込まれる。透かし画像とマトリックスコードシンボルとは複数の重複しない位置においてホスト画像に埋込まれる。透かし画像とマトリックスコードシンボルとは、クロッピングまたはウェアリングの結果被り得る如何なる損傷も避けるように、ホスト画像において複数の位置に埋込まれる。たとえば、透かし画像とマトリックスコードシンボルとは、ホスト画像において３×３（９回）、５×５（２５回）などにて埋込まれ得る。さらに、透かし画像とマトリックスコードシンボルとは、透かし画像とマトリックスコードシンボルとの重複がないように、重複しない位置にて埋込まれる。透かし画像とマトリックスコードシンボルとは、埋込のための同じランダムシーケンシングアルゴリズムを利用することによって、重複しない位置に埋込まれる。これは図４に関連してさらに説明される。
【００１５】
図３は、発明の実施例に従う、マトリックスコードを生成するための方法のフローチャートを示す。マトリックスコードシンボルに記憶される情報は、透かし画像とホスト画像とに関連するメタデータに対応する。最初に、ホスト画像と透かし画像とが分析され、ホスト画像と透かし画像とに関連する１つ以上のパラメータが決定される。たとえば、ホスト画像のサイズ、透かし画像のサイズ、透かし画像の種類が決定され得る。その後、ステップ３０２にて、ホスト画像が、第１の所定サイズの複数のブロックに分割される。例示の実施例において、第１の所定サイズは８×８ピクセルに対応し得る。たとえば、ホスト画像の長さが２０ピクセルであり幅が１８ピクセルであると、ホスト画像は、各々が８×８ピクセルの４つのブロックに分割され得る。その後、ホスト画像の残りの列および行は、任意の付加的な処理に対して無視され得る。したがって、２０×１８のホスト画像を８×８ピクセルの４つのブロックの分割した後は、残りの４列および２行は、ホスト画像の後続の任意の処理から無視される。これは図６に関連してさらに説明される。
【００１６】
その後、ステップ３０４にて、透かし画像が第２の所定サイズの複数のブロックに分割される。ある実施例において、第２の所定サイズは、２×２ピクセルに対応する。たとえば、透かし画像が５×５のサイズであると、透かし画像は、各々のサイズが２×２ピクセルの４つのブロックに分割される。その後、透かし画像の最後の列と最後の行は、ホスト画像の残りの列と行とが無視されたのと同じ態様で任意の付加的な処理から無視され得る。これは図７に関連してさらに説明される。さらに、ホスト画像の複数のブロックは、数において透かし画像の複数のブロックよりも大きくなければならない。もしホスト画像の複数のブロックが数において透かし画像の複数のブロックよりも大きくないとすると、耐性がありかつ効果的な態様で透かし画像をホスト画像に埋込むことは不可能であり得る。
【００１７】
透かし画像を複数のブロックに分割した後、ステップ３０６にて、透かし画像の複数のブロックのうちのあるブロックがホスト画像の複数のブロックのうちの１つ以上のブロックに関連付けられる。ある実施例において、透かし画像の複数のブロックのうちのブロックは、ホスト画像の複数のブロックのうちの１つのブロックに関連付けられる。別の実施例において、透かし画像の複数のブロックのうちのブロックは、ホスト画像の複数のブロックのうちの複数のブロックに関連付けられ得る。
【００１８】
透かし画像の複数のブロックをホスト画像の複数のブロックに関連付けることに応答して、ステップ３０８にて、透かし画像とホスト画像とに関連する情報が取得される。情報は、ホスト画像の複数のブロック、透かし画像の複数のブロック、透かし画像の複数のブロックとホスト画像の複数のブロックとの関連性、透かし画像のサイズ、ホスト画像のサイズ、埋込スキームのうちの１つ以上についての情報に対応し得る。埋込スキームは、透かし画像とマトリックスコードシンボルとを埋込み、抽出するために必要なエンコーディング処理に関連する情報を含む。
【００１９】
その後、透かし画像とホスト画像とに関連する情報は、マトリックスコードシンボルを生成するために用いられる。マトリックスコードシンボルを生成するため、ステップ３１０にて、埋込スキームに含まれるエンコーディングプロセスを用いることによって、透かし画像とホスト画像とに関連する情報がマトリックスコードシンボルに記憶される。さらに、マトリックスコードシンボルを生成する処理中に、透かし画像とホスト画像とに関連する情報の量に基づいて、マトリックスコードシンボルのサイズが最適化される。したがって、マトリックスコードシンボルのサイズは、ホスト画像において多くの空間を消費しないようにするために十分に小さく、かつ、透かし画像とホスト画像とに関連する完全な情報を保持するために十分に大きいように選択され得る。
【００２０】
図４は、発明の実施例に従う、ホスト画像に透かし画像とマトリックスコードシンボルとを埋込むための方法のフローチャートを示す。透かし画像とホスト画像とに関連する情報を用いてマトリックスコードシンボルを生成した後、ステップ４０２にて、ホスト画像の離散コサイン変換（ＤＣＴ）が演算される。ホスト画像のＤＣＴの演算の結果、ホスト画像は、異なる周波数で振動するコサイン関数の合計として表わされる。その後、ステップ４０４にて、透かし画像の複数のブロックが、ホスト画像の低周波数係数に対してマッピングされる。透かし画像の複数のブロックは、固有のヒットを有する擬似ランダム数生成器を用いて、ホスト画像の低周波数係数にマッピングされ得る。ＤＣＴが周波数変換の形式であるため、ホスト画像におけるピクセルの空間的関係は相関性がなく、エネルギの大部分は低周波数成分に集中する。
【００２１】
その後、ステップ４０６にて、透かし画像の複数のブロックがホスト画像の低周波数係数に記憶される。ある実施例において、低周波数係数は、ホスト画像のブロックに関連する最下位から２番目の有効ビットに対応する。たとえば、透かし画像のブロックは、ホスト画像のブロックの最下位から２番目の有効ビットに記憶され得る。透かし画像の複数のブロックをホスト画像の低周波数係数に記憶した後、ステップ４０８にて、マトリックスコードシンボルがホスト画像に記憶される。マトリックスコードシンボルはバイナリ画像としてホスト画像に記憶される。したがって、マトリックスコードシンボルは、ホスト画像に記憶された付加的な透かし画像を表わす。ある実施例において、マトリックスコードシンボルは、ホスト画像に透かし画像を記憶する前にホスト画像に記憶される。これは図８に関連してさらに説明される。
【００２２】
透かし画像のロバスト性を向上するため、透かし画像およびマトリックスコードシンボルは、重複しない位置においてホスト画像に複数回記憶され得る。１つ以上のエラー訂正コードもマトリックスコードシンボルに埋込まれ得、攻撃および損傷に対してマトリックスコードシンボルをより耐性のあるものとする。たとえば、マトリックスコードシンボルが６０％の損傷を被った場合であっても、マトリックスコードシンボルに記憶された情報が成功裏に抽出され得る。その結果、ホスト画像が意図的にまたは意図せずに攻撃または損傷を被ったとしても、ホスト画像および透かし画像に関する情報を含むマトリックスコードシンボルを抽出することによってホスト画像に埋込まれた透かし画像を成功裏に抽出し、識別することが可能となるであろう。
【００２３】
したがって、ホスト画像に埋込まれた透かし画像を抽出するために、最初に、ホスト画像からマトリックスコードシンボルが抽出される。マトリックスコードシンボルを抽出した後、ホスト画像と透かし画像とに関連する情報を取得するために、マトリックスコードシンボルに含まれる情報がデコードされる。その後、透かし画像の複数のブロックとホスト画像の複数のブロックとのマッピングを取得するために、ホスト画像の逆離散コサイン変換（ＩＤＣＴ）が実行される。しかしながら、ホスト画像上でのＩＤＣＴの実行は、ホスト画像の複数のブロックの浮動小数点形式のピクセル値を生成する結果となる。その結果、ホスト画像に埋込まれた透かし画像に関連するいくつかの情報は、浮動小数点形式のピクセル値を四捨五入することによって透かし画像に関連するデータが失われ得るため、復元不可能となり得る。そのような問題を避けるため、ある実施例において、浮動小数点形式のピクセル値を整数に四捨五入するのではなく、浮動小数点形式のピクセル値のfloor（フロア）値が取得される。別の実施例において、整数を取得するために結果的に得られた数が四捨五入される。これは図８に関連してさらに説明される。
【００２４】
図５は、発明の実施例に従う、ホスト画像に透かし画像を埋込むための装置５００のブロック図を示す。装置５００は、埋込器５０４に動作可能に連結された生成器５０２を含む。装置５００は、ホスト画像を受信するように構成される。さらに、装置５００は、透かし画像を受信するように構成される。代替的に、ある実施例において、装置５００は、透かし画像を生成するように構成され得る。
【００２５】
ホスト画像と透かし画像とを受信した後、生成器５０２は、マトリックスコードシンボルを生成する。マトリックスコードシンボルは、透かし画像とホスト画像とに関連する情報を含む。マトリックスコードシンボルを生成するため、生成器５０２は、ホスト画像を、第１の所定サイズの複数のブロックに分割する。ホスト画像を分割する前に、生成器５０２は、ホスト画像のサイズを判断する。ホスト画像のサイズに基づいて、生成器５０２は、ホスト画像を複数のブロックの分割する第１の所定のサイズを選択する。その後、ホスト画像を第１の所定サイズの複数のブロックに分割した後に残る列および行は無視され、後の如何なる処理においても考慮されない。これは図６に関連してさらに説明される。
【００２６】
ホスト画像を複数のブロックに分割したあと、生成器５０２は、透かし画像を第２の所定サイズの複数のブロックに分割する。透かし画像を分割する前に、生成器５０２は、透かし画像のサイズを判断する。透かし画像のサイズに基づいて、生成器５０２は、透かし画像を分割する第２の所定サイズを選択する。その後、透かし画像を第２の所定サイズの複数のブロックに分割した後の残りの列および行は無視され、後の如何なる処理においても考慮されない。これは図７に関連してさらに説明される。
【００２７】
その後、生成器５０２は、透かし画像の複数のブロックのうちのブロックを、ホスト画像の複数のブロックのうちの１つ以上のブロックに関連付ける。生成器５０２は、透かし画像のブロックをホスト画像の単一のブロックもしくはホスト画像の複数のブロックに関連付け得る。これは図３に関連して既に説明された。関連付けの後、生成器５０２は、透かし画像とホスト画像とに関連付けられた情報を取得する。情報は、ホスト画像の複数のブロック、透かし画像の複数のブロック、透かし画像の複数のブロックとホスト画像の複数のブロックとの関連付け、透かし画像のサイズ、ホスト画像のサイズ、埋込スキームのうちの１つ以上についての情報に対応する。
【００２８】
情報を取得するため、生成器５０２は、透かし画像とホスト画像とから情報を抽出する。ある実施例において、生成器５０２は、いくつかの外部ユニットから透かし画像とホスト画像とに関連する情報を受信し得る。情報を取得した後、生成器５０２は、マトリックスコードシンボルを生成する。生成器５０２は、透かし画像とホスト画像とに関連する情報をマトリックスコードシンボルに記憶する。さらに、生成器５０２は、取得された情報に基づいてマトリックスコードシンボルのサイズを最適化し得る。これは図３に関連して既に説明された。
【００２９】
マトリックスコードシンボルを生成した後、生成器５０２は、マトリックスコードシンボルを埋込器５０４に送る。埋込器５０４は、透かし画像とマトリックスコードシンボルをホスト画像に埋込む。透かし画像をホスト画像に埋込むために、埋込器５０４は、ホスト画像のＤＣＴを演算する。その後、埋込器５０４は、透かし画像の複数のブロックをホスト画像の低周波数係数にマッピングする。たとえば、埋込器５０４は、透かし画像の複数のブロックをホスト画像のブロックの最下位から２番目の有効ビットにマッピングする。
【００３０】
透かし画像の複数のブロックをホスト画像の複数のブロックの低周波数係数にマッピングした後、埋込器５０４は、透かし画像を低周波数係数に記憶する。透かし画像の記憶に続いて、埋込器５０４は、マトリックスコードシンボルをバイナリ画像としてホスト画像に記憶する。したがって、マトリックスコードシンボルはホスト画像において付加的な透かしとして記憶される。加えて、マトリックスコードシンボルは透かし画像に関して重複しない位置においてホスト画像に記憶される。これは図８に関連してさらに説明される。
【００３１】
透かし画像とマトリックスコードシンボルとを埋め込んだ後、ホスト画像の所有者を照合し認証するために後の段階において透かし画像が復元され得る。ホスト画像に埋込まれた透かし画像を抽出するため、生成器５０２は、最初にホスト画像からマトリックスコードシンボルを抽出する。マトリックスコードシンボルを抽出した後、生成器５０２は、ホスト画像と透かし画像とに関連する情報を取得するため、マトリックスコードシンボルに含まれる情報をデコードする。その後、生成器５０２は、透かし画像の複数のブロックとホスト画像の複数のブロックとの間のマッピングを取得するため、ホスト画像の逆離散コサイン変換（ＩＤＣＴ）を実行する。しかしながら、ホスト画像のＩＤＣＴの実行は、ホスト画像の複数のブロックの浮動小数点形式のピクセル値を生成する結果となる。これは、図４に関連してすでに説明された。そのような問題を避けるため、ある実施例において、生成器５０２は、浮動小数点形式のピクセル値を整数に四捨五入せずに、浮動小数点形式のピクセル値のfloor（フロア）値を取得する。別の実施例において、生成器５０２は、整数を取得するために結果的に得られた数を四捨五入する。これは図８に関連してさらに説明される。
【００３２】
図６は、本発明の実施例に従う、ホスト画像を第１の所定サイズの複数のブロックに分割する処理を示すブロック図である。２０×１８ピクセルのサイズのホスト画像が生成器５０２によって受信され分析される。分析に基づき、生成器５０２は、各々が８×８ピクセルに等しい４つのブロックにホスト画像を分割する。ホスト画像を４つのブロックに分割した後、４つの列および２つの行が残るが、８×８ピクセルのサイズのブロックにさらに分割することはできない。したがって、ホスト画像の最後の４列および最後の２行は、生成器５０２によって後の処理から無視される。ある実施例において、生成器５０２は、最後の４列および最後の２行をホスト画像からクロッピングし得る。
【００３３】
図７は、発明の実施例に従う、透かし画像を第２の所定サイズの複数のブロックに分割する処理を示すブロック図である。５×５ピクセルのサイズの透かし画像が生成器５０２によって受信され分析される。分析に基づき、生成器５０２は透かし画像を、各々のサイズが２×２ピクセルに等しい４つのブロックに分割する。透かし画像を４つのブロックに分割した後、１つの列と１つの行とが残るが、２×２ピクセルのサイズのブロックに分割することはできない。したがって、透かし画像の最後の列と最後の行とは生成器５０２によって後の処理から無視される。ある実施例において、生成器５０２は、透かし画像の、透かし画像から最後の列と最後の行とをクロッピングし得る。
【００３４】
図８は、発明の実施例に従う、透かし画像をホスト画像に埋込むことおよびホスト画像内の透かし画像を抽出することを示すブロック図である。処理を開始するため、ホスト画像と透かし画像とが受信される。その後、ホスト画像と透かし画像とはそれぞれ８×８ピクセルと２×２ピクセルの複数のブロックに分割される。これは図５に関連して既に説明された。ホスト画像を分割した後、ホスト画像のＤＣＴが演算される。その後、透かし画像の２×２ピクセルサイズのブロックが、ホスト画像の複数のブロックのうちの１つ以上のブロックにマッピングされる。マッピングの後、透かし画像ブロックが、ホスト画像ブロック、ＤＣＴホスト画像ブロックのジグザグのピクセルの最下位から２番目のビットに記憶される。ホスト画像から透かし画像を抽出するため、ＤＣＴホスト画像のＩＤＣＴが実行される。さらに、オリジナルのホスト画像を取得するため、浮動小数点形式のピクセル値のfloor（フロア）値が取得される。
【００３５】
ここで説明された方法のさまざまな実施例はホスト画像に透かし画像を埋込むことを促進する。方法は、透かし画像とホスト画像とに関連する情報を含むマトリックスコードシンボルを生成する。透かし画像はホスト画像内の複数のブロックに記憶される。さらに、透かし画像はホスト画像の低周波数係数に記憶される。これは、透かし画像が攻撃および損傷に対する耐性を上げることを支援する。また、マトリックスコードシンボルは、ホスト画像の複数のブロックにおけるバイナリ画像としてホスト画像に記憶される。マトリックスコードシンボルと透かし画像とがホスト画像において複数の場所で記憶されるため、ホスト画像が損傷し攻撃された場合であってもホスト画像から透かし画像を抽出することが可能である。さらに、マトリックスコードシンボルは最大で６０％の損傷に持ちこたえ得るため、透かし画像とホスト画像とに関連する情報を成功裏に抽出することができる。したがって、マトリックスコードシンボルと透かし画像とを複数の場所に記憶することは、ホスト画像が損傷した場合における透かし画像の完全なブラインド抽出を促進する。
【００３６】
上記に認識される利点およびここで説明される別の利点は単なる一例であって、本発明のさまざまな実施例のすべての利点を完全に表わすことが意味されるものではないことは当業者は認識するであろう。
【００３７】
前述の明細書において本発明の詳細な実施例が説明された。しかしながら、当業者は、以下の特許請求の範囲に記載された本発明の範囲から逸脱しない範囲でさまざまな修正および変更が可能であることを予期する。したがって、明細書および図面は限定的なものではなく説明のためのものとして見なされ、すべてのそのような修正は本発明の範囲内に含まれることが意図される。利益、利点、問題の解決手段、如何なる利益、利点、またはさらに際立たせるもしくはさらに際立つ解決手段を生じさせ得る如何なる要素も特許請求の範囲の任意のまたはすべての特徴または要素、重要な、必要な、もしくは不可欠な特徴または要素として解釈されるべきではない。本発明は、この出願の係属中になされた如何なる補正および特許された特許請求の範囲のすべての均等物を含む添付の特許請求の範囲によってのみ定義される。
【図１】
0005654434.tif 000002
【図２】
0005654434.tif 000003
【図３】
0005654434.tif 000004
【図４】
0005654434.tif 000005
【図５】
0005654434.tif 000006
【図６】
0005654434.tif 000007
【図７】
0005654434.tif 000008
【図８】
0005654434.tif 000009