IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エルジー エレクトロニクス インコーポレイティドの特許一覧

特開2024-74931動きベクトル予測基盤映像/ビデオコーディング方法及び装置
<>
  • 特開-動きベクトル予測基盤映像/ビデオコーディング方法及び装置 図1
  • 特開-動きベクトル予測基盤映像/ビデオコーディング方法及び装置 図2
  • 特開-動きベクトル予測基盤映像/ビデオコーディング方法及び装置 図3
  • 特開-動きベクトル予測基盤映像/ビデオコーディング方法及び装置 図4
  • 特開-動きベクトル予測基盤映像/ビデオコーディング方法及び装置 図5
  • 特開-動きベクトル予測基盤映像/ビデオコーディング方法及び装置 図6
  • 特開-動きベクトル予測基盤映像/ビデオコーディング方法及び装置 図7
  • 特開-動きベクトル予測基盤映像/ビデオコーディング方法及び装置 図8
  • 特開-動きベクトル予測基盤映像/ビデオコーディング方法及び装置 図9
  • 特開-動きベクトル予測基盤映像/ビデオコーディング方法及び装置 図10
  • 特開-動きベクトル予測基盤映像/ビデオコーディング方法及び装置 図11
  • 特開-動きベクトル予測基盤映像/ビデオコーディング方法及び装置 図12
  • 特開-動きベクトル予測基盤映像/ビデオコーディング方法及び装置 図13
  • 特開-動きベクトル予測基盤映像/ビデオコーディング方法及び装置 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024074931
(43)【公開日】2024-05-31
(54)【発明の名称】動きベクトル予測基盤映像/ビデオコーディング方法及び装置
(51)【国際特許分類】
   H04N 19/52 20140101AFI20240524BHJP
   H04N 19/70 20140101ALI20240524BHJP
