アナログ・ビデオのウォーターマーキング方式
【課題】アナログ・ビデオ信号が通るさまざまなチャネルの特性の結果として遭遇するひずみのゆえに伝送されたウォーターマーキングされたデータが正確に受信されることを保証する。
【解決手段】アナログ形式で伝送されるビデオのウォーターマーキングは、刻印される追加データのビットを少なくとも部分的に担持するのに使用されるビデオの走査線のセグメントの一部であるクロミナンス成分の少なくとも一部のそれぞれに、a)周期的に変化する対蹠的な波形の値と、b)刻印される追加ウォーターマーク・データのビットを表す値と、c)任意選択として、追加ウォーターマーク・データが追加される点でのイメージのローカル・ビジネスを表す重み付け値との積を加算するためにアナログ信号のディジタル版を処理することによって達成される。
【解決手段】アナログ形式で伝送されるビデオのウォーターマーキングは、刻印される追加データのビットを少なくとも部分的に担持するのに使用されるビデオの走査線のセグメントの一部であるクロミナンス成分の少なくとも一部のそれぞれに、a)周期的に変化する対蹠的な波形の値と、b)刻印される追加ウォーターマーク・データのビットを表す値と、c)任意選択として、追加ウォーターマーク・データが追加される点でのイメージのローカル・ビジネスを表す重み付け値との積を加算するためにアナログ信号のディジタル版を処理することによって達成される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アナログ信号として伝送されるビデオのウォーターマーキングの技術に関し、具体的には、ビデオ情報に追加情報を含めることに関する。
【背景技術】
【0002】
ビデオ信号のウォーターマーキングは、一般に、ビデオ自体に追加情報を含めることである。これは、ビデオのソースの埋め込まれた識別を提供し、どこでどれだけの時間の間ビデオが再生されたかを追跡し、ビデオを介して補助デバイスに情報を伝えるのに有用である可能性がある。ビデオ信号にウォーターマーキングする従来技術の技法は、通常、ビデオの輝度を使用して追加情報を担持することによって、ビデオ自体にアナログ・フォーマットで追加情報を符号化した。しかし、人間の視覚系は、輝度信号に非常に敏感であり、したがって、ウォーターマーキングされた信号を見る人は、追加情報のビット・レートをある点を超えて、たとえば120ビット毎秒を超えて増やす試みがある時に、追加情報を伝えるためにビデオ信号に対して行われた変更によって引き起こされるひずみを簡単に知覚する。したがって、ビデオ信号のウォーターマーキングの従来の技法は、ある応用例で成功を有したが、そのような成功は、追加情報を担持するビデオ信号を見る人によって知覚可能なひずみなしで達成される極端に低いビット・レートによって制限されてきた。
【0003】
その全体を本明細書に示されているかのように参照によって組み込まれている、以前に出願した米国仮出願第10/342704号で、本発明人は、共同発明者と共に、人間の視覚系が、輝度よりクロミナンスにはるかに鈍感であることを理解した。したがって、本発明人は、輝度信号ではなくビデオ信号のクロミナンス成分にウォーターマーキング信号の追加情報を挿入する、ビデオ信号にディジタル・ウォーターマーキングするシステムを開発した。したがって、追加情報は、ビデオ信号のクロミナンス成分に「刻印」される。有利なことに、特に、追加情報が、従来技術による知覚可能なひずみなしで達成可能なものより高いビット・レートを有する時に、クロミナンス成分に大きいひずみがある場合があるが、それでも、そのようなひずみは、適当に管理されるならば、人間の視覚系によって検出されない。したがって、従来技術によって達成可能なものと比較して、より高いビット・レートを有することができ、たとえば、150ビット毎秒を超えるビット・レートを達成することができる。さらに有利なことに、追加データをウォーターマーキングされたビデオ信号がMPEG(Motion Picture Expert Group)−1エンコーディング・システムおよびMPEG−2エンコーディング・システムを使用して圧縮された後であっても、追加データをビデオ信号から回復することができる。
【0004】
【特許文献1】米国仮出願第10/342704号
【特許文献2】米国仮出願第10/673893号
【特許文献3】米国仮出願第10/342704号
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、現在および予測可能な将来に使用されるビデオ伝送の最も一般的な形は、アナログ・ビデオである。アナログ・ビデオの伝送用のビデオ標準規格に、NTSC、PAL、およびSECAMが含まれる。クロミナンス成分への追加情報の追加およびクロミナンス成分のどの部分が追加情報を担持するかを判定するためのカラー選択など、追加データの刻印に関して本発明人が開示した従来の概念の多くは、アナログ・ビデオと共に使用することができるが、アナログ・ビデオ信号が通るさまざまなチャネルの特性の結果として遭遇するひずみのゆえに、本発明人の以前に開示された技法は、伝送されたウォーターマーキングされたデータが正確に受信されることを保証するのに不十分であった。
【課題を解決するための手段】
【0006】
本発明人は、NTSC、PAL、またはSECAMなどのアナログ形式で伝送されるビデオのウォーターマーキングを、本発明の原理に従って、刻印される追加データのビットを少なくとも部分的に担持するのに使用されるビデオの走査線のセグメントの一部であるクロミナンス成分の少なくとも一部のそれぞれに、a)周期的に変化する対蹠的な(antipodal)波形の値と、b)刻印される追加ウォーターマーク・データのビットを表す値と、c)任意選択として、追加ウォーターマーク・データが追加される点でのイメージのローカル・ビジネス(local business)を表す重み付け値との積を加算するためにアナログ信号のディジタル版を処理することによって改善できることを理解した。
【0007】
各セグメントは、通常、走査線の連続する複数のピクセルに対応するクロミナンス成分のグループからなる。ビットを表す走査線のセグメントは、同一の個数のクロミナンス成分からなる必要がない。たとえば、走査線に720個の使用可能なピクセルがあり、ビデオが4−2−2フォーマットである場合に、第1ビットを、走査線の最初の112個のクロミナンス成分のグループによって表すことができ、第2ビットを、走査線の128個のクロミナンス成分の次のグループによって表すことができ、第3ビットを、やはり走査線の112個のクロミナンス成分の次のグループによって表すことができる。どのグループにも属さないクロミナンス成分を残すことができる。そうである場合に、そのようなクロミナンス成分は、ウォーターマーキングにおいて無視される。たとえば、前述のグループを使用することによって、走査線の最後の8個のクロミナンス成分が、無視される。
【0008】
クロミナンス成分の各グループは、サブグループに分割される。各サブグループは、時間的に、周期的に変化する対蹠的波形の1サイクルの周期に対応する。上の例は、4−2−2表現の32個のピクセルに対応する16個のクロミナンス成分を表示する時間と同程度の長さの周期を有する周期的に変化する対蹠的波形に特に適する。112個のクロミナンス成分のグループに刻印されるビットのそれぞれは、周期的に変化する対蹠的波形の7サイクルに対応し、128個のクロミナンス成分のグループに刻印される中央ビットは、周期的に変化する対蹠的波形の8サイクルに対応する。追加サイクルを、走査線の任意の点で使用することができ、あるいは全く使用しないことができるが、イメージの中央近くで余分なサイクルを使用することが好ましく、このサイクルは、最大のアクティビティを、したがって最も低いイメージ相関を有する傾向があり、したがって、余分のサイクルによって提供される追加の堅牢さから利益を得る。
【0009】
クロミナンス成分ごとに、カラー選択プロセスが、どちらのクロミナンス部分すなわちUまたはVが、追加ウォーターマーク・データを担持するのによいかを判定する。そのような選択プロセスの1つが、その全体を本明細書に示されているかのように参照によって組み込まれている米国仮出願第10/673893号で開示されている。追加データを担持するのによりよいものとしてサブグループについて過半数の回数に選択されるクロミナンス部分が、追加データを担持するように指定される。具体的に言うと、選択プロセスがそれについて追加ウォーターマーク・データを担持するのによりよいものとして過半数選択されたクロミナンス部分を選択したサブグループのクロミナンス成分が、追加ウォーターマーク・データを担持するように変更される。このために、各そのようなクロミナンス成分は、a)そのクロミナンス部分に刻印される追加ウォーターマーク・データのビットを表す値と、b)その特定のクロミナンス成分部分の周期的に変化する対蹠的波形の値と、c)任意選択として、値が追加される位置の付近のイメージのビジネスの関数、たとえばローカル分散との積によって表される値を加算される。残りのクロミナンス成分がある場合に、これらは変更されないままになる。それを行うことが、追加データが可視にならないことを保証するのを助ける。
【0010】
次に、変更された信号を、伝送または保管のためにアナログNTSC表現に変換する。
【0011】
追加ウォーターマーク・データのビットは、複数の走査線の同一セグメント位置に繰り返して刻印することができる。たとえば、追加ウォーターマーク・データのビットを、連続する走査線の同一位置にあるクロミナンス成分のグループに刻印することができる。さらに、データが繰り返される各走査線のセグメントのデータの表現は、同一である必要がない。
【0012】
NTSCビデオの例示的実施形態では、ビデオの各走査線の「アクティブ」部分が、720個の輝度ピクセルに分割される。各走査線の「アクティブ」部分とは、走査線のうちで、見る人に表示されることを意図された内容を担持する部分である。NTSC走査線に、アクティブでなく、この実施形態で使用されない追加部分があることに留意されたい。NTSCビデオには、フレームあたり525本のビデオの走査線がある。これらの走査線は、NTSCでは2つのインターレース式フィールドとして処理され、いわゆる「奇数」フィールドが263本の走査線、いわゆる「偶数」フィールドが262本の走査線を有する。本発明の例示的実施形態では、走査線のうちの480本だけが使用される。これは、いわゆる「アクティブ」走査線に対応する、すなわち、これは、見る人に表示されることを意図された内容を担持する走査線である。
【0013】
本発明は、4−2−2表現のビデオを使用して実行されることが好ましい。各クロミナンス成分に、ビデオがYUVフォーマットで表される時に、通常2つのクロミナンス成分、たとえばUおよびVがあることに留意されたい。ビデオが4−2−2−表現である時に、走査線のアクティブ部分について、360個のクロミナンス成分がある、すなわち、めいめいのVクロミナンス部分にそれぞれが関連する360個のUクロミナンス成分がある。
【0014】
例示的実施形態では、1つの走査線が3ビットを担持し、各ビットは、3つのセグメントのめいめいの1つによって担持され、その結果、1つの走査線のクロミナンス成分が、3つのグループにグループ化され、各グループは、1セグメントに対応し、ビットの1つを表す。走査線に刻印される第1ビットは、その走査線の最初の112個のクロミナンス成分のグループによって表され、その走査線に刻印される次のビットは、その走査線の次の128個のクロミナンス成分からなるグループによって表され、その走査線に刻印される最後のビットは、その走査線の次の112個のクロミナンス成分からなるグループによって表される。各走査線の最後の8個のクロミナンス成分は、ウォーターマーキングにおいて無視される。112個のクロミナンス成分は、16個のクロミナンス成分の7個のサブグループからなり、128個のクロミナンス成分は、16個のクロミナンス成分の8個のサブグループからなる。
【0015】
例示的実施形態では、周期的に変化する対蹠的波形が、正弦波信号である。オプションの関数は、追加ウォーターマーク・データを表す値を追加できる特定のクロミナンス成分の位置の近くのイメージの輝度のビジネスの尺度である。ビジネス関数の範囲は、たとえば、1から20までとすることができる。概念上、変更されるクロミナンス部分に加算される値は、刻印されるビットの表現と、クロミナンス部分のその時の正弦波の値と、クロミナンス部分のその位置での判定されたローカル輝度分散の値とをかけあわせることによって決定される。
【0016】
例示的実施形態で、データは、複数の走査線で、たとえば3対として配置された6本の走査線で繰り返される。対の走査線ごとに、データは、対の他方の走査線に使用されたものと反対の表現を使用して表される。たとえば、対の第1走査線で、1が1によって表され、0が−1によって表される場合に、対の他方の走査線、たとえばフレームの次の連続する走査線では、1が−1によって表され、0が1によって表される。したがって、フィールドの各走査線が、同一のデータ表現を使用し、フレームの各フィールドが、同一フレームの他方のフィールドと反対の表現を使用する。
【0017】
本発明の態様によれば、本発明の例示的実施形態で、フレームの領域、たとえば最上部付近が、1つまたは複数の指定されたシーケンスを構成するビットの組、たとえば9ビットのために割り振られる。そのようなシーケンスを使用して、そのフレームにウォーターマーク・データがあるかどうかを判定することができる。フレームにウォーターマーク・データがある場合に、このシーケンスが、識別信号として働くことができ、その結果、ユーザは、フレームのウォーターマーク・データがそのユーザ用であるかどうかを知ることができるようになる。したがって、そのようなシーケンスは、ユーザを互いに分離するサブスクリプション番号として働くことができる。有利なことに、フレームが、監視されているユーザに関するものでない場合に、そのフレームを無視することができ、これによって、電力消費および必要な処理能力が減る。9ビットのそのような指定されたシーケンスを表すことは、6本の走査線の3組、合計18本の走査線を必要とする可能性があり、ここで、6本の走査線の各組は、下で説明する形で3ビットを表す。
【0018】
受信器は、受信されたウォーターマーキングされたアナログ信号のディジタル化された版を使用する。具体的に言うと、ディジタル化処理は、ディジタル版を、信号のウォーターマーキングに使用されたものと同一のフォーマット、たとえば走査線あたり720ピクセル、480走査線、4−2−2表現にしなければならない。しかし、ビデオは、たとえば普通の技法を使用して、プログレッシブにすなわち、受信されたフィールドをデインターレースされて配置されなければならない。
【0019】
処理は、走査線の対、たとえば、連続する走査線対を使用して進行する。走査線ごとに、クロミナンス成分のサンプルが、送信器と同一の形でグループ化される。カラー選択が、第1走査線の各サブグループに対して実行され、過半数選択されたカラーが、サブグループごとに識別される。各サブグループのUクロミナンス部分が、そのサブグループのU相関値を作るために対蹠的な周期的に変化する波形と相関され、同様に、各サブグループのVクロミナンス部分が、そのサブグループのV相関値を作るために対蹠的な周期的に変換する波形と相関される。各めいめいの走査線の各めいめいのグループの各サブグループの過半数選択されたクロミナンス部分の相関値が、積分される、すなわち、足し合わされる。したがって、積分された値が、各走査線のグループごとに作られる。第2走査線の各グループの積分された値を、第1走査線のめいめいの同様に配置されたグループの積分された値から引く。可変重みコンバイナを使用して、結果の差を、追加ウォーターマーク・データの同一ビットが刻印された他の対からの同一のグループ位置について作られた差と組み合わせる。それぞれがウォーターマーク・データの1ビットに対応する可変重みコンバイナの出力を、ビタビ・デコーダに供給されるソフト・ビットとして使用し、このビタビ・デコーダは、ウォーターマーク・データの最終的なハード・ビット版を供給する。
【0020】
対にされた走査線の3組が同一の刻印されたデータを担持する時に、走査線の中央の対だけを処理し、他の4本の走査線を無視する。それを行うことは、可変重みコンバイナで、最初の対と最後の対に0の重みを使用し、中央の対に1の重みを使用することに対応する。そのように刻印され、回復されるデータが、さまざまなフィルタリング動作を含む、NTSC信号の構成およびそれからのビデオの回復の処理をものともしないので、よい性能が得られる。代替案では、さまざまな重みを走査線対のそれぞれに与え、重みをソフト・ビットに適用することができる。走査線の中央グループが、残りのグループより大きい重みを与えられることが好ましく、残りのグループに、等しい重みを与えることができる。
【0021】
プリアンブル・シーケンスが使用される場合に、結果の差をビタビ・デコーダに送る必要はない。そうではなく、差すなわちソフト・ビット値を、特定のユーザに対応する既知のパターンに相関させることができる。一致がある場合に、フレームの残りを処理する。処理は、特定のユーザに属するものとしてフレームを識別すること程度の単純なものとすることができる。そうでない場合に、フレームの残りを無視する。
【発明を実施するための最良の形態】
【0022】
次は、単に本発明の原理を示すものである。したがって、当業者が、本明細書で明示的に説明されず、図示されていないが、本発明の原理を実施し、その趣旨および範囲に含まれるさまざまな実施形態を考案できることを諒解されたい。さらに、本明細書に具陳されたすべての例および条件付きのことばは、主に、技術を促進するために本発明人が貢献する本発明の原理および概念を読者が理解するのを助ける教育的な目的だけを明白に意図されており、そのような具体的に具陳された例および条件に制限されないものとして解釈されなければならない。さらに、本発明の原理、態様、および実施形態ならびにその特定の例を具陳する本明細書のすべての言明は、その構造的同等物および機能的同等物の両方を含むことを意図されている。さらに、そのような同等物に、現在既知の同等物ならびに将来に開発される同等物の両方すなわち、構造にかかわりなく、同一の機能を実行する開発されるすべての要素が含まれることが意図されている。
【0023】
したがって、たとえば、当業者は、本明細書のすべてのブロック図が、本発明の原理を実施する例示的回路の概念図を表すことを諒解するであろう。同様に、すべての流れ図、状態遷移図、擬似コード、および類似物が、コンピュータまたはプロセッサが明示的に示されているか否かにかかわらず、実質的にコンピュータ可読媒体内で表すことができ、コンピュータまたはプロセッサによって実行されるさまざまな処理を表すことを諒解されたい。
【0024】
「プロセッサ」としてラベルを付けられた機能ブロックを含む、図面に示されたさまざまな要素の機能は、専用ハードウェアならびに適当なソフトウェアに関連してソフトウェアを実行できるハードウェアの使用を介して提供することができる。プロセッサによって提供される時に、機能を、単一の専用プロセッサによって、単一の共用プロセッサによって、またはその一部を共用できる複数の個々のプロセッサによって、提供することができる。さらに、用語「プロセッサ」または「コントローラ」の明示的使用は、ソフトウェアを実行できるハードウェアへの明示的な言及と解釈されてはならず、制限なしに、ディジタル信号プロセッサ(DSP)ハードウェア、ネットワーク・プロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、ソフトウェア保管用の読取専用メモリ(ROM)、ランダム・アクセス・メモリ、および不揮発性ストレージを暗黙のうちに含むことができる。普通のおよび/またはカスタムの他のハードウェアも、含めることができる。同様に、図に示されたすべてのスイッチは、概念のみである。これらの機能は、プログラム・ロジックの動作を介して、専用ロジックを介して、プログラム制御および専用ロジックの相互作用を介して、または手動で実行することができ、特定の技法は、文脈から具体的に理解されるように実装者が選択可能である。
【0025】
本明細書の請求項では、指定された機能を実行する手段として表されたすべての要素が、たとえば、a)その機能を実行する回路要素の組合せ、またはb)その機能を実行するソフトウェアを実行する適当な回路と組み合わされた、ファームウェア、マイクロコード、または類似物を含むすべての形のソフトウェアを含む、その機能を実行するすべての形を含むことが意図されている。請求項によって定義される本発明は、さまざまな具陳された手段によって提供される機能性が、請求項が要求する形で組み合わされ、一緒にされるという事実に存する。したがって、本出願人は、これらの機能性を提供できるすべての手段を、本明細書に記載されたものと同等とみなす。
【0026】
ソフトウェアであることを暗示される、ソフトウェア・モジュールまたは単にモジュールは、本明細書で、処理ステップを示す流れ図要素または他の要素および/またはテキスト記述の組合せとして表される場合がある。そのようなモジュールを、明示的にまたは暗黙のうちに示されたハードウェアによって実行することができる。
【0027】
本明細書で明示的に他の形で示されない限り、図面は原寸通りでない。
【0028】
この説明では、異なる図面にある同一の符号の構成要素が、同一の構成要素を指す。
【0029】
図1に、a)周期的に変化する対蹠的波形と、b)刻印される追加ウォーターマーク・データのビットを表す値と、c)任意選択として、追加ウォーターマーク・データが追加される点でのイメージのローカル・ビジネスを表す重み付け値との積をビデオの走査線のセグメントのクロミナンス成分に加算するためにアナログ信号のディジタル版を処理することによって、本発明の原理に従ってアナログ形式、たとえば、NTSC、PAL、またはSECAMで送信されるビデオのウォーターマーキング用の例示的送信器101の基本構成要素を示す。
【0030】
図1には、a)YUVデマルチプレクサ(demux)およびデシメータ(decimator)103、b)カラー選択105、c)2極2投スイッチ109、d)テクスチャ・マスキング・ユニット111、e)乗算器113、f)加算器115、g)マルチプレクサ(mux)117、h)対蹠的ビット・マッパー123、i)NTSC(National Television Standard Committee)コンバータ125、およびj)遅延129が示されている。図1には、任意選択のk)チャネル符号化器119およびl)ブロック・インターリーバ121も示されている。
【0031】
YUVデマルチプレクサおよびデシメータ103は、ウォーターマーキングされるすなわち追加情報を追加されるビデオ信号を受け取る。YUVデマルチプレクサおよびデシメータ103は、ディジタル・ビデオ、たとえば、SDI(Serial Digital Interface)標準規格に従ってフォーマットされたビデオを扱うことができる。当業者が理解するように、当初は適当なディジタル・フォーマットでないすべてのビデオ信号を、普通の技法を使用してこれに変換することができる。アナログ・ビデオを、処理を開始する前にディジタルに変換することができる。
【0032】
YUVデマルチプレクサおよびデシメータ103は、ビデオの輝度(Y)成分およびクロミナンス成分を逆多重化する。ビデオ信号のクロミナンス成分は、2つの部分UおよびVを有し、Uは青の色差部分、Vは赤の色差部分である。
【0033】
クロミナンス成分に追加データを埋め込む処理の多くは、いわゆる「4−2−2」フォーマットすなわち、輝度成分がフル解像度であるがクロミナンス成分がa)縦だけフル解像度でb)横は半分の解像度であるビデオを用いて実行されることが好ましい。これは、SDI入力によって供給されるフォーマットである。4−2−2フォーマットでは、走査線の輝度の2ピクセルごとに1つのクロミナンス成分がある。しかし、ある処理動作について、輝度とクロミナンスが同一の割合であることすなわち、クロミナンス成分ごとに1つの輝度成分だけがあることが必要である。このために、YUVデマルチプレクサおよびデシメータ103は、輝度成分を水平にデシメートし、これが信号Yとして出力される。デシメートされた輝度信号部分およびクロミナンス部分は、出力としてカラー選択105に供給される。
【0034】
他の入力フォーマット、たとえば4−4−4をビデオ入力信号としてYUVデマルチプレクサおよびデシメータ103に供給することができ、YUVデマルチプレクサおよびデシメータ103は、これを、上で説明した適当なフォーマットにデシメートする。そうすることを選択した場合に、当業者は、適当なデシメートされた信号を生成する彼ら自身の方法を考案することができる。その代わりに、ある領域で4−4−4フォーマットを使用して処理を実行することができるが、水平方向の追加クロミナンスを考慮に入れる必要がある。当業者は、それを行う形をすぐに理解するであろう。
【0035】
異なるフォーマットを送信器101に供給できる場合に、オリジナル・ビデオのフォーマットを知るために、a)オペレータが、送信器101に供給されるビデオの特定のフォーマットをYUVデマルチプレクサおよびデシメータ103に示すことができ、b)ビデオのフォーマットを、普通の技法を使用してビデオから直接に検出することができ、あるいはc)その情報を、入力ビデオ信号を供給する上位レイヤ・プロセッサから供給することができる。
【0036】
YUVデマルチプレクサおよびデシメータ103は、遅延129へのオリジナル入力ビデオ信号のフォーマット、好ましくは4−2−2−フォーマットのY出力、U出力、およびV出力も供給する。遅延129は、それが受け取るY信号、U信号、およびV信号を、クロミナンス成分の1サブグループの時間すなわち、対蹠的波形の1周期の時間だけ遅延させ、それが受け取ったU信号およびV信号の遅延された版を2極2投スイッチ109に供給する。Y信号の遅延された版は、テクスチャ・マスキング・ユニット111およびマルチプレクサ117に供給される。
【0037】
カラー選択105は、YUVデマルチプレクサおよびデシメータ103からU、V、および輝度信号Yの遅延されていない版のそれぞれを受け取る。各関連するU値およびV値が、単一のクロミナンス成分を構成し、対応するY値と一緒に、2つの水平に隣接する4−2−2ピクセルに対応することに留意されたい。カラー選択105は、Y値、U値およびV値の任意の組について、クロミナンス成分のどの部分で、すなわち、U部分またはV部分のどちらで、必要な場合に、視覚的アーチファクトを導入せずに値の変化によりよく対処できるかを判定する。本発明の1実施形態で、カラー選択105の動作は、下で説明するようにルック・アップ・テーブルに基づく。代替案では、カラー選択105の動作を、全体的にまたは部分的に、その全体を本明細書に示されているかのように参照によって組み込まれている米国仮出願第10/342704号に記載のものなどのさまざまな計算に基づくものとすることができる。結果の判断が、コンポーネント・カラー・ストア131に保管される。コンポーネント・カラー・ストア131には、1サブグループ内のクロミナンス成分に関する判断が保管される。たとえば、カラー選択105が、Uをクロミナンス成分に関して選択されたクロミナンス部分にしなければならないと判定した場合に、1が、コンポーネント・カラー・ストア131に保管される。同様に、カラー選択105が、Vをクロミナンス成分に関して選択されたクロミナンス部分にしなければならないと判定した場合に、0が、コンポーネント・カラー・ストア131に保管される。コンポーネント・カラー・ストア131は、選択されたクロミナンス部分の表示を出力COMPONENT COLORとして供給する前に、1サブグループ時間期間の持続時間すなわち、対蹠的波形の1サイクルの持続時間を有する遅延を提供するために、シフト・レジスタとして実施することができる。
【0038】
1サブグループのすべてのクロミナンス成分をカラー選択105によって評価したならば、UまたはVのどちらが、そのサブグループのクロミナンス成分の過半数について選択されたかを判定する。サブグループのクロミナンス成分の過半数について選択された特定のクロミナンス部分の表示が、次のサブグループの持続時間の間、サブグループ過半数ストア133に保管され、出力SUBGROUP MAJORITYとして供給される。
【0039】
カラー選択105の出力COMPONENT COLORは、2極2投スイッチ109の位置を制御するのにも使用される。具体的に言うと、COMPONENT COLORは、2極2投スイッチ109を制御し、その結果、1)ウォーターマーク・データを担持するのに選択されたクロミナンス成分の部分を加算器115に供給し、2)選択されなかったクロミナンス成分の部分をYUVマルチプレクサ117に供給する。COMPONENT COLORは、下で説明する使用のために、マルチプレクサ117および対蹠的ビット・マッパー123にも供給される。
【0040】
テクスチャ・マスキング・ユニット111は、遅延129によって遅延された後にYUVデマルチプレクサおよびデシメータ103によって出力として供給されたデシメートされたフォーマットの各関連するクロミナンス成分および輝度成分のまわりの輝度のテクスチャを分析して、可視アーチファクトを導入せずにクロミナンス成分によって対処できる値の最大の変化を判定し、それを表す重みを出力として供給する。この重み値は、コーディングすることができ、たとえば、10ビット・クロミナンス部分値について1から20までの整数値をとることができる。テクスチャ・マスキング・ユニット111は、そのテクスチャを計算するのに特定のクロミナンス成分の周囲のすべてのピクセル位置を使用することができるが、そうするためには、イメージの複数の走査線を保管する必要がある。本発明の態様によれば、テクスチャ・マスキング・ユニット111は、現在のクロミナンス成分に関連するピクセルの輝度値と、現在の走査線の現在のクロミナンス成分の直前および直後のクロミナンス成分に関連するピクセルの輝度値とから単純にテクスチャを判定することができる。有利なことに、本発明の態様によれば、処理を過度に複雑にせずに、十分な精度が達成される。この重みが、乗算器113に供給される。
【0041】
使用される特定の値が、各Y値、U値、およびV値を表すのに使用されるビット数に少なくとも部分的に依存することに留意されたい。当業者は、使用される値を、使用されるビット数についてスケーリングできることをすぐに理解するであろう。
【0042】
乗算器113は、テクスチャ・マスキング・ユニット111から受け取った重みに、対蹠的ビット・マッパー123によって供給される、このクロミナンス成分の部分として送られた情報に関する値をかける。たとえば、対蹠的ビット・マッパー123によって供給される値は、その選択されたクロミナンス部分がサブグループの選択されたクロミナンス部分と同一すなわち信号SUBGROUP MAJORITYと同一のクロミナンス成分の、−1と1の間の範囲を有する正弦波、たとえばsin(x)または−sin(x)とすることができる。選択されたクロミナンス部分が、SUBGROUP MAJORITY信号によって示される、サブグループについて選択されたクロミナンス部分と同一でないクロミナンス成分について、対蹠的ビット・マッパー123は、0を供給する。乗算器113によって作られた積は、加算器115に供給される。
【0043】
加算器115は、乗算器113によって供給された値を、クロミナンス成分の追加情報を担持するためにカラー選択105によって選択されたクロミナンス成分の部分の値に加算することによって、変更されたクロミナンス部分を作る。説明したように、追加情報を担持するためにカラー選択105によって選択されたクロミナンスの部分は、2極2投スイッチ109によって加算器115に渡される。加算器115によって供給される変更されたクロミナンス部分は、マルチプレクサ117に供給される。
【0044】
マルチプレクサ117は、各遅延されたオリジナル輝度成分Yと、2極2投スイッチ109を介して遅延129から供給された遅延された未変更のクロミナンス部分を受け取る。マルチプレクサ117は、加算器115から変更されたクロミナンス部分も受け取る。マルチプレクサ117は、オリジナル輝度成分、未変更のクロミナンス部分、および変更されたクロミナンス部分を多重化する。マルチプレクサ117は、どのリードでクロミナンス成分の変更された部分を受け取り、どのリードでクロミナンス成分のみ変更の部分を受け取るかを、カラー選択105の出力を受け取ることによって知る。本発明の態様によれば、結果のビデオ信号が、マルチプレクサ117によって、ウォーターマーキングされた出力ビデオ信号VIDEO OUTとして供給される。
【0045】
オリジナル輝度成分が、クロミナンス成分と異なる速度で変化している場合があることに留意されたい。たとえば、オリジナル・ビデオが、4−2−2フォーマットである時に、各ピクセルは、1つの輝度値と、少なくとも1つの他のピクセルと共用されるクロミナンス成分に対応する時間からなる。2つの隣接ピクセルのグループが、それ自体のめいめいのY値を有すると同時にクロミナンス成分を共用するので、輝度成分Yは、クロミナンス成分の2倍の速度で変化している。当業者は、これを考慮に入れてシステムのタイミングをどのように設計するかをすぐに理解するであろう。たとえば、YUVデマルチプレクサおよびデシメータ103、遅延129、およびマルチプレクサ117は、他の構成要素の2倍の速度で動作する可能性がある。
【0046】
上で示したように、グループごとに送信される追加情報の2進データ値すなわち、1または0を、ウォーターマーク・データとして使用するために対蹠的ビット・マッパー123に直接に供給することができ、あるいは、これをまず処理して、受信器でのこの情報の処理および回復を容易にすることができる。そのような例示的処理は、任意選択のチャネル符号化器119およびブロック・インターリーバ121によって実行することができる。
【0047】
チャネル符号化器119は、ビデオ・ストリームに埋め込まれることが望まれる追加データを受け取る。このデータを、たとえば順方向誤り訂正コーディング方式を使用して、符号化する。そのような順方向誤り訂正方式は、たとえばビタビ符号化またはターボ符号化などの畳み込み符号化などの従来の順方向誤り訂正方式とするか、新たに開発されるコーディング方式とすることができる。本発明の1つの例示的実施形態では、レート1/4のビタビ・コーディングを使用する。そのようなコーディングの結果として、オリジナル・ビット・ストリームのビットごとに、4ビットが作られる。チャネル符号化されたビット・ストリームが、チャネル符号化器119による出力としてブロック・インターリーバ121に供給される。
【0048】
ブロック・インターリーバ121は、データをランダムに分布させるために、チャネル符号化されたビット・ストリームのビットの順序を再配置する。それを行うことは、たとえば雑音のバーストまたは他の要因に起因して、チャネル符号化されたビット・ストリームの隣接セクションが失われる(受信器で残りの実際に受信されたデータからそのようなデータを回復することを困難にする)可能性を減らすのに役立つ。本発明の例示的実施形態では、1単位としてインターリーブされるビット数が、フレームのビット数と等しい。ブロック・インターリーバは、ブロックの行に左から右へ順番にデータを書き込み、各行の終りで次の行の左端から開始し、ブロックの左上位置から始めて、列の終りに達するまで下に1列のデータを読み取り、列の終りから次の列の最上部に継続することによって実施することができる。14行×16列のブロック・インターリーバが、720×480ピクセルのピクチャ・サイズに有効であることがわかっている。異なる解像度について、当業者は、匹敵するブロック符号化器をすぐに開発することができるであろう。インターリーブされたチャネル符号化されたビット・ストリームが、ブロック・インターリーバ121による出力として対蹠的ビット・マッパー123に供給される。
【0049】
本発明の態様によれば、ブロック・インターリーバ121によって供給されるデータ・ビットは、対蹠的ビット・マッパー123の制御の下で、オリジナル・ビデオ信号の少なくとも1つのフレームの走査線の少なくとも1つのグループに、ウォーターマーク・データとして刻印される。本発明の原理によれば、対蹠的ビット・マッパー123は、刻印されるデータを表す値を供給し、この値は、その後、テクスチャ・マスキング111の出力によって重みを付けられ、選択されたクロミナンス部分の値に加算される。
【0050】
図5に、対蹠的ビット・マッパー123のより詳細な図を示す。図5には、a)2投スイッチ501、b)乗算器507、c)対蹠的正弦波ジェネレータ509、d)乗算器513、e)比較器515、およびf)コントローラ517が示されている。
【0051】
コントローラ517は、対蹠的ビット・マッパー123の全体的な動作を制御する。具体的に言うと、コントローラ517は、ブロック・インターリーバ121から受け取ったデータのビットをどのように表すかを制御する。多数のクロミナンス成分が、同一の追加データを担持するように指定されることに留意されたい。このために、たとえば、例示的実施形態では、クロミナンス成分の1走査線のクロミナンス成分値が、3つのグループにグループ化され、各グループに、1ビットの表現が割り当てられる。走査線の第1ビットを、112個のクロミナンス成分値によって表すことができ、走査線の第2ビットを、128個のクロミナンス成分値によって表すことができ、走査線の最後のビットを、112個のクロミナンス成分値によって表すことができる。各走査線の最後の8個のクロミナンス成分は、ウォーターマーキングにおいて無視される。112個のクロミナンス成分値が、16個のクロミナンス成分の7個のサブグループに対応し、128個のクロミナンス成分値が、16個のクロミナンス成分の8個のサブグループに対応する。
【0052】
さらに、同一のデータが、複数の走査線、たとえば3対として配置された6本の走査線のクロミナンス成分の同一のグループに担持される。対の走査線ごとに、データは、反対の表現を使用して表され、たとえば、対の第1走査線では、1が1によって表され、0が−1によって表され、対の他方の走査線、たとえばフレームの次の連続する走査線では、1が−1によって表され、0が1によって表される。したがって、フィールドの各走査線が、同一のデータ表現を使用し、フレームの各フィールドが、同一フレームの他方のフィールドと反対の表現を使用する。
【0053】
コントローラ517の制御の下で、対蹠的ビット・マッパー123は、クロミナンス成分がウォーターマーキングされた出力ビデオ信号に組み込まれる時にオリジナル・ビデオ信号のサブグループの各クロミナンス成分について適当な時にオリジナル・ビデオの各走査線の各サブグループについて通信されるインターリーブされたチャネル符号化されたビット・ストリームからのビットの適当な表現を供給する。したがって、対蹠的ビット・マッパー123は、ビデオ信号の処理が走査線ベースである、すなわち、処理が、走査線上で左から右に進み、次に次の走査線でやはり左から右に進み、ビット・ストリームからの同一のビットを担持する隣接するクロミナンス成分が、必ずしもビデオ・ストリーム内で連続して位置しなくなり、したがってすべてが時間的に直接に互いの後に処理されなくなるという事実を考慮に入れる。ある時に対蹠的ビット・マッパー123の出力として供給される特定のデータ・ビットは、乗算器113への入力として供給される。
【0054】
コントローラ517は、ブロック・インターリーバ121からデータを受け取る。コントローラ517は、入力として、イメージのどの走査線が処理されつつあるかに関する表示も受け取る。コントローラ517は、走査線番号の関数としてデータの値の補数をとる。たとえば、偶数走査線だけについて、データ値の補数をとる、すなわち、1を0に変更し、0を1に変更する。
【0055】
コントローラ517は、2極スイッチ501の位置を制御する。本発明の1実施形態では、上で注記したように、各連続する走査線のデータに使用される表現が、逆転される。したがって、奇数フィールドに第1の表現が使用され、偶数フィールドに反対の表現が使用される。
【0056】
ブロック・インターリーバ121から受け取ったデータを適当に変換するために、2投スイッチ501は、1の定数値に結合された第1入力と、−1の定数値に結合された第2入力とに結合されている。コントローラ517の出力が1である時に、2投スイッチ501の出力が、一定の1の値に結合される。コントローラ517の出力が0である時に、2投スイッチ501の出力が、一定の−1の値に結合される。したがって、2投スイッチ501は、効果的に、1、0データ表現から1、−1データ表現に変換する。
【0057】
2投スイッチ501の出力が、乗算器507に供給される。ブロック・インターリーバ121によって供給される例示的信号に関する2投スイッチ501からの例示的出力を、図9に示す。
【0058】
乗算器507は、正弦波信号などの対蹠的波形も受け取る。本発明の例示的実施形態では、対蹠的波形が、対蹠的正弦波ジェネレータ509によって生成された、1と−1の範囲を有する普通の正弦波である。この正弦波信号の周期は、1サブグループ時間と等しい、すなわち、たとえばテレビジョンなどのディスプレイに、たとえば4−2−2表現の16個のクロミナンス成分を含む32ピクセルなど、1サブグループ内のクロミナンス成分の個数に対応する個数のピクセルを表示する時間と等しい。この正弦波は、複数の等間隔のサンプルによってディジタルに表現される。使用される等間隔のサンプルの個数は、サブグループのクロミナンス成分の個数、たとえば16と同一である。これは、サンプル間の22.5度の間隔に対応する。たとえば、表1を参照されたい。ブロック・インターリーバ121によって供給される例示的信号に関する対蹠的正弦波ジェネレータ509からの例示的出力を、図9に示す。
【0059】
【表1】
【0060】
乗算器507によって作られる、2投スイッチ501の出力と対蹠的正弦波ジェネレータ509の出力の積が、乗算器513に供給される。ブロック・インターリーバ121によって供給される例示的信号に関する乗算器507からの例示的出力を、図9に示す。
【0061】
比較器515は、カラー選択105によって現在供給されている信号COMPONENT COLORの値を、やはりカラー選択105によって供給される信号SUBGROUP MAJORITYの現在供給されている値と比較する。これらの値が同一である場合に、比較器515は、乗算器513に1を出力する。そうでない場合に、比較器515は、乗算器513に0を出力する。したがって、比較器515は、排他的NORによって実施することができる。したがって、比較器515によって出力された1は、現在のクロミナンス成分が、そのサブグループのクロミナンス成分の過半数について変更のために選択されたものと同一のクロミナンス部分を変更するために選択されていることを示す。比較器515によって出力された0は、現在のクロミナンス成分が、そのサブグループのクロミナンス成分の過半数について変更のために選択されなかったクロミナンス部分を変更するために選択され、したがって、このクロミナンス成分の変更を実行してはならないことを示す。
【0062】
乗算器513からの出力として供給される結果の積は、乗算器113(図1)に供給される。その結果、追加情報を担持するために選択されたクロミナンス部分がクロミナンス成分と同一のサブグループのクロミナンス成分の過半数について選択されたクロミナンス部分と同一でないクロミナンス成分には値が加算されない。ブロック・インターリーバ121によって供給される例示的信号に関する乗算器513からの例示的出力を、図9に示す。
【0063】
図1に示されたものなどの符号化器を使用して、実質的にエラーがない、約1480ビット毎秒のビット・レートが、ビデオ・フレーム・サイズが720×480ピクセルである時に、チャネル符号化器119に供給される追加情報について達成された。
【0064】
当業者は、図1に本質的に本発明のパイプライン化された実施形態が示されているが、他の配置が可能であることをすぐに理解するであろう。本発明の1実施形態で、走査線全体が、便宜上バッファリングされ、その後、より高い度合の並列性を用いて処理される。
【0065】
本発明の1態様によれば、フレームの特定のビット位置を、エンコードされたユーザ供給データではなく、特定の既知のデータ・シーケンス、たとえばバーカー・シーケンスを用いて埋め込むことができる。これは、任意選択のシーケンス追加器127によって実行される。任意選択のシーケンス追加器127は、特定の既知のデータ・シーケンス、たとえばバーカー・シーケンスを供給する。対蹠的ビット・マッパー123は、たとえば、これらの位置にブロック・インターリーバ121からのデータを置く代わりに、フレームの特定のビット位置にシーケンスのビットを置き、このデータ・シーケンスは、符号化されたユーザ・データの代わりである。フレームの最上部付近に置かれることが好ましいが、データ・シーケンスが符号化されるビット位置は、フレームと共に使用可能なさまざまなビット位置全体にまき散らすことができる。そのようなシーケンス埋込みの1つの用途が、ウォーターマーキングされたフレームとしてフレームを識別することである。そのような埋め込まれたシーケンスのもう1つの用途が、特定のフレームが属するユーザを識別することであり、これは、異なるユーザのフレームに異なるコードを使用することによって達成することができる。
【0066】
図2に、本発明の原理による、クロミナンス信号にディジタル・ウォーターマーキングを含むビデオ信号から追加データを回復する例示的受信器201を示す。図2には、a)YUVデマルチプレクサ(demux)およびデシメータ203、b)カラー選択ユニット207、c)2極2投スイッチ209、d)サブグループに関するV相関器213、e)サブグループに関するU相関器215、f)デインターリーバ219、g)チャネル復号器221、h)グループ積分器231、i)走査線バッファ233、j)2投スイッチ239、k)走査線遅延241、l)減算器243、m)多投スイッチ245および249、ならびにn)可変重みコンバイナ247−1ないし247−N、集合的に可変重みコンバイナ247が示されている。
【0067】
YUVデマルチプレクサおよびデシメータ203は、送信器101(図1)のYUVデマルチプレクサおよびデシメータ103に似たものとすることができるが、本発明の原理に従って信号のクロミナンス成分に追加情報を加算することによってディジタル・ウォーターマーキングされたビデオ信号を受け取る。YUVデマルチプレクサおよびデシメータ203は、たとえばSDI(serial digital interface)に従ってフォーマットされた、ディジタル・ビデオを扱う。当業者が理解するように、受信されたアナログNTSC信号など、当初に適当なディジタル・フォーマットでないすべてのビデオ信号を、普通の技法を使用してこれに変換することができる。
【0068】
クロミナンス成分から追加データを回復する処理の多くは、4−2−2フォーマットであるビデオを用いて実行されることが好ましい。しかし、ある処理動作について、輝度とクロミナンスが同一の割合であることすなわち、クロミナンス成分ごとに1つの輝度成分だけがあることが必要である。このために、YUVデマルチプレクサおよびデシメータ203は、輝度成分を水平にデシメートし、これが信号Yとして出力される。受信されたビデオのフォーマットを知るために、a)オペレータが、入力ビデオの特定のフォーマットをYUVデマルチプレクサおよびデシメータ203に示すことができ、b)ビデオのフォーマットを、普通の技法を使用してビデオから直接に検出することができ、あるいはc)その情報を、入力ビデオ信号を供給する上位レイヤ・プロセッサから供給することができる。
【0069】
逆多重化されたクロミナンス成分およびデシメートされた輝度成分が、カラー選択207に供給される。さらに、Vクロミナンス部分が、サブグループに関するV相関器213に供給され、Uクロミナンス成分が、サブグループに関するU相関器215に供給される。YUVデマルチプレクサおよびデシメータ103と異なって、YUVデマルチプレクサおよびデシメータ203は、オリジナル入力ビデオ信号のフル・フォーマットでYUV出力を供給する必要がない。
【0070】
カラー選択ユニット207は、サブグループごとに、サブグループ内のさまざまなクロミナンス成分のY、U、およびVの関数として、このサブグループに関してクロミナンス成分のどの部分すなわちU部分またはV部分のどちらに追加情報が埋め込まれた可能性が高いかを判定する。このために、カラー選択ユニット207は、本質的に、カラー選択105(図1)によって実行された、信号SUBGROUP MAJORITYを判定するのに必要な計算を繰り返す。カラー選択ユニット207(図2)の出力は、2投スイッチ209の位置を制御し、その結果、2投スイッチ209が、相関器213および215のうちで過半数選択されたカラーに対応する相関器によって供給される相関値をグループに関する積分器231に供給するようにするのに使用される。本発明の1実施形態では、カラー選択ユニット207が、下で詳細に説明するように、ルック・アップ・テーブルに基づく。それを行うことによって、そうでなければ必要になる可能性があるYUVからRGBへの変換の必要をなくすことによって処理が単純化される。
【0071】
サブグループに関するV相関器213は、サブグループのVの値を、対蹠的正弦波ジェネレータ509によって生成されたものなどの対蹠的正弦波の1サイクル全体と相関させる。このために、各Vクロミナンス部分の値に、類似する位置の正弦波値をかけ、積のすべてを一緒に合計して、単一の値を生成する。同様に、サブグループに関するU相関器215は、サブグループのUの値を、対蹠的正弦波ジェネレータ509によって生成されたものなどの対蹠的正弦波の1サイクル全体と相関させる。このために、各Uクロミナンス部分の値に、類似する位置の正弦波値をかけ、積のすべてを一緒に合計して、単一の値を生成する。
【0072】
対蹠的正弦波の1サイクル全体と相関させることによって、1サイクルにわたって少量だけ変化し、したがって本質的にDCレベルに対応すると考えることができる選択された部分のU部分またはV部分の実際の値を、打ち消すことができる。これは、乗算の結合法則によって、結果の積を、対蹠的正弦波にDCレベルをかけたものと考えることができ、これは、対蹠的正弦波に0のDCレベルで刻印された正弦波をかけたものをクロミナンス部分値に加えたものである。対蹠的正弦波とDCレベルの乗算に関して、対蹠的波形の正の半分の間に作られる正の積値のそれぞれについて、対蹠的波形の負の半分の間に作られる対応する負の積値がある。対応する正の積と負の積を加算する時に、これらが打ち消し合う。しかし、対蹠的正弦波と0のDCレベルで刻印された正弦波の積は、対蹠的正弦波が0である点を除いて、必ず正または負の値を作る。したがって、そのような値を合計すると、全体的に正または負の値が作られる。全体的な値が正であるか負であるかは、刻印された正弦波の極性に依存する。
【0073】
選択されていないクロミナンス部分に関して相関器によって作られた結果は、一般に小さいが、無関係であり、クロミナンス部分の変動と対蹠的正弦波の間の固有の相関を反映する。
【0074】
グループ積分器231は、グループ内のサブグループごとの選択されたクロミナンス部分のそれぞれについて作られた値を足し合わせる。上で示したように、各グループのサブグループの個数が同一である必要がなく、一部のクロミナンス値が、どのグループにも属さない場合があることに留意されたい。さらに、各グループが、特定のビットの伝送の一部であることを想起されたい。結果の値が、2投スイッチ239に供給される。
【0075】
図2に示された本発明の実施形態では、奇数走査線について、2投スイッチ239が、グループ積分器231からのグループ積分された値を走査線遅延241、たとえば走査線あたり3つの値にルーティングする。偶数走査線について、2投スイッチ239は、グループ積分器231からのグループ積分された値を減算器243に直接にルーティングする。奇数走査線からの値は、走査線遅延241内で1走査線周期の間保管され、その後、減算器243に供給される。減算器243は、偶数走査線のグループ積分された値を、奇数走査線の対応する位置のめいめいの値から引く。
【0076】
2つの走査線の各グループの差の値が、スイッチ245によって可変重みコンバイナ247の1つにルーティングされる。たとえば、各走査線に刻印される3ビットがある時に、3つの可変重みコンバイナ247があり、N=3である。ルーティングは、第1の可変重みコンバイナ247が、2つの走査線の第1グループに対応する積分された差値を受け取り、次の可変重みコンバイナ247が、2つの走査線の次のグループに対応する積分された差値を受け取るようになっている。可変重みコンバイナのそれぞれは、同一のビットが刻印される走査線の対ごとに1つの、指定された個数の積分された差値の記憶位置を有する。たとえば、刻印されたデータが、6走査線で繰り返される時に、可変重みコンバイナ247のそれぞれに、走査線の対ごとに1つの、3つの記憶位置がある。
【0077】
刻印されたデータ・ビットが繰り返された走査線のすべてを処理した後に、可変重みコンバイナ247のそれぞれで、重みに、保管された値のそれぞれをかける。重み付けされた値を加算し、結果の出力を、そのビットのソフト・ビットとして供給する。ソフト・ビットは、スイッチ249によって直列に、たとえば、対応するグループがビデオ信号の走査線に現れる順序で、ルーティングされる。
【0078】
本発明の1実施形態で、刻印されたデータが6走査線で繰り返される時に、中央の2つの走査線の重みが1であり、最初の2本と最後の2本の重みが0である。この場合に、効果的に、2つの中央の走査線だけを処理する必要があり、計算が単純化される。そのような配置を使用することによって、3走査線櫛形フィルタがイメージの処理に使用される時であっても、ウォーターマーク・データが成功裡に受け取られることがわかっている。
【0079】
デインターリーバ219は、ソフト・ビットを並べ変えて、送信器101のブロック・インターリーバ121(図1)の影響を元に戻す。並べ変えられた値が、チャネル復号器221(図2)に供給され、チャネル復号器221は、送信器101(図1)のチャネル符号化器119によって使用されたタイプの符号化を使用して符号化された信号に適当な復号ならびに最終的なハード・ビット・ペイロードへのソフト・ビットの変換を実行する。結果の復号された値が、追加データ信号の再構成された版としてチャネル復号器221(図2)によって供給される。さらなる堅牢性のために、チャネル復号器221を、いわゆる「シーケンス復号器」、たとえばターボ復号器とすることができる。
【0080】
1つの例示的な応用例で、ビデオ信号内のベンダのさまざまなコマーシャルを監視することができる。ベンダに、そのコマーシャルの各フレームに埋め込まれる一意コードを割り当てることができる。受信器は、特定の一意コードと、ウォーターマーキングされたフレームのどのビット位置にそのコードが含まれるかを知るようにされる。ウォーターマーキングされたフレーム内のコードの出現を検出することによって、受信器は、そのベンダのコマーシャルの1つに属するものとしてフレームを識別することができる。コードを有するフレームを検出したならば、そのコードを組み込まれた連続するフレームの数をカウントして、コマーシャルの長さを判定することができる。カウントされたフレーム数が、最初にウォーターマーキングされた時のコマーシャルの既知の長さに基づいて予想されるフレーム数より少ない場合に、予想されたフレーム数とカウントされたフレーム数の間の差に対応する個数のフレームを除去することによって、そのコマーシャルが不適切に短縮されたと仮定することができる。当業者は、誤った一致を避ける他の普通の技法ならびにエラーに起因する最初のフレームの消失の処理を使用できることを理解するであろう。
【0081】
コマーシャルの各フレームまたはコマーシャル内のフレームのグループに、フレームに関する別個のシーケンスの一部である一意識別子、たとえばフレーム番号またはグループ番号を用いてウォーターマーキングすることができる。期待されるシーケンス内のギャップが、1つまたは複数の欠けているフレームに起因して検出された時に、各フレームが一意識別子を有する時に欠けているフレームを具体的に識別することができる。識別子が、グループだけに割り当てられ、各グループのフレーム数が既知である時に、欠けているフレームが属する特定のグループだけを、欠けているフレーム数のカウントと共に識別することができる。
【0082】
あるベンダが、さまざまなコマーシャルを有する場合に、受信されつつあるそのベンダの特定のコマーシャルを識別するために、コマーシャルのそれぞれが、さらに、そのフレームの少なくとも1つに埋め込まれたさらなるシーケンスを有することができる。
【0083】
複数のベンダが、ウォーターマーキングされたコマーシャルを有する場合に、各ベンダに一意コードが割り当てられる限り、第1一意コードを用いて第1ベンダのコマーシャルの出現について監視するシステムは、第2一意コードを有する第2ベンダのコマーシャルを無視する。代替案では、単一のシステムが、それぞれが一意コードを有する異なるベンダのコマーシャルの出現についてビデオ信号を監視することができ、その結果を、コードに基づいてベンダによって分離することができる。
【0084】
複数のベンダが、ウォーターマーキングされたコマーシャルを有する時に、各ベンダが同一のコードを使用し、コードが、各ベンダのフレーム内の同一のビット位置にある場合がある。しかし、そのフレームに含まれる後続データのすべてが、ベンダごとに一意の鍵を使用して暗号化され、各ベンダが、そのベンダの鍵だけを知っている受信器を有する。したがって、各ベンダは、それ自体のコマーシャルからのみデータを暗号化解除し、受け取ることができる。代替案では、各ベンダのデータを、フレームのビット位置に対してデータをスクランブルすることによって暗号化することができる。各受信器は、それに関連するベンダのスクランブル・パターンだけを知っている。
【0085】
1つの例示的な応用例で、コマーシャルの開始を示すコードの最初の出現の監視を、継続的に、またはそのコマーシャルが放送されると期待される時間のウィンドウ内で実行することができる。
【0086】
任意選択のシーケンス・プロセッサ223は、存在する時に、ユーザの一意コードがフレーム内に存在するかどうかを検出し、そのようなコードに対応するソフト・ビットをはぎとるように動作できる位置に置くことができる。シーケンス・プロセッサ223は、ユーザの一意コードを、ソフト・ビットと直接に相関させることによって検出する。コードの一致がある場合に、残りのソフト・ビットが、デインターリーバ219に供給される。
【0087】
図3Aおよび3Bは、図3として示されているように一緒に接続された時に、本発明の原理による、追加データをクロミナンス部分の1つにウォーターマーキングするのに使用される例示的処理を示す図である。図3の処理は、すべてをソフトウェアで、または図1に示されたものなどの配置と共に実行することができる。
【0088】
この処理には、サブグループのすべてのクロミナンス成分が使用可能である時に、ステップ301で進入することができる。図3の処理の一部は、サブグループの基礎で行われ、一部は、クロミナンス成分ごとの基礎で行われ、一部は、ピクセル・レベルで行われる。走査線のクロミナンス成分を、ポインタiを使用してインデクシングする。上で示したように、この例示的実施形態では、各クロミナンス成分が、2つの輝度成分に対応する。
【0089】
ステップ301でこの処理に入った後に、たとえばcountU(i)=0およびcountV(i)=0など、この処理で使用される複数の変数をステップ303で初期化する。CountUは、サブグループ内の何個のクロミナンス成分が、Uクロミナンス部分でのウォーターマーキングに適するものとしてカラー選択処理によって選択されたかの累計であり、CountVは、サブグループ内の何個のクロミナンス成分が、Vクロミナンス部分でのウォーターマーキングに適するものとしてカラー選択処理によって選択されたかの累計である。
【0090】
その後、条件分岐点307で、テストを行って、特定のクロミナンス部分、すなわちUまたはVのどちらが、そのサブグループのウォーターマーク情報を含むことになるかを判定する。これは、サブグループ内のクロミナンス成分ごとにカラー選択を評価し、クロミナンス部分ごとに選択されたサブグループ内のクロミナンス成分の個数をカウントすることによって行われる。言い換えると、サブグループ内のクロミナンス成分ごとに、そのクロミナンス成分の追加データを担持するために選択されたクロミナンス部分に基づいて、countU(i)およびcountV(i)の適当な1つを増分する。クロミナンス成分の選択されたクロミナンス部分は、下で説明するように、ルック・アップ・テーブルを使用して判定することができる。サブグループ内のクロミナンス成分について最も多く選択されたクロミナンス部分が、ウォーターマーキングについて選択される、すなわち、countU(i)とcountV(i)のうちの大きい方が選択される。
【0091】
クロミナンス成分ごとのウォーターマーキングに選択されたカラーを判定する特定の方法は、実装者の自由である。本発明の1実施形態では、最小の値を有する、クロミナンス成分のクロミナンス部分が選択される。本発明のもう1つの実施形態では、下で説明するカラー選択配置が使用される。
【0092】
ステップ307のテスト結果が、Vクロミナンス部分がウォーターマーキングに選択されることである、すなわち、countV(i)>countU(i)の場合に、制御はステップ309に移り、ここで、変数SUBGROUP MAJORITYにVがセットされる。その後、制御はステップ313に移る。ステップ307のテスト結果が、Uがウォーターマーキングに選択されるクロミナンス部分であることである、すなわち、countU(i)≧countV(i)の場合に、制御はステップ311に移り、ここで、変数SUBGROUP MAJORITYにUがセットされる。その後、制御はステップ313に移る。
【0093】
ステップ313で、サブグループの最初のクロミナンス成分を入手する。次に、ステップ315で、入手されたクロミナンス成分のウォーターマーキングに使用されなければならない特定のクロミナンス部分を判定する。クロミナンス成分の選択されるクロミナンス部分は、下で説明するようにルック・アップ・テーブルを使用して判定することができる。その後、条件分岐点317でテストを行って、入手されたクロミナンス成分についてウォーターマーキングに使用しなければならない特定のクロミナンス部分が、SUBGROUP MAJORITYによって示されるクロミナンス部分と同一であるかどうかを判定する。ステップ317のテスト結果がYESであり、入手されたクロミナンス成分についてウォーターマーキングに使用しなければならない特定のクロミナンス部分が、SUBGROUP MAJORITYによって示されるクロミナンス部分と同一であることが示され、このクロミナンス部分を実際にウォーターマーキングしなければならないことが示される場合に、制御はステップ319に移って、そのクロミナンス部分に関連する輝度値のビジネスの表示、たとえば分散であるvar(i)を計算する。クロミナンス部分を囲む輝度値の一部またはすべてを使用することが可能である。本発明の態様によれば、次のように、現在のクロミナンス成分ならびに直前および直後のクロミナンス成分に関連する輝度値だけを使用してvar(i)を計算することが十分であることがわかっている。
【0094】
【数1】
【0095】
ここで、クロミナンス成分およびそれに関連する2つの輝度成分が、走査線上でY1UY2Vとして配置されており、iは、現在のクロミナンス成分をポイントするインデックスであり、i−1は、同様に配置された前のクロミナンス成分およびそれに関連する輝度値をポイントするインデックスであり、i+1は、同様に配置された次のクロミナンス成分およびそれに関連する輝度値をポイントするインデックスである。var(i)のそのような計算を使用することの利益は、テクスチャを有しない囲む区域の縁でウォーターマーキング・データを表すために大きい値を含めることがなくなることである。そのような縁では、輝度とクロミナンスの間に非常に大きい変化があるが、囲む区域は、本質的に一定の輝度およびクロミナンスを有する。その縁の分散の値が、縁のクロミナンス成分に関して加算される量を決定する場合に、そのような縁のウォーターマーキングは、可視のアーチファクトをもたらす可能性がある。したがって、縁の両側で、分散が非常に小さいので、縁の両側に非常にわずかなテクスチャがあるので、分散のインジケータとして最小の変化を使用することによって、多くとも小さい値が、ウォーターマーキング・データについて加算される。言い換えると、上のvar(i)の式では、テクスチャがない区域の間の境界を反映する変化である分散がフィルタ・アウトされている。
【0096】
さらに、走査線の始めにあり、したがって走査線上に直前のクロミナンス部分を有しないか直前のクロミナンス部分が表示されないクロミナンス部分について、そのような直前のクロミナンス部分の値を、0と考えることができる。本明細書で、クロミナンス部分の一部が、サブグループに属さないので走査線上で使用されず、これらのクロミナンス部分が走査線の終りに示されると説明したが、最初のクロミナンス部分の一部またはすべてを、未使用クロミナンス部分にすることが可能である。それを行うことによって、走査線上で最初に使用されるクロミナンス部分の分散を、その前のクロミナンス部分の実際の値を用いて計算できるようになり、最後に使用されるクロミナンス部分の分散を、それに続くクロミナンス部分の実際の値を用いて計算できるようになる。
【0097】
次に、条件分岐点321で、テストを行って、変数SUBGROUP MAJORITYがUと等しいかどうかを判定する。ステップ321のテスト結果がNOであり、変数SUBGROUP MAJORITYがVと等しいことが示され、その結果、ウォーターマーキングされるのが現在のクロミナンス成分のVクロミナンス部分である場合に、制御は、条件分岐点323に移り、ここで、テストを行って、クロミナンス成分に関連する分散var(i)が、最大のV閾値である最初に指定されたV閾値t1vより大きいかどうかを判定する。var(i)の式に基づくt1vの例示的な値は、20である。
【0098】
UおよびVの両方について図3および4と共に使用される特定の閾値が、var(i)を計算するのに使用された式だけに依存するのではなく、各Y値を表すのに使用されるビット数にも少なくとも部分的に依存することに留意されたい。たとえば、本明細書で提案される閾値は、10ビット値のYに関するものである。当業者は、10ビットに使用される値を、4で割ることすなわち、値を右に2回シフトすることによって8ビットにスケーリングできることをすぐに理解するであろう。同様に、Y、U、およびVに使用される他のビット数に、同様に対処することができる。
【0099】
本発明の他の実施形態では、さまざまな比較に輝度の分散を使用するのではなく、異なる平均分散、たとえばサブグループでの平均V分散を計算し、使用することができる。
【0100】
ステップ323のテスト結果がYESであり、var(i)の値がt1vすなわち20より大きいことが示される場合に、分散は、m1と表される最大の符号化された値、たとえば16を用いて追加データを符号化できるのに十分に大きく、制御はステップ325に移り、変数mにm1、たとえば16をセットする。
【0101】
ステップ323のテスト結果がNOであり、分散が、最大の符号化された値を用いて追加データを符号化できるのに十分に大きくないことが示される場合に、制御は、条件分岐点329に移り、テストを行って、分散が、2番目に大きい閾値である第2の指定された閾値t2vより大きいかどうかを判定する。t2vの例示的な値は、10である。
【0102】
ステップ329のテスト結果がYESであり、var(i)の値がt2vより大きい、すなわち、分散が、m2と表される2番目に大きい符号化された値、たとえば12を用いて追加データを符号化できるのに十分に大きいことが示される場合に、制御がステップ331に渡され、変数mにm2、たとえば12がセットされる。
【0103】
ステップ329のテスト結果がNOであり、分散が、2番目に大きい符号化された値を用いて追加データを符号化できるのに十分に大きくないことが示される場合に、制御は、条件分岐点333に移り、テストを行って、クロミナンス成分の分散var(i)が、最小のV閾値である3番目に指定されたV閾値t3vより大きいかどうかを判定する。t3vの例示的な値は、5である。
【0104】
ステップ333のテスト結果がYESであり、var(i)の値がt3vより大きい、すなわち、分散が、m3と表される3番目に大きい符号化された値、たとえば8を用いて追加データを符号化できるのに十分に大きいことが示される場合に、制御がステップ335に渡され、変数mにm3、たとえば8がセットされる。
【0105】
ステップ333のテスト結果がNOであり、分散が、3番目に大きい符号化された値を用いて追加データを符号化できるのに十分に大きくないことが示される場合に、制御は、ステップ337に渡され、変数mに、m4、たとえば4がセットされる。
【0106】
ステップ321のテスト結果がYESであり、変数SUBGROUP MAJORITYがUと等しく、その結果、ウォーターマーキングされるのが、現在のクロミナンス成分のUクロミナンス部分であることが示される場合に、制御は条件分岐点343に移り、テストを行って、クロミナンス成分に関連する分散var(i)が、最大のU閾値である最初に指定されたU閾値t1uより大きいかどうかを判定する。var(i)の式に基づくt1uの例示的な値は、20である。
【0107】
ステップ343のテスト結果がYESであり、var(i)の値がt1uより大きい、すなわち、分散が、m1と表される最大の符号化された値、たとえば16を用いて追加データを符号化できるのに十分に大きいことが示される場合に、制御はステップ345に渡され、変数mにm1、たとえば16がセットされる。
【0108】
ステップ343のテスト結果がNOであり、分散が、最大の符号化された値を用いて追加データを符号化できるのに十分に大きくないことが示される場合に、制御は、条件分岐点349に移り、テストを行って、分散が、2番目に大きいU閾値である、2番目に指定された閾値t2uより大きいかどうかを判定する。t2uの例示的な値は、10である。
【0109】
ステップ349のテスト結果がYESであり、var(i)の値がt2uより大きい、すなわち、分散が、m2と表される2番目に大きい符号化された値、たとえば12を用いて追加データを符号化できるのに十分に大きいことが示される場合に、制御はステップ351に渡され、変数mに、m2、たとえば12がセットされる。
【0110】
ステップ349のテスト結果がNOであり、分散が、2番目に大きい符号化された値を用いて追加データを符号化できるのに十分に大きくないことが示される場合に、制御は条件分岐点353に移り、テストを行って、クロミナンス成分の分散var(i)が、最小のU閾値である3番目に指定されたU閾値t3uより大きいかどうかを判定する。t3uの例示的な値は、5である。
【0111】
ステップ353のテスト結果がYESであり、var(i)の値がt3uより大きい、すなわち、分散が、m3と表される3番目に大きい符号化された値、たとえば8を用いて追加データを符号化できるのに十分に大きいことが示される場合に、制御はステップ355に渡され、変数mにm3、たとえば8がセットされる。
【0112】
ステップ353のテスト結果がNOであり、分散が、3番目に大きい符号化された値を用いて追加データを符号化できるのに十分に大きくないことが示される場合に、制御はステップ357に渡され、変数mにm4、たとえば4がセットされる。
【0113】
当業者は、UおよびVについて別々の経路が設けられているが、これが、UおよびVについて異なる閾値および/または異なる符号化された値を使用することを可能にするためであることをすぐに理解するであろう。本明細書の例のように、UおよびVの閾値および符号化された値が同一である時には、この2つの経路を単一の経路に折り畳むことができる。
【0114】
ステップ325、331、335、337、345、351、355、および357のいずれかの完了時に、制御は、ステップ361に移り、現在処理されている走査線がフレームの奇数走査線である場合に変数oddlineの値に1をセットする。これは、oddlineに、現在の走査線番号を2で割ったものの剰余をセットすることによって達成することができる。次に、条件分岐点363でテストして、oddlineの値が1と等しいかどうかを判定する。ステップ323のテスト結果がYESであり、現在の走査線が実際にフレームの奇数走査線であることが示される場合に、制御はステップ367に移る。ステップ323のテスト結果がNOであり、現在の走査線がフレームの偶数走査線なのでoddlineの値が0であることが示される場合に、制御はステップ365に移り、oddlineの値に−1をセットする。その後、制御はステップ367に移る。
【0115】
制御分岐点367でテストして、現在のクロミナンス位置に追加されるデータが1であるかどうかを判定する。ステップ367のテスト結果がYESであり、現在のクロミナンス成分位置に追加されるデータが1であることが示される場合に、制御はステップ369に移り、watermarkaddの値に、mとoddlineとウォーターマーキングされるクロミナンス成分の位置の対蹠的波形の値の積をセットする。言い換えると、watermarkadd=m*oddline*sin(2πi/16)であり、ここで、iは、現在のクロミナンス成分位置である。
【0116】
ステップ367のテスト結果がNOであり、現在のクロミナンス位置に追加されるデータが0であることが示される場合に、制御はステップ371に移り、watermarkaddの値に、mと−1とoddlineとウォーターマーキングされるクロミナンス成分の位置の対蹠的波形の値の積をセットする。言い換えると、watermarkadd=−m*oddline*sin(2πi/16)であり、ここで、iは、現在のクロミナンス成分位置である。
【0117】
ステップ369または371の完了後に、制御はステップ373に移り、watermarkaddの値を、SUBGROUP MAJORITYによって示される現在のクロミナンス成分のクロミナンス部分の値に加算する。その後、制御はステップ375に移る。
【0118】
ステップ373の完了後に、またはステップ317のテスト結果がNOである場合に、制御は、条件分岐点375に移り、テストして、処理したばかりのクロミナンス成分がサブグループの最後のクロミナンス成分であるかどうかを判定する。ステップ375のテスト結果がYESである場合に、制御はステップ379に移り、この処理を終了する。ステップ375のテスト結果がNOである場合に、制御はステップ337に移り、処理すべき、サブグループの次のクロミナンス成分を入手する。その後、制御はステップ315に移り、この処理が、前に説明したように継続される。
【0119】
図4Aおよび4Bは、図4として示されているように一緒に接続された時に、ビデオ信号内のウォーターマーキング信号を構成する追加情報が本発明の原理に従ってクロミナンス成分に刻印されている、ディジタル・ウォーターマーキングされたビデオ信号から追加情報を抽出する例示的処理を示す図である。そのような処理は、本発明の例示的ソフトウェア実施形態によって実施することができる。当業者は、そのような処理が図2に示された本発明の実施形態にどのように関係するかをすぐに理解するであろう。
【0120】
この処理には、たとえば6走査線のクロミナンス成分位置の同一グループなど、一緒に追加データの単一ビットを表すクロミナンス成分が受信され、保管された時に、ステップ401(図4)で進入する。教育的目的のために、本明細書で、クロミナンス成分が、それが表しているビットによってグループ化されて、図4の処理による処理のために供給され、その結果、あるビットに関するすべてのクロミナンス成分が、次のビットのクロミナンス成分が処理される前に処理されると仮定する。しかし、実際のシステムの設計では、当業者は、クロミナンス成分を、それが走査されるのと同一の順序で処理することができることと、適当なメモリ位置および制御構造を使用して、ビットによってクロミナンス成分を効果的に別々に処理できることをすぐに諒解するであろう。
【0121】
ステップ401でこの処理に進入した後に、ステップ402で、kおよびbitなど、この処理で使用される複数の変数を0に初期化する。変数bitは、あるビット位置に関する最後のソフト・ビットであり、kは、走査線カウントであり、これは、実際のフレーム走査線番号の6を法とする剰余をとり、1を加算することによって導出することができ、ここで、走査線は、1から525までの番号を付けられる。上で説明したように、1走査線に3つのビット位置があり得ることに留意されたい。
【0122】
次に、ステップ403で、走査線kのグループでの積分全体を表す変数Integ(k)に0をセットする。図2では、Integ(k)が、グループ積分器231によって展開される。サブグループ・インデックスである変数jにも、1をセットする。
【0123】
ステップ405で、j番目のサブグループのU相関の値CorrU(j)に、0をセットする。Uが、サブグループ内でウォーターマーキングされる可能性が高いクロミナンス位置として選択された回数をカウントするCntUにも、0をセットする。さらに、サブグループ内のクロミナンス成分インデックスであり、1から16までの範囲のiに、1をセットする。同様に、j番目のサブグループのV相関の値CorrV(j)に、0をセットする。Vが、サブグループ内でウォーターマーキングされる可能性が高いクロミナンス位置として選択された回数をカウントするCntVにも、0をセットする。
【0124】
ステップ407で、現在の走査線kについて、現在のクロミナンス成分すなわちU(i,j)およびV(i,j)を読み取り、そのクロミナンス成分に関連するY(i,j)の値を展開する。Y(i,j)は、たとえば、現在のクロミナンス成分に関連する2つのY値の平均値として展開することができ、あるいは、単にY値の一方とし、他方を捨てることができる。
【0125】
クロミナンス成分のそれぞれの値と対蹠的波形の現在値の間の相関を、ステップ409で計算し、結果の値を、現在のサブグループの相関の適当な累計に加算する。すなわち、
CorrU(j)=CorrU(j)+U(i,j)*sin(2πi/16)
および
CorrV(j)=CorrV(j)+V(i,j)*sin(2πi/16)
を計算する。
【0126】
次に、条件分岐点411でテストして、現在のクロミナンス成分のクロミナンス部分UまたはVのどちらがウォーターマーキングされている可能性が高いかを判定する。これは、たとえば、図2でカラー選択207を使用して判定することができる。特定のクロミナンス部分が、本質的に、カラー選択105(図1)によって実行された信号SUBGROUP MAJORITYの判定に必要であった計算を繰り返すことによって、Y、U、およびVの関数として判定される。本発明の1実施形態では、カラー選択ユニット207(図2)が、下で説明するようにルック・アップ・テーブルに基づく。
【0127】
ステップ411のテスト結果がVであり、現在のクロミナンス成分について、追加データを担持するのにVが選択された可能性が高いことが示される場合に、制御はステップ413に移り、CntVを増分する。ステップ411のテスト結果がUであり、現在のクロミナンス成分について、追加データを担持するのにUが選択された可能性が高いことが示される場合に、制御はステップ415に移り、CntUを増分する。
【0128】
ステップ413または415のいずれかの完了後に、制御はステップ417に移り、テストして、現在処理されているクロミナンス成分が、現在のサブグループの最後のクロミナンス成分すなわち、対蹠的波形の現在のサイクルに対応する最後のクロミナンス成分であるかどうかを判定する。ステップ417のテスト結果がNOであり、現在のサブグループにまだ追加のクロミナンス成分が残っていることが示される場合には、制御はステップ419に移り、クロミナンス成分インデックスiを増分する。その後、制御はステップ407に移り、この処理が、上で説明したように継続される。
【0129】
ステップ417のテスト結果がYESであり、現在のクロミナンス成分が、現在のサブグループの最後であることが示される場合に、制御は、条件分岐点421に移り、テストして、CntU≧CntVであるかどうかを判定する。ステップ421のテスト結果がYESであり、Uが、処理されたばかりのサブグループ内で、Vより多くないとしても少なくとも同一回数だけ選択されたことが示される場合に、制御はステップ423に移り、Integ(k)にInteg(k)+CorrU(j)をセットする、すなわち、サブグループのUに関する相関を、グループの総積分に加算する。同様に、ステップ421のテスト結果がNOであり、Vが、処理されたばかりのサブグループ内でUより多い回数だけ選択されたことが示される場合に、制御はステップ425に移り、Integ(k)にInteg(k)+CorrV(j)をセットする、すなわち、サブグループのVに関する相関を、グループの総積分に加算する。
【0130】
ステップ423または425の完了後に、制御は条件分岐点427に移り、テストして、現在処理されているサブグループが、現在のグループの最後のサブグループであるかどうかを判定する。ステップ427のテスト結果がNOである場合に、制御はステップ428に移り、サブグループ・インデックスjを増分して、次のサブグループをポイントする。
【0131】
ステップ427のテスト結果がYESであり、現在の走査線についてグループ全体が処理されたことが示される場合に、制御は条件分岐点429に移り、テストして、現在の走査線カウントkが偶数であるかどうかを判定する。ステップ429のテスト結果がNOであり、現在の走査線が奇数番号の走査線であり、したがって、現在のビットを判定する前に処理すべき走査線がまだあることが示される場合に、制御は、ステップ431に移り、現在の走査線カウントkを増分する。その後、制御は、ステップ403に移り、この処理が、上で説明したように継続される。
【0132】
ステップ429のテスト結果がYESであり、現在のビットを判定する前に処理すべき走査線がもうないことが示される場合に、制御はステップ433に移り、ビット位置の最終的なソフト・ビット出力であるbit(k)の値を、重み係数および、前の走査線のグループでの積分の値Integ(k−1)と現在の走査線のグループでの積分の値すなわちInteg(k)との間の差の積を加算させることによって更新する。言い換えると、ステップ433では、たとえばbit=bit+w(k/2)*(Integ(k−1)−Integ(k))を計算する。1ビットについて6本の走査線を使用する時に、3つの重み値があることに留意されたい。本発明の実施形態では、重みが、(0,1,0)である。したがって、効果的に、中央の2本の走査線だけが、ビットの値の判定に使用される。しかし、6本の走査線にわたってデータを繰り返すことは、中央の2本の走査線が、正しく検出される十分に高い可能性がある状態で、NTSC信号が受けるフィルタリングを通過するのを助ける。
【0133】
条件分岐点435でテストして、ビットの最後の走査線に達した、すなわち、kがその最大値、たとえば6に達したかどうかを判定する。ステップ435のテスト結果がNOであり、現在のビットを判定する前に処理すべき追加の走査線が残っていることが示される場合に、制御はステップ431に移り、この処理が、上で説明したように継続される。ステップ435のテスト結果がYESであり、現在のビットのすべての走査線が処理されたことが示される場合に、制御はステップ437に移り、ビットの値が、ソフト・データ出力として供給される。この処理は、その後、ステップ439で終了する。
【0134】
ビデオ信号のフレームのビット位置のすべてに追加情報を刻印する必要がないことに留意されたい。
【0135】
図6に、特定のクロミナンス部分が、クロミナンス成分のウォーターマーキング情報を含めるのにより適し、したがって選択されなければならないかどうかを判定する例示的処理を示す。この処理には、ウォーターマーキング情報を含めるクロミナンス部分を選択する必要がある時に、ステップ601で進入する。図6の説明において、クロミナンス成分が、YUVフォーマットで表されると仮定する。さらに、クロミナンス部分ごとに、1つのY値だけが必要である。したがって、4−2−2解像度の走査線の各クロミナンス部分に関連する2つのY値の平均をとることができ、あるいは、このうちの1つを選択し、他方を捨てることができ、たとえば、YUVデマルチプレクサおよびデシメータ103による出力として供給されるYの値を、次の図の説明でYとして使用することができる。
【0136】
概念上、可能なY、U、およびVの組合せに対応する3次元YUV色空間内の各位置は、Y、U、およびVがとることのできるすべての範囲を与えられれば、たとえば実験的観察に基づいて、ウォーターマーキングされた場合に視覚的アーチファクトを導入する可能性がより低いものとしてウォーターマーキングにより適するクロミナンス部分を割り当てられる。Y値、U値、およびV値の可能な組ごとにテーブル全体のある版を使用しなければならず、Y、U、およびVのそれぞれが8ビットの全範囲を有する場合に、選択されたクロミナンス部分を示すのに位置ごとに1ビットが保管されると仮定すると、少なくとも16Mビットの情報を保管する必要がある。
【0137】
3次元YUV色空間内の可能なY、U、およびVの組合せごとに選択されるクロミナンス部分の例示的な割り当ての一部の切開図を、図7に示す。図7は、教育的目的のみのために、概念化の視覚的助けとして提供され、実際のデータを表さないことに留意されたい。
【0138】
ストレージ要件を減らすために、YUV色空間を、領域のグループとみなすことができ、各領域は、Y値、U値、およびV値の少なくとも1つの組、通常は複数の組に対応する位置すなわち、各領域に対応する色空間内の位置を含むように定義され、したがって、その領域に写像される各Y、U、Vの組合せは、たとえば実験的観察に基づいて、その領域に含まれるY値、U値、およびV値の任意の組について選択されなければならないクロミナンス部分を割り当てられる。そのような領域へのグルーピングを考える1つの形が、線形または非線形とすることのできる量子化である。
【0139】
表2は、例示的な色空間選択テーブルのリスティングであり、各領域は、4つのY値、4つのU値、および4つのV値に対応し、したがって、すべてのピクセルに関する8ビット値の64個の可能な組合せに対応する。そのようなテーブルを使用することによって、位置ごとに1ビットだけが保管されると仮定して、保管される必要のある情報が256Kビットまで減る。表2は、たとえば、ROM、RAM、ハード・ディスクまたはテープ・ドライブなどの磁気ストレージ、CD−ROMまたはDVD−ROMなどの光学ストレージ、あるいは類似物などの任意のコンピュータ可読媒体に保管することができる。
【0140】
当業者は、8ビットの全範囲を有するY、U、およびVのそれぞれに関する表2に使用される値を、図1の残りの要素で使用されるものなどの10ビットのY値、U値、およびV値と共に使用するために、たとえば各10ビット値を右に2回シフトすることなど、4で割ることによってスケーリングできることを、すぐに理解するであろう。同様に、Y、U、およびVに使用される他のビット数に、同様に対処することができる。
【0141】
表2のデータを効果的に配置し、これにアクセスするために、表2は、同一のUおよびVの量子化された値を有するが異なるシーケンシャルに量子化されたY値を有する8つの隣接する領域の、指定されたUまたはVの選択(1がUの選択、0がVの選択を示す)が、一緒にグループ化されて1バイトを形成するように配置されている。したがって、UおよびVの値ごとに、8バイトがあり、各バイトは、同一のUおよびVの量子化された値を有するが異なる量子化されたY値を有する領域に対応する。
【0142】
表2は、U値に対応する最上位ビット、V値に対応する次の上位値、およびY値に対応する最下位値を有するアドレスを使用したアドレッシングされるように配置されている。言い換えると、このバイトのアドレスは、次のように形成される。
【0143】
U7|U6|U5|U4|U3|U2|V7|V6|V5|V4|V3|V2|Y7|Y6|Y5
ここで、U7、U6、U5、U4、U3、およびU2は、U値の第8下位ビットから第3下位ビットであり、V7、V6、V5、V4、V3、およびV2は、V値の第8下位ビットから第3下位ビットであり、Y7、Y6、およびY5は、Y値の第8下位ビットから第6下位ビットである。バイト内特定のビットは、Y値の第5下位ビットから第2下位ビット、たとえばY4、Y3、およびY2を使用することによって指定される。
【0144】
表2などのテーブルは、人間の視覚系が、a)青色により鈍感であり、b)より低い輝度値により敏感であるという事実を反映したものである。そのようなテーブルは、一般的に次のような、試行錯誤によって開発することができる。
【0145】
色空間を、セクション単位で調べ、各セクションは、輝度値によって定義され、その最小値から最大値まで変化する第1クロミナンス部分に対応する第1次元およびその最小値から最大値まで変化する第2クロミナンス部分に対応する第2次元で変動する。輝度およびクロミナンス部分のいずれかまたはすべてを、たとえば8ビット値の上位6ビットを使用することによって、量子化することができる。そうすることによって、異なる色のボックスとして表示された時に輝度値ごとに1平面に見える、クロミナンス部分値のチェッカーボードを有する平面の組が作られる。たとえば、輝度値および両方のクロミナンス部分の8ビット値の上位6ビットを使用する量子化によって、各可能な量子化された輝度値に対応する64個の平面が作られ、各平面は、色付きボックスのチェッカーボード・パターンを有し、1平面あたり、垂直に64個、水平に64個、合計4096個のボックスがある。
【0146】
各平面を、別々に調べる。ランダム・データが、経時的にフレームの類似する位置のボックス内に異なる値を有すると確信するのに十分な個数のフレームについて、フリッカが現れた場合に観察者がそれを検出するために、ランダム・データを展開する。30秒以上が、価値があることがわかっている。ランダム・データは、平面を含むフレームで、クロミナンス部分の第1クロミナンス部分だけに刻印される。フレームの結果の版を表示し、観察する。
【0147】
フリッカが観察されなかったすべてのボックスは、このテーブルで、輝度およびクロミナンス部分のその組合せが、その組合せの選択されたクロミナンス部分としてウォーターマーク・データを現在担持しているクロミナンス部分を使用しなければならないことを示す。フリッカが観察されたすべてのボックスは、このテーブルで、その輝度とクロミナンス部分の組合せが、その組合せの選択されたクロミナンス部分としてウォーターマーク・データを現在担持していないクロミナンス部分を使用しなければならないことを示す。この処理を、平面について、それにデータを追加されたクロミナンス部分を変更して繰り返す。
【0148】
起こり得るように、両方のクロミナンス部分についてフリッカが発生した平面のすべてのボックスについて、実装者は、どちらのクロミナンス部分を選択しなければならないかを選択することができる。たとえば、人間の視覚系は、一般に、青に鈍感なので、Uを選択することができる。その代わりに、結果のテーブルのよりよいデータ圧縮をもたらすクロミナンス部分を使用することができる。同様に、フリッカがどちらのボックスにも現れない場合に、使用すべきクロミナンス部分の選択は、実装者の自由である。
【0149】
この処理を、テーブル全体が書き込まれるまで平面ごとに繰り返す。
【0150】
【表2−1】
【0151】
【表2−2】
【0152】
【表2−3】
【0153】
【表2−4】
【0154】
【表2−5】
【0155】
【表2−6】
【0156】
【表2−7】
【0157】
【表2−8】
【0158】
【表2−9】
【0159】
【表2−10】
【0160】
【表2−11】
【0161】
ステップ603は、情報にアクセスするように配置されている場合に、その処理を開始する。具体的に言うと、ステップ603では、
y=Y>>5
u=U>>2
v=V>>2
が、現在のクロミナンス位置について計算され、ここで、「>>」は、右シフト演算である。これを行うことによって、U値の第8下位ビットから第3下位ビット、V値の第8下位ビットから第3下位ビット、およびY値の第8下位ビットから第6下位ビットだけが残される。その後、ステップ605で、ルック・アップ・テーブル・アドレスをLUT_Address=u<<9+v<<3+yとして計算し、ここで、「<<」は左シフト演算である。
【0162】
それを行うことによって、抽出されたビットが、組み合わされたアドレスに組み合わされ、供給されたY値、U値、およびV値に対応する1バイトをポイントする。その後、ステップ607で、供給されたY値、U値、およびV値に対応するバイト内の特定のビットを、Y値の第2下位ビットから第5下位ビットから構成される値をバイトへのインデックスとして使用することによって判定する。このために、ステップ607で、b=mod(Y<<2,8)を計算し、ここで、modは剰余関数である。
【0163】
ステップ609で、計算されたルック・アップ・テーブル・アドレスのバイトの第bビット位置の値を抽出し、変数mの値として割り当て、これを出力として供給する。やはり、この例示的実施形態では、抽出されたビットが1の場合に、Uが選択されたクロミナンス部分であり、抽出されたビットが0の場合に、Vが選択されたクロミナンス部分である。
【0164】
この処理は、その後、ステップ611で終了する。
【0165】
当業者は、前述を他のフォーマットのピクセル、たとえばRGBまたはYIQにどのように適合させるかをすぐに諒解するであろう。
【0166】
テーブルのハフマン符号化が望まれる場合に、経験的にわかっているように、Uがピクセル組合せの過半数に選択されると仮定すると、Uの選択が1、Vの選択が0である前述の対応を逆転することが有利である可能性があることに留意されたい。
【0167】
図8に、ピクセルのウォーターマーキング情報を含めるために特定のクロミナンス部分を選択する、もう1つの例示的処理を示す。この処理には、ウォーターマーキング情報を含むのに適するクロミナンス部分を選択する必要がある時に、ステップ801で進入する。図8の説明において、クロミナンス成分ごとに1つのY値だけがあると仮定する。
【0168】
図6の実施形態と比較した図8の実施形態のストレージ要件をさらに減らすために、本発明の態様によれば、図6に関して説明したように、YUV色空間を領域に分割し、各領域にY値、U値、およびV値の少なくとも1つの組に対応する位置を含め、各領域に、たとえば経験的観察に基づいて、Y値、U値、およびV値がその領域に含まれるピクセルについて選択されるクロミナンス部分を割り当てるだけではなく、事前定義の閾値、たとえば最大値の半分より小さいU値を有するすべてのピクセルが、ウォーターマーキングについて選択されるUクロミナンス部分を有する。したがって、8ビットのY値、U値、およびV値について、Uの値が128未満である場合に、そのUクロミナンス部分は、VまたはYの値にかかわりなく、必ずウォーターマーキングに選択される。これは、人間の視覚系が、V成分よりも青のU成分に鈍感であるからである。
【0169】
アドレスのU値から導出されるビットに対応するクロミナンス部分選択テーブルの最上位アドレス・ビットを有することによって、有利なことに、テーブルのサイズを半分まで減らすことができる。これは、テーブル・アドレスを形成する前に、U値が最大値の半分未満であるかどうかを判定するテストを追加し、テスト結果がYESである場合に、単純にUクロミナンス部分を選択することを示し、テーブルにアクセスする処理の残りをスキップすることと、アドレスのU値から導出されるビットを計算する前に実際のUの値から最大U値の半分を引くことによって達成される。したがって、図6に使用されたテーブルのうちで、0の最上位Uビットに対応する部分が除去され、このテーブルのうちで、最上位Uビットが1である部分だけが残される。しかし、このテーブルの残りの部分へのインデクシングは、U値から導出されるビットを形成する前に最大U値の半分をU値から引くことによってシフトされる。
【0170】
したがって、このテーブルは、U値に対応する最上位ビット、V値に対応する次の下位値、およびY値に対応する最下位値を有するアドレスを使用してアドレッシングされるように配置されている。言い換えると、バイトのアドレスは、次のように形成される。
【0171】
U6|U5|U4|U3|U2|V7|V6|V5|V4|V3|V2|Y7|Y6|Y5
ここで、U6、U5、U4、U3、およびU2は、U値の第7下位ビットから第3下位ビットの値、V7、V6、V5、V4、V3、およびV2は、V値の第8下位ビットから第3下位ビットの値、Y7、Y6、およびY5は、Y値の第8下位ビットから第6下位ビットの値である。バイト内の特定のビットは、Y値の第5下位ビットから第2下位ビット、たとえばY4、Y3、およびY2を使用することによって指定される。
【0172】
このために、条件分岐点802でテストして、U<predefined_valueであるかどうかを判定し、ここで、predefined_valueは、たとえば、最大U値の半分である。1ビットを節約し、テーブル・サイズを半分にするために、predefined_valueが2のべきであることが好ましいことに留意されたい。ステップ802のテスト結果がNOであり、Uの値が、事前定義の値、たとえばUの最大値の半分、たとえば128未満であり、したがって、選択されるクロミナンス部分が、Y、U、およびVの関数になり、したがって、テーブルにアクセスしなければならないことが示される場合に、制御は、ステップ803に移って、テーブルへのアクセスの処理を開始する。ステップ803で、
y=Y>>5
u=(U−事前定義の値)>>2、たとえば、u=(U−128)>>2
v=V>>2
を、現在のクロミナンス成分について計算し、ここで、「>>」は、右シフト演算である。それを行うことによって、U値の所望の第7下位ビットから第3下位ビット、V値の第8下位ビットから第3下位ビット、およびY値の第8下位ビットから第6下位ビットだけが残される。その後、ステップ805で、現在のピクセルのルック・アップ・テーブル・アドレスを、LUT_Address=u<<9+v<<3+yとして計算し、ここで、「<<」は左シフト演算である。
【0173】
それを行うことによって、抽出されたビットが、組み合わされたアドレスに組み合わされ、ピクセルに対応する1バイトをポイントする。その後、ステップ807で、ピクセルに対応するバイト内の特定のビットを、Y値の第5下位ビットから第2下位ビットから構成される値をバイトへのインデックスとして使用することによって判定する。このために、ステップ807で、b=mod(Y<<2,8)を計算し、ここで、modは剰余関数である。
【0174】
ステップ809で、計算されたルック・アップ・テーブル・アドレスのバイトの第bビット位置の値を抽出し、変数mに保管する。ステップ811で、変数mの値を、出力として供給する。やはり、出力ビットが1の場合に、Uが選択されたクロミナンス部分であり、抽出されたビットが0の場合に、Vが選択されたクロミナンス部分である。この処理は、ステップ813で終了する。
【0175】
ステップ802のテスト結果がYESであり、ピクセル・カラーが主に青でなく、したがってピクセルの青色の変更が人間の視覚系によって検出されないので、Uクロミナンス部分を選択しなければならないことが示される場合に、制御はステップ815に移り、変数mに1をセットする。これを行うことによって、Uが選択されることが保証される。その後、制御はステップ811に移り、この処理が、上で説明したように継続される。
【図面の簡単な説明】
【0176】
【図1】本発明の原理による、アナログ形式で伝送されるビデオにウォーターマーキングする例示的送信器の基本構成要素を示す図である。
【図2】本発明の原理に従ってウォーターマーキングされたアナログ・ビデオ信号から追加データを回復する例示的受信器を示す図である。
【図3A】図3として示されているように一緒に接続された時に、本発明の原理による、追加データをクロミナンス部分の1つにウォーターマーキングするのに使用される例示的処理を示す図である。
【図3B】図3として示されているように一緒に接続された時に、本発明の原理による、追加データをクロミナンス部分の1つにウォーターマーキングするのに使用される例示的処理を示す図である。
【図4A】図4として示されているように一緒に接続された時に、ビデオ信号内のウォーターマーキング信号を構成する追加情報が本発明の原理に従ってクロミナンス成分に刻印されている、ディジタル・ウォーターマーキングされたビデオ信号から追加情報を抽出する例示的処理を示す図である。
【図4B】図4として示されているように一緒に接続された時に、ビデオ信号内のウォーターマーキング信号を構成する追加情報が本発明の原理に従ってクロミナンス成分に刻印されている、ディジタル・ウォーターマーキングされたビデオ信号から追加情報を抽出する例示的処理を示す図である。
【図5】図1の対蹠的ビット・マッパーを示すより詳細な図である。
【図6】特定のクロミナンス部分が、クロミナンス成分のウォーターマーキング情報を含めるのにより適し、したがって選択されなければならないかどうかを判定する例示的処理を示す図である。
【図7】例示的に分割された色空間の一部を示す切開図である。
【図8】ピクセルのウォーターマーキング情報を含めるために特定のクロミナンス部分を選択する、もう1つの例示的処理を示す図である。
【図9】図1および5に示された複数の要素からの例示的出力を示す図である。
【技術分野】
【0001】
本発明は、アナログ信号として伝送されるビデオのウォーターマーキングの技術に関し、具体的には、ビデオ情報に追加情報を含めることに関する。
【背景技術】
【0002】
ビデオ信号のウォーターマーキングは、一般に、ビデオ自体に追加情報を含めることである。これは、ビデオのソースの埋め込まれた識別を提供し、どこでどれだけの時間の間ビデオが再生されたかを追跡し、ビデオを介して補助デバイスに情報を伝えるのに有用である可能性がある。ビデオ信号にウォーターマーキングする従来技術の技法は、通常、ビデオの輝度を使用して追加情報を担持することによって、ビデオ自体にアナログ・フォーマットで追加情報を符号化した。しかし、人間の視覚系は、輝度信号に非常に敏感であり、したがって、ウォーターマーキングされた信号を見る人は、追加情報のビット・レートをある点を超えて、たとえば120ビット毎秒を超えて増やす試みがある時に、追加情報を伝えるためにビデオ信号に対して行われた変更によって引き起こされるひずみを簡単に知覚する。したがって、ビデオ信号のウォーターマーキングの従来の技法は、ある応用例で成功を有したが、そのような成功は、追加情報を担持するビデオ信号を見る人によって知覚可能なひずみなしで達成される極端に低いビット・レートによって制限されてきた。
【0003】
その全体を本明細書に示されているかのように参照によって組み込まれている、以前に出願した米国仮出願第10/342704号で、本発明人は、共同発明者と共に、人間の視覚系が、輝度よりクロミナンスにはるかに鈍感であることを理解した。したがって、本発明人は、輝度信号ではなくビデオ信号のクロミナンス成分にウォーターマーキング信号の追加情報を挿入する、ビデオ信号にディジタル・ウォーターマーキングするシステムを開発した。したがって、追加情報は、ビデオ信号のクロミナンス成分に「刻印」される。有利なことに、特に、追加情報が、従来技術による知覚可能なひずみなしで達成可能なものより高いビット・レートを有する時に、クロミナンス成分に大きいひずみがある場合があるが、それでも、そのようなひずみは、適当に管理されるならば、人間の視覚系によって検出されない。したがって、従来技術によって達成可能なものと比較して、より高いビット・レートを有することができ、たとえば、150ビット毎秒を超えるビット・レートを達成することができる。さらに有利なことに、追加データをウォーターマーキングされたビデオ信号がMPEG(Motion Picture Expert Group)−1エンコーディング・システムおよびMPEG−2エンコーディング・システムを使用して圧縮された後であっても、追加データをビデオ信号から回復することができる。
【0004】
【特許文献1】米国仮出願第10/342704号
【特許文献2】米国仮出願第10/673893号
【特許文献3】米国仮出願第10/342704号
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、現在および予測可能な将来に使用されるビデオ伝送の最も一般的な形は、アナログ・ビデオである。アナログ・ビデオの伝送用のビデオ標準規格に、NTSC、PAL、およびSECAMが含まれる。クロミナンス成分への追加情報の追加およびクロミナンス成分のどの部分が追加情報を担持するかを判定するためのカラー選択など、追加データの刻印に関して本発明人が開示した従来の概念の多くは、アナログ・ビデオと共に使用することができるが、アナログ・ビデオ信号が通るさまざまなチャネルの特性の結果として遭遇するひずみのゆえに、本発明人の以前に開示された技法は、伝送されたウォーターマーキングされたデータが正確に受信されることを保証するのに不十分であった。
【課題を解決するための手段】
【0006】
本発明人は、NTSC、PAL、またはSECAMなどのアナログ形式で伝送されるビデオのウォーターマーキングを、本発明の原理に従って、刻印される追加データのビットを少なくとも部分的に担持するのに使用されるビデオの走査線のセグメントの一部であるクロミナンス成分の少なくとも一部のそれぞれに、a)周期的に変化する対蹠的な(antipodal)波形の値と、b)刻印される追加ウォーターマーク・データのビットを表す値と、c)任意選択として、追加ウォーターマーク・データが追加される点でのイメージのローカル・ビジネス(local business)を表す重み付け値との積を加算するためにアナログ信号のディジタル版を処理することによって改善できることを理解した。
【0007】
各セグメントは、通常、走査線の連続する複数のピクセルに対応するクロミナンス成分のグループからなる。ビットを表す走査線のセグメントは、同一の個数のクロミナンス成分からなる必要がない。たとえば、走査線に720個の使用可能なピクセルがあり、ビデオが4−2−2フォーマットである場合に、第1ビットを、走査線の最初の112個のクロミナンス成分のグループによって表すことができ、第2ビットを、走査線の128個のクロミナンス成分の次のグループによって表すことができ、第3ビットを、やはり走査線の112個のクロミナンス成分の次のグループによって表すことができる。どのグループにも属さないクロミナンス成分を残すことができる。そうである場合に、そのようなクロミナンス成分は、ウォーターマーキングにおいて無視される。たとえば、前述のグループを使用することによって、走査線の最後の8個のクロミナンス成分が、無視される。
【0008】
クロミナンス成分の各グループは、サブグループに分割される。各サブグループは、時間的に、周期的に変化する対蹠的波形の1サイクルの周期に対応する。上の例は、4−2−2表現の32個のピクセルに対応する16個のクロミナンス成分を表示する時間と同程度の長さの周期を有する周期的に変化する対蹠的波形に特に適する。112個のクロミナンス成分のグループに刻印されるビットのそれぞれは、周期的に変化する対蹠的波形の7サイクルに対応し、128個のクロミナンス成分のグループに刻印される中央ビットは、周期的に変化する対蹠的波形の8サイクルに対応する。追加サイクルを、走査線の任意の点で使用することができ、あるいは全く使用しないことができるが、イメージの中央近くで余分なサイクルを使用することが好ましく、このサイクルは、最大のアクティビティを、したがって最も低いイメージ相関を有する傾向があり、したがって、余分のサイクルによって提供される追加の堅牢さから利益を得る。
【0009】
クロミナンス成分ごとに、カラー選択プロセスが、どちらのクロミナンス部分すなわちUまたはVが、追加ウォーターマーク・データを担持するのによいかを判定する。そのような選択プロセスの1つが、その全体を本明細書に示されているかのように参照によって組み込まれている米国仮出願第10/673893号で開示されている。追加データを担持するのによりよいものとしてサブグループについて過半数の回数に選択されるクロミナンス部分が、追加データを担持するように指定される。具体的に言うと、選択プロセスがそれについて追加ウォーターマーク・データを担持するのによりよいものとして過半数選択されたクロミナンス部分を選択したサブグループのクロミナンス成分が、追加ウォーターマーク・データを担持するように変更される。このために、各そのようなクロミナンス成分は、a)そのクロミナンス部分に刻印される追加ウォーターマーク・データのビットを表す値と、b)その特定のクロミナンス成分部分の周期的に変化する対蹠的波形の値と、c)任意選択として、値が追加される位置の付近のイメージのビジネスの関数、たとえばローカル分散との積によって表される値を加算される。残りのクロミナンス成分がある場合に、これらは変更されないままになる。それを行うことが、追加データが可視にならないことを保証するのを助ける。
【0010】
次に、変更された信号を、伝送または保管のためにアナログNTSC表現に変換する。
【0011】
追加ウォーターマーク・データのビットは、複数の走査線の同一セグメント位置に繰り返して刻印することができる。たとえば、追加ウォーターマーク・データのビットを、連続する走査線の同一位置にあるクロミナンス成分のグループに刻印することができる。さらに、データが繰り返される各走査線のセグメントのデータの表現は、同一である必要がない。
【0012】
NTSCビデオの例示的実施形態では、ビデオの各走査線の「アクティブ」部分が、720個の輝度ピクセルに分割される。各走査線の「アクティブ」部分とは、走査線のうちで、見る人に表示されることを意図された内容を担持する部分である。NTSC走査線に、アクティブでなく、この実施形態で使用されない追加部分があることに留意されたい。NTSCビデオには、フレームあたり525本のビデオの走査線がある。これらの走査線は、NTSCでは2つのインターレース式フィールドとして処理され、いわゆる「奇数」フィールドが263本の走査線、いわゆる「偶数」フィールドが262本の走査線を有する。本発明の例示的実施形態では、走査線のうちの480本だけが使用される。これは、いわゆる「アクティブ」走査線に対応する、すなわち、これは、見る人に表示されることを意図された内容を担持する走査線である。
【0013】
本発明は、4−2−2表現のビデオを使用して実行されることが好ましい。各クロミナンス成分に、ビデオがYUVフォーマットで表される時に、通常2つのクロミナンス成分、たとえばUおよびVがあることに留意されたい。ビデオが4−2−2−表現である時に、走査線のアクティブ部分について、360個のクロミナンス成分がある、すなわち、めいめいのVクロミナンス部分にそれぞれが関連する360個のUクロミナンス成分がある。
【0014】
例示的実施形態では、1つの走査線が3ビットを担持し、各ビットは、3つのセグメントのめいめいの1つによって担持され、その結果、1つの走査線のクロミナンス成分が、3つのグループにグループ化され、各グループは、1セグメントに対応し、ビットの1つを表す。走査線に刻印される第1ビットは、その走査線の最初の112個のクロミナンス成分のグループによって表され、その走査線に刻印される次のビットは、その走査線の次の128個のクロミナンス成分からなるグループによって表され、その走査線に刻印される最後のビットは、その走査線の次の112個のクロミナンス成分からなるグループによって表される。各走査線の最後の8個のクロミナンス成分は、ウォーターマーキングにおいて無視される。112個のクロミナンス成分は、16個のクロミナンス成分の7個のサブグループからなり、128個のクロミナンス成分は、16個のクロミナンス成分の8個のサブグループからなる。
【0015】
例示的実施形態では、周期的に変化する対蹠的波形が、正弦波信号である。オプションの関数は、追加ウォーターマーク・データを表す値を追加できる特定のクロミナンス成分の位置の近くのイメージの輝度のビジネスの尺度である。ビジネス関数の範囲は、たとえば、1から20までとすることができる。概念上、変更されるクロミナンス部分に加算される値は、刻印されるビットの表現と、クロミナンス部分のその時の正弦波の値と、クロミナンス部分のその位置での判定されたローカル輝度分散の値とをかけあわせることによって決定される。
【0016】
例示的実施形態で、データは、複数の走査線で、たとえば3対として配置された6本の走査線で繰り返される。対の走査線ごとに、データは、対の他方の走査線に使用されたものと反対の表現を使用して表される。たとえば、対の第1走査線で、1が1によって表され、0が−1によって表される場合に、対の他方の走査線、たとえばフレームの次の連続する走査線では、1が−1によって表され、0が1によって表される。したがって、フィールドの各走査線が、同一のデータ表現を使用し、フレームの各フィールドが、同一フレームの他方のフィールドと反対の表現を使用する。
【0017】
本発明の態様によれば、本発明の例示的実施形態で、フレームの領域、たとえば最上部付近が、1つまたは複数の指定されたシーケンスを構成するビットの組、たとえば9ビットのために割り振られる。そのようなシーケンスを使用して、そのフレームにウォーターマーク・データがあるかどうかを判定することができる。フレームにウォーターマーク・データがある場合に、このシーケンスが、識別信号として働くことができ、その結果、ユーザは、フレームのウォーターマーク・データがそのユーザ用であるかどうかを知ることができるようになる。したがって、そのようなシーケンスは、ユーザを互いに分離するサブスクリプション番号として働くことができる。有利なことに、フレームが、監視されているユーザに関するものでない場合に、そのフレームを無視することができ、これによって、電力消費および必要な処理能力が減る。9ビットのそのような指定されたシーケンスを表すことは、6本の走査線の3組、合計18本の走査線を必要とする可能性があり、ここで、6本の走査線の各組は、下で説明する形で3ビットを表す。
【0018】
受信器は、受信されたウォーターマーキングされたアナログ信号のディジタル化された版を使用する。具体的に言うと、ディジタル化処理は、ディジタル版を、信号のウォーターマーキングに使用されたものと同一のフォーマット、たとえば走査線あたり720ピクセル、480走査線、4−2−2表現にしなければならない。しかし、ビデオは、たとえば普通の技法を使用して、プログレッシブにすなわち、受信されたフィールドをデインターレースされて配置されなければならない。
【0019】
処理は、走査線の対、たとえば、連続する走査線対を使用して進行する。走査線ごとに、クロミナンス成分のサンプルが、送信器と同一の形でグループ化される。カラー選択が、第1走査線の各サブグループに対して実行され、過半数選択されたカラーが、サブグループごとに識別される。各サブグループのUクロミナンス部分が、そのサブグループのU相関値を作るために対蹠的な周期的に変化する波形と相関され、同様に、各サブグループのVクロミナンス部分が、そのサブグループのV相関値を作るために対蹠的な周期的に変換する波形と相関される。各めいめいの走査線の各めいめいのグループの各サブグループの過半数選択されたクロミナンス部分の相関値が、積分される、すなわち、足し合わされる。したがって、積分された値が、各走査線のグループごとに作られる。第2走査線の各グループの積分された値を、第1走査線のめいめいの同様に配置されたグループの積分された値から引く。可変重みコンバイナを使用して、結果の差を、追加ウォーターマーク・データの同一ビットが刻印された他の対からの同一のグループ位置について作られた差と組み合わせる。それぞれがウォーターマーク・データの1ビットに対応する可変重みコンバイナの出力を、ビタビ・デコーダに供給されるソフト・ビットとして使用し、このビタビ・デコーダは、ウォーターマーク・データの最終的なハード・ビット版を供給する。
【0020】
対にされた走査線の3組が同一の刻印されたデータを担持する時に、走査線の中央の対だけを処理し、他の4本の走査線を無視する。それを行うことは、可変重みコンバイナで、最初の対と最後の対に0の重みを使用し、中央の対に1の重みを使用することに対応する。そのように刻印され、回復されるデータが、さまざまなフィルタリング動作を含む、NTSC信号の構成およびそれからのビデオの回復の処理をものともしないので、よい性能が得られる。代替案では、さまざまな重みを走査線対のそれぞれに与え、重みをソフト・ビットに適用することができる。走査線の中央グループが、残りのグループより大きい重みを与えられることが好ましく、残りのグループに、等しい重みを与えることができる。
【0021】
プリアンブル・シーケンスが使用される場合に、結果の差をビタビ・デコーダに送る必要はない。そうではなく、差すなわちソフト・ビット値を、特定のユーザに対応する既知のパターンに相関させることができる。一致がある場合に、フレームの残りを処理する。処理は、特定のユーザに属するものとしてフレームを識別すること程度の単純なものとすることができる。そうでない場合に、フレームの残りを無視する。
【発明を実施するための最良の形態】
【0022】
次は、単に本発明の原理を示すものである。したがって、当業者が、本明細書で明示的に説明されず、図示されていないが、本発明の原理を実施し、その趣旨および範囲に含まれるさまざまな実施形態を考案できることを諒解されたい。さらに、本明細書に具陳されたすべての例および条件付きのことばは、主に、技術を促進するために本発明人が貢献する本発明の原理および概念を読者が理解するのを助ける教育的な目的だけを明白に意図されており、そのような具体的に具陳された例および条件に制限されないものとして解釈されなければならない。さらに、本発明の原理、態様、および実施形態ならびにその特定の例を具陳する本明細書のすべての言明は、その構造的同等物および機能的同等物の両方を含むことを意図されている。さらに、そのような同等物に、現在既知の同等物ならびに将来に開発される同等物の両方すなわち、構造にかかわりなく、同一の機能を実行する開発されるすべての要素が含まれることが意図されている。
【0023】
したがって、たとえば、当業者は、本明細書のすべてのブロック図が、本発明の原理を実施する例示的回路の概念図を表すことを諒解するであろう。同様に、すべての流れ図、状態遷移図、擬似コード、および類似物が、コンピュータまたはプロセッサが明示的に示されているか否かにかかわらず、実質的にコンピュータ可読媒体内で表すことができ、コンピュータまたはプロセッサによって実行されるさまざまな処理を表すことを諒解されたい。
【0024】
「プロセッサ」としてラベルを付けられた機能ブロックを含む、図面に示されたさまざまな要素の機能は、専用ハードウェアならびに適当なソフトウェアに関連してソフトウェアを実行できるハードウェアの使用を介して提供することができる。プロセッサによって提供される時に、機能を、単一の専用プロセッサによって、単一の共用プロセッサによって、またはその一部を共用できる複数の個々のプロセッサによって、提供することができる。さらに、用語「プロセッサ」または「コントローラ」の明示的使用は、ソフトウェアを実行できるハードウェアへの明示的な言及と解釈されてはならず、制限なしに、ディジタル信号プロセッサ(DSP)ハードウェア、ネットワーク・プロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、ソフトウェア保管用の読取専用メモリ(ROM)、ランダム・アクセス・メモリ、および不揮発性ストレージを暗黙のうちに含むことができる。普通のおよび/またはカスタムの他のハードウェアも、含めることができる。同様に、図に示されたすべてのスイッチは、概念のみである。これらの機能は、プログラム・ロジックの動作を介して、専用ロジックを介して、プログラム制御および専用ロジックの相互作用を介して、または手動で実行することができ、特定の技法は、文脈から具体的に理解されるように実装者が選択可能である。
【0025】
本明細書の請求項では、指定された機能を実行する手段として表されたすべての要素が、たとえば、a)その機能を実行する回路要素の組合せ、またはb)その機能を実行するソフトウェアを実行する適当な回路と組み合わされた、ファームウェア、マイクロコード、または類似物を含むすべての形のソフトウェアを含む、その機能を実行するすべての形を含むことが意図されている。請求項によって定義される本発明は、さまざまな具陳された手段によって提供される機能性が、請求項が要求する形で組み合わされ、一緒にされるという事実に存する。したがって、本出願人は、これらの機能性を提供できるすべての手段を、本明細書に記載されたものと同等とみなす。
【0026】
ソフトウェアであることを暗示される、ソフトウェア・モジュールまたは単にモジュールは、本明細書で、処理ステップを示す流れ図要素または他の要素および/またはテキスト記述の組合せとして表される場合がある。そのようなモジュールを、明示的にまたは暗黙のうちに示されたハードウェアによって実行することができる。
【0027】
本明細書で明示的に他の形で示されない限り、図面は原寸通りでない。
【0028】
この説明では、異なる図面にある同一の符号の構成要素が、同一の構成要素を指す。
【0029】
図1に、a)周期的に変化する対蹠的波形と、b)刻印される追加ウォーターマーク・データのビットを表す値と、c)任意選択として、追加ウォーターマーク・データが追加される点でのイメージのローカル・ビジネスを表す重み付け値との積をビデオの走査線のセグメントのクロミナンス成分に加算するためにアナログ信号のディジタル版を処理することによって、本発明の原理に従ってアナログ形式、たとえば、NTSC、PAL、またはSECAMで送信されるビデオのウォーターマーキング用の例示的送信器101の基本構成要素を示す。
【0030】
図1には、a)YUVデマルチプレクサ(demux)およびデシメータ(decimator)103、b)カラー選択105、c)2極2投スイッチ109、d)テクスチャ・マスキング・ユニット111、e)乗算器113、f)加算器115、g)マルチプレクサ(mux)117、h)対蹠的ビット・マッパー123、i)NTSC(National Television Standard Committee)コンバータ125、およびj)遅延129が示されている。図1には、任意選択のk)チャネル符号化器119およびl)ブロック・インターリーバ121も示されている。
【0031】
YUVデマルチプレクサおよびデシメータ103は、ウォーターマーキングされるすなわち追加情報を追加されるビデオ信号を受け取る。YUVデマルチプレクサおよびデシメータ103は、ディジタル・ビデオ、たとえば、SDI(Serial Digital Interface)標準規格に従ってフォーマットされたビデオを扱うことができる。当業者が理解するように、当初は適当なディジタル・フォーマットでないすべてのビデオ信号を、普通の技法を使用してこれに変換することができる。アナログ・ビデオを、処理を開始する前にディジタルに変換することができる。
【0032】
YUVデマルチプレクサおよびデシメータ103は、ビデオの輝度(Y)成分およびクロミナンス成分を逆多重化する。ビデオ信号のクロミナンス成分は、2つの部分UおよびVを有し、Uは青の色差部分、Vは赤の色差部分である。
【0033】
クロミナンス成分に追加データを埋め込む処理の多くは、いわゆる「4−2−2」フォーマットすなわち、輝度成分がフル解像度であるがクロミナンス成分がa)縦だけフル解像度でb)横は半分の解像度であるビデオを用いて実行されることが好ましい。これは、SDI入力によって供給されるフォーマットである。4−2−2フォーマットでは、走査線の輝度の2ピクセルごとに1つのクロミナンス成分がある。しかし、ある処理動作について、輝度とクロミナンスが同一の割合であることすなわち、クロミナンス成分ごとに1つの輝度成分だけがあることが必要である。このために、YUVデマルチプレクサおよびデシメータ103は、輝度成分を水平にデシメートし、これが信号Yとして出力される。デシメートされた輝度信号部分およびクロミナンス部分は、出力としてカラー選択105に供給される。
【0034】
他の入力フォーマット、たとえば4−4−4をビデオ入力信号としてYUVデマルチプレクサおよびデシメータ103に供給することができ、YUVデマルチプレクサおよびデシメータ103は、これを、上で説明した適当なフォーマットにデシメートする。そうすることを選択した場合に、当業者は、適当なデシメートされた信号を生成する彼ら自身の方法を考案することができる。その代わりに、ある領域で4−4−4フォーマットを使用して処理を実行することができるが、水平方向の追加クロミナンスを考慮に入れる必要がある。当業者は、それを行う形をすぐに理解するであろう。
【0035】
異なるフォーマットを送信器101に供給できる場合に、オリジナル・ビデオのフォーマットを知るために、a)オペレータが、送信器101に供給されるビデオの特定のフォーマットをYUVデマルチプレクサおよびデシメータ103に示すことができ、b)ビデオのフォーマットを、普通の技法を使用してビデオから直接に検出することができ、あるいはc)その情報を、入力ビデオ信号を供給する上位レイヤ・プロセッサから供給することができる。
【0036】
YUVデマルチプレクサおよびデシメータ103は、遅延129へのオリジナル入力ビデオ信号のフォーマット、好ましくは4−2−2−フォーマットのY出力、U出力、およびV出力も供給する。遅延129は、それが受け取るY信号、U信号、およびV信号を、クロミナンス成分の1サブグループの時間すなわち、対蹠的波形の1周期の時間だけ遅延させ、それが受け取ったU信号およびV信号の遅延された版を2極2投スイッチ109に供給する。Y信号の遅延された版は、テクスチャ・マスキング・ユニット111およびマルチプレクサ117に供給される。
【0037】
カラー選択105は、YUVデマルチプレクサおよびデシメータ103からU、V、および輝度信号Yの遅延されていない版のそれぞれを受け取る。各関連するU値およびV値が、単一のクロミナンス成分を構成し、対応するY値と一緒に、2つの水平に隣接する4−2−2ピクセルに対応することに留意されたい。カラー選択105は、Y値、U値およびV値の任意の組について、クロミナンス成分のどの部分で、すなわち、U部分またはV部分のどちらで、必要な場合に、視覚的アーチファクトを導入せずに値の変化によりよく対処できるかを判定する。本発明の1実施形態で、カラー選択105の動作は、下で説明するようにルック・アップ・テーブルに基づく。代替案では、カラー選択105の動作を、全体的にまたは部分的に、その全体を本明細書に示されているかのように参照によって組み込まれている米国仮出願第10/342704号に記載のものなどのさまざまな計算に基づくものとすることができる。結果の判断が、コンポーネント・カラー・ストア131に保管される。コンポーネント・カラー・ストア131には、1サブグループ内のクロミナンス成分に関する判断が保管される。たとえば、カラー選択105が、Uをクロミナンス成分に関して選択されたクロミナンス部分にしなければならないと判定した場合に、1が、コンポーネント・カラー・ストア131に保管される。同様に、カラー選択105が、Vをクロミナンス成分に関して選択されたクロミナンス部分にしなければならないと判定した場合に、0が、コンポーネント・カラー・ストア131に保管される。コンポーネント・カラー・ストア131は、選択されたクロミナンス部分の表示を出力COMPONENT COLORとして供給する前に、1サブグループ時間期間の持続時間すなわち、対蹠的波形の1サイクルの持続時間を有する遅延を提供するために、シフト・レジスタとして実施することができる。
【0038】
1サブグループのすべてのクロミナンス成分をカラー選択105によって評価したならば、UまたはVのどちらが、そのサブグループのクロミナンス成分の過半数について選択されたかを判定する。サブグループのクロミナンス成分の過半数について選択された特定のクロミナンス部分の表示が、次のサブグループの持続時間の間、サブグループ過半数ストア133に保管され、出力SUBGROUP MAJORITYとして供給される。
【0039】
カラー選択105の出力COMPONENT COLORは、2極2投スイッチ109の位置を制御するのにも使用される。具体的に言うと、COMPONENT COLORは、2極2投スイッチ109を制御し、その結果、1)ウォーターマーク・データを担持するのに選択されたクロミナンス成分の部分を加算器115に供給し、2)選択されなかったクロミナンス成分の部分をYUVマルチプレクサ117に供給する。COMPONENT COLORは、下で説明する使用のために、マルチプレクサ117および対蹠的ビット・マッパー123にも供給される。
【0040】
テクスチャ・マスキング・ユニット111は、遅延129によって遅延された後にYUVデマルチプレクサおよびデシメータ103によって出力として供給されたデシメートされたフォーマットの各関連するクロミナンス成分および輝度成分のまわりの輝度のテクスチャを分析して、可視アーチファクトを導入せずにクロミナンス成分によって対処できる値の最大の変化を判定し、それを表す重みを出力として供給する。この重み値は、コーディングすることができ、たとえば、10ビット・クロミナンス部分値について1から20までの整数値をとることができる。テクスチャ・マスキング・ユニット111は、そのテクスチャを計算するのに特定のクロミナンス成分の周囲のすべてのピクセル位置を使用することができるが、そうするためには、イメージの複数の走査線を保管する必要がある。本発明の態様によれば、テクスチャ・マスキング・ユニット111は、現在のクロミナンス成分に関連するピクセルの輝度値と、現在の走査線の現在のクロミナンス成分の直前および直後のクロミナンス成分に関連するピクセルの輝度値とから単純にテクスチャを判定することができる。有利なことに、本発明の態様によれば、処理を過度に複雑にせずに、十分な精度が達成される。この重みが、乗算器113に供給される。
【0041】
使用される特定の値が、各Y値、U値、およびV値を表すのに使用されるビット数に少なくとも部分的に依存することに留意されたい。当業者は、使用される値を、使用されるビット数についてスケーリングできることをすぐに理解するであろう。
【0042】
乗算器113は、テクスチャ・マスキング・ユニット111から受け取った重みに、対蹠的ビット・マッパー123によって供給される、このクロミナンス成分の部分として送られた情報に関する値をかける。たとえば、対蹠的ビット・マッパー123によって供給される値は、その選択されたクロミナンス部分がサブグループの選択されたクロミナンス部分と同一すなわち信号SUBGROUP MAJORITYと同一のクロミナンス成分の、−1と1の間の範囲を有する正弦波、たとえばsin(x)または−sin(x)とすることができる。選択されたクロミナンス部分が、SUBGROUP MAJORITY信号によって示される、サブグループについて選択されたクロミナンス部分と同一でないクロミナンス成分について、対蹠的ビット・マッパー123は、0を供給する。乗算器113によって作られた積は、加算器115に供給される。
【0043】
加算器115は、乗算器113によって供給された値を、クロミナンス成分の追加情報を担持するためにカラー選択105によって選択されたクロミナンス成分の部分の値に加算することによって、変更されたクロミナンス部分を作る。説明したように、追加情報を担持するためにカラー選択105によって選択されたクロミナンスの部分は、2極2投スイッチ109によって加算器115に渡される。加算器115によって供給される変更されたクロミナンス部分は、マルチプレクサ117に供給される。
【0044】
マルチプレクサ117は、各遅延されたオリジナル輝度成分Yと、2極2投スイッチ109を介して遅延129から供給された遅延された未変更のクロミナンス部分を受け取る。マルチプレクサ117は、加算器115から変更されたクロミナンス部分も受け取る。マルチプレクサ117は、オリジナル輝度成分、未変更のクロミナンス部分、および変更されたクロミナンス部分を多重化する。マルチプレクサ117は、どのリードでクロミナンス成分の変更された部分を受け取り、どのリードでクロミナンス成分のみ変更の部分を受け取るかを、カラー選択105の出力を受け取ることによって知る。本発明の態様によれば、結果のビデオ信号が、マルチプレクサ117によって、ウォーターマーキングされた出力ビデオ信号VIDEO OUTとして供給される。
【0045】
オリジナル輝度成分が、クロミナンス成分と異なる速度で変化している場合があることに留意されたい。たとえば、オリジナル・ビデオが、4−2−2フォーマットである時に、各ピクセルは、1つの輝度値と、少なくとも1つの他のピクセルと共用されるクロミナンス成分に対応する時間からなる。2つの隣接ピクセルのグループが、それ自体のめいめいのY値を有すると同時にクロミナンス成分を共用するので、輝度成分Yは、クロミナンス成分の2倍の速度で変化している。当業者は、これを考慮に入れてシステムのタイミングをどのように設計するかをすぐに理解するであろう。たとえば、YUVデマルチプレクサおよびデシメータ103、遅延129、およびマルチプレクサ117は、他の構成要素の2倍の速度で動作する可能性がある。
【0046】
上で示したように、グループごとに送信される追加情報の2進データ値すなわち、1または0を、ウォーターマーク・データとして使用するために対蹠的ビット・マッパー123に直接に供給することができ、あるいは、これをまず処理して、受信器でのこの情報の処理および回復を容易にすることができる。そのような例示的処理は、任意選択のチャネル符号化器119およびブロック・インターリーバ121によって実行することができる。
【0047】
チャネル符号化器119は、ビデオ・ストリームに埋め込まれることが望まれる追加データを受け取る。このデータを、たとえば順方向誤り訂正コーディング方式を使用して、符号化する。そのような順方向誤り訂正方式は、たとえばビタビ符号化またはターボ符号化などの畳み込み符号化などの従来の順方向誤り訂正方式とするか、新たに開発されるコーディング方式とすることができる。本発明の1つの例示的実施形態では、レート1/4のビタビ・コーディングを使用する。そのようなコーディングの結果として、オリジナル・ビット・ストリームのビットごとに、4ビットが作られる。チャネル符号化されたビット・ストリームが、チャネル符号化器119による出力としてブロック・インターリーバ121に供給される。
【0048】
ブロック・インターリーバ121は、データをランダムに分布させるために、チャネル符号化されたビット・ストリームのビットの順序を再配置する。それを行うことは、たとえば雑音のバーストまたは他の要因に起因して、チャネル符号化されたビット・ストリームの隣接セクションが失われる(受信器で残りの実際に受信されたデータからそのようなデータを回復することを困難にする)可能性を減らすのに役立つ。本発明の例示的実施形態では、1単位としてインターリーブされるビット数が、フレームのビット数と等しい。ブロック・インターリーバは、ブロックの行に左から右へ順番にデータを書き込み、各行の終りで次の行の左端から開始し、ブロックの左上位置から始めて、列の終りに達するまで下に1列のデータを読み取り、列の終りから次の列の最上部に継続することによって実施することができる。14行×16列のブロック・インターリーバが、720×480ピクセルのピクチャ・サイズに有効であることがわかっている。異なる解像度について、当業者は、匹敵するブロック符号化器をすぐに開発することができるであろう。インターリーブされたチャネル符号化されたビット・ストリームが、ブロック・インターリーバ121による出力として対蹠的ビット・マッパー123に供給される。
【0049】
本発明の態様によれば、ブロック・インターリーバ121によって供給されるデータ・ビットは、対蹠的ビット・マッパー123の制御の下で、オリジナル・ビデオ信号の少なくとも1つのフレームの走査線の少なくとも1つのグループに、ウォーターマーク・データとして刻印される。本発明の原理によれば、対蹠的ビット・マッパー123は、刻印されるデータを表す値を供給し、この値は、その後、テクスチャ・マスキング111の出力によって重みを付けられ、選択されたクロミナンス部分の値に加算される。
【0050】
図5に、対蹠的ビット・マッパー123のより詳細な図を示す。図5には、a)2投スイッチ501、b)乗算器507、c)対蹠的正弦波ジェネレータ509、d)乗算器513、e)比較器515、およびf)コントローラ517が示されている。
【0051】
コントローラ517は、対蹠的ビット・マッパー123の全体的な動作を制御する。具体的に言うと、コントローラ517は、ブロック・インターリーバ121から受け取ったデータのビットをどのように表すかを制御する。多数のクロミナンス成分が、同一の追加データを担持するように指定されることに留意されたい。このために、たとえば、例示的実施形態では、クロミナンス成分の1走査線のクロミナンス成分値が、3つのグループにグループ化され、各グループに、1ビットの表現が割り当てられる。走査線の第1ビットを、112個のクロミナンス成分値によって表すことができ、走査線の第2ビットを、128個のクロミナンス成分値によって表すことができ、走査線の最後のビットを、112個のクロミナンス成分値によって表すことができる。各走査線の最後の8個のクロミナンス成分は、ウォーターマーキングにおいて無視される。112個のクロミナンス成分値が、16個のクロミナンス成分の7個のサブグループに対応し、128個のクロミナンス成分値が、16個のクロミナンス成分の8個のサブグループに対応する。
【0052】
さらに、同一のデータが、複数の走査線、たとえば3対として配置された6本の走査線のクロミナンス成分の同一のグループに担持される。対の走査線ごとに、データは、反対の表現を使用して表され、たとえば、対の第1走査線では、1が1によって表され、0が−1によって表され、対の他方の走査線、たとえばフレームの次の連続する走査線では、1が−1によって表され、0が1によって表される。したがって、フィールドの各走査線が、同一のデータ表現を使用し、フレームの各フィールドが、同一フレームの他方のフィールドと反対の表現を使用する。
【0053】
コントローラ517の制御の下で、対蹠的ビット・マッパー123は、クロミナンス成分がウォーターマーキングされた出力ビデオ信号に組み込まれる時にオリジナル・ビデオ信号のサブグループの各クロミナンス成分について適当な時にオリジナル・ビデオの各走査線の各サブグループについて通信されるインターリーブされたチャネル符号化されたビット・ストリームからのビットの適当な表現を供給する。したがって、対蹠的ビット・マッパー123は、ビデオ信号の処理が走査線ベースである、すなわち、処理が、走査線上で左から右に進み、次に次の走査線でやはり左から右に進み、ビット・ストリームからの同一のビットを担持する隣接するクロミナンス成分が、必ずしもビデオ・ストリーム内で連続して位置しなくなり、したがってすべてが時間的に直接に互いの後に処理されなくなるという事実を考慮に入れる。ある時に対蹠的ビット・マッパー123の出力として供給される特定のデータ・ビットは、乗算器113への入力として供給される。
【0054】
コントローラ517は、ブロック・インターリーバ121からデータを受け取る。コントローラ517は、入力として、イメージのどの走査線が処理されつつあるかに関する表示も受け取る。コントローラ517は、走査線番号の関数としてデータの値の補数をとる。たとえば、偶数走査線だけについて、データ値の補数をとる、すなわち、1を0に変更し、0を1に変更する。
【0055】
コントローラ517は、2極スイッチ501の位置を制御する。本発明の1実施形態では、上で注記したように、各連続する走査線のデータに使用される表現が、逆転される。したがって、奇数フィールドに第1の表現が使用され、偶数フィールドに反対の表現が使用される。
【0056】
ブロック・インターリーバ121から受け取ったデータを適当に変換するために、2投スイッチ501は、1の定数値に結合された第1入力と、−1の定数値に結合された第2入力とに結合されている。コントローラ517の出力が1である時に、2投スイッチ501の出力が、一定の1の値に結合される。コントローラ517の出力が0である時に、2投スイッチ501の出力が、一定の−1の値に結合される。したがって、2投スイッチ501は、効果的に、1、0データ表現から1、−1データ表現に変換する。
【0057】
2投スイッチ501の出力が、乗算器507に供給される。ブロック・インターリーバ121によって供給される例示的信号に関する2投スイッチ501からの例示的出力を、図9に示す。
【0058】
乗算器507は、正弦波信号などの対蹠的波形も受け取る。本発明の例示的実施形態では、対蹠的波形が、対蹠的正弦波ジェネレータ509によって生成された、1と−1の範囲を有する普通の正弦波である。この正弦波信号の周期は、1サブグループ時間と等しい、すなわち、たとえばテレビジョンなどのディスプレイに、たとえば4−2−2表現の16個のクロミナンス成分を含む32ピクセルなど、1サブグループ内のクロミナンス成分の個数に対応する個数のピクセルを表示する時間と等しい。この正弦波は、複数の等間隔のサンプルによってディジタルに表現される。使用される等間隔のサンプルの個数は、サブグループのクロミナンス成分の個数、たとえば16と同一である。これは、サンプル間の22.5度の間隔に対応する。たとえば、表1を参照されたい。ブロック・インターリーバ121によって供給される例示的信号に関する対蹠的正弦波ジェネレータ509からの例示的出力を、図9に示す。
【0059】
【表1】
【0060】
乗算器507によって作られる、2投スイッチ501の出力と対蹠的正弦波ジェネレータ509の出力の積が、乗算器513に供給される。ブロック・インターリーバ121によって供給される例示的信号に関する乗算器507からの例示的出力を、図9に示す。
【0061】
比較器515は、カラー選択105によって現在供給されている信号COMPONENT COLORの値を、やはりカラー選択105によって供給される信号SUBGROUP MAJORITYの現在供給されている値と比較する。これらの値が同一である場合に、比較器515は、乗算器513に1を出力する。そうでない場合に、比較器515は、乗算器513に0を出力する。したがって、比較器515は、排他的NORによって実施することができる。したがって、比較器515によって出力された1は、現在のクロミナンス成分が、そのサブグループのクロミナンス成分の過半数について変更のために選択されたものと同一のクロミナンス部分を変更するために選択されていることを示す。比較器515によって出力された0は、現在のクロミナンス成分が、そのサブグループのクロミナンス成分の過半数について変更のために選択されなかったクロミナンス部分を変更するために選択され、したがって、このクロミナンス成分の変更を実行してはならないことを示す。
【0062】
乗算器513からの出力として供給される結果の積は、乗算器113(図1)に供給される。その結果、追加情報を担持するために選択されたクロミナンス部分がクロミナンス成分と同一のサブグループのクロミナンス成分の過半数について選択されたクロミナンス部分と同一でないクロミナンス成分には値が加算されない。ブロック・インターリーバ121によって供給される例示的信号に関する乗算器513からの例示的出力を、図9に示す。
【0063】
図1に示されたものなどの符号化器を使用して、実質的にエラーがない、約1480ビット毎秒のビット・レートが、ビデオ・フレーム・サイズが720×480ピクセルである時に、チャネル符号化器119に供給される追加情報について達成された。
【0064】
当業者は、図1に本質的に本発明のパイプライン化された実施形態が示されているが、他の配置が可能であることをすぐに理解するであろう。本発明の1実施形態で、走査線全体が、便宜上バッファリングされ、その後、より高い度合の並列性を用いて処理される。
【0065】
本発明の1態様によれば、フレームの特定のビット位置を、エンコードされたユーザ供給データではなく、特定の既知のデータ・シーケンス、たとえばバーカー・シーケンスを用いて埋め込むことができる。これは、任意選択のシーケンス追加器127によって実行される。任意選択のシーケンス追加器127は、特定の既知のデータ・シーケンス、たとえばバーカー・シーケンスを供給する。対蹠的ビット・マッパー123は、たとえば、これらの位置にブロック・インターリーバ121からのデータを置く代わりに、フレームの特定のビット位置にシーケンスのビットを置き、このデータ・シーケンスは、符号化されたユーザ・データの代わりである。フレームの最上部付近に置かれることが好ましいが、データ・シーケンスが符号化されるビット位置は、フレームと共に使用可能なさまざまなビット位置全体にまき散らすことができる。そのようなシーケンス埋込みの1つの用途が、ウォーターマーキングされたフレームとしてフレームを識別することである。そのような埋め込まれたシーケンスのもう1つの用途が、特定のフレームが属するユーザを識別することであり、これは、異なるユーザのフレームに異なるコードを使用することによって達成することができる。
【0066】
図2に、本発明の原理による、クロミナンス信号にディジタル・ウォーターマーキングを含むビデオ信号から追加データを回復する例示的受信器201を示す。図2には、a)YUVデマルチプレクサ(demux)およびデシメータ203、b)カラー選択ユニット207、c)2極2投スイッチ209、d)サブグループに関するV相関器213、e)サブグループに関するU相関器215、f)デインターリーバ219、g)チャネル復号器221、h)グループ積分器231、i)走査線バッファ233、j)2投スイッチ239、k)走査線遅延241、l)減算器243、m)多投スイッチ245および249、ならびにn)可変重みコンバイナ247−1ないし247−N、集合的に可変重みコンバイナ247が示されている。
【0067】
YUVデマルチプレクサおよびデシメータ203は、送信器101(図1)のYUVデマルチプレクサおよびデシメータ103に似たものとすることができるが、本発明の原理に従って信号のクロミナンス成分に追加情報を加算することによってディジタル・ウォーターマーキングされたビデオ信号を受け取る。YUVデマルチプレクサおよびデシメータ203は、たとえばSDI(serial digital interface)に従ってフォーマットされた、ディジタル・ビデオを扱う。当業者が理解するように、受信されたアナログNTSC信号など、当初に適当なディジタル・フォーマットでないすべてのビデオ信号を、普通の技法を使用してこれに変換することができる。
【0068】
クロミナンス成分から追加データを回復する処理の多くは、4−2−2フォーマットであるビデオを用いて実行されることが好ましい。しかし、ある処理動作について、輝度とクロミナンスが同一の割合であることすなわち、クロミナンス成分ごとに1つの輝度成分だけがあることが必要である。このために、YUVデマルチプレクサおよびデシメータ203は、輝度成分を水平にデシメートし、これが信号Yとして出力される。受信されたビデオのフォーマットを知るために、a)オペレータが、入力ビデオの特定のフォーマットをYUVデマルチプレクサおよびデシメータ203に示すことができ、b)ビデオのフォーマットを、普通の技法を使用してビデオから直接に検出することができ、あるいはc)その情報を、入力ビデオ信号を供給する上位レイヤ・プロセッサから供給することができる。
【0069】
逆多重化されたクロミナンス成分およびデシメートされた輝度成分が、カラー選択207に供給される。さらに、Vクロミナンス部分が、サブグループに関するV相関器213に供給され、Uクロミナンス成分が、サブグループに関するU相関器215に供給される。YUVデマルチプレクサおよびデシメータ103と異なって、YUVデマルチプレクサおよびデシメータ203は、オリジナル入力ビデオ信号のフル・フォーマットでYUV出力を供給する必要がない。
【0070】
カラー選択ユニット207は、サブグループごとに、サブグループ内のさまざまなクロミナンス成分のY、U、およびVの関数として、このサブグループに関してクロミナンス成分のどの部分すなわちU部分またはV部分のどちらに追加情報が埋め込まれた可能性が高いかを判定する。このために、カラー選択ユニット207は、本質的に、カラー選択105(図1)によって実行された、信号SUBGROUP MAJORITYを判定するのに必要な計算を繰り返す。カラー選択ユニット207(図2)の出力は、2投スイッチ209の位置を制御し、その結果、2投スイッチ209が、相関器213および215のうちで過半数選択されたカラーに対応する相関器によって供給される相関値をグループに関する積分器231に供給するようにするのに使用される。本発明の1実施形態では、カラー選択ユニット207が、下で詳細に説明するように、ルック・アップ・テーブルに基づく。それを行うことによって、そうでなければ必要になる可能性があるYUVからRGBへの変換の必要をなくすことによって処理が単純化される。
【0071】
サブグループに関するV相関器213は、サブグループのVの値を、対蹠的正弦波ジェネレータ509によって生成されたものなどの対蹠的正弦波の1サイクル全体と相関させる。このために、各Vクロミナンス部分の値に、類似する位置の正弦波値をかけ、積のすべてを一緒に合計して、単一の値を生成する。同様に、サブグループに関するU相関器215は、サブグループのUの値を、対蹠的正弦波ジェネレータ509によって生成されたものなどの対蹠的正弦波の1サイクル全体と相関させる。このために、各Uクロミナンス部分の値に、類似する位置の正弦波値をかけ、積のすべてを一緒に合計して、単一の値を生成する。
【0072】
対蹠的正弦波の1サイクル全体と相関させることによって、1サイクルにわたって少量だけ変化し、したがって本質的にDCレベルに対応すると考えることができる選択された部分のU部分またはV部分の実際の値を、打ち消すことができる。これは、乗算の結合法則によって、結果の積を、対蹠的正弦波にDCレベルをかけたものと考えることができ、これは、対蹠的正弦波に0のDCレベルで刻印された正弦波をかけたものをクロミナンス部分値に加えたものである。対蹠的正弦波とDCレベルの乗算に関して、対蹠的波形の正の半分の間に作られる正の積値のそれぞれについて、対蹠的波形の負の半分の間に作られる対応する負の積値がある。対応する正の積と負の積を加算する時に、これらが打ち消し合う。しかし、対蹠的正弦波と0のDCレベルで刻印された正弦波の積は、対蹠的正弦波が0である点を除いて、必ず正または負の値を作る。したがって、そのような値を合計すると、全体的に正または負の値が作られる。全体的な値が正であるか負であるかは、刻印された正弦波の極性に依存する。
【0073】
選択されていないクロミナンス部分に関して相関器によって作られた結果は、一般に小さいが、無関係であり、クロミナンス部分の変動と対蹠的正弦波の間の固有の相関を反映する。
【0074】
グループ積分器231は、グループ内のサブグループごとの選択されたクロミナンス部分のそれぞれについて作られた値を足し合わせる。上で示したように、各グループのサブグループの個数が同一である必要がなく、一部のクロミナンス値が、どのグループにも属さない場合があることに留意されたい。さらに、各グループが、特定のビットの伝送の一部であることを想起されたい。結果の値が、2投スイッチ239に供給される。
【0075】
図2に示された本発明の実施形態では、奇数走査線について、2投スイッチ239が、グループ積分器231からのグループ積分された値を走査線遅延241、たとえば走査線あたり3つの値にルーティングする。偶数走査線について、2投スイッチ239は、グループ積分器231からのグループ積分された値を減算器243に直接にルーティングする。奇数走査線からの値は、走査線遅延241内で1走査線周期の間保管され、その後、減算器243に供給される。減算器243は、偶数走査線のグループ積分された値を、奇数走査線の対応する位置のめいめいの値から引く。
【0076】
2つの走査線の各グループの差の値が、スイッチ245によって可変重みコンバイナ247の1つにルーティングされる。たとえば、各走査線に刻印される3ビットがある時に、3つの可変重みコンバイナ247があり、N=3である。ルーティングは、第1の可変重みコンバイナ247が、2つの走査線の第1グループに対応する積分された差値を受け取り、次の可変重みコンバイナ247が、2つの走査線の次のグループに対応する積分された差値を受け取るようになっている。可変重みコンバイナのそれぞれは、同一のビットが刻印される走査線の対ごとに1つの、指定された個数の積分された差値の記憶位置を有する。たとえば、刻印されたデータが、6走査線で繰り返される時に、可変重みコンバイナ247のそれぞれに、走査線の対ごとに1つの、3つの記憶位置がある。
【0077】
刻印されたデータ・ビットが繰り返された走査線のすべてを処理した後に、可変重みコンバイナ247のそれぞれで、重みに、保管された値のそれぞれをかける。重み付けされた値を加算し、結果の出力を、そのビットのソフト・ビットとして供給する。ソフト・ビットは、スイッチ249によって直列に、たとえば、対応するグループがビデオ信号の走査線に現れる順序で、ルーティングされる。
【0078】
本発明の1実施形態で、刻印されたデータが6走査線で繰り返される時に、中央の2つの走査線の重みが1であり、最初の2本と最後の2本の重みが0である。この場合に、効果的に、2つの中央の走査線だけを処理する必要があり、計算が単純化される。そのような配置を使用することによって、3走査線櫛形フィルタがイメージの処理に使用される時であっても、ウォーターマーク・データが成功裡に受け取られることがわかっている。
【0079】
デインターリーバ219は、ソフト・ビットを並べ変えて、送信器101のブロック・インターリーバ121(図1)の影響を元に戻す。並べ変えられた値が、チャネル復号器221(図2)に供給され、チャネル復号器221は、送信器101(図1)のチャネル符号化器119によって使用されたタイプの符号化を使用して符号化された信号に適当な復号ならびに最終的なハード・ビット・ペイロードへのソフト・ビットの変換を実行する。結果の復号された値が、追加データ信号の再構成された版としてチャネル復号器221(図2)によって供給される。さらなる堅牢性のために、チャネル復号器221を、いわゆる「シーケンス復号器」、たとえばターボ復号器とすることができる。
【0080】
1つの例示的な応用例で、ビデオ信号内のベンダのさまざまなコマーシャルを監視することができる。ベンダに、そのコマーシャルの各フレームに埋め込まれる一意コードを割り当てることができる。受信器は、特定の一意コードと、ウォーターマーキングされたフレームのどのビット位置にそのコードが含まれるかを知るようにされる。ウォーターマーキングされたフレーム内のコードの出現を検出することによって、受信器は、そのベンダのコマーシャルの1つに属するものとしてフレームを識別することができる。コードを有するフレームを検出したならば、そのコードを組み込まれた連続するフレームの数をカウントして、コマーシャルの長さを判定することができる。カウントされたフレーム数が、最初にウォーターマーキングされた時のコマーシャルの既知の長さに基づいて予想されるフレーム数より少ない場合に、予想されたフレーム数とカウントされたフレーム数の間の差に対応する個数のフレームを除去することによって、そのコマーシャルが不適切に短縮されたと仮定することができる。当業者は、誤った一致を避ける他の普通の技法ならびにエラーに起因する最初のフレームの消失の処理を使用できることを理解するであろう。
【0081】
コマーシャルの各フレームまたはコマーシャル内のフレームのグループに、フレームに関する別個のシーケンスの一部である一意識別子、たとえばフレーム番号またはグループ番号を用いてウォーターマーキングすることができる。期待されるシーケンス内のギャップが、1つまたは複数の欠けているフレームに起因して検出された時に、各フレームが一意識別子を有する時に欠けているフレームを具体的に識別することができる。識別子が、グループだけに割り当てられ、各グループのフレーム数が既知である時に、欠けているフレームが属する特定のグループだけを、欠けているフレーム数のカウントと共に識別することができる。
【0082】
あるベンダが、さまざまなコマーシャルを有する場合に、受信されつつあるそのベンダの特定のコマーシャルを識別するために、コマーシャルのそれぞれが、さらに、そのフレームの少なくとも1つに埋め込まれたさらなるシーケンスを有することができる。
【0083】
複数のベンダが、ウォーターマーキングされたコマーシャルを有する場合に、各ベンダに一意コードが割り当てられる限り、第1一意コードを用いて第1ベンダのコマーシャルの出現について監視するシステムは、第2一意コードを有する第2ベンダのコマーシャルを無視する。代替案では、単一のシステムが、それぞれが一意コードを有する異なるベンダのコマーシャルの出現についてビデオ信号を監視することができ、その結果を、コードに基づいてベンダによって分離することができる。
【0084】
複数のベンダが、ウォーターマーキングされたコマーシャルを有する時に、各ベンダが同一のコードを使用し、コードが、各ベンダのフレーム内の同一のビット位置にある場合がある。しかし、そのフレームに含まれる後続データのすべてが、ベンダごとに一意の鍵を使用して暗号化され、各ベンダが、そのベンダの鍵だけを知っている受信器を有する。したがって、各ベンダは、それ自体のコマーシャルからのみデータを暗号化解除し、受け取ることができる。代替案では、各ベンダのデータを、フレームのビット位置に対してデータをスクランブルすることによって暗号化することができる。各受信器は、それに関連するベンダのスクランブル・パターンだけを知っている。
【0085】
1つの例示的な応用例で、コマーシャルの開始を示すコードの最初の出現の監視を、継続的に、またはそのコマーシャルが放送されると期待される時間のウィンドウ内で実行することができる。
【0086】
任意選択のシーケンス・プロセッサ223は、存在する時に、ユーザの一意コードがフレーム内に存在するかどうかを検出し、そのようなコードに対応するソフト・ビットをはぎとるように動作できる位置に置くことができる。シーケンス・プロセッサ223は、ユーザの一意コードを、ソフト・ビットと直接に相関させることによって検出する。コードの一致がある場合に、残りのソフト・ビットが、デインターリーバ219に供給される。
【0087】
図3Aおよび3Bは、図3として示されているように一緒に接続された時に、本発明の原理による、追加データをクロミナンス部分の1つにウォーターマーキングするのに使用される例示的処理を示す図である。図3の処理は、すべてをソフトウェアで、または図1に示されたものなどの配置と共に実行することができる。
【0088】
この処理には、サブグループのすべてのクロミナンス成分が使用可能である時に、ステップ301で進入することができる。図3の処理の一部は、サブグループの基礎で行われ、一部は、クロミナンス成分ごとの基礎で行われ、一部は、ピクセル・レベルで行われる。走査線のクロミナンス成分を、ポインタiを使用してインデクシングする。上で示したように、この例示的実施形態では、各クロミナンス成分が、2つの輝度成分に対応する。
【0089】
ステップ301でこの処理に入った後に、たとえばcountU(i)=0およびcountV(i)=0など、この処理で使用される複数の変数をステップ303で初期化する。CountUは、サブグループ内の何個のクロミナンス成分が、Uクロミナンス部分でのウォーターマーキングに適するものとしてカラー選択処理によって選択されたかの累計であり、CountVは、サブグループ内の何個のクロミナンス成分が、Vクロミナンス部分でのウォーターマーキングに適するものとしてカラー選択処理によって選択されたかの累計である。
【0090】
その後、条件分岐点307で、テストを行って、特定のクロミナンス部分、すなわちUまたはVのどちらが、そのサブグループのウォーターマーク情報を含むことになるかを判定する。これは、サブグループ内のクロミナンス成分ごとにカラー選択を評価し、クロミナンス部分ごとに選択されたサブグループ内のクロミナンス成分の個数をカウントすることによって行われる。言い換えると、サブグループ内のクロミナンス成分ごとに、そのクロミナンス成分の追加データを担持するために選択されたクロミナンス部分に基づいて、countU(i)およびcountV(i)の適当な1つを増分する。クロミナンス成分の選択されたクロミナンス部分は、下で説明するように、ルック・アップ・テーブルを使用して判定することができる。サブグループ内のクロミナンス成分について最も多く選択されたクロミナンス部分が、ウォーターマーキングについて選択される、すなわち、countU(i)とcountV(i)のうちの大きい方が選択される。
【0091】
クロミナンス成分ごとのウォーターマーキングに選択されたカラーを判定する特定の方法は、実装者の自由である。本発明の1実施形態では、最小の値を有する、クロミナンス成分のクロミナンス部分が選択される。本発明のもう1つの実施形態では、下で説明するカラー選択配置が使用される。
【0092】
ステップ307のテスト結果が、Vクロミナンス部分がウォーターマーキングに選択されることである、すなわち、countV(i)>countU(i)の場合に、制御はステップ309に移り、ここで、変数SUBGROUP MAJORITYにVがセットされる。その後、制御はステップ313に移る。ステップ307のテスト結果が、Uがウォーターマーキングに選択されるクロミナンス部分であることである、すなわち、countU(i)≧countV(i)の場合に、制御はステップ311に移り、ここで、変数SUBGROUP MAJORITYにUがセットされる。その後、制御はステップ313に移る。
【0093】
ステップ313で、サブグループの最初のクロミナンス成分を入手する。次に、ステップ315で、入手されたクロミナンス成分のウォーターマーキングに使用されなければならない特定のクロミナンス部分を判定する。クロミナンス成分の選択されるクロミナンス部分は、下で説明するようにルック・アップ・テーブルを使用して判定することができる。その後、条件分岐点317でテストを行って、入手されたクロミナンス成分についてウォーターマーキングに使用しなければならない特定のクロミナンス部分が、SUBGROUP MAJORITYによって示されるクロミナンス部分と同一であるかどうかを判定する。ステップ317のテスト結果がYESであり、入手されたクロミナンス成分についてウォーターマーキングに使用しなければならない特定のクロミナンス部分が、SUBGROUP MAJORITYによって示されるクロミナンス部分と同一であることが示され、このクロミナンス部分を実際にウォーターマーキングしなければならないことが示される場合に、制御はステップ319に移って、そのクロミナンス部分に関連する輝度値のビジネスの表示、たとえば分散であるvar(i)を計算する。クロミナンス部分を囲む輝度値の一部またはすべてを使用することが可能である。本発明の態様によれば、次のように、現在のクロミナンス成分ならびに直前および直後のクロミナンス成分に関連する輝度値だけを使用してvar(i)を計算することが十分であることがわかっている。
【0094】
【数1】
【0095】
ここで、クロミナンス成分およびそれに関連する2つの輝度成分が、走査線上でY1UY2Vとして配置されており、iは、現在のクロミナンス成分をポイントするインデックスであり、i−1は、同様に配置された前のクロミナンス成分およびそれに関連する輝度値をポイントするインデックスであり、i+1は、同様に配置された次のクロミナンス成分およびそれに関連する輝度値をポイントするインデックスである。var(i)のそのような計算を使用することの利益は、テクスチャを有しない囲む区域の縁でウォーターマーキング・データを表すために大きい値を含めることがなくなることである。そのような縁では、輝度とクロミナンスの間に非常に大きい変化があるが、囲む区域は、本質的に一定の輝度およびクロミナンスを有する。その縁の分散の値が、縁のクロミナンス成分に関して加算される量を決定する場合に、そのような縁のウォーターマーキングは、可視のアーチファクトをもたらす可能性がある。したがって、縁の両側で、分散が非常に小さいので、縁の両側に非常にわずかなテクスチャがあるので、分散のインジケータとして最小の変化を使用することによって、多くとも小さい値が、ウォーターマーキング・データについて加算される。言い換えると、上のvar(i)の式では、テクスチャがない区域の間の境界を反映する変化である分散がフィルタ・アウトされている。
【0096】
さらに、走査線の始めにあり、したがって走査線上に直前のクロミナンス部分を有しないか直前のクロミナンス部分が表示されないクロミナンス部分について、そのような直前のクロミナンス部分の値を、0と考えることができる。本明細書で、クロミナンス部分の一部が、サブグループに属さないので走査線上で使用されず、これらのクロミナンス部分が走査線の終りに示されると説明したが、最初のクロミナンス部分の一部またはすべてを、未使用クロミナンス部分にすることが可能である。それを行うことによって、走査線上で最初に使用されるクロミナンス部分の分散を、その前のクロミナンス部分の実際の値を用いて計算できるようになり、最後に使用されるクロミナンス部分の分散を、それに続くクロミナンス部分の実際の値を用いて計算できるようになる。
【0097】
次に、条件分岐点321で、テストを行って、変数SUBGROUP MAJORITYがUと等しいかどうかを判定する。ステップ321のテスト結果がNOであり、変数SUBGROUP MAJORITYがVと等しいことが示され、その結果、ウォーターマーキングされるのが現在のクロミナンス成分のVクロミナンス部分である場合に、制御は、条件分岐点323に移り、ここで、テストを行って、クロミナンス成分に関連する分散var(i)が、最大のV閾値である最初に指定されたV閾値t1vより大きいかどうかを判定する。var(i)の式に基づくt1vの例示的な値は、20である。
【0098】
UおよびVの両方について図3および4と共に使用される特定の閾値が、var(i)を計算するのに使用された式だけに依存するのではなく、各Y値を表すのに使用されるビット数にも少なくとも部分的に依存することに留意されたい。たとえば、本明細書で提案される閾値は、10ビット値のYに関するものである。当業者は、10ビットに使用される値を、4で割ることすなわち、値を右に2回シフトすることによって8ビットにスケーリングできることをすぐに理解するであろう。同様に、Y、U、およびVに使用される他のビット数に、同様に対処することができる。
【0099】
本発明の他の実施形態では、さまざまな比較に輝度の分散を使用するのではなく、異なる平均分散、たとえばサブグループでの平均V分散を計算し、使用することができる。
【0100】
ステップ323のテスト結果がYESであり、var(i)の値がt1vすなわち20より大きいことが示される場合に、分散は、m1と表される最大の符号化された値、たとえば16を用いて追加データを符号化できるのに十分に大きく、制御はステップ325に移り、変数mにm1、たとえば16をセットする。
【0101】
ステップ323のテスト結果がNOであり、分散が、最大の符号化された値を用いて追加データを符号化できるのに十分に大きくないことが示される場合に、制御は、条件分岐点329に移り、テストを行って、分散が、2番目に大きい閾値である第2の指定された閾値t2vより大きいかどうかを判定する。t2vの例示的な値は、10である。
【0102】
ステップ329のテスト結果がYESであり、var(i)の値がt2vより大きい、すなわち、分散が、m2と表される2番目に大きい符号化された値、たとえば12を用いて追加データを符号化できるのに十分に大きいことが示される場合に、制御がステップ331に渡され、変数mにm2、たとえば12がセットされる。
【0103】
ステップ329のテスト結果がNOであり、分散が、2番目に大きい符号化された値を用いて追加データを符号化できるのに十分に大きくないことが示される場合に、制御は、条件分岐点333に移り、テストを行って、クロミナンス成分の分散var(i)が、最小のV閾値である3番目に指定されたV閾値t3vより大きいかどうかを判定する。t3vの例示的な値は、5である。
【0104】
ステップ333のテスト結果がYESであり、var(i)の値がt3vより大きい、すなわち、分散が、m3と表される3番目に大きい符号化された値、たとえば8を用いて追加データを符号化できるのに十分に大きいことが示される場合に、制御がステップ335に渡され、変数mにm3、たとえば8がセットされる。
【0105】
ステップ333のテスト結果がNOであり、分散が、3番目に大きい符号化された値を用いて追加データを符号化できるのに十分に大きくないことが示される場合に、制御は、ステップ337に渡され、変数mに、m4、たとえば4がセットされる。
【0106】
ステップ321のテスト結果がYESであり、変数SUBGROUP MAJORITYがUと等しく、その結果、ウォーターマーキングされるのが、現在のクロミナンス成分のUクロミナンス部分であることが示される場合に、制御は条件分岐点343に移り、テストを行って、クロミナンス成分に関連する分散var(i)が、最大のU閾値である最初に指定されたU閾値t1uより大きいかどうかを判定する。var(i)の式に基づくt1uの例示的な値は、20である。
【0107】
ステップ343のテスト結果がYESであり、var(i)の値がt1uより大きい、すなわち、分散が、m1と表される最大の符号化された値、たとえば16を用いて追加データを符号化できるのに十分に大きいことが示される場合に、制御はステップ345に渡され、変数mにm1、たとえば16がセットされる。
【0108】
ステップ343のテスト結果がNOであり、分散が、最大の符号化された値を用いて追加データを符号化できるのに十分に大きくないことが示される場合に、制御は、条件分岐点349に移り、テストを行って、分散が、2番目に大きいU閾値である、2番目に指定された閾値t2uより大きいかどうかを判定する。t2uの例示的な値は、10である。
【0109】
ステップ349のテスト結果がYESであり、var(i)の値がt2uより大きい、すなわち、分散が、m2と表される2番目に大きい符号化された値、たとえば12を用いて追加データを符号化できるのに十分に大きいことが示される場合に、制御はステップ351に渡され、変数mに、m2、たとえば12がセットされる。
【0110】
ステップ349のテスト結果がNOであり、分散が、2番目に大きい符号化された値を用いて追加データを符号化できるのに十分に大きくないことが示される場合に、制御は条件分岐点353に移り、テストを行って、クロミナンス成分の分散var(i)が、最小のU閾値である3番目に指定されたU閾値t3uより大きいかどうかを判定する。t3uの例示的な値は、5である。
【0111】
ステップ353のテスト結果がYESであり、var(i)の値がt3uより大きい、すなわち、分散が、m3と表される3番目に大きい符号化された値、たとえば8を用いて追加データを符号化できるのに十分に大きいことが示される場合に、制御はステップ355に渡され、変数mにm3、たとえば8がセットされる。
【0112】
ステップ353のテスト結果がNOであり、分散が、3番目に大きい符号化された値を用いて追加データを符号化できるのに十分に大きくないことが示される場合に、制御はステップ357に渡され、変数mにm4、たとえば4がセットされる。
【0113】
当業者は、UおよびVについて別々の経路が設けられているが、これが、UおよびVについて異なる閾値および/または異なる符号化された値を使用することを可能にするためであることをすぐに理解するであろう。本明細書の例のように、UおよびVの閾値および符号化された値が同一である時には、この2つの経路を単一の経路に折り畳むことができる。
【0114】
ステップ325、331、335、337、345、351、355、および357のいずれかの完了時に、制御は、ステップ361に移り、現在処理されている走査線がフレームの奇数走査線である場合に変数oddlineの値に1をセットする。これは、oddlineに、現在の走査線番号を2で割ったものの剰余をセットすることによって達成することができる。次に、条件分岐点363でテストして、oddlineの値が1と等しいかどうかを判定する。ステップ323のテスト結果がYESであり、現在の走査線が実際にフレームの奇数走査線であることが示される場合に、制御はステップ367に移る。ステップ323のテスト結果がNOであり、現在の走査線がフレームの偶数走査線なのでoddlineの値が0であることが示される場合に、制御はステップ365に移り、oddlineの値に−1をセットする。その後、制御はステップ367に移る。
【0115】
制御分岐点367でテストして、現在のクロミナンス位置に追加されるデータが1であるかどうかを判定する。ステップ367のテスト結果がYESであり、現在のクロミナンス成分位置に追加されるデータが1であることが示される場合に、制御はステップ369に移り、watermarkaddの値に、mとoddlineとウォーターマーキングされるクロミナンス成分の位置の対蹠的波形の値の積をセットする。言い換えると、watermarkadd=m*oddline*sin(2πi/16)であり、ここで、iは、現在のクロミナンス成分位置である。
【0116】
ステップ367のテスト結果がNOであり、現在のクロミナンス位置に追加されるデータが0であることが示される場合に、制御はステップ371に移り、watermarkaddの値に、mと−1とoddlineとウォーターマーキングされるクロミナンス成分の位置の対蹠的波形の値の積をセットする。言い換えると、watermarkadd=−m*oddline*sin(2πi/16)であり、ここで、iは、現在のクロミナンス成分位置である。
【0117】
ステップ369または371の完了後に、制御はステップ373に移り、watermarkaddの値を、SUBGROUP MAJORITYによって示される現在のクロミナンス成分のクロミナンス部分の値に加算する。その後、制御はステップ375に移る。
【0118】
ステップ373の完了後に、またはステップ317のテスト結果がNOである場合に、制御は、条件分岐点375に移り、テストして、処理したばかりのクロミナンス成分がサブグループの最後のクロミナンス成分であるかどうかを判定する。ステップ375のテスト結果がYESである場合に、制御はステップ379に移り、この処理を終了する。ステップ375のテスト結果がNOである場合に、制御はステップ337に移り、処理すべき、サブグループの次のクロミナンス成分を入手する。その後、制御はステップ315に移り、この処理が、前に説明したように継続される。
【0119】
図4Aおよび4Bは、図4として示されているように一緒に接続された時に、ビデオ信号内のウォーターマーキング信号を構成する追加情報が本発明の原理に従ってクロミナンス成分に刻印されている、ディジタル・ウォーターマーキングされたビデオ信号から追加情報を抽出する例示的処理を示す図である。そのような処理は、本発明の例示的ソフトウェア実施形態によって実施することができる。当業者は、そのような処理が図2に示された本発明の実施形態にどのように関係するかをすぐに理解するであろう。
【0120】
この処理には、たとえば6走査線のクロミナンス成分位置の同一グループなど、一緒に追加データの単一ビットを表すクロミナンス成分が受信され、保管された時に、ステップ401(図4)で進入する。教育的目的のために、本明細書で、クロミナンス成分が、それが表しているビットによってグループ化されて、図4の処理による処理のために供給され、その結果、あるビットに関するすべてのクロミナンス成分が、次のビットのクロミナンス成分が処理される前に処理されると仮定する。しかし、実際のシステムの設計では、当業者は、クロミナンス成分を、それが走査されるのと同一の順序で処理することができることと、適当なメモリ位置および制御構造を使用して、ビットによってクロミナンス成分を効果的に別々に処理できることをすぐに諒解するであろう。
【0121】
ステップ401でこの処理に進入した後に、ステップ402で、kおよびbitなど、この処理で使用される複数の変数を0に初期化する。変数bitは、あるビット位置に関する最後のソフト・ビットであり、kは、走査線カウントであり、これは、実際のフレーム走査線番号の6を法とする剰余をとり、1を加算することによって導出することができ、ここで、走査線は、1から525までの番号を付けられる。上で説明したように、1走査線に3つのビット位置があり得ることに留意されたい。
【0122】
次に、ステップ403で、走査線kのグループでの積分全体を表す変数Integ(k)に0をセットする。図2では、Integ(k)が、グループ積分器231によって展開される。サブグループ・インデックスである変数jにも、1をセットする。
【0123】
ステップ405で、j番目のサブグループのU相関の値CorrU(j)に、0をセットする。Uが、サブグループ内でウォーターマーキングされる可能性が高いクロミナンス位置として選択された回数をカウントするCntUにも、0をセットする。さらに、サブグループ内のクロミナンス成分インデックスであり、1から16までの範囲のiに、1をセットする。同様に、j番目のサブグループのV相関の値CorrV(j)に、0をセットする。Vが、サブグループ内でウォーターマーキングされる可能性が高いクロミナンス位置として選択された回数をカウントするCntVにも、0をセットする。
【0124】
ステップ407で、現在の走査線kについて、現在のクロミナンス成分すなわちU(i,j)およびV(i,j)を読み取り、そのクロミナンス成分に関連するY(i,j)の値を展開する。Y(i,j)は、たとえば、現在のクロミナンス成分に関連する2つのY値の平均値として展開することができ、あるいは、単にY値の一方とし、他方を捨てることができる。
【0125】
クロミナンス成分のそれぞれの値と対蹠的波形の現在値の間の相関を、ステップ409で計算し、結果の値を、現在のサブグループの相関の適当な累計に加算する。すなわち、
CorrU(j)=CorrU(j)+U(i,j)*sin(2πi/16)
および
CorrV(j)=CorrV(j)+V(i,j)*sin(2πi/16)
を計算する。
【0126】
次に、条件分岐点411でテストして、現在のクロミナンス成分のクロミナンス部分UまたはVのどちらがウォーターマーキングされている可能性が高いかを判定する。これは、たとえば、図2でカラー選択207を使用して判定することができる。特定のクロミナンス部分が、本質的に、カラー選択105(図1)によって実行された信号SUBGROUP MAJORITYの判定に必要であった計算を繰り返すことによって、Y、U、およびVの関数として判定される。本発明の1実施形態では、カラー選択ユニット207(図2)が、下で説明するようにルック・アップ・テーブルに基づく。
【0127】
ステップ411のテスト結果がVであり、現在のクロミナンス成分について、追加データを担持するのにVが選択された可能性が高いことが示される場合に、制御はステップ413に移り、CntVを増分する。ステップ411のテスト結果がUであり、現在のクロミナンス成分について、追加データを担持するのにUが選択された可能性が高いことが示される場合に、制御はステップ415に移り、CntUを増分する。
【0128】
ステップ413または415のいずれかの完了後に、制御はステップ417に移り、テストして、現在処理されているクロミナンス成分が、現在のサブグループの最後のクロミナンス成分すなわち、対蹠的波形の現在のサイクルに対応する最後のクロミナンス成分であるかどうかを判定する。ステップ417のテスト結果がNOであり、現在のサブグループにまだ追加のクロミナンス成分が残っていることが示される場合には、制御はステップ419に移り、クロミナンス成分インデックスiを増分する。その後、制御はステップ407に移り、この処理が、上で説明したように継続される。
【0129】
ステップ417のテスト結果がYESであり、現在のクロミナンス成分が、現在のサブグループの最後であることが示される場合に、制御は、条件分岐点421に移り、テストして、CntU≧CntVであるかどうかを判定する。ステップ421のテスト結果がYESであり、Uが、処理されたばかりのサブグループ内で、Vより多くないとしても少なくとも同一回数だけ選択されたことが示される場合に、制御はステップ423に移り、Integ(k)にInteg(k)+CorrU(j)をセットする、すなわち、サブグループのUに関する相関を、グループの総積分に加算する。同様に、ステップ421のテスト結果がNOであり、Vが、処理されたばかりのサブグループ内でUより多い回数だけ選択されたことが示される場合に、制御はステップ425に移り、Integ(k)にInteg(k)+CorrV(j)をセットする、すなわち、サブグループのVに関する相関を、グループの総積分に加算する。
【0130】
ステップ423または425の完了後に、制御は条件分岐点427に移り、テストして、現在処理されているサブグループが、現在のグループの最後のサブグループであるかどうかを判定する。ステップ427のテスト結果がNOである場合に、制御はステップ428に移り、サブグループ・インデックスjを増分して、次のサブグループをポイントする。
【0131】
ステップ427のテスト結果がYESであり、現在の走査線についてグループ全体が処理されたことが示される場合に、制御は条件分岐点429に移り、テストして、現在の走査線カウントkが偶数であるかどうかを判定する。ステップ429のテスト結果がNOであり、現在の走査線が奇数番号の走査線であり、したがって、現在のビットを判定する前に処理すべき走査線がまだあることが示される場合に、制御は、ステップ431に移り、現在の走査線カウントkを増分する。その後、制御は、ステップ403に移り、この処理が、上で説明したように継続される。
【0132】
ステップ429のテスト結果がYESであり、現在のビットを判定する前に処理すべき走査線がもうないことが示される場合に、制御はステップ433に移り、ビット位置の最終的なソフト・ビット出力であるbit(k)の値を、重み係数および、前の走査線のグループでの積分の値Integ(k−1)と現在の走査線のグループでの積分の値すなわちInteg(k)との間の差の積を加算させることによって更新する。言い換えると、ステップ433では、たとえばbit=bit+w(k/2)*(Integ(k−1)−Integ(k))を計算する。1ビットについて6本の走査線を使用する時に、3つの重み値があることに留意されたい。本発明の実施形態では、重みが、(0,1,0)である。したがって、効果的に、中央の2本の走査線だけが、ビットの値の判定に使用される。しかし、6本の走査線にわたってデータを繰り返すことは、中央の2本の走査線が、正しく検出される十分に高い可能性がある状態で、NTSC信号が受けるフィルタリングを通過するのを助ける。
【0133】
条件分岐点435でテストして、ビットの最後の走査線に達した、すなわち、kがその最大値、たとえば6に達したかどうかを判定する。ステップ435のテスト結果がNOであり、現在のビットを判定する前に処理すべき追加の走査線が残っていることが示される場合に、制御はステップ431に移り、この処理が、上で説明したように継続される。ステップ435のテスト結果がYESであり、現在のビットのすべての走査線が処理されたことが示される場合に、制御はステップ437に移り、ビットの値が、ソフト・データ出力として供給される。この処理は、その後、ステップ439で終了する。
【0134】
ビデオ信号のフレームのビット位置のすべてに追加情報を刻印する必要がないことに留意されたい。
【0135】
図6に、特定のクロミナンス部分が、クロミナンス成分のウォーターマーキング情報を含めるのにより適し、したがって選択されなければならないかどうかを判定する例示的処理を示す。この処理には、ウォーターマーキング情報を含めるクロミナンス部分を選択する必要がある時に、ステップ601で進入する。図6の説明において、クロミナンス成分が、YUVフォーマットで表されると仮定する。さらに、クロミナンス部分ごとに、1つのY値だけが必要である。したがって、4−2−2解像度の走査線の各クロミナンス部分に関連する2つのY値の平均をとることができ、あるいは、このうちの1つを選択し、他方を捨てることができ、たとえば、YUVデマルチプレクサおよびデシメータ103による出力として供給されるYの値を、次の図の説明でYとして使用することができる。
【0136】
概念上、可能なY、U、およびVの組合せに対応する3次元YUV色空間内の各位置は、Y、U、およびVがとることのできるすべての範囲を与えられれば、たとえば実験的観察に基づいて、ウォーターマーキングされた場合に視覚的アーチファクトを導入する可能性がより低いものとしてウォーターマーキングにより適するクロミナンス部分を割り当てられる。Y値、U値、およびV値の可能な組ごとにテーブル全体のある版を使用しなければならず、Y、U、およびVのそれぞれが8ビットの全範囲を有する場合に、選択されたクロミナンス部分を示すのに位置ごとに1ビットが保管されると仮定すると、少なくとも16Mビットの情報を保管する必要がある。
【0137】
3次元YUV色空間内の可能なY、U、およびVの組合せごとに選択されるクロミナンス部分の例示的な割り当ての一部の切開図を、図7に示す。図7は、教育的目的のみのために、概念化の視覚的助けとして提供され、実際のデータを表さないことに留意されたい。
【0138】
ストレージ要件を減らすために、YUV色空間を、領域のグループとみなすことができ、各領域は、Y値、U値、およびV値の少なくとも1つの組、通常は複数の組に対応する位置すなわち、各領域に対応する色空間内の位置を含むように定義され、したがって、その領域に写像される各Y、U、Vの組合せは、たとえば実験的観察に基づいて、その領域に含まれるY値、U値、およびV値の任意の組について選択されなければならないクロミナンス部分を割り当てられる。そのような領域へのグルーピングを考える1つの形が、線形または非線形とすることのできる量子化である。
【0139】
表2は、例示的な色空間選択テーブルのリスティングであり、各領域は、4つのY値、4つのU値、および4つのV値に対応し、したがって、すべてのピクセルに関する8ビット値の64個の可能な組合せに対応する。そのようなテーブルを使用することによって、位置ごとに1ビットだけが保管されると仮定して、保管される必要のある情報が256Kビットまで減る。表2は、たとえば、ROM、RAM、ハード・ディスクまたはテープ・ドライブなどの磁気ストレージ、CD−ROMまたはDVD−ROMなどの光学ストレージ、あるいは類似物などの任意のコンピュータ可読媒体に保管することができる。
【0140】
当業者は、8ビットの全範囲を有するY、U、およびVのそれぞれに関する表2に使用される値を、図1の残りの要素で使用されるものなどの10ビットのY値、U値、およびV値と共に使用するために、たとえば各10ビット値を右に2回シフトすることなど、4で割ることによってスケーリングできることを、すぐに理解するであろう。同様に、Y、U、およびVに使用される他のビット数に、同様に対処することができる。
【0141】
表2のデータを効果的に配置し、これにアクセスするために、表2は、同一のUおよびVの量子化された値を有するが異なるシーケンシャルに量子化されたY値を有する8つの隣接する領域の、指定されたUまたはVの選択(1がUの選択、0がVの選択を示す)が、一緒にグループ化されて1バイトを形成するように配置されている。したがって、UおよびVの値ごとに、8バイトがあり、各バイトは、同一のUおよびVの量子化された値を有するが異なる量子化されたY値を有する領域に対応する。
【0142】
表2は、U値に対応する最上位ビット、V値に対応する次の上位値、およびY値に対応する最下位値を有するアドレスを使用したアドレッシングされるように配置されている。言い換えると、このバイトのアドレスは、次のように形成される。
【0143】
U7|U6|U5|U4|U3|U2|V7|V6|V5|V4|V3|V2|Y7|Y6|Y5
ここで、U7、U6、U5、U4、U3、およびU2は、U値の第8下位ビットから第3下位ビットであり、V7、V6、V5、V4、V3、およびV2は、V値の第8下位ビットから第3下位ビットであり、Y7、Y6、およびY5は、Y値の第8下位ビットから第6下位ビットである。バイト内特定のビットは、Y値の第5下位ビットから第2下位ビット、たとえばY4、Y3、およびY2を使用することによって指定される。
【0144】
表2などのテーブルは、人間の視覚系が、a)青色により鈍感であり、b)より低い輝度値により敏感であるという事実を反映したものである。そのようなテーブルは、一般的に次のような、試行錯誤によって開発することができる。
【0145】
色空間を、セクション単位で調べ、各セクションは、輝度値によって定義され、その最小値から最大値まで変化する第1クロミナンス部分に対応する第1次元およびその最小値から最大値まで変化する第2クロミナンス部分に対応する第2次元で変動する。輝度およびクロミナンス部分のいずれかまたはすべてを、たとえば8ビット値の上位6ビットを使用することによって、量子化することができる。そうすることによって、異なる色のボックスとして表示された時に輝度値ごとに1平面に見える、クロミナンス部分値のチェッカーボードを有する平面の組が作られる。たとえば、輝度値および両方のクロミナンス部分の8ビット値の上位6ビットを使用する量子化によって、各可能な量子化された輝度値に対応する64個の平面が作られ、各平面は、色付きボックスのチェッカーボード・パターンを有し、1平面あたり、垂直に64個、水平に64個、合計4096個のボックスがある。
【0146】
各平面を、別々に調べる。ランダム・データが、経時的にフレームの類似する位置のボックス内に異なる値を有すると確信するのに十分な個数のフレームについて、フリッカが現れた場合に観察者がそれを検出するために、ランダム・データを展開する。30秒以上が、価値があることがわかっている。ランダム・データは、平面を含むフレームで、クロミナンス部分の第1クロミナンス部分だけに刻印される。フレームの結果の版を表示し、観察する。
【0147】
フリッカが観察されなかったすべてのボックスは、このテーブルで、輝度およびクロミナンス部分のその組合せが、その組合せの選択されたクロミナンス部分としてウォーターマーク・データを現在担持しているクロミナンス部分を使用しなければならないことを示す。フリッカが観察されたすべてのボックスは、このテーブルで、その輝度とクロミナンス部分の組合せが、その組合せの選択されたクロミナンス部分としてウォーターマーク・データを現在担持していないクロミナンス部分を使用しなければならないことを示す。この処理を、平面について、それにデータを追加されたクロミナンス部分を変更して繰り返す。
【0148】
起こり得るように、両方のクロミナンス部分についてフリッカが発生した平面のすべてのボックスについて、実装者は、どちらのクロミナンス部分を選択しなければならないかを選択することができる。たとえば、人間の視覚系は、一般に、青に鈍感なので、Uを選択することができる。その代わりに、結果のテーブルのよりよいデータ圧縮をもたらすクロミナンス部分を使用することができる。同様に、フリッカがどちらのボックスにも現れない場合に、使用すべきクロミナンス部分の選択は、実装者の自由である。
【0149】
この処理を、テーブル全体が書き込まれるまで平面ごとに繰り返す。
【0150】
【表2−1】
【0151】
【表2−2】
【0152】
【表2−3】
【0153】
【表2−4】
【0154】
【表2−5】
【0155】
【表2−6】
【0156】
【表2−7】
【0157】
【表2−8】
【0158】
【表2−9】
【0159】
【表2−10】
【0160】
【表2−11】
【0161】
ステップ603は、情報にアクセスするように配置されている場合に、その処理を開始する。具体的に言うと、ステップ603では、
y=Y>>5
u=U>>2
v=V>>2
が、現在のクロミナンス位置について計算され、ここで、「>>」は、右シフト演算である。これを行うことによって、U値の第8下位ビットから第3下位ビット、V値の第8下位ビットから第3下位ビット、およびY値の第8下位ビットから第6下位ビットだけが残される。その後、ステップ605で、ルック・アップ・テーブル・アドレスをLUT_Address=u<<9+v<<3+yとして計算し、ここで、「<<」は左シフト演算である。
【0162】
それを行うことによって、抽出されたビットが、組み合わされたアドレスに組み合わされ、供給されたY値、U値、およびV値に対応する1バイトをポイントする。その後、ステップ607で、供給されたY値、U値、およびV値に対応するバイト内の特定のビットを、Y値の第2下位ビットから第5下位ビットから構成される値をバイトへのインデックスとして使用することによって判定する。このために、ステップ607で、b=mod(Y<<2,8)を計算し、ここで、modは剰余関数である。
【0163】
ステップ609で、計算されたルック・アップ・テーブル・アドレスのバイトの第bビット位置の値を抽出し、変数mの値として割り当て、これを出力として供給する。やはり、この例示的実施形態では、抽出されたビットが1の場合に、Uが選択されたクロミナンス部分であり、抽出されたビットが0の場合に、Vが選択されたクロミナンス部分である。
【0164】
この処理は、その後、ステップ611で終了する。
【0165】
当業者は、前述を他のフォーマットのピクセル、たとえばRGBまたはYIQにどのように適合させるかをすぐに諒解するであろう。
【0166】
テーブルのハフマン符号化が望まれる場合に、経験的にわかっているように、Uがピクセル組合せの過半数に選択されると仮定すると、Uの選択が1、Vの選択が0である前述の対応を逆転することが有利である可能性があることに留意されたい。
【0167】
図8に、ピクセルのウォーターマーキング情報を含めるために特定のクロミナンス部分を選択する、もう1つの例示的処理を示す。この処理には、ウォーターマーキング情報を含むのに適するクロミナンス部分を選択する必要がある時に、ステップ801で進入する。図8の説明において、クロミナンス成分ごとに1つのY値だけがあると仮定する。
【0168】
図6の実施形態と比較した図8の実施形態のストレージ要件をさらに減らすために、本発明の態様によれば、図6に関して説明したように、YUV色空間を領域に分割し、各領域にY値、U値、およびV値の少なくとも1つの組に対応する位置を含め、各領域に、たとえば経験的観察に基づいて、Y値、U値、およびV値がその領域に含まれるピクセルについて選択されるクロミナンス部分を割り当てるだけではなく、事前定義の閾値、たとえば最大値の半分より小さいU値を有するすべてのピクセルが、ウォーターマーキングについて選択されるUクロミナンス部分を有する。したがって、8ビットのY値、U値、およびV値について、Uの値が128未満である場合に、そのUクロミナンス部分は、VまたはYの値にかかわりなく、必ずウォーターマーキングに選択される。これは、人間の視覚系が、V成分よりも青のU成分に鈍感であるからである。
【0169】
アドレスのU値から導出されるビットに対応するクロミナンス部分選択テーブルの最上位アドレス・ビットを有することによって、有利なことに、テーブルのサイズを半分まで減らすことができる。これは、テーブル・アドレスを形成する前に、U値が最大値の半分未満であるかどうかを判定するテストを追加し、テスト結果がYESである場合に、単純にUクロミナンス部分を選択することを示し、テーブルにアクセスする処理の残りをスキップすることと、アドレスのU値から導出されるビットを計算する前に実際のUの値から最大U値の半分を引くことによって達成される。したがって、図6に使用されたテーブルのうちで、0の最上位Uビットに対応する部分が除去され、このテーブルのうちで、最上位Uビットが1である部分だけが残される。しかし、このテーブルの残りの部分へのインデクシングは、U値から導出されるビットを形成する前に最大U値の半分をU値から引くことによってシフトされる。
【0170】
したがって、このテーブルは、U値に対応する最上位ビット、V値に対応する次の下位値、およびY値に対応する最下位値を有するアドレスを使用してアドレッシングされるように配置されている。言い換えると、バイトのアドレスは、次のように形成される。
【0171】
U6|U5|U4|U3|U2|V7|V6|V5|V4|V3|V2|Y7|Y6|Y5
ここで、U6、U5、U4、U3、およびU2は、U値の第7下位ビットから第3下位ビットの値、V7、V6、V5、V4、V3、およびV2は、V値の第8下位ビットから第3下位ビットの値、Y7、Y6、およびY5は、Y値の第8下位ビットから第6下位ビットの値である。バイト内の特定のビットは、Y値の第5下位ビットから第2下位ビット、たとえばY4、Y3、およびY2を使用することによって指定される。
【0172】
このために、条件分岐点802でテストして、U<predefined_valueであるかどうかを判定し、ここで、predefined_valueは、たとえば、最大U値の半分である。1ビットを節約し、テーブル・サイズを半分にするために、predefined_valueが2のべきであることが好ましいことに留意されたい。ステップ802のテスト結果がNOであり、Uの値が、事前定義の値、たとえばUの最大値の半分、たとえば128未満であり、したがって、選択されるクロミナンス部分が、Y、U、およびVの関数になり、したがって、テーブルにアクセスしなければならないことが示される場合に、制御は、ステップ803に移って、テーブルへのアクセスの処理を開始する。ステップ803で、
y=Y>>5
u=(U−事前定義の値)>>2、たとえば、u=(U−128)>>2
v=V>>2
を、現在のクロミナンス成分について計算し、ここで、「>>」は、右シフト演算である。それを行うことによって、U値の所望の第7下位ビットから第3下位ビット、V値の第8下位ビットから第3下位ビット、およびY値の第8下位ビットから第6下位ビットだけが残される。その後、ステップ805で、現在のピクセルのルック・アップ・テーブル・アドレスを、LUT_Address=u<<9+v<<3+yとして計算し、ここで、「<<」は左シフト演算である。
【0173】
それを行うことによって、抽出されたビットが、組み合わされたアドレスに組み合わされ、ピクセルに対応する1バイトをポイントする。その後、ステップ807で、ピクセルに対応するバイト内の特定のビットを、Y値の第5下位ビットから第2下位ビットから構成される値をバイトへのインデックスとして使用することによって判定する。このために、ステップ807で、b=mod(Y<<2,8)を計算し、ここで、modは剰余関数である。
【0174】
ステップ809で、計算されたルック・アップ・テーブル・アドレスのバイトの第bビット位置の値を抽出し、変数mに保管する。ステップ811で、変数mの値を、出力として供給する。やはり、出力ビットが1の場合に、Uが選択されたクロミナンス部分であり、抽出されたビットが0の場合に、Vが選択されたクロミナンス部分である。この処理は、ステップ813で終了する。
【0175】
ステップ802のテスト結果がYESであり、ピクセル・カラーが主に青でなく、したがってピクセルの青色の変更が人間の視覚系によって検出されないので、Uクロミナンス部分を選択しなければならないことが示される場合に、制御はステップ815に移り、変数mに1をセットする。これを行うことによって、Uが選択されることが保証される。その後、制御はステップ811に移り、この処理が、上で説明したように継続される。
【図面の簡単な説明】
【0176】
【図1】本発明の原理による、アナログ形式で伝送されるビデオにウォーターマーキングする例示的送信器の基本構成要素を示す図である。
【図2】本発明の原理に従ってウォーターマーキングされたアナログ・ビデオ信号から追加データを回復する例示的受信器を示す図である。
【図3A】図3として示されているように一緒に接続された時に、本発明の原理による、追加データをクロミナンス部分の1つにウォーターマーキングするのに使用される例示的処理を示す図である。
【図3B】図3として示されているように一緒に接続された時に、本発明の原理による、追加データをクロミナンス部分の1つにウォーターマーキングするのに使用される例示的処理を示す図である。
【図4A】図4として示されているように一緒に接続された時に、ビデオ信号内のウォーターマーキング信号を構成する追加情報が本発明の原理に従ってクロミナンス成分に刻印されている、ディジタル・ウォーターマーキングされたビデオ信号から追加情報を抽出する例示的処理を示す図である。
【図4B】図4として示されているように一緒に接続された時に、ビデオ信号内のウォーターマーキング信号を構成する追加情報が本発明の原理に従ってクロミナンス成分に刻印されている、ディジタル・ウォーターマーキングされたビデオ信号から追加情報を抽出する例示的処理を示す図である。
【図5】図1の対蹠的ビット・マッパーを示すより詳細な図である。
【図6】特定のクロミナンス部分が、クロミナンス成分のウォーターマーキング情報を含めるのにより適し、したがって選択されなければならないかどうかを判定する例示的処理を示す図である。
【図7】例示的に分割された色空間の一部を示す切開図である。
【図8】ピクセルのウォーターマーキング情報を含めるために特定のクロミナンス部分を選択する、もう1つの例示的処理を示す図である。
【図9】図1および5に示された複数の要素からの例示的出力を示す図である。
【特許請求の範囲】
【請求項1】
追加ウォーターマーキング・データの各単位を表す値を、ビデオ信号のクロミナンス成分の1つの選択されたクロミナンス部分に加算するデータ加算器であって、前記値は、周期的に変化する対蹠的波形の関数である、データ加算器
を含む、前記ビデオ信号内に前記追加ウォーターマーキング・データを埋め込む装置。
【請求項2】
前記追加情報の単一単位を表す前記クロミナンス成分の前記1つのそれぞれは、クロミナンス成分の複数のグループの1つのメンバであり、前記グループのそれぞれは、前記ビデオ信号の異なる走査線上の類似する位置にある、請求項1に記載の発明。
【請求項3】
加算される前記値のそれぞれは、a)前記周期的に変化する対蹠的波形の値と、b)前記ビデオ信号に埋め込まれつつある前記追加情報の前記単位の値を表す値との積である、請求項1に記載の発明。
【請求項4】
前記ビデオ信号に埋め込まれつつある前記追加情報の前記単位を表す前記値は、前記クロミナンス成分が属する前記ビデオ信号の走査線番号の関数である、請求項3に記載の発明。
【請求項5】
前記ビデオ信号に埋め込まれつつある前記追加情報の前記単位を表す前記値は、値1および−1を使用することによって表される、請求項3に記載の発明。
【請求項6】
前記クロミナンス部分に加算される前記値のそれぞれは、a)前記周期的に変化する対蹠的波形の値と、b)刻印される前記追加ウォーターマーキング・データの前記単位を表す値と、c)重み付け値との積の関数である、請求項1に記載の発明。
【請求項7】
前記クロミナンス成分のそれぞれについて、そのクロミナンス部分のどれが、人間の視覚系によって実質的に知覚可能なアーチファクトを導入せずに値の変化によりよく耐え得るかを判定するカラー選択ユニットをさらに含む、請求項1に記載の発明。
【請求項8】
前記追加ウォーターマーキング・データが前記ビデオ信号に埋め込まれる前に、前記追加ウォーターマーキング・データをインターリーブするブロック・インターリーバをさらに含む、請求項1に記載の発明。
【請求項9】
前記追加ウォーターマーキング・データが前記ビデオ信号に埋め込まれる前に、前記追加ウォーターマーキング・データをチャネル符号化するチャネル符号化器をさらに含む、請求項1に記載の発明。
【請求項10】
前記追加ウォーターマーキング・データに、特定のユーザに属するものとしてフレームを識別するシーケンスを追加するシーケンス追加器をさらに含む、請求項1に記載の発明。
【請求項11】
前記データ加算器は、前記値の前記それぞれを、クロミナンス成分の前記1つのそれぞれの多くとも1つのクロミナンス部分に加算し、前記装置は、さらに、
少なくとも、前記クロミナンス成分の前記1つの未修正クロミナンス部分と、前記クロミナンス成分の前記1つの前記変更されたクロミナンス部分とを多重化するマルチプレクサ
を含む、請求項1に記載の発明。
【請求項12】
前記データ加算器は、さらに、対蹠的ビット・マッパーを含む、請求項1に記載の発明。
【請求項13】
前記データ加算器は、さらに、前記クロミナンス成分の前記1つの前記選択されたクロミナンス部分のそれぞれが視覚的アーチファクトが生じる可能性を最小にしながら持続できる変化の量を判定するテクスチャ・マスキング・ユニットを含み、前記データ加算器は、前記クロミナンス部分に前記量を超えずに加算する、請求項1に記載の発明。
【請求項14】
ウォーターマーキングされたビデオ信号からウォーターマーク・データを抽出するのに使用される方法であって、前記ウォーターマーク・データの1単位は、前記ビデオ信号の少なくとも第1走査線上のクロミナンス成分の少なくとも第1グループ内で担持され、前記グループは、少なくとも2つのサブグループを含み、
前記サブグループのそれぞれのクロミナンス成分の過半数について前記ウォーターマーク・データを担持する可能性が高いクロミナンス部分の表示を展開する工程と、
サブグループ内のすべてのクロミナンス成分の前記示されたクロミナンス部分と、周期的に変化する対蹠的波形との間の相関値を展開する工程と
を含む方法。
【請求項15】
前記第1走査線のグループ積分された値を作るために、前記サブグループのそれぞれの前記展開された相関値を積分する工程をさらに含む、請求項14に記載の発明。
【請求項16】
前記ウォーターマーク・データの前記単位は、前記第1グループと類似する水平位置に位置するが前記ビデオ信号の第2走査線上のクロミナンス成分の少なくとも第2グループでも担持され、前記方法は、さらに、第1走査線差を展開するために、前記第1走査線の前記グループ積分された値と前記第2グループについて展開されたグループ積分された値との間の差を展開する工程を含む、請求項15に記載の発明。
【請求項17】
組み合わされた走査線差を作るために、前記第1走査線差を、前記第1グループと類似する水平位置に位置するが第3走査線および第4走査線上のグループのクロミナンス成分について展開された第2走査線差と組み合わせる工程をさらに含む、請求項16に記載の発明。
【請求項18】
前記組み合わされた走査線差をソフト・ビット出力として供給する工程をさらに含む、請求項17に記載の発明。
【請求項19】
組み合わせる工程は、さらに、
重み付き第1走査線差を展開するために、前記第1走査線差に重みをかける工程と、
重み付き第2走査線差を展開するために、前記第2走査線差に重みをかける工程と、
重み付き組み合わされた走査線差を展開するために、前記重み付き第1走査線差と前記重み付き第2走査線差を組み合わせる工程と
を含む、請求項17に記載の発明。
【請求項20】
ウォーターマーキングされたビデオ信号からウォーターマーク・データの単位を抽出するのに使用される受信器であって、前記ウォーターマーク・データの単位は、前記ビデオ信号の少なくとも第1走査線上のクロミナンス成分の少なくとも第1グループ内で担持され、前記グループは、複数のサブグループを含み、
前記サブグループのそれぞれのクロミナンス成分の過半数について前記ウォーターマーク・データを担持する可能性が高いクロミナンス部分の表示を展開するカラー選択ユニットと、
サブグループ内のすべてのクロミナンス成分の前記示されたクロミナンス部分と周期的に変化する対蹠的波形とを相関させることによって展開されるサブグループ相関値を出力として供給する相関器と
を含む受信器。
【請求項21】
クロミナンス成分を有する前記ビデオ信号の版を、前記版が4−2−2フォーマットであるが4−2−2クロミナンス成分ごとに1つの輝度値だけを有するかのように展開するデマルチプレクサおよびデシメータをさらに含む、請求項20に記載の発明。
【請求項22】
前記グループのすべての前記サブグループの各サブグループ相関値を積分し、グループ積分された値を出力として供給するグループ積分器をさらに含む、請求項20に記載の発明。
【請求項23】
前記第1ビデオ走査線の前記グループ積分された値と、同一の水平位置だが第2ビデオ走査線上のグループのグループ積分された値との間の差を展開する減算器をさらに含む、請求項22に記載の発明。
【請求項24】
同一の水平位置だが第2ビデオ走査線上のグループの前記グループ積分された値を保管し、これを前記減算器に供給するメモリをさらに含む、請求項23に記載の発明。
【請求項25】
前記差と、前記第1グループと同一水平位置だが第3ビデオ走査線および第4ビデオ走査線のめいめいの1つにある2つの他のグループについて展開された少なくとも1つの他の差とを組み合わせる可変重みコンバイナをさらに含む、請求項23に記載の発明。
【請求項26】
前記受信器は、ウォーターマーク・データの前記単位のそれぞれの表現をソフト・ビット値として供給する、請求項20に記載の発明。
【請求項27】
前記ソフト・ビットの順序を再配置するデインターリーバをさらに含む、請求項26に記載の発明。
【請求項28】
前記ソフト・ビットをハード・ビットに変換するチャネル復号器をさらに含む、請求項26に記載の発明。
【請求項29】
フレーム内の前記ウォーターマーク・データの前記単位が指定されたコードに対応するかどうかを判定するシーケンス・プロセッサをさらに含む、請求項26に記載の発明。
【請求項30】
ビデオ信号内に追加ウォーターマーキング・データを埋め込む方法であって、前記ビデオ信号のクロミナンス成分の1つに前記追加ウォーターマーキング・データの各単位を表す値を組み込む工程を含み、前記値は、周期的に変化する対蹠的波形の関数である、方法。
【請求項31】
その中に追加情報を含むビデオ信号であって、前記追加情報の少なくとも1単位が、少なくとも、周期的に変化する対蹠的波形の関数である第1値として表されることを特徴とし、前記第1値は、前記ビデオ信号の第1走査線上のクロミナンス成分の少なくとも第1グループの1つに組み込まれる、ビデオ信号。
【請求項1】
追加ウォーターマーキング・データの各単位を表す値を、ビデオ信号のクロミナンス成分の1つの選択されたクロミナンス部分に加算するデータ加算器であって、前記値は、周期的に変化する対蹠的波形の関数である、データ加算器
を含む、前記ビデオ信号内に前記追加ウォーターマーキング・データを埋め込む装置。
【請求項2】
前記追加情報の単一単位を表す前記クロミナンス成分の前記1つのそれぞれは、クロミナンス成分の複数のグループの1つのメンバであり、前記グループのそれぞれは、前記ビデオ信号の異なる走査線上の類似する位置にある、請求項1に記載の発明。
【請求項3】
加算される前記値のそれぞれは、a)前記周期的に変化する対蹠的波形の値と、b)前記ビデオ信号に埋め込まれつつある前記追加情報の前記単位の値を表す値との積である、請求項1に記載の発明。
【請求項4】
前記ビデオ信号に埋め込まれつつある前記追加情報の前記単位を表す前記値は、前記クロミナンス成分が属する前記ビデオ信号の走査線番号の関数である、請求項3に記載の発明。
【請求項5】
前記ビデオ信号に埋め込まれつつある前記追加情報の前記単位を表す前記値は、値1および−1を使用することによって表される、請求項3に記載の発明。
【請求項6】
前記クロミナンス部分に加算される前記値のそれぞれは、a)前記周期的に変化する対蹠的波形の値と、b)刻印される前記追加ウォーターマーキング・データの前記単位を表す値と、c)重み付け値との積の関数である、請求項1に記載の発明。
【請求項7】
前記クロミナンス成分のそれぞれについて、そのクロミナンス部分のどれが、人間の視覚系によって実質的に知覚可能なアーチファクトを導入せずに値の変化によりよく耐え得るかを判定するカラー選択ユニットをさらに含む、請求項1に記載の発明。
【請求項8】
前記追加ウォーターマーキング・データが前記ビデオ信号に埋め込まれる前に、前記追加ウォーターマーキング・データをインターリーブするブロック・インターリーバをさらに含む、請求項1に記載の発明。
【請求項9】
前記追加ウォーターマーキング・データが前記ビデオ信号に埋め込まれる前に、前記追加ウォーターマーキング・データをチャネル符号化するチャネル符号化器をさらに含む、請求項1に記載の発明。
【請求項10】
前記追加ウォーターマーキング・データに、特定のユーザに属するものとしてフレームを識別するシーケンスを追加するシーケンス追加器をさらに含む、請求項1に記載の発明。
【請求項11】
前記データ加算器は、前記値の前記それぞれを、クロミナンス成分の前記1つのそれぞれの多くとも1つのクロミナンス部分に加算し、前記装置は、さらに、
少なくとも、前記クロミナンス成分の前記1つの未修正クロミナンス部分と、前記クロミナンス成分の前記1つの前記変更されたクロミナンス部分とを多重化するマルチプレクサ
を含む、請求項1に記載の発明。
【請求項12】
前記データ加算器は、さらに、対蹠的ビット・マッパーを含む、請求項1に記載の発明。
【請求項13】
前記データ加算器は、さらに、前記クロミナンス成分の前記1つの前記選択されたクロミナンス部分のそれぞれが視覚的アーチファクトが生じる可能性を最小にしながら持続できる変化の量を判定するテクスチャ・マスキング・ユニットを含み、前記データ加算器は、前記クロミナンス部分に前記量を超えずに加算する、請求項1に記載の発明。
【請求項14】
ウォーターマーキングされたビデオ信号からウォーターマーク・データを抽出するのに使用される方法であって、前記ウォーターマーク・データの1単位は、前記ビデオ信号の少なくとも第1走査線上のクロミナンス成分の少なくとも第1グループ内で担持され、前記グループは、少なくとも2つのサブグループを含み、
前記サブグループのそれぞれのクロミナンス成分の過半数について前記ウォーターマーク・データを担持する可能性が高いクロミナンス部分の表示を展開する工程と、
サブグループ内のすべてのクロミナンス成分の前記示されたクロミナンス部分と、周期的に変化する対蹠的波形との間の相関値を展開する工程と
を含む方法。
【請求項15】
前記第1走査線のグループ積分された値を作るために、前記サブグループのそれぞれの前記展開された相関値を積分する工程をさらに含む、請求項14に記載の発明。
【請求項16】
前記ウォーターマーク・データの前記単位は、前記第1グループと類似する水平位置に位置するが前記ビデオ信号の第2走査線上のクロミナンス成分の少なくとも第2グループでも担持され、前記方法は、さらに、第1走査線差を展開するために、前記第1走査線の前記グループ積分された値と前記第2グループについて展開されたグループ積分された値との間の差を展開する工程を含む、請求項15に記載の発明。
【請求項17】
組み合わされた走査線差を作るために、前記第1走査線差を、前記第1グループと類似する水平位置に位置するが第3走査線および第4走査線上のグループのクロミナンス成分について展開された第2走査線差と組み合わせる工程をさらに含む、請求項16に記載の発明。
【請求項18】
前記組み合わされた走査線差をソフト・ビット出力として供給する工程をさらに含む、請求項17に記載の発明。
【請求項19】
組み合わせる工程は、さらに、
重み付き第1走査線差を展開するために、前記第1走査線差に重みをかける工程と、
重み付き第2走査線差を展開するために、前記第2走査線差に重みをかける工程と、
重み付き組み合わされた走査線差を展開するために、前記重み付き第1走査線差と前記重み付き第2走査線差を組み合わせる工程と
を含む、請求項17に記載の発明。
【請求項20】
ウォーターマーキングされたビデオ信号からウォーターマーク・データの単位を抽出するのに使用される受信器であって、前記ウォーターマーク・データの単位は、前記ビデオ信号の少なくとも第1走査線上のクロミナンス成分の少なくとも第1グループ内で担持され、前記グループは、複数のサブグループを含み、
前記サブグループのそれぞれのクロミナンス成分の過半数について前記ウォーターマーク・データを担持する可能性が高いクロミナンス部分の表示を展開するカラー選択ユニットと、
サブグループ内のすべてのクロミナンス成分の前記示されたクロミナンス部分と周期的に変化する対蹠的波形とを相関させることによって展開されるサブグループ相関値を出力として供給する相関器と
を含む受信器。
【請求項21】
クロミナンス成分を有する前記ビデオ信号の版を、前記版が4−2−2フォーマットであるが4−2−2クロミナンス成分ごとに1つの輝度値だけを有するかのように展開するデマルチプレクサおよびデシメータをさらに含む、請求項20に記載の発明。
【請求項22】
前記グループのすべての前記サブグループの各サブグループ相関値を積分し、グループ積分された値を出力として供給するグループ積分器をさらに含む、請求項20に記載の発明。
【請求項23】
前記第1ビデオ走査線の前記グループ積分された値と、同一の水平位置だが第2ビデオ走査線上のグループのグループ積分された値との間の差を展開する減算器をさらに含む、請求項22に記載の発明。
【請求項24】
同一の水平位置だが第2ビデオ走査線上のグループの前記グループ積分された値を保管し、これを前記減算器に供給するメモリをさらに含む、請求項23に記載の発明。
【請求項25】
前記差と、前記第1グループと同一水平位置だが第3ビデオ走査線および第4ビデオ走査線のめいめいの1つにある2つの他のグループについて展開された少なくとも1つの他の差とを組み合わせる可変重みコンバイナをさらに含む、請求項23に記載の発明。
【請求項26】
前記受信器は、ウォーターマーク・データの前記単位のそれぞれの表現をソフト・ビット値として供給する、請求項20に記載の発明。
【請求項27】
前記ソフト・ビットの順序を再配置するデインターリーバをさらに含む、請求項26に記載の発明。
【請求項28】
前記ソフト・ビットをハード・ビットに変換するチャネル復号器をさらに含む、請求項26に記載の発明。
【請求項29】
フレーム内の前記ウォーターマーク・データの前記単位が指定されたコードに対応するかどうかを判定するシーケンス・プロセッサをさらに含む、請求項26に記載の発明。
【請求項30】
ビデオ信号内に追加ウォーターマーキング・データを埋め込む方法であって、前記ビデオ信号のクロミナンス成分の1つに前記追加ウォーターマーキング・データの各単位を表す値を組み込む工程を含み、前記値は、周期的に変化する対蹠的波形の関数である、方法。
【請求項31】
その中に追加情報を含むビデオ信号であって、前記追加情報の少なくとも1単位が、少なくとも、周期的に変化する対蹠的波形の関数である第1値として表されることを特徴とし、前記第1値は、前記ビデオ信号の第1走査線上のクロミナンス成分の少なくとも第1グループの1つに組み込まれる、ビデオ信号。
【図1】
【図2】
【図3A】
【図3B】
【図4A】
【図4B】
【図5】
【図6】
【図7】
【図8】
【図9】
【図2】
【図3A】
【図3B】
【図4A】
【図4B】
【図5】
【図6】
【図7】
【図8】
【図9】
【公開番号】特開2006−115493(P2006−115493A)
【公開日】平成18年4月27日(2006.4.27)
【国際特許分類】
【出願番号】特願2005−286205(P2005−286205)
【出願日】平成17年9月30日(2005.9.30)
【出願人】(596092698)ルーセント テクノロジーズ インコーポレーテッド (965)
【Fターム(参考)】
【公開日】平成18年4月27日(2006.4.27)
【国際特許分類】
【出願日】平成17年9月30日(2005.9.30)
【出願人】(596092698)ルーセント テクノロジーズ インコーポレーテッド (965)
【Fターム(参考)】
[ Back to top ]