(57)【特許請求の範囲】
【請求項１】
方法であって、
ビデオに適用することが可能な透かしを提供するステップと、
輝度値に応答して、前記透かしが可視であるかを決定するステップと、
ブロックノイズに応答して、前記透かしが可視であるかを決定するステップと、
前記決定ステップにおける前記輝度値およびブロックノイズに応答して、前記透かしをビデオに適用するまたは適用しないステップと
複数の提案された透かしから、前記透かしを選択するステップと、
前記透かしが直接的に適用される前記ブロックについて、前記輝度値の変化を決定するステップと、
前記透かしが直接的に適用されるブロックに対して前記輝度値の変化を提供し、かつ、イントラ予測またはインター予測に起因して、現在のフレーム内のブロックに対して輝度値の変化を提供する伝搬パスを決定するステップと、
を含む、前記方法。
【請求項２】
前記伝搬パス内の前記ブロック内のマクロブロックについて、輝度に基づいて可視でないと決定された、提案された透かしを選択するステップと、
前記ブロックについて、ブロックノイズスコアを決定するステップと、
ブロックノイズに基づいて可視でないマクロブロックについて、マクロブロックデータを許容可能ブロックリストに入れるステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
方法であって、
複数の変更をビデオに提供するステップであって、前記ビデオはブロックに区分され、かつ前記ブロックはマクロブロックに区分される、ステップと、
１つのブロック内の１つのマクロブロックに対する変更について、絶対輝度変化を決定するステップと、
前記輝度変化が可視であるかどうかを決定し、絶対輝度変化に基づいた可視性に応答して前記変更を除去するステップと、
前記絶対輝度変化に基づいて前記変更が可視でない場合、前記変更のブロックノイズを決定するステップと、
前記変更の前記ブロックノイズが可視であるかどうかを決定し、絶対輝度変化に基づいた可視性に応答した前記変更を除去するステップと、
ブロックノイズに基づいた可視性に応答して、前記変更を変更可能ブロックリストに追加するまたは追加しないステップと、
前記変更により影響を受けるビデオの前記ブロックの各々を決定する伝搬マップを確立するステップと、
前記伝搬マップ内の各マクロブロックについて、絶対輝度変化を収集するステップと、
可視性に関して、前記伝搬マップ内の最大絶対輝度変化を閾値輝度レベルと比較するステップと、
を含む、前記方法。
【請求項４】
前記伝搬マップ内の残りのブロックの各々を１つずつ選択し、かつ、それらとそれらのマクロブロックを１つのブロックとして処理するステップ
を含む、請求項３に記載の方法。
【請求項５】
伝搬パス内のブロックについて、ブロックノイズスコアを収集するステップと、
可視性に関して、前記ブロックの前記ブロックノイズスコアをブロックノイズ閾値と比較するステップと、
を含む、請求項４に記載の方法。
【請求項６】
伝搬内のブロックについて、ブロックノイズスコアを収集するステップと、
可視性に関して、前記ブロックの前記ブロックノイズスコアをブロックノイズ閾値と比較するステップであって、輝度およびブロックノイズについての可視性閾値を超えない変更は、前記変更可能ブロックリストに追加される、ステップと、
を含む、請求項４に記載の方法。
【請求項７】
システムであって、
ビデオに施される可能性のある複数の透かしを収集または生成するように適合されるプロセッサと、
前記可能性のある透かしの適用に関連する前記ビデオへの輝度変更を計算するように適合される輝度計算器と、
前記可能性のある透かしの適用に関連する前記ビデオのブロックノイズを計算するように適合されるブロックノイズ計算器と、
閾値の輝度値およびブロックノイズ値を超えない透かしを収集するように適合されるリスト収集器であって、前記リスト収集器またはプロセッサは、特定のシンタックス要素、元の値、および候補代替値として、透かしエントリを識別するように適合される、リスト収集器と、
を含む、前記システム。
【請求項８】
前記システムは、ビデオエンコーダ、デコーダ、デコーダからの出力を処理するポストプロセッサ、または、エンコーダへの入力を提供するプリプロセッサである、請求項７に記載のシステム。
【請求項９】
前記閾値の輝度値およびブロックノイズ値は、前記輝度変更およびブロックノイズが人間の視聴者には感知できない、請求項８に記載のシステム。
【請求項１０】
前記リスト収集器またはプロセッサは、収集された透かしのリスト内において、与えられたシンタックス要素を１回よりも多く出現させるように適合され、異なる候補代替値は、前記与えられたシンタックス要素の異なるエントリに提供される、請求項８に記載のシステム。
【請求項１１】
前記リスト収集器またはプロセッサは、透かし処理のために指定されたサブセットを区分するように適合される、請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベースライン輝度忠実度(baseline luminance fidelity)モデルおよびブロックノイズ忠実度(blockiness fidelity)モデルを使用して、透かしに関連するアーチファクト(artifact)の可視性を予測して特性決定するためのプロセスに関する。
【背景技術】
【０００２】
ビデオストリームに埋め込まれる透かしは、目に見えないことが求められることが多いが、時には可視のアーチファクトを導入する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
したがって、可視のアーチファクトを導入する変更の要因となる透かしが回避できるように、これらの変更を識別できる、客観的な可視性の計測を開発することが必要である。
【課題を解決するための手段】
【０００４】
ある方法は、ビデオに適用される可能性がある透かしを提供するステップと、輝度に基づいて可能性がある透かしが可視または不快であるかどうかを決定するステップと、ブロックノイズに基づいて透かしが可視または不快であるかどうかを決定するステップと、人間の観察者には可視ではないと決定された透かしを適用するステップとを含む。ビデオは、フレームに分割され、フレームは、ブロックに分割される。提案された透かしが直接的に適用されるブロックに対して、輝度値およびブロックノイズ値が決定される。加えて、透かしに関連する変更について、伝搬パス(propagation path)を構成することができ、伝搬パス内のブロックについてのみ、輝度値およびブロックノイズ値が決定されるようにする。伝搬パスは、現在のフレームに適用することができ、イントラ予測(intra-prediction)またはインター予測(inter-prediction)に起因する。伝搬パスは、透かしが直接的に適用されるブロックに輝度値の変化を提供することができ、間接的に変更されるブロックに変化を提供することができる。この方法は、変更ブロック内の各マクロブロックについて、絶対輝度の変化をさらに収集することができ、可視性または不快さに関して、変更ブロック内の最大の絶対輝度の変化を閾値輝度レベルと比較することができる。
【０００５】
さらに、あるビデオシステムが、ビデオに施される可能性のある複数の透かしを収集するように適合されるプロセッサと、可能性のある透かしの適用に関連する、ビデオに施される輝度変更を計算するように適合される輝度計算器と、可能性のある透かしの適用に関連する、ビデオのブロックノイズを計算するように適合されるブロックノイズ計算器と、閾値の輝度値およびブロックノイズ値を超えない透かしを収集するように適合されるリスト収集器とを備える。このシステムは、ビデオエンコーダ、デコーダ、デコーダからの出力を処理するポストプロセッサ、またはエンコーダへの入力を提供するプリプロセッサなどとすることができ、閾値の輝度値およびブロックノイズ値は、それを下回っている限り、輝度変更およびブロックノイズが人間の視聴者には感知されないレベルである。
【図面の簡単な説明】
【０００６】
ここで、図面を参照しながら、例によって本発明を説明する。
【図１】絶対輝度差に基づいたベースライン輝度忠実度モデルを利用する、本発明の一実施形態のブロック図である。
【図２】絶対輝度差およびブロックノイズ計測に基づいた忠実度モデルを利用する、本発明の一実施形態のブロック図である。
【図３】絶対輝度差およびブロックノイズ計測に基づいた忠実度モデルの実施を示す、本発明のより詳細な実施形態の図である。
【図４】伝搬マップの説明図である。
【図５】伝搬マップの構成を説明するブロック図である。
【図６】ブロックノイズ特性決定のために分割されるフレームセグメントの図である。
【発明を実施するための形態】
【０００７】
本発明は、透かしの候補に関連するアーチファクトの可視性を予測する手段を提供する。可視性を予測する手段は、輝度忠実度モデルおよびブロックノイズ忠実度モデルに基づいた計測である。これらの計測を用いて、不快な可視のアーチファクトを生成する透かしの候補を回避することができ、不快なまたは可視のアーチファクトを生成しない透かしを利用することができる。
【０００８】
重要な指摘として、本発明は、Ｈ．２６４／ＡＶＣビデオ透かし処理、またはインター予測における動きベクトルの変更およびイントラ予測における参照ピクセルの変更に起因して、埋め込みによって、多くのブロッキングアーチファクト(blocking artifact)が導入され得る任意のビデオ符号化に特に有用である。これらのブロッキングアーチファクトを回避するため、ブロックノイズの忠実度の尺度が開発され、本明細書において後で詳細に説明される。
【０００９】
さらに、本発明は、ＣＡＢＡＣ符号化Ｈ．２６４／ＡＶＣストリームの変更を含むこと、およびＣＡＢＡＣ（コンテキスト適応型２値算術符号化（Context-based Adaptive Binary Arithmetic Coding））／ＡＶＣ（高度ビデオ符号化(Advanced Video Coding)）に準拠した変更のリストを生成するためであることが意図されている。一実施形態では、結果のリスト内の各エントリは、特定のシンタックス要素(syntax element)、その元の値、および候補代替値を識別する。このリスト内に出現するシンタックス要素は、変更可能なシンタックス要素と見なされ、リスト内に２回以上出現することができ、その都度、異なる候補代替値を有する。
【００１０】
このリスト内のエントリのサブセットを選択し、透かし処理のために使用することができる。本発明の一実施形態は、可視のアーチファクトを導入する変更と、導入しない変更とを区別し、それに応じて、変更をそれぞれ可視または不可視に分類し、その分類は、人間の観察者によって事前作成される分類と同様なものになる。したがって、可視のアーチファクトを導入する変更は、検討から除外することができ、それによって、不可視の透かしを実施するために使用できる候補代替値のサブセットを残すことができる。
【００１１】
１．ベースライン輝度忠実度のモデルコンポーネント
本明細書では、輝度忠実度モデルは、ベースライン忠実度モデルと呼ばれる。最初の近似として、変更によって直接的な影響を受けるブロックにおいて、変更が輝度値の大きな絶対変化をもたらす場合、その変更は、可視に分類される。
【００１２】
ベースライン忠実度モデルでは、可視性尺度が、閾値と比較される。最初に、単一の１６×１６マクロブロックの可視性尺度について考察する。可視性尺度は、ブロック内の絶対輝度変化の合計である。この可視性尺度は、マクロブロックｊについて、ＡｂｓＤｉｆｆjで表され、
【００１３】
【数１】
0005285159.tif 000002
【００１４】
と公式化され、ここで、ｘorg（ｉ）は、透かしが施されていない元のピクチャのマクロブロックｊ内のピクセルｉの輝度であり、ｘmarked（ｉ）は、透かしバージョンのマクロブロック内の同じピクセルの輝度である。ｈを閾値とする場合、ＡｂｓＤｉｆｆj≧ｈである場合、ブロックｊ内の変更は、可視に分類され、ＡｂｓＤｉｆｆj＜ｈである場合、変更は、不可視に分類される。可視に分類された変更は、埋め込みリストから除外して、透かしが施されたコンテンツにおいて、視覚的アーチファクトを回避することができる。重要な指摘として、より低い閾値ｈは、より多くの可視のアーチファクトを排除するのに役立つ。しかし、より低い閾値ｈは、多くの不可視の透かしも排除してしまい、埋め込みのための変更可能ブロックが、より僅かしか得られないことがある。他方、より高い閾値は、より多くの変更可能ブロックを提供することができるが、視覚的アーチファクトの導入という犠牲を払うことになる。閾値は、所望のトレードオフを達成するように調整することができる。
【００１５】
Ｈ．２６４／ＡＶＣビデオコーディングでは、ブロックの変更は、イントラ予測およびインター予測が原因で、他のブロックに伝搬することがある。したがって、変更によって直接的な影響を受けるブロックに加えて、間接的な影響を受ける多くのブロックが存在することがある。変更によって影響を受けるこれらのブロックは、一括して、伝搬パスまたは伝搬マップと呼ばれる。単一の変更が同じフレーム内で伝搬する方法として、伝搬パスが説明される。
【００１６】
伝搬マップ作成機能は、Ｈ．２６４デコーダに統合することができる。そのようなものとして、単一の変更がどのように空間内を伝搬するかを説明できる伝搬マップを生成することができる。アルゴリズムが、影響を受けるブロックおよびそれらの変更を追跡する伝搬マップを構築する。伝搬マップ作成は、多くの面で有用である。伝搬マップは、変更からもたらされる視覚的歪みを検査するために使用することができる。伝搬マップは、（１）重なり合う伝搬マップをもたらすことがある変更、（２）先行する変更の伝搬パス内に包含されることがある変更、または（３）第３のブロックが両方による影響を受けるように組み合わさる複数の変更を回避するために使用することができる。伝搬マップは、これらの変更が透かし処理のために利用される場合、検出領域を改善するために使用することができる。
【００１７】
Ｈ．２６４／ＡＶＣ符号化ビデオを変更するアプリケーションであるデジタル透かし処理を用いる場合、いくつかの変更が、ピクチャまたはフレームの他のエリアに予期せず伝搬することがあり得ることが本明細書で理解される。変更が伝搬するエリアのすべてをマップが示す場合、それらのエリアのすべてに忠実度評価を適用することができる。透かし処理におけるさらなる問題は、ブロックの１つのスライス内で複数の変更を行いたいことがあることである。透かし処理では、変更が復号画像にどんな影響を有するかを知ることが重要であり、これはしばしば、透かしが施されていないバージョンのコンテンツからの変化として表される。しかし、先行する変更が現在の領域にすでに伝搬している上に、別の変更が行われる場合、結果の復号画像は、両方の変更の影響を含むことがある。最初の変更が分かっている場合、結果を予測することができるが、最初の変更が利用されたかどうかが事前に分からないこともある。変更が伝搬するエリアのすべてを示すマップが構成された場合、その伝搬パス内で他の変更を行うことを回避することができる。これら２つの問題の重なった問題が、発生することもあり得る。異なる領域における変更が現在の領域に伝搬したために、ピクチャの領域が間接的に変更される場合、その変更の忠実度に対する影響を評価する際に、現在の領域を検査することができる。しかし、複数の変更が存在することが可能であり、そのすべてが、現在の領域に伝搬することがあり得る。すべての変更の伝搬パスのマップが利用可能である場合、伝搬が重なり合う領域を識別することができ、影響のすべての組合せを考察することができる。
【００１８】
図４（ａ）は、伝搬マップの一例を示している。この伝搬マップ４００は、動きベクトルが直接的に変更される１つのブロック４１０に関連付けられている。図内の他のブロック４２０は、伝搬によって間接的に変更されるブロックである。直接的な変更のため、または別の変更の伝搬パス内に包含されるために、ブロックが変更される場合、その変更は、その近隣ブロックにさらに伝搬する可能性を有する。図４（ｂ）は、ただ１つのブロック４３０が直接的に変更された場合に、この伝搬のために輝度値が変更されることがある、４つの近隣ブロック４４０を示している。変更ブロックの伝搬マップＰは、伝搬のために輝度値がやはり変更されるブロックｐの集まりを表す。伝搬マップ内の各ブロックは、初期変更、現在ブロックの予測モード、および現在ブロックにおける変更を示すデータ構造を用いて表され、
ｐ＝｛ｈｅａｄ＿ｎｏｄｅ＿ｉｎｆｏ，ｍｏｄｅ，ｃｕｒ＿ｎｏｄｅ＿ｉｎｆｏ｝
と表される。「ｈｅａｄ＿ｎｏｄｅ」は、位置に関して変更ブロックを、また変更を開始した動きベクトルの代替値を一意的に識別する。伝搬マップＰ内のノードのすべては、同じ「ｈｅａｄ＿ｎｏｄｅ」を有する。要素「ｍｏｄｅ」は、現在ブロックの予測モードを示し、予測モードは、イントラ予測またはインター予測とすることができる。要素「ｃｕｒ＿ｎｏｄｅ」は、現在ブロックについての情報を記録する。「ｃｕｒ＿ｎｏｄｅ」は、インター予測ブロックおよびイントラ予測モードのための元の動きベクトルおよび新しい動きベクトルと、イントラ予測ブロックのための参照ブロックとを含む。
【００１９】
図５は、伝搬マップを構成するための方法を示している。伝搬マップＰは、ボックス５１０において、変更ブロックｐを用いて初期化される。その後、評価ボックス５２０において、ブロックｐが空であるかどうかを評価する判定が行われる。ブロックｐが空でない場合、検査ボックス５３０において、ブロックｐの近隣ブロックαi、ｉ＝１，．．．，４の各々が検査される。図４ｂの構成例の場合、ブロックｐは、４つの近隣ブロックを有する。これらの検査の各々の目標は、ブロックｐに対する変更が近隣ブロックαiに伝搬するかどうかを決定することである。これを行うため、ｐに関連する元の値と変更された値とを使用する復号を比較することができる。ブロックαiがインター予測ブロックである場合、インター予測経路５４０において、ｐの新しい動きベクトルを使用して予測される動きベクトルと、他の近隣ブロックの動きベクトルを検査することができる。それが元の動きベクトルと異なる場合、変更はこの近隣ブロックに伝搬し、伝搬ボックス５６０において、ブロックαiが伝搬マップＰに追加される。イントラ予測経路５５０において、αiがイントラ予測され、ブロックｐが予測において参照として使用される場合、変更はこの近隣ブロックに伝搬し、伝搬ボックス５６０において、ブロックαiが伝搬マップＰに追加される。４つの近隣ブロックすべてが検査された後、Ｐの次の要素が考察される。このプロセスは、Ｐ内に新しい要素がなくなるまで繰り返されてから、終了ボックス５７０に到達する。
【００２０】
本発明は、透かし処理システムに関連して、伝搬マップ作成の機能をＨ．２６４デコーダに統合するステップを含むことを意図しており、先行ステップは、可能性のある変更のリストを作成し、可能性のある各変更は、ブロック識別子と、どの動きベクトルを変更できるかの表示と、その動きベクトルの代替値とから成る。この時点では、単一のブロックに対して、可能性のある変更が数多く存在し得ることに留意されたい。後続のステップにおいて、可能性のある変更のリストは、どのブロックも２つ以上の変更を有さないように、好ましくは刈り込みを行うことができる。
【００２１】
伝搬マップＰは、リンクリスト(linked list)として表すことができ、リンクリストは、全体として、可能性のある変更によって影響を受けるマクロブロック／パーティションを識別する。デコーダはＢスライスのマクロブロックを（ラスタスキャン順に）処理するので、影響を受けるマクロブロック／パーティションを対応するリンクリストに追加し続けることができる。
【００２２】
好ましい詳細な統合アルゴリズムが、今から説明され、それは、伝搬マップ作成をＡＶＣデコーダと統合するものである。１つの代替を有する変更可能な動きベクトルに各々が対応する、ｌ個のエントリを含む、Ｂスライスにおける可能性のある変更のリストを与えた場合、ｌ個のリンクリストを構成することができ、各リストは、１つのノード、可能性のある変更自体を含むように初期化することができる。ノードｐのサンプルデータ構造が、表１に示されており、サンプルデータ構造は、マクロブロック／パーティションのロケーション情報、元のおよび新しい動きベクトル情報を含む。
【００２３】
【表１】
0005285159.tif 000003
【００２４】
伝搬マップ構築のプロセスは、ＡＶＣデコーダに統合できるので、この情報のほとんどは、デコーダから直接的に獲得することができる。伝搬マップの応用に基づいて、他の情報を追加することもできる。
【００２５】
ここで、伝搬マップの構築について理解したところで、直接的な影響を受けるブロックに、変更が可視のアーチファクトを導入しない状況について考察することができるが、変更は他のブロックに伝搬するので、伝搬パス沿いのブロックの１つに、アーチファクトが導入されることがあり得る。したがって、少なくとも１つの例において、変更を分類する場合、直接的な影響を受けるブロックばかりでなく、伝搬パス上のすべてのブロックについて考察することが重要である。
【００２６】
提案された変更の伝搬パスに導入されるアーチファクトを勘案するために、輝度可視性尺度が容易に拡張される。これを行うため、提案された変更の伝搬パス内のすべてのマクロブロックについて、可視性尺度が計算され、これらのすべてから、可視尺度が導出される。伝搬パスの可視性尺度の一例は、最悪ケース（最大）値である。この尺度は、提案された変更ｋについて、ＭａｘＡｂｓＤｉｆｆkで表され、
【００２７】
【数２】
0005285159.tif 000004
【００２８】
と公式化することができる。
【００２９】
この忠実度モデルの利点は、忠実度スコアの計算が容易であり、大きな計算コストを導入しないことである。
【００３０】
図１は、提案されたマクロブロック変更ｊが最初にボックス１１０において行われる、輝度忠実度モデルのブロック図を示している。これに続いて、ボックス１２０において、変更に関連する伝搬パスを識別し、ボックス１３０において、伝搬パス内のブロックの各々について考察する。次に、これに続いて、ボックス１４０において、ブロックの絶対輝度の変化を計算または決定し、ボックス１５０において、マクロブロックについての最悪ケース値を決定するが、ボックス１５０では、ブロックｋ内のマクロブロックの各々が計算されるまで、マクロブロックの各々のデータを記録または更新する。ボックス１６０において、最悪ケース値が輝度可視性の閾値よりも小さい場合、ボックス１７０において、提案されたマクロブロック変更が受け入れられ、最悪ケース値が輝度可視性の閾値以上である場合、ボックス１１０において、提案された他のマクロブロック変更が考察され、許容できる変更が識別されるまで、同様にブロック図が辿られる。
【００３１】
２．ブロックノイズ忠実度モデル
ベースライン忠実度モデルは、良好に機能するが、大きな輝度変化を導入することなく、可視のアーチファクトを導入する変更のクラスが存在する。ベースラインモデルは、もっぱら大きな輝度変化に起因するようなアーチファクトを見出すことに限定される。
【００３２】
Ｈ．２６４／ＡＶＣ透かし処理によって経験され得るアーチファクトの第２のクラスは、ブロッキングアーチファクトである。
【００３３】
ブロックのエッジ上のピクセル値が、元のピクチャでは、隣接ブロックの対応するエッジ上の隣接ピクセル値と相関があるのに、透かしが施されたピクチャでは、それらの隣接ピクセルと著しく無相関になった場合、ブロッキングアーチファクトが可視になる。この場合、視聴者は、ブロックのエッジを感知することができる。このアーチファクトがブロックの４つのエッジのすべてで発生する場合、アーチファクトは、誤ったデータブロックのように見え、したがって、ブロッキングアーチファクトと呼ばれる。ブロックノイズ忠実度モデルは、輝度尺度に加えて、ブロックノイズ尺度を含む。高いブロックノイズ測定値またはブロックノイズスコアを引き起こす変更は、可視に分類される。言い換えると、ブロックノイズ尺度は、ある処理（例えば、圧縮、透かし処理）の後で、コンテンツが、元のコンテンツと比較して、どれだけブロックノイズを有するようになるかを示す。元のコンテンツが平滑であるのに、生成されたコンテンツにブロックノイズが多い場合、この特定の操作は、高いブロックノイズスコアを受け取る。元のコンテンツにブロックノイズが多く、処理されたコンテンツにもブロックノイズが多い場合、この特定の操作は、低いブロックノイズスコアを受け取る。言い換えると、ブロックノイズスコアは、処理によってブロック状のアーチファクトがどれだけ導入されるかを計測する。ブロックノイズスコアを閾値と比較することによって、可視のアーチファクトを有するブロックが識別でき、適宜、除去することができる。ブロックノイズ計測は、ブロック毎に実行される。Ｅｒｒｏｒ！  Ｒｅｆｅｒｅｎｃｅ  ｓｏｕｒｃｅ  ｎｏｔ  ｆｏｕｎｄ．６に示されるように、各ｎ×ｎブロックＡについて、そのブロッキメトリック(blocky metric)ＢＭおよびブロック勾配メトリック(block gradient metric)ＢＧＭを計算して、最終的なブロックノイズスコアを獲得することができる。ＢＭを計算するため、最初に、各ピクセルのブロッキメトリックを以下のように計算することができる。メトリックｐiを水平エッジピクセルｉ＝２，．．，ｎ−１用とすることができる場合、以下のようになる。
【００３４】
ｑi＝（Ｂの下エッジピクセルｉ−Ａの上エッジピクセルｉ）；
ｉｆ  ｜ｑi_ori｜＜｜ｑi_ｐｒｏｃｅｓｓｅｄ｜  ＆＆  ｜ｑi_ｐｒｏｃｅｓｓｅｄ｜−｜ｑi_ori｜＜６４
ｐi＝｜ｑi_ｐｒｏｃｅｓｓｅｄ｜−｜ｑi_ori｜；
ｅｌｓｅ
ｐi＝０；
ｐi＝＞Ｂの下エッジピクセルｉおよびＡの上エッジピクセルｉ
メトリックｐiを垂直エッジピクセルｉ＝２，．．，ｎ−１用とすることができる場合、以下のようになる。
【００３５】
ｑi＝（Ｄの右エッジピクセルｉ−Ａの左エッジピクセルｉ）；
ｉｆ  ｜ｑi_ori｜＜｜ｑi_ｐｒｏｃｅｓｓｅｄ｜  ＆＆  ｜ｑi_ｐｒｏｃｅｓｓｅｄ｜−｜ｑi_ori｜＜６４
ｐi＝｜ｑi_ｐｒｏｃｅｓｓｅｄ｜−｜ｑi_ori｜；
ｅｌｓｅ
ｐi＝０；
ｐi＝＞Ｄの右エッジピクセルｉおよびＡの左エッジピクセルｉ。
【００３６】
メトリックｐを対角線コーナピクセル用とすることができる場合、以下のようになる。
【００３７】
ｑ＝（Ｃの右下コーナピクセル−Ａの左上ピクセル）；
ｉｆ  ｜ｑ_ori｜＜｜ｑ_processed｜  ＆＆  ｜ｑ_processed｜−｜ｑ_ori｜＜６４
ｐ＝｜ｑ_processed｜−｜ｑ_ori｜；
ｅｌｓｅ
ｐ＝０；
ｐ＝＞Ｃの右下コーナピクセルおよびＡの左上ピクセル。
【００３８】
メトリックｐを非対角線コーナピクセル用とすることができる場合、以下のようになる。
【００３９】
ｑ＝（Ｄの右上コーナピクセル−Ｂの左下ピクセル）；
ｉｆ  ｜ｑ_ori｜＜｜ｑ_processed｜  ＆＆  ｜ｑ_processed｜−｜ｑ_ori｜＜６４
ｐ＝｜ｑ_processed｜−｜ｑ_ori｜；
ｅｌｓｅ
ｐ＝０；
ｐ＝＞Ｄの右上コーナピクセルおよびＢの左下ピクセル。
【００４０】
【数３】
0005285159.tif 000005
【００４１】
ＢＧＭは、元のブロックと処理されたブロックとの間で、最大の水平勾配と最大の垂直勾配の平均を取ることにより計算される。１つのブロック内のピクセルをｘij、ｉ＝１，．．．，ｎ、ｊ＝１，．．．，ｎとすると、ＢＧＭ＝
【００４２】
【数４】
0005285159.tif 000006
【００４３】
最後に、各ｎ×ｎブロックについてのブロックノイズスコアが、ｍａｘ（０，ＢＭ−ＢＧＭ）として獲得される。
【００４４】
ＢＤ＋／ＡＶＣ透かしはマクロブロック毎に埋め込まれるので、ブロックサイズとして１６を使用して、ブロックノイズスコアを計算するというのが、自然な考えである。しかし、変更の伝搬マップ上のブロックは、必ずしも１６×１６でないことがある。インター予測モードおよびイントラ予測モードのため、ブロックサイズは、１６×８、８×１６、８×８、および４×４となることがあり得る。ブロックサイズとして、例えば１６など大きなｎを使用した場合、８×８または４×４サブブロックの１つだけが変更されるマクロブロックは、変更されるサブブロックにはきわめて大きなブロックノイズがあるとしても、低いブロックノイズスコアを有する結果にいたることがある。したがって、可能な限り最小のブロックサイズ４×４を使用して、ブロックノイズスコアを計算し、その後、それらを合計して、各１６×１６マクロブロックの最終スコアを獲得すべきである。より小さなブロックサイズを使用して、ブロックノイズスコアを計算しても、計算の複雑さは、大きなブロックサイズの場合と同じであることに留意されたい。
【００４５】
４×４サブブロックのブロックノイズスコアを合計することにより、マクロブロックの最終スコアを獲得する場合、ブロック状のアーチファクトの面積を考慮する。例えば、１６個の４×４ブロックのすべてが非ゼロのブロックノイズスコアを有する場合、それは、１６×１６マクロブロックが全体にわたって、ブロック状のアーチファクトを有し、１つのサブブロックだけが非ゼロスコアを有する場合よりも可視的となることがあることを意味する。代替的に、マクロブロックの最終スコアとして、１６個のサブブロックのうちの最高のスコアを選択することができる。
【００４６】
このブロックノイズ計測は、典型的なブロックなど、任意の長方形の、または少なくとも区分線形(piece linear)の、閉領域に適用することができる。様々な実施においてこれを使用できる多くの方法が存在する。ＢＤ＋／ＡＶＣ透かしはマクロブロック毎に埋め込まれるので、ブロックサイズとして１６×１６を使用して、ブロックノイズスコアを計算するというのが、合理的な方法である。しかし、変更の伝搬パス上のブロックは、必ずしも１６×１６でないことがある。インター予測モードおよびイントラ予測モードに応じて、ブロックサイズは、１６×８、８×１６、８×８、または４×４となることがあり得る。例えば１６など大きなブロックサイズを使用した場合、８×８または４×４サブブロックの１つだけが変更されるマクロブロックは、変更されるサブブロックにはきわめて大きなブロックノイズがあるとしても、低いブロックノイズスコアを有する結果にいたることがある。
【００４７】
少なくとも１つの開示された実施は、可能な限り最小のブロックサイズ４×４を使用して、ブロックノイズスコアを計算し、その後、１６個の隣接する４×４ブロックからのスコアを合計して、各１６×１６マクロブロックの最終スコアを獲得する。より小さなブロックサイズを使用して、ブロックノイズスコアを計算しても、計算の複雑さは、大きなブロックサイズの場合と同じであることに留意されたい。
【００４８】
４×４サブブロックのブロックノイズスコアを合計することにより、マクロブロックの最終スコアを獲得する場合、ブロック状のアーチファクトの面積を考慮する。例えば、１６個の４×４ブロックの各々が非ゼロのブロックノイズスコアを有する場合、それは、１６×１６マクロブロックが全体にわたって、ブロッキングアーチファクトを有し、そのブロッキングアーチファクトは、１つのサブブロックだけが非ゼロスコアを有する場合よりも可視的となることがあることを意味する。代替実施形態は、マクロブロックの最終スコアとして、１６個のサブブロックのうちの最高のスコアを選択することである。そうすることにより、視覚的なアーチファクトを引き起こす可能性が最も高い、最も高いブロックノイズスコアを有する４×４ブロックに重点が絞られる。
【００４９】
図２は、絶対輝度差およびブロックノイズ尺度に基づいたブロックノイズ忠実度モデルのブロック図である。このモデルでは、輝度尺度を閾値と比較する。最初に、ボックス２１０において、マクロブロックｊに対する変更が考察され、ボックス２２０において、その変更に関連する絶対輝度変化が計算される。閾値を超える輝度尺度をもたらす変更は、判定ボックス２３０において、可視に分類される。判定ボックス２３０において、絶対輝度変化が可視である場合、ボックス２１０において、マクロブロックｊ内の別の変更を考察する。他方、２３０において、輝度尺度によっては変更が可視でない場合、ブロックノイズスコアが計算される。次に判定ボックス２５０において、ブロックノイズスコアが、ブロックノイズ閾値と比較される。ブロックノイズ閾値を超えるブロックノイズスコアをもたらす変更は、可視に分類され、そのため、それらは、変更可能ブロックリストには入れられず、次にボックス２１０において、別の変更が考察される。輝度閾値を下回る輝度尺度およびブロックノイズ閾値を下回るブロックノイズスコアをともにもたらすような変更は、不可視に分類され、ボックス２６０において、許容される変更可能ブロックリストに入れられる。
【００５０】
図３は、提案されたマクロブロック変更ｊが最初にボックス３１０において行われる、機能強化された忠実度モデルの詳細なブロック図を示している。これに続いて、ボックス３２０において、変更に関連する伝搬パスを識別し、ボックス３３０において、伝搬パス内のブロックの各々について考察する。次に、これに続いて、３４０において、ブロックの絶対輝度変化を計算し、ボックス３５０において、マクロブロックの最悪ケース値を決定する。伝搬パスのこの可視性尺度は、最悪ケース（最大）値である。判定ボックス３６０において、最悪ケース値が輝度可視性閾値よりも小さい場合、提案されたマクロブロック変更が受け入れられて、プロセスは、ボックス３７０に進められ、ボックス３６０からの受け入れられた提案済みのマクロブロックについて考察する。ボックス３６０において、最悪ケース値が輝度可視性閾値以上である場合、ボックス３１０において、提案された別のマクロブロック変更ｊが考察される。マクロブロック変更がボックス３７０に進んだ後、プロセスは、ボックス３７５におけるブロックノイズスコアの計算、ボックス３８０における最大ブロックノイズ値の決定に進む。ボックス３７５におけるブロックノイズスコアは、判定ボックス３９０において、ブロックノイズ閾値と比較される。ブロックノイズ閾値を超えるブロックノイズスコアをもたらす変更は、可視に分類され、そのため、変更可能ブロックリストには入れられない。その後、ボックス３１０において、代わりに別の変更が考察される。輝度閾値を下回る輝度尺度およびブロックノイズ閾値を下回るブロックノイズスコアをともにもたらすような変更は、不可視に分類され、ボックス３９５において、許容される変更可能ブロックリストに入れられる。
【００５１】
ベースラインモードと同様に、可視性尺度は、提案された変更の伝搬パスに沿って導入されるアーチファクトを勘案するために使用される。ブロックノイズスコアは、提案された変更の伝搬パス内のすべてのマクロブロックについて計算され、最大値が使用される。この尺度は、提案された変更ｋについて、ＭａｘＢｌｋkで表され、
【００５２】
【数５】
0005285159.tif 000007
【００５３】
と公式化され、ここで、Ｂｌｋjは、ブロックｊのブロックノイズスコアである。ここで、ＭａｘＢｌｋkは、ブロックノイズ閾値と比較され、提案された変更ｋが、可視のアーチファクトを導入し得るかどうかが決定される。
【００５４】
本願で説明される実施および特徴のいくつかは、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（ＡＶＣ）規格に関連して使用することができる。しかし、これらの実施および特徴は、（既存もしくは将来の）別の規格に関連して、または規格を含まない状況において使用することもできる。
【００５５】
本明細書で説明した実施形態は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または、信号で実施することができる。方法など単一の形態の実施に関連してもっぱら説明したが、説明した実施または特徴は、装置またはプログラムなどの他の形態で実施することもできる。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実施することができる。方法は、例えば、コンピュータまたは他の処理デバイスなどの装置で実施することができる。さらに、方法は、処理デバイスまたは他の装置によって実行される命令によって実施することができ、そのような命令は、例えば、ＣＤもしくは他のコンピュータ可読記憶デバイス、または、集積回路などのコンピュータ可読媒体上に保存することができる。さらに、コンピュータ可読媒体は、実施によって生成されるデータ値を保存することができる。
【００５６】
当業者には明らかであるように、実施は、例えば保存または送信できる情報を伝送するためにフォーマットされた信号を生成することもできる。情報は、例えば、方法を実行するための命令、または説明された実施の１つによって生成されるデータを含むことができる。例えば、信号は、透かしを施されたストリーム、透かしを施されていないストリーム、忠実度尺度、または他の透かし処理情報を伝送するためにフォーマットすることができる。
【００５７】
本明細書の実施形態は、透かし処理のために導入されるビデオに対する変更に焦点を当てたが、本発明は、必ずしも透かしではないビデオに対する提案された変更への、様々に組み合わされた特徴の適用を含む。
【００５８】
さらに、いくつかのケースでは、透かしまたは変更が人間の観察者の目に見えるので、本明細書で開示されたメトリックおよび方法を使用して、透かしまたは変更を維持または選択することができる。
【００５９】
さらに、多くの実施形態は、エンコーダ、デコーダ、デコーダからの出力を処理するポストプロセッサ、またはエンコーダへの入力を提供するプリプロセッサのうちの１つまたは複数で実施することができる。さらに、この開示により他の実施も企図されている。例えば、開示された実施の様々な特徴を組み合わせ、削除し、変更し、または補足することにより、追加の実施を生み出すことができる。
【図１】
0005285159.tif 000008
【図２】
0005285159.tif 000009
【図３】
0005285159.tif 000010
【図４】
0005285159.tif 000011
【図５】
0005285159.tif 000012
【図６】
0005285159.tif 000013