JP2023501026A - コード化ツリーパーティショニング - Google Patents

コード化ツリーパーティショニング Download PDF

Info

Publication number
JP2023501026A
JP2023501026A JP2021571899A JP2021571899A JP2023501026A JP 2023501026 A JP2023501026 A JP 2023501026A JP 2021571899 A JP2021571899 A JP 2021571899A JP 2021571899 A JP2021571899 A JP 2021571899A JP 2023501026 A JP2023501026 A JP 2023501026A
Authority
JP
Japan
Prior art keywords
size
quadtree
depth
slice
partitioning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021571899A
Other languages
English (en)
Other versions
JPWO2021058380A5 (ja
Inventor
ポワリエ,タンギ
ギャルピン,フランク
アーバン,ファブリス
ルリアネック,ファブリス
ラグランジュ,フィリップ ド
Original Assignee
インターデジタル ブイシー ホールディングス フランス,エスアーエス
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 インターデジタル ブイシー ホールディングス フランス,エスアーエス filed Critical インターデジタル ブイシー ホールディングス フランス,エスアーエス
Publication of JP2023501026A publication Critical patent/JP2023501026A/ja
Publication of JPWO2021058380A5 publication Critical patent/JPWO2021058380A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/186Methods 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 a colour or a chrominance component
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

ピクチャを符号化するために、ピクチャ内のコード化ツリーユニット(CTU)は、四分木構造によってパーティショニングされ、四分木リーフノードは、マルチタイプツリー(MTT)構造によってさらにパーティショニングされ得る。到達可能なコード化ツリーノードとリーフとのセットを増やすために、最大許容MTT階層深さを、CTUサイズとCUの最小許容サイズとの間の差の2倍に増やすことを提案する。分割ツリーにさらに柔軟性を持たせるために、最大許容MTT階層深さをすべてのQTレベルに指定することができる。代替的に、最大許容MTT深さの2つのレベルのみが信号通知され、1つは、QT分割が許容されている場合、別の1つは、QT分割がそれ以上許容されていない場合である。加えて、コード化ツリーユニットサイズまたは最大許容変換サイズに基づいて、最小許容コード化ブロックサイズに上限を設定することができる。【選択図】図13

Description

本実施形態は、概して、ビデオ符号化または復号化におけるコード化ツリーパーティショニングのための方法および装置に関する。
高い圧縮効率を達成するために、画像およびビデオのコード化スキームは、通常、予測および変換を用いて、ビデオコンテンツの空間的および時間的冗長性を活用する。一般に、イントラまたはインター予測は、イントラまたはインターピクチャ相関を活用するために使用され、次いで、多くの場合、予測誤差または予測残差と称される、元のブロックと予測ブロックとの間の差が、変換され、量子化され、エントロピーコード化される。ビデオを再構築するために、圧縮データは、エントロピーコード化、量子化、変換、および予測に対応する逆処理によって復号化される。
ピクチャを符号化するために、ピクチャ内のコード化ツリーユニット(CTU)は、四分木構造によってパーティショニングされ、四分木リーフノードは、マルチタイプツリー(MTT)構造によってさらにパーティショニングされ得る。到達可能なコード化ツリーノードとリーフのセットを増やすために、最大許容MTT階層深さをCTUサイズとCUの最小許容サイズの差の2倍に増やすことを提案する。分割ツリーにさらに柔軟性を持たせるために、最大許容MTT階層深さをすべてのQTレベルに指定することができる。代替的に、最大許容MTT深さの2つのレベルのみが信号通知され、1つは、QT分割が許容されている場合、別の1つは、それ以上QT分割が許容されていない場合である。加えて、コード化ツリーユニットサイズまたは最大許容変換サイズに基づいて、最小許容コード化ブロックサイズに上限を設定することができる。さらに、フラグを使用して、MTTについて、二分木(BT)が許容されているかどうか、かつ三分木(TT)が有効になっているかどうかを示すことができる。BTまたはTTが有効になっているかどうかを示すフラグは、イントラ/インタースライスおよび輝度/彩度成分について個別に送信することができる。
本実施形態の態様を実装し得る、システムのブロック図を図示する。 ビデオ符号化器の一実施形態のブロック図を図示する。 ビデオ復号化器の一実施形態のブロック図を図示する。 HEVC規格に従ってCUに分割されたCTUを図示する。 HEVC規格に従った、CU、PU、TUへのCTUの分割を図示する。 VVCでの四分木プラス二分木(QTBT)のCTU表現を図示する。 VVCドラフト6でサポートされているすべてのコード化ユニット分割モードのセットを図示する。 深さ5のBTのみを使用して32x32ブロックを分割することを図示する。 深さ2のBTのみを使用して32x32ブロックを分割することを図示する。 深さ2のTTのみを使用して32x32ブロックを分割することを図示する。 VVCドラフト6の分割関連構文要素の最小値、最大値、および共通実験条件(CTC)値を図示する。 一実施形態による、許容される最大変換サイズに基づく、最小コード化ブロックサイズの変更された最大許容値を図示する。 別の実施形態による、CTUサイズに基づく、最小コード化ブロックサイズの変更された最大許容値を図示する。
図1は、様々な態様および実施形態を実装することができるシステムの一実施例のブロック図を図示する。システム100は、以下で説明される様々な構成要素を含むデバイスとして具体化され得、本出願で説明される態様の1つ以上を実行するように構成される。そのようなデバイスの例は、これらに限定されるものではないが、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受像機、パーソナルビデオ録画システム、コネクテッド家電、およびサーバなどの様々な電子デバイスを含む。システム100の要素は、単独または組み合わせにおいて、単一の集積回路、複数のIC、および/または別個の構成要素に具体化され得る。例えば、少なくとも1つの実施形態において、システム100の処理および符号化器/復号化器要素は、複数のICおよび/または別個の構成要素にわたって分散している。様々な実施形態において、システム100は、他のシステムに、または他の電子デバイスに、例えば、通信バスを介して、または専用の入力および/もしくは出力ポートを介して、通信可能に結合される。様々な実施形態において、システム100は、本出願に記載の態様のうちの1つ以上を実装するように構成される。
システム100は、例えば、本出願に記載の様々な態様を実装するために、そこにロードされる命令を実行するように構成された少なくとも1つのプロセッサ110を含む。プロセッサ110は、埋め込みメモリ、入力出力インターフェース、および当該技術分野において既知であるような他の様々な回路を含み得る。システム100は、少なくとも1つのメモリ120(例えば、揮発性メモリデバイス、および/または不揮発性メモリデバイス)を含む。システム100は、これらに限定されるものではないが、EEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ、磁気ディスクドライブ、および/または光ディスクドライブを含む、不揮発性メモリおよび/または揮発性メモリを含み得る、記憶デバイス140を含む。記憶デバイス140は、非限定的な例として、内部記憶デバイス、着脱可能記憶デバイス、および/またはネットワークアクセス可能記憶デバイスを含み得る。
システム100は、例えば、符号化されたビデオまたは復号化されたビデオを提供するようにデータを処理するように構成された符号化器/復号化器モジュール130を含み、符号化器/復号化器モジュール130は、独自のプロセッサおよびメモリを含み得る。符号化器/復号化器モジュール130は、符号化および/または復号化機能を実行するデバイスに含まれ得るモジュールを表す。既知であるように、デバイスは、符号化モジュールおよび復号化モジュールの一方または双方を含み得る。さらに、符号化器/復号化器モジュール130は、システム100の別個の要素として実装され得、または、当業者にとって既知のハードウェアとソフトウェアとの組み合わせとしてプロセッサ110内に組み込まれ得る。
本出願に記載の様々な態様を実行するために、プロセッサ110または符号化器/復号化器130にロードされることになるプログラムコードは、記憶デバイス140に記憶され、続いて、プロセッサ110による実行のためにメモリ120上にロードされ得る。様々な実施形態によれば、プロセッサ110、メモリ120、記憶デバイス140、および符号化器/復号化器モジュール130のうちの1つ以上は、本出願に記載のプロセスの実行中、様々な項目のうちの1つ以上を記憶し得る。そのような記憶される項目は、これらに限定されるものではないが、入力ビデオ、復号化されたビデオまたは復号化されたビデオの一部、ビットストリーム、行列、変数、ならびに方程式、式、演算、および演算ロジックの処理からの中間結果または最終結果を含み得る。
いくつかの実施形態において、プロセッサ110および/または符号化器/復号化器モジュール130の内部のメモリを使用して、命令を記憶し、符号化中または復号化中に必要とされる処理のためにワーキングメモリを提供する。しかしながら、他の実施形態において、処理デバイス(例えば、処理デバイスは、プロセッサ110または符号化器/復号化器モジュール130のいずれかとすることができる)の外部のメモリは、これらの機能のうちの1つ以上のために使用される。外部メモリは、メモリ120および/または記憶デバイス140とすることができ、例えば、ダイナミック揮発性メモリおよび/または不揮発性フラッシュメモリとすることができる。いくつかの実施形態において、テレビのオペレーティングシステムを記憶するために外部不揮発性フラッシュメモリが使用される。少なくとも1つの実施形態において、MPEG-2、HEVC、またはVVCなど、ビデオコード化および復号化動作のために、RAMなどの高速外部ダイナミック揮発性メモリがワーキングメモリとして使用される。
システム100の要素への入力は、ブロック105に示されるような様々な入力デバイスを介して提供され得る。そのような入力デバイスは、これらに限定されるものではないが、(i)例えば、ブロードキャスタによって無線を介して送信されたRF信号を受信するRF部、(ii)コンポジット入力端子、(iii)USB入力端子、および/または(iv)HDMI入力端子を含む。
様々な実施形態において、ブロック105の入力デバイスは、当該技術分野において既知であるような関連するそれぞれの入力処理要素を有する。例えば、RF部は、(i)所望の周波数を選択する(信号を選択する、またはある周波数帯域に信号を帯域制限する、とも称される)こと、(ii)選択された信号をダウンコンバートすること、(iii)(例えば)特定の実施形態ではチャネルと称される場合がある信号周波数帯域を選択するように、より狭い周波数帯域に再び帯域制限すること、(iv)ダウンコンバートされて帯域制限された信号を復調すること、(v)誤り訂正を実行すること、および(vi)多重分離して所望のデータパケットストリームを選択することに好適な要素に関連付けられ得る。様々な実施形態のRF部は、これらの機能を実行する1つ以上の要素、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤り訂正器、および多重分離器を含む。RF部は、例えば、受信した信号をより低い周波数に(例えば、中間周波数またはベースバンドに近い周波数)、またはベースバンドにダウンコンバートすることを含む、様々なこれらの機能を実行するチューナを含み得る。1つのセットトップボックスの実施形態において、RF部およびその関連付けられた入力処理要素は、有線(例えば、ケーブル)媒体経由で送信されたRF信号を受信し、フィルタリングし、ダウンコンバートし、所望の周波数帯域に再びフィルタリングすることによって、周波数選択を実行する。様々な実施形態は、上記(および他の)要素の順序を並べ替え、これらの要素のうちのいくつかを取り除き、かつ/または同様もしくは異なる機能を実行する他の要素を追加する。要素を追加することは、既存の要素間に要素を挿入すること、例えば、増幅器およびアナログ-デジタル変換器を挿入することを含み得る。様々な実施形態において、RF部は、アンテナを含む。
さらに、USBおよび/またはHDMI端子は、USBおよび/またはHDMI接続にわたって他の電子デバイスにシステム100を接続するためのそれぞれのインターフェースプロセッサを含み得る。入力処理の様々な態様、例えば、リード・ソロモン誤り訂正が、例えば、必要に応じて、別個の入力処理IC内またはプロセッサ110内に実装され得ることを理解されたい。同様に、USBまたはHDMIインターフェース処理の態様は、必要に応じて、別個のインターフェースIC内またはプロセッサ110内に実装され得る。復調され、誤り訂正され、かつ多重分離されたストリームは、例えば、プロセッサ110と、出力デバイス上での表示のために、必要に応じてデータストリームを処理するようにメモリおよび記憶要素と組み合わせて動作する符号化器/復号化器130と、を含む様々な処理要素に提供される。
システム100の様々な要素は、一体型ハウジング内に提供され得、一体型ハウジング内では、様々な要素が相互接続され、好適な接続配置115、例えば、I2Cバス、配線、およびプリント回路基板を含む、当該技術分野において既知であるような内部バスを使用して、それらの間でデータを送信し得る。
システム100は、通信チャネル190を介して他のデバイスとの通信を可能にする通信インターフェース150を含む。通信インターフェース150は、これに限定されるものではないが、通信チャネル190経由でデータを送受信するように構成されたトランシーバを含み得る。通信インターフェース150は、これらに限定されるものではないが、モデムまたはネットワークカードを含み得、通信チャネル190は、例えば、有線および/または無線媒体内に実装され得る。
様々な実施形態において、データは、IEEE802.11などのWi-Fiネットワークを使用して、システム100にストリーミングされる。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適応される通信チャネル190および通信インターフェース150経由で受信される。これらの実施形態の通信チャネル190は、典型的に、アプリケーションをストリーミングすること、および他のオーバー・ザ・トップ通信を可能にするためにインターネットを含む外部ネットワークへのアクセスを提供するアクセスポイントまたはルータに接続される。他の実施形態は、入力ブロック105のHDMI接続経由でデータを配信するセットトップボックスを使用して、ストリーミングされたデータをシステム100に提供する。さらに他の実施形態は、入力ブロック105のRF接続を使用して、ストリーミングされたデータをシステム100に提供する。
システム100は、ディスプレイ165、スピーカ175、および他の周辺デバイス185を含む、様々な出力デバイスに出力信号を提供し得る。他の周辺デバイス185は、実施形態の様々な例において、スタンドアローンDVR、ディスクプレーヤ、ステレオシステム、照明システム、およびシステム100の出力に基づいて機能を提供する他のデバイスのうちの1つ以上を含む。様々な実施形態において、システム100と、ディスプレイ165、スピーカ175、または他の周辺デバイス185との間で、AVリンク、CEC、またはユーザの介入の有無に関わらず、デバイス・ツー・デバイス制御を可能にする他の通信プロトコルなどの信号通知を使用して、制御信号が伝送される。出力デバイスは、それぞれのインターフェース160、170、および180による専用接続を介してシステム100に通信可能に結合され得る。代替的に、出力デバイスは、通信インターフェース150を介して、通信チャネル190を使用してシステム100に接続され得る。ディスプレイ165およびスピーカ175は、例えば、テレビなどの電子デバイス内のシステム100の他の構成要素と、単一のユニットに一体化され得る。様々な実施形態において、ディスプレイインターフェース160は、ディスプレイドライバ、例えば、タイミングコントローラ(T Con)チップを含む。
ディスプレイ165およびスピーカ175は、例えば、入力105のRF部が別個のセットトップボックスの一部である場合、他の構成要素のうちの1つ以上とは代替的に別個であり得る。ディスプレイ165およびスピーカ175が外部構成要素である様々な実施形態において、例えば、HDMIポート、USBポート、またはCOMP出力を含む、専用出力接続を介して出力信号が提供され得る。
図2は、高効率ビデオコーディング(HEVC)符号化器などの例示的なビデオ符号化器200を図示する。図2はまた、HEVC規格に対して改善が行われた符号化器、または、Joint Video Exploration Team(JVET)が開発中のVersatile Video Coding(VVC)符号化器などの、HEVCと同様の技術を採用した符号化器も図示し得る。
本出願では、「再構築された(reconstructed)」および「復号化された(decoded)」という用語は、互換的に使用され得、「符号化された(encoded)」または「コード化された(coded)」という用語は、互換的に使用され得、「画像(image)」、「ピクチャ(picture)」、および「フレーム(frame)」という用語は、互換的に使用され得る。必須ではないが、通常は、「再構築された」という用語は、符号化器側において使用される一方で、「復号化された」は、復号化器側において使用される。
符号化される前に、ビデオシーケンスは、事前符号化処理(201)を経ること、例えば、入力色ピクチャへの色変換(例えば、RGB 4:4:4からYCbCr 4:2:0への変換)を適用すること、または、(例えば、色成分のうちの1つのヒストグラム等化を使用して)圧縮に対してより復元力のある信号分布を得るために、入力ピクチャ成分の再マッピングを実行することができる。メタデータは、事前処理に関連付けることができ、ビットストリームに添付することができる。
1つ以上のピクチャでビデオシーケンスを符号化するために、ピクチャは、各スライスが1つ以上のスライスセグメントを含むことができる1つ以上のスライスにパーティショニングされる(202)。HEVCでは、スライスセグメントは、コード化ユニットと、予測ユニットと、変換ユニットと、に編成される。HEVC仕様は、「ブロック」と「ユニット」とを区別し、ここで「ブロック」は、サンプルアレイの特定の領域(例えば、輝度、Y)をアドレス指定し、「ユニット」は、すべての符号化された色成分(Y、Cb、Cr、またはモノクロ)、構文要素、およびブロックに関連付けられている予測データ(例えば、動きベクトル)の併置されたブロックを含む。
HEVCによるコード化では、ピクチャは、構成可能サイズ(典型的に、64×64、128×128、または256×256ピクセル)を有する正方形のコード化ツリーブロック(CTB)にパーティショニングされ、コード化ツリーブロックの連続したセットは、スライスにグループ化される。最大コード化ユニット(LCU)とも称されるコード化ツリーユニット(CTU)には、符号化された色成分のCTBが含まれている。CTB(最大コード化ブロック、LCBとも称される)は、図4に図示するように、コード化ブロック(CB)への四分木パーティショニングのルートであり、図5に図示するように、コード化ブロックは、1つ以上の予測ブロック(PB)にパーティショニングされ得、変換ブロック(TB)への四分木パーティショニングのルートを形成する。
コード化ブロック、予測ブロック、および変換ブロックに対応して、コード化ユニット(CU)は、予測ユニット(PU)と、変換ユニット(TU)のツリー構造セットと、を含み、PUは、すべての色成分の予測情報を含み、TUは、各色成分の残差コード化構文構造を含む。輝度成分のCB、PB、およびTBのサイズは、対応するCU、PU、およびTUに適用される。本出願では、「ブロック」という用語は、CTU、CU、PU、TU、CB、PB、およびTBのいずれかを指すために使用され得る。さらに、「ブロック」は、H.264/AVCまたは他のビデオコード化規格において規定されているマクロブロックおよびパーティションを指すためにも使用することができ、より一般的には、様々なサイズのデータのアレイを指すために使用することができる。
符号化器200では、以下に説明されるように、ピクチャが、符号化器要素によって符号化される。符号化されるピクチャは、例えば、CUの単位で処理される。各コード化ユニットは、イントラモードまたはインターモードのいずれかを使用して符号化される。コード化ユニットがイントラモードで符号化されるとき、イントラ予測を実行する(260)。インターモードにおいて、動き推定(275)および動き補償(270)が行われる。符号化器は、イントラモードまたはインターモードのうちの1つをコード化ユニットの符号化に使用するかを決定し(205)、予測モードフラグによってイントラ/インター決定を示す。予測残差は、元の画像ブロックから予測ブロックを減算することによって計算される(210)。
次いで、予測残差が変換され(225)、量子化される(230)。量子化された変換係数、ならびに動きベクトルおよび他の構文要素は、ビットストリームを出力するためにエントロピーコード化される(245)。非限定的な例として、コンテキストベースの適応型2値算術コーディング(CABAC)を使用して、構文要素をビットストリームに符号化することができる。
符号化器はまた、変換をスキップし、例えば、4×4TUベースで非変換残差信号に直接量子化を適用し得る。符号化器はまた、変換および量子化の双方をバイパスし得、すなわち、残差は、変換または量子化処理を適用せずに直接コード化される。直接PCMコード化では、予測は適用されず、コード化ユニットサンプルは、ビットストリームに直接コード化される。
符号化器は、符号化されたブロックを復号化して、さらに予測するための参照を提供する。量子化された変換係数は、逆量子化され(240)、逆変換され(250)、予測残差を復号化する。復号化された予測残差と予測ブロックとを組み合わせて(255)、画像ブロックが再構築される。インループフィルタ(265)は、再構築されたピクチャに適用され、例えば、デブロッキング/SAO(サンプル適応オフセット)フィルタリングを実行し、符号化アーティファクトを低減する。フィルタリングされた画像は、参照ピクチャバッファ(280)に記憶される。
図3は、HEVC復号化器などの例示的なビデオ復号化器300のブロック図を図示する。復号化器300では、以下に説明されているように、ビットストリームが、復号化器要素によって復号化される。ビデオ復号化器300は、概して、図2で説明されたような符号化パスの逆の復号化パスを実行し、これは、ビデオデータを符号化することの一部として、ビデオ復号化を実行する。図3はまた、HEVC規格に対して改善が行われた復号化器、またはVVC復号化器などのHEVCと同様の技術を採用した復号化器も図示し得る。
特に、復号化器の入力は、ビデオ符号化器200によって生成され得るビデオビットストリームを含む。ビットストリームは、まずエントロピー復号化され(330)、変換係数、動きベクトル、ピクチャパーティショニング情報、および他のコード化された情報を取得する。ピクチャパーティショニング情報は、ピクチャがパーティショニングされる方法、例えば、CTUのサイズ、およびCTUがCUに、および適用可能な場合、可能であればPUにパーティショニングされる方法を示す。したがって、復号化器は、復号化されたピクチャパーティショニング情報に従って、例えば、ピクチャをCTUに分割(335)し、各CTUをCUに分割し得る。変換係数は、逆量子化され(340)、逆変換され(350)、予測残差を復号化する。
復号化された予測残差と予測ブロックとを組み合わせて(355)、画像ブロックが再構築される。予測ブロックは、イントラ予測(360)または動き補償予測(すなわち、インター予測)(375)から取得され得る(370)。インループフィルタ(365)が再構築された画像に適用される。フィルタリングされた画像は、参照ピクチャバッファ(380)に記憶される。
復号化されたピクチャは、事後復号化処理(385)、例えば、逆色変換(例えば、YCbCr 4:2:0からRGB 4:4:4への変換)または事前符号化処理(201)で行われる再マッピングプロセスの逆を実行する逆再マッピングをさらに経ることができる。事後復号化処理は、事前符号化処理において導出され、かつビットストリームで信号通知された、メタデータを使用し得る。
VVCにおける新たなビデオ圧縮ツールには、圧縮領域におけるコード化ツリーユニット表現が含まれており、より柔軟な方法でピクチャデータを表現することができる。VVCでは、二分割および三分割セグメント化構造を使用して入れ子にされたマルチタイプツリー(MTT)を備える四分木は、複数のパーティションユニットタイプの概念を置き換える、すなわち、VVCは、いくつかの特別な場合を除いて、CU、PU、およびTU概念の分離を除去する。VVCコード化ツリー構造では、CUは、正方形または長方形のいずれかの形状を有することができる。コード化ツリーユニット(CTU)は、最初に四分木構造によってパーティショニングされる。次に、四分木リーフノードをマルチタイプツリー構造によってさらにパーティショニングすることができる。
特に、CTUのツリー分解は、様々な段階で進行し、最初にCTUを、四分木方式で分割し、次に各四分木リーフを、二分または三分方式でさらに分割することができる。これは、図6の右側に図示されており、実線は、四分木分解フェーズを表し、破線は、四分木リーフに空間的に埋め込まれた二分分解を表す。イントラスライスでは、デュアルツリーモードがアクティブになると、輝度ブロックおよび彩度ブロックパーティショニング構造が分離され、独立して決定される。
図7に示すように、マルチタイプツリー構造には、垂直二分割(VER)、水平二分割(HOR)、垂直三分割(VER_TRIPLE)、および水平三分割(HOR_TRIPLE)の4つの分割タイプがある。HOR_TRIPLEまたはVER_TRIPLE分割(水平または垂直トリプルツリー分割モード)は、コード化ユニット(CU)を3つのサブコード化ユニット(サブCU)に分割し、それぞれのサイズは、考慮される空間分割の方向の親CUサイズの1/4、1/2、および1/4に等しい。
マルチタイプツリーリーフノードは、コード化ユニット(CU)と呼ばれ、いくつかの特別な場合を除いて、このセグメント化は、さらなるパーティショニングを伴わずに、予測および変換処理に使用される。例外は、次の条件で発生する。
-CUの幅または高さが64より大きい場合、サポートされている最大変換サイズに等しいサイズのTUへのCUのタイリングが実行される。典型的に、最大変換サイズは、64に等しい場合がある。
-イントラCUが、ISP(イントラサブパーティション)モードでコード化されている場合、使用されるISPモードのタイプとCUの形状に応じて、CUは、2つまたは4つの変換ユニットに分割される。
-インターCUが、SBT(サブブロック変換)モードでコード化されている場合、CUは、2つの変換ユニットに分割され、結果として生じるTUの1つが、必然的にゼロに等しい残存データを有する。
-インターCUが、Triangle Prediction Merge(TPM)モードでコード化されている場合、CUは、2つの三角予測ユニットで構成され、各PUに、独自の動きデータが割り当てられる。
VVCドラフト6によると、分割に関連する構文は、シーケンスパラメータセット(SPS)にコード化されている。partition_constraints_override_enabled_flagが真の場合、パーティショニングに関連する構文は、スライスヘッダ(SH)でオーバーライドされ得る。VVCドラフト6で使用されるSPS構文およびSH構文を表1および表2に示す。
Figure 2023501026000002
いくつかのSPS構文要素のセマンティクは、以下に記載されている。
log2_ctu_size_minus5+5は、各CTUの輝度コード化ツリーブロックサイズを指定する。log2_ctu_size_minus5の値が、2以下であることが、ビットストリーム適合性の要件である。
Log2_min_luma_coding_block_size_minus2+2は、最小輝度コード化ブロックサイズを指定する。
変数CtbLog2SizeY、CtbSizeY、MinCbLog2SizeY、MinCbSizeY、IbcBufWidthY、IbcBufWidthC、およびVsizeは、次のように導出される。
CtbLog2SizeY=log2_ctu_size_minus5+5 (7-15)
CtbSizeY=1<<CtbLog2SizeY (7-16)
MinCbLog2SizeY=log2_min_luma_coding_block_size_minus2+2 (7-17)
MinCbSizeY=1<<MinCbLog2SizeY (7-18)
IbcBufWidthY=128*128/CtbSizeY (7-19)
IbcBufWidthC=IbcBufWidthY/SubWidthC (7-20)
VSize=Min(64,CtbSizeY) (7-21)
各彩度CTBのアレイの幅および高さをそれぞれ指定する変数CtbWidthCおよびCtbHeightCは、次のように導出される。
-chroma_format_idcが0(モノクロ)に等しいか、separate_colour_plane_flagが1に等しい場合、CtbWidthCおよびCtbHeightCは、両方とも0に等しい。
-それ以外の場合、CtbWidthCおよびCtbHeightCは、次のように導出される。
CtbWidthC=CtbSizeY/SubWidthC (7-22)
CtbHeightC=CtbSizeY/SubHeightC (7-23)
sps_log2_diff_min_qt_min_cb_intra_slice_lumaは、CTUの四分木分割から生じる輝度リーフブロックの輝度サンプルの最小サイズの2を底とする対数と、SPSを参照するslice_typeが2(I)に等しいスライスの輝度CUの輝度サンプルの最小コード化ブロックサイズの2を底とする対数とのデフォルトの差を指定する。partition_constraints_override_flagが1に等しい場合、デフォルトの差は、SPSを参照するスライスのスライスヘッダに存在するslice_log2_diff_min_qt_min_cb_lumaによってオーバーライドすることができる。sps_log2_diff_min_qt_min_cb_intra_slice_lumaの値は、0~CtbLog2SizeY-MinCbLog2SizeYの、それらを含めた範囲でなければならない。CTUの四分木分割から生じる輝度リーフブロックの輝度サンプルの最小サイズの2を底とする対数は、次のように導出される。
MinQtLog2SizeIntraY=sps_log2_diff_min_qt_min_cb_intra_slice_luma+MinCbLog2SizeY(7-24)
sps_log2_diff_min_qt_min_cb_inter_sliceは、CTUの四分木分割から生じる輝度リーフブロックの輝度サンプルの最小サイズの2を底とする対数と、SPSを参照するslice_typeが0(B)または1(P)に等しいスライス内の輝度CUの輝度サンプルの最小輝度コード化ブロックサイズの2を底とする対数とのデフォルトの差を指定する。partition_constraints_override_flagが1に等しい場合、デフォルトの差は、SPSを参照するスライスのスライスヘッダに存在するslice_log2_diff_min_qt_min_cb_lumaによってオーバーライドすることができる。sps_log2_diff_min_qt_min_cb_inter_sliceの値は、0~CtbLog2SizeY-MinCbLog2SizeYの、それらを含めた範囲でなければならない。CTUの四分木分割から生じる輝度リーフブロックの輝度サンプルの最小サイズの2を底とする対数は、次のように導出される。
MinQtLog2SizeInterY=sps_log2_diff_min_qt_min_cb_inter_slice+MinCbLog2SizeY(7-25)
sps_max_mtt_hierarchy_depth_inter_sliceは、SPSを参照するslice_typeが0(B)または1(P)に等しいスライスの四分木リーフのマルチタイプツリー分割から生じるコード化ユニットのデフォルトの最大階層深さを指定する。partition_constraints_override_flagが1に等しい場合、デフォルトの最大階層深さは、SPSを参照するスライスのスライスヘッダに存在するslice_max_mtt_hierarchy_depth_lumaによってオーバーライドすることができる。sps_max_mtt_hierarchy_depth_inter_sliceの値は、0~CtbLog2SizeY-MinCbLog2SizeYの、それらを含めた範囲でなければならない。
sps_max_mtt_hierarchy_depth_intra_slice_lumaは、SPSを参照するslice_typeが2(I)に等しいスライスの四分木リーフのマルチタイプツリー分割から生じるコード化ユニットのデフォルトの最大階層深さを指定する。partition_constraints_override_flagが1に等しい場合、デフォルトの最大階層深さは、SPSを参照するスライスのスライスヘッダに存在するslice_max_mtt_hierarchy_depth_lumaによってオーバーライドすることができる。sps_max_mtt_hierarchy_depth_intra_slice_lumaの値は、0~CtbLog2SizeY-MinCbLog2SizeYの、それらを含めた範囲でなければならない。
sps_log2_diff_max_bt_min_qt_intra_slice_lumaは、二分割を使用して分割することができる輝度コード化ブロックの輝度サンプルの最大サイズ(幅または高さ)の2を底とする対数と、SPSを参照するslice_typeが2(I)に等しいスライスのCTUの四分木分割から生じる輝度リーフブロックの輝度サンプルの最小サイズ(幅または高さ)とのデフォルトの差を指定する。partition_constraints_override_flagが1に等しい場合、デフォルトの差は、SPSを参照するスライスのスライスヘッダに存在するslice_log2_diff_max_bt_min_qt_lumaによってオーバーライドすることができる。sps_log2_diff_max_bt_min_qt_intra_slice_lumaの値は、0~CtbLog2SizeY-MinQtLog2SizeIntraYの、それらを含めた範囲でなければならない。sps_log2_diff_max_bt_min_qt_intra_slice_lumaが存在しない場合、sps_log2_diff_max_bt_min_qt_intra_slice_lumaの値は、0に等しいと推測される。
sps_log2_diff_max_tt_min_qt_intra_slice_lumaは、三分割を使用して分割することができる輝度コード化ブロックの輝度サンプルの最大サイズ(幅または高さ)の2を底とする対数と、SPSを参照するslice_typeが2(I)に等しいスライスのCTUの四分木分割から生じる輝度リーフブロックの輝度サンプルの最小サイズ(幅または高さ)とのデフォルトの差を指定する。partition_constraints_override_flagが1に等しい場合、デフォルトの差は、SPSを参照するスライスのスライスヘッダに存在するslice_log2_diff_max_tt_min_qt_lumaによってオーバーライドすることができる。sps_log2_diff_max_tt_min_qt_intra_slice_lumaの値は、0~CtbLog2SizeY-MinQtLog2SizeIntraYの、それらを含めた範囲でなければならない。sps_log2_diff_max_tt_min_qt_intra_slice_lumaが存在しない場合、sps_log2_diff_max_tt_min_qt_intra_slice_lumaの値は、0に等しいと推測される。
sps_log2_diff_max_bt_min_qt_inter_sliceは、二分割を使用して分割することができる輝度コード化ブロックの輝度サンプルの最大サイズ(幅または高さ)の2を底とする対数と、SPSを参照するslice_typeが0(B)または1(P)に等しいスライスのCTUの四分木分割から生じる輝度リーフブロックの輝度サンプルの最小サイズ(幅または高さ)とのデフォルトの差を指定する。partition_constraints_override_flagが1に等しい場合、デフォルトの差は、SPSを参照するスライスのスライスヘッダに存在するslice_log2_diff_max_bt_min_qt_lumaによってオーバーライドすることができる。sps_log2_diff_max_bt_min_qt_inter_sliceの値は、0~CtbLog2SizeY-MinQtLog2SizeInterYの、それらを含めた範囲でなければならない。sps_log2_diff_max_bt_min_qt_inter_sliceが存在しない場合、sps_log2_diff_max_bt_min_qt_inter_sliceの値は、0に等しいと推測される。
sps_log2_diff_max_tt_min_qt_inter_sliceは、三分割を使用して分割することができる輝度コード化ブロックの輝度サンプルの最大サイズ(幅または高さ)の2を底とする対数と、SPSを参照するslice_typeが0(B)または1(P)に等しいスライスのCTUの四分木分割から生じる輝度リーフブロックの輝度サンプルの最小サイズ(幅または高さ)とのデフォルトの差を指定する。partition_constraints_override_flagが1に等しい場合、デフォルトの差は、SPSを参照するスライスのスライスヘッダに存在するslice_log2_diff_max_tt_min_qt_lumaによってオーバーライドすることができる。sps_log2_diff_max_tt_min_qt_inter_sliceの値は、0~CtbLog2SizeY-MinQtLog2SizeInterYの、それらを含めた範囲でなければならない。sps_log2_diff_max_tt_min_qt_inter_sliceが存在しない場合、sps_log2_diff_max_tt_min_qt_inter_sliceの値は、0に等しいと推測される。
sps_log2_diff_min_qt_min_cb_intra_slice_chromaは、treeTypeがDUAL_TREE_CHROMAに等しい彩度CTUの四分木分割から生じる彩度リーフブロックの輝度サンプルの最小サイズの2を底とする対数と、SPSを参照するslice_typeが2(I)に等しいスライスの、treeTypeがDUAL_TREE_CHROMAに等しい彩度CUの輝度サンプルの最小コード化ブロックサイズの2を底とする対数とのデフォルトの差を指定する。partition_constraints_override_flagが1に等しい場合、デフォルトの差は、SPSを参照するスライスのスライスヘッダに存在するslice_log2_diff_min_qt_min_cb_chromaによってオーバーライドすることができる。sps_log2_diff_min_qt_min_cb_intra_slice_chromaの値は、0~CtbLog2SizeY-MinCbLog2SizeYの、それらを含めた範囲でなければならない。存在しない場合、sps_log2_diff_min_qt_min_cb_intra_slice_chromaの値は、0に等しいと推測される。treeTypeがDUAL_TREE_CHROMAに等しいCTUの四分木分割から生じる彩度リーフブロックの輝度サンプルの最小サイズの2を底とする対数は、次のように導出される。
MinQtLog2SizeIntraC=sps_log2_diff_min_qt_min_cb_intra_slice_chroma+MinCbLog2SizeY(7-26)
sps_max_mtt_hierarchy_depth_intra_slice_chromaは、SPSを参照するslice_typeが2(I)に等しいスライスの、treeTypeがDUAL_TREE_CHROMAに等しい彩度四分木リーフのマルチタイプツリー分割から生じる彩度コード化ユニットのデフォルトの最大階層深さを指定する。partition_constraints_override_flagが1に等しい場合、デフォルトの最大階層深さは、SPSを参照するスライスのスライスヘッダに存在するslice_max_mtt_hierarchy_depth_chromaによってオーバーライドすることができる。sps_max_mtt_hierarchy_depth_intra_slice_chromaの値は、0~CtbLog2SizeY-MinCbLog2SizeYの、それらを含めた範囲でなければならない。存在しない場合、sps_max_mtt_hierarchy_depth_intra_slice_chromaの値は、0に等しいと推測される。
sps_log2_diff_max_bt_min_qt_intra_slice_chromaは、二分割を使用して分割することができる彩度コード化ブロックの輝度サンプルの最大サイズ(幅または高さ)の2を底とする対数と、SPSを参照するslice_typeが2(I)に等しいスライスの、treeTypeがDUAL_TREE_CHROMAに等しい彩度CTUの四分木分割から生じる彩度リーフブロックの輝度サンプルの最小サイズ(幅または高さ)とのデフォルトの差を指定する。partition_constraints_override_flagが1に等しい場合、デフォルトの差は、SPSを参照するスライスのスライスヘッダに存在するslice_log2_diff_max_bt_min_qt_chromaによってオーバーライドすることができる。sps_log2_diff_max_bt_min_qt_intra_slice_chromaの値は、0~CtbLog2SizeY-MinQtLog2SizeIntraCの、それらを含めた範囲でなければならない。sps_log2_diff_max_bt_min_qt_intra_slice_chromaが存在しない場合、sps_log2_diff_max_bt_min_qt_intra_slice_chromaの値は、0に等しいと推測される。
sps_log2_diff_max_tt_min_qt_intra_slice_chromaは、三分割を使用して分割することができる彩度コード化ブロックの輝度サンプルの最大サイズ(幅または高さ)の2を底とする対数と、SPSを参照するslice_typeが2(I)に等しいスライスの、treeTypeがDUAL_TREE_CHROMAに等しい彩度CTUの四分木分割から生じる彩度リーフブロックの輝度サンプルの最小サイズ(幅または高さ)とのデフォルトの差を指定する。partition_constraints_override_flagが1に等しい場合、デフォルトの差は、SPSを参照するスライスのスライスヘッダに存在するslice_log2_diff_max_tt_min_qt_chromaによってオーバーライドすることができる。sps_log2_diff_max_tt_min_qt_intra_slice_chromaの値は、0~CtbLog2SizeY-MinQtLog2SizeIntraCの、それらを含めた範囲でなければならない。sps_log2_diff_max_tt_min_qt_intra_slice_chromaが存在しない場合、sps_log2_diff_max_tt_min_qt_intra_slice_chromaの値は、0に等しいと推測される。
sps_max_luma_transform_size_64_flagが1に等しい場合、輝度サンプルの最大変換サイズが64に等しいことを指定する。sps_max_luma_transform_size_64_flagが0に等しい場合、輝度サンプルの最大変換サイズが32に等しいことを指定する。
CtbSizeYが64未満の場合、sps_max_luma_transform_size_64_flagの値は、0に等しくなければならない。
変数MinTbLog2SizeY、MaxTbLog2SizeY、MinTbSizeY、およびMaxTbSizeYは、次のように導出される。
MinTbLog2SizeY=2 (7-27)
MaxTbLog2SizeY=sps_max_luma_transform_size_64_flag?6:5 (7-28)
MinTbSizeY=1<<MinTbLog2SizeY (7-29)
MaxTbSizeY=1<<MaxTbLog2SizeY (7-30)
Figure 2023501026000003
以下では、例として、インタースライスの輝度色成分の構文要素sps_max_mtt_hierarchy_depth_inter_sliceを使用して、四分木リーフから分割するマルチタイプツリーの最大許容階層深さ(max_mtt_hierarchy_depth)について説明する。しかしながら、本原則は、イントラスライスまたは彩度色成分(例えば、構文要素sps_max_mtt_hierarchy_depth_intra_slice_lumaおよびsps_log2_diff_min_qt_min_cb_intra_slice_chroma)にも適用することができる。
VVCドラフト6では、値sps_max_mtt_hierarchy_depth_inter_sliceは、0~CtbLog2SizeY-MinCbLog2SizeYの、それらを含めた範囲でなければならない。典型的に、MinCbLog2SizeYは、4x4ブロックに対応する2に等しく、CtbLog2SizeYは、128x128CTUに対応する7に等しい。この構成では、max_mtt_hierarchy_depthは、0~5の範囲でなければならない。最小QTサイズ(すなわち、1<<MinQtLog2SizeInterY)が32に等しく、BTのみが使用される場合、到達することができる最小ブロックサイズは、図8に示すように、BT分割深さが5である場合に、4x8および8x4である。つまり、この例では、符号化器に、4x4ブロックサイズをサポートする柔軟性がない。より一般的には、符号化器は、VVCによって指定された分割モードのサブセットのみをサポートする。
柔軟性の欠如を強調するために、CTUサイズが32に等しく、最小Cbサイズが8、最小QTサイズが32の構成を使用する。これは、BTおよびTTのみを使用することができることを意味する。この構成では、max_mtt_hierarchy_depthは、2に設定されている。BTのみを使用する場合、到達することができる最小ブロックサイズは、16x16または8x32であり、TTのみを使用する場合、図9および図10に示すように、一部の領域は、16x16にのみ分割することができる。
分割に関連する構文要素をよりよく図示するために、図11は、CTUサイズ、最小コード化ブロックサイズ、最大変換サイズ、最小QTサイズ、および最大BT/TTサイズの可能な値を図示する。VTM6.0の共通実験条件(CTC)に使用される実際の値も図示されている。最小コード化ブロックサイズ(min_luma_coding_block_size)は、CTUサイズによってのみ制限されることが分かる。
上記のように、BTまたはTT分割が許容される最大ブロックサイズと最大マルチタイプツリー階層深さを組み合わせて使用するため、コード化ツリー深さが標準的に制限される方法により、VVC圧縮スキームは、固定された最大ブロックサイズおよび最小ブロックサイズが与えられた場合、コード化効率の点で、潜在的に準最適になる。別の問題は、log2_min_luma_coding_block_size_minus2構文要素が、他の構文要素に関連しておらず、最大値を有しないことである。これにより、符号化器が最大ブロックサイズよりも大きいlog2_min_luma_coding_block_size_minus2の値でVVCビットストリームを生成し、一貫性のないものにする状況をもたらし得る。
最大分割深さに対するVVCの柔軟性の欠如に対処するために、最大二分木(BT)サイズ、最大三分木(TT)サイズ、および最大階層深さ情報が、イントラスライスおよびインタースライスに対して別々に定義される。デュアルツリーの場合、最大BTサイズ/最大TTサイズおよび最大MTT深さも、イントラスライスの彩度ツリーに対して定義される。提案された方法は、事前に固定された最大および最小コード化ブロックサイズの制約の下で、到達可能なコード化ツリーノードおよびリーフのセットを増加させ、したがって、許容されたコード化ツリー表現のより高度な柔軟性を通じて圧縮効率を改善し得る。
一実施形態では、sps_max_mtt_hierarchy_depth_inter_sliceおよびsps_max_mtt_hierarchy_depth_intra_slice_lumaの最大値が増加する。以下では、表記を簡単にするために、max_mtt_hierarchy_depthを総称として使用して、最大MTT階層深さに関連する構文要素、例えば、sps_max_mtt_hierarchy_depth_inter_sliceおよびsps_max_mtt_hierarchy_depth_intra_slice_lumaを指す。別の実施形態では、分割ツリーを記述するためのさらに高い柔軟性を提供するために、利用可能なすべてのQT深さについてmax_mtt_hierarchy_depthが記述される。別の実施形態では、QT分割が所与の深さに対して利用可能である場合、およびQT分割が所与の深さに対して利用可能でない場合、max_mtt_hierarchy_depthは異なる。
別の実施形態では、構文要素sps_max_luma_transform_size_64_flagは、log2_min_luma_coding_block_size_minus2の前に移動され、最大変換サイズ(sps_max_luma_transform_size_64_flag)に応じて、コード化ブロックサイズの最大値(log2_min_luma_coding_block_size_minus2)を定義する。
以下では、異なる実施形態をさらに詳細に説明する。
VVCドラフト6の最大階層深さ
この実施形態では、連続分割の許容数(すなわち、分割深さ、またはMTT階層深さ)を、CTUサイズとCUの最小サイズとの間の差の2倍に増加させることを提案する。この増加により、QTが使用されず(最小QTはCTUサイズとして定義される)、BTおよびTTの分割のみが使用される最悪の場合、最小CUサイズに到達することができる。
仕様のテキストの変更は、以下に下線が引かれている。
sps_max_mtt_hierarchy_depth_inter_sliceは、SPSを参照するslice_typeが0(B)または1(P)に等しいスライスの四分木リーフのマルチタイプツリー分割から生じるコード化ユニットのデフォルトの最大階層深さを指定する。partition_constraints_override_flagが1に等しい場合、デフォルトの最大階層深さは、SPSを参照するスライスのスライスヘッダに存在するslice_max_mtt_hierarchy_depth_lumaによってオーバーライドすることができる。sps_max_mtt_hierarchy_depth_inter_sliceの値は、
Figure 2023501026000004
の、それらを含めた範囲内でなければならない。
slice_max_mtt_hierarchy_depth_lumaは、現在のスライスの四分木リーフのマルチタイプツリー分割から生じるコード化ユニットの最大階層深さを指定する。slice_max_mtt_hierarchy_depth_lumaの値は、
Figure 2023501026000005
の、それらを含めた範囲内でなければならない。存在しない場合、slice_max_mtt_hierarchy_depth_lumaの値は、次のように推測される。
slice_typeが2(I)に等しい場合、slice_max_mtt_hierarchy_depth_lumaの値は、sps_max_mtt_hierarchy_depth_intra_slice_lumaに等しいと推測される。
それ以外の場合(slice_typeが0(B)または1(P)に等しい)、slice_max_mtt_hierarchy_depth_lumaの値は、sps_max_mtt_hierarchy_depth_inter_sliceに等しいと推測される。
VVCドラフト6で指定されている(CtbLog2SizeY-MinCbLog2SizeY)ではなく値2*(CtbLog2SizeY-MinCbLog2SizeY)の理由は、QT、BT、またはTTのどの分割タイプが使用されているかに関係なく、それが最小許容ブロックサイズに到達することを可能にすることである。特に、二分木(BT)分割のみで到達することができ、これは、VVCドラフト6で現在指定されている標準的な制約には当てはまらない。したがって、提案されたアプローチの利点は、最大および最小のコード化ブロックサイズの制約の下で、VVC符号化器で達成することができる圧縮パフォーマンスを最大化することである。
適応最大MTT深さ
この実施形態では、max_mtt_hierarchy_depthは、分割ツリーでより柔軟性を提供するために、すべてのQTレベルに対して標準的に指定される。四分木リーフによって到達することができる各レベルに関連付けられた最大マルチタイプツリー深さを指定する利点は、符号化器レート歪みの組み合わせを細かく割り当てることを可能にすることである。実際、最適なコード化ツリーのレート歪み検索は、符号化器検索スペースの大きな組み合わせを意味する。したがって、マルチタイプタイプのコード化ツリー検索の組み合わせを微調整して、すべての組み合わせに対する符号化器検索と圧縮パフォーマンスとの間の適切なトレードオフを取得することは興味深いことである。各四分木レベルに最大mtt階層深さを割り当てると、RD検索組み合わせと圧縮パフォーマンスとの間のより良いトレードオフを取得する方法が提供される。したがって、各四分木レベルの最大mttコード化ツリー深さの標準信号通知の柔軟性が高いほど、VVCドラフト6仕様では現在到達可能ではない符号化器の複雑さ/圧縮効率のトレードオフにつながる。
Figure 2023501026000006
ここでは、最初に、最小四分木サイズsps_log2_diff_max_mtt_size_min_qt_size_inter_slice_lumaと比較して、mttツリーを開始することができる最大サイズが何であるかを示す構文要素を信号通知する。mttを開始することができる最大サイズは、次のように推定される。
max_mtt_size=1<<(sps_log2_diff_max_mtt_size_min_qt_size_inter_slice_luma+MinQtLog2SizeInterY)。
sps_log2_diff_max_mtt_size_min_qt_size_inter_slice_lumaの最大値は、CtbLog2SizeY-MinQtLog2SizeInterYである。
sps_log2_diff_max_mtt_size_min_qt_size_inter_slice_lumaが0に等しい場合、mtt分割が許容されていないことを意味する。ゼロでない場合、mttが許容されている各QTレベルに対して、BTおよびTTの両方の最大深さが信号通知される。各レベルに対して、sps_max_bt_depth_inter_slice_luma[i]の許容範囲は、0~2x(i+MinQtLog2SizeInterY-MinCbLog2SizeY)である。現在考慮されている四分木リーフノードサイズのlog2と最小コード化ブロックサイズのlog2との間の差の2倍に対応するこの最後の値。これは、二分木分割によって最小コード化ブロックサイズに到達することができることを確実にする。
一例では、VVCで次のように分割ツリーを定義することができる。
Figure 2023501026000007
-次の値を信号通知することによって、
-log2_ctu_size_minus5=2 (CTUサイズは128である)
-log2_min_luma_coding_block_size_minus2=0 (最小CUサイズは4である)
-sps_log2_diff_min_qt_min_cb_intra_slice_luma=1 (QT分割の結果として生じる最小CUサイズは8である)
-sps_log2_diff_max_mtt_size_min_qt_size=2 (mtt分割の最大CUサイズは32である)
-sps_max_bt_depth_inter_slice_luma[0]=2 (8x8CUで2つのBT分割が許容される)
-sps_max_bt_depth_inter_slice_luma[1]=4 (16x16CUで4つのBT分割が許容される)
-sps_max_bt_depth_inter_slice_luma[2]=2 (32x32CUで2つのBT分割が許容される)
同じ原則がintra_slice_lumaおよびintra_slice_chromaにも当てはまる。
別の実施形態では、最大許容階層深さは、四分木リーフを分割するBTまたはTTが許容される各四分木レベルに関連付けられた、四分木リーフのマルチタイプツリー分割に対して標準的に指定される。基本的に、MTT分割が必然的にlog2がMinQtLog2SizeIntraYと(MinQtLog2SizeIntraY+log2_diff_max_mtt_min_qt_intra_slice_luma)との間に含まれるサイズの正方形CUである四分木リーフに対応するコード化ユニット。
ここでは、log2_diff_max_mtt_min_qt_intra_slice_lumaを、信号通知された値sps_log2_diff_max_bt_min_qt_intra_slice_lumaとsps_log2_diff_max_tt_min_qt_intra_slice_lumaとの間の最大値で定義する。log2がMinQtLog2SizeIntraYと(MinQtLog2SizeIntraY+log2_diff_max_mtt_min_qt_intra_slice_luma)との間に含まれる各ブロックサイズごとに、最大マルチタイプツリー深さが信号通知される。
値sps_max_mtt_hierarchy_depth_intra_slice_luma[i]は、四分木リーフに対応するCUを吐き出すためのマルチタイプツリーの最大階層深さを指定する。
Figure 2023501026000008
log2_diff_max_mtt_min_qt_intra_slice_lumaの場合と同様に、パラメータlog2_diff_max_mtt_min_qt_inter_sliceは、信号通知された値sps_log2_diff_max_bt_min_qt_inter_slice_lumaとsps_log2_diff_max_tt_min_qt_inter_slice_lumaとの間の最大値として定義される。log2がMinQtLog2SizeInterYと(MinQtLog2SizeInterY+log2_diff_max_mtt_min_qt_inter_slice)との間に含まれる各ブロックサイズごとに、最大マルチタイプツリー深さが信号通知される。
log2_diff_max_mtt_min_qt_intra_slice_lumaの場合と同様に、パラメータlog2_diff_max_mtt_min_qt_intra_slice_chromaは、信号通知された値sps_log2_diff_max_bt_min_qt_intra_slice_chromaとsps_log2_diff_max_tt_min_qt_intra_slice_chromaとの間の最大値として定義される。log2がMinQtLog2SizeIntraCと(MinQtLog2SizeIntraC+log2_diff_max_mtt_min_qt_intra_slice)との間に含まれるブロックサイズごとに、最大マルチタイプツリー深さが信号通知される。
表5の実施形態の変形例によれば、構文要素sps_max_mtt_hierarchy_depth_intra_slice_luma_present_flag、sps_max_mtt_hierarchy_depth_inter_slice_luma_present_flagおよびsps_max_mtt_hierarchy_depth_intra_slice_chroma_present_flagは、SPS仕様には含まれていない。本変形例は、次の表6の形態を採り得る。
Figure 2023501026000009
別の変形例では、最大MTT階層深さのコード化は、四分木リーフサイズのlog2ではなく、四分木深さによってインデックス付けされる。これは、表7とは若干異なる形態を採り得る。
表7の変形例では、数量strat_qt_depth_inter_sliceは、次のように定義される。
start_qt_depth_inter_slice=CtbLog2SizeY-max(MaxBtLog2SizeY,MaxTtLog2SizeY)
式中、
MaxBtLog2SizeY=(MinQtLog2SizeInterY+sps_log2_diff_max_bt_min_qt_inter_slice)
MaxTtLog2SizeY=(MinQtLog2SizeY+sps_log2_diff_max_bt_min_qt_inter_slice)
さらに、max_qt_depth_inter_sliceは、次のように定義される。
max_qt_depth_inter_slice=CtbLog2SizeY-MinQtLog2SizeInterY
数量start_qt_depth_intra_slice_luma、max_qt_depth_intra_slice_luma、start_qt_depth_intra_slice_chroma、およびmax_qt_depth_intra_slice_chromaは、それぞれ、イントラスライス輝度およびイントラスライス彩度の場合(デュアルツリーの場合)を別にすれば、start_qt_depth_inter_sliceおよびmax_qt_depth_inter_sliceと類似した方法で定義される。
Figure 2023501026000010
さらに別の実施形態では、ここで提案された前述の変形例のいずれかはまた、スライスヘッダのコード化にも使用される。実際、VVCドラフト6仕様では、SPSで信号通知されたコード化ツリーパラメータは、例えば、表2に示されている構文テーブルに従って、スライスヘッダでオーバーライドされ得る。
符号化器側では、コード化された最大MTT階層深さは、考慮される四分木リーフノードのサイズのlog2と最小コード化ブロックサイズのサイズのlog2との間の深さの差に応じて、上限を設定され得ることに留意されたい。これは次の形式を取り得る。深さ値i(表7のループのうちの1つにあるインデックス)が与えられると、符号化する最大mtt階層深さは、値2*(CtbLog2SizeY-i-MinCbLog2SizeY)によって上限が設定され得、式中、2*(CtbLog2SizeY-i-MinCbLog2SizeY)は、BT分割のみを使用して、幅および高さの両方の最小ブロックサイズに到達するために必要な分割数を表す実際、分割する所与のブロックから幅および高さの半分のサイズのブロックを取得するには、ちょうど2つの対称二分割段階が必要である。値を上限2*(CtbLog2SizeY-i-MinCbLog2SizeY)でクリップすることは、SPSおよびスライスヘッダのコード化のビット節約の点で、有益であり得る。
さらに、標準的に、最大mtt階層の深さが、0~値2*(CtbLog2SizeY-i-MinCbLog2SizeY)の範囲に及ぶことを可能にすると、BT分割によって最小コード化ブロックサイズに到達できることを確実にすることに留意されたい。
最後に、各四分木レベルの最大MTT階層深さの提案された高レベル信号通知は、CU分割情報のCUレベル復号化器側の構文解析プロセス中に考慮される。
そうするために、te復号化器は、所与のCTUのコード化ツリーの現在のノードに対して所与の二分割モードまたは三分割モードが許容されているかどうかを評価するときに、現在のコード化ツリーノードのマルチタイプツリー深さと最大マルチタイプツリー深さとを、現在のコード化ツリーノードに関連付けられている四分木深さで比較する。マルチタイプツリー深さが、考慮される四分木深さで、最大許容マルチタイプツリー深さ以上の場合、現在のツリーノードでは、すべての二分割モードおよび三分割モードが禁止される。したがって、復号化器は、考慮されるツリーノードの分割モードが任意の二分割モードまたは三分割モードとは異なると推測する。
分割情報のVVCドラフト6構文解析プロセスとの相違は、VVCドラフト6では、現在のツリーノードの最大許容マルチタイプツリー深さが、考慮されるコード化ツリーノードに関連付けられた四分木深さに依存しないことである。イントラスライスタイプの場合は、スライスタイプおよび成分タイプにのみ依存する。
二分割/三分割の有効化
この実施形態では、2つの新しいフラグは、SPSに導入されて、BTおよびTT分割が使用されるかどうかを信号通知する。次に、2種類の分割のうちの少なくとも1つが使用される場合、sps_max_mtt_hierarchy_depth構文要素は、表8に示すようにコード化される。表8の実施形態の変形例では、sps_bt_enabled_flagは次のように定義される。
sps_bt_enabled_flagが1に等しい場合、ブロック分割をコード化するプロセスで二分割が許容されることを指定する。
Figure 2023501026000011
別の変形例では、BTおよびTT分割は、イントラ輝度、インター彩度、およびイントラ彩度で異なる方法で有効または無効にされ、より多くの柔軟性を許容する。表9に示す実施形態では、sps_bt_enabled_flagは、次のように定義される。
sps_bt_enabled_flagが1に等しい場合、SPSを参照するslice_typeが2(I)に等しいスライスの四分木リーフのブロック分割を符号化するプロセスで、二分割が許容されることを指定する。
Figure 2023501026000012
別の変形例では、sps_log2_diff_max_bt_min_qtまたはsps_log2_diff_max_tt_min_qt構文要素を使用して、BTまたはTTを無効にする。現在のVVCドラフト6では、sps_max_mtt_hierarchy_depth構文要素に、0より大きい値を設定することにより、BTおよびTTの分割が一緒に有効になる。表9の変形例では、sps_log2_diff_max_bt_min_qtおよびsps_log2_diff_max_bt_min_qtが最初に定義され、次にsps_max_mtt_hierarchy_depthが条件付きで構文解析される。sps_log2_diff_max_bt_min_qt(sps_log2_diff_max_tt_min_qt)は、sps_log2_diff_max_bt_min_qt_plus_one(sps_log2_diff_max_tt_min_qt_plus_one)に変更され、値0は、BT/TTが無効であることを示す。実際、この場合、最大BTサイズは、最小QTサイズよりも厳密に劣っているため、使用されることはない。sps_log2_diff_max_bt_min_qt_plus_one(sps_log2_diff_max_tt_min_qt_plus_one)構文要素は、次のように定義される。
sps_log2_diff_max_bt_min_qt_plus_one_intra_slice_lumaは、二分割を使用して分割することができる輝度コード化ブロックの輝度サンプルの最大サイズ(幅または高さ)の2を底とする対数と、SPSを参照するslice_typeが2(I)に等しいスライス+1のCTUの四分木分割から生じる輝度リーフブロックの輝度サンプルの最小サイズ(幅または高さ)とのデフォルトの差を指定する。partition_constraints_override_flagが1に等しい場合、デフォルトの差は、SPSを参照するスライスのスライスヘッダに存在するslice_log2_diff_max_bt_min_qt_lumaによってオーバーライドすることができる。sps_log2_diff_max_bt_min_qt_minus_one_intra_slice_lumaの値は、0~CtbLog2SizeY-MinQtLog2SizeIntraY+1の、それらを含めた範囲でなければならない。sps_log2_diff_max_bt_min_qt_minus_intra_slice_lumaが存在しない場合、sps_log2_diff_max_bt_min_qt_intra_slice_lumaの値は、0に等しいと推測される。
Figure 2023501026000013
適応最大mtt深さの簡略化
別の変形例では、(前の実施形態のようにQTレベルごとに1つではなく)最大mtt深さの2つのレベルのみ、すなわち、QT分割が許容されるときの最大mtt深さ、およびそれ以上QT分割が許容されないときの最大mtt深さが信号通知される。
Figure 2023501026000014
この実施形態では、最初に構文要素sps_max_mtt_hierarchy_depth_before_minqt_inter_sliceに信号通知する。
sps_max_mtt_hierarchy_depth_before_minqt_inter_sliceは、この四分木リーフサイズが、SPSを参照するslice_typeが0(B)または1(P)に等しいスライスで、MinQtLog2SizeInterYに等しくない(厳密にはそれよりも大きい)場合、四分木リーフのマルチタイプツリー分割から生じるコード化ユニットのデフォルトの最大階層深さを指定する。partition_constraints_override_フラグが1に等しい場合、デフォルトの最大階層深さは、SPSを参照するスライスのスライスヘッダに存在するslice_max_mtt_hierarchy_depth_before_minqt_lumaによってオーバーライドすることができる。sps_max_mtt_hierarchy_depth_before_min_qt_inter_sliceの値は、0~CtbLog2SizeY-MinCbLog2SizeYの、それらを含めた範囲でなければならない。
sps_log2_diff_min_qt_min_cb_inter_sliceが0に等しくない場合、最小コード化ブロックサイズに到達する前にQTツリーが停止することを意味し、したがって、最小コード化ブロックサイズに到達するには、より多くの二分割/三分割を使用する必要がある。したがって、このsps_log2_diff_min_qt_min_cb_inter_slice値は、sps_log2_diff_max_hierarchy_depth_after_minqt_intra_slice_luma構文要素を構文解析するための条件である。
sps_max_mtt_hierarchy_depth_after_minqt_inter_sliceは、この四分木リーフサイズが、SPSを参照するslice_typeが0(B)または1(P)に等しいスライスで、MinQtLog2SizeInterYに等しい場合、四分木リーフのマルチタイプツリー分割から生じるコード化ユニットのデフォルトの最大階層深さを指定する。partition_constraints_override_フラグが1に等しい場合、デフォルトの最大階層深さは、SPSを参照するスライスのスライスヘッダに存在するslice_max_mtt_hierarchy_depth_after_minqt_lumaによってオーバーライドすることができる。sps_max_mtt_hierarchy_depth_after_min_qt_inter_sliceの値は、0~CtbLog2SizeY-MinCbLog2SizeYの、それらを含めた範囲でなければならない。
同じ原則がintra_slice_lumaおよびintra_slice_chromaにも当てはまる。
前の実施形態は、別々にまたは組み合わせて使用され得る。例えば、前述のように階層深さを2倍にする実施形態は、表11に記載の実施形態と組み合わされる。これは典型的に、最大mtt階層深さが、VVCドラフト6での最大許容値と比較して2倍になることを意味する。これは次の形式を取る。
値sps_max_mtt_hierarchy_depth_before_minqt_inter_sliceの範囲は、0(分割は許容されていない)~2*(CtbLog2SizeY-MinCbLog2SizeY)である。
値sps_max_mtt_hierarchy_depth_before_minqt_intra_slice_lumaの範囲は、0(分割は許容されていない)~2*(CtbLog2SizeY-MinCbLog2SizeY)である。
sps_max_mtt_hierarchy_depth_after_minqt_inter_slice範囲の値は、0(分割は許容されていない)~2*(MinQtLog2SizeY-MinCbLog2SizeY)に変更される。
sps_max_mtt_hierarchy_depth_after_minqt_intra_slice_lumaの値の範囲は、0(分割は許容されていない)~2*(MinQtLog2SizeY-MinCbLog2SizeY)に変更される。
sps_max_mtt_hierarchy_depth_before_minqt_intra_slice_chromaの値の範囲は、0(分割は許容されていない)~2*(MinQtLog2SizeY-MinCbLog2SizeY)に変更される。
sps_max_mtt_hierarchy_depth_after_minqt_intra_slice_chromaの値の範囲は、0(分割は許容されていない)~2*(MinQtLog2SizeY-MinCbLog2SizeY)に変更される。
一例では、表12に示すように分割ツリーを定義することができる。
Figure 2023501026000015
log2_min_luma_coding_block_size_minus2構文要素の最大値
この実施形態では、表13に示すように、sps_max_luma_transform_size_64_flag構文要素は、log2_ctu_size_minus5の後、およびlog2_min_luma_coding_block_size_minus2の前に移動される。
Figure 2023501026000016
sps_max_luma_transform_size_64_flagが1に等しい場合、輝度サンプルの最大変換サイズが64に等しいことを指定する。sps_max_luma_transform_size_64_flagが0に等しい場合、輝度サンプルの最大変換サイズが32に等しいことを指定する。
CtbSizeYが64未満の場合、sps_max_luma_transform_size_64_flagの値は、0に等しい。
変数MinTbLog2SizeY、MaxTbLog2SizeY、MinTbSizeY、およびMaxTbSizeYは、次のように導出される。
MinTbLog2SizeY=2 (7-27)
MaxTbLog2SizeY=sps_max_luma_transform_size_64_flag?6:5 (7-28)
MinTbSizeY=1<<MinTbLog2SizeY (7-29)
MaxTbSizeY=1<<MaxTbLog2SizeY
log2_min_luma_coding_block_size_minus2+2は、最小輝度コード化ブロックサイズを指定する。
VVCドラフト6では、log2_min_luma_coding_block_size_minus2構文要素の上限は、指定されていない。
変数CtbLog2SizeY、CtbSizeY、MinCbLog2SizeY、MinCbSizeY、IbcBufWidthY、IbcBufWidthC、およびVsizeは、次のように導出される。
CtbLog2SizeY=log2_ctu_size_minus5+5 (7-15)
CtbSizeY=1<<CtbLog2SizeY (7-16)
MinCbLog2SizeY=log2_min_luma_coding_block_size_minus2+2 (7-17)
MinCbSizeY=1<<MinCbLog2SizeY (7-18)
IbcBufWidthY=128*128/CtbSizeY (7-19)
IbcBufWidthC=IbcBufWidthY/SubWidthC (7-20)
VSize=Min(64,CtbSizeY) (7-21)
各彩度CTBのアレイの幅および高さをそれぞれ指定する変数CtbWidthCおよびCtbHeightCは、次のように導出される。
-chroma_format_idcが0(モノクロ)に等しいか、separate_colour_plane_flagが1に等しい場合、CtbWidthCおよびCtbHeightCは、両方とも0に等しい。
-それ以外の場合、CtbWidthCおよびCtbHeightCは、次のように導出される。
CtbWidthC=CtbSizeY/SubWidthC (7-22)
CtbHeightC=CtbSizeY/SubHeightC (7-23)
構文要素log2_min_luma_coding_block_size_minus2の許容範囲の仕様に対して提案された変更は、図12に図示されている。図12から見て分かるように、この実施形態では、最小コード化ブロックサイズの許容範囲は、4~最大変換サイズである。
構文要素log2_min_luma_coding_block_size_minus2の限界を指定するための代替的な方法によれば、CTUサイズに基づいてlog2_min_luma_coding_block_size_minus2の可能な最大値を指定することが提案されている。
したがって、ここでは、log2_min_luma_coding_block_size_minus2の値は、0~(CtbLog2SizeY-2)の範囲でなければならない。これは、各コード化ブロックが、最大でCTUサイズと等しいサイズを有することを確実にする。最大変換サイズより大きくなる可能性がある。このような場合、VVC仕様では、サイズが最大変換サイズよりも大きく、サブコード化ユニットに分割されていないコード化ブロックは、残りのデータをコード化/復号化するために、変換ユニットにタイリングされる必要があると既に述べられている。
構文要素log2_min_luma_coding_block_size_minus2の許容範囲の仕様に対して提案された変更は、図13に図示されている。見て分かるように、この実施形態では、最小コード化ブロックサイズの許容範囲は、4~CTUサイズである。
構文要素log2_min_luma_coding_block_size_minus2の限界を指定するためのさらなる実施形態によれば、CTUサイズおよび仮想パイプライン復号化ユニット(VPDU)サイズに基づいて、log2_min_luma_coding_block_size_minus2の可能な最大値を指定することが提案されている。VPDUは、VVC復号化器のハードウェア実装で想定される復号化ユニットを表す。VVC復号化プロセスは、各64x64ピクチャ領域、そのピクチャ領域内のすべての輝度および彩度データを完全に復号化および再構築してから、考慮されるピクチャ内の次の64x64領域の復号化および再構築を開始することができるように設計されている。
この実施形態では、log2_min_luma_coding_block_size_minus2の値は、0~(min(CtbLog2SizeY,6)-2))の範囲でなければならない。言い換えると、最小コード化ブロックサイズは、0~min(CtbSizeY,64)の範囲でなければならず、これは、VVCドラフト6で指定された変数VSize(VPDUサイズ)とちょうど等しい。
この実施形態の利点は、次のものである。VVCドラフト6仕様によれば、CtbSizeは、128に等しくなり得、最小コード化ブロックサイズ(MinCbSizeY)も、128に等しくなり得る。VPDUサイズに基づく最小コード化ブロックサイズに対して提案された制約により、各128x128CTUは、輝度成分で4つの64x64輝度CUに分割する必要がある。これと同期して、128x128輝度CTUに対応する64x64彩度ブロックを、4つの32x32彩度CUに分割する必要がある。その結果、コード化ブロックサイズは、VPDU制約に準拠する。
本実施形態は、最小ブロックサイズの上限を最大変換サイズに合わせる前述の実施形態に対する代替的な方法で、上記の問題を解決する。
コンパクトなスライスレベルのパーティション制約のオーバーライド
本開示の別の実施形態は、スライスヘッダパーティション情報のコード化を、VVCドラフト6よりもコンパクトにコード化させることにある。
VVCドラフト6では、スライスヘッダフラグpartition_constraints_override_flagは、コード化されて、シーケンスパラメータセットで信号通知されるコード化ツリー構成が、考慮されるスライスでオーバーライドされていることを示す。このオーバーライドフラグが真の場合、最小四分木ノードサイズ、最大BTサイズ、最大TTサイズ、および最大MTT階層深さレベルに関連するパラメータがスライスヘッダに信号通知される。それらは、考慮されるスライスの輝度成分に対してそれぞれコード化され、また、デュアルツリーコード化がアクティブな場合は彩度成分に対してもコード化される。
しかしながら、VTM6符号化器戦略では、これらのコード化ツリーパラメータのいくつかは、いくつかのスライスで変更されているが、それ以外は、変更されることはない。したがって、いくつかの特定の符号化戦略では、VVCドラフト6スライスヘッダ構文仕様により、冗長データが繰り返され得る。典型的に、最大MTT階層深さ情報は、変更されることはない。
この実施形態では、最大階層深さパラメータがスライスヘッダでオーバーライドされているかどうかを示すフラグmax_mtt_hierarchy_depth_override_flagを信号通知することが提案されている。その場合、スライスレベルの最大階層深さ情報は、スライスヘッダでコード化される。それ以外の場合、スライスレベルの最大階層深さ値は、輝度成分および彩度成分(デュアルツリーの場合)のそれぞれについて、SPSの値と等しく設定される。さらに、構文要素slice_log2_diff_max_bt_min_qt_lumaおよびslice_log2_diff_max_tt_min_qt_lumaの形式での最大BTサイズおよび最大MTTサイズのスライスレベルのコード化は、VVCドラフト6の場合のように、最大MTT階層深さの値にそれ以上依存しなくなる。デュアルツリーコード化の場合、この依存関係はまた、彩度成分でも削除される。提案されたスライスヘッダ構文変更は、次の表に示されている。本実施形態の利点は、よりコンパクトなスライスヘッダ構文であり、高レベルの構文にリンクされたオーバーヘッダを無視することができない小さなビデオシーケンスに対して最大0.1%のビットレート節約をもたらす。
Figure 2023501026000017
本実施形態のさらなる変形例によれば、最大四分木深さに相当する最小四分木ノードサイズ情報もまた、スライスヘッダ内で以前に信号通知されたフラグmaximum_hierarchy_depth_overrideフラグに基づいてスライスレベルでコード化される。したがって、このフラグmaximum_hierarchy_depth_overrideは、最小QTサイズおよび最大MTT階層深さパラメータの信号通知を制御する。この変形例の利点は、VVCドラフト6と比較してさらにコンパクトなスライスヘッダである。
Figure 2023501026000018
様々な方法が、本明細書に記載されており、それらの方法の各々は、説明された方法を達成するための1つ以上のステップまたは行為を含む。本方法の正しい動作のために特定の順序のステップまたは行為が必要でない限り、特定のステップおよび/または行為の順序および/または使用は、変更され得、または組み合わされ得る。さらに、「第1の」、「第2の」などの用語は、例えば、「第1の復号化」および「第2の復号化」など、要素、構成要素、ステップ、動作などを変更するために様々な実施形態において使用され得る。そのような用語の使用は、特に必要な場合を除き、変更された動作の順序を意味するものではない。したがって、この例では、第1の復号化は、第2の復号化の前に実行される必要はなく、例えば、第2の復号化の前、最中、または重複する期間に発生し得る。
本出願に記載の様々な方法および他の態様を使用して、図2および図3に示されるように、モジュール、例えば、ビデオ符号化器200および復号化器300の、パーティショニング、エントロピー符号化および復号化モジュール(202、335、245、330)を変更することができる。さらに、本態様は、VVCまたはHEVCに限定されるものではなく、例えば、他の標準規格および推奨、ならびに任意のそのような標準規格および推奨の拡張版に適用することができる。特に指示されていない限り、または技術的に除外されていない限り、本出願で説明される態様は、個別にまたは組み合わせて使用することができる。
本出願では様々な数値が使用される。特定の値は、例示的な目的のためであり、記載された態様は、これらの特定の値に限定されるものではない。
様々な実装形態は、復号化を伴う。本出願で使用される「復号化」は、例えば、表示に好適な最終出力を生成するために、受信した符号化されたシーケンスで実行される処理のすべてまたは一部を包含し得る。様々な実施形態では、そのような処理は、復号化器によって典型的に実行される処理のうちの1つ以上、例えば、エントロピー復号化、逆量子化、逆変換、および差分復号化を含む。「復号化処理」という句が、具体的に動作のサブセットを指すことを意図しているか、または概してより広い復号化処理を指すことを意図しているかは、特定の説明の文脈に基づいて明確になり、当業者によって十分に理解されると考えられる。
様々な実装形態は、符号化を伴う。「復号化」に関する上記の考察と同様に、本出願で使用される「符号化」は、例えば、符号化されたビットストリームを生成するために入力ビデオシーケンスで実行される処理のすべてまたは一部を包含し得る。
本明細書で使用される構文要素は、記述的な用語であることに留意されたい。したがって、それらは、他の構文要素名の使用を排除するものではない。上記において、SPSおよびSHの構文要素は、主に、様々な実施形態を図示するために使用される。これらの構文要素は、他の構文構造に配置することができることに留意されたい。
本明細書で説明された実装形態および態様は、例えば、方法もしくは処理、装置、ソフトウェアプログラム、データストリーム、または信号において実装され得る。単一の実装形態の文脈でのみ考察される(例えば、方法としてのみ考察される)場合であっても、考察される特徴の実装形態はまた、他の形態(例えば、装置またはプログラム)で実装され得る。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアにおいて実装され得る。この方法は、例えば、装置、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブルロジックデバイスを含む、一般に処理デバイスを指す、例えば、プロセッサにおいて実装され得る。プロセッサはまた、通信デバイス、例えば、コンピュータ、携帯電話、ポータブル/パーソナルデジタルアシスタンス(「PDA」)、およびエンドユーザ間の情報の伝達を容易にする他のデバイスも含む。
「一実施形態」もしくは「1つの実施形態」、または「一実装形態」もしくは「1つの実装形態」、ならびにそれらの他の変形への言及は、実施形態に関連して説明された特定の特徴、構造、特性などが、少なくとも1つの実施形態に含まれることを意味する。したがって、本出願全体にわたって様々な箇所においてみられる、「1つの実施形態では」もしくは「一実施形態では」または「1つの実装形態では」もしくは「一実装形態では」という句、ならびに任意の他の変形の出現は、必ずしもすべてが同じ実施形態を指しているわけではない。
さらに、本出願は、情報の様々な部分を「判定すること」に言及し得る。情報を判定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、またはメモリから情報を検索することのうちの1つ以上を含み得る。
さらに、本出願は、情報の様々な部分に「アクセスすること」に言及し得る。情報にアクセスすることは、例えば、情報を受信すること、情報を検索すること(例えば、メモリから)、情報を記憶すること、情報を移動させること、情報をコピーすること、情報を計算すること、情報を判定すること、情報を予測すること、または情報を推定することのうちの1つ以上を含み得る。
さらに、本出願は、情報の様々な部分を「受信すること」に言及し得る。受信することは、「アクセスすること」と同様に、広義の用語であることが意図されている。情報を受信することは、例えば、情報にアクセスすること、または(例えば、メモリから)情報を検索することのうちの1つ以上を含み得る。さらに、「受信すること」は、典型的には、何らかの方法で、動作中に、例えば、情報を記憶すること、情報を処理すること、情報を送信すること、情報を移動させること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を判定すること、情報を予測すること、または情報を推定することを伴う。
例えば、「A/B」、「Aおよび/またはB」、ならびに「AおよびBのうちの少なくとも1つ」の場合、次の「/」、「および/または」、ならびに「のうちの少なくとも1つ」のいずれかの使用は、1番目に列記された選択肢(A)のみの選択、または2番目に列記された選択肢(B)のみの選択、または両方の選択肢(AおよびB)の選択を網羅することを意図していることが分かるはずである。さらなる例として、「A、B、および/またはC」ならびに「A、B、およびCのうちの少なくとも1つ」の場合、そのような言い回しは、1番目に列記された選択肢(A)のみの選択、または2番目に列記された選択肢(B)のみの選択、または3番目に列記された選択肢(C)のみの選択、または1番目および2番目に列記された選択肢(AおよびB)のみの選択、または1番目および3番目に列記された選択肢(AおよびC)のみの選択、または2番目および3番目に列記された選択肢(BおよびC)のみの選択、または3つすべての選択肢(AおよびBおよびC)の選択、を網羅することを意図している。これは、当業者にとって明らかであるように、列記される項目の数だけ拡張され得る。
当業者にとって明らかであるように、実装形態は、例えば、記憶または送信され得る情報を搬送するようにフォーマットされる多種多様な信号を生成し得る。情報は、例えば、方法を実行する命令、または説明される実装形態のうちの1つにより生成されるデータを含み得る。例えば、信号は、説明された実施形態のビットストリームを搬送するようにフォーマットされ得る。そのような信号は、例えば、電磁波(例えば、スペクトルの無線周波数部分を使用して)として、またはベースバンド信号としてフォーマットされ得る。フォーマットすることは、例えば、データストリームを符号化することと、搬送波を符号化データストリームで変調することと、を含み得る。信号が搬送する情報は、例えば、アナログ情報またはデジタル情報であり得る。信号は、既知のように、多種多様な異なる有線リンクまたは無線リンクを介して送信され得る。信号は、プロセッサ可読媒体に記憶され得る。

