JP2023090963A - インター予測に基づく映像コーディング方法及び装置 - Google Patents

インター予測に基づく映像コーディング方法及び装置 Download PDF

Info

Publication number
JP2023090963A
JP2023090963A JP2023078421A JP2023078421A JP2023090963A JP 2023090963 A JP2023090963 A JP 2023090963A JP 2023078421 A JP2023078421 A JP 2023078421A JP 2023078421 A JP2023078421 A JP 2023078421A JP 2023090963 A JP2023090963 A JP 2023090963A
Authority
JP
Japan
Prior art keywords
current block
flag
prediction
merge
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023078421A
Other languages
English (en)
Inventor
ヒョンムン チャン
Hyeongmoon Jang
ネリ パク
Naeri Park
スンファン キム
Sunfan Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Publication of JP2023090963A publication Critical patent/JP2023090963A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】映像コーディング効率を高める方法及び装置を提供する。【解決手段】本文書によるデコーディング装置により行われるデコーディング方法は、ビットストリームからCIIP(combined inter-picture merge and intra-picture prediction)可用フラグ及び現在ブロックにスキップモードが適用されるか否かを示すCU(coding unit)スキップフラグ(skip flag)の少なくとも1つを取得するステップと、前記CIIP可用フラグに基づく条件及び前記CUスキップフラグに基づく条件が満たされることに基づいて前記ビットストリームからレギュラーマージフラグ(regular merge flag)を取得するステップと、前記レギュラーマージフラグ基づいて前記現在ブロックの予測サンプルを生成するステップと、前記予測サンプルに基づいて復元サンプルを生成するステップとを含む。【選択図】図10

Description

