(57)【要約】  本発明は、符号化されたビデオストリーム内のアフィンモードを伝達すること、特に現在のブロックに隣接するブロックに対応するマージ候補リストを判定することと、前記現在のブロックのアフィンモードを伝達することであって、前記アフィンモードを伝達することは前記データストリームからのコンテキスト符号化フラグを符号化することを含み、前記フラグのコンテキスト変数は前記隣接するブロックがアフィンモードを使用するか否かに基づいて判定されることに関する。関連する符号化及び復号化方法ならびに装置も開示される。【選択図】  図１８
2022501870.tif 000002
【特許請求の範囲】
【請求項１】
ビットストリームの一部の動き予測モードを伝達する方法であって、
現在のブロックに隣接するブロックに対応するマージ候補のリストを判定することと、
前記現在のブロックのアフィンモードを伝達することであって、前記アフィンモードを伝達することは、データストリームからコンテキスト符号化フラグを復号化することを含む、ことと
フラグのコンテキスト変数は、前記隣接するブロックがアフィンモードを使用するか否かに基づいて判定される、ことを含む、
ことを特徴とする方法。
【請求項２】
前記リスト内の第１の空間的候補が、前記ブロックに関連するコンテキスト変数を判定するために使用される前記ブロックである、
ことを特徴とする請求項１に記載の方法。
【請求項３】
ビットストリーム内の符号化されたブロックの動き予測モードを伝達する方法であって、
前記ビットストリーム内の符号化された前記ブロックに隣接するブロックが、アフィンモードを使用するか否かを判定することと、
コンテキスト符号化フラグを前記ビットストリームに挿入することと、を含み、
前記コンテキスト符号化フラグのコンテキスト変数が、前記ビットストリーム内の符号化された前記ブロックに隣接するブロックが、アフィンモードを使用するか否かの前記判定に依存する、
ことを特徴とする方法。
【請求項４】
アフィンフラグのコンテキストは、左のブロックと現在のブロックの上のブロックの両方から取得される、
ことを特徴とする請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記現在のブロックの前記左のブロックのＩｓＡｆｆｉｎｅと前記現在のブロックの上のブロックのＩｓＡｆｆｉｎｅを合計することにより、前記アフィンフラグのコンテキストを取得することを含み、ＩｓＡｆｆｉｎｅは前記ブロックがアフィンブロックでない場合に０及び前記ブロックがアフィンである場合に１を返す関数である、
ことを特徴とする請求項４に記載の方法。
【請求項６】
前記隣接するブロックは、ブロックＡ２及びＢ３のみで構成される、
ことを特徴とする請求項１から５のいずれか１項に記載の方法。
【請求項７】
ビットストリーム内の動き予測モードを伝達する方法であって、
動き予測子候補のリストをコンパイルすることと、
アフィンマージモードをマージ候補として挿入することと、を含み、
候補のリスト内のアフィンマージモード候補の位置は可変である、
ことを特徴とする方法。
【請求項８】
候補のリスト内のアフィンマージモード候補の前記位置は、オルタナティブ・テンポラル・モーション・ベクタ・プレディクション（ＡＴＭＶＰ）候補に基づいて判定される、
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記候補リスト内の前記アフィンマージモード候補の前記位置は、隣接するブロックがアフィンモードを使用するか否かに基づいて判定される、
ことを特徴とする請求項７又は８に記載の方法。
【請求項１０】
前記隣接するブロックは、ブロックＡ１及びＢ１を含む、
ことを特徴とする請求項９に記載の方法。
【請求項１１】
請求項１から１０のいずれか１項に記載の方法を使用して、画像を符号化する方法。
【請求項１２】
アフィンモードは、符号化されている前記ビットストリームに対応するビデオを記録するために使用される装置の特徴に依存して伝達される、
ことを特徴とする請求項１１に記載の方法。
【請求項１３】
請求項１から１０のいずれか１項に記載の方法を使用して、画像を復号化する方法。
【請求項１４】
請求項１から１３のいずれか１項に記載の方法を実行するように適合された装置。
【請求項１５】
請求項１４に記載の装置を含むカメラ。
【請求項１６】
請求項１５に記載のカメラを含むモバイル装置。
【請求項１７】
請求項１４から１６のいずれか１項に記載の装置を含む、画像符号化の符号化部。
【請求項１８】
請求項１４から１６のいずれか１項に記載の装置を含む、画像復号化の復号化部。
【請求項１９】
コンピュータ又はプロセッサに実行されると、前記コンピュータ又はプロセッサに請求項１から１３のいずれか１項に記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ符号化及び復号化に関する。
【背景技術】
【０００２】
最近、共同ビデオ専門家チーム（ＪＶＥＴ）は、すなわちＭＰＥＧとＩＴＵ−Ｔスタディグループ１６のＶＣＥＧによって形成された共同チーム、多用途ビデオ符号化（ＶＶＣ）と呼ばれる新しいビデオ符号化規格の研究を開始した。ＶＶＣの目標は、既存のＨＥＶＣ規格（すなわち、典型的には以前の２倍）を超える圧縮性能の著しい改良を提供すること、及び２０２０年に完了することである。主な対象アプリケーション及びサービスは３６０度及びハイダイナミックレンジ（ＨＤＲ）ビデオを含むが、これに限定されない。全体的に、ＪＶＥＴは、独立した試験所により実施された正式な主観的試験を用いて、３２団体からの応答を評価した。いくつかの提案は、ＨＥＶＣを使用する場合と比較して、典型的には４０％以上の圧縮効率ゲインを実証した。特定の有効性が、超高精細（ＵＨＤ）ビデオの試験材料に関して示された。したがって、我々は、最終的な規格の目標とする５０％をはるかに超える圧縮効率ゲインを予想することができる。
【０００３】
ＪＶＥＴ探索モデル（ＪＥＭ）は、全てのＨＥＶＣツールを使用する。ＨＥＶＣには存在しない更なるツールは、動き補償を適用する時に、「アフィン動きモード」を使用することである。ＨＥＶＣにおける動き補償は、平行移動に限定されるが、現実的には例えばズームイン／アウト、回転、遠近感の運動、及び他の不規則な動作のような多くの種類の動きがある。アフィン動きモードを利用する場合、そのような動きの形態をより正確に予測しようとするために、より複雑な変換がブロックに適用される。しかしながら、アフィン動きモードの使用は符号化／復号化処理の複雑さを増大させることがあり、また、信号オーバヘッドを増大させることがある。したがって、前述の問題の少なくとも１つの解決が望ましい。
【発明の概要】
【０００４】
本発明の第１の態様では、ビットストリームの一部の動き予測モードを伝達する方法であって、前記ビットストリームの前記一部に使用されるインター予測モードを判定することと、前記ビットストリームの前記一部に使用される前記インター予測モードに依存して、アフィン動きモードを伝達することを含む方法が提供される。任意で、使用されるインター予測モードは、前記ビットストリームの前記一部におけるスキップフラグの状態に基づいて判定される。任意で、アフィンモードは、前記スキップフラグが存在する場合、有効化されない。任意で、本方法は、前記アフィンモードが有効化される場合、マージモードを有効化することをさらに含む。任意で、アフィンモードは、前記インター予測モードがアドバンスド・モーション・ベクタ・プレディクタ(ＡＭＶＰ)である場合、有効化される。任意で、前記判定はハイレベルシンタックスフラグに基づいて実行され、前記ハイレベルシンタックスフラグはスライスレベル、フレームレベル、シーケンスレベル、及びコーディング・ツリー・ユニット（ＣＴＵ）レベルのうちの少なくとも１つの処理を示す。任意で、インター予測モードを判定することは、現在のブロックに隣接する１つ以上のブロックのモードを判定することを含む。
【０００５】
本発明の第２の態様では、ビットストリーム内の動き予測モードを伝達する方法であって、１つ以上の隣接するブロックのモードを現在のブロックに判定することと、前記モードに依存して、現在のブロックのアフィン動きモードを伝達することを含む方法が提供される。任意で、前記隣接するブロックは、ブロックＡ１及びＢ１のみで構成される。あるいは、前記隣接するブロックが、ブロックＡ２及びＢ３を含み、好ましくはブロックＡ２及びＢ３のみで構成される。任意で、本方法は前記隣接するブロックの一方又は両方がアフィン動きモードを使用する場合、アフィン動きモードを有効化することを含む。任意で、前記隣接するブロックは、Ｂ０、Ａ０、及びＢ２をさらに含む。任意で、前記隣接するブロックにおけるアフィンモードの使用は連続して判定され、前記隣接するブロックのうちの１つがアフィンモードを使用する場合、アフィンモードは現在のブロックに対して有効化される。好ましくは、一連の隣接するブロックはＡ２、Ｂ３、Ｂ０、Ａ０、Ｂ２である。
【０００６】
本発明の第３の態様では、ビットストリームの一部の動き予測モードを伝達する方法であって、現在のブロックに隣接するブロックに対応するマージ候補のリストを判定することと、前記マージ候補の１つ以上がアフィンモードを使用する場合、前記現在のブロックのアフィンモードを有効化することを含む方法が提供される。任意で、前記リストは、前記ブロックに関連するコンテキスト変数を判定するために使用されるブロックで始める。任意で、リストはそれの順序においてブロックＡ２及びＢ３で始める。任意で、リストは、それの順序においてＡ２、Ｂ３、Ｂ０、又はＡ０、又はＢ２である。任意で、アフィンモードは前記隣接するブロックがマージモードを使用しない場合、現在のブロックに対して有効化される。任意で、アフィンモードは前記隣接するブロックがマージスキップモードを使用しない場合、現在のブロックに対して有効化される。任意で、アフィンモードを伝達することは、コンテキスト符号化フラグをデータストリームに挿入することを含み、前記フラグのコンテキスト変数は隣接するブロックがアフィンモードを使用するか否かに基づいて判定される。
【０００７】
本発明のさらなる態様では、ビットストリーム内の符号化されたブロックの動き予測モードを伝達する方法であって、前記ビットストリーム内の符号化された前記ブロックに隣接するブロックが、アフィンモードを使用するか否かを判定することと、コンテキスト符号化フラグを前記ビットストリームに挿入することであって、前記コンテキスト符号化フラグのコンテキスト変数が、前記ビットストリーム内の符号化された前記ブロックに隣接するブロックが、アフィンモードを使用するか否かの前記判定に依存する、ことを含む、ことを特徴とする方法が提供される。任意で、隣接するブロックはブロックＡ１及びＢ１を含む。任意で、動き予測モードが有効化されているブロックのモードがマージモードである場合、前記隣接するブロックはブロックＡ１及びＢ１を含む。任意で、アフィンフラグのコンテキストは以下の式Ctx = IsAffine(A1)+ IsAffine(B1)に従って取得され、ここで、Ｃｔｘはアフィンフラグのコンテキスト変数であり、ＩｓＡｆｆｉｎｅはブロックがアフィンブロックでない場合に０及びブロックがアフィンである場合に１を返す関数である。
【０００８】
本発明の第４の態様では、隣接するブロックがマージモード及び／又はマージスキップモードを使用するか否かに依存して、ビットストリーム内で符号化されたブロックの動き予測モードを伝達する方法が提供される。本発明の第５の態様では、ビットストリーム内の動き予測モードを伝達する方法であって、動き予測子候補のリストをコンパイルすることと、アフィンマージモードをマージ候補として挿入することを含む、ことを特徴とする方法が提供される。任意で、アフィンマージモード候補は、マージ候補のリスト内の隣接するブロック動きベクトルの後にある。任意で、アフィンマージモード候補は、マージ候補のリスト内のオルタナティブ・テンポラル・モーション・ベクタ・プレディクタ（ＡＴＭＶＰ）候補の前にある。任意で、前記候補のリスト内のアフィンマージモード候補の位置（マージインデックス）は固定される。任意で、前記候補リスト内のアフィンマージモード候補の位置は可変である。任意選択で、アフィンマージモード候補の位置は、ａ）スキップフラグの状態、ｂ）隣接するブロックの動き情報、ｃ）オルタナティブ・テンポラル・モーション・ベクタ・プレディクタ(ＡＴＭＶＰ)候補、及びｄ）隣接するブロックがアフィンモードを使用するか否かのうち１つ以上に基づいて判定される。
【０００９】
任意で、以下の条件の１つ以上が満たされる場合、すなわち、ａ）スキップフラグが存在し、ｂ）隣接するブロックの動き情報が等しく、ｃ）ＡＴＭＶＰ候補が１つの動き情報のみを含み、ｄ）１つ以上の隣接するブロックがアフィンモードを使用する、アフィンマージモードは（より高いマージインデックスが割り当てられた）前記候補のリスト内でより低く配置される。任意で、前記隣接するブロックは、ブロックＡ１及びＢ１を含む。任意で、アフィンマージモードは、上記の条件ａ）〜ｄ）のうちの１つ以上が満たされる場合、空間的動きベクトル候補よりも、前記候補のリスト（より高いマージインデックスが割り当てられた）内でより低く配置される。任意で、アフィンマージモードは、上記の条件ａ）〜ｄ）のうちの１つ以上が満たされる場合、時間的動きベクトル候補よりも低く配置される（より高いマージインデックスが割り当てられる）。任意で、アフィンマージモードは、アフィンモードを使用する隣接するブロックの数に関連するマージインデックスが割り当てられる。任意で、アフィンマージモードは、５から５つのＡ１、Ｂ１、Ｂ０、Ａ０、Ｂ２の中からアフィンモードを使用する隣接するブロックの量を引いたものに等しいマージインデックスが割り当てられる。
【００１０】
本発明の別の態様によれば、ビデオストリーム内のアフィン動きモードを伝達する方法であって、アフィンモードの尤度が現在のブロックに使用されている否かを判定することと、動き候補予測子リストをコンパイルすることと、アフィンマージモードを前記現在のブロックのアフィンモードの尤度を判定することに依存して、マージ候補として挿入することを含む方法が提供される。任意で、前記尤度は、ａ）スキップフラグの状態、ｂ）隣接するブロックの動き情報、及びｃ）ＡＴＭＶＰ候補のうちの少なくとも１つに基づいて判定される。任意で、以下の条件のうちの１つ以上が満たされる場合、すなわち、ａ）スキップフラグの状態、ｂ）隣接するブロックの動き情報が等しい、及びｃ）ＡＴＭＶＰ候補は１つの動き情報のみを含む、アフィンマージモードはマージ候補として挿入されない。任意で、前記隣接するブロックは、ブロックＡ１及びＢ１を含む。任意で、アフィンモードは、符号化されているビットストリームに対応するビデオを記録するために使用される装置の特徴に依存して伝達される。
【００１１】
本発明の態様は、符号化効率の改善及び／又は既存の符号化規格又は提案と比較して符号化複雑さの低減を提供する。このようにして、より効率的で高速なビデオ符号化及び／又は復号化方法及びシステムが提供される。本発明のさらなる態様は、上記態様のうちいずれかの方法を使用して符号化及び復号化方法に関する。本発明のさらに別の態様は、請求項１４によって定義されるように、符号化されたビデオを表すビットストリーム内のアフィンモードの使用を伝達するための装置に関する。本発明のさらに別の態様は、それぞれ請求項１７及び１８によって定義されるように、符号化部及び復号化部に関する。本発明のさらに別の態様は、請求項１９によって定義されるようにプログラムに関する。プログラムは、それ自体で提供されてもよく、又は搬送媒体上、搬送媒体によって、又は搬送媒体内で搬送されてもよい。搬送媒体は非一時的であってもよく、例えば、記憶媒体、特にコンピュータ可読記憶媒体であってもよい。搬送媒体はまた、一時的、例えば、信号又は他の伝送媒体であってもよい。伝達は、インターネットを含む任意の適切なネットワークを介して送信されてもよい。
【００１２】
さらに本発明のさらなる態様は、請求項１５及び１６によって定義されるようにカメラ又はモバイル装置等の周辺デバイスに関する。任意で、カメラはズーム手段をさらに含み、前記ズーム手段が動作し、かつ、前記指示に依存する信号アフィンモードである場合、ズーム手段が動作していることを示すように適合されてもよい。任意で、カメラはパン手段をさらに含み、前記パン手段が動作し、かつ、前記指示に依存する信号アフィンモードである場合、パン手段が動作していることを示すように適合されてもよい。任意で、モバイル装置はモバイル装置の向きの変化を感知するように適合された少なくとも１つの位置センサをさらに含み、モバイル装置の向きの変化を前記感知することに依存してアフィンモードを伝達するように適合されていてもよい。本発明のさらなる特徴は、他の独立及び従属請求項によって特徴付けられる。
【００１３】
本発明の一態様における任意の特徴は、任意の適切な組み合わせで、本発明の他の態様に適用されてもよい。特に、方法の態様は、装置の態様に適用されてもよく、逆もまた同様である。さらに、ハードウェアで実装される特徴は、ソフトウェアで実装されてもよく、逆もまた同様である。本明細書におけるソフトウェア及びハードウェアの特徴への任意の参照は、それに応じて解釈されるべきである。本明細書に記載されるような任意の装置の特徴は、方法の特徴として提供されてもよく、逆もまた同様である。本明細書で使用されるように、ミーンズ・プラス・ファンクションの特徴は、適切にプログラムされたプロセッサ及び関連するメモリのような、それらの対応する構造の面で代替的に表現されてもよい。また、本発明の任意の態様において説明され、かつ、定義された様々な特徴の特定の組合せは、独立して実装及び／又は供給及び／又は使用され得ることを理解されたい。
【図面の簡単な説明】
【００１４】
ここで例として、以下の添付図面を参照して説明する。
【００１５】
【図１】図１は、ＨＥＶＣで使用される符号化構造を説明するための図である。
【図２】図２は、本発明の１つ以上の実施形態が実施されるデータ通信システムを模式的に示すブロック図である。
【図３】図３は、本発明の１つ以上の実施形態が実施される処理装置の構成要素を示すブロック図である。
【図４】図４は、本発明の実施形態による符号化方法のステップを示すフローチャートである。
【図５】図５は、本発明の実施形態による復号化方法のステップを示すフローチャートである。
【図６ａ】図６（ａ）は、動きベクトル予測子を生成するために使用される空間的及び時間的ブロックを示す。
【図６ｂ】図６（ｂ）は、動きベクトル予測子を生成するために使用される空間的及び時間的ブロックを示す。
【図７】図７は、ＡＭＶＰ予測子セット導出のプロセスの簡略化されたステップを示す。
【図８】図８は、マージモードの動きベクトル導出プロセスの模式図である。
【図９】図９は、現在のブロックの分割及び時間的動きベクトル予測を示す。
【図１０】図１０（ａ）は、ＨＥＶＣに対する、又はＡＴＭＶＰがＳＰＳレベルで有効化されていない場合のマージインデックスの符号化を示す。図１０（ｂ）は、ＡＴＭＶＰがＳＰＳレベルで有効化される場合のマージインデックスの符号化を示す。
【図１１】図１１（ａ）は、単純なアフィン動き場を示す。図１１（ｂ）は、より複雑なアフィン動き場を示す。
【図１２】図１２は、符号化モードに関連するいくつかのシンタックス要素の一部の復号化処理のフローチャートである。
【図１３】図１３は、マージ候補導出を示すフローチャートである。
【図１４】図１４は、本発明の第１実施形態を示すフローチャートである。
【図１５】図１５は、本発明の第２実施形態を示すフローチャートである。
【図１６】図１６は、本発明の第３実施形態を示すフローチャートである。
【図１７】図１７は、本発明の第４実施形態を示すフローチャートである。
【図１８】図１８は、本発明の第５実施形態を示すフローチャートである。
【図１９】図１９は、本発明の１つ以上の実施形態を実装するためのコンピューティングデバイスの模式的なブロック図である。
【図２０】図２０は、コンピューティングデバイスの模式的なブロック図である。
【図２１】図２１は、ネットワークカメラシステムを示す図である。
【図２２】図２２は、スマートフォンを示す図である。
【発明を実施するための形態】
【００１６】
本発明は、アフィン動きモードの改善された伝達、特に、アフィンモードが符号化効率の改善をもたらす可能性がある場合を判定すること、及び、それに応じてアフィンモードが使用され、かつ／又は優先が割り当てられることを保証することに関する。図１は、高効率ビデオ符号化（ＨＥＶＣ）ビデオ規格で使用される符号化構造に関する。ビデオシーケンス１は、一連のデジタル画像ｉから構成される。このような各デジタル画像は、１つ以上のマトリックスによって表される。マトリックス係数はピクセルを表す。シーケンスの画像２は、スライス３に分割され得る。スライスは、いくつかの例では、画像全体を構成することができる。これらのスライスは、重複しない符号化ツリーユニット（ＣＴＵ）に分割される。符号化ツリーユニット（ＣＴＵ）は、高効率ビデオ符号化（ＨＥＶＣ）ビデオ規格の基本的な処理ユニットであり、概念的には、いくつかの以前のビデオ規格で使用されたマクロブロックユニットに対応する。ＣＴＵは、時々最大符号化ユニット（ＬＣＵ）とも呼ばれる。ＣＴＵは、輝度及び彩度の構成要素部を有し、構成要素部分の各々は、符号化ツリーブロック（ＣＴＢ）と呼ばれる。これらの異なる色成分は、図１には示されていない。
【００１７】
ＣＴＵは一般的に、ＨＥＶＣ用のサイズ６４ピクセルｘ６４ピクセルであり、さらにＶＶＣ用にこのサイズは１２８ピクセルｘ１２８ピクセルであってよい。各ＣＴＵは、四分木分解を使用して、より小さい可変サイズ符号化ユニット（ＣＵ）５に反復的に順次分割されてもよい。符号化単位は、基本符号化要素であり、予測ユニット（ＰＵ）と変換ユニット（ＴＵ）と呼ばれる２種類のサブユニットにより構成される。ＰＵ又はＴＵの最大サイズは、ＣＵサイズに等しい。予測ユニットは、ピクセル値の予測のためのＣＵの仕切りに対応する。６０６によって示されるように、４つの正方形ＰＵへの仕切りと、２つの長方形ＰＵへの２つの異なる仕切りを含み、ＰＵへのＣＵの様々な異なる仕切りが可能である。変換ユニットは、ＤＣＴを使用して空間的変換の対象となる基本的なユニットである。ＣＵは、四分木表現６０７に基づいてＴＵに分割され得る。
【００１８】
各スライスは、１つのネットワーク抽象化層（ＮＡＬ）ユニットに埋め込まれる。さらに、ビデオシーケンスの符号化パラメータは、パラメータセットと呼ばれる専用ＮＡＬユニットに記憶される。ＨＥＶＣ及びＨ．２６４／ＡＶＣでは、２種類のパラメータセットＮＡＬユニットが使用される、すなわち、第１に、ビデオシーケンス全体の間に変更されない全てのパラメータを収集するシーケンス・パラメータ・セット(ＳＰＳ)ＮＡＬユニット。典型的には、それは符号化プロファイル、ビデオフレームのサイズ、及び他のパラメータを処理する。第２に、ピクチャ・パラメータ・セット(ＰＰＳ)ＮＡＬユニットは、シーケンスの１つの画像（又はフレーム）から別のものに変更することができるパラメータを含む。ＨＥＶＣは、ビットストリームの全体的な構造を記述するパラメータを含むビデオ・パラメータ・セット（ＶＰＳ）ＮＡＬユニットも含む。ＶＰＳは、ＨＥＶＣで定義された新しいタイプのパラメータセットであり、ビットストリームの全てのレイヤに適用される。レイヤは、複数の時間的サブレイヤーを含んでよく、全てのバージョン１のビットストリームは単一のレイヤに制限される。ＨＥＶＣは、拡張性とマルチビューのための特定の階層拡張を有し、これらは後方互換性のあるバージョン１ベースレイヤを有する複数のレイヤを可能にする。
【００１９】
図２は、本発明の１つ以上の実施形態が実施されるデータ通信システムを示す。データ通信システムは、データ通信ネットワーク２００を介して、データストリームのデータパケットを受信装置、この場合はクライアント端末２０２に送信するように動作可能な送信装置、この場合はサーバ２０１を含む。データ通信ネットワーク２００は、ワイドエリアネットワーク（ＷＡＮ）又はローカルエリアネットワーク（ＬＡＮ）であってもよい。このようなネットワークは例えば、無線ネットワーク（Ｗｉｆｉ／８０２．１１ａ又はｂ又はｇ）、イーサネットネットワーク、インターネットネットワーク、又は複数の異なるネットワークから構成される混合ネットワークであってもよい。本発明の特定の実施形態では、データ通信システムは、サーバ２０１が同じデータコンテンツを複数のクライアントに送信するデジタルテレビ放送システムであってもよい。サーバ２０１によって提供されるデータストリーム２０４は、ビデオ及びオーディオデータを表すマルチメディアデータから構成されてもよい。オーディオ及びビデオデータストリームは、本発明のいくつかの実施形態では、それぞれマイクロフォン及びカメラを使用してサーバ２０１によってキャプチャされ得る。いくつかの実施形態において、データストリームはサーバ２０１上に記憶されてもよく、又は別のデータプロバイダからサーバ２０１によって受信されてもよく、又はサーバ２０１で生成されてもよい。サーバ２０１は特に、符号化部への入力として提示されるデータのよりコンパクトな表現である送信のための圧縮ビットストリームを提供するために、ビデオ及びオーディオストリームを符号化するための符号化部を備える。
【００２０】
送信データの品質対送信データの量のより良い比を得るために、ビデオデータの圧縮は例えば、ＨＥＶＣフォーマット又はＨ．２６４／ＡＶＣフォーマットに従ってもよい。クライアント２０２は、表示装置上でビデオ画像を、及び、スピーカにより音声データを再生するために、送信されたビットストリームを受信し、かつ、再構成されたビットストリームを復号化する。図２の例では、ストリーミングシナリオが考慮されているが、本発明のいくつかの実施形態では符号化部と復号化部との間のデータ通信が、例えば、光ディスクなどの媒体記憶装置を使用して実行されてよいことが理解されよう。本発明の１つ以上の実施形態では、ビデオ画像が画像の再構成されたピクセルへの適用に最終画像内のフィルタリングされたピクセルを提供するために、補償オフセットを表すデータと共に送信される。
【００２１】
図３は、本発明の少なくとも１つの実施形態を実施するように構成された処理装置３００を模式的に示す。処理装置３００は、マイクロコンピュータ、ワークステーション、又はライトポータブルデバイス等のデバイスであってもよい。装置３００は、以下に接続された通信バス３１３を備える、すなわち、ＣＰＵで示されるマイクロプロセッサ等の中央演算処理装置３１１、本発明を実施するためのコンピュータプログラムを記憶するためのＲＯＭと表記される読み出し専用メモリ３０６、本発明の実施形態の方法の実行可能コードを記憶するため及びデジタル画像のシーケンスを符号化する方法及び／又は本発明の実施形態によるビットストリームを復号化する方法を実施するために必要な変数及びパラメータを記録するように適合されたレジスタを格納するための、ＲＡＭで示されるランダムアクセスメモリ３１２、処理されるデジタルデータが送信又は受信される通信ネットワーク３０３に接続された通信インターフェース３０２。
【００２２】
任意で、装置３００は、以下の構成要素を含むこともできる、すなわち、本発明の１つ以上の実施形態の方法を実装するためのコンピュータプログラム、及び本発明の１つ以上の実施形態の実施中に使用又は生成されるデータを記憶するためのハードディスク等のデータ記憶手段３０４、ディスク３０６のためのディスクドライブ３０５、ディスクドライブは、ディスク３０６からのデータを読み取るか、又は前記ディスクにデータを書き込むように適合されており、データを表示するための及び／又はキーボード３１０又は任意の他の指示手段の手段によって、ユーザとのグラフィカルインターフェースとして機能する画面３０９。
【００２３】
装置３００は例えば、デジタルカメラ３２０又はマイクロフォン３０８のような種々の周辺機器に接続されてよく、それぞれはマルチメディアデータを装置３００に供給するために、入力／出力カード（図示せず）に接続される。通信バスは、装置３００に含まれる、又はそれに接続された種々の要素間の通信及び相互接続性を提供する。バスの表現は限定されず、特に、中央演算処理装置は直接的に、又は装置３００の別の要素の手段によって、装置３００の任意の要素に命令を通信するように動作可能である。
【００２４】
ディスク３０６は例えばコンパクトディスク（ＣＤ−ＲＯＭ）、書き換え可能又はそうでない、ＺＩＰディスク又はメモリカード等の任意の情報媒体、及び一般的には、マイクロコンピュータ又はマイクロプロセッサによって読み取られ、装置に統合又はそうではない、可能であればリムーバブルであり、及び実行がデジタル画像のシーケンスを符号化する方法及び／又は実装される本発明によるビットストリームを復号化する方法を可能にする１つ以上のプログラムを記憶するように構成された情報記憶手段によって、置き換えられてもよい。実行可能コードは、読み出し専用メモリ３０６、ハードディスク３０４、又は前述のような例えばディスク３０６等のリムーバブルデジタル媒体のいずれかに格納されてもよい。変形例によれば、プログラムの実行可能コードは、ハードディスク３０４のような実行される前に装置３００の記憶手段の１つに記憶されるために、インターフェース３０２を介して、通信ネットワーク３０３の手段によって受信され得る。
【００２５】
中央演算処理装置３１１は、命令又はプログラムのソフトウェアコードの一部又は本発明に記載のプログラム、前述の記憶手段のうち１つに記憶される命令の実行を制御及び指示するよう適合されている。電源オン時に、例えばハードディスク３０４又は読み出し専用メモリ３０６上の不揮発性メモリに記憶されるプログラム又はプログラムは、ランダムアクセスメモリ３１２に転送され、それは次にプログラム又はプログラムの実行可能コードと、本発明を実施するために必要な変数及びパラメータを記憶するためのレジスタを含む。この実施形態では、装置が本発明を実施するためのソフトウェアを使用するプログラマブル装置である。しかしながら、代替的に、本発明はハードウェア（例えば、特定用途向け集積回路又はＡＳＩＣの形態で）において実装されてもよい。
【００２６】
図４は、本発明の少なくとも１つの実施形態による符号化部のブロック図を示す。符号化部は、接続されたモジュールによって表され、各モジュールは例えば、デバイス３００のＣＰＵ３１１によって実行されるべきプログラム命令の形態で、本発明の１つ以上の実施形態による画像シーケンスの画像を符号化する少なくとも１つの実施形態を実施する方法の少なくとも１つの対応するステップを実施するように適合される。デジタル画像ｉ０からｉｎ４０１のオリジナルシーケンスは、符号化部４００によって入力として受信される。各デジタル画像は、ピクセルとして知られるサンプルのセットによって表される。ビットストリーム４１０は、符号化処理の実装後の符号化部４００による出力である。ビットストリーム４１０は、複数の符号化部又はスライスを備え、各スライスは符号化されたビデオデータを備えるスライスとスライス本体を符号化するために使用される符号化パラメータの符号化値を送信するためのスライスヘッダを備える。
【００２７】
入力デジタル画像ｉ０からｉｎ４０１は、モジュール４０２によってピクセルのブロックに分割される。ブロックは画像部分に対応し、可変サイズであってもよい（例えば、４×４、８×８、１６×１６、３２×３２、６４×６４、１２８×１２８ピクセル、及びいくつかの矩形ブロックサイズが考慮されてもよい）。符号化モードは、各入力ブロックに対して選択される。符号化モードの２つのファミリーが提供される、つまり、空間的予測符号化（イントラ予測）に基づく符号化モードと、時間的予測（インター符号化、マージスキップ）に基づく符号化モード。可能な符号化モードがテストされる。モジュール４０３は、符号化されるべき所定のブロックが、符号化されるべき前記ブロックの近傍の画素から計算された予測子によって予測されるイントラ予測処理を実施する。選択されたイントラ予測子の指示及び所定のブロックとそれの予測子との間の差分は、イントラ符号化が選択される場合に残差を提供するために符号化される。
【００２８】
時間的予測は、動き推定モジュール４０４及び動き補償モジュール４０５によって実施される。最初に、基準画像４１６のセットの中から基準画像が選択され、符号化されるべき所定のブロックに最も近い領域である基準領域又は画像部分とも呼ばれる基準画像の部分が、動き推定モジュール４０４によって選択される。次いで、動き補償モジュール４０５は、選択された領域を使用して、符号化されるべきブロックを予測する。残差ブロックとも呼ばれる、選択された基準領域と所定のブロックとの間の差分は、動き補償モジュール４０５によって計算される。選択された基準領域は、動きベクトルによって示される。このように、両方の場合（空間的及び時間的予測）、残差は元のブロックから予測を減算することによって計算される。モジュール４０３によって実施されるイントラ予測では、予測方向が符号化される。時間的予測では、少なくとも１つの動きベクトルが符号化される。インター予測が選択される場合、動きベクトル及び残差ブロックに対する情報が符号化される。ビットレートをさらに低減するために、動きが同種であると仮定すると、動きベクトルは、動きベクトル予測子に対する差分によって符号化される。動き情報予測子セットの動きベクトル予測子は、動きベクトル予測と符号化モジュール４１７によって動きベクトル場４１８から得られる。
【００２９】
符号化部４００はさらに、レート歪み基準などの符号化コスト基準を適用することによって、符号化モード選択のための選択モジュール４０６を備える。冗長性をさらに低減するために、変換モジュール４０７によって変換（ＤＣＴなど）が残差ブロックに適用され、得られた変換データは、量子化モジュール４０８によって量子化され、エントロピー符号化モジュール４０９によってエントロピー符号化される。最後に、符号化されている現在のブロックの符号化された残差ブロックは、ビットストリーム４１０に挿入される。また、符号化部４００は後続の画像の動き推定のための参照画像を生成するために、符号化された画像の復号化を行う。これは、ビットストリームを受信する符号化部及び複合化部が同じ参照フレームを有することを可能にする。逆量子化モジュール４１１は、量子化データの逆量子化を行い、逆変換モジュール４１２による逆変換が続く。逆方向イントラ予測モジュール４１３は、所定のブロックにどの予測子を使用するかを判定するために予測情報を使用し、逆方向動き補償モジュール４１４は、モジュール４１２によって取得された残差を、参照画像４１６のセットから取得された参照領域に実際に加える。
【００３０】
次いで、ポストフィルタリングは、再構成された画素のフレームをフィルタリングするために、モジュール４１５によって適用される。本発明の実施形態では、補償オフセットが再構成画像の再構成画素の画素値に付加される、ＳＡＯループフィルタが使用される。図５は、本発明の一実施形態による、符号化部からデータを受信するために使用され得る復号化部６０のブロック図を示す。復号化部は、接続されたモジュールによって表され、各モジュールは例えば、デバイス３００のＣＰＵ３１１によって実行されるプログラム命令の形式で、復号化部６０によって実施される方法の対応するステップを実施するように適合される。復号化部６０は符号化ユニットを含むビットストリーム６１を受信し、それぞれは符号化パラメータに関する情報を含むヘッダと、符号化されたビデオデータを含む本体から構成される。図４に関して説明したように、符号化されたビデオデータはエントロピー符号化され、動きベクトル予測子のインデックスは、所定のブロックに対して、予め定めたビット数で符号化される。受信された符号化ビデオデータは、モジュール６２によってエントロピー復号化される。次いで、残差データはモジュール６３によって逆量子化され、次いで、画素値を得るために逆変換がモジュール６４によって適用される。
【００３１】
符号化モードを示すモードデータはまた、エントロピー復号化され、モードに基づいて、イントラ型復号化又はインター型復号化が画像データの符号化ブロック上に実行される。イントラモードの場合、イントラ予測子は、ビットストリームで指定されたイントラ予測モードに基づいて、イントラ逆予測モジュール６５によって判定される。モードがインターである場合、符号化部によって使用される参照領域を見つけるために、動き予測情報がビットストリームから抽出される。動き予測情報は、参照フレームインデックスと動きベクトル残差から構成される。動きベクトル復号モジュール７０によって動きベクトルを得るために、動きベクトル予測子が動きベクトル残差に加えられる。
【００３２】
動きベクトル復号化モジュール７０は、動き予測によって符号化された現在のブロックごとに対して動きベクトル復号化を適用する。現在のブロックについて、動きベクトル予測子のインデックスは、復号され得る現在のブロックに関連する動きベクトルの実際の値がいったん取得されると、モジュール６６によって逆方向動き補償を適用するために使用される。復号化された動きベクトルによって示される参照画像部分は、逆方向動き補償６６を適用するために、参照画像６８から抽出される。動きベクトル場データ７１は後続の復号化された動きベクトルの逆予測に使用するために、復号化された動きベクトルで更新される。最後に、復号化されたブロックが得られる。ポストフィルタリングは、ポストフィルタリングモジュール６７によって適用される。復号化されたビデオ信号６９は、最終的に復号化部６０によって提供される。
【００３３】
（ＣＡＢＡＣ）
ＨＥＶＣは、コンテキスト適応型バイナリ算術符号化（ＣＡＢＡＣ）、ゴロムライス符号、又は固定長符号化と呼ばれる単純なバイナリ表現など、複数種類のエントロピー符号化を使用する。ほとんどの場合、異なるシンタックス要素を表現するために、バイナリ符号化処理が実行される。このバイナリ符号化処理はまた、非常に具体的であり、異なる構文要素に依存する。算術符号化は、それらの現在の確率に従ってシンタックス要素を表す。ＣＡＢＡＣは、コンテキスト変数によって定義される「コンテキスト」に応じてシンタックス要素の確率を分離する算術符号化の拡張である。これは条件付き確率に相当する。コンテキスト変数は、すでに符号化されている左上のブロック（以下により詳細に説明するように、図６ｂのＡ２）及び左上のブロック（図６ｂのＢ３）の現在のシンタックス値から導き出され得る。
【００３４】
（インター符号化）
ＨＥＶＣは、３つの異なるインターモード、すなわち、インターモード、マージモード、及びマージスキップモードを使用する。これらのモード間の主な違いは、ビットストリームにおけるデータ伝達である。動きベクトル符号化について、現在のＨＥＶＣ規格は、規格の先のバージョンには存在しなかった動きベクトル予測のための競合ベースの方式を含む。インター又はマージモードのそれぞれについて最良の動きベクトル予測子又は最良の動き情報を見つけるために、いくつかの候補が符号化部側で歪みレート基準と競合していることを意味する。最良の予測子又は動き情報の最良の候補に対応するインデックスが、ビットストリームに挿入される。復号化部は、予測子又は候補の同じセットを導出することができ、複合化されたインデックスに従って最良の１つを使用する。ＨＥＶＣの画面コンテンツ拡張では、イントラブロックコピーと呼ばれる新しい符号化ツールが、それらの３つのインターモードのいずれかとして伝達され、ＩＢＣと同等のインターモードとの間の差分は、基準フレームが現在の１つであるかどうかをチェックすることによって行われる。これは、例えば、リストＬ０の参照インデックスをチェックすることと、これがそのリスト内の最後のフレームである場合、これがイントラブロックコピーであると推定することによって実施され得る。実施するための別の方法は、現在のピクチャオーダカウントと参照フレームを比較すること、すなわち、等しい場合、これはイントラブロックコピーである。
【００３５】
予測子及び候補の導出の設計は、複雑さに不均衡な影響を与えることなく、最良の符号化効率を達成する上で重要である。ＨＥＶＣでは、２つの動きベクトル導出が使用される、すなわち、インターモード用の１つ（高度動きベクトル予測（ＡＭＶＰ）)及び、マージモード用の１つ(マージ導出処理)。以下、これらの処理を説明する。図６ａ及び図６ｂは、ＨＥＶＣ符号化及び復号化システムの高度動きベクトル予測（ＡＭＶＰ）及びマージモードにおける動きベクトル予測子を生成するために使用され得る空間的及び時間的ブロックを示し、図７は、ＡＭＶＰ予測子セット導出のプロセスの簡略化されたステップを示す。２つの予測子、すなわちＡＭＶＰモードの２つの空間動きベクトルは、上の角部のブロック（ブロックＢ２）及び左角部のブロック（ブロックＡ０）を含む上ブロック（文字「Ｂ」によって示される）及び左ブロック（文字「Ａ」によって示される）の中から選択され、１つの予測子が図６ａに示されるように、配置されたブロックの右下ブロック（Ｈ）及び中央ブロック（中央）の中から選択される。以下の表１は、図６ａ及び６ｂに示されるように、現在のブロックに対する用語でブロックを参照するときに使用される命名法の概要を示す。この命名法は、簡略表記として使用されるが、特に将来の規格のバージョンでは他のラベル付けシステムが使用されてもよいことを理解されたい。
【００３６】
【表１】
2022501870.tif 000003
【００３７】
「現在のブロック」は、サイズが例えば４ｘ４、１６ｘ１６、３２ｘ３２、６４ｘ６４、１２８ｘ１２８、又はその間の任意のサイズなど、可変であってよいことに注意されるべきである。ブロックの次元は、これは、バイナリ符号化を使用する場合、ビットのより効率的な使用をもたらすように、好ましくは２つのファクタ（すなわち２＾ｎ×２＾ｍ、ここでｎ及びｍは正の整数である）である。現在のブロックは正方形である必要はないが、これはしばしば、符号化の複雑さのための好ましい実施形態である。図７を参照すると、第１のステップは左下のブロックＡ０及びＡ１の中から、空間位置が図６に示されている第１の空間予測子（候補１、７０６）を選択することを目的としている。そのために、これらのブロックは所定の順序で次々に選択され（７００、７０２）、選択されたブロックごとに、所定の順序で以下の条件が評価され（７０４）、条件が満たされる第１のブロックは、予測子として設定される、すなわち、同じ参照リストと同じ参照画像からの動きベクトルと、他の参照リストと同じ参照画像からの動きベクトルと、同じ参照リストと異なる参照画像からのスケーリングされた動きベクトル又は他の参照リストと異なる参照画像からのスケーリングされた動きベクトル。
【００３８】
値が見つからない場合、左の予測子は使用不可と見なされる。この場合、それは関連ブロックがイントラ符号化されているか、又はそれらのブロックが存在しないことを示す。次のステップは、空間的位置が図６に示されている右上ブロックＢ０、上ブロックＢ１、及び左上ブロックＢ２の中から第２の空間予測子（候補２、７１６）を選択することを目的とする。そのために、これらのブロックは次々に、所定の順序で選択され（７０８、７１０、７１２）、そして選択されたブロックごとに、上記の条件が所定の順序で評価され（７１４）、上記の条件が満たされる第１のブロックは、予測子として設定される。再び、値が見つからない場合、上の予測子は利用不可能であると見なされる。この場合、関連ブロックがイントラ符号化されているか、又はそれらのブロックが存在しないことを示す。次のステップ（７１８）において、２つの予測子は両方が利用可能である場合、それらが等しい場合（すなわち、同じ動きベクトル値、同じ参照リスト、同じ参照インデックス、及び同じ方向タイプ）、それらのうちの１つを除去するために、互いに比較される。１つの空間的予測子のみが利用可能である場合、アルゴリズムは、次のステップにおいて時間的予測子を探している。
【００３９】
時間的動き予測子（候補３、７２６）は、次のように導出される、すなわち、前のフレームにおいて配置されたブロックの右下（Ｈ、７２０）位置がまず、利用可能性チェックモジュール７２２において考慮される。それが存在しない場合、又は動きベクトル予測子が利用可能でない場合、配置されたブロックの中央（中央、７２４）がチェックされるように選択される。これらの時間的位置（中央及びＨ）は図６に示されている。いずれの場合も、拡大縮小７２３は現在のフレームと第１のフレームとの間の時間的距離が参照リストであることに一致するように、それらの候補に適用される。次に、動き予測子値が予測子のセットに追加される。次に、予測子の数（Ｎｂ＿Ｃａｎｄ）が、予測子の最大個数（Ｍａｘ＿Ｃａｎｄ）と比較される（７２８）。上述のとおり、ＡＭＶＰの導出処理が生成する必要がある動きベクトル予測子の最大予測子数（Ｍａｘ＿Ｃａｎｄ）は、ＨＥＶＣ規格の現在のバージョンでは２である。この最大数に達する場合、ＡＭＶＰ予測子の最終リスト又はセット（７３２）が構築される。そうでない場合、ゼロ予測子がリストに追加される（７３０）。ゼロ予測子は、（０，０）に等しい動きベクトルである。
【００４０】
図７に示すように、ＡＭＶＰ予測子の最終リスト又はセット（７３２）は、空間的動き予測子のサブセット（７００〜７１２）及び時間的動き予測子のサブセット（７２０、７２４）から構築される。上述のように、マージモード又はマージスキップモードの動き予測子候補は、方向、リスト、参照フレームインデックス及び動きベクトルという全ての必要な動き情報を表す。複数の候補のインデックス付きリストは、マージ導出処理によって生成される。現在のＨＥＶＣ設計では、両方のマージモードの候補の最大個数は５に等しい（４つの空間的候補及び１つの時間的候補）。図８は、マージモードの動きベクトル導出処理の概略図である。導出処理の第１のステップでは、５つのブロック位置が考慮される（８００〜８０８）。これらの位置は、基準Ａ１、Ｂ１、Ｂ０、Ａ０、及びＢ２で図３に示される空間的位置である。次のステップでは、空間的動きベクトルの利用可能性がチェックされ、多くても５つの動きベクトルが選択される（８１０）。それが存在する場合及びブロックがイントラ符号化されていない場合、予測子は利用可能であると見なされる。
【００４１】
したがって、５つのブロックに対応する動きベクトルを候補として選択することは、以下の条件に従って行われる、すなわち、「左」のＡ１動きベクトル（８００）が利用可能である場合（８１０）、すなわち、それが存在する場合及びこのブロックがイントラ符号化されていない場合、「左」のブロックの動きベクトルが選択され、候補リスト内の第１の候補として使用され（８１４）、「上」のＢ１動きベクトル（８０２）が利用可能である場合（８１０）、候補「上」のブロック動きベクトルは、存在する場合、「左」のＡ１動きベクトルと比較される（８１２）。Ｂ１動きベクトルがＡ１動きベクトルに等しい場合、Ｂ１は空間的候補のリストに追加されない（８１４）。逆に、Ｂ１動きベクトルがＡ１動きベクトルに等しくない場合、Ｂ１が空間的候補のリストに追加され（８１４）、「右上」のＢ０動きベクトル（８０４）が利用可能である場合（８１０）、「右上」の動きベクトルがＢ１動きベクトルと比較される（８１２）。Ｂ０動きベクトルがＢ１動きベクトルに等しい場合、Ｂ０動きベクトルは空間的候補のリストに追加されない（８１４）。逆に、Ｂ０動きベクトルがＢ１動きベクトルに等しくない場合、Ｂ０動きベクトルが空間的候補のリストに追加され（８１４）、
【００４２】
「左下」のＡ０動きベクトル（８０６）が利用可能である場合（８１０）、「左下」の動きベクトルがＡ１動きベクトルと比較される（８１２）。Ａ０動きベクトルがＡ１動きベクトルに等しい場合、Ａ０動きベクトルは空間的候補のリストに追加されない（８１４）。逆に、Ａ０動きベクトルがＡ１動きベクトルと等しくない場合、Ａ０動きベクトルが空間的候補のリストに追加され（８１４）、空間的候補のリストが４つの候補を含まない場合、「左上」のＢ２動きベクトル（８０８）の利用可能性がチェックされる（８１０）。利用可能であれば、それはＡ１動きベクトル及びＢ１動きベクトルと比較される。Ｂ２動きベクトルがＡ１動きベクトル又はＢ１動きベクトルに等しい場合、Ｂ２動きベクトルは空間的候補のリストに追加されない（８１４）。逆に、Ｂ２動きベクトルがＡ１動きベクトル又はＢ１動きベクトルに等しくない場合、Ｂ２動きベクトルが空間的候補のリストに追加される（８１４）。
【００４３】
この段階の最後に、空間的候補のリストは、４つまでの候補を含む。時間的候補について、２つの位置は使用され得る、すなわち、配置されたブロックの右下の位置（図６においてＨで示される８１６）及び配置されたブロックの中心（８１８）。これらの位置は図６に示される。ＡＭＶＰ動きベクトル導出処理について、第１のステップは、Ｈ位置におけるブロックの可用性をチェックすること（８２０）を目的とする。次に、それが利用可能でない場合、中心位置におけるブロックの利用可能性がチェックされる（８２０）。これらの位置の少なくとも１つの動きベクトルが利用可能である場合、時間的動きベクトルは、マージ動きベクトル予測子候補のリストに追加される時間的候補（８２４）を作成するために、必要であれば、リストＬ０及びＬ１の両方について、インデックス０を有する参照フレームにスケーリングされ得る（８２２）。それは、リスト内の空間的候補の後に配置される。リストＬ０及びＬ１は、０、１つ以上の参照フレームを含む２つの参照フレームリストである。
【００４４】
候補の数（Ｎｂ＿Ｃａｎｄ）が候補の最大数より厳密に少ない場合（８２６）（値は、ビットストリームスライスヘッダにおいて伝達され、現在のＨＥＶＣ設計において５に等しいＭａｘ＿Ｃａｎｄ）、及び現在のフレームがＢタイプである場合、組み合わせられた候補が生成される（８２８）。組み合わせられた候補は、マージ動きベクトル予測子候補のリストの利用可能な候補に基づいて生成される。それは主に、リストＬ０の１つの候補の動きベクトルをリストＬ１の１つの候補の動きベクトルと組み合わせることからなる。候補数（Ｎｂ＿Ｃａｎｄ）が最大候補数（Ｍａｘ＿Ｃａｎｄ）よりも厳密に少ないままの（８３０）場合、マージ動きベクトル予測子候補リストの候補数が最大候補数に達するまで、ゼロ動き候補が生成される（８３２）。この処理の終わりに、マージ動きベクトル予測子候補のリスト又はセットが構築される（８３４）。図８に示すように、マージ動きベクトル予測子候補のリスト又はセットは、空間的候補のサブセット（８００〜８０８）及び時間的候補のサブセット（８１６、８１８）から構築される（８３４）。
【００４５】
（オルタナティブ・テンポラル・モーション・ベクタ・プレディクション（ＡＴＭＶＰ））
オルタナティブ・テンポラル・モーション・ベクタ・プレディクション（ＡＴＭＶＰ）は、特定の動き補償である。時間的基準フレームからの現在のブロックについて１つの動き情報のみを考慮する代わりに、それぞれ配置されたブロックの各動き情報が考慮される。したがって、この時間的動きベクトル予測は図９に示すように、各サブブロックの関連する動き情報と一緒に、現在のブロックの分割を与える。現在のＶＴＭ参照ソフトウェアでは、ＡＴＭＶＰがマージ候補のリストに挿入されたマージ候補として伝達される。ＳＰＳレベルでＡＴＭＶＰが有効化されると、最大マージ候補数は１つ増加される。したがって、このモードが無効化されている場合、５の代わりに６の候補が考慮される。
【００４６】
さらに、この予測がＳＰＳレベルで有効化されると、マージインデックスの全てのビンは、ＣＡＢＡＣによって符号化されたコンテキストになる。ＨＥＶＣ内にある間、又はＡＴＭＶＰがＳＰＳレベルで有効化されていない場合、第１のビンのみが符号化されたコンテキストであり、残りのビンはバイパス符号化コンテキストである。図１０（ａ）は、ＨＥＶＣに対する、又はＡＴＭＶＰがＳＰＳレベルで有効化されていない場合のマージインデックスの符号化を示す。これは、単項最大符号化に対応する。さらに、第１番目のビットはＣＡＢＡＣ符号化され、他のビットはバイパスＣＡＢＡＣ符号化される。図１０（ｂ）は、ＡＴＭＶＰがＳＰＳレベルで有効化される時のマージインデックスの符号化を示す。さらに、全てのビットがＣＡＢＡＣ符号化される（第１番目から第５番目のビットまで）。各インデックスはそれ自体のコンテキストを有し、言い換えれば、それらの確率は分離されることに留意されたい。
【００４７】
（アフィンモード）
ＨＥＶＣでは、動き補償予測（ＭＣＰ）のために並進運動モデルのみが適用される。一方、現実世界では、例えばズームイン／ズームアウト、回転、遠近運動、及び他の不規則な動きなど、多くの種類の運動がある。ＪＥＭでは、簡易アフィン変換動き補償予測が適用され、２０１７年７月１３〜２１日にトリノのＪＶＥＴ会議で発表された文書ＪＶＥＴ−Ｇ１００１の抽出に基づいて、アフィンモードの一般原理を以下に述べる。この文書全体は、それはＪＥＭで使用される他のアルゴリズムを記述するので、ここに参照により組み込まれる。図１１（ａ）に示すように、ブロックのアフィン動き場は、２つの制御点動きベクトルによって記述される。ブロックの動きベクトル場（ＭＶＦ）は、以下の数式１によって記述される。
【００４８】
【数１】
2022501870.tif 000004
【００４９】
ここで、（ｖ０ｘ、ｖ０ｙ）は左上角部の制御点の動きベクトルであり、（ｖ１ｘ、ｖ１ｙ）は右上角部の制御点の動きベクトルである。動き補償予測をさらに単純化するために、サブブロックベースのアフィン変換予測が適用される。サブブロックサイズは数式２のように導出され、ここで、ＭｖＰｒｅは動きベクトル分数精度（ＪＥＭでは１／１６）であり、（ｖ２ｘ，ｖ２ｙ）は数式１に従って計算された左下制御点の動きベクトルである。
【００５０】
【数２】
2022501870.tif 000005
【００５１】
数式２によって導出された後、Ｍ及びＮは必要であれば、それぞれｗ及びｈの除数になるように下方に調整されてもよい。各Ｍ×Ｎサブブロックの動きベクトルを導出するために、図６ａに示されるように、各サブブロックの中央サンプルの動きベクトルは、数式１に従って計算され、１／１６分数精度に切り上げられる。次に、動き補償補間フィルタは、導出した動きベクトルを有する各サブブロックの予測を生成するために、適用される。
【００５２】
アフィンモードは、インターモード（ＡＭＶＰ、マージ、マージスキップ)としての動き補償モードである。それの原理は、２つ又は３つの隣接する動き情報に従って画素毎に１つの動き情報を生成することである。現在のＶＴＭ参照ソフトウェアでは、図１１（ａ）に示すように、アフィンモードは４ｘ４ブロックごとに１つの動き情報を導き出す。このモードはＡＭＶＰ用に使用可能であり、両方のマージモードはフラグによって有効化される。このフラグはＣＡＢＡＣ符号化される。一実施形態では、コンテキストは左ブロック（図６ｂの位置Ａ２）及び左上ブロック（図６ｂの位置Ｂ３）のアフィンフラグの合計に依存する。
【００５３】
したがって、ＪＥＭでは、以下の式で与えられるアフィンフラグに対して３つのコンテキスト変数（０、１又は２）を取り得る。
Ctx = IsAffine(A2) + IsAffine(B3)
ここで、ＩｓＡｆｆｉｎｅ（ブロック）はブロックがアフィンブロックでない場合に０を、ブロックがアフィンである場合に１を返す関数である。
【００５４】
（アフィンマージ候補導出）
ＪＥＭでは、アフィンマージモード（マージ又はマージスキップ）は位置Ａ１、Ｂ１、Ｂ０、Ａ０、Ｂ２のブロック間でアフィンである第１の隣接ブロックから導出される。これらの位置は、図６ａ及び６ｂに示される。しかしながら、どのようにアフィンパラメータが導出されるかは、完全には定義されておらず、本発明は、少なくともこの点を改善することを目的とする。
【００５５】
（アフィンマージ伝達）
図１２は、符号化モードに関連するいくつかのシンタックス要素の部分復号化処理のフローチャートである。この図では、スキップフラグ（１２０１）、予測モード（１２１１）、マージフラグ（１２０３）、マージインデックス（１２０８）、及びアフィンフラグ（１２０７）が復号化され得る。インタースライス内の全てのＣＵについて、スキップフラグが復号化される（１２０１）。ＣＵがスキップでない場合（１２０２）、プレドモード（予測モード）が復号される（１２１１）。このシンタックス要素は、現在のＣＵがインター又はイントラモードであるかを示す。ＣＵがスキップ（１２０２）である場合、それの現在のモードはインターモードであることに留意されたい。ＣＵ（１２１２）の場合、ＣＵはＡＭＶＰ内又はマージモード内で符号化される。ＣＵがインター(１２１２）である場合、マージフラグが復号化される（１２０３）。ＣＵがマージである場合（１２０４）又はＣＵがスキップである場合（１２０２）、アフィンフラグ（１２０６）が復号化される必要があるかが検証される（１２０５）。現在のＣＵが、現在のＶＶＣにおいてＣＵの高さ及び幅が等しくならなければならないことを意味する、２Ｎ×２ＮＣＵである場合、このフラグは復号化される。
【００５６】
さらに、少なくとも１つの隣接するＣＵ Ａ１又はＢ１又はＢ０又はＡ０又はＢ２は、アフィンモード（マージ又はＡＭＶＰ）で符号化されなければならない。最終的に、現在のＣＵは４ｘ４ ＣＵであってはならず、デフォルトによりＣＵ ４ｘ４はＶＴＭ参照ソフトウェアにおいて無効化される。この条件（１２０５）が偽である場合、現在のＣＵが古典的マージモード又はマージスキップモードで符号化され、マージインデックスが復号化されることが確実である（１２０８）。アフィンフラグ（１２０６）が１に等しく設定される場合（１２０７）、ＣＵはマージアフィンＣＵ又はマージスキップアフィンＣＵであり、マージインデックス（１２０８）は復号される必要はない。そうでない場合、現在のＣＵは古典的な（基本的な）マージ又はマージスキップＣＵであり、マージインデックス候補（１２０８）は復号される。そうでない場合、現在のＣＵは古典的な（基本的な）マージ又はマージスキップＣＵであり、マージインデックス候補（１２０８）は復号される。この明細書では、「伝達」は、モード他の情報の有効化又は無効化を表す１つ以上のシンタックス要素への挿入又はビットストリームからの抽出を意味することができる。
【００５７】
（マージ候補導出）
図１３は、マージ候補導出を示すフローチャートである。この導出は図８に示されるＨＥＶＣのマージリスト導出の上に構築されている。ＨＥＶＣと比較した主な変更は、ＡＴＭＶＰ候補（１３１９、１３２１、１３２３）の追加、候補の完全な重複チェック（１３２０、１３２５）、及び候補の新しい順序である。ＡＴＭＶＰ予測は、それは現在のＣＵのいくつかの動き情報を表すので、特別な候補として設定される。第１のサブブロック（左上）の値は時間的候補と比較され、時間的候補はそれらが等しい場合、マージリストに追加されない（１３２０）。ＡＴＭＶＰ候補は、他の空間的候補とは比較されない。リスト内に既にある各空間的候補と比較される時間的候補とは反対に（１３２５）、それが重複候補である場合、マージ候補リスト内に追加されない。
【００５８】
空間的候補がリスト内に追加される場合、それは、ＨＥＶＣの最終バージョンの場合ではないリスト内の他の空間的候補と比較される（１３１０）。現在のＶＴＭバージョンでは、マージ候補のリストが、それは符号化テスト条件にわたって最良の結果を提供するよう判定されるので、以下の順序として設定される。
・Ａ１
・Ｂ１
・Ｂ０
・Ａ０
・ＡＴＭＶＰ
・Ｂ２
・時間的
・組み合わせ
・Ｚｅｒｏ＿ＭＶ
【００５９】
空間的候補Ｂ２は、ＡＴＭＶＰ候補の後に設定されることに留意することが重要である。さらに、ＡＴＭＶＰがスライスレベルで有効化される場合、候補リストの最大数は５ではなく６である。本発明の目的は、符号化効率及び複雑さを考慮して、効率的な方法でビットストリームの一部にアフィンモードを伝達することである。また、本発明の目的は、既存のビデオ符号化フレームワークに対する最小量の構造的変更を要求する方法でアフィンモードを伝達することである。ここで、本発明の例示的な実施形態を、図１３〜２１を参照して説明する。実施形態は特に明記しない限り組み合わされてもよく、例えば、実施形態の特定の組み合わせは増大した複雑さで符号化効率を改善してもよいが、これは特定の使用例では許容可能であり得ることに留意されたい。概して、改善された動き補償を提供する可能性がより高い場合、アフィンモードを使用するために、動き予測子モードを伝達するシンタックスを修正することによって、符号化の複雑さの許容可能な増加で、符号化効率を改善することが可能である。
【００６０】
（第１実施形態）
第１の実施形態では、アフィン動き予測モードが、少なくとも１つのインターモードのためのビットストリームの一部のために伝達（例えば、有効化又は無効化）され得る。前記ビットストリームの一部に使用されるインター予測モードが判定され、アフィン動きモードが、ビットストリームの一部で使用されるインター予測モードに依存して伝達される（有効化又は無効化）。この実施形態の利点は、未使用のシンタックスを除去することによって、より良い符号化効率になることである。さらに、それは、評価される必要のないいくつかのインター符号化の可能性を回避することによって、符号化部の複雑さを低減する。最終的には、符号化部側では、ＣＡＢＡＣ符号化されるいくつかのアフィンフラグが、符号化処理の効率を向上させるビットストリームから抽出される必要がない。第１実施形態の例では、スキップモードは、アフィンモードのために有効化されない。ＣＵがスキップされたＣＵである場合（データストリーム内のスキップフラグの状態又は存在に基づいて）、アフィンフラグはビットストリームから抽出される必要がないことを意味する。図１４（図１２と同じ構造を共有し、対応する説明はここを適用する）はこの例を示す。図１４において、ＣＵがスキップ（１４０２）である場合、アフィンフラグ（１４０６）は復号化されず、１４０５の条件は評価されない。ＣＵがスキップである場合、マージインデックスは復号化される（１４０６）。
【００６１】
この例の利点は少量の動きを有するシーケンスに対する符号化効率の改善であり、より動きを有するシーケンスに対する符号化効率の低減ではない。これは、スキップモードは典型的に動きがほとんど又は全くない場合に使用されるからであり、そのようなものとして、それはアフィンモードが適切である可能性が低いからである。上述したように、符号化及び復号化処理の複雑さも低減される。追加の例では、アフィンマージスキップモードがハイレベルで、例えば、スライス、フレーム、シーケンス、又はＣＴＵのレベルで、有効化又は無効化され得る。これは、ハイレベルシンタックスフラグに基づいて判定されてもよい。このような場合、アフィンマージスキップはシーケンス又は少しの動きを有するフレームについて無効化されてよく、動き量が増加する場合に有効化されてよい。この追加の例の利点は、アフィンマージスキップの使用に関する柔軟性である。
【００６２】
一実施形態では、アフィンマージスキップモードが、符号化部側で評価されない、その結果、ビットストリームはアフィンマージスキップモードを含まない。利点は、符号化効率が観察されることであるが、第１実施形態よりも小さいことである。アフィンについて、マージ及びスキップモードが有効化されていなくてもよい（又はアフィンはＡＭＶＰでのみ有効化されている）。さらなる例では、マージ及びマージスキップモードが、アフィンモードに対して有効化されていない。ＣＵがスキップ又はマージされる場合、アフィンフラグはビットストリームから抽出される必要がないことを意味する。図１４と比較すると、この実施形態では、モジュール１４０５、１４０６、及び１４０７が除去されている。この例の利点は、すぐ上の例と同様である。利点は、少しの動きを有するシーケンスに対する符号化効率の改善、及びより動きを有するシーケンスに対する同じ符号化効率である。上述したように、符号化及び復号化処理の複雑さは低減される。
【００６３】
ハイレベルシンタックス要素は、アフィンマージが有効化され得ることを伝達する。さらに別の例では、アフィンマージモード及びマージスキップモードが１つのフラグを有するスライス、フレーム、シーケンス、又はＣＴＵレベルとして、ハイレベルで有効化又は無効化されてもよい。この場合、アフィンマージは、シーケンス又は少しの動きを有するフレームに対して無効化されてよく、動き量が増加する場合に有効化されてもよい。この追加の実施形態の利点は、アフィンスキップの使用に関する柔軟性である。別の例では、１つのフラグはマージスキップモード用及びマージモード用の１つのフラグが伝達される。別の例では、アフィンマージスキップモード及びマージモードが符号化部側で評価されない。結果的に、ビットストリームは、アフィンマージスキップモードを含まない。利点は符号化効率が観察され得ることである。
【００６４】
（第２実施形態）
第２の実施形態では、現在のブロックのアフィンモードを伝達することは、１つ以上の隣接するブロックのモードに依存する。符号化効率を改善するために利用され得る隣接するブロックがどのように符号化されるかに相関を有する可能性がある。特に、１つ以上の特定の隣接ブロックがアフィンモードを使用する場合、アフィンモードが現在のモードに適切である可能性がより高い。一実施形態では、アフィンマージ又はアフィンマージスキップモードの候補の数が、２つの候補のみに減らされる。少数のアフィンフラグがマージモードのために復号化され、かつ、より少ない比較及びメモリバッファアクセスがアフィンマージチェック条件（１２０５）のために必要とされるので、この実施形態の利点は、復号部側での複雑さの低減である。符号化部側のより少ないアフィンマージモードは、評価される必要がある。
【００６５】
第２の実施形態の一例では、現在のブロック（例えば、図６に示すように、候補Ａ１及びＢ１）の上の左に１つ隣接するブロック及び１つの隣接するブロックは、アフィンフラグが復号化される必要があるかどうかを知るために、及びアフィンマージ候補の導出のために評価される。アフィンマージのためのこれらの２つの位置のみを利用することの利点は、複雑さの低減を有する現在のＶＴＭ実装として、５つの候補を維持するのと同様の符号化効率である。図１５は、この実施形態を示す。図１２と比較したこの図では、モジュール１５０５が、Ａ１及びＢ１の位置のみのチェックによって変更されている。第２の実施形態のさらなる例では、図６ｂに示すような候補Ａ２及びＢ３のみが、アフィンフラグが復号化される必要があるかどうかを判定するため、及びアフィンマージ候補の導出のために評価される。この例の利点は、先の実施例と同じであるが、それは先の実施例と比較して「最悪の場合」のメモリアクセスも削減する。実際、位置Ａ２及びＢ３で、位置はアフィンフラグコンテキスト導出に使用されるそれらと同じである。実際、アフィンフラグについて、コンテキスト導出は、図６ｂの位置Ａ２及びＢ３における隣接するブロックに依存する。結果的に、アフィンフラグが復号化される必要がある場合、Ａ２及びＢ３のアフィンフラグ値は現在のアフィンフラグのコンテキスト導出のためにすでにメモリ内にあり、したがって、さらなるメモリアクセスは必要ではない。
【００６６】
（第３実施形態）
第３実施形態では、現在のブロックのアフィンモードを伝達することは、現在のブロックに隣接するブロックに対応するマージ候補のリストに依存する。第３実施形態の一例では、リストは、現在のアフィンフラグのコンテキスト導出のために、そのようなブロックのアフィンフラグ値が既にメモリ内にあり、そのようなさらなるメモリアクセスが必要ではないため、前記ブロックに関連するコンテキスト変数を判定するために使用されているブロックから始まる。例えば、可能なアフィンマージ候補は、図６（ｂ）に示すように、Ａ２又はＢ３又はＢＯ又はＡＯ又はＢ２の順序である（Ａ１又はＢ１又はＢＯ又はＡＯ又はＢ２の代わりに）。これは、現在のＶＴＭと比較して、符号化効率の改善を与える。そして、それはまた、最悪のシナリオに対するアフィンフラグの復号化のためにアクセスされる必要があるアフィンフラグの量を制限する。現在のバージョンでは、モジュール１２０５用の５及びアフィンフラグコンテキスト導出用の２及び現在の実施形態では、Ａ２及びＢ３のアフィンフラグ値としての５のみが、現在のアフィンフラグのコンテキスト導出のためのメモリ内に既に存在するので、そのようなさらなるメモリアクセスは必要ではない。
【００６７】
第３実施形態の変形は、コンテキストアライメントに関する。アフィンモードを伝達することは、コンテキスト符号化フラグをデータストリームに挿入することを含んでよく、前記フラグのためのコンテキスト変数は、隣接するブロックがアフィンモードを使用するか否かに基づいて判定される。第３実施形態の代替例では、アフィンフラグのコンテキスト導出のために考慮される位置が、図６ｂに示すように、位置Ａ２及びＢ３の代わりに位置Ａ１及びＢ１である。その場合、先の実施例の同じ利点が得られる。これは、コンテキストとアフィンマージ導出との間の他のアラインメントである。その場合、アフィンフラグのコンテキスト変数は、次の式に従って取得される、すなわち、Ctx = IsAffine(A1)+ IsAffine(B1)、ここで、Ｃｔｘはアフィンフラグのコンテキストであり、ＩｓＡｆｆｉｎｅはブロックがアフィンブロックでない場合に０を、ブロックがアフィンである場合に１を返す関数である。この例では、現在のアフィンフラグのコンテキスト導出のために、Ａ１とＢ１のアフィンフラグ値がメモリに格納され、そのようなものとして、さらなるメモリアクセスは必要ではない。
【００６８】
さらなる代替例では、アフィンフラグのコンテキスト導出のために考慮される位置は、現在のブロックがマージモード（両方のマージモード）である場合、位置Ａ２及びＢ３の代わりに位置Ａ１及びＢ１である。先の例と比較した追加の利点は、より良好な符号化効率である。実際、ＡＭＶＰについて、アフィンブロックはこの導出のために考慮されないので、ＡＭＶＰについて、動きベクトルの導出にアライメントされるべきコンテキスト導出の必要はない。
【００６９】
（第４実施形態）
第４実施形態では、アフィンモードの伝達は、隣接するブロックがマージモードであるか否かに依存して実行される。第４実施形態の一例では、アフィンマージ(マージ及びスキップ)の候補がアフィンＡＭＶＰ候補のみであってもよい。図１７は、この実施形態を示す。この実施形態の利点は、少しのアフィンフラグが符号化効率に影響することなく復号化される必要があるので、符号化の複雑さ低減になる。第４実施形態のさらなる例では、アフィンマージ(マージ及びスキップ)の候補が、アフィンＡＭＶＰ候補又はマージアフィン候補のみであってもよいが、アフィンマージスキップでなくてよい。先の実施例と同様に、この例の利点は、少しのアフィンフラグは符号化効率に影響することなく復号化される必要があるので、符号化の複雑さ低減になる。
【００７０】
（第５実施形態）
第５の実施形態では、アフィンモードを伝達することは、アフィンモードを候補動き予測子として挿入することを含む。第５実施形態の一例では、アフィンマージ（及びマージスキップ）がマージ候補として伝達される。この場合、図１２のモジュール１２０５、１２０６及び１２０７は除去される。加えて、マージモードの符号化効率に影響を与えないように、マージ候補の最大可能数はインクリメントされる。例えば、現在のＶＴＭバージョンでは、この値は６に等しく設定され、したがって、この実施形態をＶＴＭの現在のバージョンに適用する場合、値は７になる。本利点は、少数のシンタックス要素が復号化される必要があるため、マージモードのシンタックス要素の設計簡略化になる。いくつかの状況では、符号化効率が観察され得る。
【００７１】
ここで、この例を実施するための２つの可能性を以下で説明する。候補動き予測子の位置は、選択されるそれの可能性及び、そのようなものとして、それはリストのより上に配置される場合（より低いインデックス値）、動きベクトル予測子が選択されるそれの可能性がより高いことを示す。第１の例では、アフィンマージインデックスがマージ候補のリスト内で常に同じ位置を有する。これは、固定されたマージｉｄｘ値を有することを意味する。例えば、アフィンマージモードが最も可能性のあるコンテンツではない複雑な動きを表すはずであるので、この値は５に等しく設定されてもよい。この実施形態の追加の利点は、現在のブロックが、データ自体を復号化するだけでなく、シンタックス要素の構文解析／復号化／読取りがされる場合、現在のブロックはアフィンブロックとして設定され得ることである。結果的に、値は、ＡＭＶＰのために使用されるアフィンフラグのＣＡＢＡＣコンテキストを判定するために使用され得る。したがって、条件付き確率はこのアフィンフラグについて改善されるべきであり、符号化効率は、より良好になるであろう。
【００７２】
第２の例では、アフィンマージ候補は他のマージ候補と共に導出される。この例では、新しいアフィンマージ候補がマージ候補のリストに追加される。図１８はこの例を示す。図１３と比較すると、アフィン候補は、第１のアフィン隣接ブロックＡ１、Ｂ１、ＢＯ、ＡＯ、Ｂ２（１９１７）である。図１２の１２０５と同じ条件が有効である場合（１９２７）、アフィンパラメータを用いて生成された動きベクトル場が、アフィン候補を得るために生成される（１９２９）。初期候補のリストは、ＡＴＭＶＰ、時間的及びアフィン候補の使用に従って、４、５、６、又は７つの候補を有することができる。全てのこれらの候補の間の順序は、より可能性の高い候補が、それらが動きベクトル候補のカットを行う可能性がより高いことを保証するために、最初に処理されるべきであるため重要であり、好ましい順序は以下の通りである。
Ａ１
Ｂ１
Ｂ０
Ａ０
アフィンマージ
ＡＴＭＶＰ
Ｂ２
時間的
組み合わせ
Ｚｅｒｏ＿ＭＶ
【００７３】
アフィンマージはＡＴＭＶＰモードの前であるが、４つの主要な隣接ブロックの後にあることに留意することが重要である。ＡＴＭＶＰ候補の前にアフィンマージを設定する利点は、ＡＴＭＶＰ及び時間的予測子の後にそれを設定するものと比較されるので、符号化効率向上となる。この符号化効率の向上は、ＧＯＰ（ピクチャグループ）構造と、ＧＯＰ内の各ピクチャの量子化パラメータ（ＱＰ）設定に依存する。しかし、最も使用されるＧＯＰ及びＱＰ設定について、この順序は符号化効率の向上を与える。このソリューションのさらなる利点は、シンタックス及び導出の両方のためのマージ及びマージスキップのクリーンな設計である。さらに、アフィン候補マージインデックスは、リスト内の前の候補の可用性又は値（重複チェック）に従って変更することができる。結果的に効率的な伝達が得られる。さらなる例では、アフィンマージインデックスは、１つ又はいくつかの条件に従って可変である。
【００７４】
例えば、アフィン候補に関連付けられたリスト内のマージインデックス又は位置は、基準に従い変化する。原理は、アフィンマージが選択される高い確率を有する場合（及び選択される低い確率がある場合により高い値）、アフィンマージに対応するマージインデックスに低い値を設定することである。この例の利点は、それが最も使用される可能性がある場合、マージインデックスの最適な適応のおかげで、符号化効率向上となる。
【００７５】
マージ候補のリスト内のアフィンモードの位置を選択するための基準は以下を含む。
ａ)スキップモードが有効化されている場合（スキップフラグの状況）
この基準を適用する一例では、アフィンマージインデックスが高い値（例えば５）に等しく設定された値を有するか、又は現在のマージがマージスキップモードである場合、それは空間的及び時間的ＭＶの後に設定される。第１実施形態について説明したように、任意の大きな（又は複雑な）動きになる可能性が低いので、アフィンモードがスキップモードのために選択される可能性は低い。
ｂ)隣接ブロックの動き情報
この基準を適用する一例では、アフィンマージインデックスが高い値に等しく設定された値を有するか、又は左の１つのブロック及び上の１つのブロック（例えば、ブロックＡ１及びＢ１）の動き情報が同様か又は等しい場合、それは空間的及び時間的ＭＶの後に設定される。Ａ１がＢ１と同じ動き情報を有する場合、動き情報は現在のブロックについて一定である高い確率を有する。したがって、アフィンマージは、選択される低い確率を有する。
【００７６】
ｃ)ＡＴＭＶＰ候補
この基準を適用する一例では、アフィンマージインデックスが高い値に等しく設定された値を有するか、又はＡＴＭＶＰ候補が１つの動き情報のみを含む場合、それは空間的及び時間的ＭＶの後に設定される。その場合、配置されたブロックの前のフレーム内の細分化はない。したがって、現在のブロックコンテンツが非一定の動きの内部にあるわずかな可能性があるので、マージリスト内の高い位置にアフィンを設定しないことが好ましい。
ｄ）隣接ブロックがアフィンモードを使用する場合
この基準を適用する一例では、アフィンマージインデックスが低い値に等しく設定された値を有するか、又は２つ以上の隣接ブロックがアフィンである場合、それは時間的予測の前で、かつ、空間的予測子から遠くに設定される。この基準を適用する追加の例では、アフィンマージインデックス又はアフィン位置（ｉｄｘ）が、ｉｄｘ＝Ｐ−Ｎに等しく設定され、ここで、Ｐはアフィンマージインデックスについて可能な最低位置であり、Ｎはアフィン隣接ブロックの数である。一例では、Ｐは５であり、Ｎは５であり、隣接ブロックはＡ１、Ｂ１、Ｂ０、Ａ０、Ｂ２である。この表記では、最高位置は０のインデックス値を有することに留意されたい。
【００７７】
この例では、マージ候補位置のアフィンマージインデックスが、それの隣接ブロックに関連する確率に従って設定される。従って、全ての隣接位置がアフィンである場合に第１の位置で、及び、１つの隣接ブロックのみがアフィンである場合に第４の位置である。例示的な値「５」は、同様の符号化効率を得るために６又は７に設定され得ることを理解されたい。また、これらの基準の組合せも可能であることを理解されたい。
【００７８】
第５の実施形態の別の例では、アフィンモードは前記現在のブロックのアフィンモードの尤度を前記判定に依存して伝達される。特定の例では、アフィンマージ候補は、候補のリスト内に追加されないか、又は基準に従ってアフィンマージに対応するインデックスはない。この例の原理は、有用である可能性がないアフィンモードを無効化することである。この例の利点は、マージインデックスビットの最適な使用のおかげで、符号化効率向上となる。
【００７９】
有用であるアフィンモードの可能性を判定するための基準は以下を含む。
ａ)スキップフラグの状況
この基準を適用する一例では、現在のマージがマージスキップモードである場合、アフィンマージ候補は追加されない。第１実施形態で説明したように、スキップモードではアフィンモードが選択される低い可能性がある。
ｂ)隣接ブロックの動き情報
この基準を適用する一実施形態では、アフィンマージ候補は左の１つのブロック及び上の１つのブロック（例えば、ブロックＡ１及びＢ１）の動き情報が同様か、又は等しい場合には追加されない。左の１つのブロック及び上の１つのブロック（例えば、ブロックＡ１及びＢ１）が同じ動き情報を有する場合、動き情報は現在のブロックに対して一定である高い確率となる。したがって、アフィンマージは無効化されるであろう。
ｃ)ＡＴＭＶＰ候補
この基準を適用する一実施形態では、ＡＴＭＶＰ候補が１つの動き情報のみを含む場合、アフィンマージ候補は追加されない。このような例では、現在のブロックコンテンツが非一定の動きの内部にあるわずかな可能性があるので、マージリスト内の高い位置でアフィンを無効化することが好ましい。これらの基準の組合せが可能であることを理解されたい。
【００８０】
（本発明の実施形態の実装）
図２０は、本発明の１つ以上の実施形態の実装するためのコンピューティングデバイス１３００の模式的なブロック図である。コンピューティングデバイス１３００は、マイクロコンピュータ、ワークステーション、又はライトポータブルデバイス等のデバイスであってもよい。コンピューティングデバイス１３００は、以下に接続された通信バスを備える、マイクロプロセッサなどの中央処理装置（ＣＰＵ）１３０１、本発明の実施形態の方法の実行可能コードを記憶するためのランダムアクセスメモリ（ＲＡＭ）１３０２及び本発明の実施形態に係る画像の少なくとも一部を符号化又は復号化するための方法を実現するために必要な変数及びパラメータを記録するために適合されたレジスタ、それらのメモリ容量は例えば、拡張ポートに接続されたオプションのＲＡＭによって拡張されてもよく、本発明の実施形態を実現するためのコンピュータプログラムを記憶するための読み出し専用メモリ（ＲＯＭ）１３０３、ネットワークインターフェース（ＮＥＴ）１３００４は処理されるデジタルデータが送信又は受信される通信ネットワークに典型的に接続される。ネットワークインターフェース（ＮＥＴ）１３０４は単一のネットワークインターフェースであってもよいし、異なるネットワークインターフェース（例えば、有線及び無線インターフェース、又は異なる種類の有線又は無線インターフェース）のセットで構成されてもよい。
【００８１】
データパケットは送信のためにネットワークインターフェースに書き込まれるか、又はＣＰＵ１３０１で実行するソフトウェアアプリケーションの制御の下で受信用のネットワークインターフェースから読み出される、ユーザインターフェース（ＵＩ）１３０５がユーザからの入力を受信するため又はユーザに情報を表示するために使用されてもよい、ハードディスク（ＨＤ）１３０６は大容量記憶装置として提供されてもよい、入力／出力モジュール（ＩＯ）１３０７が、ビデオソース又はディスプレイなどの外部装置から／までデータを受信／送信するために使用されてもよい。実行可能符号は、ＲＯＭ１３０３、ＨＤ１３０６、又は例えばディスクのようなリムーバブルデジタル媒体のいずれかに格納されてもよい。変形例によれば、プログラムの実行可能符号は実行される前に、ＨＤ１３０６などの通信装置１３００の記憶手段の１つに記憶されるために、ＮＥＴ１３０４を介して、通信ネットワークの手段によって受信され得る。ＣＰＵ１３０１は、命令が前述の記憶手段の１つに格納される、本発明の実施形態によるプログラム又はプログラムのソフトウェアコードの命令又は部分の実行を制御し、指示するように適合される。電源オン後、ＣＰＵ１３０１は例えば、プログラムＲＯＭ１３０３又はＨＤ１３０６からこれらの命令がロードされた後に、メインＲＡＭメモリ１３０２から、ソフトウェアアプリケーションに関する命令を実行することができる。このようなソフトウェアアプリケーションは、ＣＰＵ１３０１によって実行されると、本発明による方法のステップを実行させる。
【００８２】
また、本発明の他の実施形態によれば、コンピュータ、携帯電話（携帯電話）、タブレット、又はユーザにコンテンツを提供／表示することができる他の任意の種類のデバイス（例えば、ディスプレイ装置）などのユーザ端末に、前述の実施形態による復号化部が提供されることも理解される。さらに別の実施形態によれば、前述の実施形態による符号化部は、符号化部が符号化するためのコンテンツをキャプチャ及び提供するカメラ、ビデオカメラ、又はネットワークカメラ（例えば、閉回路テレビ又はビデオ監視カメラ）も備える画像キャプチャ装置において提供される。２つのこのような例は、図２１及び２２を参照して以下に提供される。
【００８３】
図２１は、ネットワークカメラ２１０２及びクライアント装置２１０４を含むネットワークカメラシステム２１００を示す図である。ネットワークカメラ２１０２は、撮像部２１０６と、符号化部２１０８と、通信部２１１０と、制御部２１１２とを含む。ネットワークカメラ２１０２とクライアント装置２１０４は、ネットワーク２００を介して相互に通信可能なように相互接続されている。撮像部２１０６は、レンズ及び撮像素子（例えば、電荷結合素子（ＣＣＤ）又は相補型金属酸化膜半導体（ＣＭＯＳ））を含み、被写体の画像を撮像し、その画像に基づいて画像データを生成する。この画像は静止画像又はビデオ画像であってもよい。また、撮像部は、（光学的又はデジタル的のいずれかで）ズーム又はパンするように適合されるズーム手段及び／又はパン手段をそれぞれ備えてもよい。符号化部２１０８は、第１から第５実施形態で説明された前記符号化方法を用いて画像データを符号化する。符号化部２１０８は、第１から第５の実施形態で説明された符号化方法の少なくとも１つを使用する。他の例について、符号化部２１０８は、第１から第５の実施形態で説明された符号化方法の組み合わせを使用することができる。
【００８４】
ネットワークカメラ２１０２の通信部２１１０は、符号化部２１０８で符号化された符号化画像データをクライアント装置２１０４に送信する。さらに、通信部２１１０は、クライアント装置２１０４からのコマンドを受信する。コマンドは、符号化部２１０８の符号化のためのパラメータを設定するためのコマンドを含む。制御部２１１２は、通信部２１１０によって受信されたコマンドに従って、ネットワークカメラ２１０２内の他の部を制御する。クライアント装置２１０４は、通信部２１１４、復号化部２１１６、及び制御部２１１８を有する。クライアント装置２１０４の通信部２１１８は、ネットワークカメラ２１０２にコマンドを送信する。さらに、クライアント装置２１０４の通信部２１１８は、ネットワークカメラ２１０２から符号化画像データを受信する。復号化部２１１６は、第１から第５の実施形態のいずれかで説明された前記復号化方法を用いることにより、符号化画像データを復号する。別の例として、復号化部２１１６は、第１から第５の実施形態で説明された復号化方法の組み合わせを使用することができる。
【００８５】
クライアント装置２１０４の制御部２１１８は、通信部２１１４が受信したユーザ操作又はコマンドに従って、クライアント装置２１０４内の他の部を制御する。クライアント装置２１０４の制御部２１１８は、復号化部２１１６で復号された画像を表示するために表示装置２１２０を制御する。また、クライアント装置２１０４の制御部２１１８は、符号化部２１０８の符号化のためのパラメータを含むネットワークカメラ２１０２のパラメータの値を指定するＧＵＩ（グラフィカルユーザインタフェース）を表示するために表示装置２１２０を制御する。また、クライアント装置２１０４の制御部２１１８は、表示装置２１２０により表示されるＧＵＩへのユーザ操作入力に応じて、クライアント装置２１０４内の他の部を制御する。クライアント装置２１０４の制御部２１１８は、表示装置２１２０により表示されるＧＵＩへのユーザ操作入力に応じて、ネットワークカメラ２１０２のパラメータの値を指定するコマンドをネットワークカメラ２１０２に送信するために、クライアント装置２１０４の通信部２１１４を制御する。ネットワークカメラシステム２１００は、ビデオの記録中にカメラ２１０２がズーム又はパンを利用するかどうかを判定することができ、このような情報は、ビデオストリームをズーム又はパンとして符号化する場合、撮影がズーム、回転、及び／又は伸張（特にレンズが「魚眼」レンズである場合、パンの副作用になり得る）などの複雑な動きを符号化するのによく適したアフィンモードの使用から利益を得ることができる間に、使用されてもよい。
【００８６】
図２２は、スマートフォン２２００を示す図である。スマートフォン２２００は、通信部２２０２と、復号化／符号化部２２０４、制御部２２０６及び表示部２２０８を含む。通信部２２０２は、符号化された画像データをネットワーク経由で受信する。復号化部２２０４は、通信部２２０２により受信された符号化画像データを復号する。復号化部２２０４は第１から第５の実施形態で説明された前記復号化方法を用いることにより、符号化画像データを復号する。復号化部２２０４は、第１から第５の実施形態で説明された復号化方法の少なくとも１つを使用することができる。例えば、符号化部２２０２は、第１から第５の実施形態で説明された復号化方法の組み合わせを使用することができる。制御部２２０６は、通信部２２０２により受信されたユーザ操作又はコマンドに応じて、スマートフォン２２００内の他の部を制御する。
【００８７】
例えば、制御部２２０６は、復号化部２２０４により復号された画像を表示するために表示装置２２０８を制御する。スマートフォンは画像又はビデオを記録するための画像記録装置２２１０（例えば、回路に関連付けられたデジタルカメラ）をさらに備えることができる。このような記録された画像又はビデオは、制御部２２０６の指示の下、復号化／符号化部２２０４によって符号化されてもよい。スマートフォンはさらに、モバイル装置の向きを感知するように適合されたセンサ２２１２を備えてもよい。このようなセンサは、加速度計、ジャイロスコープ、コンパス、全地球測位（ＧＰＳ）ユニット又は同様の位置センサを含むことができる。そのようなセンサ２２１２は、スマートフォンが向きを変えるかどうかを判定することができ、そのような情報は、撮影が回転のような複雑な動きを符号化によく適したアフィンモードの使用から利益を得ることができる間に、ビデオストリームを向きにおける変化として符号化する場合に、使用されてもよい。
【００８８】
（代替例及び修正例）
本発明の目的はアフィンモードが最も効率的な方法で利用されることを保証することであり、上述の特定の例は、アフィンモードが有用であると知覚される可能性に依存して、アフィンモードの使用を伝達することに関することが理解されるであろう。これのさらなる例は複雑な動き（アフィン変換が特に効率的である）が符号化されていることが知られている場合に、符号化部に適用され得る。このような場合の例には以下を含む。
ａ)カメラズームイン／ズームアウト
ｂ）撮影（すなわち、回転運動）中に向きを変えるポータブルカメラ（例えば、携帯電話）
ｃ）「魚眼」レンズカメラのパン（例えば、画像の一部の伸張／歪曲）
【００８９】
そのようなものとして、アフィンモードがスライス、フレームシーケンス、又は実際のビデオストリーム全体のために使用される可能性が高く与えられるように、記録プロセス中に複雑な動きの表示は上げられてよい。さらなる例では、アフィンモードがビデオを記録するために使用されるデバイスの特徴又は機能性に応じて、使用される高い可能性が与えられてよい。例えば、モバイル装置は、固定監視カメラ（と言う）よりも向きを変える可能性が高いので、アフィンモードは前者からのビデオを符号化するためにより適切であり得る。特徴又は機能の例は、ズーム手段の存在／使用、位置センサの存在／使用、パン手段の存在／使用、デバイスが携帯型であるか否か、又はデバイス上のユーザ選択を含む。
【００９０】
本発明は実施形態を参照して説明されたが、本発明は開示された実施形態に限定されないことを理解されたい。添付の特許請求の範囲に定義されるように、本発明の範囲から逸脱することなく、様々な変更及び修正は行われることは、当業者には理解される。本明細書に開示された全ての特徴（添付の特許請求の範囲、要約及び図面を含む）、及び／又はそのように開示された任意の方法又は処理の全てのステップはそのような特徴及び／又はステップの少なくとも一部が相互に排他的である組み合わせを除き、任意の組み合わせで組み合わせられてよい。本明細書に開示される各特徴（添付の特許請求の範囲、要約及び図面を含む）は別段の記載がない限り、同一の、同等の、又は類似の目的を果たす代替的特徴に置き換えられてよい。したがって、別段の記載がない限り、開示される各特徴は、同等又は同様の特徴の一般的なシリーズの一例にすぎない。
【００９１】
また、示されるか、又は判定／推論された結果は例えば、復号化処理中に、比較、判定、評価、選択、実行、実施、又は考慮を実際に実行する代わりに、処理において使用され得るように、上述の比較、判定、評価、選択、実行、実施、又は考慮の任意の結果、例えば、符号化又はフィルタ処理中に行われる選択はビットストリーム内のデータから、例えば、結果を示すフラグ又はデータに示され、又は判定可能／推論可能であってもよい、ことを理解されたい。特許請求の範囲において、単語「有する」は他の要素又はステップを排除するものではなく、不定冠詞「ａ」又は「ａｎ」は複数を排除するものではない。異なる特徴が相互に異なる従属請求項に記載されているという単なる事実は、これらの特徴の組合せが有利に使用され得ないことを示すものではない。特許請求の範囲に現れる参照符号は説明としてのみであり、特許請求の範囲に限定的な影響を及ぼさない。
【図１】
2022501870.tif 000006
【図２】
2022501870.tif 000007
【図３】
2022501870.tif 000008
【図４】
2022501870.tif 000009
【図５】
2022501870.tif 000010
【図６ａ】
2022501870.tif 000011
【図６ｂ】
2022501870.tif 000012
【図７】
2022501870.tif 000013
【図８】
2022501870.tif 000014
【図９】
2022501870.tif 000015
【図１０】
2022501870.tif 000016
【図１１】
2022501870.tif 000017
【図１２】
2022501870.tif 000018
【図１３】
2022501870.tif 000019
【図１４】
2022501870.tif 000020
【図１５】
2022501870.tif 000021
【図１６】
2022501870.tif 000022
【図１７】
2022501870.tif 000023
【図１８】
2022501870.tif 000024
【図１９】
2022501870.tif 000025
【図２０】
2022501870.tif 000026
【図２１】
2022501870.tif 000027
【図２２】
2022501870.tif 000028
【手続補正書】
【提出日】令和3年4月9日(2021.4.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビットストリームの一部から画像を復号化する方法であって、
現在のブロックについての、アフィンサブブロック予測を用いるサブブロックマージモードを伝達することであって、前記アフィンサブブロック予測を用いるサブブロックマージモードを伝達することは、前記ビットストリームからのＣＡＢＡＣ符号化されたフラグを復号化することを含む、ことと、
現在のブロックに隣接するブロックに対応するマージ候補のリストを判定することと、を含み、
前記ＣＡＢＡＣ符号化されたフラグについてのコンテキスト変数は、前記隣接するブロックのうちの１つ以上がアフィンサブブロック予測を使用するか否かに基づいて判定される、
ことを特徴とする方法。
【請求項２】
ビットストリームの一部に画像を符号化する方法であって、
現在のブロックについてのアフィンサブブロック予測を用いるサブブロックマージモードを伝達することであって、前記アフィンサブブロック予測を用いるサブブロックマージモードを伝達することは、前記ビットストリームにＣＡＢＡＣ符号化されたフラグを符号化することを含む、ことと、
現在のブロックに隣接するブロックに対応するマージ候補のリストを判定することと、を含み、
前記ＣＡＢＡＣ符号化されたフラグのコンテキスト変数は、前記隣接するブロックのうちの１つ以上がアフィンサブブロック予測を使用するか否かに基づいて判定される、ことを含む、
ことを特徴とする方法。
【請求項３】
前記リストは、前記ブロックに関連するコンテキスト変数を判定するために使用されている前記ブロックで開始する、
ことを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記隣接するブロックは、ブロックＡ２及びＢ３のみからなる、
ことを特徴とする請求項１から３のいずれか１項に記載の方法。
【請求項５】
アフィンサブブロック予測フラグを有する前記サブブロックマージモードの前記コンテキスト変数は、前記現在のブロックの左のブロックのＩｓＡｆｆｉｎｅと前記現在のブロックの上のブロックのＩｓＡｆｆｉｎｅを合計することにより導出され、ＩｓＡｆｆｉｎｅは前記ブロックがアフィンブロックでない場合に０及び前記ブロックがアフィンである場合に１を返す関数である、
ことを特徴とする請求項１から４のいずれか１項に記載の方法。
【請求項６】
動き予測を使用して符号化されたビットストリームからの画像を復号化する方法であって、
動き予測子候補のリストをコンパイルすることと、
サブブロックアフィン予測の候補をマージ候補として挿入することと、を含み、
前記候補のリスト内の前記サブブロックアフィン予測の候補の位置は、サブブロックコロケーテッド時間的予測の候補に基づいて可変である、
ことを特徴とする方法。
【請求項７】
動き予測を使用してビットストリームに画像を符号化する方法であって、
動き予測子候補のリストをコンパイルすることと、
サブブロックアフィン予測の候補をマージ候補として挿入することと、を含み、
前記候補のリスト内の前記サブブロックアフィン予測の候補の位置は、サブブロックコロケーテッド時間的予測の候補に基づいて可変である、
ことを特徴とする方法。
【請求項８】
前記サブブロックアフィン予測の候補の前記位置は、隣接するブロックがサブブロックアフィン予測を使用するか否かに基づいて判定される、
ことを特徴とする請求項６又は７に記載の方法。
【請求項９】
前記隣接するブロックは、ブロックＡ１及びＢ１を含む、
ことを特徴とする請求項８に記載の方法。
【請求項１０】
ビットストリームの一部からの画像を復号化する復号化器であって、
現在のブロックについての、アフィンサブブロック予測を用いるサブブロックマージモードを伝達する手段であって、前記アフィンサブブロック予測を用いるサブブロックマージモードを伝達することは、前記ビットストリームからのＣＡＢＡＣ符号化されたフラグを復号化することを含む、手段と、
現在のブロックに隣接するブロックに対応するマージ候補のリストを判定する手段と、を含み、
前記ＣＡＢＡＣ符号化されたフラグについてのコンテキスト変数は、前記隣接するブロックのうちの１つ以上がアフィンサブブロック予測を使用するか否かに基づいて判定される、
ことを特徴とする復号化器。
【請求項１１】
ビットストリームの一部に画像を符号化する符号化器であって、
現在のブロックについての、アフィンサブブロック予測を用いるサブブロックマージモードを伝達する手段であって、前記アフィンサブブロック予測を用いるサブブロックマージモードを伝達することは、前記ビットストリームにＣＡＢＡＣ符号化されたフラグを符号化することを含む、手段と、
現在のブロックに隣接するブロックに対応するマージ候補のリストを判定する手段と、を含み、
前記ＣＡＢＡＣ符号化されたフラグについてのコンテキスト変数は、前記隣接するブロックのうちの１つ以上がアフィンサブブロック予測を使用するか否かに基づいて判定される、
ことを特徴とする符号化器。
【請求項１２】
動き予測を使用してビットストリームに画像を符号化する符号化器であって、
動き予測子候補のリストをコンパイルする手段と、
サブブロックアフィン予測の候補をマージ候補として挿入する手段と、を含み、
前記候補のリスト内の前記サブブロックアフィン予測の候補の位置は、サブブロックコロケーテッド時間的予測の候補に基づいて可変である、
ことを特徴とする符号化器。
【請求項１３】
動き予測を使用してビットストリームからの画像を復号化する復号化器であって、
動き予測子候補のリストをコンパイルする手段と、
サブブロックアフィン予測の候補をマージ候補として挿入する手段と、を含み、
前記候補のリスト内の前記サブブロックアフィン予測の候補の位置は、サブブロックコロケーテッド時間的予測の候補に基づいて可変である、
ことを特徴とする復号化器。
【請求項１４】
コンピュータにビットストリームの一部から画像を復号化する方法を実行させるためのプログラムを記憶するコンピュータ可読記憶媒体であって、
現在のブロックについての、アフィンサブブロック予測を用いるサブブロックマージモードを伝達することであって、前記アフィンサブブロック予測を用いるサブブロックマージモードを伝達することは、前記ビットストリームからのＣＡＢＡＣ符号化されたフラグを復号化することを含む、ことと、
現在のブロックに隣接するブロックに対応するマージ候補のリストを判定することと、を含み、
前記ＣＡＢＡＣ符号化されたフラグについてのコンテキスト変数は、前記隣接するブロックのうちの１つ以上がアフィンサブブロック予測を使用するか否かに基づいて判定される、
ことを特徴とするコンピュータ可読記憶媒体。
【請求項１５】
コンピュータにビットストリームの一部に画像を符号化する方法を実行させるためのプログラムを記憶するコンピュータ可読記憶媒体であって、
現在のブロックについての、アフィンサブブロック予測を用いるサブブロックマージモードを伝達することであって、前記アフィンサブブロック予測を用いるサブブロックマージモードを伝達することは、前記ビットストリームにＣＡＢＡＣ符号化されたフラグを符号化することを含む、ことと、
現在のブロックに隣接するブロックに対応するマージ候補のリストを判定することと、を含み、
前記ＣＡＢＡＣ符号化されたフラグについてのコンテキスト変数は、前記隣接するブロックのうちの１つ以上がアフィンサブブロック予測を使用するか否かに基づいて判定される、
ことを特徴とするコンピュータ可読記憶媒体。
【請求項１６】
コンピュータに、動き予測を使用して符号化されたビットストリームから画像を復号化する方法を実行させるためのプログラムを記憶するコンピュータ可読記憶媒体であって、
動き予測子候補のリストをコンパイルすることと、
サブブロックアフィン予測の候補をマージ候補として挿入することと、を含み、
前記候補のリスト内の前記サブブロックアフィン予測の候補の位置は、サブブロックコロケーテッド時間的予測の候補に基づいて可変である、
ことを特徴とするコンピュータ可読記憶媒体。
【請求項１７】
コンピュータに、動き予測を使用してビットストリームに画像を符号化する方法を実行させるためのプログラムを記憶するコンピュータ可読記憶媒体であって、
動き予測子候補のリストをコンパイルすることと、
サブブロックアフィン予測の候補をマージ候補として挿入することと、を含み、
前記候補のリスト内の前記サブブロックアフィン予測の候補の位置は、サブブロックコロケーテッド時間的予測の候補に基づいて可変である、
ことを特徴とするコンピュータ可読記憶媒体。
【国際調査報告】
2022501870.tif 000029
2022501870.tif 000030
2022501870.tif 000031
2022501870.tif 000032
2022501870.tif 000033