JP2022511745A - 非線形クリッピングのアダプティブループフィルタ - Google Patents
非線形クリッピングのアダプティブループフィルタ Download PDFInfo
- Publication number
- JP2022511745A JP2022511745A JP2021528450A JP2021528450A JP2022511745A JP 2022511745 A JP2022511745 A JP 2022511745A JP 2021528450 A JP2021528450 A JP 2021528450A JP 2021528450 A JP2021528450 A JP 2021528450A JP 2022511745 A JP2022511745 A JP 2022511745A
- Authority
- JP
- Japan
- Prior art keywords
- filter
- clipping
- alf
- sample
- image
- 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
Links
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 claims abstract description 216
- 238000001914 filtration Methods 0.000 claims abstract description 135
- 241000023320 Luma <angiosperm> Species 0.000 claims description 163
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 162
- 230000006870 function Effects 0.000 claims description 158
- 230000008569 process Effects 0.000 claims description 77
- 238000012545 processing Methods 0.000 claims description 53
- 238000003860 storage Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 7
- 230000001419 dependent effect Effects 0.000 claims description 7
- 239000000523 sample Substances 0.000 description 321
- 230000011664 signaling Effects 0.000 description 37
- 238000004891 communication Methods 0.000 description 30
- 238000012886 linear function Methods 0.000 description 30
- 239000011159 matrix material Substances 0.000 description 27
- 239000002609 medium Substances 0.000 description 25
- 230000000694 effects Effects 0.000 description 18
- 229910003460 diamond Inorganic materials 0.000 description 17
- 239000010432 diamond Substances 0.000 description 17
- 238000005457 optimization Methods 0.000 description 15
- 238000013139 quantization Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000009795 derivation Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 238000012986 modification Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 7
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 101100153351 Streptococcus pneumoniae serotype 4 (strain ATCC BAA-334 / TIGR4) tkt gene Proteins 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- WXNXCEHXYPACJF-ZETCQYMHSA-N N-acetyl-L-leucine Chemical group CC(C)C[C@@H](C(O)=O)NC(C)=O WXNXCEHXYPACJF-ZETCQYMHSA-N 0.000 description 1
- 230000035508 accumulation Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 108010063123 alfare Proteins 0.000 description 1
- 239000003708 ampul Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000002408 directed self-assembly Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000006163 transport media Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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 block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/439—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using cascaded computational arrangements for performing a single operation, e.g. filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
適切には、1以上の非線形関の変数を決定するため、または、1以上の非線形関の変数としての値となる隣接サンプルが、以下に示す形状に配置される:8個の隣接サンプルが非線形関数における変数を決定するため使用される、または、非線形関数における変数として使用されるとき、第1のサンプル値を交点に有する高さ5サンプル、幅5サンプルのクロス形、又は、各辺の長さが3サンプルの中空の平行四辺形、又は、12個の隣接サンプルが1以上の非線形関数における変数を決定するために使用される、または、1以上の非線形関数における変数として使用されるとき、各辺が3サンプルの長さの平行四辺形である。適切には、交点位置(及び/又は、中心位置)に第1のサンプルを持つクロス形は、次の形状の1つである:垂直および水平線の交差する“+”、または、斜め線の交差“X”(対角交差)である。適切には、前記(中空の)平行四辺形は、正方形、長方形、または菱形(diamond shape)のうちの1つである。適切には、前記(中空の)平行四辺形は、中心に位置する第1のサンプルの周りもしくは囲む。或いは、1以上の(又は前記)非線形関数における変数を判定するための使用される、もしくは、1以上の(又は前記)非線形関数における変数として使用される隣接サンプルが、中心位置にその第1のサンプルを持つ以下の形状に配置される:垂直線“|”、水平線“-”、左上から右下への斜め線“\”、または右上から左下への斜線“/”である。あるいは、1以上の(または前記)非線形関数の変数を判定するために使用される、又は、1以上の(または前記)非線形関数の変数として使用される隣接サンプルは、(中空の)多角形の形状に配置される。適切には、前記(中空の)多角形は、中心に位置する第1のサンプル位置の周りにあるか、またはそれを取り囲む。あるいは、1以上の(または前記)非線形関数における変数を決定するために使用される、または、1以上の(または前記)非線形関数における変数として使用される隣接サンプルは、前述の形状の任意の組合せの形状に配置される。適切には、フィルタ変数は、2以上の隣接するサンプル間で共有される。適切には、隣接サンプルの配置形状は、中心に関して対称性を有する。適切には、十字形、平行四辺形、または多角形の形状が、中心に関して対称性を有する。あるいは、隣接サンプルの配列の形状は、中心の周りに対称性を有さない。適切には、十字形、又は平行四辺形が中心に関して対称性を有さない。適切には、第1のサンプルおよび複数の隣接サンプル値の隣接サンプルが、以下の形状に配置される:交点に第1のサンプルを有するクロス形、或いは、平行四辺形、或いは、中空の平行四辺形である。適切には、第1のサンプル及び複数の隣接サンプル値の隣接サンプルが、平行四辺形の形状に配置される:ここで、複数の隣接サンプル値が24個の隣接サンプルの値からなる場合は各辺が4サンプルの長さを持つ、または、複数の隣接サンプル値が12個の隣接サンプルの値からなる場合は各辺が3サンプルの長さを持つ。適切には、第1のサンプルが交点(及び/又は、中心)にあるクロス形は、垂直および水平線の交差する“+”、または斜線が交差する“X”(対角線交差)のうちの1つである。適切には、前記(中空)平行四辺形は、正方形、長方形、または菱形のうちの1つである。適切には、前記(中空)平行四辺形は、中心に位置する第1のサンプルの周りにあるか、またはそれを取り囲む。あるいは、第1のサンプルおよび複数の隣接サンプル値の隣接サンプルは、第1のサンプルを中心にて次の形状に配置される:垂直線“|”、 水平線“-”、左上から右下への斜め線“\”、または右上から左下への斜め線“/”である。あるいは、第1のサンプル及び複数の隣接サンプル値の複数の隣接サンプルは、(中空の)多角形の形状に配置される。適切には、前記(中空の)多角形は、中心に位置する第1のサンプル位置の周りにあるか、またはそれを取り囲む。あるいは、第1のサンプル及び複数の隣接サンプル値の隣接サンプルは、前述の形状の任意の組み合わせの形状に配置される。適切には、フィルタ変数は、2つ以上の隣接するサンプル間で共有される。適切には、隣接サンプルの配置形状は、中心に関して対称性を有する。好適には十字形、平行四辺形、または多角形が中心に関して対称性を有する。あるいは、隣接サンプルの配置形状は、中心に関して対称性を有さない。適切には、クロス形状、平行四辺形、または多角形の形状は、中心に関して対称性を持たない。適切には、第1のサンプルおよび隣接サンプルは、ルマ成分サンプルである。あるいは、第1のサンプルおよび隣接サンプルは、がロマ成分サンプルである。適切には、(または1以上)非線形関数の変数は、第1のサンプル値をさらに含み、(または1以上)非線形関数は、第1のサンプル値と1以上の隣接サンプル値のそれぞれとの間の差に適用される。適切には(または1つ以上の)非線形関数の変数は、更に、第1のサンプル値と、1以上の隣接サンプルの位置に依存する1以上のフィルタ変数を含み、各フィルタ変数は2以上の隣接サンプルについて同じであり、(または1つ以上の)非線形関数は第1のサンプル値と、同じフィルタ変数を有する2以上の隣接サンプルの2以上の隣接サンプル値のそれぞれ1つとの間の2つ以上の差の和に適用される。適切には、(または1つ以上の)非線形関数の出力は、アダプティブループフィルタの入力(または入力パラメータ)として使用される。適切には、非線形関数は、1以上のクリッピング関数を含み、1以上のクリッピング関数の各々は、次のいずれかである:max(-b、min(b,d))、min(b、max(-b,d))、max(c-b、min(c+b,n))、min(c+b、max(c-b,n))、max(-b、min(b,d1+d2))、min(b、max(-b,d1+d2))、max(2*c-b,min(2*c+b,n1+n2))、または、min(2*c+b、max(2*c-b,n1+n2))、ここで、cは第1のサンプル値、nまたはn1またはn2は隣接サンプル値、d=n-c、d1=n1-c、d2=n2-cであり、bはクリップパラメータである。
好適には、方法は、ビットストリームを受信すること、画像を得るために受信したビットストリームから情報を復号すること、得た画像を処理することをさらに含み、この処理することは、第12の態様の方法による制御、または第13の態様の方法による処理を含む。適切には、(第13の態様に依存する場合)方法は、ビットストリームから前記情報を得ることをさらに含む。適切には、非線形関数は1以上のクリッピング関数を含み、(または1以上の)非線形関数の変数はその値が(または1以上の)非線形関数の変数として使用される1以上の隣接サンプルの位置に依存する1以上のフィルタ変数をさらに含み、位置に関するフィルタ変数がゼロである場合、クリッピング関数はその位置における隣接サンプルの隣接サンプル値に適用されない。適切には、本方法は、ビットストリームから、複数の利用可能な関数から、非線形関数または1以上のクリッピング関数を識別するための情報を得ること、得たた画像を処理するときに識別された関数を使用することをさらに含む。
図1は、VTM-3.0の典型的な復号ループにおいてALFが行われる場合を示している。101において、画像部分(例えば、スライス)は、符号化ツリー単位(CTU:VVCにおける最大の符号化単位、典型的には128×128サンプル/ピクセルサイズ)で復号される。CTUは、特定の予測スキーム/モードを使用して符号化され、多くの場合、残差ブロックの非可逆符号化を使用して符号化される矩形ブロックまたは符号化ユニット(CU)に分割される。ブロックベースの符号化の使用により、符号化されたブロック間の境界でブロッキングアーチファクトが見えることがある。102において、復号された画像部分は次に、DBFによって処理されて、これらのアーチファクトが低減/除去される。典型的にはブロック予測のための残差(ブロック)を符号化するために、残差値はDCTのような変換を用いて(残留エネルギーを少数の係数で圧縮するために)変換され、変換された係数は符号化コストを低減するために量子化される。この量子化はしばしば、再構成されたブロック(すなわち、フレームバッファ106に記憶された参照フレーム内のブロック)に幾つかのリンギングアーチファクトを導入する。103において、DBFの出力画像部分は、次いで、SAOフィルタによって処理される。これは低計算コストでこれらのアーチファクトのいくつかを低減するのに有用である。104では、SAOフィルタの出力画像部分がALFによって処理される。ALFは、例えば、「リンギング」のようなアーチファクトをさらに低減することができる。ALFはより高次の誤差モデリング能力を有するが、より高い計算コストとなる。ALFの出力画像部分は、その後、出力(例えば、表示部または表示部と通信するための通信インターフェース)105に送られる。それは時間予測(時間予測ツールが使用される場合)のために使用することができるように、(そこに格納された参照フレームの一部として)フレームバッファ106に入れることもできる。これが、DBF、SAOフィルタ、およびALFが「ループ内」フィルタと呼ばれる理由である。エンコーダはインループフィルタのいくつかをディスエーブルにして、デコーディング時にそれらがバイパスされるようにすることができる(すなわち、フィルタリングが実行されず、ディスエーブルにされたツールに対応するステップの出力がその入力と同じである)。また、いくつかの場合、処理される画像部分は、スライスに限定されず、1つまたは複数のスライスを含むフルフレームであってもよく、スライス境界(2つ以上存在する場合)を横切ってフィルタを適用して、それらの境界上のアーチファクトを低減する可能性がある。多成分画像(例えば、YCrCbフォーマットの画像)の場合、DBF、SAOフィルタ、またはALF処理は各成分に個別に、場合によっては異なるように(例えば、他の成分に対して異なるフィルタリングパラメータを使用して)適用される。
[1] “alf係数デルタフラグ(alf coefficients delta flag)”が最初にシグナリングされる。このフラグは、いくつかのフィルタをディスエーブルすることができるかどうかを示す。「alf係数デルタフラグ」がゼロであり、ルマフィルタの数が1より大きい場合、「coeffデルタ予測モードフラグ(coeff delta pred mode flag)」がシグナリングされ、フィルタ係数エンコードが予測(prediction)を使用することを示す(より詳細は後述)。
[2] VTM-3.0では、(exp-)Golomb符号化を使用してルマ係数を符号化するために、3(2 for Chroma)(exp-)Golomb構成を使用する。(exp-)Golomb符号化の唯一のパラメータは、(exp-)Golomb 次数((order)しばしば「k」と記される)である。各構成には(exp-)Golomb インデックス(index)がある。フィルタ係数の(exp-)Golomb符号化のパラメータは、(exp-)Golomb符号の「最小次数」のための可変長符号(VLC)を使用してシグナリングされ、次いで、各(exp-)Golombインデックスのために、(exp-)Golomb次数がそのインデックスおよび次のインデックスのために増加されなければならない場合(第1のインデックスのための「最小次数」で開始する)をシグナリングするためのフラグがシグナリングされる。
[3] その後、“alf係数デルタフラグ”がいくつかのフィルタが有効であることを示す場合、フィルタが無効であるかどうか(つまりコーディングされていないかどうか)を示すフラグがフィルタごとにシグナリングされる。
[4] 次に、フィルタ係数が、(exp-)Golombパラメータを記憶するテーブルから(固定テーブル内の)フィルタ係数インデックスに関連する(exp-)Golombインデックスで取られた(exp-)Golomb次数を有する(符号付き整数のための)exp-)Golombコードを使用して、各(ディスエーブルされていない)フィルタについてシグナリングされる。
- 現在のサンプルがCTUに属し、ALFがイネーブルされている場合、および(現在のサンプルがダイヤモンド形状の中心に配置されている)クロマフィルタのダイヤモンド形状における係数位置のためのフィルタ係数を得るために必要な現在のサンプルの隣接するサンプルが利用可能である場合(例えば、画像の境界上の境界拡張を使用して、またはスライスの境界上で利用可能である場合には隣接するスライスサンプルを使用して)、位置(x,y)における現在のサンプルI(x、y)と同じ位置における出力フィルタリングされたサンプルは、
に等しい。
ここで、iとjはフィルタ形状(すなわち、現在のサンプルの位置(x,y))の中心に対する2つの整数オフセット(水平および垂直)である。w(i,j)はオフセット(i,j)におけるフィルタ係数である。N=7は、オフセット(i,j)におけるフィルタ係数w(i,j)の表現において使用される実数(固定小数点表現)の小数部の整数近似のためのビット数である。I(x+i、y+j)は現在のサンプル位置(x、y)に対するオフセット(i,j)における入力サンプル値である。O(x,y)は、位置(x、y)に対する出力フィルタリングされたサンプル値である。a<<Nは、Nビット左へのビットシフトを、整数値aに適用されることを示す。これは、整数を2のN乗倍することと等価である。a>>Nは、Nビット右へのビットシフトを、整数値aに適用されることを示す。ここで、式(1)の括弧内の和の結果はほとんどの場合正であるため、Nのべき乗を2で整数除算することと等価である。負の数については、負の数が負(少なくとも-1)のままとなるように右シフトすると符号が伝播する。ALFの出力は一般に、0から2のビットの付加さの累乗から1を引いた値の間でクリップされるので、非整数部分はない。N=7は、ALF演算のためにVVCに固定された小数精度を提供するが、他の実施形態では他の値を使用することができる。右シフト>>Nを実行する前の加算(1<<(N-1))の効果は、スカラー積の固定小数点結果の丸めである。
- そうでなければ、現在のサンプル値をそれと同じ位置で(すなわち、このALFを適用せずに)出力する。
ここで、Onは、ラスタ走査順序インデックス/位置nにおける出力サンプルである。ラスタ走査順序インデックスnによって、我々は、サンプルインデックスはサンプルの行において左から右に増加し、次いで、上から下に増加することを意味する。In cは、出力サンプルと同じ位置における入力サンプルである(かつ、フィルタの中心における入力サンプルの位置に対応する)。In i-は、n未満のラスタスキャン順における、フィルタのフィルタ形状/パターン/マスク/サポートにおけるIn cの第i番目(ラスタ走査順序において)の隣接入力サンプルである。In i+は、In cのフィルタの中心位置の周りのIn i-鏡像空間位置における隣接入力サンプルである。従って、中心に関して対称である形状は、In i-がフィルタの形状/パターン/マスク/サポート内にあるとき、In i+はフィルタの同じフィルタ形状/パターン/マスク/サポート内にあることを意味する。wiは、隣接する入力サンプルIn i-及びIn i+に関連するフィルタ係数である。wcは、中心入力サンプルIn cに対するフィルタ係数であり、cは符号化されたフィルタ係数の数である(これは、その隣接するフィルタ係数から評価できるので符号化されない中心フィルタ係数に対するインデックス値と同じである)。値i及び関連する位置In i-、In i+は、図3-bのフィルタ形状306における、インデックス値及び上付き符号(“+”又は“-”)付きインデックス値に対応し、例えば、フィルタ形状の中心のフィルタ係数のインデックスcは、i=c=“6”である。
である。
ここで、ウィナーフィルタ係数は^Wに対応する。
ステップ304および407で使用される線形フィルタリングは、非線形性を導入し、フィルタリング結果を改善する(フィルタリング品質と符号化効率との間のより良い妥協を得る)本発明の実施形態に従って修正することができる。ALFフィルタリングの目標は、符号化ツール(例えば、量子化ノイズ/エラー)によって導入されたいくつかの“ノイズ”を除去することである。このようなノイズを除去するために、信号を平滑化し、小さな局所変動を低減するために、ローパス線形フィルタがしばしば使用される。このような種類のフィルタは、フィルタリングされた出力、特にコントラストが強い領域、例えばエッジ付近にぼけを導入する可能性がある。例えば、バイラテラルフィルタのような非線形フィルタは、より効率的なノイズ除去を可能にするために開発されており、一方、エッジの周囲であっても、より少ないぼけまたはリンギング効果を導入する。そうするために、これらの非線形フィルタは、しばしば、線形フィルタのような、その局所近傍(すなわち、隣接サンプル)に基づくサンプルのフィルタリングに依存するが、非常に異なる値を有するサンプルよりも、フィルタリングされるサンプルに類似した値を有するサンプルにより多くの注意(または重み)を払う。近傍値の重み付けは、非線形関数(すなわち、非線形マッピング)を使用して実行されることが多い。これらの種類の非線形フィルタは線形フィルタよりも複雑であることが多く、それらのパラメータを最適化することは困難であることがあり、および/または、新しいALFデザインにおいてこのような種類のフィルタを使用したい場合には線形フィルタよりも柔軟性が低いことがある。
(固定小数点表現と整数丸めに関連する演算を除去する)を得る。
このALFにおいて、条件:
が満たされる。これは、ALF のすべてのフィルタ係数の合計が1 であることを意味する。次に、式(4)を次のように再定式化することができることが分かる。
次に、出力サンプルO(x,y)は、入力サンプルI(x, y)(同じ位置)を、フィルタ係数ベクトルとローカル勾配ベクトル(入力サンプルの隣接サンプルと入力サンプル自体との間の差として計算されたローカル勾配のベクトル)との間のスカラー積に加算した結果である。言い換えれば、出力サンプル(すなわち、フィルタリングされたサンプル値)は、入力サンプルをフィルタ係数と局所勾配との線形結合に加算した結果である。
ここで、K(d,b)は、その第1のパラメータ/変数d=I(x+i.y+j)-I(x,y)(位置(x+i,y+j)における隣接サンプル値と位置(x、y)における現在サンプル値との間の差として計算されたオフセット(i,j)における局所勾配)として、および、その第2のパラメータ/変数b=k(i,j)(追加のフィルタリングパラメータ)としてとる関数である。追加のフィルタパラメータk(i,j)は、w(i,j)と同時に決定される。一実施形態では、k(i,j)及びw(i,j)の値は、(例えば、歪みを最小限に抑えるために)フィルタリングおよび信号処理を最適化するように決定される。この最適化プロセスは、ALF を使用しているエンコーダによって実行される。このような最適化プロセスの例については後述する。
ここで、K'(n,c,b)は、そのパラメータ/変数として、隣接するサンプル値(n)、フィルタリングされる現在のサンプル値(c)、および、追加のフィルタリングパラメータ/変数(b)をとる関数である。
ここで、Sb及びDb値は、(i,j)によって変化する。
2つ以上の次元を有するパラメータ/変数/機能を使用することは、フィルタリングを改善することをしばしば可能にするが、フィルタパラメータをシグナリングするためにより高いコストとなる。さらに、それは、エンコーダにおいてより高い次元空間でフィルタパラメータを最適化するときに、より複雑さを招き、しばしば、デコーダにおいて機能を計算することはより複雑である(より多くのフィルタパラメータはしばしば、それらを使用するより多くの演算を意味する)。一実施形態では、bは単一の次元を有し、多くのALFアプリケーションに対して良好な妥協を達成することができる。
K(d,b)=max(-b,min(-b,d)). (11)
である。または同等に
K(d,b)=min(b,max(-b,d)). (12)
である。
以下に説明する代替関数のいくつかとは対照的に、クリッピング関数は局所勾配の高い値に対して消失しない(換言すれば、クリッピング関数f(x)は、xが不等性に近づくにつれてゼロに向かって収束しない)。しかし、このような単純な関数を使用した圧縮結果は、より複雑な関数を使用した場合と同じくらい効率的であり、より良好でさえあり得ることが実験的に観察されている。実際、クリッピング関数は局所勾配の高い値に対して消失するのではなく、単にそれらをクリッピングするだけで、鋭いエッジ遷移を考慮し続けることを可能にし、一方、その鋭いエッジ遷移領域の周りに存在する高い分散の影響を制限することができる。アーチファクトは鋭い遷移の周りにより強く発生するので、これは興味深い。
式(9)のフィルタリング公式を用いたこのクリッピング関数Kの等価関数K’は、
K’(n,c,b)=max(c-b,min(c+b,n)). (13)
である。または、同等に、
K’(n,c,b)=min(c+b,max(c-b,n)).
である。
クリッピング関数は、bが最大可能サンプル値(例えば、画像ビット深度の2乗)以上になるとすぐに、式(8)を満たす。
に対応する1つのこぎり歯期間、又は、
であるときの式(10)の特定のケースに対応するいくつかの三角形期間であり、又は例えば、双方向フィルタ:
と同様の方法でガウスカーネルを使用することもできる。例えば、Kは上記のバリアントの反対称関数のように、ある閾値より上(または下)にゼロに設定される任意の関数であってもよい。
上記は、ALFの場合には以下の条件を満たす。
式(6)の線形関数は、次のように再定式化することもできる。
また、式(7)の非線形関数は次のようになる。
ここで、Kiは、フィルタ係数wiに関連するフィルタクリッピングパラメータである。
式(19)は、必ずしも式(17)と等価ではなく、式(19)を用いたフィルタは効率が悪くなり得るが、計算量は減少する。変形例によれば、シグナリング/符号化されたクリッピングパラメータ/値の数は、例えばKがクリッピング関数である場合、式(17)の数と変わらない。
ここで、Nはテーブル内のクリッピング値の数(つまりテーブルのサイズ)、M は最大クリッピング値(テーブル内の最後のエントリで、例えばM=2DまたはM=2D-1、ここでDはテーブルが定義されている成分のサンプルビット深度である)、そして、“round”は丸め演算子(たとえば、最も近い整数) である。
ここで、Nはテーブル内のクリッピング値の数(つまりテーブルのサイズ)、Mは最大クリッピング値(テーブル内の最後のエントリ、たとえば、またはDをサンプルビット深度とした場合はM=2D、又はM=2D-1)、Aは最小のクリッピング値(テーブル内の最初のエントリ)、“round”は丸め演算子(たとえば、最も近い整数) である。
テーブル1 - アダプテーションパラメータセット(APS)シンタックス
テーブル2 - タイルグループヘッダシンタックス
アダプテーションパラメータセットセマンティクス
Adaptation_parameter_set_idは、他のシンタックス要素によって参照されるAPSを識別する。adaptation_parameter_set_id の値は、0から63までの範囲内である必要がある。
グループヘッダセマンティクス
tile_group_APS_id は、タイルグループが参照するAPS のadaptation_parameter_set_id を特定する。tile_group_aps_idの値は、0から63の範囲内である。adaptation_parameter_set_idがtile_group_APS_idに等しいAPS NALLユニットのTemporalIdは、符号化タイルグループNALユニットのTemporalId以下でなければならない。
テーブル3 - コーディングツリーユニットシンタックス
コーディングツリーユニットセマンティクス
CTUは、コーディング四分木構造のルートノードである。
alf_ctb_flag[cIdx][xCtb>>Log2CtbSize][yCtb>>Log2CtbSize]=1の場合、アダプティブループフィルタが、ルマロケーション(xCtb、yCtb)のコーディングツリーユニットのcIdx によって示される色成分のコーディングツリーブロックに適用されることを特定する。alf_ctb_flag[cIdx][xCtb>>Log2CtbSize][yCtb>>Log2CtbSize]=0の場合、アダプティブループフィルタが、ルマロケーション(xCtb、yCtb)のコーディングツリーユニットのcIdx によって示される色成分のコーディングツリーブロックに適用されないことを特定する。
テーブル4 - 非線形ALFデータシンタックス
アダプティブループフィルタデータセマンティクス
alf_chroma_idcが0に等しい場合、アダプティブループフィルタがCbおよびCr色成分に適用されないことを特定する。alf_chroma_idcが1に等しい場合、アダプティブループフィルタがCb色成分に適用されることを特定する。
alf_chroma_idcが2に等しい場合、アダプティブループフィルタがCr色成分に適用されることを示す。alf_chroma_idcが3に等しい場合、アダプティブループフィルタがCbおよびCr色成分に適用されることを示す。
expGoOrder[i]=alf_luma_min_eg_oreder_minus1+1+ald_luma_eg_order_increase_flag[i]
golombOrderIdxY[]={0、0、1、0、0、1、2、1、0、0、1、2 }
k=expGoOrderY[golombOrderIdxY[j]]
- それ以外(alf_Luma_coeff_delta_sign[sigFiltIdx][j]が1に等しい場合)、対応するルマフィルタ係数は負の値を持つ。
filterCoefficients[sigFiltIdx][j]=alf_luma_coeff_delta_abs[sigFiltIdx][j]*(1-2*alf_Luma_coeff_delta_sign[sigFiltIdx][j])
filterCoefficents[sigFiltIdx][j]+=filterCoefficients[sigFiltIdx-1][j]
AlfCoeffL[filtIdx][j]=filterCoefficients[alf_luma_coeff_delta_idx[filtIdx][j]
AlfCoeffL[filtIdx][12]=128
expGoOrderC[i]=alf_chroma_min_eg_order_minus1+1+alf_chroma_eg_order_increase_flag[i]
golombOrderIdxC[]={0、0、1、0、0、1}
k=expGoOrderC[golombOrderIdxC[j]]
- もし、alf_chroma_coeff_sign[j]が0に等しい場合は、対応するクロマフィルタ係数は正の値を持つ
- これ以外(alf_chroma_coeff_sign[j]が1に等しい)の場合は、対応するクロマフィルタ係数は負の正を持つ。
AlfCoeffC[j]=alf_chroma_coeff_abs[j]*(1-2*alf_chroma_coeff_sign[j])
AlfCoeffC[6]=128
expGoOrderYClip[i]=alf_luma_clip_min_eg_order_minus1+1+alf_luma_clip_eg_order_increase_flag[i]
golombOrderIdxYClip[]={0、0、1、0、0、1、2、1、0、0、1、2 }
k = expGoOrderYClip[golombOrderIdxYClip[j]]
filterClips[sigFiltIdx][j]=ald_luma_clipping_value[alf_luma_clip_idx[sigFiltIdx][j]]
AlfClipL[filtIdx][j]=filterClips[alf_luma_coeff_delta_idx[filtIdx]][j]
expGoOrderC[i]=alf_chroma_clip_eg_order_minus1+1+alf_chroma_clip_eg_order_increase_flag[i]
golombOrderIdxC[]={0,0,1,0.0,1}
k=expGoOrderC[golombOrderIdxC[j]]
AlfClipC[j]=alf_chroma_clipping_value[alf_chroma_clip_idx[j]]
アダプティブループフィルタ処理
一般
このプロセスの入力は、アダプティブループフィルタrecPictureL、recPictureCb、およびrecPictureCrの前の、再構成画像サンプルアレイである。
このプロセスの出力は、アダプティブループフィルタalfPictureL、alfPictureCb、およびalfPictureCrの後の、修正された再構成されたピクチャサンプルアレイである。
recPictureCrに等しいRecPictureセット、alfPictureCrに等しいalfPictureセット、及び、クロマコーディングツリーブロックロケーション(xCtbc、yCtbC) が入力として(rx << (CtbLog2SizeY-1)、ry <<(CtLog2SizeYー1))として読み出され、その出力は修正されたフィルタリング後のピクチャalfPictureCrとなる。
このプロセスの入力は、アダプティブループフィルタリングプロセスの前の再構成されたルマピクチャサンプルアレイrecPictureL、フィルタリングされた再構成されたルマピクチャサンプルアレイalfPictureL、現在の画像の左上サンプルに対する現在のルマ符号化ツリーブロックの左上サンプルを特定するルマロケーション(xCtb、yCtb)である。
このプロセスの出力は、修正されフィルタリング後の再構成ルマピクチャサンプルアレイalfPictureLである。
filtIdx[x][y]によって指定されるフィルタに対応するルマフィルタ係数f[j]のアレイおよびルマフィルタクリッピングc[j]のアレイは、j = 0~12で以下のように導出される。
f[j]=AlfCoeffL[FiltIdx[x][y]][j]
c[j]=AlfClipL[FiltIdx[x][y]][j]
transposeIndex[x][y]==1の場合
FilterCoeff[]={f[9]、f[4]、f[10]、f[8]、f[1]、f[5]、f[11]、f[7]、f[3]、f[0]、f[2]、f[6]、f[12]}
filterClip[]={c[9]、c[4]、c[10]、c[8]、c[1]、c[5]、c[11]、c[7]、c[3]、c[0]、c[2]、c[6]、c[12]}
そうではなく、transposeIndex[x][y]==2の場合
filterCoeff[]={f[0]、f[3]、f[2]、f[1]、f[8]、f[7]、f[6]、f[5]、f[4]、f[9]、f[10]、f[11]、f[12]}
filterClip[]={c[0]、c[3]、c[2]、c[1]、c[8]、c[7]、c[6]、c[5]、c[4]、c[9]、c[10]、c[11]、c[12]}
そうではなく、transposeIndex[x][y]==3の場合、
filterCoeff[]={f[9]、f[8]、f[10]、f[4]、f[3]、f[7]、f[11]、f[5]、f[1]、f[0]、f[2]、f[6]、f[12]}
filterClip[]={c[9]、c[8]、c[10]、c[4]、c[3]、c[7]、c[11]、c[5]、c[1]、c[0]、c[2]、c[6]、c[12]}
それ以外の場合は
filterCoeff[]={f[0]、f[1]、f[2]、f[3]、f[4]、f[5]、f[6]、f[7]、f[8]、f[9]、f[10]、f[11]、f[12]}
filterClip[]={c[0]、c[1]、c[2]、c[3]、c[4]、c[5]、c[6]、c[7]、c[8]、c[9]、c[10]、c[11]、c[12]}
hx= Clip3(0、pic_width_in_luma_samples-1、xCtb+x)
vy= Clip3(0、pic_height_in_luma_samples - 1、yCtb+yy)
sum=filterCoeff[0]*(Clip3(-filterClip[0],filterClip[0],recPictureL[hx、vy+3]-curr)+Clip3(-filterClip[0],filterClip[0],recPictureL[hx,vy-3]-curr))
+filterCoeff[1]*(Clip3(-filterClip[1],filterClip[1],recPictureL[hx+1、vy+2]-curr)+Clip3(-filterClip[1],filterClip[1],recPictureL[hx-1,vy-2]-curr))
+filterCoeff[2]*(Clip3(-filterClip[2],filterClip[2],recPictureL[hx、vy+2]-curr)+Clip3(-filterClip[2],filterClip[2],recPictureL[hx,vy-2]-curr))
+filterCoeff[3]*(Clip3(-filterClip[3],filterClip[3],recPictureL[hx-1、vy+2]-curr)+Clip3(-filterClip[3],filterClip[3],recPictureL[hx+1,vy-2]-curr))
+filterCoeff[4]*(Clip3(-filterClip[4],filterClip[4],recPictureL[hx+2、vy+1]-curr)+Clip3(-filterClip[4],filterClip[4],recPictureL[hx-2,vy-1]-curr))
+filterCoeff[5]*(Clip3(-filterClip[5],filterClip[5],recPictureL[hx+1、vy+1]-curr)+Clip3(-filterClip[5],filterClip[5],recPictureL[hx-1,vy-1]-curr))
+filterCoeff[6]*(Clip3(-filterClip[6],filterClip[6],recPictureL[hx、vy+1]-curr)+Clip3(-filterClip[6],filterClip[6],recPictureL[hx,vy-1]-curr))
+filterCoeff[7]*(Clip3(-filterClip[7],filterClip[7],recPictureL[hx-1、vy+1]-curr)+Clip3(-filterClip[7],filterClip[7],recPictureL[hx+1,vy-1]-curr))
+filterCoeff[8]*(Clip3(-filterClip[8],filterClip[8],recPictureL[hx-2、vy+1]-curr)+Clip3(-filterClip[8],filterClip[8],recPictureL[hx+2,vy-1]-curr))
+filterCoeff[9]*(Clip3(-filterClip[9],filterClip[9],recPictureL[hx+3、vy]-curr)+Clip3(-filterClip[9],filterClip[9],recPictureL[hx-3,vy]-curr))
+filterCoeff[10]*(Clip3(-filterClip[10],filterClip[10],recPictureL[hx+2、vy]-curr)+Clip3(-filterClip[10],filterClip[10],recPictureL[hx-2,vy]-curr))
+filterCoeff[11]*(Clip3(-filterClip[11],filterClip[11],recPictureL[hx+1、vy]-curr)+Clip3(-filterClip[11],filterClip[11],recPictureL[hx-1,vy]-curr))
+filterCoeff[12]*recPictureL[hx、vy]
alfPictureL[xCtb+x][yCtb+y]=Clip3(0,(1<<BitDepthY)-1,sum)
このプロセスの入力は、現在のピクチャの左上のサンプルに対する現在のルマコーディングツリーブロックの左上のサンプルを指定するルマロケーション(xCtb、yCtb)、アダプティブループフィルタリングプロセスの前の再構成されたルマピクチャサンプルアレイrecPictureLである。
このプロセスの出力は、
分類フィルタインデックスアレイfiltIdx[x][y]、ここでx、y = 0~CtbSizeY-1
転置インデックスアレイtransposeIdx[x][y]、ここでx、y=0~CtbSize-1
である。
hx = Clip3(0、pic_width_in_luma_samples-1,x)
vy = Clip3(0、pic_height_in_luma_samples-1、y)
x及びyの両方が偶数である、もしくは、xとyの両方が非偶数である場合は次のように適用する。
filtH[x][y]=Abs((recPicture[hxCtb+x,vyCtb+y]<<1)-recPicture[hxCtb+x-1,vyCtb+y]-recPicture[hxCtb+x+1,vyCtb+y])
filtV[x][y]=Abs((recPicture[hxCtb+x,vyCtb+y]<<1)-recPicture[hxCtb+x,vyCtb+y-1]-recPicture[hxCtb+x,vyCtb+y+1])
filtD0[x][y]=Abs((recPicture[hxCtb+x,vyCtb+y]<<1)-recPicture[hxCtb+x-1,vyCtb+y-1]-recPicture[hxCtb+x+1,vyCtb+y+1])
filtD1[x][y]=Abs((recPicture[hxCtb+x,vyCtb+y]<<1)-recPicture[hxCtb+x+1,vyCtb+y-1]-recPicture[hxCtb+x-1,vyCtb+y+1])
さもなければ。filtH[x][y],filtV[x][y],filtD0[x][y],filtD1[x][y]は0に等しくなるようにセットする。
sumH[x][y]=ΣiΣj filtH[(x<<2)+1][(y<<2)+j]、ここでx、yは-2~5である。
sumV[x][y]=ΣiΣj filtV[(x<<2)+1][(y<<2)+j]、ここでx、yは-2~5である。
sumD0[x][y]=ΣiΣj filtD0[(x<<2)+1][(y<<2)+j]、ここでx、yは-2~5である。
sumD1[x][y]=ΣiΣj filtD1[(x<<2)+1][(y<<2)+j]、ここでx、yは-2~5である。
sumOfHV[x][y]=sumH[x][y]+sumV[x][y]
変数hv1,hv0、及びdirHVについて以下のように導出する。
sumV[x>>2][y>>2]がsumH[x>>2][y>>2]より大きい場合は次を適応する。
hv1=sumV[x>>2][y>>2]
hv0=sumH[x>>2][y>>2]
dirHV=1
さもなければ、次を適用する。
hv1=sumH[x>>2][y>>2]
hv0=sumV[x>>2][y>>2]
dirHV=3
変数d1,d0及びdirDは次のように導出する。
sumD0[x>>2][y>>2]がsumD1[x>>2][y>>2]よりも大きい場合は次を適用する。
d1=sumD0[x>>2][y>>2]
d0=sumD1[x>>2][y>>2]
dirD=0
さもなければ、次を適用する
d1=sumD1[x>>2][y>>2]
d0=sumD0[x>>2][y>>2]
dirD=2
変数hvd1,hvd0は次のように導出する。
hvd1=(d1*hv0>hv1*d0)? d1:hv1
hvd0=(d1*hv0>hv1*d0)? d0:hv0
変数dirS[x][y],dir1[x][y]及びdir2[x][y]は次のように導出する。
dir1[x][y]=(d1*hv0>hv1*d0)? dirD:dirHV
dir2[x][y]=(d1*hv0>hv1*d0)? dirHV:dirD
dirS[x][y]=(hdv1>2*hdv0) ? 1:((hdv1*2>9*hvd0) ? 2:0)
varTab[]={0,1,2,2,2,2,2,3,3,3,3,3,3,3,3,4}
avgVar[x][y]=varTab[Clip3(0,15,(sumOfHV[x>>2][y>>2]*64)>>(3+BitDepthY))])
transposeTable[]={0、1、0、2、2、3、1、3 }
transposeIdx[x][y]=transposeTable[dir[x][y]*2+(dir2[x][y]>>1)]
filtIdx[x][y]=avgVar[x][y]
dirS[x][y]が0に等しくないとき、fiktIdx[x][y]は次のように修正される。
filtIdx[x][y]+=(((dir1[x][y]&0x1)<<1)+dirS[x][y]*5
このプロセスの入力は、アダプティブループフィルタリングプロセスの前の再構成されたクロマピクチャサンプルアレイrecPicture、フィルタリングされた再構成されたクロマピクチャサンプルアレイalfPicture、現在のピクチャの左上サンプルに対する現在のクロマコードツリーブロックの左上サンプルを指定するクロマロケーション(xCtbC,yCtbC)である。
このプロセスの出力は、修正されフィルタリングされた再構成されたクロマピクチャサンプルアレイalfPictureである。
ctbSizeC=CtbSizeY/SubWidthC
クロマサンプルの所与のアレイrecPicturer内の対応するクロマサンプル(x、y)の各々の位置(hx、vy)は、以下のように導出される:
hx=Clip3(0、pic_width_in_luma_samples/SubWidthC-1,xCtbC+x)
vy=Clip3(0、pic_height_in_luma_samples/SubHeightC-1,yCtbC+y)
curr=recPicture[hx、vy]
sum= AlfCoeffCC[0]*(Clip3(-AlfClipC[0]、AlfClipC[0]、recPicture[hx、vy + 2] - curr) + Clip3(-AlfClipC[0]、AlfClipC[0]、recPicture[hx、vy- 2] - curr))
+ AlfCoeffC[1]*(Clip3(-AlfClipC[1]、AlfClipC[1]、recPicture[hx + 1、vy + 1]-curr) + Clip3(-AlfClipC[1]、AlfClipC[1]、recPicture[hx - 1、vy - 1]-curr))
+ AlfCoeffC[2]*(Clip3(-AlfClipC[2]、AlfClipC[2]、recPicture[hx、vy + 1]-curr)+ Clip3(-AlfClipC[2]、AlfClipC[2]、recPicture[hx、vy -1]-curr))
+ AlfCoeffC[ 3]*(Clip3(-AlfClipC[3]、AlfClipC[3]、recPicture[hx-1、vy + 1]-curr) + Clip3(-AlfClipC[3]、AlfClipC[3]、recPicture[hx + 1、vy - 1]- curr))
+ AlfCoeffC[ 4]*(Clip3(-AlfClipC[4]、AlfClipC[4]、recPicture[hx + 2、vy]-curr) + Clip3(-AlfClipC[4]、AlfClipC[4]、recPicture[hx-2、vy]-curr))
+ AlfCoeffC[5]*(Clip3(-AlfClipC[5]、AlfClipC[5]、recPicture[hx + 1、vy]-curr) + Clip3(-AlfClipC[5]、AlfClipC[5]、recPicture[hx-1、vy]-curr))
+ AldCoeffC[6]* recPicture[hx,vy]
alfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepthC)-1,sum)
- AlfCoeffL[filtIdx][12]は、以下のように導出される:
AlfCoeffL[filtIdx][12] = 128- Σk(AlfCoeffL[filtIdx][k]<<1)、ここで、k = 0~11である。
- AlfCoeffC[6]は、以下のように導出される:
AlfCoeffC[6] = 128 - Σk(AlfCoeffC[k]<<1)、ここでk=0~5である。
- AlfCoeffL[filtIdx][12]及びAlfCoeffC[6]のビット深度の制限(これらは0~2^8-1の範囲内にあるものとする)は、より良いフィルタリング性能を得るために、0~2^9-1まで、又は、0~2^10-1の範囲内にまで緩和される。
sum= filterfCoeff[0]*(Clip3(curr-filterClip[0]、curr+filterClip[0]、recPictureL[hx、vy+3])+Clip3(curr-filterClip[0]、curr+filterClip[0]、recPictureL[hx、vy-3]))
+ filterCoeff[1]*(Clip3(curr-filterClip[1]、curr+filterClip[1]、recPictureL[hx+1、vy+2])+Clip(curr-filterClip[1]、curr+filterClip[1]、recPictureL[hx-1、vy-2]))
+filterCoeff[2]*(Clip3(curr-filterClip[2]、curr+filterClip[2]、recPictureL[hx、vy+2])+Clip3(curr-filterClip[2]、curr+filterClip[2]、recPictureL[hx、vy-2]))
+filterCoeff[3]*(Clip3(curr-filterClip[3]、curr+filterClip[3]、recPictureL[hx-1、vy+2])+Clip3(curr-filterClip[3]、curr+filterClip[3]、recPictureL[hx+1、vy-2]))
+filterCoeff[4]*(Clip3(curr-filterClip[4]、curr+filterClip[4]、recPictureL[hx+2、vy+1])+Clip3(curr-filterClip[4]、curr+filterClip[4]、recPictureL[hx-2、vy-1]))
+filterCoeff[5]*(Clip3(curr-filterClip[5]、curr+filterClip[5]、recPictureL[hx+1、vy+1])+Clip3(curr-filterClip[5]、curr+filterClip[5]、recPictureL[hx-1、vy-1]))
+filterCoeff[6]*(Clip3(curr-filterClip[6]、curr+filterClip[6]、recPictureL[hx、vy+1])+Clip3(curr-filterClip[6]、curr+filterClip[6]、recPictureL[hx、vy-1]))
+filterCoeff[7]*(Clip3(curr-filterClip[7]、curr+filterClip[7]、recPictureL[hx-1、vy+1])+Clip3(curr-filterClip[7]、curr+filterClip[7]、recPictureL[hx+1、vy-1]))
+filterCoeff[8]*(Clip3(curr-filterClip[8]、curr+filterClip[8]、recPictureL[hx-2、vy+1])+Clip3(curr-filterClip[8]、curr+filterClip[8]、recPictureL[hx+2、vy-1]))
+filterCoeff[9]*(Clip3(curr-filterClip[9]、curr+filterClip[9]、recPictureL[hx+3、vy])+Clip3(curr-filterClip[9]、curr+filterClip[9]、recPictureL[hx-3、vy]))
+filterCoeff[10]*(Clip3(curr-filterClip[10]、curr+filterClip[10]、recPictureL[hx+2、vy])+Clip3(curr-filterClip[10]、curr+filterClip[10]、recPictureL[hx-2、vy]))
+filterCoeff[11]*(Clip3(curr-filterClip[11]、curr+filterClip[11]、recPictureL[hx+1、vy])+Clip3(curr-filterClip[11]、curr+filterClip[11]、recPictureL[hx-1、vy]))
+filterCoeff[12]*recPictureL[hx、vy]
sum= AlfCieffC[0]*(Clip3(curr-AlfClipC[0]、curr+AlfClipC[0]、recPicture[hx、vy + 2])+Clip3(curr-AlfClipC[0]、AlfClipC[0]、recPicture[hx、vy-2]))
+AlfCieffC[1]*(Clip3(curr-AlfClipC[1]、curr+AlfClipC[1]、recPicture[hx+1、vy+1])+Clip3(curr-AlfClipC[1]、curr+AlfClipC[1]、recPicture[hx-1、vy-1]))
+AlfCieffC[2]*(Clip3(curr-AlfClipC[2]、curr+AlfClipC[2]、recPicture[hx、vy+1])+Clip3(curr-AlfClipC[2]、curr+AlfClipC[2]、recPicture[hx、vy-1]))
+AlfCieffC[3]*(Clip3(curr-AlfClipC[3]、curr+AlfClipC[3]、recPicture[hx-1、vy+1])+Clip3(curr-AlfClipC[3]、curr+AlfClipC[3]、recPicture[hx+1、vy-1]))
+AlfCieffC[4]*(Clip3(curr-AlfClipC[4]、curr+AlfClipC[4]、recPicture[hx+2、vy])+Clip3(curr-AlfClipC[4]、curr+AlfClipC[4]、recPicture[hx-2、vy]))
+AlfCieffC[5]*(Clip3(curr-AlfClipC[5]、curr+AlfClipC[5]、recPicture[hx+1、vy])+Clip3(curr-AlfClipC[5]、curr+AlfClipC[5]、recPicture[hx-1、vy]))
+AlfCieffC[6]*recPicture[hx、vy]
テーブル5 - 非線形ALFの修正部分
filtIdx=0~NumAlfFilters-1における、最後のフィルタ係数AlfCoeffL[filtIdx][6]は以下のように導出される・
AlfCoeffL[filtIdx][6]=128
f[j]=AlfCoeffL[x][y][j]
c[j]=AlfClipL[x][y][j]
transposeIndex[x][y]==1の場合
filterCoeff[]={f[4]、f[1]、f[5]、f[3]、f[0]、f[2]、f[6]}
filterClip[]={c[4]、c[1]、c[5]、c[3]、c[0]、c[2]、c[6]}
そうではなく、transposeIndex[x][y]==2の場合、
filterCoeff[]={f[0]、f[3]、f[2]、f[1]、f[4]、f[5]、f[6]}
filterClip[]={c[0]、c[3]、c[2]、c[1]、c[4]、c[5]、c[6]}
そうではなく、transposeIndex[x][y]==3の場合、
filterCoeff[]={f[4]、f[3]、f[5]、f[1]、f[0]、f[2]、f[6]}
filterClip[]={C[4]、c[3]、c[5]、c[1]、c[0]、c[2]、c[6]}
それ以外の場合
filterCoeff[]={f[0]、f[1]、f[2]、f[3]、f[4]、f[5]、f[6]}
filterClip[]={c[0]、c[1]、c[2]、c[3]、c[4]、c[5]、c[6]}
hx=Clip3(0、pic_width_in_luma_samples-1、xCtb + x)
vy=Clip3(0、pic_height_in_luma_samples - 1、yCtb + y)
sum= filterCoeff[0]*(Clip3(-filter[0],filterClip[0]、recPictureL[hx、vy + 2]- curr)+Clip3(-filterClip[0]、filterClip[0]、recPictureL[hx、vy-2]-curr))
+ filterCoeff[1]*(Clip3(-filterClip[1]、filterClip[1]、recPictureL[hx+1、vy+1]-curr)+Clip3(-filterClip[1]、filterClip[1]、recPictureL[hx-1、vy-1]-curr))
+ filterCoeff[2]*(Clip3(-filterClip[2]、filterClip[2]、recPictureL[hx、vy+1]-curr)+Clip3(-filterClip[2]、filterClip[2]、recPictureL[hx、vy-1]-curr))
+ filterCoeff[3]*(Clip3(-filterClip[3]、filterClip[3]、recPictureL[hx-1、vy+1]-curr)+Clip3(-filterClip[3]、filterClip[3]、recPictureL[hx+1、vy-1]-curr))
+ filterCoeff[4]*(Clip3(-filterClip[4]、filterClip[4]、recPictureL[hx+2、vy]-curr)+Clip3(-filterClip[4]、filterClip[4]、recPictureL[hx-2、vy]-curr))
+ filterCoeff[5]*(Clip3(-filterClip[5]、filterClip[5]、recPictureL[hx+1、vy]-curr)+Clip3(-filterClip[5]、filterClip[5]、recPictureL[hx-1、vy]-curr))
+ filterCoeff[6]*recPictureL[hx、vy]
alfPictureL[xCtb+x][yCtb+y]=Clip3(0、(1<<BitDepthY)-1、sum)
テーブル6 - 非線形ALFデータシンタックスの修正部分
AlfClipPatL[]={0、0、1、0、0、0、1、0、0、0、1、1}
AlfClipPatC[]={1、1、0、1、1、0}
- “ルマサンプルのためのコーディングツリーブロックフィルタリングプロセス”における変数sumは、以下のように導出される.
sum=filterCoeff[0]*(recPictureL[hx、vy+3]-curr + recPicture[hx、vy-3]-curr)
+filterCoeff[1]*(recPicure[hx+1、vy+2]-curr)+recPictureL[hx-1、vy-2]-curr)
+filterCoeff[2]*(Clip3(-filterClip[2]、filterClip[2]、recPictureL[hx、vy+2]-curr)+Clip3(-filterClip[2]、filterClip[2]、recPictureL[hx、vy-2]-curr))
+ filterCoeff[3]*(recPictureL[hx-1、vy+2]-curr+recPictureL[hx+1、vy-2]-curr)
+ filterCoeff[4]*(recPictureL[hx+2、vy+1]-curr+recPictureL[hx-2、vy-1]-curr)
+ filterCoeff[5]*(recPictureL[hx+1、vy+1]-curr+recPictureL[hx-1、vy-1]-curr)
+ filterCoeff[6]*(Clip3(-filterClip[6]、filterClip[6]、recPictureL[hx、vy+1]-curr)+Clip3(-filterClip[6]、filterClip[6]、recPictureL[hx、vy-1]-curr))
+ filterCoeff[7]*(recPictureL[hx-1、vy+1]-curr+recPictureL[hx+1、vy-1]-curr)
+ filterCoeff[8]*(recPictureL[hx-2、vy+1]-curr+recPictureL[hx+2、vy-1]-curr)
+ filterCoeff[9]*(recPictureL[hx+3、vy]-curr+recPictureL[hx-3、vy]-curr)
+filterCoeff[ 10]*(Clip3(-filterClip[10]、filterClip[10]、recPictureL[hx+2、vy]-curr)+Clip3(-filterClip[10]、filterClip[10]、recPictureL[hx-2、vy]-curr))
+filterCoeff[ 11]*(Clip3(-filterClip[11]、filterClip[11]、recPictureL[hx+1、vy]-curr)+Clip3(-filterClip[11]、filterClip[11]、recPictureL[hx-1、vy]-curr))
+filterCoeff[ 12]*recPictureL[hx、vy]
sum=AlfCoeffC[0]*(Clip3(-AlfClipC[0]、AlfClipC[0]、recPicture[hx、vy+2]-curr)+Clip3(-AlfClipC[0]、AlfClipC[0]、recPicture[hx、vy-2]-curr))
+AlfCoeffC[1]*(Clip3(-AlfClipC[1]、AlfClipC[1]、recPicture[hx+1、vy+1]-curr)+Clip3(-AlfClipC[1]、AlfClipC[1]、recPicture[hx-1、vy-1]-curr))
+AlfCoeffC[2]*(recPicture[hx、vy+1]-curr+recPicture[hx、vy-1]-curr)
+AlfCoeffC[3]*(Clip3(-AlfClipC[3]、AlfClipC[3]、recPicture[hx-1、vy+1]-curr)+Clip3(-AlfClipC[3]、AlfClipC[3]、recPicture[hx+1、vy-1]-curr))
+AlfCoeffC[4]*(Clip3(-AlfClipC[4]、AlfClipC[4]、recPicture[hx+2、vy]-curr)+Clip3(-AlfClipC[4]、AlfClipC[4]、recPicture[hx-2、vy]-curr))
+AlfCoeffC[5]*(recPicture[hx+1、vy]-curr+recPicture[hx-1、vy]-curr)
+AlfCoeffC[6]*recPicture[hx、vy]
単純なウィーナーフィルタ(Wiener Filter)演算の代わりに、クリッピングパラメータを繰り返し最適化して、最良のクリッピングパラメータ及び関連する非線形Wウィーナーフィルタ係数を見つる。
から推定される共分散行列である。ここで、Xmは、Cm番目のクリッピング値を使用するときの入力のN個の実数(観測値)を含む。たとえば、図4-bの形状を使用すると、Xi mは、所与のサンプル位置に対して得たXmの第iカラムであり、Xi,j mは、i<NC(図4-bのルマフィルタではNC=12がフィルタ係数の数-1)において、m番目のクリッピングパラメータを用いて、(第j番目のフフィルタリングされたサンプル)の隣接サンプルとm番目のクリッピング値との間の差のクリッピング結果の合計(sum)を含む。ここで、形状における2つの対称な隣接に対して、及び、i=12とした場合の第j番目のフィルタされたサンプル、ここで、Xi,j mは行i、列jにおける値である。
に等しいクリッピングパラメータを使用して、フィルタを構築/テストするとき、
を定義する(ここで、例えばルマフィルタではNC=12が、フィルタ係数の数-1にであり、ゼロに等しい最後の値は便利であり、他の値は中心係数12がクリッピングされないので、別の値を使用することができ、同じ結果を有することになる)。
我々は、i<Nc,j<NCであり、k<Ncであるときのy[k]=yc[C[k]][k]について、E[i,j]=EC[C[i]][C[j]][i,j]となるクリッピングパラメータの共分散行列Eおよび相互共分散行列yを算出する。次に、我々は、線形ALFについて前述したように、この2つの行列を用いてウィナーフィルタを構築する。
これらの実施形態の説明はルマ成分およびクロマ成分に言及しているが、それらは単一のルマ成分またはRGB成分などの他の成分に容易に適合させることができる。
前述の実施形態のうちの1つまたは複数は、1つまたは複数の前述の実施形態の方法ステップを実行するエンコーダまたはデコーダの形態で実装され得る。以下の実施形態は、そのような実装を例示する。
- マイクロプロセッサのよう、CPUとして示される中央演算装置9311;
- デバイス9300を動作させるための、および/または本発明を実施するためのコンピュータプログラム/命令を格納するための、ROMとして示される、読み出し専用メモリ9307;
- 本発明の実施形態の実行可能コード、ならびに本発明の実施形態に係るデジタル画像のシーケンスを符号化する方法および/またはビットストリームを復号する方法を実現するために必要な変数およびパラメータを記録するように構成されたレジスタを記憶するための、RAMと示される、ランダムアクセスメモリ9312と、
- 処理されるデジタルデータが送信または受信される通信ネットワーク9303に接続された通信インターフェース9302。
- 本発明の1つまたは複数の実施形態の方法を実施するためのコンピュータプログラム、および本発明の1つまたは複数の実施形態の実施中に使用または生成されるデータを記憶するための、ハードディスクなどのデータ記憶手段9304;
- ディスク9306(例えば記憶媒体)のためのディスクドライブ9305、ここでディスク駆動9305は、ディスク9306からデータを読み取るか、またはディスク9306にデータを書き込むように構成されている。または、
- キーボード9310、タッチスクリーン、または他の任意のポインティング/入力手段によって、データを表示し、および/またはユーザとのグラフィカルインターフェースとして機能するためのスクリーン9309。
また、本発明の他の実施形態によれば、前述の実施形態によるデコーダがコンピュータ、携帯電話(携帯電話)、タブレット、またはコンテンツをユーザに提供/表示することができる任意の他のタイプのデバイス(例えば、ディスプレイ装置)などのユーザ端末に提供されることも理解される。さらに別の実施形態によれば、前述の実施形態によるエンコーダはエンコーダがエンコードするためのコンテンツをキャプチャし、提供するカメラ、ビデオカメラ、またはネットワークカメラ(例えば、閉回路テレビまたはビデオ監視カメラ)も備える画像キャプチャ装置に提供される。2つのこのような実施形態が、図14および15を参照して以下に提供される。
Claims (22)
- 画像の1以上の画像部分に対するアダプティブループフィルタを制御する方法であって、
画像部分の第1のサンプル値に対するフィルタリングを、該第1のサンプル値の1以上の隣接サンプル値に基づいて、制御し、
前記制御は、前記1以上の隣接サンプル値に基づく1以上の変数を持つ非線形関数を用いる
ことを特徴とする方法。 - 前記1以上の隣接サンプル値に基づく1以上の変数は、前記第1のサンプル値と、前記1以上の隣接サンプル値の各々との間の差分を含む
ことを特徴とする請求項1に記載の方法。 - 前記非線形関数は、前記第1のサンプル値、前記1以上の隣接サンプル値、及び、クリッピングパラメータに基づく1以上の制御パラメータを持つ1以上のクリッピング関数を有する
ことを特徴とする請求項1又は2に記載の - 前記1以上のクリッピング関数の各々は、
max(-b、min(b,d))、min(b、max(-b,d))、max(c-b、min(c+b,n))、min(c+b、max(c-b,n))のいずれかを返す、
ここで、cは前記第1のサンプル値、nは隣接するサンプル値、d=n-c、bはクリッピングパラメータである
ことを特徴とする請求項3に記載の方法。 - クリッピング関数と共に使用するためのクリッピングパラメータは、複数のクリッピングパラメータ値からクリッピングパラメータ値を識別するためのインデックスを使用して決定可能である
ことを特徴とする請求項3または4に記載の方法。 - 画像の1つまたは複数の部分、それに関連付けられたクロマサンプルおよびルマサンプルを有する画像部分を処理する方法であって、
ビットストリーム、または、画像部分の第1のサンプル値およびその隣接サンプル値から得られた情報に基づいて、
請求項1乃至5のいずれか1項に記載の方法を使用して、制御されるフィルタを使用するか使用しないか、前記フィルタの使用の可とするか不可とするか、または第1のサンプル値をフィルタリングするときに前記フィルタと共に使用するためのフィルタリングパラメータ
の少なくとも1つを決定することを特徴とする方法。 - 1つまたは複数の画像を符号化する方法であって、
画像の1つまたは複数の部分について、請求項1~5のいずれか1項に記載の方法に従ってフィルタを制御する、または、請求項6に記載の方法に従って処理する
ことを特徴とする方法。 - 更に、
画像を受信すること、
受信した画像を符号化してビットストリームを生成すること、
前記符号化された画像を処理することを有し、
ここで前記処理は、請求項1~5のいずれか1項に記載の方法による制御、または請求項6に記載の方法による処理を含む
ことを特徴とする方法。 - 前記情報を前記ビットストリームに提供することをさらに含む、請求項6に従属する請求項8に記載の方法。
- 更に、
複数の利用可能な関数から非線形関数または1以上のクリッピング関数を選択すること、
符号化された画像を処理するときに選択された関数を使用すること、
選択した関数を識別するための情報を前記ビットストリームで提供すること
を含むことを特徴とする請求項8又は9に記載の方法。 - 1つまたは複数の画像を復号する方法であって、
画像の1以上の部分について、請求項1~5のいずれか1項に記載の方法によるフィルタを制御すること、または請求項6に記載の方法によって処理すること
を含むことを特徴とする方法。 - 更に、
ビットストリームを受信すること、
画像を得るため、受信したビットストリームを復号すること、
得られた画像を処理することを有し、
前記処理は、請求項1~5のいずれか1項に記載の方法による制御すること、又は、請求項6による処理することをを含む
ことを特徴とする方法。 - 更に、前記ビットストリームから前記情報を得ることを有する、
請求項6に従属する請求項12に記載の方法。 - 更に、
前記ビットストリームから、複数の利用可能な関数から非線形関数または1以上のクリッピング関数を識別するための情報を得ること、
得られた画像を処理するときに識別された関数を使用すること
を有することを特徴とする請求項12又は13に記載の方法。 - 画像の1以上の部分に対するフィルタを制御するデバイスであって、
請求項1~5、または6のいずれか1項に記載の方法を実行するように構成されたコントローラを備える
ことを特徴とするデバイス。 - 画像を符号化するデバイスであって、請求項15に記載の制御装置を含むことを特徴とするデバイス。
- 前記デバイスは、請求項7乃至10のいずれか1項に記載の方法を実行するように構成されることを特徴とする請求項16に記載のデバイス。
- 画像を復号するデバイスであって、請求項15に記載の制御デバイスを有することを特徴とするデバイス。
- 前記デバイスは、請求項11~14のいずれか1項に記載の方法を実行するように構成されることを特徴とするデバイス。
- コンピュータ又はプロセッサにて実行されるプログラムであって、前記コンピュータ又はプロセッサに、請求項1~5,6,7~10、又は11~14のいずれか1項に記載の方法を実行させるためのプログラム。
- 請求項20に記載のコンピュータプログラムを格納したコンピュータ可読記憶媒体。
- 請求項7~10のいずれか1項に記載の方法を用いて符号化された画像に対する情報データセットを搬送する信号であって、
前記画像は、再構成可能なサンプルのセットを含み、
各再構成可能なサンプルは、サンプル値を有し、
情報データセットは、第1の再構成可能なサンプルに隣接するサンプルのサンプル値に基づいて、前記第1の再構成可能なサンプルに対するフィルタリングを制御するための制御データを含む
ことを特徴とする信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023109613A JP7549709B2 (ja) | 2018-12-21 | 2023-07-03 | 非線形クリッピングのアダプティブループフィルタ |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1821156.5 | 2018-12-21 | ||
GB1821156.5A GB2580173B (en) | 2018-12-21 | 2018-12-21 | A filter |
GB1901775.5 | 2019-02-08 | ||
GB1901775.5A GB2580190B (en) | 2018-12-21 | 2019-02-08 | Adaptive loop filter using a nonlinear function |
PCT/EP2019/083066 WO2020126411A1 (en) | 2018-12-21 | 2019-11-29 | Adaptive loop filtering (alf) with non-linear clipping |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023109613A Division JP7549709B2 (ja) | 2018-12-21 | 2023-07-03 | 非線形クリッピングのアダプティブループフィルタ |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022511745A true JP2022511745A (ja) | 2022-02-01 |
JPWO2020126411A5 JPWO2020126411A5 (ja) | 2022-08-19 |
JP7308946B2 JP7308946B2 (ja) | 2023-07-14 |
Family
ID=65364473
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021528450A Active JP7308946B2 (ja) | 2018-12-21 | 2019-11-29 | 非線形クリッピングのアダプティブループフィルタ |
JP2023109613A Active JP7549709B2 (ja) | 2018-12-21 | 2023-07-03 | 非線形クリッピングのアダプティブループフィルタ |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023109613A Active JP7549709B2 (ja) | 2018-12-21 | 2023-07-03 | 非線形クリッピングのアダプティブループフィルタ |
Country Status (9)
Country | Link |
---|---|
US (6) | US11750804B2 (ja) |
EP (1) | EP3900334A1 (ja) |
JP (2) | JP7308946B2 (ja) |
KR (1) | KR20210099134A (ja) |
CN (6) | CN118354074A (ja) |
BR (1) | BR112021012035A2 (ja) |
GB (2) | GB2580173B (ja) |
TW (1) | TWI834773B (ja) |
WO (1) | WO2020126411A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023521324A (ja) * | 2021-03-12 | 2023-05-24 | テンセント・アメリカ・エルエルシー | ビデオフィルタリングのための方法および装置 |
JP7554776B2 (ja) | 2019-05-21 | 2024-09-20 | クアルコム,インコーポレイテッド | 適応ループフィルタのためのクリッピング値算出の簡易化 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2580173B (en) | 2018-12-21 | 2022-07-27 | Canon Kk | A filter |
US11991353B2 (en) * | 2019-03-08 | 2024-05-21 | Canon Kabushiki Kaisha | Adaptive loop filter |
CN117319681A (zh) | 2019-04-02 | 2023-12-29 | 北京字节跳动网络技术有限公司 | 基于双向光流的视频编解码和解码 |
CN113728630B (zh) | 2019-04-19 | 2023-11-17 | 北京字节跳动网络技术有限公司 | 不同运动矢量细化中的基于区域的梯度计算 |
US11368684B2 (en) * | 2019-04-23 | 2022-06-21 | Qualcomm Incorporated | Adaptation parameter sets (APS) for adaptive loop filter (ALF) parameters |
US11284114B2 (en) * | 2019-04-23 | 2022-03-22 | Qualcomm Incorporated | Adaptive loop filter set index signaling |
JP6912642B2 (ja) | 2019-06-20 | 2021-08-04 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
JP6811931B2 (ja) * | 2019-06-20 | 2021-01-13 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
CN114846790A (zh) * | 2019-12-17 | 2022-08-02 | 瑞典爱立信有限公司 | 低复杂度图像滤波器 |
CN115462071A (zh) | 2020-03-11 | 2022-12-09 | 抖音视界有限公司 | 自适应环路滤波 |
JP7514330B2 (ja) | 2020-05-31 | 2024-07-10 | 北京字節跳動網絡技術有限公司 | ローカルデュアルツリーモードタイプ定義を伴うパレットモード |
JP7320573B2 (ja) | 2020-11-18 | 2023-08-03 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
JP6941752B1 (ja) * | 2020-11-18 | 2021-09-29 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
US11546638B2 (en) * | 2020-12-08 | 2023-01-03 | Tencent America LLC | Method and apparatus for video filtering |
CN116746152A (zh) * | 2021-01-22 | 2023-09-12 | Oppo广东移动通信有限公司 | 视频编解码方法与系统、及视频编码器与视频解码器 |
US11750846B2 (en) * | 2021-03-22 | 2023-09-05 | Tencent America LLC | Method and apparatus for video filtering |
WO2023020305A1 (en) * | 2021-08-14 | 2023-02-23 | Beijing Bytedance Network Technology Co., Ltd. | Improved fusion mode for adaptive loop filter in video coding |
CN117882370A (zh) * | 2021-08-14 | 2024-04-12 | 抖音视界有限公司 | 视频编解码中的自适应环路滤波器的高级融合模式 |
CN117882371A (zh) * | 2021-08-14 | 2024-04-12 | 抖音视界有限公司 | 视频编解码中的自适应环路滤波器的融合模式 |
WO2024012167A1 (en) * | 2022-07-15 | 2024-01-18 | Mediatek Inc. | Method and apparatus for adaptive loop filter with non-local or high degree taps for video coding |
WO2024082899A1 (en) * | 2022-10-18 | 2024-04-25 | Mediatek Inc. | Method and apparatus of adaptive loop filter selection for positional taps in video coding |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110274158A1 (en) * | 2010-05-10 | 2011-11-10 | Mediatek Inc. | Method and Apparatus of Adaptive Loop Filtering |
EP2477403A1 (en) * | 2011-01-14 | 2012-07-18 | Samsung Electronics Co., Ltd. | Filter adaptation with directional features for video/image coding |
JP2014239557A (ja) * | 2011-11-03 | 2014-12-18 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 画像符号化方法および画像符号化装置 |
JP2016184963A (ja) * | 2012-04-06 | 2016-10-20 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに記録媒体 |
EP3244611A1 (en) * | 2016-05-13 | 2017-11-15 | Thomson Licensing | Method and apparatus for video coding with adaptive clipping of pixel values |
WO2018186433A1 (ja) * | 2017-04-06 | 2018-10-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
JP2021034848A (ja) * | 2019-08-22 | 2021-03-01 | シャープ株式会社 | 画像復号装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101754010A (zh) * | 2008-12-18 | 2010-06-23 | 北京中星微电子有限公司 | 视频数据编码的环路滤波方法和滤波器 |
US8259819B2 (en) | 2009-12-10 | 2012-09-04 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and apparatus for improving video quality by utilizing a unified loop filter |
US9641866B2 (en) | 2011-08-18 | 2017-05-02 | Qualcomm Incorporated | Applying partition-based filters |
EP2737705A4 (en) | 2011-10-24 | 2016-03-02 | Mediatek Inc | METHOD AND APPARATUS FOR NON-INTER-TILE BUCKLE FILTERING |
GB201119206D0 (en) | 2011-11-07 | 2011-12-21 | Canon Kk | Method and device for providing compensation offsets for a set of reconstructed samples of an image |
US9955153B2 (en) * | 2012-01-05 | 2018-04-24 | Google Technology Holdings LLC | Devices and methods for sample adaptive offset coding |
EP3761641A1 (en) | 2013-11-15 | 2021-01-06 | MediaTek Inc. | Method of block-based adaptive loop filtering |
KR102276854B1 (ko) * | 2014-07-31 | 2021-07-13 | 삼성전자주식회사 | 인루프 필터 파라미터 예측을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 |
EP3298780B1 (en) * | 2015-05-20 | 2020-01-01 | Telefonaktiebolaget LM Ericsson (publ) | Pixel processing and encoding |
KR102517615B1 (ko) * | 2015-06-12 | 2023-04-04 | 파나소닉 아이피 매니지먼트 가부시키가이샤 | 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치 및 화상 복호 장치 |
US10750170B2 (en) | 2015-06-18 | 2020-08-18 | Lg Electronics Inc. | Image filtering method and device in image coding system |
CA3023986A1 (en) | 2016-05-13 | 2017-11-16 | Interdigital Vc Holdings, Inc. | Method and apparatus for video coding with adaptive clipping |
EP3297282A1 (en) * | 2016-09-15 | 2018-03-21 | Thomson Licensing | Method and apparatus for video coding with adaptive clipping |
CN115442596A (zh) * | 2017-10-20 | 2022-12-06 | 韩国电子通信研究院 | 图像编码、解码方法以及存储比特流的记录介质 |
GB2580173B (en) | 2018-12-21 | 2022-07-27 | Canon Kk | A filter |
CN117319686A (zh) * | 2019-07-26 | 2023-12-29 | 寰发股份有限公司 | 用于视频编解码的方法及其装置 |
-
2018
- 2018-12-21 GB GB1821156.5A patent/GB2580173B/en active Active
-
2019
- 2019-02-08 GB GB1901775.5A patent/GB2580190B/en active Active
- 2019-11-29 CN CN202410366025.7A patent/CN118354074A/zh active Pending
- 2019-11-29 CN CN202410366016.8A patent/CN118354071A/zh active Pending
- 2019-11-29 CN CN202410366031.2A patent/CN118413643A/zh active Pending
- 2019-11-29 CN CN202410366023.8A patent/CN118354073A/zh active Pending
- 2019-11-29 US US17/415,654 patent/US11750804B2/en active Active
- 2019-11-29 JP JP2021528450A patent/JP7308946B2/ja active Active
- 2019-11-29 KR KR1020217021789A patent/KR20210099134A/ko not_active Application Discontinuation
- 2019-11-29 CN CN202410366021.9A patent/CN118354072A/zh active Pending
- 2019-11-29 EP EP19813297.9A patent/EP3900334A1/en active Pending
- 2019-11-29 WO PCT/EP2019/083066 patent/WO2020126411A1/en active Application Filing
- 2019-11-29 CN CN201980085269.5A patent/CN113228646B/zh active Active
- 2019-11-29 BR BR112021012035-1A patent/BR112021012035A2/pt unknown
- 2019-11-29 TW TW108143684A patent/TWI834773B/zh active
-
2023
- 2023-07-03 JP JP2023109613A patent/JP7549709B2/ja active Active
- 2023-07-20 US US18/356,063 patent/US20230379461A1/en active Pending
- 2023-07-20 US US18/356,112 patent/US20240048696A1/en active Pending
- 2023-07-20 US US18/355,933 patent/US12052416B2/en active Active
- 2023-07-20 US US18/356,072 patent/US20230379462A1/en active Pending
- 2023-07-20 US US18/356,007 patent/US20230370595A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110274158A1 (en) * | 2010-05-10 | 2011-11-10 | Mediatek Inc. | Method and Apparatus of Adaptive Loop Filtering |
EP2477403A1 (en) * | 2011-01-14 | 2012-07-18 | Samsung Electronics Co., Ltd. | Filter adaptation with directional features for video/image coding |
JP2014239557A (ja) * | 2011-11-03 | 2014-12-18 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 画像符号化方法および画像符号化装置 |
JP2016184963A (ja) * | 2012-04-06 | 2016-10-20 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに記録媒体 |
EP3244611A1 (en) * | 2016-05-13 | 2017-11-15 | Thomson Licensing | Method and apparatus for video coding with adaptive clipping of pixel values |
WO2018186433A1 (ja) * | 2017-04-06 | 2018-10-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
JP2021034848A (ja) * | 2019-08-22 | 2021-03-01 | シャープ株式会社 | 画像復号装置 |
Non-Patent Citations (1)
Title |
---|
STEINAR MIDTSKOGEN AND JEAN-MARC VALIN: "The AV1 Constrained Directional Enhancement Filter (CDEF)", 2018 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP), JPN6022052170, 13 November 2018 (2018-11-13), pages 1193 - 1197, ISSN: 0004941110 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7554776B2 (ja) | 2019-05-21 | 2024-09-20 | クアルコム,インコーポレイテッド | 適応ループフィルタのためのクリッピング値算出の簡易化 |
JP2023521324A (ja) * | 2021-03-12 | 2023-05-24 | テンセント・アメリカ・エルエルシー | ビデオフィルタリングのための方法および装置 |
JP7408834B2 (ja) | 2021-03-12 | 2024-01-05 | テンセント・アメリカ・エルエルシー | ビデオフィルタリングのための方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
JP7549709B2 (ja) | 2024-09-11 |
JP7308946B2 (ja) | 2023-07-14 |
GB2580173B (en) | 2022-07-27 |
US20230370594A1 (en) | 2023-11-16 |
CN118354074A (zh) | 2024-07-16 |
GB2580190B (en) | 2022-09-14 |
US20220078415A1 (en) | 2022-03-10 |
US20230370595A1 (en) | 2023-11-16 |
US20240048696A1 (en) | 2024-02-08 |
GB201821156D0 (en) | 2019-02-06 |
KR20210099134A (ko) | 2021-08-11 |
GB201901775D0 (en) | 2019-03-27 |
GB2580190A (en) | 2020-07-15 |
CN113228646B (zh) | 2024-04-05 |
US11750804B2 (en) | 2023-09-05 |
US12052416B2 (en) | 2024-07-30 |
US20230379462A1 (en) | 2023-11-23 |
WO2020126411A1 (en) | 2020-06-25 |
GB2580173A (en) | 2020-07-15 |
US20230379461A1 (en) | 2023-11-23 |
JP2023123788A (ja) | 2023-09-05 |
TW202025740A (zh) | 2020-07-01 |
CN118354072A (zh) | 2024-07-16 |
CN113228646A (zh) | 2021-08-06 |
CN118354071A (zh) | 2024-07-16 |
CN118354073A (zh) | 2024-07-16 |
EP3900334A1 (en) | 2021-10-27 |
CN118413643A (zh) | 2024-07-30 |
BR112021012035A2 (pt) | 2021-09-21 |
TWI834773B (zh) | 2024-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7549709B2 (ja) | 非線形クリッピングのアダプティブループフィルタ | |
JP7391170B2 (ja) | アダプティブループフィルタ | |
JP7308983B2 (ja) | クロマのためのクロスコンポーネント適応(アダプティブ)ループフィルタ | |
JP2019534629A (ja) | 画像処理方法及びこのための装置 | |
US20190306534A1 (en) | Unification of deblocking filter and adaptive loop filter | |
GB2582031A (en) | An adaptive loop filter | |
KR20240042642A (ko) | 교차 성분 샘플 적응적 오프셋에서의 코딩 강화 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210702 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210702 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220623 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220809 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20220809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230203 |
|
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: 20230605 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230704 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7308946 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |