(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-19
(45)【発行日】2024-09-30
(54)【発明の名称】画像予測方法および関連装置
(51)【国際特許分類】
H04N 19/59 20140101AFI20240920BHJP
H04N 19/513 20140101ALI20240920BHJP
H04N 19/54 20140101ALI20240920BHJP
【FI】
H04N19/59
H04N19/513
H04N19/54
【外国語出願】
(21)【出願番号】P 2023133093
(22)【出願日】2023-08-17
(62)【分割の表示】P 2021212784の分割
【原出願日】2016-06-29
【審査請求日】2023-09-19
(31)【優先権主張番号】201510391765.7
(32)【優先日】2015-07-03
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【氏名又は名称】野村 進
(72)【発明者】
【氏名】林 四新
(72)【発明者】
【氏名】黄 若普
(72)【発明者】
【氏名】▲楊▼ ▲海▼涛
【審査官】岩井 健二
(56)【参考文献】
【文献】特開2012-010313(JP,A)
【文献】Satoru Sakazume, et al.,Description of video coding technology proposal by JVC,JCTVC-A108,2010年04月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,IEEE,2013年10月,Vol.23, No.10,pp.1651 - 1660
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
現在の画像ブロックにおけるW個の制御点の動きベクトルを決定するステップであって、前記W個の制御点の前記動きベクトルは、画素精度の1/nの精度の予測子と、画素精度の1/nの精度との動きベクトルの差とに基づくものである、ステップと、
動きモデルと前記W個の制御点の前記動きベクトルとを用いて、計算により、前記現在の画像ブロックのP個の画素単位の動きベクトルを取得するステップであって、前記W個の制御点の前記決定された動きベクトルの精度が画素精度の1/nであり、計算によって取得される、前記P個の画素単位の各々の前記動きベクトルの精度は前記画素精度の1/Nであり、前記P個の画素単位は前記現在の画像ブロックの画素単位の一部または全部であり、前記P個の画素単位の各々の前記動きベクトルは、対応する画素単位の、基準画像における対応する基準画素単位を決定するのに用いられ、W、n、およびNは1より大きい整数であり、Nはnより大きく、n=4であり、また、N=16であり、かつ、Pは正の整数である、ステップと、
前記P個の画素単位の各々の前記動きベクトルに従って前記対応する基準画素単位を決定するステップと、
前記P個の画素単位の各々の予測画素値を取得するために、Q個の位相を有する補間フィルタを用いて前記P個の画素単位の各々の、前記基準画像における前記対応する基準画素単位の画素に対して補間フィルタリングを行うステップであって、Qはnより大きい整数であり、Q=N=16である、ステップと、を含む、画像予測方法。
【請求項2】
動きモデルと前記W個の制御点の前記動きベクトルとを用いて、計算により、前記現在の画像ブロックのP個の画素単位の動きベクトルを取得する前記ステップが、前記W個の制御点の前記動きベクトルのうちの1つの水平成分もしくは垂直成分が前記Nを用いて前記動きモデルにおいてN/n回増幅され、または前記W個の制御点のうちの任意の2つの動きベクトル間の成分差がNを用いて前記動きモデルにおいてN/n回増幅される、ことを含む、請求項1に記載の方法。
【請求項3】
Q個の位相を有する補間フィルタを用いて前記P個の画素単位の各々の、前記基準画像における前記対応する基準画素単位の画素に対して補間フィルタリングを行う前記ステップは、
前記P個の画素単位の各々の前記動きベクトルを用いて、計算により、前記P個の画素単位の各々の位相を取得するステップと、各画素単位の前記位相に基づき、前記画素単位に対応している前記補間フィルタを決定するステップであって、前記補間フィルタによって用いられる
フィルタ係数は前記位相に対応している、ステップと、前記対応する画素単位に対応している前記決定された補間フィルタを用いて各画素単位の、前記基準画像における前記対応する基準画素単位の前記画素に対して補間フィルタリングを行うステップと
を含む、請求項1または2に記載の方法。
【請求項4】
前記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である前記動きベクトルの垂直成分を表す、請求項3に記載の方法。
【請求項5】
前記位相は水平位相と垂直位相とを含み、各画素単位の前記位相に基づき、前記画素単位に対応している前記補間フィルタを決定する前記ステップは、各画素単位の前記水平位相に基づき、前記対応する画素単位に対応している水平補間フィルタを決定するステップと、各画素単位の前記垂直位相に基づき、前記対応する画素単位に対応している垂直補間フィルタを決定するステップと、を含み、前記水平補間フィルタによって用いられるフィルタ係数は前記水平位相に対応しており、前記垂直補間フィルタによって用いられるフィルタ係数は前記垂直位相に対応している、請求項3または4に記載の方法。
【請求項6】
前記画素単位に対応している前記決定された補間フィルタを用いて各画素単位の、前記基準画像における前記対応する基準画素単位の前記画素に対して補間フィルタリングを行う前記ステップは、
水平補間フィルタリングの結果を取得するために、画素単位iに対応している決定された水平補間フィルタを用いて前記画素単位iの、前記基準画像における対応する基準画素単位の画素に対して水平補間フィルタリングを行い、前記画素単位iの予測画素値を取得するために、前記画素単位iに対応している決定された垂直補間フィルタを用いて前記水平補間フィルタリングの結果に対して垂直補間フィルタリングを行うステップであって、前記画素単位iが前記P個の画素単位のうちの任意の1つである、ステップ、または
垂直補間フィルタリングの結果を取得するために、画素単位jに対応している決定された垂直補間フィルタを用いて前記画素単位jの、前記基準画像における対応する基準画素単位の画素に対して垂直補間フィルタリングを行い、前記画素単位jの予測画素値を取得するために、前記画素単位jに対応している決定された水平補間フィルタを用いて前記垂直補間フィルタリングの結果に対して水平補間フィルタリングを行うステップであって、前記画素単位jが前記P個の画素単位のうちの任意の1つである、ステップ
を含む、請求項5に記載の方法。
【請求項7】
前記動きモデルは、並進運動モデル、アフィン運動モデル、回転運動モデル、放物運動モデル、せん断運動モデル、ズーミング運動モデル、射影運動モデル、または双一次運動モデルである、請求項1から6のいずれか一項に記載の方法。
【請求項8】
Wが2に等しい場合、前記動きモデルは以下のように表され、
【数1】
式中、Lは、前記現在の画像ブロックの幅または高さを表し、(ν
0x,ν
0y)と(ν
1x,ν
1y)とは、2つの制御点の、その精度が前記画素精度の1/nである動きベクトルを表し、ν
Nxは、前記現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が前記画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の、その精度が前記画素精度の1/Nである前記動きベクトルの垂直成分を表す、請求項1から7のいずれか一項に記載の方法。
【請求項9】
Wが3に等しい場合、前記動きモデルは以下のように表され、
【数2】
式中、νNxは、前記現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が前記画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の、その精度が前記画素精度の1/Nである前記動きベクトルの垂直成分を表し、(ν
0x,ν
0y)と(ν
1x,ν
1y)と(ν
2x,ν
2y)とは、3つの制御点の、その精度が前記画素精度の1/nである動きベクトルを表し、wは、前記現在の画像ブロックの幅を表し、hは、前記現在の画像ブロックの高さを表す、請求項1から7のいずれか一項に記載の方法。
【請求項10】
前記W個の制御点の前記動きベクトルは、前記現在の画像ブロックを取り囲む符号化画像ブロックまたは復号化画像ブロックの、その精度が前記画素精度の1/nである動きベクトルに基づいて予測される、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記画像予測方法が映像符号化処理に適用され、もしくは、映像復号化処理に適用される、請求項1から10のいずれか一項に記載の方法。
【請求項12】
現在の画像ブロックにおけるW個の制御点の動きベクトルを決定するように構成された、第1の決定部であって、前記W個の制御点の前記動きベクトルは、画素精度の1/nの精度の予測子と、画素精度の1/nの精度との動きベクトルの差とに基づくものである、第1の決定部と、
動きモデルと前記W個の制御点の前記動きベクトルとを用いて、計算により、前記現在の画像ブロックのP個の画素単位の動きベクトルを取得するように構成された計算部であって、前記W個の制御点の前記決定された動きベクトルの精度は前記画素精度の1/nであり、計算によって取得される、前記P個の画素単位の各々の前記動きベクトルの精度は前記画素精度の1/Nであり、前記P個の画素単位は前記現在の画像ブロックの画素単位の一部または全部であり、前記P個の画素単位の各々の前記動きベクトルは、対応する画素単位の、基準画像における対応する基準画素単位を決定するのに用いられ、W、n、およびNは1より大きい整数であり、Nはnより大きく、n=4であり、また、N=16であり、かつ、Pは正の整数である、計算部と、
前記P個の画素単位の各々の前記動きベクトルに従って前記対応する基準画素単位を決定するように構成された、第2の決定部と、
前記P個の画素単位の各々の予測画素値を取得するために、補間フィルタを用いて前記P個の画素単位の各々の、前記基準画像における前記対応する基準画素単位の画素に対して補間フィルタリングを行うように構成された補間フィルタリング部であって、Qはnより大きい整数であり、Q=N=16である、補間フィルタリング部と、
を含む、画像予測装置。
【請求項13】
前記計算部が、前記W個の制御点の前記動きベクトルのうちの1つの水平成分もしくは垂直成分がNを用いて前記動きモデルにおいてN/n回増幅され、または前記W個の制御点のうちの任意の2つの動きベクトル間の成分差がNを用いて前記動きモデルにおいてN/n回増幅される、ように構成された、請求項12に記載の画像予測装置。
【請求項14】
前記補間フィルタリング部は、前記P個の画素単位の各々の前記動きベクトルを用いて、計算により、前記P個の画素単位の各々の位相を取得し、各画素単位の前記位相に基づき、前記対応する画素単位に対応している前記補間フィルタを決定し、前記補間フィルタによって用いられるフィルタ係数は前記位相に対応しており、前記対応する画素単位に対応している前記決定された補間フィルタを用いて各画素単位の、前記基準画像における前記対応する基準画素単位の前記画素に対して補間フィルタリングを行う、ように特に構成されている、
請求項12または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の整数べきである場合log
2Nに等しく、X’は、前記現在の画像ブロックにおいて(x,y)の座標を有する画素単位の水平位相を表し、Y’は、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の垂直位相を表し、ν
Nxは、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の、その精度が前記画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の、その精度が前記画素精度の1/Nである前記動きベクトルの垂直成分を表す、
請求項14に記載の画像予測装置。
【請求項16】
前記位相は水平位相と垂直位相とを含み、
各画素単位の前記位相に基づき、前記対応する画素単位に対応している前記補間フィルタを決定する局面で、前記補間フィルタリング部は、各画素単位の前記水平位相に基づき、前記対応する画素単位に対応している水平補間フィルタを決定し、各画素単位の前記垂直位相に基づき、前記対応する画素単位に対応している垂直補間フィルタを決定する、ように特に構成されており、前記水平補間フィルタによって用いられるフィルタ係数は前記水平位相に対応しており、前記垂直補間フィルタによって用いられるフィルタ係数は前記垂直位相に対応している、請求項14または15に記載の画像予測装置。
【請求項17】
前記対応する画素単位に対応している前記決定された補間フィルタを用いて各画素単位の、前記基準画像における前記対応する基準画素単位の前記画素に対して補間フィルタリングを行う局面で、前記補間フィルタリング部は、
水平補間フィルタリングの結果を取得するために、画素単位iに対応している決定された水平補間フィルタを用いて前記画素単位iの、前記基準画像における対応する基準画素単位の画素に対して水平補間フィルタリングを行い、前記画素単位iの予測画素値を取得するために、前記画素単位iに対応している決定された垂直補間フィルタを用いて前記水平補間フィルタリングの結果に対して垂直補間フィルタリングを行い、前記画素単位iが前記P個の画素単位のうちの任意の1つであり、または
垂直補間フィルタリングの結果を取得するために、画素単位jに対応している決定された垂直補間フィルタを用いて前記画素単位jの、前記基準画像における対応する基準画素単位の画素に対して垂直補間フィルタリングを行い、前記画素単位jの予測画素値を取得するために、前記画素単位jに対応している決定された水平補間フィルタを用いて前記垂直補間フィルタリングの結果に対して水平補間フィルタリングを行い、前記画素単位jが前記P個の画素単位のうちの任意の1つである
ように特に構成されている、請求項16に記載の画像予測装置。
【請求項18】
前記動きモデルは、並進運動モデル、アフィン運動モデル、回転運動モデル、ズーミング運動モデル、放物運動モデル、せん断運動モデル、射影運動モデル、または双一次運動モデルである、請求項12から17のいずれか一項に記載の画像予測装置。
【請求項19】
Wが2に等しい場合、前記動きモデルは以下のように表され、
【数3】
式中、Lは、前記現在の画像ブロックの幅または高さを表し、(ν
0x,ν
0y)と(ν
1x,ν
1y)とは、2つの制御点の、その精度が前記画素精度の1/nである動きベクトルを表し、ν
Nxは、前記現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が前記画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の、その精度が前記画素精度の1/Nである前記動きベクトルの垂直成分を表す、請求項12から18のいずれか一項に記載の画像予測装置。
【請求項20】
Wが3に等しい場合、前記動きモデルは以下のように表され、
【数4】
式中、ν
Nxは、前記現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が前記画素精度の1/Nである動きベクトルの水平成分を表し、ν
Nyは、前記現在の画像ブロックにおいて前記(x,y)の座標を有する前記画素単位の、その精度が前記画素精度の1/Nである前記動きベクトルの垂直成分を表し、(ν
0x,ν
0y)と(ν
1x,ν
1y)と(ν
2x,ν
2y)とは、3つの制御点の、その精度が前記画素精度の1/nである動きベクトルを表し、wは、前記現在の画像ブロックの幅を表し、hは、前記現在の画像ブロックの高さを表す、請求項12から18のいずれか一項に記載の画像予測装置。
【請求項21】
前記W個の制御点の前記動きベクトルは、前記現在の画像ブロックを取り囲む符号化画像ブロックまたは復号化画像ブロックの、その精度が前記画素精度の1/nである動きベクトルに基づいて予測される、請求項12から20のいずれか一項に記載の画像予測装置。
【請求項22】
前記画像予測装置が映像符号化装置に適用され、もしくは、前記画像予測装置が映像復号化装置に適用される、請求項12から21のいずれか一項に記載の画像予測装置。
【請求項23】
コンピュータに請求項1から10のいずれか一項に記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像符号化および映像復号化の分野に関し、詳細には、画像予測方法および関連装置に関する。
【背景技術】
【0002】
光電子収集技術が発達し、高精細度デジタルビデオの要件が高まるにつれて、ビデオデータ量もますます大きくなっている。異種伝送帯域幅には限りがあり、映像アプリケーションが多様化しているために、映像符号化効率にはより高い要件が課される。この場合、必要に応じて高効率映像符号化(英語:high efficient video coding、略称:HEVC)規格の策定が開始される。
【0003】
映像符号化圧縮の基本原理は、空間領域と時間領域と符号語との相関を用いて冗長性を可能な限り除去することである。目下、一般的な手法では、ブロックベースのハイブリッド映像符号化フレームワークを用いて、予測(フレーム内予測およびフレーム間予測を含む)、変換、量子化、エントロピー符号化などのステップによって映像符号化圧縮を実現している。この符号化フレームワークは強力であり、ブロックベースのハイブリッド映像符号化フレームワークはHEVCにも用いられる。
【0004】
様々な映像符号化/復号化方式において、動き推定/動き補償は、符号化/復号化性能に影響を及ぼす重要な技術である。多くの既存の映像符号化/復号化方式では、オブジェクトの動きが並進運動モデルの要件を満たし、オブジェクト全体の様々な部分が同じ動きをするものと一般に仮定される。既存の動き推定/動き補償アルゴリズムは、基本的に、並進運動モデル(英語:translational motion model)に基づくブロックベースの動き補償アルゴリズムである。既存のフレーム間予測は、主として、並進運動モデルに基づくブロックベースの動き補償(英語:motion compensation)予測である。非並進運動用に設計されたいくつかの非並進運動モデル(例えば、アフィン運動モデル)が次第に浮上してきている。
【0005】
アフィン運動モデルに基づく予測機構では、現在の画像ブロックの低精度の予測画素値を取得するように、現在の画像ブロックにおける2つの制御点の低精度の動きベクトルとアフィン運動モデルとを用いて先行技術における画素値予測が行われる。画素値予測のプロセスにおいては、補間フィルタを用いて補間フィルタリング操作を行う必要がある。現在の画像ブロックの取得される予測画素値の精度は2つの制御点の動きベクトルの精度と同じである。現在の画像ブロックの高精度の予測画素値を取得する必要がある場合には、現在の画像ブロックの取得された低精度の予測画素値に対して2次補間フィルタリングを行うために双一次補間フィルタがさらに必要である。
【0006】
先行技術では、2つの制御点の低精度の動きベクトルとアフィン運動モデルとを用いて、現在の画像ブロックの高精度の予測画素値を取得する場合、少なくとも2回の補間フィルタリング操作を行う必要がある(比較的大容量の中間キャッシュとメモリ動作が補間フィルタリング操作ごとに必要である)。その結果、比較的大容量の中間キャッシュとメモリ動作が、画像予測プロセス全体において必要になり、計算の複雑さが相対的に高まる。
【発明の概要】
【課題を解決するための手段】
【0007】
本発明の実施形態は、画像予測プロセスの間に補間フィルタリングに必要とされる中間キャッシュの量およびメモリ動作を低減させ、画像予測プロセスの間の計算の複雑さを低減させるために、画像予測方法および関連装置を提供する。
【0008】
本発明の実施形態の第1の態様は画像予測方法を提供し、本画像予測方法は、
現在の画像ブロックにおけるW個の制御点の動きベクトルを決定するステップと、
動きモデルとW個の制御点の動きベクトルとを用いて、計算により、現在の画像ブロックのP個の画素単位の動きベクトルを取得するステップであって、W個の制御点の決定された動きベクトルの精度は画素精度の1/nであり、計算によって取得される、P個の画素単位の各々の動きベクトルの精度は画素精度の1/Nであり、P個の画素単位は現在の画像ブロックの画素単位の一部または全部であり、P個の画素単位の各々の動きベクトルは、対応する画素単位の、基準画像における対応する基準画素単位を決定するのに用いられ、W、n、およびNは1より大きい整数であり、Nはnより大きく、Pは正の整数である、ステップと、
P個の画素単位の各々の予測画素値を取得するために、Qの位相を有する補間フィルタを用いて、P個の画素単位の各々の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うステップであって、Qはnより大きい整数である、ステップと
を含む。
【0009】
第1の態様に関連して、第1の態様の第1の可能な実施態様において、Nの値は事前設定された固定値であり、QはN以下である。
【0010】
第1の態様または第1の態様の第1の可能な実施態様に関連して、第1の態様の第2の可能な実施態様において、W個の制御点の動きベクトルのうちの1つの水平成分もしくは垂直成分は、Nを用いて動きモデルにおいてN回増幅され、またはW個の制御点のうちの任意の2つの動きベクトル間の成分差は、Nを用いて動きモデルにおいてN回増幅される。
【0011】
第1の態様、第1の態様の第1の可能な実施態様または第1の態様の第2の可能な実施態様に関連して、第1の態様の第3の可能な実施態様において、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うステップは、
P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の位相を取得するステップと、各画素単位の位相に基づき、対応する画素単位に対応しているQの位相を有する補間フィルタを決定するステップであって、補間フィルタによって用いられるフィルタ係数は位相に対応している、ステップと、対応する画素単位に対応しているQの位相を有する決定された補間フィルタを用いて各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うステップと
を含む。
【0012】
第1の態様の第3の可能な実施態様に関連して、第1の態様の第4の可能な実施態様において、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である動きベクトルの垂直成分を表す。
【0013】
第1の態様の第3の可能な実施態様または第1の態様の第4の可能な実施態様に関連して、第1の態様の第5の可能な実施態様において、位相は水平位相と垂直位相とを含み、各画素単位の位相に基づき、対応する画素単位に対応しているQの位相を有する補間フィルタを決定するステップは、各画素単位の水平位相に基づき、対応する画素単位に対応しているQの位相を有する水平補間フィルタを決定するステップと、各画素単位の垂直位相に基づき、対応する画素単位に対応しているQの位相を有する垂直補間フィルタを決定するステップと、を含み、水平補間フィルタによって用いられるフィルタ係数は水平位相に対応しており、垂直補間フィルタによって用いられるフィルタ係数は垂直位相に対応している。
【0014】
第1の態様の第5の可能な実施態様に関連して、第1の態様の第6の可能な実施態様において、対応する画素単位に対応しているQの位相を有する決定された補間フィルタを用いて各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うステップは、
水平補間フィルタリングの結果を取得するために、画素単位iに対応しているQの位相を有する決定された水平補間フィルタを用いて画素単位iの、基準画像における対応する基準画素単位の画素に対して水平補間フィルタリングを行い、画素単位iの予測画素値を取得するために、画素単位iに対応しているQの位相を有する決定された垂直補間フィルタを用いて水平補間フィルタリングの結果に対して垂直補間フィルタリングを行うステップであって、画素単位iがP個の画素単位のうちの任意の1つである、ステップ、または
垂直補間フィルタリングの結果を取得するために、画素単位jに対応しているQの位相を有する決定された垂直補間フィルタを用いて画素単位jの、基準画像における対応する基準画素単位の画素に対して垂直補間フィルタリングを行い、画素単位jの予測画素値を取得するために、画素単位jに対応しているQの位相を有する決定された水平補間フィルタを用いて水平補間フィルタリングの結果に対して水平補間フィルタリングを行うステップであって、画素単位jがP個の画素単位のうちの任意の1つである、ステップ
を含む。
【0015】
第1の態様、または第1の態様の第1から第6の可能な実施態様のいずれか1つに関連して、第1の態様の第7の可能な実施態様において、動きモデルは、並進運動モデル、アフィン運動モデル、回転運動モデル、放物運動モデル、せん断運動モデル、ズーミング運動モデル、射影運動モデル、または双一次運動モデルである。
【0016】
第1の態様、または第1の態様の第1から第7の可能な実施態様のいずれか1つに関連して、第1の態様の第8の可能な実施態様において、Wが2に等しい場合、動きモデルは以下のように表される。
【0017】
【0018】
式中、Lは、現在の画像ブロックの幅または高さを表し、(ν0x,ν0y)と(ν1x,ν1y)とは、2つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、νNxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0019】
第1の態様、または第1の態様の第1から第7の可能な実施態様のいずれか1つに関連して、第1の態様の第9の可能な実施態様において、Wが3に等しい場合、動きモデルは以下のように表される。
【0020】
【0021】
式中、νNxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表し、(ν0x,ν0y)と(ν1x,ν1y)と(ν2x,ν2y)とは、3つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、wは、現在の画像ブロックの幅を表し、hは、現在の画像ブロックの高さを表す。
【0022】
第1の態様、または第1の態様の第1から第9の可能な実施態様のいずれか1つに関連して、第1の態様の第10の可能な実施態様において、W個の制御点の動きベクトルは、現在の画像ブロックを取り囲む符号化画像ブロックまたは復号化画像ブロックの、その精度が画素精度の1/nである動きベクトルに基づいて予測される。
【0023】
第1の態様、または第1の態様の第1から第10の可能な実施態様のいずれか1つに関連して、第1の態様の第11の可能な実施態様において、本画像予測方法は、映像符号化プロセスに適用され、または映像復号化プロセスに適用される。
【0024】
本発明の実施形態の第2の態様は画像予測装置を提供し、本画像予測装置は、
現在の画像ブロックにおけるW個の制御点の動きベクトルを決定するように構成された、第1の決定部と、
動きモデルとW個の制御点の動きベクトルとを用いて、計算により、現在の画像ブロックのP個の画素単位の動きベクトルを取得するように構成された計算部であって、W個の制御点の決定された動きベクトルの精度は画素精度の1/nであり、計算によって取得される、P個の画素単位の各々の動きベクトルの精度は画素精度の1/Nであり、P個の画素単位は現在の画像ブロックの画素単位の一部または全部であり、P個の画素単位の各々の動きベクトルは、対応する画素単位の、基準画像における対応する基準画素単位を決定するのに用いられ、W、n、およびNは1より大きい整数であり、Nはnより大きく、Pは正の整数である、計算部と、
P個の画素単位の各々の予測画素値を取得するために、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うように構成された補間フィルタリング部であって、Qはnより大きい整数である、補間フィルタリング部と
を含む。
【0025】
第2の態様に関連して、第2の態様の第1の可能な実施態様において、Nの値は事前設定された固定値であり、QはN以下である。
【0026】
第2の態様または第2の態様の第1の可能な実施態様に関連して、第2の態様の第2の可能な実施態様において、W個の制御点の動きベクトルのうちの1つの水平成分もしくは垂直成分は、Nを用いて動きモデルにおいてN回増幅され、またはW個の制御点のうちの任意の2つの動きベクトル間の成分差は、Nを用いて動きモデルにおいてN回増幅される。
【0027】
第2の態様、第2の態様の第1の可能な実施態様または第2の態様の第2の可能な実施態様に関連して、第2の態様の第3の可能な実施態様において、補間フィルタリング部は、P個の画素単位の各々の動きベクトルを用いて、計算により、P個の画素単位の各々の位相を取得し、各画素単位の位相に基づき、対応する画素単位に対応しているQの位相を有する補間フィルタを決定し、補間フィルタによって用いられるフィルタ係数は位相に対応しており、対応する画素単位に対応しているQの位相を有する決定された補間フィルタを用いて各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行う、ように特に構成されている。
【0028】
第2の態様の第3の可能な実施態様に関連して、第2の態様の第4の可能な実施態様において、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である動きベクトルの垂直成分を表す。
【0029】
第2の態様の第3の可能な実施態様または第2の態様の第4の可能な実施態様に関連して、第2の態様の第5の可能な実施態様において、位相は水平位相と垂直位相とを含み、各画素単位の位相に基づき、対応する画素単位に対応しているQの位相を有する補間フィルタを決定する局面で、補間フィルタリング部は、各画素単位の水平位相に基づき、対応する画素単位に対応しているQの位相を有する水平補間フィルタを決定し、各画素単位の垂直位相に基づき、対応する画素単位に対応しているQの位相を有する垂直補間フィルタを決定する、ように特に構成されており、水平補間フィルタによって用いられるフィルタ係数は水平位相に対応しており、垂直補間フィルタによって用いられるフィルタ係数は垂直位相に対応している。
【0030】
第2の態様の第5の可能な実施態様に関連して、第2の態様の第6の可能な実施態様において、対応する画素単位に対応しているQの位相を有する決定された補間フィルタを用いて各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行う局面で、補間フィルタリング部は、水平補間フィルタリングの結果を取得するために、画素単位iに対応しているQの位相を有する決定された水平補間フィルタを用いて画素単位iの、基準画像における対応する基準画素単位の画素に対して水平補間フィルタリングを行い、画素単位iの予測画素値を取得するために、画素単位iに対応しているQの位相を有する決定された垂直補間フィルタを用いて水平補間フィルタリングの結果に対して垂直補間フィルタリングを行い、画素単位iがP個の画素単位のうちの任意の1つである、ように特に構成されており、または補間フィルタリング部は、垂直補間フィルタリングの結果を取得するために、画素単位jに対応しているQの位相を有する決定された垂直補間フィルタを用いて画素単位jの、基準画像における対応する基準画素単位の画素に対して垂直補間フィルタリングを行い、画素単位jの予測画素値を取得するために、画素単位jに対応しているQの位相を有する決定された水平補間フィルタを用いて水平補間フィルタリングの結果に対して水平補間フィルタリングを行い、画素単位jがP個の画素単位のうちの任意の1つである、ように特に構成されている。
【0031】
第2の態様、または第2の態様の第1から第6の可能な実施態様のいずれか1つに関連して、第2の態様の第7の可能な実施態様において、動きモデルは、並進運動モデル、アフィン運動モデル、回転運動モデル、ズーミング運動モデル、放物運動モデル、せん断運動モデル、射影運動モデル、または双一次運動モデルである。
【0032】
第2の態様、または第2の態様の第1から第7の可能な実施態様のいずれか1つに関連して、第2の態様の第8の可能な実施態様において、Wが2に等しい場合、動きモデルは以下のように表される。
【0033】
【0034】
式中、Lは、現在の画像ブロックの幅または高さを表し、(ν0x,ν0y)と(ν1x,ν1y)とは、2つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、νNxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0035】
第2の態様、または第2の態様の第1から第7の可能な実施態様のいずれか1つに関連して、第2の態様の第9の可能な実施態様において、Wが3に等しい場合、動きモデルは以下のように表される。
【0036】
【0037】
式中、νNxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表し、(ν0x,ν0y)と(ν1x,ν1y)と(ν2x,ν2y)とは、3つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、wは、現在の画像ブロックの幅を表し、hは、現在の画像ブロックの高さを表す。
【0038】
第2の態様、または第2の態様の第1から第9の可能な実施態様のいずれか1つに関連して、第2の態様の第10の可能な実施態様において、W個の制御点の動きベクトルは、現在の画像ブロックを取り囲む符号化画像ブロックまたは復号化画像ブロックの、その精度が画素精度の1/nである動きベクトルに基づいて予測される。
【0039】
第2の態様、または第2の態様の第1から第10の可能な実施態様のいずれか1つに関連して、第2の態様の第11の可能な実施態様において、本画像予測装置は映像符号化装置に適用され、または本画像予測装置は映像復号化装置に適用される。
【0040】
本発明の一実施形態は、プロセッサとメモリとを含む画像予測装置をさらに提供する。本画像予測装置は、例えば、ネットワークインターフェースをさらに含んでいてよい。メモリは、命令を記憶するように構成され、プロセッサは、命令を実行するように構成され、ネットワークインターフェースは、プロセッサの制御下で、別の機器と通信するように構成される。
【0041】
例えば、プロセッサは、現在の画像ブロックにおけるW個の制御点の動きベクトルを決定し、動きモデルとW個の制御点の動きベクトルとを用いて、計算により、現在の画像ブロックのP個の画素単位の動きベクトルを取得する、ように構成され、W個の制御点の決定された動きベクトルの精度は画素精度の1/nであり、計算によって取得される、P個の画素単位の各々の動きベクトルの精度は画素精度の1/Nであり、P個の画素単位は現在の画像ブロックの画素単位の一部または全部であり、P個の画素単位の各々の動きベクトルは、対応する画素単位の、基準画像における対応する基準画素単位を決定するのに用いられ、W、n、およびNは1より大きい整数であり、Nはnより大きく、Pは正の整数であり、またプロセッサは、P個の画素単位の各々の予測画素値を取得するために、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行うように構成され、Qはnより大きい整数である。
【0042】
加えて、本発明の一実施形態はコンピュータ可読記憶媒体をさらに提供する。本コンピュータ可読記憶媒体は画像予測のためのプログラムコードを記憶している。プログラムコードは、画像予測方法を実行するための命令を含む。
【0043】
本発明の実施形態で提供される画像予測方法では、現在の画像ブロックの各画素単位の、その精度が画素精度の1/Nである動きベクトルが、動きモデルと、W個の制御点の、その精度が画素精度の1/nである動きベクトルとを用いて計算によって取得され、Nはnより大きいことがわかる。言い換えると、計算によって取得される、現在の画像ブロックの各画素単位の動きベクトルの精度は、W個の制御点の決定された動きベクトルの精度より高い。高精度の動きベクトルがまず取得される。したがって、現在の画像ブロックの各画素単位の高精度の動きベクトルを用いて現在の画像ブロックの各画素単位の、基準画像における対応する基準画素単位が決定され、Qの位相を有する(Qはnより大きい)補間フィルタを用いて現在の画像ブロックの各画素単位の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングが行われて、現在の画像ブロックの各画素単位の予測画素値が取得される。前述の方法は、予測によって、現在の画像ブロックの高精度の予測画素値を取得するのに必要な補間フィルタリングの回数を低減させるのに役立ち(例えば、低精度の補間フィルタリングを行うことによって低精度の予測画素値を取得するための中間プロセスが不要となる)、そのため、画像予測プロセスの間に補間フィルタリングに必要とされる中間キャッシュの量およびメモリ動作が低減し、画像予測プロセスの間の計算の複雑さが低減することがわかる。
【0044】
本発明の実施形態における技術的解決策をより明確に説明するために、以下で、これらの実施形態を説明するのに必要な添付の図面について簡単に述べる。明らかに、以下で説明する添付の図面は本発明のいくつかの実施形態を示しているにすぎず、当業者はこれら添付の図面から難なく他の図面をさらに得ることができる。
【図面の簡単な説明】
【0045】
【
図1-a】本発明の一実施形態による画像ブロックのいくつかの種類の分割の概略図である。
【
図1-b】本発明の一実施形態による画像ブロックのいくつかの種類の分割の概略図である。
【
図2-a】本発明の一実施形態による画像予測方法の概略流れ図である。
【
図2-b】本発明の一実施形態による制御点の動きベクトルの予測の概略図である。
【
図3-a】本発明の一実施形態による別の画像予測方法の概略流れ図である。
【
図3-b】本発明の一実施形態による整数画素位置および副画素位置の概略図である。
【
図4】本発明の一実施形態による別の画像予測方法の概略流れ図である。
【
図5】本発明の一実施形態による画像予測装置の概略図である。
【
図6】本発明の一実施形態による別の画像予測装置の概略図である。
【発明を実施するための形態】
【0046】
本発明の実施形態は、画像予測プロセスの間に補間フィルタリングに必要とされる中間キャッシュの量およびメモリ動作を低減させ、画像予測プロセスの間の計算の複雑さを低減させるための、画像予測方法および関連装置を提供する。
【0047】
本発明の明細書、特許請求の範囲および添付の図面において、「第1」、「第2」、「第3」、などの用語は、異なる対象を区別するためのものであり、特定の順序を示すものではない。加えて、「including」、「comprising」、およびそれらの任意の他の変形は、非排他的包含を対象として含むものであることが意図されている。例えば、一連のステップもしくはユニットを含むプロセス、方法、システム、製品、もしくは装置は、記載されたステップもしくはユニットだけに限定されず、任意選択で、記載されていないステップもしくはユニットをさらに含み、または任意選択で、プロセス、方法、製品、もしくは機器の別の固有のステップもしくはユニットをさらに含む。
【0048】
以下ではまず、本発明の実施形態に関連しうるいくつかの概念について簡単に説明する。
【0049】
ほとんどの符号化フレームワークにおいて、ビデオシーケンスは一連の画像(英語:picture)を含み、画像はスライス(英語: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)規格では、映像符号化性能をさらに向上させるためにいくつかの新しい符号化手段が用いられている。併合符号化(merge)モードおよび高度動きベクトル予測(英語:advanced motion vector prediction、略称:AMVP)モードが2つの重要なフレーム間予測手段である。併合符号化(merge)モードでは、現在の符号化ブロックを取り囲む符号化済みブロックの動き情報(動きベクトル(英語: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個の画素単位の各々の、基準画像における基準画素単位の画素に対して補間フィルタリングを行う。
【0070】
Qはnより大きい整数である。
【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に等しい場合、動きモデルは以下のように表すことができる。
【0083】
【0084】
式中、Lは、現在の画像ブロックの幅または高さを表し、(ν0x,ν0y)と(ν1x,ν1y)とは、2つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、νNxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0085】
別の例として、本発明のいくつかの可能な実施態様では、Wが3に等しい場合、動きモデルは以下のように表すことができる。
【0086】
【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の整数べきである場合log2Nに等しく、(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の整数べきである場合log2Nに等しく、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に等しい場合、動きモデルは以下のように表すことができる。
【0123】
【0124】
式中、Lは、現在の画像ブロックの幅または高さを表し、(ν0x,ν0y)と(ν1x,ν1y)とは、2つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、νNxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0125】
別の例として、本発明のいくつかの可能な実施態様では、Wが3に等しい場合、動きモデルは以下のように表すことができる。
【0126】
【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の整数べきである場合log2Nに等しく、(xInt,yInt)は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の整数画素位置座標を表し、νNxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0133】
例えば、
図3-bを参照すると、
図3-bの四角は、現在の位置に隣接した整数画素位置のところの画素を表しており、三角は副画素を表している。
【0134】
305.映像符号化装置は、P個の画素単位の各々の予測画素値を取得するために、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における対応する基準画素単位の画素に対して補間フィルタリングを行う。
【0135】
Qはnより大きい整数である。
【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の整数べきである場合log2Nに等しく、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に等しい場合、動きモデルは以下のように表すことができる。
【0171】
【0172】
式中、Lは、現在の画像ブロックの幅または高さを表し、(ν0x,ν0y)と(ν1x,ν1y)とは、2つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、νNxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0173】
別の例として、本発明のいくつかの可能な実施態様では、Wが3に等しい場合、動きモデルは以下のように表すことができる。
【0174】
【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の整数べきである場合log2Nに等しく、(xInt,yInt)は、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の整数画素位置座標を表し、νNxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0181】
405.映像復号化装置は、P個の画素単位の各々の予測画素値を取得するために、Qの位相を有する補間フィルタを用いてP個の画素単位の各々の、基準画像における基準画素単位の画素に対して補間フィルタリングを行う。
【0182】
Qはnより大きい整数である。
【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の整数べきである場合log2Nに等しく、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位相補間フィルタのフィルタ係数と画素単位の位相との間の対応関係を示す。
【0227】
【0228】
【0229】
例えば、画素単位の水平位相がx=12であるとき、256のゲイン倍率を有する64位相補間フィルタを使用した場合、水平補間フィルタリングの結果Sは以下のように表すことができる。
S=((-2)×x0+10×x1+(-31)×x2+239×x2+52×x4+(-17)×x5+5×x6+0×x7)+offset)/256
【0230】
画素単位の予測画素値は、補間フィルタリング結果Sを用いて取得することができ、式中、offsetは任意の整数とすることができる。
【0231】
以下では、いくつかの試験データを用いて、本発明の実施形態の解決策の技術的効果を提示する。
【0232】
表3および表4に、従来の解決策と本発明の実施形態の解決策との間のいくつかの試験性能の対比を示す。表3には、従来の解決策の試験性能を示し、表4には本発明のいくつかの実施形態の解決策の試験性能を示す。
【0233】
【0234】
【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の整数べきである場合log2Nに等しく、(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の整数べきである場合log2Nに等しく、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に等しい場合、動きモデルは以下のように表される。
【0253】
【0254】
式中、Lは、現在の画像ブロックの幅または高さを表し、(ν0x,ν0y)と(ν1x,ν1y)とは、2つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、νNxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0255】
任意選択で、本発明のいくつかの可能な実施態様では、
Wが3に等しい場合、動きモデルは以下のように表される。
【0256】
【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】
本実施形態の画像予測装置600の機能モジュールの機能は、前述の方法実施形態の方法に従って具体的に実施されうることが理解されよう。画像予測装置600の具体的な実現プロセスについては、前述の方法実施形態における関連説明を参照されたい。ここでは詳細を繰り返さない。画像予測装置600は、映像を出力し、または再生する必要がある任意の装置、例えば、ノートブックコンピュータ、タブレットコンピュータ、パーソナルコンピュータ、携帯電話、または別の機器であってよい。
【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には、ディスプレイ(例えば、ホログラフィックイメージング(Holographic)、陰極線管、プロジェクタ(Projector))、ポインティングデバイス(例えば、マウス、トラックボール(trackball)、タッチパネル、タッチスクリーン)、カメラ、および/または収音装置などを含むことができる。
【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の整数べきである場合log2Nに等しく、(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の整数べきである場合log2Nに等しく、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に等しい場合、動きモデルは以下のように表される。
【0277】
【0278】
式中、Lは、現在の画像ブロックの幅または高さを表し、(ν0x,ν0y)と(ν1x,ν1y)とは、2つの制御点の、その精度が画素精度の1/nである動きベクトルを表し、νNxは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの水平成分を表し、νNyは、現在の画像ブロックにおいて(x,y)の座標を有する画素単位の、その精度が画素精度の1/Nである動きベクトルの垂直成分を表す。
【0279】
任意選択で、本発明のいくつかの可能な実施態様では、
Wが3に等しい場合、動きモデルは以下のように表される。
【0280】
【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】
前述の実施形態は、単に本発明の技術的解決策を説明するためのものにすぎず、本発明を限定するためのものではない。本発明は前述の実施形態に関連して詳細に説明されているが、当業者は、本発明の実施形態の技術的解決策の範囲を逸脱することなく、前述の実施形態で記述されている技術的解決策にさらに改変を加え、または前述の実施形態のいくつかの技術的特徴に対する等価の置換を行うことができることを理解するはずである。
【符号の説明】
【0293】
500 画像予測装置
510 第1の決定部
520 計算部
530 第2の決定部
540 補間フィルタリング部
600 画像予測装置
601 プロセッサ
602 通信バス
603 ユーザインターフェース
604 ネットワークインターフェース
605 メモリ
6051 オペレーティングシステム
6052 アプリケーション・プログラム・モジュール