JP7308946B2 - 非線形クリッピングのアダプティブループフィルタ - Google Patents
非線形クリッピングのアダプティブループフィルタ Download PDFInfo
- Publication number
- JP7308946B2 JP7308946B2 JP2021528450A JP2021528450A JP7308946B2 JP 7308946 B2 JP7308946 B2 JP 7308946B2 JP 2021528450 A JP2021528450 A JP 2021528450A JP 2021528450 A JP2021528450 A JP 2021528450A JP 7308946 B2 JP7308946 B2 JP 7308946B2
- Authority
- JP
- Japan
- Prior art keywords
- filter
- clipping
- alf
- sample
- values
- 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.)
- Active
Links
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/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
- 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)
- Compression Or Coding Systems Of Tv Signals (AREA)
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 (11)
- 画像における1以上の画像部分を、アダプティブループフィルタを用いてフィルタリングする符号化方法であって、
前記画像における画像部分の第1のサンプルの値に対して、該第1のサンプルの複数の近傍サンプルの値に基づいて、前記フィルタリングを実行し、
前記フィルタリングは、前記複数の近傍サンプルに対応する複数のクリッピング関数を少なくとも含む非線形の数式を用いて実行され、
前記複数のクリッピング関数におけるクリッピング関数は、
前記第1のサンプルの値と、該第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))のいずれかと同じ結果を出力する関数であり、
ここで、cは前記第1のサンプルの値、nは前記第1のサンプルの近傍サンプルの値、d=n-c、bは前記値の範囲を規定するためのパラメータである
ことを特徴とする請求項1に記載の方法。 - 前記複数のクリッピング関数に含まれる前記パラメータは、複数のパラメータから、使用されるパラメータを識別するためのインデックスを使用して決定される
ことを特徴とする請求項1または2に記載の方法。 - 前記画像を符号化してビットストリームを生成すること、
を更に有することを特徴とする請求項1~3のいずれか1項に記載の方法。 - 画像における1以上の画像部分を、アダプティブループフィルタを用いてフィルタリングする復号方法であって、
前記画像における画像部分の第1のサンプルの値に対して、該第1のサンプルの複数の近傍サンプルの値に基づいて、前記フィルタリングを実行し、
前記フィルタリングは、前記複数の近傍サンプルに対応する複数のクリッピング関数を少なくとも含む非線形の数式を用いて実行され、
前記複数のクリッピング関数におけるクリッピング関数は、
前記第1のサンプルの値と、該第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))のいずれかと同じ結果を出力する関数であり、
ここで、cは前記第1のサンプルの値、nは前記第1のサンプルの近傍サンプルの値、d=n-c、bは前記値の範囲を規定するためのパラメータである
ことを特徴とする請求項5に記載の方法。 - 前記複数のクリッピング関数に含まれる前記パラメータは、複数のパラメータから、使用されるパラメータを識別するためのインデックスを使用して決定される
ことを特徴とする請求項5又は6に記載の方法。 - 前記画像を得るため、ビットストリームからデータを復号すること、
を更に有することを特徴とする請求項5~7のいずれか1項に記載の方法。 - 画像における1以上の画像部分を、アダプティブループフィルタを用いてフィルタリングする符号化装置であって、
前記画像における画像部分の第1のサンプルの値に対して、該第1のサンプルの複数の近傍サンプルの値に基づいて、前記フィルタリングを実行するフィルタリング手段を有し、
前記フィルタリングは、前記複数の近傍サンプルに対応する複数のクリッピング関数を少なくとも含む非線形の数式を用いて実行され、
前記複数のクリッピング関数におけるクリッピング関数は、
前記第1のサンプルの値と、該第1のサンプルの近傍サンプルの値との差分値が、該クリッピング関数で規定される値の範囲内である場合に、前記差分値を出力し、
前記差分値が前記値の範囲外である場合は、該クリッピング関数で規定される値を出力し、
前記第1のサンプルの値に対する前記フィルタリングに用いられる前記複数のクリッピング関数それぞれは、対応する前記第1のサンプルの近傍サンプルの位置に応じた、前記値の範囲を規定するためのパラメータを用いる関数である
ことを特徴とする装置。 - 画像における1以上の画像部分を、アダプティブループフィルタを用いてフィルタリングする復号装置であって、
前記画像における画像部分の第1のサンプルの値に対して、該第1のサンプルの複数の近傍サンプルの値に基づいて、前記フィルタリングを実行するフィルタリング手段を有し、
前記フィルタリングは、前記複数の近傍サンプルに対応する複数のクリッピング関数を少なくとも含む非線形の数式を用いて実行され、
前記複数のクリッピング関数におけるクリッピング関数は、
前記第1のサンプルの値と、該第1のサンプルの近傍サンプルの値との差分値が、該クリッピング関数で規定される値の範囲内である場合に、前記差分値を出力し、
前記差分値が前記値の範囲外である場合は、該クリッピング関数で規定される値を出力し、
前記第1のサンプルの値に対する前記フィルタリングに用いられる前記複数のクリッピング関数それぞれは、対応する前記第1のサンプルの近傍サンプルの位置に応じた、前記値の範囲を規定するためのパラメータを用いる関数である
ことを特徴とする装置。 - コンピュータに、請求項1~8のいずれか1項に記載の方法を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023109613A JP2023123788A (ja) | 2018-12-21 | 2023-07-03 | 非線形クリッピングのアダプティブループフィルタ |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1821156.5A GB2580173B (en) | 2018-12-21 | 2018-12-21 | A filter |
GB1821156.5 | 2018-12-21 | ||
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 JP2023123788A (ja) | 2018-12-21 | 2023-07-03 | 非線形クリッピングのアダプティブループフィルタ |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022511745A JP2022511745A (ja) | 2022-02-01 |
JPWO2020126411A5 JPWO2020126411A5 (ja) | 2022-08-19 |
JP7308946B2 true 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 Pending JP2023123788A (ja) | 2018-12-21 | 2023-07-03 | 非線形クリッピングのアダプティブループフィルタ |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023109613A Pending JP2023123788A (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 (1) | CN113228646B (ja) |
BR (1) | BR112021012035A2 (ja) |
GB (2) | GB2580173B (ja) |
TW (1) | TWI834773B (ja) |
WO (1) | WO2020126411A1 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2580173B (en) | 2018-12-21 | 2022-07-27 | Canon Kk | A filter |
JP7256874B2 (ja) * | 2019-03-08 | 2023-04-12 | キヤノン株式会社 | アダプティブループフィルタ |
KR20230165888A (ko) | 2019-04-02 | 2023-12-05 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 양방향 광학 흐름 기반 비디오 코딩 및 디코딩 |
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株式会社 | 画像復号装置、画像復号方法及びプログラム |
US20230023387A1 (en) * | 2019-12-17 | 2023-01-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Low complexity image filter |
EP4104438A4 (en) | 2020-03-11 | 2023-08-16 | Beijing Bytedance Network Technology Co., Ltd. | ADAPTIVE LOOP FILTERING |
EP4154537A4 (en) | 2020-05-31 | 2024-02-07 | Beijing Bytedance Network Technology Co., Ltd. | PALETTE MODE WITH LOCAL DOUBLE TREE MODE TYPE DEFINITION |
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 |
CN117082239A (zh) * | 2021-01-22 | 2023-11-17 | Oppo广东移动通信有限公司 | 视频编解码方法与系统、及视频编码器与视频解码器 |
US11785213B2 (en) | 2021-03-12 | 2023-10-10 | Tencent America LLC | Method and apparatus for video filtering |
US11750846B2 (en) * | 2021-03-22 | 2023-09-05 | Tencent America LLC | Method and apparatus for video filtering |
CN117813823A (zh) * | 2021-08-14 | 2024-04-02 | 抖音视界有限公司 | 视频编解码中自适应环路滤波器的改进融合模式 |
CN117882370A (zh) * | 2021-08-14 | 2024-04-12 | 抖音视界有限公司 | 视频编解码中的自适应环路滤波器的高级融合模式 |
WO2023020318A1 (en) * | 2021-08-14 | 2023-02-23 | Beijing Bytedance Network Technology Co., Ltd. | Fusion mode for adaptive loop filter in video coding |
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 (6)
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 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
Family Cites Families (15)
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 |
WO2013060250A1 (en) | 2011-10-24 | 2013-05-02 | Mediatek Inc. | Method and apparatus for non-cross-tile loop 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 |
BR112016011075B1 (pt) | 2013-11-15 | 2023-04-04 | Mediatek Inc | Método de filtragem de laço adaptativa baseada em blocos |
KR102276854B1 (ko) * | 2014-07-31 | 2021-07-13 | 삼성전자주식회사 | 인루프 필터 파라미터 예측을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 |
US9918095B1 (en) * | 2015-05-20 | 2018-03-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Pixel processing and encoding |
CN107736027B (zh) * | 2015-06-12 | 2021-06-01 | 松下知识产权经营株式会社 | 图像编码方法、图像解码方法、图像编码装置及图像解码装置 |
WO2016204374A1 (ko) | 2015-06-18 | 2016-12-22 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 필터링 방법 및 장치 |
EP3297282A1 (en) * | 2016-09-15 | 2018-03-21 | Thomson Licensing | Method and apparatus for video coding with adaptive clipping |
CN115442599A (zh) * | 2017-10-20 | 2022-12-06 | 韩国电子通信研究院 | 图像编码、解码方法以及存储比特流的记录介质 |
GB2580173B (en) | 2018-12-21 | 2022-07-27 | Canon Kk | A filter |
JP2021034848A (ja) * | 2019-08-22 | 2021-03-01 | シャープ株式会社 | 画像復号装置 |
-
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 TW TW108143684A patent/TWI834773B/zh active
- 2019-11-29 CN CN201980085269.5A patent/CN113228646B/zh active Active
- 2019-11-29 KR KR1020217021789A patent/KR20210099134A/ko not_active Application Discontinuation
- 2019-11-29 WO PCT/EP2019/083066 patent/WO2020126411A1/en active Application Filing
- 2019-11-29 EP EP19813297.9A patent/EP3900334A1/en active Pending
- 2019-11-29 BR BR112021012035-1A patent/BR112021012035A2/pt unknown
- 2019-11-29 JP JP2021528450A patent/JP7308946B2/ja active Active
- 2019-11-29 US US17/415,654 patent/US11750804B2/en active Active
-
2023
- 2023-07-03 JP JP2023109613A patent/JP2023123788A/ja active Pending
- 2023-07-20 US US18/356,112 patent/US20240048696A1/en active Pending
- 2023-07-20 US US18/356,007 patent/US20230370595A1/en active Pending
- 2023-07-20 US US18/356,063 patent/US20230379461A1/en active Pending
- 2023-07-20 US US18/356,072 patent/US20230379462A1/en active Pending
- 2023-07-20 US US18/355,933 patent/US20230370594A1/en active Pending
Patent Citations (6)
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 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
Non-Patent Citations (1)
Title |
---|
MIDTSKOGEN, Steinar et al.,The AV1 Constrained Directional Enhancement Filter (CDEF),Proc. IEEE International Conference on Acoustics, Speech and Signal Processing 2018,IEEE,2018年09月13日,pp.1193-1197,[online],Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/document/8462021> |
Also Published As
Publication number | Publication date |
---|---|
TWI834773B (zh) | 2024-03-11 |
CN113228646B (zh) | 2024-04-05 |
US20230379461A1 (en) | 2023-11-23 |
US20230370595A1 (en) | 2023-11-16 |
GB201901775D0 (en) | 2019-03-27 |
GB2580190A (en) | 2020-07-15 |
US20230370594A1 (en) | 2023-11-16 |
JP2023123788A (ja) | 2023-09-05 |
EP3900334A1 (en) | 2021-10-27 |
BR112021012035A2 (pt) | 2021-09-21 |
GB2580173B (en) | 2022-07-27 |
GB2580190B (en) | 2022-09-14 |
US20240048696A1 (en) | 2024-02-08 |
JP2022511745A (ja) | 2022-02-01 |
GB2580173A (en) | 2020-07-15 |
TW202025740A (zh) | 2020-07-01 |
US20230379462A1 (en) | 2023-11-23 |
KR20210099134A (ko) | 2021-08-11 |
US20220078415A1 (en) | 2022-03-10 |
US11750804B2 (en) | 2023-09-05 |
GB201821156D0 (en) | 2019-02-06 |
CN113228646A (zh) | 2021-08-06 |
WO2020126411A1 (en) | 2020-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7308946B2 (ja) | 非線形クリッピングのアダプティブループフィルタ | |
JP7256874B2 (ja) | アダプティブループフィルタ | |
EP3417613B1 (en) | Geometric transforms for filters for video coding | |
JP7308983B2 (ja) | クロマのためのクロスコンポーネント適応(アダプティブ)ループフィルタ | |
WO2019195281A1 (en) | Unification of deblocking filter and adaptive loop filter | |
GB2582031A (en) | An adaptive loop filter | |
GB2591446A (en) | An adaptive loop filter | |
GB2584908A (en) | An adaptive loop filter |
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 |