(57)【要約】  テーブルを維持することであって、各テーブルは、動き候補のセットを含み、各動き候補は、対応する動き情報に関連付けられる、ことと、少なくとも１つ以上のテーブルに基づき、最初の映像ブロックと、最初の映像ブロックを含む映像のビットストリーム表現との間の変換を行うことであって、変換を行うことは、チェック終了判定基準が満たされるまで規則で決定された順にテーブル内の動き候補をチェックすることを有する、映像処理の方法。【選択図】図２９
2021530183.tif 000002
【特許請求の範囲】
【請求項１】
テーブルを維持することであって、各テーブルは、動き候補のセットを含み、各動き候補は、対応する動き情報に関連付けられる、ことと、
少なくとも１つ以上のテーブルに基づき、第１の映像ブロックと、前記第１の映像ブロックを含む映像のビットストリーム表現との間の変換を行うことであって、前記変換を行うことは、チェック終了判定基準が満たされるまで規則で規定された順にテーブル内の動き候補をチェックすることと、
を有する、映像処理方法。
【請求項２】
前記規則は、前記テーブルにおける最後のＫ個の動き候補をチェックすることを指定し、Ｋが１以上である、請求項１に記載の方法。
【請求項３】
前記規則は、前記テーブルにおけるＬを法とするＫ（Ｋ％Ｌ）個の最初の候補がチェックされることを規定しており、ＫはＬ以上であり、Ｌは前記テーブルにおけるエントリの数を示す、請求項１に記載の方法。
【請求項４】
前記規則は、前記テーブルにおけるＬ個の動き候補をすべてチェックすることを規定しており、Ｌは前記テーブルにおけるエントリの数を示す、請求項１に記載の方法。
【請求項５】
前記規則は、動き候補インデックスの降順に基づいて、前記テーブルにおける前記動き候補をチェックすることを規定する、請求項１に記載の方法。
【請求項６】
前記規則は、動き候補インデックスの昇順に基づいて、前記テーブルにおける前記動き候補をチェックすることを規定する、請求項１に記載の方法。
【請求項７】
前記規則は、候補情報に基づいて、Ｋ個の動き候補を選択することを特定し、Ｋが１以上である、請求項１に記載の方法。
【請求項８】
前記候補情報は、前記第１の映像ブロックと前記動き候補に関連付けられた位置との間の距離を含む、請求項７に記載の方法。
【請求項９】
Ｋ個の最も近い動き候補を選択する、請求項７に記載の方法。
【請求項１０】
前記候補情報は、前記第１の映像ブロックのブロック形状を含み、前記ブロック形状は前記距離を算出するように考慮される、請求項７に記載の方法。
【請求項１１】
前記Ｋ個の動き候補の選択は、前記第１の映像ブロックの符号化情報に依存する、請求項７に記載の方法。
【請求項１２】
前記符号化情報は、前記第１の映像ブロックのブロックサイズまたはブロック形状のうちの少なくとも１つを含む、請求項１１に記載の方法。
【請求項１３】
前記第１の映像ブロックの前記符号化情報は、ＡＭＶＰモード、マージモード、アフィンモード、非アフィンＡＭＶＰモード、非アフィンマージモード、アフィンＡＭＶＰ（インター）モード、アフィンマージモード、非アフィンＡＭＶＰモード、非アフィンマージモード、ＣＰＲ（Ｃｕｒｒｅｎｔ  Ｐｉｃｔｕｒｅ  Ｒｅｆｅｒｅｎｃｅ）モード、または非ＣＰＲモードのうちの少なくとも１つを示す、請求項１１に記載の方法。
【請求項１４】
前記Ｋ個の動き候補の前記選択は、ｉ）前記テーブルにおける複数の動き候補の数、または、ｉｉ）前記テーブルから新しい動き候補を追加する前の、動き候補リストにおける利用可能な候補の数のうちの少なくとも１つに依存する、請求項７に記載の方法。
【請求項１５】
より小さいブロックサイズの場合、前記選択されたＫ個の動き候補は、前記テーブルにおける最後のＫ個の動き候補に対応しない、請求項１１に記載の方法。
【請求項１６】
別のテーブルにおける動き候補は、別の順にチェックされる、請求項１に記載の方法。
【請求項１７】
マージまたはＡＭＶＰ（Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）候補リストのうち少なくとも１つを含む動き候補リストが、最大許容候補数に達した場合、前記チェック終了判定基準を満たす、請求項１〜１６のいずれか１項に記載の方法。
【請求項１８】
チェック対象のテーブルから追加された動き候補の数が最大許容動き候補数に達した場合に、チェック終了判定基準を満たすことを特徴とする請求項１〜１６のいずれか１項に記載の方法。
【請求項１９】
チェック対象の前記最大許容動き候補数は、予め規定されるか、または信号通知される、請求項１８に記載の方法。
【請求項２０】
チェック対象のテーブルからの前記最大許容動き候補数は、ブロック形状、ブロックサイズ、または符号化モードのうち少なくとも１つに依存する、請求項１８に記載の方法。
【請求項２１】
ｉ）前記テーブルのサイズ、または、ｉｉ）チェック対象の前記テーブルからの動き候補の数のうちの少なくとも１つを信号通知することをさらに含む、請求項１に記載の方法。
【請求項２２】
前記候補リストにおける候補の数が、前記候補リストの最大許容候補数から閾値（Ｔｈ）を減算した値に達した場合、前記チェック終了判定基準を満たす、請求項１〜１６のいずれか１項に記載の方法。
【請求項２３】
前記閾値（Ｔｈ）は、正の整数として予め規定される、請求項２２に記載の方法。
【請求項２４】
ブロックによって前記閾値（Ｔｈ）が変化する、請求項２２に記載の方法。
【請求項２５】
前記閾値（Ｔｈ）は、ＶＰＳ（Ｖｅｄｅｏ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）、ＳＰＳ（Ｓｅｑｕｅｎｃｅ  Ｐａｒａｍｔｅｒ  Ｓｅｔ）、ＰＰＳ（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）、スライスヘッダ、またはタイルヘッダのうちの１つ以上において信号通知される、請求項２２に記載の方法。
【請求項２６】
前記閾値（Ｔｈ）は、ブロック形状、ブロックサイズ、または符号化モードのうちの少なくとも１つに依存する、請求項２２に記載の方法。
【請求項２７】
前記閾値（Ｔｈ）は、前記テーブルから動き候補を追加する前の利用可能な候補の数に依存する、請求項２２に記載の方法。
【請求項２８】
前記チェック終了判定基準は、テーブルにおける利用可能な動き候補の数、テーブルからの追加対象の最大許容動き候補、およびテーブルからの前記動き候補のチェック前における動き候補リストにおける利用可能な候補の数のうちの少なくとも１つに依存する、請求項１〜１６のいずれか１項に記載の方法。
【請求項２９】
前記順序は、ａ０、ａ０＋Ｔ０、ａ０＋Ｔ０＋Ｔ１、ａ０＋Ｔ０＋Ｔ１＋Ｔ２、．．．ａ０＋Ｔ０＋Ｔ１＋Ｔ２＋．．．＋ＴＫ−１と等しいインデックスを有するＫ個の動き候補を順に選択することによる、Ｌ個の候補を含む前記テーブルからのＫ個の動き候補のチェック順序を含み、ａ０とＴｉ（ｉは０．．．Ｋ−１である）は整数値である、請求項１に記載の方法。
【請求項３０】
前記テーブルにおける動き候補の最初のエントリとして、ａ０を０に設定する、請求項２９に記載の方法。
【請求項３１】
ａ０を（Ｋ−Ｌ／Ｋ）に設定し、演算子「／」は、結果をゼロに切り捨てる整数除算として定義される、請求項２９に記載の方法。
【請求項３２】
ａ０を、０とＬ／Ｋとの間の任意の整数に設定し、演算子「／」は、結果をゼロに切り捨てる整数除算として定義される、請求項２９に記載の方法。
【請求項３３】
ａ０は、前記第１の映像ブロックおよび近傍のブロックの符号化情報に依存する、請求項２９に記載の方法。
【請求項３４】
Ｔｉ（ｉは０とＫ−１との間の整数である）が同じ値を有する、請求項２９に記載の方法。
【請求項３５】
前記同じ値はＬ／Ｋであり、演算子「／」は、結果をゼロに切り捨てる整数除算として定義される、請求項３４に記載の方法。
【請求項３６】
（Ｋ，Ｌ，ａ０，Ｔｉ）は、（４，１６，０，４）、（４，１２，０，３）、（４，８，０，１）、（４，１６，３，４）、（４，１２，２，３）、または（４，８，１，２）のいずれか１つに設定される請求項２９に記載の方法。
【請求項３７】
前記チェック順序は、ＫがＬよりも小さい場合に適用される、請求項２９に記載の方法。
【請求項３８】
前記規則は、Ｋが閾値以上である場合、前記テーブルにおけるＬ個の動き候補のすべてをチェックすることを規定する、請求項２９に記載の方法。
【請求項３９】
前記閾値はＬである、請求項３８に記載の方法。
【請求項４０】
前記閾値はＫに依存するか、またはブロックによって変化する、請求項３８に記載の方法。
【請求項４１】
前記順序は、ａ０、ａ０−Ｔ０、ａ０−Ｔ０−Ｔ１、ａ０−Ｔ０−Ｔ１−Ｔ２、．．．ａ０−Ｔ０−Ｔ１−Ｔ２−．．．−ＴＫ−１と等しいインデックスを有するＫ個の動き候補を順に選択することによる、Ｌ個の候補を含むテーブルからのＫ個の動き候補のチェック順序を含み、ａ０とＴｉ（ｉは０．．．Ｋ−１である）は整数値である、請求項１に記載の方法。
【請求項４２】
前記テーブルにおける動き候補の最後のエントリとして、ａ０をＬ−１に設定する、請求項４１に記載の方法。
【請求項４３】
ａ０は、Ｌ−１−Ｌ／ＫとＬ−１との間の任意の整数に設定され、演算子「／」は、結果をゼロに切り捨てる整数除算として定義される、請求項４１に記載の方法。
【請求項４４】
Ｔｉ（ｉは０とＫ−１との間の整数である）は同じ値を有する、請求項４１に記載の方法。
【請求項４５】
前記同じ値はＬ／Ｋであり、演算子「／」は、結果をゼロに切り捨てる整数除算として定義される、請求項４４に記載の方法。
【請求項４６】
（Ｋ，Ｌ，ａ０，Ｔｉ）は、（４，１６，Ｌ−１，４）、（４，１２，Ｌ−１，３）、（４，８，Ｌ−１，１）、（４，１６，Ｌ−４，４）、（４，１２，Ｌ−３，３）、または（４，８，Ｌ−２，２）のいずれか１つに設定される請求項４２に記載の方法。
【請求項４７】
前記チェック順序は、ＫがＬよりも小さい場合に適用される、請求項４１に記載の方法。
【請求項４８】
前記規則は、Ｋが閾値以上である場合、前記テーブルにおけるＬ個の動き候補のすべてをチェックすることを規定する、請求項４１に記載の方法。
【請求項４９】
前記閾値はＬである、請求項４８に記載の方法。
【請求項５０】
前記閾値はＫに依存するか、またはブロックによって変化する、請求項４８に記載の方法。
【請求項５１】
動き候補は、予測方向、参照ピクチャインデックス、動きベクトル値、強度補償フラグ、アフィンフラグ、動きベクトル差精度、または動きベクトル差分値のうち少なくとも１つを含む動き情報に関連付けられる、請求項１〜５０のいずれか１項に記載の方法。
【請求項５２】
前記チェックされた動き候補をマージ候補リストに追加することをさらに含む、請求項１〜５０のいずれか１項に記載の方法。
【請求項５３】
前記マージ候補リストに追加された前記動き候補のチェック順は、動き候補インデックスの降順に基づく、請求項５２に記載の方法。
【請求項５４】
前記チェックされた動き候補の前記動きベクトルをＡＭＶＰ候補リストに追加することをさらに含む、請求項１〜５０のいずれか１項に記載の方法。
【請求項５５】
前記ＡＭＶＰ候補リストに追加された前記動き候補のチェック順は、動き候補インデックスの昇順に基づく、請求項５４に記載の方法。
【請求項５６】
チェック対象の動き候補の数が４以下である、請求項５４に記載の方法。
【請求項５７】
チェック対象の前記テーブルにおける動き候補の最大数は、Ｎで指標付けされた前記テーブルにおける利用可能な動き候補の数、Ｍで指標付けされた前記テーブルからの加算対象の最大許容動き候補、またはＫで指標付けされた前記テーブルからの前記動き候補をチェックする前の候補リストにおける利用可能な候補の数のうちの、いずれか１つに依存し、Ｎ、Ｍ、Ｋは整数である、請求項１に記載の方法。
【請求項５８】
チェック対象の前記テーブルにおける動き候補の最大数を（Ｎ，Ｍ，Ｋ）の最小値に設定する、請求項５７に記載の方法。
【請求項５９】
チェック対象の前記テーブルにおける動き候補の最大数を（Ｎ，Ｍ−Ｋ）の最小値に設定する、請求項５７に記載の方法。
【請求項６０】
Ｋは、空間的または時間的に近傍のブロックから導出された、挿入された候補の数を示す、請求項５７に記載の方法。
【請求項６１】
前記テーブルから前記動き候補をチェックする前の候補リストにおける、Ｋ個を数えると考えられる前記利用可能な候補は、ＡＭＴＶＰ（Ａｌｔｅｒｎａｔｉｖｅ  Ｔｅｍｐｏｒａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）およびＳＴＭＶＰ（Ｓｐａｔｉａｌ−Ｔｅｍｐｏｒａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）を含むサブブロック候補を含まない、請求項５７に記載の方法。
【請求項６２】
Ｍは、前記映像の符号化モードのうちの少なくとも１つに依存する、請求項５７に記載の方法。
【請求項６３】
Ｍは、マージモードの場合、４、６、８、または１０に設定され、Ｍは、ＡＭＶＰ（Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）モードの場合、１、２、または４に設定される、請求項６２に記載の方法。
【請求項６４】
Ｍは、前記第１の映像ブロックのブロックサイズ、前記第１の映像ブロックのブロック形状、スライスタイプを含む、映像の符号化情報に依存する、請求項５７に記載の方法。
【請求項６５】
前記テーブルは、ルックアップテーブルに対応する、請求項１〜６４のいずれか１項に記載の方法。
【請求項６６】
前記変換に基づいて、１つ以上のテーブルを更新することをさらに含む、請求項１〜６５のいずれか１項に記載の方法。
【請求項６７】
前記１つ以上のテーブルを更新することは、前記変換を実行した後、前記第１の映像ブロックの前記動き情報に基づいて１つ以上のテーブルを更新することを含む、請求項６６に記載の方法。
【請求項６８】
前記更新されたテーブルに基づいて、前記映像の後続の映像ブロックと前記映像のビットストリーム表現との間で変換を行うことを更に含む、請求項６７に記載の方法。
【請求項６９】
プロセッサと、命令を搭載した非一時的メモリとを備える装置であって、前記命令は、前記プロセッサによって実行された際に、前記プロセッサに、請求項１〜６８のいずれか１つ以上に記載の前記方法を実装させる、装置。
【請求項７０】
非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、請求項１〜６８のいずれか１つ以上に記載の前記方法を実行するためのプログラムコードを含む、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
パリ条約に基づく適用可能な特許法および／または規則に基づいて、本願は、２０１８年６月２９日出願の国際特許出願ＰＣＴ／ＣＮ２０１８／０９３６６３号、２０１８年８月１８日出願の国際特許出願ＰＣＴ／ＣＮ２０１８／１０１２２０号、２０１８年９月１２日出願の国際特許出願ＰＣＴ／ＣＮ２０１８／１０５１９３、および２０１８年１１月２７日出願の国際特許出願ＰＣＴ／ＣＮ２０１８／１１７６２７号の優先権および利益を適時に主張することを目的とする。米国の法律の下、あらゆる目的のために、国際特許出願ＰＣＴ／ＣＮ２０１８／０９３６６３号、国際特許出願第ＰＣＴ／ＣＮ２０１８／１０１２２０号、国際特許出願ＰＣＴ／ＣＮ２０１８／１０５１９３号および国際特許出願第ＰＣＴ／ＣＮ２０１８／１１７６２７の開示の全文は、本願の開示の一部として参照により援用される。
【０００２】
本特許明細書は、映像符号化および復号化技術、デバイスおよびシステムに関する。
【背景技術】
【０００３】
映像圧縮の進歩にもかかわらず、デジタル映像は、依然として、インターネットおよび他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像の受信および表示が可能な接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが期待される。
【発明の概要】
【０００４】
本明細書は、デジタル映像を符号化および復号化するための方法、システム、およびデバイスを開示する。
【０００５】
一つの例示的な態様において、映像処理方法が開示される。この方法は、テーブルを維持することであって、各テーブルは、動き候補のセットを含み、各動き候補は、対応する動き情報に関連付けられている、ことと、少なくとも１つ以上のテーブルに基づいて、第１の映像ブロックと、第１の映像ブロックを含む映像のビットストリーム表現との間の変換を行うことであって、変換を行うことは、チェック終了判定基準が満たされるまで規則で決定された順にターブル内の動き候補をチェックすることを有する。
【０００６】
さらに別の例示的な態様において、本明細書で説明される映像符号化方法を実装する映像エンコーダ装置が開示される。
【０００７】
さらに別の代表的な態様では、本明細書で説明される様々な技法は、非一時的なコンピュータ可読媒体に記憶されるコンピュータプログラム製品として実施され得る。このコンピュータプログラム製品は、本明細書に記載の方法を実行するためのプログラムコードを含む。
【０００８】
さらに別の代表的な態様において、映像デコーダ装置は、本明細書で説明されるような方法を実装してもよい。
【０００９】
１つ以上の実装形態の詳細は、添付の添付ファイル、図面、および以下の説明に記載されている。他の特徴は、説明および図面、並びに特許請求の範囲の記載から明らかとなろう。
【図面の簡単な説明】
【００１０】
【図１】映像エンコーダの実装形態の例を示すブロック図である。
【図２】Ｈ．２６４映像符号化規格におけるマクロブロックの分割を示す。
【図３】符号化ブロック（ＣＢ：Ｃｏｄｉｎｇ  Ｂｌｏｃｋ）を予測ブロック（ＰＵ：Ｐｒｅｄｉｃｔｉｏｎ  Ｂｌｏｃｋ）に分割する例を示す。
【図４】ＣＴＢをＣＢおよび変換ブロック（ＴＢ）に細分するための例示的な実装形態を示す。実線はＣＢ境界を示し、点線はＴＢ境界を示し、その分割を含むＣＴＢの例、および対応する４分木を含む。
【図５】映像データを分割するための４分木２分木（ＱＴＢＴ：Ｑｕａｄ  Ｔｒｅｅ  Ｂｉｎａｒｙ  Ｔｒｅｅ）構造の一例を示す。
【図６】映像ブロックの分割の例を示す。
【図７】４分木の分割の例を示す。
【図８】ツリー型信号通知の例を示す。
【図９】マージ候補リスト構築のための導出処理の一例を示す。
【図１０】空間的マージ候補の位置の例を示す。
【図１１】空間的マージ候補の冗長性チェックに考慮される候補対の例を示す。
【図１２】Ｎ×２Ｎおよび２Ｎ×Ｎパーティションの第２のＰＵの位置の例を示す。
【図１３】時間的マージ候補のための動きベクトルのスケーリングを示す。
【図１４】時間的マージ候補の候補位置とその同一位置のピクチャを示す。
【図１５】結合双方向予測マージ候補の例を示す。
【図１６】動きベクトル予測候補の導出処理の例を示す。
【図１７】空間的動きベクトル候補のための動きベクトルのスケーリングの例を示す。
【図１８】ＣＵの動き予測のための例示的なＡＴＭＶＰ（Ａｌｔｅｒｎａｔｉｖｅ  Ｔｅｍｐｏｒａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）を示す。
【図１９】ソースブロックおよびソースピクチャの識別の一例を絵で示す。
【図２０】４つのサブブロックおよび近傍のブロックを有する１つのＣＵの例を示す。
【図２１】バイラテラルマッチングの例を示す。
【図２２】テンプレートマッチングの例を示す。
【図２３】ＦＲＵＣ（Ｆｒａｍｅ  Ｒａｔｅ  Ｕｐ  Ｃｏｎｖｅｒｓｉｏｎ）における一方の動き推定（ＭＥ：Ｍｏｔｉｏｎ  Ｅｓｔｉｍａｔｉｏｎ）の例を示す。
【図２４】バイラテラルテンプレートマッチングに基づくＤＭＶＲの例を示す。
【図２５】空間的マージ候補を導出するために使用する空間的に近傍のブロックの例を示す。
【図２６】ルックアップテーブル更新のための代表的な位置の選択方法の一例を示す。
【図２７Ａ】新しい動き情報のセットでルックアップテーブルを更新する例を示す。
【図２７Ｂ】新しい動き情報のセットでルックアップテーブルを更新する例を示す。
【図２８】本明細書に記載されるビジュアルメディアの復号化またはビジュアルメディアの符号化技術を実装するためのハードウェアプラットフォームの一例を示すブロック図である。
【図２９】映像ビットストリーム処理の例示的な方法のフローチャートである。
【図３０】提案されるＨＭＶＰ方法による復号化フローチャートの一例を示す。
【図３１】提案されるＨＭＶＰ方法を用いたテーブルの更新例を示す。
【図３２Ａ】冗長性除去に基づくＬＵＴ更新方法（１つの冗長性動き候補を除去する）の例を示す。
【図３２Ｂ】冗長性除去に基づくＬＵＴ更新方法（１つの冗長性動き候補を除去する）の例を示す。
【図３３Ａ】冗長性削除に基づくテーブル更新方法（複数の冗長性動き候補を除去する）の例を示す。
【図３３Ｂ】冗長性削除に基づくテーブル更新方法（複数の冗長性動き候補を除去する）の例を示す。
【発明を実施するための形態】
【００１１】
映像の圧縮率を改善するために、研究者らは、映像を符号化する新しい技術を絶えず求めている。
【００１２】
１．  導入
【００１３】
本明細書は、映像符号化技術に関する。具体的には、映像符号化における動き情報の符号化（例えば、マージモード、ＡＭＶＰモード）に関する。ＨＥＶＣのような既存の映像符号化規格に適用してもよいし、規格（Ｖｅｒｓａｔｉｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）を確定させるために適用してもよい。本発明は、将来の映像符号化規格または映像コーデックにも適用可能である。
【００１４】
簡単な説明
【００１５】
映像符号化規格は、主に周知のＩＴＵ−ＴおよびＩＳＯ／ＩＥＣ規格の開発によって発展してきた。ＩＴＵ−ＴはＨ．２６１とＨ．２６３を作り、ＩＳＯ／ＩＥＣはＭＰＥＧ−１とＭＰＥＧ−４  Ｖｉｓｕａｌを作り、両団体はＨ．２６２／ＭＰＥＧ−２  ＶｉｄｅｏとＨ．２６４／ＭＰＥＧ−４ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）とＨ．２６５／ＨＥＶＣ規格を共同で作った。Ｈ．２６２以来、映像符号化規格は、時間予測と変換符号化が利用されるハイブリッド映像符号化構造に基づく。典型的なＨＥＶＣエンコーダフレームワークの一例を図１に示す。
【００１６】
２．１  パーティション構造
【００１７】
２．１．１  Ｈ．２６４／ＡＶＣにおけるパーティションツリー構造
【００１８】
以前の規格における符号化層のコアは、１６×１６ブロックの輝度サンプルを含み、通常の４：２：０カラーサンプリングの場合、２つの対応する８×８ブロックの彩度サンプル含むマクロブロックであった。
【００１９】
イントラ符号化されたブロックは、画素間の空間的相関を利用するために空間予測を使用する。２つのパーティションを規定する。１６×１６および４×４である。
【００２０】
インター符号化されたブロックは、ピクチャ間の動きを推定することで、空間的予測の代わりに時間予測を用いる。動きは、１６×１６マクロブロックまたはそのサブマクロブロックパーティションのいずれかに対して独立して推定できる。１６×８、８×１６、８×８、８×４、４×８、４×４（図２参照）。１つのサブマクロブロックパーティション当たり１つの動きベクトル（ＭＶ：Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）のみが許可される。
【００２１】
２．１．２  ＨＥＶＣにおけるパーティションツリー構造
【００２２】
ＨＥＶＣにおいて、ＣＴＵは、様々な局所的特徴に適応するように、符号化ツリーと呼ばれる４分木構造を用いてＣＵに分割される。インターピクチャ（時間的）予測またはイントラピクチャ（空間的）予測を使用した、ピクチャ領域を符号化するかどうかの決定は、ＣＵレベルで行われる。各ＣＵは、ＰＵ分割タイプに応じて１つ、２つまたは４つのＰＵに更に分割することができる。１つのＰＵの内部では、同じ予測処理が適用され、ＰＵ単位で関連情報がデコーダに送信される。ＰＵ分割タイプに基づく予測処理を適用して残差ブロックを得た後、ＣＵのための符号化ツリーに類似した別の４分木構造に基づいて、ＣＵを変換ユニット（ＴＵ）に分割することができる。ＨＥＶＣ構造の重要な特徴の１つは、ＣＵ、ＰＵ、ＴＵを含む複数のパーティション概念を有することである。
【００２３】
以下、ＨＥＶＣを使用したハイブリッド映像符号化に関連する様々な特徴に焦点を当てる。
【００２４】
１）符号化ツリーユニットおよび符号化ツリーブロック（ＣＴＢ）構造：ＨＥＶＣにおける類似した構造は、符号化ツリーユニット（ＣＴＵ）であり、この符号化ツリーユニットは、エンコーダによって選択されたサイズを有し、従来のマクロブロックよりも大きくてもよい。ＣＴＵは、輝度ＣＴＢと、対応する彩度ＣＴＢおよび構文要素とからなる。輝度ＣＴＢのサイズＬ×Ｌは、Ｌ＝１６、３２、または６４のサンプルとして選択することができ、より大きいサイズは、一般的に、より優れた圧縮を有効にする。ＨＥＶＣは、次いで、ツリー構造および４分木様の信号通知を使用して、ＣＴＢをより小さなブロックに分割することをサポートする。
【００２５】
２）符号化ユニット（ＣＵ）および符号化ブロック（ＣＢ）：ＣＴＵの４分木の構文は、その輝度および彩度ＣＢのサイズおよび位置を指定する。４分木のルートはＣＴＵに関連付けられる。従って、輝度ＣＴＢのサイズは、輝度ＣＢに対してサポートされる最大のサイズである。ＣＴＵを輝度ＣＢおよび彩度ＣＢに分割することは、共に信号通知されることである。１つの輝度ＣＢおよび通常２つの彩度ＣＢは、関連する構文と共に、１つの符号化ユニット（ＣＵ）を形成する。ＣＴＢは、１つのＣＵのみを含んでもよく、または複数のＣＵを形成するように分割されてもよく、各ＣＵは、それに関連付けられた予測ユニット（ＰＵ）への分割と、１つの変換ユニット（ＴＵ）のツリーとを有する。
【００２６】
３）予測ユニットおよび予測ブロック（ＰＢ）：インターピクチャまたはイントラピクチャ予測を使用してピクチャ領域を符号化するかどうかの決定は、ＣＵレベルで行われる。ＰＵのパーティショニング構造は、そのルートがＣＵレベルにある。基本的な予測タイプの決定に基づいて、次に、輝度および彩度ＣＢのサイズをさらに分割し、輝度および彩度予測ブロック（ＰＢ）から予測することができる。ＨＥＶＣは、６４×６４から４×４までの可変ＰＢサイズのサンプルをサポートする。図３は、Ｍ×ＭのＣＵのための許可されたＰＢの例を示す。
【００２７】
４）ＴＵおよび変換ブロック：予測残差は、ブロック変換を使用して符号化される。ＴＵツリー構造は、そのルートがＣＵレベルにある。この輝度ＣＢ残差は、輝度変換ブロック（ＴＢ）と同一であってもよいし、小さな輝度ＴＢにさらに分割されてもよい。彩度ＴＢについても同様である。正方形ＴＢサイズ４×４、８×８、１６×１６、および３２×３２に対して、離散コサイン変換（ＤＣＴ）の整数基底関数に類似した整数基底関数が規定される。輝度イントラピクチャ予測残差の４×４変換のために、離散サイン変換（ＤＳＴ）の形式から導出される整数変換が代替的に指定される。
【００２８】
図４は、ＣＴＢをＣＢ［及び変換ブロック（ＴＢ）］に細分する例を示す。実線はＣＢ境界を示し、点線はＴＢ境界を示す。（ａ）ＣＴＢとその分割（ｂ）対応する４分木。
【００２９】
２．１．２．１  変換ブロックおよびユニットへのツリー構造の分割
【００３０】
残差符号化の場合、ＣＢは、変換ブロック（ＴＢ）に再帰的に分割することができる。この分割は、残差４分木によって信号通知される。図４に示すように、１つのブロックを再帰的に象限に分割することができるように、正方形のＣＢおよびＴＢの分割のみを指定する。サイズＭ×Ｍの所与の輝度ＣＢに対して、フラグは、それがサイズＭ／２×Ｍ／２の４つのブロックに分割されるかどうかを信号通知する。さらなる分割が可能である場合、ＳＰＳに示される残留４分木の最大深さによって信号通知されるように、各象限には、それが４つの象限に分割されているかどうかを示すフラグが割り当てられる。残差４分木の結果得られる葉ノードブロックは、変換符号化によってさらに処理される変換ブロックである。エンコーダは、それが使用することになる最大および最小輝度ＴＢサイズを示す。ＣＢサイズが最大ＴＢサイズよりも大きい場合、分割は非明示的に行われる。分割により、示された最小値よりも小さい輝度ＴＢサイズとなる場合、分割は、非明示的に行われない。輝度ＴＢサイズが４×４である場合を除き、彩度ＴＢサイズは、各次元において輝度ＴＢサイズの半分であり、この場合、４つの４×４輝度ＴＢによって覆われる領域には１つの４×４彩度ＴＢが使用される。イントラピクチャ予測ＣＵの場合、最近の近傍のＴＢ（ＣＢ内またはＣＢ外）の復号サンプルを、イントラピクチャ予測のための参照データとして用いる。
【００３１】
従来の規格とは対照的に、ＨＥＶＣ設計により、インターピクチャ予測ＣＵのために１つのＴＢが複数のＰＢにまたがることが可能となり、４分木構造のＴＢの分割の潜在的な符号化効率の利点が最大となる。
【００３２】
２．１．２．２  親子ノード
【００３３】
ＣＴＢは、４分木構造に基づいて分割され、そのノードは符号化ユニットである。４分木構造における複数のノードは、葉ノードおよび非葉ノードを含む。葉ノードは、ツリー構造内に子ノードを持たない（すなわち、葉ノードはそれ以上分割されない）。非葉ノードは、ツリー構造のルートノードを含む。ルートノードは、映像データの最初の映像ブロック（例えば、ＣＴＢ）に対応する。複数のノードのうちのそれぞれの非ルートノードごとに、それぞれの非ルートノードは、それぞれの非ルートノードのツリー構造における親ノードに対応する映像ブロックのサブブロックである映像ブロックに対応する。複数の非葉ノードのそれぞれの非葉ノードは、ツリー構造において１つ以上の子ノードを有する。
【００３４】
２．１．３  ＪＥＭにおけるより大きいＣＴＵを有する４分木＋２分木ブロック構造
【００３５】
ＨＥＶＣを超えた将来の映像符号化技術を探索するため、２０１５年には、ＶＣＥＧとＭＰＥＧが共同でＪＶＥＴ（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｔｅａｍ）を設立した。それ以来、多くの新しい方法がＪＶＥＴによって採用され、ＪＥＭ（Ｊｏｉｎｔ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｍｏｄｅ）と呼ばれる参照ソフトウェアに組み込まれてきた。
【００３６】
２．１．３．１  ＱＴＢＴブロックの分割構造
【００３７】
ＨＥＶＣとは異なり、ＱＴＢＴ構造は、複数のパーティションタイプの概念を削除する。すなわち、ＣＵ、ＰＵ、ＴＵのコンセプトの切り離しを取り除き、ＣＵパーティションの形状の柔軟性を向上させる。ＱＴＢＴブロック構造において、ＣＵは正方形または長方形のいずれかを有することができる。図５に示すように、まず、符号化ツリーユニット（ＣＴＵ）を４分木構造で分割する。４分木の葉ノードは、２分木構造によってさらに分割される。２分木の分割には、対称水平分割と対称垂直分割の２つの分割タイプがある。２分木の葉ノードは、符号化ユニット（ＣＵ）と呼ばれ、このセグメント化は、それ以上の分割を行うことなく、予測および変換処理に使用される。これは、ＱＴＢＴの符号化ブロック構造において、ＣＵ、ＰＵおよびＴＵが同じブロックサイズを有することを意味する。ＪＥＭにおいて、ＣＵは、しばしば異なる色成分の符号化ブロック（ＣＢ）からなり、例えば、４：２：０彩度フォーマットのＰおよびＢスライスの場合、１つのＣＵは１つの輝度ＣＢおよび２つの彩度ＣＢを含み、また、ＣＵは、しばしば単一の成分のＣＢからなり、例えば、Ｉスライスの場合、１つのＣＵは、１つの輝度ＣＢのみ、または、２つの彩度ＣＢのみを含む。
【００３８】
ＱＴＢＴ分割スキームに対して以下のパラメータを規定する。
−ＣＴＵのサイズ：１つの４分木のルートノードのサイズ、ＨＥＶＣと同じ概念
−ＭｉｎＱＴＳｉｚｅ：最小許容の４分木の葉ノードサイズ
−ＭａｘＢＴＳｉｚｅ：最大許容の２分木のルートノードサイズ
−ＭａｘＢＴＤｅｐｔｈ：最大許容の２分木の深さ
−ＭｉｎＢＴＳｉｚｅ：最小許容の２分木の葉ノードのサイズ
【００３９】
ＱＴＢＴの分割構造の一例において、ＣＴＵのサイズを、２つの対応する６４×６４ブロックの彩度サンプルを有する１２８×１２８の輝度サンプルとして設定し、ＭｉｎＱＴＳｉｚｅを１６×１６として設定し、ＭａｘＢＴＳｉｚｅを６４×６４として設定し、ＭｉｎＢＴＳｉｚｅ（幅および高さの両方について）を４×４として設定し、ＭａｘＢＴＤｅｐｔｈを４として設定する。４分木の分割は、まずＣＴＵに適用され、４分木の葉ノードを生成する。４分木の葉ノードのサイズは、１６×１６（即ち、ＭｉｎＱＴＳｉｚｅ）から１２８×１２８（即ち、ＣＴＵサイズ）までのサイズを有することが可能である。葉４分木のノードが１２８×１２８である場合、サイズがＭａｘＢＴＳｉｚｅ（すなわち、６４×６４）を超えるため、２分木によってさらに分割されない。そうでない場合、葉４分木のノードは、２分木によってさらに分割されてもよい。従って、この４分木の葉ノードは、２分木のルートノードでもあり、その２分木の深さは０である。２分木の深さがＭａｘＢＴＤｅｐｔｈ（すなわち、４）に達した場合、それ以上の分割は考慮されない。２分木のノードの幅がＭｉｎＢＴＳｉｚｅ（すなわち、４）に等しい場合、それ以上の水平分割は考慮されない。同様に、２分木のノードの高さがＭｉｎＢＴＳｉｚｅに等しい場合、それ以上の垂直分割は考慮されない。２分木の葉ノードは、さらに分割することなく、予測および変換処理によってさらに処理される。ＪＥＭにおいて、最大ＣＴＵサイズは、２５６×２５６個の輝度サンプルである。
【００４０】
図５（左）はＱＴＢＴを用いたブロックの分割の例を示し、図５（右）は対応するツリー表現を示す。実線は４分木の分割を表し、点線は２分木の分割を表す。２分木の各分割（即ち、非葉）ノードにおいて、１つのフラグが、どの分割タイプ（即ち、水平または垂直）が使用されるかを示すために信号通知される。ここで、０は、水平分割を表し、１は、垂直分割を表す。４分木の分割の場合、４分木の分割は常にブロックを水平および垂直に分割し、等分したサイズの４つのサブブロックを生成するため、分割タイプを示す必要がない。
【００４１】
さらに、ＱＴＢＴ方式は、輝度および彩度が別個のＱＴＢＴ構造を有する能力をサポートする。現在、ＰおよびＢスライスの場合、１つのＣＴＵにおける輝度および彩度ＣＴＢは、同じＱＴＢＴ構造を共有する。しかしながら、Ｉスライスの場合、輝度ＣＴＢはＱＴＢＴ構造によってＣＵに分割され、彩度ＣＴＢは別のＱＴＢＴ構造によって彩度ＣＵに分割される。これは、１つのＩスライスにおける１つのＣＵが１つの輝度成分の１つの符号化ブロックまたは２つの彩度成分の１つの符号化ブロックからなり、１つのＰまたはＢスライスにおける１つのＣＵが３つの色成分すべての符号化ブロックからなることを意味する。
【００４２】
ＨＥＶＣにおいて、小さなブロックのためのインター予測は、動き補償のメモリアクセスを低減するために制限され、その結果、４×８および８×４ブロックのために双方向予測はサポートされず、４×４ブロックのためにインター予測はサポートされない。ＪＥＭのＱＴＢＴにおいて、これらの制限は取り除かれる。
【００４３】
２．１．４  ＶＶＣの３分木
【００４４】
いくつかの実装形態において、４分木および２分木以外のツリータイプがサポートされる。本実装形態において、図６の（ｄ）、（ｅ）部に示すように、３分木（ＴＴ）分割を２つ以上、すなわち、水平および垂直の中心側の３分木を導入する。
【００４５】
図６は、（ａ）４分木分割、（ｂ）垂直２分木分割、（ｃ）水平２分木分割、（ｄ）垂直中心側３分木分割、（ｅ）水平中心側３分木分割を示す。
【００４６】
いくつかの実装形態において、２つのレベルのツリー、すなわち、領域ツリー（４分木）および予測ツリー（２分木または３分木）がある。ＣＴＵは、まず、領域ツリー（ＲＴ）によって分割される。ＲＴリーフは、予測ツリー（ＰＴ）によってさらに分割されてもよい。ＰＴ葉はまた、最大ＰＴ深さに達するまで、ＰＴでさらに分割されてもよい。ＰＴ葉が基本符号化ユニットである。便宜上、ここでもＣＵと呼ぶ。１つのＣＵをさらに分割することはできない。予測および変換は両方ともＪＥＭと同様にＣＵに適用される。パーティション構造全体を「マルチタイプツリー」と呼ぶ。
【００４７】
２．１．５  分割構造の例
【００４８】
この応答で使用されるツリー構造は、マルチツリータイプ（Ｍｕｌｔｉ−Ｔｒｅｅ  Ｔｙｐｅ：ＭＴＴ）と呼ばれ、ＱＴＢＴを一般化したものである。ＱＴＢＴにおいて、図５に示すように、まず、符号化ツリーユニット（ＣＴＵ）を４分木構造で分割する。４分木の葉ノードは、２分木構造によってさらに分割される。
【００４９】
ＭＴＴの基本構造は、２つのタイプのツリーノードを構成する。図７に示すように、領域ツリー（ＲＴ）および予測ツリー（ＰＴ）は、９つのタイプのパーティションをサポートする。
【００５０】
図７は、（ａ）４分木分割、（ｂ）垂直２分木分割、（ｃ）水平２分木分割、（ｄ）垂直３分木分割、（ｅ）水平３分木分割、（ｆ）水平上方非対称２分木分割、（ｇ）水平下方非対称２分木分割、（ｈ）垂直左非対称２分木分割、（ｉ）垂直右非対称２分木分割を示す。
【００５１】
１つの領域ツリーは、１つのＣＴＵを４×４サイズの領域ツリーの葉ノードになるように正方形のブロックに再帰的に分割することができる。領域ツリーにおける各ノードにおいて、予測ツリーは、２分木（ＢＴ）、３分木（ＴＴ）、および非対称２分木（ＡＢＴ）の３つのツリータイプのうちの１つから形成されることができる。ＰＴ分割において、予測ツリーの枝に４分木のパーティションを有することは禁止される。ＪＥＭにおけるように、輝度ツリーおよび彩度ツリーは、Ｉ個のスライスに分けられる。ＲＴおよびＰＴの信号通知方法を図８に示す。
【００５２】
２．２  ＨＥＶＣ／Ｈ．２６５におけるインター予測
【００５３】
各インター予測されたＰＵは、１つまたは２つの参照ピクチャリストのための動きパラメータを有する。動きパラメータは、動きベクトルおよび参照ピクチャインデックスを含む。２つの参照ピクチャリストのうちの１つの参照ピクチャリストの使用は、ｉｎｔｅｒ＿ｐｒｅｄ＿ｉｄｃを使用して信号通知されてもよい。動きベクトルは、予測因子に関連する差分として明確に符号化されてもよく、このような符号化モードは、ＡＭＶＰモードと呼ばれる。
【００５４】
１つのＣＵがスキップモードで符号化される場合、１つのＰＵがこのＣＵに関連付けられ、有意な残差係数がなく、符号化された動きベクトル差分も参照ピクチャインデックスもない。マージモードを指定し、これにより、現在のＰＵのための動きパラメータを、空間的および時間的候補を含む近傍のＰＵから取得する。マージモードは、スキップモードのためだけでなく、任意のインター予測されたＰＵに適用することができる。マージモードの代替としては、動きパラメータの明確な送信であり、各参照ピクチャリストおよび参照ピクチャリストの使用に対する参照ピクチャインデックスに対応する動きベクトルをＰＵごとに明確に信号通知することである。
【００５５】
２つの参照ピクチャリストのうちの１つを使用することを信号通知が示す場合、サンプルのうちの１つのブロックからＰＵを生成する。これを「単一予測」と呼ぶ。ＰスライスおよびＢスライスの両方に対して単一予測が利用可能である。
【００５６】
両方の参照ピクチャリストを使用することを信号通知が示す場合、サンプルのうちの２つのブロックからＰＵを生成する。これを「双方向予測」と呼ぶ。Ｂスライスのみに双予測が利用可能である。
【００５７】
以下、ＨＥＶＣ［２］に規定されるインター予測モードについて詳細に説明する。まず、マージモードについて説明する。
【００５８】
２．２．１  マージモード
【００５９】
２．２．１．１  マージモードの候補の導出
【００６０】
マージモードを使用してＰＵを予測する場合、ビットストリームからマージ候補リストにおけるエントリを指すインデックスを構文解析し、これを使用して動き情報を検索する。このリストの構成は、ＨＥＶＣ規格で規定されており、以下のステップのシーケンスに基づいてまとめることができる。
・ステップ１：初期候補の導出
ｏステップ１．１：空間的候補の導出
ｏステップ１．２：空間的候補の冗長性チェック
ｏステップ１．３：時間的候補の導出
・ステップ２：追加候補の挿入
ｏステップ２．１：双方向予測候補の作成
ｏステップ２．２：動きゼロ候補の挿入
【００６１】
これらのステップは図９にも概略的に示されている。空間的マージ候補導出のために、５つの異なる位置にある候補の中から最大４つのマージ候補を選択する。時間的マージ候補導出のために、２つの候補の中から最大１つのマージ候補を選択する。デコーダ側ではＰＵごとに一定数の候補を想定しているので、候補数がスライスヘッダで信号通知されるマージ候補の最大数（ＭａｘＮｕｍＭｅｒｇｅＣａｎｄ）に達しない場合、追加候補を生成する。候補の数は一定であるので、最良マージ候補のインデックスは、短縮された単項２値化（ＴＵ：ｔｒｕｎｃａｔｅｄ  ｕｎａｒｙ  ｂｉｎａｒｉｚａｔｉｏｎ）を使用して符号化される。ＣＵのサイズが８に等しい場合、現在のＣＵのすべてのＰＵは、２Ｎ×２Ｎ予測ユニットのマージ候補リストと同じ１つのマージ候補リストを共有する。
【００６２】
以下、上述したステップに関連付けられた動作を詳しく説明する。
【００６３】
２．２．１．２  空間的候補の導出
【００６４】
空間的マージ候補の導出において、図１０に示す位置にある候補の中から、最大４つのマージ候補を選択する。導出の順序はＡ１、Ｂ１、Ｂ０、Ａ０、Ｂ２である。位置Ａ１、Ｂ１、Ｂ０、Ａ０のいずれかのＰＵが利用可能でない場合（例えば、別のスライスまたはタイルに属しているため）、またはイントラ符号化された場合にのみ、位置Ｂ２が考慮される。位置Ａ１の候補を加えた後、残りの候補を加えると、冗長性チェックを受け、それにより、同じ動き情報を有する候補を確実にリストから排除でき、符号化効率を向上させることができる。計算の複雑性を低減するために、前述の冗長性チェックにおいて、考えられる候補対のすべてを考慮することはしない。代わりに、図１１において矢印でリンクされた対のみを考慮し、冗長性チェックに使用される対応する候補が同じ動き情報を有していない場合にのみ、その候補をリストに加える。重複した動き情報の別のソースは、２Ｎ×２Ｎとは異なるパーティションに関連付けられた「第２のＰＵ」である。一例として、図１２は、それぞれＮ×２Ｎおよび２Ｎ×Ｎの場合の第２のＰＵを示す。現在のＰＵをＮ×２Ｎに分割する場合、リスト構成に位置Ａ１の候補は考慮されない。実際、この候補を加えることにより、同じ動き情報を有する２つの予測ユニットが導かれることとなり、１つの符号化ユニットに１つのＰＵのみを有するためには冗長である。同様に、現在のＰＵを２Ｎ×Ｎに分割する場合、位置Ｂ１は考慮されない。
【００６５】
２．２．１．３  時間的候補の導出
【００６６】
このステップにおいて、１つの候補のみがリストに追加される。具体的には、この時間的マージ候補の導出において、所与の参照ピクチャリストにおける現在のピクチャとの間に最小のＰＯＣ差を有するピクチャに属する同一位置のＰＵ（ｃｏ−ｌｏｃａｔｅｄ  ＰＵ）に基づいて、スケーリングされた動きベクトルを導出する。スライスヘッダにおいて、同一位置のＰＵの導出に用いられる参照ピクチャリストが明確に信号通知される。図１３に点線で示すように、時間的マージ候補のスケーリングされた動きベクトルが得られる。これは、ＰＯＣ距離ｔｂおよびｔｄを利用して、同一位置のＰＵの動きベクトルからスケーリングしたものである。ｔｂは、現在のピクチャの参照ピクチャと現在のピクチャのＰＯＣ差として規定され、ｔｄは、同一位置のＰＵの参照ピクチャと同一位置のピクチャのＰＯＣ差として規定する。時間的マージ候補の参照ピクチャインデックスをゼロに等しく設定する。このスケーリング処理の実際的な実現については、ＨＥＶＣ仕様に記載されている。Ｂスライスの場合、２つの動きベクトル、即ち、１つは参照ピクチャリスト０のためのもの、もう１つは参照ピクチャリスト１のためのものを取得し、これらを組み合わせることによって、双方向予測マージ候補を形成する。時間的マージ候補のための動きベクトルのスケーリングの説明。
【００６７】
参照フレームに属する同一位置のＰＵ（Ｙ）において、図１４に示すように、候補Ｃ０と候補Ｃ１との間で時間的候補の位置を選択する。位置Ｃ０のＰＵが利用可能でない場合、イントラ符号化されている場合、または現在のＣＴＵの外側にある場合、位置Ｃ１が使用される。そうでない場合、位置Ｃ０が時間的マージ候補の導出に使用される。
【００６８】
２．２．１．４  追加候補の挿入
【００６９】
空間的−時間的マージ候補の他に、２つの追加のタイプのマージ候補、すなわち、結合双方向予測マージ候補およびゼロマージ候補がある。空間的−時間的マージ候補を利用して、結合双方向予測マージ候補を生成する。結合双方向予測マージ候補は、Ｂスライスのみに使用される。最初の候補の第１の参照ピクチャリスト動きパラメータと別の候補の第２の参照ピクチャリスト動きパラメータとを組み合わせることで、結合双方向予測候補を生成する。これら２つのタプルが異なる動きの仮説を提供する場合、これらのタプルは、新しい双方向予測候補を形成する。一例として、図１５は、オリジナルリスト（左側）における、ｍｖＬ０およびｒｅｆＩｄｘＬ０、またはｍｖＬ１およびｒｅｆＩｄｘＬ１を有する２つの候補を用いて、最終リスト（右側）に加えられる結合双方向予測マージ候補を生成する場合を示す。これらの追加のマージ候補を生成するために考慮される組み合わせについては、様々な規則が存在する。
【００７０】
ゼロ動き候補を挿入し、マージ候補リストにおける残りのエントリを埋めることにより、ＭａｘＮｕｍＭｅｒｇｅＣａｎｄ容量にヒットする。これらの候補は、空間的変位がゼロであり、新しいゼロ動き候補をリストに加える度にゼロから始まり増加する参照ピクチャインデックスを有する。これらの候補が使用する参照フレームの数は、それぞれ、一方向予測の場合は１つ、双方向予測の場合は２つである。最終的には、これらの候補に対して冗長性チェックは行われない。
【００７１】
２．２．１．５  並列処理のための動き推定領域
【００７２】
符号化処理を高速化するために、動き推定を並列に行うことができ、それによって、所与の領域内のすべての予測ユニットの動きベクトルを同時に導出する。１つの予測ユニットは、その関連する動き推定が完了するまで、隣接するＰＵから動きパラメータを導出することができないので、空間的近傍からのマージ候補の導出は、並列処理に干渉する可能性がある。符号化効率と処理待ち時間との間のトレードオフを緩和するために、ＨＥＶＣは、動き推定領域（ＭＥＲ：Ｍｏｔｉｏｎ  Ｅｓｔｉｍａｔｉｏｎ  Ｒｅｇｉｏｎ）を規定し、そのサイズは、「ｌｏｇ２＿ｐａｒａｌｌｅｌ＿ｍｅｒｇｅ＿ｌｅｖｅｌ＿ｍｉｎｕｓ２」構文要素を使用してピクチャパラメータセットにおいて信号通知される。１つのＭＥＲを規定するとき、同じ領域にあるマージ候補は使用不可としてマークされ、それゆえにリスト構築においては考慮されない。
７．３．２．３  ピクチャパラメータセットＲＢＳＰ構文
７．３．２．３．１  一般ピクチャパラメータセットＲＢＳＰ構文
【００７３】
【表１】
2021530183.tif 000003
【００７４】
ｌｏｇ２＿ｐａｒａｌｌｅｌ＿ｍｅｒｇｅ＿ｌｅｖｅｌ＿ｍｉｎｕｓ２＋２は、８．５．３．２．２．２節で指定されたマージモードの輝度動きベクトルの導出処理と、８．５．３．２．３節で指定された空間的マージ候補の導出処理で使用される変数Ｌｏｇ２ＰａｒＭｒｇＬｅｖｅｌの値を指定する。ｌｏｇ２＿ｐａｒａｌｌｅｌ＿ｍｅｒｇｅ＿ｌｅｖｅｌ＿ｍｉｎｕｓ２の値は、０〜ＣｔｂＬｏｇ２ＳｉｚｅＹ＿２を含む範囲内とする。
変数Ｌｏｇ２ＰａｒＭｒｇＬｅｖｅｌは、以下のように導出される。
Ｌｏｇ２ＰａｒＭｒｇＬｅｖｅｌ＝ｌｏｇ２＿ｐａｒａｌｌｅｌ＿ｍｅｒｇｅ＿ｌｅｖｅｌ＿ｍｉｎｕｓ２＋２          （７−３７）
注３：Ｌｏｇ２ＰａｒＭｒｇＬｅｖｅｌの値は、マージ候補リストを並列に導出する組み込み能力を示す。例えば、Ｌｏｇ２ＰａｒＭｒｇＬｅｖｅｌが６に等しい場合、６４×６４ブロックに含まれたすべての予測ユニット（ＰＵ）および符号化ユニット（ＣＵ）のためのマージ候補リストを並列に導出することができる。
【００７５】
２．２．２  ＡＭＶＰモードにおける動きベクトル予測
【００７６】
動きベクトル予測は、動きベクトルと近傍のＰＵとの間の空間的−時間的相関を利用し、これを動きパラメータの明確な伝送に用いる。まず、左側、上側の時間的に近傍のＰＵ位置の可用性をチェックし、冗長な候補を取り除き、ゼロベクトルを加えることで、候補リストの長さを一定にすることで、動きベクトル候補リストを構築する。次いで、エンコーダは、候補リストから最良の予測子を選択し、選択された候補を示す対応するインデックスを送信することができる。マージインデックスの信号通知と同様に、最良の動きベクトル候補のインデックスは、短縮された単項を使用して符号化される。この場合のエンコーディング対象の最大値は２である（例えば、図２〜図８）。以下の章では、動きベクトル予測候補の導出処理の詳細を説明する。
【００７７】
２．２．２．１  動きベクトル予測候補の導出
【００７８】
図１６に、動きベクトル予測候補の導出処理をまとめる。
【００７９】
動きベクトル予測において、空間的動きベクトル候補と時間的動きベクトル候補という２つのタイプの動きベクトル候補が考えられる。空間的動きベクトル候補を導出するために、図１１に示したように、５つの異なる位置にある各ＰＵの動きベクトルに基づいて、最終的には２つの動きベクトル候補を導出する。
【００８０】
時間的動きベクトル候補の導出のために、２つの異なる同一位置の配置に基づいて導出された２つの候補から１つの動きベクトル候補を選択する。空間的−時間的候補の最初のリストを作成した後、リストにおける重複した動きベクトル候補を除去する。可能性のある候補の数が２よりも多い場合、関連づけられた参照ピクチャリストにおける参照ピクチャインデックスが１よりも大きい動きベクトル候補をリストから削除する。空間的−時間的動きベクトル候補の数が２未満である場合は、追加のゼロ動きベクトル候補をリストに加える。
【００８１】
２．２．２．２  空間的動きベクトル候補
【００８２】
空間的動きベクトル候補の導出において、図１１に示したような位置にあるＰＵから導出された５つの可能性のある候補のうち、動きマージと同じ位置にあるものを最大２つの候補を考慮する。現在のＰＵの左側のための導出の順序は、Ａ０、Ａ１、スケーリングされたＡ０、スケーリングされたＡ１として規定される。現在のＰＵの上側のための導出の順序は、Ｂ０、Ｂ１、Ｂ２、スケーリングされたＢ０、スケーリングされたＢ１、スケーリングされたＢ２として規定される。そのため、辺ごとに、動きベクトル候補として使用できる場合が４つ、すなわち空間的スケーリングを使用する必要がない２つの場合と、空間的スケーリングを使用する２つの場合とがある。４つの異なる場合をまとめると、以下のようになる。
・空間的スケーリングなし
−（１）同じ参照ピクチャリスト、かつ、同じ参照ピクチャインデックス（同じＰＯＣ）
−（２）異なる参照ピクチャリスト、かつ、同じ参照ピクチャ（同じＰＯＣ）
・空間的スケーリング
−（３）同じ参照ピクチャリスト、かつ、異なる参照ピクチャ（異なるＰＯＣ）
−（４）異なる参照ピクチャリスト、かつ、異なる参照ピクチャ（異なるＰＯＣ）
【００８３】
最初に非空間的スケーリングの場合をチェックし、次に空間的スケーリングを行う。参照ピクチャリストにかかわらず、ＰＯＣが近傍のＰＵの参照ピクチャと現在のＰＵの参照ピクチャとで異なる場合、空間的スケーリングを考慮する。左側候補のすべてのＰＵが利用可能でないか、またはイントラ符号化されている場合、上側の動きベクトルのスケーリングは、左側および上側のＭＶ候補の並列導出に役立つ。そうでない場合、上側の動きベクトルに対して空間的スケーリングは許可されない。
【００８４】
空間的スケーリング処理において、図１７に示すように、時間的スケーリングと同様にして、近傍のＰＵの動きベクトルをスケーリングする。主な違いは、現在のＰＵの参照ピクチャリストおよびインデックスを入力として与え、実際のスケーリング処理は時間的スケーリングと同じであることである。
【００８５】
２．２．２．３  時間的動きベクトル候補
【００８６】
参照ピクチャインデックスを導出する以外は、時間的マージ候補を導出するための処理は、すべて、空間的動きベクトル候補を導出するための処理と同じである（図６参照）。参照ピクチャインデックスはデコーダに信号通知される。
【００８７】
２．２．２．４  ＡＭＶＰ情報の信号通知
【００８８】
ＡＭＶＰモードの場合、ビットストリームにおいて、４つの部分、すなわち、予測方向、参照インデックス、ＭＶＤ、およびｍｖ予測因子候補インデックスが信号通知される。
構文テーブル：
【００８９】
【表２】
2021530183.tif 000004
【００９０】
７．３．８．９  動きベクトル差構文
【００９１】
【表３】
2021530183.tif 000005
【００９２】
２．３  ＪＥＭ（Ｊｏｉｎｔ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｍｏｄｅｌ）における新しいインター予測方法
【００９３】
２．３．１  サブＣＵに基づく動きベクトル予測
【００９４】
ＱＴＢＴを有するＪＥＭにおいて、各ＣＵは、各予測方向に対して最大１つの動きパラメータのセットを有することができる。エンコーダにおいて、大きなＣＵをサブＣＵに分割し、大きなＣＵのすべてのサブＣＵの動き情報を導出することにより、２つのサブＣＵレベルの動きベクトル予測方法を考慮する。ＡＴＭＶＰ（Ａｌｔｅｒｎａｔｉｖｅ  Ｔｅｍｐｏｒａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）方法により、各ＣＵが、配列された参照ピクチャにおける現在のＣＵよりも小さい複数のブロックから複数の動き情報のセットをフェッチすることが可能となる。ＳＴＭＶＰ（Ｓｐａｔｉａｌ−Ｔｅｍｐｏｒａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）法において、時間的動きベクトル予測子および空間的近傍動きベクトルを使用して、サブＣＵの動きベクトルを再帰的に導出する。
【００９５】
サブＣＵ動き予測のためにより正確な動きフィールドを維持するために、参照フレームの動き圧縮は現在無効にされている。
【００９６】
２．３．１．１  代替の時間的動きベクトル予測
【００９７】
ＡＴＭＶＰ（Ａｌｔｅｒｎａｔｉｖｅ  Ｔｅｍｐｏｒａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）において、ＴＭＶＰ（Ｔｅｍｐｏｒａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）法は、現在のＣＵより小さいブロックから複数セットの動き情報（動きベクトルおよび参照インデックスを含む）をフェッチすることで修正される。図１８に示すように、サブＣＵは、正方形のＮ×Ｎブロックである（デフォルトでは、Ｎは４に設定される）。
【００９８】
ＡＴＭＶＰは、ＣＵ内のサブＣＵの動きベクトルを２つのステップで予測する。第１のステップは、参照ピクチャにおける対応するブロックを、いわゆる時間的ベクトルで特定することである。この参照ピクチャを動きソースピクチャと呼ぶ。第２のステップは、図１８に示すように、現在のＣＵをサブＣＵに分割し、各サブＣＵに対応するブロックから各サブＣＵの動きベクトルならびに参照インデックスを取得する。
【００９９】
第１のステップにおいて、現在のＣＵの空間的に近傍のブロックの動き情報によって、参照ピクチャおよび対応するブロックを決定する。近傍のブロックの繰り返し走査処理を回避するために、ｄＣＵのマージ候補リストにおける最初のマージ候補を用いる。最初の利用可能な動きベクトルおよびその関連する参照インデックスを、時間的ベクトルおよび動きソースピクチャのインデックスに設定する。このように、ＡＴＭＶＰでは、ＴＭＶＰに比べて、対応するブロックをより正確に特定することができ、対応するブロック（配列されたブロックと呼ばれることがある）は、常に現在のＣＵに対して右下または中心位置にある。１つの例において、最初のマージ候補が左側の近傍のブロック（即ち、図１９のＡ１）からのものである場合、関連するＭＶおよび参照ピクチャを利用して、ソースブロックおよびソースピクチャを特定する。
【０１００】
図１９は、ソースブロックおよびソースピクチャの特定の例を示す。
【０１０１】
第２のステップにおいて、現在のＣＵの座標に時間ベクトルを加えることで、動きソースピクチャにおける時間的ベクトルによって、サブＣＵの対応するブロックを特定する。サブＣＵごとに、その対応するブロックの動き情報（中心サンプルを覆う最小の動きグリッド）を使用して、サブＣＵの動き情報を導出する。対応するＮ×Ｎブロックの動き情報を特定した後、ＨＥＶＣのＴＭＶＰと同様に、現在のサブＣＵの動きベクトルおよび参照インデックスに変換され、動きスケーリングや他の手順が適用される。例えば、デコーダは、低遅延条件（すなわち、現在のピクチャのすべての参照ピクチャのＰＯＣが現在のピクチャのＰＯＣよりも小さい）が満たされているかどうかをチェックし、場合によっては、動きベクトルＭＶｘ（参照ピクチャリストＸに対応する動きベクトル）を使用して、各サブＣＵの動きベクトルＭＶｙ（Ｘが０または１に等しく、Ｙが１−Ｘに等しい）を予測する。
【０１０２】
２．３．１．２  空間的−時間的動きベクトル予測
【０１０３】
この方法において、サブＣＵの動きベクトルは、ラスタスキャンの順に沿って再帰的に導出される。図２０にこの概念を示す。４つの４×４サブＣＵである、Ａ、Ｂ、Ｃ、およびＤを含む８×８ＣＵを考える。現在のフレームの近傍の４×４ブロックには、ａ、ｂ、ｃ、ｄというラベルが付けられている。
【０１０４】
サブＣＵ  Ａの動き導出は、その２つの空間的近傍を特定することで始まる。第１の近傍は、サブＣＵ  Ａの上のＮ×Ｎブロックである（ブロックｃ）。このブロックｃが利用可能でないか、またはイントラ符号化されている場合、サブＣＵ  Ａより上の他のＮ×Ｎブロックをチェックする（ブロックｃから始まり、左から右へ）。第２の近傍は、サブＣＵのＡの左側のブロックである（ブロックｂ）。ブロックｂが利用可能でないか、またはイントラコーディングされている場合、サブＣＵのＡの左側の他のブロックをチェックする（ブロックｂから始まり、上から下へ）。各リストの近傍のブロックから得られた動き情報を、所与のリストの最初の参照フレームにスケーリングする。次に、ＨＥＶＣに規定されているＴＭＶＰ（Ｔｅｍｐｏｒａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｏｒ）導出と同様の手順に従って、サブブロックＡのＴＭＶＰを導出する。位置Ｄにおける配列されたブロックの動き情報をフェッチし、それに応じてスケーリングする。最後に、動き情報を検索し、スケーリングした後、参照リストごとにすべての利用可能な動きベクトル（３まで）を別々に平均する。この平均化された動きベクトルを現在のサブＣＵの動きベクトルとする。
【０１０５】
図２０は、４つのサブブロック（Ａ−Ｄ）およびその近傍のブロックを有する１つのＣＵの例を示す。
【０１０６】
２．３．１．３  サブＣＵ動き予測モード信号通知
【０１０７】
サブＣＵモードは追加のマージ候補として有効とされ、モードを信号通知するために追加の構文要素は必要とされない。ＡＴＭＶＰモードおよびＳＴＭＶＰモードを表すように、各ＣＵのマージ候補リストに２つの追加のマージ候補を加える。シーケンスパラメータセットがＡＴＭＶＰおよびＳＴＭＶＰが有効であることを示す場合、７個までのマージ候補を使用する。追加のマージ候補の符号化ロジックは、ＨＭにおけるマージ候補の場合と同じであり、つまり、ＰまたはＢスライスにおける各ＣＵについて、２つの追加のマージ候補に対して２回以上のＲＤチェックが必要となる。
【０１０８】
ＪＥＭにおいて、マージインデックスのすべてのビンは、ＣＡＢＡＣによって符号化されたコンテキストである。一方、ＨＥＶＣにおいては、最初のビンのみが符号化されたコンテキストであり、残りのビンはバイパス符号化されたコンテキストである。
【０１０９】
２．３．２  適応型動きベクトル差解像度
【０１１０】
ＨＥＶＣにおいて、ｕｓｅ＿ｉｎｔｅｇｅｒ＿ｍｖ＿ｆｌａｇがスライスヘッダにおいて０であるとき、１／４輝度サンプルの単位で動きベクトルの差分（ＭＶＤ：Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｄｉｆｆｅｒｅｎｃｅ）（動きベクトルとＰＵの予測動きベクトルとの差）が信号通知される。ＪＥＭにおいて、ＬＡＭＶＲ（Ｌｏｃａｌｌｙ  Ａｄａｐｔｉｖｅ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｒｅｓｏｌｕｔｉｏｎ）が導入される。ＪＥＭにおいて、ＭＶＤは、１／４輝度サンプル、整数輝度サンプルまたは４つの輝度サンプルの単位でコーディングできる。ＭＶＤ解像度は符号化ユニット（ＣＵ）レベルで制御され、ＭＶＤ解像度フラグは、少なくとも１つの非ゼロＭＶＤの構成要素を有する各ＣＵに対して条件付きで信号通知される。
【０１１１】
少なくとも１つの非ゼロＭＶＤの構成要素を有するＣＵの場合、１／４輝度サンプルＭＶ精度がＣＵにおいて使用されるか否かを示すために、第１のフラグが信号通知される。第１のフラグ（１に等しい）が、１／４輝度サンプルＭＶ精度が使用されていないことを示す場合、整数輝度サンプルＭＶ精度が使用されるかまたは４輝度サンプルＭＶ精度が使用されるかを示すために、別のフラグが信号通知される。
【０１１２】
ＣＵの最初のＭＶＤ解像度フラグがゼロであるか、またはＣＵに対して符号化されていない（つまり、ＣＵにおけるすべてのＭＶＤがゼロである）場合、ＣＵに対して１／４輝度サンプルＭＶ解像度が使用される。ＣＵが整数輝度サンプルＭＶ精度または４輝度サンプルＭＶ精度を使用する場合、ＣＵのＡＭＶＰ候補リストにおけるＭＶＰを対応する精度に丸める。
【０１１３】
エンコーダにおいて、ＣＵレベルのＲＤチェックは、どのＭＶＤ解像度をＣＵに用いるかを決定するために用いられる。すなわち、１つのＭＶＤ解像度ごとに３回、ＣＵレベルのＲＤチェックを行う。エンコーダの速度を速めるために、ＪＥＭにおいては、以下の符号化方式が適用される。
【０１１４】
通常の１／４輝度サンプルＭＶＤ解像度を有するＣＵのＲＤチェック中、現在のＣＵの動き情報（整数輝度サンプル精度）が記憶される。整数輝度サンプルおよび４輝度サンプルのＭＶＤ解像度を有する同じＣＵのＲＤチェック中に、記憶された動き情報（丸められた後）は、更なる小範囲の動きベクトル改良の開始点として使用されるので、時間がかかる動き推定処理が３回重複しない。
【０１１５】
４輝度サンプルＭＶＤ解像度を有するＣＵのＲＤチェックを条件付きで呼び出す。ＣＵの場合、整数輝度サンプルＭＶＤ解像度のＲＤコストが１／４輝度サンプルＭＶＤ解像度のそれよりもはるかに大きい場合、ＣＵのための４輝度サンプルＭＶＤ解像度のＲＤチェックは省略される。
【０１１６】
２．３．３  パターンマッチング動きベクトル導出
【０１１７】
ＰＭＭＶＤ（Ｐａｔｔｅｒｎ  Ｍａｔｃｈｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｄｅｒｉｖａｔｉｏｎ）モードは、ＦＲＵＣ（Ｆｒａｍｅ−Ｒａｔｅ  Ｕｐ  Ｃｏｎｖｅｒｓｉｏｎ）技術に基づく特殊マージモードである。このモードでは、ブロックの動き情報は信号通知されず、デコーダ側で導出される。
【０１１８】
そのマージフラグが真である場合、ＦＲＵＣフラグは、ＣＵに信号通知される。ＦＲＵＣフラグが偽である場合、マージインデックスは信号通知され、通常のマージモードが使用される。ＦＲＵＣフラグが真である場合、追加のＦＲＵＣモードフラグを信号通知して、どの方法（バイラテラルマッチングまたはテンプレートマッチング）を使用してブロックの動き情報を導出するかを示す。
【０１１９】
エンコーダ側では、ＣＵのためにＦＲＵＣマージモードを使用するかどうかの決定は、通常のマージ候補に対して行われるのと同じように、ＲＤコスト選択に基づく。つまり、ＲＤコスト選択を使用して、１つのＣＵに対して２つのマッチングモード（バイラテラルマッチングおよびテンプレートマッチング）を両方チェックする。最小コストに導くものが、更に、他のＣＵモードと比較される。ＦＲＵＣマッチングモードが最も効率的なものである場合、ＣＵに対してＦＲＵＣフラグを真に設定し、関連するマッチングモードを使用する。
【０１２０】
ＦＲＵＣマージモードにおける動き導出処理は、２つのステップを有する。まず、ＣＵレベルの動き探索を実行し、次に、サブＣＵレベルの動き改良を実行する。ＣＵレベルでは、バイラテラルマッチングまたはテンプレートマッチングに基づいて、ＣＵ全体のための初期の動きベクトルを導出する。まず、ＭＶ候補のリストを生成し、最小マッチングコストに導く候補を、さらなるＣＵレベル改善の開始点として選択する。そして、開始点付近のバイラテラルマッチングまたはテンプレートマッチングに基づく局所検索を行い、最小マッチングコストとなるＭＶ結果をＣＵ全体のＭＶとする。続いて、導出されたＣＵ動きベクトルを開始点として、サブＣＵレベルでの動き情報をさらに改良する。
【０１２１】
例えば、Ｗ×Ｈ  ＣＵ動き情報導出のために、以下の導出処理を行う。第１のステージにおいて、Ｗ×Ｈ  ＣＵ全体のためのＭＶが導出される。第２のステージにおいて、ＣＵは、Ｍ×ＭのサブＣＵにさらに分割される。Ｍの値は、（１６）のように計算されるが、Ｄは、予め定義された分割深さであり、ＪＥＭにおいてデフォルトで３に設定される。そして、各サブＣＵのＭＶを導出する。
【０１２２】
【数１】
2021530183.tif 000006
【０１２３】
図２１に示すように、このバイラテラルマッチングは、２つの異なる参照ピクチャにおける現在のＣＵの動き軌跡に沿った２つのブロック間の最も近いマッチングを見出すことにより、現在のＣＵの動き情報を導出するために用いられる。連続した動き軌跡を仮定すると、２つの参照ブロックを指す動きベクトルＭＶ０およびＭＶ１は、現在のピクチャと２つの参照ピクチャとの間の時間的距離、例えばＴＤ０およびＴＤ１に比例する。特殊なケースとしては、現在のピクチャが時間的に２つの参照ピクチャの間にあり、現在のピクチャから２つの参照ピクチャまでの時間的な距離が同じである場合、バイラテラルマッチングはミラーに基づく双方向ＭＶとなる。
【０１２４】
図２２に示すように、現在のピクチャにおけるテンプレート（現在のＣＵの上側および／または左側の近傍のブロック）と、参照ピクチャにおけるブロック（テンプレートと同じサイズ）との間の最も近いマッチングを見出すことで、テンプレートマッチングを使用して、現在のＣＵの動き情報を導出する。前述のＦＲＵＣマージモード以外に、テンプレートマッチングは、ＡＭＶＰモードにも適用される。ＪＥＭにおいて、ＨＥＶＣと同様、ＡＭＶＰは２つの候補を有する。テンプレートマッチング法を用いることで、新しい候補を導出する。テンプレートマッチングによって新規に導出された候補が、第１の既存のＡＭＶＰ候補と異なる場合、ＡＭＶＰ候補リストの最初に挿入し、次に、リストサイズを２（第２の既存のＡＭＶＰ候補を取り除くことを意味する）に設定する。ＡＭＶＰモードに適用される場合、ＣＵレベル検索のみが適用される。
【０１２５】
２．３．３．１  ＣＵレベルＭＶ候補セット
【０１２６】
ＣＵレベルのＭＶ候補セットは、以下からなる。
（ｉ）現在のＣＵがＡＭＶＰモードになっている場合の元のＡＭＶＰ候補
（ｉｉ）すべてのマージ候補、
（ｉｉｉ）補間ＭＶフィールド内の複数のＭＶ。
（ｉｖ）上と左の近傍の動きベクトル
【０１２７】
バイラテラルマッチングを使用する場合、マージ候補の各有効なＭＶを入力として使用して、バイラテラルマッチングを仮定してＭＶ対を生成する。例えば、マージ候補の１つの有効なＭＶは、参照リストＡにおいて（ＭＶａ，ｒｅｆａ）である。そして、その対をなすバイラテラルＭＶの参照ピクチャｒｅｆｂが他の参照リストＢにおいて見出され、ｒｅｆａおよびｒｅｆｂは、時間的に現在のピクチャの異なる側にある。参照リストＢにおいてこのようなｒｅｆｂが利用可能でない場合、ｒｅｆｂをｒｅｆａとは異なる参照として決定し、現在のピクチャとの時間的距離はリストＢにおける最小値である。ｒｅｆｂを決定した後、現在のピクチャとｒｅｆａ，ｒｅｆｂとの時間距離に基づいてＭＶａをスケーリングすることでＭＶｂを導出する。
【０１２８】
補間されたＭＶフィールドからの４つのＭＶもＣＵレベル候補リストに追加する。より具体的には、現在のＣＵの位置（０，０）、（Ｗ／２，０）、（０，Ｈ／２）、（Ｗ／２，Ｈ／２）の補間ＭＶを加算する。
【０１２９】
ＡＭＶＰモードでＦＲＵＣを適用する場合、元のＡＭＶＰ候補をＣＵレベルＭＶ候補セットにも加える。
【０１３０】
ＣＵレベルにおいて、ＡＭＶＰ  ＣＵのための最大１５個のＭＶおよびマージＣＵのための最大１３個のＭＶを候補リストに加える。
【０１３１】
２．３．３．２  サブＣＵレベルＭＶ候補セット
【０１３２】
サブＣＵレベルのＭＶ候補セットは、以下からなる。
（ｉ）ＣＵレベルの検索から決定されたＭＶ、
（ｉｉ）上、左、左上、右上の近傍のＭＶ、
（ｉｉｉ）照ピクチャからの並置されたＭＶのスケーリングされたバージョン、
（ｉｖ）最大４つのＡＴＭＶＰ候補、
（ｖ）最大４つのＳＴＭＶＰ候補
【０１３３】
参照ピクチャからのスケーリングされたＭＶは、以下のように導出される。両方のリストにおける参照ピクチャをすべてトラバースする。参照ピクチャにおけるサブＣＵの配列位置にあるＭＶは、開始ＣＵレベルＭＶの参照に対してスケーリングされる。
【０１３４】
ＡＴＭＶＰおよびＳＴＭＶＰの候補は、最初の４つの候補に限定される
【０１３５】
サブＣＵレベルにおいて、最大１７個のＭＶが候補リストに追加される。
【０１３６】
２．３．３．３  補間ＭＶフィールドの生成
【０１３７】
フレームを符号化する前に、一方のＭＥに基づいてピクチャ全体に対して補間動きフィールドを生成する。そして、この動きフィールドを後にＣＵレベルまたはサブＣＵレベルのＭＶ候補として使用してもよい。
【０１３８】
まず、両方の参照リストにおける各参照ピクチャの動きフィールドは、４×４ブロックレベルでトラバースされる。各４×４ブロックにおいて、現在のピクチャ（図２３に示す）の４×４ブロックを通過するブロックに関連する動きで、補間動きがまだ割り当てられていない場合、時間的距離ＴＤ０およびＴＤ１に基づいて（ＨＥＶＣにおけるＴＭＶＰのＭＶスケーリングと同様に）、参照ブロックの動きを現在のピクチャにスケーリングし、スケーリングされた動きを現在のフレームのブロックに割り当てる。４×４ブロックにスケーリングされたＭＶが割り当てられていない場合、ブロックの動きは、補間された動きフィールドにおいて利用不可能であるとマークされる。
【０１３９】
２．３．３．４  補間およびマッチングコスト
【０１４０】
１つの動きベクトルが１つの分数のサンプル位置を指す場合、動きの補償された補間が必要である。複雑性を低減するために、通常の８タップＨＥＶＣ補間の代わりに、バイラテラルマッチングおよびテンプレートマッチングの両方に双線形補間を使用する。
【０１４１】
マッチングコストの計算は、異なるステップでは少し異なる。ＣＵレベルの候補セットから候補を選択する場合、マッチングコストは、バイラテラルマッチングまたはテンプレートマッチングの差分の絶対値の和（ＳＡＤ）である。開始ＭＶを決定した後、サブＣＵレベル検索におけるバイラテラルマッチングのマッチングコストＣを以下のように算出する。
【０１４２】
【数２】
2021530183.tif 000007
【０１４３】
ここで、ｗは、経験的に４に設定された重み係数であり、ＭＶおよびＭＶＳは、それぞれ、現在のＭＶおよび開始ＭＶを示す。ＳＡＤは、依然として、サブＣＵレベル検索におけるテンプレートマッチングのマッチングコストとして使用される。
【０１４４】
ＦＲＵＣモードにおいて、ＭＶは、輝度サンプルのみを使用することによって導出される。導出された動きは、ＭＣインター予測のために、輝度および彩度の両方に使用される。ＭＶを決定した後、輝度用の８タップ補間フィルタおよび彩度用の４タップ補間フィルタを使用して、最終的なＭＣを行う。
【０１４５】
２．３．３．５  ＭＶの改良
【０１４６】
ＭＶ改良は、バイラテラルマッチングコストまたはテンプレートマッチングコストの基準を有するパターンに基づくＭＶ検索である。ＪＥＭでは、２つの検索パターン、即ち、ＵＣＢＤＳ（Ｕｎｒｅｓｔｒｉｃｔｅｄ  Ｃｅｎｔｅｒ−Ｂｉａｓｅｄ  Ｄｉａｍｏｎｄ  Ｓｅａｒｃｈ）およびＣＵレベルおよびサブＣＵレベルでのＭＶ改良のための適応クロス検索をそれぞれサポートする。ＣＵおよびサブＣＵレベルのＭＶ改善の両方のために、ＭＶは、１／４輝度サンプルＭＶの正確度で直接検索され、これに続いて１／８輝度サンプルＭＶの改良が行われる。ＣＵおよびサブＣＵステップのためのＭＶ改良の検索範囲は、８つの輝度サンプルに等しく設定される。
【０１４７】
２．３．３．６  テンプレートマッチングＦＲＵＣマージモードにおける予測方向の選択
【０１４８】
バイラテラルマッチングマージモードにおいては、２つの異なる参照ピクチャにおける現在のＣＵの動き軌跡に沿った２つのブロック間の最も近いマッチングに基づいて、ＣＵの動き情報を導出するため、双方向予測が常に適用される。テンプレートマッチングマージモードについては、そのような制限はない。テンプレートマッチングマージモードにおいて、エンコーダは、ｌｉｓｔ０からの単一予測、ｌｉｓｔ１からの単一予測、またはＣＵのための双方向予測のうちから選択することができる。選択は、テンプレートマッチングコストに基づいて、以下のように行う。
ｃｏｓｔＢｉ≦ｆａｃｔｏｒ＊ｍｉｎ（ｃｏｓｔ０，ｃｏｓｔ１）の場合
双方向予測を用いる。
それ以外の場合において、ｃｏｓｔ０≦ｃｏｓｔ１の場合
ｌｉｓｔ０からの単一予測を用いる。
そうでない場合、
ｌｉｓｔ１からの単一予測を用いる。
【０１４９】
ここで、ｃｏｓｔ０はｌｉｓｔ０テンプレートマッチングのＳＡＤであり、ｃｏｓｔ１はｌｉｓｔ１テンプレートマッチングのＳＡＤであり、ｃｏｓｔＢｉは双方向予測テンプレートマッチングのＳＡＤである。ｆａｃｔｏｒの値が１．２５である場合、選択処理が双方向予測に偏っていることを意味する。このインター予測方向選択は、ＣＵレベルのテンプレートマッチング処理にのみ適用される。
【０１５０】
２．３．４  デコーダ側動きベクトル改良
【０１５１】
双方向予測演算において、１つのブロック領域を予測するために、ｌｉｓｔ０の動きベクトル（ＭＶ）およびｌｉｓｔ１のＭＶをそれぞれ使用して構成される２つの予測ブロックを組み合わせ、１つの予測信号を形成する。ＤＭＶＲ（Ｄｅｃｏｄｅｒ−ｓｉｄｅ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｒｅｆｉｎｅｍｅｎｔ）方法において、バイラテラルテンプレートマッチング処理によって、双方向予測の２つの動きベクトルをさらに改良する。追加の動き情報を送信することなく改良されたＭＶを得るために、デコーダにおいてバイラテラルテンプレートマッチングを適用し、バイラテラルテンプレートと参照ピクチャにおける再構成サンプルとの間の歪みに基づく検索を行う。
【０１５２】
ＤＭＶＲにおいて、図２３に示すように、ｌｉｓｔ０の最初のＭＶ０とｌｉｓｔ１のＭＶ１とから、それぞれ２つの予測ブロックの重み付け結合（すなわち、平均）としてバイラテラルテンプレートを生成する。テンプレートマッチング操作は、生成されたテンプレートと参照ピクチャにおけるサンプル領域（最初の予測ブロックの付近）との間のコスト尺度を計算することからなる。２つの参照ピクチャの各々について、テンプレートコストが最小となるＭＶを、そのリストの更新されたＭＶと見なし、元のＭＶに置き換える。ＪＥＭにおいて、各リストに対して９つのＭＶ候補を検索する。９つのＭＶ候補は、元のＭＶと、水平または垂直方向のいずれかまたは両方向に元のＭＶに対してオフセットしている１つの輝度サンプルを有する８つの周囲のＭＶを含む。最後に、２つの新しいＭＶ、即ち、図２４に示すようなＭＶ０’およびＭＶ１’を使用して、最終的な双予測結果を生成する。差分の絶対値の和（ＳＡＤ）をコスト尺度として使用する。
【０１５３】
ＤＭＶＲは、追加の構文要素を送信することなく、過去の参照ピクチャからの１つのＭＶと、将来の参照ピクチャからの１つのＭＶとの間の双方向予測のマージモードに適用される。ＪＥＭにおいて、ＣＵに対してＬＩＣ、アフィン動き、ＦＲＵＣ、またはサブＣＵマージ候補が有効である場合、ＤＭＶＲは適用されない。
【０１５４】
２．３．５  バイラテラルマッチングの改良を伴うマージ／スキップモード［８］
【０１５５】
まず、利用可能な候補の数が最大候補サイズ１９に達するまで、空間的に近傍のブロックおよび時間的に近傍のブロックの動きベクトルおよび参照インデックスを冗長性チェック付き候補リストに挿入することで、マージ候補リストを構築する。マージ／スキップモードのマージ候補リストは、予め規定された挿入順に基づいて、ＨＥＶＣ（結合候補およびゼロ候補）に用いられる空間的候補（図１１）、時間的候補、アフィン候補、ＡＴＭＶＰ（Ａｄｖａｎｃｅｄ  Ｔｅｍｐｏｒａｌ  ＭＶＰ）候補、ＳＴＭＶＰ（Ｓｐａｔｉａｌ  Ｔｅｍｐｏｒａｌ  ＭＶＰ）候補、および追加候補を挿入することで構築される。
【０１５６】
−ブロック１〜４の空間的候補
【０１５７】
−ブロック１〜４の外挿アフィン候補
【０１５８】
−ＡＴＭＶＰ
【０１５９】
−ＳＴＭＶＰ
【０１６０】
−仮想アフィン候補
【０１６１】
−空間的候補（ブロック５）（利用可能な候補の数が６よりも少ない場合にのみ使用される）。
【０１６２】
−外挿アフィン候補（ブロック５）
【０１６３】
−時間的候補（ＨＥＶＣのように導出）
【０１６４】
−外挿アフィン変換候補に続く非隣接空間的候補の後にアフィン候補を外挿する（図２５に示すブロック６〜４９）。
【０１６５】
−結合候補
【０１６６】
−ゼロ候補
【０１６７】
なお、ＩＣフラグは、ＳＴＭＶＰおよびアフィンを除き、マージ候補から継承される。また、最初の４つの空間的候補について、双方向予測のものを単一予測のものの前に挿入する。
【０１６８】
いくつかの実装形態において、現在のブロックに接続されていないブロックにアクセスすることができる。非隣接ブロックが非イントラモードにて符号化されている場合、関連する動き情報を追加のマージ候補として追加してもよい。
【０１６９】
３．  本明細書に開示される実施形態が解決しようとする課題の例
【０１７０】
現在のＨＥＶＣ設計は、動き情報をよりよく符号化するために、現在のブロックの近傍のブロック（現在のブロックの隣）の相関をとることができる。しかしながら、近傍のブロックが、異なる動き軌跡を有する異なる対象に対応する可能性がある。この場合、その近傍のブロックからの予測は効率的ではない。
【０１７１】
非隣接ブロックの動き情報からの予測は、全ての動き情報（一般的には４×４レベル）をキャッシュに記憶するコストをかけることになり、付加的な符号化利得をもたらし、ハードウェア実装の複雑性を大幅に増大させる。
【０１７２】
４．  いくつかの例
【０１７３】
既存の実装形態の欠点を克服するために、様々な実施形態において、ブロックの動き情報を予測するために、少なくとも１つの動き候補が記憶された１つ以上のテーブル（例えばルックアップテーブル）を使用するＬＵＴに基づく動きベクトル予測技術を実装し、より高い符号化効率を有する映像符号化を提供することができる。ルックアップテーブルは、ブロックの動き情報を予測するために動き候補を含める際に使用できるテーブルの一例であり、他の実装形態も可能である。各ＬＵＴは、それぞれが対応する動き情報に関連付けられた１つ以上の動き候補を含んでもよい。動き候補の動き情報は、予測方向、参照インデックス／ピクチャ、動きベクトル、ＬＩＣフラグ、アフィンフラグ、ＭＶＤ（Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｄｅｒｉｖａｔｉｏｎ）精度、および／またはＭＶＤ値の一部または全部を含んでもよい。動き情報は、動き情報がどこに由来しているかを示すために、ブロック位置情報をさらに含んでもよい。
【０１７４】
開示される技術に基づいたＬＵＴに基づく動きベクトル予測は、既存のおよび将来の映像符号化規格の両方を向上させることができ、様々な実施形態のために以下の例で解明される。ＬＵＴは、履歴データ（例えば、既に処理されたブロック）に基づいて符号化／復合化処理を行うことを可能にするため、ＬＵＴに基づく動きベクトル予測は、ＨＭＶＰ（Ｈｉｓｔｏｒｙ−ｂａｓｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）法と呼ぶこともできる。ＬＵＴに基づく動きベクトル予測方法において、以前に符号化ブロックからの動き情報を有する１つまたは複数のテーブルは、符号化／復号化処理の間、維持される。ＬＵＴに記憶されたこれらの動き候補をＨＭＶＰ候補と称する。１つのブロックの符号化／復号化の間、ＬＵＴにおける関連付けられた動き情報を動き候補リスト（例えば、マージ／ＡＭＶＰ候補リスト）に追加して、１つのブロックを符号化／復号化した後に、ＬＵＴを使用してもよい。更新されたＬＵＴは、その後、後続のブロックを符号化するために用いられる。つまり、ＬＵＴにおける動き候補の更新は、ブロックの符号化／復号化の順に基づく。
【０１７５】
以下の実施例は、一般的な概念を説明するための例であると考えられるべきである。これらの例は狭い意味で解釈されるべきではない。さらに、これらの例は、任意の方法で組み合わせることができる。
【０１７６】
一部の実施形態において、１つのブロックの動き情報を予測するために、少なくとも１つの動き候補が記憶された１つ以上のルックアップテーブルを用いてもよい。実施形態は、動き候補を用いて、ルックアップテーブルに記憶された動き情報のセットを示すことができる。従来のＡＭＶＰまたはマージモードの場合、実施形態では、動き情報を記憶するためにＡＭＶＰまたはマージ候補を使用してもよい。
【０１７７】
以下の実施例は、一般的な概念を説明する。
【０１７８】
ルックアップテーブルの例
【０１７９】
例Ａ１：各ルックアップテーブルは、各候補がその動き情報に関連付けられた１つ以上の動き候補を含んでもよい。
ａ．動き候補の動き情報は、予測方向、参照インデックス／ピクチャ、動きベクトル、ＬＩＣフラグ、アフィンフラグ、ＭＶＤ精度、ＭＶＤ値の一部または全部を含んでもよい。
ｂ．動き情報は、動き情報がどこに由来しているかを示すために、ブロック位置情報および／またはブロック形状をさらに含んでもよい。
【０１８０】
ＬＵＴの選択
【０１８１】
例Ｂ１：１つのブロックを符号化する場合、１つのルックアップテーブルからの動き候補の一部または全部を順にチェックすることができる。１つのブロックを符号化する間に１つの動き候補をチェックする際に、この動き候補を動き候補リスト（例えば、ＡＭＶＰ、マージ候補リスト）に加えてもよい。
【０１８２】
例Ｂ２：ルックアップテーブルの選択は、ブロックの位置に依存してもよい。
【０１８３】
ルックアップテーブルの使用法
【０１８４】
例Ｃ１：チェック対象のルックアップテーブルにおける動き候補の総数は、予め規定されてもよい。
【０１８５】
例Ｃ２：１つのルックアップテーブルに含まれる１つ以上の動き候補は、１つのブロックによって直接継承されてもよい。
ａ．それらをマージモード符号化に使用してもよい。すなわち、マージ候補リスト導出処理において動き候補をチェックしてもよい。
ｂ．これらは、アフィンマージモード符号化に使用してもよい。
ｉ．アフィンフラグが１である場合、ルックアップテーブルにおける動き候補をアフィンマージ候補として加えることができる。
ｃ．以下の場合、ルックアップテーブルにおける動き候補のチェックを有効にしてもよい。
ｉ．ＴＭＶＰ候補を挿入した後、マージ候補リストが満杯になっていない。
ｉｉ．空間的マージ候補導出のために特定の空間的な隣接ブロックをチェックした後、マージ候補リストが満杯になっていない。
ｉｉｉ．すべての空間的マージ候補の後、マージ候補リストが満杯になっていない。
ｉｖ．結合双方向予測マージ候補の後、マージ候補リストが満杯になっていない。
ｖ．他の符号化方式（例えば、ＨＥＶＣデザインまたはＪＥＭデザインのマージ導出処理）からマージ候補リストに入れられた空間的または時間的な（例えば、隣接空間および非隣接空間、ＴＭＶＰ、ＳＴＭＶＰ、ＡＴＭＶＰなどを含む）マージ候補の数が、最大許容されるマージ候補から、所与の閾値を引いた数よりも少ない場合。
１．一例において、閾値は、１または０に設定される。
２．代替的に、閾値は、ＳＰＳ／ＰＰＳ／シーケンス、ピクチャ、スライスヘッダ／タイルにおいて信号通知されてもよく、または予め規定されてもよい。
３．代替的に、閾値は、ブロックごとに適応的に変更されてもよい。例えば、それは、ブロックサイズ／ブロック形状／スライスタイプのような符号化されたブロック情報に依存してもよく、および／または利用可能な空間的または時間的マージ候補の数に依存してもよい。
４．他の例において、既にマージ候補リストに追加されたある種のマージ候補の数が、最大許容マージ候補から、所与の閾値を引いた数未満である場合。「ある種のマージ候補」は、ＨＥＶＣのような空間的候補であってもよいし、隣接しないマージ候補であってもよい。
ｖｉ．マージ候補リストに動き候補を追加する前に、プルーニングを適用してもよい。本特許明細書に開示されたこの例および他の例の様々な実装形態において、プルーニングは、ａ）動き情報と既存のエントリとを一意性のために比較すること、またはｂ）一意である場合、動き情報をリストに追加すること、またはｃ）一意でない場合、ｃ１）動き情報を追加しない、またはｃ２）動き候補を追加し、一致した既存のエントリを削除することを含んでもよい。
１．一例において、動き候補は、マージ候補リストの他の符号化方法から利用可能な空間的または時間的（例えば、隣接空間および非隣接の空間、ＴＭＶＰ、ＳＴＭＶＰ、ＡＴＭＶＰ等を含む）マージ候補の全部または一部にプルーニングされてもよい。
２．動き候補は、サブブロックに基づく動き候補、例えば、ＡＴＭＶＰ、ＳＴＭＶＰにプルーニングされなくてもよい。
３．一例において、現在の動き候補は、マージ候補リストにおける利用可能な動き候補（現在の動き候補の前に挿入された）の全部または一部にプルーニングされてもよい。
４．動き候補に関連するプルーニング工程の数（例えば、動き候補をマージリストにおける他の候補と比較する必要がある回数）は、利用可能な空間的または時間的マージ候補の数に依存してもよい。例えば、新しい動き候補をチェックする際に、マージリストに利用可能な候補がＭ個ある場合、新しい動き候補を最初のＫ個（Ｋ≦Ｍ）の候補とのみ比較してもよい。プルーニング関数が偽を返す（例えば、最初のＫ個の候補のいずれとも同一でない）場合、この新しい動き候補は、Ｍ個の候補のすべてと異なると見なされ、マージ候補リストに追加され得る。
５．一例において、新しく付加された動き候補とマージ候補リストにおける第１のＮ個の候補とを比較するだけである。例えば、Ｎ＝３、４または５である。Ｎは、エンコーダからデコーダに信号通知されてもよい。
６．一例において、チェック対象の新しい動き候補は、マージ候補リストにおける最後のＮ個の候補と比較されるのみである。例えば、Ｎ＝３、４または５である。Ｎは、エンコーダからデコーダに信号通知されてもよい。
７．一例において、以前リストに追加された候補を選択し、テーブルからの新しい動き候補と比較する方法は、前回追加された候補がどこから導出されたかに依存してもよい。
ａ．一例において、ルックアップテーブルにおける動き候補を、所与の時間的および／または空間的に隣接ブロックから導出された候補と比較してもよい。
ｂ．一例において、ルックアップテーブルにおける動き候補の異なるエントリを、以前追加された異なる候補と比較してもよい（すなわち、異なる位置から導出された）。
【０１８６】
例Ｃ３：ルックアップテーブルに含まれる動き候補は、ブロックの動き情報を符号化する予測モジュールとして用いられてもよい使用してもよい。
ａ．それらをＡＭＶＰモード符号化に使用してもよい。すなわち、ＡＭＶＰ候補リスト導出処理において動き候補をチェックしてもよい。
ｂ．以下の場合、ルックアップテーブルにおける動き候補のチェックを有効にしてもよい。
ｉ．ＴＭＶＰ候補を挿入した後、ＡＭＶＰ候補リストが満杯になっていない。
ｉｉ．ＡＭＶＰ候補リストは、空間的近傍から選択し、プルーニングした後で、ＴＭＶＰ候補を挿入する直前には、満杯になっていない。
ｉｉｉ．上側の隣接ブロックからのＡＭＶＰ候補がスケーリング無しで存在しない場合、および／または、左側の隣接ブロックからのＡＭＶＰ候補がスケーリング無しで存在しない場合。
ｉｖ．ＡＭＶＰ候補リストに動き候補を追加する前に、プルーニングを適用してもよい。
ｖ．例Ｃ２の一部で述べたのと同様の規則をＡＭＶＰモードに適用してもよい。
ｃ．現在の参照ピクチャと同一の参照ピクチャを有する動き候補をチェックする。
ｉ．代替的に、現在の参照ピクチャとは異なる参照ピクチャを有する動き候補も（スケーリングされたＭＶと併せて）チェックする。
ｉｉ．代替的に、まず、現在の参照ピクチャと同一の参照ピクチャを有するすべての動き候補をチェックし、次に、現在の参照ピクチャとは異なる参照ピクチャを有する動き候補をチェックする。
ｉｉｉ．代替的に、マージでも同様に動き候補をチェックする。
【０１８７】
例Ｃ４：ルックアップテーブルにおける動き候補のチェック順序は、以下のように規定される（Ｋ（Ｋ≧１）個の動き候補をチェックすることができるとする）：
ａ．ルックアップテーブルにおける最後のＫ個の動き候補は、例えば、ＬＵＴへのエントリインデックスの降順に配列される。
ｂ．最初のＫ％Ｌ候補。Ｌは、Ｋ≧Ｌである場合のルックアップテーブルのサイズであり、例えば、ＬＵＴへのエントリインデックスの降順に配列される。
ｃ．Ｋ≧Ｌである場合、順番に基づいた、ルックアップテーブルにおけるすべての候補（Ｌ個の候補）。一例において、テーブルにおける最初のＫ％Ｌ個の候補を、ＬＵＴへのエントリインデックスの降順にチェックし、次に、エントリインデックスの降順に最後の（Ｌ−Ｋ％Ｌ）個の候補をチェックする。
ｄ．代替的に、さらに、動き候補のインデックスの降順（すなわち、ＬＵＴへのエントリインデックス）に基づいてもよい。
ｅ．代替的に、動き候補のインデックスの昇順に基づいてもよい。
ｆ．代替的に、候補情報に基づいて、動き候補に関連付けられた位置の距離や現在のブロックなど、Ｋ個の動き候補を選択する。
ｉ．一例において、Ｋ個の最も近い動き候補を選択する。
ｉｉ．一例において、候補情報は、距離を算出する際に、ブロックの形状をさらに考慮してもよい。
ｇ．一例において、Ｌ個の候補を含むテーブルからのＫ個の動き候補のチェック順序は、次のように規定されてもよい：ａ０、ａ０＋Ｔ０、ａ０＋Ｔ０＋Ｔ１、ａ０＋Ｔ０＋Ｔ１＋Ｔ２、．．．ａ０＋Ｔ０＋Ｔ１＋Ｔ２＋．．．＋ＴＫ−１のインデックスを有する候補を順に選択し、ａ０とＴｉ（ｉは０．．．Ｋ−１である）が整数値である。
ｉ．一例において、ａ０は、０（すなわち、テーブルにおける動き候補の最初のエントリ）に設定される。代替的に、ａ０は（Ｋ−Ｌ／Ｋ）に設定される。演算「／」は、結果をゼロに切り捨てる整数除算として規定される。代替的に、ａ０は、０とＬ／Ｋとの間の任意の整数に設定される。
１．代替的に、ａ０の値は、現在のブロックおよび隣接ブロックの符号化情報に依存してもよい。
ｉｉ．一例において、すべての間隔Ｔｉ（ｉは０…Ｋ−１である）は同じであり、例えばＬ／Ｋである。演算「／」は、結果をゼロに切り捨てる整数除算として規定される。
ｉｉｉ．一例において、（Ｋ、Ｌ、ａ０、Ｔｉ）は、（４，１６，０，４）、または（４，１２，０，３）、または（４，８，０，１）、または（４，１６，３，４）、または（４，１２，２，３）、または（４，８，１，２）に設定される。Ｔｉはすべてのｉについて同じである。
ｉｖ．このような方法は、ＫがＬよりも小さい場合にのみ適用されてもよい。
ｖ．代替的に、さらに、Ｋが閾値以上である場合、例Ｃ４のｃ部を適用してもよい。閾値は、Ｌとして規定されてもよく、またはＫに依存してもよく、またはブロックごとに適応的に変更されてもよい。一例において、閾値は、ルックアップテーブルから新しい動き候補を追加する前のリストにおける利用可能な動き候補の数に依存してもよい。
ｈ．一例において、Ｌ個の候補を含むテーブルからのＫ個の動き候補のチェック順序は、次のように規定されてもよい：ａ０、ａ０−Ｔ０、ａ０−Ｔ０＋Ｔ１、ａ０−Ｔ０−Ｔ１−Ｔ２、．．．ａ０−Ｔ０−Ｔ１−Ｔ２−．．．−ＴＫ−１のインデックスを有する候補を順に選択し、ａ０とＴｉ（ｉは０．．．Ｋ−１である）が整数値である。
ｉ．一例において、ａ０は、Ｌ−１に設定される（すなわち、テーブルにおける動き候補の最後のエントリ）。代替的に、ａ０は、Ｌ−１−Ｌ／ＫとＬ−１との間の任意の整数に設定される。
ｉｉ．一例において、すべての間隔Ｔｉ（ｉは０…Ｋ−１である）は同じであり、例えばＬ／Ｋである。
ｉｉｉ．一例において、（Ｋ、Ｌ、ａ０、Ｔｉ）は、（４，１６，Ｌ−１，４）、または（４，１２，Ｌ−１，３）、または（４，８，Ｌ−１，１）、または（４，１６，Ｌ−４，４）、または（４，１２，Ｌ−３，３）、または（４，８，Ｌ−２，２）に設定される。Ｔｉはすべてのｉについて同じである。
ｉｖ．このような方法は、ＫがＬよりも小さい場合にのみ適用されてもよい。
代替的に、さらに、Ｋが閾値以上である場合、例Ｃ４のｃ部を適用してもよい。閾値は、Ｌとして規定されてもよく、またはＫに依存してもよく、またはブロックごとに適応的に変更されてもよい。一例において、閾値は、ルックアップテーブルから新しい動き候補を追加する前のリストにおける利用可能な動き候補の数に依存してもよい。
ｉ．ルックテーブルから動き候補を選択する数および／または方法は、符号化情報、例えばブロックサイズ／ブロック形状に依存してもよい。
ｉ．一例において、より小さいブロックサイズの場合、最後のＫ個の動き候補を選択する代わりに、（最後から始まらない）他のＫ個の動き候補を選択してもよい。
ｉｉ．一例において、符号化情報は、ＡＭＶＰモードであってもよいし、マージモードであってもよい。
ｉｉｉ．一例において、符号化情報は、アフィンモードまたは非アフィンＡＭＶＰモードまたは非アフィンマージモードであってもよい。
ｉｖ．一例において、符号化情報は、アフィンＡＭＶＰ（インター）モード、または、アフィンマージモード、または、非アフィンＡＭＶＰモード、または、非アフィンマージモードであってもよい。
ｖ．一例において、符号化情報は、ＣＰＲ（Ｃｕｒｒｅｎｔ  Ｐｉｃｔｕｒｅ  Ｒｅｆｅｒｅｎｃｅ）モードであってもよいし、ＣＰＲモードでなくてもよい。
ｖｉ．代替的に、ルックアップテーブルから動き候補を選択する方法は、ルックアップテーブルにおける動き候補の数、および／または、ルックアップテーブルから新しい動き候補を追加する前のリストにおける利用可能な動き候補の数にさらに依存してもよい。
ｊ．一例において、チェック対象のルックアップテーブル内の利用可能な動き候補の最大数（すなわち、マージ／ＡＭＶＰ候補リストに追加されてもよい）は、ルックアップテーブル内の利用可能な動き候補の数（ＮａｖａｉＭＣｉｎＬＵＴによって示される）、および／または、ルックアップテーブルからの追加対象の最大許容動き候補の数（ＮＵＭｍａｘＭＣによって示される）（これは、予め規定されていてもよいし、信号通知されていてもよい）、および／または、ルックアップテーブルから候補をチェックする前のリスト内の利用可能な動き候補の数（ＮａｖａｉＣによって示される）に依存していてもよい。
ｉ．一例において、チェック対象のルックアップテーブルにおける動き候補の最大数は、（ＮａｖａｉＭＣｉｎＬＵＴ，ＮＵＭｍａｘＭＣ，ＮａｖａｉＣ）の最小値に設定される。
ｉｉ．代替的に、チェック対象のルックアップテーブルにおける動き候補の最大数は、（ＮａｖａｉＭＣｉｎＬＵＴ，ＮＵＭｍａｘＭＣ−ＮａｖａｉＣ）の最小値に設定される。
ｉｉｉ．一例において、ＮａｖａｉＣは、空間的または時間的（隣接および／または非隣接）な近傍のブロックから導出された挿入候補の数を示す。代替的に、サブブロック候補（ＡＭＴＶＰ、ＳＴＭＶＰなど）の数は、ＮａｖａｉＣに含まれていない。
ｉｖ．ＮＵＭｍａｘＭＣは、符号化モードに依存してもよく、例えば、マージモードおよびＡＭＶＰモードにおいて、ＮＵＭｍａｘＭＣは異なる値に設定されてもよい。一例において、マージモードの場合、ＮＵＭｍａｘＭＣは、４、６、８、１０等に設定してもよく、ＡＭＶＰモードの場合、ＮＵＭｍａｘＭＣは、１、２、４などに設定してもよい。
ｖ．代替的に、ＮＵＭｍａｘＭＣは、ブロックサイズ、ブロック形状、スライスタイプ等のような他の符号化情報に依存してもよい。
ｋ．異なるルックアップテーブルのチェック順序は、次のサブセクションのルックアップテーブルの使用法で規定されている。
ｌ．一旦、マージ／ＡＭＶＰ候補リストが最大許容候補数に達すると、このチェック処理は終了する。
ｍ．一旦、マージ／ＡＭＶＰ候補リストが、最大許容候補数から閾値（Ｔｈ）を減算した値に達すると、このチェック処理は終了する。一例において、Ｔｈは、例えば、１、２、または３の正の整数値として予め規定されてもよい。代替的に、Ｔｈは、ブロックごとに適応的に変更されてもよい。代替的に、Ｔｈは、ＳＰＳ／ＰＰＳ／スライスヘッダ等において信号通知されてもよい。代替的に、Ｔｈは、さらに、ブロック形状／ブロックサイズ／符号化モードなどに依存してよい。代替的に、Ｔｈは、ＬＵＴからの動き候補を追加する前の利用可能な候補の数に依存してもよい。
ｎ．代替的に、一旦、追加された動き候補の数が最大許容動き候補数に達すると、これは終了する。最大許容動き候補数は、信号通知されてもよく、または予め規定されてもよい。代替的に、最大許容動き候補数は、ブロック形状／ブロックサイズ／符号化モード等にさらに依存してもよい。
ｏ．テーブルサイズを示す１つのシンタックス要素ならびにチェック対象の動き候補の数（すなわち、Ｋ＝Ｌ）は、ＳＰＳ、ＰＰＳ、スライスヘッダ、タイルヘッダにおいて信号通知してもよい。
【０１８８】
例Ｃ５：１つのブロックの動き情報符号化のためのルックアップテーブルの使用の有効／無効は、ＳＰＳ、ＰＰＳ、スライスヘッダ、タイルヘッダ、ＣＴＵ、ＣＴＢ、ＣＵ、またはＰＵ、複数のＣＴＵ／ＣＴＢ／ＣＵ／ＰＵを含む領域において信号通知されてもよい。
【０１８９】
例Ｃ６：ルックアップテーブルからの予測を適用するかどうかは、さらに符号化情報に依存してもよい。１つのブロックに適用しないと推測される場合、予測の指示の追加の信号通知はスキップされる。代替的に、１つのブロックに適用しないと推測される場合、ルックアップテーブルの動き候補にアクセスする必要はなく、関連する動き候補のチェックは省略される。
【０１９０】
例Ｃ７：以前符号化されたフレーム／スライス／タイルにおけるルックアップテーブルの動き候補を使用して、異なるフレーム／スライス／タイルにおけるブロックの動き情報を予測してもよい。
【０１９１】
ルックアップテーブルの更新
【０１９２】
例Ｄ１：動き情報を有するブロックを符号化した後（すなわち、ＩｎｔｒａＢＣモード、インター符号化モード）に、１つ以上のルックアップテーブルを更新してもよい。
【０１９３】
追加の例示的な実施形態
【０１９４】
以前符号化されたブロックの動き情報としてＨＭＶＰ候補を規定する、ＨＭＶＰ（Ｈｉｓｔｏｒｙ−ｂａｓｅｄ  ＭＶＰ）方法が提案される。符号化／復号化処理中、複数のＨＭＶＰ候補を有するテーブルが維持される。新しいスライスに遭遇した場合、テーブルは空になる。インター符号化ブロックがあるときはいつでも、関連する動き情報を新しいＨＭＶＰ候補としてテーブルの最後のエントリに加える。全体の符号化フローを図３０に示す。
【０１９５】
一例において、テーブルサイズはＬ（例えば、Ｌ＝１６または６、または４４）に設定され、これは、Ｌ個までのＨＭＶＰ候補をテーブルに追加することができることを示す。
【０１９６】
１つの実施形態（例１１．ｇ．ｉに対応する）において、以前符号化されたブロックからのＨＭＶＰ候補がＬ個よりも多く存在する場合、テーブルが常に最新の以前符号化されたＬ個の動き候補を含むように、先入れ先出し（ＦＩＦＯ：Ｆｉｒｓｔ−Ｉｎ−Ｆｉｒｓｔ−Ｏｕｔ）規則が適用される。図３１は、ＦＩＦＯ規則を適用してＨＭＶＰ候補を除去し、提案される方法で使用されるテーブルに新しいものを追加する例を示す。
【０１９７】
別の実施形態（例１１．ｇ．ｉｉｉに対応する）において、新しい動き候補を追加するときはいつでも（例えば、現在のブロックがインター符号化され、非アフィンモードであるなど）、まず、冗長性チェック処理を適用し、テーブル（例えば、ＬＵＴ）に同じまたは類似した動き候補があるかどうかを識別する。
【０１９８】
いくつかの例を以下に示す。
【０１９９】
図３２Ａは、新しい動き候補を追加する前に、テーブルが満杯であった場合の例を示す。
【０２００】
図３２Ｂは、新しい動き候補を追加する前に、テーブルが満杯でなかった場合の例を示す。
【０２０１】
図３２Ａおよび図３２Ｂは、ともに、冗長性削除に基づくテーブル更新方法（１つの冗長性動き候補を除去する）の例を示す。図３２Ａ（上）に示すように、更新前のＬ個のテーブルエントリがある。冗長性チェックの間、ＨＭＶＰ２は冗長である（例えば、重複している）ことが見出され、排除され、従って、Ｌ−１個のエントリ（下）を生成し、これに新しいエントリを追加することができる。図３２Ｂは、同様に、冗長な候補の削除を示す。
【０２０２】
図３３Ａおよび図３３Ｂは、冗長性削除に基づくテーブル更新方法（複数の冗長性動き候補を除去する、図では２つの候補を示す）の２つの場合の実装形態を示す。
【０２０３】
図３３Ａは、新しい動き候補を追加する前に、テーブルが満杯であった場合の例を示す。
【０２０４】
図３３Ｂは、新しい動き候補を追加する前に、テーブルが満杯でない場合の例を示す。
【０２０５】
ＨＭＶＰ候補は、マージ候補リスト構築処理において使用され得る。ＴＭＶＰ候補の後に、テーブルにおける最後のエントリから最初のエントリ（または最後のＫ０のＨＭＶＰ、例えば、Ｋ０＝１６または６）までのすべてのＨＭＶＰ候補を挿入する。ＨＭＶＰ候補に対してプルーニングを適用する。利用可能なマージ候補の総数が信号通知された最大許容マージ候補に達すると、マージ候補リスト構築処理を終了する。代替的に、加算された動き候補の総数が、所与の値に達すると、ＬＵＴからの動き候補のフェッチを終了する。
【０２０６】
同様に、ＨＭＶＰ候補は、ＡＭＶＰ候補リスト構築処理において使用されてもよい。ＴＭＶＰ候補の後に、テーブルにおける最後のＫ１個のＨＭＶＰ候補の動きベクトルを挿入する。ＡＭＶＰ対象参照ピクチャと同じ参照ピクチャを有するＨＭＶＰ候補のみを用いて、ＡＭＶＰ候補リストを構築する。ＨＭＶＰ候補に対してプルーニングを適用する。一例において、Ｋ１は４に設定される。
【０２０７】
図２８は、映像処理装置２８００のブロック図である。装置２８００は、本明細書に記載の方法の１つ以上を実装するために使用してもよい。装置２８００は、スマートフォン、タブレット、コンピュータ、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）受信機等により実装されてよい。装置２８００は、１つ以上のプロセッサ２８０２と、１つ以上のメモリ２８０４と、映像処理ハードウェア２８０６と、を含んでよい。１つまたは複数のプロセッサ２８０２は、本明細書に記載される１つ以上の方法を実装するように構成されてもよい。１または複数のメモリ２８０４は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア２８０６は、本明細書に記載される技術をハードウェア回路にて実装するために用いられてもよい。
【０２０８】
図２９は、映像処理方法２９００の例のフローチャートである。方法２９００は、ステップ２９０２でテーブルを維持することを含み、各テーブルは、動き候補のセットを含み、各動き候補は、対応する動き情報に関連付けられる。この方法２９００は、さらにステップ２９０４において、少なくとも１つ以上のテーブルに基づいて、第１の映像ブロックと、第１の映像ブロックを含む映像のビットストリーム表現との間の変換を行うこととを含み、変換を行うことは、チェック終了判定基準が満たされるまで規則で決定された順にテーブル内の動き候補をチェックすることを含む。
【０２０９】
上述した方法／技術の特徴および実施形態を以下に説明する。
【０２１０】
１．テーブルを維持することであって、各テーブルは、動き候補のセットを含み、各動き候補は、対応する動き情報に関連付けられる、ことと、少なくとも１つ以上のテーブルに基づき、第１の映像ブロックと、前記第１の映像ブロックを含む映像のビットストリーム表現との間の変換を行うことであって、前記変換を行うことは、チェック終了判定基準が満たされるまで規則で規定された順にテーブル内の動き候補をチェックすることと、を有する、映像処理方法。
【０２１１】
２．前記規則は、前記テーブルにおける最後のＫ個の動き候補をチェックすることを指定し、Ｋが１以上である、第１項に記載の方法。
【０２１２】
３．前記規則は、前記テーブルにおけるＬを法とするＫ（Ｋ％Ｌ）個の最初の候補がチェックされることを規定しており、ＫはＬ以上であり、Ｌは前記テーブルにおけるエントリの数を示す、第１項に記載の方法。
【０２１３】
４．前記規則は、前記テーブルにおけるＬ個の動き候補をすべてチェックすることを規定しており、Ｌは前記テーブルにおけるエントリの数を示す、第１項に記載の方法。
【０２１４】
５．前記規則は、動き候補インデックスの降順に基づいて、前記テーブルにおける前記動き候補をチェックすることを規定する、第１項に記載の方法。
【０２１５】
６．前記規則は、動き候補インデックスの昇順に基づいて、前記テーブルにおける前記動き候補をチェックすることを規定する、第１項に記載の方法。
【０２１６】
７．前記規則は、候補情報に基づいて、Ｋ個の動き候補を選択することを特定し、Ｋが１以上である、第１項に記載の方法。
【０２１７】
８．前記候補情報は、前記第１の映像ブロックと前記動き候補に関連付けられた位置との間の距離を含む、第７項に記載の方法。
【０２１８】
９．Ｋ個の最も近い動き候補を選択する、第７項に記載の方法。
【０２１９】
１０．前記候補情報は、距離を算出するように考慮されたブロック形状を含む、第８項に記載の方法。
【０２２０】
１１．前記Ｋ個の動き候補の選択は、前記第１の映像ブロックの符号化情報に依存する、第７項に記載の方法。
【０２２１】
１２．前記符号化情報は、ブロックサイズまたはブロック形状のうちの少なくとも１つを含む、第１１項に記載の方法。
【０２２２】
１３．前記第１の映像ブロックの前記符号化情報は、ＡＭＶＰモード、マージモード、アフィンモード、非アフィンＡＭＶＰモード、非アフィンマージモード、アフィンＡＭＶＰ（インター）モード、アフィンマージモード、非アフィンＡＭＶＰモード、非アフィンマージモード、ＣＰＲ（Ｃｕｒｒｅｎｔ  Ｐｉｃｔｕｒｅ  Ｒｅｆｅｒｅｎｃｅ）モード、または非ＣＰＲモードのうちの少なくとも１つを示す、第１１項に記載の方法。
【０２２３】
１４．前記Ｋ個の動き候補の前記選択は、ｉ）前記テーブルにおける複数の動き候補の数、またはｉｉ）前記テーブルから新しい動き候補を追加する前の、動き候補リストにおける利用可能な候補の数のうちの少なくとも１つに依存する、第７項に記載の方法。
【０２２４】
１５．より小さいブロックサイズの場合、前記選択されたＫ個の動き候補は、テーブルにおける最後のＫ個の動き候補に対応しない、第１１項に記載の方法。
【０２２５】
１６．別のテーブルにおける動き候補は、別の順にチェックされる、第１項に記載の方法。
【０２２６】
１７．マージまたはＡＭＶＰ（Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）候補リストのうち少なくとも１つを含む動き候補リストが、最大許容候補数に達した場合、前記チェック終了判定基準を満たす、第１〜１６項のいずれか１項に記載の方法。
【０２２７】
１８．チェック対象のテーブルから追加された動き候補の数が最大許容動き候補数に達した場合に、チェック終了判定基準を満たす、第１〜１６項のいずれか１項に記載の方法。
【０２２８】
１９．チェック対象の前記最大許容動き候補数は、予め規定されるか、または信号通知される、第１８項に記載の方法。
【０２２９】
２０．チェック対象のテーブルからの前記最大許容動き候補数は、ブロック形状、ブロックサイズ、または符号化モードのうち少なくとも１つに依存する、第１８項に記載の方法。
【０２３０】
２１．ｉ）テーブルのサイズ、または、ｉｉ）チェック対象のテーブルからの動き候補の数のうちの少なくとも１つを信号通知することをさらに含む、第１項に記載の方法。
【０２３１】
２２．前記候補リストにおける候補の数が、前記候補リストの最大許容候補数から閾値（Ｔｈ）を減算した値に達した場合、前記チェック終了判定基準を満たす、第１〜１６項のいずれか１項に記載の方法。
【０２３２】
２３．前記閾値（Ｔｈ）は、正の整数として予め規定される、第２２項に記載の方法。
【０２３３】
２４．ブロックによって前記閾値（Ｔｈ）が変化する、第２２項に記載の方法。
【０２３４】
２５．前記閾値（Ｔｈ）は、ＶＰＳ（Ｖｅｄｅｏ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）、ＳＰＳ（Ｓｅｑｕｅｎｃｅ  Ｐａｒａｍｔｅｒ  Ｓｅｔ）、ＰＰＳ（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）、スライスヘッダ、またはタイルヘッダのうちの１つ以上において信号通知される、第２２項に記載の方法。
【０２３５】
２６．前記閾値（Ｔｈ）は、ブロック形状、ブロックサイズ、または符号化モードのうちの少なくとも１つに依存する、第２２項に記載の方法。
【０２３６】
２７．前記閾値（Ｔｈ）は、前記テーブルから動き候補を追加する前の利用可能な候補の数に依存する、第２２項に記載の方法。
【０２３７】
２８．前記チェック終了判定基準は、テーブルにおける利用可能な動き候補の数、テーブルからの追加対象の最大許容動き候補、およびテーブルからの前記動き候補のチェック前における動き候補リストにおける利用可能な候補の数のうちの少なくとも１つに依存する、第１〜１６項のいずれか１項に記載の方法。
【０２３８】
２９．前記順序は、ａ０、ａ０＋Ｔ０、ａ０＋Ｔ０＋Ｔ１、ａ０＋Ｔ０＋Ｔ１＋Ｔ２、．．．ａ０＋Ｔ０＋Ｔ０＋Ｔ１＋Ｔ２＋．．．＋ＴＫ−１と等しいインデックスを有するＫ個の動き候補を順に選択することによる、Ｌ個の候補を含む前記テーブルからのＫ個の動き候補のチェック順序を含み、ａ０とＴｉ（ｉは０．．．Ｋ−１である）は整数値である、第１項に記載の方法。
【０２３９】
３０．前記テーブルにおける動き候補の最初のエントリとして、ａ０を０に設定する、第２９項に記載の方法。
【０２４０】
３１．ａ０を（Ｋ−Ｌ／Ｋ）に設定し、演算子「／」は、結果をゼロに切り捨てる整数除算として定義される、第２９項に記載の方法。
【０２４１】
３２．ａ０を、０とＬ／Ｋとの間の任意の整数に設定し、演算子「／」は、結果をゼロに切り捨てる整数除算として定義される、第２９項に記載の方法。
【０２４２】
３３．ａ０は、前記第１の映像ブロックおよび近傍のブロックの符号化情報に依存する、第２９項に記載の方法。
【０２４３】
３４．Ｔｉ（ｉは０とＫ−１との間の整数である）が同じ値を有する、第２９項に記載の方法。
【０２４４】
３５．前記同じ値はＬ／Ｋであり、演算子「／」は、結果をゼロに切り捨てる整数除算として定義される、第３４項に記載の方法。
【０２４５】
３６．（Ｋ、Ｌ、ａ０、Ｔｉ）は、（４，１６，０，４）、（４，１２，０，３）、（４，８，０，１）、（４，１６，３，４）、（４，１２，２，３）または（４，８，１，２）のいずれか１つに設定される第２９項に記載の方法。
【０２４６】
３７．前記チェック順序は、ＫがＬよりも小さい場合に適用される、第２９項に記載の方法。
【０２４７】
３８．前記規則は、Ｋが閾値以上である場合、前記テーブルにおけるＬ個の動き候補のすべてをチェックすることを規定する、第２９項に記載の方法。
【０２４８】
３９．前記閾値はＬである、第３８項に記載の方法。
【０２４９】
４０．前記閾値はＫに依存するか、またはブロックによって変化する、第３８項に記載の方法。
【０２５０】
４１．前記順序は、ａ０、ａ０−Ｔ０、ａ０−Ｔ０−Ｔ１、ａ０−Ｔ０−Ｔ１−Ｔ２、．．．ａ０−Ｔ０−Ｔ０−Ｔ１−Ｔ２−．．．−ＴＫ−１と等しいインデックスを有するＫ個の動き候補を順に選択することによる、Ｌ個の候補を含むテーブルからのＫ個の動き候補のチェック順序を含み、ａ０とＴｉ（ｉは０．．．Ｋ−１である）は整数値である、第１項に記載の方法。
【０２５１】
４２．前記テーブルにおける動き候補の最後のエントリとして、ａ０をＬ−１に設定する、第４１項に記載の方法。
【０２５２】
４３．ａ０は、Ｌ−１−Ｌ／ＫとＬ−１との間の任意の整数に設定され、演算子「／」は、結果をゼロに切り捨てる整数除算として定義される、第４１項に記載の方法。
【０２５３】
４４．Ｔｉ（ｉは０とＫ−１との間の整数である）が同じ値を有する、第４１項に記載の方法。
【０２５４】
４５．前記同じ値はＬ／Ｋであり、演算子「／」は、結果をゼロに切り捨てる整数除算として定義される、第４４項に記載の方法。
【０２５５】
４６．（Ｋ，Ｌ，ａ０，Ｔｉ）は、（４，１６，Ｌ−１，４）、（４，１２，Ｌ−１，３）、（４，８，Ｌ−１，１）、（４，１６，Ｌ−４，４）、（４，１２，Ｌ−３，３）、または（４，８，Ｌ−２，２）のいずれか１つに設定される第４１項に記載の方法。
【０２５６】
４７．前記チェック順序は、ＫがＬよりも小さい場合に適用される、第４１項に記載の方法。
【０２５７】
４８．前記規則は、Ｋが閾値以上である場合、前記テーブルにおけるＬ個の動き候補のすべてをチェックすることを規定する、第４１項に記載の方法。
【０２５８】
４９．前記閾値はＬである、第４８項に記載の方法。
【０２５９】
５０．前記閾値はＫに依存するか、またはブロックによって変化する、第４８項に記載の方法。
【０２６０】
５１．動き候補は、予測方向、参照ピクチャインデックス、動きベクトル値、強度補償フラグ、アフィンフラグ、動きベクトル差精度、または動きベクトル差分値のうちの少なくとも１つを含む動き情報に関連付けられる、第１〜５０項のいずれか１項に記載の方法。
【０２６１】
５２．前記チェックされた動き候補をマージ候補リストに追加することをさらに含む、第１〜５０項のいずれか１項に記載の方法。
【０２６２】
５３．前記マージ候補リストに追加された前記動き候補のチェック順は、動き候補インデックスの降順に基づく、第５２項に記載の方法。
【０２６３】
５４．前記チェックされた動き候補の前記動きベクトルをＡＭＶＰ候補リストに追加することをさらに含む、第１〜５０項のいずれか１項に記載の方法。
【０２６４】
５５．前記ＡＭＶＰ候補リストに追加された前記動き候補のチェック順は、動き候補インデックスの昇順に基づく、第５４項に記載の方法。
【０２６５】
５６．チェック対象の動き候補の数が４以下である、第５４項に記載の方法。
【０２６６】
５７．チェック対象の前記テーブルにおける動き候補の最大数は、Ｎで指標付けされた前記テーブルにおける利用可能な動き候補の数、Ｍで指標付けされた前記テーブルからの加算対象の最大許容動き候補、またはＫで指標付けされた前記テーブルからの前記動き候補をチェックする前の候補リストにおける利用可能な候補の数のうちの、いずれか１つに依存し、Ｎ、Ｍ、Ｋは整数である、第１項に記載の方法。
【０２６７】
５８．チェック対象の前記テーブルにおける動き候補の最大数を（Ｎ，Ｍ，Ｋ）の最小値に設定する、第５７項に記載の方法。
【０２６８】
５９．チェック対象の前記テーブルにおける動き候補の最大数を（Ｎ，Ｍ−Ｋ）の最小値に設定する、第５７項に記載の方法。
【０２６９】
６０．Ｋは、空間的または時間的に近傍のブロックから導出された、挿入された候補の数を示す、第５７項に記載の方法。
【０２７０】
６１．前記テーブルから前記動き候補をチェックする前の候補リストにおける、Ｋ個を数えると考えられる前記利用可能な候補は、ＡＭＴＶＰ（Ａｌｔｅｒｎａｔｉｖｅ  Ｔｅｍｐｏｒａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）およびＳＴＭＶＰ（Ｓｐａｔｉａｌ−Ｔｅｍｐｏｒａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）を含むサブブロック候補を含まない、第５７項に記載の方法。
【０２７１】
６２．Ｍは、前記映像の符号化モードのうちの少なくとも１つに依存する、第５７項に記載の方法。
【０２７２】
６３．Ｍは、マージモードの場合、４、６、８、または１０に設定され、Ｍは、ＡＭＶＰ（Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）モードの場合、１、２、または４に設定される、第６２項に記載の方法。
【０２７３】
６４．Ｍは、前記第１の映像ブロックのブロックサイズ、前記第１の映像ブロックのブロック形状、スライスタイプを含む、前記映像の符号化情報に依存する、第５７項に記載の方法。
【０２７４】
６５．前記テーブルは、ルックアップテーブルに対応する、第１〜６４項のいずれか１項に記載の方法。
【０２７５】
６６．前記変換に基づいて、１つ以上のテーブルを更新することをさらに含む、第１〜６５項のいずれか１項に記載の方法。
【０２７６】
６７．前記１つ以上のテーブルを更新することは、前記変換を実行した後、前記第１の映像ブロックの動き情報に基づいて１つ以上のテーブルを更新することを含む、第６６項に記載の方法。
【０２７７】
６８．前記更新されたテーブルに基づいて、前記映像の後続の映像ブロックと前記映像のビットストリーム表現との間で変換を行うことをさらに含む、第６７項に記載の方法。
【０２７８】
６９．プロセッサと、命令が記憶された非一時的メモリとを備える装置であって、前記命令は、前記プロセッサによって実行された際に、前記プロセッサに、第１〜６８項のいずれか１項に記載の方法を実施させる映像システムの装置。
【０２７９】
７０．非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、第１〜６８項のいずれか１項に記載の方法を実行するためのプログラムコードを含む、コンピュータプログラム製品。
【０２８０】
以上、説明の目的で本開示の技術の特定の実施形態を説明したが、本発明の範囲から逸脱することなく様々な修正が可能であることは、理解されるであろう。従って、本開示の技術は、添付の特許請求の範囲による場合を除き、限定されない。
【０２８１】
本明細書に記載された開示された、およびその他の実施形態、モジュール、および機能操作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの１つ以上の組み合わせで実施してもよい。開示された、およびその他の実施形態は、１つ以上のコンピュータプログラム製品、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の操作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の１つ以上のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶装置、機械可読記憶基板、記憶装置、機械可読伝播信号をもたらす物質の組成物、またはこれらの１つ以上の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサ若しくはコンピュータを含め、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの１つ以上の組み合わせを構成するコードを含んでもよい。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。
【０２８２】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる）は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、コンポーネント、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部（例えば、マークアップ言語文書に格納された１つ以上のスクリプト）に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル（例えば、１つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル）に記憶されていてもよい。１つのコンピュータプログラムを、１つのサイトに位置する１つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開可能である。
【０２８３】
本明細書に記載されたプロセスおよびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための１つ以上のコンピュータプログラムを実行する１つ以上のプログラマブルプロセッサによって行うことができる。プロセスおよびロジックフローはまた、特別目的のロジック回路、例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）またはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）によって実行することができ、装置はまた、特別目的のロジック回路として実装することができる。
【０２８４】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の１つ以上のプロセッサを含む。一般的に、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための１つ以上の記憶装置とである。一般的に、コンピュータは、データを記憶するための１つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、および記憶装置を含み、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスク等の半導体記憶装置を含む。プロセッサおよびメモリは、専用ロジック回路によって補完されてもよく、または専用ロジック回路に組み込まれてもよい。
【０２８５】
本特許明細書は多くの詳細を含むが、これらは、任意の発明の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許明細書において別の実施形態の文脈で説明されている特定の特徴は、１つの例において組み合わせて実装してもよい。逆に、単一の例の文脈で説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの１つ以上の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブ組み合わせまたはサブ組み合わせのバリエーションに向けられてもよい。
【０２８６】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で実行されること、または示された全ての操作が実行されることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
【０２８７】
いくつかの実装形態および例のみが記載されており、本特許明細書に記載され図示されている内容に基づいて、他の実施形態、拡張および変形が可能である。
【図１】
2021530183.tif 000008
【図２】
2021530183.tif 000009
【図３】
2021530183.tif 000010
【図４】
2021530183.tif 000011
【図５】
2021530183.tif 000012
【図６】
2021530183.tif 000013
【図７】
2021530183.tif 000014
【図８】
2021530183.tif 000015
【図９】
2021530183.tif 000016
【図１０】
2021530183.tif 000017
【図１１】
2021530183.tif 000018
【図１２】
2021530183.tif 000019
【図１３】
2021530183.tif 000020
【図１４】
2021530183.tif 000021
【図１５】
2021530183.tif 000022
【図１６】
2021530183.tif 000023
【図１７】
2021530183.tif 000024
【図１８】
2021530183.tif 000025
【図１９】
2021530183.tif 000026
【図２０】
2021530183.tif 000027
【図２１】
2021530183.tif 000028
【図２２】
2021530183.tif 000029
【図２３】
2021530183.tif 000030
【図２４】
2021530183.tif 000031
【図２５】
2021530183.tif 000032
【図２６】
2021530183.tif 000033
【図２７Ａ】
2021530183.tif 000034
【図２７Ｂ】
2021530183.tif 000035
【図２８】
2021530183.tif 000036
【図２９】
2021530183.tif 000037
【図３０】
2021530183.tif 000038
【図３１】
2021530183.tif 000039
【図３２Ａ】
2021530183.tif 000040
【図３２Ｂ】
2021530183.tif 000041
【図３３Ａ】
2021530183.tif 000042
【図３３Ｂ】
2021530183.tif 000043
【手続補正書】
【提出日】令和3年2月24日(2021.2.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１または複数のテーブルを維持することであって、各テーブルは、符号化された１または複数の映像ブロックから導出された１または複数の候補を含む、ことと、
映像の現在の映像ブロックに対する候補リストを構成することであって、前記テーブルにおける少なくとも１つの候補は、前記少なくとも１つの候補の少なくとも１つのインデックスの順にてチェックされる、ことと、
前記候補リストを用いて、前記現在の映像ブロックの動き情報を決定することと、
前記決定された動き情報に基づいて、前記現在の映像ブロックを符号化することと
を有する、映像処理方法。
【請求項２】
前記符号化することは、前記現在の映像ブロックをビットストリーム表現に符号化することを有する、請求項１に記載の方法。
【請求項３】
前記符号化することは、前記現在の映像ブロックをビットストリーム表現から復号化することを有する、請求項１に記載の方法。
【請求項４】
前記各テーブルにおける前記候補の配置は、前記テーブルへの前記候補の追加の順に基づき、前記テーブルにおける前記候補のインデックスは、前記テーブルへの前記候補の追加の前記順に関連付けられている、請求項１に記載の方法。
【請求項５】
新たな候補が前記テーブルに追加された際に、前記新たな候補は、前記テーブルにおける他の候補よりも大きなインデックスを有する、請求項４に記載の方法。
【請求項６】
前記テーブルにおいて、Ｋ個の最大のインデックスを有する最後のＫ個の候補、または、Ｋ個の最小のインデックスを有する最初のＫ個の候補がチェックされる、請求項１に記載の方法。
【請求項７】
前記テーブルの前記少なくとも１つの候補は、前記少なくとも１つのインデックスの降順に基づいてチェックされる、請求項１に記載の方法。
【請求項８】
ａ０、ａ０−Ｔ０、ａ０−Ｔ０−Ｔ１、ａ０−Ｔ０−Ｔ１−Ｔ２、．．．ａ０−Ｔ０−Ｔ１−Ｔ２−．．．−ＴＫ−１と等しいインデックスを有する、前記テーブルからのＫ個の候補は、Ｋ個のインデックスの順にチェックされ、ａ０とＴｉ（ｉは０．．．Ｋ−１である）は整数値である、請求項１に記載の方法。
【請求項９】
ａ０は、前記テーブルにおける最大のインデックスを有する最後の候補のインデックスである、請求項８に記載の方法。
【請求項１０】
Ｔｉは、同じ値を有する、請求項８に記載の方法。
【請求項１１】
前記候補リストは、マージ候補リストである、請求項７に記載の方法。
【請求項１２】
前記テーブルの前記少なくとも１つの候補は、少なくとも１つのインデックスの昇順に基づいてチェックされる、請求項１に記載の方法。
【請求項１３】
ａ０、ａ０＋Ｔ０、ａ０＋Ｔ０＋Ｔ１、ａ０＋Ｔ０＋Ｔ１＋Ｔ２、．．．ａ０＋Ｔ０＋Ｔ１＋Ｔ２＋．．．＋ＴＫ−１と等しいインデックスを有する、Ｋ個の候補は、Ｋ個のインデックスの順にチェックされ、ａ０とＴｉ（ｉは０．．．Ｋ−１である）は整数値である、請求項１に記載の方法。
【請求項１４】
ａ０は、前記テーブルにおける最小のインデックスを有する最初の候補のインデックスである、請求項１３に記載の方法。
【請求項１５】
Ｔｉは、同じ値を有する、請求項１３に記載の方法。
【請求項１６】
前記候補リストは、ＡＭＶＰ（Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）候補リストである、請求項１２に記載の方法。
【請求項１７】
前記複数のテーブルは、候補リストを構成する間の異なる順にてチェックされた２つのテーブルを含む、請求項１に記載の方法。
【請求項１８】
チェック対象の前記少なくとも１つの候補は、前記現在の映像ブロックの符号化情報に基づいて決定される、請求項１に記載の方法。
【請求項１９】
前記符号化情報は、前記現在の映像ブロックの符号化モード、前記テーブルにおける候補の数、前記テーブルから新たな候補が追加される前の候補リストにおける候補の数、前記現在の映像ブロックと前記テーブルの前記候補と関連する位置との間の距離、前記現在の映像ブロックのブロック形状、前記現在の映像ブロックのブロックサイズ、の少なくとも１つを含む、請求項１８に記載の方法。
【請求項２０】
前記現在の映像ブロックの前記符号化モードは、ＡＭＶＰモード、マージモード、アフィンモード、非アフィンＡＭＶＰモード、非アフィンマージモード、アフィンＡＭＶＰ（インター）モード、アフィンマージモード、ＣＰＲ（Ｃｕｒｒｅｎｔ  Ｐｉｃｔｕｒｅ  Ｒｅｆｅｒｅｎｃｅ）モード、非ＣＰＲモード、のうちの１つである、請求項１９に記載の方法。
【請求項２１】
前記チェックすることは、チェック終了基準を満たした際に終了され、
前記チェック終了基準は、前記現在の映像ブロックの符号化モード、テーブルからのチェック対象の許容候補の最大数、前記候補リストの許容候補の最大数、の少なくとも１つに基づく、請求項１に記載の方法。
【請求項２２】
チェック対象の前記テーブルにおける候補の最大数は、前記現在の映像ブロックの符号化モード、前記テーブルにおける候補の数、前記テーブルから追加される許容候補の最大数、前記テーブルから前記候補をチェックする前の候補リストにおける利用可能な候補の数、前記現在の映像ブロックのブロックサイズ、前記現在の映像ブロックのブロック形状、スライスタイプ、の少なくとも１つに基づく請求項１に記載の方法。
【請求項２３】
前記現在の映像ブロックの符号化モードがＡＭＶＰモードである場合、チェック対象の前記テーブルにおける候補の最大数は、４以下である、請求項１に記載の方法。
【請求項２４】
チェック対象の前記テーブルおける候補の最大数は、予め定義される、または、信号通知される、請求項１に記載の方法。
【請求項２５】
前記現在の映像ブロックがＡＭＶＰモードにて符号化された場合、前記テーブルから前記候補リストに追加される許容候補の最愛数は、１、２、または４のうちのいずれかである、請求項１に記載の方法。
【請求項２６】
前記テーブルにおける候補は、予測方向、参照ピクチャインデックス、動きベクトル値、強度補償フラグ、アフィンフラグ、動きベクトル差精度、動きベクトル差分値、のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項２７】
前記チェックされた候補に基づいて前記候補リストを更新するか否かは、前記チェックの結果に基づく、請求項１に記載の方法。
【請求項２８】
プロセッサと、命令を有する非一時的メモリとを備える映像処理装置であって、
前記命令は、前記プロセッサによって実行された際に、前記プロセッサに、
１または複数のテーブルを維持することであって、各テーブルは、符号化された１または複数の映像ブロックから導出された１または複数の候補を含む、ことと、
映像の現在の映像ブロックに対する候補リストを構成することであって、前記テーブルにおける少なくとも１つの候補は、前記少なくとも１つの候補の少なくとも１つのインデックスの順にてチェックされる、ことと、
前記候補リストを用いて、前記現在の映像ブロックの動き情報を決定することと、
前記決定された動き情報に基づいて、前記現在の映像ブロックを符号化することと
を行わせる、映像処理装置。
【請求項２９】
プロセッサに、
１または複数のテーブルを維持することであって、各テーブルは、符号化された１または複数の映像ブロックから導出された１または複数の候補を含む、ことと、
映像の現在の映像ブロックに対する候補リストを構成することであって、前記テーブルにおける少なくとも１つの候補は、前記少なくとも１つの候補の少なくとも１つのインデックスの順にてチェックされる、ことと、
前記候補リストを用いて、前記現在の映像ブロックの動き情報を決定することと、
前記決定された動き情報に基づいて、前記現在の映像ブロックを符号化することと
を行わせる、命令を格納した非一時的コンピュータ可読記憶媒体。
【請求項３０】
映像処理装置による方法によって生成されたビットストリーム表現を格納した非一時的コンピュータ可読媒体であって、
前記方法は、
１または複数のテーブルを維持することであって、各テーブルは、符号化された１または複数の映像ブロックから導出された１または複数の候補を含む、ことと、
映像の現在の映像ブロックに対する候補リストを構成することであって、前記テーブルにおける少なくとも１つの候補は、前記少なくとも１つの候補の少なくとも１つのインデックスの順にてチェックされる、ことと、
前記候補リストを用いて、前記現在の映像ブロックの動き情報を決定することと、
前記決定された動き情報に基づいて、前記現在の映像ブロックを符号化することと
を有する、非一時的コンピュータ可読媒体。
【国際調査報告】
2021530183.tif 000044
2021530183.tif 000045