JP2023501192A - クロス成分適応ループフィルタ - Google Patents

クロス成分適応ループフィルタ Download PDF

Info

Publication number
JP2023501192A
JP2023501192A JP2022525117A JP2022525117A JP2023501192A JP 2023501192 A JP2023501192 A JP 2023501192A JP 2022525117 A JP2022525117 A JP 2022525117A JP 2022525117 A JP2022525117 A JP 2022525117A JP 2023501192 A JP2023501192 A JP 2023501192A
Authority
JP
Japan
Prior art keywords
video
alf
unit
samples
boundaries
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022525117A
Other languages
English (en)
Other versions
JP7401666B2 (ja
Inventor
ホンビン リウ
リー ジャン
カイ ジャン
ユエ ワン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Original Assignee
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd, ByteDance Inc filed Critical Beijing ByteDance Network Technology Co Ltd
Publication of JP2023501192A publication Critical patent/JP2023501192A/ja
Priority to JP2023200063A priority Critical patent/JP2024020545A/ja
Application granted granted Critical
Publication of JP7401666B2 publication Critical patent/JP7401666B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Figure 2023501192000001
映像処理方法を説明する。この方法は、1つ以上の映像ブロックを含む映像の現在の映像ユニットと映像のビットストリーム表現との変換のために、規則に従って現在の映像ユニットの少なくともいくつかの映像ブロックにクロス成分適応ループフィルタリング(CC-ALF)ツールを適用する間に、利用不可のサンプルをパディングするために用いられるパディング処理を決定することと、その決定に基づいて変換を行うことを含み、規則は、現在の映像ユニットの1つ以上の映像ブロックに適応ループフィルタリング(ALF)ツールを適用する際に、利用不可のサンプルをパディングするためにも使用されることを規定する。
【選択図】図25A

Description

関連出願の相互参照
パリ条約に基づく適用可能な特許法および/または規則に基づいて、本願は、2019年11月4日出願の国際特許出願第PCT/CN2019/115321号の優先権および利益を適時に主張することを目的とする。法に基づくすべての目的のために、上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
この特許明細書は、映像符号化および復号化の技術、デバイスおよびシステムに関する。
現在、現在の映像コーデック技術の性能を向上させ、より優れた圧縮率を実現するか、又はより低い複雑度又は並列化された実装を可能にする映像符号化及び復号化方式を提供する努力が行われている。産業界の専門家は、最近、いくつかの新しい映像符号化ツールを提案し、それらの有効性を判定するための試験が現在進行中である。
デジタル映像コーディングに関し、具体的には、動きベクトルの管理に関するデバイス、システム、および方法が記載される。説明される方法は、既存の映像コーディング規格(例えば、高効率映像コーディング(High Efficiency Video Coding、HEVC)又は多様な映像コーディング)及び将来の映像コーディング規格又は映像コーデックに適用され得る。
1つの代表的な態様において、開示される技術は、映像処理の方法を提供するために使用してもよい。この方法は、1つ以上の映像ブロックを含む映像の現在の映像ユニットと映像のビットストリーム表現との変換のために、規則に従って、現在の映像ユニットの少なくともいくつかの映像ブロックにクロス成分適応ループフィルタリング(CC-ALF)ツールを適用する間に、利用不可のサンプルをパディングするために用いられるパディング処理を決定することと、この決定に基づいて変換を行うことを含み、前記規則は現在の映像ユニットの1つ以上の映像ブロックに適応ループフィルタリング(ALF)ツールを適用する間に利用不可のサンプルをパディングするためにも用いられることを規定する。
別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、映像の映像ユニットとこの映像のビットストリーム表現との変換を行うことを含み、この変換中、映像ユニットの利用不可のサンプルは、適応ループフィルタリング(ALF)処理またはクロス成分適応ループフィルタリング(CC-ALF)処理の適用における規則に従って、予め定義されたパディング順序でパディングされる。
さらに別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、適応ループフィルタ(ALF)の適用が有効化された映像の映像領域について、その映像領域が映像ユニットの境界で交差することを決定することと、映像と映像のビットストリーム表現との変換を行うことを含み、変換のために、映像領域が映像ユニットの境界と交差していることによる規則に従って、映像領域を複数のパーティションに分割する。
さらに別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、規則に従って、映像の映像ユニットと映像のビットストリーム表現との変換を行うことを含み、規則は、映像ユニットの境界に位置するサンプルに対して適応ループフィルタリング(ALF)および/またはクロス成分適応ループフィルタリング(CC-ALF)の適用が、境界をまたぐフィルタリング処理が許可されない場合、許可されないことを規定する。
さらに別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、映像の映像ユニットと映像のビットストリーム表現との変換を行うことを含み、ビットストリーム表現はフォーマット規則に準拠し、映像領域はコーディングツリーブロックとは異なり、フォーマット規則は適応ループフィルタリング(ALF)ツールおよび/またはクロス成分適応ループフィルタリング(CC-ALF)ツールの映像領域への適用可能性を示すビットストリーム表現に構文要素が含まれるかどうかを規定する。
さらに別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、映像の映像ユニットと映像のビットストリーム表現との変換のために、規則に従って、映像ユニットのサンプルへのクロス成分適応ループフィルタリング(CC-ALF)ツールの適用可能性を決定することと、この決定に基づいて変換を行うこととを含み、ビットストリーム表現は、CC-ALFが映像ユニットに利用可能である指示を含み、規則は指示をオーバライドする1つ以上の条件を規定する。
さらに別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、規則に従って、映像の映像ユニットと映像のビットストリーム表現との変換を行うことを含み、この規則は、変換中に使用される演算が、クロマ適応ループフィルタリング(ALF)に対応する第1のクリッピング演算、クロス成分適応ループフィルタリング(CC-ALF)オフセット導出に対応する第2のクリッピング演算、および最終的なクロマサンプル値を導出するためのクロマフィルタリングされたサンプルの微調整に対応する第3のクリッピング演算を含む3つのクリッピング演算のうちの少なくとも1つを省略することを規定する。
さらに別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、映像の第1の映像ユニットと映像のビットストリーム表現との変換のために、規則に従って、クロス成分適応ループフィルタリング(CC-ALF)オフセットを決定することと、この決定に基づいてこの変換を行うこととを含み、この規則は、CC-ALFオフセットを、[-(1<<(BitDepthC-1)),(1<<(BitDepthC-1))-1]と表される第2の範囲と異なる第1の範囲にクリッピングすることを規定し、BitDepthCはビット深度値である。
さらに別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、映像の第1の映像ユニットと映像のビットストリーム表現との変換のために、規則に従って、クロス成分適応ループフィルタリング(CC-ALF)オフセットを導出することと、CC-ALFオフセットを使用して変換を行うこととを含み、規則は、固定値の代わりに、ビット深度値に基づいて丸めオフセットを用いて、CC-ALFオフセットを丸めることを規定する。
さらに別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、規則に従って、映像の映像ユニットと映像のビットストリーム表現との変換を行うことを含み、規則は、映像ユニットのサンプルに適用されるクロマ適応ループフィルタリング(ALF)処理および/またはクロス成分適応ループフィルタリング(CC-ALF)処理中に使用される1つ以上の処理ステップが同じであることを規定する。
さらに別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、規則に従って、映像の映像ユニットと映像のビットストリーム表現との変換を行うことを含み、規則は、変換中に、映像ユニットの第2の色成分の情報を使用して修正を適用することによって、映像ユニットの第1の色成分のサンプルの値を修正することを規定し、この修正は、映像ユニットのための適応ループフィルタリング(ALF)処理で使用される1つ以上のパラメータに基づく。
さらに別の代表的な態様において、開示される技術は、映像処理の別の方法を提供するために使用してもよい。この方法は、映像の第1のサブピクチャと映像のビットストリーム表現との変換のために、規則に従って、クロス成分ループフィルタリング(CC-ALF)が第1のサブピクチャのサンプルに適用可能であるかどうかを決定することと、この決定に基づいた変換を行うことを含み、サンプルに対するCC-ALFは第2のサブピクチャからのサンプルを使用し、規則は第1のサブピクチャおよび/または第2のサブピクチャに対して、サブピクチャの境界をまたぐループフィルタリングが許可されているかどうかに基づいている。
さらに、代表的な態様において、プロセッサと、命令を搭載した非一時的メモリとを備える、映像システムにおける装置が開示される。命令は、プロセッサによって実行されると、プロセッサに、開示された方法のいずれか1つ以上を実装させる。
また、非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、開示された方法のいずれか1つ以上を実行するためのプログラムコードを含むコンピュータプログラム製品が開示される。
開示される技術の上記および他の態様および特徴は、図面、説明および特許請求の範囲でより詳細に説明される。
エンコーダブロック図の例を示す。 形状変換に基づく適応ループフィルタ(GALF)フィルタ形状の例を示す。 1つの輝度成分に関連付けられたループフィルタラインバッファの例を示す。 クロマ成分に関連付けられたループフィルタラインバッファの例を示す。 N=4の場合の仮想境界における修正ALFブロック分類の例を示す。 N=4の場合の仮想境界における修正ALFブロック分類の例を示す。 修正輝度ALFフィルタリングに関連して、仮想境界(VB)付近の1つのライン、2つのライン、および3つのラインの例を示す。 修正輝度ALFフィルタリングに関連して、仮想境界(VB)付近の1つのライン、2つのライン、および3つのラインの例を示す。 修正輝度ALFフィルタリングに関連して、仮想境界(VB)付近の1つのライン、2つのライン、および3つのラインの例を示す。 修正クロマALFフィルタリングに関連して、仮想境界(VB)に近い1つのラインおよび2つのラインの例を示す。 修正クロマALFフィルタリングに関連して、仮想境界(VB)に近い1つのラインおよび2つのラインの例を示す。 修正係数に基づくALF(MALF)の例を示す。 サブサンプリングされたラプラシアン計算の例を示す。 サブサンプリングされたラプラシアン計算の例を示す。 サブサンプリングされたラプラシアン計算の例を示す。 サブサンプリングされたラプラシアン計算の例を示す。 他のループフィルタに対するCC-ALFの配置の例を示す。 菱形フィルタの例を示す。 3×4菱形のフィルタの例を示す。 ピクチャのラスタスキャンスライス分割の例を示す。 ピクチャの矩形スライス分割の例を示す。 ピクチャの矩形スライス分割の他の例を示す。 ピクチャのサブピクチャ分割の例を示す。 ALF処理ユニットの例および狭ALF処理ユニットの例を示す。 ALF処理ユニットに繰り返しパディングを適用する例を示す。 利用不可のサンプルを埋める例を示す。 本特許明細書に記載されるビジュアルメディアの復号化又はビジュアルメディアの符号化技術を実現するためのハードウェアプラットフォームの一例を示すブロック図である。 動画処理のフローチャートを示す。 開示された技術を実装することができる例示的な映像処理システムを示すブロック図である。 例示的な映像コーディングシステムを示すブロック図である。 開示された技術のいくつかの実施形態によるエンコーダを示すブロック図である。 開示された技術のいくつかの実施形態によるデコーダを示すブロック図である。 開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャートを示す。 開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャートを示す。 開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャートを示す。 開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャートを示す。 開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャートを示す。 開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャートを示す。 開示された技術のいくつかの実装形態に基づく、映像処理のための例示的な方法のフローチャートを示す。
1. HEVC/H.265における映像コーディング
映像コーディング規格は、主に周知の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規格の策定に取り組んでいる。
2.1. 色空間及びクロマサブサンプリング
色空間は、カラーモデル(又はカラーシステム)としても知られ、色の範囲を数字のタプル(tuple)として簡単に記述する抽象的な数学モデルであり、典型的には3又は4つの値又は色成分(例えばRGB)である。基本的には、色空間は座標系とサブ空間とを合成したものである。
映像圧縮の場合、最も頻繁に使用される色空間は、YCbCr及びRGBである。
YCbCr、Y’CbCr、またはY Pb/Cb Pr/Crは、YCBCRまたはY’CBCRとも呼ばれ、映像およびデジタル写真システムのカラー画像パイプラインの一部として使用される色空間のファミリーである。Y’は輝度成分であり、CBおよびCRは青色差および赤色差クロマ成分である。Y’(素数を有する)はYとは区別され、Yは輝度であり、ガンマ補正されたRGB原色に基づいて光強度が非線形に符号化されることを意味する。
クロマサブサンプリングは、人間の視覚システムが、輝度よりも色差の方が知覚が低いことを利用して、輝度情報よりもクロマ情報の方が解像度が低くなるように実装して画像を符号化する方法である。
2.1.1. 4:4:4
3つのY’CbCr成分の各々は、同じサンプルレートを有し、従って、クロマサブサンプリングは存在しない。この方式は、ハイエンドフィルムスキャナ及び映画のポストプロダクションに用いられることがある。
2.1.2. 4:2:2
2つのクロマ成分は、輝度のサンプルレートの半分でサンプリングされ、水平クロマ解像度は半分にされる。これにより、視覚的にほとんどまたは全く差がなく、非圧縮の映像信号の帯域幅を1/3に低減することができる。
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は、水平方向に共座している。垂直方向には、それらは交互に共座している。
2.1.4. 異なる色成分のコーディング
separate_colour_plane_flagの値に基づいて、変数ChromaArrayTypeの値は、以下のように割り当てられる。
- separate_colour_plane_flagが0に等しい場合、ChromaArrayTypeはchroma_format_idcに等しく設定される。
- そうでない場合(separate_colour_plane_flagが1に等しい)、ChromaArrayTypeは0に設定される。
2.2 典型的な映像コーデックのコーディングフロー
図1は、3つのインループフィルタリングブロック、すなわちデブロッキングフィルタ(DF)、サンプル適応オフセット(SAO)およびALFを含むVVCのエンコーダブロック図の例を示す。DF(予め定義されたフィルタを使用する)とは異なり、SAOおよびALFは、現在のピクチャのオリジナルサンプルを利用し、それぞれ、オフセットを追加することにより、および、有限インパルス応答(FIR)フィルタを適用することにより、オフセットおよびフィルタ係数を信号通知するコード化側情報を用いて、元のサンプルと再構成サンプルとの間の平均二乗誤差を低減する。ALFは、各ピクチャの最後の処理ステージに位置し、前のステージで生成されたアーチファクトを捕捉し、修正しようとするツールと見なすことができる。
2.3 JEMにおける形状変換に基づく適応ループフィルタ
JEMにおいて、ブロックに基づくフィルタ適応を用いたジオメトリ変換に基づく適応ループフィルタ(GALF)が適用される。輝度成分は、局所勾配の方向および働きに基づいて、2×2ブロックごとに25個のフィルタのうち1つを選択する。
2.3.1. フィルタ形状
JEMにおいて、輝度成分として、最大3つの菱形フィルタ形状(図2に示す)を選択することができる。図2は、3つのGALFフィルタ形状、すなわち5×5菱形、7×7菱形、9×9菱形(左側から右側へ)を示す。輝度成分に使用されるフィルタ形状を示すために、ピクチャレベルでインデックスが信号通知される。
2.3.1.1. ブロック区分
各2×2ブロックを25個のクラスのうちの1つに分類する。分類インデックスCは、その方向性DおよびアクティビティA^の量子化値に基づいて、以下のように導出される。
C=5D+A^ (1)
DおよびA^を計算するために、まず、1-Dラプラシアンを使用して、水平、垂直および2つの対角線方向の勾配を計算する。
Figure 2023501192000002
iおよびjは、2×2ブロックの左上のサンプルの座標を表し、R(i,j)は、座標(i,j)において再構成されたサンプルを示す。
そして、水平方向および垂直方向の勾配のD最大値およびD最小値を以下のように設定する。
Figure 2023501192000003
および2つの対角線方向の勾配の最大値および最小値は、以下のように設定される。
Figure 2023501192000004
方向性Dの値を導出するために、これらの値を互いに、2つの閾値tおよびtと比較する。
Figure 2023501192000005
アクティビティ値Aは、以下のように計算される。
Figure 2023501192000006
Aをさらに0~4の範囲に量子化し、量子化された値をA^とする。
ピクチャにおける両クロマ成分に対して、分類方法は適用されず、即ち、単一のALF係数のセットが各クロマ成分に対して適用される。
2.3.1.2. フィルタ係数の幾何学的変換
それぞれの2×2ブロックをフィルタリングする前に、そのブロックに対して計算された勾配値に基づいて、フィルタ係数f(k,l)に対して、回転、又は対角線及び垂直方向の反転等の幾何学的変換を施す。これは、これらの変換をフィルタサポート領域内のサンプルに適用することに等しい。その考えは、ALFが適用される異なるブロックを、それらの方向性を揃えることによって、より類似させることである。
対角線、垂直方向の反転および回転を含む3つの幾何学的変換を紹介する。
対角線:f(k,l)=f(l,k),
垂直方向の反転:f(k,l)=f(k,K-l-1), (9)
回転:f(k,l)=f(K-l-1,k)
この場合、Kはフィルタのサイズであり、0≦k,l≦K-1が係数座標であり、位置(0,0)は左上隅にあり、位置(K-1,K-1)は右下隅にある。この変換は、そのブロックに対して計算された勾配値に基づいて、フィルタ係数f(k,l)に適用される。変換と4方向の4つの勾配との関係を表1にまとめる。
Figure 2023501192000007
2.3.1.3. フィルタパラメータ信号通知
JEMにおいて、GALFフィルタパラメータは、第1のCTUのために、すなわち、スライスヘッダの後且つ第1のCTUのSAOパラメータの前に信号通知される。最大25組の輝度フィルタ係数を信号通知することができる。ビットオーバーヘッドを低減するために、異なる分類のフィルタ係数をマージすることができる。また、参照ピクチャのGALF係数を記憶し、現在のピクチャのGALF係数として再利用することができる。現在のピクチャは、参照ピクチャのために記憶されたGALF係数を使用し、GALF係数の信号通知を迂回することを選択してもよい。この場合、1つの参照ピクチャへのインデックスのみが通知され、記憶されている指定された参照ピクチャのGALF係数が現在のピクチャに継承される。
GALF時間予測をサポートするために、GALFフィルタセットの候補リストが維持される。新しいシーケンスの復号開始時に、候補リストは空である。1つのピクチャを復号化した後、対応するフィルタのセットを候補リストに加えてもよい。候補リストのサイズが最大許容値(すなわち、現在のJEMでは6)に達すると、新しい1組のフィルタが、最も古いセットを復号化の順序に上書きし、すなわち、先入れ先出し(FIFO)規則を適用して候補リストを更新する。重複を回避するために、対応するピクチャがGALF時間的予測を使用しない場合、1つのセットのみをリストに追加することができる。時間的スケーラビリティをサポートするために、複数のフィルタセットの候補リストがあり、各候補リストは1つの時間レイヤに関連付けられる。具体的に、時間レイヤインデックス(TempIdx)により割り当てられた各配列は、下位のTempIdxに等しい、前回復号されたピクチャのフィルタセットを構成してもよい。例えば、k番目の配列は、kに等しいTempIdxに関連付けられるように割り当てられ、それは、TempIdxがk以下のピクチャからのフィルタセットのみを含む。特定のピクチャをコーディングした後、このピクチャに関連付けられたフィルタセットを用いて、同等又は上位のTempIdxに関連付けられた配列を更新する。
GALF係数の時間予測は、信号通知のオーバーヘッドを最小限に抑えるために、インター符号化フレームに使用される。イントラフレームの場合、時間予測は利用できず、16個の固定フィルタのセットが各クラスに割り当てられる。固定フィルタの使用を示すために、各クラスのためのフラグが通知され、必要に応じて、選択された固定フィルタのインデックスが通知される。所与のクラスに対して固定フィルタを選択した場合でも、このクラスに対して適応フィルタf(k,l)の係数を送信することができ、この場合、再構成画像に適用されるフィルタの係数は両方の係数セットの合計となる。
輝度成分のフィルタリング処理は、CUレベルで制御することができる。GALFがCUの輝度成分に適用されるかどうかを示すために、1つのフラグが信号通知される。クロマ成分の場合、GALFが適用されるかどうかは、画像レベルでのみ示される。
2.3.1.4. フィルタリング処理
デコーダ側において、1つのブロックに対してGALFが有効化されると、このブロック内のそれぞれのサンプルR(i,j)がフィルタリングされ、その結果、以下に示すように、サンプル値R’(i,j)が得られる。ここで、Lは、フィルタ長を表し、fm,nは、フィルタ係数を表し、f(k,l)は、復号化されたフィルタ係数を表す。
Figure 2023501192000008
あるいは、適応ループフィルタのフィルタリング処理は、以下のように表すことができる。
Figure 2023501192000009
ここで、サンプルI(x+i,y+j)は入力サンプルであり、O(x,y)はフィルタリングされた出力サンプル(即ち、フィルタ結果)であり、w(i,j)はフィルタ係数を表す。実際において、VTM4.0では、固定小数点精度計算のために整数演算を用いて実施されている。
Figure 2023501192000010
ここで、Lはフィルタ長を表し、w(i,j)は固定小数点精度におけるフィルタ係数である。
2.4. 非線形ALF
2.4.1. フィルタリング再定式化
式(11)は、コーディング効率に影響を及ぼすことなく、以下の式で再定式化することができる。
Figure 2023501192000011
ここで、w(i,j)は、式(11)と同じフィルタ係数である[但し、w(0,0)は式(13)の1に等しいが、式(11)の1-Σ(i,j)≠(0,0)w(i,j)に等しい]。
2.4.2. 修正されたフィルタ
上記(13)のフィルタ式を使用することで、単純なクリッピング関数を使用して、近傍のサンプル値(I(x+i,y+j))が現在のサンプル値(I(x,y))のフィルタリングと異なり過ぎている場合に、その影響を低減することで、非線形性を容易に導入し、ALFをより効率的にする。
この提案において、ALFフィルタは、以下のように修正される。
Figure 2023501192000012
ここで、K(d,b)=min(b,max(-b,d))はクリッピング関数であり、k(i,j)はクリッピングパラメータであり、これは(i,j)フィルタ係数に依存する。エンコーダは、最適化を行い、最良のk(i,j)を見出す。
実現を容易にするために、フィルタ係数w(i,j)を記憶し、整数精度で用いる。上記式は、以下のように書き換えることができる。
Figure 2023501192000013
この場合、w(k,l)は復号化されたフィルタ係数を表し、K(x,y)はクリッピング関数であり、c(k,l)は復号化されたクリッピングパラメータを表す。変数kおよびlは、(-L/2)と(L/2)との間で変化し、ここで、Lはフィルタ長を表す。関数Clip3(-y,y,x)に対応するクリッピング関数K(x,y)=min(y,max(-y,x))
JVET-N0242の実装形態において、1つのALFフィルタごとにクリッピングパラメータk(i,j)を規定し、1つのフィルタ係数ごとに1つのクリッピング値を信号通知する。これは、1つの輝度フィルタ当たりビットストリームにおいて、最大12個のクリッピング値を信号通知することができ、クロマフィルタに対しては最大6個のクリッピング値を信号通知することができることを意味する。
信号通知コストおよびエンコーダの複雑性を制限するために、クリッピング値の評価は、可能な値の小さなセットに限定する。本提案では、インターおよびイントラタイルグループに対して同じ4つの固定値のみを使用する。
局所的な差の分散は、輝度の場合、クロマの場合よりも大きいことが多いので、輝度フィルタおよびクロマフィルタの2つの異なるセットを使用する。各セットに最大サンプル値(ここでは、10ビットのビット深度の場合、1024)を含め、必要でない場合、クリッピングを無効化することができる。
JVET-N0242試験に使用したクリッピング値のセットを表2に示す。4つの値は、対数領域において、輝度についてはサンプル値(10ビットで符号化される)の全範囲、クロマについて4~1024の範囲をほぼ均等に分割して選択されている。
より正確には、クリッピング値の輝度テーブルは、以下の式によって得られた。
Figure 2023501192000014
同様に、クリッピング値のクロマテーブルは、以下の式に従って取得される。
Figure 2023501192000015
Figure 2023501192000016
選択されたクリッピング値は、上記表2のクリッピング値のインデックスに対応するゴロム符号化方式を用いて、「alf_data」構文要素に符号化される。この符号化方式は、フィルタインデックスの符号化方式と同じである。
2.5. 仮想境界
ハードウェアおよび組み込みソフトウェアにおいて、ピクチャに基づく処理は、その高いピクチャバッファ要件のために、実際には受け入れられない。オンチップピクチャバッファの使用は非常に高価であり、オフチップピクチャバッファの使用は、外部メモリアクセス、電力消費、およびデータアクセス待ち時間を大幅に増加させる。そのため、実際の製品において、DF、SAO、ALFを画像に基づく復号からLCUに基づく復号に変更することになる。DF、SAO、ALFにLCUに基づく処理を使用する場合、複数のLCUを並列処理するために、LCUパイプライン方式を用いたラスタスキャンでLCUごとに全体の復号処理を行うことができる。この場合、1つのLCU行を処理するには上側LCU行からのピクセルが必要であるので、DF、SAO、およびALFのためにラインバッファが必要である。オフチップラインバッファ(例えば、DRAM)を使用する場合、外部メモリの帯域幅および消費電力が増大し、オンチップラインバッファ(例えば、SRAM)を使用する場合、チップ面積が増大する。従って、ラインバッファは既にピクチャバッファよりも遥かに小さいが、ラインバッファを低減することが依然として望ましい。
VTM-4.0において、図3に示すように、輝度成分に必要なラインバッファの総数は11.25ラインである。ラインバッファ要件の説明は以下のとおりである。CTUエッジと重複する水平エッジのデブロッキングは、決定およびフィルタリンには、第1のCTUからのラインK,L,M,M、および最下CTUからのラインO,Pを必要とするので、行うことができない。そのため、CTU境界と重なる水平エッジのデブロッキングは、下側CTUが来るまで延期される。従って、ラインK,L,M,Nに対して、再構成された輝度サンプルをラインバッファ(4ライン)に記憶しなければならない。次に、ラインA~Jに対してSAOフィルタリングを行うことができる。ラインJはSAOフィルタリングすることができ、これは、デブロッキングによってラインKにおけるサンプルが変化しないためである。ラインKのSAOフィルタリングの場合、エッジオフセット分類決定はラインバッファにのみ記憶される(これは0.25輝度ラインである)。ALFフィルタリングは、ラインA~Fに対してのみ行い得る。図3に示すように、4×4ブロックごとにALF分類を行う。各4×4ブロック分類は、8×8のサイズのアクティビティ窓を必要とし、このアクティビティ窓は、1Dラプラシアンを計算して勾配を決定するために9×9の窓を必要とする。
従って、ラインG、H、I、Jと重なる4×4ブロックのブロック分類のために、Jは、仮想境界より下のSAOフィルタリングされたサンプルを必要とする。さらに、ALF分類のために、ラインD、E、FのSAOフィルタリングされたサンプルが必要である。さらに、ラインGのALFフィルタリングは、上側ラインから3つのSAOフィルタリングされたラインD、E、Fを必要とする。従って、総ラインバッファ要件は、以下のとおりである。
- ラインK-N(水平DFピクセル):4ライン
- ラインD-J(SAOフィルタリングされたピクセル):7ライン
- ラインJとラインKとの間のSAOエッジオフセット分類子値:0.25ライン
従って、必要とされる輝度ラインの総数は、7+4+0.25=11.25である。
同様に、クロマ成分のラインバッファ要求は図4に例示されている。クロマ成分のためのラインバッファ要件は、6.25ラインであると評価される。
SAOおよびALFのラインバッファ要件を排除するために、最近のVVCにおいて、仮想境界(VB)の概念が導入されている。図3に示すように、VBは、水平LCU境界においてN個のピクセルだけ上向きにシフトされている。LCUごとに、SAOおよびALFは、下側LCUが来る前に、VBより上のピクセルを処理することができるが、下側LCUが来るまで、VBより下のピクセルを処理することはできず、これは、DFによってもたらされる。ハードウェアの実施費用を勘案し、提案したVBと水平LCU境界との間の空間を、輝度が4ピクセル(即ち、図3におけるN=4)、クロマが2ピクセル(即ち、図9におけるN=2)として設定する。
2.5.1. VBサイズNが4である場合の修正ALFブロック分類
図5Aおよび図5Bは、仮想境界がCTU境界の4ライン上にある場合(N=4)について、修正されたブロック分類を示す。図5Aは、ラインGで始まる4×4ブロックの分類を示し、図5Bは、ラインKで始まる4×4ブロックの分類を示す。図5Aに示すように、ラインGで始まる4×4ブロックの場合、ブロック分類は、ラインE~Jのみを使用する。しかし、ラインJに属するサンプルのラプラシアン勾配計算は、下にもう1つのライン(ラインK)を必要とする。従って、ラインKはラインJとパディングされる。
同様に、図5Bに示すように、ラインKで始まる4×4ブロックの場合、ブロック分類はラインK~Pのみを使用する。しかし、ラインKに属するサンプルのラプラシアン勾配計算には、上にもう1つのライン(ラインJ)を必要とする。従って、ラインJはラインKとパディングされる。
2.5.2. 仮想境界をまたぐサンプルのための二面パディング
図6A~6Cに示すように、フィルタを切り捨てたバージョンは、仮想境界に近いラインに属する輝度サンプルをフィルタリングするために用いられる。図6Aは、仮想境界(VB)の上/下にある(辺ごとに)パディングされるべき1つの必要なラインを示し、図6Bは、VBの上/下にある(辺ごとに)パディングされるべき2つの必要なラインを示し、図6Cは、VBの上/下にある(辺ごとに)パディングされるべき3つの必要なラインを示す。図6Aから6Cにおいて、VBは灰色のラインで表される。図6Aについて例えば、図3で示されたラインMをフィルタリングする場合、即ち、7×7菱形サポートの中心サンプルがラインMにある場合、VBより上の1つのラインに接近することが必要である。この場合、VBより上のサンプルは、VBより下の右下サンプルからコピーされ、例えば、実線のP0サンプルは、上の破線位置にコピーされる。対称的に、実線のP3サンプルもまた、その位置に対するサンプルが利用可能でも、右下の破線の位置にコピーされる。コピーされたサンプルは、輝度フィルタリング処理にのみ用いられる。
ALF仮想境界のために使用されるパディング法は、「二面パディング」と呼ばれてもよく、(i,j)に位置する1つのサンプル(例えば、図6Bに点線を有するP0A)をパディングする場合、図6A~6Cおよび図7A~7Cに示すように、同じフィルタ係数を共有する(m,n)に位置する対応するサンプル(例えば、図6Cに点線を有するP3B)もまた、サンプルが利用可能でもパディングを行う。
同様に、図7A~7Cに示すように、クロマALFフィルタリングにも両面パディング法が用いられる。図7Aは、仮想境界(VB)の上/下にある1つの必要なラインをパディングする必要があることを示し(一辺)、図7Bは、VBの上/下にある2つの必要なラインをパディングする必要があることを示す(一辺)。図7Aおよび7Bにおいて、VBは灰色のラインで表される。
2.5.3. 非線形ALFが無効にされている場合の二面パディングの代替実装方法
CTBに対して非線形ALFが無効である場合、例えば、式(14)におけるクリッピングパラメータk(i,j)が(1<<Bitdepth)に等しい場合、パディング処理は、フィルタ係数を修正(別称、modified-coeff based ALF,MALF)によって置き換えることができる。例えば、ラインL/Iにおけるサンプルをフィルタリングするとき、フィルタ係数c5がc5’に修正され、このケースでは、図8で実線P0Aから破線P0Aへ、実線P3Bから破線P3Bへの輝度サンプルをコピーする必要がない。この場合、二面パディングおよびMALFは、フィルタリングされる現在のサンプルが(x,y)に位置すると仮定して、同じ結果を生成する。
Figure 2023501192000017
なぜなら、パディングによって、K(d,b)=dであり、I(x-1,y-1)=I(x-1,y-2)であるからである。
しかしながら、非線形ALFが有効化される場合、MALFおよび二面パディングは、異なるフィルタリング結果を生成することができる。その理由は、非線形パラメータが、例えば、フィルタ係数c5およびc1の場合などの各係数に関連付けられ、クリッピングパラメータが異なるためである。そのため、
Figure 2023501192000018
K(d,b)!=dなので、パディングによって、I(x-1,y-1)=I(x-1,y-2)であってもよい。
2.6. VVCにおける形状変換に基づく適応ループフィルタ
現在のVVCにおけるGALFの設計は、JEMにおける設計に比べ、以下のような大きな変化を有している。
1)適応フィルタ形状は除去される。輝度成分に対しては7×7のフィルタ形状のみが許容され、色度成分に対しては5×5のフィルタ形状のみが許容される。
2)ALFフィルタ係数は、ALF適応パラメータ集合(ALF Adaptation Parameter Set、APS)において信号通知される。
3)非線形ALFを適用してもよい。
4)CTUごとに、色成分ごとに1つのビットフラグが、ALFが有効であるか無効であるかを信号通知される。
5)クラスインデックスの計算は、2×2ではなく、4×4のレベルで行われる。また、JVET-L0147で提案されているように、ALF分類のためのサブサンプリングされたラプラシアン計算方法が利用される。具体的には、1つのブロック内のサンプルごとに水平/垂直/45対角線/135度勾配を計算する必要がない。その代わりに、1:2サブサンプリングが利用される。
2.7. 適応パラメータ集合におけるALFパラメータの信号通知
VVC草案の最新バージョンにおいて、ALFパラメータは、適応パラメータ集合(Adaptation Parameter Set、APS)において信号通知されてもよく、各CTUによって適応的に選択されてもよい。1つのAPSにおいて、最大25組の輝度フィルタ係数およびクリッピング値インデックス、並びに最大8組のクロマフィルタ係数およびクリッピング値インデックスを信号通知することができる。ビットオーバーヘッドを低減するために、輝度成分の異なる分類のフィルタ係数をマージすることができる。スライスヘッダにおいて、現在のスライスに使用されるAPSのインデックスが信号通知される。
フィルタ係数は、128に等しいノルムで量子化される。乗算の複雑性を抑えるために、非中心位置の係数値が-2~2-1の範囲内に含まれるように、ビットストリーム適合性が適用される。中心位置係数はビットストリームにおいて信号通知されず、128に等しいと見なされる。
ALFの詳細なシグナル伝達(JVET-P2001-v9)は以下のとおりである。
Figure 2023501192000019
Figure 2023501192000020
7.4.3.5 適応パラメータセット意味論
各APS RBSPは、それが参照される前に復号化処理で利用できるか、それを参照する符号化スライスNALユニットのTemporalId以下のTemporalIdを持つ少なくとも一つのアクセスユニット内に含まれるか、外部手段を通じて提供されるものとする。
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_lay_idを持つものとする。それ以外の場合、APS RBSPを含むAPS NALユニットは、それを参照する符号化スライスNALユニットのnuh_layer_idに等しいか、またはそれを参照するコーディングスライスNALユニットを含むレイヤの直接依存レイヤのnuh_layer_idに等しいnuh_layer_idを有しているものとする。
アクセスユニット内において、adaption_parameter_set_idの特定の値と、aps_params_typeの特定の値を持つすべてのAPS NALユニットは、同じコンテンツを有している。
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は、表3に示されるように、APSにおいて実行されるAPSパラメータのタイプを指定する。aps_params_typeが1(LMCS_APS)である場合、adaptation_parameter_set_idの値は、0以上3以下の範囲内にあるものとする。
Figure 2023501192000021
注1- 各タイプのAPSは、adaptation_parameter_set_idに別個の値空間を使用する。
注2- APS NALユニット(adaption_parameter_set_idの特定の値とaps_params_typeの特定の値を有する)は、ピクチャ間で共有することができ、ピクチャ内の異なるスライスは、異なるALF APSを参照することができる。
aps_extension_flag=0の場合、APS RBSP構文構造にaps_extension_data_flag構文要素が存在しないことを示す。aps_extension_flag=1の場合、APS RBSP構文構造にaps_extension_data_flag構文要素が存在することを示す。
aps_extension_data_flagは任意の値を有することができる。その存在および値は、本明細書バージョンで特定された特徴に対するのデコーダの適合性に影響を与えない。本明細書バージョンに準拠するデコーダは、すべてのaps_extension_data_flag構文要素を無視しなければならない。
7.4.3.14 適応ループフィルタデータ意味論
alf_luma_filter_signal_flag=1は、輝度フィルタセットが信号通知されることを示す。alf_luma_filter_signal_flag=0は、輝度フィルタセットは信号通知されないことを示す。
alf_chroma_filter_signal_flagが1に等しい場合、クロマフィルタが信号通知されることを示す。alf_chroma_filter_signal_flagが0に等しい場合、クロマフィルタが信号通知されないことを示す。ChromaArrayTypeが0に等しい場合、alf_chroma_filter_signal_flagは0に等しい。
異なる適応ループフィルタの数を規定する変数NumAlfFiltersは、25に設定される。
alf_luma_clip_flag=0は、線形適応ループフィルタリングが輝度成分に適用されることを規定する。alf_luma_clip_flag=1は、非線形適応ループフィルタリングが輝度成分に適用され得ることを規定する。
alf_luma_num_filters_signalled_minus1プラス1は、輝度係数を信号通知することができる適応ループフィルタクラスの数を規定する。alf_luma_num_filters_signalled_minus1の値は、0~NumAlfFilters-1の範囲内にあるものとする。
alf_luma_coeff_delta_idx[filtIdx]は、filtIdxが示すフィルタクラスのための、0からNumAlfFilters-1までの範囲にわたる、信号通知される適応ループフィルタ輝度係数デルタのインデックスを規定する。alf_luma_coeff_delta_idx[filtIdx]が存在しない場合、それは0であると推論される。alf_luma_coeff_delta_idx[filtIdx]の長さは、Ceil(Log2(alf_luma_num_filters_signalled_minus1+1)ビットである。
1に等しいalf_luma_coeff_signalled_flag equalは、alf_luma_coeff_flag[sfIdx]が信号通知されることを示す。0に等しいalf_luma_coeff_signalled_flagは、alf_luma_coeff_flag[sfIdx]が信号通知されないことを示す。
alf_luma_coeff_flag[sfIdx]=1は、sfIdxで示される輝度フィルタの係数が信号通知されることを規定する。alf_luma_coeff_flag[sfIdx]=0は、sfIdxで示される輝度フィルタのすべてのフィルタ係数が0に等しく定する。存在しない場合、alf_luma_coeff_flag[sfIdx]は1に等しく設定される。
alf_luma_coeff_abs[sfIdx][j]は、sfIdxで示される信号輝度フィルタのj番目の係数の絶対値を規定する。alf_luma_coeff_abs[sfIdx][j]が存在しない場合、それは0に等しいと推論される。
exp-Golomb二値化uek(v)の次数kは3に等しく設定される。
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に等しいと推論される。
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)
要素AlfCoeff[adaptation_parameter_set_id][filtIdx][j]を有する輝度フィルタ係数AlfCoeff[adaptation_parameter_set_id]、(但し、filtIdx=0..NumAlfFilters-1、j=0..11)は以下のように導出される。
AlfCoeff[adaptation_parameter_set_id][filtIdx][j]=filtCoeff[alf_luma_coeff_delta_idx[filtIdx]][j] (7-48)
固定フィルタ係数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)
AlfCoeff[adaptation_parameter_set_id][filtIdx][j](但しfiltIdx=0..NumAlfFilters-1,j=0..11)の値が、-2~2-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の範囲内とすることがビットストリーム適合性の要件である。
輝度フィルタクリッピング値AlfClip[adaptation_parameter_set_id](但し要素AlfClip[adaptation_parameter_set_id][filtIdx][j]であり、filtIdx=0..NumAlfFilters-1およびj=0..11)は、BitDepthに等しく設定されているbitDepthおよびalf_luma_clip_idx[alf_luma_coeff_delta_idx[filtIdx]][j]に等しく設定されているclipIdxに依存して表4で規定されているように導出される。
alf_chroma_num_alt_filters_minus1プラス1は、クロマ成分のための代替フィルタの数を規定する。
alf_chroma_clip_flag[altIdx]=0は、インデックスaltIdxを有するクロマフィルタを使用する場合、クロマ成分に対して線形適応ループフィルタリングを適用することを規定し、alf_chroma_clip_flag[altIdx]=1は、インデックス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~2-1の範囲内(両端を含む)であることが、ビットストリーム適合性の要件である。
exp-Golomb二値化uek(v)の次数kは3に等しく設定される。
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に等しいと推論される。
AlfCoeff[adaptation_parameter_set_id][altIdx][j]を要素とするクロマフィルタ係数AlfCoeff[adaptation_parameter_set_id][altIdx](但しaltIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5とする)は、以下のように導出する。
AlfCoeff[adaptation_parameter_set_id][altIdx][j]=alf_chroma_coeff_abs[altIdx][j]*(1-2*alf_chroma_coeff_sign[altIdx][j]) (7-51)
AlfCoeff[adaptation_parameter_set_id][altIdx][j]の値(但し、altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5)が-2-1~2-1の範囲内にあることは、ビットストリーム適合性の要件である。
alf_chroma_clip_idx[altIdx][j]は、インデックスaltIdxを有する代替クロマフィルタのj番目の係数を乗じる前に使用するクリッピング値のクリッピングインデックスを規定する。alf_chroma_clip_idx[altIdx][j]の値(但し、altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5である)が、0~3の範囲内にあることは、ビットストリーム適合性の要件である。
要素AlfClip[adaptation_parameter_set_id][altIdx][j]を有するクロマフィルタクリッピング値AlfClip[adaptation_parameter_set_id][altIdx](但し、altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5)は、BitDepthと等しく設定されているbitDepthおよびalf_chroma_clip_idx[altIdx][j]と等しく設定されているclipIdxに依存して、表4で規定されているように導出される。
Figure 2023501192000022
2.8. CTUのためのALFパラメータの信号通知
VTM6において、ALFフィルタパラメータは、適応パラメータセット(APS)において信号通知される。1つのAPSにおいて、最大25組の輝度フィルタ係数およびクリッピング値インデックス、並びに最大8組のクロマフィルタ係数およびクリッピング値インデックスを信号通知することができる。ビットオーバーヘッドを低減するために、輝度成分の異なる分類のフィルタ係数をマージすることができる。スライスヘッダにおいて、現在のスライスに使用されるAPSのインデックスが信号通知される。
APSから復号化されたクリッピング値インデックスは、クリッピング値の輝度テーブル(Luma table)およびクリッピング値のクロマテーブル(Chroma table)を使用してクリッピング値を判定することができるようになる。これらのクリッピング値は、内部ビット深度に依存する。
スライスヘッダにおいて、現在のスライスに使用される輝度フィルタ集合を規定するように、最大7つのAPSインデックスを信号通知することができる。フィルタリング処理はCTBレベルでさらに制御されてもよい。ALFが輝度CTBに適用されるかどうかを示すために、常に1つのフラグが信号通知される。1つの輝度CTBは、16個の固定フィルタセットのうち1つのフィルタセットを選択し、複数のAPSから1つのフィルタセットを選択することができる。どのフィルタセットが適用されるかを示すように、輝度CTBのためにフィルタセットインデックスが信号通知される。エンコーダおよびデコーダの両方において、16個の固定フィルタセットを予め規定し、ハードコードする。
クロマ成分の場合、現在のスライスに使用されているクロマフィルタ集合を示すように、スライスヘッダにAPSインデックスを信号通知する。CTBレベルにおいて、APSにおいて複数のクロマフィルタ集合が存在する場合、クロマCTBごとにフィルタインデックスを信号通知する。
具体的には、以下が適用される。
スライス内の少なくとも1つのCTUがALFを適用するかどうかを示すために、まずスライスオン/オフ制御フラグをコード化する。真である場合、CTUごとに、以下をチェックし、順に信号通知する。
太字の下線付きテキストは、既存の標準への変更案を示す。
輝度部分に関して:
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を引いたものを、端数を切り捨てた単項信号通知する。
クロマ部分に関して:
1. Cb/Cr CTBにALFを適用するかどうか。そうである場合、ステップ2に進む。そうでない場合、さらなる信号通知は必要とされない。
2. i番目のALF APSに関連付けられたフィルタのインデックスを信号通知する。ここで、APSインデックスは、スライスヘッダにおいて信号通知される。
Figure 2023501192000023
2.9. クロス成分適応ループフィルタ(CC_ALF)
クロス成分適応ループフィルタ(CC-ALF)は、輝度サンプル値を用いて各クロマ成分を微調整する。基本的に、CC-ALFは、CC-ALFが適用される場合、輝度サンプルをフィルタリングすることによりクロマサンプルごとの補正を行う。それはループフィルタステップとして適用される。このツールは、ビットストリームにおける情報によって制御され、この情報は、(a)クロマ成分ごとのフィルタ係数と、(b)サンプルブロックのためのフィルタの適用を制御するマスクとを含む。
以下の図10Aは、他のループフィルタに対するCC-ALFの配置を示す。CC-ALFは、クロマ成分ごとに輝度チャンネルに線形菱形フィルタ(図10Bに示す)を適用することによって動作し、以下のように表される。
Figure 2023501192000024
ここで、
(x,y)は、微調整されたクロマ成分iの位置である。
(x,y)は、(x,y)に基づく輝度位置である。
は、クロマ成分iのための輝度におけるフィルタサポートである。
(x,y)は、フィルタ係数を表す。
CC-ALF処理は、JVET-O0636にさらに記載されている。主な特徴には以下が含まれる。
● 輝度平面とクロマ平面との間の空間拡大縮小率に基づいて、サポート領域の中心となる輝度位置(x,y)を計算する。
● すべてのフィルタ係数はAPSで送信され、8ビットのダイナミックレンジを有する。
● スライスヘッダにおいて、APSが参照されてもよい。
● スライスのクロマ成分ごとに使用されるCC-ALF係数も、時間的サブレイヤに対応するバッファに記憶される。これらの時間的サブレイヤフィルタ係数セットの再利用は、スライスレベルフラグを使用して容易になる。
● CC-ALFフィルタの適用は、可変ブロックサイズで制御され、サンプルのブロックごとに受信されたコンテキスト符号化フラグによって信号通知される。ブロックサイズは、CC-ALF有効化フラグと共に、クロマ成分ごとにスライスレベルで受信される。
● 水平方向の仮想境界のための境界パディングは、繰り返しを利用する。残りの境界については、通常のALFと同じタイプのパディングを使用する。
2.9.1. JVET-P1008におけるCC-ALFの更なる簡素化
JVET-P0080に比べ、CC-ALFの設計を簡単にするために、以下のような新しい態様を提案する。
- 複雑性低減
o 図11に示すように、フィルタ形状を3×4菱形に変化させ、フィルタ演算における乗数を低減する。
o CC-ALF係数の6ビットまでのダイナミックレンジを制限
o クロマALFと乗数の共用を許可する。
- ALFとの位置合わせ
o フィルタの選択をCTUレベルでの信号通知に制限
o 時間レイヤ係数バッファの除去
o ALF仮想境界における対称ライン選択の使用
また、簡略化により符号化効率が低下するため、クロマ成分当たり4つまでのフィルタを適用することができるように制限される。
2.9.1.1. CC-ALFの構文および意味論
太字の下線付きテキストは、既存の標準への変更案を示す。
Figure 2023501192000025
Figure 2023501192000026
Figure 2023501192000027
Figure 2023501192000028
Figure 2023501192000029
Figure 2023501192000030
alf_ctb_cross_component_cb_idc[xCtb>>CtbLog2SizeY][yCtb>>>CtbLog2SizeY]が0に等しい場合、クロス成分CbフィルタがCb色成分サンプルのブロックの輝度位置(xCtb,yCtb)に適用されていないことを示す。alf_cross_component_cb_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]が0に等しくない場合、alf_cross_component_cb_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]-thクロス成分CbフィルタがCb色成分サンプルのブロックの輝度位置(xCtb,yCtb)に適用されていることを示す。
alf_ctb_cross_component_cr_idc[xCtb>>CtbLog2SizeY][yCtb>>>CtbLog2SizeY]が0に等しい場合、クロス成分CrフィルタがCr色成分サンプルのブロックの輝度位置(xCtb,yCtb)に適用されていないことを示す。alf_cross_component_cr_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]が0に等しくない場合、alf_cross_component_cr_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]-thクロス成分CrフィルタがCr色成分サンプルのブロックの輝度位置(xCtb,yCtb)に適用されていることを示す。
2.10. ピクチャ、サブピクチャ、スライス、タイル、CTUの分割
2.10.1. ピクチャをサブピクチャ、スライス、タイルに分割
この従属節では、ピクチャをサブピクチャ、スライス、およびタイルにどのように分割するかを規定する。
1つのピクチャは、1つ以上のタイル行および1つ以上のタイル列に分割される。1つのタイルは、1つの画像の1つの矩形領域を覆う1つのCTUのシーケンスである。1つのタイルにおけるCTUは、そのタイル内でラスタスキャン順にスキャンされる。
1つのスライスは、1つのピクチャのタイル内において、整数個の完全なタイルまたは整数個の連続した完全なCTU行からなる。
2つのモードのスライス、即ちラスタスキャンスライスモードおよび矩形スライスモードがサポートされる。ラスタスキャンスライスモードにおいて、1つのスライスは、1つのピクチャのタイルラスタスキャンにおける1つの完全なタイルのシーケンスを含む。矩形スライスモードにおいて、1つのスライスは、ピクチャの矩形領域を集合的に形成する複数の完全なタイル、またはピクチャの矩形領域を集合的に形成する1つのタイルの複数の連続した完全なCTU行のいずれかを含む。矩形スライス内のタイルを、そのスライスに対応する矩形領域内で、タイルラスタスキャンの順にスキャンする。
1つのサブピクチャは、1つのピクチャの矩形領域を集合的に覆う1つ以上のスライスを含む。
図12は、ピクチャのラスタスキャンスライス分割の例を示し、ピクチャは、12個のタイルおよび3個のラスタスキャンスライスに分割される。
図13は、ピクチャの矩形スライス分割の例を示し、ピクチャは、24個のタイル(6個のタイル列および4個のタイル行)と9個の矩形スライスとに分割される。
図14は、タイルおよび矩形のスライスに分割されたピクチャの例を示し、このピクチャは、4つのタイル(2つのタイルの列および2つのタイルの行)と4つの矩形スライスとに分割される。
図15は、ピクチャのサブピクチャ分割の例を示し、ピクチャは、様々な寸法の28個のサブピクチャに分割される。[Ed.(RS):図15を図14に統合することで、コンセプトの整合性を説明するのに役立つ。]
ピクチャが3つの別個の色平面を使用してコード化される(separate_colour_plane_flagが1に等しい)場合、スライスは、colour_plane_idの対応する値によって識別される1つの色成分のCTUのみを含み、ピクチャの各色成分配列は、同じcolour_plane_idを有するスライスから成る。ピクチャ内でcolour_plane_idが異なる値を有する符号化スライスは、colour_plane_idの各値について、colour_plane_idのその値を有する符号化スライスNALユニットは、各符号化スライスNALユニットの最初のCTUに対してタイルスキャン順でCTUアドレスを増加する順になるという制約の下で、互いにインターリーブすることができる。
separate_colour_plane_flagが0に等しい場合、ピクチャの各CTUが、ちょうど1つのスライスに含まれる。separate_colour_plane_flagが1に等しい場合、色成分の各CTUはちょうど1つのスライスに含まれる(つまり、ピクチャの各CTUに対する情報がちょうど3つのスライスに存在し、これら3つのスライスはcolour_plane_idの値が異なる)。
3. 既存の実装形態の欠点
ALF仮想境界に使用されるパディング法は、「二面パディング」または「ミラーリングパディング(mirrored padding)」と呼ばれてもよく、ここで、(i,j)に位置する1つのサンプルにパディングを行う場合、図6および図7に示すように、サンプルが利用可能でも、同じフィルタ係数を共有する(m,n)に位置する対応するサンプルにもパディングを行う。
ピクチャ境界/360度映像仮想境界、通常の境界(例えば、最上および最下境界)に使用されるパディング方法は、「片側パディング」または「繰り返しパディング」と呼ばれてもよく、使用される1つのサンプルが境界の外側にある場合、そのサンプルは、ピクチャの内側の利用可能サンプル(例えば、最も近い利用可能サンプル)からコピーされる。
現在のCC-ALF設計において、以下のような問題がある。
1. CC-ALFで使用されるパディング方法は、非線形ALFで使用されるパディング方法と完全には整合していない。
2. CC-ALFのオン/オフ制御はCTBレベルにある。すなわち、それが有効化されている場合、CTB内のすべてのクロマサンプルは、1つのクロマサンプルに対応するフィルタリングされた輝度サンプルから導出オフセットを加えることによって修正されるものとする。
3. CC-ALFおよびクロマALFの両方を適用したクロマサンプルごとに、3段階(クロマALFフィルタリング、CC-ALFオフセット導出、および最終的なクロマサンプルを導出するためのクロマフィルタサンプルの微調整)から少なくとも3つのクリッピング演算が必要である。具体的には、以下の3つのステージを説明する。
a. クロマALF処理において、フィルタリングされたクロマサンプルをクリップする。すなわち、
sumchromaALF=curr+(sumchromaALF+64)>>7) (8-1290)
alfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepthC)-1,sumchromaALF) (8-1291)
ここで、「curr」は、フィルタリングされる前のクロマサンプルを表し、「sumchromaALF」は、クロマALFフィルタサポートでクリッピングされたクロマサンプルの差分にクロマALFフィルタ係数を掛けた合計を表す。
b. 導出オフセット(sumで示される)を輝度ビット深度に応じた範囲にクリップする、すなわち、
sum=Clip3(-(1<<(BitDepthC-1)),(1<<(BitDepthC-1))-1,sum) (8-1292)
ここで、「sum」は、CC-ALFフィルタサポートにおける輝度サンプルにCC-ALFフィルタ係数を掛けた合計を表す。
c. フィルタリングされたクロマサンプルに導出オフセットを追加した後、最終的に微調整されたクロマサンプルをクリップする。
sum=alfPicture[xCtbC+x][yCtbC+y]+(sum+64)>>(7+(BitDepthY-BitDepthC)) (8-1293)
ccAlfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepth)-1,sum) (8-1294)
ここで、「alfPicture[xCtbC+x][yCtbC+y]」は、chroma ALFでフィルタされた後のクロマサンプルを表し(ステージaの出力)、「sum」はCC-ALFフィルタサポートにおける輝度サンプルにCC-ALFフィルタ係数を掛けた合計を表し(ステージbの出力)、ccAlfPictureは最終的に微調整されたクロマサンプルを表している(ステージcの出力、最終ステージ)。
4. 式(8-1293)に示すように、ステージbの出力、即ち、可変の合計は、64と等しいオフセットで丸められるが、(BitDepthY-BitDepthC)を考慮しない。(BitDepthY-BitDepthC)が0に等しくない場合、丸めオフセットは最適ではない。
4. 例示的な技術および実施形態
以下に詳述する実施形態の詳細は、一般的な概念を説明するための例であると考えられるべきである。これらの実施形態は狭義に解釈されるべきではない。さらに、これらの実施形態は、任意の方法で組み合わせることができる。
本開示において、ALFフィルタは、所与の色成分の情報を用いて所与の色成分に適用されるフィルタを表してもよく(例えば、輝度ALFフィルタ(線形または非線形)は、輝度情報を用いて輝度に適用され、クロマALFフィルタは、クロマ情報を用いてクロマに適用され、例えば、CbクロマALFフィルタは、Cbサンプルをフィルタリングするためのものであり、CrクロマALFフィルタは、Crサンプルをフィルタリングするためのものである)、一方、CC-ALFフィルタは、第1の色成分情報と異なる少なくとも第2の色成分情報を用いて第1の色成分に適用されるフィルタを表してもよい(例えば、第1の色成分は、CbまたはCrでもよく、第2の色成分は、輝度でもよい)。
CC-ALFにおいて、「サンプルの補正」を導出し、これをALFで処理する前にサンプルに加えることで、「微調整サンプル」を生成することができ、または「微調整サンプル」を直接導出することができる。
映像ユニットは、スライス/タイル/ブリック/サブピクチャ/ピクチャ/360度仮想ピクチャ(360度仮想境界で囲まれる)であってもよく、または複数のサンプル/ピクセルを含む他の種類の映像領域であってもよい。
以下の説明において、サンプルが「映像ユニットの境界にある」とは、サンプルと映像ユニットの境界との距離が閾値未満である、または閾値以下であることを意味する場合がある。「ライン」は、1つの同じ水平位置でのサンプルまたは1つの同じ垂直位置でのサンプル(即ち、同じ行のサンプルおよび/または同じ列のサンプル)を含む場合がある。一例において、関数Abs(x)は、以下のように定義されてもよい。
Figure 2023501192000031
「ALF処理ユニット」とは、2つの水平方向の境界および2つの垂直方向の境界で囲まれたユニットを指す。2つの水平境界は、2つのALF仮想境界または1つのALF仮想境界および1つのピクチャ境界(またはスライス境界/タイル境界/ブリック境界/サブピクチャ境界/360度仮想境界)を含むことができる。2つの垂直境界は、2つの垂直CTU境界または1つの垂直CTU境界および1つのピクチャ境界(またはスライス境界/タイル境界/ブリック境界/サブピクチャ境界/360度仮想境界)を含むことができる。一例を図16に示す。
「狭ALF処理ユニット」とは、2つの水平方向の境界および2つの垂直方向の境界で囲まれたユニットを指す。1つの水平境界は、1つのALF仮想境界または1つの360度仮想境界を含んでもよく、他の水平境界は、1つのスライス/ブリック/タイル/サブピクチャ境界または1つの360度仮想境界または1つのピクチャ境界を含んでもよい。垂直境界は、CTU境界、ピクチャ境界、360度仮想境界またはスライス/ブリック/タイル/サブピクチャ境界であることができる。一例を図16に示す。
本開示において、隣接サンプルは、現在のサンプルを含む現在の映像ユニットの外にあり(例えば、現在のピクチャ/サブピクチャ/タイル/スライス/ブリック/CTUの外にある)、そのような映像ユニットの境界をまたぐフィルタリングが許可されていない場合、または隣接サンプルと現在のサンプルが360度の仮想境界の異なる側にあり、360度仮想境界をまたぐフィルタリングが許可されていない場合に、「利用不可」とマークすることができる。さらに別の例において、隣接サンプルは、異なる映像ユニットにおいて、現在の処理ユニット(例えば、ALF処理ユニットまたは狭ALF処理ユニット)の外にあり、映像ユニットをまたぐフィルタリングが許可されていない場合に、「利用不可」とマークされてもよい。
同様に、CC-ALFでフィルタリングされるサンプル(例えば、現在のCC-ALF設計における輝度サンプル)の場合、サンプルが、現在のクロマサンプルを含むものとは異なる映像ユニットに位置している場合、このサンプルにも「利用不可」とマークすることができる。
1. CC-ALFにおいて、「利用不可」のサンプルをパディングする方法は、ALFに使用されるものと同じ規則に従うことができる。
a. 1つの例において、「ミラーリングパディング」は、CC-ALFにおけるALF仮想境界における「利用不可」のサンプルのパディングのために適用され得る。
b. 1つの例において、「繰り返しパディング」は、CC-ALFにおけるスライス/タイル/ブリック/サブピクチャ/ピクチャ/360度仮想境界における「利用不可」のサンプルをパディングするために適用され得る。
c. 一例において、「繰り返しパディング」は、CC-ALFにおけるALF仮想境界を除くすべての境界に適用されてもよい。
i. あるいは、すべての境界に「繰り返しパディング」を適用してもよい。
ii. あるいは、すべての水平境界に「繰り返しパディング」を適用してもよい。
iii. あるいは、すべての垂直境界に「繰り返しパディング」を適用してもよい。
iv. あるいは、すべての水平境界に「ミラーリングパディング」を適用してもよい。
v. あるいは、すべての垂直境界に「ミラーリングパディング」を適用してもよい。
vi. あるいは、すべての境界に「ミラーリングパディング」を適用してもよい。
d. 一例において、「繰り返しパディング」は、「ALF処理ユニット」若しくはCTU、または「狭ALF処理ユニット」若しくは「基本ALF処理ユニット」(以下で定義される)またはこれらのすべての処理ユニットとは異なる映像領域に適用されてもよい。
e. 繰り返しパディングをどのように適用するかは、隣接サンプルが異なる隣接スライス内にあるかどうかに依存し、ここで、現在のスライスはラスタ走査スライスであってもよく、および/または隣接するスライスはラスタ走査スライスであってもよい。
i. 一例において、ラスタ走査スライスにおけるサンプルの場合、「繰り返しパディング」は、「ALF処理ユニット」に適用されてもよい。例えば、隣接する「利用不可」のサンプルは、現在の「ALF処理ユニット」中でその最も近いサンプルでパディングされる。例えば、図17に示すように、現在の「ALF処理ユニット」の左側の隣接サンプルは「利用不可」であり、かつ、現在の「ALF処理ユニット」におけるその最も近いサンプルから「利用不可」のサンプルをそれぞれパディングする。
2. 処理ユニット(例えば、ALF処理ユニットまたは/および狭ALF処理ユニットまたは/およびCTU)の利用不可の隣接サンプルは、ALFまたは/およびCC-ALFにおいて、以下のように、予め定義された順にパディングされてもよい。
a. 処理ユニットの上側の隣接サンプルが利用不可の場合、これらサンプルは処理ユニットの最上行でパディングされてもよい。
i. あるいは、さらに、左上の隣接サンプルは、処理ユニットの左最上サンプルでパディングされてもよい。
ii. あるいは、さらに、右上の隣接サンプルは、処理ユニットの右最上サンプルでパディングされてもよい。
b. 処理ユニットの下側の隣接サンプルが利用不可の場合、処理ユニットの最下行でパディングすることができる。
i. あるいは、さらに、左最下の隣接サンプルは、処理ユニットの左下サンプルでパディングされてもよい。
ii. あるいは、さらに、右下の隣接サンプルは、処理ユニットの右最下サンプルでパディングされてもよい。
c. 処理ユニットの左側の隣接サンプルが利用不可の場合、処理ユニットの左側の列でパディングしてもよい。
d. 処理ユニットの右側の隣接サンプルが利用不可の場合、処理ユニットの右側の列でパディングしてもよい。
e. 処理ユニットの左側の隣接サンプルおよび上側の隣接サンプルが利用可能であり、処理ユニットの左上の隣接サンプルが利用不可の場合、上側の隣接サンプルを使用して、処理ユニットの左上の隣接サンプルをパディングすることができる。
i. 代替的に、左側の隣接サンプルを使用して、処理ユニットの左上の隣接サンプルをパディングしてもよい。
f. 処理ユニットの左上および上側の隣接サンプルが利用不可で、処理ユニットの左側の隣接サンプルが利用可能の場合、左側の隣接サンプルを使用して、処理ユニットの左上の隣接サンプルをパディングすることができる。
g. 処理ユニットの左上および左側の隣接サンプルが利用不可で、処理ユニットの上側の隣接サンプルが利用可能の場合、上側の隣接サンプルを使用して処理ユニットの左上の隣接サンプルをパディングすることができる。
h. 処理ユニットの右側の隣接サンプルおよび下側の隣接サンプルが利用可能で、処理ユニットの右下の隣接サンプルが利用不可の場合、下側の隣接サンプルを使用して、処理ユニットの右下の隣接サンプルをパディングすることができる。
i. あるいは、右側の隣接サンプルを使用して、処理ユニットの右下の隣接サンプルをパディングすることができる。
i. 処理ユニットの右下および下側の隣接サンプルが利用不可で、処理ユニットの右側の隣接サンプルが利用可能の場合、右側の隣接サンプルを用いて処理ユニットの右下の隣接サンプルをパディングすることができる。
j. 処理ユニットの右下および右側の隣接サンプルが利用不可で、処理ユニットの下側の隣接サンプルが利用可能の場合、下側の隣接サンプルを使用して、処理ユニットの右下の隣接サンプルをパディングすることができる。
k. 処理ユニットの右上および右側の隣接サンプルが利用不可で、処理ユニットの上側の隣接サンプルが利用可能の場合、上側の隣接サンプルを使用して処理ユニットの右上の隣接サンプルをパディングすることができる。
l. 処理ユニットの右上および上側の隣接サンプルが利用不可で、処理ユニットの右側の隣接サンプルが利用可能の場合、右側の隣接サンプルを使用して、処理ユニットの右上の隣接サンプルをパディングすることができる。
m. 処理ユニットの左下および左側の隣接サンプルが利用不可で、処理ユニットの下側の隣接サンプルが利用可能の場合、下側の隣接サンプルを使用して、処理ユニットの左下の隣接サンプルをパディングすることができる。
n. 処理ユニットの左下および下側の隣接サンプルが利用不可で、処理ユニットの左側の隣接サンプルが利用可能の場合、左側の隣接サンプルを使用して、処理ユニットの左下の隣接サンプルをパディングすることができる。
o. 処理ユニットは、ctuUpで表されるCTUのN(Nは整数であり、例えば、N=4)行と、ctuUpの下にあるctuDownで表されるCTUのCtbSize-M(Mは整数であり、例えば、M=N)行とを含んでもよい。処理ユニットの隣接サンプルが利用可能かどうかをチェックするとき、隣接サンプルとctuDownとの関係を考慮してもよい。
i. 一例において、隣接サンプルがctuDownと異なる映像ユニット内にあり(例えば、隣接サンプルおよびctuDownは、異なるブリック/タイル/スライス/サブピクチャに属する、またはそれらが360度の仮想境界の異なる側にある)、そのような映像ユニットをまたぐフィルタリングが許可されない場合、隣接サンプルは「利用不可」と見なされる。
ii. あるいは、隣接サンプルの可用性をチェックするために、隣接サンプルとctuUpとの関係を考慮してもよい。
3. ラスタ走査スライスにおける「利用不可」のサンプルは、CC-ALFまたは/およびALFにおいて予め定義された順にパディングされてもよい。現在のCTUは、現在のスライスにある。
a. 一例において、上側CTUおよび左側CTUが現在のスライスと同じスライス内にあり、左上CTUが現在のスライスと異なるスライス内にある場合、左上CTUにおける「利用不可」の隣接サンプルは、現在のCTUの上側CTUにおいてその最も近い隣接サンプルでパディングされる。一例を図18に示す。
i. あるいは、左上CTUにおける「利用不可」の隣接サンプルは、現在のCTUの左側CTUにおいてその最も近い隣接サンプルでパディングされる。
b. 一例において、下側CTUおよび右側CTUが現在のスライスと同じスライス内にあり、右下CTUが現在のスライスとは異なるスライス内にある場合、右下CTUにおける「利用不可」の隣接サンプルが、現在のCTUの下側CTUにおいてその最も近い隣接サンプルとパディングされる。一例を図18に示す。
i. あるいは、右下CTUの「利用不可」の隣接サンプルは、現在のCTUの右側CTUにおいてその最も近い隣接サンプルでパディングされる。
4. 処理ユニット(例えば、ALF処理ユニット、または/および狭ALF処理ユニット、または/およびCTU)は、1つ以上のブリック/スライス/タイル/サブピクチャ境界または/および360度仮想境界が交差する場合であって、そのような境界をまたぐフィルタリングが許可されていない場合、複数の処理ユニットに(水平または/および垂直に)分割されてもよい。
a. あるいは、さらに、分割処理は、処理ユニットが任意のブリック/スライス/タイル/サブピクチャ境界または/および360度仮想境界または/およびALF仮想境界と交差しなくなるまで、再帰的に行われてもよく、そのような境界をまたぐフィルタリング処理が許可されず、例えば、そのような境界のみを処理ユニットの境界とすることができる。以下、このような処理ユニットを「基本ALF処理ユニット」と呼ぶ。「基本ALF処理ユニット」は、「ALF処理ユニット」がそのような境界のいずれかで交差しなければ、「ALF処理ユニット」であってもよい。
b. あるいは、さらに、このような分割処理が完成した後に、ALF処理または/およびCC-ALF処理を行い、例えば、「基本ALF処理ユニット」においてALF処理または/およびCC-ALFを行う。
c. あるいは、上記のパディング方法は、「基本ALF処理ユニット」上で行われてもよい。
d. 「基本ALF処理ユニット」を生成する際に、異なる水平方向の境界を予め定義された順序でチェックしてもよい。
i. 一例において、チェック順は、ALF仮想境界、360度仮想境界、そしてブリック/スライス/タイル/サブピクチャ境界であるCTU境界である。
ii. 一例において、チェック順は、360度仮想境界、ALF仮想境界、そしてブリック/スライス/タイル/サブピクチャ境界であるCTU境界である。
iii. 一例において、「基本ALF処理ユニット」を形成する際に、最上境界および最下境界に異なるチェック順を用いてもよい。
a) 例えば、最上境界の場合、チェック順は、ALF仮想境界、360度仮想境界、そしてブリック/スライス/タイル/サブピクチャ境界であるCTU境界である。
b) 例えば、最下境界の場合、チェック順は、360度仮想境界、ALF仮想境界、そしてブリック/スライス/タイル/サブピクチャ境界であるCTU境界である。
e. 「基本ALF処理ユニット」を生成する際に、異なる垂直方向の境界を予め定義された順にチェックしてもよい。
i .一例において、チェック順は、360度仮想境界、そしてブリック/スライス/タイル/サブピクチャ境界であるCTU境界である。
ii. 一例において、チェック順は、ブリック/スライス/タイル/サブピクチャ境界、そして360度仮想境界であるCTU境界である。
iii. 一例において、「基本ALF処理ユニット」を生成する際に、左境界および右境界に対して異なるチェック順を用いてもよい。
5. そのような境界をまたぐフィルタリング処理が許可されていない場合、ALFまたは/およびCC-ALF処理を映像ユニット境界でのサンプルに対して、無効とすることが提案されている。
a. 一例において、サンプルのALFまたは/およびCC-ALF処理に少なくともN(Nは整数)個の「利用不可」のサンプルが含まれている場合、このサンプルに対してALFまたは/およびCC-ALF処理はスキップされる。例えば、N=1または2または3等である。
b. 一例において、サンプルが水平映像ユニット境界にあり、そのような境界をまたぐフィルタリング処理は許可されず、サンプルと映像ユニット境界との垂直距離がM個のサンプル以下である場合、このサンプルに対してALFまたは/およびCC-ALFはスキップされる。例えば、M=0または1または2または3である。
c. 一例において、サンプルが垂直映像ユニット境界にあり、そのような境界をまたぐフィルタリング処理が許可されず、サンプルと映像ユニット境界との水平距離がM個のサンプル以下である場合、サンプルに対してALFまたは/およびCC-ALFはスキップされる。例えば、M=0または1または2または3である。
6. CTBと異なる映像領域に対して、ALFまたは/およびCC-ALFのオン/オフ制御を決定してもよいことが提案される。
a. 一例において、映像領域は、「ALF処理ユニット」または「狭ALF処理ユニット」または「ベーシックALF処理ユニット」である。
b. 1つの例において、オン/オフ制御は、映像領域に対して明確に信号通知されてもよい。
c. 一例において、オン/オフ制御は、映像領域に対して暗黙的に導出されてもよい。
7. CC-ALFの信号通知されたオン/オフ制御フラグは、第1の映像ユニット(例えば、CTB)に関連付けられ得るが、第1の映像ユニット内のサンプルについては、信号通知されたフラグがCC-ALFが有効とされていることを伝える場合でも、CC-ALFは依然として無効にされてもよい。
a. 1つの例において、第1の映像ユニット内のサンプルのためにCC-ALFを有効にするかまたは無効にするかは、サンプルの位置に依存し得る。
b. 一例において、第1の映像ユニット内のサンプルのためにCC-ALFを有効にするかまたは無効にするかは、CC-ALF処理に含まれる輝度サンプルに依存し得る。
c. 1つの例において、第1の映像ユニット内のサンプルのためにCC-ALFを有効にするかまたは無効にするかは、現在のサンプルおよびその隣接サンプル、例えば、それらの差に依存し得る。
d. 一例において、第1の映像ユニット内のサンプルのためにCC-ALFを有効にするかまたは無効にするかは、導出オフセットに依存し得る。
i. 一例において、導出オフセットが閾値よりも大きい(または小さくない)場合、オフセットは廃棄されてもよく、即ち、CC-ALFは無効にされる(オフセットが0にリセットされる場合に等しい)。
ii. 一例において、導出オフセットが閾値よりも小さい(または超えない)場合、オフセットは廃棄されてもよく、即ち、CC-ALFが無効にされる(オフセットが0にリセットされる場合に等しい)。
e. 一例において、第1の映像ユニット内のサンプルのためにCC-ALFを有効にするかまたは無効にするかは、クロマサンプルおよび/または隣接ブロックを含むブロックのコード化情報に依存しうる。
8. そこで、クリッピング処理の段階を3(セクション3の3項の箇条書きで記載)から1または2に減らすことが提案されている。
a. 一例において、CC-ALFが有効にされる場合、クロマALFフィルタリング処理におけるクリッピング処理は省略される。
b. 一例において、CC-ALF処理における導出オフセットのクリッピング処理は省略される。
c. 一例において、上記2つの方法は両方とも適用される。
9. CC-ALF処理における導出オフセットのクリッピング範囲は、[-(1<(BitDepthC-1)),(1<(BitDepthC-1))-1](両端を含む)の範囲とは異なって設定されてもよい。
a. 一例において、より小さな範囲を利用してもよい。
b. 一例において、この範囲はビット深度から独立してもよい。
c. 一例において、この範囲は、第1の映像領域から別の映像領域に適応的に変更されてもよい。
d. 一例において、この範囲は、クロマALF処理に用いられる非線形クリッピング範囲(例えば、式(14)におけるk(i,j))から導出されてもよい。
10. 導出オフセット(例えば、セクション3の箇条書き中のsum)は、固定値(即ち、64)ではなく、ビット深度に応じた値に丸めオフセットにより丸められてもよい。
a. 一例において、丸めオフセットは、第1の色成分(例えば、Y)と第2の色成分(例えば、CbrまたはCr)とのビット深度差に依存してもよい。
i. 代替的に、それはまた、CC-ALFフィルタ係数のビット深さに依存してもよい。
ii. 一例において、丸めオフセットは、(1<<(K-1+(BitDepthY-BitDepthC)))に設定されてもよく、KはCC-ALFフィルタ係数のビット深度を表し、BitDepthYおよびBitDepthCはそれぞれ輝度成分およびクロマ成分のビット深度を表す。
b. 一例において、式(8-1293)を置き換えるために、以下を適用してもよい。削除されたテキストには二重括弧で囲んだ印が付けられている(例えば、[[a]]は文字「a」の削除を意味する)。
sum=alfPicture[xCtbC+x][yCtbC+y]+(sum+Off[[64]])>>(7+(BitDepthY-BitDepthC)) (8-1293)
ccAlfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepth)-1,sum’) (8-1294)
ここで、Offは、(1<(6+(BitDepthY-BitDepthC))に等しく設定される。
11. クロマALFおよびCC-ALFを共同して最適化することが提案されている。
a. 一例において、CTBまたは映像領域に対してクロマALFおよびCC-ALFの両方が有効にされる場合、CC-ALFがクロマALFの後に適用される場合、CC-ALF処理においてのみ、クリッピング演算(例えば、クロマALFまたは/およびCC-ALFにより生成されたクロマサンプルを、クロマビット深度に依存し得る所定の範囲内にクリップする)が適用されてもよい。
b. 一例において、CTBまたは映像領域に対してクロマALFおよびCC-ALFの両方が有効にされる場合、CC-ALFがクロマALFの前に適用される場合、ALF処理においてのみ、クリッピング演算(例えば、クロマALFまたは/およびCC-ALFにより生成されたクロマサンプルを、クロマビット深度に依存し得る所定の範囲内にクリップする)が適用されてもよい。
12. 第1の色成分におけるサンプルSをS=S+Dとして修正し、ここで、Dは、例えばCC-ALFのような、第2の色成分情報を用いた適応ループフィルタリング方法により導出オフセットであり、適応的にクリッピングされ得る。例えば、Sは、S=S+Clip3(Dlow、Dhigh、D)として修正されてもよく、Dlowおよび/またはDhighは、異なるサンプルごとに異なってもよい。
a. 例えば、Dlowおよび/またはDhighは、エンコーダからデコーダに信号通知されてもよい。
b. 例えば、Sの値に基づいてDlowおよび/またはDhighを導出してもよい。
c. 例えば、Sの位置に基づいてDlowおよび/またはDhighを導出してもよい。
d. 例えば、Dlowおよび/またはDhighの複数の候補に信号通知してもよく、または予め定義してもよい。選択された候補は、エンコーダから信号通知されてもよいし、デコーダにおいて導出されてもよい。
13. 第1サブピクチャの第1サンプルSに対するCC-ALFを、第2サブピクチャのサンプルに依存し得るものとして、次に、第1サブピクチャおよび/または第2のサブピクチャに対してサブピクチャをまたぐループフィルタリングが許可されるかどうかによって、SがCC-ALFによってフィルタリングされるかどうかを決定する。(例えば、第1のサブピクチャおよび/または第2のサブピクチャのloop_filter_across_subpic_enabled_flag)。
a. 一例において、サブピクチャをまたぐループフィルタが第1のサブピクチャに対して許可されない場合、SはCC-ALFによってフィルタリングされない。
b. 一例において、サブピクチャをまたぐループフィルタが第2のサブピクチャに対して許可されない場合、SはCC-ALFによってフィルタリングされない。
c. 一例において、第1のサブピクチャおよび第2のサブピクチャに対してサブピクチャをまたぐループフィルタが許可されない場合、SはCC-ALFによってフィルタリングされない。
d. 一例において、第1のサブピクチャまたは第2のサブピクチャに対してサブピクチャをまたぐループフィルタが許可されない場合、SはCC-ALFによってフィルタリングされない。
14. 上記方法を適用するかどうかおよび/またはどのように適用するかは、以下に列挙される1つ以上の条件に基づくことができる。
a. 映像コンテンツ(例えば、スクリーンコンテンツまたは自然コンテンツ)
b. 一例において、デフォルトモードは、DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/最大コーディングユニット(LCU)/コーディングユニット(CU)/LCU行/LCUグループ/TU/PUブロック/映像コーディングユニットにおいて信号通知されてもよい。
c. CU/PU/TU/ブロック/映像コーディングユニットの位置
d. 現在のブロックおよび/またはその近傍のブロックの復号化情報
i. 現在のブロックおよび/またはその近傍のブロックのブロック寸法/ブロック形状
e. カラーフォーマットの表示(例えば、4:2:0、4:4:4、RGB、YUV等)
f. コーディングツリー構造(例えば、デュアルツリーまたはシングルツリー)
g. スライス/タイルグループのタイプおよび/またはピクチャのタイプ
h. 色成分(例えば、輝度成分および/またはクロマ成分にのみ適用されてもよい)。
i. 時間レイヤID
j. 標準のプロファイル/レベル/ティア
5. 追加の実施形態
本明細書では、VVC草案におけるテキストの変更を、下線を引いた太いフォントで示す。
6. 開示される技術の例示的な実装形態
図19Aは、映像処理装置1900のブロック図である。装置1900は、本明細書に記載の方法の1つ以上を実装するために使用してもよい。装置1900は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信機等に実施されてもよい。装置1900は、1つ以上のプロセッサ1902と、1つ以上のメモリ1904と、映像処理ハードウェア1906と、を含んでもよい。1つまたは複数のプロセッサ1902は、本明細書に記載される1つ以上の方法を実装するように構成されてもよい。メモリ(複数可)1904は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア1906を使用して、ハードウェア回路において、本明細書に記載されるいくつかの技術を実装してもよく、一部又は全部がプロセッサ1902の一部(例えば、グラフィックプロセッサコアGPU又は他の信号処理回路)であってもよい。
図21は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム2100を示すブロック図である。様々な実装形態は、システム2100のコンポーネントの一部又は全部を含んでもよい。システム2100は、映像コンテンツを受信するための入力ユニット2102を含んでもよい。映像コンテンツは、未加工又は非圧縮フォーマット、例えば、8又は10ビットのマルチコンポーネント画素値で受信されてもよく、又は圧縮又は符号化フォーマットで受信されてもよい。入力ユニット2102は、ネットワークインターフェース、周辺バスインターフェース、又はストレージインターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット(登録商標)、パッシブ光ネットワーク(PON)等の有線インターフェース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インターフェースを含む。
システム2100は、本明細書に記載される様々なコーディング又は符号化方法を実装することができるコーディングコンポーネント2104を含んでもよい。コーディングコンポーネント2104は、入力ユニット2102からの映像の平均ビットレートをコーディングコンポーネント2104の出力に低減し、映像のコーディング表現を生成してもよい。従って、このコーディング技術は、映像圧縮または映像コード変換技術と呼ばれることがある。コーディングコンポーネント2104の出力は、コンポーネント2106によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力ユニット2102において受信された、記憶された又は通信された映像のビットストリーム(又はコーディング)表現は、コンポーネント2108によって使用されて、表示インターフェースユニット2110に送信される画素値又は表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像伸張(映像展開)と呼ばれることがある。さらに、特定の映像処理操作を「符号化」操作又はツールと呼ぶが、符号化ツール又は操作は、エンコーダで使用され、符号化の結果を逆転させる対応する復号化ツール又は操作は、デコーダで実行されることが理解されよう。
周辺バスインターフェースまたは表示インターフェースの例は、ユニバーサルシリアルバス(USB)または高精細マルチメディアインターフェース(HDMI(登録商標))またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、シリアルアドバンスドテクノロジーアタッチメント(SATA)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、又はデジタルデータ処理及び/又は映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
図22は、本開示の技法を利用し得る例示的な映像コーディングシステム100を示すブロック図である。
図22に示すように、映像コーディングシステム100は、送信元デバイス110と、送信先デバイス120と、を備えてもよい。送信元デバイス110は、映像符号化デバイスとも称され得る符号化映像データを生成する。送信先デバイス120は、映像復号化デバイスと呼ばれ得る送信元デバイス110によって生成された符号化映像データを復号化し得る。
送信元デバイス110は、映像ソース112と、映像エンコーダ114と、入出力(I/O)インターフェース116と、を備えてもよい。
映像ソース112は、映像キャプチャデバイスなどのソース、映像コンテンツプロバイダからの映像データを受信するためのインターフェース、および/または映像データを生成するためのコンピュータグラフィックスシステム、またはこれらのソースの組み合わせを含んでもよい。映像データは、1つ以上のピクチャを含んでもよい。映像エンコーダ114は、映像ソース112からの映像データを符号化し、ビットストリームを生成する。ビットストリームは、映像データのコーディング表現を形成するビットシーケンスを含んでもよい。ビットストリームは、コーディングピクチャおよび関連付けられたデータを含んでもよい。コーディングピクチャは、ピクチャのコーディング表現である。関連付けられたデータは、シーケンスパラメータセット、ピクチャパラメータセット、および他の構文構造を含んでもよい。I/Oインターフェース116は、変復調器(モデム)および/または送信機を含んでもよい。符号化された映像データは、ネットワーク130aを介して、I/Oインターフェース116を介して直接送信先デバイス120に送信されることができる。符号化された映像データは、送信先デバイス120がアクセスするために、記憶媒体/サーバ130bに記憶してもよい。
送信先デバイス120は、I/Oインターフェース126、映像デコーダ124、および表示装置122を含んでもよい。
I/Oインターフェース126は、受信機および/またはモデムを含んでもよい。I/Oインターフェース126は、送信元デバイス110または記憶媒体/サーバ130bから符号化映像データを取得してもよい。映像デコーダ124は、符号化された映像データを復号化してもよい。表示装置122は、復号化した映像データをユーザに表示してもよい。表示デバイス122は、送信先デバイス120と一体化されてもよく、または外部表示デバイスとインターフェースで接続するように構成される送信先デバイス120の外部にあってもよい。
映像エンコーダ114および映像デコーダ124は、高効率映像コーディング(HEVC)規格、汎用映像コーディング(VVC)規格、および他の現在のおよび/または更なる規格等の映像圧縮規格に従って動作してもよい。
図23は、映像エンコーダ200の一例を示すブロック図であり、この映像エンコーダ200は、図22に示されるシステム100における映像エンコーダ114であってもよい。
映像エンコーダ200は、本開示の技術のいずれか又は全部を実行するように構成されてもよい。図23の実施例において、映像エンコーダ200は、複数の機能性モジュールを含む。本開示で説明される技法は、映像エンコーダ200の様々なモジュール間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
映像エンコーダ200の機能モジュールは、パーティションユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含んでもよい予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピーコーディングユニット214とを含んでもよい。
他の例において、映像エンコーダ200は、より多くの、より少ない、又は異なる機能コンポーネントを含んでもよい。一例において、予測ユニット202は、イントラブロックコピー(IBC)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが現在の映像ブロックが位置するピクチャであるIBCモードにおいて予測(predication)を行うことができる。
さらに、動き推定ユニット204および動き補償ユニット205などのいくつかのコンポーネントは、高度に統合されてもよいが、説明のために、図23の例においては別個に表現されている。
分割ユニット201は、1つのピクチャを1つ以上の映像ブロックに分割することができる。映像エンコーダ200及び映像デコーダ300は、様々な映像ブロックサイズをサポートしてもよい。
モード選択ユニット203は、例えば、エラー結果に基づいて、イントラ又はインターのいずれかのコーディングモードの1つを選択し、得られたイントラ又はインターコーディングブロックを、残差生成ユニット207に供給して残差ブロックデータを生成し、また再構成ユニット212に供給して参照ピクチャとして使用するために符号化ブロックを再構成してもよい。本発明の実施例において、モード選択ユニット203は、インター予測信号およびイントラ予測信号に基づいて予測を行うイントラおよびインター予測(CIIP)モードの組み合わせを選択してもよい。また、モード選択ユニット203は、インター予測の場合、ブロックのために動きベクトルの解像度(例えば、サブピクセル又は整数ピクセル精度)を選択してもよい。
現在の映像ブロックに対してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームと現在の映像ブロックとを比較することで、現在の映像ブロックのために動き情報を生成してもよい。動き補償ユニット205は、現在の映像ブロックに関連付けられたピクチャ以外のバッファ213からのピクチャの動き情報及び復号化サンプルに基づいて、現在の映像ブロックのために予測映像ブロックを判定してもよい。
動き推定ユニット204及び動き補償ユニット205は、例えば、現在の映像ブロックがIスライスであるか、Pスライスであるか、又はBスライスであるかに基づいて、現在の映像ブロックに対して異なる演算を実行してもよい。
いくつかの例において、動き推定ユニット204は、現在の映像ブロックに対して単方向予測を実行し、動き推定ユニット204は、現在の映像ブロックに対して、リスト0又はリスト1の参照ピクチャを検索して、参照映像ブロックを求めてもよい。そして、動き推定ユニット204は、参照映像ブロックと、現在の映像ブロックと参照映像ブロックとの間の空間的変位を示す動きベクトルとを含む、リスト0またはリスト1における参照ピクチャを示す参照インデックスを生成してもよい。動き推定ユニット204は、参照インデックス、予測方向インジケータ、および動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償ユニット205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在のブロックの予測映像ブロックを生成してもよい。
他の例において、動き推定ユニット204は、現在の映像ブロックを双方向予測してもよく、動き推定ユニット204は、リスト0における参照ピクチャの中から現在の映像ブロックために参照映像ブロックを検索してもよく、また、リスト1における参照ピクチャの中から現在の映像ブロックのために別の参照映像ブロックを検索してもよい。そして、動き推定ユニット204は、参照映像ブロックを含むリスト0およびリスト1における参照ピクチャを示す参照インデックスと、参照映像ブロックと現在の映像ブロックとの間の空間的変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在の映像ブロックの参照インデックスおよび動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償ユニット205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在の映像ブロックの予測映像ブロックを生成してもよい。
いくつかの例において、動き推定ユニット204は、デコーダの復号化処理のために、動き情報のフルセットを出力してもよい。
いくつかの例では、動き推定ユニット204は、現在の映像のために動き情報のフルセットを出力しなくてもよい。むしろ、動き推定ユニット204は、別の映像ブロックの動き情報を参照して、現在の映像ブロックの動き情報を信号通知してもよい。例えば、動き推定ユニット204は、現在の映像ブロックの動き情報が近傍の映像ブロックの動き情報に十分に類似していると判定してもよい。
一例において、動き推定ユニット204は、現在の映像ブロックに関連付けられた構文構造において、現在の映像ブロックが別の映像ブロックと同じ動き情報を有することを映像デコーダ300に示す値を示してもよい。
別の例において、動き推定ユニット204は、現在の映像ブロックに関連付けられた構文構造において、別の映像ブロックと、動きベクトル差(MVD)とを識別してもよい。動きベクトルの差分は、現在の映像ブロックの動きベクトルと、示された映像ブロックの動きベクトルとの差分を示す。映像デコーダ300は、指示された映像ブロックの動きベクトルと、動きベクトルの差分を用いて、現在の映像ブロックの動きベクトルを判定してもよい。
上述したように、映像エンコーダ200は、動きベクトルを予測的に信号通知してもよい。映像エンコーダ200によって実装され得る予測信号通知技法の2つの例は、高度動きベクトル予測(AMVP)およびマージモード信号通知を含む。
イントラ予測ユニット206は、現在の映像ブロックに対してイントラ予測を行ってもよい。イントラ予測ユニット206が現在の映像ブロックをイントラ予測する場合、イントラ予測ユニット206は、同じピクチャにおける他の映像ブロックの復号化されたサンプルに基づいて、現在の映像ブロックのための予測データを生成してもよい。現在の映像ブロックのための予測データは、予測された映像ブロック及び様々な構文要素を含んでもよい。
残差生成ユニット207は、現在の映像ブロックから現在の映像ブロックの予測された映像ブロックを減算することによって(例えば、マイナス符号によって示されている)、現在の映像ブロックのために残差データを生成してもよい。現在の映像ブロックの残差データは、現在の映像ブロックにおけるサンプルの異なるサンプル成分に対応する残差映像ブロックを含んでもよい。
他の例において、例えば、スキップモードにおいて、現在の映像ブロックのための残差データがなくてもよく、残差生成ユニット207は、減算演算を実行しなくてもよい。
変換処理ユニット208は、現在の映像ブロックに関連付けられた残差映像ブロックに1つ以上の変換を適用することによって、現在の映像ブロックのために1つ以上の変換係数映像ブロックを生成してもよい。
変換処理ユニット208が現在の映像ブロックに関連付けられた変換係数映像ブロックを生成した後、量子化ユニット209は、現在の映像ブロックに関連付けられた1つ以上の量子化パラメータ(QP)値に基づいて、現在の映像ブロックに関連付けられた変換係数映像ブロックを量子化してもよい。
逆量子化ユニット210および逆変換ユニット211は、変換係数映像ブロックに逆量子化および逆変換をそれぞれ適用し、変換係数映像ブロックから残差映像ブロックを再構成してもよい。再構成ユニット212は、予測ユニット202が生成した1つ以上の予測映像ブロックから対応するサンプルに再構成された残差映像ブロックを加え、現在のブロックに関連付けられた再構成映像ブロックを生成し、バッファ213に記憶することができる。
再構成ユニット212が映像ブロックを再構成した後、映像ブロックにおける映像ブロッキングアーチファクトを縮小するために、ループフィルタリング動作を行ってもよい。
エントロピー符号化ユニット214は、映像エンコーダ200の他の機能コンポーネントからデータを受信してもよい。エントロピー符号化ユニット214は、データを受信すると、1つ以上のエントロピー符号化演算を行い、エントロピー符号化データを生成し、エントロピー符号化データを含むビットストリームを出力してもよい。
図24は、映像デコーダ300の一例を示すブロック図であり、この映像デコーダ300は、図22に示すシステム100における映像デコーダ114であってもよい。
映像デコーダ300は、本開示の技術のいずれか又は全部を実行するように構成されてもよい。図24の実施例において、映像デコーダ300は、複数の機能コンポーネントを備える。本開示で説明される技法は、映像デコーダ300の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
図24の実施例において、映像デコーダ300は、エントロピー復号化ユニット301、動き補正ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305、及び再構成ユニット306、並びにバッファ307を備える。映像デコーダ300は、いくつかの例では、映像エンコーダ200(例えば、図23)に関して説明した符号化パスとほぼ逆の復号化パスを行ってもよい。
エントロピー復号化ユニット301は、符号化ビットストリームを取り出す。符号化ビットストリームは、エントロピー符号化された映像データ(例えば、映像データの符号化ブロック)を含んでもよい。エントロピー復号化ユニット301は、エントロピー符号化された映像データを復号化し、エントロピー復号された映像データから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、および他の動き情報を含む動き情報を決定してもよい。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することで、このような情報を判定してもよい。
動き補償ユニット302は、動き補償されたブロックを生成してもよく、場合によっては、補間フィルタに基づいて補間を実行する。構文要素には、サブピクセルの精度で使用される補間フィルタのための識別子が含まれてもよい。
動き補償ユニット302は、映像ブロックの符号化中に映像エンコーダ20によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数ピクセルのための補間値を計算してもよい。動き補償ユニット302は、受信した構文情報に基づいて、映像エンコーダ200が使用する補間フィルタを決定し、この補間フィルタを使用して予測ブロックを生成してもよい。
動き補償ユニット302は、構文情報の一部を用いて、符号化された映像シーケンスのフレーム(複数可)および/またはスライス(複数可)を符号化するために使用されるブロックのサイズ、符号化された映像シーケンスのピクチャの各マクロブロックがどのように分割されるかを記述する分割情報、各分割がどのように符号化されるかを示すモード、インター符号化ブロック間の各1つ以上の参照フレーム(および参照フレームリスト)、および符号化された映像シーケンスを復号化するための他の情報を決定してもよい。
イントラ予測ユニット303は、例えば、ビットストリームにおいて受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成してもよい。逆量子化ユニット303は、ビットストリームに提供され、エントロピー復号化ユニット301によって復号された量子化された映像ブロック係数を逆量子化(すなわち、逆量子化)する。逆変換ユニット303は、逆変換を適用する。
再構成ユニット306は、残差ブロックと、動き補償ユニット202又はイントラ予測ユニット303によって生成された対応する予測ブロックとを合計し、復号化されたブロックを形成してもよい。所望であれば、ブロックアーチファクトを除去するために、復号化されたブロックをフィルタリングするためにデブロッキングフィルタを適用してもよい。復号された映像ブロックはバッファ307に記憶され、バッファ307はその後の動き補償のための参照ブロックを提供する。
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを有効化するように決定または判定することを含む。一例において、映像処理ツールまたはモードが有効化される場合、エンコーダは、1つの映像ブロックを処理する際にこのツールまたはモードを使用または実装するが、このツールまたはモードの使用に基づいて、結果として得られるビットストリームを必ずしも修正しなくてもよい。すなわち、映像のブロックから映像のビットストリーム表現への変換は、決定または判定に基づいて映像処理ツールまたはモードが有効化される場合に、この映像処理ツールまたはモードを使用する。別の例において、映像処理ツールまたはモードが有効化される場合、デコーダは、ビットストリームが映像処理ツールまたはモードに基づいて修正されたことを知って、ビットストリームを処理する。すなわち、決定または判定に基づいて有効化された映像処理ツールまたはモードを使用して、映像のビットストリーム表現から映像のブロックへの変換を行う。
本明細書では、「映像処理」という用語は、映像符号化、映像復号化、映像圧縮、または映像展開を指すことができる。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例えば、1つのマクロブロックは、変換およびコーディングされた誤り残差値の観点から、且つビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して符号化されてもよい。
開示された方法及び技法は、本明細書に開示された技法を使用できるようにすることで、スマートフォン、ノートパソコン、卓上パソコン、及び類似した機器等の映像処理デバイスに組み込まれる映像エンコーダおよび/またはデコーダの実施形態に有益となることが理解される。
図20は、映像処理の方法2000の一例を示すフローチャートである。方法2000は、2010において、視覚メディアの映像ユニットと視覚メディアのコーディング表現との変換を実行することを含み、変換中、適応ループフィルタ(ALF)を使用する1つ以上の規則が、クロス成分適応ループフィルタ(CC-ALF)の使用に関連付けられた利用不可のサンプルをパディングするために適用される。
いくつかの実施形態を、以下の項目に基づくフォーマットを使用して説明することができる。以下の項目は、前章に記載された技術の例示的な実施形態を示す。
1. 視覚メディアの映像ユニットと視覚メディアのコーディング表現との変換を実行することを含み、変換中に、適応ループフィルタ(ALF)を使用する1つ以上の規則が、クロス成分適応ループフィルタ(CC-ALF)の使用に関連付けられた利用不可のサンプルをパディングするために適用される、映像処理方法。
2. 前記映像ユニットの色成分に適用されるALFフィルタは、前記映像ユニットの色成分によって提供される情報を使用して定義される、項目1に記載の方法。
3. 前記映像ユニットの第1の色成分に適用される前記CC-ALFフィルタは、前記映像ユニットの少なくとも第2の色成分によって提供される情報を使用して定義される、項目1~2のいずれか1つ以上に記載の方法。
4. 前記映像ユニットは、スライス、タイル、ブリック、サブピクチャ、ピクチャまたは360度の仮想境界で囲まれた360度の仮想ピクチャに対応する、項目1~3のいずれか1つ以上に記載の方法。
5. CC-ALFの使用に関連付けられた1つ以上のALF仮想境界において、利用不可のサンプルに対してミラーリングパディングの規則を適用する、項目1~4のいずれか1つ以上に記載の方法。
6. CC-ALFの使用に関連付けられた、スライス、タイル、ブリック、ピクチャ、サブピクチャ、または360度仮想境界のうちの1つにおける、利用不可のサンプルに対して繰り返しパディングのための規則を適用する、項目1~5のいずれか1つ以上に記載の方法。
7. CC-ALFの使用に関連付けられた1つ以上のALF仮想境界を除き、1つ以上の境界に繰り返しパディングのための規則が適用される、項目1~6のいずれか1つ以上に記載の方法。
8. 前記1つ以上の境界は、すべての境界、水平方向の境界、または垂直方向の境界のうちの1つを含む、項目7に記載の方法。
9. CC-ALFの使用に関連付けられた1つ以上のALF仮想境界を除き、1つ以上の境界にミラーリングパディングのための規則を適用する、項目1~6のいずれか1つ以上の方法。
10. 前記1つ以上の境界は、すべての境界、水平境界、または垂直境界のうちの1つを含む、項目9に記載の方法。
11. 映像ユニットは、ALF処理ユニット、コーディングツリーユニット(CTU)、または基本ALF処理ユニットに対応する、項目1~10のいずれか1つ以上に記載の方法。
12. ALF処理ユニットは、2つの水平境界および2つの垂直境界によって境界付けられるユニットを定義する、項目11に記載の方法。
13. 2つの水平境界は、2つのALF仮想境界、または1つのALF仮想境界のうちの1つと、ピクチャ/スライス/タイル/ブリック/サブピクチャまたは360度仮想境界の1つの境界とを含む、項目11に記載の方法。
14. 基本ALF処理ユニットは、ALF処理ユニット、CTU、または狭ALF処理ユニットを再帰的に分割することに基づいて生成され、基本ALF処理ユニットの境界線に、ブリック/スライス/タイル/サブピクチャ境界線、および/または360度仮想境界線、および/または境界線をまたぐフィルタリングが許可されないALF仮想境界線で交差しない、項目11に記載の方法。
15. 繰り返しパディングの規則は、映像ユニットの隣接サンプルが異なる隣接するスライス内にあるかどうかに基づく、項目1~14のいずれか1つに記載の方法。
16. 映像ユニットの現在のスライスはラスタスキャンスライスであり、隣接するスライスもラスタスキャンスライスである、項目15に記載の方法。
17. 現在の映像ユニットがALF処理ユニットであり、ALF処理ユニットにおけるその最も近いサンプルを使用して、利用不可の隣接サンプルをパディングする、項目15~16のいずれか1つ以上に記載の方法。
18. 映像処理方法であって、視覚メディアの映像ユニットと視覚メディアの符号化表現との変換を行い、変換中に、映像ユニットの利用不可のサンプルをパディングする1つ以上の規則が、ALF処理またはCC-ALF処理の使用に関連付けられた予め定義されたパディング順序を規定する。
19. 予め定義されたパディング順序は、映像ユニットの少なくとも1つの最上行を使用して利用不可のサンプルをパディングすることを含む、項目18に記載の方法。
20. 予め定義されたパディング順序は、映像ユニットの少なくとも1つの最下行を使用して利用不可のサンプルをパディングすることを含む、項目18に記載の方法。
21. 予め定義されたパディング順序は、映像ユニットの少なくとも1つの左列を使用して利用不可のサンプルをパディングすることを含む、項目18に記載の方法。
22. 予め定義されたパディング順序は、映像ユニットの少なくとも1つの右列を使用して利用不可のサンプルをパディングすることを含む、項目18に記載の方法。
23. 映像処理方法であって、視覚メディアの映像ユニットと視覚メディアの符号化表現との変換を行い、変換中に、映像ユニットの1つ以上の隣接サンプルが利用可能かどうかを決定する1つ以上の規則は、1つ以上の隣接サンプルと映像ユニットに関連付けられたパラメータとの関係を含む。
24. 映像ユニットに関連付けられたパラメータ(ctuDownと表される)は、ctuDown=CtbSize-M(但し、Mは整数)として算出される、項目23に記載の方法。
25. 隣接サンプルがctuDownとは異なる値を有する第2の映像ユニットに含まれている場合、1つ以上の規則は、第2の映像ユニットをまたぐフィルタリングが許可されていないことを規定する、項目24に記載の方法。
26. 1つ以上の規則は、1つ以上の隣接サンプルと映像ユニットの行数に基づくctuUpパラメータとの関係をさらに含む、項目23に記載の方法。
27. 利用不可のサンプルが隣接サンプルである、項目18~26のいずれか1つ以上に記載の方法。
28. 利用不可のサンプルがラスタスキャンスライスに含まれている、項目18~26のいずれか1つ以上に記載の方法。
29. 映像ユニットに対して左上CTUに空間的に位置する利用不可の隣接サンプルが、映像ユニットに対して上側CTUに空間的に位置するその最も近い隣接サンプルでパディングする、項目28に記載の方法。
30. 映像ユニットに対して右下CTUに空間的に位置する利用不可の隣接サンプルを、映像ユニットに対して下側CTUに空間的に位置するその最も近い隣接サンプルでパディングする、項目28に記載の方法。
31. 映像処理方法であって、映像メディアの映像ユニットと映像メディアのコーディング表現との変換を行い、変換中に、ALFおよび/またはCC-ALFを適用する1つ以上の規則は、映像ユニットの境界に位置するサンプルに対するALFおよび/またはCC-ALFの適用を、境界をまたぐフィルタリングが許可されていない場合、無効とすることを規定する。
32. ALFおよび/またはCC-ALFに関連付けられた少なくともN個の隣接サンプルが利用不可と決定されると、ALFおよび/またはCC-ALFの適用が無効にされる、項目31に記載の方法。
33. 映像ユニットの境界は水平境界であり、サンプルと映像ユニットの水平境界との垂直距離がM個のサンプル以下であると決定されると、ALFおよび/またはCC-ALFの適用が無効にされる、項目31に記載の方法。
34. 映像ユニットの境界は垂直境界であり、サンプルと映像ユニットの垂直境界との水平距離がM個のサンプル以下であると決定されると、ALFおよび/またはCC-ALFを適用することが無効にされる、項目31に記載の方法。
35. 映像処理方法であって、視覚メディアの第1の映像ユニットと視覚メディアのコーディング表現との変換を行い、変換中、ALFおよび/またはCC-ALFを適用する1つ以上の規則は、第1の映像ユニットとは異なる第2の映像ユニットのために、ALFおよび/またはCC-ALFを選択的にオンまたはオフにすることを規定する。
36. 第2の映像ユニットのためにALFおよび/またはCC-ALFがオンまたはオフにされるかどうかは、第2の映像ユニットのコーディング表現において明確に示される、項目35に記載の方法。
37. 第2の映像ユニットのためにALFおよび/またはCC-ALFがオンまたはオフにされるかどうかは、第2の映像ユニットのコーディング表現から導出される、項目35に記載の方法。
38. 第1の映像ユニットに関連付けられたフラグが、ALFおよび/またはCC-ALFを有効にすることを示し、変換中、1つ以上の条件に基づいて、第1の映像ユニットに位置するサンプルに対してALFおよび/またはCC-ALFを適用することを選択的に無効にする、項目35~37のいずれか1つ以上に記載の方法。
39. 1つ以上の条件は、第1の映像ユニットに対するサンプルの空間位置を含む、項目38に記載の方法。
40. 1つ以上の条件が、CC-ALFにおいて使用される輝度サンプル値を含む、項目38に記載の方法。
41. 1つ以上の条件が、サンプルとその隣接サンプルとのサンプル値の差を含む、項目38に記載の方法。
42. 1つ以上の条件が、クロマサンプルに対応するフィルタリングされた輝度サンプルを使用して導出オフセットの値と閾値との関係を含む、項目38に記載の方法。
43. 映像処理方法であって、視覚メディアの第1の映像ユニットと視覚メディアのコーディング表現との変換を行い、変換中、ALFおよび/またはCC-ALFを選択的に適用する1つ以上の規則は、3つのクリッピング演算のうちの少なくとも1つを省略することを規定し、第1のクリッピング演算はクロマALFフィルタリングに対応し、第2のクリッピング演算はCC-ALFオフセット導出に対応し、第3のクリッピング演算は最終的なクロマサンプル値を導出するためのクロマフィルタサンプルの微調整に対応する。
44. ALFおよび/またはCC-ALFを適用する1つ以上の規則は、CC-ALFを適用することが有効である場合、第1のクリッピング動作を省略することを規定する、項目43に記載の方法。
45. ALFおよび/またはCC-ALFを適用する1つ以上の規則は、CC-ALFを適用することが無効である場合、第2のクリッピング演算を省略することを規定する、項目43に記載の方法。
46. ALFおよび/またはCC-ALFを適用する1つ以上の規則は、第1のクリッピング演算および第2のクリッピング演算を省略することを規定する、項目43に記載の方法。
47. 第2のクリッピング演算中、導出CC-ALFオフセットは、[-(1<(BitDepthC-1)),(1<(BitDepthC-1))-1]として表される第2の範囲とは異なる第1の範囲にあり、第2の範囲の端点が第2の範囲に含まれ、BitDepthCがビット深度値である、項目43に記載の方法。
48. 第1の範囲は、ビット深度値への依存性を欠く、項目47に記載の方法。
49. 第2の映像ユニットに関連付けられた第3の範囲が、第1の映像ユニットに関連付けられた第1の範囲とは異なるように定義される、項目47に記載の方法。
50. 第1の範囲は、クロマALFフィルタリングに対応する第1のクリッピング演算に使用される非線形クリッピング範囲から導出される、項目47に記載の方法。
51. 第2のクリッピング演算の間、固定値の代わりにビット深度値を使用して、導出CC-ALFオフセットを丸める、項目47に記載の方法。
52. 第2のクリッピング演算中に、導出CC-ALFオフセットは、以下の式を用いて丸められる、項目47に記載の方法。
sum=alfPicture[xCtbC+x][yCtbC+y]+(sum+Off)>>(7+(BitDepthY-BitDepthC))ccAlfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepthC)-1,sum)において、Offは、(1<(6+(BitDepthY-BitDepthC))に等しく設定され、alfPicture[xCtbC+x][yCtbC+y]は、第1のクリッピング演算を適用した後のクロマサンプルを表し、sumは、第2のクリッピング演算を適用した後のCC-ALFフィルタサポートの輝度サンプルにCC-ALFフィルタ係数を掛けた合計を表し、ccAlfPictureは第3のクリッピング演算を適用した後の最終的に微調整されたクロマサンプルを表す。
53. 映像処理方法であって、視覚メディアの映像ユニットと視覚メディアの符号化表現との変換を行い、変換中、映像ユニットに対してクロマALF処理および/またはCC-ALF処理を共同して最適化する。
54. 変換は、予め定義された範囲内にあるクロマサンプルをもたらすクロマALF処理および/またはCC-ALF処理によって生成されたクロマサンプルをクリッピングするためのクリッピング演算を含む、項目53に記載の方法。
55. 予め定義された範囲は、クロマビット深度値に少なくとも部分的に基づいている、項目54に記載の方法。
56. 共同最適化は、CC-ALF処理がクロマALF処理の後に適用される場合、CC-ALF処理中にのみクリッピング演算を適用することを含む、項目54に記載の方法。
57. 共同最適化は、クロマALF処理の前にCC-ALF処理が適用される場合、クロマALF処理中にのみクリッピング演算を適用することを含む、項目54に記載の方法。
58. 映像処理方法であって、視覚メディアの映像ユニットと視覚メディアのコーディング表現との変換を行い、変換中に、映像ユニットの第2の色成分の情報を用いて、映像ユニットの第1の色成分のサンプル値を修正し、映像ユニットの第2の色成分の情報は、適応ループフィルタリング処理に用いられる1つ以上のパラメータに基づく。
59. 適応ループフィルタリング処理で使用される1つ以上のパラメータは、クリッピングパラメータであり、第1のサンプル値に使用されるクリッピングパラメータは、第2のサンプル値に使用されるクリッピングパラメータとは異なり、第1のサンプル値および第2のサンプル値は映像ユニット中に含まれる、項目58に記載の方法。
60. クリッピングパラメータは、最小クリッピング値および最大クリッピング値を有する範囲内にあるように定義される、項目59に記載の方法。
61. 最小クリッピング値および/または最大クリッピング値は、コーディング表現において明確に信号通知される、項目60に記載の方法。
62. 最小クリッピング値および/または最大クリッピング値は、サンプル値に部分的に基づいている、項目60に記載の方法。
63. 最小クリッピング値および/または最大クリッピング値は、映像ユニットに対するサンプル値の空間位置に部分的に基づいている、項目60に記載の方法。
64. 最小クリッピング値および/または最大クリッピング値は、予め定義された値である、項目60に記載の方法。
65. 最小クリッピング値および/または最大クリッピング値は、他のパラメータから導出される、項目60に記載の方法。
66. 映像処理方法であって、視覚メディアの第1の映像ユニットと視覚メディアの符号化表現との変換を行い、変換中に、第1の映像ユニットの第1のサンプルに対するCC-ALF処理の適用は、視覚メディアの第2の映像ユニットの第2のサンプルに基づいて選択的に行われ、選択的に基づくことは、映像ユニットをまたぐループフィルタが有効であるか無効であるかの決定を含む。
67. 第1の映像ユニットの第1のサンプルに対するCC-ALF処理の適用は、第1の映像ユニットおよび/または第2の映像ユニットに対して映像ユニットをまたぐループフィルタが無効であるという決定に基づいてスキップされる、項目66に記載の方法。
68. 第1の映像ユニットの第1のサンプルに対するCC-ALF処理の適用は、映像ユニットをまたぐループフィルタは第1の映像ユニットに対して無効であるとの決定に基づいてスキップされる、項目66に記載の方法。
69. 第1の映像ユニットの第1のサンプルに対するCC-ALF処理の適用は、複数の映像ユニットをまたぐループフィルタは第2の映像ユニットに対して無効であるとの決定に基づいてスキップされる、項目66に記載の方法。
70. 第1の映像ユニットおよび/または第2の映像ユニットに関連付けられたフラグを読み取ることに基づいて、映像ユニットをまたぐループフィルタが有効であるかまたは無効であるかを決定する、項目66~69のいずれか1つ以上に記載の方法。
71. CC-ALF処理および/または前記ALF処理が、i.映像ユニットのコンテンツ、ii.DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/最大コーディングユニット(LCU)/コーディングユニット(CU)/LCU行/LCU群/TU/PUブロック/映像コーディングユニットで信号通知されたメッセージ、iii.CU/PU/TU/ブロック/映像コーディングユニットの位置、iv.映像ユニットの形状または寸法および/または隣接する映像ユニットの形状または寸法、vii.カラーフォーマットの表示、viii.コーディングツリー構造、ix.スライス/タイルグループタイプおよび/またはピクチャタイプ、x.映像ユニットの色成分、xi.時間層IDまたはxii.規格のプロファイル/レベル/ティア、の少なくとも1つに関連付けられる、項目1~70のいずれか1つ以上に記載の方法。
72. 項目1~71の1つ以上に記載の方法を実装するように構成されたプロセッサを備える、映像復号化装置。
73. 項目1~71の1つ以上に記載の方法を実装するように構成されたプロセッサを備える映像符号化装置。
74. コンピュータコードが記憶されたコンピュータプログラム製品において、前記のコードがプロセッサにより実行されると、前記プロセッサは、項目1~71のいずれかに記載の方法を実装する。
75. 本明細書に記載の方法、装置またはシステム。
第2の節は、前節で論じた技法の例示的な実施例を示す。
1. 1つ以上の映像ブロックからなる映像の現在の映像ユニットと映像のビットストリーム表現との変換のために、規則に従って、現在の映像ユニットの少なくともいくつかの映像ブロックに対してクロス成分適応ループフィルタリング(CC-ALF)を適用する間に、利用不可のサンプルをパディングするために用いられるパディング処理を決定すること(2512)、およびその決定に基づき変換を行うこと(2514)を含み、規則は、パディング処理が、現在の映像ユニットの1つ以上の映像ブロックに適応ループフィルタリング(ALF)を適用する間に利用不可のサンプルをパディングするためにも使用されることを規定する、映像処理方法(例えば、図25Aに示す方法2510)。
2. ALFツールは、現在の映像ユニットの色成分に適用され、ALFツールは、現在の映像ユニットの色成分によって提供される情報を使用して、色成分のサンプル値を補正することを含む、項目1に記載の方法。
3. CC-ALFツールは、現在の映像ユニットの第1の色成分に適用され、現在の映像ユニットの第2の成分のサンプル値を使用して、現在の映像ユニットの第1の成分のサンプル値を補正することを含む、項目1~2のいずれか1つ以上に記載の方法。
4. 現在の映像ユニットは、360度の仮想境界で囲まれたスライス、タイル、ブリック、サブピクチャ、ピクチャまたは360度の仮想ピクチャに対応する、項目1~3のいずれか1つ以上に記載の方法。
5. パディング処理は、CC-ALFツールの使用に関連付けられた1つ以上のALF仮想境界において、利用不可のサンプルに適用されるミラーリングパディングに対応する、項目1~4のいずれか1つに記載の方法。
6. パディング処理は、CC-ALFの使用に関連付けられた、スライス、タイル、ブリック、ピクチャ、サブピクチャ、または360度仮想境界のうちの1つにおいて利用不可のサンプルに適用される繰り返しパディングに対応する、項目1~4のいずれか1つ以上に記載の方法。
7. パディング処理は、CC-ALFの使用に関連付けられた1つ以上のALF仮想境界を除き、1つ以上の境界に適用される繰り返しパディングに対応する、項目1~4のいずれか1つ以上に記載の方法。
8. 前記1つ以上の境界は、すべての境界、水平方向の境界、または垂直方向の境界のうちの1つを含む、項目7に記載の方法。
9. パディング処理は、CC-ALFの使用に関連付けられた1つ以上のALF仮想境界を除き、1つ以上の境界にミラーリングパディングを適用することに対応する、項目1~4のいずれか1つ以上に記載の方法。
10. 前記1つ以上の境界は、すべての境界、水平境界、または垂直境界のうちの1つを含む、項目9に記載の方法。
11. 現在の映像ユニットは、ALF処理ユニット、コーディングツリーユニット(CTU)、または基本ALF処理ユニットに対応する、項目1~10のいずれか1つ以上に記載の方法。
12. ALF処理ユニットは、2つの水平境界および2つの垂直境界によって境界付けられるユニットを定義する、項目11に記載の方法。
13. 2つの水平境界は、2つのALF仮想境界、または1つのALF仮想境界うちの1つと、ピクチャ/スライス/タイル/ブリック/サブピクチャまたは360度仮想境界の1つの境界とを含む、項目11に記載の方法。
14. 基本ALF処理ユニットは、ALF処理ユニット、CTU、または狭ALF処理ユニットを再帰的に分割することに基づいて生成され、基本ALF処理ユニットの境界線に、ブリック/スライス/タイル/サブピクチャ境界線、および/または360度仮想境界線、および/または境界線をまたぐフィルタリングが許可されないALF仮想境界線で交差しない、項目11に記載の方法。
15. パディング処理は、現在の映像ユニットの隣接サンプルが異なる隣接スライス内にあるかどうかに基づく繰り返しパディングに対応する、項目1~4のいずれか1つ以上に記載の方法。
16. 現在の映像ユニットの現在のスライスがラスタスキャンスライスであり、現在のスライスの隣接するスライスもラスタスキャンスライスである、項目15に記載の方法。
17. 現在の映像ユニットがALF処理ユニットであり、ALF処理ユニットにおけるその最も近いサンプルを使用して利用不可のサンプルをパディングする、項目15~16のいずれか1つ以上に記載の方法。
18. 映像の映像ユニットと映像のビットストリーム表現との変換を行うこと(2522)を含み、変換中、適応ループフィルタリング(ALF)処理またはクロス成分適応ループフィルタリング(CC-ALF)処理の適用において、規則に従って、映像ユニットの利用不可のサンプルを予め定義されたパディング順序でパディングする、映像処理方法(例えば、図25Bに示す方法2520)。
19. 映像ユニットは処理ユニットに対応し、規則は、映像ユニットの利用不可のサンプルをパディングするための予め定義されたパディング順序を規定する、項目18に記載の方法。
20. 予め定義されたパディング順序は、映像ユニットの少なくとも1つの行または少なくとも1つの列を使用して、利用不可のサンプルをパディングすることを含み、少なくとも1つの行または少なくとも1つの列の位置が、利用不可サンプルの位置に基づいて決定される、項目18に記載の方法。
21. 予め定義されたパディング順序は、映像ユニットの少なくとも1つのサンプルを使用して利用不可のサンプルをパディングすることを含み、少なくとも1つのサンプルの位置が、利用不可のサンプルの位置に基づいて決定される、項目18に記載の方法。
22. 映像ユニットの少なくとも1つの隣接サンプルの可用性は、1つ以上の隣接サンプルと映像領域に関連付けられたパラメータ(ctuDownまたはctuUp)との関係に基づいて決定され、映像領域は、1つのコーディングツリーユニット(CTU)のN個の行に対応するctuUPと、CTUの「CtbSize-M」行に対応するctuDownとを含む処理ユニットに対応し、このときMは整数である、項目18に記載の方法。
23. 隣接サンプルがctuDownと異なる第2の映像ユニットにある場合、この規則は、第2の映像ユニットをまたぐフィルタリングを許可しないことを規定する、項目22に記載の方法。
24. 映像ユニットは、ラスタ走査スライスに含まれる現在のコーディングツリーユニットに対応し、規則は、映像ユニットの利用不可のサンプルをパディングするための予め定義されたパディング順序を規定する、項目18に記載の方法。
25. 予め定義されたパディング順序は、ラスタスキャンスライス内の上側CTUに位置するその最も近い隣接サンプルを使用してラスタスキャンスライスとは異なるスライス内の左上CTUに位置する利用不可のサンプルをパディングすることを含む、項目18に記載の方法。
26. 予め定義されたパディング順序は、ラスタスキャンスライス内の左側CTUに位置するその最も近い隣接サンプルを使用してラスタスキャンスライスとは異なるスライス内の左上CTUに位置する利用不可のサンプルをパディングすることを含む、項目18に記載の方法。
27. 予め定義されたパディング順序は、ラスタスキャンスライスとは異なるスライス内の右下CTUに位置する利用不可のサンプルを、ラスタスキャンスライス内の下側CTUに位置するその最も近い隣接サンプルを使用してパディングすることを含む、項目18に記載の方法。
28. 予め定義されたパディング順序は、ラスタスキャンスライスとは異なるスライス内の右下CTUに位置する利用不可のサンプルを、ラスタスキャンスライス内の右側CTUに位置するその最も近い隣接サンプルを使用してパディングすることを含む、項目18に記載の方法。
29. 適応ループフィルタ(ALF)の適用が有効にされた映像の映像領域について、その映像領域が映像ユニット境界と交差しているかを決定すること(2532)と、映像とその映像のビットストリーム表現との変換を行うこと(2534)を含み、変換のために、映像領域が映像ユニットの境界と交差していることに起因し、映像領域は規則に従って複数の区分に分割される、映像処理方法(例えば、図25Cに示す方法2530)。
30. 境界をまたぐフィルタリング処理は許可されていない、項目29に記載の方法。
31. 映像領域は、ALF処理ユニット、狭ALF処理ユニット、またはコーディングツリーユニットに対応する、項目29に記載の方法。
32. 映像ユニットは、ブリック、スライス、タイル、サブピクチャ、または360度仮想ピクチャに対応する、項目29に記載の方法。
33. 規則は、映像領域が映像ユニットの境界をまたがなくなるまで、映像領域を再帰的に分割することをさらに規定する、項目29に記載の方法。
34. フィルタリング処理は、ALF処理またはCC-ALF処理に対応し、規則はさらに、映像領域の分割処理の完了後にフィルタリング処理を行うことを規定する、項目29又は30に記載の方法。
35. 少なくとも1つのサンプルをパディングするために使用されるパディング処理は、映像領域が映像ユニットの境界をまたがなくなるまで、映像領域を分割した後に取得される基本ALF処理ユニットに対して行われる、項目29に記載の方法。
36. 規則は、所定の順序で異なる水平境界をチェックし、映像領域が映像ユニットの境界をまたがなくなるまで映像領域を分割した後に得られる基本ALF処理ユニットを生成することを規定する、項目29に記載の方法。
37. 予め定義された順序は、ALF仮想境界、360度仮想境界、および映像ユニットの境界であるコーディングツリーユニット(CTU)境界である、項目36に記載の方法。
38. 予め定義された順序は、360度仮想境界、ALF仮想境界、および映像ユニットの境界であるコーディングツリーユニット(CTU)境界である、項目36に記載の方法。
39. 規則は、映像ユニットの最上境界および最下境界に対して、予め定義された異なる順序を規定する、項目36に記載の方法。
40. 項目29に記載の方法において、規則は、所定の順序で異なる垂直境界をチェックし、映像領域が映像ユニットの境界をまたがなくなるまで映像領域を分割した後に得られる基本ALF処理ユニットを生成することを規定する。
41. 予め定義された順序は、360度仮想境界および映像ユニットの境界であるコーディングツリーユニット(CTU)境界である、項目40に記載の方法。
42. 予め定義された順序は、映像ユニットのコーディングツリーユニット(CTU)境界および360度仮想境界である、項目40に記載の方法。
43. 規則は、映像ユニットの左境界および右境界に対して予め定義された異なる順序を規定する、項目40に記載の方法。
44. 規則に従って、映像の映像ユニットと映像のビットストリーム表現との変換を行うことを含み、規則は、映像ユニットの境界に位置するサンプルに対する適応ループフィルタリング(ALF)および/またはクロス成分適応ループフィルタリング(CC-ALF)の適用は、境界をまたぐフィルタリング処理が許可されていない場合、許可されないことを規定する、映像処理方法。
45. ALFおよび/またはCC-ALFに関連付けられた少なくともN個の隣接サンプルが利用不可と決定されると、ALFおよび/またはCC-ALFの適用が無効にされ、このときNは整数である、項目44に記載の方法。
46. 映像ユニットの境界は水平境界であり、サンプルと映像ユニットの水平境界との垂直距離がM個のサンプル以下であると決定されると、ALFおよび/またはCC-ALFを適用することが無効にされ、このときMは整数である、項目44に記載の方法。
47. 映像ユニットの境界は垂直境界であり、サンプルと映像ユニットの垂直境界との水平距離がM個のサンプル以下であると決定されると、ALFおよび/またはCC-ALFを適用することが無効にされ、このときMは整数である、項目44に記載の方法。
48. 映像の映像ユニットと映像のビットストリーム表現との変換を行うことを含み、ビットストリーム表現はフォーマット規則に準拠し、映像領域はコーディングツリーブロックとは異なり、フォーマット規則は適応ループフィルタリング(ALF)ツールおよび/またはクロス成分適応ループフィルタリング(CC-ALF)ツールの映像領域に対する適用可能性を示すビットストリーム表現に構文要素が含まれるかどうかを規定する、映像処理方法。
49. 映像領域は、ALF処理ユニットに対応する、項目48に記載の方法。
50. ALFツールおよび/またはCC-ALFツールの適用可能性が、ビットストリーム表現において明確に示される、項目48に記載の方法。
51. ALFツールおよび/またはCC-ALFツールの適用可能性が導出される、項目48に記載の方法。
52. 映像の映像ユニットと映像のビットストリーム表現との変換のために、規則に従って、クロス成分適応ループフィルタリング(CC-ALF)ツールを映像ユニットのサンプルに適用可能であることを決定することと(2542)、決定に基づいて変換を行うこと(2544)を含み、ビットストリーム表現は、CC-ALFが映像ユニットに利用可能である指示を含み、規則は指示をオーバライドする1つ以上の状態を規定する、映像処理方法(例えば、図25Dに示す方法2540)。
53. 1つ以上の条件が、映像ユニットに対するサンプルの空間位置を含む、項目52に記載の方法。
54. 1つ以上の条件が、CC-ALFにおいて使用される輝度サンプル値を含む、項目52に記載の方法。
55. 1つ以上の条件が、サンプルとその隣接サンプルとのサンプル値の差を含む、項目52に記載の方法。
56. 1つ以上の条件が、クロマサンプルに対応するフィルタリングされた輝度サンプルを使用して導出されたオフセットの値と閾値との関係を含む、項目52に記載の方法。
57. 1つ以上の条件が、クロマサンプルを含むブロックおよび/またはブロックの隣接ブロックのコード化情報を含む、項目52に記載の方法。
58. 規則に従って、映像の映像ユニットと映像のビットストリーム表現との変換を行うことを含み、規則は、変換の際に使用される演算が、クロマ適応ループフィルタリング(ALF)に対応する第1のクリッピング演算、クロス成分適応ループフィルタリング(CC-ALF)オフセット導出に対応する第2のクリッピング演算、および最終的なクロマサンプル値を導出するためのクロマフィルタリングされたサンプルの微調整に対応する第3のクリッピング演算を含む3つのクリッピング演算のうちの少なくとも1つを省略することを規定する、映像処理方法。
59. 規則は、CC-ALFを適用することが有効である場合、第1のクリッピング演算を省略することを規定する、項目58に記載の方法。
60. 規則は、CC-ALFを適用することが無効である場合、第2のクリッピング演算を省略することを規定する、項目58に記載の方法。
61. 規則は、第1のクリッピング演算および第2のクリッピング演算を省略することを規定する、項目58に記載の方法。
62. 映像の第1の映像ユニットと映像のビットストリーム表現との変換のために、規則に従って、クロス成分適応ループフィルタリング(CC-ALF)オフセットを決定すること(2552)と、この決定に基づいて変換を行うこと(2554)とを含み、この規則は、CC-ALFオフセットを、[-(1<<(BitDepthC-1)),(1<<(BitDepthC-1))-1]と表される第2の範囲と異なる第1の範囲にクリッピングすることを規定し、BitDepthCはビット深度値である、映像処理方法(例えば、図25Eに示す方法2550)。
63. 第1の範囲は、ビット深度値への依存性を欠く、項目62に記載の方法。
64. 第2の映像ユニットに関連付けられた第3の範囲が、第1の映像ユニットに関連付けられた第1の範囲とは異なるように定義される、項目62に記載の方法。
65. 第1の範囲は、クロマALFフィルタリングに対応する別のクリッピング演算に使用される非線形クリッピング範囲から導出される、項目62に記載の方法。
66. 映像の第1の映像ユニットと映像のビットストリーム表現との変換のために、規則に従って、1つのクロス成分適応ループフィルタリング(CC-ALF)オフセットを導出すること(2562)と、CC-ALFオフセットを使用してこの変換を行うこと(2564)とを含み、規則は、CC-ALFオフセットを固定値の代わりにビット深度値に基づいて丸めオフセットを用いて丸めることを規定する、映像処理の方法(例えば、図25Fに示す方法2560)。
67. 丸めオフセットは、第1の色成分と第2の色成分とのビット深度差に依存する、項目66に記載の方法。
68. CC-ALFオフセットは、次の式を用いて丸められる:
sum=alfPicture[xCtbC+x][yCtbC+y]+(sum+Off)>>(7+(BitDepthY-BitDepthC))およびccAlfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepthC)-1,sum)であり、ここでOffは、(1<(6+(BitDepthY-BitDepthC))に等しく設定され、alfPicture[xCtbC+x][yCtbC+y]は、第1のクリッピング演算を適用した後のクロマサンプルを表し、sumは、第2のクリッピング演算を適用した後のCC-ALFフィルタサポートの輝度サンプルにCC-ALFフィルタ係数を掛けた合計を表し、ccAlfPictureは第3のクリッピング演算を適用した後の最終的に微調整されたクロマサンプルを表し、BitDepthCとBitDepthYはそれぞれ輝度成分とクロマ成分のビット深度を表す、項目66に記載の方法。
69. 規則に従って、映像の映像ユニットと映像のビットストリーム表現との変換を行うことを含み、規則は、映像ユニットのサンプルに適用されるクロマ適応ループフィルタリング(ALF)処理および/またはクロス成分適応ループフィルタリング(CC-ALF)処理中に使用される1つ以上の処理ステップが同じであることを規定する、映像処理方法。
70. 変換は、予め定義された範囲内にあるクロマサンプルをもたらすクロマALF処理および/またはCC-ALF処理によって生成されたクロマサンプルをクリッピングするためのクリッピング演算を含む、項目69に記載の方法。
71. 予め定義された範囲は、クロマビット深度値に少なくとも部分的に基づいている、項目70に記載の方法。
72. CC-ALF処理がクロマALF処理の後に適用される場合、クリッピング演算はCC-ALF処理中にのみ適用される、項目70に記載の方法。
73. CC-ALF処理がクロマALF処理の前に適用される場合、クリッピング演算はクロマALF処理中にのみ適用される、項目70に記載の方法。
74. 規則に従って、映像の映像ユニットと映像のビットストリーム表現との変換を行うことを含み、規則は、変換中に、映像ユニットの第2の色成分の情報を使用して修正を適用することによって、映像ユニットの第1の色成分のサンプルの値を修正することを規定し、修正は、映像ユニットのための適応ループフィルタリング(ALF)処理で使用される1つ以上のパラメータに基づく、映像処理方法。
75. 適応ループフィルタリング処理で使用される1つ以上のパラメータは、クリッピングパラメータであり、第1のサンプル値に使用されるクリッピングパラメータは、第2のサンプル値に使用されるクリッピングパラメータとは異なり、第1のサンプル値および第2のサンプル値は映像ユニット中に含まれている、項目74に記載の方法。
76. クリッピングパラメータは、最小クリッピング値および最大クリッピング値を有する範囲内にあるように定義される、項目75に記載の方法。
77. 最小クリッピング値および/または最大クリッピング値は、ビットストリーム表現において明確に信号通知される、項目76に記載の方法。
78. 最小クリッピング値および/または最大クリッピング値は、サンプルの値に部分的に基づいている、項目76に記載の方法。
79. 最小クリッピング値および/または最大クリッピング値は、映像ユニットに対するサンプルの値の空間的位置に部分的に基づいている、項目76に記載の方法。
80. 最小クリッピング値および/または最大クリッピング値は、信号通知されるかまたは予め定義される、項目76に記載の方法。
81. 最小クリッピング値および/または最大クリッピング値は、他のパラメータから導出される、項目76に記載の方法。
82. 映像の第1のサブピクチャと映像のビットストリーム表現との変換のために、規則に従って、クロス成分ループフィルタリング(CC-ALF)が第1のサブピクチャのサンプルに適用可能であるかどうかを決定すること(2572)と、この決定に基づいた変換を行うこと(2574)を含み、サンプルのためのCC-ALFは第2のサブピクチャからのサンプルを使用し、規則は第1のサブピクチャおよび/または第2のサブピクチャに対して、サブピクチャの境界をまたぐループフィルタリングが許可されているかどうかに基づく、映像処理方法(例えば、図25Gに示す方法2570)。
83. サブピクチャ境界をまたぐループフィルタリングが第1のサブピクチャに対して許可されない場合、サンプルに対してCC-ALFをスキップする、項目82に記載の方法。
84. サブピクチャ境界をまたぐループフィルタリングが第2のサブピクチャに対して許可されない場合、第1のサンプルに対してCC-ALFをスキップする、項目82に記載の方法。
85. 第1のサブピクチャおよび/または第2のサブピクチャのためにサブピクチャ境界をまたぐループフィルタリングが許可されない場合、第1のサンプルに対してCC-ALFをスキップする、項目82の方法。
86. サブピクチャ境界をまたぐループフィルタリングが許可されるかどうかは、第1のサブピクチャおよび/または第2のサブピクチャに関連付けられたフラグに基づく、項目82~84のいずれかの1つ以上に記載の方法。
87.前項のいずれか1つに記載の方法であって、方法は、さらに、以下のうちの少なくとも1つに基づく1)映像コンテンツのタイプ、2)シーケンスパラメータセット(SPS)、映像パラメータセット(VPS)、ピクチャパラメータセット(PPS)、依存性パラメータセット(DPS)、適応パラメータセット(APS)、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、最大コーディングユニット(LCU)、コーディングユニット(CU)、LCU行、LCUグループ、変換ユニット(TU)、予測ユニット(PU)ブロック、または映像コーディングユニットで信号通知されたメッセージ、3)CU、PU、TU、ブロック、または映像コーディングユニットの位置、4)現在のブロックおよび/または隣接ブロックの復号化情報、5)現在のブロックおよび/または隣接ブロックの寸法または形状、6)色フォーマットの指示、7)コーディングツリー構造、8)スライスタイプ、タイルグループタイプ、および/またはピクチャタイプ、9)色成分のタイプ、10)時間層識別子、11)標準のプロファイル/レベル/ティア。
88. 変換は、前記映像を前記ビットストリーム表現に符号化することを含む、項目1~87のいずれかに記載の方法。
89. 変換は、ビットストリーム表現から映像を復号することを含む、項目1~87のいずれか1つに記載の方法。
90. 項目1から89のいずれか1つまたは複数に記載された方法を実施するように構成されたプロセッサを含む映像処理装置。
91. 実行されると、項目1から89までのいずれか1つ以上に記載された方法をプロセッサに実施させるプログラムコードを格納したコンピュータ可読媒体。
92. 上述した方法のいずれかに従って生成されたコーディング表現またはビットストリーム表現を記憶する、コンピュータ可読媒体。
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1つ以上の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブル処理装置、コンピュータ、または複数のプロセッサ、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、コンポーネント、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。1つのコンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つ以上のメモリデバイスとである。一般的に、コンピュータは、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュメモリ装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。プロセッサおよびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。
関連出願の相互参照
本願は、2019年11月4日出願の国際特許出願第PCT/CN2019/115321号の優先権と利益を主張する、2020年11月4日出願の国際特許出願第PCT/CN2020/126332号に基づく。前述のすべての特許出願は、その全体が参照により本明細書に組み込まれる。

