(57)【要約】【課題】シンチレーションおよびフェザリングアーティファクトを低減するグローバル適応デインターレーシングのシステムおよび方法を提供する。【解決手段】ＭＡＤＩローカル動き量子化器スレッショルドは、ビデオシーケンス中に存在するグローバル動きの量に従って適応的に調節され、それによってフィールドをデインターレーシングするときに、シンチレーションアーティファクトおよびフェザリングアーティファクトを最小化する。フィールドを分類する目的でグローバル動きの「シナリオ」のセットが定義され、フィールド単位で異なるグローバル動きのシナリオを検出するために、多くのグローバル動きインジケータが用いられる。【選択図】図１０
2006238440.tif 000002
【特許請求の範囲】
【請求項１】
フェザリングおよびシンチレーションアーティファクトを低減するグローバル適応デインターレーシング方法であって、
コントラスト分布を決定すること、
補正係数を決定すること、
ＲおよびＳ信号をリードすること、
グローバル動き領域を前記ＲおよびＳ信号に基づいて決定すること、および
垂直動きの存在を決定すること
を含む方法。
【請求項２】
請求項１に記載の方法であって、グローバル動きの量を前記決定することは、１つ以上の提供されたグローバル動きインジケータ信号を発生およびリードすることを含む方法。
【請求項３】
請求項１に記載の方法であって、グローバル動きの量を前記決定することは、現在のフィールドおよび前のフィールドの間の輝度差を計算することによって、１つ以上のグローバル動きインジケータ信号を得ることを含む方法。
【請求項４】
請求項３に記載の方法であって、グローバル動きの量を前記決定することは、グローバル動き値の補正を行うために、補正されないグローバル動き値によって乗算される補正係数をフェッチするのに用いられる前記現在のフィールドについての最大輝度値を得ることを含む方法。
【請求項５】
請求項４に記載の方法であって、グローバル動きの量を前記決定することは、前記最大輝度値を用いて前記グローバル動きインジケータ信号を補正すること、およびそれによって輝度依存性を低減することを含む方法。
【請求項６】
請求項１に記載の方法であって、前記ビデオシーケンス中の垂直動きパターンの存在を決定することをさらに含む方法。
【請求項７】
請求項１に記載の方法であって、前記グローバル動きの量に従って１つ以上の時間ノイズリダクション量子化器スレッショルドを調節することをさらに含む方法。
【請求項８】
請求項１に記載の方法であって、前記グローバル動きの量に従って１つ以上のクロスカラーサプレッションローカル動き量子化器スレッショルドを調節することをさらに含む方法。
【請求項９】
フェザリングおよびシンチレーションアーティファクトを低減するグローバル適応デインターレーシングシステムであって、
ビデオシーケンス中に存在するグローバル動きの量を決定すること、
前記グローバル動きの量に従って１つ以上のローカル動き量子化器スレッショルドを調節すること
を行うコントローラを備えるシステム。
【請求項１０】
請求項９に記載のシステムであって、グローバル動きの量を前記決定することは、１つ以上の提供されたグローバル動きインジケータ信号をリードすることを含むシステム。
【請求項１１】
請求項９に記載のシステムであって、グローバル動きの量を前記決定することは、現在のフィールドおよび前のフィールドの間の輝度差を計算することによって、１つ以上のグローバル動きインジケータ信号を得ることを含むシステム。
【請求項１２】
請求項１１に記載のシステムであって、グローバル動きの量を前記決定することは、前記現在のフィールドについての最大輝度値を得ることをさらに含むシステム。
【請求項１３】
請求項１２に記載のシステムであって、グローバル動きの量を前記決定することは、前記最大輝度値を用いて前記グローバル動きインジケータ信号を補正すること、およびそれによって輝度依存性を低減することを含むシステム。
【請求項１４】
請求項９に記載のシステムであって、前記コントローラは、ビデオシーケンス中の垂直動きパターンの存在を決定するシステム。
【請求項１５】
請求項９に記載のシステムであって、前記コントローラは、前記グローバル動きの量に従って１つ以上の時間ノイズリダクション量子化器スレッショルドを調節するシステム。
【請求項１６】
請求項９に記載のシステムであって、前記コントローラは、前記グローバル動きの量に従って１つ以上のクロスカラーサプレッションローカル動き量子化器スレッショルドを調節するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大きくは動き適応デインターレーシング（motion adaptive deinterlacing）に関し、より具体的には、シンチレーション（scintillation）およびフェザリングアーティファクト（feathering artifacts）を減らすためにグローバル動きインジケータ（global motion indicators）に基づいて適応的にローカル動きスレッショルド（local motion thresholds）を調節するシステムおよび方法に関する。
【背景技術】
【０００２】
インターレースされたビデオ信号は、２つのビデオフィールドを備え、１つは画像の奇数ラインについてであり、１つは画像の偶数ラインについてである。これは、画像キャプチャプロセスのためであり、ここでカメラは、奇数ラインを時間軸上のある瞬間に出力し、偶数ラインをわずかな後に出力する。これは画像の奇数および偶数ラインの間で時間的なシフトを作り、これはフレームベースの処理システムで対応される必要がある。デインターレーシング処理は、２つのフィールドから完全なフレームを組み立てることによって、この問題を克服することを一般に試みる。
【０００３】
２つのフィールド間の時間シフトは、フェザリング（feathering）およびシンチレーションアーティファクト（scintillation artifacts）を導くので、そのようなアーティファクトを減らすために動き適応デインターレーシング（motion adaptive deinterlacing、ＭＡＤＩ）技術が提案されてきている。いくつかのＭＡＤＩ技術は、特定の問題のあるビデオシーケンスに対してデインターレーサ（de-interlacer）のパフォーマンスを改善するために、手動で調節されえるローカル動きスレッショルド値を用いるが、これはおそらくは他のビデオシーケンスにおいては、パフォーマンスを犠牲にする（およびデインターレーシングアーティファクトの再導入）という代償を払うことになる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
したがって、特定のビデオシーケンスを「パス（pass）させる」ために手動でＭＡＤＩスレッショルドを調節する代わりに、ローカルＭＡＤＩスレッショルドを自動で適応的に調節する新しい適応システムを開発することが望ましい。
【課題を解決するための手段】
【０００５】
シンチレーションおよびフェザリングアーティファクトを低減するグローバル適応デインターレーシングのシステムおよび方法が開示される。ＭＡＤＩローカル動き量子化器スレッショルドは、ビデオシーケンス中に存在するグローバル動きの量に従って適応的に調節され、それによってフィールドをデインターレーシングするときに、シンチレーションアーティファクト（一般に遅い動きの画像中に存在する）およびフェザリングアーティファクト（一般に速い動きの画像中に存在する）を最小化する。フィールドを分類する目的でグローバル動きの「シナリオ」のセットが定義され、フィールド単位で異なるグローバル動きのシナリオを検出するために、多くのグローバル動きインジケータが用いられる。グローバル動きインジケータは、輝度依存性を低減するために補正され、それによって信頼性およびロバストさを改善する。フィールドのグローバル動きシナリオに依存して、ローカル動きスレッショルドは適応的に調節される。量子化スレッショルドの適応的調節も、時間ノイズリダクションおよびクロスカラーサプレッションサブシステムにオプションとして適用される。
【０００６】
本発明は、限定ではなく、例示によって添付の図面の図において示され、ここで同様の参照番号は同様の要素を指す。
【発明を実施するための最良の形態】
【０００７】
本発明の具体的な実施形態が参照され、その例が添付の図面に示される。本発明は、特定の実施形態について記載されるが、本発明を記載された実施形態に限定するようは意図されないことが理解されよう。むしろ代替物、改変物、および等価物を、添付の特許請求の範囲によって規定される本発明の精神および範囲内に含まれえるとしてカバーするよう意図される。
【０００８】
動き適応デインターレーシングおよびローカル動き量子化スレッショルド
【０００９】
インターレースされたビデオ信号は、奇数フィールド（ライン１，３，５，…）および偶数フィールド（ライン２，４，６，…）を備える。デインターレーシングビデオ処理システムは、プログレッシブディスプレイデバイス上で見るためにインターレースされたビデオ入力信号からプログレッシブビデオ出力信号を作る。入力ビデオをデインターレースするために簡単なフィールドマージ（fields merging）（すなわちスタティックメッシュ（static mesh））を実行する代わりに、静止領域においてフリッカリングアーティファクトが最小になり、動画領域においてフェザリングアーティファクトが最小になる、高品質なデインターレース画像フレームを得るために、垂直補間および時間補間の組み合わせが実行される。このゴールをより良く達成するために、それぞれのピクセルの近傍における局所的動きの存在およびレベルに依存して画像の静止画部および動画部を別個に処理するために、入力シーケンス中のローカル動き（ピクセル単位のような）が評価されえる。これは、動き適応デインターレーシング（ＭＡＤＩ）と呼ばれ、そのようなＭＡＤＩシステムの２つの大きな仕事は、
１．それぞれのピクセルおよび／またはその近傍についてのローカル動きのレベルを検出する動き検出、および
２．デインターレースすることによって、プログレッシブフレームを作ること
である。
【００１０】
入力ビデオシーケンス中のローカル動きの存在を検出するために、同じ極性（例えば偶数および偶数、または奇数および奇数）の２つのフィールドがＭＡＤＩシステムによって用いられ、２つのフィールド中の同じ座標を有する２つのピクセルそれぞれの間の値の差（すなわち時間的バラツキ）が計算される。加えて、垂直動きの存在を識別するために、垂直方向において隣接する２つのフィールドのピクセル値の間の差が計算されえる。ＭＡＤＩシステムは、得られた時間バラツキ、垂直バラツキおよびオプションとしてビデオ信号中に存在するグローバルノイズに基づいてそれぞれのピクセルについて、ローカル動き値をそれから評価する。いったん評価されると、ローカル動き値は、ＭＡＤＩローカル動き量子化スレッショルドのセットによって示される多くのレベルに量子化され、これらスレッショルドはローカル動きの範囲群のセットを規定する。それからピクセルは、量子化されたローカル動き値に基づいて、利用可能な方法群のセットによってデインターレースされる。
【００１１】
グローバル適応デインターレーシングシステム
【００１２】
上述のＭＡＤＩシステムがデインターレーシングアーティファクトを低減するときも、シンチレーションおよびフェザリングアーティファクトは依然として最終的なデインターレースされたシーケンス中には存在する。ここで開示されるのは、ビデオシーケンス中に存在するグローバル動きの量に従って、ＭＡＤＩローカル動き量子化スレッショルドを適応的に調節することによって、シンチレーションおよびフェザリングアーティファクトを低減するグローバル適応デインターレーシング（global- adaptive deinterlacing）のシステムおよび方法である。グローバル動き「シナリオ群」のセットが、シーケンスを分類する目的で定義され、異なるグローバル動きシナリオをフィールド単位で検出するために多くのグローバル動きインジケータが用いられる。フィールドをデインターレースするとき、フィールドのグローバル動きシナリオに依存してローカル動きスレッショルドが動的に調節され、それによってシンチレーションアーティファクト（scintillation artifacts、遅い動き画像に一般に存在する）およびフェザリングアーティファクト（feathering artifacts、速い動き画像に一般に存在する）を最小化する。
【００１３】
グローバル動きインジケータ：ＲおよびＳ信号
【００１４】
ここでＲ信号およびＳ信号と呼ばれる２つの信号が、入力画像中に存在するグローバル動きの量についての初期インジケータとして用いられる。これら信号は、デインターレーサ（de-interlacer）システムのフィルムモード検出ブロックによって発生されてもよく、またはそれらは別個に計算さてもよい。ＲおよびＳ信号は、以下のように入力フィールド群の関数群として定義される。
【００１５】
c = curr_field
【００１６】
・インターレースされたビデオ信号中の現在のフィールド（偶数または奇数でありえる）の輝度値
【００１７】
p = prev_field
【００１８】
・インターレースされたビデオ信号中の前のフィールド（時間的に）（ｃが偶数ならｐは奇数であり、ｃが奇数ならｐは偶数である）の輝度値
【００１９】
ｐ-1＝ｐの前のフィールド
【００２０】
・ｐの前のフィールド（時間的に）の輝度値
【００２１】
R = c - p-1← R = sum(c - p-1).
【００２２】
・ピクセル単位の減算およびその結果のスカラR = sum(c - p-1)への変換
【００２３】
S = c - p← S = sum(c - p).
・ピクセル単位の減算およびその結果のスカラS = sum(c - p)への変換
【００２４】
インターレースされたビデオ信号が少ししかグローバル動きを含まないとき、ｃおよびｐは値が近く、それらの差は小さい。さらに、物体が奇数フィールドから偶数フィールドへ（または偶数フィールドから奇数フィールドへ）動くとき、空間シフトは、減算の結果において対応する増加をきたす。サンプルビデオシーケンスからの例示的画像が図１ａに示され、このシーケンスについてのＲおよびＳ信号は、図１ｂに示される。
【００２５】
ＲおよびＳ信号の補正
【００２６】
ＲおよびＳグローバル動きインジケータは、異なるビデオフィールド間で輝度減算を実行することによって得られるので、これら信号は、輝度レベルに依存する。例えば、もし固定された速度で移動する物体を含む特定のビデオシーケンスが、２つの異なる輝度レベル（すなわち２つの異なる明度レベル）で再生されるなら、それぞれの輝度レベルに対応するＲおよびＳ値の２つの得られたセットは、異なることになる。
【００２７】
図２ａ、ｂおよび３ａ、ｂは、ＲおよびＳ値の実際のサンプルを示し、どのようにこれらグローバル動き値が、画像中に含まれる最大輝度値について指数関数的に変化するかを示す３−Ｄおよび２−Ｄグラフである。図２ａは、輝度レベルおよびサンプルビデオシーケンス（「Ｒサンプル」）の関数としてＲ信号をプロットし、図２ｂは、輝度レベルの関数としてＲ信号を示す。図３ａは、輝度レベルおよびサンプルビデオシーケンス（「Ｓサンプル」）の関数としてＳ信号をプロットし、図３ｂは、輝度レベルの関数としてＳ信号を示す。これらグラフは、同じサンプルビデオシーケンスについて生成された。
【００２８】
入力ビデオフィールドにおける最大輝度レベルが変わるとき、ＲおよびＳ信号の大きさもf(Ymax)の係数で変わる（比例する）。したがってこれから、ＲおよびＳ信号を未補正信号SuncorrおよびRuncorrと呼ぶことにする。
【００２９】
Suncorr = S・f (Ymax)
Runcorr = R・f (Ymax)
【００３０】
ここでYmaxは、ビデオフィールド中の最大輝度値を表す。関数fは、図２ｂおよび３ｂに示されるもののような指数関数である。
【００３１】
輝度依存性の問題は、全て同じ固定されたローカル動きスレッショルド量子化設定を有する図４ａ、ｂ、ｃの例によって示されるようにデインターレーサのパフォーマンスに影響を与える。ローカル動きスレッショルドは、輝度レベルがデフォールト値の１００％に設定されるときに、動く物体がフェザリングアーティファクトを見せ始めるように調節された。図４ａは、輝度レベルがデフォールトの１００％に設定された場合の動く振り子を示す。この場合、動く振り子はフェザリングを見せ始めている。
【００３２】
図４ｂは、同じ速度で動くが輝度が１２０％に設定された場合の同じ動く振り子を示す。この場合、フェザリングアーティファクトは現れないが、これは、固定されたローカルスレッショルドよりも上であるより高いローカル動き値の結果、ＭＡＤＩシステムが垂直にフィルタリングされデインターレースされた画像を作ったからである。
【００３３】
対照的に、図４ｃは、同じ速度で動くが輝度が８０％に設定された場合の同じ動く振り子を示す。この場合、フェザリングアーティファクトは、明らかに画像上に現れるが、これは、固定されたローカルスレッショルドよりも下であるより低いローカル動き値の結果、ＭＡＤＩシステムがフィールドペアの（スタティックメッシュの）デインターレースされた画像を作ったからである。
【００３４】
輝度レベルへの依存性を除去するか、または少なくとも低減するために、以下のようにRuncorr and Suncorr値による乗算として逆関数g(Ymax ) = 1/f(Ymax )が定義される。
【００３５】
Scorr = 1/g(Ymax ) x Suncorr
Rcorr = 1/g(Ymax ) x Runcorr
【００３６】
ここで補正値ScorrおよびRcorrは、所望のＲおよびＳインジケータの許容可能な近似を表す。
【００３７】
例として、逆関数g(Ymax )は、２５６エントリ（８ビットシステムについて）の８．８固定小数点フォーマットのルックアップテーブル（例えばファームウェアまたはハードウェアで実現される）として定義されえる。図５ａ、ｂは、補正関数の例を示す。
【００３８】
これらの補正関数ＬＵＴにおいて、エントリは、そのフィールドで検出された最大輝度レベル（インデックス、index）に従って選択される。それからこのエントリは、値SuncorrおよびRuncorrによって乗算される。示される補正関数において、１２８（５０％）より低い輝度値に対応するエントリは、ゼロによる除算によって生じる過補正を防ぐためにクリッピングされる。２３５以上の輝度値（ITU-601標準）については、補正値は１にクリッピングされる。
【００３９】
与えられたフィールドについての値SuncorrおよびRuncorrのペアを補正するために、フィールドの最大輝度値が決定される。最大輝度値は、直接に計算されえ、またはデインターレースシステムによって簡単に入手可能でありえる。例えば、ＭＡＤＩチップは、現在のフィールドにおいて検出された最大輝度値を入手可能にするレジスタを有しえる。この値は、補正されたグローバル動きインジケータとして用いられるべき値ScorrおよびRcorrを得るために値SuncorrおよびRuncorrで乗算される補正係数を適切に選択するために、補正ルックアップテーブルへのインデックスとしてそれから用いられる。
【００４０】
図６ａ、ｂは、補正の前後における例示的Ｒ信号を示す３−Ｄグラフである。図６ａは、ビデオシーケンスから生成された、輝度値および動き速度の関数として未補正Ｒ信号を示すグラフである。輝度値を低減することは、Runcorr信号を低減することになり、一方、動きインジケータとしては、Runcorr信号を輝度値とは独立にすることが望ましいことに注意されたい。したがって、図６ｂに示されるように、信号は補正され（約５０〜１００％の輝度レベル範囲について）、観測された輝度値への依存性を補償する。
【００４１】
これは、グローバル動きの大きさ値の低減を避け、よって信頼性の高い（ほとんど一定の）値ScorrおよびRcorrのペアを発生する（輝度レベル５０〜１００％の範囲について）。それによって、暗いシーンにおけるデインターレーサの高いパフォーマンスを保持することによって、デインターレーサのロバストさを改善する。
【００４２】
動きシナリオ
【００４３】
グローバル動きのレベルおよび垂直動きパターンの存在によってフィールドを分類するために、動きシナリオが定義される。以下のシナリオが用いられる。
【００４４】
低動きシナリオ：  静止画または非常に低いグローバル動きの画像を表す。
中動きシナリオ：  中程度のグローバル動きの画像を表す。
高動きシナリオ：  高いグローバル動きの画像を表す。
垂直動きシナリオ：  垂直グローバル動きパターンを持つ画像を表す。
【００４５】
シーケンス中で画像が与えられると、RcorrおよびScorr信号に基づいてシナリオが決定される。このシナリオは、画像中のグローバル動きの量および／または垂直動きの存在に従ったローカル動きスレッショルドに対する適切な調節を示す。例として以下の定義がうまく働くことがわかった。すなわち、スレッショルド値Tlow = 3（３２ビットワードの上位１６ビット）より低いScorrおよびRcorrの値は、低いグローバル動きシナリオを示し、スレッショルド値Tlow = 3およびThigh=4800の間のScorrおよびRcorrの値は、中間グローバル動きシナリオを示し、Thigh=4800より高いScorrおよびRcorrの値は、高いグローバル動きシナリオを示す。図７は、グローバル動きシナリオを示す３つの恣意的な領域と共に、サンプルビデオシーケンスについてのScorr信号のグラフを示す。図８のテーブルは、さまざまな考慮されるグローバル動きシナリオおよびその組み合わせを要約する。現在のところシェーディングが付けられていないロウだけが考慮されている。
【００４６】
動き適応デインターレーサの量子化スレッショルド値の調節
【００４７】
一般に、与えられたフィールド中の特定のピクセルのローカル動き値は、現在、前、さらに前（previous-1）のフィールド中に含まれる特定のピクセル（およびその近接するもの）に基づいて、ピクセルの輝度および／または色の関数を計算することによって決定される。
【００４８】
コストおよび計算のオーバヘッドの理由で、分析されたピクセルについての得られたローカル動き値は、量子化され、よってその解像度を減らされる。もし量子化器中のスレッショルドが調節可能であるなら、ローカル動きコードの分布がそれに従って調節されえる。したがって、量子化器スレッショルド値を調節することは、量子化器の感度を実質的に再配分させることである。もし量子化器スレッショルドが比較的低い値に設定されるなら、動き適応デインターレーサは、ほとんどのピクセルをそれらが高いローカル動きを有するかのように扱うことになる。その結果、低速で動く物体は、シンチレーションアーティファクトを示すことになる。一方、もし量子化器のスレッショルドが比較的高い値に設定されるなら、動き適応デインターレーサは、ほとんどのピクセルをそれらが低いローカル動きを有するかのように扱うことになる。その結果、高速で動く物体は、フェザリングアーティファクトを示すことになる。
【００４９】
上述のように、本発明は、グローバル動きの量に従ってローカル動き量子化スレッショルドを調節する。例として、ローカル動き値は、８ビットの数によってもともと表されえ、その後、２ビット量子化器によって以下のように３つのローカル動き量子化スレッショルドMADI_QUANT_THRESH0、MADI_QUANT_THRESH1、MADI_QUANT_THRESH2のセットによって示される４レベルに量子化されえる。
【００５０】
Local motion level 0:  local motion < MADI_QUANT_THRESH0
【００５１】
Local motion level 1:  MADI_QUANT_THRESH0 ≦ local motion < MADI_QUANT_THRESH1
【００５２】
Local motion level 2:  MADI_QUANT_THRESH1 ≦ local motion < MADI_QUANT_THRESH2
【００５３】
Local motion level 2:  MADI_QUANT_THRESH2 ≦ local motion
【００５４】
よってこの例では、あるピクセルについて得られた量子化されたローカル動き値は、４つの利用可能なデインターレーシング方法のうちのどれがそのピクセルをデインターレースするために用いられるかを示す。
【００５５】
フェザリングアーティファクトは、動く物体のピクセルおよびラインが、「フィールドペアリング（fields pairing）」技術の使用によって誤ってデインターレースされるときに起こる。この効果は、水平ラインとして見える動く物体のピクセルのミスアライメントである。この問題は、ローカル動きスレッショルドの値を低めることによって改善されえる。シンチレーションアーティファクトは、静止する物体のピクセルおよびラインが、「空間処理（spatial processing）」（垂直フィルタリング）技術の使用によって誤ってデインターレースされるときに起こる。この効果は、静止する物体ピクセル上のフリッカリングアーティファクトである。この問題は、ローカル動きスレッショルドの値を上げることによって改善されえる。
【００５６】
スレッショルドは、「デフォールト」値のセットから始まる。例として、おおまかにはデフォールト値のMADI_QUANT_THRESH0 = 6、MADI_QUANT_THRESH1 = 8およびMADI_QUANT_THRESH2 = 15がうまく働くとわかった。入力するフィールドをデインターレースするために、上述のようにまずそのフィールドについてのグローバル動きシナリオが特定される。もしそのフィールドが中間動きシナリオを示すなら、デフォールトスレッショルドがそのまま置かれ（またはそれに戻され）、量子化器によって用いられて、そのフィールド中のそのピクセルについてのローカル動き値を決定し、それに従いデインターレース方法を選ぶ。
【００５７】
しかし、もしそのフィールドが低い動き動きシナリオからなるなら、シンチレーションアーティファクトが起こる可能性が高まる。これらのアーティファクトが存在しないようにするため、量子化器中のローカル動き領域は、ローカル動きスレッショルドを上げることによってそれに従い再配分される。例として、おおまかにはMADI_QUANT_THRESH0 = 13、MADI_QUANT_THRESH1 = 14およびMADI_QUANT_THRESH2 = 15に調節するとうまく働くこととわかった。
【００５８】
一方、もしフィールドが高い動きシナリオからなるなら、スレッショルドはそれに従って低くされる。例として、おおまかにMADI_QUANT_THRESH0 = 4、MADI_QUANT_THRESH1 = 5およびMADI_QUANT_THRESH2 = 15に調節するとうまく働くとわかった。その結果、グローバル動きの存在は、シンチレーションおよびフェザリングのようなアーティファクトを低減するためにデインターレーサによって用いられるローカル動き領域に適切に影響する。
【００５９】
垂直動きパターン検出
【００６０】
垂直動きは、中間動きシナリオのあいだにアーティファクトを起こしえる。垂直グローバル動きは、多くのやり方で検出される。あるアプローチは、図９のグラフに示されるようにScorr信号を利用する。バッファは、現在の値および前の値のScorrの間の連続する漸化差分dScorrを計算するために定義される。すなわちdScorr = (current Scorr) - (previous Scorr)である。入ってくるサンプルdScorrは、図９に示されるようにゼロクロスの個数をカウントすることによってオンザフライで分析される。もしある特定の期間についてのゼロクロスのカウントが特定のスレッショルド（例えば１０）を越えるなら、これは周期的パターンが検出されたことの現れ（これはしばしば垂直動きによって示される）である。そのような検出に続いて、特定のシナリオ（例えば垂直パターンおよび中間のグローバル動き）を検出するためにScorrの大きさが分析され、それによって表示される画像における改善を行うローカル動き量子化器における調節を実行する。
【００６１】
垂直動き検出の他のアプローチは、４ステージのプロセスによって垂直グローバル動きを検出する垂直動き検出器要素を利用する。初めに、個別のピクセルの垂直動きが検出される。これらの動き値は、入力フィールドを分割するタイル群の垂直動きを決定するために用いられる。最後に、これらタイル群の動き値は、そのフィールド全体が垂直動きにあると判断されるかどうかを決定するために用いられる。上の図１１ａは、現在の入力フィールドが奇数パリティであるときのタップ構造を示す。３つの連続する入力ビデオフィールドからのタップが考慮される。タップＡおよびＣは、現在の入力フィールドからであり、Ｂ、Ｄ、およびＥは、現在のフィールドの反対のパリティの前のフィールドからであり、Ｃ’は現在のフィールドと同じパリティの前のフィールドからである。図１１ｂは、現在のフィールドが偶数パリティであるときの等価タップ構造を示す。それぞれのタップはそれ自身が、フィールドのライン中のいくつかのピクセルにわたって水平にフィルタリングされる。
【００６２】
ピクセル垂直動きは、現在のフィールド中の最もトップの、および最もボトムのピクセルを反対のパリティの前のフィールド中のピクセルと比較することによって計算される。例えば、奇数の現在のフィールドについて、もしタップＣがタップＥおよび／またはタップＢのいずれかと高い相関を示すなら、そのピクセルは、下向きの動きを有すると言える。動きエイリアシングを防ぐために、下向きの動きの検出は、同じパリティの前のフィールド中の対応する位置のピクセルが現在のフィールド中のタップとは相関がないことを前提にしている（例えばＣおよびＣ’は無相関でなければならない）。相関は、簡単な絶対値の差によって、またはより詳細な相関関数を介してのいずれかで計測されえる。垂直動き中のピクセルは、それからそれらの動きの向きに基づいてタイルカウンタを増すか減るかのいずれかにさせる。
【００６３】
現在のフィールド中のタップは、四角形のタイルに空間的に分割される。それぞれのタイルは、カウンタと関連付けられ、これは、上述のように計算されたピクセル動きに従ってインクリメントまたはデクリメントする。タイルカウンタは、タイル内のピクセルの全体の動きの計測を提供する。すなわち、もしタイルカウンタが正であるなら、そのピクセルは平均して上に動いており、もし負なら、下向きである。カウンタ値は、ノイズ耐性を提供するためにスレッショルドと比較される。もしスレッショルドが超えられるなら、そのタイルは、垂直動きにあると判断される。フィールド垂直動きカウンタは、タイル動きの向きに基づいてインクリメントまたはデクリメントされる。
【００６４】
次に、フィールド全体が垂直動きを有するかを決定するために、フィールド動きカウンタが他のスレッショルドと比較される。このスレッショルドは、パリティのような入力フィールドの属性に基づいて適応的である。これは、フィールドが垂直動きにあるか、およびもしそうなら動きの向きが上または下であるかを示す２ビット出力信号を作る。
【００６５】
最後に、垂直動きの履歴がいくつかのフィールドにわたって保持される。もしこの垂直動きがいくつかのフィールドにわたって一貫してかつ同じ向きであるなら、垂直動きがほんとうに存在することの信頼性が高くなる。この場合、最終的な１ビット出力信号は、入力シーケンスが垂直動きを含むことを示す。この出力信号は、検出された垂直動き中にノイズが急速な連続変化を生まないようにするためにヒステリシスを用いる。
【００６６】
図１２は、本発明の実施形態によるグローバル適応デインターレーシングのための方法を示すフロー図を示す。ステップ１２０２において、もし入力ポートまたはビデオが変えられるなら、標準（デフォールト）ＭＡＤＩ位置動きスレッショルド値がステップ１２０３においてフェッチされ、それらがステップ１２０４においてＭＡＤＩ位置動き量子化器にロードされ、ステップ１２０５においてコントラストツールパラメータをセットアップし、ステップ１２０６に進む。そうでなければ、ステップ１２０６に直接に進む。ステップ１２０６において、もしGL_MADI_EN=0なら（すなわちもしグローバル適応システムがイネーブルされないなら）、適応アルゴリズムを適用しない。そうでなければ（すなわちもしグローバル適応システムがイネーブルされるなら）、コントラスト分布を得て、補正係数をステップ１２０７において決定する。ステップ１２０８においてＲおよびＳ信号をリードし、ステップ１２０９においてＲおよびＳ信号を補正し、ステップ１２１０においてグローバル動きシナリオを決定し、ステップ１２１１において垂直動きの存在を決定する。ステップ１２１２において、グローバル動きシナリオおよび垂直動きの存在に従ってＭＡＤＩローカル動きスレッショルドを調節し、ステップ１２１３に進むことによってプロセスを完了する。
【００６７】
時間ノイズリダクション
【００６８】
代替として、デインターレーサは、柔軟性を増すために別個のローカル動き値量子化器を有する時間ノイズリダクション（ＴＮＲ）要素を備えうる。そのような実施形態において、初期ノイズ計測は、デインターレーサのサブシステムから得られえて、ここでそのようなサブシステムは、信頼性の高いノイズ計測を行うために、ノイズメータを備え、代替としてはなんらかのディジタルフィルタリングを備えうる。このノイズ計測は、グローバル動きインジケータScorrおよびRcorrとそれから結合されえて、計測されたノイズおよびグローバル動きに従って、自動的にノイズリダクションの量およびローカル動きスレッショルドの両方を調節しえる。グローバル動き値を用いることの目的は、ノイズリダクションの量が高速に動く物体中で比較的高いときに起こる、動く物体上の「ゴースト（ghosting）」アーティファクト（ブレ、blurring）を避けることである。ノイズ計測を用いる目的は、画像中に存在するノイズに従ってノイズリダクションの量を調節することである。
【００６９】
クロスカラーサプレッション
【００７０】
代替として、デインターレーサは、柔軟性を増すために別個のローカル動き値量子化器を有するクロスカラーサプレッション（ＣＣＳ）要素を備えうる。そのような実施形態においては、量子化器スレッショルドは、動きを伴うビデオシーケンス中の色のブレ（blurring）およびゴーストアーティファクトを減らすために、グローバル動きインジケータScorrおよびRcorrに基づいて調節されえる。
【００７１】
図１０は、本発明のある実施形態によるグローバル適応デインターレーシングの方法を示すフロー図を示す。ステップ２０２において、ビデオの入力ポートが変化されているなら、ステップ２０３において標準（デフォールト）ＭＡＤＩ位置動きスレッショルド値をフェッチし、ステップ２０４においてそれらをＭＡＤＩローカル動き量子化器にロードし、ステップ２０５において、ＭｉｎＭａｘツールパラメータ（このツールは、現在のフィールド中の最大輝度値を提供する）をセットアップし、ステップ２０６に進む。そうでなければ、直接にステップ２０６に進む。ステップ２０６において、もしGL_MADI_EN=0なら（すなわち、もしグローバル適応システムがイネーブルされないなら）、ステップ２１７に進む（すなわち適応アルゴリズムを適用しない）。そうでなければ（すなわち、もしグローバル適応システムがイネーブルされるなら）、ステップ２０７において現在のフィールドについての最大輝度値を得る。ステップ２０８において、もし最大輝度値が５０％未満である（すなわちグローバル動き補正が適用されえない）なら、標準ＭＡＤＩローカル動きスレッショルドをローカル動き量子化器にステップ２０９においてロードし、ステップ２１７に進み、これでプロセスが完了する。そうでなければ（すなわちグローバル動き補正が適用されえるなら）、ステップ２１１においてＲおよびＳ信号をリードし、ステップ２１２においてＲおよびＳ信号を補正し、ステップ２１３においてグローバル動きシナリオを決定し、ステップ２１４において垂直動きの存在を決定する。ステップ２１５において、ＭＡＤＩローカル動きスレッショルドをグローバル動きシナリオおよび垂直動きの存在に従って決定し、ステップ２１７に進むことによってプロセスを完了する。
【００７２】
本発明の前述の実施形態は、図示および記載として提供される。本発明を記載された正確な形態に限定するよう意図されない。ハードウェアまたはソフトウェアで記載された実施形態を実現することのように、上述の教示に照らせば他の改変物および実施形態も可能である。
【図面の簡単な説明】
【００７３】
【図１ａ】サンプルビデオシーケンスからの例示的画像（動く振り子）を示す図である。
【図１ｂ】サンプルビデオシーケンスからの例示的画像（動く振り子）に関連付けられるグローバル動きＲおよびＳ信号を示す図である。
【図２ａ】サンプルビデオシーケンスから得られた輝度レベルの関数としてのＲグローバル動き信号を示す３−Ｄグラフである。
【図２ｂ】輝度レベルの関数としての正規化されたＲグローバル動き信号を示す２−Ｄグラフである。
【図３ａ】サンプルビデオシーケンスから得られた輝度レベルの関数としてのＳグローバル動き信号を示す３−Ｄグラフである。
【図３ｂ】輝度レベルの関数としての正規化されたＳグローバル動き信号を示す２−Ｄグラフである。
【図４ａ】わずかに減少された輝度レベルを持ち、フェザリングアーティファクトが現れ始める動く振り子を示す図である。
【図４ｂ】輝度レベルが１００％に設定され、システムはチューニングされた状態であり、画像はフェザリングアーティファクトなしに表示される、同じ動く振り子を示す図である。
【図４ｃ】動く振り子が大きなフェザリングアーティファクトを示す程度にまで減少された輝度レベルを持つ、同じ動く振り子を示す図である。
【図５ａ】Ｒグローバル動き信号補正関数の例を示す図である。
【図５ｂ】Ｓグローバル動き信号補正関数の例を示す図である。
【図６ａ】サンプルビデオシーケンスから発生された、輝度レベルおよび動き速度の関数としてのＲグローバル動き信号（補正なし）を示すグラフである（Ｓ信号も同様に振る舞う）。
【図６ｂ】観測される輝度値への依存性について補正された、補正されたRcorrグローバル動き信号を示すグラフである（Scorrも同様に補正される）。
【図７】３つのグローバル動きシナリオを示す３つの領域と共に、サンプルビデオシーケンスについてのScorrグローバル動き信号のグラフである（これら同じ３つの領域はRcorr信号についても定義され、これら領域は、グローバル動きスレッショルドＴｌｏｗおよびＴｈｉｇｈを定義することによって決定される）。
【図８】さまざまな考慮されるグローバル動きシナリオおよびそれらの組み合わせをサマライズするテーブルである。
【図９】ScorrおよびdScorr信号の２つのグラフ、およびのゼロクロスの数のカウントを示す図である（dScorr差分信号は画像中の垂直動きパターンの存在を決定するのに用いられる）。
【図１０】グローバル適応デインターレーシングの方法を示すフロー図（高レベル）である。
【図１１ａ】現在の入力フィールドが奇数パリティであるときのタップ構造を示す（３つの連続する入力ビデオフィールドからのタップが考慮される）。
【図１１ｂ】現在の入力フィールドが偶数パリティであるときの等価タップ構造を示す（それぞれのタップはフィールドのライン中のいくつかのピクセルにわたってそれ自身が水平にフィルタリングされる）。
【図１２】本発明のある実施形態によるグローバル適応デインターレーシングの方法を示すフロー図である。
【図１ａ】
2006238440.tif 000003
【図１ｂ】
2006238440.tif 000004
【図２ａ】
2006238440.tif 000005
【図２ｂ】
2006238440.tif 000006
【図３ａ】
2006238440.tif 000007
【図３ｂ】
2006238440.tif 000008
【図４ａ】
2006238440.tif 000009
【図４ｂ】
2006238440.tif 000010
【図４ｃ】
2006238440.tif 000011
【図５ａ】
2006238440.tif 000012
【図５ｂ】
2006238440.tif 000013
【図６ａ】
2006238440.tif 000014
【図６ｂ】
2006238440.tif 000015
【図７】
2006238440.tif 000016
【図８】
2006238440.tif 000017
【図９】
2006238440.tif 000018
【図１０】
2006238440.tif 000019
【図１１ａ】
2006238440.tif 000020
【図１１ｂ】
2006238440.tif 000021
【図１２】
2006238440.tif 000022
【外国語明細書】
1. TITLE OF THE INVENTION
GLOBAL MOTION ADAPTIVE SYSTEM WITH MOTION VALUES CORRECTION WITH RESPECT TO LUMINANCE LEVEL
2. DETAILED DESCRIPTION OF THE INVENTION
FIELD OF INVENTION
[001]The invention pertains in general to motion adaptive deinterlacing, and in particular to systems and methods for adaptively adjusting local motion thresholds according to global motion indicators in order to reduce scintillation and feathering artifacts.
BACKGROUND
[002]Interlaced video signals comprise two video fields, one for the odd lines and one for the even lines of an image.  This is due to the image capture process, wherein the camera outputs the odd lines at one instant in time and the even lines slightly later.  This creates a temporal shift between the odd and even lines of the image, which needs to be addressed in frame based processing systems.  A deinterlacing process generally attempts to overcome this problem by assembling a clean frame from the two fields.
[003]Since the temporal shift between the two fields introduce feathering and scintillation artifacts, motion adaptive deinterlacing (MADI) techniques have been proposed in order to reduce such artifacts.  Some MADI techniques use local motion threshold values that can be adjusted manually in order to improve the performance of the de-interlacer on a specific problematic video sequence, albeit possibly at the cost of sacrificing the performance (and re-introducing de-interlacing artifacts) in other video sequences.
[004]Therefore, instead of manually adjusting the MADI thresholds in order to "Pass" a specific video sequence, it is desirable to develop a new adaptive system that adjusts the local MADI thresholds automatically and adaptively.
SUMMARY OF THE INVENTION
[005]Disclosed are global-adaptive deinterlacing systems and methods for reducing scintillation and feathering artifacts.  MADI local motion quantization thresholds are adaptively adjusted according to the amount of global motion present in the video sequence, thereby minimizing scintillation artifacts (generally present in low motion images) and feathering artifacts (generally present in high motion images) when deinterlacing the fields.  A set of global motion "scenarios" are defined for the purpose of classifying fields, and a number of global motion indicators are used to detect on a field-by-field basis different global motion scenarios.  The global motion indicators are corrected to reduce Luma dependencies, thereby improving reliability and robustness.  Depending on the global motion scenario of a field, the local motion thresholds are adaptively adjusted.  The adaptive adjustment of quantization thresholds are optionally also applied to temporal noise reduction and cross-color suppression sub-systems.
[006]The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements. 
DETAILED DESCRIPTION OF THE INVENTION
[007]Reference will now be made in detail to a particular embodiment of the invention, examples of which are illustrated in the accompanying drawings.  While the invention will be described in conjunction with the particular embodiments, it will be understood that it is not intended to limit the invention to the described embodiments.  To the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.
Motion Adaptive Deinterlacing and Local Motion Quantization Thresholds
[008]An interlaced video signal comprises odd fields (lines 1, 3, 5, ...) and even fields (lines 2, 4, 6, ...).  A deinterlacing video processing system produces a progressive video output signal from an interlaced video input signal for viewing on a progressive display device.  Instead of performing simple fields merging (i.e. static mesh) to deinterlace the input video, a combination of vertical interpolation and temporal interpolation is performed in order to obtain a high quality deinterlaced image frame which has a minimum of flickering artifacts in the static areas and a minimum of feathering artifacts in the moving areas.  In order to better achieve this goal, local motion (such as on a pixel-by-pixel basis) in the input sequence can be estimated in order to separately process the static and the moving portions of the image depending upon the presence and level of local motion in the vicinity of each pixel.  This is referred to as motion adaptive deinterlacing (MADI), and two main tasks of such a MADI system are:
1. Motion detection, comprising detecting the level of local motion for each pixel and/or its neighborhood; and
2. Deinterlacing, thereby producing a progressive frame.
[009]In order to detect the presence of local motion in the input video sequence, two fields of the same polarity (i.e. even and even, or odd and odd) are used by the MADI system in order to compute the value differences (i.e. temporal variation) between each two pixels having the same coordinates in the two fields.  In addition, differences between pixel values of two adjacent fields in the vertical direction may be computed in order to recognize the presence of vertical motion.  The MADI system then estimates local motion values for each pixel based on the obtained temporal variation, vertical variation and optionally global noise present in the video signal.  Once estimated, the local motion values are quantized into a number of levels as indicated by a set of MADI local motion quantization thresholds, which define a set of local motion ranges.  The pixels are then deinterlaced by a set of available methods according to the quantized local motion values.
Global-Adaptive Deinterlacing System
[0010]While a MADI system as described above does reduce deinterlacing artifacts, scintillation and feathering artifacts are still present in the final deinterlaced sequence.  Disclosed herein are global-adaptive deinterlacing systems and methods for reduce scintillation and feathering artifacts by adaptively adjusting the MADI local motion quantization thresholds according to the amount of global motion present in the video sequence.  A set of global motion "scenarios" are defined for the purpose of classifying sequences, and a number of global motion indicators are used to detect on a field-by-field basis different global motion scenarios.  Depending on the global motion scenario of a field, the local motion thresholds are dynamically adjusted, thereby minimizing scintillation artifacts (generally present in low motion images) and feathering artifacts (generally present in high motion images) when deinterlacing the field.
Global Motion Indicators: R and S Signals
[0011]Two signals, hereinafter referred to as R and S signals, are used as initial indicators of the amount of global motion present in the input image.  These signals may be generated by a Film Mode detection block of the de-interlacer system, or they may be separately computed.  The R and S signals are defined as functions of the incoming fields as follows:
c = curr_field                                           - Luma values of the current field in the interlaced videosignal (can be even or odd)
p = prev_field                                           - Luma values of the previous field (in time) in the interlaced video signal (when c is even p is odd, and vice versa).
p-1 =  field previous to p                    - Luma values of the field previous to p (in time).
R = c - p-1← R = sum(c - p-1).    - Pixel-to-pixel subtraction and conversion of result to a scalar R = sum(c - p-1).
S = c - p← S = sum(c - p).                              - Pixel-to-pixel subtraction and conversion of result to a scalar S = sum(c - p).
[0012]Note that when the interlaced video signal comprises little global motion, c and p are close in value and their difference is small.  Furthermore, when an object moves from an odd field to an even field (or vice versa), the spatial shift causes a corresponding increase in the result of the subtractions.  An example image from a sample video sequence is shown in Figure 1a, and the R and S signals for the sequence are shown in Figure 1b.
Correcting the R and S Signals
[0013]Since the R and S global motion indicators are obtained by performing Luma subtractions between different video fields, the signals are dependent on the Luma levels.  For example, if a specific video sequence comprising objects moving at a fixed speed is played with two different Luma levels (i.e. two different brightness levels), the two obtained sets of R and S values corresponding to each Luma level will be different.
[0014]Figures 2a,b and 3a,b are 3-D and 2-D graphs showing actual samples of R and S values and illustrating how these global motion values vary exponentially with respect to the maximum Luma value contained in the image.  Figure 2a plots the R signal as a function of Luma level and a sample video sequence ("R sample"), and Figure 2b shows the R signal as a function of Luma level.  Figure 3a plots the S signal as a function of Luma level and a sample video sequence ("S sample"), and Figure 3b shows the S signal as a function of Luma level.  The graphs were generated with the same sample video sequence.
[0015]When the maximum Luma levels in the incoming video fields vary, the magnitude of the R and S signals are altered (scaled) by a factor f(Ymax). Therefore, from this moment we will refer to the R and S signals as the uncorrected Suncorr and Runcorr signals.
Suncorr = S・f (Ymax)
Runcorr = R・f (Ymax)
[0016]where Ymax represents the maximum Luma value in the video field. The function f is an exponential function as the ones shown in figures 2b and 3b. 
[0017]The Luma dependency problem affects the performance of the deinterlacer as illustrated by the examples of Figures 4a,b,c all having the same fixed local motion threshold quantizer settings. The local motion thresholds were adjusted in such a way that the moving object starts showing feathering artifacts when the Luma level is set to the default value of 100%.  Figure 4a shows a moving pendulum with the Luma level set to the default 100%. In this case the moving pendulum starts to show feathering.
Figure 4b shows a the same moving pendulum moving at the same speed but with the Luma set to 120%. In this case the feathering artifacts do not appear because the MADI system produced a vertically-filtered de-interlaced image as a result of the higher local motion values being above the fixed local thresholds.
In contrast, Figure 4c shows the same moving pendulum moving at the same speed but with the Luma set to 80%. In this case the feathering artifacts clearly appear on the image because the MADI system produced a filed-paired (static-mesh) de-interlaced image as a result of the lower local motion values being below the fixed local thresholds.
[0018]In order to remove or at least reduce the dependency on the Luma level, an inverse function g(Ymax ) = 1/f(Ymax ) is defined for multiplication by the Runcorr and Suncorr values as follows:
Scorr = (1/g(Ymax )) x Suncorr
Rcorr = (1/g(Ymax )) x Runcorr
[0019]Where the Scorr and Rcorr corrected values represent acceptable approximations of the desired R and S indicators.
[0020]By way of example, the inverse function g(Ymax ) may be defined as a 256-entry (for an 8-bit system) 8.8 Fixed-Point format look-up table (for example implemented in firmware or hardware). Figures 5a,b show examples of correction functions.
In these correction functions LUT, an entry is selected according to the maximum Luma level (index) detected in the field. Then the entry is multiplied by the Suncorr and Runcorr values.  In the shown correction functions the entries corresponding to Luma values lower than 128 (50%) are clipped in order to avoid over-correction caused by a division by zero.  For Luma values equal or higher than 235 (ITU???-601 standard) the correction value is clipped to 1.  
[0021]In order to correct the pairs of Suncorr and Runcorr values for a given field, the maximum Luma level of the field is determined.  The maximum Luma value can be directly computed, or may simply be available from the deinterlacing system.  For example, a MADI chip may have a register making available the maximum Luma value detected in the current field.  This value is then used as an index to a correction look-up table in order to properly select a correction factor which will be multiplied with the Suncorr and Runcorr values to obtain the Scorr and Rcorr values that will be used as the corrected global motion indicators.
[0022]Figures 6a,b are 3-D graphs showing an example R signal before and after correction.  Figure 6a is a graph illustrating an uncorrected R signal as a function Luma value and motion speed, generated from a video sequence.  Note that reducing the Luma value in turn reduces the Runcorr signal, while as a motion indicator it is desirable to have the Runcorr signal be independent of the Luma value.  Accordingly, as shown in Figure 6b, the signal is corrected (for the Luma level range of about 50-100%), compensating for the observed dependence on the Luma value.
This avoids the reduction of the global motion magnitude values and hence generates a reliable (nearly-constant) pair of Scorr and Rcorr values (for the range of Luma levels 50~100%). Thereby improving de-interlacer robustness by retaining the high performance of the deinterlacer in dark scenes.
Motion Scenarios
[0023]A set of motion scenarios is defined in order to classify fields depending on the level of global motion and presence of vertical motion pattern.  The following scenarios are used:
Low motion scenario:           Indicating still images or very low global motion images.
Medium motion scenario:        Indicating medium global motion images.
High motion scenario:          Indicating high global motion images.
Vertical motion scenario:      Indicating images with vertical global motion pattern.
[0024]Given an image in a sequence, a scenario is determined based on the Rcorr and Scorr signals.  The scenario indicates appropriate adjustments to the local motion thresholds according to the amount of global motion and/or the presence of vertical motion in the image.  By way of example, the following definitions have been found to work well:
Scorr and Rcorr values below the threshold value of Tlow = 3 (higher 16 bits of a 32-bit word) indicating a low global motion scenario, Scorr and Rcorr values between the Tlow=3 and Thigh=4800 indicating a medium global motion scenario, and Scorr and Rcorr values above Thigh=4800 indicating a high global motion scenario.  Figure 7 shows a graph of the Scorr signal for a sample video sequence together with three arbitrary regions indicating the global motion scenarios.  The table of Figure 8 summarizes various considered global motion scenarios and their combinations. Currently, only the non-shaded rows are being considered. 
Adjusting Quantizer Threshold Values of a Motion Adaptive De-interlacer
[0025]Generally, the local motion value of a specific pixel in a given field are determined by computing a function of pixel Luma and/or Chroma,
involving the specific pixel (and its neighbors) contained in the current, previous and previous-1 fields. 
Because of cost and computational overhead reasons, the obtained local motion value for the analyzed pixel is quantized hence reducing its resolution.  
If the thresholds in the quantizer are adjustable, then the distribution of local motion codes can be adjusted accordingly. 
Therefore, adjusting the quantizer threshold values essentially redistributes the sensitivity of the quantizer. If the quantizer thresholds are set to a relatively low value, then the Motion Adaptive De-interlacer will treat most of the pixels as if they had high local motion. Consequently, slow moving objects will exhibit scintillation artifacts.
On the other hand, if the quantizer thresholds are set to a relatively high value, then the Motion Adaptive De-interlacer will treat most of the pixels as if they had low local motion. Consequently, fast moving objects will exhibit feathering artifacts.
[0026]As described above, the present invention adjusts the local motion quantization thresholds according to the amount of global motion.  As an example, the local motion values may be originally represented by 8-bit numbers and subsequently quantized by a 2-bit quantizer into four levels indicated by a set of three local motion quantization thresholds MADI_QUANT_THRESH0, MADI_QUANT_THRESH1 and MADI_QUANT_THRESH2, as follows:
[0027]Local motion level 0:    local motion < MADI_QUANT_THRESH0
[0028]Local motion level 1:    MADI_QUANT_THRESH0≦ local motion < MADI_QUANT_THRESH1
[0029]Local motion level 2:    MADI_QUANT_THRESH1≦ local motion < MADI_QUANT_THRESH2
[0030]Local motion level 2:    MADI_QUANT_THRESH2≦ local motion
[0031]Thus, in this example, a quantized local motion value obtained for a pixel indicates which one of four available deinterlacing methods will be used to deinterlace the pixel.
[0032]Feathering artifacts occur when the pixels and lines of a moving object are wrongly deinterlaced by the use of the "fields pairing" technique.  The effect is a mis-alignment of the moving object pixels visible as horizontal lines.  This problem can be improved by lowering the values of the local motion thresholds.  Scintillation artifacts occur when the pixels and lines of a static object are wrongly deinterlaced by the use of the "spatial processing" (vertical filtering) technique.  The effect is a flickering artifact on the static object pixels.  This problem can be improved by raising the values of the local motion thresholds.
[0033]The thresholds start out with a set of "default" values.  By way of example, default values of approximately MADI_QUANT_THRESH0 = 6, MADI_QUANT_THRESH1 = 8 and MADI_QUANT_THRESH2 = 15 have been found to work well.  In order to deinterlace an incoming field, first a global motion scenario is identified for the field as described above.  If the field exhibits a medium motion scenario, the default thresholds remain in place (or are reverted to) and used by the quantizer to determine local motion values for the pixels in the field and choose a deinterlacing method accordingly.  However, if the field comprises a low motion scenario, the probability of scintillation artifacts to occur gets increased. In order to prevent the presence of these artifacts, the local motion regions in the quantizer are re-distributed accordingly by raising the local motion thresholds. 
By way of example, an adjustment of approximately MADI_QUANT_THRESH0 = 13, MADI_QUANT_THRESH1 = 14 and MADI_QUANT_THRESH2 = 15 has been found to work well.
On the other hand, if the field comprises a high motion scenario, the thresholds are lowered accordingly.  By way of example, an adjustment of approximately MADI_QUANT_THRESH0 = 4, MADI_QUANT_THRESH1 = 5 and MADI_QUANT_THRESH2 = 15 has been found to work well.  As a result, presence of global motion appropriately affects the local motion regions used by the deinterlacer in order to reduce artifacts such as scintillation and feathering.
Vertical Motion Pattern Detection
[0034]Vertical motion may cause artifacts during a medium motion scenario.  Vertical global motion is detected in a number of ways.  One approach makes use of the Scorr signal, as shown in the graph of Figure 9.  A buffer is defined for computing the ongoing incremental difference dScorr between the current value and the previous values of Scorr, namely: dScorr = (current Scorr) - (previous Scorr).  The incoming samples of dScorr are analyzed on the fly by counting the number of zero crossings, as shown in Figure 9.  If the zero crossings count for a specific period exceeds a specified threshold (e.g. 10), this is an indication that a periodical pattern was detected (which is often exhibited by vertical motion). Following such a detection, the magnitude of the Scorr analyzed in order to detect specific scenarios (e.g. vertical pattern and medium global motion), and therefore perform adjustments in the local motion quantizer that produce improvements in the displayed image.
[0035]Another approach to vertical motion detection utilizes a vertical motion detector element that detects vertical global motion by way of a four stage process. First, vertical motion of individual pixels is detected. These motion values are used to determine the vertical motion of tiles which divide the input field. Last, the motion values of the tiles in a field are used to determine whether that entire field is judged to be in vertical motion. Figure 11a above shows the tap structure when the current input field is ODD parity. Taps from three successive input video fields are considered. Taps A and C are from the current input field, B, D, and E are from the previous field of opposite parity to the current field, and C' is from the previous field of the same parity as the current field. Figure 11b shows the equivalent tap structure when the current field is EVEN parity. Each tap is itself horizontally filtered over several pixels in a line of the field.
[0036]The pixel vertical motion is calculated by comparing the top- and bottom-most pixel in the current field with the pixels in the previous field of opposite parity. For example, with an ODD current field, if tap C show high correlation to either tap E and/or tap B, the pixel is said to have downward motion. To prevent motion aliasing, detection of downward motion is predicated on the pixel in the corresponding location in the previous field of the same parity being uncorrelated with the tap in the current field (for example, C and C' must be uncorrelated). Correlation can be measured with either a simple absolute difference or via more elaborate correlation functions. Pixels in vertical motion then cause a tile counter to be either incremented or decremented based on their direction of motion.
[0037]The taps in the current field are divided spatially into rectangular tiles. With each tile is associated a counter, which increments of decrements according to the pixel motion calculated above. The tile counter provides a measure of the overall motion of pixels within the tiles: if the tile counter is positive, the pixels are, on average, moving upwards, and if negative, downwards. The counter value is compared with a threshold to provide noise immunity; if the threshold is exceeded, the tile is judged to be in vertical motion. A field vertical motion counter is incremented or decremented based on the direction of the tile motion.
[0038]Next, the field motion counter is compared with another threshold to determine if the entire field has vertical motion. This threshold is adaptive based on attributes of the input field, such as parity. This creates a two bit output signal which indicates if the field is in vertical motion, and if so, the direction of motion, up or down.
[0039]Finally, a history of the vertical motion is kept over several fields. If this vertical motion is consistent and in the same direction over several fields, a high degree of confidence that vertical motion is real exists. In this case a final one-bit output signal indicates that the input sequence contains vertical motion. This output signal uses hysteresis to prevent noise from causing quick successive changes in the detected vertical motion. 
[0040]Figure 12 shows a flow diagram illustrating a method for global adaptive deinterlacing, in accordance with an embodiment of the present invention.  At step 1202, if the input port or video is changed, fetch the standard (default) MADI location motion threshold values at step 1203, load them into the MADI local motion quantizer at step 1204, and setup the contrast tool parameters at step 1205, and proceed to step 1206.  Otherwise, proceed directly to step 1206.  At step 1206, if GL_MADI_EN=0 (i.e. if the global-adaptive system is not enabled) then do not apply the adaptive algorithm.  Else (i.e. if the global-adaptive system is enabled), get the contrast distribution and determine correction factor at step 1207.  At step 1208, read the R and S signals and correct the R and S signals at step 1209, determine the global motion scenario at step 1210 and determine presence of vertical motion at step 1211.  At step 1212, adjust the MADI local motion thresholds according to the global motion scenario and presence of vertical motion, and complete the process by proceeding to step 1213.
Temporal Noise Reduction
[0041]Optionally, the deinterlacer may comprise a temporal noise reduction (TNR) component, having a separate local motion values quantizer for increased flexibility.  In such an embodiment, an initial noise measurement may be obtained from a sub-system of the deinterlacer, wherein such a sub-system may comprise a noise meter and optionally some digital filtering to produce a reliable noise measurement.  This noise measurement may then be combined with the global motion indicators Scorr and Rcorr to automatically adjust both the amount of noise reduction and the local motion thresholds according to the measured noise and global motion. The objective of using the global motion values is to avoid "ghosting" artifacts (blurring) on moving objects that occur when the amount of noise reduction is relatively high in the high-motion objects. The objective of using the noise measurements is to adjust the amount of noise reduction according to the noise present in the image.
Cross Color Suppression
[0042]Optionally, the deinterlacer may comprise a cross color suppression (CCS) component, having a separate local motion values quantizer for increased flexibility.  In such an embodiment, the quantizer thresholds can be adjusted based on the global motion indicators Scorr and Rcorr in order to reduce blurring of colors and ghosting artifacts in video sequences involving motion.
[0043]Figure 10 shows a flow diagram illustrating a method for global adaptive deinterlacing, in accordance with an embodiment of the present invention.  At step 202, if the input port of video is changed, fetch the standard (default) MADI location motion threshold values at step 203, load them into the MADI local motion quantizer at step 204, and setup the MinMax tool parameters (this tool provides the maximum Luma value in the current field) at step 205, and proceed to step 206.  Otherwise, proceed directly to step 206.  At step 206, if GL_MADI_EN=0 (i.e. if the global-adaptive system is not enabled, go to step 217 (i.e. do not apply the adaptive algorithm).  Else (i.e. if the global-adaptive system is enabled), get the maximum Luma value for the current field at step 207.  At step 208, if the maximum Luma value is less than 50% (i.e. the global motion correction can not be applied), load the standard MADI local motion thresholds into the local motion quantizer at step 209, and proceed to step 217, which completes the process.  Otherwise (i.e. the global motion correction can be applied), read the R and S signals at step 211, correct the R and S signals at step 212, determine the global motion scenario at step 213 and determine presence of vertical motion at step 214.  At step 215, adjust the MADI local motion thresholds according to the global motion scenario and presence of vertical motion, and complete the process by proceeding to step 217.
[0044]Foregoing described embodiments of the invention are provided as illustrations and descriptions.  They are not intended to limit the invention to precise form described.  Other variations and embodiments are possible in light of above teachings, such as implementing the described embodiments in hardware or software.
3. BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1a,b show an example image from a sample video sequence (moving pendulum) and its associated global motion R and S signals.
Figure 2a is a 3-D graph showing an R global motion signal as a function of Luma level obtained from a sample video sequence.
Figure 2b is a 2-D graph showing a normalized R global motion signal as a function of Luma level.
Figure 3a is a 3-D graph showing an S global motion signal as a function of Luma level obtained from a sample video sequence.
Figure 3b is a 2-D graph showing a normalized S global motion signal as a function of Luma level.
Figure 4a shows a moving pendulum with the Luma level slightly decreased causing feathering artifacts to start to appear.
Figure 4b shows the same moving pendulum with Luma level set to 100%. In this case the system is tuned and the image is displayed without feathering artifacts.
Figure 4c shows the same moving pendulum with Luma level decreased to the point in which the moving pendulum shows a high degree of feathering artifacts.
Figures 5a,b illustrate examples of R and S global motion signals correction functions.
Figure 6a is a graph showing an R global motion signal (not corrected) as a function Luma level and motion speed, generated from a sample video sequence. The S signal behaves similarly.  
Figure 6b is a graph showing a corrected Rcorr global motion signal, compensated for the observed dependence on the Luma value. The Scorr is corrected similarly.
Figure 7 is a graph of the Scorr global motion signal for a sample video sequence together with the three regions indicating three global motion scenarios. These same three regions are defined for the Rcorr signal as well. The regions are determined by defining the global motion thresholds Tlow and Thigh.
Figure 8 is a table summarizing various considered global motion scenarios and their combinations.
Figure 9 shows two graphs of the Scorr and dScorr signals and indicates a count of the number of zero crossings of dScorr. The dScorr difference signal is used to determine the presence of vertical motion pattern in the image.
Figure 10 is a flow chart (high-level) illustrating a method for global adaptive de-interlacing.
Figure 11a above shows the tap structure when the current input field is ODD parity. Taps from three successive input video fields are considered.
Figure 11b shows the equivalent tap structure when the current field is EVEN parity. Each tap is itself horizontally filtered over several pixels in a line of the field.
Figure 12 shows a flow diagram illustrating a method for global adaptive deinterlacing, in accordance with an embodiment of the present invention.
1. A global adaptive deinterlacing method for reducing feathering and scintillation artifacts, comprising:
determining a contrast distribution;
determining a correction factor;
reading an R and and S signal;
determining a global motion regions based upon the R and S signals; and
determining presence of vertical motion.
2. The method of Claim 1, wherein the determining an amount of global motion comprises generating and reading one or more provided global motion indicator signals.
3. The method of Claim 1, wherein the determining an amount of global motion comprises computing Luma differences between a current field and a previous field to obtain one or more global motion indicator signals.
4. The method of Claim 3, wherein the determining an amount of global motion further comprises obtaining the maximum Luma value for the current field which is used to fetch a correction factor that is multiplied by the uncorrected global motion values in order to perform correction of those global motion values.
5. The method of Claim 4, wherein the determining an amount of global motion further comprises using the maximum Luma value to correct the global motion indicator signals and thereby reduce Luma dependency.
6. The method of Claim 1, further comprising determining the presence of vertical motion pattern in the video sequence.
7. The method of Claim 1, further comprising adjusting one or more temporal noise reduction quantizer thresholds according to the amount of global motion.
8. The method of Claim 1, further comprising adjusting one or more cross color suppression local motion quantizer thresholds according to the amount of global motion.
9. A global adaptive deinterlacing system for reducing feathering and scintillation artifacts, comprising:
a controller for:
determining an amount of global motion present in a video sequence;
adjusting one or more local motion quantizer thresholds according to the amount of global motion;
10. The system of Claim 9, wherein the determining an amount of global motion comprises reading one or more provided global motion indicator signals.
11. The system of Claim 9, wherein the determining an amount of global motion comprises computing Luma differences between a current field and a previous field to obtain one or more global motion indicator signals.
12. The system of Claim 11, wherein the determining an amount of global motion further comprises obtaining the maximum Luma value for the current field.
13. The system of Claim 12, wherein the determining an amount of global motion further comprises using the maximum Luma value to correct the global motion indicator signals and thereby reduce Luma dependency.
14. The system of Claim 9, the controller further for:
determining the presence of vertical motion pattern in the video sequence.
15. The system of Claim 9, the controller further for:
adjusting one or more temporal noise reduction quantizer thresholds according to the amount of global motion.
16. The system of Claim 9, the controller further for:
adjusting one or more cross color suppression local motion quantizer thresholds according to the amount of global motion.
1. ABSTRACT
Global-adaptive deinterlacing systems and methods for reducing scintillation and feathering artifacts.  Motion adaptive deinterlacing (MADI) local motion quantization thresholds are adaptively adjusted according to the amount of global motion present in the video sequence, thereby minimizing scintillation and feathering artifacts when deinterlacing the fields.  A set of global motion scenarios are defined for the purpose of classifying fields, and a number of global motion indicators are used to detect on a field-by-field basis different global motion scenarios.
2. REPRESENTATIVE DRAWING
Fig. 10
2006238440.tif 000023
2006238440.tif 000024
2006238440.tif 000025
2006238440.tif 000026
2006238440.tif 000027
2006238440.tif 000028
2006238440.tif 000029
2006238440.tif 000030
2006238440.tif 000031
2006238440.tif 000032
2006238440.tif 000033
2006238440.tif 000034
2006238440.tif 000035
2006238440.tif 000036
2006238440.tif 000037
2006238440.tif 000038
2006238440.tif 000039
2006238440.tif 000040
2006238440.tif 000041
2006238440.tif 000042