Claims (26)

  1. 方法であって、
    ツリー構造の最大許容深さを示す値を符号化または復号化することであって、前記最大許容深さは、第1の値と第2の値との差の少なくとも2倍によって制限され、前記第1の値は、最大のコード化ブロックのサイズを示し、前記第2の値は、最小許容コード化ブロックサイズを示す、符号化または復号化することと、
    前記ツリー構造によって、前記最大のコード化ブロックまたは前記最大のコード化ブロックのパーティションを表すノードを、コード化ブロックにパーティショニングすることであって、前記ツリー構造は、水平分割および垂直分割のうちの少なくとも1つを使用する、パーティショニングすることと、を含む、方法。
  2. 前記ツリー構造は、水平二分割、垂直二分割、水平三分割、および垂直三分割のうちの少なくとも1つを使用する、請求項1に記載の方法。
  3. 前記ツリー構造は、四分木分割を除外する、請求項1または2に記載の方法。
  4. 四分木構造によって、前記最大のコード化ブロックを四分木リーフノードにパーティショニングすることであって、前記四分木リーフノードは、前記最大のコード化ブロックの前記パーティションを表す前記ノードを含む、パーティショニングすることをさらに含む、請求項1または2に記載の方法。
  5. 前記第1の値は、前記最大のコード化ブロックの前記サイズの2を底とする対数に対応する、請求項1~4のいずれか一項に記載の方法。
  6. 前記第2の値は、前記最小許容コード化ブロックサイズの2を底とする対数に対応する、請求項1~5のいずれか一項に記載の方法。
  7. 方法であって、
    四分木構造によって、最大のコード化ブロックを四分木リーフノードにパーティショニングすることと、
    第2のツリー構造によって、四分木リーフノードをコード化ブロックにパーティショニングすることであって、前記第2のツリー構造は、水平二分割、垂直二分割、水平三分割、および垂直三分割のうちの少なくとも1つを使用する、パーティショニングすることと、
    前記第2のツリー構造の最大許容深さを示す値を符号化または復号化することであって、前記最大許容深さは、前記四分木リーフノードの四分木レベルに依存する、符号化または復号化することと、を含む、方法。
  8. 前記最大深さは、前記第2のツリー構造による分割が許容されている各四分木レベルに対して信号通知される、請求項7に記載の方法。
  9. 前記最大許容深さは、二分木に対して信号通知される、請求項7または8に記載の方法。
  10. 前記最大許容深さは、三分木に対して信号通知される、請求項7~9のいずれか一項に記載の方法。
  11. 方法であって、
    四分木再構築によって、最大のコード化ブロックを四分木リーフノードにパーティショニングすることと、
    第2のツリー構造によって、四分木リーフノードをコード化ブロックにパーティショニングすることであって、前記第2のツリー構造は、水平二分割、垂直二分割、水平三分割、および垂直三分割のうちの少なくとも1つを使用する、パーティショニングすることと、
    前記第2のツリー構造の最大許容深さを示す値を符号化または復号化することであって、前記最大許容深さは、前記四分木リーフノードは、最小許容四分木ツリーノードサイズに等しいかどうかに依存する、符号化または復号化することと、を含む、方法。
  12. 前記第2のツリー構造の前記最大許容深さの上限は、前記四分木リーフノードが、前記最小許容四分木ツリーノードサイズよりも大きい場合、前記最大のコード化ブロックのサイズ、および最小許容コード化ブロックサイズに基づいている、請求項11に記載の方法。
  13. 前記第2のツリー構造の前記最大許容深さの上限は、前記四分木リーフノードが、前記最小許容四分木ツリーノードサイズに等しい場合、前記最小許容四分木ツリーノードサイズのサイズ、および最小許容コード化ブロックサイズに基づいている、請求項11または12に記載の方法。
  14. 方法であって、
    最大のコード化ブロックをコード化ブロックにパーティショニングすることと、
    最小許容コード化ブロックサイズを示す値を符号化または復号化することであって、前記最小コード化ブロックサイズの上限は、ある値のより小さい値、および前記最大のコード化ブロックのサイズに依存する、符号化または復号化することと、を含む、方法。
  15. 前記値は、仮想パイプライン復号化ユニット(VPDU)のサイズを示す、請求項14に記載の方法。
  16. 方法であって、
    四分木構造によって、コード化ツリーブロックを四分木リーフノードにパーティショニングすることと、
    第2のツリー構造によって、四分木リーフノードをコード化ブロックにパーティショニングすることであって、前記第2のツリー構造は、水平二分割、垂直二分割、水平三分割、および垂直三分割のうちの少なくとも1つを使用する、パーティショニングすることと、
    (1)前記第2のツリー構造で二分割が使用されるかどうかを示す第1の信号、および(2)前記第2のツリー構造で三分割が使用されるかどうかを示す第2の信号のうちの少なくとも1つを符号化または復号化することと、を含む、方法。
  17. 二分割および三分割のうちの少なくとも1つが使用されていることに応答して、前記第2のツリー構造の最大許容深さを示す値を符号化または復号化することをさらに含む、請求項16に記載の方法。
  18. 二分割が使用されるかどうかは、イントラおよびインターに対して別々に信号通知される、請求項16または17に記載の方法。
  19. 二分割が使用されるかどうかは、輝度および彩度に対して別々に信号通知される、請求項16または17に記載の方法。
  20. 前記第1の信号は、第1の値および第2の値に依存し、前記第1の値は、二分割を使用して分割することができるコード化ブロックの最大許容サイズを示し、前記第2の値は、四分木リーフノードの最小許容サイズを示す、請求項16~19のいずれか一項に記載の方法。
  21. 前記第2の信号は、第3の値および第4の値に依存し、前記第1の値は、三分割を使用して分割することができるコード化ブロックの最大許容サイズを示し、前記第4の値は、四分木リーフノードの最小許容サイズを示す、請求項16~20のいずれか一項に記載の方法。
  22. 方法であって、
    四分木再構築によって、最大のコード化ブロックを四分木リーフノードにパーティショニングすることと、
    第2のツリー構造によって、四分木リーフノードをコード化ブロックにパーティショニングすることであって、前記第2のツリー構造は、水平二分割、垂直二分割、水平三分割、および垂直三分割のうちの少なくとも1つを使用する、パーティショニングすることと、
    1つ以上の最大階層深さパラメータを示すパラメータが、現在の構文構造でオーバーライドされているかどうかを示すフラグを符号化または復号化することと、を含む、方法。
  23. 前記現在の構文構造は、スライスヘッダに対応する、請求項22に記載の方法。
  24. 方法であって、
    四分木再構築によって、最大のコード化ブロックを四分木リーフノードにパーティショニングすることと、
    第2のツリー構造によって、四分木リーフノードをコード化ブロックにパーティショニングすることであって、前記第2のツリー構造は、水平二分割、垂直二分割、水平三分割、および垂直三分割のうちの少なくとも1つを使用する、パーティショニングすることと、
    最小四分木ノードサイズを示す信号を符号化または復号化することと、を含む、方法。
  25. 請求項1~24のいずれか一項に記載の方法を使用して符号化されたビデオを記憶する、非一時的記憶媒体。
  26. 装置であって、プロセッサと、命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令は、前記プロセッサ上で実行されたときに、請求項1~24のいずれか一項に記載のビデオ符号化または復号化のための方法を実行するように動作する、非一時的コンピュータ可読記憶媒体と、を含む、装置。
