(57)【要約】  本願は、従来技術において符号化ビデオシーケンスの長さが増加するという問題を解決するべく、ビデオ画像予測方法および装置を提供する。いくつかのビデオ画像はアフィン特性を有さず、いくつかのビデオ画像のすべてのスライスがアフィン特性を有するわけではない。この場合、第１タイプの識別子および／または第２タイプの識別子がビットストリームに追加され得る。第１タイプの識別子は、アフィン動きモデル型インター予測モードがビデオ画像について有効であるかどうかを示すために使用され、第２タイプの識別子は、アフィン動きモデル型インター予測モードがビデオ画像におけるスライスについて有効であるかどうかを示すために使用される。アフィン動きモデルが使用される必要がないスライスに含まれるビデオ画像または画像ブロックについては、アフィン動きモデルに関連する、画像ブロックのパラメータは送信される必要がないことがあり得る。デコーダ側において、画像ブロックの復号中、アフィン動きモデルに関連するパラメータは解析される必要がない。これにより、デコーダの負荷を低減し、処理速度を増加させ、処理時間を減少させることができる。
2021535672.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ画像予測方法であって、
ビットストリームを解析して第１識別子を取得する段階と、
処理対象ブロックを含むビデオシーケンスについてアフィン動きモデル型動き補償が有効であることを前記第１識別子が示すとき、前記ビットストリームを解析して第３識別子を取得する段階であって、前記第３識別子が第１の値であるとき、前記アフィン動きモデルは６パラメータアフィン動きモデルを含まず、または、前記第３識別子が第２の値であるとき、前記アフィン動きモデルは６パラメータアフィン動きモデルを含み、前記第１の値は前記第２の値と異なる、段階と、
前記ビデオシーケンスについて前記アフィン動きモデル型動き補償が有効であることを前記第１識別子が示し、かつ、前記処理対象ブロックが、前記アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすとき、前記ビットストリームを解析して第２識別子を取得する段階と、
アフィン動きモデル型高度動きベクトル予測（ＡＭＶＰ）モードが前記処理対象ブロックのインター予測について使用されることを前記第２識別子が示し、かつ、前記第３識別子が前記第２の値であるとき、前記ビットストリームを解析して第４識別子を取得する段階と、
３タプルリストを候補動きベクトル予測値リストとして構築する段階であって、前記第４識別子が第３の値であるとき、前記アフィン動きモデルは前記６パラメータアフィン動きモデルであり、前記３タプルリストは１または複数の３タプルを含み、前記１または複数の３タプルの各々は３つの制御点の動き情報を表す、段階、または、
２タプルリストを候補動きベクトル予測値リストとして構築する段階であって、前記第４識別子が第４の値であるとき、前記アフィン動きモデルは４パラメータアフィン動きモデルであり、前記２タプルリストは１または複数の２タプルを含み、前記１または複数の２タプルの各々は２つの制御点の動き情報を表す、段階と、
前記候補動きベクトルリストに基づいて前記処理対象ブロックについてのインター予測を実行する段階と
を備え、前記第３の値は前記第４の値と異なる、方法。
【請求項２】
ビットストリームを解析して第１識別子を取得する前記段階は、
前記ビットストリームのシーケンスパラメータセットを解析して前記第１識別子を取得する段階を含む、請求項１に記載の方法。
【請求項３】
前記第１識別子は、ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇによって表され、ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、前記アフィン動きモデル型動き補償が前記ビデオシーケンスについて有効であるかどうかを示し、ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき、前記アフィン動きモデル型動き補償が前記ビデオシーケンスについて有効であることを示す、請求項２に記載の方法。
【請求項４】
前記ビットストリームを解析して第３識別子を取得する前記段階は、
前記ビットストリームのシーケンスパラメータセットを解析して前記第３識別子を取得する段階を含む、請求項１に記載の方法。
【請求項５】
前記第３識別子は、ＳＰＳレベルフラグによって表され、前記ＳＰＳレベルフラグは、６パラメータアフィンモデル型動き補償が前記ビデオシーケンスについて有効であるかどうかを示し、
前記ＳＰＳレベルフラグが１に等しいとき、前記６パラメータアフィンモデル型動き補償は前記ビデオシーケンスについて有効であり、または、前記ＳＰＳレベルフラグが０に等しいとき、前記６パラメータアフィンモデル型動き補償は前記ビデオシーケンスについて無効である、請求項４に記載の方法。
【請求項６】
前記第２識別子は、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇによって表され、前記処理対象ブロックを含むスライスがＰスライスまたはＢスライスであるとき、前記ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇは、前記アフィン動きモデル型ＡＭＶＰモードが前記処理対象ブロックに使用されるかどうかを示し、
ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇが１に等しいとき、前記アフィン動きモデル型ＡＭＶＰモードが前記処理対象ブロックに使用される、または、前記ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇが０に等しいとき、前記アフィン動きモデル型ＡＭＶＰモードが前記処理対象ブロックに使用されない、請求項１に記載の方法。
【請求項７】
前記第４識別子は符号化単位シンタックスにおいてａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇによって表され、前記ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、６パラメータアフィン動きモデル型動き補償が前記処理対象ブロックのインター予測に使用されるかどうかを示し、
ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが１に等しいとき、前記６パラメータアフィン動きモデル型動き補償は前記処理対象ブロックのインター予測に使用される、または、前記ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが０に等しいとき、４パラメータアフィン動きモデル型動き補償が前記処理対象ブロックのインター予測に使用される、請求項１に記載の方法。
【請求項８】
前記事前設定された条件は、前記処理対象ブロックの幅が第１事前設定閾値以上であり、かつ、前記処理対象ブロックの高さが第２事前設定閾値以上であることを含む、請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記第１事前設定閾値は第２事前設定閾値に等しい、請求項８に記載の方法。
【請求項１０】
前記事前設定された条件は、前記処理対象ブロックの幅が１６以上であること、かつ、前記処理対象ブロックの高さが１６以上であることを含む、請求項１から７のいずれか一項に記載の方法。
【請求項１１】
前記第２の値および前記第３の値は１であり、前記第１の値および前記第４の値は０である、請求項１から１０のいずれか一項に記載の方法。
【請求項１２】
ビデオ画像予測方法であって、
ビットストリームを解析して第１識別子を取得する段階と、
処理対象ブロックを含むビデオシーケンスについてアフィン動きモデル型動き補償が有効であることを前記第１識別子が示すとき、前記ビットストリームを解析して第３識別子を取得する段階であって、前記第３識別子が第１の値であるとき、前記アフィン動きモデルは６パラメータアフィン動きモデルを含まない、または、前記第３識別子が第２の値であるとき、前記アフィン動きモデルは４パラメータアフィン動きモデルを含み、前記第１の値は前記第２の値と異なる、段階と、
候補動きベクトルリストを構築する段階であって、前記第３識別子が前記第２の値であるとき、前記候補動きベクトルリストは第１要素を含み、前記第１要素は、前記６パラメータアフィン動きモデルを構築するために使用される３つの制御点の動き情報を含む、または、前記第３識別子が前記第１の値であるとき、前記候補動きベクトルリストは第２要素を含み、前記第２要素は、前記４パラメータアフィン動きモデルを構築するために使用される２つの制御点の動き情報のみを含む、段階と、
前記候補動きベクトルリストに基づいて、前記処理対象ブロックについてのインター予測を実行する段階と
を備える方法。
【請求項１３】
前記第３識別子が前記第２の値であるとき、第１の前記候補動きベクトルリストは更に第２要素を含み、前記第２要素は、前記４パラメータアフィン動きモデルを構築するために使用される２つの制御点の動き情報を含む、請求項１２に記載の方法。
【請求項１４】
ビットストリームを解析して第１識別子を取得する前記段階は、
前記ビットストリームのシーケンスパラメータセットを解析して前記第１識別子を取得する段階を含む、請求項１２または１３に記載の方法。
【請求項１５】
前記第１識別子は、ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇによって表され、ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、前記アフィン動きモデル型動き補償が前記ビデオシーケンスについて有効であるかどうかを示し、ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき、前記アフィン動きモデル型動き補償が前記ビデオシーケンスについて有効であることを示す、請求項１４に記載の方法。
【請求項１６】
前記ビットストリームを解析して第３識別子を取得する前記段階は、
前記ビットストリームのシーケンスパラメータセットを解析して前記第３識別子を取得する段階を含む、請求項１２または１３に記載の方法。
【請求項１７】
前記第３識別子は、ＳＰＳレベルフラグによって表され、前記ＳＰＳレベルフラグは、６パラメータアフィンモデル型動き補償が前記ビデオシーケンスについて有効であるかどうかを示し、
前記ＳＰＳレベルフラグが１に等しいとき、前記６パラメータアフィンモデル型動き補償は前記ビデオシーケンスについて有効であり、または、前記ＳＰＳレベルフラグが０に等しいとき、前記６パラメータアフィンモデル型動き補償は前記ビデオシーケンスについて無効である、請求項１６に記載の方法。
【請求項１８】
デコーダであって、
メモリおよびプロセッサを備え、
前記メモリは、プログラム命令を格納するよう構成され、
前記プロセッサは、前記メモリに格納された前記プログラム命令を呼び出して実行し、請求項１から１７のいずれか一項に記載の方法を実装するよう構成される、
デコーダ。
【請求項１９】
ビデオデータ復号デバイスであって、
ビットストリームの形態でビデオデータを格納するよう構成される非一時的メモリストレージと、
請求項１から１７のいずれか一項に記載の方法を実行するよう構成されるビデオデコーダと
を備えるビデオデータ復号デバイス。
【請求項２０】
請求項１から１７のいずれか一項に記載の方法をコンピュータに実行させるプログラム。
【請求項２１】
請求項１から１７のいずれか一項に記載の方法によって復号されるビットストリームを含む非一時的記憶媒体。
【請求項２２】
複数のシンタックス要素を含むことによってビデオ信号のための符号化ビットストリームを含む非一時的記憶媒体であって、前記複数のシンタックス要素は第１識別子を含み、
第３識別子および第２識別子が、少なくとも前記第１識別子の値に基づいて条件付きでシグナリングされ、第４識別子が、少なくとも前記第２識別子および前記第３識別子の値に基づいて条件付きでシグナリングされ、
前記第１識別子は、処理対象ブロックを含むビデオシーケンスについてアフィン動きモデル型動き補償が有効であることを示し、
前記第２識別子は、アフィン動きモデル型高度動きベクトル予測（ＡＭＶＰ）モードが前記処理対象ブロックのインター予測に使用されることを示し、前記第３識別子は第２の値であり、
第１の値である前記第３識別子は、６パラメータアフィンモデル型動き補償が前記ビデオシーケンスについて無効であることを示し、または、前記第２の値である前記第３識別子は、前記ビデオシーケンスについて６パラメータアフィンモデル型動き補償が有効であることを示し、
第３の値である前記第４識別子は、６パラメータアフィン動きモデル型動き補償が前記処理対象ブロックのインター予測に使用されることを示し、または、第４の値である前記第４識別子は、４パラメータアフィン動きモデル型動き補償が前記処理対象ブロックのインター予測に使用されることを示す、
非一時的記憶媒体。
【請求項２３】
複数のシンタックス要素を含むことによってビデオ信号についての符号化ビットストリームを含む非一時的記憶媒体であって、前記複数のシンタックス要素は第１識別子を含み、
第３識別子は、少なくとも前記第１識別子の値に基づいて、条件付きでシグナリングされ、
前記第１識別子は、処理対象ブロックを含むビデオシーケンスについてアフィン動きモデル型動き補償が有効であることを示し、
第１の値である前記第３識別子は、６パラメータアフィンモデル型動き補償が前記ビデオシーケンスについて無効であることを示し、または、第２の値である前記第３識別子は、６パラメータアフィンモデル型動き補償が前記ビデオシーケンスについて有効であることを示す、
非一時的記憶媒体。
【請求項２４】
チップであって、前記チップはメモリに接続され、前記メモリに格納されたソフトウェアプログラムを読み取り実行し、請求項１から１７のいずれか一項に記載の方法を実装するよう構成される、チップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１８年８月２７日に中国特許庁に出願された、「ビデオ画像予測方法および装置」と題する中国特許出願第２０１８１０９８３０２６．０号の優先権を主張するものであり、その全体は参照によって本明細書に組み込まれる。
【０００２】
本願は、画像の符号化および復号の技術の分野に関連し、特に、ビデオ画像予測方法および装置に関する。
【背景技術】
【０００３】
情報技術の発達により、高解像度テレビ、ウェブ会議、ＩＰＴＶおよび３Ｄテレビなどのビデオサービスが急速に発展している。直観性および高効率などの特長により、ビデオ信号は、人々の日常生活において情報を取得する主な方式となっている。ビデオ信号は大量のデータを含むので、大量の送信帯域幅および記憶空間を占有する。ビデオ信号を効率的に送信および格納するために、圧縮符号化がビデオ信号に対して実行される必要がある。ビデオ圧縮技術は、ビデオ用途の分野において、ますます不可欠な主要技術となっている。
【０００４】
ビデオ符号化圧縮の基本原理は、空間ドメイン、時間ドメイン、およびコードワードの間の相関に基づいて、可能な限り冗長性を除去することである。現在の主要な方法は、画像ブロックに基づくハイブリッドビデオ符号化フレームワークを使用して、予測（イントラ予測およびインター予測を含む）、変換、量子化およびエントロピー符号化などの段階を実行することによって、ビデオ符号化圧縮を実装することである。
【０００５】
様々なビデオ符号化／復号解決手段において、インター予測における動き推定／動き補償は、符号化／復号の性能に影響する主要技術である。既存のインター予測において、並進運動モデルを使用するブロックに基づく動き補償（ｍｏｔｉｏｎ  ｃｏｍｐｅｎｓａｔｉｏｎ、ＭＣ）予測に基づいて、非並進運動モデル（例えばアフィン動きモデル）を使用するサブブロックに基づく動き補償予測が追加された。非並進運動モデルが使用されるかどうかに関らず、アフィン動きモデルについての関連パラメータが符号化ビデオシーケンスに追加される必要がある。その結果、符号化ビデオシーケンスの長さが増加する。
【発明の概要】
【０００６】
本願は、符号化ビデオシーケンスの長さが増加するという従来技術における問題を解決するべく、ビデオ画像予測方法および装置を提供する。
【０００７】
第１態様によれば、本願の実施形態はビデオ画像予測方法を提供し、当該方法は、ビットストリームを解析して第１識別子を取得する段階と、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを第１識別子が示し、かつ、アフィン動きモデルを使用するインター予測についての事前設定された条件を処理対象ブロックが満たすとき、ビットストリームを解析して第２識別子を取得する段階と、第２識別子に基づいて、処理対象ブロックのインター予測についての予測モードを決定する段階であって、予測モードはアフィン動きモデル型マージモード、アフィン動きモデル型ＡＭＶＰモード、および非アフィン動きモデル型予測モードを含む、段階とを備える。
【０００８】
前述の解決手段において、例えば、いくつかのビデオ画像は、いくつかのアフィン特性を有し得、いくつかのビデオ画像はアフィン特性を有しないことがあり得る。この場合、アフィン動きモデル型インター予測モードがビデオ画像について有効であるかどうかを示すために、識別子がビットストリームに追加され得る。アフィン動きモデル型インター予測モードがビデオ画像について有効でない場合、アフィン動きモデルに関連する、ビデオ画像の画像ブロックのパラメータは、送信される必要がないことがあり得る。デコーダ側において、ビデオ画像の画像ブロックの復号中、アフィン動きモデルに関連するパラメータを解析する必要はない。これにより、デコーダの負荷を低減し、処理速度を増加させ、処理時間を減少させることができる。
【０００９】
例えば、「第１」および「第２」などの用語は単に、区別および説明のために使用されるものであり、相対的重要性の指示もしくは示唆、または、順序の指示もしくは示唆として理解されるべきではない。加えて、識別子などのパラメータについては、様々な態様および具体的な実施形態において同一の内容を説明するために異なる名称が使用され得る。例えば、第１態様における第１識別子は第２態様において第５識別子と称される。具体的な実施形態において、第１態様における第１識別子は識別子１と称され、第１態様における第２識別子は識別子１２と称される。
【００１０】
第１態様の可能な設計において、ビットストリームを解析して第１識別子を取得する段階は、ビットストリームのシーケンスパラメータセットを解析して第１識別子を取得するという方式で実装され得る。第１識別子がシーケンスパラメータセットにおいて構成され、かつ、アフィン動きモデル型インター予測モードがビデオ画像について有効でないことを第１識別子が示すとき、ビデオ画像の各画像ブロックレベルのシンタックスは、アフィン動きモデルに関連するシンタックス要素を含まない。デコーダ側において、ビデオ画像の画像ブロックの復号中、アフィン動きモデルに関連するパラメータを解析する必要はない。これにより、デコーダの負荷を低減し、処理速度を増加させ、処理時間を減少させることができる。
【００１１】
第１態様の可能な設計において、処理対象ブロックを含むビデオ画像の画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを第１識別子が示すとき、当該方法は更に、ビットストリームを解析して第３識別子を取得する段階を含む。第３識別子が第１の値であるとき、アフィン動きモデルは４パラメータアフィンモデルのみを含む。または、第３識別子が第２の値であるとき、アフィン動きモデルは４パラメータアフィンモデルおよび６パラメータアフィンモデルを含む。第１の値は第２の値と異なる。
【００１２】
前述の設計において、６パラメータアフィンモデルを含むアフィン動きモデルがビデオ画像について有効であるかどうかを示す第３識別子は更に、ビットストリームにおいて構成され得る。６パラメータアフィンモデルがビデオ画像について有効でないことを第３識別子が示すとき、６パラメータアフィンモデルに関連するパラメータは、ビデオ画像の画像ブロックについて解析する必要がなく、ビデオ画像の各画像ブロックについて、ビットストリームにおいて６パラメータアフィンモデルに関連するパラメータを送信する必要もない。これにより、符号化ビデオシーケンスの長さを低減し、デコーダの負荷を低減し、処理速度を増加させ、処理時間を減少させることができる。
【００１３】
具体的な実施形態において、第１態様における第３識別子は識別子１３と称される。
【００１４】
第１態様の可能な設計において、当該方法は更に、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第２の値であるとき、第１候補動きベクトルリストを構築する段階であって、第１候補動きベクトルリストは第１要素を含み、第１要素は、６パラメータアフィン動きモデルを構築するための３つの制御点の動き情報を含む、段階、または、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第１の値であるとき、第２候補動きベクトルリストを構築する段階であって、第２候補動きベクトルリストは第２要素を含み、第２要素は、４パラメータアフィン動きモデルを構築するための２つの制御点の動き情報のみを含む、段階を備える。
【００１５】
前述の設計において、第３識別子および第２識別子は、候補動きベクトルリストの構築を示すために使用される。
【００１６】
第１態様の可能な設計において、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、第３識別子が第２の値であるとき、第１候補動きベクトルリストは更に第２要素を含む。
【００１７】
第１態様の可能な設計において、当該方法は更に、アフィン動きモデル型ＡＭＶＰモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第２の値であるとき、ビットストリームを解析して第４識別子を取得する段階を備える。第４識別子が第３の値であるとき、アフィン動きモデルは６パラメータアフィン動きモデルであり、または、第４識別子が第４の値であるとき、アフィン動きモデルは４パラメータアフィン動きモデルである。第３の値は第４の値と異なる。
【００１８】
具体的な実施形態において、第４識別子は識別子１４と称される。
【００１９】
第１態様の可能な設計において、ビットストリームを解析して第３識別子を取得する段階は、ビットストリームのシーケンスパラメータセットを解析して第３識別子を取得する段階を含む。
【００２０】
第１態様の可能な設計において、事前設定された条件は、処理対象ブロックの幅が第１事前設定閾値以上であること、および、処理対象ブロックの高さが第２事前設定閾値以上であることを含む。
【００２１】
第１態様の可能な設計において、第１事前設定閾値は第２事前設定閾値に等しい。
【００２２】
第２態様によれば、本願の実施形態はビデオ画像予測方法を提供し、当該方法は、ビットストリームを解析して第１識別子を取得する段階と、処理対象ブロックを含むスライスの画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを第１識別子が示し、かつ、アフィン動きモデルを使用するインター予測についての事前設定された条件を処理対象ブロックが満たすとき、ビットストリームを解析して第２識別子を取得する段階と、第２識別子に基づいて、処理対象ブロックのインター予測についての予測モードを決定する段階であって、予測モードはアフィン動きモデル型マージモード、アフィン動きモデル型ＡＭＶＰモード、および非アフィン動きモデル型予測モードを含む、段階とを備える。
【００２３】
前述の解決手段において、例えば、ビデオ画像のいくつかのスライスは、いくつかのアフィン特性を有し得、ビデオ画像のいくつかのスライスは、アフィン特性を有さないことがあり得る。この場合、アフィン動きモデル型インター予測モードがビデオ画像のスライスについて有効であるかどうかを示すために識別子がビットストリームに追加され得る。アフィン動きモデル型インター予測モードがスライスについて有効でない場合、アフィン動きモデルに関連する、スライスに含まれる画像ブロックのパラメータを送信する必要がないことがあり得る。デコーダ側において、スライスにおける画像ブロックの復号中、アフィン動きモデルに関連するパラメータを解析する必要はない。これにより、デコーダの負荷を低減し、処理速度を増加させ、処理時間を減少させることができる。
【００２４】
具体的な実施形態において第２態様における第１識別子は識別子２と称され、第２態様における第２識別子は、具体的な実施形態において識別子２２と称されることに留意すべきである。
【００２５】
第２態様の可能な設計において、ビットストリームを解析して第１識別子を取得することは、ビットストリームにおけるスライスのスライスヘッダを解析して第１識別子を取得することを含む。
【００２６】
第１識別子がスライスのスライスヘッダにおいて構成され、アフィン動きモデル型インター予測モードがスライスについて有効でないことを第１識別子が示すとき、スライスの各画像ブロックレベルシンタックスは、アフィン動きモデルに関連するシンタックス要素を含まない。デコーダ側では、スライスにおける画像ブロックの復号中、アフィン動きモデルに関連するパラメータを解析する必要はない。これにより、デコーダの負荷を低減し、処理速度を増加させ、処理時間を減少させることができる。
【００２７】
第２態様の可能な設計において、処理対象ブロックを含むスライスの画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを第１識別子が示すとき、当該方法は更に、ビットストリームを解析して第３識別子を取得する段階を含む。第３識別子が第１の値であるとき、アフィン動きモデルは４パラメータアフィンモデルのみを含む。または、第３識別子が第２の値であるとき、アフィン動きモデルは４パラメータアフィンモデルおよび６パラメータアフィンモデルを含む。第１の値は第２の値と異なる。
【００２８】
第２態様における第３識別子は具体的な実施形態において識別子２３と称されることに留意すべきである。
【００２９】
第２態様の可能な設計において、当該方法は更に、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第２の値であるとき、第１候補動きベクトルリストを構築する段階であって、第１候補動きベクトルリストは第１要素を含み、第１要素は、６パラメータアフィン動きモデルを構築するための３つの制御点の動き情報を含む、段階、または、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第１の値であるとき、第２候補動きベクトルリストを構築する段階であって、第２候補動きベクトルリストは第２要素を含み、第２要素は、４パラメータアフィン動きモデルを構築するための２つの制御点の動き情報のみを含む、段階を備える。
【００３０】
第２態様の可能な設計において、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、第３識別子が第２の値であるとき、第１候補動きベクトルリストは更に第２要素を含む。
【００３１】
第２態様の可能な設計において、当該方法は更に、アフィン動きモデル型ＡＭＶＰモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第２の値であるとき、ビットストリームを解析して第４識別子を取得する段階を備える。
【００３２】
第４識別子が第３の値であるとき、アフィン動きモデルは６パラメータアフィン動きモデルであり、または、第４識別子が第４の値であるとき、アフィン動きモデルは４パラメータアフィン動きモデルである。第３の値は第４の値と異なる。
【００３３】
本願において、第４識別子は、具体的な実施形態において識別子２４と称されることに留意すべきである。
【００３４】
前述の設計において、スライスに使用されるアフィン動きモデルが６パラメータアフィン動きモデルを含み得るかどうかを示す第３識別子は更にビットストリームにおいて構成され得る。６パラメータアフィンモデルがスライスについて有効でないことを第３識別子が示すとき、スライスに含まれる画像ブロックについて、６パラメータアフィンモデルに関連するパラメータを解析する必要はなく、スライスに含まれる各画像ブロックについて、６パラメータアフィンモデルに関連するパラメータをビットストリームにおいて送信する必要もない。これにより、符号化ビデオシーケンスの長さを低減し、デコーダの負荷を低減し、処理速度を増加させ、処理時間を減少させることができる。
【００３５】
第２態様の可能な設計において、ビットストリームを解析して第３識別子を取得することは、ビットストリームにおけるスライスのスライスヘッダを解析して第３識別子を取得することを含む。
【００３６】
第２態様の可能な設計において、ビットストリームを解析して第１識別子を取得する前に、当該方法は更に、ビットストリームを解析して第５識別子を取得する段階を備える。第５識別子が第５の値であるとき、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含み、または、第５識別子が第６の値であるとき、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルは非アフィン動きモデルのみを含む。第５の値は第６の値と異なる。
【００３７】
第５識別子は具体的な実施形態において識別子１と称される。
【００３８】
いくつかのビデオ画像はアフィン特性を有さず、いくつかのビデオ画像のすべてのスライスがアフィン特性を有するわけではない。この場合、２つの識別子はビットストリームに追加され得る。第１タイプの識別子（第２態様において第５識別子と称される）が、アフィン動きモデル型インター予測モードがビデオ画像について有効であるかどうかを示すために使用され、第２タイプの識別子（第２態様において第１識別子と称される）が、アフィン動きモデル型インター予測モードがビデオ画像におけるスライスついて有効であるかどうかを示すために使用される。アフィン動きモデルを使用する必要がないスライスに含まれるビデオ画像または画像ブロックについては、アフィン動きモデルに関連する、画像ブロックのパラメータを送信する必要がないことがあり得る。デコーダ側において、画像ブロックの復号中、アフィン動きモデルに関連するパラメータを解析する必要はない。これにより、デコーダの負荷を低減し、処理速度を増加させ、処理時間を減少させることができる。
【００３９】
第２態様の可能な設計において、ビットストリームを解析して第５識別子を取得する段階は、ビットストリームのシーケンスパラメータセットを解析して第５識別子を取得する段階を含む。
【００４０】
第２態様の可能な設計において、ビットストリームを解析して第５識別子を取得した後、かつ、ビットストリームを解析して第１識別子を取得する前に、当該方法は更に、ビットストリームを解析して第６識別子を取得する段階を備える。第６識別子は、ビットストリームが第３識別子を含むことを決定するために使用される。
【００４１】
第２態様における第６識別子は、具体的な実施形態において識別子１３と称されることに留意すべきである。
【００４２】
第２態様の可能な設計において、ビットストリームを解析して第６識別子を取得する段階は、ビットストリームのシーケンスパラメータセットを解析して第６識別子を取得する段階を含む。
【００４３】
第２態様の可能な設計において、事前設定された条件は、処理対象ブロックの幅が第１事前設定閾値以上であること、および、処理対象ブロックの高さが第２事前設定閾値以上であることを含む。
【００４４】
第２態様の可能な設計において、第１事前設定閾値は第２事前設定閾値に等しい。
【００４５】
第１態様と同じ発明的概念に基づいて、第３態様によれば、本願の実施形態はビデオ画像予測装置を提供し、当該装置は、ビットストリームを解析して第１識別子を取得し、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを第１識別子が示し、かつ、処理対象ブロックが、アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすとき、ビットストリームを解析して第２識別子を取得するよう構成される解析ユニットを備える。
【００４６】
解析ユニットは更に、第２識別子に基づいて、処理対象ブロックのインター予測についての予測モードを決定するよう構成される。予測モードは、アフィン動きモデル型マージモード、アフィン動きモデル型ＡＭＶＰモード、および非アフィン動きモデル型予測モードを含む。
【００４７】
第３態様の可能な設計において、ビットストリームを解析して第１識別子を取得するとき、解析ユニットは具体的には、ビットストリームのシーケンスパラメータセットを解析して第１識別子を取得するよう構成される。
【００４８】
第３態様の可能な設計において、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを第１識別子が示すとき、解析ユニットは更に、ビットストリームを解析して第３識別子を取得するよう構成される。第３識別子が第１の値であるとき、アフィン動きモデルは４パラメータアフィンモデルのみを含む。または、第３識別子が第２の値であるとき、アフィン動きモデルは４パラメータアフィンモデルおよび６パラメータアフィンモデルを含む。第１の値は第２の値と異なる。
【００４９】
第３態様の可能な設計において、当該装置は更に、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第２の値であるとき、第１候補動きベクトルリストを構築することであって、第１候補動きベクトルリストは第１要素を含み、第１要素は、６パラメータアフィン動きモデルを構築するための３つの制御点の動き情報を含む、こと、または、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第１の値であるとき、第２候補動きベクトルリストを構築することであって、第２候補動きベクトルリストは第２要素を含み、第２要素は、４パラメータアフィン動きモデルを構築するための２つの制御点の動き情報のみを含む、ことを行うよう構成される構築ユニットを備える。
【００５０】
第３態様の可能な設計において、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第２の値であるとき、第１候補動きベクトルリストは更に第２要素を含む。
【００５１】
第３態様の可能な設計において、解析ユニットは更に、アフィン動きモデル型ＡＭＶＰモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子は第２の値であるとき、ビットストリームを解析して第４識別子を取得するよう構成される。
【００５２】
第４識別子が第３の値であるとき、アフィン動きモデルは６パラメータアフィン動きモデルであり、または、第４識別子が第４の値であるとき、アフィン動きモデルは４パラメータアフィン動きモデルである。第３の値は第４の値と異なる。
【００５３】
第３態様の可能な設計において、ビットストリームを解析して第３識別子を取得するとき、解析ユニットは具体的には、ビットストリームのシーケンスパラメータセットを解析して第３識別子を取得するよう構成される。
【００５４】
第３態様の可能な設計において、事前設定された条件は、処理対象ブロックの幅が第１事前設定閾値以上であること、および、処理対象ブロックの高さが第２事前設定閾値以上であることを含む。
【００５５】
第３態様の可能な設計において、第１事前設定閾値は第２事前設定閾値に等しい。
【００５６】
第２態様と同じ発明的概念に基づいて、第４態様によれば、本願の実施形態はビデオ画像予測装置を提供し、当該装置は、ビットストリームを解析して第１識別子を取得するよう構成される解析ユニットを備える。解析ユニットは更に、処理対象ブロックを含むスライスにおける画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを第１識別子が示し、かつ、処理対象ブロックが、アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすとき、ビットストリームを解析して第２識別子を取得し、第２識別子に基づいて、処理対象ブロックのインター予測についての予測モードを決定するよう構成される。予測モードは、アフィン動きモデル型マージモード、アフィン動きモデル型ＡＭＶＰモード、および非アフィン動きモデル型予測モードを含む。
【００５７】
第４態様の可能な設計において、ビットストリームを解析して第１識別子を取得するとき、解析ユニットは具体的には、ビットストリームにおけるスライスのスライスヘッダを解析して第１識別子を取得するよう構成される。
【００５８】
第４態様の可能な設計において、アフィン動きモデル型マージモードが、処理対象ブロックのインター予測に使用される。解析ユニットは更に、処理対象ブロックを含むスライスにおける画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを第１識別子が示すとき、ビットストリームを解析して第３識別子を取得するよう構成される。第３識別子が第１の値であるとき、アフィン動きモデルは４パラメータアフィンモデルのみを含む。または、第３識別子が第２の値であるとき、アフィン動きモデルは４パラメータアフィンモデルおよび６パラメータアフィンモデルを含む。第１の値は第２の値と異なる。
【００５９】
第４態様の可能な設計において、当該装置は更に、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第２の値であるとき、第１候補動きベクトルリストを構築することであって、第１候補動きベクトルリストは第１要素を含み、第１要素は、６パラメータアフィン動きモデルを構築するための３つの制御点の動き情報を含む、こと、または、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第１の値であるとき、第２候補動きベクトルリストを構築することであって、第２候補動きベクトルリストは第２要素を含み、第２要素は、４パラメータアフィン動きモデルを構築するための２つの制御点の動き情報のみを含む、ことを行うよう構成される構築ユニットを備える。
【００６０】
第４態様の可能な設計において、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第２の値であるとき、第１候補動きベクトルリストは更に第２要素を含む。
【００６１】
第４態様の可能な設計において、解析ユニットは更に、アフィン動きモデル型ＡＭＶＰモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子は第２の値であるとき、ビットストリームを解析して第４識別子を取得するよう構成される。第４識別子が第３の値であるとき、アフィン動きモデルは６パラメータアフィン動きモデルであり、または、第４識別子が第４の値であるとき、アフィン動きモデルは４パラメータアフィン動きモデルである。第３の値は第４の値と異なる。
【００６２】
第４態様の可能な設計において、ビットストリームを解析して第３識別子を取得するとき、解析ユニットは具体的には、ビットストリームにおけるスライスのスライスヘッダを解析して第３識別子を取得するよう構成される。
【００６３】
第４態様の可能な設計において、ビットストリームを解析して第１識別子を取得する前に、解析ユニットは更に、ビットストリームを解析して第５識別子を取得するよう構成される。第５識別子が第５の値であるとき、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含み、または、第５識別子が第６の値であるとき、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルは非アフィン動きモデルのみを含む。第５の値は第６の値と異なる。
【００６４】
第４態様の可能な設計において、ビットストリームを解析して第５識別子を取得するとき、解析ユニットは具体的には、ビットストリームのシーケンスパラメータセットを解析して第５識別子を取得するよう構成される。
【００６５】
第４態様の可能な設計において、解析ユニットは更に、ビットストリームを解析して第５識別子を取得した後、かつ、ビットストリームを解析して第１識別子を取得する前に、ビットストリームを解析して第６識別子を取得するよう構成される。第６識別子は、ビットストリームが第３識別子を含むことを決定するために使用される。
【００６６】
第４態様の可能な設計において、ビットストリームを解析して第６識別子を取得するとき、解析ユニットは具体的には、ビットストリームのシーケンスパラメータセットを解析して第６識別子を取得するよう構成される。
【００６７】
第４態様の可能な設計において、事前設定された条件は、処理対象ブロックの幅が第１事前設定閾値以上であること、および、処理対象ブロックの高さが第２事前設定閾値以上であることを含む。
【００６８】
第４態様の可能な設計において、第１事前設定閾値は第２事前設定閾値に等しい。
【００６９】
第５態様によれば、本願の実施形態は装置を提供する。当該装置はデコーダであり得、プロセッサおよびメモリを含む。メモリは、命令を格納するよう構成される。装置が動作するとき、プロセッサは、メモリに格納された命令を実行し、第１態様、第１態様の設計、第２態様、または第２態様の設計のいずれか１つにおいて提供される方法を装置が実行することを可能にする。メモリはプロセッサに統合され得る、または、プロセッサとは別個であり得ることに留意すべきである。
【００７０】
第６態様によれば、本願の実施形態は、ビデオ画像予測方法を提供する。当該方法はエンコーダ側に適用され、第１識別子をビットストリームに符号化する段階と、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを第１識別子が示し、かつ、処理対象ブロックが、アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすとき、第２識別子をビットストリームに符号化する段階であって、第２識別子は、処理対象ブロックのインター予測についての予測モードを決定するために使用される、段階とを備える。予測モードは、アフィン動きモデル型マージモード、アフィン動きモデル型高度動きベクトル予測ＡＭＶＰモード、および非アフィン動きモデル型予測モードを含む。
【００７１】
第６態様の可能な設計において、第１識別子をビットストリームに符号化することは、第１識別子をビットストリームのシーケンスパラメータセットに符号化する方式で実装され得る。
【００７２】
第６態様の可能な設計において、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを第１識別子が示すとき、当該方法は更に、第３識別子をビットストリームに符号化する段階を備える。第３識別子が第１の値であるとき、アフィン動きモデルは４パラメータアフィンモデルのみを含む。または、第３識別子が第２の値であるとき、アフィン動きモデルは４パラメータアフィンモデルおよび６パラメータアフィンモデルを含む。第１の値は第２の値と異なる。
【００７３】
第６態様の可能な設計において、当該方法は更に、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第２の値であるとき、第１候補動きベクトルリストを構築する段階であって、第１候補動きベクトルリストは第１要素を含み、第１要素は、６パラメータアフィン動きモデルを構築するための３つの制御点の動き情報を含む、段階、または、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第１の値であるとき、第２候補動きベクトルリストを構築する段階であって、第２候補動きベクトルリストは第２要素を含み、第２要素は、４パラメータアフィン動きモデルを構築するための２つの制御点の動き情報のみを含む、段階を備える。
【００７４】
前述の設計において、第３識別子および第２識別子は、候補動きベクトルリストの構築を示すために使用される。
【００７５】
第６態様の可能な設計において、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、第３識別子が第２の値であるとき、第１候補動きベクトルリストは更に第２要素を含む。
【００７６】
第６態様の可能な設計において、当該方法は更に、アフィン動きモデル型ＡＭＶＰモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第２の値であるとき、第４識別子をビットストリームに符号化する段階を備える。第４識別子が第３の値であるとき、アフィン動きモデルは６パラメータアフィン動きモデルであり、または、第４識別子が第４の値であるとき、アフィン動きモデルは４パラメータアフィン動きモデルである。第３の値は第４の値と異なる。
【００７７】
具体的な実施形態において、第４識別子は識別子１４と称される。
【００７８】
第６態様の可能な設計において、第３識別子をビットストリームに符号化することは、第３識別子をビットストリームのシーケンスパラメータセットに符号化することを含む。
【００７９】
第７態様によれば、本願の実施形態はビデオ画像予測方法を提供する。当該方法はエンコーダ側に適用され、第１識別子をビットストリームに符号化する段階と、処理対象ブロックを含むスライスにおける画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを第１識別子が示し、かつ、処理対象ブロックが、アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすとき、第２識別子をビットストリームに符号化する段階であって、第２識別子は、処理対象ブロックのインター予測について予測モードを決定するために使用され、予測モードは、アフィン動きモデル型マージモード、アフィン動きモデル型高度動きベクトル予測ＡＭＶＰモード、および非アフィン動きモデル型予測モードを含む、段階とを備える。
【００８０】
第７態様の可能な設計において、第１識別子をビットストリームに符号化することは、第１識別子をビットストリームのスライスのスライスヘッダに符号化することを含む。
【００８１】
第７態様の可能な設計において、処理対象ブロックを含むスライスにおける画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを第１識別子が示すとき、当該方法は更に、第３識別子をビットストリームに符号化する段階を備える。第３識別子が第１の値であるとき、アフィン動きモデルは４パラメータアフィンモデルのみを含む。または、第３識別子が第２の値であるとき、アフィン動きモデルは４パラメータアフィンモデルおよび６パラメータアフィンモデルを含む。第１の値は第２の値と異なる。
【００８２】
第７態様の可能な設計において、当該方法は、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第２の値であるとき、第１候補動きベクトルリストを構築する段階であって、第１候補動きベクトルリストは第１要素を含み、第１要素は、６パラメータアフィン動きモデルを構築するための３つの制御点の動き情報を含む、段階、または、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第１の値であるとき、第２候補動きベクトルリストを構築する段階であって、第２候補動きベクトルリストは第２要素を含み、第２要素は、４パラメータアフィン動きモデルを構築するための２つの制御点の動き情報のみを含む、段階を更に備える。
【００８３】
第７態様の可能な設計において、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、第３識別子が第２の値であるとき、第１候補動きベクトルリストは更に第２要素を含む。
【００８４】
第７態様の可能な設計において、当該方法は更に、アフィン動きモデル型ＡＭＶＰモードが処理対象ブロックのインター予測に使用されることを第２識別子が示し、かつ、第３識別子が第２の値であるとき、第４識別子をビットストリームに符号化する段階を備える。
【００８５】
第４識別子が第３の値であるとき、アフィン動きモデルは６パラメータアフィン動きモデルであり、または、第４識別子が第４の値であるとき、アフィン動きモデルは４パラメータアフィン動きモデルである。第３の値は第４の値と異なる。
【００８６】
第７態様の可能な設計において、第３識別子をビットストリームに符号化することは、第３識別子をビットストリームのスライスのスライスヘッダに符号化することを含む。
【００８７】
第７態様の可能な設計において、第１識別子をビットストリームに符号化する前に、当該方法は更に、第５識別子をビットストリームに符号化する段階を備える。第５識別子が第５の値であるとき、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含み、または、第５識別子が第６の値であるとき、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルは非アフィン動きモデルのみを含む。第５の値は第６の値と異なる。
【００８８】
第７態様の可能な設計において、第５識別子をビットストリームに符号化することは、第５識別子をビットストリームのシーケンスパラメータセットに符号化することを含む。
【００８９】
第７態様の可能な設計において、第５識別子をビットストリームに符号化した後、かつ、ビットストリームにおける第１識別子を符号化した前に、方法は更に、第６識別子をビットストリームに符号化する段階を備える。第６識別子は、ビットストリームが第３識別子を含むと決定するために使用される。
【００９０】
第７態様における第６識別子は、具体的な実施形態において識別子１３と称されることに留意すべきである。
【００９１】
第７態様の可能な設計において、第６識別子をビットストリームに符号化することは、第６識別子をビットストリームのシーケンスパラメータセットに符号化することを含む。
【００９２】
第８態様によれば、本願の実施形態は装置を提供する。当該装置はエンコーダであり得、プロセッサおよびメモリを含む。メモリは命令を格納するよう構成される。装置が動作するとき、プロセッサはメモリに格納された命令を実行し、第３態様、第３態様の設計、第４態様、または第４態様の設計のいずれか１つにおいて提供される方法を装置が実行することを可能にする。メモリはプロセッサに統合され得る、または、プロセッサとは別個であり得ることに留意すべきである。
【００９３】
第９態様によれば、本願はコンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は命令を格納し、命令がコンピュータ上で実行されるとき、前述の態様の各々において説明される方法をコンピュータが実行することを可能にする。
【００９４】
第１０態様によれば、本願は命令を含むコンピュータプログラム製品を提供する。コンピュータプログラム製品がコンピュータ上で動作するとき、コンピュータは、前述の態様の各々において説明される方法を実行することが可能である。
【００９５】
本願の第３から第１０態様の技術的解決手段は、本願の第１態様および第２態様の技術的解決手段と一貫し、態様および対応する実装可能な設計によって達成される有利な効果は同様であることを理解すべきである。ここでは詳細を再び説明しない。
【図面の簡単な説明】
【００９６】
【図１】本願の実施形態において説明される実装におけるビデオ符号化および復号システムのブロック図である。
【００９７】
【図２Ａ】本願の実施形態において説明される実装におけるビデオエンコーダのブロック図である。
【００９８】
【図２Ｂ】本願の実施形態において説明される実装におけるインター予測の概略図である。
【００９９】
【図２Ｃ】本願の実施形態において説明される実装におけるビデオデコーダのブロック図である。
【０１００】
【図３】本願の実施形態において説明される実装における動き情報の候補の位置の概略図である。
【０１０１】
【図４】本願の実施形態において説明される実装における、継承された制御点動きベクトルの予測の概略図である。
【０１０２】
【図５Ａ】本願の実施形態において説明される実装における、構築された制御点動きベクトルの予測の概略図である。
【０１０３】
【図５Ｂ】本願の実施形態において説明される実装における、構築された制御点動き情報を取得するために制御点動き情報を組み合わせることの概略フローチャートである。
【０１０４】
【図６Ａ】本願の実施形態において説明される実装におけるインター予測方法のフローチャートである。
【０１０５】
【図６Ｂ】本願の実施形態において説明される実装における、候補動きベクトルリストを構築することの概略図である。
【０１０６】
【図６Ｃ】本願の実施形態において説明される実装における動き補償ユニットの概略図である。
【０１０７】
【図７】本願の実施形態によるビデオ画像予測方法の概略フローチャートである。
【０１０８】
【図８】本願の実施形態によるインター予測方法の概略フローチャートである。
【０１０９】
【図９】本願の実施形態による別のビデオ画像予測方法の概略フローチャートである。
【０１１０】
【図１０】本願の実施形態によるインター予測方法の概略フローチャートである。
【０１１１】
【図１１】本願の実施形態による更に別のビデオ画像予測方法の概略フローチャートである。
【０１１２】
【図１２】本願の実施形態による装置１２００の概略図である。
【０１１３】
【図１３】本願の実施形態による装置１３００の概略図である。
【０１１４】
【図１４】本願の実施形態による装置１４００の概略図である。
【発明を実施するための形態】
【０１１５】
本願の実施形態において提供されるビデオ画像予測の解決手段は、ビデオ画像の符号化または復号に適用され得る。図１は、本願の実施形態によるビデオ符号化および復号システム１０の概略ブロック図である。図１に示すように、システム１０は発信元装置１１および宛先装置１２を含む。発信元装置１１は、符号化ビデオデータを生成して、符号化ビデオデータを宛先装置１２へ送信する。宛先装置１２は、符号化ビデオデータを受信して、符号化ビデオデータを復号し、復号されたビデオデータを表示するよう構成される。発信元装置１１および宛先装置１２は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、スマートフォンなどの携帯電話、スマートタッチパネル、テレビセット、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミング伝送装置などを含む様々な装置のいずれか１つを含み得る。
【０１１６】
本願の実施形態において提供される画像ブロックのイントラモードを予測するための解決手段がビデオ画像符号化または復号に適用され得る。 
【０１１７】
宛先装置１２は、リンク１６を通じて、復号対象の符号化ビデオデータを受信し得る。リンク１６は、符号化ビデオデータを発信元装置１１から宛先装置１２へ転送できる任意のタイプの媒体または装置を含み得る。可能な実装において、リンク１６は、リアルタイムで発信元装置１１が符号化ビデオデータを宛先装置１２へ直接送信することを可能にする通信媒体を含み得る。符号化ビデオデータは、通信規格（例えば無線通信プロトコル）に従って変調され得、変調された符号化ビデオデータは宛先装置１２へ送信される。通信媒体は、任意の無線または有線通信媒体、例えば、無線周波数スペクトル、または、１または複数の物理的送信回線を含み得る。通信媒体は、パケットベースのネットワーク（例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのグローバルネットワーク）の一部であってよい。通信媒体は、ルータ、スイッチ、基地局、または、発信元装置１１と宛先装置１２との間の通信を容易にするよう構成される任意の他のデバイスを含み得る。
【０１１８】
代替的に、ビデオ符号化および復号システム１０は更に記憶装置を含む。符号化されたデータは、出力インタフェース１４を通じて記憶装置へ出力され得る。同様に、符号化されたデータは、入力インタフェース１５を通じて記憶装置からアクセスされ得る。記憶装置は、様々な分散またはローカルアクセスデータ記憶媒体、例えば、ハードディスクドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または非揮発性メモリ、または、符号化ビデオデータを格納するために使用される任意の他の適切なデジタル記憶媒体のいずれか１つを含み得る。別の実現可能な実装において、記憶装置は、発信元装置１１によって生成される符号化されたビデオを維持できるファイルサーバまたは別の中間記憶装置に対応し得る。宛先装置１２は、ストリーミング伝送またはダウンロードを通じて、記憶装置に格納されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを格納して符号化ビデオデータを宛先装置１２へ送信できる任意のタイプのサーバであり得る。実現可能な実装において、ファイルサーバは、ウェブサイトサーバ、ファイル転送プロトコルサーバ、ネットワーク接続記憶装置、またはローカルディスクドライブを含む。宛先装置１２は、インターネット接続を含む任意の標準データ接続を通じて符号化ビデオデータにアクセスし得る。データ接続は、無線チャネル（例えば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（例えばケーブルモデム）、またはそれらの組み合わせを含み得る。無線チャネルまたは有線接続は、ファイルサーバに格納された符号化ビデオデータにアクセスするのに好適である。記憶装置からの符号化ビデオデータの伝送は、ストリーミング伝送、ダウンロード伝送、または、それらの組み合わせであり得る。
【０１１９】
本願の技術は、無線用途または設定に必ずしも限定されない。当該技術は、様々なマルチメディア用途、例えば、電波テレビ放送、ケーブルテレビ伝送、衛星テレビ伝送、ストリーミングビデオ伝送（例えばインターネットを通じた）、データ記憶媒体に格納するためのデジタルビデオ符号化、データ記憶媒体に格納されたデジタルビデオの復号、または、別の用途のいずれか１つをサポートするために、ビデオ復号に適用され得る。いくつかの可能な実装において、システム１０は、ストリーミングビデオ伝送、ビデオ再生、ビデオブロードキャスト、および／またはビデオ通話などの用途をサポートするよう単方向または双方向のビデオ伝送をサポートするよう構成されてよい。
【０１２０】
図１の可能な実装において、発信元装置１１は、ビデオソース１３、ビデオエンコーダ２０、および出力インタフェース１４を含み得る。いくつかの用途において、出力インタフェース１４は、モジュレータ／デモジュレータ（モデム）および／または送受信機を含み得る。発信元装置１１において、ビデオソース１３は例えば、以下の発信元デバイス、すなわち、ビデオキャプチャ装置（例えばカメラ）、過去にキャプチャされたビデオを含むアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインインタフェース、および／または、ソースビデオとしてのコンピュータグラフィックデータを生成するために使用されるコンピュータグラフィックシステム、またはそれらの組み合わせを含み得る。可能な実装において、ビデオソース１３がカメラである場合、発信元装置１１および宛先装置１２は、カメラ電話またはビデオ電話を構成し得る。例えば、本願において説明される技術は、例えばビデオ復号に適用され得、無線および／または有線の用途に適用され得る。
【０１２１】
ビデオエンコーダ２０は、生成されたビデオを符号化、キャプチャ、プリキャプチャ、または計算し得る。符号化ビデオデータは、発信元装置１１の出力インタフェース１４を通じて、宛先装置１２へ直接送信され得る。符号化ビデオデータはまた（または代替的に）、宛先装置１２が後にアクセスするために、記憶装置に格納され得る、または、復号および／または再生のために、別の装置に格納され得る。
【０１２２】
宛先装置１２は、入力インタフェース１５、ビデオデコーダ３０、および表示装置１７を含む。いくつかの用途において、入力インタフェース１５は、受信機および／またはモデムを含み得る。宛先装置１２の入力インタフェース１５は、リンク１６を通じて符号化ビデオデータを受信する。リンク１６を通じて記憶装置へ送信または提供される符号化ビデオデータは、ビデオデコーダ３０によってビデオデータを復号するために、ビデオエンコーダ２０によって生成された様々なシンタックス要素を含み得る。これらのシンタックス要素は、通信媒体で送信されて記憶媒体またはファイルサーバに格納された符号化ビデオデータと共に含まれ得る。
【０１２３】
表示装置１７は、宛先装置１２に統合され得る、または、宛先装置１２の外部に位置し得る。いくつかの可能な実装において、宛先装置１２は、統合された表示装置を含み得、また、外部表示装置のインタフェースに接続するよう構成され得る。別の可能な実装において、宛先装置１２は表示装置であり得る。概して、表示装置１７は、復号されたビデオデータをユーザに表示し、例えば、液晶ディスプレイ、プラズマディスプレイ、有機発光ダイオードディスプレイ、または、別のタイプの表示装置など、任意の様々な表示装置を含み得る。
【０１２４】
ビデオエンコーダ２０およびビデオデコーダ３０は、例えば、現在開発されている次世代ビデオ符号化圧縮規格（Ｈ．２６６）に従って動作し得、Ｈ．２６６テストモデル（ＪＥＭ）に適合し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、例えば、ＩＴＵ−Ｔ  Ｈ．２６５規格またはＩＴＵ−Ｔ  Ｈ．２６４規格またはその拡張版（ＩＴＵ−Ｔ  Ｈ．２６５規格は、高効率ビデオ符号化規格とも称され、ＩＴＵ−Ｔ  Ｈ．２６４規格は、ＭＰＥＧ‐４パート１０とも称される）、またはアドバンストビデオ符号化（ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ、ＡＶＣ）など他の専用または工業規格に従って動作し得る。しかしながら、本願における技術は、任意の特定の復号規格に限定されない。ビデオ圧縮規格の他の可能な実装はＭＰＥＧ‐２およびＩＴＵ−ＴＨ．２６３を含む。
【０１２５】
図１には示されないが、いくつかの態様において、ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、オーディオエンコーダおよびオーディオデコーダと統合され得、共通のデータストリームまたは別個のデータストリームにおけるオーディオおよびビデオの両方を符号化するために適切なマルチプレクサ‐デマルチプレクサ（ＭＵＸ−ＤＥＭＵＸ）ユニットまたは他のハードウェアおよびソフトウェアを含み得る。該当する場合、いくつかの実現可能な実装において、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、または、ユーザデータグラムプロトコル（ＵＤＰ）など他のプロトコルに適合し得る。
【０１２６】
ビデオエンコーダ２０およびビデオデコーダ３０は、例えば、１または複数のマイクロプロセッサ、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ、ＤＳＰ）、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ、ＦＰＧＡ）、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、または、それらの任意の組み合わせなど、様々な適切なエンコーダ回路のいずれか１つとして別個に実装され得る。当該技術のいくつかがソフトウェアとして実装されるとき、装置はソフトウェアのための命令を適切な非一時的コンピュータ可読媒体に格納し、１または複数のプロセッサを使用することによってハードウェアの形態で命令を実行し、本願の技術を実装し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１または複数のエンコーダまたはデコーダに含まれ得、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかは、対応する装置における組み合わされたエンコーダ／デコーダ（ＣＯＤＥＣ）の一部として統合され得る。
【０１２７】
ＪＣＴ‐ＶＣは、Ｈ．２６５（ＨＥＶＣ）規格を開発した。ＨＥＶＣ規格化は、ビデオ復号装置の発展モデルに基づき、当該モデルは、ＨＥＶＣテストモデル（ＨＭ）と称される。最新のＨ．２６５規格文書がｈｔｔｐ：／／ｗｗｗ．ｉｔｕ．ｉｎｔ／ｒｅｃ／Ｔ−ＲＥＣ−Ｈ．２６５において入手可能である。規格文書の最新版はＨ．２６５（１２／１６）であり、当該規格文書は全体として参照によって本明細書に組み込まれる。ＨＭにおいて、ビデオ復号装置は、ＩＴＵ‐ＴＨ．２６４／ＡＶＣの既存のアルゴリズムに対する複数の追加的な機能を有すると想定されている。
【０１２８】
ＪＶＥＴはＨ．２６６規格の開発に専心している。Ｈ．２６６規格化プロセスは、ビデオ復号装置の発展モデルに基づき、当該モデルは、Ｈ．２６６テストモデルと称される。Ｈ．２６６アルゴリズムの説明は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｖｅｔで入手可能である。最新のアルゴリズムの説明はＪＶＥＴ−Ｆ１００１−ｖ２に含まれる。アルゴリズムの説明の文書は、全体として参照によって本明細書に組み込まれる。加えて、ＪＥＭテストモデルの参照ソフトウェアがｈｔｔｐｓ：／／ｊｖｅｔ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿ＨＭＪＥＭＳｏｆｔｗａｒｅで入手可能であり、また、全体として参照によって本明細書に組み込まれる。
【０１２９】
概して、ＨＭワーキングモデルの説明において、ビデオフレームまたは画像は、ルマおよびクロマサンプルの両方を含むツリーブロックのシーケンス、または最大符号化単位（ｌａｒｇｅｓｔ  ｃｏｄｉｎｇ  ｕｎｉｔ、ＬＣＵ）のシーケンスに分割され得、ＬＣＵはＣＴＵとも称される。ツリーブロックは、Ｈ．２６４規格におけるマクロブロックと同様の機能を有する。スライスは、復号の順序で複数の連続するツリーブロックを含む。ビデオフレームまたは画像は、１または複数のスライスに区分され得る。各ツリーブロックは、四分木に基づいて符号化単位に分割できる。例えば、四分木のルートノードとして機能するツリーブロックは、４つの子ノードに分割され得、各子ノードは親ノードとしても機能し得、４つの他の子ノードに分割される。四分木の葉ノードとして機能する最終的な非分割可能子ノードは、復号ノード、例えば、復号画像ブロックを含む。復号ビットストリームに関連する構文データにおいて、ツリーブロックの分割の最大数および復号ノードの最小サイズが定義され得る。
【０１３０】
符号化単位は、復号ノード、予測単位（ｐｒｅｄｉｃｔｉｏｎ  ｕｎｉｔ、ＰＵ）、および復号ノードに関連する変換単位（ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ、ＴＵ）を含む。ＣＵのサイズは、復号ノードのサイズに対応し、ＣＵの形状は正方形である必要がある。ＣＵのサイズは、８×８画素から最大６４×６４画素の範囲であり得る、または、より大きいツリーブロックサイズであり得る。各ＣＵは１または複数のＰＵおよび１または複数のＴＵを含み得る。例えば、ＣＵに関連する構文データは、ＣＵを１または複数のＰＵに区分することを記述し得る。ＣＵがスキップモード、ダイレクトモード、イントラ予測モードまたはインター予測モードで符号化される場合、異なる区分モードが使用され得る。区分を通じて取得されるＰＵは非正方形形状であり得る。例えば、ＣＵに関連する構文データはまた、四分木に基づいてＣＵを１または複数のＴＵに区分することを記述し得る。ＴＵは正方形または非正方形形状であり得る。
【０１３１】
ＨＥＶＣ規格により、ＴＵに基づく変換が可能となる。異なるＣＵは異なるＴＵを含み得る。ＴＵのサイズは通常、区分されたＬＣＵについて定義される所与のＣＵ内のＰＵのサイズに基づき設定される。しかしながら、場合によっては常にこのようでなくてよい。ＴＵのサイズは通常、ＰＵのサイズと同一であるか、またはより小さい。いくつかの実現可能な実装において、「残差四分木（ｒｅｓｉｄｕａｌ  ｑｕａｄｔｒｅｅ、ＲＱＴ）」と称される四分木構造が、ＣＵに対応する残差サンプルをより小さい単位に分割するために使用され得る。ＲＱＴの葉ノードはＴＵと称され得る。変換係数を生成するために、ＴＵに関連する画素差分が変換され得、変換係数は量子化され得る。
【０１３２】
概して、ＰＵは予測処理に関連するデータを含む。例えば、ＰＵがイントラモードで符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の実現可能な実装において、ＰＵがインターモードで符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。例えば、ＰＵの動きベクトルを定義するデータは、動きベクトルの水平成分、動きベクトルの鉛直成分、動きベクトルの解像度（例えば、１／４画素精度、または１／８画素精度）、動きベクトルが指す参照画像、および／または、動きベクトルの参照画像リスト（例えばリスト０、リスト１、またはリストＣ）を記述し得る。
【０１３３】
概して、変換および量子化処理がＴＵに使用される。１または複数のＰＵを含む所与のＣＵはまた、１または複数のＴＵを含み得る。予測後、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算し得る。残差値は画素差分を含む。画素差分は、変換係数に変換され得、変換係数は量子化され、ＴＵを使用することによって走査され、エントロピー復号のためのシリアル化された変換係数を生成する。本願において、「画像ブロック」という用語は通常、ＣＵの復号ノードを表すために使用される。いくつかの特定の用途では、本願において、「画像ブロック」という用語はまた、復号ノード、ＰＵ、およびＴＵ、例えば、ＬＣＵまたはＣＵを含むツリーブロックを表すために使用され得る。
【０１３４】
ビデオエンコーダ２０はビデオデータを符号化する。ビデオデータは１または複数の画像を含み得る。ビデオエンコーダ２０はビットストリームを生成し得、ビットストリームはビットストリームの形式でビデオデータの符号化された情報を含む。符号化された情報は、符号化された画像データおよび関連データを含み得る。関連データは、シーケンスパラメータセット（ｓｅｑｕｅｎｃｅ  ｐａｒａｍａｔｅｒ  ｓｅｔ、ＳＰＳ）、画像パラメータセット（ｐｉｃｔｕｒｅ  ｐａｒａｍｅｔｅｒ  ｓｅｔ、ＰＰＳ）、および別のシンタックス構造を含み得る。ＳＰＳは、ゼロまたは複数のシーケンスに適用されるパラメータを含み得る。ＳＰＳは、符号化ビデオシーケンス（ｃｏｄｅｄ  ｖｉｄｅｏ  ｓｅｑｕｅｎｃｅ、ＣＶＳ）の一般的な特徴の上位層パラメータを記述し、シーケンスパラメータセットＳＰＳは、ＣＶＳにおけるすべてのスライス（ｓｌｉｃｅ）が必要とする情報を含む。ＰＰＳは、ゼロまたは複数の画像に適用されるパラメータを含み得る。シンタックス構造は、指定された順序でビットストリームに配置されるゼロまたは複数のシンタックス要素のセットである。
【０１３５】
実現可能な実装において、ＨＭは様々なＰＵサイズについての予測をサポートする。特定のＣＵのサイズは２Ｎ×２Ｎであると想定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズについてのイントラ予測、および、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称ＰＵサイズについてのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズのインター予測についての非対称的区分をサポートする。非対称的区分において、ＣＵはある方向に区分されず、別の方向に２つの部分に区分され、１つの部分はＣＵの２５％を占め、他の部分はＣＵの７５％を占める。ＣＵの２５％を占める部分は、「Ｕ（Ｕｐ）」、「Ｄ（Ｄｏｗｎ）」、「Ｌ（Ｌｅｆｔ）」または「Ｒ（Ｒｉｇｈｔ）」が後に続く「ｎ」を含むインジケータによって示される。したがって、例えば、「２Ｎ×ｎＵ」は、上に２Ｎ×０．５Ｎ  ＰＵおよび下に２Ｎ×１．５Ｎ  ＰＵを有する、水平に区分された２Ｎ×２ＮのＣＵを指す。
【０１３６】
本願において、「Ｎ×Ｎ」および「Ｎ  ｂｙ  Ｎ」は、鉛直次元および水平次元における画像ブロックの画素サイズを示すために交換可能に使用され得る。例えば、１６×１６画素、または、１６  ｂｙ  １６画素である。通常、１６×１６ブロックは、鉛直方向に１６画素を有し（ｙ＝１６）、水平方向に１６画素を有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは通常、鉛直方向にＮ画素、水平方向にＮ画素を有し、Ｎは負でない整数値である。ブロックにおける画素は、行および列に配置され得る。加えて、ブロックにおいて、水平方向における画素の数および鉛直方向における画素の数は必ずしも同一でないことがあり得る。例えば、ブロックはＮ×Ｍ画素を含み得、Ｍは必ずしもＮに等しくない。
【０１３７】
イントラまたはインター予測モードでＣＵにおけるＰＵを復号した後に、ビデオエンコーダ２０は、ＣＵにおけるＴＵの残差データを計算し得る。ＰＵは、（画素領域とも称される）空間ドメインにおける画素データを含み得、ＴＵは、残差ビデオデータに変換（例えば、離散余弦変換（ｄｉｓｃｒｅｔｅ  ｃｏｓｉｎｅ  ｔｒａｎｓｆｏｒｍ、ＤＣＴ）、整数変換、ウェーブレット変換、または他の概念的に同様の変換）が適用された後に取得される変換ドメインにおける係数を含み得る。残差データは、未符号化画像の画素と、ＰＵに対応する予測値との間の画素差分に対応し得る。ビデオエンコーダ２０は、ＣＵの残差データを含むＴＵを生成し、次に、ＴＵを変換してＣＵの変換係数を生成し得る。
【０１３８】
ＪＥＭモデルは、ビデオ画像符号化構造を更に改善する。具体的には、「四分木＋二分木」（ＱＴＢＴ）構造と称されるブロック符号化構造が導入される。ＱＴＢＴ構造は、ＨＥＶＣにおけるＣＵ、ＰＵ、およびＴＵなどの概念を使用することなく、よりフレキシブルなＣＵ分割形状をサポートする。ＣＵは正方形形状または長方形形状であり得る。最初に四分木区分がＣＴＵに対して実行され、二分木区分が四分木の葉ノードに対して更に実行される。加えて、２つの二分木区分モード、すなわち対称水平区分および対称鉛直区分がある。二分木の葉ノードはＣＵと称される。ＪＥＭモデルにおけるＣＵは、予測処理においても、変換処理においても更に分割されない。言い換えれば、ＪＥＭモデルにおけるＣＵ、ＰＵ、およびＴＵは、同一のブロックサイズを有する。既存のＪＥＭモデルにおいて、最大ＣＴＵサイズは２５６×２５６ルマ画素である。
【０１３９】
図２Ａは、本願の実施形態によるビデオエンコーダ２０の概略ブロック図である。
【０１４０】
図２Ａに示されるように、ビデオエンコーダ２０は、予測モジュール２１、加算器２２、変換モジュール２３、量子化モジュール２４およびエントロピー符号化モジュール２５を含み得る。例において、予測モジュール２１は、インター予測モジュール２１１およびイントラ予測モジュール２１２を含み得る。予測モジュール２１の内部構造は本願の本実施形態に限定されない。任意選択で、ハイブリッドアーキテクチャを有するビデオエンコーダ２０は、逆量子化モジュール２６、逆変換モジュール２７、および加算器２８も含み得る。
【０１４１】
図２Ａの実現可能な実装において、ビデオエンコーダ２０は更にストレージモジュール２９を含み得る。ストレージモジュール２９は代替的に、ビデオエンコーダ２０の外部に配置され得ることが理解されるべきである。
【０１４２】
別の実現可能な実装において、ビデオエンコーダ２０は更に、画像ブロックの境界をフィルタリングするためのフィルタ（図２Ａには示されない）を含み得る。これにより、再構築されたビデオ画像からアーチファクトを除去する。必要な場合、フィルタは通常、加算器２８からの出力をフィルタリングする。
【０１４３】
任意選択で、ビデオエンコーダ２０は更に、区分ユニット（図２Ａには示されない）を含み得る。ビデオエンコーダ２０はビデオデータを受信し、区分ユニットはビデオデータを画像ブロックに区分する。そのような区分は、スライス、画像ブロック、または、他のより大きい単位への区分、および、（例えば）ＬＣＵおよびＣＵの四分木構造に基づいて実行される画像ブロックへの区分を更に含み得る。ビデオエンコーダ２０は例えば、符号化対象のビデオスライスにおける画像ブロックを符号化するためのコンポーネントを記述する。スライスは通常、複数の画像ブロックに分割され得る（そして画像ブロックのセットに分割され得る）。スライスタイプは、Ｉ（主にイントラ画像符号化に使用される）、Ｐ（インター前方向参照予測画像符号化に使用される）、およびＢ（インター双方向参照予測画像符号化に使用される）を含む。
【０１４４】
予測モジュール２１は、現在処理される必要がある画像ブロックに対してイントラまたはインター予測を実行し、現在のブロックの予測値（本願において予測情報と称され得る）を取得するよう構成される。本願の本実施形態において、現在処理される必要がある画像ブロックは、略して処理対象ブロックであり得、略して現在の画像ブロックであり得、または、略して現在のブロックであり得る。代替的に、符号化フェーズにおいて現在処理される必要がある画像ブロックは、略して現在の符号化ブロック（符号化ブロック）と称され得、復号フェーズにおいて現在処理される必要がある画像ブロックは、現在の符号化ブロック（復号ブロック）と称され得る。
【０１４５】
具体的には、予測モジュール２１に含まれるインター予測モジュール２１１は、現在のブロックに対してインター予測を実行して、インター予測値を取得する。イントラ予測モジュール２１２は、現在のブロックに対してイントラ予測を実行してイントラ予測値を取得する。インター予測モジュール２１１は、再構築された画像において、現在の画像における現在のブロックのために、マッチする参照ブロックを検索し、参照ブロックにおけるサンプルのサンプル値を現在のブロックにおけるサンプルのサンプル値の予測情報または予測値として使用し（以下では情報と値を区別しない）（この処理は、動き推定（Ｍｏｔｉｏｎ  ｅｓｔｉｍａｔｉｏｎ、ＭＥ）（図２Ｂに示される）と称される）、現在のブロックの動き情報を送信する。
【０１４６】
画像ブロックの動き情報は、予測方向のインジケーション情報（通常、前方予測、後方予測、または双方向予測）、参照ブロックが指す１または２つの動きベクトル（Ｍｏｔｉｏｎ  ｖｅｃｔｏｒ、ＭＶ）、および参照ブロックが位置する画像のインジケーション情報（参照画像インデックスＲｅｆｅｒｅｎｃｅ  ｉｎｄｅｘとして表されることが多い）を含むことに留意すべきである。
【０１４７】
前方予測とは、前方参照画像セットから参照画像を選択して、現在のブロックの参照ブロックを取得することを意味する。後方予測とは、後方参照画像セットから参照画像を選択して、現在のブロックの参照ブロックを取得することを意味する。双方向予測とは、前方参照画像セットから参照画像を、後方参照画像セットから参照画像を選択して、参照ブロックを取得することを意味する。双方向予測方法が使用されるとき、現在のブロックについて２つの参照ブロックがある。各参照ブロックは、動きベクトルおよび参照画像インデックスを使用することによって示される必要があり、次に、現在のブロックにおけるサンプルのサンプル値の予測値が、２つの参照ブロックにおけるサンプルの画素値に基づいて決定される。
【０１４８】
動き推定処理において、現在のブロックのために、参照画像における複数の参照ブロックを試す必要があり、最後に、どの１または複数の特定の参照ブロックが予測に使用されるかが、レート歪み最適化（Ｒａｔｅ−ｄｉｓｔｏｒｔｉｏｎ  ｏｐｔｉｍｉｚａｔｉｏｎ、ＲＤＯ）を通じて、または、別の方法を使用することによって決定される。
【０１４９】
予測モジュール２１がインター予測またはイントラ予測を通じて現在のブロックの予測値を生成した後に、ビデオエンコーダ２０は、予測値を現在のブロックから減算し、残差情報を生成する。変換モジュール２３は残差情報を変換するよう構成される。変換モジュール２３は、離散余弦変換（ｄｉｓｃｒｅｔｅ  ｃｏｓｉｎｅ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ、ＤＣＴ）などの変換、または、概念的に同様の変換（例えば離散正弦変換ＤＳＴ）を適用して、残差情報を残差変換係数に変換する。変換モジュール２３は、取得された残差変換係数を量子化モジュール２４へ送信し得る。量子化モジュール２４は残差変換係数を量子化してコードレートを更に低減する。いくつかの実現可能な実装において、量子化モジュール２４は、量子化された変換係数を含む行列の走査を継続し得る。代替的に、エントロピー符号化モジュール２５が走査を実行し得る。
【０１５０】
量子化後、エントロピー符号化モジュール２５は、量子化された残差変換係数に対してエントロピー符号化を実行し、ビットストリームを取得し得る。例えば、エントロピー符号化モジュール２５は、コンテキスト適応型変数長さ復号（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術復号（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術復号（ＳＢＡＣ）、確率区間区分エントロピー（ＰＩＰＥ）復号、または別のエントロピー符号化法もしくは技術を実行し得る。エントロピー符号化モジュール２５がエントロピー符号化を実行した後に、符号化ビットストリームがビデオデコーダ３０へ送信され得る、または、将来の送信もしくはビデオデコーダ３０による検索のためにアーカイブされ得る。
【０１５１】
逆量子化モジュール２６および逆変換モジュール２７は、それぞれ逆量子化および逆変換を実行し、画素領域における残差ブロックを参照画像における参照ブロックとして再構築する。加算器２８は、再構築を通じて取得された残差情報と、予測モジュール２１によって生成された予測値とを加算して再構築ブロックを生成し、再構築ブロックを参照ブロックとして使用してストレージモジュール２９に格納する。参照ブロックは、後続のビデオフレームまたは画像におけるブロックに対してインターまたはイントラ予測を実行するために予測モジュール２１によって使用され得る。
【０１５２】
ビデオエンコーダ２０の別の構造的変形がビデオストリームを符号化するために使用できることが理解されるべきである。例えば、いくつかの画像ブロックまたは画像フレームについて、ビデオエンコーダ２０は、変換モジュール２３による処理または逆変換モジュール２７による処理無しで残差情報を直接量子化し得る。代替的に、いくつかの画像ブロックまたは画像フレームについて、ビデオエンコーダ２０は、残差情報を生成せず、それに対応して、変換モジュール２３、量子化モジュール２４、逆量子化モジュール２６、および逆変換モジュール２７による処理は必要とされない。代替的に、ビデオエンコーダ２０は、フィルタユニットによる処理無しで、再構築された画像ブロックを参照ブロックとして直接格納し得る。代替的に、ビデオエンコーダ２０における量子化モジュール２４および逆量子化モジュール２６は共に組み合わされ得る。代替的に、ビデオエンコーダ２０における変換モジュール２３および逆変換モジュール２７は共に組み合わされ得る。代替的に、加算器２２および加算器２８は共に組み合わされ得る。
【０１５３】
図２Ｃは本願の実施形態によるビデオデコーダ３０の概略ブロック図である。
【０１５４】
図２Ｃに示されるように、ビデオデコーダ３０はエントロピー復号モジュール３１、予測モジュール３２、逆量子化モジュール３４、逆変換モジュール３５および再構築モジュール３６を含み得る。例において、予測モジュール３２は、動き補償モジュール３２２およびイントラ予測モジュール３２１を含み得る。これは本願の本実施形態において限定されない。
【０１５５】
実現可能な実装において、ビデオデコーダ３０は更にストレージモジュール３３を含み得る。ストレージモジュール３３は代替的にビデオデコーダ３０の外部に配置され得ると理解されるべきである。いくつかの実現可能な実装において、ビデオデコーダ３０は、図２Ａにおけるビデオエンコーダ２０の符号化プロシージャとは逆の例示的な復号プロシージャを実行し得る。
【０１５６】
復号処理において、ビデオデコーダ３０はビットストリームをビデオエンコーダ２０から受信する。エントロピー復号モジュール３１、逆量子化モジュール３４および逆変換モジュール３５はそれぞれ、ビデオデコーダ３０によって受信されたビットストリームに対して、エントロピー復号、逆量子化、および逆変換を連続的に実行して残差情報を取得する。現在のブロックに対してイントラ予測が実行されるか、またはインター予測が実行されるかは、ビットストリームに基づいて決定される。イントラ予測が実行される場合、予測モジュール３２におけるイントラ予測モジュール３２１は、使用されるイントラ予測方法、および、現在のブロックの周囲の再構築ブロックの参照画素の画素値に基づいて予測情報を構築する。インター予測が実行される場合、動き補償モジュール３２２は、解析を通じて動き情報を取得する必要があり、解析された動き情報に基づいて再構築された画像ブロックから参照ブロックを決定し、参照ブロックにおけるサンプルのサンプル値を予測情報として使用する（この処理は動き補償（ｍｏｔｉｏｎ  ｃｏｍｐｅｎｓａｔｉｏｎ、ＭＣ）と称される）。再構築モジュール３６は予測情報および残差情報を使用することによって、再構築情報を取得できる。
【０１５７】
前述の通り、本願は例えばインター復号に関連する。したがって、本願の特定の技術は動き補償モジュール３２２によって実行され得る。他の実現可能な実装において、ビデオデコーダ３０の１または複数の他のユニットは、追加的または代替的に、本願の技術の実行を担い得る。
【０１５８】
以下ではまず、本願における概念を説明する。
【０１５９】
（１）インター予測モード
【０１６０】
ＨＥＶＣにおいて、２つのインター予測モード、すなわち、高度動きベクトル予測（ａｄｖａｎｃｅｄ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｃｔｉｏｎ、ＡＭＶＰ）モードおよびマージ（ｍｅｒｇｅ）モードが使用される。
【０１６１】
ＡＭＶＰモードにおいて、現在のブロックの空間的または時間的に隣接する符号化ブロック（隣接するブロックとして表される）が最初にトラバースされ、候補動きベクトルリスト（動き情報候補リストとも称され得る）は各隣接するブロックの動き情報に基づいて構築され、最適な動きベクトルは、レート歪みコストを使用することによって候補動きベクトルリストから決定され、最小レート歪みコストを有する候補動き情報が現在のブロックの動きベクトル予測値（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｃｔｏｒ、ＭＶＰ）として使用される。隣接するブロックの位置、および、隣接するブロックのトラバース順序の両方は予め定められる。レート歪みコストは、式（１）に従って計算される。Ｊはレート歪みコスト（ＲＤ  Ｃｏｓｔ）を表し、ＳＡＤは元の画素値と、候補動きベクトル予測値を使用することによって動き推定を通じて取得される予測画素値との間の絶対差の和（ｓｕｍ  ｏｆ  ａｂｓｏｌｕｔｅ  ｄｉｆｆｅｒｅｎｃｅｓ、ＳＡＤ）であり、Ｒはビットレートを表し、λはラグランジュ乗数を表す。エンコーダ側は候補動きベクトルリストにおける選択された動きベクトル予測値のインデックス値および参照画像インデックス値をデコーダ側へ転送する。更に、現在のブロックの実際の動きベクトルを取得するために、ＭＶＰを中心として、動き探索が近隣において実行される。エンコーダ側は、ＭＶＰと実際の動きベクトルとの間の差（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｄｉｆｆｅｒｅｎｃｅ）をデコーダ側へ転送する。
式（１）
【数１】
2021535672.tif 000003
【０１６２】
マージモードにおいて、まず、現在のブロックの空間的または時間的に隣接する符号化ブロックの動き情報を使用することによって候補動きベクトルリストが構築され、次に、レート歪みコストを計算することによって、最適な動き情報が候補動きベクトルリストから決定され、現在のブロックの動き情報として使用され、次に、候補動きベクトルリストにおける最適な動き情報の位置のインデックス値（マージインデックスと表され、以降も同一である）がデコーダ側へ転送される。図３は、現在のブロックの空間的および時間的な候補動き情報を示す。空間的候補動き情報は、５つの空間的に隣接するブロック（Ａ０、Ａ１、Ｂ０、Ｂ１およびＢ２）に由来する。隣接するブロックが利用可能でない場合（隣接するブロックが無い、隣接するブロックが符号化されない、または、隣接するブロックによって使用される予測モードがインター予測モードでない）、隣接するブロックの動き情報は候補動きベクトルリストに追加されない。現在のブロックの時間的候補動き情報は、参照フレームおよび現在のフレームの画像順序カウント（ｐｉｃｔｕｒｅ  ｏｒｄｅｒ  ｃｏｕｎｔ、ＰＯＣ）に基づいて、参照フレームにおける対応する位置におけるブロックのＭＶをスケーリングすることによって取得される。まず、参照フレームにおける位置Ｔにおけるブロックが利用可能であるかどうかが決定される。ブロックが利用可能でない場合、位置Ｃにおけるブロックが選択される。
【０１６３】
ＡＭＶＰモードと同様に、マージモードにおいて、隣接するブロックの位置、および、隣接するブロックのトラバース順序の両方も予め定められる。加えて、異なるモードにおいて、隣接するブロックの位置、および、隣接するブロックのトラバース順序は異なり得る。
【０１６４】
候補動きベクトルリストは、ＡＭＶＰモードおよびマージモードの両方において維持される必要があることが分かる。新しい動き情報が候補リストに毎回追加される前に、同一の動き情報がリストに既に存在するかどうかがまずチェックされる。同一の動き情報がリストに存在する場合、動き情報はリストに追加されない。このチェック処理は、候補動きベクトルリストのプルーニングと称される。リストは、リストにおける同一の動き情報を回避するためにプルーニングされ、それにより、冗長なレート歪みコスト計算を回避する。
【０１６５】
ＨＥＶＣにおけるインター予測において、同一の動き情報が符号化ブロックにおけるすべての画素に使用され、次に、符号化ブロックの画素の予測値を取得するために動き情報に基づいて動き補償が実行される。しかしながら、符号化ブロックにおいてすべての画素が同一の動きの特性を有するわけではない。同一の動き情報を使用すると、不正確な動き補償予測、および、より多くの残差情報が生じ得る。
【０１６６】
既存のビデオ符号化規格において、並進運動モデルに基づくブロックマッチング動き推定が使用され、ブロックにおけるすべての画素の動きは一貫していると想定される。しかしながら、現実の世界では、様々な動きがある。例えば、回転するオブジェクト、異なる方向に回転するローラーコースター、花火の表示、および、映画における一部のスタント、特に、ＵＧＣシナリオにおける移動するオブジェクトなど、多くのオブジェクトは非並進運動である。これらの移動するオブジェクトについては、既存の符号化規格における並進運動モデルに基づくブロック動き補償技術が符号化に使用される場合、符号化効率は大きく影響を受け得る。この場合、符号化効率を更に改善するべく、非並進運動モデル、例えば、アフィン動きモデルが導入される。
【０１６７】
これに基づき、異なる動きモデルに関連して、ＡＭＶＰモードは並進モデル型ＡＭＶＰモードおよび非並進モデル型ＡＭＶＰモードに分類され得、マージモードは、並進モデル型マージモードおよび非並進運動モデル型マージモードに分類され得る。
【０１６８】
（２）非並進運動モデル
【０１６９】
非並進運動モデル予測とは、エンコーダ／デコーダ側が同一の動きモデルを使用することによって現在のブロックにおける各動き補償小単位の動き情報を導出し、動き補償小単位の動き情報に基づいて動き補償を実行して予測ブロックを取得し、それにより、予測効率を改善することを意味する。一般的な非並進運動モデルは４パラメータアフィン動きモデルまたは６パラメータアフィン動きモデルを含む。
【０１７０】
本願の本実施形態における動き補償小単位は、サンプル、または、特定の方法に従う区分を通じて取得され、Ｎ１×Ｎ２のサイズを有する画素ブロックであり得る。Ｎ１およびＮ２の両方は正の整数であり、Ｎ１はＮ２に等しくてよく、またはＮ２に等しくなくてもよい。
【０１７１】
４パラメータアフィン動きモデルは以下の式（２）として表現される。
式（２）
【数２】
2021535672.tif 000004
【０１７２】
４パラメータアフィン動きモデルは、２つのサンプルの動きベクトル、および、現在のブロックの左上サンプルに対する２つのサンプルの座標を使用することによって表され得る。動きモデルパラメータを表すために使用されるサンプルは制御点と称される。左上サンプル（０，０）および右上サンプル（Ｗ，０）が制御点として使用される場合、現在のブロックの左上サンプルおよび右上サンプルの制御点の動きベクトル（ｖｘ０，ｖｙ０）および（ｖｘ１，ｖｙ１）がまず決定され、次に、現在のブロックにおける各動き補償小単位の動き情報が式（３）に従って取得される。（ｘ，ｙ）は、現在のブロックの左上サンプルに対する動き補償小単位の座標であり、Ｗは現在のブロックの幅である。
式（３）
【数３】
2021535672.tif 000005
【０１７３】
６パラメータアフィン動きモデルは式（４）として表現される。
式（４）
【数４】
2021535672.tif 000006
【０１７４】
６パラメータアフィン動きモデルは、３つのサンプルの動きベクトル、および、現在のブロックの左上サンプルに対する３つのサンプルの座標を使用することによって表され得る。左上サンプル（０，０）、右上サンプル（Ｗ，０）および左下サンプル（０，Ｈ）が制御点として使用される場合、現在のブロックの左上制御点、右上制御点、および左下制御点の動きベクトルがそれぞれ（ｖｘ０，ｖｙ０）、（ｖｘ１，ｖｙ１）、および（ｖｘ２，ｖｙ２）として、まず決定される。次に、現在のブロックにおける各動き補償小単位の動き情報が式（５）に従って取得される。（ｘ，ｙ）は、現在のブロックの左上サンプルに対する動き補償小単位の座標であり、ＷおよびＨはそれぞれ、現在のブロックの幅および高さである。
式（５）
【数５】
2021535672.tif 000007
【０１７５】
アフィン動きモデルを使用することによって予測される符号化ブロックはアフィン符号化ブロックと称される。
【０１７６】
アフィン符号化ブロックの制御点の動き情報は通常、アフィン動きモデル型高度動きベクトル予測（Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ、ＡＭＶＰ）モードまたはアフィン動きモデル型マージ（Ｍｅｒｇｅ）モードを使用することによって取得され得る。
【０１７７】
現在の符号化ブロックの制御点の動き情報は、継承された制御点動きベクトルまたは構築された制御点動きベクトルを予測する方法を使用することによって取得され得る。
【０１７８】
（３）継承された制御点動きベクトルを予測するための方法
【０１７９】
継承された制御点動きベクトルを予測するための方法は、隣接する符号化されたアフィン符号化ブロックの動きモデルを使用することによって現在のブロックの候補制御点動きベクトルを決定することである。
【０１８０】
図４に示される現在のブロックは例として使用される。現在のブロックの周囲の隣接する位置におけるブロックは、指定の順序、例えば順序Ａ１−＞Ｂ１−＞Ｂ０−＞Ａ０−＞Ｂ２の順でトラバースされ、現在のブロックの隣接する位置におけるブロックが位置するアフィン符号化ブロックを発見し、アフィン符号化ブロックの制御点動き情報を取得する。更に、アフィン符号化ブロックの制御点動き情報を使用することによって構築される動きモデルを使用することによって、現在のブロックの制御点動きベクトル（マージモードにおいて使用される）または制御点動きベクトル予測値（ＡＭＶＰモードにおいて使用される）が更に導出される。順序Ａ１−＞Ｂ１−＞Ｂ０−＞Ａ０−＞Ｂ２は単に例として使用される。別の組み合わせの順序も本願に適用可能である。加えて、隣接する位置におけるブロックは、Ａ１、Ｂ１、Ｂ０、Ａ０およびＢ２に限定されない。
【０１８１】
隣接する位置におけるブロックは、サンプル、または、特定の方法に従った区分を通じて取得される事前設定サイズの画素ブロックであり得る。例えば、画素ブロックは、４×４画素ブロック、４×２画素ブロック、または別のサイズの画素ブロックであり得るが、これらに限定されない。
【０１８２】
以下では、Ａ１を例として使用することによる決定処理を説明し、別の場合もそれと同様である。
【０１８３】
図４に示されるように、Ａ１が位置する符号化ブロックが４パラメータアフィン符号化ブロックである場合、アフィン符号化ブロックの左上サンプル（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）およびアフィン符号化ブロックの右上サンプル（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）が取得される。現在のアフィン符号化ブロックの左上サンプル（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）は、式（６）に従って計算され、現在のアフィン符号化ブロックの右上サンプル（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）は式（７）に従って計算される。
式（６）
【数６】
2021535672.tif 000008
式（７）
【数７】
2021535672.tif 000009
【０１８４】
Ａ１が位置するアフィン符号化ブロックに基づいて取得される現在のブロックの左上サンプル（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）および現在のブロックの右上サンプル（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）の組み合わせは現在のブロックの候補制御点動きベクトルである。
【０１８５】
Ａ１が位置する符号化ブロックが６パラメータアフィン符号化ブロックである場合、アフィン符号化ブロックの左上サンプル（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、アフィン符号化ブロックの右上サンプル（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、および、アフィン符号化ブロックの左下サンプル（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）が取得される。現在のブロックの左上サンプル（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）は式（８）に従って計算され、現在のブロックの右上サンプル（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）は式（９）に従って計算され、現在のブロックの左下サンプル（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）は式（１０）に従って計算される。
式（８）
【数８】
2021535672.tif 000010
式（９）
【数９】
2021535672.tif 000011
式（１０）
【数１０】
2021535672.tif 000012
【０１８６】
Ａ１が位置するアフィン符号化ブロックに基づいて取得される現在のブロックの左上サンプル（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、現在のブロックの右上サンプル（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、および、現在のブロックの左下サンプル（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）の組み合わせは現在のブロックの候補制御点動きベクトルである。
【０１８７】
他の動きモデル、候補の位置、ならびに、検索およびトラバースの順序も本願に適用可能であることに留意すべきである。本願の本実施形態においては詳細を説明しない。
【０１８８】
隣接および現在の符号化ブロックの動きモデルを表すために他の制御点が使用される方法も本願に適用可能であることに留意すべきである。ここでは詳細を説明しない。
【０１８９】
（４）構築された制御点動きベクトル（ｃｏｎｓｔｒｕｃｔｅｄ  ｃｏｎｔｒｏｌ  ｐｏｉｎｔ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒｓ）を予測する方法１
【０１９０】
構築された制御点動きベクトルを予測する方法は、現在のブロックの制御点の周囲の隣接する符号化ブロックの動きベクトルを組み合わせて、現在のアフィン符号化ブロックの制御点動きベクトルとして機能させることであり、隣接する符号化ブロックがアフィン符号化ブロックかどうかを考慮しない。
【０１９１】
左上サンプルの動きベクトルおよび現在のブロックの右上サンプルは、現在の符号化ブロックの周囲の隣接する符号化ブロックの動き情報を使用することによって決定される。図５Ａは、構築された制御点動きベクトルを予測するための方法を説明するための例として使用される。図５Ａは単に例であることに留意すべきである。
【０１９２】
図５Ａに示されるように、左上サンプルの隣接する符号化ブロックＡ２、Ｂ２およびＢ３の動きベクトルは、現在のブロックの左上サンプルの動きベクトルについての候補動きベクトルとして使用され、右上サンプルの隣接する符号化ブロックＢ１およびＢ０の動きベクトルは、現在のブロックの右上サンプルの動きベクトルについての候補動きベクトルとして使用される。左上サンプルの候補動きベクトルおよび右上サンプルの候補動きベクトルは組み合わされて複数の２タプルを構成する。２タプルに含まれる２つの符号化ブロックの動きベクトルは、式（１１Ａ）に示されるように、現在のブロックの候補制御点動きベクトルとして使用され得る。
式（１１Ａ）
【数１１】
2021535672.tif 000013
ｖＡ２はＡ２の動きベクトルを表し、ｖＢ１はＢ１の動きベクトルを表し、ｖＢ０はＢ０の動きベクトルを表し、ｖＢ２はＢ２の動きベクトルを表し、ｖＢ３はＢ３の動きベクトルを表す。
【０１９３】
図５Ａに示されるように、左上サンプルの隣接する符号化ブロックＡ２、Ｂ２、およびＢ３の動きベクトルは、現在のブロックの左上サンプルの動きベクトルの候補動きベクトルとして使用され、右上サンプルの隣接する符号化ブロックＢ１およびＢ０の動きベクトルは、現在のブロックの右上サンプルの動きベクトルについての候補動きベクトルとして使用され、左下サンプルの隣接する符号化ブロックＡ０およびＡ１の動きベクトルは、現在のブロックの左下サンプルの動きベクトルについての候補動きベクトルとして使用される。左上サンプルの候補動きベクトル、右上サンプルの候補動きベクトル、および左下サンプルの候補動きベクトルは３タプルを構成するように組み合わされる。３タプルに含まれる３つの符号化されたブロックの動きベクトルは、式（１１Ｂ）および式（１１Ｃ）に示されるように、現在のブロックの候補制御点動きベクトルとして使用され得る。
式（１１Ｂ）
【数１２】
2021535672.tif 000014
式（１１Ｃ）
【数１３】
2021535672.tif 000015
ｖＡ２はＡ２の動きベクトルを表し、ｖＢ１はＢ１の動きベクトルを表し、ｖＢ０はＢ０の動きベクトルを表し、ｖＢ２はＢ２の動きベクトルを表し、ｖＢ３はＢ３の動きベクトルを表し、ｖＡ０はＡ０の動きベクトルを表し、ｖＡ１はＡ１の動きベクトルを表す。
【０１９４】
制御点動きベクトルを組み合わせるための他の方法も本願に適用可能であることに留意すべきである。ここでは詳細を説明しない。
【０１９５】
隣接および現在の符号化ブロックの動きモデルを表すために他の制御点が使用される方法も本願に適用可能であることに留意すべきである。ここでは詳細を説明しない。
【０１９６】
（５）図５Ｂに示される構築された制御点動きベクトル（ｃｏｎｓｔｒｕｃｔｅｄ  ｃｏｎｔｒｏｌ  ｐｏｉｎｔ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒｓ）を予測するための方法２
【０１９７】
段階５０１：現在のブロックの制御点の動き情報を取得する。
【０１９８】
例えば、図５Ａにおいて、ＣＰｋ（ｋ＝１，２，３，４）は第ｋの制御点を表す。Ａ０、Ａ１、Ａ２、Ｂ０、Ｂ１、Ｂ２およびＢ３は、現在のブロックの空間的に隣接する位置であり、ＣＰ１、ＣＰ２、またはＣＰ３を予測するために使用される。Ｔは現在のブロックの時間的に隣接する位置であり、ＣＰ４を予測するために使用される。
【０１９９】
ＣＰ１、ＣＰ２、ＣＰ３およびＣＰ４の座標はそれぞれ（０，０）、（Ｗ，０）、（Ｈ，０）、および（Ｗ，Ｈ）であり、ＷおよびＨは現在のブロックの幅および高さを表すと想定する。
【０２００】
各制御点の動き情報は、以下の順序で取得される。
【０２０１】
（１）ＣＰ１の場合、チェック順序はＢ２−＞Ａ２−＞Ｂ３である。Ｂ２が利用可能である場合、Ｂ２の動き情報が使用される。そうでない場合、Ａ２およびＢ３がチェックされる。３つの位置すべての動き情報が利用可能でない場合、ＣＰ１の動き情報は取得できない。
【０２０２】
（２）ＣＰ２の場合、チェック順序はＢ０−＞Ｂ１である。Ｂ０が利用可能である場合、Ｂ０の動き情報がＣＰ２のために使用される。そうでない場合、Ｂ１がチェックされる。両方の位置の動き情報が利用可能でない場合、ＣＰ２の動き情報を取得できない。
【０２０３】
（３）ＣＰ３の場合、チェック順序はＡ０−＞Ａ１である。
【０２０４】
（４）ＣＰ４の場合、Ｔの動き情報が使用される。
【０２０５】
ここで、Ｘが利用可能であることは、Ｘ（ＸはＡ０、Ａ１、Ａ２、Ｂ０、Ｂ１、Ｂ２、Ｂ３またはＴ）位置を含むブロックが符号化され、インター予測モードが使用されることを意味する。そうでない場合、Ｘ位置は利用可能でない。
【０２０６】
制御点の動き情報を取得するための他の方法も本願に適用可能であることに留意すべきである。ここでは詳細を説明しない。
【０２０７】
段階５０２：制御点の動き情報を組み合わせて、構築された制御点動き情報を取得する。
【０２０８】
２タプルを構成するように２つの制御点の動き情報が組み合わされて、４パラメータアフィン動きモデルを構築する。２つの制御点が、｛ＣＰ１，ＣＰ４｝、｛ＣＰ２，ＣＰ３｝、｛ＣＰ１，ＣＰ２｝、｛ＣＰ２，ＣＰ４｝、｛ＣＰ１，ＣＰ３｝または｛ＣＰ３，ＣＰ４｝のように組み合わされ得る。例えば、制御点ＣＰ１およびＣＰ２の動き情報（例えば、２ＭＶ）に基づく２タプルを使用することによって構築された４パラメータアフィン動きモデルは、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２）として表され得る。
【０２０９】
３タプルを構成するように３つの制御点の動き情報が組み合わされ、６パラメータアフィン動きモデルを構築する。３つの制御点は、｛ＣＰ１，ＣＰ２，ＣＰ４｝、｛ＣＰ１，ＣＰ２，ＣＰ３｝、｛ＣＰ２，ＣＰ３，ＣＰ４｝または｛ＣＰ１，ＣＰ３，ＣＰ４｝として組み合わされ得る。例えば、制御点ＣＰ１、ＣＰ２およびＣＰ３の動き情報（例えば、３ＭＶ）に基づく３タプルを使用することによって構築される６パラメータアフィン動きモデルは、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ３）として表され得る。
【０２１０】
４タプルを構成するように４つの制御点の動き情報が組み合わされ、８パラメータバイリニア動きモデルを構築する。制御点ＣＰ１、ＣＰ２、ＣＰ３、およびＣＰ４の動き情報（例えば、４ＭＶ）を含む４タプルを使用することによって構築される８パラメータバイリニアモデルは、Ｂｉｌｉｎｅａｒ（ＣＰ１，ＣＰ２，ＣＰ３，ＣＰ４）として表される。
【０２１１】
本願の本実施形態において、説明を容易にするために、２つの制御点（または２つの符号化ブロック）の動き情報の組み合わせは、略して２タプルと称され、３つの制御点（または３つの符号化ブロック）の動き情報の組み合わせは、略して３タプルと称され、４つの制御点（または４つの符号化ブロック）の動き情報の組み合わせは、略して４タプルと称される。
【０２１２】
これらのモデルは、事前設定された順序でトラバースされる。組み合わされたモデルに対応する特定の制御点の動き情報が利用可能でない場合、モデルは利用可能でないとみなされる。そうでない場合、モデルの参照画像インデックスが決定され、制御点の動きベクトルがスケーリングされる。スケーリング後に取得されるすべての制御点の動き情報が一貫している場合、モデルは無効である。モデルを制御する制御点の動き情報すべてが利用可能であり、かつ、モデルが有効である場合、モデルを構築するための制御点の動き情報が動き情報候補リストに追加される。
【０２１３】
制御点動きベクトルスケーリング方法が式（１２）に示される。
式（１２）
【数１４】
2021535672.tif 000016
ＣｕｒＰｏｃは現在のフレームのＰＯＣ番号を表し、ＤｅｓＰｏｃは現在のブロックの参照フレームのＰＯＣ番号を表し、ＳｒｃＰｏｃは制御点の参照フレームのＰＯＣ番号を表し、ＭＶｓはスケーリング後に取得される動きベクトルを表し、ＭＶは制御点の動きベクトルを表す。
【０２１４】
異なる制御点の組み合わせは同一位置における制御点に変換され得ることに留意すべきである。
【０２１５】
例えば、｛ＣＰ１，ＣＰ４｝、｛ＣＰ２，ＣＰ３｝、｛ＣＰ２，ＣＰ４｝、｛ＣＰ１，ＣＰ３｝または｛ＣＰ３，ＣＰ４｝の組み合わせを使用することによって取得される４パラメータアフィン動きモデルが｛ＣＰ１，ＣＰ２｝または｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換される。変換方法は、制御点の動きベクトルおよび制御点の座標情報で式（２）を置換してモデルパラメータを取得し、次に、｛ＣＰ１，ＣＰ２｝の座標情報で式（３）を置換してＣＰ１およびＣＰ２の動きベクトルを取得することである。
【０２１６】
より直接的に、変換は式（１３）〜（２１）に従って実行され得る。Ｗは現在のブロックの幅を表す。Ｈは現在のブロックの高さを表す。式（１３）〜（２１）において、（ｖｘ０，ｖｙ０）はＣＰ１の動きベクトルを表し、（ｖｘ１，ｖｙ１）はＣＰ２の動きベクトルを表し、（ｖｘ２，ｖｙ２）はＣＰ３の動きベクトルを表し、（ｖｘ３，ｖｙ３）はＣＰ４の動きベクトルを表す。
【０２１７】
｛ＣＰ１，ＣＰ２｝は式（１３）を使用することによって｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る。言い換えれば、｛ＣＰ１，ＣＰ２，ＣＰ３｝におけるＣＰ３の動きベクトルは、式（１３）を使用して決定され得る。
式（１３）
【数１５】
2021535672.tif 000017
【０２１８】
｛ＣＰ１，ＣＰ３｝は、式（１４）を使用することによって｛ＣＰ１，ＣＰ２｝または｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る。
式（１４）
【数１６】
2021535672.tif 000018
【０２１９】
｛ＣＰ２，ＣＰ３｝は、式（１５）を使用することによって｛ＣＰ１，ＣＰ２｝または｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る。
式（１５）
【数１７】
2021535672.tif 000019
【０２２０】
｛ＣＰ１，ＣＰ４｝は、式（１６）または（１７）を使用することによって｛ＣＰ１，ＣＰ２｝または｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る。
式（１６）
【数１８】
2021535672.tif 000020
式（１７）
【数１９】
2021535672.tif 000021
【０２２１】
｛ＣＰ２，ＣＰ４｝は、式（１８）を使用することによって｛ＣＰ１，ＣＰ２｝に変換され得、｛ＣＰ２，ＣＰ４｝は、式（１８）および（１９）を使用することによって｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る。
式（１８）
【数２０】
2021535672.tif 000022
式（１９）
【数２１】
2021535672.tif 000023
【０２２２】
｛ＣＰ３，ＣＰ４｝は、式（２０）を使用することによって｛ＣＰ１，ＣＰ２｝に変換され得、｛ＣＰ３，ＣＰ４｝は、式（２０）および（２１）を使用することによって｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る。
式（２０）
【数２９】
2021535672.tif 000024
式（２１）
【数２２】
2021535672.tif 000025
【０２２３】
例えば、組み合わせ｛ＣＰ１，ＣＰ２，ＣＰ４｝、｛ＣＰ２，ＣＰ３，ＣＰ４｝、または｛ＣＰ１，ＣＰ３，ＣＰ４｝を使用することによって取得される６パラメータアフィン動きモデルは、制御点の｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換される。変換方法は、制御点の動きベクトル、および、制御点の座標情報で式（４）を置換してモデルパラメータを取得し、次に、｛ＣＰ１，ＣＰ２，ＣＰ３｝の座標情報で式（５）を置換して、ＣＰ１、ＣＰ２およびＣＰ３の動きベクトルを取得することである。
【０２２４】
より直接に、変換は式（２２）から（２４）に従って実行され得る。Ｗは現在のブロックの幅を表す。Ｈは現在のブロックの高さを表す。式（１３）〜（２１）において、（ｖｘ０，ｖｙ０）はＣＰ１の動きベクトルを表し、（ｖｘ１，ｖｙ１）はＣＰ２の動きベクトルを表し、（ｖｘ２，ｖｙ２）はＣＰ３の動きベクトルを表し、（ｖｘ３，ｖｙ３）はＣＰ４の動きベクトルを表す。
【０２２５】
｛ＣＰ１，ＣＰ２，ＣＰ４｝は、式（２２）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る。
式（２２）
【数２３】
2021535672.tif 000026
【０２２６】
｛ＣＰ２，ＣＰ３，ＣＰ４｝は、式（２３）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る。
式（２３）
【数２４】
2021535672.tif 000027
【０２２７】
｛ＣＰ１，ＣＰ３，ＣＰ４｝は、式（２４）に従って｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換され得る。
式（２４）
【数２５】
2021535672.tif 000028
【０２２８】
（６）アフィン動きモデル型高度動きベクトル予測モード（Ａｆｆｉｎｅ  ＡＭＶＰモード）
【０２２９】
１．候補動きベクトルリストの構築
【０２３０】
アフィン動きモデル型ＡＭＶＰモードの候補動きベクトルリストは、継承された制御点動きベクトルおよび／または構築された制御点動きベクトルを予測するための方法を使用することによって構築される。本願の本実施形態において、アフィン動きモデル型ＡＭＶＰモードの候補動きベクトルリストは、制御点動きベクトル予測値候補リスト（ｃｏｎｔｒｏｌ  ｐｏｉｎｔ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒｓ  ｐｒｅｄｉｃｔｏｒ  ｃａｎｄｉｄａｔｅ  ｌｉｓｔ）と称され得、各制御点動きベクトル予測値は、２つの（４パラメータアフィン動きモデル）制御点の動きベクトル、または、３つの（６パラメータアフィン動きモデル）制御点の動きベクトルを含む。
【０２３１】
任意選択で、制御点動きベクトル予測値候補リストは、特定のルールに従ってプルーニングおよびソートされ、特定の数に切り詰められ得る、またはパディングされ得る。
【０２３２】
２．最適な制御点動きベクトル予測値の決定
【０２３３】
エンコーダ側において、現在の符号化ブロックにおける各動き補償小単位の動きベクトルが、制御点動きベクトル予測値候補リストにおける各制御点動きベクトル予測値を使用することによって、式（３）／（５）に従って取得される。更に、各動き補償小単位の動きベクトルが指す参照フレームにおける対応する位置の画素値が取得され、アフィン動きモデルを使用することによって動き補償を実行するために画素値の予測値として使用される。現在の符号化ブロックにおけるすべてのサンプルの元の値と予測値との間の差の平均値が計算される。最小平均値に対応する制御点動きベクトル予測値が最適な制御点動きベクトル予測値として選択され、現在の符号化ブロックの２／３つの制御点動きベクトル予測値として使用される。制御点動きベクトル予測値候補リストにおける制御点動きベクトル予測値の位置を表すインデックス番号がビットストリームに符号化され、デコーダへ送信される。
【０２３４】
デコーダ側において、インデックス番号が解析され、制御点動きベクトル予測値（ｃｏｎｔｒｏｌ  ｐｏｉｎｔ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒｓ  ｐｒｅｄｉｃｔｏｒ、ＣＰＭＶＰ）が、インデックス番号に基づいて制御点動きベクトル予測値候補リストから決定される。
【０２３５】
３．制御点動きベクトルの決定
【０２３６】
エンコーダ側において、制御点動きベクトル（ｃｏｎｔｒｏｌ  ｐｏｉｎｔ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒｓ、ＣＰＭＶ）を取得するために、特定の検索範囲内の動き探索のための検索開始点として制御点動きベクトル予測値が使用される。制御点動きベクトルと制御点動きベクトル予測値との間の差（ｃｏｎｔｒｏｌ  ｐｏｉｎｔ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｄｉｆｆｅｒｅｎｃｅｓ、ＣＰＭＶＤ）がデコーダ側へ転送される。
【０２３７】
デコーダ側において、制御点動きベクトル差が解析され、制御点動きベクトルを取得するために制御点動きベクトル差および制御点動きベクトル予測値が加算される。
【０２３８】
（７）アフィンマージモード（Ａｆｆｉｎｅ  Ｍｅｒｇｅ  ｍｏｄｅ）
【０２３９】
制御点動きベクトルマージ候補リスト（ｃｏｎｔｒｏｌ  ｐｏｉｎｔ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒｓ  ｍｅｒｇｅ  ｃａｎｄｉｄａｔｅ  ｌｉｓｔ）が、継承された制御点動きベクトルおよび／または構築された制御点動きベクトルを予測するための方法を使用することによって構築される。
【０２４０】
任意選択で、制御点動きベクトルマージ候補リストが、特定のルールに従ってプルーニングおよびソートされ、特定の数に切り詰められ得る、またはパディングされ得る。
【０２４１】
エンコーダ側において、マージ候補リストにおける各制御点動きベクトルを使用することによって、式（３）／（５）に従って、現在の符号化ブロックにおける各動き補償小単位（サンプル、または、特定の方法に従う区分を通じて取得される、Ｎ１×Ｎ２のサイズを有する画素ブロック）の動きベクトルが取得される。更に、各動き補償小単位の動きベクトルが指す参照フレームにおける位置の画素値が取得され、アフィン動き補償を実行するために、画素値の予測値として使用される。現在の符号化ブロックにおけるすべてのサンプルの元の値と予測値との間の差の平均値が計算される。差の最小平均値に対応する制御点動きベクトルが、現在の符号化ブロックの２／３つの制御点動きベクトルとして選択される。候補リストにおける制御点の動きベクトルの位置を表すインデックス番号がビットストリームに符号化され、デコーダへ送信される。
【０２４２】
デコーダ側において、インデックス番号が解析され、制御点動きベクトル（ｃｏｎｔｒｏｌ  ｐｏｉｎｔ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒｓ、ＣＰＭＶ）が、インデックス番号に基づいて、制御点動きベクトルマージ候補リストから決定される。
【０２４３】
加えて、本願において、「少なくとも１つ」は１または複数を意味し、「複数」は２または２より大きいことを意味することに留意すべきである。「および／または」という用語は、関連付けられる対象物間の対応関係を説明するものであり、３つの関係が存在し得ることを表す。例えば、Ａおよび／またはＢは、以下の場合、すなわち、Ａのみが存在すること、ＡおよびＢの両方が存在すること、および、Ｂのみが存在することを表し得る。ここで、ＡおよびＢは単数形または複数形であり得る。「／」という文字は概して、関連付けられる対象物間の「または」の関係を示す。「以下の項目（要素）のうち少なくとも１つ」またはその同様の表現は、これらの項目の任意の組み合わせを示し、単一の場合（要素）または複数の項目（要素）の任意の組み合わせを含む。例えば、ａ、ｂ、またはｃのうち少なくとも１つとは、ａ、ｂ、ｃ、ａとｂ、ａとｃ、ｂとｃ、またはａとｂとｃを示し得る。ここで、ａ、ｂ、およびｃは単数形または複数形であり得る。
【０２４４】
本願において、インター予測モードを使用することによって現在のブロックが復号される場合、シンタックス要素を使用することによってインター予測モードがシグナリングされ得る。
【０２４５】
現在、現在のブロックに使用されるインター予測モードを解析するために現在使用されるシンタックス構造の一部については、表１を参照されたい。シンタックス構造におけるシンタックス要素は代替的に、別の識別子によって表され得ることに留意すべきである。これは本願において具体的には限定されない。
表１
【表１】
2021535672.tif 000029
【０２４６】
シンタックス要素ｍｅｒｇｅ＿ｆｌａｇ［ｘ０］［ｙ０］は、マージモードが現在のブロックに使用されるかどうかを示すために使用され得る。例えば、ｍｅｒｇｅ＿ｆｌａｇ［ｘ０］［ｙ０］＝１であるとき、マージモードが現在のブロックに使用されることを示す。または、ｍｅｒｇｅ＿ｆｌａｇ［ｘ０］［ｙ０］＝０であるとき、マージモードは現在のブロックに使用されないことを示す。ｘ０およびｙ０は、ビデオ画像に対する現在のブロックの座標を表す。
【０２４７】
変数ａｌｌｏｗＡｆｆｉｎｅＭｅｒｇｅは、現在のブロックについてアフィン動きモデル型マージモードを可能にするための条件が満たされるかどうかを示すために使用され得る。例えば、ａｌｌｏｗＡｆｆｉｎｅＭｅｒｇｅ＝０であるとき、アフィン動きモデル型マージモードを可能にする条件が満たされないことを示す。または、ａｌｌｏｗＡｆｆｉｎｅＭｅｒｇｅ＝１であるとき、アフィン動きモデル型マージモードの条件が満たされることを示す。アフィン動きモデル型マージモードを可能にする条件は、現在のブロックの幅および高さの両方が８以上であることであり得る。ｃｂＷｉｄｔｈは、現在のブロックの幅を表し、ｃｂＨｅｉｇｈｔは、現在のブロックの高さを表す。すなわち、ｃｂＷｉｄｔｈ＜８またはｃｂＨｅｉｇｈｔ＜８であるとき、ａｌｌｏｗＡｆｆｉｎｅＭｅｒｇｅ＝０である。または、ｃｂＷｉｄｔｈ≧８およびｃｂＨｅｉｇｈｔ≧８であるとき、ａｌｌｏｗＡｆｆｉｎｅＭｅｒｇｅ＝１である。
【０２４８】
変数ａｌｌｏｗＡｆｆｉｎｅＩｎｔｅｒは、現在のブロックについてのアフィン動きモデル型ＡＭＶＰモードを可能にする条件が満たされるかどうかを示すために使用され得る。例えば、ａｌｌｏｗＡｆｆｉｎｅＩｎｔｅｒ＝０であるとき、アフィン動きモデル型ＡＭＶＰモードを可能にする条件が満たされないことを示す。または、ａｌｌｏｗＡｆｆｉｎｅＩｎｔｅｒ＝１であるとき、アフィン動きモデル型ＡＭＶＰモードを可能にする条件が満たされることを示す。アフィン動きモデル型ＡＭＶＰモードを可能にする条件は、現在のブロックの幅および高さの両方が１６以上であることであり得る。言い換えれば、ｃｂＷｉｄｔｈ＜１６またはｃｂＨｅｉｇｈｔ＜１６であるとき、ａｌｌｏｗＡｆｆｉｎｅＩｎｔｅｒ＝０である。または、ｃｂＷｉｄｔｈ≧１６およびｃｂＨｅｉｇｈｔ≧１６であるとき、ａｌｌｏｗＡｆｆｉｎｅＩｎｔｅｒ＝１である。
【０２４９】
シンタックス要素ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在のブロックを含むスライスがＰスライスまたはＢスライスであるとき、アフィン動きモデル型マージモードが現在のブロックに使用されるかどうかを示すために使用され得る。例えば、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ［ｘ０］［ｙ０］＝１であるとき、アフィン動きモデル型マージモードが現在のブロックに使用されることを示す。または、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ［ｘ０］［ｙ０］＝０であるとき、アフィン動きモデル型マージモードは現在のブロックに使用されず、並進運動モデル型マージモードが使用され得ることを示す。
【０２５０】
シンタックス要素ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在のブロックを含むスライスがＰスライスまたはＢスライスであるとき、アフィン動きモデル型ＡＭＶＰモードが現在のブロックに使用されるかどうかを示すために使用され得る。例えば、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ［ｘ０］［ｙ０］＝１であるとき、アフィン動きモデル型ＡＭＶＰモードが現在のブロックに使用されることを示す。または、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ［ｘ０］［ｙ０］＝０であるとき、アフィン動きモデル型ＡＭＶＰモードは現在のブロックに使用されず、並進運動モデル型ＡＭＶＰモードが使用され得ることを示す。
【０２５１】
シンタックス要素ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在のブロックを含むスライスがＰスライスまたはＢスライスであるとき、６パラメータアフィン動きモデル型動き補償が現在のブロックに使用されるかどうかを示すために使用され得る。ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇ［ｘ０］［ｙ０］＝０であるとき、６パラメータアフィン動きモデル型動き補償が現在のブロックに使用されず、４パラメータアフィン動きモデル型動き補償のみが現在のブロックに使用され得ることを示す。または、ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇ［ｘ０］［ｙ０］＝１であるとき、６パラメータアフィン動きモデル型動き補償が現在のブロックに使用されることを示す。
【０２５２】
表２に示されるように、ＭｏｔｉｏｎＭｏｄｅｌＩｄｃ［ｘ０］［ｙ０］＝１であるとき、４パラメータアフィン動きモデルが使用されることを示し、ＭｏｔｉｏｎＭｏｄｅｌＩｄｃ［ｘ０］［ｙ０］＝２であるとき、６パラメータアフィン動きモデルが使用されることを示し、または、ＭｏｔｉｏｎＭｏｄｅｌＩｄｃ［ｘ０］［ｙ０］＝０であるとき、並進運動モデルが使用されることを示す。
表２
【表２】
2021535672.tif 000030
【０２５３】
変数ＭａｘＮｕｍＭｅｒｇｅＣａｎｄが最大リスト長を表すために使用され、構築された候補動きベクトルリストの最大候補数を示す。ｉｎｔｅｒ＿ｐｒｅｄ＿ｉｄｃ［ｘ０］［ｙ０］が予測方向を示すために使用される。ＰＲＥＤ＿Ｌ１が後方予測を示すために使用される。ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１が前方参照フレームリスト（リスト０）における参照フレームの数を示し、ｒｅｆ＿ｉｄｘ＿ｌ０［ｘ０］［ｙ０］が現在のブロックについての前方向（リスト０）参照画像インデックスを示す。ｍｖｄ＿ｃｏｄｉｎｇ（ｘ０，ｙ０，０，０）は第１動きベクトル差を示す。ｍｖｐ＿ｌ０＿ｆｌａｇ［ｘ０］［ｙ０］は前方向ＭＶＰ候補リスト（リスト０）のＭＶＰ候補インデックスを示す。ＰＲＥＤ＿Ｌ０は前方予測を示す。ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は後方参照フレームリスト（リスト１）における参照フレームの数を示す。ｒｅｆ＿ｉｄｘ＿ｌ１［ｘ０］［ｙ０］は、現在のブロックについての後方（リスト１）参照画像インデックスを示し、ｍｖｐ＿ｌ１＿ｆｌａｇ［ｘ０］［ｙ０］は、後方ＭＶＰ候補リスト（リスト１）のＭＶＰ候補インデックスを示す。
【０２５４】
表１において、ａｅ（ｖ）は、コンテキスト適応型バイナリ算術符号化（ｃｏｎｔｅｘｔ−ｂａｓｅｄ  ａｄａｐｔｉｖｅ  ｂｉｎａｒｙ  ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇ、ＣＡＢＡＣ）を使用することによって符号化されるシンタックス要素を表す。
【０２５５】
以下では、インター予測処理を詳細に説明する。図６Ａを参照されたい。
【０２５６】
段階６０１：表１に示されるシンタックス構造に基づいてビットストリームを解析し、現在のブロックのインター予測モードを決定する。
【０２５７】
現在のブロックのインター予測モードがアフィン動きモデル型ＡＭＶＰモードであると決定される場合、段階６０２ａが実行される。
【０２５８】
すなわち、ｍｅｒｇｅ＿ｆｌａｇ  ＝  ０かつａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ  ＝  １であるとき、現在のブロックのインター予測モードがアフィン動きモデル型ＡＭＶＰモードであることを示す。
【０２５９】
現在のブロックのインター予測モードがアフィン動きモデル型マージ（ｍｅｒｇｅ）モードであると決定される場合、段階６０２ｂが実行される。
【０２６０】
すなわち、シンタックス要素において、ｍｅｒｇｅ＿ｆｌａｇ  ＝  １かつａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ  ＝  １であるとき、現在のブロックのインター予測モードがアフィン動きモデル型マージモードであることを示す。
【０２６１】
段階６０２ａ：アフィン動きモデル型ＡＭＶＰモードに対応する候補動きベクトルリストを構築して、段階６０３ａを実行する。
【０２６２】
現在のブロックの候補制御点動きベクトルが、継承された制御点動きベクトルおよび／または構築された制御点動きベクトルを予測するための方法を使用することによって導出され、候補動きベクトルリストに追加される。
【０２６３】
候補動きベクトルリストは、２タプルリスト（現在の符号化ブロックは４パラメータアフィン動きモデルである）または３タプルリストを含み得る。２タプルリストは、４パラメータアフィン動きモデルを構築するために使用される１または複数の２タプルを含む。３タプルリストは、６パラメータアフィン動きモデルを構築するために使用される１または複数の３タプルを含む。
【０２６４】
任意選択で、候補動きベクトル２タプル／３タプルリストが、特定のルールに従ってプルーニングおよびソートされ、特定の数に切り詰めされ得る、またはパディングされ得る。
【０２６５】
Ａ１：継承された制御点動きベクトルを予測するために方法を使用することによって候補動きベクトルリストを構築するためのプロシージャについての説明が提供される。
【０２６６】
図４は例として使用される。例えば、現在のブロックの周囲の隣接する位置におけるブロックは、図４における順序Ａ１−＞Ｂ１−＞Ｂ０−＞Ａ０−＞Ｂ２でトラバースされ、隣接する位置におけるブロックが位置するアフィン符号化ブロックを発見し、アフィン符号化ブロックの制御点動き情報を取得する。更に、アフィン符号化ブロックの制御点動き情報を使用することによって動きモデルが構築され、現在のブロックの候補制御点動き情報が導出される。詳細については、（３）における継承された制御点動きベクトルを予測するための方法の関連する説明を参照されたい。ここでは詳細を説明しない。
【０２６７】
例えば、現在のブロックに使用されるアフィン動きモデルは、４パラメータアフィン動きモデルである（すなわち、ＭｏｔｉｏｎＭｏｄｅｌＩｄｃ＝１）。隣接するアフィン符号化ブロックが４パラメータアフィン動きモデルである場合、アフィン符号化ブロックの２つの制御点の動きベクトル、すなわち左上制御点（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）および右上制御点（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）が取得される。アフィン符号化ブロックは、アフィン動きモデルを使用することによって符号化フェーズにおいて予測されるアフィン符号化ブロックである。
【０２６８】
現在のブロックの左上制御点および右上制御点の動きベクトルは、隣接するアフィン符号化ブロックの２つの制御点を含む４パラメータアフィン動きモデルを使用することによって、４パラメータアフィン動きモデルに対応する式（６）および（７）に従ってそれぞれ導出される。
【０２６９】
６パラメータアフィン動きモデルが、隣接するアフィン符号化ブロックに使用される場合、隣接するアフィン符号化ブロックの３つの制御点の動きベクトル、例えば、図４における左上制御点（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、右上制御点（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、および、左下制御点（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）が取得される。
【０２７０】
左上制御点の動きベクトルおよび現在のブロックの右上制御点は、隣接するアフィン符号化ブロックの３つの制御点を含む６パラメータアフィン動きモデルを使用することによって、６パラメータアフィン動きモデルに対応する式（８）および（９）に従ってそれぞれ導出される。
【０２７１】
例えば、現在の復号ブロックのアフィン動きモデルは６パラメータアフィン動きモデルである（すなわち、ＭｏｔｉｏｎＭｏｄｅｌＩｄｃ＝２）。
【０２７２】
隣接するアフィン符号化ブロックに使用されるアフィン動きモデルが６パラメータアフィン動きモデルである場合、隣接するアフィン符号化ブロックの３つの制御点の動きベクトル、例えば、図４における左上制御点（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、右上制御点（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、および、左下制御点（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）が取得される。
【０２７３】
現在のブロックの左上制御点、右上制御点、および左下制御点の動きベクトルが、隣接するアフィン符号化ブロックの３つの制御点を含む６パラメータアフィン動きモデルを使用することによって、６パラメータアフィン動きモデルに対応する式（８）、（９）、および（１０）に従ってそれぞれ導出される。
【０２７４】
隣接するアフィン符号化ブロックに使用されるアフィン動きモデルが４パラメータアフィン動きモデルである場合、アフィン符号化ブロックの２つの制御点の動きベクトル、すなわち左上制御点（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）および右上制御点（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）が取得される。
【０２７５】
現在のブロックの左上制御点、右上制御点、および左下制御点の動きベクトルは、隣接するアフィン符号化ブロックの２つの制御点を含む４パラメータアフィン動きモデルを使用することによって、４パラメータアフィン動きモデルに対応する式（６）および（７）に従ってそれぞれ導出される。
【０２７６】
他の動きモデル、候補の位置、および探索順序も本願に適用可能であることに留意すべきである。ここでは詳細を説明しない。隣接および現在の符号化ブロックの動きモデルを表すために他の制御点が使用される方法も本願に適用可能であることに留意すべきである。ここでは詳細を説明しない。
【０２７７】
Ａ２：構築された制御動きベクトルを予測するための方法を使用することによって候補動きベクトルリストを構築するプロシージャの説明を提供する。
【０２７８】
例えば、現在の復号ブロックに使用されるアフィン動きモデルは４パラメータアフィン動きモデルである（すなわち、ＭｏｔｉｏｎＭｏｄｅｌＩｄｃは１である）。この場合、現在の符号化ブロックの左上サンプルおよび右上サンプルの動きベクトルが、現在の符号化ブロックの周囲の隣接する符号化ブロックの動き情報を使用することによって決定される。具体的には、候補動きベクトルリストは、構築された制御点動きベクトルを予測する方式１または方式２で構築され得る。具体的な方式については、（４）および（５）の説明を参照されたい。ここでは詳細を説明しない。
【０２７９】
例えば、現在の復号ブロックに使用されるアフィン動きモデルが６パラメータアフィン動きモデルである（すなわち、ＭｏｔｉｏｎＭｏｄｅｌＩｄｃが２である）場合、現在の符号化ブロックの左上サンプル、右上サンプル、および左下サンプルの動きベクトルが、現在の符号化ブロックの周囲の隣接する符号化ブロックの動き情報を使用することによって決定される。具体的には、候補動きベクトルリストは、構築された制御点動きベクトルを予測する方式１または方式２で構築され得る。具体的な方式については、（４）および（５）の説明を参照されたい。ここでは詳細を説明しない。
【０２８０】
制御点動き情報の他の組み合わせも本願に適用可能であることに留意すべきである。ここでは詳細を説明しない。
【０２８１】
段階６０３ａ：ビットストリームを解析して、最適な制御点動きベクトル予測値を決定し、段階６０４ａを実行する。
【０２８２】
Ｂ１：現在の復号ブロックに使用されるアフィン動きモデルが４パラメータアフィン動きモデルである（ＭｏｔｉｏｎＭｏｄｅｌＩｄｃが１である）場合、解析を通じてインデックス番号を取得し、インデックス番号に基づいて候補動きベクトルリストから２つの制御点の最適な動きベクトル予測値を決定する。
【０２８３】
例えば、インデックス番号はｍｖｐ＿ｌ０＿ｆｌａｇまたはｍｖｐ＿ｌ１＿ｆｌａｇである。
【０２８４】
Ｂ２：現在の復号ブロックに使用されるアフィン動きモデルが６パラメータアフィン動きモデルである（ＭｏｔｉｏｎＭｏｄｅｌＩｄｃが２である）場合、解析を通じてインデックス番号を取得し、インデックス番号に基づいて候補動きベクトルリストから３つの制御点の最適な動きベクトル予測値を決定する。
【０２８５】
段階６０４ａ：ビットストリームを解析して制御点動きベクトルを決定する。
【０２８６】
Ｃ１：現在の復号ブロックに使用されるアフィン動きモデルが４パラメータアフィン動きモデルである（ＭｏｔｉｏｎＭｏｄｅｌＩｄｃが１である）とき、ビットストリームを復号して現在のブロックの２つの制御点の動きベクトル差を取得し、動きベクトル差および制御点の動きベクトル予測値に基づいて制御点動きベクトルを取得する。前方予測が例として使用される。２つの制御点が指す動きベクトル差は、ｍｖｄ＿ｃｏｄｉｎｇ（ｘ０，ｙ０，０，０）およびｍｖｄ＿ｃｏｄｉｎｇ（ｘ０，ｙ０，０，１）である。
【０２８７】
例えば、左上制御点および右上制御点の動きベクトル差が、ビットストリームを復号することによって取得され、動きベクトル予測値にそれぞれ加算され、現在のブロックの左上制御点および右上制御点の動きベクトルを取得する。
【０２８８】
Ｃ２：現在の復号ブロックのアフィン動きモデルが６パラメータアフィン動きモデルである（すなわち、ＭｏｔｉｏｎＭｏｄｅｌＩｄｃが２である）とき、ビットストリームを復号して現在のブロックの３つの制御点の動きベクトル差を取得し、動きベクトル差および制御点の動きベクトル予測値に基づいて制御点動きベクトルを取得する。前方予測が例として使用される。３つの制御点の動きベクトル差はｍｖｄ＿ｃｏｄｉｎｇ（ｘ０，ｙ０，０，０）、ｍｖｄ＿ｃｏｄｉｎｇ（ｘ０，ｙ０，０，１）およびｍｖｄ＿ｃｏｄｉｎｇ（ｘ０，ｙ０，０，２）である。
【０２８９】
例えば、左上制御点、右上制御点、および左下制御点の動きベクトル差が、ビットストリームを復号することによって取得され、動きベクトル予測値にそれぞれ加算され、現在のブロックの左上制御点、右上制御点、および左下制御点の動きベクトルを取得する。
【０２９０】
段階６０２ｂ：アフィン動きモデル型マージモードの動き情報候補リストを構築する。
【０２９１】
具体的には、継承された制御点動きベクトルおよび／または構築された制御点動きベクトルを予測するための方法を使用することによって、アフィン動きモデル型マージモードの動き情報候補リストが構築され得る。
【０２９２】
任意選択で、動き情報候補リストが特定のルールに従ってプルーニングおよびソートされ、特定の数に切り詰められ得る、またはパディングされ得る。
【０２９３】
Ｄ１：継承された制御動きベクトルを予測するための方法を使用することによって候補動きベクトルリストを構築するプロシージャの説明が提供される。
【０２９４】
現在のブロックの候補制御点動き情報は、継承された制御点動きベクトルを予測するための方法を使用することによって導出され、動き情報候補リストに追加される。
【０２９５】
現在のブロックの周囲の隣接する位置におけるブロックが、図５ＡにおけるＡ１、Ｂ１、Ｂ０、Ａ０およびＢ２の順序でトラバースされ、隣接する位置のアフィン符号化ブロックを発見し、アフィン符号化ブロックの制御点動き情報を取得する。更に、現在のブロックの候補制御点動き情報が、アフィン符号化ブロックの制御点動き情報から構築される動きモデルを使用することによって更に導出される。
【０２９６】
この時点で候補動きベクトルリストが空である場合、候補制御点動き情報が候補リストに追加される。そうでない場合、候補動きベクトルリストにおける動き情報が順次にトラバースされ、候補制御点動き情報と同一である動き情報が候補動きベクトルリストに存在するかどうかをチェックする。候補制御点動き情報と同一である動き情報が候補動きベクトルリストに存在しない場合、候補制御点動き情報が候補動きベクトルリストに追加される。
【０２９７】
２つの候補動き情報が同一であるかどうかを決定するために、１つの候補動き情報における前方参照フレーム、後方参照フレーム、各前方向動きベクトルの水平成分および鉛直成分、各後方動きベクトルの水平成分および鉛直成分が、他の候補動き情報のものと同一であるかどうかを順次決定する必要がある。前述の要素のすべてが異なる場合のみ、２つの候補動き情報は異なる候補動き情報とみなされる。
【０２９８】
候補動きベクトルリストにおける動き情報の数が最大リスト長ＭａｘＮｕｍＭｒｇＣａｎｄに到達した場合（ＭａｘＮｕｍＭｒｇＣａｎｄは、１、２、３、４、または５などの正の整数であり、以下の説明では例として５が使用され、ここでは詳細を説明しない）、候補リストの構築が完了する。そうでない場合、次の隣接する位置におけるブロックがトラバースされる。
【０２９９】
Ｄ２：構築された制御点動きベクトルを予測するための方法を使用することによって、現在のブロックの候補制御点動き情報を導出し、図６Ｂに示されるように、候補制御点動き情報を動き情報候補リストに追加する。
【０３００】
段階６０１ｃ：現在のブロックの制御点の動き情報を取得する。（５）における構築された制御点動きベクトルを予測するための方法２における段階５０１を参照されたい。ここでは詳細を再度説明しない。
【０３０１】
段階６０２ｃ：制御点の動き情報を組み合わせて、構築された制御点動き情報を取得する。図５Ｂにおける段階５０１を指されたい。ここでは詳細を再度説明しない。
【０３０２】
段階６０３ｃ：構築された制御点動き情報を候補動きベクトルリストに追加する。
【０３０３】
この時点で候補リストの長さが最大リスト長ＭａｘＮｕｍＭｒｇＣａｎｄより小さい場合、これらの組み合わせが事前設定された順序でトラバースされ、有効な組み合わせを候補制御点動き情報として取得する。この時点で候補動きベクトルリストが空である場合、候補制御点動き情報が候補動きベクトルリストに追加される。そうでない場合、候補動きベクトルリストにおける動き情報が順次にトラバースされ、候補制御点動き情報と同一である動き情報が候補動きベクトルリストに存在するかどうかをチェックする。候補制御点動き情報と同一である動き情報が候補動きベクトルリストに存在しない場合、候補制御点動き情報が候補動きベクトルリストに追加される。
【０３０４】
例えば、事前設定された順序は、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ３）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ３，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ２，ＣＰ３，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ３）−＞Ａｆｆｉｎｅ（ＣＰ２，ＣＰ３）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ２，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ３，ＣＰ４）である。合計で１０の組み合わせがある。
【０３０５】
組み合わせに対応する制御点動き情報が利用可能でない場合、組み合わせが利用可能でないとみなされる。組み合わせが利用可能である場合、組み合わせの参照画像インデックスが決定され（２つの制御点の場合、最小参照画像インデックスが組み合わせの参照画像インデックスとして選択され、２より多い制御点の場合、もっとも頻繁に現れる参照画像インデックスが選択され、複数の参照画像インデックスが現れる回数が同一である場合、組み合わせの参照画像インデックスとして最小参照画像インデックスが選択される）、制御点動きベクトルがスケーリングされる。スケーリング後に取得されたすべての制御点の動き情報が一貫している場合、組み合わせは無効である。
【０３０６】
任意選択で、本願の本実施形態において、候補動きベクトルリストは更にパディングされ得る。例えば、前述のトラバース処理の後に、候補動きベクトルリストの長さが最大リスト長ＭａｘＮｕｍＭｒｇＣａｎｄより小さい場合、リストの長さがＭａｘＮｕｍＭｒｇＣａｎｄに等しくなるまで候補動きベクトルリストがパディングされ得る。
【０３０７】
パディングは、ゼロ動きベクトルで充填することによって、または、既存のリストにおける既存の候補動き情報を組み合わせる、もしくは加重平均することによって実行され得る。候補動きベクトルリストをパディングするための他の方法も本願に適用可能であることを留意すべきである。ここでは詳細を説明しない。
【０３０８】
段階Ｓ６０３ｂ：ビットストリームを解析して最適な制御点動き情報を決定する。
【０３０９】
インデックス番号は解析され、最適な制御点動き情報は、インデックス番号に基づいて候補動きベクトルリストから決定される。
【０３１０】
段階６０４ｂ：最適な制御点動き情報、および、現在の復号ブロックに使用されるアフィン動きモデルに基づいて現在のブロックの各サブブロックの動きベクトルを取得する。
【０３１１】
現在のアフィン符号化ブロックの各サブブロック（サブブロックはまた、動き補償ユニットに等しいことがあり得、サブブロックの幅および高さは、現在のブロックの幅および高さより小さい）については、動き補償ユニットにおける事前設定された位置におけるサンプルの動き情報は、動き補償ユニットにおけるすべてのサンプルの動き情報を表すために使用され得る。動き補償ユニットのサイズをＭ×Ｎと想定すると、この場合、事前設定された位置におけるサンプルは、中央のサンプル（Ｍ／２，Ｎ／２）、左上サンプル（０，０）、右上サンプル（Ｍ−１，０）、または、動き補償ユニットの別の位置におけるサンプルであり得る。以下では、例として動き補償ユニットの中心画素を使用することによって説明を提供する。図６Ｃを参照されたい。図６Ｃにおいて、Ｖ０は左上制御点の動きベクトルを表し、Ｖ１は右上制御点の動きベクトルを表す。小さい正方形の枠の各々は１つの動き補償ユニットを表す。
【０３１２】
現在のアフィン符号化ブロックの左上サンプルに対する動き補償ユニットの中央のサンプルの座標は、式（２５）を使用することによって計算される。ここで、ｉは水平方向（左から右）における第ｉの動き補償ユニットであり、ｊは鉛直方向（上から下）における第ｊの動き補償ユニットであり、（ｘ（ｉ.ｊ），ｙ（ｉ，ｊ））は、現在のアフィン符号化ブロックの左上サンプルに対する第（ｉ，ｊ）の動き補償ユニットの中央のサンプルの座標を表す。
【０３１３】
現在のアフィン符号化ブロックに使用されるアフィン動きモデルが６パラメータアフィン動きモデルである場合、（ｘ（ｉ.ｊ），ｙ（ｉ，ｊ））で６パラメータアフィン動きモデルに対応する式（２６）が置換され、各動き補償ユニットの中央のサンプルの動きベクトルを取得し、各動き補償ユニットの中央のサンプルの動きベクトルは、動き補償ユニットのすべてのサンプルの動きベクトル（ｖｘ（ｉ，ｊ），ｖｙ（ｉ，ｊ））として使用される。
【０３１４】
現在のアフィン符号化ブロックに使用されるアフィン動きモデルが４パラメータアフィン動きモデルである場合、（ｘ（ｉ.ｊ），ｙ（ｉ，ｊ））で、４パラメータアフィン動きモデルに対応する式（２７）が置換され、各動き補償ユニットの中央のサンプルの動きベクトルを取得し、各動き補償ユニットの中央のサンプルの動きベクトルは、動き補償ユニットのすべてのサンプルの動きベクトル（ｖｘ（ｉ，ｊ），ｖｙ（ｉ，ｊ））として使用される。
式（２５）
【数２６】
2021535672.tif 000031
式（２６）
【数２７】
2021535672.tif 000032
式（２７）
【数２８】
2021535672.tif 000033
【０３１５】
段階６０５ｂ：決定されたサブブロックの動きベクトルに基づいて各サブブロックについての動き補償を実行し、サブブロックの予測画素値を取得する。
【０３１６】
従来技術において、４パラメータアフィン動きモデルのパラメータ情報および６パラメータアフィン動きモデルのパラメータ情報、例えば、表１におけるａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇおよびａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇの両方が、ビットストリームを介してデコーダ側へ送信される必要がある。現在のビデオ画像またはスライスが、アフィン変換特性を有しない場合、パラメータ情報の送信により、ビットストリームにおけるビットの数が増加する。加えて、アフィン動きモデルが各符号化ブロックに使用されるかどうかを示すパラメータ情報がデコーダ側で解析される必要がある。結果として、デコーダの負荷が増加し得、処理速度が低減し得、処理時間が増加し得る。
【０３１７】
これに基づき、本願の実施形態は、ビデオ画像予測方法および装置を提供し、ビットストリームにおけるビットの数が増加するという従来技術における問題を解決する。方法および装置は同じ発明的概念に基づいている。方法の問題解決の原理は装置のものと同様であるので、装置および方法の実装に対して相互参照してよい。繰り返しの説明は提供されない。
【０３１８】
前述の問題を解決するべく、本願の実施形態は以下の複数の可能な実装を提供するが、これに限定されない。
【０３１９】
第１の可能な実装において、例えば、いくつかのビデオ画像は、いくつかのアフィン特性を有し得、いくつかのビデオ画像はアフィン特性を有しないことがあり得る。この場合、アフィン動きモデル型インター予測モードがビデオ画像について有効であるかどうかを示すために、識別子がビットストリームに追加され得る。
【０３２０】
第２の可能な実装において、例えば、ビデオ画像におけるすべてのスライスがアフィン特性を有するわけではなく、アフィン動きモデル型インター予測モードがスライスについて有効であるかどうかを示すために識別子がビットストリームに追加され得る。
【０３２１】
第３の可能な実装において、例えば、いくつかのビデオ画像はアフィン特性を有さず、いくつかのビデオ画像のすべてのスライスがアフィン特性を有するわけではない。この場合、２つのタイプの識別子がビットストリームに追加され得る。第１タイプの識別子が、アフィン動きモデル型インター予測モードがビデオ画像について有効であるかどうかを示すために使用され、第２タイプの識別子が、アフィン動きモデル型インター予測モードがビデオ画像におけるスライスついて有効であるかどうかを示すために使用される。
【０３２２】
後の説明を容易にするために、アフィン動きモデル型インター予測モードがビデオ画像について有効であるかどうかを示すために使用される識別子は、識別子１と称され、アフィン動きモデル型インター予測モードがビデオ画像に含まれるスライスについて有効であるかどうかを示すために使用される識別子は識別子２と称される。
【０３２３】
前述の３つの可能な実装において、アフィン動きモデルを使用する必要がないビデオ画像またはスライスに含まれる画像ブロックについて、画像ブロックのアフィン動きモデルに関連するパラメータ、例えば、表１におけるａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ、またはａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇを送信する必要がないことがあり得る。デコーダ側において、画像ブロックの復号中、アフィン動きモデルに関連するパラメータは解析される必要がない。これにより、デコーダの負荷を低減し、処理速度を増加し、処理時間を減少させることができる。
【０３２４】
以下では、付属の図面を参照しながら、デコーダ側の観点から、本願において提供される前述の複数の可能な実装を詳細に説明する。具体的には、可能な実装は、ビデオデコーダ３０によって実行され得る、または、ビデオデコーダにおける動き補償モジュールによって実行され得る、または、プロセッサによって実行され得る。
【０３２５】
図７を参照されたい。第１の可能な実装が説明される。
【０３２６】
段階７０１：ビットストリームを解析して識別子１を取得する。
【０３２７】
識別子１は、処理対象ブロックを含むビデオ画像のインター予測についての候補動きモデルがアフィン動きモデルを含むかどうかを示すために使用される。言い換えれば、識別子１は、アフィン動きモデル型動き補償が、処理対象ブロックを含むビデオ画像について有効であるかどうかを示すために使用される。
【０３２８】
例えば、識別子１は、ビットストリームのＳＰＳにおいて構成され得る。これに基づいて、ビットストリームを解析して識別子１を取得することは、ビットストリームのＳＰＳを解析して識別子１を取得する方式で実装され得る。
【０３２９】
段階７０２：識別子１が、処理対象ブロックを含むビデオ画像のインター予測についての候補動きモデルはアフィン動きモデルを含むことを示し、かつ、処理対象ブロックが、アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすとき、ビットストリームを解析して識別子１２を取得する。
【０３３０】
任意選択で、事前設定された条件は、以下の場合の少なくとも１つを含み得る。
【０３３１】
処理対象ブロックの幅は第１事前設定閾値以上であり、処理対象ブロックの高さは第２事前設定閾値以上である。
【０３３２】
第１事前設定閾値は第２事前設定閾値に等しいことがあり得る。例えば、インター予測モードがマージモードであるとき、事前設定された条件は、処理対象ブロックの幅が８以上であること、および、処理対象ブロックの高さが８以上であることであり得る。インター予測モードがＡＭＶＰモードであるとき、事前設定された条件は、処理対象ブロックの幅が１６以上であること、および、処理対象ブロックの高さが１６以上であることであり得る。
【０３３３】
例えば、インター予測モードがマージモードであるとき、処理対象ブロックが、アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすかどうかは、変数ａｌｌｏｗＡｆｆｉｎｅＭｅｒｇｅによって表され得る。例えば、インター予測モードがＡＭＶＰモードであるとき、処理対象ブロックが、アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすかどうかは、変数ａｌｌｏｗＡｆｆｉｎｅＩｎｔｅｒによって表され得る。ａｌｌｏｗＡｆｆｉｎｅＭｅｒｇｅおよびａｌｌｏｗＡｆｆｉｎｅＩｎｔｅｒの関連する説明については表を参照１されたい。ここでは詳細を再度説明しない。
【０３３４】
例えば、識別子１が、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含まないことを示すとき、アフィン動きモデルに関連するパラメータ情報は、ビデオ画像の画像ブロックに対してインター予測が実行されるときに解析される必要がない。例えば、ビットストリームは、識別子１２を取得するために解析される必要はない。
【０３３５】
例えば、識別子１が値Ａであるとき、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを示し、または、識別子１が値Ｂであるとき、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルはアフィン動きモデルを含まないことを示す。例えば、識別子１が１であるとき、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを示し、または、識別子１が０であるとき、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルはアフィン動きモデルを含まないことを示す。
【０３３６】
段階７０３：識別子１２に基づいて、処理対象ブロックのインター予測についての予測モードを決定する。予測モードは、アフィン動きモデル型マージモード、アフィン動きモデル型ＡＭＶＰモード、および非アフィン動きモデル型予測モードを含む。
【０３３７】
例えば、識別子１は、シンタックス要素ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇによって表され得る。ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、アフィンモデル型動き補償がインター予測について有効であるかどうかを指定する（ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、アフィンモデル型動き補償をインター予測に使用できるかどうかを指定する）。例えば、ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇは０に等しく、アフィンモデル型動き補償がＣＶＳにおいて使用されないようにシンタックス要素が制限され、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇおよびａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇがＣＶＳの画像ブロックレベルシンタックスにおいて示されない。ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇは１に等しく、アフィンモデル型動き補償はＣＶＳにおいて使用され得る。（ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０に等しい場合、アフィンモデル型動き補償がＣＶＳにおいて使用されないようにシンタックス要素が制限され、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇおよびａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇはＣＶＳの符号化単位レベルのシンタックスにおいて示されない。そうでない場合（ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しい）、アフィンモデル型動き補償がＣＶＳにおいて使用され得る。）
【０３３８】
例えば、インター予測モードがＡＭＶＰモードであるとき、識別子１２は、シンタックス要素ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇによって表され得る、または、インター予測モードがマージモードであるとき、識別子１２はシンタックス要素ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇによって表され得る。ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇおよびａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇの関連する説明については、表１の説明を参照されたい。ここでは詳細を再度説明しない。
【０３３９】
第１の可能な実装において、可能な例では、識別子１３は更にビットストリームにおいて構成され得る。識別子１３はビットストリームのシーケンスパラメータセットにおいて構成され得る。アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用される場合、ビットストリームを解析することによって取得される識別子１が、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを示すとき、ビットストリームが解析されて、識別子１３を取得する。識別子１３が第１の値であるとき、アフィン動きモデルは、４パラメータアフィンモデルのみを含む。または、識別子１３が第２の値であるとき、アフィン動きモデルは４パラメータアフィンモデルおよび６パラメータアフィンモデルを含む。第１の値は第２の値と異なる。例えば、第１の値は１であり、第２の値は０である。または、第１の値は０であり、第２の値は１である。
【０３４０】
例えば、識別子１３はｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇによって表され得る。ｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、６パラメータアフィンモデル型動き補償がインター予測について有効であるかどうかを指定する。例えば、ｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは０に等しく、シンタックス要素は、６パラメータアフィンモデル型動き補償がＣＶＳにおいて使用されないように制限され、ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇはＣＶＳにおける画像ブロックレベルシンタックスにおいて示されない。（ｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、６パラメータアフィンモデル型動き補償をインター予測に使用できるかどうかを指定する。ｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが０に等しい場合、シンタックス要素は、６パラメータアフィンモデル型動き補償がＣＶＳにおいて使用されないように制限され、ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇはＣＶＳにおけるｃｕレベルシンタックスにおいて示されない。そうでない場合（ｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが１に等しい）、６パラメータアフィンモデル型動き補償がＣＶＳにおいて使用され得る。存在しないとき、ｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇの値は０に等しいと推定される。
【０３４１】
第１の可能な実装において、可能な例では、識別子１２が、アフィン動きモデル型ＡＭＶＰモードが処理対象ブロックのインター予測に使用されることを示し、識別子１３が第２の値であるとき、識別子１４を取得するためにビットストリームが解析される必要がある。識別子１４が第３の値であるとき、アフィン動きモデルは６パラメータアフィン動きモデルである。または、識別子１４が第４の値であるとき、アフィン動きモデルは４パラメータアフィン動きモデルである。第３の値は第４の値と異なる。例えば、第３の値は１であり、第４の値は０である。または、第３の値は０であり、第４の値は１である。
【０３４２】
例えば、識別子１４は、ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇによって表され得る。ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが、６パラメータアフィン動きモデル型動き補償を画像ブロックのインター予測に使用できるかどうかを示すために使用される。例えば、ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇ＝０であるとき、６パラメータアフィン動きモデル型動き補償を画像ブロックのインター予測に使用できないことを示す。
【０３４３】
例えば、識別子１および識別子１３を解析するためのシンタックス構造については、表３を参照されたい。ｕ（１）は連続する１ビットを更に読み取ることを表し、符号なし整数として解釈される。  表３
【表３】
2021535672.tif 000034
【０３４４】
例えば、現在の画像ブロックに使用されるインター予測モードを解析するためのシンタックス構造の一部については、表４を参照されたい。
表４
【表４】
2021535672.tif 000035
【０３４５】
第１の可能な実装において、可能な例では、識別子１および識別子１３を取得するためにビットストリームが解析される場合、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを識別子１２が示し、かつ、識別子１３が第２の値であるとき、第１候補動きベクトルリストが構築される。第１候補動きベクトルリストは第１要素を含み、第１要素は、６パラメータアフィン動きモデルを構築するための３つの制御点の動き情報を含む。例えば、第１要素は１または複数の３タプルを含む。
【０３４６】
任意選択で、第１候補動きベクトルリストは更に第２要素を含み得る。第２要素は、４パラメータアフィン動きモデルを構築するための２つの制御点の動き情報のみを含む。例えば、第２要素は１または複数の２タプルを含む。第１候補動きベクトルリストは更に第３要素を含み得、第３要素は非アフィン動きモデルの動き情報を含む。
【０３４７】
別の可能な例において、識別子１２が、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを示し、かつ、識別子１３が第１の値であるとき、第２候補動きベクトルリストが構築される。第２候補動きベクトルリストは第２要素を含み、第２要素は４パラメータアフィン動きモデルを構築するための２つの制御点の動き情報のみを含む。第２候補動きベクトルリストは第１要素を含まない。第２候補動きベクトルリストは第３要素を更に含み得、第３要素は非アフィン動きモデルの動き情報を含む。第１候補動きベクトルリストおよび第２候補動きベクトルリストの両方は、アフィン動きモデル型マージモードについての候補動きベクトルリストである。
【０３４８】
第１の可能な実装において、可能な例では、識別子１および識別子１３を取得するためにビットストリームが解析される場合、識別子１２が、アフィン動きモデル型ＡＭＶＰモードが処理対象ブロックおインター予測に使用されることを示し、かつ、識別子１３が第２の値であるとき、識別子１４を取得するためにビットストリームが解析される。識別子１４が第３の値であるとき、アフィン動きモデルは６パラメータアフィン動きモデルであり、または、識別子１４が第４の値であるとき、アフィン動きモデルは４パラメータアフィン動きモデルである。第３の値は第４の値と異なる。例えば、第３の値は１であり、第４の値は０である。または、第３の値は０であり、第４の値は１である。
【０３４９】
任意選択で、識別子１４は、シンタックス要素ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇによって表され得る。ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇについては、表１における関連する説明を参照されたい。ここでは詳細を再度説明しない。
【０３５０】
以下では、表３および表４におけるシンタックス構造を例として使用して、図８に示されるような第１の可能な方式で実行されるインター予測プロシージャを詳細に説明する。
【０３５１】
段階８０１ａ：表３および表４に示されるシンタックス構造に基づいてビットストリームを解析し、現在のブロックおインター予測モードを決定する。
【０３５２】
現在のブロックのインター予測モードがアフィン動きモデル型ＡＭＶＰモードであると決定される場合、段階８０２ａが実行される。
【０３５３】
すなわち、シンタックス要素においてｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１、ｍｅｒｇｅ＿ｆｌａｇ＝０、およびａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ＝１である場合、現在のブロックのインター予測モードはアフィン動きモデル型ＡＭＶＰモードであると示す。
【０３５４】
例えば、シンタックス要素においてｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１、ｍｅｒｇｅ＿ｆｌａｇ＝０、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ＝１、およびｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇ＝１である場合、ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇを取得するためにビットストリームを解析する必要がある。解析されたａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが１に等しい場合、現在のブロックのインター予測モードが６パラメータアフィン動きモデル型ＡＭＶＰモードであることを示す。または、解析を通じて取得されたａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが０に等しい場合、現在のブロックのインター予測モードが４パラメータアフィン動きモデル型ＡＭＶＰモードであることを示す。
【０３５５】
例えば、シンタックス要素においてｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１、ｍｅｒｇｅ＿ｆｌａｇ＝０、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ＝１、およびｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇ＝０である場合、現在のブロックのインター予測モードが４パラメータアフィン動きモデル型ＡＭＶＰモードであることを示する。この場合、ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇを解析する必要はない。
【０３５６】
例えば、シンタックス要素においてｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝０であり、ｍｅｒｇｅ＿ｆｌａｇ＝０である場合、現在のブロックのインター予測モードが並進運動モデル型ＡＭＶＰモードであることを示す。この場合、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ、およびａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、ビットストリームに含まれなくてよく、ビットストリームを解析することによって取得される必要がない。
【０３５７】
現在のブロックのインター予測モードがアフィン動きモデル型マージ（ｍｅｒｇｅ）モードであると決定される場合、段階８０２ｂが実行される。
【０３５８】
すなわち、シンタックス要素においてｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１であり、ｍｅｒｇｅ＿ｆｌａｇ＝１であり、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ＝１であり、現在のブロックのインター予測モードがアフィン動きモデル型マージモードであることを示す。
【０３５９】
例えば、シンタックス要素においてｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１であり、ｍｅｒｇｅ＿ｆｌａｇ＝０である場合、現在のブロックのインター予測モードが並進運動モデル型マージモードであることを示す。この場合、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ、およびａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、ビットストリームに含まれなくてよく、ビットストリームを解析することによって取得される必要がない。
【０３６０】
段階８０２ａから段階８０４ａについては、段階６０２ａから段階６０４ａを参照されたい。ここでは詳細を再度説明しない。
【０３６１】
段階８０２ｂ：アフィン動きモデル型マージモードについての動き情報候補リストを構築する。
【０３６２】
具体的には、継承された制御点動きベクトルおよび／または構築された制御点動きベクトルを予測するための方法を使用することによって、アフィン動きモデル型マージモードの動き情報候補リストが構築され得る。
【０３６３】
継承された制御点動きベクトルを予測するための方法を使用することによって、アフィン動きモデル型マージモードについての動き情報候補リストを構築することについては、段階６０２ｂにおけるＤ１の関連する説明を参照されたい。ここでは詳細を再度説明しない。
【０３６４】
現在のブロックの候補制御点動き情報が、構築された制御点動きベクトルを予測するための方法を使用することによって導出され、動き情報候補リストに追加されるとき、方法は具体的には以下の段階を含む。
【０３６５】
（１）現在のブロックの制御点の動き情報を取得する。詳細については段階６０１ｃを参照されたい。ここでは詳細を再度説明しない。
【０３６６】
（２）制御点の動き情報を組み合わせて、構築された制御点動き情報を取得する。
【０３６７】
ｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇ＝０である場合、２つの制御点の動き情報が組み合わされて、４パラメータアフィン動きモデルを構築する。２つの制御点は、｛ＣＰ１，ＣＰ４｝、｛ＣＰ２，ＣＰ３｝、｛ＣＰ１，ＣＰ２｝、｛ＣＰ２，ＣＰ４｝、｛ＣＰ１，ＣＰ３｝、または｛ＣＰ３，ＣＰ４｝のように組み合わされる。例えば、制御点ＣＰ１およびＣＰ２の動き情報（例えば２ＭＶ）に基づく２タプルを使用することによって構築される４パラメータアフィン動きモデルはＡｆｆｉｎｅ（ＣＰ１，ＣＰ２）として表される。
【０３６８】
ｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇ＝１である場合、３つの制御点の動き情報が組み合わされて、６パラメータアフィン動きモデルを構築する。３つの制御点は、｛ＣＰ１，ＣＰ２，ＣＰ４｝、｛ＣＰ１，ＣＰ２，ＣＰ３｝、｛ＣＰ２，ＣＰ３，ＣＰ４｝または｛ＣＰ１，ＣＰ３，ＣＰ４｝のように組み合わされる。例えば、制御点ＣＰ１、ＣＰ２およびＣＰ３の動き情報（例えば３ＭＶ）に基づく３タプルを使用することによって構築される６パラメータアフィン動きモデルはＡｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ３）として表される。例えば、ｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇ＝１である場合、３つの制御点の動き情報を組み合わせて６パラメータアフィン動きモデルを構築することに加えて、２つの制御点の動き情報が更に組み合わされて、４パラメータアフィン動きモデルを構築し得る。
【０３６９】
異なる制御点の組み合わせはまた、同一位置における制御点に変換され得ることに留意すべきである。具体的な変換方法については、段階５０２における関連する説明を参照されたい。ここでは詳細を再度説明しない。
【０３７０】
（３）構築された制御点動き情報を候補動きベクトルリストに追加する。
【０３７１】
この時点で、候補リストの長さが最大リスト長ＭａｘＮｕｍＭｒｇＣａｎｄより小さい場合、これらの組み合わせが事前設定された順序でトラバースされ、有効な組み合わせを候補制御点動き情報として取得する。この時点で候補動きベクトルリストが空である場合、候補制御点動き情報が候補動きベクトルリストに追加される。そうでない場合、候補動きベクトルリストにおける動き情報が順次にトラバースされ、候補制御点動き情報と同一である動き情報が候補動きベクトルリストに存在するかどうかをチェックする。候補制御点動き情報と同一である動き情報が候補動きベクトルリストに存在しない場合、候補制御点動き情報が候補動きベクトルリストに追加される。
【０３７２】
例えば、ｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが１である場合、事前設定された順序は、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ３）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ３，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ２，ＣＰ３，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ３）−＞Ａｆｆｉｎｅ（ＣＰ２，ＣＰ３）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ２，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ３，ＣＰ４）である。合計で１０の組み合わせがある。１０の組み合わせを候補動きベクトルリストに追加する順序は本願の本実施形態において具体的には限定されない。
【０３７３】
ｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが０である場合、事前設定された順序は、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ３）−＞Ａｆｆｉｎｅ（ＣＰ２，ＣＰ３）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ２，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ３，ＣＰ４）である。合計で６の組み合わせがある。６の組み合わせを候補動きベクトルリストに追加する順序は、本願の本実施形態において具体的には限定されない。
【０３７４】
段階８０３ｂから段階８０５ｂについては、段階６０３ｂから段階６０５ｂを参照されたい。ここでは詳細を再度説明しない。
【０３７５】
図９を参照すると、第２の可能な実装が説明される。
【０３７６】
段階９０１：ビットストリームを解析して識別子２を取得する。
【０３７７】
識別子２は、処理対象ブロックを含むスライスにおける画像ブロックのインター予測のための候補動きモデルがアフィン動きモデルを含むかどうかを示すために使用される。言い換えれば、識別子２は、処理対象ブロックを含むスライスに含まれる画像ブロックに対して動き補償が実行されるとき、アフィン動きモデルを使用できるかどうかを示すために使用される。
【０３７８】
例えば、識別子２は、ビットストリームのスライスのスライスヘッダにおいて構成され得る。これに基づいて、ビットストリームを解析して識別子２を取得することは、ビットストリームのスライスのスライスヘッダを解析して識別子２を取得するという方式で実装され得る。
【０３７９】
段階９０２：識別子２が、処理対象ブロックを含むスライスにおける画像ブロックのインター予測についての候補動きモデルはアフィン動きモデルを含むことを示し、かつ、処理対象ブロックが、アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすとき、ビットストリームを解析して識別子１２を取得する。
【０３８０】
事前設定された条件および識別子１２の関連する説明については、図７および図８に対応する実施形態を参照されたい。ここでは詳細を再度説明しない。
【０３８１】
例えば、識別子２が、処理対象ブロックを含むスライスの画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含まないことを示すとき、アフィン動きモデルに関連するパラメータ情報は、スライスの画像ブロックに対してインター予測が実行されるときに解析される必要がない。例えば、ビットストリームを解析して識別子１２を取得する必要はない。
【０３８２】
例えば、識別子２が値Ａ１であるとき、処理対象ブロックを含むスライスにおける画像ブロックのインター予測についての候補動きモデルはアフィン動きモデルを含むことを示す。または、識別子２が値Ｂ１であるとき、処理対象ブロックを含むスライスにおける画像ブロックのインター予測についての候補動きモデルはアフィン動きモデルを含むことを示す。例えば、識別子２が１に等しいとき、処理対象ブロックを含むスライスにおける画像ブロックのインター予測についての候補動きモデルはアフィン動きモデルを含むことを示す。または、識別子２が０に等しいとき、処理対象ブロックを含むスライスにおける画像ブロックのインター予測についての候補動きモデルはアフィン動きモデルを含まないことを示す。
【０３８３】
段階９０３：識別子１２に基づいて、処理対象ブロックのインター予測についての予測モードを決定する。予測モードは、アフィン動きモデル型マージモード、アフィン動きモデル型ＡＭＶＰモード、および非アフィン動きモデル型予測モードを含む。
【０３８４】
例えば、識別子２は、シンタックス要素ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇによって表され得る。ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、アフィンモデル型動き補償がインター予測について有効であるかどうかを指定する。例えば、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０に等しく、シンタックス要素は、アフィンモデル型動き補償がスライスのために使用されないように制限され、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇおよびａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇはＣＶＳの画像ブロックレベルシンタックスにおいて示されない。ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇは１に等しく、アフィンモデル型動き補償はスライスのために使用され得る。（ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇが、アフィンモデル型動き補償をインター予測に使用できるかどうかを指定する。ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０に等しい場合、アフィンモデル型動き補償がスライスに使用されないようにシンタックス要素が制限され、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇおよびａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、ＣＶＳのｃｕレベルシンタックスにおいて示されない。そうでない場合（ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しい）、アフィンモデル型動き補償がスライスにおいて使用され得る）。
【０３８５】
第２の可能な実装において、可能な例では、識別子２３がビットストリームにおいて更に構成され得る。識別子２３は、ビットストリームのスライスのスライスヘッダにおいて構成され得る。ビットストリームを解析することによって取得される識別子２が、処理対象ブロックを含むスライスのインター予測についての候補動きモデルがアフィン動きモデルを含むことを示すとき、ビットストリームは更に解析されて、識別子２３を取得する。識別子２３が第１の値であるとき、アフィン動きモデルは４パラメータアフィンモデルのみを含む。識別子２３が第２の値であるとき、アフィン動きモデルは４パラメータアフィンモデルおよび６パラメータアフィンモデルを含む。第１の値は第２の値と異なる。例えば、第１の値は１であり、第２の値は０である。または、第１の値は０であり、第２の値は１である。
【０３８６】
例えば、識別子２３はｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇによって表され得る。ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、６パラメータアフィンモデル型動き補償がインター予測に有効であるかどうかを指定する。例えば、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは０に等しく、シンタックス要素は、６パラメータアフィンモデル型動き補償がスライスに使用されないように制限され、ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇはＣＶＳにおいて画像ブロックレベルシンタックスで示されない。（ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが、６パラメータアフィンモデル型動き補償をインター予測に使用できるかどうかを指定する。ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが０に等しい場合、シンタックス要素は、６パラメータアフィンモデル型動き補償がスライスにおいて使用されないように制限され、ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、ＣＶＳにおいてｃｕレベルシンタックスで示されない。そうでない場合（ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが１に等しい）、６パラメータアフィンモデル型動き補償がスライスにおいて使用され得る。存在しないとき、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇの値は０に等しいと推定される。
【０３８７】
例えば、識別子２および識別子２３を解析するためのシンタックス構造については、表５を参照されたい。
表５
【表５】
2021535672.tif 000036
【０３８８】
例えば、現在の画像ブロックに使用されるインター予測モードを解析するためのシンタックス構造の一部については、表６を参照されたい。
表６
【表６】
2021535672.tif 000037
【０３８９】
第２の可能な実装において、可能な例では、識別子２および識別子２３がビットストリームを解析することによって取得される場合、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを識別子１２が示し、かつ、識別子２３が第２の値であるとき、第１候補動きベクトルリストが構築される。第１候補動きベクトルリストは第１要素を含み、第１要素は、６パラメータアフィン動きモデルを構築するための３つの制御点の動き情報を含む。例えば、第１要素は１または複数の３タプルを含む。
【０３９０】
任意選択で、第１候補動きベクトルリストは更に第２要素を含み得る。第２要素は、４パラメータアフィン動きモデルを構築するための２つの制御点の動き情報のみを含む。例えば、第２要素は１または複数の２タプルを含む。第１候補動きベクトルリストは更に第３要素を含み得、第３要素は非アフィン動きモデルの動き情報を含む。
【０３９１】
別の可能な例において、識別子１２が、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを示し、かつ、識別子２３が第１の値であるとき、第２候補動きベクトルリストが構築される。第２候補動きベクトルリストは第２要素を含み、第２要素は４パラメータアフィン動きモデルを構築するための２つの制御点の動き情報のみを含む。第２候補動きベクトルリストは第１要素を含まない。第２候補動きベクトルリストは第３要素を更に含み得、第３要素は非アフィン動きモデルの動き情報を含む。第１候補動きベクトルリストおよび第２候補動きベクトルリストの両方は、アフィン動きモデル型マージモードについての候補動きベクトルリストである。
【０３９２】
第２の可能な実装において、可能な例では、識別子２および識別子２３がビットストリームを解析することによって取得される場合、識別子１２がアフィン動きモデル型ＡＭＶＰモードが処理対象ブロックのインター予測に使用されることを示し、かつ、識別子２３が第２の値であるとき、ビットストリームが解析され、識別子１４を取得する。識別子１４が第３の値であるとき、アフィン動きモデルは６パラメータアフィン動きモデルである。または、識別子１４が第４の値であるとき、アフィン動きモデルは４パラメータアフィン動きモデルである。第３の値は第４の値と異なる。例えば、第３の値は１であり、第４の値は０である。または、第３の値は０であり、第４の値は１である。
【０３９３】
任意選択で、識別子１４は、シンタックス要素ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇによって表され得る。ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇについては、表１における関連する説明を参照されたい。ここでは詳細を再度説明しない。
【０３９４】
以下では、表５および表６におけるシンタックス構造を例として使用して、図１０に示されるような第２の可能な方式で実行されるインター予測プロシージャを詳細に説明する。
【０３９５】
段階１００１：表５および表６に示されるシンタックス構造に基づいてビットストリームを解析し、現在のブロックのインター予測モードを決定する。
【０３９６】
現在のブロックのインター予測モードがアフィン動きモデル型ＡＭＶＰモードであると決定された場合、段階１００２ａが実行される。
【０３９７】
すなわち、シンタックス要素においてｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１、ｍｅｒｇｅ＿ｆｌａｇ＝０、およびａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ＝１である場合、現在のブロックのインター予測モードがアフィン動きモデル型ＡＭＶＰモードであることを示す。
【０３９８】
例えば、シンタックス要素においてｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝０であり、ｍｅｒｇｅ＿ｆｌａｇ＝０である場合、現在のブロックのインター予測モードが並進運動モデル型ＡＭＶＰモードであることを示す。この場合、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ、およびａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、ビットストリームに含まれなくてよく、ビットストリームを解析することによって取得される必要がない。
【０３９９】
現在のブロックのインター予測モードがアフィン動きモデル型マージ（ｍｅｒｇｅ）モードであると決定される場合、段階７０２ｂが実行される。
【０４００】
すなわち、シンタックス要素においてｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１であり、ｍｅｒｇｅ＿ｆｌａｇ＝１であり、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ＝１であり、現在のブロックのインター予測モードがアフィン動きモデル型マージモードであることを示す。
【０４０１】
例えば、シンタックス要素においてｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１であり、ｍｅｒｇｅ＿ｆｌａｇ＝０である場合、現在のブロックのインター予測モードが並進運動モデル型マージモードであることを示す。この場合、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ、およびａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、ビットストリームに含まれなくてよく、ビットストリームを解析することによって取得される必要がない。
【０４０２】
段階１００２ａから段階１００４ａについては、段階６０２ａから段階６０４ａを参照されたい。ここでは詳細を再度説明しない。
【０４０３】
段階１００２ｂ：アフィン動きモデル型マージモードについての動き情報候補リストを構築する。
【０４０４】
具体的には、継承された制御点動きベクトルおよび／または構築された制御点動きベクトルを予測するための方法を使用することによって、アフィン動きモデル型マージモードの動き情報候補リストが構築され得る。
【０４０５】
継承された制御点動きベクトルを予測するための方法を使用することによって、アフィン動きモデル型マージモードについての動き情報候補リストを構築することについては、段階６０２ｂにおけるＤ１の関連する説明を参照されたい。ここでは詳細を再度説明しない。
【０４０６】
現在のブロックの候補制御点動き情報が、構築された制御点動きベクトルを予測するための方法を使用することによって導出され、動き情報候補リストに追加されるとき、方法は具体的には以下の段階を含む。
【０４０７】
（１）現在のブロックの制御点の動き情報を取得する。詳細については段階６０１ｃを参照されたい。ここでは詳細を再度説明しない。
【０４０８】
（２）制御点の動き情報を組み合わせて、構築された制御点動き情報を取得する。
【０４０９】
ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇ＝０である場合、２つの制御点の動き情報が組み合わされて、４パラメータアフィン動きモデルを構築する。２つの制御点は、｛ＣＰ１，ＣＰ４｝，｛ＣＰ２，ＣＰ３｝，｛ＣＰ１，ＣＰ２｝，｛ＣＰ２，ＣＰ４｝，｛ＣＰ１，ＣＰ３｝，または｛ＣＰ３，ＣＰ４｝のように組み合わされる。例えば、制御点ＣＰ１およびＣＰ２を使用することによって構築される４パラメータアフィン動きモデルは、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２）として表される。
【０４１０】
ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇ＝１である場合、３つの制御点の動き情報が組み合わされ、６パラメータアフィン動きモデルを構築する。３つの制御点は、｛ＣＰ１，ＣＰ２，ＣＰ４｝、｛ＣＰ１，ＣＰ２，ＣＰ３｝、｛ＣＰ２，ＣＰ３，ＣＰ４｝または｛ＣＰ１，ＣＰ３，ＣＰ４｝のように組み合わされる。例えば、制御点ＣＰ１、ＣＰ２およびＣＰ３を使用することによって構築される６パラメータアフィン動きモデルはＡｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ３）として表される。例えば、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇ＝１である場合、３つの制御点の動き情報を組み合わせて６パラメータアフィン動きモデルを構築することに加えて、２つの制御点の動き情報が更に組み合わされて、４パラメータアフィン動きモデルを構築し得る。
【０４１１】
異なる制御点の組み合わせはまた、同一位置における制御点に変換され得ることに留意すべきである。特定の変換方法については、段階５０２における関連する説明を参照されたい。ここでは詳細を再度説明しない。
【０４１２】
（３）構築された制御点動き情報を候補動きベクトルリストに追加する。
【０４１３】
この時点で候補リストの長さが最大リスト長ＭａｘＮｕｍＭｒｇＣａｎｄより小さい場合、これらの組み合わせが事前設定された順序でトラバースされ、有効な組み合わせを候補制御点動き情報として取得する。この時点で候補動きベクトルリストが空である場合、候補制御点動き情報が候補動きベクトルリストに追加される。そうでない場合、候補動きベクトルリストにおける動き情報が順次にトラバースされ、候補制御点動き情報と同一である動き情報が候補動きベクトルリストに存在するかどうかをチェックする。候補制御点動き情報と同一である動き情報が候補動きベクトルリストに存在しない場合、候補制御点動き情報が候補動きベクトルリストに追加される。
【０４１４】
例えば、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが１である場合、事前設定された順序は、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ３）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ３，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ２，ＣＰ３，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ３）−＞Ａｆｆｉｎｅ（ＣＰ２，ＣＰ３）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ２，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ３，ＣＰ４）である。合計で１０の組み合わせがある。１０の組み合わせを候補動きベクトルリストに追加する順序は本願の本実施形態において具体的には限定されない。
【０４１５】
ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが０である場合、事前設定された順序は、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ３）−＞Ａｆｆｉｎｅ（ＣＰ２，ＣＰ３）−＞Ａｆｆｉｎｅ（ＣＰ１，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ２，ＣＰ４）−＞Ａｆｆｉｎｅ（ＣＰ３，ＣＰ４）である。合計で６の組み合わせがある。６の組み合わせを候補動きベクトルリストに追加する順序は、本願の本実施形態において具体的には限定されない。
【０４１６】
段階１００３ｂについては、段階６０３ｂを参照されたい。ここでは詳細を再度説明しない。
【０４１７】
段階１００４ｂについては、段階６０４ｂを参照されたい。ここでは詳細を再度説明しない。
【０４１８】
図１１を参照すると、第３の可能な実装が説明される。
【０４１９】
段階１１０１：ビットストリームを解析し、識別子１を取得する。
【０４２０】
段階１１０２：識別子１が、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを示すとき、ビットストリームを解析し、識別子２を取得する。
【０４２１】
例えば、識別子１は、シンタックス要素ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇによって表され得る。ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、アフィンモデル型動き補償がインター予測について有効であるかどうかを指定する。例えば、ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０に等しい場合、アフィンモデル型動き補償がＣＶＳに使用されないことを示し、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇはＣＶＳのスライスレベルシンタックスで示されない。（ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいことは、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇがスライスヘッダに存在することを指定する。ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０に等しいことは、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇがスライスヘッダに存在しないこと、および、アフィンモデル型動き補償がＣＶＳにおいて使用されないことを指定する）。
【０４２２】
可能な例にいおて、識別子１が、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを示す場合、ビットストリームは識別子２を含むことを示す。識別子１が、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含まないことを示す場合、ビットストリームは識別子２を含まないことを示す。
【０４２３】
段階１１０３：識別子２が、処理対象ブロックを含むスライスにおける画像ブロックのインター予測についての候補動きモデルはアフィン動きモデルを含むことを示し、かつ、処理対象ブロックが、アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすとき、ビットストリームを解析して識別子１２を取得する。
【０４２４】
事前設定された条件、識別子１、識別子２、および識別子１２の関連する説明については、図９および図１０に対応する実施形態を参照されたい。ここでは詳細を再度説明しない。
【０４２５】
段階１１０４：識別子１２に基づいて、処理対象ブロックのインター予測についての予測モードを決定する。予測モードは、アフィン動きモデル型マージモード、アフィン動きモデル型ＡＭＶＰモード、および非アフィン動きモデル型モードを含む。
【０４２６】
第３の可能な実装において、可能な例では、識別子２３は更にビットストリームにおいて構成され得る。識別子２３はビットストリームのスライスのスライスヘッダにおいて構成され得る。ビットストリームを解析することによって取得される識別子２が、処理対象ブロックを含むスライスにおける画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを示すとき、ビットストリームは解析され、識別子２３を取得する。識別子２３が第１の値であるとき、アフィン動きモデルは４パラメータアフィンモデルのみを含む。識別子２３が第２の値であるとき、アフィン動きモデルは、４パラメータアフィンモデルおよび６パラメータアフィンモデルを含む。第１の値は第２の値と異なる。例えば、第１の値は１であり、第２の値は０である。または、第１の値は０であり、第２の値は１である。
【０４２７】
例えば、識別子１を解析するためのシンタックス構造については、表７を参照されたい。  表７
【表７】
2021535672.tif 000038
【０４２８】
例えば、識別子２および識別子２３を解析するためのシンタックス構造については、表８を参照されたい。ここでは詳細を再度説明しない。
表８
【表８】
2021535672.tif 000039
【０４２９】
例えば、現在の画像ブロックに使用されるインター予測モードを解析するためのシンタックス構造の一部については、表６を参照されたい。
【０４３０】
第３の可能な方式におけるインター予測プロシージャにおいて、現在のブロックのインター予測モードを決定するためにビットストリームを解析するプロシージャのみが第２の可能な方式と異なり、他のプロシージャは同一である。ここでは詳細を再度説明しない。
【０４３１】
現在のブロックのインター予測モードを決定するためにビットストリームが解析されるとき、シンタックス要素においてｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１、ｍｅｒｇｅ＿ｆｌａｇ＝０、およびａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ＝１である場合、現在のブロックのインター予測モードはアフィン動きモデル型ＡＭＶＰモードであることを示す。
【０４３２】
例えば、シンタックス要素においてｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝０かつｍｅｒｇｅ＿ｆｌａｇ＝０である場合、現在のブロックのインター予測モードが並進運動モデル型ＡＭＶＰモードであることを示す。この場合、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ、およびａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、ビットストリームに含まれなくてよく、ビットストリームを解析することによって取得される必要がない。
【０４３３】
例えば、シンタックス要素においてｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝０、ｍｅｒｇｅ＿ｆｌａｇ＝０である場合、現在のブロックのインター予測モードが並進運動モデル型ＡＭＶＰモードであることを示す。この場合、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ、およびａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、ビットストリームに含まれなくてよく、ビットストリームを解析することによって取得される必要がない。
【０４３４】
シンタックス要素において、ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１であり、ｍｅｒｇｅ＿ｆｌａｇ＝１であり、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ＝１である場合、現在のブロックのインター予測モードがアフィン動きモデル型マージモードであることを示す。
【０４３５】
例えば、シンタックス要素においてｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１であり、ｍｅｒｇｅ＿ｆｌａｇ＝０である場合、現在のブロックのインター予測モードが並進運動モデル型マージモードであることを示す。この場合、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ、およびａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、ビットストリームに含まれなくてよく、ビットストリームを解析することによって取得される必要がない。
【０４３６】
例えば、ｓｐｓ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝０、およびｍｅｒｇｅ＿ｆｌａｇ＝１である場合、現在のブロックのインター予測モードは並進運動モデル型マージモードであることを示す。この場合、ａｆｆｉｎｅ＿ｍｅｒｇｅ＿ｆｌａｇ、ａｆｆｉｎｅ＿ｉｎｔｅｒ＿ｆｌａｇ、およびａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、ビットストリームに含まれなくてよく、ビットストリームを解析することによって取得される必要がない。
【０４３７】
第３の可能な実装において、識別子１３は更に、識別子１に基づいてビットストリームにおいて構成され得る。第３の可能な実装において、識別子１３が、アフィン動きモデル型マージモードが処理対象ブロックのインター予測に使用されることを示すとき、識別子１３は更に、ビットストリームが識別子２３を含むかどうかを示し得る。
【０４３８】
段階１１０１において、ビットストリームを解析して識別子１を取得した後、段階１１０２において、ビットストリームを解析して識別子２を取得する前に、方法は更に、ビットストリームを解析して識別子１３を取得することを含む。
【０４３９】
識別子１３はシンタックス要素ｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇによって表され得る。ｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが、６パラメータアフィン動きモデル型動き補償がインター予測に有効されるかどうか、および、ビットストリームがｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇを含むかどうかを示すために使用される。例えば、ｓｐｓ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇ＝０であることは、６パラメータアフィン動きモデル型動き補償がインター予測について有効でないことを示す。この場合、ＣＶＳは、６パラメータアフィン動きモデル型動き補償を示すために使用されるシンタックス要素を含まない。例えば、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇまたはａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、ＣＶＳの画像ブロックレベルシンタックスで示されない。（ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、６パラメータアフィンモデル型動き補償をインター予測に使用できるかどうかを指定する。ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが０に等しい場合、シンタックス要素は、６パラメータアフィンモデル型動き補償が現在の画像の復号に使用されないように制限され、ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇは、現在の画像のｃｕレベルシンタックスで示されない。そうでない場合（ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇが１に等しい）、６パラメータアフィンモデル型動き補償は現在の画像お復号に使用され得る。存在しないとき、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｔｙｐｅ＿ｆｌａｇの値は０に等しいと推定される。
【０４４０】
例えば、識別子１および識別子１３を解析するためのシンタックス構造については表９を参照されたい。  表９
【表９】
2021535672.tif 000040
【０４４１】
例えば、識別子２および識別子２３を解析するためのシンタックス構造については表１０を参照されたい。  表１０
【表１０】
2021535672.tif 000041
【０４４２】
当該方法の実施形態と同じ発明的概念に基づいて、本願の実施形態は更に装置を提供する。図１２を参照すると、装置１２００は具体的には、ビデオデコーダにおけるプロセッサ、チップ、もしくはチップシステム、または、ビデオデコーダにおけるモジュール、例えば動き補償モジュール３２２であり得る。
【０４４３】
例えば、装置は解析ユニット１２０１および構築ユニット１２０２を含み得る。解析ユニット１２０１および構築ユニット１２０２は、図７から図１１に対応する実施形態において示される方法における段階を実行する。例えば、解析ユニット１２０１は、ビットストリームに含まれる識別子（例えば、識別子１、識別子１２、識別子１３、識別子１４、識別子２、および識別子２３）を解析するように構成され得、構築ユニット１２０２は、候補動きベクトルリスト（第１候補動きベクトルリスト、第２候補動きベクトルリスト、または同様のもの）を構築するよう構成される。
【０４４４】
本願の実施形態は更に、復号装置の別の構造を提供する。図１３に示されるように、装置１３００は通信インタフェース１３１０およびプロセッサ１３２０を含み得る。任意選択で、装置１３００は更にメモリ１３３０を含み得る。メモリ１３３０は、装置の内側または外側に配置され得る。図１２に示される解析ユニット１２０１および構築ユニット１２０２の両方はプロセッサ１３２０によって実装され得る。プロセッサ１３２０は、通信インタフェース１３１０を通じてビデオストリームまたはビットストリームを送信または受信し、図７から図１１における方法を実装するよう構成される。実装処理において、処理プロシージャにおける段階は、プロセッサ１３２０におけるハードウェアの集積論理回路、または、ソフトウェアの形態の命令を使用することによって実装されて、図７から図１１における方法を完了し得る。
【０４４５】
本願の本実施形態における通信インタフェース１３１０は、回路、バス、送受信器、または、情報を交換するよう構成され得る任意の他の装置であり得る。例えば、他の装置は、装置１３００に接続されたデバイスであり得る。例えば、装置がビデオエンコーダであるとき、他の装置はビデオデコーダであり得る。
【０４４６】
本願の本実施形態において、プロセッサ１３２０は、汎用プロセッサ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイまたは別のプログラマブル論理デバイス、ディスクリートゲートまたはトラジスタ論理デバイス、またはディスクリートハードウェアコンポーネントであり得、本願の実施形態において開示される方法、段階、および論理ブロック図を実装または実行できる。汎用プロセッサはマイクロプロセッサ、または、任意の従来のプロセッサまたは同様のものであり得る。本願の実施形態を参照して開示される方法における段階は、ハードウェアプロセッサによって直接実行され得る、または、プロセッサにおけるハードウェアおよびソフトウェアユニットの組み合わせを使用することによって実行され得る。前述の方法を実装するためにプロセッサ１３２０によって実行されるプログラムコードはメモリ１３３０に格納され得る。メモリ１３３０はプロセッサ１３２０に連結される。
【０４４７】
本願の本実施形態における連結は、装置、ユニット、またはモジュール間の間接的連結または通信接続であり、電気的形式、機械的形式、または別の形態であり得、装置、ユニット、またはモジュール間の情報交換に使用される。
【０４４８】
プロセッサ１３２０はメモリ１３３０と連携して動作し得る。メモリ１３３０は不揮発性メモリ、例えば、ハードディスクドライブ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ、ＨＤＤ）またはソリッドステートドライブ（ｓｏｌｉｄ−ｓｔａｔｅ  ｄｒｉｖｅ、ＳＳＤ）であり得る、または、揮発性メモリ（ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）、例えば、ランダムアクセスメモリ（ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）であり得る。メモリ１３３０は、命令またはデータ構造の形態で所望のプログラムコードを搬送または格納するよう構成でき、コンピュータによってアクセスできる任意の他の媒体であるが、これに限定されない。
【０４４９】
本願の本実施形態において、通信インタフェース１３１０、プロセッサ１３２０、およびメモリ１３３０の間の特定の接続媒体は限定されない。本願の本実施形態において、メモリ１３３０、プロセッサ１３２０、および通信インタフェース１３１０は、図１３においてバスを通じて接続され、バスは図１３において太線で表される。他のコンポーネント間の接続モードは単に概略的に説明され、それらの限定されない。バスは、アドレスバス、データバス、および制御バス等に分類され得る。表現を容易にするために、図１３においてはバスを表すのに１つの太線のみが用いられているが、このことは、１つのバスのみ、または１つのタイプのバスのみがあることを意味しない。
【０４５０】
前述の実現可能な実装、および図７から図１１に関連する具体的な実施形態は、本願における１または複数のビデオデータ復号装置を説明する。前述の説明によれば、エンコーダ側は通常、インター予測モードを決定し、インター予測モードをビットストリームに符号化すると理解されるべきである。最後に選択されたインター予測モードが選択された後に、インター予測モードのインジケータ（例えば、前述の説明における識別子１、識別子２、識別子１２、識別子１３、識別子１４、および識別子２３）は、前述の復号方法とは完全に逆である符号化処理に従ってビットストリームに符号化される（それぞれ、復号処理において解析される識別子１、識別子２、識別子１２、識別子１３、識別子１４、および識別子２３に対応する）。エンコーダ側の候補動きベクトルリストの構築は、デコーダ側と完全に一貫していることが理解されるべきである。エンコーダ側の具体的な実施形態は再び説明しない。しかしながら、本願において説明されるビデオ画像予測方法は、符号化装置にも適用可能であることが理解されるべきである。
【０４５１】
本願の実施形態は更に、符号化装置を提供する。図１４に示されるように、装置１４００は通信インタフェース１４１０およびプロセッサ１４２０を含み得る。任意選択で、装置１４００は更にメモリ１４３０を含み得る。メモリ１４３０は装置の内側または外側に配置され得る。プロセッサ１４２０は、通信インタフェース１４１０を通じてビデオストリームまたはビットストリームを送信または受信する。
【０４５２】
一態様において、プロセッサ１４２０は、識別子１をビットストリームに符号化すること、および、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを識別子１が示し、かつ、処理対象ブロックが、アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすとき、識別子１２をビットストリームに符号化することを行うよう構成される。識別子１２は、処理対象ブロックのインター予測についての予測モードを決定するために使用される。予測モードは、アフィン動きモデル型マージモード、アフィン動きモデル型高度動きベクトル予測ＡＭＶＰモード、および非アフィン動きモデル型予測モードを含む。
【０４５３】
別の態様において、プロセッサ１４２０は、識別子３をビットストリームに符号化すること、および、処理対象ブロックを含むスライスにおける画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを識別子３が示し、かつ、処理対象ブロックは、アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすとき、識別子３２をビットストリームに符号化することを行うよう構成される。識別子３２は、処理対象ブロックのインター予測についての予測モードを決定するよう使用される。予測モードは、アフィン動きモデル型マージモード、アフィン動きモデル型高度動きベクトル予測ＡＭＶＰモード、および非アフィン動きモデル型予測モードを含む。
【０４５４】
本願の本実施形態における通信インタフェース１４１０は、回路、バス、送受信器、または、情報を交換するよう構成され得る任意の他の装置であり得る。例えば、他の装置は、装置１４００に接続されたデバイスであり得る。例えば、装置がビデオエンコーダであるとき、他の装置はビデオデコーダであり得る。
【０４５５】
本願の本実施形態において、プロセッサ１４２０は、汎用プロセッサ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイまたは別のプログラマブル論理デバイス、ディスクリートゲートまたはトラジスタ論理デバイス、またはディスクリートハードウェアコンポーネントであり得、本願の実施形態において開示される方法、段階、および論理ブロック図を実装または実行できる。汎用プロセッサはマイクロプロセッサ、または、任意の従来のプロセッサまたは同様のものであり得る。本願の実施形態を参照して開示される方法における段階は、ハードウェアプロセッサによって直接実行され得る、または、プロセッサにおけるハードウェアおよびソフトウェアユニットの組み合わせを使用することによって実行され得る。前述の方法を実装するためにプロセッサ１４２０によって実行されるプログラムコードはメモリ１４３０に格納され得る。メモリ１４３０はプロセッサ１４２０に連結される。
【０４５６】
本願の本実施形態における連結は、装置、ユニット、またはモジュール間の間接的連結または通信接続であり、電気的形式、機械的形式、または別の形態であり得、装置、ユニット、またはモジュール間の情報交換に使用される。
【０４５７】
プロセッサ１４２０はメモリ１４３０と連携して動作し得る。メモリ１４３０は不揮発性メモリ、例えば、ハードディスクドライブ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ、ＨＤＤ）またはソリッドステートドライブ（ｓｏｌｉｄ−ｓｔａｔｅ  ｄｒｉｖｅ、ＳＳＤ）であり得る、または、揮発性メモリ（ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）、例えば、ランダムアクセスメモリ（ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）であり得る。メモリ１４３０は、命令またはデータ構造の形態で所望のプログラムコードを搬送または格納するよう構成でき、コンピュータによってアクセスできる任意の他の媒体であるが、これに限定されない。
【０４５８】
本願の本実施形態において、通信インタフェース１４１０、プロセッサ１４２０、およびメモリ１４３０の間の特定の接続媒体は限定されない。本願の本実施形態において、メモリ１４３０、プロセッサ１４２０、および通信インタフェース１４１０は、図１４においてバスを通じて接続され、バスは図１４において太線で表される。他のコンポーネント間の接続モードは単に概略的に説明され、それらの限定されない。バスは、アドレスバス、データバス、および制御バス等に分類され得る。表現を容易にするために、図１４においてはバスを表すのに１つの太線のみが用いられているが、このことは、１つのバスのみ、または１つのタイプのバスのみがあることを意味しない。
【０４５９】
前述の実施形態に基づき、本願の一実施形態は、コンピュータ記憶媒体を更に提供する。記憶媒体はソフトウェアプログラムを格納する。ソフトウェアプログラムが１または複数のプロセッサによって読み取られ実行されるとき、前述の実施形態の任意の１または複数において提供される方法が実装され得る。コンピュータ記憶媒体は、ＵＳＢフラッシュドライブ、リムーバブルハードディスク、リードオンリーメモリ、ランダムアクセスメモリ、磁気ディスク、または光学ディスクなど、プログラムコードを格納できる任意の媒体を含み得る。
【０４６０】
前述の実施形態に基づいて、本願の実施形態は更にチップを提供する。チップは、前述の実施形態の任意の１または複数における機能、例えば、前述の方法における情報またはメッセージの取得または処理を実装するよう構成されるプロセッサを含む。任意選択で、チップは更にメモリを含み、メモリは、プロセッサによって必要とされ実行されるプログラム命令およびデータを格納するよう構成される。チップはチップを含み得る、または、チップおよび別のディスクリートデバイスを含み得る。
【０４６１】
本願の特定の態様が、ビデオエンコーダ２０およびビデオデコーダ３０を参照して説明されたが、本発明の技術は、多くの他のビデオ符号化および／または復号ユニット、プロセッサ、エンコーダ／デコーダ（ＣＯＤＥＣ）のハードウェアベースの復号ユニットおよび同様のユニットなどの処理ユニット、および同様のものを使用することによって適用され得ることを理解すべきであり得る。加えて、図６Ａから図１１に示され説明される段階は単に実現可能な実装として提供されることを理解されるべきである。言い換えれば、図６Ａから図１１における実現可能な実装において示される段階は、必ずしも図６Ａから図１１に示される順序で実行されず、より少ない、追加の、または代替的な段階が実行され得る。
【０４６２】
更に、実現可能な実装に応じて、本明細書において説明される方法のいずれかにおける特定のアクションまたはイベントは、異なる順序で実行され得るか、アクションまたはイベントが追加され得るか、または、アクションまたはイベントが組み合わされ得る、もしくは省略され得る（例えば、説明されたアクションまたはイベントのすべてが方法の実装に必要であるわけではない）ことが理解されるべきである。更に、特定の実現可能な実装において、アクションまたはイベントは、（例えば）マルチスレッド処理または割り込み処理を受け得る、または、順次にではなく同時に複数のプロセッサによって処理され得る。更に、説明を分かりやすくするために、本願の特定の態様は、単一のモジュールまたはユニットによって実行されるものと説明されるが、本願の技術は、ビデオデコーダに関連するユニットまたはモジュールの組み合わせによって実行され得ることが理解されるべきである。
【０４６３】
１または複数の実現可能な実装において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせを使用することによって実装され得る。ソフトウェアを使用することによって機能が実装される場合、機能は１または複数の命令またはコードとしてコンピュータ可読媒体に格納され得る、または、コンピュータ可読媒体を通じて送信されて、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、コンピュータ可読記憶媒体または通信媒体を含み得る。コンピュータ可読記憶媒体は、データ記憶媒体などの有形の媒体に対応する。通信媒体は、（例えば）通信プロトコルに従って１つの位置から別の位置へのコンピュータプログラムの送信を容易にする任意の媒体を含む。
【０４６４】
この方式において、コンピュータ可読媒体は、例えば、（１）非一時的な有形のコンピュータ可読記憶媒体、または、（２）信号もしくはキャリアなどの通信媒体に対応し得る。データ記憶媒体は、本願において説明される技術を実装するための命令、コード、および／またはデータ構造を取得するために１または複数のコンピュータ、または、１または複数のプロセッサによってアクセスできる任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０４６５】
限定ではなく実現可能な実装として、コンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、または別の光学ディスク記憶装置、磁気ディスク記憶装置もしくは別の磁気記憶装置、フラッシュメモリ、または、命令またはデータ構造の形成で必要なコードを格納するために使用でき、コンピュータによってアクセスできる任意の他の媒体を含み得る。同様に、任意の接続は、コンピュータ可読媒体と適宜称され得る。例えば、命令が同軸ケーブル、光学ファイバケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、または、赤外線、無線、およびマイクロ波などの無線技術を通じてウェブサイト、サーバ、または別のリモート発信元から送信される場合、同軸ケーブル、光学ファイバケーブル、ツイストペア、ＤＳＬ、または、赤外線、無線、およびマイクロ波などの無線技術は、媒体の定義に含まれる。
【０４６６】
しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、キャリア、信号、または別の一時的媒体を含まず、代替的に、非一時的な有形の記憶媒体を意味すると理解されるべきである。本明細書において使用される磁気ディスクおよび光学ディスクは、コンパクトディスク（ＣＤ）、レーザディスク、光学ディスク、デジタルバーサタイルディスク（ＤＶＤ）、フロッピディスク、およびブルーレイ（登録商標）ディスクを含む。磁気ディスクは通常、データを磁気的に複製し、光学ディスクはレーザを通じてデータを光学的に複製する。前述の磁気ディスクおよび光学ディスクの組み合わせもコンピュータ可読媒体の範囲に含まれる。
【０４６７】
命令は、１または複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または他の同等の集積もしくはディスクリートロジック回路などの１または複数のプロセッサによって実行され得る。したがって、本明細書において使用される「プロセッサ」という用語は、前述の構造、または、本明細書において説明される技術を実装するために使用される別の構造のいずれか１つであり得る。加えて、いくつかの態様において、本明細書において説明される機能は、符号化および復号のために構成される専用ハードウェアおよび／またはソフトウェアモジュールにおいて提供され得る、または、組み合わされたコーデックに組み込まれ得る。加えて、当該技術はすべて１または複数の回路または論理要素で実装され得る。
【０４６８】
本願における技術は、無線携帯電話、集積回路（ＩＣ）またはＩＣ（例えばチップセット）のセットを含む様々な装置またはデバイスで実装され得る。開示された技術を実行するよう構成される装置の機能的態様を強調するために、様々なコンポーネント、モジュールまたはユニットが本願において説明されるが、必ずしも異なるハードウェアユニットによって実装されない。より具体的には、上述のように、ユニットはコーデックハードウェアユニットにおいて組み合わされ得る、または、好適なソフトウェアおよび／またはファームウェアと連携して、相互運用性のあるハードウェアユニット（上述のような１または複数のプロセッサを含む）のセットによって提供され得る。
【０４６９】
前述の説明は、本願の特定の実装態様の単なる例にすぎず、本願の保護範囲を限定することが意図されているわけではない。本願に開示された技術的範囲内で当業者により容易に考え出される、あらゆる変形または置き換えは、本願の保護範囲に含まれることになる。したがって、本願の保護範囲は特許請求の範囲の保護範囲に従うことになる。
他の可能な請求項（項目１）  ビデオ画像予測方法であって、
ビットストリームを解析して第１識別子を取得する段階と、
処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを上記第１識別子が示し、かつ、上記処理対象ブロックが、上記アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすとき、上記ビットストリームを解析し、第２識別子を取得する段階と、
上記第２識別子に基づいて、上記処理対象ブロックのインター予測についての予測モードを決定する段階であって、上記予測モードは、アフィン動きモデル型マージモード、アフィン動きモデル型高度動きベクトル予測ＡＭＶＰモード、非アフィン動きモデル型非アフィン動きモデル型予測モードを含む、段階と
を備える方法。（項目２）  ビットストリームを解析して第１識別子を取得する上記段階は、
上記ビットストリームのシーケンスパラメータセットを解析して上記第１識別子を取得する段階を含む、項目１に記載の方法。（項目３）  上記処理対象ブロックを含む上記ビデオ画像における画像ブロックのインター予測についての上記候補動きモデルが上記アフィン動きモデルを含むことを上記第１識別子が示すとき、
上記ビットストリームを解析して第３識別子を取得する段階であって、上記第３識別子が第１の値であるとき、上記アフィン動きモデルは４パラメータアフィンモデルのみを含み、または、上記第３識別子が第２の値であるとき、上記アフィン動きモデルは４パラメータアフィンモデルおよび６パラメータアフィンモデルを含み、上記第１の値は上記第２の値と異なる、段階
を更に備える、項目１または２に記載の方法。（項目４）  上記アフィン動きモデル型マージモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第２の値であるとき、第１候補動きベクトルリストを構築する段階であって、上記第１候補動きベクトルリストは第１要素を含み、上記第１要素は、上記６パラメータアフィン動きモデルを構築するための３つの制御点の動き情報を含む、段階、または、
上記アフィン動きモデル型マージモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第１の値であるとき、第２候補動きベクトルリストを構築する段階であって、上記第２候補動きベクトルリストは第２要素を含み、上記第２要素は、上記４パラメータアフィン動きモデルを構築するための２つの制御点の動き情報のみを含む、段階
を更に備える、項目３に記載の方法。（項目５）  上記アフィン動きモデル型マージモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第２の値であるとき、上記第１候補動きベクトルリストは更に上記第２要素を含む、項目４に記載の方法。（項目６）  上記アフィン動きモデル型ＡＭＶＰモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第２の値であるとき、上記ビットストリームを解析して第４識別子を取得する段階を更に備え、
上記第４識別子が第３の値であるとき、上記アフィン動きモデルは上記６パラメータアフィン動きモデルである、または、上記第４識別子が第４の値であるとき、上記アフィン動きモデルは上記４パラメータアフィン動きモデルであり、上記第３の値は上記第４の値と異なる、
項目３から５のいずれか一項に記載の方法。（項目７）  上記ビットストリームを解析して第３識別子を取得する上記段階は、
上記ビットストリームの上記シーケンスパラメータセットを解析して上記第３識別子を取得する段階
を含む、項目３から６のいずれか一項に記載の方法。（項目８）  上記事前設定された条件は、上記処理対象ブロックの幅が第１事前設定閾値以上であり、かつ、上記処理対象ブロックの高さが第２事前設定閾値以上であることを含む、項目１から７のいずれか一項に記載の方法。（項目９）  上記第１事前設定閾値は上記第２事前設定閾値に等しい、項目８に記載の方法。（項目１０）  ビデオ画像予測方法であって、
ビットストリームを解析して第１識別子を取得する段階と、
上記処理対象ブロックを含むスライスにおける画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを上記第１識別子が示し、かつ、上記処理対象ブロックが、上記アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすとき、上記ビットストリームを解析して第２識別子を取得する段階と、
上記第２識別子に基づいて、上記処理対象ブロックのインター予測についての予測モードを決定する段階であって、上記予測モードはアフィン動きモデル型マージモード、アフィン動きモデル型高度動きベクトル予測ＡＭＶＰモード、および非アフィン動きモデル型予測モードを含む、段階と
を備える方法。（項目１１）  ビットストリームを解析して第１識別子を取得する上記段階は、
上記ビットストリームにおける上記スライスのスライスヘッダを解析して上記第１識別子を取得する段階を含む、項目１０に記載の方法。（項目１２）  上記処理対象ブロックを含む上記スライスにおける画像ブロックのインター予測についての上記候補動きモデルが上記アフィン動きモデルを含むことを上記第１識別子が示すとき、
上記ビットストリームを解析して第３識別子を取得する段階であって、上記第３識別子が第１の値であるとき、上記アフィン動きモデルは４パラメータアフィンモデルのみを含み、または、上記第３識別子が第２の値であるとき、上記アフィン動きモデルは４パラメータアフィンモデルおよび６パラメータアフィンモデルを含み、上記第１の値は上記第２の値と異なる、段階
を更に備える、項目１０または１１に記載の方法。（項目１３）  上記アフィン動きモデル型マージモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第２の値であるとき、第１候補動きベクトルリストを構築する段階であって、上記第１候補動きベクトルリストは第１要素を含み、上記第１要素は、上記６パラメータアフィン動きモデルを構築するための３つの制御点の動き情報を含む、段階、または、
上記アフィン動きモデル型マージモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第１の値であるとき、第２候補動きベクトルリストを構築する段階であって、上記第２候補動きベクトルリストは第２要素を含み、上記第２要素は、上記４パラメータアフィン動きモデルを構築するための２つの制御点の動き情報のみを含む、段階
を更に備える、項目１２に記載の方法。（項目１４）  上記アフィン動きモデル型マージモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第２の値であるとき、上記第１候補動きベクトルリストは更に上記第２要素を含む、項目１３に記載の方法。（項目１５）  上記アフィン動きモデル型ＡＭＶＰモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第２の値であるとき、上記ビットストリームを解析して第４識別子を取得する段階を更に備え、
上記第４識別子が第３の値であるとき、上記アフィン動きモデルは上記６パラメータアフィン動きモデルであり、または、上記第４識別子が第４の値であるとき、上記アフィン動きモデルは上記４パラメータアフィン動きモデルであり、上記第３の値は上記第４の値と異なる、
項目１２または１３に記載の方法。（項目１６）  上記ビットストリームを解析して第３識別子を取得する上記段階は、
上記ビットストリームにおける上記スライスの上記スライスヘッダを解析して上記第３識別子を取得する段階を含む、項目１２から１５のいずれか一項に記載の方法。（項目１７）  ビットストリームを解析して第１識別子を取得する上記段階の前に、
上記ビットストリームを解析して第５識別子を取得する段階であって、上記第５識別子が第５の値であるとき、上記処理対象ブロックを含むビデオ画像のインター予測についての候補動きモデルは上記アフィン動きモデルを含み、または、上記第５識別子が第６の値であるとき、上記処理対象ブロックを含むビデオ画像のインター予測についての候補動きモデルは、上記非アフィン動きモデルのみを含み、上記第５の値は上記第６の値と異なる、段階
を更に備える、項目１０から１６のいずれか一項に記載の方法。（項目１８）  上記ビットストリームを取得して第５識別子を解析する上記段階は、
上記ビットストリームのシーケンスパラメータセットを解析して上記第５識別子を取得する段階を含む、項目１７に記載の方法。（項目１９）  上記ビットストリームを解析して第５識別子を取得する上記段階の後、かつ、ビットストリームを解析して第１識別子を取得する上記段階の前に、
上記ビットストリームを解析して第６識別子を取得する段階であって、上記第６識別子は、上記ビットストリームが上記第３識別子を含むことを決定するために使用される、段階
を更に含む、項目１７または１８に記載の方法。（項目２０）  上記ビットストリームを解析して第６識別子を取得する上記段階は、
上記ビットストリームの上記シーケンスパラメータセットを解析して上記第６識別子を取得する段階を含む、項目１９に記載の方法。（項目２１）  上記事前設定された条件は、上記処理対象ブロックの幅が第１事前設定閾値以上であり、かつ、上記処理対象ブロックの高さが第２事前設定閾値以上であることを含む、項目１０から２０のいずれか一項に記載の方法。（項目２２）  上記第１事前設定閾値は上記第２事前設定閾値に等しい、項目２１に記載の方法。（項目２３）  ビデオ画像予測装置であって、
ビットストリームを解析して第１識別子を取得するよう構成される解析ユニットであって、処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを上記第１識別子が示し、かつ、上記処理対象ブロックが、上記アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすとき、上記ビットストリームを解析して第２識別子を取得する、解析ユニットを備え、
上記解析ユニットは更に、上記第２識別子に基づいて、上記処理対象ブロックのインター予測についての予測モードを決定するよう構成され、上記予測モードは、アフィン動きモデル型マージモード、アフィン動きモデル型ＡＭＶＰモード、および非アフィン動きモデル型予測モードを含む、
装置。（項目２４）  上記ビットストリームを解析して上記第１識別子を取得するとき、上記解析ユニットは具体的には、
上記ビットストリームのシーケンスパラメータセットを解析して上記第１識別子を取得するよう構成される、項目２３に記載の装置。（項目２５）  上記処理対象ブロックを含む上記ビデオ画像における上記画像ブロックのインター予測についての上記候補動きモデルが上記アフィン動きモデルを含むことを上記第１識別子が示すとき、上記解析ユニットは更に、
上記ビットストリームを解析して第３識別子を取得するよう構成され、上記第３識別子が第１の値であるとき、上記アフィン動きモデルは４パラメータアフィンモデルのみを含み、または、上記第３識別子が第２の値であるとき、上記アフィン動きモデルは４パラメータアフィンモデルおよび６パラメータアフィンモデルを含み、上記第１の値は上記第２の値と異なる、
項目２３または２４に記載の装置。（項目２６）  アフィン動きモデル型マージモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第２の値であるとき、第１候補動きベクトルリストを構築することであって、上記第１候補動きベクトルリストは第１要素を含み、上記第１要素は、上記６パラメータアフィン動きモデルを構築するための３つの制御点の動き情報を含む、こと、または、
アフィン動きモデル型マージモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第１の値であるとき、第２候補動きベクトルリストを構築することであって、上記第２候補動きベクトルリストは第２要素を含み、上記第２要素は、上記４パラメータアフィン動きモデルを構築するための２つの制御点の動き情報のみを含む、こと
を行うように構成される構築ユニットを更に備える、項目２５に記載の装置。（項目２７）  アフィン動きモデル型マージモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第２の値であるとき、上記第１候補動きベクトルリストは更に上記第２要素を含む、項目２６に記載の装置。（項目２８）  上記解析ユニットは更に、
上記アフィン動きモデル型マージモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第２の値であるとき、上記ビットストリームを解析して第４識別子を取得するよう構成され、
上記第４識別子が第３の値であるとき、上記アフィン動きモデルは上記６パラメータアフィン動きモデルであり、または、上記第４識別子が第４の値であるとき、上記アフィン動きモデルは上記４パラメータアフィン動きモデルであり、上記第３の値は上記第４の値と異なる、
項目２５から２７のいずれか一項に記載の装置。（項目２９）  上記ビットストリームを解析して上記第３識別子を取得するとき、上記解析ユニットは具体的には、
上記ビットストリームの上記シーケンスパラメータセットを解析して上記第３識別子を取得するよう構成される、項目２５から２８のいずれか一項に記載の装置。（項目３０）  上記事前設定された条件は、上記処理対象ブロックの幅が第１事前設定閾値以上であり、上記処理対象ブロックの高さが第２事前設定閾値以上であることを含む、項目２５から２９のいずれか一項に記載の装置。（項目３１）  上記第１事前設定閾値は上記第２事前設定閾値に等しい、項目３０に記載の装置。（項目３２）  ビデオ画像予測装置であって、
ビットストリームを解析して第１識別子を取得するよう構成される解析ユニットであって、上記処理対象ブロックを含むスライスにおける画像ブロックのインター予測についての候補動きモデルがアフィン動きモデルを含むことを上記第１識別子が示し、かつ、上記処理対象ブロックが、上記アフィン動きモデルを使用するインター予測についての事前設定された条件を満たすとき、上記ビットストリームを解析して第２識別子を取得し、上記第２識別子に基づいて、上記処理対象ブロックのインター予測についての予測モードを決定するよう更に構成される解析ユニットを備え、上記予測モードは、アフィン動きモデル型マージモード、アフィン動きモデル型ＡＭＶＰモード、および、非アフィン動きモデル型予測モードを含む、装置。（項目３３）  上記ビットストリームを解析して上記第１識別子を取得するとき、上記解析ユニットは具体的には、
上記ビットストリームにおける上記スライスのスライスヘッダを解析して上記第１識別子を取得するよう構成される、項目３２に記載の装置。（項目３４）  上記解析ユニットは更に、
上記処理対象ブロックを含む上記スライスにおける上記画像ブロックのインター予測についての上記候補動きモデルが上記アフィン動きモデルを含むことを上記第１識別子が示すとき、
上記ビットストリームを解析して第３識別子を取得することであって、上記第３識別子が第１の値であるとき、上記アフィン動きモデルは４パラメータアフィンモデルのみを含み、または、上記第３識別子が第２の値であるとき、上記アフィン動きモデルは４パラメータアフィンモデルおよび６パラメータアフィンモデルを含み、上記第１の値は上記第２の値と異なる、ことを行うよう構成される、項目３２または３３に記載の装置。（項目３５）  アフィン動きモデル型マージモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第２の値であるとき、第１候補動きベクトルリストを構築することであって、上記第１候補動きベクトルリストは第１要素を含み、上記第１要素は、上記６パラメータアフィン動きモデルを構築するための３つの制御点の動き情報を含む、こと、または、
アフィン動きモデル型マージモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第１の値であるとき、第２候補動きベクトルリストを構築することであって、上記第２候補動きベクトルリストは第２要素を含み、上記第２要素は、上記４パラメータアフィン動きモデルを構築するための２つの制御点の動き情報のみを含む、こと
を行うように構成される構築ユニットを更に備える、項目３４に記載の装置。（項目３６）  アフィン動きモデル型マージモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第２の値であるとき、上記第１候補動きベクトルリストは更に上記第２要素を含む、項目３５に記載の装置。（項目３７）  上記解析ユニットは更に、
上記アフィン動きモデル型ＡＭＶＰモードが上記処理対象ブロックのインター予測に使用されることを上記第２識別子が示し、かつ、上記第３識別子が上記第２の値であるとき、上記ビットストリームを解析して第４識別子を取得するよう構成され、
上記第４識別子が第３の値であるとき、上記アフィン動きモデルは上記６パラメータアフィン動きモデルであり、または、上記第４識別子が第４の値であるとき、上記アフィン動きモデルは上記４パラメータアフィン動きモデルであり、上記第３の値は上記第４の値と異なる、
項目３４または３５に記載の装置。（項目３８）  上記ビットストリームを解析して上記第３識別子を取得するとき、上記解析ユニットは具体的には、
上記ビットストリームにおける上記スライスの上記スライスヘッダを解析して上記第３識別子を取得するよう構成される、項目３４から３７のいずれか一項に記載の装置。（項目３９）  上記ビットストリームを解析して上記第１識別子を取得する前に、上記解析ユニットは更に、
上記ビットストリームを解析して第５識別子を取得するよう構成され、上記第５識別子が第５の値であるとき、上記処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルは、上記アフィン動きモデルを含み、または、上記第５識別子が第６の値であるとき、上記処理対象ブロックを含むビデオ画像における画像ブロックのインター予測についての候補動きモデルは、上記非アフィン動きモデルのみを含み、上記第５の値は上記第６の値と異なる、項目３２から３８のいずれか一項に記載の装置。（項目４０）  上記ビットストリームを解析して上記第５識別子を取得するとき、上記解析ユニットは具体的には、
上記ビットストリームのシーケンスパラメータセットを解析して上記第５識別子を取得するよう構成される、項目３９に記載の装置。（項目４１）  上記解析ユニットは更に、上記ビットストリームを解析して上記第５識別子を取得した後、かつ、上記ビットストリームを解析して上記第１識別子を取得する前に、上記ビットストリームを解析して上記第６識別子を取得するよう構成され、上記第６識別子は、上記ビットストリームが上記第３識別子を含むと決定するために使用される、項目３９または４０に記載の装置。（項目４２）  上記ビットストリームを解析して上記第６識別子を取得するとき、上記解析ユニットは具体的には、
上記ビットストリームの上記シーケンスパラメータセットを解析して上記第６識別子を取得するよう構成される、項目４１に記載の装置。（項目４３）  上記事前設定された条件は、上記処理対象ブロックの幅が第１事前設定閾値以上であり、上記処理対象ブロックの高さが第２事前設定閾値以上であることを含む、項目３２から４２のいずれか一項に記載の装置。（項目４４）  上記第１事前設定閾値は上記第２事前設定閾値に等しい、項目４３に記載の装置。（項目４５）  デコーダであって、
メモリおよびプロセッサを備え、
上記メモリは、プログラム命令を格納するよう構成され、
上記プロセッサは、上記メモリに格納された上記プログラム命令を呼び出して実行し、項目１から２２のいずれか一項に記載の方法を実装するよう構成される、
デコーダ。（項目４６）  チップであって、上記チップはメモリに接続され、上記メモリに格納されたソフトウェアプログラムを読み取り、実行し、項目１から２２のいずれか一項に記載の方法を実装するよう構成される、チップ。
【図１】
2021535672.tif 000042
【図２Ａ】
2021535672.tif 000043
【図２Ｂ】
2021535672.tif 000044
【図２Ｃ】
2021535672.tif 000045
【図３】
2021535672.tif 000046
【図４】
2021535672.tif 000047
【図５Ａ】
2021535672.tif 000048
【図５Ｂ】
2021535672.tif 000049
【図６Ａ】
2021535672.tif 000050
【図６Ｂ】
2021535672.tif 000051
【図６Ｃ】
2021535672.tif 000052
【図７】
2021535672.tif 000053
【図８】
2021535672.tif 000054
【図９】
2021535672.tif 000055
【図１０】
2021535672.tif 000056
【図１１】
2021535672.tif 000057
【図１２】
2021535672.tif 000058
【図１３】
2021535672.tif 000059
【図１４】
2021535672.tif 000060
【国際調査報告】
2021535672.tif 000061
2021535672.tif 000062
2021535672.tif 000063
2021535672.tif 000064