(57)【要約】圧縮ビデオストリームの適応性のあるユースケースに基づくフィルタリングのためのシステム、装置及び方法が開示されている。一実施形態では、システムは、少なくとも１つのディスプレイと、少なくとも１つのメモリデバイスに接続されたプロセッサと、を含む。システムは、圧縮ビデオストリームを受信するように構成されている。システムは、圧縮ビデオストリームの受信フレーム毎に、圧縮ビデオフレームを、フィルタリングされていないフレームに復元する。次に、システムは、第１フィルタを利用して、フィルタリングされていないフレームをフィルタして、フィルタリングされたフレームを生成する。一実施形態では、第１フィルタは、サンプル適応オフセット（ＳＡＯ）フィルタと組み合わされたデブロッキングフィルタ（ＤＢＦ）である。また、この実施形態では、第１フィルタは、ビデオ圧縮規格に準拠している。フィルタリングされていないフレーム及びフィルタリングされたフレームは、第２フィルタへの入力として提供され、第２フィルタは、入力のユースケース固有のノイズ除去を実行して、アーチファクトが低減されたノイズ除去されたフレームを生成する。【選択図】図１
2020522175.tif 000002
【特許請求の範囲】
【請求項１】
第１フィルタと、
第２フィルタと、
ディスプレイと、を備え、
第１圧縮ビデオストリームのフレームを受信することと、
前記フレームを復元して、復元フレームを生成することと、
前記第１フィルタを用いて前記復元フレームをフィルタリングして、フィルタリングされたフレームを生成することと、
前記復元フレーム及び前記フィルタリングされたフレームを前記第２フィルタにおいて受信することと、
前記第２フィルタを用いて前記復元フレーム及び前記フィルタリングされたフレームを処理して、ノイズ除去されたフレームを生成することと、
前記ノイズ除去されたフレームを前記ディスプレイに送ることと、
を行うように構成されている、
システム。
【請求項２】
前記第１フィルタは、ビデオ圧縮規格に準拠している、
請求項１のシステム。
【請求項３】
前記第２フィルタは、プログラム可能なフィルタである、
請求項１のシステム。
【請求項４】
前記第２フィルタは、前記復元フレームのピクセルと前記フィルタリングされたフレームの対応するピクセルとの差に少なくとも部分的に基づいて、前記ノイズ除去されたフレームを生成する、
請求項１のシステム。
【請求項５】
前記システムは、
前記第１圧縮ビデオストリームのユースケースを判別することであって、前記第１圧縮ビデオストリームは第１ユースケースに対応している、ことと、
前記第１ユースケースに合わせてカスタマイズされたパラメータの第１セットを用いて、前記第２フィルタをプログラムすることと、
第２圧縮ビデオストリームを受信することと、
前記第２圧縮ビデオストリームのユースケースを判別することであって、前記第２圧縮ビデオストリームは第２ユースケースに対応している、ことと、
前記第２ユースケースに合わせてカスタマイズされたパラメータの第２セットを用いて前記第２フィルタをプログラムすることであって、前記パラメータの第２セットは、前記パラメータの第１セットと異なっており、前記第２ユースケースは、前記第１ユースケースと異なっている、ことと、
をさらに行うように構成されている、
請求項１のシステム。
【請求項６】
前記圧縮ビデオデータは、ビデオ圧縮規格に準拠している、
請求項１のシステム。
【請求項７】
前記第２フィルタは、前記復元フレームのピクセルと、前記フィルタリングされたフレームの対応するピクセルと、の差を計算するように構成されている、
請求項１のシステム。
【請求項８】
第１圧縮ビデオストリームのフレームを受信及び復元して、復元フレームを生成することと、
第１フィルタを用いて前記復元フレームをフィルタリングして、フィルタリングされたフレームを生成することと、
前記復元フレーム及び前記フィルタリングされたフレームを第２フィルタにおいて受信することと、
前記第２フィルタを用いて前記復元フレーム及び前記フィルタリングされたフレームを処理して、ノイズ除去されたフレームを生成することと、を含む、
方法。
【請求項９】
前記第１フィルタは、ビデオ圧縮規格に準拠している、
請求項８の方法。
【請求項１０】
前記第２フィルタは、プログラム可能なフィルタである、
請求項８の方法。
【請求項１１】
前記第２フィルタは、前記復元フレームのピクセルと前記フィルタリングされたフレームの対応するピクセルとの差に少なくとも部分的に基づいて、前記ノイズ除去されたフレームを生成する、
請求項８の方法。
【請求項１２】
前記第１圧縮ビデオストリームのユースケースを判別することであって、前記第１圧縮ビデオストリームは第１ユースケースに対応している、ことと、
前記第１ユースケースに合わせてカスタマイズされたパラメータの第１セットを用いて、前記第２フィルタをプログラムすることと、
第２圧縮ビデオストリームを受信することと、
前記第２圧縮ビデオストリームのユースケースを判別することであって、前記第２圧縮ビデオストリームは第２ユースケースに対応している、ことと、
前記第２ユースケースに合わせてカスタマイズされたパラメータの第２セットを用いて前記第２フィルタをプログラムすることであって、前記パラメータの第２セットは、前記パラメータの第１セットと異なっており、前記第２ユースケースは、前記第１ユースケースと異なっている、ことと、をさらに含む、
請求項８の方法。
【請求項１３】
前記圧縮ビデオデータは、ビデオ圧縮規格に準拠している、
請求項８の方法。
【請求項１４】
前記第２フィルタによって、前記復元フレームのピクセルと、前記フィルタリングされたフレームの対応するピクセルと、の差を計算することをさらに含む、
請求項８の方法。
【請求項１５】
第１圧縮ビデオストリームのフレームを受信及び復元して、復元フレームを生成するように構成された復元ユニットと、
前記復元フレームをフィルタリングして、フィルタリングされたフレームを生成するように構成された第１フィルタと、
前記復元フレーム及び前記フィルタリングされたフレームを受信し、前記復元フレーム及び前記フィルタリングされたフレームを処理して、ノイズ除去されたフレームを生成するように構成された第２フィルタと、を備える、
装置。
【請求項１６】
前記第１フィルタは、ビデオ圧縮規格に準拠している、
請求項１５の装置。
【請求項１７】
前記第２フィルタは、プログラム可能なフィルタである、
請求項１５の装置。
【請求項１８】
前記第２フィルタは、前記復元フレームのピクセルと前記フィルタリングされたフレームの対応するピクセルとの差に少なくとも部分的に基づいて、前記ノイズ除去されたフレームを生成する、
請求項１５の装置。
【請求項１９】
前記装置は、
前記第１圧縮ビデオストリームのユースケースを判別することであって、前記第１圧縮ビデオストリームは第１ユースケースに対応している、ことと、
前記第１ユースケースに合わせてカスタマイズされたパラメータの第１セットを用いて、前記第２フィルタをプログラムすることと、
第２圧縮ビデオストリームを受信することと、
前記第２圧縮ビデオストリームのユースケースを判別することであって、前記第２圧縮ビデオストリームは第２ユースケースに対応している、ことと、
前記第２ユースケースに合わせてカスタマイズされたパラメータの第２セットを用いて前記第２フィルタをプログラムすることであって、前記パラメータの第２セットは、前記パラメータの第１セットと異なっており、前記第２ユースケースは、前記第１ユースケースと異なっている、ことと、
をさらに行うように構成されている、
請求項１５の装置。
【請求項２０】
前記圧縮ビデオデータは、ビデオ圧縮規格に準拠している、
請求項１５の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
（関連技術の説明）
デジタルビデオストリーミングの帯域幅要件は、時間と共に増大し続けている。様々なアプリケーションは、アーカイブされたビデオ情報用のより少ないストレージ空間及び／又はビデオ情報の伝送用のより小さい帯域幅を必要とするビデオ圧縮から利益を得ている。したがって、デジタルビデオの品質及びアクセシビリティを改善するための様々な技術が開発されている。このような技術の一例は、ＪＶＴ（Joint Video Team）によって提案されたビデオ圧縮規格又はコーデックであるＨ．２６４である。今日のマルチメディア対応デジタルデバイスの大部分には、Ｈ．２６４規格に準拠したデジタルビデオコーデックが組み込まれている。
【０００２】
ＨＥＶＣ（High Efficiency Video Coding）は、Ｈ．２６４に準拠した別のビデオ圧縮規格である。ＨＥＶＣでは、順番に適用される２つのループフィルタ（最初に適用されるデブロッキングフィルタ（ＤＢＦ）と、２番目に適用されるサンプル適応オフセット（ＳＡＯ）フィルタ）を指定する。両方のループフィルタは、画像間予測ループに適用され、フィルタリングされた画像は、画像間予測のための潜在的な基準として、復号化された画像バッファに記憶される。しかしながら、多くの場合、異なるタイプのビデオストリーミングアプリケーションでは、復元されたビデオフレームにＤＢＦフィルタ及びＳＡＯフィルタが適用された後に、かなりの量の視覚的アーチファクトが残る場合がある。
【０００３】
本明細書に記載される方法及びメカニズムの利点は、添付の図面と併せて以下の説明を参照することによって、より良く理解することができる。
【図面の簡単な説明】
【０００４】
【図１】ビデオストリームを符号化及び復号化するシステムの一実施形態のブロック図である。
【図２】デコーダの一部の一実施形態のブロック図である。
【図３】アプリケーション固有のノイズ除去フィルタの一実施形態のブロック図である。
【図４】フィルタリングされたフレームとフィルタリングされていないフレームとの間の絶対値を生成する技術の一実施形態のブロック図である。
【図５】圧縮ビデオフレームを復号化する際に改善されたアーチファクト低減を達成する方法の一実施形態を示す一般化されたフロー図である。
【図６】ユースケース固有フィルタを実現する方法の別の実施形態を示す一般化されたフロー図である。
【図７】フィルタリングされたフレーム及びフィルタリングされていないフレームを、アプリケーション固有のノイズ除去フィルタを用いて処理する方法の一実施形態を示す一般化されたフロー図である。
【発明を実施するための形態】
【０００５】
以下の説明では、本明細書に提示される方法及びメカニズムの十分な理解を提供するために、多くの具体的な詳細が示されている。しかしながら、当業者は、様々な実施形態がこれらの具体的な詳細無しに実施され得ることを認識すべきである。いくつかの例では、周知の構造、コンポーネント、信号、コンピュータプログラム命令及び技術は、本明細書に記載されたアプローチを不明瞭にすることを避けるために、詳細に示されていない。説明を簡単且つ明確にするために、図に示される要素が必ずしも縮尺通りに描かれていないことが理解されるであろう。例えば、いくつかの要素の寸法は、他の要素と比較して誇張されている場合がある。
【０００６】
ビデオストリームの適応性のあるユースケースに基づくフィルタリングのためのシステム、装置及び方法が本明細書に開示されている。一実施形態では、システムは、少なくとも１つのディスプレイと、少なくとも１つのメモリデバイスに接続されたプロセッサと、を含む。一実施形態では、システムは、圧縮ビデオストリームを受信するように構成されている。システムは、圧縮ビデオストリームの受信フレーム毎に、圧縮ビデオフレームを、生のフィルタリングされていないフレームに復元する。次に、システムは、第１フィルタを利用して、生のフィルタリングされていないフレームを、フィルタリングされたフレームにフィルタする。一実施形態では、第１フィルタは、サンプル適応オフセット（ＳＡＯ）フィルタと組み合わされたデブロッキングフィルタである。また、本実施形態では、第１フィルタは、ビデオ圧縮規格に準拠している。一実施形態では、フィルタリングされたフレームは、ループ内フィルタの基準フレームとして利用される。
【０００７】
次に、システムは、フィルタリングされていないフレーム及びフィルタリングされたフレームを、第２フィルタに提供する。一実施形態では、第２フィルタは、圧縮ビデオストリームの固有のユースケースに合わせてカスタマイズされたプログラム可能なフィルタである。例えば、ユースケースには、スクリーンコンテンツ、ビデオ会議、ゲーム、ビデオストリーミング、クラウドゲーム等が含まれるが、これらに限定されない。第２フィルタは、フィルタリングされていないフレーム及びフィルタリングされたフレームをフィルタリングして、ノイズ除去されたフレームを生成する。システムは、追加の後処理の後に、ノイズ除去されたフレームをディスプレイに送る。
【０００８】
一実施形態では、システムは、第１圧縮ビデオストリームを受信する。一実施形態において、システムは、第１圧縮ビデオストリームのユースケースを判別するように構成されている。一実施形態では、システムは、第１圧縮ビデオストリームのユースケースのタイプを特定する指標を受信する。別の実施形態では、システムは、第１圧縮ビデオストリームを分析して、ユースケースのタイプを判別する。システムは、第１圧縮ビデオストリームが第１ユースケースに対応すると判別した場合、第１ユースケースに合わせてカスタマイズされたパラメータの第１セットを用いて、第２フィルタをプログラムする。次に、システムは、フレームをディスプレイに送る前に、パラメータの第１セットを用いてプログラムされた第２フィルタを利用して、第１圧縮ビデオストリームのフレームをフィルタリングして、ノイズ除去する。
【０００９】
後の時点で、システムは、第２圧縮ビデオストリームを受信する。システムは、第２圧縮ビデオストリームが第２ユースケースに対応すると判別した場合、第２ユースケースに合わせてカスタマイズされたパラメータの第２セットを用いて、第２フィルタをプログラムする。次に、システムは、フレームをディスプレイに送るまでに、パラメータの第２セットを用いてプログラムされた第２フィルタを利用して、第２圧縮ビデオストリームのフレームをフィルタリングして、ノイズ除去する。
【００１０】
図１を参照すると、ビデオストリームを符号化及び復号化するシステム１００の一実施形態のブロック図が示されている。一実施形態では、エンコーダ１０２及びデコーダ１０４は、同一のシステム１００の一部である。別の実施形態では、エンコーダ１０２及びデコーダ１０４は、別々のシステムの一部である。一実施形態では、エンコーダ１０２は、元のビデオ１０８を圧縮するように構成されている。エンコーダ１０２は、変換及び量子化ブロック１１０と、エントロピーブロック１２２と、逆量子化及び逆変換ブロック１１２と、予測モジュール１１６と、組み合わされたデブロッキングフィルタ（ＤＢＦ）及びサンプル適応オフセット（ＳＡＯ）フィルタ１２０と、を含む。再構成されたビデオ１１８は、予測モジュール１１６への入力として提供される。他の実施形態では、エンコーダ１０２は、他のコンポーネントを含むことができ、及び／又は、異なるように構成することができる。エンコーダ１０２の出力は、デコーダ１０４に記憶され得るか送信され得るビットストリーム１２４である。
【００１１】
デコーダ１０４がビットストリーム１２４を受信すると、逆エントロピーブロック１２６がビットストリーム１２４を処理し、逆量子化及び逆変換ブロック１２８がその後に続く。次に、逆量子化及び逆変換ブロック１２８の出力は、補償ブロック１３４の出力と組み合わされる。ブロック１２６，１２８，１３４は、「復元ユニット」と呼ばれ得ることに留意されたい。他の実施形態では、復元ユニットは、他のブロックを含んでもよいし、及び／又は、異なるように構成されてもよい。デブロッキングフィルタ（ＤＢＦ）及びサンプル適応オフセット（ＳＡＯ）フィルタ１３０は、生のフィルタリングされていないフレームを処理して、復号化されたビデオ１３２を生成するように構成されている。一実施形態では、ＤＢＦ／ＳＡＯフィルタ１３０は、エンコーダ１０２において、ＤＢＦ／ＳＡＯフィルタ１２０によって適用されたフィルタリングを逆にする。いくつかの実施形態では、ＤＢＦ／ＳＡＯフィルタリングは、エンコーダ１０２及びデコーダ１０４の両方において無効にすることができる。
【００１２】
一実装形態では、アプリケーション固有のノイズ除去フィルタ１３６に対して２つの入力が存在する。これらの入力は、パス１３５Ａ及びパス１３５Ｂを介して、アプリケーション固有のノイズ除去フィルタ１３６に接続されている。生のフィルタリングされていないフレームは、パス１３５Ａを介してアプリケーション固有のノイズ除去フィルタ１３６に伝達され、フィルタリングされたフレームは、パス１３５Ｂを介してアプリケーション固有のノイズ除去フィルタ１３６に伝達される。アプリケーション固有のノイズ除去フィルタ１３６は、これらのフレームの一方又は両方をフィルタリングして、アーチファクトが低減したノイズ除去フレームを生成するように構成されている。また、アプリケーション固有のノイズ除去フィルタ１３６は、「デブロッキングフィルタ」、「アーチファクト低減フィルタ」又は他の同様の用語として呼ばれ得ることに留意されたい。
【００１３】
次に、ノイズ除去されたフレームは、アプリケーション固有のノイズ除去フィルタ１３６から従来の後処理ブロック１３８に伝達される。一実施形態では、従来の後処理ブロック１３８は、ディスプレイ１４０の特性に適合するようにサイズ調整及び色空間の変換を行う。他の実施形態では、従来の後処理ブロック１３８は、ノイズ除去されたフレームに対して他のタイプの後処理動作を実行することができる。次に、フレームは、従来の後処理ブロック１３８からディスプレイ１４０に送られる。このプロセスは、受信したビデオストリームの後続のフレームに対して繰り返すことができる。
【００１４】
一実施形態では、アプリケーション固有のノイズ除去フィルタ１３６は、受信したビデオストリームを生成した固有のアプリケーションに合わせてカスタマイズされたノイズ除去アルゴリズムを利用するように構成されている。ビデオストリームを生成するのに利用することができる様々なアプリケーションの例には、ビデオ会議、スクリーンコンテンツ（例えば、リモートコンピュータデスクトップアクセス、リアルタイムのスクリーン共有）、ゲーム、映画製作、ビデオストリーミング、クラウドゲーム等が含まれる。これらの様々なタイプのアプリケーション毎に、アプリケーション固有のノイズ除去フィルタ１３６は、視覚的アーチファクトを低減するために固有のアプリケーションに適合されたフィルタリング及び／又はノイズ除去アルゴリズムを利用するように構成されている。
【００１５】
一実施形態では、アプリケーション固有のノイズ除去フィルタ１３６は、機械学習アルゴリズムを利用して、受信したビデオストリームのフィルタリング及び／又はノイズ除去を行う。一実施形態では、アプリケーション固有のノイズ除去フィルタ１３６は、トレーニングされたニューラルネットワークを利用して実装される。他の実施形態では、アプリケーション固有のノイズ除去フィルタ１３６は、他のタイプの機械学習アルゴリズムを利用して実装することができる。
【００１６】
実施形態に応じて、デコーダ１０４は、ハードウェア及び／又はソフトウェアの任意の適切な組み合わせを利用して実装することができる。例えば、デコーダ１０４は、中央処理装置（ＣＰＵ）、グラフィックス処理装置（ＧＰＵ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、又は、任意の他の適切なハードウェアデバイスを利用するコンピューティングシステムに実装することができる。ハードウェアデバイスは、ハードウェアデバイスによって実行可能なプログラム命令を含む１つ以上のメモリデバイスに接続することができる。
【００１７】
図２を参照すると、デコーダ２００の一部の一実施形態のブロック図が示されている。デコーダ２００は、圧縮ビデオストリームのフレームを受信し、フレームを復元して、フィルタリングされていないフレームを生成するように構成されている。一実施形態では、圧縮ビデオストリームは、ビデオ圧縮規格（例えば、ＨＥＶＣ）に準拠している。この実施形態では、圧縮ビデオストリームは、ＤＢＦ／ＳＡＯフィルタによって符号化される。したがって、デコーダ２００は、フィルタリングされていないフレーム２０５からフィルタリングされたフレーム２１５を生成するように、エンコーダで実行されたＤＢＦ／ＳＡＯフィルタリングを逆にするＤＢＦ／ＳＡＯフィルタ２１０を含む。フィルタリングされたフレーム２１５は、「基準フレーム」と呼ばれる場合もある。この基準フレームは、後続フレームの生成に使用されるデコーダ２００のループ内フィルタ（図示省略）に伝達され得る。
【００１８】
フィルタリングされていないフレーム２０５及びフィルタリングされたフレーム２１５の両方は、アプリケーション固有のノイズ除去フィルタ２２０に伝達される。アプリケーション固有のノイズ除去フィルタ２２０は、フィルタリングされていないフレーム２０５及びフィルタリングされたフレーム２１５の一方又は両方を利用し、入力に対してノイズ除去フィルタリングを実行して、ノイズ除去されたフレーム２２５を生成する。「ノイズ除去されたフレーム」という用語は、アプリケーション固有のノイズ除去フィルタの出力として定義される。ノイズ除去されたフレーム２２５は、フィルタリングされていないフレーム２０５及びフィルタリングされたフレーム２１５と比較して、より少ない視覚的アーチファクトを含む。
【００１９】
一実施形態では、アプリケーション固有のノイズ除去フィルタ２２０は、フィルタリングされていないフレーム２０５のピクセルと、フィルタリングされたフレーム２１５のピクセルと、の差を計算する。次に、アプリケーション固有のノイズ除去フィルタ２２０は、ピクセルの差の値を利用して、フィルタリングされていないフレーム２０５及び／又はフィルタリングされたフレーム２１５をどのようにフィルタリングするかを決定する。一実施形態では、アプリケーション固有のノイズ除去フィルタ２２０は、受信した圧縮ビデオストリームのフレームを生成したアプリケーションを判別し、その固有のアプリケーションに合わせてカスタマイズされたフィルタリングを行う。
【００２０】
図３を参照すると、アプリケーション固有のノイズ除去フィルタ３０５の一実施形態のブロック図が示されている。一実装形態では、アプリケーション固有のノイズ除去フィルタ３０５は、メモリ３１０に接続されている。メモリ３１０は、任意のタイプのメモリデバイス又はストレージ要素の集合体を表している。アプリケーション固有のノイズ除去フィルタ３０５は、圧縮ビットストリームを受信すると、圧縮ビデオストリームのアプリケーション（すなわち、ユースケース）の指標を判別又は受信するように構成されている。一実装形態では、アプリケーション固有のノイズ除去フィルタ３０５は、アプリケーションのタイプの指標を受信する。この指標は、圧縮ビデオストリームのヘッダに含まれてよいし、圧縮ビデオストリームとは別のチャネルで送信された別の信号又はデータであってもよい。別の実施形態では、アプリケーション固有のノイズ除去フィルタ３０５は、圧縮ビデオストリームを分析して、圧縮ビデオストリームを生成したアプリケーションのタイプを判別する。他の実施形態では、圧縮ビデオストリームを生成したアプリケーションのタイプを判別するための他の技術を利用することができる。
【００２１】
一実施形態では、アプリケーション固有のノイズ除去フィルタ３０５は、受信した圧縮ビデオストリームのフレームのノイズ除去フィルタリングを実行する場合に、何れのパラメータのセットを利用するかを決定するために、アプリケーションタイプを用いてテーブル３２５に問い合わせる。例えば、アプリケーションタイプがスクリーンコンテンツである場合、アプリケーション固有のノイズ除去フィルタ３０５は、パラメータの第２セット３２０Ｂを取り出して、ノイズ除去フィルタリング要素をプログラミングするのに利用する。或いは、アプリケーションタイプがビデオ会議である場合には、アプリケーション固有のノイズ除去フィルタ３０５は、パラメータのＮ番目のセット３２０Ｎを取り出し、アプリケーションタイプがストリーミングの場合には、アプリケーション固有のノイズ除去フィルタ３０５は、パラメータの第１セット３２０Ａを取り出す、等である。一実施形態では、アプリケーション固有のノイズ除去フィルタ３０５は、機械学習モデルを含み、メモリ３１０から取り出したパラメータのセットを利用して、ノイズ除去フィルタリングを実行するために機械学習モデルをプログラムする。例えば、機械学習モデルは、サポートベクタマシン、回帰モデル、ニューラルネットワーク、又は、他のタイプのモデルであってもよい。実施形態に応じて、機械学習モデルは、トレーニングされてもよいし、トレーニングされなくてもよい。他の実施形態では、アプリケーション固有のノイズ除去フィルタ３０５は、入力ビデオストリームのノイズ除去を実行するために他のタイプのフィルタを利用することができる。
【００２２】
図４を参照すると、フィルタリングされたフレームとフィルタリングされていないフレームとの間の絶対値を生成する一実施形態のブロック図が示されている。一実施形態では、アプリケーション固有のノイズ除去フィルタ（例えば、図１のアプリケーション固有のノイズ除去フィルタ１３６）は、フィルタリングされていないフレーム４０５及びフィルタリングされたフレーム４１０を受信する。一実施形態では、フィルタリングされたフレーム４１０は、組み合わされたデブロッキングフィルタ（ＤＢＦ）及びビデオ圧縮規格に準拠したサンプル適応オフセット（ＳＡＯ）フィルタによって生成される。フィルタリングされていないフレーム４０５は、ＤＢＦ／ＳＡＯフィルタへの入力を表している。フィルタリングされていないフレーム４０５及びフィルタリングされたフレーム４１０の両方は、アプリケーション固有のノイズ除去フィルタへの入力として提供される。
【００２３】
一実施形態では、アプリケーション固有のノイズ除去フィルタは、フレームのピクセル毎に、フィルタリングされていないフレーム４０５とフィルタリングされたフレーム４１０との差を計算する。差分フレーム４１５は、フレームのピクセルの差分の一例として図４に示されている。差分フレーム４１５に示された値は単なる例であり、フィルタリングされていないフレーム４０５及びフィルタリングされたフレーム４１０における対応するピクセル間の差に等しい値を各ピクセルにどのように割り当てることができるかを表すことを意図している。一実施形態では、アプリケーション固有のノイズ除去フィルタは、差分フレーム４１５の値を利用して、フィルタリングされていないフレーム４０５及びフィルタリングされたフレームのノイズ除去フィルタリングを行う。差分フレーム４１５の０以外の値は、何れのピクセル値がＤＢＦ／ＳＡＯフィルタによって変更されたかを示す。
【００２４】
図５を参照すると、圧縮ビデオフレームを復号化する際に改善されたアーチファクト低減を達成する方法５００の一実施形態が示されている。説明のために、この実施形態におけるステップ及び図６〜図７のステップが順番に示されている。しかしながら、記載された方法の様々な実施形態では、記載された要素のうち１つ以上が、同時に実行されてもよいし、示された順序と異なる順序で実行されてもよいし、完全に省略されてもよいことに留意されたい。また、他の追加の要素が、必要に応じて実行される。本明細書に記載された様々なシステム又は装置は、方法５００を実施するように構成されている。
【００２５】
デコーダは、圧縮ビデオストリームのフレームを受信する（ブロック５０５）。一実施形態では、デコーダは、少なくとも１つのメモリデバイスに接続された少なくとも１つのプロセッサを備えるシステム上に実装される。一実施形態では、ビデオストリームは、ビデオ圧縮規格（例えば、ＨＥＶＣ）に従って圧縮される。デコーダは、受信したフレームを復元して、復元フレームを生成する（ブロック５１０）。次に、デコーダは、第１フィルタを用いて復元フレームをフィルタリングして、フィルタリングされたフレームを生成する（ブロック５１５）。一実施形態では、第１フィルタは、デブロッキング及びサンプル適応オフセットフィルタリングを実行する。この実施形態では、第１フィルタもビデオ圧縮規格に準拠している。
【００２６】
次に、デコーダは、復元フレーム及びフィルタリングされたフレームを、第２フィルタに対する入力として提供する（ブロック５２０）。次いで、第２フィルタは、復元フレーム及び／又はフィルタリングされたフレームをフィルタリングして、アーチファクトが低減されたノイズ除去されたフレームを生成する（ブロック５２５）。次に、ノイズ除去されたフレームは、オプションの従来の後処理モジュールを通過する（ブロック５３０）。一実施形態では、従来の後処理モジュールは、ノイズ除去されたフレームのサイズを調整し、ノイズ除去されたフレームに対して色空間の変換を実行する。次に、フレームがディスプレイに送られる（ブロック５３５）。ブロック５３５の後に、方法５００は終了する。
【００２７】
図６を参照すると、ユースケース固有のフィルタを実現する方法６００の一実施形態が示されている。デコーダは、第１圧縮ビデオストリームを受信する（ブロック６０５）。次に、デコーダは、第１圧縮ビデオストリームのユースケースを判別し、第１圧縮ビデオストリームは、第１ユースケースに対応している（ブロック６１０）。次いで、デコーダは、第１ユースケースに合わせてカスタマイズされたパラメータの第１セットを用いて、ノイズ除去フィルタをプログラムする（ブロック６１５）。次に、デコーダは、プログラムされたノイズ除去フィルタを利用して、第１圧縮ビデオストリームのフレームをフィルタリングする（ブロック６２０）。
【００２８】
後の時点で、デコーダは、第２圧縮ビデオストリームを受信する（ブロック６２５）。一般的に、デコーダは、任意の数の異なる圧縮ビデオストリームを受信することができる。次に、デコーダは、第２圧縮ビデオストリームのユースケースを判別し、第２圧縮ビデオストリームは、第２ユースケースに対応している（ブロック６３０）。この説明では、第２ユースケースが、第１ユースケースと異なることを想定している。次に、デコーダは、第２ユースケースに合わせてカスタマイズされたパラメータの第２セットを用いて、ノイズ除去フィルタをプログラムする（ブロック６３５）。この説明では、パラメータの第２セットが、パラメータの第１セットと異なることを想定している。次に、デコーダは、プログラムされたノイズ除去フィルタを利用して、第２圧縮ビデオストリームのフレームをフィルタリングする（ブロック６４０）。ブロック６４０の後に、方法６００は終了する。デコーダが受信した任意の数の異なる圧縮ビデオストリームに対して、任意の回数だけ方法６００を繰り返すことができることに留意されたい。
【００２９】
図７を参照すると、フィルタリングされたフレーム及びフィルタリングされていないフレームを、アプリケーション固有のノイズ除去フィルタを用いて処理する方法７００の一実施形態が示されている。デコーダは、圧縮ビデオストリームのフレームを受信する（ブロック７０５）。デコーダは、受信したフレームを復元する（ブロック７１０）。この復元フレームは、デブロッキングフィルタによって処理される前に、フィルタリングされていないフレームと呼ばれる。デコーダは、フィルタリングされていないフレームをアプリケーション固有のノイズ除去フィルタに伝達する（ブロック７１５）。また、デコーダは、デブロッキングフィルタ及びＳＡＯフィルタを用いてフレームをフィルタリングし、フィルタリングされたフレームをアプリケーション固有のノイズ除去フィルタに伝達する（ブロック７２０）。次に、アプリケーション固有のノイズ除去フィルタは、フィルタリングされていないフレームのピクセルとフィルタリングされたフレームのピクセルとの間の絶対差を計算する（ブロック７２５）。
【００３０】
次に、アプリケーション固有のノイズ除去フィルタは、フィルタリングされていないフレームとフィルタリングされたフレームとの間の絶対差に少なくとも部分的に基づいて、フィルタリングされていないフレームをどのようにフィルタリングするかを決定する（ブロック７３０）。次いで、アプリケーション固有のノイズ除去フィルタは、オプションで、フィルタリングされていないフレームとフィルタリングされたフレームとの間の絶対差に少なくとも部分的に基づくアプリケーション固有のフィルタリングを行う（ブロック７３５）。次に、アプリケーション固有のノイズ除去フィルタの出力に対して従来の後処理（例えば、サイズ調整、色空間の変換）が適用される（ブロック７４０）。次いで、フレームがディスプレイに送られる（ブロック７４５）。ブロック７４５の後に、方法７００は終了する。或いは、方法７００は、圧縮ビデオストリームの次のフレームに対して繰り返されてもよい。
【００３１】
様々な実施形態では、ソフトウェアアプリケーションのプログラム命令を使用して、上述した方法及び／又はメカニズムを実施する。プログラム命令は、例えばＣ言語等の高水準プログラミング言語におけるハードウェアの挙動を記述する。或いは、Ｖｅｒｉｌｏｇ等のハードウェア設計言語（ＨＤＬ）が使用される。プログラム命令は、非一時的なコンピュータ可読記憶媒体に記憶される。複数のタイプの記憶媒体が利用可能である。記憶媒体は、プログラム命令及び付随するデータをプログラム実行のためにコンピューティングシステムに提供するために、使用中にコンピューティングシステムによってアクセス可能である。コンピューティングシステムは、１つ以上のメモリと、プログラム命令を実行するように構成された１つ以上のプロセッサと、を少なくとも含む。
【００３２】
上述した実施形態は、実施態様の非限定的な例に過ぎないことを強調しておきたい。上記の開示が十分に理解されれば、多くの変形及び修正が当業者に明らかになるであろう。以下の特許請求の範囲は、このような変形及び修正の全てを包含するように解釈されることを意図している。
【図１】
2020522175.tif 000003
【図２】
2020522175.tif 000004
【図３】
2020522175.tif 000005
【図４】
2020522175.tif 000006
【図５】
2020522175.tif 000007
【図６】
2020522175.tif 000008
【図７】
2020522175.tif 000009
【国際調査報告】
2020522175.tif 000010
2020522175.tif 000011