JP2022537090A - ビデオ符号化及び復号化の単一インデックス量子化行列設計 - Google Patents

ビデオ符号化及び復号化の単一インデックス量子化行列設計 Download PDF

Info

Publication number
JP2022537090A
JP2022537090A JP2021560100A JP2021560100A JP2022537090A JP 2022537090 A JP2022537090 A JP 2022537090A JP 2021560100 A JP2021560100 A JP 2021560100A JP 2021560100 A JP2021560100 A JP 2021560100A JP 2022537090 A JP2022537090 A JP 2022537090A
Authority
JP
Japan
Prior art keywords
quantization matrix
block
identifier
matrix
prediction mode
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
JP2021560100A
Other languages
English (en)
Other versions
JPWO2020254317A5 (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 JP2022537090A publication Critical patent/JP2022537090A/ja
Publication of JPWO2020254317A5 publication Critical patent/JPWO2020254317A5/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Landscapes

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

Abstract

異なるブロックサイズ、色成分、及び予測モードに対応する異なる量子化行列を送信し得る。量子化行列の係数をより効率的にシグナリングするために、一実施では、最初に列記されるより大きなサイズのCUサイズに関連するサイズ識別子(sizeId)と、輝度QMが最初に列記される行列タイプ(matrixTypeId)に基づいて、統一行列識別子行列Idが使用される。例えば、統一識別子は、matrixId=N*sizeId+matrixTypeIdとして導出され、式中、Nは可能なタイプ識別子の数であり、例えば、N10=6である。この単一識別子は、予測(コピー)を使用する際、任意の先に送信された行列を参照できるようにし、最初に大きな行列を送信することにより、予測プロセスでの補間が回避される。ブロックがイントラブロックコピー予測モードを使用する場合、QM識別子は、まるでブロックがインター予測モードを使用するかのように導出し得る。

Description

技術分野
[1] 本実施形態は一般的には、ビデオ符号化及び復号化における量子化行列設計の方法及び装置に関する。
背景
[2] 高圧縮効率を達成するために、画像及びビデオ符号化方式は通常、予測及び変換を利用して、ビデオコンテンツにおける空間的及び時間的冗長性を利用する。一般に、イントラ又はインターピクチャ相関を利用するために、イントラ及びインター予測が使用され、その場合、予測誤差又は予測残差と呼ばれることが多い元ブロックと予測ブロックとの間の差分が変換、量子化、エントロピー符号化される。ビデオを再構築するために、圧縮データは、エントロピー符号化、量子化、変換、及び予測に対応する逆プロセスによって復号化される。
概要
[3] 一実施形態によれば、ビデオ復号化方法が提供され、本方法は、ピクチャ内の復号化するブロックのブロックサイズ、色成分、及び予測モードに基づいて量子化行列の単一識別子を取得することと、基準量子化行列を示すシンタックス要素を復号化することであって、上記シンタックス要素は、上記基準量子化行列の識別子と上記量子化行列の上記取得された識別子との間の差分を指定する、復号化することと、上記基準量子化行列に基づいて上記量子化行列を取得することと、上記量子化行列に応答して上記ブロックの変換係数を逆量子化することと、上記逆量子化された変換係数に応答して上記ブロックを復号化することとを含む。
[4] 別の実施形態によれば、ビデオ符号化方法が提供され、本方法は、ピクチャ内の符号化するブロックにアクセスすることと、上記ブロックの量子化行列にアクセスすることと、上記ブロックのブロックサイズ、色成分、及び予測モードに基づいて上記量子化行列の単一識別子を取得することと、基準量子化行列を示すシンタックス要素を符号化することであって、上記シンタックス要素は、上記基準量子化行列の識別子と上記量子化行列の上記取得された識別子との間の差分を指定する、符号化することと、上記量子化行列に応答して上記ブロックの変換係数を量子化することと、上記量子化された変換係数をエントロピー符号化することとを含む。
[5] 別の実施形態によれば、ビデオ復号化装置が提供され、本装置は1つ又は複数のプロセッサを備え、前記1つ又は複数のプロセッサは、ピクチャ内の復号化するブロックのブロックサイズ、色成分、及び予測モードに基づいて量子化行列の単一識別子を取得することと、基準量子化行列を示すシンタックス要素を復号化することであって、上記シンタックス要素は、上記基準量子化行列の識別子と上記量子化行列の上記取得された識別子との間の差分を指定する、復号化することと、上記基準量子化行列に基づいて上記量子化行列を取得することと、上記量子化行列に応答して上記ブロックの変換係数を逆量子化することと、上記逆量子化された変換係数に応答して上記ブロックを復号化することとを行うように構成される。
[6] 別の実施形態によれば、ビデオ符号化装置が提供され、本装置は1つ又は複数のプロセッサを備え、前記1つ又は複数のプロセッサは、ピクチャ内の符号化するブロックにアクセスすることと、上記ブロックの量子化行列にアクセスすることと、上記ブロックのブロックサイズ、色成分、及び予測モードに基づいて上記量子化行列の単一識別子を取得することと、基準量子化行列を示すシンタックス要素を符号化することであって、上記シンタックス要素は、上記基準量子化行列の識別子と上記量子化行列の上記取得された識別子との間の差分を指定する、符号化することと、上記量子化行列に応答して上記ブロックの変換係数を量子化することと、上記量子化された変換係数をエントロピー符号化することとを行うように構成される。
[7] 別の実施形態によれば、ビデオ復号化装置が提供され、本装置は、ピクチャ内の復号化するブロックのブロックサイズ、色成分、及び予測モードに基づいて量子化行列の単一識別子を取得する手段と、基準量子化行列を示すシンタックス要素を復号化することであって、上記シンタックス要素は、上記基準量子化行列の識別子と上記量子化行列の上記取得された識別子との間の差分を指定する、復号化する手段と、上記基準量子化行列に基づいて上記量子化行列を取得する手段と、上記量子化行列に応答して上記ブロックの変換係数を逆量子化する手段と、上記逆量子化された変換係数に応答して上記ブロックを復号化する手段とを備える。
[8] 別の実施形態によれば、ビデオ符号化装置が提供され、本装置は、ピクチャ内の符号化するブロックにアクセスする手段と、上記ブロックの量子化行列にアクセスする手段と、上記ブロックのブロックサイズ、色成分、及び予測モードに基づいて上記量子化行列の単一識別子を取得する手段と、基準量子化行列を示すシンタックス要素を符号化することであって、上記シンタックス要素は、上記基準量子化行列の識別子と上記量子化行列の上記取得された識別子との間の差分を指定する、符号化する手段と、上記量子化行列に応答して上記ブロックの変換係数を量子化する手段と、上記量子化された変換係数をエントロピー符号化する手段とを備える。
[9] 1つ又は複数の実施形態は、1つ又は複数のプロセッサにより実行されると、上述した実施形態の何れかによる符号化方法又は復号化方法を1つ又は複数のプロセッサに実行させる命令を含むコンピュータプログラムも提供する。本実施形態の1つ又は複数は、上述した方法によりビデオデータを符号化又は復号化する命令を記憶したコンピュータ可読記憶媒体も提供する。1つ又は複数の実施形態は、上述した方法により生成されたビットストリームを記憶したコンピュータ可読記憶媒体も提供する。1つ又は複数の実施形態は、上述した方法により生成されたビットストリームを送信又は受信する方法及び装置も提供する。
図面の簡単な説明
[10]本実施形態の態様を実施し得るシステムのブロック図を示す。 [11]ビデオエンコーダの一実施形態のブロック図を示す。 [12]ビデオデコーダの一実施形態のブロック図を示す。 [13]VVCドラフト5における32よりも大きいブロックサイズの場合、変換係数はゼロと推測されることを示す。 [14]JCTVC-H0314に記載のような固定予測木を示す。 [15]一実施形態によるより大きいサイズからの予測(デシメーション)を示す。 [16]一実施形態による、より大きなサイズからの予測と矩形ブロックのデシメーションとの組合せを示す。 [17]一実施形態による、クロマでの矩形ブロックのQM導出プロセスを示す。 [18]一実施形態による、クロマでの矩形ブロックのQM導出プロセス(4:2:2フォーマットへの適合)を示す。 [19]クロマでの矩形ブロックのQM導出プロセス(4:4:4フォーマットへの適合)を示す。 [20]一実施形態によるスケーリングリストデータシンタックス構造をパーズするフローチャートを示す。 [21]一実施形態によるスケーリングリストデータシンタックス構造を符号化するフローチャートを示す。 [22]一実施形態によるQM導出プロセスのフローチャートを示す。
詳細な説明
[23] 図1は、種々の態様及び実施形態を実施することができるシステムの一例のブロック図を示す。システム100は、後述する種々の構成要素を含むデバイスとして実施し得、本願に記載の態様の1つ又は複数を実行するように構成される。そのようなデバイスの例には、限定ではなく、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビジョン受像機、パーソナルビデオ記録システム、接続された家電、及びサーバ等の種々の電子デバイスがある。システム100の要素は、単独で又は組み合わせて、1つの集積回路、複数のIC、及び/又は離散構成要素で実施し得る。例えば、少なくとも1つの実施形態では、システム100の処理及びエンコーダ/デコーダ要素は、複数のIC及び/又は離散構成要素にわたり分散する。種々の実施形態では、システム100は、例えば、通信バスを介して又は専用入力及び/又は出力ポートを通して他のシステム又は他の電子デバイスに通信可能に結合される。種々の実施形態では、システム100は、本願に記載の態様の1つ又は複数を実施するように構成される。
[24] システム100は、例えば、本願に記載の種々の態様を実施するためにロードされた命令を実行するように構成された少なくとも1つのプロセッサ110を含む。プロセッサ110は、組み込みメモリ、入出力インターフェース、及び当技術分野で既知の種々の他の回路を含み得る。システム100は少なくとも1つメモリ120(例えば、揮発性メモリデバイス及び/又は不揮発性メモリデバイス)を含む。システム100は記憶装置140を含み、これは、限定ではなく、EEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ、磁気ディスクドライブ、及び/又は光ディスクドライブを含め、不揮発性メモリ及び/又は揮発性メモリを含み得る。記憶装置140は、非限定的な例として、内部記憶装置、取り付けられた記憶装置、及び/又はネットワークアクセス可能記憶装置を含み得る。
[25] システム100は、データを処理して、例えば符号化ビデオ又は復号化ビデオを提供するように構成されたエンコーダ/デコーダモジュール130を含み、エンコーダ/デコーダモジュール130はそれ自体のプロセッサ及びメモリを含み得る。エンコーダ/デコーダモジュール130は、符号化及び/又は復号化機能を実行するためにデバイス内に含まれ得るモジュールを表す。既知のように、デバイスは符号化モジュール及び復号化モジュールの一方又は両方を含み得る。さらに、エンコーダ/デコーダモジュール130は、システム100の別個の要素として実施されてもよく、又は当業者に既知のように、ハードウェアとソフトウェアとの組合せとしてプロセッサ110内に組み込まれてもよい。
[26] 本願に記載の種々の態様を実行するためにプロセッサ110又はエンコーダ/デコーダ130にロードされるプログラムコードは、記憶装置140に記憶し得、プロセッサ110による実行に向けてメモリ120に続けてロードし得る。種々の実施形態によれば、プロセッサ110、メモリ120、記憶装置140、及びエンコーダ/デコーダモジュール130の1つ又は複数は、本願に記載のプロセスの実行中、種々の項目の1つ又は複数を記憶し得る。そのような記憶される項目は、限定ではなく、入力ビデオ、復号化ビデオ又は復号化ビデオの部分、ビットストリーム、行列、変数、及び方程式、公式、演算、及び演算論理の中間又は最終結果を含み得る。
[27] 幾つかの実施形態では、プロセッサ110及び/又はエンコーダ/デコーダモジュール130内部のメモリは、命令を記憶し、符号化又は復号化中に必要な処理に作業メモリを提供するのに使用される。しかしながら、他の実施形態では、処理デバイス外部のメモリ(例えば、処理デバイスはプロセッサ110又はエンコーダ/デコーダモジュール130であり得る)がこれらの機能の1つ又は複数に使用される。外部メモリはメモリ120及び/又は記憶装置140であり得、例えば、動的揮発性メモリ及び/又は不揮発性フラッシュメモリであり得る。幾つかの実施形態では、外部不揮発性フラッシュメモリが、テレビジョンのオペレーティングシステムの記憶に使用される。少なくとも1つの実施形態では、RAM等の高速外部動的揮発性メモリが、MPEG-2、HEVC、又はVVC等でのビデオ符号化及び復号化動作の作業メモリとして使用される。
[28] システム100の要素への入力は、ブロック105に示される種々の入力デバイスを通して提供し得る。そのような入力デバイスには、限定ではなく、(i)例えばブロードキャスターにより無線で送信されたRF信号を受信するRF部、(ii)複合入力端子、(iii)USB入力端子、及び/又は(iv)HDMI入力端子がある。
[29] 種々の実施形態では、ブロック105の入力デバイスには当技術分野で既知の各入力処理要素が関連付けられる。例えば、RF部は、(i)所望の周波数を選択し(信号の選択又は周波数帯域への信号の帯域制限とも呼ばれる)、(ii)選択された信号をダウンコンバートし、(iii)より狭い周波数帯域に再び帯域制限して、(例えば)特定の実施形態においてチャネルと呼ばれ得る信号周波数帯域を選択し、(iv)ダウンコンバートされ帯域制限された信号を復調し、(v)誤り修正を実行し、(vi)逆多重化してデータパケットの所望のストリームを選択するのに適した要素と関連付けられ得る。種々の実施形態のRF部は、これらの機能を実行する1つ又は複数の要素、例えば、周波数セレクタ、信号セレクタ、帯域制限器、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤り修正器、及びデマルチプレクサを含む。RF部は、例えば、受信信号の低周波数(例えば、中間周波数若しくはベースバンド近傍周波数)又はベースバンドへのダウンコンバートを含め、種々のこれらの機能を実行するチューナを含み得る。1つのセットトップボックス実施形態では、RF部及びそれに関連付けられた入力処理要素は、有線(例えばコード)媒体を経由して送信されたRF信号を受信し、フィルタリング、ダウンコンバート、及び再び所望の周波数帯域へのフィルタリングを行うことにより周波数選択を実行する。種々の実施形態は、上述した(及び他の)要素の順序の並べ替え、これらの要素のうちの幾つかの除去、及び/又は同様又は異なる機能を実行する他の要素の追加を行う。要素の追加は、要素を既存の要素間に挿入すること、例えば、増幅器及びアナログ/デジタル変換器を挿入することを含み得る。種々の実施形態では、RF部はアンテナを含む。
[30] さらに、USB及び/又はHDMI端子は、USB及び/又はHDMI接続を介してシステム100を他の電子デバイスに接続する各インターフェースプロセッサを含み得る。入力処理の種々の態様、例えばリードソロモン誤り修正が必要に応じて、別個の入力処理IC内又はプロセッサ110内で実施されてもよいことを理解されたい。同様に、USB又はHDMIインターフェース処理の態様は、必要に応じて別個のインターフェースIC又はプロセッサ110内で実施し得る。復調、誤り修正、及び逆多重化が行われたストリームは、例えば、出力デバイスに提示するために、メモリ及び記憶要素と組み合わせて動作して必要に応じてデータストリームを処理するプロセッサ110及びエンコーダ/デコーダ130を含め、種々の処理要素に提供される。
[31] システム100の種々の要素は、統合された筐体内に提供し得る、統合された筐体内で、種々の要素は、適した接続設備115、例えば、I2Cバス、配線、及びプリント回路基板を含む当技術分野で既知の内部バスを使用して相互接続され得、間でデータを伝送し得る。
[32] システム100は、通信チャネル190を介して他のデバイスと通信できるようにする通信インターフェース150を含む。通信インターフェース150は、限定ではなく、通信チャネル190を介してデータを送受信するように構成された送受信機を含み得る。通信インターフェース150は、限定ではなく、モデム又はネットワークカードを含み得、通信チャネル190は、例えば、有線及び/又は無線媒体内で実施し得る。
[33] データは、種々の実施形態では、IEEE802.11等のWi-Fiネットワークを使用してシステム100にストリーミングされる。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適合された通信チャネル190及び通信インターフェース150を介して受信される。これらの実施形態の通信チャネル190は通常、インターネットを含む外部ネットワークへのアクセスを提供するアクセスポイント又はルータに接続されて、ストリーミングアプリケーション及び他のオーバーザトップ通信を可能にする。他の実施形態は、入力ブロック105のHDMI通信を介してデータを配信するセットトップボックスを使用してシステム100にストリーミングデータを提供する。さらに他の実施形態は、入力ブロック105のRF接続を使用してシステム100にストリーミングデータを提供する。
[34] システム100は、ディスプレイ165、スピーカ175、及び他の周辺機器185を含め、種々の出力デバイスに出力信号を提供し得る。他の周辺機器185は、実施形態の種々の例では、スタンドアロンDVR、ディスクプレーヤ、ステレオシステム、照明システム、及びシステム100の出力に基づいて機能を提供する他のデバイスの1つ又は複数を含む。種々の実施形態では、制御信号が、AVリンク、CEC、又はユーザ介入あり又はなしでのデバイス間制御を可能にする他の通信プロトコル等のシグナリングを使用してシステム100とディスプレイ165、スピーカ175、又は他の周辺機器185との間で通信される。出力デバイスは、各インターフェース160、170、及び180を通して専用接続を介してシステム100に通信可能に結合し得る。代替的には、出力デバイスは、通信インターフェース150を介して通信チャネル190を使用してシステム100に接続し得る。ディスプレイ165及びスピーカ175は、電子デバイス、例えばテレビジョン内のシステム100の他の構成要素と単一ユニットに統合し得る。種々の実施形態では、ディスプレイインターフェース160はディスプレイドライバ、例えばタイミングコントローラ(TCon)チップを含む。
[35] ディスプレイ165及びスピーカ175は代替的には、例えば、入力105のRF部が別個のセットトップボックスの一部である場合、他の構成要素の1つ又は複数と別個であり得る。ディスプレイ165及びスピーカ175が外部構成要素である種々の実施形態では、出力信号は、例えば、HDMIポート、USBポート、又はCOMP出力を含む専用出力接続を介して提供し得る。
[36] 図2は、高効率ビデオ符号化(HEVC)エンコーダ等の一例のビデオエンコーダ200を示す。図2は、HEVC規格に改良が行われたエンコーダ又はJVET(Joint Video Exploration Team)により開発中のVVC(Versatile Video Coding)エンコーダ等のHEVCと同様の技術を利用したエンコーダを示すこともできる。
[37] 本願では、用語「再構築された」及び「復号化された」は同義で使用し得、用語「符号化された」又は「コード化された」は同義で使用し得、用語「画像」、「ピクチャ」、及び「フレーム」は同義で使用し得る。必須ではないが通常、用語「再構築された」はエンコーダ側で使用され、一方、「復号化された」はデコーダ側で使用される。
[38] 符号化前、ビデオシーケンスは、圧縮に対してより高い回復力を有する信号分布を得る(例えば、色成分の1つのヒストグラム等化を使用して)ために、符号化前処理(201)、例えば、色変換(例えば、RGB4:4:4からYCbCr4:2:0への変換)を入力カラーピクチャに適用し、又は入力ピクチャ成分のリマッピングを実行することを受け得る。メタデータを前処理に関連付け、ビットストリームに添付することができる。
[39] エンコーダ200では、ピクチャが、後述のようにエンコーダ要素によって符号化される。符号化するピクチャは、例えば、CUというユニットに分割され(202)、そのユニットで処理される。各ユニットは、例えば、イントラモード又はインターモードの何れかを使用して符号化される。ユニットがイントラモードで符号化される場合、イントラ予測を実行する(260)。インターモードでは、動き推定(275)及び補償(270)が実行される。エンコーダは、ユニットの符号化にイントラモード又はインターモードのどちらを使用するかを決定し(205)、例えば、予測モードフラグによってイントラ/インター決定を示す。予測残差は、例えば、元画像ブロックから予測ブロックを減算する(210)ことによって計算される。
[40] 次に、予測残差は変換(225)、量子化(230)される。量子化された変換係数並びに動きベクトル及び他のシンタックス要素は、エントロピー符号化されて(245)、ビットストリームを出力する。エンコーダは、変換をスキップし、変換されていない残差信号に直接、量子化を適用することができる。エンコーダは変換及び量子化の両方を迂回することができ、すなわち、残差は、変換又は量子化プロセスを適用せずに直接コード化される。
[41] エンコーダは符号化ブロックを復号化して、更なる予測の基準を提供する。量子化された変換係数は逆量子化され(240)、逆変換されて(250)、予測残差を復号化する。復号化された予測残差と予測ブロックとを組み合わせて(255)、画像ブロックが再構築される。インループフィルタ(265)が再構築されたピクチャに適用されて、例えば、デブロッキング/SAO(サンプル適応オフセット)フィルタリングを実行し、符号化アーチファクトを低減する。フィルタリングされた画像は、基準ピクチャバッファに記憶される(280)。
[42] 図3は、一例のビデオデコーダ300のブロック図を示す。デコーダ300では、ビットストリームが後述のデコーダ要素によって復号化される。ビデオデコーダ300は一般に、図2に記載の符号化パスと相互的な復号化パスを実行する。エンコーダ200はまた、ビデオデータ符号化の一環としてビデオ復号化も実行する。
[43] 特に、デコーダの入力は、ビデオエンコーダ200によって生成することができるビデオビットストリームを含む。ビットストリームはまず、エントロピー復号化(330)されて、変換係数、動きベクトル、及び他のコード化情報を取得する。ピクチャ分割情報は、ピクチャがいかに分割されたかを示す。したがって、デコーダは、復号化されたピクチャ分割情報に従ってピクチャを分割し得る(335)。変換係数は逆量子化(340)、逆変換(350)されて、予測残差を復号化する。復号化された予測残差と予測ブロックとを組み合わせて(355)、画像ブロックが再構築される。予測ブロックは、イントラ予測(360)又は動き補償予測(すなわち、インター予測)(375)から取得することができる(370)。インループフィルタ(365)が、再構築された画像に適用される。フィルタリングされた画像は基準ピクチャバッファに記憶される(380)。
[44] 復号化されたピクチャは、復号化後処理(385)をさらに受けることができ、例えば、色逆変換(例えば、YCbCr4:2:0からRGB4:4:4への変換)又は符号化前処理(201)で実行されたリマッピングプロセスの逆を実行する逆リマッピングを受けることができる。復号化後処理は、符号化前処理で導出され、ビットストリームでシグナリングされたメタデータを使用することができる。
[45] HEVC仕様では、逆量子化プロセスで量子化行列を使用することができ、変換された係数は、現在の量子化ステップによってスケーリングされ、以下のように量子化行列(QM)によってさらにスケーリングされ:
d[ x ][ y ] = Clip3( coeffMin, coeffMax, ( ( TransCoeffLevel[ xTbY ][ yTbY ][ cIdx ][ x ][ y ] * m[ x ][ y ] * levelScale[ qP%6 ] << (qP / 6 ) ) + ( 1 << ( bdShift - 1 ) ) ) >> bdShift )
式中、
・TransCoeffLevel[…]は、空間座標xTbY、yTbY及び成分インデックスcIdxによって識別される現在ブロックの変換係数絶対値である。
・x及びyは水平/垂直周波数インデックスである。
・qPは現在量子化パラメータである。
・levelScale[qP%6]による乗算及び(qP/6)による左シフトは、量子化ステップqStep=(levelScale[qP%6]<<(qP/6))による乗算に等しい。
・m[…][…]は二次元量子化行列である。ここでは、量子化行列はスケーリングに使用されるため、スケーリング行列と呼ばれることもある。
・bdShiftは、画像サンプルビット深度を説明する追加のスケーリングファクタである。項(1<<(bdShift-1))は、最近傍整数に丸める役割を果たす。
・d[…]は、結果としての逆量子化された変換係数絶対値である。
[46] 量子化行列の送信にHEVCによって使用されるシンタックスを以下に記載する:
Figure 2022537090000002
[47] 以下に留意することができる。
・各変換サイズ(sizeId)に異なる行列が指定される。スケーリングリストデータシンタックス構造では、スケーリング行列は一次元スケーリングリスト(例えば、ScalingList)にスキャンされる。
・所与の変換サイズで、イントラ/インター符号化及びY/Cb/Cr成分の6つの行列が指定される。
・行列は以下の何れかであることができる。
・scaling_list_pred_mode_flagがゼロである(基準matrixIdはmatrixId - scaling_list_pred_matrix_id_deltaとして得られる)場合、同じサイズの先に送信された行列からコピーすることができる。
・規格で指定されるデフォルト値からコピーすることができる(scaling_list_pred_mode_flag及びscaling_list_pred_matrix_id_deltaの両方がゼロである場合)。
・右上対角走査順に、指数ゴロムエントロピー符号化を使用してDPCM符号化モードで完全に指定することができる。
・8×8よりも大きいブロックサイズの場合、コード化ビットを節減するために、量子化行列のシグナリングに8×8係数のみが送信される。次に、係数は、明示的に送信されるDC係数を除き、ゼロホールド(すなわち、反復)を使用して補間される。
[48] HEVCと同様の量子化行列の使用は、寄稿JVET-N0847(O. Chubach, et al., “CE7-related: Support of quantization matrices for VVC,” JVET-N0847, Geneva, CH, March 2019参照)に基づいてVVCドラフト5に採用されている。scaling_list_dataシンタックスは、以下に示すVVCコーデックに適合されている。
Figure 2022537090000003
[49] JVET-N0847を用いたVVCドラフト5の設計では、HEVCでのように、QMは2つのパラメータmatrixId及びsizeIdによって識別される。これを以下の2つの表に示す。
Figure 2022537090000004
Figure 2022537090000005
[50] 両識別子の組合せを以下の表に示す。
Figure 2022537090000006
[51] HEVCでのように、8×8よりも大きいブロックサイズの場合、8×8係数及びDC係数のみが送信される。正しいサイズのQMはゼロホールド補間を使用して再構築される。例えば、16×16ブロックの場合、あらゆる係数は両方向で2回繰り返され、DC係数は送信されたもので置換される。
[52] 矩形ブロックの場合、QM選択(sizeId)に保持されるサイズはより大きな寸法、すなわち、幅及び高さのうち大きい方である。例えば、4×16ブロックの場合、16×16ブロックサイズのQMが選択される。次に、再構築された16×16行列はファクタ4で垂直にデシメートされて、最終的な4×16量子化行列(すなわち、4線のうち3つはスキップされる)を得る。
[53] 以下、sizeId及び使用される正方形ブロックサイズに関連して、所与のファミリのブロックサイズ(正方形又は矩形)のQMをサイズ-Nと呼ぶ。例えば、ブロックサイズ16×16又は16×4の場合、QMはサイズ-16(VVCドラフト5ではsizeId4)として識別される。サイズ-N表記は、厳密なブロック形状及びシグナリングされるQM係数の数(表3に示すように、8×8に制限される)から区別するために使用される。
[54] さらに、VVCドラフト5では、サイズ-64の場合、右下象限のQM係数は送信されない(0と推測され、以下、これを「ゼロアウト」と呼ぶ)。これは、scaling_list_dataシンタックス中の“x>=4&&y>=4”条件によって実施される。これは、変換/量子化プロセスで決して使用されないQM係数の送信を回避する。実際に、VVCでは、任意の寸法で32を超えるブロックサイズを変換する場合(64×N、N×64、N≦64)、32以上のx/y周波数座標を有するあらゆる変換係数は送信されず、ゼロと推測され、したがって、その量子化に量子化行列係数は必要ない。これを図4に示し、図4では、斜線エリアはゼロと推測される変換係数に対応する。
[55] HEVCと比較して、VVCでは、ブロックサイズ数がより多いことに起因してより多くの量子化行列を必要である。しかしながら、VVCドラフト5では、QM予測はなお、同じブロックサイズ行列のコピーに制限されており、ビットの無駄に繋がり得る。さらに、VVCではクロマにブロックサイズ2×2のみ及び輝度にブロックサイズ64×64のみを使用することにより、QMに関連するシンタックスはより複雑である。また、JVET-N0847は、HEVCと同様に、各ブロックサイズに特定の行列導出プロセスを記述している。
[56] HEVC規格化中、例えば、JCTVC-E073(J. Tanaka, et al., “Quantization Matrix for HEVC,” JCTVC-E073, Geneva, CH, March 2011参照)及びJCTVC-H0314(Y. Wang, et al., “Layered quantization matrices representation and compression,” JCTVC-H0314, San Jose, CA, USA, February 2012参照)において、幾つかのQM予測技法が探索されてきた。
[57] JCTVC-E073:QMは特定のパラメータセット(QMPS)で送信される。QMPS内で、QMはサイズ増大順に送信される(HEVCと同様にsizeId/matrixId)。先のQMPSを含め、任意の先に符号化されたQM係数からの予測(=コピー)が提案されている。線形補間を用いたアップコンバージョンが、より小さな基準QMからの適合に使用され、一方、単純なダウンサンプリングがより大きな基準QMからの適合に使用される。HEVC規格化中、これは最終的に拒絶された。
[58] JCTVC-H0314:QMは大きくなる順又は小さくなる順に送信される。図5に示すように、固定された予測木を使用して(明示的な基準インデックスなし)、新しいQMを送信する代わりに先に送信されたQMをコピーすることが可能である。基準QMがより大きい場合、単純なダウンサンプリングが使用される。HEVC規格化中、これは最終的に拒絶された。
[59] これらの2つの提案はHEVCに関連し、VVCによって導入される複雑さに対処しない。
[60] 本願は、以下の1つ又は複数を組み込むことにより、任意のQMを任意の先にシグナリングされたものから予測することができるように量子化行列シグナリング及び予測プロセスを強化しながら、VVCドラフト5(JVET-N0847の採用後)の量子化行列シグナリング及び予測プロセスを簡易化することを提案する。
-基準インデックス差分が任意の先に送信されたものに対処することができるように、サイズ及びタイプの両方を包含するようQMインデックスを統一する。
-量子化行列をブロックサイズ低下順に送信する。
-必要に応じてコピー又はデシメーションプロセスの何れかとして予測プロセスを指定する。
-サイズ-64QMを予測子として使用することができるように、サイズ-64で全てのQM係数を送信する。
[61] その上、8×8よりも大きいブロックのアップサンプリング及び矩形ブロックのダウンサンプリングを包含するQM導出プロセスは、ブロックパラメータに応じてQMインデックスを選択し、QMシグナリングサイズを実際のブロックサイズに適合させると記述される。
[62] 表記を容易にするために、デフォルト値から又は先に送信されたものから量子化行列を予測するプロセスをQM予測プロセスと見なし、送信又は予測されたQMを変換ブロックのサイズ及びクロマフォーマットに適合させるプロセスをQM導出プロセスと見なす。QM予測プロセスは、例えばピクチャレベルでのスケーリングリストデータパーズプロセスの一環であることができる。導出プロセスは通常、より低いレベルであり、例えば、変換ブロックレベルである。種々の態様を以下にさらに詳細に提示し、その後、ドラフトテキスト例及び性能結果が続く。
・QMを識別する1つの行列インデックスの導出及び使用。1つの識別子で、予測(コピー)を使用する場合、任意の先に送信された行列を参照することができ、より大きな行列を最初に送信することで、予測プロセスでの補間が回避される。
・送信された、予測された、又はデフォルトの基準QMである先にシグナリングされたQM(基準QM)をコピー又はデシメートすることを含むQM予測プロセス。
・所与の変換ブロックの場合、ブロックサイズ、色成分、及び予測モードに基づいてQMインデックスを選択し、次に、選択されたQMのサイズをブロックのサイズに適合させることを含むQM導出プロセス。リサイズプロセスは、選択されたQMの係数をインデックス付ける変換ブロック内のx及びy座標のビットシフトに基づく。
・サイズ-64QMの全係数の送信。
[63] VVCドラフト5と比較して、これらの態様は仕様を簡易化し(JVET-N0847と比較してテキスト変更を半減し)、大きなビット制限をもたらす(scaling_list_dataのビットコストを半減することができる)。
[64]統一QMインデックス
[65] 変換ブロックの量子化/逆量子化に使用されるQMは、1つのパラメータmatrixIdによって識別される。一実施形態では、統一matrixId(QMインデックス)は以下の複合である。
-ブロックサイズではなく、CUサイズ(すなわち、正方形サイズ行列のみが送信されるため、正方形を囲むCU)に関連するサイズ識別子。なお、ここでは、輝度又はクロマの何れかについて、サイズ識別子は輝度ブロックサイズによって制御され、例えばmax(輝度ブロック幅,輝度ブロック高さ)である。輝度及びクロマツリーが分けられる場合、クロマでは、「CUサイズ」は輝度平面に投射されるブロックのサイズを指す。
-輝度QMはクロマよりも大きいことができる(例えば、4:2:0クロマフォーマットの場合)ため、輝度QMを最初に列記する行列タイプ。
[66] この実施形態によれば、QMインデックス導出を表4、表5、及び式(1)に示す。
Figure 2022537090000007
Figure 2022537090000008
[67] 統一matrixIdは以下のように導出される:
matrixId=N*sizeId+matrixTypeId (1)
式中、Nは可能なタイプの識別子の数であり、例えば、N=6である。
[68] 別の実施形態では、7つ以上のQMタイプが定義される場合、sizeIdは、量子化行列タイプの数である正しい数で乗算されるべきである。他の実施形態では、他のパラメータ、例えば、特定のブロックサイズ、シグナリングされる行列サイズ(ここでは8×8に制限される)、又はDC係数の有無が異なることもできる。なお、ここでは、QMはブロックサイズが低下する順に列記され、表6に示すように、1つのインデックスによって識別される。
Figure 2022537090000009
[69]QM予測プロセス
[70] QM係数を送信する代わりに、デフォルト値から又は任意の先に送信されたQM係数からQMを予測することが可能である。一実施形態では、基準QMが同じサイズである場合、QMはコピーされ、その他の場合、図6の一例に示すように、関連する比率でデシメートされ、図6では、サイズ-4輝度QMがサイズ-8から予測される。
[71] デシメーションは以下の式によって記述され:
ScalingMatrix[ matrixId ][ x ][ y ] = refScalingMatrix[ i ][ j ] (2)
式中、matrixSize = (matrixId < 20) ? 8 : (matrixId < 26) ? 4 : 2 )
x = 0 .. matrixSize - 1, y = 0 .. matrixSize - 1,
i = x << ( log2(refMatrixSize) - log2( matrixSize ) ),且つ
j = y << ( log2(refMatrixSize) - log2( matrixSize ) ).
式中、refMatrixSizeはrefScalingMatrixのサイズ(ひいてはi及びj変数の範囲)に一致する。
[72] 図6に示す例では、輝度サイズ-4QM(4×4アレイ:matrixSizeは4である)は、8×8アレイ(refMatrixSizeは8である)である輝度サイズ-8QMから予測され;2線のうちの1つ及び2列のうちの1つをドロップして4×4アレイを生成する(すなわち、基準QM内の要素(2x,2y)は現在QM内の要素(x,y)にコピーされる)。
[73] 式(3)は以下の形態をとる:
ScalingMatrix[ matrixId ][ x ][ y ] = refScalingMatrix[ i ][ j ] (3)
x = 0 .. 3, y = 0 .. 3, i = x << 1, 且つ j = y << 1.
[74] 基準QMがDC値を有する場合、現在QMがDC値を必要とするとき、基準QMはDC値としてコピーされ、現在QMがDC値を必要としないとき、基準QMは左上QM係数にコピーされる。
[75] このQM予測プロセスは、好ましい実施形態ではQM復号化プロセスの一環であるが、別の実施形態ではQM導出プロセスまで延期することができ、その場合、予測目的でのデシメーションはQMリサイズサブプロセスとマージされる。
[76]QM導出プロセス
[77] 量子化行列の提案される導出プロセスはまず、上述した(統一QMインデックス)ようにブロックパラメータに応じて右QMインデックスを選択し、次に、矩形ブロックでのデシメーション、あるサイズ、例えば8×8よりも大きいブロックでの反復、及びクロマフォーマット適合のプロセスを1つのプロセスに統一する。提案されるプロセスは、x及びy出力座標のビットシフトに基づく。選択されたQMの右線/列を選択するために、以下の式に示すように、x/y出力座標の右シフトが後に続く左シフトのみが必要とされ:
m[ x ][ y ] = ScalingMatrix[ matrixId ][ i ][ j ] (4)
式中、i = ( x << log2MatrixSize ) >> log2( blkWidth ), 且つ
j = ( y << log2MatrixSize ) >> log2( blkHeight ).
式中、log2MatrixSizeはScalingMatrix[matrixId](正方形2Dアレイ)のサイズのlog2であり、blkWidth及びblkHeightはそれぞれ現在の変換ブロックの幅及び高さであり、xは0からblkWidth-1の範囲であり、yは0からblkHeight-1の範囲である。
[78] 以下、QM導出プロセスを示すために、幾つかの例を提供する。図7に示す例では、輝度16×8ブロックのQMは、実際には8×8アレイにDC係数を加えたものである輝度サイズ-16QMから導出される。この例では、blkWidthは16に等しく、blkHeightは8に等しく、log2MatrixSizeは3に等しく、したがって、式(5)は以下の形態をとる:
m[ x ][ y ] = ScalingMatrix[ matrixId ][ i ][ j ] (5)
式中、i = ( x << 3 ) >> 4, 且つ j = ( y << 3 ) >> 3, ここで、x = 0..15 且つ y = 0..7.
ここで、xは1だけ右シフトし、yは変わらず(すなわち、選択されたQM内の列iは現在QM内の列2i及び2i+1にコピーされる)。さらに、選択されたQMがDC係数を有するため、m[0][0]にコピーされる。
[79] 図8に示す別の例では、8×4CUのクロマ4×2ブロックのQM(4:2:0フォーマット)が生成される。これは、囲む正方形が8×8である8×4CUサイズに一致する。したがって、選択されるQMはサイズ-8のQMであり、ここで、クロマQMは4×4アレイとして符号化される。ここで、blkWidthは4に等しく、blkHeightは2に等しく、log2MatrixSizeは2に等しく、したがって、式(6)は以下の形態をとる:
m[ x ][ y ] = ScalingMatrix[ matrixId ][ i ][ j ] (6)
式中、i = ( x << 2 ) >> 2, 且つ j = ( y << 2 ) >> 1 ここで、x = 0..3 且つ y = 0..1.
ここで、xは変わらず、yは1だけ左シフトする(すなわち、基準QM内の行2yが現在QM内の行yにコピーされる)。
[80] 以下の例では、4:2:2及び4:4:4フォーマットへの提案される適合はVVCドラフト5と異なる。クロマブロックサイズに一致するQMを探す(クロマ行列が存在しない64×64の場合を除く)代わりに、サイズ一致は同じ(輝度)CUサイズ(すなわち、輝度平面に投射されたブロックのサイズ)に基づき、必要な場合、係数は繰り返される。これは、QM設計をクロマフォーマットから独立させる。
[81] 図9に示す例では、8×4CUのクロマ8×2ブロックのQM(4:2:2フォーマット)が生成される。選択されるQMは、図8に示す上記例と同じであるが、4:2:2クロマフォーマットは2倍の列を必要とする。ここで、列は繰り返され、したがって、xは1だけ右シフトし、yはなお1だけ左シフトする。特に、blkWidthは8に等しく、blkHeightは2に等しく、log2MatrixSizeは2に等しく、したがって、式(7)は以下の形態をとる:
m[ x ][ y ] = ScalingMatrix[ matrixId ][ i ][ j ] (7)
式中、i = ( x << 2 ) >> 3, 且つj = ( y << 2 ) >> 1,ここで、x = 0..7 且つ y = 0..1.
[82] 図10に示す例では、8×4CUのクロマ8×4ブロックのQM(4:4:4フォーマット)が生成される。選択されるQMはなお、図8及び図9に示す例と同じであるが、4:4:4クロマフォーマットは、4:2:0クロマフォーマットの2倍の行及び列を必要とする。ここで、列は繰り返されなければならず、したがって、xは1だけ右シフトするが、行のデシメーション(矩形のため)はスキップすることができ、したがって、yはシフトしない。特に、blkWidthは8に等しく、blkHeightは4に等しく、log2MatrixSizeは2に等しく、したがって、式(8)は以下の形態をとる:
m[ x ][ y ] = ScalingMatrix[ matrixId ][ i ][ j ] (8)
式中、i = ( x << 2 ) >> 3, 且つj = ( y << 2 ) >> 2,ここで、x = 0..7 且つ y = 0..3.
[83]サイズ-64の場合に送信される係数の数
[84] 一実施形態では、右下象限がVVC変換及び量子化プロセスによって決して使用されなくとも、サイズ-64からより小さなQMを予測できるように、サイズ-64の全係数がスケーリングリストシンタックスで送信される。一般に、本発明では、最大QMの全係数を送信し得る。
[85] しかしながら、予測子として使用されない場合、サイズ-64QMの右下象限ではシンタックス要素scaling_list_delta_coefはゼロに設定することができるため、前の仕事(JVET-N0847)と比較した送信される係数の数のこの増大に関連するオーバーヘッドが、最悪事例で2×16ビット:右下象限では、4×4=16のデルタ係数がシグナリングされ、ゼロに強制される(指数ゴロムを用いて符号化される)場合、それぞれ1ビットをとり、2つのサイズ-64QM(輝度イントラ/インター)がある:に制限することができることに留意することに価値がある。
[86] テストについて表8に説明し、表8は、このオーバーヘッドが予測改良によってもたらされる利得と比較して些細であることを示す。
[87] 別の実施形態では、サイズ-64QMの右下象限の係数は、サイズ-64QMシグナリングの一環として送信されず、より小さなQMが所与のサイズ-64QMから最初に予測されるとき、補足パラメータとして送信される。
[88] 表7は、JVET-N0847に記載の方法と提案される方法とのいくらかの比較を提供する。
Figure 2022537090000010
[89] 以下、一実施形態による幾つかのシンタックス及びセマンティクスについて説明する。
[90]PPSシンタックス及びセマンティクス(マイナー適合)
Figure 2022537090000011
1に等しいpps_scaling_list_data_present_flagは、PPSと呼ばれるピクチャに使用されたスケーリングリストデータが、アクティブSPSによって指定されたスケーリングリスト及びPPSによって指定されたスケーリングリストに基づいて導出されることを指定する。0に等しいpps_scaling_list_data_present_flagは、PPSと呼ばれるピクチャに使用されたスケーリングリストデータが、アクティブSPSによって指定されたものに等しいと推測されることを指定する。scaling_list_enabled_flagがゼロに等しい場合、pps_scaling_list_data_present_flagの値は0に等しい値であるものとする。scaling_list_enabled_flagが1に等しい場合、sps_scaling_list_data_present_flagは0に等しく、pps_scaling_list_data_present_flagは0に等しく、デフォルトスケーリング行列が、7.4.5節で指定されるように、スケーリングリストデータセマンティクスに記載のようにアレイScalingMatrixを導出するのに使用される。
[91] このシンタックス/セマンティクスがHEVC規格又はVVCドラフトに近いことが意図される一例であり、限定ではないことに留意されたい。例えば、scaling_list_data搬送はSPS又はPPSに限定されず、他の手段によって送信することもできる。
[92]シグナリングリストデータシンタックス/セマンティクス(簡易化)
Figure 2022537090000012
0に等しいscaling_list_pred_mode_flag[matrixId]は、スケーリング行列が基準スケーリング行列の値から導出されることを指定する。基準スケーリング行列は、scaling_list_pred_matrix_id_delta[matrixId]によって指定される。1に等しいscaling_list_pred_mode_flag[matrixId]は、スケーリングリストの値が明示的にシグナリングされることを指定する。
scaling_list_pred_matrix_id_delta[matrixId]は、以下のように、スケーリング行列の導出に使用される基準スケーリング行列を指定する。scaling_list_pred_matrix_id_delta[matrixId]の値は、0からmatrixIdの範囲(端数を含む)内であるものとする。
scaling_list_pred_mode_flag[matrixId]がゼロに等しい場合:
-変数refMatrixSize及びアレイrefScalingMatrixはまず、以下のように導出される:
・scaling_list_pred_matrix_id_delta[matrixId]がゼロに等しい場合、以下が設定デフォルト値に適用される:
・refMatrixSizeは8に等しく設定され、
・matrixIdが偶数である場合、
refScalingMatrix = (9)
{
{ 16, 16, 16, 16, 16, 16, 16, 16 } // イントラデフォルト値のプレースホルダ
{ 16, 16, 16, 16, 16, 16, 16, 16 }
{ 16, 16, 16, 16, 16, 16, 16, 16 }
{ 16, 16, 16, 16, 16, 16, 16, 16 }
{ 16, 16, 16, 16, 16, 16, 16, 16 }
{ 16, 16, 16, 16, 16, 16, 16, 16 }
{ 16, 16, 16, 16, 16, 16, 16, 16 }
{ 16, 16, 16, 16, 16, 16, 16, 16 }
},
・その他の場合
refScalingMatrix = (10)
{
{ 16, 16, 16, 16, 16, 16, 16, 16 } // インターデフォルト値のプレースホルダ
{ 16, 16, 16, 16, 16, 16, 16, 16 }
{ 16, 16, 16, 16, 16, 16, 16, 16 }
{ 16, 16, 16, 16, 16, 16, 16, 16 }
{ 16, 16, 16, 16, 16, 16, 16, 16 }
{ 16, 16, 16, 16, 16, 16, 16, 16 }
{ 16, 16, 16, 16, 16, 16, 16, 16 }
{ 16, 16, 16, 16, 16, 16, 16, 16 }
},
・その他の場合(scaling_list_pred_matrix_id_delta[matrixId]がゼロよりも大きい場合)、以下が適用される:
refMatrixId = matrixId - scaling_list_pred_matrix_id_delta[ matrixId ] (11)
refMatrixSize = (refMatrixId < 20) ? 8 : (refMatrixId < 26) ? 4 : 2 ) (12)
refScalingMatrix = ScalingMatrix[ refMatrixId ] (13)
-次に、アレイScalingMatrix[matrixId]が以下のように導出される:
ScalingMatrix[ matrixId ][ x ][ y ] = refScalingMatrix[ i ][ j ] (14)
式中、matrixSize = (matrixId < 20) ? 8 : (matrixId < 26) ? 4 : 2 )
x = 0 .. matrixSize - 1, y = 0 .. matrixSize - 1,
i = x << ( log2(refMatrixSize) - log2( matrixSize ) ), 且つ
j = y << ( log2(refMatrixSize) - log2( matrixSize ) )
scaling_list_dc_coef_minus8[matrixId]+8は、xxx節に記載のように、関連する場合、スケーリング行列の最初の値を指定する。scaling_list_dc_coef_minus8[matrixId]の値は-7から247の範囲(端数を含む)であるものとする。
scaling_list_pred_mode_flag[matrixId]がゼロに等しい場合、scaling_list_pred_matrix_id_delta[matrixId]はゼロよりも大きく、且つrefMatrixId<14であり、以下が適用される:
-matrixId<14の場合、scaling_list_dc_coef_minus8[matrixId]はscaling_list_dc_coef_minus8[refMatrixId]に等しいと推測され、
-その他の場合、ScalingMatrix[matrixId][0][0]はscaling_list_dc_coef_minus8[refMatrixId]+8に等しく設定される。
scaling_list_pred_mode_flag[matrixId]がゼロに等しい場合、scaling_list_pred_matrix_id_delta[matrixId]はゼロに等しく(デフォルト値を示す)、且つmatrixId<14であり、scaling_list_dc_coef_minus8[matrixId]は8に等しいと推測される。
scaling_list_delta_coefは、現在行列係数ScalingList[matrixId][i]と前の行列係数ScalingList[matrixId][i-1]との間の差分を指定し、scaling_list_pred_mode_flag[matrixId]が1に等しい場合。scaling_list_delta_coefの値は-128から127の範囲(端数を含む)であるものとする。ScalingList[matrixId][i]の値は、0よりも大きいものとする。
存在する(すなわち、scaling_list_pred_mode_flag[matrixId]が1に等しい)場合、アレイScalingMatrix[matrixId]は以下のように導出される:
ScalingMatrix[ matrixId ][ i ][ j ] = ScalingList[ matrixId ][ k ] (15)
式中、k = 0 .. coefNum - 1,
i = diagScanOrder[ log2(coefNum)/2 ][ log2(coefNum)/2 ][ k ][ 0 ], 且つ
j = diagScanOrder[ log2(coefNum)/2 ][ log2(coefNum)/2 ][ k ][ 1 ]
[93] JVET-N0847シンタックスと比較した主な簡易化は、1つのfor()ループの除去及び[sizeId][matrixId]から[matrixId]のインデックス簡易化である。
[94] 「xxx節」は、本文書のスケーリング行列導出プロセスに一致する、VVC仕様において紹介される不確定セクション番号を指す。
[95] このシンタックス/セマンティクスが、HEVC規格又はVVCドラフト5に近いことが意図される一例であり、限定ではないことに留意されたい。例えば、係数範囲は1、・・・、255に限定されず、例えば、1、・・・、127(7ビット)又は-64、・・・、63であってもよい。また、6タイプ×5サイズとして編成される30のQMに限定されない(8つのタイプ及びより少数又は多数のサイズがあり得る。適合することができる表5参照。その場合、coefNumへの単純な適合及びDC係数の存在についての条件が必要とされる)。QM予測のタイプ(ここではコピーのみ)も限定ではない。例えば、スケーリングファクタ又はオフセットを追加することができ、明示的な符号化を残差として予測の上に追加することができる。同じことが、係数送信に使用される方法(ここではDPCM)、DC係数の存在、及び固定される係数の数(サブセットのみを送信することができる)にも言える。
[96] デフォルト値に関して、MODE_INTRA及びMODE_INTERに関連付けられた2つのデフォルトQMに限定されず、ここでのように、関連するデフォルト値が一致するまで(例えば、HEVCと同じデフォルトQMを選択することができる)、16全ての値で埋められる。
[97] また、シグナリングする係数の数coefNumは、一連の比較の代わりに数学的に表すこともでき、結果は同じであり:coefNum=Min(64,4096>>((matrixId+4)/6)*2)、これはHEVC又は現在のVVCドラフト様式に近いが、歓迎されないことがある除法を導入する。
[98] なお、ここでは、より大きな行列が最初に送信され、1つのインデックスが使用され、それにより、予測基準(scaling_list_pred_matrix_id_deltaによって示される)が、意図されたブロックサイズ又はタイプに関係なく、任意の先に送信された行列又はデフォルト値(例えば、scaling_list_pred_matrix_id_deltaがゼロである場合)であることができることに留意する。
[99] 図11は、一実施形態によりスケーリングリストデータシンタックス構造をパーズするプロセス(1100)を示す。この実施形態では、入力はコード化ビットストリームであり、出力はScalingMatrixのアレイである。明確にするために、DC値についての詳細は省く。特に、ステップ1110において、QM予測モードがビットストリームから復号化される。QMが予測される(1120)場合、デコーダは、上記フラグに応じて、QMが推測(予測)されるか、それともビットストリームにおいてシグナリングされるかをさらに判断する。ステップ1130において、デコーダは、ビットストリームからQM予測データを復号化し、これは、例えばQMインデックス差分scaling_list_pred_matrix_id_deltaがシグナリングされない場合、QMを推測するのに必要である。次に、デコーダは、QMがデフォルト値から(例えば、scaling_list_pred_matrix_id_deltaがゼロである場合)又は先に復号化されたQMから予測されるか否かを判断する(1140)。基準QMがデフォルトQMである場合、デコーダはデフォルトQMを基準QMとして選択する(1150)。例えば、matrixIdのパリティに応じて、選択元として幾つかのデフォルトQMがあり得る。その他の場合、デコーダは先に復号化されたQMを基準QMとして選択する(1155)。基準QMのインデックスは、matrixId及び上記インデックス差分から導出される。ステップ1160において、デコーダは基準QMからQMを予測する。予測は、基準QMが現在QMと同じサイズである場合、簡単なコピーからなり、又は予期したよりも大きい場合、デシメーションからなる。結果はScalingMatrix[matrixId]に記憶される。
[100] QMが予測されない(1120)場合、デコーダは、matrixIdに応じてビットストリームから復号化されるQM係数の数を決定する(1170)。例えば、matrixIdが20より低い場合、64であり、matrixIdが20~25である場合、16であり、その他の場合、4である。ステップ1175において、デコーダはビットストリームからQM係数の関連する数を復号化する。ステップ1180において、デコーダは、走査順、例えば対角走査に従って、復号化されたQM係数を2D行列に編成する。結果はScalingMatrix[matrixId]に記憶される。ScalingMatrix[matrixId]を使用して、デコーダはQM導出プロセスを使用して、非正方形及び/又は異なるクロマフォーマットであり得る変換ブロックを逆量子化する量子化行列m[][]を取得することができる。
[101] ステップ1190において、デコーダは、現在QMがパーズする最後のQMであるか否かをチェックする。最後ではない場合、制御はステップ1110に戻り、その他の場合、全てのQMがビットストリームからパーズされたとき、QMパーズプロセスは停止する。
[102] 図12は、一実施形態による、エンコーダ側でのスケーリングリストデータシンタックス構造を符号化するプロセス(1200)を示す。エンコーダ側では、QMは記載の順序で、大きいブロックサイズから小さいブロックサイズに(例えば、matrixId0から30に)走査される。ステップ1210において、エンコーダは予測嗜好をサーチして、現在QMが先にコード化されたもののコピー(又はデシメーション)であるか否かを判断する。QMは、QM予測の効率を最適化するように設計することができ、例えば、幾つかのQMが最初に十分に近い、又はデフォルトQMから近い場合、強制的に等しくすることができる(又はサイズが異なる場合、強制的にデシメートすることができる)。さらに、サイズ-64QMの右下象限における係数は、後続QMをよりよく予測するように又は予測に決して再使用されない場合、QMビットコストを低減するように最適化することができる。決定されると、QM予測モードはビットストリームに符号化される。
[103] 特に、エンコーダが予測を使用すると決定した場合(1220)、ステップ1230において、予測モードが符号化される(例えば、scaling_list_pred_mode_flag=0)。ステップ1240において、予測パラメータ(例えば、QMインデックス差分scaling_list_pred_matrix_id_delta)が符号化される:デフォルトQM値の場合、ゼロインデックス差分、又は先のQMが予測基準として選ばれた場合、関連するインデックス差分。他方、明示的なシグナリングが決定された場合、ステップ1250において、予測モードが符号化される(例えば、scaling_list_pred_mode_flag=0)。次に対角走査(1260)が実行され、次にQM係数符号化(1270)が実行される。
[104] ステップ1280において、エンコーダは、現在QMが符号化する最後のQMであるか否かをチェックする。最後ではない場合、制御はステップ1210に戻り、その他の場合、全てのQMがビットストリームに符号化されたとき、QM符号化プロセスは停止する。
[105] 図13は、一実施形態によるQM導出プロセス1300を示す。入力はScalingMatrixアレイを含み、サイズ(幅/高さ)、予測モード(イントラ/インター/IBC、・・・)、及び色成分(Y/U/V)等のブロックパラメータを変換することができる。出力は、変換ブロックと同じサイズを有するQMである。明確にするために、DC値についての詳細は省く。特に、ステップ1310において、デコーダは、上述したように(統一QMインデックス)、現在の変換ブロックサイズ(幅/高さ)、予測モード(イントラ/インター/IBC、・・・)、及び色成分(Y/U/V)に応じてQMインデックスmatrixIdを決定する。ステップ1320において、デコーダは、上述したように、変換ブロックサイズに一致するように選択されたQM(ScalingMatrix[matrixId])をリサイズする。一変形では、ステップ1320は予測に必要なデシメーションを含むことができる。
[106] QM導出プロセスは、エンコーダ側で同様である。量子化は変換係数をQM値で除算し、一方、逆量子化は乗算する。しかし、QMは同じである。特に、エンコーダにおいて再構築に必要なQMは、ビットストリームでシグナリングされるものに一致する。
[107] 概念上、変換係数d[x][y]は以下のように量子化することができ、ここで、qStepは量子化ステップサイズであり、m[][]は量子化行列である:
TransCoeffLevel[xTbY][yTbY][cIdx][x][y] = d[x][y] / qStep / m[x][y]
[108] しかし、整数計算の場合、除法を回避するために、通常、
TransCoeffLevel[xTbY][yTbY][cIdx][x][y] = ( ( d[x][y] * im[x][y] * ilevelScale[ qP%6 ] >>
(qP / 6 ) ) + ( 1 << ( bdShift - 1 ) ) ) >> bdShift )
のように見え、例えば、im[x][y]≒65536/m[x][y]であり、ilevelScale[0..5]=65536/levelScale[0..5]であり、bdShiftは適切な値である。実際に、ソフトウェアコーダの場合、im*ilevelScaleは通常、予め計算され、テーブルに記憶される。
[109] 上記では、QM予測プロセス及びQM導出プロセスは別個に実行される。別の実施形態では、QM予測はQM導出プロセスまで延期することができる。この実施形態はQMシグナリングシンタックスを変えない。この実施形態は、連続リサイズにより機能的に異なることができ、予測部分(基準QM取得+コピー/ダウンスケール)及び対角走査を後述する「QM導出プロセス」まで延期する。
[110] その場合、一実施形態では、スケーリングリストデータパーズプロセス1100の出力は、予測フラグ及び有効予測パラメータと共に、ScalingMatrixの代わりにScalingList()のアレイである:ScalingMatrixPredIdアレイは常に、定義されたScalingListのインデックスを含む(デフォルト又はシグナリング)。このアレイは、scaling_list_pred_matrix_id_deltaを解釈することによりQM復号化中、再帰的に構築され、それにより、QM導出プロセスはこのインデックスを直接使用して、現在の変換ブロックの逆量子化に使用されるQMを構築するための実際の値を取得することができる。
[111] 以下、一実施形態によるスケーリングリストセマンティクスを示すために、一例を提供する。
スケーリング行列導出プロセス(新:スケーリングリストセマンティクスでの説明を部分的に置き換える;これはセクションxxx)
[112] このプロセスへの入力は予測モードpredMode、色成分変数cIdx、ブロック幅blkWidth、及びブロック高さblkHeightである。
このプロセスの出力は、(blkWidth)×(blkHeight)アレイm[x][y](スケーリング行列)であり、x及びyは水平及び垂直係数位置である。なお、SubWidthC及びSubHeightCはクロマフォーマットに依存し、輝度成分及びクロマ成分におけるサンプル数の比率を示す。
変数matrixIdは以下のように導出される:
matrixId = 6 * sizeId + matrixTypeId (xxx-1)
式中、subWidth = (cIdx > 0) ? SubWidthC : 1,
subHeight = (cIdx > 0) ? SubHeightC : 1,
sizeId = 6 - max( log2( blkWidth * subWidth ), log2( blkHeight * subHeight ) ), 且つ
matrixTypeId = ( 2 * cIdx + ( predMode = = MODE_INTER ? 1 : 0 ) )
変数log2MatrixSizeは以下のように導出される:
log2MatrixSize = (matrixId < 20) ? 3 : (matrixId < 26) ? 2 : 1 (xxx-2)
出力アレイm[x][y]は、以下を適用することによって導出され、xは端数を含めて0からblkWidth-1の範囲であり、yは端数を含めて0からblkHeight-1の範囲である:
m[ x ][ y ] = ScalingMatrix[ matrixId ][ i ][ j ] (xxx-3)
式中、i = ( x << log2MatrixSize ) >> log2( blkWidth ), 且つ
j = ( y << log2MatrixSize ) >> log2( blkHeight )
matrixIdが14よりも低い場合、m[0][0]は以下のようにさらに変更される:
m[ 0 ][ 0 ] = scaling_list_dc_coef_minus8[ matrixId ] + 8 (xxx-4)
[113] scaling_list_dataシンタックス及びセマンティクスとの同様に、これが一例であり、限定ではないことに留意されたい。例えば、MODE_INTRA及びMODE_INTERに関連付けられた2つのデフォルトQMに限定されず、ここでのように、関連するデフォルト値が一致するまで(例えば、HEVCと同じデフォルトQMを選択することができる)、16全ての値で埋められる。1つのデフォルトQMがあってもよく、又は3つ以上のデフォルトQMがあってもよい。matrixId算出は、例えば、ブロックサイズ毎に6よりも多数又は少数のタイプがある場合、困難であり得る。重要なのは、選択されたQMと異なるブロックサイズに適合するための水平及び垂直ダウンスケール及びアップスケールが、好ましくは簡単な(ここでは、左シフトに続く右シフト)1つのプロセスで行われることである。
[114] 矩形ブロックの場合、正方形を囲む現在ブロックのQM識別子の選択に限定されない:式xxx-1におけるsizeIdの導出は異なるルールに従い得る。
[115] また、選択されたQMサイズlog2MatrixSizeは、一連の比較の代わりに数学的に表すこともでき、結果は同じである:log2MatrixSize=min(3,6-(matrixId+4)/6)が、これは歓迎されないことがある除法を導入する。
[116] 以下、一実施形態によるスケーリングプロセスのセマンティクスを説明するために、一例を提供する。
(適合された)変換係数のスケーリングプロセス
[117] […]
x=0,...,nTbW-1、y=0,...,nTbH-1であるスケーリングされた変換係数d[x][y]の導出のために、以下が適用される:
-(nTbW)×(nTbH)中間スケーリングファクタアレイmが以下のように導出される:
-以下の条件の1つ又は複数が真である場合、m[x][y]は16に等しくて設定される:
-scaling_list_enabled_flagが0に等しい。
-transform_skip_flag[xTbY][yTbY]が1に等しい。
-その他の場合、mは、予測モードCuPredMode[xTbY][yTbY]、色成分変数cIdx、ブロック幅nTbW、及びブロック高さnTbHを入力として用いて呼び出される、xxx節で指定されるスケーリング行列導出プロセスの出力である。
-スケーリングファクタls[x][y]は以下のように導出される:
[…]
[118] VVCドラフト5と比較した主な変更は、scaling_list_dataセマンティクスに記載されるアレイの部分をコピーする代わりに、xxx節を呼び出すことである。
[119] 上記のように、これが、現在のVVCドラフトへの変更を最小することを目的とした一例であり、限定ではないことに留意されたい。例えば、スケーリング行列導出プロセスの色成分入力は、cIdxと異なってもよい。また、QMはスケーリングファクタとしての使用に限定されず、例えばQPオフセットとして使用することもできる。
[120] HEVC規格化中に使用したものと同じテストセットを、一般的な規格(JPEG、MPEG2、AVC、HEVC)の推奨又はデフォルトQMから導出されるQMと、実際のブロードキャストで見られるQMとで増補して使用して、QMコード化性能をテストした。全てのテストで、幾つかのQMはあるタイプから別のタイプに(例えば、輝度からクロマへ又はイントラからインターへ)、及び/又はあるサイズから別のサイズにコピーされる。
[121] 以下の表は、3つの異なる方法:HEVC、JVET-N0847、及び本提案を使用してscaling_list_dataを符号化するために必要なビット数を報告している。特に、HEVCはHEVCテストセット(テスト毎に24個のQM)を使用し、他の2つは導出されたテストセット(テスト毎に30個のQM、追加のサイズあり:クロマの場合サイズ-2、輝度の場合にサイズ-64;サイズ-2QMはサイズ-4からダウンサンプリングされ、サイズ-64はサイズ-32からコピーされ、サイズ-32はサイズ-16からコピーされ、サイズ16、8、4はそのまま維持される)を使用する。
Figure 2022537090000013
[122] このテストでは、HEVCと比較した場合であっても、提案された技法が大量のビットを節減し、その一方で、提案された方法はより多くのQMを符号化することが分かる。
[123] JCTVC-E073での手法を再び参照すると、JCTVC-E073における基準インデックス付け(三つ組み:QMPS、サイズ、タイプ)は、ここで提案されるものよりも複雑であり、何故ならば、先のQMPSインデックス付けでは先のQMPSの記憶が必要なためである。線形補間は複雑性を導入する。ダウンサンプリングはここで提案されるものと同様である。
[124] JCTVC-H0314での手法を再び参照すると、大きなものから小さなものへの送信はここで提案されるものに近いが、JCTVC-H0314での固定予測木は、ここで提案される統一インデックス付け及び明示的な基準よりも柔軟性に劣る。
[125]イントラブロックコピーモードでのQM
[126] 上記では、2つのブロック予測モード、すなわち、イントラ及びインターに異なるQMが指定される。しかしながら、イントラ及びインターに加えて、VVCでは新しい予測モード:IBC(イントラブロックコピー)があり、IBCでは、ブロックは、適切な変位ベクトルを用いて、同じピクチャの再構築されたサンプルから予測することができる。IBC予測モードでのQM選択では、JVET-N0847及び上記実施形態は両方とも、イントラモードと同じQMを使用する。
[127] IBCモードはイントラよりもインターに近いため、一実施形態では、インターモード(イントラの代わりに)でシグナリングされたQMを再使用することが提案される。しかしながら、IBCは、インター予測に近い一方で、異なる:変位ベクトルは物体又はカメラの動きに一致せず、テクスチャコピーに使用される。これは、異なる実施形態では、特定のQMがIBCブロックのコピー最適化に役立ち得る特定のアーチファクトに繋がり得る。以下、IBC予測モードでのQM選択を変えることを提案する。
・好ましい実施形態は、インターモード(イントラの代わりに)と同じQMを選択することであり、その理由は、IBCがイントラ予測よりもインター予測に近いためである。
・別の選択肢は、IBCモードに特定のQMを有することである。
・これらはシンタックスで明示的にシグナリングされてもよく、又は推測されてもよい(例えば、イントラQM及びインターQMの平均)。
[128] 好ましい実施形態では、特定の変換ブロックのQM選択又は導出プロセスは、ブロックがIBC予測モードを有する場合、インターQMを選択する。図12を再び参照すると、QM導出プロセスのステップ1210は後述のように調整する必要がある。
[129] 先に提案されたドラフトテキストでは、QM選択は式(xxx-1)に記載されており、これは以下のように変えることができる。
Figure 2022537090000014
[130] なお、ブロックはイントラモード(MODE_INTRA)、インターモード(MODE_inter)、又はイントラブロックコピーモード(MODE_IBC)で符号化し得る。matrixTypeIdが表6又はmatrixTypeId=(2*cIdx+(predMode==MODE_INTER?1:0)))のように設定される場合、MODE_IBCブロックは、まるでMODE_INTRAブロックであるかのようにmatrixTypeIdを選択する。(xxx-1)における変更:matrixTypeId=(2*cIdx+(predMode==MODE_INTRA?0:1))を用いて、MODE_IBCブロックは、まるでMODE_INTERブロックであるかのようにmatrixTypeIdを選択する。
[131] JVET-N0847によって提案されるドラフトテキストでは、QM選択は表7-14に記載され、以下のように変更することができる。特に、MODE_IBCのmatrixIdは、JVET-N0847でのようにMODE_INTRAと同じではなく、MODE_INTERと同じように割り当てられる。
Figure 2022537090000015
[132]変形1:IBCのQMを明示的にシグナリング
[133] この変形では、特定のQM(イントラQM及びインターQMと異なる)がIBCブロックに使用され、これらのQMはビットストリームにおいて明示的にシグナリングされる。これはより多くのQMを作成し、scaling_list_dataシンタックス及びmatrixIdマッピングの適合を必要とし、ビットコストへの影響を有する。この変形によれば、式(xxx-1)に記載のQM選択は、以下のように変更することができる。
Figure 2022537090000016
[134] JVET-N0847では、QM選択表は以下のように変更することができる:
Figure 2022537090000017
[135]変形2:IBCモードのQMを推測
[136] この変形では、特定のQM(イントラQM及びインターQMと異なる)がIBCブロックに使用される。しかしながら、それらのQMはビットストリームでシグナリングされず、推測される:例えば、スケーリング及びオフセットのように、イントラQM及びインターQMの平均、特定のデフォルト値、又はインターQMへの特定の変更として。
[137]変形3:輝度のみでの明示的なIBC QM
[138] この変形では、IBC用の追加のQMは輝度のみに制限され、IBC用のクロマQMは、変形1でのようにインターQMを再使用するか、又は変形2でのように新しいQMを推測することができる。
[139] 種々の方法が本明細書に記載され、各方法は、上述した方法を達成する1つ又は複数のステップ又は動作を含む。ステップ又は動作の特定の順序が方法の適切な動作に求められる場合を除き、特定のステップ及び/又は動作の順序及び/又は使用は変更又は結合し得る。さらに、「第1」、「第2」等の用語、例えば、「第1の復号化」及び「第2の復号化」は、種々の実施形態では、要素、構成要素、ステップ、動作等を修飾するのに使用し得る。そのような用語の使用は、特に必要とされる場合を除き、修飾された動作への順序を暗示しない。したがって、この例では、第1の復号化は第2の復号化の前に実行される必要はなく、例えば、第2の復号化の前、第2の復号化中、又は第2の復号化と重なる時間期間中に行われ得る。
[140] 本願に記載の種々の方法及び他の態様は、図2及び図3に示すビデオエンコーダ200及びデコーダ300のモジュール、例えば量子化及び逆量子化モジュール(230、240、340)を変更するのに使用することができる。さらに、各態様はVVC又はHEVCに限定されず、例えば他の規格及び推奨並びに任意のそのような規格及び推奨の拡張に適用することができる。別記される場合又は技術的に除外される場合を除き、本願に記載の態様は個々に又は組み合わせて使用することができる。
[141] 種々の数値が本願で使用される。具体的な値は例を目的とし、記載の態様はこれらの具体的な値に限定されない。
[142] 種々の実施は復号化を含む。「復号化」は、本願で使用される場合、表示に適した最終出力を生成するために、例えば、受信した符号化シーケンスに対して実行されるプロセスの全て又は部分を包含し得る。種々の実施形態では、そのようなプロセスは、通常、デコーダによって実行されるプロセス、例えば、エントロピー復号化、逆量子化、逆変換、及び差動復号化の1つ又は複数を含む。句「復号化プロセス」が特に動作のサブセットを指すことが意図されるか、それとも全般的により広い復号化プロセスを指すことが意図されるかは、具体的な説明の文脈に基づいて明らかになり、当業者によってよく理解されると考えられる。
[143] 種々の実施は符号化を含む。「復号化」についての上記論考と同様に、本願で使用される「符号化」は、符号化ビットストリームを生成するために、例えば入力ビデオシーケンスに対して実行されるプロセスの全て又は部分を包含し得る。
[144] なお、本明細書で使用されるシンタックス要素は記述用語である。したがって、他のシンタックス要素名の使用を除外しない。上記では、種々の実施形態を説明するために、PPS及びスケーリングリストのシンタックス要素が主に使用されている。これらのシンタックス要素が他のシンタックス構造に配置されてもよいことに留意されたい。
[145] 本明細書に記載の実施及び態様は、例えば、方法若しくはプロセス、装置、ソフトウェアプログラム、データストリーム、又は信号で実施し得る。実施の一形態の状況でのみ論じられる(例えば、方法としてのみ論じられる)場合であっても、論じられた特徴の実施は他の形態(例えば、装置又はプログラム)で実施することも可能である。装置は、例えば、適切なハードウェア、ソフトウェア、及びファームウェアで実施し得る。方法は、例えば装置、例えばコンピュータ、マイクロプロセッサ、集積回路、又はプログラマブル論理デバイスを含め、例えば一般に処理デバイスと呼ばれるプロセッサで実施し得る。プロセッサは通信デバイス、例えば、コンピュータ、携帯電話、ポータブル/個人情報端末(「PDA」)、及びエンドユーザ間の情報の通信を促進する他のデバイスも含む。
[146] 「一実施形態」、「実施形態」、「一実施」、又は「実施」、並びにそれらの他の変形への言及は、その実施形態に関連して記載された特定の特徴、構造、特性等が、少なくとも1つの実施形態に含まれることを意味する。したがって、句「一実施形態では」、「実施形態では」、「一実施では」、又は「実施では」の出現並びに本願を通して種々の場所に現れる任意の他の変形は、必ずしも全てが同じ実施形態を指す訳ではない。
[147] さらに、本願は種々の情報を「決定する」ことに言及し得る。情報の決定は、例えば、情報の推定、情報の算出、情報の予測、又はメモリからの情報の検索の1つ又は複数を含み得る。
[148] さらに、本願は、種々の情報への「アクセス」に言及し得る。情報へのアクセスは、例えば、情報の受信、情報の検索(例えばメモリからの)、情報の記憶、情報の移動、情報のコピー、情報の算出、情報の決定、情報の予測、又は情報の推定の1つ又は複数を含み得る。
[149] さらに、本願は種々の情報の「受信」に言及し得る。受信は、「アクセス」と同様に、広義の用語であることが意図される。情報の受信は、例えば、情報へのアクセス又は情報の検索(例えばメモリからの)の1つ又は複数を含み得る。さらに、「受信」は通常、何らかの形で、動作中、情報を記憶すること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を算出すること、情報を決定すること、情報を予測すること、又は情報を推定すること関わる。
[150] 例えば、「A/B」、「A及び/又はB」、及び「A及びBの少なくとも1つ」の場合での以下「/」、「及び/又は」、及び「少なくとも1つの」の何れかの使用が、最初に列記された選択肢(A)のみの選択、2番目に列記された選択肢(B)のみの選択、又は両選択肢(A及びB)の選択の包含を意図することを理解されたい。更なる例として、「A、B、及び/又はC」及び「A、B、及びCの少なくとも1つ」の場合、そのような句は、最初に列記された選択肢(A)のみの選択、2番目に列記された選択肢(B)のみの選択、3番目に列記された選択肢(C)のみの選択、1番目及び2番目に列記された選択肢(A及びB)のみの選択、1番目及び3番目に列記された選択(A及びC)のみの選択、2番目及び3番目に列記された選択肢(B及びC)のみの選択、又は3つ全ての選択肢(A及びB及びC)の選択の包含が意図される。これは、当業者には明らかなように、列記されるだけの数の項目に拡張し得る。
[151] また、本明細書で使用される場合、言葉「シグナリング」は、特に、対応するデコーダへの何かを指す。例えば、特定の実施形態では、エンコーダは、逆量子化のために量子化行列をシグナリングする。このように、実施形態では、同じパラメータがエンコーダ側及びデコーダ側の両方で使用される。したがって、例えば、エンコーダはデコーダに特定のパラメータを、デコーダが同じ特定のパラメータを使用することができるように、送信する(明示的なシグナリング)ことができる。逆に、デコーダが既に特定のパラメータ等を有している場合、シグナリングは送信なしで使用されて(暗黙的なシグナリング)、デコーダが単に特定のパラメータを知り選択できるようにする。いかなる実際の機能の送信も回避することにより、種々の実施形態でビット節減が実現する。シグナリングが多種多様な方法で達成可能なことを理解されたい。種々の実施形態では、例えば、1つ又は複数のシンタックス要素、フラグ等が、対応するデコーダへの情報のシグナリングに使用される。上記は言葉「信号」の動詞形に関連するが、言葉「信号」は本明細書では名詞として使用することもできる。
[152] 当業者には明らかになるように、実施は、例えば、記憶又は伝送し得る情報を搬送するようにフォーマットされた多種多様な信号を生成し得る。情報は、例えば、方法を実行する命令又は記載の実施の1つによって生成されるデータを含み得る。例えば、信号は、記載の実施形態のビットストリームを搬送するようにフォーマットし得る。そのような信号は、例えば、電磁波(例えば、スペクトルの無線周波数部分を使用する)又はベースバンド信号としてフォーマットし得る。フォーマットすることは、例えば、データストリームを符号化し、符号化データストリームを用いて搬送波を変調することを含み得る。信号が搬送する情報は、例えば、アナログ又はデジタル情報であり得る。信号は、既知のように、多種多様な異なる有線又は無線リンクを介して伝送し得る。信号はプロセッサ可読媒体に記憶し得る。

