本発明の実施形態は、非並進動作モデルに基づいて実行される画像予測の計算量を低減するように、画像予測方法および関連装置を提供する。
当業者が本発明の技術的解決策をよりよく理解するようにするために、本発明の実施形態における技術的解決策を、本発明の実施形態における添付の図面を参照して以下に明瞭かつ完全に記載する。明らかに、記載された実施形態は、本発明の全ての実施形態ではなく単なる一部に過ぎない。創作努力なしに本発明の実施形態に基づいて当業者によって得られる他の全ての実施形態は、本発明の保護範囲内に入るものとする。
以下、この実施形態について別々に詳細に説明する。
本発明の明細書、特許請求の範囲および添付図面において、「第1」、「第2」、「第3」、「第4」等の用語は異なる物体を区別することを意図しているが、特定の順序を示すものではない。さらに、「含む」、「有する」またはその任意の他の変形は、非排他的な包含を対象とすることが意図されている。たとえば、一連のステップまたはユニットを含むプロセス、方法、システム、製品、または装置は、列挙されたステップまたはユニットに限定されず、任意選択的に、非公開のステップまたはユニットをさらに含み、あるいは任意選択的に、プロセス、方法、製品または装置の別の固有のステップまたはユニットをさらに含む。
以下に、最初に、本発明の実施形態に含まれ得るいくつかの概念を説明する。
ほとんどの符号化フレームワークでは、映像シーケンスは一連の画像(英語:picture)を含み、画像はさらに断片(英語:slice)に分割され、断片はさらにブロック(英語:block)に分割される。映像符号化は、ブロックをユニットとして、画像の左上隅から順に、左から右、上から下の行に分けて表示するように、符号化処理を行う。いくつかの新しい映像符号化規格では、ブロックの概念がさらに拡張されている。マクロブロック(英語:macroblock、略してMB)は、H.264規格で定義され、MBは、予測符号化に使用される複数の予測ブロックにさらに分割されてもよい。HEVC規格では、符号化ユニット(英語:coding unit、略してCU)と、予測ユニット(英語:prediction unit、略してPU)と、変換ユニット(英語:transform unit、略してTU)とが用いられ、複数のユニットが機能に応じて分類され、全く新しいツリーの構造が記述に使用される。たとえば、CUは、4分木に応じてより小さいCUに分割され、より小さいCUは、さらに分割されて4分木構造を形成することができる。PUとTUも同様のツリー構造を有している。ユニットがCU、PU、またはTUのいずれであるかにかかわらず、ユニットは本質的にブロックの概念に属する。CUは、マクロブロックMBまたは符号化ブロックに類似しており、画像を区分および符号化するための基本ユニットである。PUは予測ブロックに対応し、予測符号化の基本ユニットである。CUは、パーティションモードに従って複数のPUにさらに分割される。TUは、変換ブロックに対応することができ、予測残差を変換するための基本ユニットである。
HEVC規格では、符号化ユニットのサイズは、64×64,32×32,16×16,または8×8の4つのレベルであってもよい。各レベルの符号化ユニットは、フレーム内予測およびフレーム間予測に従って異なるサイズの予測ユニットにさらに分割することができる。たとえば、図1−aおよび図1−bに示すように、図1−aは、フレーム内予測に対応する予測ユニットパーティションモードを示す。図1−bは、フレーム間予測に対応するいくつかの予測ユニットパーティションモードを示す。
映像符号化技術の開発および進化プロセスにおいて、映像符号化の専門家は、符号化効率を改善しようと試みるために、隣接する符号化/復号化ブロック間の時間的および空間的相関を使用するための様々な方法を見出している。H264やアドバンスト映像符号化(英語:advanced Video Coding、略してAVC)規格では、スキップモード(skip mode)とダイレクトモード(direct mode)とが符号化効率を向上させる効果的なツールとなる。ビットレートが低いときに使用される2つの符号化モードのブロックは、符号化シーケンス全体の半分以上を占めることができる。スキップモードを使用する場合には、ビットストリームにスキップモードフラグを追加するだけで、隣接する動きベクトルを用いて現在の画像ブロックの動きベクトルを導き出すことができ、現在の画像ブロックの再構成値として、動きベクトルに従って参照ブロックの値が直接コピーされる。また、ダイレクトモードを使用する場合、エンコーダは、隣接する動きベクトルを用いて現在画像ブロックの動きベクトルを導出し、動きベクトルに応じて参照ブロックの値を直接的に現在の予測値符号化器内の予測値を用いて現在の画像ブロックを予測符号化する。進化したHEVC規格では、映像符号化効率をさらに改善するためのいくつかの新しい符号化ツールが導入されている。統合(merge)モードおよび高度動きベクトル予測(英語:advanced motion vector prediction、略してAMVP)モードは、2つの重要なフレーム間予測ツールである。統合符号化(merge)では、現在の符号化ブロックの近傍の符号化ブロックの動き情報(動きベクトル(英語:motion vector、略してMV)、予測方向、参照フレームインデックスなどを含む)を用いて候補動き情報セットを構築し、比較することにより、符号化効率の最も高い候補動き情報を現在の符号化ブロックの動き情報として選択し、参照フレームから現在の符号化ブロックの予測値を求め、現在の符号化ブロックに対して予測符号化が実行され、同時に、隣接する符号化ブロックから動き情報が選択されたことを示すインデックス値がビットストリームに書き込まれる。高度動きベクトル予測モードが使用される場合、隣接する符号化ブロックの動きベクトルは、現在の符号化ブロックの動きベクトルの予測値として使用される。最も高い符号化効率を有する動きベクトルが選択され、現在の符号化ブロックの動きベクトルを予測するために使用されてもよく、どの隣接動きベクトルが選択されているかを示す指標値を映像ビットストリームに書き込むことができる。
以下に、本発明の実施形態の技術的解決策について引き続き議論する。
次に、本発明の一実施形態により提供される画像予測方法について説明する。本発明の実施形態によって提供される画像予測方法は、映像符号化装置または映像復号装置によって実行される。映像符号化装置または映像復号装置は、たとえば、ノートブックコンピュータ、タブレットコンピュータ、パーソナルコンピュータ、携帯電話、映像サーバなどの映像を出力または格納する必要がある装置であればよい。
本発明に係る画像予測方法の実施形態において、画像予測方法は、画像ブロックx内のK1個の画素サンプルを決定して、K1個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットを決定するステップであって、K1は、2以上の整数であり、各画素サンプルに対応する候補動き情報ユニットセットは、少なくとも1つの候補動き情報ユニットを含む、ステップと、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するステップであって、統合動き情報ユニットセットi内の各動き情報ユニットは、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の動き情報ユニットの少なくとも一部から選択され、動き情報ユニットは、予測方向が順方向である動きベクトルおよび/または予測方向が逆方向である動きベクトルを含む、ステップと、非並進動作モデルおよび統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するステップとを含む。
図1−cを参照すると、図1−cは、本発明の一実施形態に係る、画像予測方法の概略フローチャートである。図1−cに示すように、本発明の実施形態によって提供される画像予測方法は、以下のステップを含んでもよい。
101.画像ブロックx内のK1個の画素サンプルを決定し、K1個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットを決定する。
各画素サンプルに対応する候補動き情報ユニットセットは、少なくとも1つの候補動き情報ユニットを含む。
K1は1より大きい整数である。たとえば、Kは、2、3、4、または別の値に等しくてもよい。
K1個の画素サンプルは様々な方法で選択されてもよい。
本発明の各実施形態で言及した画素サンプルは、画素であってもよいし、少なくとも2つの画素を含む画素ブロックであってもよい。
本発明の各実施形態で述べた動き情報ユニットは、予測方向が順方向である動きベクトルおよび/または予測方向が逆方向である動きベクトルを含むことができる。すなわち、1つの動き情報ユニットは、1つの動きベクトルを含むことができ、または異なる予測方向を有する2つの動きベクトルを含むことができる。
動き情報ユニットの予測方向が順方向である場合、動き情報ユニットは、予測方向が順方向である動きベクトルを含むが、予測方向が逆方向である動きベクトルを含まない動きベクトルを含むことを示す。動き情報ユニットの予測方向が逆方向である場合、動き情報ユニットは、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向である動きベクトルを含まない動きベクトルを含むことを示す。動き情報ユニットの予測方向が一方向である場合には、動き情報ユニットは、予測方向が順方向である動きベクトルを含むが、予測方向が逆方向である動きベクトルを含まないことを示し、動き情報ユニットは、予測方向が逆方向である動きベクトルを含むが予測方向が順方向である動きベクトルを含まないことを示す。動き情報ユニットの予測方向が双方向である場合、動き情報ユニットは、予測方向が順方向である動きベクトルと、予測方向が逆方向である動きベクトルとを含むことを示す。
任意選択的に、本発明のいくつかの可能な実施態様において、K1個の画素サンプルは、画像ブロックxの左上の画素サンプル、右上の画素サンプル、左下の画素サンプル、および中央の画素サンプルa1に少なくとも2つの画素サンプルを含む。画像ブロックxの左上の画素サンプルは画像ブロックxの左上の頂点であるか、画像ブロックxの左上の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの左下の画素サンプルは、画像ブロックxの左下の頂点、または画像ブロックxの左下の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの右上の画素サンプルは、画像ブロックxの右上の頂点、または画像ブロックxの右上の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの中央の画素サンプルa1は、画像ブロックxの中央の画素、または画像ブロックxの中央の画素を含む画像ブロックx内の画素ブロックである。
画素サンプルが画素ブロックである場合、画素ブロックのサイズは、たとえば、2×2、1×2、4×2、4×4などのサイズである。
102.K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定する。
統合動き情報ユニットセットi内の各動き情報ユニットは、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の動き情報ユニットの少なくとも一部から選択される。すなわち、統合動き情報ユニットセットi内の任意の2つの動き情報ユニットは、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の動き情報ユニットの少なくとも一部から選択される。
たとえば、K1個の画素サンプルが画素サンプル001、画素サンプル002、および画素サンプル003を含む場合において、K1は3に等しいと仮定する。画素サンプル001に対応する候補動き情報ユニットセットは、候補動き情報ユニットセット011である。画素サンプル002に対応する候補動き情報ユニットセットは、候補動き情報ユニットセット022である。画素サンプル003に対応する候補動き情報ユニットセットは、候補動き情報ユニットセット033である。統合動き情報ユニットセットiは、動き情報ユニットC01と、動き情報ユニットC02と、動き情報ユニットC03とを含む。動き情報ユニットC01は、候補動き情報ユニットセット011から選択することができ、動き情報ユニットC02は、候補動き情報ユニットセット022から選択することができ、動き情報ユニットC03は、候補動き情報ユニットセット033から選択することができる。すなわち、動き情報ユニットC01、動き情報ユニットC02、動き情報ユニットC03のいずれか2つの動き情報ユニットが、候補動き情報ユニットセット011、候補動き情報ユニットセット022、および候補動き情報ユニットセット033の異なる候補動き情報ユニットセットの情報ユニットの少なくとも一部から選択される。K1が他の値と等しいシナリオも同様に推論される。
動き情報ユニットC01、動き情報ユニットC02、動き情報ユニットC03のいずれかの動き情報ユニットが、予測方向が順方向の動きベクトルおよび/または予測方向が逆方向の動きベクトルを含む場合において、統合動き情報ユニットセットiが動き情報ユニットC01、動き情報ユニットC02および動き情報ユニットC03を含むものと仮定すると、統合動き情報ユニットセットは、3つの動きベクトル(3つの動きベクトルの予測モードは、順方向または逆方向であってもよいし、3つの動きベクトルは、予測方向が順方向である2つの動きベクトルと、予測方向が逆方向である1つの動きベクトルとを含み、または、予測方向が順方向である1つの動きベクトルと、予測方向が逆方向である2つの動きベクトルとを含んでもよい)を含んでもよく、または、4つの動きベクトル(4つの動きベクトルは、予測方向が順方向である2つの動きベクトルと、予測方向が逆方向である2つの動きベクトルとを含んでもよく、予測方向が順方向である1つの動きベクトルと、予測方向が逆方向である3つの動きベクトルとを含んでいてもよいし、予測方向が順方向である3つの動きベクトルと、予測方向が逆方向である1つの動きベクトルとを含んでもよい)を含んでもよく、または、5つの動きベクトル(5つの動きベクトルは、予測方向が順方向である2つの動きベクトルと、予測方向が逆方向である3つの動きベクトルとを含んでもよく、予測方向が順方向である3つの動きベクトルと、予測方向が逆方向である2つの動きベクトルとを含んでもよく、6つの動きベクトル(6つの動きベクトルは、予測方向が順方向である3つの動きベクトルと、予測方向が逆方向である3つの動きベクトルとを含む)を含んでもよいことが、理解されよう。
103.非並進動作モデルおよび統合動き情報ユニットセットiを使用して、画像ブロックxの画素値を予測する。
画像ブロックxは、現在の画像ブロックと見なすことができ、現在の画像ブロックは、現在の符号化ブロックまたは現在の復号化ブロックとすることができる。
任意選択的に、本発明のいくつかの可能な実施形態では、非並進動作モデルは、アフィン動きモデル、放物線動作モデル、回転動作モデル、遠近法動作モデル、せん断運動モデル、スケーリング動作モデル、または双線形動作モデルの内のいずれか1つである。非並進動作モデルも上記の具体例に限定されないことが理解されよう。
実施形態の技術的解決策では、非並進動作モデルおよび統合動き情報ユニットセットiを用いて画像ブロックxの画素値が予測され、統合動き情報ユニットセットi内の各動き情報ユニットは、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の動き情報ユニットの少なくとも一部から選択される。統合動き情報ユニットセットiの選択範囲は比較的小さいので、K1個の画素サンプルに対応する可能な全ての候補動き情報ユニットセットにおいて莫大な量の計算を実行するだけで、K1個の画素サンプルの動き情報ユニットをスクリーニングするための従来の技術で使用されたメカニズムは放棄される。これは、符号化効率を向上させるのに役立ち、非並進動作モデルに基づいて実行される画像予測の計算上の複雑さを低減するのにも役立ち、さらに非並進動作モデルを映像符号化標準に導入することを可能にし、かつ、非並進動作モデルが導入されているため、オブジェクトの動きをより正確に記述するのに役立ち、予測精度を向上させるのに役立つ。
本実施形態で提供する画像予測方法は、映像符号化処理に適用されてもよいし、映像復号処理に適用されてもよい。
実際の応用では、K1個の動き情報ユニットを含む統合動き情報ユニットセットiは様々な方法で決定されてもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するステップは、N個の候補統合動き情報ユニットセットから、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するステップであって、N個の候補統合動き情報ユニットセット内の各候補統合動き情報ユニットセットに含まれる各動き情報ユニットは、K1個の画素サンプルの異なる画素サンプルに対応する候補動き情報ユニットセット内の制約対応動き情報ユニットの少なくとも一部から選択され、Nは正の整数であり、N個の候補統合動き情報ユニットセットは互いに異なっており、N個の候補統合動き情報ユニットセット内の各候補統合動き情報ユニットセットは、K1個の動き情報ユニットを含む、ステップを含んでもよい。
2つの候補統合動き情報ユニットセットが異なることは、候補統合動き情報ユニットセットに含まれる動き情報ユニットが完全に同一ではないことを意味してもよい。
2つの動き情報ユニットが異なるとは、2つの動き情報ユニットに含まれる動きベクトルが異なることを意味してもよいし、2つの動き情報ユニットに含まれる動きベクトルの予測方向が異なること、または、2つの動き情報ユニットに含まれる動きベクトルに対応する参照フレームインデックスが異なることを意味してもよい。2つの動き情報ユニットが同じであるとは、2つの動き情報ユニットに含まれる動きベクトルが同じであることを意味してもよいし、2つの動き情報ユニットに含まれる動きベクトルの予測方向が同じであることおよび、2つの動き情報ユニットに含まれる動きベクトルに対応する参照フレームインデックスが同じであることを意味してもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、画像予測方法が映像復号処理に適用される場合、N個の候補統合動き情報ユニットセットから、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するステップは、N個の候補統合動き情報ユニットセットから、統合動き情報ユニットセットiであり、映像ビットストリームから得られる識別子に基づいて、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するステップを含んでもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、画像予測方法が映像符号化処理に適用される場合、本方法は、統合動き情報ユニットセットiの識別子を映像ビットストリームに書き込むステップをさらに含んでもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、N個の候補統合動き情報ユニットセットから、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するステップは、N個の候補統合動き情報ユニットセットから、歪みまたはレート歪みコストに従って、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するステップを含んでもよい。
任意選択的に、統合動き情報ユニットセットiに対応するレート歪みコストは、統合動き情報ユニットセットiを除いたN個の候補統合動き情報ユニットセットにおける、任意の統合動き情報ユニットセットに対応するレート歪みコスト以下である。
任意選択的に、統合動き情報ユニットセットiに対応する歪みは、統合動き情報ユニットセットiを除いたN個の候補統合動き情報ユニットセットにおける、任意の統合動き情報ユニットセットに対応する歪み以下である。
N個の候補統合動き情報ユニットセット(たとえば、N個の候補統合動き情報ユニットセットにおける統合動き情報ユニットセットi)における特定候補統合動き情報ユニットセットに対応するレート歪みコストは、たとえば、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットi)を用いて、画像ブロック(たとえば、画像ブロックx)の画素値を予測することにより得られた、画像ブロックの予測画素値に対応するレート歪みコストであってもよい。
N個の候補統合動き情報ユニットセット(たとえば、N個の候補統合動き情報ユニットセットにおける統合動き情報ユニットセットi)における特定候補統合動き情報ユニットセットに対応する歪みは、たとえば、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットi)を用いて、画像ブロックの画素値を予測することにより得られた、画像ブロック(たとえば、画像ブロックx)の元の画素値および画像ブロックの予測画素値との間の歪みであってもよい(すなわち、元の画素値と画像ブロックの予測画素値との間の歪み)。
本発明の可能な実施形態では、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットi)を用いて、画像ブロックの画素値を予測することにより得られた、画像ブロック(たとえば、画像ブロックx)の元の画素値および画像ブロックの予測画素値の間の歪みは特に、たとえば、平方差の合計(SSD、sum of square differences)、絶対差の合計(SAD、sum of absolute differences)または、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットi)を用いて、画像ブロックの画素値を予測することにより得られた、画像ブロック(たとえば、画像ブロックx)の元の画素値および画像ブロックの予測画素値との間の差の合計または、歪みを測定できる他の歪みパラメータであってもよい。
Nは正の整数である。たとえば、Nは、1、2、3、4、5、6、8、または別の値に等しくてもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、N個の候補統合動き情報ユニットセット内の候補統合動き情報ユニットセット内の動き情報ユニットは、互いに異なっていてもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、N個の候補統合動き情報ユニットセットは、第1の条件、第2の条件、第3の条件、第4の条件、または第5の条件の少なくとも1つを満たす。
第1の条件は、N個の候補統合動き情報ユニットセット内の任意の候補統合動き情報ユニットセット内の動き情報ユニットによって示される画像ブロックxの動きモードが非並進動作であることを含む。たとえば、予測方向が候補統合動き情報ユニットセット内の第1の予測方向である全ての動きベクトルが等しい場合、候補統合動き情報ユニットセットの動き情報ユニットが示す画像ブロックxの動きモードは、並進動作であると考えることができ、そうでなければ、第1の予測方向が順方向または逆方向である場合には、候補統合動き情報ユニットセット内の動き情報ユニットよって示される画像ブロックxの動きモードが非並進動作であると考えることができる。他の例として、予測方向が候補統合動き情報ユニットセット内の順方向予測方向である全ての動きベクトルが等しく、予測方向が候補統合動き情報ユニットセット内の逆予測方向である全ての動きベクトルが等しい場合、候補統合動き情報ユニットセット内の動き情報ユニットによって示される画像ブロックxの動きモードが並進動作であると考えられ、そうでなければ、候補統合動き情報ユニットセット内の動き情報ユニットによって示される画像ブロックxの動きモードは非並進動作であると考えられる。
第2の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の少なくとも2つの動き情報ユニットの予測方向が同じであることを含むことができる。たとえば、2つの動き情報ユニットがともに、予測方向が順方向の動きベクトルおよび予測方向が逆方向の動きベクトルを含む場合には、2つの動き情報ユニットにの予測方向が同じであることを示す。別の例として、2つの動き情報ユニットの中の1つの動き情報ユニットが、予測方向が順方向の動きベクトルと予測方向が逆方向の動きベクトルとを含み、他の動き情報ユニットが、予測方向が順方向である動きベクトルを含むが、予測方向が逆方向の動きベクトルは含まないか、または、他方の動き情報ユニットが、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向である動きベクトルは含まない場合、2つの動き情報ユニットの予測方向が異なることを示す。別の例として、2つの動き情報ユニットの中の1つの動き情報ユニットが、予測方向が順方向の動きベクトルを含むが、予測方向が逆方向の動きベクトルは含まず、他方の動き情報ユニットが、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向である動きベクトルを含まない場合、2つの動き情報ユニットの予測方向が異なることを示してもよい。別の例として、2つの動き情報ユニットがともに、予測方向が順方向の動きベクトルを含むが、2つの動き情報ユニットがどちらも予測方向が逆方向の動きベクトルを含まない場合には、2つの動き情報ユニットの予測方向が同じであることを示す。別の例として、2つの動き情報ユニットがともに、予測方向が逆方向の動きベクトルを含むが、2つの動き情報ユニットがどちらも予測方向が順方向の動きベクトルを含まない場合には、2つの動き情報ユニットの予測方向が同じであることを示す。
第3の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の少なくとも2つの動き情報ユニットに対応する参照フレームインデックスが同じであることを含む。たとえば、2つの動き情報ユニットがともに、予測方向が順方向である動きベクトルと、予測方向が逆方向である動きベクトルとを含み、2つの動き情報ユニットの予測方向が順方向である動きベクトルに対応する参照フレームインデックスが同じであり、2つの動き情報ユニットの予測方向が逆方向の動きベクトルに対応する参照フレームインデックスが同じである場合、2つの動き情報ユニットに対応する参照フレームインデックスが同じであることを示す。別の例として、2つの動き情報ユニットの中の1つの動き情報ユニットが、予測方向が順方向の動きベクトルと予測方向が逆方向の動きベクトルとを含み、他の動き情報ユニットが、予測方向が順方向である動きベクトルを含むが、予測方向が逆方向の動きベクトルは含まないか、または、他方の動き情報ユニットが、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向である動きベクトルは含まない場合、2つの動き情報ユニットの予測方向が異なっており、2つの動き情報ユニットに対応する参照フレームインデックスが異なることを示してもよい。別の例として、2つの動き情報ユニットの中の1つの動き情報ユニットが、予測方向が順方向の動きベクトルを含むが、予測方向が逆方向の動きベクトルは含まず、他方の動き情報ユニットが、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向である動きベクトルは含まない場合、2つの動き情報ユニットに対応する参照フレームインデックスが異なることを示してもよい。別の例として、2つの動き情報ユニットの中の1つの動き情報ユニットが、予測方向が順方向の動きベクトルを含むが、予測方向が逆方向の動きベクトルを含まず、他の動き情報ユニットが、予測方向が順方向である動きベクトルを含むが、予測方向が逆方向の動きベクトルは含まず、2つの動き情報ユニットの予測方向が順方向である動きベクトルに対応する参照フレームインデックスが同一である場合、2つの動き情報ユニットに対応する参照フレームインデックスが異なることを示してもよい。別の例として、2つの動き情報ユニットの中の1つの動き情報ユニットが、予測方向が逆方向の動きベクトルを含むが、予測方向が順方向の動きベクトルを含まず、他の動き情報ユニットが、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向の動きベクトルは含まず、2つの動き情報ユニットの予測方向が逆方向である動きベクトルに対応する参照フレームインデックスが同一である場合、2つの動き情報ユニットに対応する参照フレームインデックスが異なることを示してもよい。
第4の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つの動き情報ユニットの水平成分の差の絶対値が水平成分閾値以下であることを含む。水平成分閾値は、画像ブロックxの幅の1/3、画像ブロックxの幅の1/2、画像ブロックxの幅の2/3、画像ブロックxの幅の3/4、または別の値と等しくてもよい。
第5の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つの動き情報ユニットの垂直成分の差の絶対値が垂直成分閾値以下であることを含む。垂直成分閾値は、画像ブロックxの高さの1/3、画像ブロックxの高さの1/2、画像ブロックxの高さの2/3、画像ブロックxの高さの3/4、または別の値と等しくてもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの左上の画素サンプルに対応する候補動き情報ユニットセットは、x1個の画素サンプルの動き情報ユニットを含み、x1個の画素サンプルは、画像ブロックxの左上の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックxの左上の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、x1は正の整数である。たとえば、x1個の画素サンプルは、画像ブロックxの左上の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックxの左上の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルのみを含む。
たとえば、x1は、1、2、3、4、5、6、または別の値に等しくてもよい。
たとえば、x1個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレーム内に、画像ブロックxの左上の画素サンプルと同じ位置を有する画素サンプル、画像ブロックxの左端に空間的に隣接する画素サンプル、画像ブロックxの左上に空間的に隣接する画素サンプル、または画像ブロックxの上端に空間的に隣接する画素サンプルのうちの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの右上の画素サンプルに対応する候補動き情報ユニットセットは、x2個の画素サンプルの動き情報ユニットを含み、x2個の画素サンプルは、画像ブロックxの右上の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックxの右上の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、x2は正の整数である。
たとえば、x2は、1、2、3、4、5、6、または別の値に等しくてもよい。
たとえば、x2個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレーム内に、画像ブロックxの右上の画素サンプルと同じ位置を有する画素サンプル、画像ブロックxの右端に空間的に隣接する画素サンプル、画像ブロックxの右上に空間的に隣接する画素サンプル、または画像ブロックxの上端に空間的に隣接する画素サンプルのうちの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの左下の画素サンプルに対応する候補動き情報ユニットセットは、x3個の画素サンプルの動き情報ユニットを含み、x3個の画素サンプルは、画像ブロックxの左下の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックxの左下の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、x3は正の整数である。たとえば、x3個の画素サンプルは、画像ブロックxの左下の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックxの左下の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルのみを含む。
たとえば、x3は、1、2、3、4、5、6、または別の値に等しくてもよい。
たとえば、x3個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレーム内に、画像ブロックxの左下の画素サンプルと同じ位置を有する画素サンプル、画像ブロックxの左端に空間的に隣接する画素サンプル、画像ブロックxの左下に空間的に隣接する画素サンプル、または画像ブロックxの左端に空間的に隣接する画素サンプルのうちの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの中央の画素サンプルa1に対応する候補動き情報ユニットセットはx5個の画素サンプルの動き情報ユニットを含み、x5個画素サンプル内の1画素サンプルは画素サンプルa2である。たとえば、x5個の画素サンプルは、画素サンプルa2のみを含む。
画像ブロックxが属する映像フレーム内の中央の画素サンプルa1の位置は、画像ブロックxが属する映像フレームに隣接する映像フレーム内の画素サンプルa2の位置と同じであり、x5は正の整数である。
任意選択的に、本発明のいくつかの可能な実施態様において、非並進動作モデルおよび統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するステップは、統合動き情報ユニットセットiにおける予測方向が第1の予測方向である動きベクトルが異なる参照フレームインデックスに対応する場合、統合動き情報ユニットセットiにおける予測方向が第1の予測方向である動きベクトルを同一の参照フレームに縮小するように、統合動き情報ユニットセットiに対してスケーリング処理を行い、非並進動作モデルおよび縮小された統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するステップであって、第1の予測方向は順方向または逆方向である、ステップを含み、または、非並進動作モデルおよび統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するステップは、統合動き情報ユニットセットiにおける予測方向が順方向である動きベクトルが異なる参照フレームインデックスに対応し、統合動き情報ユニットセットiにおける予測方向が逆方向である動きベクトルが異なる参照フレームインデックスに対応する場合、統合動き情報ユニットセットiにおいて、予測方向が順方向である動きベクトルを同一の参照フレームに縮小し、統合動き情報ユニットセットiの予測方向が逆方向の動きベクトルを同一の参照フレームに縮小するように、統合動き情報ユニットセットiに対してスケーリング処理を行い、非並進動作モデルおよび縮小された統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するステップを含んでも良い。
現在の映像フレーム内の各画像ブロックについて、画像ブロックxに対応する画素値予測モードと同様のモードで画素値を予測することができることが、理解されよう。確かに、現在の映像フレーム内のいくつかの画像ブロックについて、画像ブロックxに対応する画素値予測モードとは異なるモードで画素値を予測することもできる。
任意選択的に、本発明のいくつかの可能な実施態様において、非並進動作モデルおよび統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するステップは、統合動き情報ユニットセットi内の動きベクトルに対して動き推定処理を行って、動き推定された統合動き情報ユニットセットiを取得し、非並進動作モデルおよび動き推定された統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するステップを含んでもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、非並進動作モデルおよび統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するステップは、たとえば、縮小された統合動き情報ユニットセットi内の動きベクトルに対して動き推定処理を行って、動き推定された統合動き情報ユニットセットiを取得し、非並進動作モデルおよび動き推定された統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するステップを含んでもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、非並進動作モデルおよび統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するステップは、非並進動作モデルおよび統合動き情報ユニットセットiを用いて計算により画像ブロックxの各画素の動きベクトルを求めて、画像ブロックx内の各画素の求められた動きベクトルを用いて画像ブロックxにおける各画素の予測画素値を決定するステップを含み、または
非並進動作モデルおよび統合動き情報ユニットセットiを用いて計算により画像ブロックx内の各画素ブロックの動きベクトルを求めて、画像ブロックx内の各画素ブロックの求められた動きベクトルを用いて、画像ブロックx内の各画素ブロック内の各画素の予測画素値を決定するステップを含む。
テスト中に、画像ブロックx内の各画素ブロックの動きベクトルが、非並進動作モデルおよび統合動き情報ユニットセットiを用いて計算により求められ、画像ブロックx内の各画素ブロックの各画素の予測画素値が、画像ブロックx内の各画素ブロックの求められた動きベクトルを用いて求められた場合に、画像ブロックx内の画素ブロックを粒度として使用して動きベクトル計算を実行することは、計算の複雑さを大幅に低減するのに役立つことが分かった。
任意選択的に、本発明のいくつかの可能な実施態様において、この方法は、画像ブロックy内のK2個の画素サンプルを決定するステップであって、K2個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットを決定するステップであって、K2は1より大きい整数であり(K1はK2以下であってもよい)、画像ブロックyは画像ブロックxに空間的に隣接し、K2個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットが少なくとも1つの候補動き情報ユニットを含む、ステップと、K2個の動き情報ユニットを含む統合動き情報ユニットセットjを決定するステップであって、K2個の画素サンプルの画素サンプルz1に対応する候補動き情報ユニットセットにおいて動き情報ユニットa2を含み、動き情報ユニットa2は、画素サンプルz2の動き情報ユニットに基づいて求められ、画素サンプルz2は、画像ブロックx内の画素サンプルであり、画素サンプルz2と画素サンプルz1との間の距離が閾値未満であるか、または画素サンプルz2は、画像ブロックx内の画素サンプルであり、画素サンプルz2と画素サンプルz1との間の距離は最短であり、統合動き情報ユニットセットj内のK2個の動き情報ユニットは、K2個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセット内の制約対応動き情報ユニットの少なくとも一部からそれぞれ選択される、ステップと、非並進動作モデルおよび統合動き情報ユニットセットjを用いて画像ブロックyの画素値を予測するステップとをさらに含む。
任意選択的に、本発明のいくつかの可能な実施態様において、K2個の画素サンプルは、画像ブロックyの左上の画素サンプル、右上の画素サンプル、左下の画素サンプル、および中央の画素サンプルa3に少なくとも2つの画素サンプルをさらに含んでもよい。画像ブロックy左上の画素サンプルは画像ブロックy上の頂点であるか、画像ブロックy左上の頂点を含む画像ブロックy内の画素ブロックであり、画像ブロックyの左下の画素サンプルは、画像ブロックyの左下の頂点、または画像ブロックyの左下の頂点を含む画素ブロックy内の画素ブロックであり、画像ブロックyの右上の画素サンプルは、画像ブロックyの右上の頂点、または画像ブロックyの右上の頂点を含む画素ブロックy内の画素ブロックであり、画像ブロックyの中央の画素サンプルa3は、画像ブロックyの中央の画素、または画像ブロックyの中央の画素を含む画像ブロックyの画素ブロックである。
実際の応用では、K2個の動き情報ユニットを含む統合動き情報ユニットセットjは様々な方法で決定されてもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、K2個の動き情報ユニットを含む統合動き情報ユニットセットjを決定するステップは、N2個の候補統合動き情報ユニットセットから、K2個の動き情報ユニットを含む統合動き情報ユニットセットjを決定するステップであって、N2個の候補統合動き情報ユニットセット内の各候補統合動き情報ユニットセットに含まれる各動き情報ユニットは、K2個の画素サンプルの異なる画素サンプルに対応する候補動き情報ユニットセット内の制約対応動き情報ユニットの少なくとも一部から選択され、N2個の候補統合動き情報ユニットセットは互いに異なっており、N2個の候補統合動き情報ユニットセット内の各候補統合動き情報ユニットセットは、K2個の動き情報ユニットを含み、N2は正の整数である、ステップを含んでもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、画像予測方法が映像復号処理に適用される場合、N2個の候補統合動き情報ユニットセットから、K2個の動き情報ユニットを含む統合動き情報ユニットセットjを決定するステップは、N2個の候補統合動き情報ユニットセットから、統合動き情報ユニットセットjであり、映像ビットストリームから得られる識別子に基づいて、K2個の動き情報ユニットを含む統合動き情報ユニットセットjを決定するステップを含んでもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、画像予測方法が映像符号化処理に適用される場合、本方法は、統合動き情報ユニットセットjの識別子を映像ビットストリームに書き込むステップをさらに含む。
任意選択的に、本発明のいくつかの可能な実施態様において、N2個の候補統合動き情報ユニットセットから、K2個の動き情報ユニットを含む候補統合動き情報ユニットセットjを決定するステップは、N2個の候補統合動き情報ユニットセットから、歪みまたはレート歪みコストに従って、K2個の動きベクトルを含む統合動き情報ユニットセットjを決定するステップを含んでもよい。
任意選択的に、統合動き情報ユニットセットjに対応するレート歪みコストは、統合動き情報ユニットセットjを除いたN2個の候補統合動き情報ユニットセットにおける、任意の統合動き情報ユニットセットに対応するレート歪みコスト以下である。
任意選択的に、統合動き情報ユニットセットjに対応する歪みは、統合動き情報ユニットセットjを除いたN2個の候補統合動き情報ユニットセットにおける、任意の統合動き情報ユニットセットに対応する歪み以下である。
N2個の候補統合動き情報ユニットセット(たとえば、N2個の候補統合動き情報ユニットセットにおける統合動き情報ユニットセットj)における特定候補統合動き情報ユニットセットに対応するレート歪みコストは、たとえば、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットj)を用いて、画像ブロック(たとえば、画像ブロックy)の画素値を予測することにより得られた、画像ブロックの予測画素値に対応するレート歪みコストであってもよい。
N2個の候補統合動き情報ユニットセット(たとえば、N2個の候補統合動き情報ユニットセットにおける統合動き情報ユニットセットj)における特定候補統合動き情報ユニットセットに対応する歪みは、たとえば、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットj)を用いて、画像ブロックの画素値を予測することにより得られた、画像ブロック(たとえば、画像ブロックy)の元の画素値および画像ブロックの予測画素値との間の歪みであってもよい(すなわち、元の画素値と画像ブロックの予測画素値との間の歪み)。
本発明の可能な実施形態では、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットj)を用いて、画像ブロックの画素値を予測することにより得られた、画像ブロック(たとえば、画像ブロックy)の元の画素値および画像ブロックの予測画素値の間の歪みは特に、たとえば、平方差の合計、絶対差の合計または、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットj)を用いて、画像ブロックの画素値を予測することにより得られた、画像ブロック(たとえば、画像ブロックy)の元の画素値および画像ブロックの予測画素値との間の差の合計または、歪みを測定できる他の歪みパラメータであってもよい。
N2は正の整数である。たとえば、N2は、1、2、3、4、5、6、8、または別の値に等しくてもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、N2個の候補統合動き情報ユニットセットは、第1の条件、第2の条件、第3の条件、第4の条件、または第5の条件の少なくとも1つを満たす。第1の条件は、N2個の候補統合動き情報ユニットセット内の任意の候補統合動き情報ユニットセット内の動き情報ユニットによって示される画像ブロックyの動きモードが非並進動作であることを含む。第2の条件は、N2個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の少なくとも2つの動き情報ユニットの予測方向が同じであることを含むことができる。第3の条件は、N2個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の少なくとも2つの動き情報ユニットに対応する参照フレームインデックスが同じであることを含む。第4の条件は、N2個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つの動き情報ユニットの水平成分の差の絶対値が水平成分閾値以下であることを含む。第5の条件は、N2個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つの動き情報ユニットの垂直成分の差の絶対値が垂直成分閾値以下であることを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックyの左上の画素サンプルに対応する候補動き情報ユニットセットは、y1個の画素サンプルの動き情報ユニットを含み、y1個の画素サンプルは、画像ブロックyの左上の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックyの左上の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、y1は正の整数である。たとえば、y1個の画素サンプルは、画像ブロックyの左上の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックyの左上の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルのみを含む。
たとえば、y1は、1、2、3、4、5、6、または別の値に等しくてもよい。
たとえば、y1個の画素サンプルは、画像ブロックyが属する映像フレームに時間的に隣接する映像フレーム内に、画像ブロックyの左上の画素サンプルと同じ位置を有する画素サンプル、画像ブロックyの左端に空間的に隣接する画素サンプル、画像ブロックyの左上に空間的に隣接する画素サンプル、または画像ブロックyの上端に空間的に隣接する画素サンプルのうちの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックyの右上の画素サンプルに対応する候補動き情報ユニットセットは、y2個の画素サンプルの動き情報ユニットを含み、y2個の画素サンプルは、画像ブロックyの右上の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックyの右上の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、y2は正の整数である。
たとえば、y2は、1、2、3、4、5、6、または別の値に等しくてもよい。
たとえば、y2個の画素サンプルは、画像ブロックyが属する映像フレームに時間的に隣接する映像フレーム内に、画像ブロックyの右上の画素サンプルと同じ位置を有する画素サンプル、画像ブロックyの右端に空間的に隣接する画素サンプル、画像ブロックyの右上に空間的に隣接する画素サンプル、または画像ブロックyの上端に空間的に隣接する画素サンプルのうちの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックyの左下の画素サンプルに対応する候補動き情報ユニットセットは、y3個の画素サンプルの動き情報ユニットを含み、y3個の画素サンプルは、画像ブロックyの左下の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックyの左下の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、y3は正の整数である。たとえば、y3個の画素サンプルは、画像ブロックyの左下の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックyの左下の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルのみを含む。
たとえば、y3は、1、2、3、4、5、6、または別の値に等しくてもよい。
たとえば、y3個の画素サンプルは、画像ブロックyが属する映像フレームに時間的に隣接する映像フレーム内に、画像ブロックyの左下の画素サンプルと同じ位置を有する画素サンプル、画像ブロックyの左端に空間的に隣接する画素サンプル、画像ブロックyの左下に空間的に隣接する画素サンプル、または画像ブロックyの左端に空間的に隣接する画素サンプルのうちの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックyの中央の画素サンプルa3に対応する候補動き情報ユニットセットはy5個の画素サンプルの動き情報ユニットを含み、y5個画素サンプル内の1画素サンプルは画素サンプルa4である。たとえば、y5個の画素サンプルは、画素サンプルa4のみを含む。
画像ブロックyが属する映像フレーム内の中央の画素サンプルa3の位置は、画像ブロックyが属する映像フレームに隣接する映像フレーム内の画素サンプルa4の位置と同じであり、y5は正の整数である。
任意選択的に、本発明のいくつかの可能な実施態様において、非並進動作モデルおよび統合動き情報ユニットセットjを用いて画像ブロックyの画素値を予測するステップは、統合動き情報ユニットセットjにおける予測方向が第1の予測方向である動きベクトルが異なる参照フレームインデックスに対応する場合、統合動き情報ユニットセットjにおける予測方向が第1の予測方向である動きベクトルを同一の参照フレームに縮小するように、統合動き情報ユニットセットjに対してスケーリング処理を行うステップと、非並進動作モデルおよび縮小された統合動き情報ユニットセットjを用いて画像ブロックyの画素値を予測するステップであって、第1の予測方向が順方向または逆方向である、ステップとを含んでもよく、または、非並進動作および統合動き情報ユニットセットjを用いて画像ブロックyの画素値を予測するステップは、統合動き情報ユニットセットjにおいて予測方向が順方向である動きベクトルが異なる参照フレームインデックスに対応し、統合動き情報ユニットセットjにおいて予測方向が逆方向である動きベクトルが異なる参照フレームインデックスに対応した場合、統合動き情報ユニットセットjにおいて予測方向が順方向である動きベクトルが同一の参照フレームに縮小され、統合動き情報ユニットセットjにおいて予測方向が逆方向である動きベクトルが同一の参照フレームに縮小するように、統合動き情報ユニットセットjに対してスケーリング処理を行うステップと、非並進動作モデルおよび縮小された統合動き情報ユニットセットjを用いて画像ブロックyの画素値を予測するステップとを含んでもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、非並進動作モデルおよび統合動き情報ユニットセットjを用いて画像ブロックyの画素値を予測するステップは、統合動き情報ユニットセットj内の動きベクトルに対して動き推定処理を行って、動き推定された統合動き情報ユニットセットjを取得し、非並進動作モデルおよび動き推定された統合動き情報ユニットセットjを用いて画像ブロックyの画素値を予測するステップを含んでもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、非並進動作モデルおよび統合動き情報ユニットセットjを用いて画像ブロックyの画素値を予測するステップは、たとえば、縮小された統合動き情報ユニットセットj内の動きベクトルに対して動き推定処理を行って、動き推定された統合動き情報ユニットセットjを取得し、非並進動作モデルおよび動き推定された統合動き情報ユニットセットjを用いて画像ブロックyの画素値を予測するステップを含んでもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、非並進動作モデルおよび統合動き情報ユニットセットjを用いて画像ブロックyの画素値を予測するステップは、非並進動作モデルおよび統合動き情報ユニットセットj用いて計算により画像ブロックyの各画素の動きベクトルを求めて、画像ブロックy内の各画素の求められた動きベクトルを用いて画像ブロックy内の各画素の予測画素値を決定するステップまたは、非並進動作モデルおよび統合動き情報ユニットセットjを用いて計算により画像ブロックyの各画素ブロックの動きベクトルを求めて、画像ブロックy内の各画素ブロックの求められた動きベクトルを用いて画像ブロックy内の各画素ブロックの各画素の予測画素値を決定するステップを含む。
テスト中に、画像ブロックy内の各画素ブロックの動きベクトルが、非並進動作モデルおよび統合動き情報ユニットセットjを用いて計算により求められ、画像ブロックy内の各画素ブロックの各画素の予測画素値が、画像ブロックy内の各画素ブロックの求められた動きベクトルを用いて算出された場合に、画像ブロックy内の画素ブロックを粒度として使用して動きベクトル計算を実行することは、計算の複雑さを大幅に低減するのに役立つことが分かった。
本発明の実施形態の前述の解決策をよりよく理解し実施するために、以下では、詳細な説明のために特定のアプリケーションシナリオを使用する。
図2を参照する。図2−a、図2−aは、本発明の別の実施形態に係る、別の画像予測方法の概略フローチャートである。図2−aに示すように、本発明の他の実施形態によって提供される他の画像予測方法は、以下のステップを含んでもよい。
201.画像ブロックxにおけるK1個の画素サンプルを決定する。
この実施形態では、たとえば、K1個の画素サンプルは、画像ブロックxの左上の画素サンプル、右上の画素サンプル、および左下の画素サンプルを含む。
画像ブロックxの左上の画素サンプルは、画像ブロックxの左上の頂点、または画像ブロックxの左上の頂点を含む画像ブロックx内の画素ブロックである。画像ブロックxの左下の画素サンプルは、画像ブロックxの左下の頂点、または画像ブロックxの左下の頂点を含む画像ブロックx内の画素ブロックである。画像ブロックxの右上の画素サンプルは、画像ブロックxの右上の頂点、または画像ブロックxの右上の頂点を含む画像ブロックx内の画素ブロックである。
画素サンプルが画素ブロックである場合、画素ブロックのサイズは、たとえば、2×2、1×2、4×2、4×4などのサイズである。
202.K1個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットを決定する。
各画素サンプルに対応する候補動き情報ユニットセットは、少なくとも1つの候補動き情報ユニットを含む。
本発明の各実施形態で言及した画素サンプルは、画素であってもよいし、少なくとも2つの画素を含む画素ブロックであってもよい。
本発明の各実施形態で述べた動き情報ユニットは、予測方向が順方向である動きベクトルおよび/または予測方向が逆方向である動きベクトルを含むことができる。すなわち、1つの動き情報ユニットは、1つの動きベクトルを含むことができ、または異なる予測方向を有する2つの動きベクトルを含むことができる。
動き情報ユニットの予測方向が順方向である場合、動き情報ユニットは、予測方向が順方向である動きベクトルを含むが、予測方向が逆方向である動きベクトルを含まない動きベクトルを含むことを示す。動き情報ユニットの予測方向が逆方向である場合、動き情報ユニットは、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向である動きベクトルを含まない動きベクトルを含むことを示す。動き情報ユニットの予測方向が一方向である場合には、動き情報ユニットは、予測方向が順方向である動きベクトルを含むが、予測方向が逆方向である動きベクトルを含まないことを示し、動き情報ユニットは、予測方向が逆方向である動きベクトルを含むが予測方向が順方向である動きベクトルを含まないことを示す。動き情報ユニットの予測方向が双方向である場合、動き情報ユニットは、予測方向が順方向である動きベクトルと、予測方向が逆方向である動きベクトルとを含むことを示す。
K1は1より大きい整数である。たとえば、K1は、2、3、4、または別の値に等しくてもよい。
K1個の画素サンプルに対応する候補動き情報ユニットセットは、様々な方法で決定されてもよい。
たとえば、図2−bおよび図2−cに示すように、図2−bおよび図2−cは、K1が3に等しい例を使用する。画像ブロックxの左上の画素サンプルに対応する候補動き情報ユニットセットS1は、x1画素サンプルの動き情報ユニットを含むことができる。x1個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレーム内に、画像ブロックxの左上の画素サンプルLTと同じ位置を有する画素サンプルCol−LT、画像ブロックxの左端に空間的に隣接する画素サンプルC、画像ブロックxの左上に空間的に隣接する画素サンプルA、または画像ブロックxの上端に空間的に隣接する画素サンプルBのうちの少なくとも1つを含む。たとえば、画像ブロックxの左端に空間的に隣接する画素サンプルCの動き情報ユニットと、画像ブロックxの左上に空間的に隣接する画素サンプルAの動き情報ユニットと、画像ブロックxの上端に空間的に隣接する画素サンプルBの動き情報ユニットとをまず取得してもよく、画像ブロックxの左端に空間的に隣接する得られた画素サンプルCの動き情報ユニットと、画像ブロックxの左上に空間的に隣接する画素サンプルAの動き情報ユニットと、画像ブロックxの上端に空間的に隣接する画素サンプルBの動き情報ユニットとが、画像ブロックxの左上の画素サンプルに対応する候補動き情報ユニットセットに追加される。画素サンプルCの動き情報ユニット内の動き情報ユニットの一部または全部が画像ブロックxの左端に空間的に隣接する場合、画像ブロックxの左上に空間的に隣接する画素サンプルAの動き情報ユニットと、画像ブロックxの上端に空間的に隣接する画素サンプルBの動き情報ユニットとは同じであり、候補動き情報ユニットセットS1に対してさらに重複排除処理が行われる(ここでは、重複排除処理後の候補動き情報ユニットセットS1における動き情報ユニットの量は、1または2であってもよい)。画像ブロックxの左上の画素サンプルLTと同じ位置を有する画素サンプルCol−LTの動き情報ユニットが、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、重複排除処理後の候補動き情報ユニットセットS1の動き情報ユニットと同じ場合、候補動き情報ユニットセットS1における動き情報ユニットの量が3に等しくなるまで、ゼロ動き情報ユニットが候補情報ユニットセットS1に追加される。また、画像ブロックxの左上の画素サンプルLTと同じ位置を有する画素サンプルCol−LTの動き情報ユニットが、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、重複排除処理後の候補動き情報ユニットセットS1内のいずれの動き情報ユニットとも異なる場合、画像ブロックxの左上の画素サンプルLTと同じ位置を有する画素サンプルCol−LTの動き情報ユニットは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、重複排除処理後の候補動き情報ユニットセットS1に追加される。この場合、候補動き情報ユニットセットS1の動き情報ユニットの量がまだ3未満である場合には、候補動き情報ユニットセットS1に動き情報ユニットがさらに追加された情報ユニットセットS1は3に等しい。
画像ブロックxが属する映像フレームが順方向予測フレームである場合、候補動き情報ユニットセットS1に追加されたゼロ動き情報ユニットは、予測方向が順方向であるゼロ動きベクトルを含むが、予測方向が逆方向であるゼロ動きベクトルを含まなくてもよい。画像ブロックxが属する映像フレームが逆方向予測フレームである場合、候補動き情報ユニットセットS1に追加されたゼロ動き情報ユニットは、予測方向が逆方向であるゼロ動きベクトルを含むが、予測方向が順方向であるゼロ動きベクトルを含まなくてもよい。また、画像ブロックxが属する映像フレームが双方向予測フレームである場合、候補動き情報ユニットセットS1に追加されたゼロ動き情報ユニットは、予測方向が順方向であるゼロ動きベクトルと、予測方向が逆方向のゼロ動きベクトルとを含み、ここで、候補動き情報ユニットセットS1に追加された異なるゼロ動き情報ユニットの動きベクトルに対応する参照フレームインデックスは異なってもよく、対応する参照フレームインデックスは、例えば、0,1,2,3、または別の値とすることができる。
同様に、たとえば、図2−bおよび図2−cに示すように、画像ブロックxの右上の画素サンプルに対応する候補動き情報ユニットセットS2は、x2画素サンプルの動き情報ユニットを含むことができる。x2個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレーム内に、画像ブロックxの右上の画素サンプルRTと同じ位置を有する画素サンプルCol−RT、画像ブロックxの右上に空間的に隣接する画素サンプルE、または画像ブロックxの上端に空間的に隣接する画素サンプルDのうちの少なくとも1つを含む。たとえば、画像ブロックxの右上に空間的に隣接する画素サンプルEの動き情報ユニットと、画像ブロックxの上端に空間的に隣接する画素サンプルDの動き情報情報ユニットとをまず取得してもよく、画像ブロックxの右上に空間的に隣接する得られた画素サンプルEの動き情報ユニットと、画像ブロックxの上端に空間的に隣接する画素サンプルDの動き情報ユニットとが、画像ブロックxの右上の画素サンプルに対応する候補動き情報ユニットセットS2に追加される。画像ブロックxの右上に空間的に隣接する画素サンプルEの動き情報ユニットが、画像ブロックxの上端に空間的に隣接する画素サンプルDの動き情報ユニットと同じである場合、候補動き情報ユニットセットS2に対して重複排除処理を行う(ここでは、重複除去処理後の候補動き情報ユニットセットS2における動き情報ユニットの量は1である)。画像ブロックxの右上の画素サンプルRTと同じ位置を有する画素サンプルCol−RTの動き情報ユニットが、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、重複排除処理後の候補動き情報ユニットセットS2の動き情報ユニットと同じ場合、候補動き情報ユニットセットS2における動き情報ユニットの量が2に等しくなるまで、ゼロ動き情報ユニットが候補情報ユニットセットS2にさらに追加されてもよい。また、画像ブロックxの右上の画素サンプルRTと同じ位置を有する画素サンプルCol-RTの動き情報ユニットが、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、重複排除処理後の候補動き情報ユニットセットS2内のいずれの動き情報ユニットとも異なる場合、画像ブロックxの右上の画素サンプルRTと同じ位置を有する画素サンプルCol-RTの動き情報ユニットは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、重複排除処理後の候補動き情報ユニットセットS2に追加されてもよい。この場合、候補動き情報ユニットセットS2の動き情報ユニットの量がまだ2未満である場合には、候補動き情報ユニットセットS2内の動き情報ユニットの量が2に等しくなるまで、候補動き情報ユニットセットS2にゼロ動き情報ユニットがさらに追加される。
画像ブロックxが属する映像フレームが順方向予測フレームである場合、候補動き情報ユニットセットS2に追加されたゼロ動き情報ユニットは、予測方向が順方向であるゼロ動きベクトルを含むが、予測方向が逆方向であるゼロ動きベクトルを含まなくてもよい。画像ブロックxが属する映像フレームが逆方向予測フレームである場合、候補動き情報ユニットセットS2に追加されたゼロ動き情報ユニットは、予測方向が逆方向であるゼロ動きベクトルを含むが、予測方向が順方向であるゼロ動きベクトルを含まなくてもよい。また、画像ブロックxが属する映像フレームが双方向予測フレームである場合、候補動き情報ユニットセットS2に追加されたゼロ動き情報ユニットは、予測方向が順方向であるゼロ動きベクトルと、予測方向が逆方向のゼロ動きベクトルとを含み、ここで、候補動き情報ユニットセットS2に追加された異なるゼロ動き情報ユニットの動きベクトルに対応する参照フレームインデックスは異なってもよく、対応する参照フレームインデックスは、例えば、0,1,2,3、または別の値とすることができる。
同様に、たとえば、図2−bおよび図2−cに示すように、画像ブロックxの左下の画素サンプルに対応する候補動き情報ユニットセットS3は、x3画素サンプルの動き情報ユニットを含むことができる。x3個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレーム内に、画像ブロックxの左下の画素サンプルLBと同じ位置を有する画素サンプルCol−LB、画像ブロックxの右上に空間的に隣接する画素サンプルG、または画像ブロックxの左端に空間的に隣接する画像ブロックFのうちの少なくとも1つを含む。たとえば、画像ブロックxの左下に空間的に隣接する画素サンプルGの動き情報ユニットと、画像ブロックxの左端に空間的に隣接する画像ブロックFの動き情報情報ユニットとをまず取得してもよく、画像ブロックxの左下に空間的に隣接する得られた画素サンプルGの動き情報ユニットと、画像ブロックxの左端に空間的に隣接する画像ブロックFの動き情報ユニットとが、画像ブロックxの左下の画素サンプルに対応する候補動き情報ユニットセットS3に追加される。画像ブロックxの左下に空間的に隣接する画素サンプルGの動き情報ユニットが、画像ブロックxの左端に空間的に隣接する画像ブロックFの動き情報ユニットと同じである場合、候補動き情報ユニットセットS3に対して重複排除処理を行う(ここでは、重複除去処理後の候補動き情報ユニットセットS3における動き情報ユニットの量は1である)。画像ブロックxの左下の画素サンプルLBと同じ位置を有する画素サンプルCol−LBの動き情報ユニットが、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、重複排除処理後の候補動き情報ユニットセットS3の動き情報ユニットと同じ場合、候補動き情報ユニットセットS3における動き情報ユニットの量が2に等しくなるまで、ゼロ動き情報ユニットが候補動き情報ユニットセットS3にさらに追加されてもよい。また、画像ブロックxの左下の画素サンプルLBと同じ位置を有する画素サンプルCol−LBの動き情報ユニットが、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、重複排除処理後の候補動き情報ユニットセットS3内のいずれの動き情報ユニットとも異なる場合、画像ブロックxの左上の画素サンプルLBと同じ位置を有する画素サンプルCol−LBの動き情報ユニットは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、重複排除処理後の候補動き情報ユニットセットS3に追加されてもよい。この場合、候補動き情報ユニットセットS3の動き情報ユニットの量がまだ2未満である場合には、候補動き情報ユニットセットS2内の動き情報ユニットの量が2に等しくなるまで、候補動き情報ユニットセットS3にゼロ動き情報ユニットがさらに追加される。
画像ブロックxが属する映像フレームが順方向予測フレームである場合、候補動き情報ユニットセットS3に追加されたゼロ動き情報ユニットは、予測方向が順方向であるゼロ動きベクトルを含むが、予測方向が逆方向であるゼロ動きベクトルを含まなくてもよい。画像ブロックxが属する映像フレームが逆方向予測フレームである場合、候補動き情報ユニットセットS3に追加されたゼロ動き情報ユニットは、予測方向が逆方向であるゼロ動きベクトルを含むが、予測方向が順方向であるゼロ動きベクトルを含まなくてもよい。また、画像ブロックxが属する映像フレームが双方向予測フレームである場合、候補動き情報ユニットセットS3に追加されたゼロ動き情報ユニットは、予測方向が順方向であるゼロ動きベクトルと、予測方向が逆方向のゼロ動きベクトルとを含み、ここで、候補動き情報ユニットセットS3に追加された異なるゼロ動き情報ユニットの動きベクトルに対応する参照フレームインデックスは異なってもよく、対応する参照フレームインデックスは、例えば、0,1,2,3、または別の値とすることができる。
2つの動き情報ユニットが異なるとは、2つの動き情報ユニットに含まれる動きベクトルが異なることを意味してもよいし、2つの動き情報ユニットに含まれる動きベクトルの予測方向が異なること、または、2つの動き情報ユニットに含まれる動きベクトルに対応する参照フレームインデックスが異なることを意味してもよい。2つの動き情報ユニットが同じであるとは、2つの動き情報ユニットに含まれる動きベクトルが同じであることを意味してもよいし、2つの動き情報ユニットに含まれる動きベクトルの予測方向が同じであること、または、2つの動き情報ユニットに含まれる動きベクトルに対応する参照フレームインデックスが同じであることを意味してもよい。
より多くの画素サンプルが存在するシナリオの場合、同様にして画素サンプルに対応する候補動き情報ユニットセットを得ることができることが理解されよう。
例えば、図2−dに示すように、図2−dの例では、K1は4に等しい。図2−dの例では、K1個の画素サンプルは、画像ブロックxの左上の画素サンプル、右上の画素サンプル、左下の画素サンプル、および中央の画素サンプルa1を含むことができる。画像ブロックxの左上の画素サンプルは画像ブロックxの左上の頂点であるか、画像ブロックxの左上の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの左下の画素サンプルは、画像ブロックxの左下の頂点、または画像ブロックxの左下の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの右上の画素サンプルは、画像ブロックxの右上の頂点、または画像ブロックxの右上の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの中央の画素サンプルa1は、画像ブロックxの中央の画素、または画像ブロックxの中央の画素を含む画像ブロックx内の画素ブロックである。
203.K1個の画素サンプルの各画素サンプルに対応する候補動き情報ユニットセットに基づいて、N個の候補統合動き情報ユニットセットを決定する。N個の統合動き情報ユニットセット内の各候補統合動き情報ユニットセットに含まれる各動き情報ユニットが、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の制約対応動き情報ユニットの少なくとも一部から、選択される。N個の候補統合動き情報ユニットセットは互いに異なっており、N個の候補統合動き情報ユニットセット内の候補統合動き情報ユニットセットは、K1個の動き情報ユニットを含み、Nは正の整数である。
これは、候補動き情報ユニットセットS1(3つの動き情報ユニットを含むものとする)、候補動き情報ユニットセットS2(2つの動き情報ユニットを含むものとする)、候補動き情報ユニットセットS3(2つの動き情報ユニットを含むものとする)に基づいて候補統合動き情報ユニットセットを決定すると仮定すると、理論的には、3×2×2=12個の初期候補統合動き情報ユニットセットが決定されてもよいことが理解されよう。ただし、可用性を向上させるために、たとえば、第1の条件、第2の条件、および第3の条件の少なくとも1つの条件を使用して、12個の初期候補統合動き情報ユニットセットからN個の候補統合動き情報ユニットセットをスクリーニングすることができる。確かに、候補動き情報ユニットセットS1に含まれる動き情報ユニット、候補動き情報ユニットセットS2および候補動き情報ユニットセットS3の量は、上記の例に限定されるものではないため、初期候補統合動き情報ユニットセットの量は必ずしも12ではない。
任意選択的に、本発明のいくつかの可能な実施態様において、N個の候補統合動き情報ユニットセットは、第1の条件、第2の条件、第3の条件、第4の条件、または第5の条件の少なくとも1つを満たす。
第1の条件は、N個の候補統合動き情報ユニットセット内の任意の候補統合動き情報ユニットセット内の動き情報ユニットによって示される画像ブロックxの動きモードが非並進動作であることを含む。たとえば、予測方向が候補統合動き情報ユニットセット内の第1の予測方向である全ての動きベクトルが等しい場合、候補統合動き情報ユニットセットの動き情報ユニットが示す画像ブロックxの動きモードは、並進動作であると考えることができ、そうでなければ、第1の予測方向が順方向または逆方向である場合には、候補統合動き情報ユニットセット内の動き情報ユニットよって示される画像ブロックxの動きモードが非並進動作であると考えることができる。他の例として、予測方向が候補統合動き情報ユニットセット内の順方向予測方向である全ての動きベクトルが等しく、予測方向が候補統合動き情報ユニットセット内の逆予測方向である全ての動きベクトルが等しい場合、候補統合動き情報ユニットセット内の動き情報ユニットによって示される画像ブロックxの動きモードが並進動作であると考えることができ、そうでなければ、候補統合動き情報ユニットセット内の動き情報ユニットによって示される画像ブロックxの動きモードは非並進動作であると考えられる。
第2の条件は、N個の候補統合動き情報ユニットセット内の候補統合動き情報ユニットセットの少なくとも2つの動き情報ユニットの予測方向が同一であることを含んでも良い(特定の候補統合動き情報ユニットセット内の動き情報ユニットの予測方向が互いに異なる場合、特定の候補統合動き情報ユニットセットが無効であり、特定の候補統合動き情報ユニットセットが破棄されてもよいと考えられる)。たとえば、2つの動き情報ユニットがともに、予測方向が順方向の動きベクトルおよび予測方向が逆方向の動きベクトルを含む場合には、2つの動き情報ユニットの予測方向が同じであることを示す。別の例として、2つの動き情報ユニットの中の1つの動き情報ユニットが、予測方向が順方向の動きベクトルと予測方向が逆方向の動きベクトルとを含み、他の動き情報ユニットが、予測方向が順方向である動きベクトルを含むが、予測方向が逆方向の動きベクトルは含まないか、または、他方の動き情報ユニットが、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向である動きベクトルは含まない場合、2つの動き情報ユニットの予測方向が異なることを示す。別の例として、2つの動き情報ユニットの中の1つの動き情報ユニットが、予測方向が順方向の動きベクトルを含むが、予測方向が逆方向の動きベクトルは含まず、他方の動き情報ユニットが、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向である動きベクトルは含まない場合、2つの動き情報ユニットの予測方向が異なることを示してもよい。別の例として、2つの動き情報ユニットがともに、予測方向が順方向の動きベクトルを含むが、2つの動き情報ユニットがどちらも予測方向が逆方向の動きベクトルを含まない場合には、2つの動き情報ユニットの予測方向が同じであることを示す。別の例として、2つの動き情報ユニットがともに、予測方向が逆方向の動きベクトルを含むが、2つの動き情報ユニットがどちらも予測方向が順方向の動きベクトルを含まない場合には、2つの動き情報ユニットの予測方向が同じであることを示す。
第3の条件は、N個の候補統合動き情報ユニットセット内の候補統合動き情報ユニットセットの少なくとも2つの動き情報ユニットに対応する参照フレームインデックスが同一であることを含んでも良い(特定の候補統合動き情報ユニットセット内の動き情報ユニットに対応する参照フレームインデックスが互いに異なる場合、特定の候補統合動き情報ユニットセットが無効であり、特定の候補統合動き情報ユニットセットが破棄されてもよいと考えられる)。たとえば、2つの動き情報ユニットがともに、予測方向が順方向である動きベクトルと、予測方向が逆方向である動きベクトルとを含み、2つの動き情報ユニットの予測方向が順方向である動きベクトルに対応する参照フレームインデックスが同じであり、2つの動き情報ユニットの予測方向が逆方向の動きベクトルに対応する参照フレームインデックスが同じである場合、2つの動き情報ユニットに対応する参照フレームインデックスが同じであることを示す。別の例として、2つの動き情報ユニットの中の1つの動き情報ユニットが予測方向が順方向の動きベクトルと予測方向が逆方向の動きベクトルとを含み、他の動き情報ユニットが、予測方向が順方向である動きベクトルを含むが、予測方向が逆方向の動きベクトルは含まないか、または、他方の動き情報ユニットが、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向である動きベクトルは含まない場合、2つの動き情報ユニットの予測方向が異なっており、2つの動き情報ユニットに対応する参照フレームインデックスが異なることを示してもよい。別の例として、2つの動き情報ユニットの中の1つの動き情報ユニットが予測方向が順方向の動きベクトルを含むが、予測方向が逆方向の動きベクトルは含まず、他方の動き情報ユニットが、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向である動きベクトルは含まない場合、2つの動き情報ユニットに対応する参照フレームインデックスが異なることを示してもよい。別の例として、2つの動き情報ユニットの中の1つの動き情報ユニットが予測方向が順方向の動きベクトルを含むが、予測方向が逆方向の動きベクトルを含まず、他の動き情報ユニットが、予測方向が順方向である動きベクトルを含むが、予測方向が逆方向の動きベクトルは含まず、2つの動き情報ユニットの予測方向が順方向である動きベクトルに対応する参照フレームインデックスが同一である場合、2つの動き情報ユニットに対応する参照フレームインデックスが異なることを示してもよい。別の例として、2つの動き情報ユニットの中の1つの動き情報ユニットが予測方向が逆方向の動きベクトルを含むが、予測方向が順方向の動きベクトルを含まず、他の動き情報ユニットが、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向の動きベクトルは含まず、2つの動き情報ユニットの予測方向が逆方向である動きベクトルに対応する参照フレームインデックスが同一である場合、2つの動き情報ユニットに対応する参照フレームインデックスが異なることを示してもよい。
第4の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つ(任意の2つ)の動き情報ユニットの水平成分の差の絶対値が水平成分閾値以下であることを含む。具体的には、第4の条件は、たとえば、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つ(任意の2つ)の動き情報ユニットの予測方向が同じである2つの動きベクトルの水平成分の差の絶対値が水平成分閾値以下であることを含む。特定の候補統合動き情報ユニットセット内の2つの動き情報ユニットの水平成分の差の絶対値が水平成分閾値より大きい場合、特定の候補統合動き情報ユニットセットは無効であると考えられ、特定の候補統合動き情報ユニットセットはさらに放棄されてもよい。水平成分閾値は、画像ブロックxの幅の1/3、画像ブロックxの幅の1/2、画像ブロックxの幅の2/3、画像ブロックxの幅の3/4、または別の値と等しくてもよい。
第5の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つ(任意の2つ)の動き情報ユニットの垂直成分の差の絶対値が垂直成分閾値以下であることを含む。具体的には、第5の条件は、たとえば、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つ(任意の2つ)の動き情報ユニットの予測方向が同じである2つの動きベクトルの垂直成分の差の絶対値が垂直成分閾値以下であることを含む。垂直成分閾値は、画像ブロックxの高さの1/3、画像ブロックxの高さの1/2、画像ブロックxの高さの2/3、画像ブロックxの高さの3/4、または別の値と等しくてもよい。
確かに、N個の候補統合動き情報ユニットセットは、たとえば、図示されていない他の条件をさらに満たすことができる。
第1の条件、第2の条件、第3の条件、第4の条件、第5の条件の少なくとも1つを導入することにより、初期候補統合動き情報ユニットセットについてスクリーニングが実行され、N個の候補統合動き情報ユニットセットが、初期候補統合動き情報ユニットセットからスクリーニングされることが理解されよう。これは、可能性のあるいくつかの無効候補統合動き情報ユニットセットの後続の計算に事前に参加を終了させるのに役立ち、さらに符号化および復号化の計算量を削減するのに役立つ。
具体的な実施プロセスでは、たとえば、第1の条件、第2の条件、または第3の条件のうちの少なくとも1つを最初に使用して、初期候補統合動き情報ユニットセットのスクリーニングを行うことができ、初期候補統合動き情報ユニットセットからN01個の候補統合動き情報ユニットセットをスクリーニングし、N01個の候補統合動き情報ユニットセットのスケーリングを行い、第4の条件または第5の条件の少なくとも1つを用いて、N01個の候補統合動き情報ユニットセットからN個の候補統合動き情報ユニットセットをスクリーニングする。確かに、スクリーニングは、第4の条件および第5の条件を参照することなく、第1の条件、第2の条件、または第3の条件の少なくとも1つを直接用いることにより、初期候補統合動き情報ユニットセットに対して行われてもよく、N個の候補統合動き情報ユニットセットが初期候補統合動き情報ユニットセットからスクリーニングされる。
映像符号化または復号化における動きベクトルは、同じ時間(同じ参照フレームに対応する)に対する一方向(予測方向)のオブジェクトのオフセットを反映することが理解されよう。したがって、異なる画素サンプルの動き情報ユニットが異なる予測方向に対応し、かつ/または異なる参照フレームインデックスに対応する場合、参照フレームに対する画像ブロックxの各画素または画素ブロックの動きオフセットを直接得ることはできない。しかし、画素サンプルが同じ予測方向に対応し、かつ同じ参照フレームインデックスに対応する場合、統合動きベクトルの組み合わせを使用することによって、画像ブロック内の各画素または画素ブロックの動きベクトルを得ることができる。
候補統合動き情報ユニットセット内の異なる画素サンプルの動き情報ユニットが異なる予測方向に対応し、かつ/または異なる参照フレームインデックスに対応する場合、候補統合動き情報ユニットセットにスケーリング処理を行うようにしてもよい。統合統合動き情報ユニットセットに対して行われるスケーリング処理は、候補統合動き情報ユニットセット内の1つ以上の動き情報ユニットセット内の動きベクトルの修正、追加、および/または削除等に関係してもよい。
たとえば、候補統合動き情報ユニットセットi(たとえば、統合動き情報ユニットセットi)における予測方向が第1予測方向である動きベクトルが異なる参照フレームインデックスに対応する場合、予測方向が、候補統合動き情報ユニットセットの第1の予測方向である動きベクトルを同一の参照フレームに縮小するように候補統合動き情報ユニットセットに対してスケーリング処理を行い、第1の予測方向は順方向または逆方向である。
別の例として、候補統合動き情報ユニットセットi(例えば統合動き情報ユニットセットi)における予測方向が順方向である動きベクトルが、異なる参照フレームインデックスに対応し、候補統合動き情報ユニットセットにおける予測方向が逆方向である動きベクトルが、異なる参照フレームインデックスに対応する場合、統合動き情報ユニットセットiにおいて、予測方向が順方向である動きベクトルを同一の参照フレームに縮小し、統合動き情報ユニットセットiの予測方向が後方である動きベクトルを同一の参照フレームに縮小するように候補統合動き情報ユニットセットに対してスケーリング処理を行う。
動き情報ユニットの予測方向が双方向である場合、動き情報ユニットは、予測方向が順方向である動きベクトルと、予測方向が逆方向である動きベクトルとを含むことを示す。動き情報ユニットの予測方向が順方向である場合、動き情報ユニットは、予測方向が順方向である動きベクトルを含むが、予測方向が逆方向である動きベクトルを含まない動きベクトルを含むことを示す。動き情報ユニットの予測方向が逆方向である場合、動き情報ユニットは、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向である動きベクトルを含まない動きベクトルを含むことを示す。
候補統合動き情報ユニットセットの異なる画素サンプルの動き情報ユニットが異なる予測方向に対応し、かつ/または異なる参照フレームインデックスに対応する場合、対応する候補統合動き情報ユニットセットにおける動き情報ユニットに対応する異なる予測方向および/または異なる参照フレームインデックスをさらに調整することができる。
予測方向は以下のように調整することができる。たとえば、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセットzにおける全ての動き情報ユニットが同じ予測方向に対応する場合、候補統合動き情報ユニットセットz内の各動き情報ユニットの予測方向は変更されないままであってもよい。さらに、候補統合動き情報ユニットセットz内の2つの動き情報ユニットの予測方向が同じである場合、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向は、2つの動き情報ユニットの予測方向と同一に設定されてもよい。
具体的には、たとえば、候補統合動き情報ユニットセットz内の2つの動き情報ユニットにの予測方向が第1の予測方向(第1の予測方向が順方向または逆方向)であり、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向が第2の予測方向(第2の予測方向は第1の予測方向とは異なる)である場合、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向が第1の予測方向に調整される。すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て第1の予測方向である。
他の例として、候補統合動き情報ユニットセットz内の2つの動き情報ユニットの予測方向が双方向であり、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向が順方向である場合、候補統合動き情報ユニットセットz内の残りの動き情報ユニットに、予測方向が逆方向である動きベクトルを追加する(予測方向が逆方向である追加動きベクトルの値は、対応する動き情報ユニットにおいて予測方向が順方向である元の動きベクトルの値と逆であり、これは1:−1のスケーリング処理を行うことに相当する)。このように、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向も双方向に変更され、すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て双方向である。
他の例として、候補統合動き情報ユニットセットz内の2つの動き情報ユニットの予測方向が双方向であり、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向が逆方向である場合、候補統合動き情報ユニットセットz内の残りの動き情報ユニットに、予測方向が順方向である動きベクトルを追加する(予測方向が順方向である追加動きベクトルの値は、対応する動き情報ユニットにおいて予測方向が逆方向である元の動きベクトルの値と逆であり、これは1:−1のスケーリング処理を行うことに相当する)。このように、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向も双方向に変更され、すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て双方向である。
別の例として、候補統合動き情報ユニットセットzにおける2つの動き情報ユニットの予測方向が順方向であるが、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向が双方向である場合、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットから、予測方向が逆方向である動きベクトルを削除する。このようにして、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向もまた、順方向に変更される。すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て順方向である。
別の例として、候補統合動き情報ユニットセットzにおける2つの動き情報ユニットの予測方向が逆方向であるが、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向が双方向である場合、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットから、予測方向が順方向である動きベクトルを削除する。このようにして、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向もまた、逆方向に変更される。すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て逆方向である。
参照フレームインデックスは、以下のように調整することができる。具体的には、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセットz内の全ての動き情報ユニットが同一の参照フレームインデックスに対応する場合、候補統合動き情報ユニットセットzにおける各動き情報ユニットに対応する参照フレームインデックスは変更されないままである。候補統合動き情報ユニットセットz内の2つの動き情報ユニットに対応する参照フレームインデックスが同一であるが、残りの動き情報ユニットに対応する参照フレームインデックスは異なる場合、候補統合動き情報ユニットセットz内の残りの動き情報ユニットに対応する参照フレームインデックスは、2つの動き情報ユニットに対応する参照フレームインデックスと同一に調整されるが、候補統合動き情報ユニットセットzにおいて予測方向が順方向である動きベクトルが同一の参照フレームに縮小されるように、かつ/または候補統合動き情報ユニットセットzの予測方向が逆方向である動きベクトルが同一の参照フレームに縮小されるように、候補統合動き情報ユニットセットに対してスケーリング処理が行われる。
任意選択的に、本発明のいくつかの可能な実施態様において、候補統合動き情報ユニットセットz内の動きベクトルMVdは、現在の映像フレーム(例えば、画像ブロックxが属する映像フレーム)の再生シーケンス番号がCurPocであり、ここで、対象参照フレームの再生シーケンス番号をDesPoc、動きベクトルMVdの元の参照フレームの再生シーケンス番号をSrcPocと仮定すると、動きベクトルMVdが目標参照フレームに縮小され、動きベクトルMVSが得られる方法を使用することによって、目標参照フレームに縮小されてもよい。
具体的には、以下の式に従った計算を通してMVsを求めることができる。
候補統合動き情報ユニットセットzは、N個の候補統合動き情報ユニットセットに設定された任意の候補統合動き情報ユニットセットであってもよく、すなわち、N個の候補統合動き情報ユニットセットにおける各候補統合動き情報ユニットセット内の動きベクトルに対してスケーリング処理を、図示された方法により行ってもよい。
204.N個の候補統合動き情報ユニットセットから、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定する。
任意選択的に、本発明のいくつかの可能な実施態様において、画像予測方法が映像復号処理に適用される場合、N個の候補統合動き情報ユニットセットから、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するステップは、N個の候補統合動き情報ユニットセットから、統合動き情報ユニットセットiであり、映像ビットストリームから得られる識別子に基づいて、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するステップを含んでもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、画像予測方法が映像符号化処理に適用される場合、本方法は、統合動き情報ユニットセットiの識別子を映像ビットストリームに書き込むステップをさらに含んでもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、画像予測方法が映像復号処理に適用される場合、N個の候補統合動き情報ユニットセットから、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するステップは、N個の候補統合動き情報ユニットセットから、歪みまたはレート歪みコストに従って、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するステップを含んでもよい。
任意選択的に、統合動き情報ユニットセットiに対応するレート歪みコストは、統合動き情報ユニットセットiを除いたN個の候補統合動き情報ユニットセットにおける、任意の統合動き情報ユニットセットに対応するレート歪みコスト以下である。
任意選択的に、統合動き情報ユニットセットiに対応する歪みは、統合動き情報ユニットセットiを除いたN個の候補統合動き情報ユニットセットにおける、任意の統合動き情報ユニットセットに対応する歪み以下である。
N個の候補統合動き情報ユニットセット(たとえば、N個の候補統合動き情報ユニットセットにおける統合動き情報ユニットセットi)における特定候補統合動き情報ユニットセットに対応するレート歪みコストは、たとえば、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットi)を用いて、画像ブロック(たとえば、画像ブロックx)の画素値を予測することにより得られた、画像ブロックの予測画素値に対応するレート歪みコストであってもよい。
N個の候補統合動き情報ユニットセット(たとえば、N個の候補統合動き情報ユニットセットにおける統合動き情報ユニットセットi)における特定候補統合動き情報ユニットセットに対応する歪みは、たとえば、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットi)を用いて、画像ブロックの画素値を予測することにより得られた、画像ブロック(たとえば、画像ブロックx)の元の画素値および画像ブロックの予測画素値との間の歪みであってもよい(すなわち、元の画素値と画像ブロックの予測画素値との間の歪み)。
本発明の可能な実施形態では、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットi)を用いて、画像ブロックの画素値を予測することにより得られた、画像ブロック(たとえば、画像ブロックx)の元の画素値および画像ブロックの予測画素値の間の歪みは特に、たとえば、平方差の合計、絶対差の合計または、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットi)を用いて、画像ブロックの画素値を予測することにより得られた、画像ブロック(たとえば、画像ブロックx)の元の画素値および画像ブロックの予測画素値との間の差の合計または、歪みを測定できる他の歪みパラメータであってもよい。
さらに、計算の複雑さをさらに低減するために、Nがn1より大きい場合、N個の候補統合動き情報ユニットセットからn1個の候補統合動き情報ユニットセットを選別してもよいし、k1個の動き情報ユニットを含む統合動き情報ユニットセットiは、n1個の候補統合動き情報ユニットセットから、歪みまたはレート歪みコストに基づいて決定される。n1個の候補統合動き情報ユニットセットにおける任意の候補統合動き情報ユニットセットに対応するD(V)が、n1個の候補統合動き情報ユニットセットを除いて、N個の候補統合動き情報ユニットセットにおける任意の候補統合動き情報ユニットセットに対応するD(V)以下であり、ここで、n1は、例えば、3、4、5、6、または別の値に等しい。
また、n1個の候補統合動き情報ユニットセットまたはn1個の候補統合動き情報ユニットセットの識別子が候補統合動き情報ユニットセットリストに追加される。Nがn1以下であれば、N個の候補統合動き情報ユニットセット、またはN個の候補統合動き情報ユニットセットの識別子が候補統合動き情報ユニットセットリストに追加される。候補統合動き情報ユニットセットリストにおける候補統合動き情報ユニットセットは、たとえばD(V)の値に応じて、昇順または降順に並べることができる。
特定の候補統合動き情報ユニットセット内の各動き情報ユニットの予測方向を一方向と仮定すると、特定候補統合動き情報ユニットセットのユークリッド距離パラメータD(V)は、たとえば、以下のようにして計算することができる。
ここで、
は、特定の候補統合動き情報ユニットセットの予測方向が同じ3つの動きベクトルである。なお、上記の例では、3つの動き情報ユニットを含む候補統合動き情報ユニットセットを一例として用い、候補統合動き情報ユニットセットが他の量の動き情報ユニットを含む場合も同様に推論することができることが理解されよう。
特定の候補統合動き情報ユニットセット内の各動き情報ユニットの予測方向が双方向であると仮定すると、特定の候補統合動き情報ユニットセットのユークリッド距離パラメータD(V)は、たとえば、以下のようにして計算することができる。
ここで、
は、特定の候補統合動き情報ユニットセットにおける予測方向が順方向である3つの動きベクトルであり、
は、特定の候補統合動き情報ユニットセットの予測方向が逆方向である3つの動きベクトルである。なお、上記の例では、3つの動き情報ユニットを含む候補統合動き情報ユニットセットを一例として用い、候補統合動き情報ユニットセットが他の量の動き情報ユニットを含む場合も同様に推論することができることが理解されよう。
205.非並進動作モデルと統合動き情報ユニットセットiを使用して、画像ブロックxに対して動きベクトル予測を行う。
画像ブロックxの大きさがS1xS2であり、S1がS2と等しいか、または等しくないと仮定する。
k1が3であり、3つの画素サンプルの座標が(0,0)、(S1、0)、および(0、S2)であると仮定する。ここでは、たとえば、画素サンプルの左上隅の画素の座標が計算に関与する。図2−eを参照すると、図2−eは、画像ブロックxの4つの頂点の座標を示す。
3つの画素サンプルの動きベクトルを(vx0、vy0)、(vx1、vy1)、(vx2、vy2)と仮定する。
3つの画素サンプルの座標および動きベクトルをアフィン変換式(1)に代入し、画像ブロックxにおける各画素の動きベクトルを算出してもよい。
図2−fおよび図2−gを参照すると、図2−fは、座標が(x、y)である画素のアフィン変換を示し、図2−gは、座標が(0、0)、(S1、0)、(0、S2)である3つの既知の画素のアフィン変換方法を示す。
座標が(x、y)である画素の動きベクトルは、以下の式に基づいて計算することができる。
式(1)
なお、本実施形態では、アフィン運動モデルを非並進動作モデルとして用いる例を中心に説明する。現在の画像ブロックの各画素の動きベクトルが、K個の画素サンプルの他の非並進動作モデルおよび動きベクトルに基づいて計算されるメカニズムでは、使用される式は変更されてもよいが、原理は同様であり、メカニズムはここでは1つずつ図示されていない。
206.画像ブロックxの各画素の計算された動きベクトルに基づいて、画像ブロックxの画素値を予測する。
さらに、映像符号化では、画像ブロックxの元の画素値と、その画素値を予測して得られた画像ブロックxの予測画素値とを用いて、画像ブロックxの予測残差を求め、画像ブロックxの予測残差を映像ビットストリームに書き込むことができる。
画像ブロックx内の各画素の動きベクトルは、アフィン運動モデルなどの非並進動作モデルに従って計算により求められる。各画素の動きベクトルを求めた後、輝度成分については、動きベクトルの水平成分および垂直成分の精度が1/4であれば、HEVC補間フィルタを直接用いて動きベクトルに基づいて各画素の輝度成分の予測値を求めるようにしてもよい。精度が1/4より高い場合、HEVC補間フィルタを用いて動きベクトルに基づいて画像ブロックxの1/4精度の輝度成分を求め、1/4精度の輝度成分に対して双線形補間を行い、画素の輝度成分の予測値を求める。同様に、クロミナンス成分の場合、動きベクトルの精度が1/8より大きい場合、双一次補間が実行される。輝度成分の補間は、図2−hに示されており、a、b、c、dは、1/4精度の画素であり、HEVC補間フィルタを用いて得ることができる。各画素の動きベクトルに応じて水平動き成分xと垂直動き成分yを求めた後、双一次補間を行うことができ、ここで、Sは双線形補間の精度である。
統合動き情報ユニットセットiにおける動き情報ユニットの予測方向が双方向である場合、順方向参照フレームにおいて画像ブロックxの順方向予測値が得られ、上述した方法で逆方向参照フレームにおいて画像ブロックxの逆方向予測値を求め、画像ブロックxの順方向予測値と画像ブロックxの逆方向方予測値とに重み付け平均を施して、画像ブロックxの予測画素値を得る。
後続の画像ブロックを効果的に予測し、動きベクトルの記憶効率を改善するために、このようにして画像ブロックxが符号化されると、現在の画像ブロックxは、以下の方法に従って最小動きベクトル記憶装置に記憶されてもよく(最小動きベクトル記憶装置が4×4画像ブロックの動きベクトルを記憶すると仮定する)、この方法は、図2−iによる現在の予測ユニットの3つの画素サンプルにおける4×4画像ブロックの動きベクトル
を最初に記憶して、左上隅の
を他の最小動きベクトル記憶装置に充填する。
したがって、統合動き情報ユニットセットiが決定された後、画像ブロックxの右下の画素サンプルの動きベクトルと、画像ブロックxの中央の画素サンプルの動きベクトルとを、以下の式を使用して計算することができる。
は、画像ブロックxの右下の画素サンプルの格納動きベクトルを示し、
は、画像ブロックxの中央の画素サンプルの格納動きベクトルを示す。図2−iに示すように、頂点画素サンプルを除く画像ブロックx内の全画素サンプルの動きベクトルは、
として格納されてもよい。
本実施形態の技術的解決策では、非並進動作モデルおよび統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測し、統合動き情報ユニットセットiは、条件を満たすN個の候補統合動き情報ユニットセットから選択され、統合動き情報ユニットセットiにおける各動き情報ユニットは、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の動き情報ユニットの少なくとも一部から選択される。統合動き情報ユニットセットiの選択範囲は比較的小さいので、K1個の画素サンプルに対応する可能な全ての候補動き情報ユニットセットにおいて莫大な量の計算を実行するだけで、K1個の画素サンプルの動き情報ユニットをスクリーニングするための従来の技術で使用されたメカニズムは放棄される。これは、符号化効率を向上させるのに役立ち、非並進動作モデルに基づいて実行される画像予測の計算上の複雑さを低減するのにも役立ち、さらに非並進動作モデルを映像符号化標準に導入することを可能にし、かつ、非並進動作モデルが導入されているため、オブジェクトの動きをより正確に記述するのに役立ち、予測精度を向上させるのに役立つ。
図3を参照すると、図3は、本発明の他の実施形態に係る、映像符号化方法の概略フローチャートである。図3に示すように、本発明の他の実施形態によって提供される映像符号化方法は、以下のステップを含んでもよい。
301.映像符号化装置は、画像ブロックx内のK1個の画素サンプルを決定する。
この実施形態では、たとえば、K1個の画素サンプルは、画像ブロックxの左上の画素サンプル、右上の画素サンプル、および左下の画素サンプルを含む。
画像ブロックxの左上の画素サンプルは、画像ブロックxの左上の頂点、または画像ブロックxの左上の頂点を含む画像ブロックx内の画素ブロックである。画像ブロックxの左下の画素サンプルは、画像ブロックxの左下の頂点、または画像ブロックxの左下の頂点を含む画像ブロックx内の画素ブロックである。画像ブロックxの右上の画素サンプルは、画像ブロックxの右上の頂点、または画像ブロックxの右上の頂点を含む画像ブロックx内の画素ブロックである。
302.映像符号化装置は、K1個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットを決定する。
各画素サンプルに対応する候補動き情報ユニットセットは、少なくとも1つの候補動き情報ユニットを含む。
本発明の各実施形態で述べた動き情報ユニットは、予測方向が順方向である動きベクトルおよび/または予測方向が逆方向である動きベクトルを含むことができる。すなわち、1つの動き情報ユニットは、1つの動きベクトルを含むことができ、または異なる予測方向を有する2つの動きベクトルを含むことができる。
K1は1より大きい整数である。たとえば、K1は、2、3、4、または別の値に等しくてもよい。
2つの動き情報ユニットが異なるとは、2つの動き情報ユニットに含まれる動きベクトルが異なることを意味してもよいし、2つの動き情報ユニットに含まれる動きベクトルの予測方向が異なること、または、2つの動き情報ユニットに含まれる動きベクトルに対応する参照フレームインデックスが異なることを意味してもよい。2つの動き情報ユニットが同じであるとは、2つの動き情報ユニットに含まれる動きベクトルが同じであることを意味してもよいし、2つの動き情報ユニットに含まれる動きベクトルの予測方向が同じであること、または、2つの動き情報ユニットに含まれる動きベクトルに対応する参照フレームインデックスが同じであることを意味してもよい。
K1個の画素サンプルに対応する候補動き情報ユニットセットは、様々な方法で決定することができる。たとえば、K1個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットは、ステップ202に示される方法で決定されてもよい。
303.映像符号化装置は、K1個の画素サンプルの各画素サンプルに対応する候補動き情報ユニットセットに基づいて、N個の候補統合動き情報ユニットセットを決定する。N個の候補統合動き情報ユニットセット内の各候補統合動き情報ユニットセットに含まれる各動き情報ユニットが、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の制約対応動き情報ユニットの少なくとも一部から、選択される。N個の候補統合動き情報ユニットセットは互いに異なっており、N個の候補統合動き情報ユニットセット内の候補統合動き情報ユニットセットは、K1個の動き情報ユニットを含み、Nは正の整数である。
これは、候補動き情報ユニットセットS1(3つの動き情報ユニットを含むものとする)、候補動き情報ユニットセットS2(2つの動き情報ユニットを含むものとする)、候補動き情報ユニットセットS3(2つの動き情報ユニットを含むものとする)に基づいて候補統合動き情報ユニットセットを決定すると仮定すると、理論的には、3×2×2=12個の初期候補統合動き情報ユニットセットが決定されてもよいことが理解されよう。ただし、可用性を向上させるために、たとえば、第1の条件、第2の条件、および第3の条件の少なくとも1つの条件を使用して、12個の初期候補統合動き情報ユニットセットからN個の候補統合動き情報ユニットセットをスクリーニングすることができる。確かに、候補動き情報ユニットセットS1に含まれる動き情報ユニット、候補動き情報ユニットセットS2および候補動き情報ユニットセットS3の量は、上記の例に限定されるものではないため、初期候補統合動き情報ユニットセットの量は必ずしも12ではない。
任意選択的に、本発明のいくつかの可能な実施態様において、N個の候補統合動き情報ユニットセットは、第1の条件、第2の条件、第3の条件、第4の条件、または第5の条件の少なくとも1つを満たす。
第1の条件は、N個の候補統合動き情報ユニットセット内の任意の候補統合動き情報ユニットセット内の動き情報ユニットによって示される画像ブロックxの動きモードが非並進動作であることを含む。
第2の条件は、N個の候補統合動き情報ユニットセット内の候補統合動き情報ユニットセットの少なくとも2つの動き情報ユニットの予測方向が同一であることを含んでも良い(特定の候補統合動き情報ユニットセット内の動き情報ユニットの予測方向が互いに異なる場合、特定の候補統合動き情報ユニットセットが無効であり、特定の候補統合動き情報ユニットセットが破棄されてもよいと考えられる)。
第3の条件は、N個の候補統合動き情報ユニットセット内の候補統合動き情報ユニットセットの少なくとも2つの動き情報ユニットに対応する参照フレームインデックスが同一であることを含んでも良い(特定の候補統合動き情報ユニットセット内の動き情報ユニットに対応する参照フレームインデックスが互いに異なる場合、特定の候補統合動き情報ユニットセットが無効であり、特定の候補統合動き情報ユニットセットが破棄されてもよいと考えられる)。
第4の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つ(任意の2つ)の動き情報ユニットの水平成分の差の絶対値が水平成分閾値以下であることを含む。水平成分閾値は、画像ブロックxの幅の1/3、画像ブロックxの幅の1/2、画像ブロックxの幅の2/3、画像ブロックxの幅の3/4、または別の値と等しくてもよい。
第5の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つ(任意の2つ)の動き情報ユニットの垂直成分の差の絶対値が垂直成分閾値以下であることを含む。垂直成分閾値は、画像ブロックxの高さの1/3、画像ブロックxの高さの1/2、画像ブロックxの高さの2/3、画像ブロックxの高さの3/4、または別の値と等しくてもよい。
確かに、N個の候補統合動き情報ユニットセットは、たとえば、図示されていない他の条件をさらに満たすことができる。
第1の条件、第2の条件、第3の条件、第4の条件、第5の条件の少なくとも1つを導入することにより、初期候補統合動き情報ユニットセットについてスクリーニングが実行され、N個の候補統合動き情報ユニットセットが、初期候補統合動き情報ユニットセットからスクリーニングされることが理解されよう。これは、可能性のあるいくつかの無効候補統合動き情報ユニットセットの後続の計算に事前に参加を終了させるのに役立ち、さらに符号化および復号化の計算量を削減するのに役立つ。
具体的な実施プロセスでは、たとえば、第1の条件、第2の条件、または第3の条件のうちの少なくとも1つを最初に使用して、初期候補統合動き情報ユニットセットのスクリーニングを行うことができ、初期候補統合動き情報ユニットセットからN01個の候補統合動き情報ユニットセットをスクリーニングし、N01個の候補統合動き情報ユニットセットのスケーリングを行い、第4の条件または第5の条件の少なくとも1つを用いて、N01個の候補統合動き情報ユニットセットからN個の候補統合動き情報ユニットセットをスクリーニングする。確かに、スクリーニングは、第4の条件および第5の条件を参照することなく、第1の条件、第2の条件、または第3の条件の少なくとも1つを直接用いることにより、初期候補統合動き情報ユニットセットに対して行われてもよく、N個の候補統合動き情報ユニットセットが初期候補統合動き情報ユニットセットからスクリーニングされる。
映像符号化または復号化における動きベクトルは、同じ時間(同じ参照フレームに対応する)に対する一方向(予測方向)のオブジェクトのオフセットを反映することが理解されよう。したがって、異なる画素サンプルの動き情報ユニットが異なる予測方向に対応し、かつ/または異なる参照フレームインデックスに対応する場合、参照フレームに対する画像ブロックxの各画素または画素ブロックの動きオフセットを直接得ることはできない。しかし、画素サンプルが同じ予測方向に対応し、かつ同じ参照フレームインデックスに対応する場合、統合動きベクトルの組み合わせを使用することによって、画像ブロック内の各画素または画素ブロックの動きベクトルを得ることができる。
候補統合動き情報ユニットセット内の異なる画素サンプルの動き情報ユニットが異なる予測方向に対応し、かつ/または異なる参照フレームインデックスに対応する場合、候補統合動き情報ユニットセットにスケーリング処理を行うようにしてもよい。候補統合動き情報ユニットセットに対して行われるスケーリング処理は、候補統合動き情報ユニットセット内の1つ以上の動き情報ユニットセット内の動きベクトルの修正、追加、および/または削除等に関係してもよい。
たとえば、候補統合動き情報ユニットセットi(たとえば、統合動き情報ユニットセットi)における予測方向が第1予測方向である動きベクトルが異なる参照フレームインデックスに対応する場合、予測方向が、候補統合動き情報ユニットセットの第1の予測方向である動きベクトルを同一の参照フレームに縮小するように候補統合動き情報ユニットセットに対してスケーリング処理を行い、第1の予測方向は順方向または逆方向である。
別の例として、候補統合動き情報ユニットセット(例えば統合動き情報ユニットセットi)における予測方向が順方向である動きベクトルが、異なる参照フレームインデックスに対応し、候補統合動き情報ユニットセットにおける予測方向が逆方向である動きベクトルが、異なる参照フレームインデックスに対応する場合、統合動き情報ユニットセットiにおいて、予測方向が順方向である動きベクトルを同一の参照フレームに縮小し、統合動き情報ユニットセットiの予測方向が後方である動きベクトルを同一の参照フレームに縮小するように候補統合動き情報ユニットセットに対してスケーリング処理を行う。
動き情報ユニットの予測方向が双方向である場合、動き情報ユニットは、予測方向が順方向である動きベクトルと、予測方向が逆方向である動きベクトルとを含むことを示す。動き情報ユニットの予測方向が順方向である場合、動き情報ユニットは、予測方向が順方向である動きベクトルを含むが、予測方向が逆方向である動きベクトルを含まない動きベクトルを含むことを示す。動き情報ユニットの予測方向が逆方向である場合、動き情報ユニットは、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向である動きベクトルを含まない動きベクトルを含むことを示す。
候補統合動き情報ユニットセットの異なる画素サンプルの動き情報ユニットが異なる予測方向に対応し、かつ/または異なる参照フレームインデックスに対応する場合、対応する候補統合動き情報ユニットセットにおける動き情報ユニットに対応する異なる予測方向および/または異なる参照フレームインデックスをさらに調整することができる。
予測方向は以下のように調整することができる。たとえば、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセットzにおける全ての動き情報ユニットが同じ予測方向に対応する場合、候補統合動き情報ユニットセットz内の各動き情報ユニットの予測方向は変更されないままであってもよい。さらに、候補統合動き情報ユニットセットz内の2つの動き情報ユニットの予測方向が同じである場合、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向は、2つの動き情報ユニットの予測方向と同一に設定されてもよい。
具体的には、たとえば、候補統合動き情報ユニットセットz内の2つの動き情報ユニットの予測方向が第1の予測方向(第1の予測方向が順方向または逆方向)であり、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向が第2の予測方向(第2の予測方向は第1の予測方向とは異なる)である場合、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向が第1の予測方向に調整される。すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て第1の予測方向である。
他の例として、候補統合動き情報ユニットセットz内の2つの動き情報ユニットの予測方向が双方向であり、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向が順方向である場合、候補統合動き情報ユニットセットz内の残りの動き情報ユニットに、予測方向が逆方向である動きベクトルを追加する(予測方向が逆方向である追加動きベクトルの値は、対応する動き情報ユニットにおいて予測方向が順方向である元の動きベクトルの値と逆であり、これは1:−1のスケーリング処理を行うことに相当する)。このように、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向も双方向に変更され、すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て双方向である。
他の例として、候補統合動き情報ユニットセットz内の2つの動き情報ユニットの予測方向が双方向であり、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向が逆方向である場合、候補統合動き情報ユニットセットz内の残りの動き情報ユニットに、予測方向が順方向である動きベクトルを追加する(予測方向が順方向である追加動きベクトルの値は、対応する動き情報ユニットにおいて予測方向が逆方向である元の動きベクトルの値と逆であり、これは1:−1のスケーリング処理を行うことに相当する)。このように、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向も双方向に変更され、すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て双方向である。
別の例として、候補統合動き情報ユニットセットzにおける2つの動き情報ユニットの予測方向が順方向であるが、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向が双方向である場合、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットから、予測方向が逆方向である動きベクトルを削除する。このようにして、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向もまた、順方向に変更される。すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て順方向である。
別の例として、候補統合動き情報ユニットセットzにおける2つの動き情報ユニットの予測方向が逆方向であるが、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向が双方向である場合、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットから、予測方向が順方向である動きベクトルを削除する。このようにして、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向もまた、逆方向に変更される。すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て逆方向である。
参照フレームインデックスは、以下のように調整することができる。具体的には、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセットz内の全ての動き情報ユニットが同一の参照フレームインデックスに対応する場合、候補統合動き情報ユニットセットzにおける各動き情報ユニットに対応する参照フレームインデックスは変更されないままである。候補統合動き情報ユニットセットz内の2つの動き情報ユニットに対応する参照フレームインデックスが同一であるが、残りの動き情報ユニットに対応する参照フレームインデックスは異なる場合、候補統合動き情報ユニットセットz内の残りの動き情報ユニットに対応する参照フレームインデックスは、2つの動き情報ユニットに対応する参照フレームインデックスと同一に調整されるが、候補統合動き情報ユニットセットzにおいて予測方向が順方向である動きベクトルが同一の参照フレームに縮小されるように、かつ/または候補統合動き情報ユニットセットzの予測方向が逆方向である動きベクトルが同一の参照フレームに縮小されるように、候補統合動き情報ユニットセットに対してスケーリング処理が行われる。
候補統合動き情報ユニットセットzは、N個の候補統合動き情報ユニットセットに設定された任意の候補統合動き情報ユニットセットであってもよく、すなわち、N個の候補統合動き情報ユニットセットにおける各候補統合動き情報ユニットセット内の動きベクトルに対してスケーリング処理を、図示された方法により行ってもよい。
304.映像符号化装置は、N個の候補統合動き情報ユニットセットから、歪みやレート歪みコストに従って、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定する。
任意選択的に、統合動き情報ユニットセットiに対応するレート歪みコストは、統合動き情報ユニットセットiを除いたN個の候補統合動き情報ユニットセットにおける、任意の統合動き情報ユニットセットに対応するレート歪みコスト以下である。
任意選択的に、統合動き情報ユニットセットiに対応する歪みは、統合動き情報ユニットセットiを除いたN個の候補統合動き情報ユニットセットにおける、任意の統合動き情報ユニットセットに対応する歪み以下である。
N個の候補統合動き情報ユニットセット(たとえば、N個の候補統合動き情報ユニットセットにおける統合動き情報ユニットセットi)における特定候補統合動き情報ユニットセットに対応するレート歪みコストは、たとえば、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットi)を用いて、画像ブロック(たとえば、画像ブロックx)の画素値を予測することにより得られた、画像ブロックの予測画素値に対応するレート歪みコストであってもよい。
N個の候補統合動き情報ユニットセット(たとえば、N個の候補統合動き情報ユニットセットにおける統合動き情報ユニットセットi)における特定候補統合動き情報ユニットセットに対応する歪みは、たとえば、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットi)を用いて、画像ブロックの画素値を予測することにより得られた、画像ブロック(たとえば、画像ブロックx)の元の画素値および画像ブロックの予測画素値との間の歪みであってもよい(すなわち、元の画素値と画像ブロックの予測画素値との間の歪み)。
本発明の可能な実施形態では、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットi)を用いて、画像ブロックの画素値を予測することにより得られた、画像ブロック(たとえば、画像ブロックx)の元の画素値および画像ブロックの予測画素値の間の歪みは特に、たとえば、平方差の合計、絶対差の合計または、特定候補統合動き情報ユニットセット(たとえば、統合動き情報ユニットセットi)を用いて、画像ブロックの画素値を予測することにより得られた、画像ブロック(たとえば、画像ブロックx)の元の画素値および画像ブロックの予測画素値との間の差の合計または、歪みを測定できる他の歪みパラメータであってもよい。
さらに、計算の複雑さをさらに低減するために、Nがn1より大きい場合、N個の候補統合動き情報ユニットセットからn1個の候補統合動き情報ユニットセットを選別してもよいし、k1個の動き情報ユニットを含む統合動き情報ユニットセットiは、n1個の候補統合動き情報ユニットセットから、歪みまたはレート歪みコストに基づいて決定される。n1個の候補統合動き情報ユニットセットにおける任意の候補統合動き情報ユニットセットに対応するD(V)が、n1個の候補統合動き情報ユニットセットを除いて、N個の候補統合動き情報ユニットセットにおける任意の候補統合動き情報ユニットセットに対応するD(V)以下であり、ここで、n1は、例えば、3、4、5、6、または別の値に等しい。
また、n1個の候補統合動き情報ユニットセットまたはn1個の候補統合動き情報ユニットセットの識別子が候補統合動き情報ユニットセットリストに追加される。Nがn1以下であれば、N個の候補統合動き情報ユニットセット、またはN個の候補統合動き情報ユニットセットの識別子が候補統合動き情報ユニットセットリストに追加される。候補統合動き情報ユニットセットリストにおける候補統合動き情報ユニットセットは、たとえばD(V)の値に応じて、昇順または降順に並べることができる。
特定の候補統合動き情報ユニットセット内の各動き情報ユニットの予測方向を一方向と仮定すると、特定候補統合動き情報ユニットセットのユークリッド距離パラメータD(V)は、たとえば、以下のようにして計算することができる。
ここで、
は、特定の候補統合動き情報ユニットセットの予測方向が同じ3つの動きベクトルである。なお、上記の例では、3つの動き情報ユニットを含む候補統合動き情報ユニットセットを一例として用い、候補統合動き情報ユニットセットが他の量の動き情報ユニットを含む場合も同様に推論することができることが理解されよう。
特定の候補統合動き情報ユニットセット内の各動き情報ユニットの予測方向が双方向であると仮定すると、特定の候補統合動き情報ユニットセットのユークリッド距離パラメータD(V)は、たとえば、
のようにして計算することができ、ここで、
は、特定の候補統合動き情報ユニットセットにおける予測方向が順方向である3つの動きベクトルであり、
は、特定の候補統合動き情報ユニットセットの予測方向が逆方向である3つの動きベクトルである。なお、上記の例では、3つの動き情報ユニットを含む候補統合動き情報ユニットセットを一例として用い、統合動き情報ユニットセットが他の量の動き情報ユニットを含む場合も同様に推論することができることが理解されよう。
305.映像符号化装置は、統合動き情報ユニットセットi内の動きベクトルに対して動き推定処理を行い、動き推定統合動き情報ユニットセットiを取得し、映像符号化装置は、非並進動作モデルおよび動き推定された統合動き情報ユニットセットiを用いて画像ブロックxに対して動きベクトル予測を行う。
306.映像符号化装置は、算出された画像ブロックxの各画素または各画素ブロックの動きベクトルに基づいて画像ブロックxの画素値を予測する。
307.映像符号化装置は、画像ブロックxの元の画素値と、画像ブロックxの画素値を予測して得られた画像ブロックxの予測画素値とを用いて、画像ブロックxの予測残差を求める。
308.映像符号化装置は、画像ブロックxの予測残差を映像ビットストリームに書き込む。
任意選択的に、本発明のいくつかの可能な実施態様において、映像符号化方法が映像符号化処理に適用される場合、本方法は、統合動き情報ユニットセットiの識別子を映像ビットストリームに書き込むステップをさらに含んでもよい。たとえば、Nが1より大きい場合統合動き情報ユニットセットiの識別子が映像ビットストリームに書き込まれる。Nが1に等しいとき、統合動き情報ユニットセットiは、一意的に直接的に決定されてもよい。したがって、Nが1に等しいとき、エンコーダが統合動き情報ユニットセットiの識別子を映像ビットストリームに書き込まなくても、デコーダは依然として統合動き情報ユニットセットiを決定することができる。
統合動き情報ユニットセットiにおける動き情報ユニットの予測方向が双方向である場合、順方向参照フレームにおいて画像ブロックxの順方向予測値が得られ、上述した方法で逆方向参照フレームにおいて画像ブロックxの逆方向予測値を求め、画像ブロックxの順方向予測値と画像ブロックxの逆方向方予測値とに重み付け平均を施して、画像ブロックxの予測画素値を得る。
本実施形態の映像符号化ソリューションでは、非並進動作モデルと統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測し、統合動き情報ユニットセットiは、条件を満たすN個の候補統合動き情報ユニットセットから選択され、統合動き情報ユニットセットiにおける各動き情報ユニットは、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の動き情報ユニットの少なくとも一部から選択される。統合動き情報ユニットセットiの選択範囲は比較的小さいので、K1個の画素サンプルに対応する可能な全ての候補動き情報ユニットセットにおいて莫大な量の計算を実行するだけで、K1個の画素サンプルの動き情報ユニットをスクリーニングするための従来の技術で使用されたメカニズムは放棄される。これは、符号化効率を向上させるのに役立ち、非並進動作モデルに基づいて実行される画像予測の計算上の複雑さを低減するのにも役立ち、さらに非並進動作モデルを映像符号化標準に導入することを可能にし、かつ、非並進動作モデルが導入されているため、オブジェクトの動きをより正確に記述するのに役立ち、予測精度を向上させるのに役立つ。
図4を参照すると、図4は、本発明の他の実施形態に係る、映像復号化方法の概略フローチャートである。図4に示すように、本発明の他の実施形態によって提供される映像復号化方法は、以下のステップを含んでもよい。
401.映像復号装置は、画像ブロックx内のK1個の画素サンプルを決定する。
この実施形態では、たとえば、K1個の画素サンプルは、画像ブロックxの左上の画素サンプル、右上の画素サンプル、および左下の画素サンプルを含む。
画像ブロックxの左上の画素サンプルは、画像ブロックxの左上の頂点、または画像ブロックxの左上の頂点を含む画像ブロックx内の画素ブロックである。画像ブロックxの左下の画素サンプルは、画像ブロックxの左下の頂点、または画像ブロックxの左下の頂点を含む画像ブロックx内の画素ブロックである。画像ブロックxの右上の画素サンプルは、画像ブロックxの右上の頂点、または画像ブロックxの右上の頂点を含む画像ブロックx内の画素ブロックである。
画素サンプルが画素ブロックである場合、画素ブロックのサイズは、たとえば、2×2、1×2、4×2、4×4などのサイズである。
402.映像復号装置は、K1個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットを決定する。
各画素サンプルに対応する候補動き情報ユニットセットは、少なくとも1つの候補動き情報ユニットを含む。
本発明の各実施形態で述べた動き情報ユニットは、予測方向が順方向である動きベクトルおよび/または予測方向が逆方向である動きベクトルを含むことができる。すなわち、1つの動き情報ユニットは、1つの動きベクトルを含むことができ、または異なる予測方向を有する2つの動きベクトルを含むことができる。
動き情報ユニットの予測方向が順方向である場合、動き情報ユニットは、予測方向が順方向である動きベクトルを含むが、予測方向が逆方向である動きベクトルを含まない動きベクトルを含むことを示す。動き情報ユニットの予測方向が逆方向である場合、動き情報ユニットは、予測方向が逆方向である動きベクトルを含むが、予測方向が順方向である動きベクトルを含まない動きベクトルを含むことを示す。動き情報ユニットの予測方向が一方向である場合には、動き情報ユニットは、予測方向が順方向である動きベクトルを含むが、予測方向が逆方向である動きベクトルを含まないことを示し、動き情報ユニットは、予測方向が逆方向である動きベクトルを含むが予測方向が順方向である動きベクトルを含まないことを示す。動き情報ユニットの予測方向が双方向である場合、動き情報ユニットは、予測方向が順方向である動きベクトルと、予測方向が逆方向である動きベクトルとを含むことを示す。
K1は1より大きい整数である。たとえば、K1は、2、3、4、または別の値に等しくてもよい。
K1個の画素サンプルに対応する候補動き情報ユニットセットは、様々な方法で決定することができる。たとえば、K1個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットは、ステップ202に示される方法で決定されてもよい。
403.映像復号装置は、K1個の画素サンプルの各画素サンプルに対応する統合動き情報ユニットセットに基づいて、N個の候補統合動き情報ユニットセットを決定する。N個の候補統合動き情報ユニットセット内の各候補統合動き情報ユニットセットに含まれる各動き情報ユニットが、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の制約対応動き情報ユニットの少なくとも一部から、選択される。N個の候補統合動き情報ユニットセットは互いに異なっており、N個の候補統合動き情報ユニットセット内の候補統合動き情報ユニットセットは、K1個の動き情報ユニットを含み、Nは正の整数である。
これは、候補動き情報ユニットセットS1(3つの動き情報ユニットを含むものとする)、候補動き情報ユニットセットS2(2つの動き情報ユニットを含むものとする)、候補動き情報ユニットセットS3(2つの動き情報ユニットを含むものとする)に基づいて候補統合動き情報ユニットセットを決定すると仮定すると、理論的には、3×2×2=12個の初期候補統合動き情報ユニットセットが決定されてもよいことが理解されよう。ただし、可用性を向上させるために、たとえば、第1の条件、第2の条件、および第3の条件の少なくとも1つの条件を使用して、12個の初期候補統合動き情報ユニットセットからN個の候補統合動き情報ユニットセットをスクリーニングすることができる。確かに、候補動き情報ユニットセットS1に含まれる動き情報ユニット、候補動き情報ユニットセットS2および候補動き情報ユニットセットS3の量は、上記の例に限定されるものではないため、初期候補統合動き情報ユニットセットの量は必ずしも12ではない。
任意選択的に、本発明のいくつかの可能な実施態様において、N個の候補統合動き情報ユニットセットは、第1の条件、第2の条件、第3の条件、第4の条件、または第5の条件の少なくとも1つを満たす。
第1の条件は、N個の候補統合動き情報ユニットセット内の任意の候補統合動き情報ユニットセット内の動き情報ユニットによって示される画像ブロックxの動きモードが非並進動作であることを含む。
第2の条件は、N個の候補統合動き情報ユニットセット内の候補統合動き情報ユニットセットの少なくとも2つの動き情報ユニットの予測方向が同一であることを含んでも良い(特定の候補統合動き情報ユニットセット内の動き情報ユニットの予測方向が互いに異なる場合、特定の候補統合動き情報ユニットセットが無効であり、特定の候補統合動き情報ユニットセットが破棄されてもよいと考えられる)。
第3の条件は、N個の候補統合動き情報ユニットセット内の候補統合動き情報ユニットセットの少なくとも2つの動き情報ユニットに対応する参照フレームインデックスが同一であることを含んでも良い(特定の候補統合動き情報ユニットセット内の動き情報ユニットに対応する参照フレームインデックスが互いに異なる場合、特定の候補統合動き情報ユニットセットが無効であり、特定の候補統合動き情報ユニットセットが破棄されてもよいと考えられる)。
第4の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つ(任意の2つ)の動き情報ユニットの水平成分の差の絶対値が水平成分閾値以下であることを含む。水平成分閾値は、画像ブロックxの幅の1/3、画像ブロックxの幅の1/2、画像ブロックxの幅の2/3、画像ブロックxの幅の3/4、または別の値と等しくてもよい。
第5の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つ(任意の2つ)の動き情報ユニットの垂直成分の差の絶対値が垂直成分閾値以下であることを含む。垂直成分閾値は、画像ブロックxの高さの1/3、画像ブロックxの高さの1/2、画像ブロックxの高さの2/3、画像ブロックxの高さの3/4、または別の値と等しくてもよい。
確かに、N個の候補統合動き情報ユニットセットは、たとえば、図示されていない他の条件をさらに満たすことができる。
第1の条件、第2の条件、第3の条件、第4の条件、第5の条件の少なくとも1つを導入することにより、初期候補統合動き情報ユニットセットについてスクリーニングが実行され、N個の候補統合動き情報ユニットセットが、初期候補統合動き情報ユニットセットからスクリーニングされることが理解されよう。これは、可能性のあるいくつかの無効候補統合動き情報ユニットセットの後続の計算に事前に参加を終了させるのに役立ち、さらに符号化および復号化の計算量を削減するのに役立つ。
具体的な実施プロセスでは、たとえば、第1の条件、第2の条件、または第3の条件のうちの少なくとも1つを最初に使用して、初期候補統合動き情報ユニットセットのスクリーニングを行うことができ、初期候補統合動き情報ユニットセットからN01個の候補統合動き情報ユニットセットをスクリーニングし、N01個の候補統合動き情報ユニットセットのスケーリングを行い、第4の条件または第5の条件の少なくとも1つを用いて、N01個の候補統合動き情報ユニットセットからN個の候補統合動き情報ユニットセットをスクリーニングする。確かに、スクリーニングは、第4の条件および第5の条件を参照することなく、第1の条件、第2の条件、または第3の条件の少なくとも1つを直接用いることにより、初期候補統合動き情報ユニットセットに対して行われてもよく、N個の候補統合動き情報ユニットセットが初期候補統合動き情報ユニットセットからスクリーニングされる。
映像符号化または復号化における動きベクトルは、同じ時間(同じ参照フレームに対応する)に対する一方向(予測方向)のオブジェクトのオフセットを反映することが理解されよう。したがって、異なる画素サンプルの動き情報ユニットが異なる予測方向に対応し、かつ/または異なる参照フレームインデックスに対応する場合、参照フレームに対する画像ブロックxの各画素または画素ブロックの動きオフセットを直接得ることはできない。しかし、画素サンプルが同じ予測方向に対応し、かつ同じ参照フレームインデックスに対応する場合、統合動きベクトルの組み合わせを使用することによって、画像ブロック内の各画素または画素ブロックの動きベクトルを得ることができる。
候補統合動き情報ユニットセット内の異なる画素サンプルの動き情報ユニットが異なる予測方向に対応し、かつ/または異なる参照フレームインデックスに対応する場合、候補統合動き情報ユニットセットにスケーリング処理を行うようにしてもよい。候補統合動き情報ユニットセットに対して行われるスケーリング処理は、候補統合動き情報ユニットセット内の1つ以上の動き情報ユニットセット内の動きベクトルの修正、追加、および/または削除等に関係してもよい。
たとえば、候補統合動き情報ユニットセットi(たとえば、統合動き情報ユニットセットi)における予測方向が第1予測方向である動きベクトルが異なる参照フレームインデックスに対応する場合、予測方向が、候補統合動き情報ユニットセットの第1の予測方向である動きベクトルを同一の参照フレームに縮小するように候補統合動き情報ユニットセットに対してスケーリング処理を行い、第1の予測方向は順方向または逆方向である。
別の例として、候補統合動き情報ユニットセット(例えば統合動き情報ユニットセットi)における予測方向が順方向である動きベクトルが、異なる参照フレームインデックスに対応し、候補統合動き情報ユニットセットにおける予測方向が逆方向である動きベクトルが、異なる参照フレームインデックスに対応する場合、統合動き情報ユニットセットiにおいて、予測方向が順方向である動きベクトルを同一の参照フレームに縮小し、統合動き情報ユニットセットiの予測方向が後方である動きベクトルを同一の参照フレームに縮小するように候補統合動き情報ユニットセットに対してスケーリング処理を行う。
候補統合動き情報ユニットセットの異なる画素サンプルの動き情報ユニットが異なる予測方向に対応し、かつ/または異なる参照フレームインデックスに対応する場合、対応する候補統合動き情報ユニットセットにおける動き情報ユニットに対応する異なる予測方向および/または異なる参照フレームインデックスをさらに調整することができる。
予測方向は以下のように調整することができる。たとえば、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセットzにおける全ての動き情報ユニットが同じ予測方向に対応する場合、候補統合動き情報ユニットセットz内の各動き情報ユニットの予測方向は変更されないままであってもよい。さらに、候補統合動き情報ユニットセットz内の2つの動き情報ユニットの予測方向が同じである場合、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向は、2つの動き情報ユニットの予測方向と同一に設定されてもよい。
具体的には、たとえば、候補統合動き情報ユニットセットz内の2つの動き情報ユニットの予測方向が第1の予測方向(第1の予測方向が順方向または逆方向)であり、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向が第2の予測方向(第2の予測方向は第1の予測方向とは異なる)である場合、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向が第1の予測方向に調整される。すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て第1の予測方向である。
他の例として、候補統合動き情報ユニットセットz内の2つの動き情報ユニットの予測方向が双方向であり、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向が順方向である場合、候補統合動き情報ユニットセットz内の残りの動き情報ユニットに、予測方向が逆方向である動きベクトルを追加する(予測方向が逆方向である追加動きベクトルの値は、対応する動き情報ユニットにおいて予測方向が順方向である元の動きベクトルの値と逆であり、これは1:−1のスケーリング処理を行うことに相当する)。このように、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向も双方向に変更され、すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て双方向である。
他の例として、候補統合動き情報ユニットセットz内の2つの動き情報ユニットの予測方向が双方向であり、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向が逆方向である場合、候補統合動き情報ユニットセットz内の残りの動き情報ユニットに、予測方向が順方向である動きベクトルを追加する(予測方向が順方向である追加動きベクトルの値は、対応する動き情報ユニットにおいて予測方向が逆方向である元の動きベクトルの値と逆であり、これは1:−1のスケーリング処理を行うことに相当する)。このように、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向も双方向に変更され、すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て双方向である。
別の例として、候補統合動き情報ユニットセットzにおける2つの動き情報ユニットの予測方向が順方向であるが、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向が双方向である場合、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットから、予測方向が逆方向である動きベクトルを削除する。このようにして、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向もまた、順方向に変更される。すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て順方向である。
別の例として、候補統合動き情報ユニットセットzにおける2つの動き情報ユニットの予測方向が逆方向であるが、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットの予測方向が双方向である場合、候補統合動き情報ユニットセットzにおける残りの動き情報ユニットから、予測方向が順方向である動きベクトルを削除する。このようにして、候補統合動き情報ユニットセットz内の残りの動き情報ユニットの予測方向もまた、逆方向に変更される。すなわち、候補統合動き情報ユニットセットz内の全ての動き情報ユニットの予測方向は全て逆方向である。
参照フレームインデックスは、以下のように調整することができる。具体的には、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセットz内の全ての動き情報ユニットが同一の参照フレームインデックスに対応する場合、候補統合動き情報ユニットセットzにおける各動き情報ユニットに対応する参照フレームインデックスは変更されないままである。候補統合動き情報ユニットセットz内の2つの動き情報ユニットに対応する参照フレームインデックスが同一であるが、残りの動き情報ユニットに対応する参照フレームインデックスは異なる場合、候補統合動き情報ユニットセットz内の残りの動き情報ユニットに対応する参照フレームインデックスは、2つの動き情報ユニットに対応する参照フレームインデックスと同一に調整されるが、候補統合動き情報ユニットセットzにおいて予測方向が順方向である動きベクトルが同一の参照フレームに縮小されるように、かつ/または
候補統合動き情報ユニットセットzの予測方向が逆方向である動きベクトルが同一の参照フレームに縮小されるように、候補統合動き情報ユニットセットに対してスケーリング処理が行われる。
候補統合動き情報ユニットセットzは、N個の候補統合動き情報ユニットセットに設定された任意の候補統合動き情報ユニットセットであってもよく、すなわち、N個の候補統合動き情報ユニットセットにおける各候補統合動き情報ユニットセット内の動きベクトルに対してスケーリング処理を行ってもよい。
404.映像復号装置は、映像ビットストリームの復号処理を行い、統合動き情報ユニットセットiの識別子と画像ブロックxの予測残差を求め、N個の候補統合動き情報ユニットセットから、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定する。
405.映像復号装置は、統合動き情報ユニットセットi内の動きベクトルに対して動き推定処理を行い、動き推定統合動き情報ユニットセットiを取得し、映像復号装置は、非並進動作モデルおよび動き推定された統合動き情報ユニットセットiを用いて画像ブロックxに対して動きベクトル予測を行う。
406.映像復号装置は、算出された画像ブロックxの各画素または各画素ブロックの動きベクトルに基づいて画像ブロックxの画素値を予測し、画像ブロックxの予測画素値を得る。
407.映像復号装置は、画像ブロックxの予測画素値および画像ブロックxの予測残差を用いて画像ブロックxを再構成する。
本実施形態の映像復号化ソリューションでは、非並進動作モデルおよび統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測し、統合動き情報ユニットセットiは、条件を満たすN個の候補統合動き情報ユニットセットから選択され、統合動き情報ユニットセットiにおける各動き情報ユニットは、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の動き情報ユニットの少なくとも一部から選択される。統合動き情報ユニットセットiの選択範囲は比較的小さいので、K1個の画素サンプルに対応する可能な全ての候補動き情報ユニットセットにおいて莫大な量の計算を実行するだけで、K1個の画素サンプルの動き情報ユニットをスクリーニングするための従来の技術で使用されたメカニズムは放棄される。これは、復号効率を向上させるのに役立ち、非並進動作モデルに基づいて実行される画像予測の計算上の複雑さを低減するのにも役立ち、さらに非並進動作モデルを映像符号化標準に導入することを可能にし、かつ、非並進動作モデルが導入されているため、オブジェクトの動きをより正確に記述するのに役立ち、予測精度を向上させるのに役立つ。
以下は、いくつかの非並進動作モデルの可能な形態を説明する。
アフィン運動モデルは、以下の条件を満たす運動モデルであり、
ここで、a、b、c、d、e、fはモデルパラメータであり、(x、y)は画素の元の座標であり、(x’、y’)は、アフィン変換後の画素の座標であり、Vxはx軸方向の動きベクトルであり、Vyはy軸方向の動きベクトルである。
回転運動モデルは、以下のように示すことができ、
ここで、αは回転角であり、aおよびbはパラメータである。
遠近法の動きモデルは、以下のように示すことができ、
ここで、
は透視マトリックスである。
せん断運動モデルは、以下のように示すことができ、
ここで、
はせん断マトリックスであり、他のパラメータはモデルパラメータである。
スケーリング動作モデルは、以下のように示すことができ、
ここで、ρx、ρy、θx、およびθy はモデルパラメータである。
二次運動モデルは、以下のように示すことができ、
ここで、uおよびvは元の座標を示し、xおよびyは変換後の座標を示し、その他のパラメータはモデルパラメータである。
双一次運動モデルは、以下のように示すことができる。
4個の画素サンプルの動きベクトルが得られると(例えば、図2−dはK1が4の場合を示す)、双一次動きモデルに基づいて任意の画素の動きベクトルを求めることができ、関数は、以下のように表される。
関数において、a、b、c、d、e、f、g、h、iがモデルパラメータである場合、(x、y)は画素の元の座標であり、(x’、y’)は、双一次運動後の画素の座標であり、Vxはx軸方向の動きベクトルであり、Vyはy軸方向の動きベクトルである。
前述の例は、いくつかの非並進動作モデルのいくつかの可能な表現形態のみを示していることが理解されよう。確かに、非並進動作モデルの他の形態が存在してもよい。
本発明のいくつかの実装方法では、複数の参照フレームの場合の動きベクトルのアフィン動きモデルが成立し、これは、複数の参照フレームの場合に従来技術が有効に使用できないという欠点を克服するのに役立つ。さらに、いくつかの無効な統合動き情報ユニットセットは、スクリーニング条件を導入することによってスクリーニングされ、これはさらに符号化効率を改善するのに役立つ
。表1は、LDPモードにおける符号化パフォーマン
スを示す。標準的なテスト条件下では、ビットレートは平均で1.6%節約され、ビットレートは最大4.7%節約される。
以下にさらに、前述の解決策を実施するための関連装置を提供する。
図5を参照すると、本発明の実施形態はさらに、画像予測装置500を提供する。装置は、画像ブロックx内のK1個の画素サンプルを決定して、K1個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットを決定するように構成された第1の決定部510であって、各画素サンプルに対応する候補動き情報ユニットセットは、少なくとも1つの候補動き情報ユニットを含み、K1は、2以上の整数である、第1の決定部510と、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するように構成された第2の決定部520であって、統合動き情報ユニットセットi内の各動き情報ユニットは、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の動き情報ユニットの少なくとも一部から選択され、動き情報ユニットは、予測方向が順方向である動きベクトルおよび/または予測方向が逆方向である動きベクトルを含む、第2の決定部520と、非並進動作モデルおよび統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するように構成された予測部530とを含む。
任意選択的に、本発明の可能な実施態様において、第2の決定部520は、N個の候補統合動き情報ユニットセットから、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するように特に構成され、N個の候補統合動き情報ユニットセット内の各候補統合動き情報ユニットセットに含まれる各動き情報ユニットは、K1個の画素サンプルの異なる画素サンプルに対応する候補動き情報ユニットセット内の制約対応動き情報ユニットの少なくとも一部から選択され、Nは正の整数であり、N個の候補統合動き情報ユニットセットは互いに異なっており、N個の候補統合動き情報ユニットセット内の各候補統合動き情報ユニットセットは、K1個の動き情報ユニットを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、N個の候補統合動き情報ユニットセットは、第1の条件、第2の条件、第3の条件、第4の条件、または第5の条件の少なくとも1つを満たす。
第1の条件は、N個の候補統合動き情報ユニットセット内の任意の候補統合動き情報ユニットセット内の動き情報ユニットによって示される画像ブロックxの動きモードが非並進動作であることを含む。
第2の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の少なくとも2つの動き情報ユニットの予測方向が同じであることを含む。
第3の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の少なくとも2つの動き情報ユニットに対応する参照フレームインデックスが同じであることを含む。
第4の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つの動き情報ユニットの水平成分の差の絶対値が水平成分閾値以下であることを含む。
第5の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つの動き情報ユニットの垂直成分の差の絶対値が垂直成分閾値以下であることを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、K1個の画素サンプルは、画像ブロックxの左上の画素サンプル、右上の画素サンプル、左下の画素サンプル、および中央の画素サンプルa1に少なくとも2つの画素サンプルを含む。
画像ブロックxの左上の画素サンプルは画像ブロックxの左上の頂点であるか、画像ブロックxの左上の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの左下の画素サンプルは、画像ブロックxの左下の頂点、または画像ブロックxの左下の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの右上の画素サンプルは、画像ブロックxの右上の頂点、または画像ブロックxの右上の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの中央の画素サンプルa1は、画像ブロックxの中央の画素、または画像ブロックxの中央の画素を含む画像ブロックx内の画素ブロックである。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの左上の画素サンプルに対応する候補動き情報ユニットセットは、x1個の画素サンプルの動き情報ユニットを含み、x1個の画素サンプルは、画像ブロックxの左上の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックxの左上の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、x1は正の整数である。
任意選択的に、本発明のいくつかの可能な実施態様において、x1個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、画像ブロックxの左上の画素サンプルと同じ位置を有する画素サンプル、画像ブロックxの左端に空間的に隣接する画素サンプル、画像ブロックxの左上に空間的に隣接する画素サンプル、または画像ブロックxの上端に空間的に隣接する画素サンプルの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの右上の画素サンプルに対応する候補動き情報ユニットセットは、x2個の画素サンプルの動き情報ユニットを含み、x2個の画素サンプルは、画像ブロックxの右上の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックxの右上の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、x2は正の整数である。
任意選択的に、本発明のいくつかの可能な実施態様において、x2個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、画像ブロックxの右上の画素サンプルと同じ位置を有する画素サンプル、画像ブロックxの右端に空間的に隣接する画素サンプル、画像ブロックxの右上に空間的に隣接する画素サンプル、または画像ブロックxの上端に空間的に隣接する画素サンプルの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの左下の画素サンプルに対応する候補動き情報ユニットセットは、x3個の画素サンプルの動き情報ユニットを含み、x3個の画素サンプルは、画像ブロックxの左下の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックxの左下の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、x3は正の整数である。
任意選択的に、本発明のいくつかの可能な実施態様において、x3個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、画像ブロックxの左下の画素サンプルと同じ位置を有する画素サンプル、画像ブロックxの左端に空間的に隣接する画素サンプル、画像ブロックxの左下に空間的に隣接する画素サンプル、または画像ブロックxの下端に空間的に隣接する画素サンプルの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの中央の画素サンプルa1に対応する候補動き情報ユニットセットはx5個の画素サンプルの動き情報ユニットを含み、x5個画素サンプル内の1画素サンプルは画素サンプルa2である。
画像ブロックxが属する映像フレーム内の中央の画素サンプルa1の位置は、画像ブロックxが属する映像フレームに隣接する映像フレーム内の画素サンプルa2の位置と同じであり、x5は正の整数である。
本発明のいくつかの可能な実施態様において、統合動き情報ユニットセットiにおける予測方向が第1の予測方向である動きベクトルが異なる参照フレームインデックスに対応する場合、予測部530は、統合動き情報ユニットセットiにおける予測方向が第1の予測方向である動きベクトルを同一の参照フレームに縮小するように、統合動き情報ユニットセットiに対してスケーリング処理を行い、非並進動作モデルおよびスケーリングされた統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するように特に構成され、第1の予測方向が順方向または逆方向であり、または、予測部530は、統合動き情報ユニットセットiにおいて予測方向が順方向である動きベクトルが異なる参照フレームインデックスに対応し、統合動き情報ユニットセットiにおいて予測方向が逆方向である動きベクトルが異なる参照フレームインデックスに対応した場合、統合動き情報ユニットセットiにおいて予測方向が順方向である動きベクトルが同一の参照フレームに縮小され、統合動き情報ユニットセットiにおいて予測方向が逆方向である動きベクトルが同一の参照フレームに縮小されるように、統合動き情報ユニットセットiに対してスケーリング処理を行い、非並進動作モデルおよびスケーリングされた統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するように特に構成される。
任意選択的に、本発明のいくつかの可能な実施態様のいずれかにおいて、予測部530は、非並進動作モデルおよび統合動き情報ユニットセットi用いて計算により画像ブロックxの各画素の動きベクトルを求めて、画像ブロックx内の各画素の求められた動きベクトルを用いて画像ブロックx内の各画素の予測画素値を決定するように特に構成され、または予測部530は、非並進動作モデルおよび統合動き情報ユニットセットiを用いて計算により画像ブロックxの各画素ブロックの動きベクトルを求めて、画像ブロックx内の各画素ブロックの求められた動きベクトルを用いて画像ブロックx内の各画素ブロックの各画素の予測画素値を決定するように特に構成されている。
任意選択的に、本発明のいくつかの可能な実施態様において、第1の決定部510は、画像ブロックy内のK2個の画素サンプルを決定して、K2個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットを決定するように構成され、K2は1より大きい整数であり、画像ブロックyは画像ブロックxに空間的に隣接しており、K2個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットは、少なくとも1つの候補動き情報ユニットを含み、第2の決定部520は、K2個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するように構成され、K2個の画素サンプルの画素サンプルz1に対応する候補動き情報ユニットセットは動き情報ユニットa2を含み、動き情報ユニットa2は、画素サンプルz2の動き情報ユニットに基づいて求められ、画素サンプルz2は、画像ブロックx内の画素サンプルであり、画素サンプルz2と画素サンプルz1との間の距離が閾値未満であるか、または画素サンプルz2は、画像ブロックx内の画素サンプルであり、画素サンプルz2と画素サンプルz1との間の距離は最短であり、統合動き情報ユニットセットj内のK2個の動き情報ユニットは、K2個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセット内の制約対応動き情報ユニットの少なくとも一部からそれぞれ選択され、予測部530は、非並進動作モデルおよび統合動き情報ユニットセットjを用いて画像ブロックyの画素値を予測するようにさらに構成されている。
任意選択的に、本発明のいくつかの可能な実施形態では、非並進動作モデルは、アフィン動きモデル、放物線動作モデル、回転動作モデル、遠近法動作モデル、せん断運動モデル、スケーリング動作モデル、または双線形動作モデルの内のいずれか1つであってもよい。
画像予測装置500は、映像符号化装置に適用してもよいし、映像復号装置に適用してもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、画像予測装置が映像符号化装置に適用される場合、第2の決定部520は、N個の候補統合動き情報ユニットセットから、歪みまたはレート歪みコストに従って、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するように特に構成されている。
任意選択的に、本発明のいくつかの可能な実施態様において、画像予測装置が映像符号化装置に適用される場合、予測部530は、統合動き情報ユニットセットiの識別子を映像ビットストリームに書き込むようにさらに構成される。
任意選択的に、本発明のいくつかの可能な実装方法において、画像予測装置が映像復号装置に適用される場合、第2の決定部は、N個の統合候補統合動き情報ユニットセットから、統合動き情報ユニットセットiであり、かつ映像ビットストリームから得られる識別子に基づいて、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するように特に構成されている。
本実施形態における画像予測装置500の各機能モジュールの機能は、上述した方法の実施形態の方法に従って具体的に実現されてもよいことが理解されよう。その特定の実施プロセスについては、前述の方法の実施形態における関連する説明を参照することができ、詳細はここでは再び説明しない。画像予測装置500は、たとえば、ノートブックコンピュータ、タブレットコンピュータ、パーソナルコンピュータ、携帯電話などの映像を出力または再生する必要がある装置であればよい。
本実施形態の画像予測装置500は、非並進動作モデルおよび統合動き情報ユニットセットi用いて画像ブロックxの画素値を予測し、統合動き情報ユニットセットi内の各動き情報ユニットは、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の動き情報ユニットの少なくとも一部から選択されることが分かる。統合動き情報ユニットセットiの選択範囲は比較的小さいので、K1個の画素サンプルに対応する可能な全ての候補動き情報ユニットセットにおいて莫大な量の計算を実行するだけで、K1個の画素サンプルの動き情報ユニットをスクリーニングするための従来の技術で使用されたメカニズムは放棄される。これは、符号化効率を向上させるのに役立ち、非並進動作モデルに基づいて実行される画像予測の計算上の複雑さを低減するのにも役立ち、さらに非並進動作モデルを映像符号化標準に導入することを可能にし、かつ、非並進動作モデルが導入されているため、オブジェクトの動きをより正確に記述するのに役立ち、予測精度を向上させるのに役立つ。
図6を参照すると、図6は、本発明の一実施形態に係る、画像予測装置600の概略図である。画像予測装置600は、少なくとも1つのバス601と、バス601に接続された少なくとも1つのプロセッサ602と、バス601に接続された少なくとも1つのメモリ603とを含むことができる。
プロセッサ602は、バス601を用いてメモリ603に記憶されたコードを呼び出し、その結果プロセッサ602は、画像ブロックx内のK1個の画素サンプルを決定して、K1個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットを決定するように構成され、ここで、各画素サンプルに対応する候補動き情報ユニットセットは、少なくとも1つの候補動き情報ユニットを含み、K1は、2以上の整数あるように構成され、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するように構成され、ここで、統合動き情報ユニットセットi内の各動き情報ユニットは、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の動き情報ユニットの少なくとも一部から選択され、動き情報ユニットは、予測方向が順方向である動きベクトルおよび/または予測方向が逆方向である動きベクトルを含むように構成され、かつ、非並進動作モデルおよび統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するように構成される。
任意選択的に、本発明の可能な実施態様において、プロセッサ602は、N個の候補統合動き情報ユニットセットから、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するように特に構成され、N個の候補統合動き情報ユニットセット内の各候補統合動き情報ユニットセットに含まれる各動き情報ユニットは、K1個の画素サンプルの異なる画素サンプルに対応する候補動き情報ユニットセット内の制約対応動き情報ユニットの少なくとも一部から選択され、Nは正の整数であり、N個の候補統合動き情報ユニットセットは互いに異なっており、N個の候補統合動き情報ユニットセット内の各候補統合動き情報ユニットセットは、K1個の動き情報ユニットを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、N個の候補統合動き情報ユニットセットは、第1の条件、第2の条件、第3の条件、第4の条件、または第5の条件の少なくとも1つを満たす。
第1の条件は、N個の候補統合動き情報ユニットセット内の任意の候補統合動き情報ユニットセット内の動き情報ユニットによって示される画像ブロックxの動きモードが非並進動作であることを含む。
第2の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の少なくとも2つの動き情報ユニットの予測方向が同じであることを含む。
第3の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の少なくとも2つの動き情報ユニットに対応する参照フレームインデックスが同じであることを含む。
第4の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つの動き情報ユニットの水平成分の差の絶対値が水平成分閾値以下であることを含む。
第5の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つの動き情報ユニットの垂直成分の差の絶対値が垂直成分閾値以下であることを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、K1個の画素サンプルは、画像ブロックxの左上の画素サンプル、右上の画素サンプル、左下の画素サンプル、および中央の画素サンプルa1に少なくとも2つの画素サンプルを含む。
画像ブロックxの左上の画素サンプルは画像ブロックxの左上の頂点であるか、画像ブロックxの左上の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの左下の画素サンプルは、画像ブロックxの左下の頂点、または画像ブロックxの左下の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの右上の画素サンプルは、画像ブロックxの右上の頂点、または画像ブロックxの右上の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの中央の画素サンプルa1は、画像ブロックxの中央の画素、または画像ブロックxの中央の画素を含む画像ブロックx内の画素ブロックである。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの左上の画素サンプルに対応する候補動き情報ユニットセットは、x1個の画素サンプルの動き情報ユニットを含み、x1個の画素サンプルは、画像ブロックxの左上の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックxの左上の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、x1は正の整数である。
任意選択的に、本発明のいくつかの可能な実施態様において、x1個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、画像ブロックxの左上の画素サンプルと同じ位置を有する画素サンプル、画像ブロックxの左端に空間的に隣接する画素サンプル、画像ブロックxの左上に空間的に隣接する画素サンプル、または画像ブロックxの上端に空間的に隣接する画素サンプルの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの右上の画素サンプルに対応する候補動き情報ユニットセットは、x2個の画素サンプルの動き情報ユニットを含み、x2個の画素サンプルは、画像ブロックxの右上の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックxの右上の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、x2は正の整数である。
任意選択的に、本発明のいくつかの可能な実施態様において、x2個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、画像ブロックxの右上の画素サンプルと同じ位置を有する画素サンプル、画像ブロックxの右端に空間的に隣接する画素サンプル、画像ブロックxの右上に空間的に隣接する画素サンプル、または画像ブロックxの上端に空間的に隣接する画素サンプルの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの左下の画素サンプルに対応する候補動き情報ユニットセットは、x3個の画素サンプルの動き情報ユニットを含み、x3個の画素サンプルは、画像ブロックxの左下の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックxの左下の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、x3は正の整数である。
任意選択的に、本発明のいくつかの可能な実施態様において、x3個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、画像ブロックxの左下の画素サンプルと同じ位置を有する画素サンプル、画像ブロックxの左端に空間的に隣接する画素サンプル、画像ブロックxの左下に空間的に隣接する画素サンプル、または画像ブロックxの下端に空間的に隣接する画素サンプルの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの中央の画素サンプルa1に対応する候補動き情報ユニットセットはx5個の画素サンプルの動き情報ユニットを含み、x5個画素サンプル内の1画素サンプルは画素サンプルa2である。
画像ブロックxが属する映像フレーム内の中央の画素サンプルa1の位置は、画像ブロックxが属する映像フレームに隣接する映像フレーム内の画素サンプルa2の位置と同じであり、x5は正の整数である。
本発明のいくつかの可能な実施態様において、統合動き情報ユニットセットiにおける予測方向が第1の予測方向である動きベクトルが異なる参照フレームインデックスに対応する場合、プロセッサ602は、統合動き情報ユニットセットiにおける予測方向が第1の予測方向である動きベクトルを同一の参照フレームに縮小するように、統合動き情報ユニットセットiに対してスケーリング処理を行い、非並進動作モデルおよびスケーリングされた統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するように構成されてもよく、第1の予測方向が順方向または逆方向であり、または、プロセッサ602は、特に、統合動き情報ユニットセットiにおいて予測方向が順方向である動きベクトルが異なる参照フレームインデックスに対応し、統合動き情報ユニットセットiにおいて予測方向が逆方向である動きベクトルが異なる参照フレームインデックスに対応した場合、統合動き情報ユニットセットiにおいて予測方向が順方向である動きベクトルが同一の参照フレームに縮小され、統合動き情報ユニットセットiにおいて予測方向が逆方向である動きベクトルが同一の参照フレームに縮小されるように、統合動き情報ユニットセットiに対してスケーリング処理を行い、非並進動作モデルおよびスケーリングされた統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するように構成されてもよい。
任意選択的に、本発明のいくつかの可能な実施態様のいずれかにおいて、プロセッサ602は、非並進動作モデルおよび統合動き情報ユニットセットi用いて計算により画像ブロックxの各画素の動きベクトルを求めて、画像ブロックx内の各画素の求められた動きベクトルを用いて画像ブロックx内の各画素の予測画素値を決定するように構成されてもよく、またはプロセッサ602は、非並進動作モデルおよび統合動き情報ユニットセットiを用いて計算により画像ブロックxの各画素ブロックの動きベクトルを求めて、画像ブロックx内の各画素ブロックの求められた動きベクトルを用いて画像ブロックx内の各画素ブロックの各画素の予測画素値を決定するように構成されてもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、プロセッサ602は、画像ブロックy内のK2個の画素サンプルを決定し、K2個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットを決定するように構成され、K2は1より大きい整数であり、画像ブロックyは画像ブロックxに空間的に隣接しており、K2個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットは、少なくとも1つの候補動き情報ユニットを含み、K2個の動き情報ユニットを含む統合動き情報ユニットセットjを決定し、K2個の画素サンプルの画素サンプルz1に対応する候補動き情報ユニットセットは動き情報ユニットa2を含み、動き情報ユニットa2は、画素サンプルz2の動き情報ユニットに基づいて求められ、画素サンプルz2は、画像ブロックx内の画素サンプルであり、画素サンプルz2と画素サンプルz1との間の距離が閾値未満であるか、または画素サンプルz2は、画像ブロックx内の画素サンプルであり、画素サンプルz2と画素サンプルz1との間の距離は最短であり、統合動き情報ユニットセットj内のK2個の動き情報ユニットは、K2個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセット内の制約対応動き情報ユニットの少なくとも一部からそれぞれ選択され、非並進動作モデルおよび統合動き情報ユニットセットjを用いて画像ブロックyの画素値を予測するようにさらに構成されている。
任意選択的に、本発明のいくつかの可能な実施形態では、非並進動作モデルは、アフィン動きモデル、放物線動作モデル、回転動作モデル、遠近法動作モデル、せん断運動モデル、スケーリング動作モデル、または双線形動作モデルの内のいずれか1つであってもよい。
画像予測装置600は、映像符号化装置に適用してもよいし、映像復号装置に適用してもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、画像予測装置が映像符号化装置に適用される場合、プロセッサ602は、N個の候補統合動き情報ユニットセットから、歪みまたはレート歪みコストに従って、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するように特に構成されている。
任意選択的に、本発明のいくつかの可能な実施態様において、画像予測装置が映像符号化装置に適用される場合、プロセッサ602は、統合動き情報ユニットセットiの識別子を映像ビットストリームに書き込むようにさらに構成されてもよい。
任意選択的に、本発明のいくつかの可能な実装方法において、画像予測装置が映像復号装置に適用される場合、プロセッサ602は、N個の統合候補統合動き情報ユニットセットから、統合動き情報ユニットセットiであり、かつ映像ビットストリームから得られる識別子に基づいて、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するように特に構成されてもよい。
なお、本実施形態における画像予測装置600の各機能モジュールの機能は、上述した方法の実施形態の方法に従って具体的に実現されてもよいことが理解されよう。その特定の実施プロセスについては、前述の方法の実施形態における関連する説明を参照することができ、詳細はここでは再び説明しない。画像予測装置600は、たとえば、ノートブックコンピュータ、タブレットコンピュータ、パーソナルコンピュータ、携帯電話などの映像を出力または再生する必要がある装置であればよい。
本実施形態の画像予測装置600は、非並進動作モデルおよび統合動き情報ユニットセットi用いて画像ブロックxの画素値を予測し、統合動き情報ユニットセットi内の各動き情報ユニットは、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の動き情報ユニットの少なくとも一部から選択されることが分かる。統合動き情報ユニットセットiの選択範囲は比較的小さいので、K1個の画素サンプルに対応する可能な全ての候補動き情報ユニットセットにおいて莫大な量の計算を実行するだけで、K1個の画素サンプルの動き情報ユニットをスクリーニングするための従来の技術で使用されたメカニズムは放棄される。これは、符号化効率を向上させるのに役立ち、非並進動作モデルに基づいて実行される画像予測の計算上の複雑さを低減するのにも役立ち、さらに非並進動作モデルを映像符号化標準に導入することを可能にし、かつ、非並進動作モデルが導入されているため、オブジェクトの動きをより正確に記述するのに役立ち、予測精度を向上させるのに役立つ。
図7を参照すると、図7は、本発明の他の実施形態に係る、画像予測装置700の構造ブロック図である。画像予測装置700は、少なくとも1つのプロセッサ701、メモリ705、および少なくとも1つの通信バス702を含むことができる。通信バス702は、構成要素間の接続および通信を実装するように構成される。画像予測装置700は、任意選択的に、少なくとも1つのネットワークインタフェース704および/またはユーザインタフェース703を含むことができる。ユーザインタフェース703は、ディスプレイ(たとえば、タッチスクリーン、LCD、ホログラフィック(ホログラフィック)イメージングデバイス、CRT、またはプロジェクタ(プロジェクタ))、(たとえば、マウス、トラックボール(トラックボール)、タッチパッド、またはタッチスクリーンなどの)ポインティングデバイス、カメラ、および/またはピックアップ装置などを含むことができる。
メモリ705は、読み出し専用メモリおよびランダムアクセスメモリを含み、プロセッサ701に命令およびデータを提供することができる。メモリ705の一部は、不揮発性ランダムアクセスメモリをさらに含むことができる。
いくつかの実装方法において、メモリ705は、以下の要素、すなわち、実行可能モジュールまたはデータ構造、またはそれらのサブセット、またはそれらの拡張されたセットと、様々な基本プログラムを実施し、ハードウェアベースのタスクを処理するように構成された、様々なシステムプログラムを含むオペレーティングシステム7051と、様々なアプリケーションサービスを実施するように構成された様々なアプリケーションプログラムを含むアプリケーションプログラムモジュール7052とを記憶する。
本発明のこの実施形態では、メモリ705に格納されたプログラムまたは命令を呼び出すことによって、プロセッサ701は、画像ブロックx内のK1個の画素サンプルを決定して、K1個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットを決定するように構成され、ここで、各画素サンプルに対応する候補動き情報ユニットセットは、少なくとも1つの候補動き情報ユニットを含み、K1は、2以上の整数あるように構成され、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するように構成され、ここで、統合動き情報ユニットセットi内の各動き情報ユニットは、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の動き情報ユニットの少なくとも一部から選択され、動き情報ユニットは、予測方向が順方向である動きベクトルおよび/または予測方向が逆方向である動きベクトルを含むように構成され、かつ、非並進動作モデルおよび統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するように構成される。
任意選択的に、本発明の可能な実施態様において、プロセッサ701は、N個の候補統合動き情報ユニットセットから、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するように特に構成され、N個の候補統合動き情報ユニットセット内の各候補統合動き情報ユニットセットに含まれる各動き情報ユニットは、K1個の画素サンプルの異なる画素サンプルに対応する候補動き情報ユニットセット内の制約対応動き情報ユニットの少なくとも一部から選択され、Nは正の整数であり、N個の候補統合動き情報ユニットセットは互いに異なっており、N個の候補統合動き情報ユニットセット内の各候補統合動き情報ユニットセットは、K1個の動き情報ユニットを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、N個の候補統合動き情報ユニットセットは、第1の条件、第2の条件、第3の条件、第4の条件、または第5の条件の少なくとも1つを満たす。
第1の条件は、N個の候補統合動き情報ユニットセット内の任意の候補統合動き情報ユニットセット内の動き情報ユニットによって示される画像ブロックxの動きモードが非並進動作であることを含む。
第2の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の少なくとも2つの動き情報ユニットの予測方向が同じであることを含む。
第3の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の少なくとも2つの動き情報ユニットに対応する参照フレームインデックスが同じであることを含む。
第4の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つの動き情報ユニットの水平成分の差の絶対値が水平成分閾値以下であることを含む。
第5の条件は、N個の候補統合動き情報ユニットセットにおける候補統合動き情報ユニットセット内の2つの動き情報ユニットの垂直成分の差の絶対値が垂直成分閾値以下であることを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、K1個の画素サンプルは、画像ブロックxの左上の画素サンプル、右上の画素サンプル、左下の画素サンプル、および中央の画素サンプルa1に少なくとも2つの画素サンプルを含む。
画像ブロックxの左上の画素サンプルは画像ブロックxの左上の頂点であるか、画像ブロックxの左上の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの左下の画素サンプルは、画像ブロックxの左下の頂点、または画像ブロックxの左下の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの右上の画素サンプルは、画像ブロックxの右上の頂点、または画像ブロックxの右上の頂点を含む画像ブロックx内の画素ブロックであり、画像ブロックxの中央の画素サンプルa1は、画像ブロックxの中央の画素、または画像ブロックxの中央の画素を含む画像ブロックx内の画素ブロックである。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの左上の画素サンプルに対応する候補動き情報ユニットセットは、x1個の画素サンプルの動き情報ユニットを含み、x1個の画素サンプルは、画像ブロックxの左上の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックxの左上の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、x1は正の整数である。
任意選択的に、本発明のいくつかの可能な実施態様において、x1個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、画像ブロックxの左上の画素サンプルと同じ位置を有する画素サンプル、画像ブロックxの左端に空間的に隣接する画素サンプル、画像ブロックxの左上に空間的に隣接する画素サンプル、または画像ブロックxの上端に空間的に隣接する画素サンプルの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの右上の画素サンプルに対応する候補動き情報ユニットセットは、x2個の画素サンプルの動き情報ユニットを含み、x2個の画素サンプルは、画像ブロックxの右上の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックxの右上の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、x2は正の整数である。
任意選択的に、本発明のいくつかの可能な実施態様において、x2個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、画像ブロックxの右上の画素サンプルと同じ位置を有する画素サンプル、画像ブロックxの右端に空間的に隣接する画素サンプル、画像ブロックxの右上に空間的に隣接する画素サンプル、または画像ブロックxの上端に空間的に隣接する画素サンプルの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの左下の画素サンプルに対応する候補動き情報ユニットセットは、x3個の画素サンプルの動き情報ユニットを含み、x3個の画素サンプルは、画像ブロックxの左下の画素サンプルに空間的に隣接する少なくとも1つの画素サンプルおよび/または画像ブロックxの左下の画素サンプルに時間的に隣接する少なくとも1つの画素サンプルを含み、x3は正の整数である。
任意選択的に、本発明のいくつかの可能な実施態様において、x3個の画素サンプルは、画像ブロックxが属する映像フレームに時間的に隣接する映像フレームにおいて、画像ブロックxの左下の画素サンプルと同じ位置を有する画素サンプル、画像ブロックxの左端に空間的に隣接する画素サンプル、画像ブロックxの左下に空間的に隣接する画素サンプル、または画像ブロックxの下端に空間的に隣接する画素サンプルの少なくとも1つを含む。
任意選択的に、本発明のいくつかの可能な実施態様において、画像ブロックxの中央の画素サンプルa1に対応する候補動き情報ユニットセットはx5個の画素サンプルの動き情報ユニットを含み、x5個画素サンプル内の1画素サンプルは画素サンプルa2である。
画像ブロックxが属する映像フレーム内の中央の画素サンプルa1の位置は、画像ブロックxが属する映像フレームに隣接する映像フレーム内の画素サンプルa2の位置と同じであり、x5は正の整数である。
本発明のいくつかの可能な実施態様において、統合動き情報ユニットセットiにおける予測方向が第1の予測方向である動きベクトルが異なる参照フレームインデックスに対応する場合、プロセッサ701は、統合動き情報ユニットセットiにおける予測方向が第1の予測方向である動きベクトルを同一の参照フレームに縮小するように、統合動き情報ユニットセットiに対してスケーリング処理を行い、非並進動作モデルおよびスケーリングされた統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するように構成されてもよく、第1の予測方向が順方向または逆方向であり、または、プロセッサ701は、統合動き情報ユニットセットiにおいて予測方向が順方向である動きベクトルが異なる参照フレームインデックスに対応し、統合動き情報ユニットセットiにおいて予測方向が逆方向である動きベクトルが異なる参照フレームインデックスに対応した場合、統合動き情報ユニットセットiにおいて予測方向が順方向である動きベクトルが同一の参照フレームに縮小され、統合動き情報ユニットセットiにおいて予測方向が逆方向である動きベクトルが同一の参照フレームに縮小されるように、統合動き情報ユニットセットiに対してスケーリング処理を行い、非並進動作モデルおよびスケーリングされた統合動き情報ユニットセットiを用いて画像ブロックxの画素値を予測するように特に構成されてもよい。
任意選択的に、本発明のいくつかの可能な実施態様のいずれかにおいて、プロセッサ701は、非並進動作モデルおよび統合動き情報ユニットセットi用いて計算により画像ブロックxの各画素の動きベクトルを求めて、画像ブロックx内の各画素の求められた動きベクトルを用いて画像ブロックx内の各画素の予測画素値を決定するように構成されてもよく、またはプロセッサ701は、非並進動作モデルおよび統合動き情報ユニットセットiを用いて計算により画像ブロックxの各画素ブロックの動きベクトルを求めて、画像ブロックx内の各画素ブロックの求められた動きベクトルを用いて画像ブロックx内の各画素ブロックの各画素の予測画素値を決定するように構成されてもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、プロセッサ701は、画像ブロックy内のK2個の画素サンプルを決定し、K2個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットを決定するように構成され、K2は1より大きい整数であり、画像ブロックyは画像ブロックxに空間的に隣接しており、K2個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセットは、少なくとも1つの候補動き情報ユニットを含み、K2個の動き情報ユニットを含む統合動き情報ユニットセットiを決定し、K2個の画素サンプルの画素サンプルz1に対応する候補動き情報ユニットセットは動き情報ユニットa2を含み、動き情報ユニットa2は、画素サンプルz2の動き情報ユニットに基づいて求められ、画素サンプルz2は、画像ブロックx内の画素サンプルであり、画素サンプルz2と画素サンプルz1との間の距離が閾値未満であるか、または画素サンプルz2は、画像ブロックx内の画素サンプルであり、画素サンプルz2と画素サンプルz1との間の距離は最短であり、統合動き情報ユニットセットj内のK2個の動き情報ユニットは、K2個の画素サンプル内の各画素サンプルに対応する候補動き情報ユニットセット内の制約対応動き情報ユニットの少なくとも一部からそれぞれ選択され、非並進動作モデルおよび統合動き情報ユニットセットjを用いて画像ブロックyの画素値を予測するようにさらに構成されている。
任意選択的に、本発明のいくつかの可能な実施形態では、非並進動作モデルは、アフィン動きモデル、放物線動作モデル、回転動作モデル、遠近法動作モデル、せん断運動モデル、スケーリング動作モデル、または双線形動作モデルの内のいずれか1つであってもよい。
画像予測装置700は、映像符号化装置に適用してもよいし、映像復号装置に適用してもよい。
任意選択的に、本発明のいくつかの可能な実施態様において、画像予測装置が映像符号化装置に適用される場合、プロセッサ701は、N個の候補統合動き情報ユニットセットから、歪みまたはレート歪みコストに従って、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するように特に構成されている。
任意選択的に、本発明のいくつかの可能な実施態様において、画像予測装置が映像符号化装置に適用される場合、プロセッサ701は、統合動き情報ユニットセットiの識別子を映像ビットストリームに書き込むようにさらに構成されてもよい。
任意選択的に、本発明のいくつかの可能な実装方法において、画像予測装置が映像復号装置に適用される場合、プロセッサ701は、N個の統合候補統合動き情報ユニットセットから、統合動き情報ユニットセットiであり、かつ映像ビットストリームから得られる識別子に基づいて、K1個の動き情報ユニットを含む統合動き情報ユニットセットiを決定するように特に構成されてもよい。
なお、本実施形態における画像予測装置700の各機能モジュールの機能は、上述した方法の実施形態の方法に従って具体的に実現されてもよいことが理解されよう。その特定の実施プロセスについては、前述の方法の実施形態における関連する説明を参照することができ、詳細はここでは再び説明しない。画像予測装置700は、たとえば、ノートブックコンピュータ、タブレットコンピュータ、パーソナルコンピュータ、携帯電話などの映像を出力または再生する必要がある装置であればよい。
本実施形態の画像予測装置700は、非並進動作モデルおよび統合動き情報ユニットセットi用いて画像ブロックxの画素値を予測し、統合動き情報ユニットセットi内の各動き情報ユニットは、K1個の画素サンプル内の異なる画素サンプルに対応する候補動き情報ユニットセット内の動き情報ユニットの少なくとも一部から選択されることが分かる。統合動き情報ユニットセットiの選択範囲は比較的小さいので、K1個の画素サンプルに対応する可能な全ての候補動き情報ユニットセットにおいて莫大な量の計算を実行するだけで、K1個の画素サンプルの動き情報ユニットをスクリーニングするための従来の技術で使用されたメカニズムは放棄される。これは、符号化効率を向上させるのに役立ち、非並進動作モデルに基づいて実行される画像予測の計算上の複雑さを低減するのにも役立ち、さらに非並進動作モデルを映像符号化標準に導入することを可能にし、かつ、非並進動作モデルが導入されているため、オブジェクトの動きをより正確に記述するのに役立ち、予測精度を向上させるのに役立つ。
説明を簡単にするために、前述の方法の実施形態は、一連の動作として表現されることに留意されたい。しかしながら、本発明によれば、いくつかのステップは、他のシーケンスで実行されてもよいし、同時に実行されてもよいので、本発明は記載されたアクションシーケンスに限定されないことを当業者は理解すべきである。さらに、当業者であれば、明細書に記載された全ての実施形態は例示的な実施形態であり、関連する動作およびモジュールは必ずしも本発明に必須ではないことも理解されたい。
上述した実施形態では、各実施形態の説明にそれぞれ重点を置いている。一実施形態において詳細に記載されていない部分については、他の実施形態における関連説明を参照することができる。
本出願で提供されるいくつかの実施形態において、開示された装置は、他の方法で実施されてもよいことを理解されたい。たとえば、説明された装置の実施形態は単なる例示である。たとえば、ユニット分割は単に論理的な機能分割であり、実際の実装では他の分割であってもよい。たとえば、複数のユニットまたは構成要素を組み合わせて、別のシステムに統合してもよく、または一部の機能を無視してもよいし、実行しなくてもよい。さらに、表示または議論された相互結合または直接結合または通信接続は、いくつかのインターフェースを介して実施されてもよい。装置またはユニット間の間接的結合または通信接続は、電子的または他の形態で実施することができる。
別個の部品として記載されたユニットは、物理的に分離していてもいなくてもよく、ユニットとして表示される部品は、物理的ユニットであってもなくてもよく、1つの位置に配置されていてもよいし、複数のネットワークユニットに分散されていてもよい。ユニットの一部または全部は、実施形態の解決策の目的を達成するために実際の必要に応じて選択されてもよい。
また、本発明の実施形態における機能部は、1つの処理部に統合されていてもよいし、物理的に単独で存在していてもよいし、2つ以上が一体化されていてもよい。統合ユニットは、ハードウェアの形態で実装されてもよく、ソフトウェア機能ユニットの形態で実装されてもよい。
前述の統合ユニットがソフトウェア機能ユニットの形態で実装され、独立した製品として販売または使用される場合、統合ユニットはコンピュータ可読記憶媒体に格納されてもよい。このような理解に基づいて、本質的に本発明の技術的解決策、または先行技術に寄与する部分、または技術的解決策の全部または一部は、ソフトウェア製品の形態で実施することができる。このソフトウェア製品は、記憶媒体に格納されており、本発明の実施形態に記載された方法のステップの全部または一部を実行するようにコンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイスであり得る)に命令するためのいくつかの命令を含む。上記記憶媒体は、USBフラッシュドライブ、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、リムーバブルハードディスク、磁気ディスクまたは光ディスクなどのプログラムコードを格納することができる任意の媒体を含む。
前述の実施形態は、本発明の技術的解決策を説明するためのものであって、本発明を限定するものではない。本発明は前述の実施形態を参照して詳細に説明されているが、当業者であれば、本発明の実施形態の技術的解決策の精神および範囲から逸脱することなく、前述の実施形態に記載された技術的解決策を変更したり、またはそのいくつかの技術的特徴を同等に置き換えてもよい。