(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024069457
(43)【公開日】2024-05-21
(54)【発明の名称】予測重みテーブルに基づく映像/ビデオコーディング方法及び装置
(51)【国際特許分類】
H04N 19/70 20140101AFI20240514BHJP
H04N 19/105 20140101ALI20240514BHJP
【FI】
H04N19/70
H04N19/105
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2024039749
(22)【出願日】2024-03-14
(62)【分割の表示】P 2022537735の分割
【原出願日】2020-12-11
(31)【優先権主張番号】62/950,962
(32)【優先日】2019-12-20
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【弁理士】
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】シータル パルリ
(72)【発明者】
【氏名】ヘンドリー ヘンドリー
(72)【発明者】
【氏名】チャオ チエ
(72)【発明者】
【氏名】キム スンファン
(57)【要約】
【課題】本発明は、予測重みテーブルに基づく映像/ビデオコーディング方法に関する。
【解決手段】本文書に係るビデオデコーディング装置によって実行されるビデオデコーディング方法は、ビットストリームから重み付け予測に関するフラグをパーシングするステップと、前記フラグに基づいて前記ビットストリームから予測重みテーブル(prediction weighted table)シンタックスをパーシングするステップと、前記予測重みテーブルシンタックスに基づいて、現在ピクチャ内の現在ブロックに対する重み付け予測を実行して、前記現在ピクチャを復元するステップとを含み、前記フラグの値が1であることに基づいて、前記予測重みテーブルシンタックスは、前記ビットストリームのピクチャヘッダからパーシングされ、前記フラグの値が0であることに基づいて、前記予測重みテーブルシンタックスは、前記ビットストリームのスライスヘッダからパーシングされることができる。
【選択図】
図6
【特許請求の範囲】
【請求項1】
ビデオデコーディング装置によって実行されるビデオデコーディング方法において、
ビットストリームから重み付け予測に関するフラグをパーシングするステップと、
前記フラグに基づいて、前記ビットストリームから予測重みテーブル(prediction weighted table)シンタックスをパーシングするステップと、
前記予測重みテーブルシンタックスに基づいて、現在ピクチャ内の現在ブロックに対する重み付け予測を実行して、前記現在ピクチャを復元するステップと、を含み、
前記フラグの値が1であることに基づいて、前記予測重みテーブルシンタックスは、前記ビットストリームのピクチャヘッダからパーシングされ、
前記フラグの値が0であることに基づいて、前記予測重みテーブルシンタックスは、前記ビットストリームのスライスヘッダからパーシングされる、ビデオデコーディング方法。
【請求項2】
ビデオエンコーディング装置によって実行されるビデオエンコーディング方法において、
現在ブロックの動き情報を導出するステップと、
前記動き情報に基づいて、前記現在ブロックについての重み付け予測を実行するステップと、
前記重み付け予測に関するフラグ及び予測重みテーブル(prediction weighted table)シンタックスを含む映像情報をエンコーディングするステップとを含み、
前記予測重みテーブルシンタックスが前記映像情報のピクチャヘッダに含まれることに基づいて、前記フラグの値は1と決められ、
前記予測重みテーブルシンタックスが前記映像情報のスライスヘッダに含まれることに基づいて、前記フラグの値は0と決められる、ビデオエンコーディング方法。
【請求項3】
ビデオに対するデータの送信方法であって、
前記ビデオに対するビットストリームを獲得する段階であって、前記ビットストリームは、現在ブロックの動き情報を導出し、前記動き情報に基づいて前記現在ブロックについての重み付けした予測を実行し、前記重み付けした予測に関連するフラグと予測重みテーブルシンタックスを含む映像情報をエンコードすることに基づいて生成される、段階と、
前記ビットストリームを含む前記データを送信する段階とを含み、
前記予測重みテーブルシンタックスが前記映像情報のピクチャヘッダに含まれることに基づいて、前記フラグの値は1と決められ、
前記予測重みテーブルシンタックスが前記映像情報のスライスヘッダに含まれることに基づいて、前記フラグの値は0と決められる、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、予測重みテーブル(prediction weighted table)シンタックスに基づいて映像/ビデオをエンコーディング/デコーディングする方法及び装置に関する。
【背景技術】
【0002】
最近、UHD(Ultra High Definition)映像/ビデオのような4Kまたは8K以上の高解像度、高品質の映像/ビデオに対する需要が多様な分野で増加している。映像/ビデオデータが高解像度、高品質になるほど、既存の映像/ビデオデータに比べて、相対的に送信される情報量またはビット量が増加するので、既存の有無線広帯域回線のような媒体を利用して映像データを送信したり、既存の格納媒体を利用して映像/ビデオデータを格納する場合、送信費用及び格納費用が増加される。
【0003】
また、近年、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの実感メディア(Immersive Media)に対する関心及び需要が増加しており、ゲーム画像のように、現実画像と異なる画像特性を有する画像/ビデオに対する放送が増加している。
【0004】
これにより、前記のような様々な特性を有する高解像度・高品質の画像/ビデオの情報を効果的に圧縮して送信するか、格納し、再生するために高効率の画像/ビデオ圧縮技術が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本文書の技術的課題は、映像/ビデオのコーディング効率を高める方法及び装置を提供することにある。
【0006】
本文書の他の技術的課題は、予測重みテーブルシンタックスを効率的にシグナリングする方法及び装置を提供することにある。
【0007】
本文書のまた他の技術的課題は、重み付け予測に関するシグナリングオーバーヘッドを減少させる方法及び装置を提供することにある。
【課題を解決するための手段】
【0008】
本文書の一実施形態に係ると、ビデオデコーディング装置によって実行されるビデオデコーディング方法は、ビットストリームから重み付け予測に関するフラグをパーシングするステップと、前記フラグに基づいて、前記ビットストリームから予測重みテーブル(prediction weighted table)シンタックスをパーシングするステップと、前記予測重みテーブルシンタックスに基づいて、現在ピクチャ内の現在ブロックに対する重み付け予測を実行して、前記現在ピクチャを復元するステップとを含み、前記フラグの値が1であることに基づいて、前記予測重みテーブルシンタックスは、前記ビットストリームのピクチャヘッダからパーシングされ、前記フラグの値が0であることに基づいて、前記予測重みテーブルシンタックスは、前記ビットストリームのスライスヘッダからパーシングされることができる。
【0009】
本文書の他の実施形態に係ると、ビデオエンコーディング装置によって実行されるビデオエンコーディング方法は、現在ブロックの動き情報を導出するステップと、前記動き情報に基づいて、前記現在ブロックに対する重み付け予測を実行するステップと、前記重み付け予測に関するフラグ、及び予測重みテーブルシンタックスを含む映像情報をエンコーディングするステップとを含み、前記予測重みテーブルシンタックスが前記映像情報のピクチャヘッダに含まれることに基づいて、前記フラグの値は1に決められ、前記予測重みテーブルシンタックスが前記映像情報のスライスヘッダに含まれることに基づいて、前記フラグの値は0に決められることができる。
【0010】
本文書のまた他の実施形態に係ると、コンピュータ読み取り可能なデジタル格納媒体であって、前記デジタル格納媒体は、ビデオデコーディング装置によってビデオデコーディング方法を実行するように引き起こす情報を含み、前記ビデオデコーディング方法は、映像情報から重み付け予測に関するフラグをパーシングするステップと、前記フラグに基づいて、前記映像情報から予測重みテーブルシンタックスをパーシングするステップと、前記予測重みテーブルシンタックスに基づいて、現在ピクチャ内の現在ブロックに対する重み付け予測を実行して、前記現在ピクチャを復元するステップとを含み、前記フラグの値が1であることに基づいて、前記予測重みテーブルシンタックスは、前記ビットストリームのピクチャヘッダからパーシングされ、前記フラグの値が0であることに基づいて、前記予測重みテーブルシンタックスは、前記ビットストリームのスライスヘッダからパーシングされることができる。
【発明の効果】
【0011】
本文書の一実施形態に係ると、全般的な映像/ビデオの圧縮効率を向上させることができる。
【0012】
本文書の一実施形態に係ると、予測重みテーブルシンタックスを効率的にシグナリングすることができる。
【0013】
本文書の一実施形態に係ると、重み付け予測に関する情報を伝達する際において、不必要なシグナリングを減少させることができる。
【図面の簡単な説明】
【0014】
【
図1】本文書の実施例が適用できるビデオ/映像コーディングシステムの例を概略的に示す。
【
図2】本文書の実施例が適用できるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。
【
図3】本文書の実施例が適用できるビデオ/映像デコーディング装置の構成を概略的に説明する図面である。
【
図4】インター予測に基づくビデオ/映像エンコーディング方法の例を示す。
【
図5】インター予測に基づくビデオ/映像デコーディング方法の例を示す。
【
図6】本文書の実施形態に係るビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。
【
図7】本文書の実施形態に係るビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。
【
図8】本文書の実施形態に係るビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。
【
図9】本文書の実施形態に係るビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。
【
図10】本文書で開示された実施形態が適用可能なコンテンツストリーミングシステムの例を示す。
【発明を実施するための形態】
【0015】
本文書の開示は様々な変更を加えることができ、様々な実施例が有することができるため、特定の実施例を図面に例示し、詳細に説明しようとする。本文書で使用する用語は、単に特定の実施例を説明するために使用されたものであって、本文書の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明白に異なる意味を有しない限り、「少なくとも1つ」の表現を含む。本文書において「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、1つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないことと理解されるべきである。
【0016】
一方、本文書において説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の便宜のために独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するものではない。例えば、各構成のうち、2つ以上の構成が結合されて1つの構成をなすこともでき、1つの構成を複数の構成に分けることもできる。各構成が統合及び/または分離された実施例も本文書において開示された方法の本質から逸脱しない限り、本文書の開示範囲に含まれる。
【0017】
この文書において、「/」と「、」は「及び/または」と解釈される。例えば,「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.」)。
【0018】
追加的に、本文書において、「または」は「及び/または」と解釈される。例えば、「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.」)。
【0019】
また、本明細書で用いられる括弧は、「例えば(for example)」を意味することができる。具体的には、「予測(イントラ予測)」で表示された場合、「予測」の一例として「イントラ予測」が提案されたものであり得る。他の表現としては、本明細書の「予測」は、「イントラ予測」に制限(limit)されず、「イントラ予測」が「予測」の一例として提案されたものであり得る。また、「予測(即ち、イントラ予測)」で表示された場合にも、「予測」の一例として「イントラ予測」が提案されたものであり得る。
【0020】
本文書において、一つの図面内で個別的に説明される技術的特徴は、個別的に具現されてもよく、同時に具現されてもよい。
【0021】
以下、添付した図面を参照して、本文書の実施例をより詳細に説明する。以下、図面上の同一の構成要素に対しては同一の参照符号を使用し、同一の構成要素に関して重複する説明は省略する。
【0022】
図1は、本文書の実施例が適用できるビデオ/映像コーディングシステムの例を概略的に示す。
【0023】
図1に示すように、ビデオ/映像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を備える。ソースデバイスは、エンコーディングされたビデオ(video)/映像(image)情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスに伝達することができる。
【0024】
前記ソースデバイスは、ビデオソース、エンコーディング装置、送信部を含むことができる。前記受信デバイスは、受信部、デコーディング装置、及びレンダラを含むことができる。前記エンコーディング装置は、ビデオ/映像エンコーディング装置と呼ばれることができ、前記デコーディング装置は、ビデオ/映像デコーディング装置と呼ばれることができる。送信機は、エンコーディング装置に含まれることができる。受信機は、デコーディング装置に含まれることができる。レンダラは、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
【0025】
ビデオソースは、ビデオ/映像のキャプチャ、合成または生成過程などを介してビデオ/映像を取得することができる。ビデオソースは、ビデオ/映像キャプチャデバイス及び/またはビデオ/映像生成デバイスを含むことができる。ビデオ/映像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/映像を含むビデオ/映像アーカイブなどを含むことができる。ビデオ/映像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含むことができ、(電子的に)ビデオ/映像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/映像が生成されることができ、この場合、ビデオ/映像キャプチャ過程を関連データが生成される過程に代替されることができる。
【0026】
エンコーディング装置は、入力ビデオ/映像をエンコーディングすることができる。エンコーディング装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を実行することができる。エンコーディングされたデータ(エンコーディングされたビデオ/映像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0027】
送信部は、ビットストリーム形態で出力されたエンコーディングされたビデオ/映像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達できる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介した送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコーディング装置に伝達できる。
【0028】
デコーディング装置は、エンコーディング装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を実行してビデオ/映像をデコーディングすることができる。
【0029】
レンダラは、デコーディングされたビデオ/映像をレンダリングすることができる。レンダリングされたビデオ/映像は、ディスプレイ部を介してディスプレイされることができる。
【0030】
本文書は、ビデオ(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など)に開示される方法に適用できる。
【0031】
本文書においてはビデオ/映像コーディングに関する様々な実施例が提示され、他に言及がない限り、前記実施例は互いに組み合わせて行われることもできる。
【0032】
この文書においてビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味し得る。ピクチャ(picture)は、一般に特定の時間帯の1つの映像を示す単位を意味し、スライス(slice)/タイル(tile)はコーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、1つ以上のCTU(coding tree unit)を含む。1つのピクチャは1つ以上のスライス/タイルで構成される。1つのピクチャは1つ以上のタイルグループで構成される。1つのタイルグループは1つ以上のタイルを含む。ブリックはピクチャ内のタイル内のCTU行の四角領域を示す 。タイルは多数のブリックによりパーティショニングされ、各ブリックは前記タイル内の1つ以上のCTU行で構成される。複数のブリックにパーティショニングされていないタイルもブリックと呼ばれてもよい 。ブリックスキャンはピクチャをパーティショニングするCTUの特定の順次オーダリングを示し、前記CTUはブリック内においてCTUラスタスキャンで整列され、タイル内のブリックは前記タイルの前記ブリックのラスタスキャンで連続的に整列され、そして、ピクチャ内のタイルは前記ピクチャの前記タイルのラスタスキャンで連続的に整列される。タイルは特定タイル列及び特定タイル列以内のCTUの四角領域である 。前記タイル列はCTUの四角領域であり、前記四角領域は前記ピクチャの高さと同じ高さを有し、幅はピクチャパラメータセット内のシンタックス要素により明示される。前記タイル行はCTUの四角領域であり、前記四角領域はピクチャパラメータセット内のシンタックス要素により明示される幅を有し、高さは前記ピクチャの高さと同一であり得る。タイルスキャンはピクチャをパーティショニングするCTUの特定の順次オーダリングを示し、前記CTUはタイル内のCTUラスタスキャンで連続的に整列され、ピクチャ内のタイルは前記ピクチャの前記タイルのラスタスキャンで連続的に整列される 。スライスはピクチャの整数個のブリックを含み、前記整数個のブリックは1つのNALユニットに含まれる。スライスは複数の完全なタイルで構成され、または、1つのタイルの完全なブリックの連続的なシーケンスであり得る。この文書において、タイルグループとスライスは混用されてもよい。例えば、本文書において、tile group/tile group headerはslice/slice headerと呼ばれてもよい。
【0033】
ピクセル(pixel)またはペル(pel)は、1つのピクチャ(または、映像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。または、サンプルは、空間ドメインでのピクセル値を意味することもでき、このようなピクセル値が周波数ドメインに変換されると、周波数ドメインでの変換係数を意味することもできる。
【0034】
ユニット(unit)は、映像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち少なくとも1つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(または、サンプルアレイ)、または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
【0035】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)等の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、画像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0036】
図2は、本文書の実施例が適用できるビデオ/映像エンコーディング装置の構成を概略的に説明する図である。以下、ビデオエンコーディング装置とは、映像エンコーディング装置を含む。
【0037】
図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を内/外部コンポーネントとしてさらに備えることもできる。
【0038】
画像分割部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)を導く単位であることができる。
【0039】
エンコーディング装置200は、入力映像信号(原本ブロック、原本サンプルアレイ)からインター予測部221またはイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成し、生成されたレジデュアル信号は変換部232に送信される。この場合、図示されているように、エンコーダ200内において入力映像信号(原本ブロック、原本サンプルアレイ)から予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれる。予測部220は、処理対象ブロック(以下、現在ブロックという)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部220は、現在ブロックまたはCU単位でイントラ予測が適用されるかまたはインター予測が適用されるかを決定する。予測部220は、各予測モードに関する説明において後述するように予測モード情報などの予測に関する様々な情報を生成してエントロピーエンコーディング部240に伝達することができる。予測に関する情報はエントロピーエンコーディング部240においてエンコーディングされてビットストリームの形態で出力されることができる。
【0040】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することができ、または、離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは、例示であり、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用され得る。イントラ予測部222は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0041】
インター予測部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)をシグナリングすることにより、現在ブロックの動きベクトルを指示することができる。
【0042】
予測部220は、後述する様々な予測方法に基づいて予測信号を生成する。例えば、予測部200は、1つのブロックに対する予測のためにイントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測を同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy:IBC)予測モードに基づくこともありまたはパレットモード(palette mode)に基づくこともある。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)のようにゲームなどのコンテンツ映像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内において予測を行うが、現在ピクチャ内において参照ブロックを導出する点でインター予測と類似して行われる。すなわち、IBCは、本文書において説明されるインター予測技法のうち少なくとも1つを利用することができる。パレットモードは,イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングすることができる。
【0043】
前記予測部(インター予測部221及び/または前記イントラ予測部222を含む)を介して生成された予測信号は、復元信号を生成するために用いられるか、レジデュアル信号を生成するために用いられることができる。
【0044】
変換部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)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同一のサイズを有するピクセルブロックに適用されてもよく、正方形ではない可変サイズのブロックに適用されてもよい。
【0045】
量子化部233は、変換係数を量子化してエントロピーエンコーディング部240に送信し、エントロピーエンコーディング部240は、量子化された信号(量子化された変換係数に関する情報)をエンコーディングしてビットストリームとして出力する。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれてもよい。量子化部233は、係数スキャン順序(scan order)に基づいてブロック形態の量子化された変換係数を1次元ベクトル形態で再整列し、前記1次元ベクトル形態の量子化された変換係数に基づいて前記量子化された変換係数に関する情報を生成することもできる。
【0046】
エントロピーエンコーディング部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に含まれてもよい。
【0047】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロックまたはレジデュアルサンプル)を復元する。加算部250が復元されたレジデュアル信号をインター予測部221またはイントラ予測部222から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成される。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部または復元ブロック生成部と呼ばれてもよい。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用され、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0048】
一方、ピクチャエンコーディング及び/または復元過程においてLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0049】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成し、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納する。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含む。フィルタリング部260は、各フィルタリング方法に関する説明において後述するように、フィルタリングに関する様々な情報を生成してエントロピーエンコーディング部240に伝達する。フィルタリングに関する情報は、エントロピーエンコーディング部240においてエンコーディングされてビットストリーム形態で出力される。
【0050】
メモリ270に送信された修正された復元ピクチャは、インター予測部221において参照ピクチャとして使用されることができる。エンコーディング装置は、これによりインター予測が適用される場合、エンコーディング装置100とデコーディング装置における予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0051】
メモリ270のDPBは、修正された復元ピクチャをインター予測部221での参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコーディングされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するためにインター予測部221に伝達できる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達できる。
【0052】
図3は、本文書の実施例が適用できるビデオ/映像デコーディング装置の構成を概略的に説明する図である。
【0053】
図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を内/外部コンポーネントとしてさらに備えることもできる。
【0054】
ビデオ/画像情報を含むビットストリームが入力されれば、デコーディング装置300は、
図3のエンコーディング装置でビデオ/画像情報が処理されたプロセスに対応して画像を復元することができる。例えば、デコーディング装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出することができる。デコーディング装置300は、エンコーディング装置で適用された処理ユニットを用いてデコーディングを行うことができる。したがって、デコーディングの処理ユニットは、例えば、コーディングユニットであることができ、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/またはターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出され得る。そして、デコーディング装置300を介してデコーディング及び出力された復元画像信号は、再生装置を介して再生されることができる。
【0055】
デコーディング装置300は、
図2のエンコーディング装置から出力された信号をビットストリームの形態で受信し、受信された信号はエントロピーデコーディング部310によりデコーディングされる。例えば、エントロピーデコーディング部310は、前記ビットストリームをパーシング(parsing)して映像復元(またはピクチャ復元)に必要な情報(例えば、ビデオ/映像情報)を導出することができる。前記ビデオ/映像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)またはビデオパラメータセット(VPS)などの様々なパラメータセットに関する情報をさらに含んでもよい。また、前記ビデオ/映像情報は一般制限情報(general constraint information)をさらに含んでもよい。デコーディング装置は、前記パラメータセットに関する情報及び/または前記一般制限情報をさらに基づいてピクチャをデコーディングすることができる。本文書において後述されるシグナリング/受信される情報及び/またはシンタックス要素は、前記デコーディング手順を介してデコーディングされて前記ビットストリームから取得できる。例えば、エントロピーデコーディング部310は、指数ゴロム (exponential Golomb) 符号化、CAVLC(context-adaptive variable length coding)またはCABAC(context-adaptive arithmetic coding)などのコーディング方法に基づいてビットストリーム内の情報をデコーディングし、映像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力する。より詳細に、CABACエントロピーデコーディング方法は、ビットストリームにおいて各構文要素に該当するビン(bin)を受信し、デコーディング対象構文要素情報と周辺及びデコーディング対象ブロックのデコーディング情報あるいは以前ステップでデコーディングされたシンボル/ビンの情報を利用して文脈(context)モデルを決定し、決定された文脈モデルに応じてビンの発生確率を予測してビンの算術デコーディング(arithmetic decoding)を実行して各構文要素の値に該当するシンボルを生成することができる。この時、CABACエントロピーデコーディング方法は、文脈モデル決定の後、次のシンボル/ビンの文脈モデルのためにデコーディングされたシンボル/ビンの情報を利用して文脈モデルをアップデートすることができる。エントロピーデコーディング部310においてデコーディングされた情報のうち予測に関する情報は予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコーディング部310においてエントロピーデコーディングが行われたレジデュアル値、すなわち、量子化された変換係数及び関連パラメータ情報はレジデュアル処理部320に入力されることができる。
【0056】
レジデュアル処理部320は、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル、レジデュアルサンプルアレイ)を導出することができる。また、エントロピーデコーディング部310においてデコーディングされた情報のうちフィルタリングに関する情報はフィルタリング部350に提供される。一方、エンコーディング装置から出力された信号を受信する受信部(図示せず)がデコーディング装置300の内/外エレメントとしてさらに構成されてもよく、また、受信部はエントロピーデコーディング部310の構成要素であってもよい。一方、本文書によるデコーディング装置はビデオ/映像/ピクチャデコーディング装置と呼ばれてもよく、前記デコーディング装置は情報デコーダ(ビデオ/映像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/映像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは前記エントロピーデコーディング部310を含み、前記サンプルデコーダは前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332及びイントラ予測部331の少なくとも1つを含む。
【0057】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコーディング装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0058】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
【0059】
本文書において、量子化/逆量子化及び/または変換/逆変換の少なくとも一つは、省略され得る。前記量子化/逆量子化が省略される場合、前記量子化された変換係数は、変換係数と呼ばれ得る。前記変換/逆変換が省略される場合、前記変換係数は、係数またはレジデュアル係数とも呼ばれ得、または、表現の統一性のために、 依然として変換係数とも呼ばれ得る。
【0060】
本文書において、量子化された変換係数及び変換係数は、各々、変換係数及びスケーリングされた(scaled)変換係数と呼ばれ得る。この場合、レジデュアル情報は、変換係数に関する情報を含むことができ、前記変換係数に関する情報は、レジデュアルコーディングシンタックスを介してシグナリングされることができる。前記レジデュアル情報(または、前記変換係数に関する情報)に基づいて変換係数が導出されることができ、前記変換係数に対する逆変換(スケーリング)を介してスケーリングされた変換係数が導出されることができる。前記スケーリングされた変換係数に対する逆変換(変換)に基づいて、レジデュアルサンプルが導出されることができる。これは、本文書の他の部分でも同様に適用/表現されることができる。
【0061】
予測部330は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成する。予測部330は、エントロピーデコーディング部310から出力された前記予測に関する情報に基づいて前記現在ブロックにイントラ予測が適用されるかまたはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モードを決定することができる。
【0062】
予測部330は、後述する多様な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のためにイントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測を同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれてもよい。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy:IBC)予測モードに基づいてもよくまたはパレットモード(palette mode)に基づいてもよい。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)のように、ゲームなどのコンテンツ映像/動画コーディングのために使用できる。IBCは基本的に現在ピクチャ内において予測を行うが、現在ピクチャ内において参照ブロックを導出する点でインター予測と類似して行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち少なくとも1つを利用することができる。パレットモードは,イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/映像情報に含まれてシグナリングされる。
【0063】
イントラ予測部331は現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbour)に位置してもよく、または、離れて位置してもよい。イントラ予測において予測モードは複数の非方向性モードと複数の方向性モードを含む。イントラ予測部331は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0064】
インター予測部332は、参照ピクチャ上において動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。その時、インター予測モードで送信される動き情報の量を減らすために周辺ブロックと現在ブロック間の動き情報の相関性に基づいて動き情報をブロック、サブブロックまたはサンプル単位で予測することができる。前記動き情報は、動きベクタ及び参照ピクチャインデックスを含む。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含んでもよい。インター予測の場合、周辺ブロックは現在ピクチャ内に存在する空間的周辺ブロック(spatial neighbouring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighbouring block)を含む。例えば、インター予測部332は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/または参照ピクチャインデックスを導出することができる。様々な予測モードに基づいてインター予測が行われることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測モードを指示する情報を含む。
【0065】
加算部340は、取得されたレジデュアル信号を予測部(インター予測部332及び/またはイントラ予測部331を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
【0066】
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使われることができ、後述するように、フィルタリングを経て出力されることもでき、または、次のピクチャのインター予測のために使われることもできる。
【0067】
一方、ピクチャデコーディング過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0068】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに多様なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ60、具体的に、メモリ360のDPBに送信できる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
【0069】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332において参照ピクチャとして使用できる。メモリ360は、現在ピクチャ内の動き情報が導出された(またはデコーディングされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するためにインター予測部332に伝達する。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納でき、イントラ予測部331に伝達することができる。
【0070】
本文書において、エンコーディング装置200のフィルタリング部260、インター予測部221及びイントラ予測部222で説明された実施形態は、それぞれデコーディング装置300のフィルタリング部350、インター予測部332及びイントラ予測部331にも同一または対応するように適用されることができる。
【0071】
一方、本文書に係るビデオ/映像コーディング方法は、次のようなパーティショニング構造に基づいて実行されることができる。具体的には、前述の予測、レジデュアル処理((逆)変換、(逆)量子化など)、シンタックス要素コーディング、フィルタリングなどの手順は、前記パーティショニング構造に基づいて導出されたCTU、CU(及び/またはTU、PU)に基づいて実行されることができる。ブロックパーティショニング手順は、前述のエンコーディング装置の映像分割部210で実行されて、パーティショニング関連情報がエントロピーエンコーディング部240で(エンコーディング)処理されて、ビットストリーム形態でデコーディング装置に伝達されることができる。デコーディング装置のエントロピーデコーディング部310は、前記ビットストリームから獲得した前記パーティショニング関連情報に基づいて、現在ピクチャのブロックパーティショニング構造を導出し、これに基づいて、映像デコーディングのための一連の手順(ex.予測、レジデュアル処理、ブロック/ピクチャ復元、インループフィルタリングなど)を実行することができる。CUサイズとTUサイズが同じであってもよく、またはCU領域内に複数のTUが存在することもできる。一方、CUサイズとは、一般的に、ルマ成分(サンプル)CB(coding block)サイズを示すことができる。TUサイズとは、一般的に、ルマ成分(サンプル)TB(transform block)サイズを示すことができる。クロマ成分(サンプル)CBまたはTBサイズは、ピクチャ/映像のカラーフォーマット(クロマフォーマット、ex.4:4:4、4:2:2、4:2:0など)による成分比によって、ルマ成分(サンプル)CBまたはTBサイズに基づいて導出されることができる。前記TUサイズは、 maxTbSizeに基づいて導出されることができる。例えば、前記CUサイズが前記maxTbSizeより大きい場合、前記CUから前記maxTbSizeの複数のTU(TB)が導出され、前記TU(TB)単位で変換/逆変換が実行されることができる。また、例えば、イントラ予測が適用される場合、イントラ予測モード/タイプは、前記CU(or CB)単位で導出され、隣接参照サンプル導出及び予測サンプル生成手順は、TU(or TB)単位で実行されることができる。この場合、一つのCU(or CB)領域内に一つまたは複数のTU(or TB)が存在することができ、この場合、前記複数のTU(or TB)は、同じイントラ予測モード/タイプを共有することができる。
【0072】
また、本文書に係るビデオ/イメージのコーディングにおいて、映像処理単位は階層的構造を有することができる。一つのピクチャは、一つ以上のタイル、ブリック、スライス及び/またはタイルグループに分けられることができる。一つのスライスは、一つ以上のブリックを含むことができる。一つのブリックは、タイル内の一つ以上のCTU行(row)を含むことができる。スライスは、ピクチャの整数個のブリックを含むことができる。一つのタイルグループは、一つ以上のタイルを含むことができる。一つのタイルは、一つ以上のCTUを含むことができる。前記CTUは、一つ以上のCUに分割されることができる。タイルは、ピクチャ内で特定タイル行及び特定タイル列内のCTUを含む長方形領域(rectangular region)である。タイルグループは、ピクチャ内のタイルラスタースキャンによる整数個のタイルを含むことができる。スライスヘッダは、当該スライス(スライス内のブロック)に適用可能な情報/パラメータを運ぶことができる。エンコーディング/デコーディング装置がマルチコアプロセッサを有する場合、前記タイル、スライス、ブリック及び/またはタイルグループに対するエンコーディング/デコーディング手順は並列処理されることができる。本文書において、スライスまたはタイルグループは混用されることができる。すなわち、タイルグループヘッダは、スライスヘッダと呼ばれ得る。ここで、スライスは、intra(I)slice、predictive(P)slice及びbi-predictive(B)sliceを含むスライスタイプの中の一つのタイプを有することができる。Iスライス内のブロックに対しては、予測のためにインター予測は用いられず、イントラ予測のみ用いられることができる。もちろん、この場合にも予測なしに原本サンプル値をコーディングして、シグナリングすることもできる。Pスライス内のブロックに対しては、イントラ予測またはインター予測が用いられることができ、インター予測が用いられる場合には、単(uni)予測のみ用いられることができる。一方、Bスライス内のブロックに対しては、イントラ予測またはインター予測が用いられることができ、インター予測が用いられる場合には、最大双(bi)予測まで用いられることができる。
【0073】
エンコーディング装置では、ビデオ映像の特性(例えば、解像度)によって或はコーディングの効率または並列処理を考慮して、タイル/タイルグループ、ブリック、スライス、最大及び最小コーディングユニット大きさを決め、これに対する情報またはこれを誘導することができる情報がビットストリームに含まれることができる。
【0074】
デコーディング装置では、現在ピクチャのタイル/タイルグループ、ブリック、スライス、タイル内のCTUが多数のコーディングユニットに分割されたか否かなどを示す情報を獲得することができる。このような情報は、特定の条件のみで獲得するように(送信される)すれば、効率を高めることができる。
【0075】
一方、前述のように、一つのピクチャは、複数のスライスを含むことができ、一つのスライスは、スライスヘッダ及びスライスデータを含むことができる。この場合、一つのピクチャ内の複数のスライス(スライスヘッダ及びスライスデータ集合)に対して、一つのピクチャヘッダがさらに付加されることができる。前記ピクチャヘッダ(ピクチャヘッダシンタックス)は、前記ピクチャに共通的に適用可能な情報/パラメータを含むことができる。前記スライスヘッダ(スライスヘッダシンタックス)は、前記スライスに共通的に適用可能な情報/パラメータを含むことができる。APS(adaptation parameter set)またはPPS(picture parameter set)は、一つ以上のピクチャに共通的に適用可能な情報/パラメータを含むことができる。SPS(sequence parameter set)は、一つ以上のシーケンスに共通的に適用可能な情報/パラメータを含むことができる。VPS(video parameter set)は、マルチレイヤに共通的に適用可能な情報/パラメータを含むことができる。DPS(decoding parameter set)は、ビデオ全般に共通的に適用可能な情報/パラメータを含むことができる。前記DPSは、CVS(coded video sequence)のコンカチネーション(concatenation)に係わる情報/パラメータを含むことができる。
【0076】
本文書において、上位レベルシンタックスとは、前記APSシンタックス、PPSシンタックス、SPSシンタックス、VPSシンタックス、DPSシンタックス、ピクチャヘッダシンタックス、スライスヘッダシンタックスの少なくとも一つを含むことができる。
【0077】
また、例えば、前記タイル/タイルグループ/ブリック/スライスの分割及び構成などに関する情報は、前記上位レベルシンタックスに基づいてエンコーディング装置で構成されて、ビットストリーム形態でデコーディング装置に伝達されることができる。
【0078】
一方、インター予測に基づいたビデオ/映像エンコーディング手順は、概略的に、例えば以下を含むことができる。
【0079】
図4は、インター予測に基づくビデオ/映像エンコーディング方法の例を示す。
【0080】
図4を参照すると、エンコーディング装置は、現在ブロックに対するインター予測を実行する(S400)。エンコーディング装置は、現在ブロックのインター予測モード及び動き情報を導出し、前記現在ブロックの予測サンプルを生成することができる。ここで、インター予測モード決定、動き情報導出及び予測サンプル生成手順は、同時に実行されることもでき、ある一つの手順が他の手順より先に実行されることもできる。例えば、エンコーディング装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を含むことができ、予測モード決定部で前記現在ブロックに対する予測モードを決め、動き情報導出部で前記現在ブロックの動き情報を導出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導出することができる。例えば、エンコーディング装置のインター予測部は、動き推定(motion estimation)を通じて参照ピクチャの所定領域(サーチ領域)内で前記現在ブロックと類似するブロックをサーチし、前記現在ブロックとの差が最小または所定基準以下の参照ブロックを導出することができる。これに基づいて、前記参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導出し、前記参照ブロックと前記現在ブロックとの位置差に基づいて動きベクトルを導出することができる。エンコーディング装置は、多様な予測モードのうち前記現在ブロックに対して適用されるモードを決めることができる。エンコーディング装置は、前記多様な予測モードに対するRD(rate-distortion)費用(cost)を比較して、前記現在ブロックに対する最適な予測モードを決めることができる。
【0081】
例えば、エンコーディング装置は、前記現在ブロックにスキップモードまたはマージモードが適用される場合、マージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補が指す参照ブロックのうち前記現在ブロックと前記現在ブロックとの差が最小または所定基準以下の参照ブロックを導出することができる。この場合、前記導出された参照ブロックと関連されたマージ候補が選択され、前記選択されたマージ候補を指すマージインデックス情報が生成されて、デコーディング装置にシグナリングされることができる。前記選択されたマージ候補の動き情報を利用して、前記現在ブロックの動き情報が導出することができる。
【0082】
他の例として、エンコーディング装置は、前記現在ブロックに(A)MVPモードが適用される場合、(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補の中で選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして利用することができる。この場合、例えば、前述の動き推定によって導出された参照ブロックを指す動きベクトルが前記現在ブロックの動きベクトルとして利用されることができ、前記mvp候補のうち前記現在ブロックの動きベクトルとの差が最も小さい動きベクトルを有するmvp候補が前記選択されたmvp候補になり得る。前記現在ブロックの動きベクトルで前記mvpを引いた差分であるMVD(motion vector difference)が導出されることができる。この場合、前記MVDに関する情報がデコーディング装置にシグナリングされることができる。また、(A)MVPモードが適用される場合、前記参照ピクチャインデックスの値は、参照ピクチャインデックス情報で構成されて、別途に前記デコーディング装置にシグナリングされることができる。
【0083】
エンコーディング装置は、前記予測サンプルに基づいてレジデュアルサンプルを導出することができる(S410)。エンコーディング装置は、前記現在ブロックの原本サンプルと前記予測サンプルとの比較を通じて、前記レジデュアルサンプルを導出することができる。
【0084】
エンコーディング装置は、予測情報及びレジデュアル情報を含む映像情報をエンコーディングする(S420)。エンコーディング装置は、エンコーディングされた映像情報をビットストリーム形態で出力することができる。前記予測情報は、前記予測手順に係わる情報として、予測モード情報(ex.skip flag、merge flag or mode indexなど)及び動き情報に関する情報を含むことができる。前記動き情報に関する情報は、動きベクトルを導出するための情報である候補選択情報(ex.merge index、mvp flag or mvp index)を含むことができる。また、前記動き情報に関する情報は、前述のMVDに関する情報及び/または参照ピクチャインデックス情報を含むことができる。また、前記動き情報に関する情報は、L0予測、L1予測、または双(bi)予測が適用されるか否かを示す情報を含むことができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
【0085】
出力されたビットストリームは、(デジタル)格納媒体に格納されてデコーディング装置に伝達されることができ、またはネットワークを介してデコーディング装置に伝達されることもできる。
【0086】
一方、前述のように、エンコーディング装置は、前記参照サンプル及び前記レジデュアルサンプルに基づいて、復元ピクチャ(復元サンプル及び復元ブロック含む)を生成することができる。これは、デコーディング装置で実行されるのと同じ予測結果をエンコーディング装置で導出するためであり、これを通じてコーディング効率を高めることができるからである。よって、エンコーディング装置は、復元ピクチャ(または復元サンプル、復元ブロック)をメモリーに格納し、インター予測のための参照ピクチャとして活用することができる。前記復元ピクチャにインループフィルタリング手順などがさらに適用されることができることは前述の通りである。
【0087】
インター予測に基づいたビデオ/映像デコーディング手順は、概略的に、例えば以下を含むことができる。
【0088】
図5は、インター予測に基づくビデオ/映像デコーディング方法の例を示す。
【0089】
デコーディング装置は、前記エンコーディング装置で実行された動作と対応する動作を実行することができる。デコーディング装置は、受信された予測情報に基づいて現在ブロックに予測を実行して、予測サンプルを導出することができる。
【0090】
具体的には、
図5を参照すると、デコーディング装置は、ビットストリームから受信された予測情報に基づいて、前記現在ブロックに対する予測モードを決めることができる(S500)。デコーディング装置は、前記予測情報内の予測モード情報に基づいて前記現在ブロックにどのインター予測モードが適用されるのか決めることができる。
【0091】
例えば、マージフラグ(merge flag)に基づいて前記現在ブロックにマージモードが適用されるのか、または(A)MVPモードが決められるか否かを決めることができる。または、前記マージインデックスに基づいて多様なインター予測モード候補の一つを選択することができる。前記インター予測モード候補は、スキップモード、マージモード及び/または(A)MVPモードなど多様なインター予測モードを含むことができる。
【0092】
デコーディング装置は、前記決められたインター予測モードに基づいて前記現在ブロックの動き情報を導出する(S510)。例えば、デコーディング装置は、前記現在ブロックにスキップモードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれた複数のマージ候補の中の一つのマージ候補を選択することができる。前記選択は、前述の選択情報(merge index)に基づいて実行されることができる。前記選択されたマージ候補の動き情報を利用して、前記現在ブロックの動き情報が導出されることができる。前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として利用されることができる。
【0093】
他の例として、デコーディング装置は、前記現在ブロックに(A)MVPモードが適用される場合、(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補の中で選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして利用することができる。前記選択は、前述の選択情報(mvp flag or mvp index)に基づいて実行されることができる。この場合、前記MVDに関する情報に基づいて前記現在ブロックのMVDを導出することができ、前記現在ブロックのmvpと前記MVDに基づいて前記現在ブロックの動きベクトルを導出することができる。また、前記参照ピクチャインデックス情報に基づいて前記現在ブロックの参照ピクチャインデックスを導出することができる。前記現在ブロックに関する参照ピクチャリスト内で前記参照ピクチャインデックスが指すピクチャが前記現在ブロックのインター予測のために参照される参照ピクチャとして導出されることができる。
【0094】
一方、候補リストを構成することなく、前記現在ブロックの動き情報が導出されることができ、この場合、前述のような候補リスト構成は省略され得る。
【0095】
デコーディング装置は、前記現在ブロックの動き情報に基づいて前記現在ブロックに対する予測サンプルを生成することができる(S520)。この場合、前記現在ブロックの参照ピクチャインデックスに基づいて前記参照ピクチャを導出し、前記現在ブロックの動きベクトルが前記参照ピクチャ上で指す参照ブロックのサンプルを利用して、前記現在ブロックの予測サンプルを導出することができる。この場合、後述するように、場合によって、前記現在ブロックの予測サンプルの全部または一部に対する予測サンプルフィルタリング手順がさらに実行されることができる。
【0096】
例えば、デコーディング装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を含むことができ、予測モード決定部で受信された予測モード情報に基づいて前記現在ブロックに対する予測モードを決め、動き情報導出部で受信された動き情報に関する情報に基づいて前記現在ブロックの動き情報(動きベクトル及び/または参照ピクチャインデックスなど)を導出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導出することができる。
【0097】
デコーディング装置は、受信されたレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成する(S530)。デコーディング装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、これに基づいて、復元ピクチャを生成することができる(S540)。以後、前記復元ピクチャにインループフィルタリング手順などがさらに適用されることができることは前述の通りである。
【0098】
一方、現在ブロックの予測モードによって導出された動き情報に基づいて、現在ブロックに対する予測されたブロックが導出されることができる。前記予測されたブロックは、前記現在ブロックの予測サンプル(予測サンプルアレイ)を含むことができる。現在ブロックの動きベクトルが分数サンプル単位を指す場合、補間(interpolation)手順が実行されることができ、これを通じて参照ピクチャ内で分数サンプル単位の参照サンプルに基づいて、前記現在ブロックの予測サンプルが導出されることができる。現在ブロックにアフィン(Affine)インター予測が適用される場合、サンプル/サブブロック単位MV(motion vector)に基づいて、予測サンプルを生成することができる。双予測(Bi-prediction)が適用される場合、L0予測(すなわち、参照ピクチャリストL0内参照ピクチャとMVL0を利用した予測)に基づいて導出された予測サンプルとL1予測(すなわち、参照ピクチャリストL1内参照ピクチャとMVL1を利用した予測)に基づいて導出された予測サンプルの(位相による)重み付け和または重み付け平均を通じて導出された予測サンプルが、現在ブロックの予測サンプルとして利用されることができる。双予測が適用される場合、L0予測に利用された参照ピクチャとL1予測に利用された参照ピクチャが現在ピクチャを基準として互いに異なる時間的方向に位置する場合(すなわち、双予測でありながら両方向予測に対応する場合)、これを真(true)双予測と呼ぶことができる。
【0099】
導出された予測サンプルに基づいて復元サンプル及び復元ピクチャが生成されることができ、以後、インループフィルタリングなどの手順が実行されることができることは前述の通りである。
【0100】
一方、インター予測において、重み付けサンプル予測が用いられることができる。重み付けサンプル予測は重み付け予測と呼ばれ得る。重み付け予測は、現在ブロック(ex.CU)が位置する現在スライスのスライスタイプがPスライスまたはBスライスの場合に適用されることができる。すなわち、重み付け予測は、双予測が適用される場合だけでなく、単予測(uni-prediction)が適用される場合にも用いられることができる。例えば、後述するように、重み付け予測は、weightedPredFlagに基づいて決められることができ、weightedPredFlagの値は、シグナリングされるpps_weighted_pred_flag(Pスライスの場合)またはpps_weighted_bipred_flag(Bスライスの場合)に基づいて決められることができる。例えば、slice_typeがPの場合、weightedPredFlagは、pps_weighted_pred_flagのように設定されることができる。そうでない場合(slice_typeがBの場合)、weightedPredFlagは、pps_weighted_bipred_flagのように設定されることができる。
【0101】
重み付け予測の出力である予測サンプルまたは予測サンプルの値は、pbSamplesと呼ばれ得る。
【0102】
重み付け予測手順は、大きく、デフォルト(default)重み付け(サンプル)予測手順と、イクスプリシット(explicit)重み付け(サンプル)予測手順に分けられることができる。前記重み付け(サンプル)予測手順とは、前記イクスプリシット(explicit)重み付け(サンプル)予測手順のみを意味することもできる。例えば、weightedPredFlagの値が0の場合、予測サンプルの値(pbSamples)は、デフォルト重み付け(サンプル)予測手順に基づいて導出されることができる。weightedPredFlagの値が1の場合、予測サンプルの値(pbSamples)はイクスプリシット重み付け(サンプル)予測手順に基づいて導出されることができる。
【0103】
一方、現在ブロックに双予測が適用される場合、重み付け平均(weighted average)に基づいて予測サンプルが導出されることができる。既存には双予測信号(すなわち、双予測サンプル)がL0予測信号(L0予測サンプル)とL1予測信号(L1予測サンプル)の単純平均を通じて導出されることができた。すなわち、双予測サンプルは、L0参照ピクチャ及びMVL0に基づいたL0予測サンプルと、L1参照ピクチャ及びMVL1に基づいたL1予測サンプルの平均で導出された。しかしながら、本文書に係ると、双予測が適用される場合、L0予測信号とL1予測信号の重み付け平均を通じて、双予測信号(双予測サンプル)が導出されることができる。
【0104】
双予測(bi-prediction)信号をリファインするために、BDOF(Bi-directional optical flow)が用いられることができる。BDOFは、現在ブロック(ex.CU)に双予測が適用される場合、改善された動き情報を計算して予測サンプルを生成するためのもので、前記改善された動き情報を計算する過程は、前述の動き情報導出ステップに含まれることもできる。
【0105】
例えば、BDOFは、4x4サブブロックレベルで適用されることができる。すなわち、BDOFは、現在ブロック内4x4サブブロック単位で実行されることができる。BDOFは、ルマ成分のみに対して適用されることができる。或はBDOFは、クロマ成分のみに対して適用されることもでき、ルマ成分及びクロマ成分に対して適用されることもできる。
【0106】
一方、前述のように、HLS(high level syntax)が、ビデオ/映像コーディングのためにコーディング/シグナリングされることができる。ビデオ/映像情報は、HLSに含まれることができる。
【0107】
コーディングされたピクチャは、一つ以上のスライスで構成されることができる。コーディングされたピクチャを記述する(describing)パラメータは、ピクチャヘッダ内でシグナリングされ、スライスを記述するパラメータは、スライスヘッダ内でシグナリングされる。ピクチャヘッダは、自体NALユニット形態で運ばれる(carried)。スライスヘッダは、スライス(すなわち、スライスデータ)のペイロード(payload)を含むNALユニットの開始部分に存在する。
【0108】
それぞれのピクチャは、ピクチャヘッダと関連される。ピクチャは、互いに異なるタイプのスライス(イントラコーディングされたスライス(すなわち、Iスライス)及びインターコーディングされたスライス(すなわち、Pスライス及びBスライス))で構成されることができる。よって、ピクチャヘッダは、ピクチャのイントラスライス及びピクチャのインタースライスに必要なシンタックス要素を含むことができる。
【0109】
ピクチャは、サブピクチャ、タイル及び/またはスライスに分割されることができる。サブピクチャシグナリングは、SPS(sequence parameter set)に存在することができ、タイル及び正方形スライスシグナリングは、PPS(Picture parameter set)に存在することができる。ラスタースキャン(raster-scan)スライスシグナリングは、スライスヘッダに存在することができる。
【0110】
重み付け予測が現在ブロックのインター予測のために適用される場合、前記重み付け予測は、重み付け予測に関する情報に基づいて実行されることができる。
【0111】
重み付け予測手順は、SPS内の2つのフラグに基づいて始まることができる。
【0112】
一例として、重み付け予測に関して、SPSシンタックスには、次の表1のようなシンタックス要素が含まれることができる。
【0113】
【0114】
表1で、sps_weighted_pred_flagの値が1の場合、これは、重み付け予測が前記SPSを参照するPスライスに適用されることを示すことができる。
【0115】
sps_weighted_bipred_flagの値が1の場合、これは、重み付け予測が前記SPSを参照するBスライスに適用されることを示すことができる。sps_weighted_bipred_flagの値が0の場合、これは、重み付け予測が前記SPSを参照するBスライスに適用されないことを示すことができる。
【0116】
前記SPS内でシグナリングされる前記2つのフラグは、重み付け予測がCVS(coded video sequence)内のP及びBスライスに適用されるか否かを示す。
【0117】
一方、重み付け予測に関して、PPSシンタックスには、次の表2のようなシンタックス要素が含まれることができる。
【0118】
【0119】
表2で,pps_weighted_pred_flagの値が0の場合、これは、重み付け予測が前記PPSを参照するPスライスに適用されないことを示すことができる。pps_weighted_pred_flagの値が1の場合、これは、重み付け予測が前記PPSを参照するPスライスに適用されたことを示すことができる。sps_weighted_pred_flagの値が0の場合、pps_weighted_pred_flagの値は0である。
【0120】
pps_weighted_bipred_flagの値が0の場合、これは、重み付け予測が前記PPSを参照するBスライスに適用されないことを示すことができる。pps_weighted_bipred_flagの値が1の場合、これは、イクスプリシット重み付け予測が前記PPSを参照するBスライスに適用されたことを示すことができる。sps_weighted_bipred_flagの値が0の場合、pps_weighted_bipred_flagの値は0である。
【0121】
追加的に、スライスヘッダシンタックスには、次の表3のようなシンタックス要素が含まれることができる。
【0122】
【0123】
【0124】
表3で、slice_pic_parameter_set_idは、使用中のPPSに対するpps_pic_parameter_set_idの値を示す。slice_pic_parameter_set_idの値は0から63までの範囲に含まれる。
【0125】
現在ピクチャの臨時ID(TempralID)の値は、slice_pic_parameter_set_idのようなpps_pic_parameter_set_idを有するPPSのtempralID値より大きいか同じである必要がある。
【0126】
一方、予測重みテーブルシンタックスは、次の表4のような重み付け予測に関する情報を含むことができる。
【0127】
【0128】
【0129】
表4で、luma_log2_weight_denomは、全てのluma重み付け値(weighting factor)に対する分母(denominator)のベースが2のログ(base 2 logarithm)である。luma_log2_weight_denomの値は、0から7までの範囲に含まれる。
【0130】
delta_chroma_log2_weight_denomは、全てのクロマ重み付け値に対する分母のベースが2のログの差(difference)である。delta_chroma_log2_weight_denomが存在しない場合、これは0に推論される(inferred)。
【0131】
ChromaLog2WeightDenomは、luma_log2_weight_denom+delta_chroma_log2_weight_denomに導出され、その値は、0から7までの範囲に含まれる。
【0132】
luma_weight_l0_flag[i]の値が1の場合、これは、RefPicList[0][i]を用いる(参照ピクチャ)リスト0(L0)予測のルマ成分に対する重み付け係数が存在することを示す。luma_weight_l0_flag[i]の値が0の場合、これは、このような重み付け係数が存在しないことを示す。
【0133】
chroma_weight_l0_flag[i]の値が1の場合、これは、RefPicList[0][i]を用いるL0予測のクロマ予測値に対する重み付け係数が存在することを示す。chroma_weight_l0_flag[i]の値が0の場合、これは、このような重み付け係数が存在しないことを示す。chroma_weight_l0_flag[i]が存在しない場合、これは0に推論される。
【0134】
delta_luma_weight_l0[i]は、RefPicList[0][i]を用いるL0予測に対するルマ予測値に適用される重み付け係数の差(difference)である。
【0135】
LumaWeightL0[i]は、(1<<luma_log2_weight_denom)+delta_luma_weight_l0[i]に導出される。luma_weight_l0_flag[i]が1の場合、delta_luma_weight_l0[i]の値は、-128から127までの範囲に含まれる。luma_weight_l0_flag[i]が0の場合、LumaWeightL0[i]は、2luma_log2_weight_denomに推論される。
【0136】
luma_offset_l0[i]は、RefPicList[0][i]を用いるL0予測に対するルマ予測値に適用される加算オフセット(additive offset)である。luma_offset_l0[i]の値は、-128から127までの範囲に含まれる。luma_weight_l0_flag[i]の値が0の場合、luma_offset_l0[i]の値は0に推論される。
【0137】
delta_chroma_weight_l0[i][j]は、Cbに対してjが0で、Crに対してjが1のRefPicList[0][i]を用いて、L0予測に対するクロマ予測値に適用される重み付け係数の差(difference)である。
【0138】
ChromaWeightL0[i][j]は、(1<<ChromaLog2WeightDenom)+delta_chroma_weight_l0[i][j]に導出される。chroma_weight_l0_flag[i]が1の場合、delta_chroma_weight_l0[i][j]の値は、-128から127までの範囲に含まれる。chroma_weight_l0_flag[i]が0の場合、ChromaWeightL0[i][j]は、2ChromaLog2WeightDenomに推論される。
【0139】
delta_chroma_offset_l0[i][j]は、Cbに対してjが0で、Crに対してjが1のRefPicList[0][i]を用いて、L0予測に対するクロマ予測値に適用される加算オフセットの差(difference)である。
【0140】
delta_chroma_offset_l0[i][j]の値は、-4×128から4×127までの範囲に含まれる。chroma_weight_l0_flag[i]の値が0の場合、ChromaOffsetL0[i][j]の値は0に推論される。
【0141】
前述の予測重みテーブルシンタックスは、シーンチェンジ(scene change)がある場合、シーケンスを修正するのに度々用いられる。既存の予測重みテーブルシンタックスは、重み付け予測のためのPPSフラグがイネーブル(enable)となり、スライスタイプがPであり、または重み付け双予測のためのPPSフラグがイネーブルとなり、スライスタイプがBである場合、スライスヘッダでシグナリングされる。しかしながら、シーンがチェンジされるとき、一つまたはいくつのフレームが予測重みテーブルを調整する必要がある場合が度々発生する。通常、PPSが複数のフレームの間に共有される場合、PPSを参照する全てのフレームに対して重み付け予測に関する情報をシグナリングすることは不必要な場合がある。
【0142】
以下の図面は、本文書の具体的な一例を説明するために作成された。図面に記載された具体的な装置の名称や具体的な信号/情報の名称は、例示的に提示されたものであるので、本明細書の技術的特徴が以下の図面に用いられた具体的な名称に制限されない。
【0143】
本文書は、前述の問題を解決するために、次の方法を提供する。各方法は、独立的に適用されるか、または互いに組み合わせて適用されることができる。
【0144】
1.重み付け予測のためのツール(tool)(重み付け予測に関する情報)は、スライスレベルではないピクチャレベルで適用されることができる。重み付け値は、ピクチャの特定参照ピクチャに適用され、前記ピクチャの全てのスライスに対して用いられる。
【0145】
2.予測重みテーブルシンタックスは、スライスレベルではないピクチャレベルでシグナリングされることができる。このために、予測重みテーブルシンタックスは、ピクチャヘッダ(PH)またはピクチャパラメータセット(PPS)でシグナリングされることができる。
【0146】
3.重み付け予測がピクチャに適用される場合、前記ピクチャ内の全てのスライスは同じアクティブ参照ピクチャ(active reference pictures)を有することができる。これは参照ピクチャリスト(RPL)でアクティブ参照ピクチャの順序(order)を含む(すなわち、Pスライスの場合、L0、Bスライスの場合、L0及びL1)。
【0147】
4.代案として、前記事項が適用されない場合、以下が適用されることができる。
【0148】
a.重み付け予測のシグナリングは、参照ピクチャリストシグナリングに対して独立的である。すなわち、予測重みテーブルシグナリングで、参照ピクチャリスト内の参照ピクチャの手順に対する推定(assumption)はない。
【0149】
b.L0及びL1内の参照ピクチャに対する重み付け予測値のシグナリングは存在しない。参照ピクチャに対して重み値は直接提供される。
【0150】
c.参照ピクチャに対する重み値をシグナリングするための二つのルーフ(loop)の代わりに一つのルーフのみ用いられることができる。各ルーフで、シグナリングされる重み付け値と関連された参照ピクチャが先に識別される。
【0151】
d.参照ピクチャ識別は、ピクチャオーダカウント(picture order count、POC)値に基づく。
【0152】
e. ビット節約(bit saving)のために、参照ピクチャのPOC値をシグナリングする代わりに、参照ピクチャと現在ピクチャの間のデルタ(delta)POC値がシグナリングされることができる。
【0153】
5.前記項目4に、追加的に、参照ピクチャと現在ピクチャとの間のデルタPOC値のシグナリングのために、絶対デルタPOC値(absolute delta POC value)が、次のようにシグナリングされることができるように、以下が適用されることができる。
【0154】
a.最初にシグナリングされたデルタPOCの場合、これは、参照ピクチャのPOCと現在ピクチャとの間のデルタである。
【0155】
b.シグナリングされたデルタPOCの残り(rest)の場合(すなわち、iが1から始まる場合)、これは、i番目の参照ピクチャのPOCと(i-1)番目の参照ピクチャとの間のデルタである。
【0156】
6.PPS内の二つのフラグは、単一制御フラグ(例えば、pps_weighted_pred_flag)に統合されることができる。前記フラグは、ピクチャヘッダ内に追加的なフラグが存在することを示すのに用いられることができる。
【0157】
a.前記ピクチャヘッダ内のフラグは、PPSフラグによって変わることができ(The flag in the PH may be conditioned on the PPS flag)、NALユニットタイプがIDR(instantaneous decoding refresh)でない場合、pred_weighted_table()データ(予測重みテーブルシンタックス)の存在をさらに示すことができる。
【0158】
7.PPSでシグナリングされる二つのフラグ(pps_weighted_pred_flag及びpps_weighted_bipred_flag)は、一つのフラグに統合されることができる。前記一つのフラグは、既存の名称pps_weighted_pred_flagを用いることができる。
【0159】
8.重み付け予測がピクチャヘッダと関連されたピクチャに適用されるか否かを示すために、ピクチャヘッダでフラグがシグナリングされることができる。前記フラグは、pic_weighted_pred_flagと言える。
【0160】
a.pic_weighted_pred_flagの存在は、pps_weighted_pred_flagの値によって変わることができる。pps_weighted_pred_flagの値が0の場合、pic_weighted_pred_flagは存在せず、その値は0に推論されることができる。
【0161】
b.pic_weighted_pred_flagの値が1の場合、pred_weighted_table()のシグナリングがピクチャヘッダに存在することができる。
【0162】
9.代案として、重み付け予測がイネーブルになる場合(すなわち、pps_weighted_pred_flagの値が1またはpps_weighted_bipred_flagの値が1)、重み付け予測に関する情報が依然としてスライスヘッダに存在することができ、次の事項が適用されることができる。
【0163】
a.重み付け予測に関する情報がスライスヘッダに存在するか否かを示すために、新しいフラグがシグナリングされることができる。前記フラグは、slice_weighted_pred_present_flagと言える。
【0164】
b.slice_weighted_pred_present_flagの存在は、スライスのタイプ、pps_weighted_pred_flag及びpps_weighted_bipred_flagの値によって決められることができる。
【0165】
本文書で重み付け予測に関する情報は、表1乃至表4で説明された重み付け予測に関する情報/シンタックス要素を含むことができる。ビデオ/映像情報は、重み付け予測に関する情報、レジデュアル情報、インター予測モード情報などのようなインター予測のための多様な情報を含むことができる。前記インター予測モード情報は、現在ブロックにマージモードまたはMVPモードが適用されることができるかを示す情報、及び動き候補リスト内で動き候補の一つを選択するための選択情報などのような情報/構文要素を含むことができる。例えば、現在ブロックにマージモードが適用される場合、現在ブロックの隣接ブロックに基づいてマージ候補リストが構成され、前記マージ候補リストで現在ブロックの動き情報を導出するための一つの候補が選択/使用(マージインデックス基盤)されることができる。他の例として、MVPモードが現在ブロックに適用される場合、現在ブロックの隣接ブロックを基準としてmvp候補リストが構成されることができ、前記mvp候補リストで現在ブロックの動き情報を導出するための一つの候補が選択/使用(mvpフラグ基準)されることができる。
【0166】
一実施形態として、インター予測の時に重み付け予測のために、PPSは、次の表5のようなシンタックス要素を含むことができ、これに対するセマンティクスは、次の表6の通りである。
【0167】
【0168】
【0169】
表5及び表6を参照すると、pps_weighted_pred_flagの値が0の場合、これは、重み付け予測が前記PPSを参照するPまたはBスライスに適用されないことを示すことができる。pps_weighted_pred_flagの値が1の場合、これは、重み付け予測が前記PPSを参照するPまたはBスライスに適用されたことを示すことができる。
【0170】
また、ピクチャヘッダは、次の表7のようなシンタックス要素を含むことができ、これに対するセマンティクスは、次の表8の通りである。
【0171】
【0172】
【0173】
表7及び表8を参照すると、pic_weighted_pred_flagの値が0の場合、これは、重み付け予測が当該ピクチャヘッダを参照するPまたはBスライスに適用されないことを示すことができる。pic_weighted_pred_flagの値が1の場合、これは、重み付け予測が当該ピクチャヘッダを参照するPまたはBスライスに適用されたことを示すことができる。
【0174】
pic_weighted_pred_flagの値が1の場合、当該ピクチャヘッダと関連されたピクチャ内の全てのスライスは、同じ参照ピクチャリストを有することができる。そうでない場合、pic_weighted_pred_flagの値が1の場合、pic_rpl_present_flagの値は1であり得る。
【0175】
前記の条件がない(absence)場合、pic_weighted_pred_flagは、次の表9のようにシグナリングされることができる。
【0176】
【0177】
一方、スライスヘッダは、次の表10のようなシンタックス要素を含むことができる。
【0178】
【0179】
また、予測重みテーブルシンタックスは、次の表11のようなシンタックス要素を含むことができ、これに対するセマンティクスは、次の表12の通りであり得る。
【0180】
【0181】
【0182】
【0183】
表11及び表12を参照すると、mum_l0_weighted_ref_picsは、参照ピクチャリスト0内重み付け参照ピクチャの個数を示すことができる。num_l0_weighted_ref_picsの値は、0からMaxDecPicBuffMinus1+14までの範囲に含まれる。
【0184】
mum_l1_weighted_ref_picsは、参照ピクチャリスト1内重み付け参照ピクチャの個数を示すことができる。num_l1_weighted_ref_picsの値は、0からMaxDecPicBuffMinus1+14までの範囲に含まれる。
【0185】
luma_weight_l0_flag[i]の値が1の場合、これは、RefPicList[0][i]を用いるリスト0(L0)予測のルマ成分に対する重み付け係数が存在することを示す。
【0186】
chroma_weight_l0_flag[i]の値が1の場合、これは、RefPicList[0][i]を用いるL0予測のクロマ予測値に対する重み付け係数が存在することを示す。chroma_weight_l0_flag[i]の値が0の場合、これは、このような重み付け係数が存在しないことを示す。
【0187】
luma_weight_l1_flag[i]の値が1の場合、これは、RefPicList[0][i]を用いるリスト1(L1)予測のルマ成分に対する重み付け係数が存在することを示す。
【0188】
chroma_weight_l1_flag[i]は、これはRefPicList[0][i]を用いるL1予測のクロマ予測値に対する重み付け係数が存在することを示す。chroma_weight_l0_flag[i]の値が0の場合、これは、このような重み付け係数が存在しないことを示す。
【0189】
例えば、エンコーディング装置は、現在ブロックに対して重み付け予測が適用される場合、前記重み付け予測に基づいて、前記現在ブロックの参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報を生成することができる。前記個数情報は、L0参照ピクチャリスト及び/またはL1参照ピクチャリスト内の項目(参照ピクチャ)に対してシグナリングされる重み値に対する個数情報を意味することができる。すなわち、前記個数情報の値は、当該参照ピクチャリスト(L0及び/またはL1)内の重み付け参照ピクチャに対する個数と同じであり得る。よって、前記個数情報の値がnの場合、前記予測重みテーブルシンタックスには参照ピクチャリストに対するn個の重み付け係数関連フラグが含まれることができる。前記重み付け係数関連フラグは、表11のluma_weight_l0_flag、luma_weight_l1_flag、chroma_weight_l0_flag及び/またはchroma_weight_l0_flagに対応することができる。現在ピクチャに対する重み付け値は、前記重み付け係数関連フラグに基づいて導出されることができる。
【0190】
前記現在ブロックに重み付け双予測が適用される場合、前記予測重みテーブルシンタックスには、表11のように、L1参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報と、前記L0参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報が独立的に含まれることができる。前記重み付け係数関連フラグは、前記L1参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報と、前記L0参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報のそれぞれに対して独立的に含まれることができる。すなわち、予測重みテーブルシンタックスには、前記L0参照ピクチャリスト内の重み付け参照ピクチャに対する個数と同じ個数のluma_weight_l0_flag及び/またはchroma_weight_l0_flagが含まれ、前記L1参照ピクチャリスト内の重み付け参照ピクチャに対する個数と同じ個数のluma_weight_l1_flag及び/またはchroma_weight_l1_flagが含まれることができる。
【0191】
エンコーディング装置は、前述の個数情報、重み付け係数関連フラグなどを含む映像情報をエンコーディングして、ビットストリームの形態で出力することができる。ここで、前記個数情報及び重み付け係数関連フラグは、表11のように、映像情報内の予測重みテーブルシンタックスに含まれることができる。前記予測重みテーブルシンタックスは、前記映像情報内のピクチャヘッダに含まれるか、または前記映像情報内のスライスヘッダに含まれることができる。前記予測重みテーブルシンタックスが前記ピクチャヘッダに含まれるか否かを示すために、すなわち、前記ピクチャヘッダに重み付け予測に関する情報が存在するか否かを示すために、ピクチャパラメータセット及び/またはピクチャヘッダには重み付け予測関連フラグが含まれることができる。前記重み付け予測関連フラグが前記ピクチャパラメータセットに含まれる場合、これは、表5のpps_weighted_pred_flagに対応することができる。前記重み付け予測関連フラグが前記ピクチャヘッダに含まれる場合、これは、表7のpic_weighted_pred_flagに対応することができる。または、前記予測重みテーブルシンタックスが前記ピクチャヘッダに含まれるか否かを示すために、映像情報には pps_weighted_pred_flag及びpic_weighted_pred_flagが全部含まれることもできる。
【0192】
デコーディング装置は、ビットストリームから重み付け予測に関するフラグがパーシングされると、これに基づいて、前記ビットストリームから予測重みテーブルシンタックスをパーシングすることができる。前記重み付け予測に関するフラグは、前記ビットストリームのピクチャパラメータセット及び/または前記ピクチャヘッダからパーシングされることができる。言い換えれば、前記重み付け予測に関するフラグは、pps_weighted_pred_flag及び/またはpic_weighted_pred_flagを含むことができる。前記pps_weighted_pred_flag及び/またはpic_weighted_pred_flagの値が1の場合、デコーディング装置は、前記ビットストリームのピクチャヘッダから前記予測重みテーブルシンタックスをパーシングすることができる。
【0193】
デコーディング装置は、前記ピクチャヘッダから予測重みテーブルシンタックスがパーシングされる場合(pps_weighted_pred_flag及び/またはpic_weighted_pred_flagの値が1の場合)、前記予測重みテーブルシンタックスに含まれた重み付け予測に関する情報を現在ピクチャ内の全てのスライスに適用することができる。言い換えれば、予測重みテーブルシンタックスがピクチャヘッダからパーシングされる場合、前記ピクチャヘッダと関連されたピクチャ内の全てのスライスは同じ参照ピクチャリストを有することができる。
【0194】
デコーディング装置は、前記予測重みテーブルシンタックスに基づいて、現在ブロックの参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報をパーシングすることができる。前記個数情報の値は、参照ピクチャリスト内の重み付け参照ピクチャに対する個数と同じであり得る。前記現在ブロックに重み付け双予測が適用される場合、デコーディング装置は、前記予測重みテーブルシンタックスからL1参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報とL0参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報を独立的にパーシングすることができる。
【0195】
デコーディング装置は、前記個数情報に基づいて、予測重みテーブルシンタックスから参照ピクチャリストに対する重み付け係数関連フラグをパーシングすることができる。前記重み付け係数関連フラグは、表11のluma_weight_l0_flag、luma_weight_l1_flag、chroma_weight_l0_flag及び/またはchroma_weight_l0_flagに対応することができる。一例として、デコーディング装置は、前記個数情報の値がnの場合、予測重みテーブルシンタックスからn個の重み付け係数関連フラグをパーシングすることができる。そして、デコーディング装置は、前記重み付け係数関連フラグに基づいて、現在ブロックの参照ピクチャに対する重み付け値を導出し、これに基づいて、現在ブロックに対して重み付け予測を実行して、予測サンプルを生成または導出することができる。以後、デコーディング装置は、前記予測サンプルに基づいて現在ブロックに対する復元サンプルを生成または導出し、前記復元サンプルに基づいて現在ピクチャを復元することができる。
【0196】
他の実施形態として、インター予測の時に重み付け予測のために、ピクチャヘッダは、次の表13のようなシンタックス要素を含むことができ、これに対するセマンティクスは、次の表14の通りであり得る。
【0197】
【0198】
【0199】
表13及び表14を参照すると、pic_weighted_pred_flagの値が0の場合、これは、重み付け予測が当該ピクチャヘッダを参照するPまたはBスライスに適用されないことを示すことができる。pic_weighted_pred_flagの値が1の場合、これは、重み付け予測が当該ピクチャヘッダを参照するPまたはBスライスに適用されたことを示すことができる。sps_weighted_pred_flagの値が0の場合、pic_weighted_pred_flagの値は0である。
【0200】
一方、スライスヘッダは、次の表15のようなシンタックス要素を含むことができる。
【0201】
【0202】
【0203】
表15を参照すると、重み付け予測に関するフラグ(pic_weighted_pred_flag)は、予測重みテーブルシンタックス(重み付け予測に関する情報)がピクチャヘッダに存在するのか、またはスライスヘッダに存在するのかを示すことができる。pic_weighted_pred_flagの値が1の場合、予測重みテーブルシンタックス(重み付け予測に関する情報)がスライスヘッダに存在せず、ピクチャヘッダに存在することができることを示すことができる。pic_weighted_pred_flagの値が0の場合、予測重みテーブルシンタックス(重み付け予測に関する情報)がピクチャヘッダに存在せず、スライスヘッダに存在することができることを示すことができる。表13及び表14には、重み付け予測に関するフラグがピクチャヘッダでシグナリングされたことを示すが、前記重み付け予測に関するフラグは、ピクチャパラメータセットでシグナリングされることができる。
【0204】
例えば、エンコーディング装置は、現在ブロックに対して重み付け予測が適用される場合、前記重み付け予測を実行し、これに基づいて重み付け予測に関するフラグ、予測重みテーブルシンタックスなどを含む映像情報をエンコーディングすることができる。この時、エンコーディング装置は、前記予測重みテーブルシンタックスが前記映像情報のピクチャヘッダに含まれる場合、前記フラグの値を1に決め、前記予測重みテーブルシンタックスが前記映像情報のスライスヘッダに含まれる場合、前記フラグの値を0に決めることができる。前記フラグの値が1の場合、予測重みテーブルシンタックスに含まれた重み付け予測に関する情報は、現在ピクチャ内の全てのスライスに適用されることができる。前記フラグの値が0の場合、予測重みテーブルシンタックスに含まれた重み付け予測に関する情報は、現在ピクチャ内のスライスのうち、スライスヘッダと関連されたスライスに適用されることができる。よって、予測重みテーブルシンタックスが前記ピクチャヘッダに含まれる場合、前記ピクチャヘッダと関連されたピクチャ内の全てのスライスは、同じ参照ピクチャリストを有することができ、前記予測重みテーブルシンタックスが前記スライスヘッダに含まれる場合、前記スライスヘッダと関連されたスライスは、同じ参照ピクチャリストを有することができる。
【0205】
一方、前記予測重みテーブルシンタックスには現在ブロックの参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報、重み付け係数関連フラグなどが含まれることができる。前記個数情報は、前述のように、L0参照ピクチャリスト及び/またはL1参照ピクチャリスト内の項目(参照ピクチャ)に対してシグナリングされる重み付け値に対する個数情報を意味することができ、前記個数情報の値は、当該参照ピクチャリスト(L0及び/またはL1)内の重み付け参照ピクチャに対する個数と同じであり得る。よって、前記個数情報の値がnの場合、前記予測重みテーブルシンタックスには参照ピクチャリストに対するn個の重み付け係数関連フラグが含まれることができる。前記重み付け係数関連フラグは、表11のluma_weight_l0_flag、luma_weight_l1_flag、chroma_weight_l0_flag及び/またはchroma_weight_l0_flagに対応することができる。
【0206】
エンコーディング装置は、現在ブロックに重み付け双予測が適用される場合、L1参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報と、前記L0参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報を含む予測重みテーブルシンタックスを生成することができる。前記予測重みテーブルシンタックスには、前記重み付け係数関連フラグが前記L1参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報と、前記L0参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報のそれぞれに対して独立的に含まれることができる。すなわち、前記予測重みテーブルシンタックスには、前記L0参照ピクチャリスト内の重み付け参照ピクチャに対する個数と同じ個数のluma_weight_l0_flag及び/またはchroma_weight_l0_flagが含まれ、前記L1参照ピクチャリスト内の重み付け参照ピクチャに対する個数と同じ個数のluma_weight_l1_flag及び/またはchroma_weight_l1_flagが含まれることができる。
【0207】
デコーディング装置は、ビットストリームから重み付け予測に関するフラグがパーシングされると、これに基づいて、前記ビットストリームから予測重みテーブルシンタックスをパーシングすることができる。前記重み付け予測に関するフラグは、前記ビットストリームのピクチャパラメータセット及び/または前記ピクチャヘッダからパーシングされることができる。言い換えれば、前記重み付け予測に関するフラグは、pps_weighted_pred_flag及び/またはpic_weighted_pred_flagに対応することができる。デコーディング装置は、前記重み付け予測に関するフラグの値が1の場合、前記予測重みテーブルシンタックスをビットストリームのピクチャヘッダからパーシングすることができる。前記重み付け予測に関するフラグの値が0の場合、デコーディング装置は、前記予測重みテーブルシンタックスをビットストリームのスライスヘッダからパーシングすることができる。
【0208】
デコーディング装置は、予測重みテーブルシンタックスがピクチャヘッダからパーシングされる場合、前記予測重みテーブルシンタックスに含まれた重み付け予測に関する情報を現在ピクチャ内の全てのスライスに適用することができる。言い換えれば、予測重みテーブルシンタックスがピクチャヘッダからパーシングされる場合、前記ピクチャヘッダと関連されたピクチャ内の全てのスライスは同じ参照ピクチャリストを有することができる。前記予測重みテーブルシンタックスがスライスヘッダからパーシングされる場合、前記予測重みテーブルシンタックスに含まれた重み付け予測に関する情報を現在ピクチャ内のスライスのうち前記スライスヘッダと関連されたスライスに適用することができる。言い換えれば、予測重みテーブルシンタックスがピクチャヘッダからパーシングされる場合、前記スライスヘッダと関連されたスライスは、同じ参照ピクチャリストを有することができる。
【0209】
デコーディング装置は、前記予測重みテーブルシンタックスに基づいて、現在ブロックの参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報をパーシングすることができる。前記個数情報の値は、参照ピクチャリスト内の重み付け参照ピクチャに対する個数と同じであり得る。前記現在ブロックに重み付け双予測が適用される場合、デコーディング装置は、前記予測重みテーブルシンタックスからL1参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報と、L0参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報を独立的にパーシングすることができる。
【0210】
デコーディング装置は、前記個数情報に基づいて、予測重みテーブルシンタックスから参照ピクチャリストに対する重み付け係数関連フラグをパーシングすることができる。前記重み付け係数関連フラグは、前述のluma_weight_l0_flag、luma_weight_l1_flag、chroma_weight_l0_flag及び/またはchroma_weight_l0_flagに対応することができる。一例として、デコーディング装置は、前記個数情報の値がnの場合、予測重みテーブルシンタックスからn個の重み付け係数関連フラグをパーシングすることができる。そして、デコーディング装置は、前記重み付け係数関連フラグに基づいて、現在ブロックの参照ピクチャに対する重み値を導出し、これに基づいて、現在ブロックに対してインター予測を実行して、予測サンプルを生成または導出することができる。そして、デコーディング装置は、前記予測サンプルに基づいて、現在ブロックに対する復元サンプルを生成または導出し、前記復元サンプルに基づいて、現在ピクチャに対する復元ピクチャを生成することができる。
【0211】
また他の実施形態として、予測重みテーブルシンタックスは、次の表16のようなシンタックス要素を含むことができ、これに対するセマンティクスは、次の表17の通りであり得る。
【0212】
【0213】
【0214】
表16及び表17で、pic_poc_delta_sign[i]が存在しない場合、これは、0に推論される。0からnum_weighted_ref_pics_minus1までの範囲に含まれるiに対するDeltaPocWeightedRefPic[i]は、次のように導出されることができる。
【0215】
【0216】
また、ChromaWeight[i][j]は、(1<<ChromaLog2WeightDenom)+delta_chroma_weight[i][j]に導出されることができる。chroma_weight_flag[i]の値が1の場合、delta_chroma_weight[i][j]の値は-128乃至127の範囲に含まれる。chroma_weight_flag[i]の値が0の場合、ChromaWeight[i][j]は、2ChromaLog2WeightDenomに導出されることができる。
【0217】
また、ChromaOffset[i][j]は、次のように導出されることができる。
【0218】
【0219】
delta_chroma_offset[i][j]の値は、-4*128乃至4*127の範囲に含まれる。chroma_weight_flag[i]の値が0の場合、ChromaOffset[i][j]の値は、9に推論される。
【0220】
sumWeightFlagsは、luma_weight_flag[i]+2*chroma_weight_flag[i]の和に導出されることができる。iは、0乃至num_weighted_ref_pics_minus1の範囲に含まれる。slice_typeがPの場合、sumWeightL0Flagsは、24より小さいか同じである。
【0221】
現在スライスがPスライスまたはBスライスで、pic_weighted_pred_flagの値が1の場合、L0ToWeightedRefIdx[i]は重み付け参照ピクチャのリスト内のインデックスと、i番目参照ピクチャL0との間のマッピングを示すことができる。iは0からNumRefIdxActive[0]-1の範囲に含まれ、次のように導出されることができる。
【0222】
【0223】
現在スライスがBスライスで、pic_weighted_pred_flagの値が1の場合、L1ToWeightedRefIdx[i]は、重み付け参照ピクチャのリスト内のインデックスと、i番目アクティブ参照ピクチャL1との間のマッピングを示すことができる。iは、0からNumRefIdxActive[1]-1の範囲に含まれ、次のように導出されることができる。
【0224】
【0225】
luma_weight_l0_flag[i]が発生(occurrence)する場合、これは、luma_weight_flag[L0ToWeightedRefIdx[i]]で取り替えられ(replace)、luma_weight_l1_flag[i]が発生する場合、これは、luma_weight_flag[L1ToWeightedRefIdx[i]]で取り替えられる。
【0226】
LumaWeightL0[i]が発生すると、これは、LumaWeight[L0ToWeightedRefIdx[i]]で取り替えられ、LumaWeightL1[i]が発生すると、これは、LumaWeight[L1ToWeightedRefIdx[i]]で取り替えられる。
【0227】
luma_offset_l0[i]が発生すると、これは、luma_offset[L0ToWeightedRefIdx[i]]で取り替えられ、luma_offset_l1[i]が発生すると、これは、luma_offset[L1ToWeightedRefIdx[i]]で取り替えられる。
【0228】
ChromaWeightL0[i]が発生すると、これは、ChromaWeight[L0ToWeightedRefIdx[i]]で取り替えられ、ChromaWeightL1[i]が発生すると、これは、ChromaWeight[L1ToWeightedRefIdx[i]]で取り替えられる。
【0229】
また他の実施形態として、スライスヘッダシンタックスは、次の表18のようなシンタックス要素を含むことができ、これに対するセマンティクスは、次の表19の通りであり得る。
【0230】
【0231】
【0232】
表18及び表19を参照すると、スライスヘッダに予測重みテーブルシンタックスが存在するか否かを示すフラグがシグナリングされることができる。前記フラグは、スライスヘッダでシグナリングされることができ、slice_weight_pred_present_flagと言える。
【0233】
slice_weight_pred_present_flagの値が1の場合、これは、スライスヘッダ内に予測重みテーブルシンタックスが存在することを示すことができる。slice_weight_pred_present_flagの値が0の場合、これは、スライスヘッダ内に予測重みテーブルシンタックスが存在しないことを示すことができる。すなわち、ピクチャヘッダに予測重みテーブルシンタックスが存在することを示すことができる。
【0234】
また他の実施形態として、予測重みテーブルシンタックスは、スライスヘッダでパーシングされ、次の表20のようなシンタックス要素を含むアダプテーションパラメータセットがシグナリングされることができる。
【0235】
【0236】
各APS RBSPは、これを参照するか、外部手段を通じて提供されるコーディングされたスライスNALユニットのTemporalIdより小さいか、同じTemporalIdを有する少なくとも一つのアクセスユニットに含まれて参照される前に、デコーディングプロセスに利用可能ではなければならない。
【0237】
aspLayerIdは、APS NAL単位のnuh_layer_idと言える。nuh_layer_idがaspLayerIdのようなレイヤが独立レイヤ(すなわち、vps_independent_layer_flag[GeneralLayerIdx[aspLayerId]]が1)である場合、APS RBSPを含むAPS NAL単位は、これを参照するコーディングされたスライスNAL単位のnuh_layer_idと同じnuh_layer_idを有する。そうでない場合、APS RBSPを含むAPS NAL単位は、これを参照するコーディングされたスライスNAL単位のnuh_layer_idと同じであるか、これを参照するコーディングされたスライスNAL単位を含むレイヤの直接従属レイヤ(direct dependent layer)のnuh_layer_idと同じnuh_layer_idを有する。
【0238】
アクセスユニット内のadaptation_parameter_set_idの特定値及びaps_params_typeの特定値を有する全てのAPS NAL単位は、同じコンテンツを有する。
【0239】
adaptation_parameter_set_idは、他のシンタックス要素が参照することができるように、APSに対する識別子を提供する。
【0240】
aps_params_typeがALF_APSまたはSCALING_APS、PRED_WEIGHT_APSの場合、adaptation_parameter_set_idの値は0から7までの範囲に含まれる。
【0241】
aps_params_typeがLMCS_APSの場合、adaptation_parameter_set_idの値は、0から3までの範囲に含まれる。
【0242】
aps_params_typeは、次の表21のように、APSに含まれたAPSパラメータのタイプを示す。aps_params_typeの値が1の場合(LMCS_APS)、adaptation_parameter_set_idの値は、0から3までの範囲に含まれる。
【0243】
【0244】
APSの各タイプは、adaptation_parameter_set_idに対して別途の値空間(separate value space)を用いる。
【0245】
APS NAL単位(adaptation_parameter_set_idの特定値及びaps_params_typeの特定値を有する)は、ピクチャの間に共有されることができ、ピクチャ内の他のスライスは、他のALF APSを参照することができる。
【0246】
aps_extension_flagの値が0の場合、これは、APS RBSPシンタックス構造にaps_extension_data_flagシンタックス要素が存在しないことを示す。aps_extension_flagの値が1の場合、これは、APS RBSPシンタックス構造に存在するaps_extension_data_flagシンタックス要素があることを示す。
【0247】
aps_extension_data_flagは、任意の値を有することができる。
【0248】
前述のように、新しいaps_params_type(PRED_WEIGHT_APS)が既存のタイプに追加されることができる。また、スライスヘッダは、次の表22のように、pred_weight_table()の代わりに、APS IDをシグナリングするように修正されることができる。
【0249】
【0250】
表22で、slice_pred_weight_aps_idは、予測重みテーブルAPSのadaptation_parameter_set_idを示す。PRED_WEIGHT_APSと同じaps_params_type及びslice_pred_weight_aps_idと同じadaptation_parameter_set_idを有するAPS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalIdより小さいか同じである。
【0251】
スライスヘッダにslice_pred_weight_aps_idシンタックス要素が存在する場合、slice_pred_weight_aps_idの値は、ピクチャの全てのスライスに対して同一である。
【0252】
この場合、次の表23のような予測重みテーブルシンタックスがシグナリングされることができる、
【0253】
【0254】
【0255】
表23で、num_lists_active_flagの値が1の場合、これは、予測重みテーブル情報が一つの参照ピクチャリストに対してシグナリングされたことを示すことができる。num_lists_active_flagの値が0の場合、これは、二つの参照ピクチャリスト(L0及びL1)に対する予測重みテーブル情報がシグナリングされないことを示すことができる。
【0256】
numRefIdxActive[i]は、アクティブ参照インデックスの個数を示すのに用いられることができる。numRefIdxActive[i]の値は、0から14までの範囲に含まれる。
【0257】
表23のシンタックスは、num_lists_active_flagがパーシングされる時、一つまたは二つのリストに対する情報がAPSでパーシングされるか否かを示す。
【0258】
表23の代わりに、次の表24のような予測重みテーブルシンタックスが用いられることもできる。
【0259】
【0260】
【0261】
表24で、num_lists_active_flagの値が1の場合、これは、予測重みテーブル情報が一つの参照ピクチャリストに対してシグナリングされたことを示すことができる。num_lists_active_flagの値が0の場合、これは、二つの参照ピクチャリストに対する予測重みテーブル情報がシグナリングされないことを示すことができる。
【0262】
図6及び
図7は、本文書の実施形態に係るビデオ/映像エンコーディング方法及び関連コンポーネントの一例を概略的に示す。
【0263】
図6に開示されたビデオ/映像エンコーディング方法は、
図2及び
図7で開示された(ビデオ/映像)エンコーディング装置200によって実行されることができる。具体的には、例えば、
図6のS600及びS610は、エンコーディング装置200の予測部220によって実行されることができ、S620は、エンコーディング装置200のエントロピーエンコーディング部240によって実行されることができる。
図6で開示されたビデオ/映像エンコーディング方法は、本文書で前述した実施形態を含むことができる。
【0264】
具体的には、
図6及び
図7を参照すると、エンコーディング装置の予測部220は、動き推定に基づいて、現在ピクチャ内の現在ブロックの動き情報を導出することができる(S600)。例えば、エンコーディング装置は、現在ブロックに対する原本ピクチャ内の原本ブロックを利用して、相関性の高い類似する参照ブロックを参照ピクチャ内の所定探索範囲内で分数ピクセル単位で探索することができ、これを通じて動き情報を導出することができる。ブロックの類似性は、位相(phase)に基づくサンプル値の差に基づいて導出することができる。一例として、ブロックの類似性は、現在ブロック(または現在ブロックのテンプレート)と参照ブロック(または参照ブロックのテンプレート)との間のSAD(Sum of Absolute Difference)に基づいて計算されることができる。この場合、探索領域内のSADが最も小さいな参照ブロックに基づいて動き情報が導出されることができる。導出された動き情報は、インター予測モードに基づいて多様な方法によってデコーディング装置にシグナリングされることができる。
【0265】
エンコーディング装置の予測部220は、現在ブロックの動き情報に基づいて、現在ブロックに対して重み付け(サンプル)予測を実行して、前記現在ブロックに対する予測サンプル(予測ブロック)と予測関連情報を生成することができる(S610)。前記予測関連情報は、予測モード情報(マージモード、スキップモードなど)、動き情報に関する情報などを含むことができる。前記動き情報に関する情報は、動きベクトルを導出するための情報である候補選択情報(ex.merge index、mvp flag or mvp index)を含むことができる。また、前記動き情報に関する情報は、前述したMVDに関する情報及び/または参照ピクチャインデックス情報を含むことができる。また、前記動き情報に関する情報は、L0予測、L1予測、または双(bi)予測が適用されるか否かを示す情報を含むことができる。例えば、予測部220は、現在スライスのスライスタイプがPスライスまたはBスライスの場合、現在スライス内の現在ブロックに対して重み付け予測を実行することができる。前記重み付け予測は、現在ブロックに双予測(bi-prediction)だけでなく、単予測(uni-prediction)が適用される場合にも用いられることができる。
【0266】
エンコーディング装置のレジデュアル処理部230は、予測部220で生成された予測サンプルと原本ピクチャ(原本ブロック、原本サンプル)に基づいて、レジデュアルサンプル及びレジデュアル情報を生成することができる。ここで、前記レジデュアル情報は、前記レジデュアルサンプルに関する情報として、前記レジデュアルサンプルに対する(量子化された)変換係数に関する情報を含むことができる。
【0267】
エンコーディング装置の加算部(または復元部)は、レジデュアル処理部230で生成されたレジデュアルサンプルと、予測部220で生成された予測サンプルを加えて、復元(reconstructed)サンプル(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。
【0268】
エンコーディング装置のエントロピーエンコーディング部240は、予測部220で生成された予測関連情報、レジデュアル処理部230で生成されたレジデュアル情報、重み付け予測に関するフラグ、予測重みテーブルシンタックスなどを含む映像情報をエンコーディングすることができる(S620)。
【0269】
一例として、エンコーディング装置のエントロピーエンコーディング部240は、前述の表5乃至表23の少なくとも一つに基づいて映像情報をエンコーディングして、ビットストリームの形態で出力することができる。具体的には、エンコーディング装置のエントロピーエンコーディング部240は、本文書の予測重みテーブルシンタックスが映像情報のピクチャヘッダに含まれたことに基づいて、重み付け予測に関するフラグの値を1に決め、前記予測重みテーブルシンタックスが映像情報のスライスヘッダに含まれたことに基づいて、前記重み付け予測に関するフラグの値を0に決めることができる。または、エンコーディング装置のエントロピーエンコーディング部240は、前記予測重みテーブルシンタックスに含まれた重み付け予測に関する情報が前記現在ブロックを含む現在ピクチャ内の全てのスライスに適用されたことに基づいて、前記重み付け予測に関するフラグの値を1に決め、前記予測重みテーブルシンタックスに含まれた前記重み付け予測に関する情報が前記現在ピクチャ内のスライスのうち前記スライスヘッダと関連されたスライスに適用されたことに基づいて、前記重み付け予測に関するフラグの値を0に決めることができる。前記予測重みテーブルシンタックスが前記ピクチャヘッダに含まれる場合、前記ピクチャヘッダと関連されたピクチャ内の全てのスライスは、同じ参照ピクチャリストを有することができ、前記予測重みテーブルシンタックスが前記スライスヘッダに含まれる場合、前記スライスヘッダと関連されたスライスは、同じ参照ピクチャリストを有することができる。前記重み付け予測に関するフラグは、映像情報のピクチャパラメータセットまたはピクチャヘッダに含まれて、デコーディング装置に伝達されることができる。前記重み付け予測に関するフラグは、ピクチャヘッダに重み付け予測に関する情報が存在するか否かを示す情報であり得る。
【0270】
一方、エンコーディング装置の予測部220は、動き情報に基づいた重み付け予測に基づいて、前記重み付け予測のための参照ピクチャリスト内の重み付け参照ピクチャに対する個数情報を生成することができる。この場合、エンコーディング装置のエントロピーエンコーディング部240は、前記個数情報を含む映像情報をエンコーディングすることができる。前記個数情報は、前記映像情報内の予測重みテーブルシンタックスに含まれることができ、この場合にも前記予測重みテーブルシンタックスは、前記映像情報内のピクチャヘッダに含まれることができる。ここで、前記個数情報の値は、前記参照ピクチャリスト内の前記重み付け参照ピクチャに対する個数と同じであり得る。前記予測重みテーブルシンタックスには、前記個数情報の個数と同じ個数の重み付け係数関連フラグが含まれることができる。一例として、前記個数情報の値がnの場合、前記予測重みテーブルシンタックスにはn個の重み付け係数関連フラグが含まれることができる。重み付け双予測が適用される場合、前記予測重みテーブルシンタックスには、前記個数情報及び/または前記重み付け係数関連フラグがL0及びL1それぞれに対して独立的に含まれることができる。言い換えれば、L0内の重み付け参照ピクチャに対する個数情報、及びL1内の重み付け参照ピクチャに対する個数情報は、予測重みテーブルシンタックス内で相互の間に依存せずに(各リストに対するアクティブ参照ピクチャの個数に依存せず)独立的にシグナリングされることができる。
【0271】
図8及び
図9は、本文書の実施形態に係るビデオ/映像デコーディング方法及び関連コンポーネントの一例を概略的に示す。
【0272】
図8に開示されたビデオ/映像デコーディング方法は、
図3及び
図9で開示された(ビデオ/映像)デコーディング装置300によって実行されることができる。具体的には、例えば、
図8のS800及びS810は、デコーディング装置のエントロピーデコーディング部310で実行されることができる。
図8のS820は、デコーディング装置のレジデュアル処理部320、予測部330及び加算部340によって実行されることができる。
図8で開示されたビデオ/映像デコーディング方法は、本文書で前述した実施形態を含むことができる。
【0273】
図8及び
図9を参照すると、デコーディング装置のエントロピーデコーディング部310は、ビットストリームから重み付け予測に関するフラグをパーシングすることができ(S800)、前記重み付け予測に関するフラグに基づいて、前記ビットストリームから予測重みテーブルシンタックスをパーシングすることができる(S810)。前記重み付け予測に関するフラグは、ビットストリームのピクチャパラメータセット、またはピクチャヘッダからパーシングされることができ、前記ピクチャヘッダに重み付け予測に関する情報(予測重みテーブルシンタックス)が存在するか否かを示すことができる。例えば、デコーディング装置のエントロピーデコーディング部310は、前記重み付け予測に関するフラグの値が1の場合、前記ビットストリームのピクチャヘッダから前記予測重みテーブルシンタックスをパーシングし、前記重み付け予測に関するフラグの値が0の場合、前記ビットストリームのスライスヘッダから前記予測重みテーブルシンタックスをパーシングすることができる。前記重み付け予測に関するフラグの値が1の場合、前記予測重みテーブルシンタックスに含まれた重み付け予測に関する情報は、前記現在ピクチャ内の全てのスライスに適用されることができ、前記重み付け予測に関するフラグの値が0の場合、前記予測重みテーブルに含まれた前記重み付け予測に関する情報は、前記現在ピクチャ内のスライスのうち前記スライスヘッダと関連されたスライスに適用されることができる。前記予測重みテーブルシンタックスが前記ピクチャヘッダからパーシングされる場合、前記ピクチャヘッダと関連されたピクチャ内の全てのスライスは、同じ参照ピクチャリストを有することができ、前記予測重みテーブルシンタックスが前記スライスヘッダからパーシングされる場合、前記スライスヘッダと関連されたスライスは、同じ参照ピクチャリストを有することができる。
【0274】
一方、デコーディング装置のエントロピーデコーディング部310は、前記予測重みテーブルシンタックスから個数情報をパーシングすることができる。前記個数情報の値は、参照ピクチャリスト内の重み付け参照ピクチャに対する個数と同じであり得る。デコーディング装置のエントロピーデコーディング部310は、前記個数情報に基づいて、前記予測重みテーブルシンタックスから前記個数情報の個数と同じ個数の重み付け係数関連フラグをパーシングすることができる。一例として、前記個数情報の値がnの場合、前記予測重みテーブルシンタックスにはn個の重み付け係数関連フラグが含まれることができる。重み付け双予測が適用される場合、前記予測重みテーブルシンタックスには、前記個数情報及び/または前記重み付け係数関連フラグがL0及びL1のそれぞれに対して独立的に含まれることができる。一例として、L0内の重み付け参照ピクチャに対する個数情報及びL1内の重み付け参照ピクチャに対する個数情報は、予測重みテーブルシンタックス内で相互間に依存せず(各リストに対するアクティブ参照ピクチャの個数に依存せず)に独立的にパーシングされることができる。
【0275】
デコーディング装置は、ビットストリームから獲得した予測関連情報(インター/イントラ予測区分情報、イントラ予測モード情報、インター予測モード情報、重み付け予測に関する情報など)に基づいて、現在ピクチャ内の現在ブロックに対する重み付け予測を実行して、現在ピクチャを復元することができる(S820)。ここで、前記重み付け予測に関する情報は、予測重みテーブルシンタックスを含むことができる。一例として、デコーディング装置の予測部330は、前記予測重みテーブルシンタックス内の個数情報に基づいて、パーシングされた重み付け係数関連フラグに基づいて重み付け予測のための重み値を導出することができる。具体的には、例えば、デコーディング装置の予測部330は、前記予測重みテーブルシンタックス内の個数情報の値がnの場合、前記予測重みテーブルシンタックスからn個の重み付け係数関連フラグをパーシングすることができる。そして、デコーディング装置の予測部330は、そして前記重み付け値に基づいて現在ブロックに対する重み付け予測を実行して、現在ブロックの予測サンプルを導出することができる。
【0276】
一方、デコーディング装置のレジデュアル処理部320は、ビットストリームから獲得したレジデュアル情報に基づいてレジデュアルサンプルを生成することができる。デコーディング装置の加算部340は、予測部330で生成された予測サンプルと、レジデュアル処理部320で生成されたレジデュアルサンプルに基づいて、復元サンプルを生成することができる。そして、デコーディング装置の加算部340は、前記復元サンプルに基づいて復元ピクチャ(復元ブロック)を生成することができる。
【0277】
以後、必要によって、主観的/客観的画質を向上させるために、デブロッキングフィルタリング、SAO及び/またはALF手順のようなインループフィルタリング手順が前記復元ピクチャに適用されることができる。
【0278】
前述の実施形態で、方法は、一連のステップまたはブロックで順序図に基づいて説明されているが、当該実施形態は、ステップの順序に限定されるのではなく、何れのステップは前述の他のステップと異なる順序で、または同時に発生することができる。また、当業者であれば順序図に示されたステップが排他的でなく、他のステップが含まれたり、順序図の一つまたはその以上のステップが本文書の実施形態の範囲に影響を及ぼすことなく削除されることができることを理解すべきである。
【0279】
前述した本文書の実施例による方法は、ソフトウェア形態で具現されることができ、本文書によるエンコーディング装置及び/またはデコーディング装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの映像処理を実行する装置に含まれることができる。
【0280】
本文書において、実施例がソフトウェアで具現される時、前述した方法は、前述した機能を遂行するモジュール(過程、機能など)で具現されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部または外部にあり、よく知られた多様な手段でプロセッサと連結されることができる。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/またはデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/または他の格納装置を含むことができる。即ち、本文書で説明した実施例は、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で具現されて実行されることができる。例えば、各図面で示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で具現されて実行されることができる。この場合、具現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル格納媒体に格納されることができる。
【0281】
また、本文書の実施例(ら)が適用されるデコーディング装置及びエンコーディング装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(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)などを含むことができる。
【0282】
また、本文書の実施例(ら)が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。また、本文書の実施例(ら)によるデータ構造を有するマルチメディアデータもコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読みだすことができるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で具現されたメディアを含む。また、エンコーディング方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に格納され、または、有無線通信ネットワークを介して送信されることができる。
【0283】
また、本文書の実施例(ら)は、プログラムコードによるコンピュータプログラム製品で具現されることができ、前記プログラムコードは、本文書の実施例(ら)によりコンピュータで実行されることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
【0284】
図10は、本文書で開示された実施形態が適用可能なコンテンツストリーミングシステムの例を示す。
【0285】
図10を参照すると、本文書の実施形態が適用されるコンテンツストリーミングシステムは、大きく、エンコーディングサーバ、ストリーミングサーバ、ウェブサーバ、メディアリポジトリ、ユーザ装置及びマルチメディア入力装置を含むことができる。
【0286】
前記エンコーディングサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコーディングサーバは省略されることができる。
【0287】
前記ビットストリームは、本文書の実施例に適用されるエンコーディング方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
【0288】
前記ストリーミングサーバは、ウェブサーバを介したユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0289】
前記ストリーミングサーバは、メディア格納所及び/またはエンコーディングサーバからコンテンツを受信することができる。例えば、前記エンコーディングサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間格納することができる。
【0290】
前記ユーザ装置の例として、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイニジがある。
【0291】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
【手続補正書】
【提出日】2024-03-14
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオデコーディング装置によって実行されるビデオデコーディング方法において、
ビットストリームを獲得するステップと、
前記ビットストリームから重み付け予測に関するフラグをパーシングするステップと、
前記フラグに基づいて、前記ビットストリームから予測重みテーブル(prediction weighted table)シンタックスをパーシングするステップと、
前記予測重みテーブルシンタックスに基づいて、予測サンプルを導出するステップと、を含み、
前記フラグの値が1であることに基づいて、前記予測重みテーブルシンタックスは、前記ビットストリームのピクチャヘッダからパーシングされ、
前記フラグの値が0であることに基づいて、前記予測重みテーブルシンタックスは、前記ビットストリームのスライスヘッダからパーシングされる、ビデオデコーディング方法。
【請求項2】
ビデオエンコーディング装置によって実行されるビデオエンコーディング方法において、
現在ブロックの動き情報を導出するステップと、
前記動き情報に基づいて、前記現在ブロックについての重み付け予測を実行することにより予測サンプルを生成するステップと、
前記重み付け予測に関するフラグ及び予測重みテーブル(prediction weighted table)シンタックスを含む映像情報をエンコーディングするステップと、
前記映像情報をエンコーディングすることによりビットストリームを生成するステップとを含み、
前記予測重みテーブルシンタックスが前記映像情報のピクチャヘッダに含まれることに基づいて、前記フラグの値は1と決められ、
前記予測重みテーブルシンタックスが前記映像情報のスライスヘッダに含まれることに基づいて、前記フラグの値は0と決められる、ビデオエンコーディング方法。
【請求項3】
ビデオに対するデータの送信方法であって、
前記ビデオに対するビットストリームを獲得する段階であって、前記ビットストリームは、現在ブロックの動き情報を導出し、前記動き情報に基づいて前記現在ブロックについての重み付けした予測を実行することにより予測サンプルを生成し、前記重み付けした予測に関連するフラグと予測重みテーブルシンタックスを含む映像情報をエンコードすることに基づいて生成される、段階と、
前記映像情報をエンコーディングすることにより前記ビットストリームを生成する段階と、
前記ビットストリームを含む前記データを送信する段階とを含み、
前記予測重みテーブルシンタックスが前記映像情報のピクチャヘッダに含まれることに基づいて、前記フラグの値は1と決められ、
前記予測重みテーブルシンタックスが前記映像情報のスライスヘッダに含まれることに基づいて、前記フラグの値は0と決められる、方法。