(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-20
(45)【発行日】2023-11-29
(54)【発明の名称】クロスコンポーネント適応ループフィルタ
(51)【国際特許分類】
H04N 19/117 20140101AFI20231121BHJP
H04N 19/136 20140101ALI20231121BHJP
H04N 19/182 20140101ALI20231121BHJP
H04N 19/186 20140101ALI20231121BHJP
H04N 19/82 20140101ALI20231121BHJP
【FI】
H04N19/117
H04N19/136
H04N19/182
H04N19/186
H04N19/82
(21)【出願番号】P 2022525485
(86)(22)【出願日】2020-10-29
(86)【国際出願番号】 CN2020124700
(87)【国際公開番号】W WO2021083257
(87)【国際公開日】2021-05-06
【審査請求日】2022-05-13
(31)【優先権主張番号】PCT/CN2019/113955
(32)【優先日】2019-10-29
(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)【参考文献】
【文献】Yukinobu Yasugi, et al.,"CE5-related: Clipping of intermediate value in CC-ALF",Document: JVET-P0290, [online],JVET-P0290 (version 1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年09月24日,Pages 1-4,[令和5年4月19日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=8079> and <URL: https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P0290-v1.zip>.,(See document file "JVET-P0290.docx" in the zip file "JVET-P0290-v1.zip".)
【文献】Kiran Misra, et al.,"CE5-2.1, CE5-2.2: Cross Component Adaptive Loop Filter",Document: JVET-P0080, [online],JVET-P0080 (version 1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年09月18日,Pages 1-7,[令和5年4月20日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=7869> and <URL: https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P0080-v1.zip>.,(See document file "JVET-P0080.docx" in the zip file "JVET-P0080-v1.zip".)
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
映像データの処理の方法であって、
映像の映像領域と前記映像のビットストリームとの間の変換のために、前記映像領域の輝度サンプルに基づいて、前記映像領域のクロマサンプルに対するクロスコンポーネントフィルタリングツールにて用いられた第1のオフセットを導出することと、
前記第1のオフセットに基づいて、前記クロマサンプルに対する前記クロスコンポーネントフィルタリングツールにて用いられた第2のオフセットを導出することと、
前記第2のオフセットに基づいて前記クロマサンプルを改善するために前記クロスコンポーネントフィルタリングツールを適用することにより、前記変換を実行することと、
を有
し、
前記第1のオフセットは、輝度サンプルの差にフィルタリング係数を適用することに基づいて導出され、
各輝度サンプルの差は、フィルタサポート領域における輝度サンプルの値と、前記クロマサンプルの対応する輝度サンプルの値との間の差に対応する、方法。
【請求項2】
前記第2のオフセットは、前記第1のオフセット
へのクリッピング動作を用いて導出される、請求項1に記載の方法。
【請求項3】
前記第2のオフセットは、所定の範囲にクリッピングされる、請求項1または2に記載の方法。
【請求項4】
前記対応する輝度サンプルは、4:4:4フォーマットにある前記映像領域に対する(x,y)に位置し、
(x,y)は、前記クロマサンプルの座標を示す、
請求項
1に記載の方法。
【請求項5】
前記対応する輝度サンプルは、4:2:0フォーマットにある前記映像領域に対する(2x,2y)に位置し、
(x,y)は、前記クロマサンプルの座標を示す、
請求項
1に記載の方法。
【請求項6】
前記変換は、前記映像を前記ビットストリームに符号化することを含む、請求項1から
5のいずれか一項に記載の方法。
【請求項7】
前記変換は、前記映像を前記ビットストリームから復号化することを含む、請求項1から
5のいずれか一項に記載の方法。
【請求項8】
プロセッサと、命令を有する非一時的メモリを有する、映像データを処理するための装置であって、
前記命令は、前記プロセッサによって実行された際に、前記プロセッサに、
映像の映像領域と、前記映像のビットストリームとの間の変換のために、前記映像領域の輝度サンプルに基づいて、前記映像領域のクロマサンプルに対するクロスコンポーネントフィルタリングツールにて用いられた第1のオフセットを導出することと、
前記第1のオフセットに基づいて、前記クロマサンプルに対する前記クロスコンポーネントフィルタリングツールにて用いられた第2のオフセットを導出することと、
前記第2のオフセットに基づいて前記クロマサンプルを改善するために前記クロスコンポーネントフィルタリングツールを適用することにより、前記変換を実行することと、
を行わせ
、
前記第1のオフセットは、輝度サンプルの差にフィルタリング係数を適用することに基づいて導出され、
各輝度サンプルの差は、フィルタサポート領域における輝度サンプルの値と、前記クロマサンプルの対応する輝度サンプルの値との間の差に対応する、装置。
【請求項9】
プロセッサに、
映像の映像領域と、前記映像のビットストリームとの間の変換のために、前記映像領域の輝度サンプルに基づいて、前記映像領域のクロマサンプルに対するクロスコンポーネントフィルタリングツールにて用いられた第1のオフセットを導出することと、
前記第1のオフセットに基づいて、前記クロマサンプルに対する前記クロスコンポーネントフィルタリングツールにて用いられた第2のオフセットを導出することと、
前記第2のオフセットに基づいて、前記クロマサンプルを改善するために前記クロスコンポーネントフィルタリングツールを適用することにより、前記変換を実行することと、
を行わせ、
前記第1のオフセットは、輝度サンプルの差にフィルタリング係数を適用することに基づいて導出され、
各輝度サンプルの差は、フィルタサポート領域における輝度サンプルの値と、前記クロマサンプルの対応する輝度サンプルの値との間の差に対応する、命令を格納した非一時的コンピュータ可読記憶媒体。
【請求項10】
映像のビットストリームを格納する
ための方法であって、
映像の映像領域に対し、前記映像領域の輝度サンプルに基づいて、前記映像領域のクロマサンプルに対するクロスコンポーネントフィルタリングツールにて用いられた第1のオフセットを導出することと、
前記第1のオフセットに基づいて、前記クロマサンプルに対する前記クロスコンポーネントフィルタリングツールにて用いられた第2のオフセットを導出することと、
前記第2のオフセットに基づいて、前記クロマサンプルを改善するために前記クロスコンポーネントフィルタリングツールを適用することにより、前記ビットストリームを生成することと、
非一時的コンピュータ可読記録媒体に前記ビットストリームを格納することと、
を有
し、
前記第1のオフセットは、輝度サンプルの差にフィルタリング係数を適用することに基づいて導出され、
各輝度サンプルの差は、フィルタサポート領域における輝度サンプルの値と、前記クロマサンプルの対応する輝度サンプルの値との間の差に対応する、方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2019年10月29日出願の国際特許出願第PCT/CN2019/113955号の優先権および利益を主張する、2020年10月29日出願の国際特許出願第PCT/CN2020/124700号に基づく。上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
【0002】
この特許明細書は、画像および映像の符号化および復号化に関する。
【背景技術】
【0003】
デジタル映像は、インターネットおよび他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信および表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
【発明の概要】
【0004】
本明細書は、映像符号化または復号化中にクロスコンポーネント適応ループフィルタリングを行うために、映像エンコーダおよびデコーダによって使用され得る技術を開示する。
【0005】
1つの例示的な態様において、映像処理の方法が開示される。方法は、映像の映像領域と映像のビットストリーム表現との変換のために、輝度サンプル値を使用してクロマサンプル値を改善するためにCC-ALF(Cross-Component Adaptive Loop Filtering)ツールを使用するかの決定を行うことと、決定に基づいて変換を実行することと、を含み、前記改善することは、輝度サンプル値を選択的にフィルタリングすることによって決定した第1の改善のさらなる改善である最終的な改善を使用してクロマサンプル値を補正することを含む。
【0006】
別の例示的な態様において、映像処理の別の方法が開示される。方法は、映像の映像領域と映像のビットストリーム表現との変換のために、第2の成分の第2の映像ブロックのサンプル値を使用して、第1の成分の第1の映像ブロックのサンプル値を補正するためにCC-ALF(Cross-Component Adaptive Loop Filtering)ツールを使用するかの決定を行うことと、前記決定に基づいて変換を実行することと、を含み、1)前記第1の成分はCrまたはCb成分である、および2)第2の成分はY成分であることの両方を満たす場合を除いては、前記CC-ALFツールが使用される。
【0007】
さらに別の例示的な態様において、映像処理の別の方法が開示される。方法は、映像の映像ユニットと映像のビットストリーム表現との変換のために、規則に従って、第2の成分のサンプル値を使用して第1の成分のサンプル値を補正するためにCC-ALF(Cross-Component Adaptive Loop Filtering)ツールを使用するかの決定を行うことと、前記決定に基づいて変換を実行することと、を含み、前記規則は、前記ビットストリーム表現における第1のALF APSおよび第2のALF APSを含む2つ以上のALF APS(Adaptation Parameter Set)を使用することを規定する。
【0008】
さらに別の例示的な態様において、映像処理の別の方法が開示される。方法は、映像の映像領域と映像のビットストリーム表現との変換のために、規則に従って、第2の成分のサンプル値を使用して第1の成分のサンプル値を補正するためにCC-ALF(Cross-Component Adaptive Loop Filtering)ツールを使用するかの決定を行うことと、前記決定に基づいて変換を実行することと、を含み、前記規則は、前記映像領域の第1のサンプルに適用される第1のCC-ALFフィルタと、前記映像領域の第2のサンプルに適用される第2のCC-ALFフィルタとを含む2つ以上のCC-ALFフィルタを使用することを規定する。
【0009】
さらに別の例示的な態様において、映像処理の別の方法が開示される。方法は、映像の映像領域と映像のビットストリーム表現との変換のために、前記映像領域の輝度サンプルに基づいて、前記映像領域の第1の色成分に対する第1のオフセットを導出することと、前記第1のオフセットに基づいて、前記映像領域の第2の色成分に対する第2のオフセットを導出することと、前記映像領域の前記輝度サンプルに基づいて前記第1の色成分と前記第2の色成分を補正するためにCC-ALF(Cross-Component Adaptive Loop Filtering)ツールを適用することによって前記変換を実行することと、を含む。
【0010】
さらに別の例示的な態様において、映像処理の別の方法が開示される。方法は、複数の成分を備えた映像の映像ブロックと前記映像のビットストリーム表現との変換のために、CC_ALF(Cross-Component Adaptive Loop Filtering)をM×Nのサブブロックレベルで使用することを決定することであって、MおよびNは正の整数であり、MおよびNの少なくとも一方は1より大きい、ことと、前記決定に基づいて、前記変換を実行することと、を含み、前記CC-ALFツールは、前記映像の第2の成分に基づいて、前記映像の第1の成分のためのM×Nのサブブロックサンプルを補正するために使用される。
【0011】
さらに別の例示的な態様において、映像処理の別の方法が開示される。方法は、映像の映像領域と前記映像のビットストリーム表現との変換のために、輝度サンプル差のフィルタリングに基づくCC-ALF(Cross-Component Adaptive Loop Filter)処理を使用して映像領域のクロマサンプルを補正することを決定することと、前記決定に基づいて前記変換を実行することと、を含む。
【0012】
さらに別の例示的な態様において、映像処理の別の方法が開示される。方法は、規則に従って、映像のクロマ成分の部分と前記映像のビットストリーム表現との変換を行うことを含み、前記規則は、前記映像の前記部分の前記変換にCC-ALF(Cross-Component Adaptive Loop Filtering)ツールが利用可能であるかどうかが、輝度成分の対応する部分に対してALF(Adaptation Loop Fintering)ツールの利用可能性または使用が示されているかどうかに依存することを規定する。
【0013】
さらに別の例示的な態様において、映像処理の別の方法が開示される。方法は、映像の映像領域と映像のビットストリーム表現との変換を実行することを含み、前記ビットストリーム表現は、前記ビットストリーム表現におけるCC-ALF(Cross-Component Adaptive Loop Filtering)ツールの使用を示す構文要素が含まれるかどうかが、利用可能なALF(Adaptive Loop Filtering) APS(Adaptation Paramter Set)の数に依存することを規定するフォーマット規則に準拠する。
【0014】
さらに別の例示的な態様において、映像処理の別の方法が開示される。方法は、映像の映像ユニットと映像のビットストリーム表現との変換を実行することを含み、ビットストリーム表現は、CC-ALF(Cross-Component Adaptive Loop Filtering)ツールが、スライスレベルとは異なる映像ユニットレベルでビットストリーム表現に含まれる第2の成分のサンプル値を使用する第1の成分のサンプル値を改善する適用可能性を規定するフォーマット規則に準拠する。
【0015】
さらに別の例示的な態様において、映像処理の別の方法が開示される。方法は、映像の映像領域と映像のビットストリーム表現との変換を実行することを含み、前記ビットストリーム表現は、前記ビットストリーム表現におけるCC-ALF(Cross-Component Adaptive Loop Filtering)ツールの使用を示す構文要素が、輝度成分の対応する部分に対して使用するALF(Adaptive Loop Filter)ツールの使用可能性に依存することを規定するフォーマット規則に準拠する。
【0016】
さらに別の例示的な態様において、映像処理の別の方法が開示される。方法は、映像の映像領域と映像のビットストリーム表現との変換を実行することを含み、前記ビットストリーム表現は、前記ビットストリーム表現が、APSがクロスコンポーネント適応フィルタリングCC-ALFツールに関連する情報を含むかどうかを示すための構文要素を含むAPS(Adaptation Parameter Set)を含むことを規定するフォーマット規則に準拠する。
【0017】
さらに別の例示的な態様において、映像処理の別の方法が開示される。方法は、排除の規則が、映像の映像領域と前記映像のビットストリーム表現との変換に適用可能であることを決定することであって、前記排除の規則は、前記変換が、映像領域に対して符号化ツールおよびCC-ALF(Cross-Component Adaptive Loop Filtering)ツールを併用することを許可しないことを規定する、ことと、前記決定に基づいて前記変換を実行することと、を含む。
【0018】
さらに別の例示的な態様において、映像処理の別の方法が開示される。方法は、規則に従って、映像のクロマブロックと前記映像のビットストリーム表現との変換のために、行うことを含み、輝度ブロックのサンプルに基づいて、前記クロマブロックの予測を決定するために、CC-ALF(Cross-Component Adaptive Loop Filtering)ツールを前記変換中に使用し、前記規則は、前記輝度ブロックが前記予測に使用されること、および/または前記CC-ALFツールが変換中に使用される順序を規定する。
【0019】
さらに別の例示的な態様において、映像処理の別の方法が開示される。方法は、規則に従って、クロマ成分のALF(Adaptivr Loop Filter)および前記クロマ成分のCC-ALF(Cross-Component Adaptive Loop Filtering)の処理の順序を決定することと、前記決定に基づいて、映像と前記映像のビットストリーム表現との変換を実行することと、を含み、前記規則は、前記順序が予め定義されているかどうか、または、前記映像の映像領域において適応的に変更されているかを規定し、前記映像領域は、M×Nのサイズであり、MとNは、正の整数である。
【0020】
さらに別の例示的な態様において、映像処理の別の方法が開示される。方法は、映像の映像領域と映像のビットストリーム表現との変換を実行することを含み、前記ビットストリーム表現は、前記ビットストリーム表現において構文要素を含むことを規定するフォーマット規則に準拠し、前記構文要素は、1つのクロマ成分に対するALF(Adaptive Loop Filtering)およびCC-ALF(Cross-Component Adaptive Loop FIltering)の使用を示す。
【0021】
さらに別の例示的な態様において、映像エンコーダ装置が開示される。映像エンコーダは、上述した方法を実装するように構成されたプロセッサを備える。
【0022】
さらに別の例示的な態様において、映像エンコーダ装置が開示される。映像エンコーダは、上述した方法を実装するように構成されたプロセッサを備える。
【0023】
さらに別の例示的な態様では、コードが記憶されたコンピュータ可読媒体が開示される。コードは、本明細書に記載の方法の1つをプロセッサが実行可能なコードの形式で実施する。
【0024】
これらのおよび他の特徴は、本文書全体にわたって説明される。
【図面の簡単な説明】
【0025】
【
図2】適応ループフィルタに基づく幾何変換の例示的な形状を示す。
【
図3A】サブサンプリングされたラプラシアン計算の例を示す。
【
図3B】サブサンプリングされたラプラシアン計算の例を示す。
【
図3C】サブサンプリングされたラプラシアン計算の例を示す。
【
図3D】サブサンプリングされたラプラシアン計算の例を示す。
【
図4A】適応ループフィルタの配置および形状の例を示す。
【
図4B】適応ループフィルタの配置および形状の例を示す。
【
図6】本願に記載される映像デコーダまたは映像エンコーダ装置を実装するためのハードウェアプラットフォームの例を示すブロック図である。
【
図7】本願に記載される映像デコーダまたは映像エンコーダ装置を実装するためのハードウェアプラットフォームの例を示すブロック図である。
【
図8】例示的な映像コーディングシステムを示すブロック図である。
【
図9】本発明のいくつかの実施形態によるエンコーダを示すブロック図である。
【
図10】本発明のいくつかの実施形態によるデコーダを示すブロック図である。
【
図11】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートである。
【
図12A】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートである。
【
図12B】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートである。
【
図12C】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートである。
【
図12D】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートである。
【
図13】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートである。
【
図14A】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートである。
【
図14B】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートである。
【
図14C】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートである。
【発明を実施するための形態】
【0026】
本明細書では、理解を容易にするために章の見出しを使用しており、その技術および各章に記載された実施形態の適用可能性をその章のみに限定するものではない。さらに、H.266という用語は、ある説明において、理解を容易にするためだけに用いられ、開示される技術の範囲を限定するために用いられたものではない。このように、本明細書で説明される技術は、他の映像コーデック設計にも適用可能である。
【0027】
1.発明の概要
本明細書は、映像符号化技術に関する。具体的には、画像/映像符号化におけるクロスコンポーネント適応ループフィルタに関する。HEVCのような既存の映像符号化規格に適用してもよいし、規格(Versatile Video Coding)を確定させるために適用してもよい。本発明は、将来の映像符号化規格または映像コーデックにも適用可能である。
【0028】
2.背景技術
映像符号化規格は、主に周知の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)の間にJVET(Joint Video Expert Team)が発足し、HEVCと比較して50%のビットレート削減を目標にVVC規格の策定に取り組んでいる。
【0029】
2.1.色空間およびクロマサブサンプリング
色空間は、カラーモデル(又はカラーシステム)としても知られ、色の範囲を数字のタプルとして簡単に記述する抽象的な数学モデルであり、典型的には3又は4つの値又は色成分(例えば、RGB)である。基本的には、色空間は座標系とサブ空間とを合成したものである。
【0030】
映像圧縮の場合、最も頻繁に使用される色空間は、YCbCrおよびRGBである。
YCbCr、Y’CbCr、またはY Pb/Cb Pr/Crは、YCBCRまたはY’CBCRとも呼ばれ、映像およびデジタル写真システムのカラー画像パイプラインの一部として使用される色空間のファミリーである。Y’は輝度成分であり、CBおよびCRは青色差および赤色差のクロマ成分である。(素数を有する)Y’はYとは区別され、Yは輝度であり、ガンマ補正されたRGB原色に基づいて光強度が非線形に符号化されることを意味する。
【0031】
クロマサブサンプリングは、人間の視覚システムが、輝度よりも色差の方が知覚が低いことを利用して、クロマ情報が輝度情報よりも解像度が低くなるように実装して画像を符号化する方法である。
【0032】
2.1.1. 4:4:4
3つのY’CbCr成分の各々は、同じサンプルレートを有し、従って、クロマサブサンプリングは存在しない。この方式は、ハイエンドフィルムスキャナおよび映画のポストプロダクションに用いられることがある。
【0033】
2.1.2. 4:2:2
2つのクロマ成分は、輝度のサンプルレートの半分でサンプリングされ、水平クロマ解像度は半分にされる。これにより、視覚的にほとんど又は全く差がなく、非圧縮の映像信号の帯域幅を1/3に縮小する。
【0034】
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は水平方向に共座している。Cb、Crは垂直方向の画素間に位置する(格子間に位置する)。
●JPEG/JFIF、H.261、およびMPEG-1において、CbおよびCrは、交互の輝度サンプルの中間の格子間に位置する。
●4:2:0 DVにおいて、CbおよびCrは、水平方向に共座している。垂直方向には、それらは交互に共座している。
【0035】
2.1.4.異なる色成分のコーディング
separate_colour_plane_flagの値に基づいて、変数ChromaArrayTypeの値は、以下のように割り当てられる。
-separate_colour_plane_flagが0に等しい場合、ChromaArrayTypeはchroma_format_idcに等しく設定される。
-そうでない場合(separate_colour_plane_flagが1に等しい)、ChromaArrayTypeは0に等しく設定される。
【0036】
2.2.典型的な映像コーデックのコーディングフロー
図1は、3つのインループフィルタリングブロック、すなわちDF(Deblocking Filter)、SAO(Sample Adaptive Offset)、およびALFを含むVVCのエンコーダブロック図の例を示す。予め定義されたフィルタを用いるDFとは異なり、SAOおよびALFは、現在のピクチャのオリジナルサンプルを利用し、それぞれ、オフセットおよびフィルタ係数を信号通知するコーディングされた側情報を用いて、オフセットを追加することにより、および、FIR(Finite Impulse Response)フィルタを適用することにより、元のサンプルと再構成サンプルとの間の平均二乗誤差を低減する。ALFは、各ピクチャの最後の処理段階に位置し、前の段階で生成されたアーチファクトを捕捉し、修正しようとするツールと見なすことができる。
【0037】
2.3.JEMにおける形状変換に基づく適応ループフィルタ
JEMにおいて、ブロックに基づくフィルタ適応を用いたGALF(Geometry Transformation-based Adaptive Loop Filter)が適用される。輝度成分は、局所勾配の方向およびアクティビティに基づいて、2×2ブロックごとに25個のフィルタのうち1つが選択される。
【0038】
2.3.1.フィルタ形状
JEMにおいて、輝度成分に対し、最大3つの菱形フィルタ形状(
図2に示す)を選択することができる。輝度成分に使用されるフィルタ形状を示すために、ピクチャレベルでインデックスが信号通知される。
【0039】
図2は、GALFフィルタの形状(左:5×5菱形、中:7×7菱形、右:9×9菱形)の例を示す。
【0040】
ピクチャにおけるクロマ成分に対して、5×5菱形の形状が常に使用される。
【0041】
2.3.1.1.ブロック区分
各2×2のブロックを25個のクラスのうちの1つに分類する。分類インデックスCは、その方向性DおよびアクティビティA^の量子化値に基づいて、以下のように導出される。
【0042】
【0043】
DおよびA^を計算するために、まず、1-Dラプラシアンを使用して、水平、垂直、および2つの対角線方向の勾配が計算される。
【0044】
【0045】
【0046】
【0047】
【0048】
iおよびjは、2×2ブロックの左上のサンプルの座標を表し、R(i,j)は、座標(i,j)において再構成されたサンプルを示す。
【0049】
そして、水平方向および垂直方向の勾配のD最大値およびD最小値は、以下のように設定される。
【0050】
【0051】
そして、2つの対角線方向の勾配の最大値および最小値は、以下のように設定される。
【0052】
【0053】
方向性Dの値を導出するために、これらの値は、互いに且つ2つの閾値t1およびt2と比較される。
【0054】
【0055】
アクティビティ値Aは、以下のように計算される。
【0056】
【0057】
Aをさらに0~4の範囲に量子化し、量子化された値をA^とする。
【0058】
ピクチャにおける両クロマ成分に対して、分類方法は適用されず、即ち、単一のALF係数のセットが各クロマ成分に対して適用される。
【0059】
2.3.1.2.フィルタ係数の幾何学的変換
それぞれの2×2のブロックをフィルタリングする前に、そのブロックに対して計算された勾配値に基づいて、フィルタ係数f(k,l)に対して、ローテーション、又は対角線および垂直方向の反転等の幾何学的変換が適用される。これは、これらの変換をフィルタサポート領域内のサンプルに適用することに等しい。その考えは、ALFが適用される異なるブロックを、それらの方向性を揃えることによって、より類似させることである。
【0060】
対角線、垂直方向の反転および回転を含む3つの幾何学的変換を紹介する。
【0061】
【0062】
この場合、Kはフィルタのサイズであり、0≦k,l≦K-1が係数座標であり、位置(0,0)は左上隅にあり、位置(K-1,K-1)は右下隅にある。この変換は、そのブロックに対して計算された勾配値に基づいて、フィルタ係数f(k,l)に適用される。変換と4方向の4つの勾配との関係を表1にまとめる。
【0063】
表1:1つのブロックに対して計算された勾配と変換とのマッピング
【0064】
【0065】
2.3.1.3.フィルタパラメータ信号通知
JEMにおいて、GALFフィルタパラメータは、第1のCTUのために、すなわち、スライスヘッダの後且つ第1のCTUのSAOパラメータの前に信号通知される。最大25組の輝度フィルタ係数を信号通知することができる。ビットオーバーヘッドを低減するために、異なる分類のフィルタ係数をマージすることができる。また、参照ピクチャのGALF係数を記憶し、現在のピクチャのGALF係数として再利用することができる。現在のピクチャは、参照ピクチャのために記憶されたGALF係数を使用し、GALF係数の信号通知を回避することを選択してもよい。この場合、1つの参照ピクチャへのインデックスのみが通知され、指定された参照ピクチャの記憶されたGALF係数が現在のピクチャに継承される。
【0066】
GALF時間予測をサポートするために、GALFフィルタセットの候補リストが維持される。新しいシーケンスの復号開始時に、候補リストは空である。1つのピクチャを復号化した後、対応するフィルタのセットを候補リストに加えてもよい。候補リストのサイズが最大許容値(すなわち、現在のJEMでは6)に達すると、新しい1組のフィルタが、最も古いセットを復号化の順序に上書きし、すなわち、先入れ先出し(FIFO:First-In-First-Out)規則を適用して候補リストを更新する。重複を回避するために、対応するピクチャがGALF時間的予測を使用しない場合、1つのセットのみをリストに追加することができる。時間的スケーラビリティをサポートするために、フィルタセットの複数の候補リストがあり、各候補リストは1つの時間層に関連付けられる。具体的に、時間層インデックス(TempIdx)により割り当てられた各配列は、TempIdxが等しいか、より低い前回復号されたピクチャのフィルタセットを構成してもよい。例えば、k番目の配列は、kに等しいTempIdxに関連付けられるように割り当てられ、それは、TempIdxがk以下のピクチャからのフィルタセットのみを含む。特定のピクチャをコーディングした後、ピクチャに関連付けられたフィルタセットを用いて、同じかより高いTempIdxに関連付けられた配列を更新する。
【0067】
GALF係数の時間予測は、信号通知のオーバーヘッドを最小限に抑えるために、インター符号化されたフレームに使用される。イントラフレームの場合、時間予測は利用できず、各クラスに16個の固定フィルタの組が割り当てられる。固定フィルタの使用を示すために、各クラスのためのフラグが通知され、必要に応じて、選択された固定フィルタのインデックスが通知される。所与のクラスに対して固定フィルタを選択した場合でも、このクラスに対して適応フィルタf(k,l)の係数を送信することができ、この場合、再構成された画像に適用されるフィルタの係数は両方の係数セットの合計となる。
【0068】
輝度成分のフィルタリング処理は、CUレベルで制御することができる。GALFがCUの輝度成分に適用されるかどうかを示すために、1つのフラグが信号通知される。クロマ成分の場合、GALFが適用されるかどうかは、画像レベルでのみ示される。
【0069】
2.3.1.4.フィルタリング処理
デコーダ側において、ブロックに対してGALFが有効化されると、ブロック内のそれぞれのサンプルR(i,j)がフィルタリングされ、その結果、以下に示すように、サンプル値R’(i,j)が得られる。ここで、Lは、フィルタ長を表し、fm,nは、フィルタ係数を表し、f(k,l)は、復号化されたフィルタ係数を表す。
【0070】
【0071】
あるいは、適応ループフィルタのフィルタリング処理は、以下のように表すことができる。
【0072】
【0073】
ここで、サンプルI(x+i,y+j)は入力サンプルであり、O(x,y)はフィルタリングされた出力サンプル(即ち、フィルタ結果)であり、w(i,j)はフィルタ係数を表す。実際において、VTM4.0では、固定小数点精度計算のために整数演算を用いて実施されている。
【0074】
【0075】
ここで、Lはフィルタ長を表し、w(i,j)は固定小数点精度におけるフィルタ係数である。
【0076】
2.4.非線形ALF
2.4.1.フィルタリング再形成
式(11)は、コーディング効率に影響を及ぼすことなく、以下の式で再定式化することができる。
【0077】
【0078】
ここで、w(i,j)は、式(11)と同じフィルタ係数である[ただし、式(11)にて1-Σ(i,j)≠(0,0)w(i,j)に等しい間に式(13)にて1に等しいw(0,0)を除く]。
【0079】
2.4.2.修正されたフィルタ
上記(13)のフィルタ式を使用することで、近傍のサンプル値が現在のサンプル値のフィルタリングと異なり過ぎている場合に、単純なクリッピング関数を使用して、その影響を低減することで、非線形性を容易に導入し、ALFをより効率的にする。
【0080】
この提案において、ALFフィルタは、以下のように修正される。
【0081】
【0082】
ここで、K(d,b)=min(b,max(-b,d))はクリッピング関数であり、k(i,j)は、(i,j)フィルタ係数に依存するクリッピングパラメータである。エンコーダは、最適化を行い、最良のk(i,j)を見出す。
【0083】
容易に実現するために、フィルタ係数w(i,j)を記憶し、整数精度で使用する。上記式は、以下のように書き換えることができる。
【0084】
【0085】
ここで、w(k,l)は復号化されたフィルタ係数を表し、K(x,y)はクリッピング関数であり、c(k,l)は復号化されたクリッピングパラメータを表す。変数kおよびlは、-L/2とL/2との間で変化し、ここで、Lはフィルタ長を表す。クリッピング関数K(x,y)=min(y,max(-y,x))は、関数Clip3(-y,y,x)に対応する。
【0086】
JVET-N0242の実装形態において、ALFフィルタごとにクリッピングパラメータk(i,j)が規定され、1つのフィルタ係数ごとに1つのクリッピング値が信号通知される。これは、1つの輝度フィルタ当たりビットストリームにおいて、最大12個のクリッピング値を信号通知することができ、クロマフィルタに対しては最大6個のクリッピング値を信号通知することができることを意味する。信号通知コストおよびエンコーダの複雑性を制限するために、クリッピング値の評価は、可能な値の小さなセットに限定する。本提案では、INTERおよびINTRAタイルグループに対して同じ4つの固定値のみを使用する。
【0087】
局所的な差の分散は、クロマの場合よりも輝度の場合が大きいことが多いので、輝度フィルタおよびクロマフィルタの2つの異なるセットを使用する。各セットに最大サンプル値(ここでは、10ビットのビット深度の場合、1024)を含め、必要でない場合、クリッピングを無効化することができる。
【0088】
JVET-N0242の試験に使用したクリッピング値のセットを表2に示す。4つの値は、対数領域において、輝度についてはサンプル値(10ビットでコーディングされる)の全範囲、クロマについては4~1024の範囲をほぼ均等に分割して選択されている。より正確には、クリッピング値の輝度テーブルは、以下の式によって得られた。
【0089】
【0090】
同様に、クリッピング値のクロマテーブルは、以下の式に従って取得される。
【0091】
【0092】
表2:許可クリッピング値
【0093】
【0094】
選択されたクリッピング値は、上記表2のクリッピング値のインデックスに対応するゴロム符号化方式を用いて、「alf_data」構文要素にコーディングされる。この符号化方式は、フィルタインデックスの符号化方式と同じである。
【0095】
2.5.VVCにおける形状変換に基づく適応ループフィルタ
現在のVVCにおけるGALFの設計は、JEMにおける設計に比べ、以下のような大きな変化を有している。
1)適応フィルタ形状は除去される。輝度成分に対しては7×7のフィルタ形状のみが許容され、クロマ成分に対しては5×5のフィルタ形状のみが許容される。
2)ALFフィルタ係数は、ALF APS(Adaptation Parameter Set)において信号通知される。
3)非線形ALFが適用されてもよい。
4)CTUごとに、ALFが有効化されるか無効化されるかについて、色成分ごとの1つのビットフラグが信号通知される。
5)クラスインデックスの計算は、2×2ではなく、4×4のレベルで行われる。また、JVET-L0147で提案されているように、ALF分類のためのサブサンプリングされたラプラシアン計算方法が利用される。具体的には、1つのブロック内のサンプルごとに水平/垂直/45対角線/135度勾配を計算する必要がない。その代わりに、1:2サブサンプリングが利用される。
【0096】
図3Aは、垂直方向勾配のためにサブサンプリングされた位置を有するサブサンプリングされたラプラシアン計算の例を示す。
【0097】
図3Bは、水平方向勾配のためにサブサンプリングされた位置を有するサブサンプリングされたラプラシアン計算の例を示す。
【0098】
図3Cは、対角勾配のためにサブサンプリングされた位置を有するサブサンプリングされたラプラシアン計算の例を示す。
【0099】
図3Dは、対角勾配のためにサブサンプリングされた位置を有するサブサンプリングされたラプラシアン計算の例を示す。
【0100】
2.6.適応パラメータセットにおけるALFパラメータの信号通知
VVCドラフトの最新バージョンにおいて、ALFパラメータは、APS(Adaptation Parameter Set)において信号通知されてもよく、各CTUによって適応的に選択されてもよい。1つのAPSにおいて、最大25組の輝度フィルタ係数およびクリッピング値インデックス、並びに最大8組のクロマフィルタ係数およびクリッピング値インデックスを信号通知することができる。ビットオーバーヘッドを低減するために、輝度成分の異なる分類のフィルタ係数をマージすることができる。スライスヘッダにおいて、現在のスライスに使用されるAPSのインデックスが信号通知される。
【0101】
フィルタ係数は、128に等しいノルムで量子化される。乗算の複雑性を抑えるために、非中心位置の係数値が-27~27-1の範囲内に含まれるように、ビットストリーム適合性が適用される。中心位置係数はビットストリームにおいて信号通知されず、128に等しいと見なされる。
【0102】
ALFの詳細な信号通知(JVET-P2001-v9)は以下のとおりである。
【0103】
7.3.2.5 適応パラメータセット構文
【0104】
【0105】
7.3.2.16 適応ループフィルタデータ構文
【0106】
【0107】
【0108】
7.4.3.5 適応パラメータセット意味論
各APS RBSPは、それが参照される前に、復号処理に使用可能であり、それを参照する、または外部手段によって提供される符号化されたスライスNALユニットのTemporalId以下のTemporalIdを有する少なくとも1つのアクセスユニットに含まれる。
aspLayerIdをAPS NALユニットのnuh_layer_idとする。aspLayerIdに等しいnuh_layer_idを有する層が独立層である(すなわち、vps_independent_layer_flag[GeneralLayerIdx[aspLayerId]]が1に等しい)場合、APS RBSPを含むAPS NALユニットは、それを参照するコーディングされたスライスNALユニットのnuh_layer_idに等しいnuh_layer_idを有するものとする。そうでない場合、APS RBSPを含むAPS NALユニットは、それを参照するコーディングされたスライスNALユニットのnuh_layer_idと等しいか、またはそれを参照するコーディングされたスライスNALユニットを含む層の直接依存層のnuh_layer_idと等しいnuh_layer_idを有するものとする。
アクセスユニット内でadatation_parameter_set_idの特定の値およびaps_params_typeの特定の値を有するすべてのAPS NALユニットは、同じコンテンツを有するものとする。
【0109】
adaptation_parameter_set_idは、他の構文要素が参照するAPSの識別子を提供する。
aps_params_typeがALF_APSまたはSCALING_APSに等しい場合、adaptation_parameter_set_idの値は0~7の範囲にあるものとする。
aps_params_typeがLMCS_APSに等しい場合、adaptation_parameter_set_idの値は0~3の範囲にあるものとする。
aps_params_typeは、表7-2に示されるように、APSにおいて実行されるAPSパラメータのタイプを指定する。aps_params_typeが1(LMCS_APS)に等しい場合、adaptation_parameter_set_idの値は0~3の範囲にあるものとする。
【0110】
表7-2 -APSパラメータのタイプコードおよびAPSパラメータのタイプ
【0111】
【0112】
注1-各タイプのAPSは、adaptation_parameter_set_idに別個の値の空間を使用する。
注2-APS NALユニット(adaption_parameter_set_idの特定の値およびaps_params_typeの特定の値を有する)は、ピクチャ間で共有されてもよく、ピクチャ内の異なるスライスは、異なるALF APSを参照することができる。
0に等しいaps_extension_flagは、APS RBSP構文構造にaps_extension_data_flag構文要素が存在しないことを規定する。1に等しいaps_extension_flagは、APS RBSP構文構造にaps_extension_data_flag構文要素が存在することを規定する。
aps_extension_data_flagは任意の値を有してよい。その存在および値は、本仕様のこのバージョンで規定されたプロファイルへのデコーダの適合性に影響を与えない。本仕様のこのバージョンに準拠するデコーダは、すべてのaps_extension_data_flag構文要素を無視するものとする。
【0113】
7.4.3.14 適応ループフィルタデータ意味論
1に等しいalf_luma_filter_signal_flagは、輝度フィルタセットが信号通知されることを規定する。0に等しいalf_luma_filter_signal_flagは、輝度フィルタセットが信号通知されないことを規定する。
1に等しいalf_chroma_filter_signal_flagは、クロマフィルタが信号通知されることを規定する。0に等しいalf_chroma_filter_signal_flagは、クロマフィルタが信号通知されないことを規定する。ChromaArrayTypeが0に等しい場合、alf_chroma_filter_signal_flagは0に等しい。
異なる適応ループフィルタの数を指定する変数NumAlfFiltersは、25に等しく設定される。
0に等しいalf_luma_clip_flagは、線形適応ループフィルタリングが輝度成分に適用されることを規定する。1に等しいalf_luma_clip_flagは、非線形適応ループフィルタリングが輝度成分に適用されてよいことを規定する。
alf_luma_num_filters_signalled_minus1+1は、輝度係数を信号通知することができる適応ループフィルタクラスの数を規定する。alf_luma_num_filters_signalled_minus1の値は、0~NumAlfFilters-1の範囲にあるものとする。
alf_luma_coeff_delta_idx[filtIdx]は、0からNumAlfFilters-1までの範囲にあるfiltIdxが示すフィルタクラスのための、信号通知される適応ループフィルタの輝度係数デルタのインデックスを規定する。alf_luma_coeff_delta_idx[filtIdx]が存在しない場合、それは0に等しいと推論される。alf_luma_coeff_delta_idx[filtIdx]の長さは、Ceil(Log2(alf_luma_num_filters_signalled_minus1+1)ビットである。
【0114】
1に等しいalf_luma_coeff_signalled_flagは、alf_luma_coeff_flag[sfIdx]が信号通知される。0に等しいalf_luma_coeff_signalled_flagは、alf_luma_coeff_flag[sfIdx]が信号通知されない。
1に等しいalf_luma_coeff_flag[sfIdx]は、sfIdxで示される輝度フィルタの係数が信号通知されることを規定する。0に等しいalf_luma_coeff_flag[sfIdx]は、sfIdxで示される輝度フィルタのすべてのフィルタ係数が0に設定されることを規定する。存在しない場合、alf_luma_coeff_flag[sfIdx]は1に等しく設定される。
alf_luma_coeff_abs[sfIdx][j]は、sfIdxで示される信号輝度フィルタのj番目の係数の絶対値を規定する。alf_luma_coeff_abs[sfIdx][j]が存在しない場合、それは0に等しいと推論される。
指数ゴロム二値化uek(v)の次数kは3に等しく設定される。
【0115】
alf_luma_coeff_sign[sfIdx][j]は、sfIdxが示すフィルタのj番目の輝度係数の符号を以下のように規定する。
-alf_luma_coeff_sign[sfIdx][j]が0に等しい場合、対応する輝度フィルタ係数は正の値を有する。
-そうでない場合(alf_luma_coeff_sign[sfIdx][j]が1に等しい)、対応する輝度フィルタ係数は負の値を有する。
alf_luma_coeff_sign[sfIdx][j]が存在しない場合、それは0に等しいと推論される。
【0116】
sfIdx=0…alf_luma_num_filters_signalled_minus1,j=0…11を有する変数filtCoeff[sfIdx][j]は、次のように初期化される。
filtCoeff[sfIdx][j]=alf_luma_coeff_abs[sfIdx][j]*(1-2*alf_luma_coeff_sign[sfIdx][j]) (7-47)
【0117】
要素AlfCoeffL[adaptation_parameter_set_id][filtIdx][j]を有する輝度フィルタ係数AlfCoeffL[adaptation_parameter_set_id](但し、filtIdx=0…NumAlfFilters-1、j=0…11)は、以下のように導出される。
AlfCoeffL[adaptation_parameter_set_id][filtIdx][j]=filtCoeff[alf_luma_coeff_delta_idx[filtIdx]][j] (7-48)
【0118】
固定フィルタ係数AlfFixFiltCoeff[i][j](但し、i=0…64、j=0…11)、および、AlfClassToFiltMap[m][n](但し、m=0…15、n=0…24)をフィルタマッピングするクラスは、以下のように導出される。
AlfFixFiltCoeff=
{
{0,0,2,-3,1,-4,1,7,-1,1,-1,5}
{0,0,0,0,0,-1,0,1,0,0,-1,2}
{0,0,0,0,0,0,0,1,0,0,0,0}
{0,0,0,0,0,0,0,0,0,0,-1,1}
{2,2,-7,-3,0,-5,13,22,12,-3,-3,17}
{-1,0,6,-8,1,-5,1,23,0,2,-5,10}
{0,0,-1,-1,0,-1,2,1,0,0,-1,4}
{0,0,3,-11,1,0,-1,35,5,2,-9,9}
{0,0,8,-8,-2,-7,4,4,2,1,-1,25}
{0,0,1,-1,0,-3,1,3,-1,1,-1,3}
{0,0,3,-3,0,-6,5,-1,2,1,-4,21}
{-7,1,5,4,-3,5,11,13,12,-8,11,12}
{-5,-3,6,-2,-3,8,14,15,2,-7,11,16}
{2,-1,-6,-5,-2,-2,20,14,-4,0,-3,25}
{3,1,-8,-4,0,-8,22,5,-3,2,-10,29}
{2,1,-7,-1,2,-11,23,-5,0,2,-10,29}
{-6,-3,8,9,-4,8,9,7,14,-2,8,9}
{2,1,-4,-7,0,-8,17,22,1,-1,-4,23}
{3,0,-5,-7,0,-7,15,18,-5,0,-5,27}
{2,0,0,-7,1,-10,13,13,-4,2,-7,24}
{3,3,-13,4,-2,-5,9,21,25,-2,-3,12}
{-5,-2,7,-3,-7,9,8,9,16,-2,15,12}
{0,-1,0,-7,-5,4,11,11,8,-6,12,21}
{3,-2,-3,-8,-4,-1,16,15,-2,-3,3,26}
{2,1,-5,-4,-1,-8,16,4,-2,1,-7,33}
{2,1,-4,-2,1,-10,17,-2,0,2,-11,33}
{1,-2,7,-15,-16,10,8,8,20,11,14,11}
{2,2,3,-13,-13,4,8,12,2,-3,16,24}
{1,4,0,-7,-8,-4,9,9,-2,-2,8,29}
{1,1,2,-4,-1,-6,6,3,-1,-1,-3,30}
{-7,3,2,10,-2,3,7,11,19,-7,8,10}
{0,-2,-5,-3,-2,4,20,15,-1,-3,-1,22}
{3,-1,-8,-4,-1,-4,22,8,-4,2,-8,28}
{0,3,-14,3,0,1,19,17,8,-3,-7,20}
{0,2,-1,-8,3,-6,5,21,1,1,-9,13}
{-4,-2,8,20,-2,2,3,5,21,4,6,1}
{2,-2,-3,-9,-4,2,14,16,3,-6,8,24}
{2,1,5,-16,-7,2,3,11,15,-3,11,22}
{1,2,3,-11,-2,-5,4,8,9,-3,-2,26}
{0,-1,10,-9,-1,-8,2,3,4,0,0,29}
{1,2,0,-5,1,-9,9,3,0,1,-7,20}
{-2,8,-6,-4,3,-9,-8,45,14,2,-13,7}
{1,-1,16,-19,-8,-4,-3,2,19,0,4,30}
{1,1,-3,0,2,-11,15,-5,1,2,-9,24}
{0,1,-2,0,1,-4,4,0,0,1,-4,7}
{0,1,2,-5,1,-6,4,10,-2,1,-4,10}
{3,0,-3,-6,-2,-6,14,8,-1,-1,-3,31}
{0,1,0,-2,1,-6,5,1,0,1,-5,13}
{3,1,9,-19,-21,9,7,6,13,5,15,21}
{2,4,3,-12,-13,1,7,8,3,0,12,26}
{3,1,-8,-2,0,-6,18,2,-2,3,-10,23}
{1,1,-4,-1,1,-5,8,1,-1,2,-5,10}
{0,1,-1,0,0,-2,2,0,0,1,-2,3}
{1,1,-2,-7,1,-7,14,18,0,0,-7,21}
{0,1,0,-2,0,-7,8,1,-2,0,-3,24}
{0,1,1,-2,2,-10,10,0,-2,1,-7,23}
{0,2,2,-11,2,-4,-3,39,7,1,-10,9}
{1,0,13,-16,-5,-6,-1,8,6,0,6,29}
{1,3,1,-6,-4,-7,9,6,-3,-2,3,33}
{4,0,-17,-1,-1,5,26,8,-2,3,-15,30}
{0,1,-2,0,2,-8,12,-6,1,1,-6,16}
{0,0,0,-1,1,-4,4,0,0,0,-3,11}
{0,1,2,-8,2,-6,5,15,0,2,-7,9}
{1,-1,12,-15,-7,-2,3,6,6,-1,7,30}
}, (7-49)
AlfClassToFiltMap=
{
{8,2,2,2,3,4,53,9,9,52,4,4,5,9,2,8,10,9,1,3,39,39,10,9,52}
{11,12,13,14,15,30,11,17,18,19,16,20,20,4,53,21,22,23,14,25,26,26,27,28,10}
{16,12,31,32,14,16,30,33,53,34,35,16,20,4,7,16,21,36,18,19,21,26,37,38,39}
{35,11,13,14,43,35,16,4,34,62,35,35,30,56,7,35,21,38,24,40,16,21,48,57,39}
{11,31,32,43,44,16,4,17,34,45,30,20,20,7,5,21,22,46,40,47,26,48,63,58,10}
{12,13,50,51,52,11,17,53,45,9,30,4,53,19,0,22,23,25,43,44,37,27,28,10,55}
{30,33,62,51,44,20,41,56,34,45,20,41,41,56,5,30,56,38,40,47,11,37,42,57,8}
{35,11,23,32,14,35,20,4,17,18,21,20,20,20,4,16,21,36,46,25,41,26,48,49,58}
{12,31,59,59,3,33,33,59,59,52,4,33,17,59,55,22,36,59,59,60,22,36,59,25,55}
{31,25,15,60,60,22,17,19,55,55,20,20,53,19,55,22,46,25,43,60,37,28,10,55,52}
{12,31,32,50,51,11,33,53,19,45,16,4,4,53,5,22,36,18,25,43,26,27,27,28,10}
{5,2,44,52,3,4,53,45,9,3,4,56,5,0,2,5,10,47,52,3,63,39,10,9,52}
{12,34,44,44,3,56,56,62,45,9,56,56,7,5,0,22,38,40,47,52,48,57,39,10,9}
{35,11,23,14,51,35,20,41,56,62,16,20,41,56,7,16,21,38,24,40,26,26,42,57,39}
{33,34,51,51,52,41,41,34,62,0,41,41,56,7,5,56,38,38,40,44,37,42,57,39,10}
{16,31,32,15,60,30,4,17,19,25,22,20,4,53,19,21,22,46,25,55,26,48,63,58,55}
}, (7-50)
【0119】
AlfCoeffL[adaptation_parameter_set_id][filtIdx][j](但し、filtIdx=0…NumAlfFilters-1,j=0…11)の値は、-27~27-1の範囲にあることがビットストリーム適合性の要件である。
alf_luma_clip_idx[sfIdx][j]は、sfIdxで示される信号通知された輝度フィルタのj番目の係数を乗じる前に使用するクリップ値のクリッピングインデックスを規定する。alf_luma_clip_idx[sfIdx][j](但し、sfIdx=0…alf_luma_num_filters_signalled_minus1,j=0…11)の値は、0~3の範囲にあることがビットストリーム適合性の要件である。
要素AlfClipL[adaptation_parameter_set_id][filtIdx][j]を有する輝度フィルタクリッピング値AlfClipL[adaptation_parameter_set_id](但しfiltIdx=0…NumAlfFilters-1,j=0…11)は、BitDepthYに等しく設定されているbitDepthおよびalf_luma_clip_idx[alf_luma_coeff_delta_idx[filtIdx]][j]に等しく設定されているclipIdxに応じて表7-4で規定されているように導出される。
【0120】
alf_chroma_num_alt_filters_minus1+1は、クロマ成分のための代替フィルタの数を規定する。
0に等しいalf_chroma_clip_flag[altIdx]は、インデックスaltIdxを有するクロマフィルタを使用する場合、クロマ成分に対して線形適応ループフィルタリングを適用することを規定し、1に等しいalf_chroma_clip_flag[altIdx]は、インデックスaltIdxを有するクロマフィルタを使用する場合、クロマ成分に対して非線形適応ループフィルタリングを適用することを規定する。存在しない場合、alf_chroma_clip_flag[altIdx]は0に等しいと推論される。
alf_chroma_coeff_abs[altIdx][j]は、インデックスaltIdxを有する代替クロマフィルタに対するj番目のクロマフィルタ係数の絶対値を規定する。alf_chroma_coeff_abs[altIdx][j]が存在しない場合、それは0に等しいと推論される。alf_chroma_coeff_abs[altIdx][j]の値は、0~27-1の範囲にあることがビットストリーム適合性の要件である。
指数ゴロム二値化uek(v)の次数kは3に等しく設定される。
【0121】
alf_chroma_coeff_sign[altIdx][j]は、インデックスaltIdxを有する代替クロマフィルタに対するj番目のクロマフィルタ係数の符号を以下のように規定する。
-alf_chroma_coeff_sign[altIdx][j]が0に等しい場合、対応するクロマフィルタ係数は正の値を有する。
-そうでない場合(alf_chroma_coeff_sign[altIdx][j]が1に等しい)、対応するクロマフィルタ係数は負の値を有する。
alf_chroma_coeff_sign[altIdx][j]が存在しない場合、それは0に等しいと推論される。
要素AlfCoeffC[adaptation_parameter_set_id][altIdx][j]を有するクロマフィルタ係数AlfCoeffC[adaptation_parameter_set_id][altIdx](但し、altIdx=0…alf_chroma_num_alt_filters_minus1,j=0…5)は、以下のように導出される。
AlfCoeffC[adaptation_parameter_set_id][altIdx][j]=alf_chroma_coeff_abs[altIdx][j]*(1-2*alf_chroma_coeff_sign[altIdx][j]) (7-51)
【0122】
AlfCoeffC[adaptation_parameter_set_id][altIdx][j](但し、altIdx=0…alf_chroma_num_alt_filters_minus1,j=0…5)の値は、-27-1~27-1の範囲にあることがビットストリーム適合性の要件である。
alf_chroma_clip_idx[altIdx][j]は、代替クロマフィルタのj番目の係数にインデックスaltIdxを乗じる前に使用するクリップ値のクリッピングインデックスを指定する。alf_chroma_clip_idx[altIdx][j](但し、altIdx=0…alf_chroma_num_alt_filters_minus1,j=0…5である)の値は、0~3の範囲内にあることがビットストリーム適合性の要件である。
【0123】
要素AlfClipC[adaptation_parameter_set_id][altIdx][j]を有するクロマフィルタクリッピング値AlfClipC[adaptation_parameter_set_id][altIdx](但し、altIdx=0…alf_chroma_num_alt_filters_minus1,j=0…5)は、BitDepthCに等しく設定されているbitDepthおよびalf_chroma_clip_idx[altIdx][j]に等しく設定されているclipIdxに応じて、表7-4で規定されているように導出される。
【0124】
表7-4- bitDepthおよびclipIdxに応じたAlfClip仕様
【0125】
【0126】
2.7.CTUのためのALFパラメータの信号通知
VTM6において、ALFフィルタパラメータは、APS(Adaptation Paramter Set)において信号通知される。1つのAPSにおいて、最大25組の輝度フィルタ係数およびクリッピング値インデックス、および最大8組のクロマフィルタ係数およびクリッピング値インデックスを信号通知することができる。ビットオーバーヘッドを低減するために、輝度成分に対する異なる分類のフィルタ係数をマージすることができる。スライスヘッダにおいて、現在のスライスに使用されるAPSのインデックスが信号通知される。
【0127】
APSから復号化されたクリッピング値インデックスは、クリッピング値の輝度テーブルおよびクリッピング値のクロマテーブルを使用してクリッピング値を判定することができる。これらのクリッピング値は、内部ビット深度に依存する。
【0128】
スライスヘッダにおいて、現在のスライスに使用される輝度フィルタセットを指定するために、最大7つのAPSインデックスを信号通知することができる。フィルタリング処理はCTBレベルでさらに制御されてもよい。ALFが輝度CTBに適用されるかどうかを示すために、常にフラグが信号通知される。輝度CTBは、16個の固定フィルタセットおよびAPSからのフィルタセットのうちからフィルタセットを選択することができる。どのフィルタセットが適用されるかを示すために、輝度CTBのためにフィルタセットインデックスが信号通知される。エンコーダおよびデコーダの両方において、16個の固定フィルタセットが予め定義され、ハードコーディングされる。
【0129】
クロマ成分の場合、現在のスライスに使用されているクロマフィルタセットを示すように、スライスヘッダにAPSインデックスが信号通知される。CTBレベルにおいて、APSにおいて複数のクロマフィルタセットが存在する場合、クロマCTBごとにフィルタインデックスが信号通知される。
具体的には、以下が適用される。
【0130】
スライス内の少なくとも1つのCTUがALFを適用するかどうかを示すために、まずスライスオン/オフ制御フラグコーディングされる。真である場合、CTUごとに、以下を順にチェックし、信号通知される。
【0131】
輝度部分に関して:
1.ALFが輝度CTBに適用されるかどうか。適用される場合、ステップ2に進む。適用されない場合、さらなる信号通知は必要とされない。
2.現在のスライスに使用されているALF APSの数をチェックし、それをnumALFAPSで表す。
3.numALFAPSが0に等しい場合、固定フィルタのインデックス(例えば、alf_luma_fixed_filter_idx)が信号通知される。そうでない場合、以下が適用される。
-第1のALF APSから予測されたかどうかを示すフラグを信号通知する。
-予測されていない場合、ステップ4に進む。予測されている場合、輝度CTBのためのALFパラメータの信号通知は停止される。
4.numALFAPSが1よりも大きい場合、それがALF APSから予測されたものであるかどうかを示すためのフラグを信号通知する。
-大きくない場合、固定フィルタのインデックスを信号通知する。
-大きい場合かつnumALFAPSが2よりも大きい場合、ALF APSのインデックスから1を引いたものを、トランケイテッドユーナリー(truncated unary)とともに信号通知する。
【0132】
クロマ部分に関して:
1.Cb/Cr CTBにALFを適用するかどうか。適用される場合、ステップ2に進む。適用されない場合、さらなる信号通知は必要とされない。
2.i番目のALF APSに関連付けられたフィルタのインデックスを信号通知する。ここで、APSインデックスは、スライスヘッダにおいて信号通知される。
【0133】
7.3.8.2 コーディングツリーユニット構文
【0134】
【0135】
2.8.CC-ALF(Cross-Component Adaptive Loop Filter)
CC-ALF(Cross-Component Adaptive Loop Filter)は、輝度サンプル値を用いて各クロマ成分を改善する。基本的に、CC-ALFが適用される場合、CC-ALFは、輝度サンプルをフィルタリングすることによりクロマサンプルごとに補正を生成する。それはループフィルタステップとして適用される。ツールは、ビットストリームにおける情報によって制御され、この情報は、(a)クロマ成分ごとのフィルタ係数、および(b)サンプルブロックのためのフィルタの適用を制御するマスクの両方を含む。
【0136】
図4Aは、他のループフィルタに対するCC-ALFの配置を示す。CC-ALFは、クロマ成分ごとに輝度チャネルに線形、菱形フィルタ(
図4Bに示す)を適用することによって動作し、以下のように表される。
【0137】
【0138】
ここで、
(x,y)は、改善されるクロマ成分iの位置
(xC,yC)は、(x,y)に基づく輝度位置
Siは、クロマ成分iのための輝度のフィルタサポート
ci(x0,y0)は、フィルタ係数。
【0139】
図4Aは、他のループフィルタに対するCC-ALFの配置を示す。
図4Bは菱形フィルタを示す。
【0140】
CC-ALF処理は、JVET-O0636にさらに記載されている。主な特徴は以下を含む。
●輝度平面とクロマ平面との間の空間スケーリング要素に基づいて、サポート領域が中心となる輝度位置(xC,yC)を計算する。
●すべてのフィルタ係数はAPSで送信され、8ビットのダイナミックレンジを有する。
●スライスヘッダにおいて、APSが参照されてもよい。
●スライスのクロマ成分ごとに使用されるCC-ALF係数も、時間的サブレイヤに対応するバッファに記憶される。これらの時間的サブレイヤフィルタ係数セットの再利用は、スライスレベルフラグを使用して容易になる。
●CC-ALFフィルタの適用は、可変ブロックサイズで制御され、サンプルのブロックごとに受信されたコンテキストコーディングされたフラグによって信号通知される。ブロックサイズは、CC-ALF有効化フラグと共に、クロマ成分ごとにスライスレベルで受信される。
●横方向の仮想境界のための境界パディングは、繰り返しを利用する。残りの境界については、通常のALFと同じタイプのパディングを使用する。
【0141】
2.8.1.JVET-P1008におけるCC-ALFの更なる簡素化
JVET-P0080に比べ、CC-ALFの設計を簡単にするために、以下のような新しい態様を提案する。
-複雑性低減
○
図5に示すように、フィルタの形状を3×4の菱形に変更し、フィルタ演算における乗数を低減する。
○CC-ALF係数の6ビットまでのダイナミックレンジを制限する。
○クロマALFと乗数の共用を許可する。
-ALFとの位置合わせ
○フィルタの選択をCTUレベルの信号通知に制限する。
○時間層係数バッファを除去する。
○ALF仮想境界における対称線選択を使用する。
【0142】
また、簡略化によりコーディング効率が低下するため、1クロマ成分につき最大4つのフィルタを適用することができるように制限される。
【0143】
図5は、3×4のダイヤモンド形状のフィルタを例示している。
【0144】
2.8.1.1.CC-ALFの構文および意味論
7.3.6 スライスヘッダ構文
7.3.6.1 一般スライスセグメントヘッダ構文
【0145】
【0146】
【0147】
【0148】
【0149】
【0150】
適応ループフィルタデータ構文
【0151】
【0152】
【0153】
7.3.8.2 コーディングツリーユニット構文
【0154】
【0155】
【0156】
3.開示される技術的解決策が解決しようとする技術課題の例
現在のCC-ALF設計において、以下のような問題がある。
1.輝度情報を利用してクロマサンプルを改善する1つのCC-ALFモードのみが適用され、柔軟性に欠ける。
2.同じSPSフラグが、非線形ALFおよびCC-ALFの使用を制御するために使用される。非線形ALFと分けてCC-ALFをOFFにすることはできない。
3.CC-ALFの信号通知は、妥当でない非線形ALFフラグ(すなわち、slice_alf_enabled_flag)から独立している。
4.各CTBに対し、CC-ALFフィルタ1つのみ(Cbに対するalf_ctb_cross_component_cb_idc、またはCrに対するalf_ctb_cross_component_cr_idcによって示される)が許可され、ローカルな特徴を取得できなかった。
5.SAOなどの他のフィルタが、クロマサンプルを改善できる一方、CC-ALFは、輝度情報を利用してクロマサンプルを改善する。同じクロマサンプルを繰り返し改善すると、大きな歪みが生じる可能性がある。
6.1つのCTBに対して、CC-ALFおよびクロマALFフィルタリング処理の入力は同じであり、即ち、SAO処理の後の再構成サンプルである。CC-ALFとクロマALFフィルタリング処理との間の相互作用は考慮されていない。
【0157】
4.実施形態および技術のリスト化
以下に列記される実施形態は、一般的な概念を説明するための例であると考えられるべきである。これら項目は狭い意味で解釈されるべきではない。さらに、これらの項目は、任意の方法で組み合わせることができる。
【0158】
本願明細書において、ALFフィルタは、所与の色成分の情報を用いて所与の色成分に適用されるフィルタを表してもよく(例えば、輝度ALFフィルタ(線形または非線形)は、輝度情報を用いて輝度に適用され、クロマALFフィルタは、クロマ情報を用いてクロマに適用され、例えば、CbクロマALFフィルタは、Cbサンプルをフィルタリングするためのものであり、CrクロマALFフィルタは、Crサンプルをフィルタリングするためのものである)、一方、CC-ALFフィルタは、第2の色成分情報を用いて第1の色成分に適用されるフィルタを表してもよい(例えば、第1の色成分は、CbまたはCrでもよく、第2の色成分は、輝度でもよい)。
【0159】
CC-ALFの拡張
1.CC-ALFは、第1の成分がCb/Crであり、第2の成分がYである場合を除外する第2の成分においてサンプルをフィルタリングすることによって、第1の成分におけるサンプルを補正する場合にまで拡張されてもよい。
a.あるいは、さらに、色成分が適用されたCC-ALFの指示を信号通知してもよい。
b.一例において、第1の色成分は、YCbCRフォーマットのYであってもよいし、RGBフォーマットのGであってもよい。
c.一例において、第1の色成分は、YCbCRフォーマットのCbであってもよいし、RGBフォーマットのBであってもよい。
d.一例において、第1の色成分は、YCbCRフォーマットのCrであってもよいし、RGBフォーマットのRであってもよい。
e.一例において、第2の色成分は、YCbCRフォーマットのYであってもよいし、RGBフォーマットのGであってもよい。
f.一例において、第2の色成分は、YCbCRフォーマットのCbであってもよいし、RGBフォーマットのBであってもよい。
g.一例において、第2の色成分は、YCbCRフォーマットのCrであってもよいし、RGBフォーマットのRであってもよい。
【0160】
2.CC-ALFにおける第1の成分の「サンプルの補正」または「改善されたサンプル」を導出する時に、2つ以上の成分からのサンプルがフィルタリングされてよいことが提案される。
a.一例において、第1の成分からサンプルの補正を計算する場合、第2の成分および第3の成分からのサンプルがフィルタリングされてもよく、第1の成分は第2および第3の成分と異なる。
i.一例において、第1の成分は、YCbCrフォーマットのCbであり、第2の成分および第3の成分はそれぞれ、YおよびCrである。
ii.一例において、第1の成分は、YCbCrフォーマットのCrであり、第2の成分および第3の成分はそれぞれ、YおよびCbである。
iii.一例において、第1の成分は、YCbCrフォーマットのYであり、第2の成分および第3の成分はそれぞれ、CbおよびCrである。
iv.一例において、第1の成分は、RGBフォーマットのGであり、第2の成分および第3の成分はそれぞれ、RおよびBである。
v.一例において、第1の成分は、RGBフォーマットのBであり、第2の成分および第3の成分はそれぞれ、RおよびGである。
vi.一例において、第1の成分は、RGBフォーマットのRであり、第2の成分および第3の成分はそれぞれ、GおよびBである。
b.あるいは、第1の成分からサンプルの補正を計算する場合、第2の成分および第3の成分からのサンプルがフィルタリングされてもよく、第1の成分は第2の成分または第3の成分のどちらかと同じである。
i.一例において、第1の成分は、YCbCrフォーマットのCbであり、第2の成分および第3の成分はそれぞれ、CbおよびYである。
ii.一例において、第1の成分は、YCbCrフォーマットのCbであり、第2の成分および第3の成分はそれぞれ、CbおよびCrである。
iii.一例において、第1の成分は、YCbCrフォーマットのCrであり、第2の成分および第3の成分はそれぞれ、CrおよびYである。
iv.一例において、第1の成分は、YCbCrフォーマットのCrであり、第2の成分および第3の成分はそれぞれ、CrおよびCbである。
v.一例において、第1の成分は、YCbCrフォーマットのYであり、第2の成分および第3の成分はそれぞれ、YおよびCbである。
vi.一例において、第1の成分は、YCbCrフォーマットのYであり、第2の成分および第3の成分はそれぞれ、YおよびCrである。
vii.一例において、第1の成分は、RGBフォーマットのGであり、第2の成分および第3の成分はそれぞれ、GおよびRである。
viii.一例において、第1の成分は、RGBフォーマットのGであり、第2の成分および第3の成分はそれぞれ、GおよびBである。
ix.一例において、第1の成分は、RGBフォーマットのBであり、第2の成分および第3の成分はそれぞれ、BおよびRである。
x.一例において、第1の成分は、RGBフォーマットのBであり、第2の成分および第3の成分はそれぞれ、BおよびGである。
xi.一例において、第1の成分は、RGBフォーマットのRであり、第2の成分および第3の成分はそれぞれ、RおよびGである。
xii.一例において、第1の成分は、RGBフォーマットのRであり、第2の成分および第3の成分はそれぞれ、RおよびBである。
c.一例において、第1の成分からサンプルの補正を計算する場合、3つの成分からのサンプルがフィルタリングされてもよい。
i.一例において、第1の成分は、YCbCrフォーマットのCb、またはCr、またはYである。
ii.一例において、第1の成分は、RGBフォーマットのG、またはR、またはBである。
iii.一例において、3つの成分は、YCbCrフォーマットのY、Cb、およびCrである。
iv.一例において、3つの成分は、RGBフォーマットのR、G、およびBである。
d.一例において、第1/第2/第3の成分の指示、および/または、1つのオフセット導出のためにいくつの成分をフィルタリングする必要があるかは、エンコーダからデコーダに信号通知されてもよいし、予め定義されてもよい。
【0161】
以下の説明において、クロマ成分(例えば、CbまたはCr)に対してCC-ALFを適用することが想定される。なお、CC-ALFが他の色成分(例えば、輝度またはG、またはB、またはR)を改善するために拡張される場合、色成分を変更することで同様の考え方を適用することができる。
【0162】
CC-ALFにおける複数のフィルタ
3.CC-ALF処理のために映像ユニット(例えば、スライス/ピクチャ)が2以上のALF APSを参照してよい。すなわち、映像ユニットにおける少なくとも第1のサンプルに対して、第1のALF APSにおけるCC-ALFフィルタが利用されてもよく、一方、映像ユニットにおける少なくとも第2のサンプルに対して第2のALF APSにおけるCC-ALFフィルタを利用してもよい。
a.一例において、参照されるALF APSの数は、コーディングされてもよい。
b.一例において、ALF APSのインデックスは、コーディングされてもよい。
c.一例において、輝度ALFフィルタが参照するのと同じALF APSのセットが、CC-ALFに対して利用されてもよい。
i.あるいは、さらに、CC-ALFフィルタを導出するために使用されるALF APSを信号通知する必要がない。
d.一例において、輝度ALFが参照するALF APSのサブセットまたはスーパーセットが、CC-ALFに対して利用されてもよい。
i.あるいは、さらに、CC-ALFフィルタと輝度ALFフィルタを導出するために使用されるALF APSの差異が信号通知されてもよい。
【0163】
4.2つ以上のCC-ALFフィルタが、CC-ALF処理のための映像領域(例えば、CTB)に対して利用されてよい。すなわち、映像領域における少なくとも第1のサンプルに対して、第1のCC-ALFフィルタが利用されてもよく、一方、映像領域における少なくとも第2のサンプルに対して、第2のCC-ALFフィルタにおけるCC-ALFフィルタが利用されてもよい。
a.一例において、複数のCC-ALFフィルタの指示は、映像エリア(例えば、CTB/CU/CB/PU/PB、CTB行)において信号通知されてもよい。
i.一例において、指示は、1つのALF APSにおける選択されたCC-ALFフィルタインデックスを含んでもよい。
ii.あるいは、指示は、選択されたCC-ALFフィルタインデックス、および、CC-ALFフィルタが関連付けられているALF APSのインデックスを含んでもよい。
iii.あるいは、指示は、APSにおいて信号通知されない選択された固定CC-ALFフィルタを含んでもよい。
a)あるいは、固定CC-ALFフィルタを予め定義しておき、選択されたCC-ALFフィルタを予測する/選択されたCC-ALFフィルタとしてブロックに継承させるために利用してもよい。
iv.一例において、映像エリアは映像領域と同じである。
v.あるいは、映像エリアは、映像領域よりも大きくてもよいし(例えば、スライス)、小さくてもよい(例えば、CU)。
b.一例において、クロマサンプルは複数のセットに分類されてもよく、CC-ALFフィルタをどのように選択するかは、分類結果に依存してもよい。
i.一例において、2つのクロマ成分が、独立して分類を導出してもよい。
a)一例において、クロマ成分の分類処理は、クロマ成分のためのクロマサンプル情報に依存してもよい。
ii.一例において、2つのクロマ成分が、連帯して分類を導出してもよい。
a)一例において、2つの対応するクロマブロック(CbおよびCr)の分類処理は、2つのブロック内のクロマサンプルに依存してもよい。
iii.一例において、クロマ成分に対する分類処理は、輝度色成分の情報に依存してもよい。
a)一例において、同じクラスインデックスは、クロマブロックおよびその対応する輝度ブロックに設定されてもよい。
iv.一例において、1または複数のクロマ成分の分類処理は、2つ以上の成分(Y+Cb+Cr、Y+Cb、Y+Crなど)に基づく連帯決定に依存してもよい。
v.一例において、クロマサンプルは、輝度ALFにおける輝度サンプルの対応する分類に続いて、複数のセットに分類されてもよい。
vi.あるいは、さらに、分類インデックスに従ってCC-ALFフィルタをどのように選択するかに関する指示を信号通知してもよく、例えば、分類インデックスごとのCC-ALFフィルタインデックスが信号通知されてもよい。
【0164】
CC-ALFのフィルタリング処理の見直し
5.クロマサンプルを改善するために使用される前に、改善(例えば、導出されたオフセット)を修正することが提案される。
a.一例において、導出されたオフセットは、所与の範囲にクリップされてもよい。
i.一例において、オフセットをクリップするかどうか、および/または、どのようにクリップするかは、エンコーダからデコーダに信号通知してもよい。
【0165】
6.ピクセルの2つの対応するクロマサンプルに対してCC-ALFフィルタリング処理を2回実行する代わりに、それを1回呼び出すことが提案される。第1の色成分のピクセルSのためのOffset1が輝度サンプルから導出されてもよく、第2の色成分のピクセルSのためのOffset2がOffset1から導出されてもよいとする。
a.一例において、Offset1はOffset2に等しい。
b.一例において、Offset1にOffset2を加えたものは、0に等しくてもよい。
c.一例において、Offset2は、Offset1の線形関数として導出されてもよく、例えば、Offset2はa*Offset1+bに等しい。
d.一例において、クリッピング動作は、Offset1からOffset2を導出するために用いられてもよい。
e.一例において、Offset2は、オフセット1および連帯CbおよびCrモードのスライスレベル符号フラグ(例えば、slice_joint_cbcr_sign_flag)に基づいて導出されてもよい。
i.一例において、slice_joint_cbcr_sign_flagが0である場合、offset2は、offset1に等しく設定されてもよい。
a)あるいは、一例において、slice_joint_cbcr_sign_flagが1である場合、offset2は、-offset1に等しく設定されてもよい。
f.一例において、2つの対応するクロマサンプル(例えば、CbおよびCr)のために、1つのCC-ALFフィルタのセットが使用されてもよい。
i.あるいは、さらに、2つのクロマ成分に対し、CC-ALFフィルタの指示は、2回ではなく1回だけ信号通知してもよい。
g.あるいは、さらに、クロマ成分に対するオフセットの補正をさらに信号通知または導出してもよい。
i.一例において、輝度サンプルから導出されたオフセット(Oで表される)は、第1のクロマ成分(例えば、Cb)の1つのサンプルを改善するために直接的に使用されてもよく、OおよびOの補正は、共に、第2のクロマ成分(例えば、Cr)の1つのサンプルを改善するために使用されてもよい。
【0166】
7.CC-ALFフィルタリング処理をサンプルレベルで実行する代わりに、それをサブブロック(2つ以上のサンプルを含む)レベルで適用することが提案される。
a.一例において、サブブロック内のすべてのクロマサンプルに対して、オフセット導出処理を、1回だけ呼び出してもよい。
b.一例において、サブブロック内のクロマサンプルに対し、同じオフセットが利用されてもよい。
i.あるいは、少なくとも第2の色成分から導出されたオフセットはさらに修正されてもよく、例えば、少なくとも第2の色成分から導出されたオフセットは内部オフセットとして設定されてもよく、サブブロックにおけるサンプルの最終オフセットを内部オフセットから導出してもよい。
c.一例において、サブブロックの寸法は、M×N(例えば、2×2;2×1,1×2)に設定されてよい。
d.一例において、サブブロックの寸法は、色フォーマット(例えば、4:4:4または4:2:0)に依存してもよい。
e.一例において、サブブロックの寸法は、異なるブロック(例えば、CTB)において異なってもよい。
f.一例において、サブブロックの寸法は、異なる色成分において異なってもよい。
g.一例において、CC-ALFフィルタサポート領域は、サブブロックの寸法に依存してもよい。
h.一例において、サブブロックサイズおよび/またはCC-ALF起動の粒度は、映像ユニットにおいて信号通知されてもよい。
【0167】
8.CC-ALFフィルタリング処理は、輝度サンプルに対して直接ではなく、輝度サンプルの差に対して係数を用いたフィルタリングを適用するために起動される。
a.一例において、輝度サンプルの差は、フィルタサポート(領域)における1つの輝度サンプルと対応する輝度サンプルとの間の差として定義されてもよい。クロマサンプル座標を(x,y)で示すと仮定する。
i.一例において、対応する輝度サンプルは、4:4:4フォーマットにおける(x,y)に位置する輝度サンプルである。
ii.一例において、対応する輝度サンプルは、非4:4:4フォーマットにおける(2x,2y)に位置する輝度サンプルである。
iii.一例において、対応する輝度サンプルは、4:2:0フォーマットにおける(2x,2y)および(2x,2y+1)に位置する2つのサンプルの関数(例えば、平均)として導出される。
iv.一例において、式(18)におけるフィルタリング処理は、以下のように書き換えられてもよい。
【0168】
【0169】
ここで、
(x,y)は、改善されているクロマ成分iの位置である。
(xC,yC)は、(x,y)に基づく輝度位置である。
Siは、クロマ成分iのための輝度のフィルタサポートである。
ci(x0,y0)はフィルタ係数を表す。
なお、対応するサンプルが(xC,yC)として定義される場合、x0およびy0の両方が0に等しい際には、これらはSiから除外される。
b.あるいは、さらに、輝度サンプル差は、使用する前に、クリッピングするなど、さらに修正されてもよい。
i.一例において、式(18)におけるフィルタリング処理は、以下のように書き換えられてもよい。
【0170】
【0171】
ここで、
(x,y)は、改善されているクロマ成分iの位置である。
(xC,yC)は、(x,y)に基づく輝度位置である。
Siは、クロマ成分iのための輝度のフィルタサポートである。
ci(x0,y0)はフィルタ係数を表す。
なお、対応するサンプルが(xC,yC)として定義される場合、x0およびy0の両方が0に等しい際には、これらはSiから除外され、関数Clipは(x0,y0)に依存してもよい。
ii.一例において、クリッピングを行うかどうか、および/または、どのようにクリッピングを行うかは、信号通知されてもよい。
iii.一例において、クリッピングパラメータは、デコーダに信号通知されてもよい。
a)あるいは、さらに、輝度ALF処理におけるクリッピングパラメータの信号通知方法が、CC-ALFにおけるクリッピングパラメータを信号通知するために用いられてもよい。
iv.一例において、輝度ALF処理において使用されるクリッピングパラメータ(利用可能である場合)は、CC-ALFにおいて再使用されてもよい。
【0172】
CC-ALFの信号通知
9.一例において、APSがCC-ALFに関連する情報を含むかどうかを示すために、APSにおいて少なくとも1つの構文要素が信号通知される。
a.一例において、CC-ALFに関連する情報を含むAPSは、新しいAPSタイプとしてマークされてもよい。
b.CbおよびCr CC-ALFフィルタの信号通知の指示(例えば、alf_cross_component_cb_filter_signal_flagおよびalf_cross_component_cr_filter_signal_flag)、1つの構文要素(例えば、alf_cross_conponent_filter_signal_flagによって示される)と連帯してコーディングされてもよい。
i.あるいは、構文要素は非バイナリ値であってもよい。
【0173】
10.CC-ALFおよびコーディングツールXを排他的に使用してもよい。すなわち、CC-ALFが使用される場合、Xは無効化されるか、またはその逆である。
a.一例において、コーディングツールXは、以下であってもよい。
i.クロマ成分に対するSAO
ii.LMCSにおけるクロマ残差スケーリング
iii.クロマ成分のデブロッキング
iv.クロマ成分のALF
b.一例において、CC-ALF関連サイド情報の信号通知は、コーディングツールXを有効化/無効化するという条件チェックに従っててもよい。
c.一例において、コーディングツールX関連サイド情報の信号通知は、CC-ALFを有効化/無効化するという条件チェックに従ってもよい。
d.一例において、コーディングツール(CC-ALFまたはXのいずれか)が無効化された場合、対応するサイド情報は信号通知されない。
e.CC-ALFおよびコーディングツールXが排他的に使用されるかどうかの決定は、シーケンス全体に対して、またはピクチャ全体に対して、またはスライス全体に対して、またはタイル、サブピクチャ、CTB、コーディングブロック等の領域に対して行われてもよい。
【0174】
11.映像領域(例えば、CTB)または映像ユニット(例えば、シーケンスまたはピクチャまたはスライス)に対するCC-ALFの有効化/無効化は、輝度成分に対するALFの信号通知および/または使用に依存してもよい。
a.一例において、ALFパラメータが輝度成分のために信号通知されない場合、CC-ALFは強制的に無効化される。
i.あるいは、CC-ALF関連サイド情報の信号通知は、輝度成分(例えば、alf_luma_filter_signal_flag)に対するALFの使用の条件チェックに従ってもよい。
ii.あるいは、さらに、ALFパラメータが信号通知されない場合、CC-ALF関連サイド情報の信号通知は省略されてもよい。
b.一例において、輝度成分に対してALFが無効化されている場合、CC-ALFは無効化されることを強制される。
i.あるいは、さらに、CC-ALF関連サイド情報(例えば、slice_cross_component_alf_cb_enabled_flag、slice_cross_component_alf_cr_enabled_flag、alf_ctb_cross_component_cb_idc、またはalf_ctb_cross_component_cr_idc)の信号通知は、輝度成分(例えば、slice_alf_enabled_flag、またはalf_ctb_flag)に対するALFの使用の条件チェックに従ってもよい。
ii.あるいは、さらに、CC-ALF関連サイド情報の信号通知が省略されてもよい。
【0175】
12.CC-ALFの使用を信号通知するかどうかは、利用可能なALF APSの数に依存してもよい。
a.一例において、CC-ALF関連情報(例えば、slice_cross_component_alf_cb_enabled_flag、slice_cross_component_alf_cr_enabled_flag)の信号通知は、利用可能なALF APSの数が0に等しくないという条件チェックに従う。あるいは、CC-ALF関連情報の信号通知は、利用可能なALF APSの数が0よりも大きいという条件チェックに従う。
b.一例において、利用可能なALF APSの数量が0に等しい場合、CC-ALF関連情報(例えば、slice_cross_component_alf_cb_enabled_flag、slice_cross_component_alf_cr_enabled_flag)の信号通知は省略されてもよい。
c.あるいは、適合ビットストリームは、CC-ALFおよび/またはALFに対する信号通知されたAPSインデックスが、送信されたALF APSの数以上であることを満たすものとする。
d.あるいは、適合ビットストリームは、CC-ALFおよび/またはALFに対する信号通知されたAPSインデックスが、1つの利用可能なALF APSを参照することを満たすものとする。
e.あるいは、CC-ALFの使用を信号通知するかどうかは、CC-ALF情報を含む利用可能なALF APSの数に依存してもよい。
【0176】
CC-ALFの起動
13.CC-ALFは、ブロックの予測ステージにおいて適用されてよい。
a.一例において、エンコーダ側において、予測誤差は、オリジナルブロックおよびCC-ALFフィルタリングされた結果、例えば、オリジナル信号とCC-ALFフィルタリングされた結果との間の差に基づいて生成されてもよい。
b.一例において、エンコーダ側において、予測誤差は、オリジナルブロック、所与の予測モードに従う予測ブロック、CC-ALFフィルタリングされた結果(例えば、オリジナル信号から予測信号を減算したものからCC-ALFフィルタリングされた結果を減算したものに設定される)に基づき生成されてもよい。
c.一例において、デコーダ側において、ブロックの再構成は、CC-ALFフィルタリングされた結果および残差に依存してもよい。
d.一例において、デコーダ側において、ブロックの再構成は、CC-ALFフィルタリングされた結果、残差、およびイントラ/インター/他のコーディングモードから生成された予測ブロックに依存してもよい。
e.一例において、上記例は、ブロック内の部分サンプルについては有効化されるが、残りのサンプルについては無効化されてもよい。
i.一例において、部分サンプルは、最初のN個の行/列におけるサンプルを表してもよい。
ii.一例において、部分サンプルは、最後のN個の行/列におけるサンプルを表してもよい。
iii.一例において、Nは、CC-ALFにおいて使用されるフィルタ形状に依存してもよい。
【0177】
14.CC-ALFは、1つのブロック(例えば、CTB)を再構成した後、別のブロックを復号化する前に適用されてもよい。
【0178】
15.SAOとALFとの間にCC-ALFを適用する代わりに、異なる順序のフィルタリング方法が適用されてもよい。
a.一例において、CC-ALFは、すべてのインループフィルタの前に適用されてもよい。
b.一例において、CC-ALFは、ブロックの再構成の後に適用されてもよく、フィルタリングされた再構成ブロックは、次のブロックを予測するために利用されてもよい。
c.一例において、CC-ALFは、SAOの前に適用されてもよい。
【0179】
16.CC-ALFを有効化するか無効化するかは、スライス以外の映像ユニット(例えば、シーケンス/ピクチャ/ビュー/サブピクチャ/タイル)において信号通知されてもよい。
a.一例において、ALFの有効化に従って、CC-ALFの使用の指示が条件付きで信号通知されてもよい。
b.一例において、CC-ALFの使用の指示は、クロマ色フォーマットおよび/または別個のプレーンコーディング有効化フラグに従って、条件付きで信号通知されてもよい。
c.一例において、スライス/CTB/CTUにおけるCC-ALFの使用の指示は、映像ユニットに対してCC-ALFのチェックが有効化されているという条件に従ってもよい。
d.一例において、CC-ALFを有効化してよいかどうかを示すために、SPS/VPS/PPS/ピクチャヘッダ/スライスヘッダにおいて構文要素(例えば、フラグ)が信号通知されてもよい。
i.あるいは、さらに、映像ユニットに対してALFが有効化されている場合にのみ(例えば、sps_alf_enabled_flagが1に等しい場合にのみ)、構文要素はコーディングされてもよい。
ii.あるいは、さらに、構文要素は、映像ユニットに対してALFが有効化されており、ChromaArrayTypeが0に等しくない場合にのみ(例えば、sps_alf_enabled_flagが1に等しく、ChromaArrayTypeはゼロではない場合にのみ)コーディングされてもよい。
【0180】
17.輝度成分に対するALFの有効化に従って、CC-ALFの使用の指示が条件付きで信号通知されてもよい。
a.一例において、輝度成分に対してALFが無効化された場合、CC-ALFは、明確に信号通知されることなく同様に無効化される。
【0181】
18.クロマ成分のALFおよびクロマ成分のCC-ALFを処理する順序は、予め規定されてもよいし、M×Nの領域で適応的に変更されてもよい。
a.一例において、M×Nの領域のクロマALFフィルタリング処理に起因するフィルタリングされたサンプルは、M×Nの領域のクロマ成分のCC-ALFに入力される前に、さらに修正されてもよい。
b.一例において、第1のM×Nの領域に対するクロマALFフィルタリング処理および/またはCC-ALFに起因するフィルタリングされたサンプルは、第2のM×Nの領域への入力として利用されてもよい。
c.一例において、まずM×Nの領域におけるクロマ成分のCC-ALFが行われ、次にM×Nの領域におけるクロマ成分のALFが行われてよい。
i.一例において、1つのM×Nの領域に対し、クロマALFフィルタリング処理の入力は、CC-ALFの出力であってもよい。
ii.一例において、M×Nの領域のサンプルは、M×Nの領域のクロマ成分のALFに入力される前に、CC-ALFにより修正されてしまってもよい。
d.一例において、M×Nの領域は、CTBであってもよい。
e.一例において、M×Nの領域は、CTBより小さくてもよい。
i.一例において、M×Nの領域は、1つのサンプルであってもよい。
f.順序は、VPS/DPS/SPS/PPS/ピクチャヘッダ/スライスヘッダなどで、エンコーダからデコーダに信号通知されてもよい。
【0182】
19.所与のクロマ成分(例えば、CbまたはCr)に対するALFおよびCC-ALFの使用を示すために、構文要素が信号通知されてもよい。
a.一例において、構文要素の値は非バイナリであってもよい。
i.一例において、Kに等しい構文の値は、所与の色成分に対して非線形ALFおよびCC-ALFの両方が無効化されていることを示す。
ii.一例において、Lに等しい構文の値は、所与の色成分に対して非線形ALFおよびCC-ALFの両方が有効化されていることを示す。
iii.一例において、Mに等しい構文の値は、所与の色成分に対してCC-ALFが無効化されている間、非線形ALFのみが有効化されていることを示す。
iv.一例において、Nに等しい構文の値は、所与の色成分に対して非線形ALFが無効化されている間、CC-ALFのみが有効化されていることを示す。
v.上記例において、K,L,M,Nは、4つの整数値であり、例えば、K=0,L=3,M=1、N=2である。
b.構文要素の値は、固定長、ユーナリー(unary)、トランケイテッドユーナリー(truncated unary)、k次EG等の2値化方法でコーディングされてもよい。
【0183】
20.上記方法を適用するかどうかおよび/またはどのように適用するかは、以下に列挙される1または複数の条件に基づいてよい。
a.映像コンテンツ(例えば、スクリーンコンテンツまたは自然コンテンツ)
b.一例において、デフォルトモードは、DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/LCU(Largest Coding Unit)/CU(Coding Unit)/LCU行/LCUグループ/TU/PUブロック/映像符号化ユニットにおいて信号通知されてもよい。
c.CU/PU/TU/ブロック/映像コーディングユニットの位置
d.現在のブロックおよび/またはその近傍のブロックの復号化情報
i.現在のブロックおよび/またはその近傍のブロックのブロック寸法/ブロック形状
e.カラーフォーマットの指示(例えば、4:2:0、4:4:4、RGB、YUV等)
f.コーディングツリー構造(例えば、デュアルツリーまたはシングルツリー)
g.スライス/タイルグループのタイプおよび/またはピクチャのタイプ
h.色成分(例えば、輝度成分および/またはクロマ成分にのみ適用されてもよい)。
i.時間層ID
j.標準のプロファイル/レベル/層
【0184】
図6は、映像処理装置600のブロック図である。装置600は、本明細書に記載の方法の1または複数を実装するために使用してもよい。装置600は、スマートフォン、タブレット、コンピュータ、IoT(Internet of Things)受信機等により実施されてもよい。装置600は、1または複数のプロセッサ602と、1または複数のメモリ604と、映像処理回路606と、を含んでもよい。プロセッサ602は、本明細書に記載される1または複数の方法を実装するように構成されてもよい。メモリ604は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理回路606は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。いくつかの実施例において、ハードウェア回路606は、プロセッサ602、例えばグラフィックプロセッサ内に部分的にまたは完全に含まれてもよい。
【0185】
図7は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム1700を示すブロック図である。様々な実装形態は、システム700のコンポーネントの一部又は全部を含んでもよい。システム700は、映像コンテンツを受信するための入力1902を含んでもよい。映像コンテンツは、未加工又は非圧縮フォーマット、例えば、8又は10ビットのマルチコンポーネント画素値で受信されてもよく、又は圧縮又は符号化フォーマットで受信されてもよい。入力702は、ネットワークインターフェース、周辺バスインターフェース、又は記憶インターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット(登録商標)、PON(Passive Optical Network)等の有線インターフェース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インターフェースを含む。
【0186】
システム700は、本明細書に記載される様々な符号化又は復号化方法を実装することができるコーディングコンポーネント704を含んでもよい。コーディングコンポーネント704は、入力702からの映像の平均ビットレートをコーディングコンポーネント704の出力に低減し、映像のコーディングされた表現を生成してもよい。従って、この符号化技術は、映像圧縮または映像コード変換技術と呼ばれることがある。コーディングコンポーネント704の出力は、コンポーネント706によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力702において受信された、記憶された又は通信された映像のビットストリーム(又はコーディングされた)表現は、コンポーネント708によって使用されて、表示インターフェース710に送信される画素値又は表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像展開と呼ばれることがある。さらに、特定の映像処理動作を「コーディング」動作又はツールと呼ぶが、符号化ツール又は動作は、エンコーダおよびそれに対応する、符号化の結果を逆にする復号化ツール又は動作が、デコーダによって行われることが理解されよう。
【0187】
周辺バスインターフェースまたは表示インターフェースの例は、USB(Universal Serial Bus)またはHDMI(登録商標;High Definition Multimedia Interface)またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、又はデジタルデータ処理および/又は映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
【0188】
図8は、本開示の技法を利用し得る例示的な映像コーディングシステム100を示すブロック図である。
【0189】
図8に示すように、映像コーディングシステム100は、送信元デバイス110と、送信先デバイス120と、を備えてもよい。送信元デバイス110は、映像符号化デバイスとも呼ばれ得る符号化映像データを生成する。送信先デバイス120は、映像復号化デバイスと呼ばれ得る送信元デバイス110によって生成された符号化映像データを復号化してよい。
【0190】
送信元デバイス110は、映像ソース112と、映像エンコーダ114と、入出力(I/O)インターフェース116と、を含んでもよい。
【0191】
映像ソース112は、映像キャプチャデバイスなどのソース、映像コンテンツプロバイダからの映像データを受信するためのインターフェース、および/または映像データを生成するためのコンピュータグラフィックスシステム、またはこれらのソースの組み合わせを含んでもよい。映像データは、1または複数のピクチャを含んでもよい。映像エンコーダ114は、映像ソース112からの映像データを符号化し、ビットストリームを生成する。ビットストリームは、映像データのコーディングされた表現を形成するビットシーケンスを含んでもよい。ビットストリームは、コーディングされたピクチャおよび関連付けられたデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連付けられたデータは、シーケンスパラメータセット、ピクチャパラメータセット、および他の構文構造を含んでもよい。I/Oインターフェース116は、変復調器(モデム)および/または送信機を含んでもよい。符号化された映像データは、ネットワーク130aを介して、I/Oインターフェース116を介して送信先デバイス120に直接送信されてよい。符号化された映像データは、送信先デバイス120がアクセスするために、記憶媒体/サーバ130bに記憶してもよい。
【0192】
送信先デバイス120は、I/Oインターフェース126、映像デコーダ124、および表示装置122を含んでもよい。
【0193】
I/Oインターフェース126は、受信機および/またはモデムを含んでもよい。I/Oインターフェース126は、送信元デバイス110または記憶媒体/サーバ130bから符号化映像データを取得してもよい。映像デコーダ124は、符号化された映像データを復号化してもよい。表示装置122は、復号化した映像データをユーザに表示してもよい。表示デバイス122は、送信先デバイス120と一体化されてもよく、または外部表示デバイスとインターフェースするように構成される送信先デバイス120の外部にあってもよい。
【0194】
映像エンコーダ114および映像デコーダ124は、HEVC(High Efficiency Video Coding)規格、VVVM(Versatile Video Coding)規格、および他の現在のおよび/または更なる規格等の映像圧縮規格に従って動作してもよい。
【0195】
図9は、映像エンコーダ200の一例を示すブロック図であり、映像エンコーダ200は、
図8に示されるシステム100における映像エンコーダ114であってもよい。
【0196】
映像エンコーダ200は、本開示の技術のいずれか又は全部を実行するように構成されてもよい。
図9の例において、映像エンコーダ200は、複数の機能コンポーネントを含む。本開示で説明される技法は、映像エンコーダ200の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
【0197】
映像エンコーダ200の機能コンポーネントは、分割ユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205およびイントラ予測ユニット206を含んでもよい予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピー符号化ユニット214とを含んでもよい。
【0198】
他の例において、映像エンコーダ200は、より多くの、より少ない、又は異なる機能コンポーネントを含んでもよい。一例において、予測ユニット202は、IBC(Intra Block Copy)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが現在の映像ブロックが位置するピクチャであるIBCモードにおいて予測を行ってよい。
【0199】
さらに、動き推定ユニット204および動き補償ユニット205などのいくつかのコンポーネントは、高度に統合されてもよいが、説明のために、
図9の例においては別個に表現されている。
【0200】
分割ユニット201は、1つのピクチャを1または複数の映像ブロックに分割してよい。映像エンコーダ200および映像デコーダ300は、様々な映像ブロックサイズをサポートしてもよい。
【0201】
モード選択ユニット203は、例えば、エラー結果に基づいて、イントラ又はインターのいずれかのコーディングモードの1つを選択し、得られたイントラ又はインター符号化ブロックを、残差生成ユニット207に供給して残差ブロックデータを生成し、また再構成ユニット212に供給して参照ピクチャとして符号化ブロックを再構成してもよい。いくつかの例において、モード選択ユニット203は、インター予測信号およびイントラ予測信号に基づいて予測を行うCIIP(Conbination of Intra and Inter Prediction)モードの組み合わせを選択してもよい。また、モード選択ユニット203は、インター予測の場合、ブロックのために動きベクトルの解像度(例えば、サブピクセル又は整数ピクセル精度)を選択してもよい。
【0202】
現在の映像ブロックに対してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1または複数の参照フレームと現在の映像ブロックとを比較することにより、現在の映像ブロックのための動き情報を生成してもよい。動き補償ユニット205は、現在の映像ブロックに関連付けられたピクチャ以外のバッファ213からのピクチャの動き情報および復号化サンプルに基づいて、現在の映像ブロックのために予測映像ブロックを判定してもよい。
【0203】
動き推定ユニット204および動き補償ユニット205は、例えば、現在の映像ブロックがIスライスであるか、Pスライスであるか、又はBスライスであるかに基づいて、現在の映像ブロックに対して異なる演算を実行してもよい。
【0204】
いくつかの例において、動き推定ユニット204は、現在の映像ブロックに対して単方向予測を実行し、動き推定ユニット204は、現在の映像ブロックに対して、リスト0又はリスト1の参照ピクチャを検索して、参照映像ブロックを求めてもよい。そして、動き推定ユニット204は、参照映像ブロックと、現在の映像ブロックと参照映像ブロックとの間の空間的変位を示す動きベクトルとを含む、リスト0またはリスト1における参照ピクチャを示す参照インデックスを生成してもよい。動き推定ユニット204は、参照インデックス、予測方向インジケータ、および動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償ユニット205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在のブロックの予測映像ブロックを生成してもよい。
【0205】
他の例において、動き推定ユニット204は、現在の映像ブロックを双方向予測してもよく、動き推定ユニット204は、リスト0における参照ピクチャの中から現在の映像ブロックために参照映像ブロックを検索してもよく、また、リスト1における参照ピクチャの中から現在の映像ブロックのために別の参照映像ブロックを検索してもよい。動き推定ユニット204は、参照映像ブロックを含むリスト0およびリスト1における参照ピクチャを示す参照インデックスと、参照映像ブロックと現在の映像ブロックとの間の空間的変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在の映像ブロックの参照インデックスおよび動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償ユニット205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在の映像ブロックの予測映像ブロックを生成してもよい。
【0206】
いくつかの例において、動き推定ユニット204は、デコーダの復号化処理のために、動き情報のフルセットを出力してもよい。
【0207】
いくつかの例では、動き推定ユニット204は、現在の映像のために動き情報のフルセットを出力しなくてもよい。むしろ、動き推定ユニット204は、別の映像ブロックの動き情報を参照して、現在の映像ブロックの動き情報を信号通知してもよい。例えば、動き推定ユニット204は、現在の映像ブロックの動き情報が近傍の映像ブロックの動き情報に十分に類似していると判定してもよい。
【0208】
一例において、動き推定ユニット204は、現在の映像ブロックに関連付けられた構文構造において、現在の映像ブロックが別の映像ブロックと同じ動き情報を有することを映像デコーダ300に示す値を示してもよい。
【0209】
別の例において、動き推定ユニット204は、現在の映像ブロックに関連付けられた構文構造において、別の映像ブロックと、MVD(Motion Vector Difference)とを識別してもよい。動きベクトル差は、現在の映像ブロックの動きベクトルと、示された映像ブロックの動きベクトルとの差分を示す。映像デコーダ300は、指示された映像ブロックの動きベクトルと、動きベクトル差を用いて、現在の映像ブロックの動きベクトルを判定してもよい。
【0210】
上述したように、映像エンコーダ200は、動きベクトルを予測的に信号通知してもよい。映像エンコーダ200によって実装されてよい予測信号通知技法の2つの例は、AMVP(Advanced Motion Vector Prediction)およびマージモード信号通知を含む。
【0211】
イントラ予測ユニット206は、現在の映像ブロックに対してイントラ予測を行ってもよい。イントラ予測ユニット206が現在の映像ブロックをイントラ予測する場合、イントラ予測ユニット206は、同じピクチャにおける他の映像ブロックの復号化されたサンプルに基づいて、現在の映像ブロックのための予測データを生成してもよい。現在の映像ブロックのための予測データは、予測された映像ブロックおよび様々な構文要素を含んでもよい。
【0212】
残差生成ユニット207は、現在の映像ブロックから現在の映像ブロックの予測された映像ブロックを減算することによって(例えば、マイナス符号によって示されている)、現在の映像ブロックのために残差データを生成してもよい。現在の映像ブロックの残差データは、現在の映像ブロックにおけるサンプルの異なるサンプル成分に対応する残差映像ブロックを含んでもよい。
【0213】
他の例において、例えば、スキップモードにおいて、現在の映像ブロックのための残差データがなくてもよく、残差生成ユニット207は、減算演算を実行しなくてもよい。
【0214】
変換処理ユニット208は、現在の映像ブロックに関連付けられた残差映像ブロックに1または複数の変換を適用することによって、現在の映像ブロックのために1または複数の変換係数映像ブロックを生成してもよい。
【0215】
変換処理ユニット208が現在の映像ブロックに関連付けられた変換係数映像ブロックを生成した後、量子化ユニット209は、現在の映像ブロックに関連付けられた1または複数のQP(Quantization Parameter)値に基づいて、現在の映像ブロックに関連付けられた変換係数映像ブロックを量子化してもよい。
【0216】
逆量子化ユニット210および逆変換ユニット211は、変換係数映像ブロックに逆量子化および逆変換をそれぞれ適用し、変換係数映像ブロックから残差映像ブロックを再構成してもよい。再構成ユニット212は、予測ユニット202によって生成された1または複数の予測映像ブロックから対応するサンプルに再構成された残差映像ブロックを加え、バッファ213のストレージに対する現在のブロックに関連付けられた再構成された映像ブロックを生成してもよい。
【0217】
再構成ユニット212が映像ブロックを再構成した後、映像ブロックにおける映像ブロッキングアーチファクトを縮小するために、ループフィルタリング動作を行ってもよい。
【0218】
エントロピー符号化ユニット214は、映像エンコーダ200の他の機能コンポーネントからデータを受信してもよい。エントロピー符号化ユニット214は、データを受信した場合、1または複数のエントロピー符号化演算を実行し、エントロピー符号化データを生成し、エントロピー符号化データを含むビットストリームを出力してもよい。
【0219】
図10は、映像デコーダ300の一例を示すブロック図であり、映像デコーダ300は、
図8に示すシステム100における映像デコーダ114であってもよい。
【0220】
映像デコーダ300は、本開示の技術のいずれか又は全部を実行するように構成されてもよい。
図10の例において、映像デコーダ300は、複数の機能コンポーネントを含む。本開示で説明される技術は、映像デコーダ300の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
【0221】
図10の例において、映像デコーダ300は、エントロピー復号化ユニット301、動き補償ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305、および再構成ユニット306、並びにバッファ307を備える。映像デコーダ300は、いくつかの例では、映像エンコーダ200(
図9)に関して説明した符号化パスとほぼ逆の復号化パスを行ってもよい。
【0222】
エントロピー復号化ユニット301は、符号化ビットストリームを取り出してよい。符号化ビットストリームは、エントロピーコーディングされた映像データ(例えば、映像データの符号化されたブロック)を含んでもよい。エントロピー復号化ユニット301は、エントロピーコーディングされた映像データを復号化し、エントロピー復号された映像データから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、および他の動き情報を含む動き情報を決定してもよい。動き補償ユニット302は、例えば、AMVPおよびマージモードを実行することで、このような情報を判定してもよい。
【0223】
動き補償ユニット302は、動き補償されたブロックを生成してもよく、場合によっては、補間フィルタに基づいて補間を実行する。構文要素には、サブピクセルの精度で使用される補間フィルタのための識別子が含まれてもよい。
【0224】
動き補償ユニット302は、映像ブロックの符号化中に映像エンコーダ20によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数ピクセルのための補間値を計算してもよい。動き補償ユニット302は、受信した構文情報に基づいて、映像エンコーダ200が使用する補間フィルタを決定し、この補間フィルタを使用して予測ブロックを生成してもよい。
【0225】
動き補償ユニット302は、構文情報の一部を用いて、符号化された映像シーケンスのフレームおよび/またはスライスを符号化するために使用されるブロックのサイズ、符号化された映像シーケンスのピクチャの各マクロブロックがどのように分割されるかを記述する分割情報、各分割がどのように符号化されるかを示すモード、各インター符号化ブロックに対する1または複数の参照フレーム(および参照フレームリスト)、および符号化された映像シーケンスを復号化するための他の情報を決定してもよい。
【0226】
イントラ予測ユニット303は、例えば、ビットストリームにおいて受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成してもよい。逆量子化ユニット303は、ビットストリームに提供され、エントロピー復号化ユニット301によって復号された量子化された映像ブロック係数を逆量子化(すなわち、逆量子化)する。逆変換ユニット303は、逆変換を適用する。
【0227】
再構成ユニット306は、残差ブロックと、動き補償ユニット202又はイントラ予測ユニット303によって生成された対応する予測ブロックとを合計し、復号化されたブロックを形成してもよい。要求されれば、ブロックアーチファクトを除去するために、復号化されたブロックをフィルタリングするためにデブロッキングフィルタを適用してもよい。復号化された映像ブロックはバッファ307に記憶され、バッファ307は後続の動き補償のための参照ブロックを提供する。
【0228】
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを有効化するように決定または判定することを含む。一例において、映像処理ツールまたはモードが有効化される場合、エンコーダは、映像のブロックの処理においてツールまたはモードを使用するまたは実装するが、ツールまたはモードの使用に基づいて、結果として得られるビットストリームを必ずしも修正しなくてもよい。すなわち、映像のブロックから映像のビットストリーム表現への変換は、決定または判定に基づいて映像処理ツールまたはモードが有効化される場合に、映像処理ツールまたはモードを使用する。別の例において、映像処理ツールまたはモードが有効化される場合、デコーダは、ビットストリームが映像処理ツールまたはモードに基づいて修正されたことを知って、ビットストリームを処理する。すなわち、決定または判定に基づいて有効化された映像処理ツールまたはモードを使用して、映像のビットストリーム表現から映像のブロックへの変換を行う。
【0229】
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを無効化するように決定または判定することを含む。一例において、映像処理ツールまたはモードが無効にされている場合、エンコーダは、映像のブロックを映像のビットストリーム表現に変換する際に、ツールまたはモードを使用しない。別の例において、映像処理ツールまたはモードが無効にされている場合、デコーダは、決定または判定に基づいて無効化された映像処理ツールまたはモードを使用してビットストリームが修正されていないことを知って、ビットストリームを処理する。
【0230】
本明細書では、「映像処理」という用語は、映像符号化、映像復号化、映像圧縮、または映像展開を指すことができる。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例えば、マクロブロックは、変換およびコーディングされた誤り残差値の観点から、且つビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して符号化されてもよい。
【0231】
いくつかの例において、映像処理方法は、複数成分の映像ブロックを含む映像の映像領域と映像のビットストリーム表現との変換のために、第2の成分の第2の成分映像ブロックの再構成されたサンプル値を用いて、第1の成分の第1の成分映像ブロックの再構成されたサンプル値を補正する変換の間、CC-ALF(Cross-Component Adaptive Loop Filtering)を使用するとの決定を行うことであって、第1の成分は、CbおよびCr色表現を除外し、第2の成分は、輝度(Y)成分を除外する、ことと、決定に基づいて変換を行うことと、を含む。様々な実施例において、ビットストリーム表現は、第1の成分を識別してもよく、映像は、YCbCrフォーマットを使用して表され、第1の成分はY成分であるか、または映像はRGBフォーマットを使用して表され、第1の成分はG成分である。
【0232】
次に、いくつかの実施形態において好適な項目を列挙する。
【0233】
項目の第1のセットは、前章(例えば、項目1)に記載された技術の例示的な実施形態を示す。
【0234】
1.映像処理の方法であって、複数の成分の映像ブロックを含む映像の映像領域と映像のビットストリーム表現との間の変換のために、CC-ALF(Cross-Component Adaptive Loop Filtering)が、少なくとも2つの成分の映像ブロックの再構成されたサンプル値を使用して、第1の成分の第1の成分映像ブロックの再構成されたサンプル値を補正ための変換の間、使用されることの決定を行うこと(702)と、決定に基づいて変換を行うことと、を含む、映像処理方法(例えば、
図11に示す方法700)。
【0235】
2.2つの成分のうちの1つは第1の成分である、項目1に記載の方法。
【0236】
3.2つの成分は第1の成分と異なる、項目1に記載の方法。
【0237】
4.CC-ALFは、3つの色成分の映像ブロックの再構成されたサンプル値に基づいて使用される、項目1に記載の方法。
【0238】
以下の項目は、前章(例えば、項目4)に記載された技術の例示的な実施形態を示す。
【0239】
5.映像処理の方法であって、複数の成分の映像ブロックを含む映像の映像領域と映像のビットストリーム表現との間の変換のために、映像領域の第1の部分の変換に対して第1第1のCC-ALF(Cross-Component Adaptive Loop Filtering)と、映像領域の第2の部分の変換に対して第2のCC-ALFとを使用する決定を行うことと、決定に基づいて変換を行うことと、を含み、第1のCC-ALFは、映像領域の第1の部分の第2の成分の再構成されたサンプル値を使用して映像領域の第1の部分の第1の成分の再構成されたサンプル値を補正するために使用され、第2のCC-ALFは、映像領域の第2の部分の第4の成分の再構成されたサンプル値を使用して映像領域の第2の部分の第3の成分の再構成されたサンプル値を補正するために使用される、映像処理の方法。
【0240】
6.ビットストリーム表現は、複数のCC-ALFおよび/または第1のCC-ALFおよび/または第2のCC-ALFの使用の指示を含む、項目5に記載の方法。
【0241】
7.指示は、コーディングツリーブロック、または符号化ユニット、または予測ユニット、または予測ブロック、またはコーディングツリーブロック行レベルに含まれる、項目6に記載の方法。
【0242】
8.変換は、第1の成分または第3の成分のサンプルを複数のセットに分類することと、分類に基づいて第1のCC-ALFおよび/または第2のCC-ALFの特徴を決定することを含む、項目5~7のいずれかに記載の方法。
【0243】
9.第1および第3の成分が同じであり、第2および第4の成分が同じである、項目5~7のいずれかに記載の方法。
【0244】
以下の項目は、前章(例えば、項目7)に記載された技術の例示的な実施形態を示す。
【0245】
10.映像処理の方法であって、複数の成分を備える映像の映像ブロックと映像のビットストリーム表現との間の変換のために、CC-ALF(Cross-Component Adaptive Loop Filtering)をM×Nのサブブロックレベルで使用することを決定することと、1つのM×Nのサブブロックのために、少なくとも第2の成分のサンプルから第1のオフセットを導出することと、決定に基づいて、変換を実行することと、を含み、MおよびNは正の整数であり、CC-ALFは、第1のオフセットに少なくとも基づいて映像の第1の成分に対してM×Nのサブブロックサンプルを補正するために使用される、映像処理の方法。
【0246】
11.CC-ALFは、M×Nのサブブロックにおけるすべてのサンプルに対して第1のオフセット値を使用する、項目10に記載の方法。
【0247】
12.CC-ALFは、M×Nのサブブロックにおけるサンプルに対して複数の最終オフセット値を使用し、最終オフセットは第1のオフセットから導出される、項目10に記載の方法。
【0248】
13.MおよびNは、映像の色フォーマットに依存する、項目10~12のいずれかに記載の方法。
【0249】
14.映像の別の映像ブロックの変換は、変換に対して異なるサイズのサブブロックを使用する、項目10~13のいずれかに記載の方法。
【0250】
15.M×N=2×2またはM×N=2×1またはM×N=1×2である、項目10~13のいずれかに記載の方法。
【0251】
以下の項目は、前章(例えば、項目10)に記載された技術の例示的な実施形態を示す。
【0252】
16.映像処理の方法であって、除外の規則が、映像の現在の映像ブロックと映像のビットストリーム表現との間の変換に適用可能であると決定することであって、排除の規則は、変換が、現在の映像ブロックに対してコーディングツールおよびクロスコンポーネント適応ループフィルタコーディングツールを併用することを許可しないことを規定する、ことと、決定に基づいて変換を実行することと、を含む、映像処理の方法。
【0253】
17.コーディングツールは、クロマ成分のためのサンプル適応オフセットコーディングツールを有する、項目16に記載の方法。
【0254】
18.コーディングツールは、クロマスケーリングコーディングツールを用いる輝度マッピングのための残差スケーリングツールを有する、項目16に記載の方法。
【0255】
19.コーディングツールは、クロマサンプルのためのデブロック処理または適応ループフィルタを有する、項目16に記載の方法。
【0256】
20.除外の規則は、ビットストリーム表現におけるフィールドとして信号通知される、項目16~19のいずれかに記載の方法。
【0257】
以下の項目は、前章(例えば、項目15)に記載された技術の例示的な実施形態を示す。
【0258】
21.映像処理の方法であって、映像ブロックと映像のビットストリーム表現との間の変換中に、映像の映像ブロックの再構成されたサンプルに対してCC-ALF(Cross-Component Adaptive Filtering)および1または複数のループフィルタを適用する順序を決定することと、順序に従って変換を実行することと、を有し、順序は、サンプル適応オフセットツールの後、かつ、適応ループフィルタツールの前にCC-ALFを使用することを除外する、映像処理の方法。
【0259】
22.順序は、任意の他のループフィルタを適用する前に、再構成されたサンプルにCC-ALFを適用することを規定する、項目21に記載の方法。
【0260】
23.順序は、変換中の映像の後続の映像ブロックの予測に使用する前に、映像ブロックの再構成されたサンプルにCC-ALFを適用することを規定する、項目21に記載の方法。
【0261】
24.順序は、サンプル適応オフセットループフィルタの前にCC-ALFを使用することを規定する、項目21~23のいずれかに記載の方法。
【0262】
25.変換は、映像をコーディングされた表現に符号化することを含む、項目1~24のいずれかに記載の方法。
【0263】
26.変換は、映像の画素値を生成するためにコーディングされた表現を復号化することを含む、項目1~25のいずれかに記載の方法。
【0264】
27.項目1~26の1または複数に記載の方法を実装するように構成されたプロセッサを備える、映像復号化装置。
【0265】
28.項目1~26の1または複数に記載の方法を実装するように構成されたプロセッサを備える、映像符号化装置。
【0266】
29.コンピュータコードが記憶されたコンピュータプログラムプロダクトであって、コードがプロセッサにより実行された際に、プロセッサは、項目1~26のいずれかに記載の方法を実装するコンピュータプログラムプロダクト。
【0267】
30.本明細書に記載の方法、装置またはシステム。
【0268】
項目の第2のセットは、前章で開示された技術の特定の特徴および態様を説明する(例えば、項目1から7)。
【0269】
1.映像処理の方法であって、映像の映像領域と映像のビットストリーム表現との間の変換のために、輝度サンプル値を使用してクロマサンプル値を改善するためにCC-ALF(Cross-Component Adaptive Filtering)ツールを使用することを決定することと(1212)、決定に基づいて変換を実行することと(1214)、を有し、改善することは、輝度サンプル値を選択的にフィルタリングすることによって判定した第1の改善値のさらなる改善である最終微調整を使用してクロマサンプル値を補正することを含む、映像処理の方法(例えば、
図12Aに示す方法1210)。
【0270】
2.第1の改善値をさらに改善することは、第1の改善値を所与の範囲にクリップすることを含む、項目1に記載の方法。
【0271】
3.ビットストリーム表現は、第1の改善をクリップするかどうか、および/またはどのようにクリップするかを示す情報を含む、項目2に記載の方法。
【0272】
4.映像処理の方法であって、映像の映像領域と映像のビットストリーム表現との間の変換のために、第2の成分の第2の映像ブロックのサンプル値を使用して、第1の成分の第1の映像ブロックのサンプル値を補正するためにCC-ALF(Cross-Component Adaptive Loop Filtering)ツールを使用すると決定することと(1222)、決定に基づいて変換を行うことと(1224)、を含み、1)第1の成分はCrまたはCb成分である、および2)第2の成分はY成分であることの両方を満たす場合を除いて、CC-ALFツールが使用される、映像処理の方法(例えば
図12Bに示す方法1220)。
【0273】
5.ビットストリーム表現は、第1の成分を識別する、項目4に記載の方法。
【0274】
6.第1の成分および第2の成分のうちの少なくとも1つは、YCbCrフォーマットで表される第1の映像ブロックにおけるY成分、またはRGBフォーマットで表される第1の映像ブロックにおけるG成分である、項目4に記載の方法。
【0275】
7.第1の成分および記第2の成分のうちの少なくとも1つは、YCbCrフォーマットで表される第1の映像ブロックにおけるCb成分、またはRGBフォーマットで表される第1の映像ブロックにおけるB成分である、項目4に記載の方法。
【0276】
8.第1の成分および第2の成分のうちの少なくとも1つは、YCbCrフォーマットで表される第1の映像ブロックにおけるCr成分、またはRGBフォーマットで表される第1の映像ブロックにおけるR成分である、項目4に記載の方法。
【0277】
9.CC-ALFツールは、第3の成分の第3の映像ブロックのサンプル値をさらに使用して、第1の映像ブロックのサンプル値を改善するために用いられ、第2の成分および第3の成分は第1の成分と異なり、第1の成分のサンプル値を補正する際に、第2の成分および第3の成分からのサンプルがフィルタリングされる、項目4に記載の方法。
【0278】
10.第1の成分は、YCbCrフォーマットを使用して表される第1の映像ブロックにおけるCbであり、第2の成分および第3の成分はそれぞれ、Y成分およびCr成分である、項目9に記載の方法。
【0279】
11.第1の成分は、YCbCrフォーマットを使用して表される第1の映像ブロックにおけるCrであり、第2の成分および第3の成分はそれぞれ、Y成分およびCb成分である、項目9に記載の方法。
【0280】
12.第1の成分は、YCbCrフォーマットを使用して表される第1の映像ブロックにおけるYであり、第2の成分および第3の成分はそれぞれ、Cb成分およびCr成分である、項目9に記載の方法。
【0281】
13.第1の成分は、RGBフォーマットを使用して表される第1の映像ブロックにおけるGであり、第2の成分および第3の成分はそれぞれ、R成分およびB成分である、項目9に記載の方法。
【0282】
14.第1の成分は、RGBフォーマットを使用して表される第1の映像ブロックにおけるBであり、第2の成分および第3の成分はそれぞれ、R成分およびG成分である、項目9に記載の方法。
【0283】
15.第1の成分は、RGBフォーマットを使用して表される第1の映像ブロックにおけるRであり、第2の成分および第3の成分はそれぞれ、G成分およびB成分である、項目9に記載の方法。
【0284】
16.CC-ALFツールは、第3の成分の第3の映像ブロックのサンプル値をさらに使用して、第1の映像ブロックのサンプル値を改善するために用いられ、第2の成分および第3の成分のうちの一方が第1の成分と同じであり、第1の成分のサンプル値を補正する際に、第2の成分および第3の成分からのサンプルがフィルタリングされる、項目4に記載の方法。
【0285】
17.第1の成分は、YCbCrフォーマットを使用して表される第1の成分の映像ブロックにおけるCbであり、第2の成分および第3の成分はそれぞれ、Cb成分およびY成分である、項目16に記載の方法。
【0286】
18.第1の成分は、YCbCrフォーマットを使用して表される第1の成分の映像ブロックにおけるCbであり、第2の成分および第3の成分はそれぞれ、Cb成分およびCr成分である、項目16に記載の方法。
【0287】
19.第1の成分は、YCbCrフォーマットを使用して表される第1の成分の映像ブロックにおけるCrであり、第2の成分および第3の成分はそれぞれ、Cr成分およびY成分である、項目16に記載の方法。
【0288】
20.第1の成分は、YCbCrフォーマットを使用して表される第1の成分の映像ブロックにおけるCrであり、第2の成分および第3の成分はそれぞれ、Cr成分およびCb成分である、項目16に記載の方法。
【0289】
21.第1の成分は、YCbCrフォーマットを使用して表される第1の成分の映像ブロックにおけるYであり、第2の成分および第3の成分はそれぞれ、Y成分およびCb成分である、項目16に記載の方法。
【0290】
22.第1の成分は、YCbCrフォーマットを使用して表される第1の成分の映像ブロックにおけるYであり、第2の成分および第3の成分はそれぞれ、Y成分およびCr成分である、項目16に記載の方法。
【0291】
23.第1の成分は、RGBフォーマットを使用して表される第1の成分の映像ブロックにおけるGであり、第2の成分および第3の成分はそれぞれ、G成分およびR成分である、項目16に記載の方法。
【0292】
24.第1の成分は、RGBフォーマットを使用して表される第1の成分の映像ブロックにおけるGであり、第2の成分および第3の成分はそれぞれ、G成分およびB成分である、項目16に記載の方法。
【0293】
25.第1の成分は、RGBフォーマットを使用して表される第1の成分の映像ブロックにおけるBであり、第2の成分および第3の成分はそれぞれ、B成分およびR成分である、項目16に記載の方法。
【0294】
26.第1の成分は、RGBフォーマットを使用して表される第1の成分の映像ブロックにおけるBであり、第2の成分および第3の成分はそれぞれ、B成分およびG成分である、項目16に記載の方法。
【0295】
27.第1の成分は、RGBフォーマットを使用して表される第1の成分の映像ブロックにおけるRであり、第2の成分および第3の成分はそれぞれ、R成分およびG成分である、項目16に記載の方法。
【0296】
28.第1の成分は、RGBフォーマットを使用して表される第1の成分の映像ブロックにおけるRであり、第2の成分および第3の成分はそれぞれ、R成分およびB成分である、項目16に記載の方法。
【0297】
29.CC-ALFツールは、第3の成分の第3の映像ブロックのサンプル値をさらに使用し、第1から第3の成分は互いに異なり、第1の映像ブロックのサンプル値は、第1から第3の映像ブロックのフィルタリングされたサンプル値に基づいて改善される、項目4に記載の方法。
【0298】
30.第1の成分は、YCbCrフォーマットを使用して表される第1の成分の映像ブロックにおけるCb、Cr、またはYである、項目29に記載の方法。
【0299】
31.第1の成分は、RGBフォーマットを使用して表される第1の成分の映像ブロックにおけるG、R、またはBである、項目29に記載の方法。
【0300】
32.第1から第3の成分は、YCbCrフォーマットにおけるY、Cb、Cr成分である、項目29に記載の方法。
【0301】
33.第1から第3の成分は、RGBフォーマットにおけるR、G、B成分である、項目29に記載の方法。
【0302】
34.ビットストリーム表現は、i)第1から第3の成分の指示、および/またはii)オフセット導出のために保管されるべき成分の数のうちの少なくとも1つを含む、項目29記載の方法。
【0303】
35.映像処理の方法であって、映像の映像ユニットと映像のビットストリーム表現との間の変換のために、規則に従って、第2の成分のサンプル値を使用して第1の成分のサンプル値を補正するためのCC-ALF(Cross-Component Adaptive Loop Filtering)ツールを使用するかを決定することと、決定に基づいて変換を実行することと、を有し、規則は、ビットストリーム表現における第1のALF APSおよび第2のALF APSを含む2つ以上のALF APS(Adaptation Paramter Set)を使用することを規定する、映像処理の方法。
【0304】
36.第1のAPSと第2のAPSとは同じである、項目35に記載の方法。
【0305】
37.第1のAPSと第2のAPSとは互いに異なる、項目35に記載の方法。
【0306】
38.映像ユニットは、映像のスライスまたはピクチャに対応する、項目35に記載の方法。
【0307】
39.規則は、2つ以上のALF APSが、映像ユニットにおける第1のサンプルに適用される第1のALF APSと、映像ユニットにおける第2のサンプルに適用される第2のALF APSとを含むことを規定する、項目35に記載の方法。
【0308】
40.映像ユニットによって参照される2つ以上のALF APSの数は、ビットストリーム表現に含まれる、項目35に記載の方法。
【0309】
41.映像ユニットによって参照される2つ以上のALF APSのインデックスは、ビットストリーム表現に含まれる、項目35に記載の方法。
【0310】
42.輝度ALFフィルタが参照する2つ以上のALF APSの同じセット、サブセット、またはスーパーセットは、CC-ALFツールによって利用される、項目35に記載の方法。
【0311】
43.CC-ALFフィルタを導出するために使用される2つ以上のALF APSは、ビットストリーム表現に含まれない、項目42に記載の方法。
【0312】
44.CC-ALFフィルタおよび輝度ALFフィルタを導出するために用いられるALF APSの差は、ビットストリーム表現に含まれる、項目42に記載の方法。
【0313】
45.映像処理の方法であって、映像の映像領域と映像のビットストリーム表現との間の変換のために、規則に従って、第2の成分のサンプル値を使用して第1の成分のサンプル値を補正するためのCC-ALF(Cross-Component Adaptive Loop Filtering)ツールを使用するかを決定することと、決定に基づいて変換を実行することと、を有し、規則は、映像領域の第1のサンプルに適用される第1のCC-ALFフィルタと、映像領域の第2のサンプルに適用される第2のCC-ALFフィルタを含む2つ以上のCC-ALFフィルタを使用することを規定する、映像処理の方法。
【0314】
46.ビットストリーム表現は、映像領域に指示を含む、項目45に記載の方法。
【0315】
47.ビットストリーム表現は、映像領域よりも小さいまたは大きい映像領域に指示を含む、項目45に記載の方法。
【0316】
48.映像領域はコーディングツリーブロックに対応し、映像領域はスライスまたはコーディングユニットである、項目47に記載の方法。
【0317】
49.ビットストリーム表現は、1つのALF APS(Adaptation Paramter Set)から選択される2つ以上のCC-ALFフィルタのためのインデックスを含む指示を含む、項目45~48のいずれかに記載の方法。
【0318】
50.ビットストリーム表現は、1または複数のALF APSのインデックスから選択される2つ以上のCC-ALFフィルタのためのインデックスと、1または複数のALF APSのインデックスとを含む指示を含む、項目45~48のいずれかに記載の方法。
【0319】
51.2つ以上のCC-ALFフィルタのうちの少なくとも1つは、予め定義された固定CC-ALFフィルタから選択されるか、または映像領域から継承され、ビットストリーム表現は、APSに含まれていない選択された固定CC-ALFフィルタのためのインデックスを含む指示を含む、項目45~48のいずれかに記載の方法。
【0320】
52.変換は、1または複数のクロマ成分のクロマサンプルを複数のセットに分類し、分類に基づいて第1のCC-ALFフィルタおよび/または第2のCC-ALFフィルタの特性を決定するための1または複数の処理を含む、項目45に記載に方法。
【0321】
53.2つのクロマ成分のクロマサンプルは、独立して分類を導出する、項目52に記載の方法。
【0322】
54.2つのクロマ成分のクロマサンプルは、連帯して分類を導出する、項目52に記載の方法。
【0323】
55.クロマ成分のクロマサンプルを分類するための1または複数の処理は、対応する輝度色成分の情報に依存する、項目52に記載の方法。
【0324】
56.1または複数のクロマ成分のクロマサンプルを分類するための1または複数の処理は、1または複数のクロマ成分に基づく連帯決定に依存する、項目52に記載の方法。
【0325】
57.クロマサンプルは、輝度ALFにおける対応する輝度サンプルの分類に基づいて、複数のセットに分類される、項目52に記載の方法。
【0326】
58.分類インデックスに従った、第1のCC-ALFフィルタおよび/または第2のCC-ALFフィルタの指示が信号通知される、項目52に記載の方法。
【0327】
59.映像処理の方法であって、映像の映像領域と映像のビットストリーム表現との間の変換のために、映像領域の輝度サンプルに基づいて、映像領域の第1の色成分に対する第1のオフセットを導出することと(1232)、第1のオフセットに基づいて、映像領域の第2の色成分に対する第2のオフセットを導出することと(1234)、映像領域の輝度サンプルに基づいて第1の色成分と第2の色成分を補正するためにCC-ALF(Cross-Conponent Adaptive Loop FIltering)ツールを適用することによって変換を実行することと(1236)、を含む、映像処理の方法(例えば、
図12Cに示す方法1230)。
【0328】
60.第1のオフセットと第2のオフセットとが互いに同じである、項目59に記載の方法。
【0329】
61.第1のオフセットと第2のオフセットとの和が0に等しい、項目59に記載の方法。
【0330】
62.第2のオフセットは、第1のオフセットの線形関数を使用して導出される、項目59に記載の方法。
【0331】
63.第2のオフセットは、第1のオフセットのクリッピング演算を使用して導出される、項目59に記載の方法。
【0332】
64.第2のオフセットは、第1のオフセットと、連帯CbおよびCrモードを示すスライスレベルフラグとに基づいて導出される、項目59に記載の方法。
【0333】
65.第1の色成分および第2の色成分に対してCC-ALFフィルタセットが使用される、項目59に記載の方法。
【0334】
66.第1のオフセットおよび第2のオフセットのうちの少なくとも1つの補正が、信号通知されるか、または導出される、項目59に記載の方法。
【0335】
67.映像処理の方法であって、複数の成分を備える映像の映像ブロックと映像のビットストリーム表現との変換のために、CC-ALF(Cross-Component Adaptive Loop Filtering)がM×Nのサブブロックレベルで使用することを決定することであって、MおよびNは正の整数であり、MとNの少なくとも一方は、1より大きい、ことと(1242)、決定に基づいて、変換を実行することと(1244)、を有し、CC-ALFツールは、映像の第2の成分に基づいて、映像の第1の成分に対するM×Nのサブブロックサンプルを補正するために使用される、映像処理の方法(例えば、
図12Dに示す方法1240)。
【0336】
68.1つのM×Nのサブブロックに対し、少なくとも第2の成分のサンプルから第1のオフセットを導出することをさらに含み、CC-ALFツールは、第1のオフセットに基づいてM×Nのサブブロックサンプルを補正するために使用される、項目67に記載の方法。
【0337】
69.CC-ALFツールは、M×Nのサブブロックにおけるすべてのサンプルに対して第1のオフセットを使用する、項目68に記載の方法。
【0338】
70.CC-ALFツールは、M×Nのサブブロックにおけるサンプルに対して最終オフセットを使用し、最終オフセットは第1のオフセットから導出される、項目68に記載の方法。
【0339】
71.MおよびNが映像の色フォーマットに依存する、項目67に記載の方法。
【0340】
72.M×N=2×2またはM×N=2×1またはM×N=1×2である、項目67に記載の方法。
【0341】
73.映像の別の映像ブロックの変換は、変換に対して異なるサイズのサブブロックを使用する、項目67に記載の方法。
【0342】
74.MおよびNは、どの色が第1の成分によって表されるかに依存する、項目67に記載の方法。
【0343】
75.CC-ALFツールサポート領域は、MおよびNの値に依存する、項目67に記載の方法。
【0344】
76.MおよびNの値および/またはCC-ALFツールの粒度は、映像の映像ユニットにおいて信号通知される、項目67に記載の方法。
【0345】
77.変換は、映像をビットストリーム表現に符号化することを含む、項目1~76に記載の方法。
【0346】
78.変換は、映像を生成するためにビットストリーム表現を復号化することを含む、項目1~76のいずれかに記載の方法。
【0347】
79.項目1から78のいずれか1つまたは複数に記載された方法を実施するように構成されたプロセッサを含む映像処理装置。
【0348】
80.実行されると、項目1から78までのいずれか1つまたは複数に記載された方法をプロセッサに実施させるプログラムコードを格納したコンピュータ可読媒体。
【0349】
81.上述した方法のいずれかに従って生成されたコーディングされた表現またはビットストリーム表現を記憶する、コンピュータ可読媒体。
【0350】
項目の第3のセットでは、前章で開示された技術の特定の特徴および態様を説明する(例えば、項目8)。
【0351】
1.映像処理の方法であって、映像の映像領域と映像のビットストリーム表現との間の変換のために、輝度サンプル差のフィルタリングに基づくCC-ALF(Cross-Component Adaptive Loop Filtering)処理を使用して、映像領域のクロマサンプルを補正することを決定することと、決定に基づいて変換を実行することと、を含む、映像処理の方法(例えば、
図13に示す方法1310)。
【0352】
2.輝度サンプル差は、フィルタサポート領域における輝度サンプルの値と、映像領域のクロマサンプルの対応する輝度サンプルの値との差に対応する、項目1に記載の方法。
【0353】
3.対応する輝度サンプルは、4:4:4フォーマットである映像領域に対して(x,y)に位置し、(x,y)は、クロマサンプルの座標を示す、項目2に記載の方法。
【0354】
4.対応する輝度サンプルは、非4:4:4フォーマットである映像領域に対して(2x,2y)に位置し、(x,y)は、クロマサンプル座標の座標を示す、項目2に記載の方法。
【0355】
5.対応する輝度サンプルは、4:2:0フォーマットである映像領域に対して(2x,2y)および(2x,2y+1)に位置する2つのサンプルの関数として導出され、(x,y)はクロマサンプルの座標を示す、項目2に記載の方法。
【0356】
6.輝度サンプル差は、使用する前にクリップされる、項目1に記載の方法。
【0357】
7.ビットストリーム表現は、輝度サンプル差をクリップするかどうか、および/またはどのようにクリップするかに関する情報を含む、項目6に記載の方法。
【0358】
8.ビットストリーム表現は、輝度サンプル差をクリッピングするためのクリッピングパラメータを含む、項目6に記載の方法。
【0359】
9.輝度ALF処理におけるパラメータをクリッピングする信号通知方法は、CC-ALF処理におけるクリッピングパラメータを信号通知するために用いられる、項目6に記載の方法。
【0360】
10.輝度ALF処理において使用されるクリッピングパラメータは、CC-ALF処理において使用される、項目1に記載の方法。
【0361】
11.変換は、映像をビットストリーム表現に符号化することを含む、項目1~10に記載の方法。
【0362】
12.変換は、映像を生成するためにビットストリーム表現を復号化することを含む、項目1~10のいずれかに記載の方法。
【0363】
13.項目1から12のいずれか1つまたは複数に記載された方法を実施するように構成されたプロセッサを含む映像処理装置。
【0364】
14.実行されると、項目1から12までのいずれか1または複数に記載された方法をプロセッサに実施させるプログラムコードを格納したコンピュータ可読媒体。
【0365】
15.上述した方法のいずれかに従って生成されたコーディングされた表現またはビットストリーム表現を記憶する、コンピュータ可読媒体。
【0366】
項目の第4のセットでは、前章で開示された技術の特定の特徴および態様を説明する(例えば、項目9~20)。
【0367】
1.映像処理の方法であって、規則に従って、映像のクロマ成分の部分と映像のビットストリーム表現との間の変換を行うことを含み、規則は、映像の部分の変換のためにCC-ALF(Cross-Component Adaptive Loop FIltering)ツールが利用可能であるかどうかが、輝度成分の対応する部分に対してALF(Adaptive Loop Filtering)ツールの可用性または使用が示されているかどうかに依存することを規定する、映像処理の方法(例えば、
図14Aに示す方法1410)。
【0368】
2.クロマ成分の部分は、映像領域または映像ユニットに対応する、項目1に記載の方法。
【0369】
3.映像領域は、コーディングツリーブロックに対応する、項目2に記載の方法。
【0370】
4.映像ユニットは、映像のシーケンスまたはピクチャまたはスライスに対応する、項目2に記載の方法。
【0371】
5.規則は、ALFパラメータが輝度成分の対応する部分に信号通知されない場合、CC-ALFツールは利用可能でないことを規定する、項目1に記載の方法。
【0372】
6.CC-ALFツールに関連する情報の信号通知は、ALFツールを輝度成分の対応する部分の使用に基づく、項目1に記載の方法。
【0373】
7.輝度成分の対応する部分のALFツールが無効化されている場合、ビットストリーム表現はCC-ALFツールに関連する情報を省略する、項目1に記載の方法。
【0374】
8.スライスレベルにおけるCC-ALFツールに関連する情報の信号通知は、スライスレベルにおける輝度成分の対応する部分に対するALFツールの使用に依存する、項目6に記載の方法。
【0375】
9.CTB(Coding Tree Block)レベルにおけるCC-ALFツールに関連する情報の信号通知は、CTBレベルにおける輝度成分の対応する部分に対するALFツールの使用に依存する、項目6に記載の方法。
【0376】
10.CC-ALFツールに関連する情報は、i)slice_cross_component_alf_enabled_flag、ii)slice_cross_component_alf_cr_enabled_flag、iii)alf_ctb_cross_component_cb_idc、または、iv)alf_ctb_cross_component_cr_idcに対応する構文要素を使用して信号通知される、項目6に記載の方法。
【0377】
11.対応する部分に対するALFつーるの使用は、i)slice_alf_enabled_flagまたはii)alf_ctb_flagに対応する構文要素を使用して信号通知される、項目6に記載の方法。
【0378】
12.輝度成分の対応する部分に対してALFパラメータが信号通知されない場合、CC-ALFツールに関連する情報の信号通知は省略される、項目1に記載の方法。
【0379】
13.規則は、ALFツールが輝度成分の対応する部分に対して無効化されている場合、CC-ALFツールはクロマ成分の部分に対して無効化されていることを規定する、項目1に記載の方法。
【0380】
14.映像処理の方法であって、映像の映像領域と映像のビットストリーム表現との間の変換を実行することを含み、ビットストリーム表現は、ビットストリーム表現におけるCC-ALF(Cross-Component Adaptive Loop Filtering)ツールの使用を示す構文要素が含まれるかどうかが、利用可能なALF(Adaptive Loop Filtering)APS(Adaptation Parameter Set)の数に依存することを規定するフォーマット規則に準拠する、映像処理方法。
【0381】
15.フォーマット規則は、ALF APSの数が0に等しくないかまたは0よりも大きい場合、構文要素がビットストリーム表現に含まれることを規定する、項目14に記載の方法。
【0382】
16.フォーマット規則は、ALF APSの数が0である場合、ビットストリーム表現において構文要素は省略されることを規定する、項目14に記載の方法。
【0383】
17.フォーマット規則は、適合ビットストリームが、CC-ALFツールおよび/またはALFツールに対するAPSインデックスが、送信されたALF APSの数よりも少なくないことを満たすことを規定する、項目14に記載の方法。
【0384】
18.フォーマット規則は、適合ビットストリームが、CC-ALFツールおよび/またはALFツールに対するAPSインデックスが1つの利用可能なALF APSを参照することを満たすことを規定する、項目14に記載の方法。
【0385】
19.ALF APSは、CC-ALFツールに関連する情報を含む、項目14に記載の方法。
【0386】
20.映像処理の方法であって、映像の映像ユニットと映像のビットストリーム表現との間の変換を実行することを含み、ビットストリーム表現は、CC-ALF(Cross-Component Adaptive Loop Filtering)ツールが、スライスレベルとは異なる映像ユニットレベルでのビットストリーム表現に含まれる第2の成分のサンプル値を使用して第1の成分のサンプル値を改善するための適用可能性を規定するフォーマット規則に準拠する、映像処理の方法。
【0387】
21.映像ユニットは、シーケンス、ピクチャ、ビュー、サブピクチャ、またはタイルに対応し、スライスには対応しない、項目20に記載の方法。
【0388】
22.フォーマット規則は、ALFツールの有効化に基づいてCC-ALFツールの使用の指示が通知されることをさらに規定する、項目20に記載の方法。
【0389】
23.フォーマット規則は、CC-ALFツールの使用の指示が、クロマ色フォーマットおよび/または映像ユニットの映像ブロックが輝度サンプルおよびクロマサンプルの両方を含むことを示す構文要素に基づいて信号通知されることをさらに規定する、項目20の方法。
【0390】
24.フォーマット規則は、クロマ色フォーマットおよび/または別個の色平面コーディングの使用に基づいて、CC-ALFツールの使用の指示がビットストリーム表現に含まれることをさらに規定する、項目20に記載の方法。
【0391】
25.フォーマット規則は、映像ユニットに対するCC-ALFツールの適用可能性に基づいて、スライス、コーディングツリーブロック、またはコーディングツリーユニットに対応する映像領域におけるCC-ALFツールの使用の指示が、ビットストリーム表現に含まれることをさらに規定する、項目20に記載の方法。
【0392】
26.フォーマット規則は、CC-ALFツールの適用可能性を示す構文要素が、SPS(Sequence Paramter Set)、VPS(Video Parameter Set)、PPS(Picture Paramter Set)、ピクチャヘッダ、またはスライスヘッダにおいて信号通知されることをさらに規定する、項目20の方法。
【0393】
27.構文要素は、映像ユニットに対してALFツールが有効化されている場合にのみコーディングされる、項目26に記載の方法。
【0394】
28.構文要素は、i)映像ユニットに対してALFツールが有効化されていること、およびii)変数ChromaArrayTypeが0に等しくないことの両方を満たす条件に対してのみコーディングされる、項目26に記載の方法。
【0395】
29.構文要素は、i)映像ユニットに対してALFが有効化されていること、およびii)映像ユニットのクロマフォーマットがモノクロであることの両方を満たす条件に対してのみコーディングされる、項目26に記載の方法。
【0396】
30.映像所の方法であって、映像の映像領域と映像のビットストリーム表現との間の変換を実行することを含み、ビットストリーム表現は、構文要素が、ビットストリーム表現におけるCC-ALF(Cross-Component Adaptive Loop Filtering)ツールの使用を示すかどうかが、輝度成分の対応する部分に対して使用するALF(Adaptation Loop FIltering)ツールの利用可能性に依存することを規定するフォーマット規則に準拠する、映像処理の方法。
【0397】
31.フォーマット規則が、ALFツールが輝度成分の対応する部分に利用可能でない場合、明確に信号通知されることなくCC-ALFツールが無効されることを規定する、項目30に記載の方法。
【0398】
32.映像処理の方法であって、映像の映像領域と映像のビットストリーム表現との間の変換を実行することを含み、ビットストリーム表現は、ビットストリーム表現が、APSがクロスコンポーネント適応フィルタリングCC-ALFツールに関連する情報を含むかどうかを示すための構文要素を含むAPS(Adaptation Parameter Set)を含むことを規定するフォーマット規則に準拠する、映像処理の方法。
【0399】
33.CC-ALFツールに関連する情報を含むAPSは、CC-ALFタイプに関連する情報がない他のAPSとは異なるタイプを有する、項目32に記載の方法。
【0400】
34.構文要素は、Cb成分に適用されるCC-ALFツールに関連する第1の構文要素と、Cr成分に適用されるCC-ALFツールに関連する第2の構文要素との組み合わせに対応する、項目32に記載の方法。
【0401】
35.構文要素は、非バイナリ値を有する、項目32に記載の方法。
【0402】
36.映像処理の方法であって、排除の規則が、映像の映像領域と映像のビットストリーム表現との間の変換に適用可能であることを決定することであって、排除の規則は、変換が、映像領域に対してコーディングツールおよびCC-ALF(Cross-Component Adaptive Loop Filtering)ツールを併用することを許可しないことを規定する、ことと、決定に基づいて変換を実行することと、を含む、映像処理の方法(例えば、
図14Bに示す方法1420)。
【0403】
37.符号化ツールは、クロマ成分のためのサンプル適応オフセットコーディングツールと、クロマスケーリングコーディングツールを用いた輝度マッピングのための残差スケーリングツールと、クロマ成分のためのデブロッキング処理と、クロマ成分のための適応ループフィルタとを有する、項目36に記載の方法。
【0404】
38.ビットストリーム表現は、コーディングツールの有効化ステータスに応じたCC-ALFツールに関連する情報を含む、項目36に記載の方法。
【0405】
39.ビットストリーム表現は、CC-ALFツールの有効化ステータスに応じたコーディングツールに関連する情報を含む、項目36に記載の方法。
【0406】
40.ビットストリームは、コーディングツールが無効化されている場合、コーディングツールに関連する情報を省略することを規定するフォーマット規則に準拠する、項目36に記載の方法。
【0407】
41.ビットストリームは、コーディングツールが無効化されている場合、コーディングツールに関連する情報を省略することを規定するフォーマット規則に準拠する、項目36に記載の方法。
【0408】
42.映像領域は、シーケンス全体、ピクチャ全体、スライス全体、タイル、サブピクチャ、コーディングツリーブロック、またはコーディングブロックに対応する、項目36に記載の方法。
【0409】
43.映像処理の方法であって、規則に従って、映像のクロマブロックと映像のビットストリーム表現との間の変換のために、実行することを含み、輝度ブロックのサンプルに基づいてクロマブロックの予測を決定するために、変換の間、CC-ALF(Cross-Component Adaptive Loop Filtering)ツールが使用され、規則は、予測に使用される輝度ブロック、および/またはCC-ALFツールが変換中に使用される順序を規定する、映像処理の方法。
【0410】
44.規則は、クロマブロックのサンプル値を予測するための予測ステージ中にCC-ALFツールを適用することを規定する、項目43に記載の方法。
【0411】
45.CC-ALFツールが適用される前のオリジナル信号とCC-ALFフィルタリングされた結果との差に基づいて、予測誤差が生成される、項目44に記載の方法。
【0412】
46.クロマブロックの再構成は、CC-ALFフィルタリングされた結果および残差に依存する、項目44に記載の方法。
【0413】
47.規則は、クロマブロックにおける部分サンプルに適用され、クロマブロックにおける残りのサンプルには適用されない、項目44に記載の方法。
【0414】
48.部分サンプルは、最初のNの行または列におけるサンプル、または最後のNの行または列におけるサンプルに対応する、項目47に記載の方法。
【0415】
49.Nは、CC-ALFツールで使用されるフィルタ形状に依存する、項目48に記載の方法。
【0416】
50.規則は、別のブロックを復号化する前で、クロマブロックを再構成した後に、CC-ALFツールを適用することを規定する、項目43に記載の方法。
【0417】
51.規則は、順序が、サンプル適応オフセットツールの後かつ適応ループフィルタツールの前にCC-ALFツールを使用することを除外することを規定する、項目43に記載の方法。
【0418】
52.規則は、他のループフィルタを適用する前に、CC-ALFツールを適用することを規定する、項目43に記載の方法。
【0419】
53.規則は、映像の後続の映像ブロックの予測に使用する前に、クロマブロックの再構成されたサンプルにCC-ALFツールを適用することを規定する、項目43に記載の方法。
【0420】
54.規則は、サンプル適応オフセットループフィルタの前にCC-ALFツールを適用することを規定する、項目43に記載の方法。
【0421】
55.映像処理の方法であって、規則に従って、クロマ成分のALF(Adaptation Loop Filtering)およびクロマ成分のCC-ALF(Cross-Component Adaptive Loop Filtering)の処理の順序を決定することと(1432)、決定に基づいて、映像と映像のビットストリーム表現との変換を実行することと(1434)、を含み、規則は、順序が予め定義されているか、前像の映像領域において適応的に変更されているかを規定し、映像は、M×Nのサイズであり、MとNは、正の整数である、映像処理の方法(例えば、
図14Cに示す方法1430)
【0422】
56.M×Nの領域においてALFを処理した後に得られたフィルタリングされたサンプルは、M×Nの領域にCC-ALFを適用する前に修正される、項目55に記載の方法。
【0423】
57.第1のM×Nの領域においてALFまたはCC-ALFを処理した後に得られたフィルタリングされたサンプルは、第2のM×Nの領域への入力として利用される、項目55に記載の方法。
【0424】
58.M×Nの領域におけるクロマ成分のCC-ALFがまず実行され、次に、M×Nの領域におけるクロマ成分のALFが実行される、項目55に記載の方法。
【0425】
59.CC-ALFの出力は、ALFの入力として提供される、項目58に記載の方法。
【0426】
60.M×Nの領域のサンプルは、ALFへの入力として提供される前に、CC-ALFによって修正される、項目58に記載の方法。
【0427】
61.映像領域は、CTB(Coding Tree Block)に対応するか、またはCTBよりも小さい、項目55に記載の方法。
【0428】
62.順序は、SPS(Sequence Parameter Set)、VPS(Video Parameter Set)、PPS(Picture Parameter Set)、DPS(Dependency Parameter Set)、ピクチャヘッダ、またはスライスヘッダで信号通知される、項目55に記載の方法。
【0429】
63.映像処理の方法であって、映像の映像領域と映像のビットストリーム表現との間の変換を実行することを含み、ビットストリーム表現は、ビットストリーム表現に構文要素を含めることを規定するフォーマット規則に準拠し、構文要素は、1つのクロマ成分に対してALF(Adaptation Loop Filtering)およびCC-ALF(Cross-Component Adaptive Loop Filtering)の使用を示す、映像処理の方法。
【0430】
64.構文要素は、非バイナリである値を有する、項目63に記載の方法。
【0431】
65.Kに等しい値は、1つの色成分に対してALFおよびCC-ALFが無効化されており、ALFが非線形であり、Kが整数であることを示す、項目64に記載の方法。
【0432】
66.Lに等しい値は、1つの色成分に対してALFおよびCC-ALFが有効化されており、ALFが非線形であり、Lが整数であることを示す、項目64に記載の方法。
【0433】
67.Mに等しい値は、所与の色成分に対してCC-ALFが無効化されている間、非線形ALFのみが有効化され、Mが整数であることを示す、項目64に記載の方法。
【0434】
68.Nに等しい値は、1つの色成分に対して非線形ALFが無効化されている間、CC-ALFのみが有効化され、Nが整数であることを示す、項目64に記載の方法。
【0435】
69.K、L、M、Nが、互いに異なる4つの整数値である、項目65~68のいずれかに記載の方法。
【0436】
70.構文要素は、固定長二値化、ユーナリー二値化、トランケイテッドユーナリー二値化、またはk次の指数ゴロム二値化によってコーディングされる値を有する、項目63に記載の方法。
【0437】
71.先行する項目のいずれか1つに記載の方法であって、方法は、1)映像コンテンツのタイプ、2)SPS(Sequence Paramter Set)、VPS(Video Patameter Set)、PPS(Picture Paramter Set)、DPS(Dependency Parameter Set)、APS(Adaptation Parameter Set)、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、LCU(Largest Coding Unit)、CU(Coding Unit)、LCU行、LCUグループ、TU(Transform Unit)、PU(Prediction Unit)ブロック、または映像コーディングユニットにおいて信号通知されたメッセージ、3)CU、PU、TU、ブロック、または映像コーディングユニットの位置、4)現在のブロックおよび/または隣接ブロックの復号化情報、5)現在のブロックおよび/または隣接ブロックの寸法または形状、6)色フォーマットの指示、7)コーディングツリー構造、8)スライスタイプ、タイルグループタイプ、および/またはピクチャタイプ、9)色成分のタイプ、10)時間層識別子、11)標準のプロファイル/レベル/層、のうちの少なくとも1つにさらに基づく。
【0438】
72.CC-ALFツールは、第2の成分のサンプル値を使用して第1の成分のサンプル値を改善するために使用される、先行する項目のいずれかに記載の方法。
【0439】
73.変換は、映像をビットストリーム表現に符号化することを含む、項目1~72のいずれかに記載の方法。
【0440】
74.変換は、映像を生成するために、ビットストリーム表現を復号化することを含む、項目1~72のいずれかに記載の方法。
【0441】
75.項目1から74のいずれか1つまたは複数に記載された方法を実施するように構成されたプロセッサを含む映像処理装置。
【0442】
76.実行されると、項目1から74までのいずれか1または複数に記載された方法をプロセッサに実施させるプログラムコードを格納したコンピュータ可読媒体。
【0443】
77.上述した方法のいずれかに従って生成されたコーディングされた表現またはビットストリーム表現を記憶する、コンピュータ可読媒体。
【0444】
本明細書では、「映像処理」という用語は、映像符号化、映像復号化、映像圧縮、または映像展開を指すことができる。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例えば、1つのマクロブロックは、変換およびコーディングされた誤り残差値の観点から、且つビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して符号化されてもよい。
【0445】
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1または複数の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1または複数のコンピュータプログラムプロダクト、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1または複数のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1または複数の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサ、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1または複数の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。
【0446】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、コンポーネント、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1または複数のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1または複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。1つのコンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。
【0447】
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1または複数のコンピュータプログラムを実行する1または複数のプログラマブルプロセッサによって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
【0448】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1または複数のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1または複数のメモリデバイスとである。一般的に、コンピュータは、データを記憶するための1または複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。プロセッサおよびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
【0449】
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であってよい特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1または複数の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0450】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
【0451】
いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。