JP2023530630A - ビデオ符号化のための適応量子化器設計 - Google Patents

ビデオ符号化のための適応量子化器設計 Download PDF

Info

Publication number
JP2023530630A
JP2023530630A JP2022576094A JP2022576094A JP2023530630A JP 2023530630 A JP2023530630 A JP 2023530630A JP 2022576094 A JP2022576094 A JP 2022576094A JP 2022576094 A JP2022576094 A JP 2022576094A JP 2023530630 A JP2023530630 A JP 2023530630A
Authority
JP
Japan
Prior art keywords
quantization
video
adjustment
transition point
adjustment curve
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
JP2022576094A
Other languages
English (en)
Inventor
クリシュナカント ラパカ
ジェホン チョン
アレキサンドロス マイケル トウラピス
デイヴィッド ウィリアム シンガー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2023530630A publication Critical patent/JP2023530630A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/172Methods 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 picture, frame or field
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of 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/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

量子化ステップサイズテーブルテンプレートを用いて適応的に量子化ステップサイズを導出するための技術を含む、改善されたビデオ符号化及び復号技術が記載される。説明される量子化技術は、特に、より高い量子化の程度において、より柔軟な量子化ステップサイズを用いて、量子化に対するよりきめ細かい制御を提供する。これは、改善された全体的な圧縮品質をもたらすることができる。インループフィルタリングパラメータなどの他の符号化パラメータは、より柔軟な量子化パラメータに基づいて導出することができる。

Description

