"ゴーストアーチファクトを低減するためのデジタルビデオシーケンスのノイズフィルタリングの方法であって、参照フレームに基づいて前記デジタルビデオシーケンスのフレーム内の画素について動き値を演算すること、前記動き値に基づいて前記画素について混合ファクタを演算すること、前記参照フレームおよび前記フレーム内の対応する画素値に前記混合ファクタを適用することによって、フィルタされた出力画素値を生成することであって、ゴーストアーチファクトを低減するため、選択されるフィルタされた出力画素値が前記フレーム内の対応する画素値に向かって収束されること、および前記フィルタされたフレームを出力すること、を含む、方法。請求項1に記載の方法であって、前記選択されたフィルタされた出力画素値が、前記フレーム内の前記対応する画素値に向かって即座収束される、方法。請求項1に記載の方法であって、前記選択されたフィルタされた出力画素値が、前記フレーム内の前記対応する画素値に向かって段階的に収束される、方法。請求項1に記載の方法であって、フィルタされた出力画素値を生成することが、あるフィルタされた出力画素値が前記参照フレーム内の対応する画素値に等しいとき、前記フィルタされた出力画素値を前記フレーム内の対応する画素値に近づくように動かすように、前記フィルタされた出力画素値を1だけインクリメントまたはデクリメントすることを含む、方法。請求項1に記載の方法であって、フィルタされた出力画素値を生成することが、あるフィルタされた出力画素値が前記参照フレーム内の対応する画素値に等しいとき、前記フィルタされた出力画素値を前記フレーム内の対応する画素値で置き換えることを含む、方法。請求項1に記載の方法であって、混合ファクタを演算することが、2a01-a0mx,y,n/Tmmx,y,n>=3のとき、混合ファクタをa01-a0mx,y,n/Tmとして演算すること、mx,y,n=Tmまたはmx,y,n=0のとき、混合ファクタを1として演算すること、およびその他の場合は混合ファクタを3/2×mx,y,nとして演算すること、を含み、ここで、nは前記フレームの番号であり、xおよびyは画素座標であり、mx,y,nは動き値であり、Tmは動き閾値であり、a0は強度パラメータである、方法。請求項1に記載の方法であって、混合ファクタを演算することが、2a01-a0mx,y,n/Tmmx,y,n>=3およびmx,y,n<Tmのとき、混合ファクタをa01-a0mx,y,n/Tmとして演算すること、および、その他の場合は混合ファクタを1として演算すること、を含み、ここで、nは前記フレームの番号であり、xおよびyは画素座標であり、mx,y,nは動き値であり、Tmは動き閾値であり、a0は強度パラメータである、方法。請求項1に記載の方法であって、前記動き値を演算する前に、前記フレームに空間フィルタを適用することをさらに含む、方法。ゴーストアーチファクトを低減するためにデジタルビデオシーケンスをフィルタリングするノイズフィルタであって、参照フレームとして用いられる前記ノイズフィルタの出力フレームをストアするように構成されるフレームバッファ構成要素、前記参照フレームに基づいて前記デジタルビデオシーケンスのフレーム内の画素について動き値を演算するように構成される動き検出構成要素、前記動き値に基づいて前記画素について混合ファクタを演算するように構成される動き-混合ファクタ変換構成要素、および前記参照フレームおよび前記フレーム内の対応する画素値に前記混合ファクタを適用することによって、フィルタされた出力画素値を生成するように構成されるフレーム混合構成要素であって、ゴーストアーチファクトが低減されるように、選択されるフィルタされた出力画素値が前記フレーム内の対応する画素値に向かって収束される、前記フレーム混合構成要素、を含む、ノイズフィルタ。請求項9に記載のノイズフィルタであって、前記フレーム混合構成要素が、あるフィルタされた出力画素値が前記参照フレーム内の対応する画素値に等しいとき、前記フィルタされた出力画素値を前記フレーム内の対応する画素値に近づくように動かすように、前記フィルタされた出力画素値を1だけインクリメントまたはデクリメントすること、および、あるフィルタされた出力画素値が前記参照フレーム内の対応する画素値に等しいとき、前記フィルタされた出力画素値を前記フレーム内の対応する画素値で置き換えること、とからなる群から選択される1つを実行するように構成される、ノイズフィルタ。請求項9に記載のノイズフィルタであって、前記動き-混合ファクタ変換構成要素が、2a01-a0mx,y,n/Tmmx,y,n>=3のとき、混合ファクタをa01-a0mx,y,n/Tmとして演算し、mx,y,n=Tmまたはmx,y,n=0のとき、混合ファクタを1として演算し、その他の場合は混合ファクタを3/2×mx,y,nとして演算する、ように構成され、ここで、nは前記フレームの番号であり、xおよびyは画素座標であり、mx,y,nは動き値であり、Tmは動き閾値であり、a0は強度パラメータである、ノイズフィルタ。請求項9に記載のノイズフィルタであって、前記動き-混合ファクタ変換構成要素が、2a01-a0mx,y,n/Tmmx,y,n>=3およびmx,y,n<Tmのとき、混合ファクタをa01-a0mx,y,n/Tmとして演算し、その他の場合は混合ファクタを1として演算する、ように構成され、ここで、nは前記フレームの番号であり、xおよびyは画素座標であり、mx,y,nは動き値であり、Tmは動き閾値であり、a0は強度パラメータである、ノイズフィルタ。請求項9に記載のノイズフィルタであって、前記フレームに空間フィルタを適用するように構成される空間フィルタ構成要素をさらに含む、ノイズフィルタ。ゴーストアーチファクトを低減するためにデジタルビデオシーケンスをフィルタリングするように構成されるデジタルシステムであって、参照フレームとして用いられるフィルタされた出力フレームをストアするための手段、前記参照フレームに基づいて前記デジタルビデオシーケンスのフレーム内の画素について動き値を演算するための手段、前記動き値に基づいて前記画素についての混合ファクタを演算する手段、および前記参照フレームおよび前記フレーム内の対応する画素値に前記混合ファクタを適用することによって、フィルタされた出力画素値を生成する手段であって、ゴーストアーチファクトを低減するように、選択されるフィルタされた出力画素値が前記フレーム内の対応する画素値に向かって収束される、前記手段、を含む、デジタルシステム。デジタルビデオシーケンスの時間ノイズフィルタリングにおいてゴーストアーチファクトを低減するための方法およびシステムを提供するように実施される本発明の原理を示す例示の実施形態を記載する。より具体的には、本明細書に記載する実施形態によれば、ビデオシーケンスのフレームに動き適応時間無限インパルス応答IIRノイズフィルタを適用することによって生じることがあるゴーストアーチファクトが低減される。例えば、動き適応時間IIRフィルタでは、出力フレーム[Yox,y,n,Uox,y,n,Vox,y,n]は、入力フレーム[Ycx,y,n,Ucx,y,n,Vcx,y,n]とそのフィルタの前の出力フレーム、すなわち、参照フレーム[Yox,y,n-1,Uox,y,n-1,Vox,y,n-1]との重み平均である。Yox,y,n=ax,y,nYcx,y,n1-ax,y,nYox,y,n-1;Uox,y,n=ax,y,nUcx,y,n1-ax,y,nUox,y,n-1;Vox,y,n=ax,y,nVcx,y,n1-ax,y,nVox,y,n-1ここで、xおよびyは空間座標であり、nは時間座標、すなわちフレームインデックス、であり、Y、U、Vはビデオシーケンスの3つの色チャネルであり、ax,y,nは動き値mx,y,nによって制御される混合ファクタである。ある画素についての動き値mx,y,zは、3つのすべての色チャネルについての現在の入力フレームと参照フレームの間の距離L1、すなわち絶対差の和である。mx,y,n=|Ycx,y,n-Yox,y,n-1||Ucx,y,n-Uox,y,n-1||Vcx,y,n-Vox,y,n-1|動き値が小さく、画素がこの位置に良好に整合されることを示している場合、強い時間フィルタが適用される。動き値が大きく、画素がこの位置に良好に整合されないことを示している場合、弱い時間フィルタが適用される。そのため、各画素毎のx,yでの混合ファクタaは、その画素位置における動きmの関数である。mx,y,n<Tmの場合、ax,y,n=a01-a0mx,y,n/Tm;mx,y,nが他の値の場合、ax,y,n=1ここで、Tmおよびa0は時間フィルタの入力パラメータである。これらのパラメータはこれ以降でより詳細に説明する。Tmの値が大きいと、ゴーストアーチファクトを生じさせることがある。理想的には、出力画素値[Yox,y,n,Uox,y,n,Vox,y,n]は、常に現在の入力値[Ycx,y,n,Ucx,y,n,Vcx,y,n]に近づいている。しかし、通常の固定点実装形態では、入力および出力画素値は整数である。このような場合、次のような数値上の問題が生じ得る。ここではYチャネルを考える。画素値がすべて整数である場合、出力フレームのYチャネルは、重み付け平均を丸めた値である。Yox,y,n=roundax,y,nYcx,y,n1-ax,y,nYox,y,n-1;=roundYox,y,n-1ax,y,nYcx,y,n-Yox,y,n-1;=Yox,y,n-1roundax,y,nYcx,y,n-Yox,y,n-1|Ycx,y,n-Yox,y,n-1|が小さく、ax,y,nも小さい場合、|ax,y,nYcx,y,n-Yox,y,n-1|は1/2よりも小さくなり得る。このような場合、出力画素値Yox,y,nは、前の出力画素値Yox,y,n-1に等しい。これらの画素位置にゴーストアーチファクトが生じた場合、これらのアーチファクトは、この条件が継続して満たされる限りそのままになる。視覚的には、ビデオシーケンスの動領域で輪郭がスムースに移動しない状態が観察され得る。UおよびVチャネルにも同じ結論が適用される。本発明の1つまたは複数の実施形態では、この条件が補償されるように、選択された混合ファクタを改変し、それによってゴーストアーチファクトの発生を低減する。本発明のいくつかの実施形態では、重み付け平均を行った後でこの条件が補償されるように後処理を実施し、それによってゴーストアーチファクトの発生を低減する。図1は、本発明の1つまたは複数の実施形態に従ったデジタルシステムのブロック図を示す。このデジタルシステムは、デジタルビデオシーケンスに対して時間ノイズフィルタリングを実施するように構成される。このシステムは、通信チャネル118を介して送信先デジタルシステム102に符号化されたビデオシーケンスを送信するソースデジタルシステム100を含む。ソースデジタルシステム100は、ビデオ取得構成要素104、ビデオノイズフィルタ構成要素106、ビデオエンコーダ構成要素108、およびトランスミッタ構成要素110を含む。ビデオ取得構成要素104は、ビデオエンコーダ構成要素108による符号化の前にビデオノイズフィルタ構成要素106によってフィルタされるべきビデオシーケンスを提供するように構成される。ビデオ取得構成要素104は、例えば、撮像センサ、ビデオカメラ、ビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードとし得る。本発明のいくつかの実施形態では、ビデオ取得構成要素104は、ビデオシーケンスとしてのコンピュータグラフィックスや、ライブビデオとコンピュータ生成ビデオの組み合せを生成し得る。ビデオノイズフィルタ構成要素106は、ビデオ取得構成要素からビデオシーケンスを受け取り、ビデオシーケンスのフレームに対して本明細書に記載するようなゴーストアーチファクトを低減する時間ノイズフィルタリングの方法の実施形態を含むノイズフィルタリングを実施して、ノイズがフィルタされたビデオシーケンスを生成する。本発明のいくつかの実施形態では、ビデオノイズフィルタ構成要素106は、以下で図2Aを参照して記載するような機能性/構成要素を含み得る。ビデオエンコーダ構成要素108は、ビデオノイズフィルタ構成要素106からノイズがフィルタされたビデオシーケンスを受け取り、それをトランスミッタ構成要素110による送信のため符号化する。一般に、ビデオエンコーダ構成要素108は、ビデオ取得構成要素104からビデオノイズフィルタ構成要素106を介してノイズがフィルタされたビデオシーケンスを一連のフレームとして受け取り、フレーム全体またはフレームの一部であり得る符号化単位にフレームを分割し、これらの符号化単位を画素ブロックに分割し、これらのブロックに基づいて符号化単位でビデオデータを符号化する。トランスミッタ構成要素110は、符号化されたビデオデータを通信チャネル118を介して送信先デジタルシステム102に送信する。通信チャネル118は、例えば、有線またはワイヤレス通信媒体、ローカルエリアネットワーク、またはワイドエリアネットワークなど、符号化されたビデオシーケンスの送信に適切な任意の通信媒体または通信媒体の組み合せとし得る。送信先デジタルシステム102は、レシーバ構成要素112、ビデオデコーダ構成要素114、およびディスプレイ構成要素116を含む。レシーバ構成要素112は、ソースデジタルシステム100から通信チャネル118を介して符号化されたビデオデータを受け取り、符号化されたビデオデータを復号化のためビデオデコーダ構成要素114に提供する。一般に、ビデオデコーダ構成要素114は、ビデオエンコーダ構成要素108によって行われる符号化プロセスの逆を行って、ビデオシーケンスのフレームを再構築する。次いで、再構築されたビデオシーケンスは、ディスプレイ構成要素116に表示され得る。ディスプレイ構成要素116は、例えば、プラズマディスプレイ、液晶ディスプレイLCD、発光ダイオードLEDディスプレイなどの任意の適切なディスプレイデバイスとし得る。本発明のいくつかの実施形態では、ビデオストリーミング、ビデオ放送、およびビデオ電話通信のためのビデオシーケンスの双方向送信のため、ソースデジタルシステム100は、レシーバ構成要素およびビデオデコーダ構成要素も含んでよく、かつ/または送信先デジタルシステム102は、トランスミッタ構成要素およびビデオエンコーダ構成要素を含んでもよい。また、ビデオエンコーダ構成要素108およびビデオデコーダ構成要素114は、例えば、MPEG-1、MPEG-2、およびMPEG-4などのMPEGMovingPictureExpertsGroupビデオ圧縮規格、H.263およびH.264などのITU-Tビデオ圧縮規格、米国映画テレビ技術者協会SMPTEの421Mビデオコーデック規格通称VC-1、中国視聴覚符号化規格ワークグループAudioVideoCodingStandardWorkgroupofChina、通称AVSによって定義されたビデオ圧縮規格など、1つまたは複数のビデオ圧縮規格に従って符号化および復号化を実施し得る。ビデオノイズフィルタ構成要素106、ビデオエンコーダ構成要素108、およびビデオデコーダ構成要素114は、例えば、1つまたは複数のデジタル信号プロセッサDSP、マイクロプロセッサ、ディスクリートロジック、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGAなど、ソフトウェア、ファームウェア、およびハードウェアの任意の適切な組み合せで実装し得る。図2Aは、本発明の1つまたは複数の実施形態に従ったノイズフィルタ200、例えば図1のビデオノイズフィルタ構成要素106、のブロック図を示す。ノイズフィルタ200は、ビデオシーケンスのフレームに対し空間フィルタリングおよび時間フィルタリングの両方を実施するように構成される。入力フレームおよびフィルタされた出力フレーム内の画素値は整数値である。時間フィルタリングは、本明細書に記載するようなゴーストアーチファクト低減を実施することを含む、動き適応時間IIRフィルタによって提供される。また、時間フィルタリングは、空間フィルタリングが実施された後で適用される。図2Aに示すように、ノイズフィルタ200は、ノイズレベル推定構成要素202、IIRフィルタ構成要素220、空間フィルタ構成要素204、および時間フィルタリングのための構成要素、すなわち、動き検出構成要素206、動き-混合ファクタ変換構成要素218、フレーム混合構成要素222、およびフレームバッファ208、を含む。また、T0、β、Tm、およびa0は、ノイズフィルタ200の入力パラメータである。T0は、空間ノイズフィルタの強度を制御する空間フィルタ構成要素204のパラメータである。T0の値が大きいとより滑らかな結果が得られ、この値が小さいとより細かな部分が維持される。βは、フレームからフレームへノイズレベルが変化する速さを制御するIIRフィルタ220のパラメータである。Tmおよびa0は、時間フィルタリングのための入力パラメータである。Tmの値は動き閾値であり、時間ノイズフィルタの強度を制御するために用いる。フレーム内の平坦領域、すなわちテクスチャがない領域、はTmの値が大きくなるにつれより滑らかに見えるが、Tmの値が増加すると、動領域でより強いゴーストアーチファクトが生じることがある。a0の値も時間ノイズフィルタの強度の制御に用いられる。この値は0~1の間の値を取り得、a0が0に近づくとフィルタの強度が大きくなり、a0が1に近づくとフィルタの強度が弱くなる。ノイズレベル推定構成要素202は、入力フレームにおけるノイズのレベルを推定する。このノイズ推定は、各色チャネル、すなわち、入力フレームのY、U、V、毎に実施されるが、ブロック毎またはライン毎に入力フレームに対し実施されてもよい。ノイズレベル推定は、任意の適切なノイズ推定技術を用いて実施し得る。米国特許出願公開番号2009/0153739に、いくつかの適切な技術が記載されている。IIRフィルタ構成要素220は、ノイズレベル推定構成要素202の出力にローパスIIRフィルタを適用して、フィルタされたノイズレベルを生成することによってノイズレベルの変化スピードを制御する。このローパスIIRフィルタは、各色チャネルのノイズレベルに適用される。次いで、フィルタされたノイズレベルは、入力として動き-混合ファクタ変換構成要素218に提供される。さらに、フィルタされたノイズレベルは、T0を用いてスケーリングされて、空間フィルタ構成要素204のための入力強度パラメータが生成される。空間フィルタ構成要素204は、各色チャネル、すなわち、入力フレーム210のY、U、Vに対して空間フィルタリングを実施して、空間フィルタされたフレーム214を生成する。また、空間フィルタリングは、ブロック毎またはライン毎に適用してもよい。空間フィルタされたフレームは、入力として動き検出構成要素206およびフレーム混合構成要素222に提供される。空間フィルタリングは、任意の適切な空間フィルタリング技術に従って実施し得る。米国特許出願公開番号2009/0153739に、1つの適切な空間フィルタリング技術が記載されている。フレームバッファ208は、ノイズフィルタ200の前の出力フレームをストアする。これらの出力フレームは、動き検出構成要素206およびフレーム混合構成要素222によって参照フレームとして用いられる。動き検出構成要素206は、フレームバッファ208からの参照フレームと空間フィルタされたフレーム214との間の動きを演算する。各画素の動き値mx,y,nが、3つの色チャネルに基づいて、これら2つのフレーム内の対応する画素間の絶対差の和として演算される。mx,y,n=|Ycx,y,n-Yox,y,n-1||Ucx,y,n-Uox,y,n-1||Vcx,y,n-Vox,y,n-1|ここで、[Yox,y,n-1,Uox,y,n-1,Vox,y,n-1]は参照フレームであり、[Ycx,y,n,Ucx,y,n,Vcx,y,n]は空間フィルタされたフレーム214である。動き-混合ファクタ変換構成要素218は、ノイズレベル推定構成要素202からのフィルタされたノイズ推定値および動き検出構成要素206からの動き値を用いて、各画素毎に混合ファクタax,y,nを演算する。より具体的には、ある画素についての混合ファクタは、a0、Tm、およびその画素についての動き値の関数として演算される。先に説明したように、a0は、フィルタの強度を制御する時間ノイズフィルタへの入力パラメータである。動きが小さい場合、このパラメータの値を0に近く設定してフィルタの強度を増加させ、動きが大きい場合、このパラメータの値を1に近く設定してフィルタの強度を減少させる。本発明のいくつかの実施形態では、このパラメータの値はユーザによって設定される。本発明のいくつかの実施形態では、このパラメータの値は、ノイズレベル推定構成要素202により3つの色チャネルについて演算されるノイズレベルによって決定される。米国特許出願公開番号2009/0153739に、推定されたノイズレベルに基づいてこのパラメータの値を設定することが記載されている。本発明の様々な実施形態での混合ファクタax,y,nの演算を以下でより詳細に記載する。フレーム混合構成要素222は、動き-混合ファクタ変換構成要素218によって演算される混合ファクタax,y,n、フレームバッファ208からの参照フレーム、および空間フィルタされたフレーム214を用いてフィルタされた出力フレーム212を生成する。より具体的には、3つの色チャネルにおける出力フレーム[Yox,y,n,Uox,y,n,Vox,y,n]212の画素値は、参照フレーム[Yox,y,n-1,Uox,y,n-1,Vox,y,n-1]および空間フィルタされたフレーム[Ycx,y,n,Ucx,y,n,Vcx,y,n]内の画素の重み付け平均として演算される。Yox,y,n=roundax,y,nYcx,y,n1-ax,y,nYox,y,n-1;Uox,y,n=roundax,y,nUcx,y,n1-ax,y,nUox,y,n-1;Vox,y,n=roundax,y,nVcx,y,n1-ax,y,nVox,y,n-1本発明の1つまたは複数の実施形態では、動き-混合ファクタ変換構成要素218は、下記のように画素毎に混合ファクタを演算する。mx,y,n<Tmの場合、ax,y,n=a01-a0mx,y,n/Tm;mx,y,nが他の値の場合、ax,y,n=1図2Bに示すように、位置x,yにおける画素についての混合ファクタaは、その画素位置での動きmの関数である。この動き-混合ファクタ関数amは、各フレーム毎に更新されるルックアップテーブルとして実装され得、そのため、各画素毎の付加的な演算を必要としない。あるフレームについてのルックアップテーブルamの生成を説明する疑似コードを表1に示す。この疑似コードでは、MAX_mは最大動き値である。混合ファクタが上記で示したように演算される本発明の実施形態では、フレーム混合構成要素222は、フィルタされた出力フレーム212に対し後処理を実施してゴーストアーチファクトを低減してもよい。表1form=0toMAX_mifm<Tma[m]=a01-a0m/Tmelsea[m]=1endifendfor本発明のいくつかの実施形態において、出力画素値が、対応する前の出力画素値、すなわち対応する参照画素値、に等しい場合、後処理は、出力画素値を入力画素値に向かって1だけ動かすための、3つの色チャネルにおける出力画素値の段階的収束である。段階的収束を説明する疑似コードを表2に示す。表2ifYcx,y,n>Yox,y,nandYox,y,n=Yox,y,n-1Yox,y,n;ifYcx,y,n<Yox,y,nandYox,y,n=Yox,y,n-1Yox,y,n--;ifUcx,y,n>Uox,y,nandUox,y,n=Uox,y,n-1Uox,y,n;ifUcx,y,n<Uox,y,nandUox,y,n=Uox,y,n-1Uox,y,n--;ifVcx,y,n>Vox,y,nandVox,y,n=Vox,y,n-1Vox,y,n;ifVcx,y,n<Vox,y,nandVox,y,n=Vox,y,n-1Vox,y,n--本発明のいくつかの実施形態において、出力画素値が、対応する前の出力画素値、すなわち対応する参照画素値、に等しい場合、後処理は、出力画素値を入力画素値と同じとする、3つの色チャネルにおける出力画素値の即座収束である。この収束を説明する疑似コードを表3に示す。表3ifYox,y,n=Yox,y,n-1Yox,y,n=Ycx,y,n;ifUox,y,n=Uox,y,n-1Uox,y,n=Ucx,y,n;ifVox,y,n=Vox,y,n-1Vox,y,n=Vcx,y,n本発明の1つまたは複数の実施形態では、ゴーストアーチファクトを低減するために、動き-混合ファクタ変換構成要素218は図2Bの混合関数の変形を用いて、輪郭がスムースに移動しない状況となり得る出力画素値を生成する可能性を小さくする混合ファクタを演算する。先に述べたように、輪郭がスムースに移動しない問題は、Yチャネルにおいて|ax,y,nYcx,y,n-Yox,y,n-1|<1/2であるときに生じる。他のチャネルについても同様である。本発明のいくつかの実施形態では、条件|ax,y,nYcx,y,n-Yox,y,n-1|<1/2または他の色チャネルにおける同様の条件が生じ得るとき、出力画素値を入力画素値に段階的に収束させるように混合ファクタを改変する。この改変の目標は、この条件が生じ得るとき、得られる出力画素値が入力画素値に向かって1だけずれるように、すなわち、roundax,y,nmx,y,n=1またはax,y,nmx,y,n=1/2になるように、混合ファクタを演算することである。ax,y,n=a01-a0mx,y,n/Tmおよび|Ycx,y,n-Yox,y,n-1|≒mx,y,n/3なので、上記の条件は下記のように近似し得る。|ax,y,nYcx,y,n-Yox,y,n-1|=a01-a0mx,y,n/Tmmx,y,n/3<1/2段階的収束をもたらす混合ファクタを含むフレームについてのルックアップテーブルamの生成を説明する疑似コードを表4に示す。改変された動き-混合ファクタ関数の例を図2Cに示す。表4form=0toMAX_mifm>=Tmorm=0a[m]=1elseif2a01-a0m/Tmm>=3a[m]=a01-a0m/Tmelsea[m]=3/2×mendifendfor本発明のいくつかの実施形態では、出力画素値の入力画素値への即座収束を生じさせるように混合関数を改変する。この改変の目標は、条件|ax,y,nYcx,y,n-Yox,y,n-1|<1/2が生じ得るとき、得られる出力画素値が入力画素値と同じになるように混合ファクタを演算することである。即座収束をもたらす混合ファクタを含むフレームについてのルックアップテーブルamの生成を説明する疑似コードを表5に示す。改変された動き-混合ファクタ関数の例を図2Dに示す。表5form=0toMAX_mif2a01-a0m/Tmm>=3andm<Tma[m]=a01-a0m/Tmelsea[m]=1endifendforゴーストアーチファクトを低減するための上記種々の手法は同様の結果をもたらす。すなわち、時間ノイズフィルタを適用した後に少量のノイズが残る。段階的収束を用いる2つの手法では、ゴーストはゆっくりと除去されるが、残るノイズの量は少ない。即座収束を用いる2つの手法では、ゴーストは迅速に除去されるが、残るノイズの量は多い。本発明のいくつかの実施形態では、これら4つの手法すべてまたはこれらの何らかの組み合せが、どの手法を適用すべきるかをユーザが選択し得るようにノイズフィルタ200に実装され得る。図3は、本発明の1つまたは複数の実施形態に従った、時間ノイズフィルタにおいてゴーストアーチファクトを低減するための方法のフローチャートである。図3に示すように、この方法はビデオシーケンスにおけるフレームに適用される。最初に、フレームを受け取る300。本発明の1つまたは複数の実施形態では、受け取ったフレームが空間フィルタされたフレームになるように、空間フィルタがビデオシーケンスのオリジナルフレームに適用される。任意の適切な空間フィルタを使用し得る。本発明のいくつかの実施形態では、受け取ったフレームはオリジナルフレームである。参照フレームに基づいて、このフレーム内の各画素毎に動き値が演算される302。本発明の1つまたは複数の実施形態では、参照フレームは、ビデオシーケンスにおける処理中のフレームの直前のフレームに本方法を適用することによって生成される前のフィルタされたフレームである。本発明のいくつかの実施形態では、各画素毎の動き値mx,y,nが、3つの色チャネルに基づいて、これら2つのフレーム内の対応する画素間の絶対差の和として演算される。mx,y,n=|Ycx,y,n-Yox,y,n-1||Ucx,y,n-Uox,y,n-1||Vcx,y,n-Vox,y,n-1|ここで、[Yox,y,n-1,Uox,y,n-1,Vox,y,n-1]は参照フレームであり、[Ycx,y,n,Ucx,y,n,Vcx,y,n]は現在のフレームである。次いで、各画素毎に、その画素について演算された動き値に基づいて混合ファクタが演算される304。ある画素についての混合ファクタは、a0、Tm、およびその画素についての動き値の関数として演算される。本発明の1つまたは複数の実施形態では、各画素の混合ファクタは、次のように演算される。mx,y,n<Tmの場合、ax,y,n=a01-a0mx,y,n/Tm;mx,y,nが他の値の場合、ax,y,n=1本発明のいくつかの実施形態では、混合ファクタの演算は、指標として動き値を用いるルックアップテーブルである。表1は、このようなテーブルの生成を説明する疑似コードを示す。次いで、フィルタされた画素値が、混合ファクタ、フレーム、および参照フレームを用いて演算される306。より具体的には、出力フレーム[Yox,y,n,Uox,y,n,Vox,y,n]の画素値が、参照フレーム[Yox,y,n-1,Uox,y,n-1,Vox,y,n-1]内の画素および現在のフレーム[Ycx,y,n,Ucx,y,n,Vcx,y,n]内の対応する画素の重み付け平均として演算される。Yox,y,n=roundax,y,nYcx,y,n1-ax,y,nYox,y,n-1;Uox,y,n=roundax,y,nUcx,y,n1-ax,y,nUox,y,n-1;Vox,y,n=roundax,y,nVcx,y,n1-ax,y,nVox,y,n-1次いで、出力フレーム内の選択されたフィルタされた画素値が、ゴーストアーチファクトを低減するように、現在のフレーム内の対応する画素値に向かって段階的に収束される308。より具体的には、フィルタされた画素値Yox,y,n、Uox,y,n、Vox,y,nが、参照フレームYox,y,n-1、Uox,y,n-1、Vox,y,n-1内の対応する画素値に等しい場合、フィルタされた画素値Yox,y,n、Uox,y,n、Vox,y,nを適宜1だけインクリメントまたはデクリメントして、フィルタされた画素値Yox,y,n、Uox,y,n、Vox,y,nを現在のフレームYcx,y,n、Ucx,y,n、Vcx,y,nの対応する画素値に向かって動かす。表2は、この段階的収束を説明する疑似コードを示す。次いで、得られたフィルタされたフレームが出力される310。ビデオシーケンス内の最後のフレームが処理されると312、この方法が終了する。そうでない場合、次のフレームが処理される。図4は、本発明の1つまたは複数の実施形態に従った、時間ノイズフィルタにおいてゴーストアーチファクトを低減するための方法のフローチャートである。図4に示すように、この方法はビデオシーケンスにおけるフレームに適用される。ステップ400~406は、図3のステップ300~306と同じである。出力フレームのフィルタされた画素値が演算されると400~406、出力フレーム内の選択されたフィルタされた画素値が、現在のフレーム内の対応する画素値に即座収束されて、ゴーストアーチファクトが低減される408。より具体的には、フィルタされた画素値Yox,y,n、Uox,y,n、Vox,y,nが、参照フレームYox,y,n-1、Uox,y,n-1、Vox,y,n-1内の対応する画素値に等しい場合、出力フレームにおいて、フィルタされた画素値Yox,y,n、Uox,y,n、Vox,y,nが、現在のフレームYcx,y,n、Ucx,y,n、Vcx,y,nの対応する画素値で置き換えられる。表3は、この即座収束を説明する疑似コードを示す。次いで、得られたフィルタされたフレームが出力される410。ビデオシーケンスにおける最後のフレームが処理されると412、この方法が終了する。そうでない場合は、次のフレームが処理される。図5は、本発明の1つまたは複数の実施形態に従った、時間ノイズフィルタにおいてゴーストアーチファクトを低減するための方法のフローチャートである。図5に示すように、この方法はビデオシーケンスにおけるフレームに適用される。ステップ500および502は、図3のステップ300~302と同じである。動き値が演算されると、選択された混合ファクタax,y,nによりこれらの混合ファクタを用いて演算されるフィルタされる出力画素値が現在のフレーム内の対応する画素値に向かって段階的に収束するように、画素について混合ファクタが演算される506。この収束はゴーストアーチファクトを低減する効果を有する。より具体的には、条件|ax,y,nYcx,y,n-Yox,y,n-1|<1/2、または|ax,y,nUcx,y,n-Uox,y,n-1|<1/2、または|ax,y,nVcx,y,n-Vox,y,n-1|<1/2が生じ得る場合を除いて、a01-a0mx,y,n/Tmとして混合ファクタが演算される。この条件が生じ得る場合、混合ファクタは、mx,y,nがTm以上またはゼロに等しいときは1として演算され、そうでない場合は、条件が補償されるように3/2×mx,y,nとして演算される。条件を補償するように演算される混合ファクタの効果は、得られたフィルタされた出力画素値のほうが、混合ファクタがa01-a0mx,y,n/Tmとして演算される場合よりも、入力画素値に1だけ近づくということである。本発明のいくつかの実施形態では、混合ファクタの演算は、指標として動き値を用いるルックアップテーブルである。このようなテーブルの生成を説明する疑似コードを表4に示す。次いで、フィルタされた画素値が、混合ファクタ、フレーム、および参照フレームを用いて演算される506。フィルタされた画素値は、図3のステップ306を参照して前述のように演算される。次いで、得られたフィルタされたフレームが出力される508。ビデオシーケンスにおける最後のフレームが処理されると510、この方法が終了する。そうでない場合は、次のフレームが処理される。図6は、本発明の1つまたは複数の実施形態に従った、時間ノイズフィルタにおいてゴーストアーチファクトを低減するための方法のフローチャートである。図6に示すように、この方法はビデオシーケンスにおけるフレームに適用される。ステップ600および602は、図3のステップ300~302と同じである。動き値が演算されると、選択された混合ファクタax,y,nによりこの混合ファクタを用いて演算されるフィルタされた出力画素値が現在のフレーム内の対応する画素値に即座収束するように、画素について混合ファクタが演算される606。この収束はゴーストアーチファクトを低減する効果を有する。より具体的には、条件|ax,y,nYcx,y,n-Yox,y,n-1|<1/2、または|ax,y,nUcx,y,n-Uox,y,n-1|<1/2、または|ax,y,nVcx,y,n-Vox,y,n-1|<1/2が生じ得る場合を除いて、a01-a0mx,y,n/Tmとして混合ファクタが演算される。この条件が生じ得る場合、条件が補償されるように混合ファクタは1として演算される。条件が補償されるように混合ファクタを演算することの効果は、得られたフィルタされた出力画素値が、現在のフレーム内の対応する画素値に等しくなるということである。本発明のいくつかの実施形態では、混合ファクタの演算は、指標として動き値を用いるルックアップテーブルである。表5に、このようなテーブルの生成を説明する疑似コードを示す。次いで、フィルタされた画素値が、混合ファクタ、フレーム、および参照フレームを用いて演算される606。フィルタされた画素値は、図3のステップ306を参照して前述のように演算される。次いで、得られたフィルタされたフレームが出力される608。ビデオシーケンスにおける最後のフレームが処理されると610、この方法が終了する。そうでない場合は、次のフレームが処理される。本明細書に記載した方法の実施形態は、デジタル信号プロセッサDSP、汎用プログラマブルプロセッサ、特定用途向け回路、またはDSPと縮小命令セットRISCプロセッサを様々な特殊プログラマブルアクセラレータとともに組み合わせたものなどのシステムオンチップSoCなど、いくつかの種類のデジタルシステムのいずれにおいても提供し得る。オンボードまたは外部のフラッシュEEPROMまたはFRAM内のストアされたプログラムを用いて、本明細書に記載したゴーストアーチファクトを低減する時間ノイズフィルタリングの方法の実施形態を含むビデオ信号処理を実施し得る。アナログデジタルコンバータおよびデジタルアナログコンバータにより現実の世界と結合され、変調器および復調器さらにエアインターフェース用のアンテナにより送信波形と結合させることができ、パケット化装置によりインターネットなどのネットワークを介する送信用のフォーマットが得られる。本明細書に記載した方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合せで実装され得る。少なくとも部分的にソフトウェアで実装する場合、このソフトウェアは、マイクロプロセッサ、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、またはデジタル信号プロセッサDSPなどの1つまたは複数のプロセッサにおいて実行し得る。本方法を具現化するソフトウェアは、まず、コンピュータ可読媒体例えば、メモリ、フラッシュメモリ、DVDなどにストアされ、プロセッサによってロードおよび実行され得る。また、コンピュータ可読媒体には、ネットワーク、またはソフトウェアをダウンロードするための他の通信経路を介してアクセスしてもよい。場合によっては、ソフトウェアは、コンピュータ可読媒体およびこのコンピュータ可読媒体のためのパッケージ材料を含む、コンピュータプログラム製品内に提供することもできる。本明細書に記載したような、時間ノイズフィルタリングにおいてゴーストアーチファクトを低減するための方法およびシステムの実施形態は、デジタルビデオシーケンスを取得するかまたは別の方法で生成する機能性、またはデジタルビデオシーケンスを表示する機能性を備えた、事実上いかなる種類のデジタルシステム例えば、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話すなわちセルホンなどのハンドヘルドデバイス、携帯情報端末、デジタルカメラ、デジタルビデオレコーダなどに対しても実装され得る。図7~図9は、例示のデジタルシステムのブロック図である。図7は、本発明の1つまたは複数の実施形態に従った、組み込みシステム例えばデジタルカメラに適したデジタルシステムを示す。このデジタルシステムは、構成要素の中でも特に、DSPベースの画像コプロセッサICP702、RISCプロセッサ704、および本明細書に記載した方法の実施形態を実施するように構成し得るビデオ処理エンジンVPE706を含む。RISCプロセッサ704は、任意の適切に構成されるRISCプロセッサとし得る。VPE706は、イメージセンサ、ビデオデコーダなどの撮像周辺機器からのビデオ取得用に用いられる入力インターフェースを備えた構成可能なビデオ処理フロントエンドビデオFE708と、SDTVディスプレイ、デジタルLCDパネル、HDTVビデオエンコーダなどのディスプレイデバイスに用いられる出力インターフェースを備えた構成可能なビデオ処理バックエンドビデオBE710と、ビデオFE708およびビデオBE710に共有されるメモリインターフェース724とを含む。このデジタルシステムは更に、マルチメディアカード、オーディオシリアルポート、ユニバーサルシリアルバスUSBコントローラ、シリアルポートインターフェースなどを含み得る様々な周辺機器用の周辺機器インターフェース712を含む。ビデオVE708は、画像信号プロセッサISP716および3A統計生成器3A718を含む。ISP716は、イメージセンサおよびデジタルビデオソースにインターフェースを提供する。より具体的には、ISP716は、センサモジュール726例えばCMOSまたはCCDから未処理画像/ビデオデータを受け取ることができ、多数のフォーマットでYUVビデオデータを受け取ることもできる。ISP716は更に、未処理CCD/CMOSデータからカラーフォーマット例えばRGBの画像データを生成する機能性を備えたパラメータ化画像処理モジュールを含む。ISP716は、センサの種類毎にカスタム化可能であり、取得したデジタル画像のプレビューディスプレイ用およびビデオ記録モード用のビデオフレームレートをサポートする。ISP716は更に、機能性の中でも特に、イメージリサイザ、統計収集機能性、および境界信号計算機を含む。3Aモジュール718は、ISP716または外部メモリからの未処理画像データに関する計量値を収集することによって、オートフォーカス、オートホワイトバランス、および自動露出のための制御ループをサポートする機能性を含む。本発明の1つまたは複数の実施形態では、ビデオFE708は、本明細書に記載するようなゴーストアーチファクトを低減する時間ノイズフィルタリングを実施するように構成される。ビデオBE710は、オンスクリーンディスプレイエンジンOSD720およびビデオアナログエンコーダVAC722を含む。OSDエンジン720は、いくつかの異なる種類のハードウェアディスプレイウィンドウのための様々なフォーマットのディスプレイデータを管理する機能性を含み、ビデオデータおよびディスプレイ/ビットマップデータを収集し、単一のディスプレイウィンドウに合成した後、このデータを色空間フォーマット例えば、RGB、YUV、YCbCrでVAC722に提供する。VAC722は、OSDエンジン720からディスプレイフレームを取り込み、それを所望の出力フォーマットにフォーマットし、ディスプレイデバイスにインターフェースするのに必要とされる信号を出力する機能性を含む。VAC722は、コンポジットNTSC/PALビデオデバイス、Sビデオデバイス、デジタルLCDデバイス、高精細ビデオエンコーダ、DVI/HDMIデバイスなどにインターフェースし得る。メモリインターフェース724は、外部メモリにデータを要求しかつ/または外部メモリからデータを送信している、ビデオFE708およびビデオBE710内のモジュールへのプライマリソースおよびシンクとして機能する。メモリインターフェース724は、読出しおよび書込みバッファおよびアービトレーションロジックを含む。ICP702は、取得した画像の圧縮および他の処理に必要とされる計算演算を実施する機能性を含む。サポートされるビデオ圧縮規格は、例えば、JPEG規格、MPEG規格、およびH.26x規格の1つまたは複数を含み得る。本発明の1つまたは複数の実施形態では、ICP702は、本明細書に記載したような時間ノイズフィルタリング方法の計算演算を実施するように構成し得る。動作において、写真またはビデオシーケンスを取得するために、ビデオ信号が、ビデオFE708によって受け取られ、ビデオ圧縮を実施するのに必要とされる入力フォーマットに変換される。圧縮の前に、本明細書に記載したようなゴーストアーチファクトを低減する時間ノイズフィルタリングを、取得したビデオデータの処理の一部として適用し得る。ビデオFE708によって生成されるビデオデータは、外部メモリにストアされる。次いで、このビデオデータは、符号化、すなわち圧縮される。圧縮プロセスの間、ビデオデータが外部メモリから読み込まれ、このビデオデータに対する圧縮演算がICP702によって実施される。得られた圧縮されたビデオデータが外部メモリにストアされる。次いで、圧縮されたビデオデータは、ビデオBE710によって、外部メモリから読み出し、復号、および後処理されて、画像/ビデオシーケンスが表示される。図8は、本明細書に記載したようなゴーストアーチファクトを低減する時間ノイズフィルタリングを実施するように構成し得るデジタルシステム例えば、携帯電話800のブロック図である。信号処理ユニットSPU802は、組み込みメモリおよびセキュリティ機能を含むデジタル信号処理システムDSPを含む。アナログベースバンドユニット804は、ハンドセットマイクロホン813aから音声データストリームを受け取り、ハンドセットモノラルスピーカ813bに音声データストリームを送る。アナログベースバンドユニット804は更に、マイクロホン814aから音声データストリームを受け取り、モノラルハンドセット814bに音声データストリームを送る。アナログベースバンドユニット804およびSPU802は個別のICとし得る。多くの実施形態では、アナログベースバンドユニット804は、プログラマブルプロセッサコアを組み込まないが、SPU802上で動作するソフトウェアによって設定されるオーディオパス、フィルタ、利得などの構成に基づいて処理を実施する。ディスプレイ820は、ネットワークから、ローカルカメラ828から、またはUSB826やメモリ812などの他のソースから受け取った画像およびビデオストリームも表示し得る。また、SPU802は、RFトランシーバ806またはカメラ828を介するセルラネットワークなどの様々なソースから受け取るビデオストリームをディスプレイ820に送ることもできる。SPU802は、エンコーダ822を介してコンポジット出力端子824で外部ビデオディスプレイユニットにビデオストリームを送ることもできる。エンコーダユニット822は、PAL/SECAM/NTSCビデオ規格に従って符号化を提供し得る。SPU802は、ビデオ符号化および復号化に必要とされる計算演算を実施する機能性を含む。サポートされるビデオ符号化規格は、例えば、JPEG規格、MPEG規格、およびH.26x規格の1つまたは複数を含み得る。本発明の1つまたは複数の実施形態では、SPU802は、本明細書に記載したようなゴーストアーチファクトを低減する時間ノイズフィルタリングの方法の計算演算を実施するように構成される。本方法を実装するソフトウェア命令が、メモリ812にストアされ得、例えば画像およびビデオストリームなどの、デジタル画像データの取得および/または符号化の一部として、かつ/または受け取ったデジタル画像データを復号化した後でありこのデジタル画像データをディスプレイまたは外部ディスプレイユニットに送る前に、SPU802によって実行され得る。図9は、プロセッサ902、関連するメモリ904、記憶デバイス906、およびデジタルシステムに典型的な数多くの他の要素および機能性図示せずを含むデジタルシステム900例えば、パーソナルコンピュータを示す。本発明の1つまたは複数の実施形態において、デジタルシステムが、複数のプロセッサを含み得、かつ/または、これらのプロセッサの1つまたは複数をデジタル信号プロセッサとし得る。デジタルシステム900は更に、キーボード908およびマウス910または他のカーソル制御デバイスなどの入力手段、およびモニタ912または他のディスプレイデバイスなどの出力手段を含み得る。デジタルシステム900は、ネットワークインターフェース接続図示せずを介して、ネットワーク例えば、ローカルエリアネットワークLAN、インターネットなどのワイドエリアネットワークWAN、セルラネットワーク、任意の他の類似の種類のネットワーク、および/またはこれらの任意の組み合せに接続し得る。入力および出力手段は他の形態を取り得ることが当業者には理解されよう。デジタルシステム900は更に、ビデオシーケンスを取得するための回路要素例えば、光学素子、センサ、読出し電子機器を含む画像取得デバイス図示せずを含み得る。デジタルシステム900は、取得したビデオシーケンスに対して、本明細書に記載したようなゴーストアーチファクトを低減する時間ノイズフィルタリングを実施する機能性を含み得る。デジタルシステム900は更に、符号化されたビデオシーケンスを復号化し、復号化したビデオシーケンスに対して本明細書に記載したようなゴーストアーチファクトを低減する時間的ノイズフィルタリングを実施し、フィルタされ復号化されたシーケンスをモニタ912に表示する機能性も含み得る。符号化されたビデオシーケンスは、ネットワークを介して受け取ることもでき、記憶媒体例えばDVDなどから読み出すこともできる。さらに、先に述べたデジタルシステム900の1つまたは複数の要素は、離れた場所に配置することができ、ネットワークを介して他の要素に接続し得ることが当業者には理解されよう。また、本発明の実施形態は、複数のノードを有する分散システムで実施し得る。この場合、このシステムの各部分およびソフトウェア命令が分散システム内の異なるノードに位置していてもよい。本発明の一実施形態では、ノードをデジタルシステムとし得る。あるいは、ノードは、関連する物理メモリを備えたプロセッサとし得る。あるいは、ノードは、共有されるメモリおよび/またはリソースを備えたプロセッサとし得る。制限された数の例示の実施形態に関して本発明を記載してきたが、この開示を参照すれば、本明細書で開示する本発明の範囲から逸脱しない他の実施形態を考案し得ることが当業者には理解されよう。例えば、図1には、ビデオシーケンスを符号化する前の、本明細書に記載した方法に従ったノイズフィルタリングを示したが、このようなノイズフィルタリングを他の場所で用いる本発明の実施形態が当業者には理解されよう。例えば、本明細書に記載したようなノイズフィルタリングは、符号化したビデオシーケンスを復号化した後、例えば、図1のビデオデコーダ114とディスプレイ116の間、に適用してもよい。別の例として、DVDプレーヤを含むデジタルシステムにおいて、DVDのビデオを復号化した後でありそれをテレビまたはコンピュータスクリーンに表示する前に、本明細書に記載したようなノイズフィルタを適用してもよい。多くの他の実施形態および変形も可能である。"