(57)【特許請求の範囲】
【請求項１】
デジタルデータに透かし情報の埋め込みを行う電子透かし方法であって、
（ａ）透かし情報を表す透かしデータと、前記透かし情報が埋め込まれる対象データと、を準備する工程と、
（ｂ）前記対象データに所定の直交変換を施すことによって、第１の変換係数を求める工程と、
（ｃ）前記透かしデータに前記直交変換を施すことによって、第２の変換係数を求める工程と、
（ｄ）前記第１と第２の変換係数の対応する成分同士にそれぞれ所定の重み係数を乗じて加算することによって、第３の変換係数を生成する工程と、
（ｅ）前記第３の変換係数に基づいて、前記透かし情報が埋め込まれた透かし付きデータを作成する工程と、
を備え、
前記第３の変換係数によって表される透かし付きデータに前記透かし情報が知覚できる状態で埋め込まれているときに、
前記工程（ｅ）は、
（ｆ）前記第１と第３の変換係数の対応する成分同士にそれぞれ所定の重み係数を乗じて加算することによって、第４の変換係数を生成する工程と、
（ｇ）前記第４の変換係数を用いて、前記透かし情報が知覚できない状態で埋め込まれた透かし付きデータを作成する工程と、
を含み、
前記第３の変換係数に乗じる前記重み係数は、前記第２の変換係数に乗じる前記重み係数よりも小さな値に設定される、電子透かし方法。
【請求項２】
請求項１記載の電子透かし方法であって、
前記第１と第２の変換係数の対応する成分同士にそれぞれ乗じる前記重み係数の和は１であり、
前記第１と第３の変換係数の対応する成分同士にそれぞれ乗じる前記重み係数の和も１である、電子透かし方法。
【請求項３】
デジタルデータに透かし情報の埋め込みを行うためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
透かし情報が埋め込まれる対象データに所定の直交変換を施すことによって、第１の変換係数を求める第１の機能と、
前記透かし情報を表す透かしデータに前記直交変換を施すことによって、第２の変換係数を求める第２の機能と、
前記第１と第２の変換係数の対応する成分同士にそれぞれ所定の重み係数を乗じて加算することによって、第３の変換係数を生成する第３の機能と、
前記第３の変換係数に基づいて、前記透かし情報が埋め込まれた透かし付きデータを作成する第４の機能と、
をコンピュータに実現させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であり、
前記第３の変換係数によって表される透かし付きデータに前記透かし情報が知覚できる状態で埋め込まれているときに、
前記第４の機能は、
前記第１と第３の変換係数の対応する成分同士にそれぞれ所定の重み係数を乗じて加算することによって、第４の変換係数を生成する工程と、
前記第４の変換係数を用いて、前記透かし情報が知覚できない状態で埋め込まれた透かし付きデータを作成する工程と、
を実行し、
前記第３の変換係数に乗じる前記重み係数は、前記第２の変換係数に乗じる前記重み係数よりも小さな値に設定される、記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、画像データや音声データなどのデジタルデータに電子透かしの埋め込みを行う電子透かしの技術に関する。
【０００２】
【従来の技術】
インターネットなどのコンピュータネットワークの発展に伴って、情報のデジタル化が進み、多くのユーザが簡単に必要とする情報にアクセスできるようになっている。その反面、そのデジタル情報に著作権が発生しているデジタルコンテンツについて、その著者に断わりなく容易にデータが複製できるような環境になりつつあり、不正コピーにともなう著作権侵害の問題が注目されてきている。そこで、デジタルコンテンツの主たる情報である画像や音声に関しての著作権侵害を防止すること等を目的として、著作権情報などの透かし情報を画像データや音声データに埋め込む電子透かし技術が注目されている。
【０００３】
【発明が解決しようとする課題】
電子透かし技術の１つとして、画像データや音声データを周波数変換し、その変換係数に透かし情報を埋め込む方法がある。しかし、従来の電子透かし技術では、変換係数の特定の周波数成分に透かし情報を埋め込んでいたので、埋め込み後の変換係数が不自然な分布を有する傾向がある。このような変換係数の不自然な分布は、第三者が透かし情報を攻撃する手掛かりになり、この結果、透かし情報が不正に除去され易いという問題があった。
【０００４】
本発明は、変換係数が不自然な分布を有することを緩和できる電子透かし技術を提供することを目的とする。
【０００５】
【課題を解決するための手段およびその作用・効果】
上述の課題の少なくとも一部を解決するため、本発明では、透かし情報を表す透かしデータと、前記透かし情報が埋め込まれる対象データと、を準備する。そして、対象データに所定の直交変換を施すことによって、第１の変換係数を求める。また、透かしデータに直交変換を施すことによって、第２の変換係数を求める。そして、第１と第２の変換係数の対応する成分同士にそれぞれ所定の重み係数を乗じて加算することによって、第３の変換係数を生成する。この第３の変換係数に基づいて、透かし情報が埋め込まれた透かし付きデータを作成する。また、第３の変換係数によって表される透かし付きデータに、前記透かし情報が知覚できる状態で埋め込まれているときに、第１と第３の変換係数の対応する成分同士にそれぞれ所定の重み係数を乗じて加算することによって、第４の変換係数を生成し、この第４の変換係数を用いて透かし情報が知覚できない状態で埋め込まれた透かし付きデータを作成する。この際、第３の変換係数に乗じる前記重み係数は、前記第２の変換係数に乗じる前記重み係数よりも小さな値に設定される。
【０００６】
本発明では、対象データと透かし情報の直交変換係数にそれぞれ所定の重み係数を乗じて加算することによって第３の変換係数を生成するので、この第３の変換係数は、対象データの変換係数の分布に近い自然な分布を有している。従って、この第３の変換係数に基づいて透かし付きデータを作成すれば、第三者からの攻撃に耐性のある透かし付きデータを得ることができる。また、第３の変換係数によって表される透かし付きデータに透かし情報が知覚できる状態で埋め込まれているときに、同様の埋め込み処理を再度実行することによって、透かし情報が知覚できない状態で埋め込まれた透かし付きデータを容易に生成することができる。
【０００７】
なお、前記第１と第２の変換係数の対応する成分同士にそれぞれ乗じる前記重み係数の和は１であり、前記第１と第３の変換係数の対応する成分同士にそれぞれ乗じる前記重み係数の和も１であるものとしてもよい。
【０００９】
なお、本発明は、電子透かし方法および装置、電子透かしの検証方法および装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の種々の態様で実現することができる。
【００１０】
【発明の実施の形態】
Ａ．ＤＣＴ変換の性質と電子透かしの考え方：
ＤＣＴ変換（離散コサイン変換）は、信号を周波数成分に変換する直交変換の一手法である。２次元離散コサイン変換および逆変換は、以下の（１）式〜（３）式で表される。
【００１１】
【数１】
0003942775.tif 000002
【００１２】
【数２】
0003942775.tif 000003
【００１３】
【数３】
0003942775.tif 000004
【００１４】
ここで、g(n,m)は入力データ、G(u,v)は変換係数であり、また、変換対象となる入力データブロックのサイズはＮ×Ｎである。
【００１５】
ＤＣＴ変換は、動画像圧縮の国際標準であるＭＰＥＧや静止画像圧縮の国際標準であるＪＰＥＧに使われており、画像ごとに大きく違う画素値の分布を、画像依存性の少ない一定の性質をもつ変換係数に変換する性質をもっている。ＤＣＴ変換はこのような性質を有しているので、変換係数に透かし情報を埋め込むと、これを逆変換して得られる画像においては、透かし情報が画像全体に拡散することになる。
【００１６】
Ｎ×Ｎの大きさを有するブロックに対する変換係数は、１個の直流成分Ｇ(0,0) と、Ｎ2 −１個の交流成分とで構成される。また、直流成分の係数値が最大となり、それに近い交流成分ほどその係数値は大きくなる傾向にある。すなわち、画像を形成するエネルギーの大部分が低周波に集中する。このとき、各ブロックに対する変換係数値の分布は、直流成分をピークにもつラプラス分布により近似できる。このような変換係数に、透かし情報を自然な形で埋め込むためには、このようなラプラス分布を大きく変化させないように透かし情報を埋め込めばよい。
【００１７】
ところで、透かし情報をＤＣＴ変換すれば、そのエネルギの大部分は低周波に集中し、ラプラス分布により近似できる分布を有するはずである。そこで、原画像の変換係数と、透かし情報の変換係数とにそれぞれ所定の比を乗じて加算すれば、自然なかたちで透かし情報を変換係数に埋め込むことが可能である。また、この変換係数を画素値領域に逆変換すると、透かし情報が画像全体に分散されることになる。従って、周波数領域と画素値領域のいずれにおいても、第三者が、透かし付き画像から透かし情報を不正に除去することは困難である。
【００１８】
Ｂ．可変型透かしの原理：
図１は、本発明による透かしの埋め込み処理の概要を示す説明図である。ここでは、画像を対象とした透かしの埋め込み処理を説明する。まず、原画像Ｐと、透かし情報としての透かしＱとが準備される。図２は原画像Ｐの一例を示し、図３は透かしＱの一例を示している。原画像Ｐは、SIDBA のfacts と呼ばれる標準画像であり、２５６×２５６画素の大きさを有するグレースケール画像（多値画像）である。また、透かしＱも、原画像Ｐと同じ大きさおよび階調数を有するグレースケール画像である。
【００１９】
埋め込み処理では、まず、原画像ＰをＮ×Ｎ画素のブロック毎にＤＣＴ変換することによって、第１のＤＣＴ変換係数Ｘｐを得る。また、透かしＱを同様にＤＣＴ変換することによって、第２のＤＣＴ変換係数Ｘｑを得る。
【００２０】
次に、下記（４）式に従って、第１と第２のＤＣＴ変換係数の対応する周波数成分同士を合成し、第３のＤＣＴ変換係数Ｘｒを生成する。
【００２１】
【数４】
0003942775.tif 000005
【００２２】
すなわち、対応する各周波数成分ごとに、第１のＤＣＴ係数Ｘｐに重み係数ａ／ｎを乗じ、第２のＤＣＴ係数Ｘｑに重み係数ｂ／ｍを乗じて加算（または減算）することによって、第３のＤＣＴ変換係数Ｘｒが生成される。なお、２つの重み係数ａ／ｎ，ｂ／ｍは、それぞれ０でない任意の値である。２つの重み係数ａ／ｎ，ｂ／ｍは、有理数であること（すなわち、ａ，ｂ，ｎ，ｍが整数であること）が好ましく、また、その和を１に設定することが好ましい。これらの２つの重み係数ａ／ｎ，ｂ／ｍは、原画像Ｐと透かしＱのＤＣＴ係数を合成する際の相対比を表すものと考えることも可能である。
【００２３】
第３のＤＣＴ係数Ｘｒには透かし情報が含まれているので、「透かし付きＤＣＴ係数」とも呼ぶ。この透かし付きＤＣＴ係数Ｘｒを逆変換（ＩＤＣＴ）すると、可視透かし付き画像Ｒが得られる。図４は、可視透かし付き画像Ｒの一例を示す説明図である。この例では、重み係数ａ／ｎ，ｂ／ｍを規定する整数値として、ｎ＝ｍ＝８，ａ＝７，ｂ＝１を用いている。図４では、原画像の中に透かし画像が薄く埋め込まれていることが肉眼で認識できる。
【００２４】
なお、「可視透かし付き画像」とは、透かし情報が肉眼で観察できるような画像を言う。これに対して、透かし情報が埋め込まれているが、肉眼では透かし情報が観察できないような画像を「不可視透かし付き画像」と呼ぶ。
【００２５】
可視透かし付き画像Ｒを転送したり保存したりする場合には、そのＤＣＴ係数Ｘｒを用いて可視透かし付き画像データが生成される。例えば、ＤＣＴ係数Ｘｒをそのまま可視透かし付き画像データとして用いることも可能である。また、ＤＣＴ係数Ｘｒに量子化やエントロピー符号化を行って、圧縮符号化された画像データを生成することも可能である。但し、量子化を伴う圧縮符号化を行う場合には、上述した埋め込み処理のＤＣＴ係数Ｘｐ，Ｘｑとして、量子化後のＤＣＴ係数を用いることが好ましい。この理由は、量子化後のＤＣＴ係数に対して埋め込み処理を行えば、その後にエントロピー符号化しても、透かし情報が損なわれないからである。
【００２６】
一方、可視透かし付き画像Ｒを不可視化する場合には、上記の処理で得られた可視透かし付き画像Ｒを新たな透かしＱ’として用い、これを原画像Ｐに埋め込む処理を実行する。このとき、最初の埋め込み処理で得られた透かし付きＤＣＴ係数Ｘｒを、新たな透かしＱ’のＤＣＴ係数としてそのまま利用することが可能である。また、重み係数ａ／ｎ，ｂ／ｍの値は、１回目の埋め込み処理において用いられたものとは異なる値を使用することが可能である。
【００２７】
従って、２回目の埋め込み処理で得られる透かし付きＤＣＴ係数Ｘｓは、以下の（５）式で与えられる。
【００２８】
【数５】
0003942775.tif 000006
【００２９】
ここで、（ａ／ｎ）1 ，（ｂ／ｍ）1 は１回目の埋め込み処理時に用いられた重み係数であり、（ａ／ｎ）2 ，（ｂ／ｍ）2 は２回目の埋め込み処理時に用いられる重み係数である。なお、典型的には、２回目の埋め込み時の重み係数（ｂ／ｍ）2 の方が、１回目の埋め込み時の重み係数（ｂ／ｍ）1 よりも小さい値に設定される。
【００３０】
こうして得られたＤＣＴ係数Ｘｓを逆変換すると、透かし情報が肉眼で観察できない状態で埋め込まれた不可視透かし付き画像Ｓが得られる。図５は、不可視透かし付き画像Ｓの一例を示す説明図である。この例では、２回目の重み係数（ａ／ｎ）2 ，（ｂ／ｍ）2 を規定する整数値として、ｎ＝ｍ＝２０，ａ＝１９，ｂ＝１を用いている。この不可視透かし付き画像Ｓでは、透かし画像を肉眼で認識することは困難である。
【００３１】
なお、２回の埋め込み処理によっても不可視化が不十分であり、透かし付き画像の中に透かし情報が観察できるときには、さらに３回目以降の埋め込み処理を実行するようにしてもよい。すなわち、不可視透かし付き画像Ｓを得るためには、可視透かし付き画像が得られた後に、得られた透かし付き画像を新たな透かし画像として用いながら、少なくとも１回の埋め込み処理を繰り返し実行すればよい。
【００３２】
但し、実際には、２回目の埋め込み処理によって不可視透かし付き画像Ｓが得られるように、２回目の埋め込み処理における重み係数（ａ／ｎ）2 ，（ｂ／ｍ）2 の値を適切な設定とすることが好ましい。
【００３３】
ところで、上記（５）式は、次の（６）式のように書き換えることも可能である。
【００３４】
【数６】
0003942775.tif 000007
【００３５】
すなわち、不可視透かし付き画像ＳのＤＣＴ係数Ｘｓは、原画像ＰのＤＣＴ係数Ｘｐと、透かしＱのＤＣＴ係数Ｘｑとにそれぞれの重み係数ｋ１，ｋ２を乗じて加算してものであると考えることも可能である。従って、これらの重み係数ｋ１，ｋ２を、前述した（４）式における重み係数ａ／ｎ，ｂ／ｍとして使用すれば、１回の埋め込み処理で不可視透かし付き画像のＤＣＴ係数Ｘｓを得ることも可能である。
【００３６】
このようにして得られた不可視透かし付き画像のＤＣＴ係数Ｘｓを用いて、不可視透かし付き画像データを生成することができる。例えば、ＤＣＴ係数Ｘｓをそのまま不可視透かし付き画像データとして用いることも可能である。また、ＤＣＴ係数Ｘｓに量子化やエントロピー符号化を行って、圧縮符号化された画像データを生成することも可能である。
【００３７】
上述した透かし付き画像のＤＣＴ係数Ｘｒ，Ｘｓは、原画像Ｐと透かしＱのＤＣＴ係数にそれぞれ所定の重み係数を乗じて加算または減算することによって作成されているので、原画像に対する変換係数値の分布を過度に歪めることなく透かしを埋め込むことが可能である。この結果、第三者からの攻撃に対する耐性が大きな透かし付き画像を得ることが可能である。
【００３８】
Ｃ．透かしの検証：
不可視透かし付き画像Ｓにおいては、透かしＱは第三者に知覚されない状態で原画像Ｐ内に埋め込まれている。原画像Ｐに関して正当な権原を有する者は、この不可視透かし付き画像Ｓと原画像Ｐとを用いて、図６に示す手順に従って透かしの検証を実行することができる。
【００３９】
検証処理では、まず、検証対象とする不可視透かし付き画像Ｓと、原画像Ｐとの差分を取ることによって、差分画像Ｔを作成する。そして、適切なしきい値を用いて差分画像Ｔを２値化することによって、透かしを確認するための検証画像Ｖを作成する。検証画像中で透かしを確認できるようにするための適切なしきい値は、トライアンドエラーで決定するようにしてもよい。また、必要に応じて、検証画像Ｖについて画素値の反転を行うようにしてもよい。
【００４０】
図６の手順により、不可視透かし付き画像Ｓの中に目には見えない形で埋め込まれていた透かしを、検証画像Ｖとして得ることができる。図７は、図２の原画像Ｐと図５の不可視透かし付き画像Ｓとを用いて得られた検証画像Ｖを示している。この検証画像Ｖと、元の透かしＱ（図３）とを比較することによって、不可視透かし付き画像Ｓの中に透かしが埋め込まれていたことを検証することが可能である。
【００４１】
Ｄ．透かし付き画像の画質評価：
図８は、可視透かし付き画像と原画像の画質の比較、および、不可視付き画像と原画像の画質の比較をそれぞれ示す説明図である。ここでは、画質を評価するために、次の（７）式で与えられる信号対雑音比(ＳＮ比)を用いている。
【００４２】
【数７】
0003942775.tif 000008
【００４３】
ここで、origi は原画像の画素ｉの輝度値を示し、embi は透かし付き画像の画素ｉの輝度値を、また、Ｎは画像のサイズを示す。
【００４４】
この例では、不可視透かし付き画像のＳＮ比は、可視透かし付き画像のＳＮ比の約１／２である。なお、ＤＣＴ変換は、周波数領域において埋め込まれた透かし情報が、画素値領域に逆変換したときには画像全体に拡散する、という特性がある。従って、透かし付き画像においては、透かし部分のみならず、背景部分にも透かし情報の影響が加味されていることに注意すべきである。この影響は、例えば、可視透かし付き画像における輝度の変化として表れる。このような特徴は、第三者が可視透かし付き画像の透かし部分を不正に切り取って使うことを防止することができる、という作用もある。なお、透かしＱの背景部分を、原画像の画素値に近い値としておけば、このような輝度の変化は微小なものとなる。
【００４５】
Ｅ．攻撃への耐性：
Ｅ−１．通常の攻撃について：
透かし付き画像に関しては、種々の攻撃に対する耐性が問題となる。例えば、画像データの転送や保存の際に、画像データを圧縮するために、情報損失を伴う非可逆圧縮が行われることがある。このような非可逆圧縮によって透かし付き画像に歪みが生じても、埋め込んだ透かし情報を取り出せるか否か（すなわち正当権利者が検証できるか否か）が問題となる。あるいは、第三者による傍受、変更、除去といった不正行為に対してどの程度耐性をもつのかが重要な問題となる。
【００４６】
そこで、上記実施例によって作成された透かし付き画像への各種の攻撃に対する耐性を調べた。ここでは、ＪＰＥＧ圧縮による攻撃と、ノイズ付加による攻撃と、いわゆるスターマーク攻撃（StirMark攻撃）と、を行った。
【００４７】
図９は、ＪＰＥＧ圧縮による攻撃に対する検証画像を示す説明図である。この攻撃では、まず、不可視透かし付き画像Ｓ（図５）のビットマップデータと原画像Ｐ（図２）のビットマップデータの両方をＪＰＥＧ圧縮した。圧縮率としては、ＪＰＥＧの標準的な値を用いた。そして、これらを復元した画像を用いて、前述した図６の検証処理を行うことによって検証画像を作成した。
【００４８】
図９の検証画像は、図３に示した元の透かしＱからは、かなりの変形を受けているが、元の透かしＱとの同一性はかなりの程度で認識することができる。例えば、図９の検証画像と図３の透かしＱとの画像マッチングを行えば、かなり高い一致度が得られる。
【００４９】
図１０は、ノイズ付加による攻撃に対する検証画像を示す説明図である。ノイズ付加では、可視透かし付き画像Ｓの全体に均等に５％のノイズを付加した。ノイズ付加を行った後の検証画像においても、元の透かしＱとの同一性をかなりの程度で認識することができる。
【００５０】
図１１は、スターマーク攻撃に対する検証画像を示す説明図である。ここで、「スターマーク攻撃」とは、画像の拡大縮小などの幾何学変換や、再サンプリングなどの各種の処理を行って、透かしの攻撃耐性を評価するためのツールである。上記実施例では、検証画像を作成する際に、透かし付き画像と原画像との差分を求めるので、幾何変換を行うスターマーク攻撃に対しては透かしの検証が難しくなる。すなわち、図１１に示した検証画像から元の透かしを検出することはかなり困難である。
【００５１】
しかしながら、透かし付き画像Ｓだけでなく、原画像Ｐにも同じスターマーク攻撃を行えば、両者に幾何変換が同様になされるため、透かしの検証が改善される。図１２は、不可視透かし付き画像Ｓ（図５）と原画像Ｐ（図２）の両方に同一のスターマーク攻撃を行ったときの透かしの検証画像を示す説明図である。この検証画像では、元の透かしＱとの同一性をかなりの程度で認識することができることが解る。
【００５２】
Ｅ−２．特殊な攻撃について：
透かしＱが２値画像で与えられた場合には、次のような特有の攻撃方法が考えられる。この攻撃方法では、画像処理によって可視透かし付き画像Ｒから可視部分の透かしのみを切り取り、それを透かしＱ'と推定して、透かしの消去攻撃に用いる。以下では、推定された透かしＱ’を「推定透かし」と呼ぶ。
【００５３】
このような推定透かしＱ’を用いた攻撃は、以下のようにして行われる。まず、図４に示した可視透かし付き画像Ｒを作成する際には、重み係数のパラメータとしてｎ＝ｍ＝８，ａ＝７，ｂ＝１を使用したので、次の（８）式が成立することが理解できる。
【００５４】
【数８】
0003942775.tif 000009
【００５５】
（８）式を変形すると次の（９）式が得られる。
【００５６】
【数９】
0003942775.tif 000010
【００５７】
また、図５に示した不可視透かし付き画像Ｓを作成する際には、２回目の埋め込み処理時の重み係数のパラメータとしてｎ＝ｍ＝２０，ａ＝１９，ｂ＝１を使用したので、次の（１０）式が成立する。
【００５８】
【数１０】
0003942775.tif 000011
【００５９】
（１０）式に前述の（８）式を代入すれば、次の（１１）式が得られる。
【００６０】
【数１１】
0003942775.tif 000012
【００６１】
この（１１）式は、さらに次の（１２）式に書き換えられる。
【００６２】
【数１２】
0003942775.tif 000013
【００６３】
推定透かしＱ’を用いた攻撃では、まず、推定透かしＱ’をＤＣＴ変換することによって、ＤＣＴ変換係数Ｘｑ’を作成する。また、不可視透かし付き画像ＳもＤＣＴ変換してＤＣＴ係数Ｘｓを作成する。これらのＤＣＴ係数Ｘｑ’，Ｘｓを用いると、原画像のＤＣＴ係数Ｘｐ’を、上記（１２）式と同様の（１３）式を用いて推定することができる。
【００６４】
【数１３】
0003942775.tif 000014
【００６５】
このＤＣＴ係数Ｘｐ’を逆変換すれば、ほぼ透かしの無い原画像を得ることが可能である。なお、このような攻撃によって作成された原画像を「推定された原画像」と呼ぶ。
【００６６】
図１３は、推定透かしＱ’の一例を示している。この推定透かしＱ'は、図３に示した透かしＱの輝度値を少し変えた多値画像である。本実施例では、この推定透かしＱ’を用い、上記（１３）式に従って、推定された原画像Ｐ’を生成した。そして、推定された原画像Ｐ’から透かしが検証できるか否かを調べるために、推定された原画像Ｐ’と、不可視透かし付き画像Ｓとを用いて、図６に示した検証処理を行って検証画像を作成した。この際、不可視透かし付き画像Ｓに対する攻撃としては、以下の４つの場合を検討した。
【００６７】
場合１：透かしＱと重み係数パラメータ｛ｎ，ｍ，ａ，ｂ｝の推定が共に正しい。
場合２：透かしＱの推定は正しいが、重み係数パラメータ｛ｎ，ｍ，ａ，ｂ｝の推定は正しくない。
場合３：透かしＱの推定は正しくないが、重み係数パラメータ｛ｎ，ｍ，ａ，ｂ｝の推定は正しい。
場合４：透かしＱと重み係数パラメータ｛ｎ，ｍ，ａ，ｂ｝の推定が共に正しくない。
【００６８】
図１４ないし図１７は、このような４つの場合において得られた検証画像をそれぞれ示す説明図である。図１４に示す場合１の検証画像からは、透かしを読み取ることは困難である。しかし、場合１で想定しているようにパラメータｎ，ｍ，ａ，ｂが正しく推定できる確率は理論上小さい。また、透かしとして多値画像を用い、さらに背景部分も工夫することによって、このような場合１が起こる確率は非常に小さくなる。すなわち、この場合１は、原画像Ｐに関して正当な権原を有する者のみが知り得る特別な場合と考えることができる。
【００６９】
図１５に示す場合２の検証画像からは、透かしを容易に検出することができる。また、図１６に示す場合３の検証画像は、重み係数のパラメータの推定が正しいので、透かし付き画像と透かしの画素値が大きく違う部分において、アンチエイリアスされた部分が抽出されている。この検証画像では透かしの輪郭がはっきりしているので、透かしを読み取ることが可能である。図１７に示す場合４の検証画像からは、透かしを容易に検出可能である。
【００７０】
このように、上記実施例の電子透かしでは、各種の攻撃に対してかなり高い耐性を有する透かし付き画像を得ることが可能である。
【００７１】
また、原画像と透かしのＤＣＴ係数を合成する際に用いる重み係数の値を変えることによって、透かしの知覚状態を、可視状態から不可視状態まで、ある程度任意に制御することが可能である。
【００７２】
Ｆ．装置の全体構成と処理手順：
図１８は、本実施例による上述の電子透かし処理を実行する電子透かし処理装置の構成を示すブロック図である。この電子透かし処理装置は、ＣＰＵ２２と、ＲＯＭおよびＲＡＭを含むメインメモリ２４と、フレームメモリ２６と、キーボード３０と、マウス３２と、表示装置３４と、ハードディスク３６と、モデム３８と、画像を読み取るスキャナ３９と、これらの各要素を接続するバス４０と、を備えるコンピュータである。なお、図１８では各種のインターフェイス回路は省略されている。モデム３８は、図示しない通信回線を介してコンピュータネットワークに接続されている。
【００７３】
メインメモリ２４には、電子透かし埋め込み部４２と、画像データ生成部４４と、透かし検証部４６と、の機能を実現するためのコンピュータプログラムが格納されている。これらの各部４２，４４，４６の機能については既に詳しく説明した通りである。これらの各部４２，４４，４６の機能を実現するコンピュータプログラムは、フレキシブルディスクやＣＤ−ＲＯＭ等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。
【００７４】
図１９は、電子透かしの埋め込み部４２が行う埋め込み処理の手順を示すフローチャートである。ステップＳ１では、原画像Ｐと、透かしＱとを準備する。ステップＳ２では、原画像Ｐと透かしＱの２つの画像をＤＣＴ変換する。ステップＳ３では、２組の変換係数の対応する周波数成分同士を合成して、可視透かし付き画像の変換係数を生成する。
【００７５】
ステップＳ４では、透かしの不可視化を行うか否かがユーザによって指示される。不可視化を行わない場合には、後述するステップＳ６に移行する。一方、不可視化を行う場合には、ステップＳ５において、可視透かし付き画像を新たな透かしとして用いて、透かしの埋め込み処理を再度実行する。ステップＳ６では、透かし付き画像のＤＣＴ係数を用いて、画像データが作成される。
【００７６】
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００７７】
（１）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、図１８においてコンピュータプログラムで実現されていた電子透かし埋め込み部４２と画像データ生成部４４と透かし検証部４６の機能を、それぞれ専用のハードウェア回路で実現することも可能である。
【００７８】
（２）上記実施例では、ＤＣＴ変換を用いていたが、ＦＦＴやウエーブレット変換などの他の種類の直交変換を採用することが可能である。
【００７９】
（３）上記実施例では、原画像Ｐおよび透かしＱとして、単色の多値画像を用いていたが、２つ画像Ｐ，Ｑの一方又は双方をカラー画像とすることも可能である。２つの画像Ｐ，Ｑの両方にカラー画像を用いる場合には、透かしの埋め込みや検証は、各色成分毎に行われる。また、原画像Ｐとしてカラー画像を用い、透かしＱに単色の多値画像を用いる場合には、原画像Ｐの複数の色成分の少なくとも１つに透かしＱを埋め込むようにすればよい。
【００８０】
（４）上記実施例では、静止画に対して透かし情報を埋め込んでいたが、本発明は、静止画に限らず、動画に適用することも可能である。また、本発明は、画像に透かし情報を埋め込む場合に限らず、音声に透かし情報を埋め込む場合にも適用可能である。すなわち、本発明は、一般に、デジタルデータに透かし情報を埋め込む場合に適用可能である。なお、音声の場合も考慮すると、「可視透かし」は、「知覚可能な透かし」あるいは「知覚できる透かし」と呼ぶことができる。また、「不可視透かし」は、「知覚不可能な透かし」あるいは「知覚できない透かし」と呼ぶことができる。また、透かしを表すデータを「透かしデータ」と呼び、透かしが埋め込まれる原画像や原音声を表すデータを、単に「対象データ」と呼ぶことができる。
【図面の簡単な説明】
【図１】本発明による透かしの埋め込み処理の概要を示す説明図。
【図２】原画像Ｐの一例を示す説明図。
【図３】透かしＱの一例を示す説明図。
【図４】可視透かし付き画像Ｒの一例を示す説明図。
【図５】不可視透かし付き画像Ｓの一例を示す説明図。
【図６】透かしの検証処理の概要を示す説明図。
【図７】検証画像Ｖの一例を示す説明図。
【図８】可視透かし付き画像と原画像の画質の比較、および、不可視付き画像と原画像の画質の比較をそれぞれ示す説明図。
【図９】ＪＰＥＧ圧縮による攻撃に対する検証画像を示す説明図。
【図１０】ノイズ付加による攻撃に対する検証画像を示す説明図。
【図１１】スターマーク攻撃に対する検証画像を示す説明図。
【図１２】不可視透かし付き画像Ｓと原画像Ｐの両方に同一のスターマーク攻撃を行ったときの透かしの検証画像を示す説明図。
【図１３】推定透かしＱ’の一例を示す説明図。
【図１４】推定透かしを用いた第１の場合の検証画像を示す説明図。
【図１５】推定透かしを用いた第２の場合の検証画像を示す説明図。
【図１６】推定透かしを用いた第３の場合の検証画像を示す説明図。
【図１７】推定透かしを用いた第４の場合の検証画像を示す説明図。
【図１８】実施例における電子透かし処理を実行する電子透かし処理装置の概略構成を示すブロック図。
【図１９】透かしの埋め込み処理の手順を示すフローチャート。
【符号の説明】
２２…ＣＰＵ
２４…メインメモリ
２６…フレームメモリ
３０…キーボード
３２…マウス
３４…表示装置
３６…ハードディスク
３８…モデム
３９…スキャナ
４０…バス
４２…電子透かし埋め込み部
４４…画像データ生成部
４６…透かし検証部
【図１】
0003942775.tif 000015
【図２】
0003942775.tif 000016
【図３】
0003942775.tif 000017
【図４】
0003942775.tif 000018
【図５】
0003942775.tif 000019
【図６】
0003942775.tif 000020
【図７】
0003942775.tif 000021
【図８】
0003942775.tif 000022
【図９】
0003942775.tif 000023
【図１０】
0003942775.tif 000024
【図１１】
0003942775.tif 000025
【図１２】
0003942775.tif 000026
【図１３】
0003942775.tif 000027
【図１４】
0003942775.tif 000028
【図１５】
0003942775.tif 000029
【図１６】
0003942775.tif 000030
【図１７】
0003942775.tif 000031
【図１８】
0003942775.tif 000032
【図１９】
0003942775.tif 000033