【文献】
Satoru Sakazume JVC KENWOOD Holdings, Inc. 58-7, Shinmei-cho, Yokosuka, Kanagawa 239-8550, Japan,Description of video coding technology proposal by JVC[online], JCTVC-A JCTVC-A108,米国,インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/1_Dresden/wg11/JCTVC-A108.zip>,2010年 4月23日,pp.7-9
【文献】
Han Huang, et al.,Control-Point Representation and Differential Coding Affine-Motion Compensation,IEEE Transactions on Circuits and Systems for Video Technology Year: 2013,米国,IEEE,2013年 3月27日,Volume: 23 , Issue: 10,Pages: 1651 - 1660,URL,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6488797
(58)【調査した分野】(Int.Cl.,DB名)
Qの位相を有する補間フィルタを用いて前記P個の画素単位の各々の、前記基準画像における前記対応する基準画素単位の画素に対して補間フィルタリングを行う前記ステップは、
前記P個の画素単位の各々の前記動きベクトルを用いて、計算により、前記P個の画素単位の各々の位相を取得するステップと、各画素単位の前記位相に基づき、前記画素単位に対応している前記Qの位相を有する前記補間フィルタを決定するステップであって、前記補間フィルタによって用いられるフィルタ係数は前記位相に対応している、ステップと、前記対応する画素単位に対応している前記Qの位相を有する前記決定された補間フィルタを用いて各画素単位の、前記基準画像における前記対応する基準画素単位の前記画素に対して補間フィルタリングを行うステップと
を含む、請求項1から3のいずれか一項に記載の方法。
前記P個の画素単位の各々の前記動きベクトルを用いて、計算により、前記P個の画素単位の各々の位相を取得する前記ステップは、前記P個の画素単位の各々の前記動きベクトルを用いて以下の式に従って、計算により、前記P個の画素単位の各々の前記位相を取得するステップ、を含み、
X’=abs(νNx)%N、またはX’=νNx&((1≦M)−1);
Y’=abs(νNy)%N、またはY’=νNy&((1≦M)−1);
式中、Mは、Nが2の整数べきである場合log2Nに等しく、X’は、前記現在の画像ブロックにおいて(x,y)の座標を有する画素単位の水平位相を表し、Y’は、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の垂直位相を表し、νNxは、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の、その精度が前記画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の、その精度が前記画素精度の1/Nである前記動きベクトルの垂直成分を表す、請求項4に記載の方法。
前記動きモデルは、並進運動モデル、アフィン運動モデル、回転運動モデル、放物運動モデル、せん断運動モデル、ズーミング運動モデル、射影運動モデル、または双一次運動モデルである、請求項1から7のいずれか一項に記載の方法。
前記W個の制御点の前記動きベクトルは、前記現在の画像ブロックを取り囲む符号化画像ブロックまたは復号化画像ブロックの、その精度が前記画素精度の1/nである動きベクトルに基づいて予測される、請求項1から10のいずれか一項に記載の方法。
前記W個の制御点の前記動きベクトルのうちの1つの水平成分もしくは垂直成分がNを用いて前記動きモデルにおいてN回増幅され、または前記W個の制御点のうちの任意の2つの動きベクトル間の成分差がNを用いて前記動きモデルにおいてN回増幅される、請求項13または14に記載の画像予測装置。
前記補間フィルタリング部は、前記P個の画素単位の各々の前記動きベクトルを用いて、計算により、前記P個の画素単位の各々の位相を取得し、各画素単位の前記位相に基づき、前記対応する画素単位に対応している前記Qの位相を有する前記補間フィルタを決定し、前記補間フィルタによって用いられるフィルタ係数は前記位相に対応しており、前記対応する画素単位に対応している前記Qの位相を有する前記決定された補間フィルタを用いて各画素単位の、前記基準画像における前記対応する基準画素単位の前記画素に対して補間フィルタリングを行う、ように特に構成されている、
請求項13から15のいずれか一項に記載の画像予測装置。
前記P個の画素単位の各々の前記動きベクトルを用いて、計算により、前記P個の画素単位の各々の位相を取得する局面で、前記補間フィルタリング部は、前記P個の画素単位の各々の前記動きベクトルを用いて以下の式に従って、計算により、前記P個の画素単位の各々の前記位相を取得するように特に構成されており、
X’=abs(νNx)%N、またはX’=νNx&((1≦M)−1);
Y’=abs(νNy)%N、またはY’=νNy&((1≦M)−1);
式中、Mは、Nが2の整数べきである場合log2Nに等しく、X’は、前記現在の画像ブロックにおいて(x,y)の座標を有する画素単位の水平位相を表し、Y’は、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の垂直位相を表し、νNxは、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の、その精度が前記画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の、その精度が前記画素精度の1/Nである前記動きベクトルの垂直成分を表す、
請求項16に記載の画像予測装置。
前記対応する画素単位に対応している前記Qの位相を有する前記決定された補間フィルタを用いて各画素単位の、前記基準画像における前記対応する基準画素単位の前記画素に対して補間フィルタリングを行う局面で、前記補間フィルタリング部は、
水平補間フィルタリングの結果を取得するために、画素単位iに対応しているQの位相を有する決定された水平補間フィルタを用いて前記画素単位iの、前記基準画像における対応する基準画素単位の画素に対して水平補間フィルタリングを行い、前記画素単位iの予測画素値を取得するために、前記画素単位iに対応しているQの位相を有する決定された垂直補間フィルタを用いて前記水平補間フィルタリングの結果に対して垂直補間フィルタリングを行い、前記画素単位iが前記P個の画素単位のうちの任意の1つであり、または
垂直補間フィルタリングの結果を取得するために、画素単位jに対応しているQの位相を有する決定された垂直補間フィルタを用いて前記画素単位jの、前記基準画像における対応する基準画素単位の画素に対して垂直補間フィルタリングを行い、前記画素単位jの予測画素値を取得するために、前記画素単位jに対応しているQの位相を有する決定された水平補間フィルタを用いて前記垂直補間フィルタリングの結果に対して水平補間フィルタリングを行い、前記画素単位jが前記P個の画素単位のうちの任意の1つである
ように特に構成されている、請求項18に記載の画像予測装置。
前記動きモデルは、並進運動モデル、アフィン運動モデル、回転運動モデル、ズーミング運動モデル、放物運動モデル、せん断運動モデル、射影運動モデル、または双一次運動モデルである、請求項13から19のいずれか一項に記載の画像予測装置。
前記W個の制御点の前記動きベクトルは、前記現在の画像ブロックを取り囲む符号化画像ブロックまたは復号化画像ブロックの、その精度が前記画素精度の1/nである動きベクトルに基づいて予測される、請求項13から22のいずれか一項に記載の画像予測装置。
前記W個の制御点の前記動きベクトルのうちの1つの水平成分もしくは垂直成分がNを用いて前記動きモデルにおいてN回増幅され、または前記W個の制御点のうちの任意の2つの動きベクトル間の成分差がNを用いて前記動きモデルにおいてN回増幅される、請求項25または26に記載の画像予測装置。
前記プロセッサは、前記P個の画素単位の各々の前記動きベクトルを用いて、計算により、前記P個の画素単位の各々の位相を取得し、各画素単位の前記位相に基づき、前記対応する画素単位に対応している前記Qの位相を有する前記補間フィルタを決定し、前記補間フィルタによって用いられるフィルタ係数が前記位相に対応しており、前記対応する画素単位に対応している決定された前記Qの位相を有する前記補間フィルタを用いて各画素単位の、前記基準画像における前記対応する基準画素単位の前記画素に対して補間フィルタリングを行う、ように構成される、請求項25から27のいずれか一項に記載の画像予測装置。
前記P個の画素単位の各々の前記動きベクトルを用いて、計算により、前記P個の画素単位の各々の位相を取得する局面で、前記プロセッサは、前記P個の画素単位の各々の前記動きベクトルを用いて以下の式に従って、計算により、前記P個の画素単位の各々の前記位相を取得する、ように構成され、
X’=abs(νNx)%N、またはX’=νNx&((1≦M)−1);
Y’=abs(νNy)%N、またはY’=νNy&((1≦M)−1);
式中、Mは、Nが2の整数べきである場合log2Nに等しく、X’は、前記現在の画像ブロックにおいて(x,y)の座標を有する画素単位の水平位相を表し、Y’は、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の垂直位相を表し、νNxは、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の、その精度が前記画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の、その精度が前記画素精度の1/Nである前記動きベクトルの垂直成分を表す、
請求項28に記載の画像予測装置。
前記対応する画素単位に対応している決定された前記Qの位相を有する前記補間フィルタを用いて各画素単位の、前記基準画像における前記対応する基準画素単位の前記画素に対して補間フィルタリングを行う局面で、前記プロセッサは、水平補間フィルタリングの結果を取得するために、画素単位iに対応しているQの位相を有する決定された水平補間フィルタを用いて前記画素単位iの、前記基準画像における対応する基準画素単位の画素に対して水平補間フィルタリングを行い、前記画素単位iの予測画素値を取得するために、前記画素単位iに対応しているQの位相を有する決定された垂直補間フィルタを用いて前記水平補間フィルタリングの結果に対して垂直補間フィルタリングを行い、前記画素単位iが前記P個の画素単位のうちの任意の1つである、ように特に構成され、または
前記プロセッサは、垂直補間フィルタリングの結果を取得するために、画素単位jに対応しているQの位相を有する決定された垂直補間フィルタを用いて前記画素単位jの、前記基準画像における対応する基準画素単位の画素に対して垂直補間フィルタリングを行い、前記画素単位jの予測画素値を取得するために、前記画素単位jに対応しているQの位相を有する決定された水平補間フィルタを用いて前記垂直補間フィルタリングの結果に対して水平補間フィルタリングを行い、前記画素単位jが前記P個の画素単位のうちの任意の1つである、ように特に構成される、
請求項30に記載の画像予測装置。
前記動きモデルは、並進運動モデル、アフィン運動モデル、回転運動モデル、ズーミング運動モデル、放物運動モデル、せん断運動モデル、射影運動モデル、または双一次運動モデルである、請求項25から31のいずれか一項に記載の画像予測装置。
前記W個の制御点の前記動きベクトルは、前記現在の画像ブロックを取り囲む符号化画像ブロックまたは復号化画像ブロックの、その精度が前記画素精度の1/nである動きベクトルに基づいて予測される、請求項25から34のいずれか一項に記載の画像予測装置。
【発明を実施するための形態】
【0046】
本発明の実施形態は、画像予測プロセスの間に補間フィルタリングに必要とされる中間キャッシュの量およびメモリ動作を低減させ、画像予測プロセスの間の計算の複雑さを低減させるための、画像予測方法および関連装置を提供する。
【0047】
本発明の明細書、特許請求の範囲および添付の図面において、「第1」、「第2」、「第3」、などの用語は、異なる対象を区別するためのものであり、特定の順序を示すものではない。加えて、「including」、「comprising」、およびそれらの任意の他の変形は、非排他的包含を対象として含むものであることが意図されている。例えば、一連のステップもしくはユニットを含むプロセス、方法、システム、製品、もしくは装置は、記載されたステップもしくはユニットだけに限定されず、任意選択で、記載されていないステップもしくはユニットをさらに含み、または任意選択で、プロセス、方法、製品、もしくは機器の別の固有のステップもしくはユニットをさらに含む。
【0048】
以下ではまず、本発明の実施形態に関連しうるいくつかの概念について簡単に説明する。
【0049】
ほとんどの符号化フレームワークにおいて、ビデオシーケンスは一連の画
像を含み、画像はスライス(英語:slice)にさらに分割され、sliceはブロック(英語:block)にさらに分割される。映像符号化はブロックの単位に基づくものであり、符号化処理はpictureの左上隅の位置から開始され、次いで、左から右へ、上から下へとラインごとに行われる。いくつかの新しい映像符号化規格では、blockの概念がさらに拡張されている。H.264規格には、マクロブロック(英語:macroblock、略称:MB)が記載されており、MBは、予測符号化に用いられる複数の予測パーティション(英語:partition)にさらに分割される。HEVC規格では、符号化単位(英語:coding unit、略称:CU)、予測単位(英語:prediction unit、略称:PU)、変換単位(英語:transform unit、略称:TU)などの基本概念が用いられる。複数の種類の単位は機能分割によって得られ、新しい木構造を用いて記述される。例えば、CUは4分木に従ってより小さいCUに分割され、より小さいCUは4分木構造を形成するように引き続きさらに分割される。PUの木構造とTUの木構造とはCUの木構造に類似したものである。CU、PU、およびTUはすべて、本質的にblockの概念に属する。マクロブロックMBまたは符号化ブロックと同様に、CUは、符号化画像を分割し、符号化するための基本単位である。PUは、予測符号化のための基本単位であり、予測パーティションに対応させることができる。分割方式に従い、CUは複数のPUにさらに分割される。TUは、予測残差を変換するための基本単位であり、変換ブロックに対応させることができる。高効率映像符号化(英語:high efficiency video coding、略称:HEVC)規格では、CU、PU、およびTUは、符号化ツリーブロック(英語:coding tree block、略称:CTB)などと総称される。
【0050】
HEVC規格では、符号化単位は、64×64、32×32、16×16、および8×8の4つのサイズレベルを含む。各レベルの符号化単位は、フレーム内予測およびフレーム間予測に従って異なるサイズの予測単位に分割される。例えば、
図1−aと
図1−bとに示すように、
図1−aには、フレーム内予測に対応する予測単位分割方式が示されており、
図1−bには、フレーム間予測に対応する予測単位分割方式が示されている。
【0051】
映像符号化技術の開発および進化のプロセスにおいて、映像符号化の専門家らは、隣接する符号化/復号化ブロック間の時間的空間的相関を利用して符号化効率を向上させる様々な方法を考案している。H.264/高度映像符号化(英語:advanced video coding、略称:AVC)規格では、スキップモード(skip mode)およびダイレクトモード(direct mode)が符号化効率を向上させる有効な手段になる。低ビット速度の場合には、2つの符号化モードを用いるブロックの数が符号化シーケンス全体におけるブロックの半数を上回る。スキップモードを用いる場合には、スキップ・モード・タグがビットストリームにおいて転送されるという前提で周囲の動きベクトルを用いた導出によって現在の画像ブロックの動きベクトルを取得することができ、動きベクトルに従って参照ブロックの値が現在の画像ブロックの復元値として用いられる。
代わりに、ダイレクトモードを用いる場合には、符号器が、周囲の動きベクトルを用いて、導出によって、現在の画像ブロックの動きベクトルを取得し、動きベクトルに従って参照ブロックの値を現在の画像ブロックの予測値として直接用い、予測値を用いて符号器側で現在の画像ブロックに対して予測符号化を行うことができる。目下、最新の高効率映像符号化(英語:high efficiency video coding、略称:HEVC)規格では、映像符号化性能をさらに向上させるためにいくつかの新しい符号化手段が用いられている。併合符号
化モードおよび高度動きベクトル予測(英語:advanced motion vector prediction、略称:AMVP)モードが2つの重要なフレーム間予測手段である。併合符号
化モードでは、現在の符号化ブロックを取り囲む符号化済みブロックの動き情報(動きベクトル(英語:motion vector、略称:MV)、予測方向、参照フレームインデックスなどを含む)が候補動き情報集合を形成するのに用いられる。最高の符号化効率を有する候補動き情報が、比較によって、現在の符号化ブロックの動き情報として選択される。現在の符号化ブロックの、参照フレームで見つかった予測値を用いて現在の符号化ブロックに対して予測符号化が行われる。加えて、その中から動き情報が選択される特定の周囲の符号化済みブロックに索引付けするインデックス値もビットストリームに書き込むことができる。高度動きベクトル予測を用いる場合には、周囲の符号化済みブロックの動きベクトルが現在の符号化ブロックの動きベクトルの予測値として用いられ、現在の符号化ブロックの符号化効率を予測するために最高の符号化効率を有する動きベクトルが選択され、特定の周囲の動きベクトルの選択を指示するインデックス値がビットストリームに書き込まれる。
【0052】
以下で引き続き本発明の実施形態の技術的解決策について説明する。
【0053】
以下ではまず、本発明の実施形態で提供される画像予測方法について説明する。本発明の実施形態で提供される画像予測方法は、映像符号化装置または映像復号化装置によって実行される。映像符号化装置または映像復号化装置は、映像を出力または記憶する必要のある任意の装置、例えば、ノートブックコンピュータ、タブレットコンピュータ、パーソナルコンピュータ、携帯電話、ビデオサーバ、または別の機器であってよい。
【0054】
本発明で提供される画像予測方法の一実施形態において、画像予測方法は、現在の画像ブロックにおけるW個の制御点の動きベクトルを決定するステップと、動きモデルとW個の制御点の動きベクトルとを用いて、計算により、現在の画像ブロックのP個の画素単位の動きベクトルを取得するステップであって、W個の制御点の決定された動きベクトルの精度は画素精度の1/nであり、計算によって取得される、P個の画素単位の各々の動きベクトルの精度は画素精度の1/Nであり、P個の画素単位は現在の画像ブロックの画素単位の一部または全部であり、P個の画素単位の各々の動きベクトルは、対応する画素単位の、基準画像における対応する基準画素単位を決定するのに用いられ、W、n、およびNは1より大きい整数であり、Nはnより大きく、Pは正の整数である、ステップと、P個の画素単位の各々の予測画素値を取得するために、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うステップであって、Qはnより大きい整数である、ステップとを含む。
【0055】
図2−aを参照すると、
図2−aは、本発明の一実施形態による画像予測方法の概略流れ図である。
図2−aに示す例において、本発明の本実施形態で提供される画像予測方法は以下のステップを含む。
【0056】
201.現在の画像ブロックにおけるW個の制御点の動きベクトルを決定する。
【0057】
202.動きモデルとW個の制御点の動きベクトルとを用いて、計算により、現在の画像ブロックのP個の画素単位の動きベクトルを取得する。
【0058】
P個の画素単位は現在の画像ブロックの画素単位の一部または全部である。
【0059】
P個の画素単位の各々の動きベクトルは、対応する画素単位の、基準画像における対応する基準画素単位を決定するのに用いられる。したがって、P個の画素単位の各々の動きベクトルは、対応する画素単位の、基準画像における対応する基準画素単位を決定するのに用いることができる。
【0060】
W個の制御点の決定された動きベクトルの精度は画素精度の1/nである。
【0061】
計算によって取得される、P個の画素単位の各々の動きベクトルの精度は画素精度の1/Nである。
【0062】
W、n、およびNは1より大きい整数である。
【0063】
Nはnより大きい。Pは正の整数である。
【0064】
Nはnより大きいため、計算によって取得される、P個の画素単位の各々の動きベクトルの精度は、W個の制御点の決定された動きベクトルの精度より高い。すなわち、現在の画像ブロックのP個の画素単位のより高精度の動きベクトルが取得される。
【0065】
本発明のいくつかの可能な実施態様では、W個の制御点の動きベクトルは、現在の画像ブロックを取り囲む符号化画像ブロックまたは復号化画像ブロックの、その精度が画素精度の1/nである動きベクトルに基づいて予測される。
【0066】
図2−bに示す例において、W個の制御点には、制御点LT、制御点RT、および制御点LBが含まれている。制御点LTの動きベクトルは、その精度が、画像ブロックA、画像ブロックB、および画像ブロックCの画素精度の1/nである動きベクトルに基づいて予測することができる。制御点RTの動きベクトルは、その精度が、画像ブロックDおよび画像ブロックEの画素精度の1/nである動きベクトルに基づいて予測することができる。制御点LBの動きベクトルは、その精度が、画像ブロックFおよび画像ブロックGの画素精度の1/nである動きベクトルに基づいて予測することができる。
【0067】
本発明のいくつかの可能な実施態様では、W個の制御点の動きベクトルが予測値に基づくものである場合、予測値の精度も画素精度の1/nであり、制御点の、その精度が画素精度の1/nである動きベクトルと対応する予測値との差をビットストリームに書き込むことができる。
【0068】
本発明のいくつかの可能な実施態様では、動きモデルは、例えば、並進運動モデル、アフィン運動モデル、回転運動モデル、放物運動モデル、せん断運動モデル、ズーミング運動モデル、射影運動モデル、または双一次運動モデルとすることができる。
【0069】
203.P個の画素単位の各々の予測画素値を取得するために、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における基準画素単位の画素に対して補間フィルタリングを行う。
【0071】
本発明のいくつかの可能な実施態様では、Nの値は事前設定された固定値とすることができ、QはN
以下とすることができる。Nの値を事前設定された固定値とすることができる場合、これは、動きモデルとW個の制御点の動きベクトルとを用いて計算により取得される、現在の画像ブロックのP個の画素単位の動きベクトルの精度が、現在の画像ブロックのサイズに不必要に関連していることを示している。言い換えると、例えば、本実施形態の解決策によれば、事前設定された固定精度を有する予測画素値を、低精度の補間フィルタリングを行うことによる低精度の予測画素値を取得するための中間プロセスなしで取得することができる。
【0072】
例えば、Wは、2、3、4、5、6、8、または別の値とすることができる。
【0073】
例えば、Pは、1、2、3、4、5、6、8、10、15、16、21、32、64または別の値とすることができる。
【0074】
例えば、Qは、128、9、18、24、256、8、10、15、16、21、32、64、または別の値とすることができる。
【0075】
例えば、Nは、128、9、18、24、256、8、10、15、16、21、32、64、または別の値とすることができる。
【0076】
例えば、nは、8、2、4、または別の値とすることができる
【0077】
本発明のいくつかの可能な実施態様では、Nは2の整数べきとすることもでき、あるいは当然ながら、Nは別の正の整数とすることもできる。
【0078】
本発明の実施形態における画素単位は、1つまたは複数の画素を含んでいてよい。例えば、画素単位は、2×2画素ブロック、2×1画素ブロック、2×1画素ブロック、4×4画素ブロック、または4×2画素ブロックとすることができる。
【0079】
本発明の実施形態における制御点は、1つまたは複数の画素を含んでいてよい。例えば、制御点は、2×2画素ブロック、2×1画素ブロック、2×1画素ブロック、4×4画素ブロック、または4×2画素ブロックとすることができる。
【0080】
以上からわかるように、本実施形態で提供される画像予測方法では、現在の画像ブロックの各画素単位の、その精度が画素精度の1/Nである動きベクトルが、動きモデルと、W個の制御点の、その精度が画素精度の1/nである動きベクトルとを用いて計算によって取得され、Nはnより大きい。言い換えると、計算によって取得される、現在の画像ブロックの各画素単位の動きベクトルの精度は、W個の制御点の決定された動きベクトルの精度より高い。高精度の動きベクトルがまず取得される。したがって、現在の画像ブロックの各画素単位の高精度の動きベクトルを用いて現在の画像ブロックの各画素単位の、基準画像における対応する基準画素単位が決定され、Qの位相を有する(Qはnより大きい)補間フィルタを用いて現在の画像ブロックの各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングが行われて、現在の画像ブロックの各画素単位の予測画素値が取得される。前述の方法は、予測によって、現在の画像ブロックの高精度の予測画素値を取得するのに必要な補間フィルタリングの数量を低減させるのに役立ち(例えば、低精度の補間フィルタリングを行うことによって低精度の予測画素値を取得するための中間プロセスが不要となる)、そのため、画像予測プロセスの間に補間フィルタリングに必要とされる中間キャッシュの量およびメモリ動作が低減し、画像予測プロセスの間の計算の複雑さが低減することがわかる。
【0081】
本発明のいくつかの可能な実施態様では、W個の制御点の動きベクトルのうちの1つの水平成分もしくは垂直成分は、Nを用いて動きモデルにおいてN回増幅され、またはW個の制御点のうちの任意の2つの動きベクトル間の成分差は、Nを用いて動きモデルにおいてN回増幅される。
【0082】
例えば、本発明のいくつかの可能な実施態様では、Wが2に等しい場合、動きモデルは以下のように表すことができる。
【0084】
式中、Lは、現在の画像ブロックの幅または高さを表し、(ν
0x,ν
0y)と(ν
1x,ν
1y)とは、2つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0085】
別の例として、本発明のいくつかの可能な実施態様では、Wが3に等しい場合、動きモデルは以下のように表すことができる。
【0087】
式中、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表し、(ν
0x,ν
0y)と(ν
1x,ν
1y)と(ν
2x,ν
2y)とは、3つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、wは、現在の画像ブロックの幅を表し、hは、現在の画像ブロックの高さを表す。
【0088】
以上の例は、アフィン運動モデルを用いて説明される。並進運動モデル、回転運動モデル、せん断運動モデル、ズーミング運動モデル、射影運動モデル、放物運動モデル、双一次運動モデルなどが用いられる場合
、前述の例を参照することができる。ここでは詳細を繰り返さない。
【0089】
例えば、動きモデルの一般的な表現形態は以下とすることができる。
(ν
Nx,ν
Ny)=f({(ν
ix,ν
iy)|i=0,1...,M},N,(x,y))
式中、制御点の動きベクトル(ν
ix,ν
iy)の精度は画素精度の1/nであり、効果とビットオーバーヘッドとのバランスをとるために、nの値を4に設定することができ、Nは、フィルタの事前設定位相を表すことができ、(x,y)は、画像ブロックにおける任意の画素単位の座標値を表し、
ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0090】
任意選択で、本発明のいくつかの可能な実施態様では、P個の画素単位の各々の動きベクトルを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位を決定するステップは、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の整数画素位置を取得するステップと、P個の画素単位の各々の動きベクトルを用いて、P個の画素単位の各々の整数画素位置に対応する基準画素単位を求めて基準画像をサーチするステップと、を含み、P個の画素単位の各々の整数画素位置に対応している、基準画像で見つかる基準画素単位は、P個の画素単位の各々の、基準画像における基準画素単位である。
【0091】
具体的には、例えば、画素単位iの整数画素位置が、P個の画素単位の画素単位iの動きベクトルを用いて計算によって取得され、基準画像が、画素単位iの動きベクトルを用いて、画素単位iの整数画素位置に対応する基準画素単位を求めてサーチされ、画素単位iの整数画素位置に対応している、基準画像で見つかる基準画素単位は、画素単位iの、基準画像における基準画素単位である。画素単位iは、P個の画素単位のうちの任意の1つとすることができる。例えば、P個の画素単位の各々の、基準画像における対応する基準画素単位は、画素単位iの、基準画像における基準画素単位を決定する方法と同様の方法で決定することができる。
【0092】
本発明のいくつかの可能な実施態様では、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の整数画素位置を取得するステップは、
P個の画素単位の各々の動きベクトルを用いて以下の式に従って、計算により、P個の画素単位の各々の整数画素位置を取得するステップ、を含む。
xInt=[ν
Nx/N]、またはxInt=ν
Nx≧M;
yInt=[ν
Ny/N]、またはyInt=ν
Ny≧M;
式中、Mは、Nが2の整数べきである場合log
2Nに等しく、(xInt,yInt)は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の整数画素位置座標を表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0093】
本発明のいくつかの可能な実施態様では、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うステップは、
P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の位相を取得するステップと、各画素単位の位相に基づき、対応する画素単位に対応しているQの位相を有する補間フィルタを決定するステップであって、補間フィルタによって用いられるフィルタ係数は位相に対応している、ステップと、対応する画素単位に対応しているQの位相を有する決定された補間フィルタを用いて各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うステップと
を含む。
【0094】
具体的には、例えば、画素単位iの位相が、P個の画素単位の画素単位iの動きベクトルを用いて計算によって取得され、画素単位iに対応しているQの位相を有する補間フィルタが、画素単位iの位相に基づいて決定され、補間フィルタによって用いられるフィルタ係数は位相に対応しており、画素単位iに対応しているQの位相を有する決定された補間フィルタを用いて画素単位iの、基準画像における対応する基準画素単位の画素に対して補間フィルタリングが行われる。画素単位iは、P個の画素単位のうちの任意の1つとすることができる。例えば、補間フィルタリングは、画素単位iに対して補間フィルタリングを行う方法と同様の方法に従ってP個の画素単位の各々に対して行うことができる。
【0095】
本発明のいくつかの可能な実施態様では、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の位相を取得するステップは、P個の画素単位の各々の動きベクトルを用いて以下の式に従って、計算により、P個の画素単位の各々の位相を取得するステップ、を含む。
X’=abs(ν
Nx)%N、またはX’=ν
Nx&((1≦M)−1).
Y’=abs(ν
Ny)%N、またはY’=ν
Ny&((1≦M)−1).
式中、Mは、Nが2の整数べきである場合log
2Nに等しく、X’は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の水平位相を表し、Y’は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の垂直位相を表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0096】
任意選択で、本発明のいくつかの可能な実施態様では、位相は水平位相と垂直位相とを含み、各画素単位の位相に基づき
、画素単位に対応しているQの位相を有する補間フィルタを決定するステップは、各画素単位の水平位相に基づき、対応する画素単位に対応しているQの位相を有する水平補間フィルタを決定するステップと、各画素単位の垂直位相に基づき、対応する画素単位に対応しているQの位相を有する垂直補間フィルタを決定するステップと、を含み、水平補間フィルタによって用いられるフィルタ係数は水平位相に対応しており、垂直補間フィルタによって用いられるフィルタ係数は垂直位相に対応している。
【0097】
具体的には、例えば、画素単位iに対応しているQの位相を有する水平補間フィルタが、画素単位iの水平位相に基づいて決定され、画素単位iに対応しているQの位相を有する垂直補間フィルタが、画素単位iの垂直位相に基づいて決定され、水平補間フィルタによって用いられるフィルタ係数は画素単位iの水平位相に対応しており、垂直補間フィルタによって用いられるフィルタ係数は画素単位iの垂直位相に対応している。画素単位iは、P個の画素単位のうちの任意の1つとすることができる。例えば、P個の画素単位の各々に対応しているQの位相を有する補間フィルタは、画素単位iに対応しているQの位相を有する補間フィルタを決定する方法と同様の方法に従って決定することができる。
【0098】
任意選択で、本発明のいくつかの可能な実施態様では
、画素単位に対応しているQの位相を有する決定された補間フィルタを用いて各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うステップは、
水平補間フィルタリングの結果を取得するために、P個の画素単位のうちの任意の1つである画素単位iに対応しているQの位相を有する決定された水平補間フィルタを用いて画素単位iの、基準画像における対応する基準画素単位の画素に対して水平補間フィルタリングを行い、画素単位iの予測画素値を取得するために、画素単位iに対応しているQの位相を有する決定された垂直補間フィルタを用いて水平補間フィルタリングの結果に対して垂直補間フィルタリングを行うステップ、または
垂直補間フィルタリングの結果を取得するために、P個の画素単位のうちの任意の1つである画素単位jに対応しているQの位相を有する決定された垂直補間フィルタを用いて画素単位jの、基準画像における対応する基準画素単位の画素に対して垂直補間フィルタリングを行い、画素単位jの予測画素値を取得するために、画素単位jに対応しているQの位相を有する決定された水平補間フィルタを用いて
垂直補間フィルタリングの結果に対して水平補間フィルタリングを行うステップ
を含む。
【0099】
加えて、画素単位がただ1つの位相のみを有する(すなわち、水平位相または垂直位相のみを有する)場合には、画素単位の予測画素値を取得するために、画素単位の基準画素単位に対して補間フィルタリングを1回だけ行いさえすればよい。
【0100】
任意選択で、本発明のいくつかの可能な実施態様では、現在の画像ブロックにおけるW個の制御点の動きベクトルを決定するステップは、
現在の画像ブロックにおけるW個の制御点を決定し、W個の制御点の各々に対応する候補動き情報単位集合を決定するステップであって、各制御点に対応する候補動き情報単位
集合は少なくとも1つの候補動き情報単位を含む、ステップと、
W個の動き情報単位を含む組み合わせ動き情報単位集合eを決定するステップであって、組み合わせ動き情報単位集合e内の各動き情報単位は、W個の制御点の各々に対応する候補動き情報単位集合内の少なくともいくつかの動き情報単位の中から選択され、組み合わせ動き情報単位集合e内の各組み合わせ動き情報単位は動きベクトルを含む、ステップと、
W個の制御点の動きベクトルを取得するために組み合わせ動き情報単位集合e内のW個の動きベクトルに対して予測もしくは動き推定を行い、または組み合わせ動き情報単位集合eに含まれるW個の動きベクトルをW個の制御点の動きベクトルとして使用するステップと
を含む。
【0101】
本発明のいくつかの可能な実施態様では、候補動き情報単位集合内の各動きベクトルの精度は画素精度の1/nとすることができる。
【0102】
本画像予測方法は映像符号化プロセスに適用することができ、または本画像予測方法は映像復号化プロセスに適用することができる。
【0103】
本発明の実施形態の技術的解決策をよりよく理解するために、以下では、例を用いて符号器側と復号器側の視点から説明を行う。
【0104】
以下ではまず、符号器側の視点からの解決策について説明する。
【0105】
図3−aを参照すると、
図3−aは、本発明の別の実施形態による別の画像予測方法の概略流れ図である。
図3−aに示す例において、本発明の別の実施形態で提供される別の画像予測方法は以下のステップを含む。
【0106】
301.映像符号化装置が、現在の画像ブロックにおけるW個の制御点を決定する。
【0107】
302.映像符号化装置はW個の制御点の動きベクトルを決定する。
【0108】
映像符号化装置が、W個の制御点の動きベクトルを決定するステップは、W個の制御点の各々に対応する候補動き情報単位集合を決定するステップであって、各制御点
集合に対応する候補動き情報単位は少なくとも1つの候補動き情報単位を含む、ステップと、W個の動き情報単位を含む組み合わせ動き情報単位集合eを決定するステップであって、組み合わせ動き情報単位集合e内の各動き情報単位は、W個の制御点の各々に対応する候補動き情報単位集合内の少なくともいくつかの動き情報単位の中から選択され、組み合わせ動き情報単位集合e内の各組み合わせ動き情報単位は動きベクトルを含む、ステップと、W個の制御点の動きベクトルを取得するために組み合わせ動き情報単位集合e内のW個の動きベクトルに対して予測もしくは動き推定を行い、または組み合わせ動き情報単位集合eに含まれるW個の動きベクトルをW個の制御点の動きベクトルとして使用するステップと、を含むことができる。
【0109】
本発明のいくつかの可能な実施態様では、候補動き情報単位集合内の各動きベクトルの精度は画素精度の1/nとすることができる。
【0110】
303.映像符号化装置は、動きモデルとW個の制御点の動きベクトルとを用いて、計算により、現在の画像ブロックのP個の画素単位の動きベクトルを取得する。
【0111】
Pは正の整数であり、WおよびNは1より大きい整数である。
【0112】
P個の画素単位は現在の画像ブロックの画素単位の一部または全部である。
【0113】
P個の画素単位の各々の動きベクトルは、対応する画素単位の、基準画像における対応する基準画素単位を決定するのに用いられる。したがって、P個の画素単位の各々の動きベクトルは、対応する画素単位の、基準画像における対応する基準画素単位を決定するのに用いることができる。
【0114】
W個の制御点の決定された動きベクトルの精度は画素精度の1/nである。
【0115】
計算によって取得される、P個の画素単位の各々の動きベクトルの精度は画素精度の1/Nである。
【0116】
W、n、およびNは1より大きい整数である。
【0117】
Nはnより大きい。Pは正の整数である。
【0118】
Nはnより大きいため、計算によって取得される、P個の画素単位の各々の動きベクトルの精度は、W個の制御点の決定された動きベクトルの精度より高い。すなわち、現在の画像ブロックのP個の画素単位のより高精度の動きベクトルが取得される。
【0119】
本発明のいくつかの可能な実施態様では、W個の制御点の動きベクトルは、現在の画像ブロックを取り囲む符号化画像ブロックまたは復号化画像ブロックの、その精度が画素精度の1/nである動きベクトルに基づいて予測される。
【0120】
本発明のいくつかの可能な実施態様では、W個の制御点の動きベクトルが予測値に基づくものである場合、予測値の精度も画素精度の1/nであり、制御点の、その精度が画素精度の1/nである動きベクトルと対応する予測値との差をビットストリームに書き込むことができる。これに対応して、W個の制御点の、その精度が画素精度の1/nである動きベクトルは、W個の動きベクトル
と予測動きベクトルの間の予測差と、現在の画像ブロックを取り囲む復号化画像ブロックの、その精度が画素精度の1/nである動きベクトルとを用いて、復号器側で、予測によって取得することができ、予測差はビットストリームから取得される。
【0121】
本発明のいくつかの可能な実施態様では、動きモデルは、例えば、並進運動モデル、アフィン運動モデル、回転運動モデル、放物運動モデル、せん断運動モデル、ズーミング運動モデル、射影運動モデル、または双一次運動モデルとすることができる。
【0122】
例えば、本発明のいくつかの可能な実施態様では、Wが2に等しい場合、動きモデルは以下のように表すことができる。
【0124】
式中、Lは、現在の画像ブロックの幅または高さを表し、(ν
0x,ν
0y)と(ν
1x,ν
1y)とは、2つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0125】
別の例として、本発明のいくつかの可能な実施態様では、Wが3に等しい場合、動きモデルは以下のように表すことができる。
【0127】
式中、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表し、(ν
0x,ν
0y)と(ν
1x,ν
1y)と(ν
2x,ν
2y)とは、3つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、wは、現在の画像ブロックの幅を表し、hは、現在の画像ブロックの高さを表す。
【0128】
以上の例は、アフィン運動モデルを用いて説明される。並進運動モデル、回転運動モデル、せん断運動モデル、ズーミング運動モデル、射影運動モデル、放物運動モデル、双一次運動モデルなどが用いられる場合
、前述の例を参照することができる。ここでは詳細を繰り返さない。
【0129】
304.映像符号化装置は、P個の画素単位の各々の動きベクトルを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位を決定する。
【0130】
任意選択で、本発明のいくつかの可能な実施態様では、P個の画素単位の各々の動きベクトルを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位を決定するステップは、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の整数画素位置を取得するステップと、P個の画素単位の各々の動きベクトルを用いて、P個の画素単位の各々の整数画素位置に対応する基準画素単位を求めて基準画像をサーチするステップと、を含み、P個の画素単位の各々の整数画素位置に対応している、基準画像で見つかる基準画素単位は、P個の画素単位の各々の、基準画像における基準画素単位である。
【0131】
具体的には、例えば、画素単位iの整数画素位置が、P個の画素単位の画素単位iの動きベクトルを用いて計算によって取得され、基準画像が、画素単位iの動きベクトルを用いて、画素単位iの整数画素位置に対応する基準画素単位を求めてサーチされ、画素単位iの整数画素位置に対応している、基準画像で見つかる基準画素単位は、画素単位iの、基準画像における基準画素単位である。画素単位iは、P個の画素単位のうちの任意の1つとすることができる。例えば、P個の画素単位の各々の、基準画像における対応する基準画素単位は、画素単位iの、基準画像における基準画素単位を決定する方法と同様の方法で決定することができる。
【0132】
本発明のいくつかの可能な実施態様では、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の整数画素位置を取得するステップは、
P個の画素単位の各々の動きベクトルを用いて以下の式に従って、計算により、P個の画素単位の各々の整数画素位置を取得するステップ、を含む。
xInt=[ν
Nx/N]、またはxInt=ν
Nx≧M.
yInt=[ν
Ny/N]、またはyInt=ν
Ny≧M.
式中、Mは、Nが2の整数べきである場合log
2Nに等しく、(xInt,yInt)は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の整数画素位置座標を表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0133】
例えば、
図3−bを参照すると、
図3−bの四角は、現在の位置に隣接した整数画素位置のところの画素を表しており、三角は副画素を表している。
【0134】
305.映像符号化装置は、P個の画素単位の各々の予測画素値を取得するために、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行う。
【0136】
本発明のいくつかの可能な実施態様では、Nの値は事前設定された固定値とすることができ、QはN以上とすることができる。Nの値を事前設定された固定値とすることができる場合、これは、動きモデルとW個の制御点の動きベクトルとを用いて計算により取得される、現在の画像ブロックのP個の画素単位の動きベクトルの精度が、現在の画像ブロックのサイズに不必要に関連していることを示している。言い換えると、例えば、本実施形態の解決策によれば、事前設定された固定精度を有する予測画素値を、低精度の補間フィルタリングを行うことによる低精度の予測画素値を取得するための中間プロセスなしで取得することができる。
【0137】
例えば、Wは、2、3、4、5、6、8、または別の値とすることができる。
【0138】
例えば、Pは、1、2、3、4、5、6、8、10、15、16、21、32、64または別の値とすることができる。
【0139】
例えば、Qは、128、9、18、24、256、8、10、15、16、21、32、64、または別の値とすることができる。
【0140】
例えば、Nは、128、9、18、24、256、8、10、15、16、21、32、64、または別の値とすることができる。
【0141】
例えば、nは、8、2、4、または別の値とすることができる
【0142】
本発明のいくつかの可能な実施態様では、Nは2の整数べきとすることもでき、あるいは当然ながら、Nは別の正の整数とすることもできる。
【0143】
本発明のいくつかの可能な実施態様では、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うステップは、
P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の位相を取得するステップと、各画素単位の位相に基づき、対応する画素単位に対応しているQの位相を有する補間フィルタを決定するステップであって、補間フィルタによって用いられるフィルタ係数は位相に対応している、ステップと、対応する画素単位に対応しているQの位相を有する決定された補間フィルタを用いて各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うステップと
を含む。
【0144】
具体的には、例えば、画素単位iの位相が、P個の画素単位の画素単位iの動きベクトルを用いて計算によって取得され、画素単位iに対応しているQの位相を有する補間フィルタが、画素単位iの位相に基づいて決定され、補間フィルタによって用いられるフィルタ係数は位相に対応しており、画素単位iに対応しているQの位相を有する決定された補間フィルタを用いて画素単位iの、基準画像における対応する基準画素単位の画素に対して補間フィルタリングが行われる。画素単位iは、P個の画素単位のうちの任意の1つとすることができる。例えば、補間フィルタリングは、画素単位iに対して補間フィルタリングを行う方法と同様の方法に従ってP個の画素単位の各々に対して行うことができる。
【0145】
本発明のいくつかの可能な実施態様では、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の位相を取得するステップは、P個の画素単位の各々の動きベクトルを用いて以下の式に従って、計算により、P個の画素単位の各々の位相を取得するステップ、を含む。
X’=abs(ν
Nx)%N、またはX’=ν
Nx&((1≦M)−1);
Y’=abs(ν
Ny)%N、またはY’=ν
Ny&((1≦M)−1);
式中、Mは、Nが2の整数べきである場合log
2Nに等しく、X’は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の水平位相を表し、Y’は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の垂直位相を表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0146】
任意選択で、本発明のいくつかの可能な実施態様では、位相は水平位相と垂直位相とを含み、各画素単位の位相に基づき
、画素単位に対応しているQの位相を有する補間フィルタを決定するステップは、各画素単位の水平位相に基づき、対応する画素単位に対応しているQの位相を有する水平補間フィルタを決定するステップと、各画素単位の垂直位相に基づき、対応する画素単位に対応しているQの位相を有する垂直補間フィルタを決定するステップと、を含み、水平補間フィルタによって用いられるフィルタ係数は水平位相に対応しており、垂直補間フィルタによって用いられるフィルタ係数は垂直位相に対応している。
【0147】
具体的には、例えば、画素単位iに対応しているQの位相を有する水平補間フィルタが、画素単位iの水平位相に基づいて決定され、画素単位iに対応しているQの位相を有する垂直補間フィルタが、画素単位iの垂直位相に基づいて決定され、水平補間フィルタによって用いられるフィルタ係数は画素単位iの水平位相に対応しており、垂直補間フィルタによって用いられるフィルタ係数は画素単位iの垂直位相に対応している。画素単位iは、P個の画素単位のうちの任意の1つとすることができる。例えば、P個の画素単位の各々に対応しているQの位相を有する補間フィルタは、画素単位iに対応しているQの位相を有する補間フィルタを決定する方法と同様の方法に従って決定することができる。
【0148】
任意選択で、本発明のいくつかの可能な実施態様では
、画素単位に対応しているQの位相を有する決定された補間フィルタを用いて各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うステップは、
水平補間フィルタリングの結果を取得するために、P個の画素単位のうちの任意の1つである画素単位iに対応しているQの位相を有する決定された水平補間フィルタを用いて画素単位iの、基準画像における対応する基準画素単位の画素に対して水平補間フィルタリングを行い、画素単位iの予測画素値を取得するために、画素単位iに対応しているQの位相を有する決定された垂直補間フィルタを用いて水平補間フィルタリングの結果に対して垂直補間フィルタリングを行うステップ、または
垂直補間フィルタリングの結果を取得するために、P個の画素単位のうちの任意の1つである画素単位jに対応しているQの位相を有する決定された垂直補間フィルタを用いて画素単位jの、基準画像における対応する基準画素単位の画素に対して垂直補間フィルタリングを行い、画素単位jの予測画素値を取得するために、画素単位jに対応しているQの位相を有する決定された水平補間フィルタを用いて
垂直補間フィルタリングの結果に対して水平補間フィルタリングを行うステップ
を含む。
【0149】
加えて、画素単位がただ1つの位相のみを有する(すなわち、水平位相または垂直位相のみを有する)場合には、画素単位の予測画素値を取得するために、画素単位の基準画素単位に対して補間フィルタリングを1回だけ行いさえすればよい。
【0150】
306.映像符号化装置は、P個の画素単位の元の画素値と現在の画像ブロックのP個の画素単位の予測画素値とを用いて現在の画像ブロックの予測残差を取得することができ、映像符号化装置は、現在の画像ブロックの予測残差をビデオビットストリームに書き込むことができる。
【0151】
以上からわかるように、本実施形態の解決策では、映像符号化装置は、動きモデルと、W個の制御点の、その精度が画素精度の1/nである動きベクトルとを用いて、計算により、現在の画像ブロックの各画素単位の、その精度が画素精度の1/Nである動きベクトルを取得し、Nはnより大きい。言い換えると、計算によって取得される、現在の画像ブロックの各画素単位の動きベクトルの精度は、W個の制御点の決定された動きベクトルの精度より高い。高精度の動きベクトルがまず取得される。したがって、現在の画像ブロックの各画素単位の高精度の動きベクトルを用いて現在の画像ブロックの各画素単位の、基準画像における対応する基準画素単位が決定され、Qの位相を有する(Qはnより大きい)補間フィルタを用いて現在の画像ブロックの各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングが行われて、現在の画像ブロックの各画素単位の予測画素値が取得される。前述の方法は、予測によって、現在の画像ブロックの高精度の予測画素値を取得するのに必要な補間フィルタリングの回数を低減させるのに役立ち(例えば、低精度の補間フィルタリングを行うことによって低精度の予測画素値を取得するための中間プロセスが不要となる)、そのため、画像予測プロセスの間に補間フィルタリングに必要とされる中間キャッシュおよびメモリ動作の
量が低減し、画像予測プロセスの間の計算の複雑さが低減することがわかる。
【0152】
以下で、復号器側の視点からの解決策について説明する。
【0153】
図4を参照すると、
図4は、本発明の別の実施形態による別の画像予測方法の概略流れ図である。
図4に示す例において、本発明の別の実施形態で提供される別の画像予測方法は以下のステップを含む。
【0154】
401.映像復号化装置が、現在の画像ブロックにおけるW個の制御点を決定する。
【0155】
402.映像復号化装置はW個の制御点の動きベクトルを決定する。
【0156】
映像復号化装置が、W個の制御点の動きベクトルを決定するステップは、W個の制御点の各々に対応する候補動き情報単位集合を決定するステップであって、各制御点に対応する候補動き情報単位
集合は少なくとも1つの候補動き情報単位を含む、ステップと、W個の動き情報単位を含む組み合わせ動き情報単位集合eを決定するステップであって、組み合わせ動き情報単位集合e内の各動き情報単位は、W個の制御点の各々に対応する候補動き情報単位集合内の少なくともいくつかの動き情報単位の中から選択され、組み合わせ動き情報単位集合e内の各組み合わせ動き情報単位は動きベクトルを含む、ステップと、W個の制御点の動きベクトルを取得するために組み合わせ動き情報単位集合e内のW個の動きベクトルに対して予測もしくは動き推定を行い、または組み合わせ動き情報単位集合eに含まれるW個の動きベクトルをW個の制御点の動きベクトルとして使用するステップと、を含むことができる。
【0157】
本発明のいくつかの可能な実施態様では、候補動き情報単位集合内の各動きベクトルの精度は画素精度の1/nとすることができる。
【0158】
403.映像復号化装置は、動きモデルとW個の制御点の動きベクトルとを用いて、計算により、現在の画像ブロックのP個の画素単位の動きベクトルを取得する。
【0159】
Pは正の整数であり、WおよびNは1より大きい整数である。
【0160】
P個の画素単位は現在の画像ブロックの画素単位の一部または全部である。
【0161】
P個の画素単位の各々の動きベクトルは、対応する画素単位の、基準画像における対応する基準画素単位を決定するのに用いられる。したがって、P個の画素単位の各々の動きベクトルは、対応する画素単位の、基準画像における対応する基準画素単位を決定するのに用いることができる。
【0162】
W個の制御点の決定された動きベクトルの精度は画素精度の1/nである。
【0163】
計算によって取得される、P個の画素単位の各々の動きベクトルの精度は画素精度の1/Nである。
【0164】
W、n、およびNは1より大きい整数である。
【0165】
Nはnより大きい。Pは正の整数である。
【0166】
Nはnより大きいため、計算によって取得される、P個の画素単位の各々の動きベクトルの精度は、W個の制御点の決定された動きベクトルの精度より高い。すなわち、現在の画像ブロックのP個の画素単位のより高精度の動きベクトルが取得される。
【0167】
本発明のいくつかの可能な実施態様では、W個の制御点の動きベクトルは、現在の画像ブロックを取り囲む符号化画像ブロックまたは復号化画像ブロックの、その精度が画素精度の1/nである動きベクトルに基づいて予測され、nは正の整数であり、nはNより小さい。
【0168】
本発明のいくつかの可能な実施態様では、W個の制御点の動きベクトルが予測値に基づくものである場合、予測値の精度も画素精度の1/nであり、制御点の、その精度が画素精度の1/nである動きベクトルと対応する予測値との差をビットストリームに書き込むことができる。
【0169】
本発明のいくつかの可能な実施態様では、動きモデルは、例えば、並進運動モデル、アフィン運動モデル、回転運動モデル、放物運動モデル、せん断運動モデル、ズーミング運動モデル、射影運動モデル、または双一次運動モデルとすることができる。
【0170】
例えば、本発明のいくつかの可能な実施態様では、Wが2に等しい場合、動きモデルは以下のように表すことができる。
【0172】
式中、Lは、現在の画像ブロックの幅または高さを表し、(ν
0x,ν
0y)と(ν
1x,ν
1y)とは、2つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0173】
別の例として、本発明のいくつかの可能な実施態様では、Wが3に等しい場合、動きモデルは以下のように表すことができる。
【0175】
式中、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表し、(ν
0x,ν
0y)と(ν
1x,ν
1y)と(ν
2x,ν
2y)とは、3つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、wは、現在の画像ブロックの幅を表し、hは、現在の画像ブロックの高さを表す。
【0176】
以上の例は、アフィン運動モデルを用いて説明される。並進運動モデル、回転運動モデル、せん断運動モデル、ズーミング運動モデル、射影運動モデル、放物運動モデル、双一次運動モデルなどが用いられる場合
、前述の例を参照することができる。ここでは詳細を繰り返さない。
【0177】
404.映像復号化装置は、P個の画素単位の各々の動きベクトルを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位を決定する。
【0178】
任意選択で、本発明のいくつかの可能な実施態様では、P個の画素単位の各々の動きベクトルを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位を決定するステップは、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の整数画素位置を取得するステップと、P個の画素単位の各々の動きベクトルを用いて、P個の画素単位の各々の整数画素位置に対応する基準画素単位を求めて基準画像をサーチするステップと、を含み、P個の画素単位の各々の整数画素位置に対応している、基準画像で見つかる基準画素単位は、P個の画素単位の各々の、基準画像における基準画素単位である。
【0179】
具体的には、例えば、画素単位iの整数画素位置が、P個の画素単位の画素単位iの動きベクトルを用いて計算によって取得され、基準画像が、画素単位iの動きベクトルを用いて、画素単位iの整数画素位置に対応する基準画素単位を求めてサーチされ、画素単位iの整数画素位置に対応している、基準画像で見つかる基準画素単位は、画素単位iの、基準画像における基準画素単位である。画素単位iは、P個の画素単位のうちの任意の1つとすることができる。例えば、P個の画素単位の各々の、基準画像における対応する基準画素単位は、画素単位iの、基準画像における基準画素単位を決定する方法と同様の方法で決定することができる。
【0180】
本発明のいくつかの可能な実施態様では、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の整数画素位置を取得するステップは、
P個の画素単位の各々の動きベクトルを用いて以下の式に従って、計算により、P個の画素単位の各々の整数画素位置を取得するステップ、を含む。
xInt=[ν
Nx/N]、またはxInt=ν
Nx≧M;
yInt=[ν
Ny/N]、またはyInt=ν
Ny≧M;
式中、Mは、Nが2の整数べきである場合log
2Nに等しく、(xInt,yInt)は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の整数画素位置座標を表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0181】
405.映像復号化装置は、P個の画素単位の各々の予測画素値を取得するために、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における基準画素単位の画素に対して補間フィルタリングを行う。
【0183】
本発明のいくつかの可能な実施態様では、Nの値は事前設定された固定値とすることができ、QはN以上とすることができる。Nの値を事前設定された固定値とすることができる場合、これは、動きモデルとW個の制御点の動きベクトルとを用いて計算により取得された、現在の画像ブロックのP個の画素単位の動きベクトルの精度が、現在の画像ブロックのサイズに不必要に関連していることを示している。言い換えると、例えば、本実施形態の解決策によれば、事前設定された固定精度を有する予測画素値を、低精度の補間フィルタリングを行うことによる低精度の予測画素値を取得するための中間プロセスなしで取得することができる。
【0184】
例えば、Wは、2、3、4、5、6、8、または別の値とすることができる。
【0185】
例えば、Pは、1、2、3、4、5、6、8、10、15、16、21、32、64または別の値とすることができる。
【0186】
例えば、Qは、128、9、18、24、256、8、10、15、16、21、32、64、または別の値とすることができる。
【0187】
例えば、Nは、128、9、18、24、256、8、10、15、16、21、32、64、または別の値とすることができる。
【0188】
例えば、nは、8、2、4、または別の値とすることができる
【0189】
本発明のいくつかの可能な実施態様では、Nは2の整数べきとすることもでき、あるいは当然ながら、Nは別の正の整数とすることもできる。
【0190】
本発明のいくつかの可能な実施態様では、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うステップは、
P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の位相を取得するステップと、各画素単位の位相に基づき、対応する画素単位に対応しているQの位相を有する補間フィルタを決定するステップであって、補間フィルタによって用いられるフィルタ係数は位相に対応している、ステップと、対応する画素単位に対応しているQの位相を有する決定された補間フィルタを用いて各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うステップと
を含む。
【0191】
具体的には、例えば、画素単位iの位相が、P個の画素単位の画素単位iの動きベクトルを用いて計算によって取得され、画素単位iに対応しているQの位相を有する補間フィルタが、画素単位iの位相に基づいて決定され、補間フィルタによって用いられるフィルタ係数は位相に対応しており、画素単位iに対応しているQの位相を有する決定された補間フィルタを用いて画素単位iの、基準画像における対応する基準画素単位の画素に対して補間フィルタリングが行われる。画素単位iは、P個の画素単位のうちの任意の1つとすることができる。例えば、補間フィルタリングは、画素単位iに対して補間フィルタリングを行う方法と同様の方法に従ってP個の画素単位の各々に対して行うことができる。
【0192】
本発明のいくつかの可能な実施態様では、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の位相を取得するステップは、P個の画素単位の各々の動きベクトルを用いて以下の式に従って、計算により、P個の画素単位の各々の位相を取得するステップ、を含む。
X’=abs(ν
Nx)%N、またはX’=ν
Nx&((1≦M)−1).
Y’=abs(ν
Ny)%N、またはY’=ν
Ny&((1≦M)−1).
式中、Mは、Nが2の整数べきである場合log
2Nに等しく、X’は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の水平位相を表し、Y’は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の垂直位相を表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0193】
任意選択で、本発明のいくつかの可能な実施態様では、位相は水平位相と垂直位相とを含み、各画素単位の位相に基づき
、画素単位に対応しているQの位相を有する補間フィルタを決定するステップは、各画素単位の水平位相に基づき、対応する画素単位に対応しているQの位相を有する水平補間フィルタを決定するステップと、各画素単位の垂直位相に基づき、対応する画素単位に対応しているQの位相を有する垂直補間フィルタを決定するステップと、を含み、水平補間フィルタによって用いられるフィルタ係数は水平位相に対応しており、垂直補間フィルタによって用いられるフィルタ係数は垂直位相に対応している。
【0194】
具体的には、例えば、画素単位iに対応しているQの位相を有する水平補間フィルタが、画素単位iの水平位相に基づいて決定され、画素単位iに対応しているQの位相を有する垂直補間フィルタが、画素単位iの垂直位相に基づいて決定され、水平補間フィルタによって用いられるフィルタ係数は画素単位iの水平位相に対応しており、垂直補間フィルタによって用いられるフィルタ係数は画素単位iの垂直位相に対応している。画素単位iは、P個の画素単位のうちの任意の1つとすることができる。例えば、P個の画素単位の各々に対応しているQの位相を有する補間フィルタは、画素単位iに対応しているQの位相を有する補間フィルタを決定する方法と同様の方法に従って決定することができる。
【0195】
任意選択で、本発明のいくつかの可能な実施態様では
、画素単位に対応しているQの位相を有する決定された補間フィルタを用いて各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うステップは、
水平補間フィルタリングの結果を取得するために、P個の画素単位のうちの任意の1つである画素単位iに対応しているQの位相を有する決定された水平補間フィルタを用いて画素単位iの、基準画像における対応する基準画素単位の画素に対して水平補間フィルタリングを行い、画素単位iの予測画素値を取得するために、画素単位iに対応しているQの位相を有する決定された垂直補間フィルタを用いて水平補間フィルタリングの結果に対して垂直補間フィルタリングを行うステップ、または
垂直補間フィルタリングの結果を取得するために、P個の画素単位のうちの任意の1つである画素単位jに対応しているQの位相を有する決定された垂直補間フィルタを用いて画素単位jの、基準画像における対応する基準画素単位の画素に対して垂直補間フィルタリングを行い、画素単位jの予測画素値を取得するために、画素単位jに対応しているQの位相を有する決定された水平補間フィルタを用いて
垂直補間フィルタリングの結果に対して水平補間フィルタリングを行うステップ
を含む。
【0196】
加えて、画素単位がただ1つの位相のみを有する(すなわち、水平位相または垂直位相のみを有する)場合には、画素単位の予測画素値を取得するために、画素単位の基準画素単位に対して補間フィルタリングを1回だけ行いさえすればよい。
【0197】
406.映像復号化装置は、現在の画像ブロックの予測画素値および現在の画像ブロックの、ビデオビットストリームにおける予測残差を用いて現在の画像ブロックを復元する。
【0198】
以上からわかるように、本実施形態の解決策では、映像復号化装置は、動きモデルと、W個の制御点の、その精度が画素精度の1/nである動きベクトルとを用いて、計算により、現在の画像ブロックの各画素単位の、その精度が画素精度の1/Nである動きベクトルを取得し、Nはnより大きい。言い換えると、計算によって取得される、現在の画像ブロックの各画素単位の動きベクトルの精度は、W個の制御点の決定された動きベクトルの精度より高い。高精度の動きベクトルがまず取得される。したがって、現在の画像ブロックの各画素単位の高精度の動きベクトルを用いて現在の画像ブロックの各画素単位の、基準画像における対応する基準画素単位が決定され、Qの位相を有する(Qはnより大きい)補間フィルタを用いて現在の画像ブロックの各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングが行われて、現在の画像ブロックの各画素単位の予測画素値が取得される。前述の方法は、予測によって、現在の画像ブロックの高精度の予測画素値を取得するのに必要な補間フィルタリングの回数を低減させるのに役立ち(例えば、低精度の補間フィルタリングを行うことによって低精度の予測画素値を取得するための中間プロセスが不要となる)、そのため、画像予測プロセスの間に補間フィルタリングに必要とされる中間キャッシュおよびメモリ動作の
量が低減し、画像予測プロセスの間の計算の複雑さが低減することがわかる。
【0199】
以下では、例を用いて、前述の実施形態におけるW個の動き情報単位を含む組み合わせ動き情報単位集合eを決定するいくつかの可能な具体的実施態様について説明する。
【0200】
W個の動き情報単位を含む組み合わせ動き情報単位集合eを決定するステップは、A個の候補組み合わせ動き情報単位集合の中から、W個の動き情報単位を含む組み合わせ動き情報単位集合eを決定するステップであって、A個の候補組み合わせ動き情報単位集合の各々に含まれる各動き情報単位は、W個の制御点の各々に対応する候補動き情報単位集合内の、制約条件を満たす少なくともいくつかの動き情報単位の中から選択され、Aは正の整数であり、A個の候補組み合わせ動き情報単位集合は相互に異なり、A個の候補組み合わせ動き情報単位集合の各々はW個の動き情報単位を含む、ステップ、を含む。
【0201】
任意選択で、本発明のいくつかの可能な実施態様では、A個の候補組み合わせ動き情報単位集合は、第1の条件、第2の条件、第3の条件、第4の条件、または第5の条件のうちの少なくとも1つを満たす。
【0202】
第1の条件は、現在の画像ブロックの、A個の候補組み合わせ動き情報単位集合のいずれか1つにおける動き情報単位によって示される動き方が非並進運動であること、を含む。
【0203】
第2の条件は、A個の候補組み合わせ動き情報単位集合のいずれか1つにおける2つの動き情報単位に対応する予測方向が同じであること、を含む。
【0204】
第3の条件は、A個の候補組み合わせ動き情報単位集合のいずれか1つにおける2つの動き情報単位に対応する参照フレームインデックスが同じであること、を含む。
【0205】
第4の条件は、A個の候補組み合わせ動き情報単位集合のいずれか1つにおける2つの動き情報単位の動きベクトルの水平成分間の差の絶対値が水平成分閾値以下であること、または制御点Zの動きベクトルと、A個の候補組み合わせ動き情報単位集合のいずれか1つにおける1つの動き情報単位の動きベクトルとの水平成分間の差の絶対値が水平成分閾値以下であり、現在の画像ブロックの制御点ZはW個の制御点のどの1つとも異なること、を含む。
【0206】
第5の条件は、A個の候補組み合わせ動き情報単位集合のいずれか1つにおける2つの動き情報単位の動きベクトルの垂直成分間の差の絶対値が垂直成分閾値以下であること、または制御点Zの動きベクトルと、A個の候補組み合わせ動き情報単位集合の1つにおける任意の動き情報単位の動きベクトルとの垂直成分間の差の絶対値が
垂直成分閾値以下であり、現在の画像ブロックの制御点ZはW個の制御点のどの1つとも異なること、を含む。
【0207】
任意選択で、本発明のいくつかの可能な実施態様では、映像符号化
/復号化装置がA個の候補組み合わせ動き情報単位集合の中から、W個の動き情報単位を含む組み合わせ動き情報単位集合eを決定するステップは、A個の候補組み合わせ動き情報単位集合の中から、歪みまたはレート歪みコストに基づいて、W個の動きベクトルを含む組み合わせ動き情報単位集合eを決定するステップ、を含む。
【0208】
任意選択で、組み合わせ動き情報単位集合eに対応するレート歪みコストは、A個の候補組み合わせ動き情報単位集合内の、組み合わせ動き情報単位集合e以外の任意の組み合わせ動き情報単位集合に対応するレート歪みコスト以下である。
【0209】
任意選択で、組み合わせ動き情報単位集合eに対応する歪みは、A個の候補組み合わせ動き情報単位集合内の、組み合わせ動き情報単位集合e以外の任意の組み合わせ動き情報単位集合に対応する歪み以下である。
【0210】
A個の候補組み合わせ動き情報単位集合の候補組み合わせ動き情報単位集合(例えば、A個の候補組み合わせ動き情報単位集合の組み合わせ動き情報単位集合e)に対応するレート歪みコストは、例えば、画像ブロック(例えば、現在の画像ブロック)の、候補組み合わせ動き情報単位集合(例えば、組み合わせ動き情報単位集合e)を用いて画像ブロックに対して行われる画素値予測によって取得される予測画素値に対応するレート歪みコストとすることができる。
【0211】
A個の候補組み合わせ動き情報単位集合の候補組み合わせ動き情報単位集合(例えば、A個の候補組み合わせ動き情報単位集合の組み合わせ動き情報単位集合e)に対応するレート歪みコストは、例えば、画像ブロック(例えば、現在の画像ブロック)の元の画素値と、画像ブロックの、候補組み合わせ動き情報単位集合(例えば、組み合わせ動き情報単位集合e)を用いて画像ブロックに対して行われる画素値予測によって取得される予測画素値との間の歪み(すなわち、画像ブロックの元の画素値と予測画素値との間の歪み)とすることができる。
【0212】
本発明のいくつかの可能な実施態様では、画像ブロック(例えば、現在の画像ブロック)の元の画素値と、画像ブロックの、候補組み合わせ動き情報単位集合(例えば、組み合わせ動き情報単位集合e)を用いて画像ブロックに対して行われる画素値予測によって取得される予測画素値との間の歪みは、具体的には例えば、差分二乗和(SSD)、差分絶対値の和(SAD)、差分和、または画像ブロック(例えば、現在の画像ブロック)の元の画素値と、画像ブロックの、候補組み合わせ動き情報単位集合(例えば、組み合わせ動き情報単位集合e)を用いて画像ブロックに対して行われる画素値予測によって取得される予測画素値との間の歪みを測定できる別の歪みパラメータ値とすることができる。
【0213】
以下では、例を用いて、現在の画像ブロックにおけるW個の制御点を決定するいくつかの可能な方法について説明する。
【0214】
任意選択で、本発明のいくつかの可能な実施態様では、W個の制御点は、現在の画像ブロックにおける左上制御点、右上制御点、左下制御点、および中心制御点a1のW個の制御点を含む。
【0215】
現在の画像ブロックの左上制御点は、現在の画像ブロックの左上頂点、または現在の画像ブロックの左上頂点を含む、現在の画像ブロック内の画素ブロックである。現在の画像ブロックの左下制御点は、現在の画像ブロックの左下頂点、または現在の画像ブロックの左下頂点を含む、現在の画像ブロック内の画素ブロックである。現在の画像ブロックの右上制御点は、現在の画像ブロックの右上頂点、または現在の画像ブロックの右上頂点を含む、現在の画像ブロック内の画素ブロックである。現在の画像ブロックの中心
制御点a1は、現在の画像ブロックの中心画素、または現在の画像ブロックの中心画素を含む、現在の画像ブロック内の画素ブロックである。
【0216】
任意選択で、本発明のいくつかの可能な実施態様では、現在の画像ブロックの左上制御点に対応する候補動き情報単位集合は、x1個の画素単位の動き情報単位を含む。x1個の画素単位は、現在の画像ブロックにおいて左上制御点に空間的に隣接する少なくとも1つの画素単位(例えば、
図2−bの
画像ブロックA、B、およびC)、および/または現在の画像ブロックにおいて左上制御点に時間的に隣接する少なくとも1つの画素単位を含み、x1は正の整数である。
【0217】
例えば、x1個の画素単位は、以下のうちの少なくとも1つを含む:その位置が現在の画像ブロックにおける左上制御点の位置と同じである、現在の画像ブロックが属するビデオフレームに時間的に隣接したビデオフレーム内の画素単位、現在の画像ブロックに空間的に隣接した、現在の画像ブロックの左側にある画素単位、現在の画像ブロックに空間的に隣接した、現在の画像ブロックの左上にある画素単位、または現在の画像ブロックに空間的に隣接した、現在の画像ブロックの上側にある画素単位。
【0218】
任意選択で、本発明のいくつかの可能な実施態様では、現在の画像ブロックの右上制御点に対応する候補動き情報単位集合は、x2個の画素単位を含む。x2個の画素単位は、現在の画像ブロックにおいて右上制御点に空間的に隣接する少なくとも1つの画素単位(例えば、
図2−bの
画像ブロックDおよびE)、および/または現在の画像ブロックにおいて右上制御点に時間的に隣接する少なくとも1つの画素単位を含み、x2は正の整数である。
【0219】
例えば、x2個の画素単位は、以下のうちの少なくとも1つを含む:その位置が現在の画像ブロックにおける右上制御点の位置と同じである、現在の画像ブロックが属するビデオフレームに時間的に隣接したビデオフレーム内の画素単位、現在の画像ブロックに空間的に隣接した、現在の画像ブロックの右側にある画素単位、現在の画像ブロックに空間的に隣接した、現在の画像ブロックの右上にある画素単位、または現在の画像ブロックに空間的に隣接した、現在の画像ブロックの上側にある画素単位。
【0220】
任意選択で、本発明のいくつかの可能な実施態様では、
現在の画像ブロックの左下制御点に対応する候補動き情報単位集合は、x3個の画素単位の動き情報単位を含む。x3個の画素単位は、現在の画像ブロックにおいて左下制御点に空間的に隣接する少なくとも1つの画素単位、および/または現在の画像ブロックにおいて左下制御点に時間的に隣接する少なくとも1つの画素単位を含み、x3は正の整数である。
【0221】
例えば、x3個の画素単位は、以下のうちの少なくとも1つを含む:その位置が現在の画像ブロックにおける左下制御点の位置と同じである、現在の画像ブロックが属するビデオフレームに時間的に隣接したビデオフレーム内の画素単位、現在の画像ブロックに空間的に隣接した、現在の画像ブロックの左側にある画素単位、現在の画像ブロックに空間的に隣接した、現在の画像ブロックの左下にある画素単位、または現在の画像ブロックに空間的に隣接した、現在の画像ブロックの下側にある画素単位。
【0222】
任意選択で、本発明のいくつかの可能な実施態様では、現在の画像ブロックの中心制御点a1に対応する候補動き情報単位集合は、x5個の画素単位の動き情報単位を含む。x5画素単位のうちの1つが画素単位a2である。
【0223】
現在の画像ブロックが属するビデオフレーム内の中心制御点a1の位置は、現在の画像ブロックが属するビデオフレームに隣接したビデオフレーム内の画素単位a2の位置と同じであり、x5は正の整数である。
【0224】
以下の表に、画素単位の位相とフィルタ係数との間の対応関係を示す。
【0225】
表1には、256のゲイン倍率を有する64位相補間フィルタのフィルタ係数と画素単位の位相との間の対応関係を示す。
【0226】
表2には、64のゲイン倍率を有する64位相補間フィルタのフィルタ係数と画素単位の位相との間の対応関係を示す。
【0229】
例えば、画素単位の水平位相がx=12であるとき、256のゲイン倍率を有する64位相補間フィルタを使用した場合、水平補間フィルタリングの結果Sは以下のように表すことができる。
S=((−2)×x
0+10×x
1+(−31)×x
2+239×x
2+52×x
4+(−17)×x
5+5×x
6+0×x
7)+offset)/256
【0230】
画素単位の予測画素値は、
水平補間フィルタリング結果Sを用いて取得することができ、式中、offsetは任意の整数とすることができる。
【0231】
以下では、いくつかの試験データを用いて、本発明の実施形態の解決策の技術的効果を提示する。
【0232】
表3および表4に、従来の解決策と本発明の実施形態の解決策との間のいくつかの試験性能の対比を示す。表3には、従来の解決策の試験性能を示し、表4には本発明のいくつかの実施形態の解決策の試験性能を示す。
【0235】
前述の2つの表間の対比からわかるように、本発明の実施形態の技術的解決策では、先行技術と比べて、符号化性能および復号化性能が大きく向上する。
【0236】
以下では、前述の解決策を実施するように構成された関連装置をさらに示す。
【0237】
図5を参照すると、本発明の一実施形態は画像予測装置500を提供し、画像予測装置500は、第1の決定部510と、計算部520と、補間フィルタリング部540とを含む。
【0238】
第1の決定部510は、現在の画像ブロックにおけるW個の制御点の動きベクトルを決定するように構成されている。
【0239】
計算部520は、動きモデルとW個の制御点の動きベクトルとを用いて、計算により、現在の画像ブロックのP個の画素単位の動きベクトルを取得するように構成されており、W個の制御点の決定された動きベクトルの精度は画素精度の1/nであり、計算によって取得される、P個の画素単位の各々の動きベクトルの精度は画素精度の1/Nであり、P個の画素単位は現在の画像ブロックの画素単位の一部または全部である。
【0240】
P個の画素単位の各々の動きベクトルは、対応する画素単位の、基準画像における対応する基準画素単位を決定するのに用いられる。W、n、およびNは1より大きい整数である。Nはnより大きい。Pは正の整数である。
【0241】
補間フィルタリング部540は、P個の画素単位の各々の予測画素値を取得するために、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における基準画素単位の画素に対して補間フィルタリングを行うように構成されている。
【0242】
画像予測装置500は、P個の画素単位の各々の動きベクトルを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位を決定するように構成された、第2の決定部530をさらに含んでいてよい。
【0243】
任意選択で、本発明のいくつかの可能な実施態様では、Nの値は事前設定された固定値であり、QはN以下である。
【0244】
任意選択で、本発明のいくつかの可能な実施態様では、W個の制御点の動きベクトルのうちの1つの水平成分もしくは垂直成分は、Nを用いて動きモデルにおいてN回増幅され、またはW個の制御点のうちの任意の2つの動きベクトル間の成分差は、Nを用いて動きモデルにおいてN回増幅される。
【0245】
任意選択で、本発明のいくつかの可能な実施態様では、
第2の決定部530は、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の整数画素位置を取得し、P個の画素単位の各々の動きベクトルを用いて、P個の画素単位の各々の整数画素位置に対応する基準画素単位を求めて基準画像をサーチする、ように特に構成されており、P個の画素単位の各々の整数画素位置に対応している、基準画像で見つかる基準画素単位は、P個の画素単位の各々の、基準画像における基準画素単位である。
【0246】
任意選択で、本発明のいくつかの可能な実施態様では、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の整数画素位置を取得する局面で、第2の決定部530は、
P個の画素単位の各々の動きベクトルを用いて以下の式に従って、計算により、P個の画素単位の各々の整数画素位置を取得する、ように特に構成されている。
xInt=[ν
Nx/N]、またはxInt=ν
Nx≧M;
yInt=[ν
Ny/N]、またはyInt=ν
Ny≧M;
式中、Mは、Nが2の整数べきである場合log
2Nに等しく、(xInt,yInt)は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の整数画素位置座標を表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0247】
任意選択で、本発明のいくつかの可能な実施態様では、
補間フィルタリング部は、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の位相を取得し、各画素単位の位相に基づき、対応する画素単位に対応しているQの位相を有する補間フィルタであって、位相に対応しているフィルタ係数を用いる補間フィルタを決定し、対応する画素単位に対応しているQの位相を有する決定された補間フィルタを用いて各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行う、ように特に構成されている。
【0248】
任意選択で、本発明のいくつかの可能な実施態様では、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の位相を取得する局面で、補間フィルタリング部は、P個の画素単位の各々の動きベクトルを用いて以下の式に従って、計算により、P個の画素単位の各々の位相を取得するように特に構成されている。
X’=abs(ν
Nx)%N、またはX’=ν
Nx&((1≦M)−1);
Y’=abs(ν
Ny)%N、またはY’=ν
Ny&((1≦M)−1);
式中、Mは、Nが2の整数べきである場合log
2Nに等しく、X’は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の水平位相を表し、Y’は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の垂直位相を表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0249】
任意選択で、本発明のいくつかの可能な実施態様では、位相は水平位相と垂直位相とを含み、
各画素単位の位相に基づき、対応する画素単位に対応しているQの位相を有する補間フィルタを決定する局面で、補間フィルタリング部は、各画素単位の水平位相に基づき、対応する画素単位に対応しているQの位相を有する水平補間フィルタを決定し、各画素単位の垂直位相に基づき、対応する画素単位に対応しているQの位相を有する垂直補間フィルタを決定する、ように特に構成されており、水平補間フィルタによって用いられるフィルタ係数は水平位相に対応しており、垂直補間フィルタによって用いられるフィルタ係数は垂直位相に対応している。
【0250】
任意選択で、本発明のいくつかの可能な実施態様では、対応する画素単位に対応しているQの位相を有する決定された補間フィルタを用いて各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行う局面で、補間フィルタリング部は、
水平補間フィルタリングの結果を取得するために、P個の画素単位のうちの任意の1つである画素単位iに対応しているQの位相を有する決定された水平補間フィルタを用いて画素単位iの、基準画像における対応する基準画素単位の画素に対して水平補間フィルタリングを行い、画素単位iの予測画素値を取得するために、画素単位iに対応しているQの位相を有する決定された垂直補間フィルタを用いて水平補間フィルタリングの結果に対して垂直補間フィルタリングを行い、または
垂直補間フィルタリングの結果を取得するために、P個の画素単位のうちの任意の1つである画素単位jに対応しているQの位相を有する決定された垂直補間フィルタを用いて画素単位jの、基準画像における対応する基準画素単位の画素に対して垂直補間フィルタリングを行い、画素単位jの予測画素値を取得するために、画素単位jに対応しているQの位相を有する決定された水平補間フィルタを用いて
垂直補間フィルタリングの結果に対して水平補間フィルタリングを行う、
ように特に構成されている。
【0251】
任意選択で、本発明のいくつかの可能な実施態様では、動きモデルは、並進運動モデル、アフィン運動モデル、回転運動モデル、ズーミング運動モデル、放物運動モデル、せん断運動モデル、射影運動モデル、または双一次運動モデルである。
【0252】
任意選択で、本発明のいくつかの可能な実施態様では、
Wが2に等しい場合、動きモデルは以下のように表される。
【0254】
式中、Lは、現在の画像ブロックの幅または高さを表し、(ν
0x,ν
0y)と(ν
1x,ν
1y)とは、2つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0255】
任意選択で、本発明のいくつかの可能な実施態様では、
Wが3に等しい場合、動きモデルは以下のように表される。
【0257】
式中、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表し、(ν
0x,ν
0y)と(ν
1x,ν
1y)と(ν
2x,ν
2y)とは、3つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、wは、現在の画像ブロックの幅を表し、hは、現在の画像ブロックの高さを表す。
【0258】
任意選択で、本発明のいくつかの可能な実施態様では、W個の制御点の動きベクトルは、現在の画像ブロックを取り囲む符号化画像ブロックまたは復号化画像ブロックの、その精度が画素精度の1/nである動きベクトルに基づいて予測される。
【0259】
任意選択で、本発明のいくつかの可能な実施態様では、画像予測装置500は映像符号化装置に適用され、または画像予測装置500は映像復号化装置に適用される。
【0260】
本実施形態の画像予測装置
500の機能モジュールの機能は、前述の方法実施形態の方法に従って具体的に実施されうることが理解されよう。画像予測装置
500の具体的な実現プロセスについては、前述の方法実施形態における関連説明を参照されたい。ここでは詳細を繰り返さない。画像予測装置
500は、映像を出力し、または再生する必要がある任意の装置、例えば、ノートブックコンピュータ、タブレットコンピュータ、パーソナルコンピュータ、携帯電話、または別の機器であってよい。
【0261】
本実施形
態では、画像予測装置500は、現在の画像ブロックの各画素単位の、動きモデルと、W個の制御点の、その精度が画素精度の1/nである動きベクトルとを用いて、計算により、その精度が画素精度の1/Nである動きベクトルを取得し、Nはnより大きいことがわかる。言い換えると、計算によって取得される、現在の画像ブロックの各画素単位の動きベクトルの精度は、W個の制御点の決定された動きベクトルの精度より高い。高精度の動きベクトルがまず取得される。したがって、現在の画像ブロックの各画素単位の高精度の動きベクトルを用いて現在の画像ブロックの各画素単位の、基準画像における対応する基準画素単位が決定され、Qの位相を有する(Qはnより大きい)補間フィルタを用いて現在の画像ブロックの各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングが行われて、現在の画像ブロックの各画素単位の予測画素値が取得される。前述の方法は、予測によって、現在の画像ブロックの高精度の予測画素値を取得するのに必要な補間フィルタリングの回数を低減させるのに役立ち(例えば、低精度の補間フィルタリングを行うことによって低精度の予測画素値を取得するための中間プロセスが不要となる)、そのため、画像予測プロセスの間に補間フィルタリングに必要とされる中間キャッシュおよびメモリ動作の
量が低減し、画像予測プロセスの間の計算の複雑さが低減することがわかる。
【0262】
図6を参照すると、
図6は、本発明の別の実施形態による画像予測装置600の構造ブロック図である。画像予測装置600は、少なくとも1つのプロセッサ601と、メモリ605と、少なくとも1つの通信バス602とを含む。通信バス602は、構成要素間の接続および通信を実現するように構成されている。
【0263】
画像予測装置600は、任意選択で、少なくとも1つのネットワークインターフェース604および/またはユーザインターフェース603を含んでいてもよいユーザインターフェース603には、ディスプレイ(例えば、ホログラフィックイメージング
装置、陰極線管、プロジェク
タ)、ポインティングデバイス(例えば、マウス、トラックボー
ル、タッチパネル、タッチスクリーン)、カメラ、および/または収音装置などを含むことができる。
【0264】
メモリ605は、読取り専用メモリおよびランダム・アクセス・メモリを含み、プロセッサ601のための命令およびデータを提供することができる。メモリ605の一部は、不揮発性ランダム・アクセス・メモリをさらに含んでいてよい。
【0265】
いくつかの実施態様では、メモリ605は、実行可能モジュールまたはデータ構造、それらのサブセット、またはそれらの拡張セットを含み、メモリ605は、
様々なシステムプログラムを含み、様々な基本サービスを実施し、ハードウェアベースのタスクを処理するように構成された、オペレーティングシステム6051と、
様々なアプリケーションプログラムを含み、様々なアプリケーションサービスを実施するように構成された、アプリケーション・プログラム・モジュール6052と
を含む。
【0266】
本発明の本実施形態では、メモリ605に記憶されているプログラムまたは命令を呼び出すことによって、プロセッサ601は、現在の画像ブロックにおけるW個の制御点の動きベクトルを決定し、動きモデルとW個の制御点の動きベクトルとを用いて、計算により、現在の画像ブロックのP個の画素単位の動きベクトルを取得する、ように構成され、W個の制御点の決定された動きベクトルの精度は画素精度の1/nであり、計算によって取得される、P個の画素単位の各々の動きベクトルの精度は画素精度の1/Nであり、P個の画素単位は現在の画像ブロックの画素単位の一部または全部であり、P個の画素単位の各々の動きベクトルは、対応する画素単位の、基準画像における対応する基準画素単位を決定するのに用いられ、W、n、およびNは1より大きい整数であり、Nはnより大きく、Pは正の整数であり、またプロセッサは、P個の画素単位の各々の予測画素値を取得するために、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うように構成され、Qはnより大きい整数である。
【0267】
任意選択で、本発明のいくつかの可能な実施態様では、Nの値は事前設定された固定値であり、QはN以下である。
【0268】
任意選択で、本発明のいくつかの可能な実施態様では、W個の制御点の動きベクトルのうちの1つの水平成分もしくは垂直成分は、Nを用いて動きモデルにおいてN回増幅され、またはW個の制御点のうちの任意の2つの動きベクトル間の成分差は、Nを用いて動きモデルにおいてN回増幅される。
【0269】
任意選択で、本発明のいくつかの可能な実施態様では、プロセッサが、P個の画素単位の各々の動きベクトルを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位を決定することは、
P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の整数画素位置を取得することと、P個の画素単位の各々の動きベクトルを用いて、P個の画素単位の各々の整数画素位置に対応する基準画素単位を求めて基準画像をサーチすることと、を含み、P個の画素単位の各々の整数画素位置に対応している、基準画像で見つかる基準画素単位は、P個の画素単位の各々の、基準画像における基準画素単位である。
【0270】
任意選択で、本発明のいくつかの可能な実施態様では、プロセッサが、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の整数画素位置を取得することは、
P個の画素単位の各々の動きベクトルを用いて以下の式に従って、計算により、P個の画素単位の各々の整数画素位置を取得すること、を含む。
xInt=[ν
Nx/N]、またはxInt=ν
Nx≧M;
yInt=[ν
Ny/N]、またはyInt=ν
Ny≧M;
式中、Mは、Nが2の整数べきである場合log
2Nに等しく、(xInt,yInt)は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の整数画素位置座標を表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0271】
任意選択で、本発明のいくつかの可能な実施態様では、プロセッサが、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における基準画素単位の画素に対して補間フィルタリングを行うことは、
P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の位相を取得することと、各画素単位の位相に基づき、対応する画素単位に対応しているQの位相を有する補間フィルタであって、位相に対応しているフィルタ係数を用いる補間フィルタを決定することと、対応する画素単位に対応しているQの位相を有する決定された補間フィルタを用いて各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うことと
を含む。
【0272】
任意選択で、本発明のいくつかの可能な実施態様では、プロセッサが、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の位相を取得することは、P個の画素単位の各々の動きベクトルを用いて以下の式に従って、計算により、P個の画素単位の各々の位相を取得すること、を含む。
X’=abs(ν
Nx)%N、またはX’=ν
Nx&((1≦M)−1);
Y’=abs(ν
Ny)%N、またはY’=ν
Ny&((1≦M)−1);
式中、Mは、Nが2の整数べきである場合log
2Nに等しく、X’は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の水平位相を表し、Y’は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の垂直位相を表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0273】
任意選択で、本発明のいくつかの可能な実施態様では、位相は水平位相と垂直位相とを含み、プロセッサが、各画素単位の位相に基づき
、画素単位に対応しているQの位相を有する補間フィルタを決定することは、各画素単位の水平位相に基づき、対応する画素単位に対応しているQの位相を有する水平補間フィルタを決定することと、各画素単位の垂直位相に基づき、対応する画素単位に対応しているQの位相を有する垂直補間フィルタを決定することとを含み、水平補間フィルタによって用いられるフィルタ係数は水平位相に対応しており、垂直補間フィルタによって用いられるフィルタ係数は垂直位相に対応している。
【0274】
任意選択で、本発明のいくつかの可能な実施態様では、プロセッサが
、画素単位に対応しているQの位相を有する決定された補間フィルタを用いて各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うことは、
水平補間フィルタリングの結果を取得するために、P個の画素単位のうちの任意の1つである画素単位iに対応しているQの位相を有する決定された水平補間フィルタを用いて画素単位iの、基準画像における対応する基準画素単位の画素に対して水平補間フィルタリングを行い、画素単位iの予測画素値を取得するために、画素単位iに対応しているQの位相を有する決定された垂直補間フィルタを用いて水平補間フィルタリングの結果に対して垂直補間フィルタリングを行うこと、または
垂直補間フィルタリングの結果を取得するために、P個の画素単位のうちの任意の1つである画素単位jに対応しているQの位相を有する決定された垂直補間フィルタを用いて画素単位jの、基準画像における対応する基準画素単位の画素に対して垂直補間フィルタリングを行い、画素単位jの予測画素値を取得するために、画素単位jに対応しているQの位相を有する決定された水平補間フィルタを用いて
垂直補間フィルタリングの結果に対して水平補間フィルタリングを行うこと
を含む。
【0275】
任意選択で、本発明のいくつかの可能な実施態様では、動きモデルは、並進運動モデル、アフィン運動モデル、回転運動モデル、放物運動モデル、せん断運動モデル、ズーミング運動モデル、射影運動モデル、または双一次運動モデルである。
【0276】
任意選択で、本発明のいくつかの可能な実施態様では、
Wが2に等しい場合、動きモデルは以下のように表される。
【0278】
式中、Lは、現在の画像ブロックの幅または高さを表し、(ν
0x,ν
0y)と(ν
1x,ν
1y)とは、2つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0279】
任意選択で、本発明のいくつかの可能な実施態様では、
Wが3に等しい場合、動きモデルは以下のように表される。
【0281】
式中、ν
Nxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表し、(ν
0x,ν
0y)と(ν
1x,ν
1y)と(ν
2x,ν
2y)とは、3つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、wは、現在の画像ブロックの幅を表し、hは、現在の画像ブロックの高さを表す。
【0282】
任意選択で、本発明のいくつかの可能な実施態様では、W個の制御点の動きベクトルは、現在の画像ブロックを取り囲む符号化画像ブロックまたは復号化画像ブロックの、その精度が画素精度の1/nである動きベクトルに基づいて予測される。
【0283】
任意選択で、本発明のいくつかの可能な実施態様では、Nの値は事前設定された固定値である。
【0284】
任意選択で、本発明のいくつかの可能な実施態様では、画像予測装置600は映像符号化装置に適用され、または画像予測装置600は映像復号化装置に適用される。
【0285】
本実施形態の画像予測装置600の機能モジュールの機能は、前述の方法実施形態の方法に従って具体的に実施されうることが理解されよう。画像予測装置600の具体的な実現プロセスについては、前述の方法実施形態における関連説明を参照されたい。ここでは詳細を繰り返さない。画像予測装置600は、映像を出力し、または再生する必要がある任意の装置、例えば、ノートブックコンピュータ、タブレットコンピュータ、パーソナルコンピュータ、携帯電話、または別の機器であってよい。
【0286】
本実施形態で提供される画像予測方法では、画像予測装置600は、現在の画像ブロックの各画素単位の、動きモデルと、W個の制御点の、その精度が画素精度の1/nである動きベクトルとを用いて、計算により、その精度が画素精度の1/Nである動きベクトルを取得し、Nはnより大きいことがわかる。言い換えると、計算によって取得される、現在の画像ブロックの各画素単位の動きベクトルの精度は、W個の制御点の決定された動きベクトルの精度より高い。高精度の動きベクトルがまず取得される。したがって、現在の画像ブロックの各画素単位の高精度の動きベクトルを用いて現在の画像ブロックの各画素単位の、基準画像における対応する基準画素単位が決定され、Qの位相を有する(Qはnより大きい)補間フィルタを用いて現在の画像ブロックの各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングが行われて、現在の画像ブロックの各画素単位の予測画素値が取得される。前述の方法は、予測によって、現在の画像ブロックの高精度の予測画素値を取得するのに必要な補間フィルタリングの回数を低減させるのに役立ち(例えば、低精度の補間フィルタリングを行うことによって低精度の予測画素値を取得するための中間プロセスが不要となる)、そのため、画像予測プロセスの間に補間フィルタリングに必要とされる中間キャッシュおよびメモリ動作の
量が低減し、画像予測プロセスの間の計算の複雑さが低減することがわかる。
【0287】
前述の各実施形態において、各実施形態の記述にはそれぞれの視点がある。ある実施形態で詳細に記載されていない部分については、他の実施形態の関連説明を参照されたい。
【0288】
本出願で提供されるいくつかの実施形態では、開示の装置を他のやり方で実現することもできることを理解されたい。例えば、説明した装置実施形態は単なる例にすぎない。例えば、ユニット分割は単なる論理的機能分割にすぎず、実際の実装に際しては他の分割とすることもできる。例えば、複数のユニットまたはコンポーネントを組み合わせ、または統合して別のシステムとする場合もあり、いくつかの特徴を無視し、または実行しない場合もある。加えて、図示の、または上述の相互結合または直接結合または通信接続を、いくつかのインターフェースを使用して実現することもできる。装置間またはユニット間の間接結合または通信接続は、電子的形態、または他の形態として実現することができる。
【0289】
別々の部品として記述されたユニットは物理的に分離している場合もそうではない場合もあり、ユニットとして図示された部品は物理的ユニットである場合もそうではない場合もあり、一箇所に位置する場合もあり、複数のネットワークユニット上に分散される場合もある。ユニットの一部または全部を、各実施形態の解決策の目的を達成するための実際の要件に従って選択することもできる。
【0290】
加えて、本発明の実施形態における機能ユニットを1つの処理ユニットに統合することもでき、ユニットの各々が物理的に独立して存在していてもよく、または少なくとも2つのユニットを1つのユニットに統合することもできる。統合ユニットはハードウェアの形態で実現することもでき、ソフトウェア機能ユニットの形態で実現することもできる。
【0291】
統合ユニットがソフトウェア機能ユニットの形態で実現され、独立した製品として販売または使用される場合、その統合ユニットはコンピュータ可読記憶媒体に記憶されていてよい。そうした理解に基づき、本発明の技術解決策を本質的に、または先行技術に寄与する部分を、または技術解決策の全部もしくは一部を、ソフトウェア製品の形態で実現することもできる。コンピュータソフトウェア製品は記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワークデバイスなどとすることができる)に、本発明の実施形態において記述されている方法のステップの全部または一部を実行するよう命令するためのいくつかの命令を含む。前述の記憶媒体は、USBフラッシュドライブ、読取り専用メモリ(ROM、Read−Only Memory)、ランダム・アクセス・メモリ(RAM、Random Access Memory)、リムーバブル・ハード・ディスク、磁気ディスク、光ディスクといった、プログラムコードを記憶することができる任意の媒体を含む。
【0292】
前述の実施形態は、単に本発明の技術的解決策を説明するためのものにすぎず、本発明を限定するためのものではない。本発明は前述の実施形態に関連して詳細に説明されているが、当業者は、本発明の実施形態の技術的解決策の範囲を逸脱することなく、前述の実施形態で記述されている技術的解決策にさらに改変を加え、または前述の実施形態のいくつかの技術的特徴に対する等価の置換を行うことができることを理解するはずである。