(57)【特許請求の範囲】
【請求項１】
所与の輝度をもつエンコードされたビデオ画像中に埋め込まれることのできる透かしを選択する段階と；
前記透かしが前記ビデオ画像中に埋め込まれた場合に、前記ビデオ画像の前記輝度において起こりうる何らかの変化の定量的な値を求める段階であって、個々の輝度変化は推定値であり厳密な輝度値ではなく、輝度における変化の計算は動きベクトル変化またはイントラ予測基準の変化に基づく、段階と；
前記定量的な値に応じて前記透かしを受け容れるまたは拒否する段階と；
前記透かしのうち受け容れられたものをリストに追加する段階であって、前記リストに追加される透かしは埋め込みのために受け入れ可能な透かしである、段階とを含む、
方法。
【請求項２】
請求項１記載の方法であって、前記ビデオ画像がブロックからなり、当該方法がさらに：
前記求める段階を、前記ビデオ画像のブロックのうちの全部ではない一部に基づいて実装する段階を含む、
方法。
【請求項３】
請求項２記載の方法であって、
前記の選択された透かしについて伝搬マップを構築する段階と；
前記所与の輝度における何らかの変化をもつブロックを前記伝搬マップに含める段階とを含む、
方法。
【請求項４】
請求項２記載の方法であって、さらに：
前記求める段階を、評価されるブロックに対するインター予測変化を計算することによって実装する段階と；
前記の選択された透かしについての伝搬マップを構築する段階と；
評価されたブロックのうち、前記所与の輝度における何らかの変化をもつブロックを、前記伝搬マップに含める段階と；
該含められるブロックについて、基準フレーム番号、もとの動きベクトルおよび新しい動きを記憶する段階とを含む、
方法。
【請求項５】
請求項２記載の方法であって、さらに：
前記求める段階を、評価されるブロックに対するイントラ予測変化を計算することによって実装する段階と；
前記の選択された透かしについての伝搬マップを構築する段階と；
評価されたブロックのうち、前記所与の輝度における何らかの変化をもつブロックを、前記伝搬マップに含める段階と；
該含められるブロックについて、基準近傍ブロック番号および予測モードを記憶する段階とを含む、
方法。
【請求項６】
請求項５記載の方法であって、さらに、前記所与の輝度における前記変化に応答して透かし検出のための検出基準値を生成する段階をさらに含む、方法。
【請求項７】
前記リストからの受け容れられる透かしの一つを前記ビデオ画像中に埋め込む段階をさらに含む、請求項１記載の方法。
【請求項８】
所与の輝度をもつエンコードされたビデオ画像中に埋め込まれることのできる透かしを選択する段階と；
前記透かしが前記ビデオ画像中に埋め込まれた場合に、前記ビデオ画像の前記所与の輝度において起こりうる何らかの変化の定量的な値を求める段階であって、個々の輝度変化は推定値であり厳密な輝度値ではなく、輝度における変化の計算は動きベクトル変化またはイントラ予測基準の変化に基づく、段階と；
前記定量的な値に応じて前記透かしを受け容れるまたは拒否する段階と；
受け容れられた透かしを前記ビデオ画像中に埋め込む段階とを含む、
方法。
【請求項９】
請求項８記載の方法であって、さらに：
前記透かしのうち受け容れられたものをリストに追加する段階であって、前記リストに追加される透かしは埋め込みのために受け入れ可能な透かしである、段階と；
前記リスト中の透かしをペイロード制約条件と比較する段階と；
前記リストから、前記ペイロード制約条件を満たさない透かしを除去する段階とを含む、
方法。
【請求項１０】
ブロックに分割されたエンコードされたビデオに適用される変化にアクセスする段階と；
前記変化の適用によって変更を受けるブロックに対する固有の変化だけを取り込む伝搬マップを生成する段階と；
輝度の基準に基づいて、前記変化を知覚可能な変化または知覚できない変化として評価する段階であって、前記輝度の基準は、前記透かしが前記ビデオ画像中に埋め込まれた場合に、前記ビデオ画像の前記輝度において起こりうる何らかの変化の定量的な値を求めることを含意し、個々の輝度変化は推定値であり厳密な輝度値ではなく、輝度における変化の計算は動きベクトル変化またはイントラ予測基準の変化に基づく、段階と；
知覚できない変化の伝搬マップについて、前記伝搬マップをリストに記憶する段階とを含む、
方法。
【請求項１１】
前記伝搬マップを、前記変化に関連する動きベクトル変化を使うことに基づいて生成する段階をさらに含む、
請求項１０記載の方法。
【請求項１２】
前記変化が透かしである、請求項１１記載の方法。
【請求項１３】
もとのビデオ・シーケンスにアクセスする段階と；
予期される変化を含む変化リストにアクセスするまたは該変化リストを生成する段階であって、予期される変化とは潜在的な透かしである、段階と；
前記変化リスト上の予期される変化について、ブロックに対する個々の輝度変化を評価または計算する段階と；
個々の輝度変化の少なくとも一つから、前記予期される変化によって影響されるブロックの群を含む差分スライスを構築する段階と；
前記個々の輝度変化の少なくとも一つから前記差分スライスを更新する段階とを含む、
方法。
【請求項１４】
前記個々の輝度変化は推定値であり、厳密な輝度値ではない、請求項１３記載の方法。
【請求項１５】
請求項１３記載の方法であって、
前記変化リスト中のあらゆる予期される変化の始まりにおいて前記差分スライスを初期化する段階と；
前記ブロックに対する前記個々の輝度変化のそれぞれの輝度評価または計算後、前記差分スライスを更新する段階とを含む、
方法。
【請求項１６】
前記予期される変化に関連する動きベクトル変化に基づいて前記個々の輝度変化の推定値を決定することを含む、請求項１４記載の方法。
【請求項１７】
特定の目標ブロックに隣接する近傍ブロック中のボーダー・ピクセルにおける輝度変化を使って現在ブロックの輝度変化をイントラ予測することによって前記個々の輝度変化の推定値を決定する段階を含む、請求項１４記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
〈相互参照〉
本特許出願は、2008年8月19日に出願された「輝度評価」という名称の米国仮特許出願第61/189,363号の利益および優先権を主張するものである。この仮出願は、ここに参照によってあらゆる目的においてその全体において組み込まれる。
【０００２】
〈発明の分野〉
本発明は、透かしを定量的に評価し、透かしをビデオに適用する方法に関する。
【背景技術】
【０００３】
今日、海賊版対策技術としてのデジタル透かし入れに対する需要は強い。海賊版制作者が透かしを迂回するのをより難しくするためには、多くの潜在的な透かしが提案され、使用されることが重要である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
残念ながら、透かし入れは、ビデオの所与の領域中のピクセルに影響する変更を行う。よって、透かしが、意図された観客のための意図された視聴体験に干渉しうる変更をしないことが重要である。結果として、埋め込みの前に、透かしをもつ画像が透かしなしの画像と知覚的に同じになるかどうかを判定するメトリックによって潜在的な透かしを評価する必要性がある。
【課題を解決するための手段】
【０００５】
本発明のある側面は、ビデオに適用する透かしを提供する段階と；輝度〔ルミナンス〕および／またはクロミナンスに基づいて、透かしが知覚できない透かしであるか知覚できる透かしであるかを判定する段階と；知覚できない透かしをリストに加える段階とを含む方法である。本方法は、透かし適用に関連するビデオの輝度および／またはクロミナンスの変化を評価する段階と；一部のブロックについてのみ輝度および／またはクロミナンスの変化を計算する段階であって、少なくとも一つの他のブロックに対しては何の計算も実行されない段階と；透かしについての伝搬マップを構築する段階とを含むことができる。伝搬マップは、何らかの輝度および／またはクロミナンスの変化を有するブロックを含む。本方法はさらに、動きベクトル変化に起因する輝度および／またはクロミナンスの変化を計算することを含むことができる。
【０００６】
さらに、本発明に基づくある方法は、ビデオに適用する透かしを提供する段階と；透かしが埋め込まれた場合に輝度および／またはクロミナンスにおける導入される変化を定量的に判別する段階と；得られた定量的な値に基づいて、透かしが受け容れ可能な透かしであるか受け容れ不可能な透かしであるかを決定する段階と；受け容れ可能な透かしをリストに追加する段階とを含む。さらなるステップは、ビデオのフレームをブロックに分割する段階と；一部のブロックについてのみ輝度変化を計算する段階であって、少なくとも一つの他のブロックに対しては何の計算も実行されない段階と；一部のブロックについてのみ輝度および／またはクロミナンスの変化を計算する段階であって、それらのブロックの厳密な輝度および／またはクロミナンス値に対しては何の計算も実行されない段階と；透かしについての伝搬マップを構築する段階とを含むことができる。伝搬マップは、何らかの輝度および／またはクロミナンスの変化を有するブロックを含む。透かしについての伝搬マップは基準フレーム番号、もとの動きベクトルおよび新しい動きを格納することができる。輝度変化は、ブロックに対する動きベクトル変化、イントラ予測基準の変化および／またはインター予測変化に基づいて計算されることができる。透かし検出のための検出基準値は、計算された輝度および／またはクロミナンス変化を使って確立されることもできる。さらなる段階は、前記リストからの透かしをビデオに適用することと、ペイロード制約条件を満たさない透かしを前記リストからフィルタリングすることとを含むことができる。
【０００７】
さらに、本発明に基づく方法は、もとのビデオ・シーケンスにアクセスする段階と；変化リストにアクセスするまたは変化リストを生成する段階と；変化リスト上の予期される（prospective）変化について、ブロックに対する個々の輝度および／またはクロミナンス変化を評価または計算する段階と；前記個々の輝度および／またはクロミナンス変化の前記少なくとも一つから差分スライスを構築する段階であって、前記差分スライスは前記予期される変化によって影響されるブロックの群を含む、段階と；前記個々の輝度および／またはクロミナンス変化の前記少なくとも一つからの前記差分スライスを更新する段階とを含み、前記個々の輝度および／またはクロミナンス変化は推定値であり、厳密な輝度および／またはクロミナンス値ではない。諸特徴は、変化リストにおけるあらゆる予期される変化の開始において前記差分スライスを初期化する段階と；ブロックに対する前記個々の輝度および／またはクロミナンス変化のそれぞれの輝度および／またはクロミナンス評価または計算のあと、前記差分スライスを更新する段階とを含む。前記個々の輝度および／またはクロミナンス変化の前記推定値は、前記予期される変化に関連する動きベクトル変化に基づくことができる。前記個々の輝度および／またはクロミナンス変化の前記推定値は、指定された目標ブロックに隣接する近隣ブロックにおけるボーダー・ピクセルにおける輝度および／またはクロミナンス変化を使って現在ブロックの輝度および／またはクロミナンス変化をイントラ予測することに基づくことができる。
【０００８】
ビデオに透かしを適用する手段と；透かしが埋め込まれた場合の輝度および／またはクロミナンスの変化を予測する手段と；予測された変化に基づいて透かしの受け容れ可能性を判別する手段と；受け容れ可能な透かしをリストに追加する手段とを有する装置も提供される。本装置はまた、ビデオのフレームをブロックに分割する手段と：一部のブロックについてのみ輝度および／またはクロミナンス変化を計算する手段であって、それらのブロックの厳密な輝度および／またはクロミナンス値を与える何の計算も実行されない手段と；透かしについての伝搬マップを構築する手段とをも有することができる。伝搬マップは、何らかの輝度および／またはクロミナンス変化を有するブロックを含むことができ、伝搬マップは基準近隣ブロック番号および予測モードを格納することができる。前記装置はさらに、ブロックに対する変化をインター予測によって計算する手段と；ブロックに対する変化をイントラ予測によって計算する手段と；計算された輝度および／またはクロミナンス変化を使って透かし検出のための検出基準値を生成する手段とを有する。
【図面の簡単な説明】
【０００９】
本発明についてここで例として付属の図面を参照して説明する。
【図１】イントラ予測に関わる近隣ブロックを表す図である。
【図２】LumEval計算のブロック図である。
【図３】インター予測されたブロックについてのLumEvalプロセスを示す図である。
【図４】イントラ予測されたブロックについてのLumEvalプロセスを示す図である。
【図５】LumEval方法論のスタンドアローン・バージョンを示す図である。
【図６】LumEvalのAVC_Decoder/Propmapツール中への統合された実装を示す図である。
【図７】AVCデコーダ・ベースの伝搬マップ構築を示す図である。
【図８】伝搬マップ初期化を示す図である。
【図９】最終的な伝搬マップ・リストを生成するための諸段階を示す図である。
【図１０】伝搬更新プロセスを示す図である。
【図１１】イントラ予測のための伝搬マップ更新を示す図である。
【図１２】インター／イントラ予測のための最適化された伝搬マップ更新を示す図である。
【図１３】伝搬マップを示す図である。
【図１４】伝搬マップの構築を示すブロック図である。
【発明を実施するための形態】
【００１０】
本発明は、透かしの評価および実装に関し、本発明の実施形態は、リスト生成ステップを含み、一組のリスト・フィルタリング・ステップがそれに続くことができる。リスト生成ステップの出力は、見る者にとって不快でない、なすことのできる変化のリストである。フィルタリング・ステップは、リスト中の、少なくとも一つの制約条件を満足する変化を保持するが、さまざまな制約条件を満足することが好ましいであろう。最も重要な制約条件は、透かし埋め込み後、透かし入れされた画像が、透かし入れされていない元の画像と、知覚的に同じに見えるべきであるということである。
【００１１】
本発明のキーとなる特徴は、動きベクトルの変化またはイントラ予測基準（reference）の変化に起因する輝度およびクロミナンス変化の推定および／または計算である。透かし埋め込みの間に動きベクトル値を修正することによって引き起こされる変化を評価するプロセスは、本稿ではLumEvalと称される。LumEvalは、各ブロックについての輝度変化の量を測定し、それは、透かし入れ用途における忠実度評価のような、該変化を評価するために使うことができる。
【００１２】
本発明の他のいくつかのキーとなる特徴は：修正された輝度を完全に再構成することなくインター予測されたブロック輝度を得ること；各ブロックの輝度評価後にスライス差分を構築および更新し、差分を使ってイントラ予測についての修正されたスライスを構築すること；モードおよびもとのスライス／差分スライスに基づいてイントラ予測されたブロック輝度評価を決定すること；忠実度評価、堅牢性評価および透かし入れにおける検出のためにLumEvalを適用することである。
【００１３】
さらに、本発明の特徴は、特にAVC/CABAC（Advanced  Video  Compression/Context-based  Adaptive  Binary  Arithmetic  Coding）透かし入れ方法論に適用可能であり、いくつかのステップが埋め込みに関係する。埋め込みは、埋め込みにおいて使われることのできる変化のリストを生成するためにビデオ・コンテンツが解析される解析ステップを含むことができる。解析ステップは大まかには、リスト生成プロセスとそれに続く一組のリスト・フィルタリング・プロセスとして記述することができる。リスト生成プロセスの出力は、ビットストリームのAVC/CABAC準拠性を乱すことなく実装できる変化のリストである。フィルタリング処理は、たとえば、目に見えるアーチファクトを導入するような変化を除去し、回復するのが難しいであろう変化を除去し、ペイロード制約条件および他の用途制約条件といった他の外的な制約条件に従う一組の変化を生成するよう設計される。
【００１４】
本稿に記載される少なくとも一つの実施形態は、前記変化によって導入される輝度の差を定量的に同定することを試みる。輝度の差の情報は、忠実度評価、堅牢性評価および検出を含む多くの側面において決定的となりうる。忠実度評価では、輝度差は、目に見えるアーチファクトを導入するような変化を識別するために使われる。これは、そのままでは透かし入れされたビデオに目に見えるアーチファクトを導入してしまう変化を除去することを許容できる。そのような目に見えるアーチファクトは一般に受け容れられないものである。堅牢性評価に関しては、輝度差は、透かし入れされたコンテンツに対して適用される一般的な処理をされても残存するために十分堅牢であると予想されない変化や、良好な堅牢性を与えると予想される変化を識別する助けとなるために使用される。検出については、輝度差は、透かし検出の際に基準値として使用されることができる。
【００１５】
本発明のある応用では、変化のリストがあり、各変化は、それが導入する輝度の変化として評価される。一般に、ある変化によって導入される輝度変化と別の変化によって導入される輝度変化との間には相互作用があることがある。したがって、各変化は独立して扱われる。輝度評価（luminance  evaluation）は、他の変化がなされないと想定して、所与の変化が導入する輝度変化を示す。
【００１６】
二つのビデオ・シーケンスの間の輝度差を計算するための厳格な方法論は、もとのビデオおよび修正されたビデオの両方を生成して、差を取ることである。この方法は、修正されたH.264/AVCビットストリームをデコードすることによって修正されたビデオを生成する。典型的には、計算的に高価であり、記憶も消費するプロセスである。さらに、変化のリストを与えられたとき、リスト中の変化のそれぞれについてデコードを行うことが可能である。これは典型的には大きなオーバーヘッドを要求し、そのためこの厳格な方法論は、評価されるべき変化の長いリストをもつ応用については実行可能ではない。透かし入れ適用は、少なくとも一つの実装では、画像１分当たり2000個のオーダーの変化をもつことがあるのである。他の実装では１分当たりの変化はより多いこともあればより少ないこともある。
【００１７】
lumEvalアルゴリズムの詳細は、透かし埋め込みの際のインター予測されたブロックにおける動きベクトル値の修正の考慮をもって始まる。そのような変化は、そのブロックについてのピクセル値予測における変化につながり、よって、もとの残差が引き続き使われるとして、再構成されたピクセル値における変化につながる。多くの場合において、この変化は再構成されたブロックの輝度に影響する。
【００１８】
単一の動きベクトルの修正によって影響されるブロックを示す伝搬マップを用いることができる。一つの動きベクトルの変化は、そのマクロブロック自身（インター予測）、伝搬マップ上のインター予測されるブロックおよび伝搬マップ上のイントラ予測されるブロックの輝度に影響することができる。
【００１９】
図１３のａは、伝搬マップの一例を示している。この伝搬マップ１３００は、動きベクトルが直接変化させられた一つのＢスライス・ブロック１３１０に関連付けられている。図中の他のブロック１３２０は、伝搬のために間接的に変化させられるブロックである。直接的な修正のためまたは他の変化の伝搬経路中にあるためにブロックが変化するとき、この変化は、その近傍ブロックにさらに伝搬する可能性がある。図１３のｂは、伝搬マップのもう一つの例を示している。ここでは、一つのブロック１３３０だけが直接変更されたときに、四つの近傍ブロック１３４０の輝度値がこの伝搬のために修正されることができる。変化させられたブロックの伝搬マップPは、伝搬のために輝度値がやはり変化させられるブロックpの集合を表す。伝搬マップ中の各ブロックは、初期変化、現在ブロックの予測モードおよび現在ブロックの変化を示すデータ構造をもって表され、
p＝{head_node_info,  mode,  cur_node_info}
として表される。
【００２０】
「head_node」〔ヘッド・ノード〕は変化させられたブロックを、位置および変化を開始した動きベクトルの代替値として、一意的に同定する。伝搬マップP内のノードのすべては、同じ「head_node」をもつことになる。要素「mode」〔モード〕は現在ブロックの予測モードを示す。これはイントラ予測またはインター予測であることができる。要素「cur_node」〔現在ノード〕は、現在ブロックについての情報を記録する。これは、インター予測されるブロックについてはもとの動きベクトルおよび新しい動きベクトルを含み、イントラ予測ブロックについてはイントラ予測モードおよび基準ブロックを含む。
【００２１】
図１４は、伝搬マップを構築する方法を示している。伝搬マップPは、１４１０において、変化させられたブロックpをもって初期化される。評価ボックス１４２０では、ブロックpが空であるかどうかを評価する判定がなされる。ブロックpが空でない場合、その四つの近傍ブロックαi、i＝1,…,4（図１３のｂに定義されるような）のそれぞれは、ボックス１４３０において検査される。これらの検査のそれぞれの目標は、ブロックpへの変更が近傍ブロックαiに伝搬するかどうかを判定することである。これを行うため、pに関連するもとの値を使ったデコードが、変化させられた値と比較されることができる。ブロックαiがインター予測されたブロックである場合、インター予測経路１４４０において、pの新しい動きベクトルおよび他の近傍ブロックの動きベクトルを使って予測された動きベクトルが検査されることができる。それがもとの動きベクトルと異なっていれば、変化はこの近傍ブロックに伝搬することになり、ブロックαiは伝搬ボックス１４６０において伝搬マップPにアペンドされる。αiがイントラ予測経路１４５０においてイントラ予測され、ブロックpが該予測における基準として使われる場合、変化はこの近傍ブロックまで伝搬することになり、ブロックαiは伝搬ボックス１４６０において伝搬マップPにアペンドされる。四つの近傍ブロックすべてが検査されたのち、P内の次の要素が考慮される。このプロセスは、P内に新たな要素がなくなるまで繰り返されて、完了ボックス１４７０に到達する。
【００２２】
ここで、インター予測されるブロックについて、もとの動きベクトル（mov_org）および修正された動きベクトル（mv_new）とともに予測重み情報へのアクセスが前提とされることができる。修正後の輝度（luminance）はLnewと表され、二つの予測の重みをかけた和（双方向予測を想定して）に残差を加えたものである。
【００２３】
Lnew＝w0×MC(mv0_new)＋w1×MC(mv1_new)＋残差
ここで、w0およびw1はそれぞれ、双方向予測におけるリスト０予測およびリスト１予測のために使われる重みであり；MC(・)は動き補償された（motion  compensated）予測関数を表す。この式は二つの動きベクトルmv0_newおよびmv1_newをもつことを注意しておく。これは、双方向予測の結果である。同様に、Lorgと表される修正前の輝度は次のようにして計算される。
【００２４】
Lorg＝w0×MC(mv0_org)＋w1×MC(mv1_org)＋残差。
【００２５】
よって、ΔLと表される輝度の変化は次のように計算できる。
【００２６】
ΔLnew＝Lnew−Lorg
＝［w0×MC(mv0_new)＋w1×MC(mv1_new)＋残差］
−［w0×MC(mv0_org)＋w1×MC(mv1_org)＋残差］
＝w0×［MC(mv0_new)−MC(mv0_org)］
＋w1×［MC(mv1_new)−MC(mv1_org)］。
【００２７】
次に、本発明の諸実施形態では、透かし入れプロセスがこれら二つの動きベクトルの一方のみを修正する場合に焦点を当てることが可能である。その場合、mv_new動きベクトルの一方は対応するmv_oldに等しい。ΔLについての上記の式における対応する項は消えるので、残るは：
ΔL＝wx×［MC(mvx_new)−MC(mvx_org)］      (1)
である。ここで、添え字xは修正された動きベクトルを示す。修正前と修正後のブロックのピクセル値のすべてを再構成するのではなく、リストx予測の動き補償された差の輝度変化を計算するだけでよいことが観察できる。この差の結果にwxによって重みをかけたものが、埋め込みに起因する輝度差である。
【００２８】
輝度変化ΔLは、ピクセルからなるブロックであり、これから、忠実度評価を表す指標がいくつでも計算できる。二つの例示的な指標は、輝度差の和（sum  of  luminance  difference）と最大差分絶対値（maximum  absolute  difference）である。少なくとも一つの実施形態では、輝度差分絶対値の和（sum  of  the  absolute  luminance  difference）が使用される。
【００２９】
H.264規格（ITU-T  H.264規格：汎用オーディオビジュアル・サービスのための先進ビデオ符号化、2005年3月）では、多くのインター予測されたブロックはその動きベクトルを近傍ブロックの動きベクトルから導出するので、一つのインター予測されるブロックにおけるある動きベクトルの修正は隣接するインター予測されるブロックの動きベクトルの変化を生じることができる。近傍ブロックにおけるこの変化は、その近傍ブロックの輝度に影響でき、それ自身さらにその近傍のインター予測されるブロックに伝搬できる。
【００３０】
再構成されたブロックに対する結果的なピクセル変化は、近傍のイントラ予測されるブロックにおけるピクセル変化をも生じさせることができる。これらの変化もさらに他のイントラ予測されるブロックに伝搬することができる。
【００３１】
伝搬マップは、単一の動きベクトルの修正によってどのブロックが影響されるかを示す。一つの動きベクトルの変化は、そのマクロブロック自身（インター予測）、伝搬マップ上のインター予測されるブロックおよび伝搬マップ上のイントラ予測されるブロックの輝度に影響することができる。
【００３２】
LumEvalは、伝搬マップを使って、単一の動きベクトルの変化によって影響されるすべてのブロックにおける輝度変化を評価することができる。これは、直接的に影響されるブロックおよび伝搬のために間接的に影響されるブロックのすべてを含む。伝搬マップ中の任意のインター予測されるブロックについての輝度の変化は、上記の式の適用に従って評価される。
【００３３】
ブロックのイントラ予測についてここで論じる。イントラ予測は、現在ブロックについてのピクセル値を予測するために近傍ブロックのボーダー・ピクセルを使う。イントラ予測に関わる近傍ブロックの例として図１を参照されたい。イントラ予測されるブロックが伝搬マップ上にあるときは、基準近傍ブロックが変化している。現在ブロックに対する影響を判別するために、LumEvalは基準近傍ブロックのボーダー・ピクセルへの変化を再構成する必要がある。
【００３４】
修正前のイントラ予測されたブロックの輝度は、Lorgと表され、ブロックNからのイントラ予測と残差の和である。ここで、Nは集合A、B、C、Dからの一つまたは複数の近傍ブロックである
Lorg＝IntraP(L_N_org)＋残差
IntraP(・)は、現在ブロックについて指定されたイントラ予測モードに依存するイントラ予測関数である。同様に、修正後のイントラ予測されるブロックの輝度Lnewは次のように定義される
Lnew＝IntraP(L_N_new)＋残差
輝度の変化は：
ΔL＝Lnew−Lorg
＝IntraP(L_N_new)−IntraP(L_N_org)。
【００３５】
近傍ブロックNにおける新しい輝度L_N_newは、そのブロックにおけるもとの輝度に変化ΔL_Nを加えたものである。これを用いて、修正後の予測を
IntraP(L_N_new)＝IntraP(L_N_org＋ΔL_N)
と書き直すことが可能である。
【００３６】
すると輝度差は
ΔL＝IntraP(L_N_org)−IntraP(L_N_org＋ΔL_N)      (2)
となる。
【００３７】
インター予測されたブロックとは異なり、イントラ予測されたブロック上でのLumEvalはその近傍ブロックからの輝度差ΔL_Nを必要とすることが見て取れる。ブロック・パターン１０５におけるまたは伝搬マップにおけるブロックがデコード順にリストされており、LumEvalがこれらのブロックにリストされている順に適用されるとすると、現在のイントラ予測されたブロックによって必要とされるΔL_Nは、前のブロックに対するLumEvalの適用の際にすでに得られていることになる。ΔL_Nへの迅速なアクセスのために、各伝搬マップについての「差分スライス（difference  slice）」と呼ばれるスライスが構築されることができる。H.264規格（ITU-T  H.264規格：汎用オーディオビジュアル・サービスのための先進ビデオ符号化、2005年3月）によれば、変化はスライスの終わりを過ぎては伝搬しない。したがって、LumEvalは、スライスより大きな領域についてブロック差を保存する必要はない。異なるスライスが、伝搬マップ上のブロックの輝度差、式(1)または式(2)からのΔLを、それらが計算されたのちに格納する。すると将来のブロックについてのΔL_Nはこの差分スライスから取得できる。
【００３８】
差分スライスの生成がいかなる追加的な計算も表すものではないことを注意しておく。インター予測されるブロックへのLumEvalの適用は、式(1)におけるΔLの計算を必要とする。このデータのブロックは、差分スライスに保存されることができる。差分スライスは、伝搬マップの最初のブロックにLumEvalを適用するのに先立って、まず、すべて0に初期化されることができる。同様に、イントラ予測されるブロックへのLumEvalの適用は式(2)におけるΔLの計算を必要とし、このデータのブロックが差分スライスに保存される。
【００３９】
図２は、LumEvalの概観を示している。アルゴリズムへの入力は、もとのビデオ・シーケンス２０５、変化リスト２１０および変化リスト中の各変化のブロック・パターン１０５である。伝搬マップ中の各変化したブロックに関する情報は、取得ブロック２１５を通じて供給され、LumEval計算中に入力される。伝搬マップは、デコード順にリストされる、一つの変化によって影響されるすべてのブロックを含む。伝搬マップは、伝搬マップ上の各ブロックに関して以下の情報を格納する：そのブロックがインター予測されるならば、基準フレーム番号、もとの動きベクトルおよび新しい動きベクトルが格納される；イントラ予測されるならば、イントラ予測モードおよび基準近傍ブロックが格納される。変化リスト中の各エントリーについて、LumEvalが伝搬マップ上の各ブロックに適用される。伝搬マップ上の最初のブロックは、変化がなされたインター予測されるブロックである。これが成り立つのは本発明において独特である。インター予測されたブロック２２０およびイントラ予測されたブロック２２５は先に概観した手順に従って解析される。変化リスト中の各エントリーの始まりにおいて、差分スライスが初期化され、その変化の伝搬マップの各ブロックについての輝度評価後に更新される。
【００４０】
図３は、インター予測されるブロックについてのLumEvalプロセスを示している。もとの動きベクトルおよび修正された動きベクトルの両方が取得３０５され、二つの異なる動き補償を実行して二つのブロック予測を得るために使われる。もとの動きベクトルについての動き補償３１０と修正された動きベクトルについての動き補償３１５である。これら二つの予測の間の差は、さらなる処理のために出力されることができ、対応するブロック位置において差分スライスを更新３２０するためにも使用される。
【００４１】
たった今述べたように、LumEvalの出力は、二つの予測の間の差である。しかしながら、いくつかの応用では、この差からの他の派生物が有用であることがある。たとえば、ある好ましい実施形態は、差分ブロック内の値の和および差の絶対値の和を計算し、出力する。
【００４２】
図４は、実行されるべき予測の型が同定されている４０５ときのイントラ予測されるブロックについてのLumEvalプロセスを示している。イントラ予測は、もとのシーケンス４１０に対して実行される。修正されたシーケンスの生成４１５に続いて、修正されたシーケンスのイントラ予測４２０も実行される。修正されたシーケンスは、式(2)に記述されるように、もとのスライスおよび差分スライスから導出される。ここでもまた、これら二つの予測の差は、差分スライスを更新するために使用され、直接出力または生成されるか、あるいは出力または生成物を導出するために使用される。
【００４３】
LumEval実装の二つの基本的バージョンについて概観する。スタンドアローン・バージョンと、AVC_Decoder/Propmap中に統合されたバージョンである。AVC_Decoder/Propmapは、変化したブロックのリストを同定するためにAVC_Decoder〔AVCデコーダ〕中に組み込まれるツールである。このツールのより詳細な記述は、本稿でのちに与える。
【００４４】
図５は、LumEvalのスタンドアローン・バージョン５３０を示している。ここで、符号化されたビデオ５０５および変化リスト５１０がAVCデコーダ／伝搬マップ（propagation  map）生成器５１５中に入力される。スタンドアローンLumEval  ５３０のための追加的な入力は、AVCデコーダ／伝搬マップ生成器５１５によって生成される、各変化についての伝搬マップと、やはりAVCデコーダ／伝搬マップ生成器５１５によって生成されるデコードされたもとのYUVファイル５２０である。出力５３５は、入力された変化させられたブロックのリストの各エントリーの伝搬マップ中の各ブロックについての輝度変化を示す。
【００４５】
スタンドアローンのLumEvalはもとのYUVファイルを入力として要求することを注意しておく。このYUVファイルは、記憶のためにかなりのディスク・スペースを要求することがあり、（AVC_Decoder/Propmapにおいて）書き込み、（LumEvalにおいて）読むためにかなりの時間がかかることがある。より効率的な実装は、LumEvalをAVC_Decoder/Propmap中に統合する。これは、デコードされたYUVシーケンスを保存する必要を回避し、記憶スペースを節約するとともに実行時間を高速化する。
【００４６】
図６は、LumEvalのAVC_Decoder/Propmapツールへの統合された実装を示している。統合されたLumEvalのコアとなる実装は、符号化されたビデオ６０５および変化リスト６１０がAVCデコーダ／伝搬マップ生成器６１５中に入力され、AVCデコーダ／伝搬マップ生成器６１５はやはり伝搬マップ６２５を生成するという点でスタンドアローン・バージョンと同じである。主要な相違は、統合されたバージョンは変化ブロック情報を、ファイルから読むのではなく、AVC_Decoder/Propmap中に組み込まれたデータ構造から直接読み、もとのYUVフレーム６２０を、ファイルからではなく、バッファから読むということである。よって、統合されたLumEval  ６３０はいかなる外部入力ファイルも必要としない。出力６３５はスタンドアローン・バージョンと同じである。
【００４７】
先述したように、イントラ予測についてのより詳細な議論がここで呈示される。イントラ予測されたマクロブロックは、現在フレーム／ピクチャー内からの予測と残差との和として符号化される。基準ブロックの一つまたは複数が変化の伝搬マップ上にあれば、予測はその変化によって影響されることができる。その場合、現在ブロックも伝搬マップ上にあることになる。イントラ予測には三つの型がありうる：イントラ４×４、イントラ８×８およびイントラ１６×１６である。
【００４８】
イントラ４×４モードでは、マクロブロックは、１６個の４×４ブロックのそれぞれについて予測される。図１に示した近傍ブロックA、B、C、Dの四つすべてに関わる合計８個のモードがある（ITU-T勧告H.264｜ISO/IEC  14496-10国際標準修正１の表８−２による）。これら８個のモードを、関わってくる近傍ブロックとともに下記の表１に掲げておく（ITU-T勧告H.264｜ISO/IEC  14496-10国際標準修正１の表８−２から改変）。この表においては、前記標準の表８−２とは異なり、イントラ４×４ＤＣモードについての３つの異なるケースが区別できる――モード２はAとBの両方を使い；モード９はAのみを使い；モード１０はBのみを使う。４×４ＤＣモードの第四のケースは、AもBも使わないものであり、これは伝搬マップに影響しないので無視できる。
【００４９】
【表１】
0005639056.tif 000002
イントラ８×８モードでは、マクロブロックは四つの８×８ブロックのそれぞれについて予測される。図４に示した近傍ブロックA、B、C、Dの四つすべてに関わる８個のモードがある（ITU-T勧告H.264｜ISO/IEC  14496-10国際標準修正１の表８−３による）。これら８個のモードを、関わってくる近傍ブロックとともに下記の表２に掲げておく（ITU-T勧告H.264｜ISO/IEC  14496-10国際標準修正１の表８−３から改変）。４×４のイントラ予測の場合と同様、イントラ８×８ＤＣモードについての３つの異なるケースが区別できる。予測の前のフィルタリング処理のため、各モードについての関与する近傍ブロックが４×４予測とは異なっていることを注意しておく。
【００５０】
【表２】
0005639056.tif 000003
イントラ１６×１６モードでは、マクロブロックは全体として予測される。図４に示した三つの近傍ブロックA、B、Dに関わる４個のモードがある（ITU-T勧告H.264｜ISO/IEC  14496-10国際標準修正１の表８−３による）。表３にこれらの予測モードを掲げる。４×４および８×８の予測と整合するために、モード２、９および１０は引き続きＤＣ予測の三つのケースを示すために使われている。
【００５１】
【表３】
0005639056.tif 000004
特に、図４に示されるように、基準（reference）コンポーネントは近傍Aの右端の列、近傍Bの最後の行、近傍Cの最後の行および近傍Dの最後の（右下の）ピクセルである。
【００５２】
H.264/AVC透かし入れシステムは、潜在的な変化のリストを生成し、次いで一連のステップを経て、それらの潜在的な変化のいくつかがリストから消去される。リスト中の各エントリーは、Bスライスのインター予測されたマクロブロックに関連付けられた動きベクトルに対する変化を表す。インター予測されたブロックの動きベクトルを変えることは、エンコードの際に意図されたのとは異なる基準をもってブロックを再構成するという効果をもつことになり、よってデコードされたピクセル値を変化させる。この変化は二通りの仕方で伝搬できる：（１）第二のブロックがインター予測を使って符号化されておりその動きベクトルを現在から予測する場合、その第二のブロックも意図されていたのとは異なる基準を使うことになる；（２）第二のブロックがイントラ予測を使って符号化されており、そのピクセル値を現在から予測する場合、その第二のブロックの再構成されたピクセルは意図されていたのとは異なってくる。第一の種類の伝搬、つまり近傍動きベクトルへの伝搬は、同じようにして次の一組の近傍に伝搬できる。第二の種類の伝搬、つまりピクセル値への直接的な伝搬は、同じようにイントラ予測を使う近傍ブロックだけにさらに伝搬できる。
【００５３】
また、先述したように、AVCデコーダ・ベースの伝搬マップ構築についてのより詳細な議論をここでデコーダ７１０について呈示する。動きベクトル予測およびイントラ予測は１スライス内で実行されることを注意しておく。よって、一つの動きベクトル変化の伝搬は、現在スライスの外には伝搬できない。したがって、伝搬マップはスライスごとに構築されることができる。標準的なH.264/AVCデコーダは、三つのステップを通じてループする：画像シーケンス中の各スライスについての（１）スライス初期化７３０、（２）スライス・デコーダ７４０および（３）スライス・セットダウンである。伝搬マップ構築は、このコンテキストでは、一時には１スライスを処理して行われる。
【００５４】
伝搬マップ構築は、一つの入力としてもとのエンコードされたビデオ・ストリームを取る。他方の入力は、すべての潜在的な修正のリストである。プロセスは、図７における三つのステップの系列として記述できる：（１）伝搬マップ初期化７３５、（２）伝搬マップ・ビルダー７４５および（３）伝搬マップ出力７５５。ここで、最終化された出力は輝度評価のためにYUVをデコードするために使われる。
【００５５】
伝搬マップ初期化７３５は図８に示されており、H.264/AVCデコーダのスライス初期化プロセス７３０に統合される。この初期化は潜在的な修正のリストから、現在のBスライス８３０中のブロックに適用される修正を抽出し、各潜在的な現在ブロック変化８４０について一つの伝搬マップ８５０をビルドする。
【００５６】
図９の伝搬マップ・ビルダーは、スライス・デコーダ８４０に統合されており、デコーダが各マクロブロックを処理する際に潜在的修正の伝搬マップにブロックを追加する。スライスにおいて考慮される各マクロブロックはボックス９０１によって表される。あるブロックをデコードするとき、いくつかの異なる符号化ケースのうちのどれが使われたかの判定がなされる。ケースとは、インター予測、空間的ダイレクト・モードをもつインター予測および種々のイントラ予測型９２１のためのボックス９２０のイントラ予測である。図９は、インター予測経路９０５を示しており、この経路では、ダイレクト／スキップ判断ボックス９０６において、ブロックがダイレクト・モードでインター予測されるかどうかについての判定がなされる。インター予測されるブロックがダイレクト・モードでインター予測されるのでない場合、伝搬マップは、伝搬更新プロセス９０８に従って更新される。さらに、インター予測されるブロックが判定ボックス９０７において空間的に予測されるのでない場合、インター予測されるブロックは、近傍ブロックへの変化によって影響されることはなく、いかなる伝搬マップの部分にもならない。他のすべては、前の変化によって影響されるかどうかを判定するために検査される。ダイレクト／スキップ判断ボックス９０６において示されるようにダイレクト・モードを使わないインター予測されるブロックは、伝搬更新プロセス９０８によって検査され、このプロセスは図１０に記述される。
【００５７】
図１０では、近傍ブロックがボックス１００１においてまず同定される。この同定は、先述したような動きベクトル予測（motion  vector  prediction）MVpおよび近傍ブロックの利用可能性に基づく。ここで重要でありかつ関心があるのは、現在のMVpの決定に影響できる近傍ブロックであり、そのような近傍ブロックは同定された近傍ブロック（identified  neighbor）と称される。あらゆる伝搬マップ・リストを通じたサンプリング１００２および近傍ブロック検査ボックス１００３は、これらの同定された近傍ブロックのどれがいずれかの伝搬マップ内であるかを判定する。同定された近傍ブロックがある伝搬マップ内にはいれば、このことは、その近傍ブロックはそのマップのヘッドにある潜在的な修正によって影響されたことを含意する。したがって、その変化は、現在ブロックまで伝搬する潜在的可能性がある。ボックス１００３においてどの近傍ブロックも伝搬マップ内にはいらなければ、ボックス１００２において次のマップがサンプルされる。既存の伝搬マップ内にはいる同定された近傍ブロックの各事例について、伝搬マップ・リスト内に記憶された動きベクトルの取得１００４が実行される。修正された近傍ブロック動きベクトルをもって、現在ブロックの再計算１００５が実行される。現在ブロックについてのこの動きベクトル予測は、ボックス１００６内のもとの動きベクトルによる結果と比較される。それらが異なっていれば、伝搬マップのヘッドの変化は、現在ブロックに影響することになり、ボックス１００７において現在ブロックは対応する伝搬マップに加えられる。
【００５８】
イントラ予測だけに基づく伝搬マップを更新するためには、三つのモード／型９２１（すなわち４×４、８×８または１６×１６）のいずれかをもつすべてのイントラ予測ブロックは、図１１に記述される伝搬マップ更新プロセス９２２によって検査される。インター予測され得るブロックの検査と同様に、まず、現在ブロックの近傍ブロックの同定がなされる。この同定は、上述したイントラ予測モードに基づく。ここで、関心があるのは、現在の区画〔パーティション〕のピクセル予測に影響することのできる近傍ブロックである。そのような近傍ブロックは、ボックス１１０１において同定された近傍ブロックと称される。リスト中のすべての伝搬マップはボックス１１０２においてサンプルされ、ボックス１１０４において検査されることができる、またはされる。いずれかの同定された近傍ブロックが伝搬マップと重なる場合、ボックス１１０６において現在ノードはその伝搬マップに加えられる。
【００５９】
図７に示される最終ステップは、スライス・セットダウン８５０である。これは、ひとたびスライスがデコードされたとき、AVCデコーダ８１０の標準的なステップであることができる。伝搬マップ構築の最終ステップは、伝搬マップの出力である。このステップは、スライス・セットダウン８５０に統合される。任意的な、ピクセル値を含むデコードされたyuvファイルもさらなる解析のために出力されることができる。
【００６０】
上記のアルゴリズムにおいて、すべてのマクロブロック区画について、l個の伝搬マップのすべてのノードを通じて進む必要がありうることを注意しておくことが重要である。これは、高い計算上のコストを生じる。プロセスを加速するため、二つの観察に基づいて、改善されたアルゴリズムが定式化される。第一の観察は、現在の区画（同定された近傍ブロック）の親は、マクロブロックからなる同じ行内または一つ上の行内にしか存在できないということである。そのため、現在ブロックから１行より多く離れているリストiのノードは親探索の際に除外できる。第二の観察は、マクロブロックからなるある行全体にわたってリストiが更新されなかった場合、変更可能なブロックに対する修正の効果は、スライス中の残りのブロックに伝搬することはできない。よって、伝搬マップiは完成しており、現在スライス内で将来のまたはより後のブロックを検査する必要はない。修正されたアルゴリズムは図１２に呈示される。
【００６１】
イントラ予測およびインター予測に従って伝搬マップを更新するために、図１２は、まず、現在区画のピクセル予測に影響することのできる近傍ブロックをボックス１２０１において同定することをもって始まる。そのような近傍ブロックは、ボックス１２０１において同定された近傍ブロックと称される。次いでリスト中の伝搬マップはボックス１２０２においてサンプルされる。判断ボックス１２０３において直前のマクロブロックの行において更新がない場合、次の伝搬マップがサンプルされる。更新がある場合には、ボックス１２０４において検査が実行される。同定された近傍ブロックのいずれかが、現在サンプルされている伝搬マップi内の現在の行および直前の行内のブロックと重なるまたは一致する場合には、プロセスはボックス１２０５の比較ステップに進められる。もとの動きベクトルと修正された動きベクトルが異なる場合、ボックス１２０６において、イントラ予測からの更新とともに、修正された動きベクトルをもつ現在ノードが伝搬マップに追加される。
【００６２】
まとめると、本願において記述される実装および特徴のいくつかはH.264/MPEG-4  AVC（AVC）規格のコンテキストにおいて呈示されている。しかしながら、これらの実装および特徴は別の（既存のまたは将来の）規格のコンテキストにおいて、あるいは規格に関わらないコンテキストにおいて使用されることができる。
【００６３】
本稿において記述される実装は、たとえば、方法もしくはプロセス、装置、ソフトウェア・プログラム、データ・ストリームまたは信号において実装されることができる。たとえ単一の形の実装のコンテキストでのみ議論されていたとしても（たとえば、方法としてのみ論じられていたとしても）、論じられている実装または特徴は他の形（たとえば装置またはプログラム）でも実装されることができる。装置は、たとえば、適切なハードウェア、ソフトウェアおよびファームウェアにおいて実装されることができる。方法は、たとえば、コンピュータまたは他の処理デバイスのような装置において実装されることができる。さらに、方法は、処理デバイスまたは他の装置によって実行される命令によって実装されることができる、そのような命令は、CDもしくは他のコンピュータ可読記憶デバイスまたは集積回路といったコンピュータ可読媒体上に記憶されることができる。さらに、コンピュータ可読媒体は、実装によって生成されたデータ値を記憶することができる。
【００６４】
当業者には明白なはずだが、諸実装は、記憶、展開または送信されることのできる、情報を担持するようフォーマットされた信号を生成することもできる。該情報はたとえば、方法を実行するための命令、あるいは記載されている実装の一つによって生成されるデータを含むことができる。たとえば、信号は、透かし入れされたストリーム、透かし入れされていないストリームまたは透かし入れ情報を担持するようフォーマットされることができる。
【００６５】
本発明の諸実装は、本明細書において記述されたさまざまなプロセス・ステップおよびプロセス・ステップの組み合わせを実行する手段として機能する、ハードウェア、ファームウェアおよび／またはソフトウェアなどを備える装置を含む。
【００６６】
さらに、本発明の特徴は、受け容れ可能な変化のリストを生成するおよび／または変化または透かしを評価するためのメトリックまたは基準として、輝度変化の代わりに、あるいは輝度変化と組み合わせてクロミナンス変化を使うことを含むことが意図されている。
【００６７】
さらに、多くの実装は、エンコーダ、デコーダ、デコーダからの出力を処理するポストプロセッサまたはエンコーダに入力を提供するプリプロセッサのうちの一つまたは複数において実装されることができる。さらに、他の実装が本開示において考慮されている。たとえば、開示されている実装のさまざまな特徴を組み合わせる、削除する、修正するまたは補足することによって、追加的な実装が創り出されることができる。
【図１】
0005639056.tif 000005
【図２】
0005639056.tif 000006
【図３】
0005639056.tif 000007
【図４】
0005639056.tif 000008
【図５】
0005639056.tif 000009
【図６】
0005639056.tif 000010
【図７】
0005639056.tif 000011
【図８】
0005639056.tif 000012
【図９】
0005639056.tif 000013
【図１０】
0005639056.tif 000014
【図１１】
0005639056.tif 000015
【図１２】
0005639056.tif 000016
【図１３】
0005639056.tif 000017
【図１４】
0005639056.tif 000018