(57)【特許請求の範囲】
【請求項１】
画像に電子透かし入れを行う方法であって、
可変長符号化データにアクセスするステップであって、該符号化データは符号化情報を含み、該情報は画像の予測符号化に使用される実際の参照を識別し、前記符号化情報は特定の値を有し、前記可変長符号化データは符号化残差を更に含み、該残差は前記実際の参照に基づいて前記画像を予測符号化することから生成される、当該ステップと、
前記特定の値とは異なる代替値にアクセスするステップであって、前記代替値は符号化代替情報であり、該代替情報は前記実際の参照とは異なる参照を識別する、当該ステップと、
前記代替値を、前記特定の値の代入値として前記可変長符号化データに挿入して、前記画像に透かし入れを行うステップであって、前記可変長符号化データは、前記異なる参照を識別する前記代替情報を符号化する前記代替値を含み、前記実際の参照に基づいて前記画像を予測符号化することから生成された前記残差をさらに含む、当該ステップと、
を有する前記方法。
【請求項２】
前記画像の前記予測符号化はイントラ予測であり、前記実際の参照はイントラ予測参照である、請求項１に記載の方法。
【請求項３】
前記異なる参照はイントラ予測参照である、請求項１または２に記載の方法。
【請求項４】
前記実際の参照を識別する前記情報は、Ｈ．２６４または関連する規格において使用されるマクロブロック・タイプ・インジケータを含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記実際の参照を識別する前記情報は、Ｈ．２６４または関連する規格において使用されるイントラ予測モード・インジケータを含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記代替値にアクセスする前に前記代替値を求める処理動作を実行するステップをさらに含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
ストリーム修正ユニットを有する、画像に電子透かし入れを行う装置であって、前記ストリーム修正ユニットは、
可変長符号化データにアクセスする手段であって、前記符号化データは符号化情報を含み、該情報は画像の予測符号化に使用される実際の参照を識別し、前記符号化情報は特定の値を有し、前記可変長符号化データは符号化残差を更に含み、該残差は実際の参照に基づいて前記画像を予測符号化することから生成される、当該手段と、
前記特定の値とは異なる代替値にアクセスする手段であって、前記代替値は符号化代替情報であり、該代替情報は前記実際の参照とは異なる参照を識別する、当該手段と、
前記代替値を、前記特定の値の代入値として前記可変長符号化データに挿入して、前記画像に透かし入れを行う手段であって、前記可変長符号化データは、前記異なる参照を識別する前記代替情報を符号化する前記代替値を含み、前記実際の参照に基づいて前記画像を予測符号化することから生成された前記残差をさらに含む、当該手段と、
を有する前記装置。
【請求項８】
ＤＶＤ読取り装置をさらに含み、前記装置はＤＶＤプレーヤである、請求項７に記載の装置。
【請求項９】
請求項１〜６のいずれか１項に記載の方法を実行する命令を記憶したプロセッサ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、（１）２００７年６月１４日出願の、「Ｍｏｄｉｆｙｉｎｇ  ａ  Ｃｏｄｅｄ  Ｂｉｔｓｔｒｅａｍ」と題する米国仮出願第６０／９３４６３４号（整理番号ＰＵ０７０１３７）、および（２）２００７年１１月２日出願の、「Ｍｏｄｉｆｙｉｎｇ  ａ  Ｃｏｄｅｄ  Ｂｉｔｓｔｒｅａｍ」と題するＰＣＴ出願第ＰＣＴ／ＵＳ２００７／０２３１７２号のそれぞれの優先権を主張するものである。
【０００２】
本明細書に記載の少なくとも１つの実施態様は符号化に関する。
【背景技術】
【０００３】
透かし入れでは、一般に、後に透かしを検出できるような方法でデータの一部分を修正する。透かしは、符号化データなど様々な種類のデータに入れることができる。しかし、符号化方式は進化しており、既存の符号化データ修正方式では、これらの進化した符号化方式に合った所望の透かし特性を与えることができないことがある。
【０００４】
一般的特徴によれば、画像の予測符号化に使用される実際の参照を識別する情報の符号化（ｅｎｃｏｄｉｎｇ）を含む可変長符号化データにアクセスする。この情報の符号化は、特定の値を有している。この特定の値とは異なり、従って実際の参照とは異なる参照を識別する代替情報の符号化となる代替値を決定する。この代替値は、可変長符号化データの透かし入れに使用される。
【０００５】
別の一般的特徴によれば、エントロピ・デコーダは、画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データを復号するものである。この情報の符号化は、特定の値を有している。このエントロピ・デコーダに透かし生成器が結合され、この透かし生成器は、上記の特定の値とは異なり、従って実際の参照とは異なる参照を識別する代替情報の符号化となる代替値を決定するものである。この代替値は、可変長符号化データの透かし入れに使用される。
【０００６】
別の一般的特徴によれば、透かしデータは、画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データの透かし入れに使用される。この情報の符号化は、特定の値を有している。透かしデータは、上記の特定の値とは異なり、従って実際の参照とは異なる参照を識別する代替情報の符号化となる代替値を含む。この代替値は、可変長符号化データの透かし入れに使用される上記の特定の値の代入値である。
【０００７】
別の一般的特徴によれば、画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データにアクセスする。この情報の符号化は、特定の値を有している。上記の特定の値とは異なり、従って実際の参照とは異なる参照を識別する代替情報の符号化となる代替値にアクセスする。この代替値を、上記の特定の値の代入値として可変長符号化データに挿入して、画像の透かし入れを行う。
【０００８】
別の一般的特徴によれば、可変長符号化データは、画像の符号化についてのものである。可変長符号化データは、画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含む。この代替参照を識別する情報が、画像の透かしを提供する。
【０００９】
別の一般的特徴によれば、画像の符号化についての可変長符号化データを復号する。可変長符号化データは、画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含む。この代替参照を識別する情報が、画像の透かしを提供する。
【００１０】
別の一般的特徴によれば、ピクセル領域画像は、画像の予測符号化の１つまたは複数の構文要素の可変長符号化の透かしから生じる検出可能な特徴を含む。この可変長符号化は、画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含む。この代替参照を識別する情報が、画像の透かしを提供する。
【００１１】
別の一般的特徴によれば、画像の透かし入り版の予測符号化を可変長符号化する。この可変長符号化データは、画像の透かし入り版の符号化に使用される現在の参照を示す指標およびその結果得られる剰余を示す指標を含む。画像の透かし入り版は、透かしを提供する検出可能な特徴を有する。この検出可能な特徴は、（１）画像の以前の予測符号化の以前の可変長符号化を修正するステップと、（２）画像の以前の可変長符号化および以前の予測符号化を復号して、その検出可能な特徴が存在する画像の透かし入り版を生成するステップとによって生じ、上記の以前の予測符号化は、以前の参照に基づいており、且つ上記の以前の参照を識別する情報を含んでおり、上記の修正するステップは、代替参照を示し、且つ画像の検出可能な特徴を提供するように情報を歪ませるステップを含む。
【００１２】
別の一般的特徴によれば、可変長符号化データ中の、情報の可変長符号化が位置する位置を識別する情報にアクセスする。この情報は、画像の予測符号化に関連する少なくとも２つの参照のうちの一方を識別する。この可変長符号化データ中の位置で、情報の符号化にアクセスする。この情報の符号化に基づいて、上記の少なくとも２つの参照のうちの何れが識別されたかを判定する。この少なくとも２つの参照のうちの何れが識別されたかを判定した結果に基づいて、ペイロード情報を決定する。
【００１３】
別の一般的特徴によれば、画像の予測符号化の１つまたは複数の構文要素の可変長符号化の透かしから得られる検出可能な特徴を含むピクセル領域画像にアクセスする。この可変長符号化は、画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含む。この代替参照を識別する情報が、画像の透かしを提供する。上記の検出可能な特徴があるピクセル領域画像中の位置を示す検出メタデータにアクセスする。この位置のピクセル領域画像を解析して、上記の検出可能な特徴の値を決定する。上記の検出可能な特徴の比較値を示す追加の検出メタデータにアクセスする。この検出可能な特徴について決定した値を、比較値と比較する。この比較の結果に基づいて、ペイロード情報を決定する。
【００１４】
添付の図面および以下の説明において、１つまたは複数の実施態様の詳細について述べる。ある特定の方法で記載されている実施態様でも、様々な方法で構成または実施することができることは明らかである。例えば、ある実施態様を、方法として実行することもできるし、一組の動作を実行するように構成された装置として実施することもできるし、一組の動作を実行するための命令を記憶した装置として実施することもできるし、または信号として実施することもできる。その他の特徴および特色は、以下の詳細な説明を、添付の図面および特許請求の範囲と合わせて考慮すれば明らかになるであろう。
【図面の簡単な説明】
【００１５】
【図１】  エントロピ符号化ストリームに透かし入れを行う実施態様を示すブロック図である。
【図２ａ】  符号化ビット・ストリームの修正に使用される動作の順序を示すブロック図である。
【図２ｂ】  符号化ビット・ストリームの修正に使用される動作の別の順序を示すブロック図である。
【図３】  ４つの予測モードを示す図である。
【図４】  図４ａおよび図４ｂで構成される、１つの特定の標準に関するマクロブロック・タイプと、それらのマクロブロック・タイプによって決まる追加情報とを示す表である。
【図５】  １つの特定の標準で提供される指数ゴロム符号化を示す表である。
【図６】  代替のイントラ予測モードの検出値を決定する実施態様を示す流れ図である。
【図７】  透かし入れメタデータを決定する実施態様を示す流れ図である。
【図８】  参照指標の代替値を決定する実施態様を示す流れ図である。
【図９】  置換値を挿入する実施態様を示す流れ図である。
【図１０】  参照指標の代替値を挿入する実施態様を示す流れ図である。
【図１１】  透かし入りデータからペイロードを識別する実施態様を示す流れ図である。
【図１２】  透かし入り画像データからペイロードを識別する実施態様を示す流れ図である。
【図１３】  コンテンツに透かし入れを行い、ペイロードを検出する実施態様を示すブロック図である。
【発明を実施するための形態】
【００１６】
いくつかのマルチメディア透かし技術分野では、透かし埋込み装置によってエントロピ符号化ビット・ストリームを直接修正して、エントロピ符号化方式および土台のデータ・フォーマット（すなわち圧縮標準）の両方に準拠したままの透かし入りビット・ストリームを得なければならない。また、透かし入れプロセスで知覚できるアーチファクトがマルチメディア・データに加えられないこと、および埋め込まれたペイロードが圧縮解除および加工を行った後でも回復可能であることも、しばしば必要とされる。多くの適用分野では、透かし埋込みプロセスで、通常は解析または前処理段階で予め計算しておく何らかの埋込みメタデータを入手することができる。本明細書に記載する少なくとも１つの実施態様は、この埋込みプロセス、埋込みプロセスで使用するこのような埋込みメタデータの生成、および埋込みプロセスで使用する埋込みペイロードの回復に関する。
【００１７】
少なくとも１つの実施態様では、エントロピ復号およびエントロピ再符号化を必要とせずにエントロピ符号化ビット・ストリームを直接修正することによって、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣビット・ストリームに透かしを入れる。この修正により、透かしが形成される。このような実施態様の１つでは、エントロピ符号化は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ標準（「ＡＶＣ」）で広く使用される、コンテキスト適応型可変長符号化（ＣＡＶＬＣ）と呼ばれる符号化方式である。
【００１８】
ＡＶＣは、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣ標準／ＩＴＵ−Ｔ  Ｈ．２６４勧告とも呼ばれる。ＣＡＶＬＣは、ＡＶＣ標準の拡張として使用することもできる。第１の拡張としては、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣスケーラブル・ビデオ符号化拡張（「ＳＶＣ拡張」）と呼ばれる、スケーラブル・ビデオ符号化（ＳＶＣ）拡張（Ａｎｎｅｘ  Ｇ）がある。第２の拡張としては、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ  ＭＶＣ拡張（「ＭＶＣ拡張」）と呼ばれる、マルチビュー・ビデオ符号化（ＭＶＣ）拡張（Ａｎｎｅｘ  Ｈ）がある。
【００１９】
ＡＶＣを行う少なくとも１つの実施態様では、マクロブロックを予測符号化し、次いで、この予測符号化の構文要素をＣＡＶＬＣを用いてエントロピ符号化する。イントラ予測では、インター予測の場合とは異なり、別のピクチャに頼らずにマクロブロックを予測符号化する。すなわち、参照ピクチャを使用しない。その代わりに、それ自体、または同じピクチャ内の別のマクロブロックを基準にしてマクロブロックを予測符号化する（「ピクチャ」は、例えば「フレーム」や「フィールド」でもよい）。イントラ予測されたマクロブロックの構文要素の１つは、イントラ予測モードなどの情報を示すマクロブロック・タイプである。少なくとも１つの実施態様では、特定の１６×１６マクロブロックに対して別のイントラ予測モードが示されるように、マクロブロックのマクロブロック・タイプ（「古い」マクロブロック・タイプ）を新しいマクロブロックに変更する。ただし、古いマクロブロック・タイプで示されるその他の全ての情報は未変更のまま残す。さらに、新しいマクロブロック・タイプ（構文要素）は、古いマクロブロック・タイプの符号化に使用したのと同じビット数を用いてＣＡＶＬＣ符号化する。
【００２０】
上記のマクロブロック・タイプの変更を行って、データに透かしを埋め込むことができる。さらに、置換マクロブロック・タイプおよび対応する置換ＣＡＶＬＣビットの決定はオフラインで行うことができ、後にコンテンツ（例えばビデオ・データ）にアクセスするときに、エントロピ復号を必要としない効率的な実時間の方法でＣＡＶＬＣビットの置換を行うことができる。ただし、その他の実施態様では、エントロピ復号を実行した後に、置換情報を決定するプロセス中、またはその後の段階で、この置換の全体または一部を実行する。
【００２１】
多くの適用分野において、圧縮ビデオ・ストリームの透かし入れへの市場の要求が高まっている。初期の手法では、ストリームを圧縮解除し、ピクセル領域に透かし入れを行い、その後にこうして修正されたピクセル領域データを再圧縮していた。オリジナルの圧縮ストリームから得た情報を使用して再圧縮を簡略化するのは、初期の時代の進歩の１つである。これが、符号化ビット・ストリームのエントロピ復号および構文解析を適用することによってストリームを部分的に復号する技術によって改良された。エントロピ復号の後で、透かし入れアルゴリズムが、係数や動きベクトルなどの構文要素に直接作用する。透かしデータを表すようにストリームを修正した後で、エントロピ符号化を適用する。発明者らは、本開示において様々な実施態様について述べるが、そのうちの少なくとも一部では、エントロピ復号ステップおよびエントロピ再符号化ステップを行わずに、エントロピ符号化ビット・ストリームに対して直接透かし入れを適用する。
【００２２】
本明細書に記載の実施態様の少なくとも一部に従ってＣＡＶＬＣストリームに透かしを入れるには、ＣＡＶＬＣストリーム内の符号化構文要素を変更する必要がある。一般に、符号化された構文要素を変更すると、それによって符号化されたビット長が変化することになる。少なくとも１つの実施態様では、符号化ビット長が一定に保たれる場合を扱うが、その他の実施態様では、符号化ビット長が変化してもよい。
【００２３】
本開示の少なくとも一部では、ストリーム透かし埋込み装置のメタデータを生成する方法に焦点をあてる。少なくとも１つの実施態様では、イントラ予測モードを変化させ、ビット・ストリームの様々な修正に対してロバストである。その他の実施態様では、残りの計数のＣＡＶＬＣ符号化を修正してもよい。イントラ予測モードを修正することに１つの利点は、ＣＡＶＬＣビット・ストリーム内の比較的少数のビット（例えば以下に述べる実施態様では７ビット）を変化させることによって、所与のブロックに対して大きな検出可能な（ただし知覚不可能な）変化を与えることができることである。このような変化は、符号化ビット・ストリームの変化に対してロバストであるように設計することもできる。例えば、符号化ビット・ストリームを復号して、その後に異なるパラメータ（例えば個々のブロックのブロック・サイズやモードなど）を用いて再符号化する場合には、ビット・ストリームは、場合によっては完全に異なるものになるが、復号されたピクセル値を解析することによって、依然として最初の変化は検出されると予想できる。
【００２４】
様々な実施態様の理解を助けるために、ＣＡＶＬＣおよび透かし入れについて簡単に説明する。以下の説明ではしばしば詳細を述べるが、この説明は完全なものではなく、説明の中で述べる全ての細部が本明細書で述べる全ての実施態様に必ずしも当てはまるわけではない。さらに、以下の説明は、当業者には既知の内容を多く含む。ただし、以下の説明では、例として具体的に挙げていないこともあるが、新規の内容、または新規の内容の構成を必ず含んでいる。以下の説明は、適用範囲を制限するものではない。以下の説明は、１つまたは複数の具体的な状況、あるいは可能性として考えられる多くの状況を与えることによって、読者が実施態様を理解するのを助けるものである。
【００２５】
以下、ＣＡＶＬＣについて説明する。多くのビデオ圧縮方式の最後のステップは、圧縮データの無損失エントロピ符号化である。ＡＶＣでは、ＣＡＶＬＣはエントロピ符号化に良く用いられる。ＣＡＶＬＣは周知の符号化技術であり、可変長符号化と呼ばれる種類の符号化技術の１つである。一般に、例えば固定長符号化とは異なり、可変長符号化では、発生率の高い、または発生率が高くなると予想される構文要素値ほど、短い長さの符号語が割り当てられる。ＣＡＶＬＣでは、一般に、構文要素のタイプごとに、符号語と構文要素値の間の割当てを変える。可変長符号化は、エントロピ符号化の系統に属する種類の符号化である。ＣＡＢＡＣ（コンテキスト適応型２値算術符号化）などの算術符号化は、エントロピ符号化の系統に属する別の種類の符号化である。
【００２６】
次に、透かし入れの技術分野の概略と、この技術分野の中で本明細書に記述する１つまたは複数の実施態様が当てはまる具体的な領域について簡単に説明する。透かし入れの当業者なら、以下に述べる情報の大部分に精通しているはずである。
【００２７】
本明細書で使用する「電子透かし入れ（ｄｉｇｉｔａｌ  ｗａｔｅｒｍａｒｋｉｎｇ：デジタル・ウォーターマーキング）」という用語は、一般には、以下の条件を満たすようにして、何らかのペイロード・データによって芸術作品（通常は画像、動画シーケンス、または音声クリップ）を修正する方法を指す。
【００２８】
１．作品の修正版とオリジナル版の差異を知覚することができない。
【００２９】
２．後に作品の修正版からペイロード・データを回復することができる。
【００３０】
「ロバスト電子透かし入れ」と呼ばれるサブクラスの電子透かし入れ方法では、さらに第３の条件が加わる。
【００３１】
３．作品の修正版の歪みが加わった状態からペイロード・データを回復することができる。ここで、歪みは、修正済み作品が受けた可能性のある共通の信号処理および信号操作（例えば圧縮、ノイズ低減フィルタリング、色強調）によって加わる可能性もあるし、あるいは悪意のある人間がペイロード・データを回復不能にしようと試みることによって意図的に加えられる可能性もある。
【００３２】
ロバスト電子透かし入れには多くの応用分野がある。例えば以下のような分野がある（ただしこれらに限定されない）。
【００３３】
１．所有者識別。透かしのペイロードによって、作品の所有者を識別する。
【００３４】
２．コピー・コントロール。透かしのペイロードが、作品に関連する著作権を示す。視聴、複製、記録、印刷、配布など任意の動作を行う装置は、ペイロード・データを回復し、当該著作権によって許可されたものだけに動作を制限することができる。
【００３５】
３．トランザクション・トラッキング。透かしのペイロードによって、作品のコピーが合法的に配布された受取手を識別する。これは、正当な受取手が作品を二次配布する権利を受けていないときに有用となる可能性がある。不正な作品が発見された場合に、オリジナル・コンテンツの所有者は、不正コピーからペイロードを回復し、この不正使用の責任を負う受取手を識別することができる。
【００３６】
当業者なら、ロバスト電子透かし入れの応用分野はこの他にも数多く存在することを理解するであろう。
【００３７】
透かし入れは、「ベースバンド」で、または圧縮済み作品に対して実行することができる。ベースバンド画像または動画シーケンスは、例えば、ピクセル領域表現である。ベースバンド音声作品は、例えば、音声サンプルである。適用分野によっては、圧縮済み作品の透かし入れが必要になる。この場合には、その出力も圧縮済み作品である。圧縮の最後のステップは、通常は、エントロピ符号化であり、圧縮解除の最初のステップは、通常は、エントロピ復号である。エントロピ符号化／復号プロセスは、通常は無損失であるが、圧縮プロセスは、通常は、損失のあるプロセスも含む。圧縮済み作品に透かし入れを行う１つの手法では、最初にエントロピ復号を適用し、次いで圧縮解除を適用してベースバンド表現を得る。ベースバンド表現には透かしが入っており、その結果得られる透かし入り作品は、圧縮され、エントロピ符号化される。この手法は、時間がかかることがあり、再圧縮により知覚品質が劣化することもある。
【００３８】
知覚品質を改善し、所要の計算を減少させるために、動きベクトル、モード決定、品質因子およびその他の情報など、オリジナルの圧縮済み作品から得られる情報を圧縮解除の際に保存し、再圧縮の際に使用することができる。これは、再圧縮の際にいかなる動き推定も行う必要がなく（従って計算および／または時間が節約される）、オリジナルの量子化因子およびモード決定を使用することで知覚品質を改善できることを意味する。
【００３９】
「圧縮領域透かし入れ」と呼ばれる種類の透かし入れアルゴリズムが登場している。これらの方法は、透かし入れを行う前に、前述の「完全復号」ではなく「部分復号」を実行するものとして説明することができる。ここで、圧縮済み作品は、最初にエントロピ復号されて、当該作品の全ての構文要素が露出した状態になっている。その中には、係数（例えばブロックＤＣＴ（離散コサイン変換）やウェーブレット変換など）、動きベクトル、ピクチャ・タイプ、予測モード、およびその他の多くの構文要素が含まれる。この透かし入れアルゴリズムでは、次いで、これらの構文要素のいくつかを直接修正する。最後に、修正された構文要素をエントロピ符号化して、修正された圧縮済み作品を得る。
【００４０】
本明細書に記載の少なくとも１つの実施態様は、いわば「エントロピ符号化ストリーム透かし入れ」とでも言うような、透かし入れアルゴリズムの新しい種類に属する。これらの方法では、図１に示すように、エントロピ符号化ストリームを直接修正する。
【００４１】
図１を参照すると、システム１００は、透かし入れを実行する。システム１００は、プロセスと考えることもできる。オリジナルの圧縮ストリームは、ストリーム修正１０２によってペイロードに従って直接修正され、その結果得られる透かし入り圧縮ストリーム１０３が出力される。ペイロードとしては、例えば、コンテンツ（例えばＤＶＤ）プレーヤの製造番号、プレーヤのモデル名、またはその他の後に識別のために使用することが望ましい情報を使用することができる。ペイロードは、符号化しなくてもよいし、データ符号化部１２０に示すように符号化してもよい。ストリーム修正プロセスでは、（１）行われる全ての変更の位置、および（２）行われる実際の変更が通知される。ストリーム修正プロセスでは、この情報が、前処理段階１０４中に生成することができるメタデータによって通知される。
【００４２】
メタデータ１０５は、オリジナルの圧縮ストリームに対してエントロピ復号１０６（および複数の符号化層を使用する場合は考えられる追加の復号）を行い、透かし１０８を生成することによって生成される。メタデータは、変更（すなわち透かし生成のための変更）が行われるストリーム内の位置を識別し、様々なペイロード・シンボルに応じてどのようにストリームが変化するかを示す。圧縮済み作品の復号された構文要素を解析することによってメタデータを生成する、図１の実施態様について説明する。このような透かし入れ方法の１つの問題は、メタデータの生成である。以下では、どのようにすればこれを行うことができるかを、１つまたは複数の実施態様について説明する。
【００４３】
ここまでの段落および図１は、前処理段階１０４の存在の可能性を示唆している。３つの重要な時点が存在する状況に注目すると有用である。第１の時点は、どこで／いつ、圧縮ビット・ストリームを解析して何らかのメタデータを生成するかである。第２の時点は、どこで／いつ、第１の時点で生成されたメタデータの一部または全てをペイロードと呼ばれる特定のシンボル・シーケンスと共に使用して、ビット・ストリームを修正するかである。第３の時点は、どこで／いつ、第１の時点で生成されたメタデータの一部（または全て）を使用して（あるいは第１の時点で生成されたメタデータを使用せずに）、修正済みビット・ストリーム、修正済みビット・ストリームを圧縮解除することによって得られた動画シーケンス、または修正済みビット・ストリームを圧縮解除することによって得られた動画シーケンスに歪みが加わった状態を解析するかである。第３の時点におけるこの解析の目的は、ペイロードを回復することである。
【００４４】
状況を理解するために、第１の時点は、作品の配布前、第２の時点は、各コピーのペイロードが当該コピーを一意的に識別する複製中、第３の時点は、作品の不正コピーが発見された後で、ペイロードを回復してどの配布コピーが不正コピーのソースであるかが明らかになった時点、と考える。この例は単なる例示であり、いかなる意味でも本発明の適用分野を制限するものではない。さらに、適用分野ごとに特有の要件がある可能性もあるが、第１の時点（前処理）と第２の時点（埋込み）が異なる時点でなければならないという技術的要件はない。実際に、３つの「時点（ｔｉｍｅ）」全てが同じ時点であってもよい。
【００４５】
さらなる例として、再度図１を参照する。前処理段階は、例えば最終的に配信する映画のオーサリング中に実行することができる。１つのシナリオでは、許容可能な置換値が決定された符号化要素の位置を識別するプロセスを実行する。このプロセスの結果（例えばこれらの符号化要素の位置や許容可能な置換値）は、符号化映画に含まれるメタデータに記憶される。この例では、２つの場合を考慮する。１つの場合では、メタデータの各エントリが、ビット・ストリーム中の位置および１つの許容可能な置換値を識別する。第２の場合では、各メタデータ・エントリにおいて２つの許容可能な置換値が識別される。
【００４６】
ストリーム修正は、映画の再生中に実行することができ、その中で、例えば、プレーヤ（例えばソフトウェア・プレーヤ、セット・トップ・ボックス・プレーヤ、ＤＶＤプレーヤなど）の製造番号がペイロードとして使用される。ペイロードは、例えば、識別された符号化要素を置換するかどうかを判定するために使用される。例えば、単一の許容可能な代替値がメタデータ中に与えられる場合には、ペイロード・シーケンス中に「１」があれば、オリジナルの値が当該代替値で置換されることを示し、「０」があればオリジナルの値をそのまま保持することを示すようにすることができる。別の例としては、識別された全ての位置が置換され、（符号化シーケンス中の各位置ごとに）提供される２つの置換値の何れを使用するかをペイロードによって示すようにすることができる。例えば、「０」は第１の置換を使用することを示し、「１」は第２の置換を使用することを示すようにすることができる。「代替（ａｌｔｅｒｎａｔｉｖｅ）」および「置換（ｒｅｐｌａｃｅｍｅｎｔ）」という用語は、本明細書では、しばしば同義として使用されることに留意されたい。さらに、「代替」（または「置換」）は、状況によって様々なものを指すことがある。例えば、「代替」は、構文要素の代替値、または構文要素の値を表す符号化ビットの代替値であることもある。
【００４７】
ペイロードの回復は、ストリーム修正が行われた地理的位置とは無関係な地理的位置で実行することができる。すなわち、ストリーム修正をオハイオ州トレドで行い、ペイロード回復をカリフォルニア州バーバンクで行うこともできる。重要なことは、修正済みストリームに基づくデータを含むドキュメントを入手できることである。例えば、修正済みストリームは、電子的にコピーして書込み可能なＤＶＤに記録してもよいし、あるいは修正済みストリームを提示した後に再記録および符号化して、その後、書込み可能なＤＶＤに記録してもよい。この書込み可能なＤＶＤを取得した場合には、この書込み可能なＤＶＤを解析して、ペイロードを回復することができる。ペイロードの回復には、検出メタデータ（図１に示す）を援用することができる。検出メタデータは、例えば、透かし入れ情報が埋め込まれたデータ・ストリーム内の位置、および許容可能な置換値などを示すことができる。あるいは、検出メタデータは、例えば、透かし情報によってピクセル領域データ中に検出可能な変化を生み出そうとしているピクチャ（例えばフレームまたはフィールド）内の位置を示すこともできる。この後者のシナリオでは、検出メタデータは、以下でさらに説明するように、１つまたは複数の予想される変化も示すことができる。検出メタデータは、透かし入れ（埋込み）メタデータの生成と同時に生成してもよいし、別の段階で生成してもよい。
【００４８】
「透かし（ｗａｔｅｒｍａｒｋ）」は、例えば、データ・ストリーム中のオリジナル・データに取って代わる埋込みデータを指すことができる。あるいは、「透かし」は、データ・ストリームに置換データを埋め込んだ結果として、ベースバンド画像内に表示される復号されたビデオ・ピクチャ上に生み出される効果を指す場合もある。従って、「透かし」は、埋め込まれるデータ、または得られるベースバンド・データ（例えば画像または音声クリップ）上に生み出される効果の１つまたは複数を指すことができる。例えば、生み出される効果としては、検出は可能だが視聴者には知覚不可能な、マクロブロックの輝度の変化などが挙げられる。
【００４９】
次に、ＡＶＣ符号化ビット・ストリームへのＣＡＶＬＣによるデータ埋込みについて説明する。圧縮ストリームに透かし入れを行う１つの方法は、１つまたは複数の構文要素の値を変更することである。一般的要件としては、変更後の圧縮ストリームが依然として有効なストリームである（特定の圧縮標準に準拠したままである）必要がある。圧縮技術が可変長符号エントロピ符号化技術を使用しているときには、この要件は満たされる。ＣＡＶＬＣを用いたＡＶＣはこれに当てはまる。変更後（すなわち修正済み）の構文要素は、ＣＡＶＬＣを用いて符号化され、これらの修正済みＣＡＶＬＣビットが、ビット・ストリーム中のＣＡＶＬＣ符号化されたオリジナルの値に取って代わる。これらのビットは、未修正の構文要素のＣＡＶＬＣ符号化と同じ長さ（同じビット数）であってもよいし、異なる長さであってもよい。ただし、構文要素のＣＡＶＬＣ符号化はその前後の構文要素の符号化に依存しないので、長さが同じであってもそうでなくても、その他のＣＡＶＬＣビットの確度に影響はない。
【００５０】
記載する様々な実施態様では、ＣＡＶＬＣ符号化ビット・ストリームを修正するステップは、大きく分けて２ステップあるが、これらのステップは、どの順序で実行してもよい。これらのステップの説明では、「ステップ１」および「ステップ２」と表現するが、このステップ番号は、これらのステップを何らかの特定のまたは具体的な順序で実行することを意味したり要求したりするものではない。図２ａおよび図２ｂは、この２つのステップをそれぞれ示すブロック図２００および２１０である。
【００５１】
ＣＡＶＬＣ符号化ＡＶＣビット・ストリームの場合には、ステップ１で、対象要素からオリジナルの符号化ブロックへのマッピング（２０２）を構築する。１つの実用的な実施態様では、これは、ビット・ストリームを復号し、ビット・ストリームのどのビットがどの構文要素を生成するかを追跡することによって行われる。例えば、圧縮ビット・ストリームにＣＡＶＬＣデコーダを適用して、構文要素を明らかにすることができる。
【００５２】
ステップ２では、対象要素の１つまたは複数の許容可能な代替値を検索する（２０４）。許容可能な代替値を検索する１つの方法は、可能性のある全ての代替値を検査して、その何れが許容可能であるかを判定することである。可能性のある代替構文値をそれぞれＣＡＶＬＣ符号化して、代替ビットを得る。一般に、可能性のある全ての代替構文値が、「許容代替値」である。ただし、様々な実施態様では、１つまたは複数の追加基準を有する。
【００５３】
１つの基準は、ＣＡＶＬＣ符号化長である。ＣＡＶＬＣは可変長符号であるので、代替構文値によっては、ＣＡＶＬＣ符号化の長さを変化させることになる。これはいくつかの実施態様では許容可能であるが、実施態様によっては、透かし入れの前後でＣＡＶＬＣ符号化長を変化させないという要件が課される。その他の基準は、以下でさらに述べるように、例えば忠実性および検出可能性に関するものである。
【００５４】
これら２つのステップ２０２および２０４の２つの異なる順序を、図２ａおよび図２ｂに示す。図２ｂでは、ステップ１（２０２）のマッピングおよび割当てを必要とするのが、ステップ２（２０４）で少なくとも１つの代替構文値が発見された対象要素だけであることに留意されたい。
【００５５】
ＡＶＣビデオ圧縮標準では、多くのビデオ圧縮標準と同様に、以前に符号化された１つまたは複数のピクセル・ブロック内の値からピクセル・ブロック内の各値を予測することによって圧縮を行う。次いで、しばしば剰余と呼ばれる、予測値と実際の値の差を、変換符号化し、量子化する。予測に使用される１つまたは複数のブロック、すなわち参照ブロックは、同じピクチャのものでもよいし、異なるピクチャのものでもよい。同じピクチャから参照ブロックをとったブロックは、イントラ符号化ブロック、または単純にイントラ・ブロックと呼ばれる。この場合は、予測はしばしばイントラ予測と呼ばれる。
【００５６】
輝度サンプルの場合は、１６×１６のマクロブロックの全体をまとめてイントラ予測してもよいし、８×８サブブロックまたは４×４サブブロックに分割してもよい。次いで、各サブブロックを、別個にイントラ予測する。１６×１６輝度イントラ予測では、この標準では４つのモードが規定される。８×８サブブロックおよび４×４サブブロックの場合は、各ブロック・タイプごとに９個のモードが規定される。エンコーダは、通常は、予測されるブロックと実際のピクセル値の差が最小となる予測モードを、各ブロックごとに選択する。
【００５７】
説明を簡単にするために、ここでは１６×１６イントラ予測についてのみ説明する。１６×１６イントラ予測では、図３に示すように、以下の４つのモードが規定される。
【００５８】
１．モード０（垂直）３１０。上側のサンプル（Ｈ）からの外挿。このモードでは、ブロックの上縁に接する隣接ピクセルを、当該ブロックの対応する列の全てのピクセルの予測として使用する。すなわち、１６×１６ブロック内の所与の列について、上側の垂直方向に隣接するブロック内の接しているピクセルを、当該列全体の予測として使用する。
【００５９】
２．モード１（水平）３２０。左側のサンプル（Ｖ）からの外挿。このモードでは、ブロックの左縁に接する隣接ピクセルを、当該ブロックの対応する行の全てのピクセルの予測として使用する。すなわち、１６×１６ブロック内の所与の行について、左側の水平方向に隣接するブロック内の接しているピクセルを、当該行全体の予測として使用する。
【００６０】
３．モード２（ＤＣ）３３０。上側サンプルと左側サンプルの平均（Ｈ＋Ｖ）。このモードでは、ブロックの上縁に接する隣接ピクセルと当該ブロックの左縁に接する隣接ピクセルを平均して、平均値を求める。その後、この平均値を、当該ブロックの全てのピクセルの予測として使用する。すなわち、左側の水平方向に隣接するブロックおよび上側の垂直方向に隣接するブロックの全ての接しているピクセルの平均を求める。その後、これらのピクセルの平均を、当該ブロックの全てのピクセルの予測として使用する。この場合、当該ブロック内の各ピクセルが、同じ予測を有することになる。
【００６１】
４．モード３（平面）３４０。上側のサンプルＨおよび左側のサンプルＶに線形平面（ｌｉｎｅａｒ  ｐｌａｎｅ）を適用する。このモードでは、平面を形成する。この平面は、左側の水平方向に隣接するブロックの全ての接しているピクセル、および上側の垂直方向に隣接するブロックの全ての接しているピクセルに基づく。この平面が、当該ブロック内の各ピクセルの予測を与える。
【００６２】
８×８および４×４のイントラ予測のモードは、本明細書で述べる１６×１６イントラ予測のモードの修正と同様にして修正することができることに留意されたい。さらに、３つのブロック・サイズは全て、このモードの修正と同様の修正に適用できる追加の構文を使用する。
【００６３】
ブロックを復号するためには、現在のブロックのイントラ予測モードによって指定される以前に復号された隣接ブロックの利用可能なピクセルを用いて、予測ブロックを生成する。次いで、復号された剰余のピクセル値を、予測ブロックに付加する。その結果、最終的な復号ピクセル・ブロックが得られる。
Ｂ＝Ｐ＋Ｒ  （３−１）
ここで、Ｂはピクセル値の最終的な復号ブロック、Ｐは予測ブロック、Ｒは復号された剰余のブロックである。
【００６４】
この実施態様において透かし入れにイントラ予測を用いることの基本的な考え方は、剰余データを修正せずに、イントラ予測モードを変更することである。すなわち、剰余Ｒは変更せずに残すが、それは新しい予測ブロックに対する正確な剰余ではなくなっている可能性がある。予測モードを変更した結果、予測ブロックは異なる予測ブロックとなる（これをＰＷとする）。その結果、最終的な復号ピクセル・ブロック（ＢＷとする）は、それまでの最終的な復号ピクセル・ブロック（Ｂ）とは異なる。すなわち、ＢＷ＝ＰＷ＋Ｒであり、ＢＷはＢと同じものではない。
【００６５】
復号ピクセル値のオリジナルのブロック（Ｂ）と透かし入りのピクセル値のブロック（ＢＷ）の間の差、すなわちΔＢは、オリジナルの予測ピクセル・ブロック（Ｐ）と透かし入りのピクセル値の予測ブロック（ＰＷ）の間の差、すなわちΔＰと同じとなる。
ΔＢ＝ΔＰ、ただしΔＢ＝ＢＷ−Ｂ、且つΔＰ＝ＰＷ−Ｐ  （３−２）
また、添え字「Ｗ」は、それぞれの透かし入り版であることを示す。
【００６６】
マクロブロックのイントラ予測モードを変更することにより、当該ブロックのピクセルはΔＢだけ変化することになる。この変化を透かし入れに適するように起こすためには、少なくともこの実施態様では、以下の３つの要件（Ｒ１〜Ｒ３）が満たされることが必要である。
Ｒ１  この変化が、再構築された画像から検出可能であること。
Ｒ２  この変化が、再構築された画像において知覚不可能であること。
Ｒ３  検出が、何らかの既定の信号歪みの組合せに対してロバストであること。
そのために、考えられる各変更の適合性を評価し、これらの要件を満たす変更のみを選択する。
【００６７】
第２の要件は、多くの解釈が可能である。再構築された画像が、高い視覚的品質を有する、またはオリジナルの透かしなし画像と区別できないという要件である可能性もあれば、あるいは変化の知覚可能性が適用分野によって決まる何らかのしきい値未満であるという要件である可能性もある。透かしの忠実度を判定する方法は数多く存在する。本開示の目的のためには、任意の適当な忠実度尺度を適用して、提案された変化が当該適用分野の忠実度要件に合うか否か、またはどの程度まであっているかを判定することができる。
【００６８】
忠実度要件（Ｒ２）の評価は、様々な方法で行うことができる。所与の対象要素に対して、そのオリジナルの値を各代替値で置換することの知覚的影響を評価または予測する必要がある。この評価または予測では、圧縮ストリームの全ての構文要素を完全に入手することができ、これらを使用して、基礎となる画像のマスキング効果、およびこれらの修正に対する人間の視聴覚系（映像の場合には、人間の視覚系が関連する）の感度を予測することができることを想起されたい。このような予測の詳細は、知覚モデリングの当業者には周知である。知覚モデルは、圧縮に関する文献および透かし入れに関する文献の双方で広く引用されている。
【００６９】
知覚可能性の圧縮領域計算予測を使用することに加えて、ストリームをベースバンド動画シーケンスに完全に圧縮解除することもできる。例えば、解析を前処理として実行している場合には、これが当てはまる。この場合には、計算予測によって、実際のピクセル・データを検査することができる。これにより、知覚可能性の予測をさらに正確にすることができる。さらに、オリジナルのストリームを圧縮解除して参照動画シーケンスを得、次いで構文要素値を代替値で置換し、その結果得られたストリームを圧縮解除して第２の動画シーケンスを得ることによって、オリジナルの構文要素値の代替値による置換に対する知覚可能性を評価することもできる可能性がある。多くの周知の技術を使用して、この２つの動画シーケンスの間の差の知覚可能性を評価することができる。
【００７０】
最後に、主観的評価を用いることもできる。人間が実際に見て、参照動画シーケンスと修正済み動画シーケンスの間の差の知覚可能性を評価することができる。人間の主観によって、所与の適用分野で修正が要件Ｒ２をどの程度満たしているかを評価することができる。
【００７１】
これらは、可能な構文要素の変化のうちの何れが要件Ｒ２を満たすかを判定するために使用することができる方法の一部に過ぎない。
【００７２】
次に、第１の要件Ｒ１を一般的な見地から考慮する。修正済みストリームを後に圧縮解除して動画シーケンスにするときに何らかの測定可能な変化を引き起こすために、対象構文要素に対して代替構文値を使用することを想定する。一般に、「直接」および「間接」の２種類の測定可能な変化を引き起こすことができる。
【００７３】
「直接変化」を用いる場合には、構文要素は、動画シーケンスの測定可能なアーチファクトに直接対応する。例えば、輝度ブロックのＤＣ係数を修正すると、対応する圧縮解除ブロックの平均輝度に測定可能な変化が直接現れることになる。それに対して、「間接変化」を用いる場合には、画像シーケンスで測定されるアーチファクトは、ストリームの修正と間接的な関係しかない。例えば、動きベクトルを修正すると、誤ったブロックが予測として使用されることになり、従って、誤ったピクセル・データが対応する圧縮解除ブロックに生じることになる。どの動きベクトルが使用されたかを判定することは困難である可能性があるが、異なる動きベクトルを使用すれば、その他の測定可能なアーチファクトに影響がある可能性がある。動きベクトルを使用して、さらに高い、または低い平均輝度を有する再構築ブロックを生じることもできる。
【００７４】
要件Ｒ１の測定可能な変化は、位置を識別し、ペイロードを回復するためにどんな変化が加えられたかを調べるのに役立つこともある。これは、海賊版コピーが得られたときに特に有用である。加えられた変化を「調べる」ことにより、海賊版コピーのソースを得ることができる。
【００７５】
一実施態様では、どの動きベクトルの構文要素が少なくとも２つの代替構文値を有するかを判定して、それらの代替構文値のうちの１つを使用するとより平均輝度の高い再構築ブロックが得られ、別の代替構文値を使用するとより平均輝度の低い再構築ブロックが得られるようにする。これら２つの代替値のそれぞれのＣＡＶＬＣ符号化に対応するビットの符号化ブロックと、ＣＡＶＬＣストリームのビット位置とを、メタデータとして埋込み装置に送信する。対応するペイロード・ビットの値に基づいて、埋込み装置は、オリジナルのビット・ブロックを、代替ビット・ブロックの一方または他方に対応するビット・ブロックで置換する。
【００７６】
例えば、埋込み装置は、ペイロード・ビットが「０」である場合には、対応するブロックの平均輝度を減少させる構文値に関連するビット・ブロックを選別または選択し、ペイロード・ビットが「１」である場合には、対応するブロックの平均輝度を増大させる構文値に関連するビット・ブロックを選別する。少なくとも１つの対象要素が、埋め込まれる各ペイロード・ビットの全ての要件を満たしている必要があることは明らかである。
【００７７】
メタデータは、輝度の変化が引き起こされることになる圧縮解除動画シーケンス中のフレーム番号およびブロック番号を含むこともできる。さらにロバストにするには、前処理段階で、メタデータ中の当該ブロックのオリジナルの平均輝度を記憶しておいてもよい。この情報を回復時（例えば復号時）に使用して、修正済みブロックを識別し、その平均輝度を、メタデータに記憶されているオリジナルの値と比較することができる。与えた例では、平均輝度がオリジナルの値より高い場合は、対応するペイロード・ビットが「１」であることを意味し、平均輝度がオリジナルの値より低い場合は、対応するペイロード・ビットが「０」であることを意味する。
【００７８】
この実施態様では、第１および第３の要件（変化がロバストに検出可能である）は、復号画像中で確実に測定することができ、マクロブロックのイントラ予測モードを変更することによって修正することができる良好な特徴を確立する必要がある。このような特徴の１つが、マクロブロックの平均輝度である。イントラ予測モードが変更されるたびに、復号ピクセル値に変化ΔＢが生じる。このΔＢは、正または負の平均値（ブロックに関する平均）を有することができ、この平均の大きさは、モードごとに変化する可能性がある。変化（例えばΔＢの平均値）の符号を使用して、データを符号化する（埋め込む）ことができる。また、変化の大きさは、予想される変化のロバスト性の指標として使用することができ、大きさが大きくなるほど、符号化ビット・ストリームのさらなる修正に対するロバスト性が高いことを意味する。さらに洗練されたロバスト性の尺度を得ることもでき、それも使用することができる。
【００７９】
Ｒ１およびＲ３を満たすために使用することができる第２の特徴は、再構築されたピクセル・ブロックの分散である。ＤＣモード（モード２）は、１６×１６のピクセル値の全てが、参照ピクセルの平均という単一の値で予測されるという点で、それ以外の３つのイントラ予測モードと異なる。ＡＶＣエンコーダは、ブロックの性質が滑らかであるときには、このモードを使用することが予想される。
【００８０】
モード２から残りの３つのモードの何れかにモードを変更した場合には、その結果得られるブロック（ＢＷ）の分散が、オリジナルのブロック「Ｂ」に対して増大すると予想することができる。一方、エンコーダがモード０、１または３を選択した場合には、このブロックは、最初の変動が大きくなる（モード２を最初に選択した状況との比較）ことが予想される。イントラ予測モードをモード０、１または３からモード２に変更することにより、このブロックＢＷの分散は、一般に、「Ｂ」の分散に比べて減少する。この場合も、イントラ予測モードの変更に関連するΔＢは、再構築ブロックＢＷの分散の増加または減少を生じる可能性があり、この分散の変化の大きさは、最初および最後のモードによって変化する可能性がある。分散の変化の符号を使用して、データを符号化する（埋め込む）ことができる。さらに、分散の変化の大きさは、この変化の予想ロバスト性の指標として使用することもでき、大きさが大きくなるほど、符号化ビット・ストリームのさらなる修正に対するロバスト性が高いことを意味する。さらに洗練されたロバスト性の尺度を得ることもでき、それも使用することができる。
【００８１】
次に、マクロブロック・タイプを介してイントラ予測モードを変更する実施態様について述べる。ＡＶＣでは、マクロブロックの１６×１６イントラ予測モードは、ｍｂタイプ・フィールドで指定される。ｍｂタイプ・フィールドは、符号化ブロック・パターンなど、このブロックに関するその他のパラメータも指定する。
【００８２】
図４を参照すると、表４００は、Ｉスライスに対するマクロブロック・タイプ（「ｍｂタイプ」）のリストであり、ｍｂタイプ値４１０のリストをそれぞれの意味と共に与えるものである。この表４００は、標準から直接とったものであり、本実施態様では、符号化ブロック・パターン４３０および４４０または予測ブロック・サイズ４４５を変化させることなくイントラ予測モード４２０を変更するｍｂタイプ値４１０を見つけるために使用するものである。
【００８３】
イントラ予測モード４２０を変更するときにイントラ予測モード４２０以外の構文を保存するために、ｍｂタイプ４１０の変化は、イントラ予測モード４２０のみが異なる値に制限される。例えば、オリジナルのｍｂタイプが１１である（行４５０参照）ということは、イントラ予測モード４２０は２（ＤＣ）であり、クロマ４３０およびルマ（ｌｕｍａ）４４０の符号化ブロック・パターンはそれぞれ２および０であることを示している。このｍｂタイプ４１０を、９、１０または１２に変更して、符号化ブロック・パターン４３０および４４０または予測ブロック・サイズ４４５を変化させることなく、イントラ予測モード４２０を変更することができる。
【００８４】
ｍｂタイプは、ビット・ストリーム中でエントロピ符号化される。ＣＡＶＬＣエントロピ符号化を使用する場合には、ｍｂタイプは、指数ゴロム符号で符号化される。指数ゴロム符号は、可変長符号化方式である。オーサリング済みＤＶＤディスクなどいくつかの特殊な適用分野では、置換（例えばＶＬＣ）データは、オリジナルの（ＶＬＣ）データと全く同じ長さを有していなければならない。この場合、オリジナルのｍｂタイプを置換するのに、同数の（例えばＶＬＣ）ビットを生じるｍｂタイプしか使用することができない。
【００８５】
図５を参照すると、表５００は指数ゴロム符号化表であり、ビット・ストリングの形態（左側の列）５１０と、それに対応する指数ゴロム符号の値の範囲（右側の列）５２０とを示すリストである。表５００は、標準から直接とったものである。この表５００から、上記の例を使用すると、ｍｂタイプ９では７ビットが必要であることが分かる。このことは、最初に、ｍｂタイプ９が、値「７〜１４」を有する右側の列５２０の第４のエントリ５３０に与えられる範囲５２０で生じることに注目することによって求めることができる。次いで、左側の列５１０の対応する（第４の）エントリ５３０が、０００１ｘ２ｘ１ｘ０の７ビットであることに注目する。ｘ２ｘ１ｘ０には、例えば、順に値を割り当てることができ、値７に対しては０００を、値１４に対しては１１１を割り当てることができる。
【００８６】
従って、ＣＡＶＬＣストリングの長さが透かし入れの前後で不変である本実施態様では、ｍｂタイプは、同様に７ビットを必要とする別のｍｂタイプでしか置換することはできない。この場合には、ｍｂタイプ９、１０、および１２は、全て同じ範囲（７〜１４）に入り、全て７ビットを必要とする。従って、ｍｂタイプ９、１０および１２は、全て可能な置換ｍｂタイプの候補である。このようにして、１５のＶＬＣビット長を、図４のマクロブロック・タイプと組み合わせて、どのｍｂタイプをオリジナルのｍｂタイプの置換に使用することができるかを判定することができる。上記の方法では、以下の規則が実施される。
【００８７】
１．代替のｍｂタイプは、イントラ予測モードのみが異なっていること。
【００８８】
２．代替のｍｂタイプに対応するビット・ストリングのサイズは、オリジナルのｍｂタイプに対応するビット・ストリングのサイズと同じであること（ビット長が一定でなければならない場合）。
【００８９】
以前の記述において、潜在的な変更を、再構築画像の忠実度およびその検出可能性のロバスト性への影響に関して評価しなければならないと示唆した。ここでは、これら２つの影響を結合して単一のコスト値にする方法、およびそのコスト値を使用して、どの変更を適用するかを選択することについて述べる。
【００９０】
再度図１を参照すると、前処理の入力は、ＡＶＣ符号化ビット・ストリームである。出力は、透かし入れメタデータである。ストリームの処理の第１のステップの１つは、そのイントラ予測モードが潜在的に変更可能である各イントラ符号化ブロックを識別することである。これらのイントラ符号化ブロックのそれぞれについて、ビット長の要件を満たし（適用分野でビット長が一定であることが要求される場合）、且つ対応する代替ｍｂタイプがイントラ予測モードのみ異なっているという上記の第１の規則を満たす全ての代替イントラ予測モードを識別する。特定の検出尺度（例えば上述した輝度平均やブロックの分散など）を想定して、追加ステップにおいて、オリジナルの検出値と、全ての代替検出値をまとめる。「検出値」とは、符号化によって生じる検出尺度の値（数値）である。例えば、あるブロックの輝度平均の値が挙げられる。代替検出値は、各代替イントラ予測モードを使用することによって生じるはずの値である。
【００９１】
図６を参照すると、プロセス６００は、平均輝度を検出尺度として使用したときの検出値を決定する実施例を示すものである。所与のブロックに対して、１つまたは複数の検出値を決定することができる。例えば、所与のブロックに対して複数の代替値がある場合には、各代替値に対して検出値を決定することができる。通常の実施態様では、これらの決定された検出値の間で最適化を行う。この最適化は、例えば、各ブロックごとに最良の代替値を選択し、次いでこれらの最良の代替値の中から上位１０個を選択するものであってもよい。この例では、最良の検出値を有する１０個のブロックを選択することになる。ここで、「最良」は、例えば選択した任意の尺度によって決定される。別の実施態様では、以下にさらに述べるように、所与のブロックに対して、代替値対を考慮し、各ブロックごとに最良の対を選択する。
【００９２】
プロセス６００は、イントラ予測符号化ブロックの平均輝度を計算することを含む（６１０）。これはオリジナルの検出値であり、平均輝度は、数式３−１に関連して上述したように予測と復号された剰余の合計から計算することができる。
【００９３】
プロセス６００は、次に、各代替イントラ予測モードごとにイントラ予測符号化ブロックの平均輝度を計算することを含む（６２０）。動作６２０では、予測に代替モードを使用する。平均輝度は、例えば、既存の剰余データを用いる予測を用いて計算することもできるし、または既存の剰余データを用いない予測を用いて計算することもできる。
【００９４】
プロセス６００は、フレーム番号（さらに一般的にはピクチャ番号）、ブロック位置および全ての平均輝度を記憶する（６３０）。これらの平均輝度には、オリジナルのイントラ予測モードから得られた平均輝度（動作６１０）および代替の１つまたは複数のイントラ予測モードから得られた１つまたは複数の平均輝度（動作６２０）が含まれる。
【００９５】
プロセス６００は、次のイントラ予測符号化ブロックに進み（６４０）、動作６１０〜６３０を繰り返す。プロセス６００は、所与のピクチャの全てのイントラ予測符号化ブロックについて実行される。もちろん、その他の実施態様では、このように網羅的である必要はない。例えば、イントラ予測符号化ブロックは、イントラ符号化ピクチャ（例えばＩフレーム）のブロックであってもよいし、そのブロックがイントラ符号化されたものであればインター符号化ピクチャ（例えばＰフレーム）のブロックであってもよい。
【００９６】
プロセス６００で収集された情報を用いて、ある実施態様では、透かし入れを行うのにどの位置およびどの代替置換値を使用するかを直接決定することができる。様々な決定プロセスを使用することができる。以下に、このようなプロセスの実施態様について述べる。以下で述べる実施態様では、例えば、プロセス６００で収集した情報を使用して、例えば上記に挙げた要件Ｒ１、Ｒ２およびＲ３を満たす位置および代替値を選択する。
【００９７】
透かし入れアルゴリズムにとって重要な特性は、通常は、ロバスト性（上記のＲ３）および忠実度（上記のＲ２）である。忠実度は、知覚不能性とも呼ばれる。ロバスト性および忠実度の２つの特性は、両立しないことも多い。発明者らは、これら２つの間のバランスを指定する解析的方法を導入する。
【００９８】
ＣＦは、忠実度コストを表すものとする。ＣＦは、透かしの視認性が高いほど値が大きくなるように定義される。忠実度コストが非常に低くなる変更を行うことが好ましい。ＣＦを測定する方法は数多くあり、ユーザは、特定の適用分野に最も適した方法／尺度を選択すればよい。本実施態様は、その選択には無関係である。
【００９９】
ＣＲは、ロバスト性コストを表すものとする。ＣＲは、ロバスト性を低下させる変更ほど高いロバスト性コストを有するように定義される。ロバスト性が低いとは、例えば、変更が検出不可能になりやすいことを意味する。例えば、ピクチャが復号され、ピクセル・データがフィルタリングされた場合に、一部の変更が弱まり、場合によっては検出不可能になることがある。ここでも、ロバスト性コストが低くなる変更を行うようにする。
【０１００】
各代替変更ごとに、当該変更を行うことに伴う忠実度コストおよびロバスト性コストの両方を計算する。次いで、これら２つのコストを組み合わせて、当該変更を行うための全体コストを得る。この全体コストは、以下のように計算される。
Ｃ＝αＣＦ＋βＣＲ
ここで、α＋β＝１と制限すると有用であることが多い。その場合には、
Ｃ＝αＣＦ＋（１−α）ＣＲ
と書くことができる。０から１の範囲に制限されるパラメータαは、忠実度とロバスト性の間のトレードオフを制御するために使用される。αの値が大きくなるほど、忠実度に重点が置かれ、αの値が小さくなるほど、ロバスト性に重点が置かれる。所与のαについて、各代替予測モードのコストＣを計算することができる。Ｃがしきい値を超える代替予測モードは、廃棄することができる。
【０１０１】
知覚不能性の要件である上記のＲ２を満たすために、ある実施態様では、例えばＣＦのしきい値をさらに使用することができる。例えば、一実施態様では、代替予測モードのＣＦの値を、しきい値と比較する。ＣＦの値がしきい値より大きい場合には、当該代替予測モードは、オリジナルの予測モードの置換候補として受容されない。
【０１０２】
上記のコスト公式を使用する１つの特定の実施態様では、１６×１６マクロブロックを使用する。１６×１６イントラ予測マクロブロック中には、３つの利用可能な代替イントラ予測モードと、オリジナルのモードとがある。この例では、符号化ブロック・パターンまたは（一定ビット長が要求される場合には）符号化ビット長を変化させることなくモードを任意のモードに変更することができるので、異なるイントラ予測モードの値全てが有効な代替値であると仮定する。図４〜図５を再度参照すると、この仮定が常に満たされるとは限らないことが分かるが、この仮定は、ここでの説明を分かりやすく簡潔にするのには有用である。さらに、検出尺度はブロックの平均輝度であると仮定する。
【０１０３】
データ・ビットを埋め込むためには、２つの予測モードを選択することができる。第１のモードは「１」を表すために使用され、第２のモードは「０」を表すために使用される。平均輝度をより低くする予測モードを、ビット「０」を表すために使用し、平均輝度をより高くする予測モードを、ビット「１」を表すために使用する。この場合には、｛Ｐ１＝（モード０、モード１）、Ｐ２＝（モード０、モード２）、Ｐ３＝（モード０、モード３）、Ｐ４＝（モード１、モード２）、Ｐ５＝（モード１、モード３）、Ｐ６＝（モード２、モード３）｝という、６通りの対の組合せが考えられる。（これらの組合せの一部は、予測モードの一部が有効な代替モードでない場合には利用することができないことに留意されたい。）この場合には、それぞれの対の組合せの選択に関連する忠実度コストＣＦおよびロバスト性コストＣＲを計算する必要がある。その後、これらのコストを使用して、それぞれを適用分野の要件と比較すればよい。それぞれの対の組合せに対して、ＣＦおよびＣＲを以下のように評価する。
【０１０４】
Ｂは、オリジナルのピクセル・ブロックを表す。ΔＢ０およびΔＢ１は、それぞれビット「０」またはビット「１」が埋め込まれた場合の、透かし入りブロックとオリジナル・ブロックの間のピクセルの差を表す。オリジナルのイントラ予測モードを使用して「０」または「１」のビットを表す場合には、対応するΔＢは単純に全てゼロとなる。このような場合には、忠実度コストは、選択したもう一方のモードのみによって決まる。利用可能な対がＫ個存在すると仮定すると、対ｋの忠実度コストは、次のように得ることができる。
ＣＦＰｋ＝Ｆ（Ｂ，ΔＢ０，ΔＢ１）  （４−１）
ここで、関数Ｆ（・）は、上述のように任意の忠実度尺度を含み（例えばワトソン・モデル）、ｋは、１からＫの範囲の指標である。通常は、この忠実度関数は、ΔＢ０およびΔＢ１を独立して評価して、それぞれの忠実度コスト値を得、その２つの値のうちの「悪い方」の忠実度を表す大きい方の値、または２つの値の合計を戻す。忠実度尺度は、部分的に、または完全に、ユーザの評価に基づく主観的尺度であってもよい。
【０１０５】
Ｌ０およびＬ１は、それぞれビット「０」またはビット「１」が埋め込まれた場合の、ブロックの輝度（本実施態様では単一の値）を表す。ＢｌｋＳｚは、イントラ予測ブロック・サイズを表す。ロバスト性コストは、Ｌ０、Ｌ１およびＢｌｋＳｚの関数として測定することができる。所与の輝度（または輝度変化）に対して、ブロック・サイズが大きいほど、高いロバスト性に対応することができる。対ｋのロバスト性コストは、次のように得ることができる。
ＣＲＰｋ＝Ｇ（Ｌ０，Ｌ１，ＢｌｋＳｚ）  （４−２）
ここで、関数Ｇ（・）は、上述のように任意のロバスト性尺度である（例えば、分散の変化の大きさまたは平均輝度変化）。この場合も、通常のロバスト性尺度は、各変化のロバスト性を独立して評価し、２つのコストのうちの大きい方、または２つのコストの合計を戻すものである。
【０１０６】
最後に、この対の最終的な透かし入れのコストは、以下のようになる。
Ｃｋ＝αＣＦＰｋ＋βＣＲＰｋ  （４−３）
各対に関連するコストを計算したら、コストが最小となる対を当該ブロック用に選択し、相当するコストを、ブロック変更コストＣに割り当てる。
Ｃ＝ｍｉｎ（Ｃｋ）、ただしｋ＝１…Ｋ  （４−４）
各ブロックの透かし入れコストを確立したら、ブロック選択プロセスで、ペイロード要件に基づいて透かし入れコストが最小のブロックを単純に選択する。例えば、１０ビットのペイロード・ビットが存在する場合には、透かし入れコストが最小となる１０個のブロックを選択すればよい。この例の１０ビットのペイロード・ビットは、例えば、１つまたは複数のペイロード・シンボルを符号化してロバスト性を高めることによって生成することができる。別の実施態様では、ペイロード・シンボル／情報を符号化してロバスト性を高めることはせず、単純に２値形式のペイロード情報をペイロード・ビットとして表す。
【０１０７】
再度図１の実施態様を参照すると、透かし入れ埋込みメタデータ１０５は、ビット・ストリーム内で各修正が起こる位置、およびペイロード・ビットが「０」である場合または「１」である場合に使用される値を識別するビット・オフセットを含む。従って、代替の変更を追跡しているときには、現在のｍｂタイプを記述するＶＬＣ符号が見つかる入力ＡＶＣストリーム中のビット位置を追跡している。また、各代替変更を表すために使用される特定のビット・ストリング（図５の表）も追跡する。従って、（おそらく全体コストを最小限に抑える方針に基づく）選択後に、システムは、埋込みメタデータ１０５を書き込むことができる。このファイルの各エントリごとに、１つのビット・オフセットと、可能な２つのペイロード・ビット「０」および「１」のそれぞれに対して１つずつ、２つのビット・ストリング（例えばＶＬＣビット・ストリング）が存在する。
【０１０８】
さらに、前処理段階で、検出メタデータ（やはり図１に示す）を書き込む。これは、各変更のフレーム番号（より一般的にはピクチャ番号）およびブロック位置、ならびにそれがビット「０」および「１」を表す場合には透かし入りブロックの予想輝度（またはその他の検出尺度）を含む。また、実施態様によっては、復号前のストリーム中の透かし入れ情報の存在の検出を可能にする検出メタデータ中の埋込みメタデータを含むこともできることに留意されたい。
【０１０９】
上述のように、検出は、ピクセル・レベルで行う代わりに、またはピクセル・レベルで行うことに加えて、ビット・ストリーム・レベルで行うことができる。ビット・ストリームを解析することにより、どのペイロード・ビットが指定のビット・オフセットで埋め込まれているかを判定することができる。ただし、上述のように、例えば復号とその後の再符号化によってビット・ストリームが既に処理されている場合には、その結果得られる（符号化）ビット・ストリームは、オリジナルの（符号化）ビット・ストリームとは完全に異なるものである可能性もある。例えば、再符号化において、（上記で指摘したように）異なるブロック・サイズまたはモードを使用することもある。このような場合には、ビット・ストリームから透かしを検出することが不可能である可能性もあるが、透かしのロバスト性が十分であれば、（新しいビット・ストリームの復号後に）ピクセルから透かしを検出することは可能である。
【０１１０】
図７を参照すると、プロセス７００は、コスト手法を用いて１６×１６イントラ予測符号化マクロブロックの透かし入れメタデータ（埋込みおよび検出メタデータ）を決定する実施態様を与えるものである。プロセス７００は、プロセス６００の基本的な特徴を備える。すなわち、マクロブロックの透かし入れメタデータを決定するプロセス７００は、これらのマクロブロックの検出値を決定することを含む。
【０１１１】
プロセス７００は、例えば、ピクチャ内の所与のマクロブロック・セットに対して、またはピクチャ内の全てのマクロブロックに対して、あるいはピクチャ・シーケンス内の全てのマクロブロックに対して実行することができる。以下のプロセス７００の説明では、プロセス７００をピクチャ内の全てのマクロブロックに対して実行する実施態様を想定している。
【０１１２】
プロセス７００は、ピクチャ内の１６×１６マクロブロックをループし（７１０）、１６×１６イントラ予測モード（例えば図４参照）を使用する各１６×１６マクロブロックに対して一組の動作セット（７２０〜７５０）を実行する。この動作セットは、動作７２０〜７５０を含む。
【０１１３】
１６×１６イントラ予測モードを使用する各マクロブロックに対して、可能な代替イントラ予測モードがあれば、これを決定する（７２０）。一実施態様では、代替イントラ予測モードは、符号化ブロック・パターン（４３０および４４０）ならびに予測ブロック・サイズ（４４５）が一定であり、マクロブロック・タイプ（４１０）の符号化ビット長が一定である（図５参照）という要件を満たしていなければならない。
【０１１４】
可能な代替イントラ予測モードまたは可能な代替イントラ予測モード・グループのそれぞれについて、全体コストを決定する（７３０）。一実施態様では、全体コストを決定するために、上述の一連の数式を用いて忠実度コストおよびロバスト性コストを計算する。モード・グループは、例えば、上述の一対のモード、またはその他の何らかのモードの組合せとすることができる。
【０１１５】
最良の可能な代替イントラ予測モードまたはモード・グループを決定する（７４０）。一実施態様では、全体コストが最小となる対を選択する上述の数式４−４などの最小化関数を用いて最良のものを決定する。実施態様によって異なる関数を用いて最良の可能な代替イントラ予測モードを決定することができ、さらに、複数の「最良」の可能な代替イントラ予測モードを決定してもよい。例えば、上述の実施態様では、「最良」の可能な代替イントラ予測モードは対である。この対が含む代替イントラ予測モードは、１つであっても２つであってもよい。プロセス７００の典型的な実施態様では、可能な代替イントラ予測モードが存在しない場合には、「最良」のモードが存在しない。
【０１１６】
埋込みメタデータおよび検出メタデータを、最良の可能な代替イントラ予測モードまたはモード・グループに対して記憶する（７５０）。一実施態様では、埋込みメタデータは、ストリーム中のビット・オフセット、および１つまたは複数の符号化された代替マクロブロック・タイプを含み、この１つまたは複数の代替マクロブロック・タイプは、１つまたは複数の最良の代替イントラ予測モードに対応する。一実施態様では、検出メタデータは、ピクチャ番号（またはフレーム番号）、マクロブロック位置、ならびにオリジナルおよび代替の検出値またはその他の何からの参照検出値を含む。このような実施態様では、検出値は、全体コストを計算する動作７３０の間に計算することができる。例えば、検出値は、ロバスト性コストを計算するプロセス中に決定することもできる。
【０１１７】
様々な実施態様では、メタデータを記憶する前または記憶した後で、メタデータを減少させる、より一般的にはフィルタリングする。１つのこのような実施態様では、ペイロード・ビットが１００しかないので、各ブロックの最良の代替モード（またはモード・グループ）をランクづけし、上位１００個のみを保持および記憶する。第２の実施態様では、ビット・ストリーム中の任意の２つの変更の間に存在しなければならない未変更ビットの最小数を指定する。第２の実施態様におけるこの基準は、例えば、最良の代替モードが隣接する２つのブロックで使用されないようにすることができる。第３の実施態様では、エントロピ符号化ビット・ストリーム中の各特定の変更のサイズ（ビット数で表される）を指定する。第３の実施態様におけるこの基準は、例えば、埋込みメタデータのエントリのサイズを指示することができる。もちろん、各特定の変更は、置換される全てのビットの値を実際に変更する必要はない。さらに別の実施態様では、所与のブロックに対して、メタデータを、最良の代替モードが要件Ｒ１、Ｒ２およびＲ３も満たしている場合に、その最良の代替モード（またはモード・グループ）についてのみ記憶する。さらに、実施態様によっては、上記およびその他の基準を組み合わせることもできる。
【０１１８】
一実施態様では、埋込みメタデータは、オリジナルの符号化ビット・ブロックが見つかる圧縮ビット・ストリーム内の位置と、一方が対応するペイロード・ビットが「０」である場合に置換ブロックとして使用され、もう一方が対応するペイロード・ビットが「１」である場合に置換ブロックとして使用される２つのビット・ブロックとを含む。一実施態様では、これらのブロックのうち一方がオリジナルのビット・ブロックであり、もう一方が代替ビット・ブロックである。この場合には、変更可能な構文要素のリストは、許容可能な代替値が１つしかない構文要素を含むことができる。別の実施態様では、２つのブロックは、両方とも、異なる構文値に対応する代替のビット・ブロックである。この場合には、変更可能な構文要素のリストは、許容可能な代替値が少なくとも２つ存在する構文要素しか含むことができない。
【０１１９】
一実施態様では、検出メタデータは、埋込みメタデータを含む。この情報を用いて、透かし入り符号化ビット・ストリームから直接、ペイロードを回復することができる。
【０１２０】
一実施態様では、検出メタデータは、さらに、あるいは別法として、ビット・ストリーム修正が検出可能になる圧縮解除動画シーケンス中の位置を含む。これは、フレームまたはピクチャの番号およびブロック番号、マクロブロック番号、ピクセル位置、あるいはその他の回復に必要な任意のロケータとして指定することができる。検出メタデータは、ペイロード・ビット「０」および「１」に関連する検出値またはその他の何らかの参照検出値を示す指標も含むことができる。
【０１２１】
また、検出メタデータは、変更が行われていない場合に測定されるはずの検出尺度の値を含むこともできる。換言すれば、これは、検出尺度のオリジナルの値を含むことができる。前述の例では、検出尺度は特定のブロックの平均輝度であるので、検出データは、当該ブロックのオリジナルの平均輝度を含むことができる。オリジナルの値を含むことにより、検出プロセスは、検出値が透かし入れの結果として増大したか減少したかを確認することができる。一実施態様では、メタデータの決定は、前処理中に実行される。
【０１２２】
明るさまたはコントラストの大域的または局所的変更に対する透かし入れ技術のロバスト性を高めるために、透かし入れプロセスで修正されないと予想されるブロックについて、検出データを保存することもできる。例えば、検出データは、透かしによって変化しないブロックのオリジナルの平均輝度を含むことができる。検出器は、その後これらを参照として使用して、画像全体、または少なくとも当該画像の当該参照の領域の部分の輝度が変化したかどうかを判定することができる。参照ブロックの測定輝度が、検出データに記録された輝度と一致しない場合には、ペイロードを回復する前に補償を行うことができる。例えば、平均輝度尺度の補償を、記憶した全ての検出値に付加することもできる。
【０１２３】
図８を参照すると、プロセス８００は、参照に基づいて埋込みメタデータを決定する一般的な実施態様を与えるものである。従って、プロセス８００は、機能面においてプロセス７００とある程度の類似点を有する。
【０１２４】
プロセス８００は、参照指標を含む可変長符号化データにアクセスすることを含む（８１０）。すなわち、可変長符号化データは、画像を予測符号化するために使用される実際の参照を識別する情報の符号化（参照指標）を含む。実際の参照を識別する情報の符号化である参照指標は、特定の値を有する。１つまたは複数の前述の例では、参照指標は、対応するイントラ予測モードを介してマクロブロックの予測符号化に使用される参照を識別するマクロブロック・タイプ・フィールドの値の符号化である。
【０１２５】
プロセス８００は、可変長符号化データ中の参照指標の位置を決定することを含む（８２０）。この位置は、例えば、埋込みメタデータの作成に使用される。
【０１２６】
プロセス８００は、参照指標の代替値を決定することも含む（８３０）。代替値は、上記の特定の値とは異なる。代替値は、実際の参照とは異なる別の参照を識別する代替情報の符号化である。例えば、プロセス７００の全体または一部を、動作８３０を実行するのに使用することができる。１つまたは複数の上述の例では、代替値は、マクロブロック・タイプ・フィールドの異なる値の符号化である。
【０１２７】
プロセス８００は、例えば代替値を特定の値の代入値（透かし）として指定する、代替値の透かしとしての有効性を評価する、または埋込みメタデータを作成するなど、様々な追加の動作を含むこともできる。
【０１２８】
例えばプロセス７００またはプロセス８００を用いて一組の可能な透かし置換値を作成した後で、実施態様によっては、変更すべきマクロブロックのサブセットを選択することもできる。この選択は、通常は、適用分野のペイロード要件、およびペイロードに適用される任意のデータ符号化に基づいて行われる。この選択では、通常、各変更のコスト（例えば前述の忠実度コストおよびロバスト性コスト）が情報として与えられる。通常は、この選択では、コスト変化が小さい方が好まれる。一実施態様では、各マクロブロックの最良の可能な代替値に対する全体コストに応じて、マクロブロックをランクづけする（７３０および７４０）。（最良の可能な代替値に対する）全体コストが最低であるマクロブロックが、ペイロード・データによる透かし入れに選択される。
【０１２９】
図９を参照すると、例えば透かしを挿入するなど、置換値を挿入する実施態様を記述するプロセス９００が示してある。プロセス９００は、ペイロードにアクセスすることを含む（９１０）。アクセスされるペイロードは、ビットまたはその他のシンボルで表すことができる。通常は、ペイロードはビットで表され、またはビットに変換される。さらに、ペイロードは、符号化されていてもよい。
【０１３０】
プロセス９００は、置換位置および置換値を決定することを含む（９２０）。動作９２０は、例えば、上述のようにプロセス７００とそれに続くランクづけプロセスとを用いて実行することができる。動作９１０および９２０は、何れの順序で実行してもよい。ただし、一実施態様では、動作９１０を先に実行し、ペイロード・ビット数を決定し、その後に動作９２０において、例えば全てのペイロード・ビットがマクロブロックに割り当てられるまで上位にランクされるマクロブロックのみを選択することによって、必要な位置だけを決定する。動作９２０は、例えば図７に関連して説明した要件など、その他の様々な実施態様要件の影響を受ける可能性がある。
【０１３１】
少なくとも１つの実施態様では、動作９２０の全体または一部を、前処理段階中に実行する。例えば、前処理段階中に、埋込みメタデータを含む表を準備することができる。その後、動作９２０において、この表にアクセスすることによって、置換値および置換位置を決定することができる。
【０１３２】
プロセス９００は、さらに、置換値を置換位置に挿入して（９３０）、例えば透かしを提供することも含む。置換値の挿入では、既存の符号化データを置換値で置換する。次いで、修正済みデータを、記憶または伝送することができる。これらの置換動作では、通常は符号化ペイロードが情報として与えられる。
【０１３３】
図１０を参照すると、参照に基づいて代入値を挿入する一般的な実施態様を記述するプロセス１０００が示してある。従って、プロセス１０００は、機能面においてプロセス９００とある程度の類似点がある。
【０１３４】
プロセス１０００は、参照指標を含む可変長符号化データにアクセスすることを含む（１０１０）。すなわち、可変長符号化データは、画像を予測符号化するために使用される実際の参照を識別する情報の符号化物（参照指標）を含む。実際の参照を識別する情報の符号化物である参照指標は、特定の値を有する。１つまたは複数の前述の例では、参照指標は、対応するイントラ予測モードを介してマクロブロックの予測符号化に使用される参照を識別するマクロブロック・タイプ・フィールドの値の符号化物である。
【０１３５】
プロセス１０００は、参照指標の代替値にアクセスすることを含む（１０２０）。代替値は、上記の特定の値とは異なる。代替値は、実際の参照とは異なる別の参照を識別する代替情報の符号化物である。例えば、代替値は、例えば記憶装置からアクセスしてもよいし、あるいは実時間で計算してもよい。実施態様によっては、例えば、参照指標の位置で索引づけされた表から代替値にアクセスすることができる。
【０１３６】
プロセス１０００は、参照指標の代入値として代替値を挿入することを含む（１０３０）。代替値を可変長符号化データに挿入して、画像に透かし入れを行う。
【０１３７】
プロセス１０００は、例えば修正済み可変長符号化データを記憶または伝送するなど、様々な追加の動作を含むことができる。
【０１３８】
１０２０でアクセスされる、符号化要素の位置および可能な置換値を識別するデータの全体または一部は、記憶装置に記憶することもできるし、電子的に送信することもできる。一実施態様では、ＤＶＤ、ハードディスクまたはその他の記憶装置などの装置に、これらの位置および値を記憶する。この装置は、情報を記憶するプロセッサ可読媒体を含む。記憶された情報は、符号化データ・セットの一部分に関する置換値を識別する。別の実施態様では、この装置のプロセッサ可読媒体に記憶される情報を含むようにフォーマット化された信号を提供する。
【０１３９】
さらに別の実施態様は、例えばプロセス９００またはプロセス１０００の結果など、様々なプロセスの結果に対応する。例えば、一実施態様は、修正済み符号化データを含むＤＶＤ、ハードディスクまたはその他の記憶装置などの装置であり、別の実施態様は、これらの修正済み符号化データを含むようにフォーマット化された信号である。さらに詳細には、一実施態様は、修正済みの部分を含む符号化データを記憶するプロセッサ可読媒体を含む装置である。別の実施態様は、この装置のプロセッサ可読媒体に記憶される符号化データを含むようにフォーマット化された信号である。
【０１４０】
上記の説明は、対象構文要素を解析し、符号化ビット・ストリーム中のビット・ブロックを代替ビット・ブロックで置換することによって代入することができる許容可能な代替値が存在する場合にその全てを識別する方法について述べたものである。ＡＶＣ符号化シーケンス中の全ての構文要素を検査することによって、許容可能な代替値が少なくとも１つは存在する構文要素のリストを構築することができる。これは、「変更可能な構文要素」のリストである。変更可能な各構文要素ごとに、許容可能な代替値のリストを構築することができる。他の実施態様では、マクロブロック・タイプおよび基礎となるイントラ予測モード以外の構文要素を変更することもできることに留意されたい。このようなその他の構文要素としては、例えば、動きベクトル、剰余値または（例えば）ＤＣＴ係数を用いた剰余値の符号化、あるいは参照ピクチャまたは参照フレームのインター予測指標などがある。
【０１４１】
様々な構文要素は、何らかの方法で参照を識別する情報を意味する参照情報と関連している。「参照」とは、一般に、予測の基礎として使用される情報セットを指す。「参照識別子」とは、一般に、参照を識別する情報を指す。例えば、イントラ予測モードは現在のブロックの予測の基礎として使用されるピクセルを識別するので、参照は、ブロックのイントラ予測モードによって識別することができる。また、イントラ予測モードは、それらの識別されたピクセルの使用方法も識別する。参照は、例えば、動きベクトル、あるいは予測の基礎として使用された以前のフレームまたはマクロブロックの指標によって識別することもできる。所与のマクロブロックは、複数の参照識別子および複数の参照を有することもできることに留意されたい。
【０１４２】
参照および／または参照識別子は、イントラ予測ブロックおよびインター予測ブロックについて存在することができることは明らかである。イントラ予測ブロックは、例えばイントラ予測モードまたは（イントラ予測モードを識別する）マクロブロック・タイプなどの参照識別子を使用することができ、参照は、例えば、同じピクチャのピクセル・ブロックまたはピクセル・セットとすることができる。インター予測ブロックは、例えば動きベクトルなどの参照識別子を使用することができ、参照は、別のピクチャの全体または一部とすることができる。
【０１４３】
情報の埋込みの目的は、ペイロードに応じて、全ての変更可能な構文要素のリスト上の構文要素のサブセットを修正して、それらの値をオリジナルの値からリストされている許容可能な代替値の１つに変更することである。１つの実用的な実施態様では、これは、図９に示すように３つのステップで実施される。
【０１４４】
上述のように、ペイロードは、検出メタデータを援用してＡＶＣビット・ストリームから回復することができる。いくつかの実施態様では、検出メタデータは、ペイロード情報を表す特定の構文要素、およびそれらの要素のオリジナルの値を示す。埋込みプロセスにおいて、オリジナルの値を使用して「０」を表し、代替値を使用して「１」を表した場合には、検出器は、ビット・ストリーム中の値を、検出データに記憶されたオリジナルの値と比較すればよい。両者が一致した場合には、検出器は「０」ビットを報告する。両者が一致しない場合には、検出器は「１」ビットを報告する。埋込みプロセスにおいてオリジナルの値を２つの代替値の一方で置換した場合には、これら２つの代替値およびそれらに対応するラベルを、検出データから回復する。次いで、検出器は、ビット・ストリーム中の値をこれら２つの代替値の１つまたは複数と比較し、対応するラベルを報告する。
【０１４５】
ペイロード・データも、復号済みピクセル領域画像から回復することができる。このプロセスは、サブセット選択プロセスで使用される特定の尺度に特有のプロセスである。１つの実用的な実施態様では、この尺度は、ピクセル・ブロックの平均輝度である。各修正済みブロックのオリジナルの平均輝度は、検出データから回復される。検出器は、復号済み画像シーケンス中の指定されたピクセル・ブロックの平均輝度を計算し、その値を、検出データに記憶されたオリジナルの値と比較する。算出した値がオリジナルの値より大きい場合には、検出器は「１」ビットを報告する。算出した値がオリジナルより小さい場合には、検出器は「０」ビットを報告する。このような実施態様では、検出データに位置およびオリジナルの値を記憶するが、「０」ビットまたは「１」ビットについての予想検出値を記憶する必要はない。
【０１４６】
この回復方法は、復号済み画像が、復号後、検出前に輝度の一様な変化によって修正された場合に、問題が生じる可能性がある。この問題に対処するために、いくつかの参照ブロックの平均輝度を、検出データに記憶しておくことができる。これらは、埋込みプロセスで変化しないブロックである。検出器は、回復の直前に参照ブロックの平均輝度を計算し、埋込みプロセスと無関係な全ての輝度変化を発見する。これらの輝度変化は、それぞれに応じてオリジナルの値を調節することによって補償することができる。少なくとも１つの実施態様では、透かし入りブロックに近い参照ブロックを使用することにより、不均一な輝度変化に合わせた調節を行う。
【０１４７】
情報の埋込みには様々な適用分野があることは明らかである。このような適用分野の１つは、データ・ストリームにペイロードを埋め込む透かし入れである。ただし、情報埋込みの様々な適用分野では、使用される要件が異なる可能性がある。例えば、ユーザが知覚できる変化を生じる変更をデータ・ストリームに施すことが望ましいこともある。
【０１４８】
図１１を参照すると、ペイロード情報を回復する、より一般的には、透かしを検出する、大まかなプロセス１１００が示してある。プロセス１１００は、例えば、符号化された透かし入りビット・ストリーム、または復号された透かし入りビット・ストリームのベースバンド・データに適用することができる。
【０１４９】
プロセス１１００は、透かしがあるかどうか検査する位置を決定することを含む（１１１０）。このプロセスは、透かし入れプロセスが適用されているコンテンツにも、適用されていないコンテンツにも適用することができる。さらに、透かし入れプロセスが適用されている場合でも、（上述のように）当該コンテンツを変更することなくペイロード・ビットを埋め込むこともできる。従って、検査される位置は、修正されていてもよいし、修正されていなくてもよい。このプロセスは、コンテンツに以前に透かし入れが行われている場合には、埋め込まれたペイロードを回復するようになっている。プロセス１１００は、決定された位置のデータにアクセスし（１１２０）、このデータを解析する（１１３０）。プロセス１１００は、さらに、透かしが存在する場合には、この解析に基づいて透かし情報を識別することを含む（１１４０）。識別された透かし情報は、例えばビット・シーケンス（またはその他の情報単位）、あるいはマクロブロック（またはその他のピクチャ単位）に対して決定された検出値である可能性がある。
【０１５０】
プロセス１１００を、１つまたは複数のその他の位置について繰り返して、ペイロードを構成する１つまたは複数のさらに別のビットを識別することもできる。従って、プロセス１１００を用いて、ペイロード全体を回復することもできる。
【０１５１】
プロセス１１００の複数の実施態様では、修正済みのビット・ストリームを解析すること、ならびにベースバンド・データ（例えばピクセル領域データまたは音声データ）も解析することを含む。例えば、前述の実施態様の１つによれば、ビット・ストリームは、対象要素に関連するビットを修正することによって修正することができる。透かしは、適当なビット位置にアクセスし、それらの位置に修正がないかどうか調べることによって、このようなビット・ストリーム中で検出することができる。埋込みメタデータに見られるものなど、ビット位置および修正済みの値（または可能な修正済みの値）も、検出データに含めることができる。
【０１５２】
別法として、またはこれに加えて、このような修正済みビット・ストリームを復号し、場合によっては再符号化などその他の処理を施すこともできる。再符号化を行う場合には、再符号化済みのビット・ストリームが、オリジナルの修正済みビット・ストリームと同じ位置に同じ修正済み対象要素を含んでいることはないと予想される。しかし、再符号化済みのビット・ストリームを復号して、通常はオリジナルの修正の影響が依然として存在しているベースバンド（例えばピクセル領域または音声クリップ）のディジタル表現を生成することはできる。従って、オリジナルの修正が影響を及ぼすフレーム番号およびブロック番号を識別する検出データは有用である。例えば、対象要素は、最初は特定のブロックに関する動きベクトルであり、その動きベクトルを修正した影響として、当該特定のブロックまたはブロック・セットの平均輝度が増大している可能性もある。この平均輝度の増大は、オリジナルの修正済みビット・ストリームを処理しても保存することができる。ただし、動きベクトル、および動きベクトルに施した最初の変更は、通常は、再符号化後は完全には同じではない。
【０１５３】
図１２を参照すると、特にベースバンド画像（すなわちピクセル・データ）と共に使用する場合の、ベースバンド画像に合わせた特定の動作を含むプロセス１１００の実施態様を記述するプロセス１２００が示してある。ただし、ベースバンド画像の代わりに圧縮データにアクセスする（例えば記憶装置から取り出す、または伝送により受信する）場合には、圧縮データを復号して、ベースバンド画像を得ることができる。
【０１５４】
プロセス１２００は、ベースバンド画像にアクセスすること（１２０５）を含み、必要なら時間的且つ／または幾何学的位置合わせを実行する（１２１０）ことも含む。位置合わせは、検出メタデータが、例えばフレーム番号およびフレーム内のブロック位置でそれぞれの変更を記述することがあるので、必要になることがある。従って、位置合わせにより、フレーム番号およびブロックを適切に識別することが容易になる。この位置合わせを行う手法は数多くあるが、この実施態様は位置合わせの手法とは無関係であるので、様々な手法を使用することができる。
【０１５５】
プロセス１２００は、検出メタデータにアクセスすることを含む（１２１５）。検出メタデータの各エントリは、例えばそのフレーム位置およびフレーム内のブロックによって変更を規定することができる。各エントリごとに、一般に動作１２２５〜１２４５を含むように規定することができるループ（１２２０）を実行する。
【０１５６】
検出メタデータの各エントリごとに、対応するピクセル・データ・ブロックをベースバンド画像から抽出する（１２２５）。抽出したブロックから、検出特徴を測定、計算、またはその他の方法で決定する（１２３０）。上記の１つの例では、検出特徴は平均輝度であり、別の例では、検出特徴は分散である。
【０１５７】
プロセス１２００およびループ（１２２０）は、決定した検出特徴を検出メタデータと比較することを含む（１２３５）。一実施態様では、この比較は、例えば平均輝度値などの決定した特徴を、検出メタデータ中の２つの平均輝度値と比較することを含む。最もよく一致するものを選択し、それに対応するシンボルを出力する（１２４０）。一実施態様では、最もよく一致するものを、決定した検出特徴に最も近い記憶検出値として識別する。実施態様によっては、例えば非線形評価を適用して、最もよく一致するものを決定することもできる。
【０１５８】
プロセス１２００およびループ（１２２０）は、さらに、検出メタデータに示されている次のイントラ予測符号化ブロックに進むようにループ・バックすることも含む（１２４５）。ループ（１２２０）は、検出メタデータに示されている全てのブロックに対して繰り返される。
【０１５９】
ループ（１２２０）を繰り返すたびに、動作（１２４０）でシンボルが出力され、その結果、シンボル・ストリームが得られる（１２５０）。必要なら、シンボル・ストリームを復号する（１２５５）。実施態様によっては、ペイロード・ビットを符号化していなくてもよいことに留意されたい。（例えば図１のデータ・コーダ１２０などにおいて）データ符号化プロセスがペイロードに適用されている場合には、対応するデータ復号プロセスをシンボル・ストリームに適用して、ペイロード推定と呼ばれる回復したペイロードを得る（１２６０）。
【０１６０】
ペイロード推定（１２６０）は、復号されたシンボル・ストリーム、または（ペイロードが符号化されていない場合には）シンボル・ストリームに対応する。通常の実施態様では、動作（１２４０）で出力されるシンボルはビットであるが、実施態様によっては、ビット以外のシンボルを符号化することもある。
【０１６１】
上述のように、検出特徴として平均輝度を使用する場合には、システムは、大域的な明るさの変化によって混乱する可能性がある。換言すれば、大域的な明るさの増大により、ベースバンド画像から抽出した輝度が、メタデータに記憶された２つの値のうちの明るい方に常に近づいていく可能性がある。従って、シンボル・ストリームが、（誤って）全て「１」ビットで構成される可能性がある。これに対処するために、埋込み装置は、いくつかの参照エントリを検出情報に付加することができる。参照エントリは、透かし入れプロセスの影響を受けないブロックに関するフレーム番号、ブロック位置およびオリジナルの輝度値のリストである。検出器は、これらの参照値を読み出し、ベースバンド画像に見られる対応する値とこれらの参照値とを比較することができる。その後、（おそらくは位置合わせ時に）参照ブロックの測定輝度が検出メタデータ・ファイルにリストされた輝度と一致するように、ベースバンド画像を調節すればよい。
【０１６２】
プロセス９００またはプロセス１２００の様々な実施態様では、様々なデータの１つまたは複数を含む記憶した検出メタデータを使用する。例えば、検出メタデータは、透かしがあるかどうか検査する位置を識別する位置情報を含むことができる。位置情報は、例えば、フレーム識別子および／またはブロック識別子を含むことができる。
【０１６３】
検出メタデータは、例えば、特徴のベンチマーク値を含むことができる。ベンチマークは、例えば、位置が修正される前の特徴の値とすることができる。ベンチマークを、例えば、アクセスした位置（１１２０）の特徴の実際の値（新しいベンチマーク）と比較して、変更の指標を得ることもできる。例えば、この比較により、その値（ベンチマーク）が、修正の結果として増加したのか減少したのかを示すことができる。
【０１６４】
検出メタデータは、例えば、別の位置（透かし入れされていない位置）の特徴のベース値を含むこともできる。このベース値は、例えば、透かし入れされていない位置の平均輝度とすることができる。上述のように、このベース値を使用して、透かし入れされた位置よりも大きな影響を及ぼす変更がデータに加えられたかどうかを判定することができる。状況によっては、大域的な変化（例えばフレーム全体の変更）が生じている可能性もある。例えば、フレーム全体の平均輝度が変更されていることもある。この場合には、ベース値を、透かし入れされていない位置における特徴の新しい値（新しいベース値）と比較すればよい。その差がしきい値を超える場合には、大域的な変化が生じていると判定することができる。あるいは、単純にその差を大域的な差と見なしてもよく、その差を、（可能な）透かし入れされた位置について決定した値（新しいベンチマーク）に付加して、大域的な変化を説明してもよい。この代替例では、別法として、差を上記の値（新しいベンチマーク）ではなくベンチマークに付加することもできることに留意されたい。さらに、実施態様によっては、ベース値と新しいベース値の比を求め、ベンチマークまたは新しいベンチマークの何れかに、この比を乗算してもよい。
【０１６５】
図１３を参照すると、システム１３００は、予め準備された埋込み情報（埋込みメタデータと呼ぶ）を使用して映像に透かし入れを行う（その他のタイプのコンテンツの透かし入れも行うことができる）プレーヤ１３０５を提供する。透かし入れされた映像は、表示に備える。また、システム１３００は、表示に備えている映像の再符号化にも対応しており、この再符号化は、例えば、当該映像の不正コピーが再符号化されたときなどに行うことができる。システム１３００は、さらに、再符号化の復号、およびシステム全体の中の１つまたは複数の点でのオリジナルのペイロードの検出にも対応する。システム１３００は、１つまたは複数のプロセスの流れ図でもある。
【０１６６】
プレーヤ１３０５は、ペイロード１３１０、映像１３１５および埋込みメタデータ１３１８を含む。プレーヤ１３０５は、ペイロード１３１０、映像１３１５および埋込みメタデータ１３１８を受信し、透かし入り映像を提供する透かし入れ部１３２０を含む。ペイロードは、ペイロード検出器１３４５によって、透かし入り映像から検出することができる。
【０１６７】
プレーヤ１３０５は、透かし入り映像を受信して、エントロピ復号を実行するエントロピ・デコーダ１３２５を含む。プレーヤ１３０５は、さらに、エントロピ復号されたストリームをエントロピ・デコーダ１３２５から受信し、予測復号を実行してピクセル領域画像１３３５を生成する予測デコーダ１３３０も含む。ピクセル領域画像は、ディスプレイ１３５５、またはベースバンド・データに対して働くペイロード検出器１３５０に送ることができる。
【０１６８】
ピクセル領域画像は、予測再符号化器１３６０に送り、その後にエントロピ再符号化器に送って再符号化して、符号化出力１３７０にすることもできる。符号化出力１３７０は、例えば、ＡＶＣ準拠ビット・ストリームとすることができる。符号化出力１３７０は、例えば、配布に備えて書込み可能媒体に記憶することができる。予測再符号化器１３６０およびエントロピ再符号化器１３６５は、プレーヤ１３０５とは別の、コンテンツの不正コピー（出力１３７０で表す）を製造するための装置の一部とすることができる。
【０１６９】
符号化出力１３７０は、例えば、エントロピ・デコーダ１３８０（エントロピ・デコーダ１３２５と同じであってもよい）に送り、その後に予測デコーダ１３８５（予測デコーダ１３３０と同じであってもよい）に送って復号して、ピクセル領域画像１３９０にすることもできる。ピクセル領域画像１３９０は、ディスプレイ１３９２および／またはペイロード検出器１３９５（ペイロード検出器１３５０と同じであってもよい）に送ることができる。エントロピ・デコーダ１３８０および予測デコーダ１３８５は、プレーヤ１３０５ならびに予測再符号化界１３６０およびエントロピ再符号化器１３６５と別の装置の一部とすることができる。例えば、このような別個の装置の１つは、コンテンツの不正コピー（出力１３７０で表す）を受け取って解析するペイロード検出施設に地理的に位置していてもよい。
【０１７０】
プロセス９００または本願に記載のその他のプロセスは、処理装置も含めた様々な装置で実行することができることは明らかである。このような装置には、例えばアクセス・データ、ベンチマーク値、ベース値および１つまたは複数の透かし情報がある可能性のある位置などのデータを記憶する記憶装置も含まれる。さらに、プロセス９００または本願に記載のその他のプロセスは、一組の命令セットとして実施することもできる。
【０１７１】
記載した実施態様の特色および特徴は、様々な適用分野に当てはまる。適用分野としては、例えば、ＤＶＤなどのディスクへの透かし入れや、ディジタル・ストリームへの透かし入れなどがある。ディスクの透かし入れは、例えばディスクの複製時などに様々な方法で行うことができる。ディジタル・ストリームの透かし入れも、例えば再生時、放送時、ダウンロード時、またはその他の形でのディジタル・ストリームの転送時に、様々な方法で行うことができる。これらの特色および特徴は、適用分野に応じて改変することもできる。例えば、符号化ビット・ストリームを、透かし入れ以外の目的のために修正することもできる。一例としては、視聴者に見せるためのメッセージの埋込みが挙げられる。そのメッセージを、さらに、ペイロードなどの基準に基づいて変化させることもできる。さらに、上述の実施態様では主に可変長符号化に焦点をあてたが、適用分野によっては、同じ概念を他の符号化技術に適用することもできる。
【０１７２】
本願に記載した概念、実施態様および特色は、例えば、通常のＤＶＤの作成、配布および再生プロセスにおける様々な段階で適用することができる。例えば、これらの概念および特色は、以下において利用することができる。
【０１７３】
１．コンテンツを前処理して、置換値を決定すること。置換値は、この段階では挿入しなくてもよいが、例えば後の挿入に備えてデータ構造（例えば表）に記憶しておくことができる。
【０１７４】
２．上記の項目１で述べたデータ構造、当該データ構造を搬送する信号、または当該データ構造を記憶するプロセッサ可読媒体。このような媒体は、例えば、当該データ構造と未修正のコンテンツを両方とも含むこともできる。
【０１７５】
３．上記の項目１の置換値をコンテンツに挿入すること。
【０１７６】
４．上記の項目３で生成された修正済みコンテンツ。この修正済みコンテンツは、データ構造、当該修正済みコンテンツを搬送する信号、または当該修正済みコンテンツを記憶するプロセッサ可読媒体の何れかである。
【０１７７】
５．上記の項目４の修正済みコンテンツを復号して、例えばピクセル・データ（画像を符号化した場合）または音声データ（音声を符号化した場合）などのベースバンド・データを生成すること。
【０１７８】
６．透かしを含むこともできる修正済みコンテンツである、上記の項目５の復号済みコンテンツ自体。復号済みコンテンツは、例えば、データ構造、当該復号済みコンテンツを搬送する信号、または当該復号済みコンテンツを少なくとも一時的に記憶するプロセッサ可読媒体とすることができる。
【０１７９】
７．上記の項目６の復号済みコンテンツを表示する、より一般的には提示すること。表示または提示に備えることも含む。
【０１８０】
８．上記の項目６の復号済みコンテンツを、符号化されたビットが上記の項目４で与えられたビットと異なる場合でも検出特徴（修正により得られる）が保持されるように、再符号化すること。
【０１８１】
９．項目８の再符号化済みコンテンツを含むデータ構造。または当該再符号化済みコンテンツをフォーマットかおよび搬送する信号。または当該再符号化済みコンテンツを記憶するプロセッサ可読媒体。
【０１８２】
１０．上記の項目８の再符号化済みコンテンツを復号して、ベースバンド・データを生成すること。
【０１８３】
１１．上記の項目１０の復号で生成されるベースバンド・データ。このベースバンド・データは、例えば、データ構造、当該ベースバンド・データを搬送する信号、または当該ベースバンド・データを少なくとも一時的に記憶するプロセッサ可読媒体とすることができる。
【０１８４】
１２．上記の項目１１のベースバンド・データを表示する、またはより一般的には提示すること。表示または提示に備えることも含む。
【０１８５】
１３．上記の項目４の修正済みコンテンツからペイロード（例えば透かし）を検出すること。
【０１８６】
１４．上記の項目５のベースバンド・データからペイロードを検出すること。
【０１８７】
１５．上記の項目８および９の再符号化済みコンテンツから、符号化ビットが許す場合に、ペイロードを検出すること。
【０１８８】
１６．上記の項目１１のベースバンド・データからペイロードを検出すること。
【０１８９】
本開示の様々なセクションで見出しを用いていても、それらの見出しは、当該セクションの開示をその見出しの主題に限定したり、その他のセクションの開示をその見出しの主題以外の主題に限定したりするものではないことに留意されたい。これらの見出しは例示であり、一般的な意味合いで読者を助けるためのものである。これらの見出しは、本開示の流れを制限したり、本開示の適用可能性または一般性を制限したりするものではない。
【０１９０】
本願で使用する「透かし」という用語は、様々なものを指す可能性がある。例えば、「透かし」は、後に検出できるように修正または挿入されたデータ、あるいはその結果得られるベースバンド修正を指すこともある。
【０１９１】
明らかであるが、「構文要素（ｓｙｎｔａｘ  ｅｌｅｍｅｎｔ）」という用語は、様々なタイプの情報の１つまたは複数を表すことができる。例えば、「構文要素」は、動きベクトル、剰余ＤＣＴ係数、マクロブロック・タイプ、量子化パラメータ、またはフラグとすることができる。従って、構文要素は、全てが同じ長さを有している必要はなく、様々に異なる長さを有することができる。本願に開示の様々な実施態様では、構文要素が表す情報の種類、および構文要素のサイズ／長さに関わりなく、任意の種類の構文要素を扱うことができる。
【０１９２】
例として、ピクチャ、フレームまたはブロックに関連して様々な実施態様を説明した。しかし、本願に記載した概念、実施態様および特色は、画像一般に広く適用することができ、その画像は、１つまたは複数のピクセル、ブロック、スライス、フィールド、フレーム、ピクチャまたはシーケンスとすることができる（あるいはこれらを含むことができる）。
【０１９３】
さらに、ビデオ・データに関連して多くの実施態様を説明した。しかし、本願の概念、実施態様および特色は、一般に、音声データおよびその他の種類の符号化データにも等しく適用することができる。
【０１９４】
２つの装置を直接または間接に接続する場合には、２つの装置または構成要素を結合すると言う。直接に接続された装置の場合は、接続される装置の間に介在する装置が存在しない。間接に接続された装置の場合は、接続される装置の間に介在する装置が１つまたは複数存在する。
【０１９５】
さらに、ＡＶＣに関連して多くの実施態様を説明した。しかし、本願の概念、実施態様および特色は、（１）何らかの標準に準拠した環境に限定されるわけではなく、標準を用いない様々な環境に適用することができ、（２）もちろんＡＶＣに限定されず、（３）その他の既知の標準に広く適用され、（４）少なくともいくつかの点では将来開発される標準にも広く適用することができる。その他の標準としては、ＡＶＣ関連標準などが挙げられる。「ＡＶＣ関連標準」とは、ＡＶＣに基づく、またはＡＶＣに類似した、その他の標準を広く指すものである。
【０１９６】
本明細書に記載の実施態様は、例えば、方法またはプロセス、装置、あるいはソフトウェア・プログラムとして実施することができる。１つの形態の実施態様の状況でしか述べていない場合でも（例えば方法としてしか述べていない場合でも）、そこで述べられている特色の実施態様を、その他の形態（例えば装置またはプログラムなど）で実施することもできる。装置は、例えば適当なハードウェア、ソフトウェア、およびファームウェアなどで実施することができる。方法を、例えばプロセッサなどの装置として実施することもできる。ここで言う「プロセッサ」とは、例えばコンピュータ、マイクロプロセッサ、集積回路またはプログラマブル論理装置などの処理装置を広く指している。処理装置には、例えばコンピュータ、携帯電話、携帯情報端末（「ＰＤＡ」）、およびその他のエンドユーザ間の情報通信を容易にする装置などの通信装置も含まれる。
【０１９７】
本明細書に記載する様々なプロセスおよび特色の実施態様は、様々な機器またはアプリケーション、具体的には、例えばデータの符号化および復号に関連する機器またはアプリケーション、あるいはコンテンツ作成に関連する機器またはアプリケーションで実施することができる。機器の例としては、ビデオ・コーダ、ビデオ・デコーダ、ビデオ・コーデック、ウェブ・サーバ、セット・トップ・ボックス、ラップ・トップ、パーソナル・コンピュータ、携帯電話、ＰＤＡ、およびその他の通信装置などが挙げられる。明らかであるが、この機器は移動機器であってもよく、移動車両に設置することもできる。
【０１９８】
さらに、方法は、プロセッサによって実行される命令で実施することもでき、これらの命令は、例えば集積回路、ソフトウェア・キャリア、あるいは例えばハードディスク、コンパクト・ディスケット、ランダム・アクセス・メモリ（「ＲＡＭ」）または読取り専用メモリ（「ＲＯＭ」）のようなその他の記憶装置などのプロセッサ可読媒体に記憶することができる。これらの命令は、プロセッサ可読媒体に実装されるアプリケーション・プログラムを構成していてもよい。命令は、例えば、ハードウェア、ファームウェア、ソフトウェアまたはそれらの組合せとすることができる。命令は、例えば、オペレーティング・システム、別個のアプリケーションまたはこれら２つの組合せに見ることができる。従って、プロセッサは、例えば、プロセスを実行するように構成された装置およびプロセスを実行する命令を有するプロセッサ可読媒体を含む装置の両方の特徴を有することができる。
【０１９９】
当業者には明らかであろうが、実施態様によっては、例えば記憶または伝送することができる情報を搬送するようにフォーマット化された信号を生成することもできる。この情報としては、例えば、方法を実行するための命令、または上述の様々な実施態様の１つによって生成されるデータなどが挙げられる。この信号は、例えば、（例えばスペクトルの無線周波部分を使用して）電磁波として、またはベースバンド信号としてフォーマット化することができる。このフォーマット化は、例えば、データ・ストリームを符号化すること、および符号化したデータ・ストリームで搬送波を変調することを含むことができる。信号が搬送する情報は、例えば、アナログ情報であってもディジタル情報であってもよい。この信号は、周知のように、有線または無線の様々なリンクを介して伝送することができる。
【０２００】
以上、いくつかの実施態様を説明した。ただし、様々な修正を加えることができることは理解されるであろう。例えば、異なる実施態様の要素を組み合わせ、追加し、修正し、または省略して、他の実施態様を生み出すこともできる。さらに、開示した構造およびプロセスの代わりにそれ以外の構造およびプロセスを用い、その結果得られた実施態様によって、少なくとも実質的には同様の１つまたは複数の機能を、少なくとも実質的には同様の１つまたは複数の方法で実行して、開示した実施態様と少なくとも実質的には同様の１つまたは複数の結果を得ることができることも、当業者なら理解するであろう。従って、上記その他の実施態様は、本願で企図したものであり、以下の特許請求の範囲に含まれるものである。
【図１】
0005467651.tif 000002
【図２ａ】
0005467651.tif 000003
【図２ｂ】
0005467651.tif 000004
【図３】
0005467651.tif 000005
【図４ａ】
0005467651.tif 000006
【図４ｂ】
0005467651.tif 000007
【図５】
0005467651.tif 000008
【図６】
0005467651.tif 000009
【図７】
0005467651.tif 000010
【図８】
0005467651.tif 000011
【図９】
0005467651.tif 000012
【図１０】
0005467651.tif 000013
【図１１】
0005467651.tif 000014
【図１２】
0005467651.tif 000015
【図１３】
0005467651.tif 000016