(57)【要約】      （修正有）【課題】参照画像を使用するビデオの符号化および復号化を図る。【解決手段】画像符号化において、参照画像のリストを復号に使用されるように構成する。予測モードを、ｎタプル（ｘ０，ｘ１，．．，ｘＭ−１）により定義し、ｘｍは、運動ベクトル場ｍ＝０、．．、Ｍ−１のｍ番目のコンポーネントの予測オプションを指定し、動き場に対してＭ個のコンポーネントが存在し、符号化オプションｘｍは、動き予測モードおよび参照画像インデックスの全ての定義された組合せから構成される組の要素に、オプション「／」、ｘｍ∈｛”／”，０，１，．．，ｒｍ−１｝を加えたものであり、オプション「／」は、コンポーネントの不使用を指定し、他のオプション０、１、．．．、ｒｍ−１は、ｒｍ個の組合せの１つを指定する。全ての可能なｎタプルのサブセットが提供され、インター符号化ブロックの予測に使用する予測モードは、そのサブセットへの参照により定義される。【選択図】図２
2013013074.tif 000002
【特許請求の範囲】
【請求項１】
動き補償された(motion compensated)動き予測(motion prediction)を使用して、画像のシーケンスを定義するビデオデータを符号化する方法であって、
復号化に使用される参照画像(references pictures)のリストを構成する(constructing)ステップと、
ｎタプル(n-tuples)（ｘ０，ｘ１，．．．，ｘＭ−１）を構成することによって予測(prediction)（方向(direction)）モード(modes)を定義するステップであって、ｘｍは、運動ベクトル場(motion vector field)即ちｍ＝０、．．．、Ｍ−１のｍ番目のコンポーネントの予測オプション(prediction option)を指定し、前記動き場に対してＭ個のコンポーネントが存在し、符号化オプションｘｍは、動き予測モードおよび参照画像インデックス(indices)のすべての定義された(defined)組み合わせから構成される組の要素に、オプション「／」、ｘｍ∈｛”／”，０，１，．．．，ｒｍ−１｝を加えたものであり、オプション「／」は、前記コンポーネントが使用されないことを指定し、他のオプション０、１、．．．、ｒｍ−１は、ｒｍ個の組み合わせの１つを指定するステップと、
すべての可能なｎタプルの組のＴ個のｎタプルのサブセットを提供するステップと、
前記ｎタプルへの参照によってインター符号化(coded)ブロックを予測するために使用する予測モードを定義するステップと
を含む方法。
【請求項２】
運動ベクトル場コンポーネントｍに対して１つの運動(motion)ベクトル予測モードだけが許可され、前記予測オプションは、参照画像の選択によって決定され、ｒｍは、運動ベクトル場コンポーネントｍに利用できる参照画像の数である請求項１に記載の方法。
【請求項３】
前記サブセットのｎタプルが符号化される順序は、シンボルｓ＝｛ｓ０，．．．，ｓＴ−１｝の事前に定義された組へのマッピングを決定し、より短いシンボルは、より低い(lower order)予測モードに割り当てられることが好ましい請求項１または２に記載の方法。
【請求項４】
Ｔ個のｎタプルの前記サブセットは、ｎタプルの前記サブセットのサイズＴを符号化することによって提供され、その後に、各ｎタプルの自動派生(automatic derivation)または明示的な信号伝送(explicit signalling)が行われ、ｘ０、ｘ１、．．．、ｘＭ−１は、各ｎタプルに対して符号化されるのが好ましく、ｎタプルｔ（ｔ＝０，．．．，Ｔ−１）は、予測（方向）モードのシンボルｓｔにマッピングされ、好ましくは、ｎタプルジェネレータは、
ｎタプルにおける前記参照画像の重み付けされた時間距離(weighted temporal distance)、
ｎタプルにおける参照画像の時間方向(temporal direction)、および
ｎタプルにおける「／」でないエントリの数
のいずれか１つ以上に基づいて前記順序を計算することによってＴ個のｎタプルを生成する
請求項２または３に記載の方法。
【請求項５】
前記予測モードは、前記現在定義されている位置に対するそれらの相対的運動位置(relative movement position)を符号化することによって再順序付けされる(reordered)前記請求項のいずれか１項に記載の方法。
【請求項６】
明示的に(explicitly)信号伝送されるｎタプルの組は、ビデオビットストリームの画像またはスライス(slice)とは別にパケットで指定され、前記現在の画像のアクティブな組を指定するときに参照される前記請求項のいずれか１項に記載の方法。
【請求項７】
動き補償された動き予測を使用して、画像のシーケンスを定義するビデオデータを復号化する方法であって、
すべての可能なｎタプル（ｘ０，ｘ１，．．．，ｘＭ−１）の組のＴ個のｎタプルのサブセットを構成するステップであって、ｘｍは、前記運動ベクトル場ｍ＝０、．．．、Ｍ−１のｍ番目のコンポーネントの予測オプションを指定し、前記動き場に対してＭ個のコンポーネントが存在し、符号化オプションｘｍは、動き予測モードおよび参照画像インデックスのすべての定義された組み合わせから構成される組の要素に、オプション「／」、ｘｍ∈｛”／”，０，１，．．．，ｒｍ−１｝を加えたものであり、オプション「／」は、前記コンポーネントが使用されないことを指定し、他のオプション０、１、．．．、ｒｍ−１は、ｒｍ個の組み合わせの１つを指定するステップと、
前記ｎタプルへの参照によってインター符号化ブロックを予測するために使用する予測モードを復号化するステップと
を含む方法。
【請求項８】
運動ベクトル場コンポーネントｍに対して１つの運動ベクトル予測モードだけが許可され、前記予測オプションは、参照画像の選択によって決定され、ｒｍは、運動ベクトル場コンポーネントｍに利用できる参照画像の数である請求項７に記載の方法。
【請求項９】
前記サブセットの前記ｎタプルが符号化される順序は、シンボルｓ＝｛ｓ０，．．．，ｓＴ−１｝の事前に定義された組へのマッピングを決定し、より短いシンボルは、より低い予測モードに割り当てられることが好ましい請求項７または８に記載の方法。
【請求項１０】
Ｔ個のｎタプルの前記サブセットは、ｎタプルの前記サブセットのサイズＴを復号化することによって構成され、その後に、自動派生または各ｎタプルの明示的な信号伝送が行われ、ｘ０、ｘ１、．．．、ｘＭ−１は、各ｎタプルに対して復号化されるのが好ましく、ｎタプルｔ（ｔ＝０，．．．，Ｔ−１）は、予測（方向）モードのシンボルｓｔにマッピングされ、好ましくは、Ｔ個のｎタプルは、
ｎタプルにおける前記参照画像の重み付けされた時間距離、
ｎタプルにおける参照画像の時間方向、および
ｎタプルにおける「／」でないエントリの数
のいずれか１つ以上に基づいて前記順序を計算することによって得られる
請求項８または９に記載の方法。
【請求項１１】
前記予測モードは、前記現在定義されている位置に対するそれらの相対的運動位置を符号化することによって再順序付けされる請求項７から１０のいずれか１項に記載の方法。
【請求項１２】
明示的に信号伝送されたｎタプルの組は、前記画像またはビデオビットストリームのスライスとは別にパケットで指定され、前記現在の画像のアクティブな組を指定するときに参照される請求項７から１１のいずれか１項に記載の方法。
【請求項１３】
プログラム可能な手段に、前記請求項のいずれか１項に記載の方法を実装させる命令を含むコンピュータプログラム製品。
【請求項１４】
請求項１から６のいずれか１項に従って動作するように適応および構成されたビデオエンコーダ。
【請求項１５】
請求項７から１２のいずれか１項に従って動作するように適応および構成されたビデオデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオの符号化および復号化に関する。
【背景技術】
【０００２】
ビデオシーケンスの伝送および記憶は、テレビ放送、インターネットでのビデオストリーミングサービス、およびビデオ会議など、多数の用途で使用されている。
未加工の形式のビデオシーケンスは、表現するために極めて大量のデータ必要とする。シーケンスの各秒が何十もの個別のフレームから構成されていて、各フレームは、典型的には少なくとも１ピクセルが８ビットで表現され、各フレームは、数百または何千のピクセルを必要としているからである。伝送および記憶のコストを最小限にするために、未加工のビデオデータに対して画像圧縮が使用される。その目的は、可能な限り小さな容量、つまり、可能な限り少ないビット数でオリジナルの情報を表現することである。ビデオシーケンスを表現するために必要な容量を減らすと、圧縮されたシーケンスのビデオ品質、つまり、圧縮されていないオリジナルのビデオシーケンスとの類似性に影響がある。
【０００３】
ＡＶＣ／Ｈ．２６４など、最先端ビデオエンコーダでは、圧縮したビデオシーケンスのビデオ品質を希望するレベルに維持しながら、画像圧縮を最大限に達成するために、予測、変換、量子化、およびエントロピー符号化という４つの主なプロセスを利用する。
【０００４】
予測プロセスは、データを表現するのに必要な容量を大幅に減らすために、ビデオシーケンスに見られる時間的および空間的な冗長性を利用する。データを予測するために使用されるメカニズムは、エンコーダおよびデコーダの両方に認識される。したがって、オリジナル信号を再構築するためにデコーダに、エラー信号、すなわち残余だけを送信しなければならない。このプロセスは、典型的には、フレーム全体ではなくデータのブロック（たとえば８ｘ８ピクセル）に対して実行される。予測は、典型的には、すでに再構築されたフレームまたは同じフレームに属するピクセルのブロックに対して実行される。すでに構成されたフレームに対する予測は動き補償され、より良い予測を提供するために選択された時間形式のフレームにおいて順方向または逆方向に運動ベクトルを使用することができる。運動ベクトルは自体は、予測符号化することができる。
【０００５】
変換プロセスは、残余信号に存在する相関性を利用することを目的としている。これは、信号のエネルギーを少数の係数に集中させることにより行われる。したがって、変換係数は、典型的には、残余のピクセルより少ないビットを表現する必要がある。Ｈ．２６４では、離散コサイン変換（ＤＣＴ）に基づいて、４ｘ４および８ｘ８の整数型変換を使用する。
【０００６】
変換プロセスのアウトプットにおいてデータを表現するのに必要な容量は、多数の用途においてまだ大きすぎる可能性がある。さらに、希望するレベルの圧縮信号の容量を達成するために、変換プロセスを変更することは可能ではない。量子化プロセスは、信号を表現するために必要な容量をさらに減らすことを可能にすることによって、それを処理する。このプロセスは破壊的であること、つまり、再構築されたシーケンスは、オリジナルとは異なって見えることに注意されたい。変換プロセスへのアウトプットの信号に利用可能な値の範囲は、時間間隔に分割され、量子化値が割り当てられる。次に、変換係数は、それらがどの量子化の時間間隔に該当するかに基づいて、量子化値を割り当てられる。
【０００７】
エントロピー符号化プロセスは、量子化された０でない変換係数をすべて取り、効率的に表現されるようにこれらの変換係数をビットのストリームへと処理する。これには、圧縮されたビデオシーケンスを表現するのに必要な容量を最小限にするために、特定の順序で変換係数を読み取る、つまりスキャンすることが必要である。
【０００８】
上記の記述はビデオエンコーダに当てはまる。ビデオデコーダは、上記のプロセスをすべてほぼ逆順に実行する。特に、デコーダ側の変換プロセスには、エンコーダで使用されている逆変換を使用することが必要となる。同様に、エントロピー符号化はエントロピー復号化になり、量子化プロセスはスケーリングになる。予測プロセスは、典型的には、エンコーダおよびデコーダの両方でまったく同じ方法で実行される。
【０００９】
本発明は、符号化および復号化のプロセスの予測部分に関する。
動き補償予測の主な側面は、参照画像の管理である。参照画像とは、その後の符号化された画像の予測に使用できる可能性がある、以前に符号化された画像である。
【００１０】
既存の方式では、これらの参照画像は、動き補償のために、単一の画像の予測（Ｐ）符号化の場合には単一のリスト（単一予測符号化（ｕｎｉｐｒｅｄｉｃｔｉｖｅ  ｃｏｄｉｎｇ）とも呼ぶ）または２つの画像の重予測（Ｂ）符号化（ｂｉｐｒｅｄｉｃｔｉｖｅ（Ｂ）ｃｏｄｉｎｇ）の場合には２つのリストへと整理される。リストは、一般的に、Ｌ０（リスト０）およびＬ１（リスト１）と呼ばれる。Ｌ０およびＬ１の構成により、予測に利用できる参照画像の選択肢が決定される。ここで１つのリストから１つ参照を選択するとＰ予測へとつながり、２つのリストのそれぞれから１つの参照を選択して、１ペアを選択するとＢ予測へとつながる。重予測動き補償は、異なる時間方向（過去および未来）からの画像から予測するために使用されるだけでなく、同じ方向からの２つの参照画像から予測するためにも使用されることに注意すること。各リスト内の構成および順序は、通常、ビデオビットストリームのスライスヘッダにおいて信号で送られ、これにより、動き補償のために参照画像を選択する際に利用できる選択肢が決定される。
【００１１】
符号化のどの段階を実行するかによって、参照画像は通常、リストＬ０またはＬ１の１つのインデックスによって（これら２つのリストでは、両方のリストに同じ画像が存在する場合、それらは異なるインデックスを持つことができる）または画像順カウント（ＰＯＣ：Ｐｉｃｔｕｒｅ  Ｏｒｄｅｒ  Ｃｏｕｎｔ）番号によって（通常、表示されることが推測される（必ずしも符号化されていない）順に対応する）特定される。ここでは、より簡単に表現するために、インデックスの割り当てに特定のルールを指定することなく、これらをＲｒｅｆｉｄｘとして一意に特定する。ここで、ｒｅｆｉｄｘ＝０、．．．、ｒ−１であり、ここでｒは、特定の現在の画像に対して利用可能な参照画像の数である。
【００１２】
リストＬ０およびＬ１から画像を選択するための例を以下に提供する。Ｌ０およびＬ１がそれぞれ２つの要素に限定されている場合、および２つの参照Ｒ０およびＲ１だけがあり（つまりｒ＝２）、現在の画像から見て、その１つが過去で他方が未来である場合、リストは、一般的にＬ０＝｛０，１｝およびＬ１＝｛１，０｝に設定されるだろう（リストに一意の参照インデックスが含まれるように、上に定義した表記法を使用する）。そのとき、動き補償のために画像を選択するプロセスを図１に示す。重予測の場合は、４つの選択肢を利用することができ（Ｌ０に２つの画像、Ｌ１に２つの画像）、単一予測の場合は、Ｌ０だけが使用されるため２つの選択肢がある。
【００１３】
重予測動き補償モードの画像の選択は、一般的に、最初に重予測または単一予測のモードの選択、次に対応するリストの選択された各画像のインデックス（重予測には、最初にＬ０、次にＬ１、または単一予測にはＬ０だけ）を符号化することによって信号で送られる。単一予測モードは２進数の０を用いて、重予測モードは２進数の１を用いて信号で送られる場合、すべての選択肢に対応するコードワードを表１に示す。２つの選択肢（「重−Ｒ０およびＲ１から」および「重−Ｒ１およびＲ０から」）は、異なる順序での同じ画像の選択から構成されていることに注意すること。
【００１４】
【表１】
2013013074.tif 000003
【００１５】
重予測運動は、２つのコンポーネント（ここではＭｖｆ０およびＭｖｆ１と示す）からなる運動ベクトル（ＭＶ）場を用いて記述され、重予測された画像ブロックＢに対して、２つの運動ベクトルＭｖｆ０（Ｂ）およびＭｖｆ１（Ｂ）が割り当てられる。Ｍｖｆ０の運動ベクトルはＬ０の参照を指し、Ｍｖｆ１の運動ベクトルはＬ１の参照を指す。
【００１６】
各運動ベクトルは、その予測値へと別々に符号化される。予測値は、様々な方法で得ることができる。一般的な方法の１つは、高度な運動ベクトル予測（ＡＭＶＰ：Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）として知られている運動ベクトル競合（ＭＶＣ：Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｃｏｍｐｅｔｉｔｉｏｎ）であり、予測値候補のリストは、事前に定義された順序で以前に処理されたブロックの運動ベクトルを収集することにより構成される。最小の符号化コスト基準に基づいて、エンコーダは、次に予測値の１つを選択し、ビットストリームで（予測値のリストから）そのインデックスを伝送する。選択された予測値と現在符号化されているベクトルの差分は、次にビットストリームに符号化される。
【００１７】
以下に、動き補償のために予測の方向を選択する際の選択肢間の違いを示し、本発明につながる形式化の導入に役立つ２つの例を挙げる。例では、明瞭さのために重予測の場合だけを考慮することに注意されたい。
例１
図２に示すように、現在のブロックＢの運動を予測するために、以前に処理された異なる隣接する運動ベクトルを使用することができる。この例では、これらは３つの隣接するブロックからの５つの運動ベクトルである：Ｍｖｆ０（Ｂｕｐ）、Ｍｖｆ１（Ｂｕｐ）、Ｍｖｆ０（Ｂｌｅｆｔ）、Ｍｖｆ１（Ｂｌｅｆｔ）、およびＭｖｆ０（Ｂｃｏｒｎｅｒ）。
【００１８】
運動ベクトルの予測は、一般的に、運動ベクトル場の現在予測されているコンポーネントに適応されるため、運動ベクトルＭｖｆ０（Ｂ）について、運動ベクトル予測値（ＭＶＰ）候補のリストは、一般的に、運動ベクトルＭｖｆ１（Ｂ）の場合とは異なる。運動ベクトル予測のこの特性は、これら２つを２つの運動ベクトル予測モードと呼ぶことによって、ここで形式化され、Ｍｖｆ０（Ｂ）にはＭ０、Ｍｖｆ１（Ｂ）にはＭ１として示される。動き予測モードは、これに割り当てられたＭＶＰ候補リストの構成によって、リスト内の候補の順序と共に、ここで定義される。候補のリストは、事前に定義されたスキャン順序で運動ベクトルの隣接するブロックをスキャンすることにより構成される。リスト内の運動ベクトル予測値の順序の重要性は、予測値インデックスの値によりコードワードの長さが増加するように、予測値の選択を信号で送るためのコードブックが構成されていることにある。したがって、符号化効率をより良くするために、より良い予測値をリスト内のより低い位置に配置するべきである。
【００１９】
１つの可能なスキャン順序の結果を表２に示す。ここで、Ｍ０については、運動ベクトル場コンポーネントＭｖｆ０だけがチェックされ、Ｍ１ではＭｖｆ１のみがチェックされ、両方について、最初にブロックＢｕｐそして次にブロックＢｌｅｆｔと両方がチェックされる。
【００２０】
【表２】
2013013074.tif 000004
【００２１】
参照Ｒ０を指すＭｖｆ０（Ｂ）を予測するためのＭＶＰ候補のリストは２つの運動ベクトルＭｖｆ０（Ｂｌｅｆｔ）およびＭｖｆ０（Ｂｃｏｒｎｅｒ）から構成され、前者はリストの第１の位置にあり、後者は第２の位置にあることを観察することができる。参照Ｒ０を指すＭｖｆ１（Ｂ）のリストは空である。つまり、ＭＶ予測は行われない（または、同等に、使用されたＭＶＰはゼロに設定される）。
【００２２】
この表から結論されるのは、異なる順序で同じ画像を選択する以前に記述した２つの選択肢（「重−Ｒ０およびＲ１から」および「重−Ｒ１およびＲ０から」）は、異なる符号化結果となるということである。順序によって、運動ベクトル場のコンポーネントおよび対応するＭＶＰ候補が実際に決定されるためである。
例２
この例では、１つの参照画像を指す運動ベクトルを取り、いくつかの他の参照画像にそれをマッピングするスケーリングの方法が使用される。ＢｌｅｆｔおよびＢｕｐだけを考慮する場合、ＭＶＰ候補リストの構成について、図３に示すように、Ｍｖｆ０（Ｂｕｐ）、Ｍｖｆ１（Ｂｕｐ）、スケール（Ｍｖｆ０（Ｂｕｐ））、スケール（Ｍｖｆ１（Ｂｕｐ））、Ｍｖｆ０（Ｂｌｅｆｔ）、Ｍｖｆ１（Ｂｌｅｆｔ）、スケール（Ｍｖｆ０（Ｂｌｅｆｔ））、およびスケール（Ｍｖｆ１（Ｂｌｅｆｔ））という８つの運動ベクトルを利用することができる。スキャン順序の結果を表３に示す。
【００２３】
【表３】
2013013074.tif 000005
【００２４】
参照画像および対応する動き予測モードの選択は、インター予測方向（ＩＰＤ：ｉｎｔｅｒ  ｐｒｅｄｉｃｔｉｏｎ  ｄｉｒｅｃｔｉｏｎ）モードに組み込むことができる。ここでは、順序付された１ペアの参照によって指定されるＩＰＤモードを定義する。これらの参照をＭ０およびＭ１にマッピングすることで、ペア内の順序が決定される。特定のＩＰＤモードに対応するペアは以下のように表される。
【００２５】
【表４】
2013013074.tif 000006
【００２６】
たとえば、Ｒ０を指す運動ベクトルを予測するためにＭ０が使用され、Ｒ１を指す運動ベクトルにＭ１が使用される場合、順序付けされたペア（モード）は（０，１）である。あるいは、Ｒ０に対してＭ１が使用され、Ｒ１に対してＭ０が使用される場合、順序付けされたペアは（１，０）である。ここでの規定は、Ｍ０を使用して予測される運動ベクトルはＭｖｆ０で符号化され、同等に、Ｍ１を使用して予測された運動ベクトルは、Ｍｖｆ１で符号化され、これらの２つの名称は、区別なく使用することができる。
【００２７】
インデックスの特定の順序を指定することなく、すべてのＩＰＤモードは、ｎ＝０、．．．、Ｎ−１としてインデックス付けすることができ、ここでＮは利用可能なモードの数であり、ＰＭｎとして示される。次に、各ＰＭｎに上記のように１ペアが割り当てられ、図２の以前の例については、これは図４に示すように、ＰＭ０＝（０，０）、ＰＭ１＝（０，１）、ＰＭ２＝（１，０）、およびＰＭ３＝（１，１）でもよい（重予測の場合に限る）。
例３
有効化されたＩＰＤモードの組に対するリストＬ０およびＬ１の構成の影響を示すために、以下の例を提供する。ここでは時間距離に重点を置くために、異なる表記法を使用する。ここでは、参照はＰＯＣ番号を用いてインデックス付けされるため、特定のモードは（Ｐｉ，Ｐｊ）と示され、ここでｉはＭｖｆ０に使用される参照画像のＰＯＣ番号であり、ｊはＭｖｆ１に使用される参照画像のＰＯＣ番号である。ここでは、３つの画像参照（つまりｒ＝３）を用いた符号化について考える。参照は、ＰＯＣ０、ＰＯＣ４、およびＰＯＣ８であり（Ｐ０、Ｐ４、およびＰ８と示す）、現在の画像は、ＰＯＣ２（Ｐ２と示す）である。この場合、ならびにリストＬ０およびＬ１がそれぞれ２つの参照に限定されている場合、それらは一般的に次のように定義される：Ｌ０＝｛Ｐ０，Ｐ４｝およびＬ１＝｛Ｐ４，Ｐ８｝。これは、表４において星（＊）印が付けられた有効化されたモードにつながる。ここでは、利用可能な９つの重予測ＩＰＤモードから、４つが有効化されることに注意すること。すべての利用可能なモードを有効にするためには、各リストは３つの参照をすべて含む必要がある。
【００２８】
【表５】
2013013074.tif 000007
【００２９】
対応するモードを図５に示している。
上記のモードが、一意の参照画像の組に空の要素が追加される単一予測ＩＰＤモードを用いて拡張される場合、それは対応する運動ベクトル場コンポーネントが使用されないことを示す。有効化されたＩＰＤモードの結果として生じる組を表５に示している。
【００３０】
【表６】
2013013074.tif 000008
【００３１】
なお、（／，／）というペアはイントラ符号化モード（ｉｎｔｒａ  ｃｏｄｉｎｇ  ｍｏｄｅ）と等価であり、ここでは検討しない。なぜならば、このモードは、一般的にビットストリームの異なる部分において符号化されるが、統一されたイントラモードおよびインターモードの信号伝達の方法の一部は、本発明で示されるフレームワークに従うことによって、容易に達成することができるからである。
【００３２】
単一予測モードは、事前に定義されたスキャン順序でＬ０およびＬ１のリストを組み合わせて単一のリストとすることにより決定することができる。それは、この特定の場合には、（Ｐ０，／）、（／，Ｐ４）、および（／，Ｐ８）という有効化された３つ単一予測ＩＰＤモードにつながる（表５では星（＊）で示す）。単一予測モードは、図６に示すように、リストの始めから開始する各画像の第１のインスタンスを選択し、最初にＬ０そして次にＬ１をチェックすることによって構成される。
【発明の概要】
【発明が解決しようとする課題】
【００３３】
本発明の実施例は、例えば、参照画像を使用するビデオの符号化および復号化に関する。
【課題を解決するための手段】
【００３４】
本発明は、動き補償された動き予測を使用する、画像のシーケンスを定義するビデオデータを符号化する方法の一態様において、
復号化に使用される参照画像のリストを構成するステップと、
ｎタプル（ｘ０，ｘ１，．．．，ｘＭ−１）を構成することによって予測モードを定義するステップであって、ｘｍは、運動ベクトル場ｍ＝０、．．．、Ｍ−１のｍ番目のコンポーネントの予測オプションを指定し、動き場に対してＭ個のコンポーネントが存在し、符号化オプションｘｍは、動き予測モードおよび参照画像インデックスのすべての定義された組み合わせから構成される組の要素に、オプション「／」、ｘｍ∈｛”／”，０，１，．．．，ｒｍ−１｝を加えたものであり、オプション「／」は、コンポーネントが使用されていないことを指定し、他のオプション０、１、．．．、ｒｍ−１は、ｒｍ個の組み合わせの１つを指定するステップと、
すべての可能なｎタプルの組のＴ個のｎタプルのサブセットを提供するステップと、
前述のｎタプルへの参照によってインター符号化ブロック（ｉｎｔｅｒ−ｃｏｄｅｄ  ｂｌｏｃｋ）を予測するために使用する予測モードを符号化するステップと
を含む。
【００３５】
１つの運動ベクトル予測モードだけを運動ベクトル場コンポーネントｍに使用できる場合、予測オプションは、参照画像の選択によって決定され、ｒｍは、運動ベクトル場コンポーネントｍに使用できる参照画像の数である。
【００３６】
この方法には（単独で、または下記の好ましい機能と合わせて）、現在の解決法と比べて多数の重要な長所がある。これらは、以下に示す現在の解決法のより詳細な分析によってよく深く理解されるだろう。
【００３７】
添付の図面を参照する。
【図面の簡単な説明】
【００３８】
【図１】リストの使用を示す図である。
【図２】運動ベクトル場（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｆｉｅｌｄ）を示す図である。
【図３】図２に似ており、運動ベクトルのスケーリングを示す図である。
【図４】参照画像を用いた予測モードの割り当てを示す図である。
【図５】画像順にインデックス付けされた参照画像を用いた予測モードを示す図である。
【図６】重予測および単一予測のモードにおけるリストの使用を示す図である。
【発明を実施するための形態】
【００３９】
上記のように、現在の解決法は、重予測動き補償のために運動ベクトルのペアを定義するため、１つの運動ベクトルは、Ｌ０からの参照に適用され、他方はＬ１からの参照に適用される。希望するＩＰＤモードの組を選択する場合、この方法では柔軟性が限定される。
【００４０】
限定の例として、予測モードと効果がないモードとの間の冗長性がある。
図１からの例に示すように、リストがＬ０＝｛０，１｝およびＬ１＝｛１，０｝と定義されている場合、モードのそれぞれについて、運動ベクトル予測値に対するスキャンは、異なる予測値候補リストにつながるという事実とは別に、重予測モード（０，１）および（１，０）は同一である。しかし、これら２つのモードの１つにより与えられたこの追加の選択肢は、符号化利得につながる可能性が低く、効果的にモードを冗長にする。一般的に、リストＬ０およびＬ１に基づいた解決法では、モードの特定のサブセットを維持する簡単な方法はなく、たとえば、この場合、４つの可能な重予測モードのうち３つだけである。
【００４１】
一部のモードは、エンコーダによって選択されている場合でも、あまり選択されないという意味では、十分に利用されていない。そのようなペアは、冗長なペアと同様に、符号化のパフォーマンスに影響を及ぼすことができる。これらはコードブックを拡大し、そしてコードワードの平均ビット長を増やすためである。問題は、多くの場合、他の有益なモードを取り除くことなく、効果がないモードを取り除くことが可能ではないことである。
【００４２】
２つのリストによる方式の欠点を簡潔に示すために、以下の例について検討する。例３に定義したリストＬ０およびＬ１において、有効化されたモードの組に含まれないモードの１つは（Ｐ４，Ｐ０）である。このモードを有効化するために、現在の２つのリストによる方式では、画像Ｐ０をＬ１に追加できるため、表６に示すように、Ｌ０＝｛Ｐ０，Ｐ４｝およびＬ１＝｛Ｐ４，Ｐ８，Ｐ０｝であり、これにより１つの可能性がある冗長なモードである（Ｐ０，Ｐ０）が自動的に追加される。
【００４３】
【表７】
2013013074.tif 000009
【００４４】
他の例では、画像は最大４つの過去の画像を使用して、単一方向からのみ予測される低遅延符号化の場合、リストは、（一意のインデックス表記法を使用して）Ｌ０＝｛０，１，２，３｝およびＬ１＝｛０，１，２，３｝として定義することができる。一般的に、これは２０個または２４個のモード、つまり、４個または８個の単一予測および１６個の双方向につながり、そのうち、多くはほとんど選択されず、一部はまったく使用されない可能性がある。この問題は、ほとんど使用されないモードをコードブックの終わりに配置するように、参照に順序付けすることによって、わずかに緩和されるが、２つのリストによる方法では、（コードワードの最初の順序付けにより）コードブックの設計を変更することなく特定の順序付けを達成するのが難しい。
【００４５】
本発明の好ましい形式による配置は、ＩＰＤモードの有効化された組と比べて完全な制御を達成し、組の構成はビットストリームにおいて信号で送られる。これにより、Ｌ０およびＬ１のリストの使用が避けられ、２つのリストによる表現がＩＰＤモードに変換される。代わりに、モードは、ビットストリームのヘッダ部分に定義され、エンコーダおよびデコーダの操作の全体を通じて維持される。
【００４６】
本発明の重要な態様について概要を説明する。
これにより参照画像のペアの最適な組を選択できるようになる。たとえば、選択された組は、組から参照画像の冗長なペアを省略することによって、またはエンコーダで考慮されないペアを省略することによって、符号化利得が最大限になるように選択することができる。
【００４７】
Ｍｖｆ０およびＭｖｆ１は、Ｌ０およびＬ１に関連付けられていないため、ＩＰＤモードは、任意の数の運動ベクトル予測モードを用いて容易に拡張することができる。
有効化された組は、伝送されるか（明示的な信号伝達）、または一部の共有されたアルゴリズムによって得られる（自動派生）かのいずれかである。次に、これら２つの方法の選択自体を信号で送る必要がある。
【００４８】
概念は、２つを超える画像から動き補償を使用することができる多重仮説動き補償に拡張することができる。この場合、ペア（２タプル）の代わりにｎタプルが使用され、ここでｎは、単一のブロックの動き補償に使用される参照の数である。しかし、詳細な説明では、重予測および単一予測の動き補償に焦点を当てている。
【００４９】
モードが一意に定義されるため、コードブックの動的な適応を容易に達成することができる。これは、一般的に、より頻繁に使用されるモードに、より短いコードワードを割り当て、それほど頻繁に使用されないモードに、より長いコードワードを割り当てるために使用される。また、異なるサイズのブロックに関しては、異なるＩＰＤモードは異なる符号化効率を持つなど、コンテキスト適応性（ｃｏｎｔｅｘｔ−ａｄａｐｔｉｖｅ）のある操作も可能である。
【００５０】
インデックスによって各参照画像を一意に特定できるように、この一意のインデックスはＬ０にもＬ１リストにも対応しない場合、一意のインデックスを参照に割り当てる方式が必要である。この新しく定義されたリストは、そのような一意のインデックスを用いてインデックスされた参照画像から構成され、ここでは一意のリストと呼ばれ、ＬＵと示される。ＬＵを構成する場合、以下のステップに従う（デコーダに格納される参照画像は、短期参照画像（ｓｈｏｒｔ  ｔｅｒｍ  ｒｅｆｅｒｅｎｃｅ  ｐｉｃｔｕｒｅ）または長期参照画像（ｌｏｎｇ  ｔｅｒｍ  ｒｅｆｅｒｅｎｃｅ  ｐｉｃｔｕｒｅ）のいずれかとして印が付けられることを理解されたい）。
【００５１】
１．短期参照画像は、現在の画像のＰＯＣに対して、絶対的な増加するＰＯＣ差分で順序付けられ、同じ絶対差を有する２つの画像が存在する場合、より小さなＰＯＣ番号を有するものが、より小さいインデックスを割り当てられる。
【００５２】
２．長期参照画像は、元の順序を維持して追加される。
具体的な例では、ＰＯＣ値２（図６に示す）を用いる現在の画像の例のＬＵは、ＬＵ＝｛Ｐ０，Ｐ４，Ｐ８｝であるため、Ｒ０＝Ｐ０、Ｒ１＝Ｐ４、およびＲ２＝Ｐ８である。現在の画像がＰＯＣ値６であり、短期参照としてＰ０、Ｐ２、Ｐ４、およびＰ８を有し、長期参照としてＰＬ０およびＰＬ１を有する場合、このリストはＬＵ＝｛Ｐ４，Ｐ８，Ｐ２，Ｐ０，ＰＬ１，ＰＬ１｝であるため、Ｒ０＝Ｐ４、Ｒ１＝Ｐ８、Ｒ３＝Ｐ２、Ｒ４＝Ｐ０、Ｒ５＝ＬＰ０、およびＲ６＝ＬＰ１である。
【００５３】
ｒ個の参照画像があるため、最大ｒ２個の重予測および２ｒ個の単一予測の相互方向モード（ｉｎｔｅｒ  ｄｉｒｅｃｔｉｏｎ  ｍｏｄｅ）を利用することができる（Ｎ＝ｒ２＋２ｒ）。したがって、符号化モードはＰＭｎであり、ｎ＝０、．．．、ｒ２＋２ｒ−１である。可能な１つの構成では、一部のモードは無効化されているためＮ＝８が表７に示されており、次の有効化されたモードの組に対応する：（０，／）、（０，０）、（０，１）、（０，２）、（１，／）、（１，０）、（１，１）、および（２，／）。
【００５４】
【表８】
2013013074.tif 000010
【００５５】
モードの順序は任意であるが、１つの規定は優先度を減らすことによってそれらを順序付けることであり、これによりコードワードが決定される。たとえば、表８に示すように、使用されるコードブックは、連結された単項および固定長の符号化を利用することができる。
【００５６】
【表９】
2013013074.tif 000011
【００５７】
有効化されたモードの組を信号で送る２つのモードをここに示す：１）自動派生のためにパラメータ化、および２）明示的な信号伝達。これらのそれぞれに複数の種類の信号伝達を定義することができる。これらすべての種類からの選択は、ビデオビットストリームのより高いレベルの部分で行うことができる。たとえば、ビデオコーデックのＨ．２６ｘファミリーについては、これはＳＰＳ（シーケンスパラメータセット）メッセージの１組のフラグを用いて定義することができる。
【００５８】
自動派生方法は、２つのリストによる方法によって取得できるものに似た、順序付けられたモードの組が得られる。たとえば、以下のステップを用いて記述できる。
１．単一予測モードの数Ｎｕおよび重予測モードの数Ｎｂが伝送される。
【００５９】
２．単一予測モードは、最初にＬＵからＮｕ個の参照を取ることにより追加される。ＬＵからｉ番目の参照については、そのＰＯＣ値が現在の画像よりも低い場合、割り当てられたモードは（ｉ，／）である。同様に、そのＰＯＣ値が現在の画像より高い場合、割り当てられたモードは（／、ｉ）である。モードの追加は、Ｎｕ個のモードの後に停止される。
【００６０】
３．重予測モード（ｉ，ｊ）はパラメータｋを増加させる順序で追加され、ｋ＝ｉ＋ｊであり、ｋ＝０から開始する。ｋの各値に対して、モードはｊを減少させる順序で追加され、ｊ＝ｋから開始してｊ＝０まで続く。（ｉ，／）または（／，ｊ）がすでに追加されているモード（ｉ，ｊ）のみが追加される。各モードについて、（ｊ，ｉ）がすでに追加されている場合、（ｉ，ｊ）は追加されない。モードの追加は、Ｎｂ個のモードの後に停止される。Ｎｂモード未満しか見つからない場合は、ステップ４に進む。
【００６１】
４．残りのすべての重予測モードが追加され、表を左から右、上から下にスキャンする。つまり、モード（ｉ，ｊ）は、ｉを増加させる順序で追加され、そして次にｊを増加させる順序で追加される。モードの追加は、Ｎｂ個のモードの後に停止される。ステップ２で単一予測モードの追加がＮｕモード未満となった場合、ステップ５に進む。
【００６２】
５．単一予測モードがＮｕ個未満しかない場合、残りの単一予測モードが追加される。ｉを増加させる順序の場合、（ｉ，／）または（／，ｉ）のまだ追加されていないほうが追加される。単一予測モードがＮｕ個になった後、モードの追加が停止される。
【００６３】
例３の画像予測構造に基づいて、このアルゴリズムの結果の例を表９に提供する。ここでは、すべての可能なモードが有効化されている。
【００６４】
【表１０】
2013013074.tif 000012
【００６５】
以下のすべてまたは一部に基づいて順序を計算することによって、代わり方法をパラメータ化し、モードを生成することができる。
−ペア内の参照画像の平均的な重み付けされた時間距離
−ペア内の参照画像の方向
−ペア内の空でないエントリの数（双方向モードまたは単一予測モードの選択）
明示的な信号伝達モードにおいて、１つの可能な設計の選択肢は、モードの総数の次に、サポートされているペアを構成する参照画像のインデックスを符号化することである。表１０に例を提供する。ここでは、表７に示すようにモードの組を符号化する。ここでは、モードの組は合計に３２ビットで符号化される。
【００６６】
【表１１】
2013013074.tif 000013
【００６７】
あるいは、モードの表全体を事前に定義された順序でスキャンすることができ、ついで各モードについては、そのモードが有効化されているかどうかを信号で送るフラグが送信される。たとえば、表７のように有効化されたモードと同じケースについて、モードの表が左から右、および上から下にスキャンされる場合、表１１に示すように、まったく同じモードの組を定義するコードは次のとおりである：０００１１１１１１１０１０００（１５ビット）。
【００６８】
【表１２】
2013013074.tif 000014
【００６９】
参照リストの再順序付けと同様に、モードの希望する順序を達成するために、モードの順序付けの操作を定義することができる。
参照画像の数は大きい場合があるため、何らかの代替信号伝達を考案することができる。たとえば、実際的なモードの表は、参照の数が大きい場合、まばらであると予想できるため、何らかの形式のランレングス符号化を使用することができる。次に、これらは有用性が最高から最低へとペアの有用性の順序でスキャンされる。ここで、有用性は、たとえば、自動派生のために上記のルールによって生成された順序を見ることによってなど、何らかのルールによって定義される。
【００７０】
他の代替案は、より高いレベルでペアを定義し、現在のスライスから参照することである。これは、使用されている信号伝送を定義するフラグを使用することによってオプションとして実行することができる。
【００７１】
次に、本発明による構文記述の例について示す。
【００７２】
【表１３】
2013013074.tif 000015
【００７３】
この構文において：
ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｍｏｄｅは、動き補償に使用されるペアを得る方法を指定する。
【００７４】
ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｍｏｄｅが０に等しい場合、通常の２つのリストによる方法にあるかのようにペアが作成される（エミュレーション）。
ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｍｏｄｅが１に等しい場合、ペアはビットストリームにおいて信号で送られる。
【００７５】
ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｍｏｄｅが２に等しい場合、ペアは、自動派生の上記のプロセスに従うことにより作成される。
ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｍｖ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、スライスの運動ベクトル場のコンポーネント０と共に使用される参照画像リストからの参照の数を指定する。
【００７６】
ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｍｏｄｅが０に等しい場合、この構文要素は、２つのリストによる方法をエミュレートする、このモードでのペアの構築に使用されるアクティブな参照画像の数を指定する。それはＡＶＣ／Ｈ．２６４のｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１構文要素と等価である。
【００７７】
ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｍｏｄｅが１または２に等しい場合、この構文要素は、アクティブな参照画像の運動ベクトル場コンポーネント０の数を指定する。これは一意の参照画像リストの前部から取られる。
【００７８】
ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｍｏｄｅが１に等しい場合、それは構文要素ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｌｉｓｔ［ｎ］［０］のビット幅も決定する。
ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｍｖ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、現在のｓｌｉｃｅ＿ｔｙｐｅがＢである場合、スライスの運動ベクトル場のコンポーネント１と共に使用される参照画像リストからの参照の数を指定する。それは、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｍｖ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１に関する記述に従うが、運動ベクトル場コンポーネント０と運動ベクトル場コンポーネント１、およびｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｌｉｓｔ［ｎ］［０］とｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｌｉｓｔ［ｎ］［１］を置き換える。
【００７９】
ｎｕｍ＿ｒｅｆ＿ｐａｉｒ＿ｍｉｎｕｓ１は、ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｍｏｄｅが１または２に等しい場合、参照ペアの数を指定する。そうでない場合は、この構文要素は存在しない。
【００８０】
ｎｕｍ＿ｕｎｉ＿ｐａｉｒは、ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｍｏｄｅが２に等しい場合に存在し、ペア内の要素の１つが参照画像を参照しない参照ペアの数を指定する（一方向の場合）。
【００８１】
ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｌｉｓｔ［ｎ］［０］は、参照ペアリストのｎ番目の要素に使用される参照画像インデックスを指定する。これにより、参照画像インデックスは、ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｌｉｓｔ［ｎ］［０］−１として得られる。０に等しい場合、運動ベクトル場コンポーネント０が使用されないことを指定する。
【００８２】
ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｌｉｓｔ［ｎ］［１］は、現在のｓｌｉｃｅ＿ｔｙｐｅがＢである場合、参照ペアリストのｎ番目の要素に使用される参照画像インデックスを指定する。これにより、参照画像インデックスは、ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｌｉｓｔ［ｎ］［１］−１として得られる。０に等しい場合、運動ベクトル場コンポーネント１が使用されないことを指定する。
【００８３】
ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ（）は、一意のリストでの参照の順序を変更できるプロセスである。
ｒｅｆ＿ｐｉｃ＿ｐａｉｒ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ（）は、ペアのリスト内のペアの順序を変更できるプロセスである。
【００８４】
これは本発明の態様をどのように実装できるかの一例にすぎないことは、もちろん理解されるだろう。
また、重み付けされた予測は、提案された方式でサポートできることも注意することが重要である。重み付けされた予測は、Ｈ．２６４／ＡＶＣの暗黙的モードでは簡単である。つまり、重みは時間距離に基づいて計算される。明示的な信号伝送の場合には、重みはＨ．２６４／ＡＶＣのようにスライスヘッダに符号化することができる。複数の重み付けされたパラメータが単一の画像に対して定義されている場合、参照画像のコピーおよび再順序付けという通常の操作によって、スライスヘッダに単に定義することができ、ペアは参照のその新しく作成された組に定義される。
【００８５】
本発明は例を示すことのみを目的に記述したものであり、添付の特許請求の範囲に記載した本発明の範囲から逸脱することなく、様々な修正が可能であることを理解されるだろう。解説はスライスにも適用されるものであり、本明細書で使用する「画像」という用語は、スライスを含むものと見なされることに注意すること。
【図１】
2013013074.tif 000016
【図２】
2013013074.tif 000017
【図３】
2013013074.tif 000018
【図４】
2013013074.tif 000019
【図５】
2013013074.tif 000020
【図６】
2013013074.tif 000021
【外国語明細書】
2013013074000001.pdf