(関連出願の相互参照)
本出願は、2020年6月22日に出願された米国仮特許出願第63/042,451号を主張する、2021年2月8日に出願された米国仮特許出願第63/147,163号の米国特許法第119条(e)の下での利益を更に主張する、2021年4月19日に出願された米国特許出願第17/234,596号に対する優先権を主張するものであり、それらの内容は、その全体が参照により本明細書に組み込まれる。
本明細書で提案される技術は、概して、画像及びビデオデータの圧縮及び復元に関し、具体的には、ビデオ符号化における量子化器設計に関する。本技術は、高効率ビデオ符号化(High-Efficiency video coding、HEVC)若しくは多用途ビデオ符号化(Versatile video coding、VVC)規格などのITU-T/MPEGビデオコーデック、又はAV1若しくはAV2規格などのAOMediaビデオコーデックに限定されない。本明細書で提案される技術の説明では、現在のAV1及びドラフトVVC仕様に基づいて実施例が使用されるが、提案される技術は全て、任意の他の量子化器設計に、及び異なる色成分(ルマ/クロマ/アルファ/深度)、ビット深度などに適用することができる。
提案される技術はまた、MPEGアクティビティにおいて探索されているニューラルネットワークモデル圧縮、すなわち、マルチメディアコンテンツの記述及び分析のためのニューラルネットワークの圧縮の分野にも適用することができる。モデル符号化システムでは、ビデオコンテンツの代わりにニューラルネットワークパラメータ(例えば、モデルアーキテクチャ、重み、バイアス、及び他のハイパーパラメータ)が圧縮される。いくつかの既存の技術は、エントロピ符号化される必要があるパラメータ情報の量を低減するために、そのサブ方法の1つとして量子化器設計を適用し、本明細書で提案される技術は全て、そのような量子化器設計にも適用することができる。
序論
AV1仕様では、量子化インデックス(q_idx)は、0~255(又は合計256)のデータ範囲を有する。より少ない量子化インデックス、例えば、色成分に対するビット深度精度の各増分ごとに6つの追加の量子化インデックスの増分で8ビットコンテンツに対してAVC/HEVC及びVVCそれぞれについて52及び64を有するMPEG4-AVC、HEVC、及びVVCなどのMPEGビデオ符号化規格に対して、AV1は、より精細な数のステップサイズ(256)を有することが観察される。しかしながら、AV1における量子化ステップサイズ(q_step)へのこれらのq_idxのマッピングは、図7に示されるように、AVC/HEVC又はVVCと比較してより低い勾配を有することが観察される。例えば、VVCでは、q_stepは、指数関数的に大きくなる(~pow(q_idx/6,2)、すなわち、6つのインデックスごとにサイズが2倍になる)。結果として、q_stepは、より高いq_idx値において比較的非常に大きく、はるかに低いビットレートとなる。対照的に、AV1ステップサイズは、より低いq_idxにおいてほぼ線形に変化し、より高いq_idxにおいて指数関数的に増加し、より高いq_idxにおいて比較的より小さいq_stepをもたらす。AV1はまた、図7に示されるように、AC係数及びDC係数についてq_idxからq_stepへの別個のマッピングを有することも注目に値する。
AV1仕様及び量子化方式の設計。
シンタックス要素「base_q_idx」は、ベースフレームq_idxを指定するためにシーケンス/フレームヘッダにおいて符号化される。base_q_idxは、8ビットで固定長符号化される。base_q_idxは、全てのAC係数に対するベースオフセットとして機能する。ルマAC係数以外の係数については、以下で説明するように、追加のデルタオフセットをビットストリームでシグナリングすることができる。Final_q_idxは、次のように計算される。
式中、deltaは、ルマDC係数、クロマU DC、クロマU AC、クロマV DC、クロマV ACそれぞれについて、DeltaQYDc、DeltaQUDc、DeltaQUAc、DeltaQVDc、DeltaQVAcなどのシンタックス要素から導出される。
また、シンタックス要素「diff_uv_delta」は、クロマU成分及びクロマV成分に同じデルタが使用されるかどうかを指定する。このq_idxは、量子化ステップサイズのルックアップテーブルへのインデックスである。
これらの技術は、いくつかの問題を引き起こす。
より低いビットレートへの到達:上記で説明したように、VVCでは、q_stepは、より高いq_idxにおいて非常に大きい値まで指数関数的に増大し、はるかに低いビットレートとなる。対照的に、AV1ステップサイズは、より低いq_idxにおいてほぼ線形に変化し、より高いq_idxにおいて指数関数的に増加し、より高いq_idxにおいて比較的より小さいq_stepをもたらす。これは、AV1が高いq_idxで動作しているときでさえ、一部のシーケンスに対して低いビットレートを達成しない理由の1つとして考えられている。また、DCステップサイズは、ACと比較してより低い勾配を有し、DC係数においてより高い精度を維持する。係数位置ごとにステップサイズを拡張することができるスケーリング行列の柔軟なシグナリングを提供するVVC、HEVCなどのMPEG規格とは異なり、AV1量子化行列は、固定されており、DC値を更に増加させる能力を有しない。これはまた、DCがこれらのビットレートにおいて最も重要な成分であるため、極端に低いビットレートに達する能力に悪影響を与える。この観察は、フレームのコンテンツ及び構成(イントラ/インター、予測など)にも依存することが主張される。
量子化ステップサイズの柔軟かつコンテンツ適応変動。より粗い又はより大きい量子化ステップサイズは、いくつかのコンテンツ特性(平坦な領域、細かい詳細など)に対して精度の著しい損失をもたらし得るが、コンテンツ内のいくつかの他の特性(複雑なテクスチャ、水など)に対してより低いレートを達成するために、より粗い量子化が必要とされ得ることを観察することができる。
本開示の一態様に係るビデオ配信システムの簡略化したブロック図を示す。 本開示の一態様に係る符号化システムの機能ブロック図である。 本開示の一態様に係る復号システムの機能ブロック図である。 本開示の一実施形態に係る量子化選択システムの機能ブロック図である。 本開示の別の実施形態に係る量子化選択システムの機能ブロック図である。 本開示の一実施形態に係る方法を示す。 いくつかのビデオ符号化プロトコルによってサポートされる量子化器値を比較している。 量子化ステップモードを有する本開示の一実施形態に係る方法を示す。
本開示の実施形態は、量子化ステップサイズテーブルテンプレートを用いて適応的に量子化ステップサイズを導出するための技術を提供する。これらの技術は、本明細書で説明するように、ビデオ符号化及び復号デバイスに使用することができる。説明される量子化技術は、特に、より高い量子化の程度において、より柔軟な量子化ステップサイズを用いて、量子化に対するよりきめ細かい制御を提供する。これは、特により低いビットレートにおいて改善された全体的な圧縮品質をもたらすことができる。いくつかの実施形態では、より柔軟な量子化ステップサイズに基づいて、インループフィルタリングパラメータなどの他の符号化パラメータを導出することができる。
図1
図1は、本開示の一態様に係るビデオ配信システム100の簡略化したブロック図を示す。システム100は、ネットワーク130を介して相互に接続された複数の端末110、120を含んでもよい。端末110、120は、ネットワーク130を介して相手先へ送信するためのビデオデータを符号化することができる。したがって、第1の端末110は、ローカルでビデオデータをキャプチャし、ビデオデータを符号化し、ネットワーク130を介して符号化したビデオデータを相手先の端末120に送信することができる。受信端末120は、符号化されたビデオデータを受信し、復号し、例えば端末120のディスプレイ上で、ローカルでレンダーリングすることができる。端末がビデオデータの双方向交換に関与している場合、端末120は、ローカルでビデオデータをキャプチャし、ビデオデータを符号化し、ネットワーク130を介して符号化したビデオデータを相手先の端末110に送信することができる。受信端末110は、端末120から送信された符号化されたビデオデータを受信し、復号し、例えばそれ自体のディスプレイ上で、ローカルでレンダーリングすることができる。説明したプロセスは、フレーム及びフィールドフレームの符号化の両方に対して動作することができるが、簡単にするために、本論考は、この技術を完全なフレームの文脈で説明する。
ビデオ符号化システム100は、様々な用途で使用することができる。第1の用途では、端末110、120は、符号化されたビデオのリアルタイム双方向交換をサポートし、それらの間でビデオ会議セッションを確立することができる。別の用途では、端末110は、予め生成されたビデオ(例えば、テレビ又は映画番組)を符号化し、1つの、又は多くの場合、多数のダウンロードするクライアント(例えば、端末120)への配信のために符号化したビデオを記憶することができる。したがって、符号化されたビデオはライブ又は予め生成されたものとすることができ、端末110は1対1又は1対多数の配信モデルに従って符号化したビデオを配信するメディアサーバとして機能することができる。本論考の目的のために、ビデオ及びビデオ配信スキームの種類は、特に明記しない限り重要ではない。
図1では、端末110、120は、スマートフォン及びタブレットコンピュータとしてそれぞれ示されているが、本開示の原理は、それに限定されない。本開示の態様はまた、様々なタイプのコンピュータ(デスクトップ、ラップトップ、及びタブレットコンピュータ)、コンピュータサーバ、メディアプレーヤ、専用のビデオ会議機器及び/又は専用のビデオ符号化機器にも適用される。
ネットワーク130は、例えば、有線通信ネットワーク及び/又は無線通信ネットワークを含む、端末110と120との間で符号化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク130は、回線交換又はパケット交換チャネルのデータを交換することができる。代表的なネットワークとしては、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、及び/又はインターネットが挙げられる。本説明の目的上、ネットワークのアーキテクチャ及びトポロジは、特に明記しない限り本開示の動作にとって重要ではない。
図2
図2は、本開示の一態様に係る符号化システム200の機能ブロック図である。システム200は、画素ブロック符号器210と、画素ブロック復号器220と、フレームバッファ230と、インループフィルタシステム240と、基準ピクチャバッファ250と、予測器260と、コントローラ270と、シンタックスユニット280と、を含むことができる。符号化システム200は、便宜上「画素ブロック」と呼ばれるビデオフレームの所定の単位に対して動作して、予測技術に従って画素ブロックを差分的に符号化することができる。したがって、符号化されることになるビデオのフレームは、画素ブロック符号器210が画素ブロックごとに処理する、画素ブロックに解析することができる。画素ブロック符号器210は、符号化された画素ブロックデータをシンタックスユニット280に提示することができ、シンタックスユニット280は、符号化された画素ブロックを、統制する符号化プロトコルに準拠する送信シンタックスにフォーマットする。
画素ブロック復号器220は、符号化された画素ブロックデータを復号し、そこから復号された画素ブロックデータを生成することができる。フレームバッファ230は、復号された画素ブロックデータから再構成されたフレームデータを生成することができる。インループフィルタ240は、再構成されたフレームに対して1つ以上のフィルタリング動作を実行することができる。例えば、インループフィルタ240は、デブロッキングフィルタリング、サンプル適応オフセット(sample adaptive offset、SAO)フィルタリング、適応ループフィルタリング(adaptive loop filtering、ALF)、最尤(maximum likelihood、ML)ベースのフィルタリング方式、デリンギング、バンド撤去、鮮明化、解像度スケーリングなどを実行することができる。基準ピクチャバッファ260は、フィルタリングされたフレームを記憶することができ、それを後で受信した画素ブロックの予測のソースとして使用することができる。
画素ブロック符号器210は、減算器212と、変換ユニット214と、量子化器216と、エントロピ符号器218とを含むことができる。画素ブロック符号器210は、減算器212で入力データの画素ブロックを受け入れることができる。減算器212は、予測器260から予測された画素ブロックを受信し、そこから入力画素ブロックと予測された画素ブロックの差を表す画素残差のアレイを生成することができる。変換ユニット214は、減算器212からのサンプルデータ出力に変換を適用し、画素ドメインから変換係数のドメインにデータを変換することができる。いくつかのシナリオでは(例えば、高ダイナミックレンジで動作するとき)、変換ユニット214及び/又は減算器212の前に、入力を再整形することができる、又は適応方式を適用してコンテンツ転送特性を調整することができる。このような適応は、再マッピング関数に基づく単純なスケーリング、又はより洗練された画素操作技術のいずれかであってもよい。量子化器216は、量子化パラメータqpに従って変換ユニット214によって出力された変換係数の量子化を実行することができる。量子化器216は、一様又は非一様量子化パラメータのいずれかを適用することができる。非一様量子化パラメータは、変換ユニット214から出力された係数のブロックの所定の位置にわたって変化することができる。エントロピ符号器218は、例えば、可変長符号語により、又はコンテキスト適応型バイナリ算術符号器を使用して、出力を符号化することにより、係数量子化器の出力の帯域幅を低減することができる。
変換ユニット214は、コントローラ270によって判定される様々な変換モードで動作することができる。例えば、変換ユニット214は、離散コサイン変換(discrete cosine transform、DCT)、離散サイン変換(discrete sine transform、DST)、Walsh-Hadamard変換、Haar変換、Daubechiesウェーブレット変換などを適用することができる。一態様では、コントローラ270は、変換ユニット215によって適用される符号化モードを選択してもよく、それに従って変換ユニット215を構成してもよく、符号化されたビデオデータの符号化モードMを明示的に又は暗示的に、のいずれかでシグナリングしてもよい。
量子化器216は、コントローラ270によって判定される量子化パラメータqpに従って作動することができる。量子化パラメータを生成するための技術は、以下で説明する。コントローラ270は、その量子化パラメータ選択を表すデータをシンタックスユニット280に提供することができる。
エントロピ符号器218は、その名前が暗示するように、量子化器216から出力されたデータのエントロピ符号化を実行することができる。例えば、エントロピ符号器218は、ランレングス符号化、ハフマン符号化、ゴロム符号化、コンテキスト適応型バイナリ算術符号化などを実行することができる。
画素ブロック復号器220は、画素ブロック符号器210の符号化動作を反転することができる。例えば、画素ブロック復号器220は、逆量子化器222と、逆変換ユニット224と、加算器226とを含むことができる。いくつかのシナリオ(例えば、高ダイナミックレンジで動作するとき)では、逆変換ユニット224及び/又は加算器226の後に、入力は、典型的には符号器において適用された関数及びコンテンツ特性に従って、逆再整形又は再マッピングすることができる。画素ブロック復号器220は、量子化器216の出力からその入力データを取ることができる。許容されてはいるが、画素ブロック復号器220は、エントロピ符号化が無損失のイベントであるため、エントロピ符号化されたデータのエントロピ復号を実行する必要はない。逆量子化器222は、画素ブロック符号器210の量子化器216の動作を反転することができる。逆量子化器222は、量子化パラメータデータqpによって指定される一様又は非一様逆量子化を実行することができる。同様に、逆変換ユニット224は、変換ユニット214の動作を反転することができる。逆量子化器222及び逆変換ユニット224は、画素ブロック符号器210のそれらの対応するものと同じ量子化パラメータqp及び変換モードを使用することができる。量子化動作は、様々な点でデータを切り捨てることになる可能性があり、したがって、逆量子化器222によって回復されたデータは、画素ブロック符号器210内の量子化器216に提示されたデータと比較したとき、符号化誤差を有することになる可能性がある。
加算器226は、減算器212によって実行される動作を反転することができる。それは、残差信号を生成するのに減算器212が使用したのと同じ予測画素ブロックを予測器260から受信することができる。加算器226は、予測画素ブロックを逆変換ユニット224によって出力された再構成された残差値に加えることができ、再構成された画素ブロックデータを出力することができる。
説明したように、フレームバッファ230は、画素ブロック復号器220の出力から再構成されたフレームをアセンブルすることができる。インループフィルタ240は、回復した画素ブロックデータに対して様々なフィルタリング動作を実行することができる。例えば、インループフィルタ240は、デブロッキングフィルタ、サンプル適応オフセット(「SAO」)フィルタ、及び/又は他のタイプのインループフィルタ(図示せず)を含むことができる。
基準ピクチャバッファ250は、後の他の画素ブロックの予測で使用するフィルタリングされたフレームデータを記憶することができる。異なる予測モードに対して異なる種類の予測データが、予測器260に利用可能になる。例えば、入力画素ブロックに対して、イントラ予測は、入力画素ブロックが配置された同じフレームの復号化されたデータから予測基準を取る。したがって、基準フレーム記憶250は、それぞれのフレームの復号された画素ブロックデータをそれが符号化されたように記憶することができる。同じ入力画素ブロックに対して、インター予測は、参照フレームとして指定された前に符号化され復号化されたフレーム(単数又は複数)から予測基準を取ることができる。したがって、基準フレーム記憶250は、これらの復号された基準フレームを記憶することができる。
予測器260は、残差を生成するのに使用する予測ブロックを画素ブロック符号器210に供給することができる。予測器260は、イントラモード符号化、並びに、単予測、双予測、及び/又は多仮説インターモード符号化に従って予測検索動作を実行することができる。イントラモード符号化の場合、予測器260は、入力画素ブロックに対する最も近い一致を提供する符号化される画素ブロックと同じフレームからの画素ブロックデータの中から検索することができる。インターモード符号化の場合、予測器260は、入力画素ブロックに対する一致を提供する基準ピクチャバッファ250に記憶された他の以前に符号化されたフレームの画素ブロックデータの中から検索することができる。様々なモードに従って生成された予測の中から、予測器260は、目標ビットレートを所与としてビデオが復号されるときに最も低い歪みを達成するモードを選択することができる。特定のチャネル挙動を満たすこと、又はランダムアクセス若しくはデータリフレッシュポリシーをサポートするといった、符号化システム200が準拠する他のポリシーを満たすように符号化モードが選択される場合に、例外が発生することがある。
コントローラ270は、符号化システム200の動作全体を制御することができる。コントローラ270は、入力画素ブロック、並びにまた符号化ビットレート目標及び他の動作パラメータなどの外部制約条件の分析に基づいて、画素ブロック符号器210及び予測器260に対する動作パラメータを選択することができる。本説明に関連するように、それが量子化パラメータqp、一様若しくは非一様量子化器の使用、及び/又は変換モードMを選択するとき、それらのパラメータをシンタックスユニット280に提供することができ、これは、それらのパラメータを表すデータをシステム200によって出力される符号化されたビデオデータのデータストリームに含めることができる。コントローラ270はまた、システムが基準画像を生成することができ、かつ符号化されたデータの各部分について選択されたモードを識別するメタデータを含むことができる、異なる動作モードの間で選択することができる。
動作中、コントローラ270は、量子化器216及び変換ユニット215の動作パラメータを画像データの異なる粒度で、画素ブロックごと又はより大きな粒度(例えば、フレームごと、スライスごと、最大符号化ユニット(largest coding unit、LCU)若しくは符号化ツリーユニット(Coding Tree Unit、CTU)ごと、又は別の領域)のいずれかで修正することができる。一態様では、量子化パラメータは、符号化されたフレーム内の画素ごとに修正することができる。
加えて、説明したように、コントローラ270は、インループフィルタ250及び予測ユニット260の動作を制御することができる。そのような制御としては、予測ユニット260に対してはモード選択(ラムダ、テストされることになるモード、検索ウィンドウ、歪み戦略など)、及びインループフィルタ250に対しては、フィルタパラメータの選択、パラメータの並べ替え、重み付け予測などを挙げることができる。
図3
図3は、本開示の一態様に係る復号システム300の機能ブロック図である。復号システム300は、シンタックスユニット310と、画素ブロック復号器320と、フレームバッファ330と、インループフィルタ340と、基準ピクチャバッファ350と、予測器360と、コントローラ370と、を含むことができる。
シンタックスユニット310は、符号化されたビデオデータストリームを受信することができ、符号化されたデータをその成分部分に解析することができる。符号化パラメータを表すデータは、コントローラ370に供給することができ、符号化された残差を表すデータ(図2の画素ブロック符号器210によって出力されたデータ)は、その個別の画素ブロック復号器320に供給することができる。予測器360は、符号化されたビデオデータにおいて提供される符号化パラメータデータに従って、基準ピクチャバッファ350で利用可能な基準データから予測ブロックを生成することができる。それは、予測ブロックを画素ブロック復号器320に供給することができる。画素ブロック復号器320は、(図2の)画素ブロック符号器210によって適用される符号化動作を反転することができる。フレームバッファ330は、画素ブロック復号器320によって出力された復号された画素ブロックから再構成されたフレームを生成することができる。インループフィルタ340は、再構成された画素フレームデータをフィルタリングすることができる。フィルタリングされたフレームは、復号システム300から出力することができる。基準フレームとして機能するように指定されたフィルタリングされたフレームはまた、基準ピクチャバッファ350に記憶することができる。
画素ブロック復号器320は、エントロピ復号器322と、逆量子化器324と、逆変換ユニット326と、加算器328と、を含むことができる。エントロピ復号器322は、エントロピ復号を実行し、(図2の)エントロピ符号器218によって実行されるプロセスを反転することができる。逆量子化器324は、(図2の)画素ブロック符号器210の量子化器316の動作を反転することができる。同様に、逆変換ユニット326は、(図2の)変換ユニット214の動作を反転することができる。それらは、符号化されたビデオデータストリームから識別された量子化パラメータqp及び変換モードMを使用することができる。量子化はデータを切り捨てる可能性があるため、逆量子化器324によって回復された画素ブロックは、(図2の)符号器の画素ブロック符号器210に提示された入力画素ブロックsと比較したとき、符号化誤差を有することになる可能性がある。
加算器328は、(図2の)減算器210によって実行される動作を反転することができる。それは、符号化されたビデオデータストリーム内の予測基準によって判定されたように、予測器360から予測画素ブロックを受信することができる。加算器328は、予測画素ブロックを逆変換ユニット326によって出力された再構成された残差値に加えることができ、再構成された画素ブロックデータを出力することができる。
説明したように、フレームバッファ330は、画素ブロック復号器320の出力から再構成されたフレームをアセンブルすることができる。インループフィルタ340は、符号化されたビデオデータによって識別されたように回復した画素ブロックデータに対して様々なフィルタリング動作を実行することができる。例えば、インループフィルタ340は、デブロッキングフィルタ、サンプル適応オフセット(「SAO」)フィルタ、及び/又は他のタイプのインループフィルタを含むことができる。このようにして、フレームバッファ330及びインループフィルタ340の動作は、(図2の)符号器200の対応するフレームバッファ230及びインループフィルタ240の動作を模倣する。
基準ピクチャバッファ350は、後の他の画素ブロックの予測で使用するフィルタリングされたフレームデータを記憶することができる。基準ピクチャバッファ350は、イントラ予測に使用するために、復号されたフレームをそれが符号化されたように記憶することができる。基準ピクチャバッファ350はまた、復号された基準フレームを記憶することができる。
説明したように、予測器360は、符号化されたビデオデータ内で識別された符号化モードに従って、予測ブロックを画素ブロック復号器320に供給することができる。予測器360は、符号化されたビデオデータストリーム内に供給される予測基準インジケータによって判定されたように、予測された画素ブロックデータを供給することができる。
コントローラ370は、符号化システム300の動作全体を制御することができる。コントローラ370は、符号化されたビデオデータストリーム内で受信したパラメータに基づいて、画素ブロック復号器320及び予測器360に対する動作パラメータを設定することができる。本説明に関連するように、これらの動作パラメータは、逆量子化器324に対する量子化パラメータQp及び逆変換ユニット310に対する変換モードMを含むことができる。説明したように、受信したパラメータは、画像データの様々な粒度で、例えば、画素ブロックごとに、フレームごとに、スライスごとに、LCU/CTUごとに、又は入力画像に対して定義された他の種類の領域に基づいて、設定することができる。
図4
図4は、本開示の一実施形態に係る量子化選択システム400の機能ブロック図である。一実施形態では、ビデオ符号器及び復号器は、複数の(例えば、N個の)量子化ステップサイズテーブルテンプレートに従ってビデオを量子化することができ、各テーブル410.0、410.1、...、410.nは、インデックス値(q_idx)と量子化パラメータ調整(q_Step)との間のそれ自体の関係を与える。これらのテーブル410.0、410.1、...、410.nに記憶されたq_Step値は、経験的に導出する、又は所定の関数若しくは式に従って生成することができる。例えば、第1のテーブル410.0に記憶されたq_Step値は、q_Step=m*q_idx+c(グラフ420.0に示される)などの線形関係を有することができ、式中、m及びcは、実数定数である。第2のテーブル410.1に記憶されたq_Step値は、q_Step=2^q_idx/k(グラフ420.1に示される)などの指数関係を有することができる。符号化及び復号システムは、符号化アプリケーションに所望され得るような、q_idxインデックス値とq_Step量子化ステップサイズ値との間の数学的関係410.0、420.1、...、420.nと同数のテーブル410.0、410.1、...、410.nを有することができる。符号化及び復号動作中に、符号器及び復号器は、即時符号化ニーズに適合するように、テーブル410.0、420.1、...、420.n内の量子化ステップサイズ値から適応的に選択することができる。
第1の実施形態では、量子化インデックス値は、q_Step値が読み取られることになるテーブル410.0、410.1、...、又は410.nを識別するテーブルインデックス(tbl_idx)と、q_Step値が読み取られることになる選択されたテーブル410.0、410.1、...、又は410.n内のエントリを識別するインデックス値(q_idx)とを使用して、符号器と復号器との間でシグナリングすることができる。q_Step値は、最終量子化パラメータqpを生成するために、基本量子化パラメータ値base_qpとともに加算器430に入力することができる。最終量子化パラメータは、量子化器440に入力することができ、場合によっては量子化又は逆量子化のいずれかのために変換係数(図2、図3)に適用されてもよい。
別の実施形態では、符号器及び復号器は、量子化ステップサイズテーブルテンプレート410.0、420.1、...、420.nから動的ベースでそれら自体の量子化調整テーブルを導出することができる。符号器は、量子化ステップサイズテーブルテンプレート410.0、420.1、...、420.nから所望の量子化調整テーブルを導出することができ、遷移点を復号器にシグナリングすることができ、復号器は、対応する調整テーブルを生成することができる。
一実施形態では、符号器は、順序付けられた信号対:TIdxi、TPiでテーブル間の遷移点をシグナリングすることができる。信号対の各インスタンスiは、先行する遷移点(TPi-1)からTPiによって識別される量子化インデックスまでの量子化インデックスの範囲内で使用されることになるTIdxiによって表されるテーブルを識別することができる。具体的には、
i=0の場合、operating_quant_step_size_table[k]=table_TIdxN0[k]であり、式中、kは、0からTP0-1までの範囲である。
(i>0)である場合、operating_quant_step_size_table[k]=operating_quant_step_size_table[global_transition_point]+table_TIdxNi[k-global_transition_point]であり、
式中、global_transition_point=0からi-1までの各TPiにおける全ての要素数の合計であり、kは、global_transition_pointからTPiまでの範囲である。
3つの信号対(TIdxi,TPi)、i=0、1、2が提供される例を考える。そのような例では、量子化調整テーブルは、以下のようにデフォルト量子化調整テーブル410.0、410.1、410.2(図示せず)に記憶されたq_Step値から導出することができる。
実際には、提示される符号化状況に依存して、各ソーステーブルから抽出されたセグメント値範囲の端点を結合して、連続量子化調整曲線を形成することが好都合である場合がある。
図4は、TIdxi,TPi信号対に応じて、量子化インデックス信号q_idxに応じて量子化調整テーブル410.0、410.1、...、410.nの中から選択するためのテーブル選択信号tbl_idxを生成する復号器450を示す。関係が復号器450によって確立されると、量子化パラメータqpの選択は、ビデオデータが量子化(符号化)又は逆量子化(復号)されるときに行うことができる。量子化インデックスq_idxは、復号器450に提示することができ、復号器450は、q_step値を読み取ることができる量子化調整テーブル410.0、410.1、...、410.nを選択するテーブルインデックス信号を生成する。量子化インデックスq_idxはまた、テーブルからq_step値を読み取るために、選択されたテーブル(例えば、テーブル410.0)に提示することができる。
一実施形態では、システム400は、量子化調整テーブル410.0、410.1、...、410.nの出力に設けられた加算器460.0、460.1、...、460.nを含むことができ、それらは、量子化調整テーブル410.0、410.1、...、410.nから読み取られたq_step値に加法的オフセットを与えることができる。オフセットは、例えば、遷移点において量子化調整テーブル410.0、410.1、...、410.nから読み取られたq_step値のセグメントの間に連続曲線を提供するために、所望され得るように、量子化調整テーブル410.0、410.1、...、410.nから読み取られたq_step値に適用することができる。そのようなオフセットは、復号器450に記憶して、復号器450がq_step値をそれぞれの量子化調整テーブル410.0、410.1、又は410.nから読み取らせるときに、選択された加算器460.0、460.1、又は460.nに出力することができる。
別の実施形態では、スケーリングファクタは、遷移点とともにシグナリングすることができ、量子化調整テーブル410.0、410.1、...、410.nから読み取られたq_step値にスケーリングファクタとして適用することができる。システム400は、それぞれの量子化調整テーブル410.0、410.1、...、410.nから読み取られたq_step値にスケーリング重みwを適用することができる乗算器470.0、470.1、...、470.nを含むことができる。そのような実施形態では、符号器は、個別の遷移点TPiによって識別されるテーブルに適用されることになるテーブル(TIdxi)及び重み(wi)を表すために、TIdxi、TPi、wiとして信号値を送信することができる。そのような重みは、復号器450によって記憶して、量子化インデックス値q_idxによって判定されるようにq_step値に適用することができる。
もちろん、乗算器470.0、470.1、...、470.n及び加算器460.0、460.1、...、460.nは、組み合わせて使用されてもよく、これにより、システム設計者がそれらの個々のアプリケーションのニーズに適合するように所望され得る量子化調整テーブル410.0、410.1、...、410.nにおいて定義されたq_step関係の任意の線形結合を定義することが可能になる。したがって、システム400によって表される技術は、ビデオ符号化及び復号動作中に量子化調整を動的に定義するための広い柔軟性を提供する。
別の実施形態では、符号器は、q_idxの範囲にわたって量子化調整テーブル410.0、410.1、...、410.nの選択を定義することによって、動的に生成された量子化調整をシグナリングすることができる。この実施形態では、選択は、遷移点によって識別されてもよく、特定の量子化ステップサイズテンプレートTIdxNkを用いて対象領域を本質的に定義する開始インデックス(regionStartNk)をシグナリングすることができる。この開始インデックス(regionStartNk)のデフォルト値は、0に推測することができ、この場合、それは、上述したように動作する。
K=0である場合、
operating_quant_step_size_table[m]=weightN0*table_TIdxN0[regionStartN0+m]、式中、mは、0からTP0の範囲である。
(K>0)である場合、
operating_quant_step_size_table[m]=operating_quant_step_size_table[global_transition_point]+weightNk*table_TIdxNk[regionStartNk+m-global_transition_point]、式中、
global_transition_point=0からk-1までの全てのTPkの合計であり、mは、global_transition_pointからTPk-1までの範囲である。
更なる実施形態では、システム400は、以下に示されるように、シグナリングされた量子化ステップサイズテンプレートに基づいて量子化ステップ領域を独立して導出することができる。(TIdxk、TPk、weightNk、regionStartNk)の全てのシグナリングされたK個の対について、
K=0である場合、
operating_quant_step_size_table[m]=weightN0*table_TIdxN0[regionStartN0+m]、式中、mは、0からTP0の範囲である。
(K>0)である場合、
operating_quant_step_size_table[m]=weightNk*table_TIdxNk[regionStartNk+m-global_transition_point]、式中、
global_transition_point=0からk-1までの全てのTPkの合計であり、mは、global_transition_pointからTPk-1までの範囲である。
上に示したように、前述の実施形態は、デフォルト量子化調整テーブル410.0、410.1、...、410.nの内容に基づいて所望のq_idx対q_Step関係を適応させることができ、同時に、滑らかな単調関係を維持することができる。加えて、複数のテーブルの場合、複数の遷移点をシグナリングすることができる。特定の実施形態では、全ての遷移点が同じ距離にあり、1つの値(それらの距離)のみがシグナリングされることが可能である。
テーブルインデックス(tbl_idx)、遷移点(TPi)、重み(wi)、開始インデックス(regionStartNk)などの前述のシンタックス要素は、ルマDC、ルマAC、クロマU DC、クロマU AC、クロマV DC、及びクロマV ACなどの全てのタイプについて別々にシグナリングすることができる。
図5
図5は、本開示の一実施形態に係る別のシステム500を示す。システム500は、複数のデフォルト量子化調整テーブル510.0、510.1、...、510.nと、乗算器520.0、520.1、...、520.nと、加算器デフォルト量子化調整テーブル530.1、...、530.nと、量子化調整テーブル用のメモリ540と、ビットストリームパーサ550と、を含むことができる。ビットストリームパーサ550は、遷移点識別データを含むデータストリームを受信することができ、それを構成データ要素(例えば、使用されている技術に依存して、テーブルインデックス、遷移点、重み、及び/又は領域開始データ)に解析することができる。ビットストリームパーサは、これらのデータ要素をシステム500から出力することができる。
量子化調整テーブル540を構築(又は修正)するために、ビットストリームパーサ550は、遷移点データによって識別されるように、デフォルト量子化調整テーブル510.0、510.1、...、510.nのうちの選択されたものに信号を出力することができる。説明したように、テーブルインデックスは、記憶されたq_Stepデータが読み出されるデフォルト量子化調整テーブル510.0、510.1、...、510.nのうちの1つを識別することができる。遷移点及び/又は領域開始データは、記憶されたq_Stepデータが読み出される選択されたデフォルト量子化調整テーブル(例えば、テーブル510.1)内の位置を識別することができる。使用される場合、重み情報は、q_Stepデータがデフォルト量子化調整テーブル510.1から読み取られ、量子化調整テーブル540に記憶されるときに乗算器520.1によって適用されることになるスケーリングファクタを識別することができる。加算器530.1は、選択されたデフォルト量子化調整テーブル510.1から記憶されたq_step値と、先行する遷移点識別から量子化調整テーブル540に記憶されたq_step値との間の連続性を維持するために所望され得るように、オフセットをq_step値に加算することができる。多くの(しかし全てではない)符号化アプリケーションにおいて、q_idxの値が増加するにつれてq_step値が単調に増加することを確実にすることが望ましい。また、図6には示されていないが、加算器530.1、...、530.nは、ビットストリームでシグナリングされ、かつビットストリームパーサ550によって識別される、オフセット値を適用することができる。
図6
図6は、本開示の一実施形態に係る方法を示す。方法600は、デフォルトq_step曲線と遷移点が適用されるq_idx値の範囲とを識別するデータを含むことができる、遷移点を識別するデータの受信時に開始することができる(ボックス610)。任意選択的に、遷移点識別は、識別オフセット及び/又はスケーリング重みを含むことができる(ボックス620、630)。この遷移点識別データから、方法600は、量子化曲線を導出することができる(ボックス640)。
その後、方法600は、ビデオ符号器又は復号器のランタイム動作中に適用することができる。所与の符号化要素についてq_idx値が受信されると(ボックス650)、方法600は、ボックス640で導出された量子化調整曲線に従ってq_step調整値を導出することができる(ボックス660)。方法600は、q_step値を符号化要素のbase_qp値に適用することによって、基本量子化パラメータを調整することができ(ボックス670)、得られた値は、(符号化のための)量子化動作又は(復号のための)逆量子化動作に適用することができる(ボックス680)。ボックス650~680の動作は、符号化/復号動作が実行される限り、又は新しい遷移点データが受信されるまで(ボックス690)、繰り返すことができる。新しい遷移点データが受信されると、方法は、ボックス610~640の動作に従って量子化調整曲線を修正することができる。
動作において、量子化調整曲線の修正は、以前に識別された遷移点の大規模な置換を必要としない。一実施形態では、修正された遷移点データは、それらが適用される量子化インデックスの識別とともに受信することができる。新しい量子化調整曲線は、新しい遷移点識別を他のq_idx範囲に適用されるより古い遷移点識別と統合することによって導出することができる。
一態様では、量子化パラメータ以外の符号化パラメータも、q_stepなどの量子化パラメータから導出することができる(任意選択のボックス675)。インループフィルタリングパラメータ、インター予測パラメータ及びイントラ予測パラメータなどの符号化パラメータは、「改善された量子化器に基づく符号化拡張」で以下により詳細に説明するように、q_stepに基づいて、符号器又は復号器において決定することができる。ボックス675で決定された任意の非量子化符号化パラメータは、対応する符号器又は復号器プロセス(図6に図示せず)において使用することができる。例えば、インループデブロッキングフィルタのフィルタ強度は、ボックス675でq_stepに基づいて決定することができ、次いで、決定されたデブロッキングフィルタ強度は、符号器フィルタ240(図2)又は復号器フィルタ340(図3)内のデブロッキングフィルタに適用することができる。
量子化調整テーブルの生成をサポートするための例示的なシンタックス
以下では、前述の技術のAV1符号化プロトコルへの統合を示すために、例示的なシンタックスが与えられる。以下の例は、説明するように、AV1を対象とするが、本開示の原理は、VVC、HEVCなどの様々な他の符号化システムに適用することができる。
フレーム量子化器導出:関数get_dc_quant(plane)は、特定のプレーンのdc係数の量子化器値を返し、以下のように導出することができる。
●planeが0に等しい場合、dc_q(get_qindex(0,segment_id)+DeltaQYDc)を返す。
●さもなければ、planeが1に等しい場合、dc_q(get_qindex(0,segment_id)+DeltaQUDc)を返す。
●そうでない場合(planeが2に等しい)、dc_q(get_qindex(0,segment_id)+DeltaQVDc)を返す。
関数get_ac_quant(plane)は、特定のプレーンのac係数の量子化器値を返すことができ、以下のように導出することができる。
●planeが0に等しい場合、ac_q(get_qindex(0,segment_id))を返す。
●さもなければ、planeが1に等しい場合、ac_q(get_qindex(0,segment_id)+DeltaQUAc)を返す。
●そうでない場合(planeが2に等しい)、ac_q(get_qindex(0,segment_id)+DeltaQVAc)を返す。
関数get_qindex(ignoreDeltaQ,segmentId)は、現在のブロックの量子化器インデックス、例えば、更なる説明で使用される「q_Idx」を返すことができる。
シンタックスは、以下に示されるような要素を含むことができる。簡略化のために、関連するシンタックス要素のみが示され、残りは省略される。
一般的なフレームヘッダOBUシンタックス要素は、以下の要素を含むことができる。
非圧縮ヘッダシンタックスは、以下の要素を含むことができる。
ここで、
1に等しいseparate_Ydc_q_paramsは、ルマDC量子化テーブルパラメータが別々に符号化されることを示す。0に等しいseparate_Ydc_q_paramsは、別個のルマDC量子化テーブルパラメータがシグナリングされず、ルマAC量子化テーブルパラメータから導出されないことを示す。存在しない場合、その値は0であると仮定される。
1に等しいdifferent_chroma_quant_paramは、クロマ(U及びV)量子化テーブルパラメータが別々に符号化されることを示す。0に等しいdifferent_chroma_quant_paramは、別個のクロマ(U及びV)量子化テーブルパラメータがシグナリングされず、ルマ量子化テーブルパラメータから導出されないことを示す。存在しない場合、その値は0であると仮定される。
1に等しいseparate_uv_quant_paramは、クロマU成分及びクロマV成分の量子化テーブルパラメータが別々に符号化されることを示す。0に等しいseparate_uv_quant_paramは、クロマU成分及びクロマV成分の量子化テーブルパラメータがシグナリングされず、共有されないことを示す。存在しない場合、その値は0であると仮定される。
1に等しいseparate_Udc_q_paramsは、クロマU DC成分の量子化テーブルパラメータが別々に符号化されることを示す。0に等しいseparate_Udc_q_paramsは、クロマU DC成分の量子化テーブルパラメータが別々に符号化されず、クロマU AC成分と共有されないことを示す。存在しない場合、その値は0であると仮定される。
1に等しいseparate_Vdc_q_paramsは、クロマV DC成分の量子化テーブルパラメータが別々に符号化されることを示す。0に等しいseparate_Vdc_q_paramsは、クロマV DC成分の量子化テーブルパラメータが別々に符号化されず、クロマV AC成分と共有されないことを示す。存在しない場合、その値は0であると仮定される。
1に等しいseparate_UVdc_q_paramsは、クロマU及びクロマV DC成分の量子化テーブルパラメータが別々に符号化されることを示す。0に等しいseparate_UVdc_q_paramsは、クロマU及びクロマV DC成分の量子化テーブルパラメータが別々に符号化されず、クロマU AC成分と共有されないことを示す。存在しない場合、その値は0であると仮定される。
quantTable_paramsヘッダシンタックス要素は、以下の情報を含むことができる。
ここで、
typeは、以下のマッピングに従ったビデオコンテンツを表す:0のタイプ値は、ルマACであり、1は、ルマDCであり、2は、クロマU ACであり、3は、クロマV ACであり、4は、クロマV ACであり、5は、クロマV DCである。
num_pivot points[type]は、特定のタイプの量子化ステップサイズテーブルを導出するために合計で使用されるピボットポイントの数を指定する。
TableIdx[type][idx]は、特定のタイプの量子化ステップサイズテーブル及びピボットポイントインデックスを導出するために使用される量子化ステップサイズテンプレートインデックスを指定する。
transition_point[type][idx]は、特定のタイプの量子化ステップサイズテーブル及びピボットポイントインデックスを導出するための遷移点インデックスを指定する。
1に等しいweights_appliedは、特定のタイプの量子化ステップサイズテーブル及びピボットポイントインデックスを導出するために重みが適用される場合を示す。0に等しいweights_appliedは、重みが1に等しいと推測されることを示す。存在しない場合、weights_appliedの値は、0に等しい。
weightNrIdxは、特定のタイプの量子化ステップサイズテーブル及びピボットポイントインデックスを導出するために使用される重み分子値を指定する。
weightDrIdxは、特定のタイプの量子化ステップサイズテーブル及びピボットポイントインデックスを導出するために使用される重み分母値を指定する。
1に等しいnon_zero_idx_enabledは、量子化ステップサイズテンプレート内のフレキシブル開始領域が有効化されていることを示す。0に等しいnon_zero_idx_enabledは、量子化ステップサイズテンプレート内のフレキシブル開始領域が有効化されておらず、regionStartIdxが0であると推測されることを示す。存在しない場合、non_zero_idx_enabledは、0であると推測される。
regionStartIdxは、特定のタイプの量子化ステップサイズテーブル及びピボットポイントインデックスを導出するために使用される特定の量子化ステップサイズテーブルテンプレート内の開始インデックスを指定する。
前述のシンタックスを使用して、量子化ステップサイズテーブルは、以下のように導出することができ、量子化ステップサイズテーブルが望まれる全てのタイプについてプロセスを繰り返す。
ローカル変数は、0に初期化することができる(例えば、K=0、global_transition_point=0)。
所与のq_idxについての最終量子化ステップサイズ値は、derived_quant_step_size_table[type][q_idx]として導出することができる。
上記のシンタックスは、例えば、上記で説明した技術を使用してシーケンスヘッダでそれらをシグナリングすることによって、量子化ステップサイズテンプレートが利用可能にされており、q_idx値の総数が256であり、3つの色成分(Y、U、V)がヘッダ内に存在する、システムに適用される。もちろん、本開示の原理は、異なる数のq_idx値を使用するシステム、及び他の成分(アルファ、深度など)、並びに所望され得るような成分のサブセット(モノクロなど)に適用される。
以下の説明は、前述の量子化曲線導出の例示的な適用例を提示する。1つが完全に線形であり、もう1つのテーブルが指数関数的に変化する、2つの量子化調整テーブル410.0、410.1を有することが望ましい例を考える。
線形量子化ステップサイズテーブル410.0は、例えば、q_step=clip(DESIRED_MIN,DESIRED_MAX,m*q_idx+c)として導出することができ、式中、m及びcは、なんらかの実数定数であり、DESIRED_MIN、DESIRED_MAXは、それぞれ量子化ステップサイズの望ましい最小値及び最大値である。
指数関数的に変化する量子化ステップサイズテーブル410.1は、例えば、q_step=clip(DESIRED_MIN,DESIRED_MAX,ROUND(24*(2^(q_Idx/16)+k)))として導出することができ、式中、kは、なんらかの実数定数であり、DESIRED_MIN、DESIRED_MAXは、量子化ステップサイズの望ましい最小値及び最大値である。
そのような適用例では、システム400は、線形テーブルから指数テーブルへの遷移を指定する「linear_table_max_idx」などの「遷移点」をシグナリングすることができる。
linear_table_max_idx又は「遷移点」は、AC又はDC成分に対して異なるようにシグナリングすることができる。
linear_table_max_idx又は「遷移点」は、ルマ成分、クロマU成分、及びクロマV成分に対して異なるようにシグナリングすることができる。
linear_table_max_idx又は「遷移点」は、異なるビット深度に対して異なるようにシグナリングすることができる。
「遷移点」のシグナリングは、シーケンス、フレーム、スライス、タイル、又はブロックヘッダという異なるレベルの粒度でシグナリングすることができる。シグナリングの各レベルは、異なるトレードオフを有することができる。
適用例では、複数のN個の量子化調整曲線のデータは、(符号化コストを最小化するために)シーケンス又はフレーム粒度でシグナリングすることができ、それらの量子化調整曲線のうちの選択された1つに対応するインデックスは、所望の適応性を達成するために、フレーム内のブロックレベル、スライスレベル、セグメントレベル、タイルレベル、又は特定の領域レベルなどのより低い粒度でシグナリングすることができる。シグナリング粒度は、異なる複雑さ、圧縮効率、及び適応性のトレードオフを提供することができることに留意することができる。一般に、最も低い粒度でのシグナリングは、ハードウェア実装形態にとって計算集約的であり、より多くの符号化コストを招くこともある。しかしながら、それは、特に低ビットレートアプリケーションに対して、符号化決定を行うための最大の柔軟性又は適応性を提供することができる。同様に、量子化ステップサイズインデックス、遷移点、遷移点における重み、及び量子化ステップサイズインデックス内の対象領域に関するシグナリングは、ブロックレベル、スライスレベル、セグメントレベル、タイルレベル又は特定の領域レベル、フレームレベル又はシーケンスレベルなどの様々な粒度でシグナリングすることができる。そのようなデータに対して、より低い粒度でのシグナリングは、著しい柔軟性及びコンテンツベースの適応性を提供する。
上記の説明は、ユニタリq_step値及びbase_qp値のコンテキストにおける量子化調整を提示した。前述の技術は、多次元量子化行列に適用することができ、量子化調整曲線は、(例えば、DC係数について、及び変換ユニット214(図2)によって生成された複数のAC係数について)処理されている変換係数に従って、かつまたq_idxによって変化する量子化調整値を有する量子化調整行列として定義される。そのような量子化調整行列のデータは、シーケンス又はフレームヘッダで明示的にシグナリングすることができる。これらの「N」個の量子化調整行列からの量子化行列に対応するインデックスは、処理されている符号化要素に供給することができる。
別の実施形態では、量子化ステップサイズテーブル及びスケーリング行列をシグナリングするために、ピボット法を適用することができる。システム400は、N個のインデックスを指定し(デルタを使用して、それらが単調に増加していることを確実にする)、次いで、補間法を使用して、欠落インデックスを補間することができる。補間は、単にバイリニアであってもよく、又はより複雑なモデル(例えば、バイキュービック)を使用してもよい。そのような技術は、例えば、1つのセグメントが補間を使用し、次のセグメントが関数を使用する、区分的方法と組み合わせることができる。そのような技術は、精細な方法で、かつ定義されたステップサイズを使用して、量子化の精度に対する制御を提供する。DC/AC量子化は、量子化行列と同様の方策を使用することができる。補間(例えば、ピボットベースの)方法を使用して量子化行列をシグナリングすることによって、量子化行列シグナリングに関連付けられた高いシグナリングコストを低減することができる。この手法では、システム400は、特定の点の値をシグナリングすることができ、それは、所定の位置にプレフィックスすることができる、又はそれらの位置は、明示的にシグナリングされる(後者の場合、全ての変換タイプに対して均一に離間した点を採用することが好ましい場合がある)。異なる変換タイプに対して、異なる点をシグナリングすることができる、又は対応する「スケーリングされた」位置における点は、ピボットポイントとしてのみ示される。次に、指定された方法を使用して、例えば、水平方向及び/又は垂直方向に適用されるバイリニア補間を使用して、中間欠落点の量子化スケールが補間される。
一実施形態では、システム400は、各段階(例えば、SPS)において複数の量子化行列をシグナリングし、したがって、これをより柔軟にすることができる。PPSにおいて、設計は、SPS内のどの量子化行列(又は複数の量子化行列)を使用することを好むかを、それらのインデックスを示すことによって示すオプションを有する。これにより、インデックスのみがシグナリングされる必要があるため、異なる量子化行列の複数回のコストのかかるシグナリングを回避する。更に、スライス/タイルレベルで、PPS量子化行列リストへのインデックスを更に使用して、領域内で使用される量子化スケーリング行列の更なる制御及び柔軟性を可能にすることができる。これは、ブロックレベルで拡張することもできる。量子化行列間で予測する機構も使用することができ、すなわち、テーブル全体をシグナリングする代わりに、基準テーブルからのデルタを使用することができ、又は1つのPPS内の量子化行列を、SPS内で示された量子化行列から、若しくは別の以前に送信されたPPSから予測することができる。異なる構造、例えば、PPSよりも重要度が高く、PPSが予測することができる全ての可能な量子化行列を含む適応NALユニットタイプなどの新しいNALユニットタイプを示すことも可能であり得る。その場合、復号器又は送信システムは、チャネル切替え、ランダムアクセスなどの目的で、ストリーム内の異なるユニットタイプ間の関係をより容易に決定することができる。PPS又はAPSはまた、量子化行列の基準バッファをポピュレートすることができ、それはまた、そのような要素の予測のために利用することができる。基本的に、他の以前にシグナリングされた要素又は構造からPPS内の量子化行列を予測するこの機能は、量子化行列の「インター」予測の形態と見なすことができる。量子化行列の空間/イントラ予測も可能であり、すなわち、PPSが複数の量子化行列を含むことが許容される場合、量子化行列は、PPSにおいてシグナリングされた以前の量子化行列と比較して、予測方式で符号化することができる。
更なる実施形態では、システム400は、フレーム/タイルレベル(コストが小さいため、細かい数のインデックスが可能であり得る)及びブロックレベル(基本的に「量子化された量子化ステップサイズ増分」を示している)の両方において、シグナリングされる量子化インデックスの数を制御することができる。例えば、ピクチャレベルでは依然として256又はおそらく128の量子化ステップを有することができるが、ブロックレベルでは、1の代わりにN(例えば、N=2又は4)の増分でデルタオフセットを示すことができる。これは、AC及びクロマにも適用することができる。より具体的には、ブロックレベルでのqpIdxは、block_qpIdx=base_q_idx+qp_delta*quant_qp_deltaとして導出することができる。
VVC、HEVC、及びAV1規格の既存の実装形態では、量子化行列は、通常、変換ブロックサイズ、予測タイプ、及びブロックの色成分に基づいて導出され、一般に、全てのQPについて固定されるが、異なる変換サイズ、予測モード、及び色成分について異なり得る。一実施形態では、システム400は、QPにも基づいて量子化行列を制御及び調整する柔軟性を提供することができる。すなわち、特定の予測及びブロックタイプに対して単一の量子化行列を使用する代わりに、システム400は、QP又はQP範囲に基づいて量子化行列を切り替えることもできる。異なる行列は、低いQP対中程度のQP、対高いQPに対してより意味があり得る。拡張として、行列自体が、使用されているQP値に基づいて調整される項を有することができる。
上記の説明は、q_idxとして表される量子化インデックスの単一の範囲に沿った量子化値の調整を提示した。実際には、異なるタイプのデータに対してシステム400(図4)及び方法500(図5)の異なるインスタンス化を提供することが望ましい場合がある。例えば、クロマデータとは異なるインスタンス化を、ルマデータに対して提供することができる。高ダイナミックレンジ(high dynamic range、HDR)ビデオとは異なるインスタンス化を、標準ダイナミックレンジ(standard dynamic range、SDR)ビデオに対して提供することができる。ビデオデータを表すために使用されるビット深度(例えば、8ビットカラー、10ビットカラー、又は12ビットカラー)に基づいて、異なるインスタンス化を提供することができる。異なるタイプの変換係数のために(例えば、AC係数とは異なるDC係数のために)異なるインスタンス化を提供することができる。インスタンス化の数及びタイプは、システム設計者が前述の技術を個々のニーズに適用するときに、システム設計者によって選択することができる。
更なる態様では、符号器と復号器との間の送信の前に、量子化値自体を量子化することができる。多くの適用例では、画素ブロックの量子化パラメータは、delta_qp値として表され、delta_qp値は、符号化シンタックス内の他の場所で与えられる基本量子化パラメータに対する変化を表す(例えば、final_qp=base_qp+delta_qp)。更なる実施形態では、final_qp=base_qp+q_qp*delta_qpとなるように量子化器量子化パラメータq_qpに対して量子化される値としてdelta_qpを提供することが有益であり得る。量子化器量子化パラメータq_qpは、より高いレベルのシンタックス要素でシグナリングすることができる。多くの符号化アプリケーションでは、delta_qp値のシグナリングは、符号化帯域幅の6~8%を消費することがあり、したがって、delta_qp値の量子化により、符号化ビットレートの大幅な低減を達成することができると推定される。
更なる態様では、画素再整形特性をキャプチャするために、(本明細書で説明する方法の任意の組合せを使用して)複数の量子化ステップサイズテーブルを生成することができる。隣接領域は、異なる画素再整形特性又は再整形「モード」に従うことができることが可能である。量子化ステップサイズテーブルの柔軟な使用を可能にするために、品質、圧縮効率、及び複雑さの間の最良のトレードオフを提供する(再整形特性/モードを考慮した)、その特定の領域に使用される量子化ステップサイズテーブルをシグナリングすることが更に提案される。領域は、ブロック、スライス、タイル、セグメント及び/若しくはフレーム、又はシーケンスレベルなどの、様々な粒度であってもよい。
量子化調整曲線の動的生成
いくつかの態様では、(図4のテーブル410.0~410.nなどの)量子化調整曲線のセットの生成は、量子化ステップモード選択(qStep_mode)によって制御することができる。選択された量子化ステップモードは、選択されたモードにおける量子化曲線のセットを構築するために必要な任意のパラメータとともに、圧縮されたビットストリームでシグナリングすることができる。
例えば、量子化曲線のセットは、以下の候補量子化ステップモードのうちの1つに従って生成することができる。
a.qStep_mode=0は、デフォルト量子化調整曲線のセットが予め決定され、固定されていることを示すことができる。この場合、所定の量子化調整曲線を構築するために、圧縮されたビットストリームで更なる情報がシグナリングされる必要はなく、したがって、量子化ステップモードパラメータは、必要とされなくてもよい。
b.qStep_mode=1は、長さが所定の関係によって互いに関係付けられている識別された数の間隔で量子化調整曲線が生成されることを示すことができる。例えば、間隔は、利用可能な数の量子化インデックス(qidx)にわたって2のべき乗関係(例えば、8、8*20、8*21、8*23)に従って増加する長さを有するように定義することができる。量子化調整値は、様々な手段に従って各間隔内で生成することができる。一例では、デフォルトテーブルに所定の量子化調整値を提供することができ、テーブル値は、各間隔の長さに従ってテーブル値をスケーリングして、先行する間隔の最高量子化調整値に従ってオフセットを適用することによって、各間隔にわたって拡張することができる。デフォルトテーブルは、指数関数的に増加するプロファイルによるなどの、所望のプロファイルに従ってインデックス値によって増加する量子化調整値を含むことができる。代替的に、デフォルトテーブルは、インデックス値によって線形に増加する量子化調整値を含むことができる。この例では、量子化ステップモードパラメータは、曲線の数(NumTransistionInterval_minus1)と、各曲線を指定するテーブル内の量子化ステップエントリの数(numOstepsinInterval)とを含むことができる。
c.qStep_mode=2は、第1の量子化調整曲線がシグナリングされ、他の量子化調整曲線は、シグナリングされた第1の曲線を複製することによって生成されることを示すことができる。この例では、量子化ステップモードパラメータは、シグナリングされた第1の曲線を定義するテーブル内の量子化ステップサイズエントリの数と、シグナリングされた第1の曲線を定義するテーブル内の各エントリの量子化ステップサイズ値とを含むことができる。
d.qStep_mode=3は、各量子化調整曲線が明示的にシグナリングされることを示すことができる。例えば、各曲線は、テーブルによって定義することができ、各テーブルは、シグナリングすることができる。この例では、量子化ステップモードパラメータは、テーブルの数を含むことができ、次いで、各テーブルについて、各テーブル内の量子化ステップサイズのリストとともに、そのテーブル内のエントリの数を含むことができる。
選択可能な量子化ステップモードを含む設計は、いくつかの利点を提供することができる。
a.遷移間隔タイプ:間隔ウィンドウは、曲線のセグメントと見なすることができる。固定及び可変のいずれかである間隔ウィンドウを有することが有益であり得る。可変量子化モード選択方式は、符号化システムに柔軟性を提供する。
b.遷移間隔にわたる対称性:一実装形態では、Qステップは、各間隔の後に2倍になり得る(例えば、N番目の間隔のQステップは、N-1番目の間隔からの対応するQステップの2倍である)。可変量子化モード選択方式は、符号器と復号器との間でQステップ情報を交換するために暗黙的なシグナリングを提供し、それを活用し、それによって、そのようなシステムにおける符号化効率を高めることができる。
c.間隔長の指数関数的(特に2のべき乗)導出:一実装形態では、例えば、間隔長は、各間隔の後に2倍になり得る(例えば、N番目の間隔の長さは、N-1番目の間隔の2倍である)。可変量子化モード選択方式は、符号器と復号器との間で間隔情報を交換するために暗黙的なシグナリングを提供し、それを活用し、更に、そのようなシステムにおける符号化効率を高めることができる。
場合によっては、qIdxのQstepへの指数関数的(特に2のべき乗)マッピングを有することが望ましいことがある。2のべき乗は、除算演算を必要とせずに、シフト演算によってより効率的に実現することができる。ハードウェア処理回路に実装される場合、除算演算は、実行するのに高価な数学演算であることが多い。
上記の4つの量子化ステップモードのシーケンスヘッダのための例示的なシンタックス
一態様では、qStep_modeは、qStep導出の選択されたモードを指定することができる。qStep_mode=0は、セクション1.1におけるテーブルが現在のシーケンスに使用されることを指定する。qStep_mode=1及びq qStep_mode=2は、セクション1.2及びセクション1.3におけるようにqStep値を導出する方法を指定する。qStep_mode=3は、指定されていない。存在しない場合、qStep_modeの値は、0であると推測される。
他の態様では、量子化曲線のシグナリングは、シーケンスヘッダで行われる必要はなく、代わりに、圧縮されたビットストリーム内の異なる周波数において、又は異なる粒度レベルにおいて行われてもよい。これは、ビットストリーム内のシンタックスの異なるレイヤにおいて量子化調整曲線を指定することによって行われてもよい。例えば、量子化曲線シグナリングは、シーケンスレイヤ、タイルレイヤなどで行われてもよい。同様に、MPEG規格(例えば、VVC)では、それらは、シーケンス、ピクチャ、サブピクチャ、スライス、又はタイルヘッダであってもよい。
以下は、前述のシーケンスヘッダシンタックスを使用して量子化曲線を生成するための例示的な技術を、擬似コードの例を用いて説明する。
qStep_mode=0
第1の例では、qStep_mode=0であり、これは、qStepサイズの既定の粒度を適用する。この例では、間隔ウィンドウタイプは、固定に設定され、遷移間隔は、間隔ごとに2倍になり、ステップサイズは、2のべき乗曲線として導出される。この実装形態は、量子化テーブルがインターフェース仕様において定義されることを可能にし、インターフェース仕様は、量子化テーブルの値を明示的に指定する必要がない符号化アプリケーションのためのデフォルト値のセットを与える。NumTransitionInterval_minus1の値は、デバイス間で9に等しいと推測することができ、各遷移間隔のnumQstepsInIntervalは、8、8、16、32、32、32、32、32、32、32に等しいと推測することができる。この例では、NumTransitionInterval_minus1及びnumQstepsInIntervalの値は、qStep_mode値が0に設定されている場合に導出される。
qStep_mode=1
別の例では、qStep_mode=1であり、これは、符号器がフレキシブル量子化ステップでフレキシブル量子化テーブルを定義することを可能にする。この例では、間隔ウィンドウタイプは、可変であり、遷移間隔にわたる対称性=間隔ごとに2倍であり、ステップサイズは、2のべき乗曲線として導出される。この実装形態は、動作ビットレート範囲におけるQステップの精度を定義する柔軟性を提供する。例えば、より高いQPで動作するとき、動作QPの周りのより細かいステップサイズを定義することができ、これは、量子化誤差及び符号化セッション中の符号化品質の急激な遷移を低減するのに役立つ。
この例では、符号器は、以下のようにシグナリングを提供することができる。
NumTransitionInterval_minus1 -この値プラス1は、間隔内のqstepの数がシグナリングされる、256のQstep範囲内の間隔の数を指定する。
NumQstepsInInterval[i] -「i」番目の遷移間隔内のqStep点の数。
「i」番目の遷移間隔についてNumQstepsInIntervalがシグナリングされないとき、NumQstepsInIntervalは、32に等しいと推測される。
遷移の値NumQstepsInInterval[NumTransitionInterval_minus1]は、256-(NumQstepsInInterval[0]からNumQstepsInInterval[NumTransitionInterval_minus1]までの合計)であると推測される。
多くの場合、実際には、NumQstepsInInterval[0-NumTransitionInterval_minus1]の合計は、256未満である。
qStep_mode=1の一態様では、NumQstepsInIntervalは、2のべき乗として設定することができ、Qステップテーブルは、次のように導出することができる。
浮動小数点精度で動作することができる方法に好適であり得るqStep_mode=1の別の態様では、Qステップテーブルは、以下のように導出することができる。
代替的に、変数(例えば、qIdx-(base_qIdx_transition-1))の精度は、除算後の精度を高めるために除算前に大きな値によって乗算又はシフトすることによって高めることができる。
qStep_mode=1の一態様では、numQstepsInIntervalは、可変長コードを用いて前の間隔からデルタ符号化することができ、Initial_qIdx_factorの値は、いくつかの実装形態ではビットストリームでシグナリングすることができる。
qStep_mode=2
更なる例では、qStep_mode=2であり、これは、符号器が1つの間隔のオフセットをシグナリングし、追加の間隔を生成するためにその間隔を複製することを可能にする。
qStep_mode=3
更に別の例では、qStep_mode=3であり、これは、符号化システムがQstepTableTemplateを明示的にシグナリングし、QstepTableTemplateからQstepTableをderivieすることを可能にする。この例では、テンプレートとして機能するテーブルのセットをシグナリングすることができる。そのシーケンスに使用されることになる最終テーブルは、QstepTableTemplateの組合せとして導出することができる。以下の例示的な説明では、テーブル1から最初の64個のエントリがあり、テーブル2から次の196個のエントリがある。
K=0である場合、
さもなければ(K>0)である場合、
図8
図8は、量子化ステップモードを有する本開示の一実施形態に係る方法を示す。方法800は、選択された量子化ステップモード及び選択された量子化ステップモードに関連付けられたパラメータを識別するデータの受信時に開始することができる。選択された量子化ステップモードに関連付けられたパラメータは、量子化調整曲線のセットの導出を可能にすることができ、上記で説明したように、遷移点の数についてのデータを含むことができる(ボックス810)。任意選択的に、遷移点識別は、識別オフセット及び/又はスケーリング重みを含むことができる(ボックス820、830)。選択された量子化ステップモード及び任意の関連付けられたパラメータから、方法800は、量子化曲線を導出することができる(ボックス840)。
その後、方法800は、ビデオ符号器又は復号器のランタイム動作中に適用することができる。所与の符号化要素についてq_idx値が受信されると(ボックス850)、方法800は、ボックス840で導出された量子化調整曲線に従ってq_step調整値を導出することができる(ボックス860)。方法800は、q_step値を符号化要素のbase_qp値に適用することができ(ボックス870)、得られた値は、(符号化のための)量子化動作又は(復号のための)逆量子化動作に適用することができる(ボックス880)。ボックス850~880の動作は、符号化/復号動作が実行される限り、又は新しい量子化ステップモード若しくは関連付けられたパラメータが受信されるまで(ボックス890)、繰り返すことができる。新しい量子化ステップモード又は量子化ステップモードに関連付けられた新しいパラメータが受信されると、方法は、ボックス810~840の動作に従って量子化調整曲線を修正することができる。
動作において、量子化調整曲線の修正は、量子化調整曲線の予測に関して以下で説明するように、以前に識別された遷移点の大規模な置換を必要としない。一実施形態では、修正された遷移点データは、それらが適用される量子化インデックスの識別とともに受信することができる。新しい量子化調整曲線は、新しい遷移点識別を他のq_idx範囲に適用されるより古い遷移点識別と統合することによって導出することができる。
一態様では、量子化パラメータ以外の符号化パラメータも、q_stepなどの量子化パラメータから導出することができる(任意選択のボックス875)。インループフィルタリングパラメータ、インター予測パラメータ及びイントラ予測パラメータなどの符号化パラメータは、「改善された量子化器に基づく符号化拡張」で以下により詳細に説明するように、q_stepに基づいて、符号器又は復号器において決定することができる。ボックス875で決定された任意の非量子化符号化パラメータは、対応する符号器又は復号器プロセス(図8に図示せず)において使用することができる。例えば、インループデブロッキングフィルタのフィルタ強度は、ボックス875でq_stepに基づいて決定することができ、次いで、決定されたデブロッキングフィルタ強度は、符号器フィルタ240(図2)又は復号器フィルタ340(図3)内のデブロッキングフィルタに適用することができる。
量子化調整曲線の代替セット及び予測
符号化されたビデオの異なる部分は、量子化調整曲線の代替セットを使用することができる。例えば、4つの量子化ステップモードのシーケンスヘッダにおいて上述したような量子化調整曲線の1つのセットは、ビデオシーケンス内の全ての画像データの量子化又は逆量子化中に使用するための新しい量子化調整曲線を生成するために組み合わされる。他の例では、量子化曲線の異なるセットを、DC係数及びAC係数について、ルマデータ及びクロマデータについて、又はIフレーム、Pフレーム、若しくはBフレームについて、圧縮ビットストリームにおいて定義することができる。
一態様では、符号化システムは、Q_Stepの第1の要素であるinitial_Q_Stepインデックスを明示的にシグナリングすることができる。
量子化調整曲線の代替セットが圧縮ビットストリームに2回以上含まれるとき、調整曲線を指定するビットコストは、以前にシグナリングされた量子化調整曲線から調整曲線の1つのセットを予測することによって、低減することができる。
第1の態様では、量子化調整曲線のセットは、量子化調整曲線のセットを指定するパラメータ内の予測によって指定することができる。このタイプの予測では、パラメータは、以前のパラメータに対してデルタ符号化することができる。例えば、N個の要素のq-Stepテーブルをシグナリングしている間に、qStepテーブルのK番目の要素は、(K-1)番目の要素(利用可能な場合)からのデルタ、すなわちdeltaqStep[k]として符号化することができる。qStepパラメータの導出中、qStep[K]は、qStep[k-1]+deltaqStep[K]として導出される。(以前の値に基づいて)そのようなデルタ符号化方式を有効又は無効にするために、フラグをシグナリングすることができる。
第2の態様では、量子化調整曲線のセットは、時間パラメータにわたる中の予測によって指定することができる。このタイプの予測では、パラメータは、時間ピクチャの対応するヘッダ(ピクチャ、タイルヘッダなど)又は同じピクチャ内のヘッダ(例えばタイルヘッダ)のいずれかであるが、符号化順で先行する、すでにシングル化されたパラメータからコピーされる。(時間的な値又はすでに符号化された先行する値に基づいて)そのようなコピー方式を有効又は無効にするために、フラグをシグナリングすることができる。複数のタイルがシーケンス内で有効にされるときに、どこから情報をコピーすることができるかを指定するために、特定のルールを定義することができる。いくつかの例示的な定義を以下に示す。
a.グローバルパラメータセット(例えば、シーケンスヘッダ)からのコピーを指定するためのフラグ。このフラグが有効にされている場合、パラメータは、グローバルパラメータセットからコピーすることによって導出される。
b.(a)においてフラグが無効にされている場合、特定のタイルヘッダから(例えば、現在と同じタイルIDを有する時間ピクチャのタイルヘッダから)コピーするために、別のフラグをシグナリングすることができる。
要約すると、現在のヘッダ(例えば、タイル)について、どこから情報をコピーすることができるかを指定するために、それをシグナリングすることができる。
第3の態様では、量子化調整曲線のセットは、色成分パラメータ間の予測によって指定することができる。このタイプの予測では、パラメータは、それらの対応する成分からコピーされる。例えば、パラメータは、成分のうちの1つ(ルマ)についてシグナリングされ、他の2つの成分Cb及びCrは、ルマと同じパラメータを使用する。別の例では、パラメータは、成分のうちの1つ(AC係数)についてシグナリングされ、DC成分は、AC係数と同じパラメータを使用する。(上記の例における対応する成分に基づいて)そのようなコピー方式を有効又は無効にするために、フラグをシグナリングすることができる。無効にされた場合、上記の成分の各々について、別個のパラメータをシグナリングすることができる。
改善された量子化器に基づく符号化拡張
量子化インデックスq_idxと量子化ステップサイズq_stepとの間の関係が明示的にシグナリングされ、画像/ビデオ符号化仕様に適応される、フレキシブル量子化器シグナリング方式が上記で提示されている(例えば、図6、図8)。この量子化器制御は、例えば、残差信号の量子化に使用することができる。特に、タイル、画像、又はシーケンスの1つのセットについて、ユーザは、q_idx値の特定の範囲、例えば、q_idx(m)からq_idx(n)までがq_step0(m)からq_step0(n)までの特定のq_step値に対応することをシグナリングするように選択することができる。しかしながら、タイル、画像、又はシーケンスの異なるセットについて、q_step値の異なる範囲、すなわちq_step1(m)からq_step1(n)までを選択することができる。そのような柔軟性は、より細かくかつより正確なレート制御及びレート割り当てモデルが達成されることを可能にすることができるため、異なる符号器において有利であると見ることができる。
それにもかかわらず、そのような量子化器の柔軟性をサポートすることができる符号化システムのいくつかの規範的及び非規範的態様は、そのような設計によって影響を受け得る。特に、通常、符号化中の量子化器の選択は、レート歪み最適化量子化、HEVC及びVVCビデオ符号化規格のコンテキストにおいて適用可能なサンプル適応オフセット最適化など、符号器によってサポートされる場合、ラグランジュベースの動き推定、モード決定、並びに他のレート歪みベースの動作のために使用されるラグランジュパラメータなどの、符号化モード決定を制御するパラメータに影響を与え得る。そのようなラグランジュ最適化は、通常、以下の形式である。
J=歪み+ラムダ*レート
式中、歪みは、符号化された信号が元の入力とどれだけ異なるかを示すことができる品質の任意のメトリックであってもよく、例えば、絶対値の和又は二乗差として計算することができ、レートは、現在最適化されている対応する情報を符号化するために必要なビット数の実際の値又は近似値のいずれかを示す。変数ラムダは、より低い歪み又はより低いレートのいずれかに向かう決定プロセスの選好をもたらす制御パラメータである。そのような最適化では、ラグランジュコストJを使用して複数の代替符号化モード又はパラメータが評価され、そのようなコストが通常は最小になるものが符号化モードとして選択される。モデルは、復号の複雑さ/電力のコスト、パケット損失によるコスト推定値、後処理による品質などの、追加のコストパラメータをサポートするように拡張することができる。
パラメータ・ラムダの制御は、通常、q_idxの値を検査し、q_idxを所与としてラムダの定式化を指定することによって達成されるが、場合によっては、分解能、スライスタイプ、階層レベル、局所複雑度/分散などの他のパラメータも指定される。そのような関係は、異なるモデルが与えられた場合に、異なる量子化器及び符号化条件の下で符号化されたシーケンスの挙動、並びにラグランジュラムダ値に対するそれらの影響を検査することによって過去に決定されている。しかしながら、従来の符号化仕様は、固定されたq_idxセットを採用し、したがって、q_idxとラグランジュパラメータとの間の適切な関係を決定することは容易である。それにもかかわらず、q_idxからq_stepへの柔軟な設計(図6及び図8など)においてそうすることは、ここでq_idxからq_stepへのマッピングが固定されていないことを考えると、少し複雑である。ラムダパラメータの元の計算を依然として使用することができるが、これは準最適であり得る。例えば、AVC及びHEVCのような規格において使用される一般的なモデルは、以下の形式である。
ラムダ=アルファ*2^((q_idx-12)/3)
この計算のコア形式は、これらの規格におけるq_idxとQstepの一意の関係に基づくが、アルファは、符号化中に考慮される予測構造及びアプリケーション目標に基づいて通常は調整される。イントラ符号化の場合、例えば、アルファに使用される一般的な値は、0.68に等しい。この計算は、「公称」q_idxが与えられた場合のラムダの「公称」計算と呼ばれることがある。
そのような固定式はまた、上記で説明したq_idxからq_stepへの適応設計とともに使用することができるが、それは準最適であり、符号化のための最良の性能をもたらさないことがある。代わりに、新しいq_idx対q_step関係に基づくようにラムダ計算を調整することができる。特に、AVC及びHEVCに使用されるラムダモデルを以下の形式に再定式化することができる。
ラムダ=アルファ*f(q_step)
AVC及びHEVCでは、q_stepは、次の形式である。
式中、xが0~5の範囲でのq_step(x)は、それぞれ、0.625、約0.702、約0.787、約0.884、約0.992、及び約1.114に等しい。それを使用して、AVC及びHEVCについて、q_idxとq_stepとの間の逆関係を導出することもできる。すなわち、q_stepが与えられると、q_idxの値を次のように近似することができる。
次に、その式を使用して、公称q_idxの代わりにq_idx(q_step)関数を用いて上記の公称ラムダ定式化を更新することができ、したがって以下の通りである。
同様のモデルが他の符号化規格の符号器実装形態にわたって適用可能であると仮定すると、フレキシブルq_idxマッピング方法のためのラムダ値を決定するために上記の式を使用することができる。すなわち、まず、現在のパーティションのための動作q_stepを決定し、次いで、ラムダを導出するために上記の定式化にこのq_stepを使用する。
符号器における異なる動作に対して、ラムダは、少し異なって計算することができる。例えば、動き推定の場合、ラムダは、通常、モード決定プロセスのためのラムダの平方根として計算される。上記の計算の拡張、すなわち、q_idxを使用する対応する公称計算からq_stepを使用する定式化へのラムダ計算の再マッピングは、現在の技術の経験を積んだ人々にとって非常に簡単であるはずである。公称q_idxからのラムダの導出を指定する符号器によって使用される他の式を変換して、代わりにq_step値を利用することも非常に簡単であるはずである。
ラムダの導出はまた、どの歪み関数が使用されるかに依存し得る。q_idxを使用する対応する公称計算からq_stepを使用する定式化へのラムダの同様の再マッピングは、一次歪み(例えば、絶対差の和)、二次歪み(例えば、平均二乗誤差)、及びより高次かつ訓練された歪み(例えば、SSIM、VMAFなど)に拡張することができる。より高次かつ訓練された歪みの場合、領域(8×8のブロック、セグメントなど)及びq_idx(q_step)についてのメトリックスコアの関数として、ScaleFactor(アルファに加えて)を計算することができる。
いくつかの符号器は、任意のq_step値についてラムダの値を計算することが可能であり得るが、場合によっては、例えば、特定のハードウェア実装形態では、そのような計算は、限られたサイズの、例えば、サイズNのルックアップテーブルを使用して実行することができる。そのような場合、N個の異なる、対数領域において均一に分布したq_step値についてq_stepとラムダとの間の正確なマッピングを提供するようにルックアップテーブルを設計し、次いで、補間技術を使用して、実際の選択されたq_stepについてより正確なラムダ値を導出することができる。
例えば、Nが64であり、32から2^14までのQstep範囲をカバーしたいと仮定すると、位置32+256*nにおけるq_step値についてのラムダを定義することができ、nは、0からN-1までである。q_idxが定義されたq_step値とは異なるq_step値にマッピングされる場合、ラムダは、最も近い隣接する定義されたq_step値を使用する補間プロセス、又は必要であれば外挿プロセスを使用して計算することができる。補間は、様々な補間法を使用して、例えば、バイリニア、バイキュービック、又は区分キュービックのエルミート多項式補間法を使用して行うことができ、量子化ステップサイズの特性が与えられれば、好ましくは対数領域で、又は線形領域で実行することができる。
この手法は、計算の複雑さも低く保ちながら、q_stepをラムダルックアップテーブルに記憶するメモリ要件を低減するのに役立つことができる。
符号器と復号器の両方に影響を及ぼす、ループフィルタリング、動きベクトル、及び重み付け予測などの規範的動作はまた、柔軟なq_stepからq_idxへのマッピングの考慮によって影響を受け得る。特に、デブロッキング、適応ループフィルタリング(ALF)、サンプル適応オフセット(SAO)フィルタリングなどのループフィルタリング機構は、ブロック及びその近傍の対応するq_idxの値を考慮して、そのブロック内のサンプルに対して実行されるフィルタリング機構の強度を調整することができる。例えば、AVC及びHEVCでは、画素がどのように、いつフィルタリングされるべきかに影響を与えるq_idx依存閾値を指定するテーブルが定義される。これらのテーブルは、閾値Tとq_idxとの間の式、すなわちT=g(q_idx)として定義することもできる。そのような閾値は、特定のq_step値とのその関連付けも考慮して、q_idxがもたらし得る予想される歪みに基づいて定義される。しかしながら、本明細書で説明する柔軟なq_idx設計では、インデックスq_idxの代わりに実際のq_step値、すなわちT=h(q_step)に基づいてそのようなテーブル又は式を再定義することがより適切であり得る。そのような式の変換、すなわちq_idxからq_stepへの変換は、ラグランジュパラメータ導出の定式化の変換が上記で実行された方法と非常に類似して行うことができる。
HEVCにおけるように、テーブルルックアップを使用してそのような閾値処理機構を計算することが望ましい場合、固定テーブル内のエントリによって示される「量子化された」q_step値のみを考慮する固定テーブルを使用することができる、又はラグランジュパラメータ導出にも利用された補間技術の使用による、のいずれかである。
インループデブロックフィルタリングのための一態様では、デブロッキングフィルタ強度は、量子化の程度に関係することができる。画素ブロック(又は画像の他の部分)におけるより高い程度の量子化は、視覚ブロッキングアーティファクトの増加をもたらすことがあり、したがって、より強いデブロッキングフィルタの使用により、圧縮品質を改善することができる。インループデブロッキングフィルタは、符号器及び復号器の両方に使用することができ、デブロッキングフィルタ強度は、符号器と復号器との間の圧縮ビットストリームで明示的にシグナリングされる代わりに、他の符号化パラメータから推測することができる。AVC及びHEVCでは、デブロッキングフィルタ強度は、画素ブロックに使用される量子化器インデックス(q_idx)に基づいて(少なくとも部分的に)推測される。本明細書で説明するより柔軟な量子化器設計では、q_idxは、使用される量子化の程度、ブロッキネスアーティファクトの重大度、又は最良のインループフィルタ強度についての信頼できる予測子ではないことがある。これらのより柔軟な量子化器設計を用いて、デブロッキングフィルタ強度は、q_step又はqp(量子化パラメータ)値のいずれかからより良好に予測することができる。
符号器と復号器の両方における他のプロセスも、符号化ステップを実行する又は適応させるために量子化情報を利用することができる。例えば、動きベクトル予測は、現在の動きベクトルを予測及び符号化するための可能な動きベクトル候補を判定するために、現在のブロックに空間的及び時間的に隣接するパーティションを考慮する。そのような導出は、候補の品質、したがってその動きベクトルに直接関係するため、量子化を利用することもできる。近傍が別の近傍よりも高品質である場合、高品質の近傍の動きベクトルは、低品質の近傍の動きベクトルよりも高い相関を有し得る可能性が高い。q_idxの代わりに近傍に使用される実際のq_stepを考慮することにより、異なる近傍パーティション間の相対品質をよりよく考慮することを可能にすることができ、したがって、潜在的に、最終的な動きベクトル予測子をより正確に決定することができる。具体的には、動きベクトル予測リスト内の他のより低品質の動きベクトル候補と比較して、より高品質の動きベクトル候補をより低いインデックス位置に配置することができる。いくつかの動きベクトル候補は、同じである又は類似していることがあるため、動きベクトルリスト内のこれらの候補を配置するより正確な方法を有することは、有益であると立証することができる。同様の手法は、重み付けされた予測パラメータなどの他の情報の予測に使用することができる。
一態様では、予測検索は、候補予測基準の量子化の程度に基づくことができる。複数の可能な予測基準からの様々なタイプの予測について、予測精度の精度は、量子化の程度に関連することができる。高度に量子化された予測基準は、それほど高度に量子化されていなかった予測基準と比較して不十分な予測を提供することがある。したがって、(例えば、画素データのインター予測又はイントラ予測のために)符号器において単一の動き予測基準を選択するとき、符号器は、より低い程度に以前に量子化された予測基準を選択することに向かうバイアスを含むことができ、量子化の程度は、q_idxではなくq_step又はqpに基づいてより正確に決定することができる。符号器又は復号器における複数の予測基準の重み付けされた組合せの場合、重み付けは、(q_idxの代わりに)q_step又はqpに基づくことができる。例えば、線形重み付け予測は、以下のようにすることができる。
式中、c1/c2は、候補であり、q(x)は、(q_step又はqpによって測定したときの)候補xの量子化器強度であり、fは、何らかの重み付けに対応し、prediction_infoは、どんな情報が予測されているか(例えば、イントラ予測又はインター予測のための、動きベクトル、重み、又は更にはサンプルであってもよい)である。例えば、重みの合計が1になることを確実にするために、相対重み付けを使用することもできる。
別の態様では、特定の画素領域の量子化ステップサイズ調整曲線は、前景領域に対するその背景領域の画素強度分布に基づいて構築することができる。ここでの領域は、ブロック、タイル、セグメント、又はフレーム全体であってもよい。例えば、量子化ステップサイズ値は、以下のステップでN×Nの画素のブロックについて導出することができる。第1のステップでは、各N×Nのブロックについて、背景領域が推定され、その平均画素強度が計算される。背景領域を推定する方法は、N×Nの画素のブロックの周りの周囲のM行/列の画素が背景を構成することができるなどの、簡単なものであってもよい。代替として、背景領域導出は、追跡、人体姿勢推定、背景混合モデル、ファジー及び深層学習ベースの方法などのより高度な方法を伴うことができる。第2のステップでは、現在の領域(例えば、N×Nの画素のブロック)内の背景画素と非背景画素との間の画素強度の絶対差に基づいて、コントラスト係数が計算される。係数は、例えば、最も近い前景画素に対する背景画素の画素距離に基づく重み付けされた絶対差として計算することもできる。第3のステップでは、ステップ1で導出された背景の平均画素強度の関数として、及びステップ2で導出されたコントラスト係数の関数として、量子化ステップサイズスケーリングファクタが計算される。このスケーリングファクタは、正規化して、隣接するステップサイズの範囲内に収まるようにクリッピングすることができる。このスケーリングファクタは、隣接ブロックに対するブロックの知覚マスクとして解釈することができ、この係数は、本開示で説明する量子化曲線のいずれかに対する比として適用することができる。代替的に、これらのスケーリングファクタを適用した後に生じる量子化器ステップは、正規化後に新しい量子化器曲線を形成することができ、シーケンス、フレーム、タイル、又はセグメントヘッダにおいてシグナリングすることができる。
前述の考察では、本開示の態様の動作を図2~図3に示すものなどのビデオ符号器と復号器との関連で説明した。一般に、これらの構成要素は、電子デバイスとして提供される。ビデオ復号器及び/又はコントローラは、特定用途向け集積回路、フィールドプログラマブルゲートアレイ及び/又はデジタル信号プロセッサなどの集積回路に具現化することができる。あるいは、それらは、カメラデバイス、パーソナルコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、スマートフォン、又はコンピュータサーバ上で実行するコンピュータプログラムに具体化することができる。そのようなコンピュータプログラムは、典型的には、電子、磁気、及び/又は光学ベースの記憶デバイスなどの非一時的物理記憶媒体に記憶された命令を含み、それらがプロセッサによって読み取られて実行される。復号器は通常、スマートフォン、タブレットコンピュータ、ゲームシステム、DVDプレーヤ、ポータブルメディアプレーヤなどのような民生電子機器デバイス内にパッケージされ、またビデオゲーム、メディアプレーヤ、メディアエディタなどの民生用ソフトウェアアプリケーション内にパッケージすることもできる。もちろん、これらの構成要素は、必要に応じて、専用のハードウェア構成要素とプログラムされた汎用プロセッサとに機能を分散するハイブリッドシステムとして、提供することもできる。
ビデオ符号器及び復号器は、様々な方法でチャネルを介してビデオを交換することができる。それらは、図1に示すように、通信及び/又はコンピュータネットワークを介して互いに通信することができる。更に他の適用例では、ビデオ符号器は、ビデオデータを電気記憶媒体、磁気記憶媒体、及び/又は光学記憶媒体などの記憶デバイスに出力することができ、それは、後で復号器に提供することができる。そのような適用例では、復号器は、符号化されたビデオデータを記憶デバイスから取り出し、それを復号することができる。