JP2021571899A 2019-09-23 2020-09-18 コード化ツリーパーティショニング Pending JP2023501026A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
EP19306169 2019-09-23
EP19306169.4 2019-09-23
EP19290094 2019-09-27
EP19290094.2 2019-09-27
EP19306298.1 2019-10-07
EP19306298 2019-10-07
PCT/EP2020/076066 WO2021058380A1 (en) 2019-09-23 2020-09-18 Coding tree partitioning

Publications (2)

Publication Number Publication Date
JP2023501026A true JP2023501026A (ja) 2023-01-18
JPWO2021058380A5 JPWO2021058380A5 (ja) 2023-09-21

Family

ID=72473575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021571899A Pending JP2023501026A (ja) 2019-09-23 2020-09-18 コード化ツリーパーティショニング

Country Status (9)

Country Link
US (1) US20220321883A1 (ja)
EP (1) EP4035364A1 (ja)
JP (1) JP2023501026A (ja)
KR (1) KR20220061948A (ja)
CN (1) CN114175642A (ja)
AU (1) AU2020354401A1 (ja)
MX (1) MX2022003469A (ja)
TW (1) TW202114428A (ja)
WO (1) WO2021058380A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023508053A (ja) * 2019-12-23 2023-02-28 華為技術有限公司 符号化器、復号器、及びコーディング・ブロック・パーティショニング制限導出の方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2022003566A (es) 2019-09-24 2022-07-11 Hfi Innovation Inc Método y aparato de codificación de árbol para codificación separada con restricciones en tamaño de cu mínimo.
US20210314567A1 (en) * 2020-04-04 2021-10-07 Qualcomm Incorporated Block partitioning for image and video coding
AU2020203330B2 (en) * 2020-05-21 2022-12-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a block of video samples
WO2023198110A1 (en) * 2022-04-13 2023-10-19 Mediatek Inc. Block partitioning image and video data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023508053A (ja) * 2019-12-23 2023-02-28 華為技術有限公司 符号化器、復号器、及びコーディング・ブロック・パーティショニング制限導出の方法

