(57)【要約】動き補償予測のための適応重み選択を行う方法および装置を提供する。この装置は、１組の重み付けパラメータを導出することによってピクチャを符号化し、選択基準に基づいて該１組の重み付けパラメータのうちの少なくとも１つの重み付けパラメータを選択し、該選択した少なくとも１つの重み付けパラメータを、該ピクチャを符号化するために使用される参照ピクチャに適用するエンコーダ（１００）を含む。
2009525687.tif 000002
【特許請求の範囲】
【請求項１】
１組の重み付けパラメータを導出することによってピクチャを符号化し、選択基準に基づいて前記１組の重み付けパラメータのうちの少なくとも１つの重み付けパラメータを選択し、前記選択した少なくとも１つの重み付けパラメータを、前記ピクチャを符号化するために使用される参照ピクチャに適用するエンコーダ（１００）を備える、装置。
【請求項２】
前記エンコーダ（１００）が、前記１組の重み付けパラメータのうちの前記少なくとも１つの重み付けパラメータを、前記１組の重み付けパラメータのそれぞれを用い、且つ速度歪み最適化を用いた前記ピクチャの完全符号化に基づいて選択する、請求項１に記載の装置。
【請求項３】
前記速度歪み最適化が、ラグランジュの乗数法を用いて実行される、請求項２に記載の装置。
【請求項４】
前記エンコーダ（１００）が、前記少なくとも１つの重み付けパラメータを、歪みメトリックの計算に基づいて選択する、請求項１に記載の装置。
【請求項５】
前記歪みメトリックが、前記ピクチャと重み付け参照ピクチャの間の絶対ピクチャ差として計算される、請求項４に記載の装置。
【請求項６】
前記歪みメトリックが、前記ピクチャのヒストグラムと重み付け参照ピクチャのヒストグラムの間の差として計算される、請求項４に記載の装置。
【請求項７】
前記エンコーダ（１００）が、ヒストグラム方法、ピクチャ平均、線形回帰、変位差および反復的方法のうちの少なくとも１つを使用して、前記ピクチャの明示的重み付けパラメータを推定する、請求項４に記載の装置。
【請求項８】
前記エンコーダ（１００）が、歪み特性付けに基づいて前記ピクチャを符号化するための最適な重み付け方法も選択し、前記最適な重み付け方法が、非重み付け予測方法、明示的重み付け予測方法および暗示的重み付け予測方法の中から選択され、それらの方法がそれぞれ前記重み付けパラメータの組に含まれる、請求項１に記載の装置。
【請求項９】
前記歪み特性付けが、リスト０およびリスト１の参照ピクチャの両方に基づいて計算された双方向予測歪みを含む、請求項８に記載の装置。
【請求項１０】
前記エンコーダ（１００）が、少なくとも１つの遷移検出方法を使用して前記ピクチャを符号化するための前記最適な重み付け方法を選択する、請求項８に記載の装置。
【請求項１１】
１組の重み付けパラメータを導出することによってピクチャを符号化するステップと、
選択基準に基づいて前記１組の重み付けパラメータのうちの少なくとも１つの重み付けパラメータを選択するステップと、
前記選択した少なくとも１つの重み付けパラメータを、前記ピクチャを符号化するために使用される参照ピクチャに適用するステップと、
を含む、ビデオ符号化方法。
【請求項１２】
前記符号化ステップで、前記１組の重み付けパラメータのうちの前記少なくとも１つの重み付けパラメータを、前記１組の重み付けパラメータのそれぞれを用い、且つ速度歪み最適化を用いた前記ピクチャの完全符号化に基づいて選択する（２００、３００）、請求項１１に記載の方法。
【請求項１３】
前記速度歪み最適化が、ラグランジュの乗数法を用いて実行される、請求項１２に記載の方法。
【請求項１４】
前記符号化ステップで、前記少なくとも１つの重み付けパラメータを、歪みメトリックの計算に基づいて選択する（２００、３００）、請求項１１に記載の方法。
【請求項１５】
前記歪みメトリックが、前記ピクチャと重み付け参照ピクチャの間の絶対ピクチャ差として計算される（２１０、３１０）、請求項１４に記載の方法。
【請求項１６】
前記歪みメトリックが、前記ピクチャのヒストグラムと重み付け参照ピクチャのヒストグラムの間の差として計算される（２１０、３１０）、請求項１４に記載の方法。
【請求項１７】
前記符号化ステップで、ヒストグラム方法、ピクチャ平均、線形回帰、変位差および反復的方法のうちの少なくとも１つを使用して、前記ピクチャの明示的重み付けパラメータを推定する（２１０、３１０）、請求項１４に記載の方法。
【請求項１８】
前記符号化ステップで、歪み特性付けに基づいて前記ピクチャを符号化するための最適な重み付け方法も選択し、前記最適な重み付け方法が、非重み付け予測方法、明示的重み付け予測方法および暗示的重み付け予測方法の中から選択され、それらの方法がそれぞれ前記重み付けパラメータの組に含まれる（２２０、２２５、２３５、３７５、３７０、３６５、３６０）、請求項１１に記載の方法。
【請求項１９】
前記歪み特性付けが、リスト０およびリスト１の参照ピクチャの両方に基づいて計算された双方向予測歪みを含む（３１０）、請求項１８に記載の方法。
【請求項２０】
前記符号化ステップで、少なくとも１つの遷移検出方法を使用して前記ピクチャを符号化するための前記最適な重み付け方法を選択する（３１５）、請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、２００６年２月２日出願の米国仮出願第６０／７６４４９３号の特典を請求するものである。
【０００２】
本発明は、一般にビデオ符号化に関し、より詳細には、動き補償予測のための適応重み選択を行う方法および装置に関する。
【背景技術】
【０００３】
ビデオ圧縮エンコーダおよび／またはデコーダは、その圧縮効率の大部分を、符号化対象ピクチャの参照ピクチャ予測を形成し、現在のピクチャと該予測との間の差分のみを符号化することによって得ている。予測と現在のピクチャの相関が強くなるほど、当該ピクチャを圧縮するのに必要なビット数は少なくなる。この予測は、既に利用可能なピクチャまたはブロック内の空間的または時間的サンプルを用いて生成することができる。時間的予測は、基本的には、ビットストリーム内で得られることもある動きパラメータと、必要に応じて、ビットストリームから明示的に符号化される、または暗示的に導出される重み付け／オフセット・パラメータとを考慮することによって行われる。重み付けパラメータおよびオフセット・パラメータは、フェードやクロスフェードなど、ある種の遷移が存在する場合にかなり有用である可能性があり、従来の動き補償方式に比べてかなりの性能向上をもたらす可能性がある。
【０００４】
重みを適切に選択することによって、重み付け予測を考慮するシステムのビデオ圧縮効率に大きな影響を及ぼすことができる。ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｐａｒｔ１０  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）標準／ＩＴＵ−Ｔ  Ｈ．２６４勧告（以下「ＭＰＥＧ−４  ＡＶＣ標準」と呼ぶ）は、明示モードおよび暗示モードという２つのモードを有する重み付け予測ツールを提供している。明示モードでは、エンコーダは、符号化および復号に使用する重みおよびオフセットを選択し、適切に割り当てることができる。
【０００５】
ＭＰＥＧ−４  ＡＶＣ標準では、これらの重みおよびオフセットを選択するいかなる特定の方法も提示または要求していない。一方、暗示モードでは、ピクチャ間の「時間的」距離に基づいて重み付けパラメータを計算する。この距離を計算するために、各ピクチャ／スライスは、表示にも使用できるピクチャ・オーダ・カウント（ＰＯＣ）と呼ばれるカウンタ・フィールドと関連づけられる。暗示モードは、Ｂスライスに対してしか使用できないが、これら２つのモードのかなり重要な違いは、Ｂスライスに対して、明示モードでは一方向予測および双方向予測の両方に同じ重みが適用されるのに対して、暗示モードの重みは双方向予測のみに適用されることである。
【０００６】
線形回帰、現在のピクチャの画素の平均値を参照ピクチャの画素の平均値で割った比として重み付けパラメータを推定する方法、ヒストグラム法、および変位差（ｄｉｓｐｌａｃｅｄ  ｄｉｆｆｅｒｅｎｃｅｓ）を用いたクロスフェード存在下での重み付けパラメータ推定などの統計的手法を考慮することができる、いくつかの重み推定方法が提案されている。上記方法の何れにおいても、重みは、現在のソース・ピクチャおよび動き予測非重み付け参照ピクチャを考慮することによって改良される。このプロセスは、重みが収束する、または１つまたは複数の終了基準を満たすまで繰り返される。
【０００７】
ＭＰＥＧ−４  ＡＶＣ標準では、複数の参照ピクチャをインター予測に使用することができる。その際には、参照ピクチャ指標を符号化して、複数の参照ピクチャのどれが使用されるかを示す。Ｐスライスでは、一方向予測のみを使用し、許容参照ピクチャはリスト０で管理される。Ｂスライスでは、リスト０およびリスト１という、２つの参照ピクチャ・リストを考慮する。Ｂスライスでは、リスト０またはリスト１の何れかを考慮した一方向予測、あるいはリスト０およびリスト１の両方を用いた双方向予測を用いて、予測を実行する。双方向予測を用いるときには、リスト０の予測子とリスト１の予測子を平均して、最終予測子を形成する。以前の標準とは異なり、Ｂピクチャを記憶し、その他のピクチャを符号化するときに参照ピクチャとして使用することができる。
【０００８】
ＭＰＥＧ−４  ＡＶＣ標準では、ツリー構造の階層マクロブロック・パーティションを使用する。インター符号化された１６×１６画素マクロブロックは、１６×１６、１６×８、８×１６または８×８のサイズのマクロブロック・パーティションに分解することができる。８×８マクロブロック・パーティションはサブ・マクロブロックとも呼ばれ、さらに８×４、４×８および４×４のサイズのサブ・マクロブロック・パーティションに分解することもできる。各マクロブロック・パーティションごとに、参照ピクチャ指標、予測タイプ（リスト０、リスト１、双方向予測）、および動きベクトルを独立して選択し、符号化することができる。動きベクトルは、各サブ・マクロブロック・パーティションごとに独立して選択し、符号化することができるが、サブ・マクロブロックの参照ピクチャ指標および予測タイプは、全てのサブ・マクロブロック・パーティションに対して使用される。
【０００９】
ＭＰＥＧ−４  ＡＶＣ標準では、ビデオ符号化レイヤ（ＶＣＬ）で時間参照を使用しないが、その代わりに、符号化されたピクチャ間の相対距離を示すピクチャ・オーダ・カウント（ＰＯＣ）を使用する。スライス・ヘッダのｄｅｌｔａ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔフィールドを符号化するなど、各スライスのピクチャ・オーダ・カウントを符号化するいくつかの方法が提供されている。ＰＯＣは、ダイレクト・モードでの動きベクトルのスケーリング、および重み付け予測（ＷＰ）暗示モードでの重み係数の導出に使用される。
【００１０】
重み付け予測は、ＭＰＥＧ−４  ＡＶＣ標準のメイン・プロファイルおよび拡張プロファイルでサポートされる。重み付け予測を使用することは、ＰスライスおよびＳＰスライスではｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇフィールドを用いて、Ｂスライスではｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃフィールドを用いてシーケンス・パラメータ・セットに示される。ＷＰモードには２つのモードがある。Ｐスライス、ＳＰスライスおよびＢスライスでサポートされる明示モードと、Ｂスライスのみでサポートされる暗示モードである。
【００１１】
ＷＰでは、使用する重み係数は、現在のマクロブロックまたはマクロブロック・パーティションの参照ピクチャ指標（双方向予測の場合には複数の指標）に基づいている。参照ピクチャ指標は、ビットストリーム中に符号化するか、あるいは例えばスキップ・モードまたはダイレクト・モードのマクロブロックでは導出することができる。明示モードでは、これらのパラメータは、スライス・ヘッダ中に符号化される。暗示モードでは、これらのパラメータが導出される。重み係数およびオフセット・パラメータ値は、インター予測プロセスで１６ビット演算が可能になるように制約される。
【００１２】
ＰスライスまたはＳＰスライス中でｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇが１に等しい、あるいはＢスライス中でｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｉｄｃが１に等しければ、明示モードであることを示している。明示モードでは、ＷＰパラメータは、スライス・ヘッダ中に符号化される。各色成分の乗法的重み係数および加法的オフセットは、ＰスライスおよびＢスライスではリスト０内の許容参照ピクチャのそれぞれに対して符号化することができる。リスト０内の許容参照ピクチャの数は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１で示され、Ｂスライスのリスト１については、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１で示される。
【００１３】
重み係数のダイナミック・レンジおよび精度は、ｌｕｍａ＿ｌｏｇ２＿ｗｅｉｇｈｔ＿ｄｅｎｏｍフィールドおよびｃｈｒｏｍａ＿ｌｏｇ２＿ｗｅｉｇｈｔ＿ｄｅｎｏｍフィールドを用いて調節することができる。これらはそれぞれ、２を底とする、ｌｕｍａ重み係数およびｃｈｒｏｍａ重み係数のデノミネータの対数である。対数重みデノミネータ（ｌｏｇ  ｗｅｉｇｈｔ  ｄｅｎｏｍｉｎａｔｏｒ）の値が大きくなるほど、重み係数は精細になるが、当該重み係数の符号化に追加ビットが必要になり、有効スケーリングの範囲が限定される。リスト０内の各許容参照ピクチャ指標に対して、またリスト１内のＢスライスに対しても、ｌｕｍａ成分およびｃｈｒｏｍａ成分に対して別々に、フラグを符号化して、当該参照ピクチャ指標のスライス・ヘッダ内に重みパラメータが存在するか否かを示す。所与の参照ピクチャ指標および色成分のスライス・ヘッダに重みパラメータが存在しない場合には、１であるスケーリング・ファクタと等価なデフォルト重み係数およびゼロ・オフセットを使用する。乗法的重み係数は、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０およびｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ１として符号化される。下方的オフセットは、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１、ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０およびｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１として符号化される。
【００１４】
ピクチャ全体にわたって均一に適用されるフェードに対しては、単一の重み係数およびオフセットで、同じ参照ピクチャから予測された、１ピクチャ内の全てのマクロブロックを効率的に符号化するのに十分である。しかし、例えば照明に変化があったりカメラのフラッシュが光ったりして、不均一に適用されるフェードに対しては、メモリ管理制御動作（ＭＭＣＯ）コマンドおよび／または参照リスト・ピクチャ記録（ＲＰＬＲ）を使用することにより、複数の参照ピクチャ・インデックスを特定の参照ピクチャ・ストアと関連づけることができる。これにより、同一ピクチャ内の異なるマクロブロックが、同一の参照ピクチャ・ストアから予測されたときでも、異なる重み係数を使用することが可能になる。
【００１５】
一方向予測に使用したのと同じ重み付けパラメータを組み合わせて、双方向予測に使用する。最終的なインター予測は、使用する予測タイプに基づいて、各マクロブロックまたはマクロブロック・パーティションの画素に対して形成される。リスト０からの一方向予測では、重み予測子ＳａｍｐｌｅＰを以下のように計算する。
ＳａｍｐｌｅＰ＝Ｃｌｉｐ１（（（ＳａｍｐｌｅＰ０・Ｗ０＋２ＬＷＤ−１）＞＞ＬＷＤ）＋Ｏ０），
リスト１からの一方向予測では、以下のように計算する。
ＳａｍｐｌｅＰ＝Ｃｌｉｐ１（（（ＳａｍｐｌｅＰ１・Ｗ１＋２ＬＷＤ−１）＞＞ＬＷＤ）＋Ｏ１），
双方向予測では、以下のように計算する。
ＳａｍｐｌｅＰ＝Ｃｌｉｐ１（（（ＳａｍｐｌｅＰ０・Ｗ０＋ＳａｍｐｌｅＰ１・Ｗ１＋２ＬＷＤ）
＞＞（ＬＷＤ＋１））＋（Ｏ０＋Ｏ１＋１）＞＞１）
ここで、Ｃｌｉｐ（）は、範囲［０、２５５］にクリッピングする演算子であり、Ｗ０およびＯ０は、リスト０の参照ピクチャの重み係数およびオフセットであり、Ｗ１およびＯ１は、リスト１の参照ピクチャの重み係数およびオフセットであり、ＬＷＤは対数重みデノミネータ丸め係数である。ＳａｍｐｌｅＰ０およびＳａｍｐｌｅＰ１は、リスト０およびリスト１の初期予測子である。
【００１６】
エンコーダにおける適当な明示的ＷＰパラメータの決定は、ＭＰＥＧ−４  ＡＶＣ標準の範囲外である。
【００１７】
ＪＶＴ（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ）  ＪＭ参照ソフトウェアは、重みを選択する方法を含み、常に値０をオフセットに割り当てる。このＪＭ参照ソフトウェアの方法では、ピクチャを符号化する間に、現在のピクチャ内の全ての画素のＹ、ＵおよびＶ色成分の平均値Ｍｉを計算する。ここで、ｉは色成分指標である。さらに、各許容参照ピクチャの各画素のＹ、ＵおよびＶ成分の平均値ＭＲｉｊを計算する。ここで、ｊは参照ピクチャ指標である。各参照ピクチャの各色成分の推定乗法的重み係数Ｗｉｊは、以下のように、参照ピクチャの平均に対する現在のピクチャの平均の比を、対数重みデノミネータの左シフトによってスケーリングしたものとして計算される。
Ｗｉｊ＝（ｉｎｔ）（Ｍｉ＊（１＜＜ＬＷＤ）／ＭＲｉｊ）＋０．５）
【００１８】
重み係数を決定した後で、重み係数による参照ピクチャのスケーリングを実行し、スケーリングされた参照ピクチャを記憶する。スケーリングされた参照ピクチャは、８ビット精度で丸められ、８ビット画素演算を用いる動き推定プロセスおよびモード決定プロセスで使用できるようになっている。
【００１９】
暗示ＷＰを使用する場合には、前述のように、重み係数は、スライス・ヘッダに含めて明示的に伝送されることはなく、その代わりに、現在のピクチャと参照ピクチャの間の相対距離に基づいて導出される。暗示モードは、ダイレクト・モードを使用するものも含めて、Ｂスライス中の双方向予測符号化されたマクロブロックおよびマクロブロック・パーティションに対してのみ使用される。同じ双方向予測の場合の式を用いるが、オフセット値Ｏ０およびＯ１はゼロに等しく、重み係数Ｗ０およびＷ１は以下の式を用いて導出される。
Ｘ＝（１６３８４＋（ＴＤＤ＞＞１））／ＴＤＤ
Ｚ＝ｃｌｉｐ３（−１０２４，１０２３，（ＴＤＢ・Ｘ＋３２）＞＞６）
Ｗ１＝Ｚ＞＞２          Ｗ０＝６４−Ｗ１
これは、以下の数式の除算を行わない１６ビット・セーフな演算を実施したものである。
Ｗ１＝（６４＊ＴＤＤ）／ＴＤＢ，
ここで、ＴＤＢは、範囲［−１２８、１２７］にクリッピングされたリスト１の参照ピクチャとリスト０の参照ピクチャの間の時間差であり、ＴＤＢは、範囲［−１２８、１２７］にクリッピングされた現在のピクチャとリスト０の参照ピクチャの差である。この場合は、一方向予測でオリジナルの参照を使用するので、動き推定のために追加のピクチャを記憶する必要はない。
【００２０】
線形回帰、ヒストグラム方法、変位差を用いたクロスフェード存在下での重み付けパラメータの推定のような統計的手法を考慮した方法など、明示的ＷＰパラメータを推定するその他の方法も、既にいくつか提案されている。動きを考慮に入れる方法も、いくつか提案されている。例えば、１組の予備重みを最初に計算し、その後に現在のソース・ピクチャおよび重み付け参照ピクチャに基づいて動きベクトルを推定する反復的手法が提案されている。最後に、重みは、上記方法の何れかとともに、現在のソース・ピクチャおよび動き予測非重み付け参照ピクチャを考慮することによって改良される。このプロセスは、重みが収束する、または終了基準を満たすまで繰り返される。
【発明の開示】
【発明が解決しようとする課題】
【００２１】
残念ながら、上記の従来の方法は全て、主として最小の明示的重み付け方法の重みを発見することを目的とするものであり、どの重み付け方法を使用するべきか（暗示的か明示的か）ということはまったく考慮していない。これは、様々な周知の遷移検出技術を考慮することによってある程度は解決することができる。これらの方法では、重み付け予測を行うべきか否かを判定する際にも有用である場合がある、シーケンス内の遷移を特徴づける様々な相関メトリックス（ｍｅｔｒｉｃｓ）を考慮する。それでも、２つの異なるＷＰ方法が存在することを考えると、場合によっては何れか一方が異なる利点を提供する可能性もあるので、これら２つのモードの何れかを効率的に選択できることが望ましい。
【００２２】
簡潔にするために、リスト０の予測の重み付け予測を、以下のように表す。
ＳａｍｐｌｅＰ＝ＳａｍｐｌｅＰ０・ｗ０＋ｏ０，
リスト１の予測の重み付け予測は、以下のように表す。
ＳａｍｐｌｅＰ＝ＳａｍｐｌｅＰ０・ｗ０＋ｏ１，
双方向予測については、以下のように表す。
ＳａｍｐｌｅＰ＝（ＳａｍｐｌｅＰ０・ｗ０＋ＳａｍｐｌｅＰ１・ｗ１＋ｏ０＋ｏ１）／２，
ここで、ｗｉは重み係数、ｏｉは重み付けオフセットである。
【００２３】
本発明は、動き補償予測のための適応重み選択を行う方法および装置に関し、従来技術の上記およびその他の欠点および不利に対処するものである。
【課題を解決するための手段】
【００２４】
本発明の一態様によれば、装置が提供される。この装置は、１組の重み付けパラメータを導出することによってピクチャを符号化し、選択基準に基づいて該１組の重み付けパラメータのうちの少なくとも１つの重み付けパラメータを選択し、該選択した少なくとも１つの重み付けパラメータを、該ピクチャを符号化するために使用される参照ピクチャに適用するエンコーダを含む。
【００２５】
本発明の別の態様によれば、ビデオ符号化方法が提供される。この方法は、１組の重み付けパラメータを導出することによってピクチャを符号化するステップと、選択基準に基づいて該１組の重み付けパラメータのうちの少なくとも１つの重み付けパラメータを選択するステップと、該選択した少なくとも１つの重み付けパラメータを、該ピクチャを符号化するために使用される参照ピクチャに適用するステップとを含む。
【００２６】
本発明の上記その他の態様、特徴、および利点は、以下の例示的な実施形態の詳細な説明を添付の図面と関連づけて読めば明らかになるであろう。
【００２７】
本発明は、後記の例示的な図面によってよりよく理解することができる。
【発明を実施するための最良の形態】
【００２８】
本発明の原理は、動き補償予測のための適応重み選択を行う方法および装置に関する。
【００２９】
本明細書では、本発明の原理について説明する。従って、本明細書に明示的に記述または図示してはいないが本発明の原理を実施し、本発明の趣旨および範囲内に含まれる様々な構成を、当業者なら考案することができることを理解されたい。
【００３０】
本明細書に記載する全ての実施例および条件に関する表現は、本発明の原理と発明者による技術の進歩の助けとなる概念とを読者が理解するのを助けるための教育的な目的を有するものであり、これら具体的に列挙した実施例および条件に限定されないものと解釈されたい。
【００３１】
さらに、本発明の原理、態様および実施形態ならびに本発明の具体的な実施例について本明細書で述べる全ての記述は、その構造的均等物および機能的均等物の両方を含むものとする。さらに、これらの均等物には、現在既知の均等物と将来開発されるであろう均等物の両方が含まれる、すなわち、その構造にかかわらず同じ機能を実行する、将来開発される任意の要素が含まれるものとする。
【００３２】
従って、例えば、当業者なら、本明細書に示すブロック図が本発明の原理を実施する例示的な回路の概念図を表していることを理解するであろう。同様に、任意のフローチャート、流れ図、状態遷移図、擬似コードなどが、コンピュータ可読媒体中に実質的に表現され、明示される場合もされない場合もあるコンピュータまたはプロセッサによって実行される様々なプロセスを表すことも理解されたい。
【００３３】
図面に示す様々な要素の機能は、専用のハードウェア、および適当なソフトウェアと連動してソフトウェアを実行することができるハードウェアを使用して実現することができる。プロセッサによって実現するときには、これらの機能は単一の専用プロセッサで実現することも、単一の共用プロセッサで実現することも、あるいはその一部を共用することもできる複数の個別プロセッサで実施することもできる。さらに、「プロセッサ」または「制御装置」という用語を明示的に用いていても、ソフトウェアを実行することができるハードウェアのみを指していると解釈すべきではなく、ディジタル信号プロセッサ（ＤＳＰ）ハードウェア、ソフトウェアを記憶するための読取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）および不揮発性記憶装置（ただしこれらに限定されない）を暗に含むことがある。
【００３４】
従来の、且つ／または特注のその他ハードウェアも含まれることがある。同様に、図面に示す任意のスイッチも、概念的なものに過ぎない。スイッチの機能は、プログラム論理の動作によっても、専用論理によっても、プログラム制御と専用論理の相互作用によっても、あるいは手作業でも実施することができ、インプリメンタ（ｉｍｐｌｅｍｅｎｔｅｒ）が前後関係から具体的に判断して特定の技術を選択することができる。
【００３５】
本明細書の特許請求の範囲において、特定の機能を実行する手段として表現されている任意の要素は、例えば、（ａ）当該機能を実行する回路素子の組合せや、（ｂ）ファームウェアやマイクロコードなども含めた任意の形態のソフトウェアを、当該ソフトウェアを実行して当該機能を実行する適当な回路と組み合わせたものも含めて、当該機能を実行する任意の方法を含むものとする。特許請求の範囲によって定義される本発明は、列挙する様々な手段が実施する機能を、特許請求の範囲が要求するかたちで組み合わせることにある。従って、これらの機能を実施することができる任意の手段を、本明細書に示す手段の均等物とみなすものとする。
【００３６】
本明細書において、本発明の「一実施形態」または「実施形態」と述べていれば、それは、当該実施形態と関連づけて述べられる特定のフィーチャ、構造、特徴などが、本発明の少なくとも１つの実施形態には含まれているということを意味する。従って、本明細書の様々な箇所で「一実施形態では」または「実施形態では」という表現が出てきても、必ずしもそれらが全て同じ実施形態のことを言っているわけではない。
【００３７】
図１を参照すると、重み推定を行う例示的なビデオ・エンコーダの全体を、参照番号１００で示してある。
【００３８】
コンバイナ１０５の非反転入力部、モード決定（ＭＤ）／動き補償（ＭＣ）１７５の第１の入力部、動き推定器（ＭＥ）１６５の第１の入力部、および動き推定器１７０の第１の入力部は、ビデオ・エンコーダの入力部として利用することができる。コンバイナ１０５の出力部は、変換器１１０の入力部に信号線で接続される。変換器１１０の出力部は、量子化器１１５の入力部に信号線で接続される。量子化器１１５の出力部は、可変長コーダ（ＶＬＣ）１２０の入力部に信号線で接続される。ＶＬＣ１２０の出力部は、ビデオ・エンコーダ１００の出力部として使用することができる。
【００３９】
量子化器１１５の出力部は、逆量子化器１２５の入力部にも信号線で接続される。逆量子化器１２５の出力部は、逆変換器１３０の入力部に信号線で接続される。逆変換器１３０の出力部は、コンバイナ１８０の第１の非反転入力部に信号線で接続される。コンバイナ１８０の出力部は、ループ・フィルタ１３５の入力部に信号線で接続される。ループ・フィルタ１３５の出力部は、ピクチャ参照ストア１４０の入力部に信号線で接続される。参照ピクチャ・ストア１４０の出力部は、リスト０参照バッファ１４５の入力部およびリスト１参照バッファ１５０の入力部に信号線で接続される。リスト０参照バッファ１４５の第１の出力部は、乗算器１５５の第１の入力部に信号線で接続される。リスト１参照バッファ１５０の第１の出力部は、乗算器１６０の第１の入力部に信号線で接続される。リスト０参照バッファ１４５の第２の出力部およびリスト１参照バッファ１５０の第２の出力部は、ＭＤ／ＭＣ１７５の第２の入力部に信号線で接続される。乗算器１５５の出力部は、動き推定器１６５の第２の入力部に信号線で接続される。乗算器１６０の出力部は、動き推定器１７０の第２の入力部に信号線で接続される。ＭＤ／ＭＣ部１７５の第１の出力部は、コンバイナ１０５の反転入力部に信号線で接続される。ＭＤ／ＭＣ部１７５の第２の出力部は、コンバイナ１８０の第２の非反転入力部に信号線で接続される。
【００４０】
現在のピクチャを符号化するための最も適当な１つまたは複数の重み付け方法を決定することを可能にする方法および装置を提供する。さらに、本発明の実施形態によれば、複数の重み推定方法を考慮することによって、明示的重み付けパラメータの決定を改善することができる。本発明の実施形態によれば、最初に様々な方法を用いて様々な重み係数を推定する。その後、通常の重み、暗示的な重み、複数の明示的な重みを含む可能性もあるこれらの重みを、相関や歪み計算など、単純な基準または方法を考慮することによって評価し、この基準による最も適当な重みおよび１つまたは複数の重み付け方法を、現在のピクチャ／スライスの符号化に選択する。
【００４１】
明示モードと暗示モードは、場合によっては何れか一方が異なる利点を提供する可能性もあるので、本発明の実施形態で、明示モードと暗示モードを効率的に選択できることは有利である。例えば、暗示モードは、局所的な輝度の変化しかないとき、または線形フェードが起きているときに、より良好な性能を与えることができるが、明示モードは、クロスフェードが起きているときにより有用である。さらに、一方向予測では重みを使用しないが、双方向予測では、参照との間に時間的により密接した高度な相関が存在する可能性があり、これをより効率的に活用することができることを考慮すれば、暗示モードは、それ自体、フェードのないフレームの符号化効率を改善するのに有用である可能性がある。
【００４２】
必要に応じて重み付け予測に使用される重み付け方法を決定するのにも役立つことがある、シーケンス内の遷移に関する初期推定を行うことができる従来技術の方法がいくつかあることに留意されたい。ただし、前述のように、重み付け予測（ＷＰ）、特に暗示的ＷＰの使用は、フェードが起きていない期間中でもかなり有用且つ有利であることがある。さらに、明示的重み付けパラメータを推定する様々なアルゴリズムが知られているが、いくつかのタイプの遷移に対しては、異なる計算方法の方が有利または正確たり得る。従って、本発明では、重みパラメータの選択を改善するだけでなく、使用するＷＰ方法のより好ましい決定も行う様々な実施形態を提供する。使用できる１つの手法では、可能な全てのＷＰの組合せ（重み付け方法、重みなど）を使用してピクチャを符号化し、その後に所定の基準に従って（すなわち、Ｊ＝Ｄ＋λ＊Ｒで表される速度歪み最適決定を用いて（Ｄは歪み、λはラグランジュ・パラメータ、Ｒは現在のピクチャを符号化するために使用されるビット））最良の１つを選択するものであるが、この方法は、計算コストが高すぎ、特に実時間の実施態様では実用的ではない。
【００４３】
一般に、本明細書で用いる「ピクチャ」という用語は、ピクチャ構造決定に応じて、フィールド・ピクチャまたはフレーム・ピクチャの何れかを指す。最初に、使用されるスライス・タイプまたは予測方法に応じて１組のピクチャ相関メトリックスを計算する必要がある。特に、一方向インター予測（Ｐスライス）については、このようなピクチャ相関メトリックスを計算する、起こりうる３つのケースを考慮することができる。このプロセスは、動き補償に使用されるリスト０内の全ての利用可能な参照について行われる。参照ｉについて、以下のケースを考慮することができる。
【００４４】
ケース１
【数１】
2009525687.tif 000003
ここで、ｗ０、ｉは、この参照の重みであり、ｏ０、ｉは、対応するオフセットである。Ｆｃｕｒは、現在のピクチャに対応し、Ｆｒｅｆ、ｉは指標ｉが付された参照である。ｍｅａｎは、基本的に、Ｆｃｕｒ内の全ての画素の平均を計算することを意味する。計算は、ＤＣ画像に基づいていてもよいし、必要に応じて複雑さを軽減するためにサブサンプル画像に基づいていてもよいことに留意されたい。これらの重み付けパラメータに基づいて、現在のピクチャと比較した歪みメトリックスを計算し、これを本明細書では、ｓｕｍ＿ｄｉｆｆ＿ｗｆ０、ｉと呼ぶ。この歪みメトリックスについては、さらに後述する。このケースは、乗法的遷移を考慮するために使用されることは明らかである。
【００４５】
ケース２
【数２】
2009525687.tif 000004
ケース１と同様に、これらの重み付けパラメータに基づいて、現在のピクチャと比較した歪みメトリックスを計算し、これを本明細書では、ｓｕｍ＿ｄｉｆｆ＿ｗｏ０、ｉと呼ぶ。このケースは、加法的遷移を考慮したものである。
【００４６】
ケース３
また、予測サンプルに対して重み付け演算を実行しない重み付けパラメータ
【数３】
2009525687.tif 000005
および
【数４】
2009525687.tif 000006
も考慮する。現在のピクチャと比較した歪みメトリックスは、ｓｕｍ＿ｄｉｆｆ＿ｎｏｗｐ０、ｉではない。
【００４７】
双方向予測（Ｂスライス）については、いくつかの追加のケースおよびサブケースを考慮する。一方向予測の重みとの重要な違いは、リスト０およびリスト１の両方の参照について重み付けパラメータを計算しなければならず、両方の参照に重み付けすることの複合効果、ならびに暗示的重みの利用可能性を考慮しなければならないことである。より具体的には、最初に、リストｘ内の参照ｉに関する重み付けパラメータを以下のように計算する、以下のサブケースを考慮する。
【００４８】
サブケース１
【数５】
2009525687.tif 000007
ここで、ｗｘ、ｉは、この参照の重みであり、ｏｘ、ｉは、対応するオフセットである。これらの重み付けパラメータに基づいて、現在のピクチャと比較した歪みメトリックスを計算し、これを本明細書では、ｓｕｍ＿ｄｉｆｆ＿ｗｆｘ、ｉと呼ぶ。この歪みメトリックスについては、さらに後述する。このケースは、乗法的遷移を考慮するために使用される。
【００４９】
サブケース２
【数６】
2009525687.tif 000008
ケース１と同様に、これらの重み付けパラメータを使用して、現在のピクチャと比較した各参照の歪みメトリックスを計算し、これを本明細書では、ｓｕｍ＿ｄｉｆｆ＿ｗｏｘ、ｉと呼ぶ。このケースは、加法的遷移を考慮したものである。
【００５０】
サブケース３
また、予測サンプルに対して重み付け演算を実行しない重み付けパラメータ
【数７】
2009525687.tif 000009
および
【数８】
2009525687.tif 000010
も考慮する。現在のピクチャと比較した歪みメトリックスは、ｓｕｍ＿ｄｉｆｆ＿ｎｏｗｐｘ、ｉではない。
【００５１】
これらのサブケースでは、各リスト内の各参照に対する重み付けパラメータの選択を、その他の参照の影響を複合的に考慮せずに、一方向予測のケースと同様に行う。次に、この決定で選択された重み付けパラメータについて、複合的な重み最適化を考慮する第２のステップで考慮する。
【００５２】
特に、双方向予測では、以下のケースを考慮する。
【００５３】
ケース１
サブケース１からサブケース３から、両リストの
【数９】
2009525687.tif 000011
および
【数１０】
2009525687.tif 000012
を予め選択しておく。
【００５４】
ケース２
ケース２では、以下のように、ｗ０およびｗ１の計算によって複合的な相関を考慮する。
【数１１】
2009525687.tif 000013
【数１２】
2009525687.tif 000014
ここで、
【数１３】
2009525687.tif 000015
である。
【００５５】
β≦０である場合には、距離に基づく重み推定方法を使用する（暗示的重み）。重み付けオフセットは、０に設定される。
【００５６】
ケース３
重みを暗示的に計算する。
【００５７】
ケース４
重みを考慮しない。
【００５８】
上記の重み付け予測の候補の組を作成した後で、ＷＰパラメータに関する予備選択を行う。より詳細には、上述した可能な重み付けの候補（重み付けなし、暗示的重み付け、および明示的重み付けの方法）のそれぞれから、一方向予測では１組の係数／オフセットの組を、双方向予測では２組の係数／オフセットの組を得る。
【００５９】
一方向予測、および双方向予測のサブケースの考慮では、ヒストグラムの差に基づく歪みを使用する。
【数１４】
2009525687.tif 000016
【００６０】
上記の歪み（ｄｉｓｔｏｒｔｉｏｎ）は、動きが存在する場合にはかなりロバストになる傾向があり、それが、この計算を選択した理由である。この計算もまた、ＤＣ画像に基づいていてもよいし、複雑さを低減するためにサブサンプル画像（例えば水平方向および垂直方向にそれぞれＮ倍および／またはＭ倍）に基づいていてもよいことにも留意されたい。
【００６１】
次いで、このヒストグラム歪みを使用して、一方向予測という点で、どの方法が最も優れている可能性が高いかを判定する。ただし、本発明は、ヒストグラム歪みの使用のみに限定されず、従って、本発明の範囲を維持しながら、本発明の教示に従ってその他の歪みメトリックスを使用することもできることを理解されたい。例えば、このようなその他の歪みメトリックスの１つとしては、絶対差がある（ただしこれに限定されない）。現在の遷移をうまく検出できるかどうかによって選択することもできるが、ときにはＷＰを使用しない方が適当である可能性もあることを考慮して、重み付け歪みと比較するときには、異なる歪みの優先順位を考慮する。より詳細には、一方向予測の場合の適応選択は、以下の擬似コード（ならびに後述の図２の方法２００）で記述することができる。
／／ｃｏｍｐａｒｅ  ｗｅｉｇｈｔｓ  ｆｉｒｓｔ（ｏｆｆｓｅｔ  ｏｎｌｙ  ｍｅｔｈｏｄ  ｖｅｒｓｕｓ  ｗｅｉｇｈｔ  ｏｎｌｙ），
／／ｔｈｅｎ  ｓｅｌｅｃｔ  ｂｅｔｗｅｅｎ  ｎｏ  ｗｅｉｇｈｔｓ  ａｎｄ  ｗｅｉｇｈｔｓ
ｉｆ（ｓｕｍ＿ｄｉｆｆ＿ｗｆ＜＝ｓｕｍ＿ｄｉｆｆ＿ｗｏ）
｛
ｍｉｎ＿ｓｕｍ＿ｄｉｆｆ＝ｓｕｍ＿ｄｉｆｆ＿ｗｆ；
ｍｉｎ＿ｌｏｇ＿ｗｅｉｇｈｔ＿ｄｅｎｏｍ＝ｌｏｇ＿ｗｅｉｇｈｔ＿ｄｅｎｏｍ；
ｍｉｎ＿ｗｅｉｇｈｔ＿ｆａｃｔｏｒ＝ｗｅｉｇｈｔ＿ｆａｃｔｏｒ；
ｍｉｎ＿ｗｅｉｇｈｔ＿ｏｆｆｓｅｔ＝０；
｝
ｅｌｓｅ
｛
ｍｉｎ＿ｓｕｍ＿ｄｉｆｆ＝ｓｕｍ＿ｄｉｆｆ＿ｗｏ；
ｍｉｎ＿ｌｏｇ＿ｗｅｉｇｈｔ＿ｄｅｎｏｍ＝ｄｅｆａｕｌｔ＿ｌｏｇ＿ｗｅｉｇｈｔ＿ｄｅｎｏｍ；
ｍｉｎ＿ｗｅｉｇｈｔ＿ｆａｃｔｏｒ＝ｄｅｆａｕｌｔ＿ｗｅｉｇｈｔ；
ｍｉｎ＿ｗｅｉｇｈｔ＿ｏｆｆｓｅｔ＝ｗｅｉｇｈｔ＿ｏｆｆｓｅｔ；
｝
ｄｏｕｂｌｅ  ｄｅｌｔａ＿ｗｐ＝０．０５；
ｉｆ（ｔｈｅ  ｓｅｑｕｅｎｃｅ  ｉｓ  ａ  ｆａｄｅ）
ｃｏｎｄ＝ｓｕｍ＿ｄｉｆｆ＿ｎｏｗｐ＜（ｉｎｔ）（（０．７５＋ｄｅｌｔａ＿ｗｐ＊ｒｅｆ＿ｉｎｄ）＊（ｄｏｕｂｌｅ）ｍｉｎ＿ｓｕｍ＿ｄｉｆｆ＋０．５）；
ｅｌｓｅ
ｃｏｎｄ＝（ｉｎｔ）（０．９＊（ｄｏｕｂｌｅ）ｓｕｍ＿ｄｉｆｆ＿ｎｏｗｐ）＜ｍｉｎ＿ｓｕｍ＿ｄｉｆｆ；
ｉｆ（ｃｏｎｄ）
｛
ｍｉｎ＿ｓｕｍ＿ｄｉｆｆ＝ｓｕｍ＿ｄｉｆｆ＿ｎｏｗｐ；
ｍｉｎ＿ｌｏｇ＿ｗｅｉｇｈｔ＿ｄｅｎｏｍ＝ｄｅｆａｕｌｔ＿ｌｏｇ＿ｗｅｉｇｈｔ＿ｄｅｎｏｍ；
ｍｉｎ＿ｗｅｉｇｈｔ＿ｆａｃｔｏｒ＝ｄｅｆａｕｌｔ＿ｗｅｉｇｈｔ；
ｍｉｎ＿ｗｅｉｇｈｔ＿ｏｆｆｓｅｔ＝０；
｝
ｅｌｓｅ
｛
ｌｏｇ＿ｗｅｉｇｈｔ＿ｄｅｎｏｍ＝ｍｉｎ＿ｌｏｇ＿ｗｅｉｇｈｔ＿ｄｅｎｏｍ；
ｗｅｉｇｈｔ＿ｆａｃｔｏｒ＝ｍｉｎ＿ｗｅｉｇｈｔ＿ｆａｃｔｏｒ；
ｗｅｉｇｈｔ＿ｏｆｆｓｅｔ＝ｍｉｎ＿ｗｅｉｇｈｔ＿ｏｆｆｓｅｔ；
｝
【００６２】
同様に、双方向予測では、可能な予測対のそれぞれに対して、以下の歪みを計算する。
一方向予測では、
【数１５】
2009525687.tif 000017
双方向予測では、
【数１６】
2009525687.tif 000018
【００６３】
この新しい歪みに基づいて、次に、以下のように、使用する重み付け予測方法を決定することができる。
Ｉｆ  ｔｈｅ  ｓｅｑｕｅｎｃｅ  ｉｓ  ｎｏｔ  ａ  ｆａｄｅ  ｏｒ  ｃｒｏｓｓ−ｆａｄｅ，
｛
Ｆｏｒ  ｓｉｎｇｌｅ  ｐｒｅｄｉｃｔｉｏｎ，
Ｎｏ  ｗｅｉｇｈｔｉｎｇ（ｗ＝１，ｏ＝０）
Ｆｏｒ  ｂｉ−ｐｒｅｄｉｃｔｉｏｎ，
Ｉｆ（ｄｉｓｔｏｒｔｉｏｎｉｍｐ≦ａ＊ｄｉｓｔｏｒｔｉｏｎｎｏｗｐ）
Ｉｍｐｌｉｃｉｔ  ｗｅｉｇｈｔｉｎｇ
Ｅｌｓｅ
Ｎｏ  ｗｅｉｇｈｔｉｎｇ
｝
Ｅｌｓｅ
｛
Ｆｏｒ  ｓｉｎｇｌｅ  ｐｒｅｄｉｃｔｉｏｎ，
Ｉｆ（ｄｉｓｔｏｒｔｉｏｎｅｘｐ２≦ｂ＊ｍｉｎ（ｄｉｓｔｏｒｔｉｏｎｎｏｗｐ，ｄｉｓｔｏｒｔｉｏｎｅｘｐ１））
Ｅｘｐｌｉｃｉｔ  ｗｅｉｇｈｔｉｎｇ  ｍｅｔｈｏｄ  ２
Ｅｌｓｅ  ｉｆ（ｄｉｓｔｏｒｔｉｏｎ  ｅｘｐ１≦ｄｉｓｔｏｒｔｉｏｎｎｏｗｐ）
Ｅｘｐｌｉｃｉｔ  ｗｅｉｇｈｔｉｎｇ  ｍｅｔｈｏｄ  １
Ｅｌｓｅ
Ｎｏ  ｗｅｉｇｈｔｉｎｇ
Ｆｏｒ  ｂｉ−ｐｒｅｄｉｃｔｉｏｎ，
Ｉｆ（ｄｉｓｔｏｒｔｉｏｎｃａｓｅ２＜ｃ＊ｍｉｎ（ｄｉｓｔｏｒｔｉｏｎＮｏＷ，ｄｉｓｔｏｒｔｉｏｎＩｍｐ，ｄｉｓｔｏｒｔｉｏｎｃａｓｅ１））
Ｅｘｐｌｉｃｉｔ  ｗｅｉｇｈｔｉｎｇ  ｍｅｔｈｏｄ  ｃａｓｅ  ２
Ｅｌｓｅ  ｉｆ（ｄｉｓｔｏｒｔｉｏｎ  ｃａｓｅ１≦ｄ＊ｍｉｎ（ｄｉｓｔｏｒｔｉｏｎＮｏＷ，ｄｉｓｔｏｒｔｉｏｎＩｍｐ））
Ｅｘｐｌｉｃｉｔ  ｗｅｉｇｈｔｉｎｇ  ｍｅｔｈｏｄ  ｃａｓｅ  １
Ｅｌｓｅ  ｉｆ（ｄｉｓｔｏｒｔｉｏｎＩｍｐ≦ｅ＊ｄｉｓｔｏｒｔｉｏｎＮｏＷ）
Ｉｍｐｌｉｃｉｔ  ｗｅｉｇｈｔｉｎｇ
Ｅｌｓｅ
Ｎｏ  ｗｅｉｇｈｔｉｎｇ
｝
【００６４】
前述の擬似コードにおいて、ａ、ｂ、ｃ、ｄおよびｅが、それぞれの重み付け方法ごとに割り当てようとする可能性がある優先順位による重み係数である。より詳細には、試験に使用した本発明の１実施形態では、ａ＝０．７５、ｂ＝ｃ＝０．８、ｄ＝ｅ＝０．９５を用いたが、他の値を使用してもよい。例えば、遷移検出アルゴリズムを使用しない場合には、性能をそれほど損なうことなく通常モードまたは暗示モードにさらに高い優先順位を与えるように、これらの値を改変することもできる。この手法については、図３を参照して以下で述べる。
【００６５】
方法２の重みは、組み合わせた参照からの動き推定ならびに最終的なモード決定および符号化の間に考慮されることに留意されたい。通常の参照からの動き推定は、３つのその他の方法のうち最良の方法を使用して行うことができる。
【００６６】
さらなる重み付け予測候補を推定し、それにより重み付け予測のために考慮できる潜在的ケースの数を増やすために、以前に開発された任意の重み付け予測推定方法（例えばヒストグラム手法、反復的手法など）も使用することもできることを理解されたい。
【００６７】
図２を参照すると、一方向予測の場合の最良の重み付け予測方法を選択する例示的な方法の全体を、参照番号２００で示してある。方法２００は、制御を機能ブロック２１０に渡す開始ブロック２０５を含む。機能ブロック２１０では、重みｓｕｍ＿ｄｉｆｆ＿ｗｏ、ｓｕｍ＿ｄｉｆｆ＿ｗｆおよびｓｕｍ＿ｄｉｆｆ＿ｎｏｗｐを計算し、制御を判定ブロック２１５に渡す。判定ブロック２１５では、ｓｕｍ＿ｄｉｆｆ＿ｗｏがｓｕｍ＿ｄｉｆｆ＿ｗｆ未満であるか否かを判定する。ｓｕｍ＿ｄｉｆｆ＿ｗｏがｓｕｍ＿ｄｉｆｆ＿ｗｆ未満である場合には、制御は機能ブロック２２０に移る。そうでない場合には、制御は機能ブロック２２５に移る。
【００６８】
機能ブロック２２０では、ｂｅｓｔ＿ｍｏｄｅをオフセットに設定し、ｂｅｓｔ＿ｓｕｍをｓｕｍ＿ｄｉｆｆ＿ｗｏに設定し、制御を判定ブロック２３０に渡す。
【００６９】
機能ブロック２２５では、ｂｅｓｔ＿ｍｏｄｅを重みに設定し、ｂｅｓｔ＿ｓｕｍをｓｕｍ＿ｄｉｆｆ＿ｗｆに設定し、制御を判定ブロック２３０に渡す。
【００７０】
判定ブロック２３０では、ｂｅｓｔ＿ｓｕｍがＴｓ＊ｓｕｍ＿ｄｉｆｆ＿ｎｏｗｐ未満であるか否かを判定する。ｂｅｓｔ＿ｓｕｍがＴｓ＊ｓｕｍ＿ｄｉｆｆ＿ｎｏｗｐ未満である場合には、制御は２４０に移る。そうでない場合には、制御は２３５に移る。
【００７１】
機能ブロック２３５では、ｂｅｓｔ＿ｍｏｄｅをｎｏｗｐに設定し、ｂｅｓｔ＿ｓｕｍをｓｕｍ＿ｄｉｆｆ＿ｎｏｗｐに設定し、制御を終了ブロック２４０に渡す。
【００７２】
図３を参照すると、一方向予測および双方向予測の場合の最良の重み付け予測方法を選択する例示的な方法の全体を、参照番号３００で示してある。
【００７３】
方法３００は、制御を機能ブロック３１０に渡す開始ブロック３０５を含む。機能ブロック３１０では、重みおよび歪みを計算し、制御を判定ブロック３１５に渡す。判定ブロック３１５では、シーン遷移がｆａｄｅまたはｃｒｏｓｓ＿ｆａｄｅであるか否かを判定する。ｆａｄｅまたはｃｒｏｓｓ＿ｆａｄｅである場合には、制御は機能ブロック３２５に移る。そうでない場合には、制御は判定ブロック３２０に移る。
【００７４】
判定ブロック３２５では、双方向予測を使用するか否かを判定する。双方向予測を使用する場合には、制御は機能ブロック３３５に移る。そうでない場合には、制御は判定ブロック３４０に移る。
【００７５】
判定ブロック３３５では、ｄｉｓｔｃａｓｅ２＜ｃ＊ｍｉｎ（ｄｉｓｔｎｏｗｐ、ｄｉｓｔｉｍｐ、ｄｉｓｔｃａｓｅ１）であるか否かを判定する。ｄｉｓｔｃａｓｅ２＜ｃ＊ｍｉｎ（ｄｉｓｔｎｏｗｐ、ｄｉｓｔｉｍｐ、ｄｉｓｔｃａｓｅ１）である場合には、制御は機能ブロック３６０に移る。そうでない場合には、制御は判定ブロック３５０に移る。
【００７６】
判定ブロック３６０では、ｂｅｓｔ＿ｍｏｄｅをｅｘｐ＿ｍｏｄｅ２に設定し、制御を終了ブロック３８０に渡す。
【００７７】
判定ブロック３５０では、ｄｉｓｔｃａｓｅ１＜ｄ＊ｍｉｎ（ｄｉｓｔｎｏｗｐ、ｄｉｓｔｉｍｐ）であるか否かを判定する。ｄｉｓｔｃａｓｅ１＜ｄ＊ｍｉｎ（ｄｉｓｔｎｏｗｐ、ｄｉｓｔｉｍｐ）である場合には、制御は機能ブロック３６５に移る。そうでない場合には、制御は判定ブロック３５５に移る。
【００７８】
機能ブロック３６５では、ｂｅｓｔ＿ｍｏｄｅをｅｘｐ＿ｍｏｄｅ１に設定し、制御を終了ブロック３８０に渡す。
【００７９】
判定ブロック３５５では、ｄｉｓｔｉｍｐ＜ｅ＊ｄｉｓｔｎｏｗｐであるか否かを判定する。ｄｉｓｔｉｍｐ＜ｅ＊ｄｉｓｔｎｏｗｐである場合には、制御は機能ブロック３７５に移る。そうでない場合には、制御は機能ブロック３７０に移る。
【００８０】
機能ブロック３７５では、ｂｅｓｔ＿ｍｏｄｅをｉｍｐｌｉｃｉｔに設定し、制御を終了ブロック３８０に渡す。
【００８１】
機能ブロック３７０では、ｂｅｓｔ＿ｍｏｄｅをｎｏｗｐに設定し、制御を終了ブロック３８０に渡す。
【００８２】
判定ブロック３２０では、双方向予測を使用するか否かを判定する。双方向予測を使用する場合には、制御は判定ブロック３３０に移る。そうでない場合には、制御は機能ブロック３７０に移る。
【００８３】
判定ブロック３３０では、ｄｉｓｔｉｍｐ＜ａ＊ｄｉｓｔｎｏｗｐであるか否かを判定する。ｄｉｓｔｉｍｐ＜ａ＊ｄｉｓｔｎｏｗｐである場合には、制御は機能ブロック３７５に移る。そうでない場合には、制御は機能ブロック３７０に移る。
【００８４】
判定ブロック３４０では、ｄｉｓｔｅｘｐ２＜ｂ＊ｍｉｎ（ｄｉｓｔｎｏｗｐ、ｄｉｓｔｅｘｐ１）であるか否かを判定する。ｄｉｓｔｅｘｐ２＜ｂ＊ｍｉｎ（ｄｉｓｔｎｏｗｐ、ｄｉｓｔｅｘｐ１）である場合には、制御は機能ブロック３６０に移る。そうでない場合には、制御は判定ブロック３４５に移る。
【００８５】
判定ブロック３４５では、ｄｉｓｔｅｘｐ１＜ｄｉｓｔｎｏｗｐであるか否かを判定する。ｄｉｓｔｅｘｐ１＜ｄｉｓｔｎｏｗｐである場合には、制御は機能ブロック３６５に移る。そうでない場合には、制御は機能ブロック３７０に移る。
【００８６】
以下、その一部は既に上述したが、本発明の多くの付加的な利点／特徴のいくつかについて説明する。例えば、１つの利点／特徴は、１組の重み付けパラメータを導出することによってピクチャを符号化し、選択基準に基づいて前記１組の重み付けパラメータのうちの少なくとも１つの重み付けパラメータを選択し、前記選択した少なくとも１つの重み付けパラメータを、前記ピクチャを符号化するために使用される参照ピクチャに適用するエンコーダを含む装置である。別の利点／特徴は、上記のエンコーダを含む装置であって、前記エンコーダが、前記１組の重み付けパラメータのうちの前記少なくとも１つの重み付けパラメータを、前記１組の重み付けパラメータのそれぞれを用い、且つ速度歪み最適化を用いた前記ピクチャの完全符号化に基づいて選択する装置である。さらに別の利点／特徴は、上記の速度歪み最適化を用いるエンコーダを有する装置であって、前記速度歪み最適化がラグランジュの乗数法を用いて実行される装置である。
【００８７】
さらに、別の利点／特徴は、上記のエンコーダを有する装置であって、前記エンコーダが、前記少なくとも１つの重み付けパラメータを、歪みメトリックの計算に基づいて選択する装置である。さらに、別の利点／特徴は、上記の歪みメトリックの計算に基づいて前記少なくとも１つの重み付けパラメータを選択するエンコーダを有する装置であって、前記歪みメトリックが、前記ピクチャと重み付け参照ピクチャの間の絶対ピクチャ差として計算される装置である。また、別の利点／特徴は、上記の歪みメトリックの計算に基づいて前記少なくとも１つの重み付けパラメータを選択するエンコーダを有する装置であって、前記歪みメトリックが、前記ピクチャのヒストグラムと重み付け参照ピクチャのヒストグラムの間の差として計算される装置である。さらに、別の利点／特徴は、前記の歪みメトリックの計算に基づいて前記少なくとも１つの重み付けパラメータを選択するエンコーダを有する装置であって、前記エンコーダが、ヒストグラム方法、ピクチャ平均、線形回帰、変位差および反復的方法のうちの少なくとも１つを使用して、前記ピクチャの明示的重み付けパラメータを推定する装置である。
【００８８】
さらに別の利点／特徴は、上記のエンコーダを有する装置であって、前記エンコーダが、歪み特性付けに基づいて前記ピクチャを符号化するための最適な重み付け方法も選択し、前記最適な重み付け方法が、非重み付け予測方法、明示的重み付け予測方法および暗示的重み付け予測方法の中から選択され、それらの方法がそれぞれ前記重み付けパラメータの組に含まれる装置である。さらに、別の利点／特徴は、上記の最適な重み付け方法も選択するエンコーダを有する装置であって、前記歪み特性付けが、リスト０およびリスト１の参照ピクチャの両方に基づいて計算された双方向予測歪みを含む装置である。また、別の利点／特徴は、上記の最適な重み付け方法も選択するエンコーダを有する装置であって、前記エンコーダが、少なくとも１つの遷移検出方法を使用して前記ピクチャを符号化するための前記最適な重み付け方法を選択する装置である。
【００８９】
本発明の以上その他の特徴および利点は、当業者なら本明細書の教示に基づいて容易に確認することができる。本発明の教示は、ハードウェア、ソフトウェア、ファームウェア、特殊目的プロセッサまたはそれらの組合せの様々な形態で実施することができることを理解されたい。
【００９０】
本発明の教示は、ハードウェアとソフトウェアの組合せとして実施されることがより好ましい。さらに、ソフトウェアは、プログラム記憶装置に実装されたアプリケーション・プログラムとして実施されることが好ましい。アプリケーション・プログラムは、任意の適当なアーキテクチャを有するマシンにアップロードして実行することができる。このマシンは、１つまたは複数の中央処理装置（「ＣＰＵ」）、ランダム・アクセス・メモリ（「ＲＡＭ」）および入出力（「Ｉ／Ｏ」）インタフェースなどのハードウェアを有するコンピュータ・プラットフォームに実装されることが好ましい。コンピュータ・プラットフォームは、オペレーティング・システムおよびマイクロ命令コードを含むこともできる。本明細書に記載の様々なプロセスおよび機能は、ＣＰＵが実行することができる、マイクロ命令コードの一部またはアプリケーション・プログラムの一部あるいはそれらの任意の組合せとすることもできる。さらに、追加のデータ記憶装置や印刷装置など、その他の様々な周辺機器をコンピュータ・プラットフォームに接続することもできる。
【００９１】
さらに、添付の図面に示すシステム構成要素および方法の一部はソフトウェアで実施することが好ましいので、システム構成要素間またはプロセス機能ブロック間の実際の接続形態は、本発明を実施する方法によって変わることがあることを理解されたい。本明細書の教示があれば、当業者なら、上記の、またそれに類する本発明の実施態様または構成を思いつくことができるであろう。
【００９２】
本明細書では添付の図面を参照しながら例示的な実施形態について説明したが、本発明はこれらの具体的な実施形態に限定されるものではなく、当業者なら、本発明の趣旨または範囲を逸脱することなく様々な変更および修正を加えることができることを理解されたい。これらの変更および修正は全て、添付の特許請求の範囲に記載する本発明の範囲に含まれるものとする。
【図面の簡単な説明】
【００９３】
【図１】本発明の一実施形態による、本発明を適用することができる、重み推定を行う例示的なビデオ・エンコーダを示す図である。
【図２】本発明の一実施形態による、一方向予測の場合の最良の重み付け予測方法を選択する例示的な方法を示す図である。
【図３】本発明の一実施形態による、一方向予測および双方向予測の場合の最良の重み付け予測方法を選択する例示的な方法を示す図である。
【図１】
2009525687.tif 000019
【図２】
2009525687.tif 000020
【図３】
2009525687.tif 000021
【国際調査報告】
2009525687.tif 000022
2009525687.tif 000023
2009525687.tif 000024