(57)【特許請求の範囲】
【請求項１】
シーケンスに含まれる少なくとも１つの画像部分を、参照画像部分に関する動き補償を用いて符号化する方法であって、
符号化しようとする少なくとも１つの画像部分に対して、
前記符号化しようとする画像部分のための動き情報予測子の目標数を取得するステップと、
取得された前記動き情報予測子の目標数と等しい数の動き情報予測子の集合を生成するステップと、
前記生成された動き情報予測子の集合から、前記符号化しようとする画像部分の動き情報予測子を選択するステップと、
を備え、前記生成するステップは、
前記符号化しようとする画像部分に対して、所定の空間的関係及び／又は時間的関係を有する画像部分に関連する動き情報予測子の第１の集合を取得するステップと、
第１の数の動き情報予測子を含む動き情報予測子の縮小集合を取得するために、１つ以上の重複する動き情報予測子を除去することにより前記動き情報予測子の第１の集合を修正するステップと、
前記動き情報予測子の縮小集合を取得した後、前記縮小集合に含まれる動き情報予測子の前記第１の数と取得された前記目標数とを比較するステップと、
前記縮小集合に含まれる動き情報予測子の前記第１の数が前記目標数より小さい場合、
追加の動き情報予測子を取得し、且つ
前記追加の動き情報予測子を前記動き情報予測子の縮小集合に追加するステップと、
を備えることを特徴とする方法。
【請求項２】
前記縮小集合に含まれる動き情報予測子は、互いに異なる動き情報予測子から成ることを特徴とする請求項１に記載の方法。
【請求項３】
前記第１の集合に含まれる動き情報予測子は、前記符号化している画像又は参照画像部分の複数の領域のうちの第１の領域に対応する実動き情報予測子であり、且つ前記追加の動き情報予測子は、前記符号化している画像又は参照画像部分の前記複数の領域に対応しない仮動き情報予測子であることを特徴とする請求項１又は請求項２に記載の方法。
【請求項４】
前記縮小集合に含まれる動き情報予測子の前記第１の数が前記目標数より小さいか否かを試験し、前記縮小集合に含まれる動き情報予測子の前記第１の数が前記目標数より小さい場合、前記符号化している画像又は前記参照画像部分の、前記第１の領域とは異なる第２の領域に対応する１つ以上の別の実動き情報予測子を追加し、第２の数の動き情報予測子を含む第２の集合を得るステップと、
前記第２の集合に含まれる動き情報予測子の前記第２の数が前記目標数より小さいか否かを更に試験し、前記第２の集合に含まれる動き情報予測子の前記第２の数が前記目標数より小さい場合、１つ以上の前記仮動き情報予測子を前記第２の集合に追加するステップと
を備えることを特徴とする請求項３に記載の方法。
【請求項５】
少なくとも１つの前記仮動き情報予測子は、既存の動き情報予測子から計算される動き情報予測子であることを特徴とする請求項３又は請求項４に記載の方法。
【請求項６】
前記既存の動き情報予測子の動きベクトルの方向に対して所定の方向を有する補助ベクトルを、前記既存の動き情報予測子の前記動きベクトルに追加するステップを更に有することを特徴とする請求項５に記載の方法。
【請求項７】
前記補助ベクトルの大きさは、前記既存の動き情報予測子の前記動きベクトルの大きさに依存することを特徴とする請求項６に記載の方法。
【請求項８】
前記補助ベクトルは、前記既存の動き情報予測子の前記動きベクトルのそれぞれ対応する成分に比例する成分（ａＭＶｘ、ｂＭＶｙ）を有することを特徴とする請求項６又は請求項７に記載の方法。
【請求項９】
前記選択された動き情報予測子を表現する１つの情報項目を符号化することを更に備えることを特徴とする請求項１乃至請求項８のいずれか一項に記載の方法。
【請求項１０】
前記シーケンスを符号化したビットストリームの中に前記目標数に関する情報を含めて伝送するステップを更に備えることを特徴とする請求項１乃至請求項９のいずれか一項に記載の方法。
【請求項１１】
シーケンスに含まれる少なくとも１つの画像部分を、参照画像部分に関する動き補償を用いる符号化によって生成されたビットストリームを復号する方法であって、
復号しようとする少なくとも１つの画像部分に対して、
前記復号しようとする画像部分のための動き情報予測子の目標数を取得するステップと、
取得された前記動き情報予測子の目標数と等しい数の動き情報予測子の集合を生成するステップと、
前記生成された動き情報予測子の集合から、前記復号しようとする画像部分の動き情報予測子を決定するステップと、
を備え、前記生成するステップは、
前記復号しようとする画像部分に対して、所定の空間的関係及び／又は時間的関係を有する画像部分に関連する動き情報予測子の第１の集合を取得するステップと、
第１の数の動き情報予測子を含む動き情報予測子の縮小集合を取得するために、１つ以上の重複する動き情報予測子を除去することにより前記動き情報予測子の第１の集合を修正するステップと、
前記動き情報予測子の縮小集合を取得した後、前記縮小集合に含まれる動き情報予測子の前記第１の数と取得された前記目標数とを比較するステップと、
前記縮小集合に含まれる動き情報予測子の前記第１の数が前記目標数より小さい場合、
追加の動き情報予測子を取得し、且つ
前記追加の動き情報予測子を前記動き情報予測子の縮小集合に追加するステップと、
を備えることを特徴とする方法。
【請求項１２】
前記縮小集合に含まれる動き情報予測子は、互いに異なる動き情報予測子から成ることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記復号しようとする画像部分に対して選択された動き情報予測子を表現する１つの情報項目を復号しようとするステップを更に備えることを特徴とする請求項１１又は請求項１２に記載の方法。
【請求項１４】
前記復号された情報項目を使用して、前記生成された動き情報予測子の集合から前記選択された動き情報予測子を検索するステップを更に備え、
前記決定するステップは、前記検索するステップで検索された動き情報予測子を、前記復号しようとする画像部分の動き情報予測子を決定することを特徴とする請求項１３に記載の方法。
【請求項１５】
前記第１の集合の動き情報予測子は、前記復号している画像又は参照画像部分の複数の領域のうちの第１の領域に対応する実動き情報予測子であり、且つ前記追加の動き情報予測子は、前記復号している画像又は参照画像部分の前記複数の領域に対応しない仮動き情報予測子であることを特徴とする請求項１１乃至請求項１４のいずれか一項に記載の方法。
【請求項１６】
前記縮小集合に含まれる動き情報予測子の前記第１の数が前記目標数より小さいか否かを試験し、前記縮小集合に含まれる動き情報予測子の前記第１の数が前記目標数より小さい場合、前記復号している画像又は前記参照画像部分の、前記第１の領域とは異なる第２の領域に対応する１つ以上の別の実動き情報予測子を追加し、第２の数の動き情報予測子を含む第２の集合を得るステップと、
前記第２の集合に含まれる動き情報予測子の前記第２の数が前記目標数より小さいか否かを更に試験し、前記第２の集合に含まれる動き情報予測子の前記第２の数が前記目標数より小さい場合、１つ以上の前記仮動き情報予測子を前記第２の集合に追加するステップと
を備えることを特徴とする請求項１５に記載の方法。
【請求項１７】
少なくとも１つの前記仮動き情報予測子は、既存の動き情報予測子から計算される動き情報予測子であることを特徴とする請求項１５又は請求項１６に記載の方法。
【請求項１８】
前記既存の動き情報予測子の動きベクトルに対して所定の方向を有する補助ベクトルを、前記既存の動き情報予測子の前記動きベクトルに追加するステップを更に有することを特徴とする請求項１７に記載の方法。
【請求項１９】
前記補助ベクトルの大きさは、前記既存の動き情報予測子の前記動きベクトルの大きさに依存することを特徴とする請求項１８に記載の方法。
【請求項２０】
前記補助ベクトルは、前記既存の動き情報予測子の前記動きベクトルのそれぞれ対応する成分に比例する成分（ａＭＶｘ、ｂＭＶｙ）を有することを特徴とする請求項１８又は請求項１９に記載の方法。
【請求項２１】
前記シーケンスを符号化したビットストリームから前記目標数に関する情報を取得するステップを更に備えることを特徴とする請求項１１乃至請求項２０のいずれか一項に記載の方法。
【請求項２２】
シーケンスに含まれる少なくとも１つの画像部分を、参照画像部分に関する動き補償を用いて符号化する装置であって、
符号化しようとする少なくとも１つの画像部分に対して、
前記符号化しようとする画像部分のための動き情報予測子の目標数を取得する手段と、
取得された前記動き情報予測子の目標数と等しい数の動き情報予測子の集合を生成する手段と、
前記生成された動き情報予測子の集合から、前記符号化しようとする画像部分の動き情報予測子を選択する手段と、
を備え、前記生成する手段は、
前記符号化しようとする画像部分に対して、所定の空間的関係及び／又は時間的関係を有する画像部分に関連する動き情報予測子の第１の集合を取得する手段と、
第１の数の動き情報予測子を含む動き情報予測子の縮小集合を取得するために、１つ以上の重複する動き情報予測子を除去することにより前記動き情報予測子の第１の集合を修正する手段と、
前記動き情報予測子の縮小集合を取得した後、前記縮小集合に含まれる動き情報予測子の前記第１の数と取得された前記目標数とを比較する手段と、
前記縮小集合に含まれる動き情報予測子の前記第１の数が前記目標数より小さい場合、
追加の動き情報予測子を取得し、且つ
前記追加の動き情報予測子を前記動き情報予測子の縮小集合に追加する手段と、
を備えることを特徴とする装置。
【請求項２３】
シーケンスに含まれる少なくとも１つの画像部分を、参照画像部分に関する動き補償を用いる符号化によって生成されたビットストリームを復号する装置であって、
復号しようとする少なくとも１つの画像部分に対して、
前記復号しようとする画像部分のための動き情報予測子の目標数を取得する手段と、
取得された前記動き情報予測子の目標数と等しい数の動き情報予測子の集合を生成する手段と、
前記生成された動き情報予測子の集合から、前記復号しようとする画像部分の動き情報予測子を決定する手段と、
を備え、前記生成する手段は、
前記復号しようとする画像部分に対して、所定の空間的関係及び／又は時間的関係を有する画像部分に関連する動き情報予測子の第１の集合を取得する手段と、
第１の数の動き情報予測子を含む動き情報予測子の縮小集合を取得するために、１つ以上の重複する動き情報予測子を除去することにより前記動き情報予測子の第１の集合を修正する手段と、
前記動き情報予測子の縮小集合を取得した後、前記縮小集合に含まれる動き情報予測子の前記第１の数と取得された前記目標数とを比較する手段と、
前記縮小集合に含まれる動き情報予測子の前記第１の数が前記目標数より小さい場合、
追加の動き情報予測子を取得し、且つ
前記追加の動き情報予測子を前記動き情報予測子の縮小集合に追加する手段と、
を備えることを特徴とする装置。
【請求項２４】
コンピュータを、請求項１乃至請求項１０のいずれか一項に記載の方法の各ステップとして機能させるためのプログラム。
【請求項２５】
コンピュータを、請求項１１乃至請求項２３のいずれか一項に記載の方法の各ステップとして機能させるためのプログラム。
【請求項２６】
請求項２４に記載のプログラムを記憶したことを特徴とするコンピュータ可読記憶媒体。
【請求項２７】
請求項２５に記載のプログラムを記憶したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像のシーケンスを符号化する方法及び装置並びに対応するビットストリームを復号化する方法及び装置に関する。また、本発明は、デジタル信号処理の分野に属し、特に、ビデオストリームにおける空間的冗長性及び時間的冗長性を減少させるために動き補償を使用するビデオ圧縮の分野に関する。
【背景技術】
【０００２】
例えばＨ．２６３、Ｈ．２６４、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、ＳＶＣなどの多くのビデオ圧縮形式は、空間的冗長性及び時間的冗長性を排除するためにブロック型の離散コサイン変換（ＤＣＴ）及び動き補償を使用する。これらの形式は予測ビデオ形式とも呼ばれる。ビデオ信号の各フレーム、又は各画像は複数のスライスに分割され、スライスは個別に符号化ならびに復号化される。通常、１つのスライスはフレームの１つの矩形部分であり、更に一般的には１つのフレームの一部分又は１つのフレーム全体である。各スライスは複数のマクロブロック（ＭＢ）に更に分割され、各マクロブロックは複数のブロックに、通常は８×８画素のブロックに更に分割される。符号化フレームには、時間的予測フレーム（１個の参照フレームから予測されるかＰフレーム、又は、２つの参照フレームから予測されるＢフレーム）と、非時間的予測フレーム（イントラフレーム又はＩフレームと呼ばれる）という２つの種類がある。
【０００３】
時間的予測は、ビデオシーケンスの先行フレーム又は後続フレームのいずれかである参照フレームの中で、符号化するブロックに最も近い画像部分又は参照領域を見つけることである。このステップは動き推定として知られる。次に、動き補償に使用するための参照領域を示す動きベクトルに対する動き情報の１つの項目と共に、符号化するブロックと参照部分との差分が符号化される（動き補償）。
【０００４】
動き情報を符号化することの損失を更に低減するために、符号化するブロックを取り囲むブロックの動きベクトルから通常は計算される動きベクトル予測子に対する差分によって動きベクトルを符号化することが提案されている。
【０００５】
Ｈ．２６４の場合、動きベクトルは、符号化するブロックと因果関係を有する近傍の動きベクトルから、例えば符号化するブロックの左上に位置するブロックから計算された中央予測子に関して符号化される。残差ベクトルとも呼ばれるメディアン予測子と現在のブロックの動きベクトルとの差分のみが符号化される。
【０００６】
残差動きベクトルを使用する符号化によってビットレートを幾分か節約できるが、復号器は、復号化するブロックの動きベクトルの値を復号化するために、同一の方法で動きベクトル予測子の計算を実行しなければならない。
【０００７】
近年、利用可能な複数の動きベクトル予測子を使用するなどの更なる改善が提案されている。この方法は動きベクトル競合(motion vector competition)と呼ばれ、いくつかの動きベクトル予測子又は動きベクトル候補の中から、どの動きベクトル予測子が残差動き情報の符号化に関わる損失、通常はレート−歪み損失を最小限に抑えるかを判定する。残差動き情報は、残差動きベクトル、すなわち符号化するブロックの実際の動きベクトルと選択された動きベクトル予測子との差分と、例えば選択された動きベクトル予測子の指標の符号化値のような選択された動きベクトル予測子を示す情報項目とから構成される。
【０００８】
現在規格化段階にある高能率ビデオ符号化（ＨＥＶＣ）では、図１に概略的に示されるように複数の動きベクトル予測子を使用することが提案されている。すなわち、符号化するブロックの近傍に位置するブロックから取り出された３つのいわゆる空間動きベクトル予測子Ｖ1、Ｖ2及びＶ3と、３つの空間動きベクトル予測子Ｖ1、Ｖ2及びＶ3の成分に基づいて計算された中央動きベクトル予測子と、シーケンス中の先行する画像の同一位置にあるブロック（例えば画像Ｎのブロック「符号化中」と同一の空間位置に位置している画像Ｎ−１のブロック）の動きベクトルである時間動きベクトル予測子Ｖ0とを使用するのである。現在、ＨＥＶＣにおいては、３つの空間動きベクトル予測子は、所定の可用性規則に従って、符号化するブロックの左側に位置するブロック（Ｖ3）、符号化するブロックの上に位置するブロック（Ｖ2）及び符号化するブロックの四隅に位置するブロックのうち１つのブロックから取り出される。この動きベクトル予測子選択方式は、高度動きベクトル予測（ＡＭＶＰ）と呼ばれる。図１の例では、左上に位置するブロックのベクトルＶ1が選択される。
【０００９】
最後に、空間予測子と時間予測子とを組み合わせた５つの動きベクトル予測子候補を含む集合が取得される。ビットストリーム中で動きベクトル予測子の伝送に関わるオーバヘッドを減少させるために、重複する動きベクトル、すなわち同一の値を有する動きベクトルを排除することにより、動きベクトル予測子の集合は縮小される。例えば、図１の例の場合、Ｖ1とＶ2とは等しく、Ｖ0とＶ3とも等しいので、それらのベクトルのうち２つのみが、例えばＶ０及びＶ１のみが動きベクトル予測子候補として保持されるべきである。この場合、動きベクトル予測子の索引を復号器に示すために必要なのは、わずか１ビットである。
【００１０】
予測子の値に基づいて動きベクトル予測子の集合を更に縮小することが可能である。最良の動きベクトル予測子が選択され且つ動きベクトル残差が計算された後、動きベクトル残差及び符号器のコスト最適化参照の知識に基づいて、選択されないだろうと考えられる候補を予測子集合から更に排除することが可能である。予測子の集合を十分に縮小すれば、選択された動きベクトル予測子の標識をより少ないビット数で符号化できるので、伝送によるオーバヘッドを減少できる。例えばすべての動きベクトル予測子が等しい場合のように、候補の集合を１まで縮小できるのが限界であり、従って、その場合、選択された動きベクトル予測子に関する情報をビットストリームに挿入する必要はない。
【００１１】
要するに、動きベクトル予測子候補の数を減少させると共に、動きベクトル予測子との差分によって動きベクトルを符号化することにより、圧縮利得が得られる。しかし、先に説明した通り、符号化する所定のブロックに対して、動きベクトル予測子候補の数は、その集合の動きベクトル予測子がとる値、詳細には近傍のブロック及び同一位置にあるブロックの動きベクトルの値に基づいて減少される。また、復号器は、選択された動きベクトル予測子を示すために使用されるビットの量を推定し、動きベクトル予測子の索引を復号化し、最終的には受信された残差動きベクトルを使用して動きベクトルを復号化するために、利用可能な動きベクトル予測子の集合に対して符号器と同一の解析を適用できなければならない。図１の例で説明すると、ブロック「符号化中」の動きベクトル予測子の集合は、符号器によりＶ0及びＶ1に縮小されたので、索引は１ビットで符号化されている。送信中に画像Ｎ−１のブロック「同一位置」が失われた場合、復号器はＶ0の値を取得できず、従って、Ｖ0とＶ3とが等しいことを認識できない。そこで、復号器は、ブロック「符号化中」の動きベクトル予測子の索引を符号化するために使用されたビット数を認識できず、その結果、復号器は、どこで索引符号化が停止し、どこでビデオデータの符号化が開始されたのかを知ることができないので、そのスライスに対してデータを正確に構文解析できない。
【００１２】
このように、上記の方法では、動きベクトル予測子を伝送するために使用されたビット数が動きベクトル予測子がとる値によって決まるので、高パケット損失通信ネットワークを介してビットストリームが復号器へ送信される場合、送信エラーを起こしやすい。実際、この方法により復号器でビットストリームを正確に構文解析するためには、動きベクトル予測子の値がわかっていなければならない。パケット損失が起こった場合、いくつかの動きベクトル残差値が失われるので、復号器は、その動きベクトル予測子を表現する索引を符号化するために使用されたビット数を判定できず、従って、ビットストリームを正確に構文解析することができない。そのようなエラーは、伝播する間に、予測なしに符号化された次の同期化画像が復号器により受信されるまで復号器の非同期を引き起こす。
【００１３】
パケット損失が起こった場合でも、何らかの再同期化又はエラー隠蔽を後に適用できるように、復号器で符号化ビットストリームを構文解析することが少なくとも可能であることが望ましいだろう。
【００１４】
２０１０年１０月７日〜１５日に広州で開催されたＪｏｉｎｔ Ｃｏｌｌａｂｏｒａｔｉｖｅ Ｔｅａｍ ｏｎＶｉｄｅｏ Ｃｏｄｉｎｇ（ＪＴＣ−ＶＣ）の第３回会合で刊行されたＫ．Ｓａｔｏの論文ＪＣＴＶＣ−Ｃ１６６ｒ１「ＴＥ１１：Ｓｔｕｄｙ ｏｎｍｏｔｉｏｎ ｖｅｃｔｏｒ ｃｏｄｉｎｇ（ｅｘｐｅｒｉｍｅｎｔ ３．３ａ ａｎｄ ３．３ｃ）」の中で、予測子集合中の同一のスライスから得られた空間動きベクトル予測子のみを使用することが提案されている。この方法は、スライス損失が起こった場合の復号器における構文解析の問題を解決する。しかし、時間動きベクトル予測子が使用されなくなったため、符号化効率は著しく低下する。従って、圧縮性能に関して、この方法は満足できるものとはいえない。
【発明の概要】
【００１５】
従来の技術の欠点のうち１つ以上に対処することが望ましい。
【００１６】
本発明の１つの態様によれば、デジタル画像の少なくとも１つの部分が参照画像部分に関する動き補償により符号化される画像のシーケンスをビットストリームに符号化する方法であって、
符号化する少なくとも１つの画像部分に対して、
前記符号化する画像部分に対して使用される動き情報予測子の目標数を取得するステップと、
取得された動き情報予測子の目標数を使用して動き情報予測子の集合を生成するステップと、
を備え、前記生成するステップは、
符号化中の画像部分との間に所定の空間的関係及び／又は時間的関係を有する前記画像部分と各々関連している動き情報予測子の第１の集合を取得するステップと、
第１の数の動き情報予測子を含む動き情報予測子の縮小集合であり、前記縮小集合の各動き情報予測子が前記縮小集合の他のどの動き情報予測子とも異なるような前記縮小集合を取得するために、重複する動き情報予測子を除去することにより前記動き情報予測子の第１の集合を修正するステップと、
前記動き情報予測子の縮小集合を取得した後、動き情報予測子の前記第１の数を取得された前記目標数と比較するステップと、
前記第１の数が前記目標数より小さい場合、
追加の動き情報予測子を取得し、且つ
前記追加の動き情報予測子を前記動き情報予測子の縮小集合に追加するステップと、
を備えることを特徴とする方法が提供される。
【００１７】
本発明の別の態様によれば、デジタル画像の少なくとも１つの部分が参照画像に関する動き補償により符号化される画像の符号化シーケンスを含むビットストリームを復号化する方法であって、
復号化する少なくとも１つの画像部分に対して、
前記復号化する画像部分に使用される動き情報予測子の目標数を取得するステップと、
取得された動き情報予測子の目標数を使用して動き情報予測子の集合を生成するステップと、
を備え、前記生成するステップは、
復号化中の画像部分との間に所定の空間的関係及び／又は時間的関係を有する前記画像部分と各々関連している動き情報予測子の第１の集合を取得するステップと、
第１の数の動き情報予測子を含む動き情報予測子の縮小集合であり、前記縮小集合の各動き情報予測子が前記縮小集合の他のどの動き情報予測子とも異なるような前記縮小集合を取得するために、重複する動き情報予測子を除去することにより前記動き情報予測子の第１の集合を修正するステップと、
前記動き情報予測子の縮小集合を取得した後、動き情報予測子の前記第１の数を取得された前記目標数と比較するステップと、
前記第１の数が前記目標数より小さい場合、
追加の動き情報予測子を取得し、且つ
前記追加の運動情報予測子を前記動き情報予測子の縮小集合に追加するステップと、
を備えることを特徴とする方法が提供される。
【００１８】
本発明の別の態様によれば、デジタル画像の少なくとも１つの部分が参照画像部分に関する動き補償により符号化される画像のシーケンスをビットストリームに符号化する装置であって、
符号化する画像部分に対して使用される動き情報予測子の目標数を取得する手段と、
取得された動き情報予測子の目標数を使用して動き情報予測子の集合を生成する手段と、
を備え、前記生成する手段は、
復号化中の画像部分との間に所定の空間的関係及び／又は時間的関係を有する前記画像部分と各々関連している動き情報予測子の第１の集合を取得する手段と、
第１の数の動き情報予測子を含む動き情報予測子の縮小集合であり、前記縮小集合の各動き情報予測子が前記縮小集合の他のどの動き情報予測子とも異なるような前記縮小集合を取得するために、重複する動き情報予測子を除去することにより前記動き情報予測子の第１の集合を修正する手段と、
前記動き情報予測子の縮小集合を取得した後、動き情報予測子の前記第１の数を取得された前記目標数と比較するように動作する手段であって、
前記第１の数が前記目標数より小さい場合、
追加の動き情報予測子を取得し、且つ
前記追加の動き情報予測子を前記動き情報予測子の縮小集合に追加するように更に動作する手段と、
を備えることを特徴とする装置が提供される。
【００１９】
本発明の別の態様によれば、デジタル画像の少なくとも１つの部分が参照画像に関する動き補償により符号化される画像の符号化シーケンスを含むビットストリームを復号化する方法であって、
復号化する画像部分に対して使用される動き情報予測子の目標数を取得する手段と、
取得された動き情報予測子の目標数を使用して動き情報予測子の集合を生成する手段と、
を備え、前記生成する手段は、
復号化中の画像部分との間に所定の空間的関係及び／又は時間的関係を有する前記画像部分と各々関連している動き情報予測子の第１の集合を取得する手段と、
第１の数の動き情報予測子を含む動き情報予測子の縮小集合であり、前記縮小集合の各動き情報予測子が前記縮小集合の他のどの動き情報予測子とも異なるような前記縮小集合を取得するために、重複する動き情報予測子を除去することにより前記動き情報予測子の第１の集合を修正する手段と、
前記動き情報予測子の縮小集合を取得した後、動き情報予測子の前記第１の数を取得された前記目標数と比較するように動作する手段であって、
前記第１の数が前記目標数より小さい場合、
追加の動き情報予測子を取得し、且つ
前記追加の動き情報予測子を前記動き情報予測子の縮小集合に追加するように更に動作する手段と、
を備えることを特徴とする装置が提供される。
【００２０】
本発明の更なる態様は、コンピュータで実行された場合、先に説明したようなデジタルビデオ信号を符号化する方法又は先に説明したようなビットストリームを復号化する方法をコンピュータに実行させるコンピュータプログラムを提供する。いずれの場合にも、コンピュータプログラムはコンピュータ可読記憶媒体に記憶される。
【００２１】
本発明の別の態様によれば、デジタル画像の少なくとも１つの部分が参照画像部分に関する動き補償により符号化される画像のシーケンスをビットストリームに符号化する方法であって、
符号化する少なくとも１つの画像部分に対して、
前記符号化する画像部分に対して使用される動き情報予測子の目標数を取得するステップと、
前記符号化中の画像部分との間に所定の空間的関係及び／又は時間的関係を有する１つの画像部分と各々関連している動き情報予測子を含む動き情報予測子の第１の集合を取得するステップと、
第１の数の動き情報予測子を含み且つ含まれる各動き情報予測子が他のどの動き情報予測子とも異なる動き情報予測子の縮小集合を取得するために、前記動き情報予測子の第１の集合から重複を排除するステップと、
前記動き情報予測子の縮小集合を取得した後、動き情報予測子の前記第１の数を取得された前記目標数と比較するステップと
前記第１の数が前記目標数より小さい場合、
追加動き情報予測子を取得し、且つ
前記追加動き情報予測子を前記動き情報予測子の縮小集合に追加するステップと、
を備えることを特徴とする方法が提供される。
【００２２】
一実施形態において、前記縮小集合に含まれる動き情報予測子は、前記符号化中の画像又は参照画像の画像部分から取得される動きベクトルを有する実動き情報予測子であり、且つ前記追加動き情報予測子は更なる実動き情報予測子である。
【００２３】
一実施形態において、前記縮小集合に含まれる動き情報予測子は、前記符号化中の画像又は参照画像の画像部分から取得される動きベクトルを有する実動き情報予測子であり、且つ前記追加動き情報予測子は、前記符号化中の画像又は参照画像の画像部分から取得される動きベクトルを持たない仮動き情報予測子である。
【００２４】
一実施形態において、方法は、前記縮小集合に含まれる動き情報予測子の数が前記目標数より小さいか否かを試験することと、目標数より小さい場合、まず、１つ以上の前記更なる実動き情報予測子を追加し、次に、更なる実動き情報予測子を追加した後の動き情報予測子の数が前記目標数より小さいか否かを再度試験し、小さい場合、１つ以上の前記仮動き情報予測子を追加することとを更に含む。
【００２５】
本発明の別の態様によれば、画像の少なくとも１つの部分が参照画像に関する動き補償により符号化されているデジタル画像の符号化シーケンスを含むビットストリームを復号化する方法であって、
復号化する少なくとも１つの画像部分に対して、
前記復号化する画像部分に対して使用される動き情報予測子の目標数を取得するステップと、
前記復号化中の画像部分との間に所定の空間的関係及び／又は時間的関係を有する１つの画像部分と各々関連している動き情報予測子を含む動き情報予測子の第１の集合を取得するステップと、
第１の数の動き情報予測子を含み且つ含まれる各動き情報予測子が他のどの動き情報予測子とも異なる動き情報予測子の縮小集合を取得するために、前記動き情報予測子の第１の集合から重複を排除するステップと、
前記動き情報予測子の縮小集合を取得した後、動き情報予測子の前記第１の数を取得された前記目標数と比較するステップと、
前記第１の数が前記目標数より小さい場合、
追加動き情報予測子を取得し、且つ
前記追加動き情報予測子を前記動き情報予測子の縮小集合に追加するステップと、
を備えることを特徴とする方法が提供される。
【００２６】
一実施形態において、前記縮小集合に含まれる動き情報予測子は、前記復号化中の画像又は参照画像の画像部分から取得される動きベクトルを有する実動き情報予測子であり、且つ前記追加動き情報予測子は、別の実動き情報予測子である。
【００２７】
一実施形態において、前記縮小集合に含まれる動き情報予測子は、前記復号化中の画像又は参照画像の画像部分から取得される動きベクトルを有する実動き情報予測子であり、且つ前記追加動き情報予測子は、前記復号化中の画像又は参照画像の画像部分から取得される動きベクトルを持たない仮動き情報予測子である。
【００２８】
一実施形態において、方法は、縮小集合に含まれる動き情報予測子の数が前記目標数より小さいか否かを試験することと、小さい場合、まず、１つ以上の前記別の実動き情報予測子を追加し、次に、別の実動き予測子を追加した後の動き情報予測子の数が前記目標数より小さいか否かを再度試験し、小さい場合、１つ以上の前記仮動き情報予測子を追加することとを更に含む。
【００２９】
本発明の更なる態様は、対応する符号化装置、対応する復号装置並びに対応するコンピュータプログラム及びコンピュータ可読媒体を提供する。
【００３０】
本発明の別の態様によれば、デジタル画像の少なくとも１つの部分が参照画像部分に関する動き補償により符号化される画像のシーケンスをビットストリームに符号化する方法であって、
符号化する少なくとも１つの画像部分に対して、
前記符号化する画像部分に対して使用される動き情報予測子の目標数を取得するステップと、
前記符号化中の画像部分との間に所定の空間的関係及び／又は時間的関係を有する１つの画像部分と各々関連している動き情報予測子を含む動き情報予測子の集合を生成するステップと、
第１の数の動き情報予測子を含み且つ含まれる各動き情報予測子が他のどの動き情報予測子とも異なる動き情報予測子の第１の集合を取得するために、生成された集合から重複を排除するステップと、
前記動き情報予測子の第１の集合を取得した後、動き情報予測子の前記第１の数を取得された前記目標数と比較するステップと、
前記第１の数が前記目標数より小さい場合、
追加動き情報予測子を取得し、且つ
前記追加動き情報予測子を前記動き情報予測子の第１の集合に追加するステップと、
を備えることを特徴とする方法が提供される。
【００３１】
一実施形態において、前記第１の集合に含まれる動き情報予測子は、前記符号化中の画像又は参照画像の画像部分から取得される動きベクトルを有する実動き情報予測子であり、且つ前記追加動き情報予測子は別の実動き情報予測子である。
【００３２】
一実施形態において、前記第１の集合に含まれる動き情報予測子は、前記符号化中の画像又は参照画像の画像部分から取得される動きベクトルを有する実動き情報予測子であり、且つ前記追加動き情報予測子は、前記符号化中の画像又は参照画像の画像部分から取得される動きベクトルを持たない仮動き情報予測子である。
【００３３】
一実施形態において、方法は、前記第１の集合に含まれる動き情報予測子の数が前記目標数より小さいか否かを試験することと、小さい場合、まず、１つ以上の前記別の実動き情報予測子を追加し、次に、別の実動き情報予測子を追加した後の動き情報予測子の数が前記目標数より小さいか否かを再度試験し、小さい場合、１つ以上の前記仮動き情報予測子を追加することとを更に含む。
【００３４】
本発明の別の態様によれば、デジタル画像の少なくとも１つの部分が参照画像に関する動き補償により符号化される画像の符号化シーケンスを含むビットストリームを復号化する方法であって、
復号化する少なくとも１つの画像部分に対して、
前記復号化する画像部分に対して使用される動き情報予測子の目標数を取得するステップと、
前記復号化中の画像部分との間に所定の空間的関係及び／又は時間的関係を有する１つの画像部分と各々関連している動き情報予測子を含む動き情報予測子の集合を生成するステップと、
第１の数の動き情報予測子を含み且つ含まれる各動き情報予測子が他のどの動き情報予測子とも異なる動き情報予測子の第１の集合を取得するために、生成された集合から重複を排除するステップと、
前記動き情報予測子の第１の集合を取得した後、動き情報予測子の前記第１の数を取得された前記目標数と比較するステップと、
前記第１の数が前記目標数より小さい場合、
追加動き情報予測子を取得し、且つ
前記追加動き情報予測子を前記動き情報予測子の第１の集合に追加するステップと、
を備えることを特徴とする方法が提供される。
【００３５】
一実施形態において、前記第１の集合に含まれる動き情報予測子は、前記復号化中の画像又は参照画像の画像部分から取得される動きベクトルを有する実動き情報予測子であり、且つ前記追加動き情報予測子は別の実動き情報予測子である。
【００３６】
一実施形態において、前記第１の集合に含まれる動き情報予測子は、前記復号化中の画像又は参照画像の画像部分から取得される動きベクトルを有する実動き情報予測子であり、且つ前記追加動き情報予測子は、前記復号化中の画像又は参照画像の画像部分から取得される動きベクトルを持たない仮動き情報予測子である。
【００３７】
一実施形態において、方法は、前記第１の集合に含まれる動き情報予測子の数が前記目標数より小さいか否かを試験することと、小さい場合、まず、１つ以上の前記別の実動き情報予測子を追加し、次に、別の実動き情報予測子を追加した後の動き情報予測子の数が前記目標数より小さいか否かを再度試験し、小さい場合、１つ以上の前記仮動き情報予測子を追加することとを更に含む。
【００３８】
本発明の更なる態様は、対応する符号化装置、対応する復号装置、並びに対応するコンピュータプログラム及びコンピュータ可読媒体を提供する。
【００３９】
送信損失によりビットストリームが劣化した場合でも、良好な圧縮効率を保持しつつ復号器側での正確な構文解析を可能にする方法を提供することも望ましい。
【００４０】
この目的のために、本発明は、デジタル画像の少なくとも１つの部分が参照画像部分に関する動き補償により符号化される画像のシーケンスをビットストリームに符号化する方法に関する。方法は、符号化する少なくとも１つの画像部分に対して、
前記符号化する画像部分に対して使用される動き情報予測子の目標数を取得するステップと、
前記目標数の動き情報予測子から構成され且つ含まれる各動き情報予測子が他のどの動き情報予測子とも異なる動き情報予測子の集合を生成するステップとを備える。
【００４１】
本発明の方法により、１つの画像部分と関連する動きベクトルのような動き情報を符号化するために使用される動き情報予測子の目標数を体系的に判定できるという利点が得られ、また、すべてが互いに異なっている動き情報予測子を含む集合を生成することにより圧縮が改善されるという利点も得られる。一定の目標数の動き情報予測子を使用することにより起こりうるオーバヘッドは、選択される予測子の多様性により補償され、その多様性は圧縮速度を改善するのに有効である。互いに異なる動き情報予測子の目標数は、符号化する現在の画像部分に対して動き情報予測子として選択される動きベクトルのような動き情報の項目の実際の値とは無関係に判定され且つ一定である。
【００４２】
最初に生成される動き情報予測子の数が事前にわからない場合、例えばＡＭＶＰが使用される場合、本発明の一実施形態は有効である。例えば、初期集合の縮小が実行され且つ縮小処理により除去される当初の予測子の数が事前にわからない場合、動き情報予測子の最終集合が確実に目標数の動き情報予測子から構成されるように保証するために本発明の一実施形態を使用できる。
【００４３】
一実施形態によれば、符号化方法は、
生成された前記動き情報予測子の集合から前記符号化する画像部分の動き情報予測子を選択するステップと、
取得された前記目標数に基づいて前記選択された動き情報予測子を表現する情報項目を符号化するステップと、
を更に備える。
【００４４】
符号化する現在のブロックに対して１つの動き情報予測子が選択され、判定された動き情報予測子の数に応じて、選択された動きベクトル予測子が符号化されると好都合である。動き情報予測子の数を復号器により体系的に検索できるので、損失が起こった場合でも、復号器側で符号化ビットストリームを体系的に構文解析できる。
【００４５】
一実施形態によれば、前記選択された動きベクトル予測子を表現する情報項目は、生成された動き情報予測子の集合の中から選択された動きベクトル予測子の索引であり、この索引は、取得された前記目標数に応じたビット数で符号化される。
【００４６】
一実施形態によれば、前記符号化する画像部分に対して使用される動き情報予測子の目標数を取得するステップにおいて、前記目標数は、デジタル画像のシーケンスの中の符号化するいずれかの画像部分に対する所定の値と等しくなるように設定される。
【００４７】
本実施形態は、符号器又は復号器の双方で補助計算又は伝送によるオーバヘッドを引き起こすことなく、動き情報予測子の目標数を容易に取得できるという利点を有する。
【００４８】
別の実施形態によれば、前記符号化する画像部分に対して使用される動き情報予測子の目標数を取得するステップにおいて、前記目標数は、符号化する所定の画像部分に対して、前記符号化する所定の画像部分の符号化情報に応じて判定される。
【００４９】
例えば処理のために画像が可変サイズのマクロブロックに分割される場合、この符号化情報は、符号化する画像部分が属するマクロブロックのサイズなどの符号化パラメータであると有利である。符号化情報は、例えば符号化する画像部分と関連する符号化モードであってもよい。
【００５０】
更に別の態様によれば、本発明は、デジタル画像の少なくとも１つの部分が参照画像部分に関する動き補償により符号化される画像のシーケンスをビットストリームに符号化する装置に関する。この装置は、符号化する少なくとも１つの画像部分に対して、
前記符号化する画像部分に対して使用される動き情報予測子の目標数を取得する手段と、
前記目標数の動き情報予測子から構成され且つ含まれる各動き情報予測子が他のどの動き情報予測子とも異なる動き情報予測子の集合を生成する手段と、
を備える。
【００５１】
更に別の態様によれば、本発明は、プログラム可能装置にロード可能であり、プログラム可能装置にロードされ且つプログラム可能装置により実行された場合に先に簡単に説明したようなデジタル画像のシーケンスを符号化する方法を実現するための命令のシーケンスを含むコンピュータプログラム製品にも関する。そのようなコンピュータプログラムは一時的であってもよいが、非一時的であってもよい。一実現形態において、コンピュータプログラムは非一時的コンピュータ可読キャリア媒体に記憶される。
【００５２】
デジタル画像のシーケンスを符号化する装置、記憶手段及びコンピュータプログラム製品の特定の特徴及び利点はデジタルビデオ信号符号化方法の特徴及び利点と同様であるので、ここでは繰り返し説明しない。
【００５３】
更に別の態様によれば、更に本発明は、デジタル画像の少なくとも１つの部分が参照画像に関する動き補償により符号化される画像の符号化シーケンスを含むビットストリームを復号化する方法に関する。復号化する少なくとも１つの前記画像部分に対して、この方法は、
前記復号化する画像部分に対して使用される動き情報予測子の目標数を取得するステップと、
前記目標数の動き情報予測子から構成され且つ含まれる各動き情報予測子が他のどの動き情報予測子とも異なる動き情報予測子の集合を生成するステップと、
を備える。
【００５４】
ビットストリームを復号化する方法は、動き情報予測子の目標数を判定でき且つその数の互いに異なる動き情報予測子を使用できるという利点を有する。動き情報予測子の目標数は体系的に検索可能であるので、送信エラーが起こった場合でも、ビットストリームを体系的に構文解析できる。更なる利点は、あらゆる場合にビットストリームの構文解析が単純であり、特に、復号器により取得可能な所定の目標数を使用するのではなく動き情報予測子の数を適応的に減少させる従来の方法と比較して単純である。
【００５５】
一実施形態によれば、方法は、取得された前記目標数に基づいて前記復号化する画像部分に対して選択された動き情報予測子を表現する情報項目を復号化するステップを更に備える。
【００５６】
符号器側で動き情報予測子の数に応じた符号化が適用されていた場合、送信エラーが起こっていたとしても、前記復号化する画像部分に対して選択された動き情報予測子を表現する情報項目を体系的に復号可能である。
【００５７】
更に別の態様によれば、本発明は、デジタル画像の少なくとも１つの部分が参照画像部分に関する動き補償により符号化される画像の符号化シーケンスを含むビットストリームを復号化する装置にも関する。この装置は、少なくとも１つの前記復号化する画像部分に対して、
前記復号化する画像部分に対して使用される動き情報予測子の目標数を取得する手段と、
前記目標数の動き情報予測子から構成され且つ含まれる各動き情報予測子が他のどの動き情報予測子とも異なる動き情報予測子の集合を生成する手段と、
を備える。
【００５８】
更に別の態様によれば、本発明は、コンピュータ又はマイクロプロセッサにより読み取り可能であり、取り外し可能であり且つ先に簡単に説明したようなビットストリームを復号化する方法を実現するためのコンピュータプログラムの命令を記憶する情報記憶手段にも関する。
【００５９】
更に別の態様によれば、本発明は、プログラム可能装置にロード可能であり、プログラム可能装置にロードされ且つプログラム可能装置により実行された場合に先に簡単に説明したようなビットストリームを復号化する方法を実現するための命令のシーケンスを含むコンピュータプログラム製品にも関する。このようなコンピュータプログラムは一時的であってもよいが、非一時的であってもよい。一実現形態において、コンピュータプログラムは非一時的コンピュータ可読キャリア媒体に記憶される。
【００６０】
ビットストリームを復号化する装置、記憶手段及びコンピュータプログラム製品の特定の特徴及び利点は復号化方法の特徴及び利点と同様であるので、ここでは繰り返し説明しない。
【００６１】
本発明の別の態様によれば、デジタル画像の少なくとも１つの部分が参照画像部分に関する動き補償により符号化される画像のシーケンスをビットストリームに符号化する方法であって、制御された多様性を有する動き情報予測子の集合を生成することと、生成された前記動き情報予測子の中から前記符号化する画像部分に対する動き情報予測子を選択することとを備える方法が提供される。
【００６２】
制御された多様性は、集合に含まれる動き情報予測子は互いに異なるが、それらの動き情報予測子のうち１つ以上は統計的に実際の動き情報にごく近いと思われるため、残差（実際の動き情報と関連する予測子との差分）は小さく、従って、効率よく圧縮可能であることを意味する。
【００６３】
ここ方法は、
第１の動き情報予測子を生成するステップと、
１つ以上の第１の動き情報予測子をシード予測子として識別するステップと、
シード予測子に基づいて１つ以上の第２の動き情報予測子を生成するステップと、
第１の動き情報予測子及び／又は第２の動き情報予測子から前記動き情報予測子の集合を形成するステップと、
を備える。
【００６４】
この場合、第１の動き情報予測子は、圧縮効率の点で良好な結果を実現すると統計的に期待される予測子である。第２の動き情報予測子は第１の動き情報に基づき、予測子空間内の第１の動き情報予測子に隣接する他の予測子を組織的に又は体系的に探索するために使用される。そのような予測子も良好な結果を実現すると期待され、検査される予測子の数が多いほど、実際の動き情報との適切な整合を発見する機会は多くなる。
【００６５】
一実施形態において、関係する第１の動き情報予測子の重要度に基づいて、少なくとも１つの動き情報予測子がシード予測子として識別される。
【００６６】
この重要度は、関係する第１の動き情報予測子が第１の動き情報予測子の中で出現する回数に依存する。回数が多いほど、その予測子は重要度が高いと考えられ、集合の中で使用される確率は高くなる。同一の予測子（重複）を探索することも、密接な整合を探索することと同様に効果的である。
【００６７】
あるいは、重要度は、第１の動き情報予測子全体の中で関係する第１の動き情報予測子の代表度がどれほど高いかを表す尺度によって決まる。例えば、第１の動き情報予測子を平均した場合、平均予測子と所定の第１の動き情報予測子との差分又は距離は、その所定の予測子が第１の動き情報予測子全体の中でどれほどの代表度を有するかを表す尺度である。
【００６８】
多様性を制御する方法の１つは、前記シード予測子のうち１つのシード予測子に偏差を加算するか又はそのシード予測子から偏差を減算することにより、少なくとも１つの前記第２の動き情報予測子を生成する。偏差は一定であってもよい。復号器で符号器と同一のシード値を利用可能であるならば、偏差は擬似ランダム値であってもよいだろう。シード予測子がベクトルである場合、シード予測子に別のベクトル、例えば一定の大きさを有し且つシード予測子の方向に対して所定の方向を有するベクトルを加算することにより多様性を制御できる。
【００６９】
同一の前記シード予測子に基づいて複数の前記第２の動き情報予測子が生成される。動き情報予測子がＸ成分及びＹ成分をそれぞれ有するベクトルである場合、それら複数の第２の動き情報予測子は、同一の前記シード予測子の一方又は双方の成分に偏差を加算し且つ／又は一方又は双方の成分から偏差を減算することにより取得される。例えば、同一のシード予測子に対して同一の偏差を加算し且つ同一の偏差を減算することが可能である。シード予測子がＸ成分及びＹ成分を有するベクトルである場合、同一のシード予測子のＸ成分及びＹ成分のいずれか一方又は双方に対して偏差を加算／減算することに複数の置換が存在する。これは、処理に関して大きな負担を伴うことなく制御された多様性を生成する効率のよい方法である。
【００７０】
多様性を制御する別の方法は、第１の動き情報予測子の種々の対（又は他の組み合わせ）の平均を形成することにより複数の第２の動き情報予測子を生成する。例えば、第１の動き情報予測子がＶ１、Ｖ２及びＶ３である場合、Ｖ１とＶ２の平均、Ｖ２とＶ３の平均及びＶ３とＶ１の平均から３つの第２の動き情報予測子を形成できるだろう。また、同一の第１の動き情報予測子の種々の重み付き組み合わせからそれぞれ異なる第２の動き情報予測子を形成することも可能だろう。
【００７１】
第１の動き情報予測子は、符号化中の画像部分との間に所定の空間的関係及び／又は時間的関係を有する１つの画像部分と各々関連している複数の動き情報予測子であるか又はそれらを含む。例えば、ＡＭＶＰで使用される動き情報予測子は第１の動き情報予測子である。それらは適切なシード予測子の供給源である。
【００７２】
別の実施形態において、方法は、
第１の動き情報予測子を生成するステップと、
生成された第１の動き情報予測子間の差分を検査するステップと、
差分に基づいて、１つ以上の第１の動き情報予測子を前記動き情報予測子の集合から排除するステップと、
を備える。
【００７３】
第１の動き情報予測子間の差分を考慮に入れることにより、集合に含まれる動き情報予測子の多様性を制御できる。この場合、第１の動き情報予測子の中からシード予測子を識別し且つシード予測子に基づいて第２の動き情報予測子を生成することは不要である。この方法は、例えば当初から十分に多くの数の第１の動き情報予測子を利用できる場合に効果的である。
【００７４】
多様性を制御する方法として、例えば、別の第１の動き情報予測子に対して最小の差分を有する第１の動き情報予測子を除去できる。多様性の低い予測子を順次除去するために、この処理を必要に応じて再度繰り返すことができる。
【００７５】
本発明のこの態様に関して、前記集合に含まれる動き情報予測子の数は可変であるという点に注意することが重要である。
【００７６】
しかし、本発明の他の基本的な態様では、前記集合に含まれる動き情報予測子の数は、少なくとも符号化する所定の画像部分に対して、更にはすべての画像部分に対して予め定められていてもよい（目標数）。これにより、集合の予測子間の制御される多様性を実現できるばかりでなく、冒頭に挙げた構文解析の問題も解決できる。
【００７７】
本発明のこの態様は、対応する復号化方法、対応する符号化装置及び復号装置並びに符号化及び復号化を実行させるプログラムを更に提供する。
【００７８】
更に別の態様によれば、本発明は、デジタル画像の少なくとも１つの部分が参照画像部分に関する動き補償により符号化される画像のシーケンスを符号化する方法に関する。この方法は、符号化する少なくとも１つの画像部分に対して、
前記符号化する画像部分に対して使用される動き情報予測子の第１の集合を取得するステップと、
動きベクトル予測子の第２の集合に含まれる各動きベクトル予測子が他のどの動きベクトル予測子とも異なり且つ第１の集合のうち選択された動きベクトル予測子から第２の集合の少なくとも１つの動きベクトル予測子が計算されるように、前記動きベクトル予測子の第１の集合から動きベクトル予測子の第２の集合を生成するステップと、
を備える。
【００７９】
生成される動きベクトル予測子の第２の集合は、符号化する画像の部分と関連する動きベクトルを符号化するために使用されるのが好都合である。動きベクトル予測子の第２の集合は、圧縮効率を向上するように生成され（且つ可能であれば選択され）た多様な互いに異なる動きベクトル予測子を含む。
【００８０】
一実施形態によれば、第１の集合の動きベクトル予測子は、選択ステップにおいて重要度値に従って選択される。
【００８１】
一実施形態によれば、符号化方法は、第１の集合の各動きベクトル予測子と関連する重要度値を計算するステップを備える。
【００８２】
一実施形態によれば、第１の集合の動きベクトル予測子は、選択ステップにおいて第１の集合の動きベクトル予測子間の距離に従って選択される。
【００８３】
追加の動きベクトル予測子又は仮動き予測子を更に生成するために１つの動きベクトル予測子を選択する種々の実施形態により、制御された多様性の選択を実現できるので、圧縮効率が改善されるという利点が得られる。実際、初期集合の中で重要度の高い動きベクトル予測子から計算された動きベクトル予測子を使用することにより、符号化する現在の画像部分の動きベクトルを更に正確に表現できる。この場合も、最終集合に一定の数又は目標数の予測子が含まれることは不可欠ではない。
【００８４】
一実施形態によれば、動きベクトル予測子の第１の集合に含まれる動きベクトル予測子は、符号化中の画像及び／又は参照画像の符号化する画像部分と関連する動きベクトルである。第１の集合は、ＡＭＶＰで使用される予測子から構成されるか又はそのような予測子を含んでもよい。
【００８５】
他の特徴及び利点は、添付の図面を参照して限定的な意味を持たない単なる例として提示される以下の説明から明らかになるだろう。
【図面の簡単な説明】
【００８６】
【図１】図１は、動きベクトル予測方式で使用される動きベクトル予測子の集合を概略的に示す先に説明した図である。
【図２】図２は、本発明の一実施形態を実現するように構成された処理装置を示す図である。
【図３】図３は、本発明の一実施形態に係る符号器を示すブロック図である。
【図４】図４は、本発明の一実施形態に係る復号器を示すブロック図である。
【図５】図５は、第１の実施形態に係る動きベクトル予測子の集合の判定を詳細に示す図である。
【図６】図６は、第２の実施形態に係る動きベクトル予測子の集合の判定を詳細に示す図である。
【図７】図７は、動きベクトル予測子の第２の集合を概略的に示す図である。
【図８】図８は、座標系における動きベクトルを概略的に示す図である。
【発明を実施するための形態】
【００８７】
図２は、本発明の一実施形態を実現するように構成された処理装置１０００を示す図である。処理装置１０００は、例えばマイクロコンピュータ、ワークステーション又は軽量ポータブルデバイスである。
【００８８】
処理装置１０００は通信バス１１１３を備え、通信バス１１１３には以下の構成要素が接続されているのが好ましい：
−ＣＰＵとして示されるマイクロプロセッサなどの中央処理装置１１１１；
−ＲＯＭとして示され、本発明を実現するためのコンピュータプログラムを記憶することが可能な読み取り専用メモリ１１０７；
−ＲＡＭとして示され、本発明の方法の実行可能コードと、デジタル画像のシーケンスを符号化する方法及び／又はビットストリームを復号化する方法を実現するために必要な変数及びパラメータを記憶するように構成されたレジスタとを記憶することが可能なランダムアクセスメモリ１１１２；
−処理すべきデジタルデータを送信する通信ネットワーク１１０３に接続された通信インタフェース１１０２。
【００８９】
処理装置１０００は、以下の構成要素をオプションとして更に有してもよい：
−本発明を実現するプログラム及び本発明の実現中に使用又は処理されるデータを記憶することが可能なハードディスクなどのデータ記憶手段１１０４；
−ディスク１１０６に対応し、ディスク１１０６からデータを読み取るか又はディスク１１０６にデータを書き込むように構成されたディスクドライブ１１０５；
−データを表示し且つ／あるいはキーボード１１１０又は他の何らかのポインティングデバイスによってユーザと対話するグラフィカルインタフェースとして機能するスクリーン１１０９。
【００９０】
処理装置１０００は、例えばデジタルカメラ１１００又はマイク１１０８などの種々の周辺装置に接続可能である。各周辺装置は、処理装置１０００にマルチメディアデータを供給するように入出力カード（図示せず）に接続される。
【００９１】
通信バスは、処理装置１０００に含まれるか又は処理装置１０００に接続されている種々の要素の間で通信を実行し且つ相互運用性を実現する。通信バスの表現は限定的ではなく、特に、中央処理装置は、処理装置１０００のどの要素へも直接又は装置１０００の別の要素を介して命令を通信することができる。
【００９２】
ディスク１１０６は、例えば再書き込み可能又は不可能なコンパクトディスク（ＣＤ−ＲＯＭ）、ＺＩＰディスク又はメモリカードなどの情報媒体と置き換えられてもよい。一般的な用語で言えば、装置に一体に組み込まれているか否かを問わず、おそらくは取り外し可能であり且つ実行することによって本発明に係るデジタル画像のシーケンスを符号化する方法及び／又はビットストリームを復号化する方法の実現を可能にする１つ以上のプログラムを記憶するように構成されたマイクロコンピュータ又はマイクロプロセッサにより読み取り可能な情報記憶手段と置き換えられてもよい。
【００９３】
実行可能コードは、読み取り専用メモリ１１０７、ハードディスク１１０４又は例えば先に説明したようなディスク１１０６などの取り外し可能なデジタル媒体のいずれかに記憶される。変形例によれば、プログラムの実行可能コードは、実行前にハードディスク１１０４などの処理装置１０００の記憶手段の１つに記憶されるように、インタフェース１１０２を介して通信ネットワーク１１０３により受信されてもよい。
【００９４】
中央処理装置１１１１は、命令、本発明に係るプログラムのソフトウェアコードの一部又は上記の記憶手段のうち１つの記憶手段に記憶されている命令の実行を制御し且つ指示するように構成される。電源投入時、例えばハードディスク１１０４又は読み取り専用メモリ１１０７などの不揮発性メモリに記憶されているプログラムは、ランダムアクセスメモリ１１１２へ転送される。ランダムアクセスメモリ１１１２は、そのプログラムの実行可能コード並びに本発明を実現するために必要な変数及びパラメータを記憶するレジスタを含む。
【００９５】
本実施形態において、装置は、本発明を実現するためにソフトウェアを使用するプログラム可能装置である。しかし、その代わりに、本発明は、ハードウェア（例えば特定用途向け集積回路（ＡＳＩＣ）の形態）で実現されてもよい。
【００９６】
図３は、本発明の一実施形態に係る符号器を示すブロック図である。符号器は、互いに接続された複数のモジュールにより表される。各モジュールは、例えば処理装置１０００のＣＰＵ１１１１により実行されるべきプログラミング命令の形態で、本発明の一実施形態を実現する方法の対応する１つのステップを実現するように構成される。
【００９７】
当初のデジタル画像のシーケンスｉ0〜ｉn３０１は、符号器３０により入力として受信される。各デジタル画像は、画素として知られるサンプルの集合により表現される。
【００９８】
符号器３０によりビットストリーム３１０が出力される。
【００９９】
ビットストリーム３１０は複数の符号化単位又はスライスから構成され、各スライスは、そのスライスを符号化するために使用される符号化パラメータの値を符号化するスライスヘッダと、符号化ビデオデータから構成されるスライス本体とを含む。
【０１００】
入力デジタル画像は複数のブロックに分割される（３０２）。それらのブロックは画像部分であり、その大きさは可変（例えば４×４、８×８、１６×１６、３２×３２など）である。入力ブロックごとに符号化モードが選択される。符号化モードには、空間的予測符号化すなわちイントラ符号化と、時間的予測符号化すなわちインター符号化という２種類のモードがある。実行可能なこれらの符号化モードが試験される。
【０１０１】
モジュール３０３はイントラ予測を実現する。モジュール３０３において、符号化するブロックの近隣の画素から計算された予測子により、符号化する所定のブロックが予測される。イントラ符号化が選択された場合、選択されたイントラ予測子の標識及び所定のブロックとその予測子との差分が符号化される。
【０１０２】
時間的予測はモジュール３０４及び３０５により実現される。まず、参照画像の集合３１６から１つの参照画像が選択され、符号化する所定のブロックに最も近接する領域である参照画像の一部分（参照領域とも呼ばれる）が動き推定モジュール３０４により選択される。残差ブロックとも呼ばれる選択された参照領域と所定のブロックとの差分が動き補償モジュール３０５により計算される。選択された参照領域は動きベクトルにより指示される。
【０１０３】
インター予測が選択された場合、動きベクトル及び残差ブロックに関する情報が符号化される。ビットレートを更に低下させるために、動きベクトルは、動きベクトル予測子に関する差分により符号化される。動きベクトル予測符号化モジュール３１７により、動き情報予測子とも呼ばれる動きベクトル予測子の集合が動きベクトルフィールド３１８から取得される。
【０１０４】
現在の動きベクトルを符号化するための最良の動きベクトル予測子を選択するために使用される動きベクトル予測子の集合は、以下に図５及び図６に関して更に詳細に説明するように生成されるのが効果的である。符号化する所定の現在のブロックに対して、動きベクトル予測子の所定数Ｎmaxが設定され、その結果、所定数のビットを使用して、選択された動きベクトル予測子を表現する１つの情報項目である選択された動きベクトル予測子の索引を符号化できる。この所定数のビットは、損失が起こった場合でも復号器により検索可能であるので、エラー又は損失の場合でも復号器は確実にビットストリームを構文解析できる。種々の実施形態によれば、圧縮効率を向上するために、Ｎmax個の動きベクトル予測子は、すべて互いに異なるように選択される。
【０１０５】
所定数Ｎmaxの動きベクトル予測子の選択及び動きベクトル予測子の索引を符号化するための対応する数のビットの選択は、ブロックサイズ又は符号化モードなどの符号化パラメータに応じて、シーケンス全体に対して適用されるか、シーケンスのうち一部の画像群に対して適用されるか又はブロックレベルで適用される。例えば、残差ブロックが符号化されるインター予測を使用して符号化されるブロックに対しては、第１の所定の動きベクトル予測子数Ｎmax1が使用され、動きベクトルのみが符号化され、残差ブロックは符号化されないＳＫＩＰモードを使用して符号化されるブロックに対しては、第２の所定の動きベクトル予測子数Ｎmax2が使用される。それぞれの動きベクトル予測子数Ｎmax1及びＮmax2は、例えばスライスヘッダなどのヘッダにその数を挿入することによりビットストリームの中で伝送されるか、あるいは何らかの適切なメタデータフィールドの中で伝送される。
【０１０６】
符号器３０は、符号化モードを選択するモジュール３０６を更に備える。このモジュール３０６は、レート−歪み参照などの符号化損失参照を使用して、空間的予測モード及び時間的予測モードのうちどちらが最良のモードであるかを判定する。残差ブロックに変換３０７が適用され、取得された変換データはモジュール３０８により量子化され、次にモジュール３０９によりエントロピー符号化される。最後に、使用される予測子に関する情報と共に、符号化する現在のブロックの符号化残差ブロックがビットストリームに挿入される（３１０）。「ＳＫＩＰ」モードで符号化されたブロックの場合、ビットストリームの中で予測子に対する参照のみが符号化され、残差ブロックは含まれない。
【０１０７】
符号器３０は、後続画像の動き推定のための参照画像を生成するために符号化画像の復号化を更に実行する。モジュール３１１は、量子化データの逆量子化を実行し、次に逆変換（３１２）が実行される。逆動き予測モジュール３１３は、予測情報を使用して所定のブロックに対してどの予測子を使用すべきかを判定し、逆動き補償モジュール３１４は、参照画像の集合３１６から取得された参照領域にモジュール３１２により取得された残差を実際に追加する。ブロッキング効果を排除し且つ復号画像の視覚的画質を向上するために、デブロッキングフィルタ３１５が任意に適用される。復号器で同一のデブロッキングフィルタが適用されるので、送信損失がない場合、符号器及び復号器は同一の処理を適用する。
【０１０８】
図４は、本発明の一実施形態に係る復号器を示すブロック図である。復号器は、互いに接続された複数のモジュールにより表され、各モジュールは、例えば処理装置１０００のＣＰＵ１１１１により実行されるべきプログラミング命令の形態で、本発明の一実施形態を実現する方法の対応する１つのステップを実現するように構成される。
【０１０９】
復号器４０は、複数の符号化単位から構成されるビットストリーム４０１を受信する。各符号化単位は、符号化パラメータに関する情報を含むヘッダと、符号化ビデオデータを含む本体とから構成される。図３に関して説明したように、符号化ビデオデータはエントロピー符号化されており、所定のブロックに対して、動きベクトル予測子の索引は所定数のビットで符号化される。受信された符号化ビデオデータはエントロピー復号化され（４０２）、逆量子化され（４０３）、次に逆変換（４０４）が適用される。
【０１１０】
詳細には、受信された符号化ビデオデータが復号化する現在のブロックの残差ブロックに対応する場合、復号器は、復号器により使用される参照領域を発見するように、ビットストリームから動き予測情報を更に復号化する。
【０１１１】
モジュール４１０は、動き予測により符号化された現在のブロックごとに動きベクトルの復号化を適用する。この処理は、使用される動きベクトル予測子の数Ｎmaxを判定することと、Ｎmaxに応じたビット数で符号化された動きベクトル予測子索引を検索することとを含む。図３のモジュール３１７と同様に、動きベクトル復号モジュール４１０は、Ｎmax個の動きベクトル予測子を含む集合を生成する。以下に図５及び図６に関して説明する実施形態が同様に適用される。ビットストリームが損失なく受信された場合、復号器は、符号器とまったく同一の動きベクトル予測子の集合を生成する。損失が起こっていた場合、動きベクトル予測子の集合を生成すること、従って現在のブロックと関連する動きベクトルを正確に復号化することが不可能なこともある。しかし、損失が起こっていた場合でも、動きベクトル予測子の索引を符号化するために使用されたビット数を復号器により体系的に検索できるので、ビットストリームの構文解析は常に可能である。
【０１１２】
現在のブロックの動きベクトル予測子の索引が取得された後、損失が起こっていなかった場合、現在のブロックと関連する動きベクトルの実際の値が復号化され、逆動き補償を適用するために使用される（４０６）。復号化された動きベクトルにより指示される参照領域が参照画像（４０８）から抽出され、最終的に逆動き補償が適用される（４０６）。
【０１１３】
イントラ予測が適用されていた場合、モジュール４０５により逆イントラ予測が適用される。
【０１１４】
最後に、復号化ブロックが取得される。符号器で適用されたデブロッキングフィルタ３１５と同様に、デブロッキングフィルタ４０７が適用される。最終的に復号化ビデオ信号４０９が復号器４０により提供される。
【０１１５】
図５は、本発明の第１の実施形態における動きベクトル予測子又は動きベクトル候補の集合の生成を詳細に示す。図５に示されるアルゴリズムのすべてのステップは、ソフトウェアで実現可能であり且つ処理装置１０００の中央処理装置１１１１により実行可能である。
【０１１６】
図５は、参照画像中の１つの参照領域を指定する関連動きベクトルを有する符号化する所定の現在のブロックに対して適用される処理を示すフローチャートである。
【０１１７】
まず、ステップＳ５００において、動きベクトル予測子の初期集合Ｌ１が取得される。集合Ｌ１はＮ個の候補から構成される。一実施形態において、動きベクトル予測子の初期集合は、先に図１を参照して説明した動きベクトル予測スキームＡＭＶＰに従って選択された動きベクトル候補、例えば図１のベクトルＶ0〜Ｖ3と、Ｖ1、Ｖ2及びＶ3から計算されたメディアンベクトルとを含む。従って、Ｎは最大で５である。
【０１１８】
動きベクトル予測子の初期集合Ｌ１は、互いに異なる動きベクトルのみを含むのが好ましい。図１の例で考えると、集合Ｌ１には動きベクトルＶ0、Ｖ1及びメディアンベクトルのみが保持されるべきであり、動きベクトル予測子の数はＮ＝３である。
【０１１９】
別の実施形態では、動きベクトル予測子の初期集合Ｌ１を形成するために、既に計算されていた動きベクトルを選択し且つ利用可能な動きベクトル（すなわち平均、メディアンなど）から他の動きベクトルを計算する他の何らかの方法を適用可能である。
【０１２０】
更に別の実施形態において、動きベクトル予測子の初期集合Ｌ１は空であり、Ｎ＝０である。
【０１２１】
次のステップＳ５０２において、使用する候補動きベクトル予測子の目標数Ｎmaxが取得される。Ｎmaxは、例えばＮmax＝４のように、符号化するデジタル画像のシーケンス全体に対してあらかじめ判定されるか、あるいは符号化する現在のブロック又は符号化する現在のブロックが属する符号化単位（例えばスライス）の符号化パラメータに従って選択されるかのいずれかである。
【０１２２】
例えば、目標数Ｎmaxは、処理すべき現在のブロックが属するマクロブロックに適用される変換のサイズに依存する。例えば、２P+1×２p+1のブロックに対して適用される変換の場合、Ｎmax＝ｐである。
【０１２３】
一実施形態において、動きベクトル予測子の索引を符号化するために使用されるビット数ｋはＮmaxと直接に関連する。すなわちｋ＝ＩＮＴsup（ｌｏｇ2（Ｎmax））であり、式中、ＩＮＴsup（ｘ）は、値ｘの直後の整数値である。ｋビットで符号化可能なすべての索引を使用するように、Ｎmaxは２の累乗、すなわちＮmax＝２ｋであるのが好ましい。伝送に使用されるすべてのビットは、多様な動きベクトル予測子を指定でき且つ圧縮を改善できるように使用される。
【０１２４】
あるいは、互いに異なる動きベクトル予測子の数Ｎmaxが判定された後、動きベクトル予測子を表現する索引を何らかの種類の符号化により符号化できる。詳細には、ハフマン符号化又は算術符号化などの何らかの種類のエントロピー符号化を使用可能である。また、ライス−ゴロム符号又は単進符号などのプレフィックス型コードを使用して索引が符号化されてもよい。
【０１２５】
次に、ステップＳ５０３において、集合Ｌ１の動きベクトル予測子の数ＮがＮmaxより大きいか否かが試験される。
【０１２６】
ＮがＮmaxより大きい場合、試験Ｓ５０３に続き、ステップＳ５０４において、Ｌ１から１つの動きベクトル予測子候補が選択され、次に、ステップＳ５０６において、動きベクトル予測子の修正集合Ｌ２を形成するために、選択された動きベクトル予測子候補がＬ１から除去される。
【０１２７】
ステップＳ５０４の選択は、例えば距離参照などの除去参照に従って適用される。例えば、集合Ｌ１は動きベクトル予測子｛Ｖ1，．．．，ＶN｝を含み、各動きベクトル予測子は、図８に示されるように、座標系におけるＸ軸上及びＹ軸上の成分又は座標により表現されるベクトルである。
【０１２８】
一実施形態では、ステップＳ５０４は、Ｌ１の各ベクトルＶｋとＶｋ自体以外の他のベクトルＶｎとの距離を、次式で演算することで判定する。
ｄ（Ｖk,Ｖn）＝｜Ｖkx−Ｖnx｜＋｜Ｖky−Ｖny｜
式中、|ａ| はａの絶対値を表す。図８の例で考えると、ベクトルＶは座標（３，２）を有し、ベクトルＶ’は座標（４，２）を有し、ベクトルＶ”は座標（３，３）を有する。この例では、ｄ（Ｖ，Ｖ’）＝ｄ（Ｖ，Ｖ”）＝１であるので、Ｖ’及びＶ”はベクトルＶから等しい距離にあり、ｄ（Ｖ’，Ｖ”）＝２である。
【０１２９】
これに代わり、他の何らかの種類の計算方法が距離計算に適用されてもよい。
【０１３０】
発見された最短距離ｄ（Ｖp，Ｖq）は、集合Ｌ１の中の２つの最も近接するベクトルＶp、Ｖqを表すので、それら２つのベクトルのうち一方が除去すべきベクトルとして選択される。それら２つのベクトルのうち一方のベクトルの選択は、各ベクトルと修正集合Ｌ１中の残る動き予測ベクトルとの距離に基づいて実行される。集合Ｌ１の別のベクトルに対して最短の距離を有するいずれか一方のベクトルＶp、Ｖqが除去すべきベクトルとして選択される。
【０１３１】
これにより、修正集合Ｌ２中の残るベクトル間の距離が最大になり、従って、可能な限り大きな多様性で動きベクトル予測子を使用できるという効果が得られる。
【０１３２】
選択されたベクトルの除去後、Ｎの値が減少され（Ｓ５０８）、ＮはＮmaxと比較される（Ｓ５１０）。Ｎの値がまだＮmaxに達していない場合（試験Ｓ５１０の返答が「ｎｏ」である場合）、ステップＳ５０４〜Ｓ５１０が繰り返される。これに対し、ＮがＮmaxに達していた場合、ステップＳ５１０に続いて後述するステップＳ５２２が実行される。
【０１３３】
試験Ｓ５０３に対する返答が「ｎｏ」である場合、試験Ｓ５１２は、ＮがＮmaxより小さいか否かを検査する。ＮがＮmaxより小さくない場合、すなわちＮ＝Ｎmaxである場合、試験Ｓ５１２に続いて後述するステップＳ５２２が実行される。
【０１３４】
試験Ｓ５１２に対する返答が「ｙｅｓ」である場合、すなわちＮがＮmaxより完全に小さい場合、試験Ｓ５１２に続いて、追加動きベクトル予測子候補を取得又は生成するステップＳ５１４が実行される。実際、動きベクトル予測子の初期集合Ｌ１から開始して、動きベクトル予測子の修正集合Ｌ２を形成するために、他の候補を動きベクトル予測子として所定の順序で追加することができる。図７を例にとると、ブロック７１０、７２０、７３０及び７４０の動きベクトルを追加可能な動きベクトル予測子として追加できる。更に、Ｓ５００で選択されなかった７７０、７６０、７５０の中から２つの予測子を追加可能な動きベクトル予測子として追加できる。
【０１３５】
追加可能と考えられる動きベクトル予測子候補ＭＶごとに、その動きベクトル予測子ＭＶが集合Ｌ２に既に含まれているすべての動きベクトル予測子候補と異なるか否かが検査される。
【０１３６】
追加可能と考えられる各動きベクトル候補、図７の例で言えばブロック７１０、７２０、７３０、７４０、７５０、７６０及び７７０の動きベクトルが集合Ｌ２の動きベクトル予測子と等しい場合、ステップＳ５１４において新たな「仮」動きベクトル予測子候補が計算される。
【０１３７】
そのような動きベクトル予測子候補は、現在の画像又は参照画像の他のブロックの動きベクトルではないので、「仮」と呼ばれる。仮動きベクトル予測子は、既存の動きベクトル予測子から、例えば偏差を加算することにより計算される。例えば、座標（ＭＶx，ＭＶy）を有する集合Ｌ２の動きベクトルＭＶから、座標に対して偏差ｏｆｆを加算／減算することにより４つの仮動きベクトル予測子ＭＶ’（ ＭＶx±ｏｆｆ，ＭＶy±ｏｆｆ）を計算できる。通常、ｏｆｆは１又は２と等しくなるように設定される。
【０１３８】
あるいは、圧縮効率を向上するために既存の動きベクトル予測子から始めて多様な動きベクトル予測子を取得できるように、仮動きベクトル予測子を取得するために動きベクトル予測子ＭＶの成分を別の方法で修正してもよい。
【０１３９】
例えば、２つの値ｏｆｆｘ及びｏｆｆｙを使用することにより、動きベクトルＭＶの成分は個別に修正されてもよく、ｏｆｆｘ又はｏｆｆｙのいずれかは０に設定されてもよい。
【０１４０】
一実施形態において、ｏｆｆｘ及びｏｆｆｙは共に対応する成分に比例する。すなわち、ｏｆｆｘ＝ａＭＶx及びｏｆｆｙ＝ｂＭＶyであり、ａ及びｂは通常０．５より小さい。必要に応じて、画素の格子における変位を表現するように、修正後の座標ＭＶx及びＭＶyは最も近い整数値に丸められる。
【０１４１】
一実施形態において、ベクトルＭＶに所定のノルム(norm)の補助動きベクトルが追加される。図８に示されるように、この補助ベクトルは動きベクトルＭＶと同一の方向を有する。補助ベクトル８５０はベクトル８２０に追加される。
【０１４２】
更に別の実施形態では、集合Ｌ２の動きベクトルの分散が計算される。
0005847845.tif 000002
この式中、
0005847845.tif 000003
はＬ２のベクトルのＭＶx座標の平均値を表し、
0005847845.tif 000004
はＬ２のベクトルのＭＶy座標の平均値を表す。次に、計算された値ｖａｒを所定の閾値Ｔと比較することにより偏差ｏｆｆが選択される。Ｔは５０／Ｌ２と等しい値である。ｖａｒがＴより小さい場合、値ｏｆｆは小さく、例えばｏｆｆ＝１である。ｖａｒがＴより大きい場合、ｏｆｆはそれより大きい値に設定され、例えばｏｆｆ＝３である。更に、本実施形態においても、成分ごとに個別の値ｏｆｆｘ又はｏｆｆｙを計算できる。
【０１４３】
ステップＳ５１６において、ステップＳ５１４で取得された１つの動きベクトル予測子が動きベクトル予測子の集合Ｌ２に追加され、数Ｎは１増分される（ステップＳ５１８）。
【０１４４】
次に、ステップＳ５２０において、ＮがＮmaxと等しいか否かが検査される。等しくない場合、ステップＳ５１４〜Ｓ５２０が繰り返される。
【０１４５】
ＮがＮmaxと等しい場合、判定された動きベクトル予測子候補の目標数に達しているので、符号器において、ステップＳ５２０に続き、集合Ｌ２から現在のブロックの最適動きベクトル予測子を選択するステップＳ５２２が実行される。例えば、現在のブロックの動きベクトルを符号化するために最適動きベクトル予測子ＭＶiを選択するように、レート−歪み最適化参照が適用される。
【０１４６】
ステップＳ５２４では、符号器において、動き残差、すなわち現在のブロックの動きベクトルと選択された動きベクトル予測子との差分が符号化されると共に、選択された動きベクトル予測子の標識が符号化される。例えば、Ｌ２の選択された動きベクトル予測子ＭＶiの索引（インデックス）ｉはｋ＝ＩＮＴsup（ｌｏｇ2（Ｎmax））ビットを使用して符号化される。
【０１４７】
あるいは、索引ｉのエントロピー符号化が適用されてもよい。
【０１４８】
更に別の実施形態では、索引ｉは、ライス−ゴロムコードなどのプレフィックス型コードを使用して符号化される。その場合、各値ｉはｉ個の「１」の次に「０」が続く形を使用して符号化される。
【０１４９】
図５のアルゴリズムは、ステップＳ５２２及びＳ５２４を省略して所定のブロックに対して動きベクトル予測子又は動きベクトル候補の集合を生成するために復号器により実現されてもよい。
【０１５０】
復号器では、復号化する所定のブロックに対して選択された動きベクトル予測子ＭＶiの索引ｉは、Ｎmaxの知識、従ってその索引ｉが符号化された時点のビット数ｋの知識に基づいて、ビットストリームから取得される。動きベクトル予測子の集合Ｌ２を取得するためにステップＳ５００〜Ｓ５１８が同様に実現されるので、ビットストリームから復号化される索引ｉは、符号器により実際に使用された動きベクトル予測子を示す。
【０１５１】
送信中に損失が起こっていた場合、数Ｎmaxを復号器により体系的に検索できるので、パケット損失のために復号器で動きベクトル予測子の集合Ｌ２を完全な形で取得できないとしても、選択された動きベクトル予測子を指定する索引ｉを抽出するために、受信されたビットストリームを体系的に構文解析できる。
【０１５２】
図６は、本発明の第２の実施形態における動きベクトル予測子又は動きベクトル候補の集合の生成を詳細に示す。図６に示されるアルゴリズムのすべてのステップは、ソフトウェアで実現可能であり且つ処理装置１０００の中央処理装置１１１１により実行可能である。
【０１５３】
図６は、参照画像中の１つの参照領域を指定する関連動きベクトルを有する符号化する所定の現在のブロックに適用されるフローチャートを表す。
【０１５４】
まず、図５のステップＳ５０２と同様に、ステップＳ６００において、使用する動きベクトル予測子候補の目標数Ｎmaxが判定される。
【０１５５】
一実施形態において、ｋビットで符号化可能な各索引値は、利用可能な１つの動きベクトル予測子に対応するように、Ｎmaxは２kの形をとる。
【０１５６】
例えば、５つの動きベクトル予測子を提案するＡＭＶＰスキームのすべての動きベクトル予測子を使用するためには、１つの動きベクトル予測子の索引を符号化するために３ビットが必要である。この場合、Ｎmax＝２3＝８であるのが好ましい。
【０１５７】
ステップＳ６０２において、動きベクトル予測子候補の初期集合Ｌ１が取得される。例えば、ＡＭＶＰのＮ＝５個の動きベクトル予測子を含む初期集合が選択される。
【０１５８】
Ｎ１個の要素を含む動きベクトル予測子の縮小集合を取得するように重複を排除するために、動きベクトル予測子の初期集合に対して縮小処理が適用される。縮小処理後、以下に説明するステップＳ６１２で後に使用するために、残留する各ベクトルの重複の数が記録され且つメモリに記憶されるのが好ましい。
【０１５９】
次に、Ｎ１が動きベクトル予測子の目標数Ｎmax以上であるか否かが検査される（試験Ｓ６０６）。この試験に対する肯定の返答は、Ｎmaxより大きい数の動きベクトルを含む動きベクトル予測子の第１の集合からアルゴリズムが開始される場合にのみ発生することを指摘しておく。肯定の返答である場合、ステップＳ６０６に続いて、動きベクトル予測子の集合Ｌ２を形成するために集合Ｌ１の最初のＮmax個の動きベクトル予測子候補を選択するステップＳ６３０が実行される。
【０１６０】
否定の返答である場合、すなわちＮ１がＮmaxより小さい場合、動きベクトル予測子の集合は追加の動きベクトル予測子によって補正されなければならない。
【０１６１】
ステップＳ６０８において、動きベクトル予測子候補の第２の集合Ｌ１’が取得される。
【０１６２】
動きベクトル予測子の第２の集合Ｌ１’は、第１の集合Ｌ１の残留する動きベクトル予測子と、追加動きベクトル、例えば図７に表される参照画像のブロック７１０、７２０、７３０及び７４０の動きベクトルに対応する動きベクトルとから構成される。更に、Ｓ６００で選択されなかった７７０、７６０、７５０の中の２つの予測子が追加可能な動きベクトル予測子として追加されてもよい。集合Ｌ１’の各動きベクトル予測子は、対応する索引を有する。
【０１６３】
次に、ステップＳ６１０において、Ｎ２個のベクトルを含む動きベクトル予測子の第２の縮小集合Ｌ１”を取得するために、動きベクトル予測子の第２の集合に対して縮小処理が適用される。この縮小処理は重複を排除するので、Ｌ１”のすべての動きベクトル予測子は互いに異なる。以下に説明するステップＳ６１２で後に使用するために、Ｌ１”に保持されている各ベクトルの重複の数が記録され且つメモリに記憶される。
【０１６４】
次に、ステップＳ６２８において、動きベクトル予測子の数Ｎ２がＮmax以上であるか否かが検査される。肯定の返答である場合、ステップＳ６２８に続いて、先に説明したステップＳ６３０が実行される。
【０１６５】
否定の返答である場合、Ｎmax個の動きベクトル予測子を含む最終集合を取得するために、動きベクトル予測子の第２の縮小集合Ｌ１”に更に多くの動きベクトル予測子を追加することが必要である。
【０１６６】
否定の返答である場合、試験Ｓ６２８に続き、ステップＳ６１２において、動きベクトル予測子の第２の縮小集合Ｌ１”に残留する各動きベクトル予測子候補に重要度値が割り当てられる。
【０１６７】
別の実施形態では、試験Ｓ６０６に対する返答が否定である場合、試験Ｓ６０６の直後にステップＳ６１２が実行される。
【０１６８】
本実施形態において、重要度値は、ステップＳ６０４及びＳ６１０の間に計算され且つ記憶された所定の動きベクトル予測子の重複の数を使用して、所定の動きベクトル予測子の重複の数として計算される。図１の例で説明すると、２つのベクトルＶ0及びＶ3が等しいので、ベクトルＶ0は２に等しい重要度値を有する。
【０１６９】
別の実施形態では、重要度値は、考慮されるベクトルの集合に含まれるベクトルの平均値又は集合に含まれるベクトルのメディアンなどのベクトルの集合の中の１つの代表ベクトルまでの距離の関数として計算される。その場合、重要度値は、集合の所定のベクトルＶｎから代表ベクトルまでの距離の逆値として計算されてもよい。すなわち、ベクトルＶｎが集合の代表ベクトルに近いほど、Ｖｎの重要度は高くなる。
【０１７０】
次に、ステップＳ６１４において、Ｎ２個の残留する動きベクトル予測子候補は、重要度値が大きい順に順序付けされる。いくつかの動きベクトル予測子が同一の重要度値を有する場合、それらの予測子は索引が小さい順に順序付けされる。
【０１７１】
再度順序付けされた動きベクトル予測子に、索引｛Ｖ0，Ｖ1，．．．，ＶN2-1｝が大きい順に再度割り当てられる。
【０１７２】
次のステップＳ６１６において、変数ｎが０に初期設定され且つ変数ＮはＮ２に初期設定される。Ｎ２は、再度順序付けされた集合に含まれる動きベクトル予測子の現在の数である。
【０１７３】
次に、ステップＳ６１６に続くステップＳ６１８において、再度順序付けされた集合に仮動きベクトル予測子候補が追加される。本実施形態において、仮動きベクトル予測子は、残留する動きベクトル予測子から計算され、重要度に従って順序付けされる。再度順序付けされた集合の索引ｎの動きベクトル予測子、すなわち座標（Ｖｎx，Ｖｎy）のＶｎが考慮される。Ｖｎの１つ又は２つの座標に＋ｏｆｆ及び−ｏｆｆを順次追加することにより、座標により定義される８つの仮動きベクトル予測子｛（Ｖｎx＋ｏｆｆ，Ｖｎy），（Ｖｎx−ｏｆｆ，Ｖｎy），（Ｖｎx＋ｏｆｆ，Ｖｎy＋ｏｆｆ），（Ｖｎx＋ｏｆｆ，Ｖｎy−ｏｆｆ），（Ｖｎx−ｏｆｆ，Ｖｎy＋ｏｆｆ），（Ｖｎx−ｏｆｆ，Ｖｎy−ｏｆｆ），（Ｖｎx，Ｖｎy＋ｏｆｆ），（Ｖｎx，Ｖｎy−ｏｆｆ）｝がＶｎから計算される。
【０１７４】
動きベクトル予測子Ｖｎに基づいて仮動きベクトル予測子を計算する別の方法、特に先に図５のステップＳ５１４に関して説明した方法が使用されてもよい。
【０１７５】
この仮動きベクトル予測子のリストは、動きベクトル予測子の現在の集合に追加される。
【０１７６】
ステップＳ６２０において重複が排除される。
【０１７７】
ステップＳ６２２において、値Ｎは、重複と考えられる動きベクトル予測子の除去後に残留している動きベクトル予測子の数に更新される。
【０１７８】
次に、ステップＳ６２４において、ＮがＮmax以上であるか否かが検査される。Ｎmax以上でない場合、ステップＳ６２４に続いて、値ｎを１増分するステップＳ６３４が実行され、且つステップＳ６１８〜Ｓ６２４が繰り返される。
【０１７９】
ステップＳ６２４に対する返答が肯定である場合、十分な数の動きベクトル予測子が取得されていることになる。ステップＳ６２４に続いて、Ｎmax個のベクトルを含む動きベクトル予測子の最終集合Ｌ２を構成するために当初のＮmax個の動きベクトル候補を選択するステップＳ６３０が実行される。
【０１８０】
符号器では、ステップＳ６３０に続いて、図５のステップＳ５２２と同様に、レート−歪み参照などの所定の参照に従って現在のブロックの動きベクトル予測子の集合の中から最適動きベクトル予測子ＭＶｉを選択するステップＳ６３２が実行される。
【０１８１】
ステップＳ６３２に続いて、図５のステップＳ５２４と同様に、動きベクトル予測子ＭＶｉを使用して現在のブロックの動きベクトルを符号化するステップＳ６３４が実行される。例えば、動きベクトル予測子ＭＶｉの索引ｉがｋビットを使用して符号化される。ｋはＮmaxから計算される。すなわち、ｋ＝ＩＮＴsup（ｌｏｇ2（Ｎmax））。
【０１８２】
あるいは、索引ｉのエントロピー符号化が適用されてもよい。
【０１８３】
更に別の実施形態では、索引ｉは、各値ｉがｉ個の「１」の後に「０」が続く形成を使用して符号化されるライス−ゴロムコードなどのプレフィックス型コードを使用して符号化される。
【０１８４】
図６のアルゴリズムは、復号器側ではステップＳ６３２及びＳ６３４が省略される点を除いて、所定のブロックに対して動きベクトル予測子又は動きベクトル候補の集合を生成するために復号器によっても実現可能である。
【０１８５】
復号器では、復号化する所定のブロックに対して選択された動きベクトル予測子ＭＶｉの索引ｉは、Ｎmaxの知識、従って索引ｉが符号化された時点のビット数ｋの知識に基づいて、ビットストリームから取得される。動きベクトル予測子の集合Ｌ２を取得するためにステップＳ６００〜Ｓ６３０が同様に実現されるので、ビットストリームから復号化される索引ｉは、符号器により実際に使用された動きベクトル予測子を指定する。
【０１８６】
送信中に損失が起こる場合、数Ｎmaxを復号器により体系的に検索できるので、損失したパケットによって復号器で動きベクトル予測子の完全な集合Ｌ２を取得できないとしても、選択された動きベクトル予測子を指定する索引ｉを抽出するために、受信されたビットストリームを体系的に構文解析できる。
【０１８７】
以上説明した実施形態は入力画像のブロック分割に基づくが、更に一般的には、符号化又は復号化を実行するためにどのような種類の画像部分が考慮されてもよい。特に、矩形の画像部分又は更に一般的な幾何学形状の画像部分が考慮されてもよい。
【０１８８】
例えば判定された動きベクトル予測子の目標数Ｎmaxより多くの数のベクトルＮを含む大きな動きベクトル予測子候補の集合から開始して、ベクトルの集合を縮小するためにクラスタリング型アルゴリズムを適用するなどの別の実施形態も考えられる。例えば、集合に含まれるベクトルの間の事前定義済み距離に従って、集合をその集合のＮmax個の最も代表的なベクトルに縮小するために、ボロノイ(Voronoi)分割を適用できる。
【０１８９】
更に一般的には上述の実施形態に関して当業者であれば容易に想定できるあらゆる変形又は改良は、本発明の範囲内に含まれると考えられるべきである。
【０１９０】
本出願は、２０１１年１月１２日に出願された英国特許出願第１１００４６２．９号からの優先権を主張し、その内容全体は参考として本明細書に取り入れられている。
【図１】
0005847845.tif 000005
【図２】
0005847845.tif 000006
【図３】
0005847845.tif 000007
【図４】
0005847845.tif 000008
【図５】
0005847845.tif 000009
【図６】
0005847845.tif 000010
【図７】
0005847845.tif 000011
【図８】
0005847845.tif 000012