Also Published As

Publication number Publication date
AU2020354401A1 (en) 2022-04-14
MX2022003469A (es) 2022-04-19
WO2021058380A1 (en) 2021-04-01
CN114175642A (zh) 2022-03-11
EP4035364A1 (en) 2022-08-03
TW202114428A (zh) 2021-04-01
KR20220061948A (ko) 2022-05-13
US20220321883A1 (en) 2022-10-06

Similar Documents

Publication Publication Date Title
JP2023501026A (ja) コード化ツリーパーティショニング
CN112352427B (zh) 基于图像块的非对称二元分区的视频编码和解码的方法和装置
CN113228650A (zh) 基于块的表面的视频编码或解码的量化
CN112262577A (zh) 亮度和色度分量的波阵面并行处理
JP2023518352A (ja) ビデオコーディングにおけるコーディングパラメータのシグナリング
US20240089437A1 (en) Chroma quantization parameter adjustment in video encoding and decoding
JP2022500891A (ja) スカラー量子化従属性のためのスカラー量子化器決定スキーム
JP2021526329A (ja) 映像のコード化又は映像の復号のためのシンタックス要素
JP2022549312A (ja) コンテキストコード化bin(ccb)カウント方法の統合
WO2020185492A1 (en) Transform selection and signaling for video encoding or decoding
JP2022537090A (ja) ビデオ符号化及び復号化の単一インデックス量子化行列設計
CN114026863A (zh) 使用高级语法元素发信号通知解码数据的方法和装置
JP2022502981A (ja) 輝度および彩度に対して別々のコーディングツリーを使用する場合の彩度量子化パラメータを決定するための方法および装置
WO2024139037A1 (en) Signaling coded blocks data and in-loop filtering parameters of a video sequence
KR20210074388A (ko) 코딩 유형 또는 코딩 트리 유형의 시그널링을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치
EP3591971A1 (en) Chroma quantization parameter adjustment in video encoding and decoding
WO2024132584A1 (en) Enhanced residual data coding
WO2022223312A1 (en) Vvc normative and encoder-side adaptations for abt
CN114731430A (zh) 与多个变换选择、矩阵加权帧内预测或多参考线帧内预测结合的用于视频编码和解码的帧内子分区

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230912

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230912

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20231110