Claims (29)

  1. ピクチャ内の復号化するブロックのブロックサイズ、色成分、及び予測モードに基づいて量子化ブロックの単一識別子を取得することと、
    基準量子化行列を示すシンタックス要素を復号化することであって、前記シンタックス要素は、前記基準量子化行列の識別子と前記量子化行列の前記取得された識別子との間の差分を指定する、復号化することと、
    前記基準量子化行列に基づいて前記量子化行列を取得することと、
    前記量子化行列に応答して前記ブロックの変換係数を逆量子化することと、
    前記逆量子化された変換係数に応答して前記ブロックを復号化することと、
    を含む方法。
  2. 1つ又は複数のプロセッサを備えた装置であって、前記1つ又は複数のプロセッサは、
    ピクチャ内の復号化するブロックのブロックサイズ、色成分、及び予測モードに基づいて量子化行列の単一識別子を取得することと、
    基準量子化行列を示すシンタックス要素を復号化することであって、前記シンタックス要素は、前記基準量子化行列の識別子と前記量子化行列の前記取得された識別子との間の差分を指定する、復号化することと、
    前記基準量子化行列に基づいて前記量子化行列を取得することと、
    前記量子化行列に応答して前記ブロックの変換係数を逆量子化することと、
    前記逆量子化された変換係数に応答して前記ブロックを復号化することと、
    を行うように構成される、装置。
  3. 前記ブロックのサイズは、前記基準量子化行列が逆量子化のために適用されるブロックのサイズと異なる、請求項1に記載の方法又は請求項2に記載の装置。
  4. 前記量子化行列の要素は、前記ブロックの各変換係数を逆量子化する際、スケーリングファクタとして使用される、請求項1若しくは3に記載の方法又は請求項2若しくは3に記載の装置。
  5. 前記量子化行列の要素は、前記ブロックの各変換係数を逆量子化する際、オフセットとして使用される、請求項1~4の何れか1項に記載の方法又は請求項2~4の何れか1項に記載の装置。
  6. ピクチャ内の符号化するブロックにアクセスすることと、
    前記ブロックの量子化行列にアクセスすることと、
    前記ブロックのブロックサイズ、色成分、及び予測モードに基づいて前記量子化行列の単一識別子を取得することと、
    基準量子化行列を示すシンタックス要素を符号化することであって、前記シンタックス要素は、前記基準量子化行列の識別子と前記量子化行列の前記取得された識別子との間の差分を指定する、符号化することと、
    前記量子化ブロックに応答して前記ブロックの変換係数を量子化することと、
    前記量子化された変換係数をエントロピー符号化することと、
    を含む方法。
  7. 1つ又は複数のプロセッサを備えた装置であって、前記1つ又は複数のプロセッサは、 ピクチャ内の符号化するブロックにアクセスすることと、
    前記ブロックの量子化行列にアクセスすることと、
    前記ブロックのブロックサイズ、色成分、及び予測モードに基づいて前記量子化行列の単一識別子を取得することと、
    基準量子化行列を示すシンタックス要素を符号化することであって、前記シンタックス要素は、前記基準量子化行列の識別子と前記量子化行列の前記取得された識別子との間の差分を指定する、符号化することと、
    前記量子化行列に応答して前記ブロックの変換係数を量子化することと、
    前記量子化された変換係数をエントロピー符号化することと、
    を行うように構成される、装置。
  8. 前記ブロックのサイズは、前記基準量子化行列が量子化のために適用されるブロックのサイズと異なる、請求項6に記載の方法又は請求項7に記載の装置。
  9. 前記量子化行列の要素は、前記ブロックの各変換係数を量子化する際、スケーリングファクタとして使用される、請求項6若しくは8に記載の方法又は請求項7若しくは8に記載の装置。
  10. 前記量子化行列の要素は、前記ブロックの各変換係数を量子化する際、オフセットとして使用される、請求項6若しくは8に記載の方法又は請求項7若しくは8に記載の装置。
  11. 前記基準量子化行列は先にシグナリングされる、請求項1及び3~6の何れか1項に記載の方法又は請求項2~5及び7~10の何れか1項に記載の装置。
  12. 前記量子化行列は、コピー又はデシメーションを通して前記基準量子化行列から取得される、請求項1、3~6、及び8~11の何れか1項に記載の方法又は請求項2~5及び7~11の何れか1項に記載の装置。
  13. 前記量子化行列は、前記量子化行列が前記基準量子化行列と同じサイズを有することに応答して、コピーを通して前記基準量子化行列から取得される、請求項12に記載の方法又は請求項12に記載の装置。
  14. 前記量子化行列は、前記量子化行列が前記基準量子化行列と異なるサイズを有することに応答して、対応する比率によるデシメーションを通して前記基準量子化行列から取得される、請求項12に記載の方法又は請求項12に記載の装置。
  15. 前記ブロックサイズはM×Nであり、ここで、Mは幅であり、Nは高さであり、前記ブロックの前記識別子は、max(M,N)のサイズに基づき、max(M,N)はM及びNの大きい方として定義される、請求項1、3~6、及び8~14の何れか1項に記載の方法又は請求項2~5及び7~14の何れか1項に記載の装置。
  16. 1組の量子化行列が、識別子の増大順にシグナリングされ、最大ブロックサイズの量子化行列が最初にシグナリングされる、請求項1、3~6、及び8~15の何れか1項に記載の方法又は請求項2~5及び7~15の何れか1項に記載の装置。
  17. 前記1組の量子化行列をシグナリングする際、輝度色成分の量子化行列は、クロマ色成分の量子化行列の前にシグナリングされる、請求項16に記載の方法又は請求項16に記載の装置。
  18. 前記1組の量子化行列をシグナリングする際、より大きなブロックサイズの量子化行列は、より小さなブロックサイズの量子化行列の前にシグナリングされる、請求項1、3~6、及び8~17の何れか1項に記載の方法又は請求項2~5及び7~17の何れか1項に記載の装置。
  19. 前記識別子は、matrixId=N*sizeId+matrixTypeIdとして導出され、式中、Nは可能なタイプ識別子の数であり、sizeIDは前記ブロックサイズを示し、matrixTypeIdは前記色成分及び前記予測モードを示す、請求項1、3~6、及び8~18の何れか1項に記載の方法又は請求項2~5及び7~18の何れか1項に記載の装置。
  20. 前記1つ又は複数のプロセッサは、前記ブロックサイズへの前記基準量子化行列の適合を実行するようにさらに構成される、請求項1、3~6、及び8~19の何れか1項に記載の方法又は請求項2~5及び7~19の何れか1項に記載の装置。
  21. 前記1つ又は複数のプロセッサは、デフォルトクロマフォーマットと異なる前記ブロックのクロマフォーマットに、前記ブロックの前記クロマフォーマットへの前記基準量子化行列の適合を実行するようにさらに構成される、請求項1、3~6、及び8~20の何れか1項に記載の方法又は請求項2~5及び7~20の何れか1項に記載の装置。
  22. 前記デフォルトクロマフォーマットは4:2:0である、請求項20に記載の方法又は請求項20に記載の装置。
  23. 前記適合は、前記量子化行列内のx及びy座標の前記基準量子化行列のインデックス係数へのビットシフトに基づく、請求項20~22の何れか1項に記載の方法又は請求項20~22の何れか1項に記載の装置。
  24. 前記識別子は、前記ブロックの前記予測モードがイントラ予測モードであるか、それともインター予測モードであるかに基づいて取得される、請求項1、3~6、及び8~23の何れか1項に記載の方法又は請求項2~5及び7~23の何れか1項に記載の装置。
  25. イントラブロックコピー予測モードは、前記識別子を取得する際、インター予測モードとして見なされる、請求項1、3~6、及び8~24の何れか1項に記載の方法又は請求項2~5及び7~24の何れか1項に記載の装置。
  26. 前記予測モードはイントラブロックコピーであり、量子化行列は前記ブロックの輝度成分についてシグナリングされ、クロマ成分の量子化行列は、前記予測モードをインター予測モードとして解釈することにより導出される、請求項1、3~6、及び8~25の何れか1項に記載の方法又は請求項2~5及び7~25の何れか1項に記載の装置。
  27. 前記予測モードはイントラブロックコピーであり、前記基準量子化行列は、前記予測モードをイントラモードとして見なすことにより取得され、別の基準量子化行列が、前記予測モードをインターモードとして見なすことにより取得され、前記量子化行列は、前記基準量子化行列と前記別の基準量子化行列との平均として取得される、請求項1、3~6、及び8~26の何れか1項に記載の方法又は請求項2~5及び7~26の何れか1項に記載の装置。
  28. 請求項6及び8~27の何れか1項に記載の方法を実行することによって形成される符号化ビデオを含む信号。
  29. 請求項1、3~6、及び8~27の何れか1項に記載の方法によりビデオデータを符号化又は復号化する命令を記憶したコンピュータ可読記憶媒体。
JP2021560100A 2019-06-21 2020-06-16 ビデオ符号化及び復号化の単一インデックス量子化行列設計 Pending JP2022537090A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP19305802.1 2019-06-21
EP19305802 2019-06-21
EP19305826.0 2019-06-24
EP19305826 2019-06-24
PCT/EP2020/066614 WO2020254317A1 (en) 2019-06-21 2020-06-16 Single-index quantization matrix design for video encoding and decoding

Publications (2)

Publication Number Publication Date
JP2022537090A true JP2022537090A (ja) 2022-08-24
JPWO2020254317A5 JPWO2020254317A5 (ja) 2023-06-21

Family

ID=71103394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021560100A Pending JP2022537090A (ja) 2019-06-21 2020-06-16 ビデオ符号化及び復号化の単一インデックス量子化行列設計

Country Status (9)

Country Link
US (1) US20230232003A1 (ja)
EP (1) EP3987786A1 (ja)
JP (1) JP2022537090A (ja)
KR (1) KR20220024716A (ja)
CN (1) CN114026857A (ja)
AU (1) AU2020295684A1 (ja)
MX (1) MX2021015582A (ja)
TW (1) TW202106017A (ja)
WO (1) WO2020254317A1 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373009B2 (en) * 2005-02-09 2008-05-13 Lsi Corporation Method and apparatus for efficient transmission and decoding of quantization matrices
WO2011052215A1 (ja) * 2009-10-30 2011-05-05 パナソニック株式会社 復号方法、復号装置、符号化方法、および符号化装置
US9167252B2 (en) * 2010-12-01 2015-10-20 Texas Instruments Incorporated Quantization matrix compression in video coding
CN103096056B (zh) * 2011-11-08 2015-11-25 华为技术有限公司 矩阵编码方法与装置及解码方法与装置
JP5886446B2 (ja) * 2012-01-20 2016-03-16 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 量子化行列の符号化方法及び復号化方法、並びにそれを利用する装置
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
CN116647705A (zh) * 2018-03-28 2023-08-25 索尼公司 图像处理装置和图像处理方法