Claims (22)

  1. 量子化方法であって、
    符号化されたビデオデータを表すデータストリームでシグナリングされる遷移点データであって、前記遷移点データが、新しい量子化調整曲線の導出に使用されることになるデフォルト調整曲線の要素を識別する、遷移点データから、前記新しい量子化調整曲線を導出することと、
    処理されることになるビデオの要素について、処理されることになるビデオの前記要素に関連付けられたインデックス値に従って、前記新しい量子化調整曲線から量子化調整値を導出することと、
    前記量子化調整値から量子化パラメータを導出することと、
    量子化動作において、前記量子化パラメータをビデオの前記要素に適用することと、
    を含む、方法。
  2. 前記遷移点データが、デフォルト調整曲線を識別するテーブルインデックスと、前記新しい量子化調整曲線の導出に使用される前記テーブルへのインデックスの範囲と、を含む、請求項1に記載の方法。
  3. 前記遷移点データが、前記新しい量子化調整曲線の導出のためにデフォルト調整曲線の前記要素に適用されるスケーリングを識別するスケーリング値を含む、請求項1に記載の方法。
  4. 前記量子化動作が、ビデオ符号器によって実行される変換係数の量子化である、請求項1に記載の方法。
  5. 前記量子化動作が、ビデオ復号器によって実行される変換係数の逆量子化である、請求項1に記載の方法。
  6. 前記曲線に沿った各インデックス位置における前記新しい量子化調整曲線が、変換係数の個別の行列に適用される量子化調整の量子化行列を表す、請求項1に記載の方法。
  7. 前記デフォルト調整曲線がそれぞれ、量子化ステップサイズのテーブルによって表され、
    前記遷移点データが、前記テーブルのうちのどれが前記テーブルへのインデックスのどの範囲にわたって前記新しい量子化調整曲線に寄与するかを示す、前記テーブル間の遷移を定義し、
    前記量子化調整値が、前記インデックス値の前記遷移点データによって選択された前記テーブルの前記量子化ステップサイズのエントリから導出される、
    請求項1に記載の方法。
  8. 前記データストリームの異なる部分に対して遷移点データの異なるセットが存在し、前記データストリームの前記異なる部分の各々に対して新しい量子化調整曲線が導出される、請求項1に記載の方法。
  9. 前記異なる部分が、AC係数及びDC係数である、請求項8に記載の方法。
  10. 前記異なる部分が、ルマ係数及びクロマ係数である、請求項8に記載の方法。
  11. 前記異なる部分が、Iフレーム、Pフレーム、及びBフレームである、請求項8に記載の方法。
  12. 遷移点データの後のセットが、遷移点データの前のセットから予測される、請求項8に記載の方法。
  13. 前記遷移点データが、選択された量子化ステップモードと、前記選択された量子化ステップモードの選択されたパラメータと、を含む、請求項1に記載の方法。
  14. 前記量子化調整値に基づいてフィルタ強度を導出することと、
    前記導出されたフィルタ強度でインループフィルタをビデオの前記要素に適用することと、
    を更に含む、請求項1に記載の方法。
  15. 量子化方法であって、
    量子化ステップモードと、符号化されたビデオデータを表すデータストリームでシグナリングされた前記選択された量子化ステップモードの任意の関連付けられたモードパラメータとから新しい量子化調整曲線を導出することと、
    処理されることになるビデオの要素について、処理されることになるビデオの前記要素に関連付けられたインデックス値に従って、前記新しい量子化調整曲線から量子化調整値を導出することと、
    前記量子化調整値から量子化パラメータを導出することと、
    量子化動作において、前記量子化パラメータをビデオの前記要素に適用することと、
    を含む、方法。
  16. 前記選択された量子化ステップモードが、既定のモードであり、モードパラメータが、前記選択された量子化ステップモードに関連付けられていない、請求項15に記載の方法。
  17. 前記選択された量子化ステップモードが、直前の量子化調整曲線から2倍の勾配を有する線形量子化調整曲線を含む、請求項15に記載の方法。
  18. 前記選択された量子化ステップモードが、1つの量子化調整曲線を指定する関連付けられたパラメータを含み、サブシーケンス量子化調整曲線が、前記1つの量子化調整曲線を複製することによって決定される、請求項15に記載の方法。
  19. 前記選択された量子化ステップモードが、各量子化調整曲線に対する量子化ステップサイズのテーブルを定義する関連付けられたパラメータを含む、請求項15に記載の方法。
  20. 前記量子化調整値に基づいてフィルタ強度を導出することと、
    前記導出されたフィルタ強度でインループフィルタをビデオの前記要素に適用することと、
    を更に含む、請求項15に記載の方法。
  21. 符号化システムであって、
    量子化パラメータをビデオの要素に適用する量子化器と、
    前記量子化器を制御するコントローラと、
    命令を記憶するメモリと、
    を備え、前記命令が、前記コントローラによって実行されると、
    符号化されたビデオデータを表すデータストリームでシグナリングされる遷移点データであって、前記遷移点データが、新しい量子化調整曲線の導出に使用されることになるデフォルト調整曲線の要素を識別する、遷移点データから、前記新しい量子化調整曲線を導出させ、
    処理されることになるビデオの前記要素について、処理されることになるビデオの前記要素に関連付けられたインデックス値に従って、前記新しい量子化調整曲線から量子化調整値を導出させ、
    前記量子化調整値から前記量子化パラメータを導出させる、
    符号化システム。
  22. 命令を記憶する非一時的記憶媒体であって、前記命令が、プロセッサ上で実行されると、
    量子化ステップモードと、符号化されたビデオデータを表すデータストリームでシグナリングされた前記選択された量子化ステップモードの任意の関連付けられたモードパラメータとから新しい量子化調整曲線を導出させ、
    処理されることになるビデオの要素について、処理されることになるビデオの前記要素に関連付けられたインデックス値に従って、前記新しい量子化調整曲線から量子化調整値を導出させ、
    前記量子化調整値から量子化パラメータを導出させ、
    量子化動作において、前記量子化パラメータをビデオの前記要素に適用させる、
    非一時的記憶媒体。
JP2022576094A 2020-06-22 2021-06-04 ビデオ符号化のための適応量子化器設計 Pending JP2023530630A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US202063042451P 2020-06-22 2020-06-22
US63/042,451 2020-06-22
US202163147163P 2021-02-08 2021-02-08
US63/147,163 2021-02-08
US17/234,596 US11979572B2 (en) 2020-06-22 2021-04-19 Adaptive quantizer design for video coding
US17/234,596 2021-04-19
PCT/US2021/035879 WO2021262419A1 (en) 2020-06-22 2021-06-04 Adaptive quantizer design for video coding

Publications (1)

Publication Number Publication Date
JP2023530630A true JP2023530630A (ja) 2023-07-19

Family

ID=79022184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022576094A Pending JP2023530630A (ja) 2020-06-22 2021-06-04 ビデオ符号化のための適応量子化器設計

Country Status (5)

Country Link
US (1) US11979572B2 (ja)
EP (1) EP4169250A1 (ja)
JP (1) JP2023530630A (ja)
CN (1) CN115868160A (ja)
WO (1) WO2021262419A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220405978A1 (en) * 2021-06-18 2022-12-22 Tencent America LLC Non-linear quantization with substitution in neural image compression
US11909975B2 (en) * 2021-06-18 2024-02-20 Tencent America LLC Dependent scalar quantization with substitution in neural image compression

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3858528B2 (ja) * 1999-08-17 2006-12-13 株式会社ニコン 電子カメラ、および画像処理プログラムを記録した記録媒体
KR101702156B1 (ko) * 2009-05-16 2017-02-13 톰슨 라이센싱 비디오 인코딩 및 디코딩에 대한 개선된 양자화 라운딩 오프셋 조정을 위한 방법들 및 장치
US9854275B2 (en) * 2011-06-25 2017-12-26 Qualcomm Incorporated Quantization in video coding
US9510020B2 (en) * 2011-10-20 2016-11-29 Qualcomm Incorporated Intra pulse code modulation (IPCM) and lossless coding mode deblocking for video coding
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
US10091507B2 (en) * 2014-03-10 2018-10-02 Euclid Discoveries, Llc Perceptual optimization for model-based video encoding
JP7128364B2 (ja) * 2019-05-28 2022-08-30 ドルビー ラボラトリーズ ライセンシング コーポレイション 量子化パラメータシグナリング

