(57)【要約】  ペイロードを生成することと、係数集合を選択することと、係数を変更することと、ビデオのボリューム内の選択された係数集合の属性値の間に関係を強制することによって透かしを埋め込むこととを含む、ビデオ画像に透かしを施すための方法およびシステム。変更された係数が、選択された係数集合を置き換える。
2009508395.tif 000002
【特許請求の範囲】
【請求項１】
ビデオのボリューム内の選択された係数集合の属性値の間に関係を強制することによって透かしを埋め込むための方法であって、
ペイロードを生成するステップと、
係数を選択するステップと、
係数を変更するステップであって、前記変更された係数が前記選択された係数を置き換えるステップと、
前記透かしを前記ビデオのボリュームに埋め込むステップと、
を含む、前記方法。
【請求項２】
属性が、ビデオのボリューム内の任意の部分の測定可能な特徴である、請求項１に記載の方法。
【請求項３】
前記属性値が、平均、最大値の決定、および最小値の決定のうちの１つによって計算される、請求項１に記載の方法。
【請求項４】
前記属性値の間に前記関係を強制するために、係数変更が、空間領域および変換領域のうちの一方で実行される、請求項１に記載の方法。
【請求項５】
前記ペイロードの１ビットが、少なくとも２つの前記選択された係数集合の属性値の２つまたは３つ以上の間に１つの関係を強制することによって埋め込まれる、請求項１に記載の方法。
【請求項６】
前記ペイロードの１ビットが、前記選択された係数集合の１つの前記属性値の１つと所定の値の間に１つの関係を強制することによって埋め込まれる、請求項１に記載の方法。
【請求項７】
前記ペイロードの複数のビットが、少なくとも２つの前記選択された係数集合の属性値の２つまたは３つ以上の間に複数の関係を強制することによって埋め込まれる、請求項１に記載の方法。
【請求項８】
前記ペイロードの複数のビットが、少なくとも２つの前記選択された係数集合の属性値の２つまたは３つ以上の間に複数の関係を強制することによって埋め込まれる、請求項１に記載の方法。
【請求項９】
前記変更するステップが、鍵および前記ビデオのボリュームに挿入される前記ペイロードに基づいて、前記選択された係数集合の属性値の間に制約ベースの関係を確立するステップをさらに含み、さらに前記選択された係数集合が、互いに素である、請求項１に記載の方法。
【請求項１０】
前記関係が、前記選択された互いに素の係数集合の前記属性の前記値の間の不等式である、請求項９に記載の方法。
【請求項１１】
値ｒを選択するステップと、
前記不等式関係を強制するために、前記値ｒを前記選択された互いに素の係数集合の前記属性値の１つに加算するステップと、
をさらに含む、請求項１０に記載の方法。
【請求項１２】
前記不等式関係が成り立っている場合、前記選択された互いに素の係数集合の前記属性値の変更が実行されない、請求項１０に記載の方法。
【請求項１３】
反対の不等式関係が存在し、前記選択された互いに素の係数集合の前記属性値の変更が、知覚的損傷を導入する場合、変更が実行されない、請求項１０に記載の方法。
【請求項１４】
前記不等式関係を強制するために、前記選択された互いに素の係数集合の前記属性値が変更される、請求項１０に記載の方法。
【請求項１５】
前記不等式関係を強制するために、前記選択された互いに素の係数集合の前記属性値が比例的に変更される、請求項１０に記載の方法。
【請求項１６】
前記選択された互いに素の係数集合の前記１つの前記属性値の１つをコピーするステップと、
前記選択された互いに素の係数集合の前記１つの前記コピーされた属性値をビット・シフトするステップと、
前記選択された互いに素の係数集合の前記１つの前記ビット・シフトされたコピー属性値を前記選択された互いに素の係数集合の前記１つの前記属性値に加算するステップと、
をさらに含む、請求項１５に記載の方法。
【請求項１７】
前記選択された互いに素の係数集合の前記属性値をコピーするステップと、
前記選択された互いに素の係数集合の前記コピーされた属性値をビット・シフトするステップと、
前記選択された互いに素の係数集合の前記ビット・シフトされたコピー属性値を前記選択された互いに素の係数集合の前記１つの対応する属性値に加算するステップと、
をさらに含む、請求項１５に記載の方法。
【請求項１８】
前記制約ベースの関係が、線形である、請求項９に記載の方法。
【請求項１９】
前記制約ベースの関係が、非線形である、請求項９に記載の方法。
【請求項２０】
前記制約ベースの関係が、前記互いに素の係数集合の前記属性値の平均値であり、第１の前記互いに素の係数集合の前記属性値がプラスの向きに変更され、第２の前記互いに素の係数集合の前記属性の前記値がマイナスの向きに変更される、請求項９に記載の方法。
【請求項２１】
前記制約ベースの関係が、時間的にマスクされる、請求項９に記載の方法。
【請求項２２】
前記係数が、最小限だけ変更される、請求項１に記載の方法。
【請求項２３】
ビデオのボリューム内の選択された係数集合の属性値の間に関係を強制することによって透かしを埋め込むためのシステムであって、
ペイロードを生成する手段と、
係数を選択する手段と、
係数を変更する手段であって、前記変更された係数が前記選択された係数を置き換える手段と、
前記透かしを前記ビデオのボリュームに埋め込む手段と、
を含む、前記システム。
【請求項２４】
属性が、ビデオのボリューム内の任意の部分の測定可能な特徴である、請求項２３に記載のシステム。
【請求項２５】
前記属性値が、平均、最大値の決定、および最小値の決定のうちの１つによって計算される、請求項２３に記載のシステム。
【請求項２６】
前記属性値の間に前記関係を強制するために、係数変更が、空間領域および変換領域のうちの一方で実行される、請求項２３に記載のシステム。
【請求項２７】
前記ペイロードの１ビットが、少なくとも２つの前記選択された係数集合の属性値の２つまたは３つ以上の間に１つの関係を強制することによって埋め込まれる、請求項２３に記載のシステム。
【請求項２８】
前記ペイロードの１ビットが、前記選択された係数集合の１つの前記属性値の１つと所定の値の間に１つの関係を強制することによって埋め込まれる、請求項２３に記載のシステム。
【請求項２９】
前記ペイロードの複数のビットが、少なくとも２つの前記選択された係数集合の属性値の２つまたは３つ以上の間に複数の関係を強制することによって埋め込まれる、請求項２３に記載のシステム。
【請求項３０】
前記ペイロードの複数のビットが、少なくとも２つの前記選択された係数集合の属性値の２つまたは３つ以上の間に複数の関係を強制することによって埋め込まれる、請求項２３に記載のシステム。
【請求項３１】
前記変更する手段が、鍵および前記ビデオのボリュームに挿入される前記ペイロードに基づいて、前記選択された係数集合の属性値の間に制約ベースの関係を確立する手段をさらに含み、さらに前記選択された係数集合が、互いに素である、請求項２３に記載のシステム。
【請求項３２】
前記関係が、前記選択された互いに素の係数集合の前記属性の前記値の間の不等式である、請求項３１に記載のシステム。
【請求項３３】
値ｒを選択する手段と、
前記不等式関係を強制するために、前記値ｒを前記選択された互いに素の係数集合の前記属性値の１つに加算する手段と、
をさらに含む、請求項３２に記載のシステム。
【請求項３４】
前記不等式関係が成り立っている場合、前記選択された互いに素の係数集合の前記属性値の変更が実行されない、請求項３２に記載のシステム。
【請求項３５】
反対の不等式関係が存在し、前記選択された互いに素の係数集合の前記属性値の変更が、知覚的損傷を導入する場合、変更が実行されない、請求項３２に記載のシステム。
【請求項３６】
前記不等式関係を強制するために、前記選択された互いに素の係数集合の前記属性値が変更される、請求項３２に記載のシステム。
【請求項３７】
前記不等式関係を強制するために、前記選択された互いに素の係数集合の前記属性値が比例的に変更される、請求項３２に記載のシステム。
【請求項３８】
前記選択された互いに素の係数集合の前記１つの前記属性値の１つをコピーする手段と、
前記選択された互いに素の係数集合の前記１つの前記コピーされた属性値をビット・シフトする手段と、
前記選択された互いに素の係数集合の前記１つの前記ビット・シフトされたコピー属性値を前記選択された互いに素の係数集合の前記１つの前記属性値に加算する手段と、
をさらに含む、請求項３７に記載のシステム。
【請求項３９】
前記選択された互いに素の係数集合の前記属性値をコピーする手段と、
前記選択された互いに素の係数集合の前記コピーされた属性値をビット・シフトする手段と、
前記選択された互いに素の係数集合の前記ビット・シフトされたコピー属性値を前記選択された互いに素の係数集合の前記１つの対応する属性値に加算する手段と、
をさらに含む、請求項３７に記載のシステム。
【請求項４０】
前記制約ベースの関係が、線形である、請求項３１に記載のシステム。
【請求項４１】
前記制約ベースの関係が、非線形である、請求項３１に記載のシステム。
【請求項４２】
前記制約ベースの関係が、前記互いに素の係数集合の前記属性値の平均値であり、第１の前記互いに素の係数集合の前記属性値がプラスの向きに変更され、第２の前記互いに素の係数集合の前記属性の前記値がマイナスの向きに変更される、請求項３１に記載のシステム。
【請求項４３】
前記制約ベースの関係が、時間的にマスクされる、請求項３１に記載のシステム。
【請求項４４】
前記係数が、最小限だけ変更される、請求項２３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ・コンテンツの透かし挿入に関し、より詳細には、ディジタル・シネマ・アプリケーションにおける透かしの埋め込みおよび検出に関する。
【背景技術】
【０００２】
ビデオは、空間軸と時間軸の両方を含む。画像（同様にビデオ・フレーム）は、空間領域または変換領域で表現することができる。「ベースバンド」領域とも呼ばれる空間領域では、画像は、ピクセル値のグリッドとして表現される。ピクセル化（すなわち離散）画像の変換領域表現は、空間領域画像の数学的変換から計算することができる。一般に、この変換は、完全に可逆的であるか、または少なくとも情報の重大な喪失がない程度に可逆的である。いくつかの変換領域が存在し、最もよく知られたものは、ＪＰＥＧ圧縮アルゴリズムで使用される、ＦＦＴ（高速フーリエ変換）、ＤＣＴ（離散コサイン変換）と、ＪＰＥＧ２０００圧縮アルゴリズムで使用される、ＤＷＴ（離散ウェーブレット変換）である。変換領域でコンテンツを表現する１つの利点は、知覚品質が同程度ならば、変換領域表現はベースバンド表現よりも一般にコンパクトなことである。ベースバンド領域で透かしを埋め込むための透かし挿入方法と、変換領域で透かしを埋め込むための透かし挿入方法が存在する。
【０００３】
ビデオまたはビデオ画像は、様々な透かし挿入手法に向いている。ビデオ透かし挿入のためのこれらの手法は、透かし挿入のためにビデオの空間的構造を選択するか、時間的構造を選択するか、それとも全体的な３次元構造を選択するかに基づいて、３つのカテゴリに分類することができる。
【０００４】
空間的ビデオ透かし挿入アルゴリズムは、既存の画像透かし挿入アルゴリズムを用いたフレーム単位の透かしの埋め込みによって、静止画透かし挿入をビデオ透かし挿入に拡張したものである。従来技術では、フレーム単位の透かしが、一定の間隔で各フレームにおいて繰り返されるが、その間隔は恣意的であり、数フレームから動画全体にわたる。検出器側では、多くの連続フレームで同じ透かしパターンが繰り返されたほうが、電力信号対雑音比（ＰＳＮＲ：Ｐｏｗｅｒ  Ｓｉｇｎａｌ−ｔｏ−Ｎｏｉｓｅ  Ｒａｔｉｏ）にとって有利である。しかし、すべてのフレームが同じ透かしパターンを有する場合、可能なフレーム結託攻撃（ｆｒａｍｅ  ｃｏｌｌｕｓｉｏｎ  ａｔｔａｃｋ）に対して脆弱とならないように、特別な配慮が払われなければならない。他方、透かしがすべてのフレーム毎に変化する場合、検出がより困難になるばかりか、ちらつきアーチファクトを引き起こし、ビデオの安定エリアでは、依然として結託攻撃に対して脆弱である。
【０００５】
改良として、すべてのフレームに透かしを施す必要はない。従来技術では、自動的に選択された「キー・フレーム」（およびキー・フレーム周辺の数フレーム）のみが、透かしを施される。キー・フレームは、２つの境界ショット・フレーム（ｂｏｕｎｄａｒｙ  ｓｈｏｔｓ  ｆｒａｍｅ）の間に見出される安定フレームであり、フレーム・レートの変化後であっても、再び容易に見出すことができる。キー・フレームのみの透かし挿入は、忠実度制約（ｆｉｄｅｌｉｔｙ  ｃｏｎｓｔｒａｉｎｔ）に加わる重圧を軽減するばかりでなく、より高い安全性とより低い計算集約性ももたらす。
【０００６】
空間領域透かしは、例えば、幾何学的にインバリアント（不変）な透かしを使用する、またはタイル状パターンに透かしを反復する、もしくはフーリエ領域においてテンプレートを使用する、幾何学的変形に対して堅牢な静止画透かし挿入技法から利益を得るが、とりわけ、スクリーン湾曲と、映写映画のカムコーダ記録中に生じる幾何学的変形のせいで、逆変換を行うことが困難である。さらに、これら２つの手法は、信号処理攻撃（ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｉｎｇ  ａｔｔａｃｋ）に対して安全ではなく、例えば、フーリエ領域におけるテンプレートは、容易に除去することができる。従って、空間領域透かしは、位置合わせのためにオリジナル・コンテンツが使用される場合に、より容易且つ安全に検出することができる。従来技術では、オリジナル・フレーム内の特徴点を抽出フレーム内の特徴点に一致させる、半自動位置合わせ方法が使用される。フラット・スクリーン上への映写の場合、逆向きの変形を施すためには、最低でも４つの参照点が一致しなければならない。オペレータは、事前計算された特徴点の集合から、少なくとも４つの特徴点を手動で選択する。２レベル位置合わせが、最初は時間領域で、次に空間領域で、完全に自動的に実行される。抽出キー・フレームを対応するオリジナル・フレームに一致させるため、フレーム・シグネチャ（フィンガプリント、ソフト・ハッシュ、またはメッセージ・ダイジェストとも呼ばれる）のデータベースが、透かし検出器によってアクセスされる。その後、オリジナル・フレームは、テスト・フレームの自動空間位置合わせのために使用される。
【０００７】
しかし、キー・フレームの選択用の計算は、リアルタイム・アプリケーションの場合は透かし埋め込み時に利用可能でない、これから来るフレームを必要とすることに留意されたい。代替方法は、フレーム処理と再生の間に一定時間の遅延を維持するものである。
【０００８】
従来技術の時間的透かし挿入方式は、各フレームにおける全体的輝度を変化させることによって、透かしを挿入するために時間軸のみを利用する。これは、透かしを幾何学的歪みに対して本質的に堅牢にするとともに、カムコーダ攻撃後の透かし読み取りを簡単にする。（一般にカムコーダ撮影されたビデオのちらつきを抑制するときに適用される）時間ローパス・フィルタリングに対する透かしの堅牢性は、当技術分野で知られたその他の方法を用いて改善することができる。しかし、透かしは、（特にフレーム編集後の）時間同期外しに対して脆弱である。しかし、同期は、同期を外されたビデオとオリジナル・ビデオの間でキー・フレームを一致させることによって、やはり回復することができる。
【０００９】
先の２つの手法（空間的透かし挿入または時間的透かし挿入）は、透かし挿入のために、３つの利用可能な次元のうちの１つまたは２つを使用する。ビデオ内の３つの利用可能な次元のうちの１つまたは２つにおける透かし構造の不在は、透かしのために利用可能な空間の準最適な使用をもたらす。ブルーム（Ｂｌｏｏｍ）他の米国特許第６８８５７５７号、「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｐｒｏｖｉｄｉｎｇ  ａｎ  Ａｓｙｍｍｅｔｒｉｃ  Ｗａｔｅｒｍａｒｋ  Ｃａｒｒｉｅｒ」に記載の方法は、ビデオの構造を完全に使用する。スペクトル拡散方法では、技法は、明らかに堅牢且つ安全であるが、検出器は、検出に先立って、テスト・ビデオをオリジナル・ビデオと同期させなければならない。
【発明の開示】
【課題を解決するための手段】
【００１０】
本発明の態様は、連続したフレームにわたって、または単一のフレーム内に、ある係数の属性値の２つまたは３つ以上の間の制約ベースの関係を擬似ランダム的に挿入することを含む。これらの関係が透かし情報を符号化する。
【００１１】
「係数（ｃｏｅｆｆｉｃｉｅｎｔｓ）」は、ビデオ、画像、またはオーディオ・データを含む、データ要素の集合として表される。「コンテンツ（ｃｏｎｔｅｎｔ）」という用語は、データ要素の任意の集合を示す総称的な用語として使用される。コンテンツがベースバンド領域にある場合、係数は「ベースバンド係数」と呼ばれる。コンテンツが変換領域にある場合、係数は「変換係数」と呼ばれる。例えば、画像、またはビデオの各フレームが、空間領域で表現される場合、ピクセルが画像係数である。画像フレームが変換領域で表現される場合、変換画像の値が画像係数である。
【００１２】
本発明は特に、ディジタル・シネマ・アプリケーションにおけるＪＰＥＧ２０００画像のためのＤＷＴを扱う。ピクセル化画像のＤＷＴは、垂直および水平、ローパスおよびハイパス・フィルタの画像ピクセルへの連続適用によって計算され、結果の値は、「ウェーブレット係数（ｗａｖｅｌｅｔ  ｃｏｅｆｆｉｃｉｅｎｔ）」と呼ばれる。ウェーブレットは、１周期または数周期のみ持続する振動波形である。各反復において、直前の反復でローパス・フィルタリングのみを施されたウェーブレット係数が引き抜かれ（ｄｅｃｉｍａｔｅ）、その後、ローパス垂直フィルタおよびハイパス垂直フィルタを通過し、この処理の結果が、ローパス水平フィルタおよびハイパス水平フィルタに通される。結果の係数集合は、４つの「サブバンド」、すなわちＬＬ、ＬＨ、ＨＬ、およびＨＨサブバンドにグループ化される。
【００１３】
言い換えると、ＬＬ、ＬＨ、ＨＬ、およびＨＨ係数は、それぞれ、ローパス垂直／ローパス水平フィルタ、ローパス垂直／ハイパス水平フィルタ、ハイパス垂直／ローパス水平フィルタ、ハイパス垂直／ハイパス水平フィルタの画像への連続適用から生じる係数である。
【００１４】
画像は、異なるネイティブ・カラーに対応する複数のチャネル（または成分）を有する。画像は、グレースケール画像である場合、輝度成分を表すただ１つのチャネルを有する。一般に、画像はカラー画像であり、その場合は、異なるカラー成分を表すために、一般に３つのチャネルが使用される（しかし、時には異なる数のチャネルが使用される）。３つのチャネルは、それぞれ、赤、緑、および青成分を表すことができ、その場合、画像はＲＧＢ色空間で表されるが、その他の多くの色空間も使用することができる。画像が複数のチャネルを有する場合、一般に各カラー・チャネル上で別々にＤＷＴが計算される。
【００１５】
各反復は、ある「レイヤ（層）」または「レベル」の係数に対応する。第１レイヤの係数は、最も高い解像度レベルの画像に対応し、最終レイヤは、最も低い解像度レベルの画像に対応する。図１は、５レベル・ウェーブレット変換の１つの成分におけるビデオ表現である。ユニット１０５〜１２０は、ビデオのフレームである。ユニット１２５は、最も低い解像度におけるＬＬサブバンド係数を示している。ユニット１２５ａは、フレームｆ＝０、チャネルｃ＝０、サブバンドｂ＝０、解像度レベルｌ＝０、位置ｘおよびｙ＝０である（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）における係数を示している。
【００１６】
ビデオの３Ｄ構造を最もよく利用するため、本発明は、時間軸と空間軸の両方を使用する。空間位置合わせは、映写したものを記録した映画の場合、達成が難しいので、本発明は、空間位置合わせに関して幾何学的歪みにあまり敏感でない、非常に低い空間周波数、または低い空間周波数の大域的属性を使用する。攻撃中に生じる大部分の変形は時間的に線形であるので、時間周波数はより容易に回復される。
【００１７】
本発明では、ビデオの低解像度ウェーブレット係数に直接的に透かしを施す。フレーム内のピクセルの数は、低解像度ウェーブレット係数の数よりも１０００倍大きいオーダにあるので、本発明では、演算の数は潜在的にはるかに小さくなる。
【００１８】
透かしを生成することと、ビデオのボリューム内の選択された係数集合の属性値の間に関係を強制することによって生成された透かしをビデオ画像に埋め込むこととを含む、ビデオ画像に透かしを施すための方法およびシステムが説明される。それによって、透かしは、ビデオのボリュームに適応的に埋め込まれる。係数集合を選択することと、ビデオのボリューム内の選択された係数集合の属性値の間に関係を強制することとを含む、ビデオ画像に透かしを施すための方法およびシステムも説明される。ペイロードを生成することと、係数集合を選択することと、係数を変更することと、ビデオのボリューム内の選択された係数集合の属性値の間に関係を強制することによって透かしを埋め込むこととを含む、ビデオ画像に透かしを施すための方法およびシステムも説明される。変更された係数が、選択された係数集合を置き換える。
【００１９】
信号を準備することと、属性値を抽出および計算することと、ビット値を検出することと、ペイロードを復号することとを含み、ペイロードが、ビデオのボリューム内の属性値の間に関係を強制することによって生成され、埋め込まれるビット系列である、ビデオ画像内の透かしを検出するための方法およびシステムが説明される。信号を準備することと、ペイロードを復号することとを含み、ペイロードが、ビデオのボリューム内の属性値の間に関係を強制することによって生成され、埋め込まれるビット系列である、ビデオ画像内の透かしを検出するための方法およびシステムも説明される。信号を準備することと、属性値を抽出および計算することと、ビット値を検出することとを含む、ビデオのボリューム内の透かしを検出するための方法およびシステムも説明される。
【００２０】
本発明は、ハードウェア、ファームウェア、ＦＰＧＡ、またはＡＳＩＣなどで実装してもよいが、サーバ、モバイル装置、またはそれらの任意の均等物とすることができるコンピュータまたは処理装置内に存在するソフトウェアで実施するのが最良である。本発明の方法は、そのステップをプログラミングし、そのプログラムをコンピュータ可読媒体に保存することによって実施／実行するのが最良である。リアルタイム処理に必要とされる速度が、ステップの１つまたは複数のシーケンスのためにハードウェアを要求する場合、一般性を失うことなく、本明細書で説明されるプロセスおよび方法のすべてまたは任意の部分に対するハードウェア・ソリューションが、容易に実施される。その場合、ハードウェア・ソリューションは、サーバまたはモバイル装置などの、しかしそれらに限定されない、コンピュータまたは処理装置に埋め込まれる。ディジタル・シネマ・アプリケーション用のＪＰＥＧ２０００画像にリアルタイムに透かしを施す実施の一例では、ディジタル・シネマ・サーバまたはプロジェクタ内のＪＰＥＧ２０００復号器が、各フレームの最も低い解像度レベルの係数を、透かし埋め込みモジュールに送付する。埋め込みモジュールは、受け取った係数を修正し、さらなる復号のために、それらを復号器に返却する。係数の送付、透かし挿入、および返却は、リアルタイムに実行される。
【００２１】
本発明は、以下の「発明を実施するための最良の形態」を添付の図面と併せて読むことで最もよく理解される。図面は、「図面の簡単な説明」で簡潔に説明される図を含み、図中の同じ番号は類似の要素を表す。
【発明を実施するための最良の形態】
【００２２】
多くのアプリケーションが、セットトップ・ボックス用およびディジタル・シネマ・サーバ（メディア・ブロックとも呼ばれる）またはプロジェクタ用のセッション・ベースの透かし埋め込みなど、リアルタイム透かし埋め込みを必要とする。ほとんど明白なことだが、このことが、与えられた時点において時間的に後に到来するフレームを利用する透かし挿入方法の適用を難しくしていることを述べておいても無駄ではなかろう。（例えば、透かしの位置および強度の）オフライン事前計算は、好ましくは避けるべきである。それにはいくつかの理由があるが、２つの最も重要な理由は、潜在的なセキュリティ漏洩（現行世代の透かし挿入アルゴリズムは一般に、攻撃者が埋め込みアルゴリズムの完全な詳細を知っている場合、あまり安全ではない）と、非実用性である。
【００２３】
ほとんどのアプリケーションでは、ディジタル的に透かしを施されるコンテンツのユニットは、埋め込まれる時間と検出される時間の間に何らかの変更を受ける。これらの変更は、一般に透かしを劣化させ、その検出をより難しくするので、「攻撃（ａｔｔａｃｋ）」と呼ばれる。アプリケーションの最中に攻撃が自然に生じることが予想される場合、その攻撃は、「非意図的（ｎｏｎ−ｉｎｔｅｎｔｉｏｎａｌ）」と見なされる。非意図的攻撃の例は、（１）クロッピング、スケーリング、ＪＰＥＧ圧縮、フィルタリングなどが施された透かし挿入画像、（２）テレビ・ディスプレイ上に表示するためのＮＴＳＣ／ＰＡＬ  ＳＥＣＡＭへの変換、ＭＰＥＧまたはＤＩＶＸ圧縮、リサンプリングなどが施された透かし挿入画像である。他方、攻撃が、透かしを除去する意図またはその検出を妨害する意図（すなわち、透かしは依然としてコンテンツ内に存在するが、検出器によって取り出すことができない）をもって故意に実行される場合、その攻撃は、「意図的（ｉｎｔｅｎｔｉｏｎａｌ）」であり、その攻撃を実行する者たちは、「著作権侵害者（ｐｉｒａｔｅ）」である。意図的攻撃は一般に、コンテンツの知覚的損傷を最小限に抑えながら、透かしを読み取れなくする可能性を最大化するという目的をもち、攻撃の例は、検出器との同期を非常に難しくするためにコンテンツに適用される（大多数の透かし検出器は同期外しに敏感である）、わずかな知覚不能なライン除去／追加および／または局所的回転／スケーリングの組み合わせである。例えばスターマーク（Ｓｔｉｒｍａｒｋ）など、上記の攻撃を目的としたツールが、インターネット上に存在する（ｈｔｔｐ：／／ｗｗｗ．ｐｅｔｉｔｃｏｌａｓ．ｎｅｔ／ｆａｂｉｅｎ／ｗａｔｅｒｍａｒｋｉｎｇ／ｓｔｉｒｍａｒｋ／）。
【００２４】
映画館で上映中の映画を不法に記録する人によって実行される、いわゆる「カムコーダ（ビデオカメラ）攻撃」の場合、人が不法行為を実行しているにも関わらず、その攻撃は非意図的と見なされる。実際、映画の記録は、透かしの除去を意図して実行されない。しかし、記録後に、コンテンツ内で透かしがもはや検出できないことを保証するために、記録されたビデオにさらなる処理を実行することがある。その場合、これら後者の攻撃は、意図的と見なされる。
【００２５】
例えば、ディジタル・シネマ用のセッション・ベースの透かしは、以下の攻撃、すなわち、リサイジング、レターボックス化、絞り制御、ローパス・フィルタリングおよびアンチ・エイリアシング、ブリック・ウォール・フィルタリング、ディジタル・ビデオ・ノイズ・リダクション・フィルタリング、フレーム・スワッピング、圧縮、スケーリング、クロッピング、上書き、ノイズ追加、およびその他の変形を耐えなければならない。
【００２６】
カムコーダ攻撃は、以下の攻撃、すなわち、カムコーダ記録、デインタレーシング、クロッピング、ちらつき抑制、および圧縮をこの順序で含む。留意すべきことに、カムコーダ記録は、重大な空間的歪みを導入する。カムコーダ攻撃を耐えた透かしは、例えば、スクリーナ・コピー、テレシネなど、その他の大部分の非意図的攻撃にも耐えると一般に理解されているので、本発明は、カムコーダ攻撃に重点を置く。しかし、透かしがその他の攻撃にも同様に耐えることが重要である。ビデオのフレームは、ＮＴＳＣまたはＰＡＬ  ＳＥＣＡＭ準拠のシステム上で再生するために一般にインタレースされる。デインタレーシングは、実際には検出性能に影響を与えないが、記録されたビデオの品質を改善するために著作権侵害者によって使用される標準的プロセスである。アスペクト比２．３９のビデオは、約４：３のアスペクト比を用いて完全に記録され、ビデオの上部および下部エリアは、おおよそクロッピングされる。記録されたビデオは、煩わしいちらつきを一般に示すが、それは、時間領域におけるエイリアシング効果に起因する。ちらつきは、輝度の素早い変化に対応し、フィルタで除去することができる。そのようなちらつき効果を除去するために、ちらつき抑制フィルタが著作権侵害者によってしばしば使用される。ちらつき抑制フィルタは、各フレームにローパス・フィルタリングを強く施すので、透かしを消去する意図で使用されない場合でも、透かしの時間的構造に非常な損傷を与える。最後に、記録された映画は、例えばＤＩＶＸまたはその他の非可逆ビデオ・フォーマットなど、利用可能な配布帯域幅／媒体／フォーマットに適合するように圧縮される。例えば、Ｐ２Ｐネットワーク上で見出される映画は、１００分の映画全体を７００ＭバイトＣＤに保存することを可能にするファイル・サイズをしばしば有する。これは、約９３４ｋｂｐｓのトータル・ビット・レート、または１２８ｋｂｐｓがオーディオ・トラック用に確保されている場合は約８００ｋｂｐｓに対応する。
【００２７】
攻撃のこのシーケンスは、ピア・ツー・ピア（Ｐ２Ｐ）ネットワーク上で見出される著作権侵害ビデオのライフタイム中に生じる最も重大なプロセスに対応する。それは、明示的または暗黙的に、透かしが耐えなければならない上述の攻撃の大部分も含む。カムコーダ攻撃に加えて、本発明の透かし挿入方法および装置は、フレーム編集（除去および／または追加）攻撃にも耐えなければならない。
【００２８】
透かし検出システムは、検出器がオリジナル・コンテンツにアクセスする必要がない（必要がある）場合、「ブラインド」（またはノンブラインド）と呼ばれる。オリジナル・コンテンツから導出されたデータのみにアクセスする必要がある、いわゆるセミブラインド・システムも存在する。ディジタル・シネマ用のセッション・ベースの透かしに関する、フォレンシック追跡（ｆｏｒｅｎｓｉｃ  ｔｒａｃｋｉｎｇ）などのいくつかのアプリケーションは、一般に検出がオフラインで行われるので、ブラインド透かしソリューションを明示的に必要とせず、オリジナル・コンテンツへのアクセスが可能である。本発明は、ブラインド検出器を使用するが、コンテンツを検出器で同期させるために同期ビットを挿入する。セミブラインド検出器も、本発明と共に使用することができる。セミブラインド検出器が使用される場合、オリジナル・コンテンツから導出されたデータを使用して、最終的に同期が実行される。この場合、同期ビットは必要でなく、透かしチップ（ｗａｔｅｒｍａｒｋ  ｃｈｉｐ）とも呼ばれる透かしのサイズは減少する。
【００２９】
ディジタル・シネマ・アプリケーションの具体的な一例では、３５ビットの最小ペイロードが、コンテンツ内に埋め込まれる必要がある。このペイロードは、１６ビットのタイムスタンプを含むべきである。１年を３６６日、１日を２４時間として、タイムスタンプが１５分おきに（１時間当たり４個）生成され、それが１年毎に繰り返される場合、３５１３６個のタイムスタンプが必要とされ、これは１６ビットを用いて表すことができる。その他の１９ビットは、全部で５２４０００個の可能な位置／シリアル番号の中の位置またはシリアル番号を表すために使用することができる。
【００３０】
加えて、５分間のセグメントから検出可能であるためには、３５ビットすべてが必要とされる。言い換えると、フォレンシック・マークを抽出するために、たかだか５分間のビデオが必要とされるべきである。一実施形態では、本発明は、６４ビットの透かしを使用し、透かしチップは、３：０３分毎に繰り返される。１埋め込みビット毎フレームである場合、２４フレーム毎秒の３：０３分間のビデオに埋め込まれるビデオ透かしチップは、４３９２ビットを有する（１８３秒×２４フレーム毎秒＝４３９２フレーム＝１ビット毎フレームで４３９２ビット）。
【００３１】
本発明のビデオ透かし挿入方法は、コンテンツの異なる属性の間の関係を変更することに基づいている。具体的には、情報のビットを符号化するため、画像／ビデオのある係数が選択され、異なる集合に割り当てられ、異なる集合の属性値の間に関係を導入するために最小限の操作を施される。係数集合は、異なる属性値を有し、属性値は一般に、ビデオの異なる空間−時間領域で異なり、またはコンテンツを処理した後に変更される。一般に、本発明は、単調に変化する属性値を使用し、その場合、堅牢な関係を保証することがより容易であるので、攻撃は予測可能な影響を有する。そのような属性は「インバリアント（不変）」と呼ばれる。本発明は、インバリアント属性を使用して最もよく実施されるが、そのように限定されることはなく、インバリアントではない属性を使用して実施することも可能である。例えば、フレームの平均輝度値は、時間に関して「インバリアント（不変）」であると考えられ、（境界ショットを除き）一般にゆっくりと単調に変化し、さらに、コントラスト強化などの攻撃は一般に、各フレームの輝度値の相対的順序を妨げない。
【００３２】
ビデオ・コンテンツは一般に、ＲＧＢ（赤／緑／青、コンピュータ・グラフィックスおよびカラー・テレビで広く使用される）、ＹＩＱ、ＹＵＶ、ＹＣｒＣｂ（放送およびテレビで使用される）など、複数の別個の成分（またはチャネル）を用いて表される。ＹＣｒＣｂは、２つの主要成分、すなわち、輝度（Ｙ）および色差（ＣｒＣｂ、またはＵＶとしても知られる）からなる。ビデオ・コンテンツの輝度すなわちＹ成分の量は、明るさを示す。色差（またはクロマ）は、色相および彩度情報を含む、ビデオ・コンテンツの色部分を示す。色相は、画像の色合いを示す。彩度は、入力パラメータの変化にも関わらず出力色が一定となる条件を示す。ＹＣｒＣｂの色差成分は、色の赤色（Ｃｒ）成分および青色（Ｃｂ）を含む。本発明は、サイズがＷ×Ｈ×Ｎ（ＷおよびＨは、それぞれ、ベースバンド領域または変換領域におけるフレームの幅および高さ、Ｎは、ビデオのフレーム数）である、係数からなる複数の３次元ボリュームとして、ビデオ・コンテンツを考える。各３Ｄボリュームは、ビデオ・コンテンツの１つの成分表現に対応する。透かし情報は、１つまたは複数のボリューム内の係数からなる選択された集合のある属性値の間に制約ベースの関係を強制することによって、挿入される。しかし、人間の目は、色（色差）変化に比べて、全体的な強度（輝度）変化にははるかに敏感でないので、透かしは、好ましくは、ビデオ・コンテンツの輝度成分を表す３Ｄビデオ・ボリューム内に埋め込まれる。輝度の別の利点は、ビデオの変換に対してよりインバリアントなことである。これ以降、別途指摘がない限り、３Ｄビデオ・ボリュームは、輝度成分を表すものとするが、任意の成分を表すこともできる。
【００３３】
本発明では、係数集合は、コンテンツの恣意的な場所から取得された任意の数の係数（１個からＷ×Ｈ×Ｎ個）を含むことができる。各係数は値を有する。従って、異なる属性値が、係数集合から計算でき、いくつかの例が、以下で与えられる。透かし情報を挿入するため、係数からなる多くの集合における係数値を変化させることによって、多くの関係が強制できる。関係は、係数からなる１つまたは複数の集合の１つまたは複数の属性値が満たさなければならない１つまたは１組の条件として理解されるが、それに限定されない。
【００３４】
様々なタイプの属性が、係数からなる各集合のために定義できる。属性は、好ましくは、ベースバンド領域（明るさ、コントラスト、輝度、エッジ、カラー・ヒストグラムなど）において、または変換領域（周波数帯のエネルギー）において計算される。輝度の場合のように、いくつかの属性値は、ベースバンドおよび変換領域において等しく計算することができる。
【００３５】
１ビットの情報を埋め込むのに適した１つの方法は、２つ係数集合を選択し、それらの属性値の間に事前定義された関係を強制することである。例えば、関係は、第１の係数集合の１つの属性値が第２の係数集合の対応する属性値より大きいこととすることができる。しかし、ビットの情報を埋め込むための方法には、いくつかの変形が存在することに留意されたい。２つの選択された係数集合に２ビット以上の情報を埋め込むための１つの方法は、２つの係数集合の２つ以上の属性値の間に関係を強制することである。
【００３６】
１つの係数集合のみを使用し、この係数集合の属性値の関係を強制することによって、１ビットの情報を埋め込むことも可能である。例えば、属性値は、事前定義またはコンテンツから適応的に計算することができるある値よりも大きく設定される。４つの排他的区間を定義し、属性値がある区間に存在する条件を強制することによって、１つの係数集合を使用して、２ビット以上の情報を埋め込むことも可能である。２ビット以上を埋め込むためのその他の方法は、２つ以上の属性値を使用し、属性値の各々についての関係を強制することを含む。
【００３７】
一般に、基本方式は、恣意的な数の係数集合、恣意的な数の属性値、および恣意的な数の強制関係に一般化することができる。これはより大量の情報を埋め込むためには有利であるが、知覚的変化を最小に抑えながら様々な関係が同時に強制されることを保証するために、線形プログラミングなどの特定の技法が使用されなければならないこともある。上で述べたように、インバリアント属性値が使用される場合、より容易に関係を強制することができる。
【００３８】
３Ｄビデオ・ボリューム（および係数集合）の多くの属性は、空間的−時間的方法において、および／またはコンテンツ処理の前／後において、相対的にインバリアントである。インバリアント属性の例は、以下のものを含む。
・連続フレームにおける、または同一フレームの異なるサブバンドにおける係数（例えば、ウェーブレット係数）。
・連続フレームにおける平均輝度値。
・連続フレームにおける平均テクスチャ特徴値。
・連続フレームにおける平均エッジ測定。
・連続フレームにおける平均カラーまたは輝度ヒストグラム分布。
・ある周波数範囲におけるエネルギー。
・抽出特徴点によって定義されるエリア内における上記のインバリアント属性の何れか。
【００３９】
透かしアルゴリズムは一般に、埋め込み器および検出器のみに知られた、「秘密」鍵を用いて動作する。秘密鍵の使用は、暗号システムにおけるのと同様な利点をもたらし、例えば、一般に透かしシステムの詳細が知られても、システムのセキュリティを危険にさらすことはなく、従って、同業者の検討および可能な改良のためにアルゴリズムが開示できる。さらに、透かしシステムの秘密は、鍵の中に保持され、すなわち、鍵が知られた場合でも、透かしの埋め込みおよび／または検出のみを行えるに過ぎない。鍵は、そのコンパクトなサイズ（典型的には１２８ビット）のため、より容易に隠蔽し、送信することができる。アルゴリズムのある局面を擬似ランダム化するために、対称鍵が使用される。一般に、鍵は、ペイロードが誤り訂正および検出用に符号化され、コンテンツに適合するように拡張された後、（例えば、ＤＥＳなどの標準暗号アルゴリズムを使用して）ペイロードを暗号化するために使用される。本発明の方法の場合、鍵は、２つの異なる係数集合の属性値の間に挿入される関係を設定するためにも使用される。従って、これらの関係は、与えられた秘密鍵に対して固定されるので、「事前定義」されていると見なされる。透かしを埋め込むための２つ以上の事前定義関係が存在する場合、鍵は、情報の与えられたビットおよび与えられた係数集合にとって的確な関係をランダムに選択するためにも使用することができる。
【００４０】
選択された係数集合は一般に、「領域」に対応し、領域は、コンテンツの同じエリアに配置される係数集合として理解される。係数の領域は、ベースバンド係数およびウェーブレット係数の場合には、コンテンツの空間的−時間的領域に対応するが、必ずしもそうである必要はない。例えば、コンテンツの３Ｄフーリエ変換係数は、空間的領域にも時間的領域にも対応せず、同様の周波数の領域に対応する。
【００４１】
例えば、係数集合は、１つのフレームのある空間的エリア内のすべての係数から作られる領域に対応することができる。１ビットの情報を符号化するため、２つの連続フレームの中の２つの領域が選択され、対応する係数値が、これら２つの領域のある属性の間に関係を強制するために変更される。以下でさらに詳しく説明されるように、所望の関係がすでに存在している場合は、係数値を変更する必要がないことに留意されたい。
【００４２】
ウェーブレット変換を用いるさらに別の例では、各フレームの各解像度レベルにおける各位置および各成分（チャネル）毎に、４つのサブバンドに対応する４つのウェーブレット係数（ＬＬ、ＬＨ、ＨＬ、およびＨＨ）が存在する。係数集合は、４つのサブバンドの１つにおける１つの係数を含むだけでもよい。Ｃ１、Ｃ２、Ｃ３、Ｃ４が、位置、チャネル、および解像度レベルが同じ、４つのサブバンドにおける４つの係数であると仮定する。透かしを埋め込むための１つの方法は、ＨＬおよびＬＨサブバンド内の係数にそれぞれ対応するＣ２とＣ３の間に関係を強制することである。関係の一例は、Ｃ２がＣ３より大きいことである。透かしを埋め込むための別の方法は、１つのフレーム内のＣ１〜Ｃ４と連続するフレーム内の対応する係数の間に関係を強制することである。この原理の変形は、ただ１つのタイプの係数についての関係を挿入するものであり、係数は事前計算された値よりも大きくなければならない。例えば、ある解像度レベルにおけるフレーム内のすべての位置について、係数ＬＬの値が事前計算された値よりも大きいという制約を強制することが可能である。上記の例では、属性値は、ウェーブレット係数自体の値である。
【００４３】
検出側で、透かし挿入側と同一またはほぼ同一の係数集合を識別できることが必須である。さもなければ、誤った係数が選択され、測定された属性値は誤ったものになる。検出前にコンテンツが穏やかに処理される場合、係数の位置は（空間領域でも変換領域でも）変化せず、正しい係数の識別は、通常は問題とならない。しかし、カムコーダ攻撃が一般にそうであるように、処理がコンテンツの幾何学的または時間的構造を変化させる場合、係数が位置を変化させる可能性が高い。
【００４４】
コンテンツの時間的構造に変化がある場合、コンテンツを再同期させるために、ノンブラインドまたはセミブラインド方式を使用することができる。従来技術では、この目的で異なる方法が利用可能である。検出がブラインドに（すなわち、オリジナル・コンテンツから導出されるどのようなデータへのアクセスも伴わずに）行われなければならない場合、予測可能値を有する同期ビットをコンテンツ内に挿入することが可能であり、同期ビットは、コンテンツを再同期させるために、検出器によって使用される。そのような方式は、以下でさらに詳しく説明される。
【００４５】
コンテンツの幾何学的構造における変化に対する堅牢性を保証するため、変更されたコンテンツ内の位置をオリジナル・コンテンツ内の対応する位置と一致させることによって、変更されたコンテンツを回復する、従来技術で知られた、同期／位置合わせ方法が使用される。オリジナル・コンテンツ、またはそれから導出される何らかのデータ（例えば、オリジナル・コンテンツのサムネイルもしくは何らかの特徴的な情報）が利用可能である場合、コンテンツの幾何学的構造における変化は、例えば、コンテンツの回転、スケーリング、および／またはクロッピング後に生じる。
【００４６】
ブラインド検出の場合、１つの可能性は、非常に低い空間周波数を使用することである。ビデオ・フレームまたは画像に関して、係数の１つの領域は、ビデオ・フレーム全体、フレームの半分、またはフレームの４分の１に対応することができる。この場合、係数の大部分（領域がビデオ・フレーム全体に対応する場合はすべての係数）が正しく選択され、いくつかの係数が誤った集合に割り当てられたとしても、検出は全体として堅牢である。
【００４７】
幾何学的構造における変化に対して本質的に堅牢な別の方法は、実際にはただ１つの係数を含む領域を使用し、１つのフレーム内の１つの係数と次のフレーム内の対応する位置にある１つの係数との間に関係を強制することである。２つのフレーム内のすべての係数に対して同じ関係が強制される場合、幾何学的歪みに対して検出が本質的に堅牢であることは容易に分かる。幾何学的構造における変化に対して堅牢性を保証するための関連方法は、異なるサブバンド内の与えられた位置にある異なるウェーブレット係数の間に関係を生成することである。例えば、ウェーブレット変換では、各解像度レベル、各位置、および各成分（チャネル）毎に、４つのサブバンド（ＬＬ、ＬＨ、ＨＬ、ＨＨ）に対応する４つの係数が存在する。透かしの堅牢性を強化する透かしビットを埋め込むために、フレーム内のすべての位置に関する２つの係数の間の同じ関係が、ある解像度レベルで強制されてよい。検出側では、関係が観測される回数が、どのビットが埋め込まれたかについての指標になる。
【００４８】
幾何学的構造における変化に対して堅牢性を保証するためのさらに別の方法は、幾何学的構造における変化に対してインバリアントな特徴点を使用することである。ここで、インバリアントとは、ビデオまたは画像の特徴点を抽出するためのあるアルゴリズムを使用して、オリジナル・コンテンツ上と変更コンテンツ上とで同じ点が見出される場合を意味する。従来技術では、この目的で異なる方法が知られている。それらの特徴点は、ベースバンド領域および／または変換領域において係数の領域を区切るために使用することができる。例えば、３つの隣接する特徴点は、係数集合に対応し得る内部領域を区切る。また、３つの隣接する特徴点は、サブ領域を定義するために使用することができ、各サブ領域は、係数集合に対応する。
【００４９】
幾何学的構造における変化に対して本質的に堅牢なさらに別の方法は、１つのフレーム内のすべての係数の大域的属性の値と第２のフレーム内のすべての係数の同じ大域的属性の値との間に関係を強制することである。そのような大域的属性は、幾何学的構造における変化に対してインバリアントであることが仮定される。そのような大域的属性の一例は、１つの画像フレームの平均輝度値である。
【００５０】
ビデオの２つの連続フレームの属性値の間に制約を強制することによってビットを埋め込む非限定的な例示的アルゴリズムは、以下のようなものである。
【００５１】
ビデオのフレーム系列Ｆ１、Ｆ２、．．．Ｆｎ内のＪＰＥＧ２０００圧縮画像である各フレームについて、
ａ）解像度レベルＬにおけるＮ個の係数からなる領域を選択する。係数は、ＬＬ、ＬＨ、ＨＬ、ＨＨなど、１つまたは複数のサブバンドに属することができる。領域は、幾何学的攻撃に直面したときの領域のさらなる安定性のために例えば特徴点を使用して、恣意的だが固定の形状（例えば、長方形形状）を取ることができ、または上で説明したように、オリジナル画像コンテンツに応じて変化することもできる。
ｂ）領域のための関連する大域的属性を決定する。大域的属性は、領域の平均輝度値、平均テクスチャ特徴測定、平均エッジ測定、または平均ヒストグラム分布とすることができる。Ｐはそのような大域的属性の値である。
【００５２】
ビット系列｛ｂ１，ｂ２，．．．ｂｍ｝を埋め込むため、
ａ）ｂｉ（１＜ｉ＜ｍ）が０ならば、Ｐ（Ｆ２×ｉ＋１）＞Ｐ（Ｆ２×ｉ）となるように、（必要な場合に限って）最小限の変更をＦ２×ｉおよびＦ２×ｉ＋１に施す。
ｂ）ｂｉ（１＜ｉ＜ｍ）が１ならば、Ｐ（Ｆ２×ｉ＋１）＜Ｐ（Ｆ２×ｉ）となるように、（必要な場合に限って）最小限の変更をＦ２×ｉおよびＦ２×ｉ＋１に施す。
【００５３】
このアルゴリズムは、２つのフレームの複数の属性値の間に関係を挿入することによって、フレーム当たり複数のビットを埋め込むように拡張することができる。
【００５４】
透かし検出のため、
ａ）記録されたビデオを時間領域で同期させる。これは、同期ビット、ノンブラインド方式、またはセミブラインド方式を使用して行うことができる。
ｂ）レベルＬにおけるＮ個の係数からなる領域を選択する。埋め込みと同様に、領域は固定形状を取ることができる。
ｃ）領域のための関連する大域的属性を計算する。Ｐ’は領域の大域的属性の値である。
ｄ）Ｐ’（Ｆ２×ｉ＋１）＞Ｐ’（Ｆ２×ｉ）ならば、ビット０が検出される。
ｅ）Ｐ’（Ｆ２×ｉ＋１）＜Ｐ’（Ｆ２×ｉ）ならば、ビット１が検出される。
【００５５】
本発明の透かし挿入は、３つのステップ、すなわち、ペイロード生成と、係数選択と、係数変更とに分けられる。３つのステップは、本発明の例示的な実施形態として、以下で詳細に説明される。これらのステップの各々について多くの変形が可能であり、ステップおよび説明は限定的であることを意図していないことに留意されたい。
【００５６】
ここで図２を参照すると、図２は、透かし挿入のうちのペイロード生成ステップを示すフローチャートであり、ステップ２０５で、秘密鍵が取り出され、または受け取られる。ステップ２１０で、タイムスタンプと装置のロケーションまたはシリアル番号を識別する番号とを含む情報が取り出され、または受け取られる。ステップ２１５で、ペイロードが生成される。ディジタル・シネマ・アプリケーション用のペイロードは、最小で３５ビットであり、本発明の好ましい一実施形態では６４ビットである。その後、ステップ２２０で、ペイロードは、例えばＢＣＨ符号を使用して、誤り訂正および検出のために符号化される。ステップ２２５で、符号化ペイロードは随意に反復される。その後、随意的にステップ２３０で、同期ビットが鍵に基づいて生成される。同期ビットは、ブラインド検出を使用する場合に、生成され、使用される。同期ビットは、セミブラインドおよびノンブラインド検出方式を使用する場合も、生成され、使用されてよい。同期ビットが生成された場合、ステップ２３５で、同期ビットは系列に組み立てられる。ステップ２４０で、系列はペイロードに挿入され、ステップ２４５で、ペイロード全体が暗号化される。
【００５７】
ペイロード生成は、埋め込まれる具体的な情報を、「ペイロード（ｐａｙｌｏａｄ）」と呼ぶビット系列に変換することを含む。その後、埋め込まれるペイロードは、誤り訂正および検出機能、同期系列、暗号、ならびに利用可能な空き領域に応じた可能な反復を通して拡張される。ペイロード生成のための操作の例示的なシーケンスは、以下の通りである。
【００５８】
１．埋め込まれる「情報」を「オリジナル・ペイロード」に変換する。情報（タイムスタンプ、プロジェクタＩＤなど）をペイロードに変換する。一例は、ディジタル・シネマ・アプリケーション用の３５ビット・ペイロードの生成に関して上で与えられた。本発明の例示的な一実施形態では、ペイロードは６４ビットである。オリジナル・ペイロードから「符号化」ペイロードを計算し、符号化ペイロードは、誤り訂正および検出機能を含む。様々な誤り訂正符号／方法／方式が使用できる。例えば、ＢＣＨ符号化である。ＢＣＨ符号（６４、１２７）は、受信ビット・ストリーム内の誤りを１０個まで訂正することができる（すなわち、約７．８７％の誤り訂正率）。しかし、符号化ペイロードが何回も繰り返される場合、冗長性のおかげで、より多くの誤りが訂正できる。本発明の例示的な一実施形態では、１２７ビットの繰り返し符号化ペイロードが１２回繰り返される場合、各フレームに埋め込まれる個々のビットの誤りの３０％までを訂正することが可能である。
【００５９】
２．利用可能な空き領域に応じて、符号化ペイロードを反復して、「反復符号化ペイロード」を獲得する。本発明では、符号化ビットの各々を１２回反復して、全体で１２７（ＢＣＨ符号化）×１２＝１５２４ビットを得る。
【００６０】
３．鍵を使用して、反復符号化ペイロードを暗号化して、「暗号化ペイロード」を獲得し、暗号化ペイロードは一般に、反復符号化ペイロードと同じサイズである。
【００６１】
４．（随意的に、暗号化に先立って）同期ビットを生成し、反復符号化ペイロード内の様々な場所に挿入し、結果の系列がビデオ透かしペイロードになる。例えば、２８６８ビットの固定の同期系列を計算する。この系列は、（透かしチップのヘッダとして）１個の９９６ビットの大域的同期ユニットと、（各ペイロードのヘッダとして）１２個の１５６ビットの局所的同期ユニットとに分割される。この例では、多数のビットが、同期ビットとして使用される。検出器で（テスト・コンテンツを時間的に同期させるためにオリジナル・コンテンツが使用される）ノンブラインド方法を使用するならば、同期ビットの量を著しく減少させることが可能であるが、局所的に位置合わせを調整するために、同期ビットは依然として非常に有用である。言い換えると、同期ビットは、それとは別に情報のさらなる冗長化のために使用でき、それによって、個々のビット誤りに対する堅牢性を高めることができた空き領域を利用する。しかし、同期ビットは、抽出される情報の精度および品質を高め、そのことが、個々のビット誤りをより少なくする。従って、挿入される同期ビットの数は、１２７個の符号化ビット内で誤りの数を最小にする最善の歩み寄りとして設定される。
【００６２】
５．以下のビットを順番に連結することによって、透かしチップを組み立てる。
・大域的同期（９９６ビット）同期ユニット。
・第１の１２７ビットの暗号化ペイロード、その次に、第１の局所的同期ユニット（１５６ビット）。
・第２の１２７ビットの暗号化ペイロード、その次に、第２の局所的同期ユニット（１５６ビット）。
・．．．
・最後の１２７ビットの暗号化ペイロード、その次に、最後の局所的同期ユニット（１５６ビット）。
【００６３】
透かしチップ（例えば、４３２９ビット）は一般に、オリジナル・ペイロード（例えば、６４ビット）よりも数桁オーダが大きい。このことが、雑音の多いチャネル上での伝送中に生じる誤りからの回復を可能にする。
【００６４】
ここで図３を参照すると、図３は、透かし挿入のための係数の選択を示すフローチャートであり、ステップ３０５で、鍵が取り出され、または受け取られる。ステップ３１０で、（符号化、反復化、同期化、および暗号化された）ペイロードが取り出される。その後、ステップ３１５で、鍵に基づいて、係数が互いに素の集合に分割される。ステップ３２０で、ペイロード・ビットおよび鍵に基づいて、属性値の間の制約が決定される。
【００６５】
係数の選択は、ベースバンド領域または変換領域において行うことができる。変換領域における係数が選択され、２つの互いに素の集合Ｃ１およびＣ２にグループ化される。係数選択をランダム化するために、鍵が使用される。２つの集合の各々についての属性値Ｐ（Ｃ１）およびＰ（Ｃ２）が、Ｃ１およびＣ２に関して一般にインバリアントとなるように識別される。例えば、平均値（例えば輝度）、最大値、およびエントロピなど、様々なそのような属性が識別できる。
【００６６】
Ｃ１およびＣ２の属性値の間の関係、例えば、Ｐ（Ｃ１）＞Ｐ（Ｃ２）を確立するために、鍵および挿入されるビットが使用される。これは、制約決定と呼ばれる。さらなる堅牢性のため、Ｐ（Ｃ１）＞Ｐ（Ｃ２）＋ｒとなるように、正の値「ｒ」が使用できる。関係がすでに存在することもあり、その場合は、係数は変更される必要がない。最悪の場合、例えば、ｔが所定の値か、または知覚モデルに従って決定されるとし、Ｐ（Ｃ２）がすでにＰ（Ｃ１）＋ｔよりも大きい場合など、Ｐ（Ｃ２）がＰ（Ｃ１）よりも著しく大きいことがあり、その場合、知覚的損傷が導入されるので、係数を変更しても無駄である。しかし、ほとんどの場合、Ｐ’１＞Ｐ’２＋ｒとなるように、Ｐ（Ｃ１）はＰ’１＝Ｐ（Ｃ１）＋ｐ１とし、Ｐ（Ｃ２）はＰ’２＝Ｐ（Ｃ２）−ｐ２とする（ｐ１およびｐ２は正の数）。
【００６７】
ここで図４を参照すると、図４は、透かし挿入のための係数変更ステップを示すフローチャートであり、ステップ４０５で、互いに素の係数集合が受け取られ、または取り出される。ステップ４１０で、互いに素の係数集合の属性値が測定される。ステップ４１５で、堅牢性の尺度となる属性値の間の距離を決定するために、属性値がテストされる。属性値が閾値距離ｔの範囲内にある場合、係数変更は必要でないので、プロセスはステップ４２０に進む。属性値が閾値距離ｔよりも大きい場合、係数変更を実行するために許容された一定の最大距離内に属性値があるかどうかを決定するため、ステップ４２５で、さらなるテストが実行される。属性値が最大距離内にある場合、ステップ４３５で、制約関係を満たすように係数が変更される。属性値が最大距離内にない場合、ステップ４３０によって規定されるように、係数は変更されない。
【００６８】
本発明の透かし挿入方法は、ビット値が正しく検出されることを保証しながらも、コンテンツに施す変更は最小限のものなので、オリジナル・コンテンツに対して「適応的」である。スペクトル拡散透かし挿入方法も、オリジナル・コンテンツに対して適応的とすることができるが、方法は異なる。スペクトル拡散透かし挿入方法は、変更が知覚可能な損傷をもたらさないように変更を加減するため、オリジナル・コンテンツを考慮する。これは、本発明の方法と概念的に異なっており、本発明は、変更が知覚可能なためではなく、所望の関係がすでに存在するため、またはコンテンツを著しく劣化させることなく、所望の関係が設定できないため、コンテンツのあるエリアにはどのような変更もまったく挿入しないことを決定することがある。しかし、上で見たように、本発明の方法は、ビットが正しく復号されることと、知覚可能な損傷を最小化することとを共に保証するために、適応的にすることができる。
【００６９】
本発明の方法は、ビットが堅牢に埋め込まれることを保証するように最小限の量の歪みしか導入せず、歪みがあまりにも深刻な場合は断念するため、歪みおよびビット・レートが同じならば、スペクトル拡散方法よりも高い堅牢性をもたらす。
【００７０】
ベースバンド領域では、本発明の一実施形態は、各フレーム内のピクセルを、上部パートと下部パートに分類する。上部／下部パートの輝度は、埋め込まれるビットに応じて、増加または減少する。各フレームは、空間領域において、中央点から４つの長方形に分割される。フレームの４つの長方形への分割は、フレーム当たり最大４ビットの記憶を可能にする。方法は、
・ピクセル値をフレームの上部パートとフレームの下部パートにグループ化して、２つの係数集合Ｃ１およびＣ２を形成する。
・輝度を測定し、すなわち、Ｐ（Ｃ１）はＣ１内のすべての係数の平均値であり、Ｃ２についても同様である。
・例えば、一般にｒを正の値とし、Ｐ（Ｃ１）＞Ｐ（Ｃ２）＋ｒなどの制約を設定するために、必要な場合に限って、ピクセル値に最小限の変更を施す。
【００７１】
本発明のこの実施形態では、透かし埋め込みモジュールは、画像のウェーブレット変換の最も低い解像度の係数だけにアクセスする。ピクセル・サイズが２０４８（幅）×８５６（高さ）ピクセルのビデオ・フレームの場合、解像度レベル５の各サブバンド（すなわち、ＬＬ、ＬＨ、ＨＬ、ＨＨ）毎に、６４×２８＝１７２８個、すなわち１７２８×４＝６９１２個の係数が存在する。これらの係数、またはこれらの係数の部分集合だけが、ビデオ透かし埋め込みのために使用される。フレーム内で選択された係数のグループを使用する、２つの非限定的な方法が、以下で説明される。
【００７２】
第１の方法では、ＬＬ係数（近似係数とも呼ばれる）だけが、ビデオ透かし埋め込みのために使用される。ＬＬ係数行列（６４×２８）は、中央点から４つのタイル／パートに分割される。その各々が、３２×１４のＣ１、Ｃ２、Ｃ３、およびＣ４である。ある関係が満たされるように各パートの係数を増加／減少させることによって、ある関係が、埋め込まれるビットおよび鍵に応じて、４つの各パートＬＬａ（上左領域）、ＬＬｂ（上右）、ＬＬｃ（下右）、およびＬＬｄ（下左）の係数の間に生成される。４つの長方形タイル／パートの各々は、３つのカラー・チャネルの各々について、２８６個から１７２８個までの係数をもつことができる。領域ＬＬａとＬＬｄの間の移行部において透かしを平滑化（し、その可視性を制限）するため、移行領域は、透かしを施さないでおくことができ、またはより低い強度で透かしを施すことができる。
【００７３】
制約の一例は、Ｐ（Ｃ１）＋Ｐ（Ｃ２）＞Ｐ（Ｃ３）＋Ｐ（Ｃ４）である。平均輝度などの線形属性の場合、この式は、４個の代わりに２個の領域だけが存在する、Ｐ（Ｃ１とＣ２の和集合）＞Ｐ（Ｃ３とＣ４の和集合）と書くことができるが、すべての係数の最大値などの非線形属性の場合、一般にこれは成り立たないことに留意されたい。埋め込まれるビットと使用される鍵に応じて、いくつかの異なる可能な制約が存在する。
【００７４】
係数を４つのタイルに分割する１つの利点は、制約の導入を可能にすることに加え、それが非常に低い空間周波数の使用も可能にすることである。上で説明したように、これらの周波数は、幾何学的攻撃に対して堅牢でありながら、フレームの大域的属性だけを考慮する方法よりも、より多くのビットを記憶することを可能にする。
【００７５】
第２の方法では、係数ＬＨおよびＨＬが、ビデオ透かし埋め込みのために使用される。制約を挿入するためにこれらの係数を操作する様々な方法がある。最も低いレベルの解像度における係数ＬＨおよびＨＬの間に制約を挿入することによって、ビットが埋め込まれる。例えば、制約は、フレームｆ内のすべてのｘ、ｙについて、係数がＬＨ（ｘ，ｙ，ｆ）＞ＨＬ（ｘ，ｙ，ｆ）であることとすることができる。そのような制約は、実際に文字通りに適用するにはしばしば強すぎるので、係数は、関係が全体として当てはまるように操作することができる。例えば、
Ｓｕｍ（ｘ，ｙ）ＬＨ（ｘ，ｙ，ｆ）＞Ｓｕｍ（ｘ，ｙ）ＨＬ（ｘ，ｙ，ｆ）
または
Ｓｕｍ（ｘ，ｙ）（ＬＨ（ｘ，ｙ，ｆ）＞ＨＬ（ｘ，ｙ，ｆ））
のようにすることができる。
【００７６】
第２の関係は線形でなく、より精細な粒度を可能にするが、係数の挿入をより複雑にすることに留意されたい。これは、変更により敏感なエリアは、変更されるにしても大きく変更されないように、係数に対する変更を配分することを可能にする。
【００７７】
この方法では、ピクセル値を変更する代わりに、相対的に少数の係数（６４×２８個のＬＬ係数）が、フレームの輝度を変えるために変更されることに留意されたい。これは、透かし埋め込みにとって、特に限られた計算用リソースしかもたず、コスト対効果の優れたリアルタイム透かし挿入機能を必要とするアプリケーションにおいて、大きな利点となる。
【００７８】
１つのフレーム内の係数だけを使用できる、または連続フレーム内の係数を使用できる係数集合、測定される属性、強制される関係のタイプなどに応じて、いくつかのさらなる方法が考えられる。一般に、最も実用的な方法は、属性値の順序がコンテンツに対する変更後も概して保存されるという意味で、ほぼインバリアントな属性を有する係数集合を使用する。
【００７９】
係数変更に関して、一実施形態の本発明は、２つの係数集合Ｃ１＝｛ｃ１１，．．，ｃ１Ｎ｝およびＣ２＝｛ｃ２１，．．，ｃ２Ｎ｝を使用し、それらの値を変更する。係数ｃｉｊの値は、変更の前および後で、それぞれｖ（ｃｉｊ）およびｖ’（ｃｉｊ）と表される。
【００８０】
上で説明したように、より複雑な関係のために、３つ以上の係数集合が使用できる。ただ１つの係数集合を使用することも可能である。一般性を失うことなく、ｒを関係の堅牢性を調整する任意の値として、Ｐ（Ｃ１）＞Ｐ（Ｃ２）＋ｒという関係を設定することが望ましい。
【００８１】
関数Ｐが例えば最大値である場合、変更を最小限に抑えるため、以下のように、Ｃ１およびＣ２の最も強い係数だけを操作する。
・ｃ１ｉ＝ｍａｘ｛ｃ１１，．．，ｃ１Ｎ｝の場合、ｖ’（ｃ１ｉ）＝ｖ（ｃ１ｉ）＋ａ１、それ以外の場合、ｖ’（ｃ１ｉ）＝ｖ（ｃ１ｉ）
・ｃ２ｊ＝ｍａｘ｛ｃ２１，．．，ｃ２Ｎ｝の場合、ｖ’（ｃ２ｊ）＝ｖ（ｃ２ｊ）＋ａ２、それ以外の場合、ｖ’（ｃ２ｊ）＝ｖ（ｃ２ｊ）
・ａ１およびａ２は、ｖ’（ｃ１ｉ）＞ｖ’（ｃ２ｊ）＋ｒとなるようなものを用いる。
【００８２】
上記の関数Ｐは、強く非線形であり、すなわち、属性は、係数値の関数として平滑に変化しない。この方法は、（変化が強くなければならなくても）集合当たりただ１つの係数を変更することによって、ビットの埋め込みを可能にするので有利である。
【００８３】
方法をより堅牢なものにできるこの「最大値」方法の拡張は、コンテンツに対する操作後に関係が正しく復号される可能性を最大化するため、最大値ばかりでなく、Ｎ個（Ｎは一般に係数集合のサイズよりも著しく小さい）の最強値も変化させる。この技法に対するその他のいくつかの変形が可能であることは理解されよう。
【００８４】
他方、関数Ｐが係数の属性に関して線形である場合（例えば平均値）、変更は、各集合内のすべての係数に恣意的に配分することができる。例えば、関係を設定するため、係数の平均値を
ａｖｇ｛ｖ’（ｃ１１），．．，ｖ’（ｃ１Ｎ）｝＞ａｖｇ｛ｖ’（ｃ２１），．．，ｖ’（ｃ２Ｎ）｝＋ｒ
となるように変更することが望ましいと仮定し、変更が各係数に等しく配分できるならば（Ｃ１に属する係数については正の数、Ｃ２に属する係数については負の数）、
ｖ’（ｃ１ｉ）＝ｖ（ｃ１ｉ）＋（ｒ＋ａｖｇ｛ｖ（ｃ２１），．．，ｖ（ｃ２Ｎ）｝−ａｖｇ｛ｖ（ｃ１１），．．，ｖ（ｃ１Ｎ）｝）／Ｎ
となり、ｃ２ｊについても同様である。関係がすでに成り立っている場合、（ｒ＋ａｖｇ｛ｖ（ｃ２１），．．，ｖ（ｃ２Ｎ）｝−ａｖｇ｛ｖ（ｃ１１），．．，ｖ（ｃ１Ｎ）｝）＜０であり、その場合、係数は変更する必要がない。
【００８５】
上で説明したように、基本方法は、異なる属性を使用することによって、より多くの関係を含むように拡張することができる。例えば、「最大値」および「平均値」方法を一緒にして、２つの集合の間に関係の４つの組み合わせをもち、２ビットを符号化することを可能にすることを考える。その場合、以下の関係が強制される。
ｍａｘ（Ｃ１）＞ｍａｘ（Ｃ２）およびａｖｇ（Ｃ１）＜ａｖｇ（Ｃ２）
【００８６】
また、上で説明したように、ただ１つの係数集合を使用しなければならない場合、関係は、固定または所定の値に対して設定される。例えば、関係は、Ｃ１の最大値または平均値が一定の値より大きくなるように強制される。別の場合では、「最大値」または「平均値」のどちらを強制するかを、鍵に応じて擬似ランダムに選択するため、鍵が使用され、鍵はアルゴリズムのセキュリティを著しく高める。
【００８７】
上述の手法は、マスキング（知覚的）モデルを含むことができ、マスキング・モデルは、画像の各領域内の透かしの強度を分散させることを可能にし、透かしの知覚的影響を最小限に抑える。そのようなモデルは、知覚的損傷を伴わずに関係を強制するための操作が可能であるかどうかも決定することができる。以下では、ディジタル・シネマ・プロジェクタにおけるリアルタイム透かし挿入の文脈で、ビデオ・コンテンツ用のマスキング・モデルを組み込むための非限定的な方法について説明する。
【００８８】
画像に対する２つの主要なマスキング効果、すなわち、テクスチャ・マスキングおよび明るさマスキングが存在する。さらに、ビデオは、第３のマスキング効果、すなわち、時間的マスキングからも利益を得る。
【００８９】
計算用リソースが限られているが、リアルタイム透かし挿入を必要とするディジタル・シネマなどのいくつかのアプリケーションでは、例えば解像度レベル５など、最も低い解像度レベルのＬＬ、ＬＨ、ＨＬ、およびＨＨサブバンド係数だけを利用することが望ましい。係数の最後の３つのタイプは、テクスチャの潜在的指標であり、ＬＬは明るさの指標である。しかし、対応する解像度は低く、この解像度では、テクスチャ・マスキング効果は大きくない。これを説明するため、フル解像度のビデオ・フレームと解像度レベル５の係数から再構成された同じビデオ・フレームを比較する。図５を参照されたい。この解像度ではテクスチャの大部分は失われているように見える。従って、レベル５のＬＨ、ＨＬ、およびＨＨサブバンド係数は、テクスチャの貧弱な指標であり、テクスチャ・マスキングを測定するために使用されない。
【００９０】
しかし、動きは一般に、ビデオのかなり大きな、従って低周波数のエリアに割り当てられるので、時間的マスキングは、かなり良い精度で推定することができる。時間的マスキングは、現在のフレームの係数から直前のフレームの係数を減算することによって測定することができる。Ｃ（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）は、フレームｆ、チャネル（すなわちカラー成分）ｃ、解像度レベルｌ、サブバンドｂ（係数ＬＬ、ＬＨ、ＨＬ、ＨＨに対してｂ＝０から３）、位置ｘ、ｙの係数を表す。従って、２つの連続フレーム上の同じタイプの係数の間の差の絶対値の総和は、時間的変化の有効な尺度である。
Ｔ（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）＝ａｖｇ（ｃ＝１．．．．３）ｓｕｍ（ｂ＝０．．３）（ａｂｓ（Ｃ（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）−Ｃ（ｆ−１，ｃ，ｌ，ｂ，ｘ，ｙ））
【００９１】
与えられたフレームｆ、解像度レベルｌ＝５に対して、Ｔ（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）が、すべての位置（ｘ，ｙ）、各カラー・チャネル（典型的には３つのカラー・チャネル／成分が存在する）について測定される。複数のチャネルが存在する場合、すべてのチャネルにわたるＴ（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）の平均値を取ると有利である。その後、各位置（ｘ，ｙ）毎に、Ｔ（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）の値が閾値ｔと比較され、その値がｔよりも大きい場合、この位置における係数が変更される。実験的に、ｔとして良好な値は３０である。係数が変更される場合、変更量は、従来技術で知られているように、輝度の関数とすることができる。
【００９２】
図６は、Ｄシネマ・サーバ（メディア・ブロック）における透かし挿入のブロック図である。メディア・ブロック６００は、少なくとも透かし生成および透かし埋め込みを含む透かし挿入を実行するために、ハードウェア、ソフトウェア、ファームウェアなどとして実装されるモジュールを有する。モジュール６０５は、ペイロード生成を含む透かし生成を実行する。その後、符号化透かし６１０は、透かし埋め込みモジュール６１５に転送され、モジュール６１５は、Ｊ２Ｋ復号器６２５から画像の係数を受け取り、ウェーブレット係数６２０を選択および変更し、最終的に変更された係数をＪ２Ｋ復号器６２５に返す。
【００９３】
上で説明したように、透かし生成モジュールは、ペイロードを生成し、ペイロードは、直接埋め込まれるビット系列である。透かし埋め込みモジュールは、入力としてペイロードを取得し、Ｊ２Ｋ復号器から画像のウェーブレット係数を受け取り、係数を選択および変更し、最終的に変更された係数をＪ２Ｋ復号器に返す。Ｊ２Ｋ復号器は、Ｊ２Ｋ画像の復号を続け、伸張された画像を出力する。代替設計として、透かし生成モジュールおよび／または透かし埋め込みモジュールは、Ｊ２Ｋ復号器に統合することができる。
【００９４】
透かし生成モジュールは、ペイロード内のタイムスタンプを更新するために、定期的（例えば５分毎）に呼び出すことができる。従って、それは「オフライン」と呼ぶことができ、すなわち、透かしペイロードは、Ｄシネマ・サーバにおいて事前に生成しておくことができる。何れにしても、その計算要件は相対的に低い。しかし、透かし埋め込みは、リアルタイムで実行されなければならず、そのパフォーマンスはきわめて重要である。
【００９５】
ビデオ透かし埋め込みは、オリジナル・コンテンツが考慮される仕方について様々なレベルの複雑さで実行することができる。より複雑であることは、与えられた忠実度レベルでのさらなる堅牢性、または同じ堅牢性レベルでのさらなる忠実度を意味する。しかし、それは、計算量に関してさらなるコストを伴う。
【００９６】
ビデオ透かし埋め込みのために必要とされる演算の数を推定する前に、以下の基本的コンピュータ・ステップのどれもが、１つの演算と見なされることに留意されたい。
・係数のビット・シフト
・２つの係数の加算または減算
・２つの整数の乗算
・２つの係数の比較
・検索表内の値へのアクセス
【００９７】
以下の例では、Ｃ（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）およびＣ’（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）は、それぞれ、フレームｆ、カラー・チャネルｃ、ウェーブレット変換レベルｌ、周波数帯ｂ（０：ＬＬ、１：ＬＨ、２：ＨＬ、３：ＨＨ）、位置ｘ（幅）、ｙ（高さ）における、オリジナル係数および透かし挿入済係数である。さらに、Ｎは、変更される必要がある、最も低い解像度レベルにおける係数の数であると仮定する。
【００９８】
簡潔にするため、以下では、ビデオ透かし埋め込み処理中、係数値は増加すると仮定する。しかし、式中、加算は減算によって等価的に置き換えられることに留意されたい。
【００９９】
各係数が同量だけ変更される場合、その結果、係数当たりただ１つの演算が存在し、
Ｃ’（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）＝Ｃ（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）＋ａ
ここで、値ａは定数である。変更された係数のオーバーフローをチェックするために、さらに１つの比較演算が必要とされてよい。従って、総計算要件は、２×Ｎである。
【０１００】
しかし、上記のものは、効果的な方法ではない。実際、定数値ａがあまりにも大きい場合、透かしは可視となる。従って、値ａは、小さめの値でなければならず、すなわち、透かしが可視的アーチファクトを決して生じさせないだけ十分に小さくなければならないが、他方、ビデオ透かしがあまりにも小さめな場合、深刻な攻撃に耐えることができない。ＬＬサブバンド係数は、局所的輝度に対応し、ＬＨ、ＨＬ、およびＨＨ係数は、画像変化または「エネルギー」に対応する。人間の目は、明るいエリア（より強いＬＬ係数）における輝度の変化にはあまり敏感でないことがよく知られている。人間の目は、変化の方向に応じて係数ＬＨ、ＨＬ、およびＨＨに依存する強い変化を有するエリア内の変化にもあまり敏感でない。しかし、これは慎重に考えるべきであり、ＬＨおよびＨＬ係数は、注意深く操作しなければならないエッジなどの知覚的に重要な変化に対応する。
【０１０１】
それにも関わらず、少なくとも係数ＬＬおよびＨＨについては、係数に比例する変更を行うのが有利である。単純な比例的変更は、オリジナル係数をコピーし、コピーした係数をビット・シフトし、ビット・シフトした係数を加算または減算することなどによって行うことができる。
Ｃ’（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）＝Ｃ（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）＋ｂｉｔｓｈｉｆｔ（Ｃ，ｎ）
【０１０２】
ｎの典型的な値は、７または８である。ｎ＝７または８である場合、係数は、オリジナル振幅の１／１２８または１／２５６だけ変更される。例えば、０から２５５までのスケール上で１２８の平均輝度を有する画像の場合、係数変更の影響は、１の輝度変化である。そのような変化は一般に、可視的アーチファクトを生成しない。
【０１０３】
係数当たり２つの演算が存在する。可能なオーバーフロー・チェックを伴う場合、総計算要件は、３×Ｎであり、Ｎは操作される係数の数である。
【０１０４】
非常に低い輝度を有するフレームの場合、透かしが十分に強く埋め込まれることを確実にするため、最小変化ａを課すことが可能であることも留意されたい。この場合、Ｃ’（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）＝Ｃ（ｆ，ｃ，ｌ，ｂ，ｘ，ｙ）＋ｍａｘ（ｂｉｔｓｈｉｆｔ（Ｃ，ｎ），ａ）となり、係数当たり３つの演算が存在する
【０１０５】
加えて、係数に適応的変更を施すため、以下の知覚的特徴が使用できる。
・時間コンテキスト。時間的マスキングは、先行、現在、および後続フレーム内の係数を使用することによって最もよく推定される、時間的アクティビティに関係する。本発明は、時間的アクティビティを測定するため、先行および現在フレームの係数だけを使用する。高い時間的アクティビティは、より強い透かしを可能にする。時間的モデリングのための推定計算量は約４である。
・テクスチャ・コンテキスト。各係数Ｃ（ｆ，ｃ，ｂ，ｌ，ｘ，ｙ）毎に、テクスチャおよびフラットネスをモデル化するために、その他のサブバンド内のさらなるＫ個の対応する係数が使用でき、推定計算量は４Ｋ２回の演算である。
・輝度コンテキスト。係数Ｃ（ｆ，ｃ，ｂ，ｌ，ｘ，ｙ）における輝度に従って重みを決定するために、検索表が使用できる。推定演算はＢであり、Ｂは輝度値を表すビットの数である。
【０１０６】
すべての知覚的特徴は、係数の変更を決定するために、加重化および均等化を施すことができ、
Ｃ（ｆ，ｃ，ｂ，ｌ，ｘ，ｙ）’＝Ｃ（ｆ，ｃ，ｂ，ｌ，ｘ，ｙ）×（１＋Ｗ）
ここで、Ｗはすべての知覚的特徴を組み合わせた重みである。
【０１０７】
透かし埋め込みの複雑さの粗い推定は、便宜上、上で説明したような演算の回数に換算して推定される。演算の回数は、演算が定義される正確な方法、実装される透かし挿入、およびマスキング手続きなどに従って変化することに留意されたい。それにも関わらず、本発明の方法によってアクセスする必要のある相対的に少数の係数（画像サイズの１／１０００のオーダ）と、係数当たり相対的に少数の演算を与えた場合、本発明の方法は堅牢であり、計算的に実現可能であると結論付けることができる。
【０１０８】
ここで図７を参照すると、透かし検出は、全体として４つのステップ、すなわち、ビデオ準備７０５と、属性値の抽出および計算７１０と、ビット値の検出７１５と、埋め込み（透かし）情報の復号７２０とからなる。７２５で、透かし情報が正常に復号されたかどうかを決定するテストが実行される。透かし情報が正常に復号された場合、プロセスは完了する。透かし情報が正常に復号されなかった場合、上記のプロセスが繰り返される。
【０１０９】
ビデオ準備自体は、ビデオ・コンテンツのスケーリングまたはリサンプリングと、ビデオ・コンテンツの同期化と、フィルタリングとを含む。
・埋め込みと検出とでフレーム・レートが異なる場合、変形（歪み）ビデオのリサンプリングを行わなければならないことがある。埋め込みのフレーム・レートが２４であり、検出においては、例えば、２５（ＰＡＬ  ＳＥＣＡＭ）または２９．９７（ＮＴＳＣ）である場合など、こうしたことはしばしばある。リサンプリングは、線形補間を使用して実行される。出力はリサンプリング・ビデオである。
・カバー・コンテンツに起因する雑音を低減し、透かしを強調するため、典型的にはハイパス時間フィルタを用いて、リサンプリング・ビデオをフィルタリングする。出力はフィルタリング・ビデオである。
・フィルタリング・ビデオの同期化は、オリジナル・コンテンツを用いる上で説明した様々な方法を使用して、または同期ビットがビデオ・コンテンツに埋め込まれている場合は同期ビットを用いた相互相関によって、行うことができる。一般に、非常に低い空間周波数が使用される場合、時間的位置合わせだけが、行われなければならない。大域的同期ユニットは、随意的に局所的同期ユニットと一緒に組み合わされて、透かし系列の開始点を決定するために使用される。フィルタリング・ビデオと既知の同期ビットの間で、相互相関が実行される。一般に、ビデオの一致するシフトに対して、相互相関関数内に強いピークが存在する。ここで図８を参照すると、８０５において、局所的同期プロセスは、次の局所的同期系列／ユニットを取り出す。８１０において、次の透かしチップに対応するビデオ部分が取り出される。８１５において、ビデオ部分と局所的同期系列／ユニットの相互相関が取られる。８２０において、相互相関属性値Ｐ１のピーク値が見出され、８２５において、属性値Ｐ２のピーク値が見出される。８３０において、属性値Ｐ１が属性値Ｐ２プラス所定の値より大きいか、それとも属性値Ｐ１が属性値Ｐ２プラス所定の値より小さいかを決定するために、テストが行われる。テスト結果が否定的である場合、８３５において、ビデオ部分は拒否される。テスト結果が肯定的である場合、８４０において、ビデオ部分は保持される。８４５において、ビデオの終わりに達したかどうかを決定するために、さらなるテストが行われる。ビデオの終わりに達した場合、局所的同期プロセスは完了する。ビデオの終わりに達していない場合、局所的同期プロセスが繰り返される。図９は、２つの連続する透かしチップの開始点を示す２つのピークをもつ、相互相関関数（実際には振幅のローパス・フィルタリング形）を示している。透かしチップの開始点が発見されると、各ペイロードの先頭に配置された局所的同期ユニットが、ビデオのわずかな再調整のために規則的な間隔で使用される。次に、１２個の局所的同期ユニットの各々が、予想位置の周囲の小さな窓の中で、フィルタリング・ビデオと相互相関させられる。（最も高いピークと２番目に高いピークの間の差によって測定される）比較的強い相関ピークが見出された場合、隣接するフィルタリング・ビデオは、次のステップのために保持され、それ以外の場合、廃棄される。理論的根拠は、より強い相関ピークはフィルタリング・ビデオがより正確に同期していることの指標となることである。このステップの出力は同期化ビデオである。
【０１１０】
ビデオ準備の３つのステップの出力は、以下では「処理済ビデオ」と呼ばれる。処理済ビデオは、透かし検出の次のステップである属性値の抽出／計算を容易にするように、受け取ったビデオから計算されたデータの集合である。
【０１１１】
先に説明した透かし埋め込みの一実施形態では、４つの象限の各々の平均輝度が、各フレーム毎に計算される。属性値は、フレーム数×４のベクトルを形成する。ＬＬサブバンド透かし挿入を使用するウェーブレット透かし埋め込みの場合、属性値は、受け取ったビデオのウェーブレットまたはベースバンド表現から抽出することができる。どちらの場合も、サイズがフレーム数×４の処理済ビデオが獲得される。上記の方式の両方で、フレームは、中央点から４つのパート／タイルに分割される。この中央点は、フレームの中心点に自動的に設定することができるが、オリジナル・ビデオ内にあるので、カムコーダ記録ビデオ内では、当然いくらかのオフセットを有する。
【０１１２】
ＬＨおよびＨＬサブバンドを使用するウェーブレット透かし埋め込みのための属性値の抽出および計算は、わずかに異なる動作を行う。ＬＨ係数の変更は、どのような攻撃も受けない前に少なくとも透かし挿入ビデオにおいて、正確に決定できる周波数でストライプ（ストライプはベースバンド・ビデオ内の等間隔の水平線である）を生成する。ストライプは、上で説明したようにマスキング・モデルを使用して透かしのエネルギーが調整される場合、可視とはならない。従って、（例えばフーリエ変換を使用して）その周波数においてエネルギーを測定することによって、変換ビデオを計算することができる。しかし、カムコーダ攻撃および後続のビデオのクロッピング中、関連周波数はシフトされ、そのエネルギーは近隣周波数上に拡散する。従って、すべてのフレームのエネルギー信号は、関連周波数の周囲の５×５の窓内に集められる。これら２５個の信号の各々は、同期ビット系列との相互相関のピークに関してテストされ、最も高いピークをもつ信号が、属性値として出力される。
【０１１３】
透かし検出フェーズにおいて、透かしがどのように埋め込まれているかに対応して、属性値が計算される。透かしは、
・連続するフレームの属性値、
・フレームの領域の１つの属性値と所定の値、
・フレームの１つの領域と同じフレームの別の領域の属性値、
・フレームの１つの領域と連続するフレームの対応する領域の属性値
の２つおよび／または３つ以上の間に、少なくとも以下の関係を強制することによって埋め込むことができる。
【０１１４】
属性値は係数値自体でもあることができるので、透かしは、
・ビデオ・ボリューム内の１つの係数値と所定の値、
・フレームの１つのサブバンド内の１つの係数値と連続するフレームの対応する位置およびサブバンドにあるその他の係数値、
・フレームの１つのサブバンド内の１つの係数値と同じフレームの別のサブバンドにある別の係数値
の２つおよび／または３つ以上の間に、少なくとも以下の関係を強制することによって埋め込むことができる。属性値は、ベースバンドおよび／または変換領域において計算することができる。透かし埋め込みと類似して、複数の属性値の２つおよび／または３つ以上の間の複数の関係から、複数のビットが検出できる。
【０１１５】
透かし検出の第１のステップと第２のステップは、順序に関して交換することができる。便宜上、可能ならば、属性値を最初に計算するほうが有利であり、それは、透かしがより容易に読み取れる形式に適合したデータのコンパクト化をもたらす（すなわち、各フレームの全画像データをフレーム当たり数個の値に低減する）からである。しかし、ビデオの深刻な歪み、特に幾何学的歪みのため、属性値の計算を最初に実行することが常に可能であるとは限らない。
【０１１６】
第３のステップは、入力として属性値を受け取り、１２７個の符号化ビットの各々について最も可能性の高いビット値を出力する。属性値は、符号化された１２７ビットの各々の複数の挿入に対応する。各ビットが１２の異なる位置に挿入される本発明の原理による一例では、最大で１２の挿入が行われるが、不良な局所的同期のために、あるペイロード・ユニットが廃棄された場合はより少ない。
【０１１７】
ここで図１０を参照すると、１００５において、次の符号化ビットのために、互いに素の係数集合が取り出される。１０１０において、互いに素の係数集合について、関連属性値が計算される。１０１５において、計算された属性値から、最も可能性の高いビット値が決定される。１０２０において、さらなる符号化ビットが存在するかどうかを決定するため、テストが実行される。さらなる符号化ビットが存在する場合、上記のプロセスが繰り返される。例示的な蓄積信号が、図１１に示されている。
【０１１８】
符号化ペイロードの各ビットは、拡張され、暗号化され、コンテンツ内の複数の位置に挿入される。拡張されたビットの各々について、上で説明したように、挿入は一般に、２つの係数集合Ｃ１およびＣ２の属性値の間に、例えば、Ｐ（Ｃ１）＞Ｐ（Ｃ２）などの制約を設定することによって行われる。Ｎ個のそのような拡張されたビット、従って、Ｎ個のそのような挿入される制約が存在すると仮定すると、
１≦ｉ≦Ｎである各ｉについて、Ｐ（Ｃ１ｉ）＞Ｐ（Ｃ２ｉ）ならば、ビット＝１、
１≦ｉ≦Ｎである各ｉについて、Ｐ（Ｃ１ｉ）＜Ｐ（Ｃ２ｉ）ならば、ビット＝０
である。
【０１１９】
一般に、チャネル雑音または関係確立の初期不可能性のため、すべての関係が、挿入ビットと一致するとは限らない。この問題を解決するための最も簡単な手法は、「多数決」を利用することである。すなわち、係数間の対応する関係が最も頻繁に観測されるビットを選択する。
Ｐ（Ｃ１ｉ）＜Ｐ（Ｃ２ｉ）（１≦ｉ≦Ｎ）である場合の数がＮ／２よりも多いならば、ビット＝１、
それ以外は、ビット＝０。
【０１２０】
この手法は、Ｎが偶数の場合と、ビット＝１およびビット＝０の関係の数が等しい場合は解決に役立たない。さらに、この手法は、Ｐ（Ｃ１）、Ｐ（Ｃ２）の情報、およびおそらくは関係を正しく決定する可能性を高めることができるその他の情報を十分に利用しない。より精細な手法は、属性値Ｐ（Ｃ１ｉ）およびＰ（Ｃ２ｉ）の観測値を与えられて、挿入ビット値が１である確率、０である確率をそれぞれ推定することからなる。個別に推定された確率は、確率的手法を使用して組み合わされ、最もありそうなビットが選択される最尤（ＭＬ）基準に基づいて決定が行われる。ネイマン−ピアソンの規則など、その他の基準も可能である。
【０１２１】
最もありそうなビットが選択されるＭＬ規則を使用する場合、決定は属性値だけに基づいている。その場合、ＭＬ規則は、
Ｐｒｏｂ（ｂｉｔ＝１；Ｐ（Ｃ１１），Ｐ（Ｃ２１），．．．，Ｐ（Ｃ１Ｎ），Ｐ（Ｃ２Ｎ））＞Ｐｒｏｂ（ｂｉｔ＝０；Ｐ（Ｃ１１），Ｐ（Ｃ２１），．．．，Ｐ（Ｃ１Ｎ），Ｐ（Ｃ２Ｎ））ならば、ビット＝１
と表される。ベイズの規則を使用し、各ビット値が等確率であると仮定すると、これは、
Ｐｒｏｂ（Ｐ（Ｃ１１），Ｐ（Ｃ２１），．．．，Ｐ（Ｃ１Ｎ），Ｐ（Ｃ２Ｎ）；ｂｉｔ＝１）＞Ｐｒｏｂ（Ｐ（Ｃ１１），Ｐ（Ｃ２１），．．．，Ｐ（Ｃ１Ｎ），Ｐ（Ｃ２Ｎ）；ｂｉｔ＝０）
と書き直すことができる。
【０１２２】
ビットはコンテンツ内の異なる擬似ランダム位置で拡張されるので、属性値は相対的に独立であると仮定することができる。すなわち、
ｉ＝１，．．，Ｎについて、Ｐｒｏｂ（Ｐ（Ｃ１ｉ），Ｐ（Ｃ２ｉ）；ｂｉｔ＝１）／Ｐｒｏｂ（Ｐ（Ｃ１ｉ），Ｐ（Ｃ２ｉ）；ｂｉｔ＝０）＞１
対数を取ると、
Ｓｕｍ  ｉ＝１，．．，Ｎ（ｌｏｇ（Ｐｒｏｂ（Ｐ（Ｃ１ｉ），Ｐ（Ｃ２ｉ）；ｂｉｔ＝１）−ｌｏｇ（Ｐｒｏｂ（Ｐ（Ｃ１ｉ），Ｐ（Ｃ２ｉ）；ｂｉｔ＝０）））＞０
【０１２３】
この式を実施するため、式Ｐｒｏｂ（Ｐ（Ｃ１ｉ），Ｐ（Ｃ２ｉ）；ｂｉｔ＝１）およびＰｒｏｂ（Ｐ（Ｃ１ｉ），Ｐ（Ｃ２ｉ）；ｂｉｔ＝０）を導く必要がある。これらの式は、チャネルの属性に依存する。一般的な技法は、この関数を推定するために十分なデータを収集することからなる。確率モデルについてのいくつかの事前知識または仮定（例えば、係数または雑音はガウス分布に従う）が使用できる。
【０１２４】
確率の対数がＰ（Ｃ１ｉ）とＰ（Ｃ２ｉ）の間の差に比例し、ビット１とビット０が対称的である、非常に特殊な場合を考えると、
Ｌｏｇ（ａ１×Ｐｒｏｂ（Ｐ（Ｃ１ｉ），Ｐ（Ｃ２ｉ）；ｂｉｔ＝１））＝ａ２×（Ｐ（Ｃ１ｉ）−Ｐ（Ｃ２ｉ））
Ｌｏｇ（ａ１×Ｐｒｏｂ（Ｐ（Ｃ１ｉ），Ｐ（Ｃ２ｉ）；ｂｉｔ＝０））＝−ａ２×（Ｐ（Ｃ１ｉ）−Ｐ（Ｃ２ｉ））
となる。その場合、規則は、
Ｓｕｍ  ｉ＝１，．．，Ｎ  ２×ａ２（（Ｐ（Ｃ１ｉ）−Ｐ（Ｃ２ｉ）））＞０
または
Ｓｕｍ  ｉ＝１，．．，Ｎ  Ｐ（Ｃ１ｉ）＞Ｓｕｍ  ｉ＝１，．．，Ｎ  Ｐ（Ｃ２ｉ）
となる。
【０１２５】
この特殊な場合について導かれた規則は、単純相関に対応し、同様にスペクトル拡散システムで使用されるものに対応する。しかし、一般に確率は差に対して対数的に変化しないので、この規則は準最適である。これは、本発明の方法がスペクトル拡散ベースの方法よりも汎用的且つ効果的に見える１つの理由である。
【０１２６】
実際に、制約が挿入される特殊な方法、すなわち、オリジナル・コンテンツ値に依存する特殊な方法のため、確率は一般に単調増加関数でないことが分かる。それを説明するため、それぞれ本発明の関係ベースの手法と従来のスペクトル拡散手法について、受け取った信号の観測値に基づいてビット値の推定が比較された、以下のシミュレーションが実行された。
【０１２７】
オリジナル・コンテンツのガウス雑音Ｘが生成された。バイナリ透かしＷが、［−１，＋１］内で値を取るこの信号に追加された。バイナリ透かしは、最初に制約ベースの概念に従って、以下のように追加された。
Ｘ＞ａ１ならば、Ｙ＝Ｘ
Ｘ＜ａ２ならば、Ｙ＝Ｘ
それ以外ならば、Ｙ１＝Ｘ＋ｒ×Ｗ
ａ１＝０．５、ａ２＝−０．５、ｒ＝０．３という値が選択された。これは−１５ｄＢのＰＳＮＲをもたらした。
【０１２８】
次に、スペクトル拡散透かしが、生成された信号に以下のように追加された。
Ｙ２＝Ｘ＋ａ×Ｗ
パラメータ「ａ」は、同じ−１５ｄＢのＰＳＮＲをもたらすように調整された。
【０１２９】
同じ雑音ベクトルＮが、２つの信号Ｙ１およびＹ２に追加されて、２つの受信信号Ｒ１＝Ｙ１＋ＮおよびＲ２＝Ｙ２＋Ｎを得た。雑音も、オリジナル・コンテンツに関して−１０ｄＢのＰＳＮＲを有した。２つの受信コンテンツＲ１およびＲ２について、受信信号値を与えた場合に埋め込みビットが「１」である確率が推定された。図１２に示されたグラフに結果がプロットされている。相違は予想通り顕著であり、スペクトル拡散埋め込みの場合、ビットが１である推定確率は、受信信号値と共に線形に増加している。しかし、本発明の関係ベースの手法の場合、推定確率は、最小を通過し、次に最大を通過する、非常に特殊な形状を有している。この形状は、以下のように説明することができる。
・カバー・コンテンツが高い値または低い値を有する場合、それは埋め込みのために使用されていない可能性が非常に高く、従って、受信信号がビットと無相関であるのは論理にかなっている。
・推定は−０．５および＋０．５において最も信頼性が高く、そこは透かしが埋め込まれた最小値／最大値である。
従って、本発明の方法が適切に機能するには、確率の正しい推定がきわめて重要であると結論付けることができる。
【０１３０】
最終ステップにおいて、符号化ペイロードの１２７個のビット値が推定されると、６４ビット・ペイロードは、ＢＣＨ復号器を使用して復号することができる。そのような符号を用いた場合、最大１０個までの誤りが、推定された符号化ペイロードから検出できる。上で説明したように、このペイロードは、ディジタル・シネマ・アプリケーションにおけるロケーション／プロジェクタ識別子およびタイムスタンプなど、フォレンシック追跡用の様々な情報を含む。この情報は、復号ペイロードから抽出され、発生した潜在的不正のフォレンシック追跡など、広範な使用を可能にする。
【０１３１】
最終ステップにおいて失敗した（すなわち、有効な透かし情報が復号されない）場合、透かし情報が正常に復号されるか、またはそのような試みの最大回数に達するまで、上記の４つのステップが、各ステップ毎に異なる戦略（例えば、第１のステップにおけるビデオの最適同期および位置合わせ）を用いて繰り返される。
【０１３２】
本発明は、例えばサーバまたはモバイル装置内で、ハードウェア（例えばＡＳＩＣチップ）、ソフトウェア、ファームウェア、専用プロセッサ、またはそれらの組み合わせなど、様々な形態で実装することができることを理解されたい。好ましくは、本発明は、ハードウェアとソフトウェアの組み合わせとして実装される。さらに、ソフトウェアは好ましくは、プログラム記憶装置上に有形に具現されたアプリケーション・プログラムとして実施される。アプリケーション・プログラムは、適切なアーキテクチャを備えるマシンにアップロードされ、マシンによって実行される。好ましくは、マシンは、１つまたは複数の中央処理装置（ＣＰＵ）、ランダム・アクセス・メモリ（ＲＡＭ）、および入力／出力（Ｉ／Ｏ）インタフェースなどのハードウェアを有するコンピュータ・プラットフォーム上で実施される。コンピュータ・プラットフォームは、オペレーティング・システムおよびマイクロ命令コードも含む。本明細書で説明した様々なプロセスおよび機能は、マイクロ命令コードの一部、またはオペレーティング・システムを介して実行されるアプリケーション・プログラムの一部（またはそれらの組み合わせ）であってよい。さらに、追加のデータ記憶装置およびプリンタ装置など、その他の様々な周辺装置が、コンピュータ・プラットフォームに接続できる。
【０１３３】
添付の図面に示された構成システム・コンポーネントおよび方法ステップのいくつかは、好ましくはソフトウェアで実施されるので、システム・コンポーネント（またはプロセス・ステップ）間の実際の接続は、本発明がプログラムされる仕方に応じて異なることをさらに理解されたい。本明細書の教示を与えることで、当業者であれば、本発明の上記および類似の実装または構成を企図することができよう。
【図面の簡単な説明】
【０１３４】
【図１】５レベル・ウェーブレット変換の１つの成分におけるビデオ表現の図である。
【図２】透かし挿入のうちのペイロード生成ステップを示すフローチャートである。
【図３】透かし挿入のうちの係数選択ステップを示すフローチャートである。
【図４】透かし挿入のうちの係数変更ステップを示すフローチャートである。
【図５】フル解像度のビデオ・フレームと解像度レベル５における係数から再構成されたビデオ・フレームとを示す図である。
【図６】Ｄシネマ・サーバ（メディア・ブロック）における透かし挿入のブロック図である。
【図７】ビデオ透かし検出を示すフローチャートである。
【図８】ビデオ透かし検出のための信号準備を示すフローチャートである。
【図９】相互相関関数を示す図である。
【図１０】ビデオ透かし検出におけるビット値の検出を示すフローチャートである。
【図１１】蓄積信号を示す図である。
【図１２】スペクトル拡散埋め込みと本発明の関係ベースの手法の推定確率を示す図である。
【図１】
2009508395.tif 000003
【図２】
2009508395.tif 000004
【図３】
2009508395.tif 000005
【図４】
2009508395.tif 000006
【図６】
2009508395.tif 000007
【図７】
2009508395.tif 000008
【図８】
2009508395.tif 000009
【図９】
2009508395.tif 000010
【図１０】
2009508395.tif 000011
【図１１】
2009508395.tif 000012
【図１２】
2009508395.tif 000013
【図５】
2009508395.tif 000014
【手続補正書】
【提出日】平成20年8月26日(2008.8.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオのボリューム内の選択された係数集合の属性値の間に関係を強制することによって透かしを埋め込むための方法であって、
ペイロードを生成するステップと、
係数集合を選択するステップと、
係数を変更するステップであって、前記変更された係数集合が前記選択された係数を置き換えるステップと、
鍵および前記ビデオのボリュームに挿入される前記ペイロードに基づいて、前記選択された係数集合の属性値の間に制約ベースの関係を確立するステップであって、前記選択された係数集合は互いに素であり、さらに前記制約ベースの関係は前記選択された互いに素の係数集合の前記属性値の間の不等式であるステップと、
前記透かしを前記ビデオのボリュームに埋め込むステップと、
値ｒを選択するステップと、
前記不等式関係を強制するために、前記値ｒを前記選択された互いに素の係数集合の前記属性値の１つに加算するステップと、
を含む、前記方法。
【請求項２】
属性が、ビデオのボリューム内の任意の部分の測定可能な特徴である、請求項１に記載の方法。
【請求項３】
前記属性値が、平均、最大値の決定、および最小値の決定のうちの１つによって計算される、請求項１に記載の方法。
【請求項４】
前記属性値の間に前記関係を強制するために、係数変更が、空間領域および変換領域のうちの一方で実行される、請求項１に記載の方法。
【請求項５】
前記ペイロードの１ビットが、少なくとも２つの前記選択された係数集合の属性値の２つまたは３つ以上の間に１つの関係を強制することによって埋め込まれる、請求項１に記載の方法。
【請求項６】
前記ペイロードの１ビットが、前記選択された係数集合の１つの前記属性値の１つと所定の値の間に１つの関係を強制することによって埋め込まれる、請求項１に記載の方法。
【請求項７】
前記ペイロードの複数のビットが、少なくとも２つの前記選択された係数集合の属性値の２つまたは３つ以上の間に複数の関係を強制することによって埋め込まれる、請求項１に記載の方法。
【請求項８】
前記ペイロードの複数のビットが、少なくとも２つの前記選択された係数集合の属性値の２つまたは３つ以上の間に複数の関係を強制することによって埋め込まれる、請求項１に記載の方法。
【請求項９】
前記不等式関係が成り立っている場合、前記選択された互いに素の係数集合の前記属性値の変更が実行されない、請求項１に記載の方法。
【請求項１０】
反対の不等式関係が存在し、前記選択された互いに素の係数集合の前記属性値の変更が、知覚的損傷を導入する場合、変更が実行されない、請求項１に記載の方法。
【請求項１１】
前記不等式関係を強制するために、前記選択された互いに素の係数集合の前記属性値が変更される、請求項１に記載の方法。
【請求項１２】
前記不等式関係を強制するために、前記選択された互いに素の係数集合の前記属性値が比例的に変更される、請求項１に記載の方法。
【請求項１３】
前記選択された互いに素の係数集合の前記１つの前記属性値の１つをコピーするステップと、
前記選択された互いに素の係数集合の前記１つの前記コピーされた属性値をビット・シフトするステップと、
前記選択された互いに素の係数集合の前記１つの前記ビット・シフトされたコピー属性値を前記選択された互いに素の係数集合の前記１つの前記属性値に加算するステップと、
をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記選択された互いに素の係数集合の前記属性値をコピーするステップと、
前記選択された互いに素の係数集合の前記コピーされた属性値をビット・シフトするステップと、
前記選択された互いに素の係数集合の前記ビット・シフトされたコピー属性値を前記選択された互いに素の係数集合の前記１つの対応する属性値に加算するステップと、
をさらに含む、請求項１２に記載の方法。
【請求項１５】
前記制約ベースの関係が、線形および非線形の一方である、請求項１に記載の方法。
【請求項１６】
前記制約ベースの関係が、前記互いに素の係数集合の前記属性値の平均値であり、第１の前記互いに素の係数集合の前記属性値がプラスの向きに変更され、第２の前記互いに素の係数集合の前記属性の前記値がマイナスの向きに変更される、請求項１に記載の方法。
【請求項１７】
前記制約ベースの関係が、時間的にマスクされる、請求項１に記載の方法。
【請求項１８】
前記係数が、最小限だけ変更される、請求項１に記載の方法。
【請求項１９】
ビデオのボリューム内の選択された係数集合の属性値の間に関係を強制することによって透かしを埋め込むためのシステムであって、
ペイロードを生成する手段と、
係数集合を選択する手段と、
係数を変更する手段であって、前記変更された係数集合が前記選択された係数を置き換える手段と、
鍵および前記ビデオのボリュームに挿入される前記ペイロードに基づいて、前記選択された係数集合の属性値の間に制約ベースの関係を確立する手段であって、前記選択された係数集合は互いに素であり、さらに前記制約ベースの関係は前記選択された互いに素の係数集合の前記属性値の間の不等式である手段と、
前記透かしを前記ビデオのボリュームに埋め込む手段と、
値ｒを選択する手段と、
前記不等式関係を強制するために、前記値ｒを前記選択された互いに素の係数集合の前記属性値の１つに加算する手段と、
を含む、前記システム。
【請求項２０】
属性が、ビデオのボリューム内の任意の部分の測定可能な特徴である、請求項１９に記載のシステム。
【請求項２１】
前記属性値が、平均、最大値の決定、および最小値の決定のうちの１つによって計算される、請求項１９に記載のシステム。
【請求項２２】
前記属性値の間に前記関係を強制するために、係数変更が、空間領域および変換領域のうちの一方で実行される、請求項１９に記載のシステム。
【請求項２３】
前記ペイロードの１ビットが、少なくとも２つの前記選択された係数集合の属性値の２つまたは３つ以上の間に１つの関係を強制することによって埋め込まれる、請求項１９に記載のシステム。
【請求項２４】
前記ペイロードの１ビットが、前記選択された係数集合の１つの前記属性値の１つと所定の値の間に１つの関係を強制することによって埋め込まれる、請求項１９に記載のシステム。
【請求項２５】
前記ペイロードの複数のビットが、少なくとも２つの前記選択された係数集合の属性値の２つまたは３つ以上の間に複数の関係を強制することによって埋め込まれる、請求項１９に記載のシステム。
【請求項２６】
前記ペイロードの複数のビットが、少なくとも２つの前記選択された係数集合の属性値の２つまたは３つ以上の間に複数の関係を強制することによって埋め込まれる、請求項１９に記載のシステム。
【請求項２７】
前記不等式関係が成り立っている場合、前記選択された互いに素の係数集合の前記属性値の変更が実行されない、請求項１９に記載のシステム。
【請求項２８】
反対の不等式関係が存在し、前記選択された互いに素の係数集合の前記属性値の変更が、知覚的損傷を導入する場合、変更が実行されない、請求項１９に記載のシステム。
【請求項２９】
前記不等式関係を強制するために、前記選択された互いに素の係数集合の前記属性値が変更される、請求項１９に記載のシステム。
【請求項３０】
前記不等式関係を強制するために、前記選択された互いに素の係数集合の前記属性値が比例的に変更される、請求項１９に記載のシステム。
【請求項３１】
前記選択された互いに素の係数集合の前記１つの前記属性値の１つをコピーする手段と、
前記選択された互いに素の係数集合の前記１つの前記コピーされた属性値をビット・シフトする手段と、
前記選択された互いに素の係数集合の前記１つの前記ビット・シフトされたコピー属性値を前記選択された互いに素の係数集合の前記１つの前記属性値に加算する手段と、
をさらに含む、請求項３０に記載のシステム。
【請求項３２】
前記選択された互いに素の係数集合の前記属性値をコピーする手段と、
前記選択された互いに素の係数集合の前記コピーされた属性値をビット・シフトする手段と、
前記選択された互いに素の係数集合の前記ビット・シフトされたコピー属性値を前記選択された互いに素の係数集合の前記１つの対応する属性値に加算する手段と、
をさらに含む、請求項３０に記載のシステム。
【請求項３３】
前記制約ベースの関係が、線形および非線形の一方である、請求項１９に記載のシステム。
【請求項３４】
前記制約ベースの関係が、前記互いに素の係数集合の前記属性値の平均値であり、第１の前記互いに素の係数集合の前記属性値がプラスの向きに変更され、第２の前記互いに素の係数集合の前記属性の前記値がマイナスの向きに変更される、請求項１９に記載のシステム。
【請求項３５】
前記制約ベースの関係が、時間的にマスクされる、請求項１９に記載のシステム。
【請求項３６】
前記係数が、最小限だけ変更される、請求項１９に記載のシステム。
【国際調査報告】
2009508395.tif 000015
2009508395.tif 000016
2009508395.tif 000017