Also Published As

Publication number Publication date
TW202106017A (zh) 2021-02-01
EP3987786A1 (en) 2022-04-27
US20230232003A1 (en) 2023-07-20
AU2020295684A1 (en) 2022-01-27
CN114026857A (zh) 2022-02-08
WO2020254317A1 (en) 2020-12-24
MX2021015582A (es) 2022-01-24
KR20220024716A (ko) 2022-03-03

Similar Documents

Publication Publication Date Title
CN114208178A (zh) 用于视频编码和解码的二次变换
US20240089437A1 (en) Chroma quantization parameter adjustment in video encoding and decoding
KR20220061948A (ko) 코딩 트리 분할
CN112913244A (zh) 使用用于重叠块运动补偿的块扩展的视频编码或解码
KR20210066823A (ko) 광각 인트라 예측을 위한 방향들
JP2022549312A (ja) コンテキストコード化bin(ccb)カウント方法の統合
WO2020185492A1 (en) Transform selection and signaling for video encoding or decoding
KR20210128497A (ko) 비디오 인코딩 및 디코딩을 위한 엔트로피 코딩
CN114930819A (zh) 三角形合并模式中的子块合并候选
JP2022538755A (ja) 高レベル構文要素を使用して復号データをシグナリングする方法および装置
US20230232003A1 (en) Single-index quantization matrix design for video encoding and decoding
US20230232045A1 (en) Scaling process for joint chroma coded blocks
US20230262268A1 (en) Chroma format dependent quantization matrices for video encoding and decoding
US20230024223A1 (en) Intra sub partitions for video encoding and decoding combined with multiple transform selection, matrix weighted intra prediction or multi-reference-line intra prediction
WO2021028321A1 (en) Quantization matrix prediction for video encoding and decoding
JP2023544711A (ja) メタデータを用いた圧縮ビデオのループ内及びポストフィルタリングの空間解像度適合
JP2024513657A (ja) ビデオエンコード及びデコードのためのテンプレートマッチング予測
KR20240018650A (ko) 픽처 리샘플링을 위한 고급 신택스
JP2022547607A (ja) コード化ツールとの変換サイズの相互作用
WO2020260310A1 (en) Quantization matrices selection for separate color plane mode
CN117501692A (zh) 用于视频编码和解码的模板匹配预测
CN117561717A (zh) 高精度4×4 dst7和dct8变换矩阵
CN117813817A (zh) 用于对视频进行编码/解码的方法和装置
CN117546468A (zh) 利用非对称二进制树的基于矩阵的帧内预测
KR20210019454A (ko) 비디오 코딩에서의 조명 보상

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230613

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230613

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20231110