Claims (92)

  1. 1つ以上の映像ブロックを含む映像の現在の映像ユニットと前記映像のビットストリーム表現との変換のために、規則に従って、前記現在の映像ユニットの少なくともいくつかの映像ブロックにクロス成分適応ループフィルタリング(CC-ALF)ツールを適用する間に、利用不可のサンプルをパディングするために使用されるパディング処理を決定することと、この決定することに基づいて前記変換を行うことと、を含む映像処理方法であって、
    前記規則は、前記現在の映像ユニットの1つ以上の映像ブロックに適応ループフィルタリング(ALF)を適用する間に、前記パディング処理はまた利用不可のサンプルをパディングするために使用されることを規定する、映像処理方法。
  2. 前記ALFツールは、前記現在の映像ユニットの色成分に適用され、前記ALFツールは、前記現在の映像ユニットの前記色成分によって提供される情報を使用して、前記色成分のサンプル値を補正することを含む、請求項1に記載の方法。
  3. 前記CC-ALFツールは、前記現在の映像ユニットの第1の色成分に適用され、前記現在の映像ユニットの第2の成分のサンプル値を使用して、前記現在の映像ユニットの第1の成分のサンプル値を補正することを含む、請求項1~2のいずれか1項以上に記載の方法。
  4. 前記現在の映像ユニットは、スライス、タイル、ブリック、サブピクチャ、ピクチャ、または360度の仮想境界で囲まれた360度の仮想ピクチャに対応する、請求項1~3のいずれか1項以上に記載の方法。
  5. 前記パディング処理は、前記CC-ALFツールの前記使用に関連付けられた1つ以上のALF仮想境界において、前記利用不可のサンプルに適用されるミラーリングパディング(mirrored padding)に対応する、請求項1~4のいずれか1項以上に記載の方法。
  6. 前記パディング処理は、スライス、タイル、ブリック、ピクチャ、サブピクチャ、または前記CC-ALFの前記使用に関連付けられた360度仮想境界のうちの1つにおいて前記利用不可のサンプルに適用される繰り返しパディングに対応する、請求項1~4のいずれか1項以上に記載の方法。
  7. 前記パディング処理は、前記CC-ALFの前記使用に関連付けられた1つ以上のALF仮想境界を除き、1つ以上の境界に適用される繰り返しパディングに対応する、請求項1~4のいずれか1項以上に記載の方法。
  8. 前記1つ以上の境界は、すべての境界、水平境界、または垂直境界のうちの1つを含む、請求項7に記載の方法。
  9. 前記パディング処理は、前記CC-ALFの前記使用に関連付けられた1つ以上のALF仮想境界を除き、1つ以上の境界にミラーリングパディングを適用することに対応する、請求項1~4のいずれか1項以上に記載の方法。
  10. 前記1つ以上の境界は、すべての境界、水平境界、または垂直境界のうちの1つを含む、請求項9に記載の方法。
  11. 前記現在の映像ユニットは、ALF処理ユニット、コーディングツリーユニット(CTU)、または基本ALF処理ユニットに対応する、請求項1~10のいずれか1項以上に記載の方法。
  12. 前記ALF処理ユニットは、2つの水平方向の境界および2つの垂直方向の境界で囲まれた1つのユニットを定義する、請求項11に記載の方法。
  13. 前記2つの水平境界は、2つのALF仮想境界、または1つのALF仮想境界うちの1つと、ピクチャ/スライス/タイル/ブリック/サブピクチャ境界または360度仮想境界のうちの1つの境界とを含む、請求項11に記載の方法。
  14. 前記基本ALF処理ユニットは、ALF処理ユニット、CTU、または狭ALF処理ユニットを再帰的に分割することに基づいて生成され、前記基本ALF処理ユニットの境界が、ブリック/スライス/タイル/サブピクチャ境界、および/または360度仮想境界、および/または境界をまたぐフィルタリングが許可されないALF仮想境界で交差しない、請求項11に記載の方法。
  15. 前記パディング処理は、前記現在の映像ユニットの隣接サンプルが異なる隣接スライスにあるかどうかに基づく繰り返しパディングに対応する、請求項1~4のいずれか1項以上に記載の方法。
  16. 前記現在の映像ユニットの現在のスライスがラスタスキャンスライスであり、前記現在のスライスの前記隣接スライスもラスタスキャンスライスである、請求項15に記載の方法。
  17. 前記現在の映像ユニットはALF処理ユニットであり、利用不可のサンプルを前記ALF処理ユニットにおけるその最も近いサンプルを使用してパディングする、請求項15~16のいずれか1項以上に記載の方法。
  18. 映像の映像ユニットと前記映像のビットストリーム表現との変換を行うことを含み、
    前記変換中、適応ループフィルタリング(ALF)処理またはクロス成分適応ループフィルタリング(CC-ALF)処理の適用において、規則に従って、前記映像ユニットの利用不可のサンプルを予め定義されたパディング順序でパディングする、映像処理方法。
  19. 前記映像ユニットは、処理ユニットに対応し、前記規則は、前記映像ユニットの前記利用不可のサンプルをパディングするための前記予め定義されたパディング順序を規定する、請求項18に記載の方法。
  20. 前記予め定義されたパディング順序は、前記映像ユニットの少なくとも1つの行または少なくとも1つの列を使用して前記利用不可のサンプルをパディングすることを含み、前記少なくとも1つの行または前記少なくとも1つの列の位置が、前記利用不可のサンプルの位置に基づいて決定される、請求項18に記載の方法。
  21. 前記予め定義されたパディング順序は、前記映像ユニットの少なくとも1つのサンプルを使用して前記利用不可のサンプルをパディングすることを含み、前記少なくとも1つのサンプルの位置が、前記利用不可のサンプルの位置に基づいて決定される、請求項18に記載の方法。
  22. 前記映像ユニットの少なくとも1つの隣接サンプルの可用性が、前記1つ以上の隣接サンプルと前記映像領域に関連付けられたパラメータ(ctuDownまたはctuUp)との関係に基づいて決定され、前記映像領域は、コーディングツリーユニット(CTU)のN個の行に対応する前記ctuUPと、前記CTUの「CtbSize-M」行に対応する前記ctuDownとを含む処理ユニットに対応し、このときMは整数である、請求項18に記載の方法。
  23. 隣接サンプルが前記ctuDownと異なる第2の映像ユニットにある場合、前記規則は、前記第2の映像ユニットをまたぐフィルタリングを許可しないことを規定する、請求項22に記載の方法。
  24. 前記映像ユニットは、ラスタスキャンスライスに含まれる現在のコーディングツリーユニットに対応し、前記規則は、前記映像ユニットの前記利用不可のサンプルをパディングするための前記予め定義されたパディング順序を規定する、請求項18に記載の方法。
  25. 前記予め定義されたパディング順序は、ラスタスキャンスライス内の上側CTUに位置するその最も近い隣接サンプルを使用して、前記ラスタスキャンスライスとは異なるスライス内の左上CTUに位置する前記利用不可のサンプルをパディングすることを含む、請求項18に記載の方法。
  26. 前記予め定義されたパディング順序は、ラスタスキャンスライス内の左側CTUに位置するその最も近い隣接サンプルを使用して、前記ラスタスキャンスライスとは異なるスライス内の左上CTUに位置する前記利用不可サンプルをパディングすることを含む、請求項18に記載の方法。
  27. 前記予め定義されたパディング順序は、ラスタスキャンスライス内の下側CTUに位置するその最も近い隣接サンプルを使用して、前記ラスタスキャンスライスとは異なるスライス内の右下CTUに位置する前記利用不可のサンプルをパディングすることを含む、請求項18に記載の方法。
  28. 前記予め定義されたパディング順序は、ラスタスキャンスライス内の右側CTUに位置するその最も近い隣接サンプルを使用して、前記ラスタスキャンスライスとは異なるスライス内の右下CTUに位置する前記利用不可のサンプルをパディングすることを含む、請求項18に記載の方法。
  29. 適応ループフィルタ(ALF)の適用が有効とされた映像の映像領域に対して、前記映像領域は映像ユニットの境界と交差していることを決定することと、前記映像と前記映像のビットストリーム表現との変換を行うこととを含む映像処理方法であって、
    前記変換のために、前記映像領域は、前記映像領域が前記映像ユニットの前記境界と交差していることに起因して、規則に従って複数のパーティションに分割される、映像処理方法。
  30. 前記境界をまたぐフィルタリング処理は許可されない、請求項29に記載の方法。
  31. 前記映像領域は、ALF処理ユニット、狭ALF処理ユニット、またはコーディングツリーユニットに対応する、請求項29に記載の方法。
  32. 前記映像ユニットは、ブリック、スライス、タイル、サブピクチャ、または360度仮想ピクチャに対応する、請求項29に記載の方法。
  33. 前記規則は、前記映像領域が前記映像ユニットの前記境界をまたがなくなるまで再帰的に前記映像領域を分割することをさらに規定する、請求項29に記載の方法。
  34. 前記フィルタリング処理は、ALF処理またはCC-ALF処理に対応し、前記規則は、前記映像領域を分割する分割処理が終了した後に前記フィルタリング処理を行うことをさらに規定する、請求項29または30に記載の方法。
  35. 少なくとも1つのサンプルをパディングするために使用されるパディング処理は、前記映像領域が前記映像ユニットの前記境界をまたがなくなるまで、前記映像領域を分割した後に得られる基本ALF処理ユニットに対して行われる、請求項29に記載の方法。
  36. 前記規則は、前記映像領域が前記映像ユニットの前記境界をまたがなくなるまで前記映像領域を分割した後に得られる基本ALF処理ユニットを生成するように、異なる水平境界を予め定義された順序でチェックすることを規定する、請求項29に記載の方法。
  37. 前記予め定義された順序は、ALF仮想境界、360度仮想境界、および前記映像ユニットの境界であるコーディングツリーユニット(CTU)境界である、請求項36に記載の方法。
  38. 前記予め定義された順序は、360度仮想境界、ALF仮想境界、および前記映像ユニットの境界であるコーディングツリーユニット(CTU)境界である、請求項36に記載の方法。
  39. 前記規則は、前記映像ユニットの最上境界および最下境界に対して異なる予め定義された順序を規定する、請求項36に記載の方法。
  40. 前記規則は、前記映像領域が前記映像ユニットの前記境界をまたがなくなるまで前記映像領域を分割した後に得られる基本ALF処理ユニットを生成するように、異なる垂直境界を予め定義された順序でチェックすることを規定する、請求項29に記載の方法。
  41. 前記予め定義された順序は、360度仮想境界、および前記映像ユニットの境界であるコーディングツリーユニット(CTU)境界である、請求項40に記載の方法。
  42. 前記予め定義された順序は、前記映像ユニットのコーディングツリーユニット(CTU)境界および360度仮想境界である、請求項40に記載の方法。
  43. 前記規則は、前記映像ユニットの左境界および右境界に対して異なる予め定義された順序を規定する、請求項40に記載の方法。
  44. 規則に従って、映像の映像ユニットと前記映像のビットストリーム表現との変換を行うことを含む映像処理方法であって、
    前記規則は、前記映像ユニットの境界に位置するサンプルに対する適応ループフィルタリング(ALF)および/またはクロス成分適応ループフィルタリング(CC-ALF)の適用は、境界をまたぐフィルタリング処理が許可されていない場合、許可されないことを規定する、映像処理方法。
  45. 前記ALFおよび/または前記CC-ALFに関連付けられた少なくともN個の隣接サンプルが利用不可と決定されると、前記ALFおよび/または前記CC-ALFの適用が無効にされ、このときNが整数である、請求項44に記載の方法。
  46. 前記映像ユニットの前記境界は水平境界であり、前記サンプルと前記映像ユニットの前記水平境界との垂直距離がM個のサンプル以下であると決定されると、前記ALFおよび/または前記CC-ALFの適用が無効にされ、このときMが整数である、請求項44に記載の方法。
  47. 前記映像ユニットの前記境界は垂直境界であり、前記サンプルと前記映像ユニットの垂直境界との水平距離がM個のサンプル以下であると決定されると、前記ALFおよび/または前記CC-ALFの適用が無効にされ、このときMが整数である、請求項44に記載の方法。
  48. 映像の映像ユニットと前記映像のビットストリーム表現との変換を行うことを含む映像処理方法であって、
    前記ビットストリーム表現はフォーマット規則に準拠し、
    前記映像領域はコーディングツリーブロックとは異なり、
    前記フォーマット規則は適応ループフィルタリング(ALF)ツールおよび/またはクロス成分適応ループフィルタリング(CC-ALF)ツールの前記映像領域に対する適用可能性を示す前記ビットストリーム表現に構文要素が含まれるかどうかを規定する、映像処理方法。
  49. 前記映像領域は、ALF処理ユニットに対応する、請求項48に記載の方法。
  50. 前記ALFツールおよび/または前記CC-ALFツールの前記適用可能性は、前記ビットストリーム表現において明確に示される、請求項48に記載の方法。
  51. 前記ALFツールおよび/または前記CC-ALFツールの前記適用可能性は、導出される、請求項48に記載の方法。
  52. 映像の映像ユニットと前記映像のビットストリーム表現との変換のために、規則に従って、クロス成分適応ループフィルタリング(CC-ALF)ツールの前記映像ユニットのサンプルに対する適用可能性を決定することと、この決定することに従って変換を行うことを含む映像処理方法であって、
    前記ビットストリーム表現は前記CC-ALFが前記映像ユニットに利用可能であるという指示を含み、前記規則は前記指示をオーバライドする1つ以上の条件を規定する、映像処理方法。
  53. 前記1つ以上の条件は、前記映像ユニットに対する前記サンプルの空間位置を含む、請求項52に記載の方法。
  54. 前記1つ以上の条件は、前記CC-ALFにおいて使用される輝度サンプル値を含む、請求項52に記載の方法。
  55. 前記1つ以上の条件は、前記サンプルとその隣接サンプルとのサンプル値の差を含む、請求項52に記載の方法。
  56. 前記1つ以上の条件は、クロマサンプルに対応するフィルタリングされた輝度サンプルを使用して導出されたオフセットの値と閾値との関係を含む、請求項52に記載の方法。
  57. 前記1つ以上の条件は、クロマサンプルを含むブロックおよび/または前記ブロックの隣接ブロックのコード化情報を含む、請求項52に記載の方法。
  58. 規則に従って、映像の映像ユニットと前記映像のビットストリーム表現との変換を行うことを含み、
    前記規則は、前記変換の際に使用される演算が、クロマ適応ループフィルタリング(ALF)に対応する第1のクリッピング演算、クロス成分適応ループフィルタリング(CC-ALF)オフセット導出に対応する第2のクリッピング演算、および最終的なクロマサンプル値を導出するためのクロマフィルタリングされたサンプルの微調整に対応する第3のクリッピング演算を含む3つのクリッピング演算のうちの少なくとも1つを省略することを規定する、映像処理方法。
  59. 前記規則は、前記CC-ALFを適用することが有効にされた場合、前記第1のクリッピング演算を省略することを規定する、請求項58に記載の方法。
  60. 前記規則は、前記CC-ALFを適用することが無効にされた場合、前記第2のクリッピング演算を省略することを規定する、請求項58に記載の方法。
  61. 前記規則は、前記第1のクリッピング演算および前記第2のクリッピング演算を省略することを規定する、請求項58に記載の方法。
  62. 映像の第1の映像ユニットと前記映像のビットストリーム表現との変換のために、規則に従って、クロス成分適応ループフィルタリング(CC-ALF)オフセットを決定することと、この決定することに基づいて前記変換を行うこととを含む映像処理方法であって、
    前記規則は、前記CC-ALFオフセットを、[-(1<<(BitDepthC-1)),(1<<(BitDepthC-1))-1]と表される第2の範囲と異なる第1の範囲にクリッピングすることを規定し、BitDepthCはビット深度値である、映像処理方法。
  63. 前記第1の範囲は、前記ビット深度値への依存性を欠く、請求項62に記載の方法。
  64. 第2の映像ユニットに関連付けられた第3の範囲が、前記第1の映像ユニットに関連付けられた前記第1の範囲とは異なるように定義される、請求項62に記載の方法。
  65. 前記第1の範囲は、クロマALFフィルタリングに対応する別のクリッピング演算で使用される非線形クリッピング範囲から導出される、請求項62に記載の方法。
  66. 映像の第1の映像ユニットと映像のビットストリーム表現との変換のために、規則に従ってクロス成分適応ループフィルタリング(CC-ALF)オフセットを導出することと、前記CC-ALFオフセットを使用して前記変換を行うこととを含む映像処理方法であって、
    前記規則は、固定値の代わりに、ビット深度値に基づいて丸めオフセットで前記CC-ALFオフセットを丸めることを規定する、映像処理方法。
  67. 前記丸めオフセットは、第1の色成分と第2の色成分とのビット深度差に依存する、請求項66に記載の方法。
  68. 前記CC-ALFオフセットは、次の式を用いて丸められる:
    sum=alfPicture[xCtbC+x][yCtbC+y]+(sum+Off)>>(7+(BitDepthY-BitDepthC)) and ccAlfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepthC)-1,sum)、ここでOffは、(1<(6+(BitDepthY-BitDepthC))に等しく設定され、alfPicture[xCtbC+x][yCtbC+y]は、前記第1のクリッピング演算を適用した後のクロマサンプルを表し、sumは、前記第2のクリッピング演算を適用した後のCC-ALFフィルタサポート中の輝度サンプルにCC-ALFフィルタ係数を掛けた合計を表し、ccAlfPictureは前記第3のクリッピング演算を適用した後の最終的に微調整されたクロマサンプルを表し、BitDepthCとBitDepthYはそれぞれ輝度成分、クロマ成分のビット深度を表す、請求項66に記載の方法。
  69. 規則に従って、映像の映像ユニットと前記映像のビットストリーム表現との変換を行うことを含む映像処理方法であって、
    前記規則は、前記映像ユニットのサンプルに適用されるクロマ適応ループフィルタリング(ALF)処理および/またはクロス成分適応ループフィルタリング(CC-ALF)処理中に使用される1つ以上の処理ステップが同じであることを規定する、映像処理方法。
  70. 前記変換は、予め定義された範囲内にある前記クロマサンプルをもたらす前記クロマALF処理および/または前記CC-ALF処理によって生成されたクロマサンプルをクリッピングするためのクリッピング演算を含む、請求項69に記載の方法。
  71. 前記予め定義された範囲は、クロマビット深度値に少なくとも部分的に基づいている、請求項70に記載の方法。
  72. 前記クリッピング演算は、前記CC-ALF処理が前記クロマALF処理の後に適用される場合、前記CC-ALF処理中のみ適用される、請求項70に記載の方法。
  73. 前記CC-ALF処理が前記クロマALF処理の前に適用される場合、前記クリッピング演算は前記クロマALF処理中のみ適用される、請求項70に記載の方法。
  74. 規則に従って、映像の映像ユニットと前記映像のビットストリーム表現との変換を行うことを含み、
    前記規則は、変換中に、前記映像ユニットの第2の色成分の情報を使用して修正を加えることによって、前記映像ユニットの第1の色成分のサンプルの値を修正することを規定し、前記修正は、前記映像ユニットのための適応ループフィルタリング(ALF)処理で使用される1つ以上のパラメータに基づく、映像処理方法。
  75. 適応ループフィルタリング処理で使用される前記1つ以上のパラメータは、クリッピングパラメータであり、第1のサンプル値に使用される前記クリッピングパラメータは、第2のサンプル値に使用されるクリッピングパラメータとは異なり、前記第1のサンプル値および前記第2のサンプル値は前記映像ユニット中に含まれる、請求項74に記載の方法。
  76. 前記クリッピングパラメータは、最小クリッピング値および最大クリッピング値を有する範囲内にあるように定義される、請求項75に記載の方法。
  77. 前記最小クリッピング値および/または前記最大クリッピング値は、前記ビットストリーム表現において明確に信号通知される、請求項76に記載の方法。
  78. 前記最小クリッピング値および/または前記最大クリッピング値は、前記サンプルの値に部分的に基づいている、請求項76に記載の方法。
  79. 前記最小クリッピング値および/または前記最大クリッピング値は、前記映像ユニットに対する前記サンプルの前記値の空間的位置に部分的に基づいている、請求項76に記載の方法。
  80. 前記最小クリッピング値および/または前記最大クリッピング値は、信号通知されるかまたは予め定義される、請求項76に記載の方法。
  81. 前記最小クリッピング値および/または前記最大クリッピング値は、他のパラメータから導出される、請求項76に記載の方法。
  82. 映像の第1のサブピクチャと前記映像のビットストリーム表現との変換のために、クロス成分ループフィルタリング(CC-ALF)が、規則に基づいて前記第1のサブピクチャのサンプルに適用可能であるかどうかを決定することと、前記決定に基づいて前記変換を行うことを含む映像処理方法であって、
    前記サンプルに対する前記CC-ALFは第2のサブピクチャからのサンプルを使用し、
    前記規則は前記第1のサブピクチャおよび/または前記第2のサブピクチャに対して、サブピクチャの境界をまたぐループフィルタリングが許可されているかどうかに基づく、映像処理方法。
  83. 前記サブピクチャ境界をまたぐ前記ループフィルタリングが前記第1のサブピクチャに対して許可されない場合、前記サンプルに対して前記CC-ALFをスキップする、請求項82に記載の方法。
  84. 前記サブピクチャ境界をまたぐ前記ループフィルタリングが前記第2のサブピクチャに対して許可されない場合、前記第1のサンプルに対して前記CC-ALFをスキップする、請求項82に記載の方法。
  85. 前記サブピクチャ境界をまたぐ前記ループフィルタリングが前記第1のサブピクチャおよび/または前記第2のサブピクチャに対して許可されない場合、前記第1のサンプルに対して前記CC-ALFをスキップする、請求項82に記載の方法。
  86. 前記サブピクチャ境界をまたぐ前記ループフィルタリングが許可されるかどうかが、前記第1のサブピクチャおよび/または前記第2のサブピクチャに関連付けられたフラグに基づく、請求項82~84のいずれか1項以上に記載の方法。
  87. 前記方法は、1)映像コンテンツのタイプ、2)シーケンスパラメータセット(SPS)、映像パラメータセット(VPS)、ピクチャパラメータセット(PPS)、依存性パラメータセット(DPS)、適応パラメータセット(APS)、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、最大コーディングユニット(LCU)、コーディングユニット(CU)、LCU行、LCUグループ、変換ユニット(TU)、予測ユニット(PU)ブロック、または映像コーディングユニットで信号通知されたメッセージ、3)CU、PU、TU、ブロック、または映像コーディングユニットの位置、4)現在のブロックおよび/または隣接ブロックの復号化情報、5)前記現在のブロックおよび/または前記隣接ブロックの寸法または形状、6)色フォーマットの指示、7)コーディングツリー構造、8)スライスタイプ、タイルグループタイプ、および/またはピクチャタイプ、9)色成分のタイプ、10)時間層識別子、11)標準のプロファイル/レベル/ティアのうちの少なくとも1つにさらに基づいた、先の請求項のいずれかに記載の方法。
  88. 前記変換は、前記映像を前記ビットストリーム表現に符号化することを含む、請求項1~87のいずれかに記載の方法。
  89. 前記変換は、前記ビットストリーム表現から前記映像を復号することを含む、請求項1~87のいずれかに記載の方法。
  90. 請求項1~89のいずれか1項以上に記載の方法を実装するように構成されたプロセッサを備える映像処理装置。
  91. 実行されると、プロセッサに、請求項1から89のいずれか1つ以上に記載の方法を実装させるプログラムコードを格納するコンピュータ可読媒体。
  92. 上述した方法のいずれかに従って生成されたコーディング表現またはビットストリーム表現を記憶する、コンピュータ可読媒体。