【FI】
H04N19/52
H04N19/70
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2024060953
(22)【出願日】2024-04-04
(62)【分割の表示】P 2021573962の分割
【原出願日】2020-06-15
(31)【優先権主張番号】62/861,321
(32)【優先日】2019-06-13
(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)【要約】
【課題】映像デコーディング方法の提供。
【解決手段】方法は、映像情報に基づいて現在ブロックをデコーディングし、映像情報に基づいて導き出したインター予測モード及び前記現在ブロックの隣接ブロックに基づいて前記現在ブロックに対するMVP候補リストを導き出し、前記MVP候補リストに基づいて前記現在ブロックの動き情報を導き出し、前記隣接ブロックは、前記現在ブロックの左下側コーナー隣接ブロック、左側隣接ブロック、右上側コーナー隣接ブロック、上側隣接ブロック及び左上側コーナー隣接ブロックを含み、前記動き情報は、L0予測のためのL0動きベクトルまたはL1予測のためのL1動きベクトルのうち、少なくとも一つを含み、前記L0動きベクトルは、L0動きベクトル予測子及びL0動きベクトル差分に基づいて導き出され、前記L1動きベクトルは、L1動きベクトル予測子及びL1動きベクトル差分に基づいて導き出す。
【選択図】図5
【特許請求の範囲】
【請求項1】
デコーディング装置によって行われる映像デコーディング方法であって、
ビットストリームから映像情報を取得するステップと、
前記映像情報に基づいて現在ブロックに対するインター予測モードを導き出すステップと、
前記インター予測モード及び前記現在ブロックの隣接ブロックに基づいて、前記現在ブロックに対するMVP(motion vector predictor)候補リストを導き出すステップと、
前記MVP候補リストに基づいて前記現在ブロックの動き情報を導き出すステップと、
前記動き情報に基づいて前記現在ブロックの予測サンプルを生成するステップと、
前記予測サンプルに基づいて復元サンプルを生成するステップと、を含み、
前記隣接ブロックは、左下側コーナー隣接ブロック、左側隣接ブロック、右上側コーナー隣接ブロック、上側隣接ブロック及び左上側コーナー隣接ブロックを含み、
前記動き情報は、L0予測のためのL0動きベクトルまたはL1予測のためのL1動きベクトルの少なくとも一つを含み、
前記L0動きベクトルは、L0動きベクトル予測子及びL0動きベクトル差分に基づいて導き出され、前記L1動きベクトルは、L1動きベクトル予測子及びL1動きベクトル差分に基づいて導き出され、
前記映像情報は、L1動きベクトル差分ゼロフラグを含み、
前記映像情報は、前記現在ブロックに対するCU(coding unit)シンタックスを含み、
前記CUシンタックスが前記現在ブロックに対するSMVD(symmetric motion vector differences)フラグを含むか否かは、前記現在ブロックに対する対称動きベクトル差分参照インデックスの値に基づいて決定され、
前記SMVDフラグの値が1である場合に基づいて、前記L1動きベクトル差分は、前記L0動きベクトル差分から導き出され、
前記L1動きベクトル差分ゼロフラグの値が1である場合に基づいて、前記L1動きベクトル差分は、前記SMVDフラグの前記値が1でないときに限り0として導き出される、映像デコーディング方法。
【請求項2】
前記映像情報は、ヘッダ情報を含み、
前記ヘッダ情報は、前記L1動きベクトル差分ゼロフラグを含む、請求項1に記載の映像デコーディング方法。
【請求項3】
前記映像情報は、SPS(sequence parameter set)を含み、
前記SPSは、SMVD可用フラグを含み、
前記CUシンタックスは、インター予測タイプ情報及びインターアフィンフラグを含み、前記インター予測タイプ情報は、前記現在ブロックに双予測が適用されるかどうかを表し、
前記SMVD可用フラグ、前記インター予測タイプ情報及び前記インターアフィンフラグにさらに基づいて、前記CUシンタックスは、前記SMVDフラグを含む、請求項1に記載の映像デコーディング方法。
【請求項4】
前記L1動きベクトル差分の絶対値は、前記L0動きベクトル差分の絶対値に等しく、
前記L1動きベクトル差分の符号は、前記L0動きベクトル差分の符号と異なる、請求項1に記載の映像デコーディング方法。
【請求項5】
エンコーディング装置によって行われる映像エンコーディング方法であって、
インター予測モード及び現在ブロックの隣接ブロックに基づいて前記現在ブロックに対するMVP(motion vector predictor)候補リストを導き出すステップと、
前記MVP候補リストに基づいて前記現在ブロックの動き情報を表すための情報を生成するステップと、
前記インター予測モードに関する情報または前記現在ブロックの前記動き情報を表すための前記情報の少なくとも一つを含む映像情報をエンコーディングするステップと、を含み、
前記隣接ブロックは、左下側コーナー隣接ブロック、左側隣接ブロック、右上側コーナー隣接ブロック、上側隣接ブロック及び左上側コーナー隣接ブロックを含み、
前記動き情報は、L0予測のためのL0動きベクトルまたはL1予測のためのL1動きベクトルの少なくとも一つを含み、
前記L0動きベクトルは、L0動きベクトル予測子及びL0動きベクトル差分に基づいて導き出され、前記L1動きベクトルは、L1動きベクトル予測子及びL1動きベクトル差分に基づいて導き出され、
前記映像情報は、L1動きベクトル差分ゼロフラグを含み、
前記映像情報は、前記現在ブロックに対するCU(coding unit)シンタックスを含み、
前記CUシンタックスが前記現在ブロックに対するSMVD(symmetric motion vector differences)フラグを含むか否かは、前記現在ブロックに対する対称動きベクトル差分参照インデックスの値に基づいて決定され、
前記SMVDフラグの値が1である場合に基づいて、前記L1動きベクトル差分は、前記L0動きベクトル差分から導き出され、
前記L1動きベクトル差分ゼロフラグの値が1である場合に基づいて、前記L1動きベクトル差分は、前記SMVDフラグの前記値が1でないときに限り0として導き出される、映像エンコーディング方法。
【請求項6】
前記映像情報は、ヘッダ情報を含み、
前記ヘッダ情報は、前記L1動きベクトル差分ゼロフラグを含む、請求項5に記載の映像エンコーディング方法。
【請求項7】
前記映像情報は、SPS(sequence parameter set)を含み、
前記SPSは、SMVD可用フラグを含み、
前記CUシンタックスは、インター予測タイプ情報及びインターアフィンフラグを含み、前記インター予測タイプ情報は、前記現在ブロックに双予測が適用されるかどうかを表し、
前記SMVD可用フラグ、前記インター予測タイプ情報及び前記インターアフィンフラグにさらに基づいて、前記CUシンタックスは、前記SMVDフラグを含む、請求項5に記載の映像エンコーディング方法。
【請求項8】
前記L1動きベクトル差分の絶対値は、前記L0動きベクトル差分の絶対値に等しく、
前記L1動きベクトル差分の符号は、前記L0動きベクトル差分の符号と異なる、請求項5に記載の映像エンコーディング方法。
【請求項9】
映像に対するデータを送信する方法であって、
前記映像に対するビットストリームを取得するステップであって、
前記ビットストリームは、インター予測モード及び現在ブロックの隣接ブロックに基づいて、前記現在ブロックに対するMVP(motion vector predictor)候補リストを導き出すステップと、前記MVP候補リストに基づいて前記現在ブロックの動き情報を表すための情報を生成するステップと、前記ビットストリームを生成するための映像情報をエンコーディングするステップと、を実行することにより生成され、
前記映像情報は、前記インター予測モードに関する情報または前記現在ブロックの前記動き情報を表すための前記情報の少なくとも一つを含む、ステップと、
前記ビットストリームを含む前記データを送信するステップと、を含み、
前記隣接ブロックは、左下側コーナー隣接ブロック、左側隣接ブロック、右上側コーナー隣接ブロック、上側隣接ブロック及び左上側コーナー隣接ブロックを含み、
前記動き情報は、L0予測のためのL0動きベクトルまたはL1予測のためのL1動きベクトルの少なくとも一つを含み、
前記L0動きベクトルは、L0動きベクトル予測子及びL0動きベクトル差分に基づいて導き出され、前記L1動きベクトルは、L1動きベクトル予測子及びL1動きベクトル差分に基づいて導き出され、
前記映像情報は、L1動きベクトル差分ゼロフラグを含み、
前記映像情報は、前記現在ブロックに対するCU(coding unit)シンタックスを含み、
前記CUシンタックスが前記現在ブロックに対するSMVD(symmetric motion vector differences)フラグを含むか否かは、前記現在ブロックに対する対称動きベクトル差分参照インデックスの値に基づいて決定され、
前記SMVDフラグの値が1である場合に基づいて、前記L1動きベクトル差分は、前記L0動きベクトル差分から導き出され、
前記L1動きベクトル差分ゼロフラグの値が1である場合に基づいて、前記L1動きベクトル差分は、前記SMVDフラグの前記値が1でないときに限り0として導き出される、方法。
【請求項10】
前記ヘッダ情報は、ピクチャヘッダ情報を含む、請求項2に記載の映像デコーディング方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、動きベクトル予測基盤映像/ビデオコーディング方法及び装置に関する。
【背景技術】
【0002】
近年、4Kまたは8K以上のUHD(Ultra High Definition)画像/ビデオのような高解像度、高品質の画像/ビデオに対する需要が様々な分野で増加している。画像/ビデオデータが高解像度、高品質になるほど、既存の画像/ビデオデータに比べて相対的に送信される情報量またはビット量が増加するので、既存の有無線広帯域回線のような媒体を利用して画像データを送信するか、既存の格納媒体を利用して画像/ビデオデータを格納する場合、送信費用と格納費用が増加される。
【0003】
また、近年、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの実感メディア(Immersive Media)に対する関心及び需要が増加しており、ゲーム画像のように、現実画像と異なる画像特性を有する画像/ビデオに対する放送が増加している。
【0004】
これにより、上記のような様々な特性を有する高解像度・高品質の画像/ビデオの情報を効果的に圧縮して送信するか、格納し、再生するために高効率の画像/ビデオ圧縮技術が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本文書の一実施例によれば、映像/ビデオコーディング効率を上げる方法及び装置を提供する。
【0006】
本文書の一実施例によれば、映像/ビデオコーディングシステムにおける效率的にインター予測を行う方法及び装置を提供する。
【0007】
本文書の一実施例によれば、動きベクトル予測基盤インター予測を行う方法及び装置を提供する。
【0008】
本文書の一実施例によれば、インター予測において動きベクトル差分に関する情報をシグナリングする方法及び装置を提供する。
【0009】
本文書の一実施例によれば、現在ブロックに双予測が適用される場合、予測関連情報をシグナリングする方法及び装置を提供する。
【0010】
本文書の一実施例によれば、L1動きベクトル差分ゼロフラグ及び/またはSMVDフラグをシグナリングする方法及び装置を提供する。
【0011】
本文書の一実施例によると、デコーディング装置により実行されるビデオ/映像デコーディング方法を提供する。
【0012】
本文書の一実施例によると、ビデオ/映像デコーディングを実行するデコーディング装置を提供する。
【0013】
本文書の一実施例によると、エンコーディング装置により実行されるビデオ/映像エンコーディング方法を提供する。
【0014】
本文書の一実施例によると、ビデオ/映像エンコーディングを実行するエンコーディング装置を提供する。
【0015】
本文書の一実施例によると、本文書の実施例のうち少なくとも一つに開示されたビデオ/映像エンコーディング方法によって生成されたエンコーディングされたビデオ/映像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【0016】
本文書の一実施例によると、デコーディング装置により本文書の実施例のうち少なくとも一つに開示されたビデオ/映像デコーディング方法を実行するようにするエンコーディングされた情報またはエンコーディングされたビデオ/映像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【発明の効果】
【0017】
本文書によれば、全般的な映像/ビデオ圧縮効率を上げることができる。
【0018】
本文書によれば、動きベクトル差分に関する情報を效率的にシグナリングすることができる。
【0019】
本文書によれば、現在ブロックに双予測が適用される場合、L1動きベクトル差分を效率的に導き出すことができる。
【0020】
本文書によれば、L1動きベクトル差分を導き出すのに利用される情報を效率的にシグナリングして、コーディングシステムの複雑度を下げることができる。
【0021】
本文書によれば、インター予測モードに関する情報シグナリングにおいて発生できるビット浪費を避けることができ、全般的なコーディング効率を上げることができる。
【0022】
本文書の具体的な一例を介して得ることができる効果は、以上で羅列された効果に制限されない。例えば、関連した技術分野の通常の知識を有する者が(a person having ordinary skill in the related art)が本文書から理解し、または誘導できる多様な技術的効果が存在できる。それによって、本文書の具体的な効果は、本文書に明示的に記載されたものに制限されずに、本文書の技術的特徴から理解され、または誘導されることができる多様な効果を含むことができる。
【図面の簡単な説明】
【0023】
図1図1は、本文書が適用されることができるビデオ/映像コーディングシステムの例を概略的に示す。
図2図2は、本文書が適用されることができるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。
図3図3は、本文書が適用されることができるビデオ/映像デコーディング装置の構成を概略的に説明する図である。
図4図4は、インター予測基盤ビデオ/映像エンコーディング方法の例を示す。
図5図5は、インター予測基盤ビデオ/映像デコーディング方法の例を示す。
図6図6は、インター予測手順を例示的に示す。
図7図7は、MVPモードにおいて動き情報候補導出のために使用される空間的隣接ブロックを例示的に示す。
図8図8は、本文書によるMVP候補リストを構成する方法を概略的に示す。
図9図9は、対称(symmetric)MVDを説明するための図である。
図10図10は、本文書の実施例(ら)によるビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。
図11図11は、本文書の実施例(ら)によるビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。
図12図12は、本文書の実施例(ら)によるビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。
図13図13は、本文書の実施例(ら)によるビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。
図14図14は、本文書において開示された実施例が適用されることができるコンテンツストリーミングシステムの例を示す。
【発明を実施するための形態】
【0024】
本文書は、様々な変更を加えることができ、種々の実施例を有することができ、特定実施例を図面に例示し、詳細に説明しようとする。しかしながら、これは、本文書を特定実施例に限定しようとするものではない。本明細書で常用する用語は、単に特定の実施例を説明するために使用されたものであって、本文書の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明白に異なるように意味しない限り、複数の表現を含む。本明細書において「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、一つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないことと理解されるべきである。
【0025】
一方、本文書で説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の都合上、独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで具現されるということを意味するものではない。例えば、各構成のうち、二つ以上の構成が結合されて一つの構成をなすこともでき、一つの構成を複数の構成に分けることもできる。各構成が統合及び/または分離された実施例も本文書の本質から外れない限り、本文書の権利範囲に含まれる。
【0026】
本文書は、ビデオ/映像コーディングに関する。例えば、本文書に開示された方法/実施例は、VVC(Versatile Video Coding)標準に開示される方法に適用されることができる。また、本文書において開示された方法/実施例は、EVC(essential video coding)標準、AV1(AOMedia Video 1) 標準、AVS2 (2nd generation of audio video coding standard)または次世代ビデオ/映像コーディング標準(ex. H.267 or H.268など)に開示される方法に適用されることができる。
【0027】
本文書ではビデオ/映像コーディングに関する多様な実施例を提示し、他の言及がない限り、前記実施例は、互いに組み合わせて実行されることもできる。
【0028】
以下、添付した図面を参照して、本文書の実施例を説明しようとする。以下、図面上の同じ構成要素については、同じ参照符号を使用することもでき、同じ構成要素については、重複した説明は省略できる。
【0029】
図1は、本文書の実施例が適用されることができるビデオ/映像コーディングシステムの例を概略的に示す。
【0030】
図1に示すように、ビデオ/映像コーディングシステムは、第1装置(ソースデバイス)及び第2装置(受信デバイス)を含むことができる。ソースデバイスは、エンコーディングされたビデオ(video)/映像(image)情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスに伝達できる。
【0031】
前記ソースデバイスは、ビデオソース、エンコーディング装置、送信部を含むことができる。前記受信デバイスは、受信部、デコーディング装置、及びレンダラを含むことができる。前記エンコーディング装置は、ビデオ/映像エンコーディング装置と呼ばれることができ、前記デコーディング装置は、ビデオ/映像デコーディング装置と呼ばれることができる。送信機は、エンコーディング装置に含まれることができる。受信機は、デコーディング装置に含まれることができる。レンダラは、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
【0032】
ビデオソースは、ビデオ/映像のキャプチャ、合成または生成過程などを介してビデオ/映像を取得することができる。ビデオソースは、ビデオ/映像キャプチャデバイス及び/またはビデオ/映像生成デバイスを含むことができる。ビデオ/映像キャプチャデバイスは、例えば、一つ以上のカメラ、以前にキャプチャされたビデオ/映像を含むビデオ/映像アーカイブなどを含むことができる。ビデオ/映像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含むことができ、(電子的に)ビデオ/映像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/映像が生成されることができ、この場合、ビデオ/映像キャプチャ過程を関連データが生成される過程に代替されることができる。
【0033】
エンコーディング装置は、入力ビデオ/映像をエンコーディングすることができる。エンコーディング装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を実行することができる。エンコーディングされたデータ(エンコーディングされたビデオ/映像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0034】
送信部は、ビットストリーム形態で出力されたエンコーディングされたビデオ/映像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達できる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。送信部は、あらかじめ決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介した送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコーディング装置に伝達できる。
【0035】
デコーディング装置は、エンコーディング装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を実行してビデオ/映像をデコーディングすることができる。
【0036】
レンダラは、デコーディングされたビデオ/映像をレンダリングすることができる。レンダリングされたビデオ/映像は、ディスプレイ部を介してディスプレイされることができる。
【0037】
本文書において、ビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味することができる。ピクチャ(picture)は、一般的に特定時間帯の一つの映像を示す単位を意味し、スライス(slice)/タイル(tile)は、コーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、一つ以上のCTU(coding tree unit)を含むことができる。一つのピクチャは、一つ以上のスライス/タイルで構成されることができる。一つのピクチャは、一つ以上のタイルグループで構成されることができる。タイルは、ピクチャ内の特定タイル列及び特定タイル列以内の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)。
【0038】
一方、一つのピクチャは、二つ以上のサブピクチャに区分されることができる。サブピクチャは、ピクチャ内の一つ以上のスライスの四角リージョンでありうる(an rectangular region of one or more slices within a picture)。
【0039】
ピクセル(pixel)またはペール(pel)は、一つのピクチャ(または映像)を構成する最小の単位を意味できる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般にピクセルまたはピクセルの値を表すことができ、ルーマ(luma)成分のピクセル/ピクセル値だけを表すこともでき、クロマ(chroma)成分のピクセル/ピクセル値だけを表すこともできる。
【0040】
ユニット(unit)は、映像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち少なくとも一つを含むことができる。一つのユニットは、一つのルマブロック及び二つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(または、サンプルアレイ)、または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
【0041】
本文書において“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)”を意味できる。
【0042】
本文書において使用されるスラッシュ(/)またはコンマ(comma)は、“及び/または(and/or)”を意味できる。例えば、“A/B”は、“A及び/またはB”を意味できる。これにより“A/B”は、“ただA”、“ただB”または“AとB全部”を意味できる。例えば、“A、B、C”は、“A、BまたはC”を意味できる。
【0043】
本文書において“少なくとも一つの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)”と同様に解析できる。
【0044】
また、本文書において“少なくとも一つの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、Band/or C)”は、“少なくとも一つのA、B及びC(at least one of A、B and C)”を意味できる。
【0045】
また、本文書において使用される括弧は、“例えば(for example)”を意味できる。具体的に、“予測(イントラ予測)”と表示された場合、“予測”の一例として“イントラ予測”が提案されたことでありうる。言い換えれば、本文書の“予測”は、“イントラ予測”に制限(limit)されず、“イントラ予測”が“予測”の一例として提案されたことでありうる。また、“予測(すなわち、イントラ予測)”と表示された場合にも、“予測”の一例として“イントラ予測”が提案されたことでありうる。
【0046】
本文書において一つの図面内において個別的に説明される技術的特徴は、個別的に具現されることもでき、同時に具現されることもできる。
【0047】
図2は、本文書の実施例が適用されることができるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。以下、エンコーディング装置とは、映像エンコーディング装置及び/またはビデオエンコーディング装置を含むことができる。また、映像エンコーディング方法/装置とは、ビデオエンコーディング方法/装置を含むことができる。または、ビデオエンコーディング方法/装置とは、映像エンコーディング方法/装置を含むことができる。
【0048】
図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を内/外部コンポーネントとしてさらに備えることもできる。
【0049】
画像分割部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)を導く単位であることができる。
【0050】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)等の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、画像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0051】
エンコーディング装置200は、入力映像信号(原本ブロック、原本サンプルアレイ)からインター予測部221またはイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算して、レジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成でき、生成されたレジデュアル信号は、変換部232に送信される。この場合、図示のように、エンコーダ200内で入力映像信号(原本ブロック、原本サンプルアレイ)から予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれることができる。予測部は、処理対象ブロック(以下、現在ブロックという)に対した予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成できる。予測部は、現在ブロックまたはCU単位でイントラ予測が適用されるか、またはインター予測が適用されるかを決定できる。予測部は、各予測モードに対する説明において後述するように予測モード情報など、予測に関する多様な情報を生成してエントロピーエンコーディング部240に伝達できる。予測に関する情報は、エントロピーエンコーディング部240でエンコーディングされて、ビットストリーム形態で出力されることができる。
【0052】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することができ、または、離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは、例示であり、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用され得る。イントラ予測部222は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0053】
インター予測部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)をシグナリングすることにより、現在ブロックの動きベクトルを指示することができる。
【0054】
予測部220は、後述する多様な予測方法に基づいて予測信号を生成できる。例えば、予測部は、一つのブロックに対する予測のためにイントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測を同時に適用できる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy、IBC)予測モードに基づくこともでき、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えばSCC(screen content coding)などのように、ゲームなどのコンテンツ映像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導き出すという点でインター予測と同様に行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも一つを利用できる。パレットモードは、イントラコーディングまたはイントラ予測の一例として見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいて、ピクチャ内のサンプル値をシグナリングすることができる。
【0055】
前記予測部(インター予測部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)を利用して予測信号を生成し、それに基づいて獲得される変換を意味する。また、変換過程は、正四角形の同じ大きさを有するピクセルブロックに適用されることもでき、正四角形でない可変大きさのブロックにも適用されることができる。
【0056】
量子化部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)の値等)を共にまたは別にエンコーディングすることもできる。エンコーディングされた情報(ex.エンコーディングされた映像/ビデオ情報)は、ビットストリーム形態でNAL(network abstraction layer)ユニット単位で送信または格納されることができる。前記映像/ビデオ情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)またはビデオパラメータセット(VPS)等、多様なパラメータセットに関する情報をさらに含むことができる。また、前記映像/ビデオ情報は、一般制限情報(general constraint information)をさらに含むことができる。本文書においてエンコーディング装置からデコーディング装置に伝達/シグナリングされる情報及び/またはシンタックス要素は、映像/ビデオ情報に含まれることができる。前記映像/ビデオ情報は、上述したエンコーディング手順を介してエンコーディングされて、前記ビットストリームに含まれることができる。前記ビットストリームは、ネットワークを介して送信されることができ、またはデジタル格納媒体に格納されることができる。ここで、ネットワークは、放送網及び/または通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。エントロピーエンコーディング部240から出力された信号は、送信する送信部(図示せず)及び/または格納する格納部(図示せず)がエンコーディング装置200の内/外部エレメントとして構成されることができ、または送信部は、エントロピーエンコーディング部240に含まれることもできる。
【0057】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために利用されることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することによって、レジデュアル信号(レジデュアルブロックまたはレジデュアルサンプル)を復元できる。加算部250は、復元されたレジデュアル信号をインター予測部221またはイントラ予測部222から出力された予測信号に足すことによって、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成されることができる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経てピクチャのインター予測のために使用されることもできる。
【0058】
一方、ピクチャエンコーディング及び/または復元過程においてLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0059】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに多様なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成でき、前記修正された復元ピクチャをメモリ270、具体的にメモリ270のDPBに格納することができる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法に対する説明において後述するようにフィルタリングに関する多様な情報を生成して、エントロピーエンコーディング部240に伝達できる。フィルタリングに関する情報は、エントロピーエンコーディング部240でエンコーディングされて、ビットストリーム形態で出力されることができる。
【0060】
メモリ270に送信された修正された復元ピクチャは、インター予測部221において参照ピクチャとして使用されることができる。エンコーディング装置は、これを介してインター予測が適用される場合、エンコーディング装置200とデコーディング装置での予測ミスマッチを避けることができ、符号化効率度も向上させることができる。
【0061】
メモリ270のDPBは。修正された復元ピクチャをインター予測部221での参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコーディングされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するためにインター予測部221に伝達できる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達できる。
【0062】
図3は、本文書の実施例が適用されることができるビデオ/映像デコーディング装置の構成を概略的に説明する図である。以下、デコーディング装置とは、映像デコーディング装置及び/またはビデオデコーディング装置を含むことができる。また、映像デコーディング方法/装置とは、ビデオデコーディング方法/装置を含むことができる。または、ビデオデコーディング方法/装置とは、映像デコーディング方法/装置を含むことができる。
【0063】
図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を内/外部コンポーネントとしてさらに備えることもできる。
【0064】
映像/ビデオ情報を含むビットストリームが入力されれば、デコーディング装置300は、図2のエンコーディング装置で映像/ビデオ情報が処理されたプロセスに対応して映像を復元することができる。例えば、デコーディング装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出することができる。デコーディング装置300は、エンコーディング装置で適用された処理ユニットを用いてデコーディングを行うことができる。したがって、デコーディングの処理ユニットは、例えば、コーディングユニットであることができ、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/またはターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出され得る。そして、デコーディング装置300を介してデコーディング及び出力された復元画像信号は、再生装置を介して再生されることができる。
【0065】
デコーディング装置300は、図2のエンコーディング装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコーディング部310を介してデコーディングされることができる。例えば、エントロピーデコーディング部310は、前記ビットストリームをパーシングして映像復元(または、ピクチャ復元)に必要な情報(例えば、ビデオ/映像情報)を導出することができる。前記映像/ビデオ情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)またはビデオパラメータセット(VPS)等、多様なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/映像情報は、一般制限情報(general constraint information)をさらに含むことができる。デコーディング装置は、前記パラメータセットに関する情報及び/または前記一般制限情報にも基づいてピクチャをデコーディングすることができる。本文書で後述されるシグナリング/受信される情報及び/またはシンタックス要素は、前記デコーディング手順を介してデコーディングされて前記ビットストリームから取得されることができる。例えば、エントロピーデコーディング部310は、指数ゴロム符号化、CAVLCまたはCABACなどのコーディング方法を基礎にしてビットストリーム内の情報をデコーディングし、映像復元に必要なシンタックス要素の値、レジデュアルに関する変換係数の量子化された値を出力することができる。より詳しくは、CABACエントロピーデコーディング方法は、ビットストリームで各シンタックス要素に該当するbinを受信し、デコーディング対象シンタックス要素情報と隣接及びデコーディング対象ブロックのデコーディング情報または以前ステップでデコーディングされたシンボル/binの情報を利用してコンテキスト(context)モデルを決定し、決定されたコンテキストモデルによってbinの発生確率を予測してbinの算術デコーディング(arithmetic decoding)を実行して各シンタックス要素の値に該当するシンボルを生成することができる。このとき、CABACエントロピーデコーディング方法は、コンテキストモデル決定後、次のシンボル/binのコンテキストモデルのためにデコーディングされたシンボル/binの情報を利用してコンテキストモデルをアップデートすることができる。エントロピーデコーディング部310でデコーディングされた情報のうち予測に関する情報は、予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコーディング部310でエントロピーデコーディングが実行されたレジデュアル値、即ち、量子化された変換係数及び関連パラメータ情報は、レジデュアル処理部320に入力されることができる。レジデュアル処理部320は、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル、レジデュアルサンプルアレイ)を導き出すことができる。また、エントロピーデコーディング部310でデコーディングされた情報のうちフィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコーディング装置から出力された信号を受信する受信部(図示せず)がデコーディング装置300の内/外部エレメントとしてさらに構成されることができ、または、受信部は、エントロピーデコーディング部310の構成要素である場合もある。一方、本文書によるデコーディング装置は、ビデオ/映像/ピクチャデコーディング装置と呼ばれることができ、前記デコーディング装置は、情報デコーダ(ビデオ/映像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/映像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは、前記エントロピーデコーディング部310を含むことができ、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332及びイントラ予測部331のうち少なくとも一つを含むことができる。
【0066】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコーディング装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0067】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
【0068】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコーディング部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、または、インター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モードを決定することができる。
【0069】
予測部320は、後述する多様な予測方法に基づいて予測信号を生成できる。例えば、予測部は、一つのブロックに対する予測のためにイントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測を同時に適用できる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくこともでき、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えばSCC(screen content coding)などのように、ゲームなどのコンテンツ映像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導き出す点においてインター予測と類似に行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも一つを利用できる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記映像/ビデオ情報に含まれてシグナリングされることができる。
【0070】
イントラ予測部331は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置でき、または離れて位置することもできる。イントラ予測において、予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。イントラ予測部331は、隣接ブロックに適用された予測モードを利用し、現在ブロックに適用される予測モードを決定することもできる。
【0071】
インター予測部332は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロックまたはサンプル単位で予測できる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と、参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)と、を含むことができる。例えば、インター予測部331は、隣接ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/または参照ピクチャインデックスを導出することができる。多様な予測モードに基づいてインター予測が実行されることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
【0072】
加算部340は、取得されたレジデュアル信号を、予測部(インター予測部332及び/またはイントラ予測部331)を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることによって復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使われることができる。
【0073】
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使われることができ、後述するように、フィルタリングを経て出力されることもでき、または、次のピクチャのインター予測のために使われることもできる。
【0074】
一方、ピクチャデコーディング過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0075】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに多様なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ60、具体的に、メモリ360のDPBに送信できる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
【0076】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332で参照ピクチャとして使われることができる。メモリ360は、現在ピクチャ内の動き情報が導出された(または、デコーディングされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するためにインター予測部260に伝達できる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部331に伝達できる。
【0077】
本明細書において、エンコーディング装置200のフィルタリンブ260、インター予測部221及びイントラ予測部222において説明された実施例は、各々、デコーディン装置300のフィルタリン部350、インター予測部332及びイントラ予測部331にも同一または対応されるように適用されることができる。
【0078】
前述したように、ビデオコーディングを実行するにあたって圧縮効率を上げるために予測を実行する。それによって、コーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコーディング装置及びデコーディング装置で同様に導出され、前記エンコーディング装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロックとの間のレジデュアルに関する情報(レジデュアル情報)をデコーディング装置にシグナリングすることで画像コーディング効率を上げることができる。デコーディング装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックを加算して復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
【0079】
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコーディング装置は、前記原本ブロックと前記予測されたブロックとの間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれているレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を実行して変換係数を導出し、前記変換係数に量子化手順を実行して量子化された変換係数を導出することで、関連したレジデュアル情報を(ビットストリームを介して)デコーディング装置にシグナリングすることができる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコーディング装置は、前記レジデュアル情報に基づいて逆量子化/逆変換手順を実行してレジデュアルサンプル(または、レジデュアルブロック)を導出することができる。デコーディング装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャを生成することができる。また、エンコーディング装置は、以後ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
【0080】
エンコーディング装置/デコーディング装置の予測部は、ブロック単位でインター予測を行って予測サンプルを導き出すことができる。インター予測は、現在ピクチャ以外のピクチャ(ら)のデータ要素ら(例えば、サンプル値ら、または動き情報等)に依存した方法で導き出される予測を表すことができる(Inter prediction can be a prediction derived in a manner that is dependent on data elements(例えば、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)はシグナリングされうる。この場合、前記動きベクトル予測子及び動きベクトル差分の合計を利用して、前記現在ブロックの動きベクトルを導き出すことができる。
【0081】
前記動き情報は、インター予測タイプ(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)に対応できる。
【0082】
インター予測に基づいたビデオ/映像エンコーディング手順は、概略的に例えば次を含むことができる。
【0083】
図4は、インター予測基盤ビデオ/映像エンコーディング方法の例を示す。
【0084】
エンコーディング装置は、現在ブロックに対するインター予測を行う(S400)。エンコーディング装置は、現在ブロックのインター予測モード及び動き情報を導き出し、前記現在ブロックの予測サンプルを生成できる。ここで、インター予測モード決定、動き情報導出及び予測サンプルの生成手順は、同時に行われることもでき、いずれか一つの手順が他の手順よりまず行われることもできる。例えば、エンコーディング装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を含むことができ、予測モード決定部で前記現在ブロックに対する予測モードを決定し、動き情報導出部で前記現在ブロックの動き情報を導き出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導き出すことができる。例えば、エンコーディング装置のインター予測部は、動き推定(motion estimation)を介して参照ピクチャの一定領域(サーチ領域)内で前記現在ブロックと類似のブロックをサーチし、前記現在ブロックとの差が最小または一定基準以下である参照ブロックを導き出すことができる。これに基づいて前記参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導き出し、前記参照ブロックと前記現在ブロックとの位置差に基づいて、動きベクトルを導き出すことができる。エンコーディング装置は、多様な予測モードのうち、前記現在ブロックに対して適用されるモードを決定できる。エンコーディング装置は、前記多様な予測モードに対するRD costを比較し、前記現在ブロックに対する最適の予測モードを決定できる。
【0085】
例えば、エンコーディング装置は、前記現在ブロックにスキップモードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補が指す参照ブロックのうち、前記現在ブロックと前記現在ブロックとの差が最小または一定基準以下である参照ブロックを導き出すことができる。この場合、前記導き出された参照ブロックと関連したマージ候補が選択され、前記選択されたマージ候補を指すマージインデックス情報が生成されて、デコーディング装置へシグナリングされることができる。前記選択されたマージ候補の動き情報を利用して、前記現在ブロックの動き情報を導き出すことができる。
【0086】
他の例として、エンコーディング装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補のうち、選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして利用できる。この場合、例えば、上述した動き推定によって導き出された参照ブロックを指す動きベクトルが前記現在ブロックの動きベクトルとして利用されることができ、前記mvp候補のうち、前記現在ブロックの動きベクトルとの差が最も小さな動きベクトルを持つmvp候補が前記選択されたmvp候補になることができる。前記現在ブロックの動きベクトルから前記mvpを引いた差分であるMVD(motion vector difference)が導き出されることができる。この場合、前記MVDに関する情報がデコーディング装置へシグナリングされることができる。また、(A)MVPモードが適用される場合、前記参照ピクチャインデックスの値は、参照ピクチャインデックス情報で構成されて、別に前記デコーディング装置へシグナリングされることができる。
【0087】
エンコーディング装置は、前記予測サンプルに基づいてレジデュアルサンプルを導き出すことができる(S410)。エンコーディング装置は、前記現在ブロックの原本サンプルと前記予測サンプルとの比較により、前記レジデュアルサンプルを導き出すことができる。
【0088】
エンコーディング装置は、予測情報及びレジデュアル情報を含む映像情報をエンコーディングする(S420)。エンコーディング装置は、エンコーディングされた映像情報をビットストリーム形態で出力できる。前記予測情報は、前記予測手順に関連した情報として予測モード情報(ex.skip flag、merge flag or mode index等)及び動き情報に関する情報を含むことができる。前記動き情報に関する情報は、動きベクトルを導き出すための情報である候補選択情報(ex.merge index、mvp flag or mvp index)を含むことができる。また、前記動き情報に関する情報は、上述したMVDに関する情報及び/または参照ピクチャインデックス情報を含むことができる。また、前記動き情報に関する情報は、L0予測、L1予測、または、双(bi)予測が適用されているかどうかを表す情報を含むことができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
【0089】
出力されたビットストリームは、(デジタル)格納媒体に格納されてデコーディング装置に伝達されることができ、または、ネットワークを介してデコーディング装置に伝達されることができる。
【0090】
一方、上述したようにエンコーディング装置は、前記参照サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャ(復元サンプル及び復元ブロックを含む)を生成できる。これは、デコーディング装置で行われることと同じ予測結果をエンコーディング装置で導き出すためであり、これを介してコーディング効率を上げることができるためである。したがって、エンコーディング装置は、復元ピクチャ(または、復元サンプル、復元ブロック)をメモリに格納し、インター予測のための参照ピクチャとして活用できる。前記復元ピクチャにインループフィルタリング手順などがさらに適用されうることは、上述のとおりである。
【0091】
インター予測に基づいたビデオ/映像デコーディング手順は、概略的に例えば、次を含むことができる。
【0092】
図5は、インター予測基盤ビデオ/映像デコーディング方法の例を示す。
【0093】
図5に示すように、デコーディング装置は、前記エンコーディング装置で行われた動作と対応する動作を行うことができる。デコーディング装置は、受信された予測情報に基づいて現在ブロックに予測を行い、予測サンプルを導き出すことができる。
【0094】
具体的にデコーディング装置は、受信された予測情報に基づいて前記現在ブロックに対する予測モードを決定できる(S500)。デコーディング装置は、前記予測情報内の予測モード情報に基づいて前記現在ブロックにどんなインター予測モードが適用されているかを決定できる。
【0095】
例えば、前記merge flagに基づいて前記現在ブロックに前記マージモードが適用されているかどうか、または(A)MVPモードが決定されているかどうかを決定できる。または、前記mode indexに基づいて多様なインター予測モード候補のうち、いずれか一つを選択できる。前記インター予測モード候補は、スキップモード、マージモード及び/または(A)MVPモードを含むことができ、または後述する多様なインター予測モードを含むことができる。
【0096】
デコーディング装置は、前記決定されたインター予測モードに基づいて前記現在ブロックの動き情報を導き出す(S510)。例えば、デコーディング装置は、前記現在ブロックにスキップモードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補のうち、いずれか一つのマージ候補を選択できる。前記選択は、上述した選択情報(merge index)に基づいて行われることができる。前記選択されたマージ候補の動き情報を利用して、前記現在ブロックの動き情報が導き出されることができる。前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として利用されることができる。
【0097】
他の例として、デコーディング装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補のうち、選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして利用できる。前記選択は、上述した選択情報(mvp flag or mvp index)に基づいて行われることができる。この場合、前記MVDに関する情報に基づいて前記現在ブロックのMVDを導き出すことができ、前記現在ブロックのmvpと前記MVDに基づいて、前記現在ブロックの動きベクトルを導き出すことができる。また、前記参照ピクチャインデックス情報に基づいて前記現在ブロックの参照ピクチャインデックスを導き出すことができる。前記現在ブロックに関する参照ピクチャリスト内で前記参照ピクチャインデックスが指すピクチャが前記現在ブロックのインター予測のために参照される参照ピクチャとして導き出されることができる。
【0098】
一方、後述するように、候補リスト構成無しで前記現在ブロックの動き情報が導き出されることができ、この場合、後述する予測モードにおいて開示された手順に従って、前記現在ブロックの動き情報が導き出されることができる。この場合、上述したような候補リスト構成は省略されうる。
【0099】
デコーディング装置は、前記現在ブロックの動き情報に基づいて前記現在ブロックに対する予測サンプルを生成できる(S520)。この場合、前記現在ブロックの参照ピクチャインデックスに基づいて前記参照ピクチャを導き出し、前記現在ブロックの動きベクトルが前記参照ピクチャ上において指す参照ブロックのサンプルを利用して、前記現在ブロックの予測サンプルを導き出すことができる。この場合、後述するように、場合によって前記現在ブロックの予測サンプルの全てまたは一部に対する予測サンプルフィルタリング手順がさらに行われることができる。
【0100】
例えば、デコーディング装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を含むことができ、予測モード決定部で受信された予測モード情報に基づいて前記現在ブロックに対する予測モードを決定し、動き情報導出部で受信された動き情報に関する情報に基づいて前記現在ブロックの動き情報(動きベクトル及び/または参照ピクチャインデックス等)を導き出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導き出すことができる。
【0101】
デコーディング装置は、受信されたレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成する(S530)。デコーディング装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成できる(S540)。以後、前記復元ピクチャにインループフィルタリング手順などがさらに適用されうることは上述したとおりである。
【0102】
図6は、インター予測手順を例示的に示す。
【0103】
図6に示すように、インター予測手順は、インター予測モード決定ステップ、決定された予測モードに応じる動き情報導出ステップ、導き出された動き情報に基づいた予測遂行(予測サンプル生成)ステップを含むことができる。前記インター予測手順は、上述したようにエンコーディング装置及びデコーディング装置で行われることができる。本文書においてコーディング装置とは、エンコーディング装置及び/またはデコーディング装置を含むことができる。
【0104】
図6に示すように、コーディング装置は、現在ブロックに対するインター予測モードを決定する(S600)。ピクチャ内の現在ブロックの予測のために多様なインター予測モードが使用されることができる。例えば、マージモード、スキップモード、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マージ候補と呼ばれることができる。
【0105】
現在ブロックのインター予測モードを指す予測モード情報がエンコーディング装置からデコーディング装置へシグナリングされることができる。前記予測モード情報は、ビットストリームに含まれてデコーディング装置に受信されることができる。前記予測モード情報は、多数の候補モードのうち、いずれか一つを指示するインデックス情報を含むことができる。または、フラグ情報の階層的シグナリングを介してインター予測モードを指示することもできる。この場合、前記予測モード情報は、一つ以上のフラグを含むことができる。例えば、スキップフラグをシグナリングしてスキップモードを適用するかどうかを指示し、スキップモードが適用されない場合に、マージフラグをシグナリングしてマージモードを適用するかどうかを指示し、マージモードが適用されない場合に、MVPモード適用されることと指示するか、または追加的な区分のためのフラグをさらにシグナリングすることもできる。アフィンモードは、独立的なモードでシグナリングされることもでき、またはマージモードまたはMVPモードなどに従属的なモードでシグナリングされうる。例えば、アフィンモードは、アフィンマージモード及びアフィンMVPモードを含むことができる。
【0106】
コーディング装置は、前記現在ブロックに対する動き情報を導き出す(S610)。前記動き情報導出を前記インター予測モードに基づいて導き出されることができる。
【0107】
コーディング装置は、現在ブロックの動き情報を利用してインター予測を行うことができる。エンコーディング装置は、動き推定(motion estimation)手順を介して、現在ブロックに対する最適の動き情報を導き出すことができる。例えば、エンコーディング装置は、現在ブロックに対する原本ピクチャ内の原本ブロックを利用して、相関性の高い類似の参照ブロックを参照ピクチャ内の決まった探索範囲内で分数ピクセル単位で探索でき、これを介して動き情報を導き出すことができる。ブロックの類似性は、位相(phase)基盤サンプル値の差に基づいて導き出すことができる。例えば、ブロックの類似性は、現在ブロック(まあは現在ブロックのテンプレート)と参照ブロック(または参照ブロックのテンプレート)間SADに基づいて計算されることができる。この場合、探索領域内のSADが最も小さな参照ブロックに基づいて動き情報を導き出すことができる。導き出された動き情報は、インター予測モードに基づいて様々な方法によってデコーディング装置へシグナリングされることができる。
【0108】
コーディング装置は、前記現在ブロックに対する動き情報に基づいてインター予測を行う(S620)。コーディング装置は、前記動き情報に基づいて前記現在ブロックに対する予測サンプル(ら)を導き出すことができる。前記予測サンプルを含む現在ブロックは、予測されたブロックと呼ばれることができる。
【0109】
一方、現在ブロックに上述したlist 0(L0)予測、list1(L1)予測、または双予測(bi-prediction)が現在ブロック(現在コーディングユニット)に使用されるかどうかを表す情報がシグナリングされることができる。前記情報は、動き予測方向情報、インター予測方向情報またはインター予測指示情報と呼ばれることができ、例えばinter_pred_idcシンタックス要素の形態で構成/エンコーディング/シグナリングされることができる。すなわち、inter_pred_idcシンタックス要素は、上述したlist 0(L0)予測、list1(L1)予測、または双予測(bi-prediction)が現在ブロック(現在コーディングユニット)に使用されるかどうかを表すことができる。本文書では、説明の便宜のためにinter_pred_idcシンタックス要素が指すインター予測タイプ(L0予測、L1予測、またはBI予測)は、動き予測方向と表示されることができる。L0予測は、pred_L0、L1予測は、pred_L1、双予測は、pred_BIと表されることもできる。
【0110】
一つのピクチャは、一つ以上のsliceを含むことができる。sliceは、intra(I)slice、predictive(P) slice及びbi-predictive(B) sliceを含むsliceタイプのうち、いずれか一つのタイプを持つことができる。前記sliceタイプは、sliceタイプ情報に基づいて指示されることができる。I slice内のブロックに対しては、予測のためにインター予測は使用されず、イントラ予測のみが使用されうる。もちろん、この場合においても予測無しで原本サンプル値をコーディングしてシグナリングすることもできる。P slice内のブロックに対しては、イントラ予測またはインター予測が使用されることができ、インター予測が使用される場合には、単(uni)予測のみ使用されることができる。一方、B slice内のブロックに対しては、イントラ予測またはインター予測が使用されることができ、インター予測が使用される場合には、最大双(bi)予測まで使用されることができる。
【0111】
L0及びL1は、現在ピクチャより以前にエンコーディング/デコーディングされた参照ピクチャを含むことができる。例えば、L0は、POC順序上現在ピクチャより以前及び/または以後参照ピクチャを含むことができ、L1は、POC順序上現在ピクチャより以後及び/または以前参照ピクチャを含むことができる。この場合、L0には、POC順序上現在ピクチャより以前参照ピクチャに相対的により低い参照ピクチャインデックスが割り当てられることができ、L1には、POC順序上現在ピクチャより以後参照ピクチャに相対的により低い参照ピクチャインデックスが割り当てられることができる。B sliceの場合、双予測が適用されることができ、この場合においても片方向双予測が適用されることができ、または両方向双予測が適用されることができる。両方向双予測は、true双予測と呼ばれることができる。
【0112】
具体的に、例えば、現在ブロックのインター予測モードに関する情報は、CU(CUシンタックス)等レベルでコーディングされてシグナリングされるか、あるいは条件によって暗黙的に決定されることができる。この場合、一部モードに対しては、明示的にシグナリングされ、残りの一部モードは、暗黙的に導き出される。
【0113】
図7は、MVPモードにおいて動き情報候補導出のために使用される空間的隣接ブロックを例示的に示す。
【0114】
MVP(Motion vector prediction)モードは、AMVP(advanved motion vetor prediction)モードと呼ばれることができる。MVPモードが適用される場合、復元された空間的隣接ブロック(例えば、図5の隣接ブロックを含むことができる)の動きベクトル及び/または時間的隣接ブロック(またはColブロック)に対応する動きベクトルを利用して、動きベクトル予測子(motion vector predictor、mvp)候補リストが生成されることができる。すなわち、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックに対応する動きベクトルは、動きベクトル予測子候補として使用されることができる。前記空間的隣接ブロックは、前記現在ブロックの左下側コーナー隣接ブロックA0、左側隣接ブロックA1、右上側コーナー隣接ブロックB0、上側隣接ブロックB1、左上側コーナー隣接ブロックB2を含むことができる。
【0115】
双予測が適用される場合、L0動き情報導出のためのmvp候補リストとL1動き情報導出のためのmvp候補リストが個別的に生成されて利用されることができる。上述した予測情報(または予測に関する情報)は、前記リストに含まれた動きベクトル予測子候補の中から選択された最適の動きベクトル予測子候補を指示する選択情報(ex.MVPフラグまたはMVPインデックス)を含むことができる。このとき、予測部は、前記選択情報を利用して、動きベクトル候補リストに含まれた動きベクトル予測子候補の中から、現在ブロックの動きベクトル予測子を選択できる。エンコーディング装置の予測部は、現在ブロックの動きベクトルと動きベクトル予測子間の動きベクトル差分(MVD)を求めることができ、これをエンコーディングしてビットストリーム形態で出力できる。すなわち、MVDは、現在ブロックの動きベクトルから前記動きベクトル予測子を引いた値で求められることができる。このとき、デコーディング装置の予測部は、前記予測に関する情報に含まれた動きベクトル差分を獲得し、前記動きベクトル差分と前記動きベクトル予測子の加算を介して現在ブロックの前記動きベクトルを導き出すことができる。デコーディング装置の予測部は、参照ピクチャを指示する参照ピクチャインデックスなどを前記予測に関する情報から獲得または誘導できる。
【0116】
図8は、本文書によるMVP候補リストを構成する方法を概略的に示す。
【0117】
図8に示すように、一実施例は、まず動きベクトル予測のための空間的候補ブロックを探索して、可用の空間的(mvp)候補を予測候補リスト(mvp候補リスト)に挿入できる(S810)。この場合、隣接ブロックを二つのグループに分けて候補を導き出すことができる。例えば、前記現在ブロックの左下側コーナー隣接ブロックA0、左側隣接ブロックA1を含むグループAから一つの(mvp)候補が導き出され、前記右上側コーナー隣接ブロックB0、上側隣接ブロックB1、左上側コーナー隣接ブロックB2を含むグループBから一つの(mvp)候補が導き出されることができる。前記グループAから導き出されたmvp候補は、mvpAと呼ばれることができ、前記グループBから導き出されたmvp候補は、mvpBと呼ばれることができる。仮に、グループ内のすべての隣接ブロックが可用しないか、またはイントラコーディングされた場合には、該当グループでは、(mvp)候補が導き出されない場合もありうる。
【0118】
以後、一実施例は、空間的候補の数が2より小さいかどうかを判断できる(S820)。例えば、一実施例は、空間的候補の数が2より小さな場合、時間的隣接ブロックを探索して導き出した時間的候補を予測候補リストに追加挿入できる(S830)。前記時間的隣接ブロックから導き出された時間的候補は、mvpColと呼ばれることができる。
【0119】
一方、MVPモードが適用される場合、参照ピクチャインデックスが明示的にシグナリングされることができる。この場合、L0予測のための参照ピクチャインデックス(refidxL0)とL1予測のための参照ピクチャインデックス(refidxL1)に区分されてシグナリングされることができる。例えば、MVPモードが適用され双予測(BI prediction)が適用される場合、前記refidxL0に関する情報及びrefidxL1に関する情報が両方ともシグナリングされることができる。
【0120】
双予測が適用される場合、L0動き情報導出のためのmvp候補リストとL1動き情報導出のためのmvp候補リストが個別的に生成されて利用されることができる。上述した予測情報(または予測に関する情報)は、前記リストに含まれた動きベクトル予測子候補の中から選択された最適の動きベクトル予測子候補を指示する選択情報(ex.MVPフラグまたはMVPインデックス)を含むことができる。このとき、予測部は、前記選択情報を利用して、動きベクトル候補リストに含まれた動きベクトル予測子候補の中から、現在ブロックの動きベクトル予測子を選択できる。エンコーディング装置の予測部は、現在ブロックの動きベクトルと動きベクトル予測子間の動きベクトル差分(MVD)を求めることができ、これをエンコーディングしてビットストリーム形態で出力できる。すなわち、MVDは、現在ブロックの動きベクトルから前記動きベクトル予測子を引いた値で求められることができる。このとき、デコーディング装置の予測部は、前記予測に関する情報に含まれた動きベクトル差分を獲得し、前記動きベクトル差分と前記動きベクトル予測子の加算を介して現在ブロックの前記動きベクトルを導き出すことができる。デコーディング装置の予測部は、参照ピクチャを指示する参照ピクチャインデックスなどを前記予測に関する情報から獲得または誘導できる。
【0121】
MVPモードが適用される場合、上述したように、エンコーディング装置から導き出されたMVDに関する情報がデコーディング装置へシグナリングされることができる。MVDに関する情報は、例えばMVD絶対値及び符号に対するx、y成分を表す情報を含むことができる。この場合、MVD絶対値が0より大きいかどうか、及び1より大きいかどうか 、MVD残りを表す情報が段階的にシグナリングされることができる。例えば、MVD絶対値が1より大きいかどうかを表す情報は、MVD絶対値が0より大きいかどうかを表すflag情報の値が1である場合に限ってシグナリングされることができる。
【0122】
例えば、MVDに関する情報は、表1のようなシンタックスで構成されてエンコーディング装置でエンコーディングされてデコーディング装置へシグナリングされることができる。
【0123】
【表1】
【0124】
例えば、表1中、abs_mvd_greater0_flagシンタックス要素は、差分(MVD)が0より大きいかどうかに対する情報を表すことができ、abs_mvd_greater1_flagシンタックス要素は、差分(MVD)が1より大きいかどうかに対する情報を表すことができる。また、abs_mvd_minus2シンタックス要素は、差分(MVD)に-2した値に対する情報を表すことができ、mvd_sign_flagシンタックス要素は、差分(MVD)の符号に対する情報を表すことができる。また、表1中、各シンタックス要素の[0」は、L0に対した情報であることを表すことができ、[1]は、L1に対した情報であることを表すことができる。
【0125】
例えば、MVD[compIdx」は、abs_mvd_greater0_flag[compIdx]*(abs_mvd_minus2[compIdx]+2)*(1-2*mvd_sign_flag[compIdx])に基づいて導き出されることができる。ここで、compIdx(またはcpIdx)は、各成分のインデックスを表し、0または1値を持つことができる。ompIdxは、0は、x成分を指すことができ、compIdx1は、y成分を指すことができる。ただし、これは例示として、x、y座標系でなく他の座標系を用いて各成分別に値を表すこともできる。
【0126】
一方、L0予測のためのMVD(MVDL0)とL1予測のためのMVD(MVDL1)が区分されてシグナリングされることもでき、前記MVDに関する情報は、MVDL0に関する情報及び/またはMVDL1に関する情報を含むことができる。例えば、現在ブロックにMVPモードが適用され、BI予測が適用される場合、前記MVDLOに関する情報及びMVDL1に関する情報が両方ともシグナリングされることができる。
【0127】
図9は、対称(symmetric)MVDを説明するための図である。
【0128】
一方、双予測(BI prediction)が適用される場合に、コーディング効率を考慮して対称(symmetric)MVDが使用されることもできる。ここで、対称MVDは、SMVDとも呼ばれることができる。この場合には、動き情報のうち、一部のシグナリングが省略されることができる。例えば、対称MVDが現在ブロックに適用される場合、refidxL0に関する情報、refidxL1に関する情報、MVDL1に関する情報がエンコーディング装置からデコーディング装置へシグナリングされずに内部的に導き出されることができる。例えば、現在ブロックにMVPモード及びBI予測が適用される場合、symmetric MVDを適用するかどうかを指示するフラグ情報(ex.symmetric MVDフラグ情報またはsym_mvd_flagシンタックス要素)がシグナリングされることができ、前記フラグ情報の値が1の場合に、デコーディング装置は、前記現在ブロックにsymmetric MVDが適用されると判断できる。
【0129】
symmetric MVDモードが適用される場合(すなわち、symmetric MVDフラグ情報の値が1の場合)に、mvp_l0_flag、mvp_l1_flag、及びMVDL0に関する情報が明示的に(explicitly)シグナリングされることができ、上述したようにrefidxL0に関する情報、refidxL1に関する情報、MVDL1に関する情報のシグナリングが省略され、内部的に導き出されることができる。例えば、refidxL0は、referene picture list 0(list 0またはL0と呼ばれることができる)内でPOC順序上前記現在ピクチャに最も近い以前参照ピクチャを指すインデックスとして導き出されることができる。refidxL1は、reference picture list1(list 1またはL1と呼ばれることができる)内でPOC順序上前記現在ピクチャに最も近い以後参照ピクチャを指すインデックスとして導き出されることができる。または、例えばrefidxL0及びrefidxL1は、両方ともそれぞれ0で導き出されることができる。または、例えば、前記refidxL0及びrefidxL1は、現在ピクチャとの関係において同じPOC差を有する最小インデックスでそれぞれ導き出されることができる。具体的に、例えば、[現在ピクチャのPOC]-[refidxL0が指示する第1参照ピクチャのPOC]を第1POC差分とし、[refidxL1が指示する第2参照ピクチャのPOC]を第2POC差分とする時、前記第1POC差分と第2POC差分が同じ場合に限って、前記第1参照ピクチャを指すrefidxL0の値が前記現在ブロックのrefidxL0の値で導き出され、前記第2参照ピクチャを指すrefidxL1の値が前記現在ブロックのrefidxL1の値で導き出されることもできる。また、例えば、前記第1POC差分と第2POC差分が同じ複数のsetがある場合、そのうち、差分が最小であるsetのrefidxL0、refidxL1が現在ブロックのrefidxL0、refidxL1で導き出されることができる。symmetric MVDモードが適用される場合、前記refidxL0及びrefidxL1は、各々RefIdxSymL0及びRefIdxSymL1と呼ばれることができる。一例として、RefIdxSymL0及びRefIdxSymL1は、スライス単位で決定されることができる。この場合、現在スライス内のSMVDが適用されるブロックは、同じRefIdxSymL0及びRefIdxSymL1を利用できる。
【0130】
MVDL1は、-MVDL0で導き出されることができる。例えば、現在ブロックに対する最終MVは、数式1のように導き出されることができる。
【0131】
【数1】
【0132】
式1中、mvx及びmvyは、L0動き情報またはL0予測のための動きベクトルのx成分及びy成分を表すことができ、mvx及びmvyは、L1動き情報またはL1予測のための動きベクトルのx成分及びy成分を表すことができる。また、mvpx及びmvpyは、L0予測のための動きベクトル予測子のx成分及びy成分を表すことができ、mvpx及びmvpyは、L1予測のための動きベクトル予測子のx成分及びy成分を表すことができる。また、mvdx及びmvdyは、L0予測のための動きベクトル差分のx成分及びy成分を表すことができる。
【0133】
一方、予測モードによって導き出された動き情報に基づいて現在ブロックに対する予測されたブロックを導き出すことができる。前記予測されたブロックは、前記現在ブロックの予測サンプル(予測サンプルアレイ)を含むことができる。現在ブロックの動きベクトルが分数サンプル単位を指す場合、補間(interpolation)手順が行われることができ、これを通じて参照ピクチャ内で分数サンプル単位の参照サンプルに基づいて、前記現在ブロックの予測サンプルが導き出されることができる。現在ブロックにAffineインター予測が適用される場合、サンプル/サブブロック単位MVに基づいて、予測サンプルを生成できる。双予測が適用される場合、L0予測(すなわち、参照ピクチャリストL0内の参照ピクチャとMVL0を利用した予測)に基づいて導き出された予測サンプルとL1予測(すなわち、参照ピクチャリストL1内参照ピクチャとMVL1を利用した予測)に基づいて導き出された予測サンプルの(位相に応じる)加重和または加重平均を介して導き出された予測サンプルが現在ブロックの予測サンプルとして利用されることができる。双予測が適用される場合、L0予測に利用された参照ピクチャとL1予測に利用された参照ピクチャが現在ピクチャに基づいて互いに異なる時間的方向に位置する場合(すなわち、双予測でありながら両方向予測に該当する場合)、これをtrue双予測と呼ぶことができる。
【0134】
導き出された予測サンプルに基づいて復元サンプル及び復元ピクチャが生成されることができ、以後インループフィルタリングなどの手順が行われうることは、前述のとおりである。
【0135】
一方、対称MVD(SMVD)と関連した構成を再度述べると、双予測が適用されるブロックに限って対称MVDフラグがシグナリングされ、前記対称MVDフラグがtrueであると、L0のためのMVDだけをシグナリングすることができ、L1のためのMVDは、L0のためにシグナリングされたMVDをミラーリング(mirroring)して使用されることができる。ただし、この場合、対称MVDを適用する過程においてmvd_l1_zero_flagシンタックス要素の値(例えば、mvd_l1_zero_flagシンタックス要素がtrueである場合)によって問題が発生できる。
【0136】
例えば、mvd_l1_zero_flagシンタックス要素は、表2ないし表4のようなシンタックスに基づいてシグナリングされることができる。すなわち、スライスヘッダにおいて現在スライスがBスライスの場合、mvd_l1_zero_flagシンタックス要素がシグナリングされることができる。ここで、表2ないし表4は、一連のシンタックス(例えば、スライスヘッダシンタックス)を表すことができる。
【0137】
【表2】
【0138】
【表3】
【0139】
【表4】
【0140】
例えば、表2ないし表4においてmvd_l1_zero_flagシンタックス要素のセマンティクスは、次の表5のとおりでありうる。
【0141】
【表5】
【0142】
または、例えば、mvd_l1_zero_flagシンタックス要素は、L1予測のためのmvd_codingシンタックスがパーシングされるかに対する情報を表すことができる。例えば、mvd_l1_zero_flagシンタックス要素は、値が1の場合、L1予測によるmvd_codingシンタックスがパーシングされず、MvdL1値が0と決定されることを表すことができる。または、例えば、mvd_l1_zero_flagシンタックス要素は、値が0の場合、L1予測によるmvd_codingシンタックスがパーシングされることを表すことができる。すなわち、mvd_l1_zero_flagシンタックス要素によってMvdL1値が決定されることができる。
【0143】
例えば、対称MVD参照インデックス(symmetric motion vector difference reference indices)のデコーディング手順は、次の表6のとおりでありうるが、これに限定されるものではない。例えば、L0予測のための対称MVD参照インデックスは、RefIdxSymL0と表すことができ、L1予測のための対称MVD参照インデックスは、RefIdxSymL1と表すことができる。
【0144】
【表6】
【0145】
例えば、対称MVDに対した情報またはsym_mvd_flagシンタックス要素は、次の表7ないし表10のようなシンタックスに基づいてシグナリングされることができる。ここで、表7ないし表10は、一つのシンタックス(例えば、コーディングユニットシンタックス)を連続的に表すことができる。
【0146】
【表7】
【0147】
【表8】
【0148】
【表9】
【0149】
【表10】
【0150】
または、例えば、対称MVDに対した情報またはsym_mvd_flagシンタックス要素は、次の表11ないし表15のようなシンタックスに基づいてシグナリングされることができる。ここで、表11ないし表15は、一つのシンタックス(例えば、コーディングユニットシンタックス)を連続的に表すことができる。
【0151】
【表11】
【0152】
【表12】
【0153】
【表13】
【0154】
【表14】
【0155】
【表15】
【0156】
例えば、対称MVDに対した情報またはsym_mvd_flagシンタックス要素は、表7ないし表10または表11ないし表15のようにシグナリングされることができる。
【0157】
例えば、表7ないし表10または表11ないし表15に示すように、対称MVDに対した情報またはsym_mvd_flagシンタックス要素は、mvd_l1_zero_flagシンタックス要素と関係なく現在ブロックがアフィン(affine)ブロックでない双予測が適用されるブロックの場合、前記方法で誘導された対称MVD参照インデックス(symmetric mvd reference index)が存在するならば、シグナリングされることができる。
【0158】
すなわち、mvd_l1_zero_flagシンタックス要素が1の場合にもsym_mvd_flagシンタックス要素が1になることができる。この場合、sym_mvd_flagシンタックス要素が1であっても、MvdL1は、0に導き出されることができる。これは、sym_mvd_flagシンタックス要素によって動作しないにもかかわらず、sym_mvd_flagシンタックス要素をシグナリングするようになるので、不必要なビットシグナリングの問題がある。
【0159】
一方、本文書の一実施例によれば、mvd_l1_zero_flagシンタックス要素の値が1であり、sym_mvd_flagシンタックス要素の値が1の場合、mvd_l1_zero_flagシンタックス要素が1であっても、MvdL1の値をMvdL0の値にミラーリングされた値で導き出されるようにすることができる。
【0160】
例えば、対称MVDに関する情報またはsym_mvd_flagシンタックス要素は、表16及び表17のようなコーディングユニットシンタックスの少なくとも一部に基づいてシグナリングされることができる。ここで、表16及び表17は、一連のシンタックスの一部を連続的に表したことでありうる。
【0161】
【表16】
【0162】
【表17】
【0163】
例えば、表16及び表17に示すように、MvdL1の値は、mvd_l1_zero_flagシンタックス要素の値、sym_mvd_flagシンタックス要素の値及び双予測が適用されるかどうかに基づいて導き出されることができる。すなわち、mvd_l1_zero_flagシンタックス要素の値、sym_mvd_flagシンタックス要素の値及び双予測が適用されるかどうかに基づいてMvdL1の値が0または-MvdL0の値(MvdL0のミラーリングされた値)で導き出されることができる。
【0164】
例えば、表16及び表17中、mvd_l1_zero_flagシンタックス要素のセマンティクスは、表18のとおりでありうる。
【0165】
【表18】
【0166】
一方、本文書の一実施例によれば、mvd_l1_zero_flagシンタックス要素の値が1の場合、sym_mvd_flagシンタックス要素をパーシングしないこともある。すなわち、mvd_l1_zero_flagシンタックス要素の値が1の場合、対称MVDを許せない。別の言い方をすれば、mvd_l1_zero_flagシンタックス要素の値が1の場合には、デコーディング装置は、sym_mvd_flagシンタックス要素をパーシングしなくても良く、エンコーディング装置は、前記sym_mvd_flagシンタックス要素が(ビットストリーム、映像/ビデオ情報、CUシンタックス、インター予測モード情報または予測関連情報から)パーシングされないように構成できる。または、一実施例によれば、mvd_l1_zero_flagシンタックス要素の値が0の場合、対称MVDインデックスを導出または誘導できる。ここで、対称MVDインデックスは、対称MVD参照(ピクチャ)インデックスを表すことができる。例えば、現在ブロックに対称MVDが適用される場合(ex.sym_mvd_flag==1)、前記現在ブロックに対するL0/L1参照(ピクチャ)インデックス情報(ex.ref_idx_l0 and/or ref_idx_l1)が明示的にシグナリング出来ない数あって、前記対称MVD参照インデックスが導出または誘導できる。
【0167】
例えば、この場合、対称MVD参照インデックス(symmetric motion vector difference reference indices)のデコーディング手順は、次の表19のような数あるが、これに限定されるものではない。例えば、L0予測のための対称MVD参照インデックスは、RefIdxSymL0と表すことができて、L1予測のための対称MVD参照インデックスは、RefIdxSymL1と表すことができる。
【0168】
【表19】
【0169】
または、例えば、対称MVDに関する情報またはsym_mvd_flagシンタックス要素は、表20及び表21のようなコーディングユニットシンタックスの少なくとも一部に基づいてシグナリングされることができる。ここで、表20及び表21は、一つのシンタックスの一部を連続的に表したことでありうる。
【0170】
【表20】
【0171】
【表21】
【0172】
例えば、表20及び表21に示すように、SMVDフラグ情報(ex.sym_mvd_flagシンタックス要素)は、前記現在ブロックに双予測が適用されているかどうかを表すインター予測タイプ情報(ex.inter_pred_idcシンタックス要素)、L1動きベクトル差分ゼロフラグ情報(ex.mvd_l1_zero_flagorph_mvd_l1_zero_flagシンタックス要素)、SMVD可用フラグ情報(ex.sps_smvd_enabled_flagシンタックス要素)及び/またはインターアフィンフラグ情報(ex.inter_affine_flagシンタックス要素)のうち、少なくとも一つに基づいてシグナリングされることができる。
【0173】
具体的に例えば、前記インター予測タイプ情報が双予測タイプを表し、前記L1動きベクトル差分ゼロフラグ情報の値が0で、前記SMVD可用フラグ情報の値が1で、前記インターアフィンフラグ情報の値が0の場合、前記SMVDフラグ情報が明示的にシグナリングされることができる。すなわち、前記L1動きベクトル差分ゼロフラグ情報の値が1の場合、前記SMVDフラグ情報は、明示的にシグナリングされないことができる。この場合、デコーディング装置は、前記SMVDフラグ情報の値を暗黙的に0と推論できる。前記SMVDフラグ情報がシグナリングされないとは、前記SMVDフラグ情報が予測関連情報(またはインター予測モード情報)またはCUシンタックスに含まれないか、またはパーシングされないことを表すことができる。
【0174】
上述した本文書の実施例に基づいてSymmetric MVDに関する情報のシグナリングを最適化し不必要なビット浪費を避けることができる。これを介して全般的なコーディング効率を上げることができる。
【0175】
図10及び図11は、本文書の実施例(ら)によるビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。
【0176】
図10において開示された方法は、図2または図11において開示されたエンコーディング装置によって行われることができる。具体的に例えば、図10のS1000ないしS1010は、前記エンコーディング装置の予測部220によって行われることができ、図10の1020は、前記エンコーディング装置のエントロピーエンコーディング部240によって行われることができる。図10において開示された方法は、本文書において上述した実施例を含むことができる。
【0177】
図10に示すように、エンコーディング装置は、現在ブロックに対するMVP候補リストを導き出す(S1000)。エンコーディング装置は、前記現在ブロックのインター予測モード及び前記現在ブロックの隣接ブロックに基づいて、前記MVP候補リストを導き出すことができる。前記隣接ブロックを上述したように前記現在ブロックの空間的隣接ブロック及び/または時間的隣接ブロックを含むことができる。前記隣接ブロックは、前記現在ブロックの左下側コーナー隣接ブロック、左側隣接ブロック、右上側コーナー隣接ブロック、上側隣接ブロック及び左上側コーナー隣接ブロックを含むことができる。
【0178】
エンコーディング装置は、前記MVP候補リストに基づいて前記現在ブロックの動き情報を表すための情報を生成する(S1010)。前記現在ブロックの動き情報を表すための情報は、上述した選択情報(ex.mvp flag情報またはmvp index情報等)を含むことができる。前記mvp flag情報は、上述したmvp_l0_flag及び/またはmvp_l1_flagを含むことができる。また、前記現在ブロックの動き情報を表すための情報は、MVDに関する情報を含むことができる。例えば、MVDに関する情報は、abs_mvd_greater0_flagシンタックス要素、abs_mvd_greater1_flagシンタックス要素、abs_mvd_minus2シンタックス要素またはmvd_sign_flagシンタックス要素のうち、少なくとも一つを含むことができるが、他の情報もさらに含むことができるので、これに限定されるものではない。前記動き情報は、L0予測のためのL0動きベクトルまたはL1予測のためのL1動きベクトルのうち、少なくとも一つを含むことができる。前記L0動きベクトルは、L0動きベクトル予測子及びL0動きベクトル差分に基づいて表され、前記L1動きベクトルは、L1動きベクトル予測子及びL1動きベクトル差分に基づいて表されることもできる。
【0179】
例えば、エンコーディング装置は、現在ブロックの予測サンプルを生成するためにRD(rate distortion)コスト(cost)を考慮して、現在ブロックにインター予測を行うことができる。または、例えば、エンコーディング装置は、現在ブロックの予測サンプルを生成するのに利用したインター予測モードを決定でき、動き情報を導き出すことができる。ここで、インター予測モードは、MVP(motion vector prediction)モードでありうるが、これに限定されるものではない。ここで、MVPモードは、AMVP(advanced motion vector prediction)モードと呼ばれることもできる。
【0180】
エンコーディング装置は、動き推定(motion estimation)を介して現在ブロックに対する最適の動き情報を導き出すことができる。例えば、エンコーディング装置は、現在ブロックに対する原本ピクチャ内の原本ブロックを利用して、相関性の高い類似の参照ブロックを参照ピクチャ内の決まった探索範囲内で分数ピクセル単位で探索でき、これを介して動き情報を導き出すことができる。
【0181】
エンコーディング装置は、導き出した動き情報を動きベクトル予測子及び/または動きベクトル差分を利用して表すために、動きベクトル予測子候補リストを構成できる。例えば、エンコーディング装置は、空間的周辺候補ブロック及び/または時間的周辺候補ブロックに基づいて、動きベクトル予測子候補リストを構成できる。例えば、現在ブロックに双予測が適用される場合、L0予測のためのL0動きベクトル予測子候補リスト及びL1予測のためのL1動きベクトル予測子候補リストが各々構成されることができる。
【0182】
エンコーディング装置は、動きベクトル予測子候補リストに基づいて現在ブロックの動きベクトル予測子を決定できる。例えば、エンコーディング装置は、動きベクトル予測子候補リスト内の動きベクトル予測子候補のうち、前記導き出した動き情報(または動きベクトル)に基づいて現在ブロックに対する動きベクトル予測子を決定できる。または、エンコーディング装置は、前記導き出した動き情報(または動きベクトル)と差が最も少ない動きベクトル予測子を前記動きベクトル予測子候補リスト内で決定できる。例えば、現在ブロックに双予測が適用される場合、L0予測のためのL0動きベクトル予測子及びL1予測のためのL1動きベクトル予測子が各々L0動きベクトル予測子候補リスト及びL1動きベクトル予測子候補リストから決定されることができる。
【0183】
エンコーディング装置は、動きベクトル予測子候補リストのうち、前記動きベクトル予測子を表す選択情報を生成することもできる。例えば、選択情報は、インデックス情報とも呼ばれることができ、MVPフラグまたはMVPインデックスとも呼ばれることができる。すなわち、エンコーディング装置は、動きベクトル予測子候補リスト内で前記現在ブロックの動きベクトルを表すために使用された動きベクトル予測子を指示する情報を生成できる。例えば、現在ブロックに双予測が適用される場合、L0動きベクトル予測子に対する選択情報及びL1動きベクトル予測子に対する選択情報が各々生成されることができる。
【0184】
エンコーディング装置は、動きベクトル予測子に基づいて現在ブロックに対する動きベクトル差分を決定できる。例えば、エンコーディング装置は、前記導き出した現在ブロックに対する動き情報(または動きベクトル)及び前記動きベクトル予測子に基づいて動きベクトル差分を決定できる。または、エンコーディング装置は、前記導き出した現在ブロックに対する動き情報(または動きベクトル)及び前記動きベクトル予測子間の差に基づいて動きベクトル差分を決定できる。例えば、現在ブロックに双予測が適用される場合、L0動きベクトル差分及びL1動きベクトル差分が各々決定されることができる。ここで、L0動きベクトル差分は、MvdL0で表すことができ、L1動きベクトル差分は、MvdL1で表すこともできる。L0動きベクトルは、L0動きベクトル予測子及びL0動きベクトル差分の合計に基づいて表すことができ、L1動きベクトルは、L1動きベクトル予測子及びL1動きベクトル差分の合計に基づいて表すことができる。
【0185】
また、エンコーディング装置は、前記インター予測モードに基づいて現在ブロックの動き情報を導き出し、予測サンプルを生成できる。前記動き情報は、L0予測のためのL0動きベクトル及び/またはL1予測のためのL1動きベクトルを含むことができる。
【0186】
エンコーディング装置は、前記双予測が適用される場合、L0予測サンプル及びL1予測サンプルを導き出すことができ、前記L0予測サンプル及びL1予測サンプルの加重和または加重平均に基づいて、前記現在ブロックの予測サンプルを導き出すことができる。L0動きベクトルは、L0参照ピクチャ上において前記L0予測サンプルを表すことができ、L1動きベクトルは、L1参照ピクチャ上において前記L1予測サンプルを表すことができる。
【0187】
前記L1動きベクトル差分ゼロフラグ情報の値が0で前記SMVDフラグ情報の値が1の場合に基づいて、前記L1動きベクトル差分は、前記L0動きベクトル差分から導き出されることができる。この場合、前記L1動きベクトル差分の絶対値は、前記L0動きベクトル差分の絶対値と同じで、前記L1動きベクトル差分の符号は、前記L0動きベクトル差分の符号と異なりうる。
【0188】
前記現在ブロックの予測サンプルに基づいてエンコーディング装置は、レジデュアル情報を導き出すことができる。前記エンコーディング装置は、前記予測サンプルに基づいてレジデュアルサンプルを導き出すことができる。エンコーディング装置は、前記現在ブロックに対する原本サンプルと前記現在ブロックに対する予測サンプルに基づいて、レジデュアルサンプルを導き出すことができる。エンコーディング装置は、前記レジデュアルサンプルに基づいてレジデュアル情報を導き出すことができる。前記レジデュアル情報は、量子化された変換係数に対する情報を含むことができる。エンコーディング装置は、前記レジデュアルサンプルに変換/量子化手順を行って、量子化された変換係数を導き出すことができる。
【0189】
エンコーディング装置は、ビデオ/映像情報をエンコーディングする(S1020)。前記ビデオ/映像情報は、前記インター予測モードに関する情報または現在ブロックの動き情報を表すための情報のうち、少なくとも一つを含むことができる。前記ビデオ/映像情報は、前記レジデュアル情報をさらに含むことができる。エンコーディングされた映像/ビデオ情報は、ビットストリーム形態で出力されることができる。前記ビットストリームは、ネットワークまたは格納媒体を介してデコーディング装置に送信されることができる。ビットストリームは、エンコーディングされた(映像/ビデオ)情報を含むことができる。
【0190】
前記ビデオ/映像情報は、インター予測タイプ情報(ex.inter_pred_idc)、一般マージフラグ、SMVDフラグ情報、L1動きベクトル差分ゼロフラグ情報、SMVD可用フラグ情報及び/またはインターアフィンフラグ情報を含むことができる。例えば、前記一般マージフラグの値が0の場合に、前記現在ブロックにMVPモードが適用されることを表すことができる。前記インター予測タイプ情報は、前記現在ブロックに双予測が適用されているかどうかを表すことができる。具体的に例えば、前記インター予測タイプ情報は、前記現在ブロックにL0予測が適用されているか、L1予測が適用されているか、双予測が適用されているかどうかを表すことができる。
【0191】
一例として、前記映像情報は、L1動きベクトル差分ゼロフラグ情報を含み、前記映像情報は、前記現在ブロックに対するコーディングユニット(coding unit、CU)シンタックスを含み、前記L1動きベクトル差分ゼロフラグ情報に基づいて前記CUシンタックスは、前記現在ブロックにSMVD(symmetric motion vector differences)が適用されているかどうかを表すSMVDフラグ情報を含むかどうかが決定されることができる。
【0192】
具体的に例えば、前記映像情報は、ヘッダ情報を含むことができる。前記ヘッダ情報をスライスヘッダまたはピクチャヘッダを含むことができる。前記ヘッダ情報は、前記L1動きベクトル差分ゼロフラグ情報を含み、前記L1動きベクトル差分ゼロフラグ情報の値が0の場合に基づいて、前記CUシンタックスは、前記SMVDフラグ情報を含むことができる。例えば、mvd_l1_zero_flagシンタックス要素の値が1の場合には、デコーディング装置は、sym_mvd_flagシンタックス要素をパーシングしなくても良く、エンコーディング装置は、前記sym_mvd_flagシンタックス要素が(ビットストリーム、映像/ビデオ情報、CUシンタックス、インター予測モード情報または予測関連情報から)パーシングされないように構成できる。
【0193】
また、一例として、前記L1動きベクトル差分ゼロフラグ情報の値が1の場合に基づいて、前記CUシンタックスは、前記SMVDフラグ情報を含まなくても良い。この場合、デコーディング装置は、前記SMVDフラグ情報のパーシング無しで前記SMVDフラグ情報の値が0であると推論できる。
【0194】
また、一例として、前記現在ブロックに対する対称動きベクトル差分参照インデックスの値に基づいて前記CUシンタックスに前記SMVDフラグ情報が含まれているかどうかが決定され、値が1である前記L1動きベクトル差分ゼロフラグ情報に基づいて、対称動きベクトル差分参照インデックスの値が-1で導き出され、前記値が-1である前記対称動きベクトル差分参照インデックスに基づいて、CUシンタックスに前記SMVDフラグ情報が含まれないことが決定されることができる。例えば、対称動きベクトル差分参照インデックスは、L0対称動きベクトル差分参照インデックス及びL1対称動きベクトル差分参照インデックスを含むことができ、各々-1の値に決定されることができる。ここで、L0対称動きベクトル差分参照インデックスは、RefIdxSymL0で表すことができ、L1対称動きベクトル差分参照インデックスは、RefIdxSymL1で表すことができる。例えば、前記SMVDフラグ情報は、RefIdxSymL0及びRefIdxSymL1が各々-1より大きな場合、前記インター予測モード情報またはCUシンタックスに含まれることができる。または、例えば、-1より大きなRefIdxSymL0及び-1より大きなRefIdxSymL1に基づいて前記インター予測モード情報またはCUシンタックスが前記対称動きベクトル差分フラグを含むことができる。
【0195】
また、一例として、前記映像情報は、シーケンスパラメータセット(sequence parameter set、SPS)を含み、前記SPSは、SMVD可用フラグ情報を含み、前記CUシンタックスは、予測タイプ情報及びインターアフィンフラグ情報を含み、前記予測タイプ情報は、前記現在ブロックに双予測が適用されているかどうかを表し、前記SMVD可用フラグ情報、前記予測タイプ情報及び前記インターアフィンフラグ情報にさらに基づいて前記CUシンタックスは、前記SMVDフラグ情報を含むことができる。
【0196】
具体的に例えば、前記インター予測タイプ情報が双予測タイプを表し、前記L1動きベクトル差分ゼロフラグ情報の値が0で、前記SMVD可用フラグ情報の値が1で、前記インターアフィンフラグ情報の値が0の場合、前記SMVDフラグ情報が前記CUシンタックスに含まれて明示的にシグナリングされることができる。すなわち、前記L1動きベクトル差分ゼロフラグ情報の値が1の場合、前記SMVDフラグ情報は、明示的にシグナリングされないことができる。この場合、デコーディング装置は、前記SMVDフラグ情報の値を暗黙的に0と推論できる。前記SMVDフラグ情報がシグナリングされないとは、前記SMVDフラグ情報が予測関連情報(またはインター予測モード情報)またはCUシンタックスに含まれないことを表すことができる。
【0197】
前記ビデオ/映像情報は、前記動きベクトル差分に関する情報を含むことができる。例えば、前記動きベクトル差分に関する情報は、動きベクトル差分を表す情報を含むことができる。前記SMVDが適用される場合、前記動きベクトル差分に関する情報は、L0動きベクトル差分に関する情報のみを含むことができ、L1動きベクトル差分は、上述したようにL0動きベクトル差分に基づいて導き出されることができる。
【0198】
前記L1動きベクトル差分に対するゼロフラグは、前記L1動きベクトル差分が0であるかどうかに対する情報を表すことができ、L1動きベクトル差分ゼロフラグ、L1 MVDゼロフラグ、MVD L1ゼロフラグと呼ばれることができる。また、前記L1動きベクトル差分ゼロフラグは、mvd_l1_zero_flagシンタックス要素またはph_mvd_l1_zero_flagシンタックス要素で表すこともできる。また、前記SMVDフラグ情報は、前記L0動きベクトル差分及び前記L1動きベクトル差分が対称であるかどうかに対する情報を表すことができ、sym_mvd_flagシンタックス要素で表すこともできる。
【0199】
また、エンコーディング装置は、前記レジデュアル情報に基づいて(修正された)レジデュアルサンプルを導き出すことができ、前記(修正された)レジデュアルサンプル及び前記予測サンプルに基づいて復元サンプルを生成することもできる。また、前記復元サンプルに基づいて復元ブロック及び復元ピクチャが導き出されることもできる。前記導き出された復元ピクチャは、以後ピクチャのインター予測のために参照されることができる。
【0200】
例えば、エンコーディング装置は、上述した情報(またはシンタックス要素)全部または一部を含む映像/ビデオ情報をエンコーディングして、ビットストリームまたはエンコーディングされた情報を生成できる。または、ビットストリーム形態で出力できる。また、前記ビットストリームまたはエンコーディングされた情報は、ネットワークまたは格納媒体を介してデコーディング装置に送信されることができる。または、前記ビットストリームまたはエンコーディングされた情報は、コンピュータ読み取り可能な格納媒体に格納されることができ、前記ビットストリームまたは前記エンコーディングされた情報は、上述した映像/ビデオエンコーディング方法により生成されることができる。
【0201】
図12及び図13は、本文書の実施例(ら)によるビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。
【0202】
図12において開示された方法は、図3または図13において開示されたデコーディング装置によって行われることができる。具体的に例えば、図12のS1200は、前記デコーディング装置のエントロピーデコーディング部310によって行われることができ、図12のS1210ないしS1040は、前記デコーディング装置の予測部330によって行われることができ、図12のS1050は、前記デコーディング装置の加算部340または復元部によって行われることができる。図12において開示された方法は、本文書において上述した実施例を含むことができる。
【0203】
図12に示すように、デコーディング装置は、ビットストリームからビデオ/映像情報を獲得する(S1200)。前記ビデオ/映像情報は、前記インター予測モードに関する情報または現在ブロックの動き情報を表すための情報のうち、少なくとも一つを含むことができる。前記ビデオ/映像情報は、前記レジデュアル情報をさらに含むことができる。例えば、デコーディング装置は、ビットストリームをパーシングまたはデコーディングして、前記ビデオ/映像情報を獲得できる。例えば、前記予測関連情報は、現在ブロックの予測サンプルを生成するのに利用される予測モード及び/または動き情報を表す情報を含むことができる。前記予測関連情報は、前記選択情報または動きベクトル差分に関する情報を含むことができる。
【0204】
前記現在ブロックの動き情報を表すための情報は、上述した選択情報(ex.mvp flag情報またはmvp index情報等)を含むことができる。前記mvp flag情報は、上述したmvp_l0_flag及び/またはmvp_l1_flagを含むことができる。また、前記現在ブロックの動き情報を表すための情報は、MVDに関する情報を含むことができる。
【0205】
例えば、前記選択情報は、インデックス情報とも呼ばれることができ、MVPフラグまたはMVPインデックスと呼ばれることもできる。すなわち、選択情報は、動きベクトル予測子候補リスト内で現在ブロックの動きベクトル予測子を表す情報を表すことができる。例えば、現在ブロックに双予測が適用される場合、前記選択情報は、L0予測に対する選択情報及びL1予測に対する選択情報を含むことができる。L0予測に対する選択情報は、後述するL0予測のためのL0動きベクトル予測子候補リスト内で動きベクトル予測子を表す情報を表すことができ、L1予測に対する選択情報は、後述するL1予測のためのL1動きベクトル予測子候補リスト内で動きベクトル予測子を表す情報を表すことができる。
【0206】
例えば、動きベクトル差分(MVD)に関する情報は、動きベクトル差分を導き出すのに利用される情報を含むことができる。例えば、動きベクトル差分に関する情報は、abs_mvd_greater0_flagシンタックス要素、abs_mvd_greater1_flagシンタックス要素、abs_mvd_minus2シンタックス要素またはmvd_sign_flagシンタックス要素のうち、少なくとも一つを含むことができるが、他の情報もさらに含むことができるので、これに限定されるものではない。例えば、現在ブロックに双予測が適用される場合、前記動きベクトル差分に関する情報は、L0予測に対する動きベクトル差分に関する情報及びL1予測に対する動きベクトル差分に関する情報を含むことができる。
【0207】
前記ビデオ/映像情報は、前記前記インター予測モードに関する情報としてインター予測タイプ情報(ex.inter_pred_idc)、一般マージフラグ、SMVDフラグ情報、L1動きベクトル差分ゼロフラグ情報、SMVD可用フラグ情報及び/またはインターアフィンフラグ情報を含むことができる。例えば、前記一般マージフラグの値が0の場合に、前記現在ブロックにMVPモードが適用されることを表すことができる。前記インター予測タイプ情報は、前記現在ブロックに双予測が適用されているかどうかを表すことができる。具体的に例えば、前記インター予測タイプ情報は、前記現在ブロックにL0予測が適用されているか、L1予測が適用されているか、双予測が適用されているかどうかを表すことができる。前記予測関連情報は、動きベクトル差分に関する情報を含むことができる。
【0208】
一例として、前記映像情報は、L1動きベクトル差分ゼロフラグ情報を含み、前記映像情報は、前記現在ブロックに対するコーディングユニット(coding unit、CU)シンタックスを含み、前記L1動きベクトル差分ゼロフラグ情報に基づいて前記CUシンタックスは、前記現在ブロックにSMVD(symmetric motion vector differences)が適用されているかどうかを表すSMVDフラグ情報を含むかどうかが決定されることができる。
【0209】
具体的に例えば、前記映像情報は、ヘッダ情報を含むことができる。前記ヘッダ情報をスライスヘッダまたはピクチャヘッダを含むことができる。前記ヘッダ情報は、前記L1動きベクトル差分ゼロフラグ情報を含み、前記L1動きベクトル差分ゼロフラグ情報の値が0の場合に基づいて、前記CUシンタックスは、前記SMVDフラグ情報を含むことができる。例えば、mvd_l1_zero_flagシンタックス要素の値が1の場合には、デコーディング装置は、sym_mvd_flagシンタックス要素をパーシングしなくても良く、エンコーディング装置は、前記sym_mvd_flagシンタックス要素が(ビットストリーム、映像/ビデオ情報、CUシンタックス、インター予測モード情報または予測関連情報から)パーシングされないように構成できる。
【0210】
また、一例として、前記L1動きベクトル差分ゼロフラグ情報の値が1の場合に基づいて、前記CUシンタックスは、前記SMVDフラグ情報を含まなくても良い。この場合、デコーディング装置は、前記SMVDフラグ情報のパーシング無しで前記SMVDフラグ情報の値が0であると推論できる。
【0211】
また、一例として、前記現在ブロックに対する対称動きベクトル差分参照インデックスの値に基づいて、前記CUシンタックスに前記SMVDフラグ情報が含まれているかどうかが決定され、値が1である前記L1動きベクトル差分ゼロフラグ情報に基づいて、対称動きベクトル差分参照インデックスの値が-1で導き出され、前記値が-1である前記対称動きベクトル差分参照インデックスに基づいて、CUシンタックスに前記SMVDフラグ情報が含まれないことに決定されることができる。例えば、対称動きベクトル差分参照インデックスは、L0対称動きベクトル差分参照インデックス及びL1対称動きベクトル差分参照インデックスを含むことができ、各々-1の値に決定されることができる。ここで、L0対称動きベクトル差分参照インデックスは、RefIdxSymL0で表すことができ、L1対称動きベクトル差分参照インデックスは、RefIdxSymL1で表すことができる。例えば、前記SMVDフラグ情報は、RefIdxSymL0及びRefIdxSymL1が各々-1より大きな場合、前記インター予測モード情報またはCUシンタックスに含まれることができる。または、例えば、-1より大きなRefIdxSymL0及び-1より大きなRefIdxSymL1に基づいて、前記インター予測モード情報またはCUシンタックスが前記対称動きベクトル差分フラグを含むことができる。
【0212】
また、一例として、前記映像情報は、シーケンスパラメータセット(sequence parameter set、SPS)を含み、前記SPSは、SMVD可用フラグ情報を含み、前記CUシンタックスは、予測タイプ情報及びインターアフィンフラグ情報を含み、前記予測タイプ情報は、前記現在ブロックに双予測が適用されているかどうかを表し、前記SMVD可用フラグ情報、前記予測タイプ情報及び前記インターアフィンフラグ情報にさらに基づいて、前記CUシンタックスは、前記SMVDフラグ情報を含むことができる。
【0213】
具体的に例えば、前記インター予測タイプ情報が双予測タイプを表し、前記L1動きベクトル差分ゼロフラグ情報の値が0で、前記SMVD可用フラグ情報の値が1で、前記インターアフィンフラグ情報の値が0の場合、前記SMVDフラグ情報が前記CUシンタックスに含まれて明示的にシグナリングされることができる。すなわち、前記L1動きベクトル差分ゼロフラグ情報の値が1の場合、前記SMVDフラグ情報は、明示的にシグナリングされないことができる。この場合、デコーディング装置は、前記SMVDフラグ情報の値を暗黙的に0と推論できる。前記SMVDフラグ情報がシグナリングされないとは、前記SMVDフラグ情報が予測関連情報(またはインター予測モード情報)またはCUシンタックスに含まれないことを表すことができる。
【0214】
前記ビデオ/映像情報は、前記動きベクトル差分に関する情報を含むことができる。例えば、前記動きベクトル差分に関する情報は、動きベクトル差分を表す情報を含むことができる。前記SMVDが適用される場合、前記動きベクトル差分に関する情報は、L0動きベクトル差分に関する情報のみを含むことができ、L1動きベクトル差分は、上述したようにL0動きベクトル差分に基づいて導き出されることができる。
【0215】
前記L1動きベクトル差分に対するゼロフラグは、前記L1動きベクトル差分が0であるかどうかに対する情報を表すことができ、L1動きベクトル差分ゼロフラグ、L1 MVDゼロフラグ、MVD L1ゼロフラグと呼ばれることができる。また、前記L1動きベクトル差分ゼロフラグは、mvd_l1_zero_flagシンタックス要素またはph_mvd_l1_zero_flagシンタックス要素で表すこともできる。また、前記SMVDフラグ情報は、前記L0動きベクトル差分及び前記L1動きベクトル差分が対称であるかどうかに対する情報を表すことができ、sym_mvd_flagシンタックス要素で表すこともできる。
【0216】
または、例えば、値が0である前記L1動きベクトル差分ゼロフラグまたは値が1である前記対称動きベクトル差分フラグに基づいて、前記L1動きベクトル差分は、前記L0動きベクトル差分から表されることもできる。すなわち、前記L1動きベクトル差分ゼロフラグの値が0であるか、または前記対称動きベクトル差分フラグの値が1の場合、前記L1動きベクトル差分は、前記L0動きベクトル差分から表されることもできる。または、前記L1動きベクトル差分は、前記L0動きベクトル差分のミラーリングされた値で表されることもできる。例えば、mvd_l1_zero_flagシンタックス要素またはph_mvd_l1_zero_flagシンタックス要素の値が0であるか、またはsym_mvd_flagシンタックス要素の値が1の場合、MvdL1は、MvdL0に基づいて表されることもできる。または、MvdL1は、-MvdL0に決定されることもできる。例えば、MvdL1が-MvdL0であることは、前記L1動きベクトル差分の絶対値、すなわち、大きさは、前記L0動きベクトル差分の絶対値、すなわち、大きさと同じで、前記L1動きベクトル差分の符号は、前記L0動きベクトル差分の符号と異なることを表すことができる。
【0217】
デコーディング装置は、前記映像情報に基づいて前記現在ブロックのインター予測モードを導き出す(S1210)。例えば、デコーディング装置は、前記映像情報に含まれるインター予測モードに関する情報に基づいて、前記インター予測モードを導き出すことができる。例えば、インター予測モードは、MVP(motion vector prediction)モードでありうるが、これに限定されるものではない。ここで、MVPモードは、AMVP(advanced motion vector prediction)モードとも呼ばれることができる。
【0218】
デコーディング装置は、前記インター予測モード及び前記現在ブロックの隣接ブロックに基づいて、MVP候補リストを導き出す(S1220)。例えば、デコーディング装置は、空間的隣接候補ブロック及び/または時間的隣接候補ブロックに基づいて、MVP候補リストを構成できる。ここで、構成されたMVP候補リストは、エンコーディング装置で構成されたMVP候補リストと同一でありうる。前記隣接ブロックは、前記現在ブロックの左下側コーナー隣接ブロック、左側隣接ブロック、右上側コーナー隣接ブロック、上側隣接ブロック及び左上側コーナー隣接ブロックを含むことができる。例えば、現在ブロックに双予測が適用される場合、L0予測のためのL0MVP候補リスト及びL1予測のためのL1 MVP候補リストが各々構成されることができる。
【0219】
デコーディング装置は、前記MVP候補リストに基づいて前記現在ブロックの動き情報を導き出す(S1230)。例えば、デコーディング装置は、上述した選択情報に基づいて動きベクトル予測子候補リスト内で現在ブロックのための動きベクトル予測子候補を導き出すことができ、導き出した動きベクトル予測子候補に基づいて現在ブロックの動き情報(または動きベクトル)を導き出すことができる。または、前記導き出した動きベクトル予測子候補及び上述した動きベクトル差分に関する情報により導き出される動きベクトル差分に基づいて、前記現在ブロックの動き情報(または動きベクトル)を導き出すことができる。例えば、現在ブロックに双予測が適用される場合、L0予測のためのL0動きベクトル予測子及びL1予測のためのL1動きベクトル予測子が各々L0予測のための選択情報及びL1予測のための選択情報に基づいて、L0動きベクトル予測子候補リスト及びL1動きベクトル予測子候補リストから導き出されることができる。例えば、現在ブロックに双予測が適用される場合、L0動きベクトル差分及びL1動きベクトル差分が各々動きベクトル差分に関する情報に基づいて導き出されることができる。ここで、L0動きベクトル差分は、MvdL0で表すことができ、L1動きベクトル差分は、MvdL1で表すこともできる。また、現在ブロックの動きベクトルもL0動きベクトル及びL1動きベクトルで各々導き出されることができる。
【0220】
デコーディング装置は、前記動き情報に基づいて現在ブロックの予測サンプルを生成する(S1240)。例えば、デコーディング装置は、現在ブロックに双予測が適用される場合、L0動きベクトルに基づいてL0予測に対するL0予測サンプル及びL1動きベクトルに基づいて、L1予測に対するL1予測サンプルを生成できる。また、デコーディング装置は、L0予測サンプル及びL1予測サンプルに基づいて、前記現在ブロックの予測サンプルを生成できる。
【0221】
デコーディング装置は、前記予測サンプルに基づいて復元サンプルを生成する(S1250)。前記復元サンプルに基づいて復元ブロックまたは復元ピクチャが導き出されることができる。前記復元サンプル/ブロック/ピクチャにインループフィルタリング手順がさらに適用されうることは、上述したとおりである。
【0222】
デコーディング装置は、前記予測サンプル及びレジデュアルサンプルに基づいて前記復元サンプルを生成できる。この場合、デコーディング装置は、前記レジデュアル情報に基づいて前記レジデュアルサンプルを導き出すことができる。例えば、レジデュアル情報は、レジデュアルサンプルを導き出すために利用される情報を表すことができ、レジデュアルサンプルに関する情報、逆変換関連情報及び/または逆量子化関連情報を含むことができる。例えば、レジデュアル情報は、量子化された変換係数に関する情報を含むことができる。
【0223】
例えば、デコーディング装置は、ビットストリームまたはエンコーディングされた情報をデコーディングして、上述した情報(またはシンタックス要素)全部または一部を含むビデオ/映像情報を獲得できる。また、前記ビットストリームまたはエンコーディングされた情報は、コンピュータ読み取り可能な格納媒体に格納されることができ、上述したデコーディング方法が行われるように引き起こすことができる。
【0224】
前述した実施例において、方法は、一連のステップまたはブロックで流れ図に基づいて説明されているが、該当実施例は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序にまたは同時に発生できる。また、当業者であれば、流れ図に示すステップが排他的でなく、他のステップが含まれ、または、流れ図の一つまたはそれ以上のステップが本文書の実施例の範囲に影響を及ぼさずに削除可能であることを理解することができる。
【0225】
前述した本文書の実施例による方法は、ソフトウェア形態で具現されることができ、本文書によるエンコーディング装置及び/またはデコーディング装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの映像処理を実行する装置に含まれることができる。
【0226】
本文書において、実施例がソフトウェアで具現される時、前述した方法は、前述した機能を遂行するモジュール(過程、機能など)で具現されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部または外部にあり、よく知られた多様な手段でプロセッサと連結されることができる。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/またはデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/または他の格納装置を含むことができる。即ち、本文書で説明した実施例は、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で具現されて実行されることができる。例えば、各図面で示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で具現されて実行されることができる。この場合、具現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル格納媒体に格納されることができる。
【0227】
また、本文書の実施例(ら)が適用されるデコーディング装置及びエンコーディング装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、VR(virtual reality)装置、AR(argumente reality)装置、画像電話ビデオ装置、運送手段端末(例えば、車両(自律走行車両を含む)端末、飛行機端末、船舶端末等)、及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使われることができる。例えば、OTTビデオ(Over the top video)装置として、ゲームコンソール、ブルーレイプレーヤ、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recorder)などを含むことができる。
【0228】
また、本文書の実施例(ら)が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。また、本文書の実施例(ら)によるデータ構造を有するマルチメディアデータもコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読みだすことができるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で具現されたメディアを含む。また、エンコーディング方法で生成されたビットストリームはコンピュータが読み取り可能な記録媒体に格納され、または、有無線通信ネットワークを介して送信されることができる。
【0229】
また、本文書の実施例(ら)は、プログラムコードによるコンピュータプログラム製品で具現されることができ、前記プログラムコードは、本文書の実施例(ら)によりコンピュータで実行されることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
【0230】
図14は、本文書において開示された実施例が適用されることができるコンテンツストリーミングシステムの例を示す。
【0231】
図14に示すように、本文書の実施例が適用されるコンテンツストリーミングシステムは、大きくエンコーディングサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置及びマルチメディア入力装置を含むことができる。
【0232】
前記エンコーディングサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコーディングサーバは省略されることができる。
【0233】
前記ビットストリームは、本文書の実施例に適用されるエンコーディング方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
【0234】
前記ストリーミングサーバは、ウェブサーバを介したユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0235】
前記ストリーミングサーバは、メディア格納所及び/またはエンコーディングサーバからコンテンツを受信することができる。例えば、前記エンコーディングサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間格納することができる。
【0236】
前記ユーザ装置の例として、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイニジがある。
【0237】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
【0238】
本明細書に記載された請求項は、多様な方式で組み合わせることができる。例えば、本明細書の方法請求項の技術的特徴が組み合わせて装置で具現されることができ、本明細書の装置請求項の技術的特徴が組み合わせて方法で具現されることができる。また、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせて装置で具現されることができ、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせて方法で具現されることができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【手続補正書】
【提出日】2024-04-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコーディング装置によって行われる映像デコーディング方法であって、
ビットストリームから映像情報を取得するステップと
ンター予測モード及び現在ブロックの隣接ブロックに基づいて、前記現在ブロックに対するMVP(motion vector predictor)候補リストを導き出すステップと、
前記MVP候補リストに基づいて前記現在ブロックの動き情報を導き出すステップと、
前記動き情報に基づいて前記現在ブロックの予測サンプルを生成するステップと、
前記予測サンプルに基づいて復元サンプルを生成するステップと、を含み
記動き情報は、L0予測のためのL0動きベクトル又はL1予測のためのL1動きベクトルの少なくとも一つを含み、
前記L0動きベクトルは、L0動きベクトル予測子及びL0動きベクトル差分に基づいて導き出され、前記L1動きベクトルは、L1動きベクトル予測子及びL1動きベクトル差分に基づいて導き出され、
前記映像情報は、L1動きベクトル差分ゼロフラグと、前記現在ブロックに対するSMVD(symmetric motion vector differences)フラグとを含み
記SMVDフラグの値が1に等しいことに基づいて、前記L1動きベクトル差分は、前記L0動きベクトル差分から導き出され、
前記L1動きベクトル差分ゼロフラグの値が1に等しいことに基づいて、前記L1動きベクトル差分は、0として導き出され
前記SMVDフラグの前記値が1に等しくないときに限り、前記L1動きベクトル差分は、0として導き出される、映像デコーディング方法。
【請求項2】
前記映像情報は、ヘッダ情報を含み、
前記ヘッダ情報は、前記L1動きベクトル差分ゼロフラグを含む、請求項1に記載の映像デコーディング方法。
【請求項3】
前記映像情報は、SPS(sequence parameter set)と、前記現在ブロックに対するCU(coding unit)シンタックスとを含み、
前記SPSは、SMVD可用フラグを含み、
前記CUシンタックスは、インター予測タイプ情報及びインターアフィンフラグを含み、前記インター予測タイプ情報は、前記現在ブロックに双予測が適用されるかどうかを表し、
前記SMVD可用フラグ、前記インター予測タイプ情報及び前記インターアフィンフラグにさらに基づいて、前記CUシンタックスは、前記SMVDフラグを含む、請求項1に記載の映像デコーディング方法。
【請求項4】
前記L1動きベクトル差分の絶対値は、前記L0動きベクトル差分の絶対値に等しく、
前記L1動きベクトル差分の符号は、前記L0動きベクトル差分の符号と異なる、請求項1に記載の映像デコーディング方法。
【請求項5】
エンコーディング装置によって行われる映像エンコーディング方法であって、
インター予測モード及び現在ブロックの隣接ブロックに基づいて前記現在ブロックに対するMVP(motion vector predictor)候補リストを導き出すステップと、
前記MVP候補リストに基づいて前記現在ブロックの動き情報を表すための情報を生成するステップと
記現在ブロックの動き情報を表すための情報を含む映像情報をエンコーディングするステップと、を含み
記動き情報は、L0予測のためのL0動きベクトル又はL1予測のためのL1動きベクトルの少なくとも一つを含み、
前記L0動きベクトルは、L0動きベクトル予測子及びL0動きベクトル差分に基づいて導き出され、前記L1動きベクトルは、L1動きベクトル予測子及びL1動きベクトル差分に基づいて導き出され、
前記映像情報は、L1動きベクトル差分ゼロフラグと、前記現在ブロックに対するSMVD(symmetric motion vector differences)フラグとを含み
記SMVDフラグの値が1に等しいことに基づいて、前記L1動きベクトル差分は、前記L0動きベクトル差分から導き出され、
前記L1動きベクトル差分ゼロフラグの値が1に等しいことに基づいて、前記L1動きベクトル差分は、0として導き出され
前記SMVDフラグの前記値が1に等しくないときに限り、前記L1動きベクトル差分は、0として導き出される、映像エンコーディング方法。
【請求項6】
前記映像情報は、ヘッダ情報を含み、
前記ヘッダ情報は、前記L1動きベクトル差分ゼロフラグを含む、請求項5に記載の映像エンコーディング方法。
【請求項7】
前記映像情報は、SPS(sequence parameter set)と、前記現在ブロックに対するCU(coding unit)シンタックスとを含み、
前記SPSは、SMVD可用フラグを含み、
前記CUシンタックスは、インター予測タイプ情報及びインターアフィンフラグを含み、前記インター予測タイプ情報は、前記現在ブロックに双予測が適用されるかどうかを表し、
前記SMVD可用フラグ、前記インター予測タイプ情報及び前記インターアフィンフラグにさらに基づいて、前記CUシンタックスは、前記SMVDフラグを含む、請求項5に記載の映像エンコーディング方法。
【請求項8】
前記L1動きベクトル差分の絶対値は、前記L0動きベクトル差分の絶対値に等しく、
前記L1動きベクトル差分の符号は、前記L0動きベクトル差分の符号と異なる、請求項5に記載の映像エンコーディング方法。
【請求項9】
映像情報に対するデータを送信するための方法であって、
前記映像情報に対するビットストリームを取得するステップであって、
前記ビットストリームは、インター予測モード及び現在ブロックの隣接ブロックに基づいて、前記現在ブロックに対するMVP(motion vector predictor)候補リストを導き出すステップと、前記MVP候補リストに基づいて前記現在ブロックの動き情報を表すための情報を生成するステップと、前記ビットストリームを生成するための映像情報をエンコーディングするステップと、を実行することにより生成され、
前記映像情報は、前記現在ブロックの動き情報を表すための情報を含む、ステップと、
前記ビットストリームを含む前記データを送信するステップと、を含み
記動き情報は、L0予測のためのL0動きベクトル又はL1予測のためのL1動きベクトルの少なくとも一つを含み、
前記L0動きベクトルは、L0動きベクトル予測子及びL0動きベクトル差分に基づいて導き出され、前記L1動きベクトルは、L1動きベクトル予測子及びL1動きベクトル差分に基づいて導き出され、
前記映像情報は、L1動きベクトル差分ゼロフラグと、前記現在ブロックに対するSMVD(symmetric motion vector differences)フラグとを含み
記SMVDフラグの値が1に等しいことに基づいて、前記L1動きベクトル差分は、前記L0動きベクトル差分から導き出され、
前記L1動きベクトル差分ゼロフラグの値が1に等しいことに基づいて、前記L1動きベクトル差分は、0として導き出され
前記SMVDフラグの前記値が1に等しくないときに限り、前記L1動きベクトル差分は、0として導き出される、方法。