(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-18
(45)【発行日】2023-12-26
(54)【発明の名称】非線形適応ループフィルタにおけるパラメータの時間的予測
(51)【国際特許分類】
H04N 19/117 20140101AFI20231219BHJP
H04N 19/14 20140101ALI20231219BHJP
H04N 19/176 20140101ALI20231219BHJP
H04N 19/70 20140101ALI20231219BHJP
H04N 19/82 20140101ALI20231219BHJP
【FI】
H04N19/117
H04N19/14
H04N19/176
H04N19/70
H04N19/82
(21)【出願番号】P 2021559619
(86)(22)【出願日】2020-04-15
(86)【国際出願番号】 CN2020084876
(87)【国際公開番号】W WO2020211770
(87)【国際公開日】2020-10-22
【審査請求日】2021-10-06
(31)【優先権主張番号】PCT/CN2019/082626
(32)【優先日】2019-04-15
(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)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】ジャン リー
(72)【発明者】
【氏名】ジャン カイ
(72)【発明者】
【氏名】リウ ホンビン
(72)【発明者】
【氏名】ワン ユエ
【審査官】久保 光宏
(56)【参考文献】
【文献】特表2014-520451(JP,A)
【文献】Jonathan Taquet, et al.,"CE5: Results of tests CE5-3.1 to CE5-3.4 on Non-Linear Adaptive Loop Filter",Document: JVET-N0242, [online],JVET-N0242 (version 3),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年03月26日,Pages 1-10,[令和4年10月31日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=5962> and <URL: https://jvet-experts.org/doc_end_user/documents/14_Geneva/wg11/JVET-N0242-v3.zip>.,(See document file "JVET-N0242_v2.0.docx" in the zip file "JVET-N0242-v3.zip".)
【文献】Jianle Chen, et al.,"Algorithm Description of Joint Exploration Test Model 4",Document: JVET-D1001_v3, [online],JVET-D1001 (version 3),Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2016年11月19日,Pages 28-33,[令和5年5月12日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=2904> and <URL: https://jvet-experts.org/doc_end_user/documents/4_Chengdu/wg11/JVET-D1001-v3.zip>.,(See document file "JVET-D1001_V3.docx" in the zip file "JVET-D1001-v3.zip".)
【文献】Benjamin Bross, et al.,"Versatile Video Coding (Draft 4)",Document: JVET-M1001-v5, [online],JVET-N0242 (version 3),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年03月26日,Pages 31,32,38-41,81-85,252-257,[令和4年10月31日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=5962> and <URL: https://jvet-experts.org/doc_end_user/documents/14_Geneva/wg11/JVET-N0242-v3.zip>.,(See document file "Draft_text-CE5.3.4_v1.0.docx" in the zip file "JVET-N0242-v3.zip".)
【文献】T. Nguyen, et al.,"Modified binarization and coding of MVD for PIPE/CABAC",Document: JCTVC-F455, [online],JCTVC-F455 (version 3),Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,2011年07月16日,Pages 1-4,[令和5年5月12日検索], インターネット, <URL: http://phenix.it-sudparis.eu/jct/doc_end_user/current_document.php?id=2930> and <URL: http://phenix.it-sudparis.eu/jct/doc_end_user/documents/6_Torino/wg11/JCTVC-F455-v3.zip>.,(See document file "JCTVC-F455.doc" in the zip file "JCTVC-F455-v3.zip".)
【文献】Benjamin Bross, et al.,"Versatile Video Coding (Draft 3)",Document: JVET-L1001-v7, [online],JVET-M0451 (version 1),2019年01月03日,Pages 27-29 and 56,[令和5年5月12日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=5260> and <URL: https://jvet-experts.org/doc_end_user/documents/13_Marrakech/wg11/JVET-M0451-v1.zip>.,(See document file "JVET-L1001-v7_L0696_M0451.docx" in the zip file "JVET-M0451-v1.zip".)
【文献】Sung-Chang Lim, et al.,"CE2: Subsampled Laplacian calculation (Test 6.1, 6.2, 6.3, and 6.4)",Document: JVET-L0147, [online],JVET-L0147 (version 1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2018年09月24日,Pages 1-8,[令和5年5月12日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=4228> and <URL: https://jvet-experts.org/doc_end_user/documents/12_Macao/wg11/JVET-L0147-v1.zip>.,(See document file "JVET-L0147.docx" in the zip file "JVET-L0147-v1.zip".)
【文献】Jung Won Kang, et al.,"Description of SDR video coding technology proposal by ETRI and Sejong University",Document: JVET-J0013-v2, [online],JVET-J0013 (version 3),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2018年04月11日,Pages 1 and 8-10,[令和5年5月12日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=3446> and <URL: https://jvet-experts.org/doc_end_user/documents/10_San%20Diego/wg11/JVET-J0013-v3.zip>.,(See document file "JVET-J0013-v2.docx" in the zip file "JVET-J0013-v3.zip".)
【文献】Jonathan Taquet, et al.,"Non-Linear Adaptive Loop Filter",Document: JVET-M0385, [online],JVET-M0385 (version 1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年01月02日,Pages 1-3,[令和4年10月31日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=5192> and <URL: https://jvet-experts.org/doc_end_user/documents/13_Marrakech/wg11/JVET-M0385-v1.zip>.,(See document file "JVET-M0385.docx" in the zip file "JVET-M0385-v1.zip".)
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
映像データ処理方法であって、
映像の現在の映像領域に非線形フィルタリング動作が適用されることを判定することと、
前記現在の映像領域に対して少なくとも1つの第1のフィルタリングインデックスを生成することと、
少なくとも1つの第1のフィルタリングインデックス及び少なくとも1つの係数パラメータ構文要素に基づいて、第1のフィルタリング係数セットを導出することと、
前記少なくとも1つの第1のフィルタリングインデックス及び少なくとも1つのフィルタリングクリッピング構文要素に基づいて、第1のクリッピングパラメータセットを導出することと、
前記第1のフィルタリング係数セット及び第1のクリッピングパラメータセットに基づいて、前記非線形フィルタリング動作を実行することと、
前記現在の映像領域と前記映像のビットストリームとの間の変換を実行することと、
を有し、
前記少なくとも1つのフィルタリングクリッピング構文要素は、前記第1のフィルタリング係数セットの値から独立して前記ビットストリーム内に存在
し、
前記少なくとも1つのフィルタリングクリッピング構文要素は、クリッピングインデックスを含む、
方法。
【請求項2】
前記第1のフィルタリング係数セットの少なくとも1つの値がゼロである
ことから独立して、前記少なくとも1つのフィルタリングクリッピング構文要素が、前記ビットストリーム内に存在する、請求項1に記載の方法。
【請求項3】
前記第1のフィルタリング係数セットの値に関係なく、前記少なくとも1つのフィルタリングクリッピング構文要素が、前記ビットストリーム内に存在する、
請求項1に記載の方法。
【請求項4】
前記少なくとも1つのフィルタリングクリッピング構文要素及び前記少なくとも1つの係数パラメータ構文要素は、同じ適応パラメータセット内に存在する、
請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記少なくとも1つの係数パラメータ構文要素は、係数絶対値を含む、
請求項1~
4のいずれか1項に記載の方法。
【請求項6】
前記少なくとも1つのフィルタリングクリッピング構文要素は、2ビットの固定長でコーディングされ、
前記少なくとも1つの係数パラメータ構文要素は、固定次数の指数ゴロムモデルを使用してコーディングされる、
請求項1~
5のいずれか1項に記載の方法。
【請求項7】
前記現在の映像領域は、コーディングツリーブロック又はスライスを含む、
請求項1~
6のいずれか1項に記載の方法。
【請求項8】
前記少なくとも1つの第1のフィルタリングインデックスは、異なる方向における複数のサンプルの差に基づいて導出される、
請求項1~
7のいずれか1項に記載の方法。
【請求項9】
前記現在の映像領域は、複数のM×Mの映像サブ領域に分割され、
異なる方向における前記複数のサンプルの差は、M×Mの映像サブ領域の各々について導出され、
Mは、2又は4に等しい、
請求項
8に記載の方法。
【請求項10】
異なる方向における前記複数のサンプルの差は、1:Nのサブサンプリングレートに基づいて導出され、
Nは、1より大きい、
請求項
8又は
9に記載の方法。
【請求項11】
前記変換は、前記現在の映像領域を前記ビットストリームに符号化することを含む、
請求項1~
10のいずれか1項に記載の方法。
【請求項12】
前記変換は、前記ビットストリームから前記現在の映像領域に復号化することを含む、
請求項1~
10のいずれか1項に記載の方法。
【請求項13】
処理装置と、命令を有する非一時的メモリと、を含む映像データ処理装置であって、
前記処理装置による実行時に、前記命令は、プロセッサに、
映像の現在の映像領域に非線形フィルタリング動作が適用されることを判定することと、
前記現在の映像領域に対して少なくとも1つの第1のフィルタリングインデックスを生成することと、
少なくとも1つの第1のフィルタリングインデックス及び少なくとも1つの係数パラメータ構文要素に基づいて、第1のフィルタリング係数セットを導出することと、
前記少なくとも1つの第1のフィルタリングインデックス及び少なくとも1つのフィルタリングクリッピング構文要素に基づいて、第1のクリッピングパラメータセットを導出することと、
前記第1のフィルタリング係数セット及び第1のクリッピングパラメータセットに基づいて、前記非線形フィルタリング動作を実行することと、
前記現在の映像領域と前記映像のビットストリームとの間の変換を実行することと、
を実行させ、
前記少なくとも1つのフィルタリングクリッピング構文要素は、前記第1のフィルタリング係数セットの値から独立して前記ビットストリーム内に存在
し、
前記少なくとも1つのフィルタリングクリッピング構文要素は、クリッピングインデックスを含む、
装置。
【請求項14】
命令を格納する非一時的なコンピュータ可読記憶媒体であって、
前記命令は、プロセッサに、
映像の現在の映像領域に非線形フィルタリング動作が適用されることを判定することと、
前記現在の映像領域に対して少なくとも1つの第1のフィルタリングインデックスを生成することと、
少なくとも1つの第1のフィルタリングインデックス及び少なくとも1つの係数パラメータ構文要素に基づいて、第1のフィルタリング係数セットを導出することと、
前記少なくとも1つの第1のフィルタリングインデックス及び少なくとも1つのフィルタリングクリッピング構文要素に基づいて、第1のクリッピングパラメータセットを導出することと、
前記第1のフィルタリング係数セット及び第1のクリッピングパラメータセットに基づいて、前記非線形フィルタリング動作を実行することと、
前記現在の映像領域と前記映像のビットストリームとの間の変換を実行することと、
を実行させ、
前記少なくとも1つのフィルタリングクリッピング構文要素は、前記第1のフィルタリング係数セットの値から独立して前記ビットストリーム内に存在
し、
前記少なくとも1つのフィルタリングクリッピング構文要素は、クリッピングインデックスを含む、
記憶媒体。
【請求項15】
映像のビットストリームを格納する方法であって、
映像の現在の映像領域に非線形フィルタリング動作が適用されることを判定することと、
前記現在の映像領域に対して少なくとも1つの第1のフィルタリングインデックスを生成することと、
少なくとも1つの第1のフィルタリングインデックス及び少なくとも1つの係数パラメータ構文要素に基づいて、第1のフィルタリング係数セットを導出することと、
前記少なくとも1つの第1のフィルタリングインデックス及び少なくとも1つのフィルタリングクリッピング構文要素に基づいて、第1のクリッピングパラメータセットを導出することと、
前記第1のフィルタリング係数セット及び第1のクリッピングパラメータセットに基づいて、前記非線形フィルタリング動作を実行することと、
前記非線形フィルタリング動作に基づいて、前記映像の前記ビットストリームを生成することと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に格納することと、
を有し、
前記少なくとも1つのフィルタリングクリッピング構文要素は、前記第1のフィルタリング係数セットの値から独立して前記ビットストリーム内に存在
し、
前記少なくとも1つのフィルタリングクリッピング構文要素は、クリッピングインデックスを含む、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2020年4月15日出願の国際特許出願PCT/CN2020/084876号の国内段階であり、2019年4月15日出願の国際特許出願PCT/CN2019/082626号の優先権および利益を主張する。全ての前述の特許出願は、参照によりその全体が本明細書に組み込まれる。
【0002】
この特許明細書は、映像符号化・復号化の技術、デバイスおよびシステムに関する。
【背景技術】
【0003】
映像圧縮の進歩にもかかわらず、デジタル映像は、依然として、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信及び表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
【発明の概要】
【0004】
デジタル映像符号化に関し、具体的には、非線形適応ループフィルタリングにおける時間的予測に関するデバイス、システム、および方法について記載する。記載された方法は、既存の映像符号化規格(例えば、高効率映像符号化(HEVC))および将来の映像符号化規格(例えば、汎用映像符号化(VVC))、又はコーデックの両方に適用され得る。
【0005】
1つの代表的な態様において、開示される技術は、視覚メディア処理の方法を提供するために使用してもよい。この方法は、現在の映像ブロックに対して、非線形フィルタリング動作の一部であるクリッピング演算の1つ以上のパラメータを構成することと、前記1つ以上のパラメータに基づいて、前記現在の映像ブロックと前記現在の映像ブロックのビットストリーム表現との間での変換を行うこととを含み、前記1つ以上のパラメータは、規則に従って符号化される。
【0006】
別の代表的な態様において、開示される技術は、視覚メディア処理の方法を提供するために使用してもよい。この方法は、現在の映像ブロックの特性に基づいて、非線形フィルタリング動作の1つ以上のパラメータを判定することと、1つ以上のパラメータに基づいて、現在の映像ブロックと現在の映像ブロックのビットストリーム表現との間での変換を行うことと、を含む。
【0007】
さらに別の代表的な態様において、開示される技術は、視覚メディア処理の方法を提供するために使用してもよい。この方法は、現在の映像ブロックに対して、非線形フィルタリング動作の一部であるクリッピング演算の1つ以上のパラメータを構成することと、前記1つ以上のパラメータに基づいて、前記現在の映像ブロックと前記現在の映像ブロックのビットストリーム表現との間での変換を行うこととを含み、前記1つ以上のパラメータは、前記非線形フィルタリング動作に関連付けられた少なくとも1つのフィルタ係数の値とは関係なく、前記ビットストリーム表現で提示される。
【0008】
さらに別の代表的な態様において、開示される技術は、視覚メディア処理の方法を提供するために使用してもよい。この方法は、現在の映像ブロックに対して、非線形フィルタリング動作の一部であるクリッピング演算の1つ以上のパラメータを構成することと、前記1つ以上のパラメータに基づいて、前記現在の映像ブロックと前記現在の映像ブロックのビットストリーム表現との間での変換を行うこととを含み、前記現在の映像ブロックは、i番目のフィルタからのフィルタ係数を継承し、前記クリッピング演算の前記1つ以上のパラメータの継承に関連付けられた第1の規則は、フィルタ係数の継承に関連付けられた第2の規則とは異なる。
【0009】
さらに別の代表的な態様において、上記方法は、処理装置が実行可能なコードの形式で実施され、コンピュータ可読プログラム媒体に記憶される。
【0010】
さらに別の代表的な態様において、映像エンコーダ装置は、本明細書で説明されるような方法を実装してもよい。
【0011】
さらに別の代表的な態様において、映像デコーダ装置は、本明細書で説明されるような方法を実装してもよい。
【0012】
開示される技術の上記および他の態様および特徴は、図面、説明および特許請求の範囲でより詳細に説明される。
【図面の簡単な説明】
【0013】
【
図1】映像符号化のためのエンコーダブロック図の例を示す。
【
図2A】形状変換に基づく適応ループフィルタ(GALF)フィルタ形状の例を示す。
【
図2B】形状変換に基づく適応ループフィルタ(GALF)フィルタ形状の例を示す。
【
図2C】形状変換に基づく適応ループフィルタ(GALF)フィルタ形状の例を示す。
【
図3】GALFエンコーダ決定のためのフローグラフの例を示す。
【
図4A】適応ループフィルタ(ALF)分類のための例示的なサブサンプリングされたラプラシアン計算を示す。
【
図4B】適応ループフィルタ(ALF)分類のための例示的なサブサンプリングされたラプラシアン計算を示す。
【
図4C】適応ループフィルタ(ALF)分類のための例示的なサブサンプリングされたラプラシアン計算を示す。
【
図4D】適応ループフィルタ(ALF)分類のための例示的なサブサンプリングされたラプラシアン計算を示す。
【
図5】バイラテラルフィルタに利用される近傍のサンプルの例を示す。
【
図6】重み計算に利用される2つのサンプルを含む窓の例を示す。
【
図8A】非線形適応ループフィルタリングにおけるパラメータの時間的予測のための例示的な方法のフロー図を示す。
【
図8B】非線形適応ループフィルタリングにおけるパラメータの時間的予測のための例示的な方法のフロー図を示す。
【
図8C】非線形適応ループフィルタリングにおけるパラメータの時間的予測のための例示的な方法のフロー図を示す。
【
図9】本特許明細書に記載される映像の復号化又は映像の符号化技術を実現するためのハードウェアプラットフォームの一例を示すブロック図である。
【
図10】開示された技術を実装することができる例示的な映像処理システムを示すブロック図である。
【
図11】映像メディア処理方法の一例を示すフローチャートである。
【
図12】映像メディア処理方法の一例を示すフローチャートである。
【
図13】映像メディア処理方法の一例を示すフローチャートである。
【
図14】映像メディア処理方法の一例を示すフローチャートである。
【発明を実施するための形態】
【0014】
より高い解像度の映像の需要が増大しているため、近代技術において、映像符号化法および技術は、遍在している。ビデオコーデックは、一般的に、デジタル映像を圧縮又は展開する電子回路又はソフトウェアを含み、より高い符号化効率を提供するように絶えず改良されている。ビデオコーデックは、非圧縮映像を圧縮フォーマットに変換する、又はその逆である。映像の品質、映像を表現するために使用されるデータの数(ビットレートで決まる)、エンコーディングおよびデコーディングアルゴリズムの複雑性、データの損失およびエラーに対する敏感さ、編集のしやすさ、ランダムアクセス、およびエンドツーエンドの遅延(待ち時間)の間には複雑な関係がある。この圧縮フォーマットは、通常、標準的な映像圧縮仕様、例えば、高効率映像符号化(HEVC)規格(H.265またはMPEG-H Part2としても知られている)、完成させるべき汎用映像符号化(VVC)規格、または他の現在のおよび/または将来の映像符号化基準に準拠する。
【0015】
映像符号化規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-1とMPEG-4 Visualを作り、両団体はH.262/MPEG-2 VideoとH.264/MPEG-4 AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像符号化規格は、時間予測と変換符号化が利用されるハイブリッド映像符号化構造に基づく。HEVCを超えた将来の映像符号化技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Mode)と呼ばれる参照ソフトウェアに組み込まれてきた。2018年4月には、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)の間にJoint Video Expert Team(JVET)が発足し、HEVCと比較して50%のビットレート削減を目標にVVC規格の策定に取り組んでいる。
【0016】
開示される技術の実施形態は、ランタイム性能を向上させるために、既存の映像符号化規格(例えば、HEVC、H.265)および将来の規格に適用されてもよい。本明細書では、説明の可読性を向上させるために章の見出しを使用しており、説明または実施形態(および/または実装形態)をそれぞれの章のみに限定するものではない。
【0017】
1 色空間および彩度サブサンプリングの例
【0018】
色空間はカラーモデル(またはカラーシステム)としても知られ、色の範囲を数字のタプル(tuple)として簡単に記述する抽象的な数学モデルであり、一般的に、3または4つの値または色成分(例えばRGB)である。基本的には、色空間は座標系とサブ空間とを精緻化したものである。
【0019】
映像圧縮の場合、最も頻繁に使用される色空間は、YCbCrおよびRGBである。
【0020】
YCbCr、Y’CbCr、またはY Pb/Cb Pr/Crは、YCBCRまたはY’CBCRとも呼ばれ、映像およびデジタル写真システムのカラー画像パイプラインの一部として使用される色空間のファミリーである。Y’は輝度成分であり、CBおよびCRは青色差および赤色差クロマ成分である。Y’(素数を有する)はYとは区別され、Yは輝度であり、ガンマ補正されたRGB原色に基づいて光強度が非線形に符号化されることを意味する。
【0021】
クロマサブサンプリングは、人間の視覚システムが、輝度よりも色差の方が知覚が低いことを利用して、輝度情報よりもクロマ情報の方が解像度が低くなるように実装して画像を符号化する方法である。
【0022】
1.1 4:4:4 カラーフォーマット
【0023】
3つのY’CbCr成分の各々は、同じサンプルレートを有し、従って、クロマサブサンプリングは存在しない。このスキームは、ハイエンドのフィルムスキャナおよび映画のポストプロダクションに使用されることがある。
【0024】
1.2 4:2:2 カラーフォーマット
【0025】
2つのクロマ成分は、輝度のサンプルレートの半分でサンプリングされ、例えば、水平クロマ解像度が半分にされる。これにより、視覚的にほとんどまたは全く差がなく、非圧縮の映像信号の帯域幅を1/3に低減することができる。
【0026】
1.3 4:2:0 カラーフォーマット
【0027】
4:2:0では、水平サンプリングは4:1:1に比べて2倍になるが、このスキームではCbおよびCrチャネルを各1行おきのラインでのみサンプリングするので、垂直解像度は半分になる。従って、データレートは同じである。CbおよびCrはそれぞれ水平および垂直方向の両方向に2倍にサブサンプリングされる。異なる水平および垂直位置を有する4:2:0スキームの3つの変形がある。
【0028】
○ MPEG-2において、CbおよびCrは水平方向に共座している。Cb、Crは垂直方向の画素間に位置する(格子間に位置する)。
【0029】
○ JPEG/JFIFにおいて、H.261、およびMPEG-1、Cb、およびCrは、交互の輝度サンプルの中間の格子間に位置する。
【0030】
○ 4:2:0 DVにおいて、CbおよびCrは、水平方向に共座している。垂直方向において、それらは交互に並ぶ線上に共座している。
【0031】
2 典型的な映像コーデックの符号化フローの例
【0032】
図1は、3つのインループフィルタリングブロック、すなわち非ブロック化フィルタ(DF)、サンプル適応オフセット(SAO)およびALFを含むVVCのエンコーダブロック図の例を示す。DF(予め規定されたフィルタを使用する)とは異なり、SAOおよびALFは、現在のピクチャのオリジナルサンプルを利用し、オフセットを追加し、且つ有限インパルス応答(FIR)フィルタを適用することによって、オフセットおよびフィルタ係数を信号通知する符号化側情報とともに、元のサンプルと再構成サンプルとの間の平均二乗誤差をそれぞれ低減する。ALFは、各ピクチャの最後の処理ステージに位置し、前のステージで生成されたアーチファクトを捕捉し、修正しようとするツールと見なすことができる。
【0033】
3 JEMにおける形状変換に基づく適応ループフィルタの例
【0034】
JEMにおいて、ブロックに基づくフィルタ適応を用いた形状変換に基づく適応ループフィルタ(GALF)が適用される。輝度成分は、局所勾配の方向および働きに基づいて、2×2ブロックごとに25個のフィルタのうち1つを選択する。
【0035】
3.1 フィルタ形状の例
【0036】
本願において、輝度成分として、最大3つのダイヤモンドフィルタ形状(
図2Aに示すように、5×5ダイヤモンド、7×7ダイヤモンド、9×9ダイヤモンドのそれぞれについて
図2B、
図2Cに示す)を選択することができる。輝度成分に使用されるフィルタ形状を示すために、ピクチャレベルでインデックスが信号通知される。1つのピクチャにおけるクロマ成分に対して、5×5ダイヤモンド形状が常に使用される。
【0037】
3.1.1 ブロック区分
【0038】
各2×2ブロックを25個のクラスのうちの1つに分類する。分類インデックスCは、その方向性DおよびアクティビティA^の量子化値に基づいて、以下のように導出される。
【0039】
【0040】
DおよびA^を計算するために、まず、1-Dラプラシアンを使用して、水平、垂直および2つの対角線方向の勾配を計算する。
【0041】
【0042】
iおよびjは、2×2ブロックの左上のサンプルの座標を表し、R(i,j)は、座標(i,j)において再構成されたサンプルを示す。
そして、水平方向および垂直方向の勾配のD最大値およびD最小値を以下のように設定する。
【0043】
【0044】
そして、2つの対角線方向の勾配の最大値および最小値は、以下のように設定される。
【0045】
【0046】
指向性Dの値を導出するために、これらの値を互いに且つ2つの閾値t1およびt2と比較する。
ステップ1. gmax
h,v≦t1・gmin
h,vとgMax
d0,d1≦t1・gmin
d0,d1の両方がTRUEである場合、Dが0に設定される。
ステップ2. gmax
h,v/gmin
h,v>gMax
d0,d1/t1・gmin
d0,d1の場合、ステップ3から続け、あるいは、ステップ4から続ける。
ステップ3. gmax
h,v>t2・gmin
h,vである場合、Dは2に設定され、あるいは、Dは1に設定される。
ステップ4. gmax
d0,d1>t2・gmin
d0,d1である場合、Dは4に設定され、あるいは、Dは3に設定される。
【0047】
アクティビティ値Aは、以下のように計算される。
【0048】
【0049】
Aをさらに0~4の範囲に量子化し、量子化された値をA^とする。
ピクチャにおける両クロマ成分に対して、分類方法は適用されず、即ち、単一のALF係数のセットが各クロマ成分に対して適用される。
【0050】
3.1.2 フィルタ係数の幾何学的変換
【0051】
各2×2輝度ブロックをフィルタリングする前に、そのブロックに対して計算された勾配値に基づいて、フィルタ係数f(k,l)に回転または対角線および垂直方向の反転等の幾何学的変換を施す。これは、これらの変換をフィルタ支持領域内のサンプルに適用することに等しい。その考えは、ALFが適用される異なるブロックを、それらの方向性を揃えることによって、より類似させることである。
【0052】
対角線、垂直方向の反転および回転を含む3つの幾何学的変換を紹介する。
【0053】
【0054】
ここで、Kはフィルタのサイズであり、0≦k,l≦K-1が係数座標であり、位置(0,0)は左上隅にあり、位置(K-1,K-1)は右下隅にある。この変換は、そのブロックに対して計算された勾配値に基づいて、フィルタ係数f(k,l)に適用される。変換と4方向の4つの勾配との関係を表1にまとめる。
【0055】
【0056】
3.1.3 フィルタパラメータの信号通知
【0057】
JEMにおいて、GALFフィルタパラメータは、第1のCTUのために、すなわち、スライスヘッダの後且つ第1のCTUのSAOパラメータの前に信号通知される。最大25組の輝度フィルタ係数を信号通知することができる。ビットオーバーヘッドを低減するために、異なる分類のフィルタ係数をマージすることができる。また、参照ピクチャのGALF係数を記憶し、現在のピクチャのGALF係数として再利用することができる。現在のピクチャは、参照ピクチャのために記憶されたGALF係数を使用し、GALF係数信号通知を回避することを選択してもよい。この場合、1つの参照ピクチャへのインデックスのみが信号通知され、記憶されている示された参照ピクチャのGALF係数が現在のピクチャに継承される。
【0058】
GALF時間的予測をサポートするために、GALFフィルタセットの候補リストが保持される。新しいシーケンスを復号化する開始時は、候補リストは空である。1つのピクチャを復号化した後、対応するフィルタのセットを候補リストに加えてもよい。候補リストのサイズが最大許容値(すなわち、現在のJEMでは6)に達すると、新しい1組のフィルタが、最も古いセットを復号化の順序に上書きし、すなわち、先入れ先出し(FIFO)規則を適用して候補リストを更新する。重複を回避するために、対応するピクチャがGALF時間的予測を使用しない場合、1つのセットのみをリストに追加することができる。時間的スケーラビリティをサポートするために、複数のフィルタセットの候補リストがあり、各候補リストは1つの時間層に関連付けられる。具体的には、時間層インデックス(TempIdx)が割り当てられた各アレイは、TempIdxが小さい、前回復号化されたピクチャのフィルタセットを構成してもよい。例えば、k番目の配列は、kに等しいTempIdxに関連付けられるように割り当てられ、それは、TempIdxがk以下のピクチャからのフィルタセットのみを含む。特定のピクチャを符号化した後、このピクチャに関連付けられたフィルタセットを使用して、等しいまたはより高いTempIdxに関連付けられた配列を更新する。
【0059】
GALF係数の時間的予測は、信号通知オーバーヘッドを最小限に抑えるために、インター符号化されたフレームに使用される。イントラフレームの場合、時間的予測は利用不可能であり、各クラスに1組の16個の固定フィルタが割り当てられる。固定フィルタの使用を示すために、各クラスのためのフラグが信号通知され、必要に応じて、選択された固定フィルタのインデックスが信号通知される。所与のクラスに対して固定フィルタを選択した場合でも、このクラスに対して適応フィルタf(k,l)の係数を送信することができ、この場合、再構成画像に適用されるフィルタの係数は両方の係数セットの合計となる。
【0060】
輝度成分のフィルタリング処理は、CUレベルで制御することができる。GALFがCUの輝度成分に適用されるかどうかを示すために、1つのフラグが信号通知される。クロマ成分の場合、GALFが適用されるかどうかは、ピクチャレベルでのみ示す。
【0061】
3.1.4 フィルタリング処理
【0062】
デコーダ側において、1つのブロックに対してGALFが有効化されると、このブロック内の各サンプルR(i,j)がフィルタリングされ、その結果、以下に示すように、サンプル値R’(i,j)が得られる。ここで、Lは、フィルタ長を表し、fm,nは、フィルタ係数を表し、f(k,l)は、復号化されたフィルタ係数を表す。
【0063】
【0064】
3.1.5 エンコーダ側フィルタパラメータの判定処理
【0065】
図3には、GALFのための全体的なエンコーダ決定処理が示されている。各CUの輝度サンプルに対して、エンコーダは、GALFが適用され、かつ適切な信号通知フラグがスライスヘッダに含まれているか否かを決定する。クロマサンプルの場合、フィルタを適用する決定は、CUレベルではなくピクチャレベルに基づいて行われる。さらに、ピクチャのためのクロマGALFは、このピクチャのために輝度GALFが有効化されている場合にのみチェックされる。
【0066】
4.VCにおける形状変換に基づく適応ループフィルタの例
【0067】
現在のVVCにおけるGALFの設計は、JEMにおける設計に比べ、以下のような大きな変化を有している。
1)適応フィルタ形状を除去する。輝度成分に対しては7×7フィルタ形状のみが許可され、クロマ成分に対しては5×5フィルタ形状のみが許可される。
2)ALFパラメータの時間的予測および固定フィルタからの予測は、両方とも除去される。
3)各CTUに対して、ALFが有効化されるかまたは無効化されるかどうかに関わらず、1ビットのフラグが信号通知される。
4)クラスインデックスの計算は、2×2の代わりに、4×4レベルで行われる。また、
図4A~
図4Dに示すように、JVET-L0147で提案されているように、ALF分類のためのサブサンプリングされたラプラシアン計算方法が利用される。具体的には、1つのブロック内の各サンプルごとに水平/垂直/45対角線/135度勾配を計算する必要がない。その代わりに、1:2サブサンプリングが利用される。
【0068】
VTM4.0において、適応ループフィルタのフィルタリング処理は、以下のように行う。
【0069】
【0070】
ここで、サンプルI(x+i,y+j)入力サンプルであり、0(x,y)はフィルタリングされた出力サンプル(即ち、フィルタ結果)であり、w(i,j)はフィルタ係数を表す。実際において、VTM4.0は、固定小数点精度計算のために整数演算を使用して実装される。
【0071】
【0072】
ここで、Lはフィルタ長を表し、w(i,j)は固定小数点精度におけるフィルタ係数である。
【0073】
5 JVET-N0242における非線形適応ループフィルタリング(ALF)
【0074】
5.1 フィルタリングの再形成
【0075】
式(11)は、符号化効率に影響を及ぼすことなく、以下の式で再定式化することができる。
【0076】
【0077】
ここで、w(i,j)は、式(11)におけるフィルタ係数と同じである[例外w(0,0)、式(13)においては1に等しいが、式(11)において、1-Σ(i,j)≠(0,0)w(i,j)に等しい]。
【0078】
5.2 修正されたフィルタ
【0079】
上記(13)のフィルタ式を使用することで、単純なクリッピング関数を使用して、近傍のサンプル値I(x+i,y+j)が現在のサンプル値I(x,y)のフィルタリングと異なり過ぎている場合に、その影響を低減することで、非線形性を容易に導入し、ALFをより効率的にする。
【0080】
この提案において、ALFフィルタは、以下のように修正される。
【0081】
【0082】
ここで、K(d,b)=min(b,max(-b,d))はクリッピング関数であり、k(i,j)はクリッピングパラメータであり、これは(i,j)フィルタ係数に依存する。エンコーダは、最適化を行い、最良のk(i,j)を見出す。なお、整数精度で実装する場合、丸めΣ(i,j)≠(0,0)w(i,j)×K(I(x+i,y+i)-I(x,y),k(i,j))を用いたシフトが適用される。
【0083】
JVET-N0242の実装形態において、1つのALFフィルタごとにクリッピングパラメータk(i,j)を規定し、1つのフィルタ係数ごとに1つのクリッピング値を信号通知する。これは、1つの輝度フィルタ当たりビットストリームにおいて、最大12個のクリッピング値を信号通知することができ、クロマフィルタに対しては最大6個のクリッピング値を信号通知することができることを意味する。
【0084】
信号通知コストおよびエンコーダの複雑性を制限するために、クリッピング値の評価は、小さなセットの可能な値に限定する。本提案では、INTERおよびINTRAタイルグループに対して同じ4つの固定値のみを使用する。
【0085】
局所的な差の分散は、輝度の場合、クロマの場合よりも大きいことが多いので、輝度フィルタおよびクロマフィルタの2つの異なるセットを使用する。各セットに最大サンプル値(ここでは、10ビットのビット深度の場合、1024)を含め、必要でない場合、クリッピングを無効化することができる。
【0086】
JVET-N0242試験に使用したクリッピング値のセットを表2に示す。4つの値は、対数ドメインにおいて、輝度についてのサンプル値(10ビットで符号化される)の全範囲を、およびクロマについての4~1024の範囲をほぼ等分することによって選択された。
【0087】
より正確には、クリッピング値の輝度テーブルは、以下の式によって得られた。
【0088】
【0089】
同様に、クリッピング値のクロマテーブルは、以下の式に従って取得される。
【0090】
【0091】
【0092】
選択されたクリッピング値は、上記表2のクリッピング値のインデックスに対応するゴロム符号化方式を使用して、「alf_data」構文要素に符号化される。この符号化方式は、フィルタインデックスの符号化方式と同じである。
【0093】
5.2.1 構文、意味論
【0094】
NLALFによって新規に導入された構文変更(以下、太字、イタリック体、下線付きフォントで示す)は、以下のようになる。
【0095】
【0096】
6 JVET-N0427におけるCTUに基づくALF
【0097】
VTM4には適応パラメータセット(APS)が採用された。各APSは、1つのセットの信号通知されたALFフィルタを含み、最大32個のAPSがサポートされる。本提案では、スライスレベルの時間的フィルタを試験する。1つのタイルグループは、APSからのALF情報を再利用することにより、オーバーヘッドを低減することができる。APSは、先入れ先出し(FIFO)バッファとして更新される。
【0098】
輝度成分のために、ALFが輝度CTBに適用される場合、16個の固定された、5個の時間的な、または1つの信号通知されたフィルタセット(スライスレベルで信号通知される)の中からの選択が示される。フィルタセットインデックスのみが信号通知される。1つのスライスに対して、25個のフィルタからなる1つの新しいセットのみを信号通知することができる。1つのスライスに対して新しいセットが信号通知された場合、同じスライス内のすべての輝度CTBはそのセットを共有する。固定フィルタセットを使用して新しいスライスレベルフィルタセットを予測することができ、これを輝度CTBの候補フィルタセットとして使用できる。フィルタの数は合計64個である。
【0099】
クロマ成分の場合、ALFをクロマCTBに適用する時に、1つのスライスに対して新しいフィルタを信号通知する場合、CTBはこの新しいフィルタを使用し、そうでない場合、時間スケーラビリティ制約を満たす最も新しい時間的クロマフィルタを適用する。
【0100】
スライスレベルの時間的フィルタとして、APSは、先入れ先出し(FIFO)バッファとして更新される。
【0101】
7 再構成後フィルタ
【0102】
7.1 拡散フィルタ(DF)
【0103】
JVET-L0157において、CUのイントラ/インター予測信号は、拡散フィルタによってさらに修正することができる拡散フィルタが提案されている。
【0104】
均一拡散フィルタ
この均一拡散フィルタは、例えば、下記に定義される、hIまたはhIVとして与えられるような、固定マスクを用いて予測信号を畳み込むことによって実現される。
予測信号そのものの他に、ブロックの左側および上側にある1つの再構成サンプルの行が、フィルタリングされた信号の入力として使用され、この場合、これらの再構成サンプルのインターブロックでの使用を回避することができる。
【0105】
predを、イントラ予測または動き補償予測によって得られた所与のブロックについての予測信号とする。フィルタの境界点を扱うためには、予測信号を予測信号predextに拡大する必要がある。この拡張予測は、次の2つの方法で形成することができる。
【0106】
中間ステップとして、ブロックの左上にある1行の再構成サンプルを予測信号に加え、得られた信号を全方向にミラーリングする。或いは、予測信号そのものだけを全方向にミラーリングする。後者の拡張は、インターブロックに使用される。この場合、予測信号そのものだけが、拡張予測信号predextのためのインプットを含む。
【0107】
フィルタhIを使用する場合、前述の境界拡張を使用して、予測信号predをhI*predで置き換えることが提案される。ここで、フィルタマスクhIは、以下のように与えられる。
【0108】
【0109】
フィルタhIVを使用する場合、予測信号predをhIV*predで置き換えることが提案される。ここで、フィルタhIVは、以下のように与えられる。
hIV=hI*hI*hI*hI.
【0110】
指向性拡散フィルタ
信号適応拡散フィルタの代わりに、固定マスクを有する指向性フィルタ、水平フィルタhhor、垂直フィルタhverが使用される。より正確には、前の部分のマスクhIに対応する均一拡散フィルタリングは、垂直方向にのみ適用されるかまたは水平方向にのみ適用されるかのいずれかに制限される。予測信号に、以下の固定フィルタマスクを適用することで垂直フィルタを実現する。
【0111】
【0112】
転置マスクHhor=Ht
Verを使用することによって、水平フィルタを実現する。
【0113】
7.2 バイラテラルフィルタ(BF)
【0114】
JVET-L0406にはバイラテラルフィルタが提案されており、変換係数がゼロでなく、スライス量子化パラメータが17よりも大きい輝度ブロックに常に適用される。従って、バイラテラルフィルタの使用を信号通知する必要がない。逆変換の直後の復号化されたサンプルに対して、適用された場合、バイラテラルフィルタが行われる。また、符号化された情報からフィルタパラメータ、即ち重みを明示的に導出する。
【0115】
このフィルタリング処理は、以下のように定義される。
【0116】
【0117】
ここで、P
0,0は現在のサンプルの強度であり、P’
0,0は現在のサンプルの修正された強度であり、P
k,0およびW
kはそれぞれk番目の近傍のサンプルの強度および重みパラメータである。1つの現在のサンプルおよびその4つの近傍のサンプル(即ち、K=4)の例を
図5に示す。
【0118】
具体的には、k番目の近傍のサンプルに関連付けられた重みWk(x)を以下のように定義する。
Wk(x)=Distancek×Rangek(x). (2)
【0119】
ここで、以下である。
【0120】
【0121】
ここで、σdは符号化モードおよび符号化ブロックの大きさに依存する。上述したフィルタリング処理は、TUをさらに分割する場合、イントラ符号化ブロックおよびインター符号化ブロックに適用され、並列処理を可能にする。
【0122】
映像信号の統計的特性をよりよく捕捉し、フィルタの性能を改善するために、式(2)に基づく重み関数をσdパラメータで調整し、符号化モードおよびブロック分割のパラメータ(最小寸法)に依存するように、表4にする。
【0123】
【0124】
符号化性能をさらに改善するために、TUが分割されていない場合のインター符号化ブロックの場合、現在のサンプルとその近傍のサンプルの1つとの間の強度差を、現在のサンプルを含む2つの窓と近傍のサンプルとの間の代表的な強度差に置き換える。そのため、フィルタリング処理の式を以下のように修正する。
【0125】
【0126】
ここで、P
k,m、P
0,mは、それぞれP
k,0、P
0,0を中心とする窓内のm番目のサンプル値を表す。本提案において、窓のサイズは3×3に設定される。P
2,0およびP
0,0を2つのウィンドウ含む例を
図6に示す。
【0127】
7.3 アダマール変換ドメインフィルタ(HF)
【0128】
JVET-K0068において、1D Hadamard変換ドメインにおけるインループフィルタは、再構成後のCUレベルに適用され、乗算不要で実装されている。予め規定された条件を満たすすべてのCUブロックに対して提案されたフィルタを適用し、符号化された情報からフィルタパラメータを導出する。
【0129】
提案されたフィルタリングは、4×4ブロックを除き、且つスライス量子化パラメータが17よりも大きい場合、非ゼロ変換係数を有する輝度再構成ブロックに常に適用される。フィルタパラメータは、符号化された情報から明示的に導出される。逆変換の直後の復号化されたサンプルに対して、適用された場合、提案されたフィルタリングが行われる。
【0130】
再構成されたブロック画素からの各画素に対して、画素処理は、以下のステップを含む。
○ 走査パターンに従って、現在の画素を含む処理画素の周囲の4つの近傍の画素を走査する。
○ 読み取り画素の4点のアダマール変換
○ 次式に基づくスペクトルフィルタリング。
【0131】
【0132】
ここで、(i)はアダマールスペクトルにおけるスペクトル成分のインデックスであり、R(i)はインデックスに対応する再構成画素のスペクトル成分であり、σは以下の式を使用してコーデック量子化パラメータQPから導出するフィルタパラメータである。
【0133】
【0134】
走査パターンの例を
図7に示しており、この中でAは現在の画素であり、{B,C,D}は周囲の画素である。
【0135】
CU境界にある画素の場合、走査パターンを調整し、すべての必要な画素が現在のCU内にくるようにする。
【0136】
8 仮想パイプライニングデータユニット(VPDU)
【0137】
仮想パイプラインデータユニット(VPDU)は、ピクチャ内の非重複M×M-luma(L)/N×N-chroma(C)ユニットとして定義される。ハードウェアデコーダにおいて、連続したVPDUは、複数のパイプラインステージで同時に処理され、異なるステージは異なるVPDUを同時に処理する。VPDUのサイズはほとんどのパイプラインステージにおいてバッファサイズにほぼ比例するので、VPDUのサイズを小さくすることが非常に重要であると言われている。HEVCハードウェアデコーダにおいて、VPDUのサイズは、最大変換ブロック(TB)のサイズに設定される。最大TBサイズを32×32-L/16×16-C(HEVCのように)から64×64-L/32×32-C(現在のVVCのように)に拡大することは、符号化利得をもたらすことができ、HEVCに比べ、VPDUサイズ(64×64-L/32×32-C)の4倍となる。しかし、VVCでは、さらなる符号化利得を得るために、4分木(QT)符号化ユニット(CU)分割に加えて、3分木(TT)と2分木(BT)が採用されており、TTとBT分割は128×128-L/64×64-Cの符号化ツリーブロック(CTU)に再帰的に適用できるため、HEVCと比較してVPDUサイズ(128×128-L/64×64-C)が16倍になると言われている。
【0138】
VVCの現在の設計において、VPDUのサイズは、64×64-L/32×32-Cとして定義される。
【0139】
9 既存の実装形態の欠点
【0140】
JVET-N0242における非線形ALF(NLALF)設計には、以下の問題がある。
【0141】
(1) GALFにおける分類処理は、ALFを適用する前に再構成されたサンプルを利用する勾配およびラプラシアン活動に依存する。しかしながら、分類結果が不正確である場合がある。例えば、1つのサンプルについて、そのサンプルとその近傍との間の差は非常に類似している場合があり、一方、別のサンプルについて、そのサンプルと1つの近傍との間の差は異なり過ぎ、他のすべてのサンプルについて、差が小さ過ぎる場合もある。これらの2つの場合において、それらを1つのクラスインデックスに分類することができ、これらのクラスインデックスは不当である場合がある。
【0142】
(2) クリッピングパラメータは、フィルタ係数に関連付けられる。しかしながら、複数のクラスに対して1つのフィルタを利用してフィルタマージ処理を行ってもよい。また、同じクラスインデックスを有する2つのブロック(現在のGALF設計において、0・・・24)について、フィルタ係数およびクリッピングパラメータは同じである。しかしながら、2つのブロックは異なる特徴を有してもよく、例えば、異なる幾何学的変換を選択してもよい。同じクリッピングパラメータを使用することは、最適ではない場合もある。
【0143】
(3) クリッピングパラメータのインデックスは、非ゼロフィルタ係数ごとに信号伝達され、このフィルタ係数は、構文解析ステージにおいてフィルタ係数を構築することを必要とする。このような設計はハードウェア実装には望ましくない。
【0144】
(4) 時間的予測処理において、1つのブロックは、前回符号化されたフレームからのフィルタ係数を継承する場合がある。クリッピングパラメータをどのように扱うかを検討する必要がある。
【0145】
(5) bを上限とし、-bを下限とし、dをインプットとするクリッピング関数K(d,b)=min(b,max(-b,d)。上限と下限の等分した大きさの制限は、最適でない場合もある。
【0146】
10 非線形ALFにおけるパラメータの時間的予測のための例示的な方法
【0147】
本開示の技術の実施形態は、既存の実装の欠点を克服し、それにより、より高い符号化効率を有する映像符号化を提供する。開示される技術に基づいた非線形適応ループフィルタリングの時間的予測は、既存のおよび将来の映像符号化規格の両方を向上させることができ、様々な実装形態のために以下の例で解明される。以下に提供される開示される技術の例は、一般的な概念を説明するものであり、限定するものと解釈されるべきではない。一例において、明確に示されていない限り、逆に示されていない限り、これらの例に記載されている様々な特徴を組み合わせることができる。
【0148】
これらの例において、1つのフィルタは複数のフィルタ係数に関連付けられてもよい。1つのフィルタセットは複数のフィルタを表す。なお、i番目のフィルタをF
iで表し、その関連付けられたフィルタ係数をF
ikで表すと、例えば、変数kは、F
iに関連付けられたk番目のフィルタ係数を表し、例えば、
図2におけるCkに対応してもよい。
【0149】
1. 符号化された情報に従って、NLALFパラメータ(例えば、オン/オフ制御フラグ、クリッピングパラメータ)を判定することが提案される。
a. NLALFパラメータ(例えば、オン/オフ制御フラグ、クリッピングパラメータ)は、符号化モード情報に依存してもよい。
i. 一例において、どのNLALFパラメータを選択するかは、符号化モード、例えばイントラモードまたは非イントラモードによって判定されてもよい。
ii. 一例において、どのNLALFパラメータを選択するかは、符号化モード、例えばイントラモードまたはインターモードによって判定されてもよい。
iii. 一例において、どのNLALFパラメータを選択するかは、IBCモードまたは非IBCモード等の符号化モードによって判定されてもよい。
b. NLALFパラメータ(例えば、オン/オフ制御フラグ、クリッピングパラメータ)は、変換情報に依存してもよい。
i. 一例において、それらは、変換スキップが適用されるかどうかに依存してもよい。
c. NLALFパラメータ(例えば、オン/オフ制御フラグ、クリッピングパラメータ)は、残差情報に依存してもよい。
i. 一例において、それらは、ブロックが非ゼロ係数を含むかどうかに依存してもよい。
d. NLALFパラメータ(例えば、オン/オフ制御フラグ、クリッピングパラメータ)は、タイルグループのタイプ/ピクチャのタイプに依存してもよい。
e. NLALFパラメータ(例えば、オン/オフ制御フラグ、クリッピングパラメータ)は、1つのタイル/タイルグループ/スライスに関連付けられた時間層情報/参照ピクチャ情報等に依存してもよい。
i. 一例において、それらは、すべての参照ピクチャが現在のピクチャと比較して小さなPOC値に関連付けられているかどうかに依存してもよい。
ii. 一例において、それらは、すべての参照ピクチャが現在のピクチャと比較して小さなまたは等しいPOC値に関連付けられているかどうかに依存してもよい。
f. 1つのブロックに関連付けられた参照ピクチャ/動き情報に従って、NLALFパラメータ(例えば、オン/オフ制御フラグ、クリッピングパラメータ)を判定することが提案される。
【0150】
2. 幾何学的変換に従って、NLALFパラメータ(例えば、on/obiff制御フラグ、クリッピングパラメータ)を判定することが提案される。
a. 一例において、2つのM×N個のブロックに対して、それらが(例えば、同じクラスインデックスによって)同じフィルタに関連付けられても、関連付けられたNLALFパラメータ(例えば、クリッピングパラメータ)は異なってもよい。
b. 一例において、1つのフィルタ係数の場合、2つ以上のクリッピングパラメータの指示が信号通知されてもよい。
i. 一例において、クリッピングパラメータ/またはクリッピングパラメータのインデックス、またはクリッピングパラメータの他の表現の数は、許容される幾何学的変換の数に依存してもよい。
ii. 一例において、1つのフィルタパラメータに関連付けられたクリッピングパラメータ/クリッピングパラメータのインデックスの予測符号化が適用されてもよい。
1) 一例において、1つのサンプルまたはブロックのための1つのフィルタのクリッピングパラメータは、空間的/時間的に隣接するまたは非隣接の近傍のサンプルまたはブロックのために使用される別のフィルタの別のクリッピングパラメータによって予測されてもよい。
【0151】
3. なお、クリッピング関数の上限と下限の大きさは等しくなくてもよいことが提案される。
a. 一例において、1つのクリッピング関数のための上限および下限の両方の指示が信号通知されてもよい。
i. さらに、代替的に、上限と下限との間に予測符号化を適用してもよい。
【0152】
4. 固定長でクリッピングパラメータ(例えばインデックス)の指示を直接符号化することが提案される。
a. 一例において、それらの各々は、Nビットで符号化されてもよい(例えば、Nは2に設定される)。
i. 一例において、Nは固定されてもよい。
ii. 一例において、Nは、信号通知されてもよい。
iii. 一例において、Nは、QP、ピクチャ次元等のような符号化された情報に依存してもよい。
b. 代替的に、これらは、最大値Nを有する切り捨て単項法で符号化されてもよい。
i. 一例において、Nは固定されてもよい。
ii. 一例において、Nは、信号通知されてもよい。
iii. 一例において、Nは、QP、ピクチャ次元等のような符号化された情報に依存してもよい。
c. 代替的に、これらは、指数ゴロム法で符号化されてもよいが、1つのフィルタに対して/1つのフィルタセットに対して固定次数で符号化されてもよい。
d. 代替的に、これらは、ランレングス符号化で符号化されてもよい。
i. 一例において、各フィルタにおいて、クリッピングパラメータのインデックスは、まず「run」として符号化され、連続する同じクリッピングパラメータの数は「length」として符号化されてもよい。
ii. 一例において、すべてのフィルタにおけるそれぞれのk番目のフィルタ係数について、Fiに関連付けられたクリッピングパラメータのインデックスは、まず「run」として符号化され、他のフィルタにおける同じクリッピングパラメータの数は「length」として符号化されてもよい。
e. 一例において、クリッピングパラメータ(例えば、インデックス)の指示の予測符号化が適用されてもよい。
i. 一例において、1つのフィルタ内のクリッピングパラメータのために、予測符号化が適用されてもよい。
ii. 一例において、異なるフィルタ間のクリッピングパラメータのために予測符号化が適用されてもよい。
1) 一例において、1つの色成分に対して異なるフィルタ間でクリッピングパラメータのために、予測符号化が適用されてもよい。
2) 一例において、複数の色成分に対して異なるフィルタ間のクリッピングパラメータのために、予測符号化が適用されてもよい。
3) 一例において、異なるサンプルまたはブロックに使用されるフィルタのクリッピングパラメータに予測符号化が適用されてもよい。
iii. 一例において、異なるAPSにおいて信号通知されるクリッピングパラメータに予測符号化が適用されてもよい。
【0153】
5. クリッピングパラメータの構文解析とフィルタ係数の構築を切り離すことが提案される。
a. 一例において、クリッピングパラメータ(例えば、クリッピングパラメータのインデックス)の構文解析は、フィルタ係数の値から独立している。
b. 一例において、フィルタ係数が0に等しい場合、関連付けられたクリッピングパラメータの指示が依然として信号通知されてもよい。
【0154】
6. 1つのブロックがi番目のフィルタからフィルタ係数を継承する場合、i番目のフィルタに関連付けられたクリッピングパラメータは継承されなくてもよい。
a. 一例において、1つのブロックについて時間的予測が有効化されている場合、関連付けられたクリッピングパラメータを直接継承する代わりに、非ローカルALFを使用するかどうか(クリッピングを適用するかどうか)を信号通知してもよい。
i. 一例において、クリッピングを適用することが判定された場合、関連付けられたクリッピングパラメータを継承してもよい。
b. 一例において、フィルタ係数がi番目のフィルタから継承/予測され、クリッピングパラメータがj番目のフィルタから継承/予測されるとすると、iはjに等しくなくてもよい。
c. 一例において、フィルタ係数がi番目のフィルタから継承/予測され、クリッピングパラメータがj番目のフィルタから継承/予測されるとすると、i番目およびj番目のフィルタは、異なるフィルタセットに関連付けられてもよい。
i. 一例において、i番目のフィルタは、第1のピクチャ/タイルグループ/タイル/スライスに関連付けられてもよく、また、j番目のフィルタは、第2のピクチャ/タイルグループ/タイル/スライスに関連付けられてもよい。
ii. 一例において、iはjに等しくない。代替的に、iはjに等しい。
d. 一例において、フィルタインデックス等の、どのフィルタに関連付けられたクリッピングパラメータの指示が信号通知されてもよい。
e. 一例において、APSインデックス等の、どのフィルタセットに関連付けられたクリッピングパラメータの指示が信号通知されてもよい。
i. 代替的に、フィルタインデックスは、さらに信号伝達されてもよい。
【0155】
7. なお、分類処理において、サンプル差を直接使用する代わりに、切り出したサンプル差を利用してもよい。
a. 一例において、勾配計算処理において、クリッピングされたサンプルの差またはクリッピングされた勾配を使用してもよい。
b. 一例において、アクティビティ計算処理において、クリッピングされたサンプルの差またはクリッピングされた勾配を使用してもよい。
c. 一例において、垂直方向勾配を計算するために以下を使用してもよい。
Vk,l=|clip1(R(k,l)-R(k,l-1))+clip2(R(k,l)-R(k,l+1))|
ここで、clip1およびclip2は、2つのクリッピング関数である。
d. 一例において、水平方向勾配を計算するために以下を使用してもよい。
Hk,l=|clip1(R(k,l)-R(k-l,1))+clip2(R(k,l)-R(k+l,1))|
ここで、clip1およびclip2は、2つのクリッピング関数である。
【0156】
8. クリッピング演算を行うかどうかは、フィルタリング処理に使用するサンプルの位置(例えば、5.2章のI(x+i,y+j))に依存してもよい。
a. 一例において、フィルタサポートにおけるサンプルがCU/PU/TU/ピクチャ/タイル/タイルグループの境界に位置していない場合、クリッピングは無効化されてもよい。
b. 一例において、フィルタサポートにおけるサンプルがCU/PU/TU/ピクチャ/タイル/タイルグループ/CTU/仮想パイプライニングデータユニット(VPDU)の境界に位置する場合、クリッピングを適用してもよい。
c. 代替的に、クリップ操作クリッピング演算を行うかどうかは、CU/PU/TU/ピクチャ/タイル/タイルグループ/CTU/VPDUの境界からのフィルタリング処理に使用される前記サンプル間の距離(例えば、5.2章のI(x+i,y+j)))に依存してもよい。
i. 一例において、前記距離は、予め規定されてもよい(例えば、N個の画素)。
ii. 一例において、この距離は、信号通知されてもよい。
【0157】
9. 適応ループフィルタ処理に使用されるフィルタの形状(別名フィルタサポート)は、色表現に依存してもよい。
a. 一例において、前記カラーフォーマットが4:4:4である場合、すべての成分(例えば、Y、Cb、Cr)のための前記フィルタサポートは同じであるべきである。
i. 例えば、前記フィルタ支持体は、
図2Bに示すように、7*7菱形である。
ii. 例えば、前記フィルタ支持体は、
図2Aに示すように、5*5菱形である。
b. 一例において、前記カラーフォーマットがRGBである場合、すべての成分のための前記サポート領域である。
i. 例えば、前記フィルタ支持体は、
図2Bに示すように、7*7菱形である。
ii. 例えば、前記フィルタ支持体は、
図2Aに示すように、5*5菱形である。
【0158】
上述した例は、以下に説明する方法、例えば、方法800、810、および820のコンテキストに含まれてもよく、これらの方法は、映像デコーダまたは映像エンコーダにおいて実装されてもよい。
【0159】
図8Aは、例示的な映像処理方法のフローチャートを示す。方法800は、ステップ802において、現在の映像ブロックの特徴に基づいて、非線形フィルタリング動作の1つ以上のパラメータを判定することを含む。
【0160】
方法800は、ステップ804において、前記1つ以上のパラメータに基づいて、前記現在の映像ブロックと前記現在の映像ブロックのビットストリーム表現との間での変換を行うことを含む。
【0161】
いくつかの実施形態において、前記現在の映像ブロックの特徴は、前記現在の映像ブロックの符号化モードである。一例において、前記現在の前記映像ブロックの符号化モードは、イントラモード、非イントラモード、イントラブロックコピー(IBC)モードまたは非IBCモードである。
【0162】
いくつかの実施形態において、前記特徴は変換情報である。一例において、前記変換情報は、前記現在の映像ブロックに適用されている変換スキップの指示を含む。
【0163】
いくつかの実施形態において、前記特徴は残差情報である。一例において、前記残差情報は、前記現在の映像ブロックにおけるゼロ値の係数を含む。
【0164】
いくつかの実施形態において、前記特徴は、前記現在の映像ブロックを構成する、タイルグループタイプ、タイルグループのピクチャタイプまたはピクチャである。
【0165】
いくつかの実施形態において、前記特徴は、前記現在の映像ブロックを構成する、タイル、タイルグループ、ピクチャまたはスライスに関連付けられた時間層情報または参照情報である。
【0166】
いくつかの実施形態において、前記特徴は前記現在の映像ブロックに関連付けられた参照ピクチャまたは動き情報である。
【0167】
いくつかの実施形態において、前記特徴は幾何学的変換である。
【0168】
いくつかの実施形態において、前記前記パラメータは、オン/オフ制御フラグまたはクリッピング関数の1つ以上のパラメータを含む。
【0169】
いくつかの実施形態において、前記クリッピング関数の上限の大きさは前記クリッピング関数の下限の大きさと異なる。一例において、予測符号化は、前記クリッピング関数の前記上限と前記下限との間に適用される。
【0170】
図8Bは、例示的な映像処理方法のフローチャートを示す。方法810は、ステップ812において、現在の映像ブロックに対して、非線形フィルタリング動作の一部であるクリッピング演算の1つ以上のパラメータを構成することを含む。
【0171】
方法810は、ステップ814において、前記1つ以上のパラメータに基づいて、前記現在の映像ブロックと前記現在の映像ブロックのビットストリーム表現との間での変換を行うことを含む。
【0172】
いくつかの実施形態において、前記1つ以上のパラメータは、Nビットの固定長で符号化される。他の実施形態において、前記1つ以上のパラメータは、Nの最大値を有する切り捨て単項法で符号化される。一例において、Nは固定される。別の例において、Nが信号通知される。さらに別の例において、Nは、量子化パラメータを備える前記現在の映像ブロックの符号化された情報、または前記現在の映像ブロックを備えるピクチャの次元に基づく。
【0173】
いくつかの実施形態において、前記1つ以上のパラメータは、1つのフィルタまたはフィルタセットに対して固定次数の指数ゴロム法で符号化される。
【0174】
いくつかの実施形態において、1つ以上のパラメータは、ランレングス符号化で符号化される。
【0175】
いくつかの実施形態において、前記1つ以上のパラメータは、少なくとも1つのフィルタ係数の値とは独立して信号通知される。
【0176】
いくつかの実施形態において、前記1つ以上のパラメータは、フィルタ係数をさらに含み、現在の映像ブロックは、i番目のフィルタから前記フィルタ係数を継承し、前記クリッピング関数の前記1つ以上のパラメータは、i番目のフィルタとは異なるj番目のフィルタから継承される。
【0177】
図8Cは、例示的な映像処理方法のフローチャートを示す。方法820は、ステップ822において、クリッピング演算を含む非線形フィルタリング動作を構成することを含む。
【0178】
方法820は、ステップ824において、非線形フィルタリング動作に基づいて、現在の映像ブロックと現在の映像ブロックのビットストリーム表現との間での変換を行うことを含む。
【0179】
いくつかの実施形態において、前記方法820は、クリッピングされたサンプル差または前記クリッピング演算により生成された、クリッピングされた勾配を使用する勾配計算処理を行うステップをさらに含む。他の実施形態において、方法820は、クリッピングされたサンプル差またはクリッピング演算によって生成されたクリッピングされた勾配を使用するアクティビティ計算処理を行うステップをさらに含む。ある実施例において、前記クリッピングされた勾配は、Vk,l=|clip1(R(k,l)-R(k,l-1))+clip2(R(k,l)-R(k,l+1))|として算出される垂直方向勾配を含む。別の実施例において、クリッピングされた勾配は、Hk,l=|clip1(R(k,l)-R(k,l-1))+clip2(R(k,l)-R(k,l+1))|として算出される水平方向勾配を含み、ここで、clip1およびclip2は、それぞれ第1および第2のクリッピング関数である。
【0180】
いくつかの実施形態において、この変換を行うことは、現在の映像ブロックの1つ以上のサンプルをフィルタリングすることを含み、この1つ以上のサンプルの位置に基づいてクリッピング演算を行う。
【0181】
いくつかの実施形態において、前記1つ以上のサンプルの位置は、符号化ユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、ピクチャ、タイル、タイルグループ、符号化ツリーユニット(CTU)または仮想パイプライニングデータユニット(VPDU)の境界である。
【0182】
いくつかの実施形態において、および方法800、810、820のコンテキストにおいて、非線形フィルタリング動作に使用されるフィルタの形状は、色表現に基づく。一例において、この色表現は、4:4:4のカラーフォーマットまたはRGBのカラーフォーマットを含む。別の例において、このフィルタは菱形フィルタである。
【0183】
いくつかの実施形態において、および方法800、810、820のコンテキストにおいて、非線形フィルタリング動作は、非線形適応ループフィルタリング動作である。
【0184】
11 開示される技術の例示的な実装形態
【0185】
図9は、映像処理装置900のブロック図である。装置900は、本明細書に記載の方法の1つ以上を実装するために使用してもよい。装置900は、スマートフォン、タブレット、コンピュータ、IoT(モノのインターネット)受信機等により実施されてもよい。装置900は、1つ以上の処理装置902と、1つ以上のメモリ904と、映像処理ハードウェア906と、を含んでもよい。1つまたは複数の処理装置902は、本明細書に記載される1つ以上の方法(方法800、810および820を含むが、これに限定されない)を実装するように構成されてもよい。メモリ(複数可)904は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア906は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。
【0186】
いくつかの実施形態において、映像符号化法は、
図9を参照して説明したように、ハードウェアプラットフォームに実装される装置を使用して実施してもよい。
【0187】
図10は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム1000を示すブロック図である。様々な実装形態は、システム1000のモジュールの一部又は全部を含んでもよい。システム1000は、映像コンテンツを受信するための入力ユニット1002を含んでもよい。映像コンテンツは、未加工又は非圧縮フォーマット、例えば、8又は10ビットのマルチモジュール画素値で受信されてもよく、又は圧縮又は符号化フォーマットで受信されてもよい。入力ユニット1002は、ネットワークインターフェース、周辺バスインターフェース、又は記憶インターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット(登録商標)、受動光ネットワーク(PON)等の有線インターフェース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インターフェースを含む。
【0188】
システム1000は、本明細書に記載される様々な符号化又は符号化方法を実装することができる符号化モジュール1004を含んでもよい。符号化モジュール1004は、入力ユニット1002からの映像の平均ビットレートを符号化モジュール1004の出力に低減し、映像の符号化表現を生成してもよい。従って、この符号化技術は、映像圧縮または映像コード変換技術と呼ばれることがある。符号化モジュール1004の出力は、モジュール1006によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力ユニット1002において受信された、記憶された又は通信された映像のビットストリーム(又は符号化)表現は、モジュール1008によって使用されて、表示インターフェースユニット1010に送信される画素値又は表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像伸張(映像展開)と呼ばれることがある。さらに、特定の映像処理動作を「符号化」動作又はツールと呼ぶが、符号化ツール又は動作は、エンコーダで使用され、対応する復号化ツール又は動作であり符号化の結果を逆にするものは、デコーダによって行われることが理解されよう。
【0189】
周辺バスインターフェースユニットまたは表示インターフェースユニットの例は、ユニバーサルシリアルバス(USB)または高精細マルチメディアインターフェース(HDMI(登録商標))またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、シリアルアドバンスドテクノロジーアタッチメント(SATA)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、又はデジタルデータ処理及び/又は映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
【0190】
図11は、映像メディア処理方法の一例を示すフローチャートである。このフローチャートのステップは、本願の第10章の実施例4に関連して説明する。ステップ1102において、処理は、現在の映像ブロックに対して、非線形フィルタリング動作の一部であるクリッピング演算の1つ以上のパラメータを構成する。ステップ1104において、処理は、1つ以上のパラメータに基づいて、現在の映像ブロックと現在の映像ブロックのビットストリーム表現との間での変換を行い、1つ以上のパラメータは、規則に従って符号化される。
【0191】
図12は、映像メディア処理方法の一例を示すフローチャートである。このフローチャートのステップは、本願の第10章の実施例1に関連して説明する。ステップ1202において、処理は、現在の映像ブロックの特徴に基づいて、非線形フィルタリング動作の1つ以上のパラメータを判定する。ステップ1204において、処理は、1つ以上のパラメータに基づいて、現在の映像ブロックと現在の映像ブロックのビットストリーム表現との間での変換を行う。
【0192】
図13は、映像メディア処理方法の一例を示すフローチャートである。このフローチャートのステップは、本願の第10章の実施例5に関連して説明する。ステップ1302において、処理は、現在の映像ブロックに対して、非線形フィルタリング動作の一部であるクリッピング演算の1つ以上のパラメータを構成する。ステップ1304において、処理は、1つ以上のパラメータに基づいて、現在の映像ブロックと現在の映像ブロックのビットストリーム表現との間での変換を行い、1つ以上のパラメータは、非線形フィルタリング動作に関連付けられた少なくとも1つのフィルタ係数の値とは関係なく、前記ビットストリーム表現で提示される。
【0193】
図14は、映像メディア処理方法の一例を示すフローチャートである。このフローチャートのステップは、本願の第10章の実施例6に関連して説明する。ステップ1402において、処理は、現在の映像ブロックに対して、非線形フィルタリング動作の一部であるクリッピング演算の1つ以上のパラメータを構成する。ステップ1404において、処理は、1つ以上のパラメータに基づいて、前記現在の映像ブロックと前記現在の映像ブロックのビットストリーム表現との間での変換を行い、前記現在の映像ブロックは、i番目のフィルタからのフィルタ係数を継承し、前記クリッピング演算の前記1つ以上のパラメータの継承に関連付けられた第1の規則は、フィルタ係数の継承に関連付けられた第2の規則とは異なる。
【0194】
ここで説明される様々な実施形態を、項目による形式で提示する。
【0195】
A1. 視覚メディア処理方法であって、
現在の映像ブロックに対して、非線形フィルタリング動作の一部であるクリッピング演算の1つ以上のパラメータを構成することと、
前記1つ以上のパラメータに基づいて、前記現在の映像ブロックと前記現在の映像ブロックのビットストリーム表現との間での変換を行うことと、を含み、
前記1つ以上のパラメータは、規則に従って符号化される、
方法。
【0196】
A2. 前記規則は、Nビットの固定長を有する前記1つ以上のパラメータを符号化することを規定する、項目A1に記載の方法。
【0197】
A3. 前記規則は、Nの最大値に基づいて、切り捨て単項法で前記1つ以上のパラメータを符号化することを規定する、項目A1に記載の方法。
【0198】
A4. Nが固定である、項目A1~A3のいずれか1つ以上に記載の方法。
【0199】
A5. Nが前記ビットストリーム表現で信号通知される、項目A1~A3のいずれか1つ以上に記載の方法。
【0200】
A6. Nは、量子化パラメータを備える前記現在の映像ブロックの符号化された情報、または前記現在の映像ブロックを備えるピクチャの次元に基づく、項目A1~A3のいずれか1つ以上に記載の方法。
【0201】
A7. 前記非線形フィルタリング動作は、1つのフィルタに基づいており、前記規則は、1つのフィルタまたはフィルタセットに対して固定次数の指数ゴロム法を用いて前記1つ以上のパラメータを符号化することを規定する、項目A1に記載の方法。
【0202】
A8. 前記規則は、ランレングス符号化方法に基づく前記1つ以上のパラメータを符号化することを規定する、項目A1に記載の方法。
【0203】
A9. 前記規則は、ランレングス符号化方法のランが前記パラメータのインデックスに対応し、前記ランレングス符号化方法の長さが前記1つ以上のパラメータの連続するパラメータの数が同じであることをさらに規定する、項目A5に記載の方法。
【0204】
A10. 前記規則は、予測符号化に基づく前記1つ以上のパラメータを符号化することを規定する、項目A1に記載の方法。
【0205】
A11. 前記予測符号化は、1つのフィルタ内の1つ以上のパラメータに適用される、項目A10に記載の方法。
【0206】
A12. 前記予測符号化は、異なるフィルタ間の1つ以上のパラメータに適用される、項目A10に記載の方法。
【0207】
A13. 前記予測符号化は、1つの色成分に使用される異なるフィルタ間の1つ以上のパラメータに適用される、項目A12に記載の方法。
【0208】
A14. 前記予測符号化は、異なる色成分に使用される異なるフィルタ間の1つ以上のパラメータに適用される、項目A12に記載の方法。
【0209】
A15. 前記予測符号化は、前記現在の映像ブロックの異なるサンプルに使用される異なるフィルタ間の1つ以上のパラメータに適用される、項目A12に記載の方法。
【0210】
A16. 前記予測符号化は、異なる映像ブロックに使用される異なるフィルタ間の1つ以上のパラメータに適用される、項目A12に記載の方法。
【0211】
A17. 前記1つ以上のパラメータは、異なる適応パラメータセット(APS)におけるフィールドとして含まれる、項目A11に記載の方法。
【0212】
A18. 前記非線形フィルタリング動作は、異なる方向の勾配計算に基づいてフィルタインデックスを判定することを含む、適応ループフィルタ(ALF)動作である、項目A1~A17のいずれか1つ以上に記載の方法。
【0213】
A19. 前記1つ以上のパラメータは、クリッピングインデックスを含む、項目A1~A17のいずれか1つ以上に記載の方法。
【0214】
B1. 視覚メディア処理方法であって、
現在の映像ブロックの特徴に基づいて、非線形フィルタリング動作の1つ以上のパラメータを判定することと、
前記1つ以上のパラメータに基づいて、前記現在の映像ブロックと前記現在の映像ブロックのビットストリーム表現との間での変換を行うことと、を含む、
方法。
【0215】
B2. 前記現在の映像ブロックの特徴は、前記現在の映像ブロックの符号化モードである、項目B1に記載の方法。
【0216】
B3. 前記現在の前記映像ブロックの符号化モードは、イントラモード、非イントラモード、イントラブロックコピー(IBC)モードまたは非IBCモードである、項目B2に記載の方法。
【0217】
B4. 前記特徴が変換情報である、項目B1に記載の方法。
【0218】
B5. 前記変換情報は、前記現在の映像ブロックに適用されている変換スキップの指示を含む、項目B4に記載の方法。
【0219】
B6. 前記特徴が残差情報である、項目B1に記載の方法。
【0220】
B7. 前記残差情報は、前記現在の映像ブロックにおけるゼロ値の係数を含む、項目B6に記載の方法。
【0221】
B8. 前記特徴は、前記現在の映像ブロックを構成する、タイルグループタイプ、タイルグループのピクチャタイプまたはピクチャである、項目B1に記載の方法。
【0222】
B9. 前記特徴は、前記現在の映像ブロックを構成する、タイル、タイルグループ、ピクチャまたはスライスに関連付けられた時間層情報または参照情報である、項目B1に記載の方法。
【0223】
B10. 前記特徴は前記現在の映像ブロックに関連付けられた参照ピクチャまたは動き情報である、項目B1に記載の方法。
【0224】
B11. 前記特徴が幾何学的変換である、項目B1に記載の方法。
【0225】
B12. いくつかの実施形態において、前記1つ以上のパラメータは、オン/オフ制御フラグおよび/またはクリッピング関数のパラメータを含む、項目B1~B11のいずれか1つ以上に記載の方法。
【0226】
B13. 前記クリッピング関数の上限の大きさは前記クリッピング関数の下限の大きさと異なる、項目B12に記載の方法。
【0227】
B14. 予測符号化は、前記クリッピング関数の前記上限と前記下限との間に適用される、項目B13に記載の方法。
【0228】
B15. 前記クリッピング関数の上限および前記クリッピング関数の下限は、前記ビットストリーム表現におけるフィールドとして含まれる、項目B12に記載の方法。
【0229】
B16. 前記非線形フィルタリング動作は、第1のフィルタおよび第2のフィルタを使用することを含み、前記第2のフィルタの前記1つ以上のパラメータは、前記第1のフィルタの前記1つ以上のパラメータを使用して予測される、項目B10に記載の方法。
【0230】
B17. 前記第1のフィルタおよび前記第2のフィルタは、前記現在の映像ブロックの異なるサンプルセットに適用される、項目B10に記載の方法。
【0231】
B18. 前記第1のフィルタおよび前記第2のフィルタは、異なる映像ブロックに関連付けられたサンプルに適用される、項目B10に記載の方法。
【0232】
B19. 前記非線形フィルタリング動作に使用されるフィルタの形状は、前記現在の映像ブロックに関連付けられたサンプルの色表現に基づく、項目A1~B18のいずれか1つ以上に記載の方法。
【0233】
B20. 前記色表現は、4:4:4カラーフォーマットまたはRGBカラーフォーマットを含む、項目B19に記載の方法。
【0234】
B21. 前記フィルタは菱形フィルタである、項目B19に記載の方法。
【0235】
B22. 前記菱形フィルタは、5×5または7×7のサイズである、項目B19に記載の方法。
【0236】
B23. 非線形フィルタリング動作が非線形適応ループフィルタリング動作である、項目B1~B22のいずれか1つ以上に記載の方法。
【0237】
B24. 前記非線形フィルタリング動作は、異なる方向の勾配計算に基づいてフィルタインデックスを判定することを含む、適応ループフィルタ(ALF)動作である、項目B1~B23のいずれか1つ以上に記載の方法。
【0238】
B25. 前記1つ以上のパラメータは、クリッピングインデックスを含む、項目B1~B23のいずれか1つ以上に記載の方法。
【0239】
B26. 変換は、現在の映像ブロックからビットストリーム表現を生成することを含む、項目A1~B25のいずれかに記載の方法。
【0240】
B27. 変換は、ビットストリーム表現から現在の映像ブロックの画素値を生成することを含む、項目A1~B25のいずれかに記載の方法。
【0241】
B28. 項目A1~B25のいずれか1つ以上に記載の方法を実施するように構成された処理装置を備える映像エンコーダ装置。
【0242】
B29. 項目A1~B25のいずれか1つ以上に記載の方法を実施するように構成された処理装置を備える、映像デコーダ装置。
【0243】
B30. コードが記憶されたコンピュータ可読媒体であって、コードは、項目A1~B25の1つ以上のいずれかに記載の方法を実施するための処理装置実行可能命令を具現化する、コンピュータ可読媒体。
【0244】
C1. 視覚メディア処理方法であって、
現在の映像ブロックに対して、非線形フィルタリング動作の一部であるクリッピング演算の1つ以上のパラメータを構成することと、
1つ以上のパラメータに基づいて、現在の映像ブロックと現在の映像ブロックのビットストリーム表現との間での変換を行うことと、を含み、
1つ以上のパラメータは、非線形フィルタリング動作に関連付けられた少なくとも1つのフィルタ係数の値とは関係なく、前記ビットストリーム表現で提示される、
方法。
【0245】
C2. 前記少なくとも1つのフィルタ係数の値がゼロである場合、前記1つ以上のパラメータが前記ビットストリーム表現で表される、項目C1に記載の方法。
【0246】
C3. 前記少なくとも1つのフィルタ係数の値にかかわらず、前記1つ以上のパラメータが前記ビットストリーム表現で表される、項目C1~C2のいずれか1つ以上に記載の方法。
【0247】
C4. 前記非線形フィルタリング動作は、異なる方向の勾配計算に基づいてフィルタインデックスを判定することを含む、適応ループフィルタ(ALF)動作である、項目C1~C3のいずれか1つ以上に記載の方法。
【0248】
C5. 前記1つ以上のパラメータは、クリッピングインデックスを含む、項目C1~C3のいずれか1つ以上に記載の方法。
【0249】
D1. 視覚メディア処理方法であって、
現在の映像ブロックに対して、非線形フィルタリング動作の一部であるクリッピング演算の1つ以上のパラメータを構成することと、
1つ以上のパラメータに基づいて、前記現在の映像ブロックと前記現在の映像ブロックのビットストリーム表現との間での変換を行うことと、を含み、
前記現在の映像ブロックは、i番目のフィルタからのフィルタ係数を継承し、前記クリッピング演算の前記1つ以上のパラメータの継承に関連付けられた第1の規則は、フィルタ係数の継承に関連付けられた第2の規則とは異なる、
方法。
【0250】
D2. 前記第1の規則は、i番目のフィルタからのクリッピング演算の前記1つ以上のパラメータの継承を排除することを規定する、項目D1に記載の方法。
【0251】
D3. 項目D1に記載の方法であって、
現在の映像ブロックに対して時間的予測が有効化されていることを識別すると、クリッピング演算を適用するかまたは無効化するかを判定することをさらに含む、方法。
【0252】
D4. 項目D1に記載の方法であって、
現在の映像ブロックに対して時間的予測が有効化されていることを識別すると、クリッピング演算の前記1つ以上のパラメータの継承を適用するか、排除するかを判定することをさらに含む、方法。
【0253】
D5. 前記第1の規則は、j番目のフィルタからのクリッピング演算の前記1つ以上のパラメータを継承することを規定する、項目D1に記載の方法。
【0254】
D6. 前記第1の規則は、前記j番目のフィルタからクリッピング演算の前記1つ以上のパラメータを継承することを規定し、前記j番目のフィルタと前記i番目のフィルタとは異なるフィルタセットに関連付けられる、項目D1に記載の方法。
【0255】
D7. 前記j番目のフィルタおよび前記i番目のフィルタは、異なるピクチャおよび/またはタイルグループおよび/またはタイルおよび/またはスライスに関連付けられる、項目D6に記載の方法。
【0256】
D8. 前記j番目のフィルタと前記i番目のフィルタとが同じである、項目D6に記載の方法。
【0257】
D9. 前記j番目のフィルタと前記i番目のフィルタとが異なる、項目D5に記載の方法。
【0258】
D10. 前記第1の規則は、前記ビットストリーム表現におけるフィールドとして前記クリッピング演算の前記1つ以上のパラメータを含むことを規定する、項目D1に記載の方法。
【0259】
D11. 前記フィールドは、適応パラメータセット(APS)インデックスを含む、項目D10に記載の方法。
【0260】
D12. 前記クリッピング演算は、クリッピングされたサンプル差またはクリッピング勾配を計算することを含む、項目D1~D11のいずれか1つ以上に記載の方法。
【0261】
D13. 前記クリッピングされた勾配は、
V_(k,l)=|k(k,l)-R(k,l)-R(k,l-1)+clip2(R(k,l)-R(k,l+1))|以下のように算出される垂直方向勾配を含み、clip1およびclip2は、それぞれ第1および第2のクリッピング関数であり、R(i,j)は、前記現在の映像ブロックのサンプルを示す、項目D12に記載の方法。
【0262】
D14. 前記クリッピングされた勾配は、
H_(k,l)=|k(k,l)-R(k-1,l)+clip2(R(k,l)-R(k+1,l))|のように算出される水平方向勾配を含み、clip1およびclip2は、それぞれ第1および第2のクリッピング関数であり、R(i,j)は、前記現在の映像ブロックのサンプルを示す、項目D12に記載の方法。
【0263】
D15. フィルタリング動作に使用したサンプルの位置に基づいて、クリッピング演算を選択的に有効化するか、または無効化するかを判定すること、を更に含む、項目D1~D14のいずれか1つ以上に記載の方法。
【0264】
D16. 前記サンプルが、符号化ユニット、分割ユニット、変換ユニット、ピクチャ、タイル、またはタイルグループのうちの1つ以上の境界に位置していない場合、クリッピング演算が無効化される、項目D15に記載の方法。
【0265】
D17. 前記サンプルが、符号化ユニット、分割ユニット、変換ユニット、ピクチャ、タイル、タイルグループ、符号化ツリーユニット、または仮想パイプライニングデータユニットのうちの1つ以上の境界に位置している場合、クリッピング演算が有効化される、項目D15に記載の方法。
【0266】
D18. 前記位置は、前記サンプルと、符号化ユニット、分割ユニット、変換ユニット、ピクチャ、タイル、タイルグループ、符号化ツリーユニット、または仮想パイプライニングデータユニットのうちの1つ以上の境界との間の距離に関連する、項目D15に記載の方法。
【0267】
D19. 前記距離が予め規定されている、項目D18に記載の方法。
【0268】
D20. 前記距離が前記ビットストリーム表現で信号通知される、項目D18に記載の方法。
【0269】
D21. 前記非線形フィルタリング動作に使用されるフィルタの形状は、前記現在の映像ブロックに関連付けられたサンプルの色表現に基づく、項目D1~D20のいずれか1つ以上に記載の方法。
【0270】
D22. 前記色表現は、4:4:4カラーフォーマットまたはRGBカラーフォーマットを含む、項目D21に記載の方法。
【0271】
D23. 前記フィルタは菱形フィルタである、項目D21に記載の方法。
【0272】
D24. 前記菱形フィルタのサイズが5×5または7×7である、項目D23に記載の方法。
【0273】
D25. 前記非線形フィルタリング動作は、異なる方向の勾配計算に基づいてフィルタインデックスを判定することを含む、適応ループフィルタリング(ALF)動作である、項目D1~D24のいずれか1つ以上に記載の方法。
【0274】
D26. 前記1つ以上のパラメータは、クリッピングインデックスを含む、項目D1~D24のいずれか1つ以上に記載の方法。
【0275】
D27. 変換は、現在の映像ブロックからビットストリーム表現を生成することを含む、項目C1~D26のいずれかに記載の方法。
【0276】
D28. 変換は、ビットストリーム表現から現在の映像ブロックの画素値を生成することを含む、項目C1~D26のいずれかに記載の方法。
【0277】
D29. 項目C1~D26のいずれか1つ以上に記載の方法を実施するように構成された処理装置を備える、映像エンコーダ装置。
【0278】
D30. 項目C1~D26のいずれか1つ以上に記載の方法を実施するように構成された処理装置を備える、映像デコーダ装置。
【0279】
D31. コードが記憶されたコンピュータ可読媒体であって、コードは、項目C1~D26の1つ以上のいずれかに記載の方法を実施するための処理装置実行可能命令を具現化する、コンピュータ可読媒体。
【0280】
本明細書では、「映像処理」、「映像メディア処理」または「映像メディアの処理」という用語は、映像符号化、映像復号化、映像圧縮、または映像展開を指すことができる。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例えば、1つのマクロブロックは、変換および符号化された誤り残差値の観点から、且つビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して符号化されてもよい。さらに、変換中、デコーダは、上記解決策で説明されているように、判定に基づいて、いくつかのフィールドが存在しても存在しなくてもよいという知識を持って、ビットストリームを構文解析してもよい。同様に、エンコーダは、特定のシンタックスフィールドが含まれるべきであるか、または含まれないべきであるかを判定し、構文フィールドを符号化表現に含めるか、または符号化表現から除外することによって、それに応じて符号化表現を生成してもよい。
【0281】
以上、説明の目的で本開示の技術の特定の実施形態を説明したが、本発明の範囲から逸脱することなく様々な修正が可能であることは、理解されるであろう。従って、本開示の技術は、添付の特許請求の範囲による場合を除き、限定されない。
【0282】
本特許明細書に記載された主題および機能操作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、様々なシステム、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実施してもよい。本明細書に記載された主題の実装形態は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置によって実行されるため、又はデータ処理装置の操作を制御するために、有形で非可搬性のコンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実装することができる。このコンピュータ可読媒体は、機械可読記憶装置、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、又はこれらの1つ以上の組み合わせであってもよい。「データ処理ユニット」又は「データ処理装置」という用語は、例えば、プログラマブル処理装置、コンピュータ、又は複数の処理装置若しくはコンピュータを含め、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、処理装置ファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つ以上の組み合わせを構成するコードを含むことができる。
【0283】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、成分、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。1つのコンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。
【0284】
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブル処理装置によって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
【0285】
コンピュータプログラムの実行に適した処理装置は、例えば、汎用および専用マイクロ処理装置の両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上の処理装置を含む。一般的に、処理装置は、読み出し専用メモリ又はランダムアクセスメモリ又はその両方から命令及びデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つ以上の記憶装置とである。一般的に、コンピュータは、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュメモリデバイス等の半導体メモリデバイスを含む。処理装置およびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
【0286】
本明細書は、図面とともに、例示のみを目的とするものであり、例示的とは例を意味することが意図される。本明細書で使用される場合、単数形「a」、「an」および「the」は、文脈からそうでないことが明確に示されていない限り、複数形も含むことが意図される。さらに、文脈からそうでないことが明確に示されていない限り、「または」の使用は、「および/または」を含むことが意図される。
【0287】
本特許明細書は多くの詳細を含むが、これらは、任意の発明の範囲又は特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態の文脈で説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0288】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
【0289】
いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。