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

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

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

特表2022-536766ビデオまたは映像コーディングシステムにおけるインター予測
<>
  • 特表-ビデオまたは映像コーディングシステムにおけるインター予測 図1
  • 特表-ビデオまたは映像コーディングシステムにおけるインター予測 図2
  • 特表-ビデオまたは映像コーディングシステムにおけるインター予測 図3
  • 特表-ビデオまたは映像コーディングシステムにおけるインター予測 図4
  • 特表-ビデオまたは映像コーディングシステムにおけるインター予測 図5
  • 特表-ビデオまたは映像コーディングシステムにおけるインター予測 図6
  • 特表-ビデオまたは映像コーディングシステムにおけるインター予測 図7
  • 特表-ビデオまたは映像コーディングシステムにおけるインター予測 図8
  • 特表-ビデオまたは映像コーディングシステムにおけるインター予測 図9
  • 特表-ビデオまたは映像コーディングシステムにおけるインター予測 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-08-18
(54)【発明の名称】ビデオまたは映像コーディングシステムにおけるインター予測
(51)【国際特許分類】
   H04N 19/70 20140101AFI20220810BHJP
   H04N 19/52 20140101ALI20220810BHJP
   H04N 19/577 20140101ALI20220810BHJP
【FI】
H04N19/70
H04N19/52
H04N19/577
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021573945
(86)(22)【出願日】2020-06-15
(85)【翻訳文提出日】2022-01-11
(86)【国際出願番号】 KR2020007742
(87)【国際公開番号】W WO2020251338
(87)【国際公開日】2020-12-17
(31)【優先権主張番号】62/861,318
(32)【優先日】2019-06-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(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)【発明者】
【氏名】ナム チョンハク
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA14
5C159MA21
5C159MC11
5C159ME01
5C159NN11
5C159RC12
5C159RC38
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
【課題】映像/ビデオコーディング効率を上げる方法及び装置を提供する。
【解決手段】本文書による映像デコーディング方法は、前記エンコーディングされた情報からインター予測モード情報を獲得するステップと、前記インター予測モード情報に基づいて現在ブロックの動きベクトル予測子候補リストを構成するステップと、前記動きベクトル予測子候補リストに基づいて前記現在ブロックの動きベクトルを導き出すステップと、前記動きベクトルに基づいて前記現在ブロックの予測サンプルを生成するステップとを含むことを特徴とする。
【選択図】図8
【特許請求の範囲】
【請求項1】
デコーディング装置によって行われる映像デコーディング方法であって、
ビットストリームからインター予測モード情報を獲得するステップと、
前記インター予測モード情報に基づいて現在ブロックの動きベクトル予測子候補リストを構成するステップと、
前記動きベクトル予測子候補リストに基づいて前記現在ブロックの動きベクトルを導き出すステップと、
前記動きベクトルに基づいて前記現在ブロックの予測サンプルを生成するステップとを含み、
前記動きベクトルは、前記動きベクトル予測子候補リストに基づいて導き出される動きベクトル予測子及び動きベクトル差分に基づいて導き出され、
前記現在ブロックは、双予測(bi-prediction)が適用され、
前記動きベクトル差分は、L0予測に対するL0動きベクトル差分及びL1予測に対するL1動きベクトル差分を含み、
前記インター予測モード情報は、前記L1動きベクトル差分に対するゼロフラグに基づいて対称動きベクトル差分フラグを含み、
前記L1動きベクトル差分は、前記対称動きベクトル差分フラグに基づいて導き出され、
前記L1動きベクトル差分に対するゼロフラグは、前記L1動きベクトル差分が0であるかどうかに対する情報を表し、前記対称動きベクトル差分フラグは、前記L0動きベクトル差分及び前記L1動きベクトル差分が対称であるかどうかに対する情報を表すことを特徴とする、映像デコーディング方法。
【請求項2】
値が0である前記L1動きベクトル差分に対するゼロフラグに基づいて、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含むことを特徴とする、請求項1に記載の映像デコーディング方法。
【請求項3】
値が1である前記L1動きベクトル差分に対するゼロフラグに基づいて、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含まないことを特徴とする、請求項1に記載の映像デコーディング方法。
【請求項4】
値が1である前記L1動きベクトル差分に対するゼロフラグに基づいて、対称動きベクトル差分参照インデックスの値が-1に導き出され、
前記インター予測モード情報は、前記対称動きベクトル差分参照インデックスの値に基づいて、前記対称動きベクトル差分フラグを含むことを特徴とする、請求項1に記載の映像デコーディング方法。
【請求項5】
値が1である前記L1動きベクトル差分に対するゼロフラグ及び値が0である前記対称動きベクトル差分フラグに基づいて、前記L1動きベクトル差分は0に導き出されることを特徴とする、請求項1に記載の映像デコーディング方法。
【請求項6】
値が0である前記L1動きベクトル差分に対するゼロフラグまたは値が1である前記対称動きベクトル差分フラグに基づいて、前記L1動きベクトル差分は、前記L0動きベクトル差分から導き出されることを特徴とする、請求項1に記載の映像デコーディング方法。
【請求項7】
前記L1動きベクトル差分の絶対値は、前記L0動きベクトル差分の絶対値と同じであり、
前記L1動きベクトル差分の符号は、前記L0動きベクトル差分の符号と異なることを特徴とする、請求項6に記載の映像デコーディング方法。
【請求項8】
エンコーディング装置によって行われる映像エンコーディング方法であって、
現在ブロックに対する動きベクトル予測子候補リストを構成するステップと、
前記動きベクトル予測子候補リストに基づいて前記現在ブロックの動きベクトル予測子を決定するステップと、
前記動きベクトル予測子候補リストのうち、前記動きベクトル予測子を表す選択情報を生成するステップと、
前記動きベクトル予測子に基づいて前記現在ブロックに対する動きベクトル差分を決定するステップと、
前記選択情報及び前記動きベクトル差分に関する情報を含むインター予測モード情報をエンコーディングするステップとを含み、
前記現在ブロックは、双予測(bi-prediction)が適用され、
前記動きベクトル差分は、L0予測に対するL0動きベクトル差分及びL1予測に対するL1動きベクトル差分を含み、
前記インター予測モード情報は、前記L1動きベクトル差分に対するゼロフラグに基づいて対称動きベクトル差分フラグを含み、
前記L1動きベクトル差分は、前記対称動きベクトル差分フラグに基づいて表され、
前記L1動きベクトル差分に対するゼロフラグは、前記L1動きベクトル差分が0であるかどうかに対する情報を表し、前記対称動きベクトル差分フラグは、前記L0動きベクトル差分及び前記L1動きベクトル差分が対称であるかどうかに対する情報を表すことを特徴とする、映像エンコーディング方法。
【請求項9】
値が0である前記L1動きベクトル差分に対するゼロフラグに基づいて、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含むことを特徴とする、請求項8に記載の映像エンコーディング方法。
【請求項10】
値が1である前記L1動きベクトル差分に対するゼロフラグに基づいて、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含まないことを特徴とする、請求項8に記載の映像エンコーディング方法。
【請求項11】
値が1である前記L1動きベクトル差分に対するゼロフラグに基づいて、対称動きベクトル差分参照インデックスの値が-1に決定され、
前記インター予測モード情報は、前記対称動きベクトル差分参照インデックスの値に基づいて前記対称動きベクトル差分フラグを含むことを特徴とする、請求項8に記載の映像エンコーディング方法。
【請求項12】
値が1である前記L1動きベクトル差分に対するゼロフラグ及び値が0である前記対称動きベクトル差分フラグに基づいて、前記L1動きベクトル差分は0に決定されることを特徴とする、請求項8に記載の映像エンコーディング方法。
【請求項13】
値が0である前記L1動きベクトル差分に対するゼロフラグまたは値が1である前記対称動きベクトル差分フラグに基づいて、前記L1動きベクトル差分は、前記L0動きベクトル差分から表されることを特徴とする、請求項8に記載の映像エンコーディング方法。
【請求項14】
前記L1動きベクトル差分の絶対値は、前記L0動きベクトル差分の絶対値と同じであり、
前記L1動きベクトル差分の符号は、前記L0動きベクトル差分の符号と異なることを特徴とする、請求項13に記載の映像エンコーディング方法。
【請求項15】
デコーディング装置が映像デコーディング方法を行うように引き起こすエンコーディングされた情報を格納するコンピュータ読み取り可能なデジタル格納媒体において、前記映像デコーディング方法は、
前記エンコーディングされた情報からインター予測モード情報を獲得するステップと、
前記インター予測モード情報に基づいて現在ブロックの動きベクトル予測子候補リストを構成するステップと、
前記動きベクトル予測子候補リストに基づいて前記現在ブロックの動きベクトルを導き出すステップと、
前記動きベクトルに基づいて前記現在ブロックの予測サンプルを生成するステップとを含み、
前記動きベクトルは、前記動きベクトル予測子候補リストに基づいて導き出される動きベクトル予測子及び動きベクトル差分に基づいて導き出され、
前記現在ブロックは、双予測(bi-prediction)が適用され、
前記動きベクトル差分は、L0予測に対するL0動きベクトル差分及びL1予測に対するL1動きベクトル差分を含み、
前記インター予測モード情報は、前記L1動きベクトル差分に対するゼロフラグに基づいて対称動きベクトル差分フラグを含み、
前記L1動きベクトル差分は、前記対称動きベクトル差分フラグに基づいて導き出され、
前記L1動きベクトル差分に対するゼロフラグは、前記L1動きベクトル差分が0であるかどうかに対する情報を表し、前記対称動きベクトル差分フラグは、前記L0動きベクトル差分及び前記L1動きベクトル差分が対称であるかどうかに対する情報を表すことを特徴とすることを特徴とする、コンピュータ読み取り可能なデジタル格納媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本文書は、ビデオ/映像コーディング技術に関し、さらに詳細には、ビデオまたは映像コーディングシステムにおけるインター予測に関する。
【背景技術】
【0002】
近年、4Kまたは8K以上のUHD(Ultra High Definition)画像/ビデオのような高解像度、高品質の画像/ビデオに対する需要が様々な分野で増加している。画像/ビデオデータが高解像度、高品質になるほど、既存の画像/ビデオデータに比べて相対的に送信される情報量またはビット量が増加するので、既存の有無線広帯域回線のような媒体を利用して画像データを送信するか、既存の格納媒体を利用して画像/ビデオデータを格納する場合、送信費用と格納費用が増加される。
【0003】
また、近年、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの実感メディア(Immersive Media)に対する関心及び需要が増加しており、ゲーム画像のように、現実画像と異なる画像特性を有する画像/ビデオに対する放送が増加している。
【0004】
これにより、上記のような様々な特性を有する高解像度・高品質の画像/ビデオの情報を効果的に圧縮して送信するか、格納し、再生するために高効率の画像/ビデオ圧縮技術が求められる。
【発明の概要】
【課題を解決するための手段】
【0005】
本文書の一実施例によれば、映像/ビデオコーディング効率を上げる方法及び装置を提供する。
【0006】
本文書の一実施例によれば、映像/ビデオコーディングシステムにおける效率的にインター予測を行う方法及び装置を提供する。
【0007】
本文書の一実施例によれば、インター予測において動きベクトル差分に関する情報をシグナリングする方法及び装置を提供する。
【0008】
本文書の一実施例によれば、現在ブロックに双予測が適用される場合、L0動きベクトル差分及びL1動きベクトル差分に関する情報をシグナリングする方法及び装置を提供する。
【0009】
本文書の一実施例によれば、L1動きベクトル差分に対するゼロフラグまたは対称動きベクトル差分フラグをシグナリングする方法及び装置を提供する。
【0010】
本文書の一実施例によれば、L1動きベクトル差分に対するゼロフラグまたは対称動きベクトル差分フラグに基づいて、L1動きベクトル差分を導き出す方法及び装置を提供する。
【0011】
本文書の一実施例によると、デコーディング装置により実行されるビデオ/映像デコーディング方法を提供する。
【0012】
本文書の一実施例によると、ビデオ/映像デコーディングを実行するデコーディング装置を提供する。
【0013】
本文書の一実施例によると、エンコーディング装置により実行されるビデオ/映像エンコーディング方法を提供する。
【0014】
本文書の一実施例によると、ビデオ/映像エンコーディングを実行するエンコーディング装置を提供する。
【0015】
本文書の一実施例によると、本文書の実施例のうち少なくとも一つに開示されたビデオ/映像エンコーディング方法によって生成されたエンコーディングされたビデオ/映像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【0016】
本文書の一実施例によると、デコーディング装置により本文書の実施例のうち少なくとも一つに開示されたビデオ/映像デコーディング方法を実行するようにするエンコーディングされた情報またはエンコーディングされたビデオ/映像情報が格納されたコンピュータ読み取り可能なデジタル格納媒体を提供する。
【発明の効果】
【0017】
本文書によれば、全般的な映像/ビデオ圧縮効率を上げることができる。
【0018】
本文書によれば、動きベクトル差分に関する情報を效率的にシグナリングすることができる。
【0019】
本文書によれば、現在ブロックに双予測が適用される場合、L1動きベクトル差分を效率的に導き出すことができる。
【0020】
本文書によれば、L1動きベクトル差分を導き出すのに利用される情報を效率的にシグナリングして、コーディングシステムの複雑度を下げることができる。
【0021】
本文書の具体的な一例を介して得ることができる効果は、以上で羅列された効果に制限されない。例えば、関連した技術分野の通常の知識を有する者が(a person having ordinary skill in the related art)が本文書から理解し、または誘導できる多様な技術的効果が存在できる。それによって、本文書の具体的な効果は、本文書に明示的に記載されたものに制限されずに、本文書の技術的特徴から理解され、または誘導されることができる多様な効果を含むことができる。
【図面の簡単な説明】
【0022】
図1】本文書が適用されることができるビデオ/映像コーディングシステムの例を概略的に示す。
図2】本文書が適用されることができるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。
図3】本文書が適用されることができるビデオ/映像デコーディング装置の構成を概略的に説明する図である。
図4】本文書によるMVP候補リストを構成する方法を概略的に示す。
図5】対称(symmetric)MVDを説明するための図である。
図6】本文書の実施例(ら)によるビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。
図7】本文書の実施例(ら)によるビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。
図8】本文書の実施例(ら)によるビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。
図9】本文書の実施例(ら)によるビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。
図10】本文書において開示された実施形態が適用されることができるコンテンツストリーミングシステムの例を示す。
【発明を実施するための形態】
【0023】
本文書は、様々な変更を加えることができ、種々の実施例を有することができ、特定実施例を図面に例示し、詳細に説明しようとする。しかしながら、これは、本文書を特定実施例に限定しようとするものではない。本明細書で常用する用語は、単に特定の実施例を説明するために使用されたものであって、本文書の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明白に異なるように意味しない限り、複数の表現を含む。本明細書において「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、一つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないことと理解されるべきである。
【0024】
一方、本文書で説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の都合上、独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで具現されるということを意味するものではない。例えば、各構成のうち、二つ以上の構成が結合されて一つの構成をなすこともでき、一つの構成を複数の構成に分けることもできる。各構成が統合及び/または分離された実施例も本文書の本質から外れない限り、本文書の権利範囲に含まれる。
【0025】
以下、添付図面を参照して、本文書の好ましい実施例をより詳細に説明する。以下、図面上の同じ構成要素に対しては、同じ参照符号を使用し、同じ構成要素に対して重複した説明は省略されることができる。
【0026】
この文書は、ビデオ/映像コーディングに関する。例えば、この文書に開示された方法/実施例は、VVC(Versatile Video Coding)標準(ITU-T Rec.H.266)、VVC以後の次世代ビデオ/イメージコーディング標準、またはその以外のビデオコーディング関連標準(例えば、HEVC(High Efficiency Video Coding)標準(ITU-T Rec.H.265)、EVC(essential video coding)標準、AVS2標準等)と関連することができる。
【0027】
この文書ではビデオ/映像コーディングに関する多様な実施例を提示し、他の言及がない限り、前記実施例は、互いに組み合わせて実行されることもできる。
【0028】
この文書において、ビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味することができる。ピクチャ(picture)は、一般的に特定時間帯の一つの映像を示す単位を意味し、スライス(slice)/タイル(tile)は、コーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、一つ以上のCTU(coding tree unit)を含むことができる。一つのピクチャは、一つ以上のスライス/タイルで構成されることができる。一つのピクチャは、一つ以上のタイルグループで構成されることができる。一つのタイルグループは、一つ以上のタイルを含むことができる。
【0029】
ピクセル(pixel)またはペル(pel)は、一つのピクチャ(または、映像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。または、サンプルは、空間ドメインでのピクセル値を意味することもでき、このようなピクセル値が周波数ドメインに変換されると、周波数ドメインでの変換係数を意味することもできる。
【0030】
ユニット(unit)は、映像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち少なくとも一つを含むことができる。一つのユニットは、一つのルマブロック及び二つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(または、サンプルアレイ)、または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
【0031】
この文書において、“/”と“、”は、“及び/または”と解釈される。例えば、“A/B”は、“A及び/またはB”と解釈され、“A、B”は、“A及び/またはB”と解釈される。追加的に、“A/B/C”は、“A、B及び/またはCのうち少なくとも一つ”を意味する。また、“A、B、C”も、“A、B及び/またはCのうち少なくとも一つ”を意味する。(In this document,the term “/” and “,” should be interpreted to indicate “and/or.” For instance,the expression “A/B” may mean “A and/or B.”Further,“A,B” may mean “A and/or B.”Further,“A/B/C” may mean “at least one of A,B,and/or C.”Also,“A/B/C” may mean “at least one of A,B,and/or C.”)
【0032】
追加的に、本文書において、“または”は、“及び/または”と解釈される。例えば、“AまたはB”は、1)“A”のみを意味し、または、2)“B”のみを意味し、または、3)“A及びB”を意味することができる。他の表現としては、本文書の“または”は、“追加的にまたは代替的に(additionally or alternatively)”を意味することができる。(Further,in the document,the term “or” should be interpreted to indicate “and/or.” For instance,the expression “A or B” may comprise 1)only A,2)only B,and/or 3)both A and B.In other words,the term “or” in this document should be interpreted to indicate “additionally or alternatively.”)
【0033】
本明細書において、“少なくとも一つの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)”と同じく解釈されることができる。
【0034】
また、本明細書において、“少なくとも一つの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)”を意味することができる。
【0035】
また、本明細書で使われる括弧は、“例えば(for example)”を意味することができる。具体的に、“予測(イントラ予測)”で表示された場合、“予測”の一例として“イントラ予測”が提案されたものである。他の表現としては、本明細書の“予測”は、“イントラ予測”に制限(limit)されるものではなく、“イントラ予測”が“予測”の一例として提案されたものである。また、“予測(即ち、イントラ予測)”で表示された場合にも、“予測”の一例として“イントラ予測”が提案されたものである。
【0036】
本明細書において、一つの図面内で個別的に説明される技術的特徴は、個別的に具現されることもでき、同時に具現されることもできる。
【0037】
図1は、本文書が適用されることができるビデオ/映像コーディングシステムの例を概略的に示す。
【0038】
図1を参照すると、ビデオ/映像コーディングシステムは、ソースデバイス及び受信デバイスを含むことができる。ソースデバイスは、エンコーディングされたビデオ(video)/映像(image)情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスに伝達できる。
【0039】
前記ソースデバイスは、ビデオソース、エンコーディング装置、送信部を含むことができる。前記受信デバイスは、受信部、デコーディング装置、及びレンダラを含むことができる。前記エンコーディング装置は、ビデオ/映像エンコーディング装置と呼ばれることができ、前記デコーディング装置は、ビデオ/映像デコーディング装置と呼ばれることができる。送信機は、エンコーディング装置に含まれることができる。受信機は、デコーディング装置に含まれることができる。レンダラは、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
【0040】
ビデオソースは、ビデオ/映像のキャプチャ、合成または生成過程などを介してビデオ/映像を取得することができる。ビデオソースは、ビデオ/映像キャプチャデバイス及び/またはビデオ/映像生成デバイスを含むことができる。ビデオ/映像キャプチャデバイスは、例えば、一つ以上のカメラ、以前にキャプチャされたビデオ/映像を含むビデオ/映像アーカイブなどを含むことができる。ビデオ/映像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含むことができ、(電子的に)ビデオ/映像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/映像が生成されることができ、この場合、ビデオ/映像キャプチャ過程を関連データが生成される過程に代替されることができる。
【0041】
エンコーディング装置は、入力ビデオ/映像をエンコーディングすることができる。エンコーディング装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を実行することができる。エンコーディングされたデータ(エンコーディングされたビデオ/映像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0042】
送信部は、ビットストリーム形態で出力されたエンコーディングされたビデオ/映像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達できる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。送信部は、あらかじめ決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介した送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコーディング装置に伝達できる。
【0043】
デコーディング装置は、エンコーディング装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を実行してビデオ/映像をデコーディングすることができる。
【0044】
レンダラは、デコーディングされたビデオ/映像をレンダリングすることができる。レンダリングされたビデオ/映像は、ディスプレイ部を介してディスプレイされることができる。
【0045】
図2は、本文書が適用されることができるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。以下、ビデオエンコーディング装置とは、映像エンコーディング装置を含むことができる。
【0046】
図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を内/外部コンポーネントとしてさらに備えることもできる。
【0047】
画像分割部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)を導く単位であることができる。
【0048】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)等の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、画像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0049】
減算部231は、入力映像信号(原本ブロック、原本サンプルまたは原本サンプルアレイ)から、予測部220から出力された予測信号(予測されたブロック、予測サンプルまたは予測サンプルアレイ)を減算してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルまたはレジデュアルサンプルアレイ)を生成することができ、生成されたレジデュアル信号は、変換部232に送信される。予測部220は、処理対象ブロック(以下、現在ブロックという)に対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部220は、現在ブロックまたはCU単位でイントラ予測が適用されるか、または、インター予測が適用されるかを決定することができる。予測部は、各予測モードに対する説明で後述するように、予測モード情報など、予測に関する多様な情報を生成してエントロピーエンコーディング部240に伝達できる。予測に関する情報は、エントロピーエンコーディング部240でエンコーディングされてビットストリーム形態で出力されることができる。
【0050】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することができ、または、離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは、例示であり、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用され得る。イントラ予測部222は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0051】
インター予測部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)をシグナリングすることにより、現在ブロックの動きベクトルを指示することができる。
【0052】
予測部220は、後述する多様な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、一つのブロックに対する予測のためにイントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測を同時に適用できる。これはcombined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy、IBC)を実行することもできる。前記イントラブロックコピーは、例えば、SCC(screen content coding)などのようにゲームなどのコンテンツ映像/動映像コーディングのために使われることができる。IBCは、基本的に現在ピクチャ内で予測を実行するが、現在ピクチャ内で参照ブロックを導出する点でインター予測と類似するように実行されることができる。即ち、IBCは、本文書で説明されるインター予測技法のうち少なくとも一つを利用することができる。
【0053】
インター予測部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)を利用して予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同じ大きさを有するピクセルブロックに適用されることもでき、正方形でない可変大きさのブロックにも適用されることができる。
【0054】
量子化部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に含まれることもできる。
【0055】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために利用されることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することによって、レジデュアル信号(レジデュアルブロックまたはレジデュアルサンプル)を復元することができる。加算部250は、復元されたレジデュアル信号を予測部220から出力された予測信号に加えることによって、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルまたは復元サンプルアレイ)が生成されることができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使われることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使われることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使われることもできる。
【0056】
一方、ピクチャエンコーディング及び/または復元過程でLMCS(luma mapping with chrom ascaling)が適用されることもできる。
【0057】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに多様なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納することができる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset、SAO)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法に対する説明で後述するように、フィルタリングに関する多様な情報を生成してエントロピーエンコーディング部290に伝達できる。フィルタリング関する情報は、エントロピーエンコーディング部290でエンコーディングされてビットストリーム形態で出力されることができる。
【0058】
メモリ270に送信された修正された復元ピクチャは、インター予測部280で参照ピクチャとして使われることができる。エンコーディング装置は、これを介してインター予測が適用される場合、エンコーディング装置200とデコーディング装置での予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0059】
メモリ270のDPBは。修正された復元ピクチャをインター予測部221での参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコーディングされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するためにインター予測部221に伝達できる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達できる。
【0060】
図3は、本文書が適用されることができるビデオ/映像デコーディング装置の構成を概略的に説明する図である。
【0061】
図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を内/外部コンポーネントとしてさらに備えることもできる。
【0062】
ビデオ/画像情報を含むビットストリームが入力されれば、デコーディング装置300は、図3のエンコーディング装置でビデオ/画像情報が処理されたプロセスに対応して画像を復元することができる。例えば、デコーディング装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出することができる。デコーディング装置300は、エンコーディング装置で適用された処理ユニットを用いてデコーディングを行うことができる。したがって、デコーディングの処理ユニットは、例えば、コーディングユニットであることができ、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/またはターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出され得る。そして、デコーディング装置300を介してデコーディング及び出力された復元画像信号は、再生装置を介して再生されることができる。
【0063】
デコーディング装置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でデコーディングされた情報のうち予測に関する情報は、予測部330に提供され、エントロピーデコーディング部310でエントロピーデコーディングが実行されたレジデュアルに対する情報、即ち、量子化された変換係数及び関連パラメータ情報は、逆量子化部321に入力されることができる。また、エントロピーデコーディング部310でデコーディングされた情報のうちフィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコーディング装置から出力された信号を受信する受信部(図示せず)がデコーディング装置300の内/外部エレメントとしてさらに構成されることができ、または、受信部は、エントロピーデコーディング部310の構成要素である場合もある。一方、本文書によるデコーディング装置は、ビデオ/映像/ピクチャデコーディング装置と呼ばれることができ、前記デコーディング装置は。情報デコーダ(ビデオ/映像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/映像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは、前記エントロピーデコーディング部310を含むことができ、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、予測部330、加算部340、フィルタリング部350、及びメモリ360のうち少なくとも一つを含むことができる。
【0064】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコーディング装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0065】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
【0066】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコーディング部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、または、インター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モードを決定することができる。
【0067】
予測部は、後述する多様な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、一つのブロックに対する予測のためにイントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測を同時に適用できる。これはcombined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy、IBC)を実行することもできる。前記イントラブロックコピーは、例えば、SCC(screen content coding)などのようにゲームなどのコンテンツ映像/動映像コーディングのために使われることができる。IBCは、基本的に現在ピクチャ内で予測を実行するが、現在ピクチャ内で参照ブロックを導出する点でインター予測と類似するように実行されることができる。即ち、IBCは、本文書で説明されるインター予測技法のうち少なくとも一つを利用することができる。
【0068】
イントラ予測部332は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置でき、または離れて位置することもできる。イントラ予測において、予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。イントラ予測部332は、隣接ブロックに適用された予測モードを利用し、現在ブロックに適用される予測モードを決定することもできる。
【0069】
インター予測部331は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロックまたはサンプル単位で予測できる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と、参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)と、を含むことができる。例えば、インター予測部331は、隣接ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/または参照ピクチャインデックスを導出することができる。多様な予測モードに基づいてインター予測が実行されることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
【0070】
加算部340は、取得されたレジデュアル信号を、予測部330から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることによって復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使われることができる。
【0071】
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使われることができ、後述するように、フィルタリングを経て出力されることもでき、または、次のピクチャのインター予測のために使われることもできる。
【0072】
一方、ピクチャデコーディング過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0073】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに多様なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ60、具体的に、メモリ360のDPBに送信できる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
【0074】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部331で参照ピクチャとして使われることができる。メモリ360は、現在ピクチャ内の動き情報が導出された(または、デコーディングされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するためにインター予測部331に伝達できる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部332に伝達できる。
【0075】
本明細書において、デコーディング装置300の予測部330、逆量子化部321、逆変換部322、及びフィルタリング部350などで説明された実施例は、各々、エンコーディング装置200の予測部220、逆量子化部234、逆変換部235、及びフィルタリング部260などにも同一または対応されるように適用されることができる。
【0076】
一方、前述したように、ビデオコーディングを実行するにあたって圧縮効率を上げるために予測を実行する。それによって、コーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコーディング装置及びデコーディング装置で同様に導出され、前記エンコーディング装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロックとの間のレジデュアルに関する情報(レジデュアル情報)をデコーディング装置にシグナリングすることで画像コーディング効率を上げることができる。デコーディング装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックを加算して復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
【0077】
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコーディング装置は、前記原本ブロックと前記予測されたブロックとの間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれているレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を実行して変換係数を導出し、前記変換係数に量子化手順を実行して量子化された変換係数を導出することで、関連したレジデュアル情報を(ビットストリームを介して)デコーディング装置にシグナリングすることができる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコーディング装置は、前記レジデュアル情報に基づいて逆量子化/逆変換手順を実行してレジデュアルサンプル(または、レジデュアルブロック)を導出することができる。デコーディング装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャを生成することができる。また、エンコーディング装置は、以後ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
【0078】
エンコーディング装置/デコーディング装置の予測部は、ブロック単位でインター予測を行って予測サンプルを導き出すことができる。インター予測は、現在ピクチャ以外のピクチャ(ら)のデータ要素ら(例えば、サンプル値ら、または動き情報等)に依存した方法で導き出される予測を表すことができる(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)はシグナリングされうる。この場合、前記動きベクトル予測子及び動きベクトル差分の合計を利用して、前記現在ブロックの動きベクトルを導き出すことができる。
【0079】
前記動き情報は、インター予測タイプ(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)に対応できる。
【0080】
ピクチャ内の現在ブロックの予測のために、多様なインター予測モードが使用されることができる。例えば、マージモード、スキップモード、MVP(motion vector prediction)モード、アフィン(Affine)モード、HMVP(historical motino vector prediction)モードなど、多様なモードが使用されることができる。DMVR(Decoder side motion vector refinement)モード、AMVR(adaptive motion vector resolution)モードなどが付随的なモードとしてさらに使用されることができる。アフィンモードは、アフィン動き予測(affine motion prediction)モードとも呼ばれることができる。MVPモードは、AMVP(advanced motion vector prediction)モードとも呼ばれることができる。本文書において一部モード及び/または一部モードによって導き出された動き情報候補は、他のモードの動き情報関連候補のうち、いずれか一つとして含まれることもできる。例えば、HMVP候補は、前記マージ/スキップモードのマージ候補として追加されることができ、または前記MVPモードのmvp候補として追加されることもできる。
【0081】
現在ブロックのインター予測モードを指す予測モード情報がエンコーディング装置からデコーディング装置へシグナリングされることができる。前記予測モード情報は、ビットストリームに含まれてデコーディング装置に受信されることができる。前記予測モード情報は、多数の候補モードのうち、一つを指示するインデックス情報を含むことができる。または、フラグ情報の階層的シグナリングを通じてインター予測モードを指示することもできる。この場合、前記予測モード情報は、一つ以上のフラグを含むことができる。例えば、スキップフラグをシグナリングしてスキップモードを適用するかどうかを指示し、スキップモードが適用されない場合にマージフラグをシグナリングして、マージモードを適用するかどうかを指示し、マージモードが適用されない場合にMVPモードが適用されることと指示するか、または追加的な区分のためのフラグをさらにシグナリングすることもできる。アフィンモードは、独立的なモードでシグナリングされることもでき、またはマージモードまたはMVPモードなどに従属的なモードでシグナリングされうる。例えば、アフィンモードは、アフィンマージモード及びアフィンMVPモードを含むことができる。
【0082】
一方、現在ブロックに上述した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と表されることもできる。
【0083】
一つのピクチャは、一つ以上のsliceを含むことができる。sliceは、intra(I)slice、predictive(P) slice及びbi-predictive(B) sliceを含むsliceタイプのうち、いずれか一つのタイプを持つことができる。前記sliceタイプは、sliceタイプ情報に基づいて指示されることができる。I slice内のブロックに対しては、予測のためにインター予測は使用されず、イントラ予測のみが使用されうる。もちろん、この場合においても予測無しで原本サンプル値をコーディングしてシグナリングすることもできる。P slice内のブロックに対しては、イントラ予測またはインター予測が使用されることができ、インター予測が使用される場合には、単(uni)予測のみ使用されることができる。一方、B slice内のブロックに対しては、イントラ予測またはインター予測が使用されることができ、インター予測が使用される場合には、最大対(bi)予測まで使用されることができる。
【0084】
L0及びL1は、現在ピクチャより以前にエンコーディング/デコーディングされた参照ピクチャを含むことができる。例えば、L0は、POC順序上現在ピクチャより以前及び/または以後参照ピクチャを含むことができ、L1は、POC順序上現在ピクチャより以後及び/または以前参照ピクチャを含むことができる。この場合、L0には、POC順序上現在ピクチャより以前参照ピクチャに相対的により低い参照ピクチャインデックスが割り当てられることができ、L1には、POC順序上現在ピクチャより以後参照ピクチャに相対的により低い参照ピクチャインデックスが割り当てられることができる。B sliceの場合、双予測が適用されることができ、この場合においても片方向双予測が適用されることができ、または両方向双予測が適用されることができる。両方向双予測は、true双予測と呼ばれることができる。
【0085】
具体的に、例えば、現在ブロックのインター予測モードに関する情報は、CU(CUシンタックス)等レベルでコーディングされてシグナリングされるか、あるいは条件によって暗黙的に決定されることができる。この場合、一部モードに対しては、明示的にシグナリングされ、残りの一部モードは、暗黙的に導き出される。
【0086】
現在ブロックの動き情報を利用してインター予測を行うことができる。エンコーディング装置は、動き推定(motion estimation)手順を通じて現在ブロックに対する最適の動き情報を導き出すことができる。例えば、エンコーディング装置は、現在ブロックに対する原本ピクチャ内の原本ブロックを利用して、相関性の高い類似の参照ブロックを参照ピクチャ内の決まった探索範囲内で分数ピクセル単位で探索でき、これを通じて動き情報を導き出すことができる。ブロックの類似性は、位相(phase)基盤サンプル値の差に基づいて導き出すことができる。例えば、ブロックの類似性は、現在ブロック(または現在ブロックのテンプレート)と参照ブロック(または参照ブロックのテンプレート)間のSADに基づいて計算できる。この場合、探索領域内のSADが最も小さな参照ブロックに基づいて動き情報を導き出すことができる。導き出された動き情報は、インター予測モードに基づいて様々な方法によってデコーディング装置へシグナリングされることができる。
【0087】
MVP(Motion vector prediction)モードは、AMVP(advanved motion vetor prediction)モードと呼ばれることができる。MVPモードが適用される場合、復元された空間的周辺ブロックの動きベクトル及び/または時間的周辺ブロック(またはColブロック)に対応する動きベクトルを利用して、動きベクトル予測子(motion vector predictor、mvp)候補リストが生成されることができる。すなわち、復元された空間的周辺ブロックの動きベクトル及び/または時間的周辺ブロックに対応する動きベクトルは、動きベクトル予測子候補として使用されることができる。双予測が適用される場合、L0動き情報導出のためのmvp候補リストとL1動き情報導出のためのmvp候補リストが個別的に生成されて利用されることができる。上述した予測情報(または予測に関する情報)は、前記リストに含まれた動きベクトル予測子候補の中から選択された最適の動きベクトル予測子候補を指示する選択情報(ex.MVPフラグまたはMVPインデックス)を含むことができる。このとき、予測部は、前記選択情報を利用して、動きベクトル候補リストに含まれた動きベクトル予測子候補の中から、現在ブロックの動きベクトル予測子を選択できる。エンコーディング装置の予測部は、現在ブロックの動きベクトルと動きベクトル予測子間の動きベクトル差分(MVD)を求めることができ、これをエンコーディングしてビットストリーム形態で出力できる。すなわち、MVDは、現在ブロックの動きベクトルから前記動きベクトル予測子を引いた値から求められることができる。このとき、デコーディング装置の予測部は、前記予測に関する情報に含まれた動きベクトル差分を獲得し、前記動きベクトル差分と前記動きベクトル予測子の加算を通じて現在ブロックの前記動きベクトルを導き出すことができる。デコーディング装置の予測部は、参照ピクチャを指示する参照ピクチャインデックスなどを前記予測に関する情報から獲得または誘導できる。
【0088】
図4は、本文書によるMVP候補リストを構成する方法を概略的に示す。
【0089】
図4に示すように、一実施例は、まず動きベクトル予測のための空間的候補ブロックを探索して、予測候補リストに挿入できる(S400)。以後、一実施例は、空間的候補ブロックの数が2より小さいかどうかを判断できる(S410)。例えば、一実施例は、空間的候補ブロックの数が2より小さな場合、時間的候補ブロックを探索して予測候補リストに追加挿入でき(S420)、時間的候補ブロックが使用不可能な場合、ゼロ動きベクトルを使用することができる(S430)。すなわち、ゼロ動きベクトルを予測候補リストに追加挿入できる。以後、一実施例は、予備候補リストの構成を終了できる(S440)。または、一実施例は、空間的候補ブロックの数が2より小さくない場合、予備候補リストの構成を終了できる(S440)。ここで、予備候補リストは、MVP候補リストを表すことができる。
【0090】
一方、MVPモードが適用される場合、参照ピクチャインデックスが明示的にシグナリングされることができる。この場合、L0予測のための参照ピクチャインデックス(refidxL0)とL1予測のための参照ピクチャインデックス(refidxL1)が区分されてシグナリングされることができる。例えば、MVPモードが適用され双予測(BI prediction)が適用される場合、前記refidxL0に関する情報及びrefidxL1に関する情報が両方ともシグナリングされることができる。
【0091】
MVPモードが適用される場合、上述したように、エンコーディング装置から導き出されたMVDに関する情報がデコーディング装置へシグナリングされることができる。MVDに関する情報は、例えばMVD絶対値及び符号に対するx、y成分を表す情報を含むことができる。この場合、MVD絶対値が0より大きいかどうか、及び1より大きいかどうか、MVD残りを表す情報が段階的にシグナリングされることができる。例えば、MVD絶対値が1より大きいかどうかを表す情報は、MVD絶対値が0より大きいかどうかを表すflag情報の値が1である場合に限ってシグナリングされることができる。
【0092】
例えば、MVDに関する情報は、表1のようなシンタックスで構成されてエンコーディング装置でエンコーディングされてデコーディング装置へシグナリングされることができる。
【0093】
【表1】
【0094】
例えば、表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に対した情報であることを表すことができる。
【0095】
例えば、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座標系でなく他の座標系を用いて各成分別に値を表すこともできる。
【0096】
一方、L0予測のためのMVD(MVDL0)とL1予測のためのMVD(MVDL1)が区分されてシグナリングされることもでき、前記MVDに関する情報は、MVDL0に関する情報及び/またはMVDL1に関する情報を含むことができる。例えば、現在ブロックにMVPモードが適用され、BI予測が適用される場合、前記MVDLOに関する情報及びMVDL1に関する情報が両方ともシグナリングされることができる。
【0097】
図5は、対称(symmetric)MVDを説明するための図である。
【0098】
一方、BI予測が適用される場合に、コーディング効率を考慮して対称(symmetric)MVDが使用されることもできる。ここで、対称MVDは、SMVDとも呼ばれることができる。この場合には、動き情報のうち、一部のシグナリングが省略されることができる。例えば、対称MVDが現在ブロックに適用される場合、refidxL0に関する情報、refidxL1に関する情報、MVDL1に関する情報がエンコーディング装置からデコーディング装置へシグナリングされずに内部的に導き出されることができる。例えば、現在ブロックにMVPモード及びBI予測が適用される場合、symmetric MVDを適用するかどうかを指示するフラグ情報(ex.symmetric MVDフラグ情報またはsym_mvd_flagシンタックス要素)がシグナリングされることができ、前記フラグ情報の値が1の場合に、デコーディング装置は、前記現在ブロックにsymmetric MVDが適用されると判断できる。
【0099】
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で導き出されることができる。
【0100】
MVDL1は、-MVDL0で導き出されることができる。例えば、現在ブロックに対する最終MVは、数式1のように導き出されることができる。
【0101】
【数1】
【0102】
式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成分を表すことができる。
【0103】
一方、予測モードによって導き出された動き情報に基づいて現在ブロックに対する予測されたブロックを導き出すことができる。前記予測されたブロックは、前記現在ブロックの予測サンプル(予測サンプルアレイ)を含むことができる。現在ブロックの動きベクトルが分数サンプル単位を指す場合、補間(interpolation)手順が行われることができ、これを通じて参照ピクチャ内で分数サンプル単位の参照サンプルに基づいて、前記現在ブロックの予測サンプルが導き出されることができる。現在ブロックにAffineインター予測が適用される場合、サンプル/サブブロック単位MVに基づいて、予測サンプルを生成できる。双予測が適用される場合、L0予測(すなわち、参照ピクチャリストL0内の参照ピクチャとMVL0を利用した予測)に基づいて導き出された予測サンプルとL1予測(すなわち、参照ピクチャリストL1内参照ピクチャとMVL1を利用した予測)に基づいて導き出された予測サンプルの(位相に応じる)加重和または加重平均を介して導き出された予測サンプルが現在ブロックの予測サンプルとして利用されることができる。双予測が適用される場合、L0予測に利用された参照ピクチャとL1予測に利用された参照ピクチャが現在ピクチャに基づいて互いに異なる時間的方向に位置する場合(すなわち、双予測でありながら両方向予測に該当する場合)、これをtrue双予測と呼ぶことができる。
【0104】
導き出された予測サンプルに基づいて復元サンプル及び復元ピクチャが生成されることができ、以後インループフィルタリングなどの手順が行われうることは、前述のとおりである。
【0105】
一方、対称MVD(SMVD)と関連した構成を再度述べると、双予測が適用されるブロックに限って対称MVDフラグがシグナリングされ、前記対称MVDフラグがtrueであると、L0のためのMVDだけをシグナリングすることができ、L1のためのMVDは、L0のためにシグナリングされたMVDをミラーリング(mirroring)して使用されることができる。ただし、この場合、対称MVDを適用する過程においてmvd_l1_zero_flagシンタックス要素の値(例えば、mvd_l1_zero_flagシンタックス要素がtrueである場合)によって問題が発生できる。
【0106】
例えば、mvd_l1_zero_flagシンタックス要素は、表2ないし表4のようなシンタックスに基づいてシグナリングされることができる。すなわち、スライスヘッダにおいて現在スライスがBスライスの場合、mvd_l1_zero_flagシンタックス要素がシグナリングされることができる。ここで、表2ないし表4は、一連のシンタックス(例えば、スライスヘッダシンタックス)を表すことができる。
【0107】
【表2】
【0108】
【表3】
【0109】
【表4】
【0110】
例えば、表2ないし表4においてmvd_l1_zero_flagシンタックス要素のセマンティクスは、次の表5のとおりでありうる。
【0111】
【表5】
【0112】
または、例えば、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値が決定されることができる。
【0113】
例えば、対称MVD参照インデックス(symmetric motion vector difference reference indices)のデコーディング手順は、次の表6のとおりでありうるが、これに限定されるものではない。例えば、L0予測のための対称MVD参照インデックスは、RefIdxSymL0と表すことができ、L1予測のための対称MVD参照インデックスは、RefIdxSymL1と表すことができる。
【0114】
【表6】
【0115】
例えば、対称MVDに対した情報またはsym_mvd_flagシンタックス要素は、次の表7ないし表10のようなシンタックスに基づいてシグナリングされることができる。ここで、表7ないし表10は、一連のシンタックス(例えば、コーディングユニットシンタックス)を表すことができる。
【0116】
【表7】
【0117】
【表8】
【0118】
【表9】
【0119】
【表10】
【0120】
または、例えば、対称MVDに対した情報またはsym_mvd_flagシンタックス要素は、次の表11ないし表15のようなシンタックスに基づいてシグナリングされることができる。ここで、表11ないし表15は、一連のシンタックス(例えば、コーディングユニットシンタックス)を表すことができる。
【0121】
【表11】
【0122】
【表12】
【0123】
【表13】
【0124】
【表14】
【0125】
【表15】
【0126】
例えば、対称MVDに対した情報またはsym_mvd_flagシンタックス要素は、表7ないし表10または表11ないし表15のようにシグナリングされることができる。
【0127】
例えば、表7ないし表10または表11ないし表15に示すように、対称MVDに対した情報またはsym_mvd_flagシンタックス要素は、mvd_l1_zero_flagシンタックス要素と関係なく現在ブロックがアフィン(affine)ブロックでない双予測が適用されるブロックの場合、前記方法で誘導された対称MVD参照インデックス(symmetric mvd reference index)が存在するならば、シグナリングされることができる。
【0128】
すなわち、mvd_l1_zero_flagシンタックス要素が1の場合にもsym_mvd_flagシンタックス要素が1になることができる。この場合、sym_mvd_flagシンタックス要素が1であっても、MvdL1は、0に導き出されることができる。これは、sym_mvd_flagシンタックス要素によって動作しないにもかかわらず、sym_mvd_flagシンタックス要素をシグナリングするようになるので、不必要なビットシグナリングの問題がある。
【0129】
一方、本文書の一実施例によれば、mvd_l1_zero_flagシンタックス要素の値が1であり、sym_mvd_flagシンタックス要素の値が1の場合、mvd_l1_zero_flagシンタックス要素が1であっても、MvdL1の値をMvdL0の値にミラーリングされた値で導き出されるようにすることができる。
【0130】
例えば、対称MVDに関する情報またはsym_mvd_flagシンタックス要素は、表16及び表17のようなコーディングユニットシンタックスの少なくとも一部に基づいてシグナリングされることができる。ここで、表16及び表17は、一連のシンタックスの一部を表したことでありうる。
【0131】
【表16】
【0132】
【表17】
【0133】
例えば、表16及び表17に示すように、MvdL1の値は、mvd_l1_zero_flagシンタックス要素の値、sym_mvd_flagシンタックス要素の値及び双予測が適用されるかどうかに基づいて導き出されることができる。すなわち、mvd_l1_zero_flagシンタックス要素の値、sym_mvd_flagシンタックス要素の値及び双予測が適用されるかどうかに基づいてMvdL1の値が0または-MvdL0の値(MvdL0のミラーリングされた値)で導き出されることができる。
【0134】
例えば、表16及び表17中、mvd_l1_zero_flagシンタックス要素のセマンティクスは、表18のとおりでありうる。
【0135】
【表18】
【0136】
一方、本文書の一実施例によれば、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参照インデックスが導出または誘導できる。
【0137】
例えば、この場合、対称MVD参照インデックス(symmetric motion vector difference reference indices)のデコーディング手順は、次の表19のとおりでありうるが、これに限定されるものではない。例えば、L0予測のための対称MVD参照インデックスは、RefIdxSymL0と表すことができ、L1予測のための対称MVD参照インデックスは、RefIdxSymL1と表すことができる。
【0138】
【表19】
【0139】
図6及び図7は、本文書の実施例(ら)によるビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。
【0140】
図6において開示された方法は、図2または図7において開示されたエンコーディング装置によって行われることができる。具体的に、例えば、図6のS600ないしS630は、図7の前記エンコーディング装置の予測部220によって行われることができ、図6のS640は、図7の前記エンコーディング装置のエントロピーエンコーディング部240によって行われることができる。また、図6において示していないが、図7において前記エンコーディング装置の予測部220によって予測サンプルまたは予測関連情報を導き出すことができ、前記エンコーディング装置のレジデュアル処理部230によって原本サンプルまたは予測サンプルからレジデュアル情報が導き出されることができ、前記エンコーディング装置のエントロピーエンコーディング部240によってレジデュアル情報または予測関連情報からビットストリームが生成されることができる。図6において開示された方法は、本文書において上述した実施形態を含むことができる。
【0141】
図6に示すように、エンコーディング装置は、現在ブロックに対する動きベクトル予測子候補リストを構成する(S600)。例えば、エンコーディング装置は、現在ブロックの予測サンプルを生成するために、RD(rate distortion)コスト(cost)を考慮して、現在ブロックにインター予測を行うことができる。または、例えば、エンコーディング装置は、現在ブロックの予測サンプルを生成するのに利用したインター予測モードを決定でき、動き情報を導き出すことができる。ここで、インター予測モードは、MVP(motion vector prediction)モードであるが、これに限定されるものではない。ここで、MVPモードは、AMVP(advanced motion vector prediction)モードと呼ばれることもできる。
【0142】
エンコーディング装置は、動き推定(motion estimation)を通じて現在ブロックに対する最適の動き情報を導き出すことができる。例えば、エンコーディング装置は、現在ブロックに対する原本ピクチャ内の原本ブロックを利用して、相関性の高い類似の参照ブロックを参照ピクチャ内の決まった探索範囲内で分数ピクセル単位で探索でき、これを通じて動き情報を導き出すことができる。
【0143】
エンコーディング装置は、導き出した動き情報を動きベクトル予測子及び/または動きベクトル差分を利用して表すために、動きベクトル予測子候補リストを構成できる。例えば、エンコーディング装置は、空間的周辺候補ブロック及び/または時間的周辺候補ブロックに基づいて、動きベクトル予測子候補リストを構成できる。または、エンコーディング装置は、動きベクトル予測子候補リストを構成するのにゼロ動きベクトルもより利用することもできる。例えば、現在ブロックに双予測が適用される場合、L0予測のためのL0動きベクトル予測子候補リスト及びL1予測のためのL1動きベクトル予測子候補リストが各々構成されることができる。
【0144】
エンコーディング装置は、動きベクトル予測子候補リストに基づいて現在ブロックの動きベクトル予測子を決定する(S610)。例えば、エンコーディング装置は、動きベクトル予測子候補リスト内の動きベクトル予測子候補のうち、前記導き出した動き情報(または動きベクトル)に基づいて、現在ブロックに対する動きベクトル予測子を決定できる。または、エンコーディング装置は、前記導き出した動き情報(または動きベクトル)と差が最も少ない動きベクトル予測子を前記動きベクトル予測子候補リスト内で決定できる。例えば、現在ブロックに双予測が適用される場合、L0予測のためのL0動きベクトル予測子及びL1予測のためのL1動きベクトル予測子が各々L0動きベクトル予測子候補リスト及びL1動きベクトル予測子候補リストから決定されることができる。
【0145】
エンコーディング装置は、動きベクトル予測子候補リストのうち、前記動きベクトル予測子を表す選択情報を生成する(S620)。例えば、選択情報は、インデックス情報とも呼ばれることができ、MVPフラグまたはMVPインデックスとも呼ばれることもできる。すなわち、エンコーディング装置は、動きベクトル予測子候補リスト内で前記現在ブロックの動きベクトルを表すために使用された動きベクトル予測子を指示する情報を生成できる。例えば、現在ブロックに双予測が適用される場合、L0動きベクトル予測子に対する選択情報及びL1動きベクトル予測子に対する選択情報が各々生成されることができる。
【0146】
エンコーディング装置は、動きベクトル予測子に基づいて現在ブロックに対する動きベクトル差分を決定する(S630)。例えば、エンコーディング装置は、前記導き出した現在ブロックに対する動き情報(または動きベクトル)及び前記動きベクトル予測子に基づいて、動きベクトル差分を決定できる。または、エンコーディング装置は、前記導き出した現在ブロックに対する動き情報(または動きベクトル)及び前記動きベクトル予測子間の差に基づいて、動きベクトル差分を決定できる。例えば、現在ブロックに双予測が適用される場合、L0動きベクトル差分及びL1動きベクトル差分が各々決定されることができる。ここで、L0動きベクトル差分は、MvdL0と表すことができ、L1動きベクトル差分は、MvdL1と表すこともできる。
【0147】
エンコーディング装置は、選択情報及び動きベクトル差分に関する情報を含むインター予測モード情報をエンコーディングする(S640)。例えば、エンコーディング装置は、インター予測モード情報を含む映像情報をエンコーディングすることもできる。例えば、エンコーディング装置は、映像情報をエンコーディングしてビットストリームを生成できる。ビットストリームは、エンコーディングされた(映像)情報と呼ばれることもできる。例えば、動きベクトル差分に関する情報は、動きベクトル差分を表す情報を含むことができる。例えば、動きベクトル差分に関する情報は、abs_mvd_greater0_flagシンタックス要素、abs_mvd_greater1_flagシンタックス要素、abs_mvd_minus2シンタックス要素またはmvd_sign_flagシンタックス要素のうち、少なくとも一つを含むことができるが、他の情報もさらに含むことができるので、これに限定されるものではない。
【0148】
例えば、前記インター予測モード情報は、前記L1動きベクトル差分に対するゼロフラグに基づいて対称動きベクトル差分フラグを含むことができ、前記L1動きベクトル差分は、前記対称動きベクトル差分フラグに基づいて表されることができる。ここで、前記L1動きベクトル差分に対するゼロフラグは、前記L1動きベクトル差分が0であるかどうかに対する情報を表すことができ、mvd_l1_zero_flagシンタックス要素またはph_mvd_l1_zero_flagシンタックス要素で表すこともできる。また、前記対称動きベクトル差分フラグは、前記L0動きベクトル差分及び前記L1動きベクトル差分が対称であるかどうかに対する情報を表すことができ、sym_mvd_flagシンタックス要素で表すことができる。
【0149】
例えば、値が0である前記L1動きベクトル差分に対するゼロフラグに基づいて、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含むことができる。すなわち、前記L1動きベクトル差分に対するゼロフラグの値が0である場合、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含むことができる。または、例えば、値が1である前記L1動きベクトル差分に対するゼロフラグに基づいて、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含まなくても良い。すなわち、前記L1動きベクトル差分に対するゼロフラグの値が1の場合、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含まなくても良い。または、例えば、sym_mvd_flagシンタックス要素は、!mvd_l1_zero_flagまたは!ph_mvd_l1_zero_flag条件に基づいて、前記インター予測モード情報またはコーディングユニットシンタックスに含まれることもできる。例えば、mvd_l1_zero_flagシンタックス要素の値が1の場合には、デコーディング装置は、sym_mvd_flagシンタックス要素をパーシングしなくても良く、エンコーディング装置は、前記sym_mvd_flagシンタックス要素が(ビットストリーム、映像/ビデオ情報、CUシンタックス、インター予測モード情報または予測関連情報から)パーシングされないように構成できる。
【0150】
例えば、値が1である前記L1動きベクトル差分に対するゼロフラグに基づいて、対称動きベクトル差分参照インデックスの値が-1に決定されることができる。すなわち、前記L1動きベクトル差分に対するゼロフラグの値が1の場合、対称動きベクトル差分参照インデックスの値が-1に決定されることができる。また、前記インター予測モード情報は、前記対称動きベクトル差分参照インデックスの値に基づいて、前記対称動きベクトル差分フラグを含むこともできる。例えば、対称動きベクトル差分参照インデックスは、L0対称動きベクトル差分参照インデックス及びL1対称動きベクトル差分参照インデックスを含むことができ、各々-1の値に決定されることができる。ここで、L0対称動きベクトル差分参照インデックスは、RefIdxSymL0で表すことができ、L1対称動きベクトル差分参照インデックスは、RefIdxSymL1で表すことができる。例えば、前記対称動きベクトル差分フラグは、RefIdxSymL0及びRefIdxSymL1が各々-1より大きな場合、前記インター予測モード情報またはコーディングユニットシンタックスに含まれることができる。または、例えば、-1より大きなRefIdxSymL0及び-1より大きなRefIdxSymL1に基づいて、前記インター予測モード情報またはコーディングユニットシンタックスが前記対称動きベクトル差分フラグを含むことができる。
【0151】
または、例えば、値が1である前記L1動きベクトル差分に対するゼロフラグ及び値が0である前記対称動きベクトル差分フラグに基づいて、前記L1動きベクトル差分は、0で表されることもできる。すなわち、前記L1動きベクトル差分に対するゼロフラグの値が1で、前記対称動きベクトル差分フラグの値が0の場合、前記L1動きベクトル差分は0で表されることもできる。例えば、mvd_l1_zero_flagシンタックス要素またはph_mvd_l1_zero_flagシンタックス要素の値が1で、sym_mvd_flagシンタックス要素の値が0の場合、MvdL1が0に決定されることができる。
【0152】
または、例えば、値が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動きベクトル差分の符号と異なることを表すことができる。
【0153】
または、例えば、図6に図示していないが、エンコーディング装置は、現在ブロックの動きベクトルに基づいて現在ブロックの予測サンプルを生成でき、原本サンプル及び予測サンプルに基づいてレジデュアルサンプルを生成でき、レジデュアルサンプルに基づいてレジデュアル情報を生成することもできる。この場合、前記映像情報は、レジデュアル情報を含むこともできる。例えば、レジデュアル情報は、レジデュアルサンプルを表す情報を表すことができる。また、例えば、エンコーディング装置は、変換係数に量子化を行うことができ、レジデュアル情報は、レジデュアルサンプルに関する情報、変換関連情報及び/または量子化関連情報を含むことができる。例えば、レジデュアル情報は、量子化された変換係数に関する情報を含むことができる。
【0154】
または、例えば、エンコーディング装置は、予測サンプルを生成するのに利用された情報に基づいて、予測モード/タイプ情報を生成でき、前記映像情報は、予測モード/タイプ情報を含むこともできる。この場合、予測モード/タイプ情報は、上述したインター予測モード情報を含むこともでき、予測モード/タイプ情報は、予測手順に関連した情報を含む予測関連情報に含まれることもできる。
【0155】
または、例えば、エンコーディング装置は、前記レジデュアルサンプル及び前記予測サンプルに基づいて、復元サンプルを生成することもできる。また、前記復元サンプルに基づいて復元ブロック及び復元ピクチャが導き出されることもできる。
【0156】
例えば、エンコーディング装置は、上述した情報(または、シンタックス要素)全部または一部を含む映像情報をエンコーディングして、ビットストリームまたはエンコーディングされた情報を生成できる。または、ビットストリーム形態で出力できる。また、前記ビットストリームまたはエンコーディングされた情報は、ネットワークまたは格納媒体を通じてデコーディング装置に送信されることができる。または、前記ビットストリームまたはエンコーディングされた情報は、コンピュータ読み取り可能な格納媒体に格納されることができ、前記ビットストリームまたは前記エンコーディングされた情報は、上述した映像エンコーディング方法により生成されることができる。
【0157】
図8及び図9は、本文書の実施例(ら)によるビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。
【0158】
図8において開示された方法は、図3または図9において開示されたデコーディング装置によって行われることができる。具体的に、例えば、図8のS800は、図9において前記デコーディング装置のエントロピーデコーディング部310によって行われることができ、図8のS810及びS830は、図9において前記デコーディング装置の予測部330によって行われることができる。また、図8において図示していないが、図9において前記デコーディング装置のエントロピーデコーディング部310によってビットストリームから予測関連情報またはレジデュアル情報を導き出すことができ、前記デコーディング装置のレジデュアル処理部320によってレジデュアル情報からレジデュアルサンプルが導き出されることができ、前記デコーディング装置の予測部330によって予測関連情報から予測サンプルが導き出されることができ、前記デコーディング装置の加算部340によってレジデュアルサンプルまたは予測サンプルから復元ブロックまたは復元ピクチャが導き出されることができる。図8において開示された方法は、本文書において上述した実施形態を含むことができる。
【0159】
図8に示すように、デコーディング装置は、ビットストリームからインター予測モード情報を獲得する(S800)。例えば、デコーディング装置は、ビットストリームをパーシングまたはデコーディングしてインター予測モード情報を獲得できる。ここで、ビットストリームは、エンコーディングされた(映像)情報と呼ばれることもできる。例えば、インター予測モード情報は、現在ブロックの予測サンプルを生成するのに利用されるインター予測モードを表すまたは導き出すことができる情報を含むことができる。または、デコーディング装置は、ビットストリームから予測モード/タイプ情報を獲得でき、予測モード/タイプ情報は、前記インター予測モード情報を含むこともできる。または、インター予測モード情報は、選択情報または動きベクトル差分に関する情報を含むことができる。
【0160】
例えば、デコーディング装置は、インター予測モード情報により導き出されるインター予測モードに基づいて、現在ブロックの予測サンプルを生成できる。例えば、インター予測モードは、MVP(motion vector prediction)モードでありうるが、これに限定されるものではない。ここで、MVPモードは、AMVP(advanced motion vector prediction)モードとも呼ばれることができる。
【0161】
例えば、選択情報は、インデックス情報とも呼ばれることができ、MVPフラグまたはMVPインデックスとも呼ばれることができる。すなわち、選択情報は、動きベクトル予測子候補リスト内で現在ブロックの動きベクトル予測子を表す情報を表すことができる。例えば、現在ブロックに双予測が適用される場合、前記選択情報は、L0予測に対する選択情報及びL1予測に対する選択情報を含むことができる。L0予測に対する選択情報は、後述するL0予測のためのL0動きベクトル予測子候補リスト内で動きベクトル予測子を表す情報を表すことができ、L1予測に対する選択情報は、後述するL1予測のためのL1動きベクトル予測子候補リスト内で動きベクトル予測子を表す情報を表すことができる。
【0162】
例えば、動きベクトル差分に関する情報は、動きベクトル差分を導き出すのに利用される情報を含むことができる。例えば、動きベクトル差分に関する情報は、abs_mvd_greater0_flagシンタックス要素、abs_mvd_greater1_flagシンタックス要素、abs_mvd_minus2シンタックス要素またはmvd_sign_flagシンタックス要素のうち、少なくとも一つを含むことができるが、他の情報もさらに含むことができるので、これに限定されるものではない。例えば、現在ブロックに双予測が適用される場合、前記動きベクトル差分に関する情報は、L0予測に対する動きベクトル差分に関する情報及びL1予測に対する動きベクトル差分に関する情報を含むことができる。
【0163】
例えば、前記インター予測モード情報は、前記L1動きベクトル差分に対するゼロフラグに基づいて、対称動きベクトル差分フラグを含むことができ、前記L1動きベクトル差分は、前記対称動きベクトル差分フラグに基づいて導き出されることができる。ここで、前記L1動きベクトル差分に対するゼロフラグは、前記L1動きベクトル差分が0であるかどうかに対する情報を表すことができ、mvd_l1_zero_flagシンタックス要素またはph_mvd_l1_zero_flagシンタックス要素で表すこともできる。また、前記対称動きベクトル差分フラグは、前記L0動きベクトル差分及び前記L1動きベクトル差分が対称であるかどうかに対する情報を表すことができ、sym_mvd_flagシンタックス要素で表すこともできる。
【0164】
例えば、値が0である前記L1動きベクトル差分に対するゼロフラグに基づいて、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含むことができる。すなわち、前記L1動きベクトル差分に対するゼロフラグの値が0の場合、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含むことができる。または、例えば、値が1である前記L1動きベクトル差分に対するゼロフラグに基づいて、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含まなくても良い。すなわち、前記L1動きベクトル差分に対するゼロフラグの値が1の場合、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含まなくても良い。または、例えば、sym_mvd_flagシンタックス要素は、!mvd_l1_zero_flagまたは!ph_mvd_l1_zero_flag条件に基づいて、前記インター予測モード情報またはコーディングユニットシンタックスに含まれることもできる。例えば、mvd_l1_zero_flagシンタックス要素の値が1の場合には、デコーディング装置は、sym_mvd_flagシンタックス要素をパーシングしなくても良く、エンコーディング装置は、前記sym_mvd_flagシンタックス要素が(ビットストリーム、映像/ビデオ情報、CUシンタックス、インター予測モード情報または予測関連情報から)パーシングされないように構成できる。
【0165】
例えば、値が1である前記L1動きベクトル差分に対するゼロフラグに基づいて、対称動きベクトル差分参照インデックスの値が-1に導き出されることができる。すなわち、前記L1動きベクトル差分に対するゼロフラグの値が1の場合、対称動きベクトル差分参照インデックスの値が-1に導き出されることができる。また、前記インター予測モード情報は、前記対称動きベクトル差分参照インデックスの値に基づいて、前記対称動きベクトル差分フラグを含むこともできる。例えば、対称動きベクトル差分参照インデックスは、L0対称動きベクトル差分参照インデックス及びL1対称動きベクトル差分参照インデックスを含むことができ、各々-1の値に導き出されることができる。ここで、L0対称動きベクトル差分参照インデックスは、RefIdxSymL0で表すことができ、L1対称動きベクトル差分参照インデックスは、RefIdxSymL1で表すことができる。例えば、前記対称動きベクトル差分フラグは、RefIdxSymL0及びRefIdxSymL1が各々-1より大きな場合、前記インター予測モード情報またはコーディングユニットシンタックスに含まれることができる。または、例えば、-1より大きなRefIdxSymL0及び-1より大きなRefIdxSymL1に基づいて、前記インター予測モード情報またはコーディングユニットシンタックスが前記対称動きベクトル差分フラグを含むことができる。
【0166】
または、例えば、値が1である前記L1動きベクトル差分に対するゼロフラグ及び値が0である前記対称動きベクトル差分フラグに基づいて、前記L1動きベクトル差分は、0に導き出されることもできる。すなわち、前記L1動きベクトル差分に対するゼロフラグの値が1で、前記対称動きベクトル差分フラグの値が0の場合、前記L1動きベクトル差分は、0に導き出されることもできる。例えば、mvd_l1_zero_flagシンタックス要素またはph_mvd_l1_zero_flagシンタックス要素の値が1で、sym_mvd_flagシンタックス要素の値が0の場合、MvdL1が0に導き出されることができる。
【0167】
または、例えば、値が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動きベクトル差分の符号と異なることを表すことができる。
【0168】
デコーディング装置は、インター予測モード情報に基づいて現在ブロックの動きベクトル予測子候補リストを構成する(S810)。例えば、デコーディング装置は、空間的周辺候補ブロック及び/または時間的周辺候補ブロックに基づいて、動きベクトル予測子候補リストを構成できる。または、デコーディング装置は、動きベクトル予測子候補リストを構成するのにゼロ動きベクトルもより利用することもできる。ここで、構成された動きベクトル予測子候補リストは、エンコーディング装置で構成された動きベクトル予測子候補リストと同一でありうる。例えば、現在ブロックに双予測が適用される場合、L0予測のためのL0動きベクトル予測子候補リスト及びL1予測のためのL1動きベクトル予測子候補リストが各々構成されることができる。
【0169】
デコーディング装置は、動きベクトル予測子候補リストに基づいて現在ブロックの動きベクトルを導き出す(S820)。例えば、デコーディング装置は、上述した選択情報に基づいて動きベクトル予測子候補リスト内で現在ブロックのための動きベクトル予測子候補を導き出すことができ、導き出した動きベクトル予測子候補に基づいて現在ブロックの動き情報(または動きベクトル)を導き出すことができる。または、前記導き出した動きベクトル予測子候補及び上述した動きベクトル差分に関する情報により導き出される動きベクトル差分に基づいて前記現在ブロックの動き情報(または動きベクトル)を導き出すことができる。例えば、現在ブロックに双予測が適用される場合、L0予測のためのL0動きベクトル予測子及びL1予測のためのL1動きベクトル予測子が各々L0予測のための選択情報及びL1予測のための選択情報に基づいて、L0動きベクトル予測子候補リスト及びL1動きベクトル予測子候補リストから導き出されることができる。例えば、現在ブロックに双予測が適用される場合、L0動きベクトル差分及びL1動きベクトル差分が各々動きベクトル差分に関する情報に基づいて導き出されることができる。ここで、L0動きベクトル差分は、MvdL0で表すことができ、L1動きベクトル差分は、MvdL1で表すこともできる。また、現在ブロックの動きベクトルもL0動きベクトル及びL1動きベクトルで各々導き出されることができる。
【0170】
デコーディング装置は、動きベクトルに基づいて現在ブロックの予測サンプルを生成する(S830)。例えば、デコーディング装置は、現在ブロックに双予測が適用される場合、L0動きベクトルに基づいてL0予測に対するL0予測サンプルら及びL1動きベクトルに基づいてL1予測に対するL1予測サンプルを生成できる。また、デコーディング装置は、L0予測サンプル及びL1予測サンプルに基づいて前記現在ブロックの予測サンプルを生成できる。
【0171】
または、例えば図8には図示していないが、デコーディング装置は、ビットストリームからレジデュアル情報を獲得でき、レジデュアル情報に基づいて現在ブロックのレジデュアルサンプルを生成できる。例えば、レジデュアル情報は、レジデュアルサンプルを導き出すために利用される情報を表すことができ、レジデュアルサンプルに関する情報、逆変換関連情報及び/または逆量子化関連情報を含むことができる。例えば、レジデュアル情報は、量子化された変換係数に関する情報を含むことができる。
【0172】
または、例えば、デコーディング装置は、予測サンプル及びレジデュアルサンプルに基づいて現在ブロックの復元サンプルを生成でき、前記復元サンプルに基づいて復元ブロックまたは復元ピクチャが導き出されることができる。
【0173】
例えば、デコーディング装置は、ビットストリームまたはエンコーディングされた情報をデコーディングして前述した情報(または、シンタックス要素)の全部または一部を含む映像情報を取得することができる。また、前記ビットストリームまたはエンコーディングされた情報は、コンピュータ読み取り可能な格納媒体に格納されることができ、前述したデコーディング方法が実行されるようにすることができる。
【0174】
前述した実施例において、方法は、一連のステップまたはブロックで流れ図に基づいて説明されているが、該当実施例は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序にまたは同時に発生できる。また、当業者であれば、流れ図に示すステップが排他的でなく、他のステップが含まれ、または、流れ図の一つまたはそれ以上のステップが本文書の実施例の範囲に影響を及ぼさずに削除可能であることを理解することができる。
【0175】
前述した本文書の実施例による方法は、ソフトウェア形態で具現されることができ、本文書によるエンコーディング装置及び/またはデコーディング装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの映像処理を実行する装置に含まれることができる。
【0176】
本文書において、実施例がソフトウェアで具現される時、前述した方法は、前述した機能を遂行するモジュール(過程、機能など)で具現されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部または外部にあり、よく知られた多様な手段でプロセッサと連結されることができる。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/またはデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/または他の格納装置を含むことができる。即ち、本文書で説明した実施例は、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で具現されて実行されることができる。例えば、各図面で示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で具現されて実行されることができる。この場合、具現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル格納媒体に格納されることができる。
【0177】
また、本文書の実施例(ら)が適用されるデコーディング装置及びエンコーディング装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(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)などを含むことができる。
【0178】
また、本文書の実施例(ら)が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。また、本文書の実施例(ら)によるデータ構造を有するマルチメディアデータもコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読みだすことができるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で具現されたメディアを含む。また、エンコーディング方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に格納され、または、有無線通信ネットワークを介して送信されることができる。
【0179】
また、本文書の実施例(ら)は、プログラムコードによるコンピュータプログラム製品で具現されることができ、前記プログラムコードは、本文書の実施例(ら)によりコンピュータで実行されることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
【0180】
図10は、本文書において開示された実施例が適用されることができるコンテンツストリーミングシステムの例を示す。
【0181】
図10に示すように、本文書の実施例が適用されるコンテンツストリーミングシステムは、大きくエンコーディングサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置及びマルチメディア入力装置を含むことができる。
【0182】
前記エンコーディングサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコーディングサーバは省略されることができる。
【0183】
前記ビットストリームは、本文書の実施例に適用されるエンコーディング方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
【0184】
前記ストリーミングサーバは、ウェブサーバを介したユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0185】
前記ストリーミングサーバは、メディア格納所及び/またはエンコーディングサーバからコンテンツを受信することができる。例えば、前記エンコーディングサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間格納することができる。
【0186】
前記ユーザ装置の例として、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイニジがある。
【0187】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
【0188】
本明細書に記載された請求項は、多様な方式で組み合わせることができる。例えば、本明細書の方法請求項の技術的特徴が組み合わせて装置で具現されることができ、本明細書の装置請求項の技術的特徴が組み合わせて方法で具現されることができる。また、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせて装置で具現されることができ、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせて方法で具現されることができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
【手続補正書】
【提出日】2022-01-11
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコーディング装置によって行われる映像デコーディング方法であって、
ビットストリームからインター予測モード情報を獲得するステップと、
前記インター予測モード情報に基づいて現在ブロックの動きベクトル予測子候補リストを構成するステップと、
前記動きベクトル予測子候補リストに基づいて前記現在ブロックの動きベクトルを導出するステップと、
前記動きベクトルに基づいて前記現在ブロックの予測サンプルを生成するステップと、を含み、
前記動きベクトルは、前記動きベクトル予測子候補リストに基づいて導出された動きベクトル予測子及び動きベクトル差分に基づいて導出され、
前記現在ブロックに、双予測が適用され、
前記動きベクトル差分は、L0予測に対するL0動きベクトル差分及びL1予測に対するL1動きベクトル差分を含み、
前記インター予測モード情報は、前記L1動きベクトル差分に対するゼロフラグに基づいて対称動きベクトル差分フラグを含み、
前記L1動きベクトル差分は、前記対称動きベクトル差分フラグに基づいて導出され、
前記L1動きベクトル差分に対するゼロフラグは、前記L1動きベクトル差分が0であるかどうかに対する情報を表し、前記対称動きベクトル差分フラグは、前記L0動きベクトル差分及び前記L1動きベクトル差分が互いに対称であるかどうかに対する情報を表す、映像デコーディング方法。
【請求項2】
値が0である前記L1動きベクトル差分に対するゼロフラグに基づいて、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含む、請求項1に記載の映像デコーディング方法。
【請求項3】
値が1である前記L1動きベクトル差分に対するゼロフラグに基づいて、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含まない、請求項1に記載の映像デコーディング方法。
【請求項4】
値が1である前記L1動きベクトル差分に対するゼロフラグに基づいて、対称動きベクトル差分参照インデックスの値が-1として導出され、
前記インター予測モード情報は、前記対称動きベクトル差分参照インデックスの値に基づいて、前記対称動きベクトル差分フラグを含む、請求項1に記載の映像デコーディング方法。
【請求項5】
値が1である前記L1動きベクトル差分に対するゼロフラグ及び値が0である前記対称動きベクトル差分フラグに基づいて、前記L1動きベクトル差分は0として導出される、請求項1に記載の映像デコーディング方法。
【請求項6】
値が0である前記L1動きベクトル差分に対するゼロフラグまたは値が1である前記対称動きベクトル差分フラグに基づいて、前記L1動きベクトル差分は、前記L0動きベクトル差分から導出される、請求項1に記載の映像デコーディング方法。
【請求項7】
前記L1動きベクトル差分の絶対値は、前記L0動きベクトル差分の絶対値と同じであり、
前記L1動きベクトル差分の符号は、前記L0動きベクトル差分の符号と異なる、請求項6に記載の映像デコーディング方法。
【請求項8】
エンコーディング装置によって行われる映像エンコーディング方法であって、
現在ブロックに対する動きベクトル予測子候補リストを構成するステップと、
前記動きベクトル予測子候補リストに基づいて前記現在ブロックの動きベクトル予測子を決定するステップと、
前記動きベクトル予測子候補リストの前記動きベクトル予測子を表す選択情報を生成するステップと、
前記動きベクトル予測子に基づいて前記現在ブロックに対する動きベクトル差分を決定するステップと、
前記選択情報及び前記動きベクトル差分に関する情報を含むインター予測モード情報をエンコーディングするステップと、を含み、
前記現在ブロックに、双予測が適用され、
前記動きベクトル差分は、L0予測に対するL0動きベクトル差分及びL1予測に対するL1動きベクトル差分を含み、
前記インター予測モード情報は、前記L1動きベクトル差分に対するゼロフラグに基づいて対称動きベクトル差分フラグを含み、
前記L1動きベクトル差分は、前記対称動きベクトル差分フラグに基づいて表され、
前記L1動きベクトル差分に対するゼロフラグは、前記L1動きベクトル差分が0であるかどうかに対する情報を表し、前記対称動きベクトル差分フラグは、前記L0動きベクトル差分及び前記L1動きベクトル差分が互いに対称であるかどうかに対する情報を表す、映像エンコーディング方法。
【請求項9】
値が0である前記L1動きベクトル差分に対するゼロフラグに基づいて、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含む、請求項8に記載の映像エンコーディング方法。
【請求項10】
値が1である前記L1動きベクトル差分に対するゼロフラグに基づいて、前記インター予測モード情報は、前記対称動きベクトル差分フラグを含まない、請求項8に記載の映像エンコーディング方法。
【請求項11】
値が1である前記L1動きベクトル差分に対するゼロフラグに基づいて、対称動きベクトル差分参照インデックスの値が-1として決定され、
前記インター予測モード情報は、前記対称動きベクトル差分参照インデックスの値に基づいて、前記対称動きベクトル差分フラグを含む、請求項8に記載の映像エンコーディング方法。
【請求項12】
値が1である前記L1動きベクトル差分に対するゼロフラグ及び値が0である前記対称動きベクトル差分フラグに基づいて、前記L1動きベクトル差分は0として決定される、請求項8に記載の映像エンコーディング方法。
【請求項13】
値が0である前記L1動きベクトル差分に対するゼロフラグまたは値が1である前記対称動きベクトル差分フラグに基づいて、前記L1動きベクトル差分は、前記L0動きベクトル差分から表される、請求項8に記載の映像エンコーディング方法。
【請求項14】
前記L1動きベクトル差分の絶対値は、前記L0動きベクトル差分の絶対値と同じであり、
前記L1動きベクトル差分の符号は、前記L0動きベクトル差分の符号と異なる、請求項13に記載の映像エンコーディング方法。
【請求項15】
映像に対するデータの送信方法であって、
前記映像に対するビットストリームを獲得するステップと、
前記ビットストリームを含む前記データを送信するステップと、を含み、
前記ビットストリームは、現在ブロックに対する動きベクトル予測子候補リストを構成し、前記動きベクトル予測子候補リストに基づいて前記現在ブロックの動きベクトル予測子を決定し、前記動きベクトル予測子候補リストの前記動きベクトル予測子を表す選択情報を生成し、前記動きベクトル予測子に基づいて前記現在ブロックに対する動きベクトル差分を決定し、前記ビットストリームを生成するために、インター予測モード情報をエンコーディングし、前記インター予測モード情報は、前記選択情報及び前記動きベクトル差分に関する情報を含むことを実行することにより生成され、
前記現在ブロックに、双予測が適用され、
前記動きベクトル差分は、L0予測に対するL0動きベクトル差分及びL1予測に対するL1動きベクトル差分を含み、
前記インター予測モード情報は、前記L1動きベクトル差分に対するゼロフラグに基づいて対称動きベクトル差分フラグを含み、
前記L1動きベクトル差分は、前記対称動きベクトル差分フラグに基づいて表され、
前記L1動きベクトル差分に対するゼロフラグは、前記L1動きベクトル差分が0であるかどうかに対する情報を表し、前記対称動きベクトル差分フラグは、前記L0動きベクトル差分及び前記L1動きベクトル差分が互いに対称であるかどうかに対する情報を表す、データ送信方法。
【国際調査報告】