(57)【特許請求の範囲】
【請求項１】
オリジナルマテリアルアイテムの各サンプルに、それぞれ対応する各コードワード係数を結合することにより生成された、オリジナルマテリアルアイテムのコードワードが埋め込まれたバージョン内に存在する１つ以上の所定のコードワードの組を識別する検出データ処理装置であって、
上記対応するコードワード係数が結合された上記オリジナルマテリアルアイテムのコードワードが埋め込まれたバージョンのサンプルを、上記オリジナルマテリアルアイテムの対応するサンプルに関連付ける登録プロセッサと、
上記オリジナルマテリアルアイテムのサンプルを、上記コードワードが埋め込まれたバージョンの対応するサンプルと比較することにより、上記コードワードを再生し、再生コードワードを生成する再生プロセッサと、
上記再生コードワードと生成された各コードワードとを相関させることにより、上記所定のコードワードの組における各コードワードに対する相関値を生成する相関プロセッサと、
所定の閾値を超えるコードワードの相関値に対応する１つ以上のコードワードを検出する検出プロセッサとを備え、
上記登録プロセッサは、
上記オリジナルマテリアルアイテムのサンプルと上記コードワードが埋め込まれたバージョンのサンプルについて、該オリジナルマテリアルアイテムのサンプルのコードワードが埋め込まれたバージョンに対する各シフト毎に相関値を算出し、
上記各シフトのうち最も高い相関値を示すシフトから、上記オリジナルマテリアルアイテムのコードワードが埋め込まれたバージョンに対する第１の登録位置を判定し、
上記オリジナルマテリアルアイテム及び上記コードワードが埋め込まれたバージョンをオーバサンプリングし、
上記オリジナルマテリアルアイテムのサンプル及び上記コードワードが埋め込まれたバージョンのオーバサンプリングされたバージョンについて、上記第１の登録位置に対する各シフト毎に相関値を算出し、
上記オーバサンプリングされたバージョンの各シフトのうち最も高い相関値を示すシフトから、第２の登録位置を判定することを特徴とする検出データ処理装置。
【請求項２】
請求項１記載の検出データ処理装置であって、
上記登録プロセッサは、
上記第２の登録位置について、上記オリジナルマテリアルアイテムの各サンプルと上記コードワードが埋め込まれたバージョンの対応する各サンプルとの間の差分を算出し、
上記差分を所定の閾値と比較して、該差分が該所定の閾値を超えているとき、上記関連付けられたコードワードが埋め込まれたバージョンのサンプルを上記オリジナルマテリアルアイテムの対応するサンプルに置換することを特徴とする検出データ処理装置。
【請求項３】
請求項１又は２記載の検出データ処理装置であって、
上記相関プロセッサは、上記生成されたコードワード係数を生成するための擬似乱数を生成するコードワード生成器を備え、該擬似乱数は、上記コードワードが埋め込まれたバージョンのサンプルに基づいて生成されるシード値から生成されることを特徴とする検出データ処理装置。
【請求項４】
請求項１乃至３いずれか１項記載の検出データ処理装置であって、
上記コードワードは、離散コサイン変換領域において上記マテリアルアイテムに導入されており、当該検出データ処理装置は、
上記コードワードが埋め込まれたバージョンと上記オリジナルマテリアルアイテムとを離散コサイン変換領域に変換する離散コサイン変換プロセッサを備え、
上記再生プロセッサは、上記コードワードが埋め込まれたバージョンの離散コサイン変換係数から、上記オリジナルマテリアルアイテムの対応する離散コサイン変換係数を減算することにより、上記再生コードワードを生成することを特徴とする検出データ処理装置。
【請求項５】
マテリアルアイテムの受信者を特定する受信者特定システムであって、
オリジナルマテリアルアイテムに所定のコードワードの組のうちの１つのコードワードを導入することにより、該オリジナルマテリアルアイテムの少なくとも１つのコードワードが埋め込まれたバージョンを生成する符号化データ処理装置と、
請求項１乃至４いずれか１項記載の検出データ処理装置とを備え、
上記符号化データ処理装置は、
上記コードワードの所定の組から複数のコードワード係数を有するコードワードを生成するコードワード生成器と、
上記オリジナルマテリアルアイテムの複数のサンプルに、上記対応する各コードワード係数を結合し、上記コードワードが埋め込まれたバージョンを生成する符号化プロセッサとを備え、
上記コードワードは、該コードワードに固有に関連付けられているシード値によって初期化される擬似乱数生成器を用いて生成され、上記コードワード係数は、該擬似乱数生成器によって生成された数値から生成され、
上記符号化データ処理装置は、上記受信者を固有に特定するシード値から生成されたコードワードをマテリアルアイテムに導入することにより、マテリアルアイテムのコードワードが埋め込まれたバージョンを生成し、
上記検出データ処理装置は、上記マテリアルアイテムにおけるコードワードの有無を検出することにより、所定の誤検出確率で該マテリアルアイテムの受信者を検出することを特徴とする受信者特定システム。
【請求項６】
オリジナルマテリアルアイテムの各サンプルに、それぞれ対応する各コードワード係数を結合することにより生成された、オリジナルマテリアルアイテムのコードワードが埋め込まれたバージョン内に存在する１つ以上の所定のコードワードの組を識別する識別方法であって、
上記対応するコードワード係数が結合された上記オリジナルマテリアルアイテムのコードワードが埋め込まれたバージョンのサンプルを、上記オリジナルマテリアルアイテムの対応するサンプルに関連付けるステップと、
上記オリジナルマテリアルアイテムのサンプルを、上記コードワードが埋め込まれたバージョンの対応するサンプルから減算することにより、再生コードワードを生成するステップと、
上記再生コードワードと生成された各コードワードとを相関させることにより、上記所定のコードワードの組における各コードワードに対する相関値を生成するステップと、
所定の閾値を超えるコードワードの相関値に対応する少なくとも１つのコードワードを検出するステップとを有し、
上記サンプルを関連付けるステップは、
上記オリジナルマテリアルアイテムのサンプルと上記コードワードが埋め込まれたバージョンのサンプルについて、該オリジナルマテリアルアイテムのサンプルのコードワードが埋め込まれたバージョンに対する各シフト毎に相関値を算出し、
上記各シフトのうち最も高い相関値を示すシフトから、上記オリジナルマテリアルアイテムのコードワードが埋め込まれたバージョンに対する第１の登録位置を判定し、
上記オリジナルマテリアルアイテム及び上記コードワードが埋め込まれたバージョンをオーバサンプリングし、
上記オリジナルマテリアルアイテムのサンプル及び上記コードワードが埋め込まれたバージョンのオーバサンプリングされたバージョンについて、上記第１の登録位置に対する各シフト毎に相関値を算出し、
上記オーバサンプリングされたバージョンの各シフトのうち最も高い相関値を示すシフトから、第２の登録位置を判定することを特徴とする識別方法。
【請求項７】
請求項６記載の識別方法により、オリジナルマテリアルアイテムのコードワードが埋め込まれたバージョン内に存在する１つ以上の所定のコードワードの組を識別することで、前記オリジナルマテリアルアイテムの受信者を特定する受信者特定方法であって、
前記オリジナルマテリアルアイテムの少なくとも１つのコードワードが埋め込まれたバージョンは、オリジナルマテリアルアイテムに所定のコードワードの組のうちの１つのコードワードを導入することにより生成されるものであり、
前記生成は、
上記コードワードの所定の組から複数のコードワード係数を有するコードワードを生成するステップと、
上記オリジナルマテリアルアイテムの複数のサンプルに、上記対応する各コードワード係数を結合し、上記コードワードが埋め込まれたバージョンを生成するステップとを有し、
上記コードワードを生成するステップは、
上記コードワードに固有に関連付けられているシード値によって擬似乱数生成器を初期化するステップと、
上記擬似乱数生成器によって生成された数値から上記コードワード係数を生成するステップとを有することを特徴とする受信者特定方法。
【請求項８】
データプロセッサにロードされて、該データプロセッサを請求項１乃至４いずれか１項記載の検出データ処理装置における各手段として機能させるためのコンピュータにより実行可能なプログラム。
【請求項９】
データプロセッサにロードされて、該データプロセッサに請求項６記載の識別方法における各ステップ又は請求項７記載の受信者特定方法において識別されるための上記オリジナルマテリアルアイテムの少なくとも１つのコードワードが埋め込まれたバージョンを生成するための各ステップを実行させるためのコンピュータにより実行可能なプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マテリアルアイテムにコードワード（code words）を埋め込む符号化データ処理装置及び方法に関する。幾つかの用途においては、コードワードは、マテリアルアイテムを識別するために使用される。これに対応して、本発明は、マテリアルアイテムに埋め込まれた１つ以上のコードワードを検出するデータ処理装置及び方法に関する。
【０００２】
【従来の技術】
マテリアルアイテムを識別するために、マテリアルアイテムに情報を埋め込む処理は、ウォータマーキング処理と呼ばれる。
【０００３】
識別コードワードは、マテリアルアイテムのバージョンを識別するために、マテリアルアイテムのバージョンに埋め込まれる。すなわち、ウォータマーキング処理により、マテリアルアイテムの特定のバージョンの受信者を特定することができる。ここで、マテリアルアイテムの配信者の意向にそぐわない形でマテリアルアイテムがコピー又は使用された場合、配信者は、識別コードワードからマテリアルアイテムのバージョンを特定し、適切な対策を講ずることができる。
【０００４】
この明細書においては、マテリアルアイテムの供給者、所有者、作成者又は配信者の意向にそぐわない形でコピー又は使用されたマテリアルアイテムを、便宜的にマテリアルのオフェンディングアイテム（offending item）又はオフェンディングマテリアル（offending material）と呼ぶ。
【０００５】
マテリアルは、ビデオマテリアル、オーディオマテリアル、オーディオ／ビデオマテリアル、ソフトウェアプログラム、デジタル文書及びいかなる種類の情報を含むマテリアル（information bearing material）のいずれであってもよい。
【０００６】
ウォータマークの仕組みを成功させるためには、ユーザが識別コードワードを除去することが可能な限り困難である必要がある。また、ユーザが識別コードワードを変更し、マテリアルのオフェンディングアイテムの作成者を他人にみせかけることも可能な限り困難である必要がある。このようなユーザによるコードワードのマスク又はコードワードが他のユーザを示すようにするような改竄は、結託攻撃（collusion attack）と呼ばれる。
【０００７】
【発明が解決しようとする課題】
全てのウォータマークの仕組みにおいて、同じマテリアルアイテムのコピーを受け取ったユーザが結託攻撃に成功することが困難となるようにする必要がある。したがって、ウォータマークの仕組みは、結託攻撃の対象となったウォータマークが埋め込まれたマテリアルアイテムを高い確率で特定できるものである必要がある。この特定は、オフェンディングマテリアルから再生されたコードワードを識別することにより実現される。一方、コードワードが存在するのにコードワードが存在しないと判定してしまう確率（見逃し確率：false negative probability）は、低くなくてはならない。更に、実際には結託攻撃に加担していないユーザを誤って不正行為を行ったユーザであると判定してしまう確率（誤検出確率：false positive probability）は、可能な限り低くしなくてはならない。
【０００８】
米国特許第５６６４０１８号は、マテリアルアイテムからの複数のコピーに所定数の係数を有するコードワードから構成されるデジタルウォータマークを埋め込むウォータマーキング処理を開示している。ウォータマークを埋め込むマテリアルアイテムは、例えば画像である。ここで開示されているウォータマークの埋込を行う装置は、画像を離散コサイン変換（Discrete Cosine Transform：以下、ＤＣＴという。）領域に変換する。デジタルウォータマークは、正規分布を有し、ランダムに分布した係数の組から構成されている。ＤＣＴ領域において、それぞれ各ＤＣＴ係数に、対応する各コードワード係数が加算される。これに関連する文献である１９９８年７月２７日、ＭＩＴから発行された、ジェイ・キリアン（J.Kilian）、エフ・ティー・レイトン（F.T.Leighton）著、「結託攻撃に対するデジタルウォータマークの耐性（Resistance of Digital Watermarks to Collusion Attacks）」には、結託攻撃を防ぐためのこのウォータマーキング処理の詳細な数学的解析が開示されている。
【０００９】
【課題を解決するための手段】
本発明は、オリジナルマテリアルアイテムのコードワードが埋め込まれたバージョン内に存在する１つ以上の所定のコードワードの組を識別する検出データ処理装置を提供する。コードワードが埋め込まれたバージョンは、オリジナルマテリアルアイテムの複数の各サンプルに、それぞれ対応する各コードワード係数を結合することにより生成される。検出データ処理装置は、対応するコードワード係数が結合されたオリジナルマテリアルアイテムのコードワードが埋め込まれたバージョンのサンプルを、オリジナルマテリアルアイテムの対応するサンプルに関連付ける登録プロセッサを備える。検出データ処理装置は、更に、オリジナルマテリアルアイテムのサンプルを、コードワードが埋め込まれたバージョンの対応するサンプルと比較することにより、コードワードを再生し、再生コードワードを生成する再生プロセッサと、再生コードワードと生成された各コードワードとを相関させることにより、所定のコードワードの組における各コードワードに対する相関値を生成する相関プロセッサと、所定の閾値を超えるコードワードの相関値に対応する１つ以上のコードワードを検出する検出プロセッサとを備える。登録プロセッサは、オリジナルマテリアルアイテムのサンプルとコードワードが埋め込まれたバージョンのサンプルについて、オリジナルマテリアルアイテムのサンプルのコードワードが埋め込まれたバージョンに対する各シフト毎に相関値を算出し、各シフトのうち最も高い相関値を示すシフトから、オリジナルマテリアルアイテムのコードワードが埋め込まれたバージョンに対する第１の登録位置を判定し、オリジナルマテリアルアイテム及びコードワードが埋め込まれたバージョンをオーバサンプリングし、オリジナルマテリアルアイテムのサンプル及びコードワードが埋め込まれたバージョンのオーバサンプリングされたバージョンについて、第１の登録位置に対する各シフト毎に相関値を算出し、オーバサンプリングされたバージョンの各シフトのうち最も高い相関値を示すシフトから、第２の登録位置を判定する。
【００１０】
本発明の第２の側面として、本発明は、オリジナルマテリアルアイテムに所定のコードワードの組のうちの１つのコードワードを導入することにより、オリジナルマテリアルアイテムの少なくとも１つのコードワードが埋め込まれたバージョンを生成する符号化データ処理装置を提供する。符号化データ処理装置は、コードワードの所定の組から複数のコードワード係数を有するコードワードを生成するコードワード生成器を備える。更に、符号化データ処理装置は、オリジナルマテリアルアイテムの複数のサンプルに、対応する各コードワード係数を結合し、コードワードが埋め込まれたバージョンを生成する符号化プロセッサを備える。コードワード生成器は、擬似乱数生成器を備える。コードワード生成器は、コードワードに固有に関連付けられているシード値によって擬似乱数生成器を初期化し、擬似乱数生成器によって生成された数値からコードワードを生成する。
【００１１】
本発明は、米国特許第５６６４０１８号に開示されているような、ランダムに分布した係数を有するコードワードを利用した現実的なウォータマークシステムを提供することを目的とする。本発明では、検出データ処理装置及び符号化データ処理装置の一部を構成する擬似乱数生成器を用いる。擬似乱数生成器はシード値を用い、シード値は、擬似乱数生成器が生成する数値のシーケンスを決定する。シード値は、このシード値から生成されたコードワードが埋め込まれたマテリアルアイテムのバージョンに固有に関連付けられている。したがって、このシード値により、マテリアルアイテムのコードワードが埋め込まれたバージョンを容易に特定することができる。
【００１２】
本発明に基づく検出データ処理装置は、登録プロセッサを備える。登録プロセッサにより、検出データ処理装置の性能が更に高くなる。マテリアルアイテムのコードワードが埋め込まれたバージョンをマテリアルアイテムのオリジナルのコピーに対応させて登録することにより、コードワードの存在を検出できる確率が高くなり、見逃し確率（false negative probability）を下げることができる。これは、コードワードが埋め込まれたマテリアルアイテムのサンプルは、オリジナルマテリアルアイテムのサンプルに対応する可能性が高いため、コードワードを再生できる確率が高くなるからである。
【００１３】
本発明の好ましい実施の形態においては、コードワードのシード値は、オリジナルマテリアルアイテムのサンプルの値から導出される。これにより、各コードワードに対するシード値を、符号化データ処理装置と検出データ処理装置との間で送受する必要がなくなる。
【００１４】
本発明の更なる側面及び特徴は、添付の請求の範囲において定義されている。
【００１５】
【発明の実施の形態】
ウォータマークの埋込システムの概観
以下、本発明の実施の形態をビデオ画像の保護に関連させて説明する。ビデオ画像を配信するユーザの数によりコピーの数が決定する。各コピーには、これらのユーザのうちの１人に割り当てられたコピーを識別するための識別コードワード（identification code word）が埋め込まれる。
【００１６】
ビデオ画像は、デジタルのコードワードを埋め込むことにより保護されるマテリアルの一具体例である。コードワードを埋め込むことにより保護されるマテリアルは、ビデオ画像の他に、ソフトウェアプログラム、デジタル文書、音楽、オーディオ信号及び他のいかなる種類の情報を含むマテリアルであってもよい。
【００１７】
図１は、オリジナル画像のコピーに識別コードワードを導入する符号化画像処理装置（encoding image processing apparatus）の具体的構成を示すブロック図である。オリジナル画像Ｉは、ソースから供給され、フレームメモリ１に記憶される。このオリジナル画像Ｉは、ウォータマークを埋め込む複数のコピーとして複写される（reproduce）ものであり、各コピーには、固有の識別コードワードが埋め込まれる。オリジナル画像Ｉは、ＤＣＴプロセッサ２に供給され、ＤＣＴプロセッサ２は、オリジナル画像Ｉを８×８の画素ブロックに分割し、８×８の各画素ブロックにＤＣＴ処理を施す。これにより、ＤＣＴプロセッサ２は、ＤＣＴ変換画像（以下、単にＤＣＴ画像という。）Ｖを生成する。
【００１８】
以下の説明において、「サンプル」という用語は、画像（又は、実際には他の種類のマテリアルであってもよい。）を構成する離散サンプルを指すものとする。サンプルは、画素から構成される画像の輝度サンプルであってもよい。したがって、サンプルという用語と画素という用語は、状況によっては交換可能である場合もある。
【００１９】
ＤＣＴ画像Ｖは、符号化プロセッサ（以下、エンコーダともいう。）４に供給される。符号化プロセッサ４には、識別コードワード生成器８から識別コードワードも供給されている。
【００２０】
識別コードワード生成器８には、複数のシード値（seed）が供給される。各シード値は、それぞれ対応する識別コードワードの１つを生成するために使用される。生成された各識別コードワードは、オリジナル画像Ｉのコピーに埋め込まれ、これにより、ウォータマークが埋め込まれたＤＣＴ画像が生成される。識別コードワード生成器８は、擬似乱数生成器を備える。擬似乱数生成器は、特定の識別コードワードを構成するコードワード係数を生成する。好ましい実施の形態においては、コードワード係数は、正規分布に基づいて生成される。なお、これに代えて、コードワード係数は、擬似乱数生成器を初期化するために用いるシード値に基づいて、予め定めてもよい。したがって、各識別コードワードには、対応するシード値が存在し、各シード値は、メモリ１２に記憶されている。すなわち、識別コードワードＸｉを生成するために、シード値ｓｅｅｄｉをメモリ１２から読み出し、このシード値ｓｅｅｄｉを用いて、識別コードワード生成器８内の擬似乱数生成器を初期化する。
【００２１】
以下の説明では、オリジナル画像ＩのＤＣＴバージョンをＶと表す。ここで、
Ｖ＝｛ｖｉ｝＝｛ｖ１，ｖ２，ｖ３，ｖ４，・・・，ｖＮ｝
であり、ｖｉは、オリジナル画像のＤＣＴ係数である。他の実施の形態においては、ｖｉは、画像のサンプル値であり、空間領域における画像のサンプル値又は他の領域における画像のサンプル値を表すものであってもよい。
【００２２】
各識別コードワードＸｉは、以下のように、ｎ個のコードワード係数から構成されている。
Ｘｉ＝｛ｘｉｊ｝＝｛ｘｉ１，ｘｉ２，ｘｉ３，ｘｉ４，・・・，ｘｉｎ｝
コードワード係数の数ｎは、オリジナル画像Ｖのサンプル数に対応する。なお、コードワード係数の数は異なるものであってもよく、この数は、特定の用途に応じて決定してもよい。
【００２３】
そして、ｉ番目の識別コードワードＸｉを構成するコードワード係数のベクトルは、チャンネル１４を介してエンコーダ４に供給される。エンコーダ４は、ＤＣＴ画像Ｖに識別コードワードＸｉを加算することにより、ウォータマークが埋め込まれた画像Ｗｉを生成する。実際には、以下の式に示すように、ＤＣＴ画像Ｖの各ＤＣＴ係数ｖ１〜ｖＮに各コードワード係数ｘｉ１〜ｘｉｎを加えることにより、ウォータマークが埋め込まれた画像Ｗｉが生成される。
Ｗｉ＝Ｖ＋Ｘｉ
Ｗｉ＝ｖ１＋ｘｉ１，ｖ２＋ｘｉ２，ｖ３＋ｘｉ３，ｖ４＋ｘｉ４，・・・，ｖｎ＋ｘｉｎ
図１に示すように、ウォータマークが埋め込まれた画像Ｗｉは、エンコーダ４により生成されたＤＣＴ画像を逆ＤＣＴ変換する逆ＤＣＴプロセッサ１８によって、逆ＤＣＴ変換された後、この画像処理装置から出力される。
【００２４】
したがって、図１に示すように、エンコーダ４からは、ウォータマークが埋め込まれたＤＣＴ画像の組が出力される。識別コードワードＸｉを最大２０ビットとすると、一千万個の識別コードワードの１つを選択することができ、オリジナル画像Ｉに対して、一千万個のウォータマークが埋め込まれたバージョンの画像Ｗｉを生成することができる。
【００２５】
この識別コードワードにより、オリジナル画像Ｉのウォータマークが埋め込まれたコピー、すなわち画像Ｗｉを個別に識別することができるが、他の実施の形態においては、上述の２０ビットにより、画像内でデータを送ることができる。したがって、以下に説明するように、識別コードワードを選択するために使用する２０ビットは、ＤＣＴ画像Ｖ内でデータを送るための２０ビットのペイロードを提供する。
【００２６】
図１に示す、ウォータマークが埋め込まれた画像を生成する符号化画像処理装置は、本発明が適用される様々な異なるシナリオにおいて、様々な製品に組み込まれる。例えば、符号化画像処理装置をウェブサイト又はウェブサーバに接続して、ウォータマークが埋め込まれた画像をダウンロードすることができる。画像のコピーをダウンロードする前に、ダウンロードされる画像には固有のコードワードが導入され、この固有のコードワードにより、ダウンロードされた画像の受信者を後に検出することができる。
【００２７】
他の適用例では、符号化画像処理装置は、デジタル映写機（digital cinema projector）の一部として組み込まれ、識別コードワードは、例えば映画館において、映画を映写する際に、映像に埋め込まれる。この識別コードワードにより、映画が映写された映写機及び映画館を特定することができる。したがって、映写機から映写された映像を撮影して得られた海賊版コピーに含まれる識別コードワードにより、その海賊版コピーが作成された映写機及び映画館を特定することができる。一方、ウォータマークが埋め込まれた画像は、写真又は印刷物として複写されてもよく、複写された写真又は印刷物のコピーを作成及び配布してもよい。図１においては、符号化画像処理装置によって生成されるウォータマークが埋め込まれた画像の配信先は、雲形の枠で表現された配信１９で示されている。
【００２８】
検出プロセッサ
図２は、ウォータマークが埋め込まれたオフェンディング画像（offending marked image）内に埋め込まれている１つ以上のコードワードを検出する検出画像処理装置（detecting image processing apparatus）の構成を示すブロック図である。包括的にいえば、図２に示す検出画像処理装置は、画像のオフェンディングバージョン、すなわちコピー内に存在する１つ以上のコードワードを識別する機能を有している。
【００２９】
ウォータマークが埋め込まれたオフェンディング画像（以下、画像のオフェンディングバージョンともいう。）Ｗ’は、データソースから供給され、フレームメモリ２０に記憶される。この検出画像処理装置における検出処理は、オリジナル画像（以下、画像のオリジナルバージョンともいう。）を必要とするので、フレームメモリ２４には、画像のオリジナルバージョンが記憶されている。ウォータマークが埋め込まれた画像のオフェンディングバージョンＷ’及び画像のオリジナルバージョンは、それぞれ個別の接続チャンネル２６、２８を介して、登録プロセッサ（registration processor）３０に供給される。
【００３０】
上述のように、画像のオフェンディングバージョンＷ’は、ウォータマークが埋め込まれた画像Ｗｉの一部を撮影又は複写することにより生成された可能性がある。そこで、識別コードワードの検出率を高めるために、登録プロセッサ３０は、それぞれフレームメモリ２０、２４に記憶されているオフェンディング画像と画像のオリジナルバージョンとを実質的に揃える（align）。この目的は、オリジナル画像Ｉのサンプルと、コードワード係数が加算されることによりウォータマークが埋め込まれた画像Ｗｉの対応するサンプルとを一致させることである。
【００３１】
この位置合せ処理を図３を用いて説明する。図３は、オリジナル画像Ｉと、ウォータマークが埋め込まれた画像のオフェンディングバージョンＷ’とを比較して示している。図３に示すように、ウォータマークが埋め込まれた画像のオフェンディングバージョンＷ’は、オリジナル画像Ｉに対してオフセットを有しており、このオフセットは、ウォータマークが埋め込まれた画像のオフェンディングバージョンを生成したカメラの相対的な視野に起因している可能性がある。
【００３２】
コードワード係数を再生するためには、ウォータマークが埋め込まれた画像のオフェンディングバージョンＷ’のサンプルからオリジナル画像Ｉの正しいサンプルを減算する必要がある。この処理のために、２つの画像が揃えられる。図３に示すように、位置合せされた画像Ｗ”は、オリジナル画像Ｉには存在しない部分を含む周辺領域（peripheral area）ＰＡを有している。
【００３３】
他の実施の形態では、例えばインターネットからオフェンディングバージョンＷ’がダウンロードされた場合等、オフェンディング画像Ｗ’は、本質的には、既にオリジナル画像Ｉのバージョンに揃っているので、このような場合、登録プロセッサ３０を使用する必要はない。そこで、この検出画像処理装置は、ウォータマークが埋め込まれた画像を再生プロセッサ４０に直接供給するための代替的なチャンネル３２を備えている。
【００３４】
位置合せされた画像Ｗ”は、再生プロセッサ４０に供給される。再生プロセッサ４０には、第２のチャンネル４４を介して、オリジナル画像Ｉのコピーも供給される。位置合せされた画像Ｗ”及びオリジナル画像Ｉは、ＤＣＴプロセッサ４６によって、ＤＣＴ領域に変換される。次に、以下の式に示すように、ウォータマークが埋め込まれたＤＣＴ領域の画像Ｖ’のサンプルからＤＣＴ領域のオリジナル画像Ｖのサンプルを減算することにより、再生コードワードＸ’が算出される。
Ｘ’＝Ｖ’−Ｖ
＝ｖ’１−ｖ１，ｖ’２−ｖ２，ｖ’３−ｖ３，ｖ’４−ｖ４，・・・，ｖ’ｎ−ｖｎ
＝ｘ’１，ｘ’２，ｘ’３，ｘ’４，・・・，ｘ’ｎ
したがって、再生プロセッサ４０は、接続チャンネル５０を介して、識別するコードワードの係数の推定値を出力する。再生コードワードＸ’は、相関器５２の第１の入力端子に供給される。相関器５２の第２の入力端子には、コードワード生成器５４によって生成されたコードワードＸｉが供給されている。コードワード生成器５４は、上述の識別コードワード生成器８と同様に、メモリ５８から読み出した、コードワードを固有に識別する所定のシード値を用いて、全ての可能なコードワードの組を生成する。
【００３５】
相関器５２は、ｎ個の類似値ｓｉｍ（ｉ）を生成する。一実施の形態においては、類似値ｓｉｍ（ｉ）は、以下の式に基づく相関を求めることにより算出される。
【００３６】
【数１】
0004142423.tif 000002
【００３７】
ｎ個の類似値ｓｉｍ（ｉ）のそれぞれは、検出器６０に供給される。そして、検出器６０は、ｎ個の可能なコードワードのそれぞれに対する類似値ｓｉｍ（ｉ）を解析する。相関器５２によって生成される類似値ｓｉｍ（ｉ）の具体例と、可能な各コードワードの閾値ＴＨとの関係を図４に示す。図４に示すように、２つのコードワード２００１、１２３４５が閾値ＴＨを超えている。このため、検出器６０は、コードワード２００１及びコードワード１２３４５に対応するウォータマークが埋め込まれた画像のバージョンからオフェンディング画像が作成されたと判定する。したがって、この実施の形態においては、一千万である母集団の大きさにより決定される誤検出確率（false positive probability）と、ウォータマーク強度（watermarking strength）αとに基づいて、誤検出確率を保証するための閾値ＴＨの高さを設定することができる。図４に示す実施の形態では、相関器５２によって生成された類似値ｓｉｍ（ｉ）が閾値ＴＨを超えている場合、この誤検出確率をもって、このウォータマークが埋め込まれた画像の受信者が不正行為を行い、ウォータマークが埋め込まれた画像Ｗｉのオフェンディングバージョンの作成に関与したと判断される。
【００３８】
以下、図１及び図２に示すウォータマークシステムの特徴及び利点を説明する。
【００３９】
登録
ウォータマークが埋め込まれた画像のオフェンディングバージョンと、オリジナル画像のコピーとを揃える処理は、オリジナル画像のサンプルと、ウォータマークが埋め込まれた画像のサンプルとの相関を調べる処理を含む。この相関処理は、画像の各サンプルを異なるシフト量でシフトさせて実行される。この処理を図５を用いて説明する。図５Ａは、オリジナル画像の離散サンプルを示し、図５Ｂは、ウォータマークが埋め込まれたオフェンディング画像Ｗ’の離散サンプルを示している。図５Ａ及び図５Ｂに示すように、各サンプル間の時間差は、サンプリングレートにより定まるｄｔである。これらの画像の各サンプルの組をシフトし、離散サンプルを相関させた結果を図５Ｃに示す。
【００４０】
図５Ｃに示すように、６サンプルシフトと７サンプルシフトの間で相関ピークが最高になっている。なお、サンプル間を結ぶ連続的な曲線ＣＬで示すように、オリジナル画像Ｉとウォータマークが埋め込まれたオフェンディング画像Ｗ’との間の実際のピークシフトは、６サンプルシフトと７サンプルシフトの間の一点にある。
【００４１】
好ましい実施の形態においては、登録プロセッサ３０は、第１の登録位置の検出の後、この第１の登録位置に対してより精密な第２の登録位置を検出する。この目的で、登録プロセッサ３０は、図６に示すような動作を行う。図６Ａ及び図６Ｂは、オリジナル画像Ｉとウォータマークが埋め込まれたオフェンディング画像Ｗ’とを示しており、これらの画像は、２倍のサンプリングレートでオーバサンプリングされている。したがって、連続するサンプル間の時間差は、ｄｔ／２である。図６Ｃから分かるように、オリジナル画像Ｉとウォータマークが埋め込まれたオフェンディング画像Ｗ’のオーバサンプリングバージョン間の相関のピーク値は、１４サンプルシフトの位置にあり、この位置は、相関出力値のピークの位置に略対応している。このように、登録プロセッサ３０は、オリジナル画像Ｉとウォータマークが埋め込まれたオフェンディング画像Ｗ’のオーバサンプリングバージョンに対して第２の登録処理を実行することにより、２つの画像に対するより精密な登録を行うことができる。
【００４２】
図２に示す登録プロセッサ３０を用いる更なる利点について、図７を用いて説明する。図７は、図３を参照して説明した処理により生成された位置合せされた画像Ｗ”をオリジナル画像Ｉと比較して示す図である。ウォータマークが埋め込まれたオフェンディング画像Ｗ”内のコードワードを検出できる確率を高めるために、周辺領域ＰＡとして示されている、ウォータマークが埋め込まれた画像Ｗ”におけるオリジナル画像Ｉには存在しない部分は、オリジナル画像Ｉの対応する領域によって置換される。この処理は、オリジナル画像Ｉのサンプルと、ウォータマークが埋め込まれたオフェンディング画像Ｗ”のサンプルとの間の差分絶対値和を比較し、この値が所定の閾値を超えているとき、オフェンディング画像Ｗ”のサンプルをオリジナル画像Ｉの対応するサンプルに単純に置き換えることにより行われる。これにより、相関器５２と検出器６０が協働して実行する検出処理が著しく向上する。仮に、オリジナル画像Ｉには存在しない、ウォータマークが埋め込まれた画像Ｗ”の周辺領域ＰＡがコードワード係数の再生に使用された場合、これらのコードワード係数は、コードワードの生成されたバージョンに相関関係を有さない。これらのコードワード係数は大きな値を生成し、相関値の総和である類似値ｓｉｍ（ｉ）における重大な雑音となってしまう。このため、検出器６０において、閾値ＴＨを超えるコードワードを検出し、正しいコードワードを特定できる確率が低下する。一方、上述のように、オフェンディング画像Ｗ”の部分ＰＡをオリジナル画像Ｉの対応する部分に置換し、対応する相関項を効果的にゼロに設定することにより、見逃し確率（false negative probability）を下げることがことができる。
【００４３】
コードワードの生成
コードワードを生成するために使用される擬似乱数のシード値をソース画像のサンプルから生成することにより、図１及び図２に示す本発明の実施の形態の性能を更に高めることができる。この処理は、コードワード係数を加算する画像のＤＣＴ係数を解析し、これらのＤＣＴ係数から、コードワードを生成するために使用するシード値を生成することにより実現される。この処理には、例えば、当業者にとって周知の「セキュアハッシュアルゴリズム１（secure hashing algorithm 1：sha-1）」を用いることができる。このアルゴリズムは、ＡＮＳＩ規格（ＡＮＳＩ  ｘ９．３０−２）に規定されている。このアルゴリズムは、エー・ジェイ・メネゼス（A.J.Menezes）著「応用暗号学ハンドブック（Handbook of applied cryptography）」にも開示されている。これにより、符号化画像処理装置及び検出画像処理装置は、ＤＣＴ係数から擬似乱数のシード値を生成及び判定することができる。
【００４４】
他の適用例
ウォータマークシステムの符号化画像処理装置（以下、符号化データ処理装置ともいう。）は、上述した映写機及びウェブサーバに加えて、他の用途にも適用することができる。例えば、本発明は、通信装置から信号を受信し、この受信した信号にコードワードを導入することにより、情報にウォータマークを埋め込む受信機／デコーダにも適用することができる。例えば、セットトップボックスは、放送の「ヘッドエンド」機器又はマルチキャスト機器からテレビジョン及びビデオ信号を受信する。このような適用例では、符号化データ処理装置は、セットトップボックスの一部を構成し、信号を受信及びデコードする際にビデオ信号にウォータマークコードワードを導入する。一実施の形態においては、このウォータマークコードワードは、ビデオ信号を受信及びデコードしたセットトップボックスを固有に特定する。
【００４５】
更に、本発明は、衛星からデジタル映画（digital cinema film）を受信するデジタル映画受信機にも適用することができる。このデジタル映画受信機は、デジタル映画を表す信号を受信し、この信号をデコードしてデジタル映画を再生する。この受信機は、デコードされた映画信号にウォータマークコードワードを導入する符号化データ処理装置を備える。ウォータマークコードワードは、例えば、デジタル映画を受信したデジタル映画受信機を固有に特定する。
【００４６】
更に、本発明は、メモリ及びメモリコントローラを備えるデジタルカメラ又はカムコーダ等にも適用することができる。この適用例では、本発明に係る符号化データ処理装置は、メモリに記憶されているウォータマークコードワードをデジタルカメラ等によって撮影されたビデオ信号に導入する。この適用例においては、コードワードは予めメモリに記憶されており、したがって、符号化データ処理装置は、コードワード生成器を備えていない。メモリに記憶されているコードワードは、メモリコントローラの制御の下、ビデオ信号に埋め込まれ、これによりビデオ信号を固有に又は準固有的（quasi-uniquely）に特定する。
【００４７】
更なる実施の形態においては、本発明に基づく符号化データ処理装置は、連続的な画像又は動画を構成する複数の異なるデジタル画像のフレームのそれぞれに一連のウォータマークコードワードを個別に埋め込む。これらのコードワードは、互いに関連性を有していてもよく、これらのコードワードにより、各フレームに対応する画像を個別に識別することができるようになる。
【００４８】
本発明の更なる様々な側面及び特徴は、特許請求の範囲において定義されている。この請求の範囲から逸脱することなく、上述した実施の形態を様々に変更することができる。
【図面の簡単な説明】
【図１】  符号化画像処理装置の構成を示すブロック図である。
【図２】  検出画像処理装置の構成を示すブロック図である。
【図３】  図３Ａはオリジナル画像を示し、図３Ｂはウォータマークが埋め込まれた画像を示し、図３Ｃは位置合せされた画像を示す図である。
【図４】  Ｎ個のコードワードの組の各コードワードに関する相関結果の具体例を示すグラフ図である。
【図５】  図５Ａはオリジナル画像Ｉのサンプルに対応するグラフ図であり、図５Ｂはウォータマークが埋め込まれた画像Ｗ’に対応するグラフ図であり、図５Ｃはオリジナル画像とウォータマークが埋め込まれた画像との離散サンプルシフト毎の相関結果を示すグラフ図である。
【図６】  図６Ａはオリジナル画像Ｉのオーバサンプリングされたバージョンに対応するグラフ図であり、図６Ｂはウォータマークが埋め込まれた画像Ｗ’のオーバサンプリングされたバージョンに対応するグラフ図であり、図６Ｃはオーバサンプリングされたオリジナル画像とウォータマークが埋め込まれた画像との離散サンプルシフト毎の相関結果を示すグラフ図である。
【図７】  ウォータマークが埋め込まれた画像におけるオリジナル画像には存在しない部分をオリジナル画像の対応する部分に置換する登録画像の前処理を説明する図である。
【図１】
0004142423.tif 000003
【図２】
0004142423.tif 000004
【図３】
0004142423.tif 000005
【図４】
0004142423.tif 000006
【図５】
0004142423.tif 000007
【図６】
0004142423.tif 000008
【図７】
0004142423.tif 000009