(57)【要約】      （修正有）【課題】符号化対象のブロックのための動きベクトル予測子の候補を決定する符号化装置を提供する。【解決手段】取得手段は、符号化対象のブロックが含まれるフレームから取得される複数の第１の動きベクトル、及び、符号化対象のブロックが含まれるフレームとは異なるフレームから取得される第２の動きベクトルの内の少なくともいずれかを含むことが可能な複数の動きベクトルを取得する。処理手段は、取得手段によって取得される動きベクトルに係る処理を実行する。取得手段によって同一の動きベクトルが取得されたか判定し、同一の動きベクトルが取得された場合は、その同一の動きベクトルの内の一方を、符号化対象のブロックのための動きベクトル予測子の候補に含めない処理であり、処理手段は、取得手段によって取得された複数の第１の動きベクトルを対象とし、かつ、第２の動き動きベクトルを対象とせずに、処理を実行する。【選択図】図６
2019134455.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象のブロックのための動きベクトル予測子の候補を決定する符号化装置であって、
前記符号化対象のブロックと同じフレームに含まれる他のブロックの動きベクトルである第１の動きベクトルを複数取得する第１の取得処理と、前記符号化対象のブロックが含まれるフレームとは異なるフレームに含まれるブロックの動きベクトルである第２の動きベクトルを取得する第２の取得処理とを実行することが可能な取得手段と、
前記取得手段によって取得される動きベクトルの一部に対して所定の処理を実行して、前記取得手段によって取得された動きベクトルに基づく前記動きベクトル予測子の候補を決定する決定手段と、
を有し、
前記所定の処理は、前記取得手段によって同一の動きベクトルが取得されたか判定し、同一の動きベクトルが取得された場合は、その同一の動きベクトルの内の一方を、前記符号化対象のブロックのための動きベクトル予測子の候補に含め、他方を前記符号化対象のブロックのための動きベクトル予測子の候補に含めない処理であり、
前記決定手段は、
前記取得手段によって取得された前記複数の第１の動きベクトルを対象として前記所定の処理を実行し、
前記異なるフレームにおける前記符号化対象のブロックと同じ位置の領域の右下の位置のブロックの動きベクトルである前記第２の動きベクトルを前記符号化対象のブロックのための動きベクトル予測子の候補に含める場合、当該右下の位置のブロックの動きベクトルである第２の動きベクトルを対象とした前記所定の処理を行わずに前記符号化対象のブロックのための動きベクトル予測子の候補に、当該右下の位置のブロックの動きベクトルである前記第２の動きベクトルを含める
ことを特徴とする符号化装置。
【請求項２】
前記決定手段は、前記取得手段によって取得される複数の動きベクトルの内の少なくとも一部を、前記符号化対象のブロックのための動きベクトル予測子の候補として決定する
ことを特徴とする請求項１記載の符号化装置。
【請求項３】
前記決定手段は、前記所定の処理が行われた後の前記複数の第１の動きベクトルを含む複数の動き情報予測子の候補を、前記符号化対象のブロックのための動きベクトル予測子の候補として決定する
ことを特徴とする請求項１又は２記載の符号化装置。
【請求項４】
前記決定手段は、前記第２の動きベクトルを含む複数の動き情報予測子の候補を、前記符号化対象のブロックのための動きベクトル予測子の候補として決定する
ことを特徴とする請求項１〜３のいずれか１項に記載の符号化装置。
【請求項５】
動きベクトル予測子として、選択される動きベクトル予測子の候補を示すインデックスを符号化する符号化手段
を有することを特徴とする請求項１〜４のいずれか１項に記載の符号化装置。
【請求項６】
前記符号化対象のブロックのための動きベクトルは、動きベクトル残余に動きベクトル予測子を加算することによって導出される
ことを特徴とする請求項１〜５のいずれか１項に記載の符号化装置。
【請求項７】
前記符号化対象のブロックのための動きベクトル予測子の候補の数は２つである
ことを特徴とする請求項１〜６のいずれか１項に記載の符号化装置。
【請求項８】
マージモードにおける、前記符号化対象のブロックのための動きベクトル予測子の候補の数は５つである
ことを特徴とする請求項１〜７のいずれか１項に記載の符号化装置。
【請求項９】
マージモードにおいて、動きベクトル残余は符号化されない
ことを特徴とする請求項１〜８のいずれか１項に記載の符号化装置。
【請求項１０】
前記符号化対象のブロックのための動きベクトル予測子の候補にベクトルを追加する追加手段
を有することを特徴とする請求項１〜９のいずれか１項に記載の符号化装置。
【請求項１１】
前記追加手段は、前記符号化対象のブロックのための動きベクトル予測子の候補にゼロ動きベクトルを追加する
ことを特徴とする請求項１０記載の符号化装置。
【請求項１２】
復号対象のブロックのための動きベクトル予測子の候補を決定する復号装置であって、
前記復号対象のブロックと同じフレームに含まれる他のブロックの動きベクトルである第１の動きベクトルを複数取得する第１の取得処理と、前記復号対象のブロックが含まれるフレームとは異なるフレームに含まれるブロックの動きベクトルである第２の動きベクトルを取得する第２の取得処理とを実行することが可能な取得手段と、
前記取得手段によって取得される動きベクトルの一部に対して所定の処理を実行して、前記取得手段によって取得された動きベクトルに基づく前記動きベクトル予測子の候補を決定する決定手段と、
を有し、
前記所定の処理は、前記取得手段によって同一の動きベクトルが取得されたか判定し、同一の動きベクトルが取得された場合は、その同一の動きベクトルの内の一方を、前記復号対象のブロックのための動きベクトル予測子の候補に含め、他方を前記復号対象のブロックのための動きベクトル予測子の候補に含めない処理であり、
前記決定手段は、
前記取得手段によって取得された前記複数の第１の動きベクトルを対象として前記所定の処理を実行し、
前記異なるフレームにおける前記復号対象のブロックと同じ位置の領域の右下の位置のブロックの動きベクトルである前記第２の動きベクトルを前記復号対象のブロックのための動きベクトル予測子の候補に含める場合、当該右下の位置のブロックの動きベクトルである第２の動きベクトルを対象とした前記所定の処理を行わずに前記復号対象のブロックのための動きベクトル予測子の候補に、当該右下の位置のブロックの動きベクトルである前記第２の動きベクトルを含める
ことを特徴とする復号装置。
【請求項１３】
前記決定手段は、前記取得手段によって取得される複数の動きベクトルの内の少なくとも一部を、前記復号対象のブロックのための動きベクトル予測子の候補として決定する
ことを特徴とする請求項１２記載の復号装置。
【請求項１４】
前記決定手段は、前記所定の処理が行われた後の前記複数の第１の動きベクトルを含む複数の動き情報予測子の候補を、前記復号対象のブロックのための動きベクトル予測子の候補として決定する
ことを特徴とする請求項１２又は１３記載の復号装置。
【請求項１５】
前記決定手段は、前記第２の動きベクトルを含む複数の動き情報予測子の候補を、前記復号対象のブロックのための動きベクトル予測子の候補として決定する
ことを特徴とする請求項１２〜１４のいずれか１項に記載の復号装置。
【請求項１６】
動きベクトル予測子として選択される動きベクトル予測子の候補を示すインデックスを取得するインデックス取得手段と、
前記復号対象のブロックのための動きベクトルを、前記インデックスに基づいて導出する導出手段と
を有することを特徴とする請求項１２〜１５のいずれか１項に記載の復号装置。
【請求項１７】
前記復号対象のブロックのための動きベクトルは、動きベクトル残余に動きベクトル予測子を加算することによって導出される
ことを特徴とする請求項１２〜１６のいずれか１項に記載の復号装置。
【請求項１８】
前記復号対象のブロックのための動きベクトル予測子の候補の数は２つである
ことを特徴とする請求項１２〜１７のいずれか１項に記載の復号装置。
【請求項１９】
マージモードにおける、前記復号対象のブロックのための動きベクトル予測子の候補の数は５つである
ことを特徴とする請求項１２〜１８のいずれか１項に記載の復号装置。
【請求項２０】
マージモードにおいて、動きベクトル残余は符号化又は復号されない
ことを特徴とする請求項１２〜１９のいずれか１項に記載の復号装置。
【請求項２１】
前記復号対象のブロックのための動きベクトル予測子の候補にベクトルを追加する追加手段
を有することを特徴とする請求項１２〜２０のいずれか１項に記載の復号装置。
【請求項２２】
前記追加手段は、前記復号対象のブロックのための動きベクトル予測子の候補にゼロ動きベクトルを追加する
ことを特徴とする請求項２１記載の復号装置。
【請求項２３】
符号化対象のブロックのための動きベクトル予測子の候補を決定する符号化方法であって、
複数の動きベクトルを取得する取得工程と、
前記取得工程によって取得される動きベクトルの一部に対して所定の処理を実行して、前記取得工程によって取得された動きベクトルに基づく前記動きベクトル予測子の候補を決定する決定工程と、
を有し、
前記取得工程において、前記符号化対象のブロックと同じフレームに含まれる他のブロックの動きベクトルである第１の動きベクトルを複数取得する第１の取得工程と、前記符号化対象のブロックが含まれるフレームとは異なるフレームに含まれるブロックの動きベクトルである第２の動きベクトルを取得する第２の取得工程とを実行することが可能であり、
前記符号化対象のブロックの上側のブロックの動きベクトルが利用可能である場合、前記取得工程によって取得される複数の第１の動きベクトルは、前記上側のブロックの動きベクトルを含むことが可能であり、
前記所定の処理は、前記取得工程によって同一の動きベクトルが取得されたか判定し、同一の動きベクトルが取得された場合は、その同一の動きベクトルの内の一方を、前記符号化対象のブロックのための動きベクトル予測子の候補に含め、他方を前記符号化対象のブロックのための動きベクトル予測子の候補に含めない処理であり、
前記決定工程において、
前記取得工程によって取得された前記複数の第１の動きベクトルを対象として前記所定の処理を実行し、
前記異なるフレームにおける前記符号化対象のブロックと同じ位置の領域の右下の位置のブロックの動きベクトルである前記第２の動きベクトルを前記符号化対象のブロックのための動きベクトル予測子の候補に含める場合、当該右下の位置のブロックの動きベクトルである第２の動きベクトルを対象とした前記所定の処理を行わずに前記符号化対象のブロックのための動きベクトル予測子の候補に、当該右下の位置のブロックの動きベクトルである前記第２の動きベクトルを含める
ことを特徴とする符号化方法。
【請求項２４】
復号対象のブロックのための動きベクトル予測子の候補を決定する復号方法であって、
複数の動きベクトルを取得する取得工程と、
前記取得工程によって取得される動きベクトルの一部に対して所定の処理を実行して、前記取得工程によって取得された動きベクトルに基づく前記動きベクトル予測子の候補を決定する決定工程と、
を有し、
前記取得工程において、前記復号対象のブロックと同じフレームに含まれる他のブロックの動きベクトルである第１の動きベクトルを複数取得する第１の取得工程と、前記復号対象のブロックが含まれるフレームとは異なるフレームに含まれるブロックの動きベクトルである第２の動きベクトルを取得する第２の取得工程とを実行することが可能であり、
前記復号対象のブロックの上側のブロックの動きベクトルが利用可能である場合、前記取得工程によって取得される複数の第１の動きベクトルは、前記上側のブロックの動きベクトルを含むことが可能であり、
前記所定の処理は、前記取得工程によって同一の動きベクトルが取得されたか判定し、同一の動きベクトルが取得された場合は、その同一の動きベクトルの内の一方を、前記復号対象のブロックのための動きベクトル予測子の候補に含め、他方を前記復号対象のブロックのための動きベクトル予測子の候補に含めない処理であり、
前記決定工程において、
前記取得工程によって取得された前記複数の第１の動きベクトルを対象として前記所定の処理を実行し、
前記異なるフレームにおける前記復号対象のブロックと同じ位置の領域の右下の位置のブロックの動きベクトルである前記第２の動きベクトルを前記復号対象のブロックのための動きベクトル予測子の候補に含める場合、当該右下の位置のブロックの動きベクトルである第２の動きベクトルを対象とした前記所定の処理を行わずに前記復号対象のブロックのための動きベクトル予測子の候補に、当該右下の位置のブロックの動きベクトルである前記第２の動きベクトルを含める
ことを特徴とする復号方法。
【請求項２５】
請求項１〜１１のいずれか１項に記載の符号化装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【請求項２６】
請求項１２〜２２のいずれか１項に記載の復号装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像のシーケンスを符号化するための方法およびデバイス、および対応するビットストリームを復号するための技術に関する。本発明はさらに、少なくとも１つの参照画像部分に対する動き補償によって予測される画像の画像部分を予測するための少なくとも１つの動き情報予測子を含む、動き情報を導出するための技術に関する。
【背景技術】
【０００２】
本発明は、デジタル信号処理の分野、特に、映像ストリームにおける空間的および時間的な冗長性を減じるために動き補償を使用する映像圧縮の分野に、応用され得る。
【０００３】
例えば、Ｈ．２６３、Ｈ．２６４、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、ＳＶＣといった、多くの映像圧縮フォーマットが、空間的および時間的な冗長性を除去するためにブロックに基づいた離散コサイン変換（ＤＣＴ）および動き補償を使用する。それらは、予測映像フォーマットと呼ばれ得る。映像信号の各フレームまたは画像は、独立して符号化され、かつ復号され得る、スライスに分割される。スライスは典型的に、フレームの矩形部分であるか、より一般的には、フレームの一部またはフレーム全体の部分である。さらに、各スライスは、マクロブロック（ＭＢ）に分割され、各マクロブロックはさらに、ブロック、典型的には８×８ピクセルのブロックに分割される。符号化されるフレームには、（Ｐ−フレームと呼ばれ、１つの参照フレームから予測されるか、Ｂ−フレームと呼ばれ、２つの参照フレームから予測されるか、のいずれかである）時間的に予測されるフレームと、（イントラフレームまたはＩ−フレームと呼ばれる）時間的に予測されないフレームの２つのタイプがある。
【０００４】
時間的な予測では、符号化するブロックに最も近い画像部分または参照エリアを、映像シーケンスの前または後のフレームのいずれかである参照フレーム中で探す。このステップは典型的に、動き推定として知られている。次に、ブロックが、典型的に動き補償と呼ばれるステップにおいて参照エリアを使用して予測され、符号化するブロックと参照部分との間の差分が、動き補償のために使用する参照エリアを示す動きベクトルに関する動き情報の項目とともに符号化される。ＩＮＴＲＡ予測では、予測方向が符号化される。
【０００５】
動き情報を符号化するコストをさらに減じるために、動きベクトルを、動きベクトルと、典型的には符号化するブロックを取り囲んでいるブロックの１つ以上の動きベクトルから計算される動きベクトル予測子との間の差分によって、符号化しても良い。
【０００６】
Ｈ．２６４では、動きベクトルは、符号化するブロックの因果的な近傍に位置する動きベクトルから、例えば、符号化するブロックの上および左に位置するブロックから計算されるメディアン予測子に対して、符号化される。メディアン予測子と現在のブロックの動きベクトルとの間の、残余動きベクトルとも呼ばれる差分が、符号化のコストを減じるために符号化される。
【０００７】
残余動きベクトルを使用して符号化することは、ビットレートをいくらか節約するが、デコーダが、復号するブロックの動きベクトルの値を復号するために、動きベクトル予測子の同一の計算を実行することを必要とする。
【０００８】
最近では、複数の可能な動きベクトル予測子の使用といった、コーディング効率のさらなる改良が提案されている。しばしば動きベクトル競合（ＭＶＣＯＭＰ）と呼ばれる、この方法では、いくつかの動きベクトル予測子または候補の中から、どの動きベクトル予測子が、残余動き情報の符号化コスト、典型的にはレート歪みコストを最小化するかを決定する。残余動き情報は、残余動きベクトル、すなわち、符号化するブロックの実際の動きベクトルと選択された動きベクトル予測子との間の差分と、選択された動きベクトル予測子を示す情報項目、例えば、選択された動きベクトル予測子のインデックスの符号化された値とを含む。選択された動きベクトル予測子のインデックスは、固定のリストサイズに基づき、単項最大符号を用いて、ビットストリームにおいてコーディングされる。
【０００９】
高効率映像コーディング（ＨＥＶＣ）では、空間動きベクトルおよび時間動きベクトルによって構成された予測子の所与のセットからの、最良の予測子の選択を可能にする同一のコンセプトの新たな実現が提案されている。この技法は、アドバンスト動きベクトル予測（ＡＭＶＰ）と呼ばれる。所与のセットのこれらの予測子の中からのいくつかの予測子が、そのセットにおける他の予測子の重複である場合、重複は除去されることができ、さらなる予測子が、予測子の新たな第２のセットを作成するためにそのセットに追加されることができる。追加される予測子は、すでにそのセット内にある空間および時間予測子の組み合わせ、これらの空間および時間予測子から導出される他の予測子、または固定値を有する予測子であることができる。最後に、予測子の第２のセットの重複する予測子が、予測子の第２のセットにおける冗長でない候補を得るために除去される。
【００１０】
生成された予測子の第２のセットは、導出処理の計算の複雑性を著しく増大させる。増大した計算の複雑性は、連鎖的に生じる予測子の生成に起因する。
【００１１】
現在のＨＥＶＣの実現は、インターモードのための多くて２つの予測子と、マージスキップモードおよびマージモードのための多くて５つの予測子とを含む動きベクトル予測子のセットを使用する。
【００１２】
現在のＨＥＶＣ設計では、インター予測は、一方向または双方向であり得る。一方向とは、現在のブロックを予測するために１つの予測子ブロックが使用されることを言う。１つの予測子ブロックは、リストインデックス、参照フレームインデックス、および動きベクトルによって定義される。リストインデックスは、参照フレームのリストに対応する。例えば、２つのリスト、Ｌ０およびＬ１を使用することが考慮され得る。１つのリストは、少なくとも１つの参照フレームを含み、参照フレームは、両方のリストに含まれ得る。動きベクトルは、水平と垂直の２つの成分を有する。動きベクトルは、現在のブロックと参照フレームにおける時間予測子ブロックとの間のピクセルで表された空間的なずれに対応する。したがって、一方向予測のためのブロック予測子は、動きベクトルによって示された、リストの参照フレーム（参照インデックス）からのブロックである。
【００１３】
双方向インター予測では、２つのブロック予測子が考慮される。各リスト（Ｌ０およびＬ１）につき１つである。結果的に、２つの参照フレームインデックスだけでなく、２つの動きベクトルが考慮される。双予測のためのインターブロック予測子は、これらの２つの動きベクトルによって示された２つのブロックの、ピクセル毎の平均である。
【００１４】
インターブロック予測子専用の動き情報は、以下のパラメータによって定義することができる。
【００１５】
・方向のタイプ：一または双
・１つのリスト（一方向）または２つのリスト（双方向）：Ｌ０、Ｌ１、Ｌ０およびＬ１
・１つ（一方向）または２つの参照フレームインデックス（双方向）：ＲｅｆＬ０、ＲｅｆＬ１、（ＲｅｆＬ０、ＲｅｆＬ１）
・１つ（一方向）または２つ（双方向）の動きベクトル：各動きベクトルは２つの成分（水平ｍｖｘおよび垂直ｍｖｙ）を有する。
【００１６】
双方向インター予測子はＢタイプのスライスタイプのためにのみ使用され得る、ということに注意する必要があるだろう。Ｂスライスにおけるインター予測は、一または双方向であり得る。Ｐスライスでは、インター予測は、一方向のみである。
【００１７】
ＨＥＶＣの現在の設計は、インターモードと、マージモードと、マージスキップモードの、３つの異なるインターモードを使用する。これらのモード間の主な違いは、ビットストリームにおけるデータシグナリングである。
【００１８】
インターモードでは、すべてのデータが明示的にシグナリングされる。これは、テクスチャ残余がコーディングされ、ビットストリームに挿入されることを意味する（テクスチャ残余は、現在のブロックとインター予測ブロックとの間の差分である）。動き情報のために、すべてのデータがコーディングされる。したがって、方向のタイプ（一または双方向）がコーディングされる。必要であれば、リストインデックスもコーディングされ、ビットストリームに挿入される。関連する参照フレームインデックスが明示的にコーディングされ、ビットストリームに挿入される。動きベクトルの値が、選択された動きベクトル予測子によって予測される。各成分に関する動きベクトル残余が次にコーディングされて、ビットストリームに挿入され、その後に予測子インデックスが続く。
【００１９】
マージモードでは、テクスチャ残余と予測子インデックスがコーディングされ、ビットストリームに挿入される。動きベクトル残余、方向のタイプ、リストまたは参照フレームのインデックスはコーディングされない。これらの動きパラメータは、予測子インデックスから導出される。したがって、予測子は、動き情報のすべてのデータの予測子である。
【００２０】
マージスキップモードでは、「モード」と予測子インデックス以外の情報はデコーダ側に送信されない。このモードにおいて、処理は、テクスチャ残余がコーディングまたは送信されないことを除き、マージモードと同様である。マージスキップブロックのピクセル値は、ブロック予測子のピクセル値である。
【００２１】
図１に表された動き情報予測子のセットでは、フレームＮにおける、上隅のブロックおよび左隅のブロックを含む、符号化されるブロックの上および左にあるブロックの中から、インターモードの２つの空間動きベクトルが選ばれる。
【００２２】
左の予測子は、「左下」および「左」のブロックの中から選択される。動きベクトルの値が見つかるまで、以下の条件が指定された順序で評価される。
【００２３】
１．同一の参照リストおよび同一の参照ピクチャからの動きベクトル
２．他の参照リストおよび同一の参照ピクチャからの動きベクトル
３．同一の参照リストおよび異なる参照ピクチャからのスケーリングされた動きベクトル
４．他の参照リストおよび異なる参照ピクチャからのスケーリングされた動きベクトル
値が見つからなかった場合、左の予測子は利用不可能であると見なされる。このケースでは、それは、関連するブロックがイントラコーディングされたこと、またはそれらのブロックが存在しないことを示す。上の予測子は、上述したものと同一の条件を用いて、「右上」、「上」、「左上」の中から、この特定の順序で選択される。
【００２４】
低遅延構成では、時間動き予測子が最も近い参照フレームから得られる。Ｂフレームのケースでは、２つの動きベクトルが、フレームＮ−１における同一位置に配置されたブロックのために考慮される。１つは、第１のリスト「Ｌ０」におけるものであり、１つは、第２のリスト「Ｌ１」におけるものである。両方の動きベクトルが存在する場合、最短の時間距離を有する動きベクトルが選択される。両方の動きベクトル予測子が同一の時間距離を有する場合、第１のリスト「Ｌ０」からの動きが選択される。必要であれば、選択された同一位置の動きベクトルが次に、その時間距離と符号化される動きベクトルの時間距離とにしたがって、スケーリングされる。同一位置に配置された予測子が存在しない場合、予測子は利用不可能であると見なされる。
【００２５】
階層Ｂフレームコーディングでは、２つの同一位置の動きベクトルが考慮され得る。両者は、後の参照フレームから得られる。現在のフレームとクロスする動きベクトルが選択される。両方の予測子が現在のフレームとクロスする場合、最短の時間距離を有する動きベクトルが選択される。両方の予測子が同一の時間距離を有する場合、第１のリスト「Ｌ０」からの動きが次に選択される。必要であれば、選択された同一位置の動きベクトルが次に、その時間距離と符号化される動きベクトルの時間距離とにしたがって、スケーリングされる。同一位置に配置された予測子が存在しない場合、予測子は利用不可能であると見なされる。
【００２６】
低遅延のケースおよび階層のケースのために、同一位置に配置されたブロックが複数のパーティションに分割される（場合によっては、同一位置に配置されたブロックが複数の動きベクトルを含む）場合、選択されるパーティションは、左上中央のパーティションである。さらに、時間予測子は、同一位置に配置されたブロックの右下の位置（図１における位置Ｈ）にあるブロックの動きベクトルである。このブロックが存在しない場合、またはそれがイントラコーディングされる場合、同一位置に配置されたブロックの中央の位置にあるブロックが、導出される動きベクトルとして選択される。
【００２７】
動き予測子の値は次に、予測子のセットに追加される。
【００２８】
最後に、抑制処理が適用される。これによりは、選択された動きベクトル予測子のセットから重複する予測子を除去する。この処理の最後に、セットは、重複しない動きベクトル予測子を含む。このセットは、１、２、３、または４つの予測子を含み得る。現在の設計では、予測子のリストは、リストサイズを２に制限するために固定されている。結果的に、選択された予測子は、１ビットでコーディングされる。したがって、リストにおける予測子の数が３または４である場合、最後の予測子、または最後の２つの予測子がそれぞれ、除去される。
【００２９】
マージモード（「クラシカル」またはスキップ）の予測子は、すべての動き情報、すなわち、方向、リスト、参照フレームインデックス、および動きベクトルを表す。予測子インデックスは、表１に示す単項最大符号を用いてコーディングされる。
【００３０】
【表１】
2019134455.tif 000003
【００３１】
リストサイズは、現在のＨＥＶＣ設計では、すべてのマージブロックまたはマージスキップブロックについて５に固定されている。
【００３２】
図２は、インター予測のマージモードのための動きベクトル導出処理の例のフローチャートである（マージスキップおよびマージは、同一の動きベクトル予測子導出処理を有する）。この方法は、参照画像部分に対する画像の画像部分の符号化のための潜在的な動き情報予測子のセットを得るために適用される。導出の第１のステップでは、７つのブロック位置（６０１〜６０７）が考慮される。これらの位置は、図１に示した空間および時間位置である（各位置は、両図面において同様に表記されている）。モジュール６０８が、これらの動きベクトルの利用可能性をチェックし、最大５つの動きベクトルを選択する。ステップ６０８を実現するこのモジュールは、予測子が存在する場合、およびブロックがイントラコーディングされない場合、予測子が利用可能であると決定する。この選択および選択された５つの動きベクトルの検証は、以下の条件にしたがって実行される。
【００３３】
・「左」の動きベクトル（６０１）が利用可能である場合（すなわち、それが存在する場合、およびこのブロックがイントラコーディングされない場合）、「左」のブロックの動きベクトルが選択され、予測子１として使用される（６１０）。
【００３４】
・「上」の動きベクトル（６０２）が利用可能である場合、「上」のブロックの動きベクトルが選択され、予測子２として使用される（６１１）。
【００３５】
・「右上」の動きベクトル（６０３）が利用可能である場合、「右上」のブロックの動きベクトルが選択され、予測子３として使用される（６１２）。
【００３６】
・「左下」の動きベクトル（６０４）が利用可能である場合、「左下」のブロックの動きベクトルが選択され、予測子４として使用される（６１３）。
【００３７】
・前記先行する予測子のうちの１つ（またはそれ以上）が利用可能でない場合、および「左上」の動きベクトル（６０５）が利用可能である場合、「左上」のブロックの動きベクトルが、追加された空間予測子の後に動きベクトル予測子のセットに追加される。
【００３８】
・「Ｈ」の動きベクトルが利用可能である場合、「Ｈ」のブロックの動きベクトルが選択され、予測子５として使用される（６１４）。「Ｈ」のブロックが利用可能でない場合、「同一位置に配置された」動きベクトル（すなわち、現在のフレームにおける現在のブロックと、参照フレームにおいて同一の位置にあるブロックの動きベクトル）の利用可能性がチェックされ、それが存在する場合、それが時間予測子として使用される。モジュール６０８によって実行される利用可能性のチェックは、１サイクルを必要とする。
【００３９】
時間予測子は、必要であればスケーリングされるべきである。実際、時間動きベクトルに関し、方向と参照フレームインデックスは、Ｈまたは同一位置に配置されたブロックに依存しないが、現在のスライスのデータに依存する。現在のブロックがＢスライスの中にある場合、時間予測子は常に双方向であり、Ｐスライスでは常に一方向である。参照フレームの各リスト（Ｌ０、Ｌ１）のための参照フレームインデックスは、左および上の予測子から導出される。リストのために、左と上のブロックの両方が参照フレームインデックスを有しない場合、時間予測子のための参照フレームインデックスはゼロに設定される。
【００４０】
時間予測子のための参照フレームインデックスは、「Ｈ」または「同一位置に配置された」ブロックの参照フレームインデックスに依存しないが、左および上の予測子の参照フレームに依存するので、その動きベクトルの値は、スケーリングされるべきである。これは、時間動きベクトルによってカバーされる時間距離が、現在のフレームと予測子の参照フレームとの間の差分と異なる場合、時間動きベクトルが、正しい時間距離をカバーするためにスケーリングされることを意味する。
【００４１】
モジュール６０８および６０９の最後に、予測子のセットは、多くて５つの予測子を含む（６１０〜６１４）。次に、抑制処理６１５が、予測子のセットから重複する候補を除去するために適用される。この処理は、そのセットの各予測子を、同一のセットにおけるすべての他の予測子と比較することと、そのセットにおける予測子の中に重複がないように、そのセットにおける別の予測子と同等の予測子を除去する（一方で、別の予測子を保持すること、なお、別の予測子の重複する候補はそのセットにおける重複である）こととを含む。Ｐスライスのための抑制処理は、動きベクトルおよびそれらの参照フレームインデックスの値を考慮に入れる。したがって、動きベクトルの２つの成分およびその参照インデックスが、他のすべてと比較され、これらの３つの値が等しい場合のみ、予測子がセットから除去される。Ｂフレームでは、この判定基準は、方向およびリストに拡張される。したがって、予測子は、それが、同一の方向、同一のリスト（Ｌ０、Ｌ１、または、Ｌ０およびＬ１）、参照フレームインデックス、動きベクトルの同一の値（双予測ではＭＶ＿Ｌ０およびＭＶ＿Ｌ１）を使用する場合に、重複する予測子と見なされる。抑制処理は、最大５つの予測子が比較される必要がある場合、１サイクル続く。実際、１２回の比較が１サイクルにおいて計算され得ることが考慮され得る。最も複雑なケースにおける抑制処理のための比較の数は、０〜Ｎ−１の合計に等しい。結果的に、５つの予測子のために、１０（すなわち、４＋３＋２＋１＝１０）回の比較が必要とされる。
【００４２】
この抑制処理６１５の最後に、減じられた予測子のセットが生成される６１６。
【００４３】
次に、動きベクトル生成モジュール６１７が、減じられた動きベクトル予測子のセットに基づいて、新たな候補を生成する。この処理は典型的に、少なくとも１サイクルにわたって続き得る。現在のＨＥＶＣ設計において、使用されるスキームは、最も複雑なケースにおいて最大２０個の予測子をもたらすことがある、ということが注意する必要があるだろう。このモジュール６１７は、予測子の第２のセット６１８を形成する。
【００４４】
予測子の第２のセット６１８が予測子の減じられたセット６１６に追加され、抑制処理が適用されて、減じられたセットと第２のセットの両方と比較されたこの第２の予測子のセットの重複する候補が除去される。この抑制処理は、モジュール６１５の抑制処理と同様である。最後にまだ、リストが５つを超える予測子を含む場合、予測子のリストは、ＨＥＶＣ設計において定義された現在のリストサイズである５に切り捨てられる。この処理は少なくとも１サイクル続く可能性があることに注意する必要があるだろう。しかしながら、サイクルの継続時間は、予測子の第２のセット６１８において生成された予測子の数に依存する。ＨＥＶＣの現在の実現では、この処理は、生成された予測子の量ゆえに３サイクル続く（最も複雑なケース：現在の設計で３２回の比較）。
【００４５】
最後に、抑制処理６１９により、現在のブロックのための予測子が抽出される予測子の最終リスト６２０が形成される。
【発明の概要】
【発明が解決しようとする課題】
【００４６】
動きベクトルの導出は、符号化および復号の複雑性に著しい影響を及ぼす。
【００４７】
本発明は、上記の問題のうちの１つ以上に対処するために考案された。
【課題を解決するための手段】
【００４８】
本発明のある態様によると、符号化対象のブロックのための動きベクトル予測子の候補を決定する符号化装置であって、前記符号化対象のブロックと同じフレームに含まれる他のブロックの動きベクトルである第１の動きベクトルを複数取得する第１の取得処理と、前記符号化対象のブロックが含まれるフレームとは異なるフレームに含まれるブロックの動きベクトルである第２の動きベクトルを取得する第２の取得処理とを実行することが可能な取得手段と、前記取得手段によって取得される動きベクトルの一部に対して所定の処理を実行して、前記取得手段によって取得された動きベクトルに基づく前記動きベクトル予測子の候補を決定する決定手段とを有し、前記所定の処理は、前記取得手段によって同一の動きベクトルが取得されたか判定し、同一の動きベクトルが取得された場合は、その同一の動きベクトルの内の一方を、前記符号化対象のブロックのための動きベクトル予測子の候補に含め、他方を前記符号化対象のブロックのための動きベクトル予測子の候補に含めない処理であり、前記決定手段は、前記取得手段によって取得された前記複数の第１の動きベクトルを対象として前記所定の処理を実行し、前記異なるフレームにおける前記符号化対象のブロックと同じ位置の領域の右下の位置のブロックの動きベクトルである前記第２の動きベクトルを前記符号化対象のブロックのための動きベクトル予測子の候補に含める場合、当該右下の位置のブロックの動きベクトルである第２の動きベクトルを対象とした前記所定の処理を行わずに前記符号化対象のブロックのための動きベクトル予測子の候補に、当該右下の位置のブロックの動きベクトルである前記第２の動きベクトルを含める。
【００４９】
また、本発明のある態様によると、復号対象のブロックのための動きベクトル予測子の候補を決定する復号装置であって、前記復号対象のブロックと同じフレームに含まれる他のブロックの動きベクトルである第１の動きベクトルを複数取得する第１の取得処理と、前記復号対象のブロックが含まれるフレームとは異なるフレームに含まれるブロックの動きベクトルである第２の動きベクトルを取得する第２の取得処理とを実行することが可能な取得手段と、前記取得手段によって取得される動きベクトルの一部に対して所定の処理を実行して、前記取得手段によって取得された動きベクトルに基づく前記動きベクトル予測子の候補を決定する決定手段とを有し、前記所定の処理は、前記取得手段によって同一の動きベクトルが取得されたか判定し、同一の動きベクトルが取得された場合は、その同一の動きベクトルの内の一方を、前記復号対象のブロックのための動きベクトル予測子の候補に含め、他方を前記復号対象のブロックのための動きベクトル予測子の候補に含めない処理であり、前記決定手段は、前記取得手段によって取得された前記複数の第１の動きベクトルを対象として前記所定の処理を実行し、前記異なるフレームにおける前記復号対象のブロックと同じ位置の領域の右下の位置のブロックの動きベクトルである前記第２の動きベクトルを前記復号対象のブロックのための動きベクトル予測子の候補に含める場合、当該右下の位置のブロックの動きベクトルである第２の動きベクトルを対象とした前記所定の処理を行わずに前記復号対象のブロックのための動きベクトル予測子の候補に、当該右下の位置のブロックの動きベクトルである前記第２の動きベクトルを含める。
【００５０】
また、本発明の他の態様によると、少なくとも１つの参照画像部分に対する動き補償による画像の画像部分の符号化または復号のための少なくとも１つの動き情報予測子を導出する方法が提供され、上記画像部分が符号化または復号されるために、この方法は、動き情報予測子の第１のセットの動き情報予測子の少なくとも２つの別個の第１および第２のサブセットを、処理のために提供することと、動き情報予測子の第１のサブセットを処理することと、動き情報予測子の第２のサブセットを処理することであって、動き情報予測子の第２のサブセットの処理の少なくとも一部は、動き情報予測子の第１のサブセットの処理の少なくとも一部と同時に実行されることと、動き情報予測子の第１のサブセットの処理と動き情報予測子の第２のサブセットの処理との結果としてもたらされた動き情報予測子に基づいて、参照画像部分から上記画像部分を予測するために使用可能な動き情報予測子の最終セットを得ることとを含む。
【００５１】
したがって、現在のＨＥＶＣ設計の計算の複雑性が、動きベクトルの導出を並行して処理することにより減らすことができる。
【００５２】
本発明の実施例において、動き情報予測子は、少なくとも１つの動きベクトル予測子を含む。さらなる実施例において、動き情報予測子はさらに、参照画像のインデックス、方向のタイプ：一または双、１つのリスト（一方向）または２つのリスト（双方向）：Ｌ０、Ｌ１、Ｌ０およびＬ１、といった動き情報パラメータを含むことができる。いくつかの実施例において、各動きベクトル予測子は、２つの成分（水平および垂直）を有する。
【００５３】
本発明のいくつかの実施例において、第１のサブセットは、少なくとも１つの時間動き情報予測子を備え、第２のサブセットは、少なくとも１つの空間動き情報予測子を含む。
【００５４】
本発明の特定の実施例において、動き情報予測子の第１のサブセットは、時間動き情報予測子を含み、第１のセットの第１のサブセットの処理は、符号化される画像部分の画像と参照画像部分の画像との間の時間的な差分に基づいて、時間動き情報予測子を時間的にスケーリングすることを含む。
【００５５】
第２のサブセットの処理は、重複しない動き情報予測子のセットを生成することを含んでも良く、同セットの動き情報予測子の中には重複がない。
【００５６】
本発明の実施例において、動き情報予測子は、各動きベクトルの２つの成分および他の関連動き情報パラメータのそれぞれの値が互いに等しい場合、別の動き情報予測子の重複であると見なせる。
【００５７】
第２のサブセットの処理は、第２のサブセットの動き情報予測子に基づいて、１つ以上の追加の動き情報予測子を生成することを含んでも良い。例えば、１つ以上の追加の動き情報予測子を生成することは、第２のサブセットの１つ以上の動き情報予測子を組み合わせること、および／または、第２のサブセットの１つ以上の情報予測子にオフセットを加えることを含む。
【００５８】
スケーリングを必要としない予測子のみに基づいて追加の予測子を生成することにより、演算の複雑性が減じられ、スケーリング処理が予測子の新たな生成と並行して演算されることができる。マージモードの導出動きベクトルのために必要とされるサイクル数が減じられることができ、重複しない予測子のセットを提供するためにマージモードの動きベクトルのために必要とされる比較の数もまた減じられる。
【００５９】
実施例において、動き情報予測子の第１のセットの第２のサブセットの処理は、第２のサブセットが同一の１つ以上の動き情報予測子を含む場合、動き情報予測子の減じられたサブセットを提供するために、上記第２のサブセットの動き情報予測子の中から重複を除去することと、動き情報予測子のさらなる第２のサブセットを提供するために、動き情報予測子の減じられたサブセットに基づいて、さらなる動き情報予測子を生成することとを含む。
【００６０】
本発明の関連する態様では、少なくとも１つの参照画像部分に対する動き補償による画像の画像部分の符号化または復号のための少なくとも１つの動き情報予測子を導出する方法が、独立して提供されることができる。さらに、上記画像部分が符号化または復号されるために、この方法は、動き情報予測子の第１のセット（８０１〜８０７）の動き情報予測子の少なくとも２つの別個の第１および第２のサブセットを、処理のために提供すし、第１のサブセットは、少なくとも１つの時間動き情報予測子を備え、第２のサブセットは、少なくとも１つの空間動き情報予測子を備え、いかなる時間動き情報予測子も除外することと、動き情報予測子の第１のサブセットを処理すること（８０８、８０９）と、動き情報予測子の第２のサブセットを処理すること（８０８、８１５、８１７）と、動き情報予測子の第１のサブセットの処理と動き情報予測子の第２のサブセットの処理との結果としてもたらされた動き情報予測子（８１８、８１４）に基づいて、参照画像部分から上記画像部分を予測するために使用可能な動き情報予測子の最終セット（８２０）を得ること（８１９）とを含み、第２のサブセットの処理は、第２のサブセットが同一の１つ以上の動き情報予測子を含む場合、動き情報予測子の減じられたサブセット（８１６）を提供するために、上記第２のサブセットの動き情報予測子の中からのみ重複を除去することを含む。
【００６１】
時間予測子が第２のサブセットのための選択から除外されるので、第２のサブセットの選択された予測子の中から重複を除去または抑制する処理は、空間予測子のみに適用されることができ、こうして時間動き情報予測子を処理することを含まない、ということが理解されるだろう。
【００６２】
こうして抑制処理から時間予測子を除外することにより、比較の全体数が減り、それによって計算の複雑性が下がる。
【００６３】
逆に、ある特定の実施例では、空間予測子が第１のサブセットのための選択から除外される。第１のセット（すなわち、時間動き予測子）の処理はいくつかの実施例では重複の除去を含まなくても良いが、以下においてさらに詳細に説明されるように、実施例は、最終セットを得るステージにおいて重複を除外するように、処理された第１および第２のサブセットを組み合わせた方が有利であろう。言い換えれば、第１のセットの処理は、したがって、最終セットを得る前に重複の除去を含まなくても良い。
【００６４】
実施例において、第１のサブセットの時間動き情報予測子のスケーリングが、重複を除去するステップおよび第２のサブセットのさらなる動き情報予測子を生成するステップと、同時に実行される。
【００６５】
実施例において、この方法は、動き情報予測子の第１のサブセットの処理と動き情報予測子の第２のサブセットの処理との結果としてもたらされた１つ以上の動き情報予測子が同一である場合、上記画像部分を符号化するために使用可能な動き情報予測子の最終セットを、動き情報予測子の最終セットの中に重複がないように提供するために、動き情報予測子の第１のサブセットの処理と動き情報予測子の第２のサブセットの処理との結果としてもたらされた動き情報予測子の中から重複を除去することを含む。
【００６６】
実施例において、動き情報予測子の第２のサブセットの処理はさらに、さらなる第２のサブセットが同一の１つ以上の動き情報予測子を含む場合、動き情報予測子の第２の減じられたサブセットを提供するために、動き情報予測子のさらなる第２のサブセットの動き情報予測子の中から重複を除去することを含む。
【００６７】
実施例において、さらなる第２のサブセットの動き情報予測子の中から重複を除去するステップは、第１のサブセットの時間動き情報予測子のスケーリングと同時に実行される。
【００６８】
実施例において、この方法は、動き情報予測子の最終セットを得るために、動き情報予測子の第２の減じられたサブセットの動き情報予測子のいずれの重複でもない、動き情報予測子の第１のサブセットの処理の結果としてもたらされた動き情報予測子を、動き情報予測子の第２の減じられたサブセットに追加することを含む。
【００６９】
実施例において、この方法は、動き情報予測子を減らしたサブセットの動き情報予測子のいずれの重複でもない、動き情報予測子の第１のサブセットの処理の結果としてもたらされた動き情報予測子を、動き情報予測子を減らしたサブセットに追加することを含み、動き情報予測子の最終セットは、動き情報予測子の減じられたサブセットおよび動き情報予測子のさらなる第２のサブセットの動きベクトル予測子の中からの重複しない動きベクトルを含む。
【００７０】
実施例において、第１のサブセットの処理と同時に実行される第２のサブセットの処理は、第１のサブセットの処理の継続時間の推定に基づく。
【００７１】
実施例において、動き情報予測子の最終セットを得るために、第１のサブセットの処理の結果としてもたらされた動き情報予測子に追加される、第２のサブセットの処理の結果としてもたらされた動き情報予測子は、第１のサブセットの処理の継続時間に基づく。
【００７２】
実施例において、この方法は、画像部分の画像と参照画像部分の画像との間の時間的な差分に基づいて、時間スケーリング処理が動き情報予測子の第１のサブセットに適用されるか否かを決定するステップを含み、時間スケーリング処理が適用されることが決定された場合、動き情報予測子の第１のサブセットの処理は、画像部分の画像と参照画像部分の画像との間の時間的な差分に基づいて、動き情報予測子の第１のサブセットの動き情報予測子を時間スケーリングするステップを含む。一方、時間スケーリング処理が適用されないことが決定された場合、動き情報予測子の第１のサブセットの処理は、動き情報予測子の第１のサブセットおよび動き情報予測子の第２のサブセットの動き情報予測子の中からの重複しない動き情報予測子を含む減じられたサブセットが、動き情報予測子の第１のサブセットの処理および動き情報予測子の第２のサブセットの処理によって提供されるように、動き情報予測子の第１のサブセットの動き情報予測子の中から重複を除去するステップを含む。
【００７３】
実施例において、時間スケーリング処理が適用されることが決定された場合、予測子の最終セットは、動き情報予測子の第１のサブセットおよび動き情報予測子の第２のサブセットの同時処理の結果としてもたらされた動き情報予測子の中から重複を除去することによって得られる。一方、時間スケーリング処理が適用されないことが決定された場合、予測子の最終セットは、動き情報予測子のさらなる第２のサブセットを提供するために、減じられたサブセットに基づいてさらなる動き情報予測子を生成することと、動き情報予測子のさらなる第２のサブセットの中から重複を除去することとによって得られる。
【００７４】
実施例において、この方法は、動き情報予測子の第１のサブセットを時間的にスケーリングする処理の複雑性を決定することを含み、時間スケーリング処理が所定の継続時間のしきい値よりも長い継続時間にわたって続くと決定された場合、動き情報予測子の最終セットは、動き情報予測子の第１のサブセットの処理と動き情報予測子の第２のサブセットの処理との結果としてもたらされた動き情報予測子の中から重複を除去することによって得られる。一方、時間スケーリング処理が所定の継続時間のしきい値よりも短い継続時間にわたって続くと決定された場合、予測子の最終セットは、動きベクトル予測子の第２のサブセットから得られた動き情報予測子の減じられたサブセットに、動き情報予測子の減じられたサブセットの動き情報予測子のいずれの重複でもない、動き情報予測子の第１のサブセットの処理の結果としてもたらされた動き情報予測子を追加することによって得られ、動き情報予測子の最終セットは、動き情報予測子の減じられたサブセットおよび動き情報予測子のさらなる第２のサブセットの動き情報予測子の中からの重複しない動き情報予測子を含む。
【００７５】
実施例において、動き情報予測子の第１のセットの第２のサブセットの処理は、動き情報予測子の減じられたサブセットを提供するために、上記第２のサブセットの動き情報予測子の中から重複を除去することと、上記第２のサブセットの動き情報予測子のうちの１つに基づいて動き情報予測子のさらなるセットを生成し、上記第２のサブセットの動き情報予測子のうちの上記１つを含むことであって、動き情報予測子のさらなるセットの中には重複がないこととを含み、その方法はさらに、動き情報予測子の重複しないセットを提供するために、動き情報予測子の減じられたサブセットおよび動き情報予測子のさらなるセットの中から重複を除去することを含む。
【００７６】
実施例において、動き情報予測子の第１のセットの第２のサブセットの処理はさらに、動き情報予測子のさらなる第２のサブセットを提供するために、動き情報予測子の減じられたサブセットに基づいて、さらなる動き情報予測子を生成することと、動き情報予測子の第２の重複しないセットを提供するために、動き情報予測子のさらなる第２のサブセットおよび動き情報予測子の重複しないセットの動き情報予測子の中から重複を除去することとを含む。
【００７７】
実施例において、この方法は、動き情報予測子の最終セットを得るために、動き情報予測子の第２の重複しないセットの動き情報予測子のいずれの重複でもない、動き情報予測子の第１のサブセットの処理の結果としてもたらされた動き情報予測子を、動き情報予測子の第２の重複しないセットに追加することを含む。
【００７８】
本発明の第２の態様によると、少なくとも１つの参照画像部分に対する動き補償による画像の画像部分の符号化または復号のための少なくとも１つの動き情報予測子を導出するためのデバイスが提供され、このデバイスは、動き情報予測子の第１のセットの動き情報予測子の少なくとも２つの別個の第１および第２のサブセットを得るための手段と、動き情報予測子の第１のサブセットを処理するための第１の処理手段と、動き情報予測子の第２のサブセットを処理するための第２の処理手段であって、動き情報予測子の第２のサブセットの処理の少なくとも一部を、第１の処理手段によって実行される動き情報予測子の第１のサブセットの処理の少なくとも一部と同時に実行するように動作可能な第２の処理手段と、動き情報予測子の第１のサブセットの処理と動き情報予測子の第２のサブセットの処理との結果としてもたらされた動き情報予測子に基づいて、参照画像部分から上記画像部分を予測するために使用可能な動き情報予測子の最終セットを得るための手段とを備える。
【００７９】
実施例において、第１のサブセットは、少なくとも１つの時間動き情報予測子を備え、第２のサブセットは、少なくとも１つの空間動き情報予測子を含む。
【００８０】
実施例において、第１の処理手段は、符号化される画像部分の画像と参照画像部分の画像との間の時間的な差分に基づいて、上記または各時間動き情報予測子を時間的にスケーリングするように動作可能である。
【００８１】
実施例において、第２の処理手段は、重複しない動き情報予測子のセットを生成するように動作可能であり、同セットの動き情報予測子の中には重複がない。
【００８２】
実施例において、第２の処理手段は、第２のサブセットの動き情報予測子に基づいて、１つ以上の追加の動き情報予測子を生成するように動作可能である。
【００８３】
実施例において、第２の処理手段は、第２のサブセットの１つ以上の動き情報予測子を合成し、および／または、第２のサブセットの１つ以上の情報予測子にオフセットを加えるように動作可能である。
【００８４】
実施例において、第２の処理手段は、第２のサブセットが同一の１つ以上の動き情報予測子を含む場合、動き情報予測子の減じられたサブセットを提供するために、上記第２のサブセットの動き情報予測子の中から重複を除去し、動き情報予測子のさらなる第２のサブセットを提供するために、動き情報予測子の減じられたサブセットに基づいて、さらなる動き情報予測子を生成するように動作可能である。
【００８５】
関連する態様において、少なくとも１つの参照画像部分に対する動き補償による画像の画像部分の符号化または復号のための少なくとも１つの動き情報予測子を導出するためのデバイスが、独立して提供でき、このデバイスは、動き情報予測子の第１のセット（８０１〜８０７）の動き情報予測子の少なくとも２つの別個の第１および第２のサブセットを得るための手段であって、第１のサブセットは、少なくとも１つの時間動き情報予測子を含み、第２のサブセットは、少なくとも１つの空間動き情報予測子を含み、いかなる時間動き情報予測子も除外する手段と、動き情報予測子の第１のサブセットを処理するための第１の処理手段（８０８、８０９）と、動き情報予測子の第２のサブセットを処理するための第２の処理手段（８０８、８１５、８１７）と、動き情報予測子の第１のサブセットの処理と動き情報予測子の第２のサブセットの処理との結果としてもたらされた動き情報予測子（８１８、８１４）に基づいて、参照画像部分から上記画像部分を予測するために使用可能な動き情報予測子の最終セット（８２０）を得るための手段（８１９）とを備え、第２の処理は、第２のサブセットが同一の１つ以上の動き情報予測子を含む場合、動き情報予測子の減じられたサブセット（８１６）を提供するために、上記第２のサブセットの動き情報予測子の中からのみ重複を除去するように動作可能である。
【００８６】
実施例において、第１の処理手段は、第１のサブセットの時間動き情報予測子のスケーリングを、第２の処理手段によって実行される重複を除去する動作および第２のサブセットのさらなる動き情報予測子を生成する動作と、同時に実行するように動作可能である。
【００８７】
実施例において、デバイスは、動き情報予測子の第１のサブセットの処理と動き情報予測子の第２のサブセットの処理との結果としてもたらされた１つ以上の動き情報予測子が同一である場合、上記画像部分を符号化するために使用可能な動き情報予測子の最終セットを、動き情報予測子の最終セットの中に重複がないように提供するために、動き情報予測子の第１のサブセットの処理と動き情報予測子の第２のサブセットの処理との結果としてもたらされた動き情報予測子の中から重複を除去するための抑制手段を含む。
【００８８】
実施例において、第２の処理手段は、さらなる第２のサブセットが同一の１つ以上の動き情報予測子を含む場合、動き情報予測子の第２の減じられたサブセットを提供するために、動き情報予測子のさらなる第２のサブセットの動き情報予測子の中から重複を除去するように動作可能である。
【００８９】
実施例において、第２の処理手段は、第１の処理手段によって実行される第１のサブセットの時間動き情報予測子のスケーリングと同時に、さらなる第２のサブセットの動き情報予測子の中から重複を除去するように動作可能である。
【００９０】
実施例において、デバイスは、動き情報予測子の最終セットを得るために、動き情報予測子の第２の減じられたサブセットの動き情報予測子のいずれの重複でもない、動き情報予測子の第１のサブセットの処理の結果としてもたらされた動き情報予測子を、動き情報予測子の第２の減じられたサブセットに追加するように動作可能な手段を含む。
【００９１】
実施例において、デバイスは、動き情報予測子の減じられたサブセットの動き情報予測子のいずれの重複でもない、動き情報予測子の第１のサブセットの処理の結果としてもたらされた動き情報予測子を、動き情報予測子の減じられたサブセットに追加するための手段を備え、動き情報予測子の最終セットは、動き情報予測子の減じられたサブセットおよび動き情報予測子のさらなる第２のサブセットの動きベクトル予測子の中からの重複しない動きベクトルを含む。
【００９２】
実施例において、デバイスは、第１のサブセットの処理の継続時間を推定するための手段を含み、第１の処理手段によって実行される第１のサブセットの処理と同時に第２の処理手段によって実行される第２のサブセットの処理は、第１のサブセットの処理の継続時間の推定に基づく。
【００９３】
実施例において、デバイスは、第１のサブセットの処理の継続時間を推定するための手段を備え、動き情報予測子の最終セットを得るために、第１のサブセットの処理の結果としてもたらされた動き情報予測子に追加される、第２のサブセットの処理の結果としてもたらされた動き情報予測子は、第１のサブセットの処理の継続時間に基づく。
【００９４】
実施例において、デバイスは、画像部分の画像と参照画像部分の画像との間の時間的な差分に基づいて、時間スケーリング処理が動き情報予測子の第１のサブセットに適用されるか否かを決定するための手段を含み、時間スケーリング処理が適用されることが決定された場合、第１の処理手段は、画像部分の画像と参照画像部分の画像との間の時間的な差分に基づいて、動き情報予測子の第１のサブセットの動き情報予測子の時間スケーリングを実行するように動作可能である。一方、時間スケーリング処理が適用されないことが決定された場合、第１の処理手段は、動き情報予測子の第１のサブセットおよび動き情報予測子の第２のサブセットの動き情報予測子の中からの重複しない動き情報予測子を含む減じられたサブセットが第１の処理手段および第２の処理手段により実行される処理によって提供されるように、動き情報予測子の第１のサブセットの動き情報予測子の中から重複を除去するように動作可能である。
【００９５】
実施例において、デバイスは、動き情報予測子の最終セットを得るための抑制手段を含み、時間スケーリング処理が適用されることが決定された場合、抑制手段は、動き情報予測子の第１のサブセットおよび動き情報予測子の第２のサブセットの同時処理の結果としてもたらされた動き情報予測子の中から重複を除去することによって、予測子の最終セットを得るように動作可能である。一方、時間スケーリング処理が適用されないことが決定された場合、第１または第２の処理手段は、動き情報予測子のさらなる第２のサブセットを提供するために、減じられたサブセットに基づいてさらなる動き情報予測子を得るように動作可能であり、抑制手段は、動き情報予測子のさらなる第２のサブセットの中から重複を除去するように動作可能である。
【００９６】
実施例において、デバイスは、動き情報予測子の第１のサブセットを時間的にスケーリングする処理の複雑性を決定するための手段と、重複しない動き情報予測子の最終セットを得るための抑制手段とを備え、時間スケーリング処理が所定の継続時間のしきい値よりも長い継続時間にわたって続くと決定された場合、抑制手段は、動き情報予測子の第１のサブセットの処理と動き情報予測子の第２のサブセットの処理との結果としてもたらされた動き情報予測子の中から重複を除去するように動作可能である。
【００９７】
一方、時間スケーリング処理が所定の継続時間のしきい値よりも短い継続時間にわたって続くと決定された場合、抑制手段は、動きベクトル予測子の第２のサブセットから得られた動き情報予測子の減じられたサブセットに、動き情報予測子の減じられたサブセットの動き情報予測子のいずれの重複でもない、動き情報予測子の第１のサブセットの処理の結果としてもたらされた動き情報予測子を追加するように動作可能であり、動き情報予測子の最終セットは、動き情報予測子の減じられたサブセットおよび動き情報予測子のさらなる第２のサブセットの動き情報予測子の中からの重複しない動き情報予測子を含む。
【００９８】
実施例において、第２の処理手段は、動き情報予測子の減じられたサブセットを提供するために、上記第２のサブセットの動き情報予測子の中から重複を除去するための手段と、上記第２のサブセットの動き情報予測子のうちの１つに基づいて動き情報予測子のさらなるセットを生成し、上記第２のサブセットの動き情報予測子のうちの上記１つを含むための手段であって、動き情報予測子のさらなるセットの中には重複がない手段とを備え、デバイスはさらに、動き情報予測子の重複しないセットを提供するために、動き情報予測子の減じられたサブセットおよび動き情報予測子のさらなるセットの中から重複を除去するための抑制手段を備える。
【００９９】
実施例において、第２の処理手段はさらに、動き情報予測子のさらなる第２のサブセットを提供するために、動き情報予測子の減じられたサブセットに基づいて、さらなる動き情報予測子を生成するための手段と、動き情報予測子の第２の重複しないセットを提供するために、動き情報予測子のさらなる第２のサブセットおよび動き情報予測子の重複しないセットの動き情報予測子の中から重複を除去するための手段とを備える。
【０１００】
実施例において、抑制手段は、動き情報予測子の最終セットを得るために、動き情報予測子の第２の重複しないセットの動き情報予測子のいずれの重複でもない、動き情報予測子の第１のサブセットの処理の結果としてもたらされた動き情報予測子を、動き情報予測子の第２の重複しないセットに追加するように動作可能である。
【０１０１】
本発明の第３の態様によると、少なくとも１つの参照画像部分に対する動き補償による画像の画像部分の符号化または復号のための少なくとも１つの動き情報予測子を導出する方法が提供され、上記画像部分が符号化または復号されるために、この方法は、動き情報予測子の第１のセットの動き情報予測子の少なくとも２つの別個の第１および第２のサブセットを、処理のために提供することと、動き情報予測子の第１および第２のサブセットのうちの少なくとも１つを処理するための継続時間を、少なくとも１つのサブセットを表すデータに基づいて推定することと、推定された処理の継続時間に依存して、第１のセットの動き情報予測子を処理することであって、動き情報予測子の第１のサブセットを処理することおよび動き情報予測子の第２のサブセットを処理することであって、動き情報予測子の第２のサブセットの処理の少なくとも一部は、動き情報予測子の第１のサブセットの処理の少なくとも一部と同時に実行されること、または動き情報予測子の第１および第２のサブセットを一緒に処理することのいずれかを含む、第１のセットの動き情報予測子を処理することと、第１のセットの動き情報予測子の処理の結果としてもたらされた動き情報予測子に基づいて、参照画像部分から上記画像部分を予測するために使用可能な動き情報予測子の最終セットを得ることとを含む。
【０１０２】
実施例において、この方法は、動き情報予測子の第１のサブセットを処理するための時間の継続時間を動き情報予測子の第２のサブセットを処理するための時間の継続時間と比較することを含み、動き情報予測子の第１のセットの処理はこの比較に基づく。
【０１０３】
実施例において、この方法は、第１のサブセットを処理するための時間の継続時間および／または第２のサブセットを処理するための時間の継続時間を所定のしきい値と比較することを含み、動き情報予測子の第１のセットの処理はこの比較に基づく。
【０１０４】
実施例において、方法は、第１のサブセットの１つのまたは動き情報予測子の時間スケーリング処理を含む、第１のサブセットの処理を含む。
【０１０５】
実施例において、この方法は、第１のサブセットおよび／または第２のサブセットの各動き情報予測子のデータを含む、第１のサブセットおよび／または第２のサブセットを表すデータを含む。
【０１０６】
実施例において、方法は、時間スケーリング処理のための時間距離を含む、各動き情報予測子のデータを含む。
【０１０７】
実施例において、この方法は、上記または各サブセットの動き情報予測子の数を含む、第１のサブセットおよび／または第２のサブセットを表すデータを含む。
【０１０８】
実施例において、方法は、第１のサブセットおよび／または第２のサブセットを処理するための演算の最大数を含む、第１のサブセットおよび／または第２のサブセットを表すデータを含む。
【０１０９】
本発明の第４の態様によると、少なくとも１つの参照画像部分に対する動き補償による画像の画像部分の符号化または復号のための少なくとも１つの動き情報予測子を導出するためのデバイスが提供され、このデバイスは、
動き情報予測子の第１のセットの動き情報予測子の少なくとも２つの別個の第１および第２のサブセットを得るための手段と、
動き情報予測子の第１および第２のサブセットのうちの少なくとも１つを処理するための継続時間を、少なくとも１つのサブセットを表すデータに基づいて推定するための手段と、
動き情報予測子の第１のサブセットを処理するための第１の処理手段、および動き情報予測子の第２のサブセットを処理するための第２の処理手段と、を備え、推定された処理の継続時間に依存して、第２の処理手段は、
第１の処理手段予測子によって実行される動き情報の第１のサブセットの処理の少なくとも一部と同時に、動き情報予測子の第２のサブセットの処理の少なくとも一部を実行するか、または、
動き情報予測子の第１および第２のサブセットを一緒に処理するか、
のいずれかをするように動作可能であり、
デバイスはさらに、第１のセットの動き情報予測子の処理の結果としてもたらされた動き情報予測子に基づいて、参照画像部分から上記画像部分を予測するために使用可能な動き情報予測子の最終セットを得るための手段を備える。
【０１１０】
実施例において、このデバイスは、動き情報予測子の第１のサブセットを処理するための時間の継続時間を動き情報予測子の第２のサブセットを処理するための時間の継続時間と比較するための比較手段を備え、第１の処理手段によって実行される動き情報予測子の第１のセットの処理はこの比較に基づく。
【０１１１】
実施例において、デバイスは、第１のサブセットを処理するための時間の継続時間および／または第２のサブセットを処理するための時間の継続時間を所定のしきい値と比較するための比較手段を備え、第１の処理手段によって実行される動き情報予測子の第１のセットの処理はこの比較に基づく。
【０１１２】
実施例において、第１の処理手段は、第１のサブセットの１つのまたは動き情報予測子の時間スケーリング処理を実行するように動作可能である。
【０１１３】
実施例において、第１のサブセットおよび／または第２のサブセットを表すデータは、第１のサブセットおよび／または第２のサブセットの各動き情報予測子のデータを含む。
【０１１４】
実施例において、各動き情報予測子のデータは、時間スケーリング処理のための時間距離を含む。
【０１１５】
実施例において、第１のサブセットおよび／または第２のサブセットを表すデータは、上記または各サブセットの動き情報予測子の数を含む。
【０１１６】
実施例において、第１のサブセットおよび／または第２のサブセットを表すデータは、第１のサブセットおよび／または第２のサブセットを処理するための演算の最大数を含む。
【０１１７】
本発明のさらなる態様は、少なくとも１つの参照画像部分に対する動き補償による画像の画像部分の符号化または復号のための少なくとも１つの動き情報予測子を導出する方法を提供し、上記画像部分が符号化または復号されるために、この方法は、参照画像部分から上記画像部分を予測するために使用可能な動き情報予測子の最終セットを得るために、動き情報予測子の第１のセットの動き情報予測子を処理することであって、第１のセットを動き情報予測子の少なくとも２つの別個の第１および第２のサブセットに細分化することを含む、動き情報予測子の第１のセットを処理することと、動き情報予測子の第１および第２のサブセットのうちの少なくとも１つを処理するための継続時間を、少なくとも１つのサブセットを表すデータに基づいて推定することと、推定された処理の継続時間に依存して、動き情報の第２のサブセットの処理の少なくとも一部が動き情報予測子の第１のサブセットの処理の少なくとも一部と同時に実行されるように細分化を使用して動き情報予測子の第１のセットの処理を実行すること、または、細分化を使用せずに動き情報予測子の第１のセットの処理を実行することのいずれかをすること、とを含む。
【０１１８】
本発明のさらなる別の態様は、少なくとも１つの参照画像部分に対する動き補償による画像の画像部分の符号化または復号のための少なくとも１つの動き情報予測子を導出するためのデバイスを提供し、このデバイスは、参照画像部分から上記画像部分を予測するために使用可能な動き情報予測子の最終セットを得るために、動き情報予測子の第１のセットの動き情報予測子を処理するための処理手段であって、第１のセットを動き情報予測子の少なくとも２つの別個の第１および第２のサブセットに細分化するための手段を備える処理手段と、動き情報予測子の第１および第２のサブセットのうちの少なくとも１つを処理するための継続時間を、少なくとも１つのサブセットを表すデータに基づいて推定するための手段とを備え、処理手段は、推定された処理の継続時間に依存して、動き情報の第２のサブセットの処理の少なくとも一部が動き情報予測子の第１のサブセットの処理の少なくとも一部と同時に実行されるように細分化を使用して動き情報予測子の第１のセットの処理を実行すること、または、細分化を使用せずに動き情報予測子の第１のセットの処理を実行することのいずれかをするように動作可能である。
【０１１９】
本発明のさらなる別の態様は、少なくとも１つの参照画像部分に対する動き補償による画像の画像部分の符号化または復号のための少なくとも１つの動き情報予測子を導出する方法を提供し、上記画像部分が符号化されるために、この方法は、動き情報予測子の第１のセットを得ることと、動き情報予測子の第１のセットの動き情報予測子の少なくとも２つの別個のサブセットを同時処理することとを含み、この同時処理は、参照画像部分から上記画像部分を予測するために使用可能な動き情報予測子の最終セットを提供する。
【０１２０】
本発明の第５の態様は、デジタル画像のシーケンスをビットストリームの中に符号化する方法を提供し、画像の少なくとも１つの部分が、参照画像部分に対する動き補償によって符号化され、符号化する少なくとも１つの画像部分のために、この方法は、本発明の第１または第３の態様の実施例のいずれかの方法によって、少なくとも１つの参照画像部分に対する画像部分の動き予測のために使用可能な動き情報予測子のセットを得ることと、画像部分を符号化するために情報予測子のセットから少なくとも１つの動き情報予測子を選択することと、選択された少なくとも１つの動き情報予測子を使用して画像部分を符号化すること、とを含む。
【０１２１】
この方法は、選択された動き情報予測子を識別する情報項目を符号化することを含んでも良い。
【０１２２】
本発明の第６の態様は、画像のシーケンスをビットストリームの中に符号化するための符号化デバイスを提供し、画像の少なくとも１つの部分が、参照画像部分に対する動き補償によって符号化され、この符号化デバイスは、本発明の第２または第４の態様の実施例のいずれかによって、少なくとも１つの動き情報予測子を導出するためのデバイスと、画像部分を符号化するために情報予測子のセットから少なくとも１つの動き情報予測子を選択する選択手段と、選択された少なくとも１つの動き情報予測子を使用して画像部分を符号化するための符号化手段と、を備える。
【０１２３】
本発明の第７の態様は、符号化された画像のシーケンスを備えるビットストリームを復号する方法を提供し、画像の少なくとも１つの部分は、参照画像部分に対する動き補償によって符号化されていて、この方法は、少なくとも１つの画像部分が復号されるために、本発明の第１または第３の態様の実施例のいずれか１つの方法によって、少なくとも１つの参照画像部分に対する画像部分の動き予測のために使用可能な動き情報予測子のセットにおいて得ることと、画像部分を復号するために情報予測子のセットから少なくとも１つの動き情報予測子を選択することと、選択された少なくとも１つの動き情報予測子を使用して画像部分を復号することとを含む。
【０１２４】
本発明の第８の態様は、符号化された画像のシーケンスを備えるビットストリームを復号するための復号デバイスを提供し、画像の少なくとも１つの部分は、参照画像部分に対する動き補償によって符号化されていて、この復号デバイスは、
本発明の第２または第４の態様の実施例のいずれか１つのデバイスによって、少なくとも１つの動き情報予測子を導出するためのデバイスと、画像部分を復号するために情報予測子のセットから少なくとも１つの動き情報予測子を選択するための選択手段と、選択された少なくとも１つの動き情報予測子を使用して画像部分を復号するための復号手段とを備える。
【０１２５】
本発明の異なる態様の実施例は、ＰおよびＢスライスのために、および、一および双方向のインター予測の両方のために使用され得る、ということが理解されるだろう。
【０１２６】
本発明に係る方法の少なくとも一部は、コンピュータ実装されることができる。したがって、本発明は、完全にハードウェアの実施例、完全にソフトウェアの実施例（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、または本明細書においてはすべてが一般的に「回路」、「モジュール」、または「システム」と呼ばれ得る、ソフトウェアおよびハードウェアの態様を組み合わせた実施例の形をとることができる。さらに、本発明は、媒体に組み込まれたコンピュータ使用可能なプログラムコードを有する表現の任意の有形媒体に組み込まれたコンピュータプログラム製品の形をとることができる。
【０１２７】
本発明はソフトウェアで実現されることができるので、本発明は、プログラム可能な装置への供給のためのコンピュータ読取可能なコードとして、任意の適切な搬送媒体に組み込まれて実現できる。有形の搬送媒体は、フロッピーディスク、ＣＤ−ＲＯＭ、ハードディスクドライブ、磁気テープデバイス、またはソリッドステートメモリデバイス、等といった記憶媒体を備えることができる。一時的な搬送媒体は、電気信号、電子信号、光信号、音響信号、磁気信号、または電磁気信号、例えば、マイクロウェーブまたはＲＦ信号といった信号を含むことができる。
【０１２８】
本発明の実施例がここで、例としてのみ、以下の図面に関連して説明される。
【図面の簡単な説明】
【０１２９】
【図１】図１は、本発明の実施例のコンテキストにおける動きベクトル予測処理において使用される動きベクトル予測子のセットの模式図である。
【図２】図２は、動きベクトル予測子のセットを導出するための従来技術の処理のステップを示すフローチャートである。
【図３】図３は、本発明の実施例が実現され得る処理デバイスのコンポーネントを示すブロック図である。
【図４】図４は、本発明の実施例に係るエンコーダデバイスのコンポーネントを示すブロック図である。
【図５】図５は、本発明の実施例に係るデコーダデバイスのコンポーネントを示すブロック図である。
【図６】図６は、本発明の第１の実施例に係る動き情報予測子のセットを得るための方法のステップを示すフローチャートである。
【図７】図７は、本発明の第２の実施例に係る動き情報予測子のセットを得るための方法のステップを示すフローチャートである。
【図８】図８は、本発明の第３の実施例に係る動き情報予測子のセットを得るための方法のステップを示すフローチャートである。
【図９】図９は、本発明の第４の実施例に係る動き情報予測子のセットを得るための方法のステップを示すフローチャートである。
【図１０ａ】図１０の（ａ）は、本発明の１つ以上の実施例に係る動きベクトル予測子の生成のためのスキームを模式図的に示した図である。
【図１０ｂ】図１０の（ｂ）は、本発明の１つ以上の実施例に係る動きベクトル予測子の生成のためのスキームを模式図的に示した図である。
【図１０ｃ】図１０の（ｃ）は、本発明の１つ以上の実施例に係る動きベクトル予測子の生成のためのスキームを模式図的に示した図である。
【図１１】図１１は、本発明の実施例において使用される時間予測子のスケーリングの処理を示す模式図である。
【発明を実施するための形態】
【０１３０】
図３は、本発明の少なくとも１つの実施例を実現するように構成された処理デバイス２００を模式図的に示す。処理デバイス２００は、マイクロコンピュータ、ワークステーション、または軽量のポータブルデバイスといったデバイスで良い。デバイス２００は、好ましくは、
−ＣＰＵと示された、マイクロプロセッサのような中央処理装置２１１、
−ＲＯＭと示された、本発明を実現するためのコンピュータプログラムを記憶するための読み出し専用メモリ２０７、
−ＲＡＭと示された、本発明の実施例の方法の実行可能なコードを記憶するためのランダムアクセスメモリ２１２、ならびに本発明の実施例に係るデジタル画像のシーケンスを符号化する方法および／またはビットストリームを復号する方法を実現するのに必要な変数およびパラメータを記録するのに適応したレジスタ、
−処理されるデジタルデータが送信される通信ネットワーク２０３に接続された通信インターフェース２０２が接続された、通信バス２１３を備える。
【０１３１】
任意で、装置２００はまた、以下のコンポーネント、
−本発明の１つ以上の実施例の方法を実現するためのコンピュータプログラムおよび本発明の１つ以上の実施例の実現中に使用または生成されるデータを記憶するための、ハードディスクのようなデータ記憶手段２０４、
−ディスク２０６のためのディスクドライブ２０５であって、ディスク２０６からのデータの読み出し、または同ディスクへのデータの書き込みに適応したディスクドライブ、
−キーボード２１０または任意の他のポインティング手段によって、データを表示し、および／またはユーザとのグラフィカルインターフェースとしての役割を果たす、スクリーン２０９を含んでも良い。
【０１３２】
装置２００は、例えば、各々が装置２００にマルチメディアデータを供給するように入力／出力カード（図示せず）に接続されている、デジタルカメラ２００またはマイクロフォン２０８といった様々な周辺機器に接続されることができる。
【０１３３】
通信バスは、装置２００に含まれた、またはそれに接続された、様々なエレメント間の通信およびインターオペラビリティを提供する。バスの表現は限定的ではなく、特に、中央処理装置は、装置２００の任意のエレメントに対し、直接的に、または装置２００の別のエレメントによって、命令を伝達するように動作可能である。
【０１３４】
ディスク２０６は、例えば、書き換え可能または不可能なコンパクトディスク（ＣＤ−ＲＯＭ）、ＺＩＰディスク、またはメモリカードといった任意の情報媒体によって、および、一般的な用語では、マイクロコンピュータまたはマイクロプロセッサによって読み出されることができ、装置と一体型または非一体型であることができ、場合によっては取り外し可能であることができ、その実行が本発明に係るデジタル画像のシーケンスを符号化する方法および／またはビットストリームを復号する方法の実現を可能にする１つ以上のプログラムを記憶するのに適応することができる、情報記憶手段によって、置き換えられることができる。
【０１３５】
実行可能なコードが、読み出し専用メモリ２０７、ハードディスク２０４、または、取り外し可能なデジタル媒体、例えば、上述したディスク２０６のいずれかに記憶されることができる。変形例によると、プログラムの実行可能なコードは、実行される前に、ハードディスク２０４のような装置２００の記憶手段の１つに記憶させるために、通信ネットワーク２０３によって、インターフェース２０２を介して、受信されることができる。
【０１３６】
中央処理装置２１１は、本発明に係る１つのプログラムまたは複数のプログラムの命令またはソフトウェアコードの一部、上述した記憶手段の１つに記憶される命令の実行の制御および指示にするように構成されている。起動すると、不揮発性メモリ、例えば、ハードディスク２０４または読み出し専用メモリ２０７に記憶された１つのプログラムまたは複数のプログラムが、本発明を実現するために必要な変数およびパラメータを記憶するためのレジスタ、ならびにランダムアクセスメモリ２１２に転送されるとランダムアクセスメモリ２１２は、１つのプログラムまたは複数のプログラムの実行可能なコードを持つことになる。
【０１３７】
この実施例では、装置は、本発明を実現するためのソフトウェアを使用するプログラム可能な装置である。しかしながら、あるいは本発明は、（例えば、特定用途向け集積回路、すなわちＡＳＩＣの形状の）ハードウェアに実装されていても良い。
【０１３８】
図４は、本発明の少なくとも１つの実施例に係るエンコーダのブロック図を示す。このエンコーダは、接続されたモジュールによって表され、各モジュールは、例えば、デバイス２００のＣＰＵ２１１によって実行されるプログラミング命令の形で、本発明の１つ以上の実施例に係る画像シーケンスの画像を符号化する少なくとも１つの実施例を実現する方法の少なくとも１つの対応するステップを実現するのに適応する。
【０１３９】
デジタル画像の元のシーケンスｉ０〜ｉｎ３０１がエンコーダ３０により入力として受け取られる。各デジタル画像は、ピクセルとして知られているサンプルのセットによって表される。
【０１４０】
ビットストリーム３１０が、符号化処理の実現の後にエンコーダ３０により出力される。
【０１４１】
ビットストリーム３１０は、複数の符号化ユニットまたはスライスを含み、各スライスは、そのスライスを符号化するために使用された符号化パラメータの符号化値を送信するためのスライスヘッダと、符号化された映像データを備えるスライスボディとを含む。
【０１４２】
入力デジタル画像ｉ０〜ｉｎ３０１は、モジュール３０２によってピクセルのブロックに分割される。ブロックは、各画像部分に対応し、可変サイズ（例えば、４×４、８×８、１６×１６、３２×３２ピクセル）であっても良い。コーディングモードが各入力ブロックのために選択される。コーディングモードの２つのファミリが提供される。空間予測コーディング（イントラ予測）に基づいたコーディングモードと、時間予測に基づいたコーディングモード（インターコーディング、Ｂｉｄｉｒ、ＳＫＩＰ）である。可能なコーディングモードがテストされる。
【０１４３】
モジュール３０３は、イントラ予測を実現し、符号化される所与のブロックが、符号化される同ブロックの近傍のピクセルから計算された予測子によって予測される。イントラコーディングが選択された場合、選択されたイントラ予測子のインジケーションと、所与のブロックとその予測子との間の差分とが、残余を提供するために符号化される。
【０１４４】
時間予測は、動き推定モジュール３０４および動き補償モジュール３０５によって実現される。まず、参照画像のセット３１６の中から参照画像が選択され、参照エリアまたは画像部分とも呼ばれ、符号化される所与のブロックに最も近いエリアである参照画像の部分が、動き推定モジュール３０４によって選択される。動き補償モジュール３０５が次に、選択されたエリアを使用して符号化されるブロックを予測する。残余ブロックとも呼ばれる、選択された参照エリアと所与のブロックとの間の差分が、動き補償モジュール３０５によって計算される。選択された参照エリアは、動きベクトルによって示される。
【０１４５】
したがって、両方のケース（空間および時間予測）において、残余が、予測される元の予測されたブロックから予測を減算することによって計算される。
【０１４６】
モジュール３０３によって実現されるＩＮＴＲＡ予測では、予測方向が符号化される。時間予測では、少なくとも１つの動きベクトルが符号化される。
【０１４７】
インター予測が選択された場合、動きベクトルと残余ブロックとに関連する情報が符号化される。ビットレートをさらに減じるために、動きベクトルが、動きベクトル予測子に対する差分によって符号化される。動き情報予測子のセットのうちの動きベクトル予測子が、動きベクトル予測およびコーディングモジュール３１７により、動きベクトルフィールド３１８から得られる。
【０１４８】
現在の動きベクトルの符号化のための動きベクトル予測子がそこから選択される、動きベクトル予測子のセットは、図７〜図１０のいずれか１つに関し以下により詳細に説明されるように生成される。符号化される所与の現在のブロックのために、本発明のいくつかの実施例では、動きベクトル予測子の数Ｎが決定され、次に、選択された動きベクトル予測子を表す情報項目である、選択された動きベクトル予測子のインデックスが、動きベクトル予測子の数Ｎに応じて所定数のビットを使用して符号化されることができる。この所定数のビットは、損失のケースであってもデコーダにより検索されることもできるので、デコーダは、誤りまたは損失のケースであってもビットストリームを確実に構文解析可能であり得る。Ｎ個の動きベクトル予測子は、本発明の様々な実施例によると、圧縮効率を高めるためにすべてが互いに異なるように選択される。
【０１４９】
エンコーダ３０はさらに、コーディングモードの選択のための選択モジュール３０６を備える。選択モジュール３０６は、空間予測モードと時間予測モードのうちのどちらが最良のモードであるかを決定するために、レート歪み判定基準のような符号化コスト判定基準を適用する。冗長性をさらに減じるために、変換が変換モジュール３０７により残余ブロックに適用され、得られた変換データは次に、量子化モジュール３０８により量子化され、エントロピー符号化モジュール３０９によりエントロピー符号化される。最後に、符号化されている現在のブロックの符号化された残余ブロックが、選択された動きベクトル予測子のインデックスのような、使用された予測子に関連する情報とともに、ビットストリーム３１０に挿入される。「ＳＫＩＰ」モードで符号化されたブロックでは、予測子への参照のみが、残余ブロックなしにビットストリームにおいて符号化される。
【０１５０】
エンコーダ３０はまた、後続画像の動き推定のための参照画像をもたらすために、符号化された画像の復号を実行する。これにより、エンコーダとビットストリームを受信するデコーダは、同一の参照フレームを有することが可能になる。逆量子化モジュール３１１が量子化されたデータの逆量子化を実行し、その後に逆変換モジュール３１２による逆変換が続く。逆イントラ予測モジュール３１３が、予測情報を使用して、所与のブロックのためにどの予測子を使用するかを決定し、逆動き補償モジュール３１４が実際に、参照画像のセット３１６から得られた参照エリアに、モジュール３１２により得られた残余を加算する。任意で、デブロッキングフィルタ３１５が、ブロッキング効果を除去し、復号された画像の視覚品質を高めるために適用される。同一のブロッキングフィルタがデコーダで適用されるので、伝送損失がない場合、エンコーダとデコーダは同一の処理を適用する。
【０１５１】
図５は、本発明の少なくとも１つの実施例に係るデコーダ４０のブロック図を示す。このデコーダは、接続されたモジュールによって表され、各モジュールは、例えば、デバイス２００のＣＰＵ２１１によって実行されるプログラミング命令の形で、本発明の実施例を実現する方法の対応するステップを実現するのに適用される。
【０１５２】
デコーダ４０は、符号化ユニットを含むビットストリーム４０１を受信し、各符号化ユニットは、符号化パラメータについての情報を含むヘッダと符号化された映像データを含むボディとによって構成されている。図４に関連して説明したように、符号化された映像データはエントロピー符号化され、動きベクトル予測子のインデックスが所与のブロックのために所定数のビットで符号化される。受信された符号化映像データは、モジュール４０２によりエントロピー復号される。残余データが次に、モジュール４０３により逆量子化され、次に、逆変換がモジュール４０４により適用され、ピクセル値が得られる。
【０１５３】
モードデータもまたエントロピー復号され、そのモードに基づいて、ＩＮＴＲＡタイプの復号またはＩＮＴＥＲタイプの復号が実行される。
【０１５４】
ＩＮＴＲＡモードのケースでは、ＩＮＴＲＡ予測子が、ビットストリームにおいて指定されたイントラ予測モードに基づきイントラ逆予測モジュール４０５により決定される。
【０１５５】
モードがＩＮＴＥＲである場合、動き予測情報が、エンコーダによって使用された参照エリアを見つけるためにビットストリームから抽出される。動き予測情報は、参照フレームインデックスおよび動きベクトル残余によって構成される。動きベクトル予測子が、動きベクトル復号モジュール４１０によって、動きベクトルを得るために、動きベクトル残余に加算される。
【０１５６】
動きベクトル復号モジュール４１０は、動き予測によって符号化された現在のブロックの各々のために動きベクトル復号を適用する。現在のブロックのための動きベクトル予測子のインデックスが得られると、現在のブロックに関連づけられた動きベクトルの実際の値が復号され、モジュール４０６により逆動き補償を適用するために使用できる。復号された動きベクトルによって示された参照エリアが、逆動き補償４０６を適用するために参照画像４０８から抽出される。動きベクトルフィールドデータ４１１が、次の復号動きベクトルの逆予測に使用されるために、復号された動きベクトルにより更新される。
【０１５７】
最後に、復号されたブロックが得られる。デブロッキングフィルタ４０７が、エンコーダで適用されたデブロッキングフィルタ３１５と同様に適用される。復号された映像信号４０９が最後に、デコーダ４０により提供される。
【０１５８】
図６は、参照画像部分に対する画像の画像部分の符号化に適した潜在的な動き情報予測子のセットを導出するための本発明の第１の実施例に係る方法のステップを示すフローチャートである。この方法の第１のステップでは、７つのブロック位置が考慮される（７０１〜７０７）。これらの位置は、図１に示した空間および時間位置に対応する。モジュール７０８は、７つのブロック位置の動きベクトルの利用可能性を検証し、動きベクトル予測子として４つの動きベクトルを選択する。このモジュールにおいて、動きベクトルは、それが存在する場合、および動きベクトルブロックがイントラコーディングされない場合に、予測子として利用可能である。４つの動きベクトル予測子の選択および検証は、以下の条件下で記述される。
【０１５９】
・「左」の動きベクトル（７０１）が利用可能である場合（それが存在する場合、およびこのブロックがイントラコーディングされない場合）、「左」のブロックの動きベクトルが選択され、予測子１として使用される（６１０）。
【０１６０】
・「上」の動きベクトル（７０２）が利用可能である場合、「上」のブロックの動きベクトルが選択され、予測子２として使用される（７１１）。
【０１６１】
・「右上」の動きベクトル（７０３）が利用可能である場合、「右上」のブロックの動きベクトルが選択され、予測子３として使用される（７１２）。
【０１６２】
・「左下」の動きベクトル（７０４）が利用可能である場合、「左下」のブロックの動きベクトルが選択され、予測子４として使用される（７１３）。
【０１６３】
・これらの予測子のうちの１つ（または複数）が利用可能でない場合、および「左上」の動きベクトル（７０５）が利用可能である場合、「左上」のブロックの動きベクトルが、追加された空間予測子の後に、選択された動きベクトル予測子のセットに追加される。
【０１６４】
・「Ｈ」の動きベクトルが利用可能である場合、「Ｈ」のブロックの動きベクトルが選択され、予測子５として使用される（７１４）。「Ｈ」のブロックが利用可能でない場合、「同一位置に配置された」動きベクトル（現在のブロックにおける同一の位置にあるブロックの動きベクトル）の利用可能性がチェックされ、同一位置の動きベクトルが利用可能である場合、それが時間予測子として使用される。モジュール７０８の利用可能性のチェックは、１サイクルを必要とする。
【０１６５】
処理の開始時に選択される動きベクトル予測子のセットは空間予測子１、２、３、４のみを含むので、選択処理７１５の複雑性は、４つの空間予測子と１つの時間予測子と備える図２における従来技術の選択処理と比較して低い。
【０１６６】
抑制処理は、選択された各々の予測子を、選択された他の予測子すべてと比較することと、予測子のいずれもが互いの重複でない予測子のセットを提供するために、選択された別の予測子と同等の選択された予測子を除去する（一方で、除去された予測子がその重複である、選択された他の予測子を保持する）ことにある。Ｐスライスのための抑制処理は、動きベクトルおよびそれらの参照フレームインデックスの値を考慮に入れる。したがって、動きベクトルの２つの成分およびその参照フレームインデックスが、他の動きベクトルの対応する成分すべてと比較され、これらの３つの値が等しい場合のみ、予測子がセットから除去される（または、追加されない）。Ｂフレームでは、この判定基準が方向およびリストに拡張することが可能である。したがって、予測子は、それが、選択された動きベクトルのセットにおいて、同一の方向、同一のリスト（Ｌ０、Ｌ１、または、Ｌ０およびＬ１）、同一の参照フレームインデックス、および動きベクトルの同一の値（双予測ではＭＶ＿Ｌ０およびＭＶ＿Ｌ１）を使用する場合に、重複する予測子と見なされる。抑制処理は、最大５つの予測子が比較される必要がある場合、１サイクル続く。実際、１２回の比較が１サイクルにおいて計算できることが考えられる。最も複雑なケースにおける抑制処理のための比較の最大数は、０〜Ｎ−１の合計に等しい。抑制処理の開始時の予測子の最大数が５ではなく４であるので、実行される比較の最大数は、図２の従来技術の選択された５つの予測子についての１０と比較すると、６（すなわち、３＋２＋１＝６）である。この抑制処理７１５の最後には、予測子の減じられたセット７１６が生成される。減じられた動きベクトル予測子のセット７１６は、従来技術における５と比較すると、多くて４つの予測子を含む。
【０１６７】
動きベクトル予測子の生成モジュール７１７が、減じられた動きベクトル予測子のセットの予測子に基づいて、新たな予測子の候補を生成する。そのような予測子を作成するためのいくつかのスキームが使用しても良く、そのようなスキームの１つが図１０の（ａ）〜図１０の（ｃ）に関連して後述される。動きベクトル予測子の生成モジュールによって実行される処理は、少なくとも１サイクル続き、予測子の第２のセット７１８を生成することが考えられる。減じられた予測子のセット７１６は一般的に、平均して図２に示した従来技術の減じられた予測子のセット６１６よりも少ない予測子を含むので、従来技術の減じられた動きベクトル予測子のセットと比較してより少ない組み合わせられた予測子およびスケーリングされた予測子が、減じられた動きベクトル予測子のセット７１７において生成され、処理の複雑性が減じられる。
【０１６８】
次に、抑制処理モジュール７１５と同様の手法で動作する抑制処理モジュール７２１が、第２の予測子のセット７１８および減じられた予測子のセット７１６から、重複する候補を、それぞれの動きベクトル成分および関連づけられた動き情報パラメータを比較することによって除去する。図２に示した従来技術では、この特定の処理の継続時間は、特に現在のＨＥＶＣ設計の動きベクトル予測子生成が適用された場合、第２の予測子のセット７１８において生成される予測子の数に依存して、３サイクルに到達し得る。抑制処理７２１は、動きベクトル予測子の第２の減じられたセット７２２を生成する。
【０１６９】
最後に、時間予測子７１４が、モジュール７１９において動きベクトル予測子の第２の減じられたセット７２２と比較される。モジュール７１９によって実行される抑制および再順序付け処理では、時間予測子が、時間予測子が重複する予測子であるかどうかを決定するために最大数で５つの予測子と比較される。それが重複しない予測子である場合、時間予測子は、重複しない最後の空間予測子のすぐ前に、予測子のリストに挿入される。時間位置は、抑制処理モジュール７１５によって決定され、処理モジュール７１９に送られていて、７１５における予測子の数に対応する。予測子のリストは、それが５つより多い予測子を含む場合、予測子の最終セット７２０をもたらすために、切り捨てられる。モジュール７１９によって実行される比較の最大数は、最も複雑なケースで５であり、それは、図２に示した従来技術の抑制モジュール６１９の比較の最大数と比較して減少である、ということに注意する必要がある。
【０１７０】
代替の実施例では、抑制処理モジュール７１９は、従来技術の抑制処理モジュール６１９と同一の手法で動作しても良い。そのようなケースでは、時間予測子は、予測子の減じられたセット７２２が最大数で４つの予測子を含む場合に予測子のセットに追加されるのみである。そうでなければ、それは、予測子のリストの最後に追加される。
【０１７１】
図７は、本発明の第２の実施例を示す。図６の実施例との主な違いは、モジュール８１７によって実行される動きベクトル予測子生成処理が、図６のモジュール７１７のケースにおけるように１サイクルではなく、２サイクルの継続時間にわたって続くことである。図７のケースでは、第２の予測子のセット８１８の重複する予測子を除去するための抑制処理が、時間スケーリング処理８０９と並行して実行されない。従って、図７では、抑制モジュール８１９において、時間予測子８１４が、動きベクトル予測子の減じられたセット８１６の予測子と第２の予測子のセット８１８の予測子の両方と比較される。この処理では、時間予測子８１４が減じられた動きベクトル予測子のセット８１６の動きベクトル予測子の重複しない予測子である場合、時間予測子８１４は、空間予測子の後に、動きベクトル予測子の減じられたセットに追加される。次に、第２の予測子のセット８１８の予測子が、動きベクトル予測子の減じられたセット８１６の予測子と、追加された場合には時間予測子８１４と、そして第２の予測子のセット８１８の他の予測子と比較される。
【０１７２】
図６または図７の実施例の処理の利点は、第１の抑制処理７１５または８１５、および動きベクトル予測子生成処理７１７または８１７との、並行したスケーリング処理７０９の完全な実行の結果としてもたらされる。各処理の複雑性に応じて、追加の抑制処理７２１が、最終抑制処理７１９の複雑性を減じるために、重複しないセットをあらかじめ決定するために方法に含むことが可能である。したがって、本発明の第１の実施例では、抑制処理全体がモジュール７２１および７１９によって実現される２つの抑制処理に分けられることが考えられる。
【０１７３】
並行したスケーリング処理は、コーディング効率に有利な影響を及ぼす。実際、時間予測子７１４または８１４は予測子の第２のセット７１８または８１８を生成するために使用されないので、これは、動きベクトル予測子の生成に影響を及ぼす。
【０１７４】
本発明の第３の実施例に係る動きベクトル予測子のセットを生成する方法のステップが、図８のフローチャートに示される。本発明の第３の実施例に係る方法は、コーディング効率への影響をさらに減らす。
【０１７５】
選択モジュール９０８は、本発明の第１および第２の実施例の対応する選択モジュール７０８および８０８と同様の手法で、４つの動きベクトル９１０〜９１３を、それらの利用可能性に基づいて、空間および時間ブロック位置９０１〜９０７から選択するように動作する。
【０１７６】
主な違いは、スケーリング判定モジュール９２３の使用である。スケーリング判定モジュール９２３では、時間動きベクトルの時間距離と時間予測子（予測子番号５）の時間距離とが比較される。インター予測の一方向タイプでは、これは、時間フレーム（Ｈおよび同一位置に配置されたブロックのフレーム）と時間動きベクトル（Ｈまたは同一位置に配置された）によって示された参照フレームとの間のピクチャ順序カウント（ＰＯＣ）差分が、現在のフレームと時間予測子の参照フレームとの間の時間距離と比較されることを意味する。これらの時間距離が等しい場合、スケーリング判定モジュール９２３は、「いいえ」の値を戻す。そうでなければ、それはスケーリング処理が必要とされることを意味し、スケーリング判定モジュール９２３は、「はい」の値を戻す。双方向予測タイプでは、判定モジュール９２３は、各リストに関する時間距離を比較し、戻される判定は、両方のリストに関する判定に依存する。したがって、両方のリストに関しスケーリングが必要とされない場合、スケーリング判定モジュール９２３は、「いいえ」の値を戻し、少なくとも１つのスケーリング処理が１つのリストに関し必要とされる場合、スケーリング判定モジュール９２３は、「はい」の値を戻す。
【０１７７】
スケーリング判定モジュール９２３が「いいえ」の値を戻した場合、時間予測子５（９２４）は、抑制処理９１５において使用される。結果的に、動きベクトル予測子の生成９１７は、予測子の第２のセット９１８を生成するために時間予測子５の値を使用する。そして、抑制処理９２１が、予測子の減じられたセット９１６および第２の予測子のセット９１８に適用される。次に、判定モジュール９２５が、スケーリング判定モジュール９２３の判定に基づいて、動きベクトル予測子の最終セットの供給についての判定を行う。すなわち、スケーリング判定モジュール９２３によって行われた判定が、抑制処理９２１によってもたらされた減じられた予測子のセットが最終予測子セットか否かを決定するために使用される。「いいえ」が判定モジュール９２３によって戻された場合、抑制処理９２１によってもたらされた減じられた予測子のセットが最終予測子セットであることが決定される。したがって、スケーリング判定モジュール９２３が、スケーリングが必要とされないことを示す「いいえ」を戻した場合、予測子のセットの導出は、図２に示した予測子のセットの導出と同様の手法で動作する。
【０１７８】
一方、スケーリング判定モジュール９２３が、時間予測子が時間予測子番号５（９１４）をもたらすためにモジュール９０９においてスケーリングされることを示す「はい」の値を戻した場合、抑制処理９２１によってもたらされた減じられた予測子のセットが最終予測子セットでないことが決定される。このケースでは、抑制処理モジュール９１５は、抑制処理のために時間予測子を使用しておらず、動きベクトル予測子生成モジュール９１７は、新たな予測子を作成するために時間予測子を使用していない。従って、図６のフローチャートに示された処理と同様の手法で、時間予測子５のスケーリング処理９０９が、動きベクトル予測子９１７の生成と並行して実行される。スケーリング判定モジュール９２５は、第２の抑制処理の後、「はい」の値を戻す。したがって、スケーリングされた時間予測子９１４が、抑制処理９１９において予測子の第２の減じられたセット９２２の予測子と比較される。図６の抑制処理モジュール７１９のケースにおけるように、時間予測子９１４が予測子の第２の減じられたセットにおける予測子の重複しない予測子である場合、抑制および再順序付けモジュール９１９が、予測子の最終セット９２０を提供するために、第１の減じられた予測子のセット９１６の後に予測子のセットに時間予測子を挿入する。
【０１７９】
この実施例を要約すると、スケーリング処理９０９は、時間予測子がスケーリングを必要とする場合のみ、第２のセット９１８の生成処理９１７と並行して実行される。
【０１８０】
動きベクトル予測子の生成９１７が１サイクル続くことを考慮した場合、および時間予測子がスケーリング処理を必要としない場合、４サイクルがマージ予測子のセットを生成するために必要とされ、そうでなければ５サイクルが必要とされる。従って、処理は、第１の実施例におけるように、最も複雑なケースにおいて２サイクル減る。前の実施例と比較したこの実施例の主な利点は、時間予測子がスケーリングを必要としない場合のみ予測子の第２のセットの生成のために時間予測子を使用することである。結果的に、コーディング効率が第１の実施例と比較して改善されることができる。
【０１８１】
追加の実施例では、スケーリング処理の複雑性を考慮することが可能である。例えば、スケーリング処理が１サイクルのみを必要とするかどうかを知ることが可能であろう。動きベクトル予測子の符号が変更される必要がある場合に１サイクルが必要とされるだけである。そのケースでは、時間予測子が、減じられた予測子のセット９１６と同時に利用可能である。したがって、時間予測子を、抑制処理９２１のために使用することができる。そのケースでは、スケーリング判定モジュール９２５が「はい」の値を戻し、モジュール９２２および９１９は予測子の最終セットを提供するために必要とされない。結果的に、抑制処理９１９は１サイクル続くので、導出処理の継続時間は１サイクル減じられる。
【０１８２】
図９は、本発明の第４の実施例に係る動きベクトル予測子のセットを導出する方法を示すフローチャートである。図９のフローチャートは、図６のフローチャートに基づく。結果として、図９のモジュール１００１〜１０２０および１０２２はそれぞれ、図６のモジュール７０１〜７２０および７２０と同一である。違いは、図１０の（ａ）〜図１０の（ｃ）に関する動きベクトル予測子の生成において説明されるように、オフセットを加えることによる重複しない予測子の並行した使用である。第１の予測子１  １０１０が定義されると、モジュール１０２３が、リストの重複しない予測子を生成する。図１０の（ｃ）に関し説明されるように、この処理は、第１の予測子１０１０の１つまたは両方の動きベクトル成分にオフセットを加えることにある。重複しない予測子のセット１０２４は、すべてが互いに異なり、かつ選択処理モジュール１００８によって実現された利用可能性のチェックの後に利用可能な第１の予測子１０１０と異なる、４つの予測子を含む。結果として、この実施例において、重複しない予測子のセット１０２４は、第１の予測子１０１０に追加されると、マージモードに関し固定されているように、重複しない予測子を５つ含む。重複しない予測子の生成は、抑制処理１０１５と並行して実行される。抑制処理モジュール１０２５は、５つの予測子のみを得るために、重複しない予測子のセット１０２４を減じられた予測子のセット１０１６と比較する。重複しない予測子のセット１０２６は、減じられた予測子のセット１０１６の後に１０２４において生成された重複しない予測子のセットを含む。抑制処理１０２５が一般的に最大６回の比較を必要とすることに注意する必要があるだろう。最も複雑なケースは、減じられた動きベクトル予測子のセット１０１６が４つの予測子を含む場合に生じる。重複しない予測子のセット１０２４は、４つの予測子を含む。理論的には、抑制処理は、最も複雑なケースにおいて１６回の比較（減じられた動きベクトル予測子のセット１０１６の４つの予測子×重複しない予測子のセット１０２４の４つの予測子）を必要とする。しかしながら、重複しない予測子のセット１０２４における動きベクトル予測子は、第１の予測子とは異なるので、減じられた動きベクトル予測子のセット１０１６の第２、第３、および第４の予測子のみが、重複しない動きベクトル予測子のセット１０２４と比較される必要がある。結果として、１２（４×３）回の比較が必要とされる。予測子は、重複しない予測子のセット１０２４においてすべてが互いに異なるので、最も複雑なケースにおいて、重複しない予測子１０２４の最初の３つの予測子が、減じられた動きベクトル予測子のセット１０１６の最後の３つの予測子と同等である場合、１０２４における最後の予測子は、減じられた動きベクトル予測子のセット１０１６の予測子と異なることが想定され得る。したがって、９（３×３）回の比較のみが必要とされる。
【０１８３】
次に、動きベクトル予測子の第２のセット１０１８が、動きベクトル予測子の生成モジュール１０１７によって生成される。抑制および再順序付け処理１０２１は、第２の予測子のセット１０１８の動きベクトル予測子が、すでに５つの予測子を含む重複しないセット１０２６と比較して重複しないかどうかを、チェックする。第２の予測子のセット１０１８の予測子が他のすべてと異なる場合、それは、減じられた予測子のセット１０１６における予測子の番号の位置（リストにおける減じられた動きベクトル予測子のセット１０１６の予測子の後）に挿入される。後続のステップ１０２２、１０１９、および１０２０は、図６のモジュール７２２、７１９、および７２０の処理と同一の手法で動作する。
【０１８４】
重複しない予測子の生成１０２３は、抑制処理１０１９の後、導出処理の最後に追加可能である、ということに注意する必要があるだろう。これは、もう１サイクルを必要とする追加の抑制処理を必要とし、同一の予測子のセットの順序という結果をもたらさないだろう。
【０１８５】
第４の実施例は、いくつかの利点を有する。まず、この実施例では、各予測子の位置が値を有する。従って、この方法は、ＨＥＶＣの現在の設計よりもロバストな処理を提供する。実際、エンコーダは、デコーダにおける値なしに予測子のインデックスを使用することができるがこれはデコーダにクラッシュをもたらし得る。これは、例えば、ネットワークエラーが生じた場合に起こり得る。
【０１８６】
この実施例は、並行したスケーリングのコーディング効率の損失を補償する。さらに、この変更はまた、モジュールの動きベクトル予測子の生成１０１７において生成された候補の数の減少というコーディング効率の損失を補償する。重複しないこれらの予測子を用いると、２つの予測子が１０２１において生成されれば良い。結果的に、抑制処理１０２１は、最も複雑なケースにおいて１０回比較すれば良い。したがって、図２に提示した現在のＨＥＶＣ設計の最も複雑なケースのための３ではなく、１サイクルのみが必要とされる。この単純化により、現在のＨＥＶＣ設計のための１１ではなく、最も複雑なケースにおいて５サイクルのみが、マージ予測子のセットを導出するために必要とされる。
【０１８７】
図９の第４の実施例が図８に提示した第３の実施例と容易に組み合わせることが可能なことが理解されるだろう。
【０１８８】
図６、図７、図８、および図９のそれぞれの動きベクトル予測子生成モジュール７１７、８１７、９１７、および１０１７によって実現される、予測子としてのさらなる動きベクトルの生成のための処理の例がここで、図１０の（ａ）〜図１０の（ｃ）を参照して説明される。現在のＨＥＶＣ設計は、現在のセットの生成に基づいて新たな予測子を追加するために３つのスキームを使用する。第１のスキームは、Ｂスライスのために使用される。動きベクトル予測子の生成は、図６、図７、図８、および図９のそれぞれの減じられた予測子のセット７１６、８１６、９１６、１０１６の予測子を組み合わせることを含む。組み合わせられた予測子は、第１の予測子のリストＬ０の動きベクトルを選択することによって、および別の予測子からのリストＬ１の動きベクトルを選択することによって、生成される。例えば、第１の可能な組み合わせられた予測子は、７１６の第１の予測子のＬ０からの動きベクトル（および参照インデックス）と、７１６の第２の予測子のＬ１からの動きベクトル（および参照インデックス）とを有する。現在のＨＥＶＣ設計では、１２個の可能な組み合わせられた予測子が生成されることができる。図１０の（ａ）は、この処理の例を示す。
【０１８９】
第２のスキームは、Ｂスライスのためのみに使用しても良い。スケーリングされた予測子は、一方向の予測子を双方向の予測子に変えることを含む。７１６の予測子が一方向である場合、動きベクトルは、初期動きベクトルに基づいて反対のリストにおいて作成される。例えば、７１６の第１の予測子が一方向である場合、およびそれが参照インデックス０とともにＬ０を示す場合、その動きベクトルの値は、Ｌ１の参照インデックス０を示すようにスケーリングされる。構築された予測子は、Ｌ０のための参照インデックス０および動きベクトルの値と、リストＬ１のための参照インデックス０およびスケーリングされたベクトルとを含む。この新たな双方向の予測子が第２の予測子のセット（７１８）に追加される。この種の予測子の生成は、それが動きベクトルをスケーリングする必要があるので、非常に複雑であり、したがって、これは、モジュール７１７のためのサイクル数を増加させる（３サイクル）。したがって、スケーリング処理は、従来のスケーリング処理のための３ではなく、１サイクルで実行されることができる、動きベクトルの値の成分の符号を逆にすることに限られることができる。図１０の（ｂ）は、この生成の例を示す。
【０１９０】
新たな動きベクトル予測子を生成する別の方法は、双方向の予測子を一方向の予測子に変えることによる。そのケースでは、予測子が双方向である場合、２つ（各リストにつき１つ）の新たな予測子が生成されることができる。これは、図１０の（ａ）のスケーリングされた動きベクトルの処理と比較すると、複雑性の低い処理である。
【０１９１】
ＨＥＶＣの現在の設計では、リストの最後に、「ゼロ動きベクトル」の値が追加される。マージでは、ゼロの値が、Ｌ０およびＬ１の両方の動きベクトルのために設定される。そして、可能であれば、各リストの参照フレームインデックスが、他のゼロ予測子を作成するためにインクリメントされる。したがって、参照インデックスのみが変えられる。Ｎ個の参照インデックスが両方のリストにおいて使用される場合、Ｎ個のゼロベクトルが予測子のセットに追加さすることが可能である。図１０の（ｃ）は、動きベクトル予測子の生成のそのような処理の例を示す。
【０１９２】
さらに、予測子の初期セットの利用可能な１つの予測子の成分またはいくつかの成分に１つ以上のオフセットを加えることによって、重複しない予測子を使用することが可能である。例えば、１つの予測子のみが予測子の初期セットにある場合、すべてが異なる４つの予測子を生成することが可能である。例えば、リストにおける予測子が一方向であることを考慮した場合、第１の予測子が、第１の動きベクトルの１つの成分にオフセット値を加えることによって生成される。第２の予測子は、第１の成分に逆のオフセットを加えることによって生成される。第３の予測子は、第２の成分にオフセットを加えることによって、第４は、第２の成分に逆のオフセットを加えることによって得られる。この処理は第１の候補に適用されることができるので、予測子が抑制処理７１５の前に導出されることができる、ということに注意する必要がある。
【０１９３】
図１１は、図６、図７、図８、および図９のそれぞれのスケーリングモジュール７０９、８０９、９０９、および１００９に適用される時間予測子のためのスケーリングの例を示す。この図では、参照フレームＲｅｆ０における同一位置の動きベクトルＭＶｃｏｌは、Ｎ−３に等しいＰＯＣ（ピクチャ順序カウント）を有するＲｅｆ２を示している。時間予測子ＭＶｔの参照フレームは決定されていて、Ｒｅｆ０に等しい（ＰＯＣ番号はＮ−１に等しい）。同一位置の動きベクトルの時間距離ｉＤｉｆｆＰｏｃＤは、Ｒｅｆ２のＰＯＣからＲｅｆ０のＰＯＣを引いたものに等しい。したがって、その時間距離は、
ｉＤｉｆｆＰｏｃＤ＝（Ｎ−３）−（Ｎ−１）＝２
に等しい。
【０１９４】
同一の手法で、時間予測子によってカバーされる必要のある時間距離ｉＤｉｆｆＰｏｃＢは、現在のフレームＮのＰＯＣからＲｅｆ０のＰＯＣを引いたものに等しく、
ｉＤｉｆｆＰｏｃＢ＝（Ｎ）−（Ｎ−１）＝１
である。
【０１９５】
理論的には、時間予測子のためのスケーリング動きベクトルは、
ＭＶｔ＝（ｉＤｉｆｆＰｏｃＢ＊ＭＶｃｏｌ）／ｉＤｉｆｆＰｏｃＤ
に等しい。
【０１９６】
したがって、この例において、各成分（水平および垂直）は、２で除算される。しかしながら、現在のＨＥＶＣ設計では、動きベクトルのスケーリングは、以下の処理によって与えられる。
【０１９７】
−スケーリングされた係数が、以下の式により決定される。
【０１９８】
ｉＳｃａｌｅ＝（ｉＤｉｆｆＰｏｃＢ＊ｉＸ＋３２）＞＞６
−ここで、ｉＸは、
ｉＸ＝（０ｘ４０００＋ａｂｓ（ｉＤｉｆｆＰｏｃＤ／２））／ｉＤｉｆｆＰｏｃＤであり、
−ＭＶｔが次に、
ＭＶｔ＝（ｉＳｃａｌｅ＊ＭＶｃｏｌ＋１２７＋（ｉＳｃａｌｅ＊ＭＶｃｏｌ＜０））＞＞８によって与えられる。
【０１９９】
これらの式において、
「＞＞」は、シフト演算子を表し、
「ａｂｓ」は、絶対値を戻す関数を表し、
「０ｘ４０００」は、値１６３８４を表す。
【０２００】
このように、本発明の実施例は、コーディング効率に対するより少ない影響を有しながら、動きベクトル予測子のセットを導出するために必要とされるサイクル数を減じることを目的とする並行した導出処理を提供する。
【０２０１】
本発明は特定の実施例に関連して上記のごとく説明されたが、本発明は、特定の実施例に限定されるものではなく、本発明の範囲内に含まれる変更が、当業者に明らかであろう。さらなる多くの変更および変形はそれら自体を、上述の例示的な実施例の参照により当業者に示唆し、それらの実施例は、例として与えられたものにすぎず、添付の特許請求の範囲によってのみ決定される本発明の範囲を限定することを意図したものではない。特に、異なる実施例からの異なる特徴は必要に応じて置き換えられることができる。
【０２０２】
特許請求の範囲において、「ｃｏｍｐｒｉｓｉｎｇ（備える／含む）」という語は、他のエレメントまたはステップを除外せず、不定冠詞の「ａ」または「ａｎ」は、複数を除外しない。異なる特徴が相互に異なる従属請求項において記載されている、という単なる事実は、これらの特徴の組み合わせが有利に使用されることができない、ということを示すものではない。
【図１】
2019134455.tif 000004
【図２】
2019134455.tif 000005
【図３】
2019134455.tif 000006
【図４】
2019134455.tif 000007
【図５】
2019134455.tif 000008
【図６】
2019134455.tif 000009
【図７】
2019134455.tif 000010
【図８】
2019134455.tif 000011
【図９】
2019134455.tif 000012
【図１０ａ】
2019134455.tif 000013
【図１０ｂ】
2019134455.tif 000014
【図１０ｃ】
2019134455.tif 000015
【図１１】
2019134455.tif 000016