JP7462094B2 - ビデオ/映像コーディングシステムにおける重複シグナリング除去方法及び装置 - Google Patents

ビデオ/映像コーディングシステムにおける重複シグナリング除去方法及び装置 Download PDF

Info

Publication number
JP7462094B2
JP7462094B2 JP2023077160A JP2023077160A JP7462094B2 JP 7462094 B2 JP7462094 B2 JP 7462094B2 JP 2023077160 A JP2023077160 A JP 2023077160A JP 2023077160 A JP2023077160 A JP 2023077160A JP 7462094 B2 JP7462094 B2 JP 7462094B2
Authority
JP
Japan
Prior art keywords
flag
current block
prediction
information
merge
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.)
Active
Application number
JP2023077160A
Other languages
English (en)
Other versions
JP2023090890A (ja
Inventor
ヒョンムン チャン
ネリ パク
スンファン キム
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 JP2023090890A publication Critical patent/JP2023090890A/ja
Application granted granted Critical
Publication of JP7462094B2 publication Critical patent/JP7462094B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/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
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • 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
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Description

本技術は、ビデオ/映像コーディングシステムにおいて重複的なシグナリングを除去する方法及び装置に関する。
近年、4Kまたは8K以上のUHD(Ultra High Definition)画像/ビデオのような高解像度、高品質の画像/ビデオに対する需要が様々な分野で増加している。画像/ビデオデータが高解像度、高品質になるほど、既存の画像/ビデオデータに比べて相対的に送信される情報量またはビット量が増加するので、既存の有無線広帯域回線のような媒体を利用して画像データを送信するか、既存の格納媒体を利用して画像/ビデオデータを格納する場合、送信費用と格納費用が増加される。
また、近年、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの実感メディア(Immersive Media)に対する関心及び需要が増加しており、ゲーム画像のように、現実画像と異なる画像特性を有する画像/ビデオに対する放送が増加している。
これにより、上記のような様々な特性を有する高解像度・高品質の画像/ビデオの情報を効果的に圧縮して送信するか、格納し、再生するために高効率の画像/ビデオ圧縮技術が求められる。
本文書の技術的課題は、映像コーディング効率を高める方法及び装置を提供することにある。
本文書の他の技術的課題は、効率的にインターの予測(inter prediction)を行う方法及び装置を提供することにある。
本文書の他の技術的課題は、効率的に映像情報をシグナリングする方法及び装置を提供することにある。
本文書のまた他の技術的課題は、インター予測時に不必要なシグナリングを防止する方法及び装置を提供することにある。
本文書の一実施例によると、デコーディング装置により行われるデコーディング方法は、ビットストリームからシーケンスパラメータセット(sequence parameter set)を取得するステップと、前記シーケンスパラメータセットからCIIP(combined inter-picture merge and intra-picture prediction)可用フラグを取得するステップと、前記CIIP可用フラグと前記現在ブロックのサイズに基づいて前記ビットストリームにレギュラーマージフラグ(regular merge flag)が含まれるか否かを判断するステップと、前記CIIP可用フラグに基づく条件と前記現在ブロックのサイズに基づく条件が満たされることに基づいて前記ビットストリームから前記レギュラーマージフラグをパーシング(parsing)するステップと、前記レギュラーマージフラグに基づいて前記現在ブロックの予測サンプルを生成するステップと、前記予測サンプルに基づいて復元ピクチャを生成するステップとを含む。
本文書の他の実施例によると、エンコーディング装置により行われるエンコーディング方法は、現在ブロックの予測モードを決定するステップと、前記予測モードに基づいて前記現在ブロックの予測サンプルを導出するステップと、前記予測サンプルに基づいてレジデュアルサンプルを導出するステップと、前記レジデュアルサンプルに基づいてレジデュアル情報を生成するステップと、前記予測モードに基づいて予測モードに関する情報を生成するステップと、前記予測モードに関する情報と前記レジデュアル情報を含む映像情報をエンコーディングするステップとを含むものの、前記映像情報は、シーケンスパラメータセットをさらに含み、前記シーケンスパラメータセットは、CIIP可用フラグを含み、前記映像情報は前記CIIP可用フラグに基づく条件と前記現在ブロックサイズに基づく条件が満たされることに基づいてレギュラーマージフラグを含む。
本文書のまた他の実施例によると、コンピュータ読み取り可能なデジタル格納媒体であって、前記デジタル格納媒体は、デコーディング装置によりデコーディング方法が行われるようにする情報を含み、前記デコーディング方法は、ビットストリームからシーケンスパラメータセットを取得するステップと、前記シーケンスパラメータセットからCIIP可用フラグを取得するステップと、前記CIIP可用フラグと前記現在ブロックのサイズに基づいて前記ビットストリームにレギュラーマージフラグが含まれるか否かを判断するステップと、前記CIIP可用フラグに基づく条件と前記現在ブロックのサイズに基づく条件が満たされることに基づいて前記ビットストリームから前記レギュラーマージフラグをパーシングするステップと、前記レギュラーマージフラグに基づいて前記現在ブロックの予測サンプルを生成するステップと、前記予測サンプルに基づいて復元ピクチャを生成するステップとを含む。
本文書の一実施例によると、全般的な映像/ビデオ圧縮効率を向上させることができる。
本文書の一実施例によると、効率的にインター予測を行うことができる。
本文書の実施例によると、効率的に映像情報をシグナリングすることができる。
本文書の一実施例によると、インター予測時に不要なシンタックスのシグナリングを効率的に除去することができる。
本文書の実施例が適用できるビデオ/映像コーディングシステムの例を概略的に示す。 本文書の実施例が適用できるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。 本文書の実施例が適用できるビデオ/映像デコーディング装置の構成を概略的に説明する図面である。 本発明が適用できる概略的なピクチャデコーディング手順の例を示す。 本発明が適用できる概略的なピクチャエンコーディング手順の例を示す。 エンコーディング装置内のインター予測部を概略的に示す図である。 デコーディング装置内のインター予測部を概略的に示す図である。 本文書の実施例によるインター予測方法を含むビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。 本文書の実施例によるインター予測方法を含むビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。 本文書の実施例によるインター予測方法を含むビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。 本文書の実施例によるインター予測方法を含むビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。 本文書において開示された実施例が適用できるコンテンツストリーミングシステムの例を示す。
本文書の開示は様々な変更を加えることができ、様々な実施例が有することができるため、特定の実施例を図面に例示し、詳細に説明しようとする。本文書で使用する用語は、単に特定の実施例を説明するために使用されたものであって、本文書の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明白に異なる意味を有しない限り、「少なくとも1つ」の表現を含む。本文書において「含む」又は「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在又は付加可能性を予め排除しないことと理解されるべきである。
一方、本文書において説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の便宜のために独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するものではない。例えば、各構成のうち、2つ以上の構成が結合されて1つの構成をなすこともでき、1つの構成を複数の構成に分けることもできる。各構成が統合及び/又は分離された実施例も本文書において開示された方法の本質から逸脱しない限り、本文書の開示範囲に含まれる。
本文書は、ビデオ(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など)に開示される方法に適用できる。
本文書においてはビデオ/映像コーディングに関する様々な実施例が提示され、他に言及がない限り、前記実施例は互いに組み合わせて行われることもできる。
この文書においてビデオ(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)の集合(または、アレイ)を含むことができる。
この文書において、「/」と「、」は「及び/又は」と解釈される。例えば,「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.")。
以下、添付した図面を参照して、本文書の実施例をより詳細に説明する。以下、図面上の同一の構成要素に対しては同一の参照符号を使用し、同一の構成要素に関して重複する説明は省略する。
図1は、本文書の実施例が適用できるビデオ/映像コーディングシステムの例を概略的に示す。
図1に示すように、ビデオ/映像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を備える。ソースデバイスは、エンコーディングされたビデオ(video)/映像(image)情報又はデータをファイル又はストリーミング形態でデジタル格納媒体又はネットワークを介して受信デバイスに伝達することができる。
前記ソースデバイスは、ビデオソース、エンコーディング装置、送信部を含むことができる。前記受信デバイスは、受信部、デコーディング装置、及びレンダラを含むことができる。前記エンコーディング装置は、ビデオ/映像エンコーディング装置と呼ばれることができ、前記デコーディング装置は、ビデオ/映像デコーディング装置と呼ばれることができる。送信機は、エンコーディング装置に含まれることができる。受信機は、デコーディング装置に含まれることができる。レンダラは、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
ビデオソースは、ビデオ/映像のキャプチャ、合成または生成過程などを介してビデオ/映像を取得することができる。ビデオソースは、ビデオ/映像キャプチャデバイス及び/またはビデオ/映像生成デバイスを含むことができる。ビデオ/映像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/映像を含むビデオ/映像アーカイブなどを含むことができる。ビデオ/映像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含むことができ、(電子的に)ビデオ/映像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/映像が生成されることができ、この場合、ビデオ/映像キャプチャ過程を関連データが生成される過程に代替されることができる。
エンコーディング装置は、入力ビデオ/映像をエンコーディングすることができる。エンコーディング装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を実行することができる。エンコーディングされたデータ(エンコーディングされたビデオ/映像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
送信部は、ビットストリーム形態で出力されたエンコーディングされたビデオ/映像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達できる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介した送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコーディング装置に伝達できる。
デコーディング装置は、エンコーディング装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を実行してビデオ/映像をデコーディングすることができる。
レンダラは、デコーディングされたビデオ/映像をレンダリングすることができる。レンダリングされたビデオ/映像は、ディスプレイ部を介してディスプレイされることができる。
本文書において量子化/逆量子化及び/又は変換/逆変換の少なくとも1つは省略されてもよい。前記量子化/逆量子化が省略される場合、前記量子化された変換係数は変換係数と呼ばれてもよい。前記変換/逆変換が省略される場合、前記変換係数は係数又はレジデュアル係数と呼ばれてもよく、又は表現の統一性のために変換係数と呼ばれてもよい。
本文書において、量子化された変換係数及び変換係数は、それぞれ変換係数及びスケーリングされた(scaled)変換係数と呼ばれてもよい。この場合、レジデュアル情報は、変換係数(ら)に関する情報を含み、前記変換係数(ら)に関する情報は、レジデュアルコーディングシンタックスを介してシグナリングされることができる。前記レジデュアル情報(又は、前記変換係数(ら)に関する情報)に基づいて変換係数が導出され、前記変換係数に対する逆変換(スケーリング)によりスケーリングされた変換係数が導出されることができる。前記スケーリングされた変換係数に対する逆変換(変換)に基づいてレジデュアルサンプルが導出されることができる。これは、本文書の他の部分においても同様に適用/表現できる。
図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にも同一又は対応するように適用されることができる。
映像/ビデオコーディングにおいて、映像/ビデオを構成するピクチャは一連のデコーディング順序(decoding order)に従ってエンコーディング/デコーディングされることができる。デコーディングされたピクチャの出力順序(output order)に該当するピクチャ順序(picture order)は、前記デコーディング順序とは異なる設定にしてもよく、これに基づいてインター予測時の順方向予測だけでなく、逆方向予測も行うことができる。
図4は、本発明が適用できるピクチャデコーディング手順の例を示す。図4において、S400は図3で前述したデコーディング装置のエントロピーデコーディング部310により行われ、S410は予測部330により行われ、S420はレジデュアル処理部320により行われ、S430は加算部340により行われ、S440はフィルタリング部350により行われる。S400は、本文書において説明された情報デコーディング手順を含み、S410は本文書において説明されるインター/イントラ予測手順を含み、S420は本文書において説明されるレジデュアル処理手順を含み、S430は本文書において説明されるブロックピクチャ復元手順を含み、S440は本文書において説明されるインループフィルタリング手順を含む。
図4に示すように、ピクチャデコーディング手順は図4に関する説明で示しているように、概略的にビットストリームから(デコーディングによる)映像/ビデオ情報取得手順(S400)、ピクチャ復元手順(S410~S430)及び復元されたピクチャに対するインループフィルタリング手順(S440)を含む。前記ピクチャ復元手順は、本文書において説明されるインター/イントラ予測(S410)及びレジデュアル処理(S420、量子化された変換係数に対する逆量子化、逆変換)過程を経て取得した予測サンプル及びレジデュアルサンプルに基づいて行われる。前記ピクチャ復元手順を介して生成された復元ピクチャに対するインループフィルタリング手順により修正された(modified)復元ピクチャが生成され、前記修正された復元ピクチャがデコーディングされたピクチャとして出力され、また、デコーディング装置の復号ピクチャバッファ又はメモリ360に格納されて以後にピクチャのデコーディング時にインター予測手順で参照ピクチャとして使用されることができる。場合によって、前記インループフィルタリング手順は省略されてもよく、この場合、前記復元ピクチャがデコーディングされたピクチャとして出力され、また、デコーディング装置の復号ピクチャバッファ又はメモリ360に格納されて、以後にピクチャのデコーディング時にインター予測手順において参照ピクチャとして使用されることができる。前記インループフィルタリング手順(S440)は、前述のようにデブロッキングフィルタリング手順、SAO(sample adaptive offset)手順、ALF(adaptive loop filter)手順及び/又はバイラテラルフィルタ(bi-lateral filter)手順などを含み、その一部又は全部が省略されてもよい。また、前記デブロッキングフィルタリング手順、SAO(sample adaptive offset)手順、ALF(adaptive loop filter)手順及びバイラテラルフィルタ(bi-lateral filter)手順のいずれか1つ又は一部が順次適用されてもよく、又は全てが順次適用されてもよい。例えば、復元ピクチャに対してデブロッキングフィルタリング手順が適用された後、SAO手順が行われる。または、例えば、復元ピクチャに対してデブロッキングフィルタリング手順が適用された後、ALF手順が行われる。これは、エンコーディング装置においても同様に行われる。
図5は、本発明が適用できる概略的なピクチャエンコーディング手順の例を示す。図5において、S500は図2において前述したエンコーディング装置の予測部220により行われ、S510はレジデュアル処理部231、232、233により行われ、S520はエントロピーエンコーディング部240により行われる。S500は、本文書で説明されるインター/イントラ予測手順を含み、S510は本文書で説明されるレジデュアル処理手順を含み、S520は本文書で説明される情報エンコーディング手順を含む。
図5に示すように、ピクチャエンコーディング手順は、図2に関する説明で示しているように、概略的にピクチャ復元のための情報(例えば、予測情報、レジデュアル情報、パーティショニング情報など)をエンコーディングしてビットストリーム形態で出力する手順だけでなく、現在ピクチャに対する復元ピクチャを生成する手順及び復元ピクチャにインループフィルタリングを適用する手順(optional)を含む。エンコーディング装置は、逆量子化部234及び逆変換部235を介して量子化された変換係数から(修正された)レジデュアルサンプルを導出することができ、S400の出力である予測サンプルと前記(修正された)レジデュアルサンプルに基づいて復元ピクチャを生成することができる。このように生成された復元ピクチャは、前述のデコーディング装置において生成した復元ピクチャと同一であり得る。前記復元ピクチャに対するインループフィルタリング手順を介して修正された復元ピクチャが生成されることができ、これは復号ピクチャバッファ又はメモリ270に格納され、デコーディング装置における場合と同様に、以後のピクチャのエンコーディング時にインター予測手順において参照ピクチャとして使用されることができる。前述のように、場合によって、前記ループフィルタリング手順の一部又は全部は省略されてもよい。前記インループフィルタリング手順が行われる場合、(インループ)フィルタリング関連情報(パラメータ)がエントロピーエンコーディング部240においてエンコーディングされてビットストリーム形態で出力され、デコーディング装置は前記フィルタリング関連情報に基づいてエンコーディング装置と同一の方法でインループフィルタリング手順を行うことができる。
このようなインループフィルタリング手順を介してブロッキングアーティファクト(artifact)及びリングイング(ringing)アーティファクトなどの映像/動画コーディング時に発生するノイズを減らすことができ、主観的/客観的ビジュアルクオリティを高めることができる。また、エンコーディング装置とデコーディング装置において両方ともインループフィルタリング手順を行うことにより、エンコーディング装置とデコーディング装置は同一の予測結果を導出することができ、ピクチャコーディングの信頼性を高め、ピクチャコーディングのために送信されるべきデータ量を減らすことができる。
前述のように、デコーディング装置だけでなく、エンコーディング装置においてもピクチャ復元手順が行われることができる。各ブロック単位でイントラ予測/インター予測に基づいて復元ブロックが生成され、復元ブロックを含む復元ピクチャが生成される。現在ピクチャ/スライス/タイルグループがIピクチャ/スライス/タイルグループである場合、前記現在ピクチャ/スライス/タイルグループに含まれるブロックはイントラ予測のみに基づいて復元されることができる。一方、現在ピクチャ/スライス/タイルグループがP又はBピクチャ/スライス/タイルグループである場合、前記現在ピクチャ/スライス/タイルグループに含まれるブロックはイントラ予測又はインター予測に基づいて復元されることができる。この場合、現在ピクチャ/スライス/タイルグループ内の一部ブロックに対してはインター予測が適用され、残りの一部のブロックに対してはイントラ予測が適用されることもできる。ピクチャのカラー成分はルマ成分及びクロマ成分を含むことができ、本文書において明示的に制限しないと、本文書において提案される方法及び実施例はルマ成分及びクロマ成分に適用されることができる。
前述したように、ビデオコーディングを実行するにあたって圧縮効率を上げるために予測を実行する。それによって、コーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコーディング装置及びデコーディング装置で同様に導出され、前記エンコーディング装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロックとの間のレジデュアルに関する情報(レジデュアル情報)をデコーディング装置にシグナリングすることで画像コーディング効率を上げることができる。デコーディング装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックを加算して復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコーディング装置は、前記原本ブロックと前記予測されたブロックとの間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれているレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を実行して変換係数を導出し、前記変換係数に量子化手順を実行して量子化された変換係数を導出することで、関連したレジデュアル情報を(ビットストリームを介して)デコーディング装置にシグナリングすることができる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコーディング装置は、前記レジデュアル情報に基づいて逆量子化/逆変換手順を実行してレジデュアルサンプル(または、レジデュアルブロック)を導出することができる。デコーディング装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャを生成することができる。また、エンコーディング装置は、以後ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
現在ブロックにインター予測が適用される場合、エンコーディング装置/デコーディング装置の予測部はブロック単位でインター予測を行って予測サンプルを導出することができる。インター予測は、現在ピクチャ以外のピクチャ(ら)のデータ要素(例えば、サンプル値又は動き情報など)に依存的な方法で導出される予測を示す(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)はシグナリングされることができる。この場合、前記動きベクトル予測子及び動きベクトル差分の和を利用して前記現在ブロックの動きベクトルを導出することができる。
インター予測に基づくビデオ/映像エンコーディング手順は、概略的に、例えば、以下を含む。
図6は、エンコーディング装置内のインター予測部を概略的に示す図である。
図6に示すように、エンコーディング装置は現在ブロックに対するインター予測を行う。エンコーディング装置は、現在ブロックのインター予測モード及び動き情報を導出し、前記ブロックの予測サンプルを生成する。ここで、インター予測モード決定、動き情報導出、及び予測サンプル生成の手順は同時に行われてもよく、ある1つの手順が他の手順より先に行われてもよい。例えば、エンコーディング装置のインター予測部221は、予測モード決定部221_1、動き情報導出部221_2、予測サンプル導出部221_3を含み、予測モード決定部221_1において前記現在ブロックに対する予測モードを決定し、動き情報導出部221_2において前記現在ブロックの動き情報を導出し、予測サンプル導出部221_3において前記現在ブロックの予測サンプルを導出する。例えば、エンコーディング装置のインター予測部221は、動き推定(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モードが適用される場合、前記参照ピクチャインデックスの値は参照ピクチャインデックス情報で構成されて、別途に前記デコーディング装置にシグナリングされる。
エンコーディング装置は、前記予測サンプルに基づいてレジデュアルサンプルを導出する。エンコーディング装置は、前記現在ブロックの原本サンプルと前記予測サンプルを比較することにより、前記レジデュアルサンプルを導出することができる。
エンコーディング装置は、予測情報及びレジデュアル情報を含む映像情報をエンコーディングする。エンコーディング装置は、エンコーディングされた映像情報をビットストリーム形態で出力する。前記予測情報は、前記予測手順に関連する情報であり、予測モード情報(例えば、skip flag、merge flag又はmode indexなど)及び動き情報に関する情報を含む。前記動き情報に関する情報は、動きベクトルを導出するための情報である候補選択情報(例えば、merge index、mvp flag又はmvp index)を含む。また、前記動き情報に関する情報は、前述のMVDに関する情報及び/又は参照ピクチャインデックス情報を含む。また、前記の動き情報に関する情報は、L0予測、L1予測、又は双(bi)予測が適用されるか否かを示す情報を含む。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含む。
出力されたビットストリームは、(デジタル)格納媒体に格納されてデコーディング装置に伝達され、またネットワークを介してデコーディング装置に伝達することもできる。
一方、前述のようにエンコーディング装置は、前記参照サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャ(復元サンプル及び復元ブロックを含む)を生成することができる。これは、デコーディング装置において行われるのと同一の予測結果をエンコーディング装置において導出するためであり、これによりコーディング効率を高めることができるからである。従って、エンコーディング装置は、復元ピクチャ(又は、復元サンプル、復元ブロック)をメモリに格納し、インター予測のための参照ピクチャとして活用することができる。前記復元ピクチャにインループフィルタリング手順などがさらに適用できることは前述の通りである。
インター予測に基づくビデオ/映像デコーディング手順は、概略的に、例えば、以下を含む。
図7は、デコーディング装置内のインター予測部を概略に示す図である。
図7に示すように、デコーディング装置は、前記エンコーディング装置において行われた動作と対応する動作を行うことができる。デコーディング装置は、受信された予測情報に基づいて現在ブロックに予測を行い、予測サンプルを導出する。
具体的に、デコーディング装置は、受信された予測情報に基づいて前記現在ブロックに対する予測モードを決定する。デコーディング装置は、前記予測情報内の予測モード情報に基づいて前記現在ブロックにどのインター予測モードが適用されるかを決定する。
例えば、前記merge flagに基づいて前記現在ブロックに前記マージモードが適用されるか又は(A)MVPモードが適用されるかを決定することができる。または、前記mode indexに基づいて様々なインター予測モード候補のいずれか1つを選択することができる。前記インター予測モード候補は、スキップモード、マージモード及び/又は(A)MVPモードを含み、又は、後述する様々なインター予測モードを含む。
デコーディング装置は、前記決定されたインター予測モードに基づいて前記現在ブロックの動き情報を導出する。例えば、デコーディング装置は、前記現在ブロックにスキップモード又はマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補のいずれか1つのマージ候補を選択することができる。前記選択は、前述の選択情報(merge index)に基づいて行われる。前記選択されたマージ候補の動き情報を利用して前記現在ブロックの動き情報を導出する。前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として利用されることができる。
他の例として、デコーディング装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述の(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれるmvp(motion vector predictor)候補のうち選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして利用することができる。前記選択は、前述の選択情報(mvp flag又はmvp index)に基づいて行われる。この場合、前記MVDに関する情報に基づいて前記現在ブロックのMVDを導出することができ、前記現在ブロックのmvpと前記MVDに基づいて前記現在ブロックの動きベクトルを導出することができる。また、前記参照ピクチャインデックス情報に基づいて前記現在ブロックの参照ピクチャインデックスを導出することができる。前記現在ブロックに関する参照ピクチャリスト内において前記参照ピクチャインデックスが指すピクチャが前記現在ブロックのインター予測のために参照される参照ピクチャとして導出されることができる。
一方、後述のように候補リスト構成なしに前記現在ブロックの動き情報が導出されることができ、この場合、後述の予測モードにおいて開示された手順に従って前記現在ブロックの動き情報が導出されることができる。この場合、前述のような候補リスト構成は省略されてもよい。
デコーディング装置は、前記現在ブロックの動き情報に基づいて前記現在ブロックに対する予測サンプルを生成する。この場合、前記現在ブロックの参照ピクチャインデックスに基づいて前記参照ピクチャを導出し、前記現在ブロックの動きベクトルが前記参照ピクチャ上において指す参照ブロックのサンプルを利用して前記現在ブロックの予測サンプルを導出する。この場合、後述のように、場合によって、前記現在ブロックの予測サンプルのうち全部又は一部に対する予測サンプルフィルタリングの手順がさらに行われることがある。
例えば、デコーディング装置のインター予測部332は、予測モード決定部332_1、動き情報導出部332_2、予測サンプル導出部332_3を含み、予測モード決定部332_1において受信された予測モード情報に基づいて前記現在ブロックに対する予測モードを決定し、動き情報導出部332_2において受信された動き情報に関する情報に基づいて前記現在ブロックの動き情報(動きベクトル及び/又は参照ピクチャインデックスなど)を導出し、予測サンプル導出部332_3において前記現在ブロック予測サンプルを導出することができる。
デコーディング装置は、受信されたレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成する。デコーディング装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成することができる。その後、前記復元ピクチャにインループフィルタリング手順などがさらに適用できることは前述の通りである。
前述のように、インター予測手順は、インター予測モード決定ステップ、決定された予測モードによる動き情報導出ステップ、導出された動き情報に基づく予測実行(予測サンプル生成)ステップを含む。前記インター予測手順は、前述のようにエンコーディング装置及びデコーディング装置において行われる。本文書において、コーディング装置とはエンコーディング装置及び/又はデコーディング装置を含む。
コーディング装置は現在ブロックに対するインター予測モードを決定する。ピクチャ内の現在ブロックの予測のために様々なインター予測モードが使用される。例えば、マージモード、スキップモード、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のように(インター)予測モードに関する情報などを運ぶことができる。
ここで、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のような情報を含むように構成/コーディングされる。
ここで、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.)。
コーディング装置は、現在ブロックに対する(インター)予測モードが決定されると、前記予測モードに基づいて前記現在ブロックに対する動き情報を導出する。
コーディング装置は、現在ブロックの動き情報を利用してインター予測を行うことができる。エンコーディング装置は、動き推定(motion estimation)手順を介して現在ブロックに対する最適の動き情報を導出する。例えば、エンコーディング装置は、現在ブロックに対する原本ピクチャ内の原本ブロックを利用して相関性の高い類似の参照ブロックを参照ピクチャ内の決められた探索範囲内において分数ピクセル単位で探索し、これにより、動き情報を導出することができる。ブロックの類似性は、位相(phase)ベースのサンプル値の差に基づいて導出される。例えば、ブロックの類似性は、現在ブロック(又は、現在ブロックのテンプレート)と参照ブロック(又は、参照ブロックのテンプレート)間のSADに基づいて計算される。この場合、探索領域内のSADが最小である参照ブロックに基づいて動き情報を導出することができる。導出された動き情報は、インター予測モードに基づいて様々な方法によりデコーディング装置にシグナリングされる。
コーディング装置は、前記動き情報に基づいて前記現在ブロックに対する予測サンプル(ら)を導出することができる。前記予測サンプルを含む現在ブロックは、予測されたブロックと呼ばれてもよい。
導出された予測サンプルに基づいて復元サンプル及び復元ピクチャが生成され、その後、インループフィルタリングなどの手順が行われる。
インター予測時にマージモード(merge mode)が適用される場合、現在ブロックの動き情報が直接的に送信されず、周辺予測ブロックの動き情報を利用して前記現在ブロックの動き情報を誘導するようになる。従って、エンコーディング装置は、マージモードを利用したことを示すフラグ情報及び周辺のどの予測ブロックを利用しているかを示すマージインデックスを送信することにより、現在ブロックの動き情報を示すことができる。前記マージモードは、レギュラーマージモード(regular merge mode)と呼ばれてもよい。
コーディング装置は、マージモードを行うために現在ブロックの動き情報を誘導するために用いられるマージ候補ブロック(merge candidate block)をサーチする。例えば、前記マージ候補ブロックは最大で5つまで利用できるが、本実施例はこれに限定されない。また、前記マージ候補ブロックの最大個数に関する情報は、スライスヘッダ又はタイルグループヘッダにおいて送信されることができるが、本実施例はこれに限定されない。前記マージ候補ブロックを見つけた後、コーディング装置はマージ候補リストを生成することができ、これらのうち最小の費用を有するマージ候補ブロックを最終マージ候補ブロックとして選択する。
本文書は、前記マージ候補リストを構成するマージ候補ブロックに対する様々な実施例を提供する。
前記マージ候補リストは、例えば、5つのマージ候補ブロックを含む。例えば、4つの空間的マージ候補(spatial merge candidate)と1つの時間的マージ候補(temporal merge candidate)が利用される。前記空間的マージ候補又は後述する空間的MVP候補は、SMVP と呼ばれてもよく、前記時間的マージ候補又は後述する時間的MVP候補は、TMVPと呼ばれてもよい。
前記現在ブロックに対するマージ候補リストは、例えば、以下のような手順に基づいて構成される。
まず、コーディング装置(エンコーディング装置/デコーディング装置)は、現在ブロックの空間的周辺ブロックを探索して導出された空間的マージ候補をマージ候補リストに挿入する。例えば、前記空間的周辺ブロックは、前記現在ブロックの左下側コーナー周辺ブロック(A)、左側周辺ブロック(A)、右上側コーナー周辺ブロック(B)、上側周辺ブロック(B)及び左上側コーナー周辺ブロック(B)を含む。ただし、これは例示であり、前述した空間的周辺ブロック以外にも右側周辺ブロック、下側周辺ブロック、右下側周辺ブロックなどの追加的な周辺ブロックが前記空間的周辺ブロックとしてさらに使用できる。コーディング装置は、前記空間的周辺ブロックを優先順位に基づいて探索して可用のブロックを検出し、検出されたブロックの動き情報を前記空間的マージ候補として導出する。例えば、エンコーディング装置及び/又はデコーディング装置は、5つのブロックをA、B、B、A、Bの順に探索し、可用の候補を順次インデックスすることにより、マージ候補リストとして構成することができる。
また、コーディング装置は、前記現在ブロックの時間的周辺ブロックを探索して導出された時間的マージ候補を前記マージ候補リストに挿入することができる。前記時間的周辺ブロックは、前記現在ブロックが位置する現在ピクチャとは異なるピクチャである参照ピクチャ上に位置し得る。前記時間的周辺ブロックが位置する参照ピクチャは同一位置(collocated)ピクチャ又はcolピクチャと呼ばれてもよい。前記時間的周辺ブロックは、前記colピクチャ上での前記現在ブロックに対する同一位置ブロック(co-located block)の右下側コーナー周辺ブロック及び右下側センターブロックの順で探索されることができる。
一方、コーディング装置は、現在マージ候補の個数が最大マージ候補の個数より小さいか否かを確認する。前記最大マージ候補の個数は、予め定義されるか、エンコーディング装置からデコーディング装置にシグナリングされる。例えば、エンコーディング装置は、前記最大マージ候補の個数に関する情報を生成し、エンコーディングしてビットストリーム形態で前記デコーディング装置に伝達する。前記最大マージ候補の個数が全て充填されると、以後の候補の追加過程は行わなくてもよい。
前記確認の結果、前記現在マージ候補の個数が前記最大マージ候補の個数より小さい場合、コーディング装置は追加マージ候補を前記マージ候補リストに挿入する。前記追加マージ候補は、例えば、history based merge candidate(s)、pair-wise average merge candidate(s)、ATMP、combined bi-predictiveマージ候補(現在スライス/タイルグループのスライス/タイルグループタイプがBタイプである場合)及び/又は零ベクトルマージ候補の少なくとも1つを含む。
前記確認の結果、前記現在マージ候補の個数が前記最大マージ候補の個数より小さくない場合、コーディング装置は前記マージ候補リストの構成を終了する。この場合、エンコーディング装置は、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 be applied 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.)。
ここで、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.)。
マージプラスMVDオフセットMmvdOffset[x0][y0]の2つの構成要素は、以下のように導出される(Both components of the merge plus MVD offset MmvdOffset[x0][y0] are derived as follows.)。
また、インター予測のためにサブブロックベースの時間的動きベクトル予測(SbTMVP)方法が使用されることができる(In addition, 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のステップで識別されたモーションシフトが適用されて(すなわち、現在ブロックの候補として追加される)、同一位置ピクチャからサブ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.)。また、それぞれのサブ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.)。
また、インター予測のためにトライアングルパーティションモードが使用される(In addition, 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.)
また、結合されたインター及びイントラ予測は現在ブロックに適用されることができる(In addition, 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.)。
一方、コーディング装置において予測ブロックを生成するために、前述のレギュラーマージモード、スキップモード、SbTMVPモード、MMVDモード、トライアングルパーティションモード(パーティショニングモード)及び/又はCIIPモードに基づいて動き情報を誘導することができる。各モードは、シーケンスパラメータセット(SPS)に含まれるそれぞれのモードに対するオン/オフフラグ(on/off flag)を介して活性化/非活性化(enable/disable)される。もし、特定モードのためのオン/オフフラグが非活性化(disable)されると、エンコーディング装置はCU又はPU単位で当該予測モードのために明示的(explicit)に送信されるシンタックス(syntax)をシグナリングしない。
従って、既存の動作過程でマージ/スキップモードのための特定モードが全て非活性化(disable)されるか、一部が非活性化(disable)される場合、オン/オフフラグが不要に(redundant)シグナリングされる問題が発生する。従って、本文書においては、表2のマージデータシンタックスに基づいて現在ブロックに適用されるマージモードを選択する過程で、同一の情報(フラグ)が重複してシグナリングされることを防止するために、次の方法のいずれか1つが使用される。
エンコーディング装置は、動き情報を誘導する過程で使用できる予測モードを選択するために表5のようなシーケンスパラメータセットに基づいてフラグをシグナリングすることができる。各予測モードは、表5のシーケンスパラメータセットに基づいてオン/オフされ、表2のマージデータシンタックスの各シンタックス要素は表5のフラグと各モードが使用できる条件に応じてパーシング(parsing)又は誘導される。
以下の図面は、本文書の具体的な一例を説明するために作成された。図面に記載された具体的な装置の名称や具体的な信号/情報の名称は例示的に提示されたものであるので、本明細書の技術的特徴が以下の図面に使用された具体的な名称に制限されない。
図8及び図9は、本文書の実施例によるインター予測方法を含むビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。
図8に開示されたエンコーディング方法は、図2及び図9において開示されたエンコーディング装置200により行われることができる。具体的には、例えば、図8のS800、S810及びS840はエンコーディング装置200の予測部220により行われ、S820及びS830はエンコーディング装置200のレジデュアル処理部230により行われ、S850はエンコーディング装置200のエントロピーエンコーディング部240により行われる。図8において開示されたエンコーディング方法は、本文書で前述した実施例を含む。
具体的に、図8及び図9に示すように、エンコーディング装置の予測部は現在ブロックの予測モードを決定する(S800)。一例として、エンコーディング装置の予測部は、現在ブロックにインター予測が適用される場合、レギュラーマージモード、スキップモード、MMVDモード、サブブロックマージモード、パーティショニングモード、CIIPモードのいずれか1つを前記現在ブロックの予測モードとして決定する。
ここで、前記レギュラーマージモードは、周辺ブロックの動き情報を利用して現在ブロックの動き情報を誘導するモードと定義される。スキップモードは、予測ブロックを復元ブロックとして使用するモードと定義される。前記MMVDモードは、前記マージモード又は前記スキップモードに適用されるものであり、動きベクトル差分を利用するマージ(又はスキップ)モードと定義される。前記サブブロックマージモードは、サブブロックに基づくマージモードと定義される。前記パーティショニングモードは、現在ブロックを2つのパーティション(対角線又は半対角線)に分けて予測を行うモードと定義される。前記CIIPモードは、ピクチャ間の併合(inter-picture merge)とピクチャ内の予測(intra-picture prediction)が結合されたモードと定義される。
一方、エンコーディング装置の予測部は、動き推定により参照ピクチャの一定領域(サーチ領域)内において現在ブロックと類似したブロックをサーチして前記現在ブロックとの差が最小又は一定基準以下である参照ブロックを導出し、これに基づいて前記参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導出することができる。また、前記参照ブロックと前記現在ブロックの位置差に基づいて動きベクトルを導出することができる。
エンコーディング装置の予測部は、現在ブロックの予測モードと現在ブロックの動きベクトルに基づいて現在ブロックの予測サンプル(予測ブロック)を導出する(S810)。
エンコーディング装置のレジデュアル処理部は、前記予測サンプルに基づいてレジデュアルサンプルを導出する(S820)。一例として、エンコーディング装置のレジデュアル処理部は、前記現在ブロックに対する原本サンプル(原本ブロック)と前記現在ブロックに対する予測サンプル(予測ブロック)に基づいてレジデュアルサンプルを生成する。エンコーディング装置のレジデュアル処理部は、前記レジデュアルサンプルに基づいてレジデュアル情報(レジデュアルサンプルの情報)を生成する(S830)。一方、エンコーディング装置の予測部は、前記予測モードに基づいて予測モードに関する情報を生成する(S840)。ここで、前記予測モードに関する情報は、インター/イントラ予測区分情報、インター予測モード情報などを含み、これに関する様々なシンタックス要素を含む。
エンコーディング装置のエンコーディング部は、前記レジデュアル情報、前記予測モードに関する情報などを含む映像情報をエンコーディングする(S850)。前記映像情報は、パーティショニング関連情報、予測モードに関する情報、レジデュアル情報、インループフィルタリング関連情報などを含み、それに関する様々なシンタックス要素を含む。エンコーディング装置のエンコーディング部においてエンコーディングされた情報はビットストリーム形態で出力されることができる。前記ビットストリームは、ネットワーク又は格納媒体を介してデコーディング装置に送信されることができる。
例えば、前記映像情報は、アダプテーションパラメータセット(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スキップフラグに基づく条件がさらに満たされることに基づいて、前記映像情報に前記レギュラーマージフラグを含めることができる。ここで、前記CUスキップフラグに基づく条件は、前記CUスキップフラグの値が0の場合であり得る。言い換えれば、エンコーディング装置は、現在ブロックの高さと前記現在ブロックの幅の積が64以上であり、前記現在ブロックの高さと前記現在ブロックの幅がそれぞれ128より小さく、前記CIIP可用フラグの値が1であり、前記CUスキップフラグの値が0である場合、レギュラーマージフラグをシグナリングすることができる。
また他の例として、エンコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされることに基づいて、前記映像情報にレギュラーマージフラグを含めることができる。ここで、前記現在ブロックに関する情報に基づく条件は、前記現在ブロックの幅と高さの積が64以上である場合及び/又は前記現在ブロックを含むスライスのタイプがBスライスである場合を含む。前記パーティショニングモード可用フラグに基づく条件は、前記パーティショニングモード可用フラグの値が1の場合であり得る。すなわち、エンコーディング装置は、現在ブロックの高さと前記現在ブロックに関する情報に基づく条件と、前記パーティショニングモード可用フラグに基づく条件が両方とも満たされる場合、レギュラーマージフラグをシグナリングすることができる。
エンコーディング装置は、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされない場合、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされるか否かを判断する。または、エンコーディング装置は、前記現在ブロックに関する情報と前記パーティショニングモード可用フラグに基づく条件が満たされない場合、前記CIIP可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされるか否かを判断する。
一方、エンコーディング装置は、現在ブロックの幅と高さの積が32ではなく、MMVD可用フラグの値が1である場合、または、サブブロックマージ候補の最大個数が0より大きく、現在ブロックの幅と高さがそれぞれ8以上である場合、レギュラーマージフラグをシグナリングすることもある。
このために、一例として、マージデータシンタックスは、次の表6のように構成される。
表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のように構成される。
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のように構成される。
マージサブブロックフラグは、周辺ブロックから現在コーディングユニットのためにサブブロックベースのインター予測パラメータが導出されるか否かを示す(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のように構成される。
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.)。
図10及び図11は、本文書の実施例によるインター予測方法を含むビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。
図10に開示されたデコーディング方法は、図3及び図11において開示されたデコーディング装置300により行われることができる。具体的に、例えば、図10のS1000及びS1010はデコーディング装置300のエントロピーデコーディング部310により行われ、図10のS1020ないしS1040はデコーディング装置300の予測部330により行われ、S1050はデコーディング装置300の加算部340により行われる。図10において開示されたデコーディング方法は、本文書で前述した実施例を含む。
図10及び図11に示すように、デコーディング装置のエントロピーデコーディング部310はビットストリームからシーケンスパラメータセットに含まれるCIIP可用フラグを取得する(S1000)。例えば、前記ビットストリームには、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)などの様々なパラメータセットに関する情報を含む映像情報が含まれる。前記映像情報は、コーディングユニットシンタックス、マージデータシンタックスなどの現在ブロックの予測モードに関する情報及びレジデュアル情報をさらに含む。前記シーケンスパラメータセットは、CIIP可用フラグ、パーティショニングモードに対する可用フラグなどを含む。前記コーディングユニットシンタックスは、現在ブロックにスキップモードが適用されるか否かを示すCUスキップフラグを含む。前記予測モードに関する情報は予測関連情報と称されてもよい。前記予測モードに関する情報は、インター/イントラ予測区分情報、インター予測モード情報などを含む。
デコーディング装置の予測部330は、前記CIIP可用フラグが取得されると、前記CIIP可用フラグと現在ブロックのサイズに基づいて前記ビットストリームにレギュラーマージフラグが含まれるか否かを判断する(S1010)。前記CIIP可用フラグに基づく条件と前記現在ブロックのサイズに基づく条件が満たされることから前記ビットストリームにレギュラーマージフラグが含まれると判断される場合、デコーディング装置の予測部330は、前記ビットストリームから前記レギュラーマージフラグをパーシングする(S1020)。また、前記レギュラーマージフラグに基づいて現在ブロックの動き情報を導出し、現在ブロックの予測サンプルを生成する(S1030)。このとき、デコーディング装置の予測部330は、現在ブロックの周辺ブロックに基づいて動き情報候補リストを構成し、エンコーディング装置から受信した候補選択情報に基づいて現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出することができる。
一方、デコーディング装置のエントロピーデコーディング部310は、図2のエンコーディング装置からビットストリーム形態で受信した信号からレジデュアル情報を取得する。デコーディング装置のレジデュアル処理部320は、前記レジデュアル情報に基づいてレジデュアルサンプルを生成する。
デコーディング装置の加算部340は、予測部330において生成された予測サンプルとレジデュアル処理部320において生成されたレジデュアルサンプルに基づいて復元サンプルを生成する。また、前記復元サンプルに基づいて復元ピクチャを生成する(S1040)。その後、必要に応じて主観的/客観的画質を向上させるためにデブロッキングフィルタリング、SAO及び/又はALF手順のようなインループフィルタリング手順が前記復元ピクチャに適用される。
一実施例として、デコーディング装置は、前記現在ブロックの予測モードの導出において、前記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可用フラグに基づく条件及び前記現在ブロックのサイズに基づく条件が満たされるか否かを判断することができる。
一方、デコーディング装置は、現在ブロックの幅と高さの積が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、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で具現されたメディアを含む。また、エンコーディング方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に格納され、または、有無線通信ネットワークを介して送信されることができる。
また、本文書の実施例(ら)は、プログラムコードによるコンピュータプログラム製品で具現されることができ、前記プログラムコードは、本文書の実施例(ら)によりコンピュータで実行されることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
図12は、本文書において開示された実施例が適用できるコンテンツストリーミングシステムの例を示す。
図12に示すように、本文書の実施例が適用されるコンテンツストリーミングシステムは、大別してエンコーディングサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置及びマルチメディア入力装置を含む。
前記エンコーディングサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコーディングサーバは省略されることができる。
前記ビットストリームは、本文書の実施例に適用されるエンコーディング方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
前記ストリーミングサーバは、ウェブサーバを介したユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
前記ストリーミングサーバは、メディア格納所及び/またはエンコーディングサーバからコンテンツを受信することができる。例えば、前記エンコーディングサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間格納することができる。
前記ユーザ装置の例として、携帯電話、スマートフォン(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 (3)

  1. 映像をデコーディングするためのデコーディング装置において、
    メモリと、
    前記メモリと接続される少なくとも1つのプロセッサと、を有し、
    前記少なくとも1つのプロセッサは、
    ビットストリームからシーケンスパラメータセットに含まれるCIIP(combined inter-picture merge and intra-picture prediction)可用フラグ及びゼネラルマージフラグを取得
    第1条件と第2条件に基づいて前記ビットストリームにレギュラーマージフラグが含まれるか否かを判断
    前記第1条件と前記第2条件が満たされることに基づいて、前記ビットストリーム内の前記レギュラーマージフラグをパーシング
    前記レギュラーマージフラグに基づいて現在ブロックの予測サンプルを生成
    前記予測サンプルに基づいて復元ピクチャを生成するように構成され、
    前記第1条件は、前記現在ブロックの高さと前記現在ブロックの幅に関連する条件のみに基づいて満たされ、
    前記第2条件は、前記CIIP可用フラグの値が1であること、及び前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であることに基づいて満たされ、
    前記第1条件又は前記第2条件が満たされないことに基づいて、前記レギュラーマージフラグはパーシングされず、
    前記レギュラーマージフラグがパーシングされないことに基づいて、前記レギュラーマージフラグの値は、前記ゼネラルマージフラグに基づいて導出される、デコーディング装置
  2. 映像をエンコーディングするためのエンコーディング装置において、
    メモリと、
    前記メモリと接続される少なくとも1つのプロセッサと、を有し、
    前記少なくとも1つのプロセッサは、
    現在ブロックの予測モードを決定
    前記予測モードに基づいて前記現在ブロックの予測サンプルを導出
    前記予測サンプルに基づいてレジデュアルサンプルを導出
    前記レジデュアルサンプルに基づいてレジデュアル情報を生成
    前記予測モードに基づいて予測モードに関する情報を生成
    前記予測モードに関する情報と前記レジデュアル情報を含む映像情報をエンコーディングするように構成され、
    前記映像情報はシーケンスパラメータセット及びゼネラルマージフラグをさらに含み、
    前記シーケンスパラメータセットは、CIIP(combined inter-picture merge and intra-picture prediction)可用フラグを含み、
    前記映像情報は、第1条件と第2条件が満たされることに基づいて、レギュラーマージフラグを含み、
    前記第1条件は、前記現在ブロックの高さと前記現在ブロックの幅に関連する条件のみに基づいて満たされ、
    前記第2条件は、前記CIIP可用フラグの値が1であること、及び前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であることに基づいて満たされ、
    前記第1条件又は前記第2条件が満たされないことに基づいて、前記レギュラーマージフラグは前記映像情報に含まれず、
    前記レギュラーマージフラグが前記映像情報に含まれないことに基づいて、前記レギュラーマージフラグの値は、前記ゼネラルマージフラグに基づいて導出されるように構成される、エンコーディング装置
  3. 映像に対するデータを送信する装置において、
    前記映像に対するビットストリームを取得するよう構成された少なくとも1つのプロセッサであって、前記ビットストリームは、現在ブロックの予測モードを決定し、前記予測モードに基づいて前記現在ブロックの予測サンプルを導出し、前記予測サンプルに基づいてレジデュアルサンプルを導出し、前記レジデュアルサンプルに基づいてレジデュアル情報を生成し、前記予測モードに基づいて予測モードに関する情報を生成し、前記予測モードに関する情報と前記レジデュアル情報を含む映像情報をエンコーディングすることに基づいて生成される、少なくとも1つのプロセッサと、
    前記ビットストリームを含む前記データを送信するよう構成された送信器と、を含み、
    前記映像情報はシーケンスパラメータセット及びゼネラルマージフラグをさらに含み、
    前記シーケンスパラメータセットは、CIIP(combined inter-picture merge and intra-picture prediction)可用フラグを含み、
    前記映像情報は、第1条件と第2条件が満たされることに基づいて、レギュラーマージフラグを含み、
    前記第1条件は、前記現在ブロックの高さと前記現在ブロックの幅に関連する条件のみに基づいて満たされ、
    前記第2条件は、前記CIIP可用フラグの値が1であること、及び前記現在ブロックの高さと前記現在ブロックの幅の積が64以上であることに基づいて満たされ、
    前記第1条件又は前記第2条件が満たされないことに基づいて、前記レギュラーマージフラグは前記映像情報に含まれず、
    前記レギュラーマージフラグが前記映像情報に含まれないことに基づいて、前記レギュラーマージフラグの値は、前記ゼネラルマージフラグに基づいて導出されるように構成される、データ送信装置
JP2023077160A 2019-06-19 2023-05-09 ビデオ/映像コーディングシステムにおける重複シグナリング除去方法及び装置 Active JP7462094B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962863803P 2019-06-19 2019-06-19
US62/863,803 2019-06-19
PCT/KR2020/008007 WO2020256492A1 (ko) 2019-06-19 2020-06-19 비디오/영상 코딩 시스템에서 중복 시그널링 제거 방법 및 장치
JP2021575494A JP7279208B2 (ja) 2019-06-19 2020-06-19 ビデオ/映像コーディングシステムにおける重複シグナリング除去方法及び装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021575494A Division JP7279208B2 (ja) 2019-06-19 2020-06-19 ビデオ/映像コーディングシステムにおける重複シグナリング除去方法及び装置

Publications (2)

Publication Number Publication Date
JP2023090890A JP2023090890A (ja) 2023-06-29
JP7462094B2 true JP7462094B2 (ja) 2024-04-04

Family

ID=74040320

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021575494A Active JP7279208B2 (ja) 2019-06-19 2020-06-19 ビデオ/映像コーディングシステムにおける重複シグナリング除去方法及び装置
JP2023077160A Active JP7462094B2 (ja) 2019-06-19 2023-05-09 ビデオ/映像コーディングシステムにおける重複シグナリング除去方法及び装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021575494A Active JP7279208B2 (ja) 2019-06-19 2020-06-19 ビデオ/映像コーディングシステムにおける重複シグナリング除去方法及び装置

Country Status (6)

Country Link
US (3) US11533475B2 (ja)
EP (1) EP3985982A4 (ja)
JP (2) JP7279208B2 (ja)
KR (1) KR20210149856A (ja)
CN (1) CN114270833A (ja)
WO (1) WO2020256492A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230103505A1 (en) * 2021-10-01 2023-04-06 Tencent America LLC Secondary transforms for compound inter-intra prediction modes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020117619A1 (en) 2018-12-03 2020-06-11 Tencent America Llc. Method and apparatus for video coding
WO2020142448A1 (en) 2018-12-31 2020-07-09 Beijing Dajia Internet Information Technology Co., Ltd. System and method for signaling of motion merge modes in video coding
WO2020149725A1 (ko) 2019-01-18 2020-07-23 주식회사 윌러스표준기술연구소 모션 보상을 이용한 비디오 신호 처리 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10271064B2 (en) * 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information
EP3376764A4 (en) * 2015-11-12 2019-12-04 LG Electronics Inc. METHOD AND DEVICE FOR COEFFICIENT-INDUCED INTRAPREDICATION IN A BILDCODING SYSTEM
WO2017118409A1 (en) * 2016-01-07 2017-07-13 Mediatek Inc. Method and apparatus for affine merge mode prediction for video coding system
KR20180136555A (ko) * 2016-06-03 2018-12-24 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 방법 및 장치
US11109041B2 (en) * 2019-05-16 2021-08-31 Tencent America LLC Method and apparatus for video coding
WO2020248925A1 (en) * 2019-06-08 2020-12-17 Beijing Bytedance Network Technology Co., Ltd. History-based motion vector prediction with default parameters

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020117619A1 (en) 2018-12-03 2020-06-11 Tencent America Llc. Method and apparatus for video coding
WO2020142448A1 (en) 2018-12-31 2020-07-09 Beijing Dajia Internet Information Technology Co., Ltd. System and method for signaling of motion merge modes in video coding
WO2020149725A1 (ko) 2019-01-18 2020-07-23 주식회사 윌러스표준기술연구소 모션 보상을 이용한 비디오 신호 처리 방법 및 장치

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross, Jianle Chen, and Shan Liu,Versatile Video Coding (Draft 5),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-N1001 (version 8),14th Meeting: Geneva, CH,2019年06月11日,pp.53-56,58,109-117
Huanbang Chen, Xu Chen, and Haitao Yang,Non-CE4: On Merge data signaling,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0431-v2,15th Meeting: Gothenburg, SE,2019年07月,pp.1-8
Hyeongmun Jang, et al.,Non-CE4 : Merge syntax for removing redundant syntax signaling or fall back merge mode,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0585,15th Meeting: Gothenburg, SE,2019年07月,pp.1-5
Jing Ye, Xiang Li, and Shan Liu,Non-CE4: Redundancy removal for merge mode signaling,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0534,15th Meeting: Gothenburg, SE,2019年07月,pp.1-6
Yi-Wen Chen, et al.,Non-CE4: Redundancy removal in merge modes signaling,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0586,15th Meeting: Gothenburg, SE,2019年06月26日,pp.1-5
Yu-Ling Hsiao, et al.,CE4-related: On signalling of merge flags,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0278-v3,15th Meeting: Gothenburg, SE,2019年07月,pp.1-6

Also Published As

Publication number Publication date
US11716465B2 (en) 2023-08-01
JP2022538025A (ja) 2022-08-31
EP3985982A4 (en) 2022-08-10
US20230082065A1 (en) 2023-03-16
JP7279208B2 (ja) 2023-05-22
US11533475B2 (en) 2022-12-20
US20230319261A1 (en) 2023-10-05
US20220116590A1 (en) 2022-04-14
EP3985982A1 (en) 2022-04-20
KR20210149856A (ko) 2021-12-09
WO2020256492A1 (ko) 2020-12-24
JP2023090890A (ja) 2023-06-29
CN114270833A (zh) 2022-04-01

Similar Documents

Publication Publication Date Title
US11695923B2 (en) Image decoding method and device using DPB parameter for OLS
US20220256160A1 (en) Image decoding method for performing bdpcm on basis of block size and device therefor
US20240107074A1 (en) Signaling method and device for merge data syntax in video/image coding system
JP2023065569A (ja) マージデータシンタックスにおける重複シンタックスの除去方法及び装置
JP7462094B2 (ja) ビデオ/映像コーディングシステムにおける重複シグナリング除去方法及び装置
JP7469335B2 (ja) 動きベクトル予測基盤映像/ビデオコーディング方法及び装置
JP2023090963A (ja) インター予測に基づく映像コーディング方法及び装置
US11962810B2 (en) Motion prediction-based image coding method and device
JP2023093650A (ja) マージ候補を利用して予測サンプルを導出する映像デコード方法及びその装置
JP2023060014A (ja) ビデオ/映像コーディングシステムにおけるシンタックスシグナリング方法及び装置
JP7477536B2 (ja) ビデオ/映像コーディングシステムにおけるマージデータシンタックスのシグナリング方法及び装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230509

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240325

R150 Certificate of patent or registration of utility model

Ref document number: 7462094

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150