JP2022525117A 2019-11-04 2020-11-04 クロス成分適応ループフィルタ Active JP7401666B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023200063A JP2024020545A (ja) 2019-11-04 2023-11-27 クロス成分適応ループフィルタ

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/115321 2019-11-04
CN2019115321 2019-11-04
PCT/CN2020/126332 WO2021088835A1 (en) 2019-11-04 2020-11-04 Cross-component adaptive loop filter

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023200063A Division JP2024020545A (ja) 2019-11-04 2023-11-27 クロス成分適応ループフィルタ

Publications (2)

Publication Number Publication Date
JP2023501192A true JP2023501192A (ja) 2023-01-18
JP7401666B2 JP7401666B2 (ja) 2023-12-19

Family

ID=75849458

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022525117A Active JP7401666B2 (ja) 2019-11-04 2020-11-04 クロス成分適応ループフィルタ
JP2023200063A Pending JP2024020545A (ja) 2019-11-04 2023-11-27 クロス成分適応ループフィルタ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023200063A Pending JP2024020545A (ja) 2019-11-04 2023-11-27 クロス成分適応ループフィルタ

Country Status (7)

Country Link
US (2) US20220272335A1 (ja)
EP (1) EP4042685A4 (ja)
JP (2) JP7401666B2 (ja)
KR (1) KR20220088427A (ja)
CN (1) CN115428449A (ja)
BR (1) BR112022008487A2 (ja)
WO (1) WO2021088835A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7393550B2 (ja) 2019-12-11 2023-12-06 北京字節跳動網絡技術有限公司 クロス成分適応ループフィルタリングのためのサンプルパディング
KR20230029670A (ko) 2020-06-30 2023-03-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 적응적 루프 필터링을 위한 경계 위치
US11838522B2 (en) * 2020-12-29 2023-12-05 Tencent America LLC Method and apparatus for video coding
US11683530B2 (en) * 2021-03-19 2023-06-20 Tencent America LLC Adaptive non-linear mapping for sample offset
US20230007305A1 (en) * 2021-06-28 2023-01-05 Tencent America LLC Subpicture partitioning and scaling window information
WO2023213298A1 (en) * 2022-05-05 2023-11-09 Beijing Bytedance Network Technology Co., Ltd. Filter shape switch for adaptive loop filter in video coding
WO2024039088A1 (ko) * 2022-08-18 2024-02-22 현대자동차주식회사 비선형 교차 성분 관계에 기반하는 cc-alf를 이용하는 비디오 코딩을 위한 방법 및 장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9525884B2 (en) * 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding
US20130128986A1 (en) 2011-11-23 2013-05-23 Mediatek Inc. Method and Apparatus of Slice Boundary Padding for Loop Filtering
US10721469B2 (en) * 2017-11-28 2020-07-21 Qualcomm Incorporated Line buffer reduction for adaptive loop filtering in video coding
CN109600611B (zh) * 2018-11-09 2021-07-13 北京达佳互联信息技术有限公司 环路滤波方法、环路滤波装置、电子设备和可读介质
US11910024B2 (en) * 2019-03-11 2024-02-20 Qualcomm Incorporated Boundary handling for adaptive loop filtering
US20220248006A1 (en) * 2019-06-17 2022-08-04 Electronics And Telecommunications Research Institute Adaptive in-loop filtering method and apparatus
MX2022000987A (es) * 2019-07-25 2022-10-28 Hfi Innovation Inc Metodo y aparato de filtrado de bucle adaptativo de componentes cruzados con limite virtual para codificacion de video.
US11197030B2 (en) * 2019-08-08 2021-12-07 Panasonic Intellectual Property Corporation Of America System and method for video coding
US11533491B2 (en) * 2019-08-28 2022-12-20 Qualcomm Incorporated Picture and sub-picture boundary processing for combined bilateral filter and Hadamard transform domain filter as in-loop filters
US11303890B2 (en) * 2019-09-05 2022-04-12 Qualcomm Incorporated Reusing adaptive loop filter (ALF) sub-picture boundary processing for raster-scan slice boundaries
US11451834B2 (en) * 2019-09-16 2022-09-20 Tencent America LLC Method and apparatus for cross-component filtering
US11425405B2 (en) * 2019-11-15 2022-08-23 Qualcomm Incorporated Cross-component adaptive loop filter in video coding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANDREY NORKIN, ET AL.: ""BoG report on CE5 loop filtering related contributions"", DOCUMENT: JVET-P1033-V2, [ONLINE], vol. JVET-P1033 (version 2), JPN6023017031, 11 October 2019 (2019-10-11), pages 1 - 2, ISSN: 0005054987 *
CHIA-YANG TSAI, ET AL.: ""AHG6: ALF with modified padding process"", DOCUMENT: JCTVC-J0050, [ONLINE], vol. JCTVC-J0050 (version 2), JPN6023017033, 10 July 2012 (2012-07-10), pages 1 - 8, ISSN: 0005054986 *
KIRAN MISRA, ET AL.: ""CE5-2.1, CE5-2.2: Cross Component Adaptive Loop Filter"", DOCUMENT: JVET-P0080, [ONLINE], vol. JVET-P0080 (version 1), JPN6023017032, 18 September 2019 (2019-09-18), pages 1 - 7, ISSN: 0005054985 *

