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

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

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

特許7323711ビデオコーディングにおける適応ループフィルタの二部分シグナリング
<>
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図1
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図2
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図3
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図4
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図5
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図6
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図7
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図8
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図9
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図10
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図11
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図12
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図13
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図14
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図15
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図16
  • 特許-ビデオコーディングにおける適応ループフィルタの二部分シグナリング 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-31
(45)【発行日】2023-08-08
(54)【発明の名称】ビデオコーディングにおける適応ループフィルタの二部分シグナリング
(51)【国際特許分類】
   H04N 19/82 20140101AFI20230801BHJP
   H04N 19/70 20140101ALI20230801BHJP
【FI】
H04N19/82
H04N19/70
【請求項の数】 14
(21)【出願番号】P 2022517344
(86)(22)【出願日】2020-09-18
(65)【公表番号】
(43)【公表日】2022-11-17
(86)【国際出願番号】 CN2020116086
(87)【国際公開番号】W WO2021052453
(87)【国際公開日】2021-03-25
【審査請求日】2022-03-23
(31)【優先権主張番号】PCT/CN2019/106420
(32)【優先日】2019-09-18
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(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.43,45-46,50-54,57-58,104-109,120-129,131-132,337-339,374,385
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビデオデータを処理する方法であって、
ビデオのカレント領域のカレントブロックと前記ビデオのビットストリームとの間のコンバージョンを実行するステップであり、前記コンバージョンは、前記カレントブロックに適応ループフィルタを使用することを含み、前記ビットストリームは、
複数のシンタックス要素のうちの第1のシンタックス要素であり、前記第1のシンタックス要素はalf_use_aps_flagであり、前記第1のシンタックス要素は、前記カレントブロックに固定フィルタセットが適用されるか適応パラメータセット(APS)からのフィルタセットが適用されるかを示す第1のシンタックス要素と、
前記複数のシンタックス要素のうちの第2のシンタックス要素であり、前記第2のシンタックス要素はalf_luma_prev_filter_idxであり、前記第2のシンタックス要素は、前記APSからの前記フィルタセットのインデックスを示す第2のシンタックス要素と、
前記複数のシンタックス要素のうちの第3のシンタックス要素であり、前記第3のシンタックス要素はalf_luma_fixed_filter_idxであり、前記第3のシンタックス要素は、前記固定フィルタセットのインデックスを示す、第3のシンタックス要素と、
を含む前記複数のシンタックス要素を使用して前記適応ループフィルタを示すように構成される、ステップを含み、
前記ビットストリームは、スライスヘッダ内の第4のシンタックス要素を含み、前記第4のシンタックス要素はnum_alf_aps_ids_lumaであり、前記第4のシンタックス要素は、前記カレント領域に使用される適応ループフィルタAPSの数を示
前記スライスヘッダ内の前記第4のシンタックス要素の値が1より大きいとき、前記第1のシンタックス要素が前記ビットストリームに含まれ、前記スライスヘッダ内の前記第4のシンタックス要素の前記値が1に等しいとき、前記第1のシンタックス要素が前記ビットストリームに含まれ、
前記第1のシンタックス要素の値が1に等しく、前記スライスヘッダ内の前記第4のシンタックス要素の前記値が1より大きいとき、前記APSからの前記フィルタセットの前記インデックスを示す前記第2のシンタックス要素が前記ビットストリームに含まれ、
前記第1のシンタックス要素の前記値がゼロに等しいとき、前記第3のシンタックス要素が前記ビットストリームに含まれる、方法。
【請求項2】
前記第1のシンタックス要素がゼロであることは、前記固定フィルタセットが前記カレントブロックに適用されることを示す、請求項1に記載の方法。
【請求項3】
前記第1のシンタックス要素が1であることは、前記APSからの前記フィルタセットが前記カレントブロックに適用されることを示す、請求項1に記載の方法。
【請求項4】
前記ビットストリームは、前記スライスヘッダ内の前記第4のシンタックス要素の前記値がゼロに等しいことに応答して前記第1のシンタックス要素を除外し、前記第1のシンタックス要素は、前記固定フィルタセットが前記カレントブロックに適用されることを示すように推論される、請求項1に記載の方法。
【請求項5】
前記スライスヘッダ内の前記第4のシンタックス要素の前記値が1に等しいことに応答して、前記APSからの前記フィルタセットの前記インデックスを示す前記第2のシンタックス要素は前記ビットストリームから除外される、請求項に記載の方法。
【請求項6】
前記カレント領域はスライスである、請求項1乃至のうちいずれか1項に記載の方法。
【請求項7】
前記APSからの前記フィルタセットの前記インデックスを示す前記第2のシンタックス要素は、トランケーテッドバイナリ方法でコーディングされる、請求項1乃至及びのうちいずれか1項に記載の方法。
【請求項8】
前記APSからの前記フィルタセットの前記インデックスを示す前記第2のシンタックス要素の最大値は、前記カレント領域に対する許容ALF APSの数からKを引いた値に設定され、K=1である、請求項1乃至及び乃至のうちいずれか1項に記載の方法。
【請求項9】
前記APSからの前記フィルタセットの前記インデックスを示す前記第2のシンタックス要素の二値化されたbinストリングの全てのbinがバイパスコーディングされる、請求項1乃至及び乃至のうちいずれか1項に記載の方法。
【請求項10】
前記コンバージョンは、前記ビデオを前記ビットストリームにエンコードすることを含む、請求項1乃至のうちいずれか1項に記載の方法。
【請求項11】
前記コンバージョンは、前記ビットストリームから前記ビデオをデコードすることを含む、請求項1乃至のうちいずれか1項に記載の方法。
【請求項12】
プロセッサと、命令を有する非一時的メモリとを含む、ビデオデータを処理する装置であって、前記命令は、前記プロセッサにより実行されると、前記プロセッサに、
ビデオのカレント領域のカレントブロックと前記ビデオのビットストリームとの間のコンバージョンを実行し、前記コンバージョンは、前記カレントブロックに適応ループフィルタを使用することを含み、前記ビットストリームは、
複数のシンタックス要素のうちの第1のシンタックス要素であり、前記第1のシンタックス要素はalf_use_aps_flagであり、前記第1のシンタックス要素は、前記カレントブロックに固定フィルタセットが適用されるか適応パラメータセット(APS)からのフィルタセットが適用されるかを示す第1のシンタックス要素と、
前記複数のシンタックス要素のうちの第2のシンタックス要素であり、前記第2のシンタックス要素はalf_luma_prev_filter_idxであり、前記第2のシンタックス要素は、前記APSからの前記フィルタセットのインデックスを示す第2のシンタックス要素と、
前記複数のシンタックス要素のうちの第3のシンタックス要素であり、前記第3のシンタックス要素はalf_luma_fixed_filter_idxであり、前記第3のシンタックス要素は、前記固定フィルタセットのインデックスを示す、第3のシンタックス要素と、
を含む前記複数のシンタックス要素を使用して前記適応ループフィルタを示すように構成される、ことをさせ、
前記ビットストリームは、スライスヘッダ内の第4のシンタックス要素を含み、前記第4のシンタックス要素はnum_alf_aps_ids_lumaであり、前記第4のシンタックス要素は、前記カレント領域に使用される適応ループフィルタAPSの数を示
前記スライスヘッダ内の前記第4のシンタックス要素の値が1より大きいとき、前記第1のシンタックス要素が前記ビットストリームに含まれ、前記スライスヘッダ内の前記第4のシンタックス要素の前記値が1に等しいとき、前記第1のシンタックス要素が前記ビットストリームに含まれ
前記第1のシンタックス要素の値が1に等しく、前記スライスヘッダ内の前記第4のシンタックス要素の値が1より大きいとき、前記APSからの前記フィルタセットの前記インデックスを示す前記第2のシンタックス要素が前記ビットストリームに含まれ、
前記第1のシンタックス要素の前記値がゼロに等しいとき、前記第3のシンタックス要素が前記ビットストリームに含まれる、装置。
【請求項13】
命令を記憶する非一時的コンピュータ読取可能記憶媒体であって、前記命令は、プロセッサに、
ビデオのカレント領域のカレントブロックと前記ビデオのビットストリームとの間のコンバージョンを実行し、前記コンバージョンは、前記カレントブロックに適応ループフィルタを使用することを含み、前記ビットストリームは、
複数のシンタックス要素のうちの第1のシンタックス要素であり、前記第1のシンタックス要素はalf_use_aps_flagであり、前記第1のシンタックス要素は、前記カレントブロックに固定フィルタセットが適用されるか適応パラメータセット(APS)からのフィルタセットが適用されるかを示す第1のシンタックス要素と、
前記複数のシンタックス要素のうちの第2のシンタックス要素であり、前記第2のシンタックス要素はalf_luma_prev_filter_idxであり、前記第2のシンタックス要素は、前記APSからの前記フィルタセットのインデックスを示す第2のシンタックス要素と、
前記複数のシンタックス要素のうちの第3のシンタックス要素であり、前記第3のシンタックス要素はalf_luma_fixed_filter_idxであり、前記第3のシンタックス要素は、前記固定フィルタセットのインデックスを示す、第3のシンタックス要素と、
を含む前記複数のシンタックス要素を使用して前記適応ループフィルタを示すように構成される、ことをさせ、
前記ビットストリームは、スライスヘッダ内の第4のシンタックス要素を含み、前記第4のシンタックス要素はnum_alf_aps_ids_lumaであり、前記第4のシンタックス要素は、前記カレント領域に使用される適応ループフィルタAPSの数を示
前記スライスヘッダ内の前記第4のシンタックス要素の値が1より大きいとき、前記第1のシンタックス要素が前記ビットストリームに含まれ、前記スライスヘッダ内の前記第4のシンタックス要素の前記値が1に等しいとき、前記第1のシンタックス要素が前記ビットストリームに含まれ、
前記第1のシンタックス要素の値が1に等しく、前記スライスヘッダ内の前記第4のシンタックス要素の前記値が1より大きいとき、前記APSからの前記フィルタセットの前記インデックスを示す前記第2のシンタックス要素が前記ビットストリームに含まれ、
前記第1のシンタックス要素の前記値がゼロに等しいとき、前記第3のシンタックス要素が前記ビットストリームに含まれる、非一時的コンピュータ読取可能記憶媒体。
【請求項14】
デオのビットストリームを記憶する方法であって、
前記ビデオのカレント領域のカレントブロックのための前記ビットストリームを生成するステップであり、前記生成することは、前記カレントブロックに適応ループフィルタを使用することを含み、前記ビットストリームは、
複数のシンタックス要素のうちの第1のシンタックス要素であり、前記第1のシンタックス要素はalf_use_aps_flagであり、前記第1のシンタックス要素は、前記カレントブロックに固定フィルタセットが適用されるか適応パラメータセット(APS)からのフィルタセットが適用されるかを示す第1のシンタックス要素と、
前記複数のシンタックス要素のうちの第2のシンタックス要素であり、前記第2のシンタックス要素はalf_luma_prev_filter_idxであり、前記第2のシンタックス要素は、前記APSからの前記フィルタセットのインデックスを示す第2のシンタックス要素と、
前記複数のシンタックス要素のうちの第3のシンタックス要素であり、前記第3のシンタックス要素はalf_luma_fixed_filter_idxであり、前記第3のシンタックス要素は、前記固定フィルタセットのインデックスを示す、第3のシンタックス要素と、
を含む前記複数のシンタックス要素を使用して前記適応ループフィルタを示すように構成される、ステップと、
前記ビットストリームを非一時的コンピュータ読取可能記録媒体に記憶するステップと、
を含み、
前記ビットストリームは、スライスヘッダ内の第4のシンタックス要素を含み、前記第4のシンタックス要素はnum_alf_aps_ids_lumaであり、前記第4のシンタックス要素は、前記カレント領域に使用される適応ループフィルタAPSの数を示
前記スライスヘッダ内の前記第4のシンタックス要素の値が1より大きいとき、前記第1のシンタックス要素が前記ビットストリームに含まれ、前記スライスヘッダ内の前記第4のシンタックス要素の前記値が1に等しいとき、前記第1のシンタックス要素が前記ビットストリームに含まれ、
前記第1のシンタックス要素の値が1に等しく、前記スライスヘッダ内の前記第4のシンタックス要素の前記値が1より大きいとき、前記APSからの前記フィルタセットの前記インデックスを示す前記第2のシンタックス要素が前記ビットストリームに含まれ、
前記第1のシンタックス要素の前記値がゼロに等しいとき、前記第3のシンタックス要素が前記ビットストリームに含まれる、方法
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2020年9月18に出願された国際特許出願第PCT/CN2020/116086号に基づき、該出願は、2019年9月18日に出願された国際特許出願第PCT/CN2019/106420号の優先権及び利益を主張する。全ての前述の特許願がその全体を参照により本明細書に組み込まれる。
【0002】
[技術分野]
本特許文献は、ビデオ符号化及び復号に関する。
【背景技術】
【0003】
ビデオ圧縮の進歩にもかかわらず、デジタルビデオは、依然として、インターネット及び他のデジタル通信ネットワークにおける最大の帯域幅使用を占めている。ビデオを受信し表示することができる接続ユーザデバイスの数が増加すると、デジタルビデオ使用に対する帯域幅需要は増大し続けることが予想される。
【発明の概要】
【0004】
デバイス、システム、及び方法は、デジタルビデオコーディング、特に、適応ループフィルタリングが使用されるビデオ及び画像のコーディング及びデコーディングに関する。
【0005】
一例示的な態様において、ビデオ処理の方法が開示される。当該方法は、ビデオのカレント領域(current region)とビデオのビットストリーム表現との間のコンバージョンについて、ルマ適応ループフィルタがコンバージョンの間に使用されるかどうか、及びルマ適応ループフィルタ係数がビットストリーム表現に含まれるかどうかを決定するステップであり、ビットストリーム表現における単一のシンタックス要素が、ルマ適応ループフィルタの使用及びルマ適応ループフィルタ係数のシグナリングを示す、ステップと、決定に基づいて、コンバージョンを実行するステップと、を含む。
【0006】
別の例示的な態様において、ビデオ処理方法が開示される。当該方法は、ビデオのカレント領域とビデオのビットストリーム表現との間のコンバージョンを実行するステップであり、適応ループフィルタがコンバージョンの間に使用され、ビットストリーム表現は、ビットストリーム表現においてシグナリングされる適応ループフィルタの係数がゼロ値の適応ループフィルタ係数を含むことを指定するシンタックスルールに適合する、ステップを含む。
【0007】
さらに別の例示的な態様において、ビデオ処理の方法が開示される。当該方法は、ビデオのカレント領域とビデオのビットストリーム表現との間のコンバージョンについて、ビットストリーム表現においてシグナリングされるビデオの前の領域のゼロ値の適応ループフィルタ係数がコンバージョンに使用されないと決定するステップと、決定に基づいて、コンバージョンを実行するステップと、を含む。
【0008】
さらに別の例示的な態様において、ビデオ処理の方法が開示される。当該方法は、ビデオのカレント領域とビデオのビットストリーム表現との間のコンバージョンを実行するステップであり、ビットストリーム表現は、ループ内フィルタリングがコンバージョンに使用されるかどうかを示すフラグが、ビデオのスライスレベルより小さいカレント領域を含むビデオユニットレベルでビットストリーム表現に含まれることを指定するシンタックスルールに適合する、ステップを含む。
【0009】
さらに別の例示的な態様において、ビデオ処理の方法が開示される。当該方法は、ビデオのカレント領域とビデオのビットストリーム表現との間のコンバージョンを実行するステップであり、コンバージョンは、適応ループフィルタを使用することを含み、ビットストリーム表現は、適応ループフィルタを決定する手法を示す第1の部分と、該手法により使用されるインデックスを示す第2の部分と、を含む二部分シグナリング(two-part signaling)を使用して適応ループフィルタを示すように構成される、ステップを含む。
【0010】
さらに別の例示的な態様において、ビデオ処理の方法が開示される。当該方法は、ビデオのプロパティに基づいて、ビデオのカレント領域とビデオのビットストリーム表現との間のコンバージョンのための共通ループフィルタリング設定を共有するカレント領域のサイズを決定するステップと、決定に基づいて、コンバージョンを実行するステップと、を含む。
【0011】
さらに別の例示的な態様において、ビデオ処理の方法が開示される。当該方法は、ビデオのカレント領域とビデオのビットストリーム表現との間のロスレスコンバージョンを実行ステップであり、ビットストリーム表現は、コンバージョンがロスレスであることに起因してビットストリーム表現におけるカレント領域に関連づけられたシンタックスフィールドの値を制限するシンタックスルールに適合する、ステップを含む。
【0012】
さらに別の例示的な態様において、上述の方法は、プロセッサ実行可能コードの形態で具現化され、コンピュータ読取可能プログラム媒体に記憶される。
【0013】
さらに別の例示的な態様において、上述の方法を実行するように構成され又は動作可能なデバイスが開示される。当該デバイスは、この方法を実施するようにプログラムされたプロセッサを含んでもよい。
【0014】
さらに別の例示的な態様において、ビデオデコーダ装置が、本明細書に記載される方法を実施してもよい。
【0015】
開示される技術の上記及び他の態様及び特徴を、図面、明細書、及び特許請求の範囲でより詳細に説明する。
【図面の簡単な説明】
【0016】
図1】エンコーダブロック図の一例である。
図2】GALFフィルタ形状(左:5×5ダイヤモンド、中央:7×7ダイヤモンド、右:9×9ダイヤモンド)の例を示す。
図3】GALFについてのエンコーダ判断の一実装のフローグラフである。
図4】CE2.6.2についてのサブサンプリングラプラシアン計算の例を示す。左上(a)は垂直勾配のサブサンプリング位置、右上(b)は水平勾配のサブサンプリング位置、左下(c)は対角勾配のサブサンプリング位置、右下(d)は対角勾配のサブサンプリング位置である。
図5】ピクチャのラスタスキャンスライスパーティション化の一例を示し、ピクチャは12個のタイルと3つのラスタスキャンスライスに分割されている。
図6】24個のタイルと9つの矩形スライスにパーティション化された18×12のルマCTUを有するピクチャを示す。
図7】4つのタイル、11個のブリック、及び4つの矩形スライスにパーティション化されたピクチャの一例を示す。
図8】28個のサブピクチャを有するピクチャを示す。
図9】ビデオシステムの一ブロック図である。
図10】ビデオ処理装置の一例のブロック図である。
図11】ビデオ処理の例示的な方法のフローチャートである。
図12】ビデオ処理の例示的な方法のフローチャートである。
図13】ビデオ処理の例示的な方法のフローチャートである。
図14】ビデオ処理の例示的な方法のフローチャートである。
図15】ビデオ処理の例示的な方法のフローチャートである。
図16】ビデオ処理の例示的な方法のフローチャートである。
図17】ビデオ処理の例示的な方法のフローチャートである。
【発明を実施するための形態】
【0017】
開示される技術の実施形態は、圧縮性能を改善するために、既存のビデオコーディング標準(例えば、HEVC、H.265)及び将来の標準に適用され得る。セクション見出しは、本文献において説明の読みやすさを向上させるために使用されており、議論又は実施形態(及び/又は実装)をそれぞれのセクションのみに限定するものではない。
【0018】
1. 要約
本文献は、ビデオコーディング技術に関する。具体的には、これは、ビデオ符号化又は復号における適応ループフィルタに関する。これは、HEVCなどの既存のビデオコーディング標準、又は完成される標準(汎用ビデオコーディング(Versatile Video Coding))に適用され得る。これは、将来のビデオコーディング標準又はビデオコーデックにも適用可能であり得る。
【0019】
2. 最初の議論
ビデオコーディング標準は、主に、周知の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により合同で合同ビデオ探求チーム(Joint Video Exploration Team、JVET)が設立された。それ以来、多くの新しい方法がJVETにより採用され、合同探求モデル(Joint Exploration Model、JEM)と名付けられた参照ソフトウェアに入れられている。2018年4月には、HEVCと比較して50%のビットレート低減を目指すVVC標準に取り組むために、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)との間の合同ビデオエキスパートチーム(Joint Video Expert Team、JVET)が作成された。
【0020】
VVCドラフトの最新バージョン、すなわち、汎用ビデオコーディング(ドラフト6)は、以下で見ることができる。
【0021】
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/15_Gothenburg/wg11/JVET-O2001-v14.zip
【0022】
VTMと名付けられた、VVCの最新の参照ソフトウェアは、以下で見ることができる。
【0023】
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-2.1
【0024】
2.1. 色空間とクロマサブサンプリング
色モデル(又は、表色系)としても知られる色空間は、色の範囲を数字のタプルとして、典型的には3つ若しくは4つの値又は色成分(例えば、RGB)として簡単に記述する、抽象的な数学モデルである。基本的に言えば、色空間は、座標系とサブ空間の精緻化である。
【0025】
ビデオ圧縮では、最も頻繁に使用される色空間は、YCbCrとRGBである。
【0026】
YCbCr、Y’CbCr、又はY Pb/Cb Pr/Crは、YCBCR又はY’CBCRとも書かれ、ビデオ及びデジタル写真システムにおけるカラー画像パイプラインの一部として使用される色空間のファミリである。Y’はルマ成分であり、CBとCRは青色差及び赤色差クロマ成分である。Y’(プライム記号付き)は、輝度であるYと区別され、これは、光強度がガンマ補正されたRGB原色に基づいて非線形にエンコードされることを意味する。
【0027】
クロマサブサンプリングは、ルマ情報についてよりもクロマ情報についてより低い解像度を実現することにより画像をエンコードする実践であり、これは、人間の視覚系が輝度についてよりも色差についてより鋭敏でないことを利用している。
【0028】
2.1.1. 4:4:4
3つのY’CbCr成分の各々が同じサンプルレートを有し、したがって、クロマサブサンプリングはない。このスキームは、ハイエンドのフィルムスキャナ及び映画のポストプロダクションで時に使用される。
【0029】
2.1.2. 4:2:2
2つのクロマ成分がルマのサンプルレートの半分でサンプリングされており、すなわち、水平クロマ解像度は半減されている。これは、圧縮されていないビデオ信号の帯域幅を、ほとんど又は全く視覚的な差がない状態で、3分の1だけ低減させる。
【0030】
2.1.3. 4:2:0
4:2:0では、水平サンプリングは4:1:1と比較して2倍にされているが、Cb及びCrチャネルがこのスキームでは各1つおきのラインでのみサンプリングされるため、垂直解像度が半減される。したがって、データレートは同じである。CbとCrは各々、水平及び垂直の双方で2の倍数でサブサンプリングされる。4:2:0スキームの3つのバリエーションがあり、異なる水平及び垂直の位置づけを有する。
・ MPEG-2では、CbとCrは水平には同位置に位置づけられる(cosited)。CbとCrは、垂直方向では画素間に位置づけられる(隙間に(interstitially)位置づけられる)。
・ JPEG/JFIF、H.261、及びMPEG-1では、CbとCrは1つおきのルマサンプルの中間に、隙間に位置づけられる。
・ 4:2:0DVでは、CbとCrは水平方向では同位置に位置づけられる。垂直方向では、それらは1つおきのライン上で同位置に位置づけられる。
【0031】
2.2. 典型的なビデオコーデックのコーディングフロー
図1は、VVCのエンコーダブロック図の一例を示し、これは、3つのループ内フィルタリングブロック、すなわち、デブロッキングフィルタ(deblocking filter、DF)、サンプル適応オフセット(sample adaptive offset、SAO)、及びALFを含む。予め定義されたフィルタを使用するDFとは異なり、SAO及びALFは、それぞれ、オフセットを追加することにより、及び有限インパルス応答(finite impulse response、FIR)フィルタを適用することにより、カレントピクチャの元のサンプルを利用して、元のサンプルと再構成されたサンプルとの間の平均二乗誤差を低減させ、コーディングされたサイド情報は、オフセット及びフィルタ係数をシグナリングする。ALFは、各ピクチャの最後の処理段階に配置され、前の段階で作成されたアーチファクトを捕捉及び確定しようとするツールと見なすことができる。
【0032】
2.3. JEMにおけるジオメトリ変換ベースの適応ループフィルタ
JEMでは、ブロックベースのフィルタ適応を有するジオメトリ変換ベースの適応ループフィルタ(geometry transformation-based adaptive loop filter、GALF)が適用される。ルマ成分については、2×2ブロックごとに、局所勾配の方向及びアクティビティに基づいて、25個のフィルタの中の1つが選択される。
【0033】
2.3.1. フィルタ形状
JEMでは、ルマ成分に対して、最大3つのダイヤモンドフィルタ形状(図2に示すとおり)を選択することができる。ルマ成分に使用されるフィルタ形状を示すために、インデックスがピクチャレベルでシグナリングされる。
【0034】
図2は、GALFフィルタ形状の例を示す(左:5×5ダイヤモンド、中央:7×7ダイヤモンド、右:9×9ダイヤモンド)。
【0035】
ピクチャのクロマ成分については、5×5のダイヤモンド形状が常に使用される。
【0036】
2.3.1.1. ブロック分類
各2×2ブロックは、25個のクラスのうちの1つにカテゴライズされる。分類インデックスCは、その方向性Dとアクティビティの量子化値
【数1】
に基づいて、次のように導出される。
【数2】
【0037】
D、及び
【数3】
を計算するために、水平、垂直、及び2つの対角方向の勾配が、1-Dラプラシアンを使用して最初計算される。
【数4】
【0038】
インデックスi及びjは、2×2ブロック内の左上のサンプルの座標を指し、R(i,j)は、座標(i,j)における再構成されたサンプルを示す。
【0039】
次いで、水平方向及び垂直方向の勾配の最大値と最小値が、次のように設定される。
【数5】
【0040】
そして、2つの対角方向の勾配の最大値と最小値は、次のように設定される。
【数6】
【0041】
方向性Dの値を導出するために、これらの値は、互いに対して、並びに2つの閾値t及びtと比較される。
【表1】
【0042】
アクティビティ値Aは、次のように計算される。
【数7】
【0043】
Aはさらに、始めと終わりとを含む(inclusively)0から4の範囲に量子化され、量子化された値が、
【数8】
で表される。
【0044】
ピクチャ内の双方のクロマ成分については、分類方法は適用されず、すなわち、各クロマ成分に対して単一のALF係数セットが適用される。
【0045】
2.3.1.2. フィルタ係数の幾何学的変換
各2×2ブロックをフィルタリングする前に、回転又は対角及び垂直フリッピングなどの幾何学的変換が、そのブロックについて計算された勾配値に応じてフィルタ係数f(k,l)に適用される。これは、これらの変換をフィルタサポート領域内のサンプルに適用することと同等である。このアイデアは、ALFが適用される異なるブロックを、それらの方向性を整合させることによってより類似させることである。
【0046】
対角、垂直フリップ、及び回転を含む3つの幾何学的変換が導入される。
【数9】
【0047】
ここで、Kは、フィルタのサイズであり、0≦k,l≦K-1は、位置(0,0)が左上隅にあって位置(K-1,K-1)が右下隅にあるような係数座標である。変換は、そのブロックについて計算された勾配値に応じてフィルタ係数f(k,l)に適用される。変換と4つの方向の4つの勾配との間の関係が表1に要約されている。
【表2】
【0048】
2.3.1.3. フィルタパラメータシグナリング
JEMでは、GALFフィルタパラメータは、最初のCTUに対して、すなわち、スライスヘッダの後、及び最初のCTUのSAOパラメータの前にシグナリングされる。最大25個のルマフィルタ係数セットをシグナリングすることができる。ビットオーバーヘッドを減らすために、異なる分類のフィルタ係数をマージすることができる。さらに、参照ピクチャのGALF係数が記憶され、カレントピクチャのGALF係数として再利用されることが可能である。カレントピクチャは、参照ピクチャのために記憶されたGALF係数を使用し、GALF係数シグナリングをバイパスすることを選択してもよい。この場合、参照ピクチャの1つに対するインデックスのみがシグナリングされ、示された参照ピクチャの記憶されたGALF係数がカレントピクチャに対して継承される。
【0049】
GALF時間予測をサポートするために、GALFフィルタセットの候補リストが維持される。新しいシーケンスのデコードの開始において、候補リストは空である。1つのピクチャをデコードした後、対応するフィルタのセットが候補リストに追加されてもよい。候補リストのサイズが最大許容値(すなわち、現在のJEMでは6)に達すると、新しいフィルタのセットが、デコード順序で最も古いセットを上書きし、すなわち、候補リストを更新するために、先入れ先出し(FIFO)ルールが適用される。重複を避けるために、セットは、対応するピクチャがGALF時間予測を使用しないときのみ、リストに追加できる。時間的スケーラビリティをサポートするために、フィルタセットの複数の候補リストがあり、各候補リストは時間レイヤに関連づけられる。より具体的には、時間レイヤインデックス(TempIdx)により割り当てられた各配列は、より低いTempIdxに等しい、前にデコードされたピクチャのフィルタセットを構成することができる。例えば、k番目の配列は、kに等しいTempIdxに関連づけられるように割り当てられ、k以下のTempIdxを有するピクチャからのフィルタセットのみを含む。特定のピクチャをコーディングした後、このピクチャに関連づけられたフィルタセットは、等しい又はより高いTempIdxに関連づけられた配列を更新するために使用される。
【0050】
GALF係数の時間予測は、シグナリングオーバーヘッドを最小化するために、インターコーディングフレームに使用される。イントラフレームについては、時間予測は利用できず、16個の固定フィルタのセットが各クラスに割り当てられる。固定フィルタの使用法を示すために、各クラスに対するフラグと、必要な場合、選択された固定フィルタのインデックスがシグナリングされる。固定フィルタが所与のクラスに対して選択されるときでも、適応フィルタの係数f(k,l)は依然としてこのクラスに対して送ることができ、その場合、再構成された画像に適用されるフィルタの係数は、双方の係数セットの和である。
【0051】
ルマ成分のフィルタリングプロセスは、CUレベルで制御することができる。GALFがCUのルマ成分に適用されるかどうかを示すフラグが、シグナリングされる。クロマ成分については、GALFが適用されるか否かは、ピクチャレベルのみで示される。
【0052】
2.3.1.4. フィルタリングプロセス
デコーダ側において、ブロックに対してGALFが有効にされているとき、ブロック内の各サンプルR(i,j)がフィルタリングされ、以下に示すようなサンプル値が結果として得られる。ここで、Lはフィルタ長を表し、fm,nはフィルタ係数を表し、f(k,l)はデコードされたフィルタ係数を表す。
【数10】
【0053】
2.3.1.5. エンコーディング側フィルタパラメータ決定プロセス
GALFのための全体的なエンコーダ判断プロセスを図3に示す。各CUのルマサンプルについて、エンコーダは、GALFが適用されるか否かの判断を行い、適切なシグナリングフラグがスライスヘッダに含まれる。クロマサンプルについては、フィルタを適用する判断は、CUレベルではなくピクチャレベルに基づいて行われる。さらに、ピクチャのクロマGALFは、ピクチャに対してルマGALFが有効にされているときのみチェックされる。
【0054】
2.4. VVCにおけるジオメトリ変換ベースの適応ループフィルタ
VVCにおけるGALFの現在の設計は、JEMにおけるものと比較して以下の主要な変更を有する。
1) 適応フィルタ形状が除去される。単に、ルマ成分には7x7フィルタ形状が許容され、クロマ成分には5x5フィルタ形状が許可される。
2) ALFパラメータの時間予測及び固定フィルタからの予測が双方とも除去される。
3) 各CTUについて、ALFが有効にされているか無効にされているか、1ビットのフラグがシグナリングされる。
4) クラスインデックスの計算は、2×2の代わりに4×4レベルで実行される。さらに、JVET-L0147で提案されているように、ALF分類のためのサブサンプリングラプラシアン計算方法が利用される。より具体的には、1つのブロック内の各サンプルについて、水平/垂直/45対角/135度勾配を計算する必要はない。代わりに、1:2サブサンプリングが利用される。
【0055】
図4は、CE2.6.2についてのサブサンプリングラプラシアン計算(subsampled Laplacian calculation)の例を示す。左上(a)は垂直勾配のサブサンプリング位置、右上(b)は水平勾配のサブサンプリング位置、左下(c)は対角勾配(diagonal gradient)のサブサンプリング位置、右下(d)は対角勾配のサブサンプリング位置である。
【0056】
2.5. 適応パラメータセットにおける適応ループフィルタパラメータのシグナリング
VVCドラフトの最新バージョンでは、ALFパラメータは、適応パラメータセット(Adaptation Parameter Set、APS)においてシグナリングでき、各CTUによって適応的に選択できる。
【0057】
ALFの詳細なシグナリング(JVET-O2001-vEにおける)は、以下のとおりである。
【表3】
【0058】
2.6. CTUのALFパラメータのシグナリング
VTM6では、ALFフィルタパラメータは、適応パラメータセット(APS)においてシグナリングされる。1つのAPSにおいて、最大25個のルマフィルタ係数のセット及びクリッピング値インデックス、並びに最大8つのクロマフィルタ係数のセット及びクリッピング値インデックスをシグナリングすることができる。ビットオーバーヘッドを減らすために、ルマ成分についての異なる分類のフィルタ係数をマージすることができる。スライスヘッダでは、カレントスライスに使用されているAPSのインデックスがシグナリングされる。
【0059】
クリッピング値インデックスは、APSからデコードされ、クリッピング値のLumaテーブルとクリッピング値のChromaテーブルを使用してクリッピング値を決定することを可能にする。これらのクリッピング値は、内部ビット深度に依存する。より正確には、クリッピング値のLumaテーブルとクリッピング値のChromaテーブルは、以下の式により得られる
【数11】
【0060】
Bは、内部ビット深度に等しく、Nは、VTM6.0における許容クリッピング値の数である4に等しい。
【0061】
スライスヘッダにおいて、カレントスライスに使用されるルマフィルタセットを指定するために、最大7つのAPSインデックスをシグナリングすることができる。フィルタリングプロセスは、さらにCTBレベルで制御することができる。ALFがルマCTBに適用されるかどうかを示すために、フラグが常にシグナリングされる。ルマCTBは、16個の固定フィルタセットとAPSからのフィルタセットとの中のフィルタセットを選択することができる。ルマCTBについて、どのフィルタセットが適用されるかを示すために、フィルタセットインデックスがシグナリングされる。16個の固定フィルタセットは、エンコーダとデコーダの双方で予め定義され、ハードコーディングされる。
【0062】
クロマ成分については、カレントスライスに使用されているクロマフィルタセットを示すために、APSインデックスがスライスヘッダ内でシグナリングされる。CTBレベルでは、各クロマCTBについて、APS内に複数のクロマフィルタセットがある場合、フィルタインデックスがシグナリングされる。
【0063】
より具体的には、以下が適用される。
【0064】
スライス内の少なくとも1つのCTUがALFを適用するかどうかを示すために、最初、スライスオン/オフ制御フラグがコーディングされる。それが真であるとき、各CTUについて、以下がチェックされ、順にシグナリングされる。
ルマ部分関連:
1. ALFがルマCTBに適用されるかどうか。はいの場合、ステップ2に進む。そうでない場合、さらなるシグナリングは必要とされない。
2. カレントスライスに使用されるALF APSの数をチェックし、それをnumALFAPSで示す。
3. numALFAPSが0に等しい場合、固定フィルタのインデックス(例えば、alf_luma_fixed_filter_idx)がシグナリングされる。そうでない場合、以下が適用される:
- それが最初のALF APSから予測されるか否かを示すためにフラグをシグナリングする。
- いいえの場合、ステップ4に進む。そうでない場合、ルマCTBのALFパラメータのシグナリングは停止される。
4. numALFAPSが1より大きい場合、それがALF APSから予測されるか否かを示すためにフラグをシグナリングする。
- いいえの場合、固定フィルタのインデックスをシグナリングする。
- はいで、numALFAPSが2より大きい場合、ALF APSのインデックスから1を引いた値をトランケーテッドユーナリ(truncated unary)でシグナリングする。
クロマ部分関連:
1. ALFがCb/Cr CTBに適用されるかどうか。はいの場合、ステップ2に進む。そうでない場合、さらなるシグナリングは必要とされない。
2. i番目のALF APSに関連づけられたフィルタのインデックスをシグナリングし、APSインデックスはスライスヘッダ内でシグナリングされる。
【表4】
【0065】
2.7. ピクチャ、サブピクチャ、スライス、タイル、ブリック、及びCTUのパーティション化
【表5】
スライス:単一のNALユニットに排他的に含まれる、ピクチャの整数個のブリック。
【0066】
注記 - スライスは、複数の完全なタイルか、又は1つのタイルの完全なブリックの連続シーケンスのみかのいずれかで構成される。
【0067】
タイル:ピクチャ内の特定のタイル列及び特定のタイル行内のCTUの矩形領域。
【0068】
ブリック:ピクチャ内の特定のタイル内のCTU行の矩形の領域。
【0069】
注記 - タイルは、複数のブリックにパーティション化され得、その各々が、タイル内の1つ以上のCTU行で構成される。複数のブリックにパーティション化されないタイルは、ブリックとも呼ばれる。しかしながら、タイルの真のサブセットであるブリックはタイルとは呼ばれない。
【0070】
ブリックスキャン:ピクチャをパーティション化するCTUの特定のシーケンス順序であり、CTUは、ブリック内のCTUラスタースキャンで連続的に順序づけられ、タイル内のブリックはタイルのブリックのラスタースキャンで連続的に順序づけられ、ピクチャ内のタイルはピクチャのタイルのラスタースキャンで連続的に順序づけられる。
【0071】
ピクチャは、1つ以上のタイル行と1つ以上のタイル列に分割される。タイルは、ピクチャの矩形領域をカバーするCTUのシーケンスである。
【0072】
タイルは、1つ以上のブリックに分割され、その各々は、タイル内の複数のCTU行から構成される。
【0073】
複数のブリックにパーティション化されないタイルは、ブリックとも呼ばれる。しかしながら、タイルの真のサブセットであるブリックは、タイルとは呼ばれない。
【0074】
スライスは、ピクチャの複数のタイル、又はタイルの複数のブリックを含む。
【0075】
サブピクチャは、ピクチャの矩形領域を集合的にカバーする1つ以上のスライスを含む。
【0076】
スライスの2つのモードがサポートされ、すなわち、ラスタスキャンスライスモードと矩形スライスモードである。ラスタスキャンスライスモードでは、スライスは、ピクチャのタイルラスタスキャンにおけるタイルのシーケンスを含む。矩形スライスモードでは、スライスは、ピクチャの矩形領域を集合的に形成する、ピクチャの複数のブリックを含む。矩形スライス内のブリックは、スライスのブリックラスタスキャンの順序におけるものである。
【0077】
図5は、ピクチャのラスタスキャンスライスパーティション化の一例を示し、ピクチャは、12個のタイルと3つのラスタスキャンスライスに分割されている。
【0078】
図6は、ピクチャの矩形スライスパーティション化の一例を示し、ピクチャは、24個のタイル(6つのタイル列及び4つのタイル行)と9つの矩形スライスに分割されている。
【0079】
図7は、タイル、ブリック、及び矩形スライスにパーティション化されたピクチャの一例を示し、ピクチャは、4つのタイル(2つのタイル列及び2つのタイル行)、11個のブリック(左上タイルが1つのブリックを含み、右上タイルが5つのブリックを含み、左下タイルが2つのブリックを含み、右下タイルが3つのブリックを含む)、及び4つの矩形スライスに分割されている。
【0080】
図8は、ピクチャのサブピクチャパーティション化の一例を示し、ピクチャは、様々な大きさの28個のサブピクチャにパーティション化されている。
【0081】
ピクチャが3つの別個の色平面を使用してコーディングされるとき(separate_colour_plane_flagが1に等しい)、スライスは、対応する値のcolour_plane_idにより識別される1つの色成分のCTUのみを含み、ピクチャの各色成分配列は、同じcolour_plane_id値を有するスライスで構成される。ピクチャ内の異なる値のcolour_plane_idを有するコーディングスライスは、各値のcolour_plane_idについて、その値のcolour_plane_idを有するコーディングスライスNALユニットが各コーディングスライスNALユニットの最初のCTUについてブリックスキャン順序で増加するCTUアドレスの順序であるものとするという制約の下で、互いにインターリーブされてもよい。
注記1 - separate_colour_plane_flagが0に等しいとき、ピクチャの各CTUはちょうど1つのスライスに含まれる。separate_colour_plane_flagが1に等しいとき、色成分の各CTUはちょうど1つのスライスに含まれる(すなわち、ピクチャの各CTUの情報はちょうど3つのスライスに存在し、これらの3つのスライスは異なるcolour_plane_idの値を有する)。
【0082】
2.8. RPR
AVC及びHEVCは、IDR又はイントラランダムアクセスポイント(intra random access point、IRAP)ピクチャを導入する必要なしに解像度を変更する能力を有さず、そのような能力は、適応解像度変更(adaptive resolution change、ARC)と呼ぶことができる。ARC機能の恩恵を受けるユースケース又は適用シナリオがあり、例えば、ビデオ電話及び会議開催におけるレート適応などである。ARCは、ダイナミック解像度コンバージョンとしても知られている。
【0083】
ARCは、さらに、H.263 Annex Pなどの参照ピクチャリサンプリング(Reference Picture Resampling、RPR)の特殊なケースと見なすこともできる。
【0084】
VVCにおいて、ARCは、RPR(参照ピクチャリサンプリング)としても知られ、JVET-O2001-v14に組み込まれている。JVET-O2001-v14のRPRでは、コロケートされたピクチャがカレントピクチャと異なる解像度を有する場合、TMVPは無効にされる。さらに、参照ピクチャがカレントピクチャと異なる解像度を有するとき、BDOFとDMVRは無効にされる。SPSでは、最大ピクチャ解像度が定義される。そして、各ピクチャについてPPS内で、その解像度(ルマサンプルにおけるピクチャ幅及び高さを含む)が定義される。ピクチャ解像度が異なるとき、RPRは有効にされる。
【0085】
2.9. VVCの適合ウィンドウ
VVCにおける適合ウィンドウは、矩形を定義する。適合ウィンドウ内のサンプルは、関心のある画像に属する。適合ウィンドウ外のサンプルは、出力するときに破棄され得る。
【0086】
適合ウィンドウが適用されるとき、RPRにおけるスケーリング割当量(scaling ration)は適合ウィンドウに基づいて導出される。
【表6】
【0087】
3. 本明細書に記載の技術的解決策により解決される技術的問題
APSのALFデータは以下の問題を有する。
1. それは、ルマALFパラメータがシグナリングされるか否かを制御するための2つのフラグ、例えば、alf_luma_filter_signal_flag及びalf_luma_coeff_signalled_flagを有し、これは冗長である。
2. それは、ALF内の各クラスについて1つのフラグをシグナリングして、そのクラス内の全てのALF係数がゼロであるかどうかを示す。これは不要な可能性があり、なぜならば、全てゼロのALF係数は稀に選択されるためである。その一方で、なおそのようなフラグを用いて、全てゼロのALF係数が依然としてシグナリングされ得る。
3. ルマ色成分に対するフィルタ予測器を導出するために、複数の条件チェック及びステップが必要とされる。それは不要な複雑さをもたらす可能性がある。
4. VVCでは、ピクチャの部分化は、スライス/タイル/ブリックでもよく、ブリックは、スライス/タイルと比較してより小さいユニットである。異なるブリックは、互いから予測されることは許されない。実際のエンコーダにおいて、タイル/ブリックレベルでALFオン/オフをシグナリングすることは、コーディング性能にさらなる恩恵をもたらす可能性がある。
【0088】
4. 例示的な手法及び実施形態
以下のリストは、一般的な概念を説明するための例として考慮されるべきである。これらの項目は、狭義に解釈されるべきではない。さらに、これらの項目は、任意の方法で組み合わせることができる。
【0089】
本文献において、ピクチャの解像度(又は大きさ、又は幅/高さ、又はサイズ)は、コーディング/デコードピクチャの解像度(又は大きさ、又は幅/高さ、又はサイズ)を参照することがあり、あるいはコーディング/デコードピクチャの適合ウィンドウの解像度(又は大きさ、又は幅/高さ、又はサイズ)を参照することがある。
【0090】
1. シグナリングされるルマALF係数があるかどうかを示すために1つのシンタックス要素のみがシグナリングされ得ることが提案される。
a. 一例において、alf_luma_coeff_signalled_flagのシグナリングはスキップされ得る。
b. 代替的に、さらに、sfIdxにより示されるルマフィルタの係数(例えば、alf_luma_coeff_flag[sfIdx])シグナリングするかどうかは、シグナリングされる必要がある少なくとも1つのフィルタ(例えば、alf_luma_filter_signal_flag)があるかどうかに純粋に依存し得る。
c. 一例において、alf_luma_coeff_flagのシグナリングは、最初のものに対して最後のもの(すなわち、許容される最大のフィルタインデックス)から開始し得る。
d. 代替的に、どれほど多くのフィルタがコーディングされているか、又はどれほど多くのalf_luma_coeff_flagsが真に等しいかを記録するために、カウンタが維持される。
i. 最後のフィルタの情報をコーディングする前にカウンタが0に等しい場合、最後のフィルタのalf_luma_coeff_flag(例えば、コーディング順序に応じて、許容最大フィルタインデックス、又は0に等しいインデックスを有する)はシグナリングされず、真であることが導出される。
e. 代替的に、さらに、シンタックスが、シグナリングされるルマALF係数があることを示すとき、適合ビットストリームは、1つのルマフィルタの少なくとも1つの係数がゼロに等しくないことを満たすものとする。
f. 代替的に、さらに、シンタックスが、シグナリングされるルマALF係数があることを示すとき、適合ビットストリームは、少なくとも1つのルマフィルタがシグナリングされる(例えば、少なくとも1つのalf_luma_coeff_flag[sfIdx]が真である)ことを満たすものとする。
【0091】
2. ALFのクラスが全てゼロのALF係数を有するとき、全てゼロのALF係数が依然としてシグナリングされ得ることが提案される。
a. 一例において、ゼロ値(例えば、ゼロのalf_luma_coeff_abs)は、同じALF係数を共有する位置の各ペアに対してシグナリングされ得る。例えば、7*7ダイヤモンドALFフィルタについて、12個のゼロがシグナリングされ得る。
b. 一例において、ALF内のN個(Nは、非負の整数)以下のクラスは、全てゼロのALF係数を有し得る。例えば、N=1である。
【0092】
3. APS内でシグナリングされるルマ/クロマALF係数が、全てのクラスについて全てゼロであるとき、そのようなルマ/クロマALF係数は、以下のピクチャ/スライス/タイル/ブリック/CTUでは使用されなくてもよいことが提案される。
a. 代替的に、さらに、ゼロのALFフィルタ(例えば、全ての係数がゼロである)は、APS内でシグナリングされることを許されない。
b. 代替的に、さらに、APS内のシグナリングされるルマ/クロマALF係数が少なくとも1つの非ゼロ係数を含むものとすることは、ビットストリーム適合の要件である。例えば、ルマ/クロマALF係数がゼロ係数のみを含むとき、APS内にルマ/クロマALF係数がないことは、(例えば、alf_luma_filter_signal_flag又はalf_chroma_filter_signal_flagにより)示されるものとする。
【0093】
4. 少なくとも1つのCTU/CTBが、ループ内フィルタリング方法(例えば、SAO/ALF)が有効にされてコーディングされていることを示すオン/オフ制御フラグが、スライスレベル(例えば、slice_alf_enabled_flag/slice_sao_luma_flag/slice_sao_chroma_flag)からビデオユニットレベルへ除去され、ビデオユニットは、スライス(例えば、ブリック/タイルレベル)より小さい。
a. 一例において、各ブリック/タイルについて、ループ内フィルタリング方法がブリック/タイル内の少なくとも1つのサンプルに適用されるかどうかを示すために、フラグがコーディングされ得る。
b. 一例において、少なくとも1つのCTU/CTBが、ループ内フィルタリング方法が適用されてコーディングされていることを示すスライスレベルオン/オフ制御フラグ(例えば、slice_alf_enabled_flag)が、ブリック/タイルレベルでシグナリングされるフラグで置き換えられる。
c. 一例において、少なくとも1つのCTU/CTBが、ループ内フィルタリング方法が適用されてコーディングされていることを示すスライスレベルオン/オフ制御フラグ(例えば、slice_alf_enabled_flag)が、変更されないまま保持され、このフラグが真であるとき、ブリック/タイルレベルのオン/オフ制御フラグがさらにシグナリングされ得る。
【0094】
5. ALFフィルタのシグナリングが、2つの部分を有するように簡素化され得、例えば、第1の部分は、それが固定フィルタ又はALF APSから予測又は選択されるかどうかを示し、第2の部分は、固定フィルタ/ALF APSへのインデックスである。
a. 一例において、フィルタが固定フィルタから予測されるか否かを示すために、フラグがシグナリングされ得る。
i. 代替的に、フィルタがALF APSから予測されるか否かを示すために、フラグがシグナリングされ得る。
ii. 代替的に、決定されたフィルタが固定ALFフィルタから選択されるか否かを示すために、フラグがシグナリング/パースされ(parsed)得る。
iii. 代替的に、決定されたフィルタがALF APSから選択されるか否かを示すために、フラグがシグナリング/パースされ得る。
iv. 代替的に、さらに、そのようなフラグは、色成分(例えば、ルマ)に使用されるALF APSの数が0より大きい(又は、0に等しくない)という条件下で、シグナリング/パースされ得る。
a) 一例において、色成分(例えば、ルマ)に使用されるALF APSの数が0に等しいとき、そのようなフラグはシグナリング/パースされず、固定ALFフィルタが使用されることが常に推論され得る。
v. 一例において、フラグはコンテキストコーディングされ(context coded)又はバイパスコーディングされ(bypass coded)得る。
a) 一例において、1つのコンテキストのみが利用され得る。
b) 代替的に、2つ以上のコンテキストが利用され得る。
a. 代替的に、さらに、コンテキストモデリングが、近隣のCTBの情報に依存し得る。
b. 代替的に、さらに、コンテキストモデリングが、カレントCTBの位置などのカレントCTBの情報に依存し得る。
c. 代替的に、さらに、コンテキストモデリングが、スライス/ピクチャタイプなどのデコードされた情報に依存し得る。
b. 代替的に、さらに、フラグに応じて、固定フィルタ又はALF APSへのインデックスがシグナリング又はパースされ得る。
i. 一例において、ALF APSインデックスをシグナリングするかどうかが、カレントスライス/タイル/ブリックに対して許容されるALF APSの数にさらに依存し得る。
a) 代替的に、さらに、カレントスライス/タイル/ブリックに対する許容ALF APSの数が1より大きいとき、インデックスがシグナリングされ得る。そうでない場合、カレントスライス/タイル/ブリックに対する許容ALF APSの数が1に等しいとき、インデックスはシグナリングされなくてもよく、単一のALF APSが使用される。
ii. 一例において、ALF APSインデックスの指標がシグナリングされ得る。
a) 一例において、それはトランケーテッドユーナリ方法(truncated unary method)でシグナリングされ得る。代替的に、さらに、最大値が、カレントスライス/タイル/ブリックに対する許容ALF APS数からK(例えば、K=0又は1)を引いた値に設定される。
b) 一例において、それはトランケーテッドバイナリ方法(truncated binary method)でシグナリングされ得る。代替的に、さらに、最大値が、カレントスライス/タイル/ブリックに対する許容ALF APSの数からK(例えば、K=0又は1)を引いた値に設定される。
iii. 一例において、インデックスはコンテキストコーディングされ得る。
a) 一例において、インデックスの二値化されたbinストリング(binarized bin string)の最初のK個のbinがコンテキストコーディングされ得、残りのbinはバイパスコーディングされ得る(例えば、K=1であり、又はALF APSの数に基づく)。
b) 一例において、全てのbinがバイパスコーディングされる。
【0095】
6. フィルタリング方法(例えば、SAO、バイラテラルフィルタ、ALF)のオン/オフ制御が、領域レベルでシグナリング/導出され得、領域サイズは、少なくともピクチャ解像度及び最大ピクチャ解像度に従って決定され得る。
a. 代替的に、さらに、領域サイズはピクチャに対して固定されるが、異なる解像度を有する異なるピクチャに対しては異なる場合がある。
b. 一例において、ルマサンプルにおける最大ピクチャ幅及び高さがそれぞれmaxW及びmaxHで示され、ルマサンプルにおけるカレントピクチャ幅及び高さがそれぞれCurrW及びCurrHで示されると仮定する。CTU/CTBの幅及び高さは、それぞれctbW及びctbHで示される。regW*regHで示される領域サイズは、以下のように定義され得る。
i. 代替的に、さらに、オン/オフ制御フラグ及び/又はサイド情報(例えば、どの固定フィルタから予測されるか、及び/又はどのALF APSから予測されるか)が、領域レベルでシグナリング/パースされ得る。
ii. 一例において、regWは、(ctbW*currW/maxW)に設定され得る。
iii. 一例において、regHは、(ctbH*currH/maxH)に設定され得る。
iv. 一例において、regW及び/又はregHは、カレントCTBのパーティション化構造にさらに依存し得る。
a) 代替的に、さらに、それは、最初のパーティション化タイプ(例えば、非分割(CTB全体としてコーディング)、四分木分割(Quad-tree splitting)、二分木分割(binary tree splitting)、三分木分割(ternary tree splitting))に依存し得る。
a. 代替的に、さらに、領域サイズは、CTBから直接分割されたサブCUよりも小さくないものとする。
b) 一例において、regWは、ctbW*max(R,currW/maxW)に設定され得る。
c) 一例において、regHは、ctbH*max(R,currH/maxH)に設定され得る。
d) 上記の例において、R及び/又はRは、非分割の場合に1に設定され得る。
e) 上記の例において、R及び/又はRは、四分木分割の場合に1/2に設定され得る。
c. 上記の方法は、シーケンスに対してRPRが有効にされているとき有効にされ得る。
【0096】
7. 適合ビットストリームは、シーケンス/ピクチャに対してロスレスコーディング(lossless coding)(例えば、transquant_bypass_enabled_flag)が有効にされているとき、NALユニットタイプがAPS_NUT(すなわち、適応パラメータセット)に等しくないものとすることを満たすものとする。
a. 適合ビットストリームは、シーケンス/ピクチャに対してロスレスコーディング(例えば、transquant_bypass_enabled_flag)が有効にされているとき、aps_params_typeがALF_APSに等しくないものとすることを満たすものとする。
b. 適合ビットストリームは、シーケンス/ピクチャに対してロスレスコーディング(例えば、transquant_bypass_enabled_flag)が有効にされているとき、aps_params_typeがLMCS_APSに等しくないものとすることを満たすものとする。
c. 適合ビットストリームは、シーケンス/ピクチャに対してロスレスコーディング(例えば、transquant_bypass_enabled_flag)が有効にされているとき、aps_params_typeがSCALING_APSに等しくないものとすることを満たすものとする。
d. 適合ビットストリームは、シーケンス/ピクチャに対してロスレスコーディング(例えば、transquant_bypass_enabled_flag)が有効にされているとき、シーケンス/ピクチャ/スライス/タイル/ブリック/CTB/サブピクチャレベルにおけるいくつかのツールのオン/オフ制御フラグ(例えば、slice_alf_enabled_flag/alf_ctb_flag、slice_lmcs_enabled_flag、slice_joint_cbcr_sign_flagにより示されるALF/LMCS/JCCR)及び/又はフラグを提示するスケーリングリスト(例えば、slice_scaling_list_present_flag)が0に等しいものであることを満たすものとする。
i. 代替的に、これらのツールのオン/オフ制御フラグ及び/又はフラグを提示するスケーリングリストのシグナリングは、ピクチャに対してロスレスコーディングが無効にされているという条件下でもよい。
【0097】
8. 上記方法を適用するかどうか、及び/又はどのように適用するかが、以下に列挙された1つ以上の条件に基づき得る。
a. ビデオコンテンツ(例えば、スクリーンコンテンツ又は自然コンテンツ等)
b. DPS/SPS/VPS/PPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/最大コーディングユニット(Largest coding unit、LCU)/コーディングユニット(CU)/LCU行/LCUのグループ/TU/PUブロック/ビデオコーディングユニット内でシグナリングされるメッセージ
c. CU/PU/TU/ブロック/ビデオコーディングユニットの位置
d. カレントブロック及び/又はその近隣のブロックのデコードされた情報
i. カレントブロック及び/又はその近隣のブロックのブロックの大きさ/ブロック形状
e. 色フォーマットの指標(4:2:0、4:4:4、RGB、又はYUVなど)
f. コーディングツリー構造(デュアルツリー又は単一ツリーなど)
g. スライス/タイルグループタイプ及び/又はピクチャタイプ
h. 色成分(例えば、ルマ成分及び/又はクロマ成分にのみ適用され得る)
i. 時間レイヤID(Temporal layer ID)
j. 標準のプロファイル/レベル/ティア(Tiers)
【0098】
5. 本技術の例示的な実施形態
削除される部分は二重の太字角括弧で囲まれ(例えば、[[a]]は、「a」が削除されていることを示す)、新たに追加される部分は、二重の太字波括弧で囲まれる(例えば、{{a}}は、「a」が追加されていることを示す)。実施形態は、JVET-O2001-vEの上にある。
【0099】
5.1. 実施形態#1
この実施形態は、ALF APSにおいてALFパラメータをシグナリングする方法についていくつかの例を与える。
【表7】
【0100】
5.2. 実施形態#2
この実施形態は、ルマCTBに対するALFパラメータをシグナリングする方法について一例を与える。
【表8】
【0101】
図9は、本明細書に開示される様々な手法が実装され得る一例示的なビデオ処理システム900を示すブロック図である。様々な実装が、システム900のコンポーネントの一部又は全部を含んでもよい。システム900は、ビデオコンテンツを受信する入力902を含み得る。ビデオコンテンツは、生の又は非圧縮のフォーマット、例えば、8又は10ビットのマルチ成分画素値で受け取ることができ、あるいは圧縮又はエンコードされたフォーマットでもよい。入力902は、ネットワークインターフェース、周辺バスインターフェース、又はストレージインターフェースを表すことができる。ネットワークインターフェースの例には、イーサネット、受動光ネットワーク(passive optical network、PON)などの有線インターフェース、及びWi-Fi又はセルラーインターフェースなどの無線インターフェースが含まれる。
【0102】
システム900は、本文献に記載される様々なコーディング又はエンコード方法を実施することができるコーディングコンポーネント904を含み得る。コーディングコンポーネント904は、入力902からコーディングコンポーネント904の出力へのビデオの平均ビットレートを低減して、ビデオのコーディング表現を生成することができる。したがって、このコーディング手法は、ビデオ圧縮又はビデオトランスコーディング手法と時に呼ばれる。コーディングコンポーネント904の出力は、コンポーネント906により表されるように、記憶されるか、又は接続された通信を介して送信されてもよい。入力902で受信したビデオの、記憶され又は通信されたビットストリーム(又は、コーディングされた)表現は、画素値、又はディスプレイインターフェース910に送られる表示可能なビデオを生成するために、コンポーネント908により使用することができる。ビットストリーム表現からユーザが見ることができるビデオを生成するプロセスは、ビデオ解凍と時に呼ばれる。さらに、特定のビデオ処理動作は「コーディング」動作又はツールと呼ばれ、コーディングツール又は動作はエンコーダで使用され、コーディングの結果を逆にする対応するデコーディングツール又は動作はデコーダにより実行されることが理解されるであろう。
【0103】
周辺バスインターフェース又はディスプレイインターフェースの例には、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインターフェース(high definition multimedia interface、HDMI(登録商標))又はDisplayportなどを含んでもよい。ストレージインターフェースの例には、SATA(シリアルアドバンストテクノロジーアタッチメント(serial advanced technology attachment))、PCI、IDEインターフェースなどが含まれる。本文献に記載される手法は、携帯電話、ラップトップ、スマートフォン、又はデジタルデータ処理及び/又はビデオ表示を実行することができる他のデバイスなどの様々な電子デバイスにおいて具現化することができる。
できる。
【0104】
図10は、ビデオ処理装置1000のブロック図である。装置1000は、本明細書に記載される方法の1つ以上を実施するために使用することができる。装置1000は、スマートフォン、タブレット、コンピュータ、モノのインターネット(Internet of Things、IoT)の受信機などにおいて具現化されてもよい。装置1000は、1つ以上のプロセッサ1002、1つ以上のメモリ1004、及びビデオ処理ハードウェア1006を含むことができる。プロセッサ1002は、本文献に記載される1つ以上の方法を実施するように構成され得る。メモリ(複数のメモリ)1004は、本明細書に記載される方法及び手法を実施するために使用されるデータ及びコードを記憶するために使用され得る。ビデオ処理ハードウェア1006は、本文献に記載されるいくつかの手法をハードウェア回路に実装するために使用され得る。いくつかの実装において、ハードウェア1606は、部分的又は完全に、プロセッサ1002、例えばグラフィックスプロセッサの一部又は全部でもよい。
【0105】
図11は、ビデオ処理の一例示的な方法のフローチャートである。方法1100は、動作1110において、ビデオのカレント領域とビデオのビットストリーム表現との間のコンバージョンについて、ルマ適応ループフィルタがコンバージョンの間に使用されるかどうか、及びルマ適応ループフィルタ係数がビットストリーム表現に含まれるかどうかを決定することであり、ビットストリーム表現における単一のシンタックス要素が、ルマ適応ループフィルタの使用及びルマ適応ループフィルタ係数のシグナリングを示すようにする、ことを含む。
【0106】
方法1100は、動作1120において、決定に基づいて、コンバージョンを実行することを含む。
【0107】
図12は、ビデオ処理の一例示的な方法のフローチャートである。方法1200は、動作1210において、ビデオのカレント領域とビデオのビットストリーム表現との間のコンバージョンを実行することであり、適応ループフィルタがコンバージョンの間に使用され、ビットストリーム表現は、ビットストリーム表現においてシグナリングされる適応ループフィルタの係数がゼロ値の(zero-valued)適応ループフィルタ係数を含むことを指定するシンタックスルールに適合するようにする、ことを含む。
【0108】
図13は、ビデオ処理の一例示的な方法のフローチャートである。方法1300は、動作1310において、ビデオのカレント領域とビデオのビットストリーム表現との間のコンバージョンについて、ビットストリーム表現においてシグナリングされるビデオの前の領域のゼロ値の適応ループフィルタ係数がコンバージョンに使用されないと決定することを含む。
【0109】
方法1300は、動作1320において、決定に基づいて、コンバージョンを実行することを含む。
【0110】
図14は、ビデオ処理の一例示的な方法のフローチャートである。方法1400は、動作1410において、ビデオのカレント領域とビデオのビットストリーム表現との間のコンバージョンを実行することであり、ビットストリーム表現は、ループ内フィルタリングがコンバージョンに使用されるかどうかを示すフラグが、ビデオのスライスレベルより小さいカレント領域を含むビデオユニットレベルでビットストリーム表現に含まれることを指定するシンタックスルールに適合するようにする、ことを含む。
【0111】
図15は、ビデオ処理の一例示的な方法のフローチャートである。方法1500は、動作1510において、ビデオのカレント領域とビデオのビットストリーム表現との間のコンバージョンを実行することであり、コンバージョンは、適応ループフィルタを使用することを含み、ビットストリーム表現は、適応ループフィルタを決定する手法を示す第1の部分と、該手法により使用されるインデックスを示す第2の部分と、を含む二部分シグナリングを使用して適応ループフィルタを示すように構成されるようにする、ことを含む。
【0112】
図16は、ビデオ処理の一例示的な方法のフローチャートである。方法1600は、動作1610において、ビデオのプロパティに基づいて、ビデオのカレント領域とビデオのビットストリーム表現との間のコンバージョンのための共通ループフィルタリング設定を共有するカレント領域のサイズを決定することを含む。
【0113】
方法1600は、動作1620において、決定に基づいて、コンバージョンを実行することを含む。
【0114】
図17は、ビデオ処理の一例示的な方法のフローチャートである。方法1700は、動作1710において、ビデオのカレント領域とビデオのビットストリーム表現との間のロスレスコンバージョンを実行することであり、ビットストリーム表現は、コンバージョンがロスレスであることに起因してビットストリーム表現におけるカレント領域に関連づけられたシンタックスフィールドの値を制限するシンタックスルールに適合するようにする、ことを含む。
【0115】
以下の解決策は、いくつかの実施形態において好適な技術的解決策として実施することができる。
【0116】
A1.ビデオ処理の方法であって、ビデオのカレント領域と前記ビデオのビットストリーム表現との間のコンバージョンについて、ルマ適応ループフィルタが前記コンバージョンの間に使用されるかどうか、及びルマ適応ループフィルタ係数が前記ビットストリーム表現に含まれるかどうかを決定するステップであり、前記ビットストリーム表現における単一のシンタックス要素が、前記ルマ適応ループフィルタの使用及び前記ルマ適応ループフィルタ係数のシグナリングを示す、ステップと、前記決定に基づいて、前記コンバージョンを実行するステップと、を含む方法。
【0117】
A2.1の値である前記単一のシンタックス要素は、特定のインデックスを有する前記ルマ適応ループフィルタ係数がシグナリングされることを示し、0の値である前記単一のシンタックス要素は、前記特定のインデックスを有する前記ルマ適応ループフィルタ係数が前記ビットストリーム表現から除外されることを示す、解決策A1に記載の方法。
【0118】
A3.前記単一のシンタックス要素はalf_luma_coeff_flagであり、前記特定のインデックスはsfIdxで示される、解決策A2に記載の方法。
【0119】
A4.前記単一のシンタックス要素はalf_luma_coeff_signalled_flagを除外する、解決策A1乃至A3のうちいずれか1つに記載の方法。
【0120】
A5.1の値である前記単一のシンタックス要素は、特定のインデックスを有する前記ルマ適応フィルタの使用の指標がシグナリングされることを示し、ゼロの値である前記単一のシンタックス要素は、前記特定のインデックスを有する前記ルマ適応フィルタの使用の指標が前記ビットストリーム表現から除外されることを示す、解決策A1に記載の方法。
【0121】
A6.前記単一のシンタックス要素はalf_luma_coeff_signalled_flagであり、前記特定のインデックスはsfIdxで示される、解決策A5に記載の方法。
【0122】
A7.前記ルマ適応ループフィルタ係数は、条件付きで少なくとも1つのルマ適応ループフィルタがシグナリングされる必要があるかどうかに基づいて前記ビットストリーム表現においてシグナリングされる、解決策A1に記載の方法。
【0123】
A8.複数のルマ適応ループフィルタのための前記ルマ適応ループフィルタ係数は、前記複数のルマ適応ループフィルタのためのフィルタインデックスの逆順でシグナリングされる、解決策A7に記載の方法。
【0124】
A9.前記ビットストリーム表現にコーディングされたルマ適応ループフィルタの数を決定するためのカウンタを維持するステップ、をさらに含む解決策A1に記載の方法。
【0125】
A10.前記ルマ適応ループフィルタ係数のシグナリングを示す前記単一のシンタックス要素がシグナリングされるとき、前記ビットストリーム表現は少なくとも1つの非ゼロのルマ適応ループフィルタ係数を含む、解決策A1に記載の方法。
【0126】
A11.前記ルマ適応ループフィルタ係数のシグナリングを示す前記単一のシンタックス要素がシグナリングされるとき、前記ビットストリーム表現は少なくとも1つのルマ適応ループフィルタを含む、解決策A1に記載の方法。
【0127】
A12.前記ルマ適応ループフィルタ係数はルマ適応ループフィルタ(ALF)係数である、解決策A1乃至A11のいずれか1つに記載の方法。
【0128】
A13.ビデオ処理の方法であって、ビデオのカレント領域と前記ビデオのビットストリーム表現との間のコンバージョンを実行するステップであり、適応ループフィルタが前記コンバージョンの間に使用され、前記ビットストリーム表現は、前記ビットストリーム表現においてシグナリングされる前記適応ループフィルタの係数がゼロ値の適応ループフィルタ係数を含むことを指定するシンタックスルールに適合する、ステップ、を含む方法。
【0129】
A14.前記シンタックスルールは、対称性に起因して係数値を共有する適応ループフィルタ係数について単一のゼロ値の係数をシグナリングすることを指定する、A13に記載の方法。
【0130】
A15.7×7ダイヤモンド適応ループフィルタについて12個のゼロ値の係数がシグナリングされる、解決策A14に記載の方法。
【0131】
A16.前記シンタックスルールは、ゼロ値の適応ループフィルタ係数を有する適応ループフィルタの数を数Nに制限することを指定し、Nは非負の整数である、解決策A13に記載の方法。
【0132】
A17.N=1である、解決策A16に記載の方法。
【0133】
A18.ビデオ処理の方法であって、ビデオのカレント領域と前記ビデオのビットストリーム表現との間のコンバージョンについて、前記ビットストリーム表現においてシグナリングされる前記ビデオの前の領域のゼロ値の適応ループフィルタ係数が前記コンバージョンに使用されないと決定するステップと、前記決定に基づいて、前記コンバージョンを実行するステップと、を含む方法。
【0134】
A19.前記カレント領域はルマ領域に対応する、解決策A18に記載の方法。
【0135】
A20.前記カレント領域はクロマ領域に対応する、解決策A18に記載の方法。
【0136】
A21.前記カレント領域は、ピクチャ、スライス、タイル、ブリック、又はコーディングツリーユニット(CTU)に対応する、解決策A18乃至A20のうちいずれか1つに記載の方法。
【0137】
A22.前記ゼロ値の適応ループフィルタ係数は、適応パラメータセット(APS)とは異なるパラメータセット内でシグナリングされる、解決策A18に記載の方法。
【0138】
A23.ビデオ処理の方法であって、ビデオのカレント領域と前記ビデオのビットストリーム表現との間のコンバージョンを実行するステップであり、前記ビットストリーム表現は、ループ内フィルタリングが前記コンバージョンに使用されるかどうかを示すフラグが、前記ビデオのスライスレベルより小さい前記カレント領域を含むビデオユニットレベルで前記ビットストリーム表現に含まれることを指定するシンタックスルールに適合する、ステップ、を含む方法。
【0139】
A24.前記カレント領域は、前記ビデオのコーディングツリーユニット(CTU)又はコーディングツリーブロック(CTB)である、解決策A23に記載の方法。
【0140】
A25.前記ビデオユニットレベルはブリックレベルに対応する、解決策A23又は24に記載の方法。
【0141】
A26.前記ビデオユニットレベルはタイルレベルに対応する、解決策A23又は24に記載の方法。
【0142】
A27.前記ループ内フィルタリングは、適応ループフィルタリング(ALF)又はサンプル適応オフセット(SAO)フィルタリングを含む、解決策A23乃至A26のうちいずれか1つに記載の方法。
【0143】
A28.前記ビットストリーム表現は、前記ループ内フィルタリングが前記ビデオユニットレベルにおけるビデオユニット内の少なくとも1つのサンプルに適用されることを示すためにビデオユニットフラグを含む、解決策A23乃至A27のうちいずれか1つに記載の方法。
【0144】
A29.前記コンバージョンを実行することは、前記カレント領域から前記ビットストリーム表現を生成することを含む、解決策A1乃至A28のうちいずれか1つに記載の方法。
【0145】
A30.前記コンバージョンを実行することは、前記ビットストリーム表現から前記カレント領域を生成することを含む、解決策A1乃至A28のうちいずれか1つに記載の方法。
【0146】
A31.プロセッサと、命令を有する非一時的メモリと、を含むビデオシステムにおける装置であって、前記命令は、前記プロセッサにより実行されると、前記プロセッサに解決策A1乃至A30のうちいずれか1つに記載の方法を実施させる、装置。
【0147】
A32.非一時的コンピュータ読取可能媒体に記憶されたコンピュータプログラム製品であって、解決策A1乃至A30のうちいずれか1つに記載の方法を実行するためのプログラムコードを含む、コンピュータプログラム製品。
【0148】
A33.解決策A1乃至A30のうちいずれか1つに記載の方法に従って生成されたビットストリーム表現を記憶するコンピュータ読取可能媒体。
【0149】
以下のさらなる解決策は、いくつかの実施形態において好適な技術的解決策として実施することができる。
【0150】
B1.ビデオの処理方法であって、ビデオのカレント領域と前記ビデオのビットストリーム表現との間のコンバージョンを実行するステップであり、前記コンバージョンは、適応ループフィルタを使用することを含み、前記ビットストリーム表現は、前記適応ループフィルタを決定する手法を示す第1の部分と、前記手法により使用されるインデックスを示す第2の部分と、を含む二部分シグナリングを使用して前記適応ループフィルタを示すように構成される、ステップ、を含む方法。
【0151】
B2.前記手法は、固定フィルタセットからの選択、又は少なくとも1つの適応ループフィルタ(ALF)適応パラメータセット(APS)からの選択を含む、解決策B1に記載の方法。
【0152】
B3.前記ビットストリーム表現は、前記適応ループフィルタのフィルタセットが前記固定フィルタセットから選択されることを示すゼロ値の(zero-valued)フラグを含む、解決策B2に記載の方法。
【0153】
B4.前記ビットストリーム表現は、前記適応ループフィルタのフィルタセットが前記少なくとも1つのALF APSから選択されることを示す1値の(one-valued)フラグを含む、解決策B2又はB3に記載の方法。
【0154】
B5.前記ビットストリーム表現は、前記カレント領域の色成分に使用されるALF APSの数がゼロより大きいことを示すフラグを含む、解決策B2に記載の方法。
【0155】
B6.前記色成分は前記ビデオのルマ成分である、解決策B5に記載の方法。
【0156】
B7.前記カレント領域の色成分に使用されるALF APSの数がゼロであるとき、前記ビットストリーム表現は、前記適応ループフィルタが前記少なくとも1つのALF APSから選択されることを示すフラグを除外し、前記フラグは、前記適応ループフィルタが前記固定フィルタセットから選択されることを示すように推論される、解決策B2に記載の方法。
【0157】
B8.前記フラグは、コンテキストコーディング又はバイパスコーディングされる、解決策B3乃至B7のうちいずれか1つに記載の方法。
【0158】
B9.前記インデックスの値は前記フラグに基づく、解決策B3又はB4に記載の方法。
【0159】
B10.前記ビットストリーム表現において前記インデックスをシグナリングするかどうかは、前記カレント領域に対する許容ALF APSの数に基づく、解決策B4に記載の方法。
【0160】
B11.前記カレント領域に対する前記許容ALF APSの数が1より大きいとき、前記インデックスは前記ビットストリーム表現においてシグナリングされる、解決策B10に記載の方法。
【0161】
B12.前記カレント領域に対する前記許容ALF APSの数が1に等しいとき、前記インデックスは前記ビットストリーム表現から除外される、解決策B10に記載の方法。
【0162】
B13.前記カレント領域は、スライス、タイル、又はブリックを含む、解決策B10乃至B12のうちいずれか1つに記載の方法。
【0163】
B14.前記少なくとも1つのALF APSの前記インデックスの指標が前記ビットストリーム表現においてシグナリングされる、解決策B4に記載の方法。
【0164】
B15.前記指標は、トランケーテッドユーナリ方法でコーディングされる、解決策B14に記載の方法。
【0165】
B16.前記指標は、トランケーテッドバイナリ方法でコーディングされる、解決策B14に記載の方法。
【0166】
B17.前記指標の最大値は、前記カレント領域に対する許容ALF APSの数からKを引いた値に設定され、Kは整数である、解決策B15又はB16に記載の方法。
【0167】
B18.K=0又はK=1である、解決策B17に記載の方法。
【0168】
B19.前記インデックスはコンテキストコーディングされる、解決策B1に記載の方法。
【0169】
B20.前記インデックスの二値化されたbinストリングの最初のK個のbinがコンテキストコーディングされ、残りのbinはバイパスコーディングされ、Kは整数である、解決策B19に記載の方法。
【0170】
B21.K=1である、解決策B20に記載の方法。
【0171】
B22.前記インデックスの2値化されたbinストリングの複数のbinの各々がバイパスコーディングされる、解決策B19に記載の方法。
【0172】
B23.前記適応ループフィルタ(ALF)は、前記コンバージョンの一部として適用され、かつ前記ビットストリーム表現における前記適応パラメータセット(APS)のパラメータにより制御されるフィルタリングプロセスである、解決策B1乃至B22のうちいずれか1つに記載の方法。
【0173】
B24.前記適応パラメータセット(APS)は、前記ビデオのゼロ個以上のスライスに、前記ゼロ個以上のスライスに対応するスライスヘッダ内のゼロ個以上のシンタックス要素により決定されるとおり適用される、1つ以上のシンタックス要素を含むシンタックス構造である、解決策B1乃至B23のうちいずれか1つに記載の方法。
【0174】
B25.ビデオ処理の方法であって、ビデオのプロパティに基づいて、前記ビデオのカレント領域と前記ビデオのビットストリーム表現との間のコンバージョンのための共通ループフィルタリング設定を共有する前記カレント領域のサイズを決定するステップと、前記決定に基づいて、前記コンバージョンを実行するステップと、を含む方法。
【0175】
B26.前記プロパティは、前記カレント領域を含むピクチャの解像度である、解決策B25に記載の方法。
【0176】
B27.前記プロパティは、前記カレント領域を含むピクチャの最大解像度である、解決策B25に記載の方法。
【0177】
B28.ピクチャの最大サイズのルマサンプルにおける幅及びルマサンプルにおける高さがそれぞれmaxW及びmaxHで示され、前記カレント領域を含むカレントピクチャのサイズのルマサンプルにおける幅及びルマサンプルにおける高さがそれぞれCurrW及びCurrHで示され、カレントコーディングツリーユニット(CTU)又はカレントコーディングツリーブロック(CTB)のサイズの幅及び高さがそれぞれctbW及びctbHで示され、前記カレント領域のサイズの幅及び高さがそれぞれregW及びregHで示される、解決策B25に記載の方法。
【0178】
B29.regW=(ctbW×currW/maxW)である、解決策B28に記載の方法。
【0179】
B30.regH=(ctbH×currH/maxH)である、解決策B28に記載の方法。
【0180】
B31.regW又はregHは、前記カレントCTB又は前記カレントCTUのパーティション化構造に基づく、解決策B28に記載の方法。
【0181】
B32.ビデオ処理の方法であって、ビデオのカレント領域と前記ビデオのビットストリーム表現との間のロスレスコンバージョンを実行するステップであり、前記ビットストリーム表現は、前記コンバージョンがロスレスであることに起因して前記ビットストリーム表現における前記カレント領域に関連づけられたシンタックスフィールドの値を制限するシンタックスルールに適合する、ステップ、を含む方法。
【0182】
B33.前記シンタックスルールは、ネットワーク抽象化レイヤ(NAL)ユニットタイプが適応パラメータセット(APS)のNALユニットタイプに等しくないことを指定する、解決策B32に記載の方法。
【0183】
B34.前記シンタックスルールは、前記シンタックスフィールドの値が適応ループフィルタ(ALF)適応パラメータセット(APS)内の1つ以上の値と異なることを指定する、解決策B32に記載の方法。
【0184】
B35.前記シンタックスルールは、前記シンタックスフィールドの値がクロマスケーリング付きルママッピング(luma mapping with chroma scaling、LMCS)適応パラメータセット(APS)内の1つ以上の値と異なることを指定する、解決策B32に記載の方法。
【0185】
B36.前記シンタックスルールは、前記シンタックスフィールドの値がスケーリングリスト適応パラメータセット(APS)内の1つ以上の値と異なることを指定する、解決策B32に記載の方法。
【0186】
B37.前記コンバージョンを実行することは、さらに、(a)ビデオコンテンツ、(b)デコーダパラメータセット(DPS)、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、ピクチャパラメータセット(PPS)、適応パラメータセット(APS)、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、最大コーディングユニット(LCU)、LCU行、LCUのグループ、変換ユニット(TU)、予測ユニット(PU)、又はビデオコーディングユニットにおいてシグナリングされるメッセージ、(c)前記カレント領域を含むカレントピクチャにおけるコーディングユニット(CU)、TU、PU、カレントブロック、又はビデオコーディングユニットの位置、(d)前記カレント領域のデコードされた情報、(e)前記ビデオの色フォーマットの指標、(f)コーディングツリー構造、(g)スライスタイプ、タイルグループタイプ、又はピクチャタイプ、(h)前記ビデオの色成分、(i)時間レイヤID、及び(j)標準のプロファイル、レベル、又はティア、のうちの1つ以上に基づく、解決策B1乃至B37のうちいずれか1つに記載の方法。
【0187】
B38.前記コンバージョンを実行することは、前記カレント領域から前記ビットストリーム表現を生成することを含む、解決策B1乃至B37のうちいずれか1つに記載の方法。
【0188】
B39.前記コンバージョンを実行することは、前記ビットストリーム表現から前記カレント領域を生成することを含む、解決策B1乃至B37のうちいずれか1つに記載の方法。
【0189】
B40.プロセッサと、命令を有する非一時的メモリと、を含むビデオシステムにおける装置であって、前記命令は、前記プロセッサにより実行されると、前記プロセッサに解決策B1乃至B39のうちいずれか1つに記載の方法を実施させる、装置。
【0190】
B41.非一時的コンピュータ読取可能媒体に記憶されたコンピュータプログラム製品であって、解決策B1乃至B39のうちいずれか1つに記載の方法を実行するためのプログラムコードを含む、コンピュータプログラム製品。
【0191】
B42.解決策B1乃至B39のうちいずれか1つに記載の方法に従って生成されたビットストリーム表現を記憶するコンピュータ読取可能媒体。
【0192】
上記の解決策において、コンバージョンを実行することは、コンバージョン結果に到達するために、エンコーディング又はデコーディング動作の間に前の判断ステップの結果(例えば、特定のコーディング又はデコーディングステップを使用するか使用しないか)を使用することを含む。上述の解決策において、ビデオ処理は、ビデオコーディング又はエンコーディング又は圧縮又はトランスコーディング(1つのフォーマット又はビットレートから別のフォーマット又はビットレートへの変更)、デコーディング又は解凍を含み得る。さらに、これらの解決策は、画像などの他の視覚的データに適用されてもよい。
【0193】
本文献に記載される開示された及び他の解決策、例、実施形態、モジュール、及び機能動作は、デジタル電子回路で、あるいは本文献に開示された構造及びそれらの構造的同等物を含むコンピュータソフトウェア、ファームウェア、又はハードウェアで、あるいはそれらのうち1つ以上の組み合わせで実施することができる。開示された及び他の実施形態は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置による実行のため、又はデータ処理装置の動作を制御するための、コンピュータ読取可能媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実施することができる。コンピュータ読取可能媒体は、マシン読取可能記憶装置、マシン読取可能記憶基板、メモリ装置、マシン読取可能伝搬信号に影響を与える物質の組成、又は1つ以上のこれらの組み合わせであり得る。用語「データ処理装置」は、例えば、プログラマブルプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む、データを処理するための全ての装置、デバイス、及びマシンを包含する。装置は、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコードを含むことができる。伝搬信号は、適切な受信機装置への送信のために情報を符号化するように生成される人工的に生成された信号、例えば、マシンにより生成された電気的、光学的、又は電磁的な信号である。
【0194】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイル型又は解釈型言語を含む任意の形式のプログラミング言語で書くことができ、それは、スタンドアロンプログラムとして、又はコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン、又は他のユニットとしてを含む、任意の形態でデプロイすることができる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するものではない。プログラムは、他のプログラム又はデータを保持するファイルの一部分(例えば、マークアップ言語文書に記憶された1つ以上のスクリプト)に、問題のプログラム専用の単一ファイルに、又は複数の調整されたファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を記憶するファイル)に記憶することができる。コンピュータプログラムは、1つのコンピュータ上で、又は、1つのサイトに配置され若しくは複数のサイトにわたり分散されて通信ネットワークにより相互接続される複数のコンピュータ上で、実行されるようにデプロイすることができる。
【0195】
本文献に記載されるプロセス及び論理フローは、入力データに対して動作し出力を生成することにより機能を実行するために1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサにより実行することができる。プロセス及び論理フローは、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)により実行することもでき、装置もまた、これらとして実施することができる。
【0196】
コンピュータプログラムの実行に適したプロセッサには、例えば、汎用及び専用双方のマイクロプロセッサ、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサが含まれる。一般に、プロセッサは、読取専用メモリ又はランダムアクセスメモリ又は双方から命令及びデータを受け取る。コンピュータの必須要素は、命令を実行するプロセッサと、命令及びデータを記憶する1つ以上のメモリデバイスである。一般に、コンピュータはまた、データを記憶する1つ以上の大容量記憶デバイス、例えば、磁気、磁気光ディスク、又は光ディスクを含み、あるいはこれらからデータを受け取り、又はこれらにデータを転送し、又は双方を行うために動作上結合される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを記憶するのに適したコンピュータ読取可能媒体には、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイス;磁気ディスク、例えば、内部ハードディスク又はリムーバブルディスク;磁気光ディスク;並びにCD ROM及びDVD-ROMディスクを含む、全ての形態の不揮発性メモリ、媒体、及びメモリデバイスが含まれる。プロセッサ及びメモリは、専用論理回路により補足し、又は専用論理回路に組み込むことができる。
【0197】
本特許文献は多くの詳細を含むが、これらは、いずれかの対象事項又は請求され得るものの範囲に対する限定とみなされるべきではなく、むしろ、特定の手法の特定の実施形態に特有であり得る特徴の説明とみなされるべきである。別個の実施形態の文脈において本特許文献に記載されている特定の特徴は、単一の実施形態で組み合わせて実施することもできる。逆に、単一の実施形態の文脈において記載されている様々な特徴は、複数の実施形態において別個に、又は任意の適切なサブコンビネーションで実施することもできる。さらに、特徴は、特定の組み合わせにおいて作用するものとして上述されていることがあり、そのようなものとして最初に請求されることがあるが、請求された組み合わせからの1つ以上の特徴を、いくつかの場合、組み合わせから切り出すことができ、請求される組み合わせは、サブコンビネーション、又はサブコンビネーションのバリエーションに向けられ得る。
【0198】
同様に、動作は図面において特定の順序で示されているが、これは、所望の結果を達成するために、そのような動作が図示される特定の順序で又は順番に実行されること、又は全ての例示された動作が実行されることを要求するものとして理解されるべきではない。さらに、本特許文献に記載されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態においてそのような分離を要求するものとして理解されるべきではない。
【0199】
少数の実装及び例のみが記載されており、本特許文献に記載及び例示されているものに基づいて他の実装、拡張、及びバリエーションがなされ得る。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17