(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-26
(45)【発行日】2024-03-05
(54)【発明の名称】ビデオコーディングにおけるクロマ量子化パラメータの使用
(51)【国際特許分類】
H04N 19/126 20140101AFI20240227BHJP
H04N 19/136 20140101ALI20240227BHJP
H04N 19/176 20140101ALI20240227BHJP
H04N 19/186 20140101ALI20240227BHJP
H04N 19/86 20140101ALI20240227BHJP
【FI】
H04N19/126
H04N19/136
H04N19/176
H04N19/186
H04N19/86
(21)【出願番号】P 2022522385
(86)(22)【出願日】2020-10-13
(86)【国際出願番号】 US2020055332
(87)【国際公開番号】W WO2021076478
(87)【国際公開日】2021-04-22
【審査請求日】2022-04-22
(31)【優先権主張番号】PCT/CN2019/111115
(32)【優先日】2019-10-14
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ズゥー,ウェイジア
(72)【発明者】
【氏名】ザン,リー
(72)【発明者】
【氏名】シュイ,ジィジォン
(72)【発明者】
【氏名】ザン,カイ
【審査官】岩井 健二
(56)【参考文献】
【文献】Benjamin Bross, Jianle Chen, and Shan Liu,Versatile Video Coding (Draft 6),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O2001 (version 14),15th Meeting: Gothenburg, SE,2019年07月31日,pp.73-76,149-151,280-283,326-328
【文献】Jie Zhao, Seethal Paluri, and Seung Hwan Kim,AHG15: On CU Adaptive Chroma QP Offset Signalling,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0436,16th Meeting: Geneva, CH,2019年10月08日,pp.1-5
【文献】Anand Meher Kotra, et al.,Non-CE5: Modified Chroma QP derivation for deblocking filter,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0105-v2,16th Meeting: Geneva, CH,2019年10月06日,pp.1-5
【文献】Jizheng Xu, et al.,Non-CE5: Chroma QP derivation fix for deblocking filter (Combination of JVETP0105 and JVET-P0539),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P1002,16th Meeting: Geneva, CH,2019年10月07日,pp.1-7
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビデオデータを処理する方法であって、
1つ以上のコーディングユニットを含むビデオと該ビデオのビットストリームとの間の変換を実行するステップを有し、
前記ビットストリームは
第1フォーマット規則に従い、該第1フォーマット規則は、前記1つ以上のコーディングユニットのうちの第1コーディングユニットのクロマブロックについて、クロマ量子化パラメータが
当該第1フォーマット規則に従ってブロックレベルで前記ビットストリームに含まれることを許可されることを定
め、
前記
第1フォーマット規則は、前記クロマブロックについて、前記第1コーディングユニットの
サイズが仮想パイプラインデータユニットのサイズよりも大きいことに少なくとも基づいて、前記クロマ量子化パラメータが前記ブロックレベルで含まれることを許可されることを定め
、
前記ビットストリームは第2フォーマット規則に更に従い、該第2フォーマット規則は、前記1つ以上のコーディングユニットのうちの第2コーディングユニットについて有効である第1フィルタリングプロセスが、4:2:0、4:2:2又は4:4:4のうちの1つのみである前記ビデオの色サンプリングフォーマットに依存することを定め、
前記第1フィルタリングプロセスは、フィルタリング動作をルーマ成分に適用し、次いで、ループフィルタリングプロセスにおけるクロマ精緻化のために前記フィルタリング動作の出力を使用することによって、各クロマ成分を精緻化するためにルーマサンプルの値を使用する交差成分適応ループフィルタリングプロセスであり、前記第1フィルタリングプロセスで使用される前記ルーマ成分の前記ルーマサンプルのルーマ位置は、前記色サンプリングフォーマットに基づき決定される、
方法。
【請求項2】
前記ブロックレベルは、コーディングユニットレベル又は変換ユニットレベルである、
請求項1に記載の方法。
【請求項3】
前記
第1フォーマット規則は、クロマCb残差及びクロマCr残差の共同コーディングモードが前記第1コーディングユニットに適用可能であるかどうかが前記ブロックレベルで示されることを更に定める、
請求項1に記載の方法。
【請求項4】
前記ブロックレベルは、コーディングユニットレベル又は変換ユニットレベルである、
請求項3に記載の方法。
【請求項5】
前記第1コーディングユニットのエッジに沿った少なくとも一部のサンプルに適用されるデブロッキングフィルタ
リングプロセスで使用される第1クロマ量子化パラメータが、スケーリングプロセスで使用される第2クロマ量子化パラメータと、前記ビデオのビットデプスに関連した量子化パラメータオフセットとに基づき決定され、
前記スケーリングプロセスは、
符号化中に現在ブロックを表す少なくとも一部の係数に量子化を適用すること、又は
復号化中に前記ビットストリームからの少なくとも一部の係数に逆量子化を適用すること
を有する、
請求項3又は4に記載の方法。
【請求項6】
前記第1クロマ量子化パラメータは、前記スケーリングプロセスで使用される前記第2クロマ量子化パラメータから、前記ビデオの前記ビットデプスに関連した前記量子化パラメータオフセットをマイナスしたものに等しい、
請求項5に記載の方法。
【請求項7】
クロマCb残差及びクロマCr残差の共同コーディングモードを示す第1変数の値が2に等しい場合に、前記第1クロマ量子化パラメータは、前記スケーリングプロセスで使用されるクロマCb残差及びクロマCr残差の共同コーディングモードのための前記第2クロマ量子化パラメータから、前記ビデオの前記ビットデプスに関連した前記量子化パラメータオフセットをマイナスしたものに等しい、
請求項5又は6に記載の方法。
【請求項8】
前記変換は、前記ビデオを前記ビットストリームに符号化することを含む、
請求項1乃至7のうちいずれか一項に記載の方法。
【請求項9】
前記変換は、前記ビットストリームから前記ビデオを復号することを含む、
請求項1乃至7のうちいずれか一項に記載の方法。
【請求項10】
ビデオデータを処理する装置であって、
プロセッサと、命令を有している非一時的なメモリとを有し、
前記命令は、前記プロセッサによる実行時に、前記プロセッサに、
1つ以上のコーディングユニットを含むビデオと該ビデオのビットストリームとの間の変換を実行するステップを実行させ、
前記ビットストリームは
第1フォーマット規則に従い、該第1フォーマット規則は、前記1つ以上のコーディングユニットのうちの第1コーディングユニットのクロマブロックについて、クロマ量子化パラメータが
当該第1フォーマット規則に従ってブロックレベルで前記ビットストリームに含まれることを許可されることを定
め、
前記
第1フォーマット規則は、前記クロマブロックについて、前記第1コーディングユニットの
サイズが仮想パイプラインデータユニットのサイズよりも大きいことに少なくとも基づいて、前記クロマ量子化パラメータが前記ブロックレベルで含まれることを許可されることを定め
、
前記ビットストリームは第2フォーマット規則に更に従い、該第2フォーマット規則は、前記1つ以上のコーディングユニットのうちの第2コーディングユニットについて有効である第1フィルタリングプロセスが、4:2:0、4:2:2又は4:4:4のうちの1つのみである前記ビデオの色サンプリングフォーマットに依存することを定め、
前記第1フィルタリングプロセスは、フィルタリング動作をルーマ成分に適用し、次いで、ループフィルタリングプロセスにおけるクロマ精緻化のために前記フィルタリング動作の出力を使用することによって、各クロマ成分を精緻化するためにルーマサンプルの値を使用する交差成分適応ループフィルタリングプロセスであり、前記第1フィルタリングプロセスで使用される前記ルーマ成分の前記ルーマサンプルのルーマ位置は、前記色サンプリングフォーマットに基づき決定される、装置。
【請求項11】
命令を記憶している非一時的なコンピュータ可読記憶媒体であって、
前記命令は、プロセッサに、
1つ以上のコーディングユニットを含むビデオと該ビデオのビットストリームとの間の変換を実行するステップを実行させ、
前記ビットストリームは
第1フォーマット規則に従い、該第1フォーマット規則は、前記1つ以上のコーディングユニットのうちの第1コーディングユニットのクロマブロックについて、クロマ量子化パラメータが
当該第1フォーマット規則に従ってブロックレベルで前記ビットストリームに含まれることを許可されることを定
め、
前記
第1フォーマット規則は、前記クロマブロックについて、前記第1コーディングユニットの
サイズが仮想パイプラインデータユニットのサイズよりも大きいことに少なくとも基づいて、前記クロマ量子化パラメータが前記ブロックレベルで含まれることを許可されることを定め
、
前記ビットストリームは第2フォーマット規則に更に従い、該第2フォーマット規則は、前記1つ以上のコーディングユニットのうちの第2コーディングユニットについて有効である第1フィルタリングプロセスが、4:2:0、4:2:2又は4:4:4のうちの1つのみである前記ビデオの色サンプリングフォーマットに依存することを定め、
前記第1フィルタリングプロセスは、フィルタリング動作をルーマ成分に適用し、次いで、ループフィルタリングプロセスにおけるクロマ精緻化のために前記フィルタリング動作の出力を使用することによって、各クロマ成分を精緻化するためにルーマサンプルの値を使用する交差成分適応ループフィルタリングプロセスであり、前記第1フィルタリングプロセスで使用される前記ルーマ成分の前記ルーマサンプルのルーマ位置は、前記色サンプリングフォーマットに基づき決定される、非一時的なコンピュータ可読記憶媒体。
【請求項12】
ビデオのビットストリームを記憶する方法であって、
1つ以上のコーディングユニットを含む前記ビデオの前記ビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップと
を有し、
前記ビットストリームは
第1フォーマット規則に従い、該第1フォーマット規則は、前記1つ以上のコーディングユニットのうちの第1コーディングユニットのクロマブロックについて、クロマ量子化パラメータが
当該第1フォーマット規則に従ってブロックレベルで前記ビットストリームに含まれることを許可されることを定
め、
前記
第1フォーマット規則は、前記クロマブロックについて、前記第1コーディングユニットの
サイズが仮想パイプラインデータユニットのサイズよりも大きいことに少なくとも基づいて、前記クロマ量子化パラメータが前記ブロックレベルで含まれることを許可されることを定め
、
前記ビットストリームは第2フォーマット規則に更に従い、該第2フォーマット規則は、前記1つ以上のコーディングユニットのうちの第2コーディングユニットについて有効である第1フィルタリングプロセスが、4:2:0、4:2:2又は4:4:4のうちの1つのみである前記ビデオの色サンプリングフォーマットに依存することを定め、
前記第1フィルタリングプロセスは、フィルタリング動作をルーマ成分に適用し、次いで、ループフィルタリングプロセスにおけるクロマ精緻化のために前記フィルタリング動作の出力を使用することによって、各クロマ成分を精緻化するためにルーマサンプルの値を使用する交差成分適応ループフィルタリングプロセスであり、前記第1フィルタリングプロセスで使用される前記ルーマ成分の前記ルーマサンプルのルーマ位置は、前記色サンプリングフォーマットに基づき決定される、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本特許文献は、ビデオコーディング技術、デバイス、及びシステムに関係がある。
【背景技術】
【0002】
現在、より良い圧縮比率を提供し、あるいは、より複雑でなく又は並列化された実装を可能にするビデオ符号化及び復号化スキームを提供するために、現在のビデオコーデック技術のパフォーマンスを改善すべく、努力が続けられている。産業専門家は、近年、いくつかの新しいビデオコーディングツールを提案しており、それらの高価を決定するために、テストが現在進められている。
【発明の概要】
【0003】
デジタルビデオコーディングに、具体的には、動きベクトルの管理に関係があるデバイス、システム、及び方法が、記載される。記載される方法は、既存のビデオコーディング標準規格(例えば、High Efficiency Video Coding(HEVC)又はVersatile Video Coding)及び将来のビデオコーディング標準規格又はビデオコーデックに適用され得る。
【0004】
1つの代表的な態様では、開示される技術は、ビデオ処理の方法を提供するために使用され得る。この方法は、ビデオのクロマブロックとビデオのビットストリーム表現との間の変換のために、クロマブロックのクロマ残差の共同コーディング(joint coding)のモードに基づき、クロマブロックのエッジにある少なくとも一部のサンプルに対するデブロッキングフィルタプロセスの適用可能性を決定するステップを含む。方法はまた、決定に基づき変換を実行するステップを含む。
【0005】
他の代表的な態様では、開示される技術は、ビデオ処理の方法を提供するために使用され得る。この方法は、ビデオの現在のブロックとビデオのビットストリーム表現との間の変換のために、現在のブロックの対応する変換ブロックの情報に基づき、現在のブロックのエッジにある少なくとも一部のサンプルに適用されるデブロッキングフィルタプロセスで使用されるクロマ量子化パラメータを決定するステップを含む。方法はまた、決定に基づき変換を実行するステップを含む。
【0006】
他の代表的な態様では、開示される技術は、ビデオ処理の方法を提供するために使用され得る。この方法は、ビデオの現在のブロックとビデオのビットストリーム表現との間の変換を実行するステップを含む。変換中に、現在のブロックのエッジに沿った少なくとも一部のサンプルに適用されるデブロッキングフィルタプロセスで使用される第1クロマ量子化パラメータは、スケーリングプロセスで使用される第2クロマ量子化パラメータと、ビットデプスに関連した量子化パラメータオフセットとに基づく。
【0007】
他の代表的な態様では、開示される技術は、ビデオ処理の方法を提供するために使用され得る。この方法は、1つ以上のコーディングユニットを含むビデオとビデオのビットストリーム表現との間の変換を実行するステップを含む。ビットストリーム表現は、クロマ量子化パラメータがフォーマット規則に従ってコーディングユニットレベル又は変換ユニットレベルで前記ビットストリーム表現に含まれることを指定する前記フォーマット規則に従う。
【0008】
他の代表的な態様では、開示される技術は、ビデオ処理の方法を提供するために使用され得る。方法は、ビデオのブロックとビデオのビットストリーム表現との間の変換を実行するステップを含む。ビットストリーム表現は、クロマ残差の共同コーディングのモードがブロックに適用可能であるかどうかがビットストリーム表現においてコーディングユニットレベルで示されることを指定するフォーマット規則に従う。
【0009】
他の代表的な態様では、開示される技術は、ビデオ処理の方法を提供するために使用され得る。この方法は、ビデオユニットとビデオユニットのコーディングされた表現との間の変換を実行するステップを含み、変換中に、デブロッキングフィルタがビデオユニットの境界で使用され、それにより、クロマ量子化パラメータ(QP)がデブロッキングフィルタのパラメータを導出するために使用される場合に、クロマQPテーブルによる処理が個々のクロマQP値に対して実行される。
【0010】
他の代表的な態様では、開示される技術は、ビデオ処理の他の方法を提供するために使用され得る。この方法は、ビデオユニットとビデオユニットのビットストリーム表現との間の変換を実行するステップを含み、変換中に、デブロッキングフィルタがビデオユニットの境界で使用され、それにより、クロマQPオフセットがデブロッキングフィルタにおいて使用され、クロマQPオフセットはピクチャ/スライス/タイル/ブリック/サブピクチャレベルにある。
【0011】
他の代表的な態様では、開示される技術は、ビデオ処理の他の方法を提供するために使用され得る。この方法は、ビデオユニットとビデオユニットのビットストリーム表現との間の変換を実行するステップを含み、変換中に、デブロッキングフィルタがビデオユニットの境界で使用され、それにより、クロマQPオフセットがデブロッキングフィルタにおいて使用され、同じルーマコーディングユニットに関連する情報は、デブロッキングフィルタにおいて、及びクロマQPオフセットを導出するために、使用される。
【0012】
他の代表的な態様では、開示される技術は、ビデオ処理の他の方法を提供するために使用され得る。この方法は、ビデオユニットとビデオユニットのビットストリーム表現との間の変換を実行するステップを含み、変換中に、デブロッキングフィルタがビデオユニットの境界で使用され、それにより、クロマQPオフセットがデブロッキングフィルタにおいて使用され、クロマQPオフセットの利用を有効にする指示は、ビットストリーム表現において通知される。
【0013】
他の代表的な態様では、開示される技術は、ビデオ処理の他の方法を提供するために使用され得る。この方法は、ビデオユニットとビデオユニットのビットストリーム表現との間の変換を実行するステップを含み、変換中に、デブロッキングフィルタがビデオユニットの境界で使用され、それにより、クロマQPオフセットがデブロッキングフィルタにおいて使用され、デブロッキングフィルタにおいて使用されるクロマQPオフセットは、JCCRコーディング方法がビデオユニットの境界で適用されようと、あるいは、JCCRコーディング方法とは異なる方法がビデオユニットの境界で適用されようと、同じである。
【0014】
他の代表的な態様では、開示される技術は、ビデオ処理の他の方法を提供するために使用され得る。この方法は、ビデオユニットとビデオユニットのビットストリーム表現との間の変換を実行するステップを含み、変換中に、デブロッキングフィルタがビデオユニットの境界で使用され、それにより、クロマQPオフセットがデブロッキングフィルタにおいて使用され、デブロッキングフィルタの境界強さ(BS)は、Pサイド境界でのビデオユニットに関連した参照ピクチャ及び/又は動きベクトル(MV)の数を、Qサイド境界でのビデオユニットの参照ピクチャと比較せずに、計算される。
【0015】
更に、代表的な態様では、プロセッサと、命令を有する一時メモリとを有する、ビデオシステム内の装置が、開示される。命令は、プロセッサによる実行時に、プロセッサに、開示される方法のうちのいずれか1つ以上を実装させる。
【0016】
更に、代表的な態様では、開示される方法のうちのいずれか1つ以上を実装するよう構成されたプロセッサを有するビデオ復号化装置が、開示される。
【0017】
他の代表的な態様では、開示される方法のうちのいずれか1つ以上を実装するよう構成されたプロセッサを有するビデオ符号化装置が、開示される。
【0018】
また、非一時的なコンピュータ可読媒体に記憶されているコンピュータプログラム製品であって、開示される方法のうちのいずれか1つ以上を実行するためのプログラムコードを含むコンピュータプログラム製品が、開示される。
【0019】
開示される技術の上記及び他の態様及び特徴は、図面、本明細書及び特許請求の範囲で更に詳細に記載される。
【図面の簡単な説明】
【0020】
【
図1】デブロッキングフィルタプロセスの全体的な処理フローの例を示す。
【
図3】CTU境界でのBs計算のための参照情報の例を示す。
【
図4】フィルタオン/オフ決定及び強/弱フィルタ選択に関与するピクセルの例を示す。
【
図5】VVCにおけるデブロッキングフィルタプロセスの全体的な処理フローの例を示す。
【
図6】VVCにおけるルーマデブロッキングフィルタプロセスの例を示す。
【
図7】VVCにおけるクロマデブロッキングフィルタプロセスの例を示す。
【
図8】サブPU境界のためのフィルタ長さ決定の例を示す。
【
図9B】クロマブロックの中心位置の他の例を示す。
【
図10】Pサイド及びQサイドでのブロックの例を示す。
【
図11】ルーマブロックの復号化された情報の利用の例を示す。
【
図12】本明細書で記載される視覚メディア復号化又は視覚メディア符号化技術を実装するハードウェアプラットフォームの例のブロック図である。
【
図13】ビデオコーディングの方法の例のフローチャートを示す。
【
図14A】他のループフィルタ(ダイヤモンド形状フィルタ)に関してCC-ALFの配置の例を示す。
【
図14B】ダイヤモンド形状フィルタに関してCC-ALFの配置の例を示す。
【
図15】例となるビデオコーディングシステムを表すブロック図である。
【
図16】本開示のいくつかの実施形態に従ってエンコーダを表すブロック図である。
【
図17】本開示のいくつかの実施形態に従ってデコーダを表すブロック図である。
【
図18】開示される技術が実装され得るビデオ処理システムの例のブロック図である。
【
図19】本技術に従うビデオ処理の方法のフローチャート表現である。
【
図20】本技術に従うビデオ処理の他の方法のフローチャート表現である。
【
図21】本技術に従うビデオ処理の他の方法のフローチャート表現である。
【
図22】本技術に従うビデオ処理の他の方法のフローチャート表現である。
【
図23】本技術に従うビデオ処理の更なる他の方法のフローチャート表現である。
【発明を実施するための形態】
【0021】
[1.HEVC/H.265におけるビデオコーディング]
ビデオコーディング標準規格は、よく知られているITU-T及びISO/IEC標準規格の開発を通じて主に発展してきた。ITU-TはH.261及びH.263を作り出し、ISO/IECはMPEG-1及びMPEG-4 Visualを作り出し、2つの組織は共同でH.262/MPEG-2 Video及びH264/MPEG-4 Advanced Video Coding(AVC)及びH.265/HEVC標準規格を作り出した。H.262以降、ビデオコーディング標準規格は、時間予測に変換コーディングをプラスしたものが利用されるハイブリッド型ビデオコーディング構造に基づいている。HEVCを超える将来のビデオコーディング技術を探求するために、Joint Video Exploration Team(JVET)が2015年にVCEG及びMPEGによって共同で設立された。それ以降、多くの新しい手法がJVETによって採用され、Joint Exploration Model(JEM)と呼ばれる参照ソフトウェアに置かれてきた。2018年4月に、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)との間で、JVETが、HEVCと比較して50%のビットレート低減を目標とするVVC標準規格を検討するために作られた。
【0022】
[2.1 HEVCにおけるデブロッキングスキーム]
デブロッキングフィルタプロセスは、デブロッキングプロセスと同じ順序でCUごとに実行される。最初に、垂直エッジがフィルタリング(水平フィルタリング)され、次いで、水平エッジがフィルタリング(垂直フィルタリング)される。フィルタリングは、ルーマ成分及びクロマ成分の両方について、フィルタリングされると決定される8×8ブロック境界に適用される。4×4ブロック境界は、複雑さを低減するために、処理されない。
【0023】
図1は、デブロッキングフィルタプロセスの全体的な処理フローを表す。境界は、3つのフィルタリングステータス、すなわち、フィルタリングなし、弱フィルタリング、及び強フィルタリングを有することができる。各フィルタリング決定は、境界強さBsと、閾値β及びt
Cとに基づく。
【0024】
3種類に境界、すなわち、CU境界、TU境界、及びPU境界が、フィルタリングプロセスに関与し得る。CU境界は、CUの外側エッジであり、フィルタリングに常に関与する。これは、CU境界が常にTU境界又はPU境界でもあるからである。PU形状が2N×N(N>4)であっり、RQTデプスが1に等しいとき、8×8ブロックグリッドでのTU境界、及びCU内の各PU間のPU境界が、フィルタリングに関与する。1つの例外は、PU境界がTU内にあるときに、その境界はフィルタリングされないことである。
【0025】
[2.2.1 境界強さの計算]
一般的に言えば、境界強さ(Bs)は、どれくらい強いフィルタリングが境界に必要とされるかを反映する。Bsが大きい場合には、強フィルタリングが考えられるべきである。
【0026】
P及びQが、フィルタリングに関与するブロックとして定義されるとする。Pは、境界の左側(垂直エッジの場合)又は上側(水平エッジの場合)に位置しているブロックを表し、Qは、境界の右(垂直エッジの場合)又は上側(水平エッジの場合)に位置しているブロックを表す。
図2は、イントラコーディングモード、非ゼロ変換係数及び動き情報の存在、参照ピクチャ、動きベクトルの数、並びに動きベクトル差分に基づきBsがどのように計算されるかを表す。
【0027】
Bsは4×4ブロック単位で計算されるが、8×8グリッドに再マッピングされる。4×4グリッド内のラインから成る8つのピクセルに対応するBsの2つの値の最大値が、8×8グリッド内の境界のためのBsとして選択される。
【0028】
ラインバッファメモリ要件を低減するために、CTU境界についてのみ、左又は上側にある2つおきのブロック(4×4グリッド)内の情報が、
図3に表されるように再利用される。
【0029】
[2.1.2 β及びtCの決定]
フィルタオン/オフ決定、強及び弱フィルタ選択、及び弱フィルタリングプロセスに関与する閾値β及びtCは、P及びQブロックのルーマ量子化パラメータであるQPP及びQPQに夫々基づき導出される。β及びtCを導出するために使用されるQは、次の通りである:
Q=((QPP+QPQ+1)>>1)
【0030】
変数βは、Qに基づいて、表1に示されるように導出される。Bsが1よりも大きい場合には、変数t
Cは、Clip3(0,55,Q+2)を入力として用いて、表1のように指定される。そうでない(Bsが1以下である)場合には、変数t
Cは、Qを入力として用いて、表1のように指定される。
【表1】
【0031】
[2.1.3. 4ラインのためのフィルタオン/オフ決定]
フィルタオン/オフ決定は、1つ単位として4ラインについて行われる。
図4は、フィルタオン/オフ決定に関与するピクセルを表す。最初の4つのラインの2つの赤色ボックス内の6つのピクセルが、その4ラインについてフィルタオン/オフを決定するために使用される。二番目の4つのラインの2つの赤色ボックス内の6つのピクセルが、二番目の4つのラインについてフィルタオン/オフを決定するために使用される。
【0032】
dp0+dq0+dp3+dq3<βである場合に、最初の4つのラインに対するフィルタリングはオンされ、強/弱フィルタ選択プロセスが適用される。各変数は、次のように導出される:
dp0=|p2,0-2×p1,0+p0,0|
dp3=|p2,3-2×p1,3+p0,3|
dp4=|p2,4-2×p1,4+p0,4|
dp7=|p2,7-2×p1,7+p0,7|
dq0=|q2,0-2×q1,0+q0,0|
dq3=|q2,3-2×q1,3+q0,3|
dq4=|q2,4-2×q1,4+q0,4|
dq7=|q2,7-2×q1,7+q0,7|
【0033】
条件が満足されない場合には、最初の4つのラインに対してフィルタリングは行われない。更に、条件が満足される場合には、dEp1、及びdEp2が弱フィルタリングプロセスのために導出される。変数dEは、1に等しくセットされる。dp0+dp3<(β+(β>>1))>>3である場合には、変数dEp1は1に等しくセットされる。dqお+dq3<(β+(β>>1))>>3である場合には、dEq1は1に等しくセットされる。
【0034】
二番目の4つのラインについては、上記と同じようにして決定が行われる。
【0035】
[2.1.4. 4ラインのための強/弱フィルタ選択]
最初の4つのラインがフィルタオン/オフ決定においてフィルタリングオンであると決定された後、うちの2つの条件が満足される場合には、最初の4つのラインのフィルタリングのために強フィルタが使用される。そうでない場合には、弱フィルタがフィルタリングのために使用される。関与するピクセルは、
図4に表されるようにフィルタオン/オフ決定に使用されたものと同じである。
1)2×(dp0+dq0)<(β>>2),|p3
0-p0
0|+|q0
0-q3
0|<(β>>3)及び|p0
0-q0
0|<(5×t
C+1)>>1
2)2×(dp3+dq3)<(β>>2),|p3
3-p0
3|+|q0
3-q3
3|<(β>>3)及び|p0
3-q0
3|<(5×t
C+1)>>1
【0036】
同じようにして、次の2つの条件が満足される場合には、二番目の4つのラインのフィルタリングのために強フィルタが使用される。そうでない場合には、弱フィルタがフィルタリングのために使用される。
1)2×(dp4+dq4)<(β>>2),|p30-p04|+|q04-q34|<(β>>3)及び|p04-q04|<(5×tC+1)>>1
2)2×(dp7+dq7)<(β>>2),|p37-p07|+|q07-q37|<(β>>3)及び|p07-q07|<(5×tC+1)>>1
【0037】
[2.1.4.1. 強フィルタリング]
強フィルタリングのために、フィルタリングされたピクセル値が、次の式によって取得される。Pブロック及びQブロックの夫々について4つのピクセルを入力として用いて3つのピクセルが変更される点に留意されたい。
p0’=(p2+2×p1+2×p0+2×q0+q1+4)>>3
q0’=(p1+2×p0+2×q0+2×q1+q2+4)>>3
p1’=(p2+p1+p0+q0+2)>>2
q1’=(p0+q0+q1+q2+2)>>2
p2’=(2×p3+3×p2+p1+p0+q0+4)>>3
q2’=(p0+q0+q1+3×q2+2×q3+4)>>3
【0038】
[2.1.4.2. 弱フィルタリング]
Δを次のように定義するとする:
Δ=(9×(q0-p0)-3×(q1-p1)+8)>>4
abs(Δ)がtC×10よりも小さいとき、
Δ=Clip3(-tC,tC,Δ)
p0’=Clip1Y(p0+Δ)
q0’=Clip1Y(q0-Δ)
dEp1が1に等しい場合には、
Δp=Clip3(-(tC>>1),tC>>1,(((p2+p0+1)>>1)-p1+Δ)>>1)
p1’=Clip1Y(p1+Δp)
dEp1が1に等しい場合には、
Δq=Clip3(-(tC>>1),tC>>1,(((q2+q0+1)>>1)-q1-Δ)>>1)
q1’=Clip1Y(q1+Δq)
【0039】
Pブロック及びQブロックの夫々について3つのピクセルを入力として用いて最大2つのピクセルが変更される点に留意されたい。
【0040】
[2.1.4.3. クロマフィルタリング]
クロマフィルタリングのBsは、ルーマから引き継がれる。Bs>1である場合には、又はコーディングされたクロマ係数が存在する場合には、クロマフィルタリングが実行される。他のフィルタリング決定は存在しない。また、ただ1つのフィルタのみがクロマについては適用される。クロマのためのフィルタ選択プロセスは使用されない。フィルタリングされたサンプル値p0’及びq0’は、次のように導出される:
Δ=Clip3(-tC,tC,((((q0-p0)<<2)+p1-q1+4)>>3))
p0’=Clip1C(p0+Δ)
q0’=Clip1C(q0-Δ)
【0041】
[2.2 VVCにおけるデブロッキングスキーム]
VTM6では、デブロッキングフィルタプロセスは、HEVCにおけるそれらとほとんど同じである。しかし、次の変更が加えられている。
A)再構成されたサンプルの平均化されたルーマレベルに依存するデブロッキングフィルタのフィルタ強さ
B)10ビットビデオへのデブロッキングtCテーブルの拡張及び適応
C)ルーマのための4×4グリッドでブロッキング
D)ルーマのためのより強いデブロッキングフィルタ
E)クロマのためのより強いデブロッキングフィルタ
F)サブブロック境界のためのデブロッキングフィルタ
G)動きのより小さい差に適応されたデブロッキング決定
【0042】
図5は、コーディングユニットに対するVVCでのデブロッキングフィルタプロセスのフローチャートを表す。
【0043】
[2.2.1. 再構成された平均ルーマに依存するフィルタ強さ]
HEVCでは、デブロッキングフィルタのフィルタ強さは、平均化された量子化パラメータqPLから導出される変数β及びtCによって制御される。VTM6では、デブロッキングフィルタは、この方法のSPSフラグが真である場合に、再構成されたサヌルノルーマレベルに従ってqPLにオフセットを加えることによって、デブロッキングフィルタの強さを制御する。再構成されたルーマレベルLLは、次のように導出される:
LL=((p0,0+p0,3+q0,0+q0,3)>>2)/(1<<bitDepth) (3-1)
このとき、サンプル値pi,k及びqi,k(i=0・・・3、k=0及び3)が導出され得る。次いで、LLが、SPSにおいて通知された閾値に基づきオフセットqpOffsetを決定するために使用される。その後に、次のように導出されるqPLが、β及びtCを導出するために用いられる:
qPL=((QpQ+QpP+1)>>1)+qpOffset (3-2)
このとき、QpQ及びQpPは、夫々、サンプルq0,0及びp0,0を含むコーディングユニットの量子化パラメータを表す。現在のVVCでは、この方法は、ルーマデブロッキングプロセスに対してのみ適用される。
【0044】
[2.2.2. ルーマのための4×4デブロッキンググリッド]
HEVCは、ルーマ及びクロマの両方のために8×8デブロッキンググリッドを使用する。VTM6では、ルーマ境界についての4×4グリッドでのデブロッキングは、矩形変換形状からのブロッキングアーチファクトを扱うために導入された。4×4グリッドでの並列フレンドリなルーマデブロッキングは、デブロッキングされるサンプルの数を、一辺が4以下の幅である垂直ルーマ境界の各辺での1サンプル、又は一辺が4以下の高さである水平ルーマ境界の各片での1サンプルに制限することによって、達成される。
【0045】
[2.2.3. ルーマのための境界強さの導出]
詳細な境界強さの導出は、表2で見受けられる。表2中の条件は順にチェックされる。
【表2】
【0046】
[2.2.4. ルーマのためのより強いデブロッキングフィルタ]
提案は、境界のどちらか一方の側にあるサンプルが大きいブロックに属するときに双線形フィルタを使用する。大きいブロックに属するサンプルは、垂直エッジについては幅>=32である場合として、及び水平エッジについては高さ>=32である場合として定義される。
【0047】
双線形フィルタは、以下でリストアップされる。
【0048】
i=0~Sp-1のブロック境界サンプルpi及びj=0~Sq-1のブロック境界サンプルqj(pi及びqjは、上記のHEVCデブロッキングでの定義に従う。)は、その場合に、次のように、線形補間によって置換される:
- p
i’=(f
i×Middle
s,t+(64-f
i)×P
s+32)>>6),
p
i±t
CPD
iにクリップされる
- q
j’=(g
j×Middle
s,t+(64-g
j)×Q
s+32)>>6),
q
j±t
CPD
jにクリップされる
このとき、t
CPD
i及びt
CPD
jの項は、第2.2.5節で記載される位置依存のクリッピングであり、g
j、f
i、Middle
s,t、P
s及びQ
sは、以下で与えられる:
【表3】
【0049】
[2.2.5. ルーマのためのデブロッキング制御]
デブロッキング決定プロセスは、このサブセクションで記載される。
【0050】
より幅広くより強いルーマフィルタは、条件1、条件2、及び条件3の全てが真である場合にのみ使用されるフィルタである。
【0051】
条件1は、「大きいブロックの条件」(“large block condition”)である。この条件は、Pサイド及びQサイドのサンプルが大きいブロックに属するかどうかを検出する。これは、変数bSidePisLargeBlk及びbSideQisLargeBlkによって夫々表される。bSidePisLargeBlk及びbSideQisLargeBlkは、次のように定義される。
bSidePisLargeBlk=((エッジタイプが垂直であり、p0が幅>=32であるCUに属する)||(エッジタイプが水平であり、p0が高さ>=32であるCUに属する))?TRUE:FALSE
bSideQisLargeBlk=((エッジタイプが垂直であり、q0が幅>=32であるCUに属する)||(エッジタイプが水平であり、q0が高さ>=32であるCUに属する))?TRUE:FALSE
【0052】
bSidePisLargeBlk及びbSideQisLargeBlkに基づいて、条件1は、次のように定義される。
条件1=(bSidePisLargeBlk||bSideQisLargeBlk)?TRUE:FALSE
【0053】
次に、条件1が真である場合に、条件2が更にチェックされることになる。最初に、次の変数が導出される:
- dp0、dp3、dq0、dq3が、HEVCで見られるように、最初に導出される
- if(pサイドが32以上である)
dp0=(dp0+Abs(p5,0-2×p4,0+p3,0)+1)>>1
dp3=(dp3+Abs(p5,3-2×p4,3+p3,3)+1)>>1
- if(qサイドが32以上である)
dq0=(dq0+Abs(q5,0-2×q4,0+q3,0)+1)>>1
dq3=(dq3+Abs(q5,3-2×q4,3+q3,3)+1)>>1
- dpq0、dpq3、dp、dq、dが、次いで、HEVCで見られるように、導出される。
【0054】
次いで、条件2は、次のように定義される。
条件2=(d<β)?TRUE:FALSE
このとき、第2.1.4節で示されたように、d=dp0+dq0+dp3+dq3である。
【0055】
条件1及び条件2が妥当である場合に、ブロックのいずれかがサブブロックを使用するかどうかが更にチェックされる:
【数1】
【0056】
最後に、条件1及び条件2の両方が妥当である場合に、提案されているデブロッキング方法は、次のように定義されている条件3(大きいブロック強いフィルタ条件)をチェックすることになる。条件3の強フィルタ条件(StrongFolterCondition)では、次の変数が導出される:
- dpqが、HEVCで見られるように、導出される
- HEVCで見られるように導出されたsp3=Abs(p3-p0)
- if(pサイドが32以上である)
if(Sp==5)
sp3=(sp3+Abs(p5-p3)+1)>>1
else
sp3=(sp3+Abs(p77-p3)+1)>>1
- HEVCで見られるように導出されたsq33=Abs(q0-q3)
- if(qサイドが32以上である)
if(Sp==5)
sq3=(sq3+Abs(q5-q3)+1)>>1
else
sq3=(sq3+Abs(q7-q3)+1)>>1
【0057】
HEVCで見られるように、StrongFilterCondition=(dpqが(β>>2)よりも小さい,sp3+sq3が(3×β>>5)よりも小さい,かつAbs(p0-q0)が(5×tC+1)>>1よりも小さい)?TRUE:FALSEである。
【0058】
図6は、ルーマデブロッキングフィルタプロセスのフローチャートを表す。
【0059】
[クロマのための強デブロッキングフィルタ]
クロマのための次の強デブロッキングフィルタが定義される:
p2’=(3×p3+2×p2+p1+p0+q0+4)>>3
p1’=(2×p3+p2+2×p1+p0+q0+q1+4)>>3
p0’=(p3+p2+p1+2×p0+q0+q1+q2+4)>>3
【0060】
提案されているクロマフィルタは、4×4クロマサンプルグリッドに対してデブロッキングを実行する。
【0061】
[2.2.7. クロマのためのデブロッキング制御]
上記のクロマフィルタは、8×8クロマサンプルグリッドに対してデブロッキングを実行する。クロマ強フィルタは、ブロック境界の両側で使用される。ここで、クロマフィルタは、クロマエッジの両側が8(クロマサンプルの単位)以上であり、3つの条件における次の決定が満足されるときに、選択される。第1の条件は、大きいブロック及び境界強さの決定に関する。第2及び第3の条件は、基本的に、HEVCルーマ決定の場合と同じであり、夫々、オン/オフ決定及び強フィルタ決定である。
【0062】
図7は、クロマデブロッキングフィルタプロセスのフローチャートを表す。
【0063】
[2.2.8. 位置依存のクリッピング]
提案はまた、境界で7、5及び3つのサンプルを変更するものである強くかつ長いフィルタを含むルーマフィルタリングプロセスの出力サンプルに適用される位置依存のクリッピングtcPDも導入する。量子化誤差分布を仮定して、サンプルのクリッピング値を増加させることが提案される。これは、より高い量子化ノイズを有することが予想されるので、真のサンプル値からの再構成されたサンプル値のより高い偏差を有することが予想される。
【0064】
提案された非対称フィルタによりフィルタリングされた各P又はQ境界について、第2.2で記載された意志決定プロセスの結果に応じて、位置依存の閾値テーブルは、サイド情報としてデコーダへ供給されるTc7及びTc3の表から選択される:
Tc7={6,5,4,3,2,1,1};
Tc3={6,4,2};
tcPD=(SP==3)?Tc3:Tc7;
tcQD=(SQ==3)?Tc3:Tc7;
【0065】
短い対称フィルタを用いてP又はQ境界がフィルタリングされる場合に、より桁が低い位置依存の閾値が適用される:
Tc3={3,2,1};
【0066】
閾値を定義することに続いて、フィルタリングされたp’i及びq’jのサンプル値は、tcP及びtcQのクリッピング値に従ってクリッピングされる:
p”i=Clip3(p’i+tcPi,p’i-tcPi,p’i);
q”j=Clip3(q’j+tcQj,q’j-tcQj,q’j);
このとき、p’i及びq’jは、フィルタリングされたサンプル値であり、p”i及びq”jは、クリッピング後の出力サンプル値であり、tcPi及びtcQjは、VVCのtcパラメータ並びにtcPD及びtcQDから導出されるクリッピング閾値である。Clip3の項は、VVCで定められているクリッピング関数である。
【0067】
[2.2.9. サブブロックデブロッキング調整]
長いフィルタ及びサブブロックデブロッキングの両方を使用して並列フレンドリなデブロッキングを可能にするために、長いフィルタは、長いフィルタについてルーマ制御で示されるように、サブブロックデブロッキング(AFFINE又はATMVP)を使用する側で多くても5つのサンプルしか変更しないよう制限される。更に、サブブロックデブロッキングは、CU又は暗黙的なTU境界に近い8×8グリッド上のサブブロック境界が夫々の側で多くても2つのサンプルしか変更しないよう制限されるように、調整される。
【0068】
以下は、CU境界と整列されていないサブブロック境界に適用される:
【数2】
【0069】
0に等しいエッジがCU境界に対応する場合に、2に等しいか又はorthogonalLength-2に等しいエッジは、CU境界などからの8サンプルのサブブロック境界に対応する。TUの暗黙的な分割が使用される場合に、暗黙的なTUは真である。
図8は、TU境界及びサブPU境界についての決定プロセスのフローチャートを示す。
【0070】
水平境界のフィルタリングは、水平境界がCTU境界と整列する場合に、ルーマについてはSp=3、クロマについてはSp=1及びSq=1を制限している。
【0071】
[2.2.10. 動きのより小さい差に適応されたデブロッキング決定]
HEVCは、境界の各々の側にあるブロック間の少なくとも1つの動きベクトル成分の差が1サンプルの閾値以上であるときに、予測ユニット境界のデブロッキングを有効にする。VTM6では、半ルーマサンプルの閾値が、動きベクトルの差が小さいインター予測ユニット間の境界から生じるブロッキングアーチファクトの除去も可能にするために導入される。
【0072】
[2.3. インター及びイントラ複合予測(CIIP)]
VTM6では、CUがマージモードで符号化される場合に、CUが少なくとも64個のルーマサンプルを含むならば(つまり、CU幅×CU高さは64以上である)、かつ、CU幅及びCU高さの両方が128個のルーマサンプルに満たないならば、インター/イントラ複合予測(Combined Inter/Intra Prediction,CIIP)モードが現在CUに適用されるかどうかを示すために、追加のフラグが通知される。その名が示すとおり、CIIP予測は、インター予測信号をイントラ予測信号と組み合わせる。CIIPモードでのインター予測信号Pinterは、通常のマージモードに適用されるのと同じインター予測プロセスを用いて導出され、イントラ予測信号Pintraは、プレーナーモードによる通常のイントラ予測プロセスに従って導出される。次いで、イントラ予測信号及びインター予測信号は、加重平均を用いて結合される。このとき、重み値は、次のように、上隣接ブロック及び左隣接ブロックのコーディングモードに応じて計算される:
- 上隣接ブロックが利用可能であり、イントラコーディングされている場合に、isIntraTopを1にセットし、そうでない場合には、isIntraTopを0にセットする。
- 左隣接ブロックが利用可能であり、イントラコーディングされている場合に、isIntraLeftを1にセットし、そうでない場合には、isIntraLeftを0にセットする。
- (isIntraLeft+isIntraTop)が2に等しい場合には、wtは3にセットされる。
- そうではなく、(isIntraLeft+isIntraTop)が1に等しい場合には、wtは2にセットされる。
- 上記以外の場合に、wtを1にセットする。
【0073】
【0074】
[2.4. VTM6.0におけるクロマQPテーブル設計]
いくつかの実施形態で、クロマQPテーブルが使用される。いくつかの実施形態で、シグナリングメカニズムは、クロマQPテーブルのために使用され、これにより、それがSDR及びHDRコンテンツのためにテーブルを最適化する機会をエンコーダにもたらすよう柔軟であることが確かにされる。それは、Cb及びCr成分について別々にテーブルを通知することをサポートする。提案されているメカニズムは、区分線形関数(piece-wise linear function)としてクロマQPテーブルを通知する。
【0075】
[2.5. 変換スキップ(TS)]
HEVCで見られるように、ブロックの残差は、変換スキップモードによりコーディングされ得る。シンタックスコーディングの冗長性を回避するために、変換スキップフラグは、CUレベルのMTS_CU_flagがゼロに等しいない場合には通知されない。変換スキップのブロックサイズ情報は、JEM4におけるMTSのそれと同じである。これは、ブロックの幅及び高さが32以下である場合にCUに対して変換スキップが適用可能であることを示す。暗黙的なMTS変換は、LFNST又はMIPが現在CUに対してアクティブにされる場合に、DCT2にセットされる点に留意されたい。また、暗黙的なMTSは、MTSがインターコーディングされたブロックに対して有効にされる場合に、依然として有効にされ得る。
【0076】
更に、変換スキップブロックについて、最大許容量子化パラメータ(QP)は、6×(internalBitDepth-inputBitDepth)+4と定義される。
【0077】
[2.6. クロマ残差の共同コーディング(Joint Coding of Chroma Residuals,JCCR)]
いくつかの実施形態で、クロマ残差は共同でコーディングされる。共同クロマコーディングモードの利用(活性化)は、TUレベルのフラグtu_joint_cbcr_residual_flagによって示され、選択されたモードは、クロマCBFによって暗黙的に示される。フラグtu_joint_cbcr_residual_flagは、TUのためのどちらか一方又は両方のクロマCBFが1に等しい場合に存在する。PPS及びスライスヘッダにおいて、クロマQPオフセット値は、通常のクロマ残差コーディングモードについて通知された通常のクロマQPオフセットと区別するために、共同クロマ残差コーディングモードについて通知される。これらのクロマQPオフセット値は、共同クロマ残差コーディングモードを用いてコーディングされたブロックについてクロマQP値を導出するために使用される。対応する共同クロマコーディングモード(表3のモード2)がTUでアクティブである場合に、このクロマQPオフセットは、そのTUの量子化及び復号化中に、適用されたルーマ導出クロマQPに加えられる。他のモード(表3のモード1及び3)については、クロマQPは、従来のCb又はCrブロックの場合と同じように導出される。伝送された変換ブロックからのクロマ残差(resCb及びresCr)の再構成プロセスは、表3に表されている。このモードがアクティブにされる場合に、1つの単一共同クロマ残差ブロック(表3のresJointC[x][y])が通知され、Cbの残差ブロック(resCb)及びCrの残差ブロック(resCr)は、tu_cbf_cb、tu_cbf_cr及びCsign(スライスヘッダにおいて指定された符号値である。)のような情報を考慮して導出される。
【0078】
エンコーダ側で、共同クロマ成分は、以下で説明されるように導出される。モード(上記の表でリストアップされる。)に応じて、resJointC{1,2}は、次のようにエンコーダによって生成される:
●モードが2に等しい場合(再構成Cb=Cr、Cr=CSign×Cによる単一の残差)、共同残差は、
resJointC[x][y]=(resCb[x][y]+CSign×resCr[x][y])/2
に従って決定される。
●そうではなく、モードが1に等しい場合(再構成Cb=Cr、Cr=(CSign×C)/2による単一の残差)、共同残差は、
resJointC[x][y]=(4×resCb[x][y]+2×CSign×resCr[x][y])/5
に従って決定される。
●上記以外の場合(モードが3に等しい、つまり、再構成Cb=Cr、Cb=(CSign×C)/2による単一の残差)、共同残差は、
resJointC[x][y]=(4×resCr[x][y]+2×CSign×resCb[x][y])/5
に従って決定される。
【表4】
【0079】
異なるQPが、上記の3つのモードで利用される。モード2については、JCCRコーディングされたブロックについてPPSにおいて通知されたQPオフセットが適用され、一方、残り2つのモードについては、それは適用されず、代わりに、非JCCRコーディングされたブロックについてPPSにおいて通知されたQPオフセットが適用される。
【0080】
【0081】
[2.7. 交差成分適応ループフィルタ(CC-ALF)]
図14Aは、他のループフィルタに関してCC-ALF(Cross-Component Adaptive Loop Filter)の配置を表す。CC-ALFは、クロマ成分ごとにルーマチャネルに線形なダイヤモンド形状フィルタ(
図14B)を適用することによって、作動する。これは、次のように表される。
【数4】
このとき、
(x,y)は、精緻化されるクロマ成分iの位置であり、
(x
C,y
C)は、(x,y)に基づくルーマ位置であり、
S
iは、クロマ成分iについてのルーマにおけるフィルタサポートであり、
c
i(x
0,y
0)は、フィルタ係数を表す。
【0082】
CC-ALFの主な特徴には、次がある:
- サポート領域の中心にあるルーマ位置(xC,yC)は、ルーマプレーンとクロマプレーンとの間の空間スケーリング係数に基づき計算される。
- 全てのフィルタ係数は、APSにおいて伝送され、8ビットダイナミックレンジを有する。
- APSは、スライスヘッダにおいて参照され得る。
- スライスの各クロマ成分について使用されるCC-ALF係数は、時間サブレイヤに対応するバッファにも格納される。時間サブレイヤフィルタ係数のこれらのセットの再利用は、スライスレベルのフラグを用いて容易にされる。
- CC-ALFフィルタの適用は、可変なブロックで制御され、サンプルの各ブロックについて受け取られたコンテキストコーディングされたフラグによって通知される。ブロックサイズは、CC-ALF有効化フラグとともに、クロマ成分ごとにスライスレベルで受け取られる。
- 水平仮想境界の境界パディングは、繰り返しを利用する。残りの境界については、通常のALFと同じタイプのパディングが使用される。
【0083】
[3. 既存の実施の欠点]
DMVR及びBIOは、動きベクトルの精緻化中に、原信号を利用しない。これは、不正確な動き情報を持ったコーディングブロックを生じさせる可能性がある。また、DMVR及びBIOは、動き精緻化後に、ときどき、分数動きベクトル用いるが、スクリーンビデオは、通常は、整数動きベクトルを有する。これは、現在の動き情報をより不正確にし、コーディング性能を悪化させる。
【0084】
1.クロマQPテーブルとクロマデブロッキングとの間の相互作用は、問題がある可能性がある。例えば、クロマQPテーブルは、個々のQPに適用されるべきであり、QPの加重和に適用されるべきではない。
2.ルーマデブロッキングフィルタリングプロセスのロジックは、ハードウェア設計が複雑である。
3.境界強さの導出のロジックは、ソフトウェア及びハードウェアの両方の設計が複雑過ぎる。
4.BS決定プロセスで、JCCRは、JCCTを適用せずにコーディングされたブロックとは別に扱われる。しかし、JCCRは、残差をコーディングする特別な方法にすぎない。従って、そのような設計は、明確な利点がなくても、更なる複雑性を生じさせる可能性がある。
5.クロマエッジ設計で、Qp
Q及びQp
Pは、サンプルq
0,0及びp
0,0を夫々含むコーディングブロックを含むコーディングユニットのQp
Y値に等しくセットされる。しかし、量子化/逆量子化プロセスで、クロマサンプルのQPは、現在のクロマCUの中心位置の対応するルーマサンプルをカバーするルーマブロックのQPから導出される。デュアルツリーが有効にされる場合に、ルーマブロックの異なる位置は、異なるQPを生じさせることがある。従って、クロマデブロッキングプロセスで、不適切なQPがフィルタ決定のために使用される可能性がある。そのようなミスアライメントは、視覚アーチファクトを生じさせる可能性がある。例が
図9A~Bに示されている。
図9Aは、ルーマブロックの対応するCTBパーティショニングを示し、
図9Bは、デュアルツリーの下でのクロマCTBパーティショニングを示す。CU
C1によって表されるクロマブロックについてQPを決定するとき、CU
C1の中心位置が最初に導出される。次いで、CU
C1の中心位置の対応するルーマサンプルが識別され、対応するルーマサンプルをカバーするルーマCU、つまり、CU
Y3に関連したルーマQPが、次いで、CU
C1のQPを導出するために利用される。しかし、表されている3つのサンプル(実線円)についてフィルタ決定を行うときには、対応する3つのサンプルをカバーするCUのQPが選択される。従って、第1、第2、及び第3のクロマサンプル(
図9Bを参照。)については、CU
Y2、CU
Y3、及びCU
Y4のQPが夫々利用される。すなわち、同じCU内のクロマサンプルは、フィルタ決定のために異なるQPを使用することがあり、これは、不適切な決定を生じさせる可能性がある。
6.異なるピクチャレベルQPオフセット(つまり、pps_joint_cbcr_qp_offset)が、JCCRコーディングされたブロックに適用され、これは、非JCCRコーディングされたブロックに適用されたCb/Crのピクチャレベルオフセット(例えば、pps_cb_qp_offset及びpps_cr_qp_offset)とは異なる。しかし、クロマデブロッキングフィルタ決定プロセスでは、非JCCRコーディングされたブロックのオフセットのみが利用される。コーディングされたモードの考慮が欠落していると、誤ったフィルタ決定が起こる可能性がある。
7.TSコーディングされたブロックと、非TSコーディングされたブロックとは、逆量子化プロセスで、異なるQPを用いる。これは、デブロッキングプロセスでも考慮されることがある。
8.異なるQPが、異なるモードによるJCCRコーディングされたブロックに対してスケーリングプロセス(量子化/逆量子化)で使用される。そのような設計は一貫性がない。
9.Cb/Crのクロマデブロッキングは、並列設計のために統合され得る。
【0085】
[4. 例となる技術及び実施形態]
以下で記載される詳細な実施形態は、一般的な概念を説明するための例と見なされるべきである。これらの実施形態は、狭い意味で解釈されるべきではない。更に、これらの実施形態は、如何なる様態でも組み合わされ得る。
【0086】
以下で記載される方法は、後述されるDMVR及びBIOに加えて、他のデコーダ動き情報導出にも適用可能であり得る。
【0087】
以下の例で、MVM[i].x及びMVM[i].yは、M(MはP又はQである)側でのブロックの参照ピクチャリストi(iは0又は1である)内の動きベクトルの水平及び垂直成分を表す。Absは、入力の絶対値を得る演算を表し、「&&」及び「||」は、論理演算AND及びORを表す。
図10を参照して、Pは、Pサイドでのサンプルを表すことができ、Qは、Qサイドでのサンプルを表すことができる。Pサイド及びQサイドでのブロックは、破線によってマークされたブロックを表し得る。
【0088】
デブロッキングにおけるクロマQPに関して
1.クロマQPテーブルが(例えば、クロマブロックエッジの決定プロセスにおいて)クロマデブロッキングを制御するパラメータを導出するために使用される場合に、クロマQPオフセットは、クロマQPテーブルを適用した後で適用されてよい。
a.一例で、クロマQPオフセットは、クロマQPテーブルによって計算された値に加えられてよい。
b.代替的に、クロマQPオフセットは、クロマQPテーブルへの入力と見なされなくてもよい。
c.一例で、クロマQPオフセットは、ピクチャレベル又は他のビデオユニットレベル(スライス/タイル/ブリック/サブピクチャ)のクロマ量子化パラメータオフセットであってよい(例えば、本明細書では、pps_cb_qp_offset及びpps_cr_qp_offset)。
2.QPクリッピングは、クロマQPオフセットの入力に適用されなくてもよい。
3.クロマ成分のデブロッキングプロセスは、各サイドで、(クロマQPテーブルによる)マッピングされたクロマQPに基づき得ることが提案される。
a.一例で、クロマのデブロッキングパラメータ(例えば、β及びt
C)は、各サイドでルーマQPから導出されたQPに基づき得ることが提案される。
b.一例で、クロマデブロッキングパラメータは、QpPをテーブルインデックスとして用いるクロマQPテーブル値に依存してもよい。このとき、QpPは、PサイドでのルーマQP値である。
c.一例で、クロマデブロッキングパラメータは、QpQをテーブルインデックスとして用いるクロマQPテーブル値に依存してもよい。このとき、QpQは、QサイドでのルーマQP値である。
4.クロマ成分のデブロッキングプロセスは、クロマブロックの量子化/逆量子化に適用されたQPに基づき得ることが提案される。
a.一例で、デブロッキングプロセスのQPは、逆量子化のQPに等しくなる。
5.デブロッキングフィルタ決定プロセスにおいて異なるコーディング方法のために使用されたピクチャ/スライス/タイル/ブリック/サブピクチャレベルの量子化パラメータオフセットを考えることが提案される。
a.一例で、フィルタ決定(例えば、デブロッキングフィルタプロセスでのクロマエッジ決定)のためのピクチャ/スライス/タイル/ブリック/サブピクチャレベルの量子化パラメータオフセットの選択は、サイドごとのコーディング方法に依存してよい。
b.一例で、クロマブロックの量子化パラメータを使用する必要があるフィルタリングプロセス(例えば、クロマエッジ決定プロセス)は、ブロックがJCCRを使用するかどうかに依存してよい。
i.代替的に、更に、JCCRコーディングされたブロックに適用されるピクチャ/スライスレベルのQPオフセット(例えば、pps_joint_cbcr_qp_offset)は、デブロッキングフィルタプロセスにおいて更に考慮されてよい。
ii.一例で、T
C及びβの設定を決定するために使用されるcQpPicOffsetは、特定の条件でpps_cb_qp_offset又はpps_cr_qp_offsetの代わりにpps_joint_cbcr_qp_offsetにセットされてよい:
1.一例で、P又はQサイドにあるいずれかのブロックがJCCRを使用する場合。
2.一例で、P又はQサイドにある両方のブロックがJCCRを使用する場合。
iii.代替的に、更に、フィルタリングプロセスは、JCCRのモード(例えば、モードが2に等しいかどうか)に依存してよい。
6.ルーマブロックの復号化された情報にアクセスする必要があるクロマフィルタリングプロセス(例えば、クロマエッジ決定プロセス)は、量子化/逆量子化プロセスにおいてクロマQPを導出するために使用される同じルーマコーディングブロックに関連した情報を利用してよい。
a.一例で、ルーマブロックの量子化パラメータを使用する必要があるクロマフィルタリングプロセス(例えば、クロマエッジ決定プロセス)は、現在のクロマCUの中心位置の対応するルーマサンプルをカバーするルーマコーディングユニットを利用してよい。
b.例が
図9A~Bに表されており、CT
Y3の復号化された情報は、
図9Bの3つのクロマサンプル(第1、第2及び第3)のフィルタリング決定のために使用され得る。
7.クロマフィルタリングプロセス(例えば、クロマエッジ決定プロセス)は、クロマブロックのスケーリングプロセス(例えば、量子化/逆量子化)に適用された量子化パラメータに依存してよい。
a.一例で、β及びT
Cを導出するために使用されるQPは、クロマブロックのスケーリングプロセスに適用されたQPに依存してよい。
b.代替的に、更に、クロマブロックのスケーリングプロセスに使用されるQPは、クロマCUレベルのQPオフセットを考慮に入れてもよい。
8.上記のビュレットを呼び出すべきかどうかは、フィルタリングされるサンプルがP又はQサイドにあるブロック内にあるかどうかに依存してよい。
a.例えば、現在のクロマサンプルの対応するルーマサンプルをカバーするルーマコーディングユニットの情報を使用するか、あるいは、現在のクロマサンプルをカバーするクロマコーディングブロックの中心位置の対応するルーマサンプルをカバーするルーマコーディングブロックの情報を使用するかは、ブロック位置に依存してよい。
i.一例で、現在のクロマサンプルがQサイドにあるブロック内にある場合に、現在のクロマサンプルをカバーするクロマコーディングブロックの中心位置の対応するルーマサンプルをカバーするルーマコーディングブロックのQP情報が使用されてよい。
ii.一例で、現在のクロマサンプルがPサイドにあるブロック内にある場合に、クロマサンプルの対応するルーマサンプルをカバーするルーマコーディングブロックのQP情報が使用されてよい。
9.デブロッキングに使用されるクロマQPは、対応する変換ブロックの情報に依存してよい。
a.一例で、PサイドでのデブロッキングのためのクロマQPは、Pサイドでの変換ブロックのモードに依存してよい。
i.一例で、PサイドでのデブロッキングのためのクロマQPは、Pサイドでの変換ブロックがJCCRを適用してコーディングされるかどうかに依存してよい。
ii.一例で、PサイドでのデブロッキングのためのクロマQPは、Pサイドでの変換ブロックがjoint_cb_crモードでコーディングされ、JCCRのモードが2に等しいかどうかに依存してよい。
b.一例で、QサイドでのデブロッキングのためのクロマQPは、Qサイドでの変換ブロックに依存してよい。
i.一例で、QサイドでのデブロッキングのためのクロマQPは、Qサイドでの変換ブロックがJCCRを適用してコーディングされるかどうかに依存してよい。
ii.一例で、QサイドでのデブロッキングのためのクロマQPは、Qサイドでの変換ブロックがJCCRを適用してコーディングされ、JCCRのモードが2に等しいかどうかに依存してよい。
10.クロマQPのシグナリングは、コーディングユニットにあってよい。
a.一例で、コーディングユニットサイズが最大変換ブロックサイズ、つまり、maxTBよりも大きい場合に、クロマQPはCUレベルで通知されてよい。代替的に、それはTUレベルで通知されてもよい。
b.一例で、コーディングユニットサイズがVPDUのサイズよりも大きい場合に、クロマQPはCUレベルで通知されてよい。代替的に、それはTUレベルで通知されてもよい。
11.ブロックがjoint_cb_crモードのブロックであるかどうかは、コーディングユニットレベルで示されてよい。
a.一例で、変換ブロックがjoint_cb_crモードのブロックであるかどうかは、変換ブロックを含むコーディングユニットの情報を引き継いでよい。
12.デブロッキングで使用されるクロマQPは、スケーリングプロセスで使用されたクロマQPからビットデプスによるQPオフセットをマイナスしたものに依存してよい。
a.一例で、Pサイドでデブロッキングに使用されるクロマQPは、スケーリングプロセスで使用されたJCCRクロマQP、つまり、TuCResMode[xTb][yTb]が2に等しいときにQp’
CbCr,からQpBdOffsetCをマイナスしたものにセットされる。このとき、(xTb,yTb)は、Pサイドでの最初のサンプル、つまり、p
0,0を含む変換ブロッキングを表す。
b.一例で、Pサイドでデブロッキングに使用されるクロマQPは、スケーリングプロセスで使用されたCbクロマQP、つまり、TuCResMode[xTb][yTb]が2に等しいときにQp’
Cb,からQpBdOffsetCをマイナスしたものにセットされる。このとき、(xTb,yTb)は、Pサイドでの最初のサンプル、つまり、p
0,0を含む変換ブロッキングを表す。
c.一例で、Pサイドでデブロッキングに使用されるクロマQPは、スケーリングプロセスで使用されたCrクロマQP、つまり、TuCResMode[xTb][yTb]が2に等しいときにQp’
Cr,からQpBdOffsetCをマイナスしたものにセットされる。このとき、(xTb,yTb)は、Pサイドでの最初のサンプル、つまり、p
0,0を含む変換ブロッキングを表す。
d.一例で、Qサイドでデブロッキングに使用されるクロマQPは、スケーリングプロセスで使用されたJCCRクロマQP、つまり、TuCResMode[xTb][yTb]が2に等しいときにQp’
CbCr,からQpBdOffsetCをマイナスしたものにセットされる。このとき、(xTb,yTb)は、Qサイドでの最後のサンプル、つまり、q
0,0を含む変換ブロッキングを表す。
e.一例で、Qサイドでデブロッキングに使用されるクロマQPは、スケーリングプロセスで使用されたCbクロマQP、つまり、TuCResMode[xTb][yTb]が2に等しいときにQp’
Cb,からQpBdOffsetCをマイナスしたものにセットされる。このとき、(xTb,yTb)は、Qサイドでの最後のサンプル、つまり、q
0,0を含む変換ブロッキングを表す。
13.一例で、Qサイドでデブロッキングに使用されるクロマQPは、スケーリングプロセスで使用されたCrクロマQP、つまり、TuCResMode[xTb][yTb]が2に等しいときにQp’
Cr,からQpBdOffsetCをマイナスしたものにセットされる。このとき、(xTb,yTb)は、Qサイドでの最後のサンプル、つまり、q
0,0を含む変換ブロッキングを表す。
【0089】
QP設定に関して
14.スライス/タイル/ブリック/サブピクチャレベルでブロックレベルクロマQPオフセットを有効化する指示(例えば、slice_cu_chroma_qp_offset_enabled_flag)を通知することが提案される。
a.代替的に、そのような指示のシグナリングは、条件付きで通知されてよい。
i.一例で、JCCR有効化フラグの条件下で通知されてよい。
ii.一例で、ピクチャレベルでブロックレベルクロマQPオフセット有効化フラグの条件下で通知されてよい。
iii.代替的に、そのような指示は代わりに導出されてもよい。
b.一例で、slice_cu_chroma_qp_offset_enabledは、クロマQPオフセットのPPSフラグ(例えば、pps_cu_chroma_qp_offset_enabled_flag)が真である場合にのみ通知されてよい。
c.一例で、slice_cu_chroma_qp_offset_enabled_flagは、クロマQPオフセットのPPSフラグ(例えば、pps_cu_chroma_qp_offset_enabled_flag)が偽である場合にのみ偽と推測されてよい。
d.一例で、ブロックに対してクロマQPオフセットを使用すべきかどうかは、PPSレベル及び/又はスライスレベルでのクロマQPオフセットのフラグに基づいてよい。
15.同じQP導出方法が、異なるモードでJCCRコーディングされたブロックのためにスケーリングプロセス(量子化/逆量子化)で使用される。
a.一例で、モード1及び3によるJCCRについては、QPは、ピクチャ/スライスレベルで通知されたQPオフセット(例えば、pps_cbcr_qp_offset、slice_cbcr_qp_offset)に依存する。
【0090】
フィルタリングプロシージャ
16.最初の色成分を除いた全ての色成分のためのデブロッキングは、最初の色成分のデブロッキングプロセスに従ってよい。
a.一例で、色フォーマットが4:4:4である場合に、第2及び第3の成分のデブロッキングプロセスは、最初の成分のデブロッキングプロセスに従い得る。
b.一例で、色フォーマットがRGB色空間における4:4:4である場合に、第2及び第3の成分のデブロッキングプロセスは、最初の成分のデブロッキングプロセスに従い得る。
c.一例で、色フォーマットが4:2:2である場合に、第2及び第3の成分のデブロッキングプロセスは、最初の成分の垂直デブロッキングプロセスに従い得る。
d.上記の例で、デブロッキングプロセスは、デブロッキング決定プロセス及び/又はデブロッキングフィルタリングプロセスを参照し得る。
17.デブロッキングフィルタプロセスで使用される傾きを計算する方法は、コーディングされたモード情報及び/又は量子化パラメータに依存してよい。
a.一例で、傾き計算は、サイドの傾きしか考慮しなくてもよく、このとき、そのサイドでのサンプルは可逆コーディングされない。
b.一例で、両サイドが可逆コーディングされるか、又はほぼ可逆コーディングされる(例えば、量子化パラメータが4に等しい)場合に、傾きは、直接に、0にセットされてよい。
i.代替的に、両サイドが可逆コーディングされるか、又はほぼ可逆コーディングされる(例えば、量子化パラメータが4に等しい)場合に、境界強さ(例えば、BS)は0にセットされてもよい。
c.一例で、Pサイドでのサンプルが可逆コーディングされ、Qサイドでのサンプルが不可逆コーディングされる場合に、デブロッキングオン/オフ決定及び/又は強フィルタオン/オフ決定で使用される傾きは、Qサイドでのサンプルの傾きしか含まなくてもよく、その逆も同様である。
i.代替的に、更に、一方のサイドの傾きはNでスケーリングされてもよい。
1.Nは、整数(例えば、2)であり、次のものに依存してよい:
a.ビデオコンテンツ(例えば、スクリーンコンテンツ又は自然コンテンツ)
b.DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/最大コーディングユニット(LCU)/コーディングユニット(CU)/LCU行/LCUのグループ/TU/PUブロック/ビデオコーディングユニットで通知されたメッセージ
c.CU/PU/TU/ブロック/ビデオコーディングユニットの位置
d.エッジ沿いのサンプルを含むブロックのコーディングモード
e.エッジ沿いのサンプルを含むブロックに適用された変換行列
f.現在のブロック及び/又はその隣接ブロックのブロック寸法/ブロック形状
g.色フォーマット(例えば、4:2:0、4:4:4、RGB又はYUV)の指示
h.コーディングツリー構造(例えば、デュアルツリー又はシングルツリー)
i.スライス/タイルグループタイプ及び/又はピクチャタイプ
j.色成分(例えば、Cb又はCrにしか適用されなくてもよい)
k.時間レイヤID
l.標準規格のプロファイル/レベル/ティア
m.代替的に、Nはデコーダへ通知されてもよい。
【0091】
境界強さの動作に関して
18.境界強さ決定プロセスで、JCCRコーディングされたブロックを、非JCCRコーディングされたブロックとして扱うことが提案される。
a.一例で、境界強さ(BS)の決定は、P及びQサイドでの2つのブロックに対するJCCRの利用の確認と無関係であり得る。
b.一例で、ブロックの境界強さ(BS)は、ブロックがJCCRでコーディングされるか否かにかかわらず決定され得る。
19.Pサイドでのブロックに関連した参照ピクチャ及び/又はMVの数を、Qサイドでのブロックの参照ピクチャと比較せずに、境界強さ(BS)を導出することが提案される。
a.一例で、デブロッキングフィルタは、2つのブロックが異なる参照ピクチャを有する場合でさえ無効にされてよい。
b.一例で、デブロッキングフィルタは、2つのブロックが異なる数のMVを有する(例えば、1つが片予測され、他方が双予測される)場合でさえ無効にされてよい。
c.一例で、BSの値は、Pサイド及びQサイドでのブロック間の1つ又は全ての参照ピクチャの動きベクトル差分が閾値Th以上である場合に、1にセットされてよい。
i.代替的に、更に、BSの値は、Pサイド及びQサイドでのブロック間の1つ又は全ての参照ピクチャの動きベクトル差分が閾値Th以下である場合に、0にセットされてもよい。
d.一例で、2つのブロックの動きベクトルの差が閾値Thよりも大きいことは、(Abs(MVP[0].x-MVQ[0].x)>Th||Abs(MVP[0].y-MVQ[0].y)>Th||Abs(MVP[1].x-MVQ[1].x)>Th||Abs(MVP[1].y-MVQ[1].y)>Th)と定義され得る。
ii.代替的に、2つのブロックの動きベクトルの差が閾値Thよりも大きいことは、(Abs(MVP[0].x-MVQ[0].x)>Th&&Abs(MVP[0].y-MVQ[0].y)>Th&&Abs(MVP[1].x-MVQ[1].x)>Th&&Abs(MVP[1].y-MVQ[1].y)>Th)と定義され得る。
iii.代替的に、一例で、2つのブロックの動きベクトルの差が閾値Thよりも大きいことは、(Abs(MVP[0].x-MVQ[0].x)>Th||Abs(MVP[0].y-MVQ[0].y)>Th&&Abs(MVP[1].x-MVQ[1].x)>Th||Abs(MVP[1].y-MVQ[1].y)>Th)と定義され得る。
iv.代替的に、一例で、2つのブロックの動きベクトルの差が閾値Thよりも大きいことは、(Abs(MVP[0].x-MVQ[0].x)>Th&&Abs(MVP[0].y-MVQ[0].y)>Th||Abs(MVP[1].x-MVQ[1].x)>Th&&Abs(MVP[1].y-MVQ[1].y)>Th)と定義され得る。
e.一例で、所与のリスト内の動きベクトルを有さないブロックは、そのリストにおいてゼロ動きベクトルを有しているものとして扱われてよい。
f.上記の例で、Thは、整数(例えば、4、8又は16)である。
g.上記の例で、Thは、次のものに依存してよい:
v.ビデオコンテンツ(例えば、スクリーンコンテンツ又は自然コンテンツ)
vi.DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/最大コーディングユニット(LCU)/コーディングユニット(CU)/LCU行/LCUのグループ/TU/PUブロック/ビデオコーディングユニットで通知されたメッセージ
vii.CU/PU/TU/ブロック/ビデオコーディングユニットの位置
viii.エッジ沿いのサンプルを含むブロックのコーディングモード
ix.エッジ沿いのサンプルを含むブロックに適用された変換行列
x.現在のブロック及び/又はその隣接ブロックのブロック寸法/ブロック形状
xi.色フォーマット(例えば、4:2:0、4:4:4、RGB又はYUV)の指示
xii.コーディングツリー構造(例えば、デュアルツリー又はシングルツリー)
xiii.スライス/タイルグループタイプ及び/又はピクチャタイプ
xiv.色成分(例えば、Cb又はCrにしか適用されなくてもよい)
xv.時間レイヤID
xvi.標準規格のプロファイル/レベル/ティア
xvii.代替的に、Thはデコーダへ通知されてもよい。
h.上記の例は、特定の条件の下で適用されてよい。
xviii.一例で、条件は、blkP及びblkQがイントラモードでコーディングされないことである。
xix.一例で、条件は、blkP及びblkQがルーマ成分に関してゼロ係数を有することである。
xx.一例で、条件は、blkP及びblkQがCPPIモードでコーディングされないことである。
xxi.一例で、条件は、blkP及びblkQが同じ予測モード(例えば、IBC又はインター)でコーディングされることである。
【0092】
ルーマデブロッキングフィルタリングプロセスに関して
20.デブロッキングは、TSコーディングされたブロック及び非TSコーディングされたブロックについて異なるQPを使用してよい。
a.一例で、TSのQPは、TSコーディングされたブロックに対して使用されてよく、一方、非TSのQPは、非TSコーディングされたブロックに対して使用されてよい。
21.ルーマフィルタリングプロセス(例えば、ルーマエッジ決定プロセス)は、ルーマブロックのスケーリングプロセスに適用された量子化パラメータに依存してよい。
a.一例で、β及びTCを導出するために使用されるQPは、例えば、QpOrimeTsMinによって示されるような、変換スキップのクリッピング範囲に依存してもよい。
22.大きいブロック境界及びより小さいブロック境界について同じ傾き計算が使用されることが提案される。
a.一例で、第2.1.4節で記載されるデブロッキングフィルタオン/オフ決定は、大きいブロック境界についても適用されてよい。
i.一例で、決定における閾値βは、大きいブロック境界について変更されてよい。
1.一例で、βは、量子化パラメータに依存してよい。
2.一例で、大きいブロック境界についてのデブロッキングフィルタオン/オフ決定に使用されるβは、より小さいブロック境界についてのそれよりも小さくなる。
a.代替的に、一例で、大きいブロック境界についてのデブロッキングフィルタオン/オフ決定に使用されるβは、より小さいブロック境界についてのそれよりも大きくなる。
b.代替的に、一例で、大きいブロック境界についてのデブロッキングフィルタオン/オフ決定に使用されるβは、より小さいブロック境界についてのそれと等しくなる。
3.一例で、βは、整数であり、次のものに基づき得る:
a.ビデオコンテンツ(例えば、スクリーンコンテンツ又は自然コンテンツ)
b.DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/最大コーディングユニット(LCU)/コーディングユニット(CU)/LCU行/LCUのグループ/TU/PUブロック/ビデオコーディングユニットで通知されたメッセージ
c.CU/PU/TU/ブロック/ビデオコーディングユニットの位置
d.エッジ沿いのサンプルを含むブロックのコーディングモード
e.エッジ沿いのサンプルを含むブロックに適用された変換行列
f.現在のブロック及び/又はその隣接ブロックのブロック寸法
g.現在のブロック及び/又はそれの隣接ブロックのブロック形状
h.色フォーマット(例えば、4:2:0、4:4:4、RGB又はYUV)の指示
i.コーディングツリー構造(例えば、デュアルツリー又はシングルツリー)
j.スライス/タイルグループタイプ及び/又はピクチャタイプ
k.色成分(例えば、Cb又はCrにしか適用されなくてもよい)
l.時間レイヤID
m.標準規格のプロファイル/レベル/ティア
n.代替的に、βはデコーダへ通知されてもよい。
【0093】
スケーリングマトリクス(逆量子化マトリクス)に関して
23.量子化マトリクスの特定の位置についての値は、定数にセットされてよい。
a.一例で、位置は、(x,y)の位置であってよく、x及びyは、2つの整数変数(例えば、x=y=0)であり、(x,y)は、TU/TB/PU/PB/CU/CBに対する座標である。
i.一例で、位置は、DCの位置であってよい。
b.一例で、定数値は16であってよい。
c.一例で、これらの位置について、マトリクス値のシグナリングは、利用されなくてもよい。
24.量子化マトリクスの一部の位置の平均/加重平均が定数であり得るという制約ガセットされてよい。
a.一例で、デブロッキングプロセスは、定数値に依存してよい。
b.一例で、定数値は、DPS/VPS/SPS/PPS/スライス/ピクチャ/タイル/ブリックヘッダにおいて示され得る。
25.ピクチャヘッダに関連したピクチャにおいて選択されるスケーリングマトリクスを知らせるために、1つ又は複数の指示がピクチャヘッダにおいて通知されてよい。
【0094】
成分間共通の適応ループフィルタ(CCALF)に関して
26.CCALF(Cross Component Adaptive Loop Filter)は、デコーダでの何らかのループフィルタリングプロセスの前に適用されてよい。
a.一例で、CCALFは、デコーダでのデブロッキングプロセス前に適用されてよい。
b.一例で、CCALFは、デコーダでのSAOの前に適用されてよい。
c.一例で、CCALFは、デコーダでのALFの前に適用されてよい。
d.代替的に、異なるフィルタ(例えば、CCALF、ALF、SAO、デブロッキングフィルタ)の順序は固定されなくてもよい。
i.一例で、CCALFの起動は、1つのビデオユニットに対する1つのフィルタリングプロセスの前、又は他のビデオユニットに対する他のフィルタリングプロセスの後であってよい。
ii.一例で、ビデオユニットは、CTU/CTB/スライス/タイル/ブリック/ピクチャ/シーケンスであってよい。
e.代替的に、異なるフィルタ(例えば、CCALF、ALF、SAO、デブロッキングフィルタ)の順序の指示は、オン・ザ・フライで通知又は導出されてよい。
i.代替的に、CCALFの起動の指示は、オン・ザ・フライで通知又は導出されてよい。
f.CCALFを制御する方法の明示的な指示(例えば、エンコーダからデコーダへの通知)又は暗黙的な指示(例えば、エンコーダ及びデコーダの両方での導出)は、異なる色成分(例えば、Cb及びCr)について切り離されてよい。
g.CCALFを適用すべきか及び/又はどのように適用すべきかは、色フォーマット(例えば、RGB及びYCbCr)及び/又は色サンプリングフォーマット(例えば、4:2:0、4:2:2、及び4:4:4)及び/又は色ダウンサンプリング位置若しくはフェーズに依存してよい。
【0095】
クロマQPオフセットリストに関して
27.クロマQPオフセットリストの通知及び/又は選択は、コーディングされた予測モード/ピクチャタイプ/スライス又はタイル又はブリックタイプに依存してよい。
h.クロマQPオフセットリスト、例えば、cb_qp_offset_list[i]、cr_qp_offset_list[i]、及びjoint_cbcr_qp_offset_list[i]は、異なるコーディングモードについて異なってよい。
i.一例で、クロマQPオフセットリストを適用すべきか及びどのように適用すべきかは、現在のブロックがイントラモードでコーディングされるかどうかに依存してよい。
j.一例で、クロマQPオフセットリストを適用すべきか及びどのように適用すべきかは、現在のブロックがインターモードでコーディングされるかどうかに依存してよい。
k.一例で、クロマQPオフセットリストを適用すべきか及びどのように適用すべきかは、現在のブロックがパレットモードでコーディングされるかどうかに依存してよい。
l.一例で、クロマQPオフセットリストを適用すべきか及びどのように適用すべきかは、現在のブロックがIBCモードでコーディングされるかどうかに依存してよい。
m.一例で、クロマQPオフセットリストを適用すべきか及びどのように適用すべきかは、現在のブロックが返還スキップモードでコーディングされるかどうかに依存してよい。
n.一例で、クロマQPオフセットリストを適用すべきか及びどのように適用すべきかは、現在のブロックがBDPCMモードでコーディングされるかどうかに依存してよい。
o.一例で、クロマQPオフセットリストを適用すべきか及びどのように適用すべきかは、現在のブロックがtransform_quant_skip又は可逆モードでコーディングされるかどうかに依存してよい。
【0096】
CTU境界でのクロマデブロッキングに関して
28.デブロッキングフィルタプロセスで利用されるQPを(例えば、対応するルーマ又はクロマ逆量子化されたQPを用いて)選択する方法は、CTU/CTB/VPDU境界に対するサンプルの位置に依存してよい。
29.デブロッキングフィルタプロセスで利用されるQPを(例えば、対応するルーマ又はクロマ逆量子化されたQPを用いて)選択する方法は、色フォーマット(例えば、RGB又はYCbCr)及び/又は色サンプリングフォーマット(例えば、4:2:0、4:2:2、及び4:4:4)及び/又は色ダウンサンプリング位置若しくはフェーズに依存してよい。
30.CTU境界でのエッジについては、デブロッキングは、対応するブロックのルーマQPに基づき得る。
p.一例で、CTU境界での水平エッジについては、デブロッキングは、対応するブロックのルーマQPに基づき得る。
i.一例で、デブロッキングは、Pサイドでの対応するブロックのルーマQPに基づき得る。
ii.一例で、デブロッキングは、Qサイドでの対応するブロックのルーマQPに基づき得る。
q.一例で、CTU境界での垂直エッジについては、デブロッキングは、対応するブロックのルーマQPに基づき得る。
i.一例で、デブロッキングは、Pサイドでの対応するブロックのルーマQPに基づき得る。
ii.一例で、デブロッキングは、Qサイドでの対応するブロックのルーマQPに基づき得る。
r.一例で、CTU境界でのエッジについては、デブロッキングは、PサイドでのルーマQP及びQサイドでのクロマQPに基づき得る。
s.一例で、CTU境界でのエッジについては、デブロッキングは、QサイドでのルーマQP及びPサイドでのクロマQPに基づき得る。
t.このビュレットで、「CTU境界」とは、上CTU境界又は下CTU境界などの特定のCTU境界を指し得る。
31.CTU境界での水平エッジについては、デブロッキングは、PサイドでのクロマQPの関数に基づき得る。
u.一例で、デブロッキングは、PサイドでのクロマQPの平均関数に基づき得る。
i.一例で、関数は、8ルーマサンプルごとのクロマQPの平均に基づき得る。
ii.一例で、関数は、16ルーマサンプルごとのクロマQPの平均に基づき得る。
iii.一例で、関数は、32ルーマサンプルごとのクロマQPの平均に基づき得る。
iv.一例で、関数は、64ルーマサンプルごとのクロマQPの平均に基づき得る。
v.一例で、関数は、CTUごとのクロマQPの平均に基づき得る。
v.一例で、デブロッキングは、PサイドでのクロマQPの最大関数に基づき得る。
i.一例で、関数は、8ルーマサンプルごとのクロマQPの最大値に基づき得る。
ii.一例で、関数は、16ルーマサンプルごとのクロマQPの最大値に基づき得る。
iii.一例で、関数は、32ルーマサンプルごとのクロマQPの最大値に基づき得る。
iv.一例で、関数は、64ルーマサンプルごとのクロマQPの最大値に基づき得る。
v.一例で、関数は、CTUごとのクロマQPの最大値に基づき得る。
w.一例で、デブロッキングは、PサイドでのクロマQPの最小関数に基づき得る。
i.一例で、関数は、8ルーマサンプルごとのクロマQPの最小値に基づき得る。
ii.一例で、関数は、16ルーマサンプルごとのクロマQPの最小値に基づき得る。
iii.一例で、関数は、32ルーマサンプルごとのクロマQPの最小値に基づき得る。
iv.一例で、関数は、64ルーマサンプルごとのクロマQPの最小値に基づき得る。
v.一例で、関数は、CTUごとのクロマQPの最小値に基づき得る。
x.一例で、デブロッキングは、PサイドでのクロマQPのサブサンプリング関数に基づき得る。
i.一例で、関数は、8ルーマサンプルごとのk番目のクロマサンプルのクロマQPに基づき得る。
1.一例で、k番目のサンプルは最初のサンプルであってよい。
2.一例で、k番目のサンプルは最後のサンプルであってよい。
3.一例で、k番目のサンプルは3番目のサンプルであってよい。
4.一例で、k番目のサンプルは4番目のサンプルであってよい。
ii.一例で、関数は、16ルーマサンプルごとのk番目のクロマサンプルのクロマQPに基づき得る。
1.一例で、k番目のサンプルは最初のサンプルであってよい。
2.一例で、k番目のサンプルは最後のサンプルであってよい。
3.一例で、k番目のサンプルは7番目のサンプルであってよい。
4.一例で、k番目のサンプルは8番目のサンプルであってよい。
iii.一例で、関数は、32ルーマサンプルごとのk番目のクロマサンプルのクロマQPに基づき得る。
1.一例で、k番目のサンプルは最初のサンプルであってよい。
2.一例で、k番目のサンプルは最後のサンプルであってよい。
3.一例で、k番目のサンプルは15番目のサンプルであってよい。
4.一例で、k番目のサンプルは16番目のサンプルであってよい。
iv.一例で、関数は、64ルーマサンプルごとのk番目のクロマサンプルのクロマQPに基づき得る。
1.一例で、k番目のサンプルは最初のサンプルであってよい。
2.一例で、k番目のサンプルは最後のサンプルであってよい。
3.一例で、k番目のサンプルは31番目のサンプルであってよい。
4.一例で、k番目のサンプルは32番目のサンプルであってよい。
v.一例で、関数は、CTUごとのk番目のクロマサンプルのクロマQPに基づき得る。
y.代替的に、上記の項目は、デブロッキングプロセスのためのQサイドでのクロマQPに適用されてもよい。
32.クロマ成分のQPがピクチャの左上に対して(4×m×x,2y)から始まる長さ4×mを有するクロマ行セグメントについて同じであり得ることが制約されてよい。このとき、x及びyは非負整数であり、mは正の整数である。
z.一例で、mは1に等しくてよい。
aa.一例で、クロマ成分の量子化グループの幅は、4×m以上であるべきである。
33.クロマ成分のQPがピクチャの左上に対して(2×x,4×n×y)から始まる長さ4×nを有するクロマ列セグメントについて同じであり得ることが制約されてよい。このとき、x及びyは非負整数であり、nは正の整数である。
bb.一例で、nは1に等しくてよい。
cc.一例で、クロマ成分の量子化グループの高さは、4×n以上であるべきである。
【0097】
クロマデブロッキングフィルタリングプロセスに関して
34.コーディングツールXの利用を制御する第1シンタックス要素は、第2ビデオユニット(例えば、SPS若しくはPPS、又はVPS)で通知された第2シンタックス要素に応じて、第1ビデオユニット(例えば、ピクチャヘッダ)で通知されてよい。
a.一例で、第1シンタックス要素は、コーディングツールXが有効にされることを第2シンタックス要素が示す場合にのみ通知される。
b.一例で、Xは双方向オプティカルフロー(Bi-Directional Optical Flow,BDOF)である。
c.一例で、Xは予測精緻化オプティカルフロー(Prediction Refinement Optical Flow,PROF)である。
d.一例で、Xはデコーダ側動きベクトル精緻化(Decode-side Motion Vector Refinement,DMVR)である。
e.一例で、コーディングツールXの利用の通知は、スライスタイプ(例えば、P又はBスライス、非Iスライス)の条件チェックの下であってよい。
【0098】
クロマデブロッキングフィルタリングプロセスに関して
35.2つのクロマブロックに対するデブロッキングフィルタ決定プロセスは、一度しか呼び出されないよう1つにまとめられてもよく、決定は、2つのクロマブロックに適用される。
b.一例で、デブロッキングフィルタを実行するかどうかの決定は、Cb及びCr成分について同じであってよい。
c.一例で、デブロッキングフィルタが適用されると決定される場合に、より強いデブロッキングフィルタを実行するかどうかの決定は、Cb及びCr成分について同じであってよい。
d.一例で、第2.2.7節で記載される、デブロッキング条件及び強フィルタオン/オフ条件は、一度しかチェックされなくてもよい。しかし、それは、両方のクロマ成分の情報をチェックするよう変更されてもよい。
i.一例で、Cb及びCr成分の傾きの平均は、Cb及びCr成分の両方について上記の決定において使用されてよい。
ii.一例で、クロマのより強いフィルタは、強フィルタ条件がCb及びCr成分の両方について満足される場合にのみ実行されてよい。
1.代替的に、一例で、クロマ弱フィルタは、強フィルタ条件が少なくとも1つのクロマ成分で満足されない場合にのみ実行されてよい。
【0099】
概略
36.上記の提案される方法は、特定の条件の下で適用されてよい。
a.一例で、条件は、色フォーマットが4:2:0及び/又は4:2:2であることである。
i.代替的に、更に、4:4:4色フォーマットについては、2つの色クロマ成分にデブロッキングフィルタを適用する方法は、現在の設計に従ってよい。
b.一例で、上記の方法の利用の指示は、SPS/PPS/ピクチャヘッダ/スライスヘッダのようなシーケンス/ピクチャ/スライス/タイル/ブリック/ビデオ領域レベルで通知されてよい。
c.一例で、上記の方法の利用は、次のものに依存してよい:
i.ビデオコンテンツ(例えば、スクリーンコンテンツ又は自然コンテンツ)
ii.DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/最大コーディングユニット(LCU)/コーディングユニット(CU)/LCU行/LCUのグループ/TU/PUブロック/ビデオコーディングユニットで通知されたメッセージ
iii.CU/PU/TU/ブロック/ビデオコーディングユニットの位置
a.一例で、CTU/CTB境界に沿ったサンプル(例えば、上/左/右/下境界にある最初のK個(例えば、K=4/8))をフィルタリングするために、既存の設計が適用されてよい。一方で、他のサンプルについては、提案される方法(例えば、ビュレット3/4)が代わりに適用されてよい。
v.エッジ沿いのサンプルを含むブロックのコーディングモード
vi.エッジ沿いのサンプルを含むブロックに適用された変換行列
vii.現在のブロック及び/又はその隣接ブロックのブロック寸法
viii.現在のブロック及び/又はそれの隣接ブロックのブロック形状
ix.色フォーマット(例えば、4:2:0、4:4:4、RGB又はYUV)の指示
x.コーディングツリー構造(例えば、デュアルツリー又はシングルツリー)
xi.スライス/タイルグループタイプ及び/又はピクチャタイプ
xii.色成分(例えば、Cb又はCrにしか適用されなくてもよい)
xiii.時間レイヤID
xiv.標準規格のプロファイル/レベル/ティア
xv.代替的に、m及び/又はnはデコーダへ通知されてもよい。
【0100】
[5. 追加の実施形態]
新たに加えられたテキストは、下線付きの太字イタリック体で示される。削除されたテキストは、[[]]によってマークされる。
【0101】
[5.1. デブロッキングにおけるクロマQPに関する実施形態#1]
【表6】
【0102】
[5.2. 境界強さの導出に関する実施形態#2]
【表7】
【0103】
[5.3. 境界強さの導出に関する実施形態#3]
【表8】
【0104】
[5.4. ルーマデブロッキングフィルタリングプロセスに関する実施形態#4]
【表9】
【0105】
[5.5. クロマデブロッキングフィルタリングプロセスに関する実施形態#5]
【表10】
【0106】
[5.6. デブロッキングにおけるクロマQPに関する実施形態#6]
【表11】
【0107】
[5.7. デブロッキングにおけるクロマQPに関する実施形態#7]
【表12】
【0108】
[5.8. デブロッキングにおけるクロマQPに関する実施形態#8]
表されている3つのサンプル(実線円)についてフィルタ決定を行うとき、3つのサンプルを含むクロマCUの中心位置をカバーするルーマCUのQPが選択される。従って、第1、第2及び第3のクロマサンプル(
図11を参照)について、夫々、CU
Y3のQPのみが利用される。
【0109】
このようにして、クロマ量子化/逆量子化プロセスのためのルーマCUを選択する方法は、クロマフィルタ決定プロセスのためのそれと整列される。
【0110】
[5.9. JCCRコーディングされたブロックに使用されるQPに関する実施形態#9]
【表13】
【0111】
[5.10. JCCRコーディングされたブロックに使用されるQPに関する実施形態#10]
【表14】
【0112】
【0113】
【0114】
[6. 開示される技術の実施例]
図12は、ビデオ処理装置1200のブロック図である。装置1200は、本明細書で記載されている方法の1つ以上を実装するために使用され得る。装置1200は、スマートフォン、タブレット、コンピュータ、インターネット・オブ・シングス(IoT)レシーバ、などで具現されてもよい。装置1200は、1つ以上のプロセッサ1202、1つ以上のメモリ1204、及びビデオ処理ハードウェア1206を含み得る。プロセッサ1202は、本明細書で記載される1つ以上の方法を実装するよう構成され得る。メモリ(複数のメモリ)1204は、本明細書で記載される方法及び技術を実装するために使用されるデータ及びコードを記憶するために使用され得る。ビデオ処理ハードウェア1206は、ハードウェア回路において、本明細書で記載されるいくつかの技術を実装するために使用され得る。いくつかの実施形態において、ビデオ処理ハードウェア1206は、部分的に又は完全にプロセッサ1202(例えば、グラフィクスプロセッサコアGPU又は他の信号処理回路)の部分であってよい。
【0115】
本明細書中、「ビデオ処理」という用語は、ビデオ符号化、ビデオ復号化、ビデオ圧縮又はビデオ圧縮解除を指し得る。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から、対応するビットストリーム表現への変換中に、又はその逆も同様に、適用されてもよい。現在のビデオブロックのビットストリーム表現は、例えば、シンタックスによって定義されるような、ビットストリーム内で同一位置にあるか又は異なった場所に広がっているかのどちらかであるビットに対応してもよい。例えば、マクロブロックは、変換及びコーディングされた誤差残余値に関して、更には、ビットストリーム内のヘッダ及び他のフィールドにおけるビットを用いて、符号化されてよい。
【0116】
開示されている方法及び技術は、本明細書で開示される技術の使用を許すことによって、スマートフォン、ラップトップ、デスクトップ、及び類似したデバイスのようなビデオ処理デバイス内に組み込まれたビデオエンコーダ及び/又はデコーダ実施形態のためになることが理解されるだろう。
【0117】
図13は、ビデオ処理の例示的な方法1300のフローチャートである。方法は、1310で、ビデオユニットとビデオユニットのビットストリーム表現との間の変換を実行するステップを含み、変換中に、デブロッキングフィルタがビデオユニットの境界に対して使用され、それにより、クロマ量子化パラメータ(QP)テーブルがデブロッキングフィルタのパラメータを導出するために使用されるときに、クロマQPテーブルによる処理が個々のクロマQP値に対して実行されるようにする。
【0118】
いくつかの実施形態は、次の箇条書き形式で記載され得る。
【0119】
(付記1)
ビデオ処理の方法であって、
ビデオユニットと該ビデオユニットのビットストリーム表現との間の変換を行うステップを有し、
前記変換中に、デブロッキングフィルタが前記ビデオユニットの境界に対して使用され、それにより、クロマ量子化パラメータ(QP)テーブルが前記デブロッキングフィルタのパラメータを導出するために使用されるときに、前記クロマQPテーブルによる処理が個々のクロマQP値に対して実行されるようにする、
方法。
【0120】
(付記2)
クロマQPオフセットが、前記クロマQPテーブルによる処理に続いて前記個々のクロマQP値に加えられる、
付記1に記載の方法。
【0121】
(付記3)
クロマQPオフセットが、前記クロマQPテーブルによって出力された値に加えられる、
付記1又は2に記載の方法。
【0122】
(付記4)
クロマQPオフセットは、前記クロマQPテーブルへの入力と見なされない、
付記1又は2に記載の方法。
【0123】
(付記5)
前記クロマQPオフセットは、ピクチャレベルに又はビデオユニットレベルにある、
請求項2に記載の方法。
【0124】
(付記6)
ビデオ処理の方法であって、
ビデオユニットと該ビデオユニットのビットストリーム表現との間の変換を行うステップを有し、
前記変換中に、デブロッキングフィルタが前記ビデオユニットの境界に対して使用され、それにより、クロマQPオフセットが前記デブロッキングフィルタで使用されるようにし、
前記クロマQPオフセットは、ピクチャ/スライス/タイル/ブリック/サブピクチャレベルにある、
方法。
【0125】
(付記7)
前記デブロッキングフィルタで使用される前記クロマQPオフセットは、前記ビデオユニットの境界に適用されるコーディング方法に関連する、
付記6に記載の方法。
【0126】
(付記8)
前記コーディング方法は、JCCR(Joint Coding of Chrominance Residuals)方法である、
付記7に記載の方法。
【0127】
(付記9)
ビデオ処理の方法であって、
ビデオユニットと該ビデオユニットのビットストリーム表現との間の変換を行うステップを有し、
前記変換中に、デブロッキングフィルタが前記ビデオユニットの境界に対して使用され、それにより、クロマQPオフセットが前記デブロッキングフィルタで使用されるようにし、
同じルーマコーディングユニットに関する情報が、前記デブロッキングフィルタで及びクロマQPオフセットを導出するために使用される、
方法。
【0128】
(付記10)
前記同じルーマコーディングユニットは、前記ビデオユニットの中心位置の対応するルーマサンプルをカバーし、前記ビデオユニットはクロマコーディングユニットである、
付記9に記載の方法。
【0129】
(付記11)
スケーリングプロセスが前記ビデオユニットに適用され、
前記デブロッキングフィルタの1つ以上のパラメータは、前記スケーリングプロセスの量子化/逆量子化パラメータに少なくとも部分的に依存する、
付記9に記載の方法。
【0130】
(付記12)
前記スケーリングプロセスの前記量子化/逆量子化パラメータは、前記クロマQPオフセットを含む、
付記11に記載の方法。
【0131】
(付記13)
前記ビデオユニット内のルーマサンプルはPサイド又はQサイドにある、
付記9乃至12のうちいずれかに記載の方法。
【0132】
(付記14)
前記同じルーマコーディングユニットに関する前記情報は、前記同じルーマコーディングユニットに対するコーディングユニットの相対位置に依存する、
付記13に記載の方法。
【0133】
(付記15)
ビデオ処理の方法であって、
ビデオユニットと該ビデオユニットのビットストリーム表現との間の変換を行うステップを有し、
前記変換中に、デブロッキングフィルタが前記ビデオユニットの境界に対して使用され、それにより、クロマQPオフセットが前記デブロッキングフィルタで使用されるように、
前記クロマQPオフセットの利用を可能にする指示は前記ビットストリーム表現において通知される、
方法。
【0134】
(付記16)
前記指示は、1つ以上のフラグを削除することに応答して条件付きで通知される、
付記15に記載の方法。
【0135】
(付記17)
前記1つ以上のフラグは、JCCR有効化フラグ又はクロマQPオフセット有効化フラグに関する、
付記16に記載の方法。
【0136】
(付記18)
前記指示は、導出に基づき通知される、
付記15に記載の方法。
【0137】
(付記19)
ビデオ処理の方法であって、
ビデオユニットと該ビデオユニットのビットストリーム表現との間の変換を行うステップを有し、
前記変換中に、デブロッキングフィルタが前記ビデオユニットの境界に対して使用され、それにより、クロマQPオフセットが前記デブロッキングフィルタで使用されるようにし、
前記デブロッキングフィルタで使用される前記クロマQPオフセットは、JCCRコーディング方法が前記ビデオユニットの境界に適用されるようと、前記JCCRコーディング方法とは異なった方法が前記ビデオユニットの境界に適用されるようと同じである、
方法。
【0138】
(付記20)
ビデオ処理の方法であって、
ビデオユニットと該ビデオユニットのビットストリーム表現との間の変換を行うステップを有し、
前記変換中に、デブロッキングフィルタが前記ビデオユニットの境界に対して使用され、それにより、クロマQPオフセットが前記デブロッキングフィルタで使用されるようにし、
前記デブロッキングフィルタの境界強さ(BS)は、Pサイド境界での前記ビデオユニットに関連した参照ピクチャ及び/又は動きベクトル(MV)の数を、Qサイドでの前記ビデオユニットに関連した参照ピクチャ及び/又は動きベクトル(MV)の数と比較することなしに、計算される、
方法。
【0139】
(付記21)
前記デブロッキングフィルタは、1つ以上の条件の下で無効にされる、
付記20に記載の方法。
【0140】
(付記22)
前記1つ以上の条件は、動きベクトル(MV)の大きさ又は閾値に関連する、
付記20に記載の方法。
【0141】
(付記23)
前記閾値は、
i.前記ビデオユニットのコンテンツ、
ii.DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/最大コーディングユニット(LCU)/コーディングユニット(CU)/LCU行/LCUのグループ/TU/PUブロック/ビデオコーディングユニットで通知されたメッセージ、
iii.CU/PU/TU/ブロック/ビデオコーディングユニットの位置、
iv.前記境界に沿ったサンプルを含むブロックのコーディングモード、
v.前記境界に沿ったサンプルを含む前記ビデオユニットに適用された変換行列、
vi.前記ビデオユニットの形状又は寸法、
vii.色フォーマットの指示、
viii.コーディングツリー構造、
ix.スライス/タイルグループタイプ及び/又はピクチャタイプ、
x.色成分、
xi.時間レイヤID、又は
xii標準規格のプロファイル/レベル/ティア
のうちの少なくとも1つに関連する、
付記22に記載の方法。
【0142】
(付記24)
異なるQPオフセットが、TSコーディングされたビデオユニット及び非TSコーディングされたビデオユニットについて使用される、
付記20に記載の方法。
【0143】
(付記25)
ルーマフィルタリングステップで使用されるQPが、ルーマブロックのスケーリングプロセスで使用されるQPに関係がある、
付記20に記載の方法。
【0144】
(付記26)
付記1乃至25のうち1つ以上に記載の方法を実装するよう構成されたプロセッサを有するビデオ復号化装置。
【0145】
(付記27)
付記1乃至25のうち1つ以上に記載の方法を実装するよう構成されたプロセッサを有するビデオ符号化装置。
【0146】
(付記28)
コンピュータコードを記憶しているコンピュータプログラム製品であって、
前記コンピュータコードは、プロセッサによって実行される場合に、該プロセッサに、付記1乃至25のいずれかに記載の方法を実装させる、
コンピュータプログラム製品。
【0147】
(付記29)
本明細書に記載される方法、装置、又はシステム。
【0148】
図15は、本開示の技術を利用し得る、例となるビデオコーディングシステム100を表すブロック図である。
【0149】
図15に示されるように、ビデオコーディングシステム100は、発信元デバイス110及び送信先デバイス120を含んでよい。発信元デバイス110は、符号化されたビデオデータを生成し、ビデオ符号化デバイスと呼ばれ得る。送信先デバイス120は、発信元デバイス110によって生成された符号化されたビデオデータを復号することができ、ビデオ復号化デバイスと呼ばれ得る。
【0150】
発信元デバイス110は、ビデオソース112、ビデオエンコーダ114、及び入力/出力(I/O)インターフェース116を含んでよい。
【0151】
ビデオソース112は、ビデオ捕捉デバイスなどのソース、ビデオコンテンツプロバイダからビデオデータを受け取るインターフェース、及び/又はビデオデータを生成するコンピュータグラフィクスシステム、あるいは、そのようなソースの組み合わせを含んでよい。ビデオデータは1つ以上のピクチャを有してもよい。ビデオエンコーダ114は、ビットストリームを生成するようビデオソース112からのビデオデータを符号化する。ビットストリームは、ビデオデータのコーディングされた表現を形成するビットのシーケンスを含んでよい。ビットストリームは、コーディングされたピクチャ及び関連するデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連するデータは、シーケンスパラメータセット、ピクチャパラメータセット、及び他のシンタックス構造を含んでもよい。I/Oインターフェース116は、変調器/復調器(モデム)及び/又は送信器を含んでよい。符号化されたビデオデータは、I/Oインターフェース116を介して送信先デバイス120に対してネットワーク130aを通じて直接に伝送されてよい。符号化されたビデオデータはまた、送信先デバイス120によるアクセスのために記憶媒体/サーバ130bに記憶されてもよい。
【0152】
送信先デバイス120は、I/Oインターフェース126、ビデオデコーダ124、及び表示デバイス122を含んでよい。
【0153】
I/Oインターフェース126は、受信器及び/又はモデムを含んでよい。I/Oインターフェース126は、発信元デバイス110又は記憶媒体/サーバ130bから符号化されたビデオデータを取得してよい。ビデオデコーダ124は、符号化されたビデオデータを復号してよい。表示デバイス122は、復号されたビデオデータをユーザに表示してよい。表示デバイス122は、送信先デバイス120と一体化されてもよく、あるいは、外付け表示デバイスとインターフェース接続するよう構成されて送信先デバイス120の外にあってもよい。
【0154】
ビデオエンコーダ114及びビデオデコーダ124は、HEVC(High Efficiency Video Coding)標準規格、VVC(Versatile Video Coding)標準規格、並びに他の現在の及び/又は更なる標準規格などのビデオ圧縮規格に従って作動してもよい。
【0155】
図16は、ビデオエンコーダ200の例を表すブロックであり、
図15に表されているシステム100のビデオエンコーダ114であってよい。
【0156】
ビデオエンコーダ200は、本開示の技術のいずれか又は全てを実行するよう構成されてよい。
図16の例において、ビデオエンコーダ200は、複数の機能コンポーネントを含む。本開示で記載される技術は、ビデオエンコーダ200の様々なコンポーネントの間で共有されてもよい。いくつかの例において、プロセッサは、本開示で記載される技術のいずれか又は全てを実行するよう構成されてもよい。
【0157】
ビデオエンコーダ200の機能コンポーネントは、パーティションユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピ符号化ユニット214とを含んでよい。
【0158】
他の例において、ビデオエンコーダ200は、より多い、より少ない、又は異なる機能コンポーネントを含んでもよい。例において、予測ユニット202は、イントラブロックコピー(Intra Block Copy,IBC)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが、現在のビデオブロックが位置しているピクチャであるIBCモードで、予測を実行してよい。
【0159】
更に、動き推定ユニット204及び動き補償ユニット205などのいくつかのコンポーネントは、高度に集積されてもよいが、説明のために
図16の例では別々に表されている。
【0160】
パーティションユニット201は、ピクチャを1つ以上のビデオブロックにパーティション化してよい。ビデオエンコーダ200及びビデオデコーダ300は、様々なビデオブロックサイズをサポートしてよい。
【0161】
モード選択ユニット203は、例えば、エラー結果に基づいて、イントラ又はインターのコーディングモードの1つを選択し、結果として得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成する残差生成ユニット207へ、及び参照ピクチャとしての使用のために、符号化されたブロックを再構成する再構成ユニット212へ供給してよい。いくつかの例において、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づくイントラ-インター複合予測(Combination of Intra and Inter Prediction,CIIP)モードを選択してもよい。モード選択ユニット203はまた、インター予測の場合に、ブロックの動きベクトルのための分解能(例えば、サブピクセル又は整数ピクセル精度)を選択してもよい。
【0162】
現在のビデオブロックに対してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームを現在のビデオブロックと比較することによって、現在のビデオブロックの動き情報を生成してもよい。動き補償ユニット205は、動き情報と、現在のビデオブロックに関連したピクチャ以外のバッファ213からのピクチャの復号されたサンプルとに基づいて、現在のビデオブロックの予測されたビデオブロックを決定してもよい。
【0163】
動き推定ユニット204及び動き補償ユニット205は、例えば、現在のビデオブロックがIスライス、Pスライス、又はBスライスであるかどうかに応じて、現在のビデオブロックのために異なる動作を実行してもよい。
【0164】
いくつかの例において、動き推定ユニット204は、現在のビデオブロックのために一方向予測を実行してもよく、動き推定ユニット204は、現在のビデオブロックのための参照ビデオブロックをリスト0又はリスト1の参照ピクチャから探してもよい。動き推定ユニット204は、次いで、参照ビデオブロックを含むリスト0又はリスト1内の参照ピクチャを示す参照インデックスと、現在のビデオブロックと参照ビデオブロックとの間の空間変位を示す動きベクトルとを生成してよい。動き推定ユニット204は、現在のビデオブロックの動き情報として参照インデックス、予測方向インジケータ、及び動きベクトルを出力してもよい。動き補償ユニット205は、現在のビデオブロックの動き情報によって示されている参照ビデオブロックに基づいて、現在のブロックの予測されたビデオブロックを生成してもよい。
【0165】
他の例においては、動き推定ユニット204は、現在のビデオブロックのために双方向予測を実行してもよく、動き推定ユニット204は、現在のビデオブロックのための参照ビデオブロックをリスト0内の参照ピクチャから探してもよく、また、現在のビデオブロックのためのもう1つの参照ビデオブロックをリスト1内の参照ピクチャから探してもよい。動き推定ユニット204は、次いで、参照ビデオブロックを含むリスト0及びリスト1内の参照ピクチャを示す参照インデックスと、参照ビデオブロックと現在のビデオブロックとの間の空間変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在のビデオブロックの動き情報として現在のビデオブロックの参照インデックス及び動きベクトルを出力してもよい。動き補償ユニット205は、現在のビデオブロックの動き情報によって示されている参照ビデオブロックに基づいて、現在のビデオブロックの予測されたビデオブロックを生成してもよい。
【0166】
いくつかの例において、動き推定ユニット204は、デコーダの復号化処理のために動き情報のフルセットを出力してもよい。
【0167】
いくつかの例において、動き推定ユニット204は、現在のビデオの動き情報のフルセットを出力しなくてもよい。むしろ、動き推定ユニット204は、他のビデオブロックの動き情報を参照して現在のビデオブロックの動き情報を通知してもよい。例えば、動き推定ユニット204は、現在のビデオブロックの動き情報が隣接ビデオブロックの動き情報と十分に類似していることを決定してもよい。
【0168】
一例において、動き推定ユニット204は、現在のビデオブロックに関連したシンタックス構造において、現在のビデオブロックが他のビデオブロックと同じ動き情報を有していることをビデオデコーダ300に示す値を示してもよい。
【0169】
他の例においては、動き推定ユニット204は、現在のビデオブロックに関連したシンタックス構造において、他のビデオブロック及び動きベクトル差分(Motion Vector Difference,MVD)を特定してもよい。動きベクトル差分は、現在のビデオブロックの動きベクトルと、特定されているビデオブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、現在のビデオブロックの動きベクトルを決定するために、特定されているビデオブロックの動きベクトル及び動きベクトル差分を使用してもよい。
【0170】
上述されたように、ビデオエンコーダ200は、動きベクトルを予測的に通知してもよい。ビデオエンコーダ200によって実装され得る予測シグナリング技術の2つの例には、アドバンスド動きベクトル予測(Advanced Motion Vector Prediction,AMVP)及びマージモードシグナリングがある。
【0171】
イントラ予測ユニット206は、現在のビデオブロックに対してイントラ予測を実行してもよい。イントラ予測ユニット206が現在のビデオブロックに対してイントラ予測を実行する場合に、イントラ予測ユニット206は、同じピクチャ内の他のビデオブロックの復号されたサンプルに基づいて、現在のビデオブロックの予測データを生成し得る。現在のビデオブロックの予測データは、予測されたビデオブロック及び様々なシンタックス要素を含んでもよい。
【0172】
残差生成ユニット207は、現在のビデオブロックから現在のビデオブロックの予測されたビデオブロックを減じること(例えば、マイナス符号によって示される。)によって、現在のビデオブロックの残差データを生成してもよい。現在のビデオブロックの残差データは、現在のビデオブロック内のサンプルの異なるサンプルコンポーネントに対応する残差ビデオブロックを含んでもよい。
【0173】
他の例においては、例えば、スキップモードで、現在のビデオブロックの残差データは存在しない場合があり、残差生成ユニット207は、減算演算を実行しなくてもよい。
【0174】
変換処理ユニット208は、現在のビデオブロックに関連した残差ビデオブロックに1つ以上の変換を適用することによって、現在のビデオブロックの1つ以上の変換係数ビデオブロックを生成してもよい。
【0175】
変換処理ユニット208が現在のビデオブロックに関連した変換係数ビデオブロックを生成した後、量子化ユニット209は、現在のビデオブロックに関連した1つ以上の量子化パラメータ(QP)値に基づいて、現在のビデオブロックに関連した変換係数ビデオブロックを量子化してもよい。
【0176】
逆量子化ユニット210及び逆変換ユニット211は、変換係数ビデオブロックに各々逆量子化及び逆変換を適用して、変換係数ビデオブロックから残差ビデオブロックを再構成してもよい。再構成ユニット212は、再構成された残差ビデオブロックを、予測ユニット202によって生成された1つ以上の予測されたビデオブロックからの対応するサンプルに加えて、バッファ213での記憶のために、現在のブロックに関連した再構成されたビデオブロックを生成してもよい。
【0177】
再構成ユニット212がビデオブロックを再構成した後、ループフィルタリング動作が、ビデオブロックにおいてビデオブロッキングアーチファクトを低減するよう実行されてもよい。
【0178】
エントロピ符号化ユニット214は、ビデオエンコーダ200の他の機能コンポーネントからデータを受け取ってもよい。エントロピ符号化ユニット214がデータを受け取るとき、エントロピ符号化ユニット214は、エントロピ符号化されたデータを生成し、そのエントロピ符号化されたデータを含むビットストリームを生成するよう、1つ以上のエントロピ符号化動作を実行してもよい。
【0179】
図17は、ビデオデコーダ300の例を表すブロック図であり、
図15で表されているシステム100のビデオデコーダ124であってよい。
【0180】
ビデオデコーダ300は、本開示の技術のいずれか又は全てを実行するよう構成されてよい。
図17の例で、ビデオデコーダ300は、複数の機能コンポーネントを含む。本開示で記載される技術は、ビデオデコーダ300の様々なコンポーネントの間で共有されてもよい。いくつかの例で、プロセッサは、本開示で記載される技術のいずれか又は全てを実行するよう構成されてもよい。
【0181】
図10の例において、ビデオデコーダ300は、エントロピ復号化ユニット301と、動き補償ユニット302と、イントラ予測ユニット303と、逆量子化ユニット304と、逆変換ユニット305と、再構成ユニット306と、バッファ307とを含む。ビデオデコーダ300は、いくつかの例において、ビデオエンコーダ200(
図16)に関して記載された符号化パスとは概して逆の復号化パスを実行してもよい。
【0182】
エントロピ復号化ユニット301は、符号化されたビットストリームを取り出し得る。符号化されたビットストリームは、エントロピコーディングされたビデオデータ(例えば、ビデオデータの符号化されたブロック)を含んでもよい。エントロピ復号化ユニット301は、エントロピコーディングされたビデオデータを復号してよく、エントロピ復号化されたビデオデータから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、及び他の動き情報を含む動き情報を決定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することによって、そのような情報を決定してもよい。
【0183】
動き補償ユニット302は、場合により、補間フィルタに基づく補間を実行して、動き補償されたブロックを生成してもよい。サブピクセル精度で使用される補間フィルタのための識別子は、シンタックス要素に含まれてもよい。
【0184】
動き補償ユニット302は、参照ブロックのサブ整数ピクセルについて補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ200によって使用された補間フィルタを使用してもよい。動き補償ユニット302は、受け取られたシンタックス情報に従って、ビデオエンコーダ200によって使用された補間フィルタを決定し、その補間フィルタを使用して、予測ブロックを生成し得る。
【0185】
動き補償ユニット302は、符号化されたビデオシーケンスのフレーム及び/又はスライスを符号化するために使用されるブロックのサイズと、符号化されたビデオシーケンスのピクチャの各マクロブロックがどのようにパーティション化されるかを記述するパーティション情報と、各インターコーディングされたブロックについての1つ以上の参照フレーム(及び参照フレームリスト)と、符号化されたビデオシーケンスを復号するための他の情報とを決定するために、シンタックス情報のいくつかを使用してもよい。
【0186】
イントラ予測ユニット303は、空間的に隣接するブロックから予測ブロックを形成するよう、例えば、ビットストリームで受け取られたイントラ予測モードを使用してもよい。逆量子化ユニット304は、ビットストリームで供給されてエントロピ復号化ユニット301によって復号された量子化されたビデオブロック係数を逆量子化する、すなわち、量子化解除する。逆変換ユニット305は、逆変換を適用する。
【0187】
再構成ユニット306は、動き補償ユニット302又はイントラ予測ユニット303によって生成された対応する予測ブロックを残差ブロックに加算して、復号されたブロックを形成し得る。望まれる場合には、デブロッキングフィルタも、ブロッキネスアーチファクトを取り除くために、復号されたブロックにフィルタをかけるよう適用されてもよい。浮く号されたビデオブロックは、次いで、バッファ307に格納され、バッファ307は、その後の動き補償/イントラ予測のために参照ブロックを提供し、更には、復号されたビデオを表示デバイスでの提示のために生成する。
【0188】
図18は、本明細書で開示されている様々な技術が実装され得る例示的なビデオ処理システム1800を示すブロック図である。様々な実施は、システム1800のコンポーネントの一部又は全部を含んでよい。システム1800は、ビデオコンテンツを受ける入力部1802を含み得る。ビデオコンテンツは、生の又は圧縮されていないフォーマット、例えば、8又は10ビットのマルチコンポーネントピクセル値で受け取られてもよく、あるいは、圧縮又は符号化されたフォーマットであってもよい。入力部1802は、ネットワークインターフェース、ペリフェラルバスインターフェース、又はストレージインターフェースに相当してもよい。ネットワークインターフェースの例には、Ethernet(登録商標)、受動光ネットワーク(PON)などのような有線インターフェース、及びWi-Fi又はセルラーネットワークなどの無線インターフェースが含まれる。
【0189】
システム1800は、本明細書で記載されている様々なコーディング又は符号化方法を実装し得るコーディングコンポーネント1804を含んでもよい。コーディングコンポーネント1804は、ビデオのコーディングされた表現を生成するよう、入力部1802からコーディングコンポーネント1804の出力部へのビデオの平均ビットレートを低減し得る。コーディング技術は、従って、ビデオ圧縮又はビデオトランスコーディング技術と時々呼ばれる。コーディングコンポーネント1804の出力は、コンポーネント1806によって表されるように、保存されても、あるいは、接続された通信を介して伝送されてもよい。入力部1802で受け取られたビデオの保存又は通信されたビットストリーム(又はコーディングされた)表現は、ピクセル値又は表示インターフェース1810へ送られる表示可能なビデオを生成するためのコンポーネント1808によって使用されてもよい。ユーザが見ることができるビデオをビットストリーム表現から生成するプロセスは、ビデオ圧縮解除と時々呼ばれる。更に、特定のビデオ処理動作が「コーディング」動作又はツールと呼ばれる一方で、そのようなコーディングツール又は動作はエンコーダで使用され、コーディングの結果を入れ替える対応する復号化ツール又は動作は、デコーダによって実行されることになることが理解されるだろう。
【0190】
ペリフェラルバスインターフェース又は表示インターフェースの例には、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインターフェース(HDMI(登録商標))又はDisplayport(登録商標)などが含まれ得る。ストレージインターフェースの例には、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース、などがある。本明細書で説明されている技術は、携帯電話機、ラップトップ、スマートフォン、あるいは、デジタルデータ処理及び/又はビデオ表示を実行する能力がある他のデバイスなどの様々な電子デバイスで具現されてもよい。
【0191】
図19は、本技術に従うビデオ処理のための方法1900のフローチャート表現である。方法1900は、動作1910で、ビデオのクロマブロックとビデオのビットストリーム表現との間の変換のために、クロマブロックのクロマ残差の共同コーディングのモードに基づき、クロマブロックのエッジにある少なくとも一部のサンプルに対するデブロッキングフィルタプロセスの適用可能性を決定するステップを含む。方法1900はまた、動作1920で、決定に基づき変換を実行するステップを含む。
【0192】
いくつかの実施形態において、クロマ残差の共同コーディングのモードを示す値は2に等しい。いくつかの実施形態において、デブロッキングフィルタプロセスは、ビデオユニットレベルで1つ以上の量子化パラメータオフセットを更に使用し、ビデオユニットはピクチャ、スライス、タイル、ブリック、又はサブピクチャを含む。
【0193】
図20は、本技術に従うビデオ処理のための方法2000のフローチャート表現である。方法2000は、動作2110で、ビデオの現在のブロックとビデオのビットストリーム表現との間の変換のために、現在のブロックの対応する変換ブロックの情報に基づき、現在のブロックのエッジにある少なくとも一部のサンプルに適用されるデブロッキングフィルタプロセスで使用されるクロマ量子化パラメータを決定するステップを含む。方法2000はまた、動作2120で、決定に基づき変換を実行するステップを含む。
【0194】
いくつかの実施形態において、クロマ量子化パラメータは、現在のブロックのエッジの第1サイド沿いのサンプルをデブロッキングするために使用され、クロマ量子化パラメータは、第1サイドにある変換ブロックのモードに基づく。いくつかの実施形態において、第1サイドはPサイドと呼ばれ、Pサイドは、エッジが水平境界である場合には、エッジの上に位置しているサンプルを含み、あるいは、エッジが垂直境界である場合には、エッジの左に位置しているサンプルを含む。いくつかの実施形態において、クロマ量子化パラメータは、現在のブロックのエッジの第2サイド沿いのサンプルをデブロッキングするために使用され、クロマ量子化パラメータは、第2サイドにある前記変換ブロックのモードに基づく。いくつかの実施形態において、第2サイドはQサイドと呼ばれ、Qサイドは、エッジが水平境界である場合には、エッジの下に位置しているサンプルを含み、あるいは、エッジが垂直境界である場合には、エッジの右に位置しているサンプルを含む。
【0195】
いくつかの実施形態において、クロマ量子化パラメータは、クロマ残差の共同コーディングのモードが適用されるかどうかに基づき決定される。いくつかの実施形態において、クロマ量子化パラメータは、クロマ残差の共同コーディングのモードが2に等しいかどうかに基づき決定される。
【0196】
図21は、本技術に従うビデオ処理のための方法2100のフローチャート表現である。方法2100は、動作2110で、ビデオの現在のブロックとビデオのビットストリーム表現との間の変換を実行するステップを含む。変換中に、現在のブロックのエッジに沿った少なくとも一部のサンプルに適用されるデブロッキングフィルタプロセスで使用される第1クロマ量子化パラメータは、スケーリングプロセスで使用される第2クロマ量子化パラメータと、ビットデプスに関連した量子化パラメータオフセットとに基づく。
【0197】
いくつかの実施形態において、第1クロマ量子化パラメータは、スケーリングプロセスで使用される第2クロマ量子化パラメータから、ビットデプスに関連した量子化パラメータオフセットをマイナスしたものに等しい。いくつかの実施形態において、第1クロマ量子化パラメータは、現在のブロックのエッジの第1サイド沿いのサンプルをデブロッキングするために使用される。いくつかの実施形態において、第1サイドはPサイドと呼ばれ、Pサイドは、エッジが水平境界である場合には、エッジの上に位置しているサンプルを含み、あるいは、エッジが垂直境界である場合には、エッジの左に位置しているサンプルを含む。いくつかの実施形態において、第1クロマ量子化パラメータは、現在のブロックのエッジの第2サイド沿いのサンプルをデブロッキングするために使用される。いくつかの実施形態において、第2サイドはQサイドと呼ばれ、Qサイドは、エッジが水平境界である場合には、エッジの下に位置しているサンプルを含み、あるいは、エッジが垂直境界である場合には、エッジの右に位置しているサンプルを含む。
【0198】
いくつかの実施形態において、第1クロマ量子化パラメータは、スケーリングプロセスで使用されるクロマ残差の共同コーディングのための第2クロマ量子化パラメータから、ビットデプスに関連した前記量子化パラメータオフセットをマイナスしたものに等しい。いくつかの実施形態において、第1クロマ量子化パラメータは、スケーリングプロセスで使用されるクロマCb成分のための第2クロマ量子化パラメータから、ビットデプスに関連した量子化パラメータオフセットをマイナスしたものに等しい。いくつかの実施形態において、第1クロマ量子化パラメータは、スケーリングプロセスで使用されるクロマCr成分のための第2クロマ量子化パラメータから、ビットデプスに関連した量子化パラメータオフセットをマイナスしたものに等しい。
【0199】
図22は、本技術に従うビデオ処理の方法2200のフローチャート表現である。方法2200は、動作2210で、1つ以上のコーディングユニットを含むビデオとビデオのビットストリーム表現との間の変換を実行するステップを含む。ビットストリーム表現は、クロマ量子化パラメータがフォーマット規則に従ってコーディングユニットレベル又は変換ユニットレベルでビットストリーム表現に含まれることを指定するフォーマット規則に従う。
【0200】
いくつかの実施形態において、フォーマット規則は、コーディングユニットのサイズが仮想パイプラインデータユニットよりも大きい場合に、クロマ量子化パラメータがコーディングユニットレベルで含まれることを指定する。いくつかの実施形態において、フォーマット規則は、コーディングユニットのサイズが仮想パイプラインデータユニット以上である場合に、クロマ量子化パラメータが変換ユニットレベルで含まれることを指定する。いくつかの実施形態において、フォーマット規則は、コーディングユニットのサイズが最大変換ブロックサイズよりも大きい場合に、クロマ量子化パラメータがコーディングユニットレベルで含まれることを指定する。いくつかの実施形態において、フォーマット規則は、コーディングユニットのサイズが最大変換ブロックサイズ以上である場合に、クロマ量子化パラメータが変化乳ニットレベルで含まれることを指定する。いくつかの実施形態において、フォーマット規則は、クロマ残差の共同コーディングモードが1つ以上のコーディングユニットのうちの第1コーディングユニットに適用されるかどうかがコーディングユニットレベルで示されることを更に指定する。いくつかの実施形態において、第1コーディングユニット内の変換ブロックは、クロマ残差の共同コーディングのモードが第1コーディングユニットのレベルで適用可能であるかどうかに関する情報を引き継ぐ。
【0201】
図23は、本技術に従うビデオ処理の方法2300のフローチャート表現である。方法2300は、動作2310で、ビデオのブロックとビデオのビットストリーム表現との間の変換を実行するステップを含む。ビットストリーム表現は、クロマ残差の共同コーディングのモードがブロックに適用可能であるかどうかがビットストリーム表現においてコーディングユニットレベルで示されることを指定するフォーマット規則に従う。
【0202】
いくつかの実施形態において、変換中に、コーディングユニット内の変換ブロックは、クロマ残差の共同コーディングのモードがコーディングユニットのレベルで適用可能であるかどうかに関する情報を引き継ぐ。
【0203】
いくつかの実施形態において、変換は、ビデオをビットストリーム表現に符号化することを含む。いくつかの実施形態において、変換は、ビットストリーム表現をビデオに復号することを含む。
【0204】
開示されている技術のいくつかの実施形態は、ビデオ処理ツール又はモードを有効にするとの決定又は判断を行うことを含む。例において、ビデオ処理ツール又はモードが有効にされる場合に、エンコーダは、ビデオのブロックの処理においてそのツール又はモードを使用又は実装することになるが、ツール又はモードの使用に基づき、必ずしも、結果として得られるビットストリームを変更しなくてもよい。つまり、ビデオのブロックからビデオのビットストリーム表現への変換は、ビデオ処理ツール又はモードが決定又は判断に基づき有効にされる場合にそのツール又はモードを使用することになる。他の例においては、ビデオ処理ツール又はモードが有効にされる場合に、デコーダは、ビットストリームがそのビデオ処理ツール又はモードに基づき変更されていると知った上で、ビットストリームを処理することになる。つまり、ビデオのビットストリーム表現からビデオのブロックへの変換は、決定又は判断に基づき有効にされたビデオ処理ツール又はモードを用いて実行されることになる。
【0205】
開示されている技術のいくつかの実施形態は、ビデオ処理ツール又はモードを無効にするとの決定又は判断を行うことを含む。例において、ビデオ処理ツール又はモードが無効にされる場合に、エンコーダは、ビデオのブロックからビデオのビットストリーム表現への変換においてそのツール又はモードを使用しない。他の例においては、ビデオ処理ツール又はモードが無効にされる場合に、デコーダは、決定又は判断に基づき無効にされたビデオ処理ツール又はモードを用いてビットストリームは変更されていないと知った上で、ビットストリームを処理することになる。
【0206】
本明細書中で記載されている開示された及び他の解決法、例、実施形態、モジュール及び機能動作は、デジタル電子回路で、あるいは、本明細書で開示されている構造及びそれらの構造的な同等物を含むコンピュータソフトウェア、ファームウェア、又はハードウェアで、あるいは、それらのうちの1つ以上の組み合わせで実装可能である。開示された及び他の実施形態は、1つ以上のコンピュータプログラム製品、つまり、データ処理装置によって実行されるか又はその動作を制御するためにコンピュータ可読媒体で符号化されたコンピュータプログラム命令の1つ以上のモジュール、として実装可能である。コンピュータ可読媒体は、マシン可読記憶デバイス、マシン可読記憶基板、メモリデバイス、マシン可読な伝播信号に影響を与える物質の組成、又はそれらの1つ以上の組み合わせであることができる。「データ処理装置」との用語は、例として、プログラム可能なプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む、データを処理するための全ての装置、デバイス、及びマシンを包含する。装置は、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサハードウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成された信号、例えば、マシンにより生成された電気的、光学的、又は電磁気信号であり、適切なレシーバ装置へ伝送のために情報を符号化するよう生成される。
【0207】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる。)は、コンパイル済み又は解釈済みの言語を含む如何なる形式のプログラミング言語でも記述可能であり、それは、スタンドアロンプログラムとして又はコンピューティング環境における使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとしてを含め、如何なる形式でもデプロイ可能である。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するわけではない。プログラムは、問題となっているプログラムに専用の単一のファイルで、又は複数の協調したファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を保存するファイル)で、他のプログラム又はデータ(例えば、マークアップ言語文書で保存された1つ以上のスクリプト)を保持するファイルの部分において保存可能である。コンピュータプログラムは、1つのコンピュータで、あるいは、1つの場所に位置しているか、又は複数の場所にわたって分布しており、通信ネットワークによって相互接続されている複数のコンピュータで実行されるようデプロイ可能である。
【0208】
本明細書で説明されているプロセス及びロジックフローは、入力データに作用して出力を生成することによって機能を実行するよう1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行可能である。プロセス及びロジックフローはまた、専用のロジック回路、例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)又は特定用途向け集積回路(ASIC)によっても実行可能であり、装置は、そのようなものとして実装可能である。
【0209】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用のマイクロプロセッサ及び専用のマイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般に、プロセッサは、リード・オンリー・メモリ若しくはランダム・アクセス・メモリ又はその両方から命令及びデータを読み出すことになる。コンピュータの必須の要素は、命令を実行するプロセッサと、命令及びデータを保存する1つ以上のメモリデバイスとである。一般に、コンピュータはまた、データを保存する1つ以上の大容量記憶デバイス、例えば、磁気、光学磁気ディスク、又は光ディスクを含むか、あるいは、そのような1つ以上の大容量記憶デバイスからのデータの受信若しくはそれへのデータの転送又はその両方のために動作可能に結合されることになる。しかし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを保存するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイス;磁気ディスク、例えば、内蔵ハードディスク又はリムーバブルディスク;光学磁気ディスク;並びにCD ROM及びDVD-ROMディスクを含む全ての形式の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用のロジック回路によって強化されるか、あるいは、それに組み込まれ得る。
【0210】
本明細書は、多数の詳細を含むが、それらは、あらゆる対象の又は請求される可能性があるものの範囲に対する限定としてではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別々の実施形態に関連して本明細書で説明されている特定の特徴は、単一の実施形態と組み合わせても実装可能である。逆に、単一の実施形態に関連して説明されている様々な特徴はまた、複数の実施形態で別々に、又は何らかの適切なサブコンビネーションで実装可能である。更に、特徴は、特定の組み合わせで動作するものとして先に説明され、更には、そのようなものとして最初に請求されることがあるが、請求されている組み合わせからの1つ以上の特徴は、いくつかの場合に、その組み合わせから削除可能であり、請求されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてもよい。
【0211】
同様に、動作は、特定の順序で図面において表されているが、これは、所望の結果を達成するために、そのような動作が示されているその特定の順序で又は順次的な順序で実行されること、あるいは、表されている全ての動作が実行されることを求めている、と理解されるべきではない。更に、本明細書で説明されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態でそのような分離を求めている、と理解されるべきではない。
【0212】
ほんのわずかの実施及び例が説明されており、他の実施、強化及び変形は、本特許文献で記載及び例示されているものに基づいて行われ得る。
【0213】
[関連出願への相互参照]
本願は、2019年10月14日付けで出願された国際特許出願第PCT/CN2019/111115号の優先権及び利益を請求して2020年10月13日付けで出願された国際特許出願第PCT/US2020/055332号に基づくものである。上記の全ての特許出願は、それらの全文を参照により本願に援用される。