本技術は、インター予測(inter prediction)に基づいて映像をコーディングする方法及び装置に関する。
近年、4Kまたは8K以上のUHD(Ultra High Definition)画像/ビデオのような高解像度、高品質の画像/ビデオに対する需要が様々な分野で増加している。画像/ビデオデータが高解像度、高品質になるほど、既存の画像/ビデオデータに比べて相対的に送信される情報量またはビット量が増加するので、既存の有無線広帯域回線のような媒体を利用して画像データを送信するか、既存の格納媒体を利用して画像/ビデオデータを格納する場合、送信費用と格納費用が増加される。
また、近年、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの実感メディア(Immersive Media)に対する関心及び需要が増加しており、ゲーム画像のように、現実画像と異なる画像特性を有する画像/ビデオに対する放送が増加している。
これにより、上記のような様々な特性を有する高解像度・高品質の画像/ビデオの情報を効果的に圧縮して送信するか、格納し、再生するために高効率の画像/ビデオ圧縮技術が求められる。
本文書の技術的課題は、映像コーディング効率を高める方法及び装置を提供することにある。
本文書の他の技術的課題は、効率的にインターの予測(inter prediction)を行う方法及び装置を提供することにある。
本文書のまた他の技術的課題は、インター予測時に不要なシグナリングを防止する方法及び装置を提供することにある。
本文書のまた他の技術的課題は、効率的にマージデータシンタックス(merge data syntax)をシグナリングする方法及び装置を提供することにある。
本文書の一実施例によると、デコーディング装置により行われるデコーディング方法は、ビットストリームからCIIP(combined inter-picture merge and intra-picture prediction)可用フラグ及び現在ブロックにスキップモードが適用されるか否かを示すCU(coding unit)スキップフラグ(skip flag)の少なくとも1つを取得するステップと、前記CIIP可用フラグに基づく条件及び前記CUスキップフラグに基づく条件の少なくとも1つと前記現在ブロックのサイズに基づく条件が満たされることに基づいて前記ビットストリームからレギュラーマージフラグ(regular merge flag)を取得するステップと、前記レギュラーマージフラグに基づいてインター予測を行って前記現在ブロックの予測サンプルを生成するステップと、前記予測サンプルに基づいて復元サンプルを生成するステップとを含む。
本文書の他の実施例によると、エンコーディング装置により行われるエンコーディング方法は、インター予測に基づいて現在ブロックの予測サンプルを導出すステップと、前記現在ブロックの予測モードを示す予測モードに関する情報を生成するステップと、前記予測サンプルに基づいてレジデュアルサンプルを導出するステップと、前記レジデュアルサンプルに基づいてレジデュアル情報を生成するステップと、前記予測モードに関する情報と前記レジデュアル情報を含む映像情報をエンコーディングするステップとを含むものの、前記映像情報は、CIIP可用フラグ及び現在ブロックにスキップモードが適用されるか否かを示すCUスキップフラグの少なくとも1つをさらに含み、前記映像情報は、前記CIIP可用フラグに基づく条件及び前記CUスキップフラグに基づく条件の少なくとも1つと前記現在ブロックのサイズに基づく条件が満たされることに基づいてレギュラーマージフラグを含む。
本文書のまた他の実施例によると、コンピュータ読み取り可能なデジタル格納媒体であって、前記デジタル格納媒体は、デコーディング装置がデコーディング方法を行うようにする情報を含み、前記デコーディング方法は、ビットストリームからCIIP可用フラグ及び現在ブロックにスキップモードが適用されるか否かを示すCUスキップフラグの少なくとも1つを取得するステップと、前記CIIP可用フラグに基づく条件及び前記CUスキップフラグに基づく条件の少なくとも1つと前記現在ブロックのサイズに基づく条件が満たされることに基づいて前記ビットストリームからレギュラーマージフラグを取得するステップと、前記レギュラーマージフラグに基づいてインター予測を行って前記現在ブロックに対する予測サンプルを生成するステップと、前記予測サンプルに基づいて復元ピクチャを生成するステップとを含む。
本文書の一実施例によると、全般的な映像/ビデオ圧縮効率を向上させることができる。
本文書の一実施例によると、効率的にインター予測を行うことができる。
本文書の一実施例によると、インター予測の時に不要なシンタックスのシグナリングを効率的に除去することができる。
本文書の一実施例によると、効率的にマージデータシンタックス(merge data syntax)をシグナリングすることができる。
本文書の実施例が適用できるビデオ/映像コーディングシステムの例を概略的に示す。 本文書の実施例が適用できるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。 本文書の実施例が適用できるビデオ/映像デコーディング装置の構成を概略的に説明する図面である。 インター予測ベースのビデオ/映像エンコーディング方法の例を示す。 インター予測ベースのビデオ/映像デコーディング方法の例を示す。 インター予測手順を例示的に示す。 インター予測に使用できる空間的候補を説明する図である。 マージ候補リスト構成方法を概略的に示す。 インター予測時に使用できるサブブロックベースの時間的動きベクトル予測プロセスを説明する図である。 本文書の実施例によるインター予測方法を含むビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。 本文書の実施例によるインター予測方法を含むビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。 本文書の実施例によるインター予測方法を含むビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。 本文書の実施例によるインター予測方法を含むビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。 本文書において開示された実施例が適用できるコンテンツストリーミングシステムの例を示す。
本文書の開示は様々な変更を加えることができ、様々な実施例が有することができるため、特定の実施例を図面に例示し、詳細に説明しようとする。本文書で使用する用語は、単に特定の実施例を説明するために使用されたものであって、本文書の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明白に異なる意味を有しない限り、「少なくとも1つ」の表現を含む。本文書において「含む」又は「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在又は付加可能性を予め排除しないことと理解されるべきである。
一方、本文書において説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の便宜のために独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するものではない。例えば、各構成のうち、2つ以上の構成が結合されて1つの構成をなすこともでき、1つの構成を複数の構成に分けることもできる。各構成が統合及び/又は分離された実施例も本文書において開示された方法の本質から逸脱しない限り、本文書の開示範囲に含まれる。
この文書において、「/」と「、」は「及び/又は」と解釈される。例えば,「A/B」は「A及び/又はB」と解釈され,「A、B」は「A及び/又はB」と解釈される。追加的に、「A/B/C」は「A、B及び/又はCの少なくとも1つ」を意味する。また、「A、B、C」も「A、B及び/又はCの少なくとも1つ」を意味する(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.")。
追加的に、本文書において、「又は」は「及び/又は」と解釈される。例えば、「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.")。
本文書は、ビデオ(video)/映像(image)コーディングに関する。例えば、この文書において開示された方法/実施例は、VVC(versatile video coding)標準に開示される方法に適用できる。また、この文書において開示された方法/実施例は、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)又は次世代ビデオ/映像コーディング標準(ex.H.267、H.268など)に開示される方法に適用できる。
本文書においてはビデオ/映像コーディングに関する様々な実施例が提示され、他に言及がない限り、前記実施例は互いに組み合わせて行われることもできる。
以下、添付した図面を参照して、本文書の実施例をより詳細に説明する。以下、図面上の同一の構成要素に対しては同一の参照符号を使用し、同一の構成要素に関して重複する説明は省略する。
図1は、本文書の実施例が適用できるビデオ/映像コーディングシステムの例を概略的に示す。
図1に示すように、ビデオ/映像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を備える。ソースデバイスは、エンコーディングされたビデオ(video)/映像(image)情報又はデータをファイル又はストリーミング形態でデジタル格納媒体又はネットワークを介して受信デバイスに伝達することができる。
前記ソースデバイスは、ビデオソース、エンコーディング装置、送信部を含むことができる。前記受信デバイスは、受信部、デコーディング装置、及びレンダラを含むことができる。前記エンコーディング装置は、ビデオ/映像エンコーディング装置と呼ばれることができ、前記デコーディング装置は、ビデオ/映像デコーディング装置と呼ばれることができる。送信機は、エンコーディング装置に含まれることができる。受信機は、デコーディング装置に含まれることができる。レンダラは、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
ビデオソースは、ビデオ/映像のキャプチャ、合成または生成過程などを介してビデオ/映像を取得することができる。ビデオソースは、ビデオ/映像キャプチャデバイス及び/またはビデオ/映像生成デバイスを含むことができる。ビデオ/映像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/映像を含むビデオ/映像アーカイブなどを含むことができる。ビデオ/映像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含むことができ、(電子的に)ビデオ/映像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/映像が生成されることができ、この場合、ビデオ/映像キャプチャ過程を関連データが生成される過程に代替されることができる。
エンコーディング装置は、入力ビデオ/映像をエンコーディングすることができる。エンコーディング装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を実行することができる。エンコーディングされたデータ(エンコーディングされたビデオ/映像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
送信部は、ビットストリーム形態で出力されたエンコーディングされたビデオ/映像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達できる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介した送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコーディング装置に伝達できる。
デコーディング装置は、エンコーディング装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を実行してビデオ/映像をデコーディングすることができる。
レンダラは、デコーディングされたビデオ/映像をレンダリングすることができる。レンダリングされたビデオ/映像は、ディスプレイ部を介してディスプレイされることができる。
本文書において量子化/逆量子化及び/又は変換/逆変換の少なくとも1つは省略されてもよい。前記量子化/逆量子化が省略される場合、前記量子化された変換係数は変換係数と呼ばれてもよい。前記変換/逆変換が省略される場合、前記変換係数は係数又はレジデュアル係数と呼ばれてもよく、又は表現の統一性のために変換係数と呼ばれてもよい。
本文書において、量子化された変換係数及び変換係数は、それぞれ変換係数及びスケーリングされた(scaled)変換係数と呼ばれてもよい。この場合、レジデュアル情報は、変換係数(ら)に関する情報を含み、前記変換係数(ら)に関する情報は、レジデュアルコーディングシンタックスを介してシグナリングされることができる。前記レジデュアル情報(又は、前記変換係数(ら)に関する情報)に基づいて変換係数が導出され、前記変換係数に対する逆変換(スケーリング)によりスケーリングされた変換係数が導出されることができる。前記スケーリングされた変換係数に対する逆変換(変換)に基づいてレジデュアルサンプルが導出されることができる。これは、本文書の他の部分においても同様に適用/表現できる。
この文書においてビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味し得る。ピクチャ(picture)は、一般に特定の時間帯の1つの映像を示す単位を意味し、スライス(slice)/タイル(tile)はコーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、1つ以上のCTU(coding tree unit)を含む。1つのピクチャは1つ以上のスライス/タイルで構成される。1つのピクチャは1つ以上のタイルグループで構成される。1つのタイルグループは1つ以上のタイルを含む。ブリックはピクチャ内のタイル内のCTU行の四角領域を示す(a brick may represent a rectangular region of CTU rows within a tile in a picture)。タイルは多数のブリックによりパーティショニングされ、各ブリックは前記タイル内の1つ以上のCTU行で構成される(A tile may be partitioned into multiple bricks, each of which consisting of one or more CTU rows within the tile)。複数のブリックにパーティショニングされていないタイルもブリックと呼ばれてもよい(A tile that is not partitioned into multiple bricks may be also referred to as a brick)。ブリックスキャンはピクチャをパーティショニングするCTUの特定の順次オーダリングを示し、前記CTUはブリック内においてCTUラスタスキャンで整列され、タイル内のブリックは前記タイルの前記ブリックのラスタスキャンで連続的に整列され、そして、ピクチャ内のタイルは前記ピクチャの前記タイルのラスタスキャンで連続的に整列される(A brick scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a brick, bricks within a tile are ordered consecutively in a raster scan of the bricks of the tile, and tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。タイルは特定タイル列及び特定タイル列以内の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)。スライスはピクチャの整数個のブリックを含み、前記整数個のブリックは1つのNALユニットに含まれる(A slice includes an integer number of bricks of a picture that may be exclusively contained in a single NAL unit)。スライスは複数の完全なタイルで構成され、または、1つのタイルの完全なブリックの連続的なシーケンスであり得る(A slice may consists of either a number of complete tiles or only a consecutive sequence of complete bricks of one tile)。この文書において、タイルグループとスライスは混用されてもよい。例えば、本文書において、tile group/tile group headerはslice/slice headerと呼ばれてもよい。
ピクセル(pixel)またはペル(pel)は、1つのピクチャ(または、映像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。または、サンプルは、空間ドメインでのピクセル値を意味することもでき、このようなピクセル値が周波数ドメインに変換されると、周波数ドメインでの変換係数を意味することもできる。
ユニット(unit)は、映像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち少なくとも1つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(または、サンプルアレイ)、または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
図2は、本文書の実施例が適用できるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。以下、ビデオエンコーディング装置とは、映像エンコーディング装置を含む。
図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を内/外部コンポーネントとしてさらに備えることもできる。
画像分割部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)を導く単位であることができる。
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)等の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、画像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
エンコーディング装置200は、入力映像信号(原本ブロック、原本サンプルアレイ)からインター予測部221又はイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成し、生成されたレジデュアル信号は変換部232に送信される。この場合、図示されているように、エンコーダ200内において入力映像信号(原本ブロック、原本サンプルアレイ)から予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれる。予測部220は、処理対象ブロック(以下、現在ブロックという)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部220は、現在ブロック又はCU単位でイントラ予測が適用されるか又はインター予測が適用されるかを決定する。予測部220は、各予測モードに関する説明において後述するように予測モード情報などの予測に関する様々な情報を生成してエントロピーエンコーディング部240に伝達することができる。予測に関する情報はエントロピーエンコーディング部240においてエンコーディングされてビットストリームの形態で出力されることができる。
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することができ、または、離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは、例示であり、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用され得る。イントラ予測部222は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
インター予測部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)をシグナリングすることにより、現在ブロックの動きベクトルを指示することができる。
予測部220は、後述する様々な予測方法に基づいて予測信号を生成する。例えば、予測部220は、1つのブロックに対する予測のためにイントラ予測又はインター予測を適用できるだけでなく、イントラ予測とインター予測を同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy:IBC)予測モードに基づくこともあり又はパレットモード(palette mode)に基づくこともある。前記IBC予測モード又はパレットモードは、例えば、SCC(screen content coding)のようにゲームなどのコンテンツ映像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内において予測を行うが、現在ピクチャ内において参照ブロックを導出する点でインター予測と類似して行われる。すなわち、IBCは、本文書において説明されるインター予測技法のうち少なくとも1つを利用することができる。パレットモードは,イントラコーディング又はイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングすることができる。
前記予測部(インター予測部221及び/又は前記イントラ予測部222を含む)を介して生成された予測信号は、復元信号を生成するために用いられるか、レジデュアル信号を生成するために用いられることができる。
変換部232は、レジデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、GBT(Graph-Based Transform)、又はCNT(Conditionally Non-linear Transform)の少なくとも1つを含む。ここで、GBTは、ピクセル間の関係情報をグラフで表現する時、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同一のサイズを有するピクセルブロックに適用されてもよく、正方形ではない可変サイズのブロックに適用されてもよい。
量子化部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に含まれてもよい。
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロック又はレジデュアルサンプル)を復元する。加算部250が復元されたレジデュアル信号をインター予測部221又はイントラ予測部222から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成される。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部又は復元ブロック生成部と呼ばれてもよい。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用され、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
一方、ピクチャエンコーディング及び/又は復元過程においてLMCS(luma mapping with chroma scaling)が適用されることもできる。
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成し、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納する。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含む。フィルタリング部260は、各フィルタリング方法に関する説明において後述するように、フィルタリングに関する様々な情報を生成してエントロピーエンコーディング部240に伝達する。フィルタリングに関する情報は、エントロピーエンコーディング部240においてエンコーディングされてビットストリーム形態で出力される。
メモリ270に送信された修正された復元ピクチャは、インター予測部221において参照ピクチャとして使用されることができる。エンコーディング装置は、これによりインター予測が適用される場合、エンコーディング装置100とデコーディング装置における予測ミスマッチを避けることができ、符号化効率も向上させることができる。
メモリ270のDPBは、修正された復元ピクチャをインター予測部221での参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコーディングされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するためにインター予測部221に伝達できる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達できる。
図3は、本文書の実施例が適用できるビデオ/映像デコーディング装置の構成を概略的に説明する図である。
図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を内/外部コンポーネントとしてさらに備えることもできる。
ビデオ/画像情報を含むビットストリームが入力されれば、デコーディング装置300は、図3のエンコーディング装置でビデオ/画像情報が処理されたプロセスに対応して画像を復元することができる。例えば、デコーディング装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出することができる。デコーディング装置300は、エンコーディング装置で適用された処理ユニットを用いてデコーディングを行うことができる。したがって、デコーディングの処理ユニットは、例えば、コーディングユニットであることができ、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/またはターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出され得る。そして、デコーディング装置300を介してデコーディング及び出力された復元画像信号は、再生装置を介して再生されることができる。
デコーディング装置300は、図2のエンコーディング装置から出力された信号をビットストリームの形態で受信し、受信された信号はエントロピーデコーディング部310によりデコーディングされる。例えば、エントロピーデコーディング部310は、前記ビットストリームをパーシング(parsing)して映像復元(又はピクチャ復元)に必要な情報(例えば、ビデオ/映像情報)を導出することができる。前記ビデオ/映像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)などの様々なパラメータセットに関する情報をさらに含んでもよい。また、前記ビデオ/映像情報は一般制限情報(general constraint information)をさらに含んでもよい。デコーディング装置は、前記パラメータセットに関する情報及び/又は前記一般制限情報をさらに基づいてピクチャをデコーディングすることができる。本文書において後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコーディング手順を介してデコーディングされて前記ビットストリームから取得できる。例えば、エントロピーデコーディング部310は、指数ゴロム符号化、CAVLC(context-adaptive variable length coding)又はCABAC(context-adaptive arithmetic coding)などのコーディング方法に基づいてビットストリーム内の情報をデコーディングし、映像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力する。より詳細に、CABACエントロピーデコーディング方法は、ビットストリームにおいて各構文要素に該当するビン(bin)を受信し、デコーディング対象構文要素情報と周辺及びデコーディング対象ブロックのデコーディング情報あるいは以前ステップでデコーディングされたシンボル/ビンの情報を利用して文脈(context)モデルを決定し、決定された文脈モデルに応じてビンの発生確率を予測してビンの算術デコーディング(arithmetic decoding)を実行して各構文要素の値に該当するシンボルを生成することができる。この時、CABACエントロピーデコーディング方法は、文脈モデル決定の後、次のシンボル/ビンの文脈モデルのためにデコーディングされたシンボル/ビンの情報を利用して文脈モデルをアップデートすることができる。エントロピーデコーディング部310においてデコーディングされた情報のうち予測に関する情報は予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコーディング部310においてエントロピーデコーディングが行われたレジデュアル値、すなわち、量子化された変換係数及び関連パラメータ情報はレジデュアル処理部320に入力されることができる。
レジデュアル処理部320は、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル、レジデュアルサンプルアレイ)を導出することができる。また、エントロピーデコーディング部310においてデコーディングされた情報のうちフィルタリングに関する情報はフィルタリング部350に提供される。一方、エンコーディング装置から出力された信号を受信する受信部(図示せず)がデコーディング装置300の内/外エレメントとしてさらに構成されてもよく、また、受信部はエントロピーデコーディング部310の構成要素であってもよい。一方、本文書によるデコーディング装置はビデオ/映像/ピクチャデコーディング装置と呼ばれてもよく、前記デコーディング装置は情報デコーダ(ビデオ/映像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/映像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは前記エントロピーデコーディング部310を含み、前記サンプルデコーダは前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332及びイントラ予測部331の少なくとも1つを含む。
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコーディング装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
予測部330は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成する。予測部330は、エントロピーデコーディング部310から出力された前記予測に関する情報に基づいて前記現在ブロックにイントラ予測が適用されるか又はインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モードを決定することができる。
予測部330は、後述する多様な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のためにイントラ予測又はインター予測を適用できるだけでなく、イントラ予測とインター予測を同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれてもよい。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy:IBC)予測モードに基づいてもよく又はパレットモード(palette mode)に基づいてもよい。前記IBC予測モード又はパレットモードは、例えば、SCC(screen content coding)のように、ゲームなどのコンテンツ映像/動画コーディングのために使用できる。IBCは基本的に現在ピクチャ内において予測を行うが、現在ピクチャ内において参照ブロックを導出する点でインター予測と類似して行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち少なくとも1つを利用することができる。パレットモードは,イントラコーディング又はイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/映像情報に含まれてシグナリングされる。
イントラ予測部331は現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbour)に位置してもよく、又は、離れて位置してもよい。イントラ予測において予測モードは複数の非方向性モードと複数の方向性モードを含む。イントラ予測部331は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
インター予測部332は、参照ピクチャ上において動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。その時、インター予測モードで送信される動き情報の量を減らすために周辺ブロックと現在ブロック間の動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含む。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含んでもよい。インター予測の場合、周辺ブロックは現在ピクチャ内に存在する空間的周辺ブロック(spatial neighbouring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighbouring block)を含む。例えば、インター予測部332は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出することができる。様々な予測モードに基づいてインター予測が行われることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測モードを指示する情報を含む。
加算部340は、取得されたレジデュアル信号を予測部(インター予測部332及び/又はイントラ予測部331を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使われることができ、後述するように、フィルタリングを経て出力されることもでき、または、次のピクチャのインター予測のために使われることもできる。
一方、ピクチャデコーディング過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに多様なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ60、具体的に、メモリ360のDPBに送信できる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332において参照ピクチャとして使用できる。メモリ360は、現在ピクチャ内の動き情報が導出された(又はデコーディングされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的周辺ブロックの動き情報又は時間的周辺ブロックの動き情報として活用するためにインター予測部221に伝達する。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納でき、イントラ予測部331に伝達することができる。
本明細書において、エンコーディング装置200のフィルタリング部260、インター予測部221及びイントラ予測部222において説明された実施例は、それぞれデコーディング装置300のフィルタリング部350、インター予測部332及びイントラ予測部331にも同一又は対応するように適用されることができる。
一方、前述したように、ビデオコーディングを実行するにあたって圧縮効率を上げるために予測を実行する。それによって、コーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコーディング装置及びデコーディング装置で同様に導出され、前記エンコーディング装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロックとの間のレジデュアルに関する情報(レジデュアル情報)をデコーディング装置にシグナリングすることで画像コーディング効率を上げることができる。デコーディング装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックを加算して復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコーディング装置は、前記原本ブロックと前記予測されたブロックとの間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれているレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を実行して変換係数を導出し、前記変換係数に量子化手順を実行して量子化された変換係数を導出することで、関連したレジデュアル情報を(ビットストリームを介して)デコーディング装置にシグナリングすることができる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコーディング装置は、前記レジデュアル情報に基づいて逆量子化/逆変換手順を実行してレジデュアルサンプル(または、レジデュアルブロック)を導出することができる。デコーディング装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャを生成することができる。また、エンコーディング装置は、以後ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
現在ブロックにインター予測が適用される場合、エンコーディング装置/デコーディング装置の予測部はブロック単位でインター予測を行って予測サンプルを導出することができる。インター予測は、現在ピクチャ以外のピクチャ(ら)のデータ要素(例えば、サンプル値又は動き情報など)に依存的な方法で導出される予測を示す(Inter prediction can be a prediction derived in a manner that is dependent on data elements (e.g., sample values or motion information) of picture(s)other than the current picture)。現在ブロックにインター予測が適用される場合、参照ピクチャインデックスが指す参照ピクチャ上において動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロック(予測サンプルアレイ)を誘導することができる。この時、インター予測モードで送信される動き情報の量を減らすために周辺ブロックと現在ブロック間の動き情報の相関性に基づいて現在ブロックの動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含む。前記動き情報は、インター予測タイプ(L0予測、L1予測、Bi予測など)の情報をさらに含んでもよい。インター予測が適用される場合、周辺ブロックは現在ピクチャ内に存在する空間的周辺ブロック(spatial neighbouring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighbouring block)を含む。前記参照ブロックを含む参照ピクチャと前記時間的周辺ブロックを含む参照ピクチャは同一であっても異なってもよい。前記時間的周辺ブロックは同一位置参照ブロック(collocated reference block)、同一位置CU(colCU)などの名称で呼ばれてもよく、前記時間的周辺ブロックを含む参照ピクチャは同一位置ピクチャ(collocated picture、colPic)と呼ばれてもよい。例えば、現在ブロックの周辺のブロックに基づいて動き情報候補リストが構成され、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するためにどの候補が選択(使用)されるかを指示するフラグ又はインデックス情報がシグナリングされることができる。様々な予測モードに基づいてインター予測が行われることができ、例えば、スキップモードと(ノーマル)マージモードの場合、現在ブロックの動き情報は選択された周辺ブロックの動き情報と同じであり得る。スキップモードの場合、マージモードと異なってレジデュアル信号が送信されない場合がある。動き情報予測(motion vector prediction:MVP)モードの場合、選択された周辺ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として利用し、動きベクトル差分(motion vector difference)はシグナリングされることができる。この場合、前記動きベクトル予測子及び動きベクトル差分の和を利用して前記現在ブロックの動きベクトルを導出することができる。
インター予測に基づくビデオ/映像エンコーディング手順は、概略的に、例えば、以下を含む。
図4は、インター予測ベースのビデオ/映像エンコーディング方法の例を示す。
エンコーディング装置は、現在ブロックに対するインター予測を行う(S400)。エンコーディング装置は、現在ブロックのインター予測モード及び動き情報を導出し、前記現在ブロックの予測サンプルを生成する。ここで、インター予測モード決定、動き情報導出及び予測サンプルの生成手順は同時に行われてもよく、ある1つの手順が他の手順より先に行われてもよい。例えば、エンコーディング装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を含み、予測モード決定部において前記現在ブロックに対する予測モードを決定し、動き情報導出部において前記現在ブロックの動き情報を導出し、予測サンプル導出部において前記現在ブロックの予測サンプルを導出する。例えば、エンコーディング装置のインター予測部は、動き推定(motion estimation)により参照ピクチャの一定領域(サーチエリア)内において前記現在ブロックと類似したブロックをサーチし、前記現在ブロックとの差が最小又は一定基準以下である参照ブロックを導出することができる。これに基づいて前記参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導出し、前記参照ブロックと前記現在ブロックの位置差に基づいて動きベクトルを導出する。エンコーディング装置は、様々な予測モードのうち前記現在ブロックに対して適用されるモードを決定することができる。エンコーディング装置は、前記様々な予測モードに対するRD(rate-distortion)費用(cost)を比較し、前記現在ブロックに対する最適な予測モードを決定することができる。
例えば、エンコーディング装置は、前記現在ブロックにスキップモード又はマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補が指す参照ブロックのうち前記現在ブロックとの差が最小又は一定基準以下である参照ブロックを導出することができる。この場合、前記導出された参照ブロックに関連するマージ候補が選択され、前記選択されたマージ候補を指すマージインデックス情報が生成されてデコーディング装置にシグナリングされる。前記選択されたマージ候補の動き情報を利用して前記現在ブロックの動き情報を導出することができる。
他の例として、エンコーディング装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれるmvp(motion vector predictor)候補のうち選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして利用できる。この場合、例えば、前述の動き推定により導出された参照ブロックを指す動きベクトルが前記現在ブロックの動きベクトルとして利用でき、前記mvp候補のうち前記現在ブロックの動きベクトルとの差が最も小さい動きベクトルを有するmvp候補が前記選択されたmvp候補となり得る。前記現在ブロックの動きベクトルから前記mvpを減算した差分であるMVD(motion vector difference)が導出されることができる。その場合、前記MVDに関する情報がデコーディング装置にシグナリングされることができる。また、(A)MVPモードが適用される場合、前記参照ピクチャインデックスの値は参照ピクチャインデックス情報で構成されて、別途に前記デコーディング装置にシグナリングされる。
エンコーディング装置は、前記予測サンプルに基づいてレジデュアルサンプルを導出する(S410)。エンコーディング装置は、前記現在ブロックの原本サンプルと前記予測サンプルを比較することにより前記レジデュアルサンプルを導出することができる。
エンコーディング装置は、予測情報及びレジデュアル情報を含む映像情報をエンコーディングする(S420)。エンコーディング装置は、エンコーディングされた映像情報をビットストリーム形態で出力することができる。前記予測情報は、前記予測手順に関連する情報であり、予測モード情報(例えば、skip flag、merge flag又はmode indexなど)及び動き情報に関する情報を含む。前記動き情報に関する情報は、動きベクトルを導出するための情報である候補選択情報(例えば、merge index、mvp flag又はmvp index)を含む。また、前記動き情報に関する情報は、前述のMVDに関する情報及び/又は参照ピクチャインデックス情報を含む。また、前記動き情報に関する情報は、L0予測、L1予測、又は双(bi)予測が適用されるか否かを示す情報を含む。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含む。
出力されたビットストリームは、(デジタル)格納媒体に格納されてデコーディング装置に伝達され、またネットワークを介してデコーディング装置に伝達することもできる。
一方、前述のようにエンコーディング装置は、前記参照サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャ(復元サンプル及び復元ブロックを含む)を生成することができる。これは、デコーディング装置において行われるのと同一の予測結果をエンコーディング装置において導出するためであり、これによりコーディング効率を高めることができるからである。従って、エンコーディング装置は、復元ピクチャ(又は、復元サンプル、復元ブロック)をメモリに格納し、インター予測のための参照ピクチャとして活用することができる。前記復元ピクチャにインループフィルタリング手順などがさらに適用できることは前述の通りである。
インター予測に基づくビデオ/映像デコーディング手順は、概略的に、例えば、以下を含む。
図5は、インター予測ベースのビデオ/映像デコーディング方法の例を示す。
図5に示すように、デコーディング装置は、前記エンコーディング装置において行われた動作と対応する動作を行うことができる。デコーディング装置は、受信された予測情報に基づいて現在ブロックに予測を行い、予測サンプルを導出することができる。
具体的に、デコーディング装置は、受信された予測情報に基づいて前記現在ブロックに対する予測モードを決定する(S500)。デコーディング装置は、前記予測情報内の予測モード情報に基づいて、前記現在ブロックにどのインター予測モードが適用されるか決定する。
例えば、前記merge flagに基づいて前記現在ブロックに前記マージモードが適用されるか又は(A)MVPモードが適用されるか否かを決定することができる。または、前記mode indexに基づいて様々なインター予測モード候補のいずれか1つを選択することができる。前記インター予測モード候補は、スキップモード、マージモード及び/又は(A)MVPモードを含み、または、後述する様々なインター予測モードを含む。
デコーディング装置は、前記決定されたインター予測モードに基づいて前記現在ブロックの動き情報を導出する(S510)。例えば、デコーディング装置は、前記現在ブロックにスキップモード又はマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補のいずれか1つのマージ候補を選択することができる。前記選択は、前述の選択情報(merge index)に基づいて行われる。前記選択されたマージ候補の動き情報を利用して前記現在ブロックの動き情報が導出されることができる。前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として利用されることができる。
他の例として、デコーディング装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述の(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれるmvp(motion vector predictor)候補のうち選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして利用することができる。前記選択は、前述の選択情報(mvp flag又はmvp index)に基づいて行われる。この場合、前記MVDに関する情報に基づいて前記現在ブロックのMVDを導出することができ、前記現在ブロックのmvpと前記MVDに基づいて前記現在ブロックの動きベクトルを導出することができる。また、前記参照ピクチャインデックス情報に基づいて前記現在ブロックの参照ピクチャインデックスを導出することができる。前記現在ブロックに関する参照ピクチャリスト内において前記参照ピクチャインデックスが指すピクチャが前記現在ブロックのインター予測のために参照される参照ピクチャとして導出されることができる。
一方、後述のように候補リスト構成なしに前記現在ブロックの動き情報が導出されることができ、この場合、後述の予測モードにおいて開示された手順に従って前記現在ブロックの動き情報が導出されることができる。この場合、前述のような候補リスト構成は省略されてもよい。
デコーディング装置は、前記現在ブロックの動き情報に基づいて前記現在ブロックに対する予測サンプルを生成する(S520)。この場合、前記現在ブロックの参照ピクチャインデックスに基づいて前記参照ピクチャを導出し、前記現在ブロックの動きベクトルが前記参照ピクチャ上において指す参照ブロックのサンプルを利用して前記現在ブロックの予測サンプルを導出することができる。この場合、後述のように、場合によって、前記現在ブロックの予測サンプルのうち全部又は一部に対する予測サンプルフィルタリングの手順がさらに行われてもよい。
例えば、デコーディング装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を含み、予測モード決定部において受信された予測モード情報に基づいて前記現在ブロックに対する予測モードを決定し、動き情報導出部において受信された動き情報に関する情報に基づいて前記現在ブロックの動き情報(動きベクトル及び/又は参照ピクチャインデックスなど)を導出し、予測サンプル導出部において前記現在ブロックの予測サンプルを導出することができる。
デコーディング装置は、受信されたレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成する(S530)。デコーディング装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成する(S540)。その後、前記復元ピクチャにインループフィルタリング手順などがさらに適用できることは前述の通りである。
図6は、インター予測手順を例示的に示す。
図6に示すように、前述のように、インター予測手順は、インター予測モード決定ステップ、決定された予測モードによる動き情報導出ステップ、導出された動き情報に基づく予測実行(予測サンプル生成)ステップを含む。前記インター予測手順は、前述のように、エンコーディング装置及びデコーディング装置において行われる。本文書において、コーディング装置とは、エンコーディング装置及び/又はデコーディング装置を含む。
図6に示すように、コーディング装置は、現在ブロックに対するインター予測モードを決定する(S600)。ピクチャ内の現在ブロックの予測のために様々なインター予測モードが使用される。例えば、マージモード、スキップモード、MVP(motion vector prediction)モード、アフィン(Affine)モード、サブブロックマージモード、MMVD(merge with MVD)モード、HMVP(historical motion vector prediction)モードなどの様々なモードが使用されることができる。DMVR(decoder side motion vector refinement)モード、AMVR(adaptive motion vector resolution)モード、BCW(Bi-prediction with CU-level weight)、BDOF(Bi-directional optical flow)などが付随的なモードとしてさらに又は代わりに使用されることができる。アフィンモードは、アフィン動き予測(affine motion prediction)モード」と呼ばれてもよい。MVPモードは、「AMVP(advanced motion vector prediction)モードと呼ばれてもよい。本文書において、一部のモード及び/又は一部のモードにより導出された動き情報候補は、他のモードの動き情報関連候補の1つとして含まれてもよい。例えば、HMVP候補は前記マージ/スキップモードのマージ候補として追加されてもよく、または、前記MVPモードのmvp候補として追加されてもよい。
現在ブロックのインター予測モードを指す予測モード情報がエンコーディング装置からデコーディング装置にシグナリングされることができる。前記予測モード情報はビットストリームに含まれてデコーディング装置に受信される。前記予測モード情報は、多数の候補モードのうち1つを指示するインデックス情報を含む。または、フラグ情報の階層的シグナリングを介してインター予測モードを指示することもできる。この場合、前記予測モード情報は1つ以上のフラグを含む。例えば、スキップフラグをシグナリングしてスキップモードを適用するか否かを指示し、スキップモードが適用されない場合にマージフラグをシグナリングしてマージモードを適用するか否かを指示し、マージモードが適用されない場合にMVPモードを適用するものと指示するか、追加的な区分のためのフラグをさらにシグナリングすることもある。アフィンモードは、独立的なモードとしてシグナリングされることもあり、または、マージモード又はMVPモードなどに従属的なモードとしてシグナリングされることもある。例えば、アフィンモードは、アフィンマージモード及びアフィンMVPモードを含んでもよい。
一方、現在ブロックに前述のlist0(L0)予測、list1(L1)予測、または双予測(bi-prediction)が現在ブロック(現在コーディングユニット)に使用されるか否かを示す情報がシグナリングされる。前記情報は、動き予測方向情報、インター予測方向情報又はインター予測指示情報と呼ばれてもよく、例えば、inter_pred_idcシンタックス要素の形態で構成/エンコーディング/シグナリングされることができる。すなわち、inter_pred_idcシンタックス要素は、前述のlist0(L0)予測、list1(L1)予測又は双予測(bi-prediction)が現在ブロック(現在コーディングユニット)に使用されるか否かを示すことができる。本文書においては、説明の便宜のためにinter_pred_idcシンタックス要素が指すインター予測タイプ(L0予測、L1予測、又はBI予測)は動き予測方向であると表示されることができる。L0予測はpred_L0、L1予測はpred_L1、双予測はpred_BIと表示されてもよい。例えば、inter_pred_idcシンタックス要素の値に応じて以下のような予測タイプを示すことができる。
前述のように、1つのピクチャは1つ以上のスライス(slice)を含む。スライスは、I(intra)スライス、P(predictive)スライス及びB(bi-predictive)スライスを含むスライスタイプのうち1つのタイプを有する。前記スライスタイプは、スライスタイプの情報に基づいて指示される。Iスライス内のブロックに対しては予測のためにインター予測は使われず、イントラ予測のみが使用される。もちろん、この場合にも、予測なしに原本サンプル値をコーディングしてシグナリングすることもできる。Pスライス内のブロックに対してはイントラ予測又はインター予測が使用され、インター予測が使用される場合は単(uni)予測のみが使用される。一方、Bスライス内のブロックに対してはイントラ予測又はインター予測が使用され、インター予測が使用される場合は最大双(bi)予測まで使用される。
L0及びL1は、現在ピクチャより以前にエンコーディング/デコーディングされた参照ピクチャを含む。例えば、L0はPOC順序上、現在ピクチャより以前及び/又は以後の参照ピクチャを含み、L1はPOC順序上、現在ピクチャより以後及び/又は以前の参照ピクチャを含む。この場合、L0にはPOC順序上、現在ピクチャより以前の参照ピクチャに相対的にさらに低い参照ピクチャインデックスが割り当てられ、L1にはPOC順序上、現在ピクチャより以後の参照ピクチャに相対的にさらに低い参照ピクチャインデックスが割り当てられる。Bスライスの場合、双予測が適用され、この場合にも単方向双予測が適用されることも、または双方向双予測が適用されることもできる。双方向双予測はtrue双予測と呼ばれてもよい。
具体的に、例えば、現在ブロックのインター予測モードに関する情報は、CU(CUシンタックス)などのレベルでコーディングされてシグナリングされるか、あるいは条件に従って黙示的に決定される。この場合、一部のモードに対しては明示的にシグナリングされ、残りの一部のモードは黙示的に導出されることができる。
例えば、CUシンタックスは、次の表1のように(インター)予測モードに関する情報などを運ぶことができる。
Figure 2023090963000002
Figure 2023090963000003
Figure 2023090963000004
Figure 2023090963000005
Figure 2023090963000006
Figure 2023090963000007
Figure 2023090963000008
Figure 2023090963000009
Figure 2023090963000010
Figure 2023090963000011
Figure 2023090963000012
Figure 2023090963000013
Figure 2023090963000014
ここで、cu_skip_flagは現在ブロック(CU)にスキップモードが適用されるか否かを示す。
pred_mode_flagの値が0であると、現在コーディングユニットがインター予測モードでコーディングされることを示す。pred_mode_flagの値が1であると、現在コーディングユニットがイントラ予測モードでコーディングされることを示す(pred_mode_flag equal to 0 specifies that the current coding unit is coded in inter prediction mode. pred_mode_flag equal to 1 specifies that the current coding unit is coded in intra prediction mode.)。
pred_mode_ibc_flagの値が1であると、現在コーディングユニットがIBC予測モードでコーディングされることを示す。pred_mode_ibc_flagの値が0であると、現在コーディングユニットがIBC予測モードでコーディングされないことを示す(pred_mode_ibc_flag equal to 1 specifies that the current coding unit is coded in IBC prediction mode. pred_mode_ibc_flag equal to 0 specifies that the current coding unit is not coded in IBC prediction mode.)。
pcm_flag[x0][y0]の値が1であると、pcm_sample( )構文構造が存在し、transform_tree( )構文構造が(x0,y0)位置のルマコーディングブロックを含むコーディング単位に存在しないことを示す。pcm_flag[x0][y0]が0であると、pcm_sample( )構文構造が存在しないことを示す。(pcm_flag[x0][y0] equal to 1 specifies that the pcm_sample( ) syntax structure is present and the transform_tree( ) syntax structure is not present in the coding unit including the luma coding block at the location (x0, y0). pcm_flag[x0][y0] equal to 0 specifies that pcm_sample( ) syntax structure is not present.)。すなわち、pcm_flagは現在ブロックにPCM(pulse coding modulation)モードが適用されるか否かを示す。現在ブロックにPCMモードが適用される場合、予測、変換、量子化などが適用されず、現在ブロック内の原本サンプルの値がコーディングされてシグナリングされる。
intra_mip_flag[x0][y0]の値が1であると、ルマサンプルに対するイントラ予測タイプがマトリックスベースのイントラ予測(MIP)であることを示す。intra_mip_flag[x0][y0]が0であると、ルマサンプルに対するイントラ予測タイプがマトリックスベースのイントラ予測ではないことを示す(intra_mip_flag[x0][y0] equal to 1 specifies that the intra prediction type for luma samples is matrix-based intra prediction (MIP). intra_mip_flag[x0][y0] equal to 0 specifies that the intra prediction type for luma samples is not matrix-based intra prediction.)。すなわち、intra_mip_flagは現在ブロック(のルマサンプル)にMIP予測モード(タイプ)が適用されるか否かを示す。
intra_chroma_pred_mode[x0][y0]は、現在ブロックにおいてクロマサンプルに対するイントラ予測モードを示す(intra_chroma_pred_mode[x0][y0] specifies the intra prediction mode for chroma samples in the current block.)。
general_merge_flag[x0][y0]は、現在コーディングユニットに対するインター予測パラメータが隣接するインター予測されたパーティションから誘導されるか否かを示す(general_merge_flag[x0][y0] specifies whether the inter prediction parameters for the current coding unit are inferred from a neighbouring inter-predicted partition.)。すなわち、general_merge_flagは一般マージが可用であることを示し、general_merge_flagの値が1であると、regular merge mode、mmvd mode及びmerge subblock mode(subblock merge mode)が可用である。例えば、general_merge_flagの値が1であると、マージデータシンタックス(merge data syntax)がエンコーディングされたビデオ/イメージ情報(又は、ビットストリーム)からパーシングされ、マージデータシンタックスは次の表2のような情報を含むように構成/コーディングされる。
Figure 2023090963000015
Figure 2023090963000016
Figure 2023090963000017
ここで、regular_merge_flag[x0][y0]の値が1であると、レギュラーマージモードを用いて現在コーディングユニットのインター予測パラメータを生成することを示す(regular_merge_flag[x0][y0] equal to 1 specifies that regular merge mode is used to generate the inter prediction parameters of the current coding unit.)。すなわち、regular_merge_flagはマージモード(レギュラーマージモード)が現在ブロックに適用されるか否かを示す。
mmvd_merge_flag[x0][y0]の値が1であると、動きベクトル差分を有するマージモードが現在コーディングユニットのインター予測パラメータの生成に使用されることを示す(mmvd_merge_flag[x0][y0] equal to 1 specifies that merge mode with motion vector difference is used to generate the inter prediction parameters of the current coding unit.)。すなわち、mmvd_merge_flagはMMVDが現在ブロックに適用されるか否かを示す。
mmvd_cand_flag[x0][y0]は、マージ候補リスト内の1番目(0)又は2番目(1)の候補がmmvd_distance_idx[x0][y0]及びmmvd_direction_idx[x0][y0]から導出された動きベクトル差分とともに使用されるか否かを示す(mmvd_cand_flag[x0][y0] specifies whether the first (0) or the second (1) candidate in the merging candidate list is used with the motion vector difference derived from mmvd_distance_idx[x0][y0] and mmvd_direction_idx[x0][y0].)。
mmvd_distance_idx[x0][y0]は、MmvdDistance[x0][y0]の導出に使用されるインデックスを示す(mmvd_distance_idx[x0][y0] specifies the index used to derive MmvdDistance[x0][y0].)。
mmvd_direction_idx[x0][y0]は、MmvdSign[x0][y0]の導出に使用されるインデックスを示す(mmvd_direction_idx[x0][y0] specifies index used to derive MmvdSign[x0][y0].)。
merge_subblock_flag[x0][y0]は、現在コーディングに対するサブブロックベースのインター予測パラメータを示す(merge_subblock_flag[x0][y0] specifies whether the subblock-based inter prediction parameters for the current coding.)。すなわち、merge_subblock_flagは現在ブロックにサブブロックマージモード(又は、affine merge mode)が適用されるか否かを示す。
merge_subblock_idx[x0][y0]はサブブロックベースのマージ候補リストのマージ候補インデックスを示す(merge_subblock_idx[x0][y0] specifies the merging candidate index of the subblock-based merging candidate list.)。
ciip_flag[x0][y0]は、結合されたインター-ピクチャマージ及びイントラ-ピクチャ予測が現在コーディングユニットに適用されるか否かを示す(ciip_flag[x0][y0] specifies whether the combined inter-picture merge and intra-picture prediction is applied for the current coding unit.)。
merge_triangle_idx0[x0][y0]は、三角形ベースの動き補償候補リストの1番目のマージ候補インデックスを示す(merge_triangle_idx0[x0][y0] specifies the first merging candidate index of the triangular shape based motion compensation candidate list.)。
merge_triangle_idx1[x0][y0]は、三角形ベースの動き補償候補リストの2番目のマージ候補インデックスを示す(merge_triangle_idx1[x0][y0] specifies the second merging candidate index of the triangular shape based motion compensation candidate list.)。
merge_idx[x0][y0]は、マージ候補リストのマージ候補インデックスを示す(merge_idx[x0][y0] specifies the merging candidate index of the merging candidate list.)。
一方、再び表1のCUシンタックスを参照すると、mvp_l0_flag[x0][y0]はリスト0の動きベクトル予測子のインデックスを示す(mvp_l0_flag[x0][y0] specifies the motion vector predictor index of list 0.)。すなわち、mvp_l0_flagはMVPモードが適用される場合、MVP候補リスト0において前記現在ブロックのMVP導出のために選択される候補を示す。
mvp_l1_flag[x0][y0]はmvp_l0_flagと同一の意味を有し、l0及びリスト0はそれぞれl1及びリスト1に置き換えることができる(ref_idx_l1[x0][y0] has the same semantics as ref_idx_l0, with l0, L0 and list 0 replaced by l1, L1 and list 1, respectively.)。
inter_pred_idc[x0][y0]は現在コーディングユニットに対してリスト0、リスト1又はbi-predictionが使用されるか否かを示す(inter_pred_idc[x0][y0] specifies whether list0, list1, or bi-prediction is used for the current coding unit.)。
sym_mvd_flag[x0][y0]の値が1であると、構文要素ref_idx_l0[x0][y0]及びref_idx_l1[x0][y0]を示し、1と同一のrefListに対するmvd_coding(x0、y0、refList、cpIdx)構文構造が存在しないことを示す(sym_mvd_flag[x0][y0] equal to 1 specifies that the syntax elements ref_idx_l0[x0][y0] and ref_idx_l1[x0][y0], and the mvd_coding(x0, y0, refList, cpIdx) syntax structure for refList equal to 1 are not present.)。すなわち、sym_mvd_flagはmvdコーディングにおいてsymmetric MVDが使用されるか否かを示す。
ref_idx_l0[x0][y0]は、現在コーディングユニットに対するリスト0参照ピクチャインデックスを示す(ref_idx_l0[x0][y0] specifies the list 0 reference picture index for the current coding unit.)。
ref_idx_l1[x0][y0]はref_idx_l0と同一の意味を有し、l0、L0及びリスト0はそれぞれl1、L1及びリスト1に置き換えることができる(ref_idx_l1[x0][y0] has the same semantics as ref_idx_l0, with l0, L0 and list 0 replaced by l1, L1 and list 1, respectively.)。
inter_affine_flag[x0][y0]の値が1であると、現在コーディングユニットに対してP又はBスライスをデコーディングするとき、現在コーディングユニットの予測サンプルを生成するためにアフィンモデルベースの動き補償が使用されることを示す(inter_affine_flag[x0][y0] equal to 1 specifies that for the current coding unit, when decoding a P or B slice, affine model based motion compensation is used to generate the prediction samples of the current coding unit.)。
cu_affine_type_flag[x0][y0]の値が1であると、現在コーディングユニットに対してP又はBスライスをデコーディングするとき、6-パラメータアフィンモデルベースの動き補償が現在コーディングユニットの予測サンプルの生成に使用されることを示す。cu_affine_type_flag[x0][y0]の値が0であると、現在コーディングユニットの予測サンプルを生成するために4-パラメータアフィンモデルベースの動き補償が使われることを示す(cu_affine_type_flag[x0][y0] equal to 1 specifies that for the current coding unit, when decoding a P or B slice, 6-parameter affine model based motion compensation is used to generate the prediction samples of the current coding unit. cu_affine_type_flag[x0][y0] equal to 0 specifies that 4-parameter affine model based motion compensation is used to generate the prediction samples of the current coding unit.)。
amvr_flag[x0][y0]は、動きベクトル差分の解像度を示す。アレイインデックスx0、y0は、ピクチャの左上側ルマサンプルに対して考慮されたコーディングブロックの左上側ルマサンプルの位置(x0,y0)を示す。amvr_flag[x0][y0]の値が0であると、動きベクトル差分の解像度がルマサンプルの1/4であることを示す。amvr_flag[x0][y0]の値が1であると、動きベクトル差分の解像度がamvr_precision_flag[x0][y0]により追加で示されることを示す(amvr_flag[x0][y0] specifies the resolution of motion vector difference. The array indices x0, y0 specify the location (x0, y0) of the top-left luma sample of the considered coding block relative to the top-left luma sample of the picture. amvr_flag[x0][y0] equal to 0 specifies that the resolution of the motion vector difference is 1/4 of a luma sample. amvr_flag[x0][y0] equal to 1 specifies that the resolution of the motion vector difference is further specified by amvr_precision_flag[x0][y0].)。
amvr_precision_flag[x0][y0]の値が0であると、inter_affine_flag[x0][y0]の値が0である場合、動きベクトル差分の解像度が1つの整数ルマサンプルであることを示し、そうでない場合はルマサンプルの1/16であることを示す。amvr_precision_flag[x0]の値が1であると、inter_affine_flag[x0][y0]の値が0である場合、動きベクトル差分の解像度が4つのルマサンプルであることを示し、そうでない場合、1つの整数ルマサンプルであることを示す。アレイインデックスx0、y0は、ピクチャの左上側ルマサンプルに対して考慮されたコーディングブロックの左上側ルマサンプルの位置(x0,y0)を示す(amvr_precision_flag[x0][y0] equal to 0 specifies that the resolution of the motion vector difference is one integer luma sample if inter_affine_flag[x0][y0] is equal to 0, and 1/16 of a luma sample otherwise. amvr_precision_flag[x0][y0] equal to 1 specifies that the resolution of the motion vector difference is four luma samples if inter_affine_flag[x0][y0] is equal to 0, and one integer luma sample otherwise. The array indices x0, y0 specify the location (x0, y0) of the top-left luma sample of the considered coding block relative to the top-left luma sample of the picture.)。
bcw_idx[x0][y0]は、CU加重値を使用する双方向予測の加重値インデックスを示す(bcw_idx[x0][y0] specifies the weight index of bi-prediction with CU weights.)。
コーディング装置は、現在ブロックに対する(インター)予測モードが決定されると、前記予測モードに基づいて前記現在ブロックに対する動き情報を導出する(S610)。
コーディング装置は、現在ブロックの動き情報を利用してインター予測を行う。エンコーディング装置は、動き推定(motion estimation)手順を介して現在ブロックに対する最適な動き情報を導出することができる。例えば、エンコーディング装置は、現在ブロックに対する原本ピクチャ内の原本ブロックを利用して相関性の高い類似の参照ブロックを参照ピクチャ内の決められた探索範囲内において分数ピクセル単位で探索し、これにより、動き情報を導出することができる。ブロックの類似性は、位相(phase)ベースのサンプル値の差に基づいて導出される。例えば、ブロックの類似性は、現在ブロック(又は、現在ブロックのテンプレート)と参照ブロック(又は、参照ブロックのテンプレート)間のSADに基づいて計算される。この場合、探索領域内のSADが最小の参照ブロックに基づいて動き情報を導出することができる。導出された動き情報は、インター予測モードに基づいて様々な方法によりデコーディング装置にシグナリングされる。
コーディング装置は、現在ブロックに対する動き情報が導出されると、前記現在ブロックに対する動き情報に基づいてインター予測を行う(S620)。コーディング装置は、前記動き情報に基づいて前記現在ブロックに対する予測サンプル(ら)を導出することができる。前記予測サンプルを含む現在ブロックは、予測されたブロックと呼ばれてもよい。
導出された予測サンプルに基づいて復元サンプル及び復元ピクチャが生成され、その後、インループフィルタリングなどの手順が行われることができる。
図7は、インター予測に使用できるマージモードとスキップモードを説明する図である。
インター予測時にマージモード(merge mode)が適用される場合、現在ブロックの動き情報が直接的に送信されず、周辺予測ブロックの動き情報を利用して前記現在ブロックの動き情報を誘導するようになる。従って、エンコーディング装置は、マージモードを利用したことを示すフラグ情報及び周辺のどの予測ブロックを利用しているかを示すマージインデックスを送信することにより、現在ブロックの動き情報を示すことができる。前記マージモードは、レギュラーマージモード(regular merge mode)と呼ばれてもよい。
コーディング装置は、マージモードを行うために現在ブロックの動き情報を誘導するために用いられるマージ候補ブロック(merge candidate block)をサーチする。例えば、前記マージ候補ブロックは最大で5つまで利用できるが、本実施例はこれに限定されない。また、前記マージ候補ブロックの最大個数に関する情報は、スライスヘッダ又はタイルグループヘッダにおいて送信されることができるが、本実施例はこれに限定されない。前記マージ候補ブロックを見つけた後、コーディング装置はマージ候補リストを生成することができ、これらのうち最小の費用を有するマージ候補ブロックを最終マージ候補ブロックとして選択する。
本文書は、前記マージ候補リストを構成するマージ候補ブロックに対する様々な実施例を提供する。
前記マージ候補リストは、例えば、5つのマージ候補ブロックを含む。例えば、4つの空間的マージ候補(spatial merge candidate)と1つの時間的マージ候補(temporal merge candidate)を利用することができる。具体例として、空間的マージ候補の場合も、図7に示されたブロック(A、A、B、B、B)を空間的マージ候補として用いることができる。以下、前記空間的マージ候補又は後述する空間的MVP候補はSMVPと呼ばれてもよく、前記時間的マージ候補又は後述する時間的MVP候補はTMVPと呼ばれてもよい。
前記現在ブロックに対するマージ候補リストは、例えば、以下のような手順に基づいて構成される。
図8は、マージ候補リスト構成方法を概略的に示す。
まず、コーディング装置(エンコーディング装置/デコーディング装置)は、現在ブロックの空間的周辺ブロックを探索して導出された空間的マージ候補をマージ候補リストに挿入する(S810)。例えば、前記空間的周辺ブロックは、前記現在ブロックの左下側コーナー周辺ブロック(A)、左側周辺ブロック(A)、右上側コーナー周辺ブロック(B)、上側周辺ブロック(B)及び左上側コーナー周辺ブロック(B)を含む。ただし、これは例示であり、前述した空間的周辺ブロック以外にも右側周辺ブロック、下側周辺ブロック、右下側周辺ブロックなど追加的な周辺ブロックが前記空間的周辺ブロックとしてさらに使用されることができる。コーディング装置は、前記空間的周辺ブロックを優先順位に基づいて探索して可用のブロックを検出し、検出されたブロックの動き情報を前記空間的マージ候補として導出する。例えば、エンコーディング装置及び/又はデコーディング装置は、図7に示された5つのブロックをA、B、B、A、Bの順に探索し、可用の候補を順次インデックスすることにより、マージ候補リストとして構成することができる。
また、コーディング装置は、前記現在ブロックの時間的周辺ブロックを探索して導出された時間的マージ候補を前記マージ候補リストに挿入する(S820)。前記時間的周辺ブロックは、前記現在ブロックが位置する現在ピクチャとは異なるピクチャである参照ピクチャ上に位置し得る。前記時間的周辺ブロックが位置する参照ピクチャは同一位置(collocated)ピクチャ又はcolピクチャと呼ばれてもよい。前記時間的周辺ブロックは、前記colピクチャ上での前記現在ブロックに対する同一位置ブロック(co-located block)の右下側コーナー周辺ブロック及び右下側センターブロックの順で探索されることができる。
一方、動きデータ圧縮(motion data compression)が適用される場合、前記colピクチャに一定格納単位ごとに特定の動き情報を代表動き情報として格納することができる。この場合、前記一定格納単位内の全てのブロックに対する動き情報を格納する必要がなく、これにより動きデータ圧縮効果が得られる。この場合、一定格納単位は、例えば、16×16サンプル単位又は8×8サンプル単位などと予め決められてもよく、又はエンコーディング装置からデコーディング装置に前記一定格納単位に関するサイズ情報がシグナリングされてもよい。前記動きデータ圧縮が適用される場合、前記時間的周辺ブロックの動き情報は、前記時間的周辺ブロックが位置する前記一定格納単位の代表動き情報に置き換えられてもよい。すなわち、この場合、実現の側面から見ると、前記時間的周辺ブロックの座標に位置する予測ブロックではなく、前記時間的周辺ブロックの座標(左上端サンプルポジション)に基づいて一定値の分だけ算術的右シフトした後、算術的左シフトした位置をカバーする予測ブロックの動き情報に基づいて前記時間的マージ候補が導出されることができる。例えば、前記一定格納単位が2×2サンプル単位である場合、前記時間的周辺ブロックの座標が(xTnb,yTnb)であると、修正された位置である((xTnb>>n)<<n)、(yTnb>>n)<<n))に位置する予測ブロックの動き情報が前記時間的マージ候補のために使用されることができる。具体的に、例えば、前記一定格納単位が16×16サンプル単位である場合、前記時間的周辺ブロックの座標が(xTnb,yTnb)であると、修正された位置である((xTnb>>4)<<4),(yTnb>>4)<<4))に位置する予測ブロックの動き情報が前記時間的マージ候補のために使用されることができる。または、例えば、前記一定格納単位が8×8サンプル単位である場合、前記時間的周辺ブロックの座標が(xTnb,yTnb)であると、修正された位置である((xTnb>>3)<<3),(yTnb>>3)<<3))に位置する予測ブロックの動き情報が前記時間的マージ候補のために使用されることができる。
一方、コーディング装置は、現在マージ候補の個数が最大マージ候補の個数より小さいか否かを確認する(S830)。前記最大マージ候補の個数は、予め定義されるか、エンコーディング装置からデコーディング装置にシグナリングされる。例えば、エンコーディング装置は、前記最大マージ候補の個数に関する情報を生成し、エンコーディングしてビットストリーム形態で前記デコーディング装置に伝達する。前記最大マージ候補の個数が充填されると、以後の候補追加過程は行われなくてもよい。
前記確認の結果、前記現在マージ候補の個数が前記最大マージ候補の個数より小さい場合、コーディング装置は、追加マージ候補を前記マージ候補リストに挿入する(S840)。前記追加マージ候補は、例えば、history based merge candidate(s)、pair-wise average merge candidate(s)、ATMP、combined bi-predictiveマージ候補(現在スライス/タイル/グループのスライス/タイルグループタイプがBタイプである場合)及び/又は零ベクトルマージ候補の少なくとも1つを含んでもよい。
前記確認の結果、前記現在マージ候補の個数が前記最大マージ候補の個数より小さくない場合、コーディング装置は、前記マージ候補リストの構成を終了する(S850)。この場合、エンコーディング装置は、RD(rate-distortion)コストに基づいて前記マージ候補リストを構成するマージ候補のうち最適のマージ候補を選択することができ、前記選択されたマージ候補を指す選択情報(例えば、merge index)をデコーディング装置にシグナリングすることができる。デコーディング装置は、前記マージ候補リスト及び前記選択情報に基づいて前記最適のマージ候補を選択することができる。
前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として使用でき、前記現在ブロックの動き情報に基づいて前記現在ブロックの予測サンプルを導出できることは前述の通りである。エンコーディング装置は、前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出し、前記レジデュアルサンプルに関するレジデュアル情報をデコーディング装置にシグナリングすることができる。デコーディング装置は、前記レジデュアル情報に基づいて導出されたレジデュアルサンプル及び前記予測サンプルに基づいて復元サンプルを生成し、これに基づいて復元ピクチャを生成できることは前述の通りである。
インター予測時にスキップモード(skip mode)が適用される場合、前述したマージモードが適用される場合と同一の方法で前記現在ブロックの動き情報を導出することができる。ただし、スキップモードが適用される場合、該当ブロックに対するレジデュアル信号が省略され、従って、予測サンプルが直ちに復元サンプルとして利用されることができる。
一方、内在的に(implicitly)導出された動き情報が現在CUの予測サンプル生成のために直接的に使用されるマージモードに加えて、動きベクトル差分を有するマージモード(merge mode with motion vector differences:MMVD)がVVCに導入される(In addition to merge mode, where the implicitly derived motion information is directly used for prediction samples generation of the current CU, the merge mode with motion vector differences (MMVD) is introduced in VVC.)。スキップモード及びマージモードには類似の動き情報導出方法が用いられるため、MMVDは前記スキップモードに適用できる(Because similar motion information derivation methods are used for the skip mode and the merge mode, MMVD may beapplied to the skip mode.)。MMVDフラグ(例えば、mmvd_flag)はスキップフラグ及びマージフラグを送った直後にシグナリングされてMMVDモードがCUに適用されるか否かを示す(A MMVD flag (ex. mmvd_flag) may be singnaled right after sending a skip flag and merge flag to specify whether MMVD mode is used for a CU.)。
MMVDにおいては、マージ候補が選択された後、シグナリングされたMVDの情報によりリファインされる(In MMVD, after amerge candidate is selected, it is further refined by the signaled MVDs information.)。MMVDが現在ブロックに適用される場合(すなわち、mmvd_flagが1である場合)、MMVDに対する追加情報がシグナリングされる(When MMVD is applied to the current block (i.e. when the mmvd_flag is equal to 1), further information for the MMVD may be signaled.)。
追加情報は、前記マージ候補リスト内の第1(0)又は第2(1)候補が動きベクトル差分とともに使用されるか否かを示すマージ候補リスト(例えば、mmvd_merge_flag)、動きの大きさを示すインデックス(例えば、mmvd_distance_idx)、及び動き方向表示インデックス(例えば、mmvd_direction_idx)を含む(The further information includes a merge candidate flag (ex. mmvd_merge_flag) indicating whether the first (0) or the second (1) candidate in the merging candidate list is used with the motion vector difference, an index to specify motion magnitude (ex. mmvd_distance_idx), and an index for indication of motion direction (ex. mmvd_direction_idx).)。MMVDモードでは、マージリストにおいて、最初の2つの候補のうち1つがMVの基準として使用されるように選択される(In MMVD mode, one for the first two candidates in the merge list is selected to be used as MV basis.)。マージ候補フラグは、どのフラグが使われるかを示すようにシグナリングされる(The merge candidate flag is signaled to specify which one is used.)。
距離インデックスは動き大きさ情報を示し、開始ポイントから予め決められたオフセット(offset)を示す(Distance index specifies motion magnitude information and indicate the pre-defined offset from the starting point.)。
オフセットは開始動きベクトルの水平成分又は垂直成分に加えられる(An offset is added to either horizontal component or vertical component of starting MV.)。距離インデックスと予め決められたオフセットの関係は、以下の表3のように示される(The relation of distance index and pre-defined offset is specified in Table 3.)。
Figure 2023090963000018
ここで、slice_fpel_mmvd_enabled_flagが1であると、動きベクトル差分があるマージモードが現在スライスにおいて整数サンプル精密度を使用することを示す(Here, slice_fpel_mmvd_enabled_flag equal to 1 specifies that merge mode with motion vector difference uses integer sample precision in the current slice.)。slice_fpel_mmvd_enabled_flagが0であると、動きベクトル差分があるマージモードが現在スライスにおいて分数サンプル精密度を使用することを示す(slice_fpel_mmvd_enabled_flag equal to 0 specifies that merge mode with motion vector difference can use fractional sample precision in the current slice.)。存在しない場合、slice_fpel_mmvd_enabled_flagの値は0として導出される(When not present, the value of slice_fpel_mmvd_enabled_flag is inferred to be 0.)。slice_fpel_mmvd_enabled_flagシンタックスエレメントはスライスヘッダを介して(スライスヘッダに含まれて)シグナリングされる(slice_fpel_mmvd_enabled_flag syntax element may be signaled through (may be comprised in) a slice header.)。
方向インデックスは、開始点を基準にMVDの方向を示す。方向インデックスは、表4に示すように、4方向を示す(Direction index represents the direction of the MVD relative to the starting point.)。MVD表示の意味は、MVの開始情報に応じて変更されることができる(The direction index can represent of the four directions as shown in Table4. It's noted that the meaning of MVD sign could be variant according to the information of starting MVs.)。開始MVが予測ではないMVであるか、又は2つのリストを有する双予測MVが現在ピクチャの同一面を指す場合(例えば、2つの参照のPOCは両方とも現在ピクチャのPOCより大きいか、又は両方とも現在ピクチャのPOCより小さい場合)、表4のサインは、前記開始MVに追加されたMVオフセットのサインを示す(When the starting MVs is an un-prediction MV or bi-prediction MVs with both lists point to the same side of the current picture (i.e. POCs of two references are both larger than the POC of the current picture, or are both smaller than the POC of the current picture), the sign in Table 4 specifies the sign of MV offset added to the starting MV.)。開始MVが現在ピクチャの他の面を指す2つのMVを有する双予測MVである場合(すなわち、1つの参照のPOCが現在ピクチャのPOCより大きく、他の参照のPOCが現在ピクチャのPCOより小さい場合)、表4のサインは開始MVのlist0 MV成分に追加されたMVオフセットのサインを示し、list1 MVのサインは逆の値を有する(When the starting MVs is bi-prediction MVs with the two MVs point to the different sides of the current picture (i.e. the POC of one reference is larger than the POC of the current picture, and the POC of the other reference is smaller than the POC of the current picture), the sign in Table 4 specifies the sign of MV offset added to the list0 MV component of starting MV and the sign for the list1 MV has opposite value.)。
Figure 2023090963000019
マージプラスMVDオフセットMmvdOffset[x0][y0]の2つの構成要素は、以下のように導出される(Both components of the merge plus MVD offset MmvdOffset[x0][y0] are derived as follows.)。
Figure 2023090963000020
図9は、インター予測時に使用できるサブブロックベースの時間的動きベクトル予測プロセスを説明する図である。
インター予測のためにサブブロックベースの時間的動きベクタ予測(SbTMVP)方法が使用されることができる(Subblock-based temporal motion vector prediction (SbTMVP) method can be used for inter prediction.)。TMVP(temporal motion vector prediction)と類似して、SbTMVPは同一位置ピクチャの動きフィールドを使用して現在ピクチャのCUに対する動きベクトル予測及びマージモードを向上させる(Similar to the temporal motion vector prediction (TMVP), SbTMVP uses the motion field in the collocated picture to improve motion vector prediction and merge mode for CUs in the current picture.)。TMVPにおいて使用される同一位置ピクチャが同一にSbTVMPに使用される(The same collocated picture used by TMVP is used for SbTVMP.)。SbTMVPは、以下の2つの主要側面でTMVPと異なる(SbTMVP differs from TMVP in the following two main aspects.)。
1.TMVPはCUレベルでの動き予測を行うが、SbTMVPはサブCUレベルでの動きを予測する(TMVP predicts motion at CU level but SbTMVP predicts motion at sub-CU level.)。
2.TMVPは同一位置ピクチャ内の同一位置ブロックから時間的動きベクトルをフェッチする反面(前記同一位置ブロックは現在CUを基準に右下側又はセンター(右下側センター)ブロックである)、SbTMVPは、前記同一位置ピクチャから時間的動き情報をフェッチする前にモーションシフト(ここで、モーションシフトは現在CUの空間的周辺ブロックのうち1つからの動きベクトルから取得される)を適用する(Whereas TMVP fetches the temporal motion vectors from the collocated block in the collocated picture (the collocated block is the bottom-right or center (below-right center) block relative to the current CU), SbTMVP applies a motion shift before fetching the temporal motion information from the collocated picture, where the motion shift is obtained from the motion vector from one of the spatial neighbouring blocks of the current CU.)。
SbTMVPは、現在CU内のサブCUの動きベクトルを2つのステップで予測する(SbTMVP predicts the motion vectors of the sub-CUs within the current CU in two steps.)。第1のステップで、空間的隣接A1を検査する(In the first step, the spatial neighbour A1 is examined.)。参照ピクチャが識別される時、同一位置ピクチャを参照ピクチャとして使用する動きベクトルをA1が有する場合、この動きベクトル(時間的MV(tempMV)と呼ばれてもよい)が適用されるモーションシフトとして選択される(If A1 has a motion vector that uses the collocated picture as its reference picture is identified, this motion vector (may be referred to as a temporal MV (tempMV)) is selected to be the motion shift to be applied.)。このような動きが識別されない場合、モーションシフトは(0,0)に設定される(If no such motion is identified, then the motion shift is set to (0, 0).)。
第2のステップで、第1のステップで識別されたモーションシフトが適用されて(すなわち、現在ブロックの候補として追加される)図9に示されているように、同一位置ピクチャからサブCUレベル動き情報(動きベクトル及び参照インデックス)を取得する(In the second step, the motion shift identified in Step 1 is applied (i.e. added to the current block's coordinates) to obtain sub-CU-level motion information (motion vectors and reference indices) from the collocated picture as shown in Figure 9.) 図9の例は、モーションシフトがブロックA1’の動きに設定されていると仮定する(The example in Figure 9 assumes the motion shift is set to block A1's motion.)。また、それぞれのサブCUに対して、同一位置ピクチャ内の対応するブロック(センターサンプルをカバーする最小のモーショングリッド)の動き情報がサブCUに関するモーション情報の導出に使用される(Then, for each sub-CU, the motion information of its corresponding block (the smallest motion grid that covers the center sample) in the collocated picture is used to derive the motion information for the sub-CU.)。センターブロック(右下側センターサンプル)は、サブブロックの長さ及び幅が偶数である場合、サブCU内の4つのセンターサンプルのうち右下側サンプルに該当し得る(The center sample (below right center sample) may correspond to a below-right sample among 4 central samples in the sub-CU when the sub-block has even length width and height.)。
同一位置サブCUの動き情報が識別された後、TMVPプロセスと類似の方式で現在サブCUの動きベクトル及び参照インデックスに変換され、ここで、時間的動きスケーリングが適用されて時間的動きベクトルの参照ピクチャを現在CUの参照ピクチャに配置する(After the motion information of the collocated sub-CU is identified, it is converted to the motion vectors and reference indices of the current sub-CU in a similar way as the TMVP process, where temporal motion scaling may be applied to align the reference pictures of the temporal motion vectors to those of the current CU.)。
SbTVMP候補及びアフィンマージ候補を全て含む結合されたサブブロックベースのマージリストは、アフィンマージモード(サブブロック(ベース)マージモードと称されてもよい)のシグナリングのために使用されることができる(A combined sub-block based merge list which contains both SbTVMP candidate and affine merge candidates may be used for the signalling of affine merge mode (may be referred to as sub-block (based) merge mode).)。SbTVMPモードはSPS(Sequence Parameter Set)フラグにより活性化/非活性化される(The SbTVMP mode is enabled/disabled by a sequence parameter set (SPS) flag.)。SbTMVPモードが活性化する場合、SbTMVP予測子はサブブロックマージ候補リストの1番目の項目として追加された後、アフィンマージ候補が追加される(If the SbTMVP mode is enabled, the SbTMVP predictor is added as the first entry of the list of sub-block merge candidates, and followed by the affine merge candidates.)。アフィンマージ候補リストの最大許容サイズは5であり得る(The maximum allowed size of the affine merge candidate list may be 5.)。
SbTMVPにおいて使用されるサブCUサイズは8×8に固定され、アフィンマージモードでのようにSbTMVPモードは幅と高さが全て8以上であるCUにのみ該当する(The sub-CU size used in SbTMVP may be fixed to be 8x8, and as done for affine merge mode, SbTMVP mode may be only applicable to the CU with both width and height are larger than or equal to 8.)。
追加的なSbTMVPマージ候補のエンコーディングロジックは、他のマージ候補と同一であり、すなわち、P又はBスライスの各CUに対して、SbTMVP候補の使用可否を決定するために、追加的なRDチェックが行われる。(The encoding logic of the additional SbTMVP merge candidate is the same as for the other merge candidates, that is, for each CU in P or B slice, an additional RD check may be performed to decide whether to use the SbTMVP candidate.)。
一方、インター予測のためにトライアングルパーティションモードが使用されてもよい(A triangle partition mode may be used for inter prediction.)。前記トライアングルパーティションモードは、8×8又はそれ以上のCUに対してのみ適用できる(The triangle partition mode may be only applied to CUs that are 8x8 or larger.)。前記トライアングルパーティションモードは、レギュラーマージモード、MMVDモード、CIIPモード及びサブブロックマージモードを含む他のマージモードとともに、マージモードの一種としてCUレベルフラグを用いてシグナリングされる(The triangle partition mode is signalled using a CU-level flag as one kind of merge mode, with other merge modes including the regular merge mode, the MMVD mode, the CIIP mode and the subblock merge mode.)。
このモードが使用される場合、CUは対角線分割又は半対角線分割を使用して2つの三角形のパーティションにより均等に分割される(When this mode is used, a CU may be split evenly into two triangle-shaped partitions, using either the diagonal split or the anti-diagonal split)。CU内の各三角形パーティションは、自体の動きを使用してインター予測され、各パーティションに対して単予測のみが許容される。すなわち、各パーティションは1つのモーションベクトルと1つの参照インデックスを有する(Each triangle partition in the CU is inter-predicted using its own motion; only uni-prediction is allowed for each partition, that is, each partition has one motion vector and one reference index.)。単方向予測動き制約は既存の双予測と同様に、各CUに対して2つの動き補償予測のみが必要であるということを保障するために適用される(The uni-prediction motion constraint is applied to ensure that same as the conventional bi-prediction, only two motion compensated prediction are needed for each CU.)。
現在CUに対してトライアングルパーティションモードが使用される場合、前記トライアングルパーティションの方向(対角線又は半対角線)を示すフラグと2つのマージインデックス(各パーティション毎に1つずつ)が追加でシグナリングされる(If triangle partition mode is used for the current CU, then a flag indicating the direction of the triangle partition (diagonal or anti-diagonal), and two merge indices (one for each partition) are further signalled.)。最大TPM(triangle partition mode)候補サイズの数は、スライスレベルで明示的にシグナリングされ、TPMマージインデックスに対するシンタックス二進化を示す(The number of maximum TPM candidate size is signalled explicitly at slice level and specifies syntax binarization for TMP merge indices.)。それぞれのトライアングルパーティションを予測した後、対角線又は半対角線エッジに沿うサンプル値は適応的加重値を有するブレンディングプロセスを利用して調整される(After predicting each of the triangle partitions, the sample values along the diagonal oranti-diagonal edge are adjusted using a blending processing with adaptive weights.)。これは、全体CUに対する予測信号であり、変換及び量子化プロセスは他の予測モードでのように全体CUに適用される(This is the prediction signal for the whole CU, and transform and quantization process will be applied to the whole CU as in other prediction modes.)。最後にトライアングルパーティションモードを使用して予測したCUのモーションフィールドは、4×4単位で格納される(Finally, the motion field of a CU predicted using the triangle partition mode is stored in 4x4 units.)。トライアングルパーティションモードはSBT(subblock transform)と一緒に使用されない。すなわち、シグナリングされたトライアングルモードの値が1であるとき、cu_sbt_flagはシグナリングなしに0として導出される(The triangle partition mode is not used in combination with SBT, that is, when the signalled triangle mode is equal to 1, the cu_sbt_flag is inferred to be 0 without signalling.)
単予測候補リストは前述のマージ候補リストから直接導出される(The uni-prediction candidate list is derived directly from the merge candidate list constructed as described above.)。
自体の動きを使って各トライアングルパーティションを予測した後、2つの予測信号にブレンディングが適用されて対角線又は半対角線エッジの周辺においてサンプルを導出する(After predicting each triangle partition using its own motion, blending is applied to the two prediction signals to derive samples around the diagonal or anti-diagonal edge.)
また、結合されたインター及びイントラの予測が現在ブロックに適用されることができる(Combined inter and intra prediction can be applied to a current block.)。CIIPモードが現在CUに適用されるか否かを示すために追加フラグ(例えば、ciip_flag)がシグナリングされる(An additional flag (ex. ciip_flag) may be signalled to indicate if the combined inter/intra prediction (CIIP) mode is applied to the current CU.)。例えば、CUがマージモードでコーディングされた場合、CUに最小64個のルマサンプルが含まれ(すなわち、CU幅とCU高さの積が64ルマサンプルより大きいか等しく)CU幅とCU高さが全て128ルマサンプルより小さい場合、CIIPモードが現在CUに適用されるか否かを示すために追加フラグがシグナリングされる(For example, when a CU is coded in merge mode, if the CU contains at least 64 luma samples (that is, CU width times CU height is equal to or larger than 64), and if both CU width and CU height are less than 128 luma samples, the additional flag is signalled to indicate if the combined inter/intra prediction (CIIP) mode is applied to the current CU.)。その名称が示しているように、CIIP予測はインター予測信号とイントラ予測信号を結合する(As its name indicates, the CIIP prediction combines an inter prediction signal with an intra prediction signal.)。CIIPモードP_interにおけるインター予測信号はレギュラーマージモードに適用される同一のインター予測プロセスを利用して導出され、イントラ予測信号P_intraはプランナーモードを有するレギュラーイントラ予測プロセスに従って導出される(The inter prediction signal in the CIIP mode P_inter is derived using the same inter prediction process applied to regular merge mode; and the intra prediction signal P_intra is derived following the regular intra prediction process with the planar mode.)。その後、イントラ及びインター予測信号は加重平均を使用して結合され、ここで、加重値は次のように上側及び左側周辺ブロックのコーディングモードに応じて計算される(Then, the intra and inter prediction signals are combined using weighted averaging, where the weight value is calculated depending on the coding modes of the top and left neighbouring blocks as follows.)
上側隣接が使用可能で、イントラコーディングされた場合、isIntraTopを1に設定し、そうでない場合はisIntraTopを0に設定する(If the top neighbor is available and intra coded, then set isIntraTop to 1, otherwise set isIntraTop to 0.)。
左側隣接が使用可能で、イントラコーディングされた場合、isIntraLeftを1に設定し、そうでない場合はisIntraLeftを0に設定する(If the left neighbor is available and intra coded, then set isIntraLeft to 1, otherwise set isIntraLeft to 0.)。
(isIntraLeft+isIntraLeft)が2である場合、加重値(wt)は3に設定される(If (isIntraLeft + isIntraLeft) is equal to 2, then wt is set to 3.)。
そうではなく、(isIntraLeft+isIntraLeft)が1であると、wtは2に設定される(Otherwise, if (isIntraLeft + isIntraLeft) is equal to 1, then wt is set to 2.)。
そうでないと、wtは1に設定される(Otherwise, set wt to 1.)。
CIIP予測は次のように形成される(The CIIP prediction is formed as follows.)。
Figure 2023090963000021
一方、コーディング装置において予測ブロックを生成するために、前述のレギュラーマージモード、スキップモード、SbTMVPモード、MMVDモード、トライアングルパーティションモード(パーティショニングモード)及び/又はCIIPモードに基づいて動き情報を誘導することができる。各モードは、シーケンスパラメータセット(SPS)に含まれるそれぞれのモードに対するオン/オフフラグ(on/off flag)を介して活性化/非活性化(enable/disable)される。もし、特定モードのためのオン/オフフラグが非活性化(disable)されると、エンコーディング装置はCU又はPU単位で当該予測モードのために明示的(explicit)に送信されるシンタックス(syntax)をシグナリングしない。
従って、既存の動作過程でマージ/スキップモードのための特定モードが全て非活性化(disable)されるか、一部が非活性化(disable)される場合、オン/オフフラグが不要に(redundant)シグナリングされる問題が発生する。従って、本文書においては、表2のマージデータシンタックスに基づいて現在ブロックに適用されるマージモードを選択する過程で、同一の情報(フラグ)が重複してシグナリングされることを防止するために、次の方法のいずれか1つが使用される。
エンコーディング装置は、動き情報を誘導する過程で使用できる予測モードを選択するために表5のようなシーケンスパラメータセットに基づいてフラグをシグナリングすることができる。各予測モードは、表5のシーケンスパラメータセットに基づいてオン/オフされ、表2のマージデータシンタックスの各シンタックス要素は表5のフラグと各モードが使用できる条件に応じてパーシング(parsing)又は誘導される。
Figure 2023090963000022
Figure 2023090963000023
Figure 2023090963000024
Figure 2023090963000025
Figure 2023090963000026
Figure 2023090963000027
Figure 2023090963000028
Figure 2023090963000029
Figure 2023090963000030
Figure 2023090963000031
以下の図面は、本文書の具体的な一例を説明するために作成された。図面に記載された具体的な装置の名称や具体的な信号/情報の名称は例示的に提示されたものであるので、本明細書の技術的特徴が以下の図面に使用された具体的な名称に制限されない。
図10及び図11は、本文書の実施例によるインター予測方法を含むビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。
図10に開示されたエンコーディング方法は、図2において開示されたエンコーディング装置200により行われることができる。具体的に、例えば、図10のS1000及びS1010はエンコーディング装置200の予測部220により行われ、S1020及びS1030はエンコーディング装置200のレジデュアル処理部230により行われ、S1040はエンコーディング装置200のエントロピーエンコーディング部240により行われる。図10において開示されたエンコーディング方法は、本文書で前述した実施例を含む。
具体的に、図10及び図11に示すように、エンコーディング装置の予測部はインター予測に基づいて現在ブロックの予測サンプルを導出することができる(S1000)。一例として、エンコーディング装置の予測部は、レギュラーマージモード、スキップモード、MMVDモード、サブブロックマージモード、パーティショニングモード、CIIPモードのいずれか1つのインター予測モードを利用して現在ブロックに対する予測サンプルを導出することができる。
ここで、前記レギュラーマージモードは、周辺ブロックの動き情報を利用して現在ブロックの動き情報を誘導するモードと定義される。スキップモードは予測ブロックを復元ブロックとして使用するモードと定義される。前記MMVDモードは、前記マージモード又は前記スキップモードに適用されるものであり、動きベクトル差分を利用するマージ(又はスキップ)モードと定義される。前記サブブロックマージモードはサブブロックに基づくマージモードと定義される。前記パーティショニングモードは、現在ブロックを2つのパーティション(対角線又は半対角線)に分けて予測を行うモードと定義される。前記CIIPモードは、ピクチャ間の併合(inter-picture merge)とピクチャ内予測(intra-picture prediction)が結合したモードと定義される。
一方、エンコーディング装置の予測部は、動き推定により参照ピクチャの一定領域(サーチ領域)内において現在ブロックと類似したブロックをサーチして前記現在ブロックとの差が最小又は一定基準以下である参照ブロックを導出し、これに基づいて前記参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導出することができる。また、前記参照ブロックと前記現在ブロックの位置差に基づいて動きベクトルを導出することができる。
エンコーディング装置の予測部は、現在ブロックの予測モードと現在ブロックの動きベクトルに基づいて、現在ブロックの予測サンプル(予測ブロック)を生成する。また、前記予測モードを示す予測モードに関する情報を生成する(S1010)。ここで、前記予測モードに関する情報は、インター/イントラ予測区分情報、インター予測モード情報などを含み、これに関する様々なシンタックス要素を含む。
エンコーディング装置のレジデュアル処理部は、前記現在ブロックに対する原本のサンプル(原本ブロック)と前記現在ブロックに対する予測サンプル(予測ブロック)に基づいてレジデュアルサンプルを導出する(S1020)。また、前記レジデュアルサンプルに基づいてレジデュアルサンプルに関する情報を生成する(S1030)。
エンコーディング装置のエンコーディング部は、前記レジデュアルサンプルに関する情報、前記予測モードに関する情報などを含む映像情報をエンコーディングする(S1040)。前記映像情報は、パーティショニング関連情報、予測モードに関する情報、レジデュアル情報、インループフィルタリング関連情報などを含み、それに関する様々なシンタックス要素を含む。エンコーディング装置のエンコーディングにおいてエンコーディングされた情報はビットストリーム形態で出力される。前記ビットストリームは、ネットワーク又は格納媒体を介してデコーディング装置に送信される。
例えば、前記映像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報を含む。また、前記映像情報は、コーディングユニットシンタックス、マージデータシンタックスなどのような現在ブロックの予測モードに関する情報を含む。ここで、前記シーケンスパラメータセットは、CIIP(combined inter-picture merge and intra-picture prediction)可用フラグ(ciip enable flag)、パーティショニングモードに対する可用フラグなどを含む。前記コーディングユニットのシンタックスは、現在ブロックにスキップモードが適用されるか否かを示すCUスキップフラグ(CU skip flag)を含む。
一実施例によると、一例として、エンコーディング装置は、同一シンタックスが重複して送信されないように前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされることに基づいて前記映像情報にレギュラーマージフラグを含めることができる。ここで、前記現在ブロックのサイズに基づく条件は、前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さい場合であり得る。前記CIIP可用フラグに基づく条件は、前記CIIP可用フラグの値が1の場合であり得る。すなわち、エンコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、且つ、前記CIIP可用フラグの値が1である場合、レギュラーマージフラグをシグナリングすることができる。
また他の例として、エンコーディング装置は、前記CUスキップフラグ及び前記現在ブロックのサイズに基づく条件が満たされることに基づいて前記映像情報に前記レギュラーマージフラグを含めることができる。ここで、前記CUスキップフラグに基づく条件は、前記CUスキップフラグの値が0の場合であり得る。言い換えれば、エンコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、前記CUスキップフラグの値が0である場合、レギュラーマージフラグをシグナリングすることができる。
また他の例として、エンコーディング装置は、前記CIIP可用フラグに基づく条件と前記CUスキップフラグに基づく条件の少なくとも1つと前記現在ブロックのサイズに基づく条件が満たされることに基づいて、前記映像情報に前記レギュラーマージフラグを含めることができる。ここで、前記CIIP可用フラグに基づく条件は前記CIIP可用フラグの値が1の場合である。前記CUスキップフラグに基づく条件は前記CUスキップフラグの値が0の場合である。言い換えれば、エンコーディング装置は、現在ブロックの高さと前記現在のブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、前記CIIP可用フラグの値が1であるか前記CUスキップフラグの値が0である場合、レギュラーマージフラグをシグナリングすることができる。
また他の例として、エンコーディング装置は、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件に加えて、CUスキップフラグに基づく条件がさらに満たされることに基づいて、前記映像情報に前記レギュラーマージフラグを含めることができる。ここで、前記CUスキップフラグに基づく条件は、前記CUスキップフラグの値が0の場合であり得る。言い換えれば、エンコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、前記CIIP可用フラグの値が1であり、前記CUスキップフラグの値が0である場合、レギュラーマージフラグをシグナリングすることができる。
また他の例として、エンコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされることに基づいて、前記映像情報にレギュラーマージフラグを含めることができる。ここで、前記現在ブロックに関する情報に基づく条件は、前記現在ブロックの幅と高さの積が64以上である場合及び/又は前記現在ブロックを含むスライスのタイプがBスライスである場合を含む。前記パーティショニングモード可用フラグに基づく条件は、前記パーティショニングモード可用フラグの値が1の場合であり得る。すなわち、エンコーディング装置は、現在ブロックの高さと前記現在ブロックに関する情報に基づく条件と、前記パーティショニングモード可用フラグに基づく条件が両方とも満たされる場合、レギュラーマージフラグをシグナリングすることができる。
エンコーディング装置は、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされない場合、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされるか否かを判断する。または、エンコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされない場合、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされるか否かを判断する。
一方、エンコーディング装置は、現在ブロックの幅と高さの積が32ではなく、MMVD可用フラグの値が1である場合、または、サブブロックマージ候補の最大個数が0より大きく、現在ブロックの幅と高さがそれぞれ8以上である場合、レギュラーマージフラグをシグナリングすることもある。
このために、一例として、マージデータシンタックスは、次の表6のように構成される。
Figure 2023090963000032
Figure 2023090963000033
Figure 2023090963000034
表6においてレギュラーマージフラグの値1は、現在コーディングユニット(現在ブロック)のインター予測パラメータの生成にレギュラーマージモードが使用されることを示す(regular_merge_flag[x0][y0] equal to 1 specifies that regular merge mode is used to generate the inter prediction parameters of the current coding unit.)。アレイインデックスx0、y0はピクチャの左上側ルマサンプルに対して考慮されるコーディングブロックの左上側ルマサンプルの位置(x0,y0)を示す(The array indices x0, y0 specify the location (x0, y0) of the top-left luma sample of the considered coding block relative to the top-left luma sample of the picture.)。
レギュラーマージフラグが存在しない場合、これは次のように導出される(When regular_merge_flag[x0][y0] is not present, it is inferred as follows.)。
次の条件が全て真である場合、レギュラーマージフラグの値は1として導出される(If all of the following conditions are true, regular_merge_flag[x0][y0] is inferred to be equal to 1.))。
-ゼネラルマージフラグの値が1(general_merge_flag[x0][y0] is equal to 1)
-SPSのMMVD可用フラグの値が0であるか、現在ブロックの幅と高さの積が32(sps_mmvd_enable_flag is equal to 0 or cbWidth*cbHeight==32)
-サブブロックマージ候補の最大個数が0以下又は現在ブロックの幅が8未満又は現在ブロックの高さが8未満(MaxNumSubblockMergeCand<=0 or cbWidth<8 or cbHeight<8)
-SPSのCIIP可用フラグの値が0又は現在ブロックの幅と高さの積が64未満又は現在ブロックの幅が128以上又は現在ブロックの幅が128以上又はCUスキップフラグの値が1(sps_ciip_enabled_flag is equal to 0 or cbWidth*cbHeight<64 or cbWidth>=128 or cbHeight>=128 or cu_skip_flag[x0][y0] is equal to 1)
-SPSのパーティショニング可用フラグの値が0又はパーティショニングマージ候補の最大個数が2未満又はスライスタイプがBスライスではない(sps_triangle_enabled_flag is equal to 0 or MaxNumTriangleMergeCand<2 or slice_type is not equal to B_SLICE)
それ以外は、レギュラーマージフラグの値は0として導出される(Otherwise, regular_merge_flag[x0][y0] is inferred to be equal to 0.)。
一方、他の実施例によると、一例として、エンコーディング装置は、同一シンタックスが重複して送信されないように、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされることに基づいて前記映像情報にMMVDマージフラグを含めることができる。ここで、前記現在ブロックのサイズに基づく条件は、前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さい場合であり得る。前記CIIP可用フラグに基づく条件は、前記CIIP可用フラグの値が1の場合である。言い換えれば、エンコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、且つ、前記CIIP可用フラグの値が1である場合、MMVDマージフラグをシグナリングすることができる。
他の例として、エンコーディング装置は、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件に加えて、CUスキップフラグに基づく条件がさらに満たされることに基づいて、前記映像情報に前記MMVDマージフラグを含めることができる。ここで、前記CUスキップフラグに基づく条件は、前記CUスキップフラグの値が0の場合である。すなわち、エンコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、前記CIIP可用フラグの値が1であり、前記CUスキップフラグの値が0である場合、MMVDマージフラグをシグナリングすることができる。
また他の例として、エンコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされることに基づいて前記映像情報にMMVDマージフラグを含めることができる。ここで、前記現在ブロックに関する情報に基づく条件は、前記現在ブロックの幅と高さの積が64以上である場合及び/又は前記現在ブロックを含むスライスのタイプがbスライスである場合を含む。前記パーティショニングモード可用フラグに基づく条件は、前記パーティショニングモード可用フラグの値が1の場合である。すなわち、エンコーディング装置は、現在ブロックの高さと前記現在ブロックに関する情報に基づく条件と前記パーティショニングモード可用フラグに基づく条件が両方とも満足する場合、MMVDマージフラグをシグナリングすることができる。
エンコーディング装置は、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされない場合、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされるか否かを判断することができる。または、エンコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされない場合、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされるか否かを判断することができる。
一方、エンコーディング装置は、現在ブロックの幅と高さの積が32ではなく、MMVD可用フラグの値が1である場合、またはサブブロックマージ候補の最大個数が0より大きく、現在ブロックの幅と高さがそれぞれ8以上である場合、MMVDマージフラグをシグナリングすることもできる。
このために、一例として、マージデータシンタックスは、次の表7のように構成される。
Figure 2023090963000035
Figure 2023090963000036
Figure 2023090963000037
Figure 2023090963000038
MMVDマージフラグの値1は、動きベクトル差分を有するマージモードが、現在コーディングユニット(現在ブロック)のインター予測パラメータの生成に使用されることを示す(mmvd_merge_flag[x0][y0] equal to 1 specifies that merge mode with motion vector difference is used to generate the inter prediction parameters of the current coding unit.)。アレイインデックスx0、y0はピクチャの左上側ルマサンプルに対して考慮されるコーディングブロックの左上側ルマサンプルの位置(x0,y0)を示す(The array indices x0, y0 specify the location (x0, y0) of the top-left luma sample of the considered coding block relative to the top-left luma sample of the picture.)。
MMVDマージフラグが存在しない場合、これは以下のように導出される(When mmvd_merge_flag[x0][y0] is not present, it is inferred as follows.)。
次の条件が全て真である場合、MMVDマージフラグの値は1として導出される(If all of the following conditions are true, mmvd_merge_flag[x0][y0] is inferred to be equal to 1.)。
-ゼネラルマージフラグの値が1(general_merge_flag[x0][y0] is equal to 1)
-レギュラーマージフラグの値が0(regular_merge_flag[x0][y0] is equal to 0)
-SPSのMMVD可用フラグの値が1(sps_mmvd_enable_flag is equal to 1)
-現在ブロックの幅と高さの積が32ではない(cbWidth*cbHeight!=32)
-サブブロックマージ候補の最大個数が0以下又は現在ブロックの幅が8未満又は現在ブロックの高さが8未満(MaxNumSubblockMergeCand<=0 or cbWidth<8 or cbHeight<8)
-SPSのCIIP可用フラグの値が0又は現在ブロックの幅が128以上又は現在ブロックの高さが128以上又はCUスキップフラグの値が1(sps_ciip_enabled_flag is equal to 0 or cbWidth>=128 or cbHeight>=128 or cu_skip_flag[x0][y0] is equal to 1)
-SPSのパーティショニング可用フラグの値が0又はパーティショニングマージ候補の最大個数が2未満又はスライスタイプがBスライスではない(sps_triangle_enabled_flag is equal to 0 or MaxNumTriangleMergeCand<2 or slice_type is not equal to B_SLICE)
それ以外は、MMVDマージフラグの値が0として導出される(Otherwise, mmvd_merge_flag[x0][y0] is inferred to be equal to 0.)。
一方、また他の実施例によると、一例として、エンコーディング装置は、同一シンタックスが重複して送信されないように前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされることに基づいて前記映像情報にマージサブブロックフラグを含めることができる。ここで、前記現在ブロックのサイズに基づく条件は、前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さい場合である。前記CIIP可用フラグに基づく条件は、前記CIIP可用フラグの値が1の場合である。言い換えれば、エンコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、且つ、前記CIIP可用フラグの値が1である場合、マージサブブロックフラグをシグナリングすることができる。
他の例として、エンコーディング装置は、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件に加えて、CUスキップフラグに基づく条件がさらに満たされることに基づいて、前記映像情報に前記残りのサブブロックフラグを含めることができる。ここで、前記CUスキップフラグに基づく条件は、前記CUスキップフラグの値が0の場合である。言い換えれば、エンコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、前記CIIP可用フラグの値が1であり、前記CUスキップフラグの値が0である場合、マージサブブロックフラグをシグナリングすることができる。
また他の例として、エンコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされることに基づいて前記映像情報にマージサブブロックフラグを含めることができる。ここで、前記現在ブロックに関する情報に基づく条件は、前記現在ブロックの幅と高さの積が64以上である場合及び/又は前記現在ブロックを含むスライスのタイプがBスライスである場合を含む。前記パーティショニングモード可用フラグに基づく条件は、前記パーティショニングモード可用フラグの値が1の場合である。すなわち、エンコーディング装置は、現在ブロックの高さと前記現在ブロックに関する情報に基づく条件と前記パーティショニングモード可用フラグに基づく条件が両方とも満足する場合、マージサブブロックフラグをシグナリングすることができる。
エンコーディング装置は、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされない場合、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされるか否かを判断することができる。または、エンコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされない場合、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされるか否かを判断することができる。
一方、エンコーディング装置は、サブブロックマージ候補の最大個数が0より大きく、現在ブロックの幅と高さがそれぞれ8以上である場合、マージサブブロックフラグをシグナリングすることもできる。
このために、一例として、マージデータシンタックスは、次の表8のように構成される。
Figure 2023090963000039
Figure 2023090963000040
Figure 2023090963000041
マージサブブロックフラグは、周辺ブロックから現在コーディングユニットのためにサブブロックベースのインター予測パラメータが導出されるか否かを示す(merge_subblock_flag[x0][y0] specifies whether the subblock-based inter prediction parameters for the current coding unit are inferred from neighbouring blocks.)。アレイインデックスx0、y0はピクチャの左上側ルマサンプルに対して考慮されるコーディングブロックの左上側ルマサンプルの位置(x0,y0)を示す(The array indices x0, y0 specify the location (x0, y0) of the top-left luma sample of the considered coding block relative to the top-left luma sample of the picture.)。
マージサブブロックフラグが存在しない場合、これは次のように導出される(When merge_subblock_flag[x0][y0] is not present, it is inferred as follow.)。
次の条件が全て真である場合、マージサブブロックフラグの値は1として導出される(If all of the following conditions are true, merge_subblock_flag[x0][y0] is inferred to be equal to 1.)。
-ゼネラルマージフラグの値が1(general_merge_flag[x0][y0] is equal to 1)
-レギュラーマージフラグの値が0(regular_merge_flag[x0][y0] is equal to 0)
-マージサブブロックフラグの値が0(merge_subblock_flag[x0][y0] is equal to 0)
-MMVDマージフラグの値が0(mmvd_merge_flag[x0][y0] is equal to 0)
-サブブロックマージ候補の最大個数が0より大きい(MaxNumSubblockMergeCand>0)
-現在ブロックの幅と高さがそれぞれ8以上(cbWidth>=8 and cbHeight>=8)
-SPSのCIIP可用フラグの値が0又は現在ブロックの幅が128以上又は現在ブロックの高さが128以上又はCUスキップフラグの値が1(sps_ciip_enabled_flag is equal to 0 or cbWidth>=128 or cbHeight>=128 or cu_skip_flag[x0][y0] is equal to 1)
-SPSのパーティショニング可用フラグの値が0又はパーティショニングマージ候補の最大個数が2未満又はスライスタイプがBスライスではない(sps_triangle_enabled_flag is equal to 0 or MaxNumTriangleMergeCand<2 or slice_type is not equal to B_SLICE)
それ以外は、マージサブブロックフラグの値が0として導出される(Otherwise, merge_subblock_flag[x0][y0] is inferred to be equal to 0.)。
一方、他の実施例によると、一例として、エンコーディング装置は、同一シンタックスが重複して送信されないように前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされることに基づいて前記映像情報にCIIPフラグを含めることができる。ここで、前記現在ブロックのサイズに基づく条件は、前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さい場合であり得る。前記CIIP可用フラグに基づく条件は、前記CIIP可用フラグの値が1の場合である。すなわち、エンコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、前記CIIP可用フラグの値が1である場合、CIIPフラグをシグナリングすることができる。
他の例として、エンコーディング装置は、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件に加えて、CUスキップフラグに基づく条件がさらに満たされることに基づいて前記映像情報に前記CIIPフラグを含めることができる。ここで、前記CUスキップフラグに基づく条件は、前記CUスキップフラグの値が0の場合である。言い換えれば、エンコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、前記CIIP可用フラグの値が1であり、前記CUスキップフラグの値が0である場合、CIIPフラグをシグナリングすることができる。
また他の例として、エンコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされることに基づいて、前記映像情報にCIIPフラグを含めることができる。ここで、前記現在ブロックに関する情報に基づく条件は、前記現在ブロックの幅と高さの積が64以上である場合及び/又は前記現在ブロックを含むスライスのタイプがBスライスである場合を含む。前記パーティショニングモード可用フラグに基づく条件は、前記パーティショニングモード可用フラグの値が1の場合である。言い換えれば、エンコーディング装置は、現在ブロックの高さと前記現在ブロックに関する情報に基づく条件と前記パーティショニングモード可用フラグに基づく条件が両方とも満足する場合、CIIPフラグをシグナリングすることができる。
エンコーディング装置は、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされない場合、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされるか否かを判断する。または、エンコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされない場合、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされるか否かを判断する。
このために、一例として、マージデータシンタックスは、次の表9のように構成される。
Figure 2023090963000042
Figure 2023090963000043
Figure 2023090963000044
CIIPフラグは、現在コーディングユニットに対して結合されたインター-ピクチャマージ及びイントラ-ピクチャ予測が適用されるか否かを示す(ciip_flag[x0][y0] specifies whether the combined inter-picture merge and intra-picture prediction is applied for the current coding unit.)。アレイインデックスx0、y0はピクチャの左上側ルマサンプルに対して考慮されるコーディングブロックの左上側ルマサンプルの位置(x0,y0)を示す(The array indices x0, y0 specify the location (x0, y0) of the top-left luma sample of the considered coding block relative to the top-left luma sample of the picture.)。
CIIPフラグが存在しない場合、これは次のように導出される(When ciip_flag[x0][y0] is not present, it is inferred as follows.)。
次の条件が全て真である場合、CIIPフラグの値は1として導出される(If all of the following conditions are true, ciip_flag[x0][y0] is inferred to be equal to 1.)
-ゼネラルマージフラグの値が1(general_merge_flag[x0][y0] is equal to 1)
-レギュラーマージフラグの値が0(regular_merge_flag[x0][y0] is euqal to 0)
-マージサブブロックフラグの値が0(merge_subblock_flag[x0][y0] is equal to 0)
-MMVDマージフラグの値が0(mmvd_merge_flag[x0][y0] is equal to 0)
-SPSのCIIP可用フラグの値が1(sps_ciip_enabled_flag is equal to 1)
-CUスキップフラグの値が0(cu_skip_flag[x0][y0] is equal to 0)
-現在ブロックの幅と高さの積が64以上であり、現在ブロックの幅と高さがそれぞれ128未満(cbWidth*cbHeight>=64 and cbWidth<128 and cbHeight<128)
-SPSのパーティショニング可用フラグの値が0又はパーティショニングマージ候補の最大個数が2未満又はスライスタイプがBスライスではない(sps_triangle_enabled_flag is equal to 0 or MaxNumTriangleMergeCand<2 or slice_type is not equal to B_SLICE)
それ以外は、CIIPフラグの値が0として導出される(Otherwise, ciip_flag[x0][y0] is inferred to be equal to 0.)。
図12及び図13は、本文書の実施例に沿ったインター予測方法を含むビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。
図12に開示されたデコーディング方法は、図3及び図13において開示されたデコーディング装置300により行われることができる。具体的に、例えば、図12のS1200及びS1210はデコーディング装置のエントロピーデコーディング部310において行われ、S1220はデコーディング装置300の予測部330において行われ、S1230はデコーディング装置300の加算部340により行われる。図12において開示されたデコーディング方法は、本文書で前述した実施例を含む。
図12及び図13に示すように、デコーディング装置は、ビットストリームからCIIP可用フラグ及びCUスキップフラグの少なくとも1つを取得する(S1200)。具体的には、デコーディング装置のエントロピーデコーディング部310は、図2のエンコーディング装置からビットストリーム形態で受信した信号からレジデュアル情報及び予測モードに関する情報を導出することができる。ここで、前記予測モードに関する情報は予測関連情報と称されてもよい。前記予測モードに関する情報は、インター/イントラ予測区分情報、インター予測モード情報などを含み、これに関する様々なシンタックス要素を含むことができる。
前記ビットストリームには、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報を含む映像情報が含まれる。前記映像情報は、コーディングユニットシンタックス、マージデータシンタックスなどのような現在ブロックの予測モードに関する情報をさらに含む。前記シーケンスパラメータセットは、CIIP可用フラグ、パーティショニングモードに対する可用フラグなどを含む。前記コーディングユニットシンタックスは、現在ブロックにスキップモードが適用されるか否かを示すCUスキップフラグを含む。
デコーディング装置の予測部330はCIIP可用フラグに基づく条件と前記CUスキップフラグに基づく条件の少なくとも1つと現在ブロックのサイズに基づく条件が満たされることに基づいてビットストリームからレギュラーマージフラグを取得する(S1210)。また、前記レギュラーマージフラグに基づいてインター予測を行って現在ブロックの予測サンプルを生成する(S1220)。例えば、デコーディング装置の予測部330は、前記ビットストリームからレギュラーマージフラグがパーシングされる場合、前述の(レギュラー)マージモードでインター予測を行うことができる。この場合、デコーディング装置の予測部330は、図8の手順を介してマージ候補リストを構成し、ビットストリームから取得したマージインデックスを用いて最適のマージ候補を選択することができる。また、前記最適のマージ候補の動き情報を現在ブロックの動き情報として使用して現在ブロックの予測サンプルを生成することができる。
一方、デコーディング装置のレジデュアル処理部320は、前記レジデュアル情報に基づいてレジデュアルサンプルを生成することができる。デコーディング装置の加算部340は、予測部330において生成された予測サンプルとレジデュアル処理部320において生成されたレジデュアルサンプルに基づいて復元サンプルを生成する(S1230)。復元ピクチャは前記復元サンプルに基づいて生成されることができる。その後、必要に応じて主観的/客観的画質を向上させるためにデブロッキングフィルタリング、SAO及び/又はALF手順のようなインループフィルタリング手順が前記復元ピクチャに適用されることができる。
一実施例として、デコーディング装置は、前記現在ブロックの予測モードの導出において、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされることに基づいて、前記ビットストリームからレギュラーマージフラグを取得することができる。ここで、前記現在ブロックのサイズに基づく条件は、前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さい場合であり得る。前記CIIP可用フラグに基づく条件は、前記CIIP可用フラグの値が1の場合である。言い換えれば、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、かつ、前記CIIP可用フラグの値が1である場合、デコーディング装置は前記ビットストリームに含まれたマージデータシンタックスから前記レギュラメージフラグをパーシングすることができる。
他の例として、CUスキップフラグ及び現在ブロックのサイズに基づく条件が満たされることに基づいて、前記ビットストリームからレギュラーマージフラグを取得することができる。ここで、前記現在ブロックのサイズに基づく条件は、前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さい場合であり得る。前記CUスキップフラグに基づく条件は、前記CUスキップフラグの値が0の場合である。言い換えれば、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、かつ、前記CUスキップフラグの値が0である場合、デコーディング装置は前記ビットストリームに含まれたマージデータシンタックスから前記レギュラメージフラグをパーシングすることができる。
また、他の例として、デコーディング装置は、前記CIIP可用フラグに基づく条件と前記CUスキップフラグに基づく条件の少なくとも1つと前記現在ブロックのサイズに基づく条件が満たされることに基づいて、前記ビットストリームからレギュラーマージフラグを取得することができる。ここで、前記CIIP可用フラグに基づく条件は、前記CIIP可用フラグの値が1の場合であり得る。前記CUスキップフラグに基づく条件は、前記CUスキップフラグの値が0の場合である。言い換えれば、デコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、前記CIIP可用フラグの値が1であるか前記CUスキップフラグの値が0である場合、マージデータシンタックスからレギュラーマージフラグをパーシングすることができる。
また他の例として、デコーディング装置は、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件に加えて、CUスキップフラグに基づく条件がさらに満たされることに基づいて、前記ビットストリームから前記レギュラーマージフラグを取得することができる。ここで、前記CUスキップフラグに基づく条件は、前記CUスキップフラグの値が0の場合である。言い換えれば、デコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、前記CIIP可用フラグの値が1であり、前記CUスキップフラグの値が0である場合、前記マージデータシンタックスからレギュラーマージフラグをパーシングできる。
また他の例として、デコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされることに基づいて、前記ビットストリームから前記レギュラーマージフラグを取得することができる。ここで、前記現在ブロックに関する情報に基づく条件は、前記現在ブロックの幅と高さの積が64以上である場合及び/又は前記現在ブロックを含むスライスのタイプがBスライスである場合を含む。前記パーティショニングモード可用フラグに基づく条件は、前記パーティショニングモード可用フラグの値が1の場合である。言い換えれば、デコーディング装置は、現在ブロックの高さと前記現在ブロックに関する情報に基づく条件と前記パーティショニングモード可用フラグに基づく条件が両方とも満たされる場合、前記マージデータシンタックスからレギュラーマージフラグをパーシングすることができる。
前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされない場合、デコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされるか否かを判断する。または、デコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされない場合、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされるか否かを判断することができる。
一方、デコーディング装置は、現在ブロックの幅と高さの積が32ではなく、MMVD可用フラグの値が1である場合、又はサブブロックマージ候補の最大個数が0より大きく、現在ブロックの幅と高さがそれぞれ8以上である場合、前記ビットストリームからレギュラメージフラグをパーシングすることもある。このために、マージデータシンタックスは、前述の表6のように構成される。
デコーディング装置は、前記ビットストリームにレギュラーマージフラグが存在しない場合、ゼネラルマージフラグの値が1であり、SPSのMMVD可用フラグの値が0であるか現在ブロックの幅と高さの積が32であり、サブブロックマージ候補の最大個数が0以下又は現在ブロックの幅が8未満又は現在ブロックの高さが8未満であり、SPSのCIIP可用フラグの値が0又は現在ブロックの幅と高さの積が64未満又は現在ブロックの幅が128以上又はCUスキップフラグの値が1であり、SPSのパーティショニング可用フラグの値が0又はパーティショニングマージ候補の最大個数が2未満又はスライスタイプがBスライスでないと、レギュラーマージフラグの値を1として導出することができる。それ以外は、レギュラーマージフラグの値は0として導出される。
他の実施例として、デコーディング装置は、前記現在ブロックの予測モードの導出において、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされることに基づいて、前記ビットストリームからMMVDマージフラグを取得することができる。ここで、前記現在ブロックのサイズに基づく条件は、前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さい場合であり得る。前記CIIP可用フラグに基づく条件は、前記CIIP可用フラグの値が1の場合である。言い換えれば、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、かつ、前記CIIP可用フラグの値が1である場合、デコーディング装置は前記ビットストリームに含まれたマージデータシンタックスからMMVDマージフラグをパーシングすることができる。
他の例として、CUスキップフラグ及び現在ブロックのサイズに基づく条件が満たされることに基づいて、前記ビットストリームからMMVDマージフラグを取得することができる。ここで、前記現在ブロックのサイズに基づく条件は、前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さい場合であり得る。前記CUスキップフラグに基づく条件は、前記CUスキップフラグの値が0の場合である。言い換えれば、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、かつ、前記CUスキップフラグの値が0である場合、デコーディング装置は前記ビットストリームに含まれたマージデータシンタックスからMMVDマージフラグをパーシングすることができる。
また他の例として、デコーディング装置は、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件に加えて、CUスキップフラグに基づく条件がさらに満たされることに基づいて、前記ビットストリームからMMVDマージフラグを取得することができる。ここで、前記CUスキップフラグに基づく条件は、前記CUスキップフラグの値が0の場合である。言い換えれば、デコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、前記CIIP可用フラグの値が1であり、前記CUスキップフラグの値が0である場合、前記マージデータシンタックスからMMVDマージフラグをパーシングすることができる。
また他の例として、デコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされることに基づいて、前記ビットストリームからMMVDマージフラグを取得することができる。ここで、前記現在ブロックに関する情報に基づく条件は、前記現在ブロックの幅と高さの積が64以上である場合及び/又は前記現在ブロックを含むスライスのタイプがBスライスである場合を含む。前記パーティショニングモード可用フラグに基づく条件は、前記パーティショニングモード可用フラグの値が1の場合である。言い換えれば、デコーディング装置は、現在ブロックの高さと前記現在ブロックに関する情報に基づく条件と前記パーティショニングモード可用フラグに基づく条件が両方とも満足する場合、前記マージデータシンタックスからMMVDマージフラグをパーシングすることができる。
前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされない場合、デコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされるか否かを判断する。または、デコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされない場合、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされるか否かを判断することができる。
一方、デコーディング装置は、現在ブロックの幅と高さの積が32ではなく、MMVD可用フラグの値が1である場合、又はサブブロックマージ候補の最大個数が0より大きく、現在ブロックの幅と高さがそれぞれ8以上である場合、前記ビットストリームからMMVDマージフラグをパーシングすることもできる。このために、マージデータシンタックスは、前述の表7のように構成される。
デコーディング装置は、ビットストリームにMMVDマージフラグが存在しない場合、ゼネラルマージフラグの値が1で、レギュラーマージフラグの値が0で、SPSのMMVD可用フラグの値が1で、現在ブロックの幅と高さの積が32ではなく、サブブロックマージ候補の最大個数が0以下又は現在ブロックの幅が8未満又は現在ブロックの高さが8未満であり、SPSのCIIP可用フラグの値は0又は現在ブロックの幅が128以上又は現在ブロックの高さが128以上又はCUスキップフラグの値が1であり、SPSのパーティショニング可用フラグの値が0又はパーティショニングマージ候補の最大個数が2未満又はスライスタイプがBスライスでないと、MMVDマージフラグの値を1として導出することができる。それ以外は、MMVDマージフラグの値が0として導出されることができる。
また他の実施例として、デコーディング装置は、前記現在ブロックの予測モードの導出において、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされることに基づいて、前記ビットストリームからマージサブブロックフラグを取得することができる。ここで、前記現在ブロックのサイズに基づく条件は、前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さい場合であり得る。前記CIIP可用フラグに基づく条件は、前記CIIP可用フラグの値が1である場合である。言い換えれば、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、かつ、前記CIIP可用フラグの値が1である場合、デコーディング装置は前記ビットストリームに含まれたマージデータシンタックスからマージサブブロックフラグをパーシングすることができる。
他の例として、CUスキップフラグ及び現在ブロックのサイズに基づく条件が満たされることに基づいて、前記ビットストリームからマージサブブロックフラグを取得することができる。ここで、前記現在ブロックのサイズに基づく条件は、前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さい場合であり得る。前記CUスキップフラグに基づく条件は、前記CUスキップフラグの値が0の場合である。言い換えれば、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、かつ、前記CUスキップフラグの値が0である場合、デコーディング装置は前記ビットストリームに含まれたマージデータシンタックスから前記マージサブブロックフラグをパーシングすることができる。
また他の例として、デコーディング装置は、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件に加えて、CUスキップフラグに基づく条件がさらに満たされることに基づいて、前記ビットストリームからマージサブブロックフラグを取得することができる。ここで、前記CUスキップフラグに基づく条件は、前記CUスキップフラグの値が0の場合である。言い換えれば、デコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、前記CIIP可用フラグの値が1であり、前記CUスキップフラグの値が0である場合、前記マージデータシンタックスからマージサブブロックフラグをパーシングすることができる。
また他の例として、デコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされることに基づいて、前記ビットストリームからマージサブブロックフラグを取得することができる。ここで、前記現在ブロックに関する情報に基づく条件は、前記現在ブロックの幅と高さの積が64以上である場合及び/又は前記現在ブロックを含むスライスのタイプがBスライスである場合を含む。前記パーティショニングモード可用フラグに基づく条件は、前記パーティショニングモード可用フラグの値が1の場合である。言い換えれば、デコーディング装置は、現在ブロックの高さと前記現在ブロックに関する情報に基づく条件と、前記パーティショニングモード可用フラグに基づく条件が両方とも満足する場合、前記マージデータシンタックスからマージサブブロックフラグをパーシングすることができる。
前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされない場合、デコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされるか否かを判断することができる。または、デコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされない場合、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされるか否かを判断することができる。
一方、デコーディング装置は、サブブロックマージ候補の最大個数が0より大きく、現在ブロックの幅と高さがそれぞれ8以上である場合、前記ビットストリームからマージサブブロックフラグをパーシングすることもできる。このために、マージデータシンタックスは、前述の表8のように構成される。
デコーディング装置は、ビットストリームにマージサブブロックフラグが存在しない場合、ゼネラルマージフラグの値が1で、レギュラーマージフラグの値が0で、マージサブブロックフラグの値が0で、MMVDマージフラグの値が0で、サブブロックマージ候補の最大個数が0より大きく、現在ブロックの幅と高さがそれぞれ8以上で、SPSのCIIP可用フラグの値が0又は現在ブロックの幅が128以上又は現在ブロックの高さが128以上又はCUスキップフラグの値が1で、SPSのパーティショニング可用フラグの値が9又はパーティショニングマージ候補の最大個数が2未満又はスライスタイプがBスライスでないと、マージサブブロックフラグの値を1として導出することができる。それ以外は、マージサブブロックフラグの値が0として導出されることができる。
また他の実施例として、デコーディング装置は、前記現在ブロックの予測モードの導出において、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされることに基づいて、前記ビットストリームからCIIPフラグを取得することができる。ここで、前記現在ブロックのサイズに基づく条件は、前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さい場合であり得る。前記CIIP可用フラグに基づく条件は、前記CIIP可用フラグの値が1の場合である。言い換えれば、デコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、かつ、前記CIIP可用フラグの値が1の場合、マージデータシンタックスからCIIPフラグをパーシングすることができる。
他の例として、デコーディング装置は、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件に加えて、CUスキップフラグに基づく条件がさらに満たされることに基づいて、ビットストリームから前記CIIPフラグを取得することができる。ここで、前記CUスキップフラグに基づく条件は、前記CUスキップフラグの値が0の場合である。言い換えれば、デコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、前記CIIP可用フラグの値が1であり、前記CUスキップフラグの値が0である場合、マージデータシンタックスからCIIPフラグをパーシングすることができる。
また、他の例として、デコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされることに基づいて、ビットストリームからCIIPフラグを取得することができる。ここで、前記現在ブロックに関する情報に基づく条件は、前記現在ブロックの幅と高さの積が64以上である場合及び/又は前記現在ブロックを含むスライスのタイプがBスライスである場合を含む。前記パーティショニングモード可用フラグに基づく条件は、前記パーティショニングモード可用フラグの値が1の場合である。言い換えれば、デコーディング装置は、現在ブロックの高さと前記現在ブロックに関する情報に基づく条件と、前記パーティショニングモード可用フラグに基づく条件が両方とも満足する場合、マージデータシンタックスからCIIPフラグをパーシングすることができる。
デコーディング装置は、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされない場合、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされるか否かを判断する。または、デコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされない場合、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされるか否かを判断することができる。このために、マージデータシンタックスは、前述の表9のように構成される。
デコーディング装置は、ビットストリームにCIIPフラグが存在しない場合、ゼネラルマージフラグの値が1で、レギュラーマージフラグの値が0で、マージサブブロックフラグの値が0で、MMVDマージフラグの値が0で、SPSのCIIP可用フラグの値が1で、CUスキップフラグの値が0で、現在ブロックの幅と高さの積が64以上で、現在ブロックの幅と高さがそれぞれ128未満で、SPSのパーティショニング可用フラグの値が0又はパーティショニングマージ候補の最大個数が2未満又はスライスタイプがBスライスでないと、CIIPフラグ値を1として導出することができる。それ以外は、CIIPフラグの値が0として導出される。
前述した実施例において、方法は、一連のステップまたはブロックで流れ図に基づいて説明されているが、該当実施例は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序にまたは同時に発生できる。また、当業者であれば、流れ図に示すステップが排他的でなく、他のステップが含まれ、または、流れ図の一つまたはそれ以上のステップが本文書の実施例の範囲に影響を及ぼさずに削除可能であることを理解することができる。
前述した本文書の実施例による方法は、ソフトウェア形態で具現されることができ、本文書によるエンコーディング装置及び/またはデコーディング装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの映像処理を実行する装置に含まれることができる。
本文書において、実施例がソフトウェアで具現される時、前述した方法は、前述した機能を遂行するモジュール(過程、機能など)で具現されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部または外部にあり、よく知られた多様な手段でプロセッサと連結されることができる。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/またはデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/または他の格納装置を含むことができる。即ち、本文書で説明した実施例は、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で具現されて実行されることができる。例えば、各図面で示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で具現されて実行されることができる。この場合、具現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル格納媒体に格納されることができる。
また、本文書の実施例(ら)が適用されるデコーディング装置及びエンコーディング装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(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)などを含むことができる。
また、本文書の実施例(ら)が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。また、本文書の実施例(ら)によるデータ構造を有するマルチメディアデータもコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読みだすことができるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で具現されたメディアを含む。また、エンコーディング方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に格納され、または、有無線通信ネットワークを介して送信されることができる。
また、本文書の実施例(ら)は、プログラムコードによるコンピュータプログラム製品で具現されることができ、前記プログラムコードは、本文書の実施例(ら)によりコンピュータで実行されることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
図14は、本文書において開示された実施例が適用できるコンテンツストリーミングシステムの例を示す。
図14に示すように、本文書の実施例が適用されるコンテンツストリーミングシステムは、大別してエンコーディングサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置及びマルチメディア入力装置を含む。
前記エンコーディングサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコーディングサーバは省略されることができる。
前記ビットストリームは、本文書の実施例に適用されるエンコーディング方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
前記ストリーミングサーバは、ウェブサーバを介したユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
前記ストリーミングサーバは、メディア格納所及び/またはエンコーディングサーバからコンテンツを受信することができる。例えば、前記エンコーディングサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間格納することができる。
前記ユーザ装置の例として、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイニジがある。
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。

Claims (14)

  1. デコーディング装置により行われるデコーディング方法において、
    ビットストリームから、CIIP(combined inter-picture merge and intra-picture prediction)可用フラグ、現在ブロックにスキップモードが適用されるか否かを示すCU(coding unit)スキップフラグ、及び予測情報の少なくとも1つを取得するステップと、
    第1条件と第2条件が満たされることに基づいて、前記ビットストリームからレギュラーマージフラグを取得するステップと、
    前記予測情報に基づいて、インター予測が前記現在ブロックに適用されることを決定するステップと、
    前記レギュラーマージフラグに基づいて前記インター予測を行って前記現在ブロックの予測サンプルを生成するステップと、
    前記予測サンプルに基づいて復元サンプルを生成するステップと、を含み、
    前記第1条件は、前記現在ブロックの高さと前記現在ブロックの幅に関連する条件のみに基づいて満たされ、
    前記第2条件は、CIIP関連条件が満たされることに基づいて満たされ、
    前記CIIP関連条件は、前記CIIP可用フラグの値が1であること、前記CUスキップフラグの値が0であること、及び前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であることに基づいて満たされる、デコーディング方法。
  2. 前記ビットストリームからMMVD(merge mode with MVD)可用フラグ、パーティショニングモード可用フラグ、及びゼネラルマージフラグを取得するステップをさらに含む、請求項1に記載のデコーディング方法。
  3. 前記第2条件は、MMVD関連条件が満たされることに基づいて満たされ、
    前記MMVD関連条件は、前記MMVD可用フラグの値が1であることに基づいて満たされる、請求項2に記載のデコーディング方法。
  4. 前記第2条件は、サブブロックマージ関連条件が満たされることに基づいて満たされ、
    前記サブブロックマージ関連条件は、サブブロックマージ候補の最大個数が0より大きいこと、前記現在ブロックの幅が8以上であること、及び前記現在ブロックの高さが8以上であることに基づいて満たされる、請求項2に記載のデコーディング方法。
  5. 前記第2条件は、パーティショニングモード関連条件が満たされることに基づいて満たされ、
    前記パーティショニングモード関連条件は、前記パーティショニングモード可用フラグの値が1であること、前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であること、パーティショニングマージ候補の最大個数が2以上であること、及び前記現在ブロックを含む現在スライスのスライスタイプがBスライスであることに基づいて満たされる、請求項2に記載のデコーディング方法。
  6. 前記第1条件が満たされないことに基づいて、前記レギュラーマージフラグは取得されず、
    前記第2条件が満たされないことに基づいて、前記レギュラーマージフラグは取得されない、請求項2に記載のデコーディング方法。
  7. 前記レギュラーマージフラグが取得されないことに基づいて、以下の条件、
    前記ゼネラルマージフラグの値が1であること、
    前記MMVD可用フラグの値が0であること、又は前記現在ブロックの高さと前記現在ブロックの幅の積が32であること、
    サブブロックマージ候補の最大個数が0以下であること、又は前記現在ブロックの幅が8未満であること、又は前記現在ブロックの高さが8未満であること、
    前記CIIP可用フラグの値が0であること、又は前記現在ブロックの高さと前記現在ブロックの幅の積が64未満であること、又は前記現在ブロックの幅が128以上であること、又は前記現在ブロックの高さが128以上であること、又は前記CUスキップフラグの値が1であること、及び、
    前記パーティショニングモード可用フラグの値が0であること、又はパーティショニングマージ候補の最大個数が2未満であること、又は前記現在ブロックを含む現在スライスのスライスタイプがBスライスでないこと、
    の全てが満たされることに基づいて、前記レギュラーマージフラグの値は1と推測される、請求項6に記載のデコーディング方法。
  8. エンコーディング装置により行われるエンコーディング方法において、
    インター予測が現在ブロックに適用されることを決定するステップと、
    インター予測に基づいて前記現在ブロックの予測サンプルを導出すステップと、
    予測情報を生成するステップと、
    前記予測サンプルに基づいてレジデュアルサンプルを導出するステップと、
    前記レジデュアルサンプルに基づいてレジデュアル情報を生成するステップと、
    前記予測情報と前記レジデュアル情報を含む映像情報をエンコーディングするステップと、を含み、
    前記映像情報は、CIIP(combined inter-picture merge and intra-picture prediction)可用フラグ及び現在ブロックにスキップモードが適用されるか否かを示すCU(coding unit)スキップフラグの少なくとも1つを含み、
    前記映像情報は、第1条件と第2条件が満たされることに基づいて、レギュラーマージフラグを含み、
    前記第1条件は、前記現在ブロックの高さと前記現在ブロックの幅に関連する条件のみに基づいて満たされ、
    前記第2条件は、CIIP関連条件が満たされることに基づいて満たされ、
    前記CIIP関連条件は、前記CIIP可用フラグの値が1であること、前記CUスキップフラグの値が0であること、及び前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であることに基づいて満たされる、エンコーディング方法。
  9. 前記映像情報は、MMVD(merge mode with MVD)可用フラグ、パーティショニングモード可用フラグ、及びゼネラルマージフラグをさらに含む、請求項8に記載のエンコーディング方法。
  10. 前記第2条件は、MMVD関連条件が満たされることに基づいて満たされ、
    前記MMVD関連条件は、前記MMVD可用フラグの値が1であることに基づいて満たされる、請求項9に記載のエンコーディング方法。
  11. 前記第2条件は、サブブロックマージ関連条件が満たされることに基づいて満たされ、
    前記サブブロックマージ関連条件は、サブブロックマージ候補の最大個数が0より大きいこと、前記現在ブロックの幅が8以上であること、及び前記現在ブロックの高さが8以上であることに基づいて満たされる、請求項9に記載のエンコーディング方法。
  12. 前記第2条件は、パーティショニングモード関連条件が満たされることに基づいて満たされ、
    前記パーティショニングモード関連条件は、前記パーティショニングモード可用フラグの値が1であること、前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であること、パーティショニングマージ候補の最大個数が2以上であること、及び前記現在ブロックを含む現在スライスのスライスタイプがBスライスであることに基づいて満たされる、請求項9に記載のエンコーディング方法。
  13. 前記第1条件が満たされないことに基づいて、前記レギュラーマージフラグは、前記映像情報に含まれず、
    前記第2条件が満たされないことに基づいて、前記レギュラーマージフラグは、前記映像情報に含まれない、請求項9に記載のエンコーディング方法。
  14. 映像に対するデータの送信方法において、
    前記映像に対するビットストリームを取得するステップと、
    前記ビットストリームを含む前記データを送信するステップと、を含み、
    前記ビットストリームは、インター予測が現在ブロックに適用されることを決定し、インター予測に基づいて前記現在ブロックの予測サンプルを導出し、予測情報を生成し、前記予測サンプルに基づいてレジデュアルサンプルを導出し、前記レジデュアルサンプルに基づいてレジデュアル情報を生成し、前記予測情報と前記レジデュアル情報を含む映像情報をエンコーディングすることに基づいて生成され、
    前記映像情報は、CIIP(combined inter-picture merge and intra-picture prediction)可用フラグ及び現在ブロックにスキップモードが適用されるか否かを示すCU(coding unit)スキップフラグの少なくとも1つを含み、
    前記映像情報は、第1条件と第2条件が満たされることに基づいて、レギュラーマージフラグを含み、
    前記第1条件は、前記現在ブロックの高さと前記現在ブロックの幅に関連する条件のみに基づいて満たされ、
    前記第2条件は、CIIP関連条件が満たされることに基づいて満たされ、
    前記CIIP関連条件は、前記CIIP可用フラグの値が1であること、前記CUスキップフラグの値が0であること、及び前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であることに基づいて満たされる、データ送信方法。
JP2023078421A 2019-06-19 2023-05-11 インター予測に基づく映像コーディング方法及び装置 Pending JP2023090963A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962863806P 2019-06-19 2019-06-19
US62/863,806 2019-06-19
PCT/KR2020/008008 WO2020256493A1 (ko) 2019-06-19 2020-06-19 인터 예측에 기반한 영상 코딩 방법 및 장치
JP2021575529A JP7280392B2 (ja) 2019-06-19 2020-06-19 インター予測に基づく映像コーディング方法及び装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021575529A Division JP7280392B2 (ja) 2019-06-19 2020-06-19 インター予測に基づく映像コーディング方法及び装置

Publications (1)

Publication Number Publication Date
JP2023090963A true JP2023090963A (ja) 2023-06-29

Family

ID=74040309

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021575529A Active JP7280392B2 (ja) 2019-06-19 2020-06-19 インター予測に基づく映像コーディング方法及び装置
JP2023078421A Pending JP2023090963A (ja) 2019-06-19 2023-05-11 インター予測に基づく映像コーディング方法及び装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021575529A Active JP7280392B2 (ja) 2019-06-19 2020-06-19 インター予測に基づく映像コーディング方法及び装置

Country Status (7)

Country Link
US (1) US20220109850A1 (ja)
EP (1) EP3982630A4 (ja)
JP (2) JP7280392B2 (ja)
KR (1) KR20210148367A (ja)
CN (1) CN114270824A (ja)
BR (1) BR112021025536A2 (ja)
WO (1) WO2020256493A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023200382A1 (en) * 2022-04-12 2023-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced multi-hypothesis prediction

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9743078B2 (en) * 2004-07-30 2017-08-22 Euclid Discoveries, Llc Standards-compliant model-based video encoding and decoding
PL4156684T3 (pl) * 2010-11-25 2024-06-10 Lg Electronics Inc. Sposób dekodowania video, sposób enkodowania video, nośnik danych
KR101934277B1 (ko) * 2011-11-28 2019-01-04 에스케이텔레콤 주식회사 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치
EP3217663A4 (en) * 2014-11-06 2018-02-14 Samsung Electronics Co., Ltd. Video encoding method and apparatus, and video decoding method and apparatus
EP3847814A4 (en) * 2018-11-06 2021-07-14 Beijing Bytedance Network Technology Co. Ltd. POSITION DEPENDENT STORAGE, MOVEMENT INFORMATION
US10917636B2 (en) * 2018-12-03 2021-02-09 Tencent America LLC Method and apparatus for video coding
EP3906676A4 (en) * 2018-12-31 2022-03-16 Beijing Dajia Internet Information Technology Co., Ltd. SYSTEM AND METHOD FOR SIGNALING MOTION BLENDING MODES DURING VIDEO CODING
CN118158433A (zh) * 2019-01-18 2024-06-07 韦勒斯标准与技术协会公司 使用运动补偿的视频信号处理方法和设备
US11109041B2 (en) * 2019-05-16 2021-08-31 Tencent America LLC Method and apparatus for video coding
KR20200144509A (ko) * 2019-06-18 2020-12-29 한국전자통신연구원 화면 간 예측 정보 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
CN114270824A (zh) 2022-04-01
JP2022538034A (ja) 2022-08-31
EP3982630A1 (en) 2022-04-13
KR20210148367A (ko) 2021-12-07
WO2020256493A1 (ko) 2020-12-24
EP3982630A4 (en) 2022-08-10
JP7280392B2 (ja) 2023-05-23
US20220109850A1 (en) 2022-04-07
BR112021025536A2 (pt) 2022-02-01

Similar Documents

Publication Publication Date Title
JP7477536B2 (ja) ビデオ/映像コーディングシステムにおけるマージデータシンタックスのシグナリング方法及び装置
JP7462094B2 (ja) ビデオ/映像コーディングシステムにおける重複シグナリング除去方法及び装置
JP7238172B2 (ja) マージデータシンタックスにおける重複シンタックスの除去方法及び装置
US20230082083A1 (en) Method and device for image coding using motion vector differences
JP2022534238A (ja) ブロックサイズに基づいてbdpcmを行う画像デコード方法及びその装置
JP2023060014A (ja) ビデオ/映像コーディングシステムにおけるシンタックスシグナリング方法及び装置
JP2022538064A (ja) デフォルト(default)マージモードに基づいて予測サンプルを導き出す映像デコーディング方法及びその装置
JP2022538069A (ja) 現在ブロックに対して最終的に予測モードを選択できない場合、インター予測を行う映像デコーディング方法及びその装置
US20220103849A1 (en) Image decoding method for chroma component and device therefor
EP3979645A1 (en) Motion prediction-based image coding method and device
JP2023090963A (ja) インター予測に基づく映像コーディング方法及び装置
JP2023501322A (ja) 映像/ビデオコーディング方法及び装置
JP2023507625A (ja) 予測重みテーブルに基づく映像/ビデオコーディング方法及び装置
JP2022537942A (ja) 動きベクトル予測基盤映像/ビデオコーディング方法及び装置
JP2023093650A (ja) マージ候補を利用して予測サンプルを導出する映像デコード方法及びその装置
JP2023073450A (ja) 双予測のための加重値インデックス情報を誘導するビデオ又は映像コーディング
JP2023500526A (ja) 映像/ビデオコーディングのための映像情報処理方法及び装置
JP2022538059A (ja) 決定された予測モードを適用して予測サンプルを生成する映像デコーディング方法及びその装置
JP2022536425A (ja) 双予測基盤映像/ビデオコーディング方法及び装置
JP2024086946A (ja) ビデオ/映像コーディングシステムにおけるマージデータシンタックスのシグナリング方法及び装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230511

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240517

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240611