(57)【要約】  ブロック符号でエンコードされたイメージの第１のブロックと第２のブロックとの間のブロックエッジをデブロッキングするための、イメージエンコーダ及び／又はイメージデコーダにおける使用のためのイメージ処理デバイス（５０１）が提供される。イメージ処理デバイス（５０１）は、ブロックエッジをフィルタリングするためのフィルタ（５０２）を備え、ブロックエッジからのデブロッキング範囲であって、ブロックエッジに垂直となるデブロッキング範囲内のフィルタリング対象の画素の少なくともいくつかに対して、画素の元の画素値及び少なくとも１つのさらなる画素値からフィルタリングされる画素値を決定し、ブロックエッジからの画素の距離に依存する画素のクリッピング値を決定し、クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られるように構成される。
2022500942.tif 000002
【特許請求の範囲】
【請求項１】
イメージの第１のブロックと第２のブロックとの間のブロックエッジをデブロッキングするために、イメージエンコーダ及び／又はイメージデコーダにおける使用のためのイメージ処理デバイスであって、前記イメージ処理デバイスは、前記ブロックエッジをフィルタリングするためのフィルタを備え、前記ブロックエッジからのデブロッキング範囲内のフィルタリング対象の少なくとも１つの画素に対して、
前記画素の元の画素値からフィルタリングされる画素値を決定し、
前記画素のクリッピング値を用いて前記フィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られる
ように構成され、
前記クリッピング値は、前記ブロックエッジからの前記画素の距離に依存する、イメージ処理デバイス。
【請求項２】
前記クリッピング値は、前記元の画素値と前記デブロッキングされた画素値との間で最大限許容される変化量である、請求項１に記載のイメージ処理デバイス。
【請求項３】
前記クリッピング値を用いて前記フィルタリングされる画素値を前記クリッピングして、結果として前記デブロッキングされた画素値が得られることは、
前記フィルタリングされる画素値と前記元の画素値との間の差の絶対値が前記画素の前記クリッピング値を越えない場合、前記デブロッキングされた画素値を前記フィルタリングされる画素値に設定すること、
前記フィルタリングされる画素値が前記元の画素値プラス前記クリッピング値を超える場合、前記デブロッキングされた画素値を、前記元の画素値プラス前記画素の前記クリッピング値に設定すること、又は、
前記フィルタリングされる画素値が、前記元の画素値マイナス前記クリッピング値より小さい場合、前記デブロッキングされた画素値を前記元の画素値マイナス前記画素の前記クリッピング値に設定すること
を含む、請求項１又は２に記載のイメージ処理デバイス。
【請求項４】
前記フィルタは、関数又はルックアップテーブルを用いることにより、前記ブロックエッジからの前記画素の前記距離に依存する前記画素の前記クリッピング値を決定するように適合される、請求項１から３のいずれか一項に記載のイメージ処理デバイス。
【請求項５】
前記クリッピング値は、前記ブロックエッジからの前記画素の前記距離の単調に減少する関数である、請求項１から３のいずれか一項に記載のイメージ処理デバイス。
【請求項６】
前記単調に減少する関数は指数関数である、請求項５に記載のイメージ処理デバイス。
【請求項７】
前記関数は、ｔｃ'＝ｔｃ＋（ｔｃ＞＞ｉ）であり、ｔｃ'は前記クリッピング値であり、ｔｃは一定値であり、ｉは、前記ブロックエッジからの前記画素の前記距離であり、＞＞は、右シフトを示す、請求項６に記載のイメージ処理デバイス。
【請求項８】
前記フィルタは、前記ブロックエッジから前記デブロッキング範囲内のフィルタリング対象の各画素に対して、
前記画素の前記元の画素値から前記フィルタリングされる画素値を決定し、前記ブロックエッジからの前記画素の前記距離に依存する前記画素の前記クリッピング値を決定し、前記クリッピング値を用いて前記フィルタリングされる画素値をクリッピングして、結果として前記デブロッキングされた画素値が得られるように構成される、請求項１から７のいずれか一項に記載のイメージ処理デバイス。
【請求項９】
前記フィルタは、垂直方向のブロックエッジの場合、決定画素列の数が前記ブロックエッジを囲むブロック内の画素列の数より少ないということに基づいて、及び、水平方向のブロックエッジの場合、決定画像行の数が、前記ブロックエッジを囲む前記ブロック内の画素行の数より少ないということに基づいて、ブロックエッジがフィルタリングされる必要があるかどうかを決定することであって、前記フィルタは、前記ブロックエッジからのデブロッキング範囲内の決定画素行又は決定画素列にはないフィルタリング対象の各画素に対して、前記デブロッキング範囲が前記ブロックエッジに対して垂直となるように構成される、決定することと、
前記画素の前記元の画素値及び前記少なくとも１つのさらなる画素値から前記フィルタリングされる画素値を決定することと、
前記ブロックエッジからの前記画素の前記距離に依存する前記画素の前記クリッピング値を決定することと、
前記クリッピング値を用いて前記フィルタリングされる画素値をクリッピングして、結果として、前記デブロッキングされた画素値が得られることと
を行うように構成され、
前記フィルタは、前記ブロックエッジからのデブロッキング範囲であって、前記ブロックエッジに対して垂直となるデブロッキング範囲内の決定画素行又は決定画素列にあるフィルタリング対象の各画素に対して、
前記画素の前記元の画素値及び前記少なくとも１つのさらなる画素値から前記フィルタリングされる画素値を決定することと、
一定のクリッピング値を用いて前記フィルタリングされる画素値をクリッピングして、結果として前記デブロッキングされた画素値が得られることと
を行うように構成される、請求項１から７のいずれか一項に記載のイメージ処理デバイス。
【請求項１０】
前記フィルタは、少なくとも２個、又は、少なくとも３個、又は、少なくとも４個、又は、少なくとも５個、又は、少なくとも６個、又は、少なくとも７個、又は、少なくとも８個、又は、少なくとも９個、又は、少なくとも１０個、又は、少なくとも１１個、又は、少なくとも１２個、又は、少なくとも１３個、又は、少なくとも１４個、又は、少なくとも１５個、又は、少なくとも１６個の画素のフィルタタップ長を有する、請求項１から９のいずれか一項に記載のイメージ処理デバイス。
【請求項１１】
前記デブロッキング範囲は、前記ブロックエッジに対して垂直であるラインにおける画素の数である、請求項１から９のいずれか一項に記載のイメージ処理デバイス。
【請求項１２】
前記フィルタは、前記画素の前記元の画素値及び少なくとも１つのさらなる画素値からフィルタリングされる画素値を決定するように構成される、請求項１から９のいずれか一項に記載のイメージ処理デバイス。
【請求項１３】
請求項１から１２のいずれか一項に記載のイメージ処理デバイスを備える、イメージをエンコードするためのエンコーダ。
【請求項１４】
請求項１から１２のいずれか一項に記載のイメージ処理デバイスを備える、イメージをデコードするためのデコーダ。
【請求項１５】
ブロック符号でエンコードされたイメージの第１のブロックと第２のブロックとの間のブロックエッジをデブロッキングするためのデブロッキング方法であって、前記ブロックエッジからのデブロッキング範囲内のフィルタリング対象の少なくとも１つの画素に対して、
前記画素の元の画素値からフィルタリングされる画素値を決定する段階と、
前記画素のクリッピング値を用いて前記フィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られる段階であって、前記クリッピング値は、前記ブロックエッジからの前記画素の距離に依存する、段階と
を備える方法。
【請求項１６】
前記クリッピング値は、前記元の画素値と前記デブロッキングされた画素値との間で最大限許容される変化量である、請求項１５に記載の方法。
【請求項１７】
前記クリッピング値を用いて、前記フィルタリングされる画素値を前記クリッピングして、結果として、前記デブロッキングされた画素値が得られる段階は、
前記フィルタリングされる画素値と前記元の画素値との間の差の絶対値が前記画素の前記クリッピング値を越えない場合、前記デブロッキングされた画素値を前記フィルタリングされる画素値に設定する段階、
前記フィルタリングされる画素値が、前記元の画素値プラス前記クリッピング値を超える場合、前記デブロッキングされた画素値を前記元の画素値プラス前記画素の前記クリッピング値に設定する段階、又は、
前記フィルタリングされる画素値が、前記元の画素値マイナス前記画素の前記クリッピング値より小さい場合、前記デブロッキングされた画素値を前記元の画素値マイナス前記クリッピング値に設定する段階
を有する、請求項１５又は１６に記載の方法。
【請求項１８】
関数又はルックアップテーブルを用いることにより、前記ブロックエッジからの前記画素の前記距離に依存する前記画素の前記クリッピング値を決定する段階をさらに備える、請求項１５から１７のいずれか一項に記載の方法。
【請求項１９】
前記クリッピング値は、前記ブロックエッジからの前記画素の前記距離の単調に減少する関数である、請求項１５から１７のいずれか一項に記載の方法。
【請求項２０】
前記単調に減少する関数は線形関数である、請求項１９に記載の方法。
【請求項２１】
前記デブロッキング範囲は、前記ブロックエッジに対して垂直であるラインにおける画素の数である、請求項１５から２０のいずれか一項に記載の方法。
【請求項２２】
前記画素の前記元の画素値及び少なくとも１つのさらなる画素値から前記フィルタリングされる画素値を決定する段階をさらに備える、請求項１５から２１のいずれか一項に記載の方法。
【請求項２３】
請求項１５から２２のいずれか一項に記載のデブロッキング方法を備える、イメージをエンコードするためのエンコーディング方法。
【請求項２４】
請求項１５から２２のいずれか一項に記載のデブロッキング方法を備える、イメージをデコードするためのデコーディング方法。
【請求項２５】
プロセッサに、請求項１５から２２いずれか一項に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、画像処理の分野、例えば、静止画像及び／又はビデオ画像符号化に関する。特に、本開示は、デブロッキングフィルタの改善に言及する。
【背景技術】
【０００２】
本開示の実施形態は、画像処理の分野、例えば、静止画像及び／又はビデオ画像符号化に関する。特に、本開示は、デブロッキングフィルタの改善に言及する。
【０００３】
Ｈ．２６４／ＡＶＣ及びＨＥＶＣなどのビデオ符号化スキームは、ブロックベースのハイブリッドビデオ符号化の成功原理に沿って設計されている。この原理を用いて、画像は、まずブロックに区分化され、次に、各ブロックがイントラ画像又はインター画像予測を用いることにより予測される。これらのブロックは、隣接ブロックから相対的に符号化され、同程度の類似性を有する元の信号に近似する。符号化されたブロックのみが元の信号に近似するので、近似間の差が、予測における不連続性を引き起こし、ブロック境界を変えてしまうかもしれない。これらの不連続性は、デブロッキングフィルタにより弱められる。ＨＥＶＣは、最大サイズの６４×６４画素の符号化ツリーユニット（ＣＴＵ）の概念を有するＨ．２６４／ＡＶＣのマクロブロック構造に代わるものである。ＣＴＵは、８×８画素の最小サイズまで細分され得るより小さい符号化ユニット（ＣＵ）への四分木分解スキームへとさらに区分化され得る。ＨＥＶＣはまた、予測ブロック（ＰＢ）及び変換ブロック（ＴＢ）の概念を導入する。
【０００４】
ＨＥＶＣでは、２つのフィルタ、すなわち、普通のフィルタ及び強力なフィルタがデブロッキングフィルタにおいて規定される。普通のフィルタは、エッジの両側に対して多くても２つのサンプルを修正する。強力な方は、閾値と比較して、エッジに沿って３つの追加のサンプルをフィルタリングする。これらのチェックのすべてが正しい場合、強力なフィルタが適用される。強力なフィルタは、エッジに沿うサンプルに対してより集中的な平滑化効果を有し、エッジの両側に対して多くても３つのサンプルを修正できる。
【０００５】
ＩＴＵ−Ｔ  ＶＣＥＧ（Ｑ６／１６）及びＩＳＯ／ＩＥＣ  ＭＰＥＧ  （ＪＴＣ１／ＳＣ２９／ＷＧ１１）は、次世代ビデオコーデック、すなわち、多目的ビデオ符号化（ＶＶＣ）を検討している。この新しいビデオコーデック規格は、（スクリーンコンテンツ符号化及び高ダイナミックレンジ符号化のための、その現在の拡張及び短期的な拡張を含む）現在のＨＥＶＣ規格の圧縮能力を大幅に上回る圧縮能力を目標としている。当該グループは、映像符号化共同研究チーム（ＪＶＥＴ）として知られる共同コラボレーションの取り組みにおいて、この調査活動を一緒に作業して、この分野におけるそれらの専門家により提案される圧縮技術設計を評価する。
【０００６】
ＶＶＣテストモデル（ＶＴＭ）は、ＨＥＶＣの性能を超える将来の進化型ビデオ符号化技術として、ＩＴＵ−Ｔ  ＶＣＥＧ及びＩＳＯ／ＩＥＣ  ＭＰＥＧの映像符号化共同研究チーム（ＪＶＥＴ）により協調したテストモデル研究下にある特徴を説明する。ＶＴＭ２．０において現在用いられているデブロッキングフィルタはＨＥＶＣと同じである。 
【０００７】
しかしながら、今のところ、デブロッキングは、特にブロックエッジのすぐそばにはない領域の過度な平滑化又はぼかしの原因となることが多い。これは、準最適な低デブロッキング品質の原因となっている。
【発明の概要】
【０００８】
上述した課題を考慮して、本開示は、従来のデブロッキングフィルタリングを改善することを目標とする。本開示は、最適化された品質でデブロッキングフィルタリングを実行できるイメージ処理デバイスを提供することを目的とする。さらに、デブロッキングは効率的かつ正確となるはずである。
【０００９】
本開示の実施形態は、独立請求項の特徴、及び、従属請求項の特徴による実施形態のさらに有利な実装により規定される。
【００１０】
本開示の第１実施形態によれば、ブロック符号でエンコードされたイメージの第１符号化ブロックと第２符号化ブロックとの間のブロックエッジをデブロッキングするための、イメージエンコーダ及び／又はイメージデコーダにおける使用のためのイメージ処理デバイスが提供される。イメージ処理デバイスは、ブロックエッジをフィルタリングするためのフィルタを備え、ブロックエッジからのデブロッキング範囲であって、ブロックエッジに対して垂直となるデブロッキング範囲内のフィルタリング対象の画素の少なくともいくつかに対して、画素の元の画素値及び少なくとも１つのさらなる画素値からフィルタリングされる画素値を決定し、ブロックエッジからの画素の距離に依存する画素のクリッピング値を決定し、クリッピング値を用いてフィルタリングされる画素値をクリッピングし、結果としてデブロッキングされた画素値が得られるように構成される。これは、過度な平滑化又はぼかしの影響を減らし、デブロッキングの品質を大きく改善する。イメージ処理デバイスは、本開示において説明される演算を実行するための処理回路であってよい。処理回路は、ハードウェア及びソフトウェアを有してよい。処理回路は、例えば、１つ又は複数のプロセッサと、１つ又は複数のプロセッサによる実行のためのプログラムコードを運ぶ不揮発性メモリとを有してよい。１つ又は複数のプロセッサにより実行される場合、プログラムコードは、イメージ処理デバイスに、それぞれの演算を実行するように指示する。
【００１１】
有利なことに、クリッピング値は、元の画素値とデブロッキングされた画素値との間で最大限許容される変化量である。これは、過度な平滑化又はぼかしをさらに制限する。 
【００１２】
さらに有利なことに、クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られることは、フィルタリングされる画素値とデブロッキングされた画素値との間の差の絶対値が画素のクリッピング値を越えない場合、デブロッキングされた画素値をフィルタリングされる画素値に設定することと、フィルタリングされる画素値が元の画素値プラスクリッピング値を超える場合、デブロッキングされた画素値を元の画素値プラス画素のクリッピング値に設定することと、フィルタリングされる画素値が元の画素値マイナスクリッピング値より小さい場合、デブロッキングされた画素値を元の画素値マイナス画素のクリッピング値に設定することとを有する。これは、デブロッキング品質をさらに高める。 
【００１３】
有利なことに、フィルタは、関数又はルックアップテーブルを用いることにより、ブロックエッジからの画素の距離に依存する画素のクリッピング値を決定するように適合される。これは、クリッピング値の非常に正確な設定を可能にし、これにより、デブロッキング品質をさらにもっと向上させることを可能にする。 
【００１４】
さらに有利なことに、フィルタは、ブロックエッジからの画素の距離を拡大しつつ単調に減少する関数を用いることにより、ブロックエッジからの画素の距離に依存する画素のクリッピング値を決定するように適合される。これは、ブロックエッジからの距離を拡大しつつ過度な平滑化又はぼかしの影響を大幅に減らし、これにより、デブロッキング品質を高めている。
【００１５】
有利なことに、関数は指数関数である。これは、特に高いデブロッキング品質をもたらす。
【００１６】
好ましくは、関数は以下のとおりである。
【００１７】
ｔｃ'＝ｔｃ＋（ｔｃ＞＞ｉ）
【００１８】
ｔｃ'はクリッピング値である。
【００１９】
ｔｃは一定値である。
【００２０】
ｉは、ブロックエッジ（４０３、８００）からの画素の距離である。
【００２１】
＞＞は、右シフトを示す。これは、指数関数の単純な計算を可能にする。
【００２２】
用いられ得る別の代替的な指数関数は、以下のとおりである。
【００２３】
ｔｃ'＝（（２＊ｔｃ）＞＞ｉ）
【００２４】
ｔｃ'はクリッピング値である。
【００２５】
ｔｃは一定値である。
【００２６】
ｉは、ブロックエッジ（４０３、８００）からの画素の距離である。
【００２７】
＞＞は、右シフトを示す。これは、指数関数の単純な計算を可能にする。 
【００２８】
代替的に、関数は線形関数である。これは、同時に計算の複雑性を最小限にとどめつつ、デブロッキング品質の向上を可能にする。 
【００２９】
有利なことに、関数は、以下のとおりである。
【００３０】
ｔｃ'＝ｔｃ＋（ｔｃ−（ｉ＊ｘ）
【００３１】
ｔｃ'はクリッピング値である。
【００３２】
ｔｃは一定値である。
【００３３】
ｉは、ブロックエッジ（４０３、８００）からの画素の距離である。
【００３４】
ｘは一定値である。これは、線形関数のとりわけ単純な計算を可能にする。
【００３５】
好ましくは、フィルタは、ブロックエッジからのデブロッキング範囲であって、ブロックエッジに対して垂直となるデブロッキング範囲内のフィルタリング対象の各画素に対して、画素の元の画素値及び少なくとも１つのさらなる画素値からフィルタリングされる画素値を決定し、ブロックエッジからの画素の距離に依存する画素のクリッピング値を決定し、クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られるように適合される。フィルタリング対象の各画素に対して同じ計算を用いることにより、とりわけ単純な実装が実現される。 
【００３６】
代替的に、フィルタは、垂直方向のブロックエッジの場合、決定画素列の数がブロックエッジを囲むブロック内の画素列の数より少ないということに基づいて、及び、水平方向のブロックエッジの場合、決定画像行の数がブロックエッジを囲むブロック内の画素行の数より少ないということに基づいて、ブロックエッジがフィルタリングされる必要があるかどうかを決定するように適合される。フィルタは、次に、ブロックエッジからのデブロッキング範囲であって、ブロックエッジに対して垂直となるデブロッキング範囲内の決定画素行又は決定画素列にはないフィルタリング対象の各画素に対して、画素の元の画素値及び少なくとも１つのさらなる画素値からフィルタリングされる画素値を決定し、ブロックエッジからの画素の距離に依存する画素のクリッピング値を決定し、クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られるように適合される。フィルタは、さらに、ブロックエッジからのデブロッキング範囲であって、ブロックエッジに対して垂直であるデブロッキング範囲内の決定画素行又は決定画素列にあるフィルタリング対象の各画素に対して、画素の元の画素値及び少なくとも１つのさらなる画素値からフィルタの画素値を決定し、一定のクリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果として、デブロッキングされた画素値が得られるように適合される。これは、同時に、決定行又は列にはない画素値が、範囲に依存するクリッピング値を用いてフィルタリングされる一方、決定行又は列内の画素が、固定のクリッピング値を用いてフィルタリングされることを意味する。これは、さらに、増大した計算の複雑性を犠牲にして、デブロッキング品質を高める。 
【００３７】
有利なことに、フィルタは、１個、又は、少なくとも２個、又は、少なくとも３個、又は、少なくとも４個、又は、少なくとも５個、又は、少なくとも６個、又は、少なくとも７個、又は、少なくとも８個、又は、少なくとも９個、又は、少なくとも１０個、又は、少なくとも１１個、又は、少なくとも１２個、又は、少なくとも１３個、又は、少なくとも１４個、又は、少なくとも１５個、又は、少なくとも１６個の画素のフィルタタップ長を有する。これは、多種多様な様々なフィルタ設計への本開示の適用を可能にする。
【００３８】
本開示の第２態様によれば、本開示の第１態様に係るイメージ処理デバイスを備える、イメージをエンコードするためのエンコーダが提供される。
【００３９】
本開示の第３態様によれば、本開示の第１態様に係るイメージ処理デバイスを備える、イメージをデコードするためのデコーダが提供される。
【００４０】
本開示の第４態様によれば、ブロック符号でエンコードされたイメージの第１符号化ブロックと第２符号化ブロックとの間のブロックエッジをデブロッキングするためのデブロッキング方法が提供される。方法は、ブロックエッジからのデブロッキング範囲であって、ブロックエッジに対して垂直となるデブロッキング範囲内のフィルタリング対象の画素の少なくともいくつかに対して、画素の元の画素値及び少なくとも１つのさらなる画素値からフィルタリングされる画素値を決定する段階と、ブロックエッジからの画素の距離に依存する画素のクリッピング値を決定する段階と、クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られる段階とを備える。これは、過度な平滑化又はぼかしの影響を減らし、デブロッキングの品質を大きく改善する。
【００４１】
本開示の第５態様によれば、本開示の第４態様のデブロッキング方法を備える、イメージをエンコードするためのエンコーディング方法が提供される。 
【００４２】
本開示の第６態様によれば、本開示の第４態様に係るデブロッキング方法を備える、イメージをデコードするためのデコーディング方法が提供される。
【００４３】
最後に、本開示の第７態様によれば、コンピュータプログラムがコンピュータ上で動作する場合、本開示の第４態様、第５態様又は第６態様に係る方法を実行するためのプログラムコードを有するコンピュータプログラムが提供される。
【００４４】
１つ又は複数の実施形態の詳細は、以下の添付の図面及び説明において説明される。他の特徴、目的及び利点は、説明、図面及び特許請求の範囲から明らかとなる。
【図面の簡単な説明】
【００４５】
本開示の以下の実施形態では、添付の図及び図面を参照してより詳細に説明される。
【００４６】
【図１】本開示の実施形態を実施するように構成されるビデオエンコーダの例を示すブロック図である。
【００４７】
【図２】本開示の実施形態を実施するように構成されるビデオデコーダの例示的な構造を示すブロック図である。
【００４８】
【図３】本開示の実施形態を実施するように構成されるビデオ符号化システムの例を示すブロック図である。
【００４９】
【図４】２つの例示的な符号化ブロックを示す。
【００５０】
【図５】本開示の第１態様に係る本発明のイメージ処理デバイスの実施形態を示す。
【００５１】
【図６】本開示の第２態様に係る本発明のエンコーダの実施形態を示す。
【００５２】
【図７】本開示の第３態様に係る本発明のデコーダの実施形態を示す。
【００５３】
【図８】デブロッキングフィルタリング前の画素値に従う例示的なブロックエッジを示す。
【００５４】
【図９】本開示の第４態様に係るイメージ処理方法の実施形態のフロー図を示す。
【００５５】
以下では、同一の参照符号は、同一又は少なくとも機能的に同等の特徴を指す。一部において、同じ要素を指す異なる参照符号が、異なる図において用いられている。
【発明を実施するための形態】
【００５６】
まず、図１〜図３に従うイメージ符号化の一般的な概念を明らかにする。図４及び図８に従って、従来のデブロッキングフィルタのデメリットが示される。図５〜図７に関して、本発明の装置の異なる実施形態の構成及び機能が示され、説明される。最後に、図９に関して、本発明の方法の実施形態が示され、説明される。異なる図において、同様の要素及び参照番号が部分的に省略されている。
【００５７】
以下の説明では、添付の図に対する参照が行われ、本開示の一部を形成し、図示する目的で本開示の実施形態の具体的態様又は本開示の実施形態が用いられ得る具体的態様を示す。本開示の実施形態が、他の態様において用いられてよく、図に示されていない構造的又は論理的な変更を有することが理解される。したがって、以下の詳細な説明は、限定的な意味で考慮されるものではなく、本開示の範囲は、添付の特許請求の範囲により規定される。
【００５８】
例えば、説明される方法に関連する開示は、方法を実行するように構成される対応するデバイス又はシステムにも当てはまってもよく、逆もまた同様であることが理解される。例えば、１つ又は複数の特定の方法の段階が説明される場合、対応するデバイスは、たとえ、そのような１つ又は複数のユニットが図において明確に説明又は示されていない場合であっても、説明される１つ又は複数の方法の段階を実行する１つ又は複数のユニット、例えば、機能ユニット（例えば、１つ又は複数の段階を実行する１つのユニット、又は、それぞれが複数の段階のうちの１つを又は複数を実行する複数のユニット）を含んでよい。一方、例えば、特定の装置が１つ又は複数のユニット、例えば、機能ユニットに基づいて説明される場合、対応する方法は、たとえ、１つ又は複数の段階が図において明確に説明又は示されていない場合であっても、１つ又は複数のユニットの機能を実行する１つの段階（例えば、１つ又は複数のユニットの機能を実行する１つの段階、又は、それぞれが複数のユニットの１つ又は複数の機能を実行する複数の段階）を含んでよい。さらに、特に断りのない限り、様々な例示的な実施形態の特徴及び／又は本明細書において説明される態様は、互いに組み合わせられてよいことが理解される。
【００５９】
ビデオ符号化は、典型的には、ビデオ又はビデオシーケンスを形成する一連の画像の処理を指す。画像という用語の代わりに、ビデオ符号化の分野における同義語として、フレーム又はイメージという用語が用いられてよい。ビデオ符号化は、ビデオエンコーディング及びビデオデコーディングの２つの部分を有する。ビデオエンコーディングは、元のビデオ画像を（例えば、圧縮により）処理して、典型的には、ビデオ画像を表現すために（より効率的な格納及び／又は伝送のために）必要とされるデータ量を減らすことを有するソース側で実行される。ビデオデコーディングは、宛先側で実行され、典型的には、ビデオ画像を再構築するためにエンコーダと比較して逆の処理を有する。ビデオ画像（又は、後で説明されるような一般的な画像）の「符号化」に言及する実施形態は、ビデオ画像の「エンコード」及び「デコード」の両方に関連することが理解されるものとする。エンコード部分及びデコード部分の組み合わせは、コーデック（符号化及びデコード）とも称される。
【００６０】
可逆ビデオ符号化の場合、元のビデオ画像は、再構築されることができ、すなわち、再構築されたビデオ画像は、（格納又は伝送中に伝送損失又は他のデータ損失がないと仮定して）元のビデオ画像と同じ品質を有する。不可逆ビデオ符号化の場合、ビデオ画像を表現すデータ量を減らすために、例えば、量子化によるさらなる圧縮が実行され、デコーダにおいて完全に再構築されることができず、すなわち、元のビデオ画像の品質と比較して、再構築されたビデオ画像の品質は低い又は悪い。
【００６１】
Ｈ．２６１以降のいくつかのビデオ符号化規格は、「不可逆ハイブリッドビデオコーデック」のグループに属する（すなわち、サンプル領域における空間及び時間予測と、変換領域における量子化を適用するための２Ｄ変換符号化とを組み合わせている）。ビデオシーケンスの各画像は、典型的には、非重複ブロックのセットに区分化され、符号化は、典型的には、ブロックレベルで実行される。つまり、エンコーダでは、ビデオは典型的には、例えば、予測ブロックを生成するために空間（イントラ画像）予測及び時間（インター画像）予測を用いて、現在のブロック（現在処理中／処理予定のブロック）から予測ブロックを減算して残差ブロックを取得し、残差ブロックを変換し、変換領域における残差ブロックを量子化して、伝送されるデータ量を減らす（圧縮）ことにより、ブロック（ビデオブロック）レベルで処理され、すなわち、エンコードされ、一方、デコーダでは、エンコーダと比較して逆の処理が、表示のために現在のブロックを再構築するためにエンコード又は圧縮されたブロックに対して適用される。さらに、エンコーダは、両方が同一の予測（例えば、イントラ及びインター予測）及び／又は後続のブロックを処理、すなわち、符号化するための再構築を生成するように、デコーダ処理ループを繰り返す。 
【００６２】
ビデオ画像処理（動画像処理とも称される）及び静止画像処理（処理という用語は符号化を含む）は、より多くの概念及び技術又はツールを共有し、以下では、用語「画像」は、必ずというわけではないが、ビデオ画像と静止画像と間の不必要な繰り返し及び区別を避けるために、（上記で説明したような）ビデオシーケンスのビデオ画像及び／又は静止画像を指すために用いられる。静止画像（又は、静止イメージ）のみを指す説明の場合、用語「静止画像」が用いられるものとする。
【００６３】
エンコーダ１００の以下の実施形態では、本開示の実施形態を図４〜図９に基づいてより詳細に説明する前に、デコーダ２００及び符号化システム３００が図１から図３に基づいて説明される。
【００６４】
図３は、符号化システム３００、例えば、画像符号化システム３００の実施形態を示す概念的又は概略的なブロック図であり、符号化システム３００は、エンコードされたデータ３３０、例えば、エンコードされた画像３３０を、例えば、エンコードされたデータ３３０をデコードするための宛先デバイス３２０に提供するように構成されるソースデバイス３１０を備える。
【００６５】
ソースデバイス３１０は、エンコーダ１００又はエンコーディングユニット１００を有し、追加的に、すなわち、任意選択的に、画像ソース３１２と、前処理ユニット３１４、例えば、画像前処理ユニット３１４と、通信インタフェース又は通信ユニット３１８とを有してよい。
【００６６】
画像ソース３１２は、例えば、現実世界の画像を撮像するための任意の種類の画像撮像デバイス、及び／又は、任意の種類の画像生成デバイス、例えば、コンピュータアニメーション画像を生成するためのコンピュータグラフィックスプロセッサ、又は、現実世界の画像、コンピュータアニメーション画像（例えば、スクリーンコンテンツ、仮想現実（ＶＲ）画像）及び／又はこれらの任意の組み合わせ（例えば、拡張現実（ＡＲ）画像）を取得及び／又は提供するための任意の種類のデバイスを備えてよい、又は、それらであってよい。以下では、これらの種類の画像のすべて及び任意の他の種類の画像は、特に説明しない限り「画像」又は「イメージ」と称され、一方、「ビデオ画像」及び「静止画像」をカバーする用語「画像」に関する以前の説明は、明示的に異なって特定されない限り依然として当てはまる。
【００６７】
（デジタル）画像は、強度値を有するサンプルの２次元アレイ又はマトリクスとみなされる、又は、みなされ得る。アレイ内のサンプルは、画素（画像要素の省略形）又はペルとも称され得る。アレイ又は画像の水平及び垂直方向（又は、軸）におけるサンプルの数は、画像のサイズ及び／又は解像度を規定する。色の表現に関して、典型的には、３つの色成分が使用され、すなわち、画像は、３つのサンプルアレイが表現され得る、又は、それらを含んでよい。ＲＧＢ形式又は色空間において、画像は、対応する赤、緑及び青のサンプルアレイを有する。しかしながら、ビデオ符号化において、各画素は、典型的には、輝度／クロミナンス形式又は色空間、例えば、Ｙ（場合によってはまた、Ｌが代わりに用いられる）で示される輝度成分と、Ｃｂ及びＣｒにより示される２つのクロミナンス成分とを含むＹＣｂＣｒで表現される。輝度（又は、簡潔に、ルマ）成分Ｙは、明度又はグレーレベルの強度（例えば、グレースケール画像のような）を表す一方、２つのクロミナンス（又は、簡潔に、クロマ）成分Ｃｂ及びＣｒは、色度又は色情報成分を表す。適宜、ＹＣｂＣｒ形式における画像は、輝度サンプル値（Ｙ）の輝度サンプルアレイと、クロミナンス値（Ｃｂ及びＣｒ）の２つのクロミナンスサンプルアレイとを有する。ＲＧＢ形式における画像は、ＹＣｂＣｒ形式に転換又は変換されてよく、逆もまた同様であり、当該処理は、色変換又は転換としても知られている。画像が単色である場合、画像は、輝度サンプルアレイのみを有し得る。
【００６８】
画像ソース３１２は、例えば、画像を撮像するためのカメラ、以前に撮像又は生成された画像を有する又は格納するメモリ、例えば、画像メモリ、及び／又は、画像を取得又は受信するための任意の種類のインタフェース（内部又は外部）であってよい。カメラは、例えば、ソースデバイスに統合されたローカル又は統合カメラであってよく、メモリは、例えば、ソースデバイスに統合されたローカル又は統合メモリであってよい。インタフェースは、例えば、外部のビデオソース、例えば、カメラのような外部の画像撮像デバイス、外部のメモリ、又は、外部の画像生成デバイス、例えば、外部のコンピュータグラフィックスプロセッサ、コンピュータ又はサーバから画像を受信する外部のインタフェースであってよい。インタフェースは、任意の種類のインタフェース、例えば、任意の独自の又は標準化されたインタフェースプロトコルに従う有線又は無線インタフェース、光インタフェースとすることができる。画像データ３１２を取得するためのインタフェースは、通信インタフェース３１８と同じインタフェース又はその一部であってよい。
【００６９】
前処理ユニット３１４と、前処理ユニット３１４により実行される処理との区別において、画像又は画像データ３１３は、未加工画像又は未加工画像データ３１３とも称され得る。
【００７０】
前処理ユニット３１４は、（未加工）画像データ３１３を受信し、画像データ３１３に対する前処理を実行して、前処理された画像３１５又は前処理された画像データ３１５を取得するように構成される。前処理ユニット３１４により実行される前処理は、例えば、トリミング、（例えば、ＲＧＢからＹＣｂＣｒへの）色フォーマット変換、色補正又はノイズ除去を有してよい。
【００７１】
エンコーダ１００は、前処理された画像データ３１５を受信し、エンコードされた画像データ１７１を提供するように構成される（さらなる詳細は、例えば、図１に基づいて説明される）。
【００７２】
ソースデバイス３１０の通信インタフェース３１８は、エンコードされた画像データ１７１を受信し、それを別のデバイス、例えば、宛先デバイス３２０又は格納又は直接的な再構築のための任意の他のデバイスに直接伝送し、又は、エンコードされたデータ３３０を格納し、及び／又は、エンコードされたデータ３３０を別のデバイス、例えば、宛先デバイス３２０に、又は、デコード又は格納するための任意の他のデバイスに伝送する前に、それぞれに対してエンコードされた画像データ１７１を処理するように構成されてよい。
【００７３】
宛先デバイス３２０は、デコーダ２００又はデコーデイングユニット２００を有し、追加的に、すなわち、任意選択的に、通信インタフェース又は通信ユニット３２２と、後処理ユニット３２６と、ディスプレイデバイス３２８とを有してよい。
【００７４】
宛先デバイス３２０の通信インタフェース３２２は、エンコードされた画像データ１７１又はエンコードされたデータ３３０を、例えば、ソースデバイス３１０から直接、又は、任意の他のソース、例えば、メモリ、例えば、エンコードされた画像データメモリから受信するように構成される。
【００７５】
通信インタフェース３１８及び通信インタフェース３２２はそれぞれ、ソースデバイス３１０と宛先デバイス３２０との間のダイレクト通信リンク、例えば、ダイレクト有線又は無線通信を介して、又は、任意の種類のネットワーク、例えば、有線又は無線ネットワーク又はこれらの任意の組み合わせ、又は、任意の種類のプライベート及び公衆ネットワーク、又は、それらの任意の組み合わせを介して、エンコードされた画像データ１７１又はエンコードされたデータ３３０を伝送し、受信するように構成されてよい。
【００７６】
通信インタフェース３１８は、通信リンク又は通信ネットワークを介した伝送のために、例えば、エンコードされた画像データ１７１を適切なフォーマット、例えば、パケットにパッケージ化するように構成されてよく、さらに、データ損失保護及びデータ損失回復を有してよい。
【００７７】
通信インタフェース３１８の片割れを形成する通信インタフェース３２２は、例えば、エンコードされたデータ３３０をデパッケージ化して、エンコードされた画像データ１７１を取得するように構成されてよく、さらに、例えば、エラー隠蔽を含むデータ損失保護及びデータ損失回復を実行するように構成されてよい。
【００７８】
ソースデバイス３１０から宛先デバイス３２０に向いている図３のエンコードされた画像データ３３０に関する矢印により示されるように、通信インタフェース３１８及び通信インタフェース３２２は両方とも、単方向通信インタフェース又は双方向通信インタフェースとして構成されてよい、又は、例えば、メッセージを送信及び受信して、例えば、接続をセットアップし、画像データを含む失われた又は遅延しているデータを確認及び／又は再送信し、通信リンク及び／又はデータ伝送、例えば、エンコードされた画像データ伝送に関連する任意の他の情報を交換するように構成されてよい。
【００７９】
デコーダ２００は、エンコードされた画像データ１７１を受信し、デコードされた画像データ２３１又はデコードされた画像２３１を提供するように構成される（さらなる詳細は、例えば、図２に基づいて説明される）。
【００８０】
宛先デバイス３２０のポストプロセッサ３２６は、デコードされた画像データ２３１、例えば、デコードされた画像２３１を後処理して、後処理された画像データ３２７、例えば、後処理された画像３２７を取得するように構成される。後処理ユニット３２６により実行される後処理は、例えば、（例えば、ＹＣｂＣｒからＲＧＢへの）色フォーマット変換、色補正、トリミング又は再サンプリング、又は、例えば、ディスプレイデバイス３２８による表示のために、例えば、デコードされた画像データ２３１を準備するための任意の他の処理を有してよい。
【００８１】
宛先デバイス３２０のディスプレイデバイス３２８は、例えば、ユーザ又は視聴者に画像を表示するために、後処理された画像データ３２７を受信するように構成される。ディスプレイデバイス３２８は、再構築された画像を表現するための任意の種類のディスプレイ、例えば、統合された又は外部のディスプレイ又はモニタであってよい、又は、それらを有してよい。ディスプレイは、例えば、ブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、任意の種類の他のディスプレイ...プロジェクタ、ホログラム（３Ｄ）...を有してよい。
【００８２】
図３は、ソースデバイス３１０及び宛先デバイス３２０を別個のデバイスとして示しているが、デバイスの実施形態はまた、両方又は両方の機能、ソースデバイス３１０又は対応する機能、及び、宛先デバイス３２０又は対応する機能を有してよい。そのような実施形態において、ソースデバイス３１０又は対応する機能、及び、宛先デバイス３２０又は対応する機能は、同じハードウェア及び／又はソフトウェアを用いて、又は、別個のハードウェア及び／又はソフトウェア、又は、これらの任意の組み合わせにより実装されてよい。
【００８３】
説明に基づいて当業者に対して明らかとなるように、図３に示されるようなソースデバイス３１０及び／又は宛先デバイス３２０内の異なるユニットの機能又は機能の存在及び（厳密な）分割は、実際のデバイス及びアプリケーションに応じて変わり得る。
【００８４】
したがって、図３に示されるようなソースデバイス３１０及び宛先デバイス３２０は、本開示の例示的な実施形態に過ぎず、本開示の実施形態は、図３に示されるものに限定されるものではない。
【００８５】
ソースデバイス３１０及び宛先デバイス３２０は、任意の種類のハンドヘルド又は固定デバイス、例えば、ノートブック又はラップトップコンピュータ、携帯電話、スマートフォン、タブレット又はタブレットコンピュータ、カメラ、デスクトップコンピュータ、セットトップボックス、テレビ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス又はブロードキャスト受信デバイスなど（また、例えば、大規模な専門的なエンコード／デコードのためのサーバ及びワークステーション、例えば、ネットワークエンティティ）を含む広範囲のデバイスのうちのいずれかを有してよく、任意の種類のオペレーティングシステムを用いても用いなくてもよい。
【００８６】
図１は、エンコーダ１００、例えば、画像エンコーダ１００の実施形態の概略的／概念的なブロック図を示し、入力１０２、残差計算ユニット１０４、変換ユニット１０６、量子化ユニット１０８、逆量子化ユニット１１０及び逆変換ユニット１１２、再構築ユニット１１４、バッファ１１６、ループフィルタ１２０、デコードされた画像バッファ（ＤＰＢ）１３０、予測ユニット１６０［インター推定ユニット１４２、インター予測ユニット１４４、イントラ推定ユニット１５２、イントラ予測ユニット１５４］、モード選択ユニット１６２、エントロピーエンコーディングユニット１７０及び出力１７２を備える。図１に示されるようなビデオエンコーダ１００は、ハイブリッドビデオエンコーダ、又は、ハイブリッドビデオコーデックに係るビデオエンコーダとも称され得る。
【００８７】
例えば、残差計算ユニット１０４、変換ユニット１０６、量子化ユニット１０８及びエントロピーエンコーディングユニット１７０は、エンコーダ１００の順方向の信号経路を形成し、一方、例えば、逆量子化ユニット１１０、逆変換ユニット１１２、再構築ユニット１１４、バッファ１１６、ループフィルタ１２０、デコードされた画像バッファ（ＤＰＢ）１３０、インター予測ユニット１４４及びイントラ予測ユニット１５４は、エンコーダの逆方向の信号経路を形成し、エンコーダの逆方向の信号経路は、デコーダの信号経路に対応する（図２におけるデコーダ２００を参照）。
【００８８】
エンコーダは、例えば、入力１０２により、画像１０１又は画像１０１の画像ブロック１０３、例えば、ビデオ又はビデオシーケンスを形成する一連の画像のうちの画像を受信するように構成される。画像ブロック１０３は、現在の画像ブロック又は符号化対象の画像ブロックとも称されてよく、（特に、現在の画像を他の画像、例えば、同じビデオシーケンス、すなわち、現在の画像も有するビデオシーケンスの以前にエンコード及び／又はデコードされた画像、から区別するビデオ符号化において）画像１０１は、現在の画像又は符号化される画像とも称され得る。
【００８９】
エンコーダ１００の実施形態は、例えば、画像区分化ユニットとも称されてよく、画像１０３を、複数のブロック、例えば、ブロック１０３のようなブロックに、典型的、複数の非重複ブロックに区分化するように構成される区分化ユニット（図１には示されていない）を備えてよい。区分化ユニットは、ビデオシーケンスのすべての画像に対する同じブロックサイズと、ブロックサイズを規定する対応するグリッドとを用いる、又は、画像間、又は、画像のサブセット又はグループ間のブロックサイズを変更し、各画像を対応するブロックに区分化するように構成されてよい。
【００９０】
画像１０１のように、ブロック１０３もまた、画像１０１より小さい寸法のものであるが、強度値（サンプル値）を有するサンプルの２次元アレイ又はマトリクスとみなされる、又は、みなされ得る。つまり、ブロック１０３は、例えば、適用される色フォーマットに応じて、１つのサンプルアレイ（例えば、単色画像１０１の場合、ルマアレイ）、又は、３つのサンプルアレイ（例えば、カラー画像１０１の場合、ルマ及び２つのクロマアレイ）、又は、任意の他の数及び／又は種類のアレイを有してよい。ブロック１０３の水平及び垂直方向（又は、軸）におけるサンプルの数は、ブロック１０３のサイズを規定する。
【００９１】
図１に示されるようなエンコーダ１００は、ブロックごとに画像１０１をエンコードするように構成され、例えば、エンコード及び予測がブロック１０３ごとに実行される。 
【００９２】
残差計算ユニット１０４は、画像ブロック１０３及び予測ブロック１６５に基づいて、例えば、画像ブロック１０３のサンプル値から予測ブロック１６５のサンプル値を減算して、サンプルごとに（画素ごとに）、サンプル領域内の残差ブロック１０５を取得することにより、残差ブロック１０５を算出するように構成される（予測ブロック１６５に関するさらなる詳細は後で提供される）。
【００９３】
変換ユニット１０６は、残差ブロック１０５のサンプル値に対して変換、例えば、空間周波数変換又は線形空間変換、例えば、離散コサイン変換（ＤＣＴ）又は離散サイン変換（ＤＳＴ）を適用して、変換領域における変換された係数１０７を取得するように構成される。変換された係数１０７は、変換された残差係数とも称され、変換領域における残差ブロック１０５を表してよい。
【００９４】
変換ユニット１０６は、ＨＥＶＣ／Ｈ．２６５に規定されているコア変換などのＤＣＴ／ＤＳＴの整数近似を適用するように構成されてよい。正規直交ＤＣＴ変換と比較して、そのような整数近似は、典型的には、一定の係数によりスケーリングされる。順変換及び逆変換により処理された残差ブロックのノルムを保つために、変換処理の一部として、追加のスケーリング係数が適用される。スケーリング係数は、典型的には、シフト演算のための２の累乗であるスケーリング係数、変換された係数のビット深度、精度と実装コストとの間のトレードオフなどのような一定の制約に基づいて選択される。特定のスケーリング係数は、デコーダ２００における、例えば、逆変換ユニット２１２による、例えば、逆変換（及び、例えば、エンコーダ１００における逆変換ユニット１１２による対応する逆変換）に対して規定され、エンコーダ１００における、例えば、変換ユニット１０６による順変換に対する対応するスケーリング係数が適宜規定されてよい。
【００９５】
量子化ユニット１０８は、例えば、スカラー量子化又はベクトル量子化により、変換された係数１０７を量子化して、量子化係数１０９を取得するように構成される。量子化係数１０９は、量子化された残差係数１０９とも称され得る。例えば、スカラー量子化について、異なるスケーリングは、より細かい又はより粗い量子化を実現するために適用されてよい。量子化ステップサイズが小さければ小さいほど、より細かい量子化に対応し、量子化ステップサイズが大きければ大きいほど、より粗い量子化に対応する。適用可能な量子化ステップサイズは、量子化パラメータ（ＱＰ）により示されてよい。量子化パラメータは、例えば、適用可能な量子化ステップサイズの予め定義されたセットに対するインデックスであってよい。例えば、小さい量子化パラメータは、細かい量子化（小さい量子化ステップサイズ）に対応してよく、大きい量子化パラメータは、粗い量子化（大きい量子化ステップサイズ）に対応してよく、又は、逆もまた同様である。量子化は、量子化ステップサイズでの除算を含んでよく、例えば、逆量子化１１０による対応する又は逆の逆量子化は、量子化ステップサイズでの乗算を含んでよい。
【００９６】
ＨＥＶＣに係る実施形態は、量子化パラメータを用いて、量子化ステップサイズを決定するように構成されてよい。一般に、量子化ステップサイズは、除算を含む式の不動点近似を用いた量子化パラメータに基づいて計算されてよい。追加のスケーリング係数は、残差ブロックのノルムを復元するために、量子化及び逆量子化に対して導入されてよく、量子化ステップサイズ及び量子化パラメータに対する式の不動点近似において用いられるスケーリングにより修正され得る。１つの例示的な実装において、逆変換及び逆量子化のスケーリングは、組み合わせられ得る。代替的に、カスタマイズされた量子化テーブルが用いられてよく、例えば、ビットストリームにおいてエンコーダからデコーダへシグナリングされてよい。量子化は不可逆演算であり、量子化ステップサイズが大きくなるにつれて、損失が大きくなる。
【００９７】
エンコーダ１００（又は、それぞれの量子化ユニット１０８）の実施形態は、デコーダ２００が、対応する逆量子化を受信及び適用し得るように、例えば、対応する量子化パラメータを用いて量子化スキーム及び量子化ステップサイズを出力するように構成されてよい。エンコーダ１００（又は、量子化ユニット１０８）の実施形態は、例えば、直接的に、又は、エントロピーエンコーディングユニット１７０又は任意の他のエントロピー符号化ユニットを介してエントロピーエンコードされた量子化スキーム及び量子化ステップサイズを出力するように構成されてよい。
【００９８】
逆量子化ユニット１１０は、量子化係数に対して量子化ユニット１０８の逆量子化を適用して、例えば、量子化ユニット１０８と同じ量子化ステップサイズに基づいて又はこれを用いて、量子化ユニット１０８により適用される量子化スキームの逆を適用することにより、逆量子化係数１１１を取得するように構成される。逆量子化係数１１１は、逆量子化された残差係数１１１とも称されてよく、典型的には、量子化による損失に起因して変換された係数と同一ではないが、変換された係数１０８に対応する。
【００９９】
逆変換ユニット１１２は、変換ユニット１０６により適用される変換の逆変換、例えば、逆離散コサイン変換（ＤＣＴ）又は逆離散サイン変換（ＤＳＴ）を適用して、サンプル領域における逆変換したブロック１１３を取得するように構成される。逆変換したブロック１１３は、逆変換された逆量子化ブロック１１３又は逆変換された残差ブロック１１３とも称され得る。
【０１００】
再構築ユニット１１４は、逆変換したブロック１１３と予測ブロック１６５とを組み合わせて、例えば、デコードされた残差ブロック１１３のサンプル値及び予測ブロック１６５のサンプル値をサンプルごとに加えることにより、サンプル領域における再構築したブロック１１５を取得するように構成される。
【０１０１】
バッファユニット１１６（又は、簡潔に、「バッファ」１１６）、例えば、ラインバッファ１１６は、例えば、イントラ推定及び／又はイントラ予測のために、再構築したブロック及びそれぞれのサンプル値をバッファ又は格納するように構成される。さらなる実施形態において、エンコーダは、任意の種類の推定及び／又は予測のために、バッファユニット１１６に格納されているフィルタリングされていない再構築したブロック及び／又はそれぞれのサンプル値を用いるように構成されてよい。
【０１０２】
エンコーダ１００の実施形態は、例えば、バッファユニット１１６が、イントラ推定１５２及び／又はイントラ予測１５４のための再構築したブロック１１５を格納するためだけでなく、ループフィルタユニット１２０（図１には示されていない）のために用いられるように、及び／又は、例えば、バッファユニット１１６及びデコードされた画像バッファユニット１３０が１つのバッファを形成するように、構成されてよい。さらなる実施形態は、イントラ推定１５２及び／又はイントラ予測１５４に対する入力又は基礎として、フィルタリングされたブロック１２１、及び／又は、デコードされた画像バッファ１３０からのブロック又はサンプル（図１には両方とも示されていない）を用いるように構成されてよい。
【０１０３】
ループフィルタユニット１２０（又は、簡潔に、「ループフィルタ」１２０）は、例えば、デブロッキングサンプル適応オフセット（ＳＡＯ）フィルタ又は他のフィルタ、例えば、鮮明化又は平滑化フィルタ又は協調フィルタを適用することにより、再構築したブロック１１５をフィルタリングして、フィルタリングされたブロック１２１を取得するように構成される。フィルタリングされたブロック１２１は、フィルタリングされた再構築したブロック１２１とも称され得る。ループフィルタ１２０は、以下では、デブロッキングフィルタとも称される。
【０１０４】
ループフィルタユニット１２０の実施形態は、フィルタ分析ユニット及び実際のフィルタユニット（図１には示されていない）を有してよく、フィルタ分析ユニットは、実際のフィルタのためのループフィルタパラメータを決定するように構成される。フィルタ分析ユニットは、固定の予め決定されたフィルタリングパラメータを実際のループフィルタに適用し、予め決定されたフィルタリングパラメータのセットからフィルタリングパラメータを適応的に選択する、又は、実際のループフィルタのためのフィルタリングパラメータを適応的に算出するように構成されてよい。
【０１０５】
ループフィルタユニット１２０の実施形態は、１つ又は複数のフィルタ（ループフィルタ／コンポーネント／サブフィルタ）、例えば、直列又は並列又はそれらの任意の組み合わせで接続される、例えば、異なる種類又はタイプのフィルタのうちの１つ又は複数を有してよく、フィルタのそれぞれは、例えば、前の段落で説明されたようなそれぞれのループフィルタパラメータを決定するために、個々に又は複数のフィルタのうちの他のフィルタと共同でフィルタ分析ユニットを有してよい（図１には示されていない）。
【０１０６】
エンコーダ１００（それぞれのループフィルタユニット１２０）の実施形態は、例えば、直接的に、又は、エントロピーエンコーディングユニット１７０又は任意の他のエントロピー符号化ユニットを介してエントロピーエンコードされたループフィルタパラメータを出力するように構成されてよく、その結果、例えば、デコーダ２００は、デコードのための同じループフィルタパラメータを受信及び適用し得る。
【０１０７】
デコードされた画像バッファ（ＤＰＢ）１３０は、フィルタリングされるブロック１２１を受信及び格納するように構成される。デコードされた画像バッファ１３０は、さらに、同じ現在の画像の、又は、異なる画像、例えば、以前に再構築された画像の、他の以前にフィルタリングされたブロック、例えば、以前に再構築及びフィルタリングされたブロック１２１を格納するように構成されてよく、例えば、インター推定及び／又はインター推定のために、完全に以前に再構築された、すなわち、デコードされた画像（及び、対応する参照ブロック及びサンプル）、及び／又は、部分的に再構築された現在の画像（及び、対応する参照ブロック及びサンプル）を提供してよい。
【０１０８】
本開示のさらなる実施形態は、任意の種類の推定又は予測、例えば、イントラ及びインター推定及び予測のために、デコードされた画像バッファ１３０の以前にフィルタリングされたブロックと、対応するフィルタリングされたサンプル値とを用いるように構成されてもよい。
【０１０９】
ブロック予測ユニット１６０とも称される予測ユニット１６０は、画像ブロック１０３（現在の画像１０１の現在の画像ブロック１０３）と、デコード又は少なくとも再構築された画像データ、例えば、同じ（現在の）画像の参照サンプルとをバッファ１１６から、及び／又は、１つ又は複数の以前にデコードされた画像のうちのデコードされた画像データ２３１をデコードされた画像バッファ１３０から受信又は取得して、予測のためにそのようなデータを処理する、すなわち、インター予測されたブロック１４５又はイントラ予測されたブロック１５５であり得る予測ブロック１６５を提供するように構成される。
【０１１０】
モード選択ユニット１６２は、予測モード（例えば、イントラ又はインター予測モード）、及び／又は、残差ブロック１０５の計算ため、及び、再構築されるブロック１１５の再構築のための予測ブロック１６５として用いられる対応する予測ブロック１４５又は１５５を選択するように構成されてよい。
【０１１１】
モード選択ユニット１６２の実施形態は、予測モードを（例えば、予測ユニット１６０によりサポートされるものから）選択するように構成されてよく、ベストマッチ、又は、すなわち最小残差（最小残差は、伝送又は格納に対する圧縮率が高いことを意味する）、又は、最小のシグナリングオーバヘッド（最小のシグナリングオーバヘッドは、伝送又は格納に対する圧縮率が高いことを意味する）を提供する、又は、両方を考慮又はそのバランスを取る。モード選択ユニット１６２は、レート歪み最適化（ＲＤＯ）に基づいて予測モードを決定する、すなわち、最小のレート歪み最適化を提供する、又は、関連するレート歪みが予測モード選択基準を少なくとも満たす予測モードを選択するように構成されてよい。
【０１１２】
以下では、例示的なエンコーダ１００により実行される予測処理（例えば、予測ユニット１６０）及びモード選択（例えば、モード選択ユニット１６２による）がより詳細に説明される。
【０１１３】
上記で説明したように、エンコーダ１００は、（予め決定された）予測モードのセットから最良の又は最適な予測モードを決定又は選択するように構成される。予測モードのセットは、例えば、イントラ予測モード及び／又はインター予測モードを有してよい。
【０１１４】
イントラ予測モードのセットは、例えば、Ｈ．２６４に規定されているような、３２個の異なるイントラ予測モード、例えば、ＤＣ（又は、平均）モード及びプラーナモードのような無指向性モード、又は、指向性モードを有してよい、又は、例えば、Ｈ．２６５に規定されているような、６５個の異なるイントラ予測モード、例えば、ＤＣ（又は、平均）モード及びプラーナモードのような無指向性モード、又は、指向性モードを有してよい。
【０１１５】
インター予測モードのセット（又は、可能のある）は、例えば、参照画像全体又は一部のみか、例えば、参照画像の現在のブロックのエリアの周りにある検索ウィンドウエリアが、最も一致する参照ブロックを検索するために用いられるか否か、及び／又は、例えば、画素補間が適用されるか否か、例えば、１／２／セミペル及び／又は１／４ペル補間かどうかは、利用可能な参照画像（すなわち、例えば、ＤＢＰ２３０に格納されている以前の少なくとも部分的にデコードされた画像）及び他のインター予測パラメータに依存する。
【０１１６】
上記の予測モードに加えて、スキップモード及び／又はダイレクトモードが適用されてよい。
【０１１７】
予測ユニット１６０は、さらに、例えば、四分木区分化（ＱＴ）、二分木区分化（ＢＴ）、三分木区分化（ＴＴ）又はこれらの任意の組み合わせを繰り返し用いて、ブロック１０３をより小さいブロック区分又はサブブロックに区分化し、例えば、ブロック区分又はサブブロックのそれぞれに対して予測を実行するように構成されてよく、モード選択は、区分化されたブロック１０３の木構造、及び、ブロック区分又はサブブロックのそれぞれに適用される予測モードの選択を有する。
【０１１８】
インター画像推定ユニット１４２とも称されるインター推定ユニット１４２は、インター推定（又は、「インター画像推定」）のために、画像ブロック１０３（現在の画像１０１の現在の画像ブロック１０３）及びデコードされた画像２３１、又は、少なくとも１つ又は複数の以前に再構築したブロック、例えば、１つ又は複数の他の／異なる以前にデコードされた画像２３１のうちの再構築したブロックを受信又は取得するように構成される。例えば、ビデオシーケンスは、現在の画像及び以前にデコードされた画像２３１を有してよく、つまり、現在の画像及び以前にデコードされた画像２３１は、ビデオシーケンスを形成する一連の画像の一部であってよい、又は、一連の画像を形成してよい。
【０１１９】
エンコーダ１００は、例えば、複数の他の画像の同じ又は異なる画像の複数の参照ブロックから参照ブロックを選択し、参照画像（又は、参照画像インデックス、...）、及び／又は、参照ブロックの位置（ｘ、ｙ座標）と現在のブロックの位置との間のオフセット（空間オフセット）をインター推定パラメータ１４３としてインター予測ユニット１４４に提供するように構成されてよい。このオフセットは、動きベクトル（ＭＶ）とも呼ばれる。インター推定は、動き推定（ＭＥ）とも称され、インター予測は、動き予測（ＭＰ）とも称される。
【０１２０】
インター予測ユニット１４４は、インター予測パラメータ１４３を取得、例えば、受信し、インター予測パラメータ１４３に基づいて、又は、これを用いてインター予測を実行して、インター予測ブロック１４５を取得するように構成される。
【０１２１】
図１は、インター符号化に関する２つの別個のユニット（又は、段階）、つまり、インター推定１４２及びインター予測１４４を示すが、例えば、現在の最良のインター予測モード及びそれぞれのインター予測ブロックを格納しつつ、可能なインター予測モードのすべての可能な又は予め決定されたサブセットを繰り返しテストして、インター予測１４４を別のときに実行することなく現在の最良のインター予測モード及びそれぞれのインター予測ブロックを（最終的な）インター予測パラメータ１４３及びインター予測ブロック１４５として用いることにより、インター予測ブロック、すなわち、いわゆる「ある種の」インター予測１４４）を算出することを、一方（インター推定）が要求する／有する際に、両方の機能が実行されてよい。
【０１２２】
イントラ推定ユニット１５２は、画像ブロック１０３（現在の画像ブロック）、及び、イントラ推定のための同じ画像の１つ又は複数の以前に再構築したブロック、例えば、再構築された隣接ブロックを取得、例えば、受信するように構成される。エンコーダ１００は、例えば、複数の（予め決定された）イントラ予測モードからイントラ予測モードを選択し、それをイントラ推定パラメータ１５３としてイントラ予測ユニット１５４に提供するように構成されてよい。 
【０１２３】
エンコーダ１００の実施形態は、最適化基準、例えば、最小残差（例えば、現在の画像ブロック１０３に最も類似する予測ブロック１５５を提供するイントラ予測モード）又は最小のレート歪みに基づいて、イントラ予測モードを選択するように構成されてよい。
【０１２４】
イントラ予測ユニット１５４は、イントラ予測パラメータ１５３、例えば、選択されたイントラ予測モード１５３に基づいて、イントラ予測ブロック１５５を決定するように構成される。
【０１２５】
図１は、イントラ符号化に関する２つの別個のユニット（又は、段階）、つまり、イントラ推定１５２及びイントラ予測１５４を示すが、例えば、現在の最良のイントラ予測モード及びそれぞれのイントラ予測ブロックを格納しつつ、可能なイントラ予測モードのすべての可能な又は予め決定されたサブセットを繰り返しテストして、イントラ予測１５４を別のときに実行することなく現在の最良のイントラ予測モード及びそれぞれのイントラ予測ブロックを（最終的な）イントラ予測パラメータ１５３及びイントラ予測ブロック１５５として用いることにより、イントラ予測ブロック、すなわち、いわゆる「ある種の」イントラ予測１５４）を算出することを、一方（イントラ推定）が要求する／有する際に、両方の機能が実行されてよい。
【０１２６】
エントロピーエンコーディングユニット１７０は、量子化された残差係数１０９、インター予測パラメータ１４３、イントラ予測パラメータ１５３、及び／又は、ループフィルタパラメータに対して、エントロピーエンコーディングアルゴリズム又はスキーム（例えば、可変長符号化（ＶＬＣ）スキーム、コンテキスト適応型ＶＬＣスキーム（ＣＡＬＶＣ）、算術符号化スキーム、コンテキスト適応型バイナリ算術符号化（ＣＡＢＡＣ））を個々に又は共同で（又は、いずれでもなく）適用して、例えば、エンコードされたビットストリーム１７１の形式で、出力１７２により出力されることができるエンコードされた画像データ１７１を取得するように構成される。 
【０１２７】
図２は、例えば、エンコーダ１００によりエンコードされる、エンコードされた画像データ（例えば、エンコードされたビットストリーム）１７１を受信して、デコードされた画像２３１を取得するように構成される例示的なビデオデコーダ２００を示す。
【０１２８】
デコーダ２００は、入力２０２と、エントロピーデコードユニット２０４と、逆量子化ユニット２１０と、逆変換ユニット２１２と、再構築ユニット２１４と、バッファ２１６と、ループフィルタ２２０と、デコードされた画像バッファ２３０と、予測ユニット２６０と、インター予測ユニット２４４と、イントラ予測ユニット２５４と、モード選択ユニット２６０と、出力２３２とを備える。
【０１２９】
エントロピーデコードユニット２０４は、エンコードされた画像データ１７１に対してエントロピーデコードを実行して、例えば、量子化係数２０９及び／又はデコードされた符号化パラメータ（図２には示されていない）、例えば、（デコードされた）インター予測パラメータ１４３、イントラ予測パラメータ１５３及び／又はループフィルタパラメータのいずれか又はすべてを取得するように構成される。
【０１３０】
デコーダ２００の実施形態では、逆量子化ユニット２１０、逆変換ユニット２１２、再構築ユニット２１４、バッファ２１６、ループフィルタ２２０、デコードされた画像バッファ２３０、予測ユニット２６０及びモード選択ユニット２６０は、エンコーダ１００（及び、それぞれの機能ユニット）の逆の処理を実行して、エンコードされた画像データ１７１をデコードするように構成される。
【０１３１】
特に、逆量子化ユニット２１０は、機能において逆量子化ユニット１１０と同一であってよく、逆変換ユニット２１２は、機能において逆変換ユニット１１２と同一であってよく、再構築ユニット２１４は、機能において再構築ユニット１１４と同一であってよく、バッファ２１６は、機能においてバッファ１１６と同一であってよく、ループフィルタ２２０は、機能においてループフィルタ２２０と同一であってよく（実際のループフィルタに関して、ループフィルタ２２０は、典型的には、元のイメージ１０１又はブロック１０３に基づいてフィルタリングパラメータを決定するフィルタ分析ユニットを有していないが、例えば、エントロピーデコードユニット２０４からエンコードするために用いられるフィルタリングパラメータを（明示的に又は暗黙的に）受信又は取得するので）、デコードされた画像バッファ２３０は、機能においてデコードされた画像バッファ１３０と同一であってよい。
【０１３２】
予測ユニット２６０は、インター予測ユニット２４４及びインター予測ユニット２５４を有してよく、インター予測ユニット１４４は、機能においてインター予測ユニット１４４と同一であってよく、インター予測ユニット１５４は、機能においてイントラ予測ユニット１５４と同一であってよい。予測ユニット２６０及びモード選択ユニット２６２は、典型的には、（元のイメージ１０１に関してこれ以上の情報を用いることなく）エンコードされたデータ１７１のみから、ブロック予測を実行し、及び／又は、予測されたブロック２６５を取得し、予測パラメータ１４３又は１５３、及び／又は、選択された予測モードに関する情報を、例えば、エントロピーデコードユニット２０４から（明示的に又は暗黙的に）受信又は取得するように構成される。
【０１３３】
デコーダ２００は、ユーザへの提示又は視聴のために、例えば、出力２３２を介してデコードされた画像２３０を出力するように構成される。
【０１３４】
本開示の実施形態は、ビデオ符号化に基づいて主に説明されてきたが、エンコーダ１００及びデコーダ２００（及び、対応して、システム３００）の実施形態は、静止画像処理又は符号化、すなわち、ビデオ符号化にあるような任意の前述した又は連続的な画像とは関係のない個別の画像の処理又は符号化のために構成されてもよいことに留意されたい。一般的に、画像処理符号化が単一の画像１０１に限定される場合、インター推定１４２、インター予測１４４、２４２のみが利用可能ではない。ほとんどの場合、必ずしもビデオエンコーダ１００及びビデオデコーダ２００の他のすべての機能（ツール又は技術とも称される）、例えば、区分化、変換（スケーリング）１０６、量子化１０８、逆量子化１１０、逆変換１１２、イントラ推定１４２、イントラ予測１５４、２５４、及び／又は、ループフィルタリング１２０、２２０、及び、エントロピー符号化１７０及びエントロピーデコード２０４が、静止画像に対して等しく用いられるわけではないかもしれない。
【０１３５】
本開示は、図１及び図２においてループフィルタとも称されるデブロッキングフィルタの仕組みに言及する。
【０１３６】
図４には、ブロックエッジ４０３により分けられる２つの例示的な符号化ブロック４０１、４０２が示されている。符号化ブロック４０１、４０２は、画素列４０２−４０７及び画素行４０８−４１５を有する。ここでは特に、ブロックエッジは、垂直方向のブロックエッジである。この例では、ブロックは、４×４画素のサイズを有する。しかしながら、実施の際、他のブロックサイズが使用され得る。
【０１３７】
ブロック境界の各セグメントに対して、デブロッキング決定が別個に行われる。
【０１３８】
ＨＥＶＣにおける強力なデブロッキングフィルタは、エリアを平滑化するために適用され、ブロックアーチファクトがより見やすくなる。フィルタリングモードは、ブロック境界から３つのサンプルを修正し、強力なローパスフィルタリングを有効にする。各サンプルに対して、クリッピング演算がさらに実行される。クリッピング演算を実行するための理由は、フィルタリング決定において評価されていなかったラインに対する過度のフィルタリングがないことを確認するために、フィルタリングの量を制限するからである。図４に示されるように、画素列４０５及び４０６は、フィルタリングするか、フィルタリングしないかの決定において用いられていない。これは、計算の複雑性の理由で行われる。ここでは、決定画素列４０４及び４０７のみが、実行対象のフィルタリングを決定するために用いられる。
【０１３９】
以下では、デブロッキングされた画素値を決定するための関数が示される。
【数１】
2022500942.tif 000003
【０１４０】
Ｐ０'、Ｐ１'、Ｐ２'は、元の画素値Ｐ０、Ｐ１及びＰ２にそれぞれ対応するフィルタリングされる画素値である。ここで、図４に示されるように、第２インデックスは省略されている。
【０１４１】
記号「＞＞」は、右シフトを示す。右シフトは２ｙの除算に対応し、ｙは右シフトの量である。例えば、関数７．１７において、「＞＞３」は、２３で除算した値＝８を示す。
【０１４２】
修正されたサンプル値は、次に、［Ｐｉ−２ｔｃ、Ｐｉ＋２ｔｃ］の範囲に対してクリッピングされ、Ｐｉは画素ｉの画素値であり、ｔｃは一定値である。ｔｃは、例えば、テーブルへのインデックスとして平均量子化パラメータＱＰを用いるテーブルから導出され得る。通常、ＱＰ値が高くなればなるほど、ｔｃ値が大きくなる。
【０１４３】
図８は、ブロックエッジ８００における典型的なブロッキングアーチファクトを示す。サンプルＰ０及びＱ０は、最大の歪みを有し、ブロックエッジからさらに離れるサンプル、例えば、サンプルＰ３及びＱ３は、歪みが少ない傾向にあることが容易に分かり得る。 
【０１４４】
画素値のすべてが同じクリッピング範囲［Ｐｉ−２ｔｃ、Ｐｉ＋２ｔｃ］にクリッピングされるので、ブロック境界から遠く離れている画素値、例えば、Ｐ３及びＱ３はまた、同じクリッピング範囲を用いており、したがって、画素値Ｐ０及びＱ０と同じ範囲内で修正されることを可能にする。この一定のクリッピング範囲は、結果的に、境界から遠く離れるサンプルも大幅に修正されることになるため、結果的に、過度な平滑化又はぼかし、又は、場合により、意味のあるイメージコンテンツの損失を伴う依然として正しくないデブロッキングフィルタリングをもたらす。
【０１４５】
すべての画素値に対して固定のクリッピング範囲を用いる代わりに、本開示によれば、クリッピング範囲が適応可能になっている。特に、クリッピング範囲は、ブロックエッジからのそれぞれの画素の距離から適応可能になっている。
【０１４６】
有利なことに、ルックアップテーブル又は関数は、フィルタリングされる画素値がクリッピングされることにより、クリッピング値を決定するために用いられる。好ましくは、そのような関数は、エッジからの画素の距離に基づいて単調に減少する関数である。エッジ／境界からのサンプルの距離が大きくなればなるほど、画素に対して規定されるクリッピング値が小さくなる。したがって、ブロックエッジから遠く離れている画素値は、より小さいクリッピング値を有することを可能にすることで、ブロックエッジに近い画素値と比較して、クリッピング後により小さい偏差を有することを可能にする。このように、フィルタリングの量が制御されるので、過度な平滑化又はぼかしが防止される。
【０１４７】
有利なことに、指数関数は、クリッピング値を決定するために用いられる。クリッピング値は、次に、以下のように決定され得る。
【０１４８】
ｔｃ'＝ｔｃ＋（ｔｃ＞＞ｉ）
【０１４９】
ｔｃ'はクリッピング値である。
【０１５０】
ｔｃは一定値である。
【０１５１】
ｉは、ブロックエッジからの画素の距離である。
【０１５２】
＞＞は、右シフトを示す。
【０１５３】
これは、結果として、デブロッキングされた画素値のクリッピングのための以下の式が得られる。
【０１５４】
Ｐ'ａ、ｂ＝（Ｐａ、ｂ−（ｔｃ＋（ｔｃ＞＞ｉ））、
【０１５５】
Ｐａ、ｂ＋（ｔｃ＋（ｔｃ＞＞ｉ）））。
【０１５６】
ここで、
【０１５７】
Ｐ'ａ、ｂは、画素ａ、ｂのデブロッキングされた画素値である。
【０１５８】
ａは画素行の整数インデックスである。
【０１５９】
ｂは画素列の整数インデックスである。
【０１６０】
Ｐａ、ｂは画素ａ、ｂの元の画素値である。
【０１６１】
ｉは、ブロックエッジからの画素の整数距離である。
【０１６２】
例えば、Ｐ０、０及びＱ０、０の場合、ｉの値が０である（距離が０である）ので、クリッピングは、式７．１７−７．１９に沿う説明と同じ状態を保つ。クリッピング値がｔｃ'＝ｔｃ＋（ｔｃ＞＞０）＝２ｔｃに設定され、結果として、Ｐ'０、０＝（Ｐ０、０−２ｔｃ）、Ｐ０、０＋２ｔｃ））が得られる。
【０１６３】
例えば、Ｐ'１、０の場合、クリッピングは、ｔｃ'＝ｔｃ＋（ｔｃ＞＞１）＝ｔｃ＋ｔｃ／２＝１、５ｔｃに低下し、結果として、Ｐ'１、０＝（Ｐ１、０−１、５ｔｃ）、Ｐ１、０＋１、５ｔｃ））が得られる。
【０１６４】
例えば、Ｐ'２、０の場合、クリッピングは、ｔｃ'＝ｔｃ＋（ｔｃ＞＞２）＝ｔｃ＋ｔｃ／４＝１、２５ｔｃに低下し、結果として、Ｐ'２、０＝（Ｐ２、０−１、２５ｔｃ）、Ｐ２、０＋１、２５ｔｃ））が得られる。
【０１６５】
分かり得るように、サンプル距離ｉがブロックエッジから大きくなるにつれて、クリッピング値が次第に低下する。 
【０１６６】
用いられ得る別の代替的な指数関数は、以下のとおりである。
【０１６７】
ｔｃ'＝（（２＊ｔｃ）＞＞ｉ）
【０１６８】
ｔｃ'はクリッピング値である。
【０１６９】
ｔｃは一定値である。
【０１７０】
ｉは、ブロックエッジからの画素の距離である。
【０１７１】
＞＞は、右シフトを示す。
【０１７２】
これは、結果として、デブロッキングされた画素値のクリッピングのための以下の式が得られる。
【０１７３】
Ｐ'ａ、ｂ＝（Ｐａ、ｂ−（（２＊ｔｃ）＞＞ｉ））
【０１７４】
Ｐａ、ｂ＋（（２＊ｔｃ）＞＞ｉ）））。
【０１７５】
ここで、
【０１７６】
Ｐ'ａ、ｂは、画素ａ、ｂのデブロッキングされた画素値である。
【０１７７】
ａは画素行の整数インデックスである。
【０１７８】
ｂは画素列の整数インデックスである。
【０１７９】
Ｐａ、ｂは画素ａ、ｂの元の画素値である。
【０１８０】
ｉは、ブロックエッジからの画素の整数距離である。
【０１８１】
しかしながら、指数関数の計算は、結果として、大幅な計算の複雑性をもたらす。代替的な実施形態では、線形関数が用いられ得る。この場合、クリッピング値は、以下のように設定される。
【０１８２】
ｔｃ'＝ｔｃ＋（ｔｃ−（ｉ＊ｘ）
【０１８３】
ｔｃ'はクリッピング値である。
【０１８４】
ｔｃは一定値である。
【０１８５】
ｉは、ブロックエッジからの画素の距離である。
【０１８６】
ｘは一定値である。
【０１８７】
これは、結果として、クリッピングされるデブロッキングされた画素値が得られる。
【０１８８】
Ｐ'ａ、ｂ＝
【０１８９】
（Ｐａ、ｂ−（ｔｃ＋（ｔｃ−（ｉ＊ｘ））、Ｐａ、ｂ＋（ｔｃ＋（ｔｃ−（ｉ＊ｘ）））
【０１９０】
ここで、
【０１９１】
Ｐ'ａ、ｂは、画素ａ、ｂのデブロッキングされた画素値である。
【０１９２】
ａは画素行の整数インデックスである。
【０１９３】
ｂは画素列の整数インデックスである。
【０１９４】
Ｐａ、ｂは画素ａ、ｂの元の画素値である。
【０１９５】
ｉは、ブロックエッジからの画素の整数距離である。
【０１９６】
ｘは一定の整数値である。
【０１９７】
有利なことに、ｘは、デブロッキング処理において用いられる平均量子化パラメータＱＰによって決まる。一般的に、ＱＰ値が増加するにつれて、ｘの値は増加する。また、ｘの値は、８ビットのビデオ及び１０ビットのビデオに対して別個に導出され得る。
【０１９８】
例として、１０ビットのビデオに対するｘの値は、以下のように設定することができる。
【表１】
2022500942.tif 000004
【表２】
2022500942.tif 000005
【表３】
2022500942.tif 000006
【表４】
2022500942.tif 000007
【０１９９】
例として、３７の平均ＱＰ値の場合、ｘの値が２であるので、画素値は、以下のように修正される。
【０２００】
例えば、Ｐ０、０の場合、ｉの値が０である（距離が０である）ので、クリッピングは、式７．１７−７．１９に沿う説明と同じ状態を保つ。クリッピング値がｔｃ'＝ｔｃ＋（ｔｃ−（０＊２）＝２ｔｃに設定され、結果として、Ｐ'０、０＝（Ｐ０、０−（ｔｃ＋（ｔｃ−（０＊２））、Ｐ０、０＋（ｔｃ＋（ｔｃ−（０＊２）））が得られる。
【０２０１】
例えば、Ｐ'１、０の場合、クリッピングは、ｔｃ'＝ｔｃ＋（ｔｃ−（１＊２）＝２ｔｃ−２に低下し、結果として、Ｐ'１、０＝（Ｐ１、０−２ｔｃ−２）、Ｐ１、０＋２ｔｃ−２））が得られる。
【０２０２】
例えば、Ｐ'２、０の場合、クリッピングは、ｔｃ'＝ｔｃ＋（ｔｃ−２＊２）＝ｔｃ＋（ｔｃ−４）＝２ｔｃ−４に低下し、結果として、Ｐ'２、０＝（Ｐ２、０−（２ｔｃ−４））、Ｐ２、０＋（２ｔｃ−４））が得られる。
【０２０３】
さらに有利な実施形態において、距離に依存するクリッピングの使用は、前に示したように、図４に示されるような非決定画素列及び非決定画素行に限定されている。前に説明したように、ブロックエッジのフィルタリングが実行されるかどうかを決定するために、決定画素列（垂直方向のブロックエッジ）又は決定画素行（水平方向のブロックエッジ）からの画素の数が用いられる。しかしながら、計算の複雑性を省くために、ブロック内のすべての画素列／行がこの決定を基礎として用いられているわけではない。しかしながら、範囲に依存するクリッピングは、非決定画素列／行でのみ実行され、決定画素列／行である画素列／行では実行されない。決定画素列／行では、一定値を用いる従来のクリッピングが実行される。 
【０２０４】
図５には、本開示の第１態様の実施形態が示されている。特に、ここでは、フィルタ５０２を備えるイメージ処理デバイス５０１が示されている。フィルタ５０２は、上記に示されるデブロッキングフィルタリングを実行するように適合される。
【０２０５】
図６には、本開示の第２態様の実施形態が示されている。特に、ここでは、イメージ処理デバイス６０１を備え、さらに、フィルタ６０２を備えるエンコーダ６００が示されている。上記に示されるように、フィルタ６０２は、デブロッキングフィルタリングを実行する。 
【０２０６】
図７には、本開示の第３態様の実施形態が示されている。特に、ここでは、イメージ処理デバイス７０１を備え、次に、フィルタ７０２を備えるデコーダ７００が示されている。上記に示されるように、フィルタ７０２は、デブロッキングフィルタリングを実行する。 
【０２０７】
最後に、図９には、本開示の第５態様の実施形態がフロー図で示されている。第１段階１０００において、ブロックエッジからのデブロッキング範囲内のフィルタリング対象の画素の少なくともいくつかに対して、画素の元の画素値及び少なくとも１つのさらなる画素値から、フィルタリングされる画素値が決定される。第２段階１００１において、ブロックエッジからの画素の距離に依存して、画素のクリッピング値が決定される。最後の第３段階１００２において、クリッピング値を用いて、フィルタリングされる画素値がクリッピングされ、結果として、デブロッキングされた画素値が得られる。
【０２０８】
上記からどのようにデブロッキングフィルタリングが実行されるかに関する詳細がまた、本開示の第４態様に係る方法に適用可能であることが指摘される。 
【０２０９】
本開示は、実施形態に、特に、上記に示される符号化ブロックサイズ及びフィルタタップ長に限定されるものではないことに留意することが重要である。本開示は、任意の符号化ブロックサイズ及び任意のフィルタタップ長に適用され得る。
［頭文字の定義］
【０２１０】
ＣＴＵ／ＣＴＢ−符号化ツリーユニット／符号化ツリーブロック
【０２１１】
ＣＵ／ＣＢ−符号化ユニット／符号化ブロック
【０２１２】
ＰＵ／ＰＢ−予測ユニット／予測ブロック
【０２１３】
ＴＵ／ＴＢ−変換ユニット／変換ブロック
【０２１４】
ＨＥＶＣ−高効率ビデオ符号化
［参照番号のリスト］
【０２１５】
図１
【０２１６】
１００  エンコーダ
【０２１７】
１０３  画像ブロック 
【０２１８】
１０２  入力（例えば、入力ポート、入力インタフェース）
【０２１９】
１０４  残差計算［ユニット又は段階］
【０２２０】
１０５  残差ブロック
【０２２１】
１０６  変換（例えば、スケーリングを追加的に備える）［ユニット又は段階］
【０２２２】
１０７  変換係数
【０２２３】
１０８  量子化［ユニット又は段階］
【０２２４】
１０９  量子化係数
【０２２５】
１１０  逆量子化［ユニット又は段階］
【０２２６】
１１１  逆量子化係数
【０２２７】
１１２  逆変換（例えば、スケーリングを追加的に備える）［ユニット又は段階］
【０２２８】
１１３  逆変換したブロック
【０２２９】
１１４  再構築［ユニット又は段階］
【０２３０】
１１５  再構築したブロック
【０２３１】
１１６  （ライン）バッファ［ユニット又は段階］
【０２３２】
１１７  参照サンプル
【０２３３】
１２０  ループフィルタ［ユニット又は段階］
【０２３４】
１２１  フィルタリングされるブロック
【０２３５】
１３０  デコードされた画像バッファ（ＤＰＢ）［ユニット又は段階］
【０２３６】
１４２  インター推定（又は、インター画像推定）［ユニット又は段階］
【０２３７】
１４３  インター推定パラメータ（例えば、参照画像／参照画像インデックス、動きベクトル／オフセット）
【０２３８】
１４４  インター予測（又は、インター画像予測）［ユニット又は段階］
【０２３９】
１４５  インター予測ブロック
【０２４０】
１５２  イントラ推定（又は、イントラ画像推定）［ユニット又は段階］
【０２４１】
１５３  イントラ予測パラメータ（例えば、イントラ予測モード）
【０２４２】
１５４  イントラ予測（イントラフレーム／画像予測）［ユニット又は段階］
【０２４３】
１５５  イントラ予測ブロック
【０２４４】
１６２  モード選択［ユニット又は段階］
【０２４５】
１６５  予測ブロック（インター予測ブロック１４５又はイントラ予測ブロック１５５のいずれか）
【０２４６】
１７０  エントロピーエンコード［ユニット又は段階］
【０２４７】
１７１  エンコードされた画像データ（例えば、ビットストリーム）
【０２４８】
１７２  出力（出力ポート、出力インタフェース）
【０２４９】
２３１  デコードされた画像
【０２５０】
図２
【０２５１】
２００  デコーダ
【０２５２】
１７１  エンコードされた画像データ（例えば、ビットストリーム）
【０２５３】
２０２  入力（ポート／インタフェース）
【０２５４】
２５４  エントロピーデコード
【０２５５】
２０９  量子化係数
【０２５６】
２１０  逆量子化
【０２５７】
２１１  逆量子化係数
【０２５８】
２１２  逆変換（スケーリング）
【０２５９】
２１３  逆変換したブロック
【０２６０】
２１４  再構築（ユニット）
【０２６１】
２１５  再構築したブロック
【０２６２】
２１６  （ライン）バッファ
【０２６３】
２１７  参照サンプル
【０２６４】
２２０  ループフィルタ（インループフィルタ）
【０２６５】
２２１  フィルタリングされるブロック
【０２６６】
２３０  デコードされた画像バッファ（ＤＰＢ）
【０２６７】
２３１  デコードされた画像
【０２６８】
２３２  出力（ポート／インタフェース）
【０２６９】
２４４  インター予測（インターフレーム／画像予測）
【０２７０】
２４５  インター予測ブロック
【０２７１】
２５４  イントラ予測（イントラフレーム／画像予測）
【０２７２】
２５５  イントラ予測ブロック
【０２７３】
２６０  モード選択
【０２７４】
２６５  予測ブロック（インター予測ブロック２４５又はイントラ予測ブロック２５５）
【０２７５】
図３
【０２７６】
３００  符号化システム
【０２７７】
３１０  ソースデバイス
【０２７８】
３１２  画像ソース
【０２７９】
３１３  （未加工）画像データ
【０２８０】
３１４  プリプロセッサ／前処理ユニット
【０２８１】
３１５  前処理された画像データ
【０２８２】
３１８  通信ユニット／インタフェース
【０２８３】
３２０  宛先デバイス
【０２８４】
３２２  通信ユニット／インタフェース
【０２８５】
３２６  ポストプロセッサ／後処理ユニット
【０２８６】
３２７  後処理された画像データ
【０２８７】
３２８  ディスプレイデバイス／ユニット
【０２８８】
３３０  伝送され／受信され／通信された（エンコードされた）画像データ
【０２８９】
図４
【０２９０】
４０１  符号化ブロック
【０２９１】
４０２  符号化ブロック
【０２９２】
４０３  ブロックエッジ
【０２９３】
４０４  画素列
【０２９４】
４０５  画素列
【０２９５】
４０６  画素列
【０２９６】
４０７  画素列
【０２９７】
４０８  画素行
【０２９８】
４０９  画素行
【０２９９】
４１０  画素行
【０３００】
４１１  画素行
【０３０１】
４１２  画素行
【０３０２】
４１３  画素行
【０３０３】
４１４  画素行
【０３０４】
４１５  画素行
【０３０５】
図５
【０３０６】
５０１  イメージ処理デバイス
【０３０７】
５０２  フィルタ
【０３０８】
図６
【０３０９】
６００  エンコーダ
【０３１０】
６０１  イメージ処理デバイス
【０３１１】
６０２  フィルタ
【０３１２】
図７
【０３１３】
７００  デコーダ
【０３１４】
７０１  イメージ処理デバイス
【０３１５】
７０２  フィルタ
【０３１６】
図８
【０３１７】
８００  ブロックエッジ
【０３１８】
図９
【０３１９】
１０００  第１段階
【０３２０】
１００１  第２段階
【０３２１】
１００２  第３段階
【０３２２】
本開示の追加の詳細は、付属書Ａに提示される。
【０３２３】
いくつかの実施形態が本開示において提供されてきたが、開示されるシステム及び方法は、本開示の趣旨又は範囲から逸脱することなく、多くの他の特定の形式で具現化されてよいことを理解されたい。本例は、例示的なものであって、限定的なものではないとみなされるべきであり、その意図は、本明細書において与えられた詳細に限定されるべきではない。例えば、様々な要素又はコンポーネントが、別のシステムに組み合わせられ、又は、統合されてよく、又は、一定の特徴が省略されても、実装されなくてもよい。
【０３２４】
さらに、様々な実施形態において、別個に又は分離して説明及び示された技術、システム、サブシステム及び方法は、本開示の範囲から逸脱することなく、他のシステム、モジュール、技術又は方法と組み合わせられ、又は、統合されてよい。互いに連結される、互いに直接連結される、又は互いに通信するものとして示され論じられた他の要素が、電気的であれ、機械的であれ、又は別の方法であれ、何らかのインタフェース、デバイス、又は中間コンポーネントを介して間接的に連結されても、通信してもよい。変更、置換及び代替の他の例が当業者によって確認可能であり、本明細書で開示される趣旨及び範囲から逸脱することなく行われ得る。以下に与えられるものは、特定の実施形態をリスト化したものである。丸括弧内の参照番号は、限定なものとしてではなく、例示的なものとして解釈されるべきである。
実施形態１
ブロック符号でエンコードされたイメージの第１符号化ブロック（４０１）と第２符号化ブロック（４０２）との間のブロックエッジ（４０３、８００）をデブロッキングするための、イメージエンコーダ（６００）及び／又はイメージデコーダ（７００）における使用のためのイメージ処理デバイス（５０１、６０１、７０１）であって、イメージ処理デバイス（５０１、６０１、７０１）は、ブロックエッジ（４０３、８００）をフィルタリングするためのフィルタ（５０２、６０２、７０２）を備え、ブロックエッジ（４０３、８００）からのデブロッキング範囲であってブロックエッジ（４０３、８００）に対して垂直となるデブロッキング範囲内のフィルタリング対象の画素の少なくともいくつかに対して、
画素の元の画素値及び少なくとも１つのさらなる画素値からフィルタリングされる画素値を決定し、
ブロックエッジ（４０３、８００）からの画素の距離に依存する画素のクリッピング値を決定し、
クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られる
ように構成される。
実施形態２
クリッピング値は、元の画素値とデブロッキングされた画素値との間で最大限許容される変化量である、実施形態１のイメージ処理デバイス（５０１、６０１、７０１）。
実施形態３
クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られることは、
フィルタリングされる画素値とデブロッキングされた画素値との間の差の絶対値が画素のクリッピング値を越えない場合、デブロッキングされた画素値をフィルタリングされる画素値に設定することと、
フィルタリングされる画素値が、元の画素値プラスクリッピング値を超える場合、デブロッキングされた画素値を、元の画素値プラス画素のクリッピング値に設定することと、
フィルタリングされる画素値が、元の画素値マイナスクリッピング値より小さい場合、デブロッキングされた画素値を、元の画素値マイナス画素のクリッピング値に設定することと
を有する、実施形態１又は２のイメージ処理デバイス（５０１、６０１、７０１）。
実施形態４
フィルタ（５０２、６０２、７０２）は、関数又はルックアップテーブルを用いることにより、ブロックエッジ（４０３、８００）からの画素の距離に依存する画素のクリッピング値を決定するように適合される、実施形態１から３のうちのいずれかのイメージ処理デバイス（５０１、６０１、７０１）。
実施形態５
フィルタ（５０２、６０２、７０２）は、ブロックエッジ（４０３、８００）からの画素の距離を拡大しつつ単調に減少する関数を用いることにより、ブロックエッジ（４０３、８００）からの画素の距離に依存する画素のクリッピング値を決定するように適合される、実施形態１から３のうちのいずれかのイメージ処理デバイス（５０１、６０１、７０１）。
実施形態６
関数は指数関数である、実施形態５のイメージ処理デバイス（５０１、６０１、７０１）。
実施形態７
関数は、ｔｃ'＝ｔｃ＋（ｔｃ＞＞ｉ）であり、ｔｃ'はクリッピング値であり、ｔｃは一定値であり、ｉは、ブロックエッジ（４０３、８００）からの画素の距離であり、＞＞は、右シフトを示す、実施形態６のイメージ処理デバイス（５０１、６０１、７０１）。
実施形態８
関数は線形関数である、実施形態５のイメージ処理デバイス（５０１、６０１、７０１）。
実施形態９
関数はｔｃ'＝ｔｃ＋（ｔｃ−（ｉ＊ｘ）であり、ｔｃ'はクリッピング値であり、ｔｃは一定値であり、ｉは、ブロックエッジ（４０３、８００）からの画素の距離であり、ｘは一定値である、実施形態８のイメージ処理デバイス（５０１、６０１、７０１）。
実施形態１０
実施形態１から９のうちのいずれかのイメージ処理デバイス（５０１、６０１、７０１）であって、フィルタ（５０２、６０２、７０２）は、ブロックエッジ（４０３、８００）からのデブロッキング範囲であって、ブロックエッジ（４０３、８００）に対して垂直となるデブロッキング範囲内のフィルタリング対象の各画素に対して、
画素の元の画素値及び少なくとも１つのさらなる画素値からフィルタリングされる画素値を決定し、ブロックエッジ（４０３、８００）から画素の距離に依存する画素のクリッピング値を決定し、クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られるように適合される。
実施形態１１
フィルタ（５０２、６０２、７０２）は、垂直方向のブロックエッジ（４０３、８００）の場合、決定画素列の数がブロックエッジ（４０３、８００）を囲むブロック内の画素列の数より小さいということに基づいて、及び、水平方向のブロックエッジ（４０３、８００）の場合、決定画像行の数がブロックエッジ（４０３、８００）を囲むブロック内の画素行の数より小さいということに基づいて、ブロックエッジ（４０３、８００）がフィルタリングされる必要があるかどうかを決定することであって、フィルタ（５０２、６０２、７０２）は、ブロックエッジ（４０３、８００）からのデブロッキング範囲内の決定画素行又は決定画素列にはないフィルタリング対象の各画素に対して、デブロッキング範囲がブロックエッジ（４０３、８００）に対して垂直となるように適合される、決定することと、
画素の元の画素値及び少なくとも１つのさらなる画素値からフィルタリングされる画素値を決定することと、
ブロックエッジ（４０３、８００）からの画素の距離に依存する画素のクリッピング値を決定することと、
クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果として、デブロッキングされた画素値が得られることと
を行うように適合され、
フィルタ（５０２、６０２、７０２）は、ブロックエッジ（４０３、８００）からのデブロッキング範囲であって、ブロックエッジ（４０３、８００）に対して垂直となるデブロッキング範囲内の決定画素行又は決定画素列にあるフィルタリング対象の各画素に対して、
画素の元の画素値及び少なくとも１つのさらなる画素値からフィルタリングされる画素値を決定することと、
一定のクリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果として、デブロッキングされた画素値が得られることと
を行うように適合される、実施形態１から９のうちのいずれかのイメージ処理デバイス（５０１、６０１、７０１）。
実施形態１２
フィルタ（５０２、６０２、７０２）は、１個、又は、少なくとも２個、又は、少なくとも３個、又は、少なくとも４個、又は、少なくとも５個、又は、少なくとも６個、又は、少なくとも７個、又は、少なくとも８個、又は、少なくとも９個、又は、少なくとも１０個、又は、少なくとも１１個、又は、少なくとも１２個、又は、少なくとも１３個、又は、少なくとも１４個、又は、少なくとも１５個、又は、少なくとも１６個の画素のフィルタタップ長を有する、実施形態１から１１のうちのいずれかのイメージ処理デバイス（５０１、６０１、７０１）。
実施形態１３
実施形態１から１２のうちのいずれかのイメージ処理デバイス（５０１、６０１、７０１）を備える、イメージをエンコードするためのエンコーダ。
実施形態１４
実施形態１から１２のうちのいずれかのイメージ処理デバイス（５０１、６０１、７０１）を備える、イメージをデコードするためのデコーダ。
実施形態１５
ブロック符号でエンコードされたイメージの第１符号化ブロックと第２符号化ブロックとの間のブロックエッジ（４０３、８００）をデブロッキングするためのデブロッキング方法であって、方法は、ブロックエッジ（４０３、８００）からのデブロッキング範囲であって、ブロックエッジ（４０３、８００）に対して垂直となるデブロッキング範囲内のフィルタリング対象となる画素の少なくともいくつかに対して、
画素の元の画素値及び少なくとも１つのさらなる画素値からフィルタリングされる画素値を決定する段階（１０００）と、
ブロックエッジ（４０３、８００）からの画素の距離に依存する画素のクリッピング値を決定する段階（１００１）と、
クリッピング値を用いてフィルタリングされる画素値をクリッピングして、結果としてデブロッキングされた画素値が得られる（１００２）と
を備える方法。
実施形態１６
実施形態１５のデブロッキング方法を備える、イメージをエンコードするためのエンコーディング方法。
実施形態１７
実施形態１５のデブロッキング方法を備える、イメージをデコードするためのデコーディング方法。
実施形態１８
コンピュータプログラムがコンピュータ上で動作する場合、実施形態１５から１７のうちのいずれかに係る方法を実行するためのプログラムコードを備えるコンピュータプログラム製品。
【図１】
2022500942.tif 000008
【図２】
2022500942.tif 000009
【図３】
2022500942.tif 000010
【図４】
2022500942.tif 000011
【図５】
2022500942.tif 000012
【図６】
2022500942.tif 000013
【図７】
2022500942.tif 000014
【図８】
2022500942.tif 000015
【図９】
2022500942.tif 000016
【国際調査報告】
2022500942.tif 000017
2022500942.tif 000018
2022500942.tif 000019