(57)【特許請求の範囲】
【請求項１】
信号成分から成るデジタル入力信号を処理する信号処理方法において、各０平均パッチが一のアンカーパッチ成分と略０に等しい平均値を持つ一以上の他のパッチ成分とから成る複数の０平均パッチから、選択された一のパッチを特定するステップと、 前記デジタル入力信号内の選択された一の位置に対応する一のアンカー信号成分を特定するステップと、 前記選択された一のパッチの各パッチ成分を前記デジタル入力信号のそれぞれの信号成分で処理するステップとを有し、前記アンカーパッチ成分は前記アンカー信号成分で処理され、前記一以上の他のパッチ成分は他のそれぞれの信号成分で処理される信号処理方法であって、前記パッチは、前記デジタル入力信号により表される元画像の空間周波数よりも高周波の周波数成分を有していないことを特徴とする信号処理方法。
【請求項２】
請求項１記載の前記デジタル入力信号に一のウォーターマークを付加する方法であって、前記デジタル入力信号を処理するステップは、前記選択された一のパッチの各パッチ成分を前記デジタル入力信号のそれぞれの信号成分と結合させるものであり、該結合において、前記アンカーパッチ成分は前記アンカー信号成分と結合され、前記一以上の他のパッチ成分は前記他のそれぞれの信号成分と結合されることを特徴とするウォーターマークの付加方法。
【請求項３】
請求項１記載の前記デジタル入力信号における一のウォーターマークを検出する方法であって、前記デジタル入力信号を処理するステップは、前記選択された一のパッチの各パッチ成分の前記デジタル入力信号のそれぞれの信号成分との相関度を算出するものであり、該算出において、前記アンカーパッチ成分は前記アンカー信号成分と相関づけられ、前記一以上の他のパッチ成分は前記他のそれぞれの信号成分と相関づけられることを特徴とするウォーターマークの検出方法。
【請求項４】
請求項１乃至３のいずれかに記載の方法において、一以上の追加の選択されたパッチを特定するステップと、前記デジタル入力信号内の一以上の追加の選択された位置に対応するアンカー信号成分を特定するステップと、前記追加の選択されたパッチの各パッチ成分を前記デジタル入力信号のそれぞれの信号成分で処理するステップとを有し、前記アンカーパッチ成分のそれぞれの追加の選択されたパッチは、それぞれの追加の選択された位置に対応する前記アンカー信号成分で処理され、前記一以上の他のパッチ成分は他のそれぞれの信号成分で処理されることを特徴とする方法。
【請求項５】
請求項４記載の方法において、前記信号成分は、ラスター形式に整えられた情報成分を表し、前記パッチ成分と信号成分は、前記ラスター内の信号成分順序によったシーケンス形式に処理されることを特徴とする方法。
【請求項６】
請求項１乃至４のいずれかに記載の方法において、更に、前記パッチ成分の値を、それぞれの選択されたパッチにおける当該パッチ成分の前記平均値が略０に等しいような疑似乱数のシーケンスによって変更するステップを有することを特徴とする方法。
【請求項７】
請求項１乃至４のいずれかに記載の方法において、選択されたパッチとアンカー信号成分が、疑似乱数のシーケンスによって特定されることを特徴とする方法。
【請求項８】
請求項１乃至４のいずれかに記載の方法において、更に、前記パッチ成分を、疑似乱数のシーケンスによってスケーリングするステップを有することを特徴とする方法。
【請求項９】
信号成分から成るデジタル入力信号を処理する信号処理装置において、各０平均パッチが一のアンカーパッチ成分と略０に等しい平均値を持つ一以上の他のパッチ成分とから成る複数の０平均パッチから、選択された一のパッチを特定する手段と、前記デジタル入力信号内の選択された一の位置に対応する一のアンカー信号成分を特定する手段と、前記選択された一のパッチの各パッチ成分を前記デジタル入力信号のそれぞれの信号成分で処理する手段とを有し、前記アンカーパッチ成分は前記アンカー信号成分で処理され、前記一以上の他のパッチ成分は他のそれぞれの信号成分で処理される信号処理装置であって、前記パッチは、前記デジタル入力信号により表される元画像の空間周波数よりも高周波の周波数成分を有していないことを特徴とする信号処理装置。
【請求項１０】
デバイスによって読取り可能であり、デジタル入力信号を処理するための方法を前記デバイスに実行させるための指示命令のプログラムを具現する記録媒体において、前記方法は、各０平均パッチが一のアンカーパッチ成分と略０に等しい平均値を持つ一以上の他のパッチ成分とから成る複数の０平均パッチから、選択された一のパッチを特定する処理と、前記デジタル入力信号内の選択された一の位置に対応する一のアンカー信号成分を特定する処理と、前記選択された一のパッチの各パッチ成分を前記デジタル入力信号のそれぞれの信号成分で処理する処理とを有し、前記アンカーパッチ成分は前記アンカー信号成分で処理され、前記一以上の他のパッチ成分は他のそれぞれの信号成分で処理される記録媒体であって、前記パッチは、前記デジタル入力信号により表される元画像の空間周波数よりも高周波の周波数成分を有していないことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル画像処理、特に、ウォーターマークとして知られる、目立たない、身元を確認し或いは本物であることを証明する情報を画像に埋め込み、その埋め込まれた情報を検出する画像処理に関する。本発明は、画像に当該画像のオーナーの身元を確認するウォーターマークを埋め込むことができ、疑われる対象物がオリジナル画像のコピー又は修正版であるか否かを決することができる著作権保護のシステム及び方法に具体化される。
【０００２】
【従来の技術】
従来、コンピューティングパワーの増大を伴うコンピュータの急激な普及は、デジタル画像処理技術の成長に大いに役だった。デジタル画像は、画像の劣化の心配無しにコピーされ得るので、また、応用する上で広範囲の要求に合致する高品質画像を提供するために、容易に修正され、高められ、適合され得るので、魅力的である。
【０００３】
デジタル画像のこれらの特性は、画像における著作権の保護を望み、或いは無権限の複製行為の出所を検出し、その正体を確認することを望む当該画像のオーナーにとって心配の源でもある。
【０００４】
これらの心配に答えて、保護対象物のオーナーの身元を確認でき、或いは無権限のコピーを生産するのに用いられたデバイスの正体を確認できる画像のような情報を他の情報、或いは保護対象物に埋め込む方法を開発する企てがなされてきた。特に、出所の確認目的のためには検出できるが、普通に見たのでは目に見えず、無権限に除去しようとする試みには耐え得る、出所を確認する情報を画像に隠す方法を開発するために、相当な努力がなされてきた。
【０００５】
【発明が解決しようとする課題】
一方、出所確認情報は、当該画像を目に見える形で改変するものではないが、適当な回復技術を用いれば検出し得るという意味で、目立たないものであるべきである。他方、圧縮、クロッピング、回転、翻訳、スケーリング、端部強調、他のタイプのフィルタリング処理のような画像処理技術に対して耐え、また、その埋め込まれた情報を除去し、或いは覆い隠そうとする処理技術に対しても耐え得るものであるべきである。残念ながら、これら両方の要請は、互いに相反するものである。
【０００６】
強固で様々なタイプの画像処理に対して耐え得る情報を埋め込む、２つの基本的なタイプの情報秘匿技術が開発された。１つのタイプの技術は、空間又はピクセル領域に当該情報を埋め込む。第２のタイプの技術は、周波数スペクトラム領域に当該情報を埋め込む。
【０００７】
普通、ＳｔｉｒＭａｒｋと言われる、情報秘匿技術に関する評価のツールは、Ｐｅｔｉｔｃｏｌａｓ他著、“Ａｔｔａｃｋｓ  ｏｎ  Ｃｏｐｙｒｉｇｈｔ  Ｍａｒｋｉｎｇ  Ｓｙｓｔｅｍｓ”，Ｓｅｃｏｎｄ  ｗｏｒｋｓｈｏｐ  ｏｎ  ｉｎｆｏｒｍａｔｉｏｎ  ｈｉｄｉｎｇ，  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  の１５２５巻，１９９８年４月，２１８−２３８頁に記述されている。このＳｔｉｒＭａｒｋツールを使用してみて、秘匿技術の各々は、他の技術に対する幾つかの利点を提供するが、残念ながら、十分に広い範囲の画像処理技術に対して耐え得る技術は未だ知られていないことが示された。幾つかのタイプの画像処理技術に対して耐え得る技術は、他のタイプの画像処理技術に対して脆弱なのである。
【０００８】
必要なのは、広範囲の画像処理技術による当該情報の無権限な除去に対して耐え得る形態で、画像に目立たない出所確認情報を埋め込むことができる情報秘匿技術である。この意味で、画像処理が、もはや出所確認情報を検出し得なくなる前に、当該画像を許容できないレベルまで劣化させてしまうならば、その出所確認情報は除去に対して耐え得るものと考えられる。
【０００９】
本発明の目的は、画像のような保護対象物に、広範囲の信号処理技術による（当該情報の）消去又は変更に対抗し得る充分に目立たない情報を効率的に埋め込み、また、当該埋め込まれた情報を効率的に検出することにある。
【００１０】
【課題を解決するための手段】
本発明の一様相によれば、信号成分を有する１つのデジタル入力信号が、各０平均パッチは１つのアンカーパッチ成分と１以上の他のパッチ成分から成り、１つの任意のパッチにおけるすべてのパッチ成分の平均値は略０である、複数の０平均パッチから１つの選択されたパッチを識別すること、そのデジタル入力信号の内に、選択された位置に対応する１つのアンカー信号成分を特定（識別）すること、その選択されたパッチの各パッチ成分をそのデジタル入力信号のそれぞれの信号成分で処理し、そのアンカーパッチ成分はそのアンカー信号成分で処理され、その１以上の他のパッチ成分は他のそれぞれの信号成分で処理される。
【００１１】
このデジタル入力信号処理技術は、コンピュータシステムのような適当な装置によって実行されても良い。更に、そのコンピュータに実行される命令群（プログラム）に具現化されても良い。
【００１２】
デジタル信号により伝達される画像である、本発明の保護対象物について更に詳しく説明する。
【００１３】
本発明は、画像処理への応用により大きな効果を有するが、本発明の原理は画像に限らずテキスト（文字）やオーディオ（音声）を含む広範囲の保護対象物に適用される。
【００１４】
本発明は、上述したように、信号群を０平均パッチ群で処理することで実行される。パッチの語は、本発明が用いられる各応用分野の諸要求に合うようにアレンジされた離散成分の１セットを意味する。画像処理への応用では、１つのパッチの離散成分は、デジタル画像の画素（ピクセルｏｒピクチャーエレメント）に一致するようにアレンジされる。パッチ（の離散）成分は、本質的にどのようなパターンにもアレンジされ得る。以下の開示を通して、パッチ（の離散）成分は矩形のエリア内にアレンジされているが、どれも本発明の実施に臨界的なものではない。０平均パッチの語は、その平均が略０に等しい値を持つ（複数の）成分から成る１パッチを意味する。平均値は略０であり、それには、正確に０である場合と、０ではないがその違いはその応用分野にとって数学的に重要ではない量だけ０と異なるに過ぎない場合とがある。  非常に様々な０平均パッチが考えられるが、以下には、どの成分も重要さは同じである、２，３の基本的なパッチについてのみ述べる。
【００１５】
人工的なグラフィクスだけでなく自然画像を含む、本質的に何らかの意味を持つ画像を伝送するデジタル信号にとって、０はそのデジタル信号内のランダムな位置に配置された多数の小０平均パッチに関する相関度の期待値である
その相関度は０であることが期待されて良く、その理由は、１つの意味を持つ画像の小さな領域（複数）に亘って、デジタル信号の強度は、当該画像のほとんどすべての場所でゆっくり変化するからである。信号成分又はピクセルの強度は、その画像に現れるエッジにおいては、もっとずっと速く変化するが、多数のランダム配置に関して、エッジの、その相関度への貢献度は実質上互いに打ち消し合うようになることを期待して良い。
【００１６】
本発明とその好適実施例の様々な特徴は、以下の説明と、同様の構成成分には同様の参照符号を付した添付の図面とを参照することにより、よく理解され得るだろう。以下の説明と図面とは、単なる例示であるに過ぎず、本発明の範囲を制限するものと理解されるべきではない。
【００１７】
【発明の実施形態】
Ａ：概観
１．信号処理方法  図１は、画像を伝送するデジタル信号のような保護対象物にウォーターマーク又は指紋のような情報を埋め込み、そのような埋め込まれた情報を検出する方法の各工程を示す。以下、“ウォーターマーク”の語を、関連する保護対象物の所有権を示す、埋め込まれた情報の意味で用いることがある。このように、ウォーターマークの有無は、その人が保護対象物のオーナーであるか否かを示すことができる。以下、“指紋”の語を、保護対象物の特定のコピーの出所を識別する、埋め込み情報の意味で用いることがある。例えば、“指紋”は、当該保護対象物の印刷コピーを得るために使われたプリンタのシリアルナンバーを伝達することができる。この開示では、“ウォーターマーク”の語は、どのようなタイプの情報でも参照されることが必須の包括的な概念（広い意味）として用いる。
【００１８】
ステップ１０１では、乱数生成器を初期化し、或いは後の工程の完遂を制御するために用いられる情報を初期化するような初期化動作を行う。いわゆる乱数生成器から得られる疑似乱数のシーケンスは、埋め込み情報の権限なき消去に対抗することを可能にするために用いてもよい。好適には、乱数生成器は、生成器から得られた特定の番号のシーケンスが、種又は初期値に応答して変化し、その種を知らずして生成器の出力で予言できるものはなく、生成器に番号のいずれかの特定のシーケンスを生成させるであろう種を同定することは不可能であるという意味で、暗号として強いものである。生成器から得られる番号のシーケンスは、正確にはランダムなものではないが、以下、単純化するために、そのようなシーケンスをランダムなものとして言及する。
【００１９】
ステップ１０２では、複数の０平均パッチから１つのパッチを特定して選択する。好適実施例では、乱数のシーケンスによって当該パッチの選択はランダムなものである。望まれれば、選択された１パッチの成分は、いくつかのランダムな態様に変更され、かき乱される。更に、１パッチのサイズは、いくつかのサイズの範囲からアットランダムに選択され得る。
【００２０】
２Ａ−２Ｄは、４つの０平均パッチの概略図である。陰影を付けた領域と付けない領域とを逆にすることで別の４つの０平均パッチが形成される。各パッチにおける陰影を付けた領域は、−１の値を持つパッチ成分を表している。各パッチにおける陰影を付けない領域は、＋１の値を持つパッチ成分を表している。図示のように、これら両領域の境界は直線として表されている。しかしながら、実際のパッチにおけるこの境界は、パッチ成分のちょうど半分が＋１の値を持ち、残りの半分が−１の値を持つように選ばれる。パッチが奇数の成分を持つならば、センターの成分は０の値を与えられる。選択されたパッチの各成分の大きさは、固定量としても良いし、或いはランダムな値としても良い。以下に述べる１実施例では、パッチ成分の大きさは、保護対象物と結びつけられて決められる。
【００２１】
各０平均パッチの１つの成分が、“アンカーパッチ成分”に指定され、保護対象物における特定の位置で当該０平均パッチを“アンカー信号成分”と整列させるのに用いられる。説明と図示を簡単にするために、以下の開示及び添付図面では、どの成分も同じ大きさであり、上記アンカーパッチ成分がその左上隅にある正方形のアレイから成る各パッチを想定している。図３を参照して、パッチ１０は、その成分１１が上記したアンカーパッチ成分となる、４×４のパッチ成分のアレイから成る図２Ｃに示す基本パッチに対応している。
【００２２】
再び、図１を参照して、ステップ１０３では、保護対象物内の選択された位置に対応するアンカー信号成分を識別する。好ましくは、保護対象物内の当該位置はランダムな態様で選択される。
【００２３】
ステップ１０４では、パッチを付け、或いはパッチの存在をチェックするために、選択されたパッチのアンカー成分をアンカー信号成分と整列させ、当該選択されたパッチの成分を保護対象物のそれぞれの成分で処理する。この処理の実行方法を以下に説明する。
【００２４】
保護対象物が一より多いパッチについて処理されるのならば、ステップ１０５では、すべての処理が完了したか否かを決める。もし、完了していなければ、他のパッチを選択し、他の位置で保護対象物を処理することにより、ステップ１０２〜１０４までの処理を続ける。すべてのパッチについて処理が完了したら、ステップ１０６で、この方法は終了する。
【００２５】
２．情報の埋め込み  本発明によれば、保護対象物を搬送するデジタル信号に１つ以上の０平均パッチを付することにより、情報が当該保護対象物に埋め込まれる。このことは、様々な方法で成し遂げられ得る。以下の項目では、一般的なアプローチを説明する。
【００２６】
ａ．ウォーターマークの付加
ウォーターマークのような埋め込み情報を付加する方法の実施例１００は、以下のプログラムの一部に示されている。このプログラムの一部は、Ｃプログラム言語の幾つかの語句配列の特徴を含む構文法を用いた擬似コードで表現されている。このプログラムの一部及びこの後記述する他のプログラムの一部は、編集に適したソースコードの一部であることを意図するものではないが、実行可能な二三の様相をもたらすために提供される。
【００２７】
【数１】
0004066297.tif 000002
【００２８】
このプログラムの一部では、Ａｐｐｌｙ  Ｗａｔｅｒｍａｒｋのルーチンは、デジタル信号Ｉに、Ｂ×ＢのサイズのＬ個の０平均パッチを付加する。ファンクションＲＮＧ（ａ，ｚ）は、ａからｚの範囲内で乱数を返す乱数発生器であり、ＩｎｉｔＲＮＧのルーチンは、シード値Ｋを用いて、その乱数発生器を初期化する。ファンクションＧｅｔＳｉｚｅは、デジタル信号Ｉにより搬送される画像の幅Ｗと高さＨを返す。ファンクションＳｅｌｅｃｔＰａｔｃｈは、０平均パッチＮ個のセットから各パッチＰをランダムに選択するのに用いられる。
【００２９】
上記のプログラムの一部に示されるように、各選択されたパッチ内の成分のペアーはランダムに選択され、選択された成分の値は総計Ｑにより攪乱される。上記ペアーにおける１成分に関する値は上記総計Ｑにより増加され、当該ペアーにおけるその他の成分に関する値は上記総計Ｑにより減少される結果、そのパッチの０平均性が保たれる。他の実施例では、このＱの値はランダムに選択される。これらの攪乱は、ウォーターマークを付加された保護対象物におけるパッチを発見するのを、より困難にするためになされるが、結果としてパッチが重大な高周波内容を持つ程度まで、それらパッチを攪乱することは避けるよう注意すべきである。高周波内容を持つパッチは、通常、簡単なローパスフィルタリングによって保護対象物から除去され得るからである。
【００３０】
ここで、パッチが高周波成分を持たないということの意味について説明しておく。
【００３１】
パッチを付加するにしても、元の画像の空間周波数よりも高くならないようにするのが望ましい。即ち、図4に示すように、パッチの濃度変化は、元画像の濃度変化よりもなだらかであるべきである。
【００３２】
ＡｄｄＰａｔｃｈのルーチンは、利得（ゲイン）因子Ｇを用いてデジタル信号Ｉのランダムな位置（ｘ３，ｙ３）にパッチＰを付加するために援用される。このルーチンについては、以下に、さらに詳しく説明する。
ｂ．パッチの付加
パッチを付加する方法の実施例１００において、ステップ１０４では、各パッチ成分をそれぞれ対応する信号成分と結合させることにより保護対象物を搬送するデジタル信号を処理する。図３において、パッチ１０におけるアンカーパッチ成分１１は、デジタル信号２０におけるアンカー信号成分２１と整列されて示されている。この整列によれば、パッチ成分１１は信号成分２１に対応し、パッチ成分１２は信号成分２２に対応する。破線２９は、パッチ１０がこの形に整列された時のパッチ１０のアウトラインを図示している。対応する成分同士は、例えば、加算により結合されても良い。
【００３３】
パッチを付加するステップ１０４の実施例は、以下のプログラムの一部に示されている。
【００３４】
【数２】
0004066297.tif 000003
【００３５】
このプログラムの一部では、ＡｄｄＰａｔｃｈのルーチンは、パッチＰにおける成分を、選択された位置（ｘ，ｙ）で整列されたそれぞれのアンカー成分を有するデジタル信号Ｉの対応する成分に結合させる。各パッチ成分は、利得（ゲイン）因子Ｇによりスケールされ、この利得（ゲイン）因子Ｇは、付加されるパッチを目立たないようにすることと、そのマークを付加した画像にその後改変が加えられても当該パッチが検出され得る蓋然性を高めること、の両者のバランスを取るように選択される。この後述べる他の実施例同様、本実施例においても、パッチＰは正方形であるものとされる。プログラムの一部では、当該パッチの各サイドの長さは記号Ｂで表される。
【００３６】
必要であり或いは望ましければ、更なる工夫を諸実施例に含ませても良い。例えば、デジタル信号Ｉの境界線の外に存在する座標（ｘ＋ｊ，ｙ＋ｉ）における成分は、修飾される必要はない。かかる実施例では、信号Ｉにより表される画像の寸法は、上記ルーチンに提供され、或いは幾つかの態様で引き出される。別の工夫では、パッチ成分と対応する信号成分との結合から生じる信号成分値を、当該信号成分の許容されるダイナミックレンジに制限する。例えば、デジタル信号Ｉの信号成分が０から２５５のダイナミックレンジを持つならば、パッチ成分と信号成分との結合から生じる信号成分値はこのレンジに制限されるべきである。３．埋め込まれた情報の検出
ａ．ウォーターマークの検出
ウォーターマークのような埋め込み情報を検出する方法の実施例１００は、以下のプログラムの一部に示されている。このプログラムの一部は、上に示したウォーターマークを付加する方法に関するものと同様である。
【００３７】
【数３】
0004066297.tif 000004
【００３８】
このプログラムの一部では、ＭｅａｓｕｒｅＷａｔｅｒｍａｒｋのルーチンは、デジタル信号ＪとＬ個のパッチすべてとの間の相関度の平均値を返す。デジタル信号Ｉにより搬送される原画像の幅Ｗと高さＨは、このルーチンを正しく動作させるために必要とされる。これらの寸法はデジタル信号Ｊから引き出されるというよりも、むしろこのルーチンに供給されるものであり、その理由は、たとえデジタル信号Ｊがコピーされ、或いはデジタル信号Ｉから導き出されたとしても、デジタル信号Ｊにより表される原画像の寸法は、画像処理の幾つかのフォームにより変えられ得るからである。以下に述べるＣｏｒｒｅｌａｔｅＰａｔｃｈのルーチンは、（ｘ３，ｙ３）の位置でのパッチＰとデジタル信号Ｊとの相関度を算出する。このプログラムの一部は、実際の応用においてウォーターマークを検出するのに必要とされる多くの特徴を欠いている。例えば、デジタル信号Ｊにより搬送される原画像を修飾するのに使われたかもしれない画像処理技術に関して、幾つかの用意がなされるべきである。そのような画像処理の例には、クロッピング、ローテーション、翻訳及びイメージワーピングが含まれる。幾つかの用意は、“サーチ空間”内において、デジタル信号を様々に翻訳することにより形成される多くの異なる画像において、ウォーターマークを測定することですることができる。
【００３９】
ｂ．パッチの検出  パッチの存在をチェックする方法の実施例１００において、ステップ１０４では、各パッチ成分のそれぞれ対応する信号成分との相関度を算出することにより、保護対象物を搬送するデジタル信号を処理する。図３に示された例を再び参照し、パッチ成分１１と信号成分２１との相関度及びパッチ成分１２と信号成分２２との相関度も、ステップ１０４の相関度の算出に含まれる。相関値は、対応する成分同士の積を合計することにより算出しても良い。
【００４０】
パッチの相関度を算出するステップ１０４の実施例は、以下のプログラムの一部に示されている。
【００４１】
【数４】
0004066297.tif 000005
【００４２】
このプログラムの一部では、ＣｏｒｒｅｌａｔｅＰａｔｃｈのファンクションは、選択されたパッチＰと、選択された位置（ｘ，ｙ）で整列されたそれぞれのアンカー成分を持つデジタル信号Ｊとの相関度を算出する。必要であり或いは望ましければ、更なる工夫を諸実施例に含ませても良い。例えば、デジタル信号Ｊの境界線の外に存在する座標（ｘ＋ｊ，ｙ＋ｉ）における成分は、相関値に含ませるべきではない。デジタル信号Ｊにより搬送される画像のサイズは、この目的のために、ルーチンに提供することが可能である。
４．代替的な信号処理方法
図５に示されたダイアグラムは、デジタル信号により搬送される保護対象物に情報を埋め込む方法２００のステップを図示している。この第２の方法は上述した第１の方法に酷似しているが、信号成分をラスター形式で処理するため、多くの実行点において好ましいものである。この様相は、上記のデジタル信号を保存するのに必要とされるメモリーを減少させ、上記デジタル信号を受信し、バッファし、処理し、その後、送信するのに必要となる処理の遅延をも減少させる。
【００４３】
図５を参照して、ステップ２０１では、乱数発生器を初期化し、又は後続のステップの遂行を制御するのに用いられる情報を初期化するような初期化動作が実施される。ステップ２０２では、複数の０平均パッチから１パッチを識別し、選択する。ステップ２０３では、デジタル信号内の選択された位置に対応する、当該デジタル信号におけるアンカー成分を識別する。ステップ２０４では、同一物（乱数発生器により生じるビットのような、パッチを再生するのに必要な情報）とアンカー位置とを、後の使用のために保存する。仮に、デジタル信号により搬送される情報が、１より多いパッチについて処理されるならば、ステップ２０５では、すべてのパッチが選択されたか否かを決める。すべてのパッチが選択されてないならば、別のパッチとデジタル信号内の別の位置とを選択することにより、ステップ２０２及び２０３を継続する。
【００４４】
すべてのパッチが選択されたならば、ステップ２０６で、ステップ２０４で保存しておいたパッチの同一物とアンカー位置とを獲得し、この情報をラスター形式によった位置により並び替える。例えば、デジタル信号Ｉがライン状に配された信号成分によって表されるならば、ラインによる信号成分の位置が主たる並び替え順序であり、それら各ライン内における信号成分の位置は従たる並び替え順序となる。
【００４５】
ステップ２０７で、デジタル信号Ｉを第１の方法について上述したのと同様の仕方により処理する。パッチは、パッチ成分を信号成分と結合させることにより付加され、対応するパッチ成分と信号成分との相関を取ることにより検出される。信号成分はラスター形式で処理されているので、デジタル信号全体を一度にメモリーに保存する必要はない。各信号成分は独立に処理され得る。この方法は、所要のメモリー量を減少させることで実施コストの低減を望む応用例及び／又は所望の信号処理を行う前にデジタル信号全体を受信する必要を避けることで処理の遅延を減らすことを望む応用例において特に魅力がある。ステップ２０８では、方法２００の終了に必要な動作を行う。
Ｂ：著作権保護
上述した方法の原理は、保護対象物のオーナーを識別し、疑われる対象物が“オリジナル”の保護対象物のコピー又は修正版であるか否かを決め得る情報で、その保護対象物にマークを付け得る著作権保護のシステムや方法に適用可能である。
１．ウォーターマークの付加
著作権保護システムに関する一つのスキームでは、保護されるべき一以上の保護対象物のオーナーは、初めに、シークレットキーＳとパブリックキーＵから成る一対のキー（Ｓ，Ｕ）を発生させ、パブリックキーＵをサーバーに登録する。サーバーは、当該オーナーに、特殊のＩＤ（ｉｄｅｎｔｉｆｉｅｒ）Ｏを交付する。当該オーナーがデジタル信号Ｉのウォーターマーク付きコピーを配付したい時は、オーナーは、ランダムな数ビットのシーケンスＲを発生させ、以下のプログラムの一部に示されているようなウォーターマーキング手続きを用いて、デジタル信号Ｉのコピーに、ウォーターマークを付加する。
【００４６】
【数５】
0004066297.tif 000006
【００４７】
このプログラムの一部では、ＤｉｇｉｔａｌＳｉｇｎａｔｕｒｅのルーチンは、オーナーＩＤ（ｉｄｅｎｔｉｆｉｅｒ）Ｏ、シークレットキーＳ及びランダムな数ビットのシーケンスＲを使用したデジタルサインＫを得るために用いられる。代替的な実施例では、デジタル信号ＩがデジタルサインＫを発生させるためにも用いられる。好適には、シーケンスＲは、ウォーターマークを付加するために用いられる乱数発生器ＲＮＧからは得られない。コピーＩｍはデジタル信号Ｉでできており、この後、上述したＡｐｐｌｙ  Ｗａｔｅｒｍａｒｋのルーチンを用いてマークを付加される。デジタルサインＫ，デジタル信号Ｉにより表される画像の幅Ｗと高さＨ、及びコピーＩｍは、ウォーターマークを付加した信号に関するＩＤ（ｉｄｅｎｔｉｆｉｅｒ）を表す。これら３つの値は、ウォーターマークＩＤとして保存されても良い。或いは、ウォーターマークＩＤ（ｉｄｅｎｔｉｆｉｅｒ）Ｍを発生させるルーチンＭａｒｋＩＤによりこれら３つの値が使用されても良い。ランダムシーケンスＲが異なるとデジタルサインＫも変わるので、オーナーは、異なるランダムシーケンスＲを使ったＰｕｔＷａｔｅｒｍａｒｋの適用を単に繰り返すことにより、デジタル信号Ｉの、それぞれ対応するウォーターマークＩＤを伴う追加のウォーターマーク付きコピーを発生させても良い。
【００４８】
ウォーターマークを付加した後、オーナーは、将来の使用に備えて、ウォーターマークを付加したデジタル信号ＩのコピーＩｍと共にウォーターマークＩＤ（ｉｄｅｎｔｉｆｉｅｒ）Ｍを保存する。代替的には、必要とあらばオーナーがウォーターマークを付加したデジタル信号ＩのコピーＩｍを再び創作できるように、ウォーターマークＩＤ（ｉｄｅｎｔｉｆｉｅｒ）Ｍはオリジナルのデジタル信号Ｉ及びランダムシーケンスＲと共に保存されても良い。ウォーターマークを付加したデジタル信号ＩのコピーＩｍは、望む通りに配付されて良い。
２．ウォーターマークの検出
たとえデジタル信号Ｊがデジタル信号Ｉの正確な複写ではないバージョンであるとしても、そのデジタル信号Ｊにおいてウォーターマークは検出されるべきである。例えば、デジタル信号Ｊは、デジタル信号Ｉにより表される原画像のクロップされ、回転され、スケーリングされ、翻訳され、或いはフィルタリングされたバージョンである画像を表すかもしれない。この理由により、考えられるウォーターマークに関し、デジタル信号Ｊの多くのバリエーションが画像サーチ空間において試験されるべきである。全画像サーチ空間は、ＦR ×ＦS ×ＦO により表示される。
【００４９】
ＦR ＝｛ｆR ｝の記号は、試験される画像回転と画像フリップのセットを表す。当該セットの各成分ｆR はデジタル信号Ｊにより表される画像の特定の回転又はフリップに対応する。典型的には、当該セットは、約０．１度のステップで約３度以内の回転に限定される。より小さい角度から先に試される。回転は、いわゆる最近傍補間法、及びＡ．Ｗ．Ｐａｅｔｈ著“Ａ  Ｆａｓｔ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｇｅｎｅｒａｌ  Ｒａｓｔｅｒ  Ｒｏｔａｔｉｏｎ”  Ｇｒａｐｈｉｃｓ  Ｇｅｍｓ，Ａ．Ｓ．  Ｇｌａｓｓｎｅｒ，ｅｄ．，１９９０年，１７９−１９５頁に記述された３分割回転法を含む多くの方法で実行されてよい。
【００５０】
ＦS ＝｛ｆS ｝の記号は、試験される画像スケーリング処理のセットを表す。当該セットの各成分ｆS はデジタル信号Ｊにより表される画像の特定のスケーリングに対応する。典型的には、当該セットは、約０．０１のステップで約０．９５から約１．０５までのスケーリングレンジに限定される。スケーリングは、いわゆる最近傍補間法を含む多くの方法で実行されてよい。
【００５１】
ＦO ＝｛ｆO ｝の記号は、試験される画像オフセット又は画像翻訳処理のセットを表す。当該セットの各成分ｆO はデジタル信号Ｊにより表される画像の特定のオフセットに対応する。典型的には、当該セットは、先行情報又は複雑さの要求に基づき制限され得る水平及び鉛直の両方向へのオフセットを含む。好適には、Ｂ／２のオーダーの荒いインクリメント、ここで、Ｂは０平均パッチのサイズである、が最初に用いられ、１画素のオーダーのインクリメントは、最も高い平均の相関値についてサーチを強化するために用いられる。
【００５２】
図６のダイアグラムは、ウォーターマークを検出する方法１２０のステップを示している。
【００５３】
ステップ１２１では、初期化動作が行われる。ステップ１２２では、サーチ空間から画像を選択し、ステップ１２３では、選択された画像と予期されるウォーターマークとの相関度を測定する。ステップ１２４では、測定された相関度が選択された画像内にウォーターマークが存在すると結論するに充分高いものであるか否かを決定する。充分高いものである場合には、ステップ１２５で、ウォーターマークが存在するという指標を発生し、方法１２０を終了する。測定された相関度が充分高いものでない場合には、ステップ１２６で、サーチ空間から選択され試験される画像が他にあるか否かを決定する。他にある場合には、ステップ１２２に戻る。他にない場合には、ステップ１２７で、選択された画像のいずれにもウォーターマークは発見されなかったという指標を発生し、方法１２０を終了する。
【００５４】
問題のデジタル信号Ｊにおけるウォーターマークの存在は、以下のプログラムの一部に示されているようなウォーターマーク検査手続きを用いて検査される。以下のルーチンが値Ｆａｌｓｅを返したならば、それは、単に、画像サーチ空間にウォーターマークは発見されなかったことを意味する。望ましければ、より大きいサーチ空間を用いることができる。
【００５５】
【数６】
0004066297.tif 000007
【００５６】
デジタルサインＫ及び原画像の幅Ｗと高さＨは、ウォーターマークＩＤ（ｉｄｅｎｔｉｆｉｅｒ）Ｍから得られる。ＭｅａｓｕｒｅＷａｔｅｒｍａｒｋのファンクションを用いて、ランダムなウォーターマーク相関度ｃｓは、ランダムに生じるキーＫ´及び画像サーチ空間からランダムに選択された諸画像を用いて得られる。これらランダムな相関値の標準的な偏差ｓｄは、閾値ｔｓｄ、典型的にはｔは５である、において用いられる。
【００５７】
次に、サーチ空間における画像が順番に試験される。ＭｅａｓｕｒｅＷａｔｅｒｍａｒｋのルーチンが特定の画像Ｊｍに関して、閾値ｔｓｄを越える平均の相関値を返した場合、ＣｈｅｃｋＷａｔｅｒｍａｒｋのファンクションは、ウォーターマークが発見されたことを示す値Ｔｒｕｅを返す。そうでない場合、サーチ空間における残りの画像についてＭｅａｓｕｒｅＷａｔｅｒｍａｒｋのルーチンが継続する。サーチ空間におけるいずれの画像についてもウォーターマークは発見されなかった場合には、ＣｈｅｃｋＷａｔｅｒｍａｒｋのファンクションは、値Ｆａｌｓｅを返す。
【００５８】
デジタル信号Ｉのオーナーがデジタル信号Ｊには特定のウォーターマークが含まれていると判断したならば、その状況を解決するために、その後のステップが取られる。デジタル信号Ｊのオーナーがデジタル信号Ｉのオーナーによりなされたオーナー適格のクレーム（苦情）について争うならば、その争いを仲裁するために、その後のステップを取ることができる。これらにつき、以下に述べる。
３．ウォーターマーク争議の仲裁
二三の追加の手続きが、著作権保護システムにおける仲裁手続きを実行するために用いられる。一の追加の手続きは、オーナーのデジタルサインが本物であることを証明する。この手続きは、ＡｕｔｈｅｎｔｉｃａｔｅＯｗｎｅｒ（Ｏ，Ｍ）のファンクションとして表現され、このファンクションは、オーナーＯについて、そのデジタルサインＫが本物であることを証明し、また、ＤｉｇｉｔａｌＳｉｇｎａｔｕｒｅのファンクションと対となって立証するものである。ＰｕｔＷａｔｅｒｍａｒｋにおけるサイン発生ステップが原画像をも使う場合、ＡｕｔｈｅｎｔｉｃａｔｅＯｗｎｅｒ（Ｏ，Ｍ）のファンクションもまた、原画像をも使う必要があるだろう。
【００５９】
他の手続きは、Ｄｉｓｔａｎｃｅ（Ｉ，Ｊ）のファンクションであり、このファンクションは、２つのデジタル信号ＩとＪにより表される両画像間の類似性を評価する。代替的には、両画像間の類似性は目視検査により評価することもできる。
【００６０】
図７のダイアグラムは、デジタル信号Ｊにより表される画像のオーナー適格についての争いの解決の一助となる方法１３０のステップを示している。
【００６１】
ステップ１３１では、仲裁人は、すべての係争中のオーナーＯ（ｉ）から、かれらのそれぞれのウォーターマークＩＤ（ｉｄｅｎｔｉｆｉｅｒ）Ｍ（ｉ）と、デジタル信号Ｉ（ｉ）により表される原画像を受け取る。ステップ１３２では、仲裁人は、それら係争中のオーナーＯ（ｉ）のうち、デジタル信号Ｊにかれらのそれぞれのウォーターマークの存在を証明できないオーナーＯ（ｉ）に対し、彼等のオーナー適格についてのクレーム（苦情）を拒絶する。これは、上述したＣｈｅｃｋＷａｔｅｒｍａｒｋ（Ｊ，Ｍ（ｉ））のファンクションを用いて達成可能である。ステップ１３３では、仲裁人は、それら係争中のオーナーＯ（ｉ）のうち、かれらのそれぞれのウォーターマークＩＤ（ｉｄｅｎｔｉｆｉｅｒ）Ｍ（ｉ）から得られるデジタルサインＫ（ｉ）を証明できないオーナーＯ（ｉ）に対し、彼等のオーナー適格についてのクレーム（苦情）を拒絶する。これは、ＡｕｔｈｅｎｔｉｃａｔｅＯｗｎｅｒ（Ｏ（ｉ），Ｍ（ｉ））のファンクションを用いて達成可能である。ステップ１３４では、仲裁人は、それら係争中のオーナーＯ（ｉ）のうち、他のいずれかの係争中のオーナーＯ（ｊ）のウォーターマーク無しには元のデジタル信号Ｉを生産できないオーナーＯ（ｉ）に対し、彼等のオーナー適格についてのクレーム（苦情）を拒絶する。ステップ１３４は、他の係争中のオーナーのウォーターマークを既に含んでいるデジタル信号に、１以上の係争中のオーナーがかれら自身のウォーターマークを付けた場合に必要とされる。ウォーターマークは除去できないとするならば、最も早くウォーターマークを付けた画像のオーナーだけが、他のすべての係争中のオーナーのウォーターマークを有していないデジタル信号を生産できる。
【００６２】
この方法は、係争中のオーナーのうちにデジタル信号Ｊの真のオーナーが含まれていない場合には、その真のオーナーを識別し得るものではない。最も早くウォーターマークを付けたオーナーだけを識別し得る。更に、この方法は、２以上の係争中のオーナーがデジタル信号のコピーを独自に獲得し、彼等それぞれのウォーターマークを付けた場合、それら２以上の係争中のオーナー間の争議を解決し得ない。
【００６３】
上述した方法１３０の一実施例は、以下のプログラムの一部により実行され、このプログラムの一部では、各オーナーは元のデジタル信号Ｉとマークを付けたデジタル信号Ｉｍの双方を提供する。
【００６４】
【数７】
0004066297.tif 000008
【００６５】
Ａｒｂｉｔｒａｔｅのルーチンは、各係争中のオーナーについて、争われているデジタル信号Ｊ、オーナーＩＤのアレイＯ、元のデジタル信号Ｉ、マークを付けたデジタル信号Ｉｍ、及びウォーターマークＩＤｓ（ｉｄｅｎｔｉｆｉｅｒｓ）Ｍを受け取る。パラメーターａは、係争中のオーナーの数である。“ｆｏｒ”のループは、上述したステップ１３２と１３３を実行し、また、争われているデジタル信号Ｊと元の及びマークを付けたデジタル信号Ｉ及びＩｍが十分に似ているかどうかを判断する。“ｆｏｒ  ｅａｃｈ”のループは、上述したステップ１３４を実行する。Ｒｅｊｅｃｔ（Ｏ（ｉ））のルーチンは、そのオーナーｉをそれ以降考慮しないように捨てる。Ａｃｃｅｐｔ（Ｏ（ｉ））のルーチンは、そのオーナーＯ（ｉ）がデジタル信号Ｊの潜在的に有効なオーナーであることを示す。
【００６６】
このように述べた仲裁方法は、Ａｒｂｉｔｒａｔｅのルーチンを用いる仲裁人が係争中の各オーナーが開示した情報を不正に使用できるという欠点を持つ。例えば、オーナーＯ（ｉ）についてウォーターマークＩＤ（ｉｄｅｎｔｉｆｉｅｒ）Ｍ（ｉ）を受け取ったならば、その仲裁人は、デジタルサインＫを引き出し、他のデジタル信号にそのオーナーのウォーターマークでマークを付けるためにそのサインを用いることができてしまう。かかる情報の漏洩を避けるひとつの方法は、キーを発生するのにデジタル信号自体を必要とするように含ませることである。上述したように、デジタル信号Ｉは、デジタルサインを発生させるルーチンであるＤｉｇｉｔａｌＳｉｇｎａｔｕｒｅを使った代替実施例において用いてもよい。この場合、デジタルサインは、また、ＡｕｔｈｅｎｔｉｃａｔｅＯｗｎｅｒ（Ｏ，Ｉ，Ｍ）のファンクションのためにも提供されなければならない。デジタルサインの発生においてデジタル信号Ｉを用いるシステムは、オーナーＯのサインは、仲裁人がそのオーナーＯに属する他の画像からウォーターマークを捏造し又は取り去ったとしても、その仲裁人でさえ使用できないという利点を持つ。Ｃ．実現手段
本発明は、典型的なパーソナルコンピュータシステムにおけるソフトウェアを含む様々な方法で実現される。図8は、本発明の様々な様相を実現するのに用いられる典型的なパーソナルコンピュータシステム４０の機能ブロック図である。ＣＰＵ４２は、コンピューティング資源を供給する。入出力コントロール４３は、キーボードやマウスのような入出力デバイス４４へのインタフェースを表す。ＲＡＭ４５は、システムランダムアクセスメモリ（ＲＡＭ）である。保存コントロール４６は、磁気テープやディスク、或いは光媒体のような記録媒体を含む保存デバイス４７へのインタフェースを表す。記録媒体は、オペレーティングシステム、ユーティリティ、及びアプリケーションに関する指令のプログラムを記録するのに用いてもよく、本発明の様々な様相を実現するためのプログラムの実施例を含んでもよい。ディスプレイコントロール４８は、ディスプレイデバイス４９へのインタフェースを提供する。スキャナコントロール５０は、光学スキャナのような入力デバイスであるスキャナデバイス５１へのインタフェースを表す。プリンタコントロール５２は、インクジェットプリンタのような出力デバイスであるプリンタデバイス５３へのインタフェースを表す。
【００６７】
図示の実施例では、すべての主要なシステムコンポーネントは、１以上の物理バスを表すバス４１に接続されている。例えば、いわゆるＩＳＡバスだけを含むパーソナルコンピュータもある。他にもＶＥＳＡローカルバス基準やＰＣＩローカルバス基準のようなバスの基準に従ったより高いバンド帯域のバスとＩＳＡバスとを含むパーソナルコンピュータもある。好適には、ディスプレイコントロール４８は、ディスプレイの処理速度を向上させるために高いバンド帯域のバスに接続される。バス技術は、本発明を実践するのに必要とされるものではない。
【００６８】
本発明の様々な様相を実現するのに必要とされる機能は、離散ロジックコンポーネント、１以上のＡＳＩＣ（特定用途向き集積回路）、及び／又はプログラム制御プロセッサを含む様々な方法で実現されるコンポーネントにより実行し得る。これらのコンポーネントが実現される態様は、本発明にとって重要ではない。例えば、本発明を実践するのに必要とされる動作は、保存デバイス４７に蓄積され、ＲＡＭ４５にコピーされ、ＣＰＵ４２により遂行される指示のプログラムによって、コンピュータシステム４０のようなコンピュータシステムにおいて実行可能である。本発明の様々な様相は、デバイスドライバとして知られるタイプのプログラムにおいて便宜よく実行可能である。
【００６９】
そのようなソフトウェアは、磁気テープ、磁気ディスク、光ディスク、及び超音波から紫外線までの周波数を含むスペクトラムのベースバンド又は修正された帯域の通信経路を含む、様々なマシンが読取り可能な媒体により提供される。本発明の様々な様相は、また、コンピュータシステム４０の様々なコンポーネントにおいてＡＳＩＣ、汎用集積回路、リードオンリーメモリ（ＲＯＭ）やＲＡＭの様々なフォームに具現されたプログラムにより制御されるマイクロプロセッサ、その他の技術により実行可能である。
【００７０】
以上、本発明を特定の実施形態について述べたが、本発明はこれらに限られるものではなく、特許請求の範囲を逸脱しない限り他の様々な実施形態に適用され得る。
【００７１】
例えば、上述した実施形態では、パッチの形を矩形で述べたが、三角形或いは円形等矩形でなくても良いのは勿論である。更に、パッチを埋め込むのは、著作物の全体ではなく、例えば、作画領域の中心側半分というように作画部分のある領域に限って埋め込んでも良い。
【００７２】
尚、著作権保護のためのウォーターマークは、著作物の余白部分に付加しても良い。
【図面の簡単な説明】
【図１】保護対象物に情報を埋め込み、そのような埋め込まれた情報を検出する方法の各工程を示す（フローチャート）。
【図２】２Ａ−２Ｄは、４つの０平均パッチの概略図である。
【図３】デジタル信号と整列された（１つの）０平均パッチ（４つの０平均パッチのうちＦＩＧ．２Ｃのもの）を示す。
【図４】パッチが高周波成分を持たないことを説明するための図である。
【図５】デジタル信号により伝送される保護対象物に情報を埋め込む方法の各工程を示す（フローチャート）。
【図６】ウォータマークを検出する方法の各工程を示す（フローチャート）。
【図７】デジタル信号により表される画像の所有権に関する争いの解決を助ける方法の各工程を示す（フローチャート）。
【図８】本発明の様々な様相を実施するのに用いられ得る典型的なパーソナルコンピュータシステムの機能ブロック図である。
【図１】
0004066297.tif 000009
【図２】
0004066297.tif 000010
【図３】
0004066297.tif 000011
【図４】
0004066297.tif 000012
【図５】
0004066297.tif 000013
【図６】
0004066297.tif 000014
【図７】
0004066297.tif 000015
【図８】
0004066297.tif 000016