(57)【要約】  ゴーストアーチファクトを低減するためのデジタルビデオシーケンスのノイズフィルタリングの方法が開示される。記載する方法の例が、参照フレームに基づきデジタルビデオシーケンスのフレーム内の画素について動き値を演算すること（３０２）、動き値に基づきこれらの画素について混合ファクタを演算すること（３０４）、参照フレーム及びこのフレーム内の対応する画素値に混合ファクタを適用することによりフィルタされた出力画素値を生成すること（３０６）であって、ゴーストアーチファクトを低減するよう、選択されるフィルタされた出力画素値がこのフレーム内の対応する画素値に向かって（例えば、段階的又は即座に）収束される（３０８）こと、およびフィルタされたフレームを出力すること（３１０）を含む。ゴーストアーチファクトを低減するようデジタルビデオシーケンスをフィルタリングするためのノイズフィルタ及びデジタルシステムも開示される。
2013526138.tif 000002
【特許請求の範囲】
【請求項１】
ゴーストアーチファクトを低減するためのデジタルビデオシーケンスのノイズフィルタリングの方法であって、
参照フレームに基づいて前記デジタルビデオシーケンスのフレーム内の画素について動き値を演算すること、
前記動き値に基づいて前記画素について混合ファクタを演算すること、
前記参照フレームおよび前記フレーム内の対応する画素値に前記混合ファクタを適用することによって、フィルタされた出力画素値を生成することであって、ゴーストアーチファクトを低減するため、選択されるフィルタされた出力画素値が前記フレーム内の対応する画素値に向かって収束されること、および
前記フィルタされたフレームを出力すること、
を含む、方法。
【請求項２】
請求項１に記載の方法であって、前記選択されたフィルタされた出力画素値が、前記フレーム内の前記対応する画素値に向かって即座収束される、方法。
【請求項３】
請求項１に記載の方法であって、前記選択されたフィルタされた出力画素値が、前記フレーム内の前記対応する画素値に向かって段階的に収束される、方法。
【請求項４】
請求項１に記載の方法であって、フィルタされた出力画素値を生成することが、あるフィルタされた出力画素値が前記参照フレーム内の対応する画素値に等しいとき、前記フィルタされた出力画素値を前記フレーム内の対応する画素値に近づくように動かすように、前記フィルタされた出力画素値を１だけインクリメントまたはデクリメントすることを含む、方法。
【請求項５】
請求項１に記載の方法であって、フィルタされた出力画素値を生成することが、あるフィルタされた出力画素値が前記参照フレーム内の対応する画素値に等しいとき、前記フィルタされた出力画素値を前記フレーム内の対応する画素値で置き換えることを含む、方法。
【請求項６】
請求項１に記載の方法であって、混合ファクタを演算することが、
（２（ａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍ）ｍ（ｘ，ｙ，ｎ）＞＝３）のとき、混合ファクタをａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍとして演算すること、
ｍ（ｘ，ｙ，ｎ）＝Ｔｍまたはｍ（ｘ，ｙ，ｎ）＝０のとき、混合ファクタを１として演算すること、および
その他の場合は混合ファクタを３／（２×ｍ（ｘ，ｙ，ｎ））として演算すること、
を含み、ここで、ｎは前記フレームの番号であり、ｘおよびｙは画素座標であり、ｍ（ｘ，ｙ，ｎ）は動き値であり、Ｔｍは動き閾値であり、ａ０は強度パラメータである、
方法。
【請求項７】
請求項１に記載の方法であって、混合ファクタを演算することが、
（２（ａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍ）ｍ（ｘ，ｙ，ｎ）＞＝３）およびｍ（ｘ，ｙ，ｎ）＜Ｔｍのとき、混合ファクタをａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍとして演算すること、および、
その他の場合は混合ファクタを１として演算すること、
を含み、ここで、ｎは前記フレームの番号であり、ｘおよびｙは画素座標であり、ｍ（ｘ，ｙ，ｎ）は動き値であり、Ｔｍは動き閾値であり、ａ０は強度パラメータである、
方法。
【請求項８】
請求項１に記載の方法であって、前記動き値を演算する前に、前記フレームに空間フィルタを適用することをさらに含む、方法。
【請求項９】
ゴーストアーチファクトを低減するためにデジタルビデオシーケンスをフィルタリングするノイズフィルタであって、
参照フレームとして用いられる前記ノイズフィルタの出力フレームをストアするように構成されるフレームバッファ構成要素、
前記参照フレームに基づいて前記デジタルビデオシーケンスのフレーム内の画素について動き値を演算するように構成される動き検出構成要素、
前記動き値に基づいて前記画素について混合ファクタを演算するように構成される動き−混合ファクタ変換構成要素、および
前記参照フレームおよび前記フレーム内の対応する画素値に前記混合ファクタを適用することによって、フィルタされた出力画素値を生成するように構成されるフレーム混合構成要素であって、ゴーストアーチファクトが低減されるように、選択されるフィルタされた出力画素値が前記フレーム内の対応する画素値に向かって収束される、前記フレーム混合構成要素、
を含む、ノイズフィルタ。
【請求項１０】
請求項９に記載のノイズフィルタであって、前記フレーム混合構成要素が、
あるフィルタされた出力画素値が前記参照フレーム内の対応する画素値に等しいとき、前記フィルタされた出力画素値を前記フレーム内の対応する画素値に近づくように動かすように、前記フィルタされた出力画素値を１だけインクリメントまたはデクリメントすること、および、
あるフィルタされた出力画素値が前記参照フレーム内の対応する画素値に等しいとき、前記フィルタされた出力画素値を前記フレーム内の対応する画素値で置き換えること、
とからなる群から選択される１つを実行するように構成される、
ノイズフィルタ。
【請求項１１】
請求項９に記載のノイズフィルタであって、前記動き−混合ファクタ変換構成要素が、
（２（ａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍ）ｍ（ｘ，ｙ，ｎ）＞＝３）のとき、混合ファクタをａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍとして演算し、
ｍ（ｘ，ｙ，ｎ）＝Ｔｍまたはｍ（ｘ，ｙ，ｎ）＝０のとき、混合ファクタを１として演算し、
その他の場合は混合ファクタを３／（２×ｍ（ｘ，ｙ，ｎ））として演算する、
ように構成され、ここで、ｎは前記フレームの番号であり、ｘおよびｙは画素座標であり、ｍ（ｘ，ｙ，ｎ）は動き値であり、Ｔｍは動き閾値であり、ａ０は強度パラメータである、
ノイズフィルタ。
【請求項１２】
請求項９に記載のノイズフィルタであって、前記動き−混合ファクタ変換構成要素が、
（２（ａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍ）ｍ（ｘ，ｙ，ｎ）＞＝３）およびｍ（ｘ，ｙ，ｎ）＜Ｔｍのとき、混合ファクタをａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍとして演算し、
その他の場合は混合ファクタを１として演算する、
ように構成され、ここで、ｎは前記フレームの番号であり、ｘおよびｙは画素座標であり、ｍ（ｘ，ｙ，ｎ）は動き値であり、Ｔｍは動き閾値であり、ａ０は強度パラメータである、
ノイズフィルタ。
【請求項１３】
請求項９に記載のノイズフィルタであって、前記フレームに空間フィルタを適用するように構成される空間フィルタ構成要素をさらに含む、ノイズフィルタ。
【請求項１４】
ゴーストアーチファクトを低減するためにデジタルビデオシーケンスをフィルタリングするように構成されるデジタルシステムであって、
参照フレームとして用いられるフィルタされた出力フレームをストアするための手段、
前記参照フレームに基づいて前記デジタルビデオシーケンスのフレーム内の画素について動き値を演算するための手段、
前記動き値に基づいて前記画素についての混合ファクタを演算する手段、および
前記参照フレームおよび前記フレーム内の対応する画素値に前記混合ファクタを適用することによって、フィルタされた出力画素値を生成する手段であって、ゴーストアーチファクトを低減するように、選択されるフィルタされた出力画素値が前記フレーム内の対応する画素値に向かって収束される、前記手段、
を含む、デジタルシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
ビデオノイズフィルタが民生用ビデオ製品にとって重要な差別化要素になってきている。これは、ノイズレベルがビデオの質の主要な因子の１つだからである。撮像センサ（例えば、携帯電話のカメラ、ビデオカメラ）によって取得するか、またはアナログビデオ入力（例えば、テレビのケーブル、ＤＶＤ／ＶＣＲ）から受け取るビデオ画像には、かなりの量のランダムノイズが混入していることがよくある。ビデオノイズフィルタは、視覚的な質、符号化効率を改善することができ、強調、オブジェクト追跡、および認識などのさらなる処理や解析を容易にし得る。さらに、ビデオノイズフィルタは、携帯電話のカメラ、ビデオによる監視、およびＤＶＲなど多くの応用例に適用し得る。
【背景技術】
【０００２】
多くの応用例では、ビデオノイズフィルタは、空間ノイズフィルタ（ＳＮＦ）および時間ノイズフィルタ（ＴＮＦ）をともに含む。一般に、ビデオノイズフィルタリングでは、時間ノイズフィルタリングが空間ノイズフィルタリングよりも効果的である。時間ノイズフィルタリングは、複数のフレームからの情報を利用するからである。通常よく使用されるＴＮＦの１つは、演算の複雑さが極めて小さく、すべての前のフレームからの情報を利用する時間無限インパルス応答（ＩＩＲ）フィルタである。しかし、ビデオシーケンスに時間ＩＩＲノイズフィルタを用いると、ゴーストアーチファクトが生じることがあり、その場合、ビデオシーケンスの動領域で、特にフィルタの強度が強いと、輪郭がスムースに移動しない。輪郭がスムースに移動しないのは、ビデオシーケンスにおいてオブジェクトが動いており、このオブジェクトが動いたときこのオブジェクトの前の位置の輪郭、すなわち縁、が見えたままとなる場合に生じる。例えば、箱が左から右に動いている場合、この動いている箱の左に多くの縦線として、輪郭がスムースに移動しない状態が見えることがある。これらの目に見える輪郭をゴーストアーチファクトと称することがある。動き適応時間ＩＩＲノイズフィルタが、ビデオシーケンスの動きの振幅に従ってフィルタ強度を自動的に調整することによってこのゴーストアーチファクトを低減することができる。しかし、このような自動調整によっても、ある種のゴーストアーチファクトは時間とともに消えてはいかない。従って、時間ノイズフィルタリングにおける改善が望まれている。
【０００３】
本発明の原理の例示の実施形態を、添付の図面を参照しながら例として以下に記載する。
【図面の簡単な説明】
【０００４】
【図１】本発明の１つまたは複数の実施形態に従ったデジタルシステムのブロック図を示す。
【０００５】
【図２Ａ】本発明の１つまたは複数の実施形態に従った時間ノイズフィルタを含むノイズフィルタのブロック図を示す。
【０００６】
【図２Ｂ】本発明の１つまたは複数の実施形態に従った動き−混合ファクタ関数を示す。
【図２Ｃ】本発明の１つまたは複数の実施形態に従った動き−混合ファクタ関数を示す。
【図２Ｄ】本発明の１つまたは複数の実施形態に従った動き−混合ファクタ関数を示す。
【０００７】
【図３】本発明の１つまたは複数の実施形態に従った方法のフローチャートを示す。
【図４】本発明の１つまたは複数の実施形態に従った方法のフローチャートを示す。
【図５】本発明の１つまたは複数の実施形態に従った方法のフローチャートを示す。
【図６】本発明の１つまたは複数の実施形態に従った方法のフローチャートを示す。
【０００８】
【図７】本発明の１つまたは複数の実施形態に従った例示のデジタルシステムを示す。
【図８】本発明の１つまたは複数の実施形態に従った例示のデジタルシステムを示す。
【図９】本発明の１つまたは複数の実施形態に従った例示のデジタルシステムを示す。
【発明を実施するための形態】
【０００９】
デジタルビデオシーケンスの時間ノイズフィルタリングにおいてゴーストアーチファクトを低減するための方法およびシステムを提供するように実施される本発明の原理を示す例示の実施形態を記載する。より具体的には、本明細書に記載する実施形態によれば、ビデオシーケンスのフレームに動き適応時間無限インパルス応答（ＩＩＲ）ノイズフィルタを適用することによって生じることがあるゴーストアーチファクトが低減される。例えば、動き適応時間ＩＩＲフィルタでは、出力フレーム［Ｙｏ（ｘ，ｙ，ｎ），Ｕｏ（ｘ，ｙ，ｎ），Ｖｏ（ｘ，ｙ，ｎ）］は、入力フレーム［Ｙｃ（ｘ，ｙ，ｎ），Ｕｃ（ｘ，ｙ，ｎ），Ｖｃ（ｘ，ｙ，ｎ）］とそのフィルタの前の出力フレーム、すなわち、参照フレーム［Ｙｏ（ｘ，ｙ，ｎ−１），Ｕｏ（ｘ，ｙ，ｎ−１），Ｖｏ（ｘ，ｙ，ｎ−１）］との重み平均である。
Ｙｏ（ｘ，ｙ，ｎ）＝ａ（ｘ，ｙ，ｎ）Ｙｃ（ｘ，ｙ，ｎ）＋（１−ａ（ｘ，ｙ，ｎ））Ｙｏ（ｘ，ｙ，ｎ−１）；
Ｕｏ（ｘ，ｙ，ｎ）＝ａ（ｘ，ｙ，ｎ）Ｕｃ（ｘ，ｙ，ｎ）＋（１−ａ（ｘ，ｙ，ｎ））Ｕｏ（ｘ，ｙ，ｎ−１）；
Ｖｏ（ｘ，ｙ，ｎ）  ＝ａ（ｘ，ｙ，ｎ）Ｖｃ（ｘ，ｙ，ｎ）＋（１−ａ（ｘ，ｙ，ｎ））Ｖｏ（ｘ，ｙ，ｎ−１）
ここで、ｘおよびｙは空間座標であり、ｎは時間座標、すなわちフレームインデックス、であり、Ｙ、Ｕ、Ｖはビデオシーケンスの３つの色チャネルであり、ａ（ｘ，ｙ，ｎ）は動き値ｍ（ｘ，ｙ，ｎ）によって制御される混合ファクタである。
【００１０】
ある画素についての動き値ｍ（ｘ，ｙ，ｚ）は、３つのすべての色チャネルについての現在の入力フレームと参照フレームの間の距離Ｌ１、すなわち絶対差の和である。
ｍ（ｘ，ｙ，ｎ）＝｜Ｙｃ（ｘ，ｙ，ｎ）−Ｙｏ（ｘ，ｙ，ｎ−１）｜＋｜Ｕｃ（ｘ，ｙ，ｎ）−Ｕｏ（ｘ，ｙ，ｎ−１）｜＋｜Ｖｃ（ｘ，ｙ，ｎ）−Ｖｏ（ｘ，ｙ，ｎ−１）｜
動き値が小さく、画素がこの位置に良好に整合されることを示している場合、強い時間フィルタが適用される。動き値が大きく、画素がこの位置に良好に整合されないことを示している場合、弱い時間フィルタが適用される。そのため、各画素毎のｘ，ｙでの混合ファクタａは、その画素位置における動きｍの関数である。
ｍ（ｘ，ｙ，ｎ）＜Ｔｍの場合、ａ（ｘ，ｙ，ｎ）＝ａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍ；
ｍ（ｘ，ｙ，ｎ）が他の値の場合、ａ（ｘ，ｙ，ｎ）＝１
ここで、Ｔｍおよびａ０は時間フィルタの入力パラメータである。これらのパラメータはこれ以降でより詳細に説明する。Ｔｍの値が大きいと、ゴーストアーチファクトを生じさせることがある。
【００１１】
理想的には、出力画素値［Ｙｏ（ｘ，ｙ，ｎ），  Ｕｏ（ｘ，ｙ，ｎ），  Ｖｏ（ｘ，ｙ，ｎ）］は、常に現在の入力値［Ｙｃ（ｘ，ｙ，ｎ），  Ｕｃ（ｘ，ｙ，ｎ），  Ｖｃ（ｘ，ｙ，ｎ）］に近づいている。しかし、通常の固定点実装形態では、入力および出力画素値は整数である。このような場合、次のような数値上の問題が生じ得る。ここではＹチャネルを考える。画素値がすべて整数である場合、出力フレームのＹチャネルは、重み付け平均を丸めた値である。
Ｙｏ（ｘ，ｙ，ｎ）＝ｒｏｕｎｄ（ａ（ｘ，ｙ，ｎ）Ｙｃ（ｘ，ｙ，ｎ）＋（１−ａ（ｘ，ｙ，ｎ））Ｙｏ（ｘ，ｙ，ｎ−１））；
＝ｒｏｕｎｄ（Ｙｏ（ｘ，ｙ，ｎ−１）＋ａ（ｘ，ｙ，ｎ）（Ｙｃ（ｘ，ｙ，ｎ）−Ｙｏ（ｘ，ｙ，ｎ−１）））；
＝Ｙｏ（ｘ，ｙ，ｎ−１）＋ｒｏｕｎｄ（ａ（ｘ，ｙ，ｎ）（Ｙｃ（ｘ，ｙ，ｎ）−Ｙｏ（ｘ，ｙ，ｎ−１）））
｜Ｙｃ（ｘ，ｙ，ｎ）−Ｙｏ（ｘ，ｙ，ｎ−１）｜が小さく、ａ（ｘ，ｙ，ｎ）も小さい場合、｜ａ（ｘ，ｙ，ｎ）（Ｙｃ（ｘ，ｙ，ｎ）−Ｙｏ（ｘ，ｙ，ｎ−１））｜は１／２よりも小さくなり得る。このような場合、出力画素値Ｙｏ（ｘ，ｙ，ｎ）は、前の出力画素値Ｙｏ（ｘ，ｙ，ｎ−１）に等しい。これらの画素位置にゴーストアーチファクトが生じた場合、これらのアーチファクトは、この条件が継続して満たされる限りそのままになる。視覚的には、ビデオシーケンスの動領域で輪郭がスムースに移動しない状態が観察され得る。ＵおよびＶチャネルにも同じ結論が適用される。
【００１２】
本発明の１つまたは複数の実施形態では、この条件が補償されるように、選択された混合ファクタを改変し、それによってゴーストアーチファクトの発生を低減する。本発明のいくつかの実施形態では、重み付け平均を行った後でこの条件が補償されるように後処理を実施し、それによってゴーストアーチファクトの発生を低減する。
【００１３】
図１は、本発明の１つまたは複数の実施形態に従ったデジタルシステムのブロック図を示す。このデジタルシステムは、デジタルビデオシーケンスに対して時間ノイズフィルタリングを実施するように構成される。このシステムは、通信チャネル１１８を介して送信先デジタルシステム１０２に符号化されたビデオシーケンスを送信するソースデジタルシステム１００を含む。ソースデジタルシステム１００は、ビデオ取得構成要素１０４、ビデオノイズフィルタ構成要素１０６、ビデオエンコーダ構成要素１０８、およびトランスミッタ構成要素１１０を含む。ビデオ取得構成要素１０４は、ビデオエンコーダ構成要素１０８による符号化の前にビデオノイズフィルタ構成要素１０６によってフィルタされるべきビデオシーケンスを提供するように構成される。ビデオ取得構成要素１０４は、例えば、撮像センサ、ビデオカメラ、ビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードとし得る。本発明のいくつかの実施形態では、ビデオ取得構成要素１０４は、ビデオシーケンスとしてのコンピュータグラフィックスや、ライブビデオとコンピュータ生成ビデオの組み合せを生成し得る。
【００１４】
ビデオノイズフィルタ構成要素１０６は、ビデオ取得構成要素からビデオシーケンスを受け取り、ビデオシーケンスのフレームに対して本明細書に記載するようなゴーストアーチファクトを低減する時間ノイズフィルタリングの方法の実施形態を含むノイズフィルタリングを実施して、ノイズがフィルタされたビデオシーケンスを生成する。本発明のいくつかの実施形態では、ビデオノイズフィルタ構成要素１０６は、以下で図２Ａを参照して記載するような機能性／構成要素を含み得る。
【００１５】
ビデオエンコーダ構成要素１０８は、ビデオノイズフィルタ構成要素１０６からノイズがフィルタされたビデオシーケンスを受け取り、それをトランスミッタ構成要素１１０による送信のため符号化する。一般に、ビデオエンコーダ構成要素１０８は、ビデオ取得構成要素１０４からビデオノイズフィルタ構成要素１０６を介してノイズがフィルタされたビデオシーケンスを一連のフレームとして受け取り、フレーム全体またはフレームの一部であり得る符号化単位にフレームを分割し、これらの符号化単位を画素ブロックに分割し、これらのブロックに基づいて符号化単位でビデオデータを符号化する。
【００１６】
トランスミッタ構成要素１１０は、符号化されたビデオデータを通信チャネル１１８を介して送信先デジタルシステム１０２に送信する。通信チャネル１１８は、例えば、有線またはワイヤレス通信媒体、ローカルエリアネットワーク、またはワイドエリアネットワークなど、符号化されたビデオシーケンスの送信に適切な任意の通信媒体または通信媒体の組み合せとし得る。
【００１７】
送信先デジタルシステム１０２は、レシーバ構成要素１１２、ビデオデコーダ構成要素１１４、およびディスプレイ構成要素１１６を含む。レシーバ構成要素１１２は、ソースデジタルシステム１００から通信チャネル１１８を介して符号化されたビデオデータを受け取り、符号化されたビデオデータを復号化のためビデオデコーダ構成要素１１４に提供する。一般に、ビデオデコーダ構成要素１１４は、ビデオエンコーダ構成要素１０８によって行われる符号化プロセスの逆を行って、ビデオシーケンスのフレームを再構築する。次いで、再構築されたビデオシーケンスは、ディスプレイ構成要素１１６に表示され得る。ディスプレイ構成要素１１６は、例えば、プラズマディスプレイ、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）ディスプレイなどの任意の適切なディスプレイデバイスとし得る。
【００１８】
本発明のいくつかの実施形態では、ビデオストリーミング、ビデオ放送、およびビデオ電話通信のためのビデオシーケンスの双方向送信のため、ソースデジタルシステム１００は、レシーバ構成要素およびビデオデコーダ構成要素も含んでよく、かつ／または送信先デジタルシステム１０２は、トランスミッタ構成要素およびビデオエンコーダ構成要素を含んでもよい。また、ビデオエンコーダ構成要素１０８およびビデオデコーダ構成要素１１４は、例えば、ＭＰＥＧ−１、ＭＰＥＧ−２、およびＭＰＥＧ−４などのＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）ビデオ圧縮規格、Ｈ．２６３およびＨ．２６４などのＩＴＵ−Ｔビデオ圧縮規格、米国映画テレビ技術者協会（ＳＭＰＴＥ）の４２１  Ｍビデオコーデック規格（通称「ＶＣ−１」）、中国視聴覚符号化規格ワークグループ（Ａｕｄｉｏ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｓｔａｎｄａｒｄ  Ｗｏｒｋｇｒｏｕｐ  ｏｆ  Ｃｈｉｎａ、通称「ＡＶＳ」）によって定義されたビデオ圧縮規格など、１つまたは複数のビデオ圧縮規格に従って符号化および復号化を実施し得る。ビデオノイズフィルタ構成要素１０６、ビデオエンコーダ構成要素１０８、およびビデオデコーダ構成要素１１４は、例えば、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、マイクロプロセッサ、ディスクリートロジック、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）など、ソフトウェア、ファームウェア、およびハードウェアの任意の適切な組み合せで実装し得る。
【００１９】
図２Ａは、本発明の１つまたは複数の実施形態に従ったノイズフィルタ２００、例えば図１のビデオノイズフィルタ構成要素１０６、のブロック図を示す。ノイズフィルタ２００は、ビデオシーケンスのフレームに対し空間フィルタリングおよび時間フィルタリングの両方を実施するように構成される。入力フレームおよびフィルタされた出力フレーム内の画素値は整数値である。時間フィルタリングは、本明細書に記載するようなゴーストアーチファクト低減を実施することを含む、動き適応時間ＩＩＲフィルタによって提供される。また、時間フィルタリングは、空間フィルタリングが実施された後で適用される。図２Ａに示すように、ノイズフィルタ２００は、ノイズレベル推定構成要素２０２、ＩＩＲフィルタ構成要素２２０、空間フィルタ構成要素２０４、および時間フィルタリングのための構成要素、すなわち、動き検出構成要素２０６、動き−混合ファクタ変換構成要素２１８、フレーム混合構成要素２２２、およびフレームバッファ２０８、を含む。
【００２０】
また、Ｔ０、β、Ｔｍ、およびａ０は、ノイズフィルタ２００の入力パラメータである。Ｔ０は、空間ノイズフィルタの強度を制御する空間フィルタ構成要素２０４のパラメータである。Ｔ０の値が大きいとより滑らかな結果が得られ、この値が小さいとより細かな部分が維持される。βは、フレームからフレームへノイズレベルが変化する速さを制御するＩＩＲフィルタ２２０のパラメータである。Ｔｍおよびａ０は、時間フィルタリングのための入力パラメータである。Ｔｍの値は動き閾値であり、時間ノイズフィルタの強度を制御するために用いる。フレーム内の平坦領域、すなわちテクスチャがない領域、はＴｍの値が大きくなるにつれより滑らかに見えるが、Ｔｍの値が増加すると、動領域でより強いゴーストアーチファクトが生じることがある。ａ０の値も時間ノイズフィルタの強度の制御に用いられる。この値は０〜１の間の値を取り得、ａ０が０に近づくとフィルタの強度が大きくなり、ａ０が１に近づくとフィルタの強度が弱くなる。
【００２１】
ノイズレベル推定構成要素２０２は、入力フレームにおけるノイズのレベルを推定する。このノイズ推定は、各色チャネル、すなわち、入力フレームのＹ、Ｕ、Ｖ、毎に実施されるが、ブロック毎またはライン毎に入力フレームに対し実施されてもよい。ノイズレベル推定は、任意の適切なノイズ推定技術を用いて実施し得る。米国特許出願公開番号２００９／０１５３７３９に、いくつかの適切な技術が記載されている。
【００２２】
ＩＩＲフィルタ構成要素２２０は、ノイズレベル推定構成要素２０２の出力にローパスＩＩＲフィルタを適用して、フィルタされたノイズレベルを生成することによってノイズレベルの変化スピードを制御する。このローパスＩＩＲフィルタは、各色チャネルのノイズレベルに適用される。次いで、フィルタされたノイズレベルは、入力として動き−混合ファクタ変換構成要素２１８に提供される。さらに、フィルタされたノイズレベルは、Ｔ０を用いてスケーリングされて、空間フィルタ構成要素２０４のための入力強度パラメータが生成される。
【００２３】
空間フィルタ構成要素２０４は、各色チャネル、すなわち、入力フレーム２１０のＹ、Ｕ、Ｖに対して空間フィルタリングを実施して、空間フィルタされたフレーム２１４を生成する。また、空間フィルタリングは、ブロック毎またはライン毎に適用してもよい。空間フィルタされたフレームは、入力として動き検出構成要素２０６およびフレーム混合構成要素２２２に提供される。空間フィルタリングは、任意の適切な空間フィルタリング技術に従って実施し得る。米国特許出願公開番号２００９／０１５３７３９に、１つの適切な空間フィルタリング技術が記載されている。
【００２４】
フレームバッファ２０８は、ノイズフィルタ２００の前の出力フレームをストアする。これらの出力フレームは、動き検出構成要素２０６およびフレーム混合構成要素２２２によって参照フレームとして用いられる。
【００２５】
動き検出構成要素２０６は、フレームバッファ２０８からの参照フレームと空間フィルタされたフレーム２１４との間の動きを演算する。各画素の動き値ｍ（ｘ，ｙ，ｎ）が、３つの色チャネルに基づいて、これら２つのフレーム内の対応する画素間の絶対差の和として演算される。
ｍ（ｘ，ｙ，ｎ）＝｜Ｙｃ（ｘ，ｙ，ｎ）−Ｙｏ（ｘ，ｙ，ｎ−１）｜＋｜Ｕｃ（ｘ，ｙ，ｎ）−Ｕｏ（ｘ，ｙ，ｎ−１）｜＋｜Ｖｃ（ｘ，ｙ，ｎ）−Ｖｏ（ｘ，ｙ，ｎ−１）｜
ここで、［Ｙｏ（ｘ，ｙ，ｎ−１），  Ｕｏ（ｘ，ｙ，ｎ−１），  Ｖｏ（ｘ，ｙ，ｎ−１）］は参照フレームであり、［Ｙｃ（ｘ，ｙ，ｎ），  Ｕｃ（ｘ，ｙ，ｎ），  Ｖｃ（ｘ，ｙ，ｎ）］は空間フィルタされたフレーム（２１４）である。
【００２６】
動き−混合ファクタ変換構成要素２１８は、ノイズレベル推定構成要素２０２からのフィルタされたノイズ推定値および動き検出構成要素２０６からの動き値を用いて、各画素毎に混合ファクタａ（ｘ，ｙ，ｎ）を演算する。より具体的には、ある画素についての混合ファクタは、ａ０、Ｔｍ、およびその画素についての動き値の関数として演算される。先に説明したように、ａ０は、フィルタの強度を制御する時間ノイズフィルタへの入力パラメータである。動きが小さい場合、このパラメータの値を０に近く設定してフィルタの強度を増加させ、動きが大きい場合、このパラメータの値を１に近く設定してフィルタの強度を減少させる。本発明のいくつかの実施形態では、このパラメータの値はユーザによって設定される。本発明のいくつかの実施形態では、このパラメータの値は、ノイズレベル推定構成要素２０２により３つの色チャネルについて演算されるノイズレベルによって決定される。米国特許出願公開番号２００９／０１５３７３９に、推定されたノイズレベルに基づいてこのパラメータの値を設定することが記載されている。本発明の様々な実施形態での混合ファクタａ（ｘ，ｙ，ｎ）の演算を以下でより詳細に記載する。
【００２７】
フレーム混合構成要素２２２は、動き−混合ファクタ変換構成要素２１８によって演算される混合ファクタａ（ｘ，ｙ，ｎ）、フレームバッファ２０８からの参照フレーム、および空間フィルタされたフレーム２１４を用いてフィルタされた出力フレーム２１２を生成する。より具体的には、３つの色チャネルにおける出力フレーム［Ｙｏ（ｘ，ｙ，ｎ），  Ｕｏ（ｘ，ｙ，ｎ），  Ｖｏ（ｘ，ｙ，ｎ）］２１２の画素値は、参照フレーム［Ｙｏ（ｘ，ｙ，ｎ−１），  Ｕｏ（ｘ，ｙ，ｎ−１），  Ｖｏ（ｘ，ｙ，ｎ−１）］および空間フィルタされたフレーム［Ｙｃ（ｘ，ｙ，ｎ），  Ｕｃ（ｘ，ｙ，ｎ），  Ｖｃ（ｘ，ｙ，ｎ）］内の画素の重み付け平均として演算される。
Ｙｏ（ｘ，ｙ，ｎ）＝ｒｏｕｎｄ（ａ（ｘ，ｙ，ｎ）Ｙｃ（ｘ，ｙ，ｎ）＋（１−ａ（ｘ，ｙ，ｎ））Ｙｏ（ｘ，ｙ，ｎ−１））；
Ｕｏ（ｘ，ｙ，ｎ）＝ｒｏｕｎｄ（ａ（ｘ，ｙ，ｎ）Ｕｃ（ｘ，ｙ，ｎ）＋（１−ａ（ｘ，ｙ，ｎ））Ｕｏ（ｘ，ｙ，ｎ−１））；
Ｖｏ（ｘ，ｙ，ｎ）＝ｒｏｕｎｄ（ａ（ｘ，ｙ，ｎ）Ｖｃ（ｘ，ｙ，ｎ）＋（１−ａ（ｘ，ｙ，ｎ））Ｖｏ（ｘ，ｙ，ｎ−１））
【００２８】
本発明の１つまたは複数の実施形態では、動き−混合ファクタ変換構成要素２１８は、下記のように画素毎に混合ファクタを演算する。
ｍ（ｘ，ｙ，ｎ）＜Ｔｍの場合、ａ（ｘ，ｙ，ｎ）＝ａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍ；
ｍ（ｘ，ｙ，ｎ）が他の値の場合、ａ（ｘ，ｙ，ｎ）＝１
図２Ｂに示すように、位置ｘ，ｙにおける画素についての混合ファクタａは、その画素位置での動きｍの関数である。この動き−混合ファクタ関数ａ（ｍ）は、各フレーム毎に更新されるルックアップテーブルとして実装され得、そのため、各画素毎の付加的な演算を必要としない。あるフレームについてのルックアップテーブルａ（ｍ）の生成を説明する疑似コードを表１に示す。この疑似コードでは、ＭＡＸ＿ｍは最大動き値である。混合ファクタが上記で示したように演算される本発明の実施形態では、フレーム混合構成要素（２２２）は、フィルタされた出力フレーム（２１２）に対し後処理を実施してゴーストアーチファクトを低減してもよい。
（表１）
ｆｏｒ  ｍ＝０  ｔｏ  ＭＡＸ＿ｍ
ｉｆ（ｍ＜Ｔｍ）
ａ［ｍ］＝ａ０＋（１−ａ０）ｍ／Ｔｍ
ｅｌｓｅ
ａ［ｍ］＝１
ｅｎｄ  ｉｆ
ｅｎｄ  ｆｏｒ
【００２９】
本発明のいくつかの実施形態において、出力画素値が、対応する前の出力画素値、すなわち対応する参照画素値、に等しい場合、後処理は、出力画素値を入力画素値に向かって１だけ動かすための、３つの色チャネルにおける出力画素値の段階的収束である。段階的収束を説明する疑似コードを表２に示す。
（表２）
ｉｆ  （Ｙｃ（ｘ，ｙ，ｎ）＞Ｙｏ（ｘ，ｙ，ｎ））  ａｎｄ  （Ｙｏ（ｘ，ｙ，ｎ）＝Ｙｏ（ｘ，ｙ，ｎ−１））
Ｙｏ（ｘ，ｙ，ｎ）＋＋；
ｉｆ  （Ｙｃ（ｘ，ｙ，ｎ）＜Ｙｏ（ｘ，ｙ，ｎ））  ａｎｄ  （Ｙｏ（ｘ，ｙ，ｎ）＝Ｙｏ（ｘ，ｙ，ｎ−１））
Ｙｏ（ｘ，ｙ，ｎ）−−；
ｉｆ  （Ｕｃ（ｘ，ｙ，ｎ）＞Ｕｏ（ｘ，ｙ，ｎ））  ａｎｄ  （Ｕｏ（ｘ，ｙ，ｎ）＝Ｕｏ（ｘ，ｙ，ｎ−１））
Ｕｏ（ｘ，ｙ，ｎ）＋＋；
ｉｆ  （Ｕｃ（ｘ，ｙ，ｎ）＜Ｕｏ（ｘ，ｙ，ｎ））  ａｎｄ  （Ｕｏ（ｘ，ｙ，ｎ）＝Ｕｏ（ｘ，ｙ，ｎ−１））
Ｕｏ（ｘ，ｙ，ｎ）−−；
ｉｆ  （Ｖｃ（ｘ，ｙ，ｎ）＞Ｖｏ（ｘ，ｙ，ｎ））  ａｎｄ  （Ｖｏ（ｘ，ｙ，ｎ）＝Ｖｏ（ｘ，ｙ，ｎ−１））
Ｖｏ（ｘ，ｙ，ｎ）＋＋；
ｉｆ  （Ｖｃ（ｘ，ｙ，ｎ）＜Ｖｏ（ｘ，ｙ，ｎ））  ａｎｄ  （Ｖｏ（ｘ，ｙ，ｎ）＝Ｖｏ（ｘ，ｙ，ｎ−１））
Ｖｏ（ｘ，ｙ，ｎ）−−
【００３０】
本発明のいくつかの実施形態において、出力画素値が、対応する前の出力画素値、すなわち対応する参照画素値、に等しい場合、後処理は、出力画素値を入力画素値と同じとする、３つの色チャネルにおける出力画素値の即座収束である。この収束を説明する疑似コードを表３に示す。
（表３）
ｉｆ（Ｙｏ（ｘ，ｙ，ｎ）＝Ｙｏ（ｘ，ｙ，ｎ−１））
Ｙｏ（ｘ，ｙ，ｎ）＝Ｙｃ（ｘ，ｙ，ｎ）；
ｉｆ（Ｕｏ（ｘ，ｙ，ｎ）＝Ｕｏ（ｘ，ｙ，ｎ−１））
Ｕｏ（ｘ，ｙ，ｎ）＝Ｕｃ（ｘ，ｙ，ｎ）；
ｉｆ（Ｖｏ（ｘ，ｙ，ｎ）＝Ｖｏ（ｘ，ｙ，ｎ−１））
Ｖｏ（ｘ，ｙ，ｎ）＝Ｖｃ（ｘ，ｙ，ｎ）
【００３１】
本発明の１つまたは複数の実施形態では、ゴーストアーチファクトを低減するために、動き−混合ファクタ変換構成要素２１８は図２Ｂの混合関数の変形を用いて、輪郭がスムースに移動しない状況となり得る出力画素値を生成する可能性を小さくする混合ファクタを演算する。先に述べたように、輪郭がスムースに移動しない問題は、Ｙチャネルにおいて｜ａ（ｘ，ｙ，ｎ）（Ｙｃ（ｘ，ｙ，ｎ）−Ｙｏ（ｘ，ｙ，ｎ−１））｜＜１／２であるときに生じる。他のチャネルについても同様である。
【００３２】
本発明のいくつかの実施形態では、条件｜ａ（ｘ，ｙ，ｎ）（Ｙｃ（ｘ，ｙ，ｎ）−Ｙｏ（ｘ，ｙ，ｎ−１））｜＜１／２（または他の色チャネルにおける同様の条件）が生じ得るとき、出力画素値を入力画素値に段階的に収束させるように混合ファクタを改変する。この改変の目標は、この条件が生じ得るとき、得られる出力画素値が入力画素値に向かって１だけずれるように、すなわち、ｒｏｕｎｄ（ａ（ｘ，ｙ，ｎ）ｍ（ｘ，ｙ，ｎ））＝１またはａ（ｘ，ｙ，ｎ）ｍ（ｘ，ｙ，ｎ）＝１／２になるように、混合ファクタを演算することである。ａ（ｘ，ｙ，ｎ）＝ａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍおよび｜Ｙｃ（ｘ，ｙ，ｎ）−Ｙｏ（ｘ，ｙ，ｎ−１）｜≒ｍ（ｘ，ｙ，ｎ）／３なので、上記の条件は下記のように近似し得る。
｜ａ（ｘ，ｙ，ｎ）（Ｙｃ（ｘ，ｙ，ｎ）−Ｙｏ（ｘ，ｙ，ｎ−１））｜＝（ａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍ）ｍ（ｘ，ｙ，ｎ）／３＜１／２
段階的収束をもたらす混合ファクタを含むフレームについてのルックアップテーブルａ（ｍ）の生成を説明する疑似コードを表４に示す。改変された動き−混合ファクタ関数の例を図２Ｃに示す。
（表４）
ｆｏｒ  ｍ＝０  ｔｏ  ＭＡＸ＿ｍ
ｉｆ（ｍ＞＝Ｔｍ  ｏｒ  ｍ＝０）
ａ［ｍ］＝１
ｅｌｓｅ  ｉｆ  （２（ａ０＋（１−ａ０）ｍ／Ｔｍ）ｍ＞＝３）
ａ［ｍ］＝ａ０＋（１−ａ０）ｍ／Ｔｍ
ｅｌｓｅ
ａ［ｍ］＝３／（２×ｍ）
ｅｎｄ  ｉｆ
ｅｎｄ  ｆｏｒ
【００３３】
本発明のいくつかの実施形態では、出力画素値の入力画素値への即座収束を生じさせるように混合関数を改変する。この改変の目標は、条件｜ａ（ｘ，ｙ，ｎ）（Ｙｃ（ｘ，ｙ，ｎ）−Ｙｏ（ｘ，ｙ，ｎ−１））｜＜１／２が生じ得るとき、得られる出力画素値が入力画素値と同じになるように混合ファクタを演算することである。即座収束をもたらす混合ファクタを含むフレームについてのルックアップテーブルａ（ｍ）の生成を説明する疑似コードを表５に示す。改変された動き−混合ファクタ関数の例を図２Ｄに示す。
（表５）
ｆｏｒ  ｍ＝０  ｔｏ  ＭＡＸ＿ｍ
ｉｆ  （２（ａ０＋（１−ａ０）ｍ／Ｔｍ）ｍ＞＝３  ａｎｄ  （ｍ＜Ｔｍ）
ａ［ｍ］＝ａ０＋（１−ａ０）ｍ／Ｔｍ
ｅｌｓｅ
ａ［ｍ］＝１
ｅｎｄ  ｉｆ
ｅｎｄ  ｆｏｒ
【００３４】
ゴーストアーチファクトを低減するための上記種々の手法は同様の結果をもたらす。すなわち、時間ノイズフィルタを適用した後に少量のノイズが残る。段階的収束を用いる２つの手法では、ゴーストはゆっくりと除去されるが、残るノイズの量は少ない。即座収束を用いる２つの手法では、ゴーストは迅速に除去されるが、残るノイズの量は多い。本発明のいくつかの実施形態では、これら４つの手法すべてまたはこれらの何らかの組み合せが、どの手法を適用すべきるかをユーザが選択し得るようにノイズフィルタ２００に実装され得る。
【００３５】
図３は、本発明の１つまたは複数の実施形態に従った、時間ノイズフィルタにおいてゴーストアーチファクトを低減するための方法のフローチャートである。図３に示すように、この方法はビデオシーケンスにおけるフレームに適用される。最初に、フレームを受け取る（３００）。本発明の１つまたは複数の実施形態では、受け取ったフレームが空間フィルタされたフレームになるように、空間フィルタがビデオシーケンスのオリジナルフレームに適用される。任意の適切な空間フィルタを使用し得る。本発明のいくつかの実施形態では、受け取ったフレームはオリジナルフレームである。
【００３６】
参照フレームに基づいて、このフレーム内の各画素毎に動き値が演算される（３０２）。本発明の１つまたは複数の実施形態では、参照フレームは、ビデオシーケンスにおける処理中のフレームの直前のフレームに本方法を適用することによって生成される前のフィルタされたフレームである。本発明のいくつかの実施形態では、各画素毎の動き値ｍ（ｘ，ｙ，ｎ）が、３つの色チャネルに基づいて、これら２つのフレーム内の対応する画素間の絶対差の和として演算される。
ｍ（ｘ，ｙ，ｎ）＝｜Ｙｃ（ｘ，ｙ，ｎ）−Ｙｏ（ｘ，ｙ，ｎ−１）｜＋｜Ｕｃ（ｘ，ｙ，ｎ）−Ｕｏ（ｘ，ｙ，ｎ−１）｜＋｜Ｖｃ（ｘ，ｙ，ｎ）−Ｖｏ（ｘ，ｙ，ｎ−１）｜
ここで、［Ｙｏ（ｘ，ｙ，ｎ−１），  Ｕｏ（ｘ，ｙ，ｎ−１），  Ｖｏ（ｘ，ｙ，ｎ−１）］は参照フレームであり、［Ｙｃ（ｘ，ｙ，ｎ），  Ｕｃ（ｘ，ｙ，ｎ），  Ｖｃ（ｘ，ｙ，ｎ）］は現在のフレームである。
【００３７】
次いで、各画素毎に、その画素について演算された動き値に基づいて混合ファクタが演算される（３０４）。ある画素についての混合ファクタは、ａ０、Ｔｍ、およびその画素についての動き値の関数として演算される。本発明の１つまたは複数の実施形態では、各画素の混合ファクタは、次のように演算される。
ｍ（ｘ，ｙ，ｎ）＜Ｔｍの場合、ａ（ｘ，ｙ，ｎ）＝ａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍ；
ｍ（ｘ，ｙ，ｎ）が他の値の場合、ａ（ｘ，ｙ，ｎ）＝１
本発明のいくつかの実施形態では、混合ファクタの演算は、指標として動き値を用いるルックアップテーブルである。表１は、このようなテーブルの生成を説明する疑似コードを示す。
【００３８】
次いで、フィルタされた画素値が、混合ファクタ、フレーム、および参照フレームを用いて演算される（３０６）。より具体的には、出力フレーム［Ｙｏ（ｘ，ｙ，ｎ），  Ｕｏ（ｘ，ｙ，ｎ），  Ｖｏ（ｘ，ｙ，ｎ）］の画素値が、参照フレーム［Ｙｏ（ｘ，ｙ，ｎ−１），  Ｕｏ（ｘ，ｙ，ｎ−１），  Ｖｏ（ｘ，ｙ，ｎ−１）］内の画素および現在のフレーム［Ｙｃ（ｘ，ｙ，ｎ），  Ｕｃ（ｘ，ｙ，ｎ），  Ｖｃ（ｘ，ｙ，ｎ）］内の対応する画素の重み付け平均として演算される。
Ｙｏ（ｘ，ｙ，ｎ）＝ｒｏｕｎｄ（ａ（ｘ，ｙ，ｎ）Ｙｃ（ｘ，ｙ，ｎ）＋（１−ａ（ｘ，ｙ，ｎ））Ｙｏ（ｘ，ｙ，ｎ−１））；
Ｕｏ（ｘ，ｙ，ｎ）＝ｒｏｕｎｄ（ａ（ｘ，ｙ，ｎ）Ｕｃ（ｘ，ｙ，ｎ）＋（１−ａ（ｘ，ｙ，ｎ））Ｕｏ（ｘ，ｙ，ｎ−１））；
Ｖｏ（ｘ，ｙ，ｎ）＝ｒｏｕｎｄ（ａ（ｘ，ｙ，ｎ）Ｖｃ（ｘ，ｙ，ｎ）＋（１−ａ（ｘ，ｙ，ｎ））Ｖｏ（ｘ，ｙ，ｎ−１））
【００３９】
次いで、出力フレーム内の選択されたフィルタされた画素値が、ゴーストアーチファクトを低減するように、現在のフレーム内の対応する画素値に向かって段階的に収束される（３０８）。より具体的には、フィルタされた画素値Ｙｏ（ｘ，ｙ，ｎ）、Ｕｏ（ｘ，ｙ，ｎ）、Ｖｏ（ｘ，ｙ，ｎ）が、参照フレームＹｏ（ｘ，ｙ，ｎ−１）、Ｕｏ（ｘ，ｙ，ｎ−１）、Ｖｏ（ｘ，ｙ，ｎ−１）内の対応する画素値に等しい場合、フィルタされた画素値Ｙｏ（ｘ，ｙ，ｎ）、Ｕｏ（ｘ，ｙ，ｎ）、Ｖｏ（ｘ，ｙ，ｎ）を適宜１だけインクリメントまたはデクリメントして、フィルタされた画素値Ｙｏ（ｘ，ｙ，ｎ）、Ｕｏ（ｘ，ｙ，ｎ）、Ｖｏ（ｘ，ｙ，ｎ）を現在のフレームＹｃ（ｘ，ｙ，ｎ）、Ｕｃ（ｘ，ｙ，ｎ）、Ｖｃ（ｘ，ｙ，ｎ）の対応する画素値に向かって動かす。表２は、この段階的収束を説明する疑似コードを示す。
【００４０】
次いで、得られたフィルタされたフレームが出力される（３１０）。ビデオシーケンス内の最後のフレームが処理されると（３１２）、この方法が終了する。そうでない場合、次のフレームが処理される。
【００４１】
図４は、本発明の１つまたは複数の実施形態に従った、時間ノイズフィルタにおいてゴーストアーチファクトを低減するための方法のフローチャートである。図４に示すように、この方法はビデオシーケンスにおけるフレームに適用される。ステップ４００〜４０６は、図３のステップ３００〜３０６と同じである。出力フレームのフィルタされた画素値が演算されると（４００〜４０６）、出力フレーム内の選択されたフィルタされた画素値が、現在のフレーム内の対応する画素値に即座収束されて、ゴーストアーチファクトが低減される（４０８）。より具体的には、フィルタされた画素値Ｙｏ（ｘ，ｙ，ｎ）、Ｕｏ（ｘ，ｙ，ｎ）、Ｖｏ（ｘ，ｙ，ｎ）が、参照フレームＹｏ（ｘ，ｙ，ｎ−１）、Ｕｏ（ｘ，ｙ，ｎ−１）、Ｖｏ（ｘ，ｙ，ｎ−１）内の対応する画素値に等しい場合、出力フレームにおいて、フィルタされた画素値Ｙｏ（ｘ，ｙ，ｎ）、Ｕｏ（ｘ，ｙ，ｎ）、Ｖｏ（ｘ，ｙ，ｎ）が、現在のフレームＹｃ（ｘ，ｙ，ｎ）、Ｕｃ（ｘ，ｙ，ｎ）、Ｖｃ（ｘ，ｙ，ｎ）の対応する画素値で置き換えられる。表３は、この即座収束を説明する疑似コードを示す。次いで、得られたフィルタされたフレームが出力される（４１０）。ビデオシーケンスにおける最後のフレームが処理されると（４１２）、この方法が終了する。そうでない場合は、次のフレームが処理される。
【００４２】
図５は、本発明の１つまたは複数の実施形態に従った、時間ノイズフィルタにおいてゴーストアーチファクトを低減するための方法のフローチャートである。図５に示すように、この方法はビデオシーケンスにおけるフレームに適用される。ステップ５００および５０２は、図３のステップ３００〜３０２と同じである。動き値が演算されると、選択された混合ファクタａ（ｘ，ｙ，ｎ）によりこれらの混合ファクタを用いて演算されるフィルタされる出力画素値が現在のフレーム内の対応する画素値に向かって段階的に収束するように、画素について混合ファクタが演算される（５０６）。この収束はゴーストアーチファクトを低減する効果を有する。より具体的には、条件｜ａ（ｘ，ｙ，ｎ）（Ｙｃ（ｘ，ｙ，ｎ）−Ｙｏ（ｘ，ｙ，ｎ−１））｜＜１／２、または｜ａ（ｘ，ｙ，ｎ）（Ｕｃ（ｘ，ｙ，ｎ）−Ｕｏ（ｘ，ｙ，ｎ−１））｜＜１／２、または｜ａ（ｘ，ｙ，ｎ）（Ｖｃ（ｘ，ｙ，ｎ）−Ｖｏ（ｘ，ｙ，ｎ−１））｜＜１／２が生じ得る場合を除いて、ａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍとして混合ファクタが演算される。この条件が生じ得る場合、混合ファクタは、ｍ（ｘ，ｙ，ｎ）がＴｍ以上またはゼロに等しいときは１として演算され、そうでない場合は、条件が補償されるように３／（２×ｍ（ｘ，ｙ，ｎ））として演算される。条件を補償するように演算される混合ファクタの効果は、得られたフィルタされた出力画素値のほうが、混合ファクタがａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍとして演算される場合よりも、入力画素値に１だけ近づくということである。本発明のいくつかの実施形態では、混合ファクタの演算は、指標として動き値を用いるルックアップテーブルである。このようなテーブルの生成を説明する疑似コードを表４に示す。
【００４３】
次いで、フィルタされた画素値が、混合ファクタ、フレーム、および参照フレームを用いて演算される（５０６）。フィルタされた画素値は、図３のステップ３０６を参照して前述のように演算される。次いで、得られたフィルタされたフレームが出力される（５０８）。ビデオシーケンスにおける最後のフレームが処理されると（５１０）、この方法が終了する。そうでない場合は、次のフレームが処理される。
【００４４】
図６は、本発明の１つまたは複数の実施形態に従った、時間ノイズフィルタにおいてゴーストアーチファクトを低減するための方法のフローチャートである。図６に示すように、この方法はビデオシーケンスにおけるフレームに適用される。ステップ６００および６０２は、図３のステップ３００〜３０２と同じである。動き値が演算されると、選択された混合ファクタａ（ｘ，ｙ，ｎ）によりこの混合ファクタを用いて演算されるフィルタされた出力画素値が現在のフレーム内の対応する画素値に即座収束するように、画素について混合ファクタが演算される（６０６）。この収束はゴーストアーチファクトを低減する効果を有する。より具体的には、条件｜ａ（ｘ，ｙ，ｎ）（Ｙｃ（ｘ，ｙ，ｎ）−Ｙｏ（ｘ，ｙ，ｎ−１））｜＜１／２、または｜ａ（ｘ，ｙ，ｎ）（Ｕｃ（ｘ，ｙ，ｎ）−Ｕｏ（ｘ，ｙ，ｎ−１））｜＜１／２、または｜ａ（ｘ，ｙ，ｎ）（Ｖｃ（ｘ，ｙ，ｎ）−Ｖｏ（ｘ，ｙ，ｎ−１））｜＜１／２が生じ得る場合を除いて、ａ０＋（１−ａ０）ｍ（ｘ，ｙ，ｎ）／Ｔｍとして混合ファクタが演算される。この条件が生じ得る場合、条件が補償されるように混合ファクタは１として演算される。条件が補償されるように混合ファクタを演算することの効果は、得られたフィルタされた出力画素値が、現在のフレーム内の対応する画素値に等しくなるということである。本発明のいくつかの実施形態では、混合ファクタの演算は、指標として動き値を用いるルックアップテーブルである。表５に、このようなテーブルの生成を説明する疑似コードを示す。
【００４５】
次いで、フィルタされた画素値が、混合ファクタ、フレーム、および参照フレームを用いて演算される（６０６）。フィルタされた画素値は、図３のステップ３０６を参照して前述のように演算される。次いで、得られたフィルタされたフレームが出力される（６０８）。ビデオシーケンスにおける最後のフレームが処理されると（６１０）、この方法が終了する。そうでない場合は、次のフレームが処理される。
【００４６】
本明細書に記載した方法の実施形態は、デジタル信号プロセッサ（ＤＳＰ）、汎用プログラマブルプロセッサ、特定用途向け回路、またはＤＳＰと縮小命令セット（ＲＩＳＣ）プロセッサを様々な特殊プログラマブルアクセラレータとともに組み合わせたものなどのシステムオンチップ（ＳｏＣ）など、いくつかの種類のデジタルシステムのいずれにおいても提供し得る。オンボードまたは外部の（フラッシュＥＥＰ）ＲＯＭまたはＦＲＡＭ内のストアされたプログラムを用いて、本明細書に記載したゴーストアーチファクトを低減する時間ノイズフィルタリングの方法の実施形態を含むビデオ信号処理を実施し得る。アナログデジタルコンバータおよびデジタルアナログコンバータにより現実の世界と結合され、変調器および復調器（さらにエア・インターフェース用のアンテナ）により送信波形と結合させることができ、パケット化装置によりインターネットなどのネットワークを介する送信用のフォーマットが得られる。
【００４７】
本明細書に記載した方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合せで実装され得る。少なくとも部分的にソフトウェアで実装する場合、このソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサにおいて実行し得る。本方法を具現化するソフトウェアは、まず、コンピュータ可読媒体（例えば、メモリ、フラッシュメモリ、ＤＶＤなど）にストアされ、プロセッサによってロードおよび実行され得る。また、コンピュータ可読媒体には、ネットワーク、またはソフトウェアをダウンロードするための他の通信経路を介してアクセスしてもよい。場合によっては、ソフトウェアは、コンピュータ可読媒体およびこのコンピュータ可読媒体のためのパッケージ材料を含む、コンピュータプログラム製品内に提供することもできる。
【００４８】
本明細書に記載したような、時間ノイズフィルタリングにおいてゴーストアーチファクトを低減するための方法およびシステムの実施形態は、デジタルビデオシーケンスを取得するかまたは別の方法で生成する機能性、またはデジタルビデオシーケンスを表示する機能性を備えた、事実上いかなる種類のデジタルシステム（例えば、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話（すなわちセルホン）などのハンドヘルドデバイス、携帯情報端末、デジタルカメラ、デジタルビデオレコーダなど）に対しても実装され得る。図７〜図９は、例示のデジタルシステムのブロック図である。
【００４９】
図７は、本発明の１つまたは複数の実施形態に従った、組み込みシステム（例えばデジタルカメラ）に適したデジタルシステムを示す。このデジタルシステムは、構成要素の中でも特に、ＤＳＰベースの画像コプロセッサ（ＩＣＰ）７０２、ＲＩＳＣプロセッサ７０４、および本明細書に記載した方法の実施形態を実施するように構成し得るビデオ処理エンジン（ＶＰＥ）７０６を含む。ＲＩＳＣプロセッサ７０４は、任意の適切に構成されるＲＩＳＣプロセッサとし得る。ＶＰＥ７０６は、イメージセンサ、ビデオデコーダなどの撮像周辺機器からのビデオ取得用に用いられる入力インターフェースを備えた構成可能なビデオ処理フロントエンド（ビデオＦＥ）７０８と、ＳＤＴＶディスプレイ、デジタルＬＣＤパネル、ＨＤＴＶビデオエンコーダなどのディスプレイデバイスに用いられる出力インターフェースを備えた構成可能なビデオ処理バックエンド（ビデオＢＥ）７１０と、ビデオＦＥ７０８およびビデオＢＥ７１０に共有されるメモリインターフェース７２４とを含む。このデジタルシステムは更に、マルチメディアカード、オーディオシリアルポート、ユニバーサルシリアルバス（ＵＳＢ）コントローラ、シリアルポートインターフェースなどを含み得る様々な周辺機器用の周辺機器インターフェース７１２を含む。
【００５０】
ビデオＶＥ７０８は、画像信号プロセッサ（ＩＳＰ）７１６および３Ａ統計生成器（３Ａ）７１８を含む。ＩＳＰ７１６は、イメージセンサおよびデジタルビデオソースにインターフェースを提供する。より具体的には、ＩＳＰ７１６は、センサモジュール７２６（例えばＣＭＯＳまたはＣＣＤ）から未処理画像／ビデオデータを受け取ることができ、多数のフォーマットでＹＵＶビデオデータを受け取ることもできる。ＩＳＰ７１６は更に、未処理ＣＣＤ／ＣＭＯＳデータからカラーフォーマット（例えばＲＧＢ）の画像データを生成する機能性を備えたパラメータ化画像処理モジュールを含む。ＩＳＰ７１６は、センサの種類毎にカスタム化可能であり、取得したデジタル画像のプレビューディスプレイ用およびビデオ記録モード用のビデオフレームレートをサポートする。ＩＳＰ７１６は更に、機能性の中でも特に、イメージリサイザ、統計収集機能性、および境界信号計算機を含む。３Ａモジュール７１８は、ＩＳＰ７１６または外部メモリからの未処理画像データに関する計量値を収集することによって、オートフォーカス、オートホワイトバランス、および自動露出のための制御ループをサポートする機能性を含む。本発明の１つまたは複数の実施形態では、ビデオＦＥ７０８は、本明細書に記載するようなゴーストアーチファクトを低減する時間ノイズフィルタリングを実施するように構成される。
【００５１】
ビデオＢＥ７１０は、オンスクリーンディスプレイエンジン（ＯＳＤ）７２０およびビデオアナログエンコーダ（ＶＡＣ）７２２を含む。ＯＳＤエンジン７２０は、いくつかの異なる種類のハードウェアディスプレイウィンドウのための様々なフォーマットのディスプレイデータを管理する機能性を含み、ビデオデータおよびディスプレイ／ビットマップデータを収集し、単一のディスプレイウィンドウに合成した後、このデータを色空間フォーマット（例えば、ＲＧＢ、ＹＵＶ、ＹＣｂＣｒ）でＶＡＣ７２２に提供する。ＶＡＣ７２２は、ＯＳＤエンジン７２０からディスプレイフレームを取り込み、それを所望の出力フォーマットにフォーマットし、ディスプレイデバイスにインターフェースするのに必要とされる信号を出力する機能性を含む。ＶＡＣ７２２は、コンポジットＮＴＳＣ／ＰＡＬビデオデバイス、Ｓビデオデバイス、デジタルＬＣＤデバイス、高精細ビデオエンコーダ、ＤＶＩ／ＨＤＭＩデバイスなどにインターフェースし得る。
【００５２】
メモリインターフェース７２４は、外部メモリにデータを要求しかつ／または外部メモリからデータを送信している、ビデオＦＥ７０８およびビデオＢＥ７１０内のモジュールへのプライマリソースおよびシンクとして機能する。メモリインターフェース７２４は、読出しおよび書込みバッファおよびアービトレーションロジックを含む。
【００５３】
ＩＣＰ７０２は、取得した画像の圧縮および他の処理に必要とされる計算演算を実施する機能性を含む。サポートされるビデオ圧縮規格は、例えば、ＪＰＥＧ規格、ＭＰＥＧ規格、およびＨ．２６ｘ規格の１つまたは複数を含み得る。本発明の１つまたは複数の実施形態では、ＩＣＰ７０２は、本明細書に記載したような時間ノイズフィルタリング方法の計算演算を実施するように構成し得る。
【００５４】
動作において、写真またはビデオシーケンスを取得するために、ビデオ信号が、ビデオＦＥ７０８によって受け取られ、ビデオ圧縮を実施するのに必要とされる入力フォーマットに変換される。圧縮の前に、本明細書に記載したようなゴーストアーチファクトを低減する時間ノイズフィルタリングを、取得したビデオデータの処理の一部として適用し得る。ビデオＦＥ７０８によって生成されるビデオデータは、外部メモリにストアされる。次いで、このビデオデータは、符号化、すなわち圧縮される。圧縮プロセスの間、ビデオデータが外部メモリから読み込まれ、このビデオデータに対する圧縮演算がＩＣＰ７０２によって実施される。得られた圧縮されたビデオデータが外部メモリにストアされる。次いで、圧縮されたビデオデータは、ビデオＢＥ７１０によって、外部メモリから読み出し、復号、および後処理されて、画像／ビデオシーケンスが表示される。
【００５５】
図８は、本明細書に記載したようなゴーストアーチファクトを低減する時間ノイズフィルタリングを実施するように構成し得るデジタルシステム（例えば、携帯電話）８００のブロック図である。信号処理ユニット（ＳＰＵ）８０２は、組み込みメモリおよびセキュリティ機能を含むデジタル信号処理システム（ＤＳＰ）を含む。アナログベースバンドユニット８０４は、ハンドセットマイクロホン８１３ａから音声データストリームを受け取り、ハンドセットモノラルスピーカ８１３ｂに音声データストリームを送る。アナログベースバンドユニット８０４は更に、マイクロホン８１４ａから音声データストリームを受け取り、モノラルハンドセット８１４ｂに音声データストリームを送る。アナログベースバンドユニット８０４およびＳＰＵ８０２は個別のＩＣとし得る。多くの実施形態では、アナログベースバンドユニット８０４は、プログラマブルプロセッサコアを組み込まないが、ＳＰＵ８０２上で動作するソフトウェアによって設定されるオーディオパス、フィルタ、利得などの構成に基づいて処理を実施する。ディスプレイ８２０は、ネットワークから、ローカルカメラ８２８から、またはＵＳＢ８２６やメモリ８１２などの他のソースから受け取った画像およびビデオストリームも表示し得る。また、ＳＰＵ８０２は、ＲＦトランシーバ８０６またはカメラ８２８を介するセルラネットワークなどの様々なソースから受け取るビデオストリームをディスプレイ８２０に送ることもできる。ＳＰＵ８０２は、エンコーダ８２２を介してコンポジット出力端子８２４で外部ビデオディスプレイユニットにビデオストリームを送ることもできる。エンコーダユニット８２２は、ＰＡＬ／ＳＥＣＡＭ／ＮＴＳＣビデオ規格に従って符号化を提供し得る。
【００５６】
ＳＰＵ８０２は、ビデオ符号化および復号化に必要とされる計算演算を実施する機能性を含む。サポートされるビデオ符号化規格は、例えば、ＪＰＥＧ規格、ＭＰＥＧ規格、およびＨ．２６ｘ規格の１つまたは複数を含み得る。本発明の１つまたは複数の実施形態では、ＳＰＵ８０２は、本明細書に記載したようなゴーストアーチファクトを低減する時間ノイズフィルタリングの方法の計算演算を実施するように構成される。本方法を実装するソフトウェア命令が、メモリ８１２にストアされ得、例えば画像およびビデオストリームなどの、デジタル画像データの取得および／または符号化の一部として、かつ／または受け取ったデジタル画像データを復号化した後でありこのデジタル画像データをディスプレイまたは外部ディスプレイユニットに送る前に、ＳＰＵ８０２によって実行され得る。
【００５７】
図９は、プロセッサ９０２、関連するメモリ９０４、記憶デバイス９０６、およびデジタルシステムに典型的な数多くの他の要素および機能性（図示せず）を含むデジタルシステム９００（例えば、パーソナルコンピュータ）を示す。本発明の１つまたは複数の実施形態において、デジタルシステムが、複数のプロセッサを含み得、かつ／または、これらのプロセッサの１つまたは複数をデジタル信号プロセッサとし得る。デジタルシステム９００は更に、キーボード９０８およびマウス９１０（または他のカーソル制御デバイス）などの入力手段、およびモニタ９１２（または他のディスプレイデバイス）などの出力手段を含み得る。デジタルシステム９００は、ネットワークインターフェース接続（図示せず）を介して、ネットワーク（例えば、ローカルエリアネットワーク（ＬＡＮ）、インターネットなどのワイドエリアネットワーク（ＷＡＮ）、セルラネットワーク、任意の他の類似の種類のネットワーク、および／またはこれらの任意の組み合せ）に接続し得る。入力および出力手段は他の形態を取り得ることが当業者には理解されよう。
【００５８】
デジタルシステム９００は更に、ビデオシーケンスを取得するための回路要素（例えば、光学素子、センサ、読出し電子機器）を含む画像取得デバイス（図示せず）を含み得る。デジタルシステム９００は、取得したビデオシーケンスに対して、本明細書に記載したようなゴーストアーチファクトを低減する時間ノイズフィルタリングを実施する機能性を含み得る。デジタルシステム９００は更に、符号化されたビデオシーケンスを復号化し、復号化したビデオシーケンスに対して本明細書に記載したようなゴーストアーチファクトを低減する時間的ノイズフィルタリングを実施し、フィルタされ復号化されたシーケンスをモニタ９１２に表示する機能性も含み得る。符号化されたビデオシーケンスは、ネットワークを介して受け取ることもでき、記憶媒体（例えばＤＶＤ）などから読み出すこともできる。
【００５９】
さらに、先に述べたデジタルシステム９００の１つまたは複数の要素は、離れた場所に配置することができ、ネットワークを介して他の要素に接続し得ることが当業者には理解されよう。また、本発明の実施形態は、複数のノードを有する分散システムで実施し得る。この場合、このシステムの各部分およびソフトウェア命令が分散システム内の異なるノードに位置していてもよい。本発明の一実施形態では、ノードをデジタルシステムとし得る。あるいは、ノードは、関連する物理メモリを備えたプロセッサとし得る。あるいは、ノードは、共有されるメモリおよび／またはリソースを備えたプロセッサとし得る。
【００６０】
制限された数の例示の実施形態に関して本発明を記載してきたが、この開示を参照すれば、本明細書で開示する本発明の範囲から逸脱しない他の実施形態を考案し得ることが当業者には理解されよう。例えば、図１には、ビデオシーケンスを符号化する前の、本明細書に記載した方法に従ったノイズフィルタリングを示したが、このようなノイズフィルタリングを他の場所で用いる本発明の実施形態が当業者には理解されよう。例えば、本明細書に記載したようなノイズフィルタリングは、符号化したビデオシーケンスを復号化した後、例えば、図１のビデオデコーダ１１４とディスプレイ１１６の間、に適用してもよい。別の例として、ＤＶＤプレーヤを含むデジタルシステムにおいて、ＤＶＤのビデオを復号化した後でありそれをテレビまたはコンピュータスクリーンに表示する前に、本明細書に記載したようなノイズフィルタを適用してもよい。多くの他の実施形態および変形も可能である。
【図１】
2013526138.tif 000003
【図２Ａ】
2013526138.tif 000004
【図２Ｂ】
2013526138.tif 000005
【図２Ｃ】
2013526138.tif 000006
【図２Ｄ】
2013526138.tif 000007
【図３】
2013526138.tif 000008
【図４】
2013526138.tif 000009
【図５】
2013526138.tif 000010
【図６】
2013526138.tif 000011
【図７】
2013526138.tif 000012
【図８】
2013526138.tif 000013
【図９】
2013526138.tif 000014
【国際調査報告】
2013526138.tif 000015
2013526138.tif 000016