+

JP3745729B2 - Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, digital watermark detection device, storage medium storing digital watermark embedding program, storage medium storing digital watermark detection program, and digital watermark system - Google Patents

Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, digital watermark detection device, storage medium storing digital watermark embedding program, storage medium storing digital watermark detection program, and digital watermark system Download PDF

Info

Publication number
JP3745729B2
JP3745729B2 JP2002333324A JP2002333324A JP3745729B2 JP 3745729 B2 JP3745729 B2 JP 3745729B2 JP 2002333324 A JP2002333324 A JP 2002333324A JP 2002333324 A JP2002333324 A JP 2002333324A JP 3745729 B2 JP3745729 B2 JP 3745729B2
Authority
JP
Japan
Prior art keywords
sequence
detection target
detection
information
symbol
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 - Lifetime
Application number
JP2002333324A
Other languages
Japanese (ja)
Other versions
JP2003219148A (en
Inventor
高雄 中村
宏 小川
淳樹 富岡
洋一 高嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002333324A priority Critical patent/JP3745729B2/en
Publication of JP2003219148A publication Critical patent/JP2003219148A/en
Application granted granted Critical
Publication of JP3745729B2 publication Critical patent/JP3745729B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Television Systems (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、電子透かし埋め込み方法及び電子透かし検出方法及び電子透かし埋め込み装置、及び電子透かし検出装置、及び電子透かし埋め込みプログラムを格納した記憶媒体、及び電子透かし検出プログラムを格納した記憶媒体、及び電子透かしシステムに係り、特に、ディジタルコンテンツの著作権保護を実現するために、コンテンツ自体の情報を人間には知覚出来ない程度の微小量だけ変更し、当該コンテンツ内に、人間の知覚に感知されないようにするための情報である透かし情報を埋め込み、その透かし情報を検出するための電子透かし埋め込み方法及び電子透かし検出方法及び電子透かし埋め込み装置、及び電子透かし検出装置、及び電子透かし埋め込みプログラムを格納した記憶媒体、及び電子透かし検出プログラムを格納した記憶媒体、及び電子透かしシステムに関する。
【0002】
近年、ディジタルコンテンツをネットワークを利用して送信することが、音声・動画・静止画などのディジタル情報に対する技術(例えば、JPEG方式[Joint Picture Coding Expert Group ]など)の進歩により、容易になってきている。また、ネットワークによるコンテンツの流通も、インターネットなどの情報インフラの普及に伴い始まりつつある。
【0003】
ところが、ネットワークによって配送されるコンテンツは、ディジタル情報であるため、パーソナルコンテンツなどを用いて完全な複製を行うことが容易である。また、インターネットなどの情報インフラでは、すべての利用者が情報発信者となり得るため、不正コピーや、不正コピーを販売するといった著作権侵害が行われ得る。さらに、パーソナルコンピュータの処理能力の向上に伴って、パーソナルコンピュータ上で画像や音声データを加工・編集することも容易となり、原著作権者の意図しない改ざんや、不正な二次利用等の著作権侵害も行われ得る。これらの、著作権侵害の脅威が著作者に情報提供を躊躇させ、ネットワークによる情報流通を阻害しているという現状がある。
【0004】
また、これとは別に、現在コンテンツ製作の現場からは「あるコンテンツを正しく権利処理して正当な二次利用をしたいと思っても、権利の所在が分からずどこに問い合わせればよいのか分からない」といった問題もあり、コンテンツの再利用の促進が抑制されている現状である。
【0005】
本発明は、これらの現状を踏まえて、電子透かしの埋込及び検出を行うための電子透かし埋め込み方法及び電子透かし検出方法及び電子透かし埋め込み装置、
及び電子透かし検出装置、及び電子透かし埋め込みプログラムを格納した記憶媒体、及び電子透かし検出プログラムを格納した記憶媒体、及び電子透かしシステムに関する。
【0006】
【従来の技術】
従来において、電子透かし技術を利用した著作権管理/保護システムが提案されている。
【0007】
電子透かし技術に関連した技術として、「A.Piva et al.:"DCT-based Watermark Recovering without Resorting to the Uncorrupted Orignal Image", Proceedings of the 1997 International Conference on Image Processing (ICIP'97),1997」(以下、Ref.1 と記す) や、「Takao Nakamura, Hiroshi Ogawa, Youichi Takashima,:"A Watermarking Technique for Still Image" NTT R&D Vol.47, No.6, 1998 」(以下、Ref.2 と記す) や、「Wisetsuit Piyapisuit, Kineo Matsui,: "Block Characteristic in Color Image Watermarking Using Equivalent Signal Transform" National Conference of the Institute of Electronics, Information and Communication Engineers, D-11-42, 1999 」(以下、Ref.3 と記す) 等がある。
【0008】
Ref.1 に示す方法は、画像サイズで直交変換して周波数成分行列を取得し、透周波数成分行列の中の中間周波数帯域の係数値を変更することにより透かし情報を埋め込む。係数値の変更は、スペクトル拡散技術を用いる。これにより、画像の非可逆圧縮や色変換、コントラスト変更などに対し、耐性がある。
【0009】
また、Ref.1 に示す方法は、透かし情報を読み取りの際には、調べたい画像を直交変換して得られる周波数成分行列中の中間周波数帯域の係数値を逆拡散することにより、透かし情報読み取る。これにより、画像の拡大/ 縮小に対しては、オリジナルのディジタルコンテンツと比較し、オリジナルのディジタルコンテンツと同じサイズに併せてから検出を行うことで対応できる。
【0010】
また、Ref.1 に示す方法は、読み取り時は、スペクトル拡散で用いる乱数の初期値を一つずつ試して、レスポンスが高かったものを読み取り透かし情報とする。これにより、一部切り出しなどについては、切り取られた部分がオリジナルのディジタルコンテンツのどこにあたるかがわかれば、検出可能である。
【0011】
次に、上記のRef.2 に示す方法は、画像を一般の非可逆圧縮で用いられるブロックサイズにより大きなブロックに分割し、ブロック毎に直交変換を行い周波数成分行列を得て、これを正規化する。そして、埋め込みを行う係数列を鍵情報によって選択し、係数値の量子化によって透かし情報を埋め込む。変更後の行列を逆正規化、逆直交変換を行うことで透かし埋め込み済画像を得る。また、当該方法は、低周波数帯域を変更することにより耐性が向上する。
【0012】
上記のRef.3 に示す方法は、カラー像の等価信号変換(例えば、RGB←→YCbCrなど)の変換行列を定義通りのものから透かし情報に応じて若干変更した変換を施すことで埋め込みを行う。Ref.3 における透かし情報検出時には、検出対象画像を等価信号変換し、これらの統計値が埋め込みによって特異な状態になっているかどうかで検出を行う。これにより、Ref.3 に示す方法は、画像の幾何学的改変に対して耐性を持つ。
【0013】
また、電子透かしをディジタル画像内に埋め込む際に、画像全体に渡って、透かしパターンと呼ばれる模様を等しい強さで加算して電子透かしを埋め込んだ画像を得る方法もある。
【0014】
【発明が解決しようとする課題】
しかしながら、上記のRef.1 に示す方法は、以下のような問題がある。
【0015】
I. 部分切取りに対する耐性が低い。
【0016】
II. 原画像サイズの直交変換を用いるため処理が重い。
【0017】
III. 透かし埋め込みによる画質劣化が大きい。
【0018】
IV. 透かし情報の検出時に透かし情報の取り得る値全てについて試行を行うので、処理が重い。
【0019】
また、上記のRef.2 に示す方法は、非可逆圧縮に対する耐性を有するが、色変換、コントラスト変更、部分切取りに対する耐性が低いという問題がある。また、正規化によって画像の複雑部分には強く、平坦部分には弱く埋め込むことにより画質/耐性の向上を狙っているがあまり有効に機能しない。また、Ref.2 における透かし情報検出時には、埋め込み時の正規化までの処理を行い、鍵情報と正規化周波数成分行列から透かし情報を検出する。これにより、ブロックサイズが画像サイズと同じ場合、拡大/縮小に対する耐性を持つ。しかし、検出した透かし情報の信頼度の定量的評価をしていない。また、透かし埋め込みによる画質劣化が大きいという問題がある。
【0020】
また、Ref.3 に示す方法は、非可逆圧縮や色変換などに非常に弱い。また、多ビット埋め込みの場合、ブロック毎に1ビットを埋め込むので、幾何学的改変に対する耐性が弱くなるという問題がある。
【0021】
さらに、電子透かしを埋め込む際に、透かしパターンという模様を等しい強さで埋め込む方法は、一般に画像の平坦部分は複雑な部分よりも劣化に対して知覚されやすいので、平坦部分で劣化が知覚されない程度の強さでしか透かしパターンを画像に加算することができないという問題がある。
【0022】
本発明は、上記の点に鑑みなされたもので、埋め込み処理を高速に行うことが可能であると共に、検出処理において、原画像がなく、部分画像が原画像のどの部分に相当するかが分からない場合においても、部分画像からの電子透かしを検出することが可能な、電子透かし埋め込み方法及び電子透かし検出方法及び電子透かし埋め込み装置、及び電子透かし検出装置、及び電子透かし埋め込みプログラムを格納した記憶媒体、及び電子透かし検出プログラムを格納した記憶媒体、及び電子透かしシステムを提供することを目的とする。
【0023】
上記の問題を解決するため、本発明による電子透かし埋め込み方法は、ディジタル画像に対して電子透かしを人間の知覚に感知されないように埋め込む、電子透かしを埋め込む対象である入力画像と、電子透かしの埋め込みの強さの程度を制御するための強度パラメータと、埋め込む電子透かしと、鍵情報とを入力とし、電子透かしが埋め込まれた埋込済画像を出力とする電子透かし埋め込み方法であって、入力である鍵情報を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる 3 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを埋込対象成分位置情報として出力するステップと、電子透かしと鍵情報を入力とし、複数の拡散系列生成手段を持ち、電子透かしを予め定められたシンボル表現に変換して得られる各シンボルについて、各シンボルの位置毎に拡散系列生成手段を一つずつ対応付け、該シンボル位置に対応する拡散系列生成手段を用いて生成される鍵情報を種として得られる拡散系列により該シンボル値をスペクトラム拡散変調することによって得られる系列を重畳し、全てのシンボルについて拡散および重畳を行って得られる系列長の系列を埋込系列として出力するステップと、予め定められたブロックサイズの行数および列数を持つ複素行列である透かし係数行列を、初期値を零行列として用意するステップと、埋込対象成分位置情報と埋込系列を入力とし、透かし係数行列の、埋込対象成分位置情報の各項で指定される成分値を、埋込系列の対応する項の値に順次変更し、これを系列長の項数分繰り返すことにより前記透かし係数行列の実数成分と虚数成分を独立に変更して出力するステップと、透かし係数行列を入力とし、透かし係数行列を離散逆フーリエ変換して透かしパターンを生成し出力するステップと、入力画像と強度パラメータと透かしパターンを入力とし、透かしパターンの振幅を強度パラメータの値で増幅し、増幅後の透かしパターンをディジタル画像にタイル状に加算し、埋込済画像出力するステップとを有することを特徴とする。
また、本発明の電子透かし埋め込み方法は、ディジタル画像に対して電子透かしを人間の知覚に感知されないように埋め込む、電子透かしを埋め込む対象である入力画像と、電子透かしの埋め込みの強さの程度を制御するための強度パラメータと、埋め込む電子透かしと、鍵情報とを入力とし、電子透かしが埋め込まれた埋込済画像を出力とする電子透かし埋め込み方法であって、入力した鍵情報を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる 3 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを埋込対象成分位置情報として出力するステップと、電子透かしと鍵情報を入力とし、複数の拡散系列生成手段を持ち、複数の拡散系列生成手段の中から一つ選択し、選択された拡散系列生成手段を用いて鍵情報を種として得られる拡散系列によって、予め定められた値をスペクトラム拡散変調して得られる前記系列長の系列に対し、電子透かしを予め定められたシンボル表現に変換して得られる各シンボルについて、各シンボルの位置毎に、選択された拡散系列生成手段以外の拡散系列生成手段を一つずつ対応付け、シンボル位置に対応する拡散系列生成手段を用いて生成される鍵情報を種として得られる拡散系列によりシンボル値をスペクトラム拡散変調することによって得られる系列を重畳し、全てのシンボルについて拡散および重畳を行って得られる系列長の系列を埋込系列として出力するステップと、予め定められたブロックサイズの行数および列数を持つ複素行列である透かし係数行列を、初期値を零行列として用意するステップと、埋込対象成分位置情報と埋込系列を入力とし、透かし係数行列の、埋込対象成分位置情報の各項で指定される成分値を、埋込系列の対応する項の値に順次変更し、これを系列長の項数分繰り返すことにより透かし係数行列の実数成分と虚数成分を独立に変更して出力するステップと、透かし係数行列を入力とし、透かし係数行列を離散逆フーリエ変換して透かしパターンを生成し出力するステップと、入力画像と強度パラメータと透かしパターンを入力とし、透 かしパターンの振幅を強度パラメータの値で増幅し、増幅後の透かしパターンをディジタル画像にタイル状に加算し、埋込済画像出力するステップとを有することを特徴とする。
また、本発明の電子透かし埋め込み方法は、ディジタル画像に対して電子透かしを人間の知覚に感知されないように埋め込む、電子透かしを埋め込む対象である入力画像と、電子透かしの埋め込みの強さの程度を制御するための強度パラメータと、埋め込む電子透かしと、鍵情報とを入力とし、電子透かしが埋め込まれた埋込済画像を出力とする電子透かし埋め込み方法であって、入力した鍵情報を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる 3 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを埋込対象成分位置情報として出力するステップと、電子透かしと鍵情報を入力とし、複数の拡散系列生成手段を持ち、拡散系列手段を順序付けし,鍵情報を種として 0 番目の拡散系列生成手段で生成される拡散系列を系列長の項数だけ生成し、その振幅を予め定められた倍率で増幅してこれをバッファに保存し、電子透かしを予め定められたシンボル表現に変換して得られる各シンボルについて、鍵情報に該シンボルの値を加えた値を種として、該シンボルの桁位置( 1 桁目 , 2 桁目 , 3 桁目 , …)の順番の拡散系列生成手段を用いて生成される系列長の系列の各項を、バッファに保存された系列の対応する各項に順次加算することで重畳し、全てのシンボルについて処理を行った後のバッファの内容を埋込系列として出力するステップと、予め定められたブロックサイズの行数および列数を持つ複素行列である透かし係数行列を、初期値を零行列として用意するステップと、埋込対象成分位置情報と埋込系列を入力とし、透かし係数行列の、埋込対象成分位置情報の各項で指定される成分値を、埋込系列の対応する項の値に順次変更し、これを系列長の項数分繰り返すことにより透かし係数行列の実数成分と虚数成分を独立に変更して出力するステップと、透かし係数行列を入力とし、透かし係数行列を離散逆フーリエ変換して透かしパターンを生成し出力するステップと、入力画像と強度パラメータと透かしパターンを入力とし、透かしパターンの振幅を強度パラメータの値で増幅し、増幅後の透かしパターンをディジタル画像にタイル状に加算し、埋込済画像を出力するステップと、を有することを特徴とする。
また、本発明の電子透かし検出方法は、ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出する、電子透かしを検出する対象である検出対象画像と、鍵情報とを入力とし、電子透かしの検出結果を出力とする電子透かし検出方法であって、入力とした鍵情報を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる 3 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを検出対象成分位置情報として出力するステップと、検出対象画像と鍵情報と検出対象成分位置情報を入力とし、検出対象画像から、ブロックサイズの領域である画素ブロックを切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、該検出対象係数行列の、検出対象成分位置情報の各項で指定される成分値を順次読み取り、これを並べた 1 次元系列を検出対象系列とし、各シンボルの位置毎に、拡散系列生成手段を一つずつ対応付け、該シンボル位置に対応する拡散系列生成手段を用いて生成される鍵情報を種として得られる拡散系列を用いて、該検出対象系列をスペクトラム拡散復調することにより各検出シンボルを得て、検出シンボルの値を電子透かし情報の表現に変換して検出結果として出力するステップと、を有することを特徴とする。
また、本発明の電子透かし検出方法は、ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出する、電子透かしを検出する対象である検出対象画像と、鍵情報と、を入力とし、電子透かしの検出結果を出力とする電子透かし検出方法であって、入力とした鍵情報を乱数生成の種として乱数列を生成し、この乱数列を用い て予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる 3 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを検出対象成分位置情報として出力するステップと、鍵情報を入力とし、複数の拡散系列生成手段を持ち、複数の拡散系列生成手段の中から一つ選択し、選択された拡散系列生成手段を用いて鍵情報を種として得られる拡散系列によって、予め定められた値をスペクトラム拡散変調して得られる系列長の系列を、位置マーカ系列として出力するステップと、検出対象画像と検出対象成分位置情報と位置マーカ系列を入力とし、 2 次元座標の原点を起点として、横方向および縦方向についてブロックサイズまでの全てを走査するようにして、 2 次元座標であるオフセット候補情報を順次得て、オフセット候補情報の各々に対し、検出対象画像から、該オフセット候補情報で指定されるオフセット位置を起点としてブロックサイズの領域である画素ブロックを切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、該検出対象係数行列の、検出対象成分位置情報の各項で指定される成分値を順次読み取り、これを並べた 1 次元系列を検出対象系列とし、位置マーカ系列との相関を計算し、オフセット候補情報の中で、最大の相関値を取るときのものをオフセット情報として出力するステップと、検出対象画像と鍵情報と検出対象成分位置情報とオフセット情報を入力とし、検出対象画像から、オフセット情報で指定されるオフセット位置を起点としてブロックサイズの領域である画素ブロックを切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、該検出対象係数行列の、検出対象成分位置情報の各項で指定される成分値を順次読み取り、これを並べた 1 次元系列を検出対象系列とし、各シンボルの位置毎に、選択された拡散系列生成手段以外の拡散系列生成手段を一つずつ対応付け、該シンボル位置に対応する拡散系列生成手段を用いて生成される鍵情報を種として得られる拡散系列を用いて、検出対象系列をスペクトラム拡散復調することにより各検出シンボルを得て、検出シンボルの値を電子透かし情報の表現に変換して検出結果として出力するステップと、を有することを特徴とする。
また、本発明の電子透かし検出方法は、ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出する、電子透かしを検出する対象である検出対象画像と、鍵情報とを入力とし、電子透かしの検出結果を出力とする電子透かし検出方法であって、入力とした鍵情報を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる 3 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを検出対象成分位置情報として出力するステップと、鍵情報を入力とし、複数の拡散系列生成手段を持ち、鍵情報を種として 0 番目の拡散系列生成手段で生成される拡散系列を系列長の項数だけ生成し、これを位置マーカ系列として出力するステップと、検出対象画像と検出対象成分位置情報と位置マーカ系列を入力とし、 2 次元座標の原点を起点として、横方向および縦方向についてブロックサイズまでの全てを走査するようにして、 2 次元座標であるオフセット候補情報を順次得て、前記オフセット候補情報の各々に対し、検出対象画像から、該オフセット候補情報で指定されるオフセット位置を起点としてブロックサイズの領域である画素ブロックを切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、該検出対象係数行列の、検出対象成分位置情報の各項で指定される成分値を順次読み取り、これを並べた 1 次元系列を検出対象系列とし、位置マーカ系列との相関を計算し、オフセット候補情報の中で、最大の相関値を取るときのものをオフセット情報として出力するステップと、検出対象画像と鍵情報と検出対象成分位置情報とオフセット情報を入力とし、検出対象画像から、オフセット情報で指定されるオフセット位置を起点としてブロックサイズの領域である画素ブロックを切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、該検出対象係数行列の、検出対象成分位置情報の各項で指定される成分値を順次読み取り、これを並べた 1 次元系列を検出対象系列とし、鍵情報と取り得る全てのシンボル候補の値を加算した値を各々種として、各シン ボル位置に対応した拡散系列生成手段を用いて得られるシンボル系列と、該検出対象系列との相関を計算してシンボル検出情報を得て、各シンボル位置について最大の相関値を取るときのシンボル候補を該シンボル位置における検出シンボルとし、検出シンボルの値を電子透かし情報の表現に変換して検出結果として出力するステップと、を有することを特徴とする。
また、本発明の電子透かし検出方法は、ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出する、電子透かしを検出する対象である検出対象画像と、鍵情報とを入力とし、電子透かしの検出結果を出力とする電子透かし検出方法であって、入力とした鍵情報を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる 3 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを検出対象成分位置情報として出力するステップと、鍵情報を入力とし、複数の拡散系列生成手段を持ち、複数の拡散系列生成手段の中から一つ選択し、選択された拡散系列生成手段を用いて前記鍵情報を種として得られる拡散系列によって、予め定められた値をスペクトラム拡散変調して得られる前記系列長の系列を、位置マーカ系列として出力するステップと、検出対象画像と検出対象成分位置情報と位置マーカ系列を入力とし、検出対象画像の予め定められた位置から、ブロックサイズの領域である画素ブロックを切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、 2 次元座標の原点を起点として、横方向および縦方向についてブロックサイズまでの全てを走査するようにして、 2 次元座標であるオフセット候補情報を順次得て、該検出対象係数行列の、前記検出対象成分位置情報の各項で指定される成分値を順次読み取り、これを並べた 1 次元系列の各項に対し該オフセット候補情報に対応する位相差を与えて得られる系列を検出対象系列とし、位置マーカ系列との相関を計算し、オフセット候補情報の中で、最大の相関値を取るときのものをオフセット情報として出力するステップと、検出対象画像と鍵情報と検出対象成分位置情報とオフセット情報を入力とし、検出対象画像の予め定められた位置から、ブロックサイズの領域である画素ブロックを切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、該検出対象係数行列の、検出対象成分位置情報の各項で指定される成分値を順次読み取り、これを並べた 1 次元系列の各項に対し該オフセット候補情報に対応する位相差を与えて得られる系列を検出対象系列とし、各シンボルの位置毎に、選択された拡散系列生成手段以外の拡散系列生成手段を一つずつ対応付け、該シンボル位置に対応する拡散系列生成手段を用いて生成される鍵情報を種として得られる拡散系列を用いて、検出対象系列をスペクトラム拡散復調することにより各検出シンボルを得て、検出シンボルの値を電子透かし情報の表現に変換して検出結果として出力するステップと、を有することを特徴とする。
また、本発明の電子透かし検出方法は、ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出する、電子透かしを検出する対象である検出対象画像と、鍵情報)とを入力とし、電子透かしの検出結果を出力とする電子透かし検出方法であって、入力とした鍵情報を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる 3 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを検出対象成分位置情報として出力するステップと、鍵情報を入力とし、複数の拡散系列生成手段を持ち、鍵情報を種として 0 番目の拡散系列生成手段で生成される拡散系列を前記系列長の項数だけ生成し、これを位置マーカ系列として出力するステップと、検出対象画像と検出対象成分位置情報と位置マーカ系列を入力とし、検出対象画像の左上の位置から、ブロックサイズの領域である画素ブロックを切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、 2 次元座標の原点を起点として、横方向および 縦方向についてブロックサイズまでの全てを走査するようにして、 2 次元座標であるオフセット候補情報を順次得て、該検出対象係数行列の、検出対象成分位置情報の各項で指定される成分値を順次読み取り、これを並べた 1 次元系列の各項に対し該オフセット候補情報に対応する位相差を与えて得られる系列を検出対象系列とし、前記位置マーカ系列との相関を計算し、オフセット候補情報の中で、最大の相関値を取るときのものをオフセット情報として出力するステップと、検出対象画像と鍵情報と検出対象成分位置情報とオフセット情報を入力とし、前記検出対象画像の左上の位置から、ブロックサイズの領域である画素ブロックを切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、該検出対象係数行列の、検出対象成分位置情報の各項で指定される成分値を順次読み取り、これを並べた 1 次元系列の各項に対し該オフセット候補情報に対応する位相差を与えて得られる系列を検出対象系列とし、鍵情報と取り得る全てのシンボル候補の値を加算した値を各々種として、各シンボル位置に対応した拡散系列生成手段を用いて得られるシンボル系列と、該検出対象系列との相関を計算してシンボル検出情報を得て、各シンボル位置について最大の相関値を取るときのシンボル候補を該シンボル位置における検出シンボルとし、検出シンボルの値を電子透かし情報の表現に変換して検出結果として出力するステップと、を有することを特徴とする。
また、本発明の電子透かし検出方法は、オフセット情報を出力するステップ、および検出結果を出力するステップにおいて、検出対象画像を入力するステップと、検出対象画像の左上からブロックサイズの画素ブロックを切り取り出力するステップにおいて、検出対象画像から切り出せる画像領域がブロックサイズに満たない場合には、ブロックサイズに含まれる前記検出対象画像の画素領域の画素値の平均値を求めるステップと、該平均値でブロックサイズの不足分を埋めたものを画素ブロックとして出力するステップと、を有することを特徴とする。
また、本発明の電子透かし検出方法は、オフセット情報を出力するステップ、および検出結果を出力するステップにおいて、検出対象画像を入力とし画素ブロックを出力とするステップとして、検出対象画像を左上からブロックサイズのブロック群に分割し、全てのブロックを加算して得られる加算ブロックを画素ブロックとして出力するステップと、
を有することを特徴とする。
また、本発明の電子透かし検出方法は、オフセット情報を出力するステップにおいて、算出した最大の相関値が、予め定められた閾値に満たない場合に処理を中断し、電子透かしの検出に失敗した旨の検出結果を出力するステップと、を有することを特徴とする。
また、本発明の電子透かし検出方法は、検出結果を出力するステップにおいて、各シンボル位置毎に算出した最大の相関値の中で、予め定められた閾値に満たないものがある場合に処理を中断し、電子透かしの検出に失敗した旨の検出結果を出力するステップとを有することを特徴とする。
また、本発明の電子透かし検出方法は、閾値として、特定の確率分布の分布関数の値に基づいて定められた閾値を適用することを特徴とする。
また、本発明の電子透かし検出方法は、確率分布の分布関数として、正規分布の分布関数を適用することを特徴とする。
また、本発明の電子透かし埋め込み方法は、ディジタル画像に対して電子透かしを人間の知覚に感知されないように埋め込む、電子透かしを埋め込む対象である入力画像と、電子透かしの埋め込みの強さの程度を制御するための強度パラメータと、埋め込む電子透かしと、鍵情報とを入力とし、電子透かしが埋め込まれた埋込済画像を出力とする電子透かし埋め込み方法であって、入力とした鍵情報を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指 定するためのフラグ、からなる 3 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを埋込対象成分位置情報として出力するステップと、電子透かしと鍵情報を入力とし、少なくとも一つの拡散系列生成手段を持ち、前記拡散系列生成手段に前記鍵情報を与えることにより生成される拡散系列を用いて前記電子透かしをスペクトラム拡散変調することによって得られる系列を埋込系列として出力するステップと、予め定められたブロックサイズの行数および列数を持つ複素行列である透かし係数行列を、初期値を零行列として用意するステップと、埋込対象成分位置情報と前記埋込系列を入力とし、透かし係数行列の、埋込対象成分位置情報の各項で指定される成分値を、前記埋込系列の対応する項の値に順次変更し、これを系列長の項数分繰り返すことにより透かし係数行列の実数成分と虚数成分を独立に変更して出力するステップと、透かし係数行列を入力とし、透かし係数行列を離散逆フーリエ変換して透かしパターンを生成し出力するステップと、入力画像と強度パラメータと透かしパターンを入力とし、透かしパターンの振幅を強度パラメータの値で増幅し、増幅後の透かしパターンを前記ディジタル画像にタイル状に加算し、埋込済画像出力するステップと、を有することを特徴とする。
また、本発明の電子透かし埋め込み方法は、ディジタル画像に対して電子透かしを人間の知覚に感知されないように埋め込む、電子透かしを埋め込む対象である入力画像と、電子透かしの埋め込みの強さの程度を制御するための強度パラメータと、埋め込む電子透かしと、鍵情報とを入力とし、電子透かしが埋め込まれた埋込済画像を出力とする電子透かし埋め込み方法であって、入力とした鍵情報を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる 3 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを埋込対象成分位置情報として出力するステップと、電子透かしと鍵情報を入力とし、複数の拡散系列生成手段を持ち、複数の拡散系列生成手段から少なくとも一つの拡散系列生成手段を選択し,選択された拡散系列生成手段に鍵情報を与えることにより生成される拡散系列を用いて,予め定められた値をスペクトラム拡散変調して系列長の系列を得て,選択された拡散系列生成手段以外の少なくとも一つの拡散系列に鍵情報を与えることにより生成される拡散系列を用いて,電子透かしをスペクトラム拡散変調することによって得られる系列を,予め定められた値をスペクトラム拡散変調して得られた系列に重畳して,埋込系列として出力するステップと、予め定められたブロックサイズの行数および列数を持つ複素行列である透かし係数行列を、初期値を零行列として用意するステップと、埋込対象成分位置情報と前記埋込系列を入力とし、透かし係数行列の、前記埋込対象成分位置情報の各項で指定される成分値を、前記埋込系列の対応する項の値に順次変更し、これを系列長の項数分繰り返すことにより前記透かし係数行列の実数成分と虚数成分を独立に変更して出力するステップと、透かし係数行列を入力とし、前記透かし係数行列を離散逆フーリエ変換して透かしパターンを生成し出力するステップと、入力画像と前記強度パラメータと透かしパターンを入力とし、透かしパターンの振幅を強度パラメータ(102)の値で増幅し、増幅後の透かしパターンをディジタル画像にタイル状に加算し、埋込済画像出力するステップと、を有することを特徴とする。
また、本発明の電子透かし検出方法は、ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出する、電子透かしを検出する対象である検出対象画像と、鍵情報とを入力とし、電子透かしの検出結果を出力とする電子透かし検出方法であって、入力とした鍵情報を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる 3 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを検出対象成分位置情報として出力するステップと、検出対象画像と鍵情報と検出対象成分位置情報を入力とし、検出対象画像から、ブロックサイズの領域である画素ブロック を少なくとも一つ切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、該検出対象係数行列の、検出対象成分位置情報の各項で指定される成分値を順次読み取り、これを並べた 1 次元系列を検出対象系列とし、少なくとも一つの拡散系列生成手段に鍵情報を与えることにより得られる拡散系列を用いて、該検出対象系列をスペクトラム拡散復調することにより電子透かし情報を検出し,検出結果として出力するステップと、を有することを特徴とする。
また、本発明の電子透かし検出方法は、ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出する、電子透かしを検出する対象である検出対象画像と、鍵情報とを入力とし、電子透かしの検出結果を出力とする電子透かし検出方法であって、鍵情報を入力とし、鍵情報を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる 3 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを検出対象成分位置情報として出力するステップと、鍵情報を入力とし、複数の拡散系列生成手段を持ち、複数の拡散系列生成手段から少なくとも一つの拡散系列生成手段を選択し,選択された拡散系列生成手段に鍵情報を与えることにより生成される拡散系列を用いて,予め定められた値をスペクトラム拡散変調して前記系列長の系列を得て,これを位置マーカ系列として出力するステップと、検出対象画像と検出対象成分位置情報と位置マーカ系列を入力とし、検出対象画像の任意の位置から少なくとも一つのブロックサイズの領域である画素ブロックを切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、 2 次元座標の原点を起点として、横方向および縦方向についてブロックサイズまでの全てを走査するようにして、 2 次元座標であるオフセット候補情報を順次得て、該検出対象係数行列の、検出対象成分位置情報の各項で指定される成分値を順次読み取り、これを並べた 1 次元系列の各項に対し該オフセット候補情報に対応する位相差を与えて得られる系列を検出対象系列とし、位置マーカ系列との相関を計算し、オフセット候補情報の中で、最大の相関値を取るときのものをオフセット情報として出力するステップと、検出対象画像と鍵情報と検出対象成分位置情報とオフセット情報を入力とし、オフセット情報で表される位相差を与えて得られる検出対象系列と,複数の拡散系列生成手段のうち選択されたものを除いた中から少なくとも一つの拡散系列生成手段に鍵情報を与えて得られる拡散系列により,該検出対象系列をスペクトラム拡散復調することにより電子透かし情報を検出し,検出結果として出力するステップと、を有することを特徴とする。
図1は、本発明の第1の原理を説明するための図である。
【0024】
本発明の参考例(原出願の請求項1)は、ディジタル画像に対して電子透かしを人間の知覚に感知されないように埋め込みを行う電子透かし埋込方法において、
電子透かしをディジタル原画像に埋め込む際に、
鍵情報とディジタル画像に埋め込む電子透かしから複素行列である透かし係数行列の各係数値の実数成分と虚数成分を独立に変更し(ステップ1)、
変更後の透かし系列行列を離散逆フーリエ変換して、透かしパターンを生成し(ステップ2)、
透かしパターンを原画像にタイル状に加算し(ステップ3)、埋め込み済画像を生成する(ステップ4)。
【0025】
本発明の参考例(原出願の請求項2)は、鍵情報から電子透かしを埋め込む長さの系列である埋め込み対象成分位置情報を生成し、
鍵情報を用いて、位置マーカ情報と電子透かしを埋め込み系列に拡散し、
埋め込み対象成分位置情報と埋め込み系列を用いて、初期値が零行列の複素行列である透かし係数行列の成分値を変更し、
透かし係数行列を離散逆フーリエ変換し、透かしパターンを生成し、
透かしパターンを強度パラメータによって強調し、
強調された透かしパターンを入力された画像にタイル状に加算して得られる埋め込み済画像を生成する。
【0026】
本発明の参考例(原出願の請求項3)は、埋め込み対象成分位置情報を生成する際に、
鍵情報を初期値とする乱数列を生成し、
乱数列から埋め込み対象成分位置情報を生成する。
【0027】
本発明の参考例(原出願の請求項4)は、位置マーカ情報と電子透かしを埋込系列に拡散する際に、
鍵情報を初期値とする0番目の拡散系列を生成し、
拡散系列を位置マーカ情報を表す系列とし、所定倍して格納しておき、
電子透かしをシンボル表現に変換し、シンボル総数及び各シンボル値を取得し、
鍵情報にシンボル値を加えたものを初期値とする拡散系列を生成し、シンボルを表す系列として、格納されている拡散系列の各項に加え、
格納されている値の平均値を求め、各項から平均値を減算した値を埋め込み系列とする。
【0028】
本発明の参考例(原出願の請求項5)は、拡散系列を生成する際に、
拡散系列として、+1または、−1のいずれかを用いる。
【0029】
本発明の参考例(原出願の請求項6)は、位置マーカ情報と電子透かしを埋め込み系列に拡散する際に、 鍵情報を初期値として、拡散系列を生成し、所定のパラメータを該拡散系列に乗算して、記憶手段に保持し、
電子透かしをシンボル表現に変換し、該シンボル表現のシンボルに対応する拡散系列を、記憶手段の各項に加算し、
記憶手段の各項から平均値を減算した結果を埋め込み系列とする。
【0030】
本発明の参考例(原出願の請求項7)は、拡散系列を生成する際に、
拡散系列として、+1または、−1のいずれかを用いる。
【0031】
本発明の参考例(原出願の請求項8)は、ディジタル画像に対して人間の知覚に感知されないように電子透かしが埋め込まれた検出対象画像から該電子透かしを検出するための電子透かし検出方法において、
検出対象画像に埋め込まれている電子透かしを検出する際に、
検出対象画像の任意の位置からブロックを切り出し(ステップ5)、
ブロックを離散フーリエ変換して、係数行列を取得し(ステップ6)、
鍵情報によって指定される検出対象成分位置情報を生成し(ステップ7)、
検出対象成分位置情報の各項に平行移動量による係数の位相差を掛け算し、位置マーカ系列を生成し(ステップ8)、埋め込まれている透かしパターンの開始点と検出対象画像から切り出した画素ブロックの開始点が一致する時の平行移動量であるオフセット情報を抽出し(ステップ9)、
オフセット情報に基づいて切り出した画素ブロックから埋め込まれている電子透かしを検出する(ステップ10)。
【0032】
本発明の参考例(原出願の請求項9)は、鍵情報から検出対象成分位置情報を生成する際に、
鍵情報を初期値とする乱数列を生成し、
乱数列から検出対象成分位置情報を生成する。
【0033】
本発明の参考例(原出願の請求項10)は、位置マーカ系列を生成する際に、
鍵情報を初期値とする0番目の拡散系列を生成し、
拡散系列を位置マーカ系列として出力する。
【0034】
本発明の参考例(原出願の請求項11)は、オフセット情報を抽出する際に、
オフセット候補情報を生成し、
検出対象画像のオフセット候補情報の位置から画素ブロックを切り出し、
画素ブロックを離散フーリエ変換し、検出対象係数行列を生成し、
検出対象成分位置情報と検出対象係数行列から検出対象系列を生成し、
位置マーカ系列と検出対象系列の相関値とオフセット候補情報を組にして、位置マーカ検出情報を生成し、
位置マーカ系列と検出対象系列の相関値が最大の時のオフセット候補情報をオフセット情報として抽出する。
【0035】
本発明の参考例(原出願の請求項12)は、電子透かしを検出する際に、
検出対象画像からオフセット候補情報だけ平行移動した位置から、N×N画素の画素ブロックを切り出し、
画素ブロックを離散フーリエ変換し、検出対象係数行列を生成し、
検出対象成分位置情報と検出対象係数行列から検出対象系列を生成し、
検出対象系列と鍵情報からシンボル検出情報を生成し、
シンボル検出情報から検出シンボルを生成し、
各検出シンボルから検出結果を電子透かしとして検出して出力する。
【0036】
本発明の参考例(原出願の請求項13)は、電子透かしを検出する際に、
シンボル検出情報からシンボル位置毎にシンボル位置毎系列を生成し、
各シンボル位置毎系列の中で最大値をとる時のシンボル候補を検出シンボルとし、
検出シンボルを逆シンボル変換し、検出結果を取得する。
【0037】
本発明の参考例(原出願の請求項14)は、電子透かしを検出する際に、
切り出した画素ブロックをオフセット情報によりサイクリックシフトすることにより画素ブロックを出力する。
【0038】
本発明の参考例(原出願の請求項15)は、電子透かしを検出する際に、
検出対象画像がN×Nサイズ以上である場合には、該検出対象画像からN×N画素の画素ブロックを切り出し、
検出対象画像がN×Nサイズより小さい場合には、該検出対象画像のN×Nサイズに含まれる検出対象画像部分の平均画素値を求め、該N×Nサイズに足りない部分を該平均画素値で埋め、画素ブロックを生成し、
切り出された画素ブロックをサイクリックシフトすることにより画素ブロックを出力する。
【0039】
本発明の参考例(原出願の請求項16)は、電子透かしを検出する際に、
検出対象画像のオフセットの位置から画素ブロックを分割し、
分割された画素ブロックを離散フーリエ変換し、検出対象係数行列を生成し、
検出対象成分位置情報と、検出対象係数行列から検出対象系列を生成し、
検出対象系列と鍵情報からシンボル検出情報を生成し、
シンボル検出情報から画素ブロックを出力する。
【0040】
本発明の参考例(原出願の請求項17)は、電子透かしを検出する際に、
検出対象画像を画素ブロックに分割し、該画素ブロックをオフセット情報によりサイクリックシフトし、
サイクリックシフトされた画素ブロックを離散フーリエ変換し、検出対象系列行列を生成し、
検出対象成分位置情報と検出対象係数行列から検出対象系列を生成し、
検出対象系列と鍵情報からシンボル検出情報を生成し、
シンボル検出情報から各検出シンボルを生成し、
検出シンボルから電子透かしを検出する。
【0041】
本発明の参考例(原出願の請求項18)は、電子透かしを検出する際に、
検出対象画像を画素ブロックに分割し、該画素ブロックをオフセットによりサイクリックシフトし、このとき、該検出対象画像の端の辺りでN×Nサイズに満たない部分については、足りない部分を平均画素値で埋め、
画素ブロックを離散フーリエ変換し、検出対象係数行列を生成し、
検出対象成分位置情報と検出対象係数行列から検出対象系列を生成し、
検出対象系列と鍵情報からシンボル検出情報を生成し、
シンボル検出情報から各検出シンボルを生成し、
検出シンボルから電子透かしを検出する。
【0042】
本発明の参考例(原出願の請求項19)は、位置マーカ系列を生成する際に、
検出対象画像をオフセット情報によりブロックに分割し、
画素ブロックの画素値が加算された加算ブロックを画素ブロックとして出力する。
【0043】
本発明の参考例(原出願の請求項20)は、位置マーカ系列を生成する際に、
検出対象画像をブロックに分割し、
分割されたブロックの画素値を加算して得られたブロックを加算ブロックとし、
加算ブロックをオフセット情報によりサイクリックシフトし、画素ブロックを生成する。
【0044】
本発明の参考例(原出願の請求項21)は、位置マーカ系列を生成する際に、
検出対象画像をブロックに分割し、このとき、該検出対象画像の端の辺りで1ブロックに満たない画素領域について、分割時の検出対象画像相当分の平均値を求めて埋め、それでも足りない部分は検出対象画像相当分の画素値の平均値を求め、該平均値で埋めてブロックとし、
分割されたブロックの画素値を加算して得られたブロックを加算ブロックとし、
加算ブロックをオフセット情報によりサイクリックシフトし、画素ブロックを生成する。
【0045】
本発明の参考例(原出願の請求項22)は、位置マーカ系列を生成する際に、検出対象系列生成後に、該検出対象系列の平均を0に変える。
【0046】
本発明の参考例(原出願の請求項23)は、電子透かしを検出する際に、検出対象系列を生成した後に、該検出対象系列の平均を0に変える。
【0047】
本発明の参考例(原出願の請求項24)は、位置マーカ系列の検出時にオフセット情報を抽出する際に、すべての位置マーカ検出情報の最大値を求め、所定の閾値より該最大値が小さい場合には、オフセットの検出に失敗したことを表す信号を出力し、該最大値が該所定の閾値以上である場合には、該最大値をとるときのオフセット情報を出力する。
【0048】
本発明の参考例(原出願の請求項25)は、電子透かしを検出する際に、
シンボル検出情報をシンボル位置毎に分割して、シンボル位置毎系列を生成し、
シンボル位置毎系列の最大値を求め、
最大値が所定の閾値より小さい場合には、検出対象画像に埋め込まれている電子透かしの検出に失敗したことを表す信号を出力し、該最大値が該所定の閾値以上の場合には、該最大値をとるときのシンボル候補を検出シンボルとし、
検出シンボルから電子透かしの表現に変換する。
【0049】
本発明の参考例(原出願の請求項26)は、閾値として、平均0、分散1の正規分布の分布関数の値に基づいて定められた閾値を適用する。
【0050】
本発明の参考例(原出願の請求項27)は、ディジタル画像に対して人間の知覚に感知されないように電子透かしが埋め込まれた検出対象画像から該電子透かしを検出するための電子透かし検出方法において、
検出対象画像から電子透かしを検出する際に、
鍵情報から検出対象成分位置情報を生成し、
鍵情報から位置マーカ系列を生成し、
検出された位置マーカ検出情報により、埋め込み時の透かしパターンの開始点と検出対象画像から切り出した画素ブロックの開始点とのずれを表すオフセット情報を検出し、
オフセット情報を用いて画素ブロックに埋め込まれている電子透かしを検出する。
【0051】
本発明の参考例(原出願の請求項28)は、検出対象成分位置情報を生成する際に、
鍵情報を初期値とする乱数列を生成し、
乱数列を元に、埋め込まれている埋め込み系列の長さと同じ長さの検出対象成分位置情報を生成する。
【0052】
本発明の参考例(原出願の請求項29)は、位置マーカ系列を生成する際に、
鍵情報を初期値とする最初の拡散系列を生成し、該拡散系列を位置マーカ系列とする。
【0053】
本発明の参考例(原出願の請求項30)は、位置マーカ検出情報を検出する際に、
検出対象画像と検出対象成分位置情報と位置マーカ系列を用いて、該検出対象画像からN×Nサイズの画素ブロックを切り出し、
画素ブロックを離散フーリエ変換して、検出対象係数行列を生成し、
オフセット情報、検出対象係数行列、及び検出対象成分位置情報から検出対象系列を生成し、
位置マーカ系列と検出対象系列との相関値を組にして位置マーカ検出情報とする。
【0054】
本発明の参考例(原出願の請求項31)は、位置マーカ系列を生成する際に、
検出対象画像をN×Nサイズのブロックに分割し、
すべてのブロックの画素値が加算された加算ブロックを画素ブロックとする。
【0055】
本発明の参考例(原出願の請求項32)は、電子透かしを検出する際に、
検出対象画像と、検出対象成分位置情報とオフセット情報及び鍵情報を用いて、該検出対象画像から画素ブロックを切り出し、
画素ブロックを離散フーリエ変換して、検出対象係数行列を生成し、
オフセット情報、検出対象係数行列、及び検出対象成分位置情報から検出対象系列を生成し、
鍵情報とシンボル候補情報から生成される系列と検出対象系列との相関値からシンボル検出結果を生成し、
シンボル検出結果の各シンボル位置に基づいて、鍵情報とシンボル候補情報から生成される系列と検出対象系列との相関値が最大時のシンボル候補値を検出シンボルとし、
検出シンボルを電子透かしの形式に変換した結果を出力する。
【0056】
本発明の参考例(原出願の請求項33)は、位置マーカ系列を生成する際に、
検出対象画像からN×Nサイズのブロックを切り出した時、該検出対象画像からN×Nサイズに切り出せない場合には、N×Nサイズで切り出そうとした時に含まれる検出対象画像相当分のみを切り出し、N×Nサイズで足りない部分は、該検出対象画像相当分の画素値の平均を求め、該平均で足りない部分を埋める。
【0057】
本発明の参考例(原出願の請求項34)は、電子透かしを検出する際に、
検出対象画像から画素ブロックを分割し、
画素ブロックを離散フーリエ変換し、検出対象係数行列を生成し、
オフセット情報と検出対象成分位置情報と検出対象係数行列から検出対象系列を生成し、
検出対象系列と鍵情報から検出シンボルを生成し、
検出シンボルから副画像を検出する。
【0058】
本発明の参考例(原出願の請求項35)は、検出対象画像から画素ブロックを分割する際に、検出対象画像からN×Nサイズのブロックを切り出した時、該検出対象画像からN×Nサイズに切り出せない場合には、N×Nサイズで切り出そうとした時に含まれる検出対象画像相当分のみを切り出し、N×Nサイズで足りない部分について、該検出対象画像相当分の画素値の平均値を求めて埋める。
【0059】
本発明の参考例(原出願の請求項36)は、位置マーカ系列を検出する際及び、電子透かしを検出する際に、検出対象画像をN×Nサイズのブロックに分割し、すべてのブロックの画素値が加算された加算ブロックを画素ブロックとする。
【0060】
本発明の参考例(原出願の請求項37)は、電子透かしを検出する際に、検出対象画像からN×Nサイズのブロックを切り出した時、該検出対象画像からN×Nサイズに切り出せない場合には、N×Nサイズで切り出そうとした時に含まれる検出対象画像相当分のみを切り出し、N×Nサイズで足りない部分は、該検出対象画像相当分の画素値の平均値を求め、該平均値で足りない部分を埋める。
【0061】
本発明の参考例(原出願の請求項38)は、位置マーカ系列を検出する際に、検出対象系列を生成した後に、該検出対象系列の平均を0に変える処理を行う。
【0062】
本発明の参考例(原出願の請求項39)は、請求項32において電子透かしを検出する際に、検出対象系列の生成後に、該検出対象系列の平均を0に変える処理を行う。
【0063】
本発明の参考例(原出願の請求項40)は、請求項34において電子透かしを検出する際に、検出対象系列の生成後に、該検出対象系列の平均を0に変える処理を行う。
【0064】
本発明の参考例(原出願の請求項41)は、オフセット情報を検出する際に、
位置マーカ検出情報の最大値を求め、
最大値が所定の閾値より小さい場合には、オフセット情報の検出に失敗したことを表す信号を出力し、
最大値が所定の閾値以上の場合には、該最大値をとる時のオフセット情報を出力する。
【0065】
本発明の参考例(原出願の請求項42)は、電子透かしを検出する際に、
シンボル検出結果をシンボル位置毎に分割し、
シンボル位置毎のシンボル位置毎系列の最大値を求め、
最大値が所定の閾値より小さい場合には、検出対象画像に埋め込まれている電子透かしの検出に失敗したことを表す信号を出力し、
最大値が所定の閾値以上の場合には、該最大値をとる時のシンボル候補を出力する。
【0066】
本発明の参考例(原出願の請求項43)は、上記の閾値として、平均0、分散1の正規分布の分布関数の値に基づいて定められた閾値を用いる。
【0067】
図2は、本発明の第1の原理構成図である。
【0068】
本発明の参考例(原出願の請求項44)は、ディジタル画像に対して人間の知覚に感知されないように電子透かしの埋め込みを行う電子透かし埋込装置であって、
鍵情報とディジタル画像に埋め込む電子透かしから複素行列である透かし係数行列の各係数値の実数成分と虚数成分を独立に変更する変更手段1Aと、
変更後の透かし系列行列を離散逆フーリエ変換して、透かしパターンを生成する透かしパターン生成手段2Aと、
透かしパターンを原画像にタイル状に加算する加算手段3Aと、埋め込み済画像を生成する画像生成手段4Aとを有する。
【0069】
本発明の参考例(原出願の請求項45)は、鍵情報から電子透かしを埋め込む長さの系列である埋め込み対象成分位置情報を生成する埋め込み対象成分指定手段と、
鍵情報を用いて、位置マーカ情報と電子透かしを埋め込み系列に拡散する埋め込み系列生成手段と、
埋め込み対象成分位置情報と埋め込み系列を用いて、初期値が零行列の複素行列である透かし係数行列の成分値を変更する成分値変更手段と、
透かし係数行列を離散逆フーリエ変換し、透かしパターンを生成する離散逆フーリエ変換手段と、
透かしパターンを強度パラメータによって強調し、強調された透かしパターンを入力された画像にタイル状に加算して得られる埋め込み済画像を生成する透かしパターン加算手段とを有する。
【0070】
本発明の参考例(原出願の請求項46)は、埋め込み対象成分指定手段において、
鍵情報を初期値とする乱数列を生成する乱数生成手段を含み、
乱数列から埋め込み対象成分位置情報を生成する手段を含む。
【0071】
本発明の参考例(原出願の請求項47)は、埋め込み系列生成手段において、
鍵情報を初期値とする0番目の拡散系列を生成し、該拡散系列を位置マーカ情報を表す系列とし、所定倍して格納しておき、電子透かしをシンボル表現に変換し、シンボル総数及び各シンボル値を取得し、鍵情報にシンボル値を加えたものを初期値とする拡散系列を生成し、シンボルを表す系列として、格納されている拡散系列の各項に加え、格納されている値の平均値を求め、各項から平均値を減算した値を埋め込み系列とする手段を含む。
【0072】
本発明の参考例(原出願の請求項48)は、埋め込み系列生成手段において、拡散系列として、+1または、−1のいずれかを用いる。
【0073】
本発明の参考例(原出願の請求項49)は、埋め込み系列生成手段において、
鍵情報を初期値として、拡散系列を生成し、所定のパラメータを該拡散系列に乗算して、記憶手段に保持し、電子透かしをシンボル表現に変換し、該シンボル表現のシンボルに対応する拡散系列を、記憶手段の各項に加算し、該記憶手段の各項から平均値を減算した結果を埋め込み系列とする手段を含む。
【0074】
本発明の参考例(原出願の請求項50)は、埋め込み系列生成手段において、拡散系列として、+1または、−1のいずれかを用いる。
【0075】
本発明の参考例(原出願の請求項51)は、ディジタル画像に対して人間の知覚に感知されないように電子透かしが埋め込まれた検出対象画像から該電子透かしを検出するための電子透かし検出装置であって、
鍵情報から検出対象成分位置情報を生成する検出対象成分指定手段5Aと、
鍵情報から位置マーカ系列を生成する位置マーカ系列生成手段6Aと、
位置マーカ系列を検出し、埋め込み時の透かしパターンの開始点と検出対象画像から切り出した画素ブロックの開始点が一致する時のオフセット情報を抽出する位置マーカ検出手段7Aと、
オフセット情報に基づいて切り出した画素ブロックから埋め込まれている電子透かしを検出する電子透かし検出手段8Aとを有する。
【0076】
本発明の参考例(原出願の請求項52)は、検出対象成分指定手段5Aにおいて、
鍵情報を初期値とする乱数列を生成する手段を含み、
乱数列から検出対象成分位置情報を生成する手段を含む。
【0077】
本発明の参考例(原出願の請求項53)は、位置マーカ系列生成手段6Aにおいて、
鍵情報を初期値とする0番目の拡散系列を生成し、該拡散系列を位置マーカ系列として出力する手段を含む。
【0078】
本発明の参考例(原出願の請求項54)は、位置マーカ検出手段7Aにおいて、
オフセット候補情報を生成し、検出対象画像のオフセット候補情報の位置から画素ブロックを切り出す手段と、
画素ブロックを離散フーリエ変換し、検出対象係数行列を生成する手段と、
検出対象成分位置情報と検出対象係数行列から検出対象系列を生成する手段と、
位置マーカ系列と該検出対象系列の相関値と該オフセット候補情報を組にして、位置マーカ検出情報を生成する手段と、
位置マーカ系列と該検出対象系列の相関値が最大の時のオフセット候補情報をオフセット情報として抽出する手段を含む。
【0079】
本発明の参考例(原出願の請求項55)は、電子透かし検出手段8Aにおいて、
検出対象画像からオフセット候補情報だけ平行移動した位置から、N×N画素の画素ブロックを切り出す手段と、
画素ブロックを離散フーリエ変換し、検出対象係数行列を生成する手段と、
検出対象成分位置情報と検出対象係数行列から検出対象系列を生成する手段と、
検出対象系列と鍵情報からシンボル検出情報を生成する手段と、
シンボル検出情報から各検出シンボルを生成する手段と、
各検出シンボルから検出結果を電子透かしとして出力する手段とを含む。
【0080】
本発明の参考例(原出願の請求項56)は、電子透かし検出手段8Aにおいて、
シンボル検出情報から各シンボル位置毎に各シンボル位置毎系列を生成する手段と、
各シンボル位置毎系列の中で最大値をとる時のシンボル候補を検出シンボルとし、検出シンボルを逆シンボル変換し、検出結果を取得する手段とを含む。
【0081】
本発明の参考例(原出願の請求項57)は、電子透かし検出手段8Aにおいて、
切り出した画素ブロックをオフセットによりサイクリックシフトすることにより画素ブロックを出力する手段を含む。
【0082】
本発明の参考例(原出願の請求項58)は、電子透かし検出手段8Aにおいて、
検出対象画像がN×Nサイズ以上である場合には、該検出対象画像からN×N画素の画素ブロックを切り出す手段と、
検出対象画像がN×Nサイズより小さい場合には、該検出対象画像のN×Nサイズに含まれる検出対象画像部分の平均画素値を求め、該N×Nサイズに足りない部分を該平均画素値で埋め、画素ブロックを生成する手段と、
切り出された画素ブロックをサイクリックシフトすることにより画素ブロックを出力する手段を含む。
【0083】
本発明の参考例(原出願の請求項59)は、電子透かし検出手段8Aにおいて、
検出対象画像のオフセットの位置から画素ブロックを分割する手段と、
分割された画素ブロックを離散フーリエ変換し、検出対象係数行列を生成する手段と、
検出対象成分位置情報と、検出対象係数行列から検出対象系列を生成する手段と、
検出対象系列と鍵情報からシンボル検出情報を生成する手段と、
シンボル検出情報から画素ブロックを出力する手段とを含む。
【0084】
本発明の参考例(原出願の請求項60)は、電子透かし検出手段8Aにおいて、
検出対象画像を画素ブロックに分割し、該画素ブロックをオフセットでサイクリックシフトする手段と、
サイクリックシフトされた画素ブロックを離散フーリエ変換し、検出対象系列行列を生成する手段と、
検出対象成分位置情報と検出対象係数行列から検出対象系列を生成する手段と、
検出対象系列と鍵情報からシンボル検出情報を生成する手段と、
シンボル検出情報から各検出シンボルを生成する手段と、
検出シンボルから電子透かしを検出する手段とを含む。
【0085】
本発明の参考例(原出願の請求項61)は、電子透かし検出手段8Aにおいて、
検出対象画像を画素ブロックに分割し、該画素ブロックをオフセットでサイクリックシフトし、このとき、検出対象画像の端の辺りでN×Nサイズに満たない部分については、足りない部分を平均画素値で埋める手段と、
画素ブロックを離散フーリエ変換し、検出対象係数行列を生成する手段と、
検出対象成分位置情報と検出対象係数行列から検出対象系列を生成する手段と、
検出対象系列と鍵情報からシンボル検出情報を生成する手段と、
シンボル検出情報から各検出シンボルを生成する手段と、
検出シンボルから電子透かしを検出する手段とを含む。
【0086】
本発明の参考例(原出願の請求項62)は、位置マーカ系列生成手段6Aにおいて、
検出対象画像をオフセットにより画素ブロックに分割する手段と、
画素ブロックの画素値が加算された加算ブロックを画素ブロックとして出力する手段とを含む。
【0087】
本発明の参考例(原出願の請求項63)は、位置マーカ系列生成手段6Aにおいて、
検出対象画像をブロックに分割する手段と、
分割されたブロックの画素値を加算して得られたブロックを加算ブロックとし、該加算ブロックをオフセットによりサイクリックシフトし、画素ブロックを生成する手段を含む。
【0088】
本発明の参考例(原出願の請求項64)は、位置マーカ系列生成手段6Aにおいて、
検出対象画像をブロックに分割し、このとき、該検出対象画像の端の辺りで1ブロックに満たない画素領域について、分割時の検出対象画像相当分の平均値を求め、足りない部分は検出対象画像相当分の画素値の平均値を求め、該平均値で埋めてブロックとする手段と、
分割されたブロックの画素値を加算して得られたブロックを加算ブロックとする手段と、
加算ブロックをオフセットによりサイクリックシフトし、画素ブロックを生成する手段とを含む。
【0089】
本発明の参考例(原出願の請求項65)は、位置マーカ系列生成手段6Aにおいて、検出対象系列生成後に、該検出対象系列の平均を0に変える手段を含む。
【0090】
本発明の参考例(原出願の請求項66)は、電子透かし検出手段8Aにおいて、検出対象系列を生成した後に、該検出対象系列の平均を0に変える手段を含む。
【0091】
本発明の参考例(原出願の請求項67)は、位置マーカ検出手段7Aにおいて、
すべての位置マーカ検出情報の最大値を求め、所定の閾値より該最大値が小さい場合には、オフセットの検出に失敗したことを表す信号を出力し、該最大値が該所定の閾値以上である場合には、該最大値をとるときのオフセットを出力する手段を含む。
【0092】
本発明の参考例(原出願の請求項68)は、電子透かし検出手段8Aにおいて、
シンボル検出情報をシンボル位置毎に分割して、シンボル位置毎系列を生成する手段と、
シンボル位置毎系列の最大値を求める手段と、
最大値が所定の閾値より小さい場合には、検出対象画像に埋め込まれている電子透かしの検出に失敗したことを表す信号を出力し、該最大値が該所定の閾値以上の場合には、該最大値をとるときのシンボル候補を検出シンボルとする手段と、
検出シンボルから電子透かしの表現に変換する手段とを含む。
【0093】
本発明の参考例(原出願の請求項69)は、上記の閾値として、平均0、分散1の正規分布の分布関数の値に基づいて定められた閾値を適用する。
【0094】
本発明の参考例(原出願の請求項70)は、ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出するための電子透かし検出装置であって、
鍵情報から検出対象成分位置情報を生成する検出対象成分指定手段と、
鍵情報から位置マーカ系列を生成する位置マーカ系列生成手段と、
検出された位置マーカ検出情報により、埋め込み時の透かしパターンの開始点と検出対象画像から切り出した画素ブロックの開始点とのずれを表すオフセット情報を検出する位置マーカ検出手段と、
オフセット情報を用いて画素ブロックに埋め込まれている電子透かしを検出する電子透かし検出手段とを有する。
【0095】
本発明の参考例(原出願の請求項71)は、検出対象成分指定手段において、
鍵情報を初期値とする乱数列を生成する手段と、
乱数列を元に、埋め込まれている埋め込み系列の長さと同じ長さの検出対象成分位置情報を生成する手段を含む。
【0096】
本発明の参考例(原出願の請求項72)は、位置マーカ系列生成手段において、
鍵情報を初期値とする最初の拡散系列を生成し、該拡散系列を位置マーカ系列とする手段を含む。
【0097】
本発明の参考例(原出願の請求項73)は、位置マーカ検出手段において、
検出対象画像と検出対象成分位置情報と位置マーカ系列を用いて、該検出対象画像からN×Nサイズの画素ブロックを切り出す手段と、
画素ブロックを離散フーリエ変換して、検出対象係数行列を生成する手段と、
オフセット情報、検出対象係数行列、及び検出対象成分位置情報から検出対象系列を生成する手段と、
位置マーカ系列と検出対象系列との相関値を組にして位置マーカ検出情報とする手段とを含む。
【0098】
本発明の参考例(原出願の請求項74)は、電子透かし検出手段において、
検出対象画像と、検出対象成分位置情報とオフセット情報及び鍵情報を用いて、該検出対象画像から画素ブロックを切り出す手段と、
画素ブロックを離散フーリエ変換して、検出対象係数行列を生成する手段と、
オフセット情報、検出対象係数行列、及び検出対象成分位置情報から検出対象系列を生成する手段と、
鍵情報とシンボル候補情報から生成される系列と検出対象系列との相関値からシンボル検出結果を生成する手段と、
シンボル検出結果の各シンボル位置に基づいて、鍵情報とシンボル候補情報から生成される系列と検出対象系列との相関値が最大時のシンボル候補値を検出シンボルとする手段と、
検出シンボルを電子透かしの形式に変換した結果を出力する手段とを含む。
【0099】
本発明の参考例(原出願の請求項75)は、位置マーカ系列生成手段において、
検出対象画像からN×Nサイズのブロックを切り出した時、該検出対象画像からN×Nサイズに切り出せない場合には、N×Nサイズで切り出そうとした時に含まれる検出対象画像相当分のみを切り出し、N×Nサイズで足りない部分は、該検出対象画像相当分の画素値の平均を求め、該平均で足りない部分を埋める手段を含む。
【0100】
本発明の参考例(原出願の請求項76)は、電子透かし検出手段において、
検出対象画像から画素ブロックを分割する手段と、
画素ブロックを離散フーリエ変換し、検出対象係数行列を生成する手段と、
オフセット情報と検出対象成分位置情報と検出対象係数行列から検出対象系列を生成する手段と、
検出対象系列と鍵情報から検出シンボルを生成する手段と、
検出シンボルから副画像を検出する。
【0101】
本発明の参考例(原出願の請求項77)は、電子透かし検出手段において、
検出対象画像からN×Nサイズのブロックを切り出した時、該検出対象画像からN×Nサイズに切り出せない場合には、N×Nサイズで切り出そうとした時に含まれる検出対象画像相当分のみを切り出し、N×Nサイズで足りない部分は、該検出対象画像相当分の画素値の平均値を求め、該平均値で足りない部分を埋める手段を含む。
【0102】
本発明の参考例(原出願の請求項78)は、位置マーカ系列生成手段及び電子透かし検出手段において、
検出対象画像をN×Nサイズのブロックに分割する手段と、
すべてのブロックの画素値が加算された加算ブロックを画素ブロックとする手段を含む。
【0103】
本発明の参考例(原出願の請求項79)は、位置マーカ系列生成手段及び電子透かし検出手段において、
検出対象画像からN×Nサイズのブロックを切り出した時、該検出対象画像からN×Nサイズに切り出せない場合には、N×Nサイズで切り出そうとした時に含まれる検出対象画像相当分のみを切り出し、N×Nサイズで足りない部分は、該検出対象画像相当分の画素値の平均値を求め、該平均値で足りない部分を埋める手段を含む。
【0104】
本発明の参考例(原出願の請求項80)は、位置マーカ系列生成手段において、
検出対象系列を生成した後に、該検出対象系列の平均を0に変える処理を行う手段を含む。
【0105】
本発明の参考例(原出願の請求項81)は、電子透かし検出手段において、
検出対象系列の生成後に、該検出対象系列の平均を0に変える処理を行う手段を含む。
【0106】
本発明の参考例(原出願の請求項82)は、位置マーカ検出手段において、
位置マーカ検出情報の最大値を求める手段と、
最大値が所定の閾値より小さい場合には、オフセット情報の検出に失敗したことを表す信号を出力し、該最大値が所定の閾値以上の場合には、該最大値をとる時のオフセット情報を出力する手段を含む。
【0107】
本発明の参考例(原出願の請求項83)は、電子透かし検出手段において、
検出対象系列と鍵情報から生成されたシンボル検出情報シンボル位置毎に分割する手段と、
シンボル位置毎のシンボル位置毎系列の最大値を求める手段と、
最大値が所定の閾値より小さい場合には、検出対象画像に埋め込まれている電子透かしの検出に失敗したことを表す信号を出力し、該最大値が所定の閾値以上の場合には、該最大値をとる時のシンボル候補を出力する手段を含む。
【0108】
本発明の参考例(原出願の請求項84)は、上記閾値として、平均0、分散1の正規分布の分布関数の値に基づいて定められた閾値を用いる。
【0109】
本発明の参考例(原出願の請求項85)は、ディジタル画像に対して人間の知覚に感知されないための電子透かしを埋め込む電子透かし埋込プログラムを格納した記憶媒体であって、
鍵情報とディジタル画像に埋め込む電子透かしから複素行列である透かし係数行列の各係数値の実数成分と虚数成分を独立に変更するプロセスと、
変更後の透かし系列行列を離散逆フーリエ変換して、透かしパターンを生成するプロセスと、
透かしパターンを原画像にタイル状に加算し、埋め込み済画像を生成するプロセスとを有する。
【0110】
本発明の参考例(原出願の請求項86)は、鍵情報から電子透かしを埋め込む長さの系列である埋め込み対象成分位置情報を生成する埋め込み対象成分指定プロセスと、
鍵情報を用いて、位置マーカ情報と電子透かしを埋め込み系列に拡散する埋め込み系列生成プロセスと、
埋め込み対象成分位置情報と埋め込み系列を用いて、初期値が零行列の複素行列である透かし係数行列の成分値を変更する成分値変更プロセスと、
透かし係数行列を離散逆フーリエ変換し、透かしパターンを生成する離散逆フーリエ変換プロセスと、
透かしパターンを強度パラメータによって強調し、強調された透かしパターンを入力された画像にタイル状に加算して得られる埋め込み済画像を生成する透かしパターン加算プロセスとを有する。
【0111】
本発明の参考例(原出願の請求項87)は、埋め込み対象成分指定プロセスにおいて、
鍵情報を初期値とする乱数列を生成する乱数生成プロセスを含み、乱数列から埋め込み対象成分位置情報を生成するプロセスを含む。
【0112】
本発明の参考例(原出願の請求項88)は、埋め込み系列生成プロセスにおいて、
鍵情報を初期値とする0番目の拡散系列を生成し、該拡散系列を位置マーカ情報を表す系列とし、所定倍して格納しておき、電子透かしをシンボル表現に変換し、シンボル総数及び各シンボル値を取得し、鍵情報にシンボル値を加えたものを初期値とする拡散系列を生成し、シンボルを表す系列として、格納されている拡散系列の各項に加え、格納されている値の平均値を求め、各項から平均値を減算した値を埋め込み系列とするプロセスを含む。
【0113】
本発明の参考例(原出願の請求項89)埋め込み系列生成プロセスにおいて、
鍵情報を初期値として、拡散系列を生成し、所定のパラメータを該拡散系列に乗算して、記憶手段に保持し、電子透かしをシンボル表現に変換し、該シンボル表現のシンボルに対応する拡散系列を、記憶手段の各項に加算し、該記憶手段の各項から平均値を減算した結果を埋め込み系列とするプロセスを含む。
【0114】
本発明の参考例(原出願の請求項90)は、埋め込み系列生成プロセスにおいて、拡散系列として、+1または、−1のいずれかを用いる。
【0115】
本発明の参考例(原出願の請求項91)は、ディジタル画像に対して人間の知覚に感知されないための電子透かしが埋め込まれた検出対象画像から該電子透かしを検出するための電子透かし検出プログラムを格納した記憶媒体であって、
鍵情報から検出対象成分位置情報を生成する検出対象成分指定プロセスと、
鍵情報から位置マーカ系列を生成する位置マーカ系列生成プロセスと、
位置マーカ系列を検出し、埋め込み時の透かしパターンの開始点と検出対象画像から切り出した画素ブロックの開始点が一致する時のオフセット情報を抽出する位置マーカ検出プロセスと、
オフセット情報に基づいて切り出した画素ブロックから埋め込まれている電子透かしを検出する電子透かし検出プロセスとを有する。
【0116】
本発明の参考例(原出願の請求項92)は、検出対象成分指定プロセスにおいて、鍵情報を初期値とする乱数列を生成するプロセスを含み、
乱数列から検出対象成分位置情報を生成するプロセスを含む。
【0117】
本発明の参考例(原出願の請求項93)は、位置マーカ系列生成プロセスにおいて、鍵情報を初期値とする0番目の拡散系列を生成し、該拡散系列を位置マーカ系列として出力するプロセスを含む。
【0118】
本発明の参考例(原出願の請求項94)は、位置マーカ検出プロセスにおいて、
オフセット候補情報を生成し、検出対象画像のオフセット候補情報の位置から画素ブロックを切り出すプロセスと、
画素ブロックを離散フーリエ変換し、検出対象係数行列を生成するプロセスと、
検出対象成分位置情報と検出対象係数行列から検出対象系列を生成するプロセスと、
位置マーカ系列と該検出対象系列の相関値と該オフセット候補情報を組にして、位置マーカ検出情報を生成するプロセスと、
位置マーカ系列と該検出対象系列の相関値が最大の時のオフセット候補情報をオフセット情報として抽出するプロセスを含む。
【0119】
本発明の参考例(原出願の請求項95)は、電子透かし検出プロセスにおいて、
検出対象画像からオフセット候補情報だけ平行移動した位置から、N×N画素の画素ブロックを切り出すプロセスと、
画素ブロックを離散フーリエ変換し、検出対象係数行列を生成するプロセスと、
検出対象成分位置情報と検出対象係数行列から検出対象系列を生成するプロセスと、
検出対象系列と鍵情報からシンボル検出情報を生成するプロセスと、
シンボル検出情報から各検出シンボルを生成するプロセスと、
各検出シンボルから検出結果を電子透かしとして出力するプロセスとを含む。
【0120】
本発明の参考例(原出願の請求項96)は、電子透かし検出プロセスにおいて、
シンボル検出情報から各シンボル位置毎に各シンボル位置毎系列を生成するプロセスと、
各シンボル位置毎系列の中で最大値をとる時のシンボル候補を検出シンボルとし、検出シンボルを逆シンボル変換し、検出結果を取得するプロセスとを含む。
【0121】
本発明の参考例(原出願の請求項97)は、電子透かし検出プロセスにおいて、
切り出した画素ブロックをオフセットによりサイクリックシフトすることにより画素ブロックを出力するプロセスを含む。
【0122】
本発明の参考例(原出願の請求項98)は、電子透かし検出プロセスにおいて、
検出対象画像がN×Nサイズ以上である場合には、該検出対象画像からN×N画素の画素ブロックを切り出すプロセスと、
検出対象画像がN×Nサイズより小さい場合には、該検出対象画像のN×Nサイズに含まれる検出対象画像部分の平均画素値を求め、該N×Nサイズに足りない部分を該平均画素値で埋め、画素ブロックを生成するプロセスと、
切り出された画素ブロックをサイクリックシフトすることにより画素ブロックを出力するプロセスを含む。
【0123】
本発明の参考例(原出願の請求項99)は、電子透かし検出プロセスにおいて、
検出対象画像のオフセットの位置から画素ブロックを分割するプロセスと、
分割された画素ブロックを離散フーリエ変換し、検出対象係数行列を生成するプロセスと、
検出対象成分位置情報と、検出対象係数行列から検出対象系列を生成するプロセスと、
検出対象系列と鍵情報からシンボル検出情報を生成するプロセスと、
シンボル検出情報から画素ブロックを出力するプロセスとを含む。
【0124】
本発明の参考例(原出願の請求項100)は、電子透かし検出プロセスにおいて、
検出対象画像を画素ブロックに分割し、該画素ブロックをオフセットでサイクリックシフトするプロセスと、
サイクリックシフトされた画素ブロックを離散フーリエ変換し、検出対象系列行列を生成するプロセスと、
検出対象成分位置情報と検出対象係数行列から検出対象系列を生成するプロセスと、
検出対象系列と鍵情報からシンボル検出情報を生成するプロセスと、
シンボル検出情報から各検出シンボルを生成するプロセスと、
検出シンボルから電子透かしを検出するプロセスとを含む。
【0125】
本発明の参考例(原出願の請求項101)は、電子透かし検出プロセスにおいて、
検出対象画像を画素ブロックに分割し、該画素ブロックをオフセットでサイクリックシフトし、このとき、検出対象画像の端の辺りでN×Nサイズに満たない部分については、足りない部分を平均画素値で埋めるプロセスと、
画素ブロックを離散フーリエ変換し、検出対象係数行列を生成するプロセスと、
検出対象成分位置情報と検出対象係数行列から検出対象系列を生成するプロセスと、
検出対象系列と鍵情報からシンボル検出情報を生成するプロセスと、
シンボル検出情報から各検出シンボルを生成するプロセスと、
検出シンボルから電子透かしを検出するプロセスとを含む。
【0126】
本発明の参考例(原出願の請求項102)は、位置マーカ系列生成プロセスにおいて、
検出対象画像をオフセットによりブロックに分割するプロセスと、
画素ブロックの画素値が加算された加算ブロックを画素ブロックとして出力するプロセスとを含む。
【0127】
本発明の参考例(原出願の請求項103)は、位置マーカ系列生成プロセスにおいて、
検出対象画像をブロックに分割するプロセスと、
分割されたブロックの画素値を加算して得られたブロックを加算ブロックとし、該加算ブロックをオフセットによりサイクリックシフトし、画素ブロックを生成するプロセスを含む。
【0128】
本発明の参考例(原出願の請求項104)は、位置マーカ系列生成プロセスにおいて、
検出対象画像をブロックに分割し、このとき、該検出対象画像の端の辺りで1ブロックに満たない画素領域について、分割時の検出対象画像相当分の平均値を求め、足りない部分は検出対象画像相当分の画素値の平均値を求め、該平均値で埋めてブロックとするプロセスと、
分割されたブロックの画素値を加算して得られたブロックを加算ブロックとするプロセスと、
加算ブロックをオフセットによりサイクリックシフトし、画素ブロックを生成するプロセスとを含む。
【0129】
本発明の参考例(原出願の請求項105)は、位置マーカ系列生成プロセスにおいて、検出対象系列生成後に、該検出対象系列の平均を0に変えるプロセスを含む。
【0130】
本発明の参考例(原出願の請求項106)は、電子透かし検出プロセスにおいて、検出対象系列を生成した後に、該検出対象系列の平均を0に変えるプロセスを含む。
【0131】
本発明の参考例(原出願の請求項107)は、電子透かし検出プロセスにおいて、検出対象系列を生成した後に、該検出対象系列の平均を0に変えるプロセスを含む。
【0132】
本発明の参考例(原出願の請求項108)は、位置マーカ検出プロセスにおいて、
すべての位置マーカ検出情報の最大値を求め、所定の閾値より該最大値が小さい場合には、オフセットの検出に失敗したことを表す信号を出力し、該最大値が該所定の閾値以上である場合には、該最大値をとるときのオフセットを出力するプロセスを含む。
【0133】
本発明の参考例(原出願の請求項109)は、電子透かし検出プロセスにおいて、
シンボル検出情報をシンボル位置毎に分割して、シンボル位置毎系列を生成するプロセスと、
シンボル位置毎系列の最大値を求めるプロセスと、
最大値が所定の閾値より小さい場合には、検出対象画像に埋め込まれている電子透かしの検出に失敗したことを表す信号を出力し、該最大値が該所定の閾値以上の場合には、該最大値をとるときのシンボル候補を検出シンボルとするプロセスと、
検出シンボルから電子透かしの表現に変換するプロセスとを含む。
【0134】
本発明の参考例(原出願の請求項110)は、閾値として、平均0、分散1の正規分布の分布関数の値に基づいて定められた閾値を適用する。
【0135】
本発明の参考例(原出願の請求項111)は、ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出するための電子透かし検出プログラムを格納した記憶媒体であって、
鍵情報から検出対象成分位置情報を生成する検出対象成分指定プロセスと、
鍵情報から位置マーカ系列を生成する位置マーカ系列生成プロセスと、
検出された位置マーカ検出情報により、埋め込み時の透かしパターンの開始点と検出対象画像から切り出した画素ブロックの開始点とのずれを表すオフセット情報を検出する位置マーカ検出プロセスと、
オフセット情報を用いて画素ブロックに埋め込まれている電子透かしを検出する電子透かし検出プロセスとを有する。
【0136】
本発明の参考例(原出願の請求項112)は、検出対象成分指定プロセスにおいて、
鍵情報を初期値とする乱数列を生成するプロセスと、
乱数列を元に、埋め込まれている埋め込み系列の長さと同じ長さの検出対象成分位置情報を生成するプロセスを含む。
【0137】
本発明の参考例(原出願の請求項113)は、位置マーカ系列生成プロセスにおいて、
鍵情報を初期値とする最初の拡散系列を生成し、該拡散系列を位置マーカ系列とするプロセスを含む。
【0138】
本発明の参考例(原出願の請求項114)は、位置マーカ検出プロセスにおいて、
検出対象画像と検出対象成分位置情報と位置マーカ系列を用いて、該検出対象画像からN×Nサイズの画素ブロックを切り出すプロセスと、
画素ブロックを離散フーリエ変換して、検出対象係数行列を生成するプロセスと、
オフセット情報、検出対象係数行列、及び検出対象成分位置情報から検出対象系列を生成するプロセスと、
位置マーカ系列と検出対象系列との相関値を組にして位置マーカ検出情報とするプロセスとを含む。
【0139】
本発明の参考例(原出願の請求項115)は、電子透かし検出プロセスにおいて、
検出対象画像と、検出対象成分位置情報とオフセット情報及び鍵情報を用いて、該検出対象画像から画素ブロックを切り出すプロセスと、
画素ブロックを離散フーリエ変換して、検出対象係数行列を生成するプロセスと、
オフセット情報、検出対象係数行列、及び検出対象成分位置情報から検出対象系列を生成するプロセスと、
鍵情報とシンボル候補情報から生成される系列と検出対象系列との相関値からシンボル検出結果を生成するプロセスと、
シンボル検出結果の各シンボル位置に基づいて、相関値が最大時のシンボル候補値を検出シンボルとするプロセスと、
検出シンボルを電子透かしの形式に変換した結果を出力するプロセスとを含む。
【0140】
本発明の参考例(原出願の請求項116)は、位置マーカ系列生成プロセスにおいて、
検出対象画像からN×Nサイズのブロックを切り出した時、該検出対象画像からN×Nサイズに切り出せない場合には、N×Nサイズで切り出そうとした時に含まれる検出対象画像相当分のみを切り出し、N×Nサイズで足りない部分は、該検出対象画像相当分の画素値の平均を求め、該平均で足りない部分を埋めるプロセスを含む。
【0141】
本発明の参考例(原出願の請求項117)は、電子透かし検出プロセスにおいて、
検出対象画像から画素ブロックを分割するプロセスと、
画素ブロックを離散フーリエ変換し、検出対象係数行列を生成するプロセスと、
オフセット情報と検出対象成分位置情報と検出対象係数行列から検出対象系列を生成するプロセスと、
検出対象系列と鍵情報から検出シンボルを生成するプロセスと、
検出シンボルから副画像を検出する。
【0142】
本発明の参考例(原出願の請求項118)は、電子透かし検出プロセスにおいて、
検出対象画像からN×Nサイズのブロックを切り出した時、該検出対象画像からN×Nサイズに切り出せない場合には、N×Nサイズで切り出そうとした時に含まれる検出対象画像相当分のみを切り出し、N×Nサイズで足りない部分は、該検出対象画像相当分の画素値の平均値を求め、該平均値で足りない部分を埋めるプロセスを含む。
【0143】
本発明の参考例(原出願の請求項119)は、位置マーカ系列生成プロセスにおいて、
検出対象画像をN×Nサイズのブロックに分割するプロセスと、
すべてのブロックの画素値が加算された加算ブロックを画素ブロックとするプロセスを含む。
【0144】
本発明の参考例(原出願の請求項120)は、電子透かし検出プロセスにおいて、
検出対象画像をN×Nサイズのブロックに分割するプロセスと、
すべてのブロックの画素値が加算された加算ブロックを画素ブロックとするプロセスを含む。
【0145】
本発明の参考例(原出願の請求項121)は、電子透かし検出プロセスにおいて、
検出対象画像からN×Nサイズのブロックを切り出した時、該検出対象画像からN×Nサイズに切り出せない場合には、N×Nサイズで切り出そうとした時に含まれる検出対象画像相当分のみを切り出し、N×Nサイズで足りない部分は、該検出対象画像相当分の画素値の平均値を求め、該平均値で足りない部分を埋めるプロセスを含む。
【0146】
本発明の参考例(原出願の請求項122)は、位置マーカ系列生成プロセスにおいて、
検出対象画像からN×Nサイズのブロックを切り出した時、該検出対象画像からN×Nサイズに切り出せない場合には、N×Nサイズで切り出そうとした時に含まれる検出対象画像相当分のみを切り出し、N×Nサイズで足りない部分は、該検出対象画像相当分の画素値の平均値を求め、該平均値で足りない部分を埋めるプロセスを含む。
【0147】
本発明の参考例(原出願の請求項123)は、位置マーカ系列生成プロセスにおいて、
検出対象系列を生成した後に、該検出対象系列の平均を0に変える処理を行うプロセスを含む。
【0148】
本発明の参考例(原出願の請求項124)は、電子透かし検出プロセスにおいて、
検出対象系列の生成後に、該検出対象系列の平均を0に変える処理を行うプロセスを含む。
【0149】
本発明の参考例(原出願の請求項125)は、位置マーカ検出プロセスにおいて、
位置マーカ検出情報の最大値を求めるプロセスと、
最大値が所定の閾値より小さい場合には、オフセット情報の検出に失敗したことを表す信号を出力し、該最大値が所定の閾値以上の場合には、該最大値をとる時のオフセット情報を出力するプロセスを含む。
【0150】
本発明の参考例(原出願の請求項126)は、電子透かし検出プロセスにおいて、
検出対象系列と鍵情報から生成されたシンボル検出情報シンボル位置毎に分割するプロセスと、
シンボル位置毎のシンボル位置毎系列の最大値を求めるプロセスと、
最大値が所定の閾値より小さい場合には、検出対象画像に埋め込まれている電子透かしの検出に失敗したことを表す信号を出力し、該最大値が所定の閾値以上の場合には、該最大値をとる時のシンボル候補を出力するプロセスを含む。
【0151】
本発明の参考例(原出願の請求項127)は、電子透かし検出プロセスにおいて、
検出対象系列と鍵情報から生成されたシンボル検出情報シンボル位置毎に分割するプロセスと、
シンボル位置毎のシンボル位置毎系列の最大値を求めるプロセスと、
最大値が所定の閾値より小さい場合には、検出対象画像に埋め込まれている電子透かしの検出に失敗したことを表す信号を出力し、該最大値が所定の閾値以上の場合には、該最大値をとる時のシンボル候補を出力するプロセスを含む。
【0152】
本発明の参考例(原出願の請求項128)は、請求項126において、上記閾値として、平均0、分散1の正規分布の分布関数の値に基づいて定められた閾値を用いる。
【0153】
本発明の参考例(原出願の請求項129)は、請求項127において、閾値は、平均0、分散1の正規分布の分布関数の値に基づいて定められた閾値を用いる。
【0154】
本発明の参考例(原出願の請求項130)は、ディジタル画像に対して人間の知覚に感知されないための電子透かしを埋め込む電子透かし埋込装置と、該電子透かしを検出する電子透かし検出装置からなる電子透かしシステムであって、
電子透かし埋め込み装置は、
埋め込みのための鍵情報から電子透かしを埋め込む長さと同じ長さの系列である埋め込み対象成分位置情報を生成する埋め込み対象成分指定手段と、
鍵情報を用いて、位置マーカ情報と電子透かしを埋め込み系列に拡散する埋め込み系列生成手段と、
埋め込み対象成分位置情報と埋め込み系列を用いて、初期値が零行列の複素行列である透かし係数行列の成分値を変更する成分値変更手段と、
透かし係数行列を離散逆フーリエ変換し、透かしパターンを生成する離散逆フーリエ変換手段と、
透かしパターンを強度パラメータによって強調し、強調された透かしパターンを入力された画像にタイル状に加算して得られる埋め込み済画像を生成する透かしパターン加算手段とを有し、
電子透かし検出装置は、
鍵情報から検出対象成分位置情報を生成する検出対象成分指定手段と、
鍵情報から位置マーカ系列を生成する位置マーカ系列生成手段と、
位置マーカ系列を検出し、埋め込み時の透かしパターンの開始点と検出対象画像から切り出した画素ブロックの開始点が一致するオフセット情報を抽出する位置マーカ検出手段と、
オフセット情報に基づいて切り出した画素ブロックから埋め込まれている電子透かしを検出する電子透かし検出手段とを有する。
【0155】
本発明の参考例(原出願の請求項131)は、電子透かし埋込装置が、集積回路により構成される。
【0156】
本発明の参考例(原出願の請求項132)は、電子透かし検出装置が、集積回路により構成される。
【0157】
本発明の参考例(原出願の請求項133)は、ディジタル画像に対して人間の知覚に感知されないための電子透かしを埋め込む電子透かし埋込装置と、該電子透かしを検出する電子透かし検出装置からなる電子透かしシステムであって、
電子透かし埋込装置は、
埋め込みのための鍵情報から電子透かしを埋め込む長さと同じ長さの系列である埋め込み対象成分位置情報を生成する埋め込み対象成分指定手段と、
鍵情報を用いて、位置マーカ情報と電子透かしを埋め込み系列に拡散する埋め込み系列生成手段と、
埋め込み対象成分位置情報と埋め込み系列を用いて、初期値が零行列の複素行列である透かし係数行列の成分値を変更する成分値変更手段と、
透かし係数行列を離散逆フーリエ変換し、透かしパターンを生成する離散逆フーリエ変換手段と、
透かしパターンを強度パラメータによって強調し、強調された透かしパターンを入力された画像にタイル状に加算して得られる埋め込み済画像を生成する透かしパターン加算手段とを有し、
電子透かし検出装置は、
鍵情報から検出対象成分位置情報を生成する検出対象成分指定手段と、
鍵情報から位置マーカ系列を生成する位置マーカ系列生成手段と、
検出された位置マーカ検出情報により、埋め込み時の透かしパターンの開始点と検出対象画像から切り出した画素ブロックの開始点とのずれを表すオフセット情報を検出する位置マーカ検出手段と、
オフセット情報を用いて画素ブロックに埋め込まれている電子透かしを検出する電子透かし検出手段とを有する。
【0158】
本発明の参考例(原出願の請求項134)は、電子透かし埋込装置が、集積回路で構成される。
【0159】
本発明の参考例(原出願の請求項135)は、電子透かし検出装置が、集積回路で構成される。
【0160】
これにより、本発明によれば、鍵情報と電子透かしから、複素行列である透かし係数行列の各係数値の実数成分と虚数成分を独立に変更し、変更後の透かし係数行列を離散逆フーリエ変換することによって、透かしパターンを生成し、透かしパターンを原画像にタイル状に加算することによって埋め込み済画像を得ることが可能となる。
【0161】
また、本発明によれば、埋め込みの際に、元の画像の模様を反映したパターンを加算することから、より画質の向上、つまり相対的な耐性の更なる向上が可能となる。
【0162】
また、本発明によれば、検出の際に、検出対象画像の任意の位置からブロックを切り出し、ブロックを離散フーリエ変換して係数行列を得た後、鍵情報によって指定される成分値列を作成し、成分値列の各項に平行移動量による係数の位相差を掛け算した系列と、透かしパターンの開始点を意味する系列との相関をとることによって平行移動量のサーチを行い、サーチの結果、最大のレスポンス値を出力した時の平行移動量が透かしパターンの開始点から切り出されたブロックの開始点までの平行移動量であるとし、この平行移動量を用いて、さらに埋め込まれている電子透かしを検出することが可能となる。
【0163】
さらに、本発明によれば、平行移動量の探索の際に、走査毎に離散フーリエ変換を行う必要がなく、探索前に一度だけ離散フーリエ変換をすれば良いことから、単純な平行移動量探索(座標をずらしながら直交変換して走査する方法)よりも検出処理時間の短縮が可能となる。
【0164】
【発明の実施の形態】
以下、図面と共に、本発明の実施例の形態として、いくつかの実施例を用いて説明する。
【0165】
[第1の実施例]
本実施例では、透かし情報を埋め込む第1の例を説明する。
【0166】
図3は、本発明の第1の実施例の透かし埋込装置の構成を示す。
【0167】
同図に示す電子透かし埋込装置100は、透かしパターン加算部110、埋込系列生成部120、埋込対象成分指定部130、成分値変更部140、離散逆フーリエ変換部150から構成される。
【0168】
当該電子透かし埋込装置100は、入力画像101、強度パラメータ102、電子透かし103、鍵情報104を入力とし、最終的に埋込済画像105を出力する。
【0169】
次に、上記の構成による動作の概要を説明する。
【0170】
図4は、本発明の第1の実施例の透かし埋込装置の動作を示すフローチャートである。
【0171】
ステップ110) 入力を受け付けた情報埋込装置100には、入力画像101、強度パラメータ102、電子透かし103、鍵情報104が入力される。まず、埋込対象成分指定部130において、鍵情報104を用いて埋込対象成分位置情報131を生成し、これを成分値変更部140に送る。
【0172】
ステップ120) また、埋込系列生成部120において、鍵情報104を用い位置マーカ系列と電子透かし103を埋込系列121に拡散し、これを成分値変更部140に送る。
【0173】
ステップ140) 成分値変更部140は、零行列の複素行列である透かし係数行列141の成分値を変更する。
【0174】
ステップ150) 離散逆フーリエ変換部150は、透かし係数行列141を離散逆フーリエ変換することにより、透かしパターン151を作成する。
【0175】
ステップ160) 透かしパターン加算部110は、透かしパターン151を強度パラメータ102によって強調し、これを入力画像101にタイル状に加算して得られる埋込済画像105を出力し、情報埋込処理を終了する。
【0176】
まず、図3における埋込対象成分指定部130の処理について説明する。図5は、本発明の第1の実施例の埋込対象成分指定部の構成を示す。同図に示す埋込対象成分指定部130は、鍵情報104を入力として埋込対象成分位置情報131を生成する乱数生成器132を有する。
【0177】
図5は、本発明の第1の実施例の埋込対象成分指定部の動作を示すフローチャートである。
【0178】
ステップ111) 埋込対象成分指定部130は、鍵情報104を入力とし、乱数生成器132を用いて鍵情報104を初期値とする乱数列を生成する。
【0179】
ステップ112) 埋込対象成分指定部130は、さらに、生成した乱数列を元に、後述する埋込系列の長さnと同じ長さの系列である埋込対象成分位置情報131を生成する。
【0180】
埋込対象成分位置情報131は、以下のような構成になっている。
【0181】
k =(xk ,yk ,zk ) (0≦k<n)
k :埋込対象係数x方向次数
k :埋込対象係数y方向次数
k :埋込対象係数の虚実を表すフラグ(実数成分か虚数成分か)
埋込対象成分指定部130は、埋込対象成分位置情報131の各項において、重複(2つの項Lk とLm について、上記3つの成分が全て一致)することがないようにして選ぶ。また、電子透かしの雑音付加、非可逆圧縮耐性を実現するために、帯域制限をして、高周波帯域から係数を選ばないようにする(例えば、
【0182】
【数1】

Figure 0003745729
のような制約条件によっては(rはフィルタリング帯域))。さらに、離散逆フーリエ変換で得られる信号が実数値となるのに必要な係数行列の対称性
F(u,v) = F* (N−u,N−v)
(但し、F(u,v)は、標本値f(x,y)(0≦x<N,0≦y<N)のフーリエ変換)
(Nは後述する透かし係数行列の縦及び横のサイズ)
(*は複素共役を表す)
を保って埋め込みを行うために、埋め込み対象系列のx方向次数、あるいは、y方向次数は、正のもののみを選ぶ、といった考慮も必要である。埋め込み対象成分位置情報131は、成分値変更部140に送られる。
【0183】
次に、本実施例における埋め込み系列生成部120の構成について説明する。
【0184】
図7は、本発明の第1の実施例の埋め込み系列生成部の構成を示す。埋め込み系列生成部120は、拡散系列生成器122を有し、電子透かし103及び鍵情報104を入力とする。基本的にはスペクトル拡散通信方式における直接拡散方式を基にしたものである。具体的には図8に示す処理で、長さnの実数列である埋め込み系列121を生成する。
【0185】
図8は、本発明の第1の実施例の埋め込み系列生成部の動作を示すフローチャートである。
【0186】
ステップ121) 位置マーカの拡散: 拡散系列生成器122は、長さnの系列を、K種類生成しうるものとし、各々の拡散系列をr(k) 、(0≦k<K−1)と表すことにする。拡散系列としては、例えば、M−系列などを用いる。
【0187】
拡散系列生成器122は、鍵情報104を初期値として、0番目の長さnの拡散系列{ri (0) }(0≦i<n)を生成し、これに予め定められているパラメータである重みα(≧1)を乗算して、長さnの実数値バッファ{mi }(0≦i<n)に格納する。これを式で表すと、
i :=α・ri (0) (0≦i<n)
(:=は右辺の値を左辺に代入することを表す)
となる。
【0188】
ステップ122) 電子透かしのシンボル表現への変換: 埋込系列生成部120は、電子透かし103をシンボル表現に変換する。例えば、電子透かしが4文字の8ビット文字からなる情報であるとして、8ビットずつをシンボルに変換すると、4つのシンボル(各シンボルの値は0〜255、文字のASCIIコードに相当)に変換できる。この時、シンボルの個数はKより小さく、各シンボルのとり得る最大値は、nより小であるように選ぶ。各シンボルの値をsj (1≦j≦J(<K))、sj のとり得る値の最大値をM(≦n)と表すことにする。ステップ123) 電子透かしの拡散: 埋込系列生成部120は、各シンボルsj に対応する拡散系列を{mi }に加算する、j番目の処理について説明する。鍵情報104にシンボル値sj を加えた値を初期値として、拡散系列生成器122でj番目の長さのnの拡散系列{ri (j) }(0≦i<n)を生成する。
【0189】
次に、埋込系列生成部120は、{ri (j) }の各項を{mi }の各項に加算する。式で表すと、
i :=mi +ri (j) (0≦i<n)
これを1≦j≦Jの間繰り返す。
【0190】
ステップ124) 埋込系列生成部120は、上記のステップ123までに得られた{mi }の平均値を0とするように、{mi }の各項から平均値を減算した結果を埋め込み系列121として出力し、成分値変更部140に送る。減算処理を式で表すと、
【0191】
【数2】
Figure 0003745729
i :=mi − ave (0≦i<n)とする。
【0192】
次に、本実施例の成分値変更部140の動作を説明する。
【0193】
成分値変更部140は、埋め込み対象成分位置情報131と、埋め込み系列121を入力とし、図9に示す手順で透かし係数行列を生成する。
【0194】
図9は、本発明の第1の実施例の成分値変更部の動作のフローチャートである。
【0195】
ステップ131) 成分値変更部140において、N×Nサイズの複素行列である透かし係数行列F(u,v)を用意し、初期値を零行列とする。
【0196】
ステップ141) 成分値変更部140は、k番目の埋め込み対象成分位置情報131であるLk =(xk ,yk ,zk )を用いて、F(u,v)の要素を変更する。
【0197】
ステップ142) zk が実数成分を表す値の時:
成分値変更部140は、F(xk ,yk )の実数成分にmk を加える。また、フーリエ変換係数の対称性を保つように、F(N−xk ,N−yk )の実数成分にもmk を加える。式で表せば、
F(xk ,yk ):=F(xk ,yk )+mk
F(N−xk ,N−yk ):=F(N−xk ,N−yk )+mk
となる。
【0198】
ステップ143) zk が虚数成分を表す値の時:
成分値変更部140は、F(xk ,yk )の虚数成分にmk を加える。また、フーリエ変換係数の対称性を保つように、F(N−xk ,N−yk )の虚数成分から、mk を引算する。式で表すと、
F(xk ,yk ):=F(xk ,yk )+mk ・i
F(N−xk ,N−yk ):=F(N−xk ,N−yk )+mk ・i
(iは虚数単位)
これを、k=0…n−1について順次行う。
【0199】
次に、本実施例における離散逆フーリエ変換部150の動作について説明する。図10は、本発明の第1の実施例の離散逆フーリエ変換部の動作を説明するための図である。
【0200】
離散逆フーリエ変換部150は、透かし係数行列141を離散逆フーリエ変換して、N×Nサイズの実数行列(虚数成分を切り捨てる)である透かしパターン151を得て、これを透かしパターン加算部110に送る。
【0201】
次に、本実施例における透かしパターン加算部110の動作について説明する。
【0202】
図11は、本発明の第1の実施例の透かしパターン加算部の動作を説明するための図である。
【0203】
透かしパターン加算部110は、透かしパターン151を強度パラメータ102の値で強調して、入力画像101にタイル状に加算して埋め込み済画像105を生成して出力する。式で表すと、
{Ixy}:入力画像(0≦x<Width ,0≦y<Height)
(Width は入力画像の横サイズ、Heightは入力画像の縦サイズ)
{Wij}:透かしパターン(0≦i,j<N)
power :強度パラメータ
のとき、
I’xy:=Ixy+power ・WX%N,y%N (0≦x<Width ,0≦y<Height)
(a%bは、aをbで割った時の剰余を表す)
によって定まる。透かしパターン加算部110は、{i’xy}を埋め込み済画像105として出力する。なお、強度パラメータ102の値が1であるときには、透かしパターンは強調されずに加算される。つまり、強度パラメータを用いなかった場合と等価となる。
【0204】
上記により、本実施例の電子透かし埋め込み装置の動作は終了する。
【0205】
本実施例を用いた電子透かし埋め込み処理では、N×Nの大きさの2次元離散逆フーリエ変換を1回行うだけである。従来の技術では、N×Nの大きさの離散フーリエ変換と、離散逆フーリエ変換を、画像をN×N画素のブロックに分割した時のブロックの数だけ行う必要がある。例えば、ブロック数がbの場合、第1の実施例と従来の技術の埋め込み処理量の比は、1:2bとなり、第1の実施例を用いれば高速に埋め込み処理を行うことができる。
【0206】
[第2の実施例]
次に、本実施例では、上記の第1の実施例に示す電子透かし埋込装置において埋め込まれた電子透かしを検出対象画像から検出するための処理について説明する。
【0207】
図12は、本発明の第2の実施例の電子透かし検出装置の構成を示す。
【0208】
電子透かし検出装置200は、前述の第1の実施例の方法を用いて得られる埋め込み済画像に一部切取り、非可逆圧縮などの処理が施された画像から、埋め込まれた電子透かしを検出するための装置である。
【0209】
電子透かし検出装置200は、検出対象成分指定部210、位置マーカ系列生成部220、位置マーカ検出部230、電子透かし検出部240から構成される。
【0210】
図13は、本発明の第2の実施例の電子透かし検出装置の動作を示すフローチャートである。
【0211】
ステップ210) 電子透かし検出装置200は、検出対象画像201と、埋め込み時に用いた鍵情報202を入力とする。まず、検出対象成分指定部210において、鍵情報から前述の第1の実施例における埋め込み対象成分指定部130と同様の方法によって、検出対象成分位置情報211を生成し、これを位置マーカ検出部230と電子透かし検出部240に送る。
【0212】
ステップ220) 位置マーカ系列生成部220において、鍵情報202から位置マーカ系列221を生成し、これを位置マーカ検出部230に送る。
【0213】
ステップ230) 位置マーカ検出部230は、検出対象画像201から、N×N(Nは、前述の第1の実施例における透かしパターンのサイズ)サイズの画素ブロックを切り出し、切り出した画素ブロックの開始点(画素ブロックの左上の位置)の埋め込み時の透かしパターンの開始点と一致するときの、画素ブロックの開始点をオフセット情報231として出力し、電子透かし検出部240に送る。
【0214】
ステップ240) 電子透かし検出部240は、検出対象画像201と鍵情報202と検出対象成分位置情報211とオフセット情報231で指定されるオフセット位置からN×Nサイズの画素ブロックを切り出し、この画素ブロックに埋め込まれている電子透かしを検出し、検出結果203を出力する。
【0215】
次に、本実施例における検出対象成分指定部210について説明する。
【0216】
図14は、本発明の第2の実施例の検出対象成分指定部の構成を示し、図15は、本発明の第2の実施例の検出対象成分指定部の動作を示すフローチャートである。
【0217】
ステップ211) 検出対象成分指定部210は、乱数生成器212を有し、鍵情報202を入力とし、乱数生成器212を用いて、当該鍵情報202を初期値とする乱数列を生成する。
【0218】
ステップ212) 生成した乱数列を元に、前述の第1の実施例で用いた埋め込み系列の長さnと同じ長さの系列である検出対象成分位置情報211を生成する。
【0219】
検出対象成分位置情報211は、以下のような構成になっている。
【0220】
k =(xk ,yk ,zk ) (0≦k<n)
k :検出対象係数x方向次数
k :検出対象係数y方向次数
k :検出対象係数の虚実を表すフラグ(実数成分か虚数成分か)
検出対象成分指定部210は、前述の第1の実施例における埋め込み対象成分指定部130と全く同様の動作をする。即ち、同じ鍵情報を入力として、第1の実施例の埋め込み対象成分指定部130で生成される埋め込み対象成分位置情報131と、本実施例の検出対象成分指定部210で生成される検出対象成分位置情報211は全く同じものである。生成された検出対象成分位置情報211は、位置マーカ検出部230に送られる。
【0221】
次に、本実施例における位置マーカ系列生成部220について説明する。
【0222】
図16は、本発明の第2の実施例の位置マーカ系列生成部の構成を示し、図17は、本発明の第2の実施例の位置マーカ系列生成部の動作を示すフローチャートである。
【0223】
ステップ221) 位置マーカ系列生成部220は、拡散系列生成器222を有し、鍵情報202を入力として、当該拡散系列生成器222によって、鍵情報202を初期値とする0番目の長さnの拡散系列{ri (0) }(0≦i<n)を生成し、この拡散系列をそのまま位置マーカ系列221({pi }(0≦i<n)とする(pi :=ri (0) (0≦i<n))とする。これを、位置マーカ検出部230に送る。位置マーカ系列生成部220の中の拡散系列生成器222は、前述の第1の実施例における埋め込み系列生成部120の中の拡散系列生成器122と同様の動作をするものを用いる。
【0224】
次に、本実施例における位置マーカ検出部230について説明する。
【0225】
図18は、本発明の第2の実施例の位置マーカ検出部の構成を示す。
【0226】
同図に示す位置マーカ検出部230は、オフセット候補情報生成部232、ブロック生成部233、離散フーリエ変換部234、検出対象系列生成部235、位置マーカ検出情報生成部236、オフセット情報生成部237から構成される。
【0227】
図19は、本発明の第2の実施例の位置マーカ検出部の動作を示すフローチャートである。
【0228】
ステップ231) 位置マーカ検出部230は、検出対象画像201と検出対象成分位置情報211と位置マーカ系列221を入力として、まず、オフセット候補情報生成部232にいて、オフセット候補情報204(a,b)を(0,0)から(N−1,N−1)まで順次生成する。
【0229】
ステップ232) 以下、ブロック生成部233から位置マーカ検出情報生成部236までの処理は各々オフセット候補情報204毎に行われる。図20は、本発明の第2の実施例のブロック生成部の動作を説明するための図であり、図21は、本発明の第2の実施例のブロック生成部の動作のフローチャートである。以下、図20と図21に基づいてブロック生成部233の動作を説明する。
【0230】
ステップ232−1) ブロック生成部233は、検出対象画像201とオフセット候補情報204を入力する。
【0231】
ステップ232−2) 検出対象画像201の左上からオフセット候補情報204(a,b)だけオフセットした位置からN×Nサイズの画素ブロックを切り出す。
【0232】
ステップ232−3) 切り出した画素ブロックを離散フーリエ変換部234に送る。
【0233】
ステップ233) 離散フーリエ変換部234は、画素ブロックを離散フーリエ変換して検出対象係数行列206を生成し、これを検出対象系列生成部235に送る。
【0234】
ステップ234) 検出対象系列生成部235において、検出対象成分位置情報211と検出対象係数行列206から次のようにして検出対象系列207を得る。図22は、本発明の第2の実施例の検出対象系列生成部の動作を示すフローチャートである。
【0235】
ステップ234−1) 検出対象系列生成部235は、検出対象成分位置情報211をLk (xk ,yk ,zk )(0≦k<n)、検出対象係数行列206をF(u,v)(0≦u<N,0≦v<N)とし、検出対象系列207を{qk }(0≦k<n)と表すと、以下の分岐により処理を行う。
【0236】
ステップ234−2) zk が実数成分を表す値の時:
k :=(F(x ,y )の実数成分値)
とする。
【0237】
ステップ234−3) zk が虚数成分を表す値の時:
k :=(F(x ,y )の虚数成分値)
とする。
【0238】
上記のステップ234−2、234−3の処理をk=0…n−1について順次行う。
【0239】
ステップ234−4) 上記で求めた検出対象系列207{qk }を出力する。
【0240】
ステップ235) 次に、位置マーカ検出情報生成部236において、以下の式により位置マーカ系列221と検出対象系列207の相関値を求め、これをオフセット候補情報204と組にして、位置マーカ検出情報208corrabとして出力する。当該位置マーカ検出情報208は以下の式により求められる。
【0241】
【数3】
Figure 0003745729
上記のブロック生成部233から位置マーカ検出情報生成部236までの処理をオフセット候補情報(a,b)204が(0,0)〜(N−1,N−1)まで巡回する間順次繰り返し、全ての位置マーカ検出情報208をオフセット情報生成部237に送る。
【0242】
ステップ236) オフセット情報生成部237は、入力された全ての位置マーカ検出情報208のうち、入力されたすべての位置マーカ系列221と検出対象系列207の相関値が最大のときオフセット候補情報(a,b)をオフセット情報231として出力し、電子透かし検出部240に送る。
【0243】
位置マーカ検出部230から出力されるオフセット情報231は、検出対象画像201の左上から埋め込み時の透かしパターンの開始点がどれだけずれた位置にあるかを表している。
【0244】
次に、本実施例における電子透かし検出部240について説明する。
【0245】
図23は、本発明の第2の実施例の電子透かし検出部の構成を示す。同図に示す電子透かし検出部240は、ブロック生成部241、離散フーリエ変換部242、検出対象系列生成部243、シンボル検出部244、検出結果生成部245から構成される。
【0246】
図24は、本発明の第2の実施例の電子透かし検出部の動作を示すフローチャートである。
【0247】
ステップ241) 電子透かし検出部240は、検出対象画像201、検出対象成分位置情報211、オフセット情報231、及び鍵情報202を入力として、
まず、ブロック生成部241において検出対象画像の左上からオフセット情報(a,b)に基づいてオフセットした位置からN×Nサイズの画素ブロックを切り出し、離散フーリエ変換部242に送る。
【0248】
ステップ242) 離散フーリエ変換部242は、画素ブロック205を離散フーリエ変換して検出対象係数行列247を生成し、これを検出対象系列生成部243に送る。
【0249】
ステップ243) 検出対象系列生成部243は、位置マーカ検出部230の中の検出対象系列生成部235と同様の処理によって検出対象系列248を得て、シンボル検出部244に送る。
【0250】
ステップ244) シンボル検出部244は、鍵情報202と各シンボル候補情報とから生成される系列と検出対象系列248との相関値を求めて、シンボル検出情報249を生成する。
【0251】
ステップ245) すべてのシンボル検出情報249を得た後、検出結果生成部245は、シンボル検出情報249の各シンボル位置について、相関値が最大の時のシンボル候補値を検出シンボルとする。
【0252】
ステップ246) 全てのシンボル位置から検出シンボルを決定した後、検出結果生成部245は、検出シンボルを電子透かしの形式に逆変換した結果を検出結果203として出力する。
【0253】
次に、上記の電子透かし検出部240のシンボル検出部244について説明する。図25は、本発明の第2の実施例のシンボル検出部の構成を示す。
【0254】
同図に示すシンボル検出部244は、シンボル候補生成部2441、シンボル系列生成部2442、シンボル検出情報生成部2443から構成され、鍵情報202と検出対象系列248とを入力とし、予め設定されている検出するシンボル数J個の各シンボル位置毎に、M個のシンボル候補についてのシンボル検出情報249を生成し、検出結果生成部245に出力する。以下、j(1≦j≦J)番目のシンボル検出について説明する。
【0255】
図26は、本発明の第2の実施例のシンボル検出部の動作を示すフローチャートである。
【0256】
ステップ244−1) シンボル検出部244のシンボル候補生成部2441は、シンボル候補cを0からM−1まで順次生成し、各シンボル候補ごとに、ステップ244−2からステップ244−3までの処理を行う。Mは、前述の第1の実施例におけるシンボル変換によるシンボル値の最大値を表す。
【0257】
ステップ244−2) シンボル系列生成部2442で行われる処理について説明する。図27は、本発明の第2の実施例のシンボル系列生成部の構成を示し、図28は、本発明の第2の実施例のシンボル系列生成部の動作を示すフローチャートである。
【0258】
ステップ244−2−1) シンボル系列生成部2442は、鍵情報202とシンボル候補c2444を入力とし、cと鍵情報202を加算した値を初期値として、拡散系列生成器2447でj番目の長さnの拡散系列{ri (j) }(0≦i<n)を生成し、これをそのままシンボル系列2445{pi (j) }(0≦i<n)として用いる(pi j):=ri (j) (0≦i<n))。シンボル系列をシンボル検出情報生成部2443に送る。
【0259】
ステップ244−3) シンボル検出情報生成部2443は、検出対象系列248とシンボル系列2445とシンボル候補c2444と現在処理中のシンボル位置jを入力として、以下の式によりシンボル系列と検出対象系列248の相関値を求め、相関値とシンボル候補とシンボル位置を組にしてシンボル検出情報corrc (j) 249を生成する。
【0260】
【数4】
Figure 0003745729
シンボル検出情報249は、検出結果生成部245に送られる。
【0261】
次に、本実施例の検出結果生成部245について説明する。
【0262】
図29は、本発明の第2の実施例の検出結果生成部の構成を示す。同図に示す検出結果生成部245は、各シンボル位置毎系列生成部2451、検出シンボル生成部2452、及び逆シンボル変換部2453から構成される。
【0263】
図30は、本発明の第2の実施例の検出結果生成部の動作を示すフローチャートである。
【0264】
ステップ245−1) 検出結果生成部245は、シンボル検出情報249を入力とし、まず、各シンボル位置毎系列生成部2451において、シンボル検出情報249をシンボル位置j毎に分割し、長さMの各シンボル位置毎系列corrc (j) ,(0≦c<M)2454をj=1〜Jまでの各々のjについて生成して検出シンボル生成部2452に送る。
【0265】
ステップ245−2) 検出シンボル生成部2452は、各シンボル位置毎系列2454を入力とし、各シンボル位置j毎に各シンボル位置毎系列2454中で最大の相関値をとる時のシンボル候補cを見つけて検出シンボルsj (1≦j<J)2455を生成する。
【0266】
ステップ245−3) すべてのsj を求めた後に、逆シンボル変換部2453は、シンボル表現から元々の電子透かしの表現に変換(例えば、第1の実施例における変換に対応する逆変換は、4つの検出シンボル(各検出シンボルの値は、0〜255)の値を各々ASCIIコードとみなして、4文字の8ビット文字に変換する処理である)して、検出結果203を生成し、出力する。この検出結果203は、検出対象画像201に埋め込まれていた電子透かしを表している。上記の処理により、第2の実施例における電子透かし検出装置の処理を終了する。
【0267】
上記の第2の実施例による電子透かし検出処理では、検出対象画像からブロック画素をずらしながら、切り出し、離散フーリエ変換を行って検出対象系列を得て、検出対象系列と位置マーカ系列との相関のピークを見つけることで、埋め込み時の透かしパターンの開始点が検出対象画像の左上からどれだけオフセットしているかを見つける。このことによって検出対象画像が、第1の実施例における埋め込み済画像を任意の位置から切り出した部分画像(サイズは2N×2N以上)である場合についても正しく透かしパターンの位置を見つけることができる。オフセット量を見つけたら、その位置から始まる画素ブロックから電子透かしの検出を行えば、埋め込まれている電子透かしを正しく検出することができる。
【0268】
また、第2の実施例による電子透かし検出処理では、原画像(第1の実施例の入力画像)が不要である。以上述べたように第2の実施例による電子透かし検出は、従来の技術では不可能であった埋め込み済画像を任意の位置から切り出した画像からの電子透かしの検出を原画像なしに行うことが可能となる。
【0269】
[第3の実施例]
次に、本発明の第3の実施例として、前述の第2の実施例において、切り出した画素ブロックをオフセット情報によりサイクリックシフトする例を説明する。
【0270】
以下の本実施例の説明において、以下に述べる部分以外については、前述の第2の実施例と同様である。
【0271】
最初に、本実施例における位置マーカ検出部230中のブロック生成部233の動作を説明する。なお、構成は、図18に示す構成と同様である。
【0272】
図31は、本発明の第3の実施例のブロック生成部の動作を示すフローチャートである。
【0273】
ステップ301) 位置マーカ検出部230のブロック生成部233は、検出対象画像201とオフセット候補情報204を入力する。
【0274】
ステップ302) まず、ブロック生成部233は、図32に示すように、検出対象画像201の左上からN×Nサイズのブロックを切り出す。
【0275】
ステップ303) 次に、ブロック生成部233は、このブロックをオフセット候補情報204をもとにサイクリックシフト(平行移動によってブロックからはみ出した部分は、反対側の辺の方に移す)を行って画素ブロック205を得る。
【0276】
ステップ304) 得られた画素ブロック205を出力する。
【0277】
この画素ブロックを式で表すと、
{Bij}:検出対象画像201の左上からN×Nサイズを切り出して得られるブロックとすると、オフセット候補情報(a,b)によるサイクリックシフトで得られる画素ブロックは、
B’ij=B(i+a)%N,(j+b)%N
(0≦i<N,0≦j<N,x%yは、xをyで割った剰余を表す)
と表した時の{B’ij}を画素ブロックとして出力する。
【0278】
次に、第3の実施例における電子透かし検出部240中のブロック生成部241の動作について以下に説明する。
【0279】
本実施例における電子透かし検出部240中のブロック生成部241は、検出対象画像201とオフセット情報231を入力とし、位置マーカ検出部230中のブロック生成部233と同様に(オフセット情報をオフセット候補情報として入力して)、サイクリックシフトを用いて画素ブロックを出力する。
【0280】
本実施例を用いた電子透かし検出処理の場合、前述の第2の実施例に比べて、検出対象画像に必要なサイズが、2N×2N以上からN×N以上になり、より小さな検出対象画像からの検出が可能となる。
【0281】
[第4の実施例]
次に、本発明の第4の実施例では、電子透かしを検出する際に、検出対象画像がN×Nサイズ以上または、N×Nサイズより小さい場合における画素ブロックの切り出しの例を説明する。
【0282】
まず、位置マーカ検出部230のブロック生成部233について説明する。以下に述べる部分以外については、前述の第2の実施例及び第3の実施例と同様である。
【0283】
図33は、本発明の第4の実施例のブロック生成部の動作を説明するための図であり、図34は、本発明の第4の実施例の位置マーカ検出部のブロック生成部の動作を示すフローチャートである。
【0284】
ステップ401) 本実施例における位置マーカ検出部230のブロック生成部233には、検出対象画像201とオフセット候補情報204が入力される。
ステップ402) ブロック生成部233は、検出対象画像201がN×Nサイズ以上であるかを判断し、そうであれば、ステップ403に移行し、そうでない場合にはステップ404に移行する。
【0285】
ステップ403) ブロック生成部233は、検出対象画像の左上からN×Nサイズのブロックを切り出す。
【0286】
ステップ404) 検出対象画像201が小さくてN×Nサイズに切り出せない場合は、ブロック生成部233は、N×Nで切り出そうとした時に含まれる検出対象画像相当分(図33A)のみを切り出し、N×Nサイズに足りない部分は、検出対象画像相当分の画素値の平均値を求めて、これで埋める。
【0287】
ステップ405) ブロック生成部233は、上記の処理で得られたブロックを前述の第3の実施例と同様にサイクリックシフトして画素ブロックを得る。
【0288】
ステップ406) ブロック生成部233は、得られた画素ブロック205を出力する。
【0289】
以下に、電子透かし検出部240中のブロック生成部241の動作について説明する。
【0290】
前述の第3の実施例における電子透かし検出部240のブロック生成部241は、検出対象画像201とオフセット情報231が入力され、位置マーカ検出部230のブロック生成部233と同様の処理によって(オフセット情報をオフセット候補情報として入力して)画素ブロック246を得て出力する。
【0291】
本実施例を用いた電子透かし検出処理の場合、第3の実施例に比べて、検出対象画像に必要なサイズがN×N以上から任意のサイズになり、より小さな検出対象画像からの検出が可能となる。
【0292】
[第5の実施例]
次に、本発明の第5の実施例について説明する。以下に述べる部分以外については、前述の第2の実施例と同様である。
【0293】
本実施例では、電子透かし検出部について説明する。
【0294】
図35は、本発明の第5の実施例の電子透かし検出部の構成を示す。
【0295】
同図に示す電子透かし検出部500は、ブロック分割部510、離散フーリエ変換部520、検出対象系列生成部530、シンボル検出部540、検出結果生成部550から構成される。
【0296】
図36は、本発明の第5の実施例の電子透かし検出部の動作を示すフローチャートである。
【0297】
ステップ510) 電子透かし検出部500は、検出対象画像201と検出対象成分位置情報211とオフセット情報231と鍵情報202を入力として、まず、ブロック分割部510において、検出対象画像201を、図37に示すように、左上からオフセット情報(a,b)231だけオフセットした位置からN×Nサイズの画素ブロックT個に分割し、分割によって得られた画素ブロック511に0〜T−1の番号を振る。
【0298】
t(0≦t<T)番目の画素ブロック511について、以下の処理を行う。
【0299】
ステップ520) 離散フーリエ変換部520は、t番目の画素ブロック511を離散フーリエ変換して、検出対象係数行列521を得る。
【0300】
ステップ530) 検出対象系列生成部530は、検出対象成分位置情報211と検出対象係数行列521から検出対象系列531を生成する。
【0301】
ステップ540) シンボル検出部540は、鍵情報202と各シンボル候補情報とから生成される系列と検出対象系列531との相関値を求めてシンボル検出情報546を生成する。
【0302】
ステップ550) すべてのtについてシンボル検出情報546を得た後、検出結果生成部550は、シンボル検出情報546の各シンボル位置について、相関値が最大の時のシンボル候補値を検出シンボルとする。
【0303】
ステップ560) 検出結果生成部550は、すべてのシンボル位置から検出シンボルを決定した後、検出シンボルを電子透かしの形式に逆変換した検出結果203として出力する。
【0304】
次に、本実施例におけるシンボル検出部540について説明する。
【0305】
図38は、本発明の第5の実施例のシンボル検出部の構成を示す。同図に示すシンボル検出部540は、シンボル候補生成部541、シンボル系列生成部542、シンボル検出情報生成部543から構成され、シンボル検出部540は、鍵情報202と(t番目の画素ブロックから得られる)検出対象系列531を入力とし、予め設定されている検出するシンボル数J個の各シンボル位置毎に、M個のシンボル候補544についてのシンボル検出情報546を生成し、検出結果生成部550に出力する。以下j(1≦j≦J)番目のシンボル検出について説明する。
【0306】
図39は、本発明の第5の実施例のシンボル検出部の動作を示すフローチャートである。
【0307】
ステップ551) シンボル候補生成部541は、シンボル候補cを0からM−1まで順次生成し、各シンボル候補毎に以下のステップ552〜ステップ553の処理を行う。Mは、前述の第1の実施例におけるシンボル変換によるシンボル値の最大値を表す。
【0308】
ステップ552) シンボル系列生成部542について説明する。図40は、本発明の第5の実施例のシンボル系列生成部の構成を示し、図41は、本発明の第5の実施例のシンボル系列生成部の動作を示すフローチャートである。
【0309】
ステップ552−1) シンボル系列生成部542は、鍵情報202とシンボル情報cを入力とし、cと鍵情報202を加算した値を初期値として、拡散系列生成器5421でj番目の長さnの拡散系列{ri (j) }(0≦i<n)を生成し、これをそのままシンボル系列545{pi (j) }(0≦i<n)として用いる(pi (j) :=ri (j) (0≦i<n))。シンボル系列545をシンボル検出情報生成部543に送る。
【0310】
ステップ553) シンボル検出情報生成部543は、検出対象系列531とシンボル系列545と、シンボル候補cと現在処理中のシンボル位置jを入力として、以下の式によりシンボル系列545と検出対象系列531の相関値を求め、相関値とシンボル候補とシンボル位置と画素ブロック位置を組にしてシンボル検出情報corrc (j)(t)546を生成する。
【0311】
【数5】
Figure 0003745729
シンボル検出情報546は、検出結果生成部550に送られる。
【0312】
次に、本実施例の検出結果生成部550について説明する。
【0313】
図42は、本発明の第5の実施例の検出結果生成部の構成を示す。同図に示す検出結果生成部550は、各シンボル位置毎系列生成部551、検出シンボル生成部552、逆シンボル変換部553から構成される。
【0314】
図43は、本発明の第5の実施例の検出結果生成部の動作を示すフローチャートである。
【0315】
ステップ561) 検出結果生成部550は、シンボル検出情報546を入力とし、シンボルを検出結果556(電子透かし)として取得する。まず、各シンボル位置毎系列生成部551は、シンボル検出情報546をシンボル位置j毎に分割し、長さM×Tの各シンボル位置毎系列corrc (j)(t),(0≦c<M,0≦t<T)554をj=1〜Jまでの各々のjについて生成して検出シンボル生成部552に送る。
【0316】
ステップ562) 検出シンボル生成部552は、各シンボル位置毎系列554を入力とし、各シンボル位置j毎に各シンボル位置毎系列554中で最大の相関値をとる時のシンボル候補cを見つけて検出シンボルsj (1≦j<J)を生成する。
【0317】
ステップ563) すべてのsj を求めた後に、逆シンボル変換部553は、シンボル表現からもともとの電子透かしの表現に変換(例えば、第1の実施例における変換に対応する逆変換は、4つの検出シンボル(各検出シンボルの値は、0から255)の値を各々ASCIIコードとみなして、4文字の8ビット文字に変換する処理である)して、検出結果203を生成し、出力する。
【0318】
検出結果203は、検出対象画像に埋め込まれていた電子透かしを表している。
【0319】
本実施例による電子透かし検出処理では、検出対象画像(2N×2N以上のサイズ)201をブロックに分割して、すべてのブロックの中で最大の相関値をとる時のシンボルを検出しているので、前述の第2の実施例(1つのブロックからしか検出しない)に比べて、より精度の高い検出が可能となる。
【0320】
[第6の実施例]
次に、本発明の第6の実施例として、電子透かし検出部について説明する。以下に述べる部分以外については、前述の第3の実施例と同様である。
【0321】
図44は、本発明の第6の実施例の電子透かし検出部の構成を示す。同図に示す電子透かし検出部600は、ブロック分割部610、離散フーリエ変換部620、検出対象系列生成部630、シンボル検出部640、検出結果生成部650から構成される。
【0322】
図45は、本発明の第6の実施例の電子透かし検出部の動作を示すフローチャートである。
【0323】
ステップ610) 電子透かし検出部600は、検出対象画像201と検出対象成分位置情報211とオフセット情報231と鍵情報202を入力とし、電子透かしを検出結果203として出力する。まず、ブロック分割部610は、検出対象画像201を図46に示すように、左上からN×Nサイズのブロックに分割し、位置マーカ検出部230のブロック生成部233と同様にして、オフセット情報(a,b)231を用いて各ブロックをサイクリックシフトして得られるT個のN×Nサイズの画素ブロックを生成する。さらに、ブロック分割部610は、分割によって得られた画素ブロックに0〜T−1の番号を振る。t(0≦t<T)番目の画素ブロック601について、ステップ620からステップ640の処理を繰り返す。
【0324】
ステップ620) 離散フーリエ変換部620は、t番目の画素ブロック601を離散フーリエ変換して検出対象係数行列602を得る。
【0325】
ステップ630) 検出対象系列生成部630は、位置マーカ検出部230の検出対象系列生成部235と同様の処理によって検出対象系列603を得て、シンボル検出部640に送る。
【0326】
ステップ640) シンボル検出部640は、鍵情報202と各シンボル候補情報とから生成される系列と検出対象系列603との相関値を求めてシンボル検出情報604を生成する。T番目の画素ブロック601まで、ステップ620以降の処理を繰り返す。
【0327】
ステップ650) すべてのtの画素ブロック601について、シンボル検出情報604を得た後、検出結果生成部650は、シンボル検出情報604の各シンボル位置について相関値が最大の時のシンボル候補値を検出シンボルとする。ステップ660) 検出結果生成部650は、すべてのシンボル位置から検出シンボルを決定した後、検出シンボルを電子透かしの形式に逆変換した結果を検出結果203として出力する。
【0328】
次に、本実施例におけるシンボル検出部640について説明する。
【0329】
図47は、本発明の第6の実施例のシンボル検出部の構成を示す。同図に示すシンボル検出部640は、シンボル候補生成部641、シンボル系列生成部643、シンボル検出情報生成部645から構成される。
【0330】
シンボル検出部640は、鍵情報202と(t番目の画素ブロックから得られる)検出対象系列603を入力とし、シンボル検出情報646を出力する。予め設定されている検出するシンボル数J個の各シンボル位置毎に、M個のシンボル候補642についてのシンボル検出情報604を生成し、検出結果生成部650に出力する。以下、j(1≦j<J)番目のシンボル検出について説明する。
【0331】
図48は、本発明の第6の実施例のシンボル検出部の動作を示すフローチャートである。
【0332】
ステップ641) シンボル候補生成部641において、シンボル候補cを0からM−1まで順次生成し、各シンボル候補642ごとに、ステップ642〜ステップ643までの処理を行う。Mは、前述の第1の実施例におけるシンボル変換によるシンボル値の最大値を表す。
【0333】
ステップ642) シンボル系列生成部643の構成を図49に示し、その動作を図50に示す。
【0334】
ステップ642−1) シンボル系列生成部643は、鍵情報202とシンボル候補c642を入力とし、cと鍵情報202を加算した値を初期値として、拡散系列生成器6431でj番目の長さnの拡散系列{ri (j) }(0≦i<n)を生成し、これをそのままシンボル系列644{pi (j) }(0≦i<n)として用いる(pi (j) :=ri (j) (0≦i<n))。シンボル系列644をシンボル検出情報生成部645に送る。
【0335】
ステップ643) シンボル検出情報生成部645は、検出対象系列603とシンボル系列644とシンボル候補cと現在処理中のシンボル位置jを入力として、以下の式によりシンボル系列644と検出対象系列603の相関値を求め、相関値とシンボル候補とシンボル位置と画素ブロック位置を組にしてシンボル検出情報corrc (j)(t)604を生成する。
【0336】
【数6】
Figure 0003745729
シンボル検出情報604は、検出結果生成部650に送られる。
【0337】
次に、本実施例における検出結果生成部650について説明する。
【0338】
図51は、本発明の第6の実施例の検出結果生成部の構成を示す。同図に示す検出結果生成部650は、各シンボル位置毎系列生成部651、検出シンボル生成部653、逆シンボル変換部655から構成される。
【0339】
図52は、本発明の第6の実施例の検出結果生成部の動作を示すフローチャートである。
【0340】
ステップ651) 検出結果生成部650は、シンボル検出情報604を入力とし、まず、各シンボル位置毎系列生成部651において、シンボル検出情報604をシンボル位置j毎に分割し、長さM×Tの各シンボル位置毎系列corrc (j)(t)(0≦c<M,0≦t<T)652をj=1〜Jまでの各々のjについて生成して検出シンボル生成部653に送る。
【0341】
ステップ652) 検出シンボル生成部653は、各シンボル位置毎系列652を入力とし、各シンボル位置j毎に、各シンボル位置毎系列652中で最大の相関値を採る時のシンボル候補cを見つけて検出シンボルsj (1≦j<J)654を生成する。すべてのsj を求めるまで上記の処理を繰り返す。
【0342】
ステップ653) 全ての検出シンボルsj を求めた後に、逆シンボル変換部655において、シンボル表現からもともとの電子透かしの表現に変換(例えば、第1の実施例における変換に対応する逆変換は、4つの検出シンボル(各検出シンボルの値は0〜255)の値を各々ASCIIコードとみなして4文字の8ビット文字に変換する処理である)して、検出結果203を生成し、出力する。検出結果203は、検出対象画像に埋め込まれていた電子透かしを表している。
【0343】
本実施例による電子透かし検出処理では、検出対象画像の最低サイズが(N×Nとなり第5の実施例よりも小さな部分画像から検出が可能となり、また、検出に用いるブロックの個数が第5の実施例よりも多くなるので、第5の実施例に比べてより精度の高い検出が可能となる。
【0344】
また、第3の実施例(1つのブロックからしか検出できない)に比べて、より精度の高い検出が可能となる。
【0345】
[第7の実施例]
本発明の第7の実施例として電子透かし検出部について説明する。以下に述べる部分以外については、前述の第4の実施例と同様である。
【0346】
図53は、本発明の第7の実施例の電子透かし検出部の構成を示す。同図に示す電子透かし検出部700は、ブロック分割部710、離散フーリエ変換部720、検出対象系列生成部730、シンボル検出部740、検出結果生成部750から構成される。
【0347】
図54は、本発明の第7の実施例の電子透かし検出部の動作を示すフローチャートである。
【0348】
ステップ710) 電子透かし検出部700は、検出対象画像201と検出対象成分位置情報211とオフセット情報231と鍵情報202を入力として、まず、ブロック分割部710において、検出対象画像201を、図55に示すように、左上からN×Nサイズのブロックに分割し、位置マーカ検出部230のブロック生成部233と同様に、オフセット情報(a,b)を用いて各ブロックをサイクリックシフトして得られるT個のN×Nサイズの画素ブロックを生成する。この際、検出対象画像201の端の辺りでN×Nサイズに切り出せないブロックについては、N×Nで切り出そうとした時に含まれる検出対象画像相当分のみを切り出し、N×Nサイズに足りない部分は、検出対象画像相当分の画素値の平均値を求めてこれで埋める、という処理を行ってからサイクリックシフトを行う。ブロック分割部710は、分割によって得られた画素ブロックに0〜T−1の番号を振る。t(0≦t<T)番目の画素ブロック701について、以下のステップ720〜ステップ740の処理を繰り返す。
【0349】
ステップ720) 離散フーリエ変換部720は、t番目の画素ブロックを離散フーリエ変換して検出対象係数行列702を得る。
【0350】
ステップ730) 検出対象系列生成部730は、位置マーカ検出部230の検出対象系列生成部235と同様の処理によって、検出対象系列703を得て、シンボル検出部740に送る。
【0351】
ステップ740) シンボル検出部740は、鍵情報202と各シンボル候補情報とから生成される系列と検出対象系列703との相関値を求めてシンボル検出情報704を生成する。
【0352】
ステップ750) すべてのtについてシンボル検出情報704を得た後、検出結果生成部750は、シンボル検出情報704の各シンボル位置について、相関値が最大の時のシンボル候補値を検出シンボルとする。
【0353】
ステップ760) すべてのシンボル位置から検出シンボルを決定した後、検出結果生成部750は、検出シンボルを電子透かしの形式に逆変換した結果を検出結果203として出力する。
【0354】
次に、本実施例におけるシンボル検出部740について説明する。
【0355】
図56は、本発明の第7の実施例のシンボル検出部の構成を示す。同図に示すシンボル検出部740は、シンボル候補生成部741、シンボル系列生成部743、シンボル検出情報生成部745から構成される。
【0356】
当該シンボル検出部740は、鍵情報202と(t番目の画素ブロックから得られる)検出対象系列703を入力とし、予め設定されている検出するシンボル数j個の各シンボル位置毎に、M個のシンボル候補742についてのシンボル検出情報704を生成し、検出結果生成部750に出力する。
【0357】
以下、j(1≦j≦J)番目のシンボル検出について説明する。
【0358】
図57は、本発明の第7の実施例のシンボル検出部の動作を示すフローチャートである。
【0359】
ステップ741) シンボル候補生成部741は、シンボル候補cを0からM−1まで順次生成し、各シンボル候補毎にステップ742からステップ743の処理を行う。Mは、前述の第1の実施例におけるシンボル値の最大値を表す。
【0360】
ステップ742) シンボル系列生成部743の構成と動作を説明する。図58は、本発明の第7の実施例のシンボル系列生成部の構成を示し、図59は、本発明の第7の実施例のシンボル系列生成部の動作を示すフローチャートである。
【0361】
ステップ742−1) シンボル系列生成部743は、鍵情報202とシンボル候補cを入力とし、cと鍵情報202を加算した値を初期値として、拡散系列生成器7431でj番目の長さnの拡散系列{ri (j) }(0≦i<n)を生成し、これをそのままシンボル系列744{pi (j) }(0≦i<n)として用いる(pi (j) :=ri (j) (0≦i<n))。シンボル系列744をシンボル検出情報生成部745に送る。
【0362】
ステップ743) シンボル検出情報生成部745は、検出対象系列703とシンボル系列744とシンボル候補cと現在処理中のシンボル位置jを入力として、以下の式によりシンボル系列744と検出対象系列703の相関値を求め、相関値とシンボル候補とシンボル位置と画素ブロック位置を組にして、シンボル検出情報corrc (j)(t)746を生成する。
【0363】
【数7】
Figure 0003745729
シンボル検出情報746は、検出結果生成部750に送られる。
【0364】
次に、本実施例における検出結果生成部750について説明する。
【0365】
図60は、本発明の第7の実施例の検出結果生成部の構成を示す。同図に示す検出結果生成部750は、各シンボル位置毎系列生成部751、検出シンボル生成部753、逆シンボル変換部755から構成される。
【0366】
図61は、本発明の第7の実施例の検出結果生成部の動作のフローチャートである。
【0367】
ステップ751) 検出結果生成部750は、シンボル検出情報704を入力とし、まず、各シンボル位置毎系列生成部751において、シンボル検出情報704をシンボル位置j毎に分割し、長さM×Tの各シンボル位置毎系列corrc (j)(t),(0≦c<M,0≦t<T)752をj=1〜Jまでの各々のjについて生成して検出シンボル生成部753に送る。
【0368】
ステップ752) 検出シンボル生成部753は、各シンボル位置毎系列752を入力とし、各シンボル位置j毎に各シンボル位置毎系列752中で最大の相関値をとる時のシンボル候補cを見つけて検出シンボルsj (1≦j≦J)754を生成する。ステップ751とステップ752の処理を全てのsj を求めるまで繰り返す。
【0369】
ステップ753) すべてのsj を求めた後に、逆シンボル変換部755において、シンボル表現からもともとの電子透かしの表現に変換(例えば、前述の第1の実施例における変換に対応する逆変換は、4つの検出シンボル(各検出シンボルの値は0〜255)の値を各々ASCIIコードと見做して4文字の8ビット文字に変換する処理である)して、検出結果203を生成し、出力する。
【0370】
検出結果203は、検出対象画像に埋め込まれていた電子透かしを表している。
【0371】
本実施例における電子透かし検出処理では、検出対象画像の最低サイズに関する制限が無くなるので、前述の第6の実施例よりも小さな部分画像からの検出が可能となり、また、検出に用いるブロックの個数が第6の実施例よりも多くなるので、第6の実施例に比べて精度の高い検出が可能となる。また、第4の実施例(1つのブロックからしか検出しない)に比べてより精度の高い検出が可能となる。
【0372】
[第8の実施例]
次に、本発明の第8の実施例として、検出対象画像をオフセット情報によりブロックに分割し、当該画素ブロックの画素値が加算された加算ブロックを画素ブロックとして出力する位置マーカ検出部について説明する。以下の説明以外の部分については、前述の第2の実施例と同様である。
【0373】
図62は、本発明の第8の実施例の位置マーカ検出部のブロック生成部の構成を示す。
【0374】
位置マーカ検出部230のブロック生成部800は、ブロック分割部810、ブロック加算部820を有する。
【0375】
図63は、本発明の第8の実施例の位置マーカ検出部のブロック生成部の動作を示すフローチャートである。
【0376】
ステップ810) ブロック生成部800は、検出対象画像201とオフセット候補情報204を入力とし、ブロック分割部810において、図64に示すように、検出対象画像201の左上からオフセット候補情報204(a,b)だけずれた位置からT個のN×N画素ブロックに分割する。
【0377】
ステップ820) 次に、ブロック加算部820は、これら全てのブロックを加算して加算ブロック802を生成する。式で表すと、
ij (t) :t番目のブロック(0≦i<N,0≦j<N,0≦t<T)
のとき、加算ブロックAij(0≦i<N,0≦j<N)は、
【0378】
【数8】
Figure 0003745729
によって得られる。
【0379】
ステップ830) ブロック生成部800は、この加算ブロック802を画素ブロック803として離散フーリエ変換部234に出力する。
【0380】
次に、本実施例における電子透かし検出部240のブロック生成部241について図23を用いて説明する。
【0381】
本実施例における電子透かし検出部240のブロック生成部241は、検出対象画像201とオフセット情報231を入力とし、位置マーカ検出部230のブロック生成部233と同様に、(オフセット情報をオフセット候補情報として入力して)、検出対象画像をオフセット情報(a,b)だけずれた位置からT個のN×Nのブロックに分割する。次に、ブロック生成部241内において、これらすべてのブロックを加算して、加算ブロックを生成する。この加算ブロックを画素ブロック246として離散フーリエ変換部242に出力する。
【0382】
本実施例における電子透かし検出処理では、検出対象画像(2N×2Nサイズ以上)をN×Nサイズのブロックに分割し、全てのブロックを加算したブロックから位置マーカの検出及び電子透かしの検出を行う。
【0383】
T個のブロックの加算によって、N×Nサイズの繰り返しパターンである透かしパターンは、T倍強調されるが、原画像のパターンはブロック間の相関が低いので、加算によって徐々にキャンセルされている。即ち、加算ブロックからの検出によって原画像の影響は少なくなり、同時に透かしパターンは強調されていくので、前述の第2の実施例より精度の高い検出が可能となる。
【0384】
また、検出に伴う処理量は、第2の実施例に比べて加算ブロックを生成する分だけ増加するが、この処理量は検出処理の他の部分の処理量と比較すれば、無視できるほど小さく、また、第5の実施例のように1つずつのブロックから検出する場合と比較するとブロック数倍だけ高速な処理が可能である。
【0385】
[第9の実施例]
次に、本発明の第9の実施例として、検出対象画像をブロックに分割し、分割されたブロックの画素値を加算して得られたブロックを加算ブロックとし、当該加算ブロックをオフセット情報によりサイクリックシフトし、画素ブロックを生成する処理を行う、位置マーカ検出部と電子透かし検出部について説明する。なお、以下に述べる部分以外については前述の第3の実施例と同様である。
【0386】
図65は、本発明の第9の実施例の位置マーカ検出部のブロック生成部の構成を示す。同図に示すブロック生成部900は、ブロック分割部910、ブロック加算部920、サイクリックシフト部930から構成される。
【0387】
図66は、本発明の第9の実施例の位置マーカ検出部のブロック生成部の動作を示すフローチャートである。
【0388】
ステップ910) ブロック生成部900は、検出対象画像201とオフセット候補情報204を入力とし、ブロック分割部910において、図67に示すように、検出対象画像201の左上からN×N画素のブロックにT個に分割する。
【0389】
ステップ920) 次に、ブロック加算部920は、これらすべてのブロックを加算して加算ブロック902を生成する。式で表すと、
ij (t) :t番目のブロック(0≦i<N,0≦j<N,0≦t<T)
のとき、加算ブロックAij(0≦i<N,0≦j<N)902は、
【0390】
【数9】
Figure 0003745729
によって得られる。
【0391】
次に、本実施例における位置マーカ検出部230(図18)のブロック生成部900のサイクリックシフト部930の動作について説明する。
【0392】
図68は、本発明の第9の実施例のサイクリックシフト部の動作を説明するための図である。
【0393】
同図に示すように、サイクリックシフト部930において、オフセット候補情報204を元に加算ブロック902をサイクリックシフトして画素ブロック246を生成し、これを離散フーリエ変換部234に出力する。式で表すと、
ij :加算ブロック(0≦i<N,0≦j<N)
をオフセット候補情報(a,b)204によって、サイクリックシフトして得られる画素ブロック246は、
ij=A(i+a)%N,(j+b)%N (0≦i<N,0≦j<N)
によって得られる。
【0394】
次に、本実施例における電子透かし検出部240のブロック生成部について、図23に基づいて説明する。
【0395】
本実施例における電子透かし検出部240のブロック生成部241は、検出対象画像201とオフセット情報231を入力とし、位置マーカ検出部230中のブロック生成部900と同様に(オフセット情報をオフセット候補情報として入力して)、検出対象画像201を左上からT個のN×N画素のブロックに分割する。
【0396】
次に、ブロック生成部241内のブロック加算部において、これらすべてのブロックを加算して、加算ブロックを生成する。そして、ブロック生成部241内のサイクリックシフト部において、オフセット情報を元に、加算ブロックをサイクリックシフトして画素ブロック246を生成し、離散フーリエ変換部234に出力する。
【0397】
本実施例による電子透かし検出処理では、検出対象画像の必要最低サイズがN×Nとなり、前述の第8の実施例よりも小さな検出対象画像からの検出が可能である。
【0398】
さらに、第8の実施例と比較して分割ブロック数Tが大きくなるので、検出において、原画像の影響はより少なくなり、透かしパターンはより強調されていくので、第8の実施例より精度の高い検出が可能となる。
【0399】
また、ブロックの加算によって、検出において、原画像の影響は少なくなり、透かしパターンは強調されていくので、第3の実施例より精度の高い検出が可能である。
【0400】
また、電子透かし検出に伴う処理量は、第3の実施例に比べて加算ブロックを生成する分だけ増加するが、この処理量は検出処理の他の部分の処理量と比較すれば無視できるほど小さく、また、第6の実施例のように1つずつのブロックから検出する場合と比較すると、ブロック数倍だけ高速に処理が可能である。
【0401】
[第10の実施例]
次に、本発明の第10の実施例として、位置マーカ検出部230について説明する。以下に説明されている部分以外は前述の第4の実施例と同様である。
【0402】
本実施例では、位置マーカ検出部230において、検出対象画像をブロックに分割し、このとき、検出対象画像の端の辺りで1ブロックに満たない画素領域について、分割時の検出対象画像相当分の平均値を求め、足りない部分は検出対象画像相当分の画素値の平均を求め、平均値で埋めてブロックとする点において、前述の第9の実施例と異なる。
【0403】
まず、本実施例における位置マーカ検出部230のブロック生成部について説明する。
【0404】
図69は、本発明の第10の実施例の位置マーカ検出部のブロック生成部の構成を示す。同図に示すブロック生成部1000は、ブロック分割部1010、ブロック加算部1020、サイクリックシフト部1030から構成される。
【0405】
図70は、本発明の第10の実施例の位置マーカ検出部のブロック生成部の動作を示すフローチャートである。
【0406】
ステップ1010) ブロック生成部1000は、検出対象画像201とオフセット候補情報204を入力とし、ブロック分割部1010において、図71に示すように、検出対象画像201の左上からN×N画素のブロックにT個に分割する。この際、検出対象画像201の端の辺りで1ブロックに満たない画素領域については、図72に示すように、N×Nで切り出そうとした時に含まれる検出対象画像相当分(図72A)の平均値を求め、足りない部分は、検出対象画像201相当分の画素値の平均値を求めてこれで埋める。
【0407】
ステップ1020) 次に、ブロック加算部1020において、これらすべてのブロックを加算して加算ブロック1012を生成する。式で表すと、
ij (t) :t番目のブロック(0≦i<N,0≦j<N,0≦t<T)
のとき、加算ブロックAij(0≦i<N,0≦j<N)1012は、
【0408】
【数10】
Figure 0003745729
によって得られる。
【0409】
次に、本実施例における位置マーカ検出部230のブロック生成部のサイクリックシフト部の動作について説明する。
【0410】
図73は、本発明の第10の実施例のサイクリックシフト部の動作を説明するための図である。
【0411】
サイクリックシフト部1030において、オフセット候補情報204を元に加算ブロック1012をサイクリックシフトして画素ブロックを生成し、これを離散フーリエ変換部234に出力する。式で表すと、
ij:加算ブロック(0≦i<N,0≦j<N)
をオフセット候補情報(a,b)204によってサイクリックシフトして得られる画素ブロックは、
ij=A(i+a)%N,(j+b)%N (0≦i<N,0≦j<N)
によって得られる。
【0412】
次に、本発明の第10の実施例における電子透かし検出部のブロック生成部(図示せず)を説明する。
【0413】
本実施例における電子透かし検出部のブロック生成部は、検出対象画像とオフセット情報を入力とし、位置マーカ検出部のブロック生成部と同様に(オフセット情報をオフセット候補情報として入力して)、検出対象画像を左上からT個のN×N画素のブロックに分割する。
【0414】
次に、ブロック加算部においてこれら全てのブロックを加算して、加算ブロックを生成する。そして、サイクリックシフト部において、オフセット情報を元に、加算ブロックをサイクリックシフトして画素ブロックを生成し、離散フーリエ変換部に出力する。
【0415】
本実施例による電子透かし検出処理では、検出対象画像の必要最低サイズが任意サイズとなり、第9の実施例よりも小さな検出対象画像から検出が可能である。
【0416】
さらに、第9の実施例と比較して分割ブロック数Tが大きくなるので、検出において原画像の影響はより少なくなり、透かしパターンはより強調されていくので、第9の実施例より精度の高い検出が可能となる。
【0417】
また、ブロックの加算によって、検出において原画像の影響は少なくなり、透かしパターンは強調されていくので、第4の実施例より精度の高い検出が可能となる。
【0418】
また、電子透かし検出に伴う処理量は、第4の実施例に比べて加算ブロックを生成する分だけ増加するが、この処理量は検出処理の他の部分の処理量と比較すれば無視できるほど小さく、また、第7の実施例のように1つずつのブロックから検出する場合と比較すると、ブロック数倍だけ高速に処理が可能である。
【0419】
[第11の実施例]
次に、本発明の第11の実施例として、電子透かし検出装置について説明する。
【0420】
本実施例の電子透かし検出装置は、前述の第1の実施例の方法により、電子透かしが埋め込まれた埋め込み済画像に一部切取り、非可逆圧縮等の処理が施された画像から、埋め込まれた電子透かしを検出するための装置である。
【0421】
図74は、本発明の第11の実施例の電子透かし検出装置の構成を示す。同図に示す電子透かし検出装置1100は、位置マーカ検出部1110、位置マーカ系列生成部1120、検出対象成分指定部1130、電子透かし検出部1140から構成される。
【0422】
図75は、本発明の第11の実施例の電子透かし検出装置の動作を示すフローチャートである。
【0423】
ステップ1110) 電子透かし検出装置1100は、検出対象画像201と埋め込み時に用いた鍵情報202が入力される。まず、電子透かし検出装置1100の検出対象成分指定部1130において、鍵情報202から前述の第1の実施例における埋め込み対象成分指定部130と同様の方法によって、検出対象成分位置情報1103を生成し、これを位置マーカ検出部1110と電子透かし検出部1140に送る。
【0424】
ステップ1120) 位置マーカ系列生成部1120は、鍵情報202から位置マーカ系列1102を生成し、これを位置マーカ検出部1110に送る。
【0425】
ステップ1130) 位置マーカ検出部1110は、検出対象画像201の左上からN×N(Nは、第1の実施例における透かしパターンのサイズ)サイズの画素ブロックを切り出し、切り出した画素ブロックの開始点から埋め込み時の透かしパターンの開始点がどれだけずれているかを表すオフセット情報1101を出力し、電子透かし検出部1140に送る。
【0426】
ステップ1140) 電子透かし検出部1140は、検出対象画像201と鍵情報202と検出対象成分位置情報1103とオフセット情報1101を入力とし、検出対象画像201の左上からN×Nサイズの画素ブロックを切り出し、オフセット情報1101と鍵情報202と検出対象成分位置情報1103を用いて、この画素ブロックに埋め込まれている電子透かしを検出し、これを検出結果203として出力する。
【0427】
次に、本実施例における検出対象成分指定部1130について説明する。
【0428】
図76は、本発明の第11の実施例の検出対象成分指定部の構成を示し、図77は、本発明の第11の実施例の検出対象成分指定部の動作を示すフローチャートである。
【0429】
ステップ1111) 検出対象成分指定部1130は、鍵情報202を入力とし、乱数生成器1131を用いて鍵情報202を初期値とする乱数列を生成する。
【0430】
ステップ1112) さらに、検出対象成分指定部1130は、生成した乱数列を元に、第1の実施例で用いた埋め込み系列の長さnと同じ長さの系列である検出対象成分位置情報1103を生成する。検出対象成分位置情報1103は、以下のような構成になっている。
【0431】
k =(xk ,yk ,zk )(0≦k<n)
k :検出対象係数x方向次数
k :検出対象係数y方向次数
k :検出対象係数の虚実を表すフラグ(実数成分か虚数成分か)
検出対象成分指定部1130は、第1の実施例における埋め込み対象成分指定部と全く同様の動作を行う。即ち、同じ鍵情報を入力として、第1の実施例の埋め込み対象成分指定部130で生成される埋め込み対象成分位置情報131と、本実施例の検出対象成分指定部1130で生成される検出対象成分位置情報1103は全く同じものである。生成された検出対象成分位置情報1103は位置マーカ検出部1110に送られる。
【0432】
次に、本実施例における位置マーカ系列生成部1120について説明する。
【0433】
図78は、本発明の第11の実施例の位置マーカ系列生成部の構成を示し、図79は、本発明の第11の実施例の位置マーカ系列生成部の動作を示すフローチャートである。
【0434】
ステップ1121) 位置マーカ系列生成部1120は、鍵情報202を入力として、拡散系列生成器1121によって、鍵情報202を初期値とする0番目の長さnの拡散系列{ri (0) }(0≦i<n)を生成し、この拡散系列をそのまま位置マーカ系列{pi }(0≦i<n)1102とする(pi :=ri (0) (0≦i<n))。これを位置マーカ系列生成部1120の拡散系列生成器1121は、第1の実施例における埋め込み系列生成部120の拡散系列生成器122と同様の動作をするものを用いる。
【0435】
次に、本実施例の位置マーカ検出部1110について説明する。
【0436】
図80は、本発明の第11の実施例の位置マーカ検出部の構成を示す。
【0437】
同図に示す位置マーカ検出部1110は、ブロック生成部1111、離散フーリエ変換部1113、検出対象系列生成部1115、オフセット候補情報生成部1117、位置マーカ検出情報生成部1118、オフセット情報生成部1119から構成される。
【0438】
図81は、本発明の第11の実施例の位置マーカ検出部の動作を示すフローチャートである。
【0439】
ステップ1131) 位置マーカ検出部1110は、検出対象画像201と検出対象成分位置情報1103と位置マーカ系列1102を入力として、まず、ブロック生成部1111において、検出対象画像201の左上からN×Nサイズの画素ブロック1104を切り出す。
【0440】
ステップ1132) 次に、離散フーリエ変換部1113は、画素ブロック1104を離散フーリエ変換して検出対象係数行列1105を得る。
【0441】
ステップ1133) 次に、オフセット候補情報生成部1117は、オフセット候補情報(a,b)を(0,0)から(N−1,N−1)まで順次生成する。
【0442】
ステップ1134) 以下、検出対象系列生成部1115から位置マーカ検出情報生成部1118までの処理は、各々のオフセット候補情報1106毎に行われる。検出対象系列生成部1115は、検出対象成分位置情報1103と検出対象係数行列1105とオフセット候補情報1106を入力とし、以下のようにして検出対象系列1107を生成する。図82は、本発明の第11の実施例の位置マーカ検出部の検出対象系列生成部の動作を示すフローチャートである。
【0443】
ステップ1134−1) 検出対象系列生成部1115は、検出対象係数行列1105をF(u,v)(0≦u<N,0≦v<N)、検出対象成分位置情報1103をLk =(xk ,yk ,zk )(0≦k<n)、オフセット候補情報1106を(a,b)とし、検出対象系列1107を{qk }(0≦k<n)と表すと、
k が実数成分を表す値の時には、ステップ1134−2に移行し、zk が虚数成分を表す値の時には、ステップ1134−3に移行する。
【0444】
ステップ1134−2)
【0445】
【数11】
Figure 0003745729
の処理をk=0…n−1について行う。
【0446】
ステップ1134−3)
【0447】
【数12】
Figure 0003745729
の処理をk=0…n−1について行う。
【0448】
ステップ1134−4) 検出対象系列{qk }1107を出力する。
【0449】
ステップ1135) 次に、位置マーカ検出情報生成部1118は、以下の式により位置マーカ系列1102と検出対象系列1107の相関値を求め、これをオフセット候補情報1106と組にして位置マーカ検出情報corrab1108として出力する。
【0450】
【数13】
Figure 0003745729
上記検出対象系列生成部1115から位置マーカ検出情報生成部1118までの処理を、オフセット候補情報(a,b)が(0,0)〜(N−1,N−1)まで巡回する間順次繰り返し、全ての位置マーカ検出情報1108をオフセット情報生成部1119に送る。
【0451】
ステップ1136) オフセット情報生成部1119は、入力された全ての位置マーカ検出情報1108のうち、位置マーカ系列1102と検出対象系列1107の相関値が最大のときのオフセット候補情報(a,b)1106をオフセット情報1101として出力し、電子透かし検出部1140に送る。
【0452】
位置マーカ検出部1110から出力されるオフセット情報1101は、検出対象画像201の左上から埋め込み時の透かしパターンの開始点がどれだけずれた位置にあるかを表している。
【0453】
次に、本実施例における電子透かし検出部1140について説明する。
【0454】
図83は、本発明の第11の実施例の電子透かし検出部の構成を示す。同図に示す電子透かし検出部1140は、ブロック生成部1141、離散フーリエ変換部1143、検出対象系列生成部1145、シンボル検出部1147、検出結果生成部1149から構成される。
【0455】
図84は、本発明の第11の実施例の電子透かし検出部の動作を示すフローチャートである。
【0456】
ステップ1141) 電子透かし検出部1140は、検出対象画像201と検出対象成分位置情報1103とオフセット情報1101と鍵情報202を入力として、まず、ブロック生成部1141において、検出対象画像201の左上からN×Nサイズの画素ブロック1142を切り出し、これを離散フーリエ変換部1143に送る。
【0457】
ステップ1142) 離散フーリエ変換部1143は、画素ブロック1142を離散フーリエ変換して検出対象係数行列1144を生成し、これを検出対象系列生成部1145に送る。
【0458】
ステップ1143) 検出対象系列生成部1145は、位置マーカ検出部1110の検出対象系列生成部1115と同様の処理(オフセット情報1101をオフセット候補情報として)によって検出対象系列1146を得て、シンボル検出部1147に送る。
【0459】
ステップ1144) シンボル検出部1147は、鍵情報202と各シンボル候補情報とから生成される系列と検出対象系列1146との相関値を求めてシンボル検出情報1148を生成する。
【0460】
ステップ1145) すべてのシンボル検出情報1148を得た後、検出結果生成部1149は、シンボル検出情報1148の各シンボル位置について、相関値が最大の時のシンボル候補値を検出シンボルとする。
【0461】
ステップ1146) すべてのシンボル位置から検出シンボルを決定した後、検出シンボルを電子透かしの形式に逆変換した結果を検出結果203として出力する。
【0462】
次に、本実施例におけるシンボル検出部1147について説明する。
【0463】
図85は、本発明の第11の実施例のシンボル検出部の構成を示す。同図に示すシンボル検出部1147は、シンボル候補生成部11471、シンボル系列生成部11473、シンボル検出情報生成部11475から構成される。シンボル検出部1147は、鍵情報202と検出対象系列1146を入力とし、予め設定されている検出するシンボル数J個の各シンボル位置毎に、M個のシンボル候補についてのシンボル検出情報11476を生成し、検出結果生成部1149に出力する。以下、j(1≦j≦J)番目のシンボル検出について説明する。
【0464】
図86は、本発明の第11の実施例のシンボル検出部の動作を示すフローチャートである。
【0465】
ステップ1144−1) シンボル候補生成部11471は、シンボル候補cを0からM−1まで順次生成し、各シンボル候補毎にステップ1144−2〜1144−3までの処理を行う。Mは、前述の第1の実施例におけるシンボル変換によるシンボル値の最大値を表す。
【0466】
ステップ1144−2) シンボル系列生成部11473について説明する。図87は、本発明の第11の実施例のシンボル系列生成部の構成を示し、図88は、本発明の第11の実施例のシンボル系列生成部の動作を示すフローチャートである。
【0467】
ステップ1144−2−1) シンボル系列生成部11473は、鍵情報202とシンボル候補cを入力とし、cと鍵情報202を加算した値を初期値として、拡散系列生成器114731でj番目の長さnの拡散系列{ri (j) }(0≦i<n)を生成し、これをそのままシンボル系列11474{pi (j) }(0≦i<n)として用いる(pi (j) :=ri (j) (0≦i<n))。シンボル系列11474をシンボル検出情報生成部11475に送る。
【0468】
ステップ1144−3) シンボル検出情報生成部11475は、検出対象系列1146とシンボル系列11474とシンボル候補cと現在処理中のシンボル位置jを入力として、以下の式により、シンボル系列11474と検出対象系列1146の相関値を求め、相関値とシンボル候補とシンボル位置を組としてシンボル検出情報corrc (j) 1148を生成する。
【0469】
【数14】
Figure 0003745729
シンボル検出情報1148は、検出結果生成部1149に送られる。
【0470】
次に、本実施例における検出結果生成部1149について説明する。
【0471】
図89は、本発明の第11の実施例の検出結果生成部の構成を示す。同図に示す検出結果生成部1149は、各シンボル位置毎系列生成部11491、検出シンボル生成部11493、逆シンボル変換部11495から構成される。
【0472】
図90は、本発明の第11の実施例の検出結果生成部の動作を示すフローチャートである。
【0473】
ステップ1145−1) 検出結果生成部1149は、シンボル検出情報1148を入力とし、まず、各シンボル位置毎系列生成部11491において、シンボル検出情報1148をシンボル位置j毎に分割し、長さMの各シンボル位置毎系列corrc (j) ,(0≦c<M)11492をj=1〜Jまでの各々のjについて生成して検出シンボル生成部11493に送る。
【0474】
ステップ1145−2) 検出シンボル生成部11493は、各シンボル位置毎系列11492を入力とし、各シンボル位置j毎に各シンボル位置毎系列中で最大の相関値をとる時のシンボル候補cを見つけて検出シンボルsj (1≦j<J)11494を生成する。
【0475】
ステップ1145−3) 全てのsj を求めた後、逆シンボル変換部11495において、シンボル表現からもともとの電子透かしの表現に変換(例えば、第1の実施例における変換に対応する逆変換は、4つの検出シンボル(各検出シンボルの値は、0〜255)の値を各々ASCIIコードとみなして4文字の8ビット文字に変換する処理である)して、検出結果203を生成し、出力する。
【0476】
当該検出結果203は、検出対象画像201に埋め込まれていた電子透かしを表している。
【0477】
以上で、第11の実施例における電子透かし検出装置の処理は終了する。
【0478】
本実施例による電子透かし検出では、検出対象画像の左上からブロックを切り出し、離散フーリエ変換を行って検出対象係数行列1105を得た後に、検出対象成分位置情報1103で指定される成分にオフセットと係数の次数によって定まる位相差を掛け算して、検出対象系列1107を生成している。これは、フーリエ変換の平行移動に関する性質
F(u,v)←→f(x,y)(←→はフーリエ変換/逆変換を表す)のとき、
【0479】
【数15】
Figure 0003745729
を利用している。これにより、検出時に必要な離散フーリエ変換は一回だけで済み、第2の実施例〜第10の実施例までの検出処理よりも高速に処理を行うことが可能である。(N=128のブロックサイズにおける計算機シミュレーションによる処理時間の比較は、第2の実施例:第11の実施例=65:1)であった。
【0480】
また、第1の実施例における埋め込み済画像を任意の位置から切り出した部分画像(サイズは、N×N以上)である場合についても、検出が可能である。
【0481】
[第12の実施例]
次に、本発明の第12の実施例として、位置マーカ検出部のブロック生成部において、検出対象画像をブロックに分割した際に、検出対象画像相当分の平均値を求め、足りない部分は検出対象画像相当分の画素値の平均値を求め、当該平均値で足りない部分を埋めてブロックする例について説明する。以下に述べられている部分以外は、前述の第11の実施例と同様である。
【0482】
図91は、本発明の第12の実施例の位置マーカ検出部のブロック生成部の動作を説明するための図である。
【0483】
本実施例における位置マーカ検出部1110のブロック生成部1111は、検出対象画像201を入力とし、検出対象画像201の左上からN×Nサイズのブロックを切り出す。この際、検出対象画像201が小さくてN×Nサイズに切り出せない場合は、N×Nで切り出そうとしたときに含まれる検出対象画像相当分(同図A)のみを切り出し、N×Nサイズに足りない部分は、検出対象画像相当分の画素値の平均値を求めて、これで埋める。
【0484】
上記の処理で得られたブロックを前述の第11の実施例と同様に画素ブロックとして出力する。
【0485】
次に、本実施例における電子透かし検出部のブロック生成の動作について説明する。本実施例における電子透かし検出部のブロック生成部は検出対象画像を入力とし、位置マーカ検出部の中のブロック生成部と同様の処理によって、画素ブロックを得て出力する。
【0486】
本実施例を用いた電子透かし検出処理の場合、前述の第11の実施例に比べて検出対象画像に必要なサイズがN×N以上から任意のサイズにより、より小さな検出対象画像からの検出が可能となる。
【0487】
[第13の実施例]
次に、本発明の第13の実施例として、電子透かし検出部、シンボル検出部、検出結果生成部について説明する。以下に述べる部分以外については、前述の第11の実施例と同様である。
【0488】
図92は、本発明の第13の実施例の電子透かし検出部の構成を示す。同図に示す電子透かし検出部2000は、ブロック分割部2100、離散フーリエ変換部2200、検出対象系列生成部2300、シンボル検出部2400、検出結果生成部2500から構成される。
【0489】
図93は、本発明の第13の実施例の電子透かし検出部の動作を示すフローチャートである。
【0490】
ステップ2100) 電子透かし検出部2000は、検出対象画像201と、検出対象成分位置情報211、オフセット情報231と鍵情報202を入力として、まず、ブロック分割部2100において検出対象画像201を、図94に示すように、左上からN×Nサイズの画素ブロックT個に分割する。
【0491】
ステップ2200) 分割によって得られた個々の画素ブロック2001に0〜T−1の番号を振る。t(0≦t<T)番目の画素ブロック2001について、以下のステップ2300〜ステップ2400の処理を繰り返す。
【0492】
ステップ2300) 離散フーリエ変換部2200は、t番目の画素ブロック2001を離散フーリエ変換して、検出対象係数行列2002を得る。
【0493】
ステップ2400) 検出対象系列生成部2300は、位置マーカ検出部の検出対象系列生成部と同様の処理によって、検出対象系列2003を得て、シンボル検出部2400に送る。
【0494】
ステップ2500) シンボル検出部2400は、鍵情報202と各シンボル候補情報とから生成される系列と検出対象系列2003との相関値を求めてシンボル検出情報2004を生成する。
【0495】
ステップ2600) 検出結果生成部2500は、全てのtについてシンボル検出情報2004を得た後、シンボル検出情報2004の各シンボル位置について、相関値が最大の時のシンボル候補値を検出シンボルとし、全てのシンボル位置から検出シンボルを決定した後、検出シンボルを電子透かしの形式に逆変換した結果を検出結果203として出力する。
【0496】
次に、本実施例におけるシンボル検出部2400について説明する。
【0497】
図95は、本発明の第13の実施例のシンボル検出部の構成を示す。同図に示すシンボル検出部2400は、シンボル候補生成部2410、シンボル系列生成部2420、シンボル検出情報生成部2430から構成される。
【0498】
シンボル検出部2400は、鍵情報202と(t番目の画素ブロックから得られる)検出対象系列2003を入力とし、予め設定されている検出するシンボル数J個の各シンボル位置毎に、M個のシンボル候補についてのシンボル検出情報2004を生成し、検出結果生成部2500に出力する。
【0499】
図96は、本発明の第13の実施例のシンボル検出部の動作を示すフローチャートである。
【0500】
ステップ2410) シンボル候補生成部2410において、シンボル候補c2401を0からM−1まで順次生成し、各シンボル候補毎に、ステップ2420〜2430の処理を繰り返す。Mは、第1の実施例におけるシンボル変換によるシンボル値の最大値を表す。
【0501】
ステップ2420) ここで、シンボル系列生成部2420について説明する。図97は、本発明の第13の実施例のシンボル系列生成部の構成を示し、図98は、本発明の第13の実施例のシンボル系列生成部の動作を示す。
【0502】
ステップ2421) シンボル系列生成部2420は、鍵情報202とシンボル候補c2401を入力とし、cと鍵情報202を加算した値を初期値として、拡散系列生成器2421でj番目の長さnの拡散系列{ri (j) }(0≦i<n)を生成し、これをそのままシンボル系列{pi (j) }(0≦i<n)2402として用いる(pi (j) :=ri (j) (0≦i<n))。シンボル系列2402をシンボル検出情報生成部2430に送る。
【0503】
ステップ2430) シンボル検出情報生成部2430は、検出対象系列2003とシンボル系列2402とシンボル候補と現在処理中のシンボル位置jを入力として、以下の式によりシンボル系列2402と検出対象系列2003の相関値を求め、相関値とシンボル候補とシンボル位置と画素ブロック位置を組にしてシンボル検出情報corrc (j)(t)2403を生成する。
【0504】
【数16】
Figure 0003745729
シンボル検出情報2004は、検出結果生成部2500に送られる。
【0505】
次に、本実施例における検出結果生成部2500について説明する。
【0506】
図99は、本発明の第13の実施例の検出結果生成部の構成を示す。同図に示す検出結果生成部2500は、各シンボル位置毎系列生成部2510、検出シンボル生成部2520、逆シンボル変換部2530から構成される。
【0507】
図100は、本発明の第13の実施例の検出結果生成部の動作を示すフローチャートである。
【0508】
ステップ2510) 検出結果生成部2500は、シンボル検出情報2004を入力とし、まず、各シンボル位置毎系列生成部2510において、シンボル検出情報2004をシンボル位置j毎に分割し、長さM×Tの各シンボル位置毎系列corrc (j)(t)(0≦c<M,0≦t<T)2501をj=1〜Jまでの各々のjについて生成して検出シンボル生成部2520に送る。
【0509】
ステップ2520) 検出シンボル生成部2520は、各シンボル位置毎系列2501を入力とし、各シンボル位置j毎に各シンボル位置毎系列中で最大の相関値を採る時のシンボル候補cを見つけて検出シンボルsj (1≦j<J)2502を生成する。すべてのsj を求めるまで上記の処理を繰り返す。
【0510】
ステップ2530) 全てのsj を求めた後に、逆シンボル変換部2530において、シンボル表現からもともとの電子透かしの表現に変換(例えば、第1の実施例における変換に対応する逆変換は、4つの検出シンボル(各検出シンボルの値は0〜255)の値を各々ASCIIコードとみなして4文字の8ビット文字に変換する処理である)して、検出結果203を生成し、出力する。検出結果203は、検出対象画像に埋め込まれていた電子透かしを表している。
【0511】
本実施例による電子透かし検出処理では、検出対象画像(N×N以上のサイズ)をブロックに分割して、全てのブロックの中で最大の相関値をとる時のシンボルを検出しているので、前述の第11の実施例(1つのブロックからしか検出しない)に比べて、より精度の高い検出が可能となる。さらに、検出処理の際に必要な離散フーリエ変換の回数はブロック数分だけであるので、前述の第5の実施例よりも高速な処理が可能である。
【0512】
[第14の実施例]
次に、本発明の第14の実施例として、電子透かし検出部のブロック分割部において、検出対象画像からN×Nサイズのブロックを切り出せない場合の処理について説明する。
【0513】
図101は、本発明の第14の実施例の電子透かし検出部のブロック分割部の動作を説明するための図である。
【0514】
ブロック分割部2100は、検出対象画像201を左からN×NサイズのブロックT個に分割する。この際、検出対象画像201の端の辺りで、N×Nサイズに切り出せないブロックについては、N×Nで切り出そうとした時に含まれる検出対象画像相当分のみを切り出し、N×Nサイズに足りない部分は、検出対象画像相当分の画素値の平均値を求めてこれで埋める、という処理を行う。分割によって得られた画素ブロックのそれぞれに0〜T−1の番号を振る。
【0515】
本実施例による情報検出では、検出対象画像の必要最低サイズが任意のサイズでよくなり、前述の第13の実施例よりも小さな検出対象画像からの検出が可能である。また、検出に用いるブロックの個数が第13の実施例よりも多くなるので、第13の実施例に比べてより精度の高い検出が可能となる。
【0516】
さらに、検出処理の際に必要な離散フーリエ変換の回数は、ブロック数分だけであるので、第6の実施例よりも高速に処理が可能である。
【0517】
[第15の実施例]
次に、本発明の第15の実施例として、位置マーカ検出部、電子透かし検出部について説明する。以下に述べる部分以外については、前述の第11の実施例と共通である。
【0518】
図102は、本発明の第15の実施例の位置マーカ検出部のブロック生成部の構成を示す。同図に示すブロック生成部3000は、ブロック分割部3100、ブロック加算部3200から構成される。
【0519】
図103は、本発明の第15の実施例の位置マーカ検出部のブロック生成部の動作を示すフローチャートである。
【0520】
ステップ3100) ブロック生成部3000は、検出対象画像201を入力とし、ブロック分割部3100において、図104に示すように検出対象画像を左上からT個のN×N画素のブロックに分割する。
【0521】
ステップ3200) 次に、ブロック加算部3200は、これら全てのブロックを加算して、加算ブロック3002を生成する。これを式で表すと、
ij (t) :t番目のブロック(0≦i<N,0≦j<N,0≦t<T)
のとき、加算ブロックAij(0≦i<N,0≦j<N)は、
【0522】
【数17】
Figure 0003745729
によって得られる。
【0523】
この加算ブロック3002を画素ブロック205として、離散フーリエ変換部1113に出力する。
【0524】
本実施例による情報検出では、検出対象画像201(N×Nサイズ以上)をN×Nサイズのブロックに分割し、全てのブロックを加算したブロックから位置マーカの検出及び電子透かしの検出を行う。
【0525】
T個のブロックの加算によって、N×Nサイズの繰り返しパターンである透かしパターンは、T倍強調されるが、原画像のパターンは、ブロック間の相関が低いので、加算によって徐々にキャンセルされていく。即ち、加算ブロックからの検出によって原画像の影響は少なくなり、同時に透かしパターンは強調されていくので、第11の実施例より精度の高い検出が可能となる。
【0526】
また、検出に伴う処理量は、第11の実施例に比べて、加算ブロックを生成する分だけ増加するが、この処理量は、検出処理の他の部分の処理量と比較すれば、無視できるほど小さく、また、第13の実施例のように1つずつのブロックから検出する場合と比較すると、ブロック数倍だけ高速に処理が可能である。
【0527】
さらに、検出処理の際に必要な離散フーリエ変換の回数は1回だけであるので、第2の実施例〜第10の実施例よりも高速に処理が可能である。
【0528】
[第16の実施例]
次に、本発明の第16の実施例として位置マーカ検出部のブロック生成部について説明する。以下に述べる部分以外は、第12の実施例と同様である。
【0529】
図105は、本発明の第16の実施例の位置マーカ検出部のブロック生成部の構成を示す。同図に示すブロック生成部4000は、ブロック分割部4100、ブロック加算部4200から構成される。
【0530】
図106は、本発明の第16の実施例の位置マーカ検出部のブロック生成部の動作を示すフローチャートである。
【0531】
ステップ4100) ブロック生成部4000は、検出対象画像201を入力とし、ブロック分割部4100において、図107に示すように、検出対象画像201を左上からT個のN×N画素のブロックに分割する。この際、検出対象画像201の端の辺りでN×Nサイズに切り出せないブロックについては、N×Nで切り出そうとした時に含まれる検出対象画像相当分のみを切り出し、N×Nサイズに足りない部分は、検出対象画像相当分の画素値の平均値を求めてこれで埋めるという処理を行う。
【0532】
ステップ4200) 次に、ブロック加算部4200は、これらすべてのブロックを加算して、加算ブロック4002を生成する。これを式で表すと、
ij (t) :t番目のブロック(0≦i<N,0≦j<N,0≦t<T)のとき、加算ブロックAij(0≦i<N,0≦j<N)は、
【0533】
【数18】
Figure 0003745729
によって得られる。
【0534】
ステップ4300) この加算ブロック4002を画素ブロックとして離散フーリエ変換部1113に出力する。
【0535】
次に、本実施例における電子透かし検出部中のブロック生成部(図示せず)について説明する。
【0536】
本実施例における電子透かし検出部中のブロック生成部は、検出対象画像を入力とし、位置マーカ検出部の中のブロック生成部4000と同様に、検出対象画像を左上からT個のN×N画素のブロックに分割する。
【0537】
次に、ブロック加算部において、これら全てのブロックを加算して、加算ブロックを生成する。この加算ブロックを画素ブロックとして離散フーリエ変換部に出力する。
【0538】
上記の本実施例による情報検出では、検出対象画像の必要最低サイズが任意のサイズとなり、前述の第15の実施例に比べてより小さな検出対象画像からの検出が可能である。
【0539】
さらに、第15の実施例と比較して、分割ブロック数Tが大きくなるので、検出において原画像の影響はより少なくなり、透かしパターンはより強調されていくので、第15の実施例より精度の高い検出が可能である。
【0540】
また、ブロックの加算によって、検出において原画像の影響は少なくなり、透かしパターンは強調されていくので、第12の実施例より精度の高い検出が可能となる。
【0541】
また、検出に伴う処理量は第12の実施例に比べて、加算ブロックを生成する分だけ増加するが、この処理量は、検出処理の他の部分の処理量と比較すれば、無視できるほど小さく、また、第14の実施例のように1つずつのブロックから検出する場合と比較すると、ブロック数倍だけ高速に処理が可能である。
【0542】
[第17の実施例]
次に、本発明の第17の実施例として、位置マーカ検出部の検出対象系列生成部について説明する。以下に述べる部分以外については、前述の第2の実施例〜第16の実施例と同様である。
【0543】
本実施例においては、第2の実施例〜第16の実施例の各実施例における位置マーカ検出部の検出対象系列生成部において、各実施例で記載されているように、検出対象系列を生成し終えた最終段の後に、さらに、以下のように検出対象系列の平均を0とする処理を行い、この処理を施した検出対象系列をその後の処理に用いる。
【0544】
{qi }:処理前の検出対象系列(0≦i<n)
のとき、
【0545】
【数19】
Figure 0003745729
を求めて、
i :=qi −ave (0≦i<n)
によって平均が0になるように変更する。
【0546】
本実施例によれば、検出対象系列の平均が0となり、各項は、正または、負(または、0)の値を持つようになる。これにより、その後の相関値の計算において、位置マーカ検出情報が有効なピークを持つ時以外の相関値が低く抑えられるので、本実施例の処理を行わない場合に比べて、位置マーカ検出情報の有効なピークをより精度よく検出することが可能となる。
【0547】
[第18の実施例]
次に、本発明の第18の実施例として、電子透かし検出部の検出対象系列生成部について説明する。以下に述べる部分以外については、前述の第2の実施例〜第17の実施例と同様である。
【0548】
本実施例は、前述の第2の実施例〜第17の実施例における電子透かし検出部中の検出対象系列生成部において、各実施例で記載しているとおり検出対象系列を生成し終えた最終段の後に、さらに以下のように検出対象系列の平均を0とする処理を行い、この処理を施した検出対象系列をその後の処理に用いる。
【0549】
{qi }:処理前の検出対象系列(0≦i<n)
のとき、
【0550】
【数20】
Figure 0003745729
を求めて、
i :=qi −ave (0≦i<n)
によって平均が0になるように変更する。
【0551】
本実施例によれば、検出対象系列の平均が0となり、各項は、正または、負(または、0)の値を持つようになる。これにより、その後の相関値の計算において、シンボル検出情報が有効なピークを持つ時以外の相関値が低く抑えられるので、本実施例の処理を行わない場合に比べて、シンボル検出情報の有効なピークをより精度よく検出することが可能となる。
【0552】
[第19の実施例]
次に、本発明の第19の実施例として、位置マーカ検出部のオフセット情報生成部ついて説明する。以下に述べる部分以外については、前述の第2の実施例〜第18の実施例と同様である。
【0553】
図108は、本発明の第19の実施例の位置マーカ検出部のオフセット情報生成部の動作を示すフローチャートである。
【0554】
ステップ5100) オフセット情報生成部は、位置マーカ検出情報を入力として、まず、すべての位置マーカ検出情報の中の最大値Omax を求める。
【0555】
ステップ5200) 次に、予め定められている閾値βによって、以下ように処理を分ける。Omax <βであるときは、ステップ5300に移行し、そうでない場合にはステップ5400に移行する。
【0556】
ステップ5300) オフセット情報の検出に失敗したことを意味する内容の検出結果を、情報検出装置の外に出力し、情報検出装置におけるすべての処理を終了する。
【0557】
ステップ5400) 最大値Omax をとる時のオフセット候補情報(a,b)をオフセット情報として出力し、電子透かし検出部に送る。
【0558】
上記の第19の実施例によれば、位置マーカ検出情報、つまり、位置マーカ系列と検出対象系列の相関値が閾値β以上でないと検出を続行しない。これにより、情報が埋め込まれていない画像を検出対象画像としたり、あるいは、埋め込み済画像が激しく傷ついて既に検出が不可能であるような場合に、無理に検出を行って誤った検出結果を出力せずに、検出に失敗したことを意味する内容の検出結果を出力するので、出力される検出結果の信頼性が増す。
【0559】
[第20の実施例]
次に、本発明の第20の実施例として、電子透かし検出部の検出結果生成部について説明する。以下に述べる部分以外については、前述の第2の実施例〜第19の実施例と同様である。
【0560】
図109は、本発明の第20の実施例の電子透かし検出部の検出結果生成部の動作を示すフローチャートである。
【0561】
ステップ6100) 検出結果生成部は、シンボル検出情報を入力として、まず、各シンボル位置毎系列生成部において、シンボル検出情報をシンボル位置j毎に分割する。
【0562】
ステップ6200) 検出結果生成部は、j(1≦j≦J)番目のシンボル位置毎系列の最大値smax (j) を求め、予め定めれている閾値γによって以下のように処理を分岐する。
【0563】
ステップ6300) smax (j) <γであるときは、ステップ6400に移行し、そうでない場合には、ステップ6500に移行する。
【0564】
ステップ6400) 検出対象画像に埋め込まれている電子透かしの検出に失敗したことを意味する内容の検出結果を出力し、検出結果生成部におけるすべての処理を終了する。
【0565】
ステップ6500) smax (j) ≧γであるときは、最大値smax (j) をとる時のシンボル候補cを、j番目の検出シンボルsj (1≦j≦J)とする。
【0566】
ステップ6600) 全てのsj を求めた後に、シンボル表現からもともとの電子透かしの表現に変換(例えば、第1の実施例における4つの検出シンボル(各検出シンボルの値は、0から255)の値を各々ASCIIコードとみなして、4文字の8ビット文字に変換する処理である)して、検出結果を生成し、出力する。
【0567】
上記の第20の実施例によれば、シンボル検出情報、つまり、各シンボル系列と検出対象系列の相関値が閾値γ以上でないと検出を続行しない。これにより情報が埋め込まれていない画像を検出対象画像としたり、あるいは、埋め込み済画像が激しく傷ついて既に検出が不可能であるような場合に、無理に検出を行って誤った検出結果を出力せずに、検出に失敗したことを意味する内容の検出結果を出力するので、出力される検出結果の信頼性が増す。
【0568】
[第21の実施例]
最後に、本発明の第21の実施例を説明する。以下に述べる部分以外については、前述の第1の実施例及び第20の実施例と同様である。
【0569】
本実施例では、第1の実施例における埋め込み系列生成部の拡散系列生成器、第20の実施例における位置マーカ系列生成部の拡散系列生成器及び電子透かし検出部のシンボル系列生成部の拡散系列生成器は、+1または、−1の値をそれぞれ確率1/2でランダムに順次生成するもの(例えば、宮川・岩垂・今井:「符号理論」昭晃堂、128ページに記載されているM系列発生”についてk次の生成多項式(kは十分大きな整数)を用いて得られる“+1”、“−1”の2値からなるランダムな系列など)を用いる。
【0570】
また、本実施例では、第20の実施例における電子透かし検出部のシンボル検出部のシンボル検出情報生成部における相関を求める計算式として、以下のものを用いる。
【0571】
{pi }:シンボル系列(0≦i<n)
{qi }:検出対象系列(0≦i<n)
のとき、この2つの系列の相関値は、
【0572】
【数21】
Figure 0003745729
シンボル検出情報生成部における相関値の分布について考えると、
【0573】
【数22】
Figure 0003745729
は、平均0(第18の実施例による)、分散1/nの分布に従う系列である。
【0574】
また、pi (0≦i<n)は、+1、または、−1の値をそれぞれ確率1/2でとる。平均0、分散1の分布に従う系列である。nが十分大きければ、
【0575】
【数23】
Figure 0003745729
は、平均0、分散1/nの分布に従う系列となる。ここで、確率統計学における中心極限定理を用いると、nが十分に大きい時には、
【0576】
【数24】
Figure 0003745729
は、平均0、分散1の正規分布N(0,1)に従う。図110は、本発明の第21の実施例の計算機シミュレーションによるcorrの値と、理論値N(0,1)を示したグラフである(n=1024)、推論通り、corrがN(0,1)に従っていることが分かる。
【0577】
corrがN(0,1)に従うことがわかれば、第20の実施例における閾値γを、確度(どの程度検出したピークが有意なものかを表す尺度)によって、決定することができる。例えば、確度99.999%(偶然に閾値以上のピークが現れる確率が10-5)であるとすると、正規分布表からはその時の閾値γ=4.26489 となる。図111は、本発明の第21の実施例の計算機シミュレーションによるシンボル検出情報のグラフである。同図に示すように、4つのシンボル(1シンボルは、0〜255までの値を持つ)を検出した結果、“A”、“B”、“C”、“D”を表すシンボル値において、有意なピークが見られる。このピークがどの程度有意か(偶然による値ではなく)を評価するために先程のγを用いる。図111の例では、各ピーク値は、4.26489 以上であるので、確度99.999以上でのこれらのピークは有意であると判断してよい。
【0578】
上記の第21の実施例によれば、シンボル検出情報の分布を、具体的に平均0、分散1の正規分布になるようにできるので、シンボル検出を確度を指定して行うことが可能となる。これにより、検出結果がどの程度確からしいかが把握でき、検出結果の信頼性が増し、また、利便性が向上する。
【0579】
本発明の提案方法の有効性を確認するために計算機シミュレーションを行った。テスト画像として、512×512画素の8ビットグレイスケール画像(Lena,sailboat,baboon)を用いた。また、シミュレーションに用いたパラメータの値は、N=128、n=1023,α=1.4、M=256(un ,vn )は、
【0580】
【数25】
Figure 0003745729
で指定される中周波帯域から選択、透かし情報は、32ビット(ASCII文字列“ABCD”)である。
【0581】
ここで、透かし入り画像の画質について説明する。
【0582】
埋め込み強度power を変化させた時のPSNRを図112に示す。但し、グラフ中のpower の値は、power =ξの時を基準とした相対値で表している。画像によってpower に対するPSNRに差が生じているが、これは、局所的重み付けによるものである。
【0583】
平行移動・切取りについては、まず、透かし入り画像(Lena,power =ξ,PSNR=42.107873 )から透かし情報を検出した結果を図113に示す。オフセット値(0,0)において、ピーク(14.761541 )を検出している。また、透かし情報の各シンボル“A”、“B”、“C”、“D”においてもピーク(11.180982 〜9.108589)を検出しており、透かし情報の検出は、成功している。
【0584】
次に、各画像から切り取った部分画像から透かし情報の検出を試みた。部分画像(各サイズ毎に始点をランダムに50箇所選んだ)のサイズN×Nを変化させた時のオフセット検出成功率(正しいオフセットを検出できたときに成功する)、シンボル検出成功率(全てのシンボルを正しく検出でき、かつ4つのピーク値の最小値が閾値4.26489 より大のときに成功とする) を図114に示す。N=256より大きな部分画像に対しては透かし情報の検出がほぼ確実に可能である。透かし情報は、128×128画素のブロック毎に埋め込まれているが、図115(a)に示すようなエッジを含む画像などではいくつかの周波数成分値が大きな値を持ち、これが、前述の原画像による大きな雑音となり、検出が失敗していると考えられる。逆に図115(b)のような比較的平坦な画像、あるいは、テクスチャ画像などでは検出に成功している。原画像との差分を用いた検出の場合、原画像による雑音がキャンセルされるので、検出は成功すると考えられる。
【0585】
次に、JPEG圧縮について説明する。
【0586】
透かし入り画像(Lena,sailboat,baboon,power =ξ)をJPEGで非可逆圧縮して得られる画像から透かし情報の検出を試みた。quality パラメータを変化させた時のオフセットレスポンスピーク値とシンボルレスポンスピークの最小値を図116に示す。図中の折れ線が途絶えたところまで検出に成功している。前述の平行移動・切取りの説明で述べた閾値を考慮すると、実効的な耐性は、図116よりも若干低めだと考えられる。
【0587】
次に、階調変換について説明する。
【0588】
透かし入り画像(Lena、power =ξ)を階調変換した画像から透かし情報の検出を試みた。2値画像まで落とした場合、Floyd-Steinberg 法でディザリングした画像(図117(a))から得られたオフセットレスポンスピーク値は、13.616614 、各シンボルレスポンスピーク値は、9.395720〜6.825329であり、透かし情報の検出に成功した。また、単純な2値量子化画像(図117(b))から得られたオフセットレスポンスピーク値は、10.388254 、各シンボルレスポンスピーク値は、8.133438〜5.680073であり、透かし情報の検出に成功した。
【0589】
次に、印刷画面からの検出について説明する。
【0590】
透かし入り画像(Lena、power =ξ)をプリンタで印刷し、それをスキャナで読み取った画像から透かし情報の検出を試みた。72dpi のPostScriptデータに変換した透かし入り画像を、白黒レーザープリンタ(RICOH SP-10PS Pro/6F,600dpi )を用いて印刷し、スキャナ(EPSON GT-6000 )を用いて72dpi ,16bit グレイスケールで取り込み、8bit グレイスケールに落とした画像から検出を行った。この時のオフセットレスポンスピーク値は、9.080504,各シンボルレスポンスピーク値は、8.139693〜5.615208であり、透かし情報の検出に成功した。また、プリンタとスキャナの組み合わせから若干アスペクト比が変化することが分かったので、これを補正した場合の検出では、オフセットレスポンスピーク値は、11.701824 、各シンボルレスポンスピーク値は、11.701824 、各シンボルレスポンスピーク値は、8.807638〜6.623429であり透かし情報の検出に成功した。
【0591】
次に、合成について説明する。
【0592】
透かし入りの2枚の画像(Lena、sailboat,どちらもpower =ξ)を1:1の比率で合成して得られる画像(図118)から、それぞれの鍵情報を用いて透かし情報の検出を試みた。オフセットレスポンスピーク値は、Lena=9.549749、sailboat=9.883106、各シンボルスポンスピーク値は、Lena=8.102563〜6.325033、sailboat=6.661891〜7.285404であり、1枚の合成画像から2つの異なる透かし情報を検出することができた。
【0593】
次に、検出処理時間について説明する。
【0594】
本発明の提案手法のオフセット探索空間は、N2 であり、全探索を行っていると言えるが、オフセット候補毎にブロックをリサンプリングし、離散フーリエ変換を行う単純な全探索を比較すると、1回の探索に係る計算量が少なくなる。また、探索処理中に行うe-ix の計算も、予めテーブルを持つなどすれば高速化が可能である。提案方法と前述の単純な全探索の計算機シミュレーションによる処理時間の比は、1:65であった。なお、離散フーリエ変換は、128×128画素ブロックに対して行い、高速フーリエ変換(FFT)を用いた。
【0595】
なお、上記の第1の実施例から第21の実施例で述べた電子透かし埋込装置及び電子透かし検出装置を集積回路によっても実現できる。図119に示す集積回路は、メモリ部1、マイクロプロセッサ部2、外部とのインタフェースを司るインタフェース部3から構成される。なお、同図は、主要部を示すものであり、他の回路も含み得る。メモリ部1に格納したプログラムをマイクロプロセッサ部2が実行する。集積回路の構成については、他に種々の構成が可能である。
【0596】
【発明の効果】
上述のように、本発明によれば、入力画像全体に渡って透かしパターンをタイル状に加算することで、副情報を埋め込む。入力画像をブロックに分割して1ブロック毎に離散フーリエ変換、離散逆フーリエ変換を行う必要がないので、従来の技術に比べ埋め込み処理の高速化を実現している。
【0597】
検出時には、透かしパターンの開始位置を見つけることにより、任意の平行移動に対し、耐性を持つ電子透かし方式を実現できる。
【0598】
また、切取り部分がある程度のサイズ(ブロックサイズ程度)以上であれば、電子透かし埋込済画像の一部分を切り出した画像からも埋め込んだ情報を読み取ることができる。
【0599】
また、検出対象画像を透かしパターンと同じサイズのブロックに分割し、すべてのブロックからの検出結果を用いて検出精度を向上させることが可能である。
【0600】
さらに、すべてのブロックを加算して得られる加算ブロックからの検出を用いると、検出精度の向上と検出処理の高速化が実現できる。
【0601】
また、第11の実施例から第16の実施例においては、透かしパターンの開始位置の探索前に一度だけ離散フーリエ変換を行うだけでよいので、探索時間を大幅に短縮することができる。
【0602】
さらに、第19の実施例から第21の実施例で述べたように、予め定めた閾値を用いて検出結果が有意である場合には、正常に検出処理を行い、検出結果が有意でないと思われる場合には、検出失敗とすることで、検出結果の信頼性が向上する。特に、具体的に確度を定めた時に閾値をどのように設定すればよいかという問題について、数学的に示すことができるような構成になっており、実用性が高い。
【0603】
また、本発明では、フーリエ変換係数値を変更して情報を埋め込むので、従来までの同時に平行移動や切取りに対する耐性を持つことが可能である。
【0604】
また、離散フーリエ変換以外の直交変換を用いてもよい。
【0605】
さらに、動画像の各フレームに対し本発明を適用することにより、動画像への電子透かし埋め込み及び動画像からの電子透かし検出も可能である。
さらに、埋め込みの際に、元の画像の模様を反映したパターンを加算することから、より画質の向上、つまり相対的な耐性の更なる向上を実現できる。
【0606】
また、情報検出装置については、従来のものをそのまま用いることができ、移行コストを低くできる。
【0607】
さらに、動画像の各フレームに対し、本発明を適用することにより、動画像への電子透かし埋め込み及び動画像からの電子透かし検出も可能である。
【0608】
これにより、著作権者にとっては、情報コンテンツの著作権を保護することが目的であるため、電子透かし情報は、利用者のさまざまな編集に対して耐性を持つ必要があり、利用者にとっては、電子透かしを意識することなく、情報コンテンツを利用できなければならないため、電子透かし処理を施した画像で劣化が知覚されてはならない。本発明によれば、従来よりも画質/耐性共に向上することにより、著作権保護システムが、より有効に機能し、著作者が安心してコンテンツを情報提供することが可能となることから、ネットワークによる情報流通が促進される。
【0609】
本発明は、コンテンツ流通システムにおいては、コンテンツを一意に識別するためのコンテンツIDを付与し、これをコンテンツに埋め込み、コンテンツの著作権者情報や利用条件などとリンクすることによるコンテンツ管理システムに適用することにより、コンテンツの正しい利用が促進され、また、権利者側は、コンテンツの権利者が自分であることの保証が得られる。
【0610】
また、本発明は、コンテンツ配送時に、ユーザ情報を埋め込むことにより、不正コピーを抑止できる。
【0611】
さらに、DVD等で用いられているコピー管理信号を埋め込むことで、現在より強固なコピープロテクトが実現できる。
【図面の簡単な説明】
【図1】本発明の第1の原理を説明するための図である。
【図2】本発明の第1の原理構成図である。
【図3】本発明の第1の実施例の電子透かし埋込装置の構成図である。
【図4】本発明の第1の実施例の電子透かし埋込装置の動作を示すフローチャートである。
【図5】本発明の第1の実施例の埋込対象成分指定部の構成図である。
【図6】本発明の第1の実施例の埋込対象成分指定部の動作を示すフローチャートである。
【図7】本発明の第1の実施例の埋込系列生成部の構成図である。
【図8】本発明の第1の実施例の埋込系列生成部の動作を示すフローチャートである。
【図9】本発明の第1の実施例の成分値変更部の動作のフローチャートである。
【図10】本発明の第1の実施例の離散逆フーリエ変換部の動作を説明するための図である。
【図11】本発明の第1の実施例の透かしパターン加算部の動作を説明するための図である。
【図12】本発明の第2の実施例の電子透かし検出装置の構成図である。
【図13】本発明の第2の実施例の電子透かし検出装置の動作を示すフローチャートである。
【図14】本発明の第2の実施例の検出対象成分指定部の構成図である。
【図15】本発明の第2の実施例の検出対象成分指定部の動作のフローチャートである。
【図16】本発明の第2の実施例の位置マーカ系列生成部の構成図である。
【図17】本発明の第2の実施例の位置マーカ系列生成部の動作を示すフローチャートである。
【図18】本発明の第2の実施例の位置マーカ検出部の構成図である。
【図19】本発明の第2の実施例の位置マーカ検出部の動作を示すフローチャートである。
【図20】本発明の第2の実施例のブロック生成部の動作を説明するための図である。
【図21】本発明の第2の実施例のブロック生成部の動作を示すフローチャートである。
【図22】本発明の第2の実施例の検出対象系列生成部の動作を示すフローチャートである。
【図23】本発明の第2の実施例の電子透かし検出部の構成図である。
【図24】本発明の第2の実施例の電子透かし検出部の動作を示すフローチャートである。
【図25】本発明の第2の実施例のシンボル検出部の構成図である。
【図26】本発明の第2の実施例のシンボル検出部の動作を示すフローチャートである。
【図27】本発明の第2の実施例のシンボル系列生成部の構成図である。
【図28】本発明の第2の実施例のシンボル系列生成部の動作を示すフローチャートである。
【図29】本発明の第2の実施例の検出結果生成部の構成図である。
【図30】本発明の第2の実施例の検出結果生成部の動作を示すフローチャートである。
【図31】本発明の第3の実施例のブロック生成部の動作を示すフローチャートである。
【図32】本発明の第3の実施例のブロック生成部の動作を説明するための図である。
【図33】本発明の第4の実施例のブロック生成部の動作を説明するための図である。
【図34】本発明の第4の実施例の位置マーカ検出部のブロック生成部の動作を示すフローチャートである。
【図35】本発明の第5の実施例の電子透かし検出部の構成図である。
【図36】本発明の第5の実施例の電子透かし検出部の動作を示すフローチャートである。
【図37】本発明の第5の実施例のブロック分割部の動作を説明するための図である。
【図38】本発明の第5の実施例のシンボル検出部の構成図である。
【図39】本発明の第5の実施例のシンボル検出部の動作を示すフローチャートである。
【図40】本発明の第5の実施例のシンボル系列生成部の構成図である。
【図41】本発明の第5の実施例のシンボル系列生成部の動作を示すフローチャートである。
【図42】本発明の第5の実施例の検出結果生成部の構成図である。
【図43】本発明の第5の実施例の検出結果生成部の動作を示すフローチャートである。
【図44】本発明の第6の実施例の電子透かし検出部の構成図である。
【図45】本発明の第6の実施例の電子透かし検出部の動作を示すフローチャートである。
【図46】本発明の第6の実施例のブロック分割部の動作を説明するための図である。
【図47】本発明の第6の実施例のシンボル検出部の構成図である。
【図48】本発明の第6の実施例のシンボル検出部の動作を示すフローチャートである。
【図49】本発明の第6の実施例のシンボル系列生成部の構成図である。
【図50】本発明の第6の実施例のシンボル系列生成部の動作を示すフローチャートである。
【図51】本発明の第6の実施例の検出結果生成部の構成図である。
【図52】本発明の第6の実施例の検出結果生成部の動作を示すフローチャートである。
【図53】本発明の第7の実施例の電子透かし検出部の構成図である。
【図54】本発明の第7の実施例の電子透かし検出部の動作を示すフローチャートである。
【図55】本発明の第7の実施例のブロック分割部を説明するための図である。
【図56】本発明の第7の実施例のシンボル検出部の構成図である。
【図57】本発明の第7の実施例のシンボル検出部の動作を示すフローチャートである。
【図58】本発明の第7の実施例のシンボル系列生成部の構成図である。
【図59】本発明の第7の実施例のシンボル系列生成部の動作を示すフローチャートである。
【図60】本発明の第7の実施例の検出結果生成部の構成図である。
【図61】本発明の第7の実施例の検出結果生成部の動作を示すフローチャートである。
【図62】本発明の第8の実施例の位置マーカ検出部のブロック生成部の構成図である。
【図63】本発明の第8の実施例の位置マーカ検出部のブロック生成部の動作を示すフローチャートである。
【図64】本発明の第8の実施例のブロック生成部の動作を説明するための図である。
【図65】本発明の第9の実施例の位置マーカ検出部のブロック生成部の構成図である。
【図66】本発明の第9の実施例の位置マーカ検出部のブロック生成部の動作を示すフローチャートである。
【図67】本発明の第9の実施例のブロック生成部のブロック分割を説明するための図である。
【図68】本発明の第9の実施例のブロック生成部のサイクリックシフトの動作を説明するための図である。
【図69】本発明の第10の実施例の位置マーカ検出部のブロック生成部の構成図である。
【図70】本発明の第10の実施例のブロック生成部の動作を示すフローチャートである。
【図71】本発明の第10の実施例のブロック生成部の動作を説明するための図である。
【図72】本発明の第10の実施例のブロック生成部の分割処理を説明するための図である。
【図73】本発明の第10の実施例のサイクリックシフト部の動作を説明するための図である。
【図74】本発明の第11の実施例の電子透かし検出装置の構成図である。
【図75】本発明の第11の実施例の電子透かし検出装置の動作を示すフローチャートである。
【図76】本発明の第11の実施例の検出対象成分指定部の構成図である。
【図77】本発明の第11の実施例の検出対象成分指定部の動作を示すフローチャートである。
【図78】本発明の第11の実施例の位置マーカ系列生成部の構成図である。
【図79】本発明の第11の実施例の位置マーカ系列生成部の動作を示すフローチャートである。
【図80】本発明の第11の実施例の位置マーカ検出部の構成図である。
【図81】本発明の第11の実施例の位置マーカ検出部の動作を示すフローチャートである。
【図82】本発明の第11の実施例の位置マーカ検出部の検出対象系列生成部の動作を示すフローチャートである。
【図83】本発明の第11の実施例の電子透かし検出部の構成図である。
【図84】本発明の第11の実施例の電子透かし検出部の動作を示すフローチャートである。
【図85】本発明の第11の実施例のシンボル検出部の構成図である。
【図86】本発明の第11の実施例のシンボル検出部の動作を示すフローチャートである。
【図87】本発明の第11の実施例のシンボル生成部の構成図である。
【図88】本発明の第11の実施例のシンボル生成部の動作を示すフローチャートである。
【図89】本発明の第11の実施例の検出結果生成部の構成図である。
【図90】本発明の第11の実施例の検出結果生成部の動作を示すフローチャートである。
【図91】本発明の第12の実施例の位置マーカ検出部の動作を説明するための図である。
【図92】本発明の第13の実施例の電子透かし検出部の構成図である。
【図93】本発明の第13の実施例の電子透かし検出部の動作を示すフローチャートである。
【図94】本発明の第13の実施例のブロック分割部の動作を説明するための図である。
【図95】本発明の第13の実施例のシンボル検出部の構成図である。
【図96】本発明の第13の実施例のシンボル検出部の動作を示すフローチャートである。
【図97】本発明の第13の実施例のシンボル系列生成部の構成図である。
【図98】本発明の第13の実施例のシンボル系列生成部の動作を示すフローチャートである。
【図99】本発明の第13の実施例の検出結果生成部の構成図である。
【図100】本発明の第13の実施例の検出結果生成部の動作を示すフローチャートである。
【図101】本発明の第14の実施例の電子透かし検出部のブロック分割部の動作を説明するための図である。
【図102】本発明の第15の実施例の位置マーカ検出部のブロック生成部の構成図である。
【図103】本発明の第15の実施例の位置マーカ検出部のブロック生成部の動作を示すフローチャートである。
【図104】本発明の第15の実施例のブロック生成部の動作を説明するための図である。
【図105】本発明の第16の実施例の位置マーカ検出部のブロック生成部の構成図である。
【図106】本発明の第16の実施例の位置マーカ検出部のブロック生成部の動作を示すフローチャートである。
【図107】本発明の第16の実施例のブロック生成部の動作を説明するための図である。
【図108】本発明の第19の実施例の位置マーカ検出部のオフセット情報生成部の動作を示すフローチャートである。
【図109】本発明の第20の実施例の電子透かし検出部の検出結果生成部の動作を示すフローチャートである。
【図110】本発明の第21の実施例の計算機シミュレーションによるcorrの値と理論値を示したグラフである。
【図111】本発明の第21の実施例の計算機シミュレーションによるシンボル検出情報のグラフである。
【図112】本発明の埋込強度を変化させた時のPSNRを示す図である。
【図113】本発明の計算機シミュレーションによる透かし入り画像から透かし情報を検出した結果を示す図である。
【図114】本発明の計算機シミュレーションによる部分画像からの検出結果を示す図である。
【図115】本発明の計算機シミュレーションによる検出失敗及び成功部分画像を示す図である。
【図116】本発明の計算機シミュレーションによるJPEG圧縮画像からの検出結果を示す図である。
【図117】本発明の計算機シミュレーションによる階調変換画像(2値画像)を示す図である。
【図118】本発明の計算機シミュレーションの合成画像の例である。
【図119】本発明の一実施例の集積回路の構成図である。
【符号の説明】
1 メモリ
2 マイクロプロセッサ
3 インタフェース部
1A 変更手段
2A 透かしパターン生成手段
3A 加算手段
4A 埋込画像生成手段
5A 検出対象成分指定手段
6A 位置マーカ系列生成手段
7A 位置マーカ検出手段
8A 電子透かし検出手段
10 入力画像
20 画像の局所的複雑度
51 入力画像
52 電子透かし
53 鍵情報
54 強度パラメータ
55 電子透かし埋込済画像
61 入力画像
62 電子透かし
63 鍵情報
64 強度パラメータ
65 電子透かし埋込済画像
100 情報埋込装置
101 入力画像
102 強度パラメータ
103 電子透かし
104 鍵情報
105 埋込済画像
110 透かしパターン加算部
120 埋込系列生成部
121 埋込系列
122 拡散系列生成器
130 埋込対象成分指定部
131 埋込対象成分位置情報
132 乱数生成器
140 成分値変更部
141 透かし係数行列
150 離散逆フーリエ変換部
151 透かしパターン
200 電子透かし検出装置
201 検出対象画像
202 鍵情報
203 検出結果
204 オフセット候補情報
205 画素ブロック
206 検出対象係数行列
207 検出対象系列
208 位置マーカ検出情報
210 検出対象成分指定部
211 検出対象成分位置情報
212 乱数生成器
220 位置マーカ系列生成部
221 位置マーカ系列
222 拡散系列生成器
230 位置マーカ検出部
231 オフセット情報
232 オフセット候補情報生成部
233 ブロック生成部
234 離散フーリエ変換部
235 検出対象系列生成部
236 位置マーカ検出情報生成部
237 オフセット情報生成部
240 電子透かし検出部
241 ブロック生成部
242 離散フーリエ変換部
243 検出対象系列生成部
244 シンボル検出部
245 検出結果生成部
246 画素ブロック
247 検出対象係数行列
248 検出対象系列
249 シンボル検出情報
251 検出結果
500 電子透かし検出部
510 ブロック分割部
511 画素ブロック
520 離散フーリエ変換部
521 検出対象係数行列
530 検出対象系列生成部
531 検出対象系列
540 シンボル検出部
541 シンボル候補生成部
542 シンボル系列生成部
543 シンボル検出情報生成部
544 シンボル候補
545 シンボル系列
546 シンボル検出情報
550 検出結果生成部
551 各シンボル位置毎系列生成部
552 検出シンボル生成部
553 逆シンボル変換部
554 各シンボル位置毎系列
555 検出シンボル
556 検出結果
600 電子透かし検出部
601 画素ブロック
602 検出対象系列行列
603 検出対象系列
604 シンボル検出情報
610 ブロック分割部
620 離散フーリエ変換部
630 検出対象系列生成部
640 シンボル検出部
641 シンボル候補生成部
642 シンボル候補
643 シンボル系列生成部
644 シンボル系列
645 シンボル検出情報生成部
646 シンボル検出情報
650 検出結果生成部
651 各シンボル位置毎系列生成部
652 各シンボル位置毎系列
653 検出シンボル生成部
654 検出シンボル
655 逆シンボル変換部
656 検出結果
663 検出対象系列
700 電子透かし検出部
701 画素ブロック
702 検出対象係数行列
703 検出対象系列
704 シンボル検出情報
705 検出結果
710 ブロック分割部
720 離散フーリエ変換部
730 検出対象系列生成部
740 シンボル検出部
741 シンボル候補生成部
742 シンボル候補
743 シンボル系列生成部
744 シンボル系列
745 シンボル検出情報生成部
746 シンボル検出情報
750 検出結果生成部
751 各シンボル位置毎系列生成部
752 各シンボル位置毎系列
753 検出シンボル生成部
754 検出シンボル
755 逆シンボル変換部
756 検出結果
800 ブロック生成部
801 t個のブロック
802 加算ブロック
803 画素ブロック
810 ブロック分割部
820 ブロック加算部
900 ブロック生成部
901 t個のブロック
902 加算ブロック
903 画素ブロック
910 ブロック分割部
920 ブロック加算部
930 サイクリックシフト部
1000 ブロック生成部
1010 ブロック分割部
1011 t個のブロック
1012 加算ブロック
1013 画素ブロック
1020 ブロック加算部
1030 サイクリックシフト部
1100 電子透かし検出装置
1101 オフセット情報
1102 位置マーカ系列
1103 検出対象成分位置情報
1104 画素ブロック
1105 検出対象係数行列
1106 オフセット候補情報
1107 検出対象系列
1108 位置マーカ検出情報
1110 位置マーカ検出部
1111 ブロック生成部
1113 離散フーリエ変換部
1115 検出対象系列生成部
1117 オフセット候補情報生成部
1118 位置マーカ検出情報生成部
1119 オフセット情報生成部
1120 位置マーカ系列生成部
1121 拡散系列生成器
1130 検出対象成分指定部
1131 乱数生成器
1140 電子透かし検出部
1141 ブロック生成部
1142 画素ブロック
1143 離散フーリエ変換部
1144 検出対象係数行列
1145 検出対象系列生成部
1146 検出対象系列
1147 シンボル検出部
1148 シンボル検出情報
1149 検出結果生成部
2000 電子透かし検出部
2001 画素ブロック
2002 検出対象係数行列
2003 検出対象系列
2004 シンボル検出情報
2100 ブロック分割部
2200 離散フーリエ変換部
2300 検出対象系列生成部
2400 シンボル検出部
2401 シンボル候補
2402 シンボル系列
2403 シンボル検出情報
2410 シンボル候補生成部
2420 シンボル系列生成部
2421 拡散系列生成器
2430 シンボル検出情報生成部
2500 検出結果生成部
2501 各シンボル位置毎系列
2502 検出シンボル
2510 各シンボル位置毎系列生成部
2520 検出シンボル生成部
2530 逆シンボル変換部
2441 シンボル候補生成部
2442 シンボル系列生成部
2443 シンボル検出情報生成部
2444 シンボル候補
2445 シンボル系列
2446 シンボル検出情報
2447 拡散系列生成器
2451 各シンボル位置毎系列生成部
2452 各シンボル位置毎系列
2453 逆シンボル変換部
2454 各シンボル位置毎系列
2455 検出シンボル[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a digital watermark embedding method, a digital watermark detection method, a digital watermark embedding device, a digital watermark detection device, a storage medium storing a digital watermark embedding program, a storage medium storing a digital watermark detection program, and a digital watermark In particular, in order to realize copyright protection for digital content, the information of the content itself is changed by a minute amount that cannot be perceived by humans so that the content is not perceived by human perception. For embedding watermark information, which is information to be performed, and for detecting the watermark information, an electronic watermark embedding method, an electronic watermark embedding device, an electronic watermark embedding device, an electronic watermark embedding program, and a storage medium storing an electronic watermark embedding program , And stored digital watermark detection program憶媒 body, and an electronic watermark system.
[0002]
In recent years, it has become easier to transmit digital content using a network due to advances in technology for digital information such as audio, video, and still images (for example, JPEG [Joint Picture Coding Expert Group]). Yes. In addition, the distribution of content via networks has begun with the spread of information infrastructure such as the Internet.
[0003]
However, since the content delivered by the network is digital information, it is easy to make a complete copy using personal content or the like. In addition, in an information infrastructure such as the Internet, all users can be information senders, and therefore copyright infringement such as illegal copying and selling illegal copies can be performed. Furthermore, along with the improvement in processing capability of personal computers, it becomes easier to process and edit image and audio data on personal computers, and copyrights such as tampering unintended by the original copyright holder and unauthorized secondary use Infringement can also take place. There is a current situation in which these threats of copyright infringement cause authors to provide information and hinder information distribution through the network.
[0004]
Apart from this, from the current content production site, "If you want to right-process certain content and make a legitimate secondary use, you do not know where the right is and you do not know where to go." In other words, the promotion of content reuse is being suppressed.
[0005]
In light of these current situations, the present invention provides a digital watermark embedding method, a digital watermark detection method, and a digital watermark embedding device for embedding and detecting a digital watermark.
The present invention relates to a digital watermark detection apparatus, a storage medium storing a digital watermark embedding program, a storage medium storing a digital watermark detection program, and a digital watermark system.
[0006]
[Prior art]
Conventionally, copyright management / protection systems using digital watermark technology have been proposed.
[0007]
As a technology related to digital watermarking technology, “A.Piva et al .:“ DCT-based Watermark Recovering without Resorting to the Uncorrupted Orignal Image ”, Proceedings of the 1997 International Conference on Image Processing (ICIP'97), 1997” ( (Hereinafter referred to as Ref.1) and “Takao Nakamura, Hiroshi Ogawa, Youichi Takashima ,:“ A Watermarking Technique for Still Image ”NTT R & D Vol.47, No.6, 1998” (hereinafter referred to as Ref.2) "Wisetsuit Piyapisuit, Kineo Matsui ,:" Block Characteristic in Color Image Watermarking Using Equivalent Signal Transform "National Conference of the Institute of Electronics, Information and Communication Engineers, D-11-42, 1999" (hereinafter referred to as Ref.3 And so on).
[0008]
The method shown in Ref. 1 embeds watermark information by obtaining a frequency component matrix by orthogonal transformation with the image size and changing the coefficient value of the intermediate frequency band in the transparent frequency component matrix. The coefficient value is changed using a spread spectrum technique. Thereby, it is resistant to irreversible image compression, color conversion, contrast change, and the like.
[0009]
In the method shown in Ref.1, when reading watermark information, watermark information is read by despreading the coefficient value of the intermediate frequency band in the frequency component matrix obtained by orthogonal transform of the image to be examined. . As a result, the enlargement / reduction of the image can be dealt with by comparing the original digital content with the same size as the original digital content.
[0010]
In the method shown in Ref.1, when reading, the initial values of random numbers used in spectrum spreading are tried one by one, and the one with the highest response is used as the reading watermark information. As a result, partial cutout or the like can be detected if it is known where the cutout portion is in the original digital content.
[0011]
Next, the method shown in Ref.2 above divides the image into larger blocks with the block size used in general lossy compression, and orthogonal transform is performed for each block to obtain the frequency component matrix, which is normalized. To do. Then, a coefficient sequence to be embedded is selected by key information, and watermark information is embedded by quantizing the coefficient value. A watermark-embedded image is obtained by performing denormalization and inverse orthogonal transformation on the matrix after the change. In addition, the durability of the method is improved by changing the low frequency band.
[0012]
In the method shown in Ref. 3 above, embedding is performed by performing conversion in which an equivalent signal conversion (for example, RGB ← → YCbCr, etc.) of a color image is slightly changed according to the watermark information from what is defined. . When watermark information is detected in Ref.3, the detection target image is subjected to equivalent signal conversion, and detection is performed based on whether or not these statistical values are in a unique state by embedding. As a result, the method shown in Ref. 3 is resistant to image geometric modification.
[0013]
In addition, when embedding a digital watermark in a digital image, there is a method of obtaining an image in which the digital watermark is embedded by adding a pattern called a watermark pattern with equal strength over the entire image.
[0014]
[Problems to be solved by the invention]
However, the method shown in Ref.1 has the following problems.
[0015]
I. Low resistance to partial clipping.
[0016]
II. Processing is heavy because orthogonal transformation of the original image size is used.
[0017]
III. Image quality degradation due to watermark embedding is large.
[0018]
IV. Processing is heavy because all possible values of watermark information are tested when watermark information is detected.
[0019]
Further, the method shown in Ref. 2 has a resistance to irreversible compression, but has a problem of low resistance to color conversion, contrast change, and partial clipping. Although normalization aims to improve image quality / durability by embedding weakly in the complex part of the image and weakly in the flat part, it does not function very effectively. Further, when watermark information is detected in Ref.2, processing up to normalization at the time of embedding is performed, and watermark information is detected from the key information and the normalized frequency component matrix. As a result, when the block size is the same as the image size, it has resistance to enlargement / reduction. However, the reliability of the detected watermark information is not quantitatively evaluated. In addition, there is a problem that image quality deterioration due to watermark embedding is large.
[0020]
Also, the method shown in Ref.3 is very weak for lossy compression and color conversion. In addition, in the case of multi-bit embedding, since 1 bit is embedded for each block, there is a problem that resistance to geometric modification is weakened.
[0021]
Furthermore, when embedding a digital watermark, the method of embedding a pattern called a watermark pattern with equal strength is generally more sensitive to deterioration than a complex part in a flat part of an image, so that deterioration is not perceived in a flat part. There is a problem that a watermark pattern can be added to an image only with the strength of.
[0022]
The present invention has been made in view of the above points, and enables embedding processing to be performed at high speed. In addition, in the detection processing, there is no original image, and it can be determined which part of the original image the partial image corresponds to. Electronic watermark embedding method, electronic watermark detection method, electronic watermark embedding device, electronic watermark detection device, and storage medium storing electronic watermark embedding program capable of detecting digital watermark from partial image even if not And a storage medium storing a digital watermark detection program, and a digital watermark system.
[0023]
  In order to solve the above problem, a digital watermark embedding method according to the present invention embeds an electronic watermark in a digital image so as not to be perceived by human perception. An electronic watermark embedding method for inputting an intensity parameter for controlling the degree of intensity, an embedded digital watermark, and key information and outputting an embedded image in which the electronic watermark is embedded. A random number sequence is generated using certain key information as a seed for random number generation, and the row position, the column position, and the row position in a complex matrix having the number of rows and the number of columns of a predetermined block size using the random number sequence Consists of flags to specify the real or imaginary component of the component value specified at the column position Three Determining a permutation of dimensions by the number of terms of a predetermined sequence length without duplication, outputting this as embedding target component position information, and inputting a digital watermark and key information, and a plurality of spreading sequence generating means Each symbol obtained by converting a digital watermark into a predetermined symbol representation, one spreading sequence generating means for each symbol position, and a spreading sequence generating means corresponding to the symbol position A sequence obtained by performing spread spectrum modulation on the symbol value by a spreading sequence obtained using the key information generated by using as a seed is superimposed, and a sequence having a sequence length obtained by spreading and superimposing all symbols is embedded. A step of outputting as an embedded sequence and a watermark coefficient matrix, which is a complex matrix having a predetermined number of rows and columns of block size, with an initial value of zero The step of preparing as a column, the embedding target component position information and the embedding sequence are input, and the component value specified by each term of the embedding target component position information of the watermark coefficient matrix is the corresponding term of the embedding sequence. Sequentially changing this value for the number of terms of the sequence length, independently changing the real component and the imaginary component of the watermark coefficient matrix, and outputting the watermark coefficient matrix as input. A step of generating and outputting a watermark pattern by discrete inverse Fourier transform, an input image, an intensity parameter, and a watermark pattern as inputs, the amplitude of the watermark pattern is amplified by the value of the intensity parameter, and the amplified watermark pattern is converted into a digital image. Adding tiles and outputting an embedded image.
  Also, the digital watermark embedding method of the present invention embeds an electronic watermark in a digital image so that the digital watermark is not perceived by human perception. An electronic watermark embedding method that takes an intensity parameter for control, an embedded digital watermark, and key information as input, and outputs an embedded image in which the digital watermark is embedded. Generates a random number sequence as a seed, and uses this random number sequence to specify the row position, column position, and the row position and column position specified in the complex matrix having the number of rows and columns of a predetermined block size. Consists of flags to specify the real or imaginary component of the value Three Determining a permutation of dimensions by the number of terms of a predetermined sequence length without duplication, outputting this as embedding target component position information, and inputting a digital watermark and key information, and a plurality of spreading sequence generating means Obtained by performing spread spectrum modulation on a predetermined value using a spreading sequence obtained by using the selected spreading sequence generating means as a seed using the selected spreading sequence generating means. For each symbol obtained by converting the digital watermark into a predetermined symbol expression for the sequence having the above sequence length, one spread sequence generation means other than the selected spread sequence generation means is provided for each symbol position. The symbol values are spread spectrum modulated by a spreading sequence obtained by using as a seed the key information generated using the spreading sequence generating means corresponding to each symbol position A step of superimposing the obtained sequence, outputting a sequence length sequence obtained by spreading and superimposing all symbols as an embedded sequence, and a complex matrix having a predetermined block size number of rows and columns A watermark coefficient matrix is prepared with an initial value as a zero matrix, and the embedding target component position information and the embedding sequence are input, and are specified in each term of the embedding target component position information of the watermark coefficient matrix. The component value is sequentially changed to the value of the corresponding term of the embedded sequence, and this is repeated for the number of terms of the sequence length, whereby the real number component and the imaginary number component of the watermark coefficient matrix are independently changed and output, A coefficient matrix is input, a watermark coefficient matrix is output by performing discrete inverse Fourier transform on the watermark coefficient matrix, and an input image, an intensity parameter, and a watermark pattern are input. And amplifying the amplitude of the scare pattern with the value of the intensity parameter, adding the amplified watermark pattern to the digital image in a tile shape, and outputting the embedded image.
  Also, the digital watermark embedding method of the present invention embeds an electronic watermark in a digital image so that the digital watermark is not perceived by human perception. An electronic watermark embedding method that takes an intensity parameter for control, an embedded digital watermark, and key information as input, and outputs an embedded image in which the digital watermark is embedded. Generates a random number sequence as a seed, and uses this random number sequence to specify the row position, column position, and the row position and column position specified in the complex matrix having the number of rows and columns of a predetermined block size. Consists of flags to specify the real or imaginary component of the value Three Determining a permutation of dimensions by the number of terms of a predetermined sequence length without duplication, outputting this as embedding target component position information, and inputting a digital watermark and key information, and a plurality of spreading sequence generating means , Order spreading sequence means, and use key information as seed 0 The spread sequence generated by the second spread sequence generation means is generated by the number of terms of the sequence length, the amplitude is amplified by a predetermined magnification, and this is stored in a buffer, and the digital watermark is expressed by a predetermined symbol For each symbol obtained by converting to the key information, the value obtained by adding the value of the symbol to the key information is used as a seed, 1 Digit , 2 Digit , 3 Digit , ...) the sequence length sequence items generated using the spread sequence generation means in the order of the above are superimposed on the corresponding terms of the sequence stored in the buffer in order, and all symbols are processed. A step of outputting the contents of the buffer after being performed as an embedded sequence, a step of preparing a watermark coefficient matrix that is a complex matrix having a predetermined number of rows and columns of a block size as an initial matrix, and The component value specified by each term of the embedding target component position information of the watermark coefficient matrix is sequentially changed to the value of the corresponding term of the embedding sequence, with the embedding target component position information and the embedding sequence as inputs. By repeating this for the number of terms of the sequence length, the step of independently changing the real component and the imaginary component of the watermark coefficient matrix and outputting the result, the watermark coefficient matrix as an input, the watermark coefficient matrix being subjected to discrete inverse Fourier transform and transparent Or A step of generating and outputting a pattern, an input image, an intensity parameter, and a watermark pattern as inputs, the amplitude of the watermark pattern is amplified by the value of the intensity parameter, and the amplified watermark pattern is added to the digital image in a tile form to embed And a step of outputting the embedded image.
  The digital watermark detection method of the present invention detects a digital watermark embedded in a digital image so as not to be perceived by human perception, and includes a detection target image that is a target for detecting the digital watermark, and key information. A digital watermark detection method that takes an input and outputs a detection result of the digital watermark, generates a random number sequence using the input key information as a seed for random number generation, and uses the random number sequence to generate a predetermined block size. Consists of a row position, a column position, and a flag for specifying the real or imaginary component of the component value specified by the row position and the column position in a complex matrix having the number of rows and columns Three Dimension permutation is determined without duplication by the number of terms of a predetermined sequence length, and outputting this as detection target component position information, with detection target image, key information, and detection target component position information as inputs, A pixel block that is a block size area is cut out from the detection target image, and the pixel block is subjected to discrete Fourier transform to obtain a detection target coefficient matrix, which is specified by each item of the detection target component position information of the detection target coefficient matrix. The component values to be read are sequentially read and arranged 1 A spread obtained by using a dimension sequence as a detection target sequence, associating one spread sequence generation unit for each symbol position, and using key information generated by the spread sequence generation unit corresponding to the symbol position as a seed Using a sequence to obtain each detected symbol by performing spread spectrum demodulation on the detection target sequence, converting the value of the detected symbol into a representation of digital watermark information, and outputting the result as a detection result. And
  The digital watermark detection method of the present invention detects a digital watermark embedded so as not to be perceived by human perception with respect to a digital image, a detection target image that is a target for detecting a digital watermark, key information, Is a digital watermark detection method that outputs a digital watermark detection result as an input, generates a random number sequence using the input key information as a seed for random number generation, and uses this random number sequence Flag for designating the real or imaginary component of the component value specified by the row position, column position, and the row position and column position in a complex matrix having a predetermined block size number of rows and columns Consist of Three Dimension permutation is determined without duplication by the number of terms of a predetermined sequence length, the step of outputting this as detection target component position information, key information as input, and having a plurality of spreading sequence generation means, Of a sequence length obtained by performing spread spectrum modulation on a predetermined value by a spreading sequence obtained using the selected spreading sequence generating unit as a seed using the selected spreading sequence generating unit. The sequence is output as a position marker series, and the detection target image, the detection target component position information, and the position marker series are input. 2 Starting from the origin of the dimensional coordinates, scan everything up to the block size in the horizontal and vertical directions, 2 The offset candidate information that is the dimensional coordinate is sequentially obtained, and for each of the offset candidate information, a pixel block that is a block size region is cut out from the detection target image with the offset position specified by the offset candidate information as a starting point. A discrete Fourier transform is performed on the pixel block to obtain a detection target coefficient matrix, and component values specified by each term of the detection target component position information of the detection target coefficient matrix are sequentially read and arranged. 1 A step of calculating a correlation with a position marker sequence using a dimension sequence as a detection target sequence, and outputting as offset information the offset candidate information when taking the maximum correlation value; and a detection target image and key information The detection target component position information and offset information are input, and a pixel block that is a block size area is cut out from the detection target image starting from the offset position specified by the offset information, and the pixel block is subjected to discrete Fourier transform to be detected. Obtain a coefficient matrix, sequentially read the component values specified in each term of the detection target component position information of the detection target coefficient matrix, and arranged them 1 A dimensional sequence is set as a detection target sequence, and for each position of each symbol, one spread sequence generation unit other than the selected spread sequence generation unit is associated one by one, and generated using a spread sequence generation unit corresponding to the symbol position. Each detected symbol is obtained by performing spread spectrum demodulation on the detection target sequence using a spreading sequence obtained using the key information as a seed, and the detected symbol value is converted into a representation of digital watermark information and output as a detection result And a step.
  The digital watermark detection method of the present invention detects a digital watermark embedded in a digital image so as not to be perceived by human perception, and includes a detection target image that is a target for detecting the digital watermark, and key information. A digital watermark detection method that takes an input and outputs a detection result of the digital watermark, generates a random number sequence using the input key information as a seed for random number generation, and uses the random number sequence to generate a predetermined block size. Consists of a row position, a column position, and a flag for specifying the real or imaginary component of the component value specified by the row position and the column position in a complex matrix having the number of rows and columns Three Dimension permutation is determined without duplication by the number of terms of a predetermined sequence length, the step of outputting this as detection target component position information, key information as input, a plurality of spreading sequence generation means, and a key Information as seed 0 Generating a spreading sequence generated by the first spreading sequence generating means as many as the number of terms of the sequence length, outputting this as a position marker sequence, and receiving the detection target image, the detection target component position information, and the position marker sequence, 2 Starting from the origin of the dimensional coordinates, scan everything up to the block size in the horizontal and vertical directions, 2 Sequentially obtain offset candidate information that is a dimensional coordinate, and for each of the offset candidate information, cut out a pixel block that is a block size region from the detection target image, starting from the offset position specified by the offset candidate information, The pixel block is subjected to discrete Fourier transform to obtain a detection target coefficient matrix, and component values specified by each term of the detection target component position information of the detection target coefficient matrix are sequentially read and arranged. 1 A step of calculating a correlation with a position marker sequence using a dimension sequence as a detection target sequence, and outputting as offset information the offset candidate information when taking the maximum correlation value; and a detection target image and key information The detection target component position information and offset information are input, and a pixel block that is a block size area is cut out from the detection target image starting from the offset position specified by the offset information, and the pixel block is subjected to discrete Fourier transform to be detected. Obtain a coefficient matrix, sequentially read the component values specified in each term of the detection target component position information of the detection target coefficient matrix, and arranged them 1 The dimension series is the detection target series, and the value obtained by adding the key information and all possible symbol candidate values is used as a seed. Symbol candidate when calculating the correlation between the symbol sequence obtained using the spreading sequence generating means corresponding to the Bol position and the detection target sequence to obtain symbol detection information and obtaining the maximum correlation value for each symbol position And a step of converting the value of the detected symbol into a representation of digital watermark information and outputting it as a detection result.
  The digital watermark detection method of the present invention detects a digital watermark embedded in a digital image so as not to be perceived by human perception, and includes a detection target image that is a target for detecting the digital watermark, and key information. A digital watermark detection method that takes an input and outputs a detection result of the digital watermark, generates a random number sequence using the input key information as a seed for random number generation, and uses the random number sequence to generate a predetermined block size. Consists of a row position, a column position, and a flag for specifying the real or imaginary component of the component value specified by the row position and the column position in a complex matrix having the number of rows and columns Three Dimension permutation is determined without duplication by the number of terms of a predetermined sequence length, the step of outputting this as detection target component position information, key information as input, and having a plurality of spreading sequence generation means, The sequence obtained by performing spread spectrum modulation on a predetermined value using a spreading sequence obtained by selecting one of the spreading sequence generating means and using the selected spreading sequence generating means as a seed A step of outputting a long series as a position marker series, a detection target image, detection target component position information, and a position marker series as inputs, and a pixel block that is a block size area from a predetermined position of the detection target image To obtain a detection target coefficient matrix by performing a discrete Fourier transform on the pixel block, 2 Starting from the origin of the dimensional coordinates, scan everything up to the block size in the horizontal and vertical directions, 2 The offset candidate information, which is a dimensional coordinate, is sequentially obtained, and the component values designated by the respective terms of the detection target component position information of the detection target coefficient matrix are sequentially read and arranged. 1 A sequence obtained by giving a phase difference corresponding to the offset candidate information to each term of the dimension sequence is set as a detection target sequence, a correlation with the position marker sequence is calculated, and the maximum correlation value in the offset candidate information is calculated. A pixel that is a block size region from a predetermined position of the detection target image, with the step of outputting as offset information, a detection target image, key information, detection target component position information, and offset information as inputs. A block is cut out, and the pixel block is subjected to discrete Fourier transform to obtain a detection target coefficient matrix, and component values designated by each term of detection target component position information of the detection target coefficient matrix are sequentially read and arranged. 1 A sequence obtained by giving a phase difference corresponding to the offset candidate information to each term of the dimension sequence is set as a detection target sequence, and one spread sequence generation unit other than the selected spread sequence generation unit is assigned for each symbol position. Each detected symbol is obtained by performing spread spectrum demodulation on the detection target sequence using a spreading sequence obtained using the key information generated using the spreading sequence generating means corresponding to the symbol position as a seed. And a step of converting the value of the detected symbol into a representation of digital watermark information and outputting it as a detection result.
Also, the digital watermark detection method of the present invention detects a digital watermark embedded in a digital image so as not to be perceived by human perception, a detection target image that is a target for detecting a digital watermark, and key information). Is a digital watermark detection method in which a digital watermark detection result is output, and a random number sequence is generated using the input key information as a seed for random number generation, and a block size determined in advance using the random number sequence In a complex matrix with the number of rows and columns, and a flag to specify the real or imaginary component of the component value specified by the row position, the column position, and the row position and the column position Three Dimension permutation is determined without duplication by the number of terms of a predetermined sequence length, the step of outputting this as detection target component position information, key information as input, a plurality of spreading sequence generation means, and a key Information as seed 0 A spread sequence generated by the second spread sequence generation means is generated for the number of terms of the sequence length, and this is output as a position marker sequence, and the detection target image, the detection target component position information, and the position marker sequence are input. From the upper left position of the detection target image, a pixel block that is a block size region is cut out, and the pixel block is subjected to discrete Fourier transform to obtain a detection target coefficient matrix, 2 Starting from the origin of dimensional coordinates, Scan everything up to the block size in the vertical direction, 2 The offset candidate information, which is a dimensional coordinate, is sequentially obtained, and the component values specified in the respective terms of the detection target component position information of the detection target coefficient matrix are sequentially read and arranged. 1 A sequence obtained by giving a phase difference corresponding to the offset candidate information to each term of the dimension sequence is set as a detection target sequence, and a correlation with the position marker sequence is calculated. A pixel that is a block size region from the upper left position of the detection target image, the step of outputting as offset information, the detection target image, the key information, the detection target component position information, and the offset information. A block is cut out, the pixel block is subjected to discrete Fourier transform to obtain a detection target coefficient matrix, and component values designated by each term of detection target component position information of the detection target coefficient matrix are sequentially read and arranged. 1 A sequence obtained by giving a phase difference corresponding to the offset candidate information to each term of the dimension sequence is a detection target sequence, and a value obtained by adding all possible symbol candidate values with key information is used as a seed. The symbol sequence obtained by using the spread sequence generating means corresponding to the position and the detection target sequence are calculated to obtain symbol detection information, and the symbol candidate when taking the maximum correlation value for each symbol position And a step of converting the value of the detected symbol into a representation of digital watermark information and outputting it as a detection result.
  In the digital watermark detection method of the present invention, in the steps of outputting the offset information and outputting the detection result, the step of inputting the detection target image, and the pixel block having the block size is cut out from the upper left of the detection target image and output. When the image area that can be cut out from the detection target image is less than the block size in the step of determining the average value of the pixel values of the pixel area of the detection target image included in the block size, And a step of outputting a pixel block filled with a lack of size as a pixel block.
  In the digital watermark detection method of the present invention, the step of outputting the offset information and the step of outputting the detection result include the step of outputting the detection target image and outputting the pixel block as the block size of the detection target image from the upper left. Dividing the block into a block group and outputting an addition block obtained by adding all the blocks as a pixel block;
It is characterized by having.
  In the digital watermark detection method of the present invention, in the step of outputting the offset information, if the calculated maximum correlation value is less than a predetermined threshold, the process is interrupted and the detection of the digital watermark has failed. And a step of outputting the detection result.
  In the digital watermark detection method of the present invention, in the step of outputting the detection result, the process is interrupted when there is a maximum correlation value calculated for each symbol position that does not satisfy a predetermined threshold value. And a step of outputting a detection result indicating that the detection of the digital watermark has failed.
  The digital watermark detection method of the present invention is characterized in that a threshold value determined based on the value of a distribution function of a specific probability distribution is applied as the threshold value.
  The digital watermark detection method of the present invention is characterized by applying a distribution function of a normal distribution as a distribution function of a probability distribution.
  Also, the digital watermark embedding method of the present invention embeds an electronic watermark in a digital image so that the digital watermark is not perceived by human perception. A digital watermark embedding method that takes an intensity parameter for control, an embedded digital watermark, and key information as input, and outputs an embedded image in which the digital watermark is embedded. A random number sequence is generated as a seed, and the random number sequence is used to specify a row position, a column position, and a row position and a column position in a complex matrix having a predetermined number of rows and columns. Specifies the real or imaginary component of the component value A flag for setting Three Dimension permutation is determined by the number of terms of a predetermined sequence length without duplication, and this is output as embedding target component position information, and at least one spread sequence is generated with digital watermark and key information as inputs And a step of outputting a sequence obtained by performing spread spectrum modulation of the digital watermark using a spread sequence generated by giving the key information to the spread sequence generation unit as an embedded sequence, Providing a watermark coefficient matrix, which is a complex matrix having the number of rows and columns of the block size, having an initial value as a zero matrix, and receiving the embedding target component position information and the embedding sequence as input, a watermark coefficient matrix The component value specified in each term of the embedding target component position information is sequentially changed to the value of the corresponding term of the embedding sequence, and this is repeated for the number of terms of the sequence length. The step of independently changing the real number component and the imaginary number component of the watermark coefficient matrix and outputting the watermark coefficient matrix, the watermark coefficient matrix as an input, the discrete inverse Fourier transform of the watermark coefficient matrix to generate and output the watermark pattern, and the input image Amplifying the amplitude of the watermark pattern with the value of the intensity parameter, adding the amplified watermark pattern to the digital image in a tile shape, and outputting an embedded image. It is characterized by that.
  Also, the digital watermark embedding method of the present invention embeds an electronic watermark in a digital image so that the digital watermark is not perceived by human perception. A digital watermark embedding method that takes an intensity parameter for control, an embedded digital watermark, and key information as input, and outputs an embedded image in which the digital watermark is embedded. Generate a random number sequence as a seed, and use this random number sequence to specify the row position, the column position, and the row position and the column position in a complex matrix having a predetermined number of rows and columns. Consists of flags to specify real or imaginary components of component values Three Determining a permutation of dimensions by the number of terms of a predetermined sequence length without duplication, outputting this as embedding target component position information, and inputting a digital watermark and key information, and a plurality of spreading sequence generating means A predetermined value using a spreading sequence generated by selecting at least one spreading sequence generating unit from a plurality of spreading sequence generating units and giving key information to the selected spreading sequence generating unit. Spread spectrum modulation is performed using a spread sequence generated by obtaining a sequence length by performing spread spectrum modulation and providing key information to at least one spread sequence other than the selected spread sequence generation means. A sequence obtained by superimposing a predetermined value on a sequence obtained by performing spread spectrum modulation on a predetermined value, and outputting the sequence as an embedded sequence; A watermark coefficient matrix, which is a complex matrix having a block size and the number of rows and columns, having an initial value as a zero matrix, and an embedding target component position information and the embedding sequence as inputs, and a watermark coefficient matrix Sequentially changing the component value specified in each term of the embedding target component position information to the value of the corresponding term of the embedding sequence, and repeating this for the number of terms of the sequence length, thereby the watermark coefficient matrix A real number component and an imaginary number component independently changed and output; a watermark coefficient matrix as input; a discrete inverse Fourier transform of the watermark coefficient matrix to generate and output a watermark pattern; an input image and the intensity Using the parameter and watermark pattern as input, the amplitude of the watermark pattern is amplified by the value of the intensity parameter (102), and the amplified watermark pattern is added to the digital image in a tile shape. A step of watermarked image output, and having a.
  The digital watermark detection method of the present invention detects a digital watermark embedded in a digital image so as not to be perceived by human perception, and includes a detection target image that is a target for detecting the digital watermark, and key information. A digital watermark detection method that takes an input and outputs a detection result of the digital watermark, generates a random number sequence using the input key information as a seed for random number generation, and uses the random number sequence to generate a predetermined block size. Consists of a row position, a column position, and a flag for specifying the real or imaginary component of the component value specified by the row position and the column position in a complex matrix having the number of rows and columns Three Dimension permutation is determined without duplication by the number of terms of a predetermined sequence length, and outputting this as detection target component position information, with detection target image, key information, and detection target component position information as inputs, Pixel block that is a block size area from the detection target image And at least one of the pixel blocks is subjected to discrete Fourier transform to obtain a detection target coefficient matrix, and the component values specified in the respective terms of the detection target component position information of the detection target coefficient matrix are sequentially read. Lined up 1 Detecting digital watermark information by performing spread spectrum demodulation on the detection target sequence using a spread sequence obtained by giving a dimension sequence as a detection target sequence and providing key information to at least one spreading sequence generating means, and detecting the result And outputting as a feature.
  The digital watermark detection method of the present invention detects a digital watermark embedded in a digital image so as not to be perceived by human perception, and includes a detection target image that is a target for detecting the digital watermark, and key information. An electronic watermark detection method that takes an input and outputs an electronic watermark detection result as an input, generates a random number sequence using the key information as an input, and the key information as a seed for random number generation, and is predetermined using the random number sequence Consists of a row position, a column position, and a flag for specifying the real or imaginary component of the component value specified by the row position and the column position in a complex matrix having the number of rows and columns of block size Three Dimension permutation is determined without duplication by the number of terms of a predetermined sequence length, the step of outputting this as detection target component position information, key information as input, and having a plurality of spreading sequence generation means, At least one spread sequence generation means is selected from the spread sequence generation means, and a predetermined value is spread spectrum modulated using a spread sequence generated by giving key information to the selected spread sequence generation means. Obtaining a sequence of the sequence length and outputting it as a position marker sequence, and receiving at least one block from any position of the detection target image, with the detection target image, the detection target component position information, and the position marker sequence as inputs. A pixel block that is a size area is cut out, and the pixel block is subjected to discrete Fourier transform to obtain a detection target coefficient matrix, 2 Starting from the origin of the dimensional coordinates, scan everything up to the block size in the horizontal and vertical directions, 2 The offset candidate information, which is a dimensional coordinate, is sequentially obtained, and the component values specified in the respective terms of the detection target component position information of the detection target coefficient matrix are sequentially read and arranged. 1 A sequence obtained by giving a phase difference corresponding to the offset candidate information to each term of the dimension sequence is set as a detection target sequence, a correlation with the position marker sequence is calculated, and the maximum correlation value in the offset candidate information is calculated. A step of outputting as offset information what is to be taken, a detection target sequence obtained by inputting a detection target image, key information, detection target component position information, and offset information, and giving a phase difference represented by the offset information; The digital watermark information is obtained by performing spread spectrum demodulation on the detection target sequence using a spread sequence obtained by giving key information to at least one spread sequence generation unit from among a plurality of spread sequence generation units that are not selected. And a step of outputting as a detection result.
FIG. 1 is a diagram for explaining the first principle of the present invention.
[0024]
A reference example of the present invention (claim 1 of the original application) is a digital watermark embedding method for embedding a digital image so that it is not perceived by human perception.
When embedding a digital watermark in a digital original image,
The real number component and the imaginary number component of each coefficient value of the watermark coefficient matrix which is a complex matrix are independently changed from the key information and the digital watermark embedded in the digital image (step 1),
A discrete inverse Fourier transform is performed on the modified watermark sequence matrix to generate a watermark pattern (step 2),
The watermark pattern is added to the original image in a tile shape (step 3), and an embedded image is generated (step 4).
[0025]
The reference example of the present invention (claim 2 of the original application) generates component position information for embedding that is a sequence of lengths for embedding a digital watermark from key information,
Using key information, position marker information and digital watermark are spread to the embedded sequence,
Using the embedding target component position information and the embedding sequence, change the component value of the watermark coefficient matrix whose initial value is a complex matrix of zero matrix,
Perform a discrete inverse Fourier transform on the watermark coefficient matrix to generate a watermark pattern,
Emphasize the watermark pattern by intensity parameter,
An embedded image obtained by adding the enhanced watermark pattern to the input image in a tile shape is generated.
[0026]
When the reference example of the present invention (claim 3 of the original application) generates the embedding target component position information,
Generate a random number sequence with the key information as an initial value,
The embedding target component position information is generated from the random number sequence.
[0027]
When the reference example of the present invention (claim 4 of the original application) spreads the position marker information and the digital watermark into the embedded sequence,
Generate 0th spreading sequence with key information as initial value,
The spread sequence is a sequence representing the position marker information, stored by multiplying by a predetermined number,
Convert digital watermark to symbol representation, get total number of symbols and each symbol value,
Generate a spreading sequence with an initial value obtained by adding a symbol value to key information, and in addition to each term of the stored spreading sequence as a sequence representing a symbol,
An average value of the stored values is obtained, and a value obtained by subtracting the average value from each term is set as an embedded series.
[0028]
In the reference example of the present invention (claim 5 of the original application), when generating the spreading sequence,
Either +1 or -1 is used as the spreading sequence.
[0029]
In the reference example of the present invention (claim 6 of the original application), when spreading the position marker information and the digital watermark into the embedded sequence, a spreading sequence is generated using the key information as an initial value, and a predetermined parameter is set as the spreading sequence. Multiplied by and held in the storage means,
Converting a digital watermark into a symbol representation, adding a spreading sequence corresponding to the symbol representation symbol to each term of the storage means;
The result obtained by subtracting the average value from each term in the storage means is used as an embedded sequence.
[0030]
In the reference example of the present invention (claim 7 of the original application), when generating the spreading sequence,
Either +1 or -1 is used as the spreading sequence.
[0031]
A reference example of the present invention (claim 8 of the original application) is a digital watermark detection method for detecting a digital watermark from a detection target image in which the digital watermark is embedded so that the digital image is not perceived by human perception. In
When detecting the digital watermark embedded in the detection target image,
A block is cut out from an arbitrary position of the detection target image (step 5),
Discrete Fourier transform the block to obtain a coefficient matrix (step 6),
Generate detection target component position information specified by the key information (step 7),
A pixel block cut out from the start point of the embedded watermark pattern and the detection target image by multiplying each term of the detection target component position information by the phase difference of the coefficient due to the translation amount to generate a position marker series (step 8) The offset information, which is the amount of translation when the starting points of the two coincide, is extracted (step 9),
A digital watermark embedded from the pixel block cut out based on the offset information is detected (step 10).
[0032]
In the reference example of the present invention (claim 9 of the original application), when generating the detection target component position information from the key information,
Generate a random number sequence with the key information as an initial value,
Detection target component position information is generated from a random number sequence.
[0033]
When the reference example of the present invention (claim 10 of the original application) generates the position marker series,
Generate 0th spreading sequence with key information as initial value,
The spread sequence is output as a position marker sequence.
[0034]
When extracting the offset information, the reference example of the present invention (claim 11 of the original application)
Generate offset candidate information,
Cut out the pixel block from the position of the offset candidate information of the detection target image,
Discrete Fourier transform the pixel block to generate a detection target coefficient matrix,
Generate a detection target sequence from the detection target component position information and the detection target coefficient matrix,
The position marker detection information is generated by combining the correlation value between the position marker series and the detection target series and the offset candidate information,
Offset candidate information when the correlation value between the position marker series and the detection target series is maximum is extracted as offset information.
[0035]
When the reference example of the present invention (claim 12 of the original application) detects a digital watermark,
Cut out an N × N pixel block from a position translated from the detection target image by offset candidate information,
Discrete Fourier transform the pixel block to generate a detection target coefficient matrix,
Generate a detection target sequence from the detection target component position information and the detection target coefficient matrix,
Generate symbol detection information from the detection target sequence and key information,
Generate detection symbols from symbol detection information,
A detection result is detected from each detection symbol as a digital watermark and output.
[0036]
When the reference example of the present invention (claim 13 of the original application) detects a digital watermark,
A sequence for each symbol position is generated for each symbol position from the symbol detection information,
The symbol candidate when taking the maximum value in each symbol position series is a detected symbol,
The detected symbol is subjected to inverse symbol conversion, and the detection result is obtained.
[0037]
In the reference example of the present invention (claim 14 of the original application), when detecting a digital watermark,
The extracted pixel block is cyclically shifted by the offset information to output the pixel block.
[0038]
In the reference example (claim 15 of the original application) of the present invention, when detecting a digital watermark,
When the detection target image is N × N size or larger, a pixel block of N × N pixels is cut out from the detection target image,
When the detection target image is smaller than the N × N size, an average pixel value of the detection target image portion included in the N × N size of the detection target image is obtained, and a portion that is less than the N × N size is determined as the average pixel Fill with values, generate pixel block,
A pixel block is output by cyclically shifting the extracted pixel block.
[0039]
When the reference example of the present invention (claim 16 of the original application) detects a digital watermark,
Divide the pixel block from the offset position of the detection target image,
A discrete Fourier transform is performed on the divided pixel block to generate a detection target coefficient matrix,
Generate a detection target sequence from the detection target component position information and the detection target coefficient matrix,
Generate symbol detection information from the detection target sequence and key information,
A pixel block is output from the symbol detection information.
[0040]
In the reference example of the present invention (claim 17 of the original application), when detecting a digital watermark,
The detection target image is divided into pixel blocks, and the pixel blocks are cyclically shifted by offset information.
Discrete Fourier transform is performed on the cyclically shifted pixel block to generate a detection target sequence matrix,
Generate a detection target sequence from the detection target component position information and the detection target coefficient matrix,
Generate symbol detection information from the detection target sequence and key information,
Generate each detection symbol from the symbol detection information,
A digital watermark is detected from the detected symbol.
[0041]
In the reference example of the present invention (claim 18 of the original application), when detecting a digital watermark,
The detection target image is divided into pixel blocks, and the pixel block is cyclically shifted by an offset. At this time, for the portion that is less than N × N size near the end of the detection target image, the lacking portion is determined as an average pixel. Filled with values,
Discrete Fourier transform the pixel block to generate a detection target coefficient matrix,
Generate a detection target sequence from the detection target component position information and the detection target coefficient matrix,
Generate symbol detection information from the detection target sequence and key information,
Generate each detection symbol from the symbol detection information,
A digital watermark is detected from the detected symbol.
[0042]
When the reference example of the present invention (claim 19 of the original application) generates the position marker series,
Divide the detection target image into blocks by offset information,
An addition block obtained by adding the pixel values of the pixel block is output as a pixel block.
[0043]
When the reference example of the present invention (claim 20 of the original application) generates the position marker series,
Divide the detection target image into blocks,
A block obtained by adding the pixel values of the divided blocks is an addition block,
The addition block is cyclically shifted by the offset information to generate a pixel block.
[0044]
When the reference example of the present invention (claim 21 of the original application) generates the position marker series,
The detection target image is divided into blocks. At this time, a pixel area that is less than one block around the edge of the detection target image is obtained by filling an average value corresponding to the detection target image at the time of division, and the portion that is still insufficient Calculates the average value of the pixel values corresponding to the detection target image, fills with the average value, and forms a block,
A block obtained by adding the pixel values of the divided blocks is an addition block,
The addition block is cyclically shifted by the offset information to generate a pixel block.
[0045]
In the reference example (claim 22 of the original application) of the present invention, when the position marker series is generated, the average of the detection target series is changed to 0 after the generation of the detection target series.
[0046]
In the reference example of the present invention (claim 23 of the original application), when detecting a digital watermark, after generating a detection target sequence, the average of the detection target sequence is changed to zero.
[0047]
The reference example of the present invention (claim 24 of the original application) obtains the maximum value of all the position marker detection information when extracting the offset information when detecting the position marker series, and the maximum value is smaller than a predetermined threshold value. In this case, a signal indicating that the detection of the offset has failed is output. When the maximum value is equal to or greater than the predetermined threshold, offset information when the maximum value is obtained is output.
[0048]
When the reference example of the present invention (claim 25 of the original application) detects a digital watermark,
The symbol detection information is divided for each symbol position to generate a series for each symbol position,
Find the maximum value of the series for each symbol position,
When the maximum value is smaller than the predetermined threshold, a signal indicating that the detection of the digital watermark embedded in the detection target image has failed is output. When the maximum value is equal to or greater than the predetermined threshold, the The symbol candidate when taking the maximum value is the detected symbol,
The detected symbol is converted into a digital watermark representation.
[0049]
In the reference example of the present invention (claim 26 of the original application), the threshold value determined based on the value of the distribution function of the normal distribution with mean 0 and variance 1 is applied as the threshold value.
[0050]
A reference example of the present invention (claim 27 of the original application) is a digital watermark detection method for detecting a digital watermark from a detection target image in which the digital watermark is embedded so that the digital image is not perceived by human perception. In
When detecting a digital watermark from the detection target image,
Generate detection target component position information from the key information,
Generate a position marker series from the key information,
By detecting the detected position marker detection information, offset information representing a deviation between the start point of the watermark pattern at the time of embedding and the start point of the pixel block cut out from the detection target image is detected.
The digital watermark embedded in the pixel block is detected using the offset information.
[0051]
When the reference example of the present invention (claim 28 of the original application) generates the detection target component position information,
Generate a random number sequence with the key information as an initial value,
Based on the random number sequence, the detection target component position information having the same length as the embedded sequence is generated.
[0052]
When the reference example of the present invention (claim 29 of the original application) generates the position marker series,
An initial spreading sequence having key information as an initial value is generated, and the spreading sequence is set as a position marker sequence.
[0053]
When the reference example of the present invention (claim 30 of the original application) detects the position marker detection information,
Using the detection target image, the detection target component position information, and the position marker series, an N × N size pixel block is cut out from the detection target image,
A discrete Fourier transform is performed on the pixel block to generate a detection target coefficient matrix,
Generate a detection target sequence from the offset information, detection target coefficient matrix, and detection target component position information,
Correlation values of the position marker series and the detection target series are used as position marker detection information.
[0054]
When the reference example of the present invention (claim 31 of the original application) generates the position marker series,
The detection target image is divided into N × N size blocks,
An addition block in which the pixel values of all the blocks are added is defined as a pixel block.
[0055]
When the reference example of the present invention (claim 32 of the original application) detects a digital watermark,
Using the detection target image, detection target component position information, offset information, and key information, a pixel block is cut out from the detection target image,
A discrete Fourier transform is performed on the pixel block to generate a detection target coefficient matrix,
Generate a detection target sequence from the offset information, detection target coefficient matrix, and detection target component position information,
Generate a symbol detection result from a correlation value between a sequence generated from key information and symbol candidate information and a detection target sequence,
Based on each symbol position of the symbol detection result, the symbol candidate value when the correlation value between the sequence generated from the key information and the symbol candidate information and the detection target sequence is maximum is set as a detected symbol,
A result obtained by converting the detected symbol into a digital watermark format is output.
[0056]
When the reference example of the present invention (claim 33 of the original application) generates the position marker series,
When a block of N × N size is cut out from the detection target image, if it cannot be cut out to N × N size from the detection target image, only the portion corresponding to the detection target image included when trying to cut out at N × N size is used. In the portion where the N × N size is insufficient, the average of the pixel values corresponding to the detection target image is obtained, and the portion where the average is insufficient is filled.
[0057]
In the reference example of the present invention (claim 34 of the original application), when detecting a digital watermark,
Divide the pixel block from the detection target image,
Discrete Fourier transform the pixel block to generate a detection target coefficient matrix,
Generate a detection target sequence from offset information, detection target component position information and detection target coefficient matrix,
Generate a detection symbol from the detection target sequence and key information,
A sub-image is detected from the detected symbol.
[0058]
In a reference example (claim 35 of the original application) of the present invention, when a block of N × N size is cut out from a detection target image when dividing a pixel block from the detection target image, N × N is extracted from the detection target image. If the image cannot be cut out in size, only the portion corresponding to the detection target image included when the image is cut out in N × N size is cut out. Find the average and fill in.
[0059]
The reference example of the present invention (claim 36 of the original application) divides the detection target image into N × N size blocks when detecting the position marker series and when detecting the digital watermark. An addition block in which pixel values are added is defined as a pixel block.
[0060]
In the reference example of the present invention (claim 37 of the original application), when a block of N × N size is cut out from a detection target image when detecting a digital watermark, it cannot be cut out from the detection target image to N × N size. In this case, only the portion corresponding to the detection target image included when the image is to be cut out with N × N size is cut out. Then, the portion where the average value is insufficient is filled.
[0061]
In the reference example of the present invention (claim 38 of the original application), when the position marker series is detected, after the detection target series is generated, the average of the detection target series is changed to zero.
[0062]
In the reference example (claim 39 of the original application) of the present invention, when the digital watermark is detected in claim 32, after the detection target sequence is generated, a process of changing the average of the detection target sequence to 0 is performed.
[0063]
In the reference example (claim 40 of the original application) of the present invention, when the digital watermark is detected in claim 34, after the detection target sequence is generated, a process of changing the average of the detection target sequence to 0 is performed.
[0064]
In the reference example (claim 41 of the original application) of the present invention, when detecting the offset information,
Find the maximum value of position marker detection information,
When the maximum value is smaller than the predetermined threshold, a signal indicating that the detection of the offset information has failed is output,
When the maximum value is greater than or equal to a predetermined threshold, offset information when the maximum value is taken is output.
[0065]
When the reference example of the present invention (claim 42 of the original application) detects a digital watermark,
Divide the symbol detection result by symbol position,
Find the maximum value for each symbol position series for each symbol position,
When the maximum value is smaller than the predetermined threshold, a signal indicating that the detection of the digital watermark embedded in the detection target image has failed is output,
If the maximum value is greater than or equal to a predetermined threshold, a symbol candidate when the maximum value is taken is output.
[0066]
In the reference example of the present invention (claim 43 of the original application), the threshold value determined based on the value of the distribution function of the normal distribution with mean 0 and variance 1 is used as the threshold value.
[0067]
FIG. 2 is a first principle configuration diagram of the present invention.
[0068]
A reference example of the present invention (claim 44 of the original application) is a digital watermark embedding apparatus that embeds a digital watermark so that it is not perceived by human perception on a digital image,
Changing means 1A for independently changing the real component and the imaginary component of each coefficient value of the watermark coefficient matrix that is a complex matrix from the key information and the digital watermark embedded in the digital image;
Watermark pattern generation means 2A for generating a watermark pattern by performing discrete inverse Fourier transform on the changed watermark sequence matrix;
It has addition means 3A for adding the watermark pattern to the original image in a tile shape, and image generation means 4A for generating the embedded image.
[0069]
A reference example of the present invention (claim 45 of the original application) includes an embedding target component designating unit that generates embedding target component position information that is a sequence of lengths for embedding a digital watermark from key information,
Embedded sequence generation means for spreading the position marker information and the digital watermark into the embedded sequence using the key information;
Component value changing means for changing the component value of the watermark coefficient matrix whose initial value is a complex matrix of zero matrix using the embedding target component position information and the embedded sequence;
Discrete inverse Fourier transform means for performing a discrete inverse Fourier transform on the watermark coefficient matrix and generating a watermark pattern;
Watermark pattern adding means for emphasizing the watermark pattern with an intensity parameter and generating an embedded image obtained by adding the enhanced watermark pattern to the input image in a tile shape.
[0070]
The reference example of the present invention (claim 46 of the original application)
Including random number generation means for generating a random number sequence having key information as an initial value,
Means for generating embedding target component position information from a random number sequence;
[0071]
The reference example of the present invention (claim 47 of the original application)
A 0th spreading sequence having key information as an initial value is generated, the spreading sequence is set as a sequence representing position marker information, stored by multiplying by a predetermined number, a digital watermark is converted into a symbol representation, Obtains a symbol value, generates a spreading sequence having an initial value obtained by adding the symbol value to the key information, and in addition to each term of the stored spreading sequence as a sequence representing the symbol, Means for obtaining an average value and including a value obtained by subtracting the average value from each term as an embedded series is included.
[0072]
In the reference example of the present invention (claim 48 of the original application), either +1 or −1 is used as the spreading sequence in the embedded sequence generating means.
[0073]
A reference example of the present invention (claim 49 of the original application)
Using the key information as an initial value, a spreading sequence is generated, the spreading parameter is multiplied by the spreading sequence, stored in the storage means, the digital watermark is converted into a symbol representation, and the spreading sequence corresponding to the symbol representation symbol Is added to each term in the storage means, and a result obtained by subtracting the average value from each term in the storage means is used as an embedded series.
[0074]
In the reference example (claim 50 of the original application) of the present invention, either +1 or −1 is used as the spreading sequence in the embedded sequence generating means.
[0075]
A reference example of the present invention (claim 51 of the original application) is a digital watermark detection apparatus for detecting a digital watermark from a detection target image in which the digital watermark is embedded so as not to be perceived by human perception. Because
Detection target component designation means 5A for generating detection target component position information from the key information;
6A of position marker series production | generation means which produces | generate a position marker series from key information,
A position marker detecting means 7A for detecting a position marker series and extracting offset information when the start point of the watermark pattern at the time of embedding and the start point of the pixel block cut out from the detection target image match;
Digital watermark detection means 8A for detecting a digital watermark embedded from the pixel block cut out based on the offset information.
[0076]
The reference example of the present invention (claim 52 of the original application) is the detection target component designating means 5A.
Means for generating a random number sequence having key information as an initial value,
Means for generating detection target component position information from the random number sequence;
[0077]
A reference example (claim 53 of the original application) of the present invention is the following:
Means for generating a zeroth spreading sequence having the key information as an initial value and outputting the spreading sequence as a position marker sequence;
[0078]
The reference example (claim 54 of the original application) of the present invention is the position marker detecting means 7A,
Means for generating offset candidate information and cutting out a pixel block from the position of the offset candidate information of the detection target image;
Means for performing a discrete Fourier transform on the pixel block and generating a detection target coefficient matrix;
Means for generating a detection target sequence from the detection target component position information and the detection target coefficient matrix;
Means for generating position marker detection information by combining a correlation value of the position marker series and the detection target series and the offset candidate information;
Means for extracting offset candidate information when the correlation value between the position marker series and the detection target series is maximum as offset information.
[0079]
The reference example of the present invention (claim 55 of the original application)
Means for cutting out a pixel block of N × N pixels from a position translated from the detection target image by offset candidate information;
Means for performing a discrete Fourier transform on the pixel block and generating a detection target coefficient matrix;
Means for generating a detection target sequence from the detection target component position information and the detection target coefficient matrix;
Means for generating symbol detection information from a detection target sequence and key information;
Means for generating each detected symbol from the symbol detection information;
Means for outputting a detection result from each detection symbol as a digital watermark.
[0080]
A reference example (claim 56 of the original application) of the present invention is the electronic watermark detection means 8A.
Means for generating a sequence for each symbol position for each symbol position from the symbol detection information;
Means for obtaining a detection result by using a symbol candidate at the maximum value in the series for each symbol position as a detected symbol, performing inverse symbol conversion on the detected symbol, and obtaining a detection result.
[0081]
A reference example (claim 57 of the original application) of the present invention is the electronic watermark detection means 8A.
Means for outputting a pixel block by cyclically shifting the cut-out pixel block by an offset;
[0082]
A reference example (claim 58 of the original application) of the present invention is the digital watermark detection means 8A.
Means for cutting out a pixel block of N × N pixels from the detection target image when the detection target image is N × N size or more;
When the detection target image is smaller than the N × N size, an average pixel value of the detection target image portion included in the N × N size of the detection target image is obtained, and a portion that is less than the N × N size is determined as the average pixel Means for filling in values and generating pixel blocks;
Means for outputting a pixel block by cyclically shifting the cut-out pixel block;
[0083]
A reference example (claim 59 of the original application) of the present invention is the electronic watermark detection means 8A.
Means for dividing the pixel block from the position of the offset of the detection target image;
Means for performing discrete Fourier transform on the divided pixel block and generating a detection target coefficient matrix;
Means for generating a detection target sequence from the detection target component position information and a detection target coefficient matrix;
Means for generating symbol detection information from a detection target sequence and key information;
Means for outputting a pixel block from the symbol detection information.
[0084]
A reference example of the present invention (claim 60 of the original application)
Means for dividing the detection target image into pixel blocks, and cyclically shifting the pixel blocks with an offset;
Means for performing discrete Fourier transform on the cyclically shifted pixel block and generating a detection target sequence matrix;
Means for generating a detection target sequence from the detection target component position information and the detection target coefficient matrix;
Means for generating symbol detection information from a detection target sequence and key information;
Means for generating each detected symbol from the symbol detection information;
Means for detecting a digital watermark from the detected symbol.
[0085]
A reference example (claim 61 of the original application) of the present invention is the digital watermark detection means 8A.
The detection target image is divided into pixel blocks, and the pixel block is cyclically shifted with an offset. At this time, for the portion near the end of the detection target image that is less than N × N size, the missing portion is determined as an average pixel value. Means to fill with,
Means for performing a discrete Fourier transform on the pixel block and generating a detection target coefficient matrix;
Means for generating a detection target sequence from the detection target component position information and the detection target coefficient matrix;
Means for generating symbol detection information from a detection target sequence and key information;
Means for generating each detected symbol from the symbol detection information;
Means for detecting a digital watermark from the detected symbol.
[0086]
A reference example (claim 62 of the original application) of the present invention is the following:
Means for dividing the detection target image into pixel blocks by offset;
And means for outputting an addition block in which pixel values of the pixel block are added as a pixel block.
[0087]
A reference example (claim 63 of the original application) of the present invention is the following:
Means for dividing the detection target image into blocks;
A block obtained by adding the pixel values of the divided blocks is used as an addition block, and the addition block is cyclically shifted with an offset to generate a pixel block.
[0088]
A reference example (claim 64 of the original application) of the present invention is the following:
The detection target image is divided into blocks, and at this time, an average value corresponding to the detection target image at the time of division is obtained for a pixel area that is less than one block around the edge of the detection target image. Means for obtaining an average value of pixel values corresponding to an image and filling the average value with a block;
Means for adding a block obtained by adding pixel values of divided blocks to an addition block;
Means for cyclically shifting the addition block with an offset to generate a pixel block.
[0089]
The reference example (claim 65 of the original application) of the present invention includes means for changing the average of the detection target series to 0 after the detection target series is generated in the position marker series generation means 6A.
[0090]
The reference example of the present invention (claim 66 of the original application) includes means for changing the average of the detection target series to 0 after the detection target series is generated in the digital watermark detection means 8A.
[0091]
The reference example (claim 67 of the original application) of the present invention is the position marker detection means 7A,
The maximum value of all the position marker detection information is obtained, and when the maximum value is smaller than a predetermined threshold, a signal indicating that the offset detection has failed is output, and the maximum value is equal to or greater than the predetermined threshold. In some cases, means for outputting an offset when taking the maximum value is included.
[0092]
A reference example (claim 68 of the original application) of the present invention is the digital watermark detection means 8A.
Means for dividing symbol detection information for each symbol position and generating a series for each symbol position;
Means for obtaining the maximum value of the series for each symbol position;
When the maximum value is smaller than the predetermined threshold, a signal indicating that the detection of the digital watermark embedded in the detection target image has failed is output, and when the maximum value is equal to or larger than the predetermined threshold, Means for setting a symbol candidate when taking a maximum value as a detected symbol;
Means for converting the detected symbol into a digital watermark representation.
[0093]
In the reference example (claim 69 of the original application) of the present invention, a threshold value determined based on the value of the distribution function of a normal distribution having an average of 0 and a variance of 1 is applied as the above threshold value.
[0094]
A reference example of the present invention (claim 70 of the original application) is a digital watermark detection apparatus for detecting a digital watermark embedded in a digital image so as not to be perceived by human perception,
Detection target component designating means for generating detection target component position information from the key information;
A position marker sequence generating means for generating a position marker sequence from the key information;
Position marker detection means for detecting offset information indicating a deviation between the start point of the watermark pattern at the time of embedding and the start point of the pixel block cut out from the detection target image by the detected position marker detection information;
Digital watermark detection means for detecting a digital watermark embedded in the pixel block using the offset information.
[0095]
In a reference example of the present invention (claim 71 of the original application)
Means for generating a random number sequence having key information as an initial value;
Means for generating detection target component position information having the same length as the length of the embedded sequence embedded based on the random number sequence.
[0096]
In a reference example of the present invention (claim 72 of the original application), in the position marker sequence generating means,
Means for generating a first spreading sequence having the key information as an initial value and setting the spreading sequence as a position marker sequence;
[0097]
In a reference example of the present invention (claim 73 of the original application), in the position marker detection means,
Means for cutting out a pixel block of N × N size from the detection target image using the detection target image, the detection target component position information, and the position marker series;
Means for performing a discrete Fourier transform on the pixel block to generate a detection target coefficient matrix;
Means for generating a detection target sequence from offset information, detection target coefficient matrix, and detection target component position information;
And means for setting the correlation value between the position marker series and the detection target series as position marker detection information.
[0098]
A reference example of the present invention (claim 74 of the original application)
Means for extracting a pixel block from the detection target image using the detection target image, the detection target component position information, the offset information, and the key information;
Means for performing a discrete Fourier transform on the pixel block to generate a detection target coefficient matrix;
Means for generating a detection target sequence from offset information, detection target coefficient matrix, and detection target component position information;
Means for generating a symbol detection result from a correlation value between a sequence generated from key information and symbol candidate information and a detection target sequence;
Based on each symbol position of the symbol detection result, means for setting a symbol candidate value when a correlation value between a sequence generated from key information and symbol candidate information and a detection target sequence is maximum as a detected symbol;
And a means for outputting a result obtained by converting the detected symbol into a digital watermark format.
[0099]
In a reference example of the present invention (claim 75 of the original application), in the position marker sequence generation means,
When a block of N × N size is cut out from the detection target image, if it cannot be cut out to N × N size from the detection target image, only the portion corresponding to the detection target image included when trying to cut out at N × N size is used. The portion where the N × N size is insufficient includes a means for obtaining an average of pixel values corresponding to the detection target image and filling the portion where the average is insufficient.
[0100]
A reference example (claim 76 of the original application) of the present invention is a digital watermark detection means,
Means for dividing the pixel block from the detection target image;
Means for performing a discrete Fourier transform on the pixel block and generating a detection target coefficient matrix;
Means for generating a detection target sequence from offset information, detection target component position information, and a detection target coefficient matrix;
Means for generating a detection symbol from a detection target sequence and key information;
A sub-image is detected from the detected symbol.
[0101]
A reference example of the present invention (claim 77 of the original application)
When a block of N × N size is cut out from a detection target image, if it cannot be cut out to N × N size from the detection target image, only the portion corresponding to the detection target image included when trying to cut out at N × N size is used. The portion where the N × N size is insufficient includes means for obtaining an average value of pixel values corresponding to the detection target image and filling the portion where the average value is insufficient.
[0102]
In a reference example of the present invention (claim 78 of the original application), in the position marker sequence generation means and the digital watermark detection means,
Means for dividing the detection target image into N × N size blocks;
Means including an addition block obtained by adding the pixel values of all the blocks as a pixel block is included.
[0103]
A reference example (claim 79 of the original application) of the present invention is a position marker sequence generation unit and a digital watermark detection unit.
When a block of N × N size is cut out from the detection target image, if it cannot be cut out to N × N size from the detection target image, only the portion corresponding to the detection target image included when trying to cut out at N × N size is used. The portion where the N × N size is insufficient includes a means for obtaining an average value of pixel values corresponding to the detection target image and filling the portion where the average value is insufficient.
[0104]
In a reference example of the present invention (claim 80 of the original application)
After generating the detection target sequence, means for performing processing for changing the average of the detection target sequence to 0 is included.
[0105]
A reference example of the present invention (claim 81 of the original application) is a digital watermark detection means,
Means for performing processing for changing the average of the detection target sequences to 0 after the generation of the detection target sequences;
[0106]
A reference example (claim 82 of the original application) of the present invention is a position marker detecting means,
Means for obtaining the maximum value of the position marker detection information;
When the maximum value is smaller than the predetermined threshold value, a signal indicating that the detection of the offset information has failed is output. When the maximum value is equal to or larger than the predetermined threshold value, the offset information when the maximum value is taken is displayed. Means for outputting.
[0107]
A reference example of the present invention (claim 83 of the original application) is a digital watermark detection means,
Means for dividing each symbol detection information symbol position generated from the detection target sequence and key information;
Means for obtaining a maximum value of each symbol position series for each symbol position;
When the maximum value is smaller than the predetermined threshold, a signal indicating that the detection of the digital watermark embedded in the detection target image has failed is output. When the maximum value is equal to or larger than the predetermined threshold, the maximum Means for outputting a symbol candidate when taking a value is included.
[0108]
The reference example of the present invention (claim 84 of the original application) uses a threshold value determined based on the distribution function value of a normal distribution having an average of 0 and a variance of 1 as the threshold value.
[0109]
A reference example of the present invention (claim 85 of the original application) is a storage medium that stores a digital watermark embedding program for embedding a digital watermark that is not perceived by human perception with respect to a digital image,
A process of independently changing the real and imaginary components of each coefficient value of the watermark coefficient matrix that is a complex matrix from the digital watermark embedded in the key information and the digital image;
A process of generating a watermark pattern by performing discrete inverse Fourier transform on the modified watermark sequence matrix; and
And adding a watermark pattern to the original image in a tiled manner to generate an embedded image.
[0110]
A reference example of the present invention (claim 86 of the original application) includes an embedding target component designation process for generating embedding target component position information that is a sequence of lengths for embedding a digital watermark from key information,
An embedded sequence generation process that uses key information to spread position marker information and a digital watermark into an embedded sequence;
A component value changing process for changing a component value of a watermark coefficient matrix whose initial value is a complex matrix having a zero matrix using the embedding target component position information and the embedded sequence;
A discrete inverse Fourier transform process for performing a discrete inverse Fourier transform on the watermark coefficient matrix to generate a watermark pattern;
A watermark pattern addition process for emphasizing the watermark pattern with an intensity parameter and generating an embedded image obtained by adding the enhanced watermark pattern to the input image in a tiled manner.
[0111]
The reference example of the present invention (claim 87 of the original application)
Including a random number generation process for generating a random number sequence having key information as an initial value, and a process for generating embedding target component position information from the random number sequence.
[0112]
The reference example of the present invention (claim 88 of the original application)
A 0th spreading sequence having key information as an initial value is generated, the spreading sequence is set as a sequence representing position marker information, stored by multiplying by a predetermined number, a digital watermark is converted into a symbol representation, Obtains a symbol value, generates a spreading sequence having an initial value obtained by adding the symbol value to the key information, and in addition to each term of the stored spreading sequence as a sequence representing the symbol, This includes a process of obtaining an average value and setting a value obtained by subtracting the average value from each term as an embedded series.
[0113]
In a reference example of the present invention (claim 89 of the original application) embedding sequence generation process,
Using the key information as an initial value, a spreading sequence is generated, the spreading parameter is multiplied by the spreading sequence, stored in the storage means, the digital watermark is converted into a symbol representation, and the spreading sequence corresponding to the symbol representation symbol Is added to each term of the storage means, and the result of subtracting the average value from each term of the storage means is used as an embedded sequence.
[0114]
In the reference example of the present invention (claim 90 of the original application), either +1 or −1 is used as the spreading sequence in the embedded sequence generation process.
[0115]
A reference example of the present invention (claim 91 of the original application) is a digital watermark detection program for detecting a digital watermark from a detection target image in which a digital watermark that is not perceived by human perception is embedded in a digital image. A storage medium storing
A detection target component designation process for generating detection target component position information from the key information;
A position marker sequence generation process for generating a position marker sequence from key information;
A position marker detection process that detects a position marker series and extracts offset information when the start point of the watermark pattern at the time of embedding and the start point of the pixel block cut out from the detection target image match;
A digital watermark detection process for detecting a digital watermark embedded from the pixel block cut out based on the offset information.
[0116]
A reference example of the present invention (claim 92 of the original application) includes a process of generating a random number sequence having key information as an initial value in the detection target component designation process,
It includes a process of generating detection target component position information from a random number sequence.
[0117]
In a reference example of the present invention (claim 93 of the original application), in the position marker sequence generation process, a process of generating a 0th spread sequence having key information as an initial value and outputting the spread sequence as a position marker sequence Including.
[0118]
The reference example of the present invention (claim 94 of the original application)
A process of generating offset candidate information and cutting out a pixel block from the position of the offset candidate information of the detection target image;
A process of performing a discrete Fourier transform on the pixel block to generate a coefficient matrix to be detected;
A process for generating a detection target sequence from detection target component position information and a detection target coefficient matrix;
A process of generating position marker detection information by combining a correlation value of the position marker series and the detection target series and the offset candidate information;
This includes a process of extracting offset candidate information as offset information when the correlation value between the position marker series and the detection target series is maximum.
[0119]
A reference example of the present invention (claim 95 of the original application) is a digital watermark detection process.
A process of cutting out an N × N pixel block from a position translated from the detection target image by offset candidate information;
A process of performing a discrete Fourier transform on the pixel block to generate a coefficient matrix to be detected;
A process for generating a detection target sequence from detection target component position information and a detection target coefficient matrix;
A process of generating symbol detection information from a detection target sequence and key information;
A process of generating each detected symbol from the symbol detection information;
And a process of outputting a detection result as a digital watermark from each detection symbol.
[0120]
A reference example of the present invention (claim 96 of the original application)
A process for generating a sequence for each symbol position for each symbol position from the symbol detection information;
A process of obtaining a detection result by using a symbol candidate when taking the maximum value in each symbol position series as a detected symbol, performing inverse symbol conversion on the detected symbol, and obtaining a detection result.
[0121]
A reference example of the present invention (claim 97 of the original application)
This includes a process of outputting the pixel block by cyclically shifting the cut-out pixel block with an offset.
[0122]
A reference example of the present invention (claim 98 of the original application)
When the detection target image is N × N size or more, a process of cutting out a pixel block of N × N pixels from the detection target image;
When the detection target image is smaller than the N × N size, an average pixel value of the detection target image portion included in the N × N size of the detection target image is obtained, and a portion that is less than the N × N size is determined as the average pixel The process of filling in values and generating pixel blocks;
Including a process of outputting a pixel block by cyclically shifting the extracted pixel block.
[0123]
A reference example of the present invention (claim 99 of the original application)
A process of dividing the pixel block from the offset position of the detection target image;
A process of performing a discrete Fourier transform on the divided pixel block and generating a detection target coefficient matrix;
A process for generating a detection target sequence from detection target component position information and a detection target coefficient matrix;
A process of generating symbol detection information from a detection target sequence and key information;
And outputting a pixel block from the symbol detection information.
[0124]
A reference example of the present invention (claim 100 of the original application)
A process of dividing the detection target image into pixel blocks and cyclically shifting the pixel blocks with an offset;
A process of performing a discrete Fourier transform on a cyclically shifted pixel block to generate a detection target sequence matrix;
A process for generating a detection target sequence from detection target component position information and a detection target coefficient matrix;
A process of generating symbol detection information from a detection target sequence and key information;
A process of generating each detected symbol from the symbol detection information;
Detecting a watermark from the detected symbols.
[0125]
A reference example of the present invention (claim 101 of the original application) is a digital watermark detection process.
The detection target image is divided into pixel blocks, and the pixel block is cyclically shifted with an offset. At this time, for the portion near the end of the detection target image that is less than N × N size, the missing portion is determined as an average pixel value. With the process of filling in,
A process of performing a discrete Fourier transform on the pixel block to generate a coefficient matrix to be detected;
A process for generating a detection target sequence from detection target component position information and a detection target coefficient matrix;
A process of generating symbol detection information from a detection target sequence and key information;
A process of generating each detected symbol from the symbol detection information;
Detecting a watermark from the detected symbols.
[0126]
A reference example of the present invention (claim 102 of the original application)
The process of dividing the image to be detected into blocks by offset;
And a process of outputting an addition block in which pixel values of the pixel block are added as a pixel block.
[0127]
The reference example of the present invention (claim 103 of the original application)
The process of dividing the image to be detected into blocks;
A block obtained by adding the pixel values of the divided blocks is set as an addition block, and the addition block is cyclically shifted by an offset to generate a pixel block.
[0128]
The reference example of the present invention (claim 104 of the original application)
The detection target image is divided into blocks, and at this time, an average value corresponding to the detection target image at the time of division is obtained for a pixel area that is less than one block around the edge of the detection target image. A process of obtaining an average value of pixel values corresponding to an image and filling the average value with a block;
A process of adding a block obtained by adding pixel values of divided blocks to an addition block;
A process of cyclically shifting the addition block by an offset to generate a pixel block.
[0129]
The reference example (claim 105 of the original application) of the present invention includes a process of changing the average of the detection target series to 0 after the generation of the detection target series in the position marker series generation process.
[0130]
The reference example of the present invention (claim 106 of the original application) includes a process of changing the average of the detection target sequence to 0 after generating the detection target sequence in the digital watermark detection process.
[0131]
The reference example of the present invention (claim 107 of the original application) includes a process of changing the average of the detection target sequence to 0 after generating the detection target sequence in the digital watermark detection process.
[0132]
A reference example of the present invention (claim 108 of the original application)
The maximum value of all the position marker detection information is obtained, and when the maximum value is smaller than a predetermined threshold, a signal indicating that the offset detection has failed is output, and the maximum value is equal to or greater than the predetermined threshold. In some cases, a process of outputting an offset when the maximum value is obtained is included.
[0133]
A reference example of the present invention (claim 109 of the original application)
A process of dividing symbol detection information for each symbol position and generating a sequence for each symbol position;
A process for obtaining the maximum value of the series for each symbol position;
When the maximum value is smaller than the predetermined threshold, a signal indicating that the detection of the digital watermark embedded in the detection target image has failed is output, and when the maximum value is equal to or larger than the predetermined threshold, A process of using a candidate symbol as a detected symbol when taking the maximum value;
Converting the detected symbols into a representation of the watermark.
[0134]
In the reference example of the present invention (claim 110 of the original application), a threshold value determined based on a distribution function value of a normal distribution having an average of 0 and a variance of 1 is applied as the threshold value.
[0135]
A reference example of the present invention (claim 111 of the original application) is a storage medium storing a digital watermark detection program for detecting a digital watermark embedded in a digital image so as not to be perceived by human perception. ,
A detection target component designation process for generating detection target component position information from the key information;
A position marker sequence generation process for generating a position marker sequence from key information;
A position marker detection process for detecting offset information indicating a deviation between the start point of the watermark pattern at the time of embedding and the start point of the pixel block cut out from the detection target image, based on the detected position marker detection information;
A digital watermark detection process for detecting a digital watermark embedded in the pixel block using the offset information.
[0136]
The reference example of the present invention (claim 112 of the original application)
A process for generating a random number sequence having key information as an initial value;
This includes a process of generating detection target component position information having the same length as the embedded sequence length based on the random number sequence.
[0137]
The reference example of the present invention (claim 113 of the original application)
It includes a process of generating an initial spreading sequence having key information as an initial value and setting the spreading sequence as a position marker sequence.
[0138]
A reference example of the present invention (claim 114 of the original application)
A process of cutting out an N × N size pixel block from the detection target image using the detection target image, the detection target component position information, and the position marker series;
A process of performing a discrete Fourier transform on the pixel block to generate a detection target coefficient matrix; and
A process of generating a detection target sequence from offset information, a detection target coefficient matrix, and detection target component position information;
And a process of setting the correlation value between the position marker series and the detection target series as position marker detection information.
[0139]
The reference example of the present invention (claim 115 of the original application)
A process of cutting out a pixel block from the detection target image using the detection target image, the detection target component position information, the offset information, and the key information;
A process of performing a discrete Fourier transform on the pixel block to generate a detection target coefficient matrix; and
A process of generating a detection target sequence from offset information, a detection target coefficient matrix, and detection target component position information;
A process of generating a symbol detection result from a correlation value between a sequence generated from key information and symbol candidate information and a detection target sequence;
Based on each symbol position of the symbol detection result, a process of using a symbol candidate value with a maximum correlation value as a detected symbol;
And outputting a result obtained by converting the detected symbol into a digital watermark format.
[0140]
The reference example of the present invention (claim 116 of the original application)
When a block of N × N size is cut out from the detection target image, if it cannot be cut out to N × N size from the detection target image, only the portion corresponding to the detection target image included when trying to cut out at N × N size is used. The portion where the N × N size is insufficient includes a process of obtaining an average of pixel values corresponding to the detection target image and filling the portion where the average is insufficient.
[0141]
The reference example of the present invention (claim 117 of the original application)
A process of dividing a pixel block from a detection target image;
A process of performing a discrete Fourier transform on the pixel block to generate a coefficient matrix to be detected;
A process for generating a detection target sequence from offset information, detection target component position information, and a detection target coefficient matrix;
A process for generating a detection symbol from a detection target sequence and key information;
A sub-image is detected from the detected symbol.
[0142]
A reference example of the present invention (claim 118 of the original application)
When a block of N × N size is cut out from the detection target image, if it cannot be cut out to N × N size from the detection target image, only the portion corresponding to the detection target image included when trying to cut out at N × N size is used. The portion where the N × N size is insufficient includes a process of obtaining an average value of pixel values corresponding to the detection target image and filling in the portion where the average value is insufficient.
[0143]
The reference example of the present invention (claim 119 of the original application)
A process of dividing the detection target image into N × N size blocks;
This includes a process in which an addition block in which pixel values of all blocks are added is used as a pixel block.
[0144]
A reference example of the present invention (claim 120 of the original application)
A process of dividing the detection target image into N × N size blocks;
This includes a process in which an addition block in which pixel values of all blocks are added is used as a pixel block.
[0145]
A reference example of the present invention (claim 121 of the original application) is a digital watermark detection process,
When a block of N × N size is cut out from the detection target image, if it cannot be cut out to N × N size from the detection target image, only the portion corresponding to the detection target image included when trying to cut out at N × N size is used. The portion where the N × N size is insufficient includes a process of obtaining an average value of pixel values corresponding to the detection target image and filling in the portion where the average value is insufficient.
[0146]
The reference example of the present invention (claim 122 of the original application)
When a block of N × N size is cut out from the detection target image, if it cannot be cut out to N × N size from the detection target image, only the portion corresponding to the detection target image included when trying to cut out at N × N size is used. The portion where the N × N size is insufficient includes a process of obtaining an average value of pixel values corresponding to the detection target image and filling in the portion where the average value is insufficient.
[0147]
A reference example of the present invention (claim 123 of the original application) is a position marker sequence generation process,
After the detection target sequence is generated, a process of performing processing for changing the average of the detection target sequence to 0 is included.
[0148]
A reference example of the present invention (claim 124 of the original application)
After the generation of the detection target sequence, a process of performing processing for changing the average of the detection target sequence to 0 is included.
[0149]
A reference example of the present invention (claim 125 of the original application)
A process for obtaining the maximum value of the position marker detection information;
When the maximum value is smaller than the predetermined threshold value, a signal indicating that the detection of the offset information has failed is output. When the maximum value is equal to or larger than the predetermined threshold value, the offset information when the maximum value is taken is displayed. Includes the process to output.
[0150]
The reference example of the present invention (claim 126 of the original application)
A process of dividing for each symbol detection information symbol position generated from the detection target sequence and key information;
A process for obtaining the maximum value of each symbol position series for each symbol position;
When the maximum value is smaller than the predetermined threshold, a signal indicating that the detection of the digital watermark embedded in the detection target image has failed is output. When the maximum value is equal to or larger than the predetermined threshold, the maximum Includes a process of outputting symbol candidates when taking values.
[0151]
A reference example of the present invention (claim 127 of the original application)
A process of dividing for each symbol detection information symbol position generated from the detection target sequence and key information;
A process for obtaining the maximum value of each symbol position series for each symbol position;
When the maximum value is smaller than the predetermined threshold, a signal indicating that the detection of the digital watermark embedded in the detection target image has failed is output. When the maximum value is equal to or larger than the predetermined threshold, the maximum Includes a process of outputting symbol candidates when taking values.
[0152]
The reference example (claim 128 of the original application) of the present invention uses the threshold value defined in claim 126 based on the value of the distribution function of the normal distribution with mean 0 and variance 1 as the threshold value.
[0153]
The reference example of the present invention (claim 129 of the original application) uses a threshold value defined in claim 127 based on the value of the distribution function of a normal distribution with mean 0 and variance 1.
[0154]
A reference example of the present invention (claim 130 of the original application) includes a digital watermark embedding apparatus that embeds a digital watermark that is not perceived by human perception in a digital image, and a digital watermark detection apparatus that detects the digital watermark. A digital watermarking system,
The digital watermark embedding device
Embedding target component specifying means for generating embedding target component position information that is a sequence having the same length as the length of embedding the digital watermark from the key information for embedding;
Embedded sequence generation means for spreading the position marker information and the digital watermark into the embedded sequence using the key information;
Component value changing means for changing the component value of the watermark coefficient matrix whose initial value is a complex matrix of zero matrix using the embedding target component position information and the embedded sequence;
Discrete inverse Fourier transform means for performing a discrete inverse Fourier transform on the watermark coefficient matrix and generating a watermark pattern;
Watermark pattern adding means for emphasizing a watermark pattern with an intensity parameter and generating an embedded image obtained by adding the emphasized watermark pattern to an input image in a tile shape;
The digital watermark detection device
Detection target component designating means for generating detection target component position information from the key information;
A position marker sequence generating means for generating a position marker sequence from the key information;
A position marker detection unit that detects a position marker series and extracts offset information in which a start point of a watermark pattern at the time of embedding and a start point of a pixel block cut out from a detection target image match;
Digital watermark detection means for detecting a digital watermark embedded from the pixel block cut out based on the offset information.
[0155]
In a reference example (claim 131 of the original application) of the present invention, the digital watermark embedding apparatus is constituted by an integrated circuit.
[0156]
In a reference example (claim 132 of the original application) of the present invention, the digital watermark detection apparatus is configured by an integrated circuit.
[0157]
A reference example (claim 133 of the original application) of the present invention includes a digital watermark embedding device that embeds a digital watermark that is not perceived by human perception with respect to a digital image, and a digital watermark detection device that detects the digital watermark. A digital watermarking system,
The digital watermark embedding device
Embedding target component specifying means for generating embedding target component position information that is a sequence having the same length as the length of embedding the digital watermark from the key information for embedding;
Embedded sequence generation means for spreading the position marker information and the digital watermark into the embedded sequence using the key information;
Component value changing means for changing the component value of the watermark coefficient matrix whose initial value is a complex matrix of zero matrix using the embedding target component position information and the embedded sequence;
Discrete inverse Fourier transform means for performing a discrete inverse Fourier transform on the watermark coefficient matrix and generating a watermark pattern;
Watermark pattern adding means for emphasizing a watermark pattern with an intensity parameter and generating an embedded image obtained by adding the emphasized watermark pattern to an input image in a tile shape;
The digital watermark detection device
Detection target component designating means for generating detection target component position information from the key information;
A position marker sequence generating means for generating a position marker sequence from the key information;
Position marker detection means for detecting offset information indicating a deviation between the start point of the watermark pattern at the time of embedding and the start point of the pixel block cut out from the detection target image by the detected position marker detection information;
Digital watermark detection means for detecting a digital watermark embedded in the pixel block using the offset information.
[0158]
In a reference example (claim 134 of the original application) of the present invention, the digital watermark embedding apparatus is constituted by an integrated circuit.
[0159]
In a reference example (claim 135 of the original application) of the present invention, the digital watermark detection apparatus is constituted by an integrated circuit.
[0160]
Thereby, according to the present invention, the real number component and the imaginary number component of each coefficient value of the watermark coefficient matrix which is a complex matrix are independently changed from the key information and the digital watermark, and the watermark coefficient matrix after the change is subjected to discrete inverse Fourier transform. By doing so, it is possible to generate an embedded image by generating a watermark pattern and adding the watermark pattern to the original image in a tile shape.
[0161]
Further, according to the present invention, since the pattern reflecting the pattern of the original image is added at the time of embedding, the image quality can be further improved, that is, the relative tolerance can be further improved.
[0162]
Further, according to the present invention, at the time of detection, a block is cut out from an arbitrary position of the detection target image, and after the block is subjected to discrete Fourier transform to obtain a coefficient matrix, a component value sequence specified by key information is created. Then, the translation amount is searched by correlating the series obtained by multiplying each term of the component value sequence by the phase difference of the coefficient due to the translation amount and the sequence meaning the start point of the watermark pattern. The parallel movement amount when the maximum response value is output is the parallel movement amount from the start point of the watermark pattern to the start point of the cut out block, and the embedded electron is further embedded using this parallel movement amount. It becomes possible to detect a watermark.
[0163]
Furthermore, according to the present invention, it is not necessary to perform a discrete Fourier transform for each scan when searching for a parallel movement amount, and it is only necessary to perform a discrete Fourier transform once before the search. The detection processing time can be shortened as compared with the method of scanning by orthogonal transformation while shifting the coordinates.
[0164]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, several embodiments will be described as embodiments of the present invention with reference to the drawings.
[0165]
[First embodiment]
In the present embodiment, a first example in which watermark information is embedded will be described.
[0166]
FIG. 3 shows the configuration of the watermark embedding apparatus according to the first embodiment of the present invention.
[0167]
The digital watermark embedding apparatus 100 shown in the figure includes a watermark pattern adding unit 110, an embedded sequence generating unit 120, an embedding target component specifying unit 130, a component value changing unit 140, and a discrete inverse Fourier transform unit 150.
[0168]
The digital watermark embedding apparatus 100 receives an input image 101, an intensity parameter 102, a digital watermark 103, and key information 104 and finally outputs an embedded image 105.
[0169]
Next, an outline of the operation according to the above configuration will be described.
[0170]
FIG. 4 is a flowchart showing the operation of the watermark embedding apparatus according to the first embodiment of the present invention.
[0171]
Step 110) The information embedding device 100 that has received the input receives the input image 101, the strength parameter 102, the digital watermark 103, and the key information 104. First, the embedding target component designating unit 130 generates embedding target component position information 131 using the key information 104, and sends this to the component value changing unit 140.
[0172]
Step 120) Also, the embedded sequence generation unit 120 uses the key information 104 to diffuse the position marker sequence and the digital watermark 103 into the embedded sequence 121, and sends this to the component value changing unit 140.
[0173]
Step 140) The component value changing unit 140 changes the component value of the watermark coefficient matrix 141 which is a complex matrix of zero matrix.
[0174]
Step 150) The discrete inverse Fourier transform unit 150 creates a watermark pattern 151 by performing a discrete inverse Fourier transform on the watermark coefficient matrix 141.
[0175]
Step 160) The watermark pattern addition unit 110 emphasizes the watermark pattern 151 with the intensity parameter 102, outputs the embedded image 105 obtained by adding the watermark pattern 151 to the input image 101 in a tile shape, and ends the information embedding process. To do.
[0176]
First, the processing of the embedding target component specifying unit 130 in FIG. 3 will be described. FIG. 5 shows the configuration of the embedding target component designating unit according to the first embodiment of the present invention. The embedding target component designating unit 130 shown in the figure includes a random number generator 132 that generates the embedding target component position information 131 with the key information 104 as an input.
[0177]
FIG. 5 is a flowchart showing the operation of the embedding target component designating unit of the first exemplary embodiment of the present invention.
[0178]
Step 111) The embedding target component designating unit 130 receives the key information 104 and generates a random number sequence using the random number generator 132 and the key information 104 as an initial value.
[0179]
Step 112) The embedding target component designating unit 130 further generates embedding target component position information 131, which is a sequence having the same length as the length n of the embedding sequence described later, based on the generated random number sequence.
[0180]
The embedding target component position information 131 has the following configuration.
[0181]
Lk = (Xk , Yk , Zk (0 ≦ k <n)
xk : Embedding target coefficient x-order
yk : Embedding target coefficient y-order
zk : Flag indicating whether the embedding target coefficient is true (real or imaginary component)
The embedding target component designating unit 130 overlaps each of the terms of the embedding target component position information 131 (two terms Lk And Lm Are selected so that the above three components do not all match. In addition, in order to realize digital watermark noise addition and lossy compression resistance, band limitation is performed so that a coefficient is not selected from a high frequency band (for example,
[0182]
[Expression 1]
Figure 0003745729
(R is a filtering band)). Furthermore, the symmetry of the coefficient matrix necessary for the signal obtained by the discrete inverse Fourier transform to be a real value
F (u, v) = F* (Nu, Nv)
(Where F (u, v) is the sample value f (x, y) (Fourier transform of 0 ≦ x <N, 0 ≦ y <N))
(N is the vertical and horizontal size of the watermark coefficient matrix described later)
(* Represents complex conjugate)
In order to perform embedding while maintaining the above, it is necessary to consider that only the positive x-direction order or y-direction order of the embedding target sequence is selected. The embedding target component position information 131 is sent to the component value changing unit 140.
[0183]
Next, the configuration of the embedded sequence generation unit 120 in this embodiment will be described.
[0184]
FIG. 7 shows the configuration of the embedded sequence generation unit of the first embodiment of the present invention. The embedded sequence generation unit 120 includes a spread sequence generator 122 and receives the digital watermark 103 and the key information 104 as inputs. Basically, it is based on the direct spread method in the spread spectrum communication method. Specifically, the embedded sequence 121, which is a real number sequence of length n, is generated by the processing shown in FIG.
[0185]
FIG. 8 is a flowchart showing the operation of the embedded sequence generation unit according to the first embodiment of this invention.
[0186]
Step 121) Spreading of position marker: The spreading sequence generator 122 is assumed to be able to generate K types of sequences of length n, and each spreading sequence is represented by r.(k) , (0 ≦ k <K−1). As the spreading sequence, for example, an M-sequence or the like is used.
[0187]
The spreading sequence generator 122 uses the key information 104 as an initial value and the 0th length n spreading sequence {ri (0) } (0 ≦ i <n) is multiplied by a predetermined parameter weight α (≧ 1) to obtain a real value buffer {m of length n {mi } (0 ≦ i <n). This can be expressed as an expression:
mi : = Α ・ ri (0)       (0 ≦ i <n)
(: = Indicates that the value on the right side is assigned to the left side)
It becomes.
[0188]
Step 122) Conversion of Digital Watermark into Symbol Representation: The embedded sequence generation unit 120 converts the digital watermark 103 into a symbol representation. For example, assuming that the digital watermark is information consisting of four 8-bit characters, if each 8 bits is converted into a symbol, it can be converted into 4 symbols (the value of each symbol is 0 to 255, corresponding to the ASCII code of the character). . At this time, the number of symbols is selected to be smaller than K, and the maximum value that each symbol can take is smaller than n. The value of each symbol is sj (1 ≦ j ≦ J (<K)), sj The maximum value that can be taken is represented by M (≦ n). Step 123) Spreading of digital watermark: The embedded sequence generation unit 120 converts each symbol sj The spreading sequence corresponding to {mi }, The j-th process to be added will be described. The key information 104 contains a symbol value sj As an initial value, the spreading sequence generator 122 uses the j-th length n spreading sequence {ri (j) } (0 ≦ i <n) is generated.
[0189]
Next, the embedded sequence generation unit 120 uses {ri (j) } For each term {mi } Is added to each term. Expressed as a formula:
mi : = Mi + Ri (j)     (0 ≦ i <n)
This is repeated for 1 ≦ j ≦ J.
[0190]
Step 124) The embedded sequence generation unit 120 obtains {mi } So that the average value ofi }, The result of subtracting the average value from each term is output as an embedded sequence 121 and sent to the component value changing unit 140. Expressing the subtraction process as an expression:
[0191]
[Expression 2]
Figure 0003745729
mi : = Mi Ave (0 ≦ i <n).
[0192]
Next, operation | movement of the component value change part 140 of a present Example is demonstrated.
[0193]
The component value changing unit 140 receives the embedding target component position information 131 and the embedding sequence 121 as input, and generates a watermark coefficient matrix by the procedure shown in FIG.
[0194]
FIG. 9 is a flowchart of the operation of the component value changing unit according to the first embodiment of this invention.
[0195]
Step 131) The component value changing unit 140 prepares a watermark coefficient matrix F (u, v), which is a complex matrix of N × N size, and sets the initial value to a zero matrix.
[0196]
Step 141) The component value changing unit 140 sets L as the k-th embedding target component position information 131.k = (Xk , Yk , Zk ) To change the element of F (u, v).
[0197]
Step 142) zk When is a value representing a real component:
The component value changing unit 140 calculates F (xk , Yk Mk is added to the real component of). In addition, F (N−x so that the symmetry of the Fourier transform coefficient is maintained.k , N-yk ) Mk Add Expressed as an expression,
F (xk , Yk ): = F (xk , Yk ) + Mk
F (N−xk , N-yk ): = F (N−xk , N-yk ) + Mk
It becomes.
[0198]
Step 143) zk When is a value representing an imaginary component:
The component value changing unit 140 calculates F (xk , Yk ) Imaginary component of mk Add In addition, F (N−x so that the symmetry of the Fourier transform coefficient is maintained.k , N-yk ) From the imaginary component of mk Is subtracted. Expressed as a formula:
F (xk , Yk ): = F (xk , Yk ) + Mk ・ I
F (N−xk , N-yk ): = F (N−xk , N-yk ) + Mk ・ I
(I is an imaginary unit)
This is sequentially performed for k = 0... N-1.
[0199]
Next, the operation of the discrete inverse Fourier transform unit 150 in this embodiment will be described. FIG. 10 is a diagram for explaining the operation of the discrete inverse Fourier transform unit according to the first embodiment of the present invention.
[0200]
The discrete inverse Fourier transform unit 150 performs a discrete inverse Fourier transform on the watermark coefficient matrix 141 to obtain a watermark pattern 151 that is an N × N size real number matrix (truncates the imaginary number component), and supplies the watermark pattern 151 to the watermark pattern addition unit 110. send.
[0201]
Next, the operation of the watermark pattern adding unit 110 in this embodiment will be described.
[0202]
FIG. 11 is a diagram for explaining the operation of the watermark pattern adding unit according to the first embodiment of this invention.
[0203]
The watermark pattern adding unit 110 emphasizes the watermark pattern 151 with the value of the intensity parameter 102, adds the input pattern 101 to the input image 101 in a tile shape, and generates and outputs an embedded image 105. Expressed as a formula:
{Ixy}: Input image (0 ≦ x <Width, 0 ≦ y <Height)
(Width is the horizontal size of the input image, Height is the vertical size of the input image)
{Wij}: Watermark pattern (0 ≦ i, j <N)
            power: Strength parameter
When,
I ’xy: = Ixy+ Power ・ WX% N,y% N (0 ≦ x <Width, 0 ≦ y <Height)
(A% b represents the remainder when a is divided by b)
It depends on. The watermark pattern adding unit 110 {i ’xy} Is output as the embedded image 105. When the value of the intensity parameter 102 is 1, the watermark pattern is added without being emphasized. That is, this is equivalent to the case where the intensity parameter is not used.
[0204]
As described above, the operation of the digital watermark embedding apparatus according to this embodiment is completed.
[0205]
In the digital watermark embedding process using this embodiment, the N × N size two-dimensional discrete inverse Fourier transform is only performed once. In the conventional technique, it is necessary to perform the discrete Fourier transform having the size of N × N and the discrete inverse Fourier transform by the number of blocks when the image is divided into blocks of N × N pixels. For example, when the number of blocks is b, the ratio of the embedding processing amount between the first embodiment and the prior art is 1: 2b, and the embedding processing can be performed at high speed by using the first embodiment.
[0206]
[Second Embodiment]
Next, in this embodiment, a process for detecting a digital watermark embedded in the digital watermark embedding apparatus shown in the first embodiment from a detection target image will be described.
[0207]
FIG. 12 shows the configuration of a digital watermark detection apparatus according to the second embodiment of the present invention.
[0208]
The digital watermark detection apparatus 200 detects an embedded digital watermark from an image obtained by partially cutting an embedded image obtained by using the method of the first embodiment and performing processing such as lossy compression. It is a device for.
[0209]
The digital watermark detection apparatus 200 includes a detection target component designation unit 210, a position marker series generation unit 220, a position marker detection unit 230, and a digital watermark detection unit 240.
[0210]
FIG. 13 is a flowchart showing the operation of the digital watermark detection apparatus of the second embodiment of the present invention.
[0211]
Step 210) The digital watermark detection apparatus 200 receives the detection target image 201 and the key information 202 used at the time of embedding. First, the detection target component specifying unit 210 generates detection target component position information 211 from the key information by the same method as the embedding target component specifying unit 130 in the first embodiment described above, and this is used as the position marker detection unit 230. And sent to the digital watermark detection unit 240.
[0212]
Step 220) In the position marker series generation unit 220, a position marker series 221 is generated from the key information 202, and this is sent to the position marker detection unit 230.
[0213]
Step 230) The position marker detection unit 230 cuts out a pixel block of size N × N (N is the watermark pattern size in the first embodiment) from the detection target image 201, and the start point of the cut out pixel block The start point of the pixel block when it coincides with the start point of the watermark pattern at the time of embedding (position at the upper left of the pixel block) is output as offset information 231 and sent to the digital watermark detection unit 240.
[0214]
Step 240) The digital watermark detection unit 240 cuts out a pixel block of N × N size from the offset position specified by the detection target image 201, the key information 202, the detection target component position information 211, and the offset information 231, and puts it into this pixel block. The embedded digital watermark is detected and a detection result 203 is output.
[0215]
Next, the detection target component designation unit 210 in the present embodiment will be described.
[0216]
FIG. 14 shows the configuration of the detection target component designating unit according to the second embodiment of the present invention, and FIG. 15 is a flowchart showing the operation of the detection target component designating unit according to the second embodiment of the present invention.
[0217]
Step 211) The detection target component specifying unit 210 includes a random number generator 212, receives the key information 202, and generates a random number sequence using the key information 202 as an initial value by using the random number generator 212.
[0218]
Step 212) Based on the generated random number sequence, the detection target component position information 211 which is a sequence having the same length as the length n of the embedded sequence used in the first embodiment is generated.
[0219]
The detection target component position information 211 has the following configuration.
[0220]
Lk = (Xk , Yk , Zk (0 ≦ k <n)
xk : Detection target coefficient x degree
yk : Detection target coefficient y direction order
zk : Flag indicating whether the detection target coefficient is true (whether it is a real component or an imaginary component)
The detection target component designating unit 210 operates in exactly the same manner as the embedding target component designating unit 130 in the first embodiment described above. That is, with the same key information as an input, the embedding target component position information 131 generated by the embedding target component specifying unit 130 of the first embodiment and the detection target component generated by the detecting target component specifying unit 210 of this embodiment The position information 211 is exactly the same. The generated detection target component position information 211 is sent to the position marker detection unit 230.
[0221]
Next, the position marker series generation unit 220 in the present embodiment will be described.
[0222]
FIG. 16 shows the configuration of the position marker sequence generation unit of the second embodiment of the present invention, and FIG. 17 is a flowchart showing the operation of the position marker sequence generation unit of the second embodiment of the present invention.
[0223]
Step 221) The position marker sequence generation unit 220 has a spreading sequence generator 222, and receives the key information 202, and the spreading sequence generator 222 has the 0th length n with the key information 202 as an initial value. Spreading sequence {ri (0) } (0 ≦ i <n) is generated and the spread sequence is directly used as the position marker sequence 221 ({pi } (0 ≦ i <n) (pi : = Ri (0) (0 ≦ i <n)). This is sent to the position marker detection unit 230. The spreading sequence generator 222 in the position marker sequence generation unit 220 uses the same operation as the spreading sequence generator 122 in the embedded sequence generation unit 120 in the first embodiment described above.
[0224]
Next, the position marker detection unit 230 in the present embodiment will be described.
[0225]
FIG. 18 shows the configuration of the position marker detector of the second embodiment of the present invention.
[0226]
The position marker detection unit 230 shown in the figure includes an offset candidate information generation unit 232, a block generation unit 233, a discrete Fourier transform unit 234, a detection target sequence generation unit 235, a position marker detection information generation unit 236, and an offset information generation unit 237. Composed.
[0227]
FIG. 19 is a flowchart showing the operation of the position marker detector of the second embodiment of the present invention.
[0228]
Step 231) The position marker detection unit 230 receives the detection target image 201, the detection target component position information 211, and the position marker series 221 and inputs the offset candidate information 204 (a, b) first in the offset candidate information generation unit 232. Are sequentially generated from (0,0) to (N-1, N-1).
[0229]
Step 232) Hereinafter, the processing from the block generation unit 233 to the position marker detection information generation unit 236 is performed for each offset candidate information 204. FIG. 20 is a diagram for explaining the operation of the block generation unit according to the second embodiment of the present invention, and FIG. 21 is a flowchart of the operation of the block generation unit according to the second embodiment of the present invention. Hereinafter, the operation of the block generation unit 233 will be described with reference to FIGS.
[0230]
Step 232-1) The block generation unit 233 inputs the detection target image 201 and the offset candidate information 204.
[0231]
Step 232-2) A pixel block of N × N size is cut out from the position offset by the offset candidate information 204 (a, b) from the upper left of the detection target image 201.
[0232]
Step 232-3) The cut-out pixel block is sent to the discrete Fourier transform unit 234.
[0233]
Step 233) The discrete Fourier transform unit 234 performs discrete Fourier transform on the pixel block to generate the detection target coefficient matrix 206, and sends this to the detection target sequence generation unit 235.
[0234]
Step 234) In the detection target sequence generation unit 235, the detection target sequence 207 is obtained from the detection target component position information 211 and the detection target coefficient matrix 206 as follows. FIG. 22 is a flowchart illustrating the operation of the detection target sequence generation unit according to the second embodiment of this invention.
[0235]
Step 234-1) The detection target sequence generation unit 235 obtains the detection target component position information 211 as Lk (Xk , Yk , Zk ) (0 ≦ k <n), the detection target coefficient matrix 206 is F (u, v) (0 ≦ u <N, 0 ≦ v <N), and the detection target sequence 207 is {qk } (0 ≦ k <n), processing is performed according to the following branch.
[0236]
Step 234-2) zk When is a value representing a real component:
qk : = (Real component value of F (x 1, y 2))
And
[0237]
Step 234-3) zk When is a value representing an imaginary component:
qk : = (Imaginary component value of F (x 1, y 2))
And
[0238]
The processes of steps 234-2 and 234-3 are sequentially performed for k = 0... N-1.
[0239]
Step 234-4) Detection target sequence 207 {q obtained abovek } Is output.
[0240]
Step 235) Next, in the position marker detection information generation unit 236, a correlation value between the position marker series 221 and the detection target series 207 is obtained by the following expression, and this is combined with the offset candidate information 204 to obtain the position marker detection information 208corr.abOutput as. The position marker detection information 208 is obtained by the following equation.
[0241]
[Equation 3]
Figure 0003745729
The processing from the block generation unit 233 to the position marker detection information generation unit 236 is sequentially repeated while the offset candidate information (a, b) 204 circulates from (0, 0) to (N−1, N−1). All the position marker detection information 208 is sent to the offset information generation unit 237.
[0242]
Step 236) The offset information generation unit 237, when all the input position marker detection information 208 has the maximum correlation value between all the input position marker series 221 and the detection target series 207, the offset candidate information (a, b) is output as offset information 231 and sent to the digital watermark detection unit 240.
[0243]
The offset information 231 output from the position marker detection unit 230 represents how much the start point of the watermark pattern at the time of embedding is shifted from the upper left of the detection target image 201.
[0244]
Next, the digital watermark detection unit 240 in this embodiment will be described.
[0245]
FIG. 23 shows the configuration of the digital watermark detection unit of the second embodiment of the present invention. The digital watermark detection unit 240 shown in the figure includes a block generation unit 241, a discrete Fourier transform unit 242, a detection target sequence generation unit 243, a symbol detection unit 244, and a detection result generation unit 245.
[0246]
FIG. 24 is a flowchart showing the operation of the digital watermark detection unit of the second exemplary embodiment of the present invention.
[0247]
Step 241) The digital watermark detection unit 240 receives the detection target image 201, the detection target component position information 211, the offset information 231, and the key information 202 as inputs.
First, the N × N size pixel block is cut out from the position offset based on the offset information (a, b) from the upper left of the detection target image in the block generation unit 241 and sent to the discrete Fourier transform unit 242.
[0248]
Step 242) The discrete Fourier transform unit 242 performs discrete Fourier transform on the pixel block 205 to generate a detection target coefficient matrix 247, and sends this to the detection target sequence generation unit 243.
[0249]
Step 243) The detection target sequence generation unit 243 obtains the detection target sequence 248 by the same processing as the detection target sequence generation unit 235 in the position marker detection unit 230, and sends it to the symbol detection unit 244.
[0250]
Step 244) The symbol detection unit 244 obtains a correlation value between a sequence generated from the key information 202 and each symbol candidate information and the detection target sequence 248, and generates symbol detection information 249.
[0251]
Step 245) After obtaining all the symbol detection information 249, the detection result generation unit 245 sets, for each symbol position of the symbol detection information 249, the symbol candidate value when the correlation value is the maximum as the detected symbol.
[0252]
Step 246) After determining the detection symbols from all the symbol positions, the detection result generation unit 245 outputs the detection result 203 as a result of inversely converting the detection symbols into a digital watermark format.
[0253]
Next, the symbol detection unit 244 of the digital watermark detection unit 240 will be described. FIG. 25 shows the configuration of the symbol detector of the second embodiment of the present invention.
[0254]
The symbol detection unit 244 shown in the figure includes a symbol candidate generation unit 2441, a symbol sequence generation unit 2442, and a symbol detection information generation unit 2443, which are set in advance with the key information 202 and the detection target sequence 248 as inputs. Symbol detection information 249 for M symbol candidates is generated for each symbol position of J symbols to be detected and output to the detection result generation unit 245. The j (1 ≦ j ≦ J) th symbol detection will be described below.
[0255]
FIG. 26 is a flowchart showing the operation of the symbol detection unit of the second exemplary embodiment of the present invention.
[0256]
Step 244-1) The symbol candidate generation unit 2441 of the symbol detection unit 244 sequentially generates the symbol candidate c from 0 to M-1, and performs the processing from step 244-2 to step 244-3 for each symbol candidate. Do. M represents the maximum value of the symbol value by the symbol conversion in the first embodiment described above.
[0257]
Step 244-2) The processing performed by the symbol series generation unit 2442 will be described. FIG. 27 shows the configuration of the symbol sequence generation unit of the second embodiment of the present invention, and FIG. 28 is a flowchart showing the operation of the symbol sequence generation unit of the second embodiment of the present invention.
[0258]
Step 244-2) The symbol sequence generation unit 2442 receives the key information 202 and the symbol candidate c 2444 as input, sets a value obtained by adding c and the key information 202 as an initial value, and uses the spreading sequence generator 2447 to generate the jth length. n spreading sequences {ri (j) } (0 ≦ i <n) is generated and is directly used as a symbol sequence 2445 {pi (j) } (0 ≦ i <n) (pi j): = Ri (j) (0 ≦ i <n)). The symbol series is sent to the symbol detection information generation unit 2443.
[0259]
Step 244-3) The symbol detection information generating unit 2443 receives the detection target sequence 248, the symbol sequence 2445, the symbol candidate c2444, and the currently processed symbol position j, and correlates the symbol sequence and the detection target sequence 248 according to the following formula. The symbol detection information corr is obtained by determining the value and combining the correlation value, the symbol candidate, and the symbol position.c (j) 249 is generated.
[0260]
[Expression 4]
Figure 0003745729
The symbol detection information 249 is sent to the detection result generation unit 245.
[0261]
Next, the detection result generation unit 245 of the present embodiment will be described.
[0262]
FIG. 29 shows the configuration of the detection result generation unit of the second exemplary embodiment of the present invention. The detection result generation unit 245 shown in the figure includes a series generation unit 2451 for each symbol position, a detection symbol generation unit 2452, and an inverse symbol conversion unit 2453.
[0263]
FIG. 30 is a flowchart showing the operation of the detection result generation unit of the second exemplary embodiment of the present invention.
[0264]
Step 245-1) The detection result generation unit 245 receives the symbol detection information 249 as an input. First, each symbol position series generation unit 2451 divides the symbol detection information 249 into each symbol position j, and each length M Series corr for each symbol positionc (j) , (0 ≦ c <M) 2454 is generated for each j from j = 1 to J and sent to the detected symbol generation unit 2452.
[0265]
Step 245-2) The detected symbol generation unit 2452 receives each symbol position series 2454 as an input, and finds the symbol candidate c when obtaining the maximum correlation value in each symbol position series 2454 for each symbol position j. Detection symbol sj (1 ≦ j <J) 2455 is generated.
[0266]
Step 245-3) All sj , The inverse symbol conversion unit 2453 converts the symbol expression into the original digital watermark expression (for example, the inverse conversion corresponding to the conversion in the first embodiment includes four detected symbols (the value of each detected symbol). Is a process of converting each of the values 0 to 255) as ASCII codes and converting them into four 8-bit characters), and generates and outputs a detection result 203. This detection result 203 represents a digital watermark embedded in the detection target image 201. With the above processing, the processing of the digital watermark detection apparatus in the second embodiment is completed.
[0267]
In the digital watermark detection process according to the second embodiment described above, the block pixels are shifted from the detection target image, and the detection target sequence is obtained by performing discrete Fourier transform, and the correlation between the detection target sequence and the position marker sequence is calculated. By finding the peak, it is found how much the start point of the watermark pattern at the time of embedding is offset from the upper left of the detection target image. Thus, even when the detection target image is a partial image (size is 2N × 2N or more) obtained by cutting out the embedded image in the first embodiment from an arbitrary position, the position of the watermark pattern can be found correctly. If the offset amount is found, the embedded digital watermark can be correctly detected by detecting the digital watermark from the pixel block starting from that position.
[0268]
In the digital watermark detection process according to the second embodiment, the original image (the input image of the first embodiment) is not necessary. As described above, the digital watermark detection according to the second embodiment can detect a digital watermark from an image obtained by cutting out an embedded image from an arbitrary position, which was impossible with the prior art, without an original image. It becomes possible.
[0269]
[Third embodiment]
Next, as a third embodiment of the present invention, an example will be described in which the extracted pixel block is cyclically shifted by offset information in the above-described second embodiment.
[0270]
In the following description of the present embodiment, parts other than those described below are the same as those of the second embodiment described above.
[0271]
First, the operation of the block generation unit 233 in the position marker detection unit 230 in this embodiment will be described. The configuration is the same as the configuration shown in FIG.
[0272]
FIG. 31 is a flowchart showing the operation of the block generation unit of the third exemplary embodiment of the present invention.
[0273]
Step 301) The block generation unit 233 of the position marker detection unit 230 receives the detection target image 201 and the offset candidate information 204.
[0274]
Step 302) First, the block generation unit 233 cuts out an N × N size block from the upper left of the detection target image 201 as shown in FIG.
[0275]
Step 303) Next, the block generation unit 233 performs a cyclic shift of this block on the basis of the offset candidate information 204 (the portion protruding from the block due to the parallel movement is moved toward the opposite side) to obtain a pixel. Block 205 is obtained.
[0276]
Step 304) The obtained pixel block 205 is output.
[0277]
This pixel block is expressed by an equation:
{Bij}: If a block obtained by cutting out an N × N size from the upper left of the detection target image 201, a pixel block obtained by cyclic shift using offset candidate information (a, b) is:
B ’ij= B(i + a)% N, (j + b)% N
(0 ≦ i <N, 0 ≦ j <N, x% y represents a remainder obtained by dividing x by y)
{B ’ij} Is output as a pixel block.
[0278]
Next, the operation of the block generation unit 241 in the digital watermark detection unit 240 in the third embodiment will be described below.
[0279]
The block generation unit 241 in the digital watermark detection unit 240 in this embodiment receives the detection target image 201 and the offset information 231 as input, and similarly to the block generation unit 233 in the position marker detection unit 230 (offset information is used as offset candidate information). And output a pixel block using cyclic shift.
[0280]
In the case of the digital watermark detection process using the present embodiment, the size required for the detection target image is 2N × 2N or more to N × N or more compared to the second embodiment, and the detection target image is smaller. Can be detected.
[0281]
[Fourth embodiment]
Next, in a fourth embodiment of the present invention, an example of clipping a pixel block when a detection target image is N × N size or larger or smaller than N × N size when detecting a digital watermark will be described.
[0282]
First, the block generation unit 233 of the position marker detection unit 230 will be described. The portions other than those described below are the same as those in the second and third embodiments described above.
[0283]
FIG. 33 is a diagram for explaining the operation of the block generation unit according to the fourth embodiment of the present invention, and FIG. 34 illustrates the operation of the block generation unit of the position marker detection unit according to the fourth embodiment of the present invention. It is a flowchart which shows.
[0284]
Step 401) The detection target image 201 and the offset candidate information 204 are input to the block generation unit 233 of the position marker detection unit 230 in the present embodiment.
Step 402) The block generation unit 233 determines whether or not the detection target image 201 has an N × N size or more. If so, the process proceeds to step 403. If not, the process proceeds to step 404.
[0285]
Step 403) The block generation unit 233 cuts out an N × N size block from the upper left of the detection target image.
[0286]
Step 404) When the detection target image 201 is small and cannot be cut out to the N × N size, the block generation unit 233 cuts out only the portion corresponding to the detection target image (FIG. 33A) included when trying to cut out the N × N size. , N × N size insufficiency is filled with an average value of pixel values corresponding to the detection target image.
[0287]
Step 405) The block generation unit 233 cyclically shifts the block obtained by the above processing in the same manner as in the third embodiment to obtain a pixel block.
[0288]
Step 406) The block generation unit 233 outputs the obtained pixel block 205.
[0289]
The operation of the block generation unit 241 in the digital watermark detection unit 240 will be described below.
[0290]
The block generation unit 241 of the digital watermark detection unit 240 in the third embodiment described above receives the detection target image 201 and the offset information 231 and performs the same processing as the block generation unit 233 of the position marker detection unit 230 (offset information). Is input as offset candidate information) and a pixel block 246 is obtained and output.
[0291]
In the case of the digital watermark detection process using the present embodiment, the size required for the detection target image becomes an arbitrary size from N × N or more compared to the third embodiment, and detection from a smaller detection target image is possible. It becomes possible.
[0292]
[Fifth embodiment]
Next, a fifth embodiment of the present invention will be described. The parts other than those described below are the same as those of the second embodiment.
[0293]
In this embodiment, a digital watermark detection unit will be described.
[0294]
FIG. 35 shows the configuration of the digital watermark detection unit of the fifth exemplary embodiment of the present invention.
[0295]
The digital watermark detection unit 500 shown in the figure includes a block division unit 510, a discrete Fourier transform unit 520, a detection target sequence generation unit 530, a symbol detection unit 540, and a detection result generation unit 550.
[0296]
FIG. 36 is a flowchart showing the operation of the digital watermark detection unit of the fifth exemplary embodiment of the present invention.
[0297]
Step 510) The digital watermark detection unit 500 receives the detection target image 201, the detection target component position information 211, the offset information 231, and the key information 202. First, the block division unit 510 displays the detection target image 201 in FIG. As shown, the pixel block 511 obtained by the division is numbered from 0 to T-1 by dividing the pixel block 511 into N × N size blocks from the position offset by the offset information (a, b) 231 from the upper left. .
[0298]
The following processing is performed for the t (0 ≦ t <T) th pixel block 511.
[0299]
Step 520) The discrete Fourier transform unit 520 performs a discrete Fourier transform on the t-th pixel block 511 to obtain a detection target coefficient matrix 521.
[0300]
Step 530) The detection target sequence generation unit 530 generates the detection target sequence 531 from the detection target component position information 211 and the detection target coefficient matrix 521.
[0301]
Step 540) The symbol detection unit 540 generates the symbol detection information 546 by obtaining the correlation value between the sequence generated from the key information 202 and each symbol candidate information and the detection target sequence 531.
[0302]
Step 550) After obtaining the symbol detection information 546 for all t, the detection result generation unit 550 sets the symbol candidate value when the correlation value is maximum for each symbol position of the symbol detection information 546 as a detected symbol.
[0303]
Step 560) The detection result generation unit 550 determines a detection symbol from all the symbol positions, and then outputs the detection symbol 203 as a detection result 203 obtained by inversely converting the detection symbol into a digital watermark format.
[0304]
Next, the symbol detector 540 in the present embodiment will be described.
[0305]
FIG. 38 shows the configuration of the symbol detection unit of the fifth exemplary embodiment of the present invention. The symbol detection unit 540 shown in the figure includes a symbol candidate generation unit 541, a symbol series generation unit 542, and a symbol detection information generation unit 543. The symbol detection unit 540 includes the key information 202 and (obtained from the t-th pixel block). The symbol detection information 546 for the M symbol candidates 544 is generated for each symbol position of the number of symbols to be detected, which is set in advance, and the detection target sequence 531 is input to the detection result generation unit 550. Output. The j (1 ≦ j ≦ J) th symbol detection will be described below.
[0306]
FIG. 39 is a flowchart showing the operation of the symbol detection unit of the fifth exemplary embodiment of the present invention.
[0307]
Step 551) The symbol candidate generation unit 541 sequentially generates the symbol candidate c from 0 to M−1, and performs the following steps 552 to 553 for each symbol candidate. M represents the maximum value of the symbol value by the symbol conversion in the first embodiment described above.
[0308]
Step 552) The symbol sequence generation unit 542 will be described. FIG. 40 shows the configuration of the symbol sequence generation unit according to the fifth embodiment of the present invention, and FIG. 41 is a flowchart showing the operation of the symbol sequence generation unit according to the fifth embodiment of the present invention.
[0309]
Step 552-1) The symbol sequence generation unit 542 receives the key information 202 and the symbol information c, uses the value obtained by adding c and the key information 202 as an initial value, and sets the j-th length n in the spread sequence generator 5421. Spreading sequence {ri (j) } (0 ≦ i <n) is generated and is directly used as a symbol sequence 545 {pi (j) } (0 ≦ i <n) (pi (j) : = Ri (j) (0 ≦ i <n)). The symbol series 545 is sent to the symbol detection information generation unit 543.
[0310]
Step 553) The symbol detection information generation unit 543 receives the detection target sequence 531, the symbol sequence 545, the symbol candidate c, and the symbol position j currently being processed, and inputs the correlation between the symbol sequence 545 and the detection target sequence 531 using the following equation. The symbol detection information corr is obtained by determining the value and combining the correlation value, symbol candidate, symbol position, and pixel block position.c (j) (t)546 is generated.
[0311]
[Equation 5]
Figure 0003745729
The symbol detection information 546 is sent to the detection result generation unit 550.
[0312]
Next, the detection result generation unit 550 of the present embodiment will be described.
[0313]
FIG. 42 shows the configuration of the detection result generation unit of the fifth exemplary embodiment of the present invention. The detection result generation unit 550 shown in the figure includes a series generation unit 551 for each symbol position, a detection symbol generation unit 552, and an inverse symbol conversion unit 553.
[0314]
FIG. 43 is a flowchart showing the operation of the detection result generation unit of the fifth exemplary embodiment of the present invention.
[0315]
Step 561) The detection result generation unit 550 receives the symbol detection information 546 as an input, and acquires a symbol as a detection result 556 (digital watermark). First, each symbol position series generation unit 551 divides the symbol detection information 546 into each symbol position j, and each symbol position series corr of length M × T.c (j) (t), (0 ≦ c <M, 0 ≦ t <T) 554 is generated for each j from j = 1 to J and sent to the detected symbol generation unit 552.
[0316]
Step 562) The detected symbol generation unit 552 receives each symbol position series 554 as an input, finds a symbol candidate c when obtaining the maximum correlation value in each symbol position series 554 for each symbol position j, and detects a detected symbol. sj (1 ≦ j <J) is generated.
[0317]
Step 563) All sj , The inverse symbol conversion unit 553 converts the symbol expression into the original digital watermark expression (for example, the inverse conversion corresponding to the conversion in the first embodiment includes four detected symbols (the value of each detected symbol). Is a process of converting each value from 0 to 255 into an ASCII code and converting it into four 8-bit characters), and generates and outputs a detection result 203.
[0318]
The detection result 203 represents a digital watermark embedded in the detection target image.
[0319]
In the digital watermark detection process according to the present embodiment, the detection target image (size of 2N × 2N or more) 201 is divided into blocks, and the symbol when the maximum correlation value is obtained among all the blocks is detected. Compared to the second embodiment (detecting only from one block), detection with higher accuracy is possible.
[0320]
[Sixth embodiment]
Next, a digital watermark detection unit will be described as a sixth embodiment of the present invention. The parts other than those described below are the same as in the third embodiment.
[0321]
FIG. 44 shows the configuration of the digital watermark detection unit of the sixth embodiment of the present invention. The digital watermark detection unit 600 shown in the figure includes a block division unit 610, a discrete Fourier transform unit 620, a detection target sequence generation unit 630, a symbol detection unit 640, and a detection result generation unit 650.
[0322]
FIG. 45 is a flowchart showing the operation of the digital watermark detection unit of the sixth exemplary embodiment of the present invention.
[0323]
Step 610) The digital watermark detection unit 600 receives the detection target image 201, the detection target component position information 211, the offset information 231, and the key information 202, and outputs the digital watermark as the detection result 203. First, the block dividing unit 610 divides the detection target image 201 into N × N size blocks from the upper left as shown in FIG. 46, and performs offset information (like the block generation unit 233 of the position marker detection unit 230). a, b) T N × N pixel blocks obtained by cyclic shifting each block using 231 are generated. Further, the block dividing unit 610 assigns numbers 0 to T-1 to the pixel blocks obtained by the division. The process from step 620 to step 640 is repeated for the t (0 ≦ t <T) -th pixel block 601.
[0324]
Step 620) The discrete Fourier transform unit 620 performs discrete Fourier transform on the t-th pixel block 601 to obtain a detection target coefficient matrix 602.
[0325]
Step 630) The detection target sequence generation unit 630 obtains the detection target sequence 603 by the same processing as the detection target sequence generation unit 235 of the position marker detection unit 230, and sends it to the symbol detection unit 640.
[0326]
Step 640) The symbol detection unit 640 generates a symbol detection information 604 by obtaining a correlation value between a sequence generated from the key information 202 and each symbol candidate information and the detection target sequence 603. The processes after step 620 are repeated up to the T-th pixel block 601.
[0327]
Step 650) After obtaining the symbol detection information 604 for all the t pixel blocks 601, the detection result generation unit 650 detects the symbol candidate value when the correlation value is maximum for each symbol position of the symbol detection information 604 as a detected symbol. And Step 660) The detection result generation unit 650 determines a detection symbol from all the symbol positions, and then outputs the detection result 203 as a detection result 203 by inversely converting the detection symbol into a digital watermark format.
[0328]
Next, the symbol detector 640 in the present embodiment will be described.
[0329]
FIG. 47 shows the configuration of the symbol detection unit of the sixth exemplary embodiment of the present invention. The symbol detection unit 640 shown in the figure includes a symbol candidate generation unit 641, a symbol series generation unit 643, and a symbol detection information generation unit 645.
[0330]
The symbol detection unit 640 receives the key information 202 and the detection target sequence 603 (obtained from the t-th pixel block) and outputs symbol detection information 646. Symbol detection information 604 for M symbol candidates 642 is generated for each preset symbol position of the number J of symbols to be detected, and output to the detection result generation unit 650. The j (1 ≦ j <J) th symbol detection will be described below.
[0331]
FIG. 48 is a flowchart showing the operation of the symbol detection unit of the sixth exemplary embodiment of the present invention.
[0332]
Step 641) The symbol candidate generation unit 641 sequentially generates symbol candidates c from 0 to M−1, and performs the processing from Step 642 to Step 643 for each symbol candidate 642. M represents the maximum value of the symbol value by the symbol conversion in the first embodiment described above.
[0333]
Step 642) The configuration of the symbol series generation unit 643 is shown in FIG. 49, and the operation thereof is shown in FIG.
[0334]
Step 642-1) The symbol sequence generation unit 643 receives the key information 202 and the symbol candidate c642, uses the value obtained by adding c and the key information 202 as an initial value, and the spreading sequence generator 6431 sets the j-th length n. Spreading sequence {ri (j) } (0 ≦ i <n) is generated and is directly used as a symbol sequence 644 {pi (j) } (0 ≦ i <n) (pi (j) : = Ri (j) (0 ≦ i <n)). The symbol series 644 is sent to the symbol detection information generation unit 645.
[0335]
Step 643) The symbol detection information generation unit 645 receives the detection target sequence 603, the symbol sequence 644, the symbol candidate c, and the symbol position j currently being processed, and inputs the correlation value between the symbol sequence 644 and the detection target sequence 603 according to the following equation. The symbol detection information corr is obtained by combining the correlation value, the symbol candidate, the symbol position, and the pixel block position.c (j) (t)604 is generated.
[0336]
[Formula 6]
Figure 0003745729
The symbol detection information 604 is sent to the detection result generation unit 650.
[0337]
Next, the detection result generation unit 650 in the present embodiment will be described.
[0338]
FIG. 51 shows the configuration of the detection result generation unit of the sixth exemplary embodiment of the present invention. The detection result generation unit 650 shown in the figure includes a series generation unit 651 for each symbol position, a detection symbol generation unit 653, and an inverse symbol conversion unit 655.
[0339]
FIG. 52 is a flowchart showing the operation of the detection result generation unit of the sixth exemplary embodiment of the present invention.
[0340]
Step 651) The detection result generation unit 650 receives the symbol detection information 604 as an input. First, each symbol position series generation unit 651 divides the symbol detection information 604 into each symbol position j, and each length M × T Series corr for each symbol positionc (j) (t)(0 ≦ c <M, 0 ≦ t <T) 652 is generated for each j from j = 1 to J, and is sent to the detected symbol generation unit 653.
[0341]
Step 652) The detection symbol generation unit 653 receives the symbol position series 652 as an input, and finds and detects the symbol candidate c when the maximum correlation value is taken in each symbol position series 652 for each symbol position j. Symbolj (1 ≦ j <J) 654 is generated. Allj The above process is repeated until.
[0342]
Step 653) All detected symbols sj In the inverse symbol conversion unit 655, the symbol expression is converted into the original digital watermark expression (for example, the inverse conversion corresponding to the conversion in the first embodiment is four detection symbols (the value of each detection symbol). Is a process of converting each value from 0 to 255) into an ASCII code of 4 characters, and generating a detection result 203 and outputting it. The detection result 203 represents a digital watermark embedded in the detection target image.
[0343]
In the digital watermark detection process according to the present embodiment, the minimum size of the detection target image is (N × N, and detection is possible from a partial image smaller than the fifth embodiment, and the number of blocks used for detection is the fifth. Since the number is larger than that of the embodiment, detection with higher accuracy is possible as compared with the fifth embodiment.
[0344]
In addition, more accurate detection is possible as compared to the third embodiment (which can be detected only from one block).
[0345]
[Seventh embodiment]
A digital watermark detection unit will be described as a seventh embodiment of the present invention. The parts other than those described below are the same as in the fourth embodiment.
[0346]
FIG. 53 shows the configuration of the digital watermark detection unit of the seventh exemplary embodiment of the present invention. The digital watermark detection unit 700 shown in the figure includes a block division unit 710, a discrete Fourier transform unit 720, a detection target sequence generation unit 730, a symbol detection unit 740, and a detection result generation unit 750.
[0347]
FIG. 54 is a flowchart showing the operation of the digital watermark detection unit of the seventh exemplary embodiment of the present invention.
[0348]
Step 710) The digital watermark detection unit 700 receives the detection target image 201, the detection target component position information 211, the offset information 231 and the key information 202 as input, and the block division unit 710 first converts the detection target image 201 into FIG. As shown, it is obtained by dividing the blocks into N × N size blocks from the upper left and cyclically shifting each block using the offset information (a, b) in the same manner as the block generation unit 233 of the position marker detection unit 230. T pixel blocks of N × N size are generated. At this time, for the block that cannot be cut out to the N × N size around the edge of the detection target image 201, only the portion corresponding to the detection target image included when cutting out at the N × N is cut out, and the N × N size is sufficient. For the non-existing portion, a cyclic shift is performed after a process of obtaining an average value of pixel values corresponding to the detection target image and filling it with this. The block division unit 710 assigns numbers 0 to T-1 to the pixel blocks obtained by the division. The following steps 720 to 740 are repeated for the t (0 ≦ t <T) -th pixel block 701.
[0349]
Step 720) The discrete Fourier transform unit 720 performs a discrete Fourier transform on the t-th pixel block to obtain a detection target coefficient matrix 702.
[0350]
Step 730) The detection target sequence generation unit 730 obtains the detection target sequence 703 by the same processing as the detection target sequence generation unit 235 of the position marker detection unit 230, and sends it to the symbol detection unit 740.
[0351]
Step 740) The symbol detection unit 740 obtains a correlation value between a sequence generated from the key information 202 and each symbol candidate information and the detection target sequence 703, and generates symbol detection information 704.
[0352]
Step 750) After obtaining the symbol detection information 704 for all t, the detection result generation unit 750 sets the symbol candidate value when the correlation value is maximum for each symbol position of the symbol detection information 704 as a detected symbol.
[0353]
Step 760) After determining the detection symbols from all the symbol positions, the detection result generation unit 750 outputs the detection result 203 as a result of inversely converting the detection symbols into a digital watermark format.
[0354]
Next, the symbol detection unit 740 in the present embodiment will be described.
[0355]
FIG. 56 shows the configuration of the symbol detection unit of the seventh exemplary embodiment of the present invention. The symbol detection unit 740 shown in the figure includes a symbol candidate generation unit 741, a symbol series generation unit 743, and a symbol detection information generation unit 745.
[0356]
The symbol detection unit 740 receives the key information 202 and the detection target sequence 703 (obtained from the t-th pixel block) as inputs, and sets M symbols for each symbol position where the number of symbols to be detected is j. Symbol detection information 704 for the symbol candidate 742 is generated and output to the detection result generation unit 750.
[0357]
The j (1 ≦ j ≦ J) th symbol detection will be described below.
[0358]
FIG. 57 is a flowchart showing the operation of the symbol detection unit of the seventh exemplary embodiment of the present invention.
[0359]
Step 741) The symbol candidate generation unit 741 sequentially generates symbol candidates c from 0 to M−1, and performs the processing from step 742 to step 743 for each symbol candidate. M represents the maximum symbol value in the first embodiment described above.
[0360]
Step 742) The configuration and operation of the symbol series generation unit 743 will be described. FIG. 58 shows the configuration of the symbol sequence generation unit according to the seventh embodiment of the present invention, and FIG. 59 is a flowchart showing the operation of the symbol sequence generation unit according to the seventh embodiment of the present invention.
[0361]
Step 742-1) The symbol sequence generation unit 743 receives the key information 202 and the symbol candidate c, inputs a value obtained by adding c and the key information 202 as an initial value, and the spreading sequence generator 7431 uses the jth length n. Spreading sequence {ri (j) } (0 ≦ i <n) is generated and is directly used as a symbol sequence 744 {pi (j) } (0 ≦ i <n) (pi (j) : = Ri (j) (0 ≦ i <n)). The symbol series 744 is sent to the symbol detection information generation unit 745.
[0362]
Step 743) The symbol detection information generation unit 745 receives the detection target sequence 703, the symbol sequence 744, the symbol candidate c, and the symbol position j currently being processed, and inputs the correlation value between the symbol sequence 744 and the detection target sequence 703 according to the following equation. The symbol detection information corr is obtained by combining the correlation value, the symbol candidate, the symbol position, and the pixel block position.c (j) (t)746 is generated.
[0363]
[Expression 7]
Figure 0003745729
The symbol detection information 746 is sent to the detection result generation unit 750.
[0364]
Next, the detection result generation unit 750 in the present embodiment will be described.
[0365]
FIG. 60 shows the configuration of the detection result generation unit of the seventh exemplary embodiment of the present invention. The detection result generation unit 750 shown in the figure includes a series generation unit 751 for each symbol position, a detection symbol generation unit 753, and an inverse symbol conversion unit 755.
[0366]
FIG. 61 is a flowchart of the operation of the detection result generation unit of the seventh exemplary embodiment of the present invention.
[0367]
Step 751) The detection result generation unit 750 receives the symbol detection information 704 as an input. First, each symbol position series generation unit 751 divides the symbol detection information 704 into each symbol position j, and each length M × T Each symbol position series corrc(j) (t), (0 ≦ c <M, 0 ≦ t <T) 752 is generated for each j from j = 1 to J and sent to the detected symbol generation unit 753.
[0368]
Step 752) The detection symbol generation unit 753 receives the symbol position series 752 as an input, finds a symbol candidate c when obtaining the maximum correlation value in the symbol position series 752 for each symbol position j, and detects the detected symbol. sj (1 ≦ j ≦ J) 754 is generated. Steps 751 and 752 are processed for all sj Repeat until you ask.
[0369]
Step 753) All sj , The inverse symbol conversion unit 755 converts the symbol expression into the original digital watermark expression (for example, the inverse conversion corresponding to the conversion in the first embodiment includes four detected symbols (each detected symbol Is a process of converting each of the values 0 to 255) into four 8-bit characters by regarding each value as an ASCII code), and generating and outputting a detection result 203.
[0370]
The detection result 203 represents a digital watermark embedded in the detection target image.
[0371]
In the digital watermark detection processing in this embodiment, there is no restriction on the minimum size of the detection target image, so that detection from a partial image smaller than that in the sixth embodiment is possible, and the number of blocks used for detection is small. Since the number is larger than that of the sixth embodiment, detection with higher accuracy than that of the sixth embodiment is possible. In addition, it is possible to detect with higher accuracy than in the fourth embodiment (detecting only from one block).
[0372]
[Eighth embodiment]
Next, as an eighth embodiment of the present invention, a position marker detection unit that divides a detection target image into blocks based on offset information and outputs an addition block obtained by adding pixel values of the pixel block as a pixel block will be described. . Portions other than those described below are the same as in the second embodiment described above.
[0373]
FIG. 62 shows the configuration of the block generator of the position marker detector of the eighth embodiment of the present invention.
[0374]
The block generation unit 800 of the position marker detection unit 230 includes a block division unit 810 and a block addition unit 820.
[0375]
FIG. 63 is a flowchart showing the operation of the block generator of the position marker detector of the eighth embodiment of the present invention.
[0376]
Step 810) The block generation unit 800 receives the detection target image 201 and the offset candidate information 204 as input, and in the block division unit 810, as shown in FIG. 64, the offset candidate information 204 (a, b) from the upper left of the detection target image 201. ) And divided into T N × N pixel blocks.
[0377]
Step 820) Next, the block adder 820 adds all these blocks to generate an addition block 802. Expressed as a formula:
Bij (t) : T-th block (0 ≦ i <N, 0 ≦ j <N, 0 ≦ t <T)
, Adder block Aij(0 ≦ i <N, 0 ≦ j <N) is
[0378]
[Equation 8]
Figure 0003745729
Obtained by.
[0379]
Step 830) The block generation unit 800 outputs the addition block 802 as the pixel block 803 to the discrete Fourier transform unit 234.
[0380]
Next, the block generation unit 241 of the digital watermark detection unit 240 in this embodiment will be described with reference to FIG.
[0381]
The block generation unit 241 of the digital watermark detection unit 240 in this embodiment receives the detection target image 201 and the offset information 231 as input, and similarly to the block generation unit 233 of the position marker detection unit 230 (offset information is used as offset candidate information). Input), the detection target image is divided into T N × N blocks from a position shifted by offset information (a, b). Next, in the block generation unit 241, all these blocks are added to generate an addition block. This addition block is output to the discrete Fourier transform unit 242 as a pixel block 246.
[0382]
In the digital watermark detection process in this embodiment, the detection target image (2N × 2N size or larger) is divided into N × N size blocks, and the position marker and the digital watermark are detected from the block obtained by adding all the blocks. .
[0383]
By adding T blocks, a watermark pattern, which is an N × N repetitive pattern, is emphasized by a factor of T, but the pattern of the original image is gradually canceled by addition because the correlation between the blocks is low. That is, the influence of the original image is reduced by the detection from the addition block, and the watermark pattern is enhanced at the same time, so that the detection can be performed with higher accuracy than the second embodiment.
[0384]
Further, the processing amount accompanying the detection increases by the amount of generation of the addition block as compared with the second embodiment, but this processing amount is negligibly small when compared with the processing amount of other parts of the detection processing. In addition, as compared with the case of detecting from one block at a time as in the fifth embodiment, processing can be performed at a high speed by the number of blocks.
[0385]
[Ninth Embodiment]
Next, as a ninth embodiment of the present invention, a detection target image is divided into blocks, and a block obtained by adding the pixel values of the divided blocks is defined as an addition block. A position marker detection unit and a digital watermark detection unit that perform a process of generating a pixel block by clicking-shifting will be described. The parts other than those described below are the same as in the third embodiment.
[0386]
FIG. 65 shows the configuration of the block generator of the position marker detector of the ninth embodiment of the present invention. The block generation unit 900 shown in the figure includes a block division unit 910, a block addition unit 920, and a cyclic shift unit 930.
[0387]
FIG. 66 is a flowchart showing the operation of the block generator of the position marker detector of the ninth embodiment of the present invention.
[0388]
Step 910) The block generation unit 900 receives the detection target image 201 and the offset candidate information 204 as input, and in the block division unit 910, a block of N × N pixels from the upper left of the detection target image 201 as shown in FIG. Divide into pieces.
[0389]
Step 920) Next, the block adder 920 adds all these blocks to generate an addition block 902. Expressed as a formula:
Bij (t) : T-th block (0 ≦ i <N, 0 ≦ j <N, 0 ≦ t <T)
, Adder block Aij(0 ≦ i <N, 0 ≦ j <N) 902 is
[0390]
[Equation 9]
Figure 0003745729
Obtained by.
[0390]
Next, the operation of the cyclic shift unit 930 of the block generation unit 900 of the position marker detection unit 230 (FIG. 18) in the present embodiment will be described.
[0392]
FIG. 68 is a diagram for explaining the operation of the cyclic shift unit according to the ninth embodiment of the present invention.
[0393]
As shown in the figure, the cyclic shift unit 930 cyclically shifts the addition block 902 based on the offset candidate information 204 to generate a pixel block 246, which is output to the discrete Fourier transform unit 234. Expressed as a formula:
Aij  : Addition block (0 ≦ i <N, 0 ≦ j <N)
The pixel block 246 obtained by performing a cyclic shift with the offset candidate information (a, b) 204 is
Cij= A(i + a)% N, (j + b)% N(0 ≦ i <N, 0 ≦ j <N)
Obtained by.
[0394]
Next, the block generation unit of the digital watermark detection unit 240 in this embodiment will be described with reference to FIG.
[0395]
The block generation unit 241 of the digital watermark detection unit 240 in this embodiment receives the detection target image 201 and the offset information 231 as input, and similarly to the block generation unit 900 in the position marker detection unit 230 (offset information is used as offset candidate information). The detection target image 201 is divided into T N × N pixel blocks from the upper left.
[0396]
Next, the block addition unit in the block generation unit 241 adds all these blocks to generate an addition block. Then, the cyclic shift unit in the block generation unit 241 generates a pixel block 246 by cyclically shifting the addition block based on the offset information, and outputs the pixel block 246 to the discrete Fourier transform unit 234.
[0397]
In the digital watermark detection processing according to the present embodiment, the minimum required size of the detection target image is N × N, and detection from a detection target image smaller than that in the eighth embodiment is possible.
[0398]
Furthermore, since the number T of divided blocks is larger than that in the eighth embodiment, the influence of the original image is reduced in detection, and the watermark pattern is more emphasized. Therefore, the accuracy is higher than that in the eighth embodiment. High detection is possible.
[0399]
Further, the addition of blocks reduces the influence of the original image in the detection, and the watermark pattern is emphasized, so that detection with higher accuracy than in the third embodiment is possible.
[0400]
Further, the processing amount associated with the digital watermark detection is increased by the amount of generation of the addition block as compared with the third embodiment, but this processing amount is negligible when compared with the processing amount of other parts of the detection processing. Compared with the case of detecting from one block at a time as in the sixth embodiment, the processing can be performed at a high speed by the number of blocks.
[0401]
[Tenth embodiment]
Next, a position marker detection unit 230 will be described as a tenth embodiment of the present invention. The parts other than those described below are the same as in the fourth embodiment.
[0402]
In the present embodiment, the position marker detection unit 230 divides the detection target image into blocks, and at this time, pixel regions less than one block around the edge of the detection target image are equivalent to the detection target image corresponding to the division. An average value is obtained, and an average of pixel values corresponding to the detection target image is obtained for a portion that is insufficient, and is different from the ninth embodiment in that the average value is filled with a block.
[0403]
First, the block generation part of the position marker detection part 230 in a present Example is demonstrated.
[0404]
FIG. 69 shows the configuration of the block generator of the position marker detector of the tenth embodiment of the present invention. The block generation unit 1000 shown in the figure includes a block division unit 1010, a block addition unit 1020, and a cyclic shift unit 1030.
[0405]
FIG. 70 is a flowchart showing the operation of the block generator of the position marker detector of the tenth embodiment of the present invention.
[0406]
Step 1010) The block generation unit 1000 receives the detection target image 201 and the offset candidate information 204 as input, and the block division unit 1010 applies T to N × N pixel blocks from the upper left of the detection target image 201 as shown in FIG. Divide into pieces. At this time, as shown in FIG. 72, the pixel area less than one block near the edge of the detection target image 201 is equivalent to the detection target image included when attempting to cut out N × N (FIG. 72A). The average value of the pixel values corresponding to the detection target image 201 is calculated and filled in with the missing portion.
[0407]
Step 1020) Next, the block adder 1020 adds all these blocks to generate an addition block 1012. Expressed as a formula:
Bij (t) : T-th block (0 ≦ i <N, 0 ≦ j <N, 0 ≦ t <T)
, Adder block Aij(0 ≦ i <N, 0 ≦ j <N) 1012 is
[0408]
[Expression 10]
Figure 0003745729
Obtained by.
[0409]
Next, the operation of the cyclic shift unit of the block generation unit of the position marker detection unit 230 in the present embodiment will be described.
[0410]
FIG. 73 is a diagram for explaining the operation of the cyclic shift unit according to the tenth embodiment of the present invention.
[0411]
In the cyclic shift unit 1030, the addition block 1012 is cyclically shifted based on the offset candidate information 204 to generate a pixel block, which is output to the discrete Fourier transform unit 234. Expressed as a formula:
Aij: Addition block (0 ≦ i <N, 0 ≦ j <N)
Is obtained by performing a cyclic shift with the offset candidate information (a, b) 204,
Cij= A(i + a)% N, (j + b)% N (0 ≦ i <N, 0 ≦ j <N)
Obtained by.
[0412]
Next, a block generation unit (not shown) of the digital watermark detection unit in the tenth embodiment of the present invention will be described.
[0413]
In the present embodiment, the block generation unit of the digital watermark detection unit receives the detection target image and offset information, and in the same manner as the block generation unit of the position marker detection unit (inputs the offset information as offset candidate information), the detection target The image is divided into T N × N pixel blocks from the upper left.
[0414]
Next, in the block adder, all these blocks are added to generate an addition block. Then, the cyclic shift unit cyclically shifts the addition block based on the offset information to generate a pixel block, and outputs the pixel block to the discrete Fourier transform unit.
[0415]
In the digital watermark detection process according to the present embodiment, the minimum required size of the detection target image is an arbitrary size, and detection is possible from a detection target image smaller than that of the ninth embodiment.
[0416]
Furthermore, since the number T of divided blocks is larger than that in the ninth embodiment, the influence of the original image is reduced in detection, and the watermark pattern is more emphasized. Therefore, the accuracy is higher than that in the ninth embodiment. Detection is possible.
[0417]
Further, the addition of blocks reduces the influence of the original image in detection and enhances the watermark pattern, so that detection with higher accuracy than in the fourth embodiment is possible.
[0418]
In addition, the processing amount associated with digital watermark detection increases by the amount of generation of the addition block as compared with the fourth embodiment, but this processing amount is negligible when compared with the processing amount of other parts of the detection processing. Compared to the case of detecting from one block as in the seventh embodiment, the processing can be performed at a high speed by the number of blocks.
[0419]
[Eleventh embodiment]
Next, a digital watermark detection apparatus will be described as an eleventh embodiment of the present invention.
[0420]
The digital watermark detection apparatus according to the present embodiment is embedded from an image that has been partially cut out and subjected to processing such as irreversible compression by using the method of the first embodiment described above. It is an apparatus for detecting a digital watermark.
[0421]
FIG. 74 shows the configuration of a digital watermark detection apparatus according to the eleventh embodiment of the present invention. The digital watermark detection apparatus 1100 shown in FIG. 1 includes a position marker detection unit 1110, a position marker series generation unit 1120, a detection target component designation unit 1130, and a digital watermark detection unit 1140.
[0422]
FIG. 75 is a flowchart showing the operation of the digital watermark detection apparatus of the eleventh embodiment of the present invention.
[0423]
Step 1110) The digital watermark detection apparatus 1100 receives the detection target image 201 and the key information 202 used at the time of embedding. First, the detection target component specifying unit 1130 of the digital watermark detection apparatus 1100 generates detection target component position information 1103 from the key information 202 by the same method as the embedding target component specifying unit 130 in the first embodiment described above, This is sent to the position marker detection unit 1110 and the digital watermark detection unit 1140.
[0424]
Step 1120) The position marker sequence generation unit 1120 generates a position marker sequence 1102 from the key information 202, and sends this to the position marker detection unit 1110.
[0425]
Step 1130) The position marker detection unit 1110 cuts out a pixel block of N × N (N is the size of the watermark pattern in the first embodiment) size from the upper left of the detection target image 201, and starts from the start point of the cut out pixel block. Offset information 1101 indicating how much the start point of the watermark pattern at the time of embedding is shifted is output and sent to the digital watermark detection unit 1140.
[0426]
Step 1140) The digital watermark detection unit 1140 receives the detection target image 201, the key information 202, the detection target component position information 1103, and the offset information 1101, and extracts an N × N size pixel block from the upper left of the detection target image 201. Using the offset information 1101, the key information 202, and the detection target component position information 1103, a digital watermark embedded in this pixel block is detected and output as a detection result 203.
[0427]
Next, the detection target component designation unit 1130 in the present embodiment will be described.
[0428]
FIG. 76 shows the configuration of the detection target component designating unit of the eleventh example of the present invention, and FIG. 77 is a flowchart showing the operation of the detection target component designating unit of the eleventh example of the present invention.
[0429]
Step 1111) The detection target component designating unit 1130 receives the key information 202 and generates a random number sequence using the random number generator 1131 as an initial value.
[0430]
Step 1112) Furthermore, the detection target component designating unit 1130 obtains detection target component position information 1103, which is a sequence having the same length as the embedded sequence length n used in the first embodiment, based on the generated random number sequence. Generate. The detection target component position information 1103 has the following configuration.
[0431]
Lk = (Xk , Yk , Zk ) (0 ≦ k <n)
xk : Detection target coefficient x degree
yk : Detection target coefficient y direction order
zk : Flag indicating whether the detection target coefficient is true (whether it is a real component or an imaginary component)
The detection target component designation unit 1130 performs exactly the same operation as the embedding target component designation unit in the first embodiment. That is, with the same key information as input, the embedding target component position information 131 generated by the embedding target component specifying unit 130 of the first embodiment and the detection target component generated by the detecting target component specifying unit 1130 of the present embodiment. The position information 1103 is exactly the same. The generated detection target component position information 1103 is sent to the position marker detection unit 1110.
[0432]
Next, the position marker series generation unit 1120 in the present embodiment will be described.
[0433]
FIG. 78 shows the configuration of the position marker series generation unit of the eleventh embodiment of the present invention, and FIG. 79 is a flowchart showing the operation of the position marker series generation section of the eleventh embodiment of the present invention.
[0434]
Step 1121) The position marker sequence generation unit 1120 receives the key information 202, and the spreading sequence generator 1121 uses the 0th length n spreading sequence {r with the key information 202 as an initial value {ri (0) } (0 ≦ i <n), and this spread sequence is directly used as the position marker sequence {pi } (0 ≦ i <n) 1102 (pi : = Ri (0) (0 ≦ i <n)). For this, the spread sequence generator 1121 of the position marker sequence generation unit 1120 uses the same operation as the spread sequence generator 122 of the embedded sequence generation unit 120 in the first embodiment.
[0435]
Next, the position marker detection unit 1110 of this embodiment will be described.
[0436]
FIG. 80 shows the configuration of the position marker detector of the eleventh embodiment of the present invention.
[0437]
The position marker detection unit 1110 shown in the figure includes a block generation unit 1111, a discrete Fourier transform unit 1113, a detection target sequence generation unit 1115, an offset candidate information generation unit 1117, a position marker detection information generation unit 1118, and an offset information generation unit 1119. Composed.
[0438]
FIG. 81 is a flowchart showing the operation of the position marker detector of the eleventh embodiment of the present invention.
[0439]
Step 1131) The position marker detection unit 1110 receives the detection target image 201, the detection target component position information 1103, and the position marker series 1102, and first, the block generation unit 1111 has an N × N size from the upper left of the detection target image 201. The pixel block 1104 is cut out.
[0440]
Step 1132) Next, the discrete Fourier transform unit 1113 performs discrete Fourier transform on the pixel block 1104 to obtain a detection target coefficient matrix 1105.
[0441]
Step 1133) Next, the offset candidate information generation unit 1117 sequentially generates the offset candidate information (a, b) from (0, 0) to (N−1, N−1).
[0442]
Step 1134) Hereinafter, processing from the detection target sequence generation unit 1115 to the position marker detection information generation unit 1118 is performed for each offset candidate information 1106. The detection target sequence generation unit 1115 receives the detection target component position information 1103, the detection target coefficient matrix 1105, and the offset candidate information 1106, and generates the detection target sequence 1107 as follows. FIG. 82 is a flowchart showing the operation of the detection target sequence generation unit of the position marker detection unit of the eleventh embodiment of the present invention.
[0443]
Step 1134-1) The detection target sequence generation unit 1115 sets the detection target coefficient matrix 1105 to F (u, v) (0 ≦ u <N, 0 ≦ v <N), and sets the detection target component position information 1103 to L.k = (Xk , Yk , Zk ) (0 ≦ k <n), offset candidate information 1106 is (a, b), and detection target sequence 1107 is {qk } (0 ≦ k <n)
zk When is a value representing a real component, the process proceeds to step 1134-2, and zk When is a value representing an imaginary component, the routine proceeds to step 1134-3.
[0444]
Step 1134-2)
[0445]
## EQU11 ##
Figure 0003745729
This process is performed for k = 0... N-1.
[0446]
Step 1134-3)
[0447]
[Expression 12]
Figure 0003745729
This process is performed for k = 0... N-1.
[0448]
Step 1134-4) Detection target sequence {qk } 1107 is output.
[0449]
Step 1135) Next, the position marker detection information generation unit 1118 obtains a correlation value between the position marker series 1102 and the detection target series 1107 by the following expression, and sets this as a pair with the offset candidate information 1106 to detect the position marker detection information corr.ab1108 is output.
[0450]
[Formula 13]
Figure 0003745729
The processing from the detection target sequence generation unit 1115 to the position marker detection information generation unit 1118 is sequentially repeated while the offset candidate information (a, b) circulates from (0, 0) to (N-1, N-1). All the position marker detection information 1108 is sent to the offset information generation unit 1119.
[0451]
Step 1136) The offset information generation unit 1119 obtains the offset candidate information (a, b) 1106 when the correlation value between the position marker series 1102 and the detection target series 1107 is the maximum among all the input position marker detection information 1108. The offset information 1101 is output and sent to the digital watermark detection unit 1140.
[0452]
The offset information 1101 output from the position marker detection unit 1110 represents how much the start point of the watermark pattern at the time of embedding is shifted from the upper left of the detection target image 201.
[0453]
Next, the digital watermark detection unit 1140 in this embodiment will be described.
[0454]
FIG. 83 shows the configuration of the digital watermark detection unit of the eleventh embodiment of the present invention. The digital watermark detection unit 1140 shown in the figure includes a block generation unit 1141, a discrete Fourier transform unit 1143, a detection target sequence generation unit 1145, a symbol detection unit 1147, and a detection result generation unit 1149.
[0455]
FIG. 84 is a flowchart showing the operation of the digital watermark detection unit of the eleventh embodiment of the present invention.
[0456]
Step 1141) The digital watermark detection unit 1140 receives the detection target image 201, the detection target component position information 1103, the offset information 1101, and the key information 202, and first, the block generation unit 1141 starts N × from the upper left of the detection target image 201. The N-sized pixel block 1142 is cut out and sent to the discrete Fourier transform unit 1143.
[0457]
Step 1142) The discrete Fourier transform unit 1143 performs discrete Fourier transform on the pixel block 1142, generates a detection target coefficient matrix 1144, and sends this to the detection target sequence generation unit 1145.
[0458]
Step 1143) The detection target sequence generation unit 1145 obtains the detection target sequence 1146 by the same processing as the detection target sequence generation unit 1115 of the position marker detection unit 1110 (offset information 1101 is used as offset candidate information), and the symbol detection unit 1147 Send to.
[0459]
Step 1144) The symbol detection unit 1147 determines the correlation value between the sequence generated from the key information 202 and each symbol candidate information and the detection target sequence 1146, and generates the symbol detection information 1148.
[0460]
Step 1145) After obtaining all the symbol detection information 1148, the detection result generation unit 1149 uses the symbol candidate value when the correlation value is maximum for each symbol position of the symbol detection information 1148 as a detected symbol.
[0461]
Step 1146) After the detection symbols are determined from all the symbol positions, the result of inversely converting the detection symbols into the digital watermark format is output as the detection result 203.
[0462]
Next, the symbol detection unit 1147 in this embodiment will be described.
[0463]
FIG. 85 shows the configuration of the symbol detector of the eleventh embodiment of the present invention. The symbol detection unit 1147 shown in the figure includes a symbol candidate generation unit 11471, a symbol series generation unit 11473, and a symbol detection information generation unit 11475. Symbol detection section 1147 receives key information 202 and detection target sequence 1146 as input, and generates symbol detection information 11476 for M symbol candidates for each preset symbol position of J symbols. To the detection result generation unit 1149. The j (1 ≦ j ≦ J) th symbol detection will be described below.
[0464]
FIG. 86 is a flowchart showing the operation of the symbol detector of the eleventh embodiment of the present invention.
[0465]
Step 1144-1) The symbol candidate generation unit 11471 sequentially generates symbol candidates c from 0 to M−1, and performs the processing from steps 1144-2 to 1144-3 for each symbol candidate. M represents the maximum value of the symbol value by the symbol conversion in the first embodiment described above.
[0466]
Step 1144-2) The symbol sequence generation unit 11473 will be described. FIG. 87 shows the configuration of the symbol sequence generation unit according to the eleventh embodiment of the present invention, and FIG. 88 is a flowchart showing the operation of the symbol sequence generation unit according to the eleventh embodiment of the present invention.
[0467]
Step 1144-2-1) The symbol sequence generation unit 11473 receives the key information 202 and the symbol candidate c, sets the value obtained by adding c and the key information 202 as an initial value, and the spreading sequence generator 114731 uses the jth length. n spreading sequences {ri (j) } (0 ≦ i <n) is generated and is directly used as the symbol sequence 11474 {pi (j) } (0 ≦ i <n) (pi (j) : = Ri (j) (0 ≦ i <n)). The symbol series 11474 is sent to the symbol detection information generation unit 11475.
[0468]
Step 1144-3) The symbol detection information generation unit 11475 receives the detection target sequence 1146, the symbol sequence 11474, the symbol candidate c, and the symbol position j currently being processed as input, and calculates the symbol sequence 11474 and the detection target sequence 1146 according to the following equation. And the symbol detection information corr using the correlation value, the symbol candidate, and the symbol position as a set.c (j) 1148 is generated.
[0469]
[Expression 14]
Figure 0003745729
The symbol detection information 1148 is sent to the detection result generation unit 1149.
[0470]
Next, the detection result generation unit 1149 in the present embodiment will be described.
[0471]
FIG. 89 shows the configuration of the detection result generation unit of the eleventh embodiment of the present invention. The detection result generation unit 1149 shown in the figure includes a series generation unit 11491 for each symbol position, a detection symbol generation unit 11493, and an inverse symbol conversion unit 11495.
[0472]
FIG. 90 is a flowchart showing the operation of the detection result generation unit of the eleventh embodiment of the present invention.
[0473]
Step 1145-1) The detection result generation unit 1149 receives the symbol detection information 1148 as an input. First, each symbol position series generation unit 11491 divides the symbol detection information 1148 into each symbol position j, and each length M Series corr for each symbol positionc (j) , (0 ≦ c <M) 11492 is generated for each j from j = 1 to J and sent to the detected symbol generator 11493.
[0474]
Step 1145-2) The detected symbol generation unit 11493 receives the symbol position series 11492 as input, and finds and detects the symbol candidate c when the maximum correlation value is obtained in each symbol position series for each symbol position j. Symbolj (1 ≦ j <J) 11494 is generated.
[0475]
Step 1145-3) All sj In the inverse symbol conversion unit 11495, the symbol expression is converted into the original digital watermark expression (for example, the inverse conversion corresponding to the conversion in the first embodiment is performed with four detected symbols (the value of each detected symbol). Is a process of converting each of the values 0 to 255) into four 8-bit characters by regarding each value as an ASCII code), and generating and outputting a detection result 203.
[0476]
The detection result 203 represents a digital watermark embedded in the detection target image 201.
[0477]
This is the end of the processing of the digital watermark detection apparatus in the eleventh embodiment.
[0478]
In the digital watermark detection according to this embodiment, a block is cut out from the upper left of the detection target image, and after performing discrete Fourier transform to obtain a detection target coefficient matrix 1105, an offset and a coefficient are added to the component specified by the detection target component position information 1103. The detection target sequence 1107 is generated by multiplying the phase difference determined by the order of. This is a property related to the translation of the Fourier transform
When F (u, v) ← → f (x, y) (← → represents Fourier transform / inverse transform),
[0479]
[Expression 15]
Figure 0003745729
Is used. Thereby, the discrete Fourier transform required at the time of detection is only required once, and the processing can be performed at a higher speed than the detection processing from the second embodiment to the tenth embodiment. (Comparison of processing time by computer simulation in a block size of N = 128 is the second embodiment: the eleventh embodiment = 65: 1).
[0480]
In addition, it is possible to detect a case where the embedded image in the first embodiment is a partial image (size is N × N or more) cut out from an arbitrary position.
[0481]
[Twelfth embodiment]
Next, as a twelfth embodiment of the present invention, when the detection target image is divided into blocks in the block generation unit of the position marker detection unit, an average value corresponding to the detection target image is obtained, and an insufficient part is detected. An example will be described in which an average value of pixel values corresponding to the target image is obtained and a portion where the average value is insufficient is filled and blocked. The parts other than those described below are the same as those in the eleventh embodiment.
[0482]
FIG. 91 is a diagram for explaining the operation of the block generation unit of the position marker detection unit according to the twelfth embodiment of the present invention.
[0483]
In this embodiment, the block generation unit 1111 of the position marker detection unit 1110 receives the detection target image 201 and cuts out an N × N size block from the upper left of the detection target image 201. At this time, if the detection target image 201 is small and cannot be cut out to N × N size, only the portion corresponding to the detection target image (A in the same figure) included when cutting out at N × N is cut out, and N × N The portion that is insufficient in size is filled with an average value of pixel values corresponding to the detection target image.
[0484]
The block obtained by the above processing is output as a pixel block as in the eleventh embodiment.
[0485]
Next, the block generation operation of the digital watermark detection unit in this embodiment will be described. The block generation unit of the digital watermark detection unit in this embodiment receives the detection target image, obtains and outputs a pixel block by the same processing as the block generation unit in the position marker detection unit.
[0486]
In the case of digital watermark detection processing using this embodiment, detection from a smaller detection target image can be performed by using an arbitrary size from N × N or more in size necessary for the detection target image as compared with the above-described eleventh embodiment. It becomes possible.
[0487]
[Thirteenth embodiment]
Next, a digital watermark detection unit, a symbol detection unit, and a detection result generation unit will be described as a thirteenth embodiment of the present invention. The parts other than those described below are the same as in the eleventh embodiment.
[0488]
FIG. 92 shows the configuration of the digital watermark detection unit of the thirteenth embodiment of the present invention. The digital watermark detection unit 2000 shown in the figure includes a block division unit 2100, a discrete Fourier transform unit 2200, a detection target sequence generation unit 2300, a symbol detection unit 2400, and a detection result generation unit 2500.
[0489]
FIG. 93 is a flowchart showing the operation of the digital watermark detection unit of the thirteenth embodiment of the present invention.
[0490]
Step 2100) The digital watermark detection unit 2000 receives the detection target image 201, the detection target component position information 211, the offset information 231 and the key information 202. First, the block division unit 2100 displays the detection target image 201 in FIG. As shown, the pixel block is divided into T pixel blocks of N × N size from the upper left.
[0491]
Step 2200) Numbers 0 to T-1 are assigned to the individual pixel blocks 2001 obtained by the division. The following steps 2300 to 2400 are repeated for the t (0 ≦ t <T) -th pixel block 2001.
[0492]
Step 2300) The discrete Fourier transform unit 2200 performs a discrete Fourier transform on the t-th pixel block 2001 to obtain a detection target coefficient matrix 2002.
[0493]
Step 2400) The detection target sequence generation unit 2300 obtains a detection target sequence 2003 by the same processing as the detection target sequence generation unit of the position marker detection unit, and sends it to the symbol detection unit 2400.
[0494]
Step 2500) The symbol detection unit 2400 generates a symbol detection information 2004 by obtaining a correlation value between a sequence generated from the key information 202 and each symbol candidate information and the detection target sequence 2003.
[0495]
Step 2600) After obtaining the symbol detection information 2004 for all t, the detection result generation unit 2500 uses the symbol candidate value when the correlation value is maximum for each symbol position of the symbol detection information 2004 as a detected symbol, After the detection symbol is determined from the symbol position, the detection symbol 203 is output as a result of inversely converting the detection symbol into a digital watermark format.
[0496]
Next, the symbol detection unit 2400 in the present embodiment will be described.
[0497]
FIG. 95 shows the configuration of the symbol detector of the thirteenth embodiment of the present invention. The symbol detection unit 2400 shown in the figure includes a symbol candidate generation unit 2410, a symbol series generation unit 2420, and a symbol detection information generation unit 2430.
[0498]
The symbol detection unit 2400 receives the key information 202 and the detection target sequence 2003 (obtained from the t-th pixel block) as input, and sets M symbols for each preset symbol position of J symbols. Symbol detection information 2004 for the candidate is generated and output to the detection result generation unit 2500.
[0499]
FIG. 96 is a flowchart showing the operation of the symbol detector of the thirteenth embodiment of the present invention.
[0500]
Step 2410) The symbol candidate generation unit 2410 sequentially generates symbol candidates c2401 from 0 to M−1, and repeats the processing of steps 2420 to 2430 for each symbol candidate. M represents the maximum symbol value obtained by symbol conversion in the first embodiment.
[0501]
Step 2420) Here, the symbol sequence generation unit 2420 will be described. FIG. 97 shows the configuration of the symbol sequence generation unit of the thirteenth embodiment of the present invention, and FIG. 98 shows the operation of the symbol sequence generation unit of the thirteenth embodiment of the present invention.
[0502]
Step 2421) The symbol sequence generation unit 2420 receives the key information 202 and the symbol candidate c2401, inputs a value obtained by adding c and the key information 202 as an initial value, and the spreading sequence generator 2421 uses the j-th length n spread sequence. {Ri (j) } (0 ≦ i <n) is generated and is directly used as a symbol sequence {pi (j) } (0 ≦ i <n) 2402 (pi (j) : = Ri (j) (0 ≦ i <n)). The symbol series 2402 is sent to the symbol detection information generation unit 2430.
[0503]
Step 2430) The symbol detection information generation unit 2430 receives the detection target sequence 2003, the symbol sequence 2402, the symbol candidate, and the currently processed symbol position j, and calculates the correlation value between the symbol sequence 2402 and the detection target sequence 2003 using the following equation. The symbol detection information corr is obtained by combining the correlation value, the symbol candidate, the symbol position, and the pixel block position.c (j) (t)2403 is generated.
[0504]
[Expression 16]
Figure 0003745729
The symbol detection information 2004 is sent to the detection result generation unit 2500.
[0505]
Next, the detection result generation unit 2500 in the present embodiment will be described.
[0506]
FIG. 99 shows the configuration of the detection result generation unit of the thirteenth embodiment of the present invention. The detection result generation unit 2500 shown in the figure includes a series generation unit 2510 for each symbol position, a detection symbol generation unit 2520, and an inverse symbol conversion unit 2530.
[0507]
FIG. 100 is a flowchart illustrating the operation of the detection result generation unit according to the thirteenth embodiment of the present invention.
[0508]
Step 2510) The detection result generation unit 2500 receives the symbol detection information 2004, and first, each symbol position series generation unit 2510 divides the symbol detection information 2004 into each symbol position j, and each length M × T Series corr for each symbol positionc (j) (t)(0 ≦ c <M, 0 ≦ t <T) 2501 is generated for each j from j = 1 to J, and is sent to the detected symbol generation unit 2520.
[0509]
Step 2520) The detection symbol generation unit 2520 receives each symbol position series 2501 as an input, finds a symbol candidate c when taking the maximum correlation value in each symbol position series for each symbol position j, and detects the detected symbol s.j (1 ≦ j <J) 2502 is generated. Allj The above process is repeated until.
[0510]
Step 2530) All sj In the inverse symbol conversion unit 2530, the symbol expression is converted into the original digital watermark expression (for example, the inverse conversion corresponding to the conversion in the first embodiment is performed with four detected symbols (the value of each detected symbol). Is a process of converting each of the values 0 to 255) into four 8-bit characters by regarding each value as an ASCII code), and generating and outputting a detection result 203. The detection result 203 represents a digital watermark embedded in the detection target image.
[0511]
In the digital watermark detection process according to the present embodiment, the detection target image (size of N × N or more) is divided into blocks, and the symbol when the maximum correlation value is obtained among all the blocks is detected. Compared to the eleventh embodiment (detecting only from one block), detection with higher accuracy is possible. Furthermore, since the number of discrete Fourier transforms necessary for the detection process is only the number of blocks, the processing can be performed at a speed higher than that of the fifth embodiment.
[0512]
[Fourteenth embodiment]
Next, as a fourteenth embodiment of the present invention, processing when the block division unit of the digital watermark detection unit cannot cut out an N × N size block from the detection target image will be described.
[0513]
FIG. 101 is a diagram for explaining the operation of the block division unit of the digital watermark detection unit according to the fourteenth embodiment of the present invention.
[0514]
The block division unit 2100 divides the detection target image 201 into T blocks of N × N size from the left. At this time, for the block that cannot be cut out to the N × N size around the edge of the detection target image 201, only the portion corresponding to the detection target image included when the block is cut out by N × N is cut out to the N × N size. For the missing part, an average value of pixel values corresponding to the detection target image is obtained and filled with this. Numbers 0 to T-1 are assigned to the pixel blocks obtained by the division.
[0515]
In the information detection according to the present embodiment, the minimum required size of the detection target image may be any size, and detection from a detection target image smaller than the thirteenth embodiment described above is possible. In addition, since the number of blocks used for detection is larger than that in the thirteenth embodiment, detection with higher accuracy than in the thirteenth embodiment is possible.
[0516]
Furthermore, since the number of discrete Fourier transforms required for the detection processing is only the number of blocks, processing can be performed at a higher speed than in the sixth embodiment.
[0517]
[Fifteenth embodiment]
Next, a position marker detection unit and a digital watermark detection unit will be described as a fifteenth embodiment of the present invention. The parts other than those described below are the same as in the eleventh embodiment.
[0518]
FIG. 102 shows the configuration of the block generator of the position marker detector of the fifteenth embodiment of the present invention. The block generation unit 3000 shown in the figure includes a block division unit 3100 and a block addition unit 3200.
[0519]
FIG. 103 is a flowchart showing the operation of the block generator of the position marker detector of the fifteenth embodiment of the present invention.
[0520]
Step 3100) The block generation unit 3000 receives the detection target image 201, and the block division unit 3100 divides the detection target image into T N × N pixel blocks from the upper left as shown in FIG.
[0521]
Step 3200) Next, the block adder 3200 adds all these blocks to generate an addition block 3002. This can be expressed as an expression:
Bij (t) : T-th block (0 ≦ i <N, 0 ≦ j <N, 0 ≦ t <T)
, Adder block Aij(0 ≦ i <N, 0 ≦ j <N) is
[0522]
[Expression 17]
Figure 0003745729
Obtained by.
[0523]
The addition block 3002 is output to the discrete Fourier transform unit 1113 as the pixel block 205.
[0524]
In the information detection according to the present embodiment, the detection target image 201 (N × N size or more) is divided into N × N size blocks, and a position marker and a digital watermark are detected from a block obtained by adding all the blocks.
[0525]
By adding T blocks, a watermark pattern that is an N × N size repeating pattern is emphasized by a factor of T, but the pattern of the original image is gradually canceled by addition because the correlation between the blocks is low. . That is, the influence from the original image is reduced by the detection from the addition block, and the watermark pattern is enhanced at the same time, so that detection with higher accuracy than the eleventh embodiment is possible.
[0526]
Further, the processing amount accompanying the detection increases by the amount of generation of the addition block compared to the eleventh embodiment, but this processing amount can be ignored if compared with the processing amount of the other parts of the detection processing. Compared to the case of detecting from one block at a time as in the thirteenth embodiment, the processing can be performed at a high speed by the number of blocks.
[0527]
Furthermore, since the number of discrete Fourier transforms required for the detection process is only one, processing can be performed at a higher speed than in the second to tenth embodiments.
[0528]
[Sixteenth embodiment]
Next, a block generation unit of the position marker detection unit will be described as a sixteenth embodiment of the present invention. The parts other than those described below are the same as in the twelfth embodiment.
[0529]
FIG. 105 shows the configuration of the block generator of the position marker detector of the sixteenth embodiment of the present invention. The block generation unit 4000 shown in the figure includes a block division unit 4100 and a block addition unit 4200.
[0530]
FIG. 106 is a flowchart showing the operation of the block generator of the position marker detector of the sixteenth embodiment of the present invention.
[0531]
Step 4100) The block generation unit 4000 receives the detection target image 201, and the block division unit 4100 divides the detection target image 201 into T N × N pixel blocks from the upper left as shown in FIG. At this time, for the block that cannot be cut out to the N × N size around the edge of the detection target image 201, only the portion corresponding to the detection target image included when cutting out at the N × N is cut out, and the N × N size is sufficient. For the part that does not exist, a process of obtaining an average value of pixel values corresponding to the detection target image and filling it with this is performed.
[0532]
Step 4200) Next, the block adder 4200 adds all these blocks to generate an addition block 4002. This can be expressed as an expression:
Bij (t) : Addition block A when t-th block (0 ≦ i <N, 0 ≦ j <N, 0 ≦ t <T)ij(0 ≦ i <N, 0 ≦ j <N) is
[0533]
[Formula 18]
Figure 0003745729
Obtained by.
[0534]
Step 4300) The addition block 4002 is output as a pixel block to the discrete Fourier transform unit 1113.
[0535]
Next, a block generation unit (not shown) in the digital watermark detection unit in the present embodiment will be described.
[0536]
The block generation unit in the digital watermark detection unit in the present embodiment receives the detection target image, and, like the block generation unit 4000 in the position marker detection unit, the detection target image is T N × N pixels from the upper left. Divide into blocks.
[0537]
Next, in the block addition unit, all these blocks are added to generate an addition block. The addition block is output as a pixel block to the discrete Fourier transform unit.
[0538]
In the information detection according to the present embodiment, the minimum required size of the detection target image is an arbitrary size, and detection from a detection target image smaller than that in the fifteenth embodiment is possible.
[0539]
Furthermore, since the number T of divided blocks is larger than that in the fifteenth embodiment, the influence of the original image is reduced in detection, and the watermark pattern is more emphasized. Therefore, the accuracy is higher than in the fifteenth embodiment. High detection is possible.
[0540]
Further, the addition of the blocks reduces the influence of the original image in the detection, and the watermark pattern is enhanced. Therefore, detection with higher accuracy than in the twelfth embodiment is possible.
[0541]
Further, the processing amount accompanying the detection increases by the amount of generation of the addition block compared to the twelfth embodiment, but this processing amount is negligible when compared with the processing amount of other parts of the detection processing. Compared with the case of detecting from one block as in the fourteenth embodiment, the processing can be performed at a high speed by the number of blocks.
[0542]
[Seventeenth embodiment]
Next, a detection target sequence generation unit of the position marker detection unit will be described as a seventeenth embodiment of the present invention. The parts other than those described below are the same as those in the second to sixteenth embodiments.
[0543]
In this embodiment, as described in each embodiment, a detection target sequence is generated in the detection target sequence generation unit of the position marker detection unit in each of the second to sixteenth embodiments. After the final stage is completed, a process for setting the average of the detection target sequences to 0 is further performed as follows, and the detection target sequence subjected to this process is used for the subsequent processing.
[0544]
{Qi }: Detection target sequence before processing (0 ≦ i <n)
When,
[0545]
[Equation 19]
Figure 0003745729
In search of
qi : = Qi -Ave (0 ≦ i <n)
To change the average to zero.
[0546]
According to this embodiment, the average of the detection target series is 0, and each term has a positive or negative (or 0) value. As a result, in the subsequent calculation of the correlation value, the correlation value other than when the position marker detection information has a valid peak can be kept low, so that the position marker detection information can be compared with the case where the processing of this embodiment is not performed. An effective peak can be detected with higher accuracy.
[0547]
[Eighteenth embodiment]
Next, a detection target sequence generation unit of the digital watermark detection unit will be described as an eighteenth embodiment of the present invention. The portions other than those described below are the same as those in the second to seventeenth embodiments.
[0548]
In the present embodiment, in the detection target sequence generation unit in the digital watermark detection unit in the second to 17th embodiments described above, the detection target sequence has been generated as described in each embodiment. After the stage, a process for setting the average of the detection target series to 0 is further performed as follows, and the detection target series subjected to this process is used for the subsequent processes.
[0549]
{Qi }: Detection target sequence before processing (0 ≦ i <n)
When,
[0550]
[Expression 20]
Figure 0003745729
In search of
qi : = Qi -Ave (0 ≦ i <n)
To change the average to zero.
[0551]
According to this embodiment, the average of the detection target series is 0, and each term has a positive or negative (or 0) value. As a result, in the subsequent calculation of the correlation value, the correlation value except when the symbol detection information has an effective peak can be kept low, so that the symbol detection information is more effective than the case where the processing of this embodiment is not performed. Peaks can be detected with higher accuracy.
[0552]
[Nineteenth embodiment]
Next, an offset information generating unit of the position marker detecting unit will be described as a nineteenth embodiment of the present invention. The portions other than those described below are the same as those in the second to eighteenth embodiments.
[0553]
FIG. 108 is a flowchart showing the operation of the offset information generator of the position marker detector of the nineteenth embodiment of the present invention.
[0554]
Step 5100) The offset information generation unit receives the position marker detection information as an input, and first, the maximum value O among all the position marker detection information.max Ask for.
[0555]
Step 5200) Next, processing is divided as follows according to a predetermined threshold value β. Omax If <β, the process proceeds to step 5300, and if not, the process proceeds to step 5400.
[0556]
Step 5300) A detection result indicating that the detection of the offset information has failed is output to the outside of the information detection device, and all processing in the information detection device is terminated.
[0557]
Step 5400) Maximum value Omax The offset candidate information (a, b) at the time of taking is output as offset information and sent to the digital watermark detection unit.
[0558]
According to the nineteenth embodiment, the detection is not continued unless the position marker detection information, that is, the correlation value between the position marker series and the detection target series is equal to or greater than the threshold value β. This makes it possible to force detection and output an incorrect detection result when an image with no information embedded is used as the detection target image or the embedded image is severely damaged and cannot be detected already. Without detecting the detection result, the detection result having the content indicating that the detection has failed is output, so that the reliability of the output detection result is increased.
[0559]
[20th embodiment]
Next, a detection result generation unit of the digital watermark detection unit will be described as a twentieth embodiment of the present invention. The portions other than those described below are the same as those in the second to nineteenth embodiments.
[0560]
FIG. 109 is a flowchart illustrating the operation of the detection result generation unit of the digital watermark detection unit according to the twentieth embodiment of the present invention.
[0561]
Step 6100) With the symbol detection information as an input, the detection result generation unit first divides the symbol detection information into each symbol position j in each symbol position series generation unit.
[0562]
Step 6200) The detection result generator generates the maximum value s of the j (1 ≦ j ≦ J) th symbol position series.max (j) And the process branches as follows according to a predetermined threshold value γ.
[0563]
Step 6300) smax (j) If <γ, the process proceeds to step 6400, and if not, the process proceeds to step 6500.
[0564]
Step 6400) Outputs a detection result indicating that the detection of the digital watermark embedded in the detection target image has failed, and ends all processing in the detection result generation unit.
[0565]
Step 6500) smax (j) When ≧ γ, the maximum value smax (j) The symbol candidate c when taking the jth detected symbol sj (1 ≦ j ≦ J).
[0566]
Step 6600) All sj Is converted from the symbol representation to the original digital watermark representation (for example, the values of the four detected symbols in the first embodiment (each detected symbol value is 0 to 255) are regarded as ASCII codes. The detection result is generated and output.
[0567]
According to the twentieth embodiment, the detection is not continued unless the symbol detection information, that is, the correlation value between each symbol series and the detection target series is equal to or greater than the threshold value γ. This makes it possible to select an image without information embedded as a detection target image, or forcibly detect and output an erroneous detection result when the embedded image is severely damaged and cannot be detected already. Instead, the detection result having the content indicating that the detection has failed is output, so that the reliability of the output detection result is increased.
[0568]
[Twenty-first embodiment]
Finally, a twenty-first embodiment of the present invention will be described. The parts other than those described below are the same as those in the first and twentieth embodiments.
[0569]
In the present embodiment, the spread sequence generator of the embedded sequence generation unit in the first embodiment, the spread sequence generator of the position marker sequence generation unit and the spread sequence of the symbol sequence generation unit of the digital watermark detection unit in the twentieth embodiment A generator that sequentially generates values of +1 or −1 at random with a probability of ½ each (for example, Miyagawa, Iwatari, Imai: “Code Theory”, Shogodo, page 128) For “occurrence”, a k-th order generator polynomial (k is a sufficiently large integer) and “+1”, a random sequence consisting of binary values of “−1” or the like is used.
[0570]
Further, in this embodiment, the following is used as a calculation formula for obtaining the correlation in the symbol detection information generating section of the symbol detecting section of the digital watermark detecting section in the twentieth embodiment.
[0571]
{Pi }: Symbol sequence (0 ≦ i <n)
{Qi }: Detection target sequence (0 ≦ i <n)
The correlation value of these two sequences is
[0572]
[Expression 21]
Figure 0003745729
Considering the distribution of correlation values in the symbol detection information generator,
[0573]
[Expression 22]
Figure 0003745729
Is a series according to the distribution of mean 0 (according to the eighteenth embodiment) and variance 1 / n.
[0574]
Pi (0 ≦ i <n) takes a value of +1 or −1 with a probability ½. It is a series according to the distribution of mean 0 and variance 1. If n is large enough,
[0575]
[Expression 23]
Figure 0003745729
Is a series according to the distribution of mean 0 and variance 1 / n. Here, using the central limit theorem in probability statistics, when n is sufficiently large,
[0576]
[Expression 24]
Figure 0003745729
Follows a normal distribution N (0,1) with mean 0 and variance 1. FIG. 110 is a graph showing the value of corr and the theoretical value N (0, 1) by computer simulation of the twenty-first embodiment of the present invention (n = 1024). As inferred, corr is N (0, It can be seen that 1) is being followed.
[0577]
If it is known that corr follows N (0,1), the threshold value γ in the twentieth embodiment can be determined by the accuracy (a measure representing how much the detected peak is significant). For example, the accuracy is 99.999% (the probability that a peak above the threshold happens by chance is 10-Five), The threshold value γ at that time is 4.26489 from the normal distribution table. FIG. 111 is a graph of symbol detection information obtained by computer simulation according to the twenty-first embodiment of the present invention. As shown in the figure, as a result of detecting four symbols (one symbol has a value from 0 to 255), symbol values representing “A”, “B”, “C”, and “D” A significant peak is seen. The previous γ is used to evaluate how significant this peak is (not by chance). In the example of FIG. 111, each peak value is 4.26489 or more, so it may be determined that these peaks with an accuracy of 99.999 or more are significant.
[0578]
According to the twenty-first embodiment, the distribution of the symbol detection information can be specifically a normal distribution with an average of 0 and a variance of 1. Therefore, it is possible to perform symbol detection by specifying accuracy. . As a result, it is possible to grasp how probable the detection result is, the reliability of the detection result is increased, and the convenience is improved.
[0579]
Computer simulation was performed to confirm the effectiveness of the proposed method of the present invention. As a test image, an 8-bit grayscale image (Lena, sailboat, baboon) having 512 × 512 pixels was used. The parameter values used in the simulation are N = 128, n = 1023, α = 1.4, and M = 256 (un, vn).
[0580]
[Expression 25]
Figure 0003745729
The watermark information is selected from the medium frequency band specified by the, and the watermark information is 32 bits (ASCII character string “ABCD”).
[0581]
Here, the image quality of a watermarked image will be described.
[0582]
FIG. 112 shows the PSNR when the embedding strength power is changed. However, the power value in the graph is expressed as a relative value based on the case of power = ξ. There is a difference in PSNR for power depending on the image, which is due to local weighting.
[0583]
For translation / cutting, FIG. 113 shows the result of detecting watermark information from a watermarked image (Lena, power = ξ, PSNR = 42.107873). A peak (14.761541) is detected at the offset value (0, 0). In addition, peaks (11.180982 to 9.108589) are detected in each of the symbols “A”, “B”, “C”, and “D” of the watermark information, and the detection of the watermark information is successful.
[0584]
Next, an attempt was made to detect watermark information from partial images cut out from each image. Offset detection success rate (successful when a correct offset is detected) when changing the size N × N of a partial image (50 starting points are randomly selected for each size), symbol detection success rate (all 114 can be detected correctly, and success is obtained when the minimum value of the four peak values is larger than the threshold value 4.26489). For partial images larger than N = 256, watermark information can be detected almost certainly. The watermark information is embedded for each block of 128 × 128 pixels. However, in an image including an edge as shown in FIG. 115A, some frequency component values have large values. It is considered that detection has failed due to large noise caused by the image. Conversely, detection is successful in a relatively flat image as shown in FIG. 115B or a texture image. In the case of detection using a difference from the original image, noise due to the original image is canceled, so that the detection is considered to be successful.
[0585]
Next, JPEG compression will be described.
[0586]
An attempt was made to detect watermark information from an image obtained by irreversibly compressing a watermarked image (Lena, sailboat, baboon, power = ξ) using JPEG. FIG. 116 shows the offset response peak value and the minimum symbol response peak when the quality parameter is changed. Detection has succeeded to the point where the broken line in the figure has stopped. Considering the threshold values described in the above description of the parallel movement / cutting, the effective resistance is considered to be slightly lower than that in FIG.
[0587]
Next, gradation conversion will be described.
[0588]
An attempt was made to detect watermark information from an image obtained by gradation conversion of a watermarked image (Lena, power = ξ). When the binary image is dropped, the offset response peak value obtained from the image dithered by the Floyd-Steinberg method (FIG. 117 (a)) is 13.616614, and each symbol response peak value is 9.957620 to 6.825329. Information was detected successfully. Further, the offset response peak value obtained from a simple binary quantized image (FIG. 117 (b)) was 10.388254, and each symbol response peak value was 8.133438 to 5.680073, and the watermark information was successfully detected.
[0589]
Next, detection from the print screen will be described.
[0590]
A watermarked image (Lena, power = ξ) was printed by a printer, and watermark information was detected from the image read by the scanner. The watermarked image converted to 72dpi PostScript data is printed using a black and white laser printer (RICOH SP-10PS Pro / 6F, 600dpi) and captured in 72dpi, 16bit grayscale using a scanner (EPSON GT-6000). Detection was performed from images dropped to 8bit gray scale. The offset response peak value at this time was 9.080504, and each symbol response peak value was 8.139693 to 5.615208, and the watermark information was successfully detected. In addition, it was found that the aspect ratio changed slightly depending on the combination of the printer and the scanner. The values were 8.807638 to 6.634429, and the watermark information was successfully detected.
[0591]
Next, the synthesis will be described.
[0592]
Attempt to detect watermark information from each image (Fig. 118) obtained by combining two watermarked images (Lena, sailboat, both power = ξ) at a ratio of 1: 1 (Fig. 118). It was. The offset response peak values are Lena = 9.549749, sailboat = 9.883106, each symbol response peak value is Lena = 8.102563 to 6.25033, and sailboat = 6.661891 to 7.285404, and two different watermark information is detected from one composite image. I was able to.
[0593]
Next, the detection processing time will be described.
[0594]
The offset search space of the proposed method of the present invention is N2 Although it can be said that a full search is being performed, if a simple full search in which a block is resampled for each offset candidate and a discrete Fourier transform is performed is compared, the amount of calculation for one search is reduced. E performed during the search process-ix This calculation can be speeded up if a table is provided in advance. The ratio of processing time by the computer simulation of the proposed method and the simple full search described above was 1:65. The discrete Fourier transform was performed on a 128 × 128 pixel block, and fast Fourier transform (FFT) was used.
[0595]
Note that the digital watermark embedding device and the digital watermark detection device described in the first to twenty-first embodiments can be realized by an integrated circuit. The integrated circuit shown in FIG. 119 includes a memory unit 1, a microprocessor unit 2, and an interface unit 3 that controls an interface with the outside. The figure shows the main part and may include other circuits. The microprocessor unit 2 executes the program stored in the memory unit 1. Various other configurations are possible for the configuration of the integrated circuit.
[0596]
【The invention's effect】
As described above, according to the present invention, sub information is embedded by adding a watermark pattern in a tile shape over the entire input image. Since it is not necessary to divide the input image into blocks and perform discrete Fourier transform and discrete inverse Fourier transform for each block, the embedding process is speeded up as compared with the conventional technique.
[0597]
By detecting the start position of the watermark pattern at the time of detection, it is possible to realize a digital watermark method that is resistant to any parallel movement.
[0598]
Also, if the cut-out portion is a certain size (about block size) or larger, the embedded information can be read from an image obtained by cutting a part of the digital watermark embedded image.
[0599]
In addition, the detection target image can be divided into blocks having the same size as the watermark pattern, and the detection accuracy can be improved using detection results from all blocks.
[0600]
Furthermore, if detection from an addition block obtained by adding all the blocks is used, detection accuracy can be improved and detection processing can be speeded up.
[0601]
In the eleventh to sixteenth embodiments, the search time can be greatly shortened because the discrete Fourier transform only needs to be performed once before searching for the start position of the watermark pattern.
[0602]
Further, as described in the nineteenth to twenty-first embodiments, when the detection result is significant using a predetermined threshold value, the detection process is normally performed and the detection result is not significant. In such a case, the reliability of the detection result is improved by setting the detection failure. In particular, it has a configuration that can mathematically indicate the problem of how to set the threshold when the accuracy is specifically determined, and is highly practical.
[0603]
Further, in the present invention, since the information is embedded by changing the Fourier transform coefficient value, it is possible to have resistance against parallel movement and cut-out up to now.
[0604]
Further, orthogonal transformation other than discrete Fourier transformation may be used.
[0605]
Furthermore, by applying the present invention to each frame of a moving image, it is possible to embed a digital watermark in the moving image and detect a digital watermark from the moving image.
Furthermore, since the pattern reflecting the pattern of the original image is added at the time of embedding, it is possible to realize further improvement in image quality, that is, further improvement in relative tolerance.
[0606]
Moreover, about an information detection apparatus, the conventional thing can be used as it is, and a transfer cost can be made low.
[0607]
Furthermore, by applying the present invention to each frame of a moving image, it is possible to embed a digital watermark in the moving image and detect a digital watermark from the moving image.
[0608]
As a result, for the copyright holder, the purpose is to protect the copyright of the information content, so the digital watermark information needs to be resistant to various editing by the user, and for the user, Since it is necessary to be able to use information content without being conscious of digital watermarks, degradation must not be perceived in an image subjected to digital watermark processing. According to the present invention, since both the image quality / durability are improved as compared with the prior art, the copyright protection system functions more effectively, and the author can provide content information with peace of mind. Information distribution is promoted.
[0609]
In the content distribution system, the present invention is applied to a content management system by assigning a content ID for uniquely identifying the content, embedding it in the content, and linking it with the copyright owner information of the content, usage conditions, etc. By doing so, the correct use of the content is promoted, and the right holder can be assured that the right holder of the content is himself.
[0610]
In addition, the present invention can suppress unauthorized copying by embedding user information at the time of content delivery.
[0611]
Further, by embedding a copy management signal used in a DVD or the like, stronger copy protection can be realized than at present.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining a first principle of the present invention.
FIG. 2 is a first principle configuration diagram of the present invention.
FIG. 3 is a block diagram of the digital watermark embedding apparatus according to the first embodiment of the present invention.
FIG. 4 is a flowchart showing the operation of the digital watermark embedding apparatus according to the first embodiment of the present invention.
FIG. 5 is a configuration diagram of an embedding target component designating unit according to the first embodiment of this invention.
FIG. 6 is a flowchart showing an operation of an embedding target component designating unit according to the first exemplary embodiment of the present invention.
FIG. 7 is a configuration diagram of an embedded sequence generation unit according to the first embodiment of this invention.
FIG. 8 is a flowchart showing the operation of the embedded sequence generation unit of the first embodiment of the present invention.
FIG. 9 is a flowchart of the operation of a component value changing unit according to the first embodiment of this invention.
FIG. 10 is a diagram for explaining the operation of the discrete inverse Fourier transform unit according to the first embodiment of the present invention;
FIG. 11 is a diagram for explaining the operation of the watermark pattern adding unit according to the first embodiment of the present invention;
FIG. 12 is a block diagram of a digital watermark detection apparatus according to a second embodiment of the present invention.
FIG. 13 is a flowchart showing the operation of the digital watermark detection apparatus according to the second embodiment of the present invention.
FIG. 14 is a configuration diagram of a detection target component designating unit according to a second example of the present invention.
FIG. 15 is a flowchart of the operation of the detection target component designating unit according to the second exemplary embodiment of the present invention.
FIG. 16 is a configuration diagram of a position marker series generation unit according to the second exemplary embodiment of the present invention.
FIG. 17 is a flowchart showing the operation of the position marker series generation unit of the second exemplary embodiment of the present invention.
FIG. 18 is a configuration diagram of a position marker detection unit according to a second embodiment of the present invention.
FIG. 19 is a flowchart showing the operation of the position marker detection unit of the second exemplary embodiment of the present invention.
FIG. 20 is a diagram for explaining an operation of a block generation unit according to the second exemplary embodiment of the present invention.
FIG. 21 is a flowchart illustrating an operation of a block generation unit according to the second exemplary embodiment of the present invention.
FIG. 22 is a flowchart showing the operation of the detection target sequence generation unit of the second example of the present invention.
FIG. 23 is a block diagram of a digital watermark detection unit according to a second embodiment of the present invention.
FIG. 24 is a flowchart showing the operation of the digital watermark detection unit according to the second embodiment of the present invention.
FIG. 25 is a block diagram of a symbol detection unit according to the second embodiment of the present invention.
FIG. 26 is a flowchart showing the operation of the symbol detection unit of the second exemplary embodiment of the present invention.
FIG. 27 is a block diagram of a symbol sequence generation unit according to the second embodiment of the present invention.
FIG. 28 is a flowchart showing the operation of the symbol sequence generation unit of the second embodiment of the present invention.
FIG. 29 is a configuration diagram of a detection result generation unit of a second example of the present invention.
FIG. 30 is a flowchart illustrating an operation of a detection result generation unit according to the second exemplary embodiment of the present invention.
FIG. 31 is a flowchart showing the operation of the block generation unit of the third exemplary embodiment of the present invention.
FIG. 32 is a diagram for explaining an operation of a block generation unit according to the third exemplary embodiment of the present invention;
FIG. 33 is a diagram for explaining the operation of a block generation unit according to the fourth exemplary embodiment of the present invention.
FIG. 34 is a flowchart showing the operation of the block generation unit of the position marker detection unit of the fourth exemplary embodiment of the present invention.
FIG. 35 is a block diagram of a digital watermark detection unit according to a fifth embodiment of the present invention.
FIG. 36 is a flowchart showing the operation of the digital watermark detection unit of the fifth exemplary embodiment of the present invention.
FIG. 37 is a diagram for explaining the operation of the block division unit according to the fifth exemplary embodiment of the present invention;
FIG. 38 is a block diagram of a symbol detection unit according to a fifth example of the present invention.
FIG. 39 is a flowchart showing the operation of the symbol detector of the fifth exemplary embodiment of the present invention.
FIG. 40 is a block diagram of a symbol sequence generation unit according to a fifth embodiment of the present invention.
FIG. 41 is a flowchart showing the operation of the symbol series generation unit of the fifth exemplary embodiment of the present invention.
FIG. 42 is a configuration diagram of a detection result generation unit of a fifth example of the present invention.
FIG. 43 is a flowchart illustrating an operation of a detection result generation unit according to the fifth exemplary embodiment of the present invention.
FIG. 44 is a block diagram of a digital watermark detection unit according to a sixth embodiment of the present invention.
FIG. 45 is a flowchart showing the operation of the digital watermark detection unit of the sixth exemplary embodiment of the present invention.
FIG. 46 is a diagram for explaining the operation of a block division unit according to the sixth exemplary embodiment of the present invention.
FIG. 47 is a block diagram of a symbol detection unit according to a sixth example of the present invention.
FIG. 48 is a flowchart showing the operation of the symbol detection unit of the sixth exemplary embodiment of the present invention.
FIG. 49 is a block diagram of a symbol sequence generation unit according to the sixth embodiment of the present invention.
FIG. 50 is a flowchart showing an operation of a symbol series generation unit of the sixth exemplary embodiment of the present invention.
FIG. 51 is a configuration diagram of a detection result generation unit of a sixth example of the present invention.
FIG. 52 is a flowchart showing an operation of a detection result generation unit according to the sixth exemplary embodiment of the present invention.
FIG. 53 is a block diagram of a digital watermark detection unit according to a seventh example of the present invention.
FIG. 54 is a flowchart showing the operation of the digital watermark detection unit of the seventh exemplary embodiment of the present invention.
FIG. 55 is a diagram for explaining a block division unit according to a seventh example of the present invention;
FIG. 56 is a block diagram of a symbol detection unit according to a seventh example of the present invention.
FIG. 57 is a flowchart showing the operation of the symbol detection unit of the seventh exemplary embodiment of the present invention.
FIG. 58 is a block diagram of a symbol sequence generation unit of a seventh example of the present invention.
FIG. 59 is a flowchart showing an operation of a symbol series generation unit according to the seventh example of the present invention.
FIG. 60 is a configuration diagram of a detection result generation unit of a seventh example of the present invention.
FIG. 61 is a flowchart showing an operation of a detection result generation unit according to the seventh example of the present invention.
FIG. 62 is a block diagram of a block generation unit of a position marker detection unit according to an eighth example of the present invention.
FIG. 63 is a flowchart showing the operation of the block generator of the position marker detector of the eighth example of the present invention.
FIG. 64 is a diagram for explaining the operation of the block generation unit according to the eighth example of the present invention;
FIG. 65 is a block diagram of a block generation unit of a position marker detection unit according to a ninth embodiment of the present invention.
FIG. 66 is a flowchart showing the operation of the block generation unit of the position marker detection unit of the ninth exemplary embodiment of the present invention.
FIG. 67 is a diagram for explaining block division of a block generation unit according to the ninth exemplary embodiment of the present invention;
FIG. 68 is a diagram for explaining the cyclic shift operation of the block generation unit according to the ninth embodiment of the present invention;
FIG. 69 is a block diagram of a block generation unit of a position marker detection unit according to a tenth embodiment of the present invention.
FIG. 70 is a flowchart showing the operation of a block generation unit according to the tenth exemplary embodiment of the present invention.
FIG. 71 is a diagram for explaining the operation of a block generation unit according to the tenth exemplary embodiment of the present invention.
FIG. 72 is a diagram for explaining division processing of the block generation unit according to the tenth example of the present invention.
FIG. 73 is a diagram for explaining the operation of the cyclic shift unit according to the tenth embodiment of the present invention;
FIG. 74 is a block diagram of the digital watermark detection apparatus of the eleventh embodiment of the present invention.
FIG. 75 is a flowchart showing the operation of the digital watermark detection apparatus of the eleventh embodiment of the present invention.
FIG. 76 is a configuration diagram of a detection target component designating unit according to an eleventh embodiment of the present invention.
FIG. 77 is a flowchart showing the operation of the detection target component designating unit according to the eleventh embodiment of the present invention.
78 is a block diagram of a position marker series generation unit of an eleventh embodiment of the present invention. FIG.
FIG. 79 is a flowchart showing the operation of the position marker series generation unit of the eleventh embodiment of the present invention.
FIG. 80 is a configuration diagram of a position marker detection unit according to an eleventh embodiment of the present invention.
FIG. 81 is a flowchart showing the operation of the position marker detector of the eleventh embodiment of the present invention.
FIG. 82 is a flowchart showing the operation of the detection target sequence generation unit of the position marker detection unit of the eleventh embodiment of the present invention.
FIG. 83 is a block diagram of a digital watermark detection unit according to an eleventh embodiment of the present invention.
FIG. 84 is a flowchart showing the operation of the digital watermark detection unit according to the eleventh embodiment of the present invention.
FIG. 85 is a block diagram of a symbol detection unit according to an eleventh embodiment of the present invention.
FIG. 86 is a flowchart showing the operation of the symbol detection unit according to the eleventh embodiment of the present invention.
87 is a block diagram of a symbol generation unit of an eleventh embodiment of the present invention. FIG.
FIG. 88 is a flowchart showing the operation of the symbol generation unit of the eleventh embodiment of the present invention.
FIG. 89 is a block diagram of a detection result generation unit of an eleventh embodiment of the present invention.
FIG. 90 is a flowchart showing the operation of the detection result generation unit of the eleventh embodiment of the present invention.
FIG. 91 is a diagram for explaining the operation of the position marker detection unit according to the twelfth embodiment of the present invention.
FIG. 92 is a block diagram of the digital watermark detection unit of the thirteenth embodiment of the present invention.
FIG. 93 is a flowchart showing the operation of the digital watermark detection unit of the thirteenth embodiment of the present invention.
FIG. 94 is a diagram for explaining the operation of a block division unit according to the thirteenth embodiment of the present invention.
FIG. 95 is a block diagram of a symbol detection unit according to a thirteenth embodiment of the present invention.
FIG. 96 is a flowchart showing the operation of the symbol detector of the thirteenth embodiment of the present invention.
FIG. 97 is a block diagram of a symbol sequence generation unit of a thirteenth embodiment of the present invention.
FIG. 98 is a flowchart showing the operation of the symbol sequence generation unit of the thirteenth embodiment of the present invention.
FIG. 99 is a block diagram of a detection result generation unit of a thirteenth embodiment of the present invention.
FIG. 100 is a flowchart illustrating the operation of a detection result generation unit according to the thirteenth embodiment of the present invention.
FIG. 101 is a diagram for explaining an operation of a block division unit in the digital watermark detection unit according to the fourteenth embodiment of the present invention;
FIG. 102 is a block diagram of a block generation unit of a position marker detection unit according to a fifteenth embodiment of the present invention.
FIG. 103 is a flowchart showing the operation of the block generator of the position marker detector of the fifteenth embodiment of the present invention.
FIG. 104 is a diagram for explaining the operation of a block generation unit according to the fifteenth embodiment of the present invention.
FIG. 105 is a block diagram of a block generation unit of a position marker detection unit according to a sixteenth embodiment of the present invention.
FIG. 106 is a flowchart showing the operation of the block generator of the position marker detector of the sixteenth embodiment of the present invention.
FIG. 107 is a diagram for explaining the operation of the block generation unit according to the sixteenth embodiment of the present invention.
FIG. 108 is a flowchart illustrating the operation of the offset information generation unit of the position marker detection unit according to the nineteenth embodiment of the present invention.
FIG. 109 is a flowchart illustrating the operation of the detection result generation unit of the digital watermark detection unit according to the twentieth embodiment of the present invention.
FIG. 110 is a graph showing a corr value and a theoretical value by computer simulation of the twenty-first embodiment of the present invention.
FIG. 111 is a graph of symbol detection information by computer simulation according to the twenty-first embodiment of the present invention.
FIG. 112 is a diagram showing PSNR when the embedding strength of the present invention is changed.
FIG. 113 is a diagram showing a result of detecting watermark information from a watermarked image by computer simulation of the present invention.
FIG. 114 is a diagram showing a detection result from a partial image by computer simulation according to the present invention.
FIG. 115 is a diagram showing a detection failure and a successful partial image by computer simulation of the present invention.
FIG. 116 is a diagram showing a detection result from a JPEG compressed image by computer simulation according to the present invention.
FIG. 117 is a diagram showing a gradation converted image (binary image) by computer simulation of the present invention.
FIG. 118 is an example of a composite image of computer simulation of the present invention.
FIG. 119 is a block diagram of an integrated circuit according to an embodiment of the present invention.
[Explanation of symbols]
1 memory
2 Microprocessor
3 Interface section
1A Change means
2A watermark pattern generation means
3A addition means
4A embedded image generating means
5A Detection target component designation means
6A Position marker series generation means
7A Position marker detection means
8A Digital watermark detection means
10 Input images
20 Local complexity of images
51 Input image
52 Watermark
53 Key information
54 Strength parameters
55 Digital watermark embedded image
61 Input image
62 Watermark
63 Key information
64 Strength parameters
65 Digital watermark embedded image
100 Information embedding device
101 Input image
102 Strength parameter
103 digital watermark
104 Key information
105 Embedded image
110 Watermark pattern addition unit
120 Embedded sequence generator
121 Embedded series
122 Spreading sequence generator
130 Component designation part for embedding
131 Component position information for embedding
132 random number generator
140 Component value change unit
141 watermark coefficient matrix
150 Discrete inverse Fourier transform
151 watermark pattern
200 Electronic Watermark Detection Device
201 Image to be detected
202 Key information
203 Detection result
204 Offset candidate information
205 pixel block
206 Detection target coefficient matrix
207 Detection target series
208 Position marker detection information
210 Detection target component designation part
211 Detection target component position information
212 random number generator
220 Position marker series generation unit
221 Position marker series
222 Spreading sequence generator
230 Position marker detector
231 Offset information
232 Offset candidate information generation unit
233 block generator
234 discrete Fourier transform
235 Detection target sequence generation unit
236 Position marker detection information generation unit
237 Offset information generation unit
240 Digital Watermark Detection Unit
241 Block generator
242 discrete Fourier transform
243 Detection target sequence generation unit
244 Symbol detector
245 Detection result generator
246 pixel block
247 Detection target coefficient matrix
248 Detection target series
249 Symbol detection information
251 Detection result
500 Digital watermark detector
510 Block division
511 pixel block
520 Discrete Fourier Transform unit
521 Detection target coefficient matrix
530 Detection target sequence generation unit
531 Detection target series
540 symbol detector
541 Symbol Candidate Generation Unit
542 Symbol sequence generator
543 Symbol detection information generation unit
544 candidate symbols
545 symbol series
546 Symbol detection information
550 detection result generation unit
551 Series generation unit for each symbol position
552 detection symbol generator
553 Inverse symbol conversion unit
554 Series for each symbol position
555 Detection symbol
556 detection result
600 Digital watermark detector
601 pixel block
602 Sequence matrix to be detected
603 Detection target series
604 Symbol detection information
610 Block division unit
620 Discrete Fourier Transform unit
630 Detection target sequence generation unit
640 symbol detector
641 Symbol candidate generator
642 Symbol candidate
643 Symbol sequence generator
644 symbol series
645 Symbol detection information generation unit
646 Symbol detection information
650 detection result generation unit
651 Series generation unit for each symbol position
652 Series for each symbol position
653 Detection symbol generator
654 Detection symbol
655 Inverse symbol converter
656 Detection result
663 Detection target series
700 Digital Watermark Detection Unit
701 pixel block
702 Detection target coefficient matrix
703 Detection target series
704 Symbol detection information
705 detection result
710 Block division part
720 Discrete Fourier Transform unit
730 Detection Target Sequence Generation Unit
740 Symbol detector
741 Symbol candidate generator
742 Symbol candidate
743 Symbol sequence generator
744 symbol series
745 Symbol detection information generator
746 Symbol detection information
750 detection result generation unit
751 Series generation unit for each symbol position
752 Series for each symbol position
753 Detection symbol generator
754 Detection symbol
755 Inverse symbol converter
756 detection results
800 block generator
801 t blocks
802 Addition block
803 pixel block
810 Block division
820 block adder
900 block generator
901 t blocks
902 Addition block
903 pixel block
910 Block division part
920 block adder
930 cyclic shift section
1000 block generator
1010 Block division unit
1011 t blocks
1012 Addition block
1013 pixel block
1020 Block adder
1030 Cyclic shift section
1100 Electronic watermark detection apparatus
1101 Offset information
1102 Position marker series
1103 Detection target component position information
1104 pixel block
1105 Detection target coefficient matrix
1106 Offset candidate information
1107 Detection target series
1108 Position marker detection information
1110 Position marker detection unit
1111 Block generator
1113 Discrete Fourier Transform unit
1115 Detection target sequence generation unit
1117 Offset candidate information generation unit
1118 Position marker detection information generation unit
1119 Offset information generation unit
1120 Position marker series generation unit
1121 Spreading sequence generator
1130 Detection target component designation part
1131 random number generator
1140 Digital watermark detection unit
1141 Block generator
1142 pixel block
1143 discrete Fourier transform
1144 Detection target coefficient matrix
1145 Detection target sequence generation unit
1146 Detection target series
1147 Symbol detector
1148 Symbol detection information
1149 Detection result generation unit
2000 Digital watermark detector
2001 pixel block
2002 Detection target coefficient matrix
2003 Detection target series
2004 Symbol detection information
2100 Block division
2200 Discrete Fourier Transform unit
2300 Detection target sequence generation unit
2400 Symbol detector
2401 Symbol candidates
2402 Symbol series
2403 Symbol detection information
2410 Symbol candidate generator
2420 Symbol sequence generator
2421 Spreading sequence generator
2430 Symbol detection information generation unit
2500 detection result generator
2501 Series for each symbol position
2502 Detection symbol
2510 Series generation unit for each symbol position
2520 Detection symbol generator
2530 Inverse symbol converter
2441 Symbol candidate generator
2442 Symbol sequence generator
2443 Symbol detection information generation unit
2444 symbol candidates
2445 symbol series
2446 Symbol detection information
2447 Spreading Sequence Generator
2451 Series generation unit for each symbol position
2452 Series for each symbol position
2453 Inverse symbol converter
2454 Series for each symbol position
2455 Detection symbol

Claims (18)

ディジタル画像に対して電子透かしを人間の知覚に感知されないように埋め込む、電子透かしを埋め込む対象である入力画像(101)と、電子透かしの埋め込みの強さの程度を制御するための強度パラメータ(102)と、埋め込む電子透かし(103)と、鍵情報(104)とを入力とし、電子透かしが埋め込まれた埋込済画像(105)を出力とする電子透かし埋め込み方法であって、
前記鍵情報(104)を入力とし、前記鍵情報(104)を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる3次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを埋込対象成分位置情報(131)として出力するステップ(S110)と、
前記電子透かし(103)と前記鍵情報(104)を入力とし、複数の拡散系列生成手段を持ち、前記電子透かし(103)を予め定められたシンボル表現に変換して得られる各シンボルについて、各シンボルの位置毎に前記拡散系列生成手段を一つずつ対応付け、該シンボル位置に対応する拡散系列生成手段を用いて生成される前記鍵情報(104)を種として得られる拡散系列により該シンボル値をスペクトラム拡散変調することによって得られる系列を重畳し、全てのシンボルについて拡散および重畳を行って得られる前記系列長の系列を埋込系列(121)として出力するステップ(S120)と、
予め定められたブロックサイズの行数および列数を持つ複素行列である透かし係数行列(141)を、初期値を零行列として用意するステップ(S130)と、
前記埋込対象成分位置情報(131)と前記埋込系列(121)を入力とし、前記透かし係数行列(141)の、前記埋込対象成分位置情報(131)の各項で指定される成分値を、前記埋込系列(121)の対応する項の値に順次変更し、これを前記系列長の項数分繰り返すことにより前記透かし係数行列(141)の実数成分と虚数成分を独立に変更して出力するステップ(S140)と、
前記透かし係数行列(141)を入力とし、前記透かし係数行列(141)を離散逆フーリエ変換して透かしパターン(151)を生成し出力するステップ(S150)と、
前記入力画像(101)と前記強度パラメータ(102)と前記透かしパターン(150)を入力とし、前記透かしパターン(150)の振幅を前記強度パラメータ(102)の値で増幅し、増幅後の透かしパターンを前記ディジタル画像(101)にタイル状に加算し、埋込済画像(105)出力するステップと、
を有することを特徴とする電子透かし埋め込み方法。
An input image (101) to be embedded with a digital watermark embedded in a digital image so as not to be perceived by human perception, and an intensity parameter (102) for controlling the degree of the strength of embedding the digital watermark ), A digital watermark to be embedded (103), and key information (104), and an embedded image (105) in which the digital watermark is embedded is output.
Using the key information (104) as an input, generating a random number sequence using the key information (104) as a seed for random number generation, and using this random number sequence, a complex matrix having a predetermined number of rows and columns of block size A three-dimensional permutation consisting of a row position, a column position, and a flag for designating a real component or an imaginary component of a component value designated by the row position and the column position, in terms of a predetermined sequence length A step (S110) of determining several times without duplication and outputting this as embedding target component position information (131);
For each symbol obtained by inputting the digital watermark (103) and the key information (104), having a plurality of spreading sequence generation means, and converting the digital watermark (103) into a predetermined symbol representation, one by one correspondence to said spreading sequence generating means for each position of a symbol, by the spreading sequence obtained the key information (104) is generated using a spreading sequence generating means corresponding to the symbol position as a seed Ri該 A step (S120) of superimposing a sequence obtained by performing spread spectrum modulation on a symbol value and outputting the sequence length sequence obtained by spreading and superimposing all symbols as an embedded sequence (121);
Preparing a watermark coefficient matrix (141), which is a complex matrix having a predetermined block size number of rows and columns, with an initial value as a zero matrix (S130);
Component values specified by the respective terms of the embedding target component position information (131) of the watermark coefficient matrix (141) with the embedding target component position information (131) and the embedding sequence (121) as inputs. Is sequentially changed to the value of the corresponding term of the embedded sequence (121), and this is repeated for the number of terms of the sequence length to independently change the real component and the imaginary component of the watermark coefficient matrix (141). Outputting (S140),
Receiving the watermark coefficient matrix (141) as an input, and performing a discrete inverse Fourier transform on the watermark coefficient matrix (141) to generate and output a watermark pattern (151) (S150);
The input image (101), the intensity parameter (102), and the watermark pattern (150) are input, the amplitude of the watermark pattern (150) is amplified by the value of the intensity parameter (102), and the watermark pattern after amplification is amplified. Adding the image to the digital image (101) in a tile shape and outputting the embedded image (105);
An electronic watermark embedding method comprising:
ディジタル画像に対して電子透かしを人間の知覚に感知されないように埋め込む、電子透かしを埋め込む対象である入力画像(101)と、電子透かしの埋め込みの強さの程度を制御するための強度パラメータ(102)と、埋め込む電子透かし(103)と、鍵情報(104)とを入力とし、電子透かしが埋め込まれた埋込済画像(105)を出力とする電子透かし埋め込み方法であって、
前記鍵情報(104)を入力とし、前記鍵情報(104)を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる3次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを埋込対象成分位置情報(131)として出力するステップ(S110)と、
前記電子透かし(103)と前記鍵情報(104)を入力とし、複数の拡散系列生成手段を持ち、複数の拡散系列生成手段の中から一つ選択し、選択された拡散系列生成手段を用いて前記鍵情報(104)を種として得られる拡散系列によって、予め定められた値をスペクトラム拡散変調して得られる前記系列長の系列に対し、前記電子透かし(103)を予め定められたシンボル表現に変換して得られる各シンボルについて、各シンボルの位置毎に、前記選択された拡散系列生成手段以外の拡散系列生成手段を一つずつ対応付け、該シンボル位置に対応する拡散系列生成手段を用いて生成される前記鍵情報(104)を種として得られる拡散系列により該シンボル値をスペクトラム拡散変調することによって得られる系列を重畳し、全てのシンボルについて拡散および重畳を行って得られる前記系列長の系列を埋込系列(121)として出力するステップ(S120)と、
予め定められたブロックサイズの行数および列数を持つ複素行列である透かし係数行列(141)を、初期値を零行列として用意するステップ(S130)と、
前記埋込対象成分位置情報(131)と前記埋込系列(121)を入力とし、前記透かし係数行列(141)の、前記埋込対象成分位置情報(131)の各項で指定される成分値を、前記埋込系列(121)の対応する項の値に順次変更し、これを前記系列長の項数分繰り返すことにより前記透かし係数行列(141)の実数成分と虚数成分を独立に変更して出力するステップ(S140)と、
前記透かし係数行列(141)を入力とし、前記透かし係数行列(141)を離散逆フーリエ変換して透かしパターン(151)を生成し出力するステップ(S150)と、
前記入力画像(101)と前記強度パラメータ(102)と前記透かしパターン(150)を入力とし、前記透かしパターン(150)の振幅を前記強度パラメータ(102)の値で増幅し、増幅後の透かしパターンを前記ディジタル画像(101)にタイル状に加算し、埋込済画像(105)出力するステップと、を有することを特徴とする電子透かし埋め込み方法。
An input image (101) to be embedded with a digital watermark embedded in a digital image so as not to be perceived by human perception, and an intensity parameter (102) for controlling the degree of the strength of embedding the digital watermark ), A digital watermark to be embedded (103), and key information (104), and an embedded image (105) in which the digital watermark is embedded is output.
Using the key information (104) as an input, generating a random number sequence using the key information (104) as a seed for random number generation, and using this random number sequence, a complex matrix having a predetermined number of rows and columns of block size A three-dimensional permutation consisting of a row position, a column position, and a flag for designating a real component or an imaginary component of a component value designated by the row position and the column position, in terms of a predetermined sequence length A step (S110) of determining several times without duplication and outputting this as embedding target component position information (131);
Using the digital watermark (103) and the key information (104) as inputs, having a plurality of spreading sequence generating means, selecting one of the plurality of spreading sequence generating means, and using the selected spreading sequence generating means The digital watermark (103) is converted into a predetermined symbol expression for the sequence length sequence obtained by performing spread spectrum modulation on a predetermined value using a spreading sequence obtained using the key information (104) as a seed. For each symbol obtained by conversion, one spread sequence generation unit other than the selected spread sequence generation unit is associated with each symbol position, and the spread sequence generation unit corresponding to the symbol position is used. A sequence obtained by performing spread spectrum modulation on the symbol value by a spreading sequence obtained using the generated key information (104) as a seed is superimposed, A step (S120) for outputting the sequence length of the sequence obtained by performing spreading and superimposed as embedding sequence (121) for symbols,
Preparing a watermark coefficient matrix (141), which is a complex matrix having a predetermined block size number of rows and columns, with an initial value as a zero matrix (S130);
Component values specified by the respective terms of the embedding target component position information (131) of the watermark coefficient matrix (141) with the embedding target component position information (131) and the embedding sequence (121) as inputs. Is sequentially changed to the value of the corresponding term of the embedded sequence (121), and this is repeated for the number of terms of the sequence length to independently change the real component and the imaginary component of the watermark coefficient matrix (141). Outputting (S140),
Receiving the watermark coefficient matrix (141) as an input, and performing a discrete inverse Fourier transform on the watermark coefficient matrix (141) to generate and output a watermark pattern (151) (S150);
The input image (101), the intensity parameter (102), and the watermark pattern (150) are input, the amplitude of the watermark pattern (150) is amplified by the value of the intensity parameter (102), and the watermark pattern after amplification is amplified. Adding to the digital image (101) in a tile shape and outputting the embedded image (105).
ディジタル画像に対して電子透かしを人間の知覚に感知されないように埋め込む、電子透かしを埋め込む対象である入力画像(101)と、電子透かしの埋め込みの強さの程度を制御するための強度パラメータ(102)と、埋め込む電子透かし(103)と、鍵情報(104)とを入力とし、電子透かしが埋め込まれた埋込済画像(105)を出力とする電子透かし埋め込み方法であって、
前記鍵情報(104)を入力とし、前記鍵情報(104)を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる3次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを埋込対象成分位置情報(131)として出力するステップ(S110)と、
前記電子透かし(103)と前記鍵情報(104)を入力とし、複数の拡散系列生成手段を持ち、拡散系列手段を順序付けし,前記鍵情報(104)を種として0番目の拡散系列生成手段で生成される拡散系列を前記系列長の項数だけ生成し、その振幅を予め定められた倍率で増幅してこれをバッファに保存し、前記電子透かし(103)を予め定められたシンボル表現に変換して得られる各シンボルについて、前記鍵情報(104)に該シンボルの値を加えた値を種として、該シンボルの桁位置( 1 桁目 , 2 桁目 , 3 桁目 , …)の順番の拡散系列生成手段を用いて生成される前記系列長の系列の各項を、前記バッファに保存された系列の対応する各項に順次加算することで重畳し、全てのシンボルについて処理を行った後のバッファの内容を埋込系列(121)として出力するステップ(S120)と、
予め定められたブロックサイズの行数および列数を持つ複素行列である透かし係数行列(141)を、初期値を零行列として用意するステップ(S130)と、
前記埋込対象成分位置情報(131)と前記埋込系列(121)を入力とし、前記透かし係数行列(141)の、前記埋込対象成分位置情報(131)の各項で指定される成分値を、前記埋込系列(121)の対応する項の値に順次変更し、これを前記系列長の項数分繰り返すことにより前記透かし係数行列(141)の実数成分と虚数成分を独立に変更して出力するステップ(S140)と、
前記透かし係数行列(141)を入力とし、前記透かし係数行列(141)を離散逆フーリエ変換して透かしパターン(151)を生成し出力するステップ(S150)と、
前記入力画像(101)と前記強度パラメータ(102)と前記透かしパターン(150)を入力とし、前記透かしパターン(150)の振幅を前記強度パラメータ(102)の値で増幅し、増幅後の透かしパターンを前記ディジタル画像(101)にタイル状に加算し、埋込済画像(105)出力するステップと、
を有することを特徴とする電子透かし埋め込み方法。
An input image (101) to be embedded with a digital watermark embedded in a digital image so as not to be perceived by human perception, and an intensity parameter (102) for controlling the degree of the strength of embedding the digital watermark ), A digital watermark to be embedded (103), and key information (104), and an embedded image (105) in which the digital watermark is embedded is output.
Using the key information (104) as an input, generating a random number sequence using the key information (104) as a seed for random number generation, and using this random number sequence, a complex matrix having a predetermined number of rows and columns of block size A three-dimensional permutation consisting of a row position, a column position, and a flag for designating a real component or an imaginary component of a component value designated by the row position and the column position, in terms of a predetermined sequence length A step (S110) of determining several times without duplication and outputting this as embedding target component position information (131);
The digital watermark (103) and the key information (104) are input, and a plurality of spreading sequence generation means are provided, the spreading sequence means are ordered, and the key information (104) is used as a seed by the 0th spreading sequence generation means. Generates the generated spread sequence by the number of terms of the sequence length, amplifies the amplitude by a predetermined magnification, saves it in a buffer, and converts the digital watermark (103) into a predetermined symbol representation For each symbol obtained in this way, using the value obtained by adding the value of the symbol to the key information (104) as a seed, the digit position of the symbol ( first digit , second digit , third digit , ...) After each sequence of the sequence length sequence generated using the spreading sequence generation means is superimposed on each corresponding term of the sequence stored in the buffer, and all symbols are processed Embed the contents of the buffer A step (S120) for outputting a column (121),
Preparing a watermark coefficient matrix (141), which is a complex matrix having a predetermined block size number of rows and columns, with an initial value as a zero matrix (S130);
Component values specified by the respective terms of the embedding target component position information (131) of the watermark coefficient matrix (141) with the embedding target component position information (131) and the embedding sequence (121) as inputs. Is sequentially changed to the value of the corresponding term of the embedded sequence (121), and this is repeated for the number of terms of the sequence length to independently change the real component and the imaginary component of the watermark coefficient matrix (141). Outputting (S140),
Receiving the watermark coefficient matrix (141) as an input, and performing a discrete inverse Fourier transform on the watermark coefficient matrix (141) to generate and output a watermark pattern (151) (S150);
The input image (101), the intensity parameter (102), and the watermark pattern (150) are input, the amplitude of the watermark pattern (150) is amplified by the value of the intensity parameter (102), and the watermark pattern after amplification is amplified. Adding the image to the digital image (101) in a tile shape and outputting the embedded image (105);
An electronic watermark embedding method comprising:
ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出する、電子透かしを検出する対象である検出対象画像(201)と、鍵情報(202)とを入力とし、電子透かしの検出結果(203)を出力とする電子透かし検出方法であって、
前記鍵情報(202)を入力とし、前記鍵情報(202)を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる3次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを検出対象成分位置情報(211)として出力するステップ(S210)と、
前記検出対象画像(201)と前記鍵情報(202)と前記検出対象成分位置情報(211)を入力とし、前記検出対象画像(201)から、ブロックサイズの領域である画素ブロックを切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、該検出対象係数行列の、前記検出対象成分位置情報(211)の各項で指定される成分値を順次読み取り、これを並べた1次元系列を検出対象系列(248)とし、各シンボルの位置毎に、拡散系列生成手段を一つずつ対応付け、該シンボル位置に対応する拡散系列生成手段を用いて生成される前記鍵情報(104)を種として得られる拡散系列を用いて、該検出対象系列をスペクトラム拡散復調することにより各検出シンボルを得て、検出シンボルの値を電子透かし情報の表現に変換して検出結果(203)として出力するステップ(S240)と、
を有することを特徴とする電子透かし検出方法。
An electronic watermark embedded in a digital image so as not to be perceived by human perception is detected. The detection target image (201) that is a target for detecting the digital watermark and key information (202) are input. A digital watermark detection method that outputs the detection result (203) of
Using the key information (202) as an input, generating a random number sequence using the key information (202) as a seed for random number generation, and using this random number sequence, a complex matrix having a predetermined number of rows and columns of a block size A three-dimensional permutation consisting of a row position, a column position, and a flag for designating a real component or an imaginary component of a component value designated by the row position and the column position, in terms of a predetermined sequence length A step (S210) of determining several times without duplication and outputting this as detection target component position information (211);
The detection target image (201), the key information (202), and the detection target component position information (211) are input, and a pixel block that is a block size region is cut out from the detection target image (201). A one-dimensional array in which a block is subjected to discrete Fourier transform to obtain a detection target coefficient matrix, and component values specified by the respective terms of the detection target component position information (211) of the detection target coefficient matrix are sequentially read and arranged. series as a detection object sequence (248), for each position of each symbol, the key information (104 a spreading sequence generating means one by one correspondence, is generated using a spreading sequence generating means corresponding to the symbol position ) Is used as a seed, and each detection symbol is obtained by performing spread spectrum demodulation on the detection target sequence, and the value of the detection symbol is expressed as digital watermark information. Step (S240) of converting the data into a detection result (203) and outputting it as a detection result (203);
A digital watermark detection method comprising:
ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出する、電子透かしを検出する対象である検出対象画像(201)と、鍵情報(202)と、を入力とし、電子透かしの検出結果(203)を出力とする電子透かし検出方法であって、
前記鍵情報(202)を入力とし、前記鍵情報(202)を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる3次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを検出対象成分位置情報(211)として出力するステップ(S210)と、
前記鍵情報(202)を入力とし、複数の拡散系列生成手段を持ち、複数の拡散系列生成手段の中から一つ選択し、選択された拡散系列生成手段を用いて前記鍵情報(202)を種として得られる拡散系列によって、予め定められた値をスペクトラム拡散変調して得られる前記系列長の系列を、位置マーカ系列(221)として出力するステップ(S221)と、
前記検出対象画像(201)と前記検出対象成分位置情報(211)と前記位置マーカ系列(221)を入力とし、2次元座標の原点を起点として、横方向および縦方向についてブロックサイズまでの全てを走査するようにして、2次元座標であるオフセット候補情報(204)を順次得て、前記オフセット候補情報の各々に対し、前記検出対象画像(201)から、該オフセット候補情報(204)で指定されるオフセット位置を起点としてブロックサイズの領域である画素ブロック(205)を切り出し、該画素ブロック(205)を離散フーリエ変換して検出対象係数行列(206)を得て、該検出対象係数行列(206)の、前記検出対象成分位置情報(211)の各項で指定される成分値を順次読み取り、これを並べた1次元系列を検出対象系列(207)とし、前記位置マーカ系列(221)との相関を計算し、前記オフセット候補情報(204)の中で、最大の相関値を取るときのものをオフセット情報(231)として出力するステップ(S230)と、
前記検出対象画像(201)と前記鍵情報(202)と前記検出対象成分位置情報(211)と前記オフセット情報(231)を入力とし、前記検出対象画像(201)から、前記オフセット情報(231)で指定されるオフセット位置を起点としてブロックサイズの領域である画素ブロックを切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、該検出対象係数行列の、前記検出対象成分位置情報(211)の各項で指定される成分値を順次読み取り、これを並べた1次元系列を検出対象系列(248)とし、各シンボルの位置毎に、前記選択された拡散系列生成手段以外の拡散系列生成手段を一つずつ対応付け、該シンボル位置に対応する拡散系列生成手段を用いて生成される前記鍵情報(104)を種として得られる拡散系列を用いて、検出対象系列をスペクトラム拡散復調することにより各検出シンボルを得て、検出シンボルの値を電子透かし情報の表現に変換して検出結果(203)として出力するステップ(S240)と、を有することを特徴とする電子透かし検出方法。
An electronic watermark embedded in a digital image so as not to be perceived by human perception is detected. The detection target image (201) that is a target for detecting the digital watermark and key information (202) are input. An electronic watermark detection method for outputting a watermark detection result (203), comprising:
Using the key information (202) as an input, generating a random number sequence using the key information (202) as a seed for random number generation, and using this random number sequence, a complex matrix having a predetermined number of rows and columns of a block size A three-dimensional permutation consisting of a row position, a column position, and a flag for designating a real component or an imaginary component of a component value designated by the row position and the column position, in terms of a predetermined sequence length A step (S210) of determining several times without duplication and outputting this as detection target component position information (211);
The key information (202) is input, has a plurality of spreading sequence generation means, selects one of the plurality of spreading sequence generation means, and uses the selected spreading sequence generation means to obtain the key information (202). Outputting the sequence length sequence obtained by performing spread spectrum modulation on a predetermined value as a position marker sequence (221) using a spread sequence obtained as a seed; (S221);
Using the detection target image (201), the detection target component position information (211), and the position marker series (221) as input, starting from the origin of the two-dimensional coordinates, all of the horizontal and vertical directions up to the block size are obtained. The candidate offset information (204), which is a two-dimensional coordinate, is sequentially obtained by scanning, and each of the offset candidate information is designated by the candidate offset information (204) from the detection target image (201). The pixel block (205), which is a block size area, is cut out starting from the offset position to be detected, the pixel block (205) is subjected to discrete Fourier transform to obtain a detection target coefficient matrix (206), and the detection target coefficient matrix (206 ) Of the detection target component position information (211) is sequentially read, and a one-dimensional series in which these values are arranged is detected. The correlation between the target sequence (207) and the position marker sequence (221) is calculated, and the offset candidate information (204) when the maximum correlation value is obtained is output as offset information (231). Step (S230);
The detection target image (201), the key information (202), the detection target component position information (211), and the offset information (231) are input, and the offset information (231) is extracted from the detection target image (201). A pixel block that is a block size area is cut out starting from the offset position specified in, the pixel block is subjected to discrete Fourier transform to obtain a detection target coefficient matrix, and the detection target component position information of the detection target coefficient matrix The component values specified in the respective items of (211) are sequentially read, and the one-dimensional series in which these values are arranged is set as the detection target series (248), and diffusion other than the selected spread series generating means is performed for each symbol position. Sequence generation means are associated one by one, and the key information (104) generated using the spread sequence generation means corresponding to the symbol position is obtained as a seed. Step of obtaining each detected symbol by performing spread spectrum demodulation on the detection target sequence using the spread sequence to be converted, converting the value of the detected symbol into a representation of digital watermark information and outputting it as a detection result (203) (S240) An electronic watermark detection method comprising:
ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出する、電子透かしを検出する対象である検出対象画像(201)と、鍵情報(202)とを入力とし、電子透かしの検出結果(203)を出力とする電子透かし検出方法であって、
前記鍵情報(202)を入力とし、前記鍵情報(202)を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる3次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを検出対象成分位置情報(211)として出力するステップ(S210)と、
前記鍵情報(202)を入力とし、複数の拡散系列生成手段を持ち、前記鍵情報(202)を種として0番目の拡散系列生成手段で生成される拡散系列を前記系列長の項数だけ生成し、これを位置マーカ系列(221)として出力するステップ(S220)と、
前記検出対象画像(201)と前記検出対象成分位置情報(211)と前記位置マーカ系列(221)を入力とし、2次元座標の原点を起点として、横方向および縦方向についてブロックサイズまでの全てを走査するようにして、2次元座標であるオフセット候補情報(204)を順次得て、前記オフセット候補情報の各々に対し、前記検出対象画像(201)から、該オフセット候補情報(204)で指定されるオフセット位置を起点としてブロックサイズの領域である画素ブロック(205)を切り出し、該画素ブロック(205)を離散フーリエ変換して検出対象係数行列(206)を得て、該検出対象係数行列(206)の、前記検出対象成分位置情報(211)の各項で指定される成分値を順次読み取り、これを並べた1次元系列を検出対象系列(207)とし、前記位置マーカ系列(221)との相関を計算し、前記オフセット候補情報(204)の中で、最大の相関値を取るときのものをオフセット情報(231)として出力するステップ(S230)と、
前記検出対象画像(201)と前記鍵情報(202)と前記検出対象成分位置情報(211)と前記オフセット情報(231)を入力とし、前記検出対象画像(201)から、前記オフセット情報(231)で指定されるオフセット位置を起点としてブロックサイズの領域である画素ブロックを切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、該検出対象係数行列の、前記検出対象成分位置情報(211)の各項で指定される成分値を順次読み取り、これを並べた1次元系列を検出対象系列(248)とし、前記鍵情報(202)と取り得る全てのシンボル候補(2444)の値を加算した値を各々種として、各シンボル位置に対応した拡散系列生成手段を用いて得られるシンボル系列(2445)と、該検出対象系列(248)との相関を計算してシンボル検出情報(249)を得て、各シンボル位置について最大の相関値を取るときのシンボル候補(2444)を該シンボル位置における検出シンボルとし、検出シンボルの値を電子透かし情報の表現に変換して検出結果(203)として出力するステップ(S240)と、
を有することを特徴とする電子透かし検出方法。
An electronic watermark embedded in a digital image so as not to be perceived by human perception is detected. The detection target image (201) that is a target for detecting the digital watermark and key information (202) are input. A digital watermark detection method that outputs the detection result (203) of
Using the key information (202) as an input, generating a random number sequence using the key information (202) as a seed for random number generation, and using this random number sequence, a complex matrix having a predetermined number of rows and columns of a block size A three-dimensional permutation consisting of a row position, a column position, and a flag for designating a real component or an imaginary component of a component value designated by the row position and the column position, in terms of a predetermined sequence length A step (S210) of determining several times without duplication and outputting this as detection target component position information (211);
Using the key information (202) as input, having a plurality of spreading sequence generation means, and generating the spreading sequence generated by the 0th spreading sequence generation means using the key information (202) as a seed for the number of terms of the sequence length And outputting this as a position marker series (221) (S220),
Using the detection target image (201), the detection target component position information (211), and the position marker series (221) as input, starting from the origin of the two-dimensional coordinates, all of the horizontal and vertical directions up to the block size are obtained. The candidate offset information (204), which is a two-dimensional coordinate, is sequentially obtained by scanning, and each of the offset candidate information is designated by the candidate offset information (204) from the detection target image (201). The pixel block (205), which is a block size area, is cut out starting from the offset position to be detected, the pixel block (205) is subjected to discrete Fourier transform to obtain a detection target coefficient matrix (206), and the detection target coefficient matrix (206 ) Of the detection target component position information (211) is sequentially read, and a one-dimensional series in which these values are arranged is detected. The correlation between the target sequence (207) and the position marker sequence (221) is calculated, and the offset candidate information (204) when the maximum correlation value is obtained is output as offset information (231). Step (S230);
The detection target image (201), the key information (202), the detection target component position information (211), and the offset information (231) are input, and the offset information (231) is extracted from the detection target image (201). A pixel block that is a block size area is cut out starting from the offset position specified in, the pixel block is subjected to discrete Fourier transform to obtain a detection target coefficient matrix, and the detection target component position information of the detection target coefficient matrix The component values specified in the respective items of (211) are sequentially read, and the one-dimensional sequence in which these values are arranged is set as the detection target sequence (248), and the key information (202) and all possible symbol candidates (2444) values The symbol sequence (2445) obtained by using the spreading sequence generation means corresponding to each symbol position, with the value obtained by adding the values as seeds, and the detection target The symbol detection information (249) is obtained by calculating the correlation with the sequence (248), and the symbol candidate (2444) when the maximum correlation value is obtained for each symbol position is set as the detection symbol at the symbol position. Converting the value into a representation of digital watermark information and outputting it as a detection result (203) (S240);
A digital watermark detection method comprising:
ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出する、電子透かしを検出する対象である検出対象画像(201)と、鍵情報(202)とを入力とし、電子透かしの検出結果(203)を出力とする電子透かし検出方法であって、
前記鍵情報(202)を入力とし、前記鍵情報(202)を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる3次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを検出対象成分位置情報(1103)として出力するステップ(S1110)と、
前記鍵情報(202)を入力とし、複数の拡散系列生成手段を持ち、複数の拡散系列生成手段の中から一つ選択し、選択された拡散系列生成手段を用いて前記鍵情報(202)を種として得られる拡散系列によって、予め定められた値をスペクトラム拡散変調して得られる前記系列長の系列を、位置マーカ系列(1102)として出力するステップ(S1120)と、
前記検出対象画像(201)と前記検出対象成分位置情報(1103)と前記位置マーカ系列(1102)を入力とし、前記検出対象画像(201)の予め定められた位置から、ブロックサイズの領域である画素ブロック(1104)を切り出し、該画素ブロック(1104)を離散フーリエ変換して検出対象係数行列(1105)を得て、2次元座標の原点を起点として、横方向および縦方向についてブロックサイズまでの全てを走査するようにして、2次元座標であるオフセット候補情報(1106)を順次得て、該検出対象係数行列(1105)の、前記検出対象成分位置情報(1103)の各項で指定される成分値を順次読み取り、これを並べた1次元系列の各項に対し該オフセット候補情報(1106)に対応する位相差を与えて得られる系列を検出対象系列(1107)とし、前記位置マーカ系列(1102)との相関を計算し、前記オフセット候補情報(1106)の中で、最大の相関値を取るときのものをオフセット情報(1101)として出力するステップ(S1130)と、
前記検出対象画像(201)と前記鍵情報(202)と前記検出対象成分位置情報(1103)と前記オフセット情報(1101)を入力とし、前記検出対象画像(201)の予め定められた位置から、ブロックサイズの領域である画素ブロック(1142)を切り出し、該画素ブロック(1142)を離散フーリエ変換して検出対象係数行列(1144)を得て、該検出対象係数行列(1144)の、前記検出対象成分位置情報(1103)の各項で指定される成分値を順次読み取り、これを並べた1次元系列の各項に対し該オフセット候補情報(1106)に対応する位相差を与えて得られる系列を検出対象系列(1146)とし、各シンボルの位置毎に、前記選択された拡散系列生成手段以外の拡散系列生成手段を一つずつ対応付け、該シンボル位置に対応する拡散系列生成手段を用いて生成される前記鍵情報(104)を種として得られる拡散系列を用いて、検出対象系列をスペクトラム拡散復調することにより各検出シンボルを得て、検出シンボルの値を電子透かし情報の表現に変換して検出結果(203)として出力するステップ(S1140)と、
を有することを特徴とする電子透かし検出方法。
An electronic watermark embedded in a digital image so as not to be perceived by human perception is detected. The detection target image (201) that is a target for detecting the digital watermark and key information (202) are input. A digital watermark detection method that outputs the detection result (203) of
Using the key information (202) as an input, generating a random number sequence using the key information (202) as a seed for random number generation, and using this random number sequence, a complex matrix having a predetermined number of rows and columns of a block size A three-dimensional permutation consisting of a row position, a column position, and a flag for designating a real component or an imaginary component of a component value designated by the row position and the column position, in terms of a predetermined sequence length A step (S1110) of determining without overlap and outputting this as detection target component position information (1103);
The key information (202) is input, has a plurality of spreading sequence generation means, selects one of the plurality of spreading sequence generation means, and uses the selected spreading sequence generation means to obtain the key information (202). Outputting a sequence of the sequence length obtained by performing spread spectrum modulation on a predetermined value using a spreading sequence obtained as a seed as a position marker sequence (1102);
The detection target image (201), the detection target component position information (1103), and the position marker series (1102) are input, and a block size region from a predetermined position of the detection target image (201). The pixel block (1104) is cut out, and the pixel block (1104) is subjected to a discrete Fourier transform to obtain a detection target coefficient matrix (1105). Scanning all of them, offset candidate information (1106) that is two-dimensional coordinates is sequentially obtained, and is specified by each item of the detection target component position information (1103) of the detection target coefficient matrix (1105). Obtained by sequentially reading component values and giving a phase difference corresponding to the offset candidate information (1106) to each term of the one-dimensional series in which the component values are arranged. The sequence to be detected is set as a detection target sequence (1107), the correlation with the position marker sequence (1102) is calculated, and the offset candidate information (1106) in which the maximum correlation value is obtained is the offset information (1101). ) As a step (S1130),
Using the detection target image (201), the key information (202), the detection target component position information (1103) and the offset information (1101) as inputs, from a predetermined position of the detection target image (201), A pixel block (1142), which is a block size area, is cut out, and the pixel block (1142) is subjected to discrete Fourier transform to obtain a detection target coefficient matrix (1144), and the detection target coefficient matrix (1144) of the detection target coefficient matrix (1144) is obtained. A sequence obtained by sequentially reading component values designated by each term of the component position information (1103) and giving a phase difference corresponding to the offset candidate information (1106) to each term of the one-dimensional sequence in which the component values are arranged. The detection target sequence (1146) is associated with one spread sequence generation means other than the selected spread sequence generation means for each symbol position, Each detection symbol is obtained by performing spread spectrum demodulation on the detection target sequence using the spread sequence obtained by using the key information (104) generated by the spread sequence generation means corresponding to the symbol position as a seed. Converting the value of the symbol into a representation of digital watermark information and outputting it as a detection result (203) (S1140);
A digital watermark detection method comprising:
ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出する、電子透かしを検出する対象である検出対象画像(201)と、鍵情報(202)とを入力とし、電子透かしの検出結果(203)を出力とする電子透かし検出方法であって、
前記鍵情報(202)を入力とし、前記鍵情報(202)を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなる3次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを検出対象成分位置情報(1103)として出力するステップ(S1110)と、
前記鍵情報(202)を入力とし、複数の拡散系列生成手段を持ち、前記鍵情報(202)を種として0番目の拡散系列生成手段で生成される拡散系列を前記系列長の項数だけ生成し、これを位置マーカ系列(1102)として出力するステップ(S1120)と、
前記検出対象画像(201)と前記検出対象成分位置情報(1103)と前記位置マーカ系列(1102)を入力とし、前記検出対象画像(201)の左上の位置から、ブロックサイズの領域である画素ブロック(1104)を切り出し、該画素ブロック(1104)を離散フーリエ変換して検出対象係数行列(1105)を得て、2次元座標の原点を起点として、横方向および縦方向についてブロックサイズまでの全てを走査するようにして、2次元座標であるオフセット候補情報(1106)を順次得て、該検出対象係数行列(1105)の、前記検出対象成分位置情報(1103)の各項で指定される成分値を順次読み取り、これを並べた1次元系列の各項に対し該オフセット候補情報(1106)に対応する位相差を与えて得られる系列を検出対象系列(1107)とし、前記位置マーカ系列(1102)との相関を計算し、前記オフセット候補情報(1106)の中で、最大の相関値を取るときのものをオフセット情報(1101)として出力するステップ(S1130)と、
前記検出対象画像(201)と前記鍵情報(202)と前記検出対象成分位置情報(1103)と前記オフセット情報(1101)を入力とし、前記検出対象画像(201)の左上の位置から、ブロックサイズの領域である画素ブロック(1142)を切り出し、該画素ブロック(1142)を離散フーリエ変換して検出対象係数行列(1144)を得て、該検出対象係数行列(1144)の、前記検出対象成分位置情報(1103)の各項で指定される成分値を順次読み取り、これを並べた1次元系列の各項に対し該オフセット候補情報(1106)に対応する位相差を与えて得られる系列を検出対象系列(1146)とし、前記鍵情報(202)と取り得る全てのシンボル候補(11472)の値を加算した値を各々種として、各シンボル位置に対応した拡散系列生成手段を用いて得られるシンボル系列(11474)と、該検出対象系列(1146)との相関を計算してシンボル検出情報(1148)を得て、各シンボル位置について最大の相関値を取るときのシンボル候補(11474)を該シンボル位置における検出シンボルとし、検出シンボルの値を電子透かし情報の表現に変換して検出結果(203)として出力するステップ(S1140)と、
を有することを特徴とする電子透かし検出方法。
An electronic watermark embedded in a digital image so as not to be perceived by human perception is detected. The detection target image (201) that is a target for detecting the digital watermark and key information (202) are input. A digital watermark detection method that outputs the detection result (203) of
Using the key information (202) as an input, generating a random number sequence using the key information (202) as a seed for random number generation, and using this random number sequence, a complex matrix having a predetermined number of rows and columns of a block size A three-dimensional permutation consisting of a row position, a column position, and a flag for designating a real component or an imaginary component of a component value designated by the row position and the column position, in terms of a predetermined sequence length A step (S1110) of determining without overlap and outputting this as detection target component position information (1103);
Using the key information (202) as input, having a plurality of spreading sequence generation means, and generating the spreading sequence generated by the 0th spreading sequence generation means using the key information (202) as a seed for the number of terms of the sequence length And outputting this as a position marker series (1102) (S1120),
A pixel block that is an area of a block size from the upper left position of the detection target image (201) with the detection target image (201), the detection target component position information (1103), and the position marker series (1102) as inputs. (1104) is cut out, and the pixel block (1104) is subjected to discrete Fourier transform to obtain a detection target coefficient matrix (1105). From the origin of the two-dimensional coordinates as a starting point, everything up to the block size in the horizontal and vertical directions is obtained. As a result of scanning, offset candidate information (1106) that is two-dimensional coordinates is sequentially obtained, and component values specified by the respective terms of the detection target component position information (1103) of the detection target coefficient matrix (1105). Obtained by sequentially reading and giving a phase difference corresponding to the offset candidate information (1106) to each term of the one-dimensional series in which these are arranged The correlation with the position marker series (1102) is calculated as the detection target series (1107), and the offset candidate information (1106) that is used when taking the maximum correlation value is output as the offset information (1101). Performing step (S1130);
The detection target image (201), the key information (202), the detection target component position information (1103), and the offset information (1101) are input, and the block size is determined from the upper left position of the detection target image (201). The pixel block (1142) that is the region of the pixel is cut out, the pixel block (1142) is subjected to discrete Fourier transform to obtain a detection target coefficient matrix (1144), and the detection target component position of the detection target coefficient matrix (1144) is obtained. A component obtained by sequentially reading component values specified in each item of information (1103) and giving a phase difference corresponding to the offset candidate information (1106) to each item of a one-dimensional sequence in which the values are arranged is detected. Each symbol is a sequence (1146), and the value obtained by adding the values of the key information (202) and all possible symbol candidates (11472) is a seed. The correlation between the symbol sequence (11474) obtained using the spreading sequence generation means corresponding to the position and the detection target sequence (1146) is calculated to obtain symbol detection information (1148), and the maximum for each symbol position A step (S1140) of using a symbol candidate (11474) when taking a correlation value as a detected symbol at the symbol position, converting the value of the detected symbol into a representation of digital watermark information and outputting it as a detection result (203);
A digital watermark detection method comprising:
請求項4乃至請求項8に記載の電子透かし検出方法であって、
オフセット情報を出力するステップ、および検出結果を出力するステップにおいて、検出対象画像(201)を入力するステップと、
検出対象画像の左上からブロックサイズの画素ブロックを切り取り出力するステップにおいて、前記検出対象画像(201)から切り出せる画像領域がブロックサイズに満たない場合には、ブロックサイズに含まれる前記検出対象画像(201)の画素領域の画素値の平均値を求めるステップと、該平均値でブロックサイズの不足分を埋めたものを画素ブロックとして出力するステップと、
を有することを特徴とする電子透かし検出方法。
The digital watermark detection method according to claim 4, wherein:
In the step of outputting the offset information and the step of outputting the detection result, the step of inputting the detection target image (201);
In the step of cutting out and outputting a block block of pixel size from the upper left of the detection target image, if the image area that can be cut out from the detection target image (201) is less than the block size, the detection target image ( 201) calculating an average value of pixel values in the pixel area, and outputting a pixel block with a block size deficiency filled with the average value,
A digital watermark detection method comprising:
請求項4乃至請求項に記載の電子透かし検出方法であって、
オフセット情報を出力するステップ、および検出結果を出力するステップにおいて、検出対象画像(201)を入力とし画素ブロックを出力とするステップとして、検出対象画像を左上からブロックサイズのブロック群に分割し、全てのブロックを加算して得られる加算ブロックを画素ブロックとして出力するステップと、
を有することを特徴とする電子透かし検出方法。
A fourth aspect to the electronic watermark detecting method according to claim 9,
In the step of outputting the offset information and the step of outputting the detection result, as the step of inputting the detection target image (201) and outputting the pixel block, the detection target image is divided into block groups having a block size from the upper left. Outputting an addition block obtained by adding these blocks as a pixel block;
A digital watermark detection method comprising:
請求項4乃至請求項10に記載の電子透かし検出方法であって、
オフセット情報を出力するステップにおいて、算出した最大の相関値が、予め定められた閾値に満たない場合に処理を中断し、電子透かしの検出に失敗した旨の検出結果を出力するステップと、
を有することを特徴とする電子透かし検出方法。
The digital watermark detection method according to claim 4, wherein:
In the step of outputting the offset information, a step of interrupting the processing when the calculated maximum correlation value is less than a predetermined threshold value, and outputting a detection result indicating that the detection of the digital watermark has failed,
A digital watermark detection method comprising:
請求項4乃至請求項11に記載の電子透かし検出方法であって、
検出結果を出力するステップにおいて、各シンボル位置毎に算出した最大の相関値の中で、予め定められた閾値に満たないものがある場合に処理を中断し、電子透かしの検出に失敗した旨の検出結果を出力するステップと
を有することを特徴とする電子透かし検出方法。
12. The digital watermark detection method according to claim 4, wherein:
In the step of outputting the detection result, if there is a maximum correlation value calculated for each symbol position that does not satisfy a predetermined threshold value, the process is interrupted, and the detection of the digital watermark has failed. And a step of outputting a detection result.
請求項12に記載の電子透かし検出方法であって、
前記閾値として、特定の確率分布の分布関数の値に基づいて定められた閾値を適用することを特徴とする電子透かし検出方法。
The digital watermark detection method according to claim 12, comprising:
A digital watermark detection method, wherein a threshold value determined based on a value of a distribution function of a specific probability distribution is applied as the threshold value.
請求項13に記載の電子透かし検出方法であって、
前記確率分布の分布関数として、正規分布の分布関数を適用することを特徴とする電子透かし検出方法。
The digital watermark detection method according to claim 13,
A digital watermark detection method, wherein a distribution function of a normal distribution is applied as the distribution function of the probability distribution.
(埋め込み方法抽象化(位置マーカ無し))(Embedding method abstraction (no position marker))
ディジタル画像に対して電子透かしを人間の知覚に感知されないように埋め込む、電子透かしを埋め込む対象である入力画像(101)と、電子透かしの埋め込みの強さの程度The digital image is embedded so that the digital watermark is not perceived by human perception, the input image (101) that is the target of embedding the digital watermark, and the strength of embedding the digital watermark を制御するための強度パラメータ(102)と、埋め込む電子透かし(103)と、鍵情報(104)とを入力とし、電子透かしが埋め込まれた埋込済画像(105)を出力とする電子透かし埋め込み方法であって、Watermark embedding using as input an intensity parameter (102) for controlling the image, an embedded digital watermark (103), and key information (104), and an embedded image (105) embedded with the digital watermark A method,
前記鍵情報(104)を入力とし、前記鍵情報(104)を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなるUsing the key information (104) as an input, generating a random number sequence using the key information (104) as a seed for random number generation, and using this random number sequence, a complex matrix having a predetermined number of rows and columns of block size Are the row position, the column position, and the flag for designating the real or imaginary component of the component value specified by the row position and the column position. 3Three 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを埋込対象成分位置情報(131)として出力するステップ(S110)と、Determining a permutation of dimensions by the number of terms of a predetermined sequence length without duplication, and outputting this as embedding target component position information (131) (S110);
前記電子透かし(103)と前記鍵情報(104)を入力とし、少なくとも一つの拡散系列生成手段を持ち、前記拡散系列生成手段に前記鍵情報(104)を与えることにより生成される拡散系列を用いて前記電子透かし(103)をスペクトラム拡散変調することによって得られる系列を埋込系列(121)として出力するステップ(S120)と、Using the digital watermark (103) and the key information (104) as inputs, having at least one spreading sequence generating means, and using the spreading sequence generated by giving the key information (104) to the spreading sequence generating means Outputting a sequence obtained by performing spread spectrum modulation on the digital watermark (103) as an embedded sequence (121) (S120);
予め定められたブロックサイズの行数および列数を持つ複素行列である透かし係数行列(141)を、初期値を零行列として用意するステップ(S130)と、Preparing a watermark coefficient matrix (141), which is a complex matrix having a predetermined block size number of rows and columns, with an initial value as a zero matrix (S130);
前記埋込対象成分位置情報(131)と前記埋込系列(121)を入力とし、前記透かし係数行列(141)の、前記埋込対象成分位置情報(131)の各項で指定される成分値を、前記埋込系列(121)の対応する項の値に順次変更し、これを前記系列長の項数分繰り返すことにより前記透かし係数行列(141)の実数成分と虚数成分を独立に変更して出力するステップ(S140)と、Component values specified by the respective terms of the embedding target component position information (131) of the watermark coefficient matrix (141) with the embedding target component position information (131) and the embedding sequence (121) as inputs. Is sequentially changed to the value of the corresponding term of the embedded sequence (121), and this is repeated for the number of terms of the sequence length to independently change the real component and the imaginary component of the watermark coefficient matrix (141). Outputting (S140),
前記透かし係数行列(141)を入力とし、前記透かし係数行列(141)を離散逆フーリエ変換して透かしパターン(151)を生成し出力するステップ(S150)と、Receiving the watermark coefficient matrix (141) as an input, and performing a discrete inverse Fourier transform on the watermark coefficient matrix (141) to generate and output a watermark pattern (151) (S150);
前記入力画像(101)と前記強度パラメータ(102)と前記透かしパターン(150)を入力とし、前記透かしパターン(150)の振幅を前記強度パラメータ(102)の値で増幅し、増幅後の透かしパターンを前記ディジタル画像(101)にタイル状に加算し、埋込済画像(105)出力するステップと、The input image (101), the intensity parameter (102), and the watermark pattern (150) are input, the amplitude of the watermark pattern (150) is amplified by the value of the intensity parameter (102), and the watermark pattern after amplification is amplified. Adding the image to the digital image (101) in a tile shape and outputting the embedded image (105);
を有することを特徴とする電子透かし埋め込み方法。An electronic watermark embedding method comprising:
(埋め込み方法抽象化(位置マーカ有り))(Embedding method abstraction (with position marker))
ディジタル画像に対して電子透かしを人間の知覚に感知されないように埋め込む、電子透かしを埋め込む対象である入力画像(101)と、電子透かしの埋め込みの強さの程度を制御するための強度パラメータ(102)と、埋め込む電子透かし(103)と、鍵情報(104)とを入力とし、電子透かしが埋め込まれた埋込済画像(105)を出力とする電子透かし埋め込み方法であって、An input image (101) to be embedded with a digital watermark embedded in a digital image so as not to be perceived by human perception, and an intensity parameter (102) for controlling the degree of the strength of embedding the digital watermark ), A digital watermark to be embedded (103), and key information (104), and an embedded image (105) in which the digital watermark is embedded is output.
前記鍵情報(104)を入力とし、前記鍵情報(104)を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなるUsing the key information (104) as an input, generating a random number sequence using the key information (104) as a seed for random number generation, and using this random number sequence, a complex matrix having a predetermined number of rows and columns of block size Are the row position, the column position, and the flag for designating the real or imaginary component of the component value specified by the row position and the column position. 3Three 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを埋込対象成分位置情報(131)として出力するステップ(S110)と、Determining a permutation of dimensions by the number of terms of a predetermined sequence length without duplication, and outputting this as embedding target component position information (131) (S110);
前記電子透かし(103)と前記鍵情報(104)を入力とし、複数の拡散系列生成手段を持ち、複数の拡散系列生成手段から少なくとも一つの拡散系列生成手段を選択し,選択された拡散系列生成手段に前記鍵情報(104)を与えることにより生成される拡散系列を用いて,予め定められた値をスペクトラム拡散変調して前記系列長の系列を得て,Inputs the digital watermark (103) and the key information (104), has a plurality of spreading sequence generation means, selects at least one spreading sequence generation means from the plurality of spreading sequence generation means, and generates a selected spreading sequence Using a spread sequence generated by giving the key information (104) to the means, a predetermined value is spread spectrum modulated to obtain the sequence length sequence,
前記選択された拡散系列生成手段以外の少なくとも一つの拡散系列に前記鍵情報(104)を与えることにより生成される拡散系列を用いて,前記電子透かし(103)をスペクトラム拡散変調することによって得られる系列を,前記予め定められた値をスペクトラム拡散変調して得られた系列に重畳して,埋込系列(121)として出力するステップ(S120)と、Obtained by performing spread spectrum modulation on the digital watermark (103) using a spreading sequence generated by giving the key information (104) to at least one spreading sequence other than the selected spreading sequence generating means Superimposing a sequence on a sequence obtained by performing spread spectrum modulation on the predetermined value and outputting the sequence as an embedded sequence (121) (S120);
予め定められたブロックサイズの行数および列数を持つ複素行列である透かし係数行列(141)を、初期値を零行列として用意するステップ(S130)と、Preparing a watermark coefficient matrix (141), which is a complex matrix having a predetermined block size number of rows and columns, with an initial value as a zero matrix (S130);
前記埋込対象成分位置情報(131)と前記埋込系列(121)を入力とし、前記透かし係数行列(141)の、前記埋込対象成分位置情報(131)の各項で指定される成分値を、前記埋込系列(121)の対応する項の値に順次変更し、これを前記系列長の項数分繰り返すことにより前記透かし係数行列(141)の実数成分と虚数成分を独立に変更して出力するステップ(S140)と、Component values specified by the respective terms of the embedding target component position information (131) of the watermark coefficient matrix (141) with the embedding target component position information (131) and the embedding sequence (121) as inputs. Is sequentially changed to the value of the corresponding term of the embedded sequence (121), and this is repeated for the number of terms of the sequence length to independently change the real component and the imaginary component of the watermark coefficient matrix (141). Outputting (S140),
前記透かし係数行列(141)を入力とし、前記透かし係数行列(141)を離散逆フーリエ変換して透かしパターン(151)を生成し出力するステップ(S150)と、Receiving the watermark coefficient matrix (141) as an input, and performing a discrete inverse Fourier transform on the watermark coefficient matrix (141) to generate and output a watermark pattern (151) (S150);
前記入力画像(101)と前記強度パラメータ(102)と前記透かしパターン(150)を入力とし、前記透かしパターン(150)の振幅を前記強度パラメータ(102)の値で増幅し、増幅後の透かしパターンを前記ディジタル画像(101)にタイル状に加算し、埋込済画像(105)出力するステップと、The input image (101), the intensity parameter (102), and the watermark pattern (150) are input, the amplitude of the watermark pattern (150) is amplified by the value of the intensity parameter (102), and the watermark pattern after amplification is amplified. Adding the image to the digital image (101) in a tile shape and outputting the embedded image (105);
を有することを特徴とする電子透かし埋め込み方法。An electronic watermark embedding method comprising:
(検出方法抽象化(位置マーカ無し))(Detection method abstraction (no position marker))
ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出する、電子透かしを検出する対象である検出対象画像(201)と、鍵情報(202)とを入力とし、電子透かしの検出結果(203)を出力とする電子透かし検出方法であって、An electronic watermark embedded in a digital image so as not to be perceived by human perception is detected. The detection target image (201) that is a target for detecting the digital watermark and key information (202) are input. A digital watermark detection method that outputs the detection result (203) of
前記鍵情報(202)を入力とし、前記鍵情報(202)を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなるUsing the key information (202) as an input, generating a random number sequence using the key information (202) as a seed for random number generation, and using this random number sequence, a complex matrix having a predetermined number of rows and columns of a block size Are the row position, the column position, and the flag for designating the real or imaginary component of the component value specified by the row position and the column position. 3Three 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを検出対象成分位置情報(211)として出力するステップ(S210)と、Determining a permutation of dimensions without duplication by the number of terms of a predetermined sequence length, and outputting this as detection target component position information (211) (S210);
前記検出対象画像(201)と前記鍵情報(202)と前記検出対象成分位置情報(211)を入力とし、前記検出対象画像(201)から、ブロックサイズの領域である画素ブロックを少なくとも一つ切り出し、該画素ブロックを離散フーリエ変換して検出対象係数行列を得て、該検出対象係数行列の、前記検出対象成分位置情報(211)の各項で指定される成分値を順次読み取り、これを並べたThe detection target image (201), the key information (202), and the detection target component position information (211) are input, and at least one pixel block that is a block size region is cut out from the detection target image (201). The pixel block is subjected to discrete Fourier transform to obtain a detection target coefficient matrix, and the component values specified in the respective terms of the detection target component position information (211) of the detection target coefficient matrix are sequentially read and arranged. The 11 次元系列を検出対象系列(248)とし、The dimension series is a detection target series (248),
少なくとも一つの拡散系列生成手段に前記鍵情報(202)を与えることにより得られる拡散系列を用いて、該検出対象系列をスペクトラム拡散復調することにより電子透かし情報を検出し,検出結果(203)として出力するステップ(S240)と、Using the spread sequence obtained by giving the key information (202) to at least one spread sequence generating means, the digital watermark information is detected by performing spread spectrum demodulation on the detection target sequence, and the detection result (203) is obtained. Outputting (S240);
を有することを特徴とする電子透かし検出方法。A digital watermark detection method comprising:
(検出方法抽象化(位置マーカ有り))(Detection method abstraction (with position marker))
ディジタル画像に対して人間の知覚に感知されないように埋め込まれた電子透かしを検出する、電子透かしを検出する対象である検出対象画像(201)と、鍵情報(202)とを入力とし、電子透かしの検出結果(203)を出力とする電子透かし検出方法であって、An electronic watermark embedded in a digital image so as not to be perceived by human perception is detected. The detection target image (201) that is a target for detecting the digital watermark and key information (202) are input. A digital watermark detection method that outputs the detection result (203) of
前記鍵情報(202)を入力とし、前記鍵情報(202)を乱数生成の種として乱数列を生成し、この乱数列を用いて予め定められたブロックサイズの行数および列数を持つ複素行列内の、行位置、列位置、および行位置と列位置で指定される成分値の実数成分または虚数成分を指定するためのフラグ、からなるUsing the key information (202) as an input, generating a random number sequence using the key information (202) as a seed for random number generation, and using this random number sequence, a complex matrix having a predetermined number of rows and columns of a block size Are the row position, the column position, and the flag for designating the real or imaginary component of the component value specified by the row position and the column position. 3Three 次元の順列を、予め定められた系列長の項数分だけ重複なく決定し、これを検出対象成分位置情報(1103)として出力するステップ(S1110)と、Determining a permutation of dimensions by the number of terms of a predetermined sequence length without duplication, and outputting this as detection target component position information (1103) (S1110);
前記鍵情報(202)を入力とし、複数の拡散系列生成手段を持ち、複数の拡散系列生成Using the key information (202) as input, has a plurality of spreading sequence generation means, and generates a plurality of spreading sequences 手段から少なくとも一つの拡散系列生成手段を選択し,選択された拡散系列生成手段に前記鍵情報(202)を与えることにより生成される拡散系列を用いて,予め定められた値をスペクトラム拡散変調して前記系列長の系列を得て,これを位置マーカ系列(1102)として出力するステップ(S1120)と、At least one spreading sequence generating means is selected from the means, and a predetermined value is spread spectrum modulated using a spreading sequence generated by giving the key information (202) to the selected spreading sequence generating means. Obtaining a sequence having the sequence length and outputting it as a position marker sequence (1102) (S1120);
前記検出対象画像(201)と前記検出対象成分位置情報(1103)と前記位置マーカ系列(1102)を入力とし、前記検出対象画像(201)の任意の位置から少なくとも一つのブロックサイズの領域である画素ブロック(1104)を切り出し、該画素ブロック(1104)を離散フーリエ変換して検出対象係数行列(1105)を得て、The detection target image (201), the detection target component position information (1103), and the position marker series (1102) are input, and is an area of at least one block size from an arbitrary position of the detection target image (201). The pixel block (1104) is cut out, and the pixel block (1104) is subjected to discrete Fourier transform to obtain a detection target coefficient matrix (1105). 22 次元座標の原点を起点として、横方向および縦方向についてブロックサイズまでの全てを走査するようにして、Starting from the origin of the dimensional coordinates, scan everything up to the block size in the horizontal and vertical directions, 22 次元座標であるオフセット候補情報(1106)を順次得て、該検出対象係数行列(1105)の、前記検出対象成分位置情報(1103)の各項で指定される成分値を順次読み取り、これを並べたThe candidate offset information (1106), which is a dimensional coordinate, is sequentially obtained, and the component values designated by the respective terms of the detection target component position information (1103) of the detection target coefficient matrix (1105) are sequentially read and arranged. The 11 次元系列の各項に対し該オフセット候補情報(1106)に対応する位相差を与えて得られる系列を検出対象系列(1107)とし、前記位置マーカ系列(1102)との相関を計算し、前記オフセット候補情報(1106)の中で、最大の相関値を取るときのものをオフセット情報(1101)として出力するステップ(S1130)と、A sequence obtained by giving a phase difference corresponding to the offset candidate information (1106) to each term of the dimension sequence is set as a detection target sequence (1107), a correlation with the position marker sequence (1102) is calculated, and the offset A step (S1130) of outputting candidate information (1106) when taking the maximum correlation value as offset information (1101);
前記検出対象画像(201)と前記鍵情報(202)と前記検出対象成分位置情報(1103)と前記オフセット情報(1101)を入力とし、前記オフセット情報(1101)で表される位相差を与えて得られる前記検出対象系列(1146)と,前記複数の拡散系列生成手段のうち前記選択されたものを除いた中から少なくとも一つの拡散系列生成手段に鍵情報を与えて得られる拡散系列により,該検出対象系列(1146)をスペクトラム拡散復調することにより電子透かし情報を検出し,検出結果(203)として出力するステップ(S1140)と、The detection target image (201), the key information (202), the detection target component position information (1103), and the offset information (1101) are input, and a phase difference represented by the offset information (1101) is given. The obtained detection target sequence (1146) and a spreading sequence obtained by giving key information to at least one spreading sequence generating unit from among the plurality of spreading sequence generating units excluding the selected one, A step (S1140) of detecting digital watermark information by performing spread spectrum demodulation on the detection target sequence (1146) and outputting it as a detection result (203);
を有することを特徴とする電子透かし検出方法。A digital watermark detection method comprising:
JP2002333324A 1999-01-25 2002-11-18 Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, digital watermark detection device, storage medium storing digital watermark embedding program, storage medium storing digital watermark detection program, and digital watermark system Expired - Lifetime JP3745729B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002333324A JP3745729B2 (en) 1999-01-25 2002-11-18 Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, digital watermark detection device, storage medium storing digital watermark embedding program, storage medium storing digital watermark detection program, and digital watermark system

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP11-16218 1999-01-25
JP1621899 1999-01-25
JP11-16219 1999-01-25
JP1621999 1999-01-25
JP2002333324A JP3745729B2 (en) 1999-01-25 2002-11-18 Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, digital watermark detection device, storage medium storing digital watermark embedding program, storage medium storing digital watermark detection program, and digital watermark system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP11303185A Division JP2000287073A (en) 1999-01-25 1999-10-25 Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, digital watermark detection device, storage medium storing digital watermark embedding program, storage medium storing digital watermark detection program, and digital watermark system And integrated circuits

Publications (2)

Publication Number Publication Date
JP2003219148A JP2003219148A (en) 2003-07-31
JP3745729B2 true JP3745729B2 (en) 2006-02-15

Family

ID=27670010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002333324A Expired - Lifetime JP3745729B2 (en) 1999-01-25 2002-11-18 Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, digital watermark detection device, storage medium storing digital watermark embedding program, storage medium storing digital watermark detection program, and digital watermark system

Country Status (1)

Country Link
JP (1) JP3745729B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8208683B2 (en) 2006-03-07 2012-06-26 Nippon Telegraph And Telephone Corporation Digital watermark embedding method, apparatus and storage medium for reducing image quality deterioration and increasing detection reliability
JP2013047882A (en) 2011-08-29 2013-03-07 Olympus Imaging Corp Server device and system
JP5806648B2 (en) * 2012-07-19 2015-11-10 日本電信電話株式会社 Digital watermark embedding device, digital watermark detection device, digital watermark embedding method, digital watermark detection method, and program
CN112017092B (en) * 2019-05-30 2025-01-14 阿里巴巴集团控股有限公司 Generation of watermark detection model and watermark detection method, device and equipment

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3599795B2 (en) * 1993-09-03 2004-12-08 株式会社東芝 Image processing device
JP3262159B2 (en) * 1996-09-04 2002-03-04 日本電気株式会社 Spread spectrum watermark processing method
US5825892A (en) * 1996-10-28 1998-10-20 International Business Machines Corporation Protecting images with an image watermark
JP4005177B2 (en) * 1997-07-10 2007-11-07 株式会社東芝 Color image processing apparatus and method, and recording medium on which image processing program is recorded

Also Published As

Publication number Publication date
JP2003219148A (en) 2003-07-31

Similar Documents

Publication Publication Date Title
EP1022678B1 (en) Method, apparatus and program storage medium for embedding and detecting a digital watermark
JP4187749B2 (en) Halftone watermarking and related applications
US6760464B2 (en) Halftone watermarking and related applications
US6694041B1 (en) Halftone watermarking and related applications
US7536026B2 (en) Image processing apparatus and method
US7065227B2 (en) Data processing apparatus, image processing apparatus, and method therefor
KR20060121873A (en) Print processing system, watermarked document printing apparatus, watermarked document reading apparatus, printed matter processing method, information reading apparatus and information reading method
JP2002525983A (en) Method for confirming the integrity of images transmitted with loss
JP3932110B2 (en) Image processing apparatus, image processing system, electronic information device, image processing method, control program, and readable recording medium
US7440584B2 (en) System and method for marking data and document distribution
US7006256B2 (en) Watermarked image generator and method of embedding watermarks into an input image
JP3745729B2 (en) Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, digital watermark detection device, storage medium storing digital watermark embedding program, storage medium storing digital watermark detection program, and digital watermark system
Kim et al. The watermark evaluation testbed (WET)
JP2000287073A (en) Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, digital watermark detection device, storage medium storing digital watermark embedding program, storage medium storing digital watermark detection program, and digital watermark system And integrated circuits
US20040141210A1 (en) Method and apparatus for halftone image embedding
JP4725498B2 (en) Image processing apparatus, encoding method, and decoding method
KR100505359B1 (en) Method of embedding and detecting watermark using linearity of discrete cosine transformation

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050705

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: 20051101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051117

R151 Written notification of patent or utility model registration

Ref document number: 3745729

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20091202

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101202

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101202

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111202

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111202

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121202

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121202

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131202

Year of fee payment: 8

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载