(57)【要約】  本発明においては、ビデオ信号を処理する方法及びそのための装置が開示される。具体的には、インター予測に基づいて、ビデオ信号を処理する方法において、現在のブロックの空間マージ候補と時間マージ候補を用いて前記現在のブロックの第１マージ候補リストを構成する段階と、前記現在のブロックの以前に符号化されたブロックのモーション情報を示すヒストリーベースのマージ候補を前記第１マージ候補リストに追加することにより、第２マージ候補リストを構成する段階と、前記第２マージ候補リスト内で、前記現在のブロックに適用されるマージ候補を指示するマージインデックスを獲得するステップと、前記マージインデックスによって指示されるマージ候補のモーション情報を用いて前記現在のブロックの予測ブロックを生成するステップを含むが、前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに含まれたマージ候補の中から、予め定義されたマージ候補と重複しないモーション情報を有する場合、前記第１マージ候補リストに追加されることができる。【選択図】図１
2022501912.tif 000002
【特許請求の範囲】
【請求項１】
インター予測に基づいて、ビデオ信号を処理する方法において、
現在のブロックの空間マージ候補と時間マージ候補を用いて前記現在のブロックの第１マージ候補リストを構成する段階と、
前記現在のブロックの似前に符号化されたブロックのモーション情報を示すヒストリーベースのマージ候補を前記第１マージ候補リストに追加することにより、第２マージ候補リストを構成する段階と、
前記第２マージ候補リスト内で、前記現在のブロックに適用されるマージ候補を指示するマージインデックスを獲得するステップと、
前記マージインデックスによって指示されるマージ候補のモーション情報を用いて前記現在のブロックの予測ブロックを生成するステップを含むが、
前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに含まれたマージ候補の中から、予め定義されたマージ候補と重複しないモーション情報を有する場合、前記第１マージ候補リストに追加されることを特徴とする、ビデオ信号処理方法。
【請求項２】
前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに含まれているマージ候補の中から、予め定義された特定の数のマージ候補と重複しないモーション情報を有する場合、前記第１マージ候補リストに追加されることを特徴とする、請求項１に記載のビデオ信号処理方法。
【請求項３】
前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに含まれた特定の空間マージ候補と重複しないモーション情報を有する場合、前記第１マージ候補リストに追加されることを特徴とする、請求項１に記載のビデオ信号処理方法。
【請求項４】
前記ヒストリーベースのマージ候補は、前記ヒストリーベースマージ候補を貯蔵するヒストリーベースのバッファ内で予め定義された数の候補から誘導されることを特徴とする、請求項１に記載のビデオ信号処理方法。
【請求項５】
前記第２マージ候補リストを構成する段階は、
ヒストリーベースの空間-時間マージ候補を追加するステップをさらに含み、
前記ヒストリーベースの空間-時間候補は、２つの前記ヒストリーベースのマージ候補と前記時間マージ候補を用いて誘導されることを特徴とする、請求項１に記載のビデオ信号処理方法。
【請求項６】
前記ヒストリーベースの空間-時間候補のモーションベクトルは、前記２つのヒストリーベースのマージ候補のモーションベクトルを平均した値と、前記時間マージ候補のモーションベクトルを平均した値で誘導されることを特徴とする、請求項５に記載のビデオ信号処理方法。
【請求項７】
インター予測に基づいて、ビデオ信号を処理する装置において、
前記ビデオ信号を貯蔵するメモリと、
前記メモリと結合されたプロセッサを含み、
前記プロセッサは、
現在のブロックの空間マージ候補と時間マージ候補を用いて前記現在のブロックの第１マージ候補リストを構成し、
前記現在のブロックの以前に符号化されたブロックのモーション情報を示すヒストリーベースのマージ候補を前記第１マージ候補リストに追加することにより、第２マージ候補リストを構成し、
前記第２マージ候補リスト内で、前記現在のブロックに適用されるマージ候補を指示するマージインデックスを獲得し、そして、
前記マージインデックスによって指示されるマージ候補のモーション情報を用いて前記現在のブロックの予測ブロックを生成するが、
前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに含まれたマージ候補の中から、予め定義されたマージ候補と重複しないモーション情報を有する場合、前記第１マージ候補リストに追加されることを特徴とする、ビデオ信号処理装置。
【請求項８】
前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに含まれたマージ候補の中から、予め定義された特定の数のマージ候補と重複しないモーション情報を有する場合、前記第１マージ候補リストに追加されることを特徴とする、請求項７に記載のビデオ信号処理装置。
【請求項９】
前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに含まれた特定の空間マージ候補と重複しないモーション情報を有する場合、前記第１マージ候補リストに追加されることを特徴とする、請求項７に記載のビデオ信号処理装置。
【請求項１０】
前記ヒストリーベースのマージ候補は、前記ヒストリーベースマージ候補を貯蔵するヒストリーベースのバッファ内で予め定義された数の候補から誘導されることを特徴とする、請求項７に記載のビデオ信号処理装置。
【請求項１１】
前記プロセッサは、
ヒストリーベースの空間-時間マージ候補を追加し、
前記ヒストリーベースの空間-時間候補は、２つの前記ヒストリーベースのマージ候補と前記時間マージ候補を用いて誘導されることを特徴とする、請求項７に記載のビデオ信号処理装置。
【請求項１２】
前記ヒストリーベースの空間-時間候補のモーションベクトルは、前記２つのヒストリーベースのマージ候補のモーションベクトルを平均した値と、前記時間マージ候補のモーションベクトルを平均した値で誘導されることを特徴とする、請求項１１に記載のビデオ信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書の実施例は、インター予測（inter prediction）を用いて、ビデオ信号を処理するための方法及び装置に関し、特に、ヒストリーベースのモーションベクトル予測（history-based motion vector prediction）を用いて、インター予測を実行するための方法及び装置に関する。
【背景技術】
【０００２】
圧縮符号化とは、デジタル化した情報を通信回線を介して伝送したり、貯蔵媒体に適合した形態で貯蔵するための一連の信号処理技術を意味する。映像、イメージ 、音声などのメディアが圧縮符号化の対象となることができ、特に、映像を対象に圧縮符号化を実行する技術をビデオ映像圧縮と称する。
【０００３】
次世代ビデオコンテンツは、高解像度（high spatial resolution）、高フレームレート（high frame rate）及び映像表現の高次化（high dimensionality of scene representation）と呼ばれる特徴を有するようになるだろう。そのようなコンテンツを処理するためには、メモリストレージ（memory storage）、メモリアクセス率（memory access rate）及び処理電力（processing power）の面で多大な増加をもたらす。
【０００４】
したがって、次世代のビデオコンテンツをさらに効率的に処理するためのコーディングツールをデザインする必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本明細書の実施例の目的は、ＨＭＶＰ候補をマージリスト（またはＡＭＶＰリスト）に追加するための冗長性チェックの制限を提案する。
【０００６】
本明細書の実施例で解決しようとする技術的課題は、以上で言及した技術的課題に制限されず、言及しないさらに異なる技術的課題は、下の記載から、本発明が属する技術分野で通常の知識を有する者に明確に理解することができる。
【課題を解決するための手段】
【０００７】
本明細書の実施例一様相は、インター予測に基づいて、ビデオ信号を処理する方法において、現在ブロックの空間マージ候補と時間マージ候補を用いて前記現在のブロックの第１マージ候補リストを構成する段階と、前記現在のブロックの以前に符号化（coding：コーディング）されたブロックのモーション（動き）情報を示すヒストリーベースのマージ候補を前記第１マージ候補リストに追加することにより、第２マージ候補リストを構成する段階と、前記第２マージ候補リスト内で、前記現在のブロックに適用されるマージ候補を指示するマージインデックスを獲得するステップと、前記マージインデックスによって指示されるマージ候補のモーション情報を用いて前記現在のブロックの予測ブロックを生成するステップを含むが、前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに含まれているマージ候補の中から、予め定義されたマージ候補と重複しないモーション情報を有する場合、前記第１マージ候補リストに追加されることができる。
【０００８】
好ましくは、前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに含まれているマージ候補の中から、予め定義された特定の数のマージ候補と重複しないモーション情報を有する場合、前記第１マージ候補リストに追加することができる。
【０００９】
好ましくは、前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに含まれる特定の空間マージ候補と重複しないモーション情報を有する場合、前記第１マージ候補リストに追加されることができる。
【００１０】
好ましくは、前記ヒストリーベースのマージ候補は、前記ヒストリーベースマージ候補を貯蔵するヒストリーベースのバッファ内で予め定義された数の候補から誘導することができる。
【００１１】
好ましくは、前記第２マージ候補リストを構成する段階は、、ヒストリーベースの空間-時間マージ候補を追加するステップをさらに含み、前記ヒストリーベースの空間時間候補は、２つの前記ヒストリーベースのマージ候補と前記時間マージ候補を用いて誘導することができる。
【００１２】
好ましくは、前記ヒストリーベースの空間時間候補のモーションベクトルは、前記２つのヒストリーベースのマージ候補のモーションベクトルを平均した値と、前記時間マージ候補のモーションベクトルを平均した値に誘導することができる。
【００１３】
本明細書の実施例の別の一様相は、インター予測に基づいて、ビデオ信号を処理する装置において、前記ビデオ信号を貯蔵するメモリと、前記メモリと結合されたプロセッサを含み、前記プロセッサは、現在のブロックの空間マージ候補と時間マージ候補を用いて前記現在のブロックの第１マージ候補リストを構成し、前記現在のブロックの以前にコーディングされたブロックのモーション情報を示すヒストリーベースのマージ候補を前記第１マージ候補リストに追加することにより、第２マージ候補リストを構成し、前記第２マージ候補リスト内で、前記現在のブロックに適用されるマージ候補を指示するマージインデックスを獲得で、そして、前記マージインデックスによって指示されるマージ候補のモーション情報を用いて前記現在のブロックの予測ブロックを生成するが、前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに含まれたマージ候補の中から、予め定義されたマージ候補と重複しないモーション情報を有する場合、前記第１マージ候補リストに追加されることができる。
【発明の効果】
【００１４】
本明細書の実施例に係れば、マージリスト（またはＡＭＶＰリスト）に追加するための冗長性チェックを制限することで、冗長性チェックに伴う複雑度を改善し、効率を高めることができる。
【００１５】
本発明で得られる効果は、以上で言及した効果に制限されず、言及していないもう一つの効果は以下の記載から、本発明が属する技術分野で通常の知識を有する者に明確に理解されるだろう。
【図面の簡単な説明】
【００１６】
本発明に係る理解を助けるために詳細な説明の一部として含まれる、添付図面は、本発明の実施例を提供し、詳細な説明と共に本発明の技術的特徴を説明する。
【００１７】
【図１】本発明の実施例に係るビデオ信号処理装置の一例として、エンコーダの機能的構成の例を示す。
【図２】本発明が適用される実施例として、ビデオ／映像信号のデコードが行われるデコード装置の概略的なブロック図を示す。
【図３】本発明が適用されることができる実施例として、マルチタイプツリー構造の一例を示す図である。
【図４】本発明が適用されることができる実施例として、マルチタイプツリーを伴うクアッドツリー（quadtree with nested multi-type tree）構造のパーティション情報のシグナリングメカニズムを例示する図である。
【図５】本発明が適用されることができる実施例として、クアッドツリーと伴うマルチタイプツリー（quadtree and nested multi-type tree）構造に基づいてＣＴＵを多重ＣＵに分割する方法を例示する図である。
【図６】本発明が適用されることができる実施例として、ターナーリツリー（ternary-tree）分割を制限する方法を例示する図である。
【図７】本発明が適用されることができる実施例として、バイナリツリーの分割とターナーリツリーの分割で発生することができる冗長（redundant）分割パターンを例示する図である。
【図８】本発明の実施例に係るインター予測ベースのビデオ／映像のエンコード方法と本発明の実施例に係るエンコード装置内インター予測部を例示する図である。
【図９】本発明の実施例に係るインター予測ベースのビデオ／映像のエンコード方法と本発明の実施例に係るエンコード装置内インター予測部を例示する図である。
【図１０】本発明の実施例に係るインター予測ベースのビデオ／映像をデコードする方法と、本発明の実施例に係るデコード装置内インター予測部例示する図である。
【図１１】本発明の実施例に係るインター予測ベースのビデオ／映像をデコードする方法と、本発明の実施例に係るデコード装置内インター予測部例示する図である。
【図１２】本発明が適用される実施例として、マージモードまたはスキップモードで用いる周辺ブロックを説明するための図である。
【図１３】本発明が適用される一実施例に係るマージ候補リストの構成方法を例示するフローチャートである。
【図１４】本発明が適用される一実施例に係るマージ候補リストの構成方法を例示するフローチャートである。
【図１５】本発明の実施例に係るモーションモデル（motion models）の例を示す。
【図１６】本発明の実施例に係るアフィンモーション予測のための制御点のモーションベクトルの例を示す。
【図１７】本発明の実施例に係るアフィンモーション予測が適用されたブロックの各サブブロック別モーションベクトルの例を示す。
【図１８】本発明の実施例に係るアフィンマージモード（affine merge mode）でアフィンモーション予測に用いる周辺ブロックの例を示す。
【図１９】本発明の実施例に係るアフィンモーション予測が適用された周辺ブロックを用いてアフィンモーション予測が実行されるブロックの例を示す。
【図２０】本発明の実施例に係る周辺アフィンコーディングブロックを用いて、マージ候補リストを生成する方法を説明するための図である。
【図２１】本発明の実施例に係るアフィン予測で符号化された周辺ブロックを用いてアフィンマージ候補リストを構成する方法を説明するための図である。
【図２２】本発明の実施例に係るアフィン予測で符号化された周辺ブロックを用いてアフィンマージ候補リストを構成する方法を説明するための図である。
【図２３】本発明が実施例に係るアフィンインターモード（affine inter mode）でアフィンモーション予測に用いる周辺ブロックの例を示す。
【図２４】本発明が実施例に係るアフィンインターモード（affine inter mode）でアフィンモーション予測に用いる周辺ブロックの例を示す。
【図２５】本発明が実施例に係るアフィンインターモード（affine inter mode）で周辺ブロックのモーション情報を用いて、モーションベクトルの候補を誘導する方法を例示する図である。
【図２６】本発明が実施例に係るアフィンインターモード（affine inter mode）で周辺ブロックのモーション情報を用いて、モーションベクトルの候補を誘導する方法を例示する図である。
【図２７】本発明の実施例に係るサブブロック単位のアフィンモーションベクトルフィールドを誘導する方法の一例を示す。
【図２８】本発明の実施例に係るアフィンモーションモデルを適用したインター予測で予測ブロックが生成される方法及びモーションベクトルを例示的に示す。
【図２９】本発明の実施例に係る制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３０】本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３１】本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３２】本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３３】本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３４】本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３５】本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３６】本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３７】本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３８】本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３９】本明細書の実施例に係るＨＭＶＰを貯蔵する方法を説明するためのフローチャートである。
【図４０】本明細書の実施例に係る非制限的ＦＩＦＯ方式で動作するＨＭＶＰテーブルを説明するための図である。
【図４１】本明細書の実施例に係る制限的ＦＩＦＯ方式で動作するＨＭＶＰテーブルを説明するための図である。
【図４２】本明細書の実施例に係るＨＭＶＰ ＬＵＴとロングタームＨＭＶＰ ＬＵＴを例示する図である。
【図４３】本明細書の実施例に係るＨＭＶＰ ＬＵＴを更新（アップデート）する方法の一例を示す図である。
【図４４】本明細書の実施例に係るプルーニングチェックの対象となるＨＭＶＰ候補の数を制限する方法を例示する図である。
【図４５】本明細書の実施例に係るプルーニングチェックを実行する方法の一例を示す図である。
【図４６】本明細書の実施例に係る、互いに異なる参照ピクチャを参照するモーションベクトルを用いて、Ｈ−ＳＴＭＶＰ候補を誘導する方法を説明するための図である。
【図４７】本発明が適用される実施例に係るインター予測に基づいて、ビデオ信号を処理する方法を例示するフローチャートである。
【図４８】本明細書の実施例に係る映像信号を処理するための装置のブロック図の例を示す。
【図４９】本発明が適用されるビデオコーディングシステムを示す。
【図５０】本発明が適用される実施例として、コンテンツのストリーミングシステム構造図を示す。
【発明を実施するための形態】
【００１８】
以下、本発明に係る好適な実施の形態を添付の図面を参照して、詳細に説明する。添付された図面と共にに以下に開示される詳細な説明は、本発明の例示的な実施形態を説明しようとするものであり、本発明が実施されることができる唯一の実施形態を示すするようにするのではない。以下の詳細な説明は、本発明の完全な理解を提供するために具体的な細部事項を含む。しかし、当業者は、本発明が、このような具体的な細部事項がなくても実施できることが分かる。
【００１９】
いくつかの場合、本発明の概念が曖昧になることを避けるために、公知の構造及び装置は省略されるか、各構造及び装置の核心機能を中心としたブロック図の形式で示されることができる。
【００２０】
さらに、本発明で用いる用語は、可能な限り、現在広く用いる一般的な用語を選択したが、特定の場合には、出願人が任意に選定した用語を用いて説明する。そのような場合には、該当部分の詳細説明で、その意味を明確に記載するため、本発明の説明で用いる用語の名称のみで単純に解釈されてはならないものであり、その該当する用語の意味まで把握して解釈されるべきであることを明らかにしておきたい。
【００２１】
以下の説明で用いる特定の用語は、本発明の理解を助けるために提供されたものであり、このような特定の用語の使用は、本発明の技術的思想を逸脱しない範囲で他の形態に変更されることができる。例えば、信号、データ、サンプル、ピクチャ、フレーム、ブロックなどの場合、各符号化（コーディング）の過程で適切に置換されて解釈されることができる。
【００２２】
以下、本明細書で「処理ユニット」は、予測、変換、及び/または量子化などのようなエンコード／デコードの処理過程が実行される単位を意味する。以下、説明の便宜のために処理ユニットは、「処理ブロック」または「ブロック」と指称されることもある。
【００２３】
処理ユニットは、輝度（ｌｕｍａ）成分の単位と色差（chroma）成分の単位を含む意味で解釈されることができる。例えば、処理ユニットは、コーディングツリーユニット（ＣＴＵ：Coding Tree Unit）、コーディングユニット（ＣＵ：Coding Unit）、予測ユニット（ＰＵ：Prediction Unit）や変換ユニット（ＴＵ：Transform Unit）に該当することができる。
【００２４】
また、処理ユニットは、輝度（ｌｕｍａ）成分の単位または色差（chroma）成分の単位を含む意味で解釈されることができる。例えば、処理ユニットは、輝度（luma）成分のコーディングツリーブロック（ＣＴＢ：Coding Tree Block）、コーディングブロック（ＣＢ：Coding Block）、予測ブロック（ＰＵ：Prediction Block）または変換ブロック（ＴＢ：Transform Block）に該当することができる。または、色差（chroma）成分のコーディングツリーブロック（ＣＴＢ）、コーディングブロック（ＣＢ）、予測ブロック（ＰＵ）または変換ブロック（ＴＢ）に対応することができる。また、これに限定されるものではなく処理ユニットは、輝度（ｌｕｍａ）成分の単位と色差（chroma）成分の単位を含む意味で解釈されることもできる。
【００２５】
また、処理ユニットは、必ず正方形のブロックに限定されるものではなく、３つ以上の頂点を有する多角形の形で構成することもできる。
【００２６】
なお、以下、本明細書においてピクセルまたは画素などをサンプルとして通称する。そして、サンプルを用いるとすることは、ピクセル値または画素値などを用いることを意味することができる。
【００２７】
図１は、本発明が適用される実施例として、ビデオ／イメージ信号のエンコードが実行されるエンコード装置の概略的ブロック図を示す。
【００２８】
図１を参照すると、エンコード装置１００は、映像分割部１１０、減算部１１５、変換部１２０、量子化部１３０、逆量子化部１４０、逆変換部１５０、加算部１５５、フィルタリング部１６０、メモリ１７０、インター予測部１８０、イントラ予測部１８５とエントロピーエンコード部１９０を含みから構成されることができる。インター予測部１８０とイントラ予測部１８５は、予測部と通称されることができる。つまり、予測部はインター予測部１８０とイントラ予測部１８５を含むことができる。変換部１２０、量子化部１３０、逆量子化部１４０、逆変換部１５０は、レジデュアル（residual）処理部に含まれることができる。レジデュアル処理部は、減算部１１５をさらに含むこともできる。一実施例として、前述した映像分割部１１０、減算部１１５、変換部１２０、量子化部１３０、逆量子化部１４０、逆変換部１５０、加算部１５５ 、フィルタリング部１６０、インター予測部１８０、イントラ予測部１８５及びエントロピーエンコード部１９０は、一つのハードウェアコンポーネント（例えば、エンコーダまたはプロセッサ）によって構成されることができる。また、メモリ１７０は、ＤＰＢ（decoded picture buffer）を含むことができ、デジタル貯蔵媒体によって構成されることもできる。
【００２９】
映像分割部１１０は、エンコード装置１００に入力された入力映像（または、ピクチャ、フレーム）を１つ以上の処理ユニット（processing unit）に分割することができる。一例として、前記処理ユニットは、コーディングユニット（coding unit、ＣＵ）と指称されることができる。この場合、コーディングユニットは、コーディングツリーユニット（coding tree unit、ＣＴＵ）または最大コーディングユニット（largest coding unit、ＬＣＵ）からＱＴＢＴ（Quad-tree binary-tree）構造に基づいて再帰的に（recursively）に分割されることができる。例えば、一つのコーディングユニットは、クアッドツリー構造及び/またはバイナリツリー構造に基づいて、サブ（deeper）デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造が後で適用することができる。またはバイナリツリー構造が先に適用されることもある。これ以上分割されない最終コーディングユニットをベースに、本発明に係るコーディング手順が実行されることができる。この場合、映像の特性に応じたコーディング効率などをベースに、最大コーディングユニットがすぐに最終コーディングユニットとして用いられ、または必要に応じてコーディングユニットは、再帰的に（recursively）さらに下位デプスのコーディングユニットに分割され、最適のサイズのコーディングユニットが最終コーディングユニットとして用いられる。ここでコーディング手順とは、後述する予測、変換、及び復元などの手続きを含むことができる。他の例として、前記処理ユニットは、予測ユニット（ＰＵ：Prediction Unit）または変換ユニット（ＴＵ：Transform Unit）をさらに含むことができる。この場合、前記予測ユニット及び前記変換ユニットは、それぞれ前述した最終コーディングユニットから分割またはパーティショニングすることができる。前記予測ユニットは、サンプル予測の単位で有り得、前記変換ユニットは、変換係数を誘導する単位、及び/または変換係数からレジデュアル信号（residual signal）を誘導する単位で有り得る。
【００３０】
ユニットは、場合にしたがって ブロック（block）または領域（area）などの用語と混用して用いられる。一般的な場合、ＭｘＮブロックはＭ個の列とＮ個の行からなるサンプル又は変換係数（transform coefficient）の集合を示すことができる。サンプルは、一般的に、ピクセルまたはピクセルの値を示すことができ、輝度（luma）成分のピクセル／ピクセル値のみを示すこともあり、彩度（chroma）成分のピクセル／ピクセル値のみを示すこともできる。サンプルは、一つのピクチャ（または映像）をピクセル（pixel）またはペル（pel）に対応する用語として用いられる。
【００３１】
エンコード装置１００は、入力映像信号（原本ブロック、原本サンプルアレイ）でインター予測部１８０またはイントラ予測部１８５から出力された予測信号（予測されたブロック、予測サンプルアレイ）を減算してレジデュアル信号（residual signal、残りのブロック、残りのサンプルアレイ）を生成することができ、生成されたレジデュアル信号は、変換部１２０に伝送される。この場合、図示のように、エンコーダ１００内で入力映像信号（ 原本ブロック、原本サンプルアレイ）で予測信号（予測ブロック、予測サンプルアレイ）を減算するユニットは減算部１１５と指称されることができる。予測部は処理対象ブロック（以下、現在ブロックという）の予測を行い、前記現在のブロックの予測サンプルを含む予測されたブロック（predicted block）を生成することができる。
【００３２】
予測部は現在のブロックまたはＣＵ単位でイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができる。予測部は各予測モードの説明で後述するように、予測モード情報など予測に関する様々な情報を生成し、エントロピーエンコード部１９０に伝達することができる。予測に関する情報は、エントロピーエンコード部１９０でエンコードされてビットストリーム形態で出力することができる。
【００３３】
イントラ予測部１８５は、現在のピクチャ内のサンプルを参照して、現在のブロックを予測することができる。前記参照されたサンプルは、予測モードに応じて前記現在のブロックの周辺（neighbor）に位置することができ、または離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。非方向性モードは、例えば、ＤＣモードとプランナーモード（Planarモード）を含むことができる。方向性モードは、予測方向の細かい程度に応じて、例えば、３３個の方向性予測モードまたは６５個の方向性予測モードを含むことができる。ただし、これは例示として設定によってはそれ以上、またはそれ以下の数の方向性予測モードが用いることができる。イントラ予測部１８５は、周辺ブロックに適用される予測モードを用いて、現在のブロックに適用される予測モードを決定することもできる。
【００３４】
インター予測部１８０は、参照ピクチャ上でモーションベクトルによって特定される参照ブロック（参照サンプルのアレイ）をベースに、現在のブロックの予測されたブロックを誘導することができる。このとき、インター予測モードで伝送されるモーション情報の量を減らすために周辺のブロックと現在のブロックの間のモーション情報の相関性に基づいてモーション情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記モーション情報は、モーションベクトルと参照ピクチャインデックスを含むことができる。前記モーション情報は、インター予測方向（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）の情報をさらに含むことができる。インター予測の場合、周辺ブロックは、現在のピクチャ内に存在する空間的周りのブロック（spatial neighboring block）と参照ピクチャに存在する時間的周辺ブロック（temporal neighboring block）を含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的周辺ブロックを含む参照ピクチャは同じであることもあり、異なることもある。前記時間的周辺ブロックは、同じ位置を参照ブロック（collocated reference block）、同じ位置ＣＵ（colＣＵ）などの名前で呼ばれることができ、前記時間的周辺ブロックを含む参照ピクチャは、同じ位置ピクチャ（collocated picture、colPic）と呼ばれることもできる。例えば、インター予測部１８０は、周辺ブロックをベースにモーション情報候補リストを構成し、前記現在のブロックのモーションベクトル及び/または参照ピクチャのインデックスを導出するためにどんな候補が用いるかを指示する情報を生成することができる。様々な予測モードに基づいて、インター予測が行われることができ、例えば、スキップモードとマージモードの場合に、インター予測部１８０は、周辺ブロックのモーション情報を現在のブロックのモーション情報として用いることができる。スキップモードの場合、マージモードとは異なり、レジデュアル信号が伝送されないことがある。モーション情報予測（motion vector prediction、ＭＶＰ）モードの場合、周辺ブロックのモーションベクトルをモーションベクトル予測子（motion vector predictor）で用いて、モーションベクトル差分（motion vector difference）をシグナリングすることによって、現在のブロックのモーションベクトルを指示することができる。
【００３５】
前記インター予測部１８０または前記イントラ予測部１８５を介して生成された予測信号は、復元信号を生成するために用いるか、またはレジデュアル信号を生成するために用いられる。
【００３６】
変換部１２０は、レジデュアル信号に変換技法を適用して変換係数（transform coefficients）を生成することができる。たとえば、変換技法は、ＤＣＴ（Discrete Cosine Transform）、ＤＳＴ（Discrete Sine Transform）、ＫＬＴ（Karhunen-LoeveTransform）、ＧＢＴ（Graph-Based Transform）、またはＣＮＴ（Conditionally Non-linear Transform）の内、少なくとも一つを含むことができる。ここで、ＧＢＴは、ピクセル間の関係情報をグラフで表現するとしたときに、このグラフから得られた変換を意味する。ＣＮＴは、以前に復元されたすべてのピクセル（all previously reconstructed  pixel）を用いて予測信号を生成し、それに基づいて獲得される変換を意味する。また、変換プロセスは、正方形の同じ大きさを有するピクセルブロックに適用されることもあり、正方形がない可変サイズのブロックにも適用することができる。
【００３７】
量子化部１３０は、 変換係数を量子化してエントロピーエンコード部１９０に伝送され、エントロピーエンコード部１９０は、量子化された信号（量子化された変換係数に関する情報）をエンコードして、ビットストリームとして出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と指称されることができる。量子化部１３０は、係数スキャン順（scan order）に基づいて、ブロックの形の量子化された変換係数を１次元ベクトルの形で再整列することができ、前記１次元ベクトルの形の量子化された変換係数に基づいて、前記量子化された変換係数に関する情報を生成することもできる。エントロピーエンコード部１９０は、例えば指数ゴロム（exponential Golomb）、ＣＡＶＬＣ（context-adaptive variable length coding）、ＣＡＢＡＣ（context-adaptive binary arithmetic coding）などのような、さまざまなエンコード方法を実行することができる。エントロピーエンコード部１９０は、量子化された変換係数のほか、ビデオ／映像復元に必要な情報（例えば構文要素（syntax elements）の値など）を一緒に、または別々にエンコードすることもできる。エンコードされた情報（ex。エンコードされたビデオ／イメージ情報）は、ビットストリームの形でＮＡＬ（network abstraction layer）ユニット単位で伝送または貯蔵することができる。前記ビットストリームは、ネットワークを介して伝送されることができ、またはデジタル貯蔵媒体に貯蔵することができる。ここで、ネットワークは、放送網、及び/またはネットワークなどを含むことができ、デジタル貯蔵媒体は、ＵＳＢ、ＳＤ、ＣＤ、ＤＶＤ、Ｂｌｕ−ｒａｙ、ＨＤＤ、ＳＳＤなど、様々な貯蔵媒体を含むことができる。エントロピーエンコード部１９０から出力された信号は、伝送する伝送部（図示せず）及び/または貯蔵する貯蔵部（図示せず）が、エンコード装置１００の内/外のエレメントとして構成することができ、または伝送部はエントロピーエンコード部１９０の構成要素で有り得る。
【００３８】
量子化部１３０から出力された量子化された変換係数は、予測信号を生成するために用いられる。例えば、量子化された変換係数は、ループ内の逆量子化部１４０と逆変換部１５０を介して逆量子化及び逆変換を適用することにより、レジデュアル信号を復元することができる。加算部１５５は、復元されたレジデュアル信号をインター予測部１８０またはイントラ予測部１８５から出力された予測信号に加えることで復元（reconstructed）信号（復元ピクチャ、復元ブロック、復元サンプルアレイ）が生成されることができる。スキップモードが適用された場合と同様に処理対象ブロックのレジデュアルがない場合、予測されたブロックが復元ブロックとして用いられる。加算部１５５は、復元部または復元ブロック生成部と指称されることができる。生成された復元信号は、現在のピクチャ内の次の処理対象のブロックのイントラ予測のために用いられ、後述するようにフィルタリングを経て、次のピクチャのインター予測のために用いられることもできる。
【００３９】
フィルタリング部１６０は、復元信号にフィルタリングを適用して主観的／客観的画質を向上させることができる。例えば、フィルタリング部１６０は、復元ピクチャに様々なフィルタリング方法を適用して修正された（modified）復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ１７０、具体的には、メモリ１７０のＤＰＢに貯蔵することができる。前記様々なフィルタリングの方法は、例えば、ジブロッキングフィルタリング、サンプル適応的オフセット（sample adaptive offset）、適応ループフィルタ（adaptive loop filter）、両方向フィルタ（bilateral filter）などを含むことができる。フィルタリング部１６０は、各フィルタリング方法の説明で後述するようにフィルタリングに関するさまざまな情報を生成し、エントロピーエンコード部１９０に伝達することができる。フィルタリングに関する情報は、エントロピーエンコード部１９０でエンコードされてビットストリーム形態で出力することができる。
【００４０】
メモリ１７０に伝送された修正された復元ピクチャは、インター予測部１８０から参照ピクチャとして用いられる。エンコード装置は、これにより、インター予測が適用される場合、エンコード装置１００とデコード装置での予測ミスマッチを回避することができ、コーディング効率も向上させることができる。
【００４１】
メモリ１７０ＤＰＢは修正された復元ピクチャをインター予測部１８０からの参照ピクチャとして用いるために貯蔵することができる。メモリ１７０は、現在のピクチャ内のモーション情報が導出された（またはエンコードされた）ブロックのモーション情報及び/または既に復元されたピクチャ内のブロックのモーション情報を貯蔵することができる。前記貯蔵されたモーション情報は、空間的周辺ブロックのモーション情報または時間的周辺ブロックのモーション情報として活用するために、インター予測部１８０に伝達することができる。メモリ１７０は、現在のピクチャ内の復元されたブロックの復元サンプルを貯蔵することができ、イントラ予測部１８５に伝達することができる。
【００４２】
図２は、本発明が適用される実施例として、ビデオ／映像信号のデコードが行われるデコード装置の概略的なブロック図を示す。
【００４３】
図２を参照すると、デコード装置２００は、エントロピーデコード（復号化）部２１０、逆量子化部２２０、逆変換部２３０、加算部２３５、フィルタリング部２４０、メモり２５０、インター予測部２６０及びイントラ予測部２６５を含みから構成されることができる。インター予測部２６０とイントラ予測部２６５を合わせて予測部と指称されることができる。つまり、予測部はインター予測部１８０とイントラ予測部１８５を含むことができる。逆量子化部２２０、逆変換部２３０を合わせてレジデュアル処理部と指称されることができる。つまり、レジデュアル処理部は、逆量子化部２２０、逆変換部２３０を含むことができる。前述したエントロピーデコード部２１０、逆量子化部２２０、逆変換部２３０、加算部２３５、フィルタリング部２４０、インター予測部２６０及びイントラ予測部２６５は、実施例に応じて１つのハードウェアコンポーネント（例えば、デコーダまたはプロセッサ）によって構成されることができる。また、メモリ１７０は、ＤＰＢ（decoded picture buffer）を含むことができ、デジタル貯蔵媒体によって構成されることもできる。
【００４４】
ビデオ／イメージ情報を含むビットストリームが入力されると、デコード装置２００は、図１のエンコードデバイスからのビデオ／イメージ情報が処理されたプロセスに対応して映像を復元することができる。例えば、デコード装置２００は、エンコード装置で適用された処理ユニットを用いてデコードを行うことができる。したがってデコードの処理ユニットは、例えば、コーディングユニットであることができ、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造及び/またはバイナリツリー構造をこのように分けることができる。そして、デコード装置２００を介してデコード及び出力された復元映像信号は、再生装置で再生することができる。
【００４５】
デコード装置２００は、図１のエンコード装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコード部２１０を介してデコードすることができる。例えば、エントロピーデコード部２１０は、前記ビットストリームを解析して映像復元（またはピクチャ復元）に必要な情報（ex．ビデオ／イメージ情報）を導出することができる。例えば、エントロピーデコード部２１０は、指数ゴロム符号化、ＣＡＶＬＣまたはＣＡＢＡＣなどのコーディング方法に基づいてビットストリーム内の情報をデコードし、映像復元に必要な構文要素の値、レジデュアルに関する変換係数の量子化された値を出力することができる。さらに詳細に、ＣＡＢＡＣエントロピー復号方法は、ビットストリームから各構文要素に該当する空を受信し、デコード対象構文要素の情報と周辺及びデコード対象ブロックの復号情報、または以前のステップでデコードされたシンボル／空の情報を用いてコンテキスト（context）モデルを決定し、決定されたコンテキストモデルに基づいて、空（bin）の発生確率を予測して、空の算術復号（arithmetic decoding）を実行して、各構文要素の値に対応するシンボルを生成することができる。このとき、ＣＡＢＡＣエントロピー復号方法は、コンテキストモデルを決定した後、次のシンボル／空の文脈モデルのためにデコードされたシンボル／空の情報を用いて、コンテキストモデルを更新することができる。エントロピーデコード部２１１０でデコードされた情報の内、予測に関する情報は、予測部（インター予測部２６０とイントラ予測部２６５）で提供され、エントロピーデコード部２１０からエントロピーデコードが行われたレジデュアル値、すなわち量子化された変換係数と関連パラメータ情報は、逆量子化部２２０に入力されることができる。また、エントロピーデコード部２１０でデコードされた情報の内、フィルタリングに関する情報は、フィルタリング部２４０に提供されることができる。一方、エンコード装置から出力された信号を受信する受信部（図示せず）がデコード装置２００の内/外のエレメントとしてより構成されることがあり、または受信部は、エントロピーデコード部２１０の構成要素で有り得る。
【００４６】
逆量子化部２２０においては、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部２２０は、量子化された変換係数を２次元のブロックの形で再整列することができる。この場合、前記再整列は、エンコード装置で実行された係数スキャン順序に基づいて再整列を実行することができる。逆量子化部２２０は、量子化パラメータ（例えば、量子化ステップサイズ情報）を用いて、量子化された変換係数の逆量子化を行い、変換係数（transform coefficient）を獲得することができる。
【００４７】
逆変換部２３０においては、 変換係数を逆変換してレジデュアル信号（レジデュアルブロック、レジデュアルサンプルアレイ）を獲得することになる。
【００４８】
予測部は現在のブロックの予測を行い、前記現在のブロックの予測サンプルを含む予測されたブロック（predicted block）を生成することができる。予測部はエントロピーデコード部２１０から出力された前記予測に関する情報に基づいて、前記現在のブロックにイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができ、具体的なイントラ／インター予測モードを決定することができる。
【００４９】
イントラ予測部２６５は、現在のピクチャ内のサンプルを参照して、現在のブロックを予測することができる。前記参照されるサンプルは、予測モードに応じて前記現在のブロックの周辺（neighbor）に位置することができ、または離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。イントラ予測部２６５は、周辺ブロックに適用される予測モードを用いて、現在のブロックに適用される予測モードを決定することもできる。
【００５０】
インター予測部２６０は、参照ピクチャ上でモーションベクトルによって特定される参照ブロック（参照サンプルのアレイ）をベースに、現在のブロックの予測されたブロックを誘導することができる。このとき、インター予測モードで伝送されるモーション情報の量を減らすために周辺のブロックと現在のブロックの間のモーション情報の相関性に基づいてモーション情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記モーション情報は、モーションベクトルと参照ピクチャインデックスを含むことができる。前記モーション情報は、インター予測方向（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）の情報をさらに含むことができる。インター予測の場合、周辺ブロックは、現在のピクチャ内に存在する空間的周りのブロック（spatial neighboring block）と参照ピクチャに存在する時間的周辺ブロック（temporal neighboring block）を含むことができる。例えば、インター予測部２６０は、周辺ブロックをベースにモーション情報候補リストを構成し、受信した候補の選択情報に基づいて、前記現在のブロックのモーションベクトル及び/または参照ピクチャのインデックスを導出することができる。様々な予測モードに基づいて、インター予測が行われることができ、前記予測に関する情報は、前記現在のブロックのインター予測のモードを指示する情報を含むことができる。
【００５１】
加算部２３５は、獲得されたレジデュアル信号をインター予測部２６０またはイントラ予測部２６５から出力された予測信号（予測されたブロック、予測サンプルアレイ）に加えることで復元信号（復元ピクチャ、復元ブロック、復元サンプルアレイ）を生成することができる。スキップモードが適用された場合のように処理対象ブロックのレジデュアルがない場合、予測されたブロックが復元ブロックとして用いられる。
【００５２】
加算部２３５は、復元部または復元ブロック生成部と指称されることができる。生成された復元信号は、現在のピクチャ内の次の処理対象のブロックのイントラ予測のために用いられ、後述するようにフィルタリングを経て、次のピクチャのインター予測のために用いられることもできる。
【００５３】
フィルタリング部２４０は、復元信号にフィルタリングを適用して主観的／客観的画質を向上させることができる。例えば、フィルタリング部２４０は、復元ピクチャに様々なフィルタリング方法を適用して修正された（modified）復元ピクチャを生成することができ、前記修正された復元ピクチャをメモり２５０、具体的に、メモり２５０のＤＰＢに伝送することができる。前記様々なフィルタリングの方法は、例えば、ジブロッキングフィルタリング、サンプル適応的オフセット（sample adaptive offset）、適応ループフィルタ（adaptive loop filter）、両方向フィルタ（bilateral filter）などを含むことができる。
【００５４】
メモり２５０のＤＰＢに貯蔵された（修正された）復元ピクチャはインター予測部２６０から参照ピクチャとして用いられる。メモり２５０は、現在のピクチャ内のモーション情報が導出された（またはデコードされた）ブロックのモーション情報及び/または既に復元されたピクチャ内のブロックのモーション情報を貯蔵することができる。前記貯蔵されたモーション情報は、空間的周辺ブロックのモーション情報または時間的周辺ブロックのモーション情報として活用するために、インター予測部２６０に伝達することができる。メモリ１７０は、現在のピクチャ内の復元されたブロックの復元サンプルを貯蔵することができ、イントラ予測部２６５に伝達することができる。
【００５５】
本明細書において、エンコード装置１００のフィルタリング部１６０、インター予測部１８０及びイントラ予測部１８５で説明された実施例は、それぞれのデコード装置２００のフィルタリング部２４０、インター予測部２６０及びイントラ予測部２６５にも同一または対応するように適用することができる。
【００５６】
Block Partitioning
【００５７】
本文書に係るビデオ／映像コーディング方法は、様々な細部技術に基づいて行うことができ、それぞれの細部技術を概略的に説明すると、次の通りである。以下説明される技術は、前述した、及び/または後述されるビデオ／映像のエンコード／デコードの手順での予測、レジデュアル処理（（逆）変換、（逆）量子化など）、構文 （syntax） 要素のコーディング、フィルタリング、パーティショニング／分割などの関連の手続きに関連付けることができることは当業者に自明である。
【００５８】
本文書に沿ったブロックパーティショニング手順は、前述したエンコード装置の映像分割部１１０で実行されて、パーティショニング関連情報がエントロピーエンコード部１９０から（エンコード）処理され、ビットストリームの形でデコード装置に伝達することができる。デコード装置のエントロピーデコード部２１０は、前記ビットストリームから獲得した前記パーティショニング関連情報に基づいて、現在ピクチャのブロックパーティショニング構造を導出し、これに基づいて映像デコードのための一連の手順（ex。予測、レジデュアル処理、ブロック復元、インループフィルタリングなど）を実行することができる。
【００５９】
Partitioning of picture into ＣＴＵｓ
【００６０】
ピクチャは、コーディングツリーユニット（ＣＴＵｓ）のシーケンスに分割される（divided into a sequence）ことができる。 ＣＴＵはコーディングツリーブロック（ＣＴＢ）に対応することができる。あるいはＣＴＵはルマサンプルのコーディングツリーブロックと、対応するクロマサンプルの二つのコーディングツリーブロックを含むことができる。つまり、三つのサンプルアレイを含むピクチャに対し、ＣＴＵはルマサンプルのＮｘＮブロックとクロマサンプルの二つの対応ブロックを含むことができる。
【００６１】
コーディングと予測などのためのＣＴＵの最大許容サイズは、変換のためのＣＴＵの最大許容サイズと異なることがある。たとえば、ＣＴＵ内ルマブロックの最大許容サイズは１２８ｘ１２８で有り得る。
【００６２】
Partitionig of the CTUs using a tree structure
【００６３】
ＣＴＵはクアッドツリー（quad-tree、QT）の構造に基づいてＣＵに分割されることができる。クアッドツリー構造は、クォータナリー（quaternary）ツリー構造と指称されることができる。これは、様々な局地的特徴（local characteristic）を反映するためである。一方、本文書においては、ＣＴＵは、クアッドツリーだけでなく、バイナリツリー（binary-tree、ＢＴ）とターナーリツリー（ternary-tree、ＴＴ）を含むマルチタイプツリー構造の分割に基づいて分割されることができる。以下、ＱＴＢＴ構造とは、クアッドツリーとバイナリツリーベースの分割構造を含むことができ、ＱＴＢＴＴＴとはクアッドツリー、バイナリツリー及びターナーリツリーベースの分割構造を含むことができる。または、ＱＴＢＴ構造は、クアッドツリー、バイナリツリーとターナーリツリーベースの分割構造を含むこともできる。コーディングツリー構造では、ＣＵは正方形または長方形の形状を有することができる。 ＣＴＵは、まずクアッドツリー構造に分割されることができる。以後クアッドツリー構造のリーフノードは、マルチタイプツリー構造によってさらに分割することができる。
【００６４】
図３は、本発明が適用されることができる実施例として、マルチタイプツリー構造の一例を示す図である。
【００６５】
本明細書の一実施例において、マルチタイプツリー構造は、図３に示すような４つの分割タイプを含むことができる。前記４つの分割タイプは、垂直バイナリ分割（vertical binary splitting、SPLIT_BT_VER）、水平バイナリ分割（horizontal binary splitting、SPLIT_BT_HOR）、垂直ターナーリー分割（vertical ternary splitting、SPLIT_TT_VER）、水平ターナーリー分割（horizontal ternary splitting、SPLIT_TT_HOR ）を含むことができる。
【００６６】
前記マルチタイプツリー構造のリーフノードはＣＵと呼ばことができる。このようなＣＵは、予測及び変換手順のために用いられる。本文書では一般的にＣＵ、ＰＵ、ＴＵは、同じブロックサイズを有することができる。ただし、最大許容変換の長さ（maximum supported transform length）がＣＵのカラー成分（colour component）の幅または高さより小さい場合には、ＣＵとＴＵが異なるブロックサイズを有することができる。
【００６７】
図４は、本発明が 適用することができる実施例として、マルチタイプツリーを伴うクアッドツリー（quadtree with nested multi-type tree）構造のパーティション 分割情報のシグナリングメカニズムを例示する図である。
【００６８】
ここで、ＣＴＵはクアッドツリーのルート（root）として取り扱い、クアッドツリー構造で初めてパーティショニングされる。各クアッドツリーのリーフ・ノードは、以後、マルチタイプツリー構造で、さらにパーティショニングすることができる。マルチタイプツリー構造において、第１フラグ（a first flag、ex。mtt_split_cu_flag）が、そのノードが追加的にパーティショニングされるかを指示するためにシグナリングされる。もしそのノードが追加的にパーティショニングされる場合、第２フラグ（a second flag、ex。mtt_split_cu_verticla_flag）が分割方向（splitting direction）を指示するためにシグナリングすることができる。その後、第３フラグ（a third flag、ex。mtt_split_cu_binary_flag）が分割タイプがバイナリ分割であるかターナーリー分割であるかの可否を指示するためにシグナリングすることができる。例えば、前記mtt_split_cu_vertical_flag及び前記mtt_split_cu_binary_flagに基づいて、ＣＵのマルチタイプツリー分割モード（multi-type tree splitting mode、MttSplitMode）が、次の表１のように導出することができる。
【００６９】
【表１】
2022501912.tif 000003
【００７０】
図５は、本発明が適用されることができる実施例として、クアッドツリーと伴うマルチタイプツリー（quadtree and nested multi-type tree）構造に基づい手ＣＴＵを多重ＣＵに分割する方法を例示する図である。
【００７１】
ここで、ボールドブロックエッジに（bold block edges）は、クアッドツリーパーティショニングを、残りのエッジは、マルチタイプツリーパーティショニングを示す。マルチタイプツリーを伴ったクアッドツリーのパーティションは、コンテンツ - アダプタテッドコーディングツリー構造を提供することができる。 ＣＵはコーディングブロック（ＣＢ）に対応することができる。あるいはＣＵはルマサンプルのコーディングブロックと、対応するクロマサンプルの二つのコーディングブロックを含むことができる。 ＣＵのサイズはＣＴＵだけ大きいこともあり、またはルマサンプル単位で４ｘ４ほど小さいこともある。たとえば、４：２：０カラーフォーマット（ｏｒクロマフォーマット）である場合、最大クロマＣＢサイズは６４ｘ６４であり、最小クロマＣＢサイズは２ｘ２で有り得る。
【００７２】
本文書において、例えば、最大許容ルマＴＢサイズは６４ｘ６４であり、最大許容クロマＴＢサイズは３２ｘ３２で有り得る。もし前記ツリー構造に沿って分割されたＣＢの幅または高さが最大変換幅または高さより大きい場合、そのＣＢは自動的に（または暗黙的に）水平及び垂直方向のＴＢサイズ制限を満足するまで分割することができる。
【００７３】
一方、マルチタイプツリーを伴ったクアッドツリーコーディングツリースキームのために、次のパラメータがｓｐｓシンタックス（syntax）要素で定義及び識別することができる。
【００７４】
−  ＣＴＵ  ｓｉｚｅ：クォータナリツリーのルートノードサイズ（ｔｈｅ  ｒｏｏｔ  ｎｏｄｅ  ｓｉｚｅ  ｏｆ  ａ  ｑｕａｔｅｒｎａｒｙ  ｔｒｅｅ）
【００７５】
−  ＭｉｎＱＴＳｉｚｅ：最小許容クォータナリツリーリーフノードサイズ（ｔｈｅ  ｍｉｎｉｍｕｍ  ａｌｌｏｗｅｄ  ｑｕａｔｅｒｎａｒｙ  ｔｒｅｅ  ｌｅａｆ  ｎｏｄｅ  ｓｉｚｅ）
【００７６】
−  ＭａｘＢｔＳｉｚｅ：（最大許容バイナリツリールートノードサイズ（ｔｈｅ  ｍａｘｉｍｕｍ  ａｌｌｏｗｅｄ  ｂｉｎａｒｙ  ｔｒｅｅ  ｒｏｏｔ  ｎｏｄｅ  ｓｉｚｅ）
【００７７】
−  ＭａｘＴｔＳｉｚｅ：（最大許容ターナリーツリールートノードサイズ（ｔｈｅ  ｍａｘｉｍｕｍ  ａｌｌｏｗｅｄ  ｔｅｒｎａｒｙ  ｔｒｅｅ  ｒｏｏｔ  ｎｏｄｅ  ｓｉｚｅ）
【００７８】
−  ＭａｘＭｔｔＤｅｐｔｈ：クアッドツリーリーフから分割されるマルチタイプツリーの最大許容階層の深度（ｔｈｅ  ｍａｘｉｍｕｍ  ａｌｌｏｗｅｄ  ｈｉｅｒａｒｃｈｙ  ｄｅｐｔｈ  ｏｆ  ｍｕｌｔｉ−ｔｙｐｅ  ｔｒｅｅ  ｓｐｌｉｔｔｉｎｇ  ｆｒｏｍ  ａ  ｑｕａｄｔｒｅｅ  ｌｅａｆ）
【００７９】
−  ＭｉｎＢｔＳｉｚｅ：最小許容バイナリーツリーリーフノードサイズ（ｔｈｅ  ｍｉｎｉｍｕｍ  ａｌｌｏｗｅｄ  ｂｉｎａｒｙ  ｔｒｅｅ  ｌｅａｆ  ｎｏｄｅ  ｓｉｚｅ）
【００８０】
−  ＭｉｎＴｔＳｉｚｅ：最小許容ターナリーツリーリーフノードサイズ（ｔｈｅ  ｍｉｎｉｍｕｍ  ａｌｌｏｗｅｄ  ｔｅｒｎａｒｙ  ｔｒｅｅ  ｌｅａｆ  ｎｏｄｅ  ｓｉｚｅ）
【００８１】
マルチタイプツリーを伴ったクアッドツリーコーディングツリー構造の一例として、ＣＴＵサイズは１２８ｘ１２８ルマサンプル及び二つの対応するクロマサンプルの６４ｘ６４ブロックに設定することができる（４：２：０クロマフォーマットで）。この場合、MinOTSizeは１６ｘ１６に設定され、MaxBtSizeは１２８ｘ１２８に設定され、MaxTtSzieは６４ｘ６４に設定され、MinBtSize及びMinTtSize（for both width and height）は４ｘ４で、そしてMaxMttDepthは４に設定されることができる。クォートツリーパーティショニングは、ＣＴＵに適用されてクアッドツリーのリーフ・ノードを生成することができる。クアッドツリーのリーフ・ノードは、リーフＱＴノードと指称されることができる。クアッドツリーのリーフノードは１６ｘ１６サイズ（i.e. the MinOTSize）から１２８ｘ１２８サイズ（i.e. the ＣＴＵ size）を有することができる。もしリーフＱＴノードが１２８ｘ１２８である場合、さらに、バイナリツリー／ターナーリツリーに分割されないことがある。これは、この場合、分割されてもMaxBtsizeとMaxTtszie（i.e. ６４ｘ６４）を超過するからである。それ以外の場合、リーフＱＴノードは、マルチタイプツリーにさらに分割することができる。従って、リーフＱＴノードはマルチタイプツリーのルートノード（root node）であり、リーフＱＴノードは、マルチタイプツリーデプス（mttDepth）０の値を有することができる。もし、マルチタイプツリーデプスがMaxMttdepth（ex。４）に到達した場合、これ以上追加の分割は考慮されないことがある。もし、マルチタイプツリーノードの幅がMinBtSizeと同じで、2xMinTtSizeより小さいか等しいとき、もはや追加の水平分割は考慮されないことがある。もし、マルチタイプツリーノードの高さがMinBtSizeと同じで、2xMinTtSizeより小さいか等しいとき、もはや追加の垂直分割は考慮されないことがある。
【００８２】
図６は、本発明が適用されることができる実施例として、ターナーリツリー（ternary-tree）分割を制限する方法を例示する図である。
【００８３】
図６を参照すると、ハードウェアデコーダでの６４ｘ６４ルマブロックと３２ｘ３２クロマパイプラインの設計を許容するために、ＴＴ分割は、特定の場合に制限されることができる。例えば、ルマコーディングブロックの幅または高さが既設定された特定の値（例えば、３２、６４）より大きい場合、図６に示すように、ＴＴ分割が制限されることができる。
【００８４】
本文書において、コーディングツリースキームはルマとクロマブロックが個別的（separate）ブロックのツリー構造を有することを支援することができる。
【００８５】
ＰとＢスライスに対し、一つのＣＴＵ内ルマとクロマＣＴＢは同じコーディングツリー構造を有するように制限されることができる。しかし、Ｉスライスに対し、ルマとクロマブロックは、互いに別々のブロックツリー構造を有することができる。もし個別的ブロックツリーモードが適用される場合、ルマＣＴＢは、特定のコーディングのツリー構造に基づいてＣＵに分割され、クロマＣＴＢは、他のコーディングツリー構造に基づいて、クロマＣＵに分割されることができる。これは、Ｉスライス内ＣＵはルマ成分のコーディングブロックまたは２つクロマ成分のコーディングブロックで構成され、ＰまたはＢスライスのＣＵは三つの色成分のブロックで構成されることができるのを意味することができる。
【００８６】
前述した“Partitionig of the CTUs using a tree structure "でマルチタイプツリーを伴ったクアッドツリーコーディングツリー構造について説明したが、ＣＵが分割される構造は、これに限定されない。たとえば、ＢＴの構造とＴＴの構造は、多数の分割ツリー（Multiple Partitioning Tree、ＭＰＴ）の構造に含まれる概念で解釈されることができ、ＣＵはＱＴ構造とＭＰＴ構造を通じて分割されると解釈することができる。ＱＴ構造とＭＰＴ構造を通じてＣＵが分割される一例で、ＱＴ構造のリーフノードがいくつかのブロックに分割されるかについての情報を含むシンタックス（syntax：構文）要素（例えば、ＭＰＴ_split_type）とＱＴ構造のリーフノードが垂直と水平の内、どちらの方向に分割されるかについての情報を含むシンタックス要素（例えば、ＭＰＴ_split_mode）がシグナリングされることで、分割構造が決定されることができる。
【００８７】
また異なる例において、ＣＵはＱＴ構造、ＢＴの構造またはＴＴ構造と別の方法で分割されることができる。つまり、ＱＴ構造に基づいて、下位デプスのＣＵが上位デプスのＣＵの１/４サイズに分割されたり、ＢＴの構造に応じて、下位デプスのＣＵが上位デプスのＣＵの１/２サイズに分割されたり、ＴＴの構造に基づいて下位デプスのＣＵが上位デプスのＣＵの１/４または１/２のサイズに分割されるものとは異なり、下位デプスのＣＵは、場合によっては、上位デプスのＣＵの１/５、１/３、３/８、３/５、２/３または５/８のサイズに分割されることができ、ＣＵが分割される方法は、これに限定されない。
【００８８】
もしツリーノードブロックの部分（a portion）が下部（bottom）または右（right）ピクチャ境界を超える（exceeds）場合、そのツリーノードブロックは、すべてのコーディングされたＣＵのすべてのサンプルが前記ピクチャ境界の内に位置するように制限されることができる。この場合、例えば、次のような分割ルールが適用されることができる。
【００８９】
−  Ｉｆ  ａ  ｐｏｒｔｉｏｎ  ｏｆ  ａ  ｔｒｅｅ  ｎｏｄｅ  ｂｌｏｃｋ  ｅｘｃｅｅｄｓ  ｂｏｔｈ  ｔｈｅ  ｂｏｔｔｏｍ  ａｎｄ  ｔｈｅ  ｒｉｇｈｔ  ｐｉｃｔｕｒｅ  ｂｏｕｎｄａｒｉｅｓ，ツリーノードブロックの一部がピクチャの下端又は右側のバウンダリーを超えると、
【００９０】
−  Ｉｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ａ  ＱＴ  ｎｏｄｅ  ａｎｄ  ｔｈｅ  ｓｉｚｅ  ｏｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｌａｒｇｅｒ  ｔｈａｎ  ｔｈｅ  ｍｉｎｉｍｕｍ  ＱＴ  ｓｉｚｅ，  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｆｏｒｃｅｄ  ｔｏ  ｂｅ  ｓｐｌｉｔ  ｗｉｔｈ  ＱＴ  ｓｐｌｉｔ  ｍｏｄｅ．ブロックがＱＴノードであり、ブロックサイズが最小ＱＴサイズより大きければ、ブロックは強制的にＱＴ分割モードに分けられる。
【００９１】
−  Ｏｔｈｅｒｗｉｓｅ，  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｆｏｒｃｅｄ  ｔｏ  ｂｅ  ｓｐｌｉｔ  ｗｉｔｈ  ＳＰＬＩＴ＿ＢＴ＿ＨＯＲ  ｍｏｄｅ そうでなければ、ブロックは強制的にＳＰＬＩＴ＿ＢＴ＿ＨＯＲモードに分けられる。
【００９２】
−  Ｏｔｈｅｒｗｉｓｅ  ｉｆ  ａ  ｐｏｒｔｉｏｎ  ｏｆ  ａ  ｔｒｅｅ  ｎｏｄｅ  ｂｌｏｃｋ  ｅｘｃｅｅｄｓ  ｔｈｅ  ｂｏｔｔｏｍ  ｐｉｃｔｕｒｅ  ｂｏｕｎｄａｒｉｅｓ，そうではなく、ツリーノードブロックの一部がピクチャの下端のバウンダリーを超えると、
【００９３】
−  Ｉｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ａ  ＱＴ  ｎｏｄｅ，  ａｎｄ  ｔｈｅ  ｓｉｚｅ  ｏｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｌａｒｇｅｒ  ｔｈａｎ  ｔｈｅ  ｍｉｎｉｍｕｍ  ＱＴ  ｓｉｚｅ，  ａｎｄ  ｔｈｅ  ｓｉｚｅ  ｏｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｌａｒｇｅｒ  ｔｈａｎ  ｔｈｅ  ｍａｘｉｍｕｍ  ＢＴ  ｓｉｚｅ，  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｆｏｒｃｅｄ  ｔｏ  ｂｅ  ｓｐｌｉｔ  ｗｉｔｈ  ＱＴ  ｓｐｌｉｔ  ｍｏｄｅ．ブロックがＱＴノードであり、ブロックサイズが最小ＱＴサイズより大きく、ブロックサイズが最大ＢＴサイズよりも大きければ、ブロックは強制的にＱＴ分割モードに分けられる。
【００９４】
−  Ｏｔｈｅｒｗｉｓｅ，  ｉｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ａ  ＱＴ  ｎｏｄｅ，  ａｎｄ  ｔｈｅ  ｓｉｚｅ  ｏｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｌａｒｇｅｒ  ｔｈａｎ  ｔｈｅ  ｍｉｎｉｍｕｍ  ＱＴ  ｓｉｚｅ  ａｎｄ  ｔｈｅ  ｓｉｚｅ  ｏｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｓｍａｌｌｅｒ  ｔｈａｎ  ｏｒ  ｅｑｕａｌ  ｔｏ  ｔｈｅ  ｍａｘｉｍｕｍ  ＢＴ  ｓｉｚｅ，  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｆｏｒｃｅｄ  ｔｏ  ｂｅ  ｓｐｌｉｔ  ｗｉｔｈ  ＱＴ  ｓｐｌｉｔ  ｍｏｄｅ  ｏｒ  ＳＰＬＩＴ＿ＢＴ＿ＨＯＲ  ｍｏｄｅ．そうではなく、ブロックがＱＴノードであり、ブロックサイズが最小ＱＴサイズより大きく、ブロックサイズが最大ＢＴサイズよりも小さいか同じであれば、ブロックは強制的にＱＴ分割モードまたはＳＰＬＩＴ＿ＢＴ＿ＨＯＲモードに分けられる。
【００９５】
−  Ｏｔｈｅｒｗｉｓｅ（ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ａ  ＢＴＴ  ｎｏｄｅ  ｏｒ  ｔｈｅ  ｓｉｚｅ  ｏｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｓｍａｌｌｅｒ  ｔｈａｎ  ｏｒ  ｅｑｕａｌ  ｔｏ  ｔｈｅ  ｍｉｎｉｍｕｍ  ＱＴ  ｓｉｚｅ），  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｆｏｒｃｅｄ  ｔｏ  ｂｅ  ｓｐｌｉｔ  ｗｉｔｈ  ＳＰＬＩＴ＿ＢＴ＿ＨＯＲ  ｍｏｄｅ．そうでなければ（ブロックがＢＴＴノードあるいは、ブロックサイズが最小ＱＴサイズよりも小さいか同じであれば）、ブロックは強制的にＳＰＬＩＴ＿ＢＴ＿ＨＯＲモードに分けられる。
【００９６】
−  Ｏｔｈｅｒｗｉｓｅ  ｉｆ  ａ  ｐｏｒｔｉｏｎ  ｏｆ  ａ  ｔｒｅｅ  ｎｏｄｅ  ｂｌｏｃｋ  ｅｘｃｅｅｄｓ  ｔｈｅ  ｒｉｇｈｔ  ｐｉｃｔｕｒｅ  ｂｏｕｎｄａｒｉｅｓ，そうではなく、ツリーノードブロックの一部がピクチャの右側のバウンダリーを超えると、
【００９７】
−  Ｉｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ａ  ＱＴ  ｎｏｄｅ，  ａｎｄ  ｔｈｅ  ｓｉｚｅ  ｏｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｌａｒｇｅｒ  ｔｈａｎ  ｔｈｅ  ｍｉｎｉｍｕｍ  ＱＴ  ｓｉｚｅ，  ａｎｄ  ｔｈｅ  ｓｉｚｅ  ｏｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｌａｒｇｅｒ  ｔｈａｎ  ｔｈｅ  ｍａｘｉｍｕｍ  ＢＴ  ｓｉｚｅ，  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｆｏｒｃｅｄ  ｔｏ  ｂｅ  ｓｐｌｉｔ  ｗｉｔｈ  ＱＴ  ｓｐｌｉｔ  ｍｏｄｅ．ブロックがＱＴノードであり、ブロックサイズが最小ＱＴサイズより大きく、ブロックサイズが最大ＢＴサイズよりも大きければ、ブロックは強制的にＱＴ分割モードに分けられる。
【００９８】
−  Ｏｔｈｅｒｗｉｓｅ，  ｉｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ａ  ＱＴ  ｎｏｄｅ，  ａｎｄ  ｔｈｅ  ｓｉｚｅ  ｏｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｌａｒｇｅｒ  ｔｈａｎ  ｔｈｅ  ｍｉｎｉｍｕｍ  ＱＴ  ｓｉｚｅ  ａｎｄ  ｔｈｅ  ｓｉｚｅ  ｏｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｓｍａｌｌｅｒ  ｔｈａｎ  ｏｒ  ｅｑｕａｌ  ｔｏ  ｔｈｅ  ｍａｘｉｍｕｍ  ＢＴ  ｓｉｚｅ，  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｆｏｒｃｅｄ  ｔｏ  ｂｅ  ｓｐｌｉｔ  ｗｉｔｈ  ＱＴ  ｓｐｌｉｔ  ｍｏｄｅ  ｏｒ  ＳＰＬＩＴ＿ＢＴ＿ＶＥＲ  ｍｏｄｅ．そうではなく、ブロックがＱＴノードであり、ブロックサイズが最小ＱＴサイズより大きく、ブロックサイズが最大ＢＴサイズよりも小さいか同じであれば、ブロックは強制的にＱＴ分割モードまたはＳＰＬＩＴ＿ＢＴ＿ＶＥＲモードに分けられる。
【００９９】
−  Ｏｔｈｅｒｗｉｓｅ（ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ａ  ＢＴＴ  ｎｏｄｅ  ｏｒ  ｔｈｅ  ｓｉｚｅ  ｏｆ  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｓｍａｌｌｅｒ  ｔｈａｎ  ｏｒ  ｅｑｕａｌ  ｔｏ  ｔｈｅ  ｍｉｎｉｍｕｍ  ＱＴ  ｓｉｚｅ），  ｔｈｅ  ｂｌｏｃｋ  ｉｓ  ｆｏｒｃｅｄ  ｔｏ  ｂｅ  ｓｐｌｉｔ  ｗｉｔｈ  ＳＰＬＩＴ＿ＢＴ＿ＶＥＲ  ｍｏｄｅ．そうでなければ（ブロックがＢＴＴノードあるいは、ブロックサイズが最小ＱＴサイズよりも小さいか同じであれば）、ブロックは強制的にＳＰＬＩＴ＿ＢＴ＿ＶＥＲモードに分けられる。
【０１００】
一方、前述したマルチタイプツリーを伴ったクアッドツリーコーディングブロック構造は非常に柔軟なブロックパーティショニングの構造を提供することができる。マルチタイプツリーにサポートされる分割タイプのため、他の分割パターンが、場合によって、潜在的に同じコーディングブロック構造の結果をもたらすことができる。このような冗長（redundant）した分割パターンの発生を制限することにより、パーティショニング情報のデータ量を削減することができる。下の図を参照して説明する。
【０１０１】
図７は、本発明が適用されることができる実施例として、バイナリツリーの分割とターナーリツリーの分割で発生することができる冗長分割パターンを例示する図である。
【０１０２】
図７に示すように、２段階のレベルの一方向の連続的なバイナリ分割（two levels of consecutive binary splits in one direction）は、ターナー・リー分割以後の中心パーティションのバイナリ分割と同じコーディングブロック構造を有する。このような場合、ターナーリツリーの分割の中心パーティションのバイナリツリーの分割（in the given direction）は、制限されることができる。このような制限はすべてのピクチャのＣＵに対し適用することができる。このような特定の分割が制限される場合、対応する構文要素のシグナリングは、このような制限される場合を反映して修正されることができ、これに通じてパーティショニングのためにシグナリングされるビット数を減らすことができる。例えば、図７に示された例のように、ＣＵの中心パーティションのバイナリツリーの分割が制限される場合、分割がバイナリ分割であるかテノールリー分割であるかどうかを示すmtt_split_cu_binary_flag構文要素はシグナリングされず、その値は０でデコーダによって推論することができる。
【０１０３】
予測（prediction）
【０１０４】
デコードが実行される現在の処理ユニットを復元するために、現在の処理ユニットが含まれた現在のピクチャまたは他のピクチャのデコードされた部分を用いることができる。
【０１０５】
復元に現在ピクチャのみを用いる、すなわち、画面内予測のみを実行するピクチャ（スライス）をイントラピクチャまたはＩピクチャ（スライス）、各ユニットを予測するために最大で１つのモーションベクトルと参照インデックスを用いるピクチャ（スライス）を予測ピクチャ（predictive picture）またはＰピクチャ（スライス）、最大２つのモーションベクトルと参照インデックスを用いるピクチャ（スライス）をペア予測ピクチャ（Bi-predictive picture）またはＢピクチャ（スライス）と呼ばすることができる。
【０１０６】
イントラ予測は、同じデコードされたピクチャ（またはスライス）のデータ要素（例えば、サンプル値等）から現在の処理ブロックを導出する予測方法を意味する。つまり、現在のピクチャ内の復元された領域を参照して、現在の処理ブロックのピクセル値を予測する方法を意味する。
【０１０７】
以下、インター予測について、さらに詳細に説明する。
【０１０８】
インター予測（Inter prediction）（または画面間予測）
【０１０９】
インター予測は、現在のピクチャ以外のピクチャのデータ要素（例えば、サンプル値またはモーションベクトルなど）に基づいて、現在の処理ブロックを導出する予測方法を意味する。つまり、現在のピクチャ以外の復元された他のピクチャ内の復元された領域を参照して、現在の処理ブロックのピクセル値を予測する方法を意味する。
【０１１０】
インター予測（またはピクチャ間予測）は、ピクチャの間に存在する冗長性を除去する技術で、ほとんど動き推定（motion estimation）と動き補償（motion compensation）を介して行われます。
【０１１１】
本明細書の実施例には、先に図１及び図２で説明したインター予測方法の細部技術を説明するものでデコーダの場合、後述する図１０のインター予測ベースのビデオ／映像のデコード方法と、図１１のデコード装置内のインター予測部で示すことができる。加えて、エンコーダの場合、後述する図８のインター予測ベースのビデオ／映像のエンコード方法と、図９のエンコード装置内のインター予測部で示すことができる。さらに、図８及び図９によってエンコードされたデータは、ビットストリームの形で貯蔵されることができる。
【０１１２】
エンコード装置／デコード装置の予測部はブロック単位でインター予測を実行して、予測サンプルを導出することができる。インター予測は、現在のピクチャ以外のピクチャのデータ要素（e.g.サンプル値、またはモーション情報など）に依存的な方法で導出される予測を示すことができる。現在のブロックにインター予測が適用される場合、参照ピクチャのインデックスが指す参照ピクチャ上でモーションベクトルによって特定される参照ブロック（参照サンプルのアレイ）に基づいて、現在のブロックの予測されたブロック（予測サンプルアレイ）を誘導することができる。
【０１１３】
このとき、インター予測モードで 伝送されるモーション情報の量を減らすために周辺のブロックと現在のブロックの間のモーション情報の相関性に基づいて、現在のブロックのモーション情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記モーション情報は、モーションベクトルと参照ピクチャインデックスを含むことができる。前記モーション情報は、インター予測タイプ（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）の情報をさらに含むことができる。
【０１１４】
インター予測が適用される場合、周辺ブロックは、現在のピクチャ内に存在する空間的周りのブロック（spatial neighboring block）と参照ピクチャに存在する時間的周辺ブロック（temporal neighboring block）を含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的周辺ブロックを含む参照ピクチャは同じこともあり、異なることもある。前記時間的周辺ブロックは、同じ位置参照ブロック（collocated reference block）、同じ位置ＣＵ （colＣＵ）などの名前で呼ばれることができ、前記時間的周辺ブロックを含む参照ピクチャは、同じ位置ピクチャ（collocated picture、colPic）と呼ばれることもできる。
【０１１５】
たとえば、現在のブロックの周辺ブロックに基づいてモーション情報候補リストが構成されることがあり、前記現在のブロックのモーションベクトル及び/または参照ピクチャのインデックスを導出するためにどんなの候補が選択（使用）されるかを指示するフラグまたはインデックス情報がシグナリングされることができる。
【０１１６】
様々な予測モードに基づいて、インター予測が行われることができ、例えば、スキップモードとマージモードの場合、現在のブロックのモーション情報は、選択された周辺ブロックのモーション情報と同じことができる。スキップ・モードの場合、マージモードとは異なり、レジデュアル信号が伝送されないことがある。モーション情報予測（motion vector prediction、ＭＶＰ）モードの場合、選択された周辺ブロックのモーションベクトルをモーションベクトル予測子（motion vector predictor）で用いて、モーションベクトル差分（motion vector difference）は、シグナリングされることができる。この場合、前記モーションベクトル予測子とモーションベクトル差分の合を用いて前記現在のブロックのモーションベクトルを導出することができる。
【０１１７】
図８及び図９は、本発明の実施例に係るインター予測ベースのビデオ／映像のエンコード方法と本発明の実施例に係るエンコード装置内インター予測部例示する図である。
【０１１８】
図８及び図９を参照すると、Ｓ８０１は、エンコード装置のインター予測部１８０によって実行されることができ、Ｓ８０２は、エンコード装置のレジデュアル処理部によって実行されることができる。具体的に、Ｓ８０２は、エンコード装置の減算部１１５によって実行されることができる。 Ｓ８０３で予測情報は、インター予測部１８０によって導出され、エントロピーエンコード部１９０によってエンコードされることができる。 Ｓ８０３でレジデュアル情報は、レジデュアル処理部によって導出され、エントロピーエンコード部１９０によってエンコードされることができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
【０１１９】
前述したように、前記レジデュアルサンプルは、エンコード装置の変換部１２０を介して変換係数に導出され、前記変換係数は、量子化部１３０を介して量子化された変換係数で導出することができる。前記量子化された変換係数に関する情報がレジデュアルコーディング手順を介してエントロピーエンコード部１９０でエンコードされることができる。
【０１２０】
エンコード装置は、現在のブロックのインター予測を行う（Ｓ８０１）。エンコード装置は、現在のブロックのインター予測モードとモーション情報を導出し、前記現在のブロックの予測サンプルを生成することができる。ここでインター予測モード決定、モーション情報導出及び予測サンプルの生成手順については、同時に実行されることもあり、いずれかの一手順が、他の手順よりも先に実行されることもできる。たとえば、エンコード装置のインター予測部１８０は、予測モード決定部１８１、モーション情報導出部１８２、予測サンプル導出部１８３を含むことができ、予測モード決定部１８１で、前記現在のブロックの予測モードを決定し、モーション情報導出部１８２において、前記現在のブロックのモーション情報を導出し、予測サンプル導出部１８３において、前記現在のブロックの動きサンプルを導出することができる。
【０１２１】
たとえば、エンコード装置のインター予測部１８０は、動き推定（motion estimation）を介して参照ピクチャの一定領域（サーチエリア）内において、前記現在のブロックと類似なブロックをサーチし、前記現在のブロックとの差が最小または一定基準以下の参照ブロックを導出することができる。これに基づいて、前記参照ブロックが位置する参照ピクチャを指す参照ピクチャのインデックスを導出し、前記参照ブロックと前記現在のブロックの位置の差に基づいて、モーションベクトルを導出することができる。エンコード装置は、様々な予測モードの中で、前記現在のブロックに対して適用されるモードを決定することができる。エンコード装置は、前記様々な予測モードに対するＲＤ ｃｏｓｔを比較して、前記現在のブロックの最適の予測モードを決定することができる。
【０１２２】
たとえば、エンコード装置は、前記現在のブロックにスキップ・モードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補が指す参照ブロックの内、前記現在ブロックと前記現在のブロックとの差が最小または一定の基準以下である参照ブロックを導出することができる。この場合、前記導出された参照ブロックと関連付けられているマージ候補が選択され、前記選択されたマージ候補を指すマージインデックス情報が生成され、デコード装置にシグナリングされることができる。
【０１２３】
前記選択されたマージ候補のモーション情報を用いて前記現在のブロックのモーション情報が導出することができる。
【０１２４】
他の例として、エンコード装置は、前記現在のブロックに（Ａ）ＭＶＰモードが適用される場合、後述する（Ａ）ＭＶＰ候補リストを構成し、前記（Ａ）ＭＶＰ候補リストに含まれたｍｖｐ（motion vector predictor）候補の内、選択されたｍｖｐ候補のモーションベクトルを前記現在のブロックのｍｖｐに用いることができる。この場合、例えば、前述した動き推定によって導出された参照ブロックを指すモーションベクトルが前記現在のブロックのモーションベクトルとして用いられ、前記ｍｖｐ候補の内、前記現在ブロックのモーションベクトルとの差が最も小さいモーションベクトルを有するｍｖｐ候補が前記選択されたｍｖｐ候補に成り得る。前記現在のブロックのモーションベクトルから前記ｍｖｐを引いた差分であるＭＶＤ（motion vector difference）が導出されることができる。この場合、前記ＭＶＤに関する情報がデコード装置にシグナリングされることができる。また、（Ａ）ＭＶＰモードが適用される場合、前記参照ピクチャのインデックスの値は、参照ピクチャインデックス情報で構成され、別途、前記デコード装置にシグナリングされることができる。
【０１２５】
エンコード装置は、前記予測サンプルに基づいてレジデュアルサンプルを導出することができる（Ｓ８０２）。エンコード装置は、前記現在のブロックの原本サンプルと、前記予測サンプルの比較を通じて、前記レジデュアルサンプルを導出することができる。
【０１２６】
エンコード装置は、予測情報及びレジデュアル情報を含む映像情報をエンコードする（Ｓ８０３）。エンコード装置は、エンコードされた映像情報をビットストリームの形態で出力することができる。前記予測情報は、前記予測手順に関連した情報に予測モード情報（ex。skip flag、merge flag or mode indexなど）及びモーション情報に関する情報を含むことができる。前記モーション情報に関する情報は、モーションベクトルを導出するための情報である候補選択情報（ex。merge index、mvp flag or mvp index）を含むことができる。また、前記モーション情報に関する情報は、前述したＭＶＤに関する情報及び/または参照ピクチャのインデックス情報を含むことができる。
【０１２７】
また、前記モーション情報に関する情報はＬ０予測、Ｌ１予測、またはペア（ｂｉ）の予測が適用されるかどうかを示す情報を含むことができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
【０１２８】
出力されたビットストリームは、（デジタル）ストレージメディアに貯蔵されてデコード装置に伝達することができ、またはネットワークを介してデコード装置に伝達されることもできる。
【０１２９】
一方、前述したように、エンコード装置は、前記参照サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャ（復元サンプル及び復元ブロックを含む）を生成することができる。これはデコード装置で実行されるものと同じの予測結果をエンコード装置で導出するためであり、これによりコーディング効率を高めることができるからである。したがって、エンコーディング装置は、復元ピクチャ（または復元サンプル、復元ブロック）をメモリに貯蔵し、インター予測のための参照ピクチャとして活用することができる。前記復元ピクチャにインループフィルタの手続きなどがさらに適用されることができることは、前述したとおりである。
【０１３０】
図１０及び図１１は、 本発明の実施例に係るインター予測ベースのビデオ／映像のデコード方法と、本発明の実施例に係るデコード装置内インター予測部を例示する図である。
【０１３１】
図１０及び図１１を参照すると、デコード装置は、前記エンコード装置で実行された動作と対応するアクションを実行することができる。デコード装置は、受信された予測情報に基づいて、現在のブロックに予測を行い、予測サンプルを導出することができる。
【０１３２】
Ｓ１００１乃至Ｓ１００３は、デコード装置のインター予測部２６０によって実行されることができ、Ｓ１００４のレジデュアル情報は、デコード装置のエントロピーデコード部２１０によってビットストリームから獲得することができる。デコード装置のレジデュアル処理部は、前記レジデュアル情報に基づいて、現在のブロックのレジデュアルサンプルを導出することができる。具体的に、前記レジデュアル処理部の逆量子化部２２０は、前記レジデュアル情報に基づいて導出された量子化された変換係数に基づいて、逆量子化を実行して、変換係数を導出し、前記レジデュアル処理部の逆変換部２３０は、前記変換係数の逆変換を実行して、前記現在のブロックのレジデュアルサンプルを導出することができる。 Ｓ１００５は、デコード装置の加算部２３５または復元部によって実行されることができる。
【０１３３】
具体的にデコード装置は、受信された予測情報に基づいて、前記現在のブロックの予測モードを決定することができる（Ｓ１００１）。デコード装置は、前記予測情報内の予測モード情報に基づいて、前記現在のブロックにどんなのインター予測モードが適用されるかを決定することができる。
【０１３４】
例えば、前記merge flagに基づいて、前記現在のブロックに前記マージモードが適用されるか、または（Ａ）ＭＶＰモードが決定されるかどうかを決定することができる。または前記mode indexに基づいて、様々なインター予測モード候補の内一つを選択することができる。前記インター予測モード候補はスキップモード、マージモード及び/または（Ａ）ＭＶＰモードを含むことができ、または後述する様々なインター予測モードを含むことができる。
【０１３５】
デコード装置は、前記決定されたインター予測モードに基づいて、前記現在のブロックのモーション情報を導出する（Ｓ１００２）。例えば、デコード装置は、前記現在のブロックにスキップ・モードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補の内、いずれか１つのマージ候補を選択することができる。前記選択は、前述した選択情報（merge index）に基づいて実行されることができる。前記選択されたマージ候補のモーション情報を用いて前記現在のブロックのモーション情報が導出することができる。前記選択されたマージ候補のモーション情報が前記現在のブロックのモーション情報として用いられる。
【０１３６】
他の例として、デコード装置は、前記現在のブロックに（Ａ）ＭＶＰモードが適用される場合、後述する（Ａ）ＭＶＰ候補リストを構成し、前記（Ａ）ＭＶＰ候補リストに含まれたｍｖｐ（motion vector predictor）候補の内、選択されたｍｖｐ候補のモーションベクトルを前記現在のブロックのｍｖｐに用いることができる。前記選択は、前述した選択情報（mvp flag or mvp index）に基づいて実行されることができる。この場合、前記ＭＶＤに関する情報に基づいて、前記現在のブロックのＭＶＤを導出することができ、前記現在のブロックのｍｖｐと前記ＭＶＤに基づいて、前記現在のブロックのモーションベクトルを導出することができる。また、前記参照ピクチャのインデックス情報に基づいて、前記現在のブロックの参照ピクチャインデックスを導出することができる。前記現在のブロックに関する参照ピクチャリスト内で、前記参照ピクチャのインデックスが指すピクチャが前記現在のブロックのインター予測のために参照される参照ピクチャに導出することができる。
【０１３７】
一方、後述するように候補リスト構成なしに前記現在のブロックのモーション情報が導出されることができ、この場合、後述する予測モードで開示された手順に従って、前記現在のブロックのモーション情報が導出されることができる。この場合、前述したような候補リストの構成は省略されることができる。
【０１３８】
デコード装置は、前記現在のブロックのモーション情報に基づいて、前記現在のブロックの予測サンプルを生成することができる（Ｓ１００３）。この場合、前記現在のブロックの参照ピクチャインデックスに基づいて、前記参照ピクチャを導出し、前記現在のブロックのモーションベクトルが前記参照ピクチャ上で指す参照ブロックのサンプルを用いて、前記現在のブロックの予測サンプルを導出することができる。この場合、後述するように、場合によっては、前記現在のブロックの予測サンプルの内の全部または一部の予測サンプルのフィルタリング手順が実行されることができる。
【０１３９】
例えば、デコード装置のインター予測部２６０は、予測モード決定部２６１、モーション情報導出部２６２、予測サンプル導出部２６３を含むことができ、予測モード決定部２６１で受信された予測モード情報に基づいて、前記現在のブロックの予測モードを決定し、モーション情報導出部２６２から受信されたモーション情報に関する情報に基づいて、前記現在のブロックのモーション情報（モーションベクトル及び/または参照ピクチャのインデックスなど）を導出し、予測サンプル導出部２６３において、前記現在のブロックの予測サンプルを導出することができる。
【０１４０】
デコード装置は、受信されたレジデュアル情報に基づいて、前記現在のブロックのレジデュアルサンプルを生成する（Ｓ１００４）。デコード装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて、前記現在のブロックの復元サンプルを生成し、これに基づいて復元ピクチャを生成することができる（Ｓ１００５）。以後、前記復元ピクチャにインループフィルタの手続きなどがさらに適用され得ることは、前述した通りである。
【０１４１】
前述したように、インター予測の手順は、インター予測モード決定ステップと、決定された予測モードに応じたモーション情報導出ステップと、導出されたモーション情報に基づいたの予測実行（予測サンプルの作成）ステップを含むことができる。
【０１４２】
インター予測モード決定（Determination of inter prediction mode）
【０１４３】
ピクチャ内 現在のブロックの予測のために、様々なインター予測モードが用いることができる。たとえば、マージモード、スキップモードでは、ＭＶＰモード、アフィン（Affine）モードなど、さまざまなモードが用いることができる。 ＤＭＶＲ（Decoder side motion vector refinement）モード、ＡＭＶＲ（adaptive motion vector resolution）モードなどが付随的なモードで、さらに用いられる。アフィンモードは、アフィンモーション予測（affine motion prediction）モードと呼ばれることもできる。 ＭＶＰモードはＡＭＶＰ（advanced motion vector prediction）モードと呼ばれることもある。
【０１４４】
現在のブロックのインター予測モードを指す予測モード情報がエンコード装置からデコード装置にシグナリングされることができる。前記予測モード情報は、ビットストリームに含まれてデコード装置に受信されることができる。前記予測モード情報は、多数の候補モードの内、１つを指示するインデックス情報を含むことができる。または、フラグ情報の階層的シグナリングを介してインター予測モードを指示することもできる。この場合、前記予測モード情報は、１つ以上のフラグを含むことができる。
【０１４５】
たとえば、スキップフラグをシグナリングしてスキップモードの適用かどうかを指示し、スキップモードが適用できない場合にマージフラグをシグナリングしてマージモードの適用かどうかを指示し、マージモードが適用できない場合にＭＶＰモードが適用されるものと指示したり、追加の区分のためのフラグをさらにシグナリングすることもできる。アフィンモードは、独立的なモードでシグナリングされることもあり、またはマージモードまたはＭＶＰモードなどに従属的なモードでシグナリングされることもできる。例えば、アフィンモードは、後述するようにマージ候補リストまたはＭＶＰ候補リストの一つの候補として構成されることもある。
【０１４６】
モーション情報導出（Derivation of motion information according to inter prediction mode）
【０１４７】
現在のブロックのモーション情報を用いて、インター予測を行うことができる。エンコード装置は、動き推定（motion estimation）手順を介して、現在のブロックの最適のモーション情報を導出することができる。たとえば、エンコード装置は、現在のブロックの原本ピクチャ内の原本ブロックを用いて、相関性が高い類似の参照ブロックを参照ピクチャ内の決められた探索範囲内で分数ピクセル単位で探索することができ、これに通じてモーション情報を導出することができる。ブロックの類似性は、位相（phase）ベースのサンプル値の差に基づいて導出することができる。例えば、ブロックの類似性は、現在のブロック（または現在のブロックのテンプレート）と参照ブロック（または参照ブロックのテンプレート）の間ＳＡＤに基づいて計算することができる。この場合、探索領域内ＳＡＤが最も小さい参照ブロックに基づいてモーション情報を導出することができる。導出されたモーション情報は、インター予測モードに基づいていくつかの方法に基づいてデコード装置にシグナリングされることができる。
【０１４８】
マージモードとスキップ・モード
【０１４９】
図１２は、本発明が適用される実施例として、マージモードまたはスキップモードで用いる周辺ブロックを説明するための図である。
【０１５０】
マージモード（merge mode）が適用される場合、現在の予測ブロックのモーション情報が直接伝送されず、周辺予測ブロックのモーション情報を用いて前記現在の予測ブロックのモーション情報を誘導することになる。したがって、マージモードを用いたことを知らせるフラグ情報と周辺のどんな予測ブロックを用いたかを知らせるマージインデックスを伝送することにより、現在の予測ブロックのモーション情報を指示することができる。
【０１５１】
本明細書の一実施例において、
【０１５２】
本明細書の一実施例のエンコーダは、マージモードを実行するために、現在の予測ブロックのモーション情報を誘導するために用いるマージ候補ブロック（merge candidate block）を探索することができる。例えば、前記マージ候補ブロックは、最大５個まで用いられるが、本発明はこれに限定されない。そして、前記マージ候補ブロックの最大数は、スライスヘッダ（またはタイルのグループヘッダ）で伝送することができ、本発明はこれに限定されない。前記マージ候補ブロックを見つけた後、エンコーダは、マージ候補リストを生成することができ、これらの中で最も小さいコストを有するマージ候補ブロックを最終マージ候補ブロックとして選択することができる。
【０１５３】
本明細書の一実施例は、前記マージ候補リストを構成するマージ候補ブロックの様々な実施例を提供する。
【０１５４】
前記マージ候補リストは、例えば、５つのマージ候補ブロックを用いることができる。例えば、４つの空間的マージ候補（spatial merge candidate）と１つの時間的マージ候補（temporal merge candidate）を用いることができる。具体例として、空間的マージ候補の場合、図１２に示されたブロックを空間的マージ候補として用いることができる。
【０１５５】
図１３は、本発明が適用される一実施例に係るマージ候補リストの構成方法を例示するフローチャートである。
【０１５６】
図１３を参照すると、符号化装置（エンコーダ／デコーダ）は、現在のブロックの空間的周辺ブロックを探索して導出された空間マージ候補をマージ候補リストに挿入する（Ｓ１３０１）。例えば、前記空間的周辺ブロックは、前記現在のブロックの左下側コーナー周辺ブロック、左側の周辺ブロック、右上側コーナー周辺ブロック、上側周辺ブロック、左上側コーナー周辺ブロックを含むことができる。ただし、これは例示として、前述した空間周辺ブロック以外にも右側周辺ブロック、下側の周辺ブロック、右下側の周辺ブロックなどの追加の周辺ブロックが、さらに前記空間周辺ブロックとして用いられる。コーディング装置は、前記空間的周辺ブロックを優先順位に基づいて探索して、可用したブロックを検出し、検出されたブロックのモーション情報を、前記空間的マージ候補として導出することができる。例えば、エンコーダ及びデコーダは、図１２に示された５つのブロックをＡ１、Ｂ１、Ｂ０、Ａ０、Ｂ２の順に探索して、可用な候補を順次インデックスしてマージ候補リストとして構成することができる。
【０１５７】
コーディング装置は、前記現在のブロックの時間的周辺ブロックを探索して導出された時間的マージ候補を前記マージ候補リストに挿入する（Ｓ１３０２）。前記時間的周辺ブロックは、前記現在のブロックが位置する現在のピクチャと異なるピクチャである参照ピクチャ上に位置することができる。前記時間的周辺ブロックが位置する参照ピクチャは、collocatedピクチャまたはcolピクチャと指称されることができる。前記時間的周辺ブロックは、前記colピクチャ上での前記現在のブロックの同じ位置のブロック（co-located block）の右下側コーナー周辺ブロックと右下側センターブロックの順に探索することができる。
【０１５８】
一方、motion data compressionが適用される場合、前記colピクチャに一定のストレージユニットごとに、特定のモーション情報を代表モーション情報として貯蔵することができる。この場合、前記一定のストレージユニット内のすべてのブロックのモーション情報を貯蔵する必要がなく、これによりmotion data compression効果を得ることができる。この場合、一定の貯蔵（ストレージ）ユニットは、例えば、１６ｘ１６サンプルの単位、または８ｘ８サンプル単位などで予め決まることもあり、またはエンコーダからデコーダに前記一定ストレージユニットのサイズ情報がシグナリングされることもある。前記motion data compressionが適用される場合、前記時間的周辺ブロックのモーション情報は、前記時間的周辺ブロックが位置する前記一定ストレージユニットの代表モーション情報に置き換えることができる。
【０１５９】
つまり、この場合、実装面で見ると、前記時間的周辺ブロックの座標に位置する予測ブロックではなく、前記時間的周辺ブロックの座標（左上端サンプルポジション）に基づいて、一定の値だけ算術的右シフトした後算術的左シフトした位置をカバーする予測ブロックのモーション情報に基づいて、前記時間的マージ候補が導出されることができる。例えば、前記一定ストレージユニットが２ｎｘ２なのサンプル単位である場合、前記時間的周辺ブロックの座標が（ｘＴｎｂ、ｙＴｎｂ）とすると、修正された位置である（（ｘＴｎｂ >> ｎ）<< ｎ）、（ｙＴｎｂ >> ｎ）<< ｎ））に位置する予測ブロックのモーション情報が前記時間的マージ候補のために用いられる。
【０１６０】
具体的に、例えば、前記一定ストレージユニットが１６ｘ１６サンプル単位である場合、前記時間的周辺ブロックの座標が（ｘＴｎｂ、ｙＴｎｂ）とすると、修正された位置である（（ｘＴｎｂ >> ４）<< ４）、（ ｙＴｎｂ >> ４）<< ４））に位置する予測ブロックのモーション情報が前記時間的マージ候補のために用いられる。または、例えば、前記一定ストレージユニットが８ｘ８サンプル単位である場合、前記時間的周辺ブロックの座標が（ｘＴｎｂ、ｙＴｎｂ）とすると、修正された位置である（（ｘＴｎｂ >> ３）<< ３）、（ｙＴｎｂ> > ３）<< ３））に位置する予測ブロックのモーション情報が前記時間的マージ候補のために用いられる。
【０１６１】
コーディング装置は、現在マージ候補の数が最大マージ候補の数より小さいかどうかを確認することができる（Ｓ１３０３）。前記最大マージ候補の数は、予め定義されたり、エンコーダからデコーダにシグナリングすることができる。例えば、エンコーダは、前記最大マージ候補の数に関する情報を生成し、エンコードして、ビットストリームの形で、前記デコーダに伝達することができる。前記最大マージ候補の数がいっぱいになると以降の候補の追加プロセスは進行していないことがある。
【０１６２】
前記確認の結果、前記現在マージ候補の数が前記最大マージ候補の数より小さい場合、コーディング装置は、追加マージ候補を前記マージ候補リストに挿入する（Ｓ１３０４）。前記追加マージ候補は、例えばＡＴＭＶＰ、combined bi-predictiveマージ候補（現在スライスのスライスタイプがＢタイプの場合）、及び/またはゼロベクトルマージ候補を含むことができる。
【０１６３】
前記確認の結果、前記現在マージ候補の数が前記最大マージ候補の数より小さくない場合、コーディング装置は、前記マージ候補リストの構成を終了することができる。この場合、エンコーダは、ＲＤ（rate-distortion）costに基づいて、前記マージ候補リストを構成するマージ候補の中で、最適なマージ候補を選択することができ、前記選択されたマージ候補を指す選択情報（ex。merge index）をデコーダにシグナリングすることができる。デコーダは、前記マージ候補リスト及び前記選択情報に基づいて、前記最適のマージ候補を選択することができる。
【０１６４】
前記選択されたマージ候補のモーション情報が前記現在のブロックのモーション情報として用いられ、前記現在のブロックのモーション情報に基づいて、前記現在のブロックの予測サンプルを導出することができることは前述した通りである。エンコーダは、前記予測サンプルに基づいて、前記現在のブロックのレジデュアルサンプルを導出することができ、前記レジデュアルサンプルに関連するレジデュアル情報をデコーダにシグナリングすることができる。デコーダは、前記レジデュアル情報に基づいて導出されたレジデュアルサンプル及び前記予測サンプルに基づいて復元サンプルを生成し、これに基づいて復元ピクチャを生成することができることは前述した通りである。
【０１６５】
スキップモード（skip mode）が適用される場合、前でマージモードが適用される場合と同じ方法で、前記現在のブロックのモーション情報を導出することができる。ただし、スキップモードが適用される場合、そのブロックのレジデュアル信号が省略され、したがって、予測サンプルがすぐに復元サンプルに用いられる。
【０１６６】
ＭＶＰモード
【０１６７】
図１４は、本発明が適用される一実施例に係るマージ候補リストの構成方法を例示するフローチャートである。
【０１６８】
ＭＶＰ（Motion Vector Prediction）モードが適用される場合、復元された空間的周辺ブロック（例えば、先に１２で説明した周辺のブロックで有り得る）のモーションベクトル及び/または時間的周辺ブロック（またはＣｏｌブロック）に対応するモーションベクトルを用いて、モーションベクトル予測子（motion vector predictor、mvp）の候補リストが生成されることができる。つまり、復元された空間的周辺ブロックのモーションベクトル及び/または時間的周辺ブロックに対応するモーションベクトルは、モーションベクトル予測子候補として用いられる。
【０１６９】
前記予測に関する情報は、前記リストに含まれたモーションベクトル予測子候補の中から選択された最適のモーションベクトル予測子候補を指示する選択情報（ex。ＭＶＰフラグまたはＭＶＰインデックス）を含むことができる。このとき、予測部は、前記選択情報を用いて、モーションベクトルの候補リストに含まれたモーションベクトル予測子候補の中から、現在のブロックのモーションベクトル予測子を選択することができる。エンコード装置の予測部は現在のブロックのモーションベクトルとモーションベクトル予測子との間のモーションベクトルの差分（ＭＶＤ）を求めることができ、これをエンコードして、ビットストリームの形で出力することができる。つまり、ＭＶＤは現在のブロックのモーションベクトルから、前記モーションベクトル予測子を引いた値で求められることができる。このとき、デコード装置の予測部は、前記予測に関する情報に含まれたモーションベクトルの差分を獲得し、前記モーションベクトル差分と前記モーションベクトル予測子の加算を通じて、現在のブロックの前記モーションベクトルを導出することができる。デコード装置の予測部は参照ピクチャを指示する参照ピクチャのインデックスなどを前記予測に関する情報から獲得または誘導することができる。例えば、モーションベクトル予測子候補リストは、図１４に示すように構成することができる。
【０１７０】
アフィンモーション予測（Affine motion prediction）
【０１７１】
図１５は、本発明の実施例に係るモーションモデル（motion models）の例を示す。
【０１７２】
従来の映像圧縮技術（例えば、HEVC（high efficiency video coding））は、 符号化ブロックの動き（motion）を表現するための１つのモーションベクトル（motion vector）を用いる。たとえブロックごとに一つのモーションベクトルを用いる方式がブロック単位の最適モーションを表現することができたが、実際の各画素の最適なモーションではないことがある。したがって、画素単位で最適のモーションベクトルを決定することができればコーディング効率を向上させることができる。それから、本発明の実施例は、複数のモーションモデル（multi motion model）を用いて、ビデオ信号を符号化または復号化するモーション予測（motion prediction）方法について説明する。特に、２つ乃至４つの制御点のモーションベクトルを用いて、ブロックの各画素単位またはサブブロック単位でモーションベクトルを表現することができ、このような複数の制御点のモーションベクトルを用いた予測手法はアフィンモーション予測（affine motion prediction）、アフィン予測（affine prediction）などで指称されることができる。
【０１７３】
本発明の実施例に係るアフィンモーションモデル（affine motion model）は、図１５に示すような４つのモーションモデルを表現することができる。 Affine motionmodelが表現できるmotion中の３つのmotion（translation、scale、rotate）dmf表現するaffine motion modelをsimilarity（or simplified）affine motion modelと指称し、本発明の実施例を説明することにおいて、説明の便宜のためにsimilarity（or simplified）affine motion modelに基づいて説明するが、本発明はこれに限定されない。
【０１７４】
図１６は、本発明の実施例に係るアフィンモーション予測のための制御点のモーションベクトルの例を示す。
【０１７５】
図１６のように アフィンモーション予測は、２つの制御点のモーションベクトル（control point motion vector、ＣＰＭＶ）ペア（pair）、v_0とv_1を用いて、ブロックが含まれる画素の位置（またはサブブロック）のモーションベクトルを決定することができる。この時、モーションベクトルの集合は、アフィンモーションベクトルフィールド（motion vector field、ＭＶＦ）と指称されることができる。このとき、アフィンモーションベクトルフィールドは、以下の式１が用いられて決定することができる。
【０１７６】
【数１】
2022501912.tif 000004
【０１７７】
数式１で, v_0(v_0={v_0x,v_0y}) は、現在のブロック１３００の左上側の位置の第１制御点のモーションベクトル（ＣＰＭＶ０）を示し、 v_1(v_1={v_1x,v_1y}) は、現在のブロック１３００の右上側の位置の第２制御点のモーションベクトル（ＣＰＭＶ１）を示す。それと、ｗは現在のブロック１３００の幅（width）を示す。v(v={v_x,v_y})は {x,y} 位置でのモーションベクトルを示す。サブブロック（または画素）単位のモーションベクトルは、前記数式１を用いて誘導することができる。一実施例で、モーションベクトルの精度は１/１６の精度にラウンディングされることができる。
【０１７８】
図１７は、本発明の実施例に係るアフィンモーション予測が適用されたブロックの各サブブロック別モーションベクトルの例を示す。
【０１７９】
図１７を参照すると、符号化または復号化の過程でアフィンモーションベクトルフィールド（ＭＶＦ）は画素単位、あるいはブロック単位で決定することができる。つまり、アフィンモーション予測において、現在のブロックのモーションベクトルは、画素単位またはサブブロック単位に誘導されることができる。
【０１８０】
画素単位でアフィンモーションベクトルフィールドが決定される場合、各画素の値に基づいてモーションベクトルが得られ、ブロック単位の場合、ブロックの中央画素値に基づいて、そのブロックのモーションベクトルが得られることができる。本文書において、図１７のようにアフィンモーションベクトルフィールド（ＭＶＦ）が４＊４ブロック単位で決定される場合が仮定される。ただし、これは説明の便宜のためのもので、本発明の実施例に限定されるものではない。図１７は、符号化 ブロックが１６＊１６個のサンプルで構成され、４＊４サイズのブロック単位でアフィンモーションベクトルフィールド（ＭＶＦ）が決定される場合の例を示す。
【０１８１】
アフィンモーション予測（affine motion prediction）は、アフィンマージモード（affine merge modeまたはＡＦ＿ＭＥＲＧＥ）とアフィンインターモード（affine inter modeまたはＡＦ＿INTER）を含むことができる。 ＡＦ＿INTERモードは、４つのパラメータベースのモーションモデルを用いるＡＦ＿４＿INTERモードと６つのパラメータベースのモーションモデルを用いるＡＦ＿６＿INTERモードを含むことができる。
【０１８２】
アフィンマージモード（Affine merge mode）
【０１８３】
ＡＦ＿ＭＥＲＧＥはアフィンモーション予測としてコーディングされた周辺ブロックのアフィン動きモデルに基づいて制御点のモーションベクトル（Control Point Motion Vector：ＣＰＭＶ）を決定する。検索順序でアフィンコーディングされた周辺ブロックはＡＦ＿ＭＥＲＧＥのために用いられる。１つ以上の隣接するブロックがアフィンモーション予測としてコーディングされるとき、現在のブロックは、ＡＦ＿ＭＥＲＧＥとしてコーディングすることができる。
【０１８４】
つまり、アフィンマージモードが適用される場合には、周辺ブロックのＣＰＭＶを用いて、現在のブロックのＣＰＭＶを導出することができる。この場合、周辺ブロックのＣＰＭＶがそのまま現在ブロックのＣＰＭＶに用いられることができ、周辺ブロックのＣＰＭＶが前記周辺ブロックのサイズ及び前記現在のブロックのサイズなどに基づいて修正され、現在のブロックのＣＰＭＶに用いられる。
【０１８５】
図１８は、本発明の実施例に係るアフィンマージモード（affine merge mode）でアフィンモーション予測に用いる周辺ブロックの例を示す。
【０１８６】
アフィンマージ（AF_MERGE）モードにおいて、エンコーダは、次のような過程のように符号化を行うことができる。
【０１８７】
ステップ-１：現在コーディングブロック１８００の周辺ブロックＡ乃至Ｅ（１８１０、１８２０、１８３０、１８４０、１８５０）をアルファベット順にスキャン（scanning）し、スキャン順基準最初にアフィン予測モードで符号化されたブロックをアフィンマージ（ＡＦ＿ＭＥＲＧＥ）の候補ブロックで決定
【０１８８】
ステップ-２：決定された候補ブロックの制御点のモーションベクトル（ＣＰＭＶ）を用いて、アフィンモーションモデルを決定
【０１８９】
ステップ−３：候補ブロックのアフィンモーションモデルに基づいて、現在のブロック１８００の制御点のモーションベクトル（ＣＰＭＶ）が決定され、現在のブロック１８００のＭＶＦ決定
【０１９０】
図１９は、本発明の実施例に係るアフィンモーション予測が適用された周辺ブロックを用いてアフィンモーション予測が実行されるブロックの例を示す。
【０１９１】
例えば、図１９に示すように、ブロックＡ１９２０がアフィンモード（affine mode）で符号化された場合、ブロックＡ１９２０を候補ブロックに決定した後、ブロックＡ１９２０の制御点のモーションベクトル（ＣＰＭＶ）（例えば、ｖ２、ｖ３）を用いて、アフィンモーションモデル（affine motion model）を誘導した後、現在のブロック１９００の制御点のモーションベクトル（ＣＰＭＶ）ｖ０とｖ１を決定することができる。現在のブロック１９００の制御点のモーションベクトル（ＣＰＭＶ）に基づいて、現在のブロック１９００のアフィンモーションベクトルフィールド（ＭＶＦ）が決定され、符号化が行われることができる。
【０１９２】
図２０は、本発明の実施例に係る周辺アフィン符号化ブロックを用いて、マージ候補リストを生成する方法を説明するための図である。
【０１９３】
図２０を参照すると、アフィンマージ候補を用いて、ＣＰＭＶのペアを決定する場合、図２０に示すような候補が用いられる。図２０において、候補リストのスキャン順序は、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、に設定された場合を仮定する。ただし、本発明がこれに限定されるものではなく、様々な順序で予め設定することができる。
【０１９４】
実施例として、もし、周辺ブロック（つまり、Ａ、Ｂ、Ｃ、Ｄ、Ｅ）で用いられるアフィンモード（またはアフィン予測）で符号化された候補（以下、アフィン候補と称する）の数が０のとき、現在のブロックのアフィンマージモードはスキップされることができる。もし、用いられるアフィン候補の数が一つである場合（たとえば、Ａ）は、その候補の動きモデルが、現在のブロックの制御点のモーションベクトル（ＣＰＭＶ＿０とＣＰＭＶ＿１）を誘導するために用いられる。この場合、その候補を指示するインデックスが要求（またはコーディング）されないことがある。もし、用いられるアフィン候補の数が複数である場合は、スキャン順上の２つの候補がＡＦ＿ＭＥＲＧＥの候補リストで構成されることができる。この場合、候補リスト内で選択された候補を指示するインデックスのような候補選択情報がシグナリングされることができる。前記選択情報は、フラグまたはインデックス情報で有り得、ＡＦ＿ＭＥＲＧＥ_flag、ＡＦ＿ｍｅｒｇｅ_idxなどで指称されることができる。
【０１９５】
本明細書の実施例において、現在のブロックの動き補償は、サブブロックのサイズに基づいて実行されることができる。この場合、アフィンブロック（つまり、現在のブロック）のサブブロックサイズが誘導される。もしサブブロックの幅と高さが全て４つのルマサンプルよりも大きければ、各サブブロックのモーションベクトルが導出され、ＤＣＴ−ＩＦベースの動き補償（輝度の１/１６フェルと色差の１/３２）がサブブロックに対して実行されることができる。そうでなければ、向上された、二重線形補間フィルタベースの動き補償（enhanced bi-linear interpolation filter based motion compensation）が全体アフィンブロックに対して実行されることができる。
【０１９６】
本明細書の実施例において、マージ／スキップフラグ（merge/skip flag）が真であり、ＣＵの幅と高さのすべてが８以上であうとき、ＣＵレベルでアフィンフラグはアフィンマージモードが用いることを指示するビットストリーム（bitstream）を介してシグナリングされる。 ＣＵがＡＦ＿ＭＥＲＧＥとしてコーディングされるとき、最大値「５」を有するマージ候補インデックスはアフィンマージ候補リストからモーション情報候補がＣＵのために用いることを指定するためにシグナリングされる。
【０１９７】
図２１及び図２２は、本発明の実施例に係るアフィン予測に符号化された周辺ブロックを用いてアフィンマージ候補リストを構成する方法を説明するための図である。
【０１９８】
図２１を参照すると、アフィンマージ候補リストは、次のステップとして構成される。
【０１９９】
１）モデルベースのアフィン候補を挿入
【０２００】
モデルベースのアフィン候補は候補がアフィンモードでコーディングされた有効な周辺再構成されたブロックから導出されることを意味する。図２１に示すように、候補ブロックのスキャン順序は、左側（Ａ）、上側（ｂ）、右上側（Ｃ）と左下側（Ｄ）から左上側（Ｅ）である。
【０２０１】
周辺左下側ブロック（Ａ）が６パラメータアフィンモードで符号化されると、ブロック（Ａ）を含むＣＵの左上側コーナー、右上側コーナー、及び左下側コーナーのモーションベクトル（ｖ＿４、ｖ＿５、ｖ＿６）を得ることになる。現在のブロック上の左上側コーナーのモーションベクトル（ｖ＿０、ｖ＿１、ｖ＿２）は６パラメータアフィンモデルによるモーションベクトル（ｖ＿４、ｖ＿５、ａｎｄ ｖ＿６）に応じて計算される。
【０２０２】
周辺左下側ブロック（Ａ）が４パラメータアフィンモードでコーディングされると、ブロック（Ａ）を含むＣＵの左上側コーナーと右上側コーナーのモーションベクトル（ｖ＿４、ｖ＿５）を得ることになる。現在のブロック上の左上側コーナーのモーションベクトル（ｖ＿０、ｖ＿１）は４パラメータアフィンモデルによるモーションベクトル（ｖ＿４、ｖ＿５）に応じて計算される。
【０２０３】
２）制御点ベースのアフィン候補を挿入
【０２０４】
図２１を参照すると、制御点ベース候補は、各制御点の周辺のモーション情報を組み合わせて候補が構成されていることを意味する。
【０２０５】
制御点に対するモーション情報は、まず図２１に示された指定された空間隣接ブロックと時間隣接ブロックから導出される。 ＣＰ＿ｋ（ｋ ＝ １、２、３、４）は、ｋ番目の制御点を示す。また、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ及びＧはＣＰ＿ｋ（ｋ ＝ １、２、３）を予測するための空間的な位置であり、ＨはＣＰ４を予測するための時間位置である。
【０２０６】
ＣＰ＿１、ＣＰ＿２、ＣＰ＿３とＣＰ＿４の座標は、それぞれ（０、０）、（Ｗ、０）、（Ｈ、０）及び（Ｗ、Ｈ）であり、ここでＷとＨは、現在のブロックの幅と高さである。
【０２０７】
各制御点のモーション情報は、次の優先順位に応じて得られる。
【０２０８】
ＣＰ＿１に対して、チェッキング優先順位は、Ａ−＞Ｂ−＞Ｃであり、Ａが用いられると、Ａが用いられる。そうではなく、Ｂが 用いられると、Ｂが 用いられる。 ＡとＢの両方すべてが用いられないと、Ｃが用いられる。もし３つの候補のすべてが用いられないと、ＣＰ１のモーション情報は得ることができない。
【０２０９】
ＣＰ＿２に対して、チェッキング優先順位は、Ｅ−＞Ｄである。
【０２１０】
ＣＰ＿３に対して、チェッキング優先順位は、Ｇ−＞Ｆである。
【０２１１】
ＣＰ＿４に対して、Ｈが用いられる。
【０２１２】
第二に、制御点の組み合わせが動きモデルを構成するために用いられる。
【０２１３】
２つの制御点のモーションベクトルは、４−パラメータアフィンモデルで変換パラメータを算出するために必要である。２つの制御点は、次の６つの組み合わせ（{ＣＰ＿１、ＣＰ＿４}、{ＣＰ＿２、ＣＰ＿３}、{ＣＰ＿１、ＣＰ＿２}、{CP_2、ＣＰ＿４}、{ＣＰ＿１、ＣＰ＿３}、{ＣＰ＿３、ＣＰ＿４}）の内一つから選択されることができる。例えば、４−パラメータアフィン動きモデルを構成するのにＣＰ＿１とＣＰ＿２制御点を用いているのは「Ａｆｆｉｎｅ（ＣＰ＿１、ＣＰ＿２）」と表記される。
【０２１４】
３つの制御点のモーションベクトルは、６パラメータアフィンモデルで変換パラメータを算出するために必要である。３つの制御点は、次の４つの組み合わせ（{ＣＰ＿１、ＣＰ＿２、ＣＰ＿４}、{ＣＰ＿１、ＣＰ＿２、ＣＰ＿３}、{ＣＰ＿２、ＣＰ＿３、ＣＰ＿４}、{ＣＰ＿１、ＣＰ＿３、ＣＰ＿４}）の内、１つから選択されることができる。たとえば、６パラメータアフィン動きモデルを構成するにＣＰ＿１、ＣＰ＿２及びＣＰｖ３制御点を用いるのは「Ａｆｆｉｎｅ（ＣＰ＿１、ＣＰ＿２、ＣＰ＿３）」と表記される。
【０２１５】
また、本明細書の実施例において、アフィンマージモードで、アフィンマージ候補が存在すれば、それは常に６パラメータアフィンモードとして考慮されることがある。
【０２１６】
アフィンインターモード（affine inter mode）
【０２１７】
図２３は、本発明が実施例に係るアフィンインターモード（affine inter mode）でアフィンモーション予測に用いる周辺ブロックの例を示す。
【０２１８】
図２３を参照すると、アフィンモーション予測（affine motion prediction）は、アフィンマージモード（affine merge modeまたはＡＦ_ＭＥＲＧＥ）とアフィンインターモード（affine inter modeまたはAF_INTER）を含むことができる。アフィンインターモード（ＡＦ＿ＩＮＴＥＲ）で、２つの制御点のモーションベクトル予測（control point motion vector prediction、CPMVP）とＣＰＭＶを決定した後違いに対応する制御点のモーションベクトル差分値（control point motion vector difference、ＣＰＭＶＤ）がエンコーダからデコーダに伝送されることができる。具体的なアフィンインターモード（ＡＦ＿ＩＮＴＥＲ）の符号化プロセスは、以下の同じで有り得る。
【０２１９】
ステップ−１：２つのＣＰＭＶＰペア（pair）候補（candidate）決定
【０２２０】
ステップ−１．１：最大１２個のＣＰＭＶＰ候補の組み合わせを決定（下の数式２を参照）
【０２２１】
【数２】
2022501912.tif 000005
【０２２２】
数式２で、v_0は現在のブロック２３００の左上側制御点２３１０でのモーションベクトル（ＣＰＭＶ０）、v_1は現在のブロック２３００の右上側制御点２３１１でのモーションベクトル（ＣＰＭＶ１）、v_2は、現在のブロック２３００の左下側制御点２３１２でのモーションベクトル（ＣＰＭＶ２）であり、v_Aは現在のブロック２３００の左上側制御点２３１０の左上側に隣接する周辺ブロックＡ２３２０のモーションベクトル、v_Bは現在のブロック２３００の左上側制御点２３１０の上側に隣接する周辺ブロックＢ２３２２のモーションベクトル、vCは現在のブロック２３００の左上側制御点２３１０の左側に隣接する周辺ブロックＣ２３２４のモーションベクトル、v_Dは現在のブロック２３００の右上側制御点２３１１の上側に隣接する周辺ブロックＤ２３２６のモーションベクトル、v_Eは現在のブロック２３００の右上側制御点２３１１の右上側に隣接する周辺ブロックＥ２３２８のモーションベクトル、v_Fは現在のブロック２３００の左下側制御点２３１２の左側に隣接する周辺ブロックＦ２３３０のモーションベクトル、v_Gは現在のブロック２３００の左下側の制御点２３１２の左側に隣接する周辺ブロックＧ２３３２のモーションベクトルを示す。
【０２２３】
ステップ-１．２：ＣＰＭＶＰ候補の組み合わせの内、差値（difference value、ＤＶ）が小さな値基準でソート（sorting）して、上位２つの候補の使用（下の数式３を参照）
【０２２４】
【数３】
2022501912.tif 000006
【０２２５】
v_0x現在のブロック２３００の左上側制御点２３１０のモーションベクトル（Ｖ０またはＣＰＭＶ０）のｘ軸エレメント、v_1xは現在のブロック２３００の右上側制御点２３１１のモーションベクトル（Ｖ１またはＣＰＭＶ１）のｘ軸エレメント、v_2xは現在のブロック２３００の左下側制御点２３１２のモーションベクトル（V_2またはCPMV_2）のｘ軸エレメント、v_0yは現在のブロック２３００の左上側制御点２３１０のモーションベクトル（V_0またはCPMV_0）のｙ軸エレメント、v_1yは現在のブロック２３００の右上側制御点２３１１のモーションベクトル（V_1またはCPMV_1）のｙ軸エレメント、v_2yは現在のブロック２３００の左下側制御点２３１２のモーションベクトル（V_2またはCPMV_2）のｙ軸エレメント、ｗは現在のブロック２３００の幅（width）、hは、現在のブロック２３００の高さ（height）を示す。
【０２２６】
ステップ−２：制御点のモーションベクトル予測子（ＣＰＭＶＰ）ペア候補が２より小さい場合ＡＭＶＰ候補リストを使用
【０２２７】
ステップ−３：２つの候補のそれぞれについて、制御点のモーションベクトル予測子（ＣＰＭＶＰ）を決定し、ＲＤ costを比較して小さい値を有する候補とＣＰＭＶを最適に選択
【０２２８】
ステップ−４：最適の候補に対応するインデックスと制御点のモーションベクトル差分値（control point motion vector difference、CPMVD）伝送
【０２２９】
本明細書の実施例において、ＡＦ＿ＩＮＴＥＲでは、ＣＰＭＶＰ候補の構成プロセスが提供される。 ＡＭＶＰと同様に、候補数は２であり、候補リストの位置を指示するインデックスがシグナリングされる。
【０２３０】
ＣＰＭＶＰ候補リストの設定手順は以下の通りである。
【０２３１】
１）周辺のブロックをスキャンして、これがアフィンモーション予測としてコーディングされるかをチェックする。スキャンされたブロックがアフィン予測として符号化されると、候補数が２になるまでスキャンされた周辺ブロックのアフィン動きモデルから現在のブロックのモーションベクトルペアを導出する。
【０２３２】
２）候補の数が２より小さければ、候補の構成過程を実行する。また、本発明の実施例において、４パラメータ（２−制御点）アフィンインターモードがズーム - イン／アウト（zoom-in／out）及び回転の動きモデルとコンテンツを予測するに用いる。図１６に示すように、ブロックのアフィン動きフィールド（field）は、２つの制御点のモーションベクトルによって記述される。
【０２３３】
ブロックのモーションベクトルフィールド（motion vector field：ＭＶＦ）は、前述した式１によって記述される。
【０２３４】
従来技術において、ＡＭＶＰ（advanced motion vector prediction）モードは、ＭＶＰ（motion vector prediction）インデックスとＭＶＤｓ（motion vector differences）をシグナリングするために必要である。 ＡＭＶＰモードが本発明に適用されるとき、アフィン_フラグ（affine_flag）はアフィン予測が用いるかを指示するようにシグナリングされる。アフィン予測が適用されると、inter_dir、ref_idx、mvp_index、及び２つのＭＶＤｓ（mvd_xとmvd_y）の構文がシグナリングされる。 ２つのアフィンＭＶＰペアを含むアフィンＭＶＰペア候補リストが生成される。シグナリングされたmvp_indexは、これらの内、１つを選択することに用いる。アフィンＭＶＰペアは二種類のアフィンＭＶＰ候補によって生成される。一つは、空間的継承アフィン候補（spatial inherited affine candidate）であり、他の一つは、コーナー導出されたアフィン候補（corner derived affine candidate）である。周辺ＣＵがアフィンモードでコーディングされると、空間継承アフィン候補が生成されることができる。周辺アフィンコーディングされたブロックのアフィン動きモデルは、２制御点ＭＶＰペア（two-control-point MVP pair）のモーションベクトルを生成するために用いる。空間的継承アフィン候補の２制御点ＭＶＰペアのＭＶは、次の式を用いることにより、導出される。
【０２３５】
【数４】
2022501912.tif 000007
【０２３６】
【数５】
2022501912.tif 000008
【０２３７】
Ｖ＿Ｂ０, Ｖ＿Ｂ１, 及び Ｖ＿Ｂ２ がどのような参照／周辺ＣＵの左上側ＭＶ、右上側ＭＶ、及び左下側ＭＶに置き換えることができる場合、 (posCurCU_X, posCurCU_Y) はフレームの左上側のサンプルの現在ＣＵの左上側のサンプルの位置であり、（posRefCU_X、posRefCU_Y）は、フレームの左上側のサンプルの参照／周辺ＣＵの左上側のサンプルの位置である。
【０２３８】
【数６】
2022501912.tif 000009
【０２３９】
【数７】
2022501912.tif 000010
【０２４０】
図２４は、本発明の実施例に係るアフィンインターモード（affine inter mode）でアフィンモーション予測に用いる周辺ブロックの例を示す。
【０２４１】
図２４を参照すると、ＭＶＰペアの数が２より小さいと、コーナー導出されたアフィン候補が用いる。周辺のモーションベクトルは、図２４に示すようにアフィンＭＶＰペアを導出するために用いる。第１コーナー導出されたアフィン候補に対して、セットＡ（Ａ０、Ａ１とＡ２）で第１利用可能なＭＶとセットＢ（Ｂ０とＢ１）で第１利用可能なＭＶは、第１ＭＶＰペアを構成するために用いる。第２コーナー導出されたアフィン候補に対して、セットＡで第１利用可能なＭＶとセットＣ（Ｃ０とＣ１）で第１利用可能なＭＶは右上側側制御点のＭＶを計算するのに用いる。セットＡで第１利用可能なＭＶと計算された右上側制御点ＭＶは第２ＭＶＰペアである。
【０２４２】
本発明の実施例において、２つ（３個）の候補{ｍｖ＿０、ｍｖ＿１}（{ｍｖ＿０、ｍｖ＿１、ｍｖ＿２）を含む２つの候補セットはアフィン動きモデルの２つ（３つ）制御点を予測するために用いる。与えられたモーションベクトル差分（mvd_0、mvd_1、mvd_2）と制御点は、次の式を用いることにより計算される。
【０２４３】
【数８】
2022501912.tif 000011
【０２４４】
図２５及び図２６は、本発明が実施例に係るアフィンインターモード（affine inter mode）で周辺ブロックのモーション情報を用いて、モーションベクトルの候補を誘導する方法を例示する図である。
【０２４５】
前記アフィン候補リストはアフィン動きを空間的隣接ブロック（外挿されたアフィン候補）から延長し、空間的隣接ブロック（仮想のアフィン候補）からのモーションベクトルの組み合わせによって添付される（appended）。候補セットは以下のように設定される：
【０２４６】
１．最大２つの異なるアフィンＭＶ予測者セットが隣接ブロックのアフィン動きから誘導される。隣接ブロックＡ０、Ａ１、Ｂ０、Ｂ１、及びＢ２が、図２５に図示されたように確認される。もし隣接ブロックがアフィン動きモデルによって符号化され、その参照フレームが、現在のブロックの参照フレームと同じであれば、現在のブロックの（４−パラメータアフィンモデルの）２つまたは（６パラメータアフィンモデルの）３つの制御点が隣接ブロックのアフィンモデルから誘導される。
【０２４７】
２.図２９は、仮想のアフィン候補セットを生成するために用いる隣接ブロックを示す。隣接ＭＶは３つのグループに分けられる：Ｓ＿０ ＝ {ｍｖ＿Ａ、ｍｖ＿Ｂ、ｍｖ＿Ｃ}、Ｓ＿１ ＝ {ｍｖ＿Ｄ、ｍｖ＿Ｅ}、Ｓ＿２ ＝ {ｍv_F、ｍｖ＿Ｇ}。 ｍｖ＿０はＳ０で現在のブロックと同じ参照ピクチャを参照する最初のＭＶである。 mv_2はＳ１で、現在のブロックと同じ参照ピクチャを参照する最初のＭＶである。
【０２４８】
もしmv_0とmv_1が与えられれば、mv_2は次の数式９によって誘導されることができる。
【０２４９】
【数９】
2022501912.tif 000012
【０２５０】
数式９で、現在のブロックサイズはＷｘＨある。
【０２５１】
もしmv_0とmv_2だけが与えられると、mv_1は、以下の数式１０によって誘導されることができる。
【０２５２】
【数１０】
2022501912.tif 000013
【０２５３】
本明細書の一実施例において、アフィンインター予測は、以下のシーケンス（sequence）に基づいて実行されることができる。
【０２５４】
入力：アフィンモーション（動き）パラメータ、参照ピクチャサンプル
【０２５５】
出力：ＣＵの予測ブロック
【０２５６】
プロセス
【０２５７】
- アフィンブロックのサブ - ブロックのサイズを誘導
【０２５８】
- サブ-ブロックの幅と幅モード４ルマサンプル（luma samples）より大きければ、
【０２５９】
- それぞれのサブブロックについて
【０２６０】
- サブ-ブロックのモーションベクトルを誘導
【０２６１】
- ＤＣＴ−ＩＦベースの動き補償（ルマの１/１６ pel、色差について１/３２ pel）がサブ-ブロックに対して実行（invoked）
【０２６２】
- そうでなければ、向上されバイ-リニア補間フィルタ（enhenced bi-linear interpolation filter）ベースの補償が全体アフィンブロックについて実行される（invoked）
【０２６３】
また、本明細書の一実施例において、マージ／スキップフラグが偽（false）であり、ＣＵの幅と幅が８以上であれば、ＣＵレベルでアフィンフラグがアフィンインターモードが用いるかどうかを指示するためにシグナリングされる。ＣＵがアフィンインターモードとしてコーディングされると、モデルフラグが４−パラメータまたは６パラメータアフィンモデルが前記ＣＵに適用されるかどうかを指示するためにシグナリングされる。もしモデルフラグが真（true）である場合、AF_6_INTER mode（6-パラメータアフィンモデル）が適用され、３つのＭＶＤが構文解析（Parsing）され、そうでなければ、ＡＦ＿４＿INTER mode（４−パラメータアフィンモデル）が適用され、２つのＭＶＤが構文解析される。
【０２６４】
ＡＦ＿４＿INTERモードにおいて、アフィンマージモードと類似に、アフィンモードによりコーディングされた隣接ブロックからの外挿されたモーションベクトルペア（pair）が生成され最初に候補リストに挿入される。
【０２６５】
以降、候補リストのサイズが４より小さいと 、モーションベクトルのペア{（v_0、v_1）| v0 = {v_A、v_B、v_c}、v_1 = {v_D、v_E}}を有する候補が隣接ブロックを用いることにより、生成される。図２２に示されたように、v_0がブロックＡ、Ｂ、Ｃのモーションベクトルから選択される。隣接ブロックからのモーションベクトルは、参照リストと隣接ブロックの参照のＰＯＣ現在ＣＵの参照のＰＯＣと現在ＣＵの間の関係に基づいてスケールされる。そして、隣接するブロックＤとＥからv_1を選択するアプローチ方式は類似する。候補リストが４より大きければ、候補は、（候補ペアで２つのモーションベクトルと類似に）隣接モーションベクトルの一貫性（consistency）に基づいて優先的に整列され最初の４つの候補が保存される。
【０２６６】
もし候補リストの数が４より小さい場合、リストは各ＡＭＶＰ候補を複製することにより、モーションベクトルペアによってパディングされる（padded）。
【０２６７】
AF_6_INTERモードにおいて、アフィンマージモードと類似に、アフィンモードでコーディングされた隣接ブロックからの外挿されたモーションベクトルトリプル（affine motion vector triples）が生成され、候補リストに優先的に挿入される。
【０２６８】
以後、候補リストのサイズが４より小さいと、モーションベクトルトリプル{（v_0、v_1、v_2）| v0 = {v_A、v_B、v_c}、v1 = {v_D、v_E}、v2 = {v_G、v_H}}を含む候補が隣接ブロックを用いて生成される。図２２に示されたように、v_0がブロックＡ、Ｂ、または、Ｃのモーションベクトルから選択される。隣接ブロックからのモーションベクトルは、参照リストと隣接ブロックの参照のＰＯＣ、現在ＣＵの参照のＰＯＣ、それと現在ＣＵのＰＯＣの関係に基づいてスケールされる。そして、隣接するブロックＤとＥからv_1を選択するためのアプローチとＦとＧからv_2を選択することは類似である。候補リストが４より大きければ、候補は（３つの候補から２つのモーションベクトルと類似に）隣接モーションベクトルの一貫性に基づいて整列され、最初の４つの候補が保存される。
【０２６９】
候補リストの数が４より小さければ、リストは各ＡＭＶＰ候補を複製することにより、（duplicating）構成されるモーションベクトルトリプルによってパディングされることができる。
【０２７０】
現在ＣＵのＣＰＭＶが誘導された後、アフィンパラメータの数に応じて、現在ＣＵのＭＶＦが４−パラメータアフィンモデルの下の数式１１に基づいて生成され、６パラメータアフィンモデルの下の数式１２に基づいて生成される。
【０２７１】
【数１１】
2022501912.tif 000014
【０２７２】
【数１２】
2022501912.tif 000015
【０２７３】
ここで、サブ-ブロックサイズＭｘＮは、以下の式１３で誘導され、ＭｖＰｒｅはモーションベクトルの部分の精度（１/１６）である。
【０２７４】
【数１３】
2022501912.tif 000016
【０２７５】
数式１２によって誘導された後、ＭとＮは、ｗとｈの分母（divisor）で作成するために必要であれば下方修正されるべきである。 ＭまたはＮが８より小さければ、ＷＩＦが適用され、そうでなければ、サブ-ブロックベースのアフィン動き補償が適用される。
【０２７６】
図２７は、本発明の実施例に係るサブブロック単位のアフィンモーションベクトルフィールドを誘導する方法の一例を示す。
【０２７７】
図２７を参照すると、各ＭｘＮサブ-ブロックのモーションベクトルを誘導するために、図２７に示されたのような、各サブ-ブロックの中央のサンプルのモーションベクトルは、数式１１または式１２に基づいて計算され、１/１６の部分の精度にラウンディングされる（rounded）。 ＳＨＶＣ上向サンプリング補間フィルタが誘導されたモーションベクトルを用いて、各サブ-ブロックの予測を生成するために適用される。
【０２７８】
ＨＥＶＣ動き補償補間フィルタと同じフィルタ長さと正規化因子を有するＳＨＶＣ上向サンプリング補間フィルタは、追加的な部分フェル位置（additional fractional pel positions）の動き補償補間フィルタとして用いられる。クロマ成分のモーションベクトルの精度は１/３２サンプルであり、１/３２フェル部分の位置の追加的な補間フィルタは、２つの隣接１/１６フェル部分の位置のフィルタの平均を用いることにより、誘導される。
【０２７９】
ＡＦ＿ＭＥＲＧＥモードは、通常のマージモード選択が実行されるのと同じ方法で、エンコーダ側で選択することができる。候補リストが優先的に生成され、候補で最小のＲＤ−コストが異なるインターモードのＲＤ−コストと比較するために選択される。比較の結果は、ＡＦ＿ＭＥＲＧＥが適用されるのかないのかの決定である。
【０２８０】
ＡＦ＿４＿ＩＮＴＥＲモードのために、ＲＤコストの確認は、何れのモーションベクトルのペアの候補が、現在ＣＵの制御点のモーションベクトル予測（control point motion vector prediction、ＣＰＭＶＰ）として選択されるかを決定するために用いる。現在アフィンＣＵのＣＰＭＶＰが決定された以後に、アフィン動き推定が適用され、制御点のモーションベクトル（control point motion vector、ＣＰＭＶ）が獲得される。そうすると、ＣＰＭＶとＣＰＭＶＰの差が決定される。
【０２８１】
エンコーダ側において、ＡＦ＿ＭＥＲＧＥまたはＡＦ＿４＿ＩＮＴＥＲモードが以前のモード選択ステージで最適のモードとして決定される時にのみ、ＡＦ＿６＿ＩＮＴＥＲモードが確認される。
【０２８２】
本明細書の一実施例において、アフィンインター（アフィンＡＭＶＰ）モードは、以下のように実行することができる：
【０２８３】
１）ＡＦＦＩＮＥ＿ＭＥＲＧＥ＿ＩＭＰＲＯＶＥ：アフィンモードである最初の隣接ブロックを探索する代わりに、改善点（improvement）は、最大のコーディングユニットのサイズを有する隣接ブロックをアフィンマージ候補として探索しようとする。
【０２８４】
２）ＡＦＦＩＮＥ＿ＡＭＶＬ＿ＩＭＰＲＯＶＥ：アフィンモードである隣接ブロックを通常のＡＭＶＰ手順と類似にアフィンＡＭＶＰ候補リストに追加する。
【０２８５】
詳細のアフィンＡＭＶＰ候補リストの生成過程は以下の通りである。
【０２８６】
第一に、左下の隣接ブロックがアフィン動きモデルを用いて、現在の参照インデックスと同じ参照インデックスを有するかどうかが確認される。もし存在しなければ、左側隣接ブロックが同じ方法で確認される。もし存在しなければ、左側の下隣接ブロックがアフィン動きモデルを用いて、異なる参照インデックスを有するかどうかが確認される。もし存在すれば、スケールされたアフィンモーションベクトルが参照ピクチャリストに追加される。もし存在しなければ、左側隣接ブロックが同じ方法で確認される。
【０２８７】
第二に、右側上部隣接ブロック、上部隣接ブロック、そして左側上部隣接ブロックが同じ方法で確認される。
【０２８８】
前述した過程以後、２つの候補を探索すれば、アフィンＡＭＶＰ候補リストを生成する動作を終了する。２つの候補を探索しないと、ＪＥＭソフトウェア内の元の動作がアフィンＡＭＶＰ候補リストを生成するために実行される。
【０２８９】
３）ＡＦＦＩＮＥ＿ＳＩＸ＿ＰＡＲＡＭ：４−パラメータアフィン動きモデル以外に、６パラメータアフィン動きモデルが、追加のモデルとして追加される。
【０２９０】
６パラメータアフィン動きモデルが、以下の数式１４を介して誘導される。
【０２９１】
【数１４】
2022501912.tif 000017
【０２９２】
前述した動きモデルに６-パラメータが存在するので、左側上部の位置MV_0、右側上部の位置MV_1、それと左側下部の位置MV_2での３つのモーションベクトルがモデルを決定するために要求される。３つのモーションベクトルが４パラメータアフィン動きモデルで２つのモーションベクトルと類似な方法で決定することができる。アフィンモデルマージは、常に６パラメータアフィン動きモデルとして設定される。
【０２９３】
４）ＡＦＦＩＮＥ＿ＣＬＩＰ＿ＲＥＭＯＶＥ：すべてのアフィンモーションベクトルに対するモーションベクトルの制約（constraints）を除去する。動き補償過程がモーションベクトルの制約そのものを制御するようにする。
【０２９４】
アフィンモーションモデル（Affine motion model）
【０２９５】
前述したように、Affine inter predictionで様々なaffine motion modelが使用または考慮することができる。たとえば、Affine motion modelは、前述した図１５に示すように、４つのmotionを表現することができる。Affine motionmodelが表現できるmotionの中の３つのmotion（translation、scale、rotate）を表現するaffine motion modelをsimilarity（or simplified）affine motion modelとすることができる。前記affine motion modelの中何れのモデルを用いるかによって導出されるＣＰＭＶの数及び/または現在のブロックのサンプル／サブブロック単位ＭＶ導出方法が異なることがある。
【０２９６】
本発明の一実施例において、適応的な４つ及び６つのパラメータの動きモデルが用いる。ＡＦ＿ＩＮＴＥＲにおいて、６−パラメータの動きモデルがＪＥＭで存在する４パラメータ動きモデルに加えて提供される。 ６パラメータアフィン動きモデルが、以下の数式１５のように説明される。
【０２９７】
【数１５】
2022501912.tif 000018
【０２９８】
ここで、係数ａ、ｂ、ｃ、ｄ、ｅ、及びｆはアフィン動きパラメータであり、（ｘ、ｙ）と（ｘ‘、ｙ’）は、アフィン動きモデルの変換以前と以後のピクセル位置の座標である。ビデオコーディングのアフィン動きモデルを用いるためには、もしＣＰＭＶ０、ＣＰＭＶ１、そしてＣＰＭＶ２がＣＰ０（左上側）、ＣＰ１（右上側）、それと、ＣＰ２（左下側）のＭＶであれば数式１６が以下のように説明ことができる。
【０２９９】
【数１６】
2022501912.tif 000019
【０３００】
ここでCPMV_0 = {v_0x、v_0y}、CPMV_1 = {v_1x、v_1y}、CPMV_2 = {v_2x、v_2y}、そしてｗとｈはそれぞれコーディングブロックの幅（width）と高さ（height）である。数式１６は、ブロックのモーションベクトルフィールド（motion vector field、ＭＶＦ）である。
【０３０１】
フラグが隣接ブロックがアフィン予測でコーディングされたとき、４パラメータまたは６パラメータアフィン動きモデルが用いるかどうかを指示するためにＣＵレベルでパージング（parsing：構文解析）される。アフィン予測でコーディングされた隣接するブロックがなければ、フラグは省略され４パラメータモデルがアフィン予測のために用いる。つまり、６パラメータモデルが１つまたはそれ以上の隣接するブロックがアフィン動きモデルでコーディングされる条件で考慮される。ＣＰＭＶＤの数と関連して、２つ及び３つのＣＰＭＶＤが４−パラメータ及び６−パラメータアフィン動きモデルについて、それぞれシグナリングされる。
【０３０２】
また、本発明の一実施例において、パターン-マッチングされたモーションベクトル加工（pattern-matched motion vector refinement）が用いることができる。 ＪＥＭのパターン-マッチングされたモーションベクトル誘導（ＪＥＭエンコーダの説明で称してＰＭＭＶＤ、以下ＰＭＶＤと略称される）において、デコーダは、ＣＵ−レベルの探索のために開始ＭＶ候補を決定するためにいくつかのモーションベクトル（motion vector、ＭＶ）を評価する必要がある。サブ−ＣＵ-探索で、最適のＣＵ−レベルＭＶに加えて、いくつかのＭＶ候補が追加される。デコーダは最適のＭＶを探索するために、このようなＭＶ候補を評価する必要があり、これは多くのメモリ帯域を必要とする。提案されたパターン-キャッチングされたモーションベクトル精製（pattern-matched motion vector refinement、ＰＭＶＲ）で、ＪＥＭでＰＭＶＤでのテンプレートマッチング（template matching）と両方のマッチング（bilateral matching）のコンセプトが採用される。 ＰＭＶＲが使用可能であるかどうかを指示するために、スキップ・モードまたはマージモードが選択されたときに1つのＰＭＶＲ_flagがシグナリングされる。 ＰＭＶＤと比較して有意にメモリ帯域幅要求を減らすために、ＭＶの候補リストが生成され、もしＰＭＶＲが適用されると、開始ＭＶ候補インデックスが明示的にシグナリングされる。
【０３０３】
マージ候補リストの生成プロセスを用いることにより、候補リストが生成されるが、サブ−ＣＵマージ候補、例えば、アフィン候補とＡＴＭＶＰ候補は除外される。
【０３０４】
両方向マッチング（bilateral matching）のために、唯一の一方向-予測（uni-prediction）ＭＶ候補のみが含まれる。両方向-予測（bu-prediction）ＭＶ候補は、２つの一方向-予測ＭＶ候補に分けられる。また、（ＭＶ差が予め定義されたしきい値より少ない）類似なＭＶ候補がまた除去される。ＣＵ−レベル探索のために、ダイヤモンド探索ＭＶ精製（diamond search ＭＶ refinement）がシグナリングされたＭＶ候補から開始して実行される。
【０３０５】
サブ−ＣＵ−レベルの探索は、ただ両方マッチングマージモード（bilateral matching merge mode）でのみ使用可能である。すべてのサブ-ＣＵに対するサブ−ＣＵ−レベル探索の探索ウィンドウは、ＣＵ−レベル探索の探索ウィンドウと同じである。したがって、追加の帯域幅がサブ−ＣＵ−レベルの探索において要求されない。
【０３０６】
モードにおいてＭＶＰを精製するために、テンプレートマッチングも用いられる。 ＡＭＶＰモードにおいて、２つのＭＶＰがＨＥＶＣ ＭＶＰ生成プロセスを用いることにより、生成され、１つのＭＶＰインデックスが、それらの内、１つを選択するためにシグナリングされる。選択されたＭＶＰは、ＰＭＶＲでテンプレートマッチングを用いることにより、さらに精製される。適応的モーションベクトルの解像度（adaptive motion vector resolution、ＡＭＶＲ）が適用されると、テンプレートマッチング精製以前にＭＶＰは、該当する精度にラウンディングされる（rounded）。このような精製プロセスは、パターン-マッチングされたモーションベクトル予測子精製（pattern-matched motion vector predictor refinement、ＰＭＶＰＲ）と命名される。本文書の残りの部分で、特に定義しない場合、ＰＭＶＲは、テンプレートマッチングＰＭＶＲ、両方向マッチングＰＭＶＲ、そしてＰＭＶＰＲを含む。
【０３０７】
メモリ帯域幅要求を減少させるために、ＰＭＶＲは４ｘ４、４ｘ８、それと８ｘ４ ＣＵに対して使用不可能になる。追加のメモリ帯域幅要件量の減少のために、６４と同じＣＵ領域の{テンプレートマッチング、両方向マッチング}の探索範囲が｛±２、±４｝に縮小されることができ、６４より大きいＣＵ領域の{テンプレートマッチング、両方向マッチング}の探索範囲が｛±６、±８｝に縮小することができる。本文書のＰＭＶＲセクションで説明された前述したすべての方法を用いることにより、ＨＥＶＣでの最悪の場合と比較して要求されるメモリ帯域幅がＪＥＭ−７．０のＰＭＶＤで４５．９ｘからＰＭＶＲで３．１ｘに減少した。
【０３０８】
non-ＱＴブロックでAffine使用さ技術
【０３０９】
図２８は、本発明の実施例に係るアフィンモーションモデルを適用したインター予測で予測ブロックが生成される方法及びモーションベクトルを例示的に示す。
【０３１０】
図２８を参照すると、アフィン動きモデルが適用される場合のモーションベクトルを導出する数式を見ることができる。前記モーションベクトルは、次のような数式１７に基づいて導出されることができる。
【０３１１】
【数１７】
2022501912.tif 000020
【０３１２】
ここでv_xは、現在のブロック内の（x、y）座標サンプルのサンプル単位のモーションベクトルのｘ成分、v_yは現在のブロック内の前記（x、y）座標のサンプルの前記サンプル単位のモーションベクトルのｙ成分を示す。
【０３１３】
つまり、（v_x、v_y）は、前記（x、y）座標のサンプルに対する前記サンプル単位のモーションベクトルとなる。ここで、ａ、ｂ、ｃ、ｄ、ｅ、ｆは前記現在のブロックのコントロールポイント（制御点）（control point、ＣＰ）から（x、y）座標のサンプル単位のモーションベクトル（モーション情報）を導出するための数式のパラメータ（parameter）を示す。前記CPは操縦画素と表現されることもできる。前記パラメータは、PU単位で伝送される各PUのCPのモーション情報から導出することができる。前述した前記CPのモーション情報から誘導された前記サンプル単位のモーションベクトルを導出する数式はブロックのサンプルごとに適用されることができ、前記各サンプルのｘ軸とｙ軸の相対位置に基づいて参照映像内のサンプルの位置に導出されることができる。前記サンプル単位のモーションベクトルは、ＱＴＢＴ（ＴＴ）ブロック分割構造に沿ったブロックのサイズ、非対称型または対称型、ブロックの位置などによって異なるように導出することができる。これに対する具体的な実施例は、後述する図２９〜図３８を介して示す。
【０３１４】
図２９は、本発明の実施例に係る制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
【０３１５】
図２９を参照すると、現在のブロックが２Ｎｘ２Ｎブロックである場合を仮定して説明する。例えば、前記現在のブロック内の左上端サンプルのモーションベクトルをv_0とすることができる。また、前記現在のブロックと隣接する周辺ブロックのサンプルをＣＰに用いて、各ＣＰのモーションベクトルをv_1とv_2とすることができる。すなわち、前記現在のブロックの幅と高さをS、前記現在のブロックの左上端（top-left）のサンプルポジションの座標を（ｘｐ、ｙｐ）とするとき、前記ＣＰの内、ＣＰ０の座標は（ｘｐ、ｙｐ）であり、ＣＰ１の座標は（ｘｐ ＋ Ｓ、ｙｐ）であり、ＣＰ２の座標は（ｘｐ、ｙｐ ＋ Ｓ）とすることができる。前記ＣＰ０のモーションベクトルはv_0、前記ＣＰ１のモーションベクトルは、v_1、前記ＣＰ２のモーションベクトルはv_2とすることができる。前記CPのモーションベクトルを用いて前記サンプル単位のモーションベクトルを導出することができる。前記サンプル単位のモーションベクトルは、次のような数式１８に基づいて導出することができる。
【０３１６】
【数１８】
2022501912.tif 000021
【０３１７】
ここで、v_x、v_yはそれぞれ前記現在のブロック内の（x、y）座標のサンプルのモーションベクトルのｘ成分、ｙ成分を示し、v_x0、v_y0はそれぞれ前記ＣＰ０のモーションベクトルv_0のｘ成分、ｙ成分を示し、v_x1、v_y1はそれぞれ前記ＣＰ１のモーションベクトルv_1のｘ成分、ｙ成分を示し、v_x2、v_y2はそれぞれ前記ＣＰ２のモーションベクトルv_2のｘ成分、ｙ成分を示す。前述した数式18のような、前記サンプル単位のモーションベクトルを導出する数式によって、現在のブロック内の各サンプルは、現在のブロック内の相対的な位置に基づいて、モーションベクトルが導出されることができる。
【０３１８】
図３０は、本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
【０３１９】
図３０はＮｘ２Ｎに分割されたブロックのＣＰを例示的に示す。前述したパーティショニングタイプ２Ｎｘ２Ｎの場合と同じ方法を介し、現在のブロック内のサンプル単位のモーションベクトルを導出するための数式を誘導することができる。前記数式を誘導する過程で、前記現在のブロックの形に合う幅の値を用いることができる。前記サンプル単位のモーションベクトルを誘導するために、3つのＣＰを導出することができ、前記ＣＰの位置を図３０のように調整することができる。すなわち、前記現在のブロックの幅と高さをそれぞれS／2とSであり、前記現在のブロックの左上端（top-left）のサンプルポジションの座標を（xp、yp）とするとき、前記ＣＰの内、ＣＰ０の座標は（ｘｐ、ｙｐ）であり、ＣＰ１の座標は（ｘｐ ＋Ｓ/２、ｙｐ）であり、ＣＰ２の座標は（ｘｐ、ｙｐ＋Ｓ）とすることができる。前記サンプル単位のモーションベクトルは、次のような数式１９に基づいて導出されることができる。
【０３２０】
【数１９】
2022501912.tif 000022
【０３２１】
ここで、vx、vyはそれぞれ前記現在のブロック内の（ｘ、ｙ）座標のサンプルのモーションベクトルのｘ成分、ｙ成分を示し、v_x0、v_y0はそれぞれ前記ＣＰ０のモーションベクトルv_0のｘ成分、ｙ成分を示し、v_x1、v_y1はそれぞれ前記ＣＰ１のモーションベクトルv_1のｘ成分、ｙ成分を示し、v_x2、v_y2はそれぞれ前記ＣＰ２のモーションベクトルv_2のｘ成分、ｙ成分を示す。数式３は、前記現在のブロックの幅がＳ/２であることを考慮したサンプル単位のモーションベクトルを誘導する数式を示す。前述した数式１９のような、前記サンプル単位のモーションベクトルを導出する数式によってパーティショニングのタイプＮｘ２Ｎに基づいてＣＵからパーティショニングされた現在のブロック内の各サンプルは、現在のブロック内の相対位置に基づいて、モーションベクトルが導出されることができる。
【０３２２】
図３１は、本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
【０３２３】
図３１は、パーティショニングのタイプ２ＮｘＮに基づいて分割されたブロックを例示的に示す。前記サンプル単位のモーションベクトルを誘導するために、３つのＣＰを導出することができ、前記ＣＰの位置を図３１のように調整して図３１に示された現在のブロックの形状に応じて高さをＳ/２に調整することができる。すなわち、前記現在のブロックの幅と高さがそれぞれＳとＳ/２であり、前記現在のブロックの左上端（top-left）のサンプルポジションの座標を（ｘｐ、ｙｐ）とするとき、前記CPの内、ＣＰ０の座標は（ｘｐ、ｙｐ）であり、ＣＰ１の座標は（ｘｐ＋Ｓ、ｙｐ）であり、ＣＰ２の座標は（ｘｐ、ｙｐ ＋ Ｓ/２）とすることができる。前記のサンプル単位のモーションベクトルは、次のような数式２０に基づいて導出されることができる。
【０３２４】
【数２０】
2022501912.tif 000023
【０３２５】
ここで、 v_x, v_y は、それぞれ、前記現在のブロック内の（ｘ、ｙ）座標のサンプルのモーションベクトルのｘ成分、ｙ成分を示し、v_x0、v_y0はそれぞれ前記ＣＰ０のモーションベクトルv_0のｘ成分、ｙ成分を示し、v_x1、 v_y1は、それぞれ、前記ＣＰ１のモーションベクトルv_1のｘ成分、ｙ成分を示し、v_x2、v_y2はそれぞれ前記ＣＰ２のモーションベクトルv_2のｘ成分、ｙ成分を示す。数式４は、前記現在のブロックの高さがS／2であることを考慮したサンプル単位のモーションベクトルを導出する数式を示す。前述した数式４．１８のような、前記サンプル単位のモーションベクトルを導出する数式によってパーティショニングのタイプ２ＮｘＮに基づいてＣＵからパーティショニングされた現在のブロック内の各サンプルは、現在のブロック内の相対位置に基づいて、モーションベクトルが導出されることができる。
【０３２６】
図３２〜図３８は、本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
【０３２７】
図３２は、非対称型、現在のブロックのCPを例示的に示す。図３２で示すように、前記非対称型の現在のブロックの幅と高さをそれぞれWとHとすることができる。前記サンプル単位のモーションベクトルを誘導するために、各現在のブロックの３つのＣＰを導出することができ、前記ＣＰの座標は、図３２に示すように、現在のブロックの形に沿った幅と高さに基づいて調整することができる。すなわち、前記現在のブロックの幅と高さをWとHとし、各現在のブロックの左上端（top-left）のサンプルポジションの座標を（ｘｐ、ｙｐ）とするとき、前記ＣＰの内、ＣＰ０の座標は（ｘｐ、 ｙｐ）であり、ＣＰ１の座標は（ｘｐ＋Ｗ、ｙｐ）であり、ＣＰ２の座標は（ｘｐ、ｙｐ＋Ｈ）に設定されることができる。この場合、前記現在のブロック内、前記サンプル単位のモーションベクトルは、次のような数式２１に基づいて導出されることができる。
【０３２８】
【数２１】
2022501912.tif 000024
【０３２９】
ここで、v_x、v_yはそれぞれ前記現在のブロック内の（ｘ、ｙ）座標のサンプルのモーションベクトルのｘ成分、ｙ成分を示し、v_x0、v_y0はそれぞれ前記ＣＰ０のモーションベクトルv_0のｘ成分、 ｙ成分を示し、v_x1、v_y1はそれぞれ前記ＣＰ１のモーションベクトルv_1のｘ成分、ｙ成分を示し、v_x2、v_y2はそれぞれ前記ＣＰ２のモーションベクトルv_2のｘ成分、ｙ成分を示す。数式２１は、非対称型、現在のブロックの幅と高さを考慮したサンプル単位のモーションベクトルを誘導する数式を示す。
【０３３０】
一方、本発明によれば、ブロック単位で指示されるＣＰのモーション情報のデータ量を減らすために、現在のブロックの周辺ブロックまたは周辺サンプルのモーション情報に基づいて少なくとも一つのＣＰのモーション情報予測候補を選定することができる。前記モーション情報予測候補はアフィンモーション情報候補またはアフィンモーションベクトル候補と称されることができる。前記アフィンモーション情報候補は、例えば、図３３〜図３８に開示された内容を含むことができる。
【０３３１】
ＡＴＭＶＰ simplification
【０３３２】
ＡＴＭＶＰ（Advanced Temporal Motion Vector Prediction）は、時間のモーション情報候補を用いたインター予測であるが、既存のＴＭＶＰを改善するために提案されたモーション情報候補を用いたインター予測を示すことができる。本明細書の実施例において、前記ＡＴＭＶＰは、その名称に制限されず、前記ＡＴＭＶＰはサブブロック時間マージ候補、サブブロックベースの時間マージ候補、サブブロック時間モーションベクトル予測子、サブブロックベースの時間のモーションベクトル予測子などで称されることができる。
【０３３３】
具体的に、時間のモーション情報候補として、現在のブロックのright-bottomブロックまたは現在のブロックのcenter位置のcolＰＢのモーションベクトルを用いるＴＭＶＰは、画面内の動きを反映しないことがある。一方、前記ＡＴＭＶＰが適用される場合、周辺ブロックのモーションベクトルが指す位置のcolＰＢのモーションベクトルをＡＴＭＶＰ候補として用いられる。
【０３３４】
前記ＡＴＭＶＰが適用される一例として、マージ候補構成順にチェックしながら、まず最初にavailableたspatial neighbor blockのモーションベクトル（temporal vector）を見つけた後、reference pictureでtemporal vectorが指す位置をcol-ＰＢ（ＡＴＭＶＰ candidate）に導出することができる。また、Temporalvectorを用いて、各sub-block単位でcorresponding  blockのモーションベクトルを用いられる。この時、特定のsub-blockにＭＶが存在しない場合、correspondingblockのcenterに位置したブロックのＭＶをavailableしないsub-blockのＭＶとして使用し代表ＭＶとして貯蔵する。
【０３３５】
また、前記ＡＴＭＶＰを用いるが、さらにメモリ使用量を削減できるようにする、さまざまなＡＴＭＶＰ simplification方案が提案されることもある。
【０３３６】
一実施例において、参照ブロックを見つけるための参照ピクチャ（スライスセグメントヘッダに指定された）が同じ位置ピクチャ（collocated picture）に制限されるため、メモリの使用が減少することができる。一例として、最大４つの参照ピクチャが用いられる。参照ブロックを見つけるために、時間のベクトル（temporal vector）は、空間候補の内、一つからスキャン順序に従って誘導することができる。現在の候補が同じ位置ピクチャと同じ参照ピクチャを有していると、探索プロセスが終了することができる。
【０３３７】
一実施例において、ＡＴＭＶＰ及び/またはＳＴＭＶＰサブブロックマージモード（sub-block merge modes）の修正が適用されることができる。
【０３３８】
１．シグナリングはピクチャ／スライス-レベルで追加されて、様々なサブブロックサイズがＡＴＭＶＰ/ＳＴＭＶＰベースの動き（motion）情報導出のために用いられる。
【０３３９】
２．１つの同じ位置ピクチャが用いられるようにすることにより、簡略化されたＡＴＭＶＰベースのモーション情報誘導が用いられる。
【０３４０】
一実施例において、ＡＴＭＶＰとＳＴＭＶＰモードによって導出されたモーションフィールドの粒状性（granularity）のピクチャ／スライス-レベル適応をサポートすることが提案される。具体的には、シーケンスパラメータセット（sequence parameter set：ｓｐｓ）を指称するスライスでＡＴＭＶＰとＳＴＭＶＰのモーションパラメータを導出するために用いるサブブロックサイズのデフォルト値をｓｐｓでシグナリングされることができる。付加的には、１つのフラグ（flag）は、スライスのセグメントヘッダからシグナリングされる。このフラグが０であれば、それはｓｐｓで明示されたようなデフォルトのサブブロックサイズが、現在のスライスでＡＴＭＶＰ/ＳＴＭＶＰベースの動き導出するために用いることを示す。そうでなければ（つまり、このフラグが１に設定されると）、他の構文要素（syntax element）がスライスのセグメントヘッダでシグナリングされ、スライスのために用いるＡＴＭＶＰ/ＳＴＭＶＰサブブロックサイズを明示することができる。
【０３４１】
一実施例において、 簡単なエンコーダ（encoder）の方法は、現在のピクチャのＡＴＭＶＰ/ＳＴＭＶＰサブブロックサイズを決定するために用いられる。２つのＡＴＭＶＰ/ＳＴＭＶＰサブブロックサイズの４及び８のいずれか１つが同じ時間的レイヤ（temporal layer）で最後にコーディングされたピクチャからＡＴＭＶＰ/ ＳＴＭＶＰブロックの平均サイズに基づいて選択される。先ほどコーディングされたピクチャがｋ番目時間的レイヤで、ｉ番目のピクチャでありＡＴＭＶＰとＳＴＭＶＰモードによってコーディングされたＮ個のＣＵを含むと仮定する。また、このＣＵのサイズがＳ＿０、Ｓ＿１、…、Ｓ＿（Ｎ−１）と仮定する。ＡＴＭＶＰ/ ＳＴＭＶＰ ＣＵの平均サイズは、σ^ k=（Σ_（i=0）^（N-1）S_i）/Nとして計算される。それでは、同じｋ番目時間レイヤで（ｉ ＋１）番目のピクチャをコーディングするとき、そのＡＴＭＶＰ/ＳＴＭＶＰサブブロックサイズg_（i +1）^ kは、次の数式２２に基づいて決定することができる。
【０３４２】
【数２２】
2022501912.tif 000025
【０３４３】
一実施例において、各時間的レイヤ（層）で第１ピクチャに対して、ATMVP／STMVPサブブロック７のサイズは、常に４に設定されることができる。
【０３４４】
一実施例において、ＡＴＭＶＰは、次の２つの段階を用いて誘導することができる。
【０３４５】
（１）周辺ＣＵが利用可能であり、このＣＵのMVが既存の候補リストからのMVと異なると、エンコーダ／デコーダは、空間的周辺ＣＵからモーションベクトルを先に説明した図１２に示すようにA1、Ｂ１、Ｂ０ 、and Ａ０の順に追加することができる。利用可能な空間的候補の数はＮ０で表現されることができる。
【０３４６】
（２）Ｎ０個の空間的候補からの第１ＭＶ候補は同じ位置ピクチャと各サブブロックの動きをフェッチ（fetch）する位置を（MVによる変位を追加することにより、）決定するために用いられる。 Ｎ０が０であれば、スライスヘッダでシグナリングされた同じ位置ピクチャとゼロモーション（zero motion）を有する同一の位置が、各サブブロックの動きをフェッチするために用いられる。
【０３４７】
ＡＴＭＶＰの互いに異なるＣＵの同一位置ピクチャは多数の参照ピクチャが用いると、常に同じでないこともある。現在ピクチャで互いに異なるＣＵに対して、ＡＴＭＶＰ導出の互いに異なる同一位置ピクチャを有するということは、多数の参照ピクチャのモーションフィールドがフェッチされる必要があることを意味し、これは、メモリ帯域幅の増加により、望ましくない。したがって、一実施例において、スライスヘッダでシグナリングされたＨＥＶＣのようＡＴＭＶＰ導出の同じ位置ピクチャとして同じである同じ位置ピクチャを用いる単純化されたデザインが提供される。ブロックレベルにおいて、周辺ブロックＡの参照ピクチャが、この同じ位置ピクチャと異なると、ブロックＡのＭＶは、ＨＥＶＣ時間的ＭＶスケーリング方法（ＨＥＶＣ temporal ＭＶ scaling method）を用いてスケールされ、ブロックＡのスケールされたＭＶは、ＡＴＭＶPに用いられる。
【０３４８】
同じ位置ピクチャＲcolでモーションフィールドをフェッチするために用いるモーションベクトルは、ＭＶｃｏｌと表記する。 ＭＶスケーリングによる衝撃を最小化するために、ＭＶcolを導出するために用いる空間的候補リストからのＭＶは、この回答で、次の方法で選択される。候補ＭＶの参照ピクチャが同じ位置ピクチャであれば、このＭＶは、どんなスケーリングなしでＭＶcolとして選択されて用いられる。そうでなければ、同じ位置ピクチャに最も近い参照ピクチャを有するＭＶがスケーリングを有するＭＶｃｏｌを導出するために選択される。
【０３４９】
ＨＭＶＰ（History-based Motion Vector Prediction）一般
【０３５０】
一般的に、映像圧縮技術は、２つの主要な手法として、空間的及び時間的重畳性（redundancy）の探索（exploiting）を用いる。例えば、ＨＥＶＣ（High Efficiency Video Coding、ＨＥＶＣ）とＶＶＣはすべてインターコーディング（inter coding）の基底で２つの動きの圧縮手法を用いる。一つは、マージ（merge）の動きであり、もう一つはＡＭＶＰ（advanced motion vector prediction）である。このような２つの予測モードの改善のために、様々な変更（modifications）が議論されている。これらは候補の数を増加させることから始めて、より空間的に拡張される候補の探索及び非-慣習的な（non-traditional）位置においての時間的候補を検査することなどを含む。このような２つの手法は、一次的に可能な候補としてリストを構成し、ＲＤ（rate distortion）コストを最小化し、ビットストリームから選択された候補をシグナリングする。
【０３５１】
特に、最近の映像圧縮技術においては、以前に符号化されたブロックのモーション情報を貯蔵し、貯蔵されたモーション情報を以後に符号化されるブロックの動き予測に用いるＨＭＶＰ（History-based Motion Vector Prediction）が議論される。このようなＨＭＶＰはマージリスト（またはマージ候補リスト）またはＡＭＶＰリスト（またはＡＭＶＰ候補リスト）に追加されることができる。
【０３５２】
デコーダはＨＭＶＰのためにＦＩＦＯ（first in first out）システム（または方式）で動作するＬＵＴ（look-up table）を維持する。本明細書において、ＬＵＴは、その名称に制限されず、テーブル、ＨＭＶＰテーブル、ＨＭＶＰ候補テーブル、バッファ、ＨＭＶＰバッファ、ＨＭＶＰ候補バッファ、ＨＭＶＰリスト、ＨＭＶＰ候補リストなどで指称されることができる。具体的に、非-アフィン（non-affine）ＰＵ（prediction unit）（またはＣＵ（coding unit））がデコードされるとき、そのモーション情報は、ＬＵＴに貯蔵され、デコーダは、次のＰＵのデコードを行う。このとき、貯蔵されるモーション情報は、ｘ（水平）及びｙ（垂直）方向のモーションベクトル、参照インデックス情報とモード情報などを含むことがある。
【０３５３】
デコーダは、徐々に（progressively）デコードされた非-アフィン候補のモーション情報が貯蔵されるLUTを維持することができる。ＬＵＴのサイズは、予め定義されたＳ個の候補に制限されることができる。一実施例として、ＬＵＴはスライスの開始、ＣＴＵ行の開始またはＣＴＵの開始からリセット（reset）されることができる。
【０３５４】
ＨＭＶＰはマージモードとＡＭＶＰモードの全てで適用することができる。マージリストは、Ｂ個の候補を有すことができ、ＡＭＶＰリストは、２つの候補を有すことができる。従来の映像圧縮技術において、マージリストは次の候補で構成される：ｉ）空間候補、ｉｉ）時間候補、ｉｉｉ）両方向予測（Bi-Pred）候補、ｉｖ）ゼロ動き候補（zero motion candidate）。最近、ＡＴＭＶＰ（advanced motion vector prediction）が追加候補として考慮される方法が議論される。一例として、ＡＴＭＶＰ候補は、時間候補の前にマージリストに挿入することができる。マージリストの候補は、最大のマージリストサイズに到達するまでマージリストに追加される。重複候補（duplicate candidate）はマージリストに追加されないことがある。
【０３５５】
ＡＭＶＰリストは、２つの候補が挿入されることができる。一例として、２つの候補の内一つは、使用可能な空間候補から選択され、第二候補は、時間の候補から選択されることができ、リストが満たされない場合、ゼロモーションベクトル候補が追加されることがある。
【０３５６】
ＨＭＶＰはＬＵＴで候補が投入された順番と同じようにテーブルから抜けていくＦＩＦＯに基づいて適用される。
【０３５７】
一実施例において、ＨＭＶＰがマージリストの構成に適用されるとき、ＨＭＶＰ候補は下記のようにリストの３番目の位置に挿入（または追加）することができる：
【０３５８】
１．空間候補（Spatial Candidate）
【０３５９】
２．時間候補（Temporal Candidate）
【０３６０】
３．ＬＵＴの最大S個のHMVP候補（Up to S ＨＭＶＰ Candidates for a ＬＵＴ）
【０３６１】
４．結合された両方向予測候補（Combined Bi-Pred Candidate）
【０３６２】
５．ゼロモーションベクトル候補（Zero Motion Vector Candidate）
【０３６３】
一実施例において、ＨＭＶＰがＡＭＶＰリストの構成に適用されるとき、ＨＭＶＰは以下のように時間候補以降３番目の位置に挿入することができる：
【０３６４】
１．空間的候補（Spatial Candidate）
【０３６５】
２．時間的候補（Temporal Candidate）
【０３６６】
３．最大Ｋ個のＨＭＶＰ候補（Up to Ｋ ＨＭＶＰ Candidates）
【０３６７】
４.ゼロモーションベクトル候補（ｚero Motion Vector Candidate）
【０３６８】
図３９は、本明細書の実施例に係るＨＭＶＰを貯蔵する方法を説明するためのフローチャートである。
【０３６９】
図３９を参照すると、デコーダは、現在のＰＵ（またはＣＵ）をデコードする（Ｓ３９０１）。
【０３７０】
デコーダは、現在のＰＵが非-アフィンモードでコーディングされたブロックであるかを確認する（Ｓ３９０２）。 ＨＭＶＰ候補の使用を容易にするために、もし現在のＰＵがアフィンモードでコーディングされたブロックである場合、デコーダは、現在のＰＵのモーション情報をテーブルに貯蔵しない。
【０３７１】
現在ＰＵが非-アフィンモードでコーディングされたブロックである場合、デコーダは、現在のＰＵのモーション情報をテーブルに貯蔵（または更新）する（Ｓ３９０３）。
【０３７２】
本明細書の実施例において、ＨＭＶＰテーブルは２つの方法、すなわち、i）非限定的ＦＩＦＯ（unconstrained ＦＩＦＯ）ii）限定的ＦＩＦＯ（constraint ＦＩＦＯ）の方法で更新することができる。電子では、重複した情報が存在することができるが、プルーニングプロセスは適用されない。これは、全体的なプロセスの複雑度を低減させるのに寄与する。下の図を参照して説明する。
【０３７３】
図４０は、本明細書の実施例に係る非限定的ＦＩＦＯ方式で動作するＨＭＶＰテーブルを説明するための図である。
【０３７４】
図４０を参照すると、テーブルに追加される候補は、テーブルの端（右側）に追加される。一方、ＦＩＦＯ方式に基づいてテーブルから排出される候補は、テーブルの前端（左側、最も古い候補）に位置する。
【０３７５】
もしインデックスＬ−１（つまり、端）でテーブルが予め‐定義された最大数の候補に完全に満たされてなければ、削除される候補なしに、新しい候補が追加される。一方、テーブルが既に完全に満たされた場合、つまり、テーブルの最大数を満たす場合、テーブルで最も古い前端に位置する候補が除去され、新しい候補が追加される。
【０３７６】
図４１は、本明細書の実施例に係る制限的ＦＩＦＯ方式で動作するＨＭＶＰテーブルを説明するための図である。
【０３７７】
図４１を参照すると、制限的ＦＩＦＯが用いる場合、新しい候補を追加することがどのような重複を引き起こす場合プルーニングが実行される。実施例として、重複したモーション情報を有する候補がテーブルに存在すると、テーブル内の重複した候補は、除去され、現在の候補のモーション情報が追加されることができる。
【０３７８】
実施例１
【０３７９】
ＨＭＶＰ候補に対して、多くの場合において、最近のヒストリーＭＶが空間候補（または空間近所候補）のモーション情報と重複することができる。したがって、本実施例においては、ＨＭＶＰ候補をＡＭＶＰまたはマージリストに追加するとき、候補の追加順序をＨＭＶＰ ＬＵＴインデックスの順序とは異なるように設定する方法を提案する。
【０３８０】
本明細書の実施例に係ると、ＨＭＶＰ候補を適応的に調節することにより、候補リストを効率的に構成することができ、これにより、２値化（binarization）に用いるシグナリングビンの数を減らし、コーディング効率を高めることができる。
【０３８１】
つまり、マージリストまたはＡＭＶＰリストに追加されるＨＭＶＰ候補はＨＭＶＰリスト内のインデックスによって制限されないことがある。一実施例としては、次の表２は、ＡＭＶＰまたはマージリストにＨＭＶＰ候補を追加する順序を変更する方法を例示する。
【０３８２】
【表２】
2022501912.tif 000026
【０３８３】
表２を参照すると、前述したように、最近に挿入されたＨＭＶＰ候補は、空間候補のモーション情報と同一する可能性が高いので、これを考慮してＨＭＶＰ候補の追加順序をＨＭＶＰインデックスとは無関係に、予め定義することができる。
【０３８４】
また、一実施例において、リストでｎ番目の候補から始まるＨＭＶＰ候補からマージリストまたはＡＭＶＰリストに追加することができる。次の表３は、ＡＭＶＰまたはマージリストに候補を追加する変更された順序を例示する。
【０３８５】
【表３】
2022501912.tif 000027
【０３８６】
表３を参照すると、２回目のインデックスからＨＭＶＰ候補がマージリストまたはＡＭＶＰリストに追加されることができる。
【０３８７】
一実施例において、テーブル（ＬＵＴ）内でのＨＭＶＰ候補の追加順序についての情報は、エンコーダからデコーダにシグナリングすることができる。たとえば、このような順序の情報は、上位レベルの構文（high level syntax、ＨＬＳ）を介して伝送されることができる。前記上位レベルの構文は、例えば、シーケンスパラメータセット（sequence parameter set）、ピクチャパラメータセット（picture parameter set）、スライスヘッダ（slice header）、コーディングツリーユニット（coding tree unit）、コーディングユニット（coding unit）及び/または他の適切な構文のデータヘッダで有り得る。
【０３８８】
下の表４は、本明細書で提案する方法が適用されることができる上位レベルの構文「シンタックス （syntax）」構造を例示する。
【０３８９】
【表４】
2022501912.tif 000028
【０３９０】
表４を参照すると、set_HMVP_order_flagが１であることはset_ＨＭＶＰ_order_flagがＣＶＳから非−ＩＤＲ（non-IDR）ピクチャ内スライスヘッダで存在することを指示する。set_ＨＭＶＰ_order_flagが0であることはset_ＨＭＶＰ_order_flagがスライスヘッダに存在せず、ＶＣＳで適応的ＨＭＶＰが使用されていないことを指示する。
【０３９１】
下の表５は、本明細書で提案する方法が適用されることができるスライスセグメントヘッダ構文（シンタックス）構造を例示する。
【０３９２】
【表５】
2022501912.tif 000029
【０３９３】
表５を参照すると、slice_ＨＭＶＰ_idxは用いる候補の順序のインデックスを意味する。たとえば、slice_ＨＭＶＰ_idxが０であることは０、１、２、３などの基本なＨＭＶＰ順序を表現することができる。類似に、１のインデックス値は３、２、１、０のＨＭＶＰ順序を表現するために用いられる。
【０３９４】
実施例２
【０３９５】
本明細書の実施例において、ＨＭＶＰ ＬＵＴに加え、ロングタームリスト（long term list）をモーション例予測のために用いる方法を提案する。これに通じて、維持されるＨＭＶＰ候補の数を増加させることができる。実施例として、２−ＨＭＶＰテーブルを考慮することができ、ここで、一つは一般ＨＭＶＰ候補を保管し、他の一つは、維持がさらに必要な候補をさらに保管するロングターム（long term）リストとして用いられる。
【０３９６】
次は、ロングタームリスト（またはロングタームＨＭＶＰリスト）を初期化し、構成する方法を例示する。
【０３９７】
- ＣＴＵ行の最初のＣＴＵをデコードした後、以後のＣＴＵの１つまたはそれ以上のヒストリーＭＶがロングタームＨＭＶＰ ＬＵＴに追加されることができる。このようなロングタームＨＭＶＰ ＬＵＴは、次のＣＴＵ行まで用いられるか更新されないことがある。
【０３９８】
- 次のＣＴＵの行の開始において、ロングタームＨＭＶＰ ＬＵＴが通常のＨＭＶＰ ＬＵＴを初期化するために用いられる。その理由は、ＣＴＵの行の開始からＣＴＵのＨＭＶＰ候補が以前のＣＴU行の終わりでのヒストリーＭＶよりさらに相互に関連（co-relate）することができるからである。
【０３９９】
− 前記プロセスは、繰り返すことができる。
【０４００】
図４２は、本明細書の実施例に係るＨＭＶＰ ＬＵＴとロングタームＨＭＶＰ ＬＵＴを例示する図である。
【０４０１】
図４２を参照すると、２つのＬＵＴがある。一つはＨＭＶＰ ＬＵＴ（または一般ＨＭＶＰ ＬＵＴ、ショートタームＨＭＶＰ ＬＵＴ）であり、他の一つは、ロングタームＨＭＶＰ ＬＵＴである。 ＨＭＶＰ候補はマージＡＭＶＰリストの両方に追加されたとき、図４２に示すようにＨＭＶＰ ＬＵＴまたはロングタームＬＵＴから追加することができる。
【０４０２】
前述したロングタームＬＵＴの使用は、新しい構文エレメントを導入することにより、上位レベル シンタックス （syntax：構文）を通じて指示することができる。たとえば、構文エレメントは、シーケンスパラメータセット（sequence parameter set）、ピクチャパラメータセット（picture parameter set）、スライスヘッダ（slice header）、コーディングツリーユニット（coding tree unit）、コーディングユニット（coding unit）、及び/または他の適切な構文データのヘッダに存在することができる。
【０４０３】
実施例３
【０４０４】
本明細書の実施例において、ＨＭＶＰ候補がＨＭＶＰ ＬＵＴに追加することにおいて、デコードするための柔軟性（flexibility）を考慮する方法を提案する。エンコーダ／デコーダは、ＰＵ（またはＣＵ）の１つまたはそれ以上の特性の決定（decision）を考慮することができる。
【０４０５】
実施例として、エンコーダ／デコーダはＨＭＶＰ候補をテーブルに追加するに当たり、次のような事項を考慮することができる。エンコーダ／デコーダは、ＰＵのモード（例えば、マージモード、アフィンモード、ＡＭＶＰモードなど）及び/またはブロックのサイズのような特性を個別に、または組み合わせて考慮して、候補として追加することができる。一実施例において、加えて、他の特性が考慮されることもある。たとえば、ＨＭＶＰ ＬＵＴの更新を考慮するマージタイプ（例えば、空間候補または時間候補）、サブＰＵかどうかなどが候補選択基準として考慮することができる。前述した選択基準は、以前のヒストリー（または以前ＨＭＶＰ）との重複を減らすために決定することができる。たとえば、ＰＵがマージモードでコーディングされマージタイプが空間マージの場合、デコーダは、そのＰＵのモーション情報をＨＭＶＰ ＬＵＴに更新しないことがある。
【０４０６】
図４３は、本明細書の実施例に係るＨＭＶＰ ＬＵＴを更新する方法の一例を示す図である。
【０４０７】
図４３を参照すると、エンコーダ／デコーダは、コーディングされた候補のモーション情報を獲得する（Ｓ４３０１）。
【０４０８】
エンコーダ／デコーダは、 前記候補のモーション情報をＬＵＴに更新するかどうかを予め定義された決定基準に基づいて評価する（Ｓ４３０２）。前記決定基準は、前記候補のモード（例えば、マージモード、アフィンモード、ＡＭＶＰモード等）、前記候補のブロックサイズ及び/または前記候補のマージタイプの内、少なくとも一つの特性を含むことができる。
【０４０９】
エンコーダ／デコーダは、前記決定基準に基づいてＬＵＴを更新する（Ｓ４３０３）。つまり、前記候補が予め定義された決定基準を満たす場合、エンコーダ／デコーダは、前記候補のモーション情報をＬＵＴに追加することができる。
【０４１０】
実施例４
【０４１１】
本明細書の実施例において、ＨＭＶＰ候補をマージリスト（またはＡＭＶＰリスト）に追加するための冗長性チェックの制限を提案する。冗長性チェックの制限は、さまざまないくつかの方法で実現されることができる。
【０４１２】
一実施例において、エンコーダ／デコーダは、マージリストで最初の特定の個数の候補のプルーニングチェックの数を制限することができる。エンコーダ／デコーダは、マージリストの最初の候補から、特定の個数目の候補までの候補のプルーニングチェックの数を制限することができる。たとえば、エンコーダ／デコーダは、マージリストの最初の候補から、特定の数の候補までの候補のプルーニングプロセスを実行することができ、この時、プルーニングチェックの対象となるＨＭＶＰ候補は、予め定義された個数に制限ことができる。
【０４１３】
また、一実施例において、エンコーダ／デコーダは、プルーニングチェックをマージリスト内マージ候補の特定のタイプに対して実行することで、プルーニングチェックを制限することができる。たとえば、エンコーダ／デコーダはＨＭＶＰ候補を追加するに当たり、マージリストの空間候補に対してのみプルーニングチェックを実行することができる。または、例えば、エンコーダ／デコーダはＨＭＶＰ候補を追加するに当たり、マージリストの空間候補の一部に対してのみプルーニングチェックを実行することができる。前記空間候補の一部は、予め定義することができる。例えば、前記予め定義される空間候補の一部は、左側隣接空間候補及び/または上側隣接空間候補の内、少なくとも一つで有り得る。本明細書の実施例が、これに限定されるものではなく、他のタイプが組み合わされてプルーニングチェックの対象に制限されることができる。
【０４１４】
図４４は、本明細書の実施例に係るプルーニングチェックの対象となるＨＭＶＰ候補の数を制限する方法を例示する図である。
【０４１５】
図４４を参照すると、本明細書の実施例において、プルーニングチェックの対象となるＨＭＶＰ候補の数は、Ｍ回に制限されることができる。
【０４１６】
エンコーダ／デコーダはＨＭＶＰ候補を用いて、マージリストを構成することにおいて、ＨＭＶＰ ＬＵＴ内、最初のＭ個の候補と前記マージリストのマージ候補間のモーション情報の冗長性可否をチェックすることができる。
【０４１７】
または、エンコーダ／デコーダは、現在デコードされたＰＵのモーション情報をＨＭＶＰ ＬＵＴに追加するに当たり、ＨＭＶＰ ＬＵＴ内の最初のＭ個の候補と前記デコードされたＰＵのモーション情報間の冗長性可否をチェックすることができる。
【０４１８】
図４５は、本明細書の実施例に係るプルーニングチェックを実行する方法の一例を示す図である。
【０４１９】
図４５を参照すると、エンコーダ／デコーダは、デコードされた候補のモーション情報を獲得し、プルーニングチェックの数を決定（または解読）する（Ｓ４５０１、Ｓ４５０２）。
【０４２０】
エンコーダ／デコーダは、決定されたプルーニングチェックの数に基づいてプルーニングチェックを実行する（Ｓ４５０３）。
【０４２１】
一実施例において、先の表４及び表５と同様の方法でプルーニングチェックに関連した情報が上位レベルのシンタックス（構文）を通じてシグナリングすることができる。このとき、エンコーダからデコーダに伝送される構文エレメントは、実施される必要のあるプルーニングチェックの数を指示するためのいずれのヘッダに含まれることができる。前記上位レベルシンタックスは、例えば、シーケンスパラメータセット（sequence parameter set）、ピクチャパラメータセット（picture parameter set）、スライスヘッダ（slice header）、符号化ツリーユニット（coding tree unit）、コーディングユニット（coding unit）及び/または他の適切なシンタックス（syntax）データヘッダで有り得る。
【０４２２】
実施例５
【０４２３】
本明細書の１つの実施例においては、ＨＭＶＰ候補を選択する効率的な方法を提案する。ヒストリーモーションベクトル候補（つまり、ＨＭＶＰ候補）をマージリスト（またはＡＭＶＰリスト）に挿入するとき、ＨＭＶＰ候補が既存のマージリストと重複しないようにするために、プルーニングチェックが実行されることができる。
【０４２４】
ＭサイズのマージリストとＮサイズのヒストリーＬＵＴ間、全体冗長チェックを実行するには、（Ｍ−１）ｘＮ回のチェックを必要とする。したがって、本明細書の実施例において、ＨＭＶＰ候補の数は、既存の並み号併合候補に依存することができる。たとえば、ＨＭＶＰ候補の数は、マージリストに存在する空間候補の数に依存することができる。または、例えば、ＨＭＶＰ候補の数は、マージリストに存在する空間候補と時間候補の数に依存することができる。
【０４２５】
もし、マージリストに存在するマージ候補がさらに存在する場合、マージリストのマージ候補の数及び/またはＨＶＭＰの数に基づいた、特定の基準（またはルール）に基づいてプルーニングチェックを実行するＨＭＶＰ候補の数が減少することがことができる。これを通じて、最悪のケースでの重複チェックの数が減少することができる。
【０４２６】
例えば、サイズ（または長さ）が６であるマージリストの場合、マージリストがいっぱいになってないとマージリストは、最大５つの空間または他のマージ候補を含むことができる。 ６つのＨＭＶＰリストからＨＭＶＰ候補を挿入するには、最悪の場合、３０個の重複チェックが必要になることができる。
【０４２７】
一実施例において、チェックするＨＭＶＰ数の制限に関連する例は次の数式２３及び表６のとおりである。
【０４２８】
【数２３】
2022501912.tif 000030
【０４２９】
【表６】
2022501912.tif 000031
【０４３０】
表６を参照すると、プルーニングチェックの対象となるＨＭＶＰの数を２個に制限することにより、最悪のケースでＨＭＶＰ追加のための重複チェックの数は、３０回代わり12回に減少することができる。
【０４３１】
実施例６
【０４３２】
本明細書の一実施例において、ヒストリーベースの空間時間モーションベクトル予測（history-based spatial temporal motion vector prediction、H-STMVP）を用いてマージリストを構成する方法を提案する。 H-STMVPは２つのヒストリーベースのスペースＭＶＰとＴＭＶＰの平均で誘導される候補を示す。前記２つの空間HMVPはHMVPバッファから獲得することができ、前記TMVPは、現在マージリストから獲得することができる。ここで、前記空間候補は、現在ブロック以前のデコード順で最後の２つのコーディングされたMVから獲得された候補で有り得る。
【０４３３】
たとえば、最後のコーディングされたＭＶ（本明細書でＭＶ＿Ｌと称する）、最後から2番目でコーディングされたＭＶ（本明細書でMV_（L-1）と称する）とＭＶ＿ＴＭＶＰはマージリストに挿入されるＨ−ＳＴＭＶＰ候補を生成するために用いられる。
【０４３４】
前述した３つの候補のすべてを用いられる場合、マージリストに追加されるＭＶは、次のの式２４によって計算することができる。
【０４３５】
【数２４】
2022501912.tif 000032
【０４３６】
一実施例として、もし、前述した３つの候補の内、２つだけが利用可能であれば、２つの候補に対してのみ平均化されてＨ−ＳＴＭＶＰが生成されることができる。同様に、一つの候補のみ使用可能であると、前記１つの候補のみ用いられる。使用可能な候補がない場合はＨ−ＳＴＭＶＰはマージリストを構成するために使用されない。
【０４３７】
本明細書の一実施例において、前述した数式２４以外に、他の方法を用いて、Ｈ−ＳＴＭＶＰ候補のモーションベクトルを獲得する方法を提案する。
【０４３８】
例えば、３つ以上の候補を一度に平均化する代わりに、空間候補を先に平均化した後、この結果を用いて、２つの候補を再平均化することが計算的に、さらに簡単で有り得る。これに対する例は、次の数式と同じである。
【０４３９】
【数２５】
2022501912.tif 000033
【０４４０】
または、次のように平均値を獲得することもできる。
【０４４１】
【数２６】
2022501912.tif 000034
【０４４２】
【数２７】
2022501912.tif 000035
【０４４３】
【数２８】
2022501912.tif 000036
【０４４４】
エンコーダ／デコーダは、数式２５〜２７のように、まず、２つの候補を平均し、３回目の候補を用いて、結果の値を最終的に平均化することができる。またはエンコーダ／デコーダは、数式２８のように、２だけシフト演算を適用することにより、候補、すなわちＭＶ＿Ｌに、さらに高い重要度／重みを付与することができる。前述した数式２５〜２８を用いて、シフト演算だけで除算なしで平均値を誘導することができる。
【０４４５】
実施例７
【０４４６】
本明細書の一実施例において、Ｈ−ＳＴＭＶＰを誘導することにおいて、２つのヒストリーベースの空間候補の代わりに、任意の個数（ｎ）の空間候補を用いる方法を提案する。これらのｎ個の候補は、必ずしも連続したデコード順序である必要はない。任意または一部のルールに基づいて選択することができる。
【０４４７】
したがって、前述した数式２４は、次の数式２９のように、さらに一般的な方法で表現することができる。
【０４４８】
【数２９】
2022501912.tif 000037
【０４４９】
他の一実施例において、もし、５つの空間候補を用いる場合を仮定すると、時間の候補に適用される重みを向上させることにより、Ｈ−ＳＴＭＶＰ候補を生成するために増加された空間候補の影響を最小化し、空間候補と時間候補を適切に反映することができる。
【０４５０】
したがって、そのためには、次の数式３０を用いて空間候補を一緒に平均した後、その結果を用いてＭＶ＿ＴＭＶＰを平均化することにより、前述した目的を達成することができる。
【０４５１】
【数３０】
2022501912.tif 000038
【０４５２】
実施例８
【０４５３】
本明細書の一実施例において、Ｈ−ＳＴＭＶＰを誘導するために用いるモーションベクトル候補に重み（または加重因子）を追加する方法を提案する。この時、前記重みは、経験的に決定することもあり、固定された参照フレームまでの時間距離を考慮して決定されることもあり、またはヒストリーテーブルでの位置を考慮することにより、決定されることもできる。一例として、新しい候補は、以前の候補よりさらに多くの重みを有することができる。
【０４５４】
すなわち、本実施例において、前述した数式２４は、次の数式３１のように表現することができる。
【０４５５】
【数３１】
2022501912.tif 000039
【０４５６】
このとき、重みは同じ値を有することができ、不均等に分散された値を有することができる。
【０４５７】
実施例９
【０４５８】
本明細書の一実施例において、Ｈ−ＳＴＭＶＰ候補を誘導するために用いるモーションベクトルを、単一の参照ピクチャとしてのスケーリングする方法を提案する。
【０４５９】
図４６は、本明細書の一実施例に係る、互いに異なる参照ピクチャを参照するモーションベクトルを用いて、Ｈ−ＳＴＭＶＰ候補を誘導する方法を説明するための図である。
【０４６０】
図４６を参照すると、ＭＶ＿Ｌ、ＭＶ＿Ｌ−１とＭＶ＿ＴＭＶＰ候補は、それぞれ互いに異なる参照ピクチャを参照（または指示）する場合を仮定する。すなわち、図４６は、Ｈ−ＳＴＭＶＰ候補を生成するために使用された各候補が他の参照インデックスを有することができ、結果的に他の参照フレームを有することができることを示す。
【０４６１】
近接参照フレームがあるフレームが本質的にＨ−ＳＴＭＶＰのモーションベクトルにさらに大きな影響を与えることがあるから、前述した数式２４乃至３１の平均を不均等な結果値にすることができる。したがって、均等な比較と反映のために、すべてのモーションベクトルを、単一の参照フレームにスケーリングする方法を提案する。
【０４６２】
このとき、エンコーダからＲＤ最適化の一部として実行されてどのような単一のフレームが参照フレームとして用いるのに最適なのかを決定することができる。実施例として、選択された参照フレームは、スライスヘッダに存在するＴＭＶＰ配列のインデックスと類似なスライスヘッダでシグナリングされることができる。例えば、固定されたルールを用いて用いる参照フレームを生成することが可能で有り得る。または、例えば、Ｌ０からの最初の利用可能な基準フレームにスケーリングされるか、現在のピクチャ順カウントでスケーリングすることができる。
【０４６３】
一実施例において、前述した目的を達成するために、シーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダ、コーディングされたツリーユニット及び/または他のデータのヘッダの一部であることができる上位レベルのシンタックス（ＨＬＳ）を用いて、単一の固定されたピクチャについての情報をエンコーダがデコーダに伝送することができる。たとえば、次の表７及び/または表８のような上位レベルの構文構造が定義されることができる。
【０４６４】
【表７】
2022501912.tif 000040
【０４６５】
表７を参照すると、set_HSTMVP_ref_pic_flagが１と等しい場合set_HSTMVP_idxがＣＶＳから非ＩＤＲピクチャのスライスヘッダに存在することを示す。set_HSTMVP_ref_pic_flagが０であれば、set_HSTMVP_idxがスライスヘッダに存在しないように示す。
【０４６６】
【表８】
2022501912.tif 000041
【０４６７】
表８を参照するとslice_ＨＭＶＰ_idxは参照インデックスを指定する。一実施例として、参照インデックスは、リストＬ０に対し選択されることができる。
【０４６８】
以上で説明した本明細書の実施例は、説明の便宜上、それぞれの実施例を区分して説明したが、本発明がこれに制限されるものではない。つまり、先に説明した実施例１〜９で説明した実施例は、それぞれ独立して実行されることもあり、１つ以上の複数の実施例が組み合わされて実行されることもある。
【０４６９】
図４７は、本発明が適用される実施例に係るインター予測に基づいて、ビデオ信号を処理する方法を例示するフローチャートである。
【０４７０】
図４７を参照すると、説明の便宜のためにデコーダを中心に説明するが、本発明がこれに限定されるものではなく、本明細書の実施例に係るインター予測ベースのビデオ信号の処理方法は、エンコーダとデコーダで同じように実行することができる。
【０４７１】
デコーダは、現在ブロックの空間マージ候補と時間マージ候補を用いて前記現在のブロックの第１マージ候補リストを構成する（Ｓ４７０１）。
【０４７２】
デコーダは、前記現在のブロックの以前にコーディングされたブロックのモーション情報を示すヒストリーベースのマージ候補を前記第１マージ候補リストに追加することにより、第２マージ候補リストを構成する（Ｓ４７０２）。
【０４７３】
デコーダは、前記第２マージ候補リスト内で、前記現在のブロックに適用されるマージ候補を指示するマージインデックスを獲得する（Ｓ４７０３）。
【０４７４】
デコーダは、前記マージインデックスによって指示されるマージ候補のモーション情報を用いて前記現在のブロックの予測ブロックを生成する（Ｓ４７０４）。
【０４７５】
前述したように、前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに含まれたマージ候補の内から、予め定義されたマージ候補と重複しないモーション情報を有する場合、前記第１マージ候補リストに追加されることができる。
【０４７６】
前述したように、前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに含まれたマージ候補の内から、予め定義された特定の個数のマージ候補と重複しないモーション情報を有する場合、前記第１マージ候補リストに追加されることができる。
【０４７７】
前述したように、前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに含まれる特定の空間マージ候補と重複しないモーション情報を有する場合、前記第１マージ候補リストに追加されることができる。
【０４７８】
前述したように、前記ヒストリーベースのマージ候補は、前記ヒストリーベースマージ候補を貯蔵するヒストリーベースのバッファ内で予め定義された個数の候補から誘導することができる。例えば、前記予め定義された個数は、二つで有り得る。
【０４７９】
前述したように、前記第２マージ候補リストを構成する段階は、ヒストリーベースの空間‐時間マージ候補を追加する段階をさらに含み、前記ヒストリーベースの空間時間候補は、２つの前記ヒストリーベースのマージ候補と前記時間マージ候補を用いて誘導することができる。
【０４８０】
前述したように、前記ヒストリーベースの空間時間候補のモーションベクトルは、前記２つのヒストリーベースのマージ候補のモーションベクトルを平均した値と、前記時間マージ候補のモーションベクトルを平均した値に誘導することができる。
【０４８１】
図４８は、本明細書の実施例に係る映像信号を処理するための装置のブロック図の例を示す。図４８の映像信号処理装置は、図１のエンコード装置１００または図２のデコード装置２００に対応することができる。
【０４８２】
映像信号を処理する映像処理装置４８００は、映像信号を貯蔵するメモリ４８２０と、前記メモリと結合されながら、映像信号を処理するプロセッサ４８１０を含む。
【０４８３】
本明細書の実施形態に係るプロセッサ４８１０は、映像信号の処理のための少なくとも一つのプロセッシング回路で構成されることができ、映像信号をエンコードまたはデコードするためのコマンドを実行することにより、映像信号を処理することができる。つまり、プロセッサ４８１０は、前述したエンコードまたはデコード方法を実行することにより、元の映像データをエンコードしたり、エンコードされた映像信号をデコードすることができる。
【０４８４】
図４９は、本発明が適用されるビデオコーディングシステムを示す。
【０４８５】
ビデオコーディングシステムは、ソースデバイス（source device）と受信デバイス（receiving device）を含むことができる。ソースデバイスは、エンコードされたビデオ／イメージ情報またはデータを、ファイルまたはストリーミング形態でデジタル貯蔵媒体またはネットワークを介して受信デバイスに伝達することができる。
【０４８６】
前記ソースデバイスは、ビデオソース（videosource）、エンコード装置（encoding apparatus）、伝送部（transmitter）を含むことができる。前記受信デバイスは、受信部（receiver）、デコード装置（decodingapparatus）とレンダラー（renderer）を含むことができる。前記エンコード装置は、ビデオ／映像エンコード装置と呼ばれることができ、前記デコード装置は、ビデオ／映像デコード装置と呼ばれることができる。送信機は、エンコード装置に含まれることができる。受信機は、デコード装置に含まれることができる。レンダラーは、ディスプレイ部を含むこともでき、ディスプレイ部は別個のデバイスまたは外部のコンポーネントで構成されることもある。
【０４８７】
ビデオソースはビデオ／映像のキャプチャ、合成または生成過程などを通じてビデオ／映像を獲得することができる。ビデオソースはビデオ／映像キャプチャデバイス及び/またはビデオ／映像生成デバイスを含むことができる。ビデオ／映像キャプチャーデバイスは、例えば、１つ以上のカメラ、以前にキャプチャされたビデオ／映像を含むビデオ／映像アーカイブなどを含むことができる。ビデオ／映像生成デバイスは、例えばコンピュータ、タブレット及びスマートフォンなどを含むことができ、（電子的に）ビデオ／映像を生成することができる。たとえば、コンピュータなどを通じて、仮想のビデオ／映像が生成されることができ、この場合、関連するデータが生成される過程で、ビデオ／映像キャプチャプロセスが代えることができる。
【０４８８】
エンコード装置は、入力ビデオ／映像をエンコードすることができる。エンコード装置は、圧縮とコーディング効率のために予測、変換、量子化などの一連の手順を実行することができる。エンコードされたデータ（エンコードされたビデオ／イメージ情報）は、ビットストリーム（bitstream）の形で出力されることができる。
【０４８９】
伝送部はビットストリームの形で出力されたエンコードされたビデオ／イメージ情報またはデータを、ファイルまたはストリーミング形態でデジタル貯蔵媒体またはネットワークを介して受信デバイスの受信部に伝達することができる。デジタル貯蔵媒体は、ＵＳＢ、ＳＤ、ＣＤ、ＤＶＤ、Ｂｌｕ−ｒａｙ、ＨＤＤ、ＳＳＤなど、様々な貯蔵媒体を含むことができる。伝送部は、予め決まれたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送／通信ネットワークを介した伝送のための要素を含むことができる。受信部は、前記ビットストリームを抽出してデコード装置に伝達することができる。
【０４９０】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測などの一連の手順を実行して、ビデオ／映像をデコードすることができる。
【０４９１】
レンダラーは、デコードされたビデオ／映像をレンダリングすることができる。レンダリングされたビデオ／映像は、ディスプレイ部を介して表示されることができる。
【０４９２】
図５０は、本発明が適用される実施例として、コンテンツのストリーミングシステム構造図を示す。
【０４９３】
図５０を参照すると、本発明が適用されるコンテンツのストリーミングシステムは、大きくエンコードサーバ、ストリーミングサーバ、Webサーバ、メディアストレージ、ユーザデバイス及びマルチメディア入力デバイスを含むことができる。
【０４９４】
前記エンコードサーバは、スマートフォン、カメラ、ビデオカメラなどのマルチメディア入力デバイスから入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに伝送する役割をする。他の例として、スマートフォン、カメラ、ビデオカメラなどのようなマルチメディア入力デバイスがビットストリームを直接生成する場合、前記エンコードサーバは省略することができる。
【０４９５】
前記ビットストリームは、本発明が適用されるエンコード方法またはビットストリームを生成する方法によって生成されることができ、前記ストリーミングサーバは、前記ビットストリームを伝送または受信する過程で一時的に前記ビットストリームを貯蔵することができる。
【０４９６】
前記ストリーミングサーバは、Ｗｅｂサーバを介して、ユーザの要請に基づいて、マルチメディアデータをユーザ装置に伝送し、前記Ｗｅｂサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体の役割をする。ユーザが前記Ｗｅｂサーバに所望するサービスを要請すると、前記Ｗｅｂサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザに、マルチメディアデータを伝送する。この際、前記コンテンツのストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツのストリーミングシステム内の各デバイス間のコマンド／応答を制御する役割をする。
【０４９７】
前記ストリーミングサーバは、メディアストレージ及び／またはエンコードサーバからコンテンツを受信することができる。例えば、前記エンコードサーバからコンテンツを受信することになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間貯蔵することができる。
【０４９８】
前記ユーザ装置の例としては、携帯電話、スマートフォン（smart phone）、ノートパソコン（laptop computer）、デジタル放送用端末機、ＰＤＡ（personal digital assistants）、ＰＭＰ（portable multimedia player）、ナビゲーション、スレートＰＣ（slate ＰＣ）、タブレットＰＣ（tablet ＰＣ）、ウルトラブック（ultrabook）、ウェアラブルデバイス（wearable device、例えば、ウォッチ型端末（smartwatch）、グラス型端末（smart glass）、ＨＭＤ（head mounted display））、デジタルＴＶ、デスクトップコンピュータ、デジタルサイネージなどがことができる。
【０４９９】
前記コンテンツのストリーミングシステム内の各サーバは、分散サーバで運営されることができ、この場合、各サーバで受信するデータは、分散処理することができる。
【０５００】
前記記述されたように、本発明で説明した実施例は、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて実行されることができる。例えば、各図面で示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて実行されることができる。
【０５０１】
また、本発明が適用されるデコーダとエンコーダは、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、貯蔵媒体、ビデオカメラ、ビデオオンデマンド（ＶｏＤ）サービス提供装置、ＯＴＴビデオ（Over the top video）装置、インターネットストリーミングサービス提供装置、３次元（３Ｄ）ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために用いられる。たとえば、ＯＴＴビデオ（Over the top video）装置では、ゲーム機、ブルーレイプレーヤー、インターネット接続ＴＶ、ホームシアターシステム、スマートフォン、タブレットＰＣ、ＤＶＲ（Digital Video Recoder）などを含むことができる。
【０５０２】
また、本発明が適用される処理方法は、コンピュータで実行されるプログラムの形で生産されることができ、コンピュータが読み取り可能な記録媒体に貯蔵することができる。本発明に係るデータ構造を有するマルチメディアデータもまた、コンピュータが読み出し可能な記録媒体に貯蔵することができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読み取り可能なデータが貯蔵されるあらゆる種類の貯蔵装置及び分散貯蔵装置を含む。前記コンピュータが読み取りできる記録媒体は、例えば、ブルーレイディスク（ＢＤ）、ユニバーサルシリアルバス（ＵＳＢ）、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク、及び光学データ貯蔵装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波（例えば、インターネットを通じた伝送）の形で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に貯蔵したり、有無線通信ネットワークを介して伝送されることができる。
【０５０３】
また、本発明の 実施例は、プログラムコードによるコンピュータプログラム製品として実現されることができ、前記プログラムコードは、本発明の実施例により、コンピュータで実行することができる。前記プログラムコードは、コンピュータによって読み取り可能なキャリア上に貯蔵することができる。
【０５０４】
以上で説明した実施例は、本発明の構成要素と特徴が所定の形態で結合されたものである。各構成要素または特徴は、別の明示的な言及がない限り選択的なものと考慮されるべきである。各構成要素または特徴は、他の構成要素や特徴と結合されない形態で実施されることができる。また、一部の構成要素及び/または特徴を結合して、本発明の実施例を構成することも可能である。本発明の実施例で説明される動作の順序は変更されることができる。どの実施例の一部の構成や特徴は、他の実施例に含まれることができ、または他の実施例に対応する構成または特徴と交替されることができる。特許請求の範囲で明示的な引用関係がない請求項を結合して実施例を構成したり、出願後の補正により新しい請求項として含めることができることは自明である。
【０５０５】
本発明に係る実施例は、様々な手段、例えば、ハードウェア、ファームウェア（firmware）、ソフトウェアまたはそれらの組み合わせなどにより実現されることができる。ハードウェアによる実現の場合、本発明の一実施例は、一つまたはそれ以上の ＡＳＩＣｓ(application specific integrated circuits), ＤＳＰｓ(digital signal processors), ＤＳＰＤｓ(digital signal processing devices), ＰＬＤｓ(programmable logic devices), ＦＰＧＡｓ(field programmable gate arrays), プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサなどにより実現されることができる。
【０５０６】
ファームウェアやソフトウェアによる実現の場合、本発明の一実施例は、以上で説明した機能または動作を実行するモジュール、プロシージャ、関数などの形態で実現されることができる。ソフトウェアコードは、メモリに貯蔵されてプロセッサによって駆動されることができる。前記メモリは、前記プロセッサの内部または外部に位置して、既に公知された多様な手段により、前記プロセッサとデータを送受信することができる。
【０５０７】
本発明は、本発明の必須的特徴を逸脱しない範囲で他の特定の形態で具体化されることができるのは、当業者に自明である。したがって、前述した詳細な説明は、すべての面で制限的に解釈してはならなく、例示的なものと考慮されるべきである。本発明の範囲は、添付された請求項の合理的解釈によって決定されるべきで、本発明の等価的範囲内でのすべての変更は、本発明の範囲に含まれる。
【産業上の利用可能性】
【０５０８】
以上、前述した本発明の好ましい実施例は、例示の目的のために開示されたもので、当業者であれば、以下、添付された特許請求の範囲に開示された本発明の技術的思想とその技術的範囲内で、様々な他の実施例を改良、変更、代替または付加などが可能である。
【図１】
2022501912.tif 000042
【図２】
2022501912.tif 000043
【図３】
2022501912.tif 000044
【図４】
2022501912.tif 000045
【図５】
2022501912.tif 000046
【図６】
2022501912.tif 000047
【図７】
2022501912.tif 000048
【図８】
2022501912.tif 000049
【図９】
2022501912.tif 000050
【図１０】
2022501912.tif 000051
【図１１】
2022501912.tif 000052
【図１２】
2022501912.tif 000053
【図１３】
2022501912.tif 000054
【図１４】
2022501912.tif 000055
【図１５】
2022501912.tif 000056
【図１６】
2022501912.tif 000057
【図１７】
2022501912.tif 000058
【図１８】
2022501912.tif 000059
【図１９】
2022501912.tif 000060
【図２０（ａ）】
2022501912.tif 000061
【図２０（ｂ）】
2022501912.tif 000062
【図２１】
2022501912.tif 000063
【図２２】
2022501912.tif 000064
【図２３】
2022501912.tif 000065
【図２４】
2022501912.tif 000066
【図２５】
2022501912.tif 000067
【図２６】
2022501912.tif 000068
【図２７】
2022501912.tif 000069
【図２８】
2022501912.tif 000070
【図２９】
2022501912.tif 000071
【図３０】
2022501912.tif 000072
【図３１】
2022501912.tif 000073
【図３２】
2022501912.tif 000074
【図３３】
2022501912.tif 000075
【図３４】
2022501912.tif 000076
【図３５】
2022501912.tif 000077
【図３６】
2022501912.tif 000078
【図３７（ａ）】
2022501912.tif 000079
【図３７（ｂ）】
2022501912.tif 000080
【図３７（ｃ）】
2022501912.tif 000081
【図３７（ｄ）】
2022501912.tif 000082
【図３８（ａ）】
2022501912.tif 000083
【図３８（ｂ）】
2022501912.tif 000084
【図３８（ｃ）】
2022501912.tif 000085
【図３８（ｄ）】
2022501912.tif 000086
【図３９】
2022501912.tif 000087
【図４０】
2022501912.tif 000088
【図４１】
2022501912.tif 000089
【図４２】
2022501912.tif 000090
【図４３】
2022501912.tif 000091
【図４４】
2022501912.tif 000092
【図４５】
2022501912.tif 000093
【図４６】
2022501912.tif 000094
【図４７】
2022501912.tif 000095
【図４８】
2022501912.tif 000096
【図４９】
2022501912.tif 000097
【図５０】
2022501912.tif 000098
【手続補正書】
【提出日】令和3年4月7日(2021.4.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
インター予測に基づいて、ビデオ信号を処理する方法において、
現在のブロックの空間マージ候補と時間マージ候補に基づいて、前記現在のブロックの第１マージ候補リストを構成する段階と、
前記現在のブロックの前に符号化されたブロックのモーション情報を示すヒストリーベースのマージ候補を前記第１マージ候補リストに追加することにより、第２マージ候補リストを構成する段階と、
前記第２マージ候補リスト内で、前記現在のブロックに適用されるマージ候補を指示するマージインデックスを獲得する段階と、
前記マージインデックスによって指示されるマージ候補のモーション情報に基づいて、前記現在のブロックの予測ブロックを生成する段階を含み、
前記ヒストリーベースのマージ候補が、前記第１マージ候補リストに含まれたマージ候補の中から、予め定義されたマージ候補のモーション情報と重複しないモーション情報を有することに基づいて、前記ヒストリーベースのマージ候補は前記第１マージ候補リストに追加される、ビデオ信号処理方法。
【請求項２】
前記ヒストリーベースのマージ候補が、前記第１マージ候補リストに含まれる前記マージ候補の中の、予め定義された特定の数のマージ候補のモーション情報と重複しないモーション情報を有する場合、前記ヒストリーベースのマージ候補は前記第１マージ候補リストに追加される、請求項１に記載のビデオ信号処理方法。
【請求項３】
前記ヒストリーベースのマージ候補が、前記第１マージ候補リストに含まれた特定の空間マージ候補のモーション情報と重複しないモーション情報を有する場合、前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに追加される、請求項１に記載のビデオ信号処理方法。
【請求項４】
前記ヒストリーベースのマージ候補は、前記ヒストリーベースのマージ候補を貯蔵するヒストリーベースのバッファ内で予め定義された数の候補から導出される、請求項１に記載のビデオ信号処理方法。
【請求項５】
前記第２マージ候補リストを構成する段階は、
ヒストリーベースの空間-時間マージ候補を追加する段階をさらに含み、
前記ヒストリーベースの空間-時間候補は、２つの前記ヒストリーベースのマージ候補と前記時間マージ候補を用いて導出される、請求項１に記載のビデオ信号処理方法。
【請求項６】
前記ヒストリーベースの空間-時間候補のモーションベクトルは、前記２つのヒストリーベースのマージ候補のモーションベクトルの平均値と、前記時間マージ候補のモーションベクトルの平均値として導出される、請求項５に記載のビデオ信号処理方法。
【請求項７】
前記第２マージ候補リストを構成する段階は、
前記ヒストリーベースのマージ候補を前記第１マージ候補リストに追加するかを決定する段階と、
前記ヒストリーベースのマージ候補リストに含まれるヒストリーベースのマージ候補の中の、ヒストリーベースのマージ候補リストに最後に追加された最後のヒストリーベースのマージ候補から開始する段階とをさらに含む、請求項１に記載のビデオ信号処理方法。
【請求項８】
インター予測に基づいてビデオ信号を符号化する方法であって、
現在のブロックの空間マージ候補と時間マージ候補に基づいて、前記現在のブロックの第１マージ候補リストを構成する段階と、
前記現在のブロックの前に符号化されたブロックのモーション情報を示すヒストリーベースのマージ候補を前記第１マージ候補リストに追加することにより、第２マージ候補リストを構成する段階と、
前記第２マージ候補リスト内で、前記現在のブロックに適用されるマージ候補を指示するマージインデックスを生成する段階と、
前記マージインデックスによって指示されるマージ候補のモーション情報に基づいて、前記現在のブロックの予測ブロックを生成する段階と、
ビットストリームにレジデュアルブロックを合図（signal）するために前記現在のブロックと前記予測ブロックに基づいて前記レジデュアルブロックを生成する段階とを含み、
前記ヒストリーベースのマージ候補が、前記第１マージ候補リストに含まれたマージ候補の中から、予め定義されたマージ候補のモーション情報と重複しないモーション情報を有することに基づいて、前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに追加される、ビデオ信号符号化方法。
【請求項９】
前記ヒストリーベースのマージ候補が、前記第１マージ候補リストに含まれる前記マージ候補の中の、予め定義された特定の数のマージ候補のモーション情報と重複しないモーション情報を有する場合、前記ヒストリーベースのマージ候補は前記第１マージ候補リストに追加される、請求項８に記載のビデオ信号符号化方法。
【請求項１０】
前記ヒストリーベースのマージ候補が、前記第１マージ候補リストに含まれた特定の空間マージ候補のモーション情報と重複しないモーション情報を有する場合、前記ヒストリーベースのマージ候補は、前記第１マージ候補リストに追加される、請求項８に記載のビデオ信号符号化方法。
【請求項１１】
前記ヒストリーベースのマージ候補は、前記ヒストリーベースのマージ候補を貯蔵するヒストリーベースのバッファ内で予め定義された数の候補から導出される、請求項８に記載のビデオ信号符号化方法。
【請求項１２】
前記第２マージ候補リストを構成する段階は、
ヒストリーベースの空間-時間マージ候補を追加する段階をさらに含み、
前記ヒストリーベースの空間-時間候補は、２つの前記ヒストリーベースのマージ候補と前記時間マージ候補を用いて導出される、請求項８に記載のビデオ信号符号化方法。
【請求項１３】
前記ヒストリーベースの空間-時間候補のモーションベクトルは、前記２つのヒストリーベースのマージ候補のモーションベクトルの平均値と、前記時間マージ候補のモーションベクトルの平均値として導出される、請求項１２に記載のビデオ信号符号化方法。
【請求項１４】
前記第２マージ候補リストを構成する段階は、
前記ヒストリーベースのマージ候補を前記第１マージ候補リストに追加するかを決定する段階と、
前記ヒストリーベースのマージ候補リストに含まれるヒストリーベースのマージ候補の中の、ヒストリーベースのマージ候補リストに最後に追加された最後のヒストリーベースのマージ候補から開始する段階とをさらに含む、請求項１２に記載のビデオ信号符号化方法。
【請求項１５】
請求項８から１４のいずれか一項に記載のビデオ信号符号化方法に基づいて符号化したビットストリームを格納するための非一時的復号器読み取り可能な媒体。
【国際調査報告】
2022501912.tif 000099
2022501912.tif 000100
2022501912.tif 000101
2022501912.tif 000102