(57)【要約】【課題】高画質と編集・加工に対する耐性を維持し、第三者からの結託攻撃によるパターンの解読が困難で、頑強な電子透かし法を得る。【解決手段】画像データを複数のブロックに分割し、ブロックごとに埋め込み情報に対応したグリーンノイズ特性を示す異なるパターンで透かしを埋め込むグリーンノイズ拡散法において、ブロック毎にパターンの位相をシフトさせることにより、結託攻撃によるパターン解読を困難にし、攻撃耐性を向上させる。シフト情報はパタン情報と同時に鍵に入れられ、除去の時に用いられる。【選択図】図１１
2020184663.tif 000002
【特許請求の範囲】
【請求項１】
画像データI(x,y)をR×Rのブロックに分割し、ブロック毎に透かし情報ビットに対応した異なるパターンを埋め込む電子透かし法において、
埋め込みパターンはグリーンノイズ特性を示す複数の異なるパターンPi(x,y)で、ブロック毎に埋め込みパターンの位相をx,y方向に異なる量だけシフトさせたパターンP'i(x,y)で埋め込むことにより埋め込み画像を作成し、
透かし情報の抽出は、透かしの埋め込まれた画像データをブロックに分割し、ブロックのフーリエスペクトルパターンの形状から，埋め込みビット情報を抽出することにより埋め込まれた情報を読み出し、
透かしの除去は、埋め込みパターンP'i(x,y)と埋め込み強度および位相シフト情報を用いて透かしを除去し原画に戻すことが可能な可逆型電子透かし法。
【請求項２】
かかる位相をシフトさせたパターンP'i(x,y)は、R×Rの基本パターンPi(x,y)をベースに、(x0,y0)（ただし，0≦x0,y0＜R）シフトさせたもので、
P'i(x,y)=Pi((x+x0) mod R, (y+y0) mod R)  （ここで、mod RはRを法とする剰余）
であり、埋め込み強度(gain)を乗じて画像データに加算し、埋め込み後の画像W(x,y)は、
W(x,y)=I(x,y)+gain・P'i(x,y)
であり、シフト量（x0,y0）はブロック毎に変動し、かかるシフト量はシフトリストL(n)（nはブロック番号）として記憶され、
鍵は、基本パターンPi(x,y),埋め込み強度gain,およびシフトリストL(n)から構成され、
透かしの除去は、かかる鍵を用いて、
I(x,y)=W(x,y)-gain・P'i(x,y)
なる演算にて除去を行うことを特徴とする請求項1に記載の電子透かし法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，デジタル画像データに著作権情報などの透かし情報を埋め込む電子透かし法で、特に、特にアルゴリズムを公開しても第三者からの攻撃に対して高耐性を示す不可視型で可逆の電子透かし方法に関するものである。
【背景技術】
【０００２】
現在のデジタル情報社会において，情報を手軽に複製でき、多くの人が情報を共有することが可能となり，社会が大きく発展してきた。しかし，その利便性が，他人の著作物を違法に複製し流通させることにより，著作権侵害などの事件を引き起こすことにもなった。画像においては，近年のデジタルカメラやプリンタの高画質化により，原画と寸分も違わぬ複製が容易に得られるようになり，著作権を侵害した違反コピーだけでなく，紙幣や有価証券等の偽造行為という悪質な犯罪行為を助長させる結果となっている。
【０００３】
そのような状況の中で，画像情報の中に別の情報，例えば，著作者情報等を埋め込み，著作権を保護したり、違法複写に警告を与えたりする不可視の電子透かし（Digital Watermark）技術が発展してきた。この電子透かし技術は、例えば、著作権保護の目的には、文書や画像の著作物の中に著作権者やURL、連絡先、利用条件などを埋め込み、利用者に注意を喚起するのみならず、不正利用された場合には、その追跡を可能とする。このように、著作権の管理・保護、ならびに不正複写の監視など、セキュリティ対策として電子透かしが広く使われ始めている。
【０００４】
このセキュリティ対策としての電子透かしは、頑強で簡単に消失あるいは除去できない高耐性のものでなければならない。画像の編集加工や簡単な操作で透かし情報を除去や消去ができるならば、不正使用して追跡や監視の目から逃れることができるからである。
【０００５】
通常、耐性を強化するためには、電子透かしを画像データの深層に埋め込む必要がある。このため、埋め込みの強度（gain） を大きくして埋め込む。これは、原画像に対してダメージが増大し、画質が劣化するという弊害をもたらす。つまり、画質と耐性とはお互いにトレードオフの関係にあり、両方を満たすことは通常困難である。
【０００６】
画質と耐性を同時に満たす電子透かし法として、特許文献1から６および非特許文献１から２に示されるグリーンノイズパターンを画像データに埋め込む手法（以降、グリーンノイズ拡散法と呼ぶ）をこれまで提案してきた。グリーンノイズパターンは，そのスペクトルが特定の帯域fmax〜fminに閉じ込められ、その主周波数は、人の視覚特性で認識できにくい周波数帯に設定できる。このため、電子透かしに用いた場合、埋め込み画像を明視の距離で観察した場合、ドットパターンは低い応答性を示しアーティファクトは認識されにくい。また、プリンタやスキャナーでの書き込みや読み取りでは高い応答感度を有すため、印刷しても埋め込み情報は保持できる。信頼度を上げるため、埋め込み強度（gain）を上げてもアーティファクトが視認され難く，高画質性が保たれる特徴がある。
【０００７】
グリーンノイズ拡散法はスペクトル拡散法と同じ様に編集や加工に強靭であるが、第三者が不正利用のために透かし情報を除去することに対しても、強固でなければならない。第三者が様々な方法、様々な画像、様々な情報で埋め込みアルゴリズムを解析・推定し攻撃する（以降、結託攻撃と呼ぶ）ことにより、埋め込み画像から透かし情報を除去し、原画に戻すことにより、不正利用を可能としてしまう。アルゴリズム公開型の電子透かしでは、アルゴリズムを知ることにより信号処理を逆解析することが容易で、このため攻撃を受けやすい。埋め込みのパラメータは、通常、“鍵”という形で保持される。この鍵は、通常、埋め込む画素の位置情報や、強さ（gain情報）、乱数列、ハッシュ関数のパスワードなど、各種パラメータを用い、鍵情報がなければ透かしの除去はできない。結託攻撃ではこの鍵の情報を推定することである。
【０００８】
ステガノグラフィとしての利用形態では、秘密情報をこっそり画像中に埋め込み、鍵なしでは透かし抽出が出来ないようになっている。このため、アルゴリズムは非公開である。しかし、著作権保護を目的とする電子透かし法は、利用者が誰でも著作権情報の有無や条件などを知ることが出来る必要があり、透かし抽出は誰でも簡単にできるようにする必要がある。また、広く普及するためには、業界で統一された手法として標準化が必要で、アルゴリズムが公開できることが望ましい。
【０００９】
この時、アルゴリズムを公開しても安全性が確保されるためには、通常、非対称型の電子透かし手法が望ましいとされている。対称型は、透かしの埋め込みと逆手順で抽出を行うので、埋め込み位置や方法などが発覚されやすく攻撃をうけやすいからである。
グリーンノイズ拡散法は埋め込みは実空間で，抽出はスペクトル空間で行われる非対称型で，かつ，グリーンノイズパターンはランダムドットが拡散したパターンのためスペクトラム拡散と同じ様に完全に除去することは一般に難しい．アルゴリズムを公開したとしても，埋め込みの各種パラメータは秘密情報として「秘密鍵」の形で受領者に渡される。秘密性はこの鍵に集約され、安全性が担保され、通常は、この鍵がなければ透かしの除去はできない様になっている。
【００１０】
さらに、画像ごとに埋め込みパターンなどのパラメータを変えるため、鍵情報は画像ごとに異なる。このため、鍵を紛失したり盗難されたりしても、その鍵で他の画像を操作し、透かしを除去することはできない。
【００１１】
そのうえで、前述の結託攻撃に対する対策が必要である。結託攻撃では、鍵なしで原画像との差分をとることや、平坦部の多い画像、複数の画像から、埋め込みの特徴、画像の相関などから、埋め込みパラメータやパターンなどを解読し鍵情報を割り出す。このため、このような攻撃に対する対策が必要である。第三者からのこのような結託攻撃は、近年のAI技術を用いた機械学習を用いて種々のパターンを学習することにより、鍵情報を推定することが可能となりつつある。特に、ブロック型の電子透かし法では、ブロック毎に透かし情報を埋め込むため、1枚の画像からブロック数だけの多数の学習データが揃うため、埋め込みパラメータの推定が行いやすい。
【００１２】
このため、特許文献５では、埋め込むグリーンノイズパターンに反転パターンを用いてその数を増やし、埋め込むビット情報（０，１）に対して複数のパターンの選択を乱数列として鍵情報に入れる方法を提案した。複数パターンはオリジナルパタ−ンの空間的反転パターンと輝度データの反転パターン（ネガ/ポジのパターン）から成り、一つのグリーンノイズパターンに対して８つの反転パターンを生成した。このため、パターンの種類と数が増え、同じパターンが繰り返し出てくるというリスクは減少し、安全性は改善される。
【００１３】
しかし、反転パターンのみではパターンの位相（空間位置情報のシフト量）がなく常に同じ位相であるため、多くのパターン埋め込み情報からパターンの同定が可能であり、まだ、完全に安全であるとは言えない。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開2018-182471
【特許文献２】特開2018-201134
【特許文献３】特開2018-207247
【特許文献４】特願2017-117460
【特許文献５】特願2018-216362
【特許文献６】特願2019-000178
【非特許文献】
【００１５】
【非特許文献１】N.Kawamura;”Digital Halftoning by Clustered Dither Screen Masks Representing Green-noise Characteristics”, Proceeding of the 1st ICAI 2015, T109-3, pp.708-711 (2015).
【非特許文献２】N.Kawamura;”Digital Halftoning by Stochastic Dither Screen Mask Representing Green to Blue Noise Characteristics”, Trans. on IEVC, Vol.5, No.1, pp.34-41 (2017).
【発明の概要】
【発明が解決しようとする課題】
【００１６】
そこで、高画質と編集・加工に対する耐性を維持し、結託攻撃に対しても十分強固な電子透かし法を得ることが課題である。すなわちアルゴリズム公開型電子透かし法において、第三者が鍵なしに埋め込みパターンの解析により埋め込みパターンを割り出すことが出来ない強い耐性を示す電子透かし法を得ることが課題である。
【課題を解決するための手段】
【００１７】
前記課題を解決するために、本発明は、画像をブロック分割し、ブロックごとに透かし情報を埋め込む電子透かし法において、グリーンノイズ特性を示す埋め込みパターンを原画像に重畳し埋め込む際、ブロック毎にパターンの位相をシフトあるいは変動させて埋め込む。
【００１８】
すなわち、画像データI(x,y)をR×Rのブロックに分割し、ブロック毎に透かし情報ビットに対応した異なるパターンを埋め込む電子透かし法において、埋め込みパターンはグリーンノイズ特性を示す複数の異なるパターンPi(x,y)で、ブロック毎に埋め込みパターンの位相をx,y方向に異なる量だけシフトさせたパターンP'i(x,y)で埋め込むことにより埋め込み画像を作成し、
透かし情報の抽出は、透かしの埋め込まれた画像データをブロックに分割し、ブロックのフーリエスペクトルパターンの形状から，埋め込みビット情報を抽出することにより埋め込まれた情報を読み出し、
透かしの除去は、埋め込みパターンP'i(x,y)と埋め込み強度および位相シフト情報を用いて透かしを除去し原画に戻すことができる。。
【００１９】
かかる位相をシフトさせたパターンP'i(x,y)は、R×Rの基本パターンPi(x,y)をベースに、(x0,y0)（ただし，0≦x0,y0＜R）だけシフトさせたもので、
P'i(x,y)=Pi((x+x0) mod R, (y+y0) mod R)  （ここで、modは剰余演算）
であり、埋め込み強度(gain)を乗じて画像データに加算し、埋め込み後の画像W(x,y)は、
W(x,y)=I(x,y)+gain・P'i(x,y)
であり、シフト量（x0,y0）はブロック毎に変動し、かかるシフト量は位相シフトリストL(n)（nはブロック番号）として記憶され、
鍵は、基本パターンPi(x,y),埋め込み強度gain,および位相シフトリストL(n)から構成され、
透かしの除去は、かかる鍵を用いて、
I(x,y)=W(x,y)-gain・P'i(x,y)
なる演算にて除去を行う。このようにすることにより、結託攻撃からパターンの推定を困難にすることが出来る。
【００２０】
かかる埋め込みパターンPi(x,y)は、画像ごとに異なる初期値から生成されたグリーンノイズパターンであり、位相シフトリストL(m)は、画像ごとに異なるシフト列から構成され、これらが組み込まれた鍵で他の画像の透かしを除去できない。
【発明の効果】
【００２１】
本発明により、編集加工による高耐性と、第三者からの結託攻撃に対する耐性が備わり、頑強で、鍵なしでは透かしの除去ができない安全な電子透かしを得ることができる。
【００２２】
また、鍵により元の画像に復元可能である。これは画像の購入者が、配信者から直接原画を配信してもらう手間を省くことができるし、原画での配信を行うことがないため、漏洩や盗難などの心配もなく、セキュリティ上も安全性が高い。さらに購入者はその鍵を用いて、編集加工した画像に第二著作者としての著作権情報を埋め込むことができる。
【００２３】
かかる鍵は、基本となるパターンPi(x,y)と、gain(埋め込み強度)および位相シフトリストL(n)のみでよく、鍵のサイズを小さくすることが可能で取り扱いが簡単である。
【００２４】
また、鍵に含まれる基本パターンPi(x,y)は、画像ごとに異なるグリーンノイズパターンを用い、鍵の紛失や盗難時にも、この鍵を用いて他の画像の透かし除去はできない。このため安全性は極めて高い。
【００２５】
埋め込まれた画像は、シフトパターンにより、埋め込み画像から埋め込みパターンを推定する結託攻撃に対しても安全性は確保されている。このため、アルゴリズムを公開してもそのアルゴリズムから埋め込みパターンを推定することはできず、攻撃の助長とはならない。
【図面の簡単な説明】
【００２６】
【図１】本発明の電子透かしの埋め込みおよび抽出の装置の図、
【図２】透かし入り画像のインターネットでの配信を示した図、
【図３】埋め込み用ドットパターン生成のフローを示す図、
【図４】ドットパターンのスペクトルの回転方向と埋め込みビットを表す図、
【図５】埋め込み用ドットパターン生成時におけるフィルタの形状を示す図
【図６】生成されたドットパターンとそのスペクトルおよび埋め込み情報を示す図、
【図７】透かし埋め込みの処理フローを表す図、
【図８】透かし抽出の処理フローを表す図,
【図９】パターン識別の処理フローを表す図、
【図１０】マスクパターンを示す図、
【図１１】位相シフトパターンを示す図、
【図１２】乱数発生による位相シフトパターンを示す図、
【図１３】基本パターンと位相シフトパターンおよびそれらのスペクトルを表す図で、(a)はR=64, (b)はR=32 の場合を示す。
【図１４】256×256の画像に埋め込みを行ったときの画像で、（a）は原画像、(b)は埋め込み画像、(c)はそのスペクトルを表す画像。
【発明を実施するための形態】
【００２７】
図１は本発明の情報埋め込みと抽出のための電子透かしシステムの構成図である。著作権保有者のコンピュータ３には、著作権を有す画像データが、例えばハードディスクなどのデータメモリ７に保管されている。画像データは、プログラムメモリ６にある画像処理プログラムにより、ＣＰＵ１１，ＲＯＭ ４，ＲＡＭ５などを用いて画像処理され、モニター８に表示される。コンピュータ３にはスキャナー１、プリンタ２が接続され、処理された画像はプリンタから出力し、またスキャナー１から画像読み取りができる。かかる画像処理は大きなサイズの画像を取り扱う場合，演算負荷が増大するため，並列処理を行うことや、ＧＰＵなどの高速化を図るための処理ボードが入っている場合もある。
【００２８】
画像中に著作権情報を埋め込むためには、キーボード９から、例えば、著作者の名前や日付、ＵＲLなどの文字情報を入れるが、埋め込む文字数は、最低１６文字は必要となる。これはASCIIコードの文字で埋め込むものとして16バイト（１２８ビット）が必要となる。
【００２９】
図２は、一つの運用形態を示すもので，インターネット配信の処理手順を示すものである。透かし情報を埋め込まれた画像は、配信者あるいは著作権者１６のコンピュータやサーバーからインターネット１２により配信や展示される（１３）。それを見た購入希望者１７は、購入希望を配信者に連絡する（１４）。所定の手続き後、配信者は透かしの埋め込みと除去のための秘密鍵を配信する（１５）。購入者は、配信者との契約に基づき、送付された画像の埋め込まれた電子透かしを除去し、画像の編集加工を行うことができる。
【００３０】
購入者は、さらに編集加工された画像データを、２次著作者として自己の著作情報やＵＲＬなどの情報をこの秘密鍵を用いて埋め込むことができる。これらの透かし情報を埋め込まれた画像は、公開され市場に流通し様々な利用がされる。
【００３１】
その画像を見た第三者は、透かし抽出ソフトにより、この画像に著作権があることを確認できる。透かし抽出ソフトウェアには秘密性はなく、例えば，配信者や著作権者のホームページなどから自由にダウンロードできるようにして広く公開し、だれでも使用できる。第三者はこれにより画像の所有者や著作権情報、連絡先などを知ることができるため、不正使用の防止・警告にもなる。
【００３２】
一方、著作権者や二次著作権者は、その透かしにより、著作物としての画像データの追跡と監視を行うことが可能である。もし、第三者が不正に使用した場合、著作権者や二次著作権者は、監視ソフトウェアにより画像から透かし情報を読みだし、自己の著作物であること、さらに第三者が無断で使用している場合には摘発が可能となる。
【００３３】
鍵は埋め込む画像ごとに１対１で対応する。このため、著作権者は悪用されないように画像ごとに異なる鍵を用いる。この鍵を用いて他の画像の透かしを除去することはできない。鍵の紛失や第三者による結託攻撃による鍵の取得が起きても、その被害は該当する1枚の画像のみで、他の画像に対しては透かし除去はできない。このとき、透かし読み出しのソフトウェアは、鍵が異なっても共通に使える。また。鍵の発行はほぼ無限に行えるため，同じ鍵となる確率は極めて低い。
【実施例】
【００３４】
以下、実施例に沿って詳しく説明する。
ここで，まず本発明に用いられるグリーンノイズ特性を示すドットパターンの生成について図３に沿って説明する．
今，マトリックスサイズをR画素×R画素 ( R=2^m  ここで^はべき乗)として，その中に1画素サイズの黒ドットを埋め込むものとする。黒ドットの面積率をg（0≦g≦１：g =1が全黒，g =0 が全白）とする。点(x,y)におけるドットパターンを p(x,y)として、g=1/2のグリーンノイズ特性を示すドットパターンを以下の様にして求める。
(工程１) まず，疑似乱数発生器により、ランダムドットp(x,y)を生成する（２０）。この時，疑似乱数発生器のSEED値を変えることにより初期状態を変更可能である。
(工程２) p(x,y)を二次元フーリエ変換を行いスペクトルP(u,v)を得る（２１）。ここで、(x,y)は空間座標、(u,v)は空間周波数座標を表す。g=0.5 の場合、(R^2)/2個のランダムドット（初期状態はホワイトノイズ）を発生させ、p(x,y)とする．
(工程３) P(u,v)にフィルタD(u,v)を掛けて新たなP'(u,v)を得る（２２）。すなわち、
P’(u,v)=P(u,v)・D(u,v)
(工程４) P'(u,v)に逆フーリエ変換を行い，多値の点プロファイルp'(x,y)を得る（２３）。
(工程５）誤差関数e(x,y)=p'(x,y)-p(x,y)を求め（２４），各画素位置での誤差の大きい順に白，黒同数反転する（２５）。
(工程６）工程2から工程５までの操作を誤差が許容量以内になるまで繰り返し，最終的にg=1/2のドットパターンを得る。
【００３５】
ここで、フィルタD(u,v)のパターンの設定について説明する。今、D(u,v)が円形のリングパターンで、その最大ラジアル周波数をfmax、最小ラジアル周波数をfminであるとする。g=1/2での平均的ドット間隔による周波数f0は，
f0＝√g・fn＝√(1/2)・fn
で与えられ，fmax及びfminはf0を基準として，
a≡(fmax - f0)/fn
b≡(fmin - f0)/fn
として、パラメータ（a,b）を定義する。ここで，fnはナイキスト周波数を示す。かかる(a,b)を変化させて、視覚特性に合わせてクラスターサイズの異なるドットパターンを得ることができる。
【００３６】
透かし埋め込みは4値のパターンで行うものとする。このためには埋め込み2ビット(00,01,10,11)に対応した4種類のパターンが必要である。そのためフィルタD(u,v)のパターンが楕円リングパターンで、４５°づつ回転した4つのパターンとなるようにする。図４はフィルタパターンを模式的に示すもので、楕円リングの短軸の最小値をfmin、最大値をfmaxとし、長軸の最小値をβ・fmin、最大値をβ・fmaxとする。ここで、βは倍率を表す。正立したものを2ビットの（00）に対応するフィルタパターン、それを45°回転したものを（01）、90°回転したものをビット（10）、135°回転したものを（11）にそれぞれ対応するものとする。このようにして得られたの4つの透かしパターンをPi(x,y)  （i=0,…,3）と表記するものとする。
【００３７】
図５に、かかる4つのフィルタ（フィルタ0、フィルタ1、フィルタ2、フィルタ3）の形状を示す。図で黒領域は0、白領域は1を表す。図6に、このフィルタD(u,v)を用いて、前述の工程を経て作成されたパターンおよびスペクトルを示す。各パターンはR×Rのサイズで、パターン0は2ビットの埋め込み情報（00）に対応し、パターン1は（01）、パターン2は（10）、パターン3は（11）にそれぞれ対応する。
【００３８】
続いて、画像データへの透かし埋め込み手法について説明する。透かし情報の埋め込みは、赤（R）,緑（G）、青（B）からなるカラー画像データの青（B）データに埋め込むか、あるいは、輝度、色差信号となる（Y,Cb,Cr）信号に変換し，輝度（Y）データに埋め込むことが考えられる。電子データでのみ透かし情報を取り扱う場合は、青（B）に埋め込むのがもっとも視覚的には認識されにくく理想的である。印刷画像やモニター画像をカメラやスキャナーで読み取るような応用を考えた場合は、青（B）データ（印刷時はイエロー）は精度よく色分離することが難しいため、輝度（Y）データを用いるのが良い。
【００３９】
続いて、図７のフローに沿って処理手順を説明する。まず、埋め込み情報をビット列に変換し、wmとする（２０）。例えば、埋め込みたい情報が“0123456789abcdef”となるASCII16文字をビット列に展開すると、wm＝“0011000000110001…”となる128ビット列となる。先頭ビットからi番目のビットをwm(i)とする。
【００４０】
次に、画像データをR画素×R画素のブロックに分割する（２１）。これはドットパターンのサイズと同じサイズにする必要がある。ブロックサイズとしては、64画素×64画素を用いると高精度に抽出できるが、多くの情報を埋め込みたい場合は32画素×32画素をブロックサイズとすると、4倍の情報の埋め込みが可能となる。
【００４１】
埋め込み作業はブロック単位で行われる。ｎ番目のブロックに埋め込む（２３）として、まず、n=1からスタートする（２２）。埋め込み透かし情報を先頭から連続した２ビットを取り出し、これをb＝（wm(i) , wm(i+1)）とする。
【００４２】
bの値により埋め込むパターンを選択する（２４）。b=(00)の場合はパターン0を用いて埋め込む（２５a）。同様に、b=(01)の場合はパターン1を用いて埋め込む（２５b）。b=(10)の場合はパターン2を用いて埋め込む（２５ｃ）。b=(11)の場合はパターン3を用いて埋め込む（２５d）。
【００４３】
かかる透かし情報の埋め込みは実空間（画素空間）で行う。今、画像データをI(x,y)，埋め込み強度をgain、透かしの埋め込まれた画像データをW(x,y)とすると、
W(x,y)=I(x,y)+gain・Pi(x,y)    (i=0,1,2,3)          ------（１）
ただし、
b=(00) の時   Pi(x,y)はパターン0
b=(01) の時   Pi(x,y)はパターン1
b=(10) の時   Pi(x,y)はパターン2
b=(11) の時   Pi(x,y)はパターン3
となる。Piは（1,0）の二値であるが，平均輝度を保存するため（1/2,-1/2）とする。埋め込んだ結果、画素データがダイナミックレンジを超えてオーバーフローやアンダーフローが生じることがあるため、あらかじめ画像データに以下の線形変換を施した画像I’(x,y)にて行うこともある。
I’(x,y)=(1-gain)・I(x,y)+gain/2                    -----（２）
この処理は後述の透かし情報を完全に除去する場合には必須であるが、除去を必要としない場合や、オーバーフローやアンダーフローの頻度が低い場合は省略しても構わない。
全ブロックが終了かを判断し（２６）、終了でない場合は次のブロックへ移る（２７）。
【００４４】
以上のようにして、埋め込みビット列wm(i)をすべて埋め込む。埋め込みブロック数が埋め込みビット数より多い場合は、繰り返し埋め込むことで信頼度を高めることができる。この場合は文字列の先頭を示す区切りマーカが必要である。
埋め込まれた画像は、Pi(x,y)はランダムドットであるため，ブロック境界は目立たない。グリーンノイズ特性を示すドットパターンは、印刷におけるFMスクリーンとしても用いられ、分散性ドットで均一性にすぐれているため視覚的にも一様で粒状性も感じさせない。
【００４５】
続いて、透かし情報の抽出について図８の処理フローに沿って説明する。抽出作業は、埋め込み時と同様R×Rのブロックに分割し（３０）、ブロック単位で行われる。n番目のブロックから抽出するものとして、n=1からスタートする（３１）。n番目のブロックからR×Rの画像を取り出しFFT（高速フーリエ変換）を行い、スペクトル情報Wnに変換する（３２）。続いて、ヒストグラムイコライゼーションによる規格化を行う（３３）。これは、ブロック毎に輝度が異なるため、コントラストを向上させて識別精度を向上させることと、後述の信頼度を各ブロックで平等に評価するためである。続いて後述のパターンの識別を行い（４０）、識別パターンから埋め込み情報の２ビットデータを抽出する（３４）。ブロックがすべて終わったか否かを判断し（３５）、終了していない場合はnをn+1として（３６）、次のブロックへ移る。終了した場合は全ビットを取り出して、元の文字情報を復元する（３７）。
【００４６】
図９はパターン識別処理（４０）の処理フローを示す。ブロック内のスペクトル情報Wnは、用意されたマスクパターンとのマッチングを行い、その出力Qiを求める（４１）。マスクパターンは図１０に示すようにフィルタパターンと同じで、45°毎に回転したマスク0（M0）、マスク1（M1）、マスク2（M2）、マスク3（M3）の4つが用意されている。
図９に戻って、i番目のマスクをMiとして、Wnとのマッチングの出力Qiは、
Qi=(1/Zi)ΣMi・Wn   (i=0,1,2,3)        --------（３）
ただし  Zi=ΣMi             
として求められる（４２）。ただし、Σはブロック内の各画素（今の場合は空間周波数に対応）について行われる。その結果、各マスクに対応した出力（Q0,Q1,Q2,Q3）が得られる。この4つの出力のうち最も大きいものをQmaxとして、
Qmax＝Q0 の時、b=00
Qmax＝Q1 の時、b=01
Qmax＝Q2 の時、b=10
Qmax＝Q3 の時、b=11
となる2ビットの透かし情報ｂを得る（４３および４４a、４４b、 ４４c、 ４４d）。
【００４７】
次に、Qmaxの次に大きな出力をQnextとすると、信頼度relは
rel=Qmax-Qnext            ------------（４）
で表される。すなわちQnextがQmaxに非常に近い値の場合は誤判定の確率が高く、QmaxとQnextとの差が大きい程信頼性は高い。この差を信頼度の指標とすることができる。
以上のようにして、2ビットの埋め込み情報ｂと信頼度relが求まる。
【００４８】
透かしの除去は、埋め込みを減算することで可能となる。すなわち、式（１)より，
I(x,y)=W(x,y)-gain・Pi(x,y)    (i=0,1,2,3)             -------------(５)
となり、透かし埋め込み画像から埋め込みパターンにgainを乗じて引くことで、完全に原画に戻すことが可能である。ただし、埋め込み時にオーバーフローやアンダーフローを避けるために線形ダイナミックレンジ補正を行った場合は、逆補正をする必要がある。
以上のようにして透かし除去が可能であるが、埋め込みパターン（パターン0、パターン1、パターン2、パターン3）およびgainと埋め込み情報が必要となる。これらの情報は“秘密鍵”として授受される。
【００４９】
かかる秘密鍵の容量は、例えばブロックサイズが64×64の場合、パターン0〜パターン3までの4パターン分で16Kビット（2Kバイト）、それにgainと埋め込み情報の容量が加わる。32×32の場合はパターン0〜パターン3までの4パターン分で4Kビット（512バイト）となる。gainと埋め込み情報は、通常、100バイト以下であるので、鍵容量の大半は埋め込みパターン情報が占める。
【００５０】
鍵の容量はなるべく小さくした方が取り扱いが容易である。鍵容量を減らすため、パターン2、パターン3は、それぞれ、パターン0、パターン1から生成することができる。すなわち、パターン2はパターン0を90°回転したもの、パターン3はパターン1を90°回転したものを採用する。ドットパターンの回転はそのままスペクトルの回転となるため、他の処理の変更はない。
【００５１】
鍵の紛失や盗難に対しては、画像ごとに異なるドットパターンを用いることにより、同じ鍵で別の画像の透かしを除去することはできなくすることができる。これらは、グリーンノイズパターン生成時の、初期乱数のseed値を変えることによって得られる。スペクトル分布は同一であり，抽出ソフトウェアは共通であるが，ドットプロファイルは異なる。R=64の場合，1つのドットパターンにつき異なるパターン数は，4096 C 2048  個あり、複数のドットパターンを用いる場合は、その積となるため，同じパターンとなる確率は極めて低いため，安全性は高い。 ここで、Cはcombinationを表す。著作権者は購入者に対してそれぞれ異なる乱数から求めたドットパターンを秘密鍵として提供する。購入者ごとにこの鍵は異なるため、他の購入者の画像から透かしを除去することはできない。
【００５２】
次に位相シフトパターンの方法について説明する。
Pi(x,y)はグリーンノイズパターンであるため、境界がない。このため位相シフトしたパターンも目立たない特徴がある。そこでこのパターンの位相をシフトしたパターンPi’(x,y)を生成する。
今、R×Rの基本パターンPi(x,y)の位相をx方向にx0, y方向にy0だけシフトしたものをP’i(x,y)とする。ただし、シフト量は、0≦x0,y0＜R であるとする。P’i(x,y)は以下の式で表される。
P'i(x,y)=Pi((x+x0) mod R, (y+y0) mod R)    ----------(６)
ここで、mod R はRを法とした剰余を表す。つまり、x+x0 ,y+y0 の値がRを超えた場合は先頭に戻り、位相シフトしたパターンが得られる。
【００５３】
位相シフトされた埋め込みパターンP'i(x,y)を用いて、埋め込みは、位相シフトのない場合と同様に以下のように行われる。
W(x,y)=I(x,y)+gain・P'i(x,y)      -------(７)
ただし、P'i(x,y)は式(6)で示されたものである
【００５４】
図11は、位相シフトされた埋め込みパターンP'i(x,y)を示したもので、(x0.y0)=(0,0）のパターンをベースにx,y方向にR/4,R/2位相シフトした時のパターンである。R=32の時、シフト量ｓは、すべての組み合わせで１６パターンあるが、そのうちの（0,0）、（8,8）、（16,16）、（24,24）、（0,24）、（0,16）、（16,8）、（24,0）の８つのパターンを示す。実際の運用時は、シフト量が知られないように、乱数発生器でシフト量ｓを決める。図12は乱数で0〜（W-1）までの整数値を発生させたもので、シフト量ｓは、1024パターンあるが、そのうちの（22,25）、（23,17）、（6,17）、（28,13）、（30,8）、（9,14）、（19,14）、（30,0）のs0からｓ7までの８パターンのみを示す。
【００５５】
これらのパターンはすべて同じスペクトル特性を示す。図13に位相シフトある場合とない場合のパターンとそのスペクトル分布を示す。一例として、シフト値(x0,y0)=(R/2,R/2)として、R=64の場合(32,32),R=32の場合（16,16）について示す。シフトしてもパターンの境界は分からないし、そのスペクトル形状は変化がない。透かし抽出は位相のシフト量に依存しないため、抽出ソフトは変更や修正は不要である。
【００５６】
図14に画像に埋め込んだ時の図を示す。画像1は256×256のLENNAの画像に32×32のブロック毎にgain=0.1875で埋め込んだもので、4値のグリーンノイズパターンに対して乱数の位相シフトパターンを用いて埋め込んだもので有る。全部で64個のブロックがあり、16文字（ASCII）が埋め込まれている。同図(b)は埋め込み画像で、(c)はスペクトル画像で埋め込んだ１６文字が正しく抽出出来ている。画像２は輝度値が192の一様画像に埋め込んだもので、埋め込みパターンが識別できるようにgain=0.5の大きな値で意図的に埋め込み、パターンを強調している。これらの図から分かるように、パターンの境界が目立たない。これはグリーンノイズパターンがランダムパターンで境界が無いからである。このため、x0,y0の値をどのように変えても、その境界が目立たない。
【００５７】
位相変化量はx、y両方向に1画素刻みでR個可能なため全部でR^2  個か可能である。ブロックサイズが32×32の場合、1024個のパターンが可能である。64×64の場合は
4096個のパターンが可能である。しかし、細かなシフト量は攻撃に弱いため、状態数を減らして大きなシフト量で構成することが好ましい。
【００５８】
このP'i(x,y)の位相シフト量（x0,y0）はブロック毎に変え、位相シフトリストL(n)（nはブロック番号）として記憶され鍵に格納される。埋め込まれた透かしの除去は、埋め込みパターンP'i(x,y),埋め込み強度gain,および位相シフトリストL(n)から、
I(x,y)=W(x,y)-gain・P'i(x,y)             --------(８)
として、除去が可能である。完全に原画に戻すためには丸め誤差を考慮した整数型の演算が必要である。
【００５９】
次に、位相シフトの効果について説明する。第三者からの結託攻撃では、ブロック毎の画像を合成することで埋め込みパターンを推定することが考えられる。すなわち、埋め込みの情報に応じたN個の埋め込みパターンの集合から、Pi(x,y)に対応するブロック別に埋め込み画像パターンCi(x,y)を収集する。続いて、埋め込みパターンCi(x,y)を加算し平均値を求めると、位相シフトを行わない場合は、
Ci(x,y)=(１/N)ΣWi(x,y)
= (１/N)ΣIi(x,y)+gain・(１/N)ΣPi(x,y)      ----(8)
となる。ここで、NはPi(x,y)に対応するブロックの数、ΣWi(x,y)は透かしの埋め込まれた画像データの加算、ΣIi(x,y)はブロック分割された画像データの加算を示す。ここでNを無限にすると、
(１/N)ΣIi(x,y)→const（画像のDC成分）          ------(9)
(１/N)ΣPi(x,y) →Pi(x,y)                     -----(10)
となり、したがって、Ci(x,y)は、
Ci(x,y)=gain・Pi(x,y)＋const                 -----(11)
となり、Pi(x,y)が抽出されてしまう。 
一方、位相シフトを行った埋め込み画像においては,P'i(x,y)は位相がランダムに変わるため、
(１/N)ΣP'i(x,y) →const                   -------(12)
となり、埋め込みパターンPi(x,y)は抽出できない。
【００６０】
式(12)が成立するためにはNが大きくなければならない。今、画像サイズがW×HであるとしてR×Rのブロック数は[W/R]×[H/R]となる。ここで[・]は少数以下の切り捨てを表す。これを埋め込みパターンPi(x,y)で埋め込むものとすると、一つの埋め込みパターンPi(x,y)の個数は、最大[W/R]×[H/R] となる。例えば256×256画素の画像を32×32サイズのブロックで埋め込むとするとPi(x,y)は、最大の出現回数は６４となる。Pi(x,y)は4値の場合、4つのパターンがあるので、平均出現回数は16となる。したがって、位相シフトのパターンP'i(x,y)が１つのパターンにつき64個以上あれば、画像の中に同じパターンが出現する確率は極めて低い。
【００６１】
様々な画像サイズに対応するため、一つの埋め込みパターンに対して、256個の位相シフトパターンを用意する。すなわち、x0,y0をそれぞれ W/16, 2W/16, 3W/16, …, 15W/16の位相シフト量を与えた256パターンを生成し、０から255までの番号をつけ、位相シフトリストに埋め込み順のリストを作る。512×512サイズの画像では32×32のブロック分割では256ブロックあり、位相シフトリストの容量は256バイトでよい。さらに大きな画像に対してはこの位相シフトリストのデータを繰り返して用いる。
【００６２】
鍵のサイズは、32×32のブロックサイズでは、パターン０および１の容量がそれぞれ1024ビット（128バイト）、位相シフトリストが256バイト、それにgain が数バイトの合計520バイト程度である。埋め込み文字情報は抽出時に得ることが出来るので鍵に含ませる必要はない。位相シフトリストLは、パターン数を減らすとさらに小さくできる。さらには、固定された乱数列を用いる場合は位相リストは不要とすることもできる。この場合は固定乱数の先頭位置のみの指定でよいため数バイトでよい。
【００６３】
埋め込み情報量Ｖは、画像サイズをＷ×Ｈとすると、４値であるので、  Ｖ＝2×[W/R]×[H/R] ビット  であたえられる。例えば、540×530の画像でR=64のブロックで埋め込むとすると、Ｖ＝128 ビットとなり、ASCCI 文字コードで16文字が埋め込み可能である。32×32のブロックで埋め込むとすると、64文字が埋め込み可能である。著作権保護の用途で使用する場合、少なくとも16文字以上が必要となるため、64×64のブロックサイズで埋め込む場合は512×512の画像サイズ以上、32×32のブロックの場合は256×256の画像サイズ以上が必要となる。
【００６４】
以上のように、本手法は、埋め込みパターンに位相シフトを与えることにより、第三者からの結託攻撃に強靭な電子透かしが得られたものである。この手法は、特許文献5に紹介された反転パターンと組み合わせて用いることによりさらに強靭なものとなる。
また、元々グリーンノイズ拡散法は、各種編集や加工に対する耐性が高いため、本手法による結託攻撃に対する耐性も加わり、あらゆる攻撃に対して強靭であるといえる。
【産業上の利用可能性】
【００６５】
以上、本発明の電子透かし法について説明したが、本手法は視認されにくいグリーンノイズ特性を示すドットパターンを埋め込むため，視覚的な画質劣化が少なく，画像の編集や加工などの攻撃に対して強い耐性がある。その理由は、本手法はスペクトル拡散型透かし手法であるからである。通常のスペクトル拡散ではホワイトノイズを重畳するが、本発明ではグリーンノイズを重畳するため、画像のスペクトルとの分離が容易であるからである。
【００６６】
そのうえで、位相シフトパターンを用いることにより、埋め込みドットが空間的に拡散され、パターンの解読が極めて困難で、結託攻撃に対しても強い耐性を示す。このため、あらゆる攻撃に対して耐性が強く安全性が高い。このような特徴から、著作権保護の利用形態では、強靭な透かし埋め込みが可能で、様々な環境において、違法使用やコピー、改ざんなどの検出が可能である。
【００６７】
透かしの埋め込みは，ブロック単位で実空間にて埋め込むため、大きなサイズの画像など画像サイズに制限がなく、ディザ法並みに高速に処理可能である。このため動画像のリアルタイム埋め込みも可能で、ドライブレコーダや監視カメラなどの利用が可能である。
【００６８】
また本手法は完全可逆型であるので改ざん検知としても利用が可能である。すなわち、画像データのハッシュ値を，署名情報として透かしに埋め込む。改ざん検知を行う場合は、鍵により透かしを除去し完全に原画に戻した後、画像のハッシュ値を求め、両者が一致した時改ざんがなかったことを証明する。
この改ざん検知手法は，電子透かし技術が完全に可逆な手法に限る。埋め込んだ結果，画像データが変わるとHash値が変化するからである。結託攻撃による鍵の解読は、このようなシステムを根底から覆すもので有り、それを防ぐためにも本手法が有効である。
【符号の説明】
【００６９】
1はスキャナー、2はプリンタ、3はコンピュータシステム、4はROM, 5はRAM,6はプログラムメモリ、７はデータメモリ、８はモニター、9はキーボード、10は通信機能、11はCPU、１２はインターネット、  １３は画像データの配信、１４は購入希望の連絡、１５は秘密鍵の送付、１６は著作権者のコンピュータ、１７は購入者のコンピュータを表す。
【図１】
2020184663.tif 000003
【図２】
2020184663.tif 000004
【図３】
2020184663.tif 000005
【図４】
2020184663.tif 000006
【図５】
2020184663.tif 000007
【図６】
2020184663.tif 000008
【図７】
2020184663.tif 000009
【図８】
2020184663.tif 000010
【図９】
2020184663.tif 000011
【図１０】
2020184663.tif 000012
【図１１】
2020184663.tif 000013
【図１２】
2020184663.tif 000014
【図１３】
2020184663.tif 000015
【図１４】
2020184663.tif 000016