(57)【特許請求の範囲】
【請求項１】
ビデオピクチャをビデオビットストリームに符号化するエンコーダ（４０）で実行される方法（２０）であって、
参照ピクチャの変換されたバージョンを、スケーリング、回転、せん断、反射、および投影の少なくとも１つを含む幾何変換を使用して取得すること（２１）と、
前記参照ピクチャの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることと、前記変換されたバージョンの参照マッチング領域を前記第２のピクチャの前記マッチング領域にマッチさせることとを含むマッチング手続きを、少なくとも１回実行すること（２２）と、
現在のピクチャのブロックを、前記ブロックに対して、前記参照ピクチャの前記参照マッチング領域に基づく第１の予測領域または前記変換された参照マッチング領域に基づく第２の予測領域を選択することにより符号化すること（２３）であり、前記第１の予測領域および前記第２の予測領域が、それぞれの参照マッチング領域と少なくとも部分的に重複し、前記第２のピクチャの対応するマッチング領域に対するマッチング誤差が最小である前記予測領域が前記ブロックの予測として選択される、符号化すること（２３）と、
デコーダ（５０）に対し、マッチング手続き中に前記デコーダ（５０）で導き出された選択済み予測候補のセットの中の、ブロックの復号に使用する予測領域候補のインデックスをシグナリングすること
を含む方法（２０）。
【請求項２】
前記参照ピクチャの変換されたバージョンを取得すること（２１）が、前記参照ピクチャの前記参照マッチング領域および前記予測領域のみを変換することを含む、請求項１に記載の方法（２０）。
【請求項３】
前記マッチング手続きを、前記符号化すること（２３）よりも低い解像度で実行すること（２２）を含む、請求項１または２に記載の方法（２０）。
【請求項４】
前記マッチング手続きを実行することが、第１の標本精度を使用して前記参照ピクチャの前記参照マッチング領域に対するマッチの第１のセットを取得することと、第２の標本精度を使用して前記第１のセットの前記マッチを絞り込むこととを含み、前記符号化すること（２３）が、前記第２の標本精度が使用された前記第１のセットのマッチの中から前記予測領域を選択することを含む、請求項１ないし３のいずれか一項に記載の方法（２０）。
【請求項５】
デコーダ（５０）に対し、前記第２の標本精度が使用された前記第１のセットのマッチの中の使用するマッチ候補に関する情報をシグナリングすることを含む、請求項４に記載の方法（２０）。
【請求項６】
デコーダ（５０）に対し、前記マッチング手続きで使用する前記幾何変換に関する情報であって、前記マッチング手続きで使用する組み合わせの数、示唆された予測領域候補のセット、使用するスケーリング因子、および使用する角度の１つまたは複数を含む情報をシグナリングすることを含む、請求項１ないし５のいずれか一項に記載の方法（２０）。
【請求項７】
前記マッチング手続きがバイラテラルマッチングを含み、
前記第２のピクチャが、第２の取得された参照ピクチャまたは前記第２の取得された参照ピクチャの変換されたバージョンを含み、前記方法（２０）が、前記ブロックの前記符号化（２３）中に、
前記第２の参照ピクチャの第３の参照予測領域、または前記第２の参照ピクチャの前記変換されたバージョンの第４の予測領域を選択することと、
選択された前記第１の予測領域および選択された前記第３の参照予測領域または選択された前記第２の予測領域および選択された前記第４の予測領域に基づいて、第５の予測領域を導き出すことと、
前記現在のピクチャの前記ブロックの符号化（２３）のために前記第５の予測領域を選択することと
を含む、請求項１ないし６のいずれか一項に記載の方法（２０）。
【請求項８】
前記マッチング手続きがテンプレートマッチングを含み、前記第２のピクチャが前記現在のピクチャを含み、前記第２のピクチャの前記マッチング領域が前記現在のピクチャのテンプレート領域を含む、請求項１ないし６のいずれか一項に記載の方法（２０）。
【請求項９】
前記現在のピクチャの前記ブロックの少なくとも一部のピクセルが、イントラ符号化を使用して符号化され、前記ブロックの前記一部が、前記参照ピクチャの、前記参照マッチング領域と前記参照予測領域とが重複する部分に対応する、請求項７または８に記載の方法（２０）。
【請求項１０】
ビデオピクチャをビデオビットストリームに符号化するエンコーダ（４０）用のコンピュータプログラム（４３）であって、前記エンコーダ（４０）の少なくとも１つのプロセッサで実行されたときに、前記エンコーダ（４０）に請求項１ないし９のいずれか一項に記載の方法（２０）を実行させるコンピュータプログラムコードを含むコンピュータプログラム（４３）。
【請求項１１】
請求項１０に記載のコンピュータプログラム（４３）が格納されるコンピュータ可読手段。
【請求項１２】
ビデオピクチャをビデオビットストリームに符号化するエンコーダ（４０）であって、
参照ピクチャの変換されたバージョンを、スケーリング、回転、せん断、反射、および投影の少なくとも１つを含む幾何変換を使用して取得し、
前記参照ピクチャの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることと、前記変換されたバージョンの参照マッチング領域を前記第２のピクチャの前記マッチング領域にマッチさせることとを含むマッチング手続きを、少なくとも１回実行し、
現在のピクチャのブロックを、前記ブロックに対して、前記参照ピクチャの前記参照マッチング領域に基づく第１の予測領域または前記変換された参照マッチング領域に基づく第２の予測領域を選択することにより符号化し、前記第１の予測領域および前記第２の予測領域が、それぞれの参照マッチング領域と少なくとも部分的に重複し、前記第２のピクチャの対応するマッチング領域に対するマッチング誤差が最小である予測領域が前記ブロックの予測として選択され、
デコーダ（５０）に対し、マッチング手続き中に前記デコーダ（５０）で導き出された選択済み予測候補のセットの中の、ブロックの復号に使用する予測領域候補のインデックスをシグナリングするように構成されたエンコーダ（４０）。
【請求項１３】
前記参照ピクチャの変換されたバージョンを、前記参照ピクチャの前記参照マッチング領域および前記予測領域のみを変換することにより取得するように構成された、請求項１２に記載のエンコーダ（４０）。
【請求項１４】
前記マッチング手続きを、前記符号化（２３）よりも低い解像度で実行するように構成された、請求項１２または１３に記載のエンコーダ（４０）。
【請求項１５】
第１の標本精度を使用して前記参照ピクチャの前記参照マッチング領域に対するマッチの第１のセットを取得し、第２の標本精度を使用して前記第１のセットのマッチを絞り込むことにより、前記マッチング手続きを実行するように構成され、前記第２の標本精度が使用された前記第１のセットのマッチの中から前記予測領域を選択することにより、符号化するように構成された、請求項１２ないし１４のいずれか一項に記載のエンコーダ（４０）。
【請求項１６】
デコーダ（５０）に対し、前記第２の標本精度が使用された前記第１のセットのマッチの中の使用するマッチ候補に関する情報をシグナリングするように構成された、請求項１５に記載のエンコーダ（４０）。
【請求項１７】
デコーダ（５０）に対し、前記マッチング手続きで使用する幾何変換に関する情報であって、前記マッチング手続きで使用する組み合わせの数、示唆された予測領域候補のセット、使用するスケーリング因子、および使用する角度の１つまたは複数を含む情報をシグナリングするように構成された、請求項１２ないし１６のいずれか一項に記載のエンコーダ（４０）。
【請求項１８】
前記マッチング手続きがバイラテラルマッチングを含み、
前記第２のピクチャが、第２の取得された参照ピクチャまたは前記第２の取得された参照ピクチャの変換されたバージョンを含み、前記エンコーダ（４０）が、前記ブロックの前記符号化中に、
前記第２の参照ピクチャの第３の参照予測領域、または前記第２の参照ピクチャの前記変換されたバージョンの第４の予測領域を選択し、
選択された前記第１の予測領域および選択された前記第３の参照予測領域または選択された前記第２の予測領域および選択された前記第４の予測領域に基づいて、第５の予測領域を導き出し、
前記現在のピクチャの前記ブロックの符号化（２３）のために前記第５の予測領域を選択する
ように構成された、請求項１２ないし１７のいずれか一項に記載のエンコーダ（４０）。
【請求項１９】
前記マッチング手続きがテンプレートマッチングを含み、前記第２のピクチャが前記現在のピクチャを含み、前記第２のピクチャの前記マッチング領域が前記現在のピクチャのテンプレート領域を含む、請求項１２ないし１７のいずれか一項に記載のエンコーダ（４０）。
【請求項２０】
前記現在のピクチャの前記ブロックの少なくとも一部のピクセルが、イントラ符号化を使用して符号化され、前記ブロックの前記一部が、前記参照ピクチャの、前記参照マッチング領域と前記参照予測領域とが重複する部分に対応する、請求項１８または１９に記載のエンコーダ（４０）。
【請求項２１】
ビデオビットストリームからビデオピクチャを復号するデコーダ（５０）で実行される方法（３０）であって、
参照ピクチャの変換されたバージョンを、スケーリング、回転、せん断、反射、および投影の少なくとも１つを含む幾何変換を使用して取得すること（３１）と、
前記参照ピクチャの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることと、前記変換されたバージョンの参照マッチング領域を前記第２のピクチャの前記マッチング領域にマッチさせることとを含むマッチング手続きを、少なくとも１回実行すること（３２）と、
現在のピクチャのブロックを、前記ブロックに対して、前記参照ピクチャの前記参照マッチング領域に基づく第１の予測領域または前記変換された参照マッチング領域に基づく第２の予測領域を選択することにより復号すること（３３）であり、前記第１の予測領域および前記第２の予測領域が、それぞれの参照マッチング領域と少なくとも部分的に重複し、前記第２のピクチャの対応するマッチング領域に対するマッチング誤差が最小である前記予測領域が前記ブロックの予測として選択される、復号すること（３３）と、
エンコーダ（４０）から、マッチング手続き中に導き出された選択済み予測候補のセットの中の、ブロックの復号に使用する予測領域候補のインデックスを受け取ることと、
を含む方法（３０）。
【請求項２２】
前記参照ピクチャの変換されたバージョンを取得すること（３１）が、前記参照ピクチャの前記参照マッチング領域および前記予測領域のみを変換することを含む、請求項２１に記載の方法（３０）。
【請求項２３】
前記マッチング手続きを、前記復号すること（３３）よりも低い解像度で実行すること（３２）を含む、請求項２１または２２に記載の方法（３０）。
【請求項２４】
前記マッチング手続きを実行することが、第１の標本精度を使用して前記参照ピクチャの前記参照マッチング領域に対するマッチの第１のセットを取得することと、第２の標本精度を使用して前記第１のセットの前記マッチを絞り込むこととを含み、前記復号すること（３３）が、前記第２の標本精度が使用された前記第１のセットのマッチの中から前記予測領域を選択することを含む、請求項２１ないし２３のいずれか一項に記載の方法（３０）。
【請求項２５】
エンコーダ（４０）から、前記第２の標本精度が使用された前記第１のセットのマッチの中の使用するマッチ候補に関する情報を受け取ることを含む、請求項２４に記載の方法（３０）。
【請求項２６】
エンコーダ（４０）から、前記マッチング手続きで使用する前記幾何変換に関する情報であって、前記マッチング手続きで使用する組み合わせの数、示唆された予測領域候補のセット、使用するスケーリング因子、および使用する角度の１つまたは複数を含む情報を受け取ることを含む、請求項２１ないし２５のいずれか一項に記載の方法（３０）。
【請求項２７】
前記マッチング手続きがバイラテラルマッチングを含み、
前記第２のピクチャが、第２の取得された参照ピクチャまたは前記第２の取得された参照ピクチャの変換されたバージョンを含み、前記方法（３０）が、前記ブロックの前記復号（３３）中に、
前記第２の参照ピクチャの第３の参照予測領域、または前記第２の参照ピクチャの前記変換されたバージョンの第４の予測領域を選択することと、
選択された前記第１の予測領域および選択された前記第３の参照予測領域または選択された前記第２の予測領域および選択された前記第４の予測領域に基づいて、第５の予測領域を導き出すことと、
前記現在のピクチャの前記ブロックの復号（３３）のために前記第５の予測領域を選択することと
を含む、請求項２１ないし２６のいずれか一項に記載の方法（３０）。
【請求項２８】
前記マッチング手続きがテンプレートマッチングを含み、前記第２のピクチャが前記現在のピクチャを含み、前記第２のピクチャの前記マッチング領域が前記現在のピクチャのテンプレート領域を含む、請求項２１ないし２６のいずれか一項に記載の方法（３０）。
【請求項２９】
前記現在のピクチャの前記ブロックの少なくとも一部のピクセルが、イントラ符号化を使用して復号され、前記ブロックの前記一部が、前記参照ピクチャの、前記参照マッチング領域と前記参照予測領域とが重複する部分に対応する、請求項２７または２８に記載の方法（３０）。
【請求項３０】
ビデオビットストリームからビデオピクチャを復号するデコーダ（５０）用のコンピュータプログラム（５３）であって、前記デコーダ（５０）の少なくとも１つのプロセッサで実行されたときに、前記デコーダ（５０）に請求項２１ないし２９のいずれか一項に記載の方法（３０）を実行させるコンピュータプログラムコードを含むコンピュータプログラム（５３）。
【請求項３１】
請求項３０に記載のコンピュータプログラム（５３）が格納されるコンピュータ可読手段。
【請求項３２】
ビデオビットストリームからビデオピクチャを復号するデコーダ（５０）であって、
参照ピクチャの変換されたバージョンを、スケーリング、回転、せん断、反射、および投影の少なくとも１つを含む幾何変換を使用して取得し、
前記参照ピクチャの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることと、前記変換されたバージョンの参照マッチング領域を前記第２のピクチャの前記マッチング領域にマッチさせることとを含むマッチング手続きを、少なくとも１回実行し、
現在のピクチャのブロックを、前記ブロックに対して、前記参照ピクチャの前記参照マッチング領域に基づく第１の予測領域または前記変換された参照マッチング領域に基づく第２の予測領域を選択することにより復号し、前記第１の予測領域および前記第２の予測領域が、それぞれの参照マッチング領域と少なくとも部分的に重複し、前記第２のピクチャの対応するマッチング領域に対するマッチング誤差が最小である前記予測領域が前記ブロックの予測として選択され、
エンコーダ（４０）から、マッチング手続き中に導き出された選択済み予測候補のセットの中の、ブロックの復号に使用する予測領域候補のインデックスを受け取るように構成されたデコーダ（５０）。
【請求項３３】
前記参照ピクチャの変換されたバージョンを、前記参照ピクチャの前記参照マッチング領域および前記予測領域のみを変換することにより取得するように構成された、請求項３２に記載のデコーダ（５０）。
【請求項３４】
前記マッチング手続きを、前記復号よりも低い解像度で実行するように構成された、請求項３２または３３に記載のデコーダ（５０）。
【請求項３５】
第１の標本精度を使用して前記参照ピクチャの前記参照マッチング領域に対するマッチの第１のセットを取得し、第２の標本精度を使用して前記第１のセットのマッチを絞り込むことにより、前記マッチング手続きを実行するように構成され、前記第２の標本精度が使用された前記第１のセットのマッチの中から前記予測領域を選択することにより、復号するように構成された、請求項３２ないし３４のいずれか一項に記載のデコーダ（５０）。
【請求項３６】
エンコーダ（４０）から、前記第２の標本精度が使用された前記第１のセットのマッチの中の使用するマッチ候補に関する情報を受け取るように構成された、請求項３５に記載のデコーダ（５０）。
【請求項３７】
エンコーダ（４０）から、前記マッチング手続きで使用する前記幾何変換に関する情報であって、前記マッチング手続きで使用する組み合わせの数、示唆された予測領域候補のセット、使用するスケーリング因子、および使用する角度の１つまたは複数を含む情報を受け取るように構成された、請求項３２ないし３６のいずれか一項に記載のデコーダ（５０）。
【請求項３８】
前記マッチング手続きがバイラテラルマッチングを含み、
前記第２のピクチャが、第２の取得された参照ピクチャまたは前記第２の取得された参照ピクチャの変換されたバージョンを含み、前記デコーダ（５０）が、前記ブロックの前記復号中に、
前記第２の参照ピクチャの第３の参照予測領域、または前記第２の参照ピクチャの前記変換されたバージョンの第４の予測領域を選択し、
選択された前記第１の予測領域および選択された前記第３の参照予測領域または選択された前記第２の予測領域および選択された前記第４の予測領域に基づいて、第５の予測領域を導き出し、
前記現在のピクチャの前記ブロックの復号（３３）のために前記第５の予測領域を選択する
ように構成された、請求項３２ないし３７のいずれか一項に記載のデコーダ（５０）。
【請求項３９】
前記マッチング手続きがテンプレートマッチングを含み、前記第２のピクチャが前記現在のピクチャを含み、前記第２のピクチャの前記マッチング領域が前記現在のピクチャのテンプレート領域を含む、請求項３２ないし３７のいずれか一項に記載のデコーダ（５０）。
【請求項４０】
前記現在のピクチャの前記ブロックの少なくとも一部のピクセルが、イントラ符号化を使用して復号され、前記ブロックの前記一部が、前記参照ピクチャの、前記参照マッチング領域と前記参照予測領域とが重複する部分に対応する、請求項３８または３９に記載のデコーダ（５０）。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示される技術は、一般的にはデジタル画像処理の分野に関し、詳細にはビデオピクチャを符号化する方法、エンコーダ、ビデオピクチャを復号する方法、デコーダ、ならびに関連するコンピュータプログラムおよびコンピュータプログラム製品に関する。
【背景技術】
【０００２】
高効率ビデオ符号化（ＨＥＶＣ）は、時間予測と空間予測の両方を利用する、標準化されたブロックベースのビデオコーデックである。空間予測は、現在のピクチャ内からのイントラ予測を使用して実現され、時間予測は、以前に復号された参照ピクチャからのブロックレベルのインター予測または双方向インター予測を使用して実現される。残差（または予測誤差）と呼ばれる、元のピクセルデータと予測されたピクセルデータとの間の差異は、周波数領域に変換され、たとえばコンテキスト適応型可変長符号化（ＣＡＶＬＣ）またはコンテキスト適応型二値算術符号化（ＣＡＢＡＣ）を使用して量子化およびエントロピー符号化される。その後、残差は、モード選択や運動ベクトル（すべてエントロピー符号化されている）などの必要な予測パラメータと共に、受け手側のデコーダに伝送される。変換された残差を量子化することで、ビデオのビットレートと品質との間のトレードオフが制御され得、その際に、量子化のレベルが量子化パラメータ（ＱＰ）により判断される。受け手側のデコーダは、エントロピー復号、逆量子化、および逆変換を実行して残差を取得する。次にデコーダは、ピクチャを再構築するために、イントラ予測またはインター予測に残差を追加する。
【０００３】
国際電気通信連合電気通信標準化部門（ＩＴＵ−Ｔ）のビデオ符号化専門家グループ（ＶＣＥＧ）は、ＨＥＶＣの後継の開発を近年になって開始した。最初の検証段階では、キーテクニカルエリア（ＫＴＡ）と呼ばれる実験用ソフトウェアコーデックが使用されている。ＫＴＡは、ＨＥＶＣの基準コーデックソフトウェアであるＨＥＶＣテストモデル（ＨＭ）に基づいている。
【０００４】
ＫＴＡソフトウェアで提案および包含されているツールの１つは、フレームレートアップコンバージョン（ＦＲＵＣ）である。ＦＲＵＣツールは、運動情報をデコーダ側で導き出す運動予測ツールである。ＦＲＵＣには、テンプレートマッチングとバイラテラルマッチングの２つの異なるモードがある。
【０００５】
図１は、テンプレートマッチングの原理を示す。テンプレートマッチングは、テンプレート画像にマッチする画像の小部分を見つけるデジタル画像処理技法である。現在のピクチャの現在のブロックＢが復号されるため、検索画像（テンプレートＡ）が選択される。デコーダは、現在のピクチャ（Ｃｕｒ  Ｐｉｃと図示）の現在のブロックＢに隣接するテンプレート領域Ａを、参照ピクチャ（Ｒｅｆ０と図示）の同じテンプレート領域Ａとマッチさせることにより、運動ベクトルを導き出す。最良にマッチするテンプレート領域を含む、参照ピクチャＲｅｆ０の予測領域が、現在のブロックＢの予測として選択される。
【０００６】
図２は、バイラテラルマッチングの原理を示す。バイラテラルマッチングでは、前のピクチャ（Ｒｅｆ０）および後のピクチャ（Ｒｅｆ１）からブロック（またはピクチャ）が予測される。参照ピクチャ（Ｒｅｆ０およびＲｅｆ１）の２つのブロック間の現在のブロック（Ｃｕｒ  ｂｌｏｃｋと図示）に沿った連続的な動作軌道（図では点線で示されている）が推測されて、直線運動がモデル化される。現在のブロックと最良にマッチするブロックとの間の変位が、運動ベクトルである。前のピクチャＲｅｆ０と現在のピクチャＣｕｒＰｉｃ（これらのピクチャは時間差ＴＤ０を有する）の間の運動ベクトルがＭＶ０で示されており、現在のピクチャＣｕｒＰｉｃと後のピクチャＲｅｆ１（これらのピクチャは時間差ＴＤ１を有する）の間の運動ベクトルがＭＶ１で示されている。運動ベクトルＭＶ０およびＭＶ１は、時間差ＴＤ０およびＴＤ１に比例する。予測誤差を最小化する動作軌道に沿った運動ベクトルが選択され、それらの対応する参照予測ブロックが現在のピクチャＣｕｒＰｉｃの現在のブロックの予測を内挿（または外挿）するために使用される。
【０００７】
上述した動作補正予測方法は、手元のビデオによって、予測の精度が左右されることがある。たとえば、高速かつ複雑に変化するピクチャを含むビデオの場合、予測は精度がより低くなり得る。たとえば、ビデオにおける自然な幾何変換の予測は、最適にはほど遠く、所与のビットレートで品質が悪化することがある。エンコーダ側からデコーダ側に、スケーリング因子等の情報をビットストリームでシグナリングすると、通常はビットの点で高くつく。
【発明の概要】
【０００８】
本教示の目的は、上述した問題に対処し、特にテンプレートマッチングやバイラテラルマッチングなどのマッチング方法で、予測精度を向上させることである。
【０００９】
目的は、態様によると、ビデオピクチャをビデオビットストリームに符号化するために提供されるエンコーダで実行される方法によって達成される。この方法は、参照ピクチャの変換されたバージョンを、スケーリング、回転、せん断、反射、および投影の少なくとも１つを含む幾何変換を使用して取得することと、参照ピクチャの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることと変換されたバージョンの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることとを含むマッチング手続きを少なくとも１回実行することと、現在のピクチャのブロックを、そのブロックに対して、参照マッチング領域に基づく第１の予測領域または変換された参照マッチング領域に基づく第２の予測領域を選択することにより符号化することであり、第１の予測領域および第２の予測領域が、それぞれの参照マッチング領域と少なくとも部分的に重複し、第２のピクチャの対応するマッチング領域に対するマッチング誤差が最小である予測領域がブロックの予測として選択される、符号化することとを含む。
【００１０】
この方法の利点は、マッチングの前に幾何変換を適用することで、たとえばテンプレートマッチングおよびバイラテラルマッチング等予測が向上することである。デコーダ側のマッチングの予測が向上すると、圧縮効率も向上する。なぜなら、エンコーダとデコーダの両方でマッチング検索が実行される場合に、余分なシグナリングが不要だからである。
【００１１】
目的は、態様によると、ビデオピクチャをビデオビットストリームに符号化するエンコーダ用のコンピュータプログラムにより達成され、このコンピュータプログラムは、エンコーダの少なくとも１つのプロセッサで実行されたときに、上述した方法をエンコーダに実行させるコンピュータプログラムコードを含む。
【００１２】
目的は、態様によると、上述したコンピュータプログラムと、そのコンピュータプログラムが格納されるコンピュータ可読手段とを備えるコンピュータプログラム製品により達成される。
【００１３】
目的は、態様によると、ビデオピクチャをビデオビットストリームに符号化するエンコーダにより達成される。このエンコーダは、参照ピクチャの変換されたバージョンを、スケーリング、回転、せん断、反射、および投影の少なくとも１つを含む幾何変換を使用して取得し、参照ピクチャの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることと変換されたバージョンの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることとを含むマッチング手続きを少なくとも１回実行し、現在のピクチャのブロックを、そのブロックに対して、参照マッチング領域に基づく第１の予測領域または変換された参照マッチング領域に基づく第２の予測領域を選択することにより符号化し、第１の予測領域および第２の予測領域が、それぞれの参照マッチング領域と少なくとも部分的に重複し、第２のピクチャの対応するマッチング領域に対するマッチング誤差が最小である予測領域がブロックの予測として選択されるように構成される。
【００１４】
エンコーダの方法について言及した利点に対応する利点が、デコーダの方法でも得られる。
【００１５】
目的は、態様によると、ビデオビットストリームからビデオピクチャを復号するデコーダで実行される方法によって達成される。この方法は、参照ピクチャの変換されたバージョンを、スケーリング、回転、せん断、反射、および投影の少なくとも１つを含む幾何変換を使用して取得することと、参照ピクチャの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることと変換されたバージョンの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることとを含むマッチング手続きを少なくとも１回実行することと、現在のピクチャのブロックを、そのブロックに対して、参照マッチング領域に基づく第１の予測領域または変換された参照マッチング領域に基づく第２の予測領域を選択することにより復号することであり、第１の予測領域および第２の予測領域が、対応する参照マッチング領域と少なくとも部分的に重複し、第２のピクチャのそれぞれのマッチング領域に対するマッチング誤差が最小である予測領域がブロックの予測として選択される、復号することとを含む。
【００１６】
目的は、態様によると、ビデオビットストリームからビデオピクチャを復号するデコーダ用のコンピュータプログラムにより達成され、このコンピュータプログラムは、デコーダの少なくとも１つのプロセッサで実行されたときに、上述した方法をデコーダに実行させるコンピュータプログラムコードを含む。
【００１７】
目的は、態様によると、上述したようなコンピュータプログラムと、そのコンピュータプログラムが格納されるコンピュータ可読手段とを備えるコンピュータプログラム製品により達成される。
【００１８】
目的は、態様によると、ビデオビットストリームからビデオピクチャを復号するデコーダにより達成される。このデコーダは、参照ピクチャの変換されたバージョンを、スケーリング、回転、せん断、反射、および投影の少なくとも１つを含む幾何変換を使用して取得し、参照ピクチャの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることと変換されたバージョンの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることとを含むマッチング手続きを少なくとも１回実行し、現在のピクチャのブロックを、そのブロックに対して、参照マッチング領域に基づく第１の予測領域または変換された参照マッチング領域に基づく第２の予測領域を選択することにより復号し、第１の予測領域および第２の予測領域が、それぞれの参照マッチング領域と少なくとも部分的に重複し、第２のピクチャの対応するマッチング領域に対するマッチング誤差が最小である予測領域がブロックの予測として選択されるように構成される。
【００１９】
本教示のさらなる特徴および利点は、以下の説明および添付の図面を読むことで明らかとなろう。
【図面の簡単な説明】
【００２０】
【図１】テンプレートマッチングの原理を示す図である。
【図２】バイラテラルマッチングの原理を示す図である。
【図３】本明細書で開示される実施形態が実装され得る環境を概略的に示す図である。
【図４ａ】テンプレートマッチングのスケーリングの例を示す図である。
【図４ｂ】テンプレートマッチングのスケーリングの例を示す図である。
【図４ｃ】テンプレートマッチングのスケーリングの例を示す図である。
【図５】バイラテラルマッチングの変換の例を示す図である。
【図６】バイラテラルマッチングの一定の倍数の例を示す図である。
【図７】バイラテラルマッチングのスケーリングの例を示す図である。
【図８】スケーリングまたはバイラテラルマッチングを伴わない運動ベクトルを示す図である。
【図９】バイラテラルマッチングの参照ピクチャのスケーリングの例を示す図である。
【図１０】回転を伴うテンプレートマッチングを示す図である。
【図１１】回転を伴うテンプレートマッチングの例を示す図である。
【図１２】回転を伴うバイラテラルマッチングの例を示す図である。
【図１３】本教示に係る、エンコーダでの方法のステップのフローチャートである。
【図１４】本教示に係る、デコーダでの方法のステップのフローチャートである。
【図１５】エンコーダおよびデコーダと、本教示に係る実施形態を実装する手段とを概略的に示す図である。
【図１６】本教示に係る実施形態を実装する機能モジュール／ソフトウェアモジュールを備えたエンコーダおよびデコーダを示す図である。
【発明を実施するための形態】
【００２１】
以下の説明では、完全な理解を促すために、限定ではなく説明を目的として、特定のアーキテクチャ、インターフェイス、技法等の具体的な詳細事項を記載する。その他の場合は、不要な詳細事項によって説明があいまいにならないように、既知の装置、回路、および方法の詳細な説明を省略する。一部の参照番号は、説明全体を通じて、同一または類似の要素を表す。
【００２２】
最初に、さまざまな幾何二次元（２Ｄ）変換について簡単に説明する。座標の幾何変換は、行列を使用して表すことができる。以下の変換のいくつかは、原点が固定される線形変換であり、２×２の行列として表され得るが、その他の変換は異なる。よって、一貫性を保つため、以下のすべての変換は、次のような同次座標を使用した行列形式で表される。
0006379186.tif 000002
【００２３】
すべての変換は、アフィン変換、すなわち、共線性（最初線上にあったすべての点が変換後も線上に位置する）を維持する変換であり、距離の比率を維持する。たとえば、線分の中間点は、変換後も中間点のままである。
【００２４】
並進（空間での点の移動）は、次の行列形式で表され得る。
0006379186.tif 000003
ここで、ｔｘは水平方向の並進であり、ｔｙは垂直方向の並進である。
【００２５】
スケーリングは、次の行列で表され得る。
0006379186.tif 000004
ここで、ｓｘおよびｓｙは、それぞれ水平方向および垂直方向のスケーリング因子である。スケーリングは、ズームまたはサイズ変更とも呼ばれ得ることが留意される。
【００２６】
原点を中心とした時計回りの角度θの回転は、次のように表され得る。
0006379186.tif 000005
【００２７】
原点を中心とした反時計回りの角度θの回転は、次のように表され得る。
0006379186.tif 000006
【００２８】
ｘ軸に対して平行なせん断、別名スキューは、次のように表され得る。
0006379186.tif 000007
【００２９】
ｙ軸に対して平行なせん断は、次のように表され得る。
0006379186.tif 000008
【００３０】
任意の線ａｘ＋ｂｙ＋ｃ＝０での反射は、同次座標で次の行列により表され得る。
0006379186.tif 000009
【００３１】
正投影は、同次座標で４×４の行列として表され得る。
0006379186.tif 000010
ここで、ｒはｒｉｇｈｔ、ｌはｌｅｆｔ、ｔはｔｏｐ、ｂはｂｏｔｔｏｍ、ｆはｆａｒ、ｎはｎｅａｒである。
【００３２】
語彙のメモとして、本明細書では「ピクチャ」という用語が使用される。ＩＴＵ−Ｔの推奨（たとえば、Ｈ．２６５）では、ピクチャはフレームまたはフィールドを含み得るが、１つの符号化ビデオシーケンス（ＣＶＳ）では、すべてのピクチャがフレームであるか、またはすべてのピクチャがフィールドであることが留意され得る。技術分野では、「フレーム」という用語は、「ピクチャ」という用語と互換的にしばしば使用されることが留意される。
【００３３】
簡単に言うと、本教示は、さまざまな実施形態で、バイラテラルマッチングやテンプレートマッチングなどのデコーダ側マッチングを使用するときの予測を向上させる。これは、参照ピクチャの検索領域を、幾何変換を使用して変換することにより実現される。これにより、テンプレート領域に対する改善されたマッチが得られる。変換は、スケーリング、回転、並進、せん断、反射、および／または投影を含み得る。加えて、並進も１つの変換として含まれ得る。一部の実施形態では、変換補正を行うべきか否かを示すフラグがエンコーダからデコーダにシグナリングされ得る。
【００３４】
図３は、本明細書で開示される実施形態が実装され得る環境を概略的に示す。エンコーダ４０は、入力ビデオストリーム１００を、符号化されたビデオを含むビットストリーム２００に符号化するために使用される。ビットストリーム２００は、たとえば無線または有線の接続を使用して、デコーダ５０に転送される。デコーダ５０は、受け取ったビットストリーム２００を読み込んで復号し、入力ビデオストリーム１００に対応する出力ビデオストリーム３００を作成する。符号化は損失を伴う可能性があり、よって出力ビデオストリーム３００は入力ビデオストリーム１００と同一ではない。知覚される品質の損失は、ビットストリーム２００のビットレートに依存する。ビットレートが高い場合、エンコーダ４０は、高品質な出力ビデオストリーム３００を可能にするビットストリームを作成することができる。
【００３５】
ビデオの符号化／復号は、たとえば、高効率ビデオ符号化（ＨＥＶＣ）、動画専門家集団（ＭＰＥＧ）−４、Ｈ．２６３、Ｈ．２６４、およびＭＰＥＧ−２のいずれか１つに基づき得る。ビットストリームを低いビットレート要件で提供することで、最終的な出力ビデオ３００を高い品質で生成することができる。代替（または追加）で、ビットストリーム２００により帯域幅しか必要とされない。よって、符号化効率を向上させると有利である。
【００３６】
以下では、テンプレートマッチングおよびバイラテラルマッチングに適用される場合、さまざまな実施形態について説明する。テンプレートマッチングに関する例およびバイラテラルマッチングに関する例では、それぞれ同一の参照番号が一貫して使用される。
【００３７】
さまざまな実施形態において、バイラテラルマッチングおよびテンプレートマッチングは、マッチさせるブロックの異なるサイズを許容することにより拡張される。このような異なるサイズのブロックのマッチングは、マッチングを実行する前に参照ピクチャをスケールすることにより達成される。「ブロックサイズ」は、Ｍ×Ｎピクセルとして定義され得る。マッチされるブロックは、同じ数のピクセルを有する。すなわち、ブロックのサイズ自体はすべて同じであり、結果として現在のブロックのサイズと等しい。「異なるサイズのブロック」とは、ピクチャはスケールされているが、ブロックのサイズ自体は変更またはスケールされていないという事実を指す。参照ピクチャ（またはその一部）は、たとえば、マッチング領域と、その対応する予測領域とが、（予測される）現在のブロックとやはり同じピクセルサイズを有するようにズームされ得るが、ズームされていない参照ピクチャの対応する部分は、異なるピクセルサイズを有する。図４ａ、図４ｂ、図４ｃは、テンプレートマッチングのスケーリングの例を示す。
【００３８】
図４ａは、復号される現在のピクチャ１を示す。現在のピクチャ１は、復号される現在のブロック３と、隣接する、すなわち復号されるブロック３と隣り合う２つのマッチング領域４とを含む、参照領域を含む。テンプレートマッチングでは、マッチング領域４は、典型的にはテンプレート領域と呼ばれ、このテンプレート領域という用語は、一般性を失うことなく、図４ａ、図４ｂ、および図４ｃの説明のために以下で使用される。
【００３９】
図４ｂは、参照ピクチャ２を示す。参照ピクチャ２は、予測領域５に隣り合う２つの参照テンプレート領域６を含む。参照テンプレート領域６は、現在のピクチャ１（図４ａ）の符号化されるブロック３（不明であり、よってハッチングされている）の予測を見つけ出すマッチング手続きで使用され得る。本明細書では、多様な実施形態を純粋に説明および例示するために、２つのテンプレート領域が使用されることが留意される。参照テンプレート領域６の数は、実際には、本明細書で使用されている２つとは異なる可能性がある。たとえば、追加の参照テンプレート領域６ａｄｄ（図４ｂを参照）が使用される可能性があり、そのような追加の参照テンプレート領域は、予測領域５に隣り合う任意の場所に位置し得る。
【００４０】
図４ｃでは、スケールされた参照ピクチャ２’が示されている。スケールされた参照ピクチャ２’は、参照ピクチャ２のスケールされたバージョンである。スケーリング、またはより一般的には幾何二次元（２Ｄ）変換は、たとえば、最初に説明した幾何二次元（２Ｄ）変換（並進、スケーリング、回転等）のいずれかに基づいて、任意の既知の態様で実行され得る。スケールされた参照ピクチャ２’は、スケールされた予測領域５’に隣り合う、２つのスケールされた参照テンプレート領域６’を含む。語彙のメモとして、「スケールされた参照テンプレート領域」とは、ピクチャはスケールされているが、参照テンプレート領域のサイズ自体は変更またはスケールされていないという事実を指すことに留意されたい。
【００４１】
図４ｂは、シーンが現在のピクチャ１（図４ａ）に比べてズームアウトされ、よって参照ピクチャ２の参照テンプレート領域６で良好なマッチを見つけることができない場合を示している。参照ピクチャ２は、テンプレートマッチングが実行される前に、所定の解像度のセットにスケールされ得る。スケーリング因子の具体的な例は、｛０．５、０．６５、０．７５、０．８５、０．９、０．９５、０．９８、０．９９、１．０１、１．０２、１．０５、１．１１、１．１８、１．３３、１．５３、２．０｝の中から選択される値を含む。この具体的な例示的セットのスケーリング因子は、大部分のスケーリング因子が１に近くなるように、すなわち、スケーリングがまったく行われないか、またはわずかしか行われないように選択されている。これは、ズームは小さいステップで発生する可能性が高いからである。ただし、任意の倍数を使用することが可能であることに留意されたい。
【００４２】
図４ｃは、因子１．３３でピクチャスケールされた場合の、スケールされた参照ピクチャ２’を示している。スケールされた参照テンプレート領域６’は、ここでは現在のピクチャ１のテンプレート領域４に良好にマッチする。実際には、最適なスケーリング因子は、プレゼンテーション時間が相互に近い参照ピクチャの場合、１に近いか、またはきわめて近い。一部の実施形態では、参照ピクチャ２は、水平方向および垂直方向の両方で同じスケーリング因子を使用してスケールされる。しかし、他の実施形態では、異なるスケーリング因子が水平方向および垂直方向に使用される。
【００４３】
テストするスケーリング因子の数を減らすために、スケーリング因子は、プレゼンテーション時間が近い参照ピクチャ２については大きなスケーリング因子が省略され得、逆にプレゼンテーション時間が遠い参照ピクチャ２については小さいスケーリング因子が省略され得るように、参照ピクチャ２への（時間的な）距離に応じて選択され得る。さらに、前に復号された（空間的または時間的に）隣接するブロックで導き出されたスケーリング因子が、検索の開始点として使用され得る。グローバルズームが存在する場合、スケーリング因子は、ピクチャレベルでも見つかり得る。
【００４４】
スケーリング因子ごとに、参照ピクチャ２の検索領域（すなわち、参照テンプレート領域６および予測領域５）が、新たなスケールにスケールされ得る。スケーリング、すなわち検索領域のサイズ変更は、異なる方法で実行され得る。スケーリングは、現在のピクチャ１の標本に対応するフィルタ処理された参照標本を生成するために、それぞれのスケーリング因子ごとに、補間フィルタを使用して実行され得る。これにより、検索領域のスケールされた標本のセット（スケールされた各標本は、特定のスケーリング因子を有する）が得られる。
【００４５】
使用され得る（ソフトウェア）フィルタまたはスケーリングアルゴリズムの例（すなわち、サイズ変更の方法の例）として、最近接フィルタ、バイリニアフィルタ、バイキュービック補間フィルタ、ＨＥＶＣ等で使用される離散コサイン変換補間フィルタ（ＤＣＴ−ＩＦ）などがある。ただし、エンコーダとデコーダが共に同じフィルタを使用する限り、原則として任意のフィルタが使用され得ることに留意されたい。また、エンコーダとデコーダが共に同じ精度を使用する限り、スケールされた標本の任意の精度が使用され得る。精度の具体的な一例は、ＨＥＶＣで使用されるクォーター標本解像度である。ただし、より微細またはより粗大な標本化が使用される可能性がある。アルゴリズムは、コンピュータ可読ストレージ媒体等に格納される命令のセットとして理解され得る。
【００４６】
スケールされた参照ピクチャ２’に対する最良のテンプレートマッチを見つけ出すために、テンプレートマッチングが適用され得る。検索は、選択された運動ベクトル検索範囲内で実行される。すなわち、運動ベクトル範囲が検索領域を画定する。運動ベクトル検索範囲は、スケールされた参照ピクチャのスケーリング因子に応じて異なり得る。検索用の初期運動ベクトルは、現在のスケーリング因子に比例するように選択される。すなわち、入力候補の運動ベクトルは、スケーリング因子に応じてスケールされ得る。スケーリングは、テンプレートマッチングの前の前処理パス、すなわちアルゴリズムもしくは命令のセットとして実行されるか、または、テンプレートマッチングの一部として実行され得る。技術分野で知られているように、エンコーダは、ピクチャまたはピクチャのセットを符号化するときに、２つ以上の「パス」を使用し得る。たとえば、第１の「パス」では、統計情報が収集され得、その統計情報に基づいてモード判断の第１段階が行われ得、対応して、続く第２の「パス」では、絞り込まれた符号化判断による完全な符号化を、レート歪み最適化を使用して行うことができる。そのような複数の「パス」を備えることは、統計情報に基づく適切な符号化判断、ビットレート制御の向上、ビデオの品質の向上などの利点をもたらす。よって一部の実施形態では、スケーリングは、たとえばビデオの品質を向上させるために、１つまたは複数のパスで実行され得る。
【００４７】
一部の実施形態では、マッチング手続きを高速化するために、スケールされた標本のサブセットのみが、マッチング手続きの一部のステップ、たとえば第１の粗検索で使用され得る。サブセットは、たとえば、１つおきまたは３つおきのピクチャとして、マッチング領域の外側の領域のみ、または何らかの他の所定の方法で選択され得る。さらなる単純化のために、粗検索で、スケールされた標本のすべてを使用するか、またはスケールされた標本の整数標本精度のサブセットのみを使用することができる。これにより、参照標本のフィルタ処理を回避することにより複雑さが軽減される。その後、詳細検索で、参照標本を副標本精度で絞り込むことができる。
【００４８】
最良のテンプレートマッチが判断されると、スケールされた参照ピクチャ２’の予測領域５’が、現在のピクチャ１の現在のブロック３を予測するために使用される。この文脈では、「最良のマッチ」（誤差を最小化）とは、たとえば、誤差絶対値和（ＳＡＤ）がしきい値よりも小さい等の参照を満たす第１のテンプレートマッチとして定義され得ることに留意されたい。別の例として、マッチは、テンプレート領域に対する平均二乗誤差（ＭＳＥ）が最小化されるときに、最良のマッチであると考えられ得る。サイズがｍ×ｎピクセルである長方形のブロックＩと、サイズがｍ×ｎピクセルピクセルである長方形のブロックＫとの間のＭＳＥは、以下に基づいて計算され得る。
0006379186.tif 000011
【００４９】
テンプレートマッチングでスケーリングを使用するときにエンコーダ側とデコーダ側の両方で予測領域（予測ブロックとも呼ばれる）が導き出され得る仕組みを記述する疑似コードを以下に示す。
0006379186.tif 000012
【００５０】
最良のマッチは、たとえば、現在のピクチャ１のテンプレート領域４の標本とスケールされた参照テンプレート領域６’の対応する標本との間の誤差絶対値の和が最小であるスケーリング因子、または、現在のピクチャ１のテンプレート領域４の標本とスケールされた参照テンプレート領域６’の対応する標本との間の二乗誤差の和が最小であるスケーリング因子を指し得る。
【００５１】
別の実施形態では、マッチングを実行する前に、参照テンプレート領域６のみがスケールされ、予測領域５はスケールされない。最良のテンプレートマッチが見つかると、参照ピクチャ２の対応する予測領域５が、現在のブロック３に合致するようにスケールされる。
【００５２】
図５は、バイラテラルマッチングの変換の例、詳細には、スケーリング因子の使用の例を示している。前のフレームＲｅｆ０（参照番号１２で図示）、詳細には、表示順で現在のピクチャＣｕｒＰｉｃ（参照番号１１で図示）の前の任意のピクチャ１２、および／または後のピクチャＲｅｆ１（参照番号１３で図示）、詳細には、表示順で現在のピクチャ１１の後の特定の任意のピクチャ１３が、説明された幾何変換のいずれかを使用して変換され得る。これにより、参照ピクチャ１２、１３の変換されたバージョン１２’、１３’と、対応する変換されたマッチング領域１５’、１６’とが得られる。この文脈では、バイラテラルマッチングの場合、参照ピクチャ１２、１３の両方は、一部の実施形態では、表示順で現在のピクチャ１１の後であるが復号順で現在のピクチャ１１の前であるピクチャであり得ることに留意されたい。さらに他の実施形態では、参照ピクチャ１２、１３の両方は、表示順と復号順の両方で現在のピクチャ１１の前である。よって現在のピクチャ１１の現在のブロック１４の予測は、これら２つの参照ピクチャ１２、１３から外挿され得る。
【００５３】
図５では、前の参照ピクチャ１２のマッチング領域１５がスケールされており（詳細には、縮小されており）、後の参照ピクチャ１３のマッチング領域１６もスケールされている（詳細には、拡大されている）。マッチング領域１５、１６のこれらの幾何変換（ここでは、スケーリング）は、図面において、参照ピクチャ１２、１３内の点線の長方形でそれぞれ示されている。マッチング領域１５、１５’、１６、１６’のブロックサイズ自体は、直線で描かれた等価のサイズのブロック１５、１５’、１６、１６’により示されているように、変更されていない。すなわち、幾何変換されたマッチング領域１５’、１６’ならびに変換されていないマッチング領域１５、１６のブロックサイズは、同じである。図５の下の部分に、変換されたマッチング領域１５’、１６’が示されている。
【００５４】
現在のピクチャ１１の予測されるブロック１４は、参照ピクチャ１２、１３のマッチング領域１５、１６から予測されるか、または本教示によると、変換された参照ピクチャ１２’、１３’の変換されたマッチング領域１５’、１６’から予測され得る。ここで、複数の選択肢が存在し、複数の実施形態が与えられる。一部の実施形態では、２つの参照ピクチャ１２、１３のうちの１つだけが幾何変換され、他の実施形態では、両方の参照ピクチャ１２、１３が変換されてマッチング手続きで使用される。オブジェクトは、現在のピクチャ１１と一方の参照ピクチャ１２との間で幾何変換されているが、他方の参照ピクチャ１３に対しては幾何変換されていない可能性がある。よって、選択された第１の予測領域１５、１５’または選択された第２の予測領域１６、１６’の任意の組み合わせを、マッチング手続きで組み合わせることができる。
【００５５】
図６は、バイラテラルマッチングの場合の、上述した一定のスケーリング因子が×２のスケール因子と等価である例を示している。バイラテラルマッチングの場合、現在のピクチャ１１（図６では、Ｃｕｒ  Ｐｉｃとも示されている）のマッチングブロックを見つけ出すために利用できる２つの参照ピクチャＲｅｆ０、Ｒｅｆ１が存在する。前の参照ピクチャ１２は、図５を参照しながら説明したように、現在のピクチャ１１の前の任意のピクチャであり、後の参照ピクチャ１３は、現在のピクチャ１１の後の任意のピクチャである。第１の（前の）変換された参照ピクチャ１２’と第２の（後の）変換された参照ピクチャ１３’との間の連続的なズームを仮定すると、スケーリング因子は、第１の変換された参照ピクチャ１２’と現在のピクチャ１１との間の距離ＴＤ０および現在のピクチャ１１と第２の変換された参照ピクチャ１３’との間の距離ＴＤ１に比例する。ＴＤ０がＴＤ１と等価である特殊な場合には、スケーリング因子は同じになる。ここでも、図６の例は純粋に例として与えられており、他の実施形態では、第１および第２の参照ピクチャ１２、１３の一方のみが変換され得ることに留意されたい。
【００５６】
図７は、バイラテラルマッチングの場合の上述したスケーリングを示すための具体的なピクチャを示す。幾何変換されたバージョン１２’、１３’が、それぞれの参照ピクチャ１２、１３について取得される。現在のピクチャ１１は、復号される現在のブロック１４を含む。第１の幾何変換された（詳細には、スケールされた）参照ピクチャ１２’は、第１のスケールされた参照マッチング領域１５’を含み、第２の幾何変換された（同じくスケールされた）参照ピクチャ１３’は、第２のスケールされた参照マッチング領域１６’を含む。現在のブロック１４は、第１および第２のマッチング領域１５’、１６’の別々にスケールされたバージョンから内挿される。これにより、いかなる幾何変換も実行しない場合に比べて、精度が明らかに向上する。
【００５７】
一部の実施形態では、運動ベクトル検索、すなわち、マッチングでの予測誤差を最小化する動作軌道に沿った運動ベクトルの検索の開始位置の選択は、（概ね）ズームの中心である。
【００５８】
本説明では、「ズーム」は、グローバルズームとローカルズームに分類される。グローバルズーム、たとえばカメラズームは、ピクチャのすべての部分に影響を与える。ローカルズームは、ピクチャのオブジェクト（たとえば、サッカーボール）がカメラに近づくかまたは離れて移動するときなど、ピクチャの一部のみに影響を与える。
【００５９】
グローバルズームの場合、スケーリング因子およびズームの中心を、エンコーダ側においてピクチャレベルで見つけ出すことができる。そのための効率的な方法は、第１および第２の参照ピクチャ１２、１３ならびに現在のピクチャ１１を副標本化し、最良のマッチが見つかるまで多様なスケーリング因子および変位ベクトルを反復してテストすることである。これを、副標本化されたピクチャ内での検索による最良のマッチのスケールされたバージョンを開始点として、フル解像度のピクチャに対して繰り返すことができる。
【００６０】
ズームの中心が原点であり、第１および第２の参照ピクチャ１２、１３と現在のピクチャ１１との間の距離ＴＤ０およびＴＤ１が同じであると仮定すると、以下の条件が真である。
ｚｖｃｕｒ＝ｚｖ０＊ｓ＝ｚｖ０’＝ｚｖ１／ｓ＝ｚｖ１’  （１０）
ここで、ｚｖｃｕｒは現在のピクチャ１１のズーム中心までの距離であり、ｚｖ０は前の参照ピクチャ１２についてのズーム中心までの距離であり、ｓはスケーリング因子であり、ｚｖ１は後の参照ピクチャ１３についてのズーム中心までの距離であり、ｚｖ０’は前の参照ピクチャ１２についてのズーム中心までのスケールされた距離であり、ｚｖ１’は後の参照ピクチャ１３についてのズーム中心までのスケールされた距離である。
【００６１】
自然運動ｍｖ０に第１の参照ピクチャ１２のズームからの運動を組み合わせる、スケールされていない総運動ベクトルｔｖ０は、次のように記述することができる。
ｔｖ０＝ｍｖ０＋ｚｖｏ−ｚｖｃｕｒ  （１１）
【００６２】
自然運動ｍｖ１に第１の参照ピクチャ１２のズームからの運動を組み合わせる、対応する総運動ベクトルｔｖ１は、次のように記述することができる。
ｔｖ１＝ｍｖ１＋ｚｖ１−ｚｖｃｕｒ  （１２）
【００６３】
上述した運動ベクトルは、スケーリングまたはバイラテラルマッチングが含まれない場合に選択される可能性がある運動ベクトルである。
【００６４】
図８は、スケーリングまたはバイラテラルマッチングを伴わない運動ベクトルを示す。ピクチャは、第１の参照ピクチャ１２と現在のピクチャ１１との間、および現在のピクチャ１１と第２の参照ピクチャ１３との間で、因子２でズームされている。各ブロック１５、１４、１６からズームの中心（原点に置かれる）までの距離が、ズームベクトルｚｖ０、ｚｖｃｕｒ、およびｚｖ１で示されている。第１の参照ブロック１５の自然運動ｍｖ０および第２の参照ブロック１６の自然運動ｍｖ１、ならびに総運動ベクトルｔｖ０およびｔｖ１が、参照ピクチャ１２、１３に示されている。
【００６５】
参照ピクチャ１２、１３を、ズームの中心を原点としてスケールすることで、ズームに起因するブロック１５、１６の変位が修正される。スケールされた総運動ベクトルｔｖ’０およびｔｖ’１は、次のようになる。
ｔｖ’０＝ｓ＊ｍｖ０＋ｚｖｃｕｒ−ｚｖ’０＝ｓ＊ｍｖ０＝ｍｖ’０
および
ｔｖ’１＝ｍｖ１／ｓ＋ｚｖｃｕｒ−ｚｖ’１＝ｍｖ１／ｓ＝ｍｖ’１
【００６６】
連続的な自然運動の仮定の下で、自然運動ベクトルｍｖ’１、ｍｖ’０は、距離ＴＤ０およびＴＤ１に比例し、ＴＤ０がＴＤ１と等価である特殊な場合には、次のようになる。
ｍｖ’１＝−ｍｖ’０
【００６７】
図９はこれを示している。スケーリング因子を使用して参照ピクチャ１２、１３をスケールすることで、ピクチャ内のオブジェクトのサイズと、ズームの中心までの距離とが、現在のピクチャ１１におけるものと同じになる。よって、初期変位ベクトルは不要である。連続的な運動を仮定すると、新たにスケールされた運動ベクトルｍｖ’０およびｍｖ’１は、参照ピクチャ１２、１３と現在のピクチャ１１との間の距離ＴＤ０およびＴＤ１に比例する。これらの距離が同じである場合、スケールされた運動ベクトルは鏡写しとなる。
【００６８】
バイラテラルマッチングでは、最良のマッチは、たとえば、および上述したように、Ｒｅｆ０のスケールされた標本とＲｅｆ１の対応するスケールされた標本との間の誤差絶対値の和が最小であるスケーリング因子、または、Ｒｅｆ０のスケールされた標本とＲｅｆ１の対応するスケールされた標本との間の二乗誤差の和が最小であるスケーリング因子を指し得る。
【００６９】
本教示に係る一部の実施形態では、テンプレートマッチングおよびバイラテラルマッチングは、マッチさせるブロックの回転を許容することにより拡張される。
【００７０】
図１０は、テンプレートマッチングの場合の回転を示す。参照ピクチャ２のテンプレート領域６（上述したように、マッチング領域とも呼ばれる）および予測ブロック５（破線で描かれている）は、方程式の並進変更（４）を使用して、予測ブロック５の中心を中心にして角度θほど回転している。これにより、幾何変換されたテンプレート領域６’および予測領域５’（実線で描かれている）が得られる。代替で、参照ピクチャ２の参照テンプレート領域６は、領域４、６’のマッチを試行する前に回転される。テンプレートマッチングで試行する妥当な角度のセットは、｛−４５、−３０、−２０、−１３、−８、−５、−３、−２、−１、１、２、３、５、８、１３、２０、３０、４５｝を含み得る。実際には、最適な回転角度は、プレゼンテーション時間が相互に近いピクチャの場合、０にきわめて近い可能性がある。テストする角度は、プレゼンテーション時間が近い参照ピクチャについて大きい角度が省略され得るように、参照ピクチャ２への距離に応じて選択され得る。さらに、以前に復号された（空間的または時間的に）隣接するブロックで使用された角度が、最良のマッチの検索の開始点として使用され得る。
【００７１】
図１１は、回転が適用されるテンプレートマッチングの例を、例示的なピクチャで示している。見てわかるように、参照ピクチャ２の予測領域５は、現在のピクチャ１の復号されるブロック３に、回転が適用されない場合よりも良好にマッチする。マッチが所望の精度を満たさない場合、参照ピクチャ２は、そのような精度に達するまで、別の角度で回転され得る。
【００７２】
次の疑似コードは、回転を使用する場合に予測ブロックがエンコーダとデコーダの両方で導き出される仕組みを示すために提供されている。
for each block
for each angle
rotate reference picture using angle
for each motion vector
check match of template between current picture and rotated reference picture
if best match
store prediction block
【００７３】
最良のマッチは、たとえば、現在のピクチャのテンプレート領域４の標本と回転された参照テンプレート領域６’の対応する標本との間の誤差絶対値の和が最小である回転、または、現在のピクチャのテンプレート領域４の標本と回転された参照テンプレート領域６’の対応する標本との間の二乗誤差の和が最小である回転を示し得る。
【００７４】
図１２は、回転を伴うバイラテラルマッチングの例を示す。第１の参照ピクチャ１２の変換されたマッチング領域１５’および変換されていないマッチング領域１５が、実線および破線でそれぞれ示されている。対応して、第２の参照ピクチャ１３の変換されたマッチング領域１６’および変換されていないマッチング領域１６も、実線および破線でそれぞれ示されている。連続的な回転を仮定すると、角度θは、現在のピクチャ１１と第１および第２の参照ピクチャ１２、１３との間の時間的距離ＴＤ０およびＴＤ１に比例するはずである。ＴＤ０がＴＤ１と等価である特殊な場合には、Ｒｅｆ０と現在のピクチャ１１との間の回転角度−θは、現在のピクチャ１１と第２の参照ピクチャ１３との間の回転角度θと等価である。
【００７５】
回転を含む実施形態について、マッチング領域および予測領域が参照ピクチャに対して回転され、参照ピクチャのその他の部分が回転されてないという観点で上述した。言い換えると、参照ピクチャまたは参照ピクチャの一部が（対角で）回転され、マッチング領域および予測領域は静的である。
【００７６】
回転の中心がわかっている場合、参照ピクチャ１２、１３をスケーリングの場合と同様に修正して、最良のマッチを検索するための適切な開始位置を得ることができる。回転の中心は、たとえば、グローバルスケール（ピクチャの回転）で計算するか、以前に見つかった回転ブロックおよびその参照ブロックから計算することができる。バイラテラルマッチングでは、最良のマッチは、たとえば（および上述したように）、第１の参照ピクチャ１２の回転された標本と第２の参照ピクチャ１３の対応する回転された標本との間の誤差絶対値の和が最小である回転、または、第１の参照ピクチャ１２の回転された標本と第２の参照ピクチャ１３の対応する回転された標本との間の二乗誤差の和が最小である回転を示し得る。
【００７７】
本発明の別のより汎用化された実施形態では、参照ピクチャ１２、１３は、テンプレートマッチングまたはバイラテラルマッチングが実行される前に、任意の幾何変換Ｍを使用して変換され得る。スケーリングおよび回転の例で使用されたもの以外の幾何変換の例として、上述したような並進、せん断（スキュー）、反射、および正投影がある。
【００７８】
よってさまざまな実施形態では、（与えられた特定の例と対照的に）より汎用的な幾何変換を使用することができる。幾何変換は、上述した幾何変換の１つ、または上述した幾何変換の１つもしくはいくつかの組み合わせであり得る。すなわち、幾何変換Ｍは、１つまたは多数の幾何変換の合成であり得る。たとえば、Ｍは、以下のように表すことができる。
Ｍ＝ＲＳＴ
ここで、Ｒは回転行列、Ｓはスケーリング行列、Ｔは並進行列である。
【００７９】
テンプレートマッチングまたはバイラテラルマッチングを行うときに、回転角度θ、スケーリング因子ｓｘおよびｓｙ、ならびに並進運動ベクトルｔｘおよびｔｙの考えられるすべての組み合わせをテストするのは、幾分複雑であり得る。代わりに、考えられる組み合わせのまばらなサブセットを選択して、テンプレートマッチングまたはバイラテラルマッチングでテストすることができる。
【００８０】
考えられる組み合わせのまばらなサブセットは、現在のピクチャにプレゼンテーション時間の点で近い参照ピクチャよりも、現在のピクチャからさらに離れている参照ピクチャのほうが、変更（スケーリング、回転、移動等）が大きくなる可能性があるという点で、参照ピクチャまでの距離にも依存し得る。たとえば、時間的に近い参照ピクチャに対しては、少数の組み合わせをテストすることができる。
【００８１】
一部の実施形態では、ブロックの一部はイントラ符号化される。この実施形態では、現在のブロックの一部（たとえば現在のブロックの底部側／右側のサブブロックもしくはピクセルの小セット、またはまばらに選択されたピクセル）が、イントラ符号化を使用して符号化される。これは、通常のテンプレートマッチングで良好なマッチを得られない場合に有益であり得る。現在のブロックの一部をイントラ符号化することで、現在のブロック内にあるものに対してマッチングが行われるため、テンプレートマッチングのよりよい固定点を得ることが可能になり得る。この実施形態の変種では、現在のブロックの重複部分に関してのみ、イントラ符号化モードがデコーダにシグナリングされる。
【００８２】
以下では、さまざまな特徴および実施形態について説明するが、これらの特徴および実施形態は、テンプレートマッチングの使用に加えて、バイラテラルマッチングの使用とも組み合わせることができることｎ留意されたい。さらに、参照番号は、時間マッチングおよびバイラテラルマッチングが使用され得る実施形態についての図４ａ、図４ｂ、図４ｃ、および図５に関連する。
【００８３】
よって、これまでに説明した実施形態の変種であって、さらなる実施形態を示す変種では、何らかのシグナリングが使用され得る。テンプレートマッチングの考え方は、運動ベクトル等の特定の情報（本教示の実施形態では、スケーリングパラメータ、回転パラメータ、およびその他の変換パラメータ）をビットストリームでシグナリングする必要性をなくすというものである。
【００８４】
しかし、テンプレートマッチングを使用するタイミングや、テンプレートマッチングの使用対象（たとえば、並進、スケーリング、回転等）をシグナリングすることが必要な場合がある。さらに、マッチング手続きでテストする組み合わせの数をシグナリングすると有益であり得る。この情報は、シーケンスパラメータセット（ＳＰＳ）等のシーケンスレベル、ピクチャパラメータセット（ＰＰＳ）等のピクチャレベル、スライスレベル、またはブロックレベルでシグナリングされ得る。
【００８５】
一部の実施形態では、いくつかの予測領域候補がテンプレートマッチングから得られる。使用する予測領域候補のインデックスが、エンコーダからデコーダにビットストリームでシグナリングされる。開示されるテンプレートマッチング手続きのエンコーダ側でのステップはデコーダ側でのステップに対応するため、同じ候補セットがデコーダ側で導き出される。よって、エンコーダでマッチングを行い、使用する候補をデコーダにシグナリングすることができる。これにより、デコーダ側での処理ニーズが軽減される。
【００８６】
一部の実施形態では、上述した方法を（さまざまな実施形態で）実装するときのデコーダ側の複雑さを軽減するために、マッチングを実際の符号化よりも低い解像度で実行すると有利であり得る。たとえば、参照ピクチャおよびテンプレート領域を両方向で１／２にダウンスケールして、マッチされるピクセルの数を７５％減らすことができる。
【００８７】
他の実施形態では、上述した実施形態を実装するためのデコーダ側の複雑さを同じく軽減するために、検索戦略が使用され得る。たとえば、幾何変換を見つけるためのマッチングを２つの検索ステップで実行すると有益であり得る。第１の検索ステップで、再標本化された参照標本の粗い標本精度（たとえば、整数）で、検索領域に対するＮ個の最良のマッチが選択される。第２のステップで、Ｎ個の最良のマッチが、再標本化された参照標本の最終的な標本精度（たとえば、クォーター標本）を使用して絞り込まれる。第２のステップで最良のマッチを示す幾何変換が選択される。Ｎ個の最良のマッチは、たとえば、誤差絶対値和（ＳＡＤ）または重み付けされたＳＡＤを使用することにより判断され得る。重み付けされたＳＡＤを使用することで、最終的な標本からさらに離れている粗標本より、最終的な標本に近い粗標本に、大きい重みを与えることが意図される。
【００８８】
代替の実施形態では、第１の検索がエンコーダとデコーダの両方で実行されて、Ｎ個の候補が与えられる。次に、第２の検索がエンコーダのみで実行され、使用する候補が方法の使用時にデコーダにシグナリングされる。よってデコーダは、選択された候補について、参照標本の最終的な標本精度への再標本化を実行するだけでよい。
【００８９】
これまでに説明した特徴および実施形態は、既に示したように、多様な方法で組み合わせることができる。以下では、多様な組み合わせのさらなる例を示す。
【００９０】
図１３は、本教示に係るエンコーダでの方法２０のステップのフローチャートを示す。
【００９１】
方法２０は、エンコーダ４０でビデオピクチャをビデオビットストリームに符号化するために実行され得る。方法２０は、参照ピクチャ２；１２、１３の変換されたバージョン２’；１２’、１３’を、スケーリング、回転、せん断、反射、および投影の少なくとも１つを含む幾何変換を使用して取得すること２１を含む。使用する幾何変換は、スケーリング、回転、せん断、反射、および投影の任意の組み合わせであり得る。さらに、幾何変換は、スケーリング、回転、せん断、反射、および投影の少なくとも１つに加えて、並進も含み得ることに留意されたい。
【００９２】
方法２０は、参照ピクチャ２；１２、１３の参照マッチング領域６；１５、１６を第２のピクチャ１；１３、１２のマッチング領域４；１６、１５にマッチさせることと、変換されたバージョン２’；１２’、１３’の参照マッチング領域６’；１５’、１６’を第２のピクチャ１；１３、１２のマッチング領域４；１６、１５にマッチさせることとを含むマッチング手続きを、少なくとも１回実行すること２２を含む。
【００９３】
方法２０は、現在のピクチャ１；１１のブロック３；１４を、ブロック３；１４に対して、参照マッチング領域６；１５、１６に基づく第１の予測領域５；１５、１６または変換された参照マッチング領域６’；１５’、１６’に基づく第２の予測領域５’；１５’、１６’を選択することにより符号化すること２３を含み、第１の予測領域および第２の予測領域が、それぞれの参照マッチング領域６；６’；１５、１６、１５’、１６’に少なくとも部分的に重複し、第２のピクチャ１；１３、１２の対応するマッチング領域４；１６、１５に対するマッチング誤差が最小である予測領域がブロックの予測として選択される。
【００９４】
方法２０は、いくつかの利点をもたらす。たとえば、マッチングの前に幾何変換を適用することで、テンプレートマッチングおよびバイラテラルマッチングの予測が向上する。これは、ひいては圧縮効率が向上することを意味する。なぜなら、エンコーダとデコーダの両方でマッチング検索が実行される場合に、余分なシグナリングが不要だからである。
【００９５】
実施形態では、参照ピクチャ２；１２、１３の変換されたバージョン２’；１２’、１３’を取得すること２１は、参照マッチング領域６；１５、１６および予測領域のみを変換することを含む。
【００９６】
実施形態では、方法２０は、マッチング手続きを、符号化すること２３よりも低い解像度で実行すること２２を含む。
【００９７】
さまざまな実施形態では、マッチング手続きを実行することは、第１の標本精度を使用して参照マッチング領域６；１５、１６に対するマッチの第１のセットを取得することと、第２の標本精度を使用して第１のセットのマッチを絞り込むこととを含み、符号化すること２３は、第２の標本精度が使用された第１のセットのマッチの中から予測領域を選択することを含む。
【００９８】
上記実施形態の変種では、方法２０は、デコーダに対し、第２の標本精度が使用された第１のセットのマッチの中の使用するマッチ候補に関する情報をシグナリングすることを含む。
【００９９】
さまざまな実施形態では、方法２０は、デコーダ５０に対し、マッチング手続きで使用する幾何変換に関する情報であって、マッチング手続きで使用する組み合わせの数、示唆された予測領域候補のセット、使用するスケーリング因子、および使用する角度の１つまたは複数を含む情報をシグナリングすることを含む。
【０１００】
さまざまな実施形態では、方法２０は、デコーダ５０に対し、マッチング手続き中にデコーダ５０で導き出された選択済み予測候補のセットの中の、ブロック３；１４の復号に使用する予測候補領域のインデックスをシグナリングすることを含む。
【０１０１】
さまざまな実施形態では、マッチング手続きはバイラテラルマッチングを含み、
−  第２のピクチャ１３、１２が、第２の取得された参照ピクチャ１３、１２または第２の取得された参照ピクチャ１３、１２の変換されたバージョン１３’、１２’を含み、方法２０が、ブロック１４の符号化２３中に、
−  第２の参照ピクチャ１３、１２の第２の参照マッチング領域に少なくとも部分的に重複する第３の参照予測領域、または第２の参照ピクチャ１３、１２の変換されたバージョン１３’、１２’の第２の参照マッチング領域に少なくとも部分的に重複する第４の予測領域を選択することと、
−  選択された第１の予測領域および選択された第３の予測領域または選択された第２の予測領域および選択された第４の予測領域に基づいて第５の予測領域を導き出すことと、
−  現在のピクチャ１１のブロック１４の符号化２３のために第５の予測領域を選択することとを含む。
【０１０２】
さまざまな組み合わせが考えられることが留意される。オブジェクトは、現在のピクチャ１１と一方の参照ピクチャ１２との間で幾何変換されているが、他方の参照ピクチャ１３に対しては幾何変換されていない可能性がある。よって、選択された第１の予測領域１５、１５’または選択された第２の予測領域１６、１６’の任意の組み合わせを、選択された第３の予測領域または選択された第４の予測領域のいずれかと組み合わせることができる。
【０１０３】
さまざまな実施形態では、マッチング手続きはテンプレートマッチングを含む。第２のピクチャは現在のピクチャを含み、第２のピクチャのマッチング領域は現在のピクチャのテンプレート領域を含む。
【０１０４】
上記実施形態のまたさらなる変種では、現在のピクチャのブロックの少なくとも一部のピクセルが、テンプレートマッチング／バイラテラルマッチングとは別のインター符号化モードを使用して符号化される。インター符号化モードは、従来の運動ベクトルシグナリングモード、マージモード、またはスキップモードを含み得る。これは、上記実施形態と同様に、従来のテンプレートマッチング／バイラテラルマッチングで良好なマッチが得られない場合に有益であり得る。現在のブロックの一部をイントラ符号化することで、現在のブロック内にあるものに対してマッチングが行われるため、テンプレートマッチング／バイラテラルマッチングのよりよい固定点を得ることが可能になり得る。この実施形態の変種では、現在のブロックの重複部分に関してのみ、インター符号化モードと、必要に応じて他のインター符号化パラメータとが、デコーダにシグナリングされる。
【０１０５】
テンプレートマッチング／バイラテラルマッチングは、本教示によると、並進のみと組み合わされ得ることが留意される。詳細には、参照ピクチャの変換されたバージョンの取得は、並進のみを含み、他の幾何変換を含まない。テンプレート領域は、予測領域に部分的に重複し、重複する領域のピクセルは、テンプレートマッチング／バイラテラルマッチングとは異なる手段で取得される。この手段は、たとえば、イントラ符号化、または明示的運動ベクトルシグナリングモード、マージモード、スキップモード等のインター符号化の他のモードを含む。
【０１０６】
上記実施形態の変種では、現在のピクチャのブロックの少なくとも一部のピクセルが、イントラ符号化を使用して符号化される。ブロックの一部は、参照ピクチャの、参照マッチング領域と参照予測領域とが重複する部分に対応する。この実施形態では、現在のブロックの一部、たとえば、現在のブロックの底部側／右側のサブブロックもしくはピクセルの小セット、またはまばらに選択されたピクセルが、イントラ符号化を使用して符号化される。これは、従来のテンプレートマッチング／バイラテラルマッチングで良好なマッチを得られない場合に有益であり得る。現在のブロックの一部をイントラ符号化することで、現在のブロック内にあるものに対してマッチングが行われるため、テンプレートマッチング／バイラテラルマッチングのよりよい固定点を得ることが可能になり得る。この実施形態の変種では、現在のブロックの重複部分に関してのみ、イントラ符号化モードがデコーダにシグナリングされる。
【０１０７】
図１４は、本教示に係るデコーダでの方法のステップを示すフローチャートである。図１３を参照して説明したエンコーダでの方法２０が、デコーダ５０での以下の方法３０に対応し、エンコーダでの方法に関連して上述した利点に対応する利点が、以下のデコーダの方法でも得られることが留意される。よって、これらの利点はここで反復せず、そのような利点については上述した対応する実施形態が参照される。さらに、上述したエンコーダの実施形態のそれぞれの説明は、以下の対応するデコーダの実施形態に当てはまる。よって、そのような説明は以下で反復せず、代わりに、対応するエンコーダの各実施形態が参照される。
【０１０８】
デコーダ５０で実行される方法３０は、ビデオビットストリームからビデオピクチャを復号するために提供される。方法３０は、
−  参照ピクチャ２；１２、１３の変換されたバージョン２’；１２’、１３’を、スケーリング、回転、せん断、反射、および投影の少なくとも１つを含む幾何変換を使用して取得すること３１と、
−  参照ピクチャ２；１２、１３の参照マッチング領域６；１５、１６を第２のピクチャ１；１３、１２のマッチング領域４；１６、１５にマッチさせることと、変換されたバージョン２’；１２’、１３’の参照マッチング領域６’；１５’、１６’を第２のピクチャ１；１３、１２のマッチング領域４；１６、１５にマッチさせることとを含むマッチング手続きを、少なくとも１回実行すること３２と、
−  現在のピクチャ１；１１のブロック３；１４を、ブロック３；１４に対して、参照マッチング領域６；１５、１６に基づく第１の予測領域５；１５、１６または変換された参照マッチング領域６’；１５’、１６’に基づく第２の予測領域５’；１５’、１６’を選択することにより復号すること３３であり、第１の予測領域および第２の予測領域が、それぞれの参照マッチング領域６；６’；１５、１６、１５’、１６’に少なくとも部分的に重複し、第２のピクチャ１；１３、１２の対応するマッチング領域４；１６、１５に対するマッチング誤差が最小である予測領域がブロックの予測として選択される、復号すること３３とを含む。
【０１０９】
一実施形態では、参照ピクチャ２；１２、１３の変換されたバージョン２’；１２’、１３’を取得すること３１は、参照マッチング領域６；１５、１６および予測領域のみを変換することを含む。
【０１１０】
さまざまな実施形態では、方法３０は、マッチング手続きを、復号すること３３よりも低い解像度で実行すること３２を含む。
【０１１１】
さまざまな実施形態では、マッチング手続きを実行することは、第１の標本精度を使用して参照マッチング領域６；１５、１６に対するマッチの第１のセットを取得することと、第２の標本精度を使用して第１のセットのマッチを絞り込むこととを含み、復号すること３３が、第２の標本精度が使用された第１のセットのマッチの中から予測領域を選択することを含む。
【０１１２】
さまざまな実施形態では、方法３０は、エンコーダ４０から、第２の標本精度が使用された第１のセットのマッチの中の使用するマッチ候補に関する情報を受け取ることを含む。
【０１１３】
さまざまな実施形態では、方法３０は、エンコーダ４０から、マッチング手続きで使用する幾何変換に関する情報であって、マッチング手続きで使用する組み合わせの数、示唆された予測領域候補のセット、使用するスケーリング因子、および使用する角度の１つまたは複数を含む情報を受け取ることを含む。
【０１１４】
さまざまな実施形態では、方法３０は、エンコーダ４０から、マッチング手続き中に導き出された選択済み予測候補のセットの中の、ブロック３；１４の復号に使用する予測候補領域のインデックスを受け取ることを含む。
【０１１５】
さまざまな実施形態では、マッチング手続きはバイラテラルマッチングを含み、第２のピクチャ１３、１２が、第２の取得された参照ピクチャ１３、１２または第２の取得された参照ピクチャ１３、１２の変換されたバージョン１３’、１２’を含み、方法３０が、ブロック１４の復号３３中に、
−  第２の参照ピクチャ１３、１２の第３の参照予測領域、または第２の参照ピクチャ１３、１２の変換されたバージョン１３’、１２’の第４の予測領域を選択することと、
−  選択された第１の予測領域および選択された第３の予測領域または選択された第２の予測領域および選択された第４の予測領域に基づいて、第５の予測領域を導き出すことと、
−  現在のピクチャ１１のブロック１４の復号３３のために第５の予測領域を選択することとを含む。
【０１１６】
さまざまな実施形態では、マッチング手続きはテンプレートマッチングを含み、第２のピクチャは現在のピクチャ１を含み、第２のピクチャのマッチング領域４は現在のピクチャ１のテンプレート領域を含む。
【０１１７】
一部の実施形態では、現在のピクチャ１；１１のブロック３；１４の少なくとも一部のピクセルは、イントラ符号化を使用して復号され、ブロック３；１４の一部が、参照ピクチャ２；１２、１３；１２’、１３’の、参照マッチング領域６；１５；１６；１５’；１６’と参照予測領域５；１５；１６；１５’；１６’とが重複する部分に対応する。
【０１１８】
またさらなる別の実施形態では、現在のピクチャのブロックの少なくとも一部のピクセルが、テンプレートマッチング／バイラテラルマッチングとは別のインター符号化モードを使用して復号される。インター符号化モードは、従来の運動ベクトルシグナリングモード、マージモード、またはスキップモードを含み得る。これは、上記実施形態と同様に、従来のテンプレートマッチング／バイラテラルマッチングで良好なマッチが得られない場合に有益であり得る。現在のブロックの一部をインター符号化することで、現在のブロック内にあるものに対してもマッチングが行われるため、テンプレートマッチング／バイラテラルマッチングのよりよい固定点を得ることが可能になり得る。この実施形態の変種では、現在のブロックの重複部分に関してのみ、インター符号化モードと、必要に応じて他のインター符号化パラメータとが、デコーダにシグナリングされる。
【０１１９】
図１５は、エンコーダおよびデコーダと、本教示に係る実施形態を実装する手段とを概略的に示す。エンコーダ４０およびデコーダ５０はそれぞれ、コンピュータプログラム製品であり得るメモリ４２、５２に格納されたソフトウェア命令を実行することができる、中央処理装置（ＣＰＵ）、マルチプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路等の１つまたは複数の任意の組み合わせを含むプロセッサ４１、５１を備える。エンコーダ４０のプロセッサ４１は、たとえば図１３に関連して説明したような、方法２０のさまざまな実施形態のいずれかを実行するように構成され得る。デコーダ５０のプロセッサ５１は、たとえば図１４に関連して説明したような、方法３０のさまざまな実施形態のいずれかを実行するように構成され得る。
【０１２０】
エンコーダ４０およびデコーダ５０のメモリ４２、５２は、リードアンドライトメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、磁気テープ、コンパクトディスク（ＣＤ）−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、ブルーレイディスク等の任意の組み合わせであり得る。メモリ４２、５２は、たとえば磁気メモリ、光学式メモリ、ソリッドステートメモリ、さらにはリモートに設置されたメモリの任意の１つまたは組み合わせであり得る、永続型ストレージをさらに含み得る。
【０１２１】
エンコーダ４０およびデコーダ５０はそれぞれ、他の装置との通信のためのインターフェイス４４、５４を備える。インターフェイス４４、５４は、たとえば、他の装置との通信のためのプロトコルスタック等を備え得、デコーダまたはエンコーダとの通信のためのインターフェイスをさらに備え得る。
【０１２２】
エンコーダ４０およびデコーダ５０は、本教示に係るさまざまな実施形態を実装するために、参照番号４５、５５で概略的に示された追加の処理回路を備え得る。
【０１２３】
エンコーダ４０は、ビデオピクチャをビデオビットストリームに符号化するために提供される。エンコーダ４０は、以下を行うように構成される。
−  参照ピクチャ２；１２、１３の変換されたバージョン２’；１２’、１３’を、スケーリング、回転、せん断、反射、および投影の少なくとも１つを含む幾何変換を使用することにより取得し、
−  参照ピクチャ２；１２、１３の参照マッチング領域６；１５、１６を第２のピクチャ１；１３、１２のマッチング領域４；１６、１５にマッチさせることと、変換されたバージョン２’；１２’、１３’の参照マッチング領域６’；１５’、１６’を第２のピクチャ１；１３、１２のマッチング領域４；１６、１５にマッチさせることとを含むマッチング手続きを、少なくとも１回実行し、
−  現在のピクチャ１；１１のブロック３；１４を、ブロック３；１４に対して、参照マッチング領域６；１５、１６に基づく第１の予測領域５；１５；１６または変換された参照マッチング領域６’；１５’、１６’に基づく第２の予測領域５’；１５’、１６’を選択することにより符号化し、第１の予測領域および第２の予測領域が、それぞれの参照マッチング領域６；６’；１５、１６、１５’、１６’に少なくとも部分的に重複し、第２のピクチャ１；１３、１２の対応するマッチング領域４；１６、１５に対するマッチング誤差が最小である予測領域がブロックの予測として選択される。
【０１２４】
エンコーダ４０は、たとえば、１つまたは複数のプロセッサ４１とメモリ４２とを備えることで上記ステップを実行するように構成され得、メモリ４２は、プロセッサ４１により実行可能な命令を含み、それによってエンコーダ４０は、上記ステップを実行するように動作することができる。
【０１２５】
実施形態では、エンコーダ４０は、参照ピクチャ２；１２、１３の変換されたバージョン２’；１２’、１３’を、参照マッチング領域６；１５、１６および予測領域のみを変換することにより取得するように構成される。
【０１２６】
さまざまな実施形態では、エンコーダ４０は、マッチング手続きを、符号化２３よりも低い解像度で実行するように構成される。
【０１２７】
さまざまな実施形態では、エンコーダ４０は、第１の標本精度を使用して参照マッチング領域６；１５、１６に対するマッチの第１のセットを取得し、第２の標本精度を使用して第１のセットのマッチを絞り込むことにより、マッチング手続きを実行するように構成され、第２の標本精度が使用された第１のセットのマッチの中から予測領域を選択することにより、符号化を行うように構成される。
【０１２８】
上記実施形態の変種では、エンコーダ４０は、デコーダ５０に対し、第２の標本精度が使用された第１のセットのマッチの中の使用するマッチ候補に関する情報をシグナリングするように構成される。
【０１２９】
さまざまな実施形態では、エンコーダ４０は、デコーダ５０に対し、マッチング手続きで使用する幾何変換に関する情報であって、マッチング手続きで使用する組み合わせの数、示唆された予測領域候補のセット、使用するスケーリング因子、および使用する角度の１つまたは複数を含む情報をシグナリングするように構成される。
【０１３０】
さまざまな実施形態では、エンコーダ４０は、デコーダ５０に対し、マッチング手続き中にデコーダ５０で導き出された選択済み予測候補のセットの中の、復号ブロック３；１４の復号に使用する予測領域候補のインデックスをシグナリングするように構成される。
【０１３１】
さまざまな実施形態では、マッチング手続きはバイラテラルマッチングを含み、第２のピクチャ１３、１２が、第２の取得された参照ピクチャ１３、１２または第２の取得された参照ピクチャ１３、１２の変換されたバージョン１３’、１２’を含み、エンコーダ４０が、ブロック１４の符号化中に、
−  第２の参照ピクチャ１３、１２の第３の参照予測領域、または第２の参照ピクチャ１３、１２の変換されたバージョン１３’、１２’の第４の予測領域を選択し、
−  選択された第１の予測領域および選択された第３の予測領域または選択された第２の予測領域および選択された第４の予測領域に基づいて、第５の予測領域を導き出し、
−  現在のピクチャ１１のブロック１４の符号化２３のために第５の予測領域を選択するように構成される。
【０１３２】
さまざまな実施形態では、マッチング手続きはテンプレートマッチングを含み、第２のピクチャは現在のピクチャ１を含み、第２のピクチャのマッチング領域４は現在のピクチャ１のテンプレート領域を含む。
【０１３３】
一部の実施形態では、現在のピクチャ１；１１のブロック３；１４の少なくとも一部のピクセルは、イントラ符号化を使用して符号化され、ブロック３；１４の一部が、参照ピクチャ２；１２、１３；１２’；１３’の、参照マッチング領域６；１５；１６；１５’；１６’と参照予測領域５；１５；１６；１５’；１６’とが重複する部分に対応する。
【０１３４】
一部の実施形態では、エンコーダ４０は、現在のピクチャのブロックの少なくとも一部のピクセルを、テンプレートマッチング／バイラテラルマッチングとは別のインター符号化モードを使用して符号化するように構成される。エンコーダ４０は、たとえば、従来の従来の運動ベクトルシグナリングモード、マージモード、またはスキップモードの中から選択されるインター符号化モードを使用して符号化を行うように構成され得る。方法２０に関連して上述したように、これは、従来のテンプレートマッチング／バイラテラルマッチングで良好なマッチが得られない場合に有益であり得る。この実施形態の変種では、エンコーダ４０は、現在のブロックの重複部分に関してのみ、インター符号化モードと、必要に応じて他のインター符号化パラメータとを、デコーダにシグナリングするように構成される。
【０１３５】
デコーダ５０は、ビデオビットストリームからビデオピクチャを復号化するために設けられる。デコーダ５０は、以下を行うように構成される。
−  参照ピクチャ２；１２、１３の変換されたバージョン２’；１２’、１３’を、スケーリング、回転、せん断、反射、および投影の少なくとも１つを含む幾何変換を使用して取得し、
−  参照ピクチャ２；１２、１３の参照マッチング領域６；１５、１６を第２のピクチャ１；１３、１２のマッチング領域４；１６、１５にマッチさせることと、変換されたバージョン２’；１２’、１３’の参照マッチング領域６’；１５’、１６’を第２のピクチャ１；１３、１２のマッチング領域４；１６、１５にマッチさせることとを含むマッチング手続きを、少なくとも１回実行し、
−  現在のピクチャ１；１１のブロック３；１４を、ブロック３；１４に対して、参照マッチング領域６；１５、１６に基づく第１の予測領域５；１５；１６または変換された参照マッチング領域６’；１５’、１６’に基づく第２の予測領域５’；１５’、１６’を選択することにより復号し、第１の予測領域および第２の予測領域が、それぞれの参照マッチング領域６；６’；１５、１６、１５’、１６’に少なくとも部分的に重複し、第２のピクチャ１；１３、１２の対応するマッチング領域４；１６、１５に対するマッチング誤差が最小である予測領域がブロックの予測として選択される。
【０１３６】
デコーダ５０は、たとえば、１つまたは複数のプロセッサ５１とメモリ５２とを備えることで上記ステップを実行するように構成され得、メモリ５２は、プロセッサ５１により実行可能な命令を含み、それによってデコーダ５０は、上記ステップを実行するように動作することができる。
【０１３７】
実施形態では、デコーダ５０は、参照ピクチャ２；１２、１３の変換されたバージョン２’；１２’、１３’を、参照マッチング領域６；１５、１６および予測領域のみを変換することにより取得するように構成される。
【０１３８】
さまざまな実施形態では、デコーダ５０は、マッチング手続きを、復号よりも低い解像度で実行するように構成される。
【０１３９】
さまざまな実施形態では、デコーダ５０は、第１の標本精度を使用して参照マッチング領域６；１５、１６に対するマッチの第１のセットを取得し、第２の標本精度を使用して第１のセットのマッチを絞り込むことにより、マッチング手続きを実行するように構成され、第２の標本精度が使用された第１のセットのマッチの中から予測領域を選択することにより、復号を行うように構成される。
【０１４０】
上記実施形態の変種では、デコーダ５０は、エンコーダ４０から、第２の標本精度が使用された第１のセットのマッチの中の使用するマッチ候補に関する情報を受け取るように構成される。
【０１４１】
さまざまな実施形態では、デコーダ５０は、エンコーダ４０から、マッチング手続きで使用する幾何変換に関する情報であって、マッチング手続きで使用する組み合わせの数、示唆された予測領域候補のセット、使用するスケーリング因子、および使用する角度の１つまたは複数を含む情報を受け取るように構成される。
【０１４２】
さまざまな実施形態では、デコーダ５０は、エンコーダ４０から、マッチング手続き中に導き出された選択済み予測候補のセットの中の、ブロック３の復号に使用する予測領域候補のインデックスを受け取るように構成される。
【０１４３】
さまざまな実施形態では、マッチング手続きはバイラテラルマッチングを含み、第２のピクチャ１３、１２が、第２の取得された参照ピクチャ１３、１２または第２の取得された参照ピクチャ１３、１２の変換されたバージョン１３’、１２’を含み、デコーダ５０が、ブロック１４の復号中に、
−  第２の参照ピクチャ１３、１２の第３の参照予測領域、または第２の参照ピクチャ１３、１２の変換されたバージョン１３’、１２’の第４の予測領域を選択し、
−  選択された第１の予測領域および選択された第３の予測領域または選択された第２の予測領域および選択された第４の予測領域に基づいて、第５の予測領域を導き出し、
−  現在のピクチャ１１のブロック１４の復号３３のために第５の予測領域を選択するように構成される。
【０１４４】
さまざまな実施形態では、マッチング手続きはテンプレートマッチングを含み、第２のピクチャは現在のピクチャ１を含み、第２のピクチャのマッチング領域４は現在のピクチャ１のテンプレート領域を含む。
【０１４５】
一部の実施形態では、現在のピクチャ１；１１のブロック３；１４の少なくとも一部のピクセルは、イントラ符号化を使用して復号され、ブロック３；１４の一部が、参照ピクチャ２；１２；１３；１２’；１３’の、参照マッチング領域６；１５；１６；１５’；１６’と参照予測領域５とが重複する部分に対応する。
【０１４６】
一部の実施形態では、デコーダ５０は、現在のピクチャのブロックの少なくとも一部のピクセルを、テンプレートマッチング／バイラテラルマッチングとは別のインター符号化モードを使用して復号するように構成される。デコーダ５０は、たとえば、従来の運動ベクトルシグナリングモード、マージモード、またはスキップモードの中から選択されるインター符号化モードを使用して復号を行うように構成され得る。たとえば、エンコーダ４０に関連して上述したように、これは、従来のテンプレートマッチング／バイラテラルマッチングで良好なマッチが得られない場合に有益であり得る。この実施形態の変種では、デコーダ５０は、現在のブロックの重複部分に関してのみ、インター符号化モードと、必要に応じて他のインター符号化パラメータとを、エンコーダから受け取るように構成される。
【０１４７】
図１５をさらに参照すると、本教示は、ビデオピクチャをビデオビットストリームに符号化するエンコーダ４０用のコンピュータプログラム４３と、ビデオビットストリームからビデオピクチャを復号するデコーダ５０用のコンピュータプログラム５３とをさらに包含する。エンコーダ用のコンピュータプログラム４３は、エンコーダ４０の少なくとも１つのプロセッサで実行されたときに、記載された実施形態のいずれかに応じて方法２０をエンコーダ４０に実行させるコンピュータプログラムコードを含む。デコーダ用のコンピュータプログラム５３は、デコーダ５０の少なくとも１つのプロセッサで実行されたときに、記載された実施形態のいずれかに応じて方法３０をデコーダ５０に実行させるコンピュータプログラムコードを含む。
【０１４８】
本教示は、記載されたような方法の実施形態を実装するコンピュータプログラム４３、５３を含むエンコーダおよびデコーダそれぞれ用のコンピュータプログラム製品４２、５２と、コンピュータプログラム４３、５３が格納されたコンピュータ可読手段とをさらに包含する。よって、コンピュータプログラム製品またはメモリは、プロセッサ４１、５１により実行可能な命令を含む。そのような命令は、コンピュータプログラム、または１つもしくは複数のソフトウェアモジュールもしくは機能モジュールに含まれ得る。コンピュータプログラム製品４２、５２は、既に述べたように、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、磁気テープ、コンパクトディスク（ＣＤ）−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、ブルーレイディスク等の任意の組み合わせであり得る。
【０１４９】
図１６は、本教示に係る実施形態を実装するための機能モジュール／ソフトウェアモジュールをそれぞれが含むエンコーダ４０およびデコーダ５０を示す。機能モジュールは、プロセッサで実行されるコンピュータプログラム等のソフトウェア命令を使用して、ならびに／または特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、個別論理部品（discrete logical components）、およびそれらの任意の組み合わせ等のハードウェアを使用して、実装することができる。上述した方法２０、３０の任意のステップを実行するようになされ得、詳細にはなされた、処理回路が提供され得る。
【０１５０】
エンコーダは、ビデオピクチャをビデオビットストリームに符号化するために設けられる。エンコーダは、参照ピクチャの変換されたバージョンを、スケーリング、回転、せん断、反射、および投影の少なくとも１つを含む幾何変換を使用して取得する第１のモジュール６１を備える。そのような第１のモジュール６１は、たとえば、参照ピクチャを変換するようになされた処理回路を備え得る。
【０１５１】
エンコーダは、参照ピクチャの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることと、変換されたバージョンの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることとを含むマッチング手続きを、少なくとも１回実行する第２のモジュール６２を備える。そのような第２のモジュール６２は、たとえば、マッチング手続きを実行するようになされた処理回路を備え得る。
【０１５２】
エンコーダは、現在のピクチャのブロックを、そのブロックに対して、参照マッチング領域に基づく第１の予測領域または変換された参照マッチング領域に基づく第２の予測領域を選択することにより符号化する第３のモジュール６３を備え、第１の予測領域および第２の予測領域が、それぞれの参照マッチング領域と少なくとも部分的に重複し、第２のピクチャの対応するマッチング領域に対するマッチング誤差が最小である予測領域がブロックの予測として選択される。そのような第３のモジュール６３は、たとえば、ブロックを符号化するようになされた処理回路を備え得る。
【０１５３】
モジュール６１、６２、６３の１つまたは複数は、ユニットで置換され得ることが留意される。
【０１５４】
図１６は、本教示に係る実施形態を実装する機能モジュール／ソフトウェアモジュールを含むデコーダをさらに示す。機能モジュールは、プロセッサで実行されるコンピュータプログラム等のソフトウェア命令を使用して、ならびに／または特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ、個別論理部品、およびそれらの任意の組み合わせ等のハードウェアを使用して、実装することができる。上述した方法３０の任意のステップを実行するようになされ得、詳細にはなされた、処理回路が提供され得る。
【０１５５】
デコーダは、ビデオビットストリームからビデオピクチャを復号するために設けられる。デコーダは、参照ピクチャの変換されたバージョンを、スケーリング、回転、せん断、反射、および投影の少なくとも１つを含む幾何変換を使用して取得するための第１のモジュール７１を備える。そのような第１のモジュール７１は、たとえば、参照ピクチャを変換するようになされた処理回路を備え得る。
【０１５６】
デコーダは、参照ピクチャの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることと、変換されたバージョンの参照マッチング領域を第２のピクチャのマッチング領域にマッチさせることとを含むマッチング手続きを、少なくとも１回実行する第２のモジュール７２を備える。そのような第２のモジュール７２は、たとえば、マッチング手続きを実行するようになされた処理回路を備え得る。
【０１５７】
デコーダは、現在のピクチャのブロックを、そのブロックに対して、参照マッチング領域に基づく第１の予測領域または変換された参照マッチング領域に基づく第２の予測領域を選択することにより復号する第３のモジュール７３を備え、第１の予測領域および第２の予測領域が、それぞれの参照マッチング領域と少なくとも部分的に重複し、第２のピクチャの対応するマッチング領域に対するマッチング誤差が最小である予測領域がブロックの予測として選択される。
【０１５８】
モジュール７１、７２、７３の１つまたは複数は、ユニットで置換され得ることが留意される。
【０１５９】
上述したエンコーダ４０およびデコーダ５０は、上述した方法と異なる方法で実装され得る。たとえば、エンコーダおよびデコーダは、アプリケーションプログラムまたはアプリケーションソフトウェアの形式（一般に「アプリ」と呼ばれる）でダウンロード可能な、プロセッサで実行されるダウンロード可能命令として実装され得る。エンコーダおよびデコーダは、たとえば、カメラ、タブレット、セットトップボックス、パーソナルコンピュータ、スマートフォン、または符号化および／もしくは復号が求められる任意の装置で実装（たとえば、ダウンロード）され得る。他の実施形態では、エンコーダおよびデコーダは、そのような装置のハードウェアまたはハードウェアおよびソフトウェアで実装される。
【０１６０】
本明細書では、本発明について主にいくつかの実施形態を参照しながら説明した。ただし、当業者により理解されるように、本明細書で開示された特定の実施形態以外の他の実施形態も、添付の特許請求の範囲により定義されるような本発明の範囲内で等しく可能である。
【図１】
0006379186.tif 000013
【図２】
0006379186.tif 000014
【図３】
0006379186.tif 000015
【図４ａ】
0006379186.tif 000016
【図４ｂ】
0006379186.tif 000017
【図４ｃ】
0006379186.tif 000018
【図５】
0006379186.tif 000019
【図６】
0006379186.tif 000020
【図７】
0006379186.tif 000021
【図８】
0006379186.tif 000022
【図９】
0006379186.tif 000023
【図１０】
0006379186.tif 000024
【図１１】
0006379186.tif 000025
【図１２】
0006379186.tif 000026
【図１３】
0006379186.tif 000027
【図１４】
0006379186.tif 000028
【図１５】
0006379186.tif 000029
【図１６】
0006379186.tif 000030