Also Published As

Publication number Publication date
US11979572B2 (en) 2024-05-07
CN115868160A (zh) 2023-03-28
WO2021262419A1 (en) 2021-12-30
EP4169250A1 (en) 2023-04-26
US20210400273A1 (en) 2021-12-23

Similar Documents

Publication Publication Date Title
US11363264B2 (en) Sample adaptive offset control
KR102412271B1 (ko) 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
CN108605127B (zh) 滤波视频数据的经解码块的方法和装置及存储介质
RU2543552C2 (ru) Фильтр с внутренним сглаживанием для кодирования видео
US8331449B2 (en) Fast encoding method and system using adaptive intra prediction
US9300967B2 (en) Sample adaptive offset control
JP5204269B2 (ja) ビデオ・コーデック量子化のための方法および装置
KR101538704B1 (ko) 보간 필터를 적응적으로 사용하여 영상을 부호화 및 복호화하는 방법 및 장치
JP2020018024A (ja) ビデオ符号化方法、ビデオ復号方法、ビデオエンコーダ、及びビデオデコーダ
KR101641808B1 (ko) 비디오 코딩에서 적응 루프 필터 및 샘플 적응 오프셋에 대한 최대 코딩 유닛 (lcu) 또는 파티션-기반 신택스
JP2021036676A (ja) ビデオ符号化/復号化システムのための多次元量子化技術
US8611687B2 (en) Method and apparatus for encoding and decoding image using flexible orthogonal transform
JP2006054902A (ja) 画像符号化方法
KR20130045151A (ko) 복원 블록을 생성하는 방법 및 장치
JP2023530630A (ja) ビデオ符号化のための適応量子化器設計
CN114930844A (zh) 用于视频编解码的残差和系数编解码
US20240040120A1 (en) Incremental transform set construction and transform signaling for video coding
US20240129461A1 (en) Systems and methods for cross-component sample offset filter information signaling
WO2023138562A1 (zh) 图像解码方法、图像编码方法及相应的装置
CN116137658A (zh) 视频编码方法及装置
Feldmann Low complexity scalable HEVC using single loop decoding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240221

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240521