(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024097086
(43)【公開日】2024-07-17
(54)【発明の名称】双予測のための加重値インデックス情報を誘導するビデオ又は映像コーディング
(51)【国際特許分類】
H04N 19/105 20140101AFI20240709BHJP
H04N 19/70 20140101ALI20240709BHJP
H04N 19/176 20140101ALI20240709BHJP
H04N 19/54 20140101ALI20240709BHJP
H04N 19/52 20140101ALI20240709BHJP
【FI】
H04N19/105
H04N19/70
H04N19/176
H04N19/54
H04N19/52
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2024074706
(22)【出願日】2024-05-02
(62)【分割の表示】P 2023055952の分割
【原出願日】2020-03-10
(31)【優先権主張番号】62/817,513
(32)【優先日】2019-03-12
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【弁理士】
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】パク ネリ
(72)【発明者】
【氏名】ナム チョンハク
(72)【発明者】
【氏名】チャン ヒョンムン
(57)【要約】
【課題】本発明は、双予測のための加重値インデックス情報を誘導するビデオ又は映像コーディングに関する。
【解決手段】本文書の開示によれば、現在ブロックのインター予測タイプが双予測(bi-prediction)を示す場合、マージ候補リスト又はサブブロックのマージ候補リスト内の候補のための加重値インデックス情報を誘導又は導出することができ、コーディングの効率を高めることができる。
【選択図】
図12
【特許請求の範囲】
【請求項1】
デコーディング装置によって行われる映像デコーディング方法において、
ビットストリームを介してインター予測モード情報を含む映像情報を受信するステップと、
前記インター予測モード情報に基づいて、現在ブロックのマージ候補リストを生成するステップと、
前記マージ候補リストに含まれた候補のうちの一つの候補を選択するステップと、
前記選択された候補に基づいて、前記現在ブロックの動き情報を導出するステップと、
前記導出された動き情報に基づいて、L0予測サンプル及びL1予測サンプルを生成するステップと、
前記L0予測サンプル、前記L1予測サンプル、及び加重値情報に基づいて前記現在ブロックの予測サンプルを生成し、前記加重値情報は、前記選択された候補に対する加重値インデックス情報に基づいて導出される、ステップと、を含み、
前記候補は、承継されたアフィンマージ候補と構成されたアフィンマージ候補を含み、
前記承継されたアフィンマージ候補は、前記現在ブロックの周辺ブロックのCPMV(Control Point Motion Vector)に基づいて導出され、
前記構成されたアフィンマージ候補は制御ポイント(CP)の複数のCPMVを含み、
前記構成されたアフィンマージ候補がCP0(Control Point 0)に対するCPMVを含むこと、及び双予測が前記現在ブロックに適用されることに基づいて、前記構成されたアフィンマージ候補に対する加重インデックス情報は、前記現在ブロックの前記CP0の周辺ブロックのうち、特定のブロックの加重値インデックス情報に等しいように固定され、前記CP0は前記現在ブロックの左上側角に関連し、
前記特定のブロックは、前記CP0に対する前記CPMVの導出のために使用されるブロックであり、
前記構成されたアフィンマージ候補は、前記マージ候補リストの中で前記承継されたアフィンマージ候補の後に挿入される、映像デコーディング方法。
【請求項2】
前記周辺ブロックは、前記現在ブロックの左上側角の周辺ブロック、前記左上側角の周辺ブロックの下側に隣接した左側の周辺ブロック、及び前記左上側角の周辺ブロックの右側に隣接した上側の周辺ブロックを含む、請求項1に記載の映像デコーディング方法。
【請求項3】
前記候補は、ペアワイズ(pair-wise)候補を含み、
前記ペアワイズ候補は、前記候補のうち異なる2個の候補に基づいて導出され、
前記ペアワイズ候補に対する加重値インデックス情報は、前記2個の候補のうちの一つの加重値インデックス情報に基づいて導出される、請求項1に記載の映像デコーディング方法。
【請求項4】
前記候補は、サブブロックベーステンポラルマージ(subblock-based temporal merge)候補を含み、
前記サブブロックベーステンポラルマージ候補に対する加重値インデックス情報は、前記現在ブロックの左側の周辺ブロックの加重値インデックス情報に基づいて導出される、請求項1に記載の映像デコーディング方法。
【請求項5】
前記候補は、サブブロックベーステンポラルマージ候補を含み、
前記サブブロックベーステンポラルマージ候補に対する加重値インデックス情報は、0として導出される、請求項1に記載の映像デコーディング方法。
【請求項6】
前記候補は、サブブロックベーステンポラルマージ(subblock-based temporal merge)候補を含み、
前記サブブロックベーステンポラルマージ候補に対する加重値インデックス情報は、コル(col)ブロック内のセンターブロックの加重値インデックス情報に基づいて導出され、
前記コルブロックは、前記現在ブロックが位置する現在ピクチャと異なる参照ピクチャ内に前記現在ブロックと同じ位置のブロックを含み、
前記センターブロックは、前記コルブロックの中央に位置する4個のサブブロックのうち右下側のサブブロックである、請求項1に記載の映像デコーディング方法。
【請求項7】
前記候補は、サブブロックベーステンポラルマージ(subblock-based temporal merge)候補を含み、
前記サブブロックベーステンポラルマージ候補に対する加重値インデックス情報は、コル(col)ブロックのサブブロックそれぞれの加重値インデックス情報に基づいて導出され、
前記コルブロックは、前記現在ブロックが位置する現在ピクチャと異なる参照ピクチャ内に前記現在ブロックと同じ位置のブロックを含む、請求項1に記載の映像デコーディング方法。
【請求項8】
エンコーディング装置によって行われる映像エンコーディング方法において、
現在ブロックのインター予測モードを決定し、前記インター予測モードを示すインター予測モード情報を生成するステップと、
前記インター予測モードに基づいて、前記現在ブロックのマージ候補リストを生成するステップと、
前記マージ候補リストに含まれた候補のうちの一つの候補を選択し、前記選択された候補を示す選択情報を生成するステップと、
前記インター予測モード情報及び前記選択情報を含む映像情報をエンコーディングするステップと、を含み、
前記候補は、承継されたアフィンマージ候補と構成されたアフィンマージ候補を含み、前記構成されたアフィンマージ候補は、CPMV(Control Point Motion Vector)を含み、
前記承継されたアフィンマージ候補は、前記現在ブロックの周辺ブロックのCPMV(Control Point Motion Vector)に基づいて導出され、
前記構成されたアフィンマージ候補は制御ポイント(CP)の複数のCPMVを含み、
前記構成されたアフィンマージ候補がCP0(Control Point 0)に対するCPMVを含むこと、及び双予測が前記現在ブロックに適用されることに基づいて、前記構成されたアフィンマージ候補に対する加重インデックス情報は、前記現在ブロックのCP0(Control Point 0)の周辺ブロックのうち、特定のブロックの加重値インデックス情報に等しいように固定され、前記CP0は前記現在ブロックの左上側角に関連し、
前記特定のブロックは、前記CP0に対するCPMVの導出のために使用されるブロックであり、
前記構成されたアフィンマージ候補は、前記マージ候補リストの中で前記承継されたアフィンマージ候補の後に挿入される、映像エンコーディング方法。
【請求項9】
映像データに対する送信方法であって、
送信装置が、エンコードされた映像情報を取得するステップであって、前記エンコードされた映像情報は、現在ブロックのインター予測モードを決定し、前記インター予測モードを示すインター予測モード情報を生成し、前記インター予測モードに基づいて前記現在ブロックのマージ候補リストを生成し、前記マージ候補リストに含まれる候補の一つを選択し、前記選択された候補を示す選択情報を生成し、前記インター予測モード情報と前記選択情報を含む映像情報をエンコーディングすることを実行することにより生成される、ステップと、
前記送信装置が、前記エンコードされた映像情報に対する前記映像データを送信するステップを含み、
前記候補は、承継されたアフィンマージ候補と構成されたアフィンマージ候補を含み、前記構成されたアフィンマージ候補は、CPMV(Control Point Motion Vector)を含み、
前記承継されたアフィンマージ候補は、前記現在ブロックの周辺ブロックのCPMV(Control Point Motion Vector)に基づいて導出され、
前記構成されたアフィンマージ候補は制御ポイント(CP)の複数のCPMVを含み、
前記承継されたアフィンマージ候補がCP0(Control Point 0)に対するCPMVを含むこと、及び双予測が前記現在ブロックに適用されることに基づいて、前記構成されたアフィンマージ候補に対する加重インデックス情報は、前記現在ブロックのCP0(Control Point 0)の周辺ブロックのうち、特定ブロックの加重値インデックス情報に等しいように固定され、前記CP0は前記現在ブロックの左上側角に関連し、
前記特定ブロックは、前記CP0に対するCPMVの導出のために使用されるブロックであり、
前記構成されたアフィンマージ候補は、前記マージ候補リストの中で前記承継されたアフィンマージ候補の後に挿入される、映像データに対する送信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、双予測のための加重値インデックス情報を誘導するビデオ又は映像コーディングに関する。
【背景技術】
【0002】
近年、4Kまたは8K以上のUHD(Ultra High Definition)映像/ビデオのような高解像度、高品質の映像/ビデオに対する需要が様々な分野で増加している。映像/ビデオデータが高解像度、高品質になるほど、既存の映像/ビデオデータに比べて相対的に送信される情報量またはビット量が増加するので、既存の有無線広帯域回線のような媒体を利用して映像データを送信するか、既存の格納媒体を利用して映像/ビデオデータを格納する場合、送信費用と格納費用が増加される。
【0003】
また、近年、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの実感メディア(Immersive Media)に対する関心及び需要が増加しており、ゲーム映像のように、現実映像と異なる映像特性を有する映像/ビデオに対する放送が増加している。
【0004】
これにより、上記のような様々な特性を有する高解像度・高品質の映像/ビデオの情報を効果的に圧縮して送信するか、格納し、再生するために高効率の映像/ビデオ圧縮技術が求められる。
【発明の概要】
【課題を解決するための手段】
【0005】
本文書の一実施例によれば、映像/ビデオコーディングの効率を高める方法及び装置を提供する。
【0006】
本文書の一実施例によれば、映像コーディングの際、加重値ベースの双予測を用いる方法及び装置を提供する。
【0007】
本文書の一実施例によれば、インター予測で双予測のための加重値インデックス情報を誘導する方法及び装置を提供する。
【0008】
本文書の一実施例によれば、双予測の際、マージ候補リスト又はアフィンマージ候補リスト内の候補のための加重値インデックス情報を誘導する方法及び装置を提供する。
【0009】
本文書の一実施例によれば、デコーディング装置により行われるビデオ/映像デコーディング方法を提供する。
【0010】
本文書の一実施例によれば、ビデオ/映像デコーディングを行うデコーディング装置を提供する。
【0011】
本文書の一実施例によれば、エンコーディング装置により行われるビデオ/映像エンコーディング方法を提供する。
【0012】
本文書の一実施例によれば、ビデオ/映像エンコーディングを行うエンコーディング装置を提供する。
【0013】
本文書の一実施例によれば、本文書の実施例の少なくとも一つに開示されたビデオ/映像エンコーディング方法によって生成されたエンコーディングされたビデオ/映像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【0014】
本文書の一実施例によれば、デコーディング装置により本文書の実施例の少なくとも一つに開示されたビデオ/映像デコーディング方法を行うように引き起こすエンコーディングされた情報又はエンコーディングされたビデオ/映像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【発明の効果】
【0015】
本文書の一実施例によれば、全般的な映像/ビデオ圧縮の効率を高めることができる。
【0016】
本文書の一実施例によれば、インター予測の際に動きベクトルの候補を効率的に構成することができる。
【0017】
本文書の一実施例によれば、効率的に加重値ベースの双予測を行うことができる。
【図面の簡単な説明】
【0018】
【
図1】本文書の実施例が適用できるビデオ/映像コーディングシステムの例を概略的に示す。
【
図2】本文書の実施例が適用できるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。
【
図3】本文書の実施例が適用できるビデオ/映像デコーディング装置の構成を概略的に説明する図である。
【
図4】インター予測でマージモードを説明するための図である。
【
図5A】アフィン動き予測のためのCPMVを例示的に示す。
【
図5B】アフィン動き予測のためのCPMVを例示的に示す。
【
図6】アフィンMVFがサブブロックの単位で決定される場合を例示的に示す。
【
図7】インター予測でアフィンマージモードを説明するための図である。
【
図8】アフィンマージモードで候補の位置を説明するための図である。
【
図9】インター予測でSbTMVPを説明するための図である。
【
図10】本文書の実施例に係るビデオ/映像エンコーディング方法、及び関連のコンポーネントの一例を概略的に示す。
【
図11】本文書の実施例に係るビデオ/映像エンコーディング方法、及び関連のコンポーネントの一例を概略的に示す。
【
図12】本文書の実施例に係る映像/ビデオデコーディング方法、及び関連のコンポーネントの一例を概略的に示す。
【
図13】本文書の実施例に係る映像/ビデオデコーディング方法、及び関連のコンポーネントの一例を概略的に示す。
【
図14】本文書で開示された実施例が適用できるコンテンツストリーミングシステムの例を示す。
【発明を実施するための形態】
【0019】
本文書の開示は、様々な変更を加えることができ、様々な実施例を有することができるが、特定の実施例を図面に例示し、詳細に説明しようとする。しかし、これは、本開示を特定の実施例に限定しようとするわけではない。本文書で使用する用語は、単に特定の実施例を説明するために使用されたものであって、本文書における実施例の技術的思想を限定しようとする意図に使用されるものではない。単数の表現は、文脈上明らかに異なる意味ではない限り、複数の表現を含む。本文書において、「含む」又は「有する」等の用語は、文書上に記載された特徴、数字、段階、動作、構成要素、部品又はこれらを組み合わせたものが存在することを指定しようとするものであり、1つ又はそれ以上の異なる特徴や、数字、段階、動作、構成要素、部品又はこれらを組み合わせたものの存在又は付加の可能性を予め排除しないものと理解されるべきである。
【0020】
一方、本文書で説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の便宜のために独立して示すものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで具現されるということを意味するのではない。例えば、各構成のうち、2つ以上の構成を合わせて1つの構成をなすこともあり、1つの構成が複数の構成に分けられることもある。各構成が統合及び/又は分離された実施例も、本文書の開示範囲に含まれる。
【0021】
以下、添付図を参照として、本文書の実施例を説明しようとする。以下、図面上の同じ構成要素に対しては同じ参照符号を使用し得、同じ構成要素に対して重複した説明は省略され得る。
【0022】
図1は、本文書の実施例が適用できるビデオ/映像コーディングシステムの例を概略的に示す。
【0023】
図1に示すように、ビデオ/映像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を備えることができる。ソースデバイスは、エンコーディングされたビデオ(video)/映像(image)情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスに伝達することができる。
【0024】
前記ソースデバイスは、ビデオソース、エンコーディング装置、送信部を備えることができる。前記受信デバイスは、受信部、デコーディング装置、及びレンダラを備えることができる。前記エンコーディング装置は、ビデオ/映像エンコーディング装置と呼ばれることができ、前記デコーディング装置は、ビデオ/映像デコーディング装置と呼ばれることができる。送信機は、エンコーディング装置に備えられることができる。受信機は、デコーディング装置に備えられることができる。レンダラは、ディスプレイ部を備えることができ、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
【0025】
ビデオソースは、ビデオ/映像のキャプチャ、合成、または生成過程などを介してビデオ/映像を取得できる。ビデオソースは、ビデオ/映像キャプチャデバイス及び/又はビデオ/映像生成デバイスを含むことができる。ビデオ/映像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/映像を含むビデオ/映像アーカイブなどを含むことができる。ビデオ/映像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含むことができ、(電子的に)ビデオ/映像を生成できる。例えば、コンピュータなどを介して仮想のビデオ/映像が生成され得るし、この場合、関連データが生成される過程にビデオ/映像キャプチャ過程が代替されることができる。
【0026】
エンコーディング装置は、入力ビデオ/映像をエンコーディングすることができる。エンコーディング装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を行うことができる。エンコーディングされたデータ(エンコーディングされたビデオ/映像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0027】
送信部は、ビットストリーム形態で出力されたエンコーディングされたビデオ/映像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達することができる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介しての送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコーディング装置に伝達することができる。
【0028】
デコーディング装置は、エンコーディング装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を行ってビデオ/映像をデコーディングすることができる。
【0029】
レンダラは、デコーディングされたビデオ/映像をレンダリングすることができる。レンダリングされたビデオ/映像は、ディスプレイ部を介してディスプレイされることができる。
【0030】
本文書は、ビデオ/映像コーディングに関する。例えば、本文書で開示された方法/実施例は、VVC(versatile video coding)標準に開示される方法に適用されることができる。また、本文書で開示された方法/実施例は、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)又は次世代ビデオ/映像コーディング標準(ex.267又はH.268等)に開示される方法に適用されることができる。
【0031】
本文書では、ビデオ/映像コーディングに関する多様な実施例を提示し、別の言及がない限り、前記実施例は互いに組み合わせて行うこともある。
【0032】
本文書で、ビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味することができる。ピクチャ(picture)は、一般的に特定の時間帯の1つの映像を示す単位を意味し、スライス(slice)/タイル(tile)は、コーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、1つ以上のCTU(coding tree unit)を含むことができる。1つのピクチャは、1つ以上のスライス/タイルで構成されることができる。タイルは、ピクチャ内の特定のタイル列及び特定のタイル列以内のCTUの四角領域である(A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture)。前記タイル列は、CTUの四角領域であり、前記四角領域は、前記ピクチャの高さと同じ高さを有し、幅はピクチャパラメータセット内のシンタックス要素により明示され得る(The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set)。前記タイル行はCTUの四角領域であり、前記四角領域はピクチャパラメータセット内のシンタックス要素によって明示される幅を有し、高さは前記ピクチャの高さと同一であり得る(The tile row is a rectangular region of CTUs having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture)。タイルのスキャンはピクチャをパーティショニングするCTUの特定の順次オーダリングを示し得、前記CTUはタイル内のCTUラスタースキャンに連続的に整列され得、ピクチャ内のタイルは、前記ピクチャの前記タイルのラスタースキャンに連続的に整列され得る(A tile scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。スライスは単一のNALユニットに排他的に含まれ得る、整数個の完全なタイル又はピクチャのタイル内の整数個の連続的な完全なCTU行を含み得る(A slice includes an integer number of complete tiles or an integer number of consecutive complete CTU rows within a tile of a picture that may be exclusively contained in a single NAL unit)
【0033】
一方、1つのピクチャは、2つ以上のサブピクチャに区分されることができる。サブピクチャは、ピクチャ内の1つ以上のスライスの四角領域であり得る(an rectangular region of one or more slices within a picture)。
【0034】
ピクセル(pixel)またはペル(pel)は、1つのピクチャ(または、映像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として、「サンプル(sample)」が使用され得る。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すことができ、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0035】
ユニット(unit)は、映像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち、少なくとも1つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行とからなるサンプル(または、サンプルアレイ)または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
【0036】
本文書において、「A又はB(A or B)」は、「ただA」、「ただB」、又は「A及びB両方」を意味し得る。言い換えると、本文書において、「A又はB(A or B)」は、「A及び/又はB(A and/or B)」と解釈され得る。例えば、本文書において、「A、B又はC(A, B or C)」は、「ただA」、「ただB」、「ただC」、又は「A、B及びCの任意の全ての組み合わせ(any combination of A, B and C)」を意味し得る。
【0037】
本文書で使用されるスラッシュ(/)や休止符(comma)は、「及び/又は(and/or)」を意味し得る。例えば、「A/B」は、「A及び/又はB」を意味し得る。これによって、「A/B」は、「ただA」、「ただB」、又は「A及びB両方」を意味し得る。例えば、「A、B、C」は、「A、B又はC」を意味し得る。
【0038】
本文書において、「少なくとも一つのA及びB(at least one of A and B)」は、「ただA」、「ただB」又は「A及びB両方」を意味し得る。また、本文書において、「少なくとも一つのA又はB(at least one of A or B)」や「少なくとも一つのA及び/又はB(at least one of A and/or B)」という表現は、「少なくとも一つのA及びB(at least one of A and B)」と同様に解釈され得る。
【0039】
また、本文書において、「少なくとも一つのA、B及びC(at least one of A, B and C)」は、「ただA」、「ただB」、「ただC」、又は「A、B及びCの任意の全ての組み合わせ(any combination of A, B and C)」を意味し得る。また、「少なくとも一つのA、B又はC(at least one of A, B or C)」や「少なくとも一つのA、B及び/又はC(at least one of A, B and/or C)」は、「少なくとも一つのA、B及びC(at least one of A, B and C)」を意味し得る。
【0040】
また、本文書で使用される括弧は、「例えば(for example)」を意味し得る。具体的に、「予測(イントラ予測)」と表示された場合、「予測」の一例として「イントラ予測」が提案されたものであり得る。言い換えると、本文書の「予測」は、「イントラ予測」に制限(limit)されず、「イントラ予測」が「予測」の一例として提案されたものであり得る。また、「予測(すなわち、イントラ予測)」と表示された場合にも、「予測」の一例として「イントラ予測」が提案されたものであり得る。
【0041】
本文書において一つの図面内で個別的に説明される技術的特徴は、個別的に具現されてもよく、同時に具現されてもよい。
【0042】
図2は、本文書の実施例が適用できるビデオ/映像エンコーディング装置の構成を概略的に説明する図面である。以下、エンコーディング装置というのは、映像エンコーディング装置及び/又はビデオエンコーディング装置を含むことができる。
【0043】
図2に示すように、エンコーディング装置200は、映像分割部(image partitioner)210、予測部(predictor)220、レジデュアル処理部(residual processor)230、エントロピーエンコーディング部(entropy encoder)240、加算部(adder)250、フィルタリング部(filter)260、及びメモリ(memory)270を備えて構成されることができる。予測部220は、インター予測部221及びイントラ予測部222を備えることができる。レジデュアル処理部230は、変換部(transformer)232、量子化部(quantizer)233、逆量子化部(dequantizer)234、逆変換部(inverse transformer)235を備えることができる。レジデュアル処理部230は、減算部(subtractor、231)をさらに備えることができる。加算部250は、復元部(reconstructor)または復元ブロック生成部(recontructged block generator)と呼ばれることができる。上述した映像分割部210、予測部220、レジデュアル処理部230、エントロピーエンコーディング部240、加算部250、及びフィルタリング部260は、実施形態によって1つ以上のハードウェアコンポーネント(例えば、エンコーダチップセットまたはプロセッサ)によって構成されることができる。また、メモリ270は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体によって構成されることもできる。前記ハードウェアコンポーネントは、メモリ270を内/外部コンポーネントとしてさらに備えることもできる。
【0044】
映像分割部210は、エンコーディング装置200に入力された入力映像(または、ピクチャ、フレーム)を1つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。この場合、コーディングユニットは、コーディングツリーユニット(coding tree unit、CTU)または最大コーディングユニット(largest coding unit、LCU)からQTBTTT(Quad-tree binary-tree ternary-tree)構造によって再帰的に(recursively)分割されることができる。例えば、1つのコーディングユニットは、クアッドツリー構造、バイナリツリー構造、及び/又はターナリ構造に基づいて下位(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造及び/又はターナリ構造がその後に適用されることができる。または、バイナリツリー構造が先に適用されることもできる。それ以上分割されない最終コーディングユニットに基づいて本開示に係るコーディング手順が行われ得る。この場合、映像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使用されることができ、または、必要に応じてコーディングユニットは、再帰的に(recursively)もっと下位デプスのコーディングユニットに分割されて最適のサイズのコーディングユニットが最終コーディングユニットとして使用されることができる。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。他の例として、前記処理ユニットは、予測ユニット(PU:Prediction Unit)または変換ユニット(TU:Transform Unit)をさらに備えることができる。この場合、前記予測ユニット及び前記変換ユニットは、各々上述した最終コーディングユニットから分割またはパーティショニングされることができる。前記予測ユニットは、サンプル予測の単位であることができ、前記変換ユニットは、変換係数を導く単位及び/又は変換係数からレジデュアル信号(residual signal)を導く単位であることができる。
【0045】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)等の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、映像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0046】
エンコーディング装置200は、入力映像信号(原本ブロック、原本サンプルアレイ)でインター予測部221またはイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成でき、生成されたレジデュアル信号は、変換部232に送信される。この場合、図示されたように、エンコーダ200内において入力映像信号(原本ブロック、原本サンプルアレイ)で予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれることができる。予測部は、処理対象ブロック(以下、現在ブロックという)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成できる。予測部は、現在ブロックまたはCU単位でイントラ予測が適用されるか、またはインター予測が適用されるか決定することができる。予測部は、各予測モードについての説明で後述するように、予測モード情報など、予測に関する様々な情報を生成してエントロピーエンコーディング部240に伝達することができる。予測に関する情報は、エントロピーエンコーディング部240でエンコーディングされてビットストリーム形態で出力されることができる。
【0047】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置することができ、または、離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは、例示であり、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用され得る。イントラ予測部222は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0048】
インター予測部221は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現在ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的周辺ブロックを含む参照ピクチャとは同じであることができ、異なることもできる。前記時間的周辺ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(col CU)などの名前で呼ばれることができ、前記時間的周辺ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。例えば、インター予測部221は、周辺ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するために、どの候補が使用されるかを指示する情報を生成できる。様々な予測モードに基づいてインター予測が行われ得るし、例えば、スキップモードとマージモードとの場合に、インター予測部221は、周辺ブロックの動き情報を現在ブロックの動き情報として利用することができる。スキップモードの場合、マージモードとは異なり、レジデュアル信号が送信されないことがある。動き情報予測(motion vector prediction、MVP)モードの場合、周辺ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として用い、動きベクトル差分(motion vector difference)をシグナリングすることにより、現在ブロックの動きベクトルを指示することができる。
【0049】
予測部220は、後述する様々な予測方法に基づいて予測信号を生成できる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくことができ、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ映像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と同様に行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを用いることができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングすることができる。
【0050】
前記予測部(インター予測部221及び/又は前記イントラ予測部222を含む)を介して生成された予測信号は、復元信号を生成するために用いられるか、レジデュアル信号を生成するために用いられることができる。変換部232は、レジデュアル信号に変換技法を適用して、変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、GBT(Graph-Based Transform)、又はCNT(Conditionally Non-linear Transform)の少なくとも一つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するという際に、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて獲得される変換を意味する。また、変換過程は正方形の同じサイズを有するピクセルブロックに適用されてもよく、正方形ではない可変サイズのブロックに適用されてもよい。
【0051】
量子化部233は、変換係数を量子化してエントロピーエンコーディング部240に送信され、エントロピーエンコーディング部240は、量子化された信号(量子化された変換係数に関する情報)をエンコーディングしてビットストリームに出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部233は、係数スキャン順序(scan order)に基づいてブロック形態の量子化された変換係数を1次元ベクトル形態で再整列することができ、前記1次元ベクトル形態の量子化された変換係数に基づいて前記量子化された変換係数に関する情報を生成することもできる。エントロピーエンコーディング部240は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのような様々なエンコーディング方法を行うことができる。エントロピーエンコーディング部240は、量子化された変換係数の他に、ビデオ/イメージ復元に必要な情報(例えば、シンタックス要素(syntax elements)の値等)を共にまたは別にエンコーディングすることもできる。エンコーディングされた情報(例えば、エンコーディングされたビデオ/映像情報)は、ビットストリーム形態でNAL(network abstraction layer)ユニット単位で送信または格納されることができる。前記ビデオ/映像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)等、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/映像情報は、一般制限情報(general constraint information)をさらに含むことができる。本文書において、エンコーディング装置からデコーディング装置に伝達/シグナリングされる情報及び/又はシンタックス要素は、ビデオ/映像情報に含まれることができる。前記ビデオ/映像情報は、上述したエンコーディング手順を介してエンコーディングされて前記ビットストリームに含まれることができる。前記ビットストリームは、ネットワークを介して送信されることができ、またはデジタル格納媒体に格納されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。エントロピーエンコーディング部240から出力された信号は、送信する送信部(図示せず)及び/又は格納する格納部(図示せず)がエンコーディング装置200の内/外部エレメントとして構成されることができ、または送信部は、エントロピーエンコーディング部240に含まれることもできる。
【0052】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロックまたはレジデュアルサンプル)を復元できる。加算部155は、復元されたレジデュアル信号をインター予測部221またはイントラ予測部222から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成され得る。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0053】
一方、ピクチャエンコーディング及び/又は復元過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0054】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成でき、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法についての説明で後述するように、フィルタリングに関する様々な情報を生成してエントロピーエンコーディング部240に伝達することができる。フィルタリングに関する情報は、エントロピーエンコーディング部240でエンコーディングされてビットストリーム形態で出力されることができる。
【0055】
メモリ270に送信された修正された復元ピクチャは、インター予測部221で参照ピクチャとして使用されることができる。エンコーディング装置は、これを介してインター予測が適用される場合、エンコーディング装置100とデコーディング装置における予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0056】
メモリ270のDPBは、修正された復元ピクチャをインター予測部221における参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコーディングされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するために、インター予測部221に伝達することができる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達することができる。
【0057】
図3は、本文書の実施例が適用できるビデオ/映像デコーディング装置の構成を概略的に説明する図面である。以下、デコーディング装置というのは、映像デコーディング装置及び/又はビデオデコーディング装置を含むことができる。
【0058】
図3に示すように、デコーディング装置300は、エントロピーデコーディング部(entropy decoder)310、レジデュアル処理部(residual processor)320、予測部(predictor)330、加算部(adder)340、フィルタリング部(filter)350、及びメモリ(memoery)360を備えて構成されることができる。予測部330は、インター予測部331及びイントラ予測部332を備えることができる。レジデュアル処理部320は、逆量子化部(dequantizer)321及び逆変換部(inverse transformer)321を備えることができる。上述したエントロピーデコーディング部310、レジデュアル処理部320、予測部330、加算部340、及びフィルタリング部350は、実施形態によって1つのハードウェアコンポーネント(例えば、デコーダチップセットまたはプロセッサ)により構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部コンポーネントとしてさらに備えることもできる。
【0059】
ビデオ/映像情報を含むビットストリームが入力されれば、デコーディング装置300は、
図3のエンコーディング装置でビデオ/映像情報が処理されたプロセスに対応して映像を復元できる。例えば、デコーディング装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出できる。デコーディング装置300は、エンコーディング装置で適用された処理ユニットを用いてデコーディングを行うことができる。したがって、デコーディングの処理ユニットは、例えば、コーディングユニットであることができ、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/又はターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出され得る。そして、デコーディング装置300を介してデコーディング及び出力された復元映像信号は、再生装置を介して再生されることができる。
【0060】
デコーディング装置300は、
図3のエンコーディング装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコーディング部310を介してデコーディングされることができる。例えば、エントロピーデコーディング部310は、前記ビットストリームをパーシングして映像復元(または、ピクチャ復元)に必要な情報(例えば、ビデオ/映像情報)を導出できる。前記ビデオ/映像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/映像情報は、一般制限情報(general constraint information)をさらに含むことができる。デコーディング装置は、前記パラメータセットに関する情報及び/又は前記一般制限情報に基づいてさらにピクチャをデコーディングすることができる。本文書において後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコーディング手順を介してデコーディングされて、前記ビットストリームから取得されることができる。例えば、エントロピーデコーディング部310は、指数ゴロム符号化、CAVLC、またはCABACなどのコーディング方法を基にビットストリーム内の情報をデコーディングし、映像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力できる。より具体的に、CABACエントロピーデコーディング方法は、ビットストリームで各シンタックス要素に該当するビンを受信し、デコーディング対象のシンタックス要素情報と周辺及びデコーディング対象ブロックのデコーディング情報あるいは以前ステップでデコーディングされたシンボル/ビンの情報を利用して文脈(context)モデルを決定し、決定された文脈モデルによってビン(bin)の発生確率を予測してビンの算術デコーディング(arithmetic decoding)を行い、各シンタックス要素の値に該当するシンボルを生成できる。このとき、CABACエントロピーデコーディング方法は、文脈モデル決定後、次のシンボル/ビンの文脈モデルのためにデコーディングされたシンボル/ビンの情報を利用して文脈モデルをアップデートすることができる。エントロピーデコーディング部310でデコーディングされた情報のうち、予測に関する情報は、予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコーディング部310でエントロピーデコーディングが行われたレジデュアル値、すなわち、量子化された変換係数及び関連パラメータ情報は、レジデュアル処理部320に入力されることができる。レジデュアル処理部320は、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル、レジデュアルサンプルアレイ)を導出できる。また、エントロピーデコーディング部310でデコーディングされた情報のうち、フィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコーディング装置から出力された信号を受信する受信部(図示せず)がデコーディング装置300の内/外部エレメントとしてさらに構成されることができ、または受信部は、エントロピーデコーディング部310の構成要素であることもできる。一方、本文書に係るデコーディング装置は、ビデオ/映像/ピクチャデコーディング装置と呼ばれることができ、前記デコーディング装置は、情報デコーダ(ビデオ/映像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/映像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは、前記エントロピーデコーディング部310を備えることができ、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332、及びイントラ予測部331のうち、少なくとも1つを備えることができる。
【0061】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力できる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコーディング装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得できる。
【0062】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
【0063】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成できる。予測部は、エントロピーデコーディング部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、またはインター予測が適用されるか決定することができ、具体的なイントラ/インター予測モードを決定できる。
【0064】
予測部320は、後述する様々な予測方法に基づいて予測信号を生成できる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくことができ、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ映像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と同様に行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/映像情報に含まれてシグナリングされることができる。
【0065】
イントラ予測部331は、現在ピクチャ内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置することができ、または離れて位置することができる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。イントラ予測部331は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0066】
インター予測部332は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)とを備えることができる。例えば、インター予測部332は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出できる。様々な予測モードに基づいてインター予測が行われ得るし、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
【0067】
加算部340は、取得されたレジデュアル信号を予測部(インター予測部332及び/又はイントラ予測部331を備える)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成できる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
【0068】
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て出力されることができ、または次のピクチャのインター予測のために使用されることもできる。
【0069】
一方、ピクチャデコーディング過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0070】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成でき、前記修正された復元ピクチャをメモリ360、具体的に、メモリ360のDPBに送信することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
【0071】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332で参照ピクチャとして使用されることができる。メモリ360は、現在ピクチャ内の動き情報が導出された(または、デコーディングされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納できる。前記格納された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納でき、イントラ予測部331に伝達することができる。
【0072】
本明細書において、エンコーディング装置200のフィルタリング部260、インター予測部221、及びイントラ予測部222で説明された実施形態等は、各々デコーディング装置300のフィルタリング部350、インター予測部332、及びイントラ予測部331にも同一または対応するように適用されることができる。
【0073】
インター予測が適用される場合、エンコーディング装置/デコーディング装置の予測部は、ブロック単位でインター予測を行って予測サンプルを導出することができる。インター予測は、現在ピクチャ以外のピクチャのデータ要素(ex.サンプル値、又は動き情報)に依存的な方法で導出される予測を示すことができる(Inter prediction can be a prediction derived in a manner that is dependent on data elements(ex.sample values or motion information) of picture(s) other than the current picture)。現在ブロックにインター予測が適用される場合、参照ピクチャのインデックスの指す参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロック(予測サンプルアレイ)を誘導することができる。このとき、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現在ブロックとの間の動き情報の相関性に基づいて、現在ブロックの動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャのインデックスを含むことができる。前記動き情報は、インター予測タイプ(L0予測、L1予測、Bi予測等)の情報を更に含むことができる。インター予測が適用される場合、周辺ブロックは、現在ピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と、参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと、前記時間的周辺ブロックを含む参照ピクチャとは同一であってもよく、異なってもよい。前記時間的周辺ブロックは、同じ位置参照ブロック(collocated reference block)、同じ位置CU(colCU)等の名称で呼ばれ得、前記時間的周辺ブロックを含む参照ピクチャは、同じ位置ピクチャ(collocated picture、colPic)と呼ばれることもある。例えば、現在ブロックの周辺ブロックに基づいて動き情報の候補リストが構成されることができ、前記現在ブロックの動きベクトル及び/又は参照ピクチャのインデックスを導出するために、どの候補が選択(使用)されるかを指示するフラグ又はインデックス情報がシグナリングできる。様々な予測モードに基づいてインター予測が行われ、例えば、スキップモードとマージモードの場合、現在ブロックの動き情報は、選択された周辺ブロックの動き情報を同一であり得る。スキップモードの場合、マージモードと異なり、レジデュアル信号が送信されないことがある。動き情報予測(motion vector prediction、MVP)モードの場合、選択された周辺ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として利用し、動きベクトル差分(motion vector difference)はシグナリングされることができる。この場合、前記動きベクトル予測子及び動きベクトル差分の和を用いて、前記現在ブロックの動きベクトルを導出することができる。
【0074】
前記動き情報は、インター予測タイプ(L0予測、L1予測、Bi予測等)に応じて、L0動き情報及び/又はL1動き情報を含むことができる。L0方向の動きベクトルは、L0動きベクトル又はMVL0と呼ばれ得、L1方向の動きベクトルは、L1動きベクトル又はMVL1と呼ばれ得る。L0動きベクトルに基づいた予測は、L0予測と呼ばれ得、L1動きベクトルに基づいた予測をL1予測と呼ばれ得、前記L0動きベクトル及び前記L1動きベクトルの両方に基づいた予測を双(Bi)予測と呼ばれ得る。ここで、L0動きベクトルは、参照ピクチャリストL0(L0)に関連した動きベクトルを示すことができ、L1動きベクトルは、参照ピクチャリストL1(L1)に関連した動きベクトルを示すことができる。参照ピクチャリストL0は、前記現在ピクチャよりも、出力順序上、以前のピクチャを参照ピクチャに含むことができ、参照ピクチャリストL1は、前記現在ピクチャよりも、出力順序上、以後のピクチャを含むことができる。前記以前のピクチャは、順方向(参照)ピクチャと呼ばれ得、前記以後のピクチャは、逆方向(参照)ピクチャと呼ばれ得る。前記参照ピクチャリストL0は、前記現在ピクチャよりも、出力順序上、以後のピクチャを参照ピクチャにさらに含むことができる。この場合、前記参照ピクチャリストL0内で前記以前のピクチャが先にインデキシングされ、前記以後のピクチャは、その後にインデキシングされ得る。前記参照ピクチャリストL1は、前記現在ピクチャよりも、出力順序上、以前のピクチャを参照ピクチャにさらに含むことができる。この場合、前記参照ピクチャリスト1内で前記以後のピクチャが先にインデキシングされ、前記以前のピクチャは、その後にインデキシングされ得る。ここで、出力順序は、POC(picture order count)順序(order)に対応し得る。
【0075】
ピクチャ内の現在ブロックの予測のために多様なインター予測モードが使用できる。例えば、マージモード、スキップモード、MVP(motion vector prediction)モード、アフィン(affine)モード、サブブロックマージモード、MMVD(merge with MVD)モード等の多様なモードが使用できる。DMVR(Decoder side motion vector refinement)モード、AMVR(adaptive motion vector resolution)モード、Bi-prediction with CU-level weight(BCW)、Bi-directional optical flow(BDOF)等が付随的モードとしてさらに、又は代わりに使用できる。アフィンモードは、アフィン動き予測(affine motion prediction)モードと呼ばれることもある。MVPモードは、AMVP(advanced motion vector prediction)モードと呼ばれることもある。本文書で、一部のモード及び/又は一部のモードにより導出された動き情報の候補は、他のモードの動き情報に関する候補の一つに含まれることもある。例えば、HMVP候補は、前記マージ/スキップモードのマージ候補として追加されることがあり、又は前記MVPモードのmvp候補として追加されることもある。前記HMVP候補が前記マージモード又はスキップモードの動き情報の候補として使用される場合、前記HMVP候補は、HMVPマージ候補と呼ばれ得る。
【0076】
現在ブロックのインター予測モードを指す予測モード情報がエンコーディング装置からデコーディング装置にシグナリングされることができる。前記予測モード情報は、ビットストリームに含まれ、デコーディング装置に受信されることができる。前記予測モード情報は、多数の候補モードのうちの一つを指示するインデックス情報を含むことができる。或いは、フラグ情報の階層的シグナリングを通じて、インター予測モードを指示することもある。この場合、前記予測モード情報は、一つ以上のフラグを含むことができる。例えば、スキップフラグをシグナリングしてスキップモードの適用可否を指示し、スキップモードが適用されない場合に、マージフラグをシグナリングしてマージモードの適用可否を指示し、マージモードが適用されない場合に、MVPモードが適用されるものと指示するか、追加的な区分のためのフラグをさらにシグナリングすることもある。アフィンモードは、独立したモードとしてシグナリングされることもあり、又はマージモード又はMVPモード等に従属的なモードとしてシグナリングされることもある。例えば、アフィンモードは、アフィンマージモード及びアフィンMVPモードを含むことができる。
【0077】
一方、現在ブロックに、前述したlist0(L0)予測、list1(L1)予測、又は双(BI)予測が現在ブロック(現在コーディングユニット)に使用されるか否かを示す情報がシグナリングできる。前記情報は、動き予測方向情報、インター予測方向情報又はインター予測指示情報と呼ばれ得、例えば、inter_pred_idcのシンタックス要素の形態で構成/エンコーディング/シグナリングされることができる。すなわち、inter_pred_idcのシンタックス要素は、前述したL0予測、L1予測、又は双予測が現在ブロック(現在コーディングユニット)に使用されるか否かを示すことができる。本文書では、説明の便宜のために、inter_pred_idcのシンタックス要素が指すインター予測タイプ(L0予測、L1予測、又はBI予測)は、動き予測方向と表示されることができる。例えば、L0予測はpred_L0、L1予測はpred_L1、双予測はpred_BIで表されることもある。
【0078】
前述したように、1つのピクチャは、一つ以上のスライス(slice)を含むことができる。スライスは、Iスライス(intra slice)、Pスライス(predictive slice)及びBスライス(bi-predictive slice)を含むスライスタイプのうちの一つのタイプを有することができる。前記スライスタイプは、スライスタイプ情報に基づいて指示されることができる。Iスライス内のブロックに対しては、予測のためにインター予測は使用されず、イントラ予測のみ使用されることができる。もちろん、この場合にも、予測なしで原本サンプル値をコーディングしてシグナリングすることもある。Pスライス内のブロックに対しては、イントラ予測又はインター予測が使用でき、インター予測が使用される場合には、単(uni)予測のみ使用できる。一方、Bスライス内のブロックに対しては、イントラ予測又はインター予測が使用でき、インター予測が使用される場合には、最大の双(bi)予測まで使用できる。すなわち、Bスライス内のブロックに対しては、インター予測が使用される場合、単予測又は双予測が使用できる。
【0079】
L0及びL1は、現在ピクチャよりも以前にエンコーディング/デコーディングされた参照ピクチャを含むことができる。ここで、L0は、参照ピクチャリスト0を示すことができ、L1は参照ピクチャリスト1を示すことができる。例えば、L0は、POC(picture order count)順序上、現在ピクチャよりも以前及び/又は以後の参照ピクチャを含むことができ、L1は、POC順序上、現在ピクチャよりも以後及び/又は以前の参照ピクチャを含むことができる。この場合、L0にはPOC順序上、現在ピクチャよりも以前の参照ピクチャに相対的にさらに低い参照ピクチャのインデックスが割り当てられることがあり、L1にはPOC順序上、現在ピクチャよりも以後の参照ピクチャに相対的にさらに低い参照ピクチャのインデックスが割り当てられることがある。Bスライスの場合、双予測が適用でき、この場合にも、単方向の双予測が適用でき、又は両方向の双予測が適用できる。両方向の双予測は、真(true)の双予測と呼ばれ得る。
【0080】
一方、現在ブロックの動き情報を用いてインター予測が行われ得る。エンコーディング装置は、動き推定(motion estimation)手続を通じて、現在ブロックに対する最適の動き情報を導出することができる。例えば、エンコーディング装置は、現在ブロックに対する原本ピクチャ内の原本ブロックを用いて、相関性の高い類似する参照ブロックを参照ピクチャ内の決められた探索範囲内で分数ピクセル単位で探索することができ、これを通じて、動き情報を導出することができる。ブロックの類似性は、位相(phase)ベースのサンプル値の差に基づいて導出することができる。例えば、ブロックの類似性は、現在ブロック(又は現在ブロックのテンプレート)と参照ブロック(又は参照ブロックのテンプレート)との間のSAD(sum of absolute differences)に基づいて計算されることができる。この場合、探索領域内のSADが最も小さい参照ブロックに基づいて動き情報を導出することができる。導出された動き情報は、インター予測モードに基づいて、様々な方法によってデコーディング装置にシグナリングされることができる。
【0081】
図4は、インター予測でマージモードを説明するための図である。
【0082】
マージモード(merge mode)が適用される場合、現在予測ブロックの動き情報が直接的に送信されず、周辺予測ブロックの動き情報を用いて、前記現在予測ブロックの動き情報を誘導することになる。従って、マージモードを用いたことを知らせるフラグ情報及び周辺のどの予測ブロックを用いたかを知らせるマージインデックスを送信することによって、現在予測ブロックの動き情報を指示することができる。前記マージモードは、レギュラーマージモード(regular merge mode)と呼ばれ得る。例えば、前記マージモードは、regular_merge_flagのシンタックス要素の値が1である場合に適用されることができる。
【0083】
エンコーディング装置は、マージモードを行うために、現在予測ブロックの動き情報を誘導するために用いられるマージ候補ブロック(merge candidate block)をサーチ(search)しなければならない。例えば、前記マージ候補ブロックは、最大5個まで用いられることができるが、本文書の実施例はこれに限定されない。また、前記マージ候補ブロックの最大の個数はスライスヘッダ又はタイルグループヘッダで送信されることができ、本文書の実施例はこれに限定されない。前記マージ候補ブロックを見つけた後、エンコーディング装置はマージ候補リストを生成することができ、これらのうち最も小さい費用を有するマージ候補ブロックを最終のマージ候補ブロックとして選択することができる。
【0084】
本文書は、前記マージ候補リストを構成するマージ候補ブロックに対する多様な実施例を提供することができる。
【0085】
例えば、前記マージ候補リストは5個のマージ候補ブロックを用いることができる。例えば、4個の空間的マージ候補(spatial merge candidate)と1個の時間的マージ候補(temporal merge candidate)とを用いることができる。具体的な例として、空間的マージ候補の場合、
図4に示すブロックを空間的マージ候補に用いることができる。以下、前記空間的マージ候補又は後述する空間的MVP候補はSMVPと呼ばれ得、前記時間的マージ候補又は後述する時間的MVP候補はTMVPと呼ばれ得る。
【0086】
前記現在ブロックに対するマージ候補リストは、例えば、次のような手続に基づいて構成されることができる。
【0087】
コーディング装置(エンコーディング装置/デコーディング装置)は、現在ブロックの空間的周辺ブロックを探索して、導出された空間的マージ候補をマージ候補リストに挿入できる。例えば、前記空間的周辺ブロックは、前記現在ブロックの左下側角の周辺ブロック、左側の周辺ブロック、右上側角の周辺ブロック、上側の周辺ブロック、左上側角の周辺ブロックを含むことができる。但し、これは例示であって、前述した空間的周辺ブロック以外にも、右側の周辺ブロック、下側の周辺ブロック、右下側の周辺ブロック等、追加的な周辺ブロックがさらに前記空間的周辺ブロックとして使用されることができる。コーディング装置は、前記空間的周辺ブロックを優先順位に基づいて探索し、可用なブロックを検出し、検出されたブロックの動き情報を前記空間的マージ候補として導出することができる。例えば、エンコーディング装置又はデコーディング装置は、
図4に示された5個のブロックをA1->B1->B0->A0->B2のように順序通りに探索し、可用な候補を順次にインデキシングしてマージ候補リストで構成することができる。
【0088】
コーディング装置は、前記現在ブロックの時間的周辺ブロックを探索して、導出された時間的マージ候補を前記マージ候補リストに挿入できる。前記時間的周辺ブロックは、前記現在ブロックが位置する現在ピクチャと異なるピクチャである参照ピクチャ上に位置し得る。前記時間的周辺ブロックが位置する参照ピクチャは、コロケーテッド(collocated)ピクチャ又はコル(col)ピクチャと呼ばれ得る。前記時間的周辺ブロックは、前記コル(col)ピクチャ上での前記現在ブロックに対する同じ位置ブロック(co-located block)の右下側角の周辺ブロック及び右下側中心のブロックの順に探索されることができる。一方、動き情報の圧縮(motion data compression)が適用される場合、前記コル(col)ピクチャに一定の格納単位毎に特定の動き情報を代表の動き情報として格納することができる。この場合、前記一定の格納単位内の全てのブロックに対する動き情報を格納する必要がなく、これを通じて、動き情報の圧縮(motion data compression)効果が得られる。この場合、一定の格納単位は、例えば、16x16のサンプル単位、又は8x8のサンプル単位等で予め決められることもあり、又はエンコーディング装置からデコーディング装置に前記一定の格納単位に対するサイズ情報がシグナリングされることもある。前記動き情報の圧縮(motion data compression)が適用される場合、前記時間的周辺ブロックの動き情報は、前記時間的周辺ブロックが位置する前記一定の格納単位の代表の動き情報に代替されることができる。すなわち、この場合、具現の側面で見ると、前記時間的周辺ブロックの座標に位置する予測ブロックではなく、前記時間的周辺ブロックの座標(左上のサンプルポジション)に基づいて、一定値だけ算術的右シフトの後、算術的左シフトした位置をカバーする予測ブロックの動き情報に基づいて前記時間的マージ候補が導出できる。例えば、前記一定の格納単位が2nx2nのサンプル単位である場合、前記時間的周辺ブロックの座標が(xTnb,yTnb)とすれば、修正された位置である((xTnb>>n)<<n)、(yTnb>>n)<<n))に位置する予測ブロックの動き情報が前記時間的マージ候補のために使用できる。具体的に、例えば、前記一定の格納単位が16x16のサンプル単位である場合、前記時間的周辺ブロックの座標が(xTnb,yTnb)とすれば、修正された位置である((xTnb>>4)<<4)、(yTnb>>4)<<4))に位置する予測ブロックの動き情報が前記時間的マージ候補のために使用できる。或いは、例えば、前記一定の格納単位が8x8のサンプル単位である場合、前記時間的周辺ブロックの座標が(xTnb,yTnb)とすれば、修正された位置である((xTnb>>3)<<3)、(yTnb>>3)<<3))に位置する予測ブロックの動き情報が前記時間的マージ候補のために使用できる。
【0089】
コーディング装置は、現在のマージ候補の個数が最大のマージ候補の個数よりも小さいか否かを確認することができる。前記最大のマージ候補の個数は、予め定義されるか、エンコーディング装置からデコーディング装置にシグナリングされることができる。例えば、エンコーディング装置は、前記最大のマージ候補の個数に関する情報を生成し、エンコーディングして、ビットストリームの形態で前記デコーダに伝達できる。前記最大のマージ候補の個数がすべて満たされると、以降の候補追加の過程は行わなくてもよい。
【0090】
前記確認の結果、前記現在のマージ候補の個数が前記最大のマージ候補の個数よりも小さい場合、コーディング装置は、追加のマージ候補を前記マージ候補リストに挿入できる。例えば、前記追加のマージ候補は、後述する履歴ベースマージ候補(history based merge candidate(s))、ペアワイズ平均マージ候補(pair-wise average merge candidate(s))、ATMVP、組み合わせられた双予測(combined bi-predictive)マージ候補(現在スライス/タイルグループのスライス/タイルグループのタイプがBタイプである場合)及び/又はゼロベクトルマージ候補の少なくとも一つを含むことができる。
【0091】
前記確認の結果、前記現在のマージ候補の個数が前記最大のマージ候補の個数よりも小さくない場合、コーディング装置は、前記マージ候補リストの構成を終了し得る。この場合、エンコーディング装置は、RD(rate-distortion)コスト(cost)に基づき、前記マージ候補リストを構成するマージ候補のうち、最適のマージ候補を選択することができ、前記選択されたマージ候補を指す選択情報(ex. merge index)をデコーディング装置にシグナリングすることができる。デコーディング装置は、前記マージ候補リスト及び前記選択情報に基づいて、前記最適のマージ候補を選択することができる。
【0092】
前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報に使用でき、前記現在ブロックの動き情報に基づいて、前記現在ブロックの予測サンプルを導出することができることは前述した通りである。エンコーディング装置は、前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出することができ、前記レジデュアルサンプルに関するレジデュアル情報をデコーディング装置にシグナリングできる。デコーディング装置は、前記レジデュアル情報に基づいて導出されたレジデュアルサンプル、及び前記予測サンプルに基づいて復元サンプルを生成することができ、これに基づいて、復元ピクチャを生成することができることは前述した通りである。
【0093】
スキップモード(skip mode)が適用される場合、前記でマージモードが適用される場合と同じ方法で前記現在ブロックの動き情報を導出することができる。但し、スキップモードが適用される場合、該当ブロックに対するレジデュアル信号が省略され、よって、予測サンプルが直ぐに復元サンプルに用いられることができる。前記スキップモードは、例えば、cu_skip_flagのシンタックス要素の値が1である場合に適用されることができる。
【0094】
一方、前記ペアワイズ平均マージ候補(pair-wise average merge candidate)は、ペアワイズ平均候補又はペアワイズ候補と呼ばれ得る。ペアワイズ平均候補は、既存の(existing)マージ候補リストで予め定義された候補のペアを平均して生成されることができる。また、予め定義されたペアは、{(0,1)、(0,2)、(1,2)、(0,3)、(1,3)、(2,3)}のように定義できる。ここで、数字は、マージ候補リストに対するマージインデックスを示すことができる。平均化された動きベクトル(averaged motion vector)は、各参照リストに対して別に計算されることができる。例えば、2個の動きベクトルが1つのリスト内で利用可能な場合、前記2つの動きベクトルは、互いに異なる参照ピクチャを指しても、平均化され得る。例えば、1つの動きベクトルのみが利用可能な場合、直ちに(directly)1つが使用できる。例えば、利用可能な動きベクトルがない場合、リストを有効ではない状態で維持できる。
【0095】
例えば、ペアワイズ平均マージ候補が追加された後にも、マージ候補リストが満たされていない場合、即ち、マージ候補リスト内に現在のマージ候補の個数が最大のマージ候補の個数よりも小さい場合、最大のマージ候補の番号が示されるまでゼロベクトル(zero MVP)が最後に挿入され得る。すなわち、マージ候補リスト内の現在のマージ候補の個数が最大のマージ候補の個数になるまでゼロベクトルを挿入し得る。
【0096】
一方、既存にはコーディングブロックの動きを表現するために、ただ1つの動きベクトルを使用することができた。すなわち、トランスレーション(translation)動きモデルが使用できた。但し、このような方法がブロック単位で最適の動きを表現しているかもしれないが、実際の各サンプルの最適の動きではなく、サンプル単位で最適の動きベクトルを決定することができれば、コーディングの効率を高めることができる。このため、アフィン動きモデル(affine motion model)が使用できる。アフィン動きモデルを使用してコーディングするアフィン動き予測方法は、次の通りである。
【0097】
アフィン動き予測方法は、2個、3個又は4個の動きベクトルを用いて、ブロックの各サンプル単位で動きベクトルを表現することができる。例えば、アフィン動きモデルは、4つの動きを表現することができる。アフィン動きモデルが表現し得る動きのうち、3つの動き(トランスレーション(translation)、スケール(scale)、回転(rotate))を表現するアフィン動きモデルは、類似(similarity)(又は簡素化した(simplified))アフィン動きモデルと呼ばれ得、これを基準に説明するが、前述した動きモデルに限定されるわけではない。
【0098】
図5a及び
図5bは、アフィン動き予測のためのCPMVを例示的に示す。
【0099】
アフィン動き予測は、2つ以上のコントロールポイント動きベクトル(CPMV:Control Point Motion Vector)を用いて、ブロックが含むサンプル位置の動きベクトルを決定することができる。このとき、動きベクトルの集合をアフィン動きベクトルフィールド(MVF:Motion Vector Field)と示すことができる。
【0100】
例えば、
図5aは、2つのCPMVが用いられる場合を示すことができ、これは、4-パラメータアフィンモデルと呼ばれ得る。この場合、(x,y)のサンプル位置での動きベクトルは、例えば、数式1のように決定されることができる。
【0101】
【0102】
例えば、
図5bは、3個のCPMVが用いられる場合を示すことができ、これは、6-パラメータアフィンモデルと呼ばれ得る。この場合、(x,y)のサンプル位置での動きベクトルは、例えば、数式2のように決定されることができる。
【0103】
【0104】
数式1及び数式2において、{vx,vy}は、(x,y)位置での動きベクトルを示すことができる。また、{v0x,v0y}は、コーディングブロックの左上側角の位置のコントロールポイント(CP:Control Point)のCPMVを示すことができ、{v1x,v1y}は、右上側角の位置のCPのCPMVを示すことができ、{v2x,v2y}は、左下側角の位置のCPのCPMVを示すことができる。また、Wは、現在ブロックの幅(width)を示すことができ、Hは、現在ブロックの高さ(hight)を示すことができる。
【0105】
図6は、アフィンMVFがサブブロック単位で決定される場合を例示的に示す。
【0106】
エンコーディング/デコーディング過程で、アフィンMVFはサンプル単位又は既に定義されたサブブロック単位で決定されることができる。例えば、サンプル単位で決定する場合、各サンプル値を基準に動きベクトルが得られる。或いは、例えば、サブブロック単位で決定する場合、サブブロックの中央(センターの右下側、すなわち、中央の4個のサンプルのうちの右下側サンプル)サンプル値を基準に、該当ブロックの動きベクトルが得られる。すなわち、アフィン動き予測で、現在ブロックの動きベクトルは、サンプル単位又はサブブロック単位で導出されることができる。
【0107】
実施例では、アフィンMVFが4x4のサブブロック単位で決定される場合を仮定して説明し得るが、これは、説明の便宜のためであるので、サブブロックのサイズは多様に変形され得る。
【0108】
すなわち、アフィン予測が可用な場合、現在ブロックに適用可能な動きモデルは、3つ(平行移動動きモデル(translational motion model)、4-パラメータアフィン動きモデル(4-parameter affine motion model)、6-パラメータアフィン動きモデル(6-parameter affine motion model))を含むことができる。ここで、トランスレーション動きモデルは、既存のブロック単位の動きベクトルが使用されるモデルを示すことができ、4-パラメータアフィン動きモデルは、2個のCPMVが使用されるモデルを示すことができ、6-パラメータアフィン動きモデルは、3個のCPMVが使用されるモデルを示すことができる。
【0109】
一方、アフィン動き予測は、アフィンMVP(又はアフィンインター)モード又はアフィンマージモードを含むことができる。
【0110】
図7は、インター予測でアフィンマージモードを説明するための図である。
【0111】
例えば、アフィンマージモードで、CPMVはアフィン動き予測でコーディングされた周辺ブロックのアフィン動きモデルによって決定されることができる。例えば、サーチ(search)順序上のアフィン動き予測でコーディングされた周辺ブロックがアフィンマージモードのために使用できる。すなわち、周辺ブロックの少なくとも一つがアフィン動き予測でコーディングされた場合、現在ブロックはアフィンマージモードでコーディングされることができる。ここで、アフィンマージモードは、AF_MERGEと呼ばれ得る。
【0112】
アフィンマージモードが適用される場合、周辺ブロックのCPMVを用いて、現在ブロックのCPMVが導出できる。この場合、周辺ブロックのCPMVがそのまま現在ブロックのCPMVとして使用されることもあり、周辺ブロックのCPMVが前記周辺ブロックのサイズ及び前記現在ブロックのサイズ等に基づいて修正され、現在ブロックのCPMVとして使用されることもある。
【0113】
一方、サブブロック単位で動きベクトル(MV:Motion Vector)が導出されるアフィンマージモードの場合には、サブブロックマージモードと呼ばれ得、これは、サブブロックマージフラグ(又はmerge_subblock_flagのシンタックス要素)に基づいて指示されることができる。或いは、merge_subblock_flagのシンタックス要素の値が1である場合、サブブロックマージモードが適用されることが指示され得る。この場合、後述するアフィンマージ候補リストは、サブブロックのマージ候補リストと呼ばれることもある。この場合、前記サブブロックのマージ候補リストには、後述するSbTMVPとして導出された候補がさらに含まれ得る。この場合、前記SbTMVPとして導出された候補は、前記サブブロックのマージ候補リストの0番のインデックスの候補として用いられ得る。言い換えると、前記SbTMVPとして導出された候補は、前記サブブロックのマージ候補リスト内で、後述する承継されたアフィン候補(inherited affine candidate)又は構成されたアフィン候補(constructed affine candidate)より前に位置し得る。
【0114】
アフィンマージモードが適用される場合、現在ブロックに対するCPMVの導出のためにアフィンマージ候補リストが構成できる。例えば、アフィンマージ候補リストは、次の候補の少なくとも一つを含むことができる。1)承継された(inherited)アフィンマージ候補。2)構成された(constructed)アフィンマージ候補。3)ゼロ動きベクトル候補(又はゼロベクトル)。ここで、前記承継されたアフィンマージ候補は、周辺ブロックがアフィンモードでコーディングされた場合、周辺ブロックのCPMVsに基づいて導出される候補であり、前記構成されたアフィンマージ候補は、各CPMV単位で該当CPの周辺ブロックのMVに基づいてCPMVsを構成して導出された候補であり、ゼロ動きベクトル候補は、その値が0であるCPMVで構成された候補を示すことができる。
【0115】
前記アフィンマージ候補リストは、例えば、次のように構成されることができる。
【0116】
最大2個の承継されたアフィン候補があり得、承継されたアフィン候補は、周辺ブロックのアフィン動きモデルから導出されることができる。周辺ブロックは一つの左側の周辺ブロックと上側の周辺ブロックとを含むことができる。候補ブロックは、
図4のように位置し得る。左側予測子(left predictor)のためのスキャン順序はA1->A0であり得、上側予測子(above predictor)のためのスキャン順序は、B1->B0->B2であり得る。左側及び上側それぞれから一つの承継された候補のみが選択できる。二つの承継された候補間にはプルーニングチェック(pruning check)が行われないことがある。
【0117】
周辺アフィンブロックが確認される場合、確認したブロックのコントロールポイント動きベクトルが現在ブロックのアフィンマージリスト内のCPMVP候補を導出するために使用されることができる。ここで、周辺のアフィンブロックは、現在ブロックの周辺ブロックのうち、アフィン予測モードでコーディングされたブロックを示すことができる。例えば、
図7を参照すると、左下側(bottom-left)の周辺ブロックAがアフィン予測モードでコーディングされた場合、周辺ブロックAの左上側(top-left)角、右上側(top-right)角及び左下側(bottom-left)角の動きベクトルv
2、v
3及びv
4が獲得できる。周辺ブロックAが4-パラメータアフィン動きモデルでコーディングされた場合、現在ブロックの2個のCPMVがv
2及びv
3によって算出できる。周辺ブロックAが6-パラメータアフィン動きモデルでコーディングされた場合、現在ブロックの3個のCPMVがv
2、v
3及びv
4によって算出されることができる。
【0118】
図8は、アフィンマージモードで候補の位置を説明するための図である。
【0119】
構成された(constructed)アフィン候補は、各コントロールポイントの周辺の平行移動(translational)動き情報を組み合わせて構成される候補を意味し得る。コントロールポイントの動き情報は、特定された空間的周辺及び時間的周辺から導出されることができる。CPMVk(k=1、2、3、4)は、k番目のコントロールポイントを示すことができる。
【0120】
図8を参照すると、CPMV
1のためにB2->B3->A2の順によってブロックがチェックでき、一番目に利用可能なブロックの動きベクトルが使用できる。CPMV2のために、B1->B0の順によってブロックがチェックでき、CPMV3のために、A1->A0の順によってブロックがチェックできる。TMVP(temporal motion vector predictor)は、利用可能な場合、CPMV4として使用されることができる。
【0121】
4個のコントロールポイントの動きベクトルが獲得された後、アフィンマージ候補は獲得した動き情報に基づいて構成されることができる。コントロールポイント動きベクトルの組み合わせは、{CPMV1,CPMV2,CPMV3}、{CPMV1,CPMV2,CPMV4}、{CPMV1,CPMV3,CPMV4}、{CPMV2,CPMV3,CPMV4}、{CPMV1,CPMV2}及び{CPMV1,CPMV3}のように構成されることができ、羅列した順序によって構成されることができる。
【0122】
3個のCPMVの組み合わせは、6-パラメータアフィンマージ候補を構成することができ、2個のCPMVの組み合わせは、4-パラメータアフィンマージ候補を構成することができる。動きのスケーリング過程を回避するために、コントロールポイントの参照インデックスが互いに異なる場合、コントロールポイント動きベクトルの関連した組み合わせは捨てられ得る。
【0123】
図9は、インター予測でSbTMVPを説明するための図である。
【0124】
一方、SbTMVP(subblock-based temporal motion vector prediction)方法が用いられることもある。例えば、SbTMVPは、ATMVP(advanced temporal motion vector prediction)と呼ばれることもある。SbTMVPは、動きベクトル予測及び現在ピクチャ内のCUに対するマージモードを向上するために、コロケーテッドピクチャ(collocated picture)内の動きフィールドを用いることができる。ここで、コロケーテッドピクチャは、コル(col)ピクチャと呼ばれることもある。
【0125】
例えば、SbTMVPは、サブブロック(又はサブCU)レベルで動きを予測することができる。また、SbTMVPは、コルピクチャから時間的動き情報をフェッチング(fetching)する前に動きシフト(shift)を適用することができる。ここで、動きシフトは、現在ブロックの空間的周辺ブロックのうちの一つの動きベクトルから獲得されることができる。
【0126】
SbTMVPは、二つのステップによって、現在ブロック(又はCU)内のサブブロック(又はサブCU)の動きベクトルを予測することができる。
【0127】
第1ステップで、空間的周辺ブロックは、
図4のA1、B1、B0及びA0の順によって試験され得る。コル(col)ピクチャを自分の参照ピクチャとして使用する動きベクトルを有する一番目の空間的周辺ブロックが確認でき、動きベクトルは、適用される動きシフトとして選択されることができる。空間的周辺ブロックからこのような動きが確認されない場合、動きシフトは(0,0)に設定されることができる。
【0128】
第2ステップでは、第1ステップで確認された動きシフトがcolピクチャからサブブロックレベルの動き情報(動きベクトル及び参照インデックス)を獲得するために適用されることができる。例えば、動きシフトが現在ブロックの座標に追加できる。例えば、動きシフトが
図4のA1の動きに設定されることができる。この場合、各サブブロックに対して、colピクチャ内の対応ブロックの動き情報は、サブブロックの動き情報を導出するために使用されることができる。時間的動きのスケーリングは、時間的動きベクトルの参照ピクチャと現在ブロックの参照ピクチャとを整列するために適用されることができる。
【0129】
SbTVMP候補及びアフィンマージ候補をすべて含む組み合わせられたサブブロックベースのマージリストは、アフィンマージモードのシグナリングに使用されることができる。ここで、アフィンマージモードは、サブブロックベースのマージモードと呼ばれ得る。SbTVMPモードは、SPS(sequence parameter set)に含まれたフラグにより利用可能、又は利用可能ではないことがある。SbTMVPモードが利用可能な場合、SbTMVP予測子は、サブブロックベースのマージ候補のリストの第1エントリーに追加されることがあり、アフィンマージ候補が次についてくることがある。アフィンマージ候補リストの最大に許容されるサイズは5個であり得る。
【0130】
SbTMVPで使用されるサブCU(又はサブブロック)のサイズは8x8に固定され得、アフィンマージモードと同様にSbTMVPモードは幅及び高さが全て8以上のブロックにのみ適用され得る。追加的なSbTMVPマージ候補のエンコーディングのロジックは、他のマージ候補と同一であり得る。すなわち、P又はBスライス内の各CUに対して、追加的なRD(rate-distortion)コストを用いるRDチェックがSbTMVP候補を用いるかを決定するために行われ得る。
【0131】
一方、予測モードによって導出された動き情報に基づいて、現在ブロックに対する予測されたブロックを導出することができる。前記予測されたブロックは、前記現在ブロックの予測サンプル(予測サンプルアレイ)を含むことができる。現在ブロックの動きベクトルが分数のサンプル単位を指す場合、補間(interpolation)手続が行われ得、これを通じて、参照ピクチャ内で分数のサンプル単位の参照サンプルに基づいて前記現在ブロックの予測サンプルが導出できる。現在ブロックにアフィンインター予測(アフィン予測モード)が適用される場合、サンプル/サブブロック単位のMVに基づいて予測サンプルを生成することができる。双(Bi)予測が適用される場合、L0予測(すなわち、参照ピクチャリストL0内の参照ピクチャとMVL0を用いた予測)に基づいて導出された予測サンプルと、L1予測(すなわち、参照ピクチャリストL1内の参照ピクチャとMVL1を用いた予測)に基づいて導出された予測サンプルの(位相による)加重和(weighted sum)、又は加重平均(weighted average)を通じて導出された予測サンプルが現在ブロックの予測サンプルに用いられることができる。ここで、L0方向の動きベクトルは、L0動きベクトル又はMVL0と呼ばれ得、L1方向の動きベクトルは、L1動きベクトル又はMVL1と呼ばれ得る。双(Bi)予測が適用される場合、L0予測に用いられた参照ピクチャとL1予測に用いられた参照ピクチャとが、現在ピクチャを基準に互いに異なる時間的方向に位置する場合(すなわち、双予測であるとともに両方向予測に該当する場合)、これを真(true)の双予測と呼ばれ得る。
【0132】
また、導出された予測サンプルに基づいて復元サンプル及び復元ピクチャが生成でき、以降のインループフィルタリング等の手続が行われ得ることは前述した通りである。
【0133】
一方、現在ブロックに双予測が適用される場合、加重平均に基づいて予測サンプルを導出することができる。例えば、加重平均を用いた双予測は、BCW(Bi-prediction with CU-level Weight)、BWA(Bi-prediction with Weighted Average)又は加重平均双予測(wighted averaging bi-prediction)と呼ばれ得る。
【0134】
既存に双予測信号(すなわち、双予測サンプル)は、L0予測信号(L0予測サンプル)とL1予測信号(L1予測サンプル)の単純平均を通じて導出されることができた。すなわち、双予測のサンプルは、L0参照ピクチャ及びMVL0に基づいたL0予測サンプルとL1参照ピクチャ及びMVL1に基づいたL1予測サンプルの平均として導出された。但し、双予測が適用される場合、次のようにL0予測信号とL1予測信号の加重平均を通じて、双予測信号(双予測サンプル)を導出することもある。例えば、双予測信号(双予測サンプル)は、数式3のように導出されることができる。
【0135】
【0136】
数式3において、Pbi-predは、双予測信号の値、すなわち、双予測が適用されて導出された予測サンプル値を示すことができ、wは、加重値を示すことができる。また、P0は、L0予測信号の値、すなわち、L0予測が適用されて導出された予測サンプル値を示すことができ、P1は、L1予測信号の値、すなわち、L1予測が適用されて導出された予測サンプル値を示すことができる。
【0137】
例えば、加重平均の双予測では、5個の加重値が許容され得る。例えば、前記5個の加重値(w)は、-2、3、4、5、又は10を含むことができる。すなわち、加重値(w)は、-2、3、4、5、又は10を含む加重値の候補のうち一つで決定されることができる。双予測が適用される各CUに対して、加重値wは2つの方法のうち一つにより決定されることができる。第一の方法は、併合されないCUに対して、加重値インデックスが動きベクトル差分(motion vector difference)後にシグナリングされることができる。第二の方法は、併合されたCUに対して、加重値インデックスがマージ候補インデックスに基づいて周辺ブロックから推論されることができる。
【0138】
例えば、加重平均の双予測は、256個以上のルマサンプルを有するCUに適用されることができる。すなわち、CUの幅及び高さの積が256よりも大きいか等しい場合に、加重平均の双予測が適用され得る。低遅延(low-delay)ピクチャの場合、5個の加重値が使用され得、低遅延ではない(non-low-delay)ピクチャの場合、3個の加重値が使用され得る。例えば、前記3個の加重値は、3、4又は5を含むことができる。
【0139】
例えば、エンコーディング装置で、早いサーチアルゴリズムは、エンコーディング装置の複雑性(complexity)を大きく増加させないながら、加重値インデックスを見つけるために適用されることができる。このようなアルゴリズムは、次のように要約できる。例えば、AMVR(adaptive motion vector resolution)と組み合わせられるとき(インター予測モードとしてAMVRが用いられるとき)、現在ピクチャが低遅延のピクチャである場合、同一ではない加重値は、1-pel及び4-pelの動きベクトルの精密度に対して条件部としてチェックされることができる。例えば、アフィン(affine)と組み合わされるとき(インター予測モードとしてアフィン予測モードが用いられるとき)、アフィン予測モードが現在のベストモード(best mode)として選択された場合、アフィンME(Motion Estimation)は同一ではない加重値に対して行われ得る。例えば、双予測の2個の参照ピクチャが同一である場合、同一ではない加重値が条件部としてチェックされることができる。例えば、現在ピクチャと参照ピクチャとの間のPOC距離、コーディングQP(quantization parameter)及び時間的レベル(temporal level)に依存して特定の条件が満たされる場合、同一ではない加重値がサーチされないことがある。
【0140】
例えば、BCW加重値インデックス(又は加重値インデックス)は、一つのコンテキストコーディングされたビン(context coded bin)及び続くバイパスコーディングされたビン(bypass coded bin)を用いてコーディングされることができる。一番目のコンテキストコーディングされたビンは、同一の加重値が使用されるか否かを示すことができる。一番目のコンテキストコーディングされたビンに基づいて、同一ではない加重値が使用される場合、使用される同一ではない加重値を指示するために、バイパスコーディングを使用して追加的なビンがシグナリングできる。
【0141】
一方、本文書の一実施例によれば、マージモードのための動きベクトルの候補の構成時、時間的動きベクトルの候補が双予測を使用するときに加重平均のための加重値インデックスを誘導又は導出できる。すなわち、インター予測タイプが双(bi)予測である場合、マージ候補リスト内の時間的マージ候補(又は時間的動きベクトル候補)のための加重値インデックス情報を誘導又は導出できる。
【0142】
例えば、時間的動きベクトルの候補に対して、加重平均のための加重値インデックスは常時0として導出されることができる。ここで、加重値インデックスが0であることは、各参照方向(すなわち、双予測でL0予測方向及びL1予測方向)の加重値が同一であることを意味し得る。例えば、この場合、マージモードのためのルマ成分の動きベクトルを導出する手続は、次の表の通りである。
【0143】
【0144】
【0145】
【0146】
前記表1乃至表3は、一つの手続を示し得、表の順序に沿って前記手続が連続して行われ得る。前記手続は、マージモードのためのルマ成分の動きベクトルを導出する手続(8.4.2.2)を含むことができる。
【0147】
前記表1乃至表3を参照すると、gbiIdxは、双予測加重値インデックスを示すことができ、gbiIdxColは、時間的マージ候補(例えば、マージ候補リスト内の時間的動きベクトルの候補)のための双予測加重値インデックスを示すことができ、前記マージモードのためのルマ成分の動きベクトルを導出する手続(8.4.2.2で第3ステップ)で、前記gbiIdxColは0として導出されることができる。すなわち、時間的動きベクトルの候補の加重値インデックスは0として導出されることができる。
【0148】
或いは、例えば、時間的動きベクトルの候補に対する加重平均のための加重値インデックスは、コロケーテッド(collocated)ブロックの加重値インデックスとして導出されることができる。ここで、コロケーテッドブロックは、コル(col)ブロック、同じ位置ブロック又は同じ位置参照ブロックと呼ばれ得、コルブロックは参照ピクチャ上で現在ブロックと同じ位置のブロックを示すことができる。例えば、この場合、マージモードのためのルマ成分の動きベクトルを導出する手続は、次の表の通りである。
【0149】
【0150】
【0151】
【0152】
前記表4乃至表6は、一つの手続を示し得、表の順序に沿って前記手続が連続して行われ得る。前記手続は、マージモードのためのルマ成分の動きベクトルを導出する手続(8.4.2.2)を含むことができる。
【0153】
前記表4乃至表6を参照すると、gbiIdxは、双予測加重値インデックスを示すことができ、gbiIdxColは、時間的マージ候補(例えば、マージ候補リスト内の時間的動きベクトルの候補)のための双予測加重値インデックスを示すことができ、前記マージモードのためのルマ成分の動きベクトルを導出する手続(8.4.2.2で第3ステップ)で、前記gbiIdxColは0として導出されることができるが、スライスのタイプ又はタイルグループのタイプがBである場合(8.4.2.2で第4ステップ)には、前記gbiIdxColがgbiIdxColとして導出されることができる。すなわち、時間的動きベクトルの候補の加重値インデックスは、コル(col)ブロックの加重値インデックスとして導出されることができる。
【0154】
一方、本文書の別の実施例によれば、サブブロック単位のマージモードのための動きベクトルの候補の構成時、時間的動きベクトルの候補が双予測を使用するとき、加重平均のための加重値インデックスを誘導又は導出できる。ここで、サブブロック単位のマージモードは、(サブブロック単位の)アフィンマージモードと呼ばれ得、時間的動きベクトルの候補は、サブブロックベースの時間的動きベクトルの候補を示すことができ、SbTMVP候補と呼ばれることもある。すなわち、インター予測タイプが双(bi)予測である場合、アフィンマージ候補リスト又はサブブロックのマージ候補リスト内のSbTMVP候補(又はサブブロックベースの時間的動きベクトルの候補)のための加重値インデックス情報を誘導又は導出できる。
【0155】
例えば、サブブロックベースの時間的動きベクトルの候補に対する加重平均のための加重値インデックスは、常時0として導出されることができる。ここで、加重値インデックスが0であることは、各参照方向(すなわち、双予測でL0予測方向及びL1予測方向)の加重値が同一であることを意味し得る。例えば、この場合、サブブロックマージモード内の動きベクトル及び参照インデックスを導出する手続又はサブブロックベースの時間的マージ候補を導出する手続は、次の表の通りである。
【0156】
【0157】
【0158】
【0159】
【0160】
【0161】
前記表7乃至表11は、2つの手続を示し得、表の順序に沿って前記手続がそれぞれ連続して行われ得る。前記手続は、サブブロックマージモード内の動きベクトル及び参照インデックスを導出する手続(8.4.4.2)又はサブブロックベースの時間的マージ候補を導出する手続(8.4.4.3)を含むことができる。
【0162】
前記表7乃至表11を参照すると、gbiIdxは、双予測加重値インデックスを示すことができ、gbiIdxSbColは、サブブロックベースの時間的マージ候補(例えば、サブブロックベースのマージ候補リスト内の時間的動きベクトルの候補)のための双予測加重値インデックスを示すことができ、前記サブブロックベースの時間的マージ候補を導出する手続(8.4.4.3)で、前記gbiIdxSbColは0として導出されることができる。すなわち、サブブロックベースの時間的動きベクトルの候補の加重値インデックスは0として導出されることができる。
【0163】
或いは、例えば、サブブロックベースの時間的動きベクトルの候補に対する加重平均のための加重値インデックスは、時間的センター(center)ブロックの加重値インデックスとして導出されることができる。例えば、前記時間的センターブロックは、コル(col)ブロック又はコル(col)ブロックのセンターに位置したサブブロック又はサンプルを示すことができ、具体的には、コルブロックの中央4個のサブブロック又はサンプルのうち右下側に位置したサブブロック又はサンプルを示すことができる。例えば、この場合、サブブロックマージモード内の動きベクトル及び参照インデックスを導出する手続、サブブロックベースの時間的マージ候補を導出する手続又はサブブロックベースの時間的マージのためのベース動き情報を導出する手続は、次の表の通りである。
【0164】
【0165】
【0166】
【0167】
【0168】
【0169】
【0170】
【0171】
【0172】
【0173】
前記表12乃至表20は、3つの手続を示し得、表の順序に沿って前記手続がそれぞれ連続して行われ得る。前記手続は、サブブロックマージモード内の動きベクトル及び参照インデックスを導出する手続(8.4.4.2)、サブブロックベースの時間的マージ候補を導出する手続(8.4.4.3)又はサブブロックベースの時間的マージのためのベース動き情報を導出する手続(8.4.4.4)を含むことができる。
【0174】
前記表12乃至表20を参照すると、gbiIdxは、双予測加重値インデックスを示すことができ、gbiIdxSbColは、サブブロックベースの時間的マージ候補(例えば、サブブロックベースのマージ候補リスト内の時間的動きベクトル候補)のための双予測加重値インデックスを示すことができ、サブブロックベースの時間的マージのためのベース動き情報を導出する手続(8.4.4.4)で、前記gbiIdxSbColは、gbiIdxcolCbとして導出されることができる。すなわち、サブブロックベースの時間的動きベクトル候補の加重値インデックスは、時間的センターブロックとして導出されることができる。例えば、前記時間的センターブロックは、コル(col)ブロック又はコル(col)ブロックのセンターに位置したサブブロック又はサンプルを示すことができ、具体的には、コルブロックの中央4個のサブブロック又はサンプルのうち右下側に位置したサブブロック又はサンプルを示すことができる。
【0175】
或いは、例えば、サブブロックベースの時間的動きベクトルの候補に対する加重平均のための加重値インデックスは、それぞれのサブブロック単位の加重値インデックスとして導出されることができ、サブブロックが利用可能ではない場合、時間的センター(center)ブロックの加重値インデックスとして導出されることができる。例えば、前記時間的センターブロックは、コル(col)ブロック又はコル(col)ブロックのセンターに位置したサブブロック又はサンプルを示すことができ、具体的には、コルブロックの中央4個のサブブロック又はサンプルのうち右下側に位置したサブブロック又はサンプルを示すことができる。例えば、この場合、サブブロックマージモード内の動きベクトル及び参照インデックスを導出する手続、サブブロックベースの時間的マージ候補を導出する手続又はサブブロックベースの時間的マージのためのベース動き情報を導出する手続は、次の表の通りである。
【0176】
【0177】
【0178】
【0179】
【0180】
【0181】
【0182】
【0183】
【0184】
【0185】
前記表21乃至表29は、3つの手続を示し得、表の順序に沿って前記手続がそれぞれ連続して行われ得る。前記手続は、サブブロックマージモード内の動きベクトル及び参照インデックスを導出する手続(8.4.4.2)、サブブロックベースの時間的マージ候補を導出する手続(8.4.4.3)又はサブブロックベースの時間的マージのためのベース動き情報を導出する手続(8.4.4.4)を含むことができる。
【0186】
前記表21乃至表29を参照すると、gbiIdxは、双予測加重値インデックスを示すことができ、gbiIdxSbColは、サブブロックベースの時間的マージ候補(例えば、サブブロックベースのマージ候補リスト内の時間的動きベクトル候補)のための双予測加重値インデックスを示すことができ、サブブロックベースの時間的マージのためのベース動き情報を導出する手続(8.4.4.3)で、前記gbiIdxSbColは、gbiIdxcolCbとして導出されることができる。或いは、条件(例えば、availableFlagL0SbCol及びavailableFlagL1SbColが全て0である場合)によって、サブブロックベースの時間的マージのためのベース動き情報を導出する手続(8.4.4.3)で、前記gbiIdxSbColは、ctrgbiIdxとして導出されることができ、サブブロックベースの時間的マージのためのベース動き情報を導出する手続(8.4.4.4)で、前記ctrgbiIdxは、gbiIdxSbColとして導出されることができる。すなわち、サブブロックベースの時間的動きベクトルの候補の加重値インデックスは、それぞれのサブブロック単位の加重値インデックスとして導出されることができ、サブブロックが利用可能ではない場合、時間的センターブロックとして導出されることができる。例えば、前記時間的センターブロックは、コル(col)ブロック又はコル(col)ブロックのセンターに位置したサブブロック又はサンプルを示すことができ、具体的には、コルブロックの中央4個のサブブロック又はサンプルのうち右下側に位置したサブブロック又はサンプルを示すことができる。
【0187】
一方、本文書のまた別の実施例によれば、マージモードのための動きベクトルの候補の構成時、ペアワイズ(pair-wise)候補の加重値インデックスを誘導又は導出することができる。言い換えると、マージ候補リストにペアワイズ候補が含まれ得、この場合、前記ペアワイズ候補の加重平均のための加重値インデックスが導出できる。例えば、前記ペアワイズ候補は、前記マージ候補リスト内の他のマージ候補に基づいて導出されることができ、前記ペアワイズ候補が双予測を使用する場合、加重平均のための加重値インデックスを導出することができる。すなわち、インター予測タイプが双(bi)予測である場合、マージ候補リスト内のペアワイズ候補のための加重値インデックス情報を誘導又は導出することができる。
【0188】
例えば、前記ペアワイズ候補が前記マージ候補リスト内の2個のマージ候補(例えば、cand0及びcand1)に基づいて導出されることができ、前記ペアワイズ候補が双予測を使用する場合、前記ペアワイズ候補の加重値インデックスは、前記マージ候補cand0及び/又はマージ候補cand1の加重値インデックスに基づいて導出されることができる。言い換えると、前記ペアワイズ候補の加重値インデックスは、前記ペアワイズ候補を導出するのに用いられたマージ候補のいずれかのマージ候補(例えば、マージ候補cand0又はマージ候補cand1)の加重値インデックスとして導出されることができる。或いは、例えば、前記ペアワイズ候補の加重値インデックスは、前記ペアワイズ候補を導出するのに用いられたマージ候補(例えば、マージ候補cand0及びマージ候補cand1)の加重値インデックスの特定の割合で導出されることができる。ここで、特定の割合は1:1であり得るが、異なる割合によって導出されることもある。例えば、特定の割合は、デフォルト(default)割合又はデフォルト値で決定されることができるが、これに限定されるわけではなく、デフォルト割合は1:1の割合で定義されることもあるが、異なる割合で定義されることもある。或いは、例えば、マージ候補の加重値インデックスの特定の割合に基づいてペアワイズ候補の加重値インデックスを導出する場合、特定の割合によって、前述したように、前記ペアワイズ候補の加重値インデックスがマージ候補のいずれかのマージ候補の加重値インデックスとして導出されることと同じ結果が導出されることもある。
【0189】
一方、本文書のまた別の実施例によれば、サブブロック単位のマージモードのための動きベクトルの候補の構成時、(代表)動きベクトルの候補が双予測を使用するとき、加重平均のための加重値インデックスを誘導又は導出することができる。すなわち、インター予測タイプが双(bi)予測である場合、アフィンマージ候補リスト又はサブブロックのマージ候補リスト内の候補(又はアフィンマージ候補)のための加重値インデックス情報を誘導又は導出することができる。
【0190】
例えば、アフィンマージ候補のうち、構成された(constructed)アフィンマージ候補は、現在ブロックの空間的(spatial)に隣接したブロック(又は空間的周辺ブロック)又は時間的(temporal)に隣接したブロック(又は時間的周辺ブロック)の動き情報に基づいて、CP0、CP1、CP2又はRB候補を導出し、アフィンモデルとしてMVFを導出する候補を示すことができる。例えば、CP0は、現在ブロックの左上側サンプルポジションで位置するコントロールポイントを示すことができ、CP1は、現在ブロックの右上側サンプルポジションに位置するコントロールポイントを示すことができ、CP2は、現在ブロックの左下側サンプルポジションに位置するコントロールポイントを示すことができる。また、RBは、現在ブロックの右下側サンプルポジションに位置するコントロールポイントを示すことができる。
【0191】
例えば、(代表)動きベクトルの候補が構成されたアフィンマージ候補(又は(現在)アフィンマージ候補)である場合、(現在)アフィンマージ候補の加重値インデックスは、CP0候補ブロックのうち、CP0での動きベクトルで決定されたブロックの加重値インデックスとして導出されることができる。或いは、(現在)アフィンマージ候補の加重値インデックスは、CP1候補ブロックのうち、CP1での動きベクトルで決定されたブロックの加重値インデックスとして導出されることができる。或いは、(現在)アフィンマージ候補の加重値インデックスは、CP2候補ブロックのうち、CP2での動きベクトルで決定されたブロックの加重値インデックスとして導出されることができる。或いは、(現在)アフィンマージ候補の加重値インデックスは、RB候補ブロックのうち、RBでの動きベクトルで決定されたブロックの加重値インデックスとして導出されることができる。或いは、(現在)アフィンマージ候補の加重値インデックスは、CP0での動きベクトルで決定されたブロックの加重値インデックス、CP1での動きベクトルで決定されたブロックの加重値インデックス、CP2での動きベクトルで決定されたブロックの加重値インデックス、又はRBでの動きベクトルで決定されたブロックの加重値インデックスの少なくとも一つに基づいて導出されることもある。例えば、複数の加重値インデックスに基づいて、前記(現在)アフィンマージ候補の加重値インデックスを導出する場合、前記複数の加重値インデックスに対する特定の割合が用いられることもある。ここで、特定の割合は、1:1、1:1:1又は1:1:1:1であり得るが、別の割合によって導出されることもある。例えば、特定の割合は、デフォルト(default)割合又はデフォルト値で決定されることができるが、これに限定されるわけではなく、デフォルト割合は1:1の割合で定義され得るが、別の割合で定義されることもある。
【0192】
或いは、例えば、前記(現在)アフィンマージ候補の加重値インデックスは、各候補の加重値インデックスのうち、発生頻度が高い候補の加重値インデックスとして導出されることができる。例えば、CP0候補ブロックのうち、CP0での動きベクトルで決定された候補ブロックの加重値インデックス、CP1候補ブロックのうち、CP1での動きベクトルで決定された候補ブロックの加重値インデックス、CP2候補ブロックのうち、CP2での動きベクトルで決定された候補ブロックの加重値インデックス及び/又はRB候補ブロックのうち、RBでの動きベクトルで決定された候補ブロックの加重値インデックスのうち、最も多く重複する加重値インデックスを前記(現在)アフィンマージ候補の加重値インデックスとして導出することができる。
【0193】
例えば、前記コントロールポイントとしてCP0及びCP1が用いられてもよく、CP0、CP1及びCP2が用いられてもよく、RBは用いられなくてもよい。但し、例えば、アフィンブロック(アフィン予測モードでコーディングされるブロック)のRB候補を活用しようとする際には、前述した実施例で説明した時間的候補ブロックでの加重値インデックスを誘導又は導出する方法が活用できる。例えば、CP0、CP1、又はCP2は、現在ブロックの空間的周辺ブロックに基づいて候補を導出し、候補の中からCP0、CP1又はCP2での動きベクトル(すなわち、CPMV1、CPMV2又はCPMV3)として用いるブロックを決定することができる。或いは、例えば、RBは、現在ブロックの時間的周辺ブロックに基づいて候補を導出し、候補の中からRBでの動きベクトルとして用いるブロックを決定することができる。
【0194】
或いは、例えば、(代表)動きベクトルの候補がSbTMVP(又はATMVP)候補である場合、前記SbTMVP候補の加重値インデックスは、現在ブロックの左側の周辺ブロックの加重値インデックスとして導出されることができる。すなわち、SbTMVP(又はATMVP)に誘導された候補が双予測を使用する場合、現在ブロックの左側の周辺ブロックの加重値インデックスをサブブロックベースのマージモードのための加重値インデックスとして導出できる。すなわち、インター予測タイプが双(bi)予測である場合、アフィンマージ候補リスト又はサブブロックのマージ候補リスト内のSbTMVP候補のための加重値インデックス情報を誘導又は導出することができる。
【0195】
例えば、SbTMVP候補は、現在ブロックの空間的に隣接した左側ブロック(又は左側の周辺ブロック)を基準にコル(col)ブロックを導出することができるので、前記左側の周辺ブロックの加重値インデックスは信頼を受けることができると見ることができる。これによって、前記SbTMVP候補の加重値インデックスは、左側の周辺ブロックの加重値インデックスとして導出されることができる。
【0196】
図10及び11は、本文書の実施例に係るビデオ/映像エンコーディング方法及び関連のコンポーネントの一例を概略的に示す。
【0197】
図10で開示された方法は、
図2又は
図11で開示されたエンコーディング装置によって行われ得る。具体的に、例えば、
図10のS1000乃至S1030は、
図11の前記エンコーディング装置200の予測部220によって行われ得、
図10のS1040は、
図11の前記エンコーディング装置200のエントロピーエンコーディング部240によって行われ得る。また、
図10で示していないが、
図11で前記エンコーディング装置200の予測部220により予測サンプル又は予測関連の情報を導出することができ、前記エンコーディング装置200のレジデュアル処理部230により原本サンプル又は予測サンプルからレジデュアル情報が導出でき、前記エンコーディング装置200のエントロピーエンコーディング部240により、レジデュアル情報又は予測関連の情報からビットストリームが生成できる。
図10で開示された方法は、本文書で前述した実施例を含むことができる。
【0198】
図10を参照すると、エンコーディング装置は、現在ブロックのインター予測モードを決定し、インター予測モードを示すインター予測モード情報を生成することができる(S1000)。例えば、エンコーディング装置は、現在ブロックに適用するインター予測モードとして、マージモード、アフィン(マージ)モード又はサブブロックマージモードを決定することができ、これを示すインター予測モード情報を生成することができる。
【0199】
エンコーディング装置は、インター予測モードに基づいて現在ブロックのマージ候補リストを生成することができる(S1010)。例えば、エンコーディング装置は、決定したインター予測モードによってマージ候補リストを生成することができる。ここで、決定したインター予測モードがアフィンマージモード又はサブブロックマージモードである場合、前記マージ候補リストは、アフィンマージ候補リスト又はサブブロックのマージ候補リスト等のように呼ばれ得るが、簡略にマージ候補リストと呼ばれることもある。
【0200】
例えば、前記マージ候補リスト内の候補の数が最大の候補数になるまでマージ候補リストに候補が挿入できる。ここで、候補は、現在ブロックの動き情報(又は動きベクトル)を導出するための候補又は候補ブロックを示すことができる。例えば、候補ブロックは、現在ブロックの周辺ブロックに対する探索を通じて導出されることができる。例えば、周辺ブロックは、現在ブロックの空間的周辺ブロック及び/又は時間的周辺ブロックを含むことができ、空間的周辺ブロックが優先的に探索され、(空間的マージ)候補が導出でき、その後、時間的周辺ブロックが探索され、(時間的マージ)候補として導出されることができ、導出された候補は、前記マージ候補リストに挿入できる。例えば、前記マージ候補リストは、前記候補を挿入した後にも、前記マージ候補リスト内の候補の数が最大の候補数よりも少ない場合、追加の候補を挿入することができる。例えば、追加の候補は、履歴ベースマージ候補(history based merge candidate(s))、ペアワイズ平均マージ候補(pair-wise average merge candidate(s))、ATMVP、組み合わせられた双予測(combined bi-predictive)マージ候補(現在スライス/タイルグループのスライス/タイルグループのタイプがBタイプである場合)及び/又はゼロベクトルマージ候補の少なくとも一つを含むことができる。
【0201】
或いは、例えば、アフィンマージ候補リスト内の候補の数が最大の候補数になるまでアフィンマージ候補リストに候補が挿入できる。ここで、候補は、現在ブロックのCPMV(Control Point Motion Vector)を含むことができる。又は、前記候補は、前記CPMVを導出するための候補又は候補ブロックを示すこともできる。前記CPMVは、現在ブロックのCP(Control Point)での動きベクトルを示すことができる。例えば、CPは、2個、3個又は4個であり得、現在ブロックの左上側(又は左上側角)、右上側(又は右上側角)、左下側(又は左下側角)又は右下側(又は右下側角)の少なくとも一部に位置し得、(各)位置毎に一つのCPのみが存在し得る。
【0202】
例えば、候補は、現在ブロックの周辺ブロック(又は現在ブロックのCPの周辺ブロック)に対する探索を通じて導出されることができる。例えば、アフィンマージ候補リストは、承継された(inherited)アフィンマージの候補、構成された(constructed)アフィンマージの候補又はゼロ(zero)動きベクトルの候補の少なくとも一つを含むことができる。例えば、アフィンマージ候補リストは、とりあえず前記承継されたアフィンマージ候補を挿入することができ、以降、構成されたアフィンマージ候補を挿入することができる。また、アフィンマージ候補リストに構成されたアフィンマージ候補まで挿入したが、前記アフィンマージ候補リスト内の候補の数が最大の候補数よりも小さい場合、残りはゼロ動きベクトルの候補で満たされることができる。ここで、ゼロ動きベクトルの候補は、ゼロベクトルと呼ばれることもある。例えば、アフィンマージ候補リストは、サンプル単位で動きベクトルが導出されるアフィンマージモードによるリストであってもよいが、サブブロック単位で動きベクトルが導出されるアフィンマージモードによるリストであってもよい。この場合、アフィンマージ候補リストは、サブブロックのマージ候補リストと呼ばれることもあり、サブブロックのマージ候補リストは、SbTMVPとして導出された候補(又はSbTMVP候補)も含まれ得る。例えば、SbTMVP候補がサブブロックのマージ候補リストに含まれる場合、サブブロックのマージ候補リスト内で承継されたアフィンマージ候補及び構成されたアフィンマージ候補より前に位置し得る。
【0203】
エンコーディング装置は、マージ候補リストに含まれた候補のうちの一つの候補を選択し、選択された候補を示す選択情報を生成することができる(S1020)。例えば、マージ候補リストは、空間的マージ候補、時間的マージ候補、ペアワイズ候補又はゼロベクトル候補の少なくとも一部を含むことができ、現在ブロックのインター予測のためにこのような候補のうちの一つの候補を選択することができる。或いは、例えば、サブブロックのマージ候補リストは、承継されたアフィンマージ候補、構成されたアフィンマージ候補、SbTMVP候補又はゼロベクトル候補の少なくとも一部を含むことができ、現在ブロックのインター予測のために、このような候補のうちの一つの候補を選択することができる。
【0204】
例えば、前記選択情報は、前記マージ候補リスト内の選択された候補を示すインデックス情報を含むことができる。例えば、前記選択情報は、マージインデックス情報又はサブブロックマージインデックス情報と呼ばれることもある。
【0205】
エンコーディング装置は、現在ブロックのインター予測タイプを双予測(bi-prediction)で示すインター予測タイプ情報を生成することができる(S1030)。例えば、前記現在ブロックのインター予測タイプは、L0予測、L1予測又は双(bi)予測のうち、双予測で決定されることができ、これを示すインター予測タイプ情報を生成することができる。ここで、L0予測は、参照ピクチャリスト0ベースの予測を示すことができ、L1予測は、参照ピクチャリスト1ベースの予測を示すことができ、双予測は、参照ピクチャリスト0及び参照ピクチャリスト1ベースの予測を示すことができる。例えば、エンコーディング装置は、前記インター予測タイプに基づいてインター予測タイプ情報を生成することができる。例えば、前記インター予測タイプ情報は、inter_pred_idcのシンタックス要素を含むことができる。
【0206】
エンコーディング装置は、インター予測モード情報、選択情報及びインター予測タイプ情報を含む映像情報をエンコーディングすることができる(S1040)。例えば、前記映像情報は、ビデオ情報と呼ばれることもある。前記映像情報は、本文書の前述した実施例に係る多様な情報を含むことができる。例えば、映像情報は、予測関連の情報又はレジデュアル関連の情報の少なくとも一部を含むことができる。例えば、前記予測関連の情報は、前記インター予測モード情報、選択情報及びインター予測タイプ情報の少なくとも一部を含むことができる。例えば、エンコーディング装置は、前述した情報(又はシンタックス要素)の全部または一部を含む映像情報をエンコーディングし、ビットストリーム又はエンコーディングされた情報を生成することができる。或いは、ビットストリームの形態で出力することができる。また、前記ビットストリーム又はエンコーディングされた情報は、ネットワーク又は格納媒体を介してデコーディング装置に送信されることができる。
【0207】
図10に示していないが、例えば、エンコーディング装置は、現在ブロックの予測サンプルを生成することができる。或いは、例えば、エンコーディング装置は、選択された候補に基づいて、現在ブロックの予測サンプルを生成することができる。或いは、例えば、エンコーディング装置は、選択された候補に基づいて動き情報を導出することができ、動き情報に基づいて現在ブロックの予測サンプルを生成することができる。例えば、エンコーディング装置は、双予測によってL0予測サンプル及びL1予測サンプルを生成することができ、前記L0予測サンプル及び前記L1予測サンプルに基づいて、現在ブロックの予測サンプルを生成することができる。この場合、双予測のための加重値インデックス情報(又は加重値情報)を用いて、前記L0予測サンプル及び前記L1予測サンプルから現在ブロックの予測サンプルを生成することができる。ここで、加重値情報は、前記加重値インデックス情報に基づいて示されることができる。
【0208】
言い換えると、例えば、エンコーディング装置は、選択された候補に基づいて、現在ブロックのL0予測サンプル及びL1予測サンプルを生成することができる。例えば、現在ブロックのインター予測タイプが双予測と決定された場合、現在ブロックの予測のために、参照ピクチャリスト0及び参照ピクチャリスト1が用いられることができる。例えば、前記L0予測サンプルは、前記参照ピクチャリスト0に基づいて導出された現在ブロックの予測サンプルを示すことができ、前記L1予測サンプルは、前記参照ピクチャリスト1に基づいて導出された現在ブロックの予測サンプルを示すことができる。
【0209】
例えば、前記候補は、空間的マージ候補を含むことができる。例えば、前記選択された候補が前記空間的マージ候補である場合、前記空間的マージ候補に基づいて、L0動き情報及びL1動き情報が導出でき、これに基づいて、前記L0予測サンプル及び前記L1予測サンプルが生成できる。
【0210】
例えば、前記候補は、時間的マージ候補を含むことができる。例えば、前記選択された候補が前記時間的マージ候補である場合、前記時間的マージ候補に基づいてL0動き情報及びL1動き情報が導出でき、これに基づいて、前記L0予測サンプル及び前記L1予測サンプルが生成できる。
【0211】
例えば、前記候補は、ペアワイズ(pair-wise)候補を含むことができる。例えば、前記選択された候補がペアワイズ候補である場合、前記ペアワイズ候補に基づいて、L0動き情報及びL1動き情報が導出でき、これに基づいて、前記L0予測サンプル及び前記L1予測サンプルが生成できる。例えば、前記ペアワイズ候補は、前記マージ候補リストに含まれた候補のうち、他の2個の候補に基づいて導出されることができる。
【0212】
或いは、例えば、前記マージ候補リストは、サブブロックのマージ候補リストであり得、アフィンマージ候補、サブブロックのマージ候補又はSbTMVP候補が選択されることもある。ここで、サブブロック単位のアフィンマージ候補は、サブブロックのマージ候補と呼ばれることもある。
【0213】
例えば、前記候補は、サブブロックのマージ候補を含むことができる。例えば、前記選択された候補が前記サブブロックのマージ候補である場合、前記サブブロックのマージ候補に基づいてL0動き情報及びL1動き情報が導出でき、これに基づいて、前記L0予測サンプル及び前記L1予測サンプルが生成できる。例えば、前記サブブロックのマージ候補は、CPMV(Control Point Motion Vector)を含むことができ、前記L0予測サンプル及び前記L1予測サンプルは、前記CPMVに基づいてサブブロック単位で予測が行われて生成できる。
【0214】
ここで、CPMVは、前記現在ブロックのCP(Control Point)の周辺ブロックのうちの一つのブロックに基づいて示されることができる。例えば、CPは、2個、3個又は4個であり得、現在ブロックの左上側(又は左上側角)、右上側(又は右上側角)、左下側(又は左下側角)又は右下側(又は右下側角)の少なくとも一部に位置し得、(各)位置毎に一つのCPのみが存在し得る。
【0215】
例えば、前記CPが前記現在ブロックの左上側に位置するCP0であり得る。この場合、前記周辺ブロックは、前記現在ブロックの左上側角の周辺ブロック、前記左上側角の周辺ブロックの下側に隣接した左側の周辺ブロック及び前記左上側角の周辺ブロックの右側に隣接した上側の周辺ブロックを含むことができる。或いは、前記周辺ブロックは、
図8で、A
2ブロック、B
2ブロック又はB
3ブロックを含むことができる。
【0216】
或いは、例えば、前記CPが前記現在ブロックの右上側に位置するCP1であり得る。この場合、前記周辺ブロックは、前記現在ブロックの右上側角の周辺ブロック及び前記右上側角の周辺ブロックの左側に隣接した上側の周辺ブロックを含むことができる。或いは、前記周辺ブロックは、
図8で、B
0ブロック又はB
1ブロックを含むことができる。
【0217】
或いは、例えば、前記CPが前記現在ブロックの左下側に位置するCP2であり得る。この場合、前記周辺ブロックは、前記現在ブロックの左下側角の周辺ブロック及び前記左下側角の周辺ブロックの上側に隣接した左側の周辺ブロックを含むことができる。若しくは、前記周辺ブロックは、
図8で、A
0ブロック又はA
1ブロックを含むことができる。
【0218】
或いは、例えば、前記CPが前記現在ブロックの右下側に位置するCP3であり得る。ここで、CP3はRBと呼ばれることもある。この場合、前記周辺ブロックは、前記現在ブロックのコル(col)ブロック又は前記コルブロックの右下側角の周辺ブロックを含むことができる。ここで、前記コルブロックは、前記現在ブロックが位置する現在ピクチャと異なる参照ピクチャ内に前記現在ブロックと同じ位置のブロックを含むことができる。或いは、前記周辺ブロックは、
図8で、Tブロックを含むことができる。
【0219】
或いは、例えば、前記候補は、SbTMVP候補を含むことができる。例えば、前記選択された候補が前記SbTMVP候補である場合、前記現在ブロックの左側の周辺ブロックに基づいてL0動き情報及びL1動き情報が導出でき、これに基づいて、前記L0予測サンプル及び前記L1予測サンプルが生成できる。例えば、前記L0予測サンプル及び前記L1予測サンプルは、サブブロック単位で予測が行われて生成されることができる。
【0220】
例えば、L0動き情報は、L0参照ピクチャのインデックス及びL0動きベクトル等を含むことができ、L1動き情報は、L1参照ピクチャのインデックス及びL1動きベクトル等を含むことができる。L0参照ピクチャのインデックスは、参照ピクチャリスト0で参照ピクチャを示す情報を含むことができ、L1参照ピクチャのインデックスは、参照ピクチャリスト1で参照ピクチャを示す情報を含むことができる。
【0221】
例えば、エンコーディング装置は、L0予測サンプル、L1予測サンプル及び加重値情報に基づいて、現在ブロックの予測サンプルを生成することができる。例えば、前記加重値情報は、加重値インデックス情報に基づいて示されることができる。前記加重値インデックス情報は、双予測のための加重値インデックス情報を示すことができる。例えば、前記加重値情報は、L0予測サンプル又はL1予測サンプルの加重平均のための情報を含むことができる。すなわち、前記加重値インデックス情報は、前記加重平均に用いられた加重値に対するインデックス情報を示すことができ、前記加重平均に基づいて予測サンプルを生成する手続で、加重値インデックス情報を生成することもできる。例えば、加重値インデックス情報は、3個又は5個の加重値のいずれかの加重値を示す情報を含むことができる。例えば、前記加重平均は、BCW(Bi-prediction with CU-level Weight)又はBWA(Bi-prediction with Weighted Average)での加重平均を示すことができる。
【0222】
例えば、前記候補は、時間的マージ候補を含むことができ、前記加重値インデックス情報は0で示されることができる。すなわち、時間的マージ候補のための加重値インデックス情報は0で示されることができる。ここで、0である加重値インデックス情報は、各参照方向(すなわち、双予測でL0予測方向及びL1予測方向)の加重値が同一であることを示すことができる。或いは、例えば、前記候補は、時間的マージ候補を含むことができ、前記加重値インデックス情報は、コル(col)ブロックの加重値インデックス情報に基づいて示されることができる。すなわち、時間的マージ候補のための加重値インデックス情報は、コル(col)ブロックの加重値インデックス情報に基づいて示されることができる。ここで、前記コルブロックは、前記現在ブロックが位置する現在ピクチャと異なる参照ピクチャ内に前記現在ブロックと同じ位置のブロックを含むことができる。
【0223】
或いは、例えば、前記候補は、ペアワイズ(pair-wise)候補を含むことができ、前記加重値インデックス情報は、前記ペアワイズ候補を導出するのに用いられたマージ候補リスト内の他の2個の候補のうちの一つの加重値インデックス情報で示されることができる。すなわち、前記ペアワイズ候補のための加重値インデックス情報は、前記ペアワイズ候補を導出するのに用いられたマージ候補リスト内の他の2個の候補のうちの一つの加重値インデックス情報で示されることができる。或いは、例えば、前記加重値インデックス情報は、前記2個の候補の加重値インデックス情報に基づいて示されることもできる。
【0224】
或いは、例えば、前記マージ候補リストは、サブブロックのマージ候補リストであり得、アフィンマージ候補、サブブロックのマージ候補又はSbTMVP候補が選択されることもある。ここで、サブブロック単位のアフィンマージ候補は、サブブロックのマージ候補と呼ばれることもある。
【0225】
例えば、前記候補は、サブブロックのマージ候補を含むことができ、前記加重値インデックス情報は、現在ブロックのCPの周辺ブロックのうち、特定のブロックの加重値インデックス情報に基づいて示されることができる。すなわち、前記サブブロックのマージ候補のための加重値インデックス情報は、現在ブロックのCPの周辺ブロックのうち、特定のブロックの加重値インデックス情報に基づいて示されることができる。ここで、前記特定のブロックは、前記CPに対するCPMVの導出のために使用されるブロックであり得る。或いは、現在ブロックのCPの周辺ブロックのうち、CPMVとして用いられるMVを有するブロックであり得る。
【0226】
例えば、前記CPが前記現在ブロックの左上側に位置するCP0であり得る。この場合、前記加重値インデックス情報は、前記現在ブロックの左上側角の周辺ブロックの加重値インデックス情報、前記左上側角の周辺ブロックの下側に隣接した左側の周辺ブロックの加重値インデックス情報、又は前記左上側角の周辺ブロックの右側に隣接した上側の周辺ブロックの加重値インデックス情報に基づいて示されることができる。或いは、前記加重値インデックス情報は、
図8で、A
2ブロックの加重値インデックス情報、B
2ブロックの加重値インデックス情報又はB
3ブロックの加重値インデックス情報に基づいて示されることができる。
【0227】
或いは、例えば、前記CPが前記現在ブロックの右上側に位置するCP1であり得る。この場合、前記加重値インデックス情報は、前記現在ブロックの右上側角の周辺ブロックの加重値インデックス情報、又は前記右上側角の周辺ブロックの左側に隣接した上側の周辺ブロックの加重値インデックス情報に基づいて示されることができる。或いは、前記加重値インデックス情報は、
図8で、B
0ブロックの加重値インデックス情報、又はB
1ブロックの加重値インデックス情報に基づいて示されることができる。
【0228】
或いは、例えば、前記CPが前記現在ブロックの左下側に位置するCP2であり得る。この場合、前記加重値インデックス情報は、前記現在ブロックの左下側角の周辺ブロックの加重値インデックス情報、又は前記左下側角の周辺ブロックの上側に隣接した左側の周辺ブロックの加重値インデックス情報に基づいて示されることができる。或いは、前記加重値インデックス情報は、
図8で、A
0ブロックの加重値インデックス情報、又はA
1ブロックの加重値インデックス情報に基づいて示されることができる。
【0229】
或いは、例えば、前記CPが前記現在ブロックの右下側に位置するCP3であり得る。ここで、CP3はRBと呼ばれることもある。この場合、前記加重値インデックス情報は、前記現在ブロックのコル(col)ブロックの加重値インデックス情報、又は前記コルブロックの右下側角の周辺ブロックの加重値インデックス情報に基づいて示されることができる。ここで、前記コルブロックは、前記現在ブロックが位置する現在ピクチャと異なる参照ピクチャ内に前記現在ブロックと同じ位置のブロックを含むことができる。或いは、前記加重値インデックス情報は、
図8で、Tブロックの加重値インデックス情報に基づいて示されることができる。
【0230】
或いは、例えば、前記CPは、複数のCPを含むことができる。例えば、複数のCPは、CP0、CP1、CP2又はRBの少なくとも二つを含むことができる。この場合、前記加重値インデックス情報は、前記CPMVそれぞれの導出のために使用された特定のブロックの加重値インデックス情報のうち、最も多く重複する加重値インデックス情報に基づいて示されることができる。或いは、前記加重値インデックス情報は、前記特定のブロックの加重値インデックス情報のうち、発生頻度が最も高い加重値インデックス情報に基づいて示されることができる。すなわち、前記加重値インデックス情報は、複数のCPそれぞれに対するCPMVを導出するために使用された特定のブロックの加重値インデックス情報に基づいて示されることができる。
【0231】
或いは、例えば、前記候補は、SbTMVP候補を含むことができ、前記加重値インデックス情報は、前記現在ブロックの左側の周辺ブロックの加重値インデックス情報に基づいて示されることができる。すなわち、SbTMVP候補のための加重値インデックス情報は、前記左側の周辺ブロックの加重値インデックス情報に基づいて示されることができる。或いは、例えば、前記候補は、SbTMVP候補を含むことができ、前記加重値インデックス情報は、0で示されることができる。すなわち、SbTMVP候補のための加重値インデックス情報は、0で示されることができる。ここで、0である加重値インデックス情報は、各参照方向(すなわち、双予測でL0予測方向及びL1予測方向)の加重値が同一であることを示すことができる。或いは、例えば、前記候補は、SbTMVP候補を含むことができ、前記加重値インデックス情報は、コル(col)ブロック内のセンターブロックの加重値インデックス情報に基づいて示されることができる。すなわち、SbTMVP候補のための加重値インデックス情報は、コル(col)ブロック内のセンターブロックの加重値インデックス情報に基づいて示されることができる。ここで、前記コルブロックは、前記現在ブロックが位置する現在ピクチャと異なる参照ピクチャ内に前記現在ブロックと同じ位置のブロックを含むことができ、前記センターブロックは、前記コルブロックの中央に位置する4個のサブブロックのうち、右下側のサブブロックを含むことができる。或いは、例えば、前記候補は、SbTMVP候補を含むことができ、前記加重値インデックス情報は、コル(col)ブロックのサブブロックそれぞれの加重値インデックス情報に基づいて示されることができる。すなわち、SbTMVP候補のための加重値インデックス情報は、コル(col)ブロックのサブブロックそれぞれの加重値インデックス情報に基づいて示されることができる。
【0232】
或いは、
図10に示していないが、例えば、エンコーディング装置は、前記予測サンプルと原本サンプルとに基づいて、レジデュアルサンプルを導出することができる。この場合、前記レジデュアルサンプルに基づいて、レジデュアル関連の情報が導出できる。前記レジデュアル関連の情報に基づいて、レジデュアルサンプルが導出できる。前記レジデュアルサンプル及び前記予測サンプルに基づいて、復元サンプルが生成できる。前記復元サンプルに基づいて、復元ブロック及び復元ピクチャが導出できる。或いは、例えば、エンコーディング装置は、レジデュアル関連の情報又は予測関連の情報を含む映像情報をエンコーディングすることができる。
【0233】
例えば、エンコーディング装置は、前述した情報(又はシンタックス要素)の全部又は一部を含む映像情報をエンコーディングし、ビットストリーム又はエンコーディングされた情報を生成することができる。或いは、ビットストリームの形態で出力できる。また、前記ビットストリーム又はエンコーディングされた情報は、ネットワーク又は格納媒体を介してデコーディング装置に送信されることができる。或いは、前記ビットストリーム又はエンコーディングされた情報は、コンピュータ読み取り可能な格納媒体に格納されることができ、前記ビットストリーム又は前記エンコーディングされた情報は、前述した映像エンコーディング方法により生成できる。
【0234】
図12及び
図13は、本文書の実施例に係るビデオ/映像デコーディング方法及び関連のコンポーネントの一例を概略的に示す。
【0235】
図12で開示された方法は、
図3又は
図13で開示されたデコーディング装置によって行われ得る。具体的に、例えば、
図12のS1200は、
図13で前記デコーディング装置300のエントロピーデコーディング部310によって行われ得、
図12のS1210乃至S1260は、
図13で前記デコーディング装置300の予測部330によって行われ得る。また、
図12で示していないが、
図13で前記デコーディング装置300のエントロピーデコーディング部310によりビットストリームから予測関連の情報又はレジデュアル情報が導出でき、前記デコーディング装置300のレジデュアル処理部320によりレジデュアル情報からレジデュアルサンプルが導出でき、前記デコーディング装置300の予測部330により予測関連の情報から予測サンプルが導出でき、前記デコーディング装置300の加算部340によりレジデュアルサンプル又は予測サンプルから復元ブロック又は復元ピクチャが導出できる。
図12で開示された方法は、本文書で前述した実施例を含むことができる。
【0236】
図12を参照すると、デコーディング装置は、ビットストリームを介してインター予測モード情報及びインター予測タイプ情報を含む映像情報を受信することができる(S1200)。例えば、前記映像情報は、ビデオ情報と呼ばれることもある。前記映像情報は、本文書の前述した実施例に係る多様な情報を含むことができる。例えば、映像情報は、予測関連の情報又はレジデュアル関連の情報の少なくとも一部を含むことができる。
【0237】
例えば、前記予測関連の情報は、インター予測モード情報又はインター予測タイプ情報を含むことができる。例えば、前記インター予測モード情報は、多様なインター予測モードの少なくとも一部を示す情報を含むことができる。例えば、マージモード、スキップモード、MVP(motion vector prediction)モード、アフィン(Affine)モード、サブブロックマージモード又はMMVD(merge with MVD)モード等の多様なモードが使用され得る。また、DMVR(Decoder side motion vector refinement)モード、AMVR(adaptive motion vector resolution)モード、BCW(Bi-prediction with CU-level weight)又はBDOF(Bi-directional optical flow)等が付随的モードとして、さらに又は代わりに使用され得る。例えば、前記インター予測タイプ情報は、inter_pred_idcのシンタックス要素を含むことができる。或いは、前記インター予測タイプ情報は、L0予測、L1予測又は双(bi)予測のいずれかを示す情報を含むことができる。
【0238】
デコーディング装置は、インター予測モード情報に基づいて、現在ブロックのマージ候補リストを生成することができる(S1210)。例えば、デコーディング装置は、前記インター予測モード情報に基づいて、現在ブロックのインター予測モードをマージモード、アフィン(マージ)モード又はサブブロックマージモードと決定することができ、決定したインター予測モードによってマージ候補リストを生成することができる。ここで、インター予測モードがアフィンマージモード又はサブブロックマージモードと決定された場合、前記マージ候補リストは、アフィンマージ候補リスト又はサブブロックのマージ候補リスト等のように呼ばれ得るが、簡略にマージ候補リストと呼ばれることもある。
【0239】
例えば、前記マージ候補リスト内の候補の数が最大の候補数になるまでマージ候補リストに候補が挿入できる。ここで、候補は、現在ブロックの動き情報(又は動きベクトル)を導出するための候補又は候補ブロックを示すことができる。例えば、候補ブロックは、現在ブロックの周辺ブロックに対する探索を通じて導出できる。例えば、周辺ブロックは、現在ブロックの空間的周辺ブロック及び/又は時間的周辺ブロックを含むことができ、空間的周辺ブロックが優先的に探索され、(空間的マージ)候補が導出でき、以降、時間的周辺ブロックが探索され、(時間的マージ)候補として導出でき、導出された候補は、前記マージ候補リストに挿入されることができる。例えば、前記マージ候補リストは、前記候補を挿入した後にも前記マージ候補リスト内の候補の数が最大の候補数よりも少ない場合、追加の候補を挿入することができる。例えば、追加の候補は、履歴ベースマージ候補(history based merge candidate(s))、ペアワイズ平均マージ候補(pair-wise average merge candidate(s))、ATMVP、組み合わせられた双予測(combined bi-predictive)マージ候補(現在スライス/タイルグループのスライス/タイルグループのタイプがBタイプである場合)及び/又はゼロベクトルマージ候補の少なくとも一つを含むことができる。
【0240】
或いは、例えば、アフィンマージ候補リスト内の候補の数が最大の候補数になるまでアフィンマージ候補リストに候補が挿入できる。ここで、候補は、現在ブロックのCPMV(Control Point Motion Vector)を含むことができる。或いは、前記候補は、前記CPMVを導出するための候補又は候補ブロックを示すこともできる。前記CPMVは、現在ブロックのCP(Control Point)での動きベクトルを示すことができる。例えば、CPは、2個、3個又は4個であり得、現在ブロックの左上側(又は左上側角)、右上側(又は右上側角)、左下側(又は左下側角)又は右下側(又は右下側角)の少なくとも一部に位置し得、(各)位置毎に一つのCPのみが存在し得る。
【0241】
例えば、候補ブロックは、現在ブロックの周辺ブロック(又は現在ブロックのCPの周辺ブロック)に対する探索を通じて導出できる。例えば、アフィンマージ候補リストは、承継された(inherited)アフィンマージ候補、構成された(constructed)アフィンマージ候補又はゼロ(zero)動きベクトル候補の少なくとも一つを含むことができる。例えば、アフィンマージ候補リストは、とりあえず前記承継されたアフィンマージ候補を挿入することができ、以降、構成されたアフィンマージ候補を挿入することができる。また、アフィンマージ候補リストに構成されたアフィンマージ候補まで挿入したが、前記アフィンマージ候補リスト内の候補の数が最大の候補数よりも小さい場合、残りはゼロ動きベクトルの候補で満たされることができる。ここで、ゼロ動きベクトルの候補は、ゼロベクトルと呼ばれることもある。例えば、アフィンマージ候補リストは、サンプル単位で動きベクトルが導出されるアフィンマージモードによるリストであり得るが、サブブロック単位で動きベクトルが導出されるアフィンマージモードによるリストであり得る。この場合、アフィンマージ候補リストは、サブブロックのマージ候補リストと呼ばれることもあり、サブブロックのマージ候補リストは、SbTMVPとして導出された候補(又はSbTMVP候補)も含まれ得る。例えば、SbTMVP候補がサブブロックのマージ候補リストに含まれる場合、サブブロックのマージ候補リスト内で承継されたアフィンマージ候補及び構成されたアフィンマージ候補よりも前に位置し得る。
【0242】
デコーディング装置は、マージ候補リストに含まれた候補のうちの一つの候補を選択することができる(S1220)。例えば、マージ候補リストは、空間的マージ候補、時間的マージ候補、ペアワイズ候補又はゼロベクトル候補の少なくとも一部を含むことができ、現在ブロックのインター予測のために、このような候補のうちの一つの候補を選択することができる。或いは、例えば、サブブロックのマージ候補リストは、承継されたアフィンマージ候補、構成されたアフィンマージ候補、SbTMVP候補又はゼロベクトル候補の少なくとも一部を含むことができ、現在ブロックのインター予測のために、このような候補のうちの一つの候補を選択することができる。例えば、前記選択された候補は、選択情報に基づいて、前記マージ候補リストから選択されることができる。例えば、前記選択情報は、前記前記マージ候補リスト内の選択された候補を示すインデックス情報を含むことができる。例えば、前記選択情報は、マージインデックス情報又はサブブロックマージインデックス情報と呼ばれることもある。例えば、前記選択情報は、前記映像情報に含まれ得る。或いは、前記選択情報は、前記インター予測モード情報に含まれることもある。
【0243】
デコーディング装置は、インター予測タイプ情報に基づいて、現在ブロックのインター予測タイプを双予測(bi-prediction)として導出できる(S1230)。例えば、前記現在ブロックのインター予測タイプは、前記インター予測タイプ情報に基づいて、L0予測、L1予測又は双(bi)予測のうち、双予測として導出されることができる。ここで、L0予測は、参照ピクチャリスト0ベースの予測を示すことができ、L1予測は、参照ピクチャリスト1ベースの予測を示すことができ、双予測は、参照ピクチャリスト0及び参照ピクチャリスト1ベースの予測を示すことができる。例えば、前記インター予測タイプ情報は、inter_pred_idcのシンタックス要素を含むことができる。
【0244】
デコーディング装置は、選択された候補に基づいて、現在ブロックの動き情報を導出することができる(S1240)。例えば、デコーディング装置は、インター予測タイプが双予測として導出されることによって、選択された候補に基づいて、L0動き情報及びL1動き情報を導出することができる。例えば、L0動き情報は、L0参照ピクチャのインデックス及びL0動きベクトル等を含むことができ、L1動き情報は、L1参照ピクチャのインデックス及びL1動きベクトル等を含むことができる。L0参照ピクチャのインデックスは、参照ピクチャリスト0で参照ピクチャを示す情報を含むことができ、L1参照ピクチャインデックスは、参照ピクチャリスト1で参照ピクチャを示す情報を含むことができる。
【0245】
デコーディング装置は、動き情報に基づいて、現在ブロックのL0予測サンプル及びL1予測サンプルを生成することができる(S1250)。例えば、現在ブロックのインター予測タイプが双予測として導出された場合、現在ブロックの予測のために、参照ピクチャリスト0及び参照ピクチャリスト1が用いられ得る。例えば、前記L0予測サンプルは、前記参照ピクチャリスト0に基づいて導出された現在ブロックの予測サンプルを示すことができ、前記L1予測サンプルは、前記参照ピクチャリスト1に基づいて導出された現在ブロックの予測サンプルを示すことができる。
【0246】
例えば、前記候補は、空間的マージ候補を含むことができる。例えば、前記選択された候補が前記空間的マージ候補である場合、前記空間的マージ候補に基づいて、L0動き情報及びL1動き情報が導出でき、これに基づいて、前記L0予測サンプル及び前記L1予測サンプルが生成できる。
【0247】
例えば、前記候補は、時間的マージ候補を含むことができる。例えば、前記選択された候補が前記時間的マージ候補である場合、前記時間的マージ候補に基づいて、L0動き情報及びL1動き情報が導出でき、これに基づいて、前記L0予測サンプル及び前記L1予測サンプルが生成できる。
【0248】
例えば、前記候補は、ペアワイズ(pair-wise)候補を含むことができる。例えば、前記選択された候補がペアワイズ候補である場合、前記ペアワイズ候補に基づいて、L0動き情報及びL1動き情報が導出でき、これに基づいて、前記L0予測サンプル及び前記L1予測サンプルが生成できる。例えば、前記ペアワイズ候補は、前記マージ候補リストに含まれた候補のうち、他の2個の候補に基づいて導出されることができる。
【0249】
或いは、例えば、前記マージ候補リストは、サブブロックのマージ候補リストであり得、アフィンマージ候補、サブブロックのマージ候補又はSbTMVP候補が選択されることもある。ここで、サブブロック単位のアフィンマージ候補は、サブブロックのマージ候補と呼ばれることもある。
【0250】
例えば、前記候補は、サブブロックのマージ候補を含むことができる。例えば、前記選択された候補が前記サブブロックのマージ候補である場合、前記サブブロックのマージ候補に基づいて、L0動き情報及びL1動き情報が導出でき、これに基づいて、前記L0予測サンプル及び前記L1予測サンプルが生成できる。例えば、前記サブブロックのマージ候補は、CPMV(Control Point Motion Vector)を含むことができ、前記L0予測サンプル及び前記L1予測サンプルは、前記CPMVに基づいてサブブロック単位で予測が行われて生成されることができる。
【0251】
ここで、CPMVは、前記現在ブロックのCP(Control Point)の周辺ブロックのうちの一つのブロックに基づいて導出されることができる。例えば、CPは、2個、3個又は4個であり得、現在ブロックの左上側(又は左上側角)、右上側(又は右上側角)、左下側(又は左下側角)又は右下側(又は右下側角)の少なくとも一部に位置し得、(各)位置毎に一つのCPのみが存在し得る。
【0252】
例えば、前記CPが前記現在ブロックの左上側に位置するCP0であり得る。この場合、前記周辺ブロックは、前記現在ブロックの左上側角の周辺ブロック、前記左上側角の周辺ブロックの下側に隣接した左側の周辺ブロック及び前記左上側角の周辺ブロックの右側に隣接した上側の周辺ブロックを含むことができる。或いは、前記周辺ブロックは、
図8で、A
2ブロック、B
2ブロック又はB
3ブロックを含むことができる。
【0253】
或いは、例えば、前記CPが前記現在ブロックの右上側に位置するCP1であり得る。この場合、前記周辺ブロックは、前記現在ブロックの右上側角の周辺ブロック及び前記右上側角の周辺ブロックの左側に隣接した上側の周辺ブロックを含むことができる。或いは、前記周辺ブロックは、
図8で、B
0ブロック又はB
1ブロックを含むことができる。
【0254】
或いは、例えば、前記CPが前記現在ブロックの左下側に位置するCP2であり得る。この場合、前記周辺ブロックは、前記現在ブロックの左下側角の周辺ブロック及び前記左下側角の周辺ブロックの上側に隣接した左側の周辺ブロックを含むことができる。或いは、前記周辺ブロックは、
図8で、A
0ブロック又はA
1ブロックを含むことができる。
【0255】
或いは、例えば、前記CPが前記現在ブロックの右下側に位置するCP3であり得る。ここで、CP3はRBと呼ばれることもある。この場合、前記周辺ブロックは、前記現在ブロックのコル(col)ブロック又は前記コルブロックの右下側角の周辺ブロックを含むことができる。ここで、前記コルブロックは、前記現在ブロックが位置する現在ピクチャと異なる参照ピクチャ内に前記現在ブロックと同じ位置のブロックを含むことができる。或いは、前記周辺ブロックは、
図8で、Tブロックを含むことができる。
【0256】
或いは、例えば、前記候補は、SbTMVP候補を含むことができる。例えば、前記選択された候補が前記SbTMVP候補である場合、前記現在ブロックの左側の周辺ブロックに基づいて、L0動き情報及びL1動き情報が導出でき、これに基づいて、前記L0予測サンプル及び前記L1予測サンプルが生成できる。例えば、前記L0予測サンプル及び前記L1予測サンプルは、サブブロック単位で予測が行われて生成されることができる。
【0257】
デコーディング装置は、L0予測サンプル、L1予測サンプル及び加重値情報に基づいて、現在ブロックの予測サンプルを生成することができる(S1260)。例えば、前記加重値情報は、加重値インデックス情報に基づいて導出されることができる。例えば、前記加重値情報は、L0予測サンプル又はL1予測サンプルの加重平均のための情報を含むことができる。すなわち、前記加重値インデックス情報は、前記加重平均に用いられた加重値に対するインデックス情報を示すことができ、前記加重平均は、加重値インデックス情報に基づいて行われ得る。例えば、加重値インデックス情報は、3個又は5個の加重値のいずれかの加重値を示す情報を含むことができる。例えば、前記加重平均は、BCW(Bi-prediction with CU-level Weight)又はBWA(Bi-prediction with Weighted Average)での加重平均を示すことができる。
【0258】
例えば、前記候補は、時間的マージ候補を含むことができ、前記加重値インデックス情報は、0として導出されることができる。すなわち、時間的マージ候補のための加重値インデックス情報は、0として導出されることができる。ここで、0である加重値インデックス情報は、各参照方向(すなわち、双予測でL0予測方向及びL1予測方向)の加重値が同一であることを示すことができる。或いは、例えば、前記候補は、時間的マージ候補を含むことができ、前記加重値インデックス情報は、コル(col)ブロックの加重値インデックス情報に基づいて導出されることができる。すなわち、時間的マージ候補のための加重値インデックス情報は、コル(col)ブロックの加重値インデックス情報に基づいて導出されることができる。ここで、前記コルブロックは、前記現在ブロックが位置する現在ピクチャと異なる参照ピクチャ内に前記現在ブロックと同じ位置のブロックを含むことができる。
【0259】
或いは、例えば、前記候補は、ペアワイズ(pair-wise)候補を含むことができ、前記加重値インデックス情報は、前記ペアワイズ候補を導出するのに用いられたマージ候補リスト内の他の2個の候補のうちの一つの加重値インデックス情報として導出されることができる。すなわち、前記ペアワイズ候補のための加重値インデックス情報は、前記ペアワイズ候補を導出するのに用いられたマージ候補リスト内の他の2個の候補のうちの一つの加重値インデックス情報として導出されることができる。或いは、例えば、前記加重値インデックス情報は、前記2個の候補の加重値インデックス情報に基づいて、導出されることもある。
【0260】
或いは、例えば、前記マージ候補リストは、サブブロックのマージ候補リストであり得、アフィンマージ候補、サブブロックのマージ候補又はSbTMVP候補が選択されることもある。ここで、サブブロック単位のアフィンマージ候補は、サブブロックのマージ候補と呼ばれることもある。
【0261】
例えば、前記候補は、サブブロックのマージ候補を含むことができ、前記加重値インデックス情報は、現在ブロックのCPの周辺ブロックのうち、特定のブロックの加重値インデックス情報に基づいて導出されることができる。すなわち、前記サブブロックのマージ候補のための加重値インデックス情報は、現在ブロックのCPの周辺ブロックのうち、特定のブロックの加重値インデックス情報に基づいて導出されることができる。ここで、前記特定のブロックは、前記CPに対するCPMVの導出のために使用されるブロックであり得る。或いは、現在ブロックのCPの周辺ブロックのうち、CPMVとして用いられるMVを有するブロックであり得る。
【0262】
例えば、前記CPが前記現在ブロックの左上側に位置するCP0であり得る。この場合、前記加重値インデックス情報は、前記現在ブロックの左上側角の周辺ブロックの加重値インデックス情報、前記左上側角の周辺ブロックの下側に隣接した左側の周辺ブロックの加重値インデックス情報又は前記左上側角の周辺ブロックの右側に隣接した上側の周辺ブロックの加重値インデックス情報に基づいて導出されることができる。或いは、前記加重値インデックス情報は、
図8で、A
2ブロックの加重値インデックス情報、B
2ブロックの加重値インデックス情報又はB
3ブロックの加重値インデックス情報に基づいて導出されることができる。
【0263】
或いは、例えば、前記CPが前記現在ブロックの右上側に位置するCP1であり得る。この場合、前記加重値インデックス情報は、前記現在ブロックの右上側角の周辺ブロックの加重値インデックス情報又は前記右上側角の周辺ブロックの下側に隣接した上側の周辺ブロックの加重値インデックス情報に基づいて導出されることができる。或いは、前記加重値インデックス情報は、
図8で、B
0ブロックの加重値インデックス情報又はB
1ブロックの加重値インデックス情報に基づいて導出されることができる。
【0264】
或いは、例えば、前記CPが前記現在ブロックの左下側に位置するCP2であり得る。この場合、前記加重値インデックス情報は、前記現在ブロックの左下側角の周辺ブロックの加重値インデックス情報又は前記左下側角の周辺ブロックの上側に隣接した左側の周辺ブロックの加重値インデックス情報に基づいて導出されることができる。或いは、前記加重値インデックス情報は、
図8で、A
0ブロックの加重値インデックス情報又はA
1ブロックの加重値インデックス情報に基づいて導出されることができる。
【0265】
或いは、例えば、前記CPが前記現在ブロックの右下側に位置するCP3であり得る。ここで、CP3はRBと呼ばれることもある。この場合、前記加重値インデックス情報は、前記現在ブロックのコル(col)ブロックの加重値インデックス情報又は前記コルブロックの右下側角の周辺ブロックの加重値インデックス情報に基づいて導出されることができる。ここで、前記コルブロックは、前記現在ブロックが位置する現在ピクチャと異なる参照ピクチャ内に前記現在ブロックと同じ位置のブロックを含むことができる。或いは、前記加重値インデックス情報は、
図8で、Tブロックの加重値インデックス情報に基づいて導出されることができる。
【0266】
或いは、例えば、前記CPは、複数のCPを含むことができる。例えば、複数のCPは、CP0、CP1、CP2又はRBの少なくとも二つを含むことができる。この場合、前記加重値インデックス情報は、前記CPMVそれぞれの導出のために使用された特定のブロックの加重値インデックス情報のうち最も多く重複する加重値インデックス情報に基づいて導出されることができる。或いは、前記加重値インデックス情報は、前記特定のブロックの加重値インデックス情報のうち、発生頻度が最も高い加重値インデックス情報に基づいて導出されることができる。すなわち、前記加重値インデックス情報は、複数のCPそれぞれに対するCPMVを導出するために使用された特定のブロックの加重値インデックス情報に基づいて導出されることができる。
【0267】
或いは、例えば、前記候補は、SbTMVP候補を含むことができ、前記加重値インデックス情報は、前記現在ブロックの左側の周辺ブロックの加重値インデックス情報に基づいて導出されることができる。すなわち、SbTMVP候補のための加重値インデックス情報は、前記左側の周辺ブロックの加重値インデックス情報に基づいて導出されることができる。或いは、例えば、前記候補は、SbTMVP候補を含むことができ、前記加重値インデックス情報は、0として導出されることができる。すなわち、SbTMVP候補のための加重値インデックス情報は、0として導出されることができる。ここで、0である加重値インデックス情報は、各参照方向(すなわち、双予測でL0予測方向及びL1予測方向)の加重値が同一であることを示すことができる。或いは、例えば、前記候補は、SbTMVP候補を含むことができ、前記加重値インデックス情報は、コル(col)ブロック内のセンターブロックの加重値インデックス情報に基づいて導出されることができる。すなわち、SbTMVP候補のための加重値インデックス情報は、コル(col)ブロック内のセンターブロックの加重値インデックス情報に基づいて導出されることができる。ここで、前記コルブロックは、前記現在ブロックが位置する現在ピクチャと異なる参照ピクチャ内に前記現在ブロックと同じ位置のブロックを含むことができ、前記センターブロックは、前記コルブロックの中央に位置する4個のサブブロックのうち、右下側のサブブロックを含むことができる。或いは、例えば、前記候補は、SbTMVP候補を含むことができ、前記加重値インデックス情報は、コル(col)ブロックのサブブロックそれぞれの加重値インデックス情報に基づいて導出されることができる。すなわち、SbTMVP候補のための加重値インデックス情報は、コル(col)ブロックのサブブロックそれぞれの加重値インデックス情報に基づいて導出されることができる。
【0268】
図12に示していないが、例えば、デコーディング装置は、前記映像情報に含まれたレジデュアル関連の情報に基づいて、レジデュアルサンプルを導出することができる。また、デコーディング装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて、復元サンプルを生成することができる。前記復元サンプルに基づいて、復元ブロック及び復元ピクチャが導出できる。
【0269】
例えば、デコーディング装置は、ビットストリーム又はエンコーディングされた情報をデコーディングし、前述した情報(又はシンタックス要素)の全部又は一部を含む映像情報を獲得することができる。また、前記ビットストリーム又はエンコーディングされた情報は、コンピュータ読み取り可能な格納媒体に格納されることができ、前述したデコーディング方法が行われるように引き起こすことができる。
【0270】
前述した実施例において、方法は、一連のステップ又はブロックとしてフローチャートに基づいて説明されているが、該当実施例は、ステップの順序に限定されるわけではなく、あるステップは、前述したところと異なるステップと異なる順序で、又は同時に発生し得る。また、当業者であれば、フローチャートに示されているステップが排他的ではなく、異なるステップが含まれるか、フローチャートの一つ又はそれ以上のステップが本文書の実施例の範囲に影響を与えずに削除され得ることを理解することができる。
【0271】
前述した本文書の実施例に係る方法は、ソフトウェアの形態で具現されることができ、本文書に係るエンコーディング装置及び/又はデコーディング装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置等の映像処理を行う装置に含まれ得る。
【0272】
本文書で、実施例がソフトウェアで具現される際、前述した方法は、前述した機能を行うモジュール(過程、機能等)で具現されることができる。モジュールはメモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部又は外部にあってもよく、よく知られている様々な手段でプロセッサと連結されてもよい。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/又はデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/又は他の格納装置を含むことができる。即ち、本文書で説明した実施例は、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で具現されて行われ得る。例えば、各図面で示している機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で具現されて行われ得る。この場合、具現のための情報(ex.information on instructions)又はアルゴリズムがデジタル格納媒体に格納されることができる。
【0273】
また、本文書の実施例が適用されるデコーディング装置及びエンコーディング装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、オーダーメイド型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、VR(virtual reality)装置、AR(argumente reality)装置、映像電話ビデオ装置、運送手段端末(ex.車両(自律走行車両含む)端末、飛行機端末、船舶端末など)及び医療用ビデオ装置等に含まれ得、ビデオ信号又はデータ信号を処理するために使用され得る。例えば、OTTビデオ(Over the top video)装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネットアクセスTV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)等を含み得る。
【0274】
また、本文書の実施例が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取ることができる記録媒体に格納されることができる。本文書の実施例に係るデータ構造を有するマルチメディアデータもまた、コンピュータが読み取ることができる記録媒体に格納されることができる。前記コンピュータが読み取ることができる記録媒体は、コンピュータで読み取られるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取ることができる記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピディスク、及び光学的データ格納装置を含み得る。また、前記コンピュータが読み取ることができる記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で具現されたメディアを含む。また、エンコーディング方法で生成されたビットストリームが、コンピュータが読み取られる記録媒体に格納されるか、有無線通信ネットワークを介して送信されることができる。
【0275】
また、本文書の実施例は、プログラムコードによるコンピュータプログラム製品で具現されることができ、前記プログラムコードは、本文書の実施例によってコンピュータで実行されることができる。前記プログラムコードは、コンピュータによって読み取り可能なキャリア上に格納されることができる。
【0276】
図14は、本文書で開示された実施例が適用できるコンテンツストリーミングシステムの例を示す。
【0277】
図14を参照すると、本文書の実施例が適用されるコンテンツストリーミングシステムは、大きくエンコーディングサーバ、ストリーミングサーバ、ウェブサーバ、メディアストレージ、ユーザ装置、及びマルチメディア入力装置を含むことができる。
【0278】
前記エンコーディングサーバは、スマートフォン、カメラ、カムコーダ等のようなマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。別の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコーディングサーバは省略され得る。
【0279】
前記ビットストリームは、本文書の実施例が適用されるエンコーディング方法又はビットストリームの生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信又は受信する過程で、一時的に前記ビットストリームを格納することができる。
【0280】
前記ストリーミングサーバは、ウェブサーバを介してのユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すれば、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0281】
前記ストリーミングサーバは、メディア格納所及び/又はエンコーディングサーバからコンテンツを受信することができる。例えば、前記エンコーディングサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムに受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間、格納することができる。
【0282】
前記ユーザ装置の例では、携帯電話、スマートフォン(smart phone)、ノートブックコンピュータ(laptop computer)、デジタル放送用端末機、PDA(personal digital assistants)、PMP(portable multimedia player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device、例えば、ウォッチ型端末機(smartwatch)、グラス型端末機(smart glass)、HMD(head mounted display))、デジタルTV、デスクトップコンピュータ、デジタルサイニジなどがありうる。
【0283】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
【0284】
本明細書に記載された請求項は、多様な方式で組み合わせることができる。例えば、本明細書の方法請求項の技術的特徴が組み合わせられて装置として具現されることができ、本明細書の装置請求項の技術的特徴が組み合わせられて方法として具現されることができる。また、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴とが組み合わせられて装置として具現されることができ、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴とが組み合わせられて方法として具現されることができる。
【手続補正書】
【提出日】2024-05-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコーディング装置によって行われる映像デコーディング方法において、
ビットストリームを介してインター予測モード情報及びレジデュアル情報を含む映像情報を受信するステップと、
前記インター予測モード情報に基づいて、現在ブロックのマージ候補リストを生成するステップと、
前記マージ候補リストに含まれた候補のうちの一つの候補を選択するステップと、
前記選択された候補に基づいて、前記現在ブロックの動き情報を導出するステップと、
前記導出された動き情報に基づいて、L0予測サンプル及びL1予測サンプルを生成するステップと、
前記L0予測サンプル、前記L1予測サンプル、及び加重値情報に基づいて前記現在ブロックの予測サンプルを生成し、前記加重値情報は、前記選択された候補に対する加重値インデックス情報に基づいて導出される、ステップと、
前記レジデュアル情報に基づいて変換係数を導出するステップと、
前記変換係数を逆量子化することによりレジデュアルサンプルを導出するステップと、
前記予測サンプルと前記レジデュアルサンプルに基づいて復元ピクチャを生成するステップを含み、
前記候補は、承継されたアフィンマージ候補と構成されたアフィンマージ候補を含み、
前記承継されたアフィンマージ候補は、前記現在ブロックの周辺ブロックのCPMV(Control Point Motion Vector)に基づいて導出され、
前記構成されたアフィンマージ候補は制御ポイント(CP)の複数のCPMVを含み、
前記構成されたアフィンマージ候補がCP0(Control Point 0)に対するCPMVを含むこと、及び双予測が前記現在ブロックに適用されることに基づいて、前記構成されたアフィンマージ候補に対する加重インデックス情報は、前記現在ブロックの前記CP0の周辺ブロックのうち、特定のブロックの加重値インデックス情報に等しいように固定され、前記CP0は前記現在ブロックの左上側角に関連し、
前記特定のブロックは、前記CP0に対する前記CPMVの導出のために使用されるブロックであり、
前記構成されたアフィンマージ候補は、前記マージ候補リストの中で前記承継されたアフィンマージ候補の後に挿入される、映像デコーディング方法。
【請求項2】
エンコーディング装置によって行われる映像エンコーディング方法において、
現在ブロックのインター予測モードを決定し、前記インター予測モードを示すインター予測モード情報を生成するステップと、
前記インター予測モードに基づいて、前記現在ブロックのマージ候補リストを生成するステップと、
前記マージ候補リストに含まれた候補のうちの一つの候補を選択し、前記選択された候補を示す選択情報を生成するステップと、
前記インター予測モードに関連する予測サンプルに基いて、レジデュアルサンプルを導出するステップと、
前記インター予測モード情報、前記レジデュアルサンプルに関連したレジデュアル情報及び前記選択情報を含む映像情報をエンコーディングするステップと、を含み、
前記候補は、承継されたアフィンマージ候補と構成されたアフィンマージ候補を含み、
前記承継されたアフィンマージ候補は、前記現在ブロックの周辺ブロックのCPMV(Control Point Motion Vector)に基づいて導出され、
前記構成されたアフィンマージ候補は制御ポイント(CP)の複数のCPMVを含み、
前記構成されたアフィンマージ候補がCP0(Control Point 0)に対するCPMVを含むこと、及び双予測が前記現在ブロックに適用されることに基づいて、前記構成されたアフィンマージ候補に対する加重インデックス情報は、前記現在ブロックのCP0(Control Point 0)の周辺ブロックのうち、特定のブロックの加重値インデックス情報に等しいように固定され、前記CP0は前記現在ブロックの左上側角に関連し、
前記特定のブロックは、前記CP0に対するCPMVの導出のために使用されるブロックであり、
前記構成されたアフィンマージ候補は、前記マージ候補リストの中で前記承継されたアフィンマージ候補の後に挿入される、映像エンコーディング方法。
【請求項3】
映像データに対する送信方法であって、
送信装置が、エンコードされた映像情報を取得するステップであって、前記エンコードされた映像情報は、現在ブロックのインター予測モードを決定し、前記インター予測モードを示すインター予測モード情報を生成し、前記インター予測モードに基づいて前記現在ブロックのマージ候補リストを生成し、前記マージ候補リストに含まれる候補の一つを選択し、前記選択された候補を示す選択情報を生成し、前記インター予測モードに関連する予測サンプルに基いて、レジデュアルサンプルを導出し、前記インター予測モード情報と、前記レジデュアルサンプルに関連したレジデュアル情報と前記選択情報を含む映像情報をエンコーディングすることを実行することにより生成される、ステップと、
前記送信装置が、前記エンコードされた映像情報に対する前記映像データを送信するステップを含み、
前記候補は、承継されたアフィンマージ候補と構成されたアフィンマージ候補を含み、
前記承継されたアフィンマージ候補は、前記現在ブロックの周辺ブロックのCPMV(Control Point Motion Vector)に基づいて導出され、
前記構成されたアフィンマージ候補は制御ポイント(CP)の複数のCPMVを含み、
前記承継されたアフィンマージ候補がCP0(Control Point 0)に対するCPMVを含むこと、及び双予測が前記現在ブロックに適用されることに基づいて、前記構成されたアフィンマージ候補に対する加重インデックス情報は、前記現在ブロックのCP0(Control Point 0)の周辺ブロックのうち、特定ブロックの加重値インデックス情報に等しいように固定され、前記CP0は前記現在ブロックの左上側角に関連し、
前記特定ブロックは、前記CP0に対するCPMVの導出のために使用されるブロックであり、
前記構成されたアフィンマージ候補は、前記マージ候補リストの中で前記承継されたアフィンマージ候補の後に挿入される、映像データに対する送信方法。