Also Published As

Publication number Publication date
CN115428449A (zh) 2022-12-02
US20240129462A1 (en) 2024-04-18
JP2024020545A (ja) 2024-02-14
WO2021088835A1 (en) 2021-05-14
US20220272335A1 (en) 2022-08-25
EP4042685A4 (en) 2023-03-08
KR20220088427A (ko) 2022-06-27
JP7401666B2 (ja) 2023-12-19
BR112022008487A2 (pt) 2022-09-20
EP4042685A1 (en) 2022-08-17

Similar Documents

Publication Publication Date Title
JP7389251B2 (ja) 輝度の差分を用いるクロスコンポーネント適応ループフィルタ
JP7401666B2 (ja) クロス成分適応ループフィルタ
JP2022529479A (ja) クロミナンス残差の結合符号化のための構文要素の信号通知
US11671594B2 (en) Selective application of sample padding in adaptive loop filtering
WO2021088951A1 (en) Quantization properties of adaptive in-loop color-space transform for video coding
US20220295054A1 (en) Sample Offset with Predefined Filters
WO2021170036A1 (en) Methods and apparatuses of loop filter parameter signaling in image or video processing system
KR20220106216A (ko) 비디오 필터링을 위한 방법 및 장치
JP2022550337A (ja) 異なるビデオユニット間の適応ループフィルタリング
KR20220166354A (ko) 비디오 필터링을 위한 방법 및 장치
JP2023506009A (ja) クロス成分適応ループフィルタリングのためのサンプルパディング
JP7473680B2 (ja) クロスコンポーネント予測のための利用制約
US11706461B2 (en) Method and apparatus for video coding
WO2024002168A1 (en) Padding methods for adaptive loop filter in video coding
KR20240006655A (ko) 일반화된 샘플 오프셋의 적응적 적용
WO2023086214A1 (en) Generalized sample offset

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220516

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231207

R150 Certificate of patent or registration of utility model

Ref document number: 7401666

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150