JP3884891B2 - Image processing apparatus and method, and storage medium - Google Patents
Image processing apparatus and method, and storage medium Download PDFInfo
- Publication number
- JP3884891B2 JP3884891B2 JP29816999A JP29816999A JP3884891B2 JP 3884891 B2 JP3884891 B2 JP 3884891B2 JP 29816999 A JP29816999 A JP 29816999A JP 29816999 A JP29816999 A JP 29816999A JP 3884891 B2 JP3884891 B2 JP 3884891B2
- Authority
- JP
- Japan
- Prior art keywords
- image data
- information
- mask
- embedding
- embedded
- 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
Links
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Storage Device Security (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、電子透かし情報が埋め込まれた画像データからこの情報を正確に抽出する為の画像処理装置、及び方法、及びこの方法を記憶した記憶媒体に関するものである。
【0002】
【従来の技術】
近年、コンピュータとそのネットワークの急速な発達及び普及により、文字データ、画像データ、音声データなど、多種の情報がディジタル化されている。ディジタル情報は、経年変化などによる劣化がなく、いつまでも完全な状態で保存できる一方、容易に複製が可能であり、著作権の保護が大きな問題となっている。
【0003】
そのため著作権保護のためのセキュリティ技術は急速に重要性を増している。
【0004】
著作権を保護する技術の一つに”電子透かし”がある。電子透かしとは、ディジタルの画像データや音声データ、文字データなどに人に知覚出来ない形で著作権保有者の名前や購入者のIDなどを埋めこみ、違法コピーによる無断の使用を追跡する技術である。
【0005】
また電子透かしには著作権保護だけでなく、あらかじめディジタルデータに情報を埋めこみ、ディジタルデータの埋めこまれた規則による情報の整合性を取ることで、ディジタルデータに加えられた改竄位置検出などの技術にも応用されている。
【0006】
電子透かしは一般的に、ディジタルデータの中で変更が加えられても人が知覚しにくい部分を加工することにより、情報を埋めこむ方法を用いているため、電子透かしが埋めこまれたディジタルデータの「オリジナルと比較した品質」「電子透かしの耐性の強さ」「埋め込み可能な情報量」の3つはトレードオフの関係になっている。
【0007】
電子透かしの耐性の強さとは、電子透かしが埋めこまれたディジタルデータにさまざまな加工編集が加えられた後にも、埋めこまれた情報が抽出できることを意味している。
【0008】
従来、パッチワーク法という電子透かし情報の埋め込み方法が知られている。これは画像の一部の値を意図的に増加させる一方、別の一部を意図的に減少させることにより画像全体の値は実質的に保存しつつも、何らかの付加的な情報を埋め込むことができるというものである。
【0009】
【発明が解決しようとする課題】
従来、パッチワーク法等で電子透かし情報が埋め込まれた画像データからこの情報を抽出する際には、既に電子透かし情報が埋め込まれている画像データから埋め込み時の元の画像データの状況を知る必要が有る。しかしながら従来、この様な状況を想定しているものは少なく、元の画像データの状況を類推し正確に電子透かし情報を抽出する技術は未だ確立されていなかった。
【0010】
本発明は上記問題点に鑑みて成されたものであり、電子透かし情報が既に埋め込まれているはずの画像データから、情報が埋め込まれていない上記画像データの状態を類推し、電子透かし情報をできるだけ正確に抽出できる様にすることを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成する為に本発明の画像処理装置によれば、電子透かし情報が人間に目視しにくく埋め込まれた画像データから該電子透かし情報を抽出する為の装置であって、前記画像データに対して、第1のパターン配列を用いて畳み込み演算を施すことにより、前記電子透かし情報の各ビットに相当する複数の第1の情報を抽出する第1の抽出手段と、前記画像データに対して、第2のパターン配列を用いて畳み込み演算を施すことにより、前記電子透かし情報の各ビットに相当する複数の第2の情報を抽出する第2の抽出手段と、前記複数の第2情報からなる分布と、前記複数の第1の情報とに基づいて、前記第1抽出手段により抽出された第1情報の信頼性を検定する検定手段とを有し、前記第1のパターン配列と前記第2のパターン配列は、互いに同じサイズのマトリクスであり、互いの畳み込み演算の結果が0になる関係を有することを特徴とする。
【0012】
【発明の実施の形態】
[1 電子透かし埋め込み装置]
以下、本実施の形態における電子透かし埋め込み装置の概要について図を用いて説明する。
【0013】
図1に、本実施の形態における電子透かし埋め込み装置を示す。図1に示す様に、電子透かし埋め込み装置は、色成分抽出手段0101、レジストレーション信号埋め込み手段0102、埋め込み位置決定手段0103、付加情報埋め込み手段0104、色成分合成手段0105から構成される。
【0014】
電子透かし埋め込み装置には、画像データIが入力される。これは1画素当たり所定の複数ビットが割り当てられた多値画像データである。また本実施の形態では、入力される画像データIがグレイスケール画像データであってもカラー画像データであっても対応可能である。グレイスケール画像データは、1画素当たり1種類の要素から構成されているものであり、カラー画像データは、1画素当たり3種類の要素から構成されているものとする。この3種類の要素とは本実施の形態では赤色成分、青色成分、緑色成分である。しかしながら、別の色成分の組み合わせにも本発明は適用可能である。
【0015】
電子透かし埋め込み装置に入力された画像データIは、まず色成分抽出手段0101に入力される。
【0016】
入力された画像データIがカラー画像データである場合には、色成分抽出手段0101においてこのカラー画像データから青色成分だけを分離し、後段のレジストレーション信号埋め込み手段0102に出力する。
【0017】
一方その他の色成分は後段の色成分合成手段0105に出力する。即ちここでは、電子透かし情報が埋め込まれるべき色成分のみが分離されて電子透かしの処理系に送出される。
【0018】
本実施の形態においては青色成分に対して電子透かし情報の埋め込みが行われる。これは赤色成分、青色成分、緑色成分の中で、人間の視覚にとっては青色成分が最も鈍感であることによる。よって青色成分に電子透かし情報を埋め込むことは、他の色成分に対して電子透かし情報を埋め込むことに比べて、電子透かし情報による画質劣化が人間の目に知覚しにくくなる効果がある。
【0019】
また、入力された画像データIがグレイスケール画像データである場合には、色成分抽出手段0101はグレイスケール画像データを一旦疑似的なカラー画像データに変換する。ここで疑似的なカラー画像データとは、1画素当たり3種類の要素から構成されるカラー画像データであるが、この場合、3種類の要素の値が全て等しい画像データである。グレイスケール画像データは上記疑似的なカラー画像データに変換され、このカラー画像データの中で青色成分を分離し、レジストレーション信号埋め込み手段0102へ出力される。
【0020】
一方その他の色成分は後段の色成分合成手段0105に出力する。この様にして、上述したカラー画像データの場合と同様に、青色成分に対して電子透かし情報が埋め込まれる。
【0021】
なお、以後の説明では、画像データIがカラー画像データである場合とグレースケール画像データである場合とは、できるだけ区別しない様にして説明する。即ち、カラー画像データと擬似的なカラー画像データとは区別せずに説明する。
【0022】
次に、レジストレーション信号埋め込み手段0102について説明する。ここで、レジストレーション信号とは、電子透かし情報の抽出の前処理として幾何的な補正を実行する為に必要とされる信号である。
【0023】
レジストレーション信号埋め込み手段0102には、色成分抽出手段0101で得られた青色成分の画像データが入力される。レジストレーション信号埋め込み手段0102では、画像データに対して一種の電子透かしの技術を用いてレジストレーション信号が埋め込まれる。即ち、レジストレーション信号を埋め込まれた画像データにおいて、人間の視覚はレジストレーション信号を知覚することができない。このレジストレーション信号の埋め込み方法等、詳細は後述する。
【0024】
レジストレーション信号埋め込み手段0102はレジストレーション信号が埋め込まれた画像データを出力する。
【0025】
次の埋め込み位置決定手段0103は、レジストレーション信号埋め込み手段0102から入力される画像データにおける、付加情報Infの埋め込み位置を決定する。
【0026】
埋め込み位置決定手段0103は、入力された画像データと共に、画像中に付加情報Infを埋め込む位置を表す制御データを付加情報埋め込み手段0104に出力する。
【0027】
付加情報埋め込み手段0104は、上記画像データと制御データに加えて、付加情報Inf(複数のビット情報)を入力する。この付加情報Infは、青色成分の画像データにおける上記決定された埋め込み位置に、電子透かし技術を用いて埋め込まれる。この電子透かしの技術を用いた付加情報Infの埋め込みについても後述する。
【0028】
付加情報埋め込み手段0104からは付加情報Infが埋め込まれた画像データが出力され、色成分合成手段0105に入力される。
【0029】
色成分合成手段0105は、前段(付加情報埋め込み手段0104)までに処理された青色成分と、色成分抽出手段0101から直接入力される赤色成分及び緑色成分とを用いて、通常のカラー画像データの形態に合成する。
【0030】
以上の処理により、レジストレーション信号及び付加情報Infが電子透かし技術によって埋め込まれた画像データwIが出力される。
【0031】
なお、本実施の形態ではこの画像データwIに種々の幾何的な歪みを生じる攻撃が加えられるものとして説明する。例えば、ユーザーによる意図的な画像編集であり、或いは画像データwIを印刷した後、印刷物をスキャナ等でスキャンニングする動作である。攻撃を受けた画像データは後述する図2のwI'となる。
【0032】
以上説明した各手段による全体の流れを、図31に示すフローチャートを用いて説明する。
【0033】
まずステップ3402において画像データIが色成分抽出手段0101に入力される。これは写真や印刷物をスキャナなどで読み取り、画像データを生成する工程も含む。更に青色成分を分離し、後段のレジストレーション信号入力に使用する。
【0034】
次に、ステップ3403においてレジストレーション信号を発生し、このレジストレーション信号がステップ3404で埋め込まれる。このステップ3404におけるレジストレーション信号埋め込み処理は、図1におけるレジストレーション信号埋め込み手段0102の内部で実行される処理に相当し、詳細な説明は後述する。
【0035】
更に、ステップ3405によりマスクが作成され、作成されたマスクは、ステップ3406に入力され、埋め込みビット情報と埋め込み位置の関係を規定する。ステップ3407ではマスクを拡大マスクに拡張する。このマスク・パターン配列対応手段についても詳細な説明は後述する。
【0036】
ステップ3403,3404においてレジストレーション信号が埋め込まれた画像データに対して、ステップ3408において付加情報Infが埋め込まれる。この付加情報埋め込み処理はマクロブロック単位で付加情報Infを画像全体に繰り返し埋め込む。この処理は後述の図10で詳細に述べる。ここで、マクロブロックとは、最小埋め込み単位のことを示し、このマクロブロックに相当する画像領域に1つの完結した付加情報Infの全情報が埋め込まれる。
【0037】
上記画像データに対して付加情報Infが埋め込まれた後に、ステップ3409により、電子透かし情報が埋め込まれた画像データwIが出力される。
【0038】
上述した様に、この画像データwIは、後述する図32の電子透かし抽出開始処理が実行される前に、種々の幾何的な歪みを生じる攻撃が加えられるかもしれない。
【0039】
[2 電子透かし抽出装置]
次に、本実施の形態における電子透かし抽出装置の概要について説明する。
【0040】
図2に、本実施の形態における電子透かし抽出装置を示す。図2に示す様に、電子透かし抽出装置は、色成分抽出手段0201、レジストレーション手段0202、及び付加情報抽出手段0203から構成される。
【0041】
電子透かし抽出装置には、画像データwI'が入力される。画像データwI'は画像データwIに対して種々の幾何的な歪みを生じる攻撃を受けている可能性を有する画像データである。攻撃には、JPEG圧縮などの非可逆圧縮、スケーリング、回転、印刷&スキャニングなど種々のものを含み、更にこれらの組合せも考えられる。
【0042】
従って、画像データwI'とwIとは内容が同一であることが理想的ではあるが、実際にはこの2つの画像データは内容が著しく異なっていることが多い。
【0043】
色成分抽出手段0201は、画像データwI'を入力し、青色成分を抽出した後、この青色成分の画像データを後段のレジストレーション手段0202へ出力する。画像データwI'のうち、青色成分以外の赤色成分、及び緑色成分は必要無いのでここで廃棄される。
【0044】
レジストレーション手段0202には、色成分抽出手段0201で得られた青色成分の画像データwI1'が入力される。そしてこの青色成分の画像データwI1'を用いて、幾何学的な歪みが補正された画像データwI2'を生成する。
【0045】
上述した様に、画像データwI'は画像データwIとは異なるスケールである可能性を有するのに対し、画像データwI2'は画像データwIと必ず同一のスケールになる。この理由、及び画像データwI2'を画像データwIと同じスケールにする処理の詳細は後述する。
【0047】
レジストレーション手段0202は、画像データwI2'を、付加情報抽出手段0203に出力する。
【0048】
付加情報抽出手段0203は、付加情報埋め込み手段0104での埋め込み方式に合わせた所定の処理を施こすことによって、画像データwI2'に埋め込まれている電子透かし情報を抽出することが可能であり、抽出された付加情報Infを出力する。
【0049】
以上説明した各手段による全体の流れを、図32のフローチャートを用いて説明する。まずステップ3502では画像データwI'が入力される。この画像データwI'は、画像データwIであると予想される画像データをネットワークやメモリから読み出したり、画像データwIに基づいて印刷した物をスキャナ等でスキャンニングしたりすることで得られる。後者の場合には画像データwI'が画像データwIとは著しく異なっている可能性が非常に高い。
【0050】
また、この画像データwI'の青色成分のみが抽出され、次のステップで使用される。
【0051】
次に、ステップ3503では、入力された青色成分の画像データwI1'のスケールが補正される。
【0052】
更にステップ3504では、入力された青色成分の画像データwI1'のオフセットが補正される。
【0053】
次に第1のパターン配列を用いた抽出処理がステップ3506において、第2のパターン配列を用いた抽出処理がステップ3505において、スケールとオフセットが既に補正された画像データwI2'から、夫々埋め込まれている付加情報Infが抽出される。
【0054】
統計検定ステップ3507では、上記抽出された電子透かし情報の確からしさが算出、判定され、正しい電子透かし情報ではないと判定されればステップ3502に戻り、電子透かし情報が埋め込まれていると考えられる画像を入力しなおす。一方、充分正確な電子透かし情報であると判定された場合には、ステップ3508の比較処理により電子透かし情報(付加情報Inf)の抽出を行う。また、ステップ3510では上記確からしさを示す情報を後述する信頼性指標Dとして表示する。
【0056】
[3 各部の詳細説明]
次に、各部の詳細な説明をする。
【0057】
まず、電子透かし抽出側におけるレジストレーション手段0202、ステップ3503が実行するレジストレーションという処理について説明する。
【0058】
レジストレーション処理とは電子透かし情報の抽出の際に、電子透かし抽出装置に入力された画像データwI'から電子透かし情報が抽出できる様にする前処理である。以下では、まず印刷系の処理が施された画像データがどの様な変化を受けるかを考える。そして、その様な変化に対するレジストレーション処理を考察し、印刷系に対するレジストレーション処理を考える。
【0059】
電子透かし抽出装置には、電子透かし埋め込み装置から出力された画像データwIがそのまま入力されるとは限らない。
【0060】
例えば、画像データwIがYMCKインクジェットプリンタによって印刷され、この印刷物をスキャナでスキャンニングする場合を挙げて考察する。
【0061】
この時、プリンタによる出力解像度と、スキャナによる入力解像度が異なる場合には、元のカラー画像データwIとスキャンニングで得られた画像データのスケールは異なってしまう。よって、得られた画像データwI'からはそのまま正確に電子透かし情報を抽出できる可能性は少ない。従って、これらのスケールの違いを補正できる手段を備えておくことが必要である。
【0062】
本実施の形態では、入力解像度と出力解像度の両方が既知である為、これらの比からスケールの比を算出できる。例えば、出力解像度が600dpiであり入力解像度が300dpiである場合には、印刷前の画像とスキャンニング後の画像のスケールの比は2倍である。よって、算出されたスケールの比にしたがって、適当なスケーリングアルゴリズムを用いて画像データwI'に対してスケーリングを施す。これにより画像データwIと画像データwI'が表す画像サイズを同じスケールにできる。
【0063】
しかし、全ての場合に出力と入力の解像度が既知であるとは限らない。双方の解像度が既知でない場合には、上述の方法は使用できない。この場合には、スケールの違いを補正する手段に加えて、更にスケールの比を知る手段が必要である。
【0064】
また、画像データwIに印刷系の処理が施された画像は、スキャナのスキャンニングにより入力された後には図3に示す様な画像となる。図3においては0301全体が画像データwI'が表す画像である。この画像データ0301は、画像データwIにより表される本来の画像0302と白色の余白部分0303から構成される。この様な余白は、ユーザーがマウスなどによって切り取った場合には不正確になってしまう。
【0065】
以上挙げた点が、印刷系を介して得られた画像データwI'を表す画像には、必ず生じていると考えられ、画像データwIに印刷系の処理が施される場合であれば、これらを解決する必要がある。
【0066】
以上、電子透かしを抽出する前に印刷系の処理を少なくとも1度介してから画像データを得る場合について説明したが、この様な状況は人為的な編集によっても起こり得る。
【0068】
以下、入出力解像度の比が不明である場合を想定し、上記問題点を解決する為に備えられた、レジストレーション信号埋め込み手段及びレジストレーション手段について説明する。
【0069】
[3−1 レジストレーション信号埋め込み処理]
まず、レジストレーション信号埋め込み手段0102(ステップ3404)について詳細を説明する。
【0070】
レジストレーション信号埋め込み手段0102は、付加情報埋め込み手段0104の前段に位置するものである。この手段0102は、図2のレジストレーション手段における画像データwI'のレジストレーションに参照されるレジストレーション信号を、元の画像データに予め埋め込むものである。このレジストレーション信号は、電子透かし情報として人間の目に見えにくく画像データ(本実施の形態ではカラー画像データの青色成分)に埋め込まれる。
【0071】
図4にレジストレーション信号埋め込み手段0102の内部構成を示す。レジストレーション信号埋め込み手段0102は、図4のブロック分割手段0401、フーリエ変換手段0402、加算手段0403、逆フーリエ変換手段0404、ブロック合成手段0405から構成される。以下、各手段の詳細について解説する。
【0072】
ブロック分割手段0401は、入力された画像データを互いに重ならない複数のブロックに分割する。このブロックのサイズは本実施の形態においては2のべき乗に定める。実際はこれ以外のサイズでも適応可能であるが、ブロックのサイズが2のべき乗である場合は、ブロック分割手段0401の後に結合されるフーリエ変換手段0402において高速の処理を行うことが可能である。
【0073】
ブロック分割手段0401により分割されたブロックは、二つの集合I1とI2に分けられ、このうちI1は後段のフーリエ変換手段0402に入力され、I2は後段のブロック合成手段0405に入力される。本実施の形態では、I1としては、ブロック分割手段0401により得られた各ブロックのうち、画像データIの中で最も中心付近に位置する一つのブロックが選択され、残りのブロックは全てI2として選択される。
【0074】
これは、本実施の形態が少なくとも一つのブロックを用いることで実現可能であり、ブロックの数が少ない方が処理時間を短縮できることによる。しかしながら本発明はこれに限らず、I1として二つ以上のブロックを選択する場合も範疇に含む。
【0075】
また、どの様なサイズでブロックに分割され、どのブロックがレジストレーション信号の埋め込み対象に選択されるかという情報は、電子透かし埋め込み装置と、電子透かし抽出装置で共有する必要がある。
【0076】
ブロック分割手段0401の分割で得られた画像データの一部I1は、フーリエ変換手段0402に入力される。
【0077】
次にフーリエ変換手段0402は、入力された画像データI1に対してフーリエ変換を施す。入力された画像データI1の元のデータ形態を空間領域と呼ぶのに対して、フーリエ変換された後のデータ形態を周波数領域と呼ぶ。フーリエ変換は、入力された全てのブロックに対して施される。なお本実施の形態では、入力されるブロックのサイズが2のべき乗であるので、処理の高速化の為に高速フーリエ変換を用いる。
【0078】
高速フーリエ変換とは、フーリエ変換がn×n回の演算量を必要とするのに対して、(n/2)log2(n)の演算量で実行可能な変換アルゴリズムである。ただしここでnは正の整数である。高速フーリエ変換とフーリエ変換は、演算結果を得る為の速度が違うだけであり、両者からは等しい結果が得られる。よって本実施の形態では、高速フーリエ変換とフーリエ変換を区別して説明しない。
【0079】
尚、フーリエ変換により得られた周波数領域の画像データは振幅スペクトルと位相スペクトルによって表現される。このうち振幅スペクトルだけが加算手段0403に入力される。一方で、位相スペクトルは逆フーリエ変換装置0404に入力される。
【0080】
次に、加算手段0403について説明する。加算手段0403には、上記振幅スペクトルと共に、レジストレーション信号と呼ばれる信号rが別に入力される。レジストレーション信号の例としては、図5に示す様なインパルス信号が挙げられる。
【0081】
図5では、フーリエ変換されて得られた2次元空間周波数成分のうちの振幅スペクトルが示されている。中心が低周波成分、周囲が高周波数成分である。0501は本来の画像成分が持っている信号成分の振幅スペクトルであり、写真等の自然画像に相当する信号では低域に多くの大きな信号が集中する。一方で高域にはほとんど信号が存在しない。
【0082】
なお、本実施の形態では自然画像に一連の処理を施すことを想定して説明するが、本発明はこれに限らず、文書画像、CG画像等も同様に処理しても良い。ただし、本実施の形態は中間濃度が比較的多い自然画像を処理する場合に特に有効である。
【0083】
図5は、自然画像の本来持つ信号0501に対して周波数領域の信号の水平垂直ナイキスト周波数成分にインパルス信号0502、0503、0504、0505を加えた本実施の形態の一例である。この例の様に、レジストレーション信号はインパルス性の信号であることが望ましい。これは後述する電子透かし抽出装置において、レジストレーション信号だけを抽出しやすいからである。
【0084】
図5では入力信号のナイキスト周波数成分に対してインパルス信号を加えているが、本発明はこれに限定されることはない。即ち、電子透かし情報が埋め込まれた画像が攻撃を受けた場合にもレジストレーション信号が除去されないものであれば良い。上述した様に、JPEG圧縮などの非可逆圧縮方式はローパスフィルタ的な効果がある。よって、ここでの情報圧縮の対象となる高周波成分へインパルス信号を埋めこんでも、圧縮・伸張処理により除去されてしまう可能性がある。
【0085】
一方で、低周波成分へのインパルスの埋め込みは、高周波成分への埋め込みと比べて、人間の視覚特性からノイズとして知覚されやすいという欠点がある。よって、本実施の形態では人間の視覚に認識しにくい第1の周波数以上であり、かつ非可逆圧縮・伸張処理により容易に除去されない第2の周波数以下である中間レベルの周波数へインパルス信号を埋め込むものとする。また、このレジストレーション信号は、加算手段0403に入力された各ブロック(本実施の形態では1ブロック)に対して加えられる。
【0086】
加算手段0403は、周波数領域の画像データの振幅スペクトルにレジストレーション信号が加えられた信号を逆フーリエ変換手段0404に出力する。
【0087】
逆フーリエ変換手段0404は、入力された周波数領域の画像データに対して逆フーリエ変換を施す。この逆フーリエ変換は、入力された全てのブロックに対して施される。上述のフーリエ変換手段0402の場合と同様に、入力されたブロックのサイズが2のべき乗であるので処理の高速化の為に高速フーリエ変換を用いる。逆フーリエ変換手段0404へ入力された周波数領域の信号は、逆フーリエ変換されることにより空間領域の信号に変換され出力される。
【0088】
逆フーリエ変換手段0404から出力された空間領域の画像データは、ブロック結合手段0405に入力される。
【0089】
ブロック結合手段0405は、ブロック分割手段0405で行われた分割と逆の処理を行う。ブロック結合手段0405の処理の結果、画像データ(青色成分)が再構成されて出力される。
【0090】
以上、図1に示したレジストレーション信号埋め込み手段0102の詳細を述べた。
【0091】
図4では、レジストレーション信号をフーリエ変換領域において埋め込む方式を説明した。一方で、レジストレーション信号を空間領域において埋め込む方式も考えられる。この方式を図29を用いて説明する。
【0092】
図29は、ブロック分割手段3201、加算手段3202、ブロック合成手段3203、逆フーリエ変換手段3204から構成される。
【0093】
ブロック分割手段3201及びブロック合成手段3203は、図4におけるブロック分割手段0401及びブロック合成手段0405と同様の動作をする。レジストレーション信号埋め込み手段0102に入力される画像データはまずブロック分割手段3201に入力され、分割される。ここで得られたブロックは加算手段3202に入力される。一方で、レジストレーション信号rは逆フーリエ変換手段3204に入力され、逆フーリエ変換処理により信号r'に変換される。ここで、レジストレーション信号rは、図5に示したものと同様に周波数領域上の信号である。加算手段3202には、ブロック分割手段3201からのブロックと逆フーリエ変換手段3204からの信号r'が入力され、夫々加算される。加算手段3202から出力された信号はブロック合成手段3203に入力され、画像データ(青色成分)が再構成されて出力される。
【0094】
以上図29の手段構成は、図4の手段構成と同様の処理を空間領域で行うものである。図4の手段構成に比べて、フーリエ変換手段を必要としないので高速な処理を行うことが可能である。
【0095】
更に、図29の中で、信号r'は入力画像データIに対して独立な信号である。よって信号r'の算出、即ち逆フーリエ変換手段3204の処理は入力画像データIが入力される毎に実行される必要はなく、予めr'を生成しておくことが可能である。この場合には、図29の手段構成から逆フーリエ変換手段3204を除去することもでき、更に高速にレジストレーション信号を埋め込むことができる。このレジストレーション信号を参照するレジストレーション処理については後述する。
【0096】
≪ パッチワーク法 ≫
本実施の形態では付加情報Infの埋め込みの為にパッチワーク法と呼ばれる原理を用いている。そこで、まずパッチワーク法の原理を説明する。
【0097】
パッチワーク法では画像に対して統計的偏りを生じさせることによって付加情報Infの埋め込みを実現している。
【0098】
これを図30を用いて説明する。図30においては、3301、3302は各々画素の部分集合、3303は画像全体である。画像全体3303から二つの部分集合A 3301とB 3302を選択する。
【0099】
この二つの部分集合の選択方法は、互いに重ならならなければ本実施の形態におけるパッチワーク法による付加情報Infの埋め込みが実行可能である。ただし、この二つの部分集合の大きさや選択方法は、このパッチワーク法によって埋め込まれた付加情報Infの耐性、即ち画像データwIが攻撃を受けた際に付加情報Infを失わない為の強度に大きく影響を及ぼす。これについては後述する。
【0100】
今、選択した部分集合Aの要素の持つ値を{an}、部分集合Bの要素の持つ値を{bn}とする。{an}、{bn}は具体的には、各部分集合に含まれる各画素の値(本実施の形態ではカラー画像データ中の青色成分の値に相当)である。
【0101】
ここで、次の指標dを定義する。
d = 1/N Σ (ai − bi)
これは、二つの集合の画素値の差の期待値を示している。
【0102】
一般的な自然画像に対して、適当な部分集合Aと部分集合Bを選択し、指標dを定義すると、
d ≒ 0
となる性質がある。以降ではdを信頼度距離と呼ぶ。
【0103】
一方で、付加情報Infを構成する各ビットの埋め込み操作として、
a'i = ai + c
b'i = bi − c
という操作を行う。これは部分集合Aの要素全てに対して値cを加え、部分集合Bの要素全てに対してcを減ずるという操作である。
【0104】
ここで、先程の場合と同様に、付加情報Infが埋め込まれた画像から部分集合Aと部分集合Bを選択し、指標dを計算する。
【0105】
すると、
となり0にはならない。
【0106】
即ち、ある画像が与えられた時に、画像に対して信頼度距離dを算出することによって、d≒0ならば付加情報Infは埋め込まれておらず、一方でdが0から一定量以上離れた値であるなら付加情報Infが埋め込まれていると判断できる。
【0107】
以上がパッチワーク法の基本的な考え方である。
【0108】
このパッチワーク法の原理を応用し、本実施の形態では複数のビットの情報を埋め込む。本方法においては、部分集合Aと部分集合Bの選択の方法についてもパターン配列によって定義している。
【0109】
上述の方法においては、原画像の所定の要素に対してパターン配列の要素を加えたり減じたりすることによって、付加情報Infの埋め込みを実現している。
【0110】
簡単なパターン配列の例を図9に示す。図9は、1ビットを埋め込む為に8×8画素を参照する場合の、元の画像からの画素値の変更量を示すパターン配列である。図9の様に、パターン配列は正の値を持つ配列要素、負の値を持つ配列要素、及び0の値を持つ配列要素から構成される。
【0111】
図9のパターンにおいて、+cの配列要素で示される位置は対応位置の画素値をcだけ上昇させる位置を示し、上述した部分集合Aに相当する位置である。一方−cの配列要素で示される位置は対応位置の画素値をc減少させる位置を示し、上述した部分集合Bに相当する位置である。また0で示される位置は上述した部分集合A,B以外の位置であることを示す。
【0112】
本実施の形態では、画像の全体的な濃度を変化させない為にも正の値を持つ配列要素の個数と負の値を持つ配列要素の個数を等しくしている。即ち、1つのパターン配列において全ての配列要素の和が0になっている。なお、後述する付加情報Infの抽出操作の時にはこの条件が必須である。
【0113】
以上の様なパターン配列を用いて付加情報Infを構成する各ビット情報の埋め込み操作を行う。
【0114】
本実施の形態では、図9のパターンを元の画像データにおける互いに異なる領域に複数回配置して画素値を上昇/減少させることにより、複数のビット情報、即ち付加情報Infを埋め込む。言い換えれば、1つの画像の互いに異なる領域に、部分集合AとBの組み合わせだけでなく、部分集合A’とB’、部分集合A”とB”、…という複数の組み合わせを想定することで、複数のビットからなる付加情報Infを埋め込む。
【0115】
なお、本実施の形態では元の画像データが大きい場合には、繰り返し付加情報Infを埋め込むことになる。これはパッチワーク法が統計的性質を利用しているものであることから、統計的性質が現れるのに充分な数を必要とすることによる。
【0116】
また、本実施の形態では複数ビットを埋め込む際にパターン配列を用いて画素値を変更する領域が重ならない様にする為、予め互いのビット同志でパターン配列を使用する相対位置を決定する。即ち、付加情報Infを構成する1ビット目の情報を埋め込む為のパターン配列の位置と、2ビット目の情報を埋め込む為のパターン配列の位置の関係は適切に定められる。
【0117】
例えば付加情報Infが16ビットで構成されていれば、1〜16ビット目の夫々の8×8画素のパターン配列の位置関係は、32×32画素よりも大きいサイズの領域上で画質劣化が少なくなる様に相対的に与えられる。
【0118】
更に、上記付加情報Inf(これを構成する各ビット情報)は、画像データが大きい場合には、できるだけ多くの回数繰り返して埋め込む。これは、付加情報Infの各ビットを正しく抽出可能とすることが目的である。特に本実施の形態では、同一の付加情報Infが繰り返し埋め込まれていることを利用した統計的な計測を行うので、上記繰り返しは重要である。
【0119】
以上説明した様な埋め込み位置の選択は、図1における埋め込み位置決定手段0103において実行される。次に、この埋め込み位置決定手段の動作について説明する。
【0120】
[3−2埋め込み位置決定処理]
図11は埋め込み位置決定手段0103の内部構成を記している。
【0121】
図11のマスク作成手段1101は、付加情報Infを構成する各ビット情報の埋め込み位置を規定する為のマスクの作成を行う。マスクとは、各ビット情報に対応するパターン配列(図9参照)の相対的な配置方法を規定する位置情報を備えたマトリクスである。
【0122】
図17の1701にマスクの一例を示す。マスクの内部には夫々係数値が割り当てられており、各々の係数値はマスク内で等しい出現頻度を有している。このマスクを用いる場合であれば、最大16ビットからなる付加情報Infを埋め込むことが可能である。
【0123】
次にマスク参照手段1102は、マスク作成手段1101で作成したマスクを読みこみ、マスク内の各係数値と、各ビット情報が何ビット目かの情報を対応付けて、各ビット情報を埋め込む為のパターン配列の配置方法を決定する。
【0124】
更にマスク・パターン配列対応手段1103は、マスク内の各係数値の位置に各パターン配列の配列要素(8×8サイズ)を展開する。即ち、図17の1701に示されるマスクの各係数値(1マス)を、同図1703の様に8×8倍にして各パターン配列の埋め込み位置として参照可能とする。
【0125】
後述の付加情報埋め込み手段0104は、図17の埋め込み先頭座標1702を参照して、パターン配列を用いて各ビット情報を埋め込むことになる。
【0126】
なお、本実施の形態ではマスク作成手段1101に、画像データ(青色成分)を入力する毎に上記マスクを作成する。よって、大きいサイズの画像データを入力する場合には、複数回繰り返して同一の付加情報Infを埋め込むことになる。
【0127】
上記の方法では画像から付加情報Infを抽出する場合に、上記マスクの構成(係数値の配列)が鍵の役割を果たす。即ち、鍵の所有者だけが情報の抽出を行えるという効果がある。
【0128】
なお本発明は、リアルタイムにマスクを作成せずに、予め作成しておいたマスクをマスク作成手段1101の内部記憶手段などに記憶させておき、必要時に呼び出す場合も範疇に含む。この場合には高速に後段の処理に移行することができる。
【0129】
次に、埋め込み位置決定手段0103の中で実行される各処理の詳細を説明する。
【0130】
[3−2−1 マスク作成手段]
はじめに、マスク作成手段1101について説明する。
【0131】
パッチワーク法を用いた付加情報Infの埋め込みにおいて、攻撃耐性を強める為に画素値に大きな操作を加えて情報を埋め込んだ場合(例えばパターン配列のCの値を大きく設定した場合)には、元の画像データが表す画像において画素値の急激な変化の有るいわゆるエッジ部分では画質の劣化は比較的目立ちにくいが、画素値の変化の少ない平坦部では画素値を操作した部分がノイズとして目立ってしまう。
【0132】
図13に人間の目で知覚する空間周波数特性を示す。横軸は空間周波数(Radial Frequency)を示し、縦軸は視覚の応答値である。画素値を操作し、情報を埋めこんだ場合、人間の目が敏感に知覚できる低周波数領域では画質劣化が目立つことが図13から分かる。
【0133】
その為本実施の形態では、多値画像の2値化処理に通常使用されているブルーノイズマスクやコーンマスクの特性を考慮し、各ビットに対応するパターンの配置を行う。
【0134】
次にブルーノイズマスク、コーンマスクの特性について簡単な説明を行う。
【0135】
まず初めにブルーノイズマスクの特性について説明する。
【0136】
ブルーノイズマスクはどの様な閾値で2値化してもブルーノイズパターンとなる特性を有する。このブルーノイズパターンとは空間周波数が高周波領域に偏った周波数特性を示すパターンである。
【0137】
図37に、あるブルーノイズマスクの一部を示す。
【0138】
また図14の1401には、閾値10で2値化したブルーノイズマスクの空間周波数特性の概略図を示す。
【0139】
1401の横軸はRadial Frequencyであり、ブルーノイズマスクをフーリエ変換したときの原点(直流成分)からの距離を示している。縦軸はPower spectrumであり、横軸Radial Frequencyの示す距離にある振幅成分の2乗和をとり平均化した値である。なお、同図は画像の2次元周波数特性を1次元グラフ化し視覚的に分かりやすくしたものである。
【0140】
図13と比較してみると、ブルーノイズマスクは高周波成分に偏りがある為、人間の目に知覚されにくいことが分かる。従って、インクジェットプリンタ等では、ドットを用いた面積階調で多値画像の階調を表現する際に、ブルーノイズマスクを用いることで、空間周波数成分を高周波に偏らせ、人の目に目立つことなく面積階調を表現できることが知られている。
【0141】
次にブルーノイズマスクの生成過程の一例を以下に示す。
1. ホワイトノイズを生成する
2. 階調gの2値画像Pgl(初期値はホワイトノイズマスク)にローパスフィルタリングを行い、多値画像P'glを生成
3. 階調 g (初期値:127)の画像とローパスフィルタリング画像P'gl(多値)を比較し、誤差の大きい順に、2値画像Pgの白黒の画素を反転させ、2値画像Pgl+1を得る。
4. 誤差が最小になるまで、2,3の操作を繰り返し、2値画像Pgl(初期値はホワイトノイズマスク)を少しづつ階調 g(初期値:127) の2値画像Pg(ブルーノイズマスク)に変えていく。
5. Pg画像に階調g+1(g-1)の2値の黒(白)の点をランダムな位置に与え、2,3の操作を繰り返し、Pg+1(Pg-1)を得る。
【0142】
以上の操作を繰り返すことにより、全ての階調でのブルーノイズマスクを作成し、ディザマトリクスを生成する。
【0143】
例えば32×32のブルーノイズマスクでは1階調ごとに4点増加(減少)する。
【0144】
ただし、このとき256階調持たせる為に前の階調gで決まった黒(白)のビットは反転できない為、低または高階調では制限条件が厳しくなり、一様性に乏しいランダムパターンしか得られないという欠点がある。
【0145】
図12にブルーノイズマスクを構成する各係数の出現頻度分布(ヒストグラム)1201を示す。図12では0〜255の全ての値(係数)がマスク内に同数存在している。
【0146】
上記ブルーノイズマスクが多値画像の2値化に用いられる技術は良く知られており、例えば、「J.Opt.Soc.Am A/Vol.9, No.11/November 1992 Digital halftoning technique using a blue-noise mask Tehophano Mitsa, Kevin J.Parker」等に詳しく開示されている。
【0147】
次にコーンマスクの特性について説明する。
【0148】
コーンマスクは、このマスクに含まれる各係数を2値化した場合に、ここで得られた2値情報を表す空間周波数領域上で、図14の1402に示される様に、周期的または擬似周期的なピークが発生することを1つの特徴とする。ただし、低周波領域ではピークが立たない様に設計されている。
【0149】
図38に、あるコーンマスクの係数配列の一部を示す。
【0150】
コーンマスクをどの閾値で2値化した場合にも、ドット間で適度な距離が保たれる為、低周波領域でのピークは立たない。
【0151】
図14の1402に、コーンマスクの閾値10で2値化した場合の空間周波数特性の概略図を示す。1401のブルーノイズマスクの空間周波数特性と同じく、1402の特性でも低周波成分が少ないことが分かる。
【0152】
コーンマスクの場合は、閾値が低い場合であっても高い場合であっても、ブルーノイズマスクが持つ低域周波数より高い周波数からピークが発生する為、ブルーノイズマスクに比べて埋め込み位置に密集した部分が少なくなる。その為、付加情報Infを埋め込んだ際に生じる埋め込みノイズは、ブルーノイズに比べて更に目立たなくなる利点がある。
【0153】
またコーンマスクを構成する係数の使用頻度も、ブルーノイズマスクの時と同じく、図12の1201で示す出現頻度分布(ヒストグラム)になる。
【0154】
従って、このマスクの係数に対応付けて、付加情報Infを構成する各ビット情報に対応するパターンを、画像データに埋め込む様にするならば、この画像データ中には各ビット情報に対応するパターンを同数配置することができ、結果的に付加情報Infをバランス良く埋め込むことができる。
【0155】
本実施の形態では以上の利点から埋め込み参照マスクにコーンマスクを用いることとする。
【0156】
[3−2−2 マスク参照手段]
マスク作成手段1101で作成されたマスク(コーンマスク)は、マスク参照手段1102に入力される。
【0157】
マスク参照手段1102では、画像に埋め込むNビットの情報の埋め込み位置とマスクの番号(画素値)を対応付けて、埋め込み位置を決定する。
【0158】
マスク参照手段1102で行う埋め込み位置決定方法を説明する。
【0159】
本実施の形態では上述したコーンマスクを用いるが、ここでは説明を分かりやすくする為、図15の1501に示す4×4マスクを用いて説明する。
【0160】
図15のマスクは、4×4個の係数を有し、0〜15までの係数値を1つずつ配置しているマスクである。この4×4マスクを用い付加情報Infの埋め込み位置の参照を行う。この説明で用いるマスクの場合には最大16ビットで構成される付加情報Infを埋め込むことができるが、以下8ビットの付加情報Infを埋め込む場合を説明する。
【0161】
まず付加情報Infの構成を、図36を用いて説明する。同図の様に付加情報Infは、スタートビットInf1と利用情報Inf2から構成される。
【0162】
このスタートビットInf1は、理想位置から実際の付加情報Infが埋め込まれている位置がずれていることを認識し、これに合わせて電子透かし(付加情報Inf)の抽出開始位置を補正する為に、電子透かし抽出装置側に含まれるオフセット合わせ手段で用いられる。詳細については後述する。
【0163】
また、利用情報Inf2は、本来の付加情報、即ち実際に画像データIの付加的情報として利用される情報である。この情報には、例えば画像データwIの不正利用の際に原因を追跡することを目的とするならば、図1に示す装置のID或いはユーザーのID等が含まれる。また、画像データwIの印刷物をコピー禁止にするのであれば、コピーが禁止であることを示す制御情報が含まれる。
【0164】
本実施の形態では、スタートビットは5ビットとし、「11111」というビット列を用いる。しかし、本発明はこれに限らず、付加情報Infのうち5ビット以外のビット数をスタートビットとして用いることも可能であり、同様に「11111」というビット列以外を用いることも可能である。ただし、スタートビットのビット数とビット系列は電子透かし埋め込み装置と電子透かし抽出装置で共有しておく必要がある。
【0165】
上述した様な4×4個の係数からなるコーンマスクを用いて、スタートビット5ビット、利用情報3ビットの合計8ビットの付加情報Infを埋め込む簡単な例について説明をする。
【0166】
しかしながら、本発明はこれに限定されるものではない。例えば32×32のコーンマスクを用いて、スタートビット5bit、利用情報64bitからなる合計69bitの付加情報Infを埋め込み場合等にも適用可能である。
【0167】
付加情報Infはスタートビットが5ビット「11111」で利用情報が3ビット「010」とする。夫々1番目が1、2番目が1、3番目が1、4番目が1、5番目が1、6番目が0、7番目が1、8番目が0のビット情報を持つ。
【0168】
これら各ビットに相当するパターン(図9参照)の夫々をコーンマスクの係数の1つずつに対応する位置に割り当て、この位置関係に従って元の画像データの各画素値を±c変更する。これにより、1つのコーンマスクに相当するサイズの元の画像データに対して、1つの付加情報Infが埋め込まれることとなる。
【0169】
本実施の形態では、付加情報Infを埋めこむ為に最低限必要なビット数に基づいて、ある閾値を決定し、上記コーンマスクにおける、この閾値以下の係数が配置されている位置に、対応する各ビット情報を埋めこむ。これにより付加情報Infのビット数に関わらず1つのコーンマスクには1つの付加情報Infが埋め込まれる。
【0170】
なお、本発明は上記方法に限らず、ある閾値以上の係数が配置されている位置に、対応する各ビット情報が埋め込まれる様にし、これを前提に閾値を決定する様にしても良い。
【0171】
次に本実施の形態では、埋め込みに用いる閾値以下の係数の個数が、マスク全体の係数の個数において占める割合を、埋め込み充填率と呼ぶことにする。
【0172】
8ビットの付加情報Infを整数回正しく埋め込むには、図15のマスク1501内においてどの係数を埋め込み参照位置に用いるかを決定する為の閾値は、8或いは16である必要が有る。この閾値は、耐性及び画質への影響を考慮して最適なものが決定される。
【0173】
ここで、マスクの閾値を8とした場合には、埋め込み充填率は50%となる。即ち、上記マスクと照らし合わされる元の画像データのうち50%が、図9のパターン配列を用いた処理の対象になる。
【0174】
各ビット情報とマスク内の係数の対応関係の一例を対応表1に示す。
【0175】
【表1】
ここで、S1〜S5まではオフセット合わせ処理装置で用いる位置合わせの為のビット情報(スタートビット)である。1〜3は3ビットの利用情報である。
【0176】
対応表1の対応に従うと、図16の1601で表現された係数(0〜7)の位置に相当する入力画像データの画素の位置に各ビット情報がパターン(図9参照)を用いて埋め込まれる。埋め込むビット情報の順序とマスク内の係数値の対応関係は鍵情報の一部であり、この対応関係を知ることなしに各ビット情報の抽出を行うことはできない。本実施の形態では説明を簡単にする為、対応表1の様に0から閾値までの係数値に順にS1〜S5と利用情報の3ビットを対応させることとする。
【0177】
次に、実際に32×32のサイズのコーンマスクを用いて埋めこむ場合の充填率についても少し述べておく。なお、処理の手順はマスク1501を用いた場合と同じである。
【0178】
まず最初に、埋め込み時の画質の劣化等を考慮し、付加情報Infの埋め込みを整数回正しく行う為に必要な閾値を決定する。
【0179】
更に、付加情報Infを構成する各ビットが等しい繰り返し数で埋め込まれる様にする為、閾値以下の係数の数を付加情報Infを構成するビット数Nで割り、1つのマスクサイズで各ビットを何回埋め込めるかを決定する。
【0180】
例えば、0〜255までの係数値に相当する元の画像データに、上述した一例のスタートビット5ビットと利用情報64ビットからなる、69ビットの付加情報Infを埋めこむ場合には、例えば閾値を137に設定する。
【0181】
この場合、マスク内の有効な係数値の数は138個となる。1つの付加情報Infを表すのに必要なビット数は69個であるから、1つのマスクサイズにおいては各ビット情報は138/69=2回ずつ埋め込むことができる。
【0182】
なお、コーンマスクを用いて埋め込み位置を決定する時に、ある閾値以下の係数値を持つ全ての点に対して埋め込みを行う理由は、空間周波数の低周波成分にピークが立たないというコーンマスクの特性を生かす為である。
【0183】
上述した様に埋め込み位置を決定した結果、埋め込み充填率50%、埋め込み情報量69ビットとなる場合には、付加情報Infを構成する各ビット情報とコーンマスクを構成する各係数値との関係は対応表2の様になる。
【0184】
【表2】
ここでS1〜S5はスタートビットであり、オフセット合わせ処理装置で用いる位置合わせの為のビット情報である。1〜64は利用情報である。
【0185】
ただし本発明はこの対応関係に限らず、0から閾値(または閾値から255)までの係数の位置の全てに、図9のパターンを使用して各ビット情報を順に埋め込むならば、各ビット情報と各係数値との対応関係は別のものであっても良い。
【0186】
32×32のコーンマスクの場合には、1つのマスク内に同じ係数を持つ位置が夫々4個存在する。
【0187】
全ての係数に上記対応表2に基づいて、元の画像データに各ビット情報を埋め込む場合、32×32,64×64等の大きいサイズのコーンマスクならば、付加情報Infを構成する各ビット情報はほぼ等しい回数埋め込まれる。また、元の画像データにおいて同一のビット情報が拡散して埋め込まれる。
【0188】
パッチワーク法では、従来各ビット情報に対応するパターン(図9参照)が互いに重なり合わない様にランダム的に埋め込み位置を選んでいたが、本実施の形態では、上記コーンマスクを参照することにより同様の効果を得る事ができ、更に画質劣化も少ない。
【0189】
以上の結果、マスク参照手段1102では、各ビット情報に対応する埋め込み位置の座標(x,y)を得る。
【0190】
配列S[bit][num]=(x,y) でその情報を表現すると、bitは対応表1の場合、スタートビットS1〜S5と利用情報1〜3ビットを表す。またnumはコーンマスク内で繰り返し表れる各係数に付けられる順序である。(x,y)にはマスク内での相対座標が収められる。
【0191】
以上の操作をマスク参照手段1102で行う。
【0192】
[3−2−3 マスク・パターン配列対応手段]
マスク参照手段1102で得られた各ビット情報のコーンマスク内での埋め込み位置は、マスク・パターン配列対応手段1103に入力される。
【0193】
マスク参照手段1102で決定した埋め込み位置は夫々のビット情報のパターンの位置(8×8画素分)であるので、パッチワーク法では更に図9に示される加算領域(+c)と減算領域(−c)とそれ以外(0)とを割り当てる必要がある。この為、マスク参照手段1102で参照したコーンマスクの全ての位置に図9に相当する8×8サイズのパターン配列を展開する操作をマスク・パターン配列対応手段1103で行う。
【0194】
具体的にはマスク参照手段1102で得られた配列S[bit][num]=(x,y)の座標に対して、x座標にはパターン配列の横方向のサイズを掛け、y座標にはパターン配列の縦方向のサイズを掛ける操作を行う。その結果、図17のマスク内の座標1701は、マスク内の1画素が1パターン配列に拡大された先頭座標1702となる。
【0195】
この先頭座標から図9に示されるパターン配列を用いると、パターン配列の大きさを持つ領域1703に重なり合わず埋め込みを行うことが可能になる。
【0196】
座標(x,y)は座標(x',y')に変化するが、配列S[bit][num]のbitとnumは変化しない。
【0197】
従って、配列S[bit][num]のbitに相当する付加情報Infを(x',y')をパターン配列を埋め込む先頭位置とし、複数のビット情報の埋め込みが可能になる。
【0198】
なお、マスク・パターン配列対応手段1103によりコーンマスクの各係数が、8×8のパターン配列に展開(拡大)された大きなマスクを、拡大マスクと呼ぶ。
【0199】
上記拡大マスクのサイズは、(32×8)×(32×8)サイズとなり、このサイズが付加情報Infを少なくとも1つ埋め込む為に必要な最低限の画像単位(マクロブロックとする)となる。
【0200】
以上がマスク・パターン配列対応手段1103で行われる操作である。
【0201】
一般的に小さなマスクは大きなマスクより作成時にドットの配置位置に自由度が少なく、コーンマスクの様な所望の特性を持つマスクの作成が難しい。例えば小さなマスクを画像データの全体に繰り返し割り当てることで付加情報Infを埋め込む場合には、小さなマスクの持つ空間周波数が画像データ全体に出現する。
【0202】
その一方で、一つのマスクからは完結した付加情報Infが抽出されるので、マスクのサイズを大きく設定することによって、切り抜き耐性(部分的な画像データwI’から付加情報Infを抽出できる可能性)は小さくなってしまう。ゆえに、上記切り抜き耐性と画質劣化のバランスを考慮し、マスクのサイズを決定する必要がある。
【0203】
以上が図1の埋め込み位置決定手段0103で行われる処理である。
【0204】
[3−3付加情報埋め込み処理]
以上の様にして決定された、画像データへの各ビット情報の埋め込み位置を参照して、図1の付加情報埋め込み手段0104は実際に付加情報Infを埋め込む。
【0205】
図10に付加情報Infを繰り返して埋め込む処理の動作の流れを示す。
【0206】
図10に示す方式では、画像全体に割り当て可能なマクロブロックを複数個割り当て、更に、これら全マクロブロックに対してまず1ビット目のビット情報を繰り返して埋め込み、続いて2ビット目、3ビット目…という様に繰り返して埋め込む。これは未だ埋め込み処理が行われていないビット情報が有れば、未処理のマクロブロックの全てに1001〜1003の埋め込み処理を施す手順により構成されている。
【0207】
しかしながら、本発明はこの順序に限らず2つのループ処理の内外関係を逆にしても良い。即ち、未処理のマクロブロックが有れば、これに対して未だ埋め込んでいないビット情報を全て埋め込む手順に変更しても良い。
【0208】
具体的には付加情報Infの埋め込みは、埋め込まれる各ビット情報が“1”の場合には図9のパターン配列を加える。また埋め込むビットが“0”の場合には図9のパターン配列を減ずる、即ち図9の正負符号を反転したものを加算する。
【0209】
上記加減算の処理は、図10における切り替え手段1001を、埋め込むビット情報に応じて切り替え制御することによって実現される。即ち、埋め込まれるビット情報が“1”の時は加算手段1002に接続し、上記ビット情報が“0”の時は減算手段1003に接続する。これら1001〜1003の処理はビット情報とパターン配列の情報を参照しながら行われる。
【0210】
ここで上記ビット情報の1つが埋め込まれる様子を図19に示す。同図では埋め込まれるビット情報が“1”、即ちパターン配列を加える場合の例を示す。
【0211】
図19に示す例では、I(x,y)が元の画像、P(x,y)が8×8のパターン配列である。8×8のパターン配列を構成する各係数は、このパターン配列と同じサイズの元の画像データ(青色成分)に重ね合わせられ、同位置の値同士が加減算される。その結果、I'(x,y)が算出され、ビット情報が埋め込まれた青色成分の画像データとして図1の色成分合成手段0105へ出力される。
【0212】
上述した8×8のパターン配列を用いた加減算処理を、上記対応表2で決定された埋め込み位置(各ビット情報を埋め込む為のパターン配列を割り当てた位置)の全てに対して繰り返し行う。
【0213】
次に、図10の内部のループ処理が行われる様子を図18に示す。
【0214】
図18では、各ビット情報を繰り返し埋め込む為に、画像データ全体1801(1803)全体に、マクロブロック1802を左上から右下までラスター順に繰り返し割り当てて埋め込み(図10の1001〜1003)を行う。
【0215】
付加情報埋め込み手段0104により以上の操作が行われ、付加情報Infが画像全体に埋め込まれる。
【0216】
以上の処理により、画像データ中に付加情報Infが埋め込まれる。この付加情報Infが埋め込まれた画像データの各画素が、十分少ないドット数で表現されるのであれば、パターン配列の大きさも十分小さくなるので、これらパターン配列の1つ1つは非常に小さい点でしか人間の目には知覚されない。よって、コーンマスクの空間周波数特性も維持され、人間の目に見えにくい。
【0217】
[3−4 レジストレーション処理]
次に、電子透かし抽出装置側に備えられる、図2におけるレジストレーション手段0202について詳細を説明する。
【0218】
レジストレーション手段0202とは、付加情報抽出手段0203の前段に位置する手段であり、付加情報Inf抽出処理の前処理である。レジストレーション手段0202には、前段の色成分抽出手段0201により抽出された青色成分の画像が入力される。
【0219】
レジストレーション手段0202では、電子透かし埋め込み装置から出力された画像データwIと、電子透かし抽出装置に入力された画像データwI’のスケールの違いが補正される。
【0220】
レジストレーション手段0202の詳細を図7に示す。図7に示す様に、レジストレーション手段0202は、ブロック分割手段0701、フーリエ変換手段0702、インパルス抽出手段0703、スケーリング率算出手段0704、スケーリング手段0705から構成される。
【0221】
ブロック分割手段0701では、上述したレジストレーション信号埋め込み手段0102(ブロック分割手段0401)と同様のブロック分割処理が行われる。この処理によって、一般的にはレジストレーション信号埋め込み手段0102(ブロック分割手段0401)と同様のブロックを抽出することは困難である。これは電子透かし情報が埋め込まれた画像データwIが印刷系の処理を施されることによって、大きさが変化し、更に位置がずれることによるものである。
【0222】
しかし、このブロックの抽出はある程度違っていても問題はない。これは、電子透かし埋め込み装置において、レジストレーション信号が画像データのうち振幅スペクトルに埋め込まれているからである。振幅スペクトルは、画像データの空間領域における位置ずれには影響されないという性質がある。よって、電子透かし埋め込み装置と電子透かし抽出装置の夫々において、各々のブロック分割手段により分割されたブロックが、空間領域で多少の位置ずれが生じていても問題はない。
【0223】
ブロック分割手段0701はブロック分割した画像データをフーリエ変換手段0702に出力する。フーリエ変換手段0702は上述したレジストレーション信号埋め込み手段0102の場合と同様に、空間領域の画像データを周波数領域の画像データに変換する。フーリエ変換された周波数領域の画像データは振幅スペクトルと位相スペクトルによって表現される。このうち振幅スペクトルだけがインパルス抽出手段0703に入力される。一方で、位相スペクトルは破棄される。
【0224】
周波数領域に変換された画像データはインパルス抽出手段0703に入力される。インパルス抽出手段0703では、周波数領域に変換された画像データからインパルス性の信号だけを抽出する。即ち、既に画像データに埋め込まれている図5の0502,0503,0504,0505を抽出する。
【0225】
これは公知の画像処理技術を用いて行うことが可能である。例えば、周波数領域に変換された画像データを閾値処理することで実現できる。この例を図8(a)に示す。図8(a)にはインパルス抽出手段0703に入力された振幅スペクトル0801を閾値0802によって閾値処理する様子を示す。なお説明の為、図8において変換された画像データを1次元で表現した。適当な閾値0802を選択することによってインパルス信号を抽出することが可能である。しかしながら、低域に存在するインパルス信号と同じ程度の大きさを持つ様な本来の画像データも同時に抽出してしまう。
【0226】
この問題を解決した本実施の形態の方式を図8(b)に示す。周波数領域に変換された画像データ0801に対して2次微分処理を施す。これはラプラシアンフィルタ等を施すことに等しい。周波数領域に変換された画像データ0801に対して2次微分を施したものを0803に示す。このデータ0803に対して適当な閾値0804を選択し閾値処理を施すことによって、インパルス信号を抽出可能である。
【0227】
このインパルス信号の抽出に関してもう少し詳細な原理を図26を用いて説明する。なお、この図では上述したレジストレーション信号埋め込み側の処理も記載している。
【0228】
レジストレーション信号埋め込み手段0102においては、空間領域の画像データ2601が周波数領域に変換され画像データ2602となり、周波数領域においてインパルス信号2603が加えられる。
【0229】
インパルス信号(レジストレーション信号)2603が加えられた周波数領域の画像データは、逆周波数変換されることによって空間領域の信号2601’へ再び戻る。再び空間領域へ戻された画像データ2601’にはインパルス信号が付加された影響があるはずであるが、人間の目には知覚しにくく、実質的には画像データ2601と画像データ2601’は同一物に見える。これは、周波数領域で加えられたインパルス信号2603が逆フーリエ変換によって、画像データ全体に小さな振幅で分布するからである。
【0230】
図26の2603の様なインパルス信号が加えられた場合は、ある一定の周波数成分を持つ画像データが空間領域に加えられたことに等しくなる。この加えられたインパルス信号が人間の知覚できる周波数よりも大きく、更に振幅が人間の知覚できる限度以下であるならば、加えられたインパルス信号は人間の目には見えない。よって、上記レジストレーション信号の埋め込み自体も一種の電子透かし処理であると言える。
【0231】
なお、本実施の形態では画像データ2601にレジストレーション信号2603が埋め込まれ、更に実際に埋め込むべき付加情報Infが埋め込まれた後、空間領域の信号2601’を復元する。
【0232】
図26の様に埋め込まれたレジストレーション信号は、抽出の際に再びフーリエ変換が施される。これによって、空間領域では一度画像データ全体に拡散されたレジストレーション信号2603が、周波数領域に変換され再びインパルス信号として現れる。
【0233】
電子透かし情報が埋め込まれた画像がJPEG圧縮等の非可逆圧縮などの攻撃を受けた場合、このインパルスは振幅が小さくなる可能性が高い。一方で、スケーリングなどの幾何的な攻撃を受けた場合、このインパルスはその位置が移動する。いずれの場合も上述した様な適当なインパルス抽出処理を施すことによって、インパルス信号は抽出可能であり、元の画像データからの変化を推測できる。この変化を補正すれば本実施の形態で埋め込まれる付加情報Infを確実に抽出できる状態を作り出せる。
【0234】
以上の処理により、図7のインパルス抽出手段0703からは上述したインパルス信号が出力され、スケーリング率算出手段0704に入力される。スケーリング率算出手段0704は、入力されたインパルス信号の座標を用いてどの様なスケーリングが施されたかを算出する。
【0235】
本実施の形態の電子透かし抽出装置側では、予めどの周波数成分にインパルス信号を埋め込んだかを知っているものとする。この場合には、この予め埋め込まれた周波数と、インパルスが検出された周波数の比によりスケーリング率を算出することが可能である。例えば、予めインパルス信号が埋め込まれた周波数をa、検出されたインパルス信号の周波数をbとすると、a/b倍のスケーリングが施されていることがわかる。これは良く知られたフーリエ変換の性質である。以上の処理により、スケーリング率算出手段0704からはスケーリング率が出力される。
【0236】
しかしながら本発明はこれに限らず、電子透かし埋め込み装置側から必要に応じてレジストレーション信号を埋め込んだ位置(周波数)の情報を受信する様にしても良い。例えばこの位置情報は暗号化信号として受信し、上記スケーリング率の算出処理を行う形態も本発明の範疇に含まれる。こうすることによって、付加情報Infを正しく抽出できるのはレジストレーション信号を知っている人だけとなる。この場合、レジストレーション信号を付加情報Infを抽出する為の鍵として使用できる。
【0237】
スケーリング率算出手段0704から出力されたスケーリング率は、スケーリング手段0705に入力される。スケーリング手段0705には画像データwI1'も入力され、画像データwI1'は入力されたスケーリング率によってスケーリング処理が施される。スケーリング処理はバイリニア補間やバイキュービック補間など種々のものが適応可能である。そして、スケーリング手段0705からはスケーリング処理が施された画像データwI2'が出力される。
【0238】
[3−5 付加情報抽出処理]
次に、図1の付加情報埋め込み手段0104で付加情報Infが埋め込まれた画像データwI’の青色成分からこの付加情報Infを抽出する図2の付加情報抽出手段0203の動作について述べる。
【0239】
この付加情報Infの抽出処理のブロック図を図20に示す。
【0240】
[3−5−1 埋め込み位置決定処理]
図20に示す様に、まず埋め込み位置決定手段2001において、画像データwI2'(青色成分)中のどの領域から付加情報Infを抽出するかを決定する。この埋め込み位置決定手段2001によってなされる動作は、前述した埋め込み位置決定手段0103と同じであり、その為、0103と2001によって決定される領域は同一のものとなる。
【0241】
決定された領域から、前述した対応表2を用い、更に図9に示されるパターン配列を用いて付加情報Infが抽出される。
【0242】
ここで、付加情報Infの抽出は、決定された領域に対してパターン配列を畳み込むことによって実現される。
【0243】
[3−5−2 信頼度距離演算手段]
信頼度距離dは埋め込んだ情報を抽出する際に必要となる計算値である。
【0244】
各ビット情報に対応する信頼度距離dを求める方法を図6に示す。
【0245】
まず始めに、図中の畳み込み演算手段0601で行う処理を図21及び図22を用いて説明する。
【0246】
図21及び図22に、付加情報Infを構成する1ビットの情報を抽出する例を示す。
【0247】
図21は付加情報Infを構成するある1ビット情報が埋め込まれた画像データ(青色成分)I''(x,y)に対してこの1ビット情報の抽出処理を行った例、そして図22は上記1ビット情報が埋め込まれていない画像データI(x,y)に対して1ビット情報の抽出処理を行おうとした例である。
【0248】
図21において、I''(x,y)が1ビット情報が埋め込まれた画像データ、P(x,y)が畳み込み処理に用いられる8×8のパターン配列(付加情報Inf抽出用のパターン配列)である。この8×8のパターン配列を構成する各要素(0,±c)は、入力画像データI''(x,y)の同位置に配置されている画素値に積算され、更に各積算値の和が算出される。即ち、I''(x,y)に対してP(x,y)が畳み込まれる。ここで、I''(x,y)は、画像データI'(x,y)が攻撃を受けた場合の画像を含んだ表現である。攻撃を受けていない場合には、
I''(x,y)=I'(x,y)である。I''(x,y)に1ビット情報が埋め込まれている画像である場合には、畳み込みの結果、図21に示す様に非零の値が得られる可能性が非常に高い。特にI''(x,y)=I'(x,y)の時には畳み込みの結果は32c2となる。
【0249】
なお、本実施の形態では、埋め込みに用いるパターン配列と抽出に用いるパターン配列は同様のものを用いている。しかしながら、これは本発明において限定されるものではない。一般的には、埋め込みに用いるパターン配列をP(x,y)、抽出に用いるパターン配列をP'(x,y)とした場合には、
P'(x,y)=aP(x,y)
という関係に変形できる。ここでaは任意の実数であり、本実施の形態では、簡単の為、a=1の場合について説明する。
【0250】
一方、図22に示す例では、上述の演算と同様の演算が1ビット情報が埋め込まれていない画像データI(x,y)に対して施されている。原画像(画像データIに相当)からは畳み込み演算の結果、図22に示す様に零の値が得られる。
【0251】
以上、図21及び図22を用いて1ビット情報の抽出方法を説明した。しかし、以上の説明は、付加情報Infが埋め込まれる対象の画像データIにおいて畳み込み演算の結果が0である場合であり、非常に理想的な場合である。一方で、実際の画像データIの8×8のパターン配列に相当する領域においては畳み込み演算の結果が0であることはなかなか少ない。
【0252】
即ち、原画像(画像データI)における8×8のパターン配列に相当する領域について、図9のパターン配列(コーンマスクも配置情報として参照)を用いて畳み込み演算を行った場合、理想と異なり、非零の値が算出されることもある。逆に、付加情報Infが埋め込まれた画像(画像データwI)における8×8のパターン配列に相当する領域について、同じく畳み込み演算を行った結果が“32c2“でなく“0”になってしまうこともある。
【0253】
しかしながら、付加情報Infを構成するビット情報の夫々は、通常、元の画像データに複数回埋め込まれている。即ち付加情報Infが画像に複数回埋め込まれている。従って、各ビット情報が埋め込まれているn個のマクロブロックにおいて、8×8パターン配列毎の畳み込み演算を行い、ここで得られる各ビット情報毎のn個の畳み込み演算結果に基づいて“各ビット情報が埋め込まれているのか否か”或いは“各ビット情報が1か0か”等を統計的に判断すれば良い。これら統計的な判断の方法については後述する。
【0254】
よって畳み込み演算手段0601は、付加情報Infを構成する各ビット情報に1ついて、夫々複数の畳み込み演算結果の和を求める。例えば、付加情報Infが8ビットであれば、8個の和が得られる。この各ビット情報に対応する和は平均計算手段0602に入力され、夫々が全マクロブロックの数nで割られて平均化される。この平均値が信頼度距離dである。即ち、この信頼度距離dは、図21の“32c2”と“0”のどちらに類似しているかを多数決的に生成した値である。
【0255】
ただし、信頼度距離dは、先のパッチワーク法の説明ではd = 1/N Σ(ai-bi)と定義していたので、厳密には信頼度距離dは、P'(x,y) = 1/c P(x,y)を用いて畳み込み演算を行った結果の平均値である。しかしながら、P'(x,y) = aP(x,y)を用いて畳み込み演算を行っても、畳み込み演算結果の平均値は、上記信頼度距離dの実数倍になっているだけであり、本質的には同様の効果が得られる。よって本発明には、P'(x,y) = aP(x,y)を用いた畳み込み演算結果の平均値を信頼度距離dに用いることも十分可能である。
【0256】
求められた信頼度距離dは0603の記憶媒体に蓄えられる。
【0257】
畳み込み演算手段0601は、付加情報Infを構成する各ビットについて上記信頼度距離dを繰り返し生成し、順次記憶媒体0603に格納する。
【0258】
この演算値に関してもう少し詳細な説明をする。元の画像データIに対して図9のパターン配列(コーンマスクも配置情報として参照)を用いて算出される信頼度距離dは理想的には0である。しかしながら実際の画像データIにおいては、この値は非常に0に近くはあるが非零の値が多い。各ビット情報について発生する信頼度距離dの頻度分布を調べると、図23の様になる。
【0259】
図23において、横軸は、各ビット情報毎に発生する信頼度距離dの値であり、縦軸はその信頼度距離dを生じる畳み込みが行われたビット情報の数(信頼度距離dの出現頻度)を示している。図を見ると正規分布に類似していることがわかる。また、元の画像データIにおいては信頼度距離dは必ずしも0ではないが、その平均値は0(或はそれに非常に近い値)である。
【0260】
一方、元の画像データIではなく、図19の様にビット情報“1”を埋め込んだ後の画像データ(青色成分)をI’(x,y)に上記畳み込みを行った場合には、信頼度距離dは図24に示す様な頻度分布となる。即ち、図の様に図23の分布形状を保ったまま、右方向にシフトしている。この様に、付加情報Infを構成するある1ビットを埋め込んだ後の画像データは、信頼度距離dが必ずしもcという訳ではないが、その平均値はc(或はそれに非常に近い値)となる。
【0261】
なお、図24ではビット情報“1”を埋め込んだ例を示したが、ビット情報“0”を埋め込んだ場合は図23に示した頻度分布が、左にシフトすることになる。
【0262】
以上説明した様に、パッチワーク法を用いて付加情報Inf(各ビット情報)を埋め込む場合には、埋め込むビット数(パターン配列の使用回数)を出来るだけ多くした方が、図23及び図24に示す様な統計的分布が正確に現れやすい。即ち、付加情報Infを構成する各ビット情報が埋め込まれているか否か、或いは埋め込まれているビット情報が“1”か“0”かを検出できる精度が高くなる。
【0263】
[3−5−3 オフセット合わせ処理]
次にオフセット合わせ手段2002の構成について解説する。
【0264】
オフセット合わせ手段2002には、適切なスケーリングを施された後の画像データwI2'が入力される。この後、図6の信頼度距離演算を用い、スタートビットを検出する。なお、オフセット合わせ手段2002はスタートビットInf1の5ビット分に対応する5つの信頼度距離だけを生成する。スタートビットInf1とは、図36に示す様に、付加情報埋め込み手段0104において予め埋め込んである付加情報Infの一部であり、本実施の形態では5ビット分である。
【0265】
なお、これらスタートビットInf1は、概念的には最初の5ビット分であるが、付加情報Infが埋め込まれている画像においては隣接、密集して存在する訳ではなく、むしろ点在している。これは、対応表2のコーンマスクを構成する各係数値に対応付けて順に埋め込まれる為である。
【0266】
オフセット合わせ手段2002の処理のフローチャートを図28に示す。以下の解説は図28のフローチャートの流れに沿って行う。
【0267】
オフセット合わせ手段2002では、入力された画像データwI2'に対して、ステップ2801により、まず最も左上の座標を埋め込み開始座標と仮定する。同時に、最大値MAXを0に設定する。そして、ステップ2802により、図6の信頼度距離演算手段を用いて、スタートビットの検出を試みる。
【0268】
ここで得られた1〜5番目のビット情報が、ステップ2803により正しいスタートビット「11111」であるかどうかを判定する。この点が正しい埋め込み開始座標であれば検出結果として5つの連続した正の信頼度距離dが検出されるが、そうでない場合には正の信頼度距離dが5つ連続しないことが多い。上記判断を順次行い、正しいスタートビットInf1が検出できる位置を、埋め込み開始座標であると決定すれば良い。
【0269】
しかしながら、実際のところ埋め込み開始座標以外の点でも正しいスタートビットInf1が検出されてしまう場合も有り得る。この原因を図27を用いて説明する。
【0270】
図27は、本実施の形態で用いるパッチワーク法で埋め込まれた付加情報Infを抽出する為、付加情報Infの埋め込み時に用いたものと同一のパターン配列(2702、2705)(コーンマスクも配置情報として参照)を用いて、畳み込みを行いながら本来のマクロブロックの位置(2701、2703、2704)を探索する様子を示している。左の図から右の図へ向かって探索が連続的に進んでいるものとする。
【0271】
図27では、簡単の為、画像データwI2'の一部である1つのマクロブロック(付加情報Infが抽出できる最小単位)に注目している。この図の1マスは1ビット情報を埋め込む為のパターン配列の大きさの概念を示している。
【0272】
図27左において、2701と2702の関係を有する場合、即ち2702が実際のマクロブロック2701よりも左上に位置して場合、元の画像と付加情報Inf抽出用のパターン配列の位置は、斜線領域のみで重なっている。
【0273】
また同図中央には、更に探索を進め、探索中の位置と実際のマクロブロックの位置が完全に一致している場合が示されている。この状態では、畳み込み対象のパターン配列とマクロブロックが最大面積重なっている。
【0274】
また同図右においては、探索中の位置が実際に付加情報Infが埋め込まれているマクロブロックの位置よりも右下に位置している。この状態では、この状態では、畳み込み対象のパターン配列とマクロブロックは斜線領域のみで重なる。
【0275】
図27の全ての場合において、畳み込み対象のパターン配列とマクロブロックが十分に重なっていれば正しいスタートビットInf1を抽出することが可能である。ただし、これら3つの場合は重なる面積が異なっているので信頼度距離dが異なる。
【0276】
上記重なる面積は前述した信頼度距離dに置き換えて考えることができる。即ち、畳み込み対象のパターン配列とマクロブロックの位置関係が完全に一致していれば、各ビット情報共に信頼度距離dは上述した±32c2に非常に近くなる。
【0277】
よって、本実施の形態においては、図28の様に、ステップ2803において正しいスタートビットInf1でないと判定された場合には、ステップ2807によりラスタ順で次の探索点に移動する。一方で、正しいスタートビットInf1であると判定された場合には、ステップ2804により、信頼度距離dが最大値MAXより大きいかどうかを判定する。最大値MAXより小さな場合には、ステップ2807によりラスタ順で次の探索点に移動する。一方で、信頼度距離dが最大値MAXよりも大きな場合には、最大値MAXを現在の信頼度距離dに更新し、同時に現在の探索点を埋め込み開始点として記憶する。そして、ステップ2806において全ての探索点を探索したかどうかを判定し、全て終了していない場合には、ステップ2807によりラスタ順で次の探索点に移動する。一方で、全て終了している場合には、その時記憶されている埋め込み開始点を出力し処理を終了する。
【0278】
以上の一連の処理により、本実施の形態におけるオフセット合わせ手段2002は、スタートビットInf1を検出し、正しいスタートビットInf1が得られた座標の中で、最も信頼度距離dの大きな座標の情報を、付加情報Infの埋め込み開始点であると判断し、埋め込み開始座標として後段へ出力する。
【0279】
[3−5−4 利用情報抽出手段]
利用情報抽出手段2003は、前段のオフセット合わせ手段2002から埋め込み開始座標、及び付加情報Infが埋め込まれた画像データを入力し、図6で説明した動作を同じく用いて、ここでは利用情報Inf2を構成する各ビット情報のみについて信頼度距離dを算出し、これらビット情報に対する信頼度距離d1を後段の統計検定手段2006に出力する。
【0280】
なお、利用情報Inf2を構成する各ビット情報に相当する信頼度距離d1を得ることは、実質的には、埋め込まれた利用情報Inf2の各ビットを抽出することに相当する。これについては後述する。
【0281】
ここでは、上記探索により判別された埋め込み開始座標に基づいて、各信頼度距離dを算出するのみであり、スタートビットInf1の5ビット分については抽出しない。
【0282】
[3−6統計検定処理]
統計検定手段2006では、図20の利用情報抽出手段2003で得られる信頼度距離d1の信頼性を判定する。この判定は、付加情報Inf(利用情報Inf2)の抽出に用いた第1のパターン配列とは異なる第2のパターン配列を用いて信頼度距離d2を生成し、この信頼度距離d2の出現頻度分布を参照して信頼性指標Dを生成することで行われる。
【0283】
ここで信頼度距離d1は利用情報抽出手段2003において利用情報Inf2を抽出するために、第1のパターン配列(コーンマスクも配置情報として参照)を用いて得られる信頼度距離であり、信頼度距離d2は第1のパターン配列とは異なる後述する第2のパターン配列を用いて得られる信頼度距離である。第1のパターン配列は、通常付加情報Inf(スタートビットInf1,利用情報Inf2)を埋め込む際に用いた図9のパターン配列である。
【0284】
なお第2のパターン配列、信頼性指標D等についての詳細は後述する。
【0285】
[3―6―1 第2のパターン配列による抽出処理]
≪ 中心極限定理 ≫
{an},{bn}はn個の要素からなる画素値の集合で、夫々図30に示される様な部分集合Aと部分集合Bの要素の持つ画素値とする。
【0286】
信頼度距離d(Σ(ai-bi) / n)は,十分な数 nで{an}, {bn}を取る場合、画素の値anとbnには相関がなく、信頼度距離dの期待値は0になる。また中心極限定理より信頼度距離dの分布は独立な正規分布をとる。
【0287】
ここで中心極限定理について簡単に説明する。
【0288】
平均値mc、標準偏差σcの母集団(正規分布でなくても良い)から大きさncの任意標本を抽出した時、標本平均値Scの分布はncが大きくなるにつれて正規分布N(mc,(σc/√nc)^2)に近づくことを示す定理である。
【0289】
一般には母集団の標準偏差σcは不明なことが多いが、サンプル数ncが十分大きく、母集団の数Ncがサンプル数ncに比べてさらに十分大きいときは標本の標準偏差scをσcの代わりに用いても実用上ほとんど差し支えない。
【0290】
本実施の形態に戻って説明する。まず利用情報抽出手段2003で求められた信頼度距離d1の出現頻度分布は、利用情報Inf2を正しく抽出できたか否かで大きく異なる。
【0291】
例えば、スタートビットInf1の検出に誤りがあった場合(オフセット合わせに失敗した場合)等には、利用情報Inf2が埋め込まれているはずの位置には実際にはビット情報が埋め込まれていないので、信頼度距離d1の出現頻度分布は図25の正規分布2501の様になる。
【0292】
一方、正しく抽出できている場合には、利用情報Inf2を構成するビット情報“1”に対応する各信頼度距離d1が正規分布2502の位置に累積され、利用情報Inf2を構成するビット情報“0”に対応する各信頼度距離d1が正規分布2503の位置に累積される。よって、この場合には2つの“山”が現れる。この2つの“山”の大きさの比は、利用情報Inf2を構成するビット情報“1”と“0”の比とほぼ等しい。
【0293】
ただし、これは付加情報が埋め込まれていない元の画像に対して第1のパターン配列で畳み込み処理を行って得られる信頼度距離d1が、正規分布2501の様になることを前提としたものである。
【0294】
従って、現実的には、元の画像の状態を知らない限り、正しく抽出できているか否かの判断を行うことは出来ない。
【0295】
よって本実施の形態では付加情報が埋め込まれていても元の画像の状態を十分判別できる、いわゆる第2のパターン配列を用いて、信頼度距離d2の正規分布を生成し、この正規分布を2501として考えることによって、利用情報Inf2が正しく抽出できているか否かの判断を行う。
【0296】
例えば、信頼度距離d2で作成した正規分布2501を構成する斜線部分(中心から95%までの構成要素)より外側に信頼度距離d1の出現頻度分布が存在すれば、対象となっている画像に統計的偏りが存在し、利用情報Inf2が埋め込まれていると考えることができ、利用情報Inf2の確からしさを統計的に判断することができる。この詳しい方法については後述する。
【0297】
次に、付加情報Inf(利用情報Inf2)が埋め込まれている画像データを用いて、付加情報Infが埋め込まれる前の信頼度距離d1の出現頻度分布に類似するもの(図25の様な正規分布2501)を生成する方法を説明する。
【0298】
本実施の形態では、第2のパターン配列による抽出手段2005を用いて、正規分布2501に類似する分布を構成する信頼度距離d2を求める。
【0299】
第2のパターン配列による抽出手段2005は、利用情報抽出手段2003に用いた第1のパターン配列と“直交する”第2のパターン配列を用いて、信頼度距離d2を求める手段であり、畳み込み処理を行う点等、利用情報抽出手段2003と動作自体はほぼ同じである。
【0300】
なお、対比説明の為、利用情報抽出装置2003で用いた図9のパターン配列、及びこのパターン配列を配置する位置を参照する為のマスク(コーンマスク)を、夫々「第1のパターン配列」、及び「第1の位置参照マスク」と呼び、第1のパターン配列に“直交する”パターン配列、及びこのパターン配列を配置する位置を参照する為のマスクを、夫々「第2のパターン配列」、及び「第2の位置参照マスク」と呼ぶ。
【0301】
第2のパターン配列による抽出手段2005に、まず、オフセット合わせ手段2002から埋め込み開始座標を入力し、上述した図6の信頼度距離演算を用いて信頼度距離d2の計算も行う。
【0302】
この時、図6の信頼度距離演算で用いるパターン配列は埋め込みに用いた図9のパターン配列0901ではなく、このパターン配列0901に“直交する”パターン配列3601或いは3602を用いる。
【0303】
この理由は、図33のパターン配列3601及び3602を用いて計算される信頼度距離d2には、付加情報Infの埋め込みに用いた図9のパターン配列0901で操作した影響がまったく反映されない為である。
【0304】
図34に示す様に、図9のパターン配列0901とこれにこれに“直交する”上記パターン配列3601とを畳み込み処理した結果は0である。これはパターン配列3602についても同様である。即ち、第1、第2のパターン配列の畳み込み結果は0である。従って、元の画像の濃度が第1のパターン配列を用いて変更されていたとしても、第2のパターン配列を用いて畳み込み処理を行って得られる信頼度距離dには全く影響が無い。
【0305】
よって、付加情報Infが埋め込まれている画像に対して上記第2のパターン配列を用いた畳み込み処理を施して得られる信頼度距離d2の出現頻度分布は、図25の正規分布2501とほぼ同様のものになる。従って上記出現頻度分布を正規分布2501とみなす。
【0306】
ここで得られる正規分布2501は、図32の3507の統計検定処理に必要な判断基準となる。
【0307】
第2のパターン配列による抽出処理2005は、上述の様に図33の3601、3602の様な「第1のパターンとは“直交する”パターン配列」と、図35の3802に示す第2の位置参照マスクを用いて、信頼度距離d2の正規分布を生成するである。
【0308】
なお、上記「第1のパターンとは直交するパターン配列」の条件を以下に示すと、
(1)図33に示す様に、図9の0901と同じサイズであること
(2)パターン配列3601、3602の様に、付加情報Infの埋め込み時に用いた図9のパターン配列0901との畳み込み処理の結果が0になること
である。
【0309】
また、図34に示す畳み込み処理は、図21及び図22に示される畳み込み処理と同じである。
【0310】
本実施の形態では、畳み込みの結果が0になることを、ベクトルの内積が直交する場合に0になっていることになぞらえ、「互いのパターン配列が“直交している”」と呼ぶ。従って図33の3601、3602は「図9のパターン配列0901に“直交する”パターン配列」である。
【0311】
付加情報Infの埋め込み時に用いたパターン配列に“直交する”パターン配列を信頼度距離d2の計算に用いる理由は、信頼度距離d2の分布に統計的な偏りを存在させない、即ち0が中心の出現頻度分布を生成する為である。
【0312】
また、「第1のパターンとは“直交する”パターン配列」は、
(3)利用情報抽出処理2003に用いたパターン配列の非零の要素と等しい数の非零の要素を持ち、正と負の要素の数が夫々等しいこと
も必要な条件である。これは同一の演算条件で、信頼度距離d1と信頼度距離d2が抽出される様にする為である。
【0313】
次に、本実施の形態では「第2の位置参照マスク」は、付加情報Infの埋め込み時に用いた3801とは別のパターンを有し、かつ3801とは異なるサイズの、図35の3802に示される参照マスクを用いる。
【0314】
以上、上記第1と第2のパターン配列が異なっていれば信頼度距離d2の出現頻度分布はほぼ正規分布2501となる。
【0315】
しかしながら、スタートビットの検出位置が完全でない場合等には、第2のパターン配列を用いて畳み込みを行ったにも拘わらず統計的な偏りが検出されてしまう可能性も有る。本実施の形態ではこの可能性も考慮して、第1と第2の位置参照マスクの大きさを異ならせることで、周期的な要素を打ち消す様にする。或いはマスク内の各パターン配列の配置方法を異ならせることで、同一領域での畳み込みを行わない様にする。
【0316】
また、この場合には「第2の位置参照マスク」は、これを構成する各係数がランダムに分布していれば良く、コーンマスクでなくとも構わない。
【0317】
もし「第2の埋めこみ位置参照マスク」が、「第1の埋めこみ位置参照マスク」と異なる様に設定する場合には、「第2の埋めこみ位置参照マスク」は図20の埋めこみ位置決定手段2004で作成することとする。
【0318】
一般的には、上述した切り抜き耐性を考慮して、第1の位置参照マスク(コーンマスク)は、付加情報Infの埋め込み対象となる画像データ全体に対してそれほど大きなサイズを取ることは考えられない。よって、「第2の位置参照マスク」は比較的大きなものを用いると良い。本実施の形態では、付加情報Infを埋め込む時に参照する第1のマスクよりも、付加情報Inf側で信頼度距離d1を計算する際に用いる第2のマスクのサイズが大きくなる様に設定することとする。
【0319】
しかしながら本発明はこれに限らず、互いのマスクサイズが等しくてもある程度の効果を奏する。従って、「第2の位置参照マスク」は図20の埋めこみ位置決定手段2001で作成されるものでも良い。
【0320】
互いのマスクの最低限の条件としては、互いのマスクに適用される付加情報Infを構成する各ビットの繰り返し数が、同一サイズの画像領域内で等しいことが必要である。
【0321】
なお、第2のパターン配列による抽出処理で十分な結果が得られない場合は、上述した条件を備える別の第2のパターン配列や第2の位置参照マスクを用いて、再度信頼度距離d2を計算することにより、理想的な出現頻度分布である図25の2501を生成できる可能性も有る。
【0322】
次に第2のパターン配列による抽出手段2005の具体的な操作を示す。
【0323】
本実施の形態では、第1の位置参照マスクが32×32のコーンマスクで、第2の位置参照マスクが64×64のコーンマスクとし、2つのマスクにおいて、各係数の相対的な配列は全く異なっているとする。
【0324】
まず、第2のパターン配列による抽出手段2005では、抽出位置の決定は以下の対応表3に従って行うこととする。
【0325】
【表3】
【0326】
第2の位置参照マスクでは、同じ値の係数がマスク内に各16個存在する。一方、32×32の第1の位置参照マスクは、先の対応例2でマスクの参照を行っている場合、32×32の中で同一係数の繰り返し数は4個である。即ち、同一サイズの画像データにおいては、第1の位置参照マスクも第2の位置参照マスクも同じ値の係数は同数存在する。
【0327】
本実施の形態では、上記対応表3の規則に従った位置関係に第2のパターン配列を割り当て、順次畳み込み処理を行い、各ビット情報に対応する69個の信頼度距離d2を算出する。
【0328】
[3―6―2 信頼性指標D]
第2のパターン配列による抽出手段2005にて生成される信頼度距離d2は、ほぼ正規分布2501と同一の分布で出現するが、正規分布においては、一般的に以下の式(25.1)の範囲で95%のサンプル(信頼度距離d2)が出現することが知られている。
【0329】
m-1.96σ < d2 < m+1.96σ … 式(25.1)
ここで、σは上記信頼度距離d2についての標準偏差であり、mは平均である。
【0330】
なお上記場合の範囲のことを“95%の信頼区間”と呼ぶ。
【0331】
m-1.96σ , m+1.96σ は、第2のパターン配列による抽出手段2005で信頼度距離d2が得られた後、これを用いて計算される。
【0332】
利用情報抽出手段2003から統計検定手段2006に入力される信頼度距離d1の出現頻度分布は、ビット情報が“1”の場合は図25の正規分布2502になり、ビット情報が“0”の場合は正規分布2503になるので、利用情報Inf2に対応する信頼度距離d1は、第2のパターン配列による抽出手段2005で求められる95%の信頼区間(図25の斜線部分)の外に存在する確率が非常に高い。
【0333】
ところで、オフセット合わせ手段2002の処理時点で、この処理の対象となる画像に利用情報Inf2が存在しない場合には、信頼度距離d1の出現頻度分布も正規分布2501の様になる。
【0334】
この場合、利用情報Inf2に対応する64個の信頼度距離d1の全てが式(25.1)の信頼区間に含まれない確率は、(1−0.95)の64乗と非常に小さい。
【0335】
従って、信頼度距離d2に基づいて正規分布2501を求めておけば、この正規分布の大半を占める範囲に、信頼度距離d1に基づいて求められた出現頻度分布が含まれるか否かを考えることにより、付加情報Inf(利用情報Inf2)が埋め込まれているか否かをほぼ確実に判断できる。
【0336】
統計検定手段2006では、上述した様な性質を用いて付加情報Inf(利用情報Inf2)が埋め込まれていることの信頼度を判断する。
【0337】
本実施の形態では、利用情報Infが埋め込まれていることの信頼度を、信頼性指標Dとして扱う。
【0338】
この信頼性指標Dは、利用情報抽出手段2003で生成する全ての信頼度距離d1における、式(25.1)の範囲の外に存在する信頼度距離d1の個数の割合で定義される。
【0339】
統計検定手段2006は、この信頼性指標Dが閾値αより大きければ、信頼度距離d1の総合的な出現頻度分布は図25の2502や2503の様な位置に人為的に偏らされているもの、即ち利用情報Inf2が確実に埋め込まれている画像であると判断する。
【0340】
従って、ここでの判定に使用された信頼度距離d1自体が、信頼性の有る情報であると考え、この信頼度距離d1を更に後段の比較手段2007へ転送することを許可する。
【0341】
なお、信頼性指標Dは、図32の信頼性表示ステップ3510に示される様に、利用情報Inf2の信頼性指標D、或いは指標Dに基づくメッセージをモニタ等に表示しても良い。
【0342】
例えば、信頼性指標Dが閾値αより大きくない場合は、「利用情報Inf2は正確に抽出できていません」との趣旨のメッセージを表示させ、図32の統計検定ステップ3507から画像を再度入力するステップ3502に戻る。
【0343】
[3−7 比較処理]
図20の比較手段2007は、利用情報抽出手段2003と統計検定手段2006とを経て出力された信頼度距離d1の値を入力する。ここに入力される信頼度距離d1は信頼性の高い情報であるので、ここでは信頼度距離d1に対応する各ビット情報が“1”と“0”の何れであるかを単純に判定するだけで良い。
【0344】
具体的には、利用情報Inf2を構成するあるビット情報の信頼度距離d1が正であれば、このビット情報が“1”であると判定し、信頼度距離d1が負の場合はこのビット情報が“0”であると判定する。
【0345】
上記判定により得られた利用情報Inf2は、ユーザーの参照情報、或いは制御信号にする為の最終的なデータとして出力される。
【0346】
以上で、付加情報の埋め込みから抽出までの一連の処理の説明を終わる。
【0347】
(変形例)
以上の実施の形態において、付加情報Inf(利用情報Inf2)には誤り訂正符号化されたものを用いることも可能であり、そうする事によって、更に抽出された利用情報Inf2の信頼性が向上する。
【0348】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムの1部として適用しても、1つの機器(たとえば複写機、ファクシミリ装置)からなるものの1部に適用してもよい。
【0349】
また、本発明は上記実施の形態を実現する為の装置及び方法のみに限定されるものではなく、上記システム又は装置内のコンピュータ(CPUあるいはMPU)に、上記実施の形態を実現する為のソフトウエアのプログラムコードを供給し、このプログラムコードに従って上記システムあるいは装置のコンピュータが上記各種デバイスを動作させることにより上記実施の形態を実現する場合も本発明の範疇に含まれる。
【0350】
またこの場合、前記ソフトウエアのプログラムコード自体が上記実施の形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給する為の手段、具体的には上記プログラムコードを格納した記憶媒体は本発明の範疇に含まれる。
【0351】
この様なプログラムコードを格納する記憶媒体としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0352】
また、上記コンピュータが、供給されたプログラムコードのみに従って各種デバイスを制御することにより、上記実施の形態の機能が実現される場合だけではなく、上記プログラムコードがコンピュータ上で稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して上記実施の形態が実現される場合にもかかるプログラムコードは本発明の範疇に含まれる。
【0353】
更に、この供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上記実施の形態が実現される場合も本発明の範疇に含まれる。
【0354】
なお、上記実施の形態ではコーンマスクを用いて電子透かし情報を埋め込む場合について説明したが、本発明はこれに限らない。特にブルーノイズマスクを用いて電子透かし情報を埋め込む場合も本発明の範疇に含まれる。
【0355】
また、上述した種々の特徴点の少なくとも1つを含む構成であれば本発明の範疇に含まれる。
【0356】
【発明の効果】
以上説明した様に、本発明によれば、電子透かし情報が埋め込まれているはずの画像データから、電子透かし情報を抽出する為のものとは異なるパターン配列で演算処理することにより、埋め込まれていない画像データの状態を類推できる。そして、この状態を参照して電子透かし情報を導く為に抽出された情報の信頼性を検定するので、結果的に電子透かし情報を正確に抽出できる。
【図面の簡単な説明】
【図1】電子透かし埋め込み装置の全体構成ブロック図
【図2】電子透かし抽出装置の全体構成ブロック図
【図3】印刷系処理において抽出側で生成された画像データの一例を示す図
【図4】レジストレーション信号埋め込み手段のブロック図
【図5】レジストレーション信号を説明する図
【図6】信頼度距離演算手段を示す図
【図7】スケール合わせ手段のブロック図
【図8】レジストレーション信号の抽出を説明する図
【図9】付加情報の埋め込み時及び抽出時に用いるパターン配列を示す図
【図10】付加情報埋め込み手段のブロック図
【図11】埋め込み位置決定手段のブロック図
【図12】コーンマスク及びブルーノイズマスクの係数値の出現頻度分布を示す図
【図13】人間の視覚の空間周波数特性を示す図
【図14】ブルーノイズマスク、コーンマスクの空間周波数特性を示す図
【図15】位置参照マスクを説明する図
【図16】位置参照マスク内の埋め込み位置を示す概念図
【図17】図16のマスクに各パターン配列を展開する様子を示す図
【図18】全画像において付加情報Infの埋め込みに必要な領域を示す図
【図19】付加情報Infを埋め込む演算を説明する図
【図20】付加情報抽出手段を説明する図
【図21】付加情報Infを抽出する様子を説明する図
【図22】付加情報Infが存在しないにも拘わらず、抽出しようとした様子を示す図
【図23】原画像から信頼度距離dを抽出した場合の理想的な出現頻度分布を示す図
【図24】電子透かしが埋め込まれた画像から信頼度距離dを抽出した場合を示す図
【図25】本実施の形態における信頼度距離d1,d2の出現頻度分布の例を説明する図
【図26】レジストレーション信号の埋め込みと抽出の原理を説明する図
【図27】オフセット合わせ処理を行う様子を示した図
【図28】オフセット合わせ処理を説明するフローチャート
【図29】空間領域におけるレジストレーション信号埋め込み手段のブロック図
【図30】パッチーワーク法における二つの集合を説明する図
【図31】電子透かし埋め込み処理の全体を説明するフローチャート
【図32】電子透かし抽出処理の全体を説明するフローチャート
【図33】図9のパターンに直交するパターン配列の例を示す図
【図34】“直交する”パターン配列を説明する図
【図35】第1、第2の位置参照マスクを示した図
【図36】付加情報Infの構成を示す図
【図37】ブルーノイズマスク内の各係数の一例を示す図
【図38】コーンマスクの画素値の各係数の一例を示す図
【符号の説明】
0101 色成分抽出手段
0102 レジストレーション信号埋め込み手段
0103 埋め込み位置決定手段
0104 付加情報埋め込み手段
0105 色成分合成手段[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and method for accurately extracting this information from image data in which electronic watermark information is embedded, and a storage medium storing this method.
[0002]
[Prior art]
In recent years, various kinds of information such as character data, image data, and voice data have been digitized due to the rapid development and spread of computers and their networks. Digital information is not deteriorated due to aging, etc., and can be stored in perfect condition forever, but can be easily copied, and copyright protection is a big problem.
[0003]
Therefore, security technology for copyright protection is rapidly gaining importance.
[0004]
One technique for protecting copyright is "digital watermarking". Digital watermarking is a technology that tracks the unauthorized use of illegal copies by embedding the name of the copyright holder and the purchaser's ID in a form that cannot be perceived by humans in digital image data, audio data, or text data. is there.
[0005]
In addition to copyright protection, digital watermarks are pre-embedded in digital data, and the consistency of information according to the rules embedded in the digital data is taken into account. It has also been applied to.
[0006]
Digital watermarking generally uses a method of embedding information by processing parts that are difficult for humans to perceive even if changes are made in digital data, so digital data with embedded digital watermarks is used. The “quality compared to the original”, “strength of digital watermark resistance”, and “amount of information that can be embedded” are in a trade-off relationship.
[0007]
The robustness of the digital watermark means that the embedded information can be extracted even after various processing edits are applied to the digital data in which the digital watermark is embedded.
[0008]
Conventionally, a digital watermark information embedding method called a patchwork method is known. This deliberately increases the value of one part of the image, while deliberately reducing another part can embed some additional information while substantially preserving the value of the entire image. It can be done.
[0009]
[Problems to be solved by the invention]
Conventionally, when extracting this information from image data in which digital watermark information is embedded by a patchwork method or the like, it is necessary to know the state of the original image data at the time of embedding from the image data in which the digital watermark information is already embedded. There is. Conventionally, however, few have assumed such a situation, and a technique for accurately extracting digital watermark information by analogizing the situation of the original image data has not yet been established.
[0010]
The present invention has been made in view of the above-mentioned problems. By analogizing the state of the image data in which the information is not embedded, from the image data in which the digital watermark information has already been embedded, the electronic watermark information is obtained. The aim is to be able to extract as accurately as possible.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, according to the image processing apparatus of the present invention, there is provided an apparatus for extracting digital watermark information from image data in which digital watermark information is difficult to be seen by humans. In contrast, using the first pattern array Convolution By applying the digital watermark information First extraction means for extracting a plurality of pieces of first information corresponding to each bit of Using the second pattern array for the image data Convolution By applying Based on second extraction means for extracting a plurality of second information corresponding to each bit of the digital watermark information, a distribution composed of the plurality of second information, and the plurality of first information, Test means for testing the reliability of the first information extracted by the first extraction means, The first pattern array and the second pattern array are: Are matrices of the same size, Have a relationship in which the result of each other's convolution operation becomes 0 It is characterized by.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
[1 Digital watermark embedding device]
Hereinafter, an outline of the digital watermark embedding apparatus according to the present embodiment will be described with reference to the drawings.
[0013]
FIG. 1 shows a digital watermark embedding apparatus according to this embodiment. As shown in FIG. 1, the digital watermark embedding apparatus includes a color
[0014]
Image data I is input to the digital watermark embedding apparatus. This is multi-valued image data in which a predetermined number of bits are assigned per pixel. In the present embodiment, the input image data I can be grayscale image data or color image data. It is assumed that grayscale image data is composed of one type of element per pixel, and color image data is composed of three types of element per pixel. In the present embodiment, these three types of elements are a red component, a blue component, and a green component. However, the present invention can also be applied to other combinations of color components.
[0015]
The image data I input to the digital watermark embedding apparatus is first input to the color
[0016]
When the input image data I is color image data, the color
[0017]
On the other hand, the other color components are output to the subsequent color
[0018]
In this embodiment, digital watermark information is embedded in the blue component. This is because the blue component is the least sensitive to human vision among the red component, blue component, and green component. Therefore, embedding digital watermark information in the blue component has an effect of making it difficult for human eyes to perceive image quality degradation due to digital watermark information, compared to embedding digital watermark information in other color components.
[0019]
If the input image data I is grayscale image data, the color
[0020]
On the other hand, the other color components are output to the subsequent color
[0021]
In the following description, the case where the image data I is color image data and the case where the image data I is grayscale image data will be described so as not to be distinguished as much as possible. That is, the description will be made without distinguishing between color image data and pseudo color image data.
[0022]
Next, the registration
[0023]
The registration
[0024]
Registration
[0025]
The next embedding
[0026]
The embedding
[0027]
The additional
[0028]
From the additional
[0029]
The color
[0030]
Through the above processing, the image data wI in which the registration signal and the additional information Inf are embedded by the digital watermark technique is output.
[0031]
In the present embodiment, it is assumed that an attack that causes various geometric distortions is added to the image data wI. For example, it is an intentional image editing by the user, or an operation of scanning the printed matter with a scanner or the like after printing the image data wI. The image data subjected to the attack is wI ′ in FIG.
[0032]
The overall flow of each means described above will be described with reference to the flowchart shown in FIG.
[0033]
First, in
[0034]
Next, a registration signal is generated in
[0035]
Further, a mask is created in
[0036]
In
[0037]
After the additional information Inf is embedded in the image data, in
[0038]
As described above, this image data wI may be subjected to an attack that causes various geometric distortions before the digital watermark extraction start process of FIG. 32 described later is executed.
[0039]
[2 Digital watermark extraction device]
Next, an outline of the digital watermark extraction apparatus in this embodiment will be described.
[0040]
FIG. 2 shows a digital watermark extraction apparatus according to this embodiment. As shown in FIG. 2, the digital watermark extraction apparatus includes a color
[0041]
Image data wI ′ is input to the digital watermark extracting apparatus. The image data wI ′ is image data having a possibility of being subjected to an attack that causes various geometric distortions to the image data wI. Attacks include various types such as lossy compression such as JPEG compression, scaling, rotation, printing & scanning, and combinations thereof.
[0042]
Therefore, it is ideal that the contents of the image data wI ′ and wI are the same, but in reality, the contents of the two image data are often significantly different.
[0043]
The color
[0044]
The
[0045]
As described above, the image data wI ′ may have a different scale from the image data wI, whereas the image data wI 2 'Is always the same scale as the image data wI. The reason and the image data wI 2 Details of the process for setting 'to the same scale as the image data wI will be described later.
[0047]
The registration means 0202 stores the image data wI 2 'Is output to the additional
[0048]
The additional
[0049]
The overall flow of each means described above will be described with reference to the flowchart of FIG. First, at step 3502, image data wI ′ is input. The image data wI ′ is obtained by reading out image data expected to be the image data wI from a network or a memory, or scanning a printed matter based on the image data wI with a scanner or the like. In the latter case, it is very likely that the image data wI ′ is significantly different from the image data wI.
[0050]
Also, only the blue component of this image data wI ′ is extracted and used in the next step.
[0051]
Next, in
[0052]
Further, in
[0053]
Next, the extraction process using the first pattern array is performed in
[0054]
In
[0056]
[3 Detailed explanation of each part]
Next, each part will be described in detail.
[0057]
First, a registration process executed by the
[0058]
The registration process is a pre-process that enables digital watermark information to be extracted from the image data wI ′ input to the digital watermark extraction apparatus when digital watermark information is extracted. In the following, it is first considered how the image data that has undergone printing processing undergoes changes. Then, a registration process for such a change is considered, and a registration process for a printing system is considered.
[0059]
The image data wI output from the digital watermark embedding device is not always input to the digital watermark extraction device as it is.
[0060]
For example, consider the case where the image data wI is printed by a YMCK inkjet printer and the printed material is scanned by a scanner.
[0061]
At this time, when the output resolution by the printer and the input resolution by the scanner are different, the original color image data wI and the scale of the image data obtained by scanning are different. Therefore, there is little possibility that the digital watermark information can be accurately extracted as it is from the obtained image data wI ′. Therefore, it is necessary to provide means capable of correcting the difference in scale.
[0062]
In the present embodiment, since both the input resolution and the output resolution are known, the scale ratio can be calculated from these ratios. For example, when the output resolution is 600 dpi and the input resolution is 300 dpi, the ratio of the scale of the image before printing and the image after scanning is twice. Therefore, the image data wI ′ is scaled using an appropriate scaling algorithm in accordance with the calculated scale ratio. As a result, the image sizes represented by the image data wI and the image data wI ′ can be set to the same scale.
[0063]
However, the output and input resolutions are not always known in all cases. If both resolutions are not known, the above method cannot be used. In this case, in addition to means for correcting the difference in scale, means for further knowing the ratio of scales is necessary.
[0064]
An image obtained by performing printing processing on the image data wI becomes an image as shown in FIG. 3 after being input by scanning of the scanner. In FIG. 3, the entire 0301 is an image represented by the image data wI ′. This
[0065]
The above points are considered to be necessarily generated in the image representing the image data wI ′ obtained through the printing system. If the image data wI is subjected to printing processing, these Need to be resolved.
[0066]
As described above, the case where image data is obtained after at least one printing process before extracting a digital watermark has been described. However, such a situation can also occur by artificial editing.
[0068]
Hereinafter, the registration signal embedding unit and the registration unit provided for solving the above-described problem will be described assuming that the ratio of input / output resolution is unknown.
[0069]
[3-1 Registration signal embedding process]
First, details of the registration signal embedding unit 0102 (step 3404) will be described.
[0070]
The registration
[0071]
FIG. 4 shows an internal configuration of the registration
[0072]
The
[0073]
The blocks divided by the block dividing means 0401 are divided into two sets I 1 And I 2 Of these, I 1 Is input to the subsequent Fourier transform means 0402, and I 2 Is input to the subsequent
[0074]
This can be realized by using at least one block in this embodiment, and the processing time can be shortened when the number of blocks is small. However, the present invention is not limited to this. 1 The case where two or more blocks are selected is included in the category.
[0075]
Also, information regarding what size the block is divided into and which block is selected as a registration signal embedding target needs to be shared by the digital watermark embedding device and the digital watermark extraction device.
[0076]
Part of the image data obtained by the division by the block dividing means 0401 I 1 Is input to the
[0077]
Next, the
[0078]
Fast Fourier transform means (n / 2) log while Fourier transform requires nxn operations. 2 This is a conversion algorithm that can be executed with the calculation amount of (n). Here, n is a positive integer. The fast Fourier transform and the Fourier transform differ only in the speed for obtaining the calculation result, and the same result can be obtained from both. Therefore, in the present embodiment, the fast Fourier transform and the Fourier transform are not distinguished and will not be described.
[0079]
Note that the frequency domain image data obtained by Fourier transform is expressed by an amplitude spectrum and a phase spectrum. Of these, only the amplitude spectrum is input to the adding
[0080]
Next, the adding means 0403 will be described. A signal r called a registration signal is separately input to the adding means 0403 together with the amplitude spectrum. An example of the registration signal is an impulse signal as shown in FIG.
[0081]
FIG. 5 shows the amplitude spectrum of the two-dimensional spatial frequency component obtained by the Fourier transform. The center is a low frequency component, and the periphery is a high frequency component.
[0082]
In the present embodiment, description will be made assuming that a series of processing is performed on a natural image. However, the present invention is not limited to this, and a document image, a CG image, and the like may be processed in the same manner. However, this embodiment is particularly effective when processing a natural image having a relatively large intermediate density.
[0083]
FIG. 5 shows an example of the present embodiment in which impulse signals 0502, 0503, 0504, and 0505 are added to the horizontal and vertical Nyquist frequency components of the frequency domain signal with respect to the
[0084]
Although the impulse signal is added to the Nyquist frequency component of the input signal in FIG. 5, the present invention is not limited to this. That is, any registration signal may be used even if an image in which digital watermark information is embedded is attacked. As described above, lossy compression methods such as JPEG compression have a low-pass filter effect. Therefore, even if an impulse signal is embedded in a high-frequency component that is an object of information compression here, it may be removed by compression / expansion processing.
[0085]
On the other hand, the embedding of an impulse in a low frequency component has a drawback that it is easily perceived as noise from human visual characteristics as compared with embedding in a high frequency component. Therefore, in the present embodiment, an impulse signal is embedded at an intermediate level frequency that is equal to or higher than the first frequency that is difficult to be recognized by human vision and is not easily removed by irreversible compression / decompression processing. Shall. This registration signal is added to each block (one block in this embodiment) input to the adding
[0086]
The adding
[0087]
The inverse
[0088]
The spatial region image data output from the inverse
[0089]
The
[0090]
The details of the registration
[0091]
In FIG. 4, the method of embedding the registration signal in the Fourier transform region has been described. On the other hand, a method of embedding a registration signal in the spatial domain is also conceivable. This method will be described with reference to FIG.
[0092]
FIG. 29 includes a
[0093]
The
[0094]
The above-described means configuration of FIG. 29 performs the same processing as the means configuration of FIG. 4 in the spatial domain. Compared with the means configuration of FIG. 4, no Fourier transform means is required, so that high-speed processing can be performed.
[0095]
Further, in FIG. 29, the signal r ′ is an independent signal with respect to the input image data I. Therefore, the calculation of the signal r ′, that is, the processing of the inverse
[0096]
≪ Patchwork method ≫
In this embodiment, a principle called a patchwork method is used for embedding the additional information Inf. First, the principle of the patchwork method will be described.
[0097]
In the patchwork method, embedding of additional information Inf is realized by causing a statistical bias in the image.
[0098]
This will be described with reference to FIG. In FIG. 30, 3301 and 3302 are a subset of pixels, respectively, and 3303 is an entire image. Two subsets A 3301 and
[0099]
If the two subset selection methods do not overlap with each other, the additional information Inf can be embedded by the patchwork method in the present embodiment. However, the size and selection method of the two subsets is large enough to withstand the additional information Inf embedded by this patchwork method, that is, the strength to prevent the additional information Inf from being lost when the image data wI is attacked. affect. This will be described later.
[0100]
Now, the value of the element of the selected subset A is set to {a n }, The value of the element of subset B is {b n }. {a n }, {B n } Is specifically the value of each pixel included in each subset (corresponding to the value of the blue component in the color image data in this embodiment).
[0101]
Here, the following index d is defined.
d = 1 / N Σ (a i −b i )
This shows the expected value of the difference between the pixel values of the two sets.
[0102]
For a general natural image, select appropriate subset A and subset B, and define index d,
d ≒ 0
There is a property to become. Hereinafter, d is referred to as a reliability distance.
[0103]
On the other hand, as an embedding operation of each bit constituting the additional information Inf,
a ' i = a i + C
b ' i = b i −c
Do the operation. This is an operation of adding the value c to all the elements of the subset A and subtracting c from all the elements of the subset B.
[0104]
Here, as in the previous case, the subset A and the subset B are selected from the image in which the additional information Inf is embedded, and the index d is calculated.
[0105]
Then
It will not become 0.
[0106]
That is, when a certain image is given, by calculating the reliability distance d for the image, if d≈0, the additional information Inf is not embedded, while d is more than a certain amount away from 0. If it is a value, it can be determined that the additional information Inf is embedded.
[0107]
The above is the basic idea of the patchwork method.
[0108]
By applying the principle of the patchwork method, information of a plurality of bits is embedded in this embodiment. In this method, the selection method of the subset A and the subset B is also defined by the pattern arrangement.
[0109]
In the above-described method, the additional information Inf is embedded by adding or subtracting the elements of the pattern array to the predetermined elements of the original image.
[0110]
An example of a simple pattern arrangement is shown in FIG. FIG. 9 is a pattern array showing the amount of change in pixel value from the original image when referring to 8 × 8 pixels to embed 1 bit. As shown in FIG. 9, the pattern array includes an array element having a positive value, an array element having a negative value, and an array element having a value of 0.
[0111]
In the pattern of FIG. 9, the position indicated by the + c array element indicates a position where the pixel value at the corresponding position is increased by c, and corresponds to the subset A described above. On the other hand, the position indicated by the array element -c indicates a position where the pixel value at the corresponding position is decreased by c, and is a position corresponding to the subset B described above. A position indicated by 0 indicates a position other than the above-described subsets A and B.
[0112]
In the present embodiment, the number of array elements having a positive value is made equal to the number of array elements having a negative value in order not to change the overall density of the image. That is, the sum of all array elements in one pattern array is zero. Note that this condition is indispensable for the additional information Inf extraction operation described later.
[0113]
An embedding operation of each bit information constituting the additional information Inf is performed using the pattern arrangement as described above.
[0114]
In this embodiment, a plurality of bit information, that is, additional information Inf is embedded by arranging the pattern of FIG. 9 a plurality of times in different regions in the original image data and increasing / decreasing the pixel value. In other words, by assuming not only a combination of subsets A and B but also a plurality of combinations of subsets A ′ and B ′, subsets A ″ and B ″,... In different regions of one image, The additional information Inf consisting of a plurality of bits is embedded.
[0115]
In the present embodiment, when the original image data is large, the additional information Inf is repeatedly embedded. This is because the patchwork method uses statistical properties, so that a sufficient number is necessary for the statistical properties to appear.
[0116]
Further, in this embodiment, when embedding a plurality of bits, in order to prevent regions where pixel values are changed using a pattern arrangement from overlapping, a relative position in which the pattern arrangement is used is determined in advance by mutual bits. That is, the relationship between the position of the pattern array for embedding the first bit information constituting the additional information Inf and the position of the pattern array for embedding the second bit information is appropriately determined.
[0117]
For example, if the additional information Inf is composed of 16 bits, the positional relationship of the 8 × 8 pixel pattern arrangement of each of the 1st to 16th bits has less image quality degradation on an area larger than 32 × 32 pixels. It is given relatively.
[0118]
Further, the additional information Inf (respective bit information constituting the additional information) is repeatedly embedded as many times as possible when the image data is large. This is for the purpose of correctly extracting each bit of the additional information Inf. In particular, in the present embodiment, the above repetition is important because statistical measurement is performed using the fact that the same additional information Inf is repeatedly embedded.
[0119]
The selection of the embedding position as described above is executed by the embedding position determining means 0103 in FIG. Next, the operation of this embedding position determining means will be described.
[0120]
[3-2 Embedding position determination process]
FIG. 11 shows the internal configuration of the embedding
[0121]
The mask creating means 1101 in FIG. 11 creates a mask for defining the embedding position of each bit information constituting the additional information Inf. The mask is a matrix having position information that defines a relative arrangement method of a pattern arrangement (see FIG. 9) corresponding to each bit information.
[0122]
An example of a mask is shown at 1701 in FIG. Coefficient values are assigned to the inside of the mask, and each coefficient value has the same appearance frequency in the mask. If this mask is used, it is possible to embed additional information Inf consisting of a maximum of 16 bits.
[0123]
Next, the
[0124]
Further, the mask / pattern
[0125]
The additional
[0126]
In the present embodiment, the mask is created every time image data (blue component) is input to the
[0127]
In the above method, when the additional information Inf is extracted from the image, the mask configuration (coefficient value array) plays a key role. That is, there is an effect that only the key owner can extract information.
[0128]
The present invention also includes a case in which a mask created in advance is stored in the internal storage unit of the
[0129]
Next, details of each process executed in the embedding
[0130]
[3-2-1 Mask creation means]
First, the
[0131]
When embedding the additional information Inf using the patchwork method, if the information is embedded by adding a large operation to the pixel value to increase the attack resistance (for example, if the value of C in the pattern array is set large) In the image represented by the image data, image quality degradation is relatively inconspicuous at the so-called edge portion where the pixel value changes suddenly, but the portion where the pixel value is manipulated is noticeable as noise at the flat portion where the pixel value changes little. .
[0132]
FIG. 13 shows the spatial frequency characteristics perceived by the human eye. The horizontal axis represents the spatial frequency (Radial Frequency), and the vertical axis represents the visual response value. It can be seen from FIG. 13 that when the pixel value is manipulated to embed information, the image quality degradation is conspicuous in the low frequency region where human eyes can perceive sensitively.
[0133]
For this reason, in the present embodiment, a pattern corresponding to each bit is arranged in consideration of the characteristics of a blue noise mask and a cone mask that are normally used for binarization processing of a multi-valued image.
[0134]
Next, the characteristics of the blue noise mask and the cone mask will be briefly described.
[0135]
First, the characteristics of the blue noise mask will be described.
[0136]
The blue noise mask has a characteristic of forming a blue noise pattern regardless of the threshold value. This blue noise pattern is a pattern showing frequency characteristics in which the spatial frequency is biased toward a high frequency region.
[0137]
FIG. 37 shows a part of a certain blue noise mask.
[0138]
Further,
[0139]
The
[0140]
Comparing with FIG. 13, it can be seen that the blue noise mask is not easily perceived by human eyes because the high frequency components are biased. Therefore, in an inkjet printer or the like, when expressing gradation of a multi-valued image with area gradation using dots, a blue noise mask is used to bias the spatial frequency component to a high frequency and make it noticeable to the human eye. It is known that area gradation can be expressed without any problem.
[0141]
Next, an example of a blue noise mask generation process is shown below.
1. Generate white noise
2. Binary image P with gradation g gl Perform low-pass filtering on the initial value (white noise mask) and multi-valued image P ' gl Generate a
3. Tone g (initial value: 127) image and low-pass filtered image P ' gl (Multi-value) is compared and the binary image P g Invert the black and white pixels of the binary image P gl + 1 Get.
4. Repeat a few operations until error is minimized, binary image P gl Binary image P with gradation g (initial value: 127) little by little (initial value is white noise mask) g Change to (blue noise mask).
5. A binary black (white) point of gradation g + 1 (g-1) is given to a random position on the Pg image, and a few operations are repeated. g + 1 (P g-1 )
[0142]
By repeating the above operation, blue noise masks for all gradations are created and a dither matrix is generated.
[0143]
For example, a 32 × 32 blue noise mask increases (decreases) four points for each gradation.
[0144]
However, since the black (white) bit determined in the previous gradation g cannot be reversed in order to have 256 gradations at this time, the restriction condition becomes strict at low or high gradations, and only a random pattern with poor uniformity is obtained. There is a disadvantage that it is not possible.
[0145]
FIG. 12 shows an appearance frequency distribution (histogram) 1201 of each coefficient constituting the blue noise mask. In FIG. 12, the same number of all values (coefficients) from 0 to 255 exist in the mask.
[0146]
A technique in which the blue noise mask is used for binarization of a multi-valued image is well known. For example, “J.Opt.Soc.Am A / Vol.9, No.11 / November 1992 Digital halftoning technique using a blue-noise mask Tehophano Mitsa, Kevin J. Parker "and the like.
[0147]
Next, the characteristics of the cone mask will be described.
[0148]
In the cone mask, when each coefficient included in the mask is binarized, as shown by 1402 in FIG. 14 on the spatial frequency domain representing the binary information obtained here, a periodic or pseudo period is obtained. One characteristic is that a typical peak occurs. However, it is designed so that no peak appears in the low frequency region.
[0149]
FIG. 38 shows a part of a coefficient array of a certain cone mask.
[0150]
Even when the cone mask is binarized at any threshold value, an appropriate distance is maintained between the dots, so that no peak appears in the low frequency region.
[0151]
1402 in FIG. 14 is a schematic diagram of the spatial frequency characteristics when binarized with a cone mask threshold value of 10. Similar to the spatial frequency characteristics of the
[0152]
In the case of a cone mask, even if the threshold is low or high, the peak occurs from a frequency higher than the low frequency of the blue noise mask, so it is denser at the embedding position than the blue noise mask. There are fewer parts. For this reason, the embedded noise generated when the additional information Inf is embedded has an advantage that it is less noticeable than the blue noise.
[0153]
Also, the frequency of use of the coefficients constituting the cone mask is the appearance frequency distribution (histogram) indicated by 1201 in FIG. 12, as in the case of the blue noise mask.
[0154]
Therefore, if a pattern corresponding to each bit information constituting the additional information Inf is embedded in the image data in association with the coefficient of the mask, a pattern corresponding to each bit information is included in the image data. As a result, the additional information Inf can be embedded in a balanced manner.
[0155]
In the present embodiment, a cone mask is used as the embedded reference mask because of the above advantages.
[0156]
[3-2-2 Mask reference means]
The mask (cone mask) created by the mask creation means 1101 is input to the mask reference means 1102.
[0157]
The mask reference means 1102 determines the embedding position by associating the embedding position of the N-bit information embedded in the image with the mask number (pixel value).
[0158]
An embedding position determination method performed by the
[0159]
In the present embodiment, the above-described cone mask is used. However, in order to make the description easy to understand, a description will be given using a 4 × 4 mask indicated by 1501 in FIG.
[0160]
The mask in FIG. 15 has 4 × 4 coefficients, and is a mask in which coefficient values from 0 to 15 are arranged one by one. Using this 4 × 4 mask, reference is made to the embedding position of the additional information Inf. In the case of the mask used in this description, additional information Inf composed of a maximum of 16 bits can be embedded. Hereinafter, a case where 8-bit additional information Inf is embedded will be described.
[0161]
First, the configuration of the additional information Inf will be described with reference to FIG. As shown in the figure, the additional information Inf is the start bit Inf. 1 And usage information Inf 2 Consists of
[0162]
This start bit Inf 1 Recognizes that the position where the actual additional information Inf is embedded deviates from the ideal position, and corrects the extraction start position of the digital watermark (additional information Inf) accordingly. Used in offset adjustment means included on the side. Details will be described later.
[0163]
In addition, usage information Inf 2 Is original additional information, that is, information that is actually used as additional information of the image data I. This information includes, for example, the ID of the apparatus shown in FIG. 1 or the ID of the user if the purpose is to trace the cause in the case of illegal use of the image data wI. In addition, if the copy of the printed image data wI is prohibited, control information indicating that copying is prohibited is included.
[0164]
In this embodiment, the start bit is 5 bits and a bit string “11111” is used. However, the present invention is not limited to this, and the number of bits other than 5 bits in the additional information Inf can be used as a start bit. Similarly, a bit string other than “11111” can be used. However, the number of start bits and the bit sequence must be shared by the digital watermark embedding device and the digital watermark extraction device.
[0165]
A simple example of embedding additional information Inf of 8 bits in total of 5 bits of start bits and 3 bits of usage information using a cone mask composed of 4 × 4 coefficients as described above will be described.
[0166]
However, the present invention is not limited to this. For example, the present invention can be applied to a case where a total of 69 bits of additional information Inf consisting of a start bit of 5 bits and usage information of 64 bits is embedded using a 32 × 32 cone mask.
[0167]
The additional information Inf has a start bit of 5 bits “11111” and usage information of 3 bits “010”. The first bit information is 1, the second is 1, the third is 1, the fourth is 1, the fifth is 1, the sixth is 0, the seventh is 1, and the eighth is 0.
[0168]
Each of the patterns corresponding to these bits (see FIG. 9) is assigned to a position corresponding to one of the cone mask coefficients, and each pixel value of the original image data is changed by ± c according to this positional relationship. As a result, one piece of additional information Inf is embedded in the original image data having a size corresponding to one cone mask.
[0169]
In the present embodiment, a certain threshold value is determined based on the minimum number of bits required to embed additional information Inf, and the position corresponding to the position in the cone mask where a coefficient equal to or smaller than this threshold value is arranged. Embed each bit information. Thereby, one additional information Inf is embedded in one cone mask regardless of the number of bits of the additional information Inf.
[0170]
The present invention is not limited to the above method, and the corresponding bit information may be embedded at a position where a coefficient greater than a certain threshold is arranged, and the threshold may be determined based on this.
[0171]
Next, in the present embodiment, the ratio of the number of coefficients equal to or less than the threshold used for embedding in the total number of coefficients in the mask is referred to as an embedding filling rate.
[0172]
In order to correctly embed 8-bit additional information Inf an integer number of times, the threshold value for determining which coefficient is used for the embedding reference position in the
[0173]
Here, if the mask threshold is 8, the filling rate is 50%. That is, 50% of the original image data checked against the mask is subjected to processing using the pattern arrangement of FIG.
[0174]
An example of the correspondence between each bit information and the coefficient in the mask is shown in the correspondence table 1.
[0175]
[Table 1]
Here, S1 to S5 are bit information (start bits) for alignment used in the offset alignment processing apparatus. 1-3 are 3-bit usage information.
[0176]
According to the correspondence in the correspondence table 1, each bit information is embedded using a pattern (see FIG. 9) at the pixel position of the input image data corresponding to the position of the coefficient (0 to 7) represented by 1601 in FIG. . The correspondence relationship between the order of the bit information to be embedded and the coefficient values in the mask is a part of the key information, and the bit information cannot be extracted without knowing this correspondence relationship. In this embodiment, in order to simplify the description, as shown in the correspondence table 1, S1 to S5 and 3 bits of usage information are sequentially associated with coefficient values from 0 to a threshold value.
[0177]
Next, the filling rate when actually embedding using a 32 × 32 cone mask will be described. Note that the processing procedure is the same as when the
[0178]
First, in consideration of image quality degradation at the time of embedding, a threshold value necessary for correctly embedding additional information Inf an integer number of times is determined.
[0179]
Further, in order to embed each bit constituting the additional information Inf with an equal number of repetitions, the number of coefficients equal to or less than the threshold is divided by the number N of bits constituting the additional information Inf, and each bit is determined by one mask size. Decide whether you can embed times.
[0180]
For example, when embedding 69-bit additional information Inf consisting of the above-described 5 bits of the start bit and 64 bits of usage information in the original image data corresponding to coefficient values from 0 to 255, for example, a threshold value is set. Set to 137.
[0181]
In this case, the number of effective coefficient values in the mask is 138. Since the number of bits necessary to represent one additional information Inf is 69, each bit information can be embedded 138/69 = 2 times in one mask size.
[0182]
The reason for embedding all points having a coefficient value equal to or less than a certain threshold when determining the embedding position using a cone mask is that the peak of the low frequency component of the spatial frequency does not appear. It is to make the best use of it.
[0183]
As a result of determining the embedding position as described above, when the embedding filling rate is 50% and the embedding information amount is 69 bits, the relationship between each bit information constituting the additional information Inf and each coefficient value constituting the cone mask is It becomes like correspondence table 2.
[0184]
[Table 2]
Here, S1 to S5 are start bits, which are bit information for alignment used in the offset alignment processing apparatus. 1 to 64 are usage information.
[0185]
However, the present invention is not limited to this correspondence, and if each bit information is sequentially embedded in all the coefficient positions from 0 to the threshold (or the threshold to 255) using the pattern of FIG. The correspondence relationship with each coefficient value may be different.
[0186]
In the case of a 32 × 32 cone mask, there are four positions each having the same coefficient in one mask.
[0187]
When embedding each bit information in the original image data based on the above correspondence table 2 for all the coefficients, each bit information constituting the additional information Inf is a large cone mask of 32 × 32, 64 × 64, etc. Are embedded approximately equal times. Also, the same bit information is diffused and embedded in the original image data.
[0188]
In the patchwork method, the embedding position has been selected randomly so that the patterns corresponding to each bit information (see FIG. 9) do not overlap each other, but in this embodiment, by referring to the cone mask, Similar effects can be obtained, and image quality degradation is less.
[0189]
As a result, the
[0190]
When the information is expressed by the array S [bit] [num] = (x, y), in the case of the correspondence table 1, bit indicates start bits S1 to S5 and
[0191]
The above operation is performed by the mask reference means 1102.
[0192]
[3-2-3 Mask / pattern array correspondence means]
The embedding position of each bit information obtained by the
[0193]
Since the embedding position determined by the mask reference means 1102 is the position of each bit information pattern (for 8 × 8 pixels), the patchwork method further adds an addition area (+ c) and a subtraction area (−c) shown in FIG. ) And other than (0) must be assigned. For this reason, the mask / pattern
[0194]
Specifically, for the coordinates of the array S [bit] [num] = (x, y) obtained by the mask reference means 1102, the x coordinate is multiplied by the horizontal size of the pattern array, and the y coordinate is The operation of multiplying the vertical size of the pattern array is performed. As a result, the
[0195]
If the pattern arrangement shown in FIG. 9 is used from the top coordinates, it is possible to perform embedding without overlapping the
[0196]
The coordinate (x, y) changes to the coordinate (x ′, y ′), but the bit and num of the array S [bit] [num] do not change.
[0197]
Therefore, the additional information Inf corresponding to the bit of the array S [bit] [num] is set to (x ′, y ′) as the head position for embedding the pattern array, and a plurality of bit information can be embedded.
[0198]
A large mask in which each coefficient of the cone mask is expanded (enlarged) into an 8 × 8 pattern array by the mask / pattern
[0199]
The size of the expansion mask is (32 × 8) × (32 × 8) size, and this size is a minimum image unit (macroblock) necessary for embedding at least one additional information Inf.
[0200]
The above is the operation performed by the mask / pattern
[0201]
In general, a small mask has a lower degree of freedom in dot arrangement position than a large mask, and it is difficult to create a mask having desired characteristics such as a cone mask. For example, when the additional information Inf is embedded by repeatedly assigning a small mask to the entire image data, the spatial frequency of the small mask appears in the entire image data.
[0202]
On the other hand, since complete additional information Inf is extracted from one mask, clipping resistance (possibility of extracting additional information Inf from partial image data wI ') by setting the mask size large Will get smaller. Therefore, it is necessary to determine the mask size in consideration of the balance between the clipping resistance and the image quality degradation.
[0203]
The above is the processing performed by the embedding
[0204]
[3-3 Additional information embedding process]
With reference to the embedding position of each bit information in the image data determined as described above, the additional
[0205]
FIG. 10 shows a flow of processing for repeatedly embedding the additional information Inf.
[0206]
In the method shown in FIG. 10, a plurality of assignable macroblocks are assigned to the entire image, and bit information of the first bit is first repeatedly embedded in all the macroblocks, followed by the second bit and the third bit. … Repeatedly embed. If there is bit information that has not been subjected to embedding processing yet, this is constituted by a procedure for embedding
[0207]
However, the present invention is not limited to this order, and the internal / external relationship between the two loop processes may be reversed. In other words, if there is an unprocessed macroblock, the procedure may be changed to embed all bit information that has not yet been embedded.
[0208]
Specifically, the additional information Inf is embedded when the bit information to be embedded is “1” and the pattern arrangement of FIG. 9 is added. If the bit to be embedded is “0”, the pattern arrangement of FIG. 9 is reduced, that is, the inverted sign of FIG. 9 is added.
[0209]
The addition / subtraction process is realized by controlling the
[0210]
FIG. 19 shows how one of the bit information is embedded. The figure shows an example in which the bit information to be embedded is “1”, that is, a pattern array is added.
[0211]
In the example shown in FIG. 19, I (x, y) is the original image, and P (x, y) is an 8 × 8 pattern array. Each coefficient constituting the 8 × 8 pattern array is superimposed on the original image data (blue component) having the same size as the pattern array, and values at the same position are added or subtracted. As a result, I ′ (x, y) is calculated and output to the color
[0212]
The addition / subtraction process using the 8 × 8 pattern arrangement described above is repeated for all of the embedding positions determined by the correspondence table 2 (positions to which the pattern arrangement for embedding each bit information is assigned).
[0213]
Next, FIG. 18 shows how the internal loop processing of FIG. 10 is performed.
[0214]
In FIG. 18, in order to repeatedly embed each bit information,
[0215]
The above operation is performed by the additional
[0216]
Through the above processing, the additional information Inf is embedded in the image data. If each pixel of the image data in which the additional information Inf is embedded is expressed by a sufficiently small number of dots, the size of the pattern array is sufficiently small, so that each of these pattern arrays is very small. Only human eyes can perceive it. Therefore, the spatial frequency characteristic of the cone mask is also maintained, and it is difficult for human eyes to see.
[0217]
[3-4 Registration process]
Next, the details of the registration means 0202 in FIG. 2 provided on the digital watermark extraction apparatus side will be described.
[0218]
The
[0219]
The
[0220]
Details of the registration means 0202 are shown in FIG. As shown in FIG. 7, the
[0221]
The
[0222]
However, there is no problem even if the extraction of this block differs to some extent. This is because the registration signal is embedded in the amplitude spectrum of the image data in the digital watermark embedding apparatus. The amplitude spectrum has the property that it is not affected by the position shift in the spatial region of the image data. Therefore, in each of the digital watermark embedding device and the digital watermark extraction device, there is no problem even if the blocks divided by the respective block dividing means are slightly misaligned in the spatial domain.
[0223]
The
[0224]
The image data converted into the frequency domain is input to the impulse extraction unit 0703. The impulse extracting means 0703 extracts only an impulse signal from the image data converted into the frequency domain. That is, 0502, 0503, 0504, and 0505 of FIG. 5 that are already embedded in the image data are extracted.
[0225]
This can be done using known image processing techniques. For example, it can be realized by performing threshold processing on image data converted into the frequency domain. An example of this is shown in FIG. FIG. 8A shows how threshold processing is performed on the
[0226]
FIG. 8B shows a method of this embodiment that solves this problem. A secondary differentiation process is performed on the
[0227]
A slightly more detailed principle regarding the extraction of the impulse signal will be described with reference to FIG. In this figure, the processing on the registration signal embedding side described above is also described.
[0228]
In the registration
[0229]
The image data in the frequency domain to which the impulse signal (registration signal) 2603 is added is returned to the
[0230]
When an impulse signal such as 2603 in FIG. 26 is added, this is equivalent to the addition of image data having a certain frequency component to the spatial domain. If the applied impulse signal is greater than the human perceptible frequency and the amplitude is below the human perceptible limit, the applied impulse signal is not visible to the human eye. Therefore, it can be said that the registration signal embedding itself is a kind of digital watermark processing.
[0231]
In the present embodiment, after the
[0232]
The registration signal embedded as shown in FIG. 26 is subjected to Fourier transform again at the time of extraction. As a result, the
[0233]
When an image in which digital watermark information is embedded is subjected to an attack such as irreversible compression such as JPEG compression, the impulse is likely to have a small amplitude. On the other hand, when subjected to a geometric attack such as scaling, the position of this impulse moves. In any case, by performing an appropriate impulse extraction process as described above, the impulse signal can be extracted and a change from the original image data can be estimated. If this change is corrected, it is possible to create a state where the additional information Inf embedded in the present embodiment can be reliably extracted.
[0234]
Through the above processing, the impulse extraction unit 0703 shown in FIG. 7 outputs the impulse signal described above and inputs it to the scaling
[0235]
In the digital watermark extracting apparatus of the present embodiment it is assumed to know whether embedded impulse signal in advance which frequency component. In this case, the scaling rate can be calculated from the ratio between the pre-embedded frequency and the frequency at which the impulse is detected. For example, if a is the frequency in which the impulse signal is embedded in advance and b is the frequency of the detected impulse signal, it can be seen that scaling of a / b is performed. This is a well-known property of Fourier transform. Through the above processing, the scaling rate is output from the scaling rate calculation means 0704.
[0236]
However, the present invention is not limited to this, and information on the position (frequency) in which the registration signal is embedded may be received from the digital watermark embedding apparatus side as necessary. For example, a form in which the position information is received as an encrypted signal and the above scaling rate calculation processing is performed is also included in the scope of the present invention. In this way, only the person who knows the registration signal can correctly extract the additional information Inf. In this case, the registration signal can be used as a key for extracting the additional information Inf.
[0237]
The scaling rate output from the scaling
[0238]
[3-5 Additional information extraction process]
Next, the operation of the additional
[0239]
A block diagram of this additional information Inf extraction process is shown in FIG.
[0240]
[3-5-1 Embedding position determination process]
As shown in FIG. 20, first, in the embedding
[0241]
From the determined area, the additional information Inf is extracted using the correspondence table 2 described above and further using the pattern arrangement shown in FIG.
[0242]
Here, the extraction of the additional information Inf is realized by convolving the pattern array with the determined region.
[0243]
[3-5-2 Reliability distance calculation means]
The reliability distance d is a calculated value required when extracting embedded information.
[0244]
A method for obtaining the reliability distance d corresponding to each bit information is shown in FIG.
[0245]
First, processing performed by the
[0246]
FIGS. 21 and 22 show examples of extracting 1-bit information constituting the additional information Inf.
[0247]
FIG. 21 shows an example in which extraction processing of this 1-bit information is performed on image data (blue component) I ″ (x, y) in which certain 1-bit information constituting the additional information Inf is embedded, and FIG. In this example, 1-bit information is extracted from the image data I (x, y) in which the 1-bit information is not embedded.
[0248]
In FIG. 21, I ″ (x, y) is image data in which 1-bit information is embedded, and P (x, y) is an 8 × 8 pattern array used for convolution processing (pattern array for extracting additional information Inf) ). Each element (0, ± c) constituting the 8 × 8 pattern array is integrated with the pixel value arranged at the same position of the input image data I ″ (x, y), and further, The sum is calculated. That is, P (x, y) is convolved with I ″ (x, y). Here, I ″ (x, y) is an expression including an image when the image data I ′ (x, y) is attacked. If you are not attacked,
I ″ (x, y) = I ′ (x, y). In the case of an image in which 1-bit information is embedded in I ″ (x, y), the possibility of obtaining a non-zero value as shown in FIG. 21 is very high as a result of convolution. Especially when I ″ (x, y) = I ′ (x, y), the convolution result is 32c. 2 It becomes.
[0249]
In the present embodiment, the same pattern array is used as the pattern array used for embedding and the pattern array used for extraction. However, this is not limited in the present invention. In general, if the pattern array used for embedding is P (x, y) and the pattern array used for extraction is P '(x, y),
P '(x, y) = aP (x, y)
It can be transformed into the relationship. Here, a is an arbitrary real number. In this embodiment, for simplicity, a case where a = 1 is described.
[0250]
On the other hand, in the example shown in FIG. 22, the same calculation as that described above is performed on the image data I (x, y) in which 1-bit information is not embedded. From the original image (corresponding to the image data I), as a result of the convolution operation, a zero value is obtained as shown in FIG.
[0251]
The 1-bit information extraction method has been described above with reference to FIGS. 21 and 22. However, the above description is a case where the result of the convolution operation is 0 in the target image data I in which the additional information Inf is embedded, which is a very ideal case. On the other hand, in the area corresponding to the 8 × 8 pattern array of the actual image data I, the result of the convolution operation is very rare.
[0252]
That is, when the convolution calculation is performed on the region corresponding to the 8 × 8 pattern arrangement in the original image (image data I) using the pattern arrangement in FIG. 9 (see also the cone mask as arrangement information), it is different from the ideal. A non-zero value may be calculated. On the contrary, the result of the same convolution operation for the area corresponding to the 8 × 8 pattern array in the image (image data wI) in which the additional information Inf is embedded is “32c”. 2 It may become “0” instead of “0”.
[0253]
However, each bit information constituting the additional information Inf is normally embedded in the original image data a plurality of times. That is, the additional information Inf is embedded in the image a plurality of times. Therefore, in the n macroblocks in which each bit information is embedded, a convolution operation is performed for each 8 × 8 pattern array, and “each bit is determined based on the n convolution operation results for each bit information obtained here. It may be determined statistically whether information is embedded or not or whether each bit information is 1 or 0. These statistical judgment methods will be described later.
[0254]
Therefore, the convolution operation means 0601 determines the sum of a plurality of convolution operation results for each bit information constituting the additional information Inf. For example, if the additional information Inf is 8 bits, 8 sums are obtained. The sum corresponding to each bit information is input to the average calculation means 0602, where each is divided by the number n of all macroblocks and averaged. This average value is the reliability distance d. That is, the reliability distance d is equal to “32c” in FIG. 2 It is a value generated by majority decision as to whether it is similar to “0” or “0”.
[0255]
However, the reliability distance d is d = 1 / N Σ (a i -b i Strictly speaking, the reliability distance d is an average value obtained by performing a convolution operation using P ′ (x, y) = 1 / c P (x, y). However, even if the convolution operation is performed using P ′ (x, y) = aP (x, y), the average value of the convolution operation result is only a real number multiple of the reliability distance d. Essentially the same effect can be obtained. Therefore, in the present invention, the average value of the convolution calculation result using P ′ (x, y) = aP (x, y) can be sufficiently used as the reliability distance d.
[0256]
The obtained reliability distance d is stored in the
[0257]
The
[0258]
This calculation value will be described in more detail. The reliability distance d calculated with respect to the original image data I using the pattern arrangement of FIG. 9 (see also the cone mask as arrangement information) is ideally zero. However, in actual image data I, this value is very close to 0, but many non-zero values. When the frequency distribution of the reliability distance d generated for each bit information is examined, it is as shown in FIG.
[0259]
In FIG. 23, the horizontal axis represents the value of the reliability distance d generated for each bit information, and the vertical axis represents the number of bit information that has undergone convolution to generate the reliability distance d (appearance of the reliability distance d). Frequency). It can be seen from the figure that it is similar to a normal distribution. In the original image data I, the reliability distance d is not necessarily 0, but the average value is 0 (or a value very close to it).
[0260]
On the other hand, when the above convolution is performed on the image data (blue component) after embedding the bit information “1”, instead of the original image data I, as shown in FIG. The degree distance d has a frequency distribution as shown in FIG. That is, as shown in the figure, the shift is made to the right while maintaining the distribution shape of FIG. In this way, the reliability of the image data after embedding one bit constituting the additional information Inf is not necessarily c, but the average value is c (or a value very close to it). Become.
[0261]
FIG. 24 shows an example in which bit information “1” is embedded, but when bit information “0” is embedded, the frequency distribution shown in FIG. 23 is shifted to the left.
[0262]
As described above, when the additional information Inf (each bit information) is embedded using the patchwork method, the number of bits to be embedded (the number of times the pattern array is used) should be increased as much as possible in FIGS. The statistical distribution as shown is likely to appear accurately. That is, the accuracy with which it is possible to detect whether each bit information constituting the additional information Inf is embedded or whether the embedded bit information is “1” or “0” is increased.
[0263]
[3-5-3 Offset adjustment processing]
Next, the configuration of the offset
[0264]
The offset
[0265]
These start bits Inf 1 Is conceptually the first 5 bits, but in the image in which the additional information Inf is embedded, it does not exist adjacently and densely, but rather is scattered. This is because they are sequentially embedded in correspondence with the coefficient values constituting the cone mask of the correspondence table 2.
[0266]
FIG. 28 shows a flowchart of the processing of the offset
[0267]
In the offset
[0268]
It is determined in
[0269]
However, the start bit Inf is actually correct even at points other than the embedding start coordinates. 1 May be detected. This cause will be described with reference to FIG.
[0270]
FIG. 27 shows the same pattern arrangement (2702, 2705) as that used when embedding the additional information Inf to extract additional information Inf embedded by the patchwork method used in this embodiment. And the original macroblock positions (2701, 2703, 2704) are searched while performing convolution. It is assumed that the search proceeds continuously from the left diagram to the right diagram.
[0271]
In FIG. 27, for simplicity, the image data wI 2 We focus on one macroblock (the smallest unit from which additional information Inf can be extracted) that is part of '. One square in this figure indicates the concept of the size of the pattern array for embedding 1-bit information.
[0272]
In the left side of FIG. 27, when there is a relationship between 2701 and 2702, that is, when 2702 is located at the upper left of the
[0273]
Further, the center of the figure shows a case where the search is further advanced and the position being searched and the position of the actual macroblock completely coincide. In this state, the pattern array to be convolved and the macro block overlap the maximum area.
[0274]
Also, on the right side of the figure, the position being searched is located at the lower right than the position of the macroblock in which the additional information Inf is actually embedded. In this state, in this state, the pattern array to be convolved and the macroblock overlap only in the shaded area.
[0275]
In all cases shown in FIG. 27, if the pattern array to be convolved and the macroblock sufficiently overlap, the correct start bit Inf 1 Can be extracted. However, in these three cases, since the overlapping areas are different, the reliability distance d is different.
[0276]
The overlapping area can be considered in place of the reliability distance d described above. In other words, if the positional relationship between the pattern array to be convolved and the macroblock is completely the same, the reliability distance d for each bit information is the above-described ± 32c. 2 Very close to.
[0277]
Therefore, in this embodiment, as shown in FIG. 28, in
[0278]
Through the series of processes described above, the offset adjusting
[0279]
[3-5-4 Usage information extraction means]
The usage
[0280]
Usage information Inf 2 To obtain the reliability distance d1 corresponding to each bit information that makes up the embedded usage information Inf 2 Is equivalent to extracting each bit. This will be described later.
[0281]
Here, only the reliability distance d is calculated based on the embedding start coordinates determined by the search, and the start bit Inf 1 Are not extracted.
[0282]
[3-6 Statistical test process]
The statistical test means 2006 determines the reliability of the reliability distance d1 obtained by the usage information extraction means 2003 in FIG. This determination is based on additional information Inf (use information Inf 2 ) Is used to generate a reliability distance d2 using a second pattern array different from the first pattern array used for extraction, and a reliability index D is generated with reference to the appearance frequency distribution of the reliability distance d2. Is done.
[0283]
Here, the reliability distance d1 is used by the usage
[0284]
Details of the second pattern arrangement, the reliability index D, and the like will be described later.
[0285]
[3-6-1 Extraction process using second pattern array]
≪Central limit theorem≫
{an} and {bn} are sets of pixel values composed of n elements, which are the pixel values of the elements of subset A and subset B as shown in FIG.
[0286]
Reliability distance d (Σ (a i -b i ) / n) is a sufficient number n n }, {b n }, The pixel value a n And b n Has no correlation, and the expected value of the reliability distance d is zero. The distribution of the reliability distance d is an independent normal distribution according to the central limit theorem.
[0287]
Here, the central limit theorem will be briefly described.
[0288]
Average value m c , Standard deviation σ c Size n from the population (not necessarily normal distribution) c When sampling any sample of, sample average value S c Distribution of n c Normal distribution N (m c , (σ c / √n c It is a theorem that shows that we are approaching) ^ 2).
[0289]
In general, population standard deviation σ c Is often unknown, but the number of samples is n c Is large enough and the number of population N c Is the number of samples n c The standard deviation s of the sample when it is sufficiently larger than c Σ c It can be used practically even if it is used instead of.
[0290]
Returning to the present embodiment, description will be given. First, the appearance frequency distribution of the reliability distance d1 obtained by the usage
[0291]
For example, when there is an error in the detection of the start bit Inf1 (when the offset adjustment fails), the usage information Inf 2 Since the bit information is not actually embedded at the position where should be embedded, the appearance frequency distribution of the reliability distance d1 is as a
[0292]
On the other hand, if it is extracted correctly, the usage information Inf 2 The reliability distances d1 corresponding to the bit information “1” constituting the information are accumulated at the positions of the
[0293]
However, this is based on the premise that the reliability distance d1 obtained by performing the convolution process with the first pattern arrangement on the original image in which the additional information is not embedded becomes a
[0294]
Therefore, in reality, unless the state of the original image is known, it cannot be determined whether or not the image has been correctly extracted.
[0295]
Therefore, in the present embodiment, a normal distribution of the reliability distance d2 is generated using a so-called second pattern arrangement that can sufficiently determine the state of the original image even if the additional information is embedded, and this normal distribution is represented by 2501. By thinking as usage information Inf 2 It is determined whether or not can be extracted correctly.
[0296]
For example, if the appearance frequency distribution of the reliability distance d1 exists outside the hatched portion (the component from the center to 95%) constituting the
[0297]
Next, additional information Inf (use information Inf 2 ) Is used to generate a method similar to the appearance frequency distribution of the reliability distance d1 (the
[0298]
In the present embodiment, the reliability distance d2 constituting a distribution similar to the
[0299]
The second pattern
[0300]
For the purpose of comparison, the pattern arrangement of FIG. 9 used in the usage
[0301]
First, the embedding start coordinates are input from the offset
[0302]
At this time, the pattern array used in the reliability distance calculation of FIG. 6 is not the
[0303]
This is because the reliability distance d2 calculated using the
[0304]
As shown in FIG. 34, the result of convolution processing of the
[0305]
Therefore, the appearance frequency distribution of the reliability distance d2 obtained by performing the convolution process using the second pattern arrangement on the image in which the additional information Inf is embedded is substantially the same as the
[0306]
The
[0307]
As described above, the
[0308]
In addition, the conditions of the above “pattern arrangement orthogonal to the first pattern” are as follows:
(1) As shown in FIG. 33, it should be the same size as 0901 in FIG.
(2) Like the
It is.
[0309]
The convolution process shown in FIG. 34 is the same as the convolution process shown in FIGS. 21 and 22.
[0310]
In the present embodiment, the result of convolution is 0, which is compared to 0 when the inner product of vectors is orthogonal, and is called “mutual pattern arrangement is“ orthogonal ””. Therefore, 3601 and 3602 in FIG. 33 are “pattern arrays“ orthogonal ”to the
[0311]
The reason why the pattern array that is “orthogonal” to the pattern array used when embedding the additional information Inf is used for the calculation of the reliability distance d2 is that there is no statistical bias in the distribution of the reliability distance d2, that is, 0 is the center. This is to generate a frequency distribution.
[0312]
In addition, “a pattern arrangement“ perpendicular to the first pattern ”is
(3) Having the same number of non-zero elements as the non-zero elements of the pattern array used in the usage
Is also a necessary condition. This is because the reliability distance d1 and the reliability distance d2 are extracted under the same calculation conditions.
[0313]
Next, in the present embodiment, the “second position reference mask” has a pattern different from 3801 used when embedding the additional information Inf and has a size different from 3801, and is shown by 3802 in FIG. A reference mask is used.
[0314]
As described above, if the first and second pattern arrangements are different, the appearance frequency distribution of the reliability distance d2 is almost a
[0315]
However, when the detection position of the start bit is not perfect, there is a possibility that a statistical bias may be detected despite convolution using the second pattern array. In the present embodiment, in consideration of this possibility, the first and second position reference masks are made different in size so as to cancel periodic elements. Alternatively, the arrangement method of each pattern arrangement in the mask is made different so that the convolution in the same region is not performed.
[0316]
In this case, the “second position reference mask” is not limited to the cone mask as long as the coefficients constituting the “second position reference mask” are randomly distributed.
[0317]
If the “second pad position reference mask” is set to be different from the “first pad position reference mask”, the “second pad position reference mask” is set by the pad position determining means 2004 in FIG. It will be created.
[0318]
In general, in consideration of the clipping resistance described above, the first position reference mask (cone mask) is not considered to be so large with respect to the entire image data to be embedded with the additional information Inf. . Therefore, it is preferable to use a relatively large “second position reference mask”. In the present embodiment, the second mask used for calculating the reliability distance d1 on the additional information Inf side is set to be larger than the first mask referred to when embedding the additional information Inf. And
[0319]
However, the present invention is not limited to this. Even if the mask sizes are equal to each other, there are some effects. Therefore, the “second position reference mask” may be created by the embedding
[0320]
As a minimum condition of each other's mask, it is necessary that the number of repetitions of each bit constituting the additional information Inf applied to each other's mask is equal in the image area of the same size.
[0321]
If a sufficient result cannot be obtained by the extraction process using the second pattern array, the reliability distance d2 is set again using another second pattern array or a second position reference mask having the above-described conditions. By calculating, there is a possibility that 2501 of FIG. 25 which is an ideal appearance frequency distribution can be generated.
[0322]
Next, a specific operation of the
[0323]
In the present embodiment, the first position reference mask is a 32 × 32 cone mask, the second position reference mask is a 64 × 64 cone mask, and the relative arrangement of the coefficients in the two masks is completely different. Suppose they are different.
[0324]
First, in the extraction means 2005 based on the second pattern arrangement, the extraction position is determined according to the following correspondence table 3.
[0325]
[Table 3]
[0326]
In the second position reference mask, there are 16 coefficients of the same value in the mask. On the other hand, when the 32 × 32 first position reference mask is referred to in the previous correspondence example 2, the number of repetitions of the same coefficient in the 32 × 32 is four. That is, in the same size image data, there are the same number of coefficients having the same value in both the first position reference mask and the second position reference mask.
[0327]
In the present embodiment, the second pattern array is assigned to the positional relationship according to the rules of the correspondence table 3, and the convolution process is sequentially performed to calculate 69 reliability distances d2 corresponding to each bit information.
[0328]
[3-6-2 Reliability index D]
The reliability distance d2 generated by the extraction means 2005 based on the second pattern array appears in a distribution that is substantially the same as the
[0329]
m-1.96σ <d2 <m + 1.96σ Equation (25.1)
Here, σ is a standard deviation with respect to the reliability distance d2, and m is an average.
[0330]
The range in the above case is referred to as “95% confidence interval”.
[0331]
m-1.96σ and m + 1.96σ are calculated using the reliability distance d2 obtained by the extraction means 2005 based on the second pattern arrangement.
[0332]
The appearance frequency distribution of the reliability distance d1 input from the usage
[0333]
By the way, at the time of processing of the offset
[0334]
In this case, usage information Inf 2 The probability that all of the 64 reliability distances d1 corresponding to are not included in the confidence interval of the formula (25.1) is very small as (64th power of (1−0.95)).
[0335]
Therefore, if the
[0336]
In the statistical test means 2006, additional information Inf (usage information Inf is used using the above-described properties. 2 ) Is embedded to determine the reliability.
[0337]
In the present embodiment, the reliability that the usage information Inf is embedded is treated as the reliability index D.
[0338]
The reliability index D is defined by the ratio of the number of reliability distances d1 existing outside the range of the expression (25.1) in all reliability distances d1 generated by the usage
[0339]
If the reliability index D is larger than the threshold value α, the statistical test means 2006 artificially biases the overall appearance frequency distribution of the reliability distance d1 to positions such as 2502 and 2503 in FIG. That is, usage information Inf 2 Is determined to be an embedded image.
[0340]
Therefore, the reliability distance d1 used for the determination here is considered to be reliable information, and the reliability distance d1 is permitted to be further transferred to the comparison means 2007 in the subsequent stage.
[0341]
Note that the reliability index D is the usage information Inf as shown in the
[0342]
For example, if the reliability index D is not greater than the threshold value α, a message stating that “the usage information Inf2 has not been accurately extracted” is displayed, and the image is input again from the
[0343]
[3-7 Comparison processing]
The comparison means 2007 in FIG. 20 inputs the value of the reliability distance d1 output through the usage information extraction means 2003 and the statistical test means 2006. Since the reliability distance d1 input here is highly reliable information, it is simply determined here whether each bit information corresponding to the reliability distance d1 is “1” or “0”. Good.
[0344]
Specifically, usage information Inf 2 If the reliability distance d1 of certain bit information constituting the bit is positive, it is determined that the bit information is “1”, and if the reliability distance d1 is negative, the bit information is determined to be “0”. To do.
[0345]
Usage information Inf obtained by the above determination 2 Is output as final data for user reference information or control signals.
[0346]
This is the end of the description of the series of processes from embedding additional information to extraction.
[0347]
(Modification)
In the above embodiment, additional information Inf (use information Inf 2 ) Can be error-corrected encoded data, and by doing so, further extracted usage information Inf 2 Reliability is improved.
[0348]
Note that the present invention can be applied as a part of a system composed of a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), but is composed of a single device (for example, a copying machine, a facsimile machine) You may apply to one part.
[0349]
Further, the present invention is not limited only to the apparatus and method for realizing the above-described embodiment, and the software for realizing the above-described embodiment is implemented in a computer (CPU or MPU) in the system or apparatus. A case in which the above-described embodiment is realized by supplying a software program code and causing the system or apparatus computer to operate the various devices according to the program code is also included in the scope of the present invention.
[0350]
In this case, the program code of the software itself realizes the function of the above embodiment, and the program code itself and means for supplying the program code to the computer, specifically, the program code Is included in the scope of the present invention.
[0351]
As a storage medium for storing such a program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
[0352]
Further, the computer controls various devices according to only the supplied program code, so that not only the functions of the above embodiments are realized, but also the OS (operating system) on which the program code is running on the computer. Such program code is also included in the scope of the present invention when the above embodiment is realized in cooperation with a system) or other application software.
[0353]
Further, after the supplied program code is stored in the memory of the function expansion board of the computer or the function expansion unit connected to the computer, the program code is stored in the function expansion board or function storage unit based on the instruction of the program code. The case where the CPU or the like provided performs part or all of the actual processing and the above-described embodiment is realized by the processing is also included in the scope of the present invention.
[0354]
In the above embodiment, the case where the digital watermark information is embedded using the cone mask has been described. However, the present invention is not limited to this. The case of embedding digital watermark information using a blue noise mask is also included in the scope of the present invention.
[0355]
In addition, any configuration including at least one of the various feature points described above is included in the scope of the present invention.
[0356]
【The invention's effect】
As described above, according to the present invention, the digital watermark information is embedded by performing arithmetic processing with a pattern arrangement different from that for extracting the digital watermark information from the image data in which the digital watermark information is supposed to be embedded. The state of no image data can be inferred. Then, the reliability of the extracted information is tested in order to derive the digital watermark information with reference to this state, so that the digital watermark information can be accurately extracted as a result.
[Brief description of the drawings]
FIG. 1 is a block diagram of the overall configuration of a digital watermark embedding apparatus.
FIG. 2 is a block diagram of the overall configuration of the digital watermark extracting apparatus.
FIG. 3 is a diagram illustrating an example of image data generated on the extraction side in print processing.
FIG. 4 is a block diagram of a registration signal embedding unit.
FIG. 5 is a diagram for explaining a registration signal;
FIG. 6 is a diagram showing reliability distance calculation means.
FIG. 7 is a block diagram of the scale matching means.
FIG. 8 is a diagram for explaining registration signal extraction;
FIG. 9 is a diagram showing a pattern array used when embedding and extracting additional information.
FIG. 10 is a block diagram of additional information embedding means.
FIG. 11 is a block diagram of an embedding position determining unit.
FIG. 12 is a diagram showing an appearance frequency distribution of coefficient values of a corn mask and a blue noise mask.
FIG. 13 is a diagram showing the spatial frequency characteristics of human vision.
FIG. 14 is a diagram showing the spatial frequency characteristics of a blue noise mask and a cone mask.
FIG. 15 is a diagram for explaining a position reference mask;
FIG. 16 is a conceptual diagram showing an embedding position in a position reference mask.
FIG. 17 is a diagram showing a state in which each pattern array is developed on the mask of FIG. 16;
FIG. 18 is a diagram showing an area necessary for embedding additional information Inf in all images.
FIG. 19 is a diagram illustrating an operation for embedding additional information Inf
FIG. 20 is a diagram for explaining additional information extraction means;
FIG. 21 is a diagram for explaining how additional information Inf is extracted;
FIG. 22 is a diagram showing a state where extraction is attempted even though the additional information Inf does not exist;
FIG. 23 is a diagram showing an ideal appearance frequency distribution when a reliability distance d is extracted from an original image.
FIG. 24 is a diagram illustrating a case where a reliability distance d is extracted from an image in which a digital watermark is embedded.
FIG. 25 is a diagram for explaining an example of an appearance frequency distribution of reliability distances d1 and d2 in the present embodiment;
FIG. 26 is a diagram for explaining the principle of embedding and extracting a registration signal;
FIG. 27 is a diagram illustrating a state in which offset adjustment processing is performed.
FIG. 28 is a flowchart for explaining offset adjustment processing;
FIG. 29 is a block diagram of registration signal embedding means in the spatial domain.
FIG. 30 is a diagram illustrating two sets in the patchwork method
FIG. 31 is a flowchart for explaining the entire digital watermark embedding process;
FIG. 32 is a flowchart for explaining the entire digital watermark extraction process;
33 is a diagram showing an example of a pattern arrangement orthogonal to the pattern of FIG. 9;
FIG. 34 is a diagram for explaining an “orthogonal” pattern arrangement;
FIG. 35 is a diagram showing first and second position reference masks.
FIG. 36 is a diagram showing the configuration of additional information Inf
FIG. 37 is a diagram showing an example of each coefficient in the blue noise mask.
FIG. 38 is a diagram illustrating an example of each coefficient of a pixel value of a cone mask
[Explanation of symbols]
0101 Color component extraction means
[0102] Registration signal embedding means
0103 Embedding position determining means
0104 Additional information embedding means
0105 Color component synthesis means
Claims (8)
前記画像データに対して、第1のパターン配列を用いて畳み込み演算を施すことにより、前記電子透かし情報の各ビットに相当する複数の第1の情報を抽出する第1の抽出手段と、
前記画像データに対して、第2のパターン配列を用いて畳み込み演算を施すことにより、前記電子透かし情報の各ビットに相当する複数の第2の情報を抽出する第2の抽出手段と、
前記複数の第2情報からなる分布と、前記複数の第1の情報とに基づいて、前記第1抽出手段により抽出された第1情報の信頼性を検定する検定手段とを有し、
前記第1のパターン配列と前記第2のパターン配列は、互いに同じサイズのマトリクスであり、互いの畳み込み演算の結果が0になる関係を有することを特徴とする画像処理装置。An apparatus for extracting digital watermark information from image data embedded with the digital watermark information difficult to be seen by humans,
First extraction means for extracting a plurality of first information corresponding to each bit of the digital watermark information by performing a convolution operation on the image data using a first pattern arrangement ;
Second extraction means for extracting a plurality of second information corresponding to each bit of the digital watermark information by performing a convolution operation on the image data using a second pattern arrangement ;
Test means for testing the reliability of the first information extracted by the first extraction means based on the distribution of the plurality of second information and the plurality of first information;
The image processing apparatus according to claim 1, wherein the first pattern array and the second pattern array are matrices having the same size, and have a relationship in which a result of a convolution operation is 0 .
前記画像データに対して、第1のパターン配列を用いて畳み込み演算を施すことにより、前記電子透かし情報の各ビットに相当する複数の第1の情報を抽出する第1の抽出工程と、
前記画像データに対して、第2のパターン配列を用いて畳み込み演算を施すことにより、前記電子透かし情報の各ビットに相当する複数の第2の情報を抽出する第2の抽出工程と、
前記複数の第2情報からなる分布と、前記複数の第1の情報とに基づいて、前記第1抽出手段により抽出された第1情報の信頼性を検定する検定工程とを有し、
前記第1のパターン配列と前記第2のパターン配列は、互いに同じサイズのマトリクスであり、互いの畳み込み演算の結果が0になる関係を有することを特徴とする画像処理方法。A method for extracting digital watermark information from embedded image data in which the digital watermark information is difficult for humans to see,
A first extraction step of extracting a plurality of first information corresponding to each bit of the digital watermark information by performing a convolution operation on the image data using a first pattern arrangement ;
A second extraction step of extracting a plurality of second information corresponding to each bit of the digital watermark information by performing a convolution operation on the image data using a second pattern arrangement ;
A test step for testing the reliability of the first information extracted by the first extraction means based on the distribution of the plurality of second information and the plurality of first information;
The image processing method, wherein the first pattern array and the second pattern array are matrices of the same size, and have a relationship in which a result of a convolution operation is 0 .
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29816999A JP3884891B2 (en) | 1999-10-20 | 1999-10-20 | Image processing apparatus and method, and storage medium |
US09/688,108 US6826290B1 (en) | 1999-10-20 | 2000-10-16 | Image processing apparatus and method and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29816999A JP3884891B2 (en) | 1999-10-20 | 1999-10-20 | Image processing apparatus and method, and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001119561A JP2001119561A (en) | 2001-04-27 |
JP3884891B2 true JP3884891B2 (en) | 2007-02-21 |
Family
ID=17856104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29816999A Expired - Fee Related JP3884891B2 (en) | 1999-10-20 | 1999-10-20 | Image processing apparatus and method, and storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3884891B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100888589B1 (en) | 2002-06-18 | 2009-03-16 | 삼성전자주식회사 | Method and apparatus for extracting watermark from repeatedly watermarked original information |
WO2006115128A1 (en) * | 2005-04-21 | 2006-11-02 | Matsushita Electric Industrial Co., Ltd. | Electronic watermark embedding device and detection device, detection method, detection program, and integrated circuit device thereof |
JP5343659B2 (en) * | 2009-03-30 | 2013-11-13 | 富士ゼロックス株式会社 | Image processing apparatus and image processing program |
JP5347646B2 (en) * | 2009-03-30 | 2013-11-20 | 富士ゼロックス株式会社 | Image processing apparatus and image processing program |
CN112697268B (en) * | 2020-12-04 | 2022-06-24 | 佳木斯电机股份有限公司 | Motor anomaly detection integrated algorithm based on T-SNE |
-
1999
- 1999-10-20 JP JP29816999A patent/JP3884891B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001119561A (en) | 2001-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4218920B2 (en) | Image processing apparatus, image processing method, and storage medium | |
US6741758B2 (en) | Image processor and image processing method | |
US7142689B2 (en) | Image processing apparatus for determining specific images | |
US6826290B1 (en) | Image processing apparatus and method and storage medium | |
US6873711B1 (en) | Image processing device, image processing method, and storage medium | |
US6760464B2 (en) | Halftone watermarking and related applications | |
US7995790B2 (en) | Digital watermark detection using predetermined color projections | |
JP2001218006A (en) | Picture processor, picture processing method and storage medium | |
US20110116679A1 (en) | Digital watermark embedding method, digital watermark embedding apparatus, and storage medium storing a digital watermark embedding program | |
US6993148B1 (en) | Image processing apparatus and method, and storage medium | |
KR20030051712A (en) | Halftone watermarking and related applications | |
He et al. | A practical print-scan resilient watermarking scheme | |
JP2003143388A (en) | Image processing method and apparatus, and printed matter | |
Chen et al. | High-quality blind watermarking in halftones using random toggle approach | |
JP3884891B2 (en) | Image processing apparatus and method, and storage medium | |
JP4311698B2 (en) | Image processing apparatus, image processing method, and recording medium | |
JP3809310B2 (en) | Image processing apparatus and method, and storage medium | |
Nakamura et al. | Improved digital watermark robustness against translation and/or cropping of an image area | |
JP3869983B2 (en) | Image processing apparatus and method, and storage medium | |
JP6920719B2 (en) | Digital watermarking device and method | |
CN112767227B (en) | Image watermarking method capable of resisting screen shooting | |
JP2001119558A (en) | Image processor and method and storage medium | |
JP3684181B2 (en) | Image processing apparatus and image processing method | |
JP3740338B2 (en) | Image processing apparatus and method, and storage medium | |
JP3787511B2 (en) | Image processing apparatus and image processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060814 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060822 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061023 |
|
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: 20061114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061120 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131124 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |