(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-25
(54)【発明の名称】メタデータを用いた圧縮ビデオのループ内及びポストフィルタリングの空間解像度適合
(51)【国際特許分類】
H04N 19/117 20140101AFI20231018BHJP
H04N 19/82 20140101ALI20231018BHJP
H04N 19/70 20140101ALI20231018BHJP
H04N 19/172 20140101ALI20231018BHJP
H04N 19/59 20140101ALI20231018BHJP
【FI】
H04N19/117
H04N19/82
H04N19/70
H04N19/172
H04N19/59
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023519596
(86)(22)【出願日】2021-09-29
(85)【翻訳文提出日】2023-05-08
(86)【国際出願番号】 EP2021076733
(87)【国際公開番号】W WO2022073811
(87)【国際公開日】2022-04-14
(32)【優先日】2020-10-06
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521557230
【氏名又は名称】インターデジタル ヴイシー ホールディングス フランス,エスエーエス
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】フランソワ、エドゥアール
(72)【発明者】
【氏名】シャマレ、クリステル
(72)【発明者】
【氏名】ラインハルト、エリック
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159RC12
5C159TA06
5C159TA68
5C159TB04
5C159TC31
5C159TC34
5C159UA02
5C159UA16
5C159UA18
(57)【要約】
ピクチャをビデオ復号するための方法であって、ピクチャを第1の空間解像度で再構成すること(701)と、再構成されたピクチャの少なくとも一部に少なくともループ内フィルタリング及び/又はポストフィルタリングを第1の解像度とは異なる第2の空間解像度で適用することが許可されることを指定する情報を表す、ピクチャに関連付けられたメタデータを取得すること(702)と、を含む、方法。
【選択図】
図7
【特許請求の範囲】
【請求項1】
ピクチャをビデオ符号化するための方法であって、
ピクチャを第1の空間解像度で再構成すること(601)と、
再構成された前記ピクチャの少なくとも一部に対する第2の空間解像度での少なくともループ内フィルタリング及び/又はポストフィルタリングを許可する情報を表すメタデータを前記ピクチャに関連付けること(602)と、を含む、方法。
【請求項2】
ピクチャをビデオ復号するための方法であって、
ピクチャを第1の空間解像度で再構成すること(701)と、
再構成された前記ピクチャの少なくとも一部に対する第2の空間解像度での少なくともループ内フィルタリング及び/又はポストフィルタリングを許可する情報を表す、前記ピクチャに関連付けられたメタデータを取得すること(702)と、を含む、方法。
【請求項3】
前記メタデータが、再構成された前記ピクチャの少なくとも一部に対する前記少なくともループ内フィルタリング及び/又はポストフィルタリングの適用が推奨される少なくとも1つの空間解像度を指定する、請求項1又は2に記載の方法。
【請求項4】
前記メタデータが、再構成された前記ピクチャの少なくとも一部に対する前記少なくともループ内フィルタリング及び/又はポストフィルタリングの適用が推奨される少なくとも1つの空間解像度範囲を指定する、請求項1又は2に記載の方法。
【請求項5】
前記メタデータが複数の空間解像度又は空間解像度範囲を指定するとき、前記メタデータが、各空間解像度又は各解像度範囲に対応するループ内フィルタ及び/又はポストフィルタを更に指定する、請求項3又は4に記載の方法。
【請求項6】
前記メタデータが、指定された空間解像度又は空間解像度範囲ごとに、前記指定された空間解像度又は空間解像度範囲においてループ内フィルタリング又はポストフィルタリングを適用することの品質影響度及び/又は複雑度影響度及び/又はエネルギー影響度を表す情報を更に指定する、請求項3、4、又は5に記載の方法。
【請求項7】
電子回路を備える、ピクチャをビデオ符号化するためのデバイスであって、
ピクチャを第1の空間解像度で再構成し(601)、かつ
再構成された前記ピクチャの少なくとも一部に対する第2の空間解像度での少なくともループ内フィルタリング及び/又はポストフィルタリングを許可する情報を表すメタデータを前記ピクチャに関連付ける(602)ように適合されている、デバイス。
【請求項8】
電子回路を備える、ピクチャをビデオ復号するためのデバイスであって、
ピクチャを第1の空間解像度で再構成し(701)、かつ
再構成された前記ピクチャの少なくとも一部に対する第2の空間解像度での少なくともループ内フィルタリング及び/又はポストフィルタリングを許可する情報を表す、前記ピクチャに関連付けられたメタデータを取得する(702)ように適合されている、デバイス。
【請求項9】
前記メタデータが、再構成された前記ピクチャの少なくとも一部に対する前記少なくともループ内フィルタリング及び/又はポストフィルタリングの適用が推奨される少なくとも1つの空間解像度を指定する、請求項8又は9に記載のデバイス。
【請求項10】
前記メタデータが、再構成された前記ピクチャの少なくとも一部に対する前記少なくともループ内フィルタリング及び/又はポストフィルタリングの適用が推奨される少なくとも1つの空間解像度範囲を指定する、請求項8又は9に記載のデバイス。
【請求項11】
前記メタデータが複数の空間解像度又は空間解像度範囲を指定するとき、前記メタデータが、各空間解像度又は各解像度範囲に対応するループ内フィルタ及び/又はポストフィルタを更に指定する、請求項9又は10に記載のデバイス。
【請求項12】
前記メタデータが、指定された空間解像度又は空間解像度範囲ごとに、前記指定された空間解像度又は空間解像度範囲においてループ内フィルタリング又はポストフィルタリングを適用することの品質影響度及び/又は複雑度影響度及び/又はエネルギー影響度を表す情報を更に指定する、請求項9、10、又は11に記載のデバイス。
【請求項13】
請求項7~12のいずれかの請求項に記載のデバイスを備える装置。
【請求項14】
請求項1若しくは請求項3~6のいずれかの請求項に記載のピクチャをビデオ符号化するための方法によって、又は請求項7若しくは請求項9~12のいずれかの請求項に記載のピクチャをビデオ符号化するためのデバイスによって、又は請求項13に記載のピクチャをビデオ符号化するためのデバイスを備える装置によって生成される信号。
【請求項15】
請求項1~12のいずれかの請求項に記載の方法を実施するためのプログラムコード命令を含むコンピュータプログラム。
【請求項16】
請求項1~12のいずれかの請求項に記載の方法を実施するためのプログラムコード命令を記憶する非一時的情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態の少なくとも1つは、概して、ビデオ符号化及び復号アプリケーションにおいて、ループ内フィルタリング及びループ外ポストフィルタリングがどの解像度で実行されるかを制御するための方法及び装置に関する。
【背景技術】
【0002】
高い圧縮効率を実現するために、ビデオのコーディング方式は、通常、ビデオコンテンツの空間的冗長性及び時間的冗長性を活用した予測及び変換を採用している。符号化中、ビデオコンテンツの画像はサンプル(すなわち、ピクセル)のブロックに等分され、これらのブロックは次いで、以下で元のサブブロックと呼ばれる1つ以上のサブブロックに分割される。次いで、イントラ予測又はインター予測を各サブブロックに適用して、画像内又は画像間相関を利用する。使用される予測方法(イントラ又はインター)が何であれ、元のサブブロックごとに予測子サブブロックが決定される。次いで、元のサブブロックと予測サブブロックとの間の差を表すサブブロックは、多くの場合、予測誤差サブブロック、予測残差サブブロック、又は単に残差ブロックとして示され、符号化されたビデオストリームを生成するために、変換され、量子化され、エントロピーコーディングされる。ビデオを再構成するには、変換、量子化、及びエントロピーコーディングに対応する逆の処理によって、圧縮データを復号する。
【0003】
MPEG-4/AVC(ISO/CEI 14496-10)、HEVC(ISO/IEC 23008-2-MPEG-H Part 2、高効率ビデオコーディング/ITU-T H.265))、又はジョイントビデオエキスパートチーム(Joint Video Experts Team、JVET)として知られるITU-T及びISO/IEC専門家の共同チームによって開発中のバーサタイルビデオコーディング(Versatile Video Coding、VVC)という名称の国際規格などのビデオ圧縮規格の最後の世代は全て、ループ内フィルタリングツールを含み、適合されたメタデータの定義によるポストフィルタリングの使用を優先している。ループ内フィルタリングツールは、デブロッキングフィルタリング(deblocking filtering、DBF)、サンプル適合オフセット(sample adaptive offset、SAO)、及び適合ループフィルタ(adaptive loop filter、ALF)を含む。例えば、ALFパラメータは、VVC内の適合パラメータセット(Adaptation Parameter Set、APS)によって搬送される。いくつかのポストフィルタリングパラメータを搬送するために、補足拡張情報(supplemental enhanced information、SEI)メッセージが使用される。パラメータがこれらのメタデータコンテナにおいてシグナリングされるフィルタは、一般に、特定の空間解像度で適用されるように設計される。しかしながら、それらのフィルタが実際に適用される空間解像度は、必ずしもそれらのフィルタが設計された空間解像度ではない。例えば、ネットワーク制約に適合させるためのストリーミングアプリケーションにおけるコンテンツのダウンサンプリングの場合、復号されたビデオは、解像度適合プロセスの前の元のビデオの解像度又はターゲットディスプレイレンダリング解像度ではない場合がある低減された解像度であってもよい。
【0004】
参照ピクチャ再サンプリング(Reference Picture Resampling、RPR)と呼ばれるツールは、符号化ピクチャの解像度をオンザフライで変更することを可能にする。ピクチャは、一般に復号ピクチャバッファ(decoded picture buffer、DPB)と呼ばれる復号ピクチャのバッファに、ビットストリームの高レベルシンタックス(high-level syntax、HLS)でシグナリングされるビデオ空間解像度よりも低い可能性がある実際の符号化/復号解像度で記憶される。所与の解像度でコーディングされているピクチャが、時間的予測又はレイヤ間予測について、同じ解像度ではない参照ピクチャを使用するとき、テクスチャの参照ピクチャ再サンプリングが、予測ピクチャと参照ピクチャとが同じ解像度を有するように適用される。実装形態に応じて、再サンプリングプロセスは、必ずしも参照ピクチャ全体に適用されるわけではなく(参照ピクチャ全体再サンプリング)、現在ピクチャの復号及び再構成を実行するときに参照ブロックとして識別されたブロックのみに適用され得る(ブロックベース参照ピクチャ再サンプリング)ことに留意されたい。この場合、現在のピクチャ中の現在のブロックが現在のピクチャとは異なる解像度を有する参照ピクチャを使用するとき、現在のブロックの時間的予測について使用される参照ピクチャ中のサンプルは、現在のピクチャ解像度と参照ピクチャ解像度との間の比として計算された再サンプリング比に従って再サンプリングされる。本明細書の以下では、本発明を説明するために使用される実装形態は、参照ピクチャ全体の再サンプリングの解決策に対応するが、本発明は、当然、ブロックベースの参照ピクチャ再サンプリングの解決策に拡張することができる。
【0005】
いくつかの実装形態では、RPR及び動き補償のステップは、1つの単一サンプル補間ステップに組み合わされる。
【0006】
図1は、RPRツールの適用例を表す。
図1において、ピクチャ4はピクチャ3から時間的に予測される。ピクチャ3は、ピクチャ2から時間的に予測される。ピクチャ2は、ピクチャ1から時間的に予測される。ピクチャ4及びピクチャ3は異なる解像度を有するので、ピクチャ3はピクチャ4の解像度にアップサンプリングされる。ピクチャ3及び2は同じ解像度を有する。時間的予測についてピクチャ2にはアップサンプリングもダウンサンプリングも適用されない。ピクチャ1はピクチャ2よりも大きい。ピクチャ2の時間的予測についてピクチャ1にダウンサンプリングが適用される。いずれの場合も、全てのピクチャは、表示のために同じ解像度でアップサンプリング又はダウンサンプリングされる。
【0007】
RPRを使用する場合のこの設計の問題は、ループ内フィルタリング及びポストフィルタリングが、時間的予測に使用される解像度とは異なる不適切な解像度で適用される可能性があることである。これは、品質の潜在的な損失をもたらし得る。例えば、ピクチャが時間的予測及び/又は表示のためにアップサンプリングされるとき、画像は初期解像度でループ内フィルタリング及びポストフィルタリングされており、次にアップサンプリングされる。ループ内フィルタリング又はポストフィルタリングされたピクチャにアップサンプリングを適用することは、ループ内フィルタリング及びポストフィルタリングによって提供される利益を低減し得る。実際、アップサンプリングは、オブジェクトエッジに対してぼかし効果を有するが、例えば、SAOエッジオフセットは、量子化によって影響を受けたエッジを拡張することを試みる。SAOエッジオフセットがアップサンプリングの後に適用された場合、エッジはより良好に保存されている。同様の問題は、例えばコーディングアーチファクトをマスクするために、ピクチャフィルムグレインを表す復号ピクチャにノイズを加えることからなるポストフィルタリングについて示すことができる。フィルムグレインは、典型的に、関連するパラメータを有するノイズモデルに基づく。パラメータが低減された解像度について計算される場合、復号された解像度で復号されたピクチャに追加される合成されたフィルムグレインのアーティファクトマスキングによる利益は、合成されたフィルムグレインが表示又はレンダリング解像度について導出及び追加される場合ほど良好ではない可能性がある。
【0008】
上記問題を克服することを可能にする解決策を提案することが望ましい。特に、どの解像度にループ内及びポストフィルタリングを適用すべきかをより良く定義することが望ましい。
【発明の概要】
【0009】
第1の態様では、本実施形態のうちの1つ以上が、ピクチャをビデオ符号化するための方法であって、
第1の空間解像度でピクチャを再構成することと
再構成されたピクチャの少なくとも一部に少なくとも1つのループ内フィルタリング及び/又は少なくとも1つのポストフィルタリングを第1の解像度とは異なる第2の空間解像度で適用することが許可されることを指定する情報を表すメタデータをピクチャに関連付けることと、を含む、方法を提供する。
【0010】
第2の態様では、本実施形態のうちの1つ以上が、ピクチャをビデオ復号する方法であって、
第1の空間解像度でピクチャを再構成することと
再構成されたピクチャの少なくとも一部に少なくとも1つのループ内フィルタリング及び/又は少なくとも1つのポストフィルタリングを第1の解像度とは異なる第2の空間解像度で適用することが許可されることを指定する情報を表すピクチャに関連付けられたメタデータを取得することと、を含む、方法を提供する。
【0011】
第3の態様では、本実施形態のうちの1つ以上が、電子回路を備える、ピクチャをビデオ符号化するためのデバイスであって、
第1の空間解像度でピクチャを再構成し、かつ
再構成されたピクチャの少なくとも一部に少なくとも1つのループ内フィルタリング及び/又は少なくとも1つのポストフィルタリングを第1の解像度とは異なる第2の空間解像度で適用することが許可されることを指定する情報を表すメタデータをピクチャに関連付けるように適合されている、デバイスを提供する。
【0012】
第4の態様では、本実施形態のうちの1つ以上が、電子回路を備える、ピクチャをビデオ復号するためのデバイスであって、
第1の空間解像度でピクチャを再構成し、かつ
第1の解像度とは異なる第2の空間解像度で再構成されたピクチャの少なくとも一部に対して少なくとも1つのループ内フィルタリング及び/又は少なくとも1つのポストフィルタリングを適用することが許可されることを指定する情報を表すピクチャに関連付けられたメタデータを取得することと、を含む、方法を提供する。
【0013】
第5の態様では、本実施形態のうちの1つ以上が、第3及び/又は第4の態様によるデバイスを備える装置を提供する。
【0014】
第6の態様では、本実施形態の1つ又は複数が、第1の態様による方法に従って生成されるか、又は第3の態様によるデバイスによって生成されるか、又は第5の態様による装置によって生成されたデータを含む信号を提供する。
【0015】
第7の態様では、本実施形態のうちの1つ以上が、第1の態様による方法を実施するためのプログラムコード命令、又は第2の態様による方法を実施するためのプログラムコード命令を含むコンピュータプログラムを提供する。
【0016】
第8の態様では、本実施形態のうちの1つ以上が、第1の態様による方法を実施するためのプログラムコード命令、又は第2の態様による方法を実施するためのプログラムコード命令を記憶する情報記憶媒体を提供する。
【0017】
一実施形態において、メタデータは、少なくとも1つのループ内フィルタリング及び/又は少なくとも1つのポストフィルタリングの再構成されたピクチャへの適用が推奨される少なくとも1つの空間解像度を指定する。
【0018】
一実施形態において、メタデータは、少なくとも1つのループ内フィルタリング及び/又は少なくとも1つのポストフィルタリングの再構成されたピクチャへの適用が推奨される少なくとも1つの空間解像度範囲を指定する。
【0019】
一実施形態では、メタデータが複数の空間解像度又は空間解像度範囲を指定するとき、メタデータは、各空間解像度又は各解像度範囲に対応するループ内フィルタ及び/又はポストフィルタを更に指定する。
【0020】
一実施形態では、メタデータは、指定された空間解像度又は空間解像度範囲ごとに、品質影響度及び/又は複雑度影響度及び/又はエネルギー影響度を表す情報であって、指定された空間解像度又は空間解像度範囲においてループ内フィルタリング又はポストフィルタリングを適用する情報を更に指定する。
【図面の簡単な説明】
【0021】
【
図1】参照ピクチャ再サンプリングツールのアプリケーションを表す。
【
図2】元のビデオのピクセルのピクチャが受ける分割の例を示す。
【
図3】ビデオストリームを符号化するための方法を概略的に示す。
【
図4】符号化ビデオストリームを復号するための方法を概略的に示す。
【
図5A】実施形態が実装されるビデオストリーミングシステムの例を概略的に示す。
【
図5B】様々な態様及び実施形態が実装される、符号化モジュール又は復号モジュールを実装することができる処理モジュールのハードウェアアーキテクチャの例を概略的に示す。
【
図5C】様々な態様及び実施形態が実施される第1のシステムの一例のブロック図を示す。
【
図5D】様々な態様及び実施形態が実施される第2のシステムの一例のブロック図を示す。
【
図6】デコーダ側でループ内及びポストフィルタリングの空間解像度を適合させる方法の一例を概略的に示す。
【
図7】SEIメッセージに含まれる情報を使用してエンコーダ側で復号及び/又は表示プロセスを制御するための方法を概略的に表す。
【発明を実施するための形態】
【0022】
実施形態の以下の例は、VVCと同様のビデオフォーマットのコンテキストにおいて説明される。しかしながら、これらの実施形態は、VVCに対応するビデオコーディング/復号方法に限定されない。これらの実施形態は、特に、異なる解像度を有するピクチャを含むビデオストリームを生成することを可能にする任意のビデオフォーマットに適合され、ピクチャの再構成された解像度は、その表示解像度又は時間的予測に使用される解像度と異なる可能性がある。そのようなフォーマットは、例えば、規格HEVC、AVC、EVC(Essential Video Coding(エッセンシャルビデオコーディング)/MPEG-5)、AV1、及びVP9を含む。
【0023】
【0024】
図2は、元のビデオ20のピクセル21のピクチャが受ける分割の例を示す。ここでは、ピクセルは、3つの成分、すなわち輝度成分と2つのクロミナンス成分からなると考えられる。しかしながら、他のタイプのピクセルは、輝度成分のみ又は追加の深度成分など、より少ない又はより多い成分を含むことが可能である。
【0025】
ピクチャは、複数のコーディングエンティティに分割される。まず、
図2の参照番号23で示すように、ピクチャがコーディングツリーユニット(coding tree unit、CTU)と呼ばれるブロックのグリッドに等分される。CTUは、ルミナンスサンプルのN×Nブロックと、クロミナンスサンプルの2つの対応するブロックとからなる。Nは、一般に、例えば、「128」の最大値を有する2のべき乗である。第二に、ピクチャは、CTUの1つ以上のグループに分割される。例えば、ピクチャは1つ又は複数のタイル行及びタイル列に分割することができ、タイルはピクチャの矩形領域をカバーするCTUのシーケンスである。場合によっては、タイルを1つ又は複数のブリックに分割することができ、その各々はタイル内の少なくとも1つのCTU行からなる。タイル及びブリックの概念の上には、ピクチャの少なくとも1つのタイル又はタイルの少なくとも1つのブリックを含むことができるスライスと呼ばれる別の符号化エンティティが存在する。
【0026】
図2の例では、参照番号22で示すように、ピクチャ21は、各々が複数のタイル(図示せず)を含むラスタスキャンスライスモードの3つのスライスS1、S2、及びS3に分割され、各タイルは、1つのブリックのみを含む。
【0027】
図1の参照番号24で示すように、CTUは、コーディングユニット(CU)と呼ばれる1つ又は複数のサブブロックの階層ツリーの形態に分割され得る。CTUは、階層ツリーのルート(すなわち、親ノード)であり、複数のCU(すなわち、子ノード)に分割され得る。各CUは、より小さいCUに更に分割されていない場合は階層ツリーのリーフになり、更に分割されている場合はより小さいCU(すなわち、子ノード)の親ノードになる。
【0028】
図1の例では、CTU14は、四分木タイプの分割を使用して、最初に「4」つの方形CUに分割される。左上のCUは、更に分割されていないため、階層ツリーのリーフであり、すなわち、他のCUの親ノードではない。右上のCUは、やはり四分木タイプの分割を使用して、「4」つのより小さい正方形CUに更に分割される。右下のCUは、二分木タイプの分割を使用して「2」つの矩形CUに垂直に分割される。左下のCUは、三分木タイプの分割を使用して「3」つの矩形CUに垂直に分割される。
【0029】
ピクチャのコーディング中、分割は適合的であり、各CTUは、CTU基準の圧縮効率を最適化するように分割される。
【0030】
HEVCでは、予測ユニット(prediction unit、PU)及び変換ユニット(transform unit、TU)の概念が登場した。実際、HEVCでは、予測(すなわち、PU)及び変換(すなわち、TU)に使用される符号化エンティティは、CUの部分であり得る。例えば、
図1に示すように、サイズ2N×2NのCUは、サイズN×2N又はサイズ2N×NのPU 2411に分割することができる。更に、CUは、サイズN×Nの「4」つのTU 2412又はサイズ
【0031】
【数1】
の「16」個のTUに分割することができる。
【0032】
VVCでは、いくつかの特定の場合を除いて、TU及びPUのフロンティアがCUのフロンティアに位置合わせされることに留意されたい。したがって、CUは、一般に、1つのTU及び1つのPUを含む。
【0033】
本出願では、「ブロック」又は「ピクチャブロック」という用語は、CTU、CU、PU、及びTUのうちのいずれか1つを指すために使用することができる。更に、「ブロック」又は「ピクチャブロック」という用語は、H.264/AVC又は他のビデオ符号化規格で指定されているようなマクロブロック、パーティション、及びサブブロックを指すために使用することができ、より一般的には、多数のサイズのサンプルのアレイを指すために使用することができる。
【0034】
本出願では、「再構成された」及び「復号された」という用語は互換的に使用することができ、「ピクセル」及び「サンプル」という用語は互換的に使用することができ、「画像」、「ピクチャ」、「サブピクチャ」、「スライス」、及び「フレーム」という用語は互換的に使用することができる。通常、必ずしもそうではないが、「再構成された」という用語は、エンコーダ側で使用され、一方、「復号された」という用語は、デコーダ側で使用される。
【0035】
図3は、符号化モジュールによって実行されるビデオストリームを符号化するための方法を概略的に示す。符号化のためのこの方法の変形形態が企図されるが、以下では、明確さを目的として、予想される全ての変形形態について説明することなく、
図3の符号化のための方法について説明する。
【0036】
符号化される前に、元のビデオシーケンスの現在の元の画像は、前処理を経てもよい。例えば、ステップ301において、色変換が現在の元のピクチャ(例えば、RGB4:4:4からYCbCr4:2:0への変換)に適用されるか、又は再マッピングが現在の元のピクチャ成分に適用されて、(例えば、色成分のうちの1つのヒストグラム均等化を使用して)圧縮に対してより弾力的な信号分布が得られる。加えて、前処理301は、再サンプリング(ダウンサンプリング又はアップサンプリング)を含み得る。再サンプリングは、生成されたビットストリームが元の解像度のピクチャと別の解像度のピクチャとを含み得るように、いくつかのピクチャに適用され得る。再サンプリングは、一般的にダウンサンプリングからなり、生成されたビットストリームのビットレートを低減するために使用される。それにもかかわらず、アップサンプリングも可能である。前処理によって取得されたピクチャは、以下では前処理済みピクチャと呼ばれる。
【0037】
前処理されたピクチャを符号化することは、
図1に関連して記載したように、ステップ302中に前処理されたピクチャの分割から始まる。したがって、前処理されたピクチャは、CTU、CU、PU、TUなどに分割される。各ブロックについて、符号化モジュールは、イントラ予測とインター予測との間のコーディングモードを判定する。
【0038】
イントラ予測は、イントラ予測方法に従って、ステップ303中に、コーディングされる現在のブロックの因果的近傍に位置する再構成ブロックのピクセルから導出された予測ブロックから現在のブロックのピクセルを予測することからなる。イントラ予測の結果は、近傍のブロックのどのピクセルを使用するかを示す予測方向と、現在のブロックと予測ブロックとの差の計算から生じる残差ブロックである。
【0039】
インター予測は、参照ブロックと呼ばれる、現在のピクチャの前又は後の画像のピクセルのブロックから現在のブロックのピクセルを予測することからなり、このピクチャは参照ピクチャと呼ばれる。インター予測方法による現在のブロックのコーディング中に、類似性基準に従って現在のブロックに最も近い参照ピクチャのブロックが、動き推定ステップ304によって判定される。ステップ304中に、参照ピクチャ内の参照ブロックの位置を示す動きベクトルが決定される。動きベクトルは、動き補償ステップ305中に使用され、その間に残差ブロックは、現在のブロックと参照ブロックとの間の差の形態で計算される。第1のビデオ圧縮規格では、上述した一方向インター予測モードが利用可能な唯一のインターモードであった。ビデオ圧縮標準が進化するにつれて、インターモードのファミリーは著しく成長しており、現在は多くの異なるインターモードを含む。
【0040】
選択ステップ306中に、レート/歪み最適化基準(すなわち、RDO基準)に従って、試験された予測モード(例えば、イントラ予測モード、インター予測モード)の中から圧縮性能を最適化する予測モードが符号化モジュールによって選択される。
【0041】
予測モードが選択されると、残差ブロックはステップ307中に変換され、ステップ309中に量子化される。符号化モジュールは、変換をスキップして、変換されていない残差信号に量子化を直接適用することができることに留意されたい。現在のブロックがイントラ予測モードに従ってコーディングされるとき、予測方向と、変換され量子化された残差ブロックとは、ステップ310中にエントロピーエンコーダによって符号化される。現在のブロックがインター予測に従って符号化されると、適切な場合には、ブロックの動きベクトルは、符号化されるブロックの近くに位置する再構成されたブロックに対応する動きベクトルのセットから選択された予測ベクトルから予測される。次に、動き情報は、ステップ310中にエントロピーエンコーダによって、動き残差と予測ベクトルを識別するためのインデックスとの形態で符号化される。変換され量子化された残差ブロックは、ステップ310中にエントロピーエンコーダによって符号化される。符号化モジュールは、変換及び量子化の両方をバイパスすることができ、すなわちエントロピー符号化は、変換処理又は量子化処理を適用することなく残差に適用されることに留意されたい。エントロピー符号化の結果は、符号化ビデオストリーム311に挿入される。
【0042】
符号化されたビデオストリーム311には、SEI(補足拡張情報)メッセージなどのメタデータを付加することができる。例えば、AVC、HEVC、又はVVCなどの規格において定義されるSEI(補足拡張情報)メッセージは、ビデオストリームに関連付けられ、ビデオストリームに対する情報を提供するメタデータを含むデータコンテナである。
【0043】
いくつかのSEIメッセージは、ポストフィルタリング情報をトランスポートするために定義された。そのようなSEIメッセージの例は、表TAB1に示されている。
【0044】
【0045】
SEIメッセージは、ポストフィルタリングピクチャのためのフィルタを定義することを可能にする。
【0046】
別の例では、文献JVET-R0190(Post-filter hint based on ALF classification,Han Boon Teo,Hai Wei Sun,Chong Soon Lim,Joint Video Experts Team(JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG-11,18 th Meeting:by teleconference,15-24 April 2020)において、ALFをループ内フィルタリングツールのセットからポストフィルタリングツールに移動させることが提案されている。したがって、ALFパラメータを記述するadaptive_loop_filter_controlと呼ばれるSEIメッセージが提案され、表TAB2に表されている。
【0047】
【0048】
すでに上述したように、ポストフィルタリング及びRPR、又はポストフィルタリング及び前処理としてのダウンサンプリング/アップサンプリングが一緒に使用されるときの1つの問題は、ポストフィルタリングが実行されなければならないか又は実行されるべき解像度の指示がないことである。
【0049】
同様に、フィルムグレインSEIは、VVC及び他のコーデックにおいて定義されている。これは、復号ピクチャ内のノイズを再合成すること、例えば、符号化前処理ステップによって除去された可能性がある元のピクチャ内に存在するノイズを近似することを目的とする。フィルムグレインSEIは、フィルムグレイン合成が実行されなければならないか又は実行されるべき解像度に関する情報を含まない。
【0050】
量子化ステップ309の後、現在のブロックは、そのブロックに対応するピクセルが将来の予測に使用され得るように再構成される。この再構成段階は、予測ループとも呼ばれる。したがって、逆量子化は、ステップ312中に変換され量子化された残差ブロックに適用され、ステップ313中に逆変換が適用される。ステップ314中に取得されたブロックに使用される予測モードによって、ブロックの予測ブロックが再構成される。現在のブロックがインター予測モードに従って符号化される場合、符号化モジュールは、適切な場合には、ステップ316中に、現在のブロックの参照ブロックを識別するために、現在のブロックの動きベクトルを使用する動き補償を適用する。現在のブロックがイントラ予測モードに従って符号化される場合、ステップ315中に、現在のブロックに対応する予測方向が、現在のブロックの参照ブロックを再構成するために使用される。再構成された現在のブロックを取得するために、参照ブロック及び再構成された残差ブロックが追加される。
【0051】
再構成後、ステップ317中に、符号化アーチファクトを低減することを意図したループ内ポストフィルタリングが、再構成ブロックに適用される。このフィルタリングは、エンコーダにおいてデコーダと同じ参照画像を取得し、したがって符号化プロセスと復号プロセスとの間のドリフトを回避するために予測ループで行われるので、ループ内ポストフィルタリングと呼ばれる。先に述べたように、ループ内フィルタリングツールは、デブロッキングフィルタリング、SAO及びALFを含む。
【0052】
デブロッキングフィルタリングの目的は、ブロック間の量子化の差によるブロック境界における不連続性を減衰させることである。デブロッキングフィルタリングは、アクティブ化又は非アクティブ化することができ、アクティブ化されたときに、以下で強デブロッキングフィルタ(strong deblocking filter、SDBF)と呼ばれる、6つのフィルタ係数を含む次元を有する分離フィルタに基づく高複雑度デブロッキングフィルタリング、及び以下で弱デブロッキングフィルタ(weak deblocking filter、WDBF)と呼ばれる、4つの係数を含む1つの次元を有する分離フィルタに基づく低複雑度デブロッキングフィルタリングの形をとることができる適合フィルタリングである。SDBFは、元のピクチャに存在する空間的高周波数を損なう可能性があるブロック境界における不連続性を大幅に減衰させる。WDBFは、ブロック境界における不連続性を弱く減衰させ、これにより、元のピクチャに存在する高い空間周波数を保持することが可能になるが、量子化によって人工的に生成された不連続性に対してはあまり有効ではない。フィルタリングするか否かの決定、及びフィルタリングの場合に使用されるフィルタの形式は、とりわけ、フィルタリングされるブロックの境界におけるピクセルの値に依存する。しかしながら、この決定は、再構成されたピクチャの潜在的な再サンプリングを考慮に入れない。このフィルタの後に、デコーダ側でアップサンプリングが行われ、更なる空間高周波数を減衰させる場合に、なぜブロック境界にSDBFを適用するのか疑問に思うかもしれない。
【0053】
デブロッキングフィルタを表すパラメータは、エントロピーコーディングステップ310中に符号化されたビデオストリーム311に導入される。
【0054】
SAOフィルタリングは、2つの異なる目的を有する2つの形態をとる。エッジオフセットと呼ばれる第1の形式の目的は、ブロック内のエッジに対する量子化の影響を補償することである。エッジオフセットによるSAOフィルタリングは、4つのそれぞれのタイプのエッジに対応する4つのカテゴリに従って再構成された画像のピクセルを分類することを含む。ピクセルの分類は、4つのフィルタに従ってフィルタリングすることによって行われ、各フィルタは、フィルタリング勾配を得ることを可能にする。分類基準を最大化するフィルタリング勾配は、ピクセルに対応するエッジのタイプを示す。各タイプのエッジは、SAOフィルタリング中にピクセルに加算されるオフセット値に関連付けられる。この場合もやはり、このフィルタの後に、拡張エッジに影響を及ぼすデコーダ側でのアップサンプリングが続く場合、画像に対してSAOエッジオフセットを適用することが賢明であるのか疑問に思うかもしれない。
【0055】
SAOの第2の形態は、バンドオフセットと呼ばれ、その目的は、値のある範囲(すなわちバンド)に属するピクセルの量子化の影響を補償することである。バンドオフセットフィルタリングでは、8ビットビデオストリームに対して最も頻繁に「0」と「255」との間にあるピクセルの全ての可能な値が、8つの値の32のバンドに分割される。これらの32個のバンドのうち、4つの連続するバンドがオフセットされるように選択される。ピクセルが、オフセットされるべき値の4つのバンドのうちの1つにある値を有するとき、オフセット値がピクセルの値に加算される。
【0056】
SAOフィルタリングを使用する決定、並びに、SAOフィルタリングが使用されるときに、SAOフィルタリングの形式及びオフセット値は、レート/歪み最適化によって符号化プロセス中に各CTUについて決定される。
【0057】
SAOの活性化又は非活性化、及び活性化されたときのSAOの特性を表すパラメータは、エントロピーコーディングステップ310の間に、スライス及びブロックレベルで符号化ビデオストリーム311に導入される。
【0058】
ALFの目的は、ウィナーベースの適合フィルタを使用することによって、元のサンプルと復号されたサンプルとの間の平均二乗誤差を最小化することである(ALFは、他の目的のために使用され得るが、一般に、平均二乗誤差を最小化するためにエンコーダによって調整されることに留意されたい)。ALFは、各ピクチャの最後の処理ステージに配置され、前のステージからのアーチファクトを捕らえて修正するツールとみなすことができる。ALFプロセスは、画像の4×4ブロックごとに「25」個のフィルタの中から1つを選択することからなる。これを行うために、各ブロックは、局所勾配の方向及び活動に基づいて「25」個のカテゴリのうちの1つに分類される。各フィルタは、ダイヤモンド形フィルタから導出される。ALFフィルタパラメータは、アダプティブパラメータセット(APS)においてシグナリングされる。1つのAPSでは、ルーマフィルタ係数及びクリッピング値インデックスの最大「25」個のセット、並びにクロマフィルタ係数及びクリッピング値インデックスの最大8個のセットがシグナリングされ得る。ビットオーバーヘッドを低減するために、ルーマ成分のための異なる分類のフィルタ係数がマージされ得る。スライスヘッダでは、現在のスライスのために使用されるAPSのインデックスがシグナリングされる。
【0059】
スライスヘッダでは、現在のスライスのために使用されるルーマフィルタセットを指定するために、最大「7」個のAPSインデックスがシグナリングされ得る。フィルタリングプロセスは、ブロックレベルで更に制御することができる。ALFがルーマブロックに適用されるかどうかを示すために、フラグが常にシグナリングされる。ルーマブロックは、「16」個の固定フィルタセット及びAPSからのフィルタセットの中からフィルタセットを選択することができる。どのフィルタセットが適用されるかを示すために、ルーマブロックに対してフィルタセットインデックスがシグナリングされる。「16」個の固定フィルタセットは、エンコーダ及びデコーダの両方において予め定義され、ハードコーディングされる。
【0060】
クロマ成分の場合、APSインデックスは、現在のスライスのために使用されているクロマフィルタセットを示すためにスライスヘッダ中でシグナリングされる。ブロックレベルでは、APS中に2つ以上のクロマフィルタセットがある場合、各クロマブロックについてフィルタインデックスがシグナリングされる。
【0061】
この場合もやはり、アーチファクトが再サンプリング段階によって導入される場合、なぜALFを適用してアーチファクトを低減するのか疑問に思うかもしれない。
【0062】
ブロックは、再構成されると、ステップ318中に、DPBに対応する再構成画像のメモリ319に記憶された再構成されたピクチャに挿入される。そのように記憶された再構成画像は、コーディングされる他の画像の参照画像として機能することができる。
【0063】
RPRがアクティブ化されると、DPBに記憶されたピクチャからのサンプル(ピクチャの少なくとも一部)は、動き推定及び補償のために使用されるとき、ステップ320において再サンプリングされる。再サンプリングステップ(320)及び動き補償ステップ(304)は、いくつかの実装形態では、1つの単一サンプル補間ステップに組み合わせられ得る。実際に動き補償を使用する動き推定ステップ(304)は、この場合、単一サンプル補間ステップも使用することに留意されたい。すでに上述したように、ループ内/ポストフィルタリング及びRPRが一緒に使用されるときの1つの問題は、ループ内/ポストフィルタリングが実行されなければならないか又は実行されるべき解像度の指示がないことである。しかしながら、一般的に、ループ内フィルタリングは、再構成の解像度で実行され、このことは、ループ内フィルタリングによって提供される改善を十分に実現することを妨げ得る。
【0064】
図4は、復号モジュールによって実行される、
図3に関連して説明された方法に従って符号化された符号化ビデオストリーム311を復号するための方法を概略的に示す。復号するためのこの方法の変形形態が考えられるが、明確さを目的として、以下では予想される全ての変形形態を記載することなく、
図4の復号するための方法について説明する。
【0065】
復号はブロックごとに行われる。現在のブロックの場合、これはステップ410中に現在のブロックのエントロピー復号から始まる。エントロピー復号は、ブロックの予測モードを取得することを可能にする。
【0066】
ブロックがインター予測モードに従って符号化されている場合、エントロピー復号は、適切な場合には、予測ベクトルインデックス、動き残差、及び残差ブロックを取得することを可能にする。ステップ408中に、予測ベクトルインデックス及び動き残差を使用して、現在のブロックに対して動きベクトルが再構成される。
【0067】
ブロックがイントラ予測モードに従って符号化されている場合、エントロピー復号は、予測方向及び残差ブロックを取得することを可能にする。復号モジュールによって実装されるステップ412、413、414、415、416及び417は、全て、符号化モジュールによって実装されるステップ412、413、414、415、416、及び417とそれぞれ同一である。ステップ418において、復号されたブロックは、復号されたピクチャに保存され、復号されたピクチャは、DPB419に記憶される。復号モジュールが所与のピクチャを復号するとき、DPB419に記憶されたピクチャは、所与のピクチャの符号化中に符号化モジュールによってDPB319に記憶されたピクチャと同一である。復号された画像はまた、例えば表示のために復号モジュールによって出力され得る。RPRが起動されると、参照ピクチャとして使用されるピクチャ(の少なくとも一部)のサンプルは、ステップ420において、エンコーダ側のステップ320と同じ問題を有する予測ピクチャの解像度に再サンプリングされる。再サンプリングステップ(420)及び動き補償ステップ(416)は、いくつかの実装形態では、1つの単一サンプル補間ステップに組み合わせられ得る。
【0068】
復号された画像は更に、ステップ421において後処理を受けることができる。後処理は、逆色変換(例えば、YCbCr 4:2:0からRGB 4:4:4への変換)、ステップ301の前処理において実行された再マッピングプロセスの逆を実行する逆マッピング、例えば、SEIメッセージにおいて提供されるフィルタパラメータに基づいて再構成されたピクチャを改善するためのポストフィルタリング、及び/又は、例えば、出力画像をディスプレイ制約に調整するための再サンプリングを含むことができる。この再サンプリングは、ループ内フィルタリング及びポストフィルタリングによって提供される改善を弱める別の機会である。
【0069】
図5Aは、以下の実施形態が実装され得るコンテキストの例を説明する。
【0070】
図4Aでは、カメラ、記憶デバイス、コンピュータ、サーバ又はビデオストリームを送達することができる任意のデバイスであり得る装置51は、通信チャネル52を使用して、ビデオストリームをシステム53に送信する。ビデオストリームは、装置51によって符号化及び送信されるか、又は装置51によって受信及び/又は記憶され、次いで送信される。通信チャネル52は、有線(例えば、インターネット若しくはイーサネット)又は無線(例えば、WiFi、3G、4G若しくは5G)ネットワークリンクである。
【0071】
例えばセットトップボックスであり得るシステム53は、ビデオストリームを受信して復号し、復号されたピクチャのシーケンスを生成する。
【0072】
次いで、取得された復号されたピクチャのシーケンスは、有線又は無線ネットワークであり得る通信チャネル54を使用して、ディスプレイシステム55に送信される。次に、表示システム55は画像を表示する。
【0073】
一実施形態において、システム53は、ディスプレイシステム55に含まれる。その場合、システム53及びディスプレイ55aは、TV、コンピュータ、タブレット、スマートフォン、ヘッドマウントディスプレイなどに含まれる。
【0074】
図5Bは、異なる態様及び実施形態に従って修正された
図3の符号化方法及び
図4の復号方法をそれぞれ実施することができる符号化モジュール又は復号モジュールを実施することができる処理モジュール500のハードウェアアーキテクチャの一例を概略的に示す。符号化モジュールは、例えば、装置51がビデオストリームの符号化を担当する場合、この装置に含まれる。復号モジュールは、例えば、システム53に含まれる。処理モジュール500は、非限定的な例として、通信バス5005によって接続された、1つ以上のマイクロプロセッサ、汎用コンピュータ、専用コンピュータ、及びマルチコアアーキテクチャに基づくプロセッサを包含するプロセッサ又はCPU(中央処理ユニット)5000と、ランダムアクセスメモリ(random access memory、RAM)5001と、リードオンリーメモリ(ROM)5002と、電気的消去可能プログラマブルリードオンリーメモリ(Electrically Erasable Programmable Read-Only Memory、EEPROM)、リードオンリーメモリ(Read-Only Memory、ROM)、プログラマブルリードオンリーメモリ(Programmable Read-Only Memory、PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM)、スタティックランダムアクセスメモリ(Static Random Access Memory、SRAM)、フラッシュ、磁気ディスクドライブ、並びに/又は光ディスクドライブ、又は、SD(secure digital)(セキュアデジタル)カードリーダ及び/若しくはハードディスクドライブ(hard disc drive、HDD)などの記憶媒体リーダ及び/若しくはネットワークアクセス可能な記憶デバイスを含むがこれらに限定されない不揮発性メモリ及び/若しくは揮発性メモリを含むことができる記憶ユニット5003と、データを他のモジュール、デバイス、又は機器と交換するための少なくとも1つの通信インターフェース5004と、を備える。通信インターフェース5004は、通信チャネルを介してデータを送信及び受信するように構成された送受信機を含むことができるが、それに限定されない。通信インターフェース5004は、モデム又はネットワークカードを含むことができるが、これらに限定されない。
【0075】
処理モジュール500が復号モジュールを実装する場合、通信インターフェース5004は、例えば、処理モジュール500が、符号化されたビデオストリームを受信し、復号されたピクチャのシーケンスを提供することを可能にする。処理モジュール500が符号化モジュールを実装する場合、通信インターフェース5004は、例えば、処理モジュール500が元のピクチャデータのシーケンスを受信して符号化し、符号化されたビデオストリームを提供することを可能にする。
【0076】
プロセッサ5000は、ROM5002、外部メモリ(図示せず)、記憶媒体、又は通信ネットワークからRAM5001にロードされた命令を実行することができる。処理モジュール500の電源が投入されると、プロセッサ5000は、RAM5001から命令を読み出し、それらを実行することができる。これらの命令は、例えば、
図4に関連して説明した復号方法又は
図3に関連して説明した符号化方法のプロセッサ5000によって実施させるコンピュータプログラムを形成し、復号方法及び符号化方法は、本明細書において後述する様々な態様及び実施形態を含む。
【0077】
符号化又は復号方法のアルゴリズム及びステップの全て又は一部は、DSP(digital signal processor)(デジタル信号プロセッサ)又はマイクロコントローラなどのプログラマブルマシンによる命令セットの実行によってソフトウェア形式で実装されてもよく、又はFPGA(field-programmable gate array)(フィールドプログラマブルゲートアレイ)又はASIC(application-specific integrated circuit)(特定用途向け集積回路)などのマシン又は専用コンポーネントによってハードウェア形式で実装されてもよい。
【0078】
図5Dは、様々な態様及び実施形態が実装されているシステム53の一例のブロック図を図示する。システム53は、後述する様々な構成要素を含むデバイスとして具現化することができ、本明細書に記載の態様及び実施形態のうちの1つ以上を実行するように構成される。このようなデバイスの例としては、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、接続型家電、及びヘッドマウントディスプレイなどの様々な電子デバイスが挙げられるが、これらに限定されない。システム53の要素は、単独で又は組み合わせて、1つの集積回路(integrated circuit、IC)、複数のIC、及び/又は別個の構成要素において具体化することができる。例えば、少なくとも1つの実施形態では、システム53は、復号モジュールを実装する1つの処理モジュール500を備える。様々な実施形態では、システム53は、例えば、通信バスを介して、又は専用の入力ポート及び/若しくは出力ポートを通して、1つ以上の他のシステム又は他の電子デバイスに通信可能に結合される。様々な実施形態では、システム53は、本明細書に記載される態様のうちの1つ以上を実装するように構成されている。
【0079】
処理モジュール500への入力は、ブロック531に示すように様々な入力モジュールを介して提供することができる。そのような入力モジュールとしては、(i)例えば、放送局から無線で送信される無線周波数(radio frequency、RF)信号を受信するRFモジュール、(ii)構成要素(component、COMP)入力モジュール(又は一組のCOMP入力モジュール)、(iii)ユニバーサルシリアルバス(Universal Serial Bus、USB)入力モジュール、及び/又は(iv)高精細度マルチメディアインターフェース(High Definition Multimedia Interface、HDMI)入力モジュールが挙げられるが、これらに限定されない。他の実施例には、
図5Dには示されていないが、コンポジットビデオが含まれる。
【0080】
様々な実施形態では、ブロック531の入力モジュールは、当技術分野で知られているように、関連するそれぞれの入力処理要素を有する。例えば、RFモジュールは、(i)所望の周波数を選択する(信号を選択する、又は信号を周波数帯域に帯域制限するとも称される)、(ii)選択された信号をダウンコンバートする、(iii)特定の実施形態で、(例えば)チャネルと称され得る信号周波数帯域を選択するために、再びより狭い周波数帯域に帯域制限する、(iv)ダウンコンバート及び帯域制限された信号を復調する、(v)誤り訂正を実施する、及び(vi)データパケットの所望のストリームを選択するために多重分離する、ために適切な要素と関連付けられ得る。様々な実施形態のRFモジュールは、これらの機能を実行する1つ以上の要素、例えば、周波数セレクタ、信号セレクタ、バンドリミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、エラー訂正器、及びデマルチプレクサを含む。RF部分は、例えば、受信信号をより低い周波数(例えば、中間周波数又はベースバンドに近い周波数)又はベースバンドにダウンコンバートすることを含む、これらの機能のうちの様々な機能を実行するチューナを含むことができる。セットトップボックスの一実施形態では、RFモジュール及びその関連する入力処理要素は、有線(例えば、ケーブル)媒体を介して送信されるRF信号を受信し、所望の周波数帯域にフィルタリング、ダウンコンバート、及び再フィルタリングすることによって周波数選択を実行する。様々な実施形態では、上で説明される(及び他の)要素の順序を並べ替える、これらの要素の一部を削除する、並びに/又は、類似若しくは異なる機能を実行する他の要素を追加する。要素を追加することは、例えば、増幅器及びアナログ-デジタル変換器を挿入するなど、既存の要素間に要素を挿入することを含み得る。様々な実施形態において、RFモジュールは、アンテナを含む。
【0081】
追加的に、USBモジュール及び/又はHDMIモジュールは、システム53をUSB接続及び/又はHDMI接続を介して他の電子デバイスに接続するためのそれぞれのインターフェースプロセッサを含むことができる。入力処理、例えばリード・ソロモン誤り訂正の様々な態様は、例えば、別個の入力処理IC内又は必要に応じて処理モジュール500内で実施することができることを理解すべきである。同様に、USB又はHDMIインターフェース処理の態様は、必要に応じて別個のインターフェースIC内又は処理モジュール500内で実施され得る。復調され、誤り訂正され、逆多重化されたストリームは、処理モジュール500に提供される。
【0082】
システム53の様々な要素は、一体型ハウジング内に設けることができる。一体型ハウジング内で、様々な要素は、適切な接続配置、例えば、IC間(I2C)バス、配線、及びプリント回路基板を含む、当該技術分野で既知の内部バスを使用して、相互接続され、それらの間でデータを送信し得る。例えば、システム53において、処理モジュール500は、バス5005によってシステム53の他の要素に相互接続される。
【0083】
処理モジュール500の通信インターフェース5004は、システム53が通信チャネル52上で通信することを可能にする。上記ですでに説明したように、通信チャネル52は、例えば、有線及び/又は無線媒体内に実装することができる。
【0084】
データは、様々な実施形態では、Wi-Fiネットワーク、例えば、IEEE802.11(IEEEは、米国電気電子技術者協会(Institute of Electrical and Electronics Engineers)を指す)などの無線ネットワークを使用して、システム53にストリーミングされるか、又は別様に提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適合されている通信チャネル52及び通信インターフェース5004上で受信される。これらの実施形態の通信チャネル52は、典型的に、ストリーミングアプリケーション及び他のオーバザトップ通信を可能にするために、インターネットを含む外部ネットワークへのアクセスを提供するアクセスポイント又はルータに接続される。他の実施形態では、入力ブロック531のRF接続を使用して、システム53にストリーミングデータを提供する。上で示されるように、様々な実施形態は、データを非ストリーミングの様式で提供する。追加的に、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラネットワーク又はBluetoothネットワークを使用する。
【0085】
システム53は、ディスプレイシステム55、スピーカ56、及び他の周辺デバイス57を含む様々な出力デバイスに出力信号を提供することができる。様々な実施形態のディスプレイシステム55は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(organic light-emitting diode、OLED)ディスプレイ、湾曲ディスプレイ、及び/又は折り畳み可能なディスプレイのうちの1つ以上を含む。ディスプレイ55は、テレビジョン、タブレット、ラップトップ、携帯電話(移動電話)、ヘッドマウントディスプレイ、又は他のデバイス用とすることができる。ディスプレイシステム55はまた、他のコンポーネントと統合され得るか(例えば、スマートフォンのように)、又は別個に(例えば、ラップトップのための外部モニタ)され得る。他の周辺デバイス57としては、実施形態の様々な実施例において、スタンドアロンデジタルビデオディスク(又はデジタル多用途ディスク)(両方の用語について、digital versatile disc、DVR)、ディスクプレーヤ、ステレオシステム、及び/又は照明システム、のうちの1つ以上が挙げられる。様々な実施形態は、システム53の出力に基づいて機能を提供する1つ以上の周辺デバイス57を使用する。例えば、ディスクプレーヤは、システム53の出力を再生する機能を実行する。
【0086】
様々な実施形態では、制御信号が、システム53と、ディスプレイシステム55、スピーカ56、又は他の周辺デバイス57との間で、AV.Link、家庭用電子制御(Consumer Electronics Control、CEC)、又はユーザ介入の有無にかかわらずデバイス間の制御を可能にする他の通信プロトコルなどのシグナリングを使用して通信される。出力デバイスは、それぞれのインターフェース532、533、及び534を通した専用接続を介してシステム53に通信可能に結合することができる。代替的に、出力デバイスは、通信インターフェース5004を介して通信チャネル52を使用して、又は通信インターフェース5004を介して
図5Aの通信チャネル54に対応する専用通信チャネルを使用して、システム53に接続することができる。ディスプレイシステム55及びスピーカ56は、例えば、テレビなどの電子デバイスにおいてシステム53の他の構成要素と1つの単位に一体化され得る。様々な実施形態において、ディスプレイインターフェース532は、例えば、タイミングコントローラ(timing controller、T Con)チップなどのディスプレイドライバを含む。
【0087】
ディスプレイシステム55及びスピーカ56は、代替的に、他の構成要素のうちの1つ以上から分離することができる。ディスプレイシステム55及びスピーカ56が外部構成要素である様々な実施形態では、例えば、HDMIポート、USBポート、又はCOMP出力を含む専用の出力接続を介して出力信号を提供することができる。
【0088】
図5Cは、様々な態様及び実施形態が実装されているシステム51の一例のブロック図を図示する。システム51は、実施形態53と非常に類似している。システム51は、後述する様々な構成要素を含むデバイスとして具現化することができ、本文献に記載の態様及び実施形態のうちの1つ以上を実行するように構成される。そのようなデバイスの例としては、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、カメラ及びサーバなどの様々な電子デバイスが挙げられるが、これらに限定されない。システム51の要素は、単独で又は組み合わせて、1つの集積回路(integrated circuit、IC)、複数のIC、及び/又は別個の構成要素において具体化することができる。例えば、少なくとも1つの実施形態では、システム51は、符号化モジュールを実装する1つの処理モジュール500を備える。様々な実施形態では、システム51は、例えば、通信バスを介して、又は専用の入力ポート及び/若しくは出力ポートを通して、1つ以上の他のシステム又は他の電子デバイスに通信可能に結合される。様々な実施形態では、システム51は、本明細書に記載される態様のうちの1つ以上を実装するように構成されている。
【0089】
処理モジュール500への入力は、すでに
図5Dに関して説明したブロック531に示すように様々な入力モジュールを介して提供することができる。
【0090】
システム51の様々な要素は、一体型ハウジング内に設けることができる。一体型ハウジング内で、様々な要素は、適切な接続配置、例えば、IC間(I2C)バス、配線、及びプリント回路基板を含む、当該技術分野で既知の内部バスを使用して、相互接続され、それらの間でデータを送信し得る。例えば、システム51において、処理モジュール500は、バス5005によってシステム51の他の要素に相互接続される。
【0091】
処理モジュール500の通信インターフェース5004は、システム500が通信チャネル52上で通信することを可能にする。
【0092】
データは、様々な実施形態では、Wi-Fiネットワーク、例えば、IEEE802.11(IEEEは、米国電気電子技術者協会(Institute of Electrical and Electronics Engineers)を指す)などの無線ネットワークを使用して、システム51にストリーミングされるか、又は別様に提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適合されている通信チャネル52及び通信インターフェース5004上で受信される。これらの実施形態の通信チャネル52は、典型的に、ストリーミングアプリケーション及び他のオーバザトップ通信を可能にするために、インターネットを含む外部ネットワークへのアクセスを提供するアクセスポイント又はルータに接続される。他の実施形態では、入力ブロック531のRF接続を使用して、システム51にストリーミングデータを提供する。
【0093】
上で示されるように、様々な実施形態は、データを非ストリーミングの様式で提供する。追加的に、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラネットワーク又はBluetoothネットワークを使用する。
【0094】
システム51に提供されるデータは、異なるフォーマットで提供することができる。様々な実施形態では、これらのデータは符号化され、AV1、VP9、VVC、HEVC、AVCなどの既知のビデオ圧縮フォーマットに準拠する。様々な実施形態では、これらのデータは、システム51に接続された、又はシステム51に含まれるピクチャ及び/又はオーディオ取得モジュールによって提供される生データである。その場合、処理モジュールは、これらのデータの符号化を担当する。
【0095】
システム51は、システム53などの出力信号を記憶及び/又は復号することができる様々な出力デバイスに出力信号を提供することができる。
【0096】
様々な実装形態は、復号することを含む。本出願で使用される場合、「復号」は、例えば、ディスプレイに適した最終出力を生成するために、受信された符号化されたビデオストリームに対して実行されるプロセスの全て又は一部を包含し得る。様々な実施形態において、このような処理は、例えば、エントロピー復号、逆量子化、逆変換、及び予測など、デコーダによって一般的に実行される処理のうちの1つ以上を含む。様々な実施形態では、そのようなプロセスにはまた、若しくは代替的に、例えば、ループ内フィルタリング又はポストフィルタリングをどの分解能で適用するかを判定するために、本出願に記載される様々な実装形態のデコーダによって実施されるプロセスが含まれる。
【0097】
更なる例として、一実施形態では、「復号」は、ステップ417のループ内フィルタリング及び/又はステップ421の後処理のみを指す。「復号プロセス」という句が、具体的に作業部分集合を指すことを目的とするものであるか、又は全体としてより広範な符号化プロセスを指すことを目的とするものであるかは、具体的な説明の背景に基づいて明らかになり、当業者によって十分に理解されると考えられる。
【0098】
様々な実装形態は、符号化を伴う。「復号」に関する上記の考察と同様に、本出願で使用される場合、「符号化」は、例えば、符号化されたビデオストリームを生成するために入力ビデオシーケンスで実行されるプロセスの全部又は一部を包含し得る。様々な実施形態において、このような処理は、例えば、分割、予測、変換、量子化、及びエントロピー符号化など、エンコーダによって一般的に実行される処理のうちの1つ以上を含む。様々な実施形態では、そのようなプロセスは、更に、又は代替的に、例えば、どの解像度でループ内フィルタリング又はポストフィルタリングを実行するかをデコーダが決定することを可能にする情報を提供するために、本出願で説明する様々な実装形態のエンコーダによって実行されるプロセスを含む。
【0099】
更なる例として、一実施形態では、「符号化」は、量子化(209)及び/又は変換(207)及び/又はループ内フィルタリング(ステップ217)を指す。「符号化プロセス」という句が、具体的に作業部分集合を指すこと目的とするものであるか、又は全体としてより広範な符号化プロセスを指すことを目的とするものであるかは、具体的な説明の背景に基づいて明らかになり、当業者によって十分に理解されると考えられる。
【0100】
本明細書で使用されるシンタックス要素名は、説明上の用語であることに留意されたい。したがって、これらは他のシンタックス要素名の使用を排除するものではない。
【0101】
図がフローチャートとして提示されている場合、その図は対応する装置のブロック図も提供するものと理解されたい。同様に、図がブロック図として提示されている場合、その図は対応する方法/プロセスのフローチャートも提供するものと理解されたい。
【0102】
様々な実施形態は、速度歪み最適化を指す。特に、符号化プロセス中に、レートと歪みとの間のバランス又はトレードオフが通常考慮される。レート歪み最適化は、通常、レートと歪みの加重和であるレート歪み関数を最小化するように定式化される。レート歪み最適化問題を解くには、異なるアプローチがある。例えば、これらのアプローチは、全ての考慮されるモード又はコーディングパラメータ値を含む全ての符号化オプションの広範なテストに基づき得、それらのコーディングコスト、並びにコーディング及び復号後の再構成された信号の関連する歪みの完全な評価を伴う。また、符号化の複雑度を軽減するために、より高速なアプローチ、特に、再構成された信号ではなく、予測又は予測残差信号に基づく近似歪みの計算を使用することもできる。考えられる符号化選択肢の一部のみに対して近似歪みを使用し、他の符号化選択肢に対しては完全な歪みを使用することなどによって、これらの2つの手法の混合を使用することもできる。他の手法では、考えられる符号化選択肢部分集合のみを評価する。より一般的には、多くのアプローチは、最適化を実行するために様々な技術のいずれかを採用するが、最適化は、必ずしもコーディングコスト及び関連する歪みの両方の完全な評価ではない。
【0103】
本明細書に記載の実装形態及び態様は、例えば、方法若しくはプロセス、装置、ソフトウェアプログラム、データストリーム、又は信号において実装することができる。たとえ単一の形態の実装形態の文脈でのみ考察される場合でも(例えば、方法としてのみ考察される)、考察された特徴の実装形態は、他の形態(例えば、装置又はプログラム)でも実装することができる。例えば、適切なハードウェア、ソフトウェア、及びファームウェアにおいて装置を実装することができる。方法は、例えば、プロセッサにおいて実装することができ、プロセッサは、例えば、コンピュータ、マイクロプロセッサ、集積回路、又はプログラマブルロジックデバイスを含む一般的な処理デバイスを指す。プロセッサには、例えば、エンドユーザ間の情報の通信を容易にする、コンピュータ、携帯電話、ポータブル/携帯情報端末(「Personal Digital Assistant、PDA」)などのデバイスなどの通信デバイスも含まれる。
【0104】
「一実施形態」若しくは「ある実施形態」又は「一実装形態」若しくは「ある実装形態」、またそれらの他の変形形態への言及は、その実施形態に関連して説明する特定の特徴、構造、特性などが、少なくとも1つの実施形態に含まれることを意味する。したがって、本出願全体を通して様々な場所に現れる「一実施形態では」若しくは「ある実施形態では」又は「一実装形態では」若しくは「ある実装形態では」、また他の変形形態という句が現れるとき、必ずしも全てが同じ実施形態を指しているのではない。
【0105】
加えて、本出願は、様々な情報を「判定する」ことに言及し得る。情報を決定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、メモリから情報を取得すること、又は、例えば、別のデバイス、モジュール若しくはユーザから情報を取得することのうちの1つ以上を含むことができる。
【0106】
更に、本出願は、様々な情報に「アクセスすること」に言及する場合がある。情報にアクセスすることは、例えば、情報を受信すること、(例えば、メモリから)情報を取得すること、情報を記憶すること、情報を移動すること、情報をコピーすること、情報を計算すること、情報を判定すること、情報を予測すること、又は情報を推定することのうちの1つ以上を含むことができる。
【0107】
加えて、本出願は、様々な情報を「受信すること」に言及する場合がある。受信することは、「アクセスすること」と同様に、広義の用語であることを意図している。情報を受信することは、例えば、情報にアクセスすること、又は(例えば、メモリから)情報を取得することのうちの1つ以上を含むことができる。更に、「受信すること」は、一般には、例えば、情報を記憶する、情報を処理する、情報を送信する、情報を移動する、情報をコピーする、情報を消去する、情報を計算する、情報を判定する、情報を予測する、又は情報を推定するなどの操作時に、何らかの形で関与する。
【0108】
「/」、「及び/又は」、「のうちの少なくとも1つ」、「1つ以上」のいずれかの使用、例えば、「A/B」、「A及び/又はB」、「A及びBのうちの少なくとも1つ」、「A及びBの1つ以上」の場合、最初にリストされた選択肢(A)のみの選択、又は2番目にリストされた選択肢(B)のみの選択、又は両方の選択肢(A及びB)の選択を包含することを意図しているものと理解されたい。更なる例として、「A、B、及び/又はC」及び「A、B、及びCのうちの少なくとも1つ」、「A、B及びCのうちの1つ以上」の場合、このような句は、最初にリストされた選択肢(A)のみの選択、又は2番目にリストされた選択肢(B)のみの選択、又は3番目にリストされた選択肢(C)のみの選択、又は、最初及び2番目にリストされた選択肢(A及びB)のみの選択、又は、最初及び3番目にリストされた選択肢(A及びC)のみの選択、又は、2番目及び3番目にリストされた選択肢(B及びC)のみの選択、又は3つの選択肢(A及びB及びC)全ての選択を包含するように意図されている。このことは、当該技術分野及び関連技術分野の当業者に明らかであるように、リストされたアイテムの数だけ拡張され得る。
【0109】
また、本明細書で使用されるとき、「シグナリングする」という語は、特に、対応するデコーダに対して何かを示すことを意味する。例えば、特定の実施形態では、エンコーダは、いくつかのコーディングツールの使用をシグナリングする。このようにして、実施形態では、エンコーダ側とデコーダ側の両方で、同じパラメータを使用することができる。したがって、例えば、エンコーダは、デコーダが同じ特定のパラメータを使用することができるように、特定のパラメータをデコーダに送信することができる(明確なシグナリング)。これに対し、デコーダがすでにその特定のパラメータと共に他のパラメータも有する場合は、単にデコーダがその特定のパラメータを知ること、及びそれを選択することを可能にするように、送信を行わないシグナリング(暗黙的なシグナリング)を使用することができる。いかなる実際の機能の送信も回避することにより、様々な実施形態において、ビットの節約が実現される。シグナリングは、様々な方法で達成することができることが理解されよう。例えば、1つ以上のシンタックス要素、フラグなどが、様々な実施形態において、対応するデコーダに情報をシグナリングするために使用される。上記は、「信号」という語の動詞形に関連し、「信号」という語は、本明細書では名詞としても使用されることがある。
【0110】
当業者には明白であるように、実装形態は、例えば、格納され得る、又は送信され得る情報を搬送するようにフォーマットされた様々な信号をもたらすことができる。情報は、例えば、方法を実行するための命令、又は説明されている実装形態の1つによって生成されるデータを含むことができる。例えば、説明されている実施形態の符号化されたビデオストリーム及びSEIメッセージを伝えるように信号をフォーマットすることができる。例えば、電磁波として(例えば、スペクトルの無線周波数部分を使用して)、又はベースバンド信号として、このような信号をフォーマットすることができる。フォーマットすることは、例えば、符号化されたビデオストリームを符号化すること、及び符号化ビデオストリームで搬送波を変調することを含むことができる。信号が搬送する情報は、例えば、アナログ情報又はデジタル情報とすることができる。既知であるように、様々な異なる有線リンク又は無線リンク上で信号を送信することができる。信号は、プロセッサ可読媒体に格納することができる。
【0111】
図6は、エンコーダ側でループ内及びポストフィルタリングの空間解像度を適合させるための方法の一例を概略的に示す。
【0112】
図6に関連して説明した方法は、処理モジュール500がシステム51に組み込まれている場合に、この処理モジュールによって実行される。
【0113】
ステップ601において、処理モジュール500は、ステップ301~310及びステップ312~316を適用して、符号化されたビデオストリーム311の一部として現在のピクチャを符号化し、ステップ317において、再構成された現在のピクチャと呼ばれる現在のピクチャの再構成されたバージョンを取得する。再構成された現在のピクチャは、第1の空間解像度で再構成される。動き補償と共に実施されるRPRの場合、ステップ316は、1つの単一サンプル補間ステップにおいて達成されるジョイント再サンプリング及び動き補償とみなすことができる。
【0114】
ステップ602において、処理モジュール500は、以下でフィルタリング解像度メタデータと呼ばれるメタデータを、現在のピクチャに関連付け、フィルタリング解像度メタデータは、第1の空間解像度とは異なる第2の空間解像度で再構成された現在のピクチャの少なくとも一部に少なくとも1つのループ内フィルタリング及び/又は少なくとも1つのポストフィルタリングを適用することが許可されることを指定する情報を表す。
【0115】
上述したように、フィルタリング解像度メタデータは、ループ内フィルタリング、ポストフィルタリング、又はその両方に関係する。1つの特定のケースは、フィルタリング解像度メタデータがループ内フィルタリングに関係するときにエンコーダ側で生じる。実際、その場合、符号化プロセスと復号プロセスとの間の対称性を確保するために、エンコーダは、デコーダと同じループ内フィルタリングを適用しなければならない。したがって、ループ内フィルタリングが関係する場合、ループ内フィルタリングが適用される空間解像度は、フィルタリング解像度メタデータの値に依存する。フィルタリング解像度メタデータが、第2の解像度で少なくとも1つのループ内フィルタリングを適用することが許可されることを示す場合、
図6の方法は、処理モジュール500が少なくとも1つの第2の空間解像度でループ内フィルタリングを適用する追加のステップ603を含む。このステップは、再サンプリングステップの後かつ動き補償ステップの前に、又は再サンプリングステップと動き補償ステップとを別々に適用した後に、又は再サンプリングステップと動き補償ステップとを組み合わせた単一のサンプル補間ステップの後に適用することができる。したがって、
図3を参照すると、この単一サンプル補間ステップは、ステップ305の直後であってステップ308の前に適用される。
【0116】
ステップ602の第1の実施形態では、第1の空間解像度とは異なる少なくとも1つの第2の空間解像度でフィルタリング処理を実行できることを示す情報が、ループ内メタデータ又はフィルタ後メタデータに挿入される。しかしながら、この場合、第2の空間解像度は指定されない。
【0117】
例えば、ステップ602の第1の実施形態の第1の変形例では、表TAB1に示されるSEIメッセージに基づいて、表TAB3に示されるようにシンタックス要素filter_hint_decoded_resolution_recommended_flagが挿入される。
【0118】
【0119】
filter_hint_decoded_resolution_recommended_flagが「1」に等しい場合、SEIメッセージにおいて指定されたポストフィルタが、幅がpic_width_in_luma_samplesに等しく高さがpic_height_in_luma_samplesに等しい再サンプリングされていない復号ピクチャに適用されることが推奨されることを示す。pic_width_in_luma_samplesは、HEVCにおいて定義されているように、ルーマサンプルの単位で復号ピクチャの幅を指定する。pic_height_in_luma_samplesは、HEVCにおいて定義されているように、ルーマサンプルの単位で復号ピクチャの高さを指定する。
【0120】
filter_hint_decoded_resolution_recommended_flagが「0」に等しい場合、ポストフィルタが、再サンプリングされていない復号ピクチャに適用されることが特に推奨されず、幅がpic_width_in_luma_samplesとは異なりかつ/又は高さがpic_height_in_luma_samplesとは異なるピクチャに再サンプリングされた復号ピクチャのバージョンに適用され得ることを示す。
【0121】
ステップ602の第1の実施形態の第2の変形例では、情報は既存のシンタックス要素filter_hint_typeに含まれる。Filter_hint_typeは、HEVCにおいて指定されるように、送信されたフィルタヒントのタイプを識別する。例えば、filter_hint_type値(現在、HEVCにおいて「0」から「2」に定義されている)は、表TAB4に示されているように拡張され得る。
【0122】
【0123】
新しい値は太字で表されている。ポストフィルタリングが再サンプリングされていない復号ピクチャに適用されることが推奨されるかどうかを指定する左列が追加されている。
【0124】
ステップ602の第1の実施形態の第3の変形例では、情報は、文書JVET-R0190で提案されているSEIメッセージadaptive_loop_filter_controlに含まれる。新しいシンタックス要素alf_filter_decoded_resolution_recommended_flagが、表TAB5に示されるように挿入される。
【0125】
【0126】
alf_filter_decoded_resolution_recommended_flagが「1」に等しい場合、SEIメッセージにおいて指定されたALFフィルタが、幅がpic_width_in_luma_samplesに等しく高さがpic_height_in_luma_samplesに等しい再サンプリングされていない復号ピクチャに適用されることが推奨されることを示す。
【0127】
alf_filter_decoded_resolution_recommended_flagが「0」に等しい場合、ALFフィルタが、再サンプリングされていない復号ピクチャに適用されることが特に推奨されず、幅がpic_width_in_luma_samplesとは異なりかつ/又はpic_height_in_luma_samplesとは異なるピクチャに再サンプリングされた復号ピクチャのバージョンに適用され得ることを示す。
【0128】
ステップ602の第1の実施形態の第4の変形例では、情報は、AVC及びHEVCにおいて規定されるSEIメッセージfilm_grain_characteristicsに含まれる。新しいシンタックス要素film_grain_decoded_resolution_recommended_flagが、表TAB6に示されるように挿入される。
【0129】
【0130】
film_grain_decoded_resolution_recommended_flagが「1」に等しい場合、SEIメッセージ中で指定されたフィルムグレインが、幅がpic_width_in_luma_samplesに等しく高さがpic_height_in_luma_samplesに等しい再サンプリングされていない復号ピクチャに適用されることが推奨されることを示す。
【0131】
film_grain_decoded_resolution_recommended_flagが「0」に等しい場合、フィルムグレインが、再サンプリングされていない復号ピクチャに適用されることが特に推奨されず、幅がpic_width_in_luma_samplesとは異なりかつ/又は高さがpic_height_in_luma_samplesとは異なるピクチャに再サンプリングされた復号ピクチャのバージョンに適用され得ることを示す。
【0132】
ステップ602の第1の実施形態の第5の変形例では、情報は、AVC、HEVC、及びVVCの用語でシーケンスパラメータセット(Sequence Parameter Set、SPS)として知られるシーケンスヘッダに含まれる。新たなシンタックス要素sps_decoded_resolution_recommended_for_ilf_flagがSPSに挿入される。代替的に、APSがループ内フィルタパラメータのコンテナであるときに、情報をAPSに追加することができる。
【0133】
sps_decoded_resolution_recommended_for_ilf_flagが「1」に等しい場合、ループ内フィルタが、幅がpic_width_in_luma_samplesに等しく高さがpic_height_in_luma_samplesに等しい再サンプリングされていない復号ピクチャに適用されるように推奨されることを示す。
【0134】
sps_decoded_resolution_recommended_for_ilf_flagが「0」に等しい場合、ループ内フィルタが、再サンプリングされていない復号ピクチャに適用されることが特に推奨されず、幅がpic_width_in_luma_samplesとは異なりかつ/又は高さがpic_height_in_luma_samplesとは異なるピクチャに再サンプリングされた復号ピクチャのバージョンに適用され得ることを示す。
【0135】
同様のシンタックス要素を定義して、各ループ内フィルタを別々に対象とすることもできる。例えば、新たなシンタックス要素sps_decoded_resolution_recommended_for_DBF_flag(それぞれ、sps_decoded_resolution_recommended_for_SAO_flag及びsps_decoded_resolution_recommended_for_ALF_flag)がSPSに挿入される。
【0136】
sps_decoded_resolution_recommended_for_DBF_flag(それぞれsps_decoded_resolution_recommended_for_SAO_flag及びsps_decoded_resolution_recommended_for_ALF_flag)が「1」に等しい場合、デブロッキングフィルタ(それぞれSAO及びALF)が、幅がpic_width_in_luma_samplesに等しく高さがpic_height_in_luma_samplesに等しい再サンプリングされていない復号ピクチャに適用されることが推奨されることを示す。
【0137】
sps_decoded_resolution_recommended_for_DBF_flag(それぞれsps_decoded_resolution_recommended_for_SAO_flag及びsps_decoded_resolution_recommended_for_ALF_flag)は、デブロッキングフィルタ(それぞれSAO及びALF)が「0」に等しい場合、再サンプリングされていない復号ピクチャに適用されることが特に推奨されず、幅がpic_width_in_luma_samplesとは異なり高さが及び/又はpic_height_in_luma_samplesとは異なるピクチャに再サンプリングされた復号ピクチャのバージョンに適用され得ることを示す。
【0138】
その結果、第1の分解能とは異なる第2の分解能でのループ内フィルタリングは、1つのループ内フィルタに対しては許可されるが、別のループ内フィルタに対しては禁止され得る。
【0139】
表記の簡略化のためにrecommended_decoded_resolution_for_ilfの下に記されるこれらのシンタックス要素(sps_decoded_resolution_recommended_for_ilf_flag、sps_decoded_resolution_recommended_for_DBF_flag、sps_decoded_resolution_recommended_for_SOA_flag、又はsps_decoded_resolution_recommended_for_ALF_flag)のうちの少なくとも1つの値に基づいて、ステップ603中に、処理モジュール500は、どの解像度でループ内フィルタリングを実行するかを決定する。
【0140】
図8は、ステップ603の実施形態の例を概略的に示す。
【0141】
この例では、再構成された現在のピクチャは、ループ内フィルタリングの前の現在のピクチャの再構成されたバージョンである。したがって、ステップ603は、ステップ316/315とステップ317との間に実行される。
【0142】
ステップ6031において、処理モジュール500は、シンタックス要素recommended_decoded_resolution_for_ilfの値をチェックする。
【0143】
シンタックス要素recommended_decoded_resolution_for_ilfが真に等しい場合、処理モジュール500はステップ6034を実行し、ループ内フィルタリングが、再構成された現在のピクチャに第1の空間解像度で適用される。次いで、ループ内フィルタリングされた再構成された現在のピクチャは、DPBに記憶される。
【0144】
ステップ6035において、ループ内フィルタリングされた再構成された現在のピクチャが時間的予測のための参照ピクチャとして使用されるとき、処理モジュール500は、ループ内フィルタリングされた再構成された現在のピクチャにターゲット解像度での再サンプリングを適用する。ターゲット解像度は、DPB319に記憶されたループ内フィルタリングされた再構成された現在ピクチャから時間的に予測されたピクチャの空間解像度に対応する。ステップ6035は、ターゲット解像度が、ループ内フィルタリングされた再構成された現在のピクチャの空間解像度と異なる場合にのみ適用される。再サンプリングは、ピクチャ全体に対して、又は現在のピクチャのブロックに対する動き補償に必要なサンプルのみに対して、これらのサンプルを参照として使用して達成することができる。いくつかの実装形態では、再サンプリング及び動き補償は、1つの単一サンプル補間ステップにおいて一緒に適用される。
【0145】
recommended_decoded_resolution_for_ilfが偽に等しい場合、ステップ6032において、処理モジュール500は、どの空間解像度でループ内フィルタリングを適用するかを判定する。
【0146】
ステップ6033の間、第1の解像度とは異なる判定された空間解像度ごとに、処理モジュール500は、空間解像度で再構成された現在のピクチャを再サンプリングして、再サンプリングされた再構成された現在のピクチャを取得する。判定された空間解像度は、第1の空間解像度とは異なる少なくとも1つの第2の空間解像度を含む。
【0147】
ステップ6034において、少なくとも判定された第2の空間解像度ごとに、処理モジュールは、第2の空間解像度に対応するピクチャにループ内フィルタリングを適用する。各ループ内フィルタリングされたピクチャは、次いで、DPBに記憶される。
【0148】
ステップ6035の間、ステップ6034の間に生成されたループ内フィルタリングされたピクチャのうちの1つが時間的予測のための参照ピクチャとして使用されるとき、処理モジュール500は、ループ内フィルタリングされた再構成された現在のピクチャのサンプルにターゲット解像度での再サンプリングを適用する。ここでも、ステップ6035は、ターゲット解像度が、ループ内フィルタリングされた再構成された現在のピクチャの空間解像度と異なる場合にのみ適用される。再サンプリングは、ピクチャ全体に対して、又は現在のピクチャのブロックに対する動き補償に必要なサンプルのみに対して、これらのサンプルを参照として使用して達成することができる。いくつかの実装形態では、再サンプリング及び動き補償は、単一のサンプル補間ステップにおいて一緒に適用される。
【0149】
いくつかの実装形態では、時間的予測のための参照ピクチャとして使用されるループ内フィルタリングされた各ピクチャをDPBに記憶する必要はなく、ループ内フィルタは、再サンプリングステップの後にオンザフライで適用されるか、又は動き補償ステップの後にオンザフライで適用されるか、又は再サンプリング及び動き補償が1つの単一サンプル補間ステップにおいて一緒に達成されるときには単一サンプル補間ステップの後にオンザフライで適用され得る。
【0150】
上記から分かるように、recommended_decoded_resolution_for_ilfが偽に等しいとき、すなわち、第1の空間解像度とは異なる第2の空間解像度でのループ内フィルタの適用が許可されるとき、処理モジュール500は、同じ現在のピクチャについていくつかのループ内フィルタリングされた再構成されたピクチャを生成し得る。各ループフィルタリングされた再構成された現在のピクチャは、それ自体のループ内フィルタパラメータ(デブロッキングフィルタパラメータ、SAOパラメータ、ALFパラメータ)に関連付けられる。その結果、符号化されたビデオストリーム311は、デコーダがそれ自体のDPB内の同じピクチャを正確に再構成することができるように、ループ内フィルタパラメータのいくつかのセットを含む。代替的に、異なる解像度で複数のピクチャを記憶する代わりに、復号された解像度で1つの単一のピクチャが記憶され得、DPBに記憶されたピクチャが参照ピクチャとして使用されるとき、様々な解像度での再サンプリング及びループ内フィルタがオンザフライで適用され得る。再サンプリング及び動き補償が1つの単一サンプル補間ステップにおいて組み合わされる実装形態では、ループ内フィルタリングは、好ましくは、1つの単一サンプル補間ステップの後に適用される。
【0151】
一例では、シンタックス要素recommended_decoded_resolution_for_ilfは、シンタックス要素sps_decoded_resolution_recommended_for_ilf_flagに対応する。sps_decoded_resolution_recommended_for_ilf_flagは、ビデオシーケンスが第1の解像度のピクチャ及び第2の解像度のピクチャを用いて符号化され、RPRが有効であるときに「0」に設定される。
【0152】
この場合、ステップ6031の後にステップ6032が続く。
【0153】
ステップ6032の間に、処理モジュール500が、現在のピクチャを符号化するときに、この現在のピクチャが別のピクチャによって参照ピクチャとして使用されるかどうかを知らず、かつ現在のピクチャが別のピクチャによって参照ピクチャとして使用される場合に、現在のピクチャを参照ピクチャとして使用するピクチャの解像度がどんな解像度であるかを知らないと仮定すると、現在のピクチャは、潜在的に第1又は第2の空間解像度で参照ピクチャとして使用することができる。その結果、処理モジュール500は、再構成された現在のピクチャにループ内フィルタを第2の解像度だけでなく第1の解像度でも適用する必要があると判定する。そうするために、再構成された現在のピクチャは、ステップ6033において第2の空間解像度で再サンプリングされる。このステップは、いくつかの実装形態では、動き補償ステップと組み合わせて、単一のサンプル補間ステップにすることができる。ステップ6034において、ループ内フィルタリングが、再構成された現在のピクチャに第1の解像度で適用され、再サンプリングされた再構成された現在のピクチャに第2の解像度で適用される。現在のピクチャに対して2つのピクチャがDPB319に記憶され、一方のピクチャは、第1の空間解像度におけるループ内フィルタリングされた再構成された現在のピクチャに対応し、第2のピクチャは、第2の空間解像度におけるループ内フィルタリングされた再構成された現在のピクチャに対応する。代替的に、第1及び第2の空間解像度で複数のピクチャを記憶する代わりに、第1の空間解像度で1つの単一ピクチャを記憶することができ、DPBに記憶されたピクチャが、第2の空間解像度に等しい解像度を有する現在のピクチャのための参照ピクチャとして使用されるとき、第2の空間解像度での再サンプリング及びループ内フィルタをオンザフライで適用することができる。再サンプリング及び動き補償が1つの単一サンプル補間ステップにおいて組み合わされる実装形態では、第2の空間解像度におけるループ内フィルタリングは、好ましくは、1つの単一サンプル補間ステップの後に適用される。次に、ループ内フィルタリングパラメータの2つのセットが取得され、現在のピクチャの符号化されたビデオストリーム内にシグナリングされる。第1の空間解像度における次のピクチャが現在のピクチャを参照ピクチャとして使用するとき、DPB319に記憶された第1の空間解像度におけるループ内フィルタリングされた再構成された現在のピクチャが使用される。第2の空間解像度における次のピクチャが現在のピクチャを参照ピクチャとして使用するとき、DPB319に記憶された第2の空間解像度におけるループ内フィルタリングされた再構成された現在のピクチャが使用される。
【0154】
一実施形態では、同じ現在のピクチャのいくつかのバージョンをDPBに記憶することを回避するために、ステップ6033(再サンプリング)及び6034(ループ内フィルタリング)は、次のピクチャのブロックが現在のピクチャのブロックを参照する動き推定(ステップ304)及び動き補償(ステップ305)ステップの実行中にのみ処理モジュール500によって実行される。再サンプリングのステップ(6033)及び動き補償のステップは、いくつかの実装形態では、単一のサンプル補間ステップに組み合わせることができる。この場合、ステップ6034(ループ内フィルタリング)は、この単一サンプル補間ステップの後に適用される。
【0155】
ステップ6032の実施形態では、処理モジュール500は、ループ内フィルタリングが適用される空間解像度をシステム53に関する情報の関数として判定する。この情報は、例えば、システム53の利用可能なコンピューティングリソース、システム53の利用可能なストレージリソース、システム53のバッテリエネルギーレベル、システム53に接続又は組み込まれたディスプレイの空間解像度、システム53上の利用可能な帯域幅などを表す情報を含む。
【0156】
ステップ602の第2の実施形態では、ループ内フィルタリング及び/又はポストフィルタリングを適用するための推奨解像度を表す情報が、ループ内フィルタリング及び/又はポストフィルタリングメタデータに挿入される。例えば、シンタックス要素filter_hint_recommended_width及びfilter_hint_recommended_heightは、表TAB6に表されているようにpost_filter_hintSEIメッセージに挿入される。
【0157】
【0158】
filter_hint_recommended_widthは、ポストフィルタが適用されることが推奨されるピクチャ幅を指定する。
【0159】
filter_hint_recommended_heightは、ポストフィルタが適用されることが推奨されるピクチャ高さを指定する。
【0160】
復号されたピクチャ幅がfilter_hint_recommended_widthに等しくないか、又は復号されたピクチャ高さがfilter_hint_recommended_heightに等しくない場合、ピクチャにポストフィルタリングを適用する前に、復号されたピクチャを再サンプリングして、幅がfilter_hint_recommended_widthに等しく高さがfilter_hint_recommended_heightに等しい再サンプリングされたピクチャを生成することが推奨される。
【0161】
ステップ602の第3の実施形態では、1つの解像度を推奨する代わりに、ループ内フィルタリング及び/又はポストフィルタリングを適用するための推奨解像度範囲を表す情報が、ループ内フィルタリング及び/又はポストフィルタリングメタデータに挿入される。例えば、シンタックス要素filter_hint_recommended_width[]及びfilter_hint_recommended_height[]は、表TAB7に表されているようにpost_filter_hintSEIメッセージに挿入される。
【0162】
【0163】
ステップ602のこの第3の実施形態では、ポストフィルタリングは、幅がfilter_hint_recommended_width[0]以上でfilter_hint_recommended_width[1]以下であり、高さがfilter_hint_recommended_height[0]以上でfilter_hint_recommended_height[1]以下であることを特徴とする解像度で復号されたピクチャに適用されることが推奨される。
【0164】
ステップ602の第4の実施形態では、複数の推奨解像度又は解像度範囲、並びに対応するループ内フィルタ(ループ内フィルタパラメータによって表される)及び/又はポストフィルタを表す情報が、ループ内フィルタリング及び/又はポストフィルタリングメタデータに挿入される。例えば、ステップ602の第4の実施形態の第1の変形形態では、シンタックス要素filter_hint_number_filters_minus1、filter_hint_recommended_width[]及びfilter_hint_recommended_height[]が、表TAB8に表されているようにpost_filter_hintSEIメッセージに挿入される。
【0165】
【0166】
filter_hint_number_filters_minus1は、post_filter_hintSEIメッセージ中でシグナリングされるフィルタの数を指定する。フィルタの数は、filter_hint_number_filters_minus1+1として導出される。
【0167】
filter_hint_recommended_width[fIdx]は、インデックスfIdxのポストフィルタが適用されることが推奨されるピクチャ幅を指定する。
【0168】
filter_hint_recommended_height[fIdx]は、インデックスfIDxのポストフィルタが適用されることが推奨されるピクチャ高さを指定する。
【0169】
一実施形態では、fIdxの値を大きくする場合、filter_hint_recommended_width[fIdx]及びfilter_hint_recommended_height[fIdx]を小さい順にシグナリングすることが必須である。
【0170】
ステップ602の第4の実施形態の第2の変形例では、フィルタfIdxごとに解像度の範囲が以下のように定義される。
【0171】
fIdx=0~filter_hint_number_filters_minus1-1の場合、それぞれ、範囲[filter_hint_recommended_width[fIdx]、filter_hint_recommended_width[fIdx+1][及び[filter_hint_recommended_height[fIdx]、filter_hint_recommended_height[fIdx+1]]内の幅及び高さについてフィルタfIdxを適用することが推奨される。
【0172】
fIdx=filter_hint_number_filters_minus1の場合、それぞれfilter_hint_recommended_width[fIdx]及び[filter_hint_recommended_height[fIdx]以上の幅及び高さに対してフィルタfIDxを適用することが推奨される。
【0173】
ステップ602の第5の実施形態では、指定された空間解像度又は空間解像度範囲でループ内フィルタリング又はポストフィルタリングを適用することの品質影響度及び/又は複雑度影響度及び/又はエネルギー影響度を表す情報が、ループ内フィルタリング及び/又はポストフィルタリングメタデータの場合と同様に追加される。いくつかのフィルタがいくつかの解像度についてシグナリングされるとき、品質影響度及び/又は複雑度影響度及び/又はエネルギー影響度を表す情報が各フィルタについてシグナリングされる。
【0174】
例えば、シンタックス要素filter_hint_delta_quality,filter_hint_delta_complexity及びfilter_hint_delta_energyは、表TAB9に表されているように、表TAB8のpost_filter_hintSEIメッセージに挿入される。
【0175】
【0176】
パラメータfilter_hint_delta_quality[fIdx]は、フィルタを適用する前に、initial_qualityという名称の初期品質メトリック及びdelta_qualityという名称の品質変動(又は上記の例におけるfilter_hint_delta_quality)の関数f(.)としてfinal_qualityという名称のインデックスのフィルタfIDxを適用した後に取得される品質メトリックを評価するために使用される。final_quality=f(initial_quality,delta_quality)
関数f(.)の例を以下に示す。
・ 加法関数:final_quality=initial_quality+delta_quality。
・ 乗法関数:final_quality=initial_quality×delta_quality。
【0177】
同様のプロセスを、複雑度及びエネルギーメトリックに適用することができる。
【0178】
ステップ602の第5の実施形態の変形例では、1つの単一フィルタがシグナリングされるとき、異なるピクチャ解像度について異なる品質、複雑度、エネルギー情報がシグナリングされる。
【0179】
ステップ602の第2、第3、第4及び第5の実施形態に関連して説明されたシンタックス要素は、ポストフィルタリングのみに関する。ステップ602の第6の実施形態では、ループ内フィルタリングのために同様のシンタックス要素を導出することができる。例えば、新しいAPSタイプILF_RES_APSは、以下の情報を指定するシンタックス要素をトランスポートするために定義される。
・ ループ内フィルタリングを適用するための推奨解像度を表す情報と、
・ ループ内フィルタリングを適用するための解像度の推奨範囲を表す情報と、
・ 複数の推奨解像度又は解像度範囲及び対応するフィルタを表す情報と、若しくは
・ 所与の解像度でループ内フィルタを適用することの品質影響度及び/又は複雑度影響及び/又はエネルギー影響度を表す情報。
【0180】
更に、シンタックス要素ilf_res_dataが定義される。表TAB10は、タイプILF_RES_APSのAPSが、ループ内フィルタリングを適用するための推奨解像度を表す情報を提供するときのシンタックス要素ilf_res_dataの例を表す。
【0181】
【0182】
ilf_filter_recommended_widthは、ループ内フィルタが適用されることが推奨されるピクチャ幅を指定する。
【0183】
ilf_filter_recommended_heightは、ループ内フィルタが適用されることが推奨されるピクチャ高さを指定する。
【0184】
ステップ602の第6の実施形態では、タイプILF_RES_APSのAPSは、全てのループ内フィルタを同一にアドレス指定する。変形例において、APSは、各ループ内フィルタについて別々に定義され得る。
【0185】
図8の方法の実装形態は、第6の実施形態、特にステップ6032についてわずかに異なる。
【0186】
例えば、タイプILF_RES_APSのAPSによってトランスポートされるシンタックス要素が、ループ内フィルタが適用されることが推奨されるピクチャ幅及びピクチャ高さを指定するとき、ステップ6032において、処理モジュール500は、その空間解像度がタイプILF_REC_APSのAPSにおいて指定された空間解像度に対応しない場合、再構成された現在のピクチャが再サンプリングされる必要があると決定することができる。再構成された現在のピクチャは、ステップ6033において推奨される解像度で再サンプリングされ、次いでステップ6034においてループ内フィルタリングされる。ステップ6033は、いくつかの実装形態では、再サンプリングステップ及び動き補償ステップを1つの単一サンプル補間ステップに組み合わせることができることに留意されたい。
【0187】
タイプILF_RES_APSのAPSによってトランスポートされるシンタックス要素が、ループ内フィルタが適用されることが推奨されるピクチャ幅範囲及びピクチャ高さ範囲を指定するとき、ステップ6032において、処理モジュール500は、その空間解像度がタイプILF_REC_APSのAPSにおいて指定された空間解像度範囲に適合しない場合、再構成された現在のピクチャを再サンプリングする必要があると決定することができる。再構成された現在のピクチャは、ステップ6033において推奨される解像度範囲に適合する解像度で再サンプリングされ、次いでステップ6034においてループ内フィルタリングされる。
【0188】
タイプILF_RES_APSのAPSによってトランスポートされるシンタックス要素が、ループ内フィルタが適用されることが推奨される複数のピクチャ幅又はピクチャ幅範囲及びピクチャ高さ又はピクチャ高さ範囲を指定するとき、ステップ6032において、処理モジュール500は、再構成された現在のピクチャを再サンプリングする必要があると決定することができる。ステップ6033成された現在のピクチャは、ステップにおいて、各推奨解像度で再サンプリングされるか、又は各推奨解像度範囲に適合する複数の解像度で再サンプリングされる。次に、ステップ6034において、再サンプリングされ再構成された現在のピクチャの各々にループ内フィルタリングが適用される。
【0189】
図7は、デコーダ側でループ内及びポストフィルタリングの空間解像度を適合させるための方法の一例を概略的に示す。
【0190】
図7に関連して説明した方法は、処理モジュール500がシステム53に組み込まれているときに、この処理モジュールによって実行される。
【0191】
ステップ701において、処理モジュール500は、符号化されたビデオストリーム311の一部にステップ410~416を適用し、ステップ317において、再構成された現在のピクチャと呼ばれる、現在のピクチャの再構成されたバージョンを取得する。再構成された現在のピクチャは、第1の空間解像度で再構成される。
【0192】
ステップ702において、処理モジュール500は、符号化されたビデオストリームからフィルタリング解像度メタデータと呼ばれるメタデータを取得し、このメタデータは、再構成されたピクチャの少なくとも一部に少なくとも1つのループ内フィルタリング及び/又は少なくとも1つのポストフィルタリングを第1の空間解像度とは異なる第2の空間解像度で適用することが許可されることを指定する情報を表す。
【0193】
ステップ703において、処理モジュールは、フィルタリング解像度メタデータの関数としてフィルタリングに応じてループ内フィルタリング及び/又はポストフィルタリングを適用する。
【0194】
ステップ702の第1の実施形態では、第1の空間解像度とは異なる少なくとも1つの第2の空間解像度でフィルタリングプロセスを実行できることを示す情報が、ループ内又はフィルタ後メタデータから取得される。しかしながら、この場合、第2の空間解像度は指定されない。
【0195】
ステップ702の第1の実施形態の第1の変形例では、この情報は、ステップ602の第1の実施形態の第1の変形例に関連して説明したシンタックス要素filter_hint_decoded_resolution_recommended_flagである。
【0196】
ステップ702の第1の実施形態の第2の変形例では、情報は、ステップ702の第1の実施形態の第2の変形例で説明したように、シンタックス要素filter_hint_typeから取得される。
【0197】
ステップ702の第1の実施形態の第3の変形例において、情報は、ステップ602の第1の実施形態の第3の変形例に関連して説明したように、文献JVET-R0190において提案されているSEIメッセージadaptive_loop_filter_controlから取得される。
【0198】
ステップ702の第1の実施形態の第4の変形例では、情報は、ステップ602の第1の実施形態の第4の変形例に関連して説明したように、シンタックス要素sps_decoded_resolution_recommended_for_ilf_flag又はsps_decoded_resolution_recommended_for_DBF_flag又はsps_decoded_resolution_recommended_for_SAO_flag、
sps_decoded_resolution_recommended_for_ALF_flagからのSPSから取得される。
【0199】
ステップ702の第1の実施形態の4つの変形例に関連して説明したシンタックス要素のうちの少なくとも1つの値、以下では表記の簡略化のためにrecommended_decoded_resolutionと示す値に基づいて、ステップ703において、処理モジュール500は、recommended_decoded_resolutionの値の関数としてループ内フィルタリング及び/又はポストフィルタリングを適用する。
【0200】
図9は、ステップ703の実施形態の例を概略的に示す。
【0201】
ステップ7031において、処理モジュール500は、シンタックス要素recommended_decoded_resolutionの値をチェックする。
【0202】
シンタックス要素recommended_decoded_resolutionが真に等しい場合、処理モジュール500は、ステップ7037を実行し、その間、ループ内フィルタリング及びポストフィルタリングが、再構成された現在のピクチャに第1の空間解像度で適用される。ループ内フィルタリングされた再構成された現在のピクチャは、DPBに記憶される。ポストフィルタリングは、ループ内フィルタリングされた再構成された現在のピクチャに適用される。
【0203】
ステップ7038において、ループ内フィルタリングされた再構成された現在のピクチャが時間的予測のための参照ピクチャとして使用されるとき、処理モジュール500は、ターゲット解像度での再サンプリングをループ内フィルタリングされた再構成された現在のピクチャに適用する。ターゲット解像度は、DPB419に記憶されたループ内フィルタリングされた再構成された現在ピクチャから時間的に予測されたピクチャの空間解像度に対応する。ステップ7038は、ターゲット解像度が、ループ内フィルタリングされた再構成された現在のピクチャの空間解像度と異なる場合にのみ適用される。ターゲット解像度への再サンプリングはまた、例えば、ピクチャの空間解像度がディスプレイによって受け入れられる解像度に対応しない場合、ループ内フィルタリングされた再構成された現在のピクチャの後処理から生じるピクチャに適用され得る。
【0204】
上記から分かるように、recommended_decoded_resolutionが真に等しいとき、処理モジュール500は、通常の復号プロセスを適用する。ステップ7037は、
図4のステップ417及び421に対応する。
【0205】
recommended_decoded_resolutionが偽に等しい場合、ステップ7032において、処理モジュール500は、ループ内フィルタリング及びポストフィルタリングをどの空間解像度で適用するかを判定する。判定された空間解像度は、第1の空間解像度とは異なる少なくとも1つの第2の空間解像度を含む。
【0206】
ステップ7033の間、ループ内フィルタリングについて判定された第2の空間解像度ごとに、処理モジュール500は、再構成された現在のピクチャを第2の空間解像度で再サンプリングして、再サンプリングされた再構成された現在のピクチャを取得する。再サンプリングは、ピクチャ全体に対して、又は現在のピクチャのブロックに対する動き補償に必要なサンプルのみに対して、これらのサンプルを参照として使用して達成することができる。いくつかの実装形態では、再サンプリング及び動き補償は、1つの単一サンプル補間ステップにおいて一緒に適用される。
【0207】
ステップ7034において、少なくともループ内フィルタリングについて判定された第2の空間解像度ごとに、処理モジュールは、符号化されたビデオストリーム311においてシグナリングされるループ内パラメータを使用して、第2の空間解像度に対応するピクチャにループ内フィルタリングを適用する。ループ内フィルタリングされた各ピクチャは、次いで、DPB419に記憶される。現在のピクチャについてDPB419に記憶されたループ内フィルタリングされた再構成された現在のピクチャは、同じ現在のピクチャについてDPB319に記憶されたループ内フィルタリングされた再構成された現在のピクチャと同一である。いくつかの実装形態では、時間的予測のための参照ピクチャとして使用されるループ内フィルタリングされた各ピクチャをDPBに記憶する必要はなく、ループ内フィルタは、再サンプリングステップの後にオンザフライで適用されるか、又は動き補償ステップの後にオンザフライで適用されるか、又は再サンプリング及び動き補償が1つの単一サンプル補間ステップにおいて一緒に達成されるときには単一サンプル補間ステップの後にオンザフライで適用され得る。
【0208】
ステップ7035において、ステップ7034の間に生成されたループ内フィルタリングされた再構成された現在のピクチャのいずれも、ステップ7032においてポストフィルタリングを適用するために判定された第2の空間解像度に対応する空間解像度を有さない場合、ステップ7035において、第2の空間解像度への再サンプリングが、ポストフィルタリングされた再構成された現在のピクチャのうちの1つに適用される。例えば、再サンプリングは、ポストフィルタリングを適用するために判定された第2の空間解像度に最も近い空間解像度を有するポストフィルタリングされた再構成された現在のピクチャに適用される。
【0209】
ステップ7036において、ステップ7034で生成されたループ内フィルタリングされた再構成された現在のピクチャのうちの1つが、ポストフィルタリングを適用するために判定された第2の空間解像度に対応する空間解像度を有する場合には、これらのピクチャのうちの1つにポストフィルタリングが適用され、そうでない場合には、ステップ7035で生成されたピクチャにポストフィルタリングが適用される。
【0210】
ステップ7038の間、必要であれば、ステップ7034から得られるループ内フィルタリングされた再構成された現在のピクチャ、又はステップ7036から得られるポストフィルタリングされたピクチャのいずれか1つに再サンプリングが適用されてもよい。現在のピクチャが次のピクチャの時間的予測のための参照ピクチャとして使用されるが、DPB419に記憶されたループ内フィルタリングされた再構成された現在のピクチャのいずれも、次のピクチャの空間解像度に対応する空間解像度を有さない場合、ループ内フィルタリングされた再構成された現在のピクチャの再サンプリングが必要であり得る。ポストフィルタリングされたピクチャの再サンプリングは、例えば、ポストフィルタリングされたピクチャの空間解像度がディスプレイによって許可される解像度に対応しない場合に必要となり得る。
【0211】
上記から分かるように、recommended_decoded_resolutionが偽に等しいとき、ステップ7032、7033、及び7034がステップ417に取って代わり、ステップ7035及び7036がステップ421に取って代わる。
【0212】
一例では、シンタックス要素recommended_decoded_resolutionは、再構成されたピクチャにループ内フィルタリング及びポストフィルタリングを第1の解像度とは異なる第2の解像度で適用することが、全てのループ内フィルタリングツール及びポストフィルタリングツールに対して許可されることを指定する。更に、簡単にするために、符号化ビデオシーケンス311内の時間的予測を使用して符号化された全てのピクチャは、表示順で直前のピクチャからのみ時間的予測されたPピクチャである。更に、画像が1つおきに第1の空間解像度で符号化され、他の画像は第2の空間解像度で符号化され、第2の空間解像度は第1の空間解像度より大きい。最後に、デコーダは、符号化されたビデオシーケンス311の上記特性を知っていると仮定する。その結果、符号化されたビデオシーケンス311の現在のピクチャを復号するとき、デコーダ(すなわち、デコーダを実装する処理モジュール500)は、時間的予測のための参照ピクチャとしてこの現在のピクチャを使用して、ピクチャの空間解像度を正確に知る。
【0213】
この場合、ステップ7031の後にステップ7032が続く。
【0214】
ステップ7032の間に、処理モジュール500は、再構成された現在のピクチャの空間解像度が、再構成された現在のピクチャから予測される次のピクチャの空間解像度と異なることを知る。再構成された現在のピクチャが第1の空間解像度である場合、処理モジュール500は、再構成された現在のピクチャが、ループ内フィルタリングのために第2の空間解像度にアップサンプリングされる必要があると判定する。再構成された現在のピクチャが第2の空間解像度である場合、処理モジュール500は、再構成された現在のピクチャが、ループ内フィルタリングのために第1の空間解像度にダウンサンプリングされる必要があると判定する。
【0215】
ステップ7033において、再構成された現在のピクチャは、ステップ7032において判定された再サンプリング空間解像度の関数として再サンプリングされる。
【0216】
ステップ7034において、全てのループ内フィルタが、再サンプリングされた再構成された現在のピクチャに適用される。得られたループ内フィルタリングされた再構成された現在のピクチャは、次いで、DPB419に記憶される。
【0217】
ステップ7035及び7036について、処理モジュール500は、ポストフィルタリングが常に第2の空間解像度で適用されることを知っていると仮定する。その結果、アップサンプリングは、ループ内フィルタリングされた再構成された現在のピクチャが第1の解像度であるときにのみ、ステップ7035において適用される。
【0218】
ステップ7036において、処理モジュール500は、ループ内フィルタリングされた再構成された現在のピクチャを第2の空間解像度でポストフィルタリングする。
【0219】
ステップ7032の一実施形態では、処理モジュール500は、ループ内フィルタリング及びポストフィルタリングが適用される空間解像度をシステム53に関する情報の関数として判定する。この情報は、例えば、システム53の利用可能なコンピューティングリソース、システム53の利用可能なストレージリソース、システム53のバッテリエネルギーレベル、システム53に接続又は組み込まれたディスプレイの空間解像度、システム53上の利用可能な帯域幅などを表す情報を含む。
【0220】
ステップ702の第2の実施形態では、ループ内フィルタリング及び/又はポストフィルタリングメタデータに埋め込まれたループ内フィルタリング及び/又はポストフィルタリングを適用するための推奨解像度を表す情報が、処理モジュール500によって取得される。情報は、ステップ602の第2の実施形態に関連して説明したように、シンタックス要素filter_hint_recommended_width及びfilter_hint_recommended_heightを含む。
【0221】
ステップ702の第3の実施形態では、処理モジュールは、1つの推奨解像度の代わりに、ループ内フィルタリング及び/又はポストフィルタリングメタデータから、ループ内フィルタリング及び/又はポストフィルタリングを適用するための推奨解像度範囲を表す情報を取得する。情報は、ステップ602の第3の実施形態で説明したように、シンタックス要素filter_hint_recommended_width[]及びfilter_hint_recommended_height[]を含む。
【0222】
ステップ702の第4の実施形態では、処理モジュールは、ループ内フィルタリング及び/又はポストフィルタリングメタデータから、複数の推奨解像度又は解像度範囲及び対応するフィルタを表す情報を取得する。例えば、ステップ702の第4の実施形態の第1の変形例では、情報は、ステップ602の第4の実施形態に関連して説明したように、シンタックス要素filter_hint_number_filters_minus1、filter_hint_recommended_width[]及びfilter_hint_recommended_height[]を含む。
【0223】
ステップ702の第4の実施形態の第2の変形例では、処理モジュール500は、ステップ602の第4の実施形態の第2の変形例に関連して説明したように、各フィルタfIdxの解像度の範囲を取得する。
【0224】
ステップ702の第5の実施形態では、処理モジュール500は、ループ内フィルタリング及び/又はポストフィルタリングメタデータから、フィルタを適用することの品質影響度及び/又は複雑度影響度及び/又はエネルギー影響度を表す情報を取得する。情報は、ステップ602の第5の実施形態で説明したように、シンタックス要素filter_hint_delta_quality、filter_hint_delta_complexity及びfilter_hint_delta_energyを含む。
【0225】
ステップ702の第6の実施形態では、処理モジュール500は、
・ ループ内フィルタリングを適用するための推奨解像度を表す情報と、
・ ループ内フィルタリングを適用するための解像度の推奨範囲を表す情報と、
・ 複数の推奨解像度又は解像度範囲及び対応するフィルタを表す情報と、若しくは、
・ 所与の解像度でループ内フィルタを適用することの品質影響度及び/又は複雑度影響度及び/又はエネルギー影響度を表す情報を指定する情報を取得する。
これらの情報は、ステップ702の第6の実施形態に関連して説明した情報に対応する。
【0226】
ステップ602の種々の実施形態に適合されたステップ603と同様に、
図9に関連して説明されるステップ703の実装形態は、ステップ702の種々の実施形態に適合される。特に、ステップ7032において、処理モジュール500は、ステップ702において取得されたループ内フィルタリング及び/又はポストフィルタリングのために推奨される空間解像度を表す情報を考慮に入れて、場合によっては、ループ内フィルタリング及び/又はポストフィルタリングのために再構成された現在のピクチャを少なくとも1つの第2の空間解像度で再サンプリングすることを決定する。再サンプリングは、ピクチャ全体に対して、又は現在のピクチャのブロックに対する動き補償に必要なサンプルのみに対して、これらのサンプルを参照として使用して達成することができる。いくつかの実装形態では、再サンプリング及び動き補償は、1つの単一サンプル補間ステップにおいて一緒に適用される。
【0227】
いくつかの実装形態では、時間的予測のための参照ピクチャとして使用されるループ内フィルタリングされた各ピクチャをDPBに記憶する必要はなく、ループ内フィルタは、再サンプリングステップの後にオンザフライで適用されるか、又は動き補償ステップの後にオンザフライで適用されるか、又は再サンプリング及び動き補償が1つの単一サンプル補間ステップにおいて一緒に達成されるときには単一サンプル補間ステップの後にオンザフライで適用され得る。
【0228】
以上、いくつかの実施形態について説明した。これらの実施形態の特徴は、単独で、又は任意の組み合わせで提供することができる。更に、実施形態は、様々な特許請求の範疇及びタイプにわたって、以下の特徴、デバイス、又は態様のうちの1つ以上を、単独で、又は任意の組み合わせにおいて、含むことができる。
・ 説明したシンタックス要素又はそのバリエーションのうちの1つ以上を含むビットストリーム又は信号。
・ 説明したシンタックス要素又はそのバリエーションのうちの1つ以上を含むビットストリーム又は信号を作成及び/又は送信及び/又は受信及び/又は復号すること。
・ 説明した実施形態のうちの少なくとも1つを実行するテレビ、セットトップボックス、携帯電話、タブレット、又は他の電子デバイス。
・ 説明した実施形態のうちの少なくとも1つを実行し、得られた画像を(例えば、モニタ、スクリーン、又は他のタイプのディスプレイを使用して)表示するテレビ、セットトップボックス、携帯電話、タブレット、又は他の電子デバイス。
・ 符号化ビデオストリームを含む信号を受信するために(例えば、チューナを使用して)チャネルをチューニングし、説明した実施形態のうちの少なくとも1つを実行するテレビ、セットトップボックス、携帯電話、タブレット、又は他の電子機器。
・ 符号化ビデオストリームを含む信号を(例えば、アンテナを使用して)無線で受信し、説明した実施形態のうちの少なくとも1つを実行するテレビ、セットトップボックス、携帯電話、タブレット、又は他の電子デバイス。
【手続補正書】
【提出日】2023-05-31
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ピクチャをビデオ符号化するための方法であって、
ピクチャを第1の空間解像度で再構成すること(601)と、
再構成された前記ピクチャの少なくとも一部に対する、前記第1の空間解像度とは異なる第2の空間解像度でのループ内フィルタリング、ポストフィルタリング、又はそれらの組み合わせが許可されることを示すメタデータを前記ピクチャに関連付けること(602)と、を含む、方法。
【請求項2】
前記メタデータが、再構成された前記ピクチャの少なくとも一部の前記ループ内フィルタリング、前記ポストフィルタリング、又はそれらの前記組み合わせの適用が推奨される少なくとも1つの空間解像度を指定する、請求項1に記載の方法。
【請求項3】
前記メタデータが、再構成された前記ピクチャの少なくとも一部の前記ループ内フィルタリング、ポストフィルタリング、又はそれらの前記組み合わせの適用が推奨される少なくとも1つの空間解像度範囲を指定する、請求項1に記載の方法。
【請求項4】
前記メタデータが複数の空間解像度又は空間解像度範囲を指定するとき、前記メタデータが、各空間解像度又は各解像度範囲に対応するループ内フィルタ、ポストフィルタ、又はそれらの組み合わせを更に指定する、請求項1に記載の方法。
【請求項5】
前記メタデータが、指定された空間解像度又は空間解像度範囲ごとに、前記指定された空間解像度又は空間解像度範囲においてループ内フィルタリング、ポストフィルタリング、又はそれらの組み合わせを適用することの品質影響度、複雑度影響度、及びエネルギー影響度のうちの少なくとも1つを表す情報を更に指定する、請求項4に記載の方法。
【請求項6】
電子回路を備える、ピクチャをビデオ符号化するためのデバイスであって、
ピクチャを第1の空間解像度で再構成し(601)、かつ
再構成された前記ピクチャの少なくとも一部に対する、前記第1の空間解像度とは異なる第2の空間解像度でのループ内フィルタリング、ポストフィルタリング、又はそれらの組み合わせが許可されることを示すメタデータを前記ピクチャに関連付ける(602)ように適合されている、デバイス。
【請求項7】
前記メタデータが、再構成された前記ピクチャの少なくとも一部に対する前記ループ内フィルタリング、前記ポストフィルタリング、又はそれらの前記組み合わせの適用が推奨される少なくとも1つの空間解像度を指定する、請求項6に記載のデバイス。
【請求項8】
前記メタデータが、再構成された前記ピクチャの少なくとも一部に対する前記ループ内フィルタリング及び前記ポストフィルタリング又はそれらの前記組み合わせの適用が推奨される少なくとも1つの空間解像度範囲を指定する、請求項6に記載のデバイス。
【請求項9】
前記メタデータが複数の空間解像度又は空間解像度範囲を指定するとき、前記メタデータが、各空間解像度又は各解像度範囲に対応するループ内フィルタ、ポストフィルタ、又はそれらの組み合わせを更に指定する、請求項6に記載のデバイス。
【請求項10】
前記メタデータが、指定された空間解像度又は空間解像度範囲ごとに、前記指定された空間解像度又は空間解像度範囲においてループ内フィルタリング、ポストフィルタリング、又はそれらの組み合わせを適用することの品質影響度、複雑度影響度、及びエネルギー影響度のうちの少なくとも1つを表す情報を更に指定する、請求項9に記載のデバイス。
【請求項11】
ピクチャをビデオ復号するための方法であって、
ピクチャを第1の空間解像度で再構成すること(701)と、
再構成された前記ピクチャの少なくとも一部に対する、前記第1の空間解像度とは異なる第2の空間解像度でのループ内フィルタリング、ポストフィルタリング、又はそれらの組み合わせが許可されることを示す、前記ピクチャに関連付けられたメタデータを取得すること(702)と、を含む、方法。
【請求項12】
前記メタデータが、再構成された前記ピクチャの少なくとも一部の前記ループ内フィルタリング、前記ポストフィルタリング、又はそれらの前記組み合わせの適用が推奨される少なくとも1つの空間解像度を指定する、請求項11に記載の方法。
【請求項13】
前記メタデータが、再構成された前記ピクチャの少なくとも一部の前記ループ内フィルタリング、ポストフィルタリング、又はそれらの前記組み合わせの適用が推奨される少なくとも1つの空間解像度範囲を指定する、請求項11に記載の方法。
【請求項14】
前記メタデータが複数の空間解像度又は空間解像度範囲を指定するとき、前記メタデータが、各空間解像度又は各解像度範囲に対応するループ内フィルタ、ポストフィルタ、又はそれらの組み合わせを更に指定する、請求項11に記載の方法。
【請求項15】
前記メタデータが、指定された空間解像度又は空間解像度範囲ごとに、前記指定された空間解像度又は空間解像度範囲においてループ内フィルタリング、ポストフィルタリング、又はそれらの組み合わせを適用することの品質影響度、複雑度影響度、及びエネルギー影響度のうちの少なくとも1つを表す情報を更に指定する、請求項14に記載の方法。
【請求項16】
電子回路を備える、ピクチャをビデオ復号するためのデバイスであって、
ピクチャを第1の空間解像度で再構成し(701)、かつ
再構成された前記ピクチャの少なくとも一部に対する、前記第1の空間解像度とは異なる第2の空間解像度でのループ内フィルタリング、ポストフィルタリング、又はそれらの組み合わせが許可されることを示す、前記ピクチャに関連付けられたメタデータを取得する(702)ように適合されている、デバイス。
【請求項17】
前記メタデータが、再構成された前記ピクチャの少なくとも一部に対する前記ループ内フィルタリング、前記ポストフィルタリング、又はそれらの前記組み合わせの適用が推奨される少なくとも1つの空間解像度を指定する、請求項16に記載のデバイス。
【請求項18】
前記メタデータが、再構成された前記ピクチャの少なくとも一部に対する前記ループ内フィルタリング及び前記ポストフィルタリング又はそれらの前記組み合わせの適用が推奨される少なくとも1つの空間解像度範囲を指定する、請求項16に記載のデバイス。
【請求項19】
前記メタデータが複数の空間解像度又は空間解像度範囲を指定するとき、前記メタデータが、各空間解像度又は各解像度範囲に対応するループ内フィルタ、ポストフィルタ、又はそれらの組み合わせを更に指定する、請求項16に記載のデバイス。
【請求項20】
前記メタデータが、指定された空間解像度又は空間解像度範囲ごとに、前記指定された空間解像度又は空間解像度範囲においてループ内フィルタリング、ポストフィルタリング、又はそれらの組み合わせを適用することの品質影響度、複雑度影響度、及びエネルギー影響度のうちの少なくとも1つを表す情報を更に指定する、請求項19に記載のデバイス。
【国際調査報告】