IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ベイジン バイトダンス ネットワーク テクノロジー カンパニー リミテッドの特許一覧 ▶ バイトダンス インコーポレイテッドの特許一覧

特開2024-177195ビデオコーディングツールのための高レベルシンタックス
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024177195
(43)【公開日】2024-12-19
(54)【発明の名称】ビデオコーディングツールのための高レベルシンタックス
(51)【国際特許分類】
   H04N 19/70 20140101AFI20241212BHJP
   H04N 19/513 20140101ALI20241212BHJP
【FI】
H04N19/70
H04N19/513
【審査請求】有
【請求項の数】18
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024158878
(22)【出願日】2024-09-13
(62)【分割の表示】P 2022521585の分割
【原出願日】2020-10-12
(31)【優先権主張番号】PCT/CN2019/110905
(32)【優先日】2019-10-12
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】ザン,カイ
(72)【発明者】
【氏名】ザン,リー
(72)【発明者】
【氏名】リュウ,ホンビン
(72)【発明者】
【氏名】ワン,ユエ
(57)【要約】
【課題】 改善されたビデオデータの処理方法を提供する。
【解決手段】 本方法は、ビデオのピクチャのビデオ領域と該ビデオのビットストリームとの間での変換のために、第1のシンタックス要素に基づいて前記ピクチャに対してコーディングツールが無効かどうかを判定することと、判定に基づいて前記変換を行うことと、を含み、前記ピクチャに対して前記コーディングツールが無効かどうかを示す前記第1のシンタックス要素はピクチャヘッダでシグナリングされる。
【選択図】 図23
【特許請求の範囲】
【請求項1】
ビデオデータを処理する方法であって、
ビデオのピクチャのビデオ領域と該ビデオのビットストリームとの間での変換のために、第1のシンタックス要素に基づいて前記ピクチャに対してコーディングツールが無効かどうかを判定することと、
前記判定に基づいて前記変換を行うことと、
を含み、
前記ピクチャに対して前記コーディングツールが無効かどうかを示す前記第1のシンタックス要素はピクチャヘッダでシグナリングされる、方法。
【請求項2】
前記ピクチャよりも小さいビデオユニットのために前記コーディングツールが無効か又は有効かは前記第1のシンタックス要素及び/又は前記ビデオのスライスタイプに依存する、請求項1に記載の方法。
【請求項3】
前記第1のシンタックス要素が真の場合、前記コーディングツールは前記ピクチャに対して無効である、請求項1又は2に記載の方法。
【請求項4】
前記第1のシンタックス要素が偽の場合、前記コーディングツールは前記ピクチャに対して有効である、請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
前記コーディングツールは、前記ピクチャ内の全てのサンプルに対して無効又は有効である、請求項1乃至4のいずれか一項に記載の方法。
【請求項6】
前記第1のシンタックス要素が前記ピクチャヘッダでシグナリングされるかどうかは、前記ビデオ領域に関連するシーケンスパラメータセット(SPS)内の1つ以上のシンタックス要素に依存する、請求項1乃至5のいずれか一項に記載の方法。
【請求項7】
前記1つ以上のシンタックス要素は前記ピクチャヘッダに前記第1のシンタックス要素が存在することを示す第2のシンタックス要素と、前記コーディングツールが前記ビデオのシーケンスに対して有効かどうかを示す第3のシンタックス要素とを含む、請求項6に記載の方法。
【請求項8】
前記第2のシンタックス要素は、前記第3のシンタックス要素に基づいて、前記SPSで条件的にシグナリングされる、請求項7に記載の方法。
【請求項9】
前記第2のシンタックス要素が真の場合、前記第1のシンタックス要素が前記ピクチャヘッダでシグナリングされ、前記コーディングツールが前記ビデオのシーケンスに対して有効の場合、前記第2のシンタックス要素が前記SPS内でシグナリングされる、請求項7又は8に記載の方法。
【請求項10】
前記第1のシンタックス要素及び/又は前記第2のシンタックス要素は1ビットで符号化されている、請求項7乃至9のいずれか一項に記載の方法。
【請求項11】
前記コーディングツールは、
アフィンモードで符号化された現在のビデオブロックのサブブロックのさを生成することと、
オプティカルフロー演算を適用し、動きベクトルの差dMvH及び/又はdMvVに基づいて予測精密化を導出することにより、前記サブブロックの最終予測サンプルを生成することであって、dMvH及びdMvVは、水平方向及び垂直方向に沿った動きベクトルの差を示す、ことと、
のために用いられる第1のコーディングツールを含む、請求項1乃至10のいずれか一項に記載の方法。
【請求項12】
前記コーディングツールは、シグナリングされた動きベクトルに対するオフセットを有する少なくとも1つの動きベクトルに基づいて該シグナリングされた動きベクトルの精密化のために用いられる第2のコーディングツールを含む、請求項1乃至10のいずれか一項に記載の方法。
【請求項13】
前記コーディングツールは、現在のブロックの参照ブロック内のサンプルに対応する少なくとも1つの勾配値に基づいて動きベクトルの精密化を得るために用いられる第3のコーディングツールを含む、請求項1乃至10のいずれか一項に記載の方法。
【請求項14】
前記変換は、前記ビデオを前記ビットストリームにエンコードすることを含む、請求項1乃至13のいずれか一項に記載の方法。
【請求項15】
前記変換は、前記ビデオを前記ビットストリームからデコードすることを含む、請求項1乃至13のいずれか一項に記載の方法。
【請求項16】
プロセッサと、命令が記憶された非一時的メモリとを含む、ビデオデータを処理するための装置であって、前記命令は前記プロセッサによって実行された場合、前記プロセッサに、
ビデオのピクチャのビデオ領域と該ビデオのビットストリームとの間での変換のために、第1のシンタックス要素に基づいて前記ピクチャに対してコーディングツールが無効かどうかを判定することと、
前記判定に基づいて前記変換を行うことと、
を行わせ、
前記ピクチャに対して前記コーディングツールが無効かどうかを示す前記第1のシンタックス要素はピクチャヘッダでシグナリングされる、装置。
【請求項17】
命令が記憶された非一時的コンピュータ読み取り可能記憶媒体であって、該命令はプロセッサに、
ビデオのピクチャのビデオ領域と該ビデオのビットストリームとの間での変換のために、第1のシンタックス要素に基づいて前記ピクチャに対してコーディングツールが無効かどうかを判定することと、
前記判定に基づいて前記変換を行うことと、
を行わせ、
前記ピクチャに対して前記コーディングツールが無効かどうかを示す前記第1のシンタックス要素はピクチャヘッダでシグナリングされる、非一時的コンピュータ読み取り可能記憶媒体。
【請求項18】
ビデオ処理装置によって行われる方法によって生成されるビデオのビットストリームを記憶する非一時的コンピュータ読み取り可能記録媒体であって、該方法は、
前記ビデオのピクチャのビデオ領域について、第1のシンタックス要素に基づいて前記ピクチャに対してコーディングツールが無効かどうかを判定することと、
前記判定に基づいて前記ビデオのビットストリームを生成することと、
を含み、
前記ピクチャに対して前記コーディングツールが無効かどうかを示す前記第1のシンタックス要素はピクチャヘッダでシグナリングされる、非一時的コンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、2019年10月12日に出願された国際特許出願第PCT/CN2019/110905号の優先権及び利益を適時に主張する、2020年10月12日に出願された国際特許出願第PCT/CN2020/120287号に基づく特願2022-521585号の分割出願である。前述の出願の全ては、その全体が参照により本特許出願に組み込まれる。
【0002】
本特許文書はビデオ符号化技術、装置及びシステムに関する。
【背景技術】
【0003】
ビデオ圧縮の進歩にもかかわらず、デジタルビデオは依然としてインターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅使用を占めている。ビデオの受信及び表示が可能な接続ユーザ装置の数が増加するにつれて、デジタルビデオ使用のための帯域幅の需要は増加し続けることが予想される。
【発明の概要】
【課題を解決するための手段】
【0004】
デジタルビデオ符号化、特にビデオ符号化のためのアダプティブループフィルタリングに関連する装置、システム及び方法を説明する。説明する方法は、既存のビデオ符号化規格(例えば、高効率ビデオ符号化(HEVC))及び将来のビデオ符号化規格(例えば、汎用ビデオ符号化(VVC))又はコーデックの両方に適用され得る。
【0005】
ビデオ符号化規格は、周知のITU-T及びISO/IEC規格の開発を通じて主に発展してきた。ITU-TはH.261及びH.263を作り出し、ISO/IECはMPEG-1及びMPEG-4 Visualを作り出し、2つの組織はH.262/MPEG-2 Video及びH.264/MPEG-4 Advanced Video Coding(AVC)及びH.265/HEVC規格を共同で作り出した。H.262以来、ビデオ符号化規格は、時間的予測と変換符号化が利用されるハイブリッドビデオ符号化構造に基づく。HEVCを越えた将来のビデオ符号化技術を探求するため、2015年にVCEG及びMPEGによって共同でJVET(Joint Video Exploration Team)が設立された。それ以来、JVETによって多くの新たな方法が採用され、JEM(Joint Exploration Model)という名称の参照ソフトウェアに入れられている。2018年4月には、HEVCに比べて50%のビットレート低減を目指すVVC規格に取り組むためにVCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)との間でJVET(Joint Video Expert Team)が発足された。
【0006】
代表的な一態様では、開示の技術はビデオ処理のための方法を提供するために用いられ、当該方法は、ビデオのピクチャのビデオ領域と該ビデオの符号化表現との間での変換のために、該符号化表現におけるビデオ領域を表すために用いられる符号化ツールの有効状態を判定することと、前記判定に従って前記変換を行うこと、とを含み、前記ピクチャのための前記符号化ツールの有効状態を示すために、第1のフラグがピクチャヘッダに含まれている。
【0007】
さらに別の代表的な態様では、上述の方法は、プロセッサ実行可能コードの形態で具体化され、コンピュータ読み取り可能プログラム媒体に記憶される。
【0008】
さらに別の代表的な態様では、上述の方法を実行するように又は行うように構成された装置が開示される。装置は、本方法を実施するようにプログラムされたプロセッサを含み得る。
【0009】
さらに別の代表的な態様では、ビデオデコーダ装置は、本明細書で説明される方法を実施し得る。
【0010】
開示する技術の上記の及び他の態様及び特徴は、図面、明細書及び特許請求の範囲でより詳細に説明されている。
【図面の簡単な説明】
【0011】
図1図1は、異なる解像度でコード化された同じコンテンツの2つの表現のアダプティブストリーミングの例を示す。
図2図2は、異なる解像度でコード化された同じコンテンツの2つの表現のアダプティブストリーミングの例を示す。
図3図3は、2つの表現のオープンGOP予測構造の例を示す。
図4図4は、オープンGOP位置での表現スイッチングの例を示す。
図5図5は、他のビットストリームからの再サンプリングされた参照ピクチャを参照として用いることによる、RASLピクチャのためのデコーデイングプロセスの例を示す。
図6図6A図6Cは、MCTSベースのRWMRビューポート依存360°ストリーミングの例を示す。
図7図7は、異なるIRAP間隔及び異なるサイズのコロケートされたサブピクチャ表現の例を示す。
図8図8は、視聴向きの変化によって解像度の変化がもたらされた場合に受信されたセグメントの例を示す。
図9図9は、図6と比較して、わずかに上方に且つ右側の立方面の方への視聴向きの変化の例を示す。
図10図10は、2つのサブピクチャ位置のためのサブピクチャ表現が示される実施の例を示す。
図11図11はARCエンコーダの実施を示す。
図12図12はARCデコーダの実施を示す。
図13図13は、ARCのためのタイル群ベースの再サンプリングの例を示す。
図14図14は、適応的解像度変更の例を示す。
図15図15は、CUのためのATMVP動き予測の一例を示す。
図16図16A及び図16Bは、単純化された4パラメータアフィン動きモデル及び単純化された6パラメータアフィン動きモデルの例をそれぞれ示す。
図17図17は、サブブロック当たりのアフィンMVFの例を示す。
図18図18A及び図18Bは、4パラメータアフィンモデル及び6パラメータアフィンモデルの例をそれぞれ示す
図19図19は、継承されたアフィン候補についてのAF_INTERに対するMVP(Motion Vector Difference)を示す。
図20図20は、構築されたアフィン候補についてのAF_INTERに対するMVPを示す。
図21図1A及び図21Bは、5つの隣接ブロック及びCPMV予測子の導出をそれぞれ示す。
図22図22は、アフィンマージモードの候補位置の例を示す。
図23図23は、開示の技術に係るビデオ処理のための例示の方法のフローチャートを示す。
図24A図24Aは、本願で説明するビジュアルメディアデコーデイング又はビジュアルメディアエンコーディング技術を実施するためのハードウェアプラットフォームの例のブロック図である。
図24B図24Bは、本願で説明するビジュアルメディアデコーデイング又はビジュアルメディアエンコーディング技術を実施するためのハードウェアプラットフォームの例のブロック図である。
図25図25は、例示のビデオコーディングシステムを示すブロック図である。
図26図26は、開示の技術の一部の実施形態に係るエンコーダを示すブロック図である。
図27図27は、開示の技術の一部の実施形態に係るデコーダを示すブロック図である。
図28図28は、開示の技術の一部の実施形態に係るビデオ処理の例示の方法のフローチャートを示す。
【発明を実施するための形態】
【0012】
本願で開示する技術及び装置は、適応的解像度変更(adaptive resolution change)有するコーディングツールを提供する。AVC及びHEVCは、IDR又はイントラランダムアクセスポイント(IRAP)ピクチャを導入する必要なしに解像度を変更する能力を有していない。そのような能力は、適応的解像度変更(ARC)と呼ぶことができる。ARC機能から恩恵を受けるユースケース又は適用シナリオとしては以下が挙げられる。
【0013】
-テレビ電話及び会議におけるレート適応:変化するネットワーク条件にコード化されたビデオを適応させるために、ネットワーク条件が悪化し、利用可能な帯域幅が小さくなると、エンコーダは、より小さな解像度のピクチャをエンコードすることにより、それに適応し得る。現在、ピクチャの解像度の変更はIRAPピクチャの後にのみ行うことができるが、これにはいくつかの問題がある。妥当な品質のIRAPピクチャは、インターコード化ピクチャよりもはるかに大きく、それに対応してデコードするのがより複雑である。これには時間及びリソースがかかる。これは、負荷の理由でデコーダによって解像度の変更が要求された場合に問題となる。また、低遅延のバッファ条件を壊し、オーディオの再同期が強制され、ストリームのエンドツーエンド遅延が少なくとも一時的に増加することになる。これにより、ユーザ体験が悪くなり得る。
【0014】
-マルチパーティビデオ会議におけるアクティブスピーカの変更:マルチパーティビデオ会議の場合、アクティブスピーカは、残りの会議参加者のビデオよりも大きなビデオサイズで表示させるのが一般的である。アクティブスピーカが変更されると、各参加者のピクチャ解像度も調整する必要があり得る。ARC機能の必要性は、そのようなアクティブスピーカにおける変更が頻繁に行われる場合により重要となる。
【0015】
-ストリーミングにおけるファストスタート:ストリーミングアプリケーションの場合、アプリケーションが表示を開始する前に、特定の長さのデコードされたピクチャまでバッファリングを行うことが一般的である。解像度がより小さいビットストリームを開始することは、アプリケーションが表示をより早く開始するのに十分なピクチャをバッファ内に有することを可能にする。
【0016】
ストリーミングにおける適応的ストリーム切り替え:DASH(Dynamic Adaptive Streaming over HTTP)規格は@mediaStreamStructureIdと名前の機能を含む。これは、例えば、HEVCにおいて関連するRASLピクチャを有するCRAピクチャのような、デコード不可能なリーディングピクチャを有するオープンGOPランダムアクセスポイントにおける異なる表現間のスイッチングを可能にする。同じビデオの2つの異なる表現が異なるビットレートを有するが、同じ空間分解能を有する一方で、それらが同じ値の@mediaStreamStructureIdを有する場合、関連するRASLピクチャとCRAピクチャの2つの表現の間でスイッチングを行うことができ、CRAピクチャでのスイッチングに関連するRASLピクチャを許容可能な品質でデコードできるため、シームレスなスイッチングが可能になる。ARCでは、@mediaStreamStructureId機能は、空間分解能が異なるDASH表現間の切り替えのためにも用いることができる。
【0017】
ARCは動的解像度変換としても知られている。
【0018】
ARCは、H.263 Annex P等の参照ピクチャ再サンプリング(RPR)の特殊なケースとしても見なされ得る。
【0019】
1.1 H.263 Annex Pにおける参照ピクチャ再サンプリング
このモードは、参照ピクチャを、予測のためのその使用の前にワーピングするアルゴリズムを記述する。これは、予測されるピクチャとは異なるソースフォーマットを有する参照ピクチャを再サンプリングするのに有用であり得る。これは、参照ピクチャの形状、サイズ及び位置をワーピングすることにより、全体的な動き推定又は回転動作の推定に用いることもできる。シンタックスは、用いられるべきワーピングパラメータ及び再サンプリングアルゴリズムを含む。参照ピクチャ再サンプリングモードの最も単純なレベルの動作は、アップサンプリング及びダウンサンプリングプロセスにFIRフィルタを適用するだけでだけでいいことから、暗黙的係数が4の再サンプリング(implicit factor of 4 resampling)である。この場合、(ピクチャヘッダで示される)新たなピクチャのサイズが前のピクチャのサイズと異なる場合にその使用が理解されるため、追加のシグナリングオーバーヘッドが必要ではない。
【0020】
1.2 VVCに対するARCの寄与
1.2.1 JVET-M0135
JCTVC-F158から一部を抜粋した、以下で説明するARCの予備的な設計は、議論を引き起こすためだけのプレースホルダであることが示唆されている。
【0021】
2.2.1.1 基本ツールの説明
ARCをサポートするための基本ツールの制約は次のとおりである。
-空間分解能は、両方の寸法に適用される係数0.5だけ公称分解能と異なり得る。空間分解能は増減してもよく、0.5及び2.0の倍率が得られる。
-ビデオフォーマットのアスペクト比及びクロマフォーマットは変更されない。
-クロッピング面積は空間分解能に比例してスケーリングされる。
-参照ピクチャは必要に応じて単純に再スケーリングされ、インター予測は従来どおり適用される。
【0022】
2.2.1.2 スケーリング動作
単純なゼロ相の分離可能なダウン及びアップスケーリングフィルタを用いることが提案される。なお、これらのフィルタは予測専用であり、デコーダは出力のためにより高度なスケーリングを用いり得る。
【0023】
以下の1:2ダウンスケーリングフィルタが用いられ、ゼロ相及び5タップを有する:
(-1、9、16、9、-1)/32
【0024】
ダウンサンプリング点は偶数サンプル位置にあり、共に置かれている(co-sited)。同じフィルタがルーマ及びクロマに用いられる。
【0025】
2:1アップサンプリングのために、奇数グリッド位置にある追加サンプルが、最新のVVC WDにおける半画素動き補償補間フィルタ係数を用いて生成される。
【0026】
組み合わされたアップ及びダウンサンプリングは、クロマサンプリング点の位置又は位相を変化させない。
【0027】
2.2.1.2 パラメータ集合における解像度記述
SPSにおけるピクチャ解像度のシグナリングは以下のように変更される。変更のうち、削除される部分は二重括弧でマークされている(例えば、[[a]]は文字「a」の削除を意味する)。
【0028】
【表1】
【0029】
[[pic_width_in_luma_samplesは、各復号ピクチャの幅をルーマサンプルの単位で指定する。pic_width_in_luma_samplesは0と等しくなく、そしてMinCbSizeYの整数倍とする。
pic_height_in_luma_samplesは、各復号ピクチャの高さをルーマサンプルの単位で指定する。pic_height_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。]]
【0030】
num_pic_size_in_luma_samples_minus1
plus 1は、ピクチャサイズ(幅及び高さ)の数を、符号化ビデオシーケンスに存在し得るルミナンスサンプルの単位で指定する。
【0031】
pic_width_in_luma_samples[i]は、復号ピクチャのi番目の幅を、符号化ビデオシーケンスに存在し得るルミナンスサンプルの単位で指定する。pic_width_in_luma_samples[i]は0と等しくなく、MinCbSizeYの整数倍とする。
【0032】
pic_height_in_luma_samples[i]
は、復号ピクチャのi番目の高さを、符号化ビデオシーケンスに存在し得るルミナンスサンプルの単位で指定する。pic_height_in_luma_samples[i]は0と等しくなく、MinCbSizeYの整数倍とする。
【0033】
【表2】
【0034】
pic_size_idxはシーケンスパラメータセットのi番目のピクチャサイズへのインデックスを指定する。ピクチャパラメータセットを参照するピクチャの幅は、ルーマサンプルにおけるpic_width_in_luma_samples[pic_size_idx]である。同様に、ピクチャパラメータセットを参照するピクチャの高さは、ルーマサンプルにおけるpic_height_in_luma_samples[pic_size_idx]である。
【0035】
1.2.2 JVET-M0259
1.2.2.1 背景:サブピクチャ
サブピクチャトラックという用語はOMAF(Omnidirectional Media Format)において以下のように定義される:トラックは、他のトラックと空間関係を有し、オリジナルのビデオコンテンツの空間的サブセットを表すトラックであって、コンテンツ制作側でビデオ符号化を行う前に空間的サブセットに分割されている。HEVCのためのサブピクチャトラックは、それが自立型HEVCビットストリームになるように、モーション制約タイルセットのためのパラメータセット及びスライスセグメントヘッダを書き換えることによって構築できる。サブピクチャ表現は、サブピクチャトラックを保持するDASH表現として定義できる。
【0036】
VVCのための空間分割単位としてサブピクチャという用語を用いるJVET-M0261は以下のように要約される。
1. 写真は、サブピクチャ、タイルグループ及びタイルに分割される。
2. サブピクチャは、tile_group_addressが0のタイルグループで始まるタイルグループの長方形のセットである。
3. 各サブピクチャは、それ自身のPPSを参照してもよく、故にそれ自身のタイル分割を有し得る。
4. サブピクチャは復号プロセスでピクチャの様に扱われる。
5. サブピクチャを復号化するための参照ピクチャは、復号ピクチャバッファ内の参照ピクチャから、現在のサブピクチャと同一場所にある領域を抽出することにより生成される。抽出された領域は復号サブピクチャである。すなわち、ピクチャ内の同じサイズ及び同じ位置のサブピクチャ間でインター予測が行われる。
6. タイルグループは、サブピクチャのタイルラスタスキャンにおける一連のタイルである。
【0037】
この寄稿では、サブピクチャという用語は、JVETM0261で定義されているものとして理解することができる。しかしながら、JVETM0261で定義されているサブピクチャシーケンスをカプセル化するトラックは、OMAFで定義されているサブピクチャトラックと非常に類似した特性を有する。以下の例は両方の場合に適用される。
【0038】
1.2.2.2 使用事例
1.2.2.2.1 ストリーミングにおける適応的解像度変更
アダプティブストリーミングのサポートのための要件
MPEG N17074のセクション5.13(「アダプティブストリーミングのサポートのための要件」)はVVCのための以下の要件を含む:それぞれが異なる特性(例えば、空間分解能又はサンプルビット深度)を有する同一コンテンツの複数の表現を提供するアダプティブストリーミングサービスの場合、規格は高速な表現スイッチングをサポートするものとする。規格は、異なる空間分解能等の異なる特性の表現の間の高速且つシームレスな表現スイッチング能力を損なうことなく、効率的な予測構造(例えば、所謂オープンピクチャ群)の使用を可能にするものとする。
【0039】
表現スイッチングを伴うオープンGOP予測構造の例
アダプティブビットレートストリーミングのためのコンテンツ生成は、異なる空間分解能を有することができる異なる表現の生成を含む。クライアントは表現からセグメントを要求し、故にどの解像度及びビットレートでコンテンツを受信するかを決定できる。クライアントでは、異なる表現のセグメントが連結され、復号され、再生される。クライアントは、1つのデコーダインスタンスでシームレスな再生を実現できる必要がある。(IDRピクチャで始まる)クローズドGOP構造は、図1に示すように従来的に用いられる。図1は、異なる解像度で符号化された同じコンテンツの2つの表現のアダプティブストリーミングを示す。
【0040】
(CRAピクチャで始まる)オープンGOP予測構造は、それぞれのクローズドGOP予測構造よりも優れた圧縮性能を可能にする。例えば、間隔が24のピクチャのIRAPピクチャで、ルーマBjontegaardデルタビットレートに関して5.6%の平均ビットレート削減が得られた。便宜上、[2]のシミュレーション条件及び結果をセクションYYで要約する。
【0041】
オープンGOP予測構造は、品質が主観的に可視的なポンピングを低減すると報告されている。
【0042】
ストリーミングにおいてオープンGOPを用いることの課題は、表現をスイッチングした後にRASLピクチャを正しい参照ピクチャで復号できないことである。表現に関するこの課題は、異なる解像度で符号化された同じコンテンツの2つの表現のアダプティブストリーミングを示す図2に示されている。図2において、セグメントは、クローズドGOP又はオープンGOP予測構造のいずれかを用いる。
【0043】
CRAピクチャで始まるセグメントは、少なくとも1つの参照ピクチャが前のセグメントにあるRASLピクチャを含む。これは、2つの表現のオープンGOP予測構造を示す図3に示す。図3において、両方のビットストリームにおけるピクチャ0は前のセグメントに存在し、RASLピクチャを予測するための参考として用いられている。
【0044】
図2において破線の矩形でマークされた表現スイッチングは、オープンGOP位置での表現スイッチングを示す図4で以下に示す。RASLピクチャの参照ピクチャ(「ピクチャ0」)は復号されていないことが分かる。その結果、RASLピクチャは復号できず、ビデオの再生にギャップがある。
【0045】
しかしながら、再サンプリングされた参照ピクチャでRASL画像を復号することが主観的に受け入れられることが分かっている。セクション4を参照。「ピクチャ0」を再サンプリングし、それをRASLピクチャを復号するための参照ピクチャとして用いることを図5に示す。図5は、他方のビットストリームから再サンプリングされた参照ピクチャを参照として用いることによる、RASLピクチャの復号プロセスを示す。
【0046】
2.2.2.2.2 リージョンワイズ混合解像度(RWMR)360°ビデオストリーミングにおけるビューポート変更
背景:HEVCベースのRWMRストリーミング
RWMR360°ストリーミングは、向上された効果的なビューポート有効空間分解能を提供する。ビューポートをカバーするタイルが、「4K」の復号能力(HEVCレベル5.1)を有する、図6に示す6K(6144×3072)のERPピクチャ又は同等のCMP解像度に由来するスキームはOMAFのD.6.3項及びD.6.4項に含まれており、VR産業フォーラムのガイドラインでも採用されている。そのような解像度はクワッドHD(2560×1440)ディスプレイパネルを用いたヘッドマウントディスプレイに適していると主張されている。
【0047】
符号化:コンテンツは、キューブ面サイズ(cube face size)がそれぞれ1536×1536及び768×768である2つの空間分解能で符号化されている。両方のビットストリームにおいて、6×4のタイルグリッドが用いられ、各タイル位置に動き制約タイルセット(MCTS)が符号化されている。
【0048】
カプセル化:各MCTSシーケンスはサブピクチャトラックとしてカプセル化され、DASHのサブピクチャ表現として利用可能にされる。
【0049】
ストリーミングされるMCTSの選択:高解像度ビットストリームから12のMCTSが選択され、相補的な12のMCTSが低解像度ビットストリームから抽出される。そのため、ストリーミングされるコンテンツの半球(180°×180°)は高解像度ビットストリームに由来する。
【0050】
復号すべきビットストリームへのMCTSのマージ:単一の時間インスタンスの受信されたMCTSは、HEVCレベル5.1に準拠する1920×4608の符号化ピクチャにマージされる。マージされたピクチャのための別のオプションは、3840×2304ルーマサンプルのピクチャになる、幅768の4つのタイル列、幅384の2つのタイル列及び高さ768の3のタイル列のルーマサンプルを有することである。
【0051】
図6は、MCTSベースのRWMRビューポート依存の360°ストリーミングの例を示す。図6Aは符号化ビットストリームの例を示し、図6Bはストリーミングのために選択されたMCTSの例を示し、図6Cは、MCTSからマージされたピクチャの例を示す。
【0052】
背景:ビューポート依存360°ストリーミングのための異なるIRAP間隔のいくつかの表現
HEVCベースのビューポート依存の360°ストリーミングにおいて視聴向きが変化した場合、サブピクチャ表現の新たな選択は次のIRAP整列セグメント境界で有効になる。復号のためにサブピクチャ表現は符号化されたピクチャにマージされ、故に選択された全てのサブピクチャ表現でVCL NALユニットタイプが整列される。
【0053】
視聴向きの変化に反応する応答時間と視聴方向が安定しているときのレート歪み性能との間でトレードオフを提供するために、異なるIRAP間隔で複数のバージョンのコンテンツを符号化できる。これは、図6に示す符号化のための1組の配列されたサブピクチャ表現について図7に示されており、H. Chen、 H. Yang、 J. Chenの「サブブロックマージ候補のための別のリスト」(JVET-L0368、2018年10月)の3節で詳細に論じられている。
【0054】
図7は、異なるIRAP間隔及び異なるサイズの配列されたサブピクチャ表現の例を示す。
【0055】
図8は、サブピクチャ位置が先ずより低い解像度(384×384)で受信されるように選択される例を示す。視聴向きを変化は、サブピクチャ位置がより高い解像度(768×768)で受信される新たな選択をもたらす。図8の例では、視聴向きの変化が解像度の変化を引き起こすときに受信されるセグメントはセグメント4の先頭にある。この例では、視聴向きの変化が起こるため、セグメント4が短いIRAP間隔のサブピクチャ表現から受信される。その後、視聴方向は安定するため、セグメント5以降からはIRAP間隔が長いバージョンを用いることができる。
【0056】
全てのサブピクチャ位置を更新することの難点
典型的な視聴状況では、視聴向きは徐々に移動するため、解像度は、RWMRビューポート依存ストリーミングにおけるサブピクチャ位置のサブセットのみで変化する。図9は、図6から僅かに上方に且つ右側のキューブ面の方に変化した視聴向きを示す。先のものとは解像度が異なるキューブ面区画を「C」で示す。24のキューブ面区画のうち6つで解像度が変化したことが分かる。しかしながら、上述したように、IRAPピクチャで始まるセグメントは、視聴向きの変化に応答して24のキューブ面区画の全てに対して受信される必要がある。IRAPピクチャで始まるセグメントで、全てのサブピクチャ位置を更新することは、ストリーミングレート歪み性能の観点から非効率的である。
【0057】
加えて、レート歪み性能を改善し、クローズドGOP予測構造によって引き起こされる可視的なピクチャ品質のポンピングを回避するために、RWMR360°ストリーミングのサブピクチャ表現でオープンGOP予測構造を用いることができることが望ましい。
【0058】
提案する設計例
以下の設計目標を提案する。
1. VVC設計は、ランダムアクセスピクチャに由来するサブピクチャと、非ランダムアクセスピクチャに由来する別のサブピクチャを、VVCに準拠する同じ符号化ピクチャにマージできるようにすべきである。
2. VVC設計は、異なる空間分解能等の異なるプロパティのサブピクチャ表現間の高速且つシームレスな表現スイッチング能力を損なうことなく、サブピクチャ表現におけるオープンGOP予測構造の使用を可能にしながら、サブピクチャ表現を単一のVVCビットストリームにマージできるようにすべきである。
【0059】
設計目標の例は、2つのサブピクチャ位置についてのサブピクチャ表現が示される図10に示すことができる。双方のサブピクチャの場所について、コンテンツの別々のバージョンが、2つの解像度及び2つのランダムアクセス間隔のうちの各組み合わせに対して符号化される。セグメントの一部は、オープンGOP予測構造から始まる。視聴向きの変化によって、サブピクチャ位置1の解像度がセグメント4の始まりで切り替わる。セグメント4は、RASLピクチャに関連するCRAピクチャで始まるため、セグメント3にあるRASLピクチャの参照ピクチャを再サンプリングする必要がある。なお、この再サンプリングはサブピクチャ位置1に適用されるが、他の一部のサブピクチャ位置のデコードされたサブピクチャは再サンプリングされない。この例では、視聴向きの変化は、サブピクチャ位置2の解像度の変化を引き起こさないため、サブピクチャ位置2のデコードされたサブピクチャは再サンプリングされない。セグメント4の最初のピクチャでは、サブピクチャ位置1のセグメントはCRAピクチャに由来するサブピクチャを含むのに対して、サブピクチャ位置2のセグメントは非ランダムアクセスピクチャに由来するサブピクチャを含む。符号化ピクチャへのこれらのサブピクチャのマージはVVCで可能であることが示唆されている。
【0060】
2.2.2.2.3 テレビ会議における適応的解像度変更
JCTVC―F158は、主にビデオ会議のための適応的解像度変更を提案する。以下のサブセクションがJCTVC-F158からコピーされ、適応的解像度変更が有用であると主張される使用事例を示す。
【0061】
シームレスなネットワーク適応及びエラー耐性
ビデオ会議やパケットネットワークを介したストリーミング等の用途は、特にビットレートが高すぎてデータが失われる場合に、符号化ストリームが変化するネットワーク条件に適応することがしばしば必要になる。そのような用途は、エンコーダがエラーを検出し、調整を行うことを可能にするリターンチャネルを通常有する。エンコーダは、時間的又は空間的のいずれかのビットレートの低減及び解像度変更という2つの主なツールを使える。時間分解能変更は、階層的予測構造を用いた符号化によって効果的に実現できる。しかしながら、最良の品質のためには、ビデオ通信のための適切に設計されたエンコーダの一部に加えて、空間分解能の変更が必要である。
【0062】
AVC内で空間解像度を変更する場合、IDRフレームが送信され、ストリームがリセットされる必要がある。これは重大な問題をもたらす。妥当な品質のIDRフレームはインターピクチャよりもはるかに大きく、それに対応して復号がより複雑になる。これには時間及びリソースがかかる。負荷の理由でデコーダによって解像度の変更が要求された場合にこれは問題となる。また、低遅延バッファ条件が崩れて、オーディオの再同期が強制され、ストリームのエンドツーエンド遅延が少なくとも一時的に増加し得る。これは、ユーザ体験の悪化をもたらす。
【0063】
これらのモダンを最小化に抑えるために、Pフレームに対して同様の数のビットを用いてIDRが低品質で通常送信され、所与の解像度のために完全な品質に戻るのにかなりの時間を要する。遅延を十分に小さくするために、品質は実際に非常に低くなることがあり、画像が「再フォーカス」される前に目に見えるぼやけが生じることが多い。事実上、イントラフレームは圧縮条件ではほとんど役に立たない。これはストリームを再始動する方法にすぎない。
【0064】
そのため、HEVCにおいて、特に困難なネットワーク条件で、主観的経験への影響を最小限に抑えながら解像度の変更を可能にする方法が必要とされている。
【0065】
ファストスタート
最初に許容不能な画像のぼやけを生じることなく、遅延を低減し、通常の品質により迅速に到達するために、第1のフレームが低減された解像度で送信され、次の数フレームにわたって解像度が増大される「ファストスタート」モードを有することは有用であろう。
【0066】
会議「コンポーズ」(Conference “compose”)
ビデオ会議は、話し手がフルスクリーンで表示され、他の参加者がより小さな解像度のウィンドウで表示される機能を有するも多い。これを効率的にサポートするために、より小さなピクチャがより低い解像度で送信されることが多い。この解像度は、参加者がスピーカーになり、フルスクリーンになった場合に高くなる。この時点でイントラフレームを送信すると、ビデオストリームにおいて不快な中断がもたらされる。この効果は話し手が素早く交替する場合に非常に顕著で不快なものになり得る。
【0067】
2.2.2.3 提案される設計目標
VVCバージョン1のために以下の高レベルな設計の選択肢が提案されている。
【0068】
1. 以下の使用事例のために、参照ピクチャ再サンプリングプロセスをVVCバージョン1に含めることが提案される。
-異なる空間分解能等特性が異なる表現間の高速でシームレスな表現スイッチング能力を損なうことなく、アダプティブストリーミングにおいて効率的な予測構造(例えば、所謂オープンピクチャ群)を用いること。
-著しい遅延又は遅延変化なしに、ネットワーク条件及びアプリケーションに起因する解像度変化に低遅延の会話型ビデオコンテンツを適応させること。
【0069】
2. ランダムアクセスピクチャに由来するサブピクチャと、非ランダムアクセスピクチャに由来する別のサブピクチャとを、VVCに準拠する同じ符号化ピクチャにマージできるようにするVVC設計が提案される。これは、混合品質及び混合解像度のビューポートアダプティブ360°ストリーミングにおける視聴向きの変化の効率的な対処を可能にするものと断定される。
【0070】
3. サブピクチャワイズ再サンプリングプロセスをVVCバージョン1に含めることが提案される。これは、混合品質及び混合解像度のビューポートアダプティブ360°ストリーミングにおける視聴向きの変化の効率的な対処を可能にするものと断定される。
【0071】
2.2.3. JVET-N0048
適応的解像度変更(ARC)のための使用事例及び設計目標がJVET―M0259で詳細に論じられている。その要約は以下の通りである。
【0072】
1. リアルタイム通信
適応的解像度変更についての以下の使用事例がJCTVC-F158に当初含まれていた。
a.(動的な適応的解像度変更を介した)シームレスなネットワーク適応及びエラー耐性
b.ファストスタート(セッション開始時又はリセット時の解像度の漸増)
c.会議「コンポーズ」(話し手により高い解像度が与えられる)
【0073】
2. アダプティブストリーミング
MPEG N17074のセクション5.13(「アダプティブストリーミングのサポート」)にはVVCのための以下の要件が含まれる:それぞれが異なる特性(例えば、空間分解能又はサンプルビット深度)を有する同一コンテンツの複数の表現を提供するアダプティブストリーミングサービスの場合、規格は高速な表現スイッチングをサポートするものとする。規格は、異なる空間分解能等の異なる特性の表現の間の高速且つシームレスな表現スイッチング能力を損なうことなく、効率的な予測構造(例えば、所謂オープンピクチャ群)の使用を可能にするものとする。
【0074】
JVET-M0259では、リーディングピクチャの参照ピクチャを再サンプリングすることにより、この要件をどのように満たすかが議論されている。
【0075】
3. 360°ビューポート依存ストリーミング
JVET-M0259では、リーディングピクチャの参照ピクチャの特定の独立的に符号化されたピクチャ領域を再サンプリングすることにより、この使用事例をどのように対処するかが議論されている。
【0076】
この貢献は、上記の使用事例及び設計目標の全てを満たすと断定される適応的解像度変更アプローチを提案する。360°ビューポート依存ストリーミング及び会議「コンポーズ」の使用事例は、(独立したサブピクチャレイヤを提案する)JVET-N0045と共に本提案によって取り扱われる。
【0077】
提案される仕様テキスト
シグナリング
【0078】
【表3】
【0079】
sps_max_rprは、pic_width_in_luma_samples及びpic_height_in_luma_samplesが現在のピクチャのpic_width_in_luma_samples及びpic_height_in_luma_samplesのそれぞれと等しくないCVSにおけるタイルグループの、参照ピクチャリスト0又は1のアクティブ参照ピクチャの最大数を指定する。
【0080】
【表4】
【0081】
【表5】
【0082】
max_width_in_luma_samplesは、このSPSがアクティブであるCVSの任意のピクチャのための任意のアクティブPPSにおけるpic_width_in_luma_samples がmax_width_in_luma_samples
以下であることがビットストリーム適合の要件であることを指定する。
【0083】
max_height_in_luma_samplesは、このSPSがアクティブであるCVSの任意のピクチャのための任意のアクティブPPSにおけるpic_height_in_luma_samples がmax_height_in_luma_samples
以下であることがビットストリーム適合の要件であることを指定する。
【0084】
高レベル復号化プロセス
現在の画像CurrPicに対してデコード処理は以下のように動作する。
1. NALユニットの復号化は8.2項で規定されている。
2. 8.3項のプロセスは、タイルグループヘッダレイヤ及び上でシンタックス要素を用いる以下の復号化プロセスを規定する。
【0085】
-ピクチャオーダカウントに関する変数及び関数は、8.3.1節で規定されているように導出される。これは、第1のピクチャタイル群に対してのみ呼び出すだけでよい。
【0086】
-非IDRピクチャの各タイル群に対する復号化プロセスの開始時に、8.3.2項に規定の参照ピクチャリスト構成の復号化処理が参照ピクチャリスト0(RefPicList[0])及び参照ピクチャリスト1(RefPicList[1])の導出のために呼び出される。
【0087】
-8.3.3項における参照ピクチャマーキングのための復号化プロセスが呼び出され、参照ピクチャは「参照のために使用されない(unused for reference)」又は「長期参照のために使用(used for
long-term reference)」とマークされ得る。これは、第1のピクチャタイル群に対してのみ呼び出すだけでよい。
【0088】
-pic_width_in_luma_samples又はpic_height_in_luma_samplesが、CurrPicのpic_width_in_luma_samples又はpic_height_in_luma_samplesのそれぞれと等しくないRefPicList[0]及びRefPicList[1]における各アクティブ参照ピクチャについて、以下が適用される。
【0089】
-X.Y.Z項の再サンプリングプロセスが呼び出され[Ed.(MH):追加すべき呼び出しパラメータの詳細]、出力は入力と同じ参照ピクチャマーキング及びピクチャオーダカウントを有する。
【0090】
-再サンプリングプロセスへの入力として用いられる参照ピクチャは、「参照のために使用されていない」とマークされている。
【0091】
CTU(coding tree units)、スケーリング、変換、インループフィルタリング等のための復号化プロセスの呼び出しをさらに論じることができる。
【0092】
現在のピクチャの全てのタイルグループが復号された後で、現在の復号ピクチャは「短期間の参照のために用いられる(used for short-term reference)」とマークされる。
【0093】
再サンプリングプロセス
SHVC再サンプリングプロセス(HEVCのH8.1.4.2節)は、以下の追加を伴って提案される。
【0094】
sps_ref_wrapaund_enabled_flag=0の場合、サンプル値tempArray[n](n=0..7)は以下のように導出される。
【0095】
【数1】
【0096】
それ以外の場合、サンプル値tempArray[n](n=0..7)は以下のように導出される。
【0097】
【数2】
【0098】
sps_ref_wrapaund_enabled_flag=0の場合、サンプル値tempArray[n](n=0..3)は以下のように導出される。
【0099】
【数3】
【0100】
それ以外の場合、サンプル値tempArray[n](n=0..3)は以下のように導出される。
【0101】
【数4】
【0102】
2.2.4. JVET-N0052
ビデオ圧縮規格における概念である適応的解像度変更は、少なくとも1996年以来からあり、特に参照ピクチャの再サンプリング(RPR、Annex P)及び縮小解像度更新(Annex Q)に向けたH.263+関連の提案である。先ず、JCT-VC時代にCiscoによって提案され、次いで(今日では適度に広く展開されている)VP9の文脈で、そしてさらに最近ではVVCの文脈でという流れで、一定の注目を最近集めている。ARCは、所定のピクチャについて符号化する必要があるサンプルの数を低減し、それが望ましい場合には、結果として得られる参照ピクチャをより高い解像度までアップサンプリングすることを可能にする。
【0103】
特に関心のあるARCは2つのシナリオで検討される。
【0104】
1)IDRピクチャ等のイントラ符号化ピクチャは、インターピクチャよりもかなり大きいことが多い。理由にかかわらず、イントラ符号化を意図したダウンサンプリングピクチャは、将来の予測のためのより良好な入力を提供し得る。また、少なくとも低遅延のアプリケーションでは、速度制御の観点からもこれは明らかに有利である。
【0105】
2)少なくとも一部のケーブル及び衛星オペレータが日常的に行っているように、コーデックをそのブレーキングポイントの近くで動作させる場合、ARCは、ハーな遷移点を伴わないシーン遷移等の非イントラ符号化ピクチャに対してさえも便利になり得る。
【0106】
3)多分前向きになりすぎている(Looking perhaps a bit too much forward):固定解像度の概念は概して正当可能であろうか?CRTからの離脱とレンダリング装置におけるスケーリングエンジンの普及に伴い、レンダリングと符号化解像度とのハードバインドは過去のものである。また、ビデオシーケンスにおいて多くのアクティビティが行われている場合、たとえそのアクティビティが空間的に他の場所で行われていても、大半の人は(おそらくは高解像度に関連する)細部に集中できないことを示唆する利用可能な研究がある。もしそれが正しく且つ一般に受け入れられていれば、細かい粒度分解能の変化は適応的QPよりも優れた速度制御メカニズムになり得る。この点については現在議論されている。固定解像度ビットストリームの概念を取り除くことは、無数のシステム層及び実施のインプリケーションがあり、(少なくとも、それらの詳細な性質ではないにしても、それらの存在レベルでは)よく知られている。
【0107】
技術的に、ARCは参照ピクチャ再サンプリングとして実施することができる。参照ピクチャ再サンプリングの実施には、再サンプリングフィルタ及びビットストリームにおける再サンプリング情報のシグナリングという2つの主要な側面がある。本願は後者に焦点を当て、実施経験がある程度に前者に触れる。適切なフィルタ設計のさらなる研究が奨励され、提供される素案の設計を実質的に改善する点に関して、Tencentが慎重に検討され、適切な場合には、あらゆる提案を支持する。
【0108】
TencentのARC実施の概要
図11及び図12は、TencentのARCエンコーダ及びデコーダの実装をそれぞれ示す。開示の技術の実施は、ピクチャの種類に関係なく、ピクチャの粒度毎にピクチャの幅及び高さを変更することを可能にする。エンコーダでは、入力された画像データは、現在のピクチャ符号化のために選択されたピクチャサイズにダウンサンプリングされる。第1の入力ピクチャがイントラピクチャとして符号化された後で、復号化されたピクチャが復号ピクチャバッファ(DPB)に格納される。結果として得られたピクチャが異なるサンプリング比でダウンサンプリングされ、インターピクチャとして符号化される場合、DPB内の参照ピクチャは、参照のピクチャサイズと現在のピクチャサイズとの間の空間比に従ってアップ/ダウンスケーリングされる。デコーダでは、復号化されたピクチャは再サンプリングすることなくDPBに格納される。しかしながら、DPB内の参照ピクチャは、動き補正のために用いられる場合、現在復号化されているピクチャと参照との間の空間比に関連してアップ/ダウンスケーリングされる。復号化されたピクチャは、表示のためにバンプアウトされた場合、元のピクチャサイズ又は所望の出力ピクチャサイズにアップサンプリングされる。動き推定/補償プロセスでは、動きベクトルは、ピクチャサイズ比及びピクチャオーダカウント差に関連してスケーリングされる。
【0109】
ARCパラメータのシグナリング
本明細書では、ARCパラメータという用語は、ARCを機能させるために必要な任意のパラメータの組み合わせとして用いられる。最も簡単な場合は、ズーム係数又は定義されたズーム係数でテーブルへのインデックスである。これは、JVET-M0135で提案されたように、ターゲット解像度(例えば、サンプル又は最大CUサイズの粒度)又はターゲット解像度を提供するテーブルへのインデックスであり得る。また、使用中のアップ/ダウンサンプリングフィルタのフィルタパラメータ(フィルタ係数に至るまで)又はフィルタセレクタも含まれ得る。
【0110】
最初から、本明細書で提案する実施は、少なくとも概念的に、ピクチャの異なる部分について異なるARCパラメータを可能にすることである。現在のVVC草案の通り、適切なシンタックス構造は矩形タイル群(TG)であり得ることが提案される。スキャンオーダーTGを用いるものは、ARCをフルピクチャのみに用いるものに制限され得るか又はスキャンオーダーTGが矩形TGに含まれる程度に制限され得る。これは、ビットストリーム制約で簡単に指定できる。
【0111】
異なるTGは異なるARCパラメータを有し得るため、ARCパラメータの適切な位置は、TGヘッダ内又はTGの範囲を持つパラメータセット内であり、TGヘッダによって参照されるか(現在のVVC草案における適応パラメータセット)又はより高いパラメータセットにおけるテーブルへのより詳細な参照(インデックス)であり得る。これら3つの選択肢のうち、この時点で、TGヘッダを用いてARCパラメータを含むテーブルエントリへの参照を符号化することが提案され、そのテーブルはSPS内に位置し、(今回の)DPSに符号化されている。ズーム係数はパラメータ設定値を用いることなく、TGヘッダに直接符号化できる。JVET-M0135で提案されているように、参照のためのPPSを用いることは、ARCパラメータのタイル群毎のシグナリングが設計基準である場合には対比的に示される。
【0112】
テーブルエントリ自体については、以下のオプションが利用可能である。
【0113】
-両方の次元についていずれか1つ又はX及びYの次元で独立してダウンサンプル係数を符号化すること。これはほとんど(HW-)実施の議論であり、X次元のズーム係数がかなり柔軟であるが、Y次元が1に固定されているか又は選択肢が非常に少ない結果を好むものもあるだろう。そのような制約を表現するのにシンタックスは間違った場所であり、もしそれらが望ましいなら、適合のための要件として表現される制約は好ましいと提案される。つまり、シンタックスの柔軟に保たれる。
【0114】
-ターゲット解像度を符号化することが以下で提案される。現在の解像度との関連でこれらの解像度についてより多くの又は少ない複雑な制約がある場合があり、多分ビットストリーム適応要件で表される。
【0115】
-ピクチャ合成/抽出を可能にするために、タイル群毎のダウンサンプリングが好ましい。しかしながら、シグナリングの観点からは重要ではない。もしグループがピクチャの粒度でのみARCを許容するという賢明でない決定をしているなら、全てのTGが同じARCパラメータを用いるというビットストリーム適合性要件を含めることができる。
【0116】
-ARCに関する制御情報。我々の以下の設計では、それは参照ピクチャサイズを含む。
【0117】
-フィルタ設計の柔軟性は必要か?わずかなコードポイントより多い必要があるか?答えが「はい」の場合、それらをAPSに入れるか?一部の実施では、ダウンサンプルフィルタが変化し、ALFが留まる場合、ビットストリームはオーバーヘッドを受け入れる(eat)必要があることが提案される。
【0118】
現時点では、提案された技術を(可能な限り)整合させ、シンプルに保つために、以下を提案する:
-固定フィルタ設計
-ビットストリーム制約TBDのSPS内のテーブルのターゲット解像度
-キャップ交換/ネゴシエーションを促進にするDPSにおける最小/最大ターゲット解像度
結果として得られるシンタックスは以下のようになり得る。
【0119】
【表6】
【0120】
max_pic_width_in_luma_samplesは、ビットストリームにおけるルーマサンプル単位で復号されたピクチャの最大幅を指定する。max_pic_width_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。dec_pic_width_in_luma_samples[i]の値はmax_pic_width_in_luma_samplesの値より大きくなることはできない。
【0121】
max_pic_height_in_luma_samplesは、ビットストリームにおけるルーマサンプル単位で復号されたピクチャの最大高さを指定する。max_pic_height_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。dec_pic_height_in_luma_samples[i]の値はmax_pic_height_in_luma_samplesの値より大きくなることはできない。
【0122】
【表7】
【0123】
adaptive_pic_resolution_change_flag=0は、出力ピクチャサイズ(output_pic_width_in_luma_samples、output_pic_height_in_luma_samples)、復号ピクチャサイズの数(num_dec_pic_size_in_luma_samples_minus1)及び少なくとも1つの復号ピクチャサイズ(dec_pic_width_in_luma_samples[i]、dec_pic_height_in_luma_samples[i])がSPSに存在することを指定する。参照ピクチャサイズ(reference_pic_width_in_luma_samples、reference_pic_height_in_luma_samples)が存在し、reference_pic_size_present_flagの値の条件とされている。
【0124】
output_pic_width_in_luma_samplesは、ルーマサンプルの単位で出力ピクチャの幅を指定する。output_pic_width_in_luma_samplesは0と等しくないものとする。
【0125】
output_pic_height_in_luma_samplesは、ルーマサンプルの単位で出力ピクチャの高さを指定する。output_pic_height_in_luma_samplesは0と等しくないものとする。
【0126】
reference_pic_size_present_flag=1は、reference_pic_width_in_luma_samples及びreference_pic_height_in_luma_samplesが存在することを指定する。
【0127】
reference_pic_width_in_luma_samplesは、ルーマサンプルの単位で参照ピクチャの幅を指定する。output_pic_width_in_luma_samplesは0と等しくないものとする。存在しない場合、reference_pic_width_in_luma_samplesの値はdec_pic_width_in_luma_samples[i]と等しいと推定される。
【0128】
reference_pic_height_in_luma_samplesは、ルーマサンプルの単位で参照ピクチャの高さを指定する。output_pic_height_in_luma_samplesは0と等しくないものとする。存在しない場合、reference_pic_height_in_luma_samplesの値はdec_pic_height_in_luma_samples[i]と等しいと推定される。
【0129】
注記1-出力ピクチャのサイズは、output_pic_width_in_luma_samples及びoutput_pic_height_in_luma_samplesの値と等しいものとする。参照ピクチャのサイズは、参照ピクチャが動き補正に用いられる場合、reference_pic_width_in_luma_samples及びreference_pic_height_in_luma_samplesの値と等しいものとする。
【0130】
num_dec_pic_size_in_luma_samples_minus1+1は、符号化ビデオシーケンスのルーマサンプルの単位で復号ピクチャサイズ(dec_pic_width_in_luma_samples[i]、dec_pic_height_in_luma_samples[i])の数を指定する。
【0131】
dec_pic_width_in_luma_samples[i]は符号化ビデオシーケンスのルーマサンプルの単位で復号ピクチャサイズのi番目の幅を指定する。dec_pic_width_in_luma_samples[i]は0と等しくなく、MinCbSizeYの整数倍とする。
【0132】
dec_pic_height_in_luma_samples[i]は符号化ビデオシーケンスのルーマサンプルの単位で復号ピクチャサイズのi番目の高さを指定する。dec_pic_height_in_luma_samples[i]は0と等しくなく、MinCbSizeYの整数倍とする。
【0133】
注記2-i番目の復号ピクチャサイズ(dec_pic_width_in_luma_samples[i]、dec_pic_height_in_luma_samples[i])は、符号化ビデオシーケンスにおける復号ピクチャの復号ピクチャサイズと等しくてもよい。
【0134】
【表8】
【0135】
dec_pic_size_idxは、復号ピクチャの幅はpic_width_in_luma_samples[dec_pic_size_idx]と等しく、復号ピクチャの高さはpic_height _in_luma_samples[dec_pic_size_idx]と等しいものとすることを指定する。
【0136】
フィルタ
提案した設計は概念的に、元のピクチャから入力ピクチャへのダウンサンプリングフィルタと、動き推定/補償のために参照ピクチャを再スケーリングするアップ/ダウンサンプリングフィルタと、復号ピクチャから出力ピクチャへのアップサンプリングフィルタという4つの異なるフィルタセットを含む。最初及び最後のものは、非標準的事項として残すことができる。仕様の範囲では、アップ/ダウンサンプリングフィルタは、適切なパラメータセットにおいて明示的にシグナリングされるか又は予め定義される必要がある。
【0137】
我々の実施は、動き補償のために用いられるべき参照ピクチャをサイズ変更するダウンサンプリングのために、12タップ2D分離可能フィルタであるSHVCのダウンサンプリングフィルタ(SHM ver.12.4)を用いる。現在の実施では、ダイアディックサンプリングのみがサポートされる。したがって、ダウンサンプリングフィルタの位相は、デフォルトでゼロに設定される。アップサンプリングについては、位相をシフトし、ルーマ及びクロマピクセル位置を元の位置に合わせるために16相の8タップ補間フィルタが用いられる。
【0138】
表9及び表10は、ルーマアップサンプリングプロセスに用いられる8タップフィルタ係数fL[p,x](p=0..15及びx=0..7)と、クロマアップサンプリングプロセスに用いられる4タップフィルタ係数fC[p,x](p=0..15及びx=0..3)を示す。
【0139】
表11は、ダウンサンプリングプロセスのための12タップフィルタ係数を示す。ダウンサンプリングでは、ルーマ及びクロマの両方に同じフィルタ係数が用いられている。
【0140】
【表9】
【0141】
【表10】
【0142】
【表11】
【0143】
コンテンツ及び/又はスケーリング係数に適応するフィルタを用いる場合、(おそらく有意な)主観的及び客観的な利得が期待されることが予想される。
【0144】
タイルグループ境界の議論
タイル群に関連する多くの研究についてもおそらく当てはまることであるが、タイル群(TG)ベースのARCに関する我々の実施は完全に終わっているとは言えない。我々の選好は、圧縮領域において、複数のサブピクチャを合成されたピクチャにする空間的構成及び抽出の議論が少なくともたたき台をもたらした場合に、その実施を再考することである。しかしながら、このことは、結果をある程度推定し、それに従って我々のシグナリング設計を適応させることを妨げるものではない。
【0145】
今のところ、タイルグループヘッダは、すでに述べた理由から、上記で提案したように、dec_pic_size_idx等のものにとって正しい場所である。単一のue(v)コードポイントdec_pic_size_idxは、タイルグループヘッダに条件付きで存在し、使用されるARCパラメータを示すために用いられる。ピクチャ毎のARCのみである実施を一致させるために、スペック空間では、単一のタイルグループのみを符号化するか又は所与の符号化ピクチャの全てのTGヘッダが(存在する場合)dec_pic_size_idxの値が同じであることをビットストリームコンプライアンスの条件とする必要がある。
【0146】
パラメータdec_pic_size_idxは、サブピクチャを開始するヘッダのいずれかに移動させることができる。それは引き続きタイルグループヘッダであり得る。
【0147】
これらのシンタックスな考慮以外に、タイルグループ又はサブピクチャベースのARCを可能にするために、いくつかの追加作業が必要である。おそらく最も困難な部分は、サブピクチャがより小さいサイズに再サンプリングされたピクチャ内の不要なサンプルの問題をどのように対処するかである。
【0148】
図13は、ARCのためのタイル群ベースの再サンプリングの例を示す。4つのサブピクチャ(ビットストリームシンタックスにおいて4つの矩形のタイルグループとしておそらく表される)から構成される右側のピクチャを考えてみる。左側の右下のTGは半分のサイズにサブサンプリングされている。「半分」と表記される、関連領域の外のサンプルをどのようにするかを議論する必要がある。
【0149】
多くの(大半?、全て?)の以前のビデオ符号化規格では、圧縮ドメイン内のピクチャの部分の空間的抽出はサポートされていないという共通点があった。これは、ピクチャの各サンプルが1つ以上のシンタックス要素によって表され、各シンタックス要素は少なくとも1つのサンプルに影響を与えることを意味する。これを維持するために、「半分」とラベル付けされたダウンサンプリングされたTGによってカバーされるサンプルの周囲の領域をどうにかして追加する必要があり得る。H.263+のAnnex Pでは、パディングによってこの問題を解決する。実際、パディングされたサンプルのサンプル値は、ビットストリームで(特定の厳密な制限の範囲内で)シグナリングすることができ得る。
【0150】
以前の仮定からの大幅な逸脱を多分構成し得るが、ピクチャの矩形部分に基づくサブビットストリーム抽出(及び構成)をサポートする必要があり得る代替案は、復元されたピクチャの各サンプルが符号化ピクチャ内の何か(たとえ、それの何かがスキップされたブロックだけであっても)によって表される必要があるという現在の理解を緩和することであり得る。
【0151】
実施上の考慮事項、システムインプリケーション及びプロファイル/レベル
「ベースライン/メイン」プロファイルに含まれるべき基本的なARCを提案する。特定のアプリケーションシナリオで必要でない場合は、サブプロファイリングを用いてそれらを削除してもよい。一定の制限が許容され得る。この点に関し、特定のH.263+プロファイル及び(プロファイルの前の)「推奨モード」には、「暗黙の係数4(implicit factor of 4)」、すなわち、両方の次元における二項ダウンサンプリング、としてのみ用いられるAnnex Pが含まれたことに留意されたい。これは、テレビ会議のファストスタートをサポートするのに十分であった(Iフレームを素早く乗り越える)のには十分だった。
【0152】
この設計は、全てのフィルタリングを「臨機応変に(on the fly)」で行うことができ、メモリ帯域幅の増加がないか又は無視できる程度である。そうであれば、ARCをエキゾチックなプロファイルに移す必要はないように思われる。
【0153】
複雑な表等は、JVET-M0135と共にMarrakechで論じられているように、能力交換には有意義に用いられないかもしれない。オプションの数は、オファーアンサーや同様の限定された深度のハンドシェイクを仮定して、意味のあるクロスベンダインターオプを可能にするために、単純に大きくなる。現実的には、能力交換シナリオにおいてARCを有意義にサポートするために、大半のインターオップポイントでほんの少数にフォールバックしなければならない。例えば、ARCなし、暗黙の係数4のARC、完全なARCである。代替的に、全てのARCに必要なサポートを指定し、ビットストリームの複雑性の制限をより高いレベルのSDOに任せることが可能である。これは、いずれにせよ(サブプロファイリング及びフラグの文脈で既に議論したものを越えて)ある時点で行うべき戦略的議論である。
【0154】
レベルに関して、基本的な設計原理は、ビットストリーム適合の条件として、ビットストリームにおいてアップサンプリングがそれだけシグナリングされてもアップサンプリングされたピクチャのサンプルカウントはビットストリームのレベルに適合する必要があり、全てのサンプルはアップサンプリングされた符号化ピクチャに適合する必要がある。なお、これはH263+では当てはまらず、特定のサンプルが存在しない可能性がある。
【0155】
2.2.5. JVET-N0118
以下の側面が提案されている。
【0156】
1. ピクチャ解像度のリストはSPSでシグナリングされ、リストのインデックスは個々のピクチャのサイズを指定するためにPPSでシグナリングされる。
【0157】
2. 出力すべきピクチャについて、再サンプリング前の復号ピクチャは(必要に応じて)クロップされて出力される。すなわち、再サンプリングされたピクチャは出力用ではなく、インター予測参照のためだけのものである。
【0158】
3. 1.5倍及び2倍の再サンプリング比をサポートする。任意の再サンプリング比はサポートしない。1つ又は2つ以上の他の再サンプリング比の必要性を検討する。
【0159】
4. ピクチャレベルの再サンプリングとブロックレベルの再サンプリングとの間では、提唱者らはブロックレベルの再サンプリングを好む。
【0160】
a.しかしながら、ピクチャレベルの再サンプリングが選択される場合、以下の側面が提案される。
【0161】
i.参照ピクチャが再サンプリングされる場合、参照ピクチャの再サンプリングされたバージョンと、オリジナルの再サンプリングされたバージョンとの双方がDPBに格納されるため、双方はDPBのフルネスに影響を及ぼす。
【0162】
ii.再サンプリングされた参照ピクチャは、対応する再サンプリングされていない参照ピクチャが「参照のために使用されない」とマークされている場合、「参照のために使用されない」とマークされる。
【0163】
iii.RPLシグナリングシンタックスは変更されずに維持されるのに対して、RPL構築プロセスは次のように変更される。参照ピクチャをRPLエントリに含める必要があり、現在のピクチャと同じ解像度を有する参照ピクチャのバージョンがDPB内にない場合、ピクチャ再サンプリングプロセスが呼び出され、その参照ピクチャの再サンプリングバージョンはRPLエントリに含められる。
【0164】
iv.DPBに存在する再サンプリングされた参照ピクチャの数は、例えば2以下に制限されるべきである。
【0165】
b.そうでなければ(ブロックレベル再サンプリングが選択された場合)、以下が提案される。
【0166】
i.最悪ケースのデコーダの複雑性を制限するために、現在のピクチャとは異なる解像度を有する参照ピクチャからのブロックの双方向予測を禁止することが提案されている。
【0167】
ii.別の選択肢は、再サンプリング及び1/4ピクセル単位の補間を行う必要がある場合、2つのフィルタが組み合わされ、動作が一度に適用されることである。
【0168】
5.ピクチャベース及びブロックベースの再サンプリングアプローチのいずれが選択されるかにかかわらず、時間的動きベクトルスケーリングが必要に応じて適用されることが提案される。
【0169】
2.2.5.1. 実施
ARCソフトウェアは、以下の変更を加えてVTM-4.0.1上で実施された。
【0170】
-サポートされている解像度のリストはSPSでシグナリングされる。
【0171】
-空間分解能シグナリングがSPSからPPSに移動された。
【0172】
-参照ピクチャを再サンプリングするために、ピクチャベースの再サンプリングスキームが実施された。ピクチャが復号された後に、再構成されたピクチャは異なる空間分解能に再サンプリングされ得る。元の再構成ピクチャ及び再サンプリングされ再構成されたピクチャの双方は、DPBに格納され、将来のピクチャにより復号化順で参照するために利用可能である。
【0173】
-実施されている再サンプリングフィルタは、JCTVC-H0234で以下のようにテストされたフィルタに基づく。
【0174】
-アップサンプリングフィルタ:タップが(-4、54、16、-2)/64の4タップ+/-1/4相DCTIF
-ダウンサンプリングフィルタ:タップが(1、0、-3、0、10、16、10、0、-3、0、1)/32のh11フィルタ
-現在のピクチャ(すなわち、L0及びL1)の参照ピクチャリストを構成する場合、現在のピクチャと同じ解像度を有する参照ピクチャのみが用いられる。なお、参照ピクチャはそれらの元のサイズ又は再サンプリングしたサイズの両方で利用可能であり得る。
【0175】
-TMVP及びATVMPが有効にされ得る。しかしながら、現在のピクチャ及び参照ピクチャの元の符号化解像度が異なる場合、その参照ピクチャについてはTMVP及びATMVPが無効になる。
【0176】
-開始点ソフトウェアの実施を簡単及び簡素にするために、ピクチャを出力する場合、デコーダは最高の利用可能な解像度を出力する。
【0177】
ピクチャサイズ及びピクチャ出力のシグナリングについて
1. ビットストリームにおける符号化ピクチャの空間分解能のリストについて
現在、CVS内の全ての符号化ピクチャは同じ解像度を有する。そのため、SPSにおいて、ただ1つの解像度(すなわち、ピクチャの幅及び高さ)をシグナリングするのが分かりやすい。ARCのサポートでは、1つの解像度ではなく、ピクチャ解像度のリストをシグナリングする必要がある。このリストをSPSでシグナリングし、個々のピクチャのサイズを指定するためにリストのインデックスをPPSでシグナリングすることが提案される。
【0178】
2. ピクチャ出力について
出力されるべきピクチャについては、再サンプリング前の復号ピクチャは(必要に応じて)クロップされて出力される、すなわち再サンプリングされたピクチャは出力のためのものではなく、インター予測参照のためだけのものであることが提案される。ARC再サンプリングフィルタは、インター予測のための再サンプリングされたピクチャの使用が最適化されるように設計される必要があり、そのようなフィルタは、ピクチャの出力/表示目的には最適でない可能性があるのに対して、ビデオ端末装置は、既に実施されている、最適化された出力ズーミング/スケーリング機能を通常有する。
【0179】
2.2.5.3. 再サンプリングについて
復号ピクチャの再サンプリングは、ピクチャベース又はブロックベースのいずれかであり得る。VVCにおける最終的なARC設計では、ブロックベースの再サンプリングがピクチャベースの再サンプリングよりも望ましい。これらの2つのアプローチを議論し、これらの2つのうちのどちらをVVCにおけるARCサポートに指定するかをJVETが決定することを推奨する。
【0180】
ピクチャベースの再サンプリング
ARCのためのピクチャベースの再サンプリングでは、ピクチャは特定の解像度のために1回だけが再サンプリングされ、その後にそれがDPBに格納されるのに対して、同じピクチャの再サンプリングされていないバージョンもDPBに維持される。
【0181】
ARCのためにピクチャベースの再サンプリングの用いることには、1)再サンプリングされた参照ピクチャを格納するために追加のDPBバッファが必要になること及び2)DPBからの参照ピクチャデータの読み出し及びDPBへの参照ピクチャデータの書き込み動作の増加により、追加のメモリ帯域幅が必要であること、という2つの問題がある。
【0182】
DPBで参照ピクチャの1バージョンのみを保持することは、ピクチャベースの再サンプリングの場合良案ではない。再サンプリングされていないバージョンのみが保存されている場合、複数のピクチャは同じ参照ピクチャを参照し得るため、参照ピクチャを複数回再サンプリングする必要があり得る。他方で、参照ピクチャが再サンプリングされ、再サンプリングされたバージョンのみが保持される場合、参照ピクチャを出力する必要がある場合に逆再サンプリングを適用する必要がある。何故なら、上述したように、再サンプリングされていないピクチャを出力したほうが良いからである。これは、再サンプリングプロセスは可逆演算ではないため問題である。ピクチャAをとり、それをダウンサンプリングし、その後にアップサンプリングしてAと同じ解像度のA’を得た場合、AとA’とは同じではない。ダウンサンプリング及びアップサンプリングプロセスの間に一部の高周波数情報が失われたため、A’に含まれる情報はAよりも少なくなり得る。
【0183】
追加のDPBバッファ及びメモリ帯域幅の問題に対処するために、VVCにおけるARC設計がピクチャベースの再サンプリングを用いる場合、以下が適用されることが提案される。
【0184】
1.参照ピクチャが再サンプリングされる場合、参照ピクチャの再サンプリングされたバージョンと元の再サンプリングされたバージョンの双方がDPBに格納されるため、双方はDPBのフルネスに影響を及ぼす。
【0185】
2. 再サンプリングされた参照ピクチャは、対応する再サンプリングされていない参照ピクチャが「参照のために使用されない」とマークされている場合、「参照のために使用されない」とマークされる。
【0186】
3. 各タイルグループの参照ピクチャリスト(RPL)は、現在のピクチャと同じ解像度を有する参照ピクチャを含む。RPLシグナリングシンタックスを変更する必要はないが、RPL構築プロセスは、先の文で述べられたことを確実にするために、次のように修正される:参照ピクチャをRPLエントリに含める必要がある場合に、その参照ピクチャの現在のピクチャと同じ解像度を有するバージョンがまだ利用可能ではない場合、ピクチャ再サンプリングプロセスが呼び出され、その参照ピクチャの再サンプリングバージョンが含まれる。
【0187】
4. DPB内に存在し得る再サンプリングされた参照ピクチャの数は、例えば2以下に制限されるべきである。
【0188】
さらに、時間的MVが現在のフレームとは異なる解像度で参照フレームから来る場合に時間的MVの使用(例えば、マージモード及びATMVP)を可能にするために、時間的MVを現在の解像度に必要に応じてスケーリングすることを提案する。
【0189】
ブロックベースのARC再サンプリング
ARCのためのブロックベースの再サンプリングでは、参照ブロックは必要に応じて再サンプリングされ、再サンプリングされたピクチャはDPBに格納されない。
【0190】
ここでの主な問題は、付加的なデコーダの複雑性である。これは、参照ピクチャ内のブロックが、他のピクチャ内の複数のブロックにより及び複数のピクチャ内の複数のブロックにより複数回参照され得るからである。
【0191】
参照ピクチャ内のブロックが現在ピクチャ内のブロックによって参照され、参照ピクチャと現在ピクチャとの解像度が異なる場合、参照ブロックは、参照ブロックが整数ピクセルの解像度を有するように補間フィルタの呼び出しによって再サンプリングされる。動きベクトルが1/4ピクセル単位の場合、1/4ピクセル単位の解像度で再サンプリングされた参照ブロックを得るために補間プロセスが再度呼び出される。したがって、異なる解像度を伴う参照ブロックからの現在のブロックのための各動き補償動作に対して、1つの代わりに最大で2回の補間フィルタリング動作が必要になる。ARCサポートなしでは、最大で1回だけの補間フィルタリング動作(即ち、1/4ピクセル単位の解像度での参照ブロックの生成)が必要になる。
【0192】
最悪ケースの複雑性を制限するために、VVCにおけるARC設計がブロックベースの再サンプリングを用いる場合、以下が適用されることが提案される。
【0193】
-現在のピクチャとは異なる解像度を有する参照ピクチャからのブロックの双方向予測を禁止される。
【0194】
-より正確に言えば、制約は次の通りである。現在のピクチャピクチャpicA内の現在のブロックblkAが参照ピクチャpicB内の参照ブロックblkBを参照する場合、picA及びpicBが異なる解像度を有する場合、ブロックblkAは単方向予測ブロックとする。
【0195】
この制約により、ブロックを復号化するために必要な最悪の場合の補間動作の数は2つに制限される。ブロックが異なる解像度のピクチャからのブロックを参照する場合、必要な補間動作の数は、上述のように2である。これは、ブロックが同じ解像度のピクチャからの参照ブロックを参照し、双方向予測ブロックとして符号化される場合と同じである。何故なら、補間動作の数も2だからである(すなわち、各参照ブロックについて1/4ピクセル単位の解像度を得るために1回)。
【0196】
実施を簡素化するために、VVCにおけるARC設計がブロックベースの再サンプリングを用いる場合、以下が適用される別のバリエーションが提案される。
【0197】
-参照フレーム及び現在のフレームが異なる解像度を有する場合、予測子の各ピクセルの対応する位置が最初に計算され、その後に補間は1回だけ適用される。すなわち、2回の補間動作(すなわち、再サンプリングのための1回及び1/4ピクセル単位の補間のために1回)は1回だけの補間動作に組み合わされる。現在のVVCにおけるサブペル(sub-pel)補間フィルタは再利用できるが、この場合、補間の粒度は拡大されるべきであるが、補間動作の回数は2回から1回に減らされる。
【0198】
-時間的MVが現在のフレームとは異なる解像度で参照フレームから来る場合に時間的MVの使用(例えば、マージモード及びATMVP)を可能にするために、時間的MVを現在の解像度に必要に応じてスケーリングすることを提案する。
【0199】
再サンプリング比
JVET-M0135[1]では、ARCについての議論を開始するために、ARCの開始点について、2倍(アップサンプリングでは2×2、ダウンサンプリングでは1/2×1/2を意味する)の再サンプリング比のみを考慮することが提案されている。マラケシュ会議後のこの話題に関するさらなる議論から、2倍の再サンプリング比のみをサポートすることは非常に限定的であることが分かった。何故なら、場合によっては、再サンプリングされた解像度と再サンプリングされていない解像度との差が小さい方が有益であり得るからである。
【0200】
任意の再サンプリング比をサポートすることが望ましいかもしれないが、それをサポートすることは困難であり得る。何故なら、任意の再サンプリング比をサポートするためには、定義して実施する必要がある再サンプリングフィルタの数が多すぎることになり、デコーダの実施に大きな負担を課すことになるからである。
【0201】
1よりも大きいが小さな数(少なくとも1.5倍及び2倍の再サンプリング比)の再サンプリング比がサポートされる必要であり、任意の再サンプリング比はサポートされないことが提案されている。
【0202】
2.2.5.4 最大DPBバッファサイズ及びバッファフルネス
ARCでは、DPBは同じCVS内で異なる空間分解能の復号ピクチャを含み得る。DPB管理及び関連する側面について、復号ピクチャの単位でDPBサイズ及びフルネスをカウントすることはもはや機能しない。
【0203】
以下は、ARCがサポートされている場合に対処する必要がある特定の側面と、最終的なVVCの仕様における可能性のある解決策についての議論である。
【0204】
1. PicSizeInSamplesY(すなわち、PicSizeInSamplesY =
pic_width_in_luma_samples * pic_height_in_luma_samples)の値をMaxDpSize(すなわち、DPBに存在し得る参照ピクチャの最大数)の導出に用いる代わりに、MaxDpbSizeの導出は、MinPicSizeInSamplesYの値に基づく。MinPicSizeInSamplesYは以下のように定義される。
【0205】
MinPicSizeInSampleY=(ビットストリームにおける最小ピクチャ解像度の幅)*(ビットストリームにおける最小解像度の高さ)
MaxDpbSizeの導出は(HEVC式に基づいて)以下のように修正される。
【0206】
【数5】
【0207】
2. 各復号ピクチャは、PictureSizeUnitと呼ばれる値に関連する。PictureSizeUnitは、復号ピクチャサイズがMinPicSizeInSampleYに対してどれくらい大きいかを指定する整数の値である。PictureSizeUnitの定義は、VVCにおけるARCでどの再サンプリング比がサポートされているかによって決まる。
【0208】
例えば、ARCが再サンプリング比2のみをサポートする場合、PictureSizeUnitは次のように定義される。
【0209】
-ビットストリームにおける最小解像度を有する復号ピクチャは、1のPictureSizeUnitに関連する。
【0210】
-ビットストリームにおける最小解像度の2×2の解像度を有する復号ピクチャは、4のPictureSizeUnit(すなわち、1×4)に関連する。
【0211】
別の例では、ARCが1.5及び2の再サンプリング比の両方をサポートする場合、PictureSizeUnitは以下のように定義される。
【0212】
-ビットストリームにおける最小解像度を有する復号ピクチャは、4のPictureSizeUnitに関連する。
【0213】
-ビットストリームにおける最小解像度の1.5×1.5の解像度を有する復号ピクチャは、9のPictureSizeUnit(すなわち、2.25×4)に関連する。
【0214】
-ビットストリームにおける最小解像度の2×2の解像度を有する復号ピクチャは、16のPictureSizeUnit(すなわち、4×4)に関連する。
【0215】
ARCによってサポートされるその他の再サンプリング比については、上記の例と同じ原則を用いて、各ピクチャサイズについてのPictureSizeUnitの値を決定すべきである。
【0216】
3. 変数MinPictureSizeUnitをPictureSizeUnitの可能な最小値とする。つまり、ARCが再サンプリング比2のみをサポートする場合、MinPictureSizeUnitは1であり、ARCが再サンプリング比1.5及び2をサポートする場合、MinPictureSizeUnitは4であり、MinPictureSizeUnitの値を決定するための同じ原理が用いられる。
【0217】
4. sps_max_dec_pic_buffering_minus1[i]の値の範囲は、0~(MinPictureSizeUnit * (MaxDpbSize - 1))の範囲に指定される。変数MinPictureSizeUnitは、PictureSizeUnitの可能な最小値である。
【0218】
5.DPBフルネス動作は、PictureSizeUnitに基づいて以下のように規定される。
【0219】
-HRDは復号ユニット0で初期化され、CPB及びDPBは共に空に設定される(DPBフルネスは0に設定される)。
【0220】
-DPBがフラッシュされる(すなわち、全てのピクチャがDPBから削除される)場合、DPBフルネスは0に設定される。
【0221】
-ピクチャがDPBから削除された場合、DPBフルネスは削除されたピクチャに関連するPictureSizeUnitの値だけデクリメントされる。
【0222】
-ピクチャがDPBに挿入された場合、DPBフルネスは、挿入されたピクチャに関連するPictureSizeUnitの値だけインクリメントされる。
【0223】
2.2.5.5 再サンプリングフィルタ
ソフトウェア実施では、実施される再サンプリングフィルタは、JCTVC-H0234[3]に記載されている前に利用可能なフィルタから単純に取られている。他の再サンプリングフィルタをテストし、それらがより良い性能及び/又はより低い複雑性を提供する場合には、それらを用いるべきである。複雑性と性能の間のトレードオフを取り決めるために、様々な再サンプリングフィルタをテストすることが提案される。そのようなテストはCEで行うことができる。
【0224】
2.2.5.6 既存のツールに対するその他の必要な修正
ARCをサポートするために、既存のコーディングツールの一部に対して、いくつかの修正及び/又は追加の動作が必要になり得る。例えば、ARCソフトウェア実施のピクチャベースの再サンプリングでは、簡素化のために、現在のピクチャ及び参照ピクチャの元の符号化解像度が異なる場合に、TMVP及びATMVPは無効にされる。
【0225】
2.2.6 JVET-N0279
「将来のビデオ符号化規格のための要件」によれば、「それぞれが異なる特性(例えば、空間分解能又はサンプルビット深度)を有する同一コンテンツの複数の表現を提供するアダプティブストリーミングサービスの場合、規格は高速な表現スイッチングをサポートするものとする」とされている。リアルタイムのビデオ通信では、Iピクチャを挿入することなく、符号化ビデオシーケンス内の解像度を変化させることは、ビデオデータを動的チャネル条件又はユーザの好みにシームレスに適合させるだけでなく、Iピクチャによってもたらされるビート効果を取り除くことができる。適応的解像度変更の仮想的な例が図14に示され、ここでは、現在のピクチャは異なるサイズの参照ピクチャから予測される。
【0226】
この貢献は、VTMにおける現在の動き補償予測プロセスに、適応的解像度変更及び修正をシグナリングする高レベルシンタックスを提案する。これらの修正は、既存の動き補償補間器に変更を加えずに、動きベクトルスケーリング及びサブペル位置導出に限定される。これは、既存の動き補償補間器が再利用されることを可能にし、追加コストをもたらし得る適応的解像度変更をサポートするための新たな処理ブロックを必要としない。
【0227】
2.2.6.1 適応的解像度変更シグナリング
【0228】
【表12】
【0229】
[[pic_width_in_luma_samples]
は、各復号ピクチャの幅をルーマサンプル単位で指定する。pic_width_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。
pic_height_in_luma_samplesは、各復号ピクチャの高さをルーマサンプル単位で指定する。pic_height_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。]]
【0230】
max_pic_width_in_luma_samplesは、SPSを参照する復号ピクチャの最大幅をルーマサンプル単位で指定する。max_pic_width_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。
【0231】
max_pic_height_in_luma_samplesは、SPSを参照する復号ピクチャの最大高さをルーマサンプル単位で指定する。max_pic_height_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。
【0232】
【表13】
【0233】
pic_size_difference_from_max_flag=1は、PPSが参照されたSPSのmax_pic_width_in_luma_samples及びmax_pic_height_in_luma_sampleとは異なるピクチャ幅又ピクチャ高さをシグナリングすることを指定する。pic_size_different_from_max_flag=0は、pic_width_in_luma_samples及びpic_height_in_luma_samplesが、参照されたSPSのmax_pic_width_in_luma_samples及びmax_pic_height_in_luma_sampleと同じであることを指定する。
【0234】
pic_width_in_luma_samplesは、各復号ピクチャの幅をルーマサンプル単位で指定する。pic_width_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。pic_width_in_luma_samplesが存在しない場合、それはmax_pic_width_in_luma_samplesと等しいと推定される。
【0235】
pic_height_in_luma_samplesは、各復号ピクチャの高さをルーマサンプル単位で指定する。pic_height_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。pic_height_in_luma_samplesが存在しない場合、それはmax_pic_height_in_luma_samplesと等しいと推定される。
【0236】
水平及び垂直スケーリング比は、全てのアクティブ参照ピクチャに対して、1/8~2の範囲とすることがビットストリーム適合の要件である。スケーリング比は以下のように定義される。
【0237】
horizontal_scaling_ratio=((reference_pic_width_in_luma_samples<<14)+(pic_width_in_luma_samples/2))/pic_width_in_luma_samples
vertical_scaling_ratio=((reference_pic_height_in_luma_samples<<14)+(pic_height_in_luma_samples/2))/pic_height_in_luma_samples
【0238】
【表14】
【0239】
参照ピクチャスケーリングプロセス
CVS内で解像度変更がある場合、ピクチャは、その参照ピクチャの1つ以上と異なるサイズを有し得る。この提案は、全ての動きベクトルを、それらの対応する参照ピクチャのグリッドの代わりに、現在のピクチャのグリッドに正規化する。これは、設計の一貫性を維持し、解像度変更を動きベクトル予測プロセスに対して透明性のあるものにする上で有益であると主張される。さもなければ、異なるサイズの参照ピクチャを指す隣接する動きベクトルは、スケーリングが異なることにより、空間的動きベクトル予測に直接用いることができない。
【0240】
解像度変更が起こると、動き補償予測を行う間に動きベクトル及び参照ブロックの双方をスケーリングする必要がある。スケーリング範囲は[1/8、2]に限定されている。すなわち、アップスケーリングは1:8に制限され、ダウンスケーリングは2:1に制限されている。なお、アップスケーリングとは、参照ピクチャが現在のピクチャよりも小さい場合を意味するのに対して、ダウンスケーリングとは、参照ピクチャが現在のピクチャより大きい場合を意味する。以下のセクションでは、スケーリングプロセスをより詳細に説明する。
【0241】
ルーマブロック
スケーリング係数及びそれらの固定点表現は以下のように定義される。
【0242】
【数6】
【0243】
【数7】
スケーリングプロセスには2つの部分がある。
【0244】
1.現在のブロックの左上隅のピクセルを参照ピクチャにマップする。
【0245】
2.現在のブロックの他のピクセルの参照位置を指定するために水平及び垂直のステップサイズを用いる。
【0246】
現在のブロックの左上隅のピクセルの座標が(x、y)の場合、1/16ピクセルの単位で動きベクトル(mvX、mvY)によって指される参照ピクチャ内のサブペル位置(x^’、y^’)は以下のように指定される。
【0247】
参照ピクチャの水平位置は次のようになる。
【0248】
【数8】
【0249】
10ビットだけを保持するためにx’がさらに縮小される。
【0250】
【数9】
【0251】
同様に、参照ピクチャの垂直位置は次のようになる。
【数10】
【0252】
y’はさらに縮小される。
【0253】
【数11】
【0254】
この時点で、現在のブロックの左上隅のピクセルの参照位置は(x^’、y^’)にある。他の参照サブプル/ピクセル位置は、水平及び垂直ステップサイズで(x^’、y^’)に対して計算される。これらのステップサイズは、上記の水平及び垂直スケーリング係数から1/1024ピクセル単位の精度で以下のように導出される。
【0255】
【数12】
【0256】
【数13】
一例として、現在のブロック内のピクセルがi列であり、左上隅のピクセルからj列離れている場合、その対応する参照ピクセルの水平及び垂直座標は以下のように導出される。
【0257】
【数14】
【0258】
【数15】
【0259】
サブペル補間では、x’、y’をフルペル部及び部分ペル部に分割する必要がある。
【0260】
-参照ブロックをアドレスするためのフルペル部は以下と等しい。
【0261】
【数16】
【0262】
【数17】
【0263】
-補間フィルタの選択に用いられ得る部分ペル部は以下と等しい。
【0264】
【数18】
【0265】
【数19】
【0266】
参照ピクチャ内のフルペル位置及び部分ペル位置が特定された場合、追加の変更なしに既存の動き補償を用いることができる。フルペル位置は、参照ピクチャから基準ブロックパッチを取得するために用いられ、部分ペル位置は、適切な補間フィルタを選択するために用いられる。
【0267】
クロマブロック
クロマフォーマットが4:2:0の場合、クロマ動きベクトルは1/32ピクセル単位の精度を有する。クロマ動きベクトル及びクロマ参照ブロックのスケーリングプロセスは、クロマフォーマット関連の調整を除いて、ルーマブロックの場合とほぼ同じである。
【0268】
現在のクロマブロックの左上隅のピクセルの座標が(xc、yc)の場合、参照クロマピクチャの初期水平及び垂直位置は次のようになる。
【0269】
【数20】
【0270】
【数21】
【0271】
ここで、mvX及びmvYは元のルーマ動きベクトルであるが、今度は1/32ピクセル単位の精度で検査すべきである。
【0272】
1/1024ピクセル単位の精度を維持するために、xc’及びyc’がさらに縮小される。
【0273】
【数22】
【0274】
【数23】
【0275】
関連するルーマの方程式と比較して、上記の右側へのシフトは1ビット増加する。
【0276】
使用するステップサイズはルーマとの場合と同じである。左上隅のピクセルに対して(i、j)にあるクロマピクセルについて、その参照ピクセルの水平及び垂直座標は下記に導出される。
【0277】
【数24】
【0278】
【数25】
【0279】
サブペル補間では、x、yもフルペル部及び部分ペル部に分割される。
【0280】
-参照ブロックをアドレスするためのフルペル部は以下と等しい。
【0281】
【数26】
【0282】
【数27】
【0283】
補間フィルタの選択に用いられる部分ペル部は以下と等しい。
【0284】
【数28】
【0285】
【数29】
【0286】
他の符号化ツールとの相互作用
一部の符号化ツールと参照ピクチャスケーリングとの相互作用に伴う複雑性及びメモリ帯域幅の増加により、VVC仕様に以下の制約を加えることが推奨される。
【0287】
tile_group_temporal_mvp_enabled_flag=1の場合、現在のピクチャ及びそのコロケーションされたピクチャは同じサイズを有するものとする。
【0288】
シーケンス内で解像度変更が許容される場合、デコーダの動きベクトル精密化はオフにすべきである。
【0289】
シーケンス内で解像度変更が許可される場合、sps_bdof_enabled_flag=0とする。
【0290】
2.3 JVET-N0415における符号化ツリーブロック(CTB)ベースの適応ループフィルタ(ALF)
スライスレベルの時間フィルタ
VTM4では適応パラメータセット(APS)が採用された。各APSは1セットのシグナリングALFフィルタを含み、最大で32のAPSがサポートされる。提案では、スライスレベルの時間フィルタがテストされた。タイルグループは、オーバーヘッドを減らすためにAPSからのALF情報を再利用できる。APSは先入れ先出し(FIFO)バッファとして更新される。
【0291】
CTBベースのALF
ルーマコンポーネントの場合、ALFがルーマCTBに適用された場合、16の固定フィルタセット、5つの時間フィルタセット又は1つの信号フィルタセットのうちの選択肢が示される。フィルタセットインデックスのみがシグナリングされる。1つのスライスに対して、新たな25のフィルタセット1つだけをシグナリングできる。新たなセットがスライスにシグナリングされた場合、同じスライス内の全てのルーマCTBはそのセットを共有する。固定フィルタセットは新たなスライスレベルフィルタセットを予測するために用いることができ、ルーマCTBのフィルタセット候補として用いることができる。フィルタの数は合計で64である。
【0292】
クロマコンポーネントの場合、ALFがクロマCTBに適用された場合、新たなフィルタがスライスに対してシグナリングされた場合、CTBは新たなフィルタを用い、さもなくば、時間的スケーラビリティ制約を満たす最新の時間的クロマフィルタが適用される。
【0293】
スライスレベルの時間フィルタとして、APSは先入れ先出し(FIFO)バッファとして更新される。
【0294】
2.4 代替的な時間的動きベクトル予測(VVCにおけるサブブロックベースの時間的マージ候補としても知られる)
代替的な時間的動きベクトル予測(ATMVP)法では、動きベクトル時間的動きベクトル予測(TMVP)を、現在のCUよりも小さいブロックから複数のセットの動き情報(動きベクトル及び参照インデックスを含む)を取り出すことにより修正されている。図14に示すように、サブCUは正方形のN×Nブロックである(Nはデフォルトで8に設定されている)。
【0295】
ATMVPは、CU内のサブCUの動きベクトルを2段階で予測する。第1のステップは、いわゆる時間ベクトルを用いて参照ピクチャ内の対応するブロックを識別することである。この参照ピクチャは動きソースピクチャと呼ばれる。第2のステップは、現在のCUをサブCUに分割して、CUのATMVP動き予測の例を示す図15に示すように、各サブCUに対応するブロックから、各サブCUの参照インデックスに加えて動きベクトルを得ることである。
【0296】
第1のステップでは、参照ピクチャ及び対応するブロックは、現在のCUの空間的隣接ブロックの動き情報によって決定される。隣接ブロックの繰り返しの走査プロセスを避けるために、現在のCUのマージ候補リスト内のブロックA0(左ブロック)からのマージ候補が用いられる。コロケーションされた参照ピクチャを参照するブロックA0からの第1の利用可能な動きベクトルは時間ベクトルとして設定される。このように、ATMVPでは、対応するブロックは、TMVPに比べてより正確に識別され得る。対応するブロック(コロケーションされたブロックと呼ばれることもある)は、現在のCUに対して常に右下又は中心位置にある。
【0297】
第2のステップにおいて、サブCUの対応するブロックは、現在のCUの座標に時間ベクトルを加えることにより、動きソースピクチャ内の時間ベクトルによって識別される。各サブCUに対して、その対応するブロックの動き情報(中心サンプルをカバーする最小の動きグリッド)を用いてサブCUの動き情報が導出される。対応するN×Nブロックの動き情報が識別された後で、HEVCのTMVPと同じ様に、現在のサブCUの動きベクトル及び参照インデックスに変換され、動きスケーリング及び他の手順が適用される。
【0298】
2.5 アフィン動き予測
HEVCでは、並進運動モデル(translation motion model)しか動き補償予測(Motion Compensation Prediction,MCP)のために適用されない。現実世界では、多くの種類の動き、例えば、ズームイン/アウト、回転、射影運動及び他の不規則な動きを有する可能性がある。VVCでは、簡素化されたアフィン変換動き補償予測が4パラメータアフィンモデル及び6パラメータアフィンモデルにより適用される。図16a及び図16bは簡素化された4パラメータアフィンモデル及び6パラメータアフィンモデルをそれぞれ示す。図16a及び図16bに示すように、ブロックのアフィン運動場は、4パラメータアフィンモデルについては2つの制御点動きベクトル(Control Point Motion Vectors,CPMV)及び6パラメータアフィンモデルについては3つのCPMVによって記述される。
【0299】
ブロックの動きベクトル場(Motion Vector Field、MVF)は、式(1)の4パラメータアフィンモデル(ここで、4パラメータは、変数a、b、e及びfとして定義されている)及び式(2)の6パラメータアフィンモデル(ここで、6パラメータは、a、b、c、d、e及びfとして定義されている。)によりそれぞれ、次の式によって記述される。
【0300】
【数30】
【0301】
ここで、(mvh0、mvh0)は、左上隅の制御点の動きベクトルであり、(mvh1、mvh1)は、右上隅の制御点の動きベクトルであり、(mvh2、mvh2)は、左下隅の制御点の動きベクトルであり、これら3つの動きベクトルは全てが制御点動きベクトル(CPMV)と呼ばれ、(x、y)は、現在のブロック内の左上サンプルに対する代表点の座標を表し、(mvh(x、y)、mvv(x、y))は、(x、y)に位置しているサンプルについて導出された動きベクトルである。CP動きベクトルは、シグナリング(アフィンAMVPモードと同様)されるか又はオンザフライで導出(アフィンモードと同様)されてよい。w及びhは、現在のブロックの幅及び高さである。実際に、分割は、丸め演算付き右シフトによって実施される。VTMでは、代表点は、サブブロックの中心位置であるよう定義され、例えば、現在のブロック内の左上サンプルに対するサブブロックの左上隅の座標が(xs、ys)である場合に、代表点の座標は、(xs+2、ys+2)であるよう定義される。各サブブロック(すなわち、VTMでは4×4)について、代表点は、そのサブブロック全体の動きベクトルを導出するために利用される。
【0302】
動き補償予測をさらに簡素化するために、サブブロックベースのアフィン変換予測が適用される。各M×Nサブブロック(M及びNは両方とも、現在のVVCでは、4にセットされる。)の動きベクトルを導出するために、図17に示される各サブブロックの中心サンプルの動きベクトルは、式(25)及び(26)に従って計算され、1/16分数精度に丸められ得る。次いで、1/16ペルのための動き補償補間フィルタが、導出された動きベクトルにより各サブブロックの予測を生成するために適用される。1/16ペルのための補間フィルタがアフィンモードによって導入される。
【0303】
MCPの後、各サブブロックの高精度動きベクトルは丸められ、通常の動きベクトルと同じ精度としてセーブされる。
【0304】
2.5.1 アフィン予測のシグナリング
並進運動モデルと同様に、アフィンモデルによるサイド情報をシグナリングするための2つのモードもある。それらは、AFFINE_INTERモード及びAFFINE_MERGEモードである。
【0305】
2.5.2 AF_INTERモード
幅及び高さの両方が8よりも大きいCUについては、AF_INTERモードが適用され得る。CUレベルでのアフィンフラグは、AF_INTERモードが使用されるかどうかを示すためにビットストリームでシグナリングされる。
【0306】
このモードで、各参照ピクチャリスト(List0又はList1)について、アフィンAMVP候補リストは、次の順序で3つのタイプのアフィン動き予測子により構成され、各候補は、現在のブロックの推定されたCPMVを含む。エンコーダ側で見つけられた最良のCPMV(例えば、図18a及び図18bのmv、mv、mv)と推定されたCPMVとの差がシグナリングされる。加えて、推定されたCPMVが導出されるアフィンAMVP候補のインデックスがさらにシグナリングされる。
【0307】
1)遺伝的アフィン動き予測子
検査順序は、HEVC AMVPリスト構成における空間MVPのそれと同様である。最初に、現在のブロックと同じ参照ピクチャを有し、アフィンコーディングされている{A1、A0}内の最初のブロックから、左側の遺伝的アフィン動き予測子が導出される。第2に、現在のブロックと同じ参照ピクチャを有し、アフィンコーディングされている{B1、B0、B2}内の最初のブロックから、上側の遺伝的アフィン動き予測子が導出される。5つのブロックA1、A0、B1、B0、B2は図19に表されている。
【0308】
隣接するブロックがアフィンモードでコーディングされていると分かると、隣接するブロックをカバーするコーディングユニットのCPMVは、現在のブロックのCPMVの予測子を導出するために使用される。例えば、A1が非アフィンモードでコーディングされ、A0が4パラメータアフィンモードでコーディングされる場合に、左側の遺伝的アフィンMV予測子はA0から導出されることになる。この場合に、図18bで左上CPMVについてはMV 及び右上CPMVについてはMV によって表されている、A0をカバーするCUのCPMVは、現在のブロックの左上位置(座標(x0、y0)を有する)、右上位置(座標(x1、y1)を有する)及び右下位置(座標(x2、y2)を有する)についてMV 、MV 、MV によって表される現在のブロックの推定されたCPMVを導出するために利用される。
【0309】
2)構成されたアフィン動き予測子
構成されたアフィン動き予測子は、同じ参照ピクチャを有している、図20に示されるような隣接するインターコーディングされたブロックから導出される制御点動きベクトル(CPMV)から成る。現在のアフィン運動モデルが4パラメータアフィンである場合に、CPMVの数は2であり、そうではなく、現在のアフィン運動モデルが6パラメータアフィンである場合に、CPMVの数は3である。左上CPMV
〔外1〕
(以降、バーmv)は、現在のブロックと同じ参照ピクチャを有している、インターコーディングされているグループ{A、B、C}内の最初のブロックでのMVによって、導出される。右上CPMV
〔外2〕
(以降、バーmv)は、現在のブロックと同じ参照ピクチャを有している、インターコーディングされているグループ{D、E}内の最初のブロックでのMVによって、導出される。左下CPMV
〔外3〕
(以降、バーmv)は、現在のブロックと同じ参照ピクチャを有している、インターコーディングされているグループ{F、G}内の最初のブロックでのMVによって、導出される。
【0310】
-現在のアフィン運動モデルが4パラメータアフィンである場合に、構成されたアフィン動き予測子は、バーmv及びバーmvの両方が求められる、つまり、バーmv及びバーmvが現在のブロックの左上位置(座標(x0、y0)を有する)及び右上位置(座標(x1、y1)を有する)についての推定されたCPMVとして使用される場合にのみ、候補リストに挿入される。
【0311】
-現在のアフィン運動モデルが6パラメータアフィンである場合に、構成されたアフィン動き予測子は、バーmv、バーmv、及びバーmvが全て求められる、つまり、バーmv、バーmv、及びバーmvが現在のブロックの左上位置(座標(x0、y0)を有する)、右上位置(座標(x1、y1)を有する)及び右下位置(座標(x2、y2)を有する)についての推定されたCPMVとして使用される場合にのみ、候補リストに挿入される。
【0312】
構成されたアフィン動き予測子を候補リストに挿入する場合に、プルーニングプロセスは適用されない。
【0313】
3)通常のAMVP動き予測子
以下は、アフィン動き予測子の数が最大値に達するまで適用される。
【0314】
i.利用可能である場合に全てのCPMVをバーmvに等しくセットすることによってアフィン動き予測子を導出する。
【0315】
ii.利用可能である場合に全てのCPMVをバーmvに等しくセットすることによってアフィン動き予測子を導出する。
【0316】
iii.利用可能である場合に全てのCPMVをバーmvに等しくセットすることによってアフィン動き予測子を導出する。
【0317】
iv.利用可能である場合に全てのCPMVをHEVC TMVPに等しくセットすることによってアフィン動き予測子を導出する。
【0318】
v.全てのCPMVをゼロMVにセットすることによってアフィン動き予測子を導出する。
【0319】
留意されるべきは、
〔外4〕
(以降、バーmv)は、構成されたアフィン運動では既に導出されている点である。
【0320】
AF_INTERモードでは、4又は6パラメータアフィンモードが使用される場合に、2又は3つの制御点が必要とされるので、2つ又は3つのMVDが、図18a及び図18bに示されるように、それらの制御点に対してコーディングされる必要がある。JVET-K0337では、MVを次のように導出することが提案されており、すなわち、mvdからmvd及びmvdが予測される。
【0321】
【数31】
【0322】
ここで、バーmv、mvd及びmvは、図18(b)に示されるように、それぞれ、左上ピクセル(i=0)、右上ピクセル(i=1)、又は左下ピクセル(i=2)の予測された動きベクトル、動きベクトル差分及び動きベクトルである。なお、2つの動きベクトル(例えば、mvA(xA、yA)及びmvB(xB、yB))の追加は、別々に2つの成分の和に等しい。すなわち、newMV=mvA+mvBであり、newMVの2つの成分はそれぞれ、(xA+xB)及び(yA+yB)にセットされる。
【0323】
2.5.2.1 AF_MERGEモード
CUがAF_MERGEモードで適用される場合に、それは、有効な隣接する再構成されたブロックからアフィンモードによりコーディングされた最初のブロックを得る。図21はAF_MERGEの候補を示す。候補ブロックの選択順序は、図21aに示されるように、左から、上、右上、左下、左上へである(順にA、B、C、D、Eによって表される)。例えば、隣接する左下ブロックが、図21bでA0によって表されるように、アフィンモードでコーディングされる場合に、ブロックAを含む隣接するCU/PUの左上隅、右上隅、及び左下隅の制御点(CP)動きベクトルmv 、mv 及びmv がフェッチされる。そして、現在のCU/PU上の左上隅/右上/左下の動きベクトルmv 、mv 及びmv (6パラメータアフィンモデルのためにのみ使用される)は、mv 、mv 及びmv に基づいて計算される。なお、VTM-2.0では、現在のブロックがアフィンコーディングされている場合に、左上隅に位置するサブブロック(例えば、VTMでは、4×4ブロック)は、mv0を保存し、右上隅にあるサブブロックは、mv1を保存する。現在のブロックが6パラメータアフィンモデルでコーディングされる場合には、左下隅にあるサブブロックは、mv2を保存し、そうでない(4パラメータアフィンモデルによる)場合には、LBはmv2’を保存する。他のサブブロックは、MCのために使用されるMVを保存する。
【0324】
現在のCUのCPMVであるmv0C、mv1C及びmv2Cが、簡素化されたアフィン運動モデルである式25及び26に従って導出された後、現在のCUのMVFが生成される。現在のCUがAF_MERGEモードでコーディングされているかどうかを識別するために、アフィンモードでコーディングされている少なくとも1つの隣接ブロックがある場合に、アフィンフラグがビットストリームでシグナリングされる。
【0325】
JVET-L0142及びJVET-L0632では、アフィンマージ候補リストは、次のステップで構成される。
【0326】
1)遺伝的アフィン候補の挿入
遺伝によるアフィン候補(inherited affine candidate)とは、候補が、その有効な隣接するアフィンコーディングされたブロックのアフィン運動モデルから導出されることを意味する。最大2つの遺伝的アフィン候補が、隣接ブロックのアフィン運動モデルから導出され、候補リストに挿入される。左側予測子については、走査順序は{A0、A1}であり、上側予測子については、走査順序は{B0、B1、B2}である。
【0327】
2)構成されたアフィン候補の挿入
アフィンマージ候補リスト内の候補の数がMaxNumAffineCand(例えば、5つ)に満たない場合には、構成されたアフィン候補(constructed affine candidates)が候補リストに挿入される。構成されたアフィン候補とは、候補が、各制御点の隣接動き情報を結合することによって構成されることを意味する。
【0328】
a)制御点の動き情報は、最初に、図22に示されている指定された空間近傍及び時間近傍から導出される。CPk(k=1、2、3、4)は、k番目の制御点を表す。A0、A1、A2、B0、B1、B2及びB3は、CPk(k=1、2、3)を予測するための空間的位置である。Tは、CP4を予測するための時間的位置である。
【0329】
CP1、CP2、CP3及びCP4の座標は、それぞれ(0、0)、(W、0)、(H、0)及び(W、H)であり、ここで、W及びHは、現在のブロックの幅及び高さである。
【0330】
各制御点の動き情報は、次の優先順序に従って取得される:
-CP1については、チェック優先度はB2→B3→A2である。B2は、それが利用可能である場合に使用される。そうではない場合に、B3が利用可能であるならば、B3が使用される。B2及びB3の両方が利用不可能である場合には、A2が使用される。3つ全ての候補が利用不可能である場合には、CP1の動き情報は取得不可能である。
【0331】
-CP2については、チェック優先度はB1→B0である。
【0332】
-CP3については、チェック優先度はA1→A0である。
【0333】
-CP4については、Tが使用される。
【0334】
b)第2に、制御点の組み合わせが、アフィンマージ候補を構成するために使用される。
【0335】
-3つの制御点の動き情報が、6パラメータアフィン候補を構成するために必要とされる。3つの制御点は、次の4つの組み合わせ({CP1、CP2、CP4}、{CP1、CP2、CP3}、{CP2、CP3、CP4}、{CP1、CP3、CP4})のうちの1つから選択され得る。組み合わせ{CP1、CP2、CP3}、{CP2、CP3、CP4}、{CP1、CP3、CP4}は、左上、右上、及び左下制御点によって表される6パラメータ運動モデルへ変換されることになる。
【0336】
-2つの制御点の動きベクトルが、4パラメータアフィン候補を構成するために必要とされる。2つの制御点は、次の2つの組み合わせ({CP1、CP2}、{CP1、CP3})のうちの1つから選択され得る。2つの組み合わせは、左上及び右上制御点によって表される4パラメータ運動モデルへ変換されることになる。
【0337】
-構成されたアフィン候補の組み合わせは、次の順序:{CP1、CP2、CP3}、{CP1、CP2、CP4}、{CP1、CP3、CP4}、{CP2、CP3、CP4}、{CP1、CP2}、{CP1、CP3}として候補リストに挿入される。
【0338】
i.組み合わせごとに、各CPのためのリストXの参照インデックスはチェックされ、それらが全て同じである場合に、この組み合わせはリストXの有効なCPMVを有している。組み合わせがリスト0及びリスト1の両方の有効なCPMVを有してない場合には、この組み合わせは無効とマークされる。そうでない場合には、それは有効であり、CPMVはサブブロックマージリストに置かれる。
【0339】
3)ゼロアフィン動きベクトル候補によるパディング
アフィンマージ候補リスト内の候補の数が5よりも少ない場合に、リストがフルになるまでゼロ参照インデックスのゼロ動きベクトルが候補リストに挿入される。
【0340】
より具体的には、サブブロックマージ候補リストについて、4パラメータマージ候補は、MVが(0、0)にセットされ、予測方向がリスト0からの一方向予測(Pスライスの場合)及び双方向予測(Bスライスの場合)にセットされる。
【0341】
既存の実装の欠点
VVCに適用する場合、ARCは以下の課題を有し得る。
【0342】
ALF、ルーママッピングクロマスケーリング(LMCS)、デコーダ側動きベクトルリファインメント(DMVR)、双方向光学フロー(BDOF)、アフィン予測、三角予測モード(TPM)、対称動きベクトル差(SMVD)、マージ動きベクトル差(MMVD)、インターイントラ予測(VVCでは併用インターピクチャマージ及びイントラピクチャマージ(CIIP)としても知られている)、局所化照明圧縮(LIC)及び履歴ベースの動きベクトル予測(HMVP)等の符号化ツールをVVCに適用されるかは不明である。
【0343】
適応的解像度変換でツールを符号化するための例示の方法
開示の技術の実施形態は既存の実施の欠点を克服する。以下に示す開示の技術の例は、開示の技術の理解を促進するために議論され、開示の技術を制限する方法で解釈されるべきである。別段明示がない限り、これらの例で説明する様々な特徴は組み合わせることができる。
【0344】
以下の議論では、SatShift(x、n)は以下のように定義される。
【0345】
【数32】
【0346】
Shift(x、n)は、Shift(x、n)=(x+offset0)>>nと定義される。
【0347】
1つの例では、offset0及び/又はoffset1は、(1<<n)>>1又は(1<<(n-1))に設定される。別の例では、offset0及び/又はoffset1は0に設定される。
【0348】
別の例では、offset0=offset1=((1<<n)>>1)-1又は((1<<(n-1)))-1である。
【0349】
Clip3(min、max、x)は以下のように定義される。
【0350】
【数33】
【0351】
Floor(x)はx以下の最も大きい整数として定義される。
【0352】
Ceil(x)はx以上の最も小さい整数である。
【0353】
Log2(x)はxの基数-2の対数として定義される。
【0354】
開示の技術の実施の一部の側面を以下に列挙する。
【0355】
1. MMVD/SMVDにおけるMVオフセット及び/又はコーダ側導出プロセスにおける精密化された動きベクトルの導出は、現在のブロックに関連する参照ピクチャの解像度及び現在のピクチャの解像度に依存し得る。
a.例えば、第2の参照ピクチャを参照する第2のMVオフセットは、第1の参照ピクチャを参照する第1のMVオフセットからスケーリングされ得る。スケーリング係数は、第1及び第2の参照ピクチャの解像度に依存し得る。
【0356】
2. 動き候補リスト構築プロセスは、空間的/時間的/履歴的な動き候補に関連する参照ピクチャ解像度に従って構築され得る。
a.1つの例では、解像度がより高い参照ピクチャを参照するマージ候補は、解像度がより低い参照ピクチャを参照するマージ候補よりも高い優先度を有し得る。議論では、W0<W1及びH0<H1の場合、解像度W0*H0は解像度W1*H1より低い。
b.例えば、マージ候補リストにおいて、解像度がより高い参照ピクチャを参照するマージ候補は解像度がより低い参照ピクチャを参照するマージ候補の前に置かれ得る。
c.例えば、現在のピクチャの解像度よりも低い解像度を有する参照ピクチャを参照する動きベクトルはマージ候補リストに入れることはできない。
d.1つの例では、履歴バッファ(参照テーブル)を更新するかどうか及び/又はどのように更新するかは、復号動き候補に関連する参照ピクチャ解像度に依存し得る。
i.1つの例では、復号動き候補に関連する1つの参照ピクチャが異なる解像度を有する場合、そのような動き候補は履歴バッファを更新するために許可されない。
【0357】
3. ピクチャは、対応する寸法に関連するALFパラメータでフィルタリングされるべきことが提案される。
a.一例では、APSのようなビデオユニットでシグナリングするALFパラメータは、1つまたは複数の画像寸法に関連付けることができる。
b.一例では、APSシグナリングALFパラメータのようなビデオユニットは、1つまたは複数の画像寸法に関連付けることができる。
c.例えば、画像は、同じ寸法に関連付けられたAPSのようなビデオユニットで信号化されたALFパラメータのみを適用することができる。
d.PPSの解像度/インデックス/解像度の表示は、ALF APSでシグナリングすることができる。
e.ALFパラメータは、同じ解像度を持つ画像に対して使用されるものからのみ継承/予測されることがあることが制限される。
【0358】
4. 第1の対応する寸法に関連するALFパラメータは、第2の対応する寸法に関連するALFパラメータを継承し得るか又はALFパラメータから予測され得ることが提案される。
a.1つの例では、第1の対応する寸法は、第2の対応する寸法と同じでなければならない。
b.1つの例では、第1の対応する寸法は、第2の対応する寸法と異なり得る。
【0359】
5. ピクチャ内のサンプルは、対応する寸法に関連するLMCSパラメータで再成形されるべきであることが提案される。
a.1つの例では、APS等のビデオユニットでシグナリングされるLMCSパラメータは、1つ以上のピクチャ寸法に関連し得る。
b.1つの例では、LMCSパラメータをシグナリングするAPS等のビデオユニットは、1つ以上のピクチャ寸法に関連し得る。
c.例えば、ピクチャは、同じ寸法に関連するAPS等のビデオユニットでシグナリングされるLMCSパラメータのみを適用し得る。
d.PPSの解像度/インデックス/解像度の表示は、LMCS APSでシグナリングされ得る。
e.LMCSパラメータは、同じ解像度を有するピクチャに対して用いられるものからのみ継承/予測され得ると制限される。
【0360】
6. 第1の対応する寸法に関連するLMCSパラメータは、第2の対応する寸法に関連するLMCSパラメータを継承し得るか又は予測され得ることが提案される。
a.1つの例では、第1の対応する寸法は、第2の対応する寸法と同じでなければならない。
b.1つの例では、第1の対応する寸法は、第2の対応する寸法と異なり得る。
【0361】
7. TPM(三角予測モード)/GEO(幾何学的分割を用いたインター予測)又は1つのブロックを2つ又は複数のサブパーティションに分割し得る他の符号化ツールを有効にするかどうか及び/又はどのように有効にするかは、2つ又は複数のサブパーティションの関連する参照ピクチャ情報によって決まる。
a.1つの例では、それは、2つの参照ピクチャのうちの1つの解像度及び現在のピクチャの解像度に依存し得る。
i.1つの例では、2つの参照ピクチャのうちの少なくとも1つが現在のピクチャと比較して異なる解像度に関連する場合、そのような符号化ツールは無効にされる。
b.1つの例では、それは、2つの参照ピクチャの解像度が同じかどうかに依存し得る。
i.1つの例では、2つの参照ピクチャが異なる解像度と関連する場合、そのような符号化ツールは無効にされ得る。
ii.1つの例では、2つの参照ピクチャの両方が現在のピクチャと比較して異なる解像度に関連する場合、そのような符号化ツールは無効にされる。
iii.あるいは、2つの参照ピクチャの両方が現在のピクチャと比較して異なる解像度に関連するが、2つの参照ピクチャが同じ解像度の場合、そのような符号化ツールは依然として無効にされ得る。
iv.あるいは、参照ピクチャのうちの少なくとも1つが現在のピクチャとは異なる解像度を有し、参照ピクチャが異なる解像度を有する場合、符号化ツールXは無効にされ得る。
c.あるいは、さらに、2つの参照ピクチャが同じ参照ピクチャであるかどうかに依存し得る。
d.あるいは、さらに、2つの参照ピクチャが同じ参照リストにあるかどうかに依存し得る。
e.あるいは、そのような符号化ツールは、RPR(参照ピクチャの再サンプリングがスライス/ピクチャヘッダ/シーケンスパラメータセットで有効)の場合、常に無効にされ得る。
【0362】
8. ブロックが現在のピクチャとは異なる寸法を有する少なくとも1つの参照ピクチャを参照する場合、該ブロックに対して符号化ツールXが無効にされ得ることが提案される。
a.1つの例では、符号化ツールXに関する情報はシグナリングされなくてもよい。
b.1つの例では、そのようなブロックの動き情報はHMVPテーブルに挿入されなくてもよい。
c.あるいは、ブロックに符号化ツールXが適用される場合、ブロックは、現在のピクチャとは異なる寸法の参照ピクチャを参照することができない。
i.1つの例では、現在のピクチャとは異なる寸法を有する参照ピクチャを参照するマージ候補はスキップされ得るか又はマージ候補リストに入れられない。
ii.1つの例では、現在のピクチャとは異なる寸法の参照ピクチャに対応する参照インデックスはスキップされ得るか又はシグナリングされることが許可されない。
d.あるいは、符号化ツールXは、現在のピクチャの解像度及び参照ピクチャの解像度に従って2つの参照ブロック又はピクチャをスケーリングした後で適用され得る。
e.あるいは、符号化ツールXは、現在のピクチャの解像度及び参照ピクチャの解像度に従って2つのMV又はMVDをスケーリングした後で適用され得る。
f.1つの例では、ブロック(例えば、異なる参照ピクチャ又は異なるMVを有する同じ参照ピクチャリストからの複数仮説を有するブロック又は双方向符号化ブロック又は異なる参照ピクチャリストからの複数仮説を有するブロック)について、符号化ツールXを無効にするか又は有効にするかは、参照ピクチャリスト及び/又は現在の参照ピクチャに関連する参照ピクチャの解像度に依存し得る。
i.1つの例では、符号化ツールXは一方の参照ピクチャリストについて無効にされ得るが、他方の参照ピクチャリストについては有効であり得る。
ii.1つの例では、符号化ツールXは一方の参照ピクチャについては無効にされ得るが、他方の参照ピクチャについては有効であり得る。ここで、2つの参照ピクチャは異なる参照ピクチャリスト又は同じ参照ピクチャリストからのものであり得る。
iii.1つの例では、各参照ピクチャリストLについて、符号化ツールの有効化/無効化は、リストLとは異なる他の参照ピクチャリスト内の参照ピクチャに関係なく決定される。
1.1つの例では、リストLの参照ピクチャ及び現在のピクチャによって決定され得る。
2.1つの例では、リストLの関連する参照ピクチャが現在のピクチャと異なる場合、ツールはリストLについて無効にされ得る。
iv.あるいは、符号化ツールの有効化/無効化は、全ての参照ピクチャ及び/又は現在のピクチャの解像度によって決定される。
1.1つの例では、参照ピクチャのうちの少なくとも1つが現在のピクチャと異なる解像度を有する場合、符号化ツールXは無効にされ得る。
2.1つの例では、参照ピクチャのうちの少なくとも1つが現在のピクチャと異なる解像度を有するが、参照ピクチャ同士が同じ解像度を有する場合、符号化ツールXは依然有効にされ得る。
3.1つの例では、参照ピクチャのうちの少なくとも1つが現在のピクチャと異なる解像度を有し、参照ピクチャ同士が異なる解像度を有する場合、符号化ツールXは無効にされ得る。
g.符号化ツールXは以下のいずれかであり得る。
iii.DMVR
iv.BDOF
v.アフィン予測
vi.三角形予測モード
vii.SMVD
viii.MMVD
ix.VVCにおけるインターイントラ予測
x.LIC
xi.HMVP
xii.複数変換セット(MTS)
xiii.サブブロック変換(SBT)
xiv.PROF及び/又は他の復号側の動き/予測の精緻化方法
xv.LFNST(低周波非二乗変換)
xvi.フィルタリング方法(例:デブロッキングフィルタ/SAO/ALF)
xvii.GEO/TPM/クロスコンポーネントALF
【0363】
9. ピクチャの参照ピクチャリストに含まれる異なる解像度はK個以下である。
a.1つの例では、K=2である。
【0364】
10. N個の連続する(復号順序又は表示順序)ピクチャに対して、K個以下の異なる解像度しか許容されない。
a.1つの例では、N=3、K=3である。
b.1つの例では、N=10、K=3である。
c.1つの例では、GOPにおいてK個以下の異なる解像度しか許容されない。
d.1つの例では、同じ特定の時間的レイヤID(tidと表記される)を有する2つのピクチャの間で、K個以下の異なる解像度しか許容されない。
i.例えば、K=3、tid=0である。
【0365】
11. 解像度変更は、イントラピクチャに対してしか許容されない。
【0366】
12. 1つのブロックの1つ又は2つの参照ピクチャが現在のピクチャとは異なる解像度を有する場合、復号化プロセスにおいて双方向予測は単方向予測に変換され得る。
a.1つの例では、現在のピクチャと異なる解像度を有する対応する参照ピクチャを有するリストXからの予測が破棄され得る。
【0367】
13. 異なる解像度の参照ピクチャからのインター予測を有効又は無効にするかどうかは、動きベクトル精度及び/又は解像度比に依存し得る。
a.1つの例では、解像度比に従ってスケーリングされた動きベクトルが整数位置を指す場合、インター予測が依然として適用され得る。
b.1つの例では、解像度比に従ってスケーリングされた動きベクトルが、ARCを伴わない場合に許容されるサブペル位置(例えば、1/4ペル)を指す場合、インター予測が依然として適用され得る。
c.あるいは、両方の参照ピクチャが現在のピクチャとは異なる解像度を持つ場合、双方向予測が許可されないことがある。
d.あるいは、一方の参照ピクチャが現在のピクチャと異なる解像度を有し、他方が同じ解像度を有する場合に、双方向予測が有効にされ得る。
e.あるいは、参照ピクチャが現在のピクチャとは異なる解像度を有し、ブロック寸法が一定の条件を満たす場合、該ブロックに対して単方向予測が禁止され得る。
【0368】
14. 符号化ツールXが無効であるかどうかを示す第1のフラグ(例えば、pic_disable_X_flag)は、ピクチャヘッダでシグナリングされ得る。
a.スライス/タイル/ブリック/サブピクチャ/ピクチャよりも小さい他のビデオユニットに対する符号化ツールを有効にするかどうかは、ピクチャヘッダ内のこのフラグ及び/又はスライスタイプによって制御され得る。
b.1つの例では、第1のフラグが真の場合、符号化ツールXは無効にされる。
i.あるいは、第1のフラグが偽の場合、符号化ツールXが有効にされる。
ii.1つの例では、ピクチャ内の全てのサンプルに対してそれが有効/無効にされる。
c.1つの例では、第1のフラグのシグナリングは、SPS/VPS/DPS/PPSにおけるシンタックス要素又は複数のシンタックス要素に依存し得る。
i.1つの例では、フラグのシグナリングは、SPSにおける符号化ツールXの有効フラグに依存し得る。
ii.あるいは、さらに、ピクチャヘッダ内の第1のフラグの存在を示す第2のフラグ(例えば、sps_X_slice_present_flag)がSPSにおいてシグナリングされ得る。
1)あるいは、さらに、符号化ツールXがシーケンスに対して有効である場合(例えば、sps_X_enabled_flagが真である場合)、第2のフラグは条件付きでシグナリングされ得る。
2)あるいは、さらに、第2のフラグのみが第1のフラグが存在することを示し、第1のフラグはピクチャヘッダにおいてシグナリングされ得る。
d.1つの例では、第1及び/又は第2のフラグは1ビットで符号化される。
e.符号化ツールXは以下のようになり得る。
i.1つの例では、符号化ツールXはPROFである。
ii.1つの例では、符号化ツールXはDMVRである。
iii.1つの例では、符号化ツールXはBDOFである
iv.1つの例では、符号化ツールXはクロスコンポーネントALFである。
v.1つの例では、符号化ツールXはGEOである。
vi.1つの例では、符号化ツールXはTPMである。
vii.1つの例では、符号化ツールXはMTSである。
【0369】
15. ブロックが、現在のピクチャと異なる寸法を有する参照ピクチャを参照できるかどうかは、ブロックの幅(WB)及び/又は高さ(HB)及び/又はブロック予測モード(すなわち、双方向予測又は短方向予測)に依存し得る。
a.1つの例では、ブロックは、WB>=T1及びHB>=T2の場合、例えば、T1=T2=8の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
b.1つの例では、ブロックは、WB*HB>=Tの場合、例えば、T1=64の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
c.1つの例では、ブロックは、Min(WB、HB)>=Tの場合、例えば、T=8の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
d.1つの例では、ブロックは、Max(WB、HB)>=Tの場合、例えば、T=8の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
e.1つの例では、ブロックは、WB<=T1及びHB<=T2の場合、例えば、T1=T2=62の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
f.1つの例では、ブロックは、WB*HB<=Tの場合、例えば、T1=4096の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
g.1つの例では、ブロックは、Min(WB、HB)<=Tの場合、例えば、T=64の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
h.1つの例では、ブロックは、Max(WB、HB)<=Tの場合、例えば、T=64の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
i.あるいは、ブロックは、WB<=T1及び/又はHB<=T2の場合、例えば、T1=T2=8の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照することが禁止される。
j.あるいは、ブロックは、WB<=T1及び/又はHB<=T2の場合、例えば、T1=T2=8の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照することが禁止される。
【0370】
図23は、ビデオ処理のための例示の方法のフローチャートを示す。図23を参照して、方法2300は、ステップ2310で、現在のビデオブロックと現在のビデオブロックのビットストリーム表現との間での変換の間に、現在のビデオブロックに関連する参照ピクチャの解像度及び現在のピクチャの解像度に基づいて動きベクトルオフセットを導出することを含む。方法2300は、ステップ2320で、動きベクトルオフセットを用いて変換を行うことをさらに含む。
【0371】
一部の実施では、動きベクトルオフセットを導出することは、第1の参照ピクチャを参照する第1の動きベクトルオフセットを導出することと、第1の動きベクトルオフセットに基づいて、第2の参照ピクチャを参照する第2の動きベクトルオフセットを導出するステップとを含む。一部の実施では、本方法は、現在のビデオブロックに対して、空間的、時間的又は履歴的動き候補に関連する参照ピクチャ解像度に基づく動き候補リスト構築プロセスを行うことをさらに含む。一部の実施では、ルックアップテーブルを更新するかどうか又はどのように更新するかは、復号動き候補に関連する参照ピクチャ解像度によって決まる。一部の実施では、本方法は、現在のピクチャに対して、対応する寸法に関連する適応ループフィルタ(ALF)パラメータを用いてフィルタリング動作を行うことをさらに含む。一部の実施では、ALFパラメータは、第1の対応する寸法に関連する第1のALFパラメータと、第2の対応する寸法に関連する第2のALFパラメータとを含み、第2のALFパラメータは、第1のALFパラメータから継承されるか又は予測される。
【0372】
一部の実施では、本方法は、対応する寸法に関連するLMCS(ルーママッピングクロマスケーリング)パラメータを用いて、現在のピクチャ内のサンプルを再成形することをさらに含む。一部の実施では、LMCSパラメータは、第1の対応する寸法に関連する第1のLMCSパラメータと、第2の対応する寸法に関連する第2のLMCSパラメータとを含み、第2のLMCSパラメータは第1のLMCSパラメータから継承されるか又は予測される。一部の実施では、ビデオユニット内でシグナリングされるALFパラメータ又はLMCSパラメータは、1つ又は複数のピクチャ寸法に関連する。一部の実施では、本方法は、現在のビデオブロックが、現在のピクチャとは異なる寸法を有する少なくとも1つの参照ピクチャを参照する場合に、現在のビデオブロックに対して符号化ツールを無効にすることをさらに含む。一部の実施では、本方法は、現在のピクチャの寸法から異なる寸法を有する参照ピクチャを参照するマージ候補をスキップすること又は省略することをさらに含む。一部の実施では、本方法は、参照ピクチャの解像度及び現在ピクチャの解像度に基づいて、2つの参照ブロック又は2つの参照ピクチャをスケーリングした後で又は参照ピクチャの解像度及び現在ピクチャの解像度に基づいて、2つのMV又はMVDをスケーリングした後で、符号化ツールを適用することをさらに含む。一部の実施では、現在のピクチャは異なる解像度をK個以下しか含まず、Kは自然数である。一部の実施では、N個の連続したピクチャに対してK個の異なる解像度が許容され、Nは自然数である。
【0373】
一部の実施では、本方法は、イントラピクチャである現在のピクチャに対して解像度変更を適用することをさらに含む。一部の実施では、本方法は、現在のビデオブロックの1つ又は2つの参照ピクチャが現在のピクチャの解像度と異なる解像度を有する場合に、双方向き予測を単方向予測に変換することをさらに含む。一部の実施では、本方法は、現在のブロック寸法と参照ブロック寸法との間の解像度比又は動きベクトル精度のうちの少なくとも1つによって決まり、異なる解像度の参照ピクチャからのインター予測を有効又は無効にすることをさらに含む。現在のブロック寸法がW*Hとすると、参照ブロック寸法はW1*H1であり、解像度比はW1/W、H1/H、(W1*H1)/(W*H)、max(W1/W、H1/H)又はmin(W1/W、H1/H)等を参照し得る。一部の実施では、本方法は、両方の参照ピクチャ又は一方の参照ピクチャが現在のピクチャとは異なる解像度を有するかどうかに応じて、双方向予測を適用することをさらに含む。一部の実施では、現在のビデオブロックが現在のピクチャとは異なる寸法を有する参照ピクチャを参照するかどうかは、現在のビデオブロックのサイズ又はブロック予測モードのうちの少なくとも1つによって決まる。一部の実施では、変換を行うことは、ビットストリーム表現から現在のビデオブロックを生成することを含む。一部の実施では、変換を行うことは、現在のビデオブロックからビットストリーム表現を生成することを含む。
【0374】
図24Aは、ビデオ処理装置2400のブロック図である。装置2400は、本明細書で説明する方法のうちの1つ以上を実施するために用いられ得る。装置2400は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信機等で具体化され得る。装置2400は、1つ以上のプロセッサ2402、1つ以上のメモリ2404及びビデオ処理ハードウェア2406を含み得る。プロセッサ2402は、本明細書で説明する1つ以上の方法(限定されないが、方法2300を含む)を実施するように構成され得る。メモリ(複数のメモリ)2404は、本明細書で説明する方法及び技術を実施するために用いられるデータ及びコードを記憶するために用いられ得る。ビデオ処理ハードウェア2406は、ハードウェア回路で、本明細書で説明するいくつかの技術を実施するために用いられ得る。一部の実施では、ハードウェア2406は、例えばグラフィックスプロセッサとして、完全に又は部分的にプロセッサ2401内にあり得る。
【0375】
図24Bは、本明細書に開示の様々な技術が実施され得る例示のビデオ処理システム2410を示すブロック図である。様々な実施は、システム24100の構成要素の一部又は全てを含み得る。システム2410は、ビデオコンテンツを受信するための入力2412を含み得る。ビデオコンテンツは生の状態又は非圧縮形式で、例えば8又は10ビットの多成分画素値で受信され得るか又は圧縮又は符号化形式で受信され得る。入力2412は、ネットワークインターフェイス、周辺バスインターフェイス又は記憶インターフェイスを表し得る。ネットワークインターフェイスの例としては、イーサネット、受動光ネットワーク(PON)等の有線インターフェイス等及びWi-Fi又はセルラーインターフェイス等の無線インターフェイスが挙げられる。
【0376】
システム2410は、本明細書で説明する様々なコーディング又はエンコーディング方法を実施し得る符号化コンポーネント2414を含み得る。符号化コンポーネント2414は、入力2412から符号化コンポーネント2414の出力へのビデオの平均ビットレートを低減して、ビデオの符号化表現を生成し得る。したがって、コーディング技術は、ビデオ圧縮又はビデオトランスコーディング技術と呼ばれることがある。符号化コンポーネント2414の出力は格納されるか又はコンポーネント2416によって表されるように、通信接続を介して送信され得る。入力2412で受信されたビデオの格納又は通信されたビットストリーム(又は符号化)表現は、ディスプレイインターフェイス2420に送られる表示可能なビデオ又は画素値を生成するためにコンポーネント2418によって用いられ得る。ビットストリーム表現からユーザが視聴可能なビデオを生成するプロセスは、ビデオ解凍と時々呼ばれる。さらに、特定のビデオ処理動作は、「符号化」動作又はツールと呼ばれるが、符号化ツール又は動作はエンコーダで用いられ、符号化の結果を反転する対応する復号化ツール又は動作はデコーダで行われることになるのが理解されよう。
【0377】
周辺バスインターフェイス又はディスプレイインターフェイスの例としては、ユニバーサルシリアルバス(USB)又は高精細度マルチメディアインターフェイス(HDMI(登録商標))又はディスプレイポート等が挙げられる。記憶インターフェイスの例としては、SATA(serial advanced technology attachment)、PCI、IDEインターフェイス等が挙げられる。本明細書で説明する技術は、携帯電話、ラップトップ、スマートフォン又はデジタルデータ処理及び/又はビデオ表示を行うことが可能な他の装置といった様々な電子装置で具現化され得る。
【0378】
一部の実施では、ビデオ符号化方法は、図24A又は図24Bに関して説明したようなハードウェアプラットフォーム上に実施される装置を用いて実施され得る。
【0379】
図25は、本開示の技術を利用し得る例示のビデオコーディングシステム100を示すブロック図である。
【0380】
図25に示すように、ビデオコーディングシステム100はソース装置110及び宛先装置120を含み得る。ソース装置110はエンコードされたビデオデータを生成し、ビデオコーディング装置と呼ばれ得る。宛先装置120は、ソース装置110によって生成されたエンコードされたビデオデータをデコードし、ビデオデコーデイング装置と呼ばれ得る。
【0381】
ソース装置110は、ビデオソース112、ビデオエンコーダ114及び入出力インターフェイス116を含み得る。
【0382】
ビデオソース112は、ビデオキャプチャ装置等のソース、ビデオコンテンツプロバイダからビデオデータを受信するためのインターフェイス及び/又はビデオデータを生成するためのコンピュータグラフィックスシステム又はそのようなソースの組み合わせを含み得る。ビデオデータは1つ以上のピクチャを含み得る。ビデオエンコーダ114は、ビットストリームを生成するためにビデオソース112からのビデオデータをエンコードする。ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含み得る。ビットストリームは、コード化されたピクチャ及び関連するデータを含み得る。コード化されたピクチャはピクチャのコード化された表現である。関連するデータは、シーケンスパラメータセット、ピクチャパラメータセット及び他のシンタックス構造を含み得る。I/Oインターフェイス116は、変調器/復調器(モデム)及び/又は送信器を含み得る。コード化されたビデオデータは、ネットワーク130aを介してI/Oインターフェイス116を介して宛先装置120に直接送信され得る。エンコードされたビデオデータは、宛先装置120によるアクセスのために記憶媒体/サーバ130bにも記憶され得る。
【0383】
宛先装置120は、I/Oインターフェイス126、ビデオデコーダ124及びディスプレイ装置122を含み得る。
【0384】
I/Oインターフェイス126は受信器及び/又はモデムを含み得る。I/Oインターフェイス126は、ソース装置110又は記憶媒体/サーバ130bからエンコードされたビデオデータを取得し得る。ビデオデコーダ124は、エンコードされたビデオデータをデコードし得る。ディスプレイ装置122は、デコードされたビデオデータをユーザに表示し得る。ディスプレイ装置122は宛先装置120と一体化され得るか又は外部ディスプレイ装置とやりとりするように構成された宛先装置120の外部にあってもよい。
【0385】
ビデオエンコーダ114及びビデオデコーダ124は、高効率ビデオコーディング(HEVC)規格、汎用ビデオコーディング(VVC)規格及びその他の現在の及び/又は更なる規格等のビデオ圧縮規格に従って動作し得る。
【0386】
図26は、図25に示すシステム100内のビデオエンコーダ114であり得るビデオエンコーダ200の一例を示すブロック図である。
【0387】
ビデオエンコーダ200は、本開示の技術のいずれか又は全てを行うように構成され得る。図26の例では、ビデオエンコーダ200は複数の機能コンポーネントを含む。本開示で説明する技術は、ビデオエンコーダ200の様々なコンポーネントの間で共有され得る。一部の例では、プロセッサは、本開示で説明する技術のいずれか又は全てを行うように構成され得る。
【0388】
ビデオエンコーダ200の機能コンポーネントは、分割ユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピー符号化ユニット214とを含み得る。
【0389】
他の例では、ビデオエンコーダ200はより多くの、より少ない又は異なる機能コンポーネントを含み得る。1つの例では、予測ユニット202は、イントラブロックコピー(IBC)ユニットを含み得る。IBCユニットは、少なくとも1つの参照ピクチャが現在のビデオブロックが位置するピクチャであるIBCモードで予測を行い得る。
【0390】
さらに、動き推定ユニット204及び動き補償ユニット205等の一部のコンポーネントは高度に統合されてもよいが、説明のために図26の例では別々に表されている。
【0391】
分割ユニット201は、ピクチャを1つ以上のビデオブロックに分割し得る。ビデオエンコーダ200及びビデオデコーダ300は様々なビデオブロックサイズをサポートし得る。
【0392】
モード選択ユニット203は、例えばエラー結果に基づいて、コーディングモード(イントラ又はインター)のうちの1つを選択し、結果として得られたイントラ又はインターコード化ブロックを、残差ブロックデータを生成するために残差生成ユニット207に、参照ピクチャとして用いるためにエンコードされたブロックを再構成するために再構成ユニット212に提供する。一部の例では、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づく、イントラ及びインター予測(CIIP)モードの組み合わせを選択し得る。モード選択ユニット203は、インター予測の場合に、ブロックための動きベクトルの解像度(例えば、サブピクセル又は整数ピクセル精度)も選択し得る。
【0393】
現在のビデオブロックにインター予測を行うために、動き推定ユニット204は、バッファ213から1つ以上の参照フレームを現在のビデオブロックと比較することによって、現在のビデオブロックのためのモーション情報を生成し得る。動き補償ユニット205は、現在のビデオブロックに関連するピクチャ以外にバッファ213からのピクチャの動き情報及びデコードされたサンプルに基づいて、現在のビデオブロックのための予測ビデオブロックを特定し得る。
【0394】
動き推定ユニット204及び動き補償ユニット205は、例えば、現在のビデオブロックがIスライスにあるか、Pスライスにあるか又はBスライスにあるかによって、現在のビデオブロックに対して異なる動作を行い得る。
【0395】
一部の例では、動き推定ユニット204は、現在のビデオブロックに対して単一方向の予測を行ってもよく、動き推定ユニット204は、現在のビデオブロック用の参照ビデオブロックのためにリスト0又はリスト1の参照ピクチャを検索し得る。次に、動き推定ユニット204は、参照ビデオブロックと、現在のビデオブロックと参照ビデオブロックとの間の空間的変位を示す動きベクトルとを含む、リスト0又はリスト1内の参照ピクチャを示す参照インデックスを生成し得る。動き推定ユニット204は、現在のビデオブロックの動き情報として、参照インデックス、予測方向インジケータ及び動きベクトルを出力し得る。動き補償ユニット205は、現在のビデオブロックの動き情報によって示される参照ビデオブロックに基づいて、現在のブロックの予測ビデオブロックを生成し得る。
【0396】
他の例では、動き推定ユニット204は、現在のビデオブロックについて双方向予測を行ってもよく、動き推定ユニット204は、現在のビデオブロック用の参照ビデオブロックについてリスト0内の参照ピクチャを検索し、現在のビデオブロック用の別の参照ビデオブロックについてもリスト1内の参照ピクチャを検索し得る。次に、動き推定ユニット204は、参照ビデオブロックと、参照ビデオブロックと現在のビデオブロックとの間の空間的変位を示す動きベクトルとを含むリスト0及びリスト1における参照ピクチャを示す参照インデックスを生成し得る。動き推定ユニット204は、現在のビデオブロックの参照インデックス及び動きベクトルを現在のビデオブロックの動き情報として出力し得る。動き補償ユニット205は、現在のビデオブロックの動き情報によって示される参照ビデオブロックに基づいて、現在のビデオブロックの予測ビデオブロックを生成し得る。
【0397】
一部の例では、動き推定ユニット204は、デコーダのデコーディング処理のために完全な動き情報のセットを出力し得る。
【0398】
一部の例では、動き推定ユニット204は、現在のビデオのための完全な動き情報のセットを出力しなくてもよい。むしろ、動き推定ユニット204は、他のビデオブロックの動き情報を参照して現在のビデオブロックの動き情報を信号化することができる。例えば、動き推定ユニット204は、現在のビデオブロックのモーション情報が隣接するビデオブロックのモーション情報と十分に類似していると判断することができる。
【0399】
1つの例では、動き推定ユニット204は、現在のビデオブロックに関連するシンタックス構造において、現在のビデオブロックが別のビデオブロックと同じ動き情報を有することをビデオデコーダ300に示す値を示し得る。
【0400】
別の例では、動き推定ユニット204は、現在のビデオブロックに関連するシンタックス構造において、別のビデオブロック及び動きベクトル差(MVD)を識別し得る。動きベクトル差は、現在のビデオブロックの動きベクトルと、示されたビデオブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、示されたビデオブロックの動きベクトルと動きベクトル差とを用いて、現在のビデオブロックの動きベクトルを特定し得る。
【0401】
上述のように、ビデオエンコーダ200は、動きベクトルを予測的にシグナリングし得る。ビデオエンコーダ200によって実現され得る予測シグナリング技術の2つの例は、高度動きベクトル予測(AMVP)及びマージモードシグナリングを含む。
【0402】
イントラ予測ユニット206は、現在のビデオブロックに対してイントラ予測を行い得る。イントラ予測ユニット206が現在のビデオブロックに対してイントラ予測を行う場合、イントラ予測ユニット206は、同じピクチャ内の他のビデオブロックのデコードされたサンプルに基づいて、現在のビデオブロックのための予測データを生成し得る。現在のビデオブロックのための予測データは、予測されたビデオブロック及び様々なシンタックス要素を含み得る。
【0403】
残差生成ユニット207は、現在のビデオブロックから現在のビデオブロックの予測されたビデオブロックを差し引くことにより(例えば、マイナス記号によって示される)、現在のビデオブロックのための残差データを生成し得る。現在のビデオブロックの残差データは、現在のビデオブロック内のサンプルの異なるサンプル成分に対応する残差ビデオブロックを含み得る。
【0404】
他の例では、例えばスキップモードでは、現在のビデオブロックのための現在のビデオブロックのための残差データが存在しないことがあり、残差生成ユニット207は減算動作を行わなくてもよい。
【0405】
変換処理ユニット208は、現在のビデオブロックに関連する残差ビデオブロックに対して1つ以上の変換を適用することにより、現在のビデオブロックのための1つ以上の変換係数ビデオブロックを生成し得る。
【0406】
変換処理ユニット208が現在のビデオブロックに関連する変換係数ビデオブロックを生成した後で、量子化ユニット209は、現在のビデオブロックに関連する1つ以上の量子化パラメータ(QP)値に基づいて、現在のビデオブロックに関連する変換係数ビデオブロックを量子化し得る。
【0407】
逆量子化ユニット210及び逆変換ユニット211は、変換係数ビデオブロックから残差ビデオブロックを再構成するために、変換係数ビデオブロックにそれぞれ逆量子化及び逆変換を適用し得る。再構成ユニット212は、予測ユニット202によって生成された1つ以上の予測されたビデオブロックからの対応するサンプルに、再構成された残差ビデオブロックを追加して、現在のブロックに関連する再構成されたビデオブロックをバッファ213に格納するために生成し得る。
【0408】
再構成ユニット212がビデオブロックを再構成した後、ビデオブロックにおけるビデオブロッキングアーチファクトを低減するためにループフィルタ動作が行われ得る。
【0409】
エントロピー符号化ユニット214は、ビデオエンコーダ200の他の機能コンポーネントからデータを受信し得る。エントロピー符号化ユニット214がデータを受信すると、エントロピー符号化ユニット214は、1つ以上のエントロピー符号化動作を行って、エントロピー符号化データを生成し、エントロピー符号化データを含むビットストリームを出力し得る。
【0410】
図27は、図25に示すシステム100におけるビデオデコーダ114であり得るビデオデコーダ300の一例を示すブロック図である。
【0411】
ビデオデコーダ300は、本開示の技術のいずれか又は全てを行うように構成され得る。図27の例では、ビデオデコーダ300は、複数の機能コンポーネントを含む。本開示で説明する技術は、ビデオデコーダ300の様々なコンポーネントの間で共有され得る。いくつかの例では、プロセッサは、本開示で説明する技術のいずれか又は全てを行うように構成され得る。
【0412】
図27の例では、ビデオデコーダ300は、エントロピー復号化ユニット301、動き補償ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305及び再構成ユニット306及びバッファ307を含む。ビデオデコーダ300は、一部の例では、ビデオエンコーダ200(例えば、図26)に関して説明したエンコーディングパスと概ね逆のデコーディングパスを行い得る。
【0413】
エントロピー復号化ユニット301は、符号化ビットストリームを読み出し得る。符号化ビットストリームはエントロピー符号化ビデオデータ(例えば、ビデオデータの符号化ブロック)を含み得る。エントロピー復号化ユニット301はエントロピー符号化ビデオデータを復号化し、エントロピー復号化ビデオデータから、動き補償ユニット302は動きベクトル、動きベクトル精度、参照ピクチャリストインデックス及び他の動き情報を含む動き情報を特定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することにより、そのような情報を特定し得る。
【0414】
動き補償ユニット302は動き補償ブロックを生成し、場合によっては補償フィルタに基づいて補間を行い得る。サブピクセル精度で用いられるべき補間フィルタのための識別子は、シンタックス要素に含まれ得る。
【0415】
動き補償ユニット302は、ビデオブロックの符号化の間にビデオエンコーダ20によって用いられる補間フィルタを用いて、参照ブロックのサブ整数ピクセルのための補間値を計算し得る。動き補償ユニット302は、受信されたシンタックス情報に従ってビデオエンコーダ200によって用いられる補間フィルタを決定し、予測ブロックを生成するために補間フィルタを用い得る。
【0416】
動き補償ユニット302は、符号化ビデオシーケンスのフレーム及び/又はスライスを符号化するために用いられるブロックのサイズ、符号化ビデオシーケンスのピクチャの各マクロブロックがどのように分割されるかを記述する分割情報、各分割がどのように符号化されるかを示すモード、各インター符号化ブロックのための1つ以上の参照フレーム(及び参照フレームリスト)及び符号化ビデオシーケンスを復号するための他の情報を決定するために、シンタックス情報の一部を用いり得る。
【0417】
イントラ予測ユニット303は、例えば、ビットストリームで受信されたイントラ予測モードを用いて、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット304は、ビットストリーム内で提供され、エントロピー復号化ユニット301によって復号化される量子化ビデオブロック係数を逆量子化、すなわち脱量子化する。逆変換ユニット305は逆変換を適用する。
【0418】
再構成ユニット306は、残差ブロックを動き補償ユニット205又はイントラ予測ユニット303によって生成された対応する予測ブロックと合算して、復号化ブロックを形成し得る。所望により、ブロック性アーチファクトを除去するために、復号化ブロックをフィルタリングするためデブロックフィルタも適用され得る。次いで、復号化ビデオブロックはバッファ307に格納され、バッファ307は、後続の動き補償のための参照ブロックを提供する。
【0419】
開示の技術の一部の実施形態は、ビデオ処理ツール又はモードを有効にする決定又は判断を行うことを含む。1つの例では、ビデオ処理ツール又はモードが有効である場合、エンコーダは、ビデオのブロックの処理においてツール又はモードを使用又は実施するが、ツール又はモードの使用に基づいて結果として得られるビットストリームを必ずしも修正しなくてもよい。すなわち、ビデオのブロックからビデオのビットストリーム表現への変換は、決定又は判断に基づいて有効になっている場合、ビデオ処理ツール又はモードを用いる。別の例では、ビデオ処理ツール又はモードが有効である場合、デコーダは、ビットストリームがビデオ処理ツール又はモードに基づいて修正されているとの知識により、ビットストリームを処理する。すなわち、ビデオのビットストリーム表現からビデオのブロックへの変換は、決定又は判断に基づいて有効にされたビデオ処理ツール又はモードを用いて行われる。
【0420】
開示の技術の一部の実施形態は、ビデオ処理ツール又はモードを無効にする決定又は判断を行うことを含む。1つの例では、ビデオ処理ツール又はモードが無効にされている場合、エンコーダは、ビデオのブロックをビデオのビットストリーム表現に変換する際にツール又はモードを用いない。別の例では、ビデオ処理ツール又はモードが無効にされている場合、デコーダは、決定又は判断に基づいて無効にされたビデオ処理ツール又はモードを用いてビットストリームが修正されていないとの知識によりビットストリームを処理する。
【0421】
本願において、「ビデオ処理」という用語は、ビデオ符号化、ビデオ復号化、ビデオ圧縮又はビデオ解凍を意味し得る。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から対応するビットストリーム表現へ又はその逆への変換の間に適用され得る。現在のビデオブロックのビットストリーム表現は、例えば、シンタックスによって定義されるように、同一場所に配置されているか又はビットストリーム内の異なる場所に分散されているかのいずれかのビットに対応し得る。例えば、マクロブロックは、変換及び符号化エラー残差値の観点から及びビットストリームにおけるヘッダ及び他のフィールド内のビットを用いて符号化され得る。
【0422】
以下の第1の項(clause)のセットが一部の実施形態で実施され得る。
【0423】
1.ビデオ処理のための方法であって、現在のビデオブロックと、現在のビデオブロックのビットストリーム表現との間での変換の間に、現在のビデオブロックに関連する参照ピクチャの解像度と、現在のピクチャの解像度とに基づいて、動きベクトルオフセットを導出すことと、該動きベクトルオフセットを用いて前記変換を行うこととを含む、方法。
【0424】
2.前記動きベクトルオフセットを導出することは、第1の参照ピクチャを参照する第1の動きベクトルオフセットを導出することと、前記第1の動作ベクトルオフセットに基づいて、第2の参照ピクチャを参照する第2の動作ベクトルオフセットを導出することとを含む、1項に記載の方法。
【0425】
3.前記現在のビデオブロックに対して、空間的、時間的又は履歴的な動き候補に関連する参照ピクチャ解像度に基づいて、動き候補リスト構築プロセスを行うことをさらに含む、1項に記載の方法。
【0426】
4.ルックアップテーブルを更新するかどうか又はどのように更新するかは、復号化動き候補に関連する参照ピクチャ解像度によって決まる、1項に記載の方法。
【0427】
5.前記現在のピクチャに対して、対応する寸法に関連する適応ループフィルタ(ALF)パラメータを用いてフィルタリング動作を行うことをさらに含む、1項に記載の方法。
【0428】
6.前記ALFパラメータは、第1の対応する寸法に関連する第1のALFパラメータと、第2の対応する寸法に関連する第2のALFパラメータとを含み、該第2のALFパラメータは第1のALFパラメータから継承されるか又は予測される、5項に記載の方法。
【0429】
7.対応する寸法に関連するLMCS(ルーママッピングクロマスケーリング)パラメータを用いて、現在のピクチャ内のサンプルを再成形することをさらに含む、1項に記載の方法。
【0430】
8.前記LMCSパラメータは、第1の対応する寸法に関連する第1のLMCSパラメータと、第2の対応する寸法に関連する第2のLMCSパラメータとを含み、該第2のLMCSパラメータは該第1のLMCSパラメータから継承されるか又は予測される、7項に記載の方法。
【0431】
9.ビデオユニットにおいてシグナリングされるALFパラメータ又はLMCSパラメータは、1つ又は複数のピクチャ寸法に関連する5又は7項に記載の方法。
【0432】
10.現在のビデオブロックが、現在のピクチャと異なる寸法を有する少なくとも1つの参照ピクチャを参照する場合、現在のビデオブロックのための符号化ツールを無効にすることをさらに含む、1項に記載の方法。
【0433】
11.現在のピクチャの寸法と異なる寸法を有する参照ピクチャを参照するマージ候補をスキップするか又は省略することをさらに含む、10項に記載の方法。
【0434】
12.参照ピクチャの解像度及び現在ピクチャの解像度に基づいて、2つの参照ブロック又は2つの参照ピクチャをスケーリングした後に又は参照ピクチャの解像度及び現在ピクチャの解像度に基づいて2つのMV又はMVD(動きベクトル差)をスケーリングした後に、符号化ツールを適用することさらに含む、1項に記載の方法。
【0435】
13.前記現在のピクチャが含む異なる解像度はK個以下であり、Kは自然数である、1項に記載の方法。
【0436】
14.N個の連続したピクチャに対して前記K個の異なる解像度が許され、Nは自然数である、13項に記載の方法。
【0437】
15.イントラピクチャである現在のピクチャに解像度変更を適用することをさらに含む、1項に記載の方法。
【0438】
16.現在のビデオブロックの1つ又は2つの参照ピクチャが現在のピクチャの解像度と異なる解像度を有する場合に、双方向予測を単方向予測に変換することをさらに含む、1項に記載の方法。
【0439】
17.動きベクトル精度又は現在のブロック寸法と参照ブロック寸法との間の解像度のうちの少なくとも1つによって、異なる解像度の参照ピクチャからのインター予測を有効又は無効にすることをさらに含む、1項に記載の方法。
【0440】
18.両方の参照ピクチャ又は一方の参照ピクチャが現在のピクチャとは異なる解像度を有するかどうかによって、双方向予測を適用することをさらに含む、1項に記載の方法。
【0441】
19.現在のビデオブロックは現在のピクチャとは異なる寸法を有する参照ピクチャを参照するかどうかは、現在のビデオブロックのサイズ又はブロック予測モードのうちの少なくとも1つによって決まる、1項に記載の方法。
【0442】
20.前記変換を行うことは、前記ビットストリーム表現から前記現在のビデオブロックを生成することを含む、1項に記載の方法。
【0443】
21.前記変換を行うことは、前記現在のビデオブロックから前記ビットストリーム表現を生成することを含む、1項に記載の方法。
【0444】
22.プロセッサと、命令を有する非一時メモリとを含むビデオシステム内の装置であって、前記プロセッサによる実行の際に、前記命令は、前記プロセッサに、1項乃至21項のいずれか1項に記載の方法を実行させる、装置。
【0445】
23.非一時的コンピュータ読み取り可能媒体に記憶されたコンピュータプログラム製品であって、1項乃至21項のいずれか一項に記載の方法を行うためのプログラムコードを含む、コンピュータプログラム製品。
【0446】
第2の項のセットは、先のセクションで開示した技術の特定の特徴及び態様を説明する。
【0447】
1.ビデオ処理のための方法(例えば、図28に示す方法2800)であって、ビデオのピクチャのビデオ領域と該ビデオの符号化表現との間での変換のために、該符号化表現におけるビデオ領域を表すために用いられる符号化ツールの有効状態を判定ことと(2810)、該判定に従って前記変換を行うこと(2820)とを含み、前記ピクチャのための前記符号化ツールの有効状態を示すために、第1のフラグがピクチャヘッダに含まれている、方法。
【0448】
2.前記有効状態は、前記第1のフラグ及び/又は前記ビデオのスライスタイプによって、前記符号化が前記ビデオ領域に対して無効であるか又は有効であるかを示す、1項に記載の方法。
【0449】
3.前記判定することは、前記第1のフラグが真の場合に前記符号化ツールが無効であると判定する、1項に記載の方法。
【0450】
4.前記判定することは、前記第1のフラグが偽の場合に前記符号化ツールが無効であると判定する、1項に記載の方法。
【0451】
5.前記判定することは、前記第1のフラグが偽の場合に前記符号化ツールが有効であると判定する、1項に記載の方法。
【0452】
6.前記判定することは、前記第1のフラグが真の場合に前記符号化ツールが有効であると判定する、1項に記載の方法。
【0453】
7.前記符号化ツールは、前記ピクチャ内の全てのサンプルに対して無効にされているか又は有効にされている、1項に記載の方法。
【0454】
8.前記第1のフラグのシグナリングは、前記ビデオ領域に関連するシーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、依存性パラメータセット(DPS)又はピクチャパラメータセット(PPS)における1つ以上のシンタックス要素によって決まる、1項に記載の方法。
【0455】
9.前記第1のフラグのシグナリングは、前記シーケンスパラメータセット(SPS)におけて前記符号化ツールの有効を示す表示によって決まる、8項に記載の方法。
【0456】
10.前記ピクチャヘッダ内の前記第1のフラグの存在を示す第2のフラグは、前記シーケンスパラメータセット(SPS)でシグナリングされる、8項に記載の方法。
【0457】
11.前記ピクチャヘッダ内の前記第1のフラグの存在を示す第2のフラグは、前記符号化ツールが前記ビデオのシーケンスに対して有効にされている場合にシグナリングされる、8項に記載の方法。
【0458】
12.前記第1のフラグの存在を示す前記第2のフラグが前記第1のフラグの存在を示す場合、前記第1のフラグは前記ピクチャヘッダでシグナリングされる、8項に記載の方法。
【0459】
13.前記第1のフラグ及び/又は前記第2のフラグは1ビットで符号化される、1項乃至12項のいずれかに記載の方法。
【0460】
14.前記符号化ツールは、1つ以上の初期アフィン予測がオプティカルフロー計算に基づいて精緻化される、オプティカルフローを用いた予測精緻化(PROF)である、1項乃至13項のいずれかに記載の方法。
【0461】
15.前記符号化ツールは、動き情報が予測ブロックを用いて精緻化されるデコーダ側動きベクトル精緻化(DMVR)である、1項乃至13項のいずれかに記載の方法。
【0462】
16.前記符号化ツールは、1つ以上の初期予測がオプティカルフロー計算を用いて精緻化される双方向オプティカルフロー(BDOF)である、1項乃至13項のいずれかに記載の方法。
【0463】
17.前記符号化ツールは、線形フィルタがルーマ情報に基づいてクロマサンプルに適用されるクロスコンポーネント適応ループフィルタ(CCALF)である、1項乃至13項のいずれかに記載の方法。
【0464】
18.前記符号化ツールは、予測サンプルが重み付け値を用いて生成される幾何学的分割(GEO)であり、該予測サンプルは、非水平又は非垂直の線に従った前記ビデオ領域の分割に基づく、1項乃至13項のいずれかに記載の方法。
【0465】
19.前記符号化ツールは、予測サンプルが重み付け値を用いて生成される三角予測モード(TPM)であり、該予測サンプルは、前記ビデオ領域を2つの三角パーティションに分割することに基づく、1項乃至13項のいずれかに記載の方法。
【0466】
20.前記変換は、前記ビデオをビットストリーム表現に符号化することを含む、1項乃至19項のいずれかに記載の方法。
【0467】
21.前記変換は、前記ビデオを生成するために前記ビットストリーム表現を復号することを含む、1項乃至19項のいずれかに記載の方法。
【0468】
22.1項乃至21項の1つ以上に記載の方法を実施するように構成されたプロセッサ含むビデオ処理装置。
【0469】
23.実行された場合に、プロセッサに、1項乃至21項の1つ以上に記載の方法を実施させるプログラムコードを記憶するコンピュータ読み取り可能媒体。
【0470】
24.上述の方法のいずれかに従って生成される符号化表現又はビットストリーム表現を記憶するコンピュータ読み取り可能媒体。
【0471】
以上から、本開示の技術の特定の実施形態は説明を目的として本明細書に記載されているが、開示の技術の範囲から逸脱することなく、様々な修正を行うことができることが理解されるであろう。したがって、本開示の技術は、添付の特許請求の範囲を除いて、限定されない。
【0472】
本明細書で説明した主題及び機能動作の実施は、本明細書で開示の構造及びそれらの構造的同等物又はそれらのうちの1つ以上の組み合わせを含む、様々なシステム、デジタル電子回路又はコンピュータソフトウェア、ファームウェア又はハードウェアで実施することができる。本明細書で説明した主題の実施は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置による実行のために又はデータ処理装置の動作を制御するために、有形及び非一時的なコンピュータ読み取り可能媒体上にエンコードされているコンピュータプログラム命令の1つ以上のモジュールとして実施可能である。コンピュータ読み取り可能媒体は、機械により読み出し可能な記憶デバイス、機械により読み出し可能な記憶担体、メモリデバイス、機械により読み出し可能な伝搬信号をもたらす組成物又はそれらの1つ以上の組み合わせであることができる。「データ処理ユニット」又は「データ処理装置」という用語は、例として、プログラム可能なプロセッサ、コンピュータ又は複数のプロセッサ若しくはコンピュータを含む、データを処理する全ての装置、デバイス及び機械を包含する。装置は、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム又はそれらの1つ以上の組み合わせを構成するコードを含むことができる。
【0473】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト又はコードとしても知られる)は、コンパイル済み又は解釈済みの言語を含む如何なる形式のプログラミング言語でも記述可能であり、それは、スタンドアロンプログラムとして又はコンピューティング環境における使用に適したモジュール、コンポーネント、サブルーチン若しくは他のユニットとして、を含め、如何なる形式でもデプロイ可能である。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応しない。プログラムは、問題となっているプログラムに専用の単一のファイルで、又は複数の協調したファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を保存するファイル)で、他のプログラム又はデータ(例えば、マークアップ言語文書で保存された1つ以上のスクリプト)を保持するファイルの部分において保存可能である。コンピュータプログラムは、1つのコンピュータで、あるいは、1つの場所に位置しているか、又は複数の場所にわたって分布しており、通信ネットワークによって相互接続されている複数のコンピュータで、実行されるようデプロイ可能である。
【0474】
本明細書で記載されているプロセス及び論理フローは、入力データに作用して出力を生成することによって機能を実行するよう1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行可能である。プロセス及び論理フローはまた、専用のロジック回路、例えば、FPGA(Field Programmable Gate Array)又はASIC(Application-Specific Integrated Circuit)によっても実行可能であり、装置は、そのようなものとしても実装可能である。
【0475】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用のマイクロプロセッサ及び専用のマイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般に、プロセッサは、リードオンリーメモリ若しくはランダムアクセスメモリ又はその両方から命令及びデータを受け取ることになる。コンピュータの必須の要素は、命令を実行するプロセッサと、命令及びデータを保存する1つ以上のメモリデバイスと、である。一般に、コンピュータはまた、データを保存する1つ以上の大容量記憶デバイス、例えば、磁気、光学磁気ディスク、又は光ディスクを含むか、あるいは、そのような1つ以上の大容量記憶デバイスからのデータの受信若しくはそれへのデータの転送又はその両方のために動作可能に結合されることになる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを保存するのに適したコンピュータ読み取り可能媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイスを含む全ての形式の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用のロジック回路によって強化されるか、あるいは、それに組み込まれ得る。
【0476】
本明細書は、図面と共に例示のみとしてみなされることを意図している。例示とは例を意味する。本明細書で使用する単数形「a」、「an」及び「the」は、別段明記されていない限り、複数形を含むことを意図している。加えて、「又は」の使用は、別段明記されていない限り、「及び/又は」を含むことを意図する。
【0477】
本明細書は、多数の詳細を含むが、それらは、あらゆる発明の又は請求される可能性があるものの範囲に対する限定としてではなく、むしろ、特定の発明の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別々の実施形態に関連して本明細書に記載されている特定の特徴は、単一の実施形態と組み合わせても実装可能である。逆に、単一の実施形態に関連して記載されている様々な特徴はまた、複数の実施形態で別々に、又は何らかの適切なサブコンビネーションで実装可能である。更に、特徴は、特定の組み合わせで動作するものとして上述され、そのようなものとして最初に請求されることさえあるが、請求されている組み合わせからの1つ以上の特徴は、いくつかの場合に、その組み合わせから削除可能であり、請求されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてもよい。
【0478】
同様に、動作は、特定の順序で図面において表されているが、これは、所望の結果を達成するために、そのような動作が、示されているその特定の順序で、又は順次的な順序で実行されること、あるいは、表されている全ての動作が実行されることを求めている、と理解されるべきではない。さらに、本明細書に記載されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態でそのような分離を求めている、と理解されるべきではない。
【0479】
ほんのわずかの実施及び例が説明されており、他の実施、強化及び変形は、本明細書で記載及び例示されているものに基づいて行われ得る。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24A
図24B
図25
図26
図27
図28
【手続補正書】
【提出日】2024-10-10
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオデータを処理する方法であって、
ビデオのピクチャのビデオ領域と該ビデオのビットストリームとの間での変換のために、第1のシンタックス要素に基づいて前記ピクチャに対してコーディングツールが無効かどうかを判定することと、
前記判定に基づいて前記変換を行うことと、
を含み、
前記ピクチャに対して前記コーディングツールが無効かどうかを示す前記第1のシンタックス要素はピクチャヘッダでシグナリングされる、方法。
【請求項2】
前記ピクチャよりも小さいビデオユニットのために前記コーディングツールが無効か又は有効かは前記第1のシンタックス要素及び/又は前記ビデオのスライスタイプに依存する、請求項1に記載の方法。
【請求項3】
前記第1のシンタックス要素が真の場合、前記コーディングツールは前記ピクチャに対して無効である、請求項1又は2に記載の方法。
【請求項4】
前記第1のシンタックス要素が偽の場合、前記コーディングツールは前記ピクチャに対して有効である、請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
前記コーディングツールは、前記ピクチャ内の全てのサンプルに対して無効又は有効である、請求項1乃至4のいずれか一項に記載の方法。
【請求項6】
前記第1のシンタックス要素が前記ピクチャヘッダでシグナリングされるかどうかは、前記ビデオ領域に関連するシーケンスパラメータセット(SPS)内の1つ以上のシンタックス要素に依存する、請求項1乃至5のいずれか一項に記載の方法。
【請求項7】
前記1つ以上のシンタックス要素は前記ピクチャヘッダに前記第1のシンタックス要素が存在することを示す第2のシンタックス要素と、前記コーディングツールが前記ビデオのシーケンスに対して有効かどうかを示す第3のシンタックス要素とを含む、請求項6に記載の方法。
【請求項8】
前記第2のシンタックス要素は、前記第3のシンタックス要素に基づいて、前記SPSで条件的にシグナリングされる、請求項7に記載の方法。
【請求項9】
前記第2のシンタックス要素が真の場合、前記第1のシンタックス要素が前記ピクチャヘッダでシグナリングされ、前記コーディングツールが前記ビデオのシーケンスに対して有効の場合、前記第2のシンタックス要素が前記SPS内でシグナリングされる、請求項7又は8に記載の方法。
【請求項10】
前記第1のシンタックス要素及び/又は前記第2のシンタックス要素は1ビットでコード化されている、請求項7乃至9のいずれか一項に記載の方法。
【請求項11】
前記コーディングツールは、
アフィンモードでコード化された現在のビデオブロックのサブブロックの初期予測サンプルを生成することと、
オプティカルフロー演算を適用し、動きベクトルの差dMvH及び/又はdMvVに基づいて予測精密化を導出することにより、前記サブブロックの最終予測サンプルを生成することであって、dMvH及びdMvVは、水平方向及び垂直方向に沿った動きベクトルの差を示す、ことと、
のために用いられる第1のコーディングツールを含む、請求項1乃至10のいずれか一項に記載の方法。
【請求項12】
前記コーディングツールは、シグナリングされた動きベクトルに対するオフセットを有する少なくとも1つの動きベクトルに基づいて該シグナリングされた動きベクトルの精密化のために用いられる第2のコーディングツールを含む、請求項1乃至10のいずれか一項に記載の方法。
【請求項13】
前記コーディングツールは、現在のブロックの参照ブロック内のサンプルに対応する少なくとも1つの勾配値に基づいて動きベクトルの精密化を得るために用いられる第3のコーディングツールを含む、請求項1乃至10のいずれか一項に記載の方法。
【請求項14】
前記変換は、前記ビデオを前記ビットストリームにエンコードすることを含む、請求項1乃至13のいずれか一項に記載の方法。
【請求項15】
前記変換は、前記ビデオを前記ビットストリームからデコードすることを含む、請求項1乃至13のいずれか一項に記載の方法。
【請求項16】
プロセッサと、命令が記憶された非一時的メモリとを含む、ビデオデータを処理するための装置であって、前記命令は前記プロセッサによって実行された場合、前記プロセッサに、
ビデオのピクチャのビデオ領域と該ビデオのビットストリームとの間での変換のために、第1のシンタックス要素に基づいて前記ピクチャに対してコーディングツールが無効かどうかを判定することと、
前記判定に基づいて前記変換を行うことと、
を行わせ、
前記ピクチャに対して前記コーディングツールが無効かどうかを示す前記第1のシンタックス要素はピクチャヘッダでシグナリングされる、装置。
【請求項17】
命令が記憶された非一時的コンピュータ読み取り可能記憶媒体であって、該命令はプロセッサに、
ビデオのピクチャのビデオ領域と該ビデオのビットストリームとの間での変換のために、第1のシンタックス要素に基づいて前記ピクチャに対してコーディングツールが無効かどうかを判定することと、
前記判定に基づいて前記変換を行うことと、
を行わせ、
前記ピクチャに対して前記コーディングツールが無効かどうかを示す前記第1のシンタックス要素はピクチャヘッダでシグナリングされる、非一時的コンピュータ読み取り可能記憶媒体。
【請求項18】
ビデオ処理装置によって行われる方法によって生成されるビデオのビットストリームを記憶する非一時的コンピュータ読み取り可能記録媒体であって、該方法は、
前記ビデオのピクチャのビデオ領域について、第1のシンタックス要素に基づいて前記ピクチャに対してコーディングツールが無効かどうかを判定することと、
前記判定に基づいて前記ビデオのビットストリームを生成することと、
を含み、
前記ピクチャに対して前記コーディングツールが無効かどうかを示す前記第1のシンタックス要素はピクチャヘッダでシグナリングされる、非一時的コンピュータ読み取り可能記憶媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、2019年10月12日に出願された国際特許出願第PCT/CN2019/110905号の優先権及び利益を適時に主張する、2020年10月12日に出願された国際特許出願第PCT/CN2020/120287号に基づく特願2022-521585号の分割出願である。前述の出願の全ては、その全体が参照により本特許出願に組み込まれる。
【0002】
本特許文書はビデオコーディング技術、装置及びシステムに関する。
【背景技術】
【0003】
ビデオ圧縮の進歩にもかかわらず、デジタルビデオは依然としてインターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅使用を占めている。ビデオの受信及び表示が可能な接続ユーザ装置の数が増加するにつれて、デジタルビデオ使用のための帯域幅の需要は増加し続けることが予想される。
【発明の概要】
【課題を解決するための手段】
【0004】
デジタルビデオコーディング、特にビデオコーディングのためのアダプティブループフィルタリングに関連する装置、システム及び方法を説明する。説明する方法は、既存のビデオコーディング規格(例えば、高効率ビデオコーディング(HEVC))及び将来のビデオコーディング規格(例えば、汎用ビデオコーディング(VVC))又はコーデックの両方に適用され得る。
【0005】
ビデオコーディング規格は、周知のITU-T及びISO/IEC規格の開発を通じて主に発展してきた。ITU-TはH.261及びH.263を作り出し、ISO/IECはMPEG-1及びMPEG-4 Visualを作り出し、2つの組織はH.262/MPEG-2 Video及びH.264/MPEG-4 Advanced Video Coding(AVC)及びH.265/HEVC規格を共同で作り出した。H.262以来、ビデオコーディング規格は、時間的予測と変換コーディングが利用されるハイブリッドビデオコーディング構造に基づく。HEVCを越えた将来のビデオコーディング技術を探求するため、2015年にVCEG及びMPEGによって共同でJVET(Joint Video
Exploration Team)が設立された。それ以来、JVETによって多くの新たな方法が採用され、JEM(Joint Exploration Model)という名称の参照ソフトウェアに入れられている。2018年4月には、HEVCに比べて50%のビットレート低減を目指すVVC規格に取り組むためにVCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)との間でJVET(Joint Video Expert Team)が発足された。
【0006】
代表的な一態様では、開示の技術はビデオ処理のための方法を提供するために用いられ、当該方法は、ビデオのピクチャのビデオ領域と該ビデオのコード化表現との間での変換のために、該コード化表現におけるビデオ領域を表すために用いられるコーディングツールの有効状態を判定することと、前記判定に従って前記変換を行うこと、とを含み、前記ピクチャのための前記コーディングツールの有効状態を示すために、第1のフラグがピクチャヘッダに含まれている。
【0007】
さらに別の代表的な態様では、上述の方法は、プロセッサ実行可能コードの形態で具体化され、コンピュータ読み取り可能プログラム媒体に記憶される。
【0008】
さらに別の代表的な態様では、上述の方法を実行するように又は行うように構成された装置が開示される。装置は、本方法を実施するようにプログラムされたプロセッサを含み得る。
【0009】
さらに別の代表的な態様では、ビデオデコーダ装置は、本明細書で説明される方法を実施し得る。
【0010】
開示する技術の上記の及び他の態様及び特徴は、図面、明細書及び特許請求の範囲でより詳細に説明されている。
【図面の簡単な説明】
【0011】
図1図1は、異なる解像度でコード化された同じコンテンツの2つの表現のアダプティブストリーミングの例を示す。
図2図2は、異なる解像度でコード化された同じコンテンツの2つの表現のアダプティブストリーミングの例を示す。
図3図3は、2つの表現のオープンGOP予測構造の例を示す。
図4図4は、オープンGOP位置での表現スイッチングの例を示す。
図5図5は、他のビットストリームからの再サンプリングされた参照ピクチャを参照として用いることによる、RASLピクチャのためのデコーデイングプロセスの例を示す。
図6図6A図6Cは、MCTSベースのRWMRビューポート依存360°ストリーミングの例を示す。
図7図7は、異なるIRAP間隔及び異なるサイズのコロケートされたサブピクチャ表現の例を示す。
図8図8は、視聴向きの変化によって解像度の変化がもたらされた場合に受信されたセグメントの例を示す。
図9図9は、図6と比較して、わずかに上方に且つ右側の立方面の方への視聴向きの変化の例を示す。
図10図10は、2つのサブピクチャ位置のためのサブピクチャ表現が示される実施の例を示す。
図11図11はARCエンコーダの実施を示す。
図12図12はARCデコーダの実施を示す。
図13図13は、ARCのためのタイル群ベースの再サンプリングの例を示す。
図14図14は、適応的解像度変更の例を示す。
図15図15は、CUのためのATMVP動き予測の一例を示す。
図16図16A及び図16Bは、単純化された4パラメータアフィン動きモデル及び単純化された6パラメータアフィン動きモデルの例をそれぞれ示す。
図17図17は、サブブロック当たりのアフィンMVFの例を示す。
図18図18A及び図18Bは、4パラメータアフィンモデル及び6パラメータアフィンモデルの例をそれぞれ示す
図19図19は、継承されたアフィン候補についてのAF_INTERに対するMVP(Motion Vector Difference)を示す。
図20図20は、構築されたアフィン候補についてのAF_INTERに対するMVPを示す。
図21図1A及び図21Bは、5つの隣接ブロック及びCPMV予測子の導出をそれぞれ示す。
図22図22は、アフィンマージモードの候補位置の例を示す。
図23図23は、開示の技術に係るビデオ処理のための例示の方法のフローチャートを示す。
図24A図24Aは、本願で説明するビジュアルメディアデコーデイング又はビジュアルメディアエンコーディング技術を実施するためのハードウェアプラットフォームの例のブロック図である。
図24B図24Bは、本願で説明するビジュアルメディアデコーデイング又はビジュアルメディアエンコーディング技術を実施するためのハードウェアプラットフォームの例のブロック図である。
図25図25は、例示のビデオコーディングシステムを示すブロック図である。
図26図26は、開示の技術の一部の実施形態に係るエンコーダを示すブロック図である。
図27図27は、開示の技術の一部の実施形態に係るデコーダを示すブロック図である。
図28図28は、開示の技術の一部の実施形態に係るビデオ処理の例示の方法のフローチャートを示す。
【発明を実施するための形態】
【0012】
本願で開示する技術及び装置は、適応的解像度変更(adaptive resolution change)有するコーディングツールを提供する。AVC及びHEVCは、IDR又はイントラランダムアクセスポイント(IRAP)ピクチャを導入する必要なしに解像度を変更する能力を有していない。そのような能力は、適応的解像度変更(ARC)と呼ぶことができる。ARC機能から恩恵を受けるユースケース又は適用シナリオとしては以下が挙げられる。
【0013】
-テレビ電話及び会議におけるレート適応:変化するネットワーク条件にコード化されたビデオを適応させるために、ネットワーク条件が悪化し、利用可能な帯域幅が小さくなると、エンコーダは、より小さな解像度のピクチャをエンコードすることにより、それに適応し得る。現在、ピクチャの解像度の変更はIRAPピクチャの後にのみ行うことができるが、これにはいくつかの問題がある。妥当な品質のIRAPピクチャは、インターコード化ピクチャよりもはるかに大きく、それに対応してデコードするのがより複雑である。これには時間及びリソースがかかる。これは、負荷の理由でデコーダによって解像度の変更が要求された場合に問題となる。また、低遅延のバッファ条件を壊し、オーディオの再同期が強制され、ストリームのエンドツーエンド遅延が少なくとも一時的に増加することになる。これにより、ユーザ体験が悪くなり得る。
【0014】
-マルチパーティビデオ会議におけるアクティブスピーカの変更:マルチパーティビデオ会議の場合、アクティブスピーカは、残りの会議参加者のビデオよりも大きなビデオサイズで表示させるのが一般的である。アクティブスピーカが変更されると、各参加者のピクチャ解像度も調整する必要があり得る。ARC機能の必要性は、そのようなアクティブスピーカにおける変更が頻繁に行われる場合により重要となる。
【0015】
-ストリーミングにおけるファストスタート:ストリーミングアプリケーションの場合、アプリケーションが表示を開始する前に、特定の長さのデコードされたピクチャまでバッファリングを行うことが一般的である。解像度がより小さいビットストリームを開始することは、アプリケーションが表示をより早く開始するのに十分なピクチャをバッファ内に有することを可能にする。
【0016】
ストリーミングにおける適応的ストリーム切り替え:DASH(Dynamic Adaptive Streaming over HTTP)規格は@mediaStreamStructureIdと名前の機能を含む。これは、例えば、HEVCにおいて関連するRASLピクチャを有するCRAピクチャのような、デコード不可能なリーディングピクチャを有するオープンGOPランダムアクセスポイントにおける異なる表現間のスイッチングを可能にする。同じビデオの2つの異なる表現が異なるビットレートを有するが、同じ空間分解能を有する一方で、それらが同じ値の@mediaStreamStructureIdを有する場合、関連するRASLピクチャとCRAピクチャの2つの表現の間でスイッチングを行うことができ、CRAピクチャでのスイッチングに関連するRASLピクチャを許容可能な品質でデコードできるため、シームレスなスイッチングが可能になる。ARCでは、@mediaStreamStructureId機能は、空間分解能が異なるDASH表現間の切り替えのためにも用いることができる。
【0017】
ARCは動的解像度変換としても知られている。
【0018】
ARCは、H.263 Annex P等の参照ピクチャ再サンプリング(RPR)の特殊なケースとしても見なされ得る。
【0019】
1.1 H.263 Annex Pにおける参照ピクチャ再サンプリング
このモードは、参照ピクチャを、予測のためのその使用の前にワーピングするアルゴリズムを記述する。これは、予測されるピクチャとは異なるソースフォーマットを有する参照ピクチャを再サンプリングするのに有用であり得る。これは、参照ピクチャの形状、サイズ及び位置をワーピングすることにより、全体的な動き推定又は回転動作の推定に用いることもできる。シンタックスは、用いられるべきワーピングパラメータ及び再サンプリングアルゴリズムを含む。参照ピクチャ再サンプリングモードの最も単純なレベルの動作は、アップサンプリング及びダウンサンプリングプロセスにFIRフィルタを適用するだけでだけでいいことから、暗黙的係数が4の再サンプリング(implicit factor of 4 resampling)である。この場合、(ピクチャヘッダで示される)新たなピクチャのサイズが前のピクチャのサイズと異なる場合にその使用が理解されるため、追加のシグナリングオーバーヘッドが必要ではない。
【0020】
1.2 VVCに対するARCの寄与
1.2.1 JVET-M0135
JCTVC-F158から一部を抜粋した、以下で説明するARCの予備的な設計は、議論を引き起こすためだけのプレースホルダであることが示唆されている。
【0021】
2.2.1.1 基本ツールの説明
ARCをサポートするための基本ツールの制約は次のとおりである。
-空間分解能は、両方の寸法に適用される係数0.5だけ公称分解能と異なり得る。空間分解能は増減してもよく、0.5及び2.0の倍率が得られる。
-ビデオフォーマットのアスペクト比及びクロマフォーマットは変更されない。
-クロッピング面積は空間分解能に比例してスケーリングされる。
-参照ピクチャは必要に応じて単純に再スケーリングされ、インター予測は従来どおり適用される。
【0022】
2.2.1.2 スケーリング動作
単純なゼロ相の分離可能なダウン及びアップスケーリングフィルタを用いることが提案される。なお、これらのフィルタは予測専用であり、デコーダは出力のためにより高度なスケーリングを用いり得る。
【0023】
以下の1:2ダウンスケーリングフィルタが用いられ、ゼロ相及び5タップを有する:
(-1、9、16、9、-1)/32
【0024】
ダウンサンプリング点は偶数サンプル位置にあり、共に置かれている(co-sited)。同じフィルタがルーマ及びクロマに用いられる。
【0025】
2:1アップサンプリングのために、奇数グリッド位置にある追加サンプルが、最新のVVC WDにおける半画素動き補償補間フィルタ係数を用いて生成される。
【0026】
組み合わされたアップ及びダウンサンプリングは、クロマサンプリング点の位置又は位相を変化させない。
【0027】
2.2.1.2 パラメータ集合における解像度記述
SPSにおけるピクチャ解像度のシグナリングは以下のように変更される。変更のうち、削除される部分は二重括弧でマークされている(例えば、[[a]]は文字「a」の削除を意味する)。
【0028】
【表1】
【0029】
[[pic_width_in_luma_samplesは、各デコードされたピクチャの幅をルーマサンプルの単位で指定する。pic_width_in_luma_samplesは0と等しくなく、そしてMinCbSizeYの整数倍とする。
pic_height_in_luma_samplesは、各デコードされたピクチャの高さをルーマサンプルの単位で指定する。pic_height_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。]]
【0030】
num_pic_size_in_luma_samples_minus1 plus 1は、ピクチャサイズ(幅及び高さ)の数を、コード化ビデオシーケンスに存在し得るルミナンスサンプルの単位で指定する。
【0031】
pic_width_in_luma_samples[i]は、デコードされたピクチャのi番目の幅を、コード化ビデオシーケンスに存在し得るルミナンスサンプルの単位で指定する。pic_width_in_luma_samples[i]は0と等しくなく、MinCbSizeYの整数倍とする。
【0032】
pic_height_in_luma_samples[i] は、デコードされたピクチャのi番目の高さを、コード化ビデオシーケンスに存在し得るルミナンスサンプルの単位で指定する。pic_height_in_luma_samples[i]は0と等しくなく、MinCbSizeYの整数倍とする。
【0033】
【表2】
【0034】
pic_size_idxはシーケンスパラメータセットのi番目のピクチャサイズへのインデックスを指定する。ピクチャパラメータセットを参照するピクチャの幅は、ルーマサンプルにおけるpic_width_in_luma_samples[pic_size_idx]である。同様に、ピクチャパラメータセットを参照するピクチャの高さは、ルーマサンプルにおけるpic_height_in_luma_samples[pic_size_idx]である。
【0035】
1.2.2 JVET-M0259
1.2.2.1 背景:サブピクチャ
サブピクチャトラックという用語はOMAF(Omnidirectional Media Format)において以下のように定義される:トラックは、他のトラックと空間関係を有し、オリジナルのビデオコンテンツの空間的サブセットを表すトラックであって、コンテンツ制作側でビデオエンコーディングを行う前に空間的サブセットに分割されている。HEVCのためのサブピクチャトラックは、それが自立型HEVCビットストリームになるように、モーション制約タイルセットのためのパラメータセット及びスライスセグメントヘッダを書き換えることによって構築できる。サブピクチャ表現は、サブピクチャトラックを保持するDASH表現として定義できる。
【0036】
VVCのための空間分割単位としてサブピクチャという用語を用いるJVET-M0261は以下のように要約される。
1. 写真は、サブピクチャ、タイルグループ及びタイルに分割される。
2. サブピクチャは、tile_group_addressが0のタイルグループで始まるタイルグループの長方形のセットである。
3. 各サブピクチャは、それ自身のPPSを参照してもよく、故にそれ自身のタイル分割を有し得る。
4. サブピクチャはデコーディングプロセスでピクチャの様に扱われる。
5. サブピクチャをデコーディングするための参照ピクチャは、デコードされたピクチャバッファ内の参照ピクチャから、現在のサブピクチャと同一場所にある領域を抽出することにより生成される。抽出された領域はデコードされたサブピクチャである。すなわち、ピクチャ内の同じサイズ及び同じ位置のサブピクチャ間でインター予測が行われる。
6. タイルグループは、サブピクチャのタイルラスタスキャンにおける一連のタイルである。
【0037】
この寄稿では、サブピクチャという用語は、JVETM0261で定義されているものとして理解することができる。しかしながら、JVETM0261で定義されているサブピクチャシーケンスをカプセル化するトラックは、OMAFで定義されているサブピクチャトラックと非常に類似した特性を有する。以下の例は両方の場合に適用される。
【0038】
1.2.2.2 使用事例
1.2.2.2.1 ストリーミングにおける適応的解像度変更
アダプティブストリーミングのサポートのための要件
MPEG N17074のセクション5.13(「アダプティブストリーミングのサポートのための要件」)はVVCのための以下の要件を含む:それぞれが異なる特性(例えば、空間分解能又はサンプルビット深度)を有する同一コンテンツの複数の表現を提供するアダプティブストリーミングサービスの場合、規格は高速な表現スイッチングをサポートするものとする。規格は、異なる空間分解能等の異なる特性の表現の間の高速且つシームレスな表現スイッチング能力を損なうことなく、効率的な予測構造(例えば、所謂オープンピクチャ群)の使用を可能にするものとする。
【0039】
表現スイッチングを伴うオープンGOP予測構造の例
アダプティブビットレートストリーミングのためのコンテンツ生成は、異なる空間分解能を有することができる異なる表現の生成を含む。クライアントは表現からセグメントを要求し、故にどの解像度及びビットレートでコンテンツを受信するかを決定できる。クライアントでは、異なる表現のセグメントが連結され、デコードされ、再生される。クライアントは、1つのデコーダインスタンスでシームレスな再生を実現できる必要がある。(IDRピクチャで始まる)クローズドGOP構造は、図1に示すように従来的に用いられる。図1は、異なる解像度でコード化された同じコンテンツの2つの表現のアダプティブストリーミングを示す。
【0040】
(CRAピクチャで始まる)オープンGOP予測構造は、それぞれのクローズドGOP予測構造よりも優れた圧縮性能を可能にする。例えば、間隔が24のピクチャのIRAPピクチャで、ルーマBjontegaardデルタビットレートに関して5.6%の平均ビットレート削減が得られた。便宜上、[2]のシミュレーション条件及び結果をセクションYYで要約する。
【0041】
オープンGOP予測構造は、品質が主観的に可視的なポンピングを低減すると報告されている。
【0042】
ストリーミングにおいてオープンGOPを用いることの課題は、表現をスイッチングした後にRASLピクチャを正しい参照ピクチャでデコードできないことである。表現に関するこの課題は、異なる解像度でコード化された同じコンテンツの2つの表現のアダプティブストリーミングを示す図2に示されている。図2において、セグメントは、クローズドGOP又はオープンGOP予測構造のいずれかを用いる。
【0043】
CRAピクチャで始まるセグメントは、少なくとも1つの参照ピクチャが前のセグメントにあるRASLピクチャを含む。これは、2つの表現のオープンGOP予測構造を示す図3に示す。図3において、両方のビットストリームにおけるピクチャ0は前のセグメントに存在し、RASLピクチャを予測するための参考として用いられている。
【0044】
図2において破線の矩形でマークされた表現スイッチングは、オープンGOP位置での表現スイッチングを示す図4で以下に示す。RASLピクチャの参照ピクチャ(「ピクチャ0」)はデコードされていないことが分かる。その結果、RASLピクチャはデコードできず、ビデオの再生にギャップがある。
【0045】
しかしながら、再サンプリングされた参照ピクチャでRASL画像をデコードすることが主観的に受け入れられることが分かっている。セクション4を参照。「ピクチャ0」を再サンプリングし、それをRASLピクチャをデコードするための参照ピクチャとして用いることを図5に示す。図5は、他方のビットストリームから再サンプリングされた参照ピクチャを参照として用いることによる、RASLピクチャのデコーディングプロセスを示す。
【0046】
2.2.2.2.2 リージョンワイズ混合解像度(RWMR)360°ビデオストリーミングにおけるビューポート変更
背景:HEVCベースのRWMRストリーミング
RWMR360°ストリーミングは、向上された効果的なビューポート有効空間分解能を提供する。ビューポートをカバーするタイルが、「4K」のデコーディング能力(HEVCレベル5.1)を有する、図6に示す6K(6144×3072)のERPピクチャ又は同等のCMP解像度に由来するスキームはOMAFのD.6.3項及びD.6.4項に含まれており、VR産業フォーラムのガイドラインでも採用されている。そのような解像度はクワッドHD(2560×1440)ディスプレイパネルを用いたヘッドマウントディスプレイに適していると主張されている。
【0047】
エンコーディング:コンテンツは、キューブ面サイズ(cube face size)がそれぞれ1536×1536及び768×768である2つの空間分解能でエンコードされている。両方のビットストリームにおいて、6×4のタイルグリッドが用いられ、各タイル位置に動き制約タイルセット(MCTS)がコード化されている。
【0048】
カプセル化:各MCTSシーケンスはサブピクチャトラックとしてカプセル化され、DASHのサブピクチャ表現として利用可能にされる。
【0049】
ストリーミングされるMCTSの選択:高解像度ビットストリームから12のMCTSが選択され、相補的な12のMCTSが低解像度ビットストリームから抽出される。そのため、ストリーミングされるコンテンツの半球(180°×180°)は高解像度ビットストリームに由来する。
【0050】
デコードすべきビットストリームへのMCTSのマージ:単一の時間インスタンスの受信されたMCTSは、HEVCレベル5.1に準拠する1920×4608のコード化ピクチャにマージされる。マージされたピクチャのための別のオプションは、3840×2304ルーマサンプルのピクチャになる、幅768の4つのタイル列、幅384の2つのタイル列及び高さ768の3のタイル列のルーマサンプルを有することである。
【0051】
図6は、MCTSベースのRWMRビューポート依存の360°ストリーミングの例を示す。図6Aコード化ビットストリームの例を示し、図6Bはストリーミングのために選択されたMCTSの例を示し、図6Cは、MCTSからマージされたピクチャの例を示す。
【0052】
背景:ビューポート依存360°ストリーミングのための異なるIRAP間隔のいくつかの表現
HEVCベースのビューポート依存の360°ストリーミングにおいて視聴向きが変化した場合、サブピクチャ表現の新たな選択は次のIRAP整列セグメント境界で有効になる。デコーディングのためにサブピクチャ表現はコード化されたピクチャにマージされ、故に選択された全てのサブピクチャ表現でVCL NALユニットタイプが整列される。
【0053】
視聴向きの変化に反応する応答時間と視聴方向が安定しているときのレート歪み性能との間でトレードオフを提供するために、異なるIRAP間隔で複数のバージョンのコンテンツをコード化できる。これは、図6に示すエンコーディングのための1組の配列されたサブピクチャ表現について図7に示されており、H. Chen、 H. Yang、 J. Chenの「サブブロックマージ候補のための別のリスト」(JVET-L0368、2018年10月)の3節で詳細に論じられている。
【0054】
図7は、異なるIRAP間隔及び異なるサイズの配列されたサブピクチャ表現の例を示す。
【0055】
図8は、サブピクチャ位置が先ずより低い解像度(384×384)で受信されるように選択される例を示す。視聴向きを変化は、サブピクチャ位置がより高い解像度(768×768)で受信される新たな選択をもたらす。図8の例では、視聴向きの変化が解像度の変化を引き起こすときに受信されるセグメントはセグメント4の先頭にある。この例では、視聴向きの変化が起こるため、セグメント4が短いIRAP間隔のサブピクチャ表現から受信される。その後、視聴方向は安定するため、セグメント5以降からはIRAP間隔が長いバージョンを用いることができる。
【0056】
全てのサブピクチャ位置を更新することの難点
典型的な視聴状況では、視聴向きは徐々に移動するため、解像度は、RWMRビューポート依存ストリーミングにおけるサブピクチャ位置のサブセットのみで変化する。図9は、図6から僅かに上方に且つ右側のキューブ面の方に変化した視聴向きを示す。先のものとは解像度が異なるキューブ面区画を「C」で示す。24のキューブ面区画のうち6つで解像度が変化したことが分かる。しかしながら、上述したように、IRAPピクチャで始まるセグメントは、視聴向きの変化に応答して24のキューブ面区画の全てに対して受信される必要がある。IRAPピクチャで始まるセグメントで、全てのサブピクチャ位置を更新することは、ストリーミングレート歪み性能の観点から非効率的である。
【0057】
加えて、レート歪み性能を改善し、クローズドGOP予測構造によって引き起こされる可視的なピクチャ品質のポンピングを回避するために、RWMR360°ストリーミングのサブピクチャ表現でオープンGOP予測構造を用いることができることが望ましい。
【0058】
提案する設計例
以下の設計目標を提案する。
1. VVC設計は、ランダムアクセスピクチャに由来するサブピクチャと、非ランダムアクセスピクチャに由来する別のサブピクチャを、VVCに準拠する同じコード化ピクチャにマージできるようにすべきである。
2. VVC設計は、異なる空間分解能等の異なるプロパティのサブピクチャ表現間の高速且つシームレスな表現スイッチング能力を損なうことなく、サブピクチャ表現におけるオープンGOP予測構造の使用を可能にしながら、サブピクチャ表現を単一のVVCビットストリームにマージできるようにすべきである。
【0059】
設計目標の例は、2つのサブピクチャ位置についてのサブピクチャ表現が示される図10に示すことができる。双方のサブピクチャの場所について、コンテンツの別々のバージョンが、2つの解像度及び2つのランダムアクセス間隔のうちの各組み合わせに対してコード化される。セグメントの一部は、オープンGOP予測構造から始まる。視聴向きの変化によって、サブピクチャ位置1の解像度がセグメント4の始まりで切り替わる。セグメント4は、RASLピクチャに関連するCRAピクチャで始まるため、セグメント3にあるRASLピクチャの参照ピクチャを再サンプリングする必要がある。なお、この再サンプリングはサブピクチャ位置1に適用されるが、他の一部のサブピクチャ位置のデコードされたサブピクチャは再サンプリングされない。この例では、視聴向きの変化は、サブピクチャ位置2の解像度の変化を引き起こさないため、サブピクチャ位置2のデコードされたサブピクチャは再サンプリングされない。セグメント4の最初のピクチャでは、サブピクチャ位置1のセグメントはCRAピクチャに由来するサブピクチャを含むのに対して、サブピクチャ位置2のセグメントは非ランダムアクセスピクチャに由来するサブピクチャを含む。コード化ピクチャへのこれらのサブピクチャのマージはVVCで可能であることが示唆されている。
【0060】
2.2.2.2.3 テレビ会議における適応的解像度変更
JCTVC―F158は、主にビデオ会議のための適応的解像度変更を提案する。以下のサブセクションがJCTVC-F158からコピーされ、適応的解像度変更が有用であると主張される使用事例を示す。
【0061】
シームレスなネットワーク適応及びエラー耐性
ビデオ会議やパケットネットワークを介したストリーミング等の用途は、特にビットレートが高すぎてデータが失われる場合に、エンコードされたストリームが変化するネットワーク条件に適応することがしばしば必要になる。そのような用途は、エンコーダがエラーを検出し、調整を行うことを可能にするリターンチャネルを通常有する。エンコーダは、時間的又は空間的のいずれかのビットレートの低減及び解像度変更という2つの主なツールを使える。時間分解能変更は、階層的予測構造を用いたコーディングによって効果的に実現できる。しかしながら、最良の品質のためには、ビデオ通信のための適切に設計されたエンコーダの一部に加えて、空間分解能の変更が必要である。
【0062】
AVC内で空間解像度を変更する場合、IDRフレームが送信され、ストリームがリセットされる必要がある。これは重大な問題をもたらす。妥当な品質のIDRフレームはインターピクチャよりもはるかに大きく、それに対応してデコードするのがより複雑になる。これには時間及びリソースがかかる。負荷の理由でデコーダによって解像度の変更が要求された場合にこれは問題となる。また、低遅延バッファ条件が崩れて、オーディオの再同期が強制され、ストリームのエンドツーエンド遅延が少なくとも一時的に増加し得る。これは、ユーザ体験の悪化をもたらす。
【0063】
これらのモダンを最小化に抑えるために、Pフレームに対して同様の数のビットを用いてIDRが低品質で通常送信され、所与の解像度のために完全な品質に戻るのにかなりの時間を要する。遅延を十分に小さくするために、品質は実際に非常に低くなることがあり、画像が「再フォーカス」される前に目に見えるぼやけが生じることが多い。事実上、イントラフレームは圧縮条件ではほとんど役に立たない。これはストリームを再始動する方法にすぎない。
【0064】
そのため、HEVCにおいて、特に困難なネットワーク条件で、主観的経験への影響を最小限に抑えながら解像度の変更を可能にする方法が必要とされている。
【0065】
ファストスタート
最初に許容不能な画像のぼやけを生じることなく、遅延を低減し、通常の品質により迅速に到達するために、第1のフレームが低減された解像度で送信され、次の数フレームにわたって解像度が増大される「ファストスタート」モードを有することは有用であろう。
【0066】
会議「コンポーズ」(Conference “compose”)
ビデオ会議は、話し手がフルスクリーンで表示され、他の参加者がより小さな解像度のウィンドウで表示される機能を有するも多い。これを効率的にサポートするために、より小さなピクチャがより低い解像度で送信されることが多い。この解像度は、参加者がスピーカーになり、フルスクリーンになった場合に高くなる。この時点でイントラフレームを送信すると、ビデオストリームにおいて不快な中断がもたらされる。この効果は話し手が素早く交替する場合に非常に顕著で不快なものになり得る。
【0067】
2.2.2.3 提案される設計目標
VVCバージョン1のために以下の高レベルな設計の選択肢が提案されている。
【0068】
1. 以下の使用事例のために、参照ピクチャ再サンプリングプロセスをVVCバージョン1に含めることが提案される。
-異なる空間分解能等特性が異なる表現間の高速でシームレスな表現スイッチング能力を損なうことなく、アダプティブストリーミングにおいて効率的な予測構造(例えば、所謂オープンピクチャ群)を用いること。
-著しい遅延又は遅延変化なしに、ネットワーク条件及びアプリケーションに起因する解像度変化に低遅延の会話型ビデオコンテンツを適応させること。
【0069】
2. ランダムアクセスピクチャに由来するサブピクチャと、非ランダムアクセスピクチャに由来する別のサブピクチャとを、VVCに準拠する同じコード化ピクチャにマージできるようにするVVC設計が提案される。これは、混合品質及び混合解像度のビューポートアダプティブ360°ストリーミングにおける視聴向きの変化の効率的な対処を可能にするものと断定される。
【0070】
3. サブピクチャワイズ再サンプリングプロセスをVVCバージョン1に含めることが提案される。これは、混合品質及び混合解像度のビューポートアダプティブ360°ストリーミングにおける視聴向きの変化の効率的な対処を可能にするものと断定される。
【0071】
2.2.3. JVET-N0048
適応的解像度変更(ARC)のための使用事例及び設計目標がJVET―M0259で詳細に論じられている。その要約は以下の通りである。
【0072】
1. リアルタイム通信
適応的解像度変更についての以下の使用事例がJCTVC-F158に当初含まれていた。
a.(動的な適応的解像度変更を介した)シームレスなネットワーク適応及びエラー耐性
b.ファストスタート(セッション開始時又はリセット時の解像度の漸増)
c.会議「コンポーズ」(話し手により高い解像度が与えられる)
【0073】
2. アダプティブストリーミング
MPEG N17074のセクション5.13(「アダプティブストリーミングのサポート」)にはVVCのための以下の要件が含まれる:それぞれが異なる特性(例えば、空間分解能又はサンプルビット深度)を有する同一コンテンツの複数の表現を提供するアダプティブストリーミングサービスの場合、規格は高速な表現スイッチングをサポートするものとする。規格は、異なる空間分解能等の異なる特性の表現の間の高速且つシームレスな表現スイッチング能力を損なうことなく、効率的な予測構造(例えば、所謂オープンピクチャ群)の使用を可能にするものとする。
【0074】
JVET-M0259では、リーディングピクチャの参照ピクチャを再サンプリングすることにより、この要件をどのように満たすかが議論されている。
【0075】
3. 360°ビューポート依存ストリーミング
JVET-M0259では、リーディングピクチャの参照ピクチャの特定の独立的にコード化されたピクチャ領域を再サンプリングすることにより、この使用事例をどのように対処するかが議論されている。
【0076】
この貢献は、上記の使用事例及び設計目標の全てを満たすと断定される適応的解像度コーディングアプローチを提案する。360°ビューポート依存ストリーミング及び会議「コンポーズ」の使用事例は、(独立したサブピクチャレイヤを提案する)JVET-N0045と共に本提案によって取り扱われる。
【0077】
提案される仕様テキスト
シグナリング
【0078】
【表3】
【0079】
sps_max_rprは、pic_width_in_luma_samples及びpic_height_in_luma_samplesが現在のピクチャのpic_width_in_luma_samples及びpic_height_in_luma_samplesのそれぞれと等しくないCVSにおけるタイルグループの、参照ピクチャリスト0又は1のアクティブ参照ピクチャの最大数を指定する。
【0080】
【表4】
【0081】
【表5】
【0082】
max_width_in_luma_samplesは、このSPSがアクティブであるCVSの任意のピクチャのための任意のアクティブPPSにおけるpic_width_in_luma_samples がmax_width_in_luma_samples 以下であることがビットストリーム適合の要件であることを指定する。
【0083】
max_height_in_luma_samplesは、このSPSがアクティブであるCVSの任意のピクチャのための任意のアクティブPPSにおけるpic_height_in_luma_samples がmax_height_in_luma_samples 以下であることがビットストリーム適合の要件であることを指定する。
【0084】
高レベルデコーディングプロセス
現在の画像CurrPicに対してデコーディング処理は以下のように動作する。
1. NALユニットのデコーディングは8.2項で規定されている。
2. 8.3項のプロセスは、タイルグループヘッダレイヤ及び上でシンタックス要素を用いる以下のデコーディングプロセスを規定する。
【0085】
-ピクチャオーダカウントに関する変数及び関数は、8.3.1節で規定されているように導出される。これは、第1のピクチャタイル群に対してのみ呼び出すだけでよい。
【0086】
-非IDRピクチャの各タイル群に対するデコーディングプロセスの開始時に、8.3.2項に規定の参照ピクチャリスト構成のデコーディング処理が参照ピクチャリスト0(RefPicList[0])及び参照ピクチャリスト1(RefPicList[1])の導出のために呼び出される。
【0087】
-8.3.3項における参照ピクチャマーキングのためのデコーディングプロセスが呼び出され、参照ピクチャは「参照のために使用されない(unused for reference)」又は「長期参照のために使用(used for long-term reference)」とマークされ得る。これは、第1のピクチャタイル群に対してのみ呼び出すだけでよい。
【0088】
-pic_width_in_luma_samples又はpic_height_in_luma_samplesが、CurrPicのpic_width_in_luma_samples又はpic_height_in_luma_samplesのそれぞれと等しくないRefPicList[0]及びRefPicList[1]における各アクティブ参照ピクチャについて、以下が適用される。
【0089】
-X.Y.Z項の再サンプリングプロセスが呼び出され[Ed.(MH):追加すべき呼び出しパラメータの詳細]、出力は入力と同じ参照ピクチャマーキング及びピクチャオーダカウントを有する。
【0090】
-再サンプリングプロセスへの入力として用いられる参照ピクチャは、「参照のために使用されていない」とマークされている。
【0091】
CTU(coding tree units)、スケーリング、変換、インループフィルタリング等のためのデコーディングプロセスの呼び出しをさらに論じることができる。
【0092】
現在のピクチャの全てのタイルグループがデコードされた後で、現在のデコードされたピクチャは「短期間の参照のために用いられる(used for short-term reference)」とマークされる。
【0093】
再サンプリングプロセス
SHVC再サンプリングプロセス(HEVCのH8.1.4.2節)は、以下の追加を伴って提案される。
【0094】
sps_ref_wrapaund_enabled_flag=0の場合、サンプル値tempArray[n](n=0..7)は以下のように導出される。
【0095】
【数1】
【0096】
それ以外の場合、サンプル値tempArray[n](n=0..7)は以下のように導出される。
【0097】
【数2】
【0098】
sps_ref_wrapaund_enabled_flag=0の場合、サンプル値tempArray[n](n=0..3)は以下のように導出される。
【0099】
【数3】
【0100】
それ以外の場合、サンプル値tempArray[n](n=0..3)は以下のように導出される。
【0101】
【数4】
【0102】
2.2.4. JVET-N0052
ビデオ圧縮規格における概念である適応的解像度変更は、少なくとも1996年以来からあり、特に参照ピクチャの再サンプリング(RPR、Annex P)及び縮小解像度更新(Annex Q)に向けたH.263+関連の提案である。先ず、JCT-VC時代にCiscoによって提案され、次いで(今日では適度に広く展開されている)VP9の文脈で、そしてさらに最近ではVVCの文脈でという流れで、一定の注目を最近集めている。ARCは、所定のピクチャについてコード化する必要があるサンプルの数を低減し、それが望ましい場合には、結果として得られる参照ピクチャをより高い解像度までアップサンプリングすることを可能にする。
【0103】
特に関心のあるARCは2つのシナリオで検討される。
【0104】
1)IDRピクチャ等のイントラコード化ピクチャは、インターピクチャよりもかなり大きいことが多い。理由にかかわらず、イントラコード化を意図したダウンサンプリングピクチャは、将来の予測のためのより良好な入力を提供し得る。また、少なくとも低遅延のアプリケーションでは、速度制御の観点からもこれは明らかに有利である。
【0105】
2)少なくとも一部のケーブル及び衛星オペレータが日常的に行っているように、コーデックをそのブレーキングポイントの近くで動作させる場合、ARCは、ハーな遷移点を伴わないシーン遷移等の非イントラコード化ピクチャに対してさえも便利になり得る。
【0106】
3)多分前向きになりすぎている(Looking perhaps a bit too much forward):固定解像度の概念は概して正当可能であろうか?CRTからの離脱とレンダリング装置におけるスケーリングエンジンの普及に伴い、レンダリングとコーディング解像度とのハードバインドは過去のものである。また、ビデオシーケンスにおいて多くのアクティビティが行われている場合、たとえそのアクティビティが空間的に他の場所で行われていても、大半の人は(おそらくは高解像度に関連する)細部に集中できないことを示唆する利用可能な研究がある。もしそれが正しく且つ一般に受け入れられていれば、細かい粒度分解能の変化は適応的QPよりも優れた速度制御メカニズムになり得る。この点については現在議論されている。固定解像度ビットストリームの概念を取り除くことは、無数のシステム層及び実施のインプリケーションがあり、(少なくとも、それらの詳細な性質ではないにしても、それらの存在レベルでは)よく知られている。
【0107】
技術的に、ARCは参照ピクチャ再サンプリングとして実施することができる。参照ピクチャ再サンプリングの実施には、再サンプリングフィルタ及びビットストリームにおける再サンプリング情報のシグナリングという2つの主要な側面がある。本願は後者に焦点を当て、実施経験がある程度に前者に触れる。適切なフィルタ設計のさらなる研究が奨励され、提供される素案の設計を実質的に改善する点に関して、Tencentが慎重に検討され、適切な場合には、あらゆる提案を支持する。
【0108】
TencentのARC実施の概要
図11及び図12は、TencentのARCエンコーダ及びデコーダの実装をそれぞれ示す。開示の技術の実施は、ピクチャの種類に関係なく、ピクチャの粒度毎にピクチャの幅及び高さを変更することを可能にする。エンコーダでは、入力された画像データは、現在のピクチャのエンコーディングのために選択されたピクチャサイズにダウンサンプリングされる。第1の入力ピクチャがイントラピクチャとしてエンコードされた後で、デコードされたピクチャがデコードされたピクチャバッファ(DPB)に格納される。結果として得られたピクチャが異なるサンプリング比でダウンサンプリングされ、インターピクチャとしてエンコードされる場合、DPB内の参照ピクチャは、参照のピクチャサイズと現在のピクチャサイズとの間の空間比に従ってアップ/ダウンスケーリングされる。デコーダでは、デコードされたピクチャは再サンプリングすることなくDPBに格納される。しかしながら、DPB内の参照ピクチャは、動き補正のために用いられる場合、現在デコードされているピクチャと参照との間の空間比に関連してアップ/ダウンスケーリングされる。デコードされたピクチャは、表示のためにバンプアウトされた場合、元のピクチャサイズ又は所望の出力ピクチャサイズにアップサンプリングされる。動き推定/補償プロセスでは、動きベクトルは、ピクチャサイズ比及びピクチャオーダカウント差に関連してスケーリングされる。
【0109】
ARCパラメータのシグナリング
本明細書では、ARCパラメータという用語は、ARCを機能させるために必要な任意のパラメータの組み合わせとして用いられる。最も簡単な場合は、ズーム係数又は定義されたズーム係数でテーブルへのインデックスである。これは、JVET-M0135で提案されたように、ターゲット解像度(例えば、サンプル又は最大CUサイズの粒度)又はターゲット解像度を提供するテーブルへのインデックスであり得る。また、使用中のアップ/ダウンサンプリングフィルタのフィルタパラメータ(フィルタ係数に至るまで)又はフィルタセレクタも含まれ得る。
【0110】
最初から、本明細書で提案する実施は、少なくとも概念的に、ピクチャの異なる部分について異なるARCパラメータを可能にすることである。現在のVVC草案の通り、適切なシンタックス構造は矩形タイル群(TG)であり得ることが提案される。スキャンオーダーTGを用いるものは、ARCをフルピクチャのみに用いるものに制限され得るか又はスキャンオーダーTGが矩形TGに含まれる程度に制限され得る。これは、ビットストリーム制約で簡単に指定できる。
【0111】
異なるTGは異なるARCパラメータを有し得るため、ARCパラメータの適切な位置は、TGヘッダ内又はTGの範囲を持つパラメータセット内であり、TGヘッダによって参照されるか(現在のVVC草案における適応パラメータセット)又はより高いパラメータセットにおけるテーブルへのより詳細な参照(インデックス)であり得る。これら3つの選択肢のうち、この時点で、TGヘッダを用いてARCパラメータを含むテーブルエントリへの参照をコード化することが提案され、そのテーブルはSPS内に位置し、(今回の)DPSにコード化されている。ズーム係数はパラメータ設定値を用いることなく、TGヘッダに直接コード化できる。JVET-M0135で提案されているように、参照のためのPPSを用いることは、ARCパラメータのタイル群毎のシグナリングが設計基準である場合には対比的に示される。
【0112】
テーブルエントリ自体については、以下のオプションが利用可能である。
【0113】
-両方の次元についていずれか1つ又はX及びYの次元で独立してダウンサンプル係数をコーディングすること。これはほとんど(HW-)実施の議論であり、X次元のズーム係数がかなり柔軟であるが、Y次元が1に固定されているか又は選択肢が非常に少ない結果を好むものもあるだろう。そのような制約を表現するのにシンタックスは間違った場所であり、もしそれらが望ましいなら、適合のための要件として表現される制約は好ましいと提案される。つまり、シンタックスの柔軟に保たれる。
【0114】
-ターゲット解像度をコーディングすることが以下で提案される。現在の解像度との関連でこれらの解像度についてより多くの又は少ない複雑な制約がある場合があり、多分ビットストリーム適応要件で表される。
【0115】
-ピクチャ合成/抽出を可能にするために、タイル群毎のダウンサンプリングが好ましい。しかしながら、シグナリングの観点からは重要ではない。もしグループがピクチャの粒度でのみARCを許容するという賢明でない決定をしているなら、全てのTGが同じARCパラメータを用いるというビットストリーム適合性要件を含めることができる。
【0116】
-ARCに関する制御情報。我々の以下の設計では、それは参照ピクチャサイズを含む。
【0117】
-フィルタ設計の柔軟性は必要か?わずかなコードポイントより多い必要があるか?答えが「はい」の場合、それらをAPSに入れるか?一部の実施では、ダウンサンプルフィルタが変化し、ALFが留まる場合、ビットストリームはオーバーヘッドを受け入れる(eat)必要があることが提案される。
【0118】
現時点では、提案された技術を(可能な限り)整合させ、シンプルに保つために、以下を提案する:
-固定フィルタ設計
-ビットストリーム制約TBDのSPS内のテーブルのターゲット解像度
-キャップ交換/ネゴシエーションを促進にするDPSにおける最小/最大ターゲット解像度
結果として得られるシンタックスは以下のようになり得る。
【0119】
【表6】
【0120】
max_pic_width_in_luma_samplesは、ビットストリームにおけるルーマサンプル単位でデコードされたピクチャの最大幅を指定する。max_pic_width_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。dec_pic_width_in_luma_samples[i]の値はmax_pic_width_in_luma_samplesの値より大きくなることはできない。
【0121】
max_pic_height_in_luma_samplesは、ビットストリームにおけるルーマサンプル単位でデコードされたピクチャの最大高さを指定する。max_pic_height_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。dec_pic_height_in_luma_samples[i]の値はmax_pic_height_in_luma_samplesの値より大きくなることはできない。
【0122】
【表7】
【0123】
adaptive_pic_resolution_change_flag=0は、出力ピクチャサイズ(output_pic_width_in_luma_samples、output_pic_height_in_luma_samples)、デコードされたピクチャサイズの数(num_dec_pic_size_in_luma_samples_minus1)及び少なくとも1つのデコードされたピクチャサイズ(dec_pic_width_in_luma_samples[i]、dec_pic_height_in_luma_samples[i])がSPSに存在することを指定する。参照ピクチャサイズ(reference_pic_width_in_luma_samples、reference_pic_height_in_luma_samples)が存在し、reference_pic_size_present_flagの値の条件とされている。
【0124】
output_pic_width_in_luma_samplesは、ルーマサンプルの単位で出力ピクチャの幅を指定する。output_pic_width_in_luma_samplesは0と等しくないものとする。
【0125】
output_pic_height_in_luma_samplesは、ルーマサンプルの単位で出力ピクチャの高さを指定する。output_pic_height_in_luma_samplesは0と等しくないものとする。
【0126】
reference_pic_size_present_flag=1は、reference_pic_width_in_luma_samples及びreference_pic_height_in_luma_samplesが存在することを指定する。
【0127】
reference_pic_width_in_luma_samplesは、ルーマサンプルの単位で参照ピクチャの幅を指定する。output_pic_width_in_luma_samplesは0と等しくないものとする。存在しない場合、reference_pic_width_in_luma_samplesの値はdec_pic_width_in_luma_samples[i]と等しいと推定される。
【0128】
reference_pic_height_in_luma_samplesは、ルーマサンプルの単位で参照ピクチャの高さを指定する。output_pic_height_in_luma_samplesは0と等しくないものとする。存在しない場合、reference_pic_height_in_luma_samplesの値はdec_pic_height_in_luma_samples[i]と等しいと推定される。
【0129】
注記1-出力ピクチャのサイズは、output_pic_width_in_luma_samples及びoutput_pic_height_in_luma_samplesの値と等しいものとする。参照ピクチャのサイズは、参照ピクチャが動き補正に用いられる場合、reference_pic_width_in_luma_samples及びreference_pic_height_in_luma_samplesの値と等しいものとする。
【0130】
num_dec_pic_size_in_luma_samples_minus1+1は、コード化ビデオシーケンスのルーマサンプルの単位でデコードされたピクチャサイズ(dec_pic_width_in_luma_samples[i]、dec_pic_height_in_luma_samples[i])の数を指定する。
【0131】
dec_pic_width_in_luma_samples[i]はコード化ビデオシーケンスのルーマサンプルの単位でデコードされたピクチャサイズのi番目の幅を指定する。dec_pic_width_in_luma_samples[i]は0と等しくなく、MinCbSizeYの整数倍とする。
【0132】
dec_pic_height_in_luma_samples[i]はコード化ビデオシーケンスのルーマサンプルの単位でデコードされたピクチャサイズのi番目の高さを指定する。dec_pic_height_in_luma_samples[i]は0と等しくなく、MinCbSizeYの整数倍とする。
【0133】
注記2-i番目のデコードされたピクチャサイズ(dec_pic_width_in_luma_samples[i]、dec_pic_height_in_luma_samples[i])は、コード化ビデオシーケンスにおけるデコードされたピクチャのデコードされたピクチャサイズと等しくてもよい。
【0134】
【表8】
【0135】
dec_pic_size_idxは、デコードされたピクチャの幅はpic_width_in_luma_samples[dec_pic_size_idx]と等しく、デコードされたピクチャの高さはpic_height _in_luma_samples[dec_pic_size_idx]と等しいものとすることを指定する。
【0136】
フィルタ
提案した設計は概念的に、元のピクチャから入力ピクチャへのダウンサンプリングフィルタと、動き推定/補償のために参照ピクチャを再スケーリングするアップ/ダウンサンプリングフィルタと、デコードされたピクチャから出力ピクチャへのアップサンプリングフィルタという4つの異なるフィルタセットを含む。最初及び最後のものは、非標準的事項として残すことができる。仕様の範囲では、アップ/ダウンサンプリングフィルタは、適切なパラメータセットにおいて明示的にシグナリングされるか又は予め定義される必要がある。
【0137】
我々の実施は、動き補償のために用いられるべき参照ピクチャをサイズ変更するダウンサンプリングのために、12タップ2D分離可能フィルタであるSHVCのダウンサンプリングフィルタ(SHM ver.12.4)を用いる。現在の実施では、ダイアディックサンプリングのみがサポートされる。したがって、ダウンサンプリングフィルタの位相は、デフォルトでゼロに設定される。アップサンプリングについては、位相をシフトし、ルーマ及びクロマピクセル位置を元の位置に合わせるために16相の8タップ補間フィルタが用いられる。
【0138】
表9及び表10は、ルーマアップサンプリングプロセスに用いられる8タップフィルタ係数fL[p,x](p=0..15及びx=0..7)と、クロマアップサンプリングプロセスに用いられる4タップフィルタ係数fC[p,x](p=0..15及びx=0..3)を示す。
【0139】
表11は、ダウンサンプリングプロセスのための12タップフィルタ係数を示す。ダウンサンプリングでは、ルーマ及びクロマの両方に同じフィルタ係数が用いられている。
【0140】
【表9】
【0141】
【表10】
【0142】
【表11】
【0143】
コンテンツ及び/又はスケーリング係数に適応するフィルタを用いる場合、(おそらく有意な)主観的及び客観的な利得が期待されることが予想される。
【0144】
タイルグループ境界の議論
タイル群に関連する多くの研究についてもおそらく当てはまることであるが、タイル群(TG)ベースのARCに関する我々の実施は完全に終わっているとは言えない。我々の選好は、圧縮領域において、複数のサブピクチャを合成されたピクチャにする空間的構成及び抽出の議論が少なくともたたき台をもたらした場合に、その実施を再考することである。しかしながら、このことは、結果をある程度推定し、それに従って我々のシグナリング設計を適応させることを妨げるものではない。
【0145】
今のところ、タイルグループヘッダは、すでに述べた理由から、上記で提案したように、dec_pic_size_idx等のものにとって正しい場所である。単一のue(v)コードポイントdec_pic_size_idxは、タイルグループヘッダに条件付きで存在し、使用されるARCパラメータを示すために用いられる。ピクチャ毎のARCのみである実施を一致させるために、スペック空間では、単一のタイルグループのみをコーディングするか又は所与のコード化ピクチャの全てのTGヘッダが(存在する場合)dec_pic_size_idxの値が同じであることをビットストリームコンプライアンスの条件とする必要がある。
【0146】
パラメータdec_pic_size_idxは、サブピクチャを開始するヘッダのいずれかに移動させることができる。それは引き続きタイルグループヘッダであり得る。
【0147】
これらのシンタックスな考慮以外に、タイルグループ又はサブピクチャベースのARCを可能にするために、いくつかの追加作業が必要である。おそらく最も困難な部分は、サブピクチャがより小さいサイズに再サンプリングされたピクチャ内の不要なサンプルの問題をどのように対処するかである。
【0148】
図13は、ARCのためのタイル群ベースの再サンプリングの例を示す。4つのサブピクチャ(ビットストリームシンタックスにおいて4つの矩形のタイルグループとしておそらく表される)から構成される右側のピクチャを考えてみる。左側の右下のTGは半分のサイズにサブサンプリングされている。「半分」と表記される、関連領域の外のサンプルをどのようにするかを議論する必要がある。
【0149】
多くの(大半?、全て?)の以前のビデオコーディング規格では、圧縮ドメイン内のピクチャの部分の空間的抽出はサポートされていないという共通点があった。これは、ピクチャの各サンプルが1つ以上のシンタックス要素によって表され、各シンタックス要素は少なくとも1つのサンプルに影響を与えることを意味する。これを維持するために、「半分」とラベル付けされたダウンサンプリングされたTGによってカバーされるサンプルの周囲の領域をどうにかして追加する必要があり得る。H.263+のAnnex Pでは、パディングによってこの問題を解決する。実際、パディングされたサンプルのサンプル値は、ビットストリームで(特定の厳密な制限の範囲内で)シグナリングすることができ得る。
【0150】
以前の仮定からの大幅な逸脱を多分構成し得るが、ピクチャの矩形部分に基づくサブビットストリーム抽出(及び構成)をサポートする必要があり得る代替案は、復元されたピクチャの各サンプルがコード化ピクチャ内の何か(たとえ、それの何かがスキップされたブロックだけであっても)によって表される必要があるという現在の理解を緩和することであり得る。
【0151】
実施上の考慮事項、システムインプリケーション及びプロファイル/レベル
「ベースライン/メイン」プロファイルに含まれるべき基本的なARCを提案する。特定のアプリケーションシナリオで必要でない場合は、サブプロファイリングを用いてそれらを削除してもよい。一定の制限が許容され得る。この点に関し、特定のH.263+プロファイル及び(プロファイルの前の)「推奨モード」には、「暗黙の係数4(implicit factor of 4)」、すなわち、両方の次元における二項ダウンサンプリング、としてのみ用いられるAnnex Pが含まれたことに留意されたい。これは、テレビ会議のファストスタートをサポートするのに十分であった(Iフレームを素早く乗り越える)のには十分だった。
【0152】
この設計は、全てのフィルタリングを「臨機応変に(on the fly)」で行うことができ、メモリ帯域幅の増加がないか又は無視できる程度である。そうであれば、ARCをエキゾチックなプロファイルに移す必要はないように思われる。
【0153】
複雑な表等は、JVET-M0135と共にMarrakechで論じられているように、能力交換には有意義に用いられないかもしれない。オプションの数は、オファーアンサーや同様の限定された深度のハンドシェイクを仮定して、意味のあるクロスベンダインターオプを可能にするために、単純に大きくなる。現実的には、能力交換シナリオにおいてARCを有意義にサポートするために、大半のインターオップポイントでほんの少数にフォールバックしなければならない。例えば、ARCなし、暗黙の係数4のARC、完全なARCである。代替的に、全てのARCに必要なサポートを指定し、ビットストリームの複雑性の制限をより高いレベルのSDOに任せることが可能である。これは、いずれにせよ(サブプロファイリング及びフラグの文脈で既に議論したものを越えて)ある時点で行うべき戦略的議論である。
【0154】
レベルに関して、基本的な設計原理は、ビットストリーム適合の条件として、ビットストリームにおいてアップサンプリングがそれだけシグナリングされてもアップサンプリングされたピクチャのサンプルカウントはビットストリームのレベルに適合する必要があり、全てのサンプルはアップサンプリングされたコード化ピクチャに適合する必要がある。なお、これはH263+では当てはまらず、特定のサンプルが存在しない可能性がある。
【0155】
2.2.5. JVET-N0118
以下の側面が提案されている。
【0156】
1. ピクチャ解像度のリストはSPSでシグナリングされ、リストのインデックスは個々のピクチャのサイズを指定するためにPPSでシグナリングされる。
【0157】
2. 出力すべきピクチャについて、再サンプリング前のデコードされたピクチャは(必要に応じて)クロップされて出力される。すなわち、再サンプリングされたピクチャは出力用ではなく、インター予測参照のためだけのものである。
【0158】
3. 1.5倍及び2倍の再サンプリング比をサポートする。任意の再サンプリング比はサポートしない。1つ又は2つ以上の他の再サンプリング比の必要性を検討する。
【0159】
4. ピクチャレベルの再サンプリングとブロックレベルの再サンプリングとの間では、提唱者らはブロックレベルの再サンプリングを好む。
【0160】
a.しかしながら、ピクチャレベルの再サンプリングが選択される場合、以下の側面が提案される。
【0161】
i.参照ピクチャが再サンプリングされる場合、参照ピクチャの再サンプリングされたバージョンと、オリジナルの再サンプリングされたバージョンとの双方がDPBに格納されるため、双方はDPBのフルネスに影響を及ぼす。
【0162】
ii.再サンプリングされた参照ピクチャは、対応する再サンプリングされていない参照ピクチャが「参照のために使用されない」とマークされている場合、「参照のために使用されない」とマークされる。
【0163】
iii.RPLシグナリングシンタックスは変更されずに維持されるのに対して、RPL構築プロセスは次のように変更される。参照ピクチャをRPLエントリに含める必要があり、現在のピクチャと同じ解像度を有する参照ピクチャのバージョンがDPB内にない場合、ピクチャ再サンプリングプロセスが呼び出され、その参照ピクチャの再サンプリングバージョンはRPLエントリに含められる。
【0164】
iv.DPBに存在する再サンプリングされた参照ピクチャの数は、例えば2以下に制限されるべきである。
【0165】
b.そうでなければ(ブロックレベル再サンプリングが選択された場合)、以下が提案される。
【0166】
i.最悪ケースのデコーダの複雑性を制限するために、現在のピクチャとは異なる解像度を有する参照ピクチャからのブロックの双方向予測を禁止することが提案されている。
【0167】
ii.別の選択肢は、再サンプリング及び1/4ピクセル単位の補間を行う必要がある場合、2つのフィルタが組み合わされ、動作が一度に適用されることである。
【0168】
5.ピクチャベース及びブロックベースの再サンプリングアプローチのいずれが選択されるかにかかわらず、時間的動きベクトルスケーリングが必要に応じて適用されることが提案される。
【0169】
2.2.5.1. 実施
ARCソフトウェアは、以下の変更を加えてVTM-4.0.1上で実施された。
【0170】
-サポートされている解像度のリストはSPSでシグナリングされる。
【0171】
-空間分解能シグナリングがSPSからPPSに移動された。
【0172】
-参照ピクチャを再サンプリングするために、ピクチャベースの再サンプリングスキームが実施された。ピクチャがデコードされた後に、再構成されたピクチャは異なる空間分解能に再サンプリングされ得る。元の再構成ピクチャ及び再サンプリングされ再構成されたピクチャの双方は、DPBに格納され、将来のピクチャによりデコーディング順で参照するために利用可能である。
【0173】
-実施されている再サンプリングフィルタは、JCTVC-H0234で以下のようにテストされたフィルタに基づく。
【0174】
-アップサンプリングフィルタ:タップが(-4、54、16、-2)/64の4タップ+/-1/4相DCTIF
-ダウンサンプリングフィルタ:タップが(1、0、-3、0、10、16、10、0、-3、0、1)/32のh11フィルタ
-現在のピクチャ(すなわち、L0及びL1)の参照ピクチャリストを構成する場合、現在のピクチャと同じ解像度を有する参照ピクチャのみが用いられる。なお、参照ピクチャはそれらの元のサイズ又は再サンプリングしたサイズの両方で利用可能であり得る。
【0175】
-TMVP及びATVMPが有効にされ得る。しかしながら、現在のピクチャ及び参照ピクチャの元のコーディング解像度が異なる場合、その参照ピクチャについてはTMVP及びATMVPが無効になる。
【0176】
-開始点ソフトウェアの実施を簡単及び簡素にするために、ピクチャを出力する場合、デコーダは最高の利用可能な解像度を出力する。
【0177】
ピクチャサイズ及びピクチャ出力のシグナリングについて
1. ビットストリームにおけるコード化ピクチャの空間分解能のリストについて
現在、CVS内の全てのコード化ピクチャは同じ解像度を有する。そのため、SPSにおいて、ただ1つの解像度(すなわち、ピクチャの幅及び高さ)をシグナリングするのが分かりやすい。ARCのサポートでは、1つの解像度ではなく、ピクチャ解像度のリストをシグナリングする必要がある。このリストをSPSでシグナリングし、個々のピクチャのサイズを指定するためにリストのインデックスをPPSでシグナリングすることが提案される。
【0178】
2. ピクチャ出力について
出力されるべきピクチャについては、再サンプリング前のデコードされたピクチャは(必要に応じて)クロップされて出力される、すなわち再サンプリングされたピクチャは出力のためのものではなく、インター予測参照のためだけのものであることが提案される。ARC再サンプリングフィルタは、インター予測のための再サンプリングされたピクチャの使用が最適化されるように設計される必要があり、そのようなフィルタは、ピクチャの出力/表示目的には最適でない可能性があるのに対して、ビデオ端末装置は、既に実施されている、最適化された出力ズーミング/スケーリング機能を通常有する。
【0179】
2.2.5.3. 再サンプリングについて
デコードされたピクチャの再サンプリングは、ピクチャベース又はブロックベースのいずれかであり得る。VVCにおける最終的なARC設計では、ブロックベースの再サンプリングがピクチャベースの再サンプリングよりも望ましい。これらの2つのアプローチを議論し、これらの2つのうちのどちらをVVCにおけるARCサポートに指定するかをJVETが決定することを推奨する。
【0180】
ピクチャベースの再サンプリング
ARCのためのピクチャベースの再サンプリングでは、ピクチャは特定の解像度のために1回だけが再サンプリングされ、その後にそれがDPBに格納されるのに対して、同じピクチャの再サンプリングされていないバージョンもDPBに維持される。
【0181】
ARCのためにピクチャベースの再サンプリングの用いることには、1)再サンプリングされた参照ピクチャを格納するために追加のDPBバッファが必要になること及び2)DPBからの参照ピクチャデータの読み出し及びDPBへの参照ピクチャデータの書き込み動作の増加により、追加のメモリ帯域幅が必要であること、という2つの問題がある。
【0182】
DPBで参照ピクチャの1バージョンのみを保持することは、ピクチャベースの再サンプリングの場合良案ではない。再サンプリングされていないバージョンのみが保存されている場合、複数のピクチャは同じ参照ピクチャを参照し得るため、参照ピクチャを複数回再サンプリングする必要があり得る。他方で、参照ピクチャが再サンプリングされ、再サンプリングされたバージョンのみが保持される場合、参照ピクチャを出力する必要がある場合に逆再サンプリングを適用する必要がある。何故なら、上述したように、再サンプリングされていないピクチャを出力したほうが良いからである。これは、再サンプリングプロセスは可逆演算ではないため問題である。ピクチャAをとり、それをダウンサンプリングし、その後にアップサンプリングしてAと同じ解像度のA’を得た場合、AとA’とは同じではない。ダウンサンプリング及びアップサンプリングプロセスの間に一部の高周波数情報が失われたため、A’に含まれる情報はAよりも少なくなり得る。
【0183】
追加のDPBバッファ及びメモリ帯域幅の問題に対処するために、VVCにおけるARC設計がピクチャベースの再サンプリングを用いる場合、以下が適用されることが提案される。
【0184】
1.参照ピクチャが再サンプリングされる場合、参照ピクチャの再サンプリングされたバージョンと元の再サンプリングされたバージョンの双方がDPBに格納されるため、双方はDPBのフルネスに影響を及ぼす。
【0185】
2. 再サンプリングされた参照ピクチャは、対応する再サンプリングされていない参照ピクチャが「参照のために使用されない」とマークされている場合、「参照のために使用されない」とマークされる。
【0186】
3. 各タイルグループの参照ピクチャリスト(RPL)は、現在のピクチャと同じ解像度を有する参照ピクチャを含む。RPLシグナリングシンタックスを変更する必要はないが、RPL構築プロセスは、先の文で述べられたことを確実にするために、次のように修正される:参照ピクチャをRPLエントリに含める必要がある場合に、その参照ピクチャの現在のピクチャと同じ解像度を有するバージョンがまだ利用可能ではない場合、ピクチャ再サンプリングプロセスが呼び出され、その参照ピクチャの再サンプリングバージョンが含まれる。
【0187】
4. DPB内に存在し得る再サンプリングされた参照ピクチャの数は、例えば2以下に制限されるべきである。
【0188】
さらに、時間的MVが現在のフレームとは異なる解像度で参照フレームから来る場合に時間的MVの使用(例えば、マージモード及びATMVP)を可能にするために、時間的MVを現在の解像度に必要に応じてスケーリングすることを提案する。
【0189】
ブロックベースのARC再サンプリング
ARCのためのブロックベースの再サンプリングでは、参照ブロックは必要に応じて再サンプリングされ、再サンプリングされたピクチャはDPBに格納されない。
【0190】
ここでの主な問題は、付加的なデコーダの複雑性である。これは、参照ピクチャ内のブロックが、他のピクチャ内の複数のブロックにより及び複数のピクチャ内の複数のブロックにより複数回参照され得るからである。
【0191】
参照ピクチャ内のブロックが現在ピクチャ内のブロックによって参照され、参照ピクチャと現在ピクチャとの解像度が異なる場合、参照ブロックは、参照ブロックが整数ピクセルの解像度を有するように補間フィルタの呼び出しによって再サンプリングされる。動きベクトルが1/4ピクセル単位の場合、1/4ピクセル単位の解像度で再サンプリングされた参照ブロックを得るために補間プロセスが再度呼び出される。したがって、異なる解像度を伴う参照ブロックからの現在のブロックのための各動き補償動作に対して、1つの代わりに最大で2回の補間フィルタリング動作が必要になる。ARCサポートなしでは、最大で1回だけの補間フィルタリング動作(即ち、1/4ピクセル単位の解像度での参照ブロックの生成)が必要になる。
【0192】
最悪ケースの複雑性を制限するために、VVCにおけるARC設計がブロックベースの再サンプリングを用いる場合、以下が適用されることが提案される。
【0193】
-現在のピクチャとは異なる解像度を有する参照ピクチャからのブロックの双方向予測を禁止される。
【0194】
-より正確に言えば、制約は次の通りである。現在のピクチャピクチャpicA内の現在のブロックblkAが参照ピクチャpicB内の参照ブロックblkBを参照する場合、picA及びpicBが異なる解像度を有する場合、ブロックblkAは単方向予測ブロックとする。
【0195】
この制約により、ブロックをデコードするために必要な最悪の場合の補間動作の数は2つに制限される。ブロックが異なる解像度のピクチャからのブロックを参照する場合、必要な補間動作の数は、上述のように2である。これは、ブロックが同じ解像度のピクチャからの参照ブロックを参照し、双方向予測ブロックとしてコード化される場合と同じである。何故なら、補間動作の数も2だからである(すなわち、各参照ブロックについて1/4ピクセル単位の解像度を得るために1回)。
【0196】
実施を簡素化するために、VVCにおけるARC設計がブロックベースの再サンプリングを用いる場合、以下が適用される別のバリエーションが提案される。
【0197】
-参照フレーム及び現在のフレームが異なる解像度を有する場合、予測子の各ピクセルの対応する位置が最初に計算され、その後に補間は1回だけ適用される。すなわち、2回の補間動作(すなわち、再サンプリングのための1回及び1/4ピクセル単位の補間のために1回)は1回だけの補間動作に組み合わされる。現在のVVCにおけるサブペル(sub-pel)補間フィルタは再利用できるが、この場合、補間の粒度は拡大されるべきであるが、補間動作の回数は2回から1回に減らされる。
【0198】
-時間的MVが現在のフレームとは異なる解像度で参照フレームから来る場合に時間的MVの使用(例えば、マージモード及びATMVP)を可能にするために、時間的MVを現在の解像度に必要に応じてスケーリングすることを提案する。
【0199】
再サンプリング比
JVET-M0135[1]では、ARCについての議論を開始するために、ARCの開始点について、2倍(アップサンプリングでは2×2、ダウンサンプリングでは1/2×1/2を意味する)の再サンプリング比のみを考慮することが提案されている。マラケシュ会議後のこの話題に関するさらなる議論から、2倍の再サンプリング比のみをサポートすることは非常に限定的であることが分かった。何故なら、場合によっては、再サンプリングされた解像度と再サンプリングされていない解像度との差が小さい方が有益であり得るからである。
【0200】
任意の再サンプリング比をサポートすることが望ましいかもしれないが、それをサポートすることは困難であり得る。何故なら、任意の再サンプリング比をサポートするためには、定義して実施する必要がある再サンプリングフィルタの数が多すぎることになり、デコーダの実施に大きな負担を課すことになるからである。
【0201】
1よりも大きいが小さな数(少なくとも1.5倍及び2倍の再サンプリング比)の再サンプリング比がサポートされる必要であり、任意の再サンプリング比はサポートされないことが提案されている。
【0202】
2.2.5.4 最大DPBバッファサイズ及びバッファフルネス
ARCでは、DPBは同じCVS内で異なる空間分解能のデコードされたピクチャを含み得る。DPB管理及び関連する側面について、デコードされたピクチャの単位でDPBサイズ及びフルネスをカウントすることはもはや機能しない。
【0203】
以下は、ARCがサポートされている場合に対処する必要がある特定の側面と、最終的なVVCの仕様における可能性のある解決策についての議論である。
【0204】
1. PicSizeInSamplesY(すなわち、PicSizeInSamplesY = pic_width_in_luma_samples *
pic_height_in_luma_samples)の値をMaxDpSize(すなわち、DPBに存在し得る参照ピクチャの最大数)の導出に用いる代わりに、MaxDpbSizeの導出は、MinPicSizeInSamplesYの値に基づく。MinPicSizeInSamplesYは以下のように定義される。
【0205】
MinPicSizeInSampleY=(ビットストリームにおける最小ピクチャ解像度の幅)*(ビットストリームにおける最小解像度の高さ)
MaxDpbSizeの導出は(HEVC式に基づいて)以下のように修正される。
【0206】
【数5】
【0207】
2. 各デコードされたピクチャは、PictureSizeUnitと呼ばれる値に関連する。PictureSizeUnitは、デコードされたピクチャサイズがMinPicSizeInSampleYに対してどれくらい大きいかを指定する整数の値である。PictureSizeUnitの定義は、VVCにおけるARCでどの再サンプリング比がサポートされているかによって決まる。
【0208】
例えば、ARCが再サンプリング比2のみをサポートする場合、PictureSizeUnitは次のように定義される。
【0209】
-ビットストリームにおける最小解像度を有するデコードされたピクチャは、1のPictureSizeUnitに関連する。
【0210】
-ビットストリームにおける最小解像度の2×2の解像度を有するデコードされたピクチャは、4のPictureSizeUnit(すなわち、1×4)に関連する。
【0211】
別の例では、ARCが1.5及び2の再サンプリング比の両方をサポートする場合、PictureSizeUnitは以下のように定義される。
【0212】
-ビットストリームにおける最小解像度を有するデコードされたピクチャは、4のPictureSizeUnitに関連する。
【0213】
-ビットストリームにおける最小解像度の1.5×1.5の解像度を有するデコードされたピクチャは、9のPictureSizeUnit(すなわち、2.25×4)に関連する。
【0214】
-ビットストリームにおける最小解像度の2×2の解像度を有するデコードされたピクチャは、16のPictureSizeUnit(すなわち、4×4)に関連する。
【0215】
ARCによってサポートされるその他の再サンプリング比については、上記の例と同じ原則を用いて、各ピクチャサイズについてのPictureSizeUnitの値を決定すべきである。
【0216】
3. 変数MinPictureSizeUnitをPictureSizeUnitの可能な最小値とする。つまり、ARCが再サンプリング比2のみをサポートする場合、MinPictureSizeUnitは1であり、ARCが再サンプリング比1.5及び2をサポートする場合、MinPictureSizeUnitは4であり、MinPictureSizeUnitの値を決定するための同じ原理が用いられる。
【0217】
4. sps_max_dec_pic_buffering_minus1[i]の値の範囲は、0~(MinPictureSizeUnit * (MaxDpbSize - 1))の範囲に指定される。変数MinPictureSizeUnitは、PictureSizeUnitの可能な最小値である。
【0218】
5.DPBフルネス動作は、PictureSizeUnitに基づいて以下のように規定される。
【0219】
-HRDはデコーディングユニット0で初期化され、CPB及びDPBは共に空に設定される(DPBフルネスは0に設定される)。
【0220】
-DPBがフラッシュされる(すなわち、全てのピクチャがDPBから削除される)場合、DPBフルネスは0に設定される。
【0221】
-ピクチャがDPBから削除された場合、DPBフルネスは削除されたピクチャに関連するPictureSizeUnitの値だけデクリメントされる。
【0222】
-ピクチャがDPBに挿入された場合、DPBフルネスは、挿入されたピクチャに関連するPictureSizeUnitの値だけインクリメントされる。
【0223】
2.2.5.5 再サンプリングフィルタ
ソフトウェア実施では、実施される再サンプリングフィルタは、JCTVC-H0234[3]に記載されている前に利用可能なフィルタから単純に取られている。他の再サンプリングフィルタをテストし、それらがより良い性能及び/又はより低い複雑性を提供する場合には、それらを用いるべきである。複雑性と性能の間のトレードオフを取り決めるために、様々な再サンプリングフィルタをテストすることが提案される。そのようなテストはCEで行うことができる。
【0224】
2.2.5.6 既存のツールに対するその他の必要な修正
ARCをサポートするために、既存のコーディングツールの一部に対して、いくつかの修正及び/又は追加の動作が必要になり得る。例えば、ARCソフトウェア実施のピクチャベースの再サンプリングでは、簡素化のために、現在のピクチャ及び参照ピクチャの元のコーディング解像度が異なる場合に、TMVP及びATMVPは無効にされる。
【0225】
2.2.6 JVET-N0279
「将来のビデオコーディング規格のための要件」によれば、「それぞれが異なる特性(例えば、空間分解能又はサンプルビット深度)を有する同一コンテンツの複数の表現を提供するアダプティブストリーミングサービスの場合、規格は高速な表現スイッチングをサポートするものとする」とされている。リアルタイムのビデオ通信では、Iピクチャを挿入することなく、コード化ビデオシーケンス内の解像度を変化させることは、ビデオデータを動的チャネル条件又はユーザの好みにシームレスに適合させるだけでなく、Iピクチャによってもたらされるビート効果を取り除くことができる。適応的解像度変更の仮想的な例が図14に示され、ここでは、現在のピクチャは異なるサイズの参照ピクチャから予測される。
【0226】
この貢献は、VTMにおける現在の動き補償予測プロセスに、適応的解像度変更及び修正をシグナリングする高レベルシンタックスを提案する。これらの修正は、既存の動き補償補間器に変更を加えずに、動きベクトルスケーリング及びサブペル位置導出に限定される。これは、既存の動き補償補間器が再利用されることを可能にし、追加コストをもたらし得る適応的解像度変更をサポートするための新たな処理ブロックを必要としない。
【0227】
2.2.6.1 適応的解像度変更シグナリング
【0228】
【表12】
【0229】
[[pic_width_in_luma_samples] は、各デコードされたピクチャの幅をルーマサンプル単位で指定する。pic_width_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。
pic_height_in_luma_samplesは、各デコードされたピクチャの高さをルーマサンプル単位で指定する。pic_height_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。]]
【0230】
max_pic_width_in_luma_samplesは、SPSを参照するデコードされたピクチャの最大幅をルーマサンプル単位で指定する。max_pic_width_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。
【0231】
max_pic_height_in_luma_samplesは、SPSを参照するデコードされたピクチャの最大高さをルーマサンプル単位で指定する。max_pic_height_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。
【0232】
【表13】
【0233】
pic_size_difference_from_max_flag=1は、PPSが参照されたSPSのmax_pic_width_in_luma_samples及びmax_pic_height_in_luma_sampleとは異なるピクチャ幅又ピクチャ高さをシグナリングすることを指定する。pic_size_different_from_max_flag=0は、pic_width_in_luma_samples及びpic_height_in_luma_samplesが、参照されたSPSのmax_pic_width_in_luma_samples及びmax_pic_height_in_luma_sampleと同じであることを指定する。
【0234】
pic_width_in_luma_samplesは、各デコードされたピクチャの幅をルーマサンプル単位で指定する。pic_width_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。pic_width_in_luma_samplesが存在しない場合、それはmax_pic_width_in_luma_samplesと等しいと推定される。
【0235】
pic_height_in_luma_samplesは、各デコードされたピクチャの高さをルーマサンプル単位で指定する。pic_height_in_luma_samplesは0と等しくなく、MinCbSizeYの整数倍とする。pic_height_in_luma_samplesが存在しない場合、それはmax_pic_height_in_luma_samplesと等しいと推定される。
【0236】
水平及び垂直スケーリング比は、全てのアクティブ参照ピクチャに対して、1/8~2の範囲とすることがビットストリーム適合の要件である。スケーリング比は以下のように定義される。
【0237】
horizontal_scaling_ratio=((reference_pic_width_in_luma_samples<<14)+(pic_width_in_luma_samples/2))/pic_width_in_luma_samples
vertical_scaling_ratio=((reference_pic_height_in_luma_samples<<14)+(pic_height_in_luma_samples/2))/pic_height_in_luma_samples
【0238】
【表14】
【0239】
参照ピクチャスケーリングプロセス
CVS内で解像度変更がある場合、ピクチャは、その参照ピクチャの1つ以上と異なるサイズを有し得る。この提案は、全ての動きベクトルを、それらの対応する参照ピクチャのグリッドの代わりに、現在のピクチャのグリッドに正規化する。これは、設計の一貫性を維持し、解像度変更を動きベクトル予測プロセスに対して透明性のあるものにする上で有益であると主張される。さもなければ、異なるサイズの参照ピクチャを指す隣接する動きベクトルは、スケーリングが異なることにより、空間的動きベクトル予測に直接用いることができない。
【0240】
解像度変更が起こると、動き補償予測を行う間に動きベクトル及び参照ブロックの双方をスケーリングする必要がある。スケーリング範囲は[1/8、2]に限定されている。すなわち、アップスケーリングは1:8に制限され、ダウンスケーリングは2:1に制限されている。なお、アップスケーリングとは、参照ピクチャが現在のピクチャよりも小さい場合を意味するのに対して、ダウンスケーリングとは、参照ピクチャが現在のピクチャより大きい場合を意味する。以下のセクションでは、スケーリングプロセスをより詳細に説明する。
【0241】
ルーマブロック
スケーリング係数及びそれらの固定点表現は以下のように定義される。
【0242】
【数6】
【0243】
【数7】
スケーリングプロセスには2つの部分がある。
【0244】
1.現在のブロックの左上隅のピクセルを参照ピクチャにマップする。
【0245】
2.現在のブロックの他のピクセルの参照位置を指定するために水平及び垂直のステップサイズを用いる。
【0246】
現在のブロックの左上隅のピクセルの座標が(x、y)の場合、1/16ピクセルの単位で動きベクトル(mvX、mvY)によって指される参照ピクチャ内のサブペル位置(x^’、y^’)は以下のように指定される。
【0247】
参照ピクチャの水平位置は次のようになる。
【0248】
【数8】
【0249】
10ビットだけを保持するためにx’がさらに縮小される。
【0250】
【数9】
【0251】
同様に、参照ピクチャの垂直位置は次のようになる。
【数10】
【0252】
y’はさらに縮小される。
【0253】
【数11】
【0254】
この時点で、現在のブロックの左上隅のピクセルの参照位置は(x^’、y^’)にある。他の参照サブプル/ピクセル位置は、水平及び垂直ステップサイズで(x^’、y^’)に対して計算される。これらのステップサイズは、上記の水平及び垂直スケーリング係数から1/1024ピクセル単位の精度で以下のように導出される。
【0255】
【数12】
【0256】
【数13】
一例として、現在のブロック内のピクセルがi列であり、左上隅のピクセルからj列離れている場合、その対応する参照ピクセルの水平及び垂直座標は以下のように導出される。
【0257】
【数14】
【0258】
【数15】
【0259】
サブペル補間では、x’、y’をフルペル部及び部分ペル部に分割する必要がある。
【0260】
-参照ブロックをアドレスするためのフルペル部は以下と等しい。
【0261】
【数16】
【0262】
【数17】
【0263】
-補間フィルタの選択に用いられ得る部分ペル部は以下と等しい。
【0264】
【数18】
【0265】
【数19】
【0266】
参照ピクチャ内のフルペル位置及び部分ペル位置が特定された場合、追加の変更なしに既存の動き補償を用いることができる。フルペル位置は、参照ピクチャから基準ブロックパッチを取得するために用いられ、部分ペル位置は、適切な補間フィルタを選択するために用いられる。
【0267】
クロマブロック
クロマフォーマットが4:2:0の場合、クロマ動きベクトルは1/32ピクセル単位の精度を有する。クロマ動きベクトル及びクロマ参照ブロックのスケーリングプロセスは、クロマフォーマット関連の調整を除いて、ルーマブロックの場合とほぼ同じである。
【0268】
現在のクロマブロックの左上隅のピクセルの座標が(xc、yc)の場合、参照クロマピクチャの初期水平及び垂直位置は次のようになる。
【0269】
【数20】
【0270】
【数21】
【0271】
ここで、mvX及びmvYは元のルーマ動きベクトルであるが、今度は1/32ピクセル単位の精度で検査すべきである。
【0272】
1/1024ピクセル単位の精度を維持するために、xc’及びyc’がさらに縮小される。
【0273】
【数22】
【0274】
【数23】
【0275】
関連するルーマの方程式と比較して、上記の右側へのシフトは1ビット増加する。
【0276】
使用するステップサイズはルーマとの場合と同じである。左上隅のピクセルに対して(i、j)にあるクロマピクセルについて、その参照ピクセルの水平及び垂直座標は下記に導出される。
【0277】
【数24】
【0278】
【数25】
【0279】
サブペル補間では、x、yもフルペル部及び部分ペル部に分割される。
【0280】
-参照ブロックをアドレスするためのフルペル部は以下と等しい。
【0281】
【数26】
【0282】
【数27】
【0283】
補間フィルタの選択に用いられる部分ペル部は以下と等しい。
【0284】
【数28】
【0285】
【数29】
【0286】
他のコーディングツールとの相互作用
一部のコーディングツールと参照ピクチャスケーリングとの相互作用に伴う複雑性及びメモリ帯域幅の増加により、VVC仕様に以下の制約を加えることが推奨される。
【0287】
tile_group_temporal_mvp_enabled_flag=1の場合、現在のピクチャ及びそのコロケーションされたピクチャは同じサイズを有するものとする。
【0288】
シーケンス内で解像度変更が許容される場合、デコーダの動きベクトル精密化はオフにすべきである。
【0289】
シーケンス内で解像度変更が許可される場合、sps_bdof_enabled_flag=0とする。
【0290】
2.3 JVET-N0415におけるコーディングツリーブロック(CTB)ベースの適応ループフィルタ(ALF)
スライスレベルの時間フィルタ
VTM4では適応パラメータセット(APS)が採用された。各APSは1セットのシグナリングALFフィルタを含み、最大で32のAPSがサポートされる。提案では、スライスレベルの時間フィルタがテストされた。タイルグループは、オーバーヘッドを減らすためにAPSからのALF情報を再利用できる。APSは先入れ先出し(FIFO)バッファとして更新される。
【0291】
CTBベースのALF
ルーマコンポーネントの場合、ALFがルーマCTBに適用された場合、16の固定フィルタセット、5つの時間フィルタセット又は1つの信号フィルタセットのうちの選択肢が示される。フィルタセットインデックスのみがシグナリングされる。1つのスライスに対して、新たな25のフィルタセット1つだけをシグナリングできる。新たなセットがスライスにシグナリングされた場合、同じスライス内の全てのルーマCTBはそのセットを共有する。固定フィルタセットは新たなスライスレベルフィルタセットを予測するために用いることができ、ルーマCTBのフィルタセット候補として用いることができる。フィルタの数は合計で64である。
【0292】
クロマコンポーネントの場合、ALFがクロマCTBに適用された場合、新たなフィルタがスライスに対してシグナリングされた場合、CTBは新たなフィルタを用い、さもなくば、時間的スケーラビリティ制約を満たす最新の時間的クロマフィルタが適用される。
【0293】
スライスレベルの時間フィルタとして、APSは先入れ先出し(FIFO)バッファとして更新される。
【0294】
2.4 代替的な時間的動きベクトル予測(VVCにおけるサブブロックベースの時間的マージ候補としても知られる)
代替的な時間的動きベクトル予測(ATMVP)法では、動きベクトル時間的動きベクトル予測(TMVP)を、現在のCUよりも小さいブロックから複数のセットの動き情報(動きベクトル及び参照インデックスを含む)を取り出すことにより修正されている。図14に示すように、サブCUは正方形のN×Nブロックである(Nはデフォルトで8に設定されている)。
【0295】
ATMVPは、CU内のサブCUの動きベクトルを2段階で予測する。第1のステップは、いわゆる時間ベクトルを用いて参照ピクチャ内の対応するブロックを識別することである。この参照ピクチャは動きソースピクチャと呼ばれる。第2のステップは、現在のCUをサブCUに分割して、CUのATMVP動き予測の例を示す図15に示すように、各サブCUに対応するブロックから、各サブCUの参照インデックスに加えて動きベクトルを得ることである。
【0296】
第1のステップでは、参照ピクチャ及び対応するブロックは、現在のCUの空間的隣接ブロックの動き情報によって決定される。隣接ブロックの繰り返しの走査プロセスを避けるために、現在のCUのマージ候補リスト内のブロックA0(左ブロック)からのマージ候補が用いられる。コロケーションされた参照ピクチャを参照するブロックA0からの第1の利用可能な動きベクトルは時間ベクトルとして設定される。このように、ATMVPでは、対応するブロックは、TMVPに比べてより正確に識別され得る。対応するブロック(コロケーションされたブロックと呼ばれることもある)は、現在のCUに対して常に右下又は中心位置にある。
【0297】
第2のステップにおいて、サブCUの対応するブロックは、現在のCUの座標に時間ベクトルを加えることにより、動きソースピクチャ内の時間ベクトルによって識別される。各サブCUに対して、その対応するブロックの動き情報(中心サンプルをカバーする最小の動きグリッド)を用いてサブCUの動き情報が導出される。対応するN×Nブロックの動き情報が識別された後で、HEVCのTMVPと同じ様に、現在のサブCUの動きベクトル及び参照インデックスに変換され、動きスケーリング及び他の手順が適用される。
【0298】
2.5 アフィン動き予測
HEVCでは、並進運動モデル(translation motion model)しか動き補償予測(Motion Compensation Prediction,MCP)のために適用されない。現実世界では、多くの種類の動き、例えば、ズームイン/アウト、回転、射影運動及び他の不規則な動きを有する可能性がある。VVCでは、簡素化されたアフィン変換動き補償予測が4パラメータアフィンモデル及び6パラメータアフィンモデルにより適用される。図16a及び図16bは簡素化された4パラメータアフィンモデル及び6パラメータアフィンモデルをそれぞれ示す。図16a及び図16bに示すように、ブロックのアフィン運動場は、4パラメータアフィンモデルについては2つの制御点動きベクトル(Control Point Motion Vectors,CPMV)及び6パラメータアフィンモデルについては3つのCPMVによって記述される。
【0299】
ブロックの動きベクトル場(Motion Vector Field、MVF)は、式(1)の4パラメータアフィンモデル(ここで、4パラメータは、変数a、b、e及びfとして定義されている)及び式(2)の6パラメータアフィンモデル(ここで、6パラメータは、a、b、c、d、e及びfとして定義されている。)によりそれぞれ、次の式によって記述される。
【0300】
【数30】
【0301】
ここで、(mvh0、mvh0)は、左上隅の制御点の動きベクトルであり、(mvh1、mvh1)は、右上隅の制御点の動きベクトルであり、(mvh2、mvh2)は、左下隅の制御点の動きベクトルであり、これら3つの動きベクトルは全てが制御点動きベクトル(CPMV)と呼ばれ、(x、y)は、現在のブロック内の左上サンプルに対する代表点の座標を表し、(mvh(x、y)、mvv(x、y))は、(x、y)に位置しているサンプルについて導出された動きベクトルである。CP動きベクトルは、シグナリング(アフィンAMVPモードと同様)されるか又はオンザフライで導出(アフィンモードと同様)されてよい。w及びhは、現在のブロックの幅及び高さである。実際に、分割は、丸め演算付き右シフトによって実施される。VTMでは、代表点は、サブブロックの中心位置であるよう定義され、例えば、現在のブロック内の左上サンプルに対するサブブロックの左上隅の座標が(xs、ys)である場合に、代表点の座標は、(xs+2、ys+2)であるよう定義される。各サブブロック(すなわち、VTMでは4×4)について、代表点は、そのサブブロック全体の動きベクトルを導出するために利用される。
【0302】
動き補償予測をさらに簡素化するために、サブブロックベースのアフィン変換予測が適用される。各M×Nサブブロック(M及びNは両方とも、現在のVVCでは、4にセットされる。)の動きベクトルを導出するために、図17に示される各サブブロックの中心サンプルの動きベクトルは、式(25)及び(26)に従って計算され、1/16分数精度に丸められ得る。次いで、1/16ペルのための動き補償補間フィルタが、導出された動きベクトルにより各サブブロックの予測を生成するために適用される。1/16ペルのための補間フィルタがアフィンモードによって導入される。
【0303】
MCPの後、各サブブロックの高精度動きベクトルは丸められ、通常の動きベクトルと同じ精度としてセーブされる。
【0304】
2.5.1 アフィン予測のシグナリング
並進運動モデルと同様に、アフィンモデルによるサイド情報をシグナリングするための2つのモードもある。それらは、AFFINE_INTERモード及びAFFINE_MERGEモードである。
【0305】
2.5.2 AF_INTERモード
幅及び高さの両方が8よりも大きいCUについては、AF_INTERモードが適用され得る。CUレベルでのアフィンフラグは、AF_INTERモードが使用されるかどうかを示すためにビットストリームでシグナリングされる。
【0306】
このモードで、各参照ピクチャリスト(List0又はList1)について、アフィンAMVP候補リストは、次の順序で3つのタイプのアフィン動き予測子により構成され、各候補は、現在のブロックの推定されたCPMVを含む。エンコーダ側で見つけられた最良のCPMV(例えば、図18a及び図18bのmv、mv、mv)と推定されたCPMVとの差がシグナリングされる。加えて、推定されたCPMVが導出されるアフィンAMVP候補のインデックスがさらにシグナリングされる。
【0307】
1)遺伝的アフィン動き予測子
検査順序は、HEVC AMVPリスト構成における空間MVPのそれと同様である。最初に、現在のブロックと同じ参照ピクチャを有し、アフィンコーディングされている{A1、A0}内の最初のブロックから、左側の遺伝的アフィン動き予測子が導出される。第2に、現在のブロックと同じ参照ピクチャを有し、アフィンコーディングされている{B1、B0、B2}内の最初のブロックから、上側の遺伝的アフィン動き予測子が導出される。5つのブロックA1、A0、B1、B0、B2は図19に表されている。
【0308】
隣接するブロックがアフィンモードでコーディングされていると分かると、隣接するブロックをカバーするコーディングユニットのCPMVは、現在のブロックのCPMVの予測子を導出するために使用される。例えば、A1が非アフィンモードでコーディングされ、A0が4パラメータアフィンモードでコーディングされる場合に、左側の遺伝的アフィンMV予測子はA0から導出されることになる。この場合に、図18bで左上CPMVについてはMV 及び右上CPMVについてはMV によって表されている、A0をカバーするCUのCPMVは、現在のブロックの左上位置(座標(x0、y0)を有する)、右上位置(座標(x1、y1)を有する)及び右下位置(座標(x2、y2)を有する)についてMV 、MV 、MV によって表される現在のブロックの推定されたCPMVを導出するために利用される。
【0309】
2)構成されたアフィン動き予測子
構成されたアフィン動き予測子は、同じ参照ピクチャを有している、図20に示されるような隣接するインターコーディングされたブロックから導出される制御点動きベクトル(CPMV)から成る。現在のアフィン運動モデルが4パラメータアフィンである場合に、CPMVの数は2であり、そうではなく、現在のアフィン運動モデルが6パラメータアフィンである場合に、CPMVの数は3である。左上CPMV
〔外1〕
(以降、バーmv)は、現在のブロックと同じ参照ピクチャを有している、インターコーディングされているグループ{A、B、C}内の最初のブロックでのMVによって、導出される。右上CPMV
〔外2〕
(以降、バーmv)は、現在のブロックと同じ参照ピクチャを有している、インターコーディングされているグループ{D、E}内の最初のブロックでのMVによって、導出される。左下CPMV
〔外3〕
(以降、バーmv)は、現在のブロックと同じ参照ピクチャを有している、インターコーディングされているグループ{F、G}内の最初のブロックでのMVによって、導出される。
【0310】
-現在のアフィン運動モデルが4パラメータアフィンである場合に、構成されたアフィン動き予測子は、バーmv及びバーmvの両方が求められる、つまり、バーmv及びバーmvが現在のブロックの左上位置(座標(x0、y0)を有する)及び右上位置(座標(x1、y1)を有する)についての推定されたCPMVとして使用される場合にのみ、候補リストに挿入される。
【0311】
-現在のアフィン運動モデルが6パラメータアフィンである場合に、構成されたアフィン動き予測子は、バーmv、バーmv、及びバーmvが全て求められる、つまり、バーmv、バーmv、及びバーmvが現在のブロックの左上位置(座標(x0、y0)を有する)、右上位置(座標(x1、y1)を有する)及び右下位置(座標(x2、y2)を有する)についての推定されたCPMVとして使用される場合にのみ、候補リストに挿入される。
【0312】
構成されたアフィン動き予測子を候補リストに挿入する場合に、プルーニングプロセスは適用されない。
【0313】
3)通常のAMVP動き予測子
以下は、アフィン動き予測子の数が最大値に達するまで適用される。
【0314】
i.利用可能である場合に全てのCPMVをバーmvに等しくセットすることによってアフィン動き予測子を導出する。
【0315】
ii.利用可能である場合に全てのCPMVをバーmvに等しくセットすることによってアフィン動き予測子を導出する。
【0316】
iii.利用可能である場合に全てのCPMVをバーmvに等しくセットすることによってアフィン動き予測子を導出する。
【0317】
iv.利用可能である場合に全てのCPMVをHEVC TMVPに等しくセットすることによってアフィン動き予測子を導出する。
【0318】
v.全てのCPMVをゼロMVにセットすることによってアフィン動き予測子を導出する。
【0319】
留意されるべきは、
〔外4〕
(以降、バーmv)は、構成されたアフィン運動では既に導出されている点である。
【0320】
AF_INTERモードでは、4又は6パラメータアフィンモードが使用される場合に、2又は3つの制御点が必要とされるので、2つ又は3つのMVDが、図18a及び図18bに示されるように、それらの制御点に対してコーディングされる必要がある。JVET-K0337では、MVを次のように導出することが提案されており、すなわち、mvdからmvd及びmvdが予測される。
【0321】
【数31】
【0322】
ここで、バーmv、mvd及びmvは、図18(b)に示されるように、それぞれ、左上ピクセル(i=0)、右上ピクセル(i=1)、又は左下ピクセル(i=2)の予測された動きベクトル、動きベクトル差分及び動きベクトルである。なお、2つの動きベクトル(例えば、mvA(xA、yA)及びmvB(xB、yB))の追加は、別々に2つの成分の和に等しい。すなわち、newMV=mvA+mvBであり、newMVの2つの成分はそれぞれ、(xA+xB)及び(yA+yB)にセットされる。
【0323】
2.5.2.1 AF_MERGEモード
CUがAF_MERGEモードで適用される場合に、それは、有効な隣接する再構成されたブロックからアフィンモードによりコーディングされた最初のブロックを得る。図21はAF_MERGEの候補を示す。候補ブロックの選択順序は、図21aに示されるように、左から、上、右上、左下、左上へである(順にA、B、C、D、Eによって表される)。例えば、隣接する左下ブロックが、図21bでA0によって表されるように、アフィンモードでコーディングされる場合に、ブロックAを含む隣接するCU/PUの左上隅、右上隅、及び左下隅の制御点(CP)動きベクトルmv 、mv 及びmv がフェッチされる。そして、現在のCU/PU上の左上隅/右上/左下の動きベクトルmv 、mv 及びmv (6パラメータアフィンモデルのためにのみ使用される)は、mv 、mv 及びmv に基づいて計算される。なお、VTM-2.0では、現在のブロックがアフィンコーディングされている場合に、左上隅に位置するサブブロック(例えば、VTMでは、4×4ブロック)は、mv0を保存し、右上隅にあるサブブロックは、mv1を保存する。現在のブロックが6パラメータアフィンモデルでコーディングされる場合には、左下隅にあるサブブロックは、mv2を保存し、そうでない(4パラメータアフィンモデルによる)場合には、LBはmv2’を保存する。他のサブブロックは、MCのために使用されるMVを保存する。
【0324】
現在のCUのCPMVであるmv0C、mv1C及びmv2Cが、簡素化されたアフィン運動モデルである式25及び26に従って導出された後、現在のCUのMVFが生成される。現在のCUがAF_MERGEモードでコーディングされているかどうかを識別するために、アフィンモードでコーディングされている少なくとも1つの隣接ブロックがある場合に、アフィンフラグがビットストリームでシグナリングされる。
【0325】
JVET-L0142及びJVET-L0632では、アフィンマージ候補リストは、次のステップで構成される。
【0326】
1)遺伝的アフィン候補の挿入
遺伝によるアフィン候補(inherited affine candidate)とは、候補が、その有効な隣接するアフィンコーディングされたブロックのアフィン運動モデルから導出されることを意味する。最大2つの遺伝的アフィン候補が、隣接ブロックのアフィン運動モデルから導出され、候補リストに挿入される。左側予測子については、走査順序は{A0、A1}であり、上側予測子については、走査順序は{B0、B1、B2}である。
【0327】
2)構成されたアフィン候補の挿入
アフィンマージ候補リスト内の候補の数がMaxNumAffineCand(例えば、5つ)に満たない場合には、構成されたアフィン候補(constructed affine candidates)が候補リストに挿入される。構成されたアフィン候補とは、候補が、各制御点の隣接動き情報を結合することによって構成されることを意味する。
【0328】
a)制御点の動き情報は、最初に、図22に示されている指定された空間近傍及び時間近傍から導出される。CPk(k=1、2、3、4)は、k番目の制御点を表す。A0、A1、A2、B0、B1、B2及びB3は、CPk(k=1、2、3)を予測するための空間的位置である。Tは、CP4を予測するための時間的位置である。
【0329】
CP1、CP2、CP3及びCP4の座標は、それぞれ(0、0)、(W、0)、(H、0)及び(W、H)であり、ここで、W及びHは、現在のブロックの幅及び高さである。
【0330】
各制御点の動き情報は、次の優先順序に従って取得される:
-CP1については、チェック優先度はB2→B3→A2である。B2は、それが利用可能である場合に使用される。そうではない場合に、B3が利用可能であるならば、B3が使用される。B2及びB3の両方が利用不可能である場合には、A2が使用される。3つ全ての候補が利用不可能である場合には、CP1の動き情報は取得不可能である。
【0331】
-CP2については、チェック優先度はB1→B0である。
【0332】
-CP3については、チェック優先度はA1→A0である。
【0333】
-CP4については、Tが使用される。
【0334】
b)第2に、制御点の組み合わせが、アフィンマージ候補を構成するために使用される。
【0335】
-3つの制御点の動き情報が、6パラメータアフィン候補を構成するために必要とされる。3つの制御点は、次の4つの組み合わせ({CP1、CP2、CP4}、{CP1、CP2、CP3}、{CP2、CP3、CP4}、{CP1、CP3、CP4})のうちの1つから選択され得る。組み合わせ{CP1、CP2、CP3}、{CP2、CP3、CP4}、{CP1、CP3、CP4}は、左上、右上、及び左下制御点によって表される6パラメータ運動モデルへ変換されることになる。
【0336】
-2つの制御点の動きベクトルが、4パラメータアフィン候補を構成するために必要とされる。2つの制御点は、次の2つの組み合わせ({CP1、CP2}、{CP1、CP3})のうちの1つから選択され得る。2つの組み合わせは、左上及び右上制御点によって表される4パラメータ運動モデルへ変換されることになる。
【0337】
-構成されたアフィン候補の組み合わせは、次の順序:{CP1、CP2、CP3}、{CP1、CP2、CP4}、{CP1、CP3、CP4}、{CP2、CP3、CP4}、{CP1、CP2}、{CP1、CP3}として候補リストに挿入される。
【0338】
i.組み合わせごとに、各CPのためのリストXの参照インデックスはチェックされ、それらが全て同じである場合に、この組み合わせはリストXの有効なCPMVを有している。組み合わせがリスト0及びリスト1の両方の有効なCPMVを有してない場合には、この組み合わせは無効とマークされる。そうでない場合には、それは有効であり、CPMVはサブブロックマージリストに置かれる。
【0339】
3)ゼロアフィン動きベクトル候補によるパディング
アフィンマージ候補リスト内の候補の数が5よりも少ない場合に、リストがフルになるまでゼロ参照インデックスのゼロ動きベクトルが候補リストに挿入される。
【0340】
より具体的には、サブブロックマージ候補リストについて、4パラメータマージ候補は、MVが(0、0)にセットされ、予測方向がリスト0からの一方向予測(Pスライスの場合)及び双方向予測(Bスライスの場合)にセットされる。
【0341】
既存の実装の欠点
VVCに適用する場合、ARCは以下の課題を有し得る。
【0342】
ALF、ルーママッピングクロマスケーリング(LMCS)、デコーダ側動きベクトルリファインメント(DMVR)、双方向光学フロー(BDOF)、アフィン予測、三角予測モード(TPM)、対称動きベクトル差(SMVD)、マージ動きベクトル差(MMVD)、インターイントラ予測(VVCでは併用インターピクチャマージ及びイントラピクチャマージ(CIIP)としても知られている)、局所化照明圧縮(LIC)及び履歴ベースの動きベクトル予測(HMVP)等のコーディングツールをVVCに適用されるかは不明である。
【0343】
適応的解像度変換でツールをコーディングするための例示の方法
開示の技術の実施形態は既存の実施の欠点を克服する。以下に示す開示の技術の例は、開示の技術の理解を促進するために議論され、開示の技術を制限する方法で解釈されるべきである。別段明示がない限り、これらの例で説明する様々な特徴は組み合わせることができる。
【0344】
以下の議論では、SatShift(x、n)は以下のように定義される。
【0345】
【数32】
【0346】
Shift(x、n)は、Shift(x、n)=(x+offset0)>>nと定義される。
【0347】
1つの例では、offset0及び/又はoffset1は、(1<<n)>>1又は(1<<(n-1))に設定される。別の例では、offset0及び/又はoffset1は0に設定される。
【0348】
別の例では、offset0=offset1=((1<<n)>>1)-1又は((1<<(n-1)))-1である。
【0349】
Clip3(min、max、x)は以下のように定義される。
【0350】
【数33】
【0351】
Floor(x)はx以下の最も大きい整数として定義される。
【0352】
Ceil(x)はx以上の最も小さい整数である。
【0353】
Log2(x)はxの基数-2の対数として定義される。
【0354】
開示の技術の実施の一部の側面を以下に列挙する。
【0355】
1. MMVD/SMVDにおけるMVオフセット及び/又はコーダ側導出プロセスにおける精密化された動きベクトルの導出は、現在のブロックに関連する参照ピクチャの解像度及び現在のピクチャの解像度に依存し得る。
a.例えば、第2の参照ピクチャを参照する第2のMVオフセットは、第1の参照ピクチャを参照する第1のMVオフセットからスケーリングされ得る。スケーリング係数は、第1及び第2の参照ピクチャの解像度に依存し得る。
【0356】
2. 動き候補リスト構築プロセスは、空間的/時間的/履歴的な動き候補に関連する参照ピクチャ解像度に従って構築され得る。
a.1つの例では、解像度がより高い参照ピクチャを参照するマージ候補は、解像度がより低い参照ピクチャを参照するマージ候補よりも高い優先度を有し得る。議論では、W0<W1及びH0<H1の場合、解像度W0*H0は解像度W1*H1より低い。
b.例えば、マージ候補リストにおいて、解像度がより高い参照ピクチャを参照するマージ候補は解像度がより低い参照ピクチャを参照するマージ候補の前に置かれ得る。
c.例えば、現在のピクチャの解像度よりも低い解像度を有する参照ピクチャを参照する動きベクトルはマージ候補リストに入れることはできない。
d.1つの例では、履歴バッファ(参照テーブル)を更新するかどうか及び/又はどのように更新するかは、デコードされた動き候補に関連する参照ピクチャ解像度に依存し得る。
i.1つの例では、デコードされた動き候補に関連する1つの参照ピクチャが異なる解像度を有する場合、そのような動き候補は履歴バッファを更新するために許可されない。
【0357】
3. ピクチャは、対応する寸法に関連するALFパラメータでフィルタリングされるべきことが提案される。
a.一例では、APSのようなビデオユニットでシグナリングするALFパラメータは、1つまたは複数の画像寸法に関連付けることができる。
b.一例では、APSシグナリングALFパラメータのようなビデオユニットは、1つまたは複数の画像寸法に関連付けることができる。
c.例えば、画像は、同じ寸法に関連付けられたAPSのようなビデオユニットで信号化されたALFパラメータのみを適用することができる。
d.PPSの解像度/インデックス/解像度の表示は、ALF APSでシグナリングすることができる。
e.ALFパラメータは、同じ解像度を持つ画像に対して使用されるものからのみ継承/予測されることがあることが制限される。
【0358】
4. 第1の対応する寸法に関連するALFパラメータは、第2の対応する寸法に関連するALFパラメータを継承し得るか又はALFパラメータから予測され得ることが提案される。
a.1つの例では、第1の対応する寸法は、第2の対応する寸法と同じでなければならない。
b.1つの例では、第1の対応する寸法は、第2の対応する寸法と異なり得る。
【0359】
5. ピクチャ内のサンプルは、対応する寸法に関連するLMCSパラメータで再成形されるべきであることが提案される。
a.1つの例では、APS等のビデオユニットでシグナリングされるLMCSパラメータは、1つ以上のピクチャ寸法に関連し得る。
b.1つの例では、LMCSパラメータをシグナリングするAPS等のビデオユニットは、1つ以上のピクチャ寸法に関連し得る。
c.例えば、ピクチャは、同じ寸法に関連するAPS等のビデオユニットでシグナリングされるLMCSパラメータのみを適用し得る。
d.PPSの解像度/インデックス/解像度の表示は、LMCS APSでシグナリングされ得る。
e.LMCSパラメータは、同じ解像度を有するピクチャに対して用いられるものからのみ継承/予測され得ると制限される。
【0360】
6. 第1の対応する寸法に関連するLMCSパラメータは、第2の対応する寸法に関連するLMCSパラメータを継承し得るか又は予測され得ることが提案される。
a.1つの例では、第1の対応する寸法は、第2の対応する寸法と同じでなければならない。
b.1つの例では、第1の対応する寸法は、第2の対応する寸法と異なり得る。
【0361】
7. TPM(三角予測モード)/GEO(幾何学的分割を用いたインター予測)又は1つのブロックを2つ又は複数のサブパーティションに分割し得る他のコーディングツールを有効にするかどうか及び/又はどのように有効にするかは、2つ又は複数のサブパーティションの関連する参照ピクチャ情報によって決まる。
a.1つの例では、それは、2つの参照ピクチャのうちの1つの解像度及び現在のピクチャの解像度に依存し得る。
i.1つの例では、2つの参照ピクチャのうちの少なくとも1つが現在のピクチャと比較して異なる解像度に関連する場合、そのようなコーディングツールは無効にされる。
b.1つの例では、それは、2つの参照ピクチャの解像度が同じかどうかに依存し得る。
i.1つの例では、2つの参照ピクチャが異なる解像度と関連する場合、そのようなコーディングツールは無効にされ得る。
ii.1つの例では、2つの参照ピクチャの両方が現在のピクチャと比較して異なる解像度に関連する場合、そのようなコーディングツールは無効にされる。
iii.あるいは、2つの参照ピクチャの両方が現在のピクチャと比較して異なる解像度に関連するが、2つの参照ピクチャが同じ解像度の場合、そのようなコーディングツールは依然として無効にされ得る。
iv.あるいは、参照ピクチャのうちの少なくとも1つが現在のピクチャとは異なる解像度を有し、参照ピクチャが異なる解像度を有する場合、コーディングツールXは無効にされ得る。
c.あるいは、さらに、2つの参照ピクチャが同じ参照ピクチャであるかどうかに依存し得る。
d.あるいは、さらに、2つの参照ピクチャが同じ参照リストにあるかどうかに依存し得る。
e.あるいは、そのようなコーディングツールは、RPR(参照ピクチャの再サンプリングがスライス/ピクチャヘッダ/シーケンスパラメータセットで有効)の場合、常に無効にされ得る。
【0362】
8. ブロックが現在のピクチャとは異なる寸法を有する少なくとも1つの参照ピクチャを参照する場合、該ブロックに対してコーディングツールXが無効にされ得ることが提案される。
a.1つの例では、コーディングツールXに関する情報はシグナリングされなくてもよい。
b.1つの例では、そのようなブロックの動き情報はHMVPテーブルに挿入されなくてもよい。
c.あるいは、ブロックにコーディングツールXが適用される場合、ブロックは、現在のピクチャとは異なる寸法の参照ピクチャを参照することができない。
i.1つの例では、現在のピクチャとは異なる寸法を有する参照ピクチャを参照するマージ候補はスキップされ得るか又はマージ候補リストに入れられない。
ii.1つの例では、現在のピクチャとは異なる寸法の参照ピクチャに対応する参照インデックスはスキップされ得るか又はシグナリングされることが許可されない。
d.あるいは、コーディングツールXは、現在のピクチャの解像度及び参照ピクチャの解像度に従って2つの参照ブロック又はピクチャをスケーリングした後で適用され得る。
e.あるいは、コーディングツールXは、現在のピクチャの解像度及び参照ピクチャの解像度に従って2つのMV又はMVDをスケーリングした後で適用され得る。
f.1つの例では、ブロック(例えば、異なる参照ピクチャ又は異なるMVを有する同じ参照ピクチャリストからの複数仮説を有するブロック又は双方向コード化ブロック又は異なる参照ピクチャリストからの複数仮説を有するブロック)について、コーディングツールXを無効にするか又は有効にするかは、参照ピクチャリスト及び/又は現在の参照ピクチャに関連する参照ピクチャの解像度に依存し得る。
i.1つの例では、コーディングツールXは一方の参照ピクチャリストについて無効にされ得るが、他方の参照ピクチャリストについては有効であり得る。
ii.1つの例では、コーディングツールXは一方の参照ピクチャについては無効にされ得るが、他方の参照ピクチャについては有効であり得る。ここで、2つの参照ピクチャは異なる参照ピクチャリスト又は同じ参照ピクチャリストからのものであり得る。
iii.1つの例では、各参照ピクチャリストLについて、コーディングツールの有効化/無効化は、リストLとは異なる他の参照ピクチャリスト内の参照ピクチャに関係なく決定される。
1.1つの例では、リストLの参照ピクチャ及び現在のピクチャによって決定され得る。
2.1つの例では、リストLの関連する参照ピクチャが現在のピクチャと異なる場合、ツールはリストLについて無効にされ得る。
iv.あるいは、コーディングツールの有効化/無効化は、全ての参照ピクチャ及び/又は現在のピクチャの解像度によって決定される。
1.1つの例では、参照ピクチャのうちの少なくとも1つが現在のピクチャと異なる解像度を有する場合、コーディングツールXは無効にされ得る。
2.1つの例では、参照ピクチャのうちの少なくとも1つが現在のピクチャと異なる解像度を有するが、参照ピクチャ同士が同じ解像度を有する場合、コーディングツールXは依然有効にされ得る。
3.1つの例では、参照ピクチャのうちの少なくとも1つが現在のピクチャと異なる解像度を有し、参照ピクチャ同士が異なる解像度を有する場合、コーディングツールXは無効にされ得る。
g.コーディングツールXは以下のいずれかであり得る。
iii.DMVR
iv.BDOF
v.アフィン予測
vi.三角形予測モード
vii.SMVD
viii.MMVD
ix.VVCにおけるインターイントラ予測
x.LIC
xi.HMVP
xii.複数変換セット(MTS)
xiii.サブブロック変換(SBT)
xiv.PROF及び/又は他のデコード側の動き/予測の精緻化方法
xv.LFNST(低周波非二乗変換)
xvi.フィルタリング方法(例:デブロッキングフィルタ/SAO/ALF)
xvii.GEO/TPM/クロスコンポーネントALF
【0363】
9. ピクチャの参照ピクチャリストに含まれる異なる解像度はK個以下である。
a.1つの例では、K=2である。
【0364】
10. N個の連続する(デコーディング順序又は表示順序)ピクチャに対して、K個以下の異なる解像度しか許容されない。
a.1つの例では、N=3、K=3である。
b.1つの例では、N=10、K=3である。
c.1つの例では、GOPにおいてK個以下の異なる解像度しか許容されない。
d.1つの例では、同じ特定の時間的レイヤID(tidと表記される)を有する2つのピクチャの間で、K個以下の異なる解像度しか許容されない。
i.例えば、K=3、tid=0である。
【0365】
11. 解像度変更は、イントラピクチャに対してしか許容されない。
【0366】
12. 1つのブロックの1つ又は2つの参照ピクチャが現在のピクチャとは異なる解像度を有する場合、デコーディングプロセスにおいて双方向予測は単方向予測に変換され得る。
a.1つの例では、現在のピクチャと異なる解像度を有する対応する参照ピクチャを有するリストXからの予測が破棄され得る。
【0367】
13. 異なる解像度の参照ピクチャからのインター予測を有効又は無効にするかどうかは、動きベクトル精度及び/又は解像度比に依存し得る。
a.1つの例では、解像度比に従ってスケーリングされた動きベクトルが整数位置を指す場合、インター予測が依然として適用され得る。
b.1つの例では、解像度比に従ってスケーリングされた動きベクトルが、ARCを伴わない場合に許容されるサブペル位置(例えば、1/4ペル)を指す場合、インター予測が依然として適用され得る。
c.あるいは、両方の参照ピクチャが現在のピクチャとは異なる解像度を持つ場合、双方向予測が許可されないことがある。
d.あるいは、一方の参照ピクチャが現在のピクチャと異なる解像度を有し、他方が同じ解像度を有する場合に、双方向予測が有効にされ得る。
e.あるいは、参照ピクチャが現在のピクチャとは異なる解像度を有し、ブロック寸法が一定の条件を満たす場合、該ブロックに対して単方向予測が禁止され得る。
【0368】
14. デコーディングツールXが無効であるかどうかを示す第1のフラグ(例えば、pic_disable_X_flag)は、ピクチャヘッダでシグナリングされ得る。
a.スライス/タイル/ブリック/サブピクチャ/ピクチャよりも小さい他のビデオユニットに対するデコーディングツールを有効にするかどうかは、ピクチャヘッダ内のこのフラグ及び/又はスライスタイプによって制御され得る。
b.1つの例では、第1のフラグが真の場合、デコーディングツールXは無効にされる。
i.あるいは、第1のフラグが偽の場合、デコーディングツールXが有効にされる。
ii.1つの例では、ピクチャ内の全てのサンプルに対してそれが有効/無効にされる。
c.1つの例では、第1のフラグのシグナリングは、SPS/VPS/DPS/PPSにおけるシンタックス要素又は複数のシンタックス要素に依存し得る。
i.1つの例では、フラグのシグナリングは、SPSにおけるデコーディングツールXの有効フラグに依存し得る。
ii.あるいは、さらに、ピクチャヘッダ内の第1のフラグの存在を示す第2のフラグ(例えば、sps_X_slice_present_flag)がSPSにおいてシグナリングされ得る。
1)あるいは、さらに、コーディングツールXがシーケンスに対して有効である場合(例えば、sps_X_enabled_flagが真である場合)、第2のフラグは条件付きでシグナリングされ得る。
2)あるいは、さらに、第2のフラグのみが第1のフラグが存在することを示し、第1のフラグはピクチャヘッダにおいてシグナリングされ得る。
d.1つの例では、第1及び/又は第2のフラグは1ビットでコーディングされる。
e.デコーディングツールXは以下のようになり得る。
i.1つの例では、デコーディングツールXはPROFである。
ii.1つの例では、デコーディングツールXはDMVRである。
iii.1つの例では、デコーディングツールXはBDOFである
iv.1つの例では、デコーディングツールXはクロスコンポーネントALFである。
v.1つの例では、デコーディングツールXはGEOである。
vi.1つの例では、デコーディングツールXはTPMである。
vii.1つの例では、デコーディングツールXはMTSである。
【0369】
15. ブロックが、現在のピクチャと異なる寸法を有する参照ピクチャを参照できるかどうかは、ブロックの幅(WB)及び/又は高さ(HB)及び/又はブロック予測モード(すなわち、双方向予測又は短方向予測)に依存し得る。
a.1つの例では、ブロックは、WB>=T1及びHB>=T2の場合、例えば、T1=T2=8の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
b.1つの例では、ブロックは、WB*HB>=Tの場合、例えば、T1=64の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
c.1つの例では、ブロックは、Min(WB、HB)>=Tの場合、例えば、T=8の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
d.1つの例では、ブロックは、Max(WB、HB)>=Tの場合、例えば、T=8の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
e.1つの例では、ブロックは、WB<=T1及びHB<=T2の場合、例えば、T1=T2=62の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
f.1つの例では、ブロックは、WB*HB<=Tの場合、例えば、T1=4096の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
g.1つの例では、ブロックは、Min(WB、HB)<=Tの場合、例えば、T=64の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
h.1つの例では、ブロックは、Max(WB、HB)<=Tの場合、例えば、T=64の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照できる。
i.あるいは、ブロックは、WB<=T1及び/又はHB<=T2の場合、例えば、T1=T2=8の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照することが禁止される。
j.あるいは、ブロックは、WB<=T1及び/又はHB<=T2の場合、例えば、T1=T2=8の場合、現在のピクチャとは異なる寸法を有する参照ピクチャを参照することが禁止される。
【0370】
図23は、ビデオ処理のための例示の方法のフローチャートを示す。図23を参照して、方法2300は、ステップ2310で、現在のビデオブロックと現在のビデオブロックのビットストリーム表現との間での変換の間に、現在のビデオブロックに関連する参照ピクチャの解像度及び現在のピクチャの解像度に基づいて動きベクトルオフセットを導出することを含む。方法2300は、ステップ2320で、動きベクトルオフセットを用いて変換を行うことをさらに含む。
【0371】
一部の実施では、動きベクトルオフセットを導出することは、第1の参照ピクチャを参照する第1の動きベクトルオフセットを導出することと、第1の動きベクトルオフセットに基づいて、第2の参照ピクチャを参照する第2の動きベクトルオフセットを導出するステップとを含む。一部の実施では、本方法は、現在のビデオブロックに対して、空間的、時間的又は履歴的動き候補に関連する参照ピクチャ解像度に基づく動き候補リスト構築プロセスを行うことをさらに含む。一部の実施では、ルックアップテーブルを更新するかどうか又はどのように更新するかは、デコーされた動き候補に関連する参照ピクチャ解像度によって決まる。一部の実施では、本方法は、現在のピクチャに対して、対応する寸法に関連する適応ループフィルタ(ALF)パラメータを用いてフィルタリング動作を行うことをさらに含む。一部の実施では、ALFパラメータは、第1の対応する寸法に関連する第1のALFパラメータと、第2の対応する寸法に関連する第2のALFパラメータとを含み、第2のALFパラメータは、第1のALFパラメータから継承されるか又は予測される。
【0372】
一部の実施では、本方法は、対応する寸法に関連するLMCS(ルーママッピングクロマスケーリング)パラメータを用いて、現在のピクチャ内のサンプルを再成形することをさらに含む。一部の実施では、LMCSパラメータは、第1の対応する寸法に関連する第1のLMCSパラメータと、第2の対応する寸法に関連する第2のLMCSパラメータとを含み、第2のLMCSパラメータは第1のLMCSパラメータから継承されるか又は予測される。一部の実施では、ビデオユニット内でシグナリングされるALFパラメータ又はLMCSパラメータは、1つ又は複数のピクチャ寸法に関連する。一部の実施では、本方法は、現在のビデオブロックが、現在のピクチャとは異なる寸法を有する少なくとも1つの参照ピクチャを参照する場合に、現在のビデオブロックに対してコーディングツールを無効にすることをさらに含む。一部の実施では、本方法は、現在のピクチャの寸法から異なる寸法を有する参照ピクチャを参照するマージ候補をスキップすること又は省略することをさらに含む。一部の実施では、本方法は、参照ピクチャの解像度及び現在ピクチャの解像度に基づいて、2つの参照ブロック又は2つの参照ピクチャをスケーリングした後で又は参照ピクチャの解像度及び現在ピクチャの解像度に基づいて、2つのMV又はMVDをスケーリングした後で、コーディングツールを適用することをさらに含む。一部の実施では、現在のピクチャは異なる解像度をK個以下しか含まず、Kは自然数である。一部の実施では、N個の連続したピクチャに対してK個の異なる解像度が許容され、Nは自然数である。
【0373】
一部の実施では、本方法は、イントラピクチャである現在のピクチャに対して解像度変更を適用することをさらに含む。一部の実施では、本方法は、現在のビデオブロックの1つ又は2つの参照ピクチャが現在のピクチャの解像度と異なる解像度を有する場合に、双方向き予測を単方向予測に変換することをさらに含む。一部の実施では、本方法は、現在のブロック寸法と参照ブロック寸法との間の解像度比又は動きベクトル精度のうちの少なくとも1つによって決まり、異なる解像度の参照ピクチャからのインター予測を有効又は無効にすることをさらに含む。現在のブロック寸法がW*Hとすると、参照ブロック寸法はW1*H1であり、解像度比はW1/W、H1/H、(W1*H1)/(W*H)、max(W1/W、H1/H)又はmin(W1/W、H1/H)等を参照し得る。一部の実施では、本方法は、両方の参照ピクチャ又は一方の参照ピクチャが現在のピクチャとは異なる解像度を有するかどうかに応じて、双方向予測を適用することをさらに含む。一部の実施では、現在のビデオブロックが現在のピクチャとは異なる寸法を有する参照ピクチャを参照するかどうかは、現在のビデオブロックのサイズ又はブロック予測モードのうちの少なくとも1つによって決まる。一部の実施では、変換を行うことは、ビットストリーム表現から現在のビデオブロックを生成することを含む。一部の実施では、変換を行うことは、現在のビデオブロックからビットストリーム表現を生成することを含む。
【0374】
図24Aは、ビデオ処理装置2400のブロック図である。装置2400は、本明細書で説明する方法のうちの1つ以上を実施するために用いられ得る。装置2400は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信機等で具体化され得る。装置2400は、1つ以上のプロセッサ2402、1つ以上のメモリ2404及びビデオ処理ハードウェア2406を含み得る。プロセッサ2402は、本明細書で説明する1つ以上の方法(限定されないが、方法2300を含む)を実施するように構成され得る。メモリ(複数のメモリ)2404は、本明細書で説明する方法及び技術を実施するために用いられるデータ及びコードを記憶するために用いられ得る。ビデオ処理ハードウェア2406は、ハードウェア回路で、本明細書で説明するいくつかの技術を実施するために用いられ得る。一部の実施では、ハードウェア2406は、例えばグラフィックスプロセッサとして、完全に又は部分的にプロセッサ2401内にあり得る。
【0375】
図24Bは、本明細書に開示の様々な技術が実施され得る例示のビデオ処理システム2410を示すブロック図である。様々な実施は、システム24100の構成要素の一部又は全てを含み得る。システム2410は、ビデオコンテンツを受信するための入力2412を含み得る。ビデオコンテンツは生の状態又は非圧縮形式で、例えば8又は10ビットの多成分画素値で受信され得るか又は圧縮又はエンコード形式で受信され得る。入力2412は、ネットワークインターフェイス、周辺バスインターフェイス又は記憶インターフェイスを表し得る。ネットワークインターフェイスの例としては、イーサネット、受動光ネットワーク(PON)等の有線インターフェイス等及びWi-Fi又はセルラーインターフェイス等の無線インターフェイスが挙げられる。
【0376】
システム2410は、本明細書で説明する様々なコーディング又はエンコーディング方法を実施し得るコーディングコンポーネント2414を含み得る。コーディングコンポーネント2414は、入力2412からコーディングコンポーネント2414の出力へのビデオの平均ビットレートを低減して、ビデオのコード化表現を生成し得る。したがって、コーディング技術は、ビデオ圧縮又はビデオトランスコーディング技術と呼ばれることがある。コーディングコンポーネント2414の出力は格納されるか又はコンポーネント2416によって表されるように、通信接続を介して送信され得る。入力2412で受信されたビデオの格納又は通信されたビットストリーム(又はコード化)表現は、ディスプレイインターフェイス2420に送られる表示可能なビデオ又は画素値を生成するためにコンポーネント2418によって用いられ得る。ビットストリーム表現からユーザが視聴可能なビデオを生成するプロセスは、ビデオ解凍と時々呼ばれる。さらに、特定のビデオ処理動作は、「コーディング」動作又はツールと呼ばれるが、コーディングツール又は動作はエンコーダで用いられ、コーディングの結果を反転する対応するデコーディングツール又は動作はデコーダで行われることになるのが理解されよう。
【0377】
周辺バスインターフェイス又はディスプレイインターフェイスの例としては、ユニバーサルシリアルバス(USB)又は高精細度マルチメディアインターフェイス(HDMI(登録商標))又はディスプレイポート等が挙げられる。記憶インターフェイスの例としては、SATA(serial advanced technology attachment)、PCI、IDEインターフェイス等が挙げられる。本明細書で説明する技術は、携帯電話、ラップトップ、スマートフォン又はデジタルデータ処理及び/又はビデオ表示を行うことが可能な他の装置といった様々な電子装置で具現化され得る。
【0378】
一部の実施では、ビデオコーディング方法は、図24A又は図24Bに関して説明したようなハードウェアプラットフォーム上に実施される装置を用いて実施され得る。
【0379】
図25は、本開示の技術を利用し得る例示のビデオコーディングシステム100を示すブロック図である。
【0380】
図25に示すように、ビデオコーディングシステム100はソース装置110及び宛先装置120を含み得る。ソース装置110はエンコードされたビデオデータを生成し、ビデオコーディング装置と呼ばれ得る。宛先装置120は、ソース装置110によって生成されたエンコードされたビデオデータをデコードし、ビデオデコーデイング装置と呼ばれ得る。
【0381】
ソース装置110は、ビデオソース112、ビデオエンコーダ114及び入出力インターフェイス116を含み得る。
【0382】
ビデオソース112は、ビデオキャプチャ装置等のソース、ビデオコンテンツプロバイダからビデオデータを受信するためのインターフェイス及び/又はビデオデータを生成するためのコンピュータグラフィックスシステム又はそのようなソースの組み合わせを含み得る。ビデオデータは1つ以上のピクチャを含み得る。ビデオエンコーダ114は、ビットストリームを生成するためにビデオソース112からのビデオデータをエンコードする。ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含み得る。ビットストリームは、コード化されたピクチャ及び関連するデータを含み得る。コード化されたピクチャはピクチャのコード化された表現である。関連するデータは、シーケンスパラメータセット、ピクチャパラメータセット及び他のシンタックス構造を含み得る。I/Oインターフェイス116は、変調器/復調器(モデム)及び/又は送信器を含み得る。エンコードされたビデオデータは、ネットワーク130aを介してI/Oインターフェイス116を介して宛先装置120に直接送信され得る。エンコードされたビデオデータは、宛先装置120によるアクセスのために記憶媒体/サーバ130bにも記憶され得る。
【0383】
宛先装置120は、I/Oインターフェイス126、ビデオデコーダ124及びディスプレイ装置122を含み得る。
【0384】
I/Oインターフェイス126は受信器及び/又はモデムを含み得る。I/Oインターフェイス126は、ソース装置110又は記憶媒体/サーバ130bからエンコードされたビデオデータを取得し得る。ビデオデコーダ124は、エンコードされたビデオデータをデコードし得る。ディスプレイ装置122は、デコードされたビデオデータをユーザに表示し得る。ディスプレイ装置122は宛先装置120と一体化され得るか又は外部ディスプレイ装置とやりとりするように構成された宛先装置120の外部にあってもよい。
【0385】
ビデオエンコーダ114及びビデオデコーダ124は、高効率ビデオコーディング(HEVC)規格、汎用ビデオコーディング(VVC)規格及びその他の現在の及び/又は更なる規格等のビデオ圧縮規格に従って動作し得る。
【0386】
図26は、図25に示すシステム100内のビデオエンコーダ114であり得るビデオエンコーダ200の一例を示すブロック図である。
【0387】
ビデオエンコーダ200は、本開示の技術のいずれか又は全てを行うように構成され得る。図26の例では、ビデオエンコーダ200は複数の機能コンポーネントを含む。本開示で説明する技術は、ビデオエンコーダ200の様々なコンポーネントの間で共有され得る。一部の例では、プロセッサは、本開示で説明する技術のいずれか又は全てを行うように構成され得る。
【0388】
ビデオエンコーダ200の機能コンポーネントは、分割ユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピーエンコーディングユニット214とを含み得る。
【0389】
他の例では、ビデオエンコーダ200はより多くの、より少ない又は異なる機能コンポーネントを含み得る。1つの例では、予測ユニット202は、イントラブロックコピー(IBC)ユニットを含み得る。IBCユニットは、少なくとも1つの参照ピクチャが現在のビデオブロックが位置するピクチャであるIBCモードで予測を行い得る。
【0390】
さらに、動き推定ユニット204及び動き補償ユニット205等の一部のコンポーネントは高度に統合されてもよいが、説明のために図26の例では別々に表されている。
【0391】
分割ユニット201は、ピクチャを1つ以上のビデオブロックに分割し得る。ビデオエンコーダ200及びビデオデコーダ300は様々なビデオブロックサイズをサポートし得る。
【0392】
モード選択ユニット203は、例えばエラー結果に基づいて、コーディングモード(イントラ又はインター)のうちの1つを選択し、結果として得られたイントラ又はインターコード化ブロックを、残差ブロックデータを生成するために残差生成ユニット207に、参照ピクチャとして用いるためにエンコードされたブロックを再構成するために再構成ユニット212に提供する。一部の例では、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づく、イントラ及びインター予測(CIIP)モードの組み合わせを選択し得る。モード選択ユニット203は、インター予測の場合に、ブロックための動きベクトルの解像度(例えば、サブピクセル又は整数ピクセル精度)も選択し得る。
【0393】
現在のビデオブロックにインター予測を行うために、動き推定ユニット204は、バッファ213から1つ以上の参照フレームを現在のビデオブロックと比較することによって、現在のビデオブロックのためのモーション情報を生成し得る。動き補償ユニット205は、現在のビデオブロックに関連するピクチャ以外にバッファ213からのピクチャの動き情報及びデコードされたサンプルに基づいて、現在のビデオブロックのための予測ビデオブロックを特定し得る。
【0394】
動き推定ユニット204及び動き補償ユニット205は、例えば、現在のビデオブロックがIスライスにあるか、Pスライスにあるか又はBスライスにあるかによって、現在のビデオブロックに対して異なる動作を行い得る。
【0395】
一部の例では、動き推定ユニット204は、現在のビデオブロックに対して単一方向の予測を行ってもよく、動き推定ユニット204は、現在のビデオブロック用の参照ビデオブロックのためにリスト0又はリスト1の参照ピクチャを検索し得る。次に、動き推定ユニット204は、参照ビデオブロックと、現在のビデオブロックと参照ビデオブロックとの間の空間的変位を示す動きベクトルとを含む、リスト0又はリスト1内の参照ピクチャを示す参照インデックスを生成し得る。動き推定ユニット204は、現在のビデオブロックの動き情報として、参照インデックス、予測方向インジケータ及び動きベクトルを出力し得る。動き補償ユニット205は、現在のビデオブロックの動き情報によって示される参照ビデオブロックに基づいて、現在のブロックの予測ビデオブロックを生成し得る。
【0396】
他の例では、動き推定ユニット204は、現在のビデオブロックについて双方向予測を行ってもよく、動き推定ユニット204は、現在のビデオブロック用の参照ビデオブロックについてリスト0内の参照ピクチャを検索し、現在のビデオブロック用の別の参照ビデオブロックについてもリスト1内の参照ピクチャを検索し得る。次に、動き推定ユニット204は、参照ビデオブロックと、参照ビデオブロックと現在のビデオブロックとの間の空間的変位を示す動きベクトルとを含むリスト0及びリスト1における参照ピクチャを示す参照インデックスを生成し得る。動き推定ユニット204は、現在のビデオブロックの参照インデックス及び動きベクトルを現在のビデオブロックの動き情報として出力し得る。動き補償ユニット205は、現在のビデオブロックの動き情報によって示される参照ビデオブロックに基づいて、現在のビデオブロックの予測ビデオブロックを生成し得る。
【0397】
一部の例では、動き推定ユニット204は、デコーダのデコーディング処理のために完全な動き情報のセットを出力し得る。
【0398】
一部の例では、動き推定ユニット204は、現在のビデオのための完全な動き情報のセットを出力しなくてもよい。むしろ、動き推定ユニット204は、他のビデオブロックの動き情報を参照して現在のビデオブロックの動き情報を信号化することができる。例えば、動き推定ユニット204は、現在のビデオブロックのモーション情報が隣接するビデオブロックのモーション情報と十分に類似していると判断することができる。
【0399】
1つの例では、動き推定ユニット204は、現在のビデオブロックに関連するシンタックス構造において、現在のビデオブロックが別のビデオブロックと同じ動き情報を有することをビデオデコーダ300に示す値を示し得る。
【0400】
別の例では、動き推定ユニット204は、現在のビデオブロックに関連するシンタックス構造において、別のビデオブロック及び動きベクトル差(MVD)を識別し得る。動きベクトル差は、現在のビデオブロックの動きベクトルと、示されたビデオブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、示されたビデオブロックの動きベクトルと動きベクトル差とを用いて、現在のビデオブロックの動きベクトルを特定し得る。
【0401】
上述のように、ビデオエンコーダ200は、動きベクトルを予測的にシグナリングし得る。ビデオエンコーダ200によって実現され得る予測シグナリング技術の2つの例は、高度動きベクトル予測(AMVP)及びマージモードシグナリングを含む。
【0402】
イントラ予測ユニット206は、現在のビデオブロックに対してイントラ予測を行い得る。イントラ予測ユニット206が現在のビデオブロックに対してイントラ予測を行う場合、イントラ予測ユニット206は、同じピクチャ内の他のビデオブロックのデコードされたサンプルに基づいて、現在のビデオブロックのための予測データを生成し得る。現在のビデオブロックのための予測データは、予測されたビデオブロック及び様々なシンタックス要素を含み得る。
【0403】
残差生成ユニット207は、現在のビデオブロックから現在のビデオブロックの予測されたビデオブロックを差し引くことにより(例えば、マイナス記号によって示される)、現在のビデオブロックのための残差データを生成し得る。現在のビデオブロックの残差データは、現在のビデオブロック内のサンプルの異なるサンプル成分に対応する残差ビデオブロックを含み得る。
【0404】
他の例では、例えばスキップモードでは、現在のビデオブロックのための現在のビデオブロックのための残差データが存在しないことがあり、残差生成ユニット207は減算動作を行わなくてもよい。
【0405】
変換処理ユニット208は、現在のビデオブロックに関連する残差ビデオブロックに対して1つ以上の変換を適用することにより、現在のビデオブロックのための1つ以上の変換係数ビデオブロックを生成し得る。
【0406】
変換処理ユニット208が現在のビデオブロックに関連する変換係数ビデオブロックを生成した後で、量子化ユニット209は、現在のビデオブロックに関連する1つ以上の量子化パラメータ(QP)値に基づいて、現在のビデオブロックに関連する変換係数ビデオブロックを量子化し得る。
【0407】
逆量子化ユニット210及び逆変換ユニット211は、変換係数ビデオブロックから残差ビデオブロックを再構成するために、変換係数ビデオブロックにそれぞれ逆量子化及び逆変換を適用し得る。再構成ユニット212は、予測ユニット202によって生成された1つ以上の予測されたビデオブロックからの対応するサンプルに、再構成された残差ビデオブロックを追加して、現在のブロックに関連する再構成されたビデオブロックをバッファ213に格納するために生成し得る。
【0408】
再構成ユニット212がビデオブロックを再構成した後、ビデオブロックにおけるビデオブロッキングアーチファクトを低減するためにループフィルタ動作が行われ得る。
【0409】
エントロピーエンコーディングユニット214は、ビデオエンコーダ200の他の機能コンポーネントからデータを受信し得る。エントロピーコーディングユニット214がデータを受信すると、エントロピーコーディングユニット214は、1つ以上のエントロピーコーディング動作を行って、エントロピーエンコードされたデータを生成し、エントロピーエンコードされたデータを含むビットストリームを出力し得る。
【0410】
図27は、図25に示すシステム100におけるビデオデコーダ114であり得るビデオデコーダ300の一例を示すブロック図である。
【0411】
ビデオデコーダ300は、本開示の技術のいずれか又は全てを行うように構成され得る。図27の例では、ビデオデコーダ300は、複数の機能コンポーネントを含む。本開示で説明する技術は、ビデオデコーダ300の様々なコンポーネントの間で共有され得る。いくつかの例では、プロセッサは、本開示で説明する技術のいずれか又は全てを行うように構成され得る。
【0412】
図27の例では、ビデオデコーダ300は、エントロピーデコーディングユニット301、動き補償ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305及び再構成ユニット306及びバッファ307を含む。ビデオデコーダ300は、一部の例では、ビデオエンコーダ200(例えば、図26)に関して説明したエンコーディングパスと概ね逆のデコーディングパスを行い得る。
【0413】
エントロピーデコーディングユニット301は、エンコードされたビットストリームを読み出し得る。エンコードされたビットストリームはエントロピーコード化ビデオデータ(例えば、ビデオデータのエンコードされたブロック)を含み得る。エントロピーデコーディングユニット301はエントロピーコード化ビデオデータをデコードし、エントロピーデコードされたビデオデータから、動き補償ユニット302は動きベクトル、動きベクトル精度、参照ピクチャリストインデックス及び他の動き情報を含む動き情報を特定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することにより、そのような情報を特定し得る。
【0414】
動き補償ユニット302は動き補償ブロックを生成し、場合によっては補償フィルタに基づいて補間を行い得る。サブピクセル精度で用いられるべき補間フィルタのための識別子は、シンタックス要素に含まれ得る。
【0415】
動き補償ユニット302は、ビデオブロックのエンコーディングの間にビデオエンコーダ20によって用いられる補間フィルタを用いて、参照ブロックのサブ整数ピクセルのための補間値を計算し得る。動き補償ユニット302は、受信されたシンタックス情報に従ってビデオエンコーダ200によって用いられる補間フィルタを決定し、予測ブロックを生成するために補間フィルタを用い得る。
【0416】
動き補償ユニット302は、エンコードされたビデオシーケンスのフレーム及び/又はスライスをエンコードするために用いられるブロックのサイズ、エンコードされたビデオシーケンスのピクチャの各マクロブロックがどのように分割されるかを記述する分割情報、各分割がどのようにエンコードされるかを示すモード、各インターエンコードされたブロックのための1つ以上の参照フレーム(及び参照フレームリスト)及びエンコードされたビデオシーケンスをデコードするための他の情報を決定するために、シンタックス情報の一部を用いり得る。
【0417】
イントラ予測ユニット303は、例えば、ビットストリームで受信されたイントラ予測モードを用いて、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット304は、ビットストリーム内で提供され、エントロピーデコーディングユニット301によってデコードされる量子化ビデオブロック係数を逆量子化、すなわち脱量子化する。逆変換ユニット305は逆変換を適用する。
【0418】
再構成ユニット306は、残差ブロックを動き補償ユニット205又はイントラ予測ユニット303によって生成された対応する予測ブロックと合算して、デコードされたブロックを形成し得る。所望により、ブロック性アーチファクトを除去するために、デコードされたブロックをフィルタリングするためデブロックフィルタも適用され得る。次いで、デコードされたビデオブロックはバッファ307に格納され、バッファ307は、後続の動き補償のための参照ブロックを提供する。
【0419】
開示の技術の一部の実施形態は、ビデオ処理ツール又はモードを有効にする決定又は判断を行うことを含む。1つの例では、ビデオ処理ツール又はモードが有効である場合、エンコーダは、ビデオのブロックの処理においてツール又はモードを使用又は実施するが、ツール又はモードの使用に基づいて結果として得られるビットストリームを必ずしも修正しなくてもよい。すなわち、ビデオのブロックからビデオのビットストリーム表現への変換は、決定又は判断に基づいて有効になっている場合、ビデオ処理ツール又はモードを用いる。別の例では、ビデオ処理ツール又はモードが有効である場合、デコーダは、ビットストリームがビデオ処理ツール又はモードに基づいて修正されているとの知識により、ビットストリームを処理する。すなわち、ビデオのビットストリーム表現からビデオのブロックへの変換は、決定又は判断に基づいて有効にされたビデオ処理ツール又はモードを用いて行われる。
【0420】
開示の技術の一部の実施形態は、ビデオ処理ツール又はモードを無効にする決定又は判断を行うことを含む。1つの例では、ビデオ処理ツール又はモードが無効にされている場合、エンコーダは、ビデオのブロックをビデオのビットストリーム表現に変換する際にツール又はモードを用いない。別の例では、ビデオ処理ツール又はモードが無効にされている場合、デコーダは、決定又は判断に基づいて無効にされたビデオ処理ツール又はモードを用いてビットストリームが修正されていないとの知識によりビットストリームを処理する。
【0421】
本願において、「ビデオ処理」という用語は、ビデオエンコーディング、ビデオデコーディング、ビデオ圧縮又はビデオ解凍を意味し得る。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から対応するビットストリーム表現へ又はその逆への変換の間に適用され得る。現在のビデオブロックのビットストリーム表現は、例えば、シンタックスによって定義されるように、同一場所に配置されているか又はビットストリーム内の異なる場所に分散されているかのいずれかのビットに対応し得る。例えば、マクロブロックは、変換及びコード化エラー残差値の観点から及びビットストリームにおけるヘッダ及び他のフィールド内のビットを用いてエンコードされ得る。
【0422】
以下の第1の項(clause)のセットが一部の実施形態で実施され得る。
【0423】
1.ビデオ処理のための方法であって、現在のビデオブロックと、現在のビデオブロックのビットストリーム表現との間での変換の間に、現在のビデオブロックに関連する参照ピクチャの解像度と、現在のピクチャの解像度とに基づいて、動きベクトルオフセットを導出すことと、該動きベクトルオフセットを用いて前記変換を行うこととを含む、方法。
【0424】
2.前記動きベクトルオフセットを導出することは、第1の参照ピクチャを参照する第1の動きベクトルオフセットを導出することと、前記第1の動作ベクトルオフセットに基づいて、第2の参照ピクチャを参照する第2の動作ベクトルオフセットを導出することとを含む、1項に記載の方法。
【0425】
3.前記現在のビデオブロックに対して、空間的、時間的又は履歴的な動き候補に関連する参照ピクチャ解像度に基づいて、動き候補リスト構築プロセスを行うことをさらに含む、1項に記載の方法。
【0426】
4.ルックアップテーブルを更新するかどうか又はどのように更新するかは、デコードされた動き候補に関連する参照ピクチャ解像度によって決まる、1項に記載の方法。
【0427】
5.前記現在のピクチャに対して、対応する寸法に関連する適応ループフィルタ(ALF)パラメータを用いてフィルタリング動作を行うことをさらに含む、1項に記載の方法。
【0428】
6.前記ALFパラメータは、第1の対応する寸法に関連する第1のALFパラメータと、第2の対応する寸法に関連する第2のALFパラメータとを含み、該第2のALFパラメータは第1のALFパラメータから継承されるか又は予測される、5項に記載の方法。
【0429】
7.対応する寸法に関連するLMCS(ルーママッピングクロマスケーリング)パラメータを用いて、現在のピクチャ内のサンプルを再成形することをさらに含む、1項に記載の方法。
【0430】
8.前記LMCSパラメータは、第1の対応する寸法に関連する第1のLMCSパラメータと、第2の対応する寸法に関連する第2のLMCSパラメータとを含み、該第2のLMCSパラメータは該第1のLMCSパラメータから継承されるか又は予測される、7項に記載の方法。
【0431】
9.ビデオユニットにおいてシグナリングされるALFパラメータ又はLMCSパラメータは、1つ又は複数のピクチャ寸法に関連する5又は7項に記載の方法。
【0432】
10.現在のビデオブロックが、現在のピクチャと異なる寸法を有する少なくとも1つの参照ピクチャを参照する場合、現在のビデオブロックのためのコーディングツールを無効にすることをさらに含む、1項に記載の方法。
【0433】
11.現在のピクチャの寸法と異なる寸法を有する参照ピクチャを参照するマージ候補をスキップするか又は省略することをさらに含む、10項に記載の方法。
【0434】
12.参照ピクチャの解像度及び現在ピクチャの解像度に基づいて、2つの参照ブロック又は2つの参照ピクチャをスケーリングした後に又は参照ピクチャの解像度及び現在ピクチャの解像度に基づいて2つのMV又はMVD(動きベクトル差)をスケーリングした後に、コーディングツールを適用することさらに含む、1項に記載の方法。
【0435】
13.前記現在のピクチャが含む異なる解像度はK個以下であり、Kは自然数である、1項に記載の方法。
【0436】
14.N個の連続したピクチャに対して前記K個の異なる解像度が許され、Nは自然数である、13項に記載の方法。
【0437】
15.イントラピクチャである現在のピクチャに解像度変更を適用することをさらに含む、1項に記載の方法。
【0438】
16.現在のビデオブロックの1つ又は2つの参照ピクチャが現在のピクチャの解像度と異なる解像度を有する場合に、双方向予測を単方向予測に変換することをさらに含む、1項に記載の方法。
【0439】
17.動きベクトル精度又は現在のブロック寸法と参照ブロック寸法との間の解像度のうちの少なくとも1つによって、異なる解像度の参照ピクチャからのインター予測を有効又は無効にすることをさらに含む、1項に記載の方法。
【0440】
18.両方の参照ピクチャ又は一方の参照ピクチャが現在のピクチャとは異なる解像度を有するかどうかによって、双方向予測を適用することをさらに含む、1項に記載の方法。
【0441】
19.現在のビデオブロックは現在のピクチャとは異なる寸法を有する参照ピクチャを参照するかどうかは、現在のビデオブロックのサイズ又はブロック予測モードのうちの少なくとも1つによって決まる、1項に記載の方法。
【0442】
20.前記変換を行うことは、前記ビットストリーム表現から前記現在のビデオブロックを生成することを含む、1項に記載の方法。
【0443】
21.前記変換を行うことは、前記現在のビデオブロックから前記ビットストリーム表現を生成することを含む、1項に記載の方法。
【0444】
22.プロセッサと、命令を有する非一時メモリとを含むビデオシステム内の装置であって、前記プロセッサによる実行の際に、前記命令は、前記プロセッサに、1項乃至21項のいずれか1項に記載の方法を実行させる、装置。
【0445】
23.非一時的コンピュータ読み取り可能媒体に記憶されたコンピュータプログラム製品であって、1項乃至21項のいずれか一項に記載の方法を行うためのプログラムコードを含む、コンピュータプログラム製品。
【0446】
第2の項のセットは、先のセクションで開示した技術の特定の特徴及び態様を説明する。
【0447】
1.ビデオ処理のための方法(例えば、図28に示す方法2800)であって、ビデオのピクチャのビデオ領域と該ビデオのコード化表現との間での変換のために、該コード化表現におけるビデオ領域を表すために用いられるコーディングツールの有効状態を判定ことと(2810)、該判定に従って前記変換を行うこと(2820)とを含み、前記ピクチャのための前記コーディングツールの有効状態を示すために、第1のフラグがピクチャヘッダに含まれている、方法。
【0448】
2.前記有効状態は、前記第1のフラグ及び/又は前記ビデオのスライスタイプによって、前記コーディングが前記ビデオ領域に対して無効であるか又は有効であるかを示す、1項に記載の方法。
【0449】
3.前記判定することは、前記第1のフラグが真の場合に前記コーディングツールが無効であると判定する、1項に記載の方法。
【0450】
4.前記判定することは、前記第1のフラグが偽の場合に前記コーディングツールが無効であると判定する、1項に記載の方法。
【0451】
5.前記判定することは、前記第1のフラグが偽の場合に前記コーディングツールが有効であると判定する、1項に記載の方法。
【0452】
6.前記判定することは、前記第1のフラグが真の場合に前記コーディングツールが有効であると判定する、1項に記載の方法。
【0453】
7.前記コーディングツールは、前記ピクチャ内の全てのサンプルに対して無効にされているか又は有効にされている、1項に記載の方法。
【0454】
8.前記第1のフラグのシグナリングは、前記ビデオ領域に関連するシーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、依存性パラメータセット(DPS)又はピクチャパラメータセット(PPS)における1つ以上のシンタックス要素によって決まる、1項に記載の方法。
【0455】
9.前記第1のフラグのシグナリングは、前記シーケンスパラメータセット(SPS)におけて前記コーディングツールの有効を示す表示によって決まる、8項に記載の方法。
【0456】
10.前記ピクチャヘッダ内の前記第1のフラグの存在を示す第2のフラグは、前記シーケンスパラメータセット(SPS)でシグナリングされる、8項に記載の方法。
【0457】
11.前記ピクチャヘッダ内の前記第1のフラグの存在を示す第2のフラグは、前記コーディングツールが前記ビデオのシーケンスに対して有効にされている場合にシグナリングされる、8項に記載の方法。
【0458】
12.前記第1のフラグの存在を示す前記第2のフラグが前記第1のフラグの存在を示す場合、前記第1のフラグは前記ピクチャヘッダでシグナリングされる、8項に記載の方法。
【0459】
13.前記第1のフラグ及び/又は前記第2のフラグは1ビットでコード化される、1項乃至12項のいずれかに記載の方法。
【0460】
14.前記コーディングツールは、1つ以上の初期アフィン予測がオプティカルフロー計算に基づいて精緻化される、オプティカルフローを用いた予測精緻化(PROF)である、1項乃至13項のいずれかに記載の方法。
【0461】
15.前記コーディングツールは、動き情報が予測ブロックを用いて精緻化されるデコーダ側動きベクトル精緻化(DMVR)である、1項乃至13項のいずれかに記載の方法。
【0462】
16.前記コーディングツールは、1つ以上の初期予測がオプティカルフロー計算を用いて精緻化される双方向オプティカルフロー(BDOF)である、1項乃至13項のいずれかに記載の方法。
【0463】
17.前記コーディングツールは、線形フィルタがルーマ情報に基づいてクロマサンプルに適用されるクロスコンポーネント適応ループフィルタ(CCALF)である、1項乃至13項のいずれかに記載の方法。
【0464】
18.前記コーディングツールは、予測サンプルが重み付け値を用いて生成される幾何学的分割(GEO)であり、該予測サンプルは、非水平又は非垂直の線に従った前記ビデオ領域の分割に基づく、1項乃至13項のいずれかに記載の方法。
【0465】
19.前記コーディングツールは、予測サンプルが重み付け値を用いて生成される三角予測モード(TPM)であり、該予測サンプルは、前記ビデオ領域を2つの三角パーティションに分割することに基づく、1項乃至13項のいずれかに記載の方法。
【0466】
20.前記変換は、前記ビデオをビットストリーム表現にエンコーディングすることを含む、1項乃至19項のいずれかに記載の方法。
【0467】
21.前記変換は、前記ビデオを生成するために前記ビットストリーム表現をデコーディングすることを含む、1項乃至19項のいずれかに記載の方法。
【0468】
22.1項乃至21項の1つ以上に記載の方法を実施するように構成されたプロセッサ含むビデオ処理装置。
【0469】
23.実行された場合に、プロセッサに、1項乃至21項の1つ以上に記載の方法を実施させるプログラムコードを記憶するコンピュータ読み取り可能媒体。
【0470】
24.上述の方法のいずれかに従って生成されるコード化表現又はビットストリーム表現を記憶するコンピュータ読み取り可能媒体。
【0471】
以上から、本開示の技術の特定の実施形態は説明を目的として本明細書に記載されているが、開示の技術の範囲から逸脱することなく、様々な修正を行うことができることが理解されるであろう。したがって、本開示の技術は、添付の特許請求の範囲を除いて、限定されない。
【0472】
本明細書で説明した主題及び機能動作の実施は、本明細書で開示の構造及びそれらの構造的同等物又はそれらのうちの1つ以上の組み合わせを含む、様々なシステム、デジタル電子回路又はコンピュータソフトウェア、ファームウェア又はハードウェアで実施することができる。本明細書で説明した主題の実施は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置による実行のために又はデータ処理装置の動作を制御するために、有形及び非一時的なコンピュータ読み取り可能媒体上にエンコードされているコンピュータプログラム命令の1つ以上のモジュールとして実施可能である。コンピュータ読み取り可能媒体は、機械により読み出し可能な記憶デバイス、機械により読み出し可能な記憶担体、メモリデバイス、機械により読み出し可能な伝搬信号をもたらす組成物又はそれらの1つ以上の組み合わせであることができる。「データ処理ユニット」又は「データ処理装置」という用語は、例として、プログラム可能なプロセッサ、コンピュータ又は複数のプロセッサ若しくはコンピュータを含む、データを処理する全ての装置、デバイス及び機械を包含する。装置は、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム又はそれらの1つ以上の組み合わせを構成するコードを含むことができる。
【0473】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト又はコードとしても知られる)は、コンパイル済み又は解釈済みの言語を含む如何なる形式のプログラミング言語でも記述可能であり、それは、スタンドアロンプログラムとして又はコンピューティング環境における使用に適したモジュール、コンポーネント、サブルーチン若しくは他のユニットとして、を含め、如何なる形式でもデプロイ可能である。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応しない。プログラムは、問題となっているプログラムに専用の単一のファイルで、又は複数の協調したファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を保存するファイル)で、他のプログラム又はデータ(例えば、マークアップ言語文書で保存された1つ以上のスクリプト)を保持するファイルの部分において保存可能である。コンピュータプログラムは、1つのコンピュータで、あるいは、1つの場所に位置しているか、又は複数の場所にわたって分布しており、通信ネットワークによって相互接続されている複数のコンピュータで、実行されるようデプロイ可能である。
【0474】
本明細書で記載されているプロセス及び論理フローは、入力データに作用して出力を生成することによって機能を実行するよう1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行可能である。プロセス及び論理フローはまた、専用のロジック回路、例えば、FPGA(Field Programmable Gate Array)又はASIC(Application-Specific Integrated Circuit)によっても実行可能であり、装置は、そのようなものとしても実装可能である。
【0475】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用のマイクロプロセッサ及び専用のマイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般に、プロセッサは、リードオンリーメモリ若しくはランダムアクセスメモリ又はその両方から命令及びデータを受け取ることになる。コンピュータの必須の要素は、命令を実行するプロセッサと、命令及びデータを保存する1つ以上のメモリデバイスと、である。一般に、コンピュータはまた、データを保存する1つ以上の大容量記憶デバイス、例えば、磁気、光学磁気ディスク、又は光ディスクを含むか、あるいは、そのような1つ以上の大容量記憶デバイスからのデータの受信若しくはそれへのデータの転送又はその両方のために動作可能に結合されることになる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを保存するのに適したコンピュータ読み取り可能媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイスを含む全ての形式の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用のロジック回路によって強化されるか、あるいは、それに組み込まれ得る。
【0476】
本明細書は、図面と共に例示のみとしてみなされることを意図している。例示とは例を意味する。本明細書で使用する単数形「a」、「an」及び「the」は、別段明記されていない限り、複数形を含むことを意図している。加えて、「又は」の使用は、別段明記されていない限り、「及び/又は」を含むことを意図する。
【0477】
本明細書は、多数の詳細を含むが、それらは、あらゆる発明の又は請求される可能性があるものの範囲に対する限定としてではなく、むしろ、特定の発明の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別々の実施形態に関連して本明細書に記載されている特定の特徴は、単一の実施形態と組み合わせても実装可能である。逆に、単一の実施形態に関連して記載されている様々な特徴はまた、複数の実施形態で別々に、又は何らかの適切なサブコンビネーションで実装可能である。更に、特徴は、特定の組み合わせで動作するものとして上述され、そのようなものとして最初に請求されることさえあるが、請求されている組み合わせからの1つ以上の特徴は、いくつかの場合に、その組み合わせから削除可能であり、請求されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてもよい。
【0478】
同様に、動作は、特定の順序で図面において表されているが、これは、所望の結果を達成するために、そのような動作が、示されているその特定の順序で、又は順次的な順序で実行されること、あるいは、表されている全ての動作が実行されることを求めている、と理解されるべきではない。さらに、本明細書に記載されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態でそのような分離を求めている、と理解されるべきではない。
【0479】
ほんのわずかの実施及び例が説明されており、他の実施、強化及び変形は、本明細書で記載及び例示されているものに基づいて行われ得る。
【外国語明細書】