(57)【要約】【課題】  テレビ受像機によって受信されたビデオ信号において、真の動きから偽の動きを識別する手法を実施及び使用するコンピュータプログラム製品を含む方法及び装置を提供する。【解決手段】  ビデオ信号は、輝度成分と色度成分とを含む。動き検出処理は、受信ビデオ信号のいくつかの周波数領域において、色度成分及び輝度成分のそれぞれについて実行される。各周波数領域は、真の動きから偽の動きを識別するための固有の調節可能な閾値を有し、閾値は着信ビデオ信号に基づいて動的に調節され、結果として、ビデオ信号により表現されテレビ受像機での表示の対象となる画像において、動き検出の精度が向上し、画像アーチファクトが最小化される。【選択図】  図１
2005184849.tif 000002
【特許請求の範囲】
【請求項１】
テレビ受像機によって受信されたビデオ信号において、真の動きから偽の動きを識別する方法であって、
輝度成分と色度成分とを含む前記ビデオ信号を前記テレビ受像機において受信するステップと、
前記受信ビデオ信号のいくつかの周波数領域内で、前記色度成分及び前記輝度成分のそれぞれについて、動き検出処理を実行するステップと、を備え、
各周波数領域は、真の動きから偽の動きを識別するための固有の閾値を有し、前記閾値は着信するビデオ信号に基づいて動的に調節可能であり、これによって、前記ビデオ信号により表現され前記テレビ受像機での表示の対象となる画像において前記動き検出の精度を向上させるとともに画像アーチファクトを最小化する、方法。
【請求項２】
請求項１記載の方法であって、
前記動き検出処理は、低周波輝度領域と、高周波色度領域と、高周波輝度領域との一つ以上においてピクセル毎に実行され、前記動き検出処理が実行される各周波数領域は、前記動き検出処理を受けている各ピクセルに対して動的に決定される閾値をそれぞれ有する、方法。
【請求項３】
請求項２記載の方法であって、
前記動き検出処理を受けているピクセルに対する前記閾値は、前記動き検出処理を受けている前記ピクセルと、前記ビデオ信号によって表現される画像内の一つ以上の隣接ピクセルとの間でのピクセル値における差のパーセンテージとして決定される、方法。
【請求項４】
請求項１乃至３のいずれかに記載の方法であって、
動き検出処理を実行するステップは、異なる複数の周波数領域において検出された前記色度の動き及び輝度の動きの中で最大の色度の動き又は輝度の動きを最終動き値として決定するステップを含む、方法。
【請求項５】
請求項４記載の方法であって、更に、
前記最終動き値を、５ビット値として表現されるようにクリップするステップと、
前記クリップした最終動き値を、前記クリップした最終動き値に基づいて、２Ｄデコード済みビデオ信号、３Ｄデコード済みビデオ信号、又は２Ｄデコード済みビデオ信号と３Ｄデコード済みビデオ信号との組み合わせを出力する混合器に供給するステップと、を含む、方法。
【請求項６】
請求項２記載の方法であって、
前記低周波輝度領域での動きは、
動き値を取得するために、前記動き検出処理を受けている前記ピクセルから一フレーム遅延ピクセルを減算し、前記一フレーム遅延ピクセル及び現行ピクセルは、二つの画像フレーム内で同じ位置を有するステップと、
前記動き値にローパスフィルタを掛けるステップと、
負の動き値を、対応する正の動き値に変換するステップと、
低周波動き値を取得するために、前記動き値から、前記現行ピクセルに対して決定された第一の閾値を減算するステップと、
前記第一の閾値の減算後の前記低周波動き値がゼロ未満である場合、前記低周波動き値をゼロに設定するステップと、によって取得される、方法。
【請求項７】
請求項２記載の方法であって、
前記高周波色度領域での動きは、
動き値を取得するために、前記動き検出処理を受けている前記ピクセルから二フレーム遅延ピクセルを減算し、前記二フレーム遅延ピクセル及び現行ピクセルが二つの画像フレーム内で同じ位置を有するステップと、
負の動き値を、対応する正の動き値に変換するステップと、
高周波動き値を取得するために、前記動き値から、前記現行ピクセルに対して決定された第二の閾値を減算するステップと、
前記第二の閾値の減算後の前記高周波動き値がゼロ未満である場合、前記高周波動き値をゼロに設定するステップと、
前記高周波動き値にローパスフィルタを掛けるステップと、によって取得される、方法。
【請求項８】
請求項２記載の方法であって、
前記高周波色度及び高周波輝度での輝度の動きがより少ない動きは、
一フレーム色度モードが選択されているか、二フレーム色度モードが選択されているかを決定するステップと、
前記二フレーム色度モードが選択されている時には、二つの一フレーム差信号を整流及び減算することによって、結果としての信号を取得するステップと、
前記一フレーム色度モードが選択されている時には、一フレーム遅延ピクセルにバンドパスフィルタを掛け、整流し、前記動き検出処理を受けている前記ピクセルから一フレーム遅延ピクセルを減算することによって、結果としての信号を取得し、前記一フレーム遅延ピクセル及び現行ピクセルが二つの画像フレーム内で同じ位置を有するステップと、
前記結果としての信号の負の動き値を、対応する正の動き値に変換するステップと、
高周波数動き値を取得するために、前記動き値から、前記現行ピクセルに対して決定された第三の閾値を減算するステップと、
前記第三の閾値の減算後の前記高周波数動き値がゼロ未満である場合、前記高周波動き値をゼロに設定するステップと、
前記高周波動き値にローパスフィルタを掛けるステップと、によって取得される、方法。
【請求項９】
請求項１乃至８のいずれかに記載の方法であって、
前記調節可能な閾値は、検出されたエッジと、検出されたエッジのスロープと、副搬送波の検出とに基づいて、ピクセル毎に決定され、
第一の閾値は、副搬送波が検出された場合に割り当てられ、第二の閾値は、副搬送波が検出されない場合に割り当てられ、これによって、画像の色度成分及び輝度部分に対して独立した閾値を取得する、方法。
【請求項１０】
請求項１乃至９のいずれかに記載の方法であって、
前記受信ビデオ信号のいくつかの周波数領域において前記色度成分及び前記輝度成分のそれぞれに対して動き検出処理を実行するステップは、
前記受信ビデオ信号の以下の特徴、即ち、空間的色度シグネチャと、時間的色度シグネチャと、低周波数の動きと、前記ビデオの二つ以上の画像フレームに渡る色度信号の極性と、前記ビデオの二つ以上の画像フレームに渡るサンプルウィンドウの平均値と、のうちの一つ以上を検査することによって、画像の高周波色度静止領域に対して生成された偽の動きを検出するステップと、
前記受信ビデオ信号の前記検査済みの特徴に基づいて、偽の動きのないマスク信号を生成するステップと、を含む、方法。
【請求項１１】
請求項１乃至１０のいずれかに記載の方法であって、更に、
前記ビデオ信号の同期エッジ及びカラーバースト領域のうちの一つ以上を検出するステップと、
検出された同期エッジ又はカラーバースト領域の動きの分散を決定するステップと、
前記決定した分散に基づいて、前記ビデオ信号のプログラム可能な可変閾値利得パーセンテージを設定するステップと、を備える、方法。
【請求項１２】
コンピュータプログラムであって、
当該プログラムをコンピュータ上で実行する時に、請求項１乃至１１のいずれか一項に記載のステップの全てを実行するように構成されたコンピュータプログラムコード手段を備えるコンピュータプログラム。
【請求項１３】
テレビ受像機によって受信されたビデオ信号において、真の動きから偽の動きを識別するための動き検出部であって、
輝度成分及び色度成分を含む前記ビデオ信号を受信するように動作可能な受信部と、
前記受信ビデオ信号のいくつかの周波数領域内で、前記色度成分及び前記輝度成分のそれぞれについて、動き検出処理を実行するように動作可能な動き検出器と、を備え、各周波数領域は、真の動きから偽の動きを識別するための固有の閾値を有し、前記閾値は着信するビデオ信号に基づいて動的に調節可能であり、これによって、前記ビデオ信号により表現され前記テレビ受像機での表示の対象となる画像において前記動き検出の精度を向上させるとともに画像アーチファクトを最小化する、動き検出部。
【請求項１４】
請求項１３記載の動き検出部であって、
前記動き検出処理は、低周波輝度領域と、高周波色度領域と、高周波輝度領域との一つ以上においてピクセル毎に実行され、前記動き検出処理が実行される各周波数領域は、前記動き検出処理を受けている各ピクセルに対して動的に決定される閾値をそれぞれ有する、動き検出部。
【請求項１５】
請求項１４記載の動き検出部であって、
前記動き検出処理を受けているピクセルに対する前記閾値は、前記動き検出処理を受けている前記ピクセルと、前記ビデオ信号によって表現される画像内の一つ以上の隣接ピクセルとの間でのピクセル値における差のパーセンテージとして決定される、動き検出部。
【請求項１６】
請求項１３乃至１５のいずれかに記載の動き検出部であって、
前記動き検出器は、異なる複数の周波数領域において検出された前記色度の動き及び輝度の動きの中で最大の色度の動き又は輝度の動きを最終動き値として決定するように動作可能なセレクタを含む、動き検出部。
【請求項１７】
請求項１３乃至１６のいずれかに記載の動き検出部であって、
前記調節可能な閾値は、検出されたエッジと、検出されたエッジのスロープと、副搬送波の検出とに基づいて、ピクセル毎に決定され、
第一の閾値は、副搬送波が検出された場合に割り当てられ、第二の閾値は、副搬送波が検出されない場合に割り当てられ、これによって、画像の色度成分及び輝度部分に対して独立した閾値を取得する、動き検出部。
【請求項１８】
請求項１３乃至１７のいずれかに記載の動き検出部であって、更に、
前記受信ビデオ信号の以下の特徴、即ち、空間的色度シグネチャと、時間的色度シグネチャと、低周波数の動きと、前記ビデオの二つ以上の画像フレームに渡る色度信号の極性と、前記ビデオの二つ以上の画像フレームに渡るサンプルウィンドウの平均値と、のうちの一つ以上を検査することによって、画像の高周波色度静止領域に対して生成された偽の動きを検出するように動作可能なマスクロジックと、
前記受信ビデオ信号の前記検査済みの特徴に基づいて、偽の動きのないマスク信号を生成するように動作可能な信号発生器と、を備える、動き検出部。
【請求項１９】
テレビ受像機によって受信されたビデオ信号において、真の動きから偽の動きを識別するためのビデオ信号デコーダであって、
請求項１３乃至１８のいずれかに記載の動き検出部と、
デコード済みのビデオ信号を前記ビデオ信号デコーダから前記テレビ受像機のディスプレイに出力するための出力手段と、
を備えるビデオ信号デコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ信号の３Ｄ動き適応デコーディングに関する。
【背景技術】
【０００２】
テレビジョン放送の全米テレビジョン方式委員会（ＮＴＳＣ）規格において、テレビカメラからのＲＧＢ（赤、緑、青）信号は、効率的な送信を可能にするために輝度信号と色度信号とに変換される。輝度信号は、通常「Ｙ」と呼ばれ、テレビカメラにより記録された画像の明るさ及び最大の詳細度を表す。色度信号は、二つの色差信号、Ｒ−Ｙ（赤マイナスＹ）とＢ−Ｙ（青マイナスＹ）の組み合わせであり、色差信号は両方とも帯域幅が約１ＭＨｚに制限される。それぞれの色差信号は、３．５８ＭＨｚ副搬送波信号の位相及び振幅を変調するために使用される。位相変調は、色相、すなわち意図される特定の色を表し、一方、振幅変調は、色差信号の強度すなわち彩度を表す。副搬送波の周波数は、色度信号を輝度信号にインタリーブし、輝度信号と色度信号との間でのエネルギ干渉を有しない単一のコンポジット信号が生成できるように選択される。
【０００３】
テレビ受像機がＮＴＳＣコンポジット信号を受信すると、コンポジット信号は、デコーダにおいてデコードされ、輝度信号と色度信号とが分離される。色度信号は、次に、テレビ画面に表示されるＲＧＢ信号を再現するのに使用可能なＲ−Ｙ及びＢ−Ｙコンポーネント信号に復調される。輝度信号及び色度信号は約３．５８ＭＨｚの同じ周波数帯域幅を共有し、輝度信号及び色度信号は追加される前にプレフィルタリングされないため、デコードプロセスにおいて輝度信号及び色度信号を完全に分離することはできない。したがって、輝度信号と色度信号との間のクロストークの結果として、様々なデコードアーチファクトが存在する。デコードアーチファクトを最小化するために、デコードプロセス中に輝度信号と色度信号との優れた分離を達成する多数の方法が設計されてきた。
【０００４】
基本的には、輝度信号と色度信号とを分離する二種類の方法が存在する。両方とも、コンポジット信号の一方の部分を他方から識別するように設計されたフィルタを伴う。第一の方法は、「ノッチ／バンドパスフィルタ」を使用し、第二の方法は、「くし形フィルタ」を使用する。以下で確認されるように、多数の種類のくし形フィルタが存在し、その全てが特有の利点及び欠点を有している。
【０００５】
ノッチフィルタは、３．５８ＭＨｚを中心とする色度信号の周波数を除き、コンポジット信号の全周波数を通過させるように設計される。結果として、色度信号は除去されるが、輝度信号の対応部分も除去され、高周波輝度情報の損失が生じる。ノッチフィルタは、バンドパスフィルタと並列で使用され、バンドパスフィルタは狭い色度帯域内の周波数のみを通過させ、色度信号と、輝度信号の高周波数部分とを出力する。まとめると、ノッチ／バンドパスフィルタ方法は、垂直解像度（つまり、低周波数）の損失が殆ど又は全くない、単純で低コストのアプローチであるという利点を有する。欠点は、輝度解像度が失われることと、高周波輝度が色度として処理される時（「レインボウパターン」アーチファクトとして知られる）及び色度が輝度として処理される時（ドットクロールとして知られる）に重大な表示アーチファクトが生じることとである。
【０００６】
くし形フィルタリング方法は、二本の隣接する画像ラインの間で（１フレーム内には奇数本のラインが存在するため、更に二つの隣接するフレームの間で）副搬送波の位相を１８０度反転させるように設計される。主に二種類のくし形フィルタリング、即ち、ラインコーミングとフレームコーミングとが存在する。両方の方法において、基本概念には、１８０度反転された色度位相を有する二つの同一信号を加算又は減算することが含まれる。信号を加算する時には、色度信号が相殺されて輝度信号が出力され、信号を減算する時には、輝度情報が失われて色度信号が出力される。
【０００７】
ラインコーミングでは、一本、二本、又は三本のラインを使用できる。単一のラインを使用する時には、着信ビデオ信号を一本のラインの分だけ遅延させ、対応する遅延ピクセル及び非遅延ピクセルをそれぞれ加算及び減算して、輝度信号及び色度信号を取得する。二本のラインを使用する時には、一ライン遅延、二ライン遅延、及び非遅延ピクセルの加重加算及び減算を使用して、輝度信号及び色度信号をそれぞれ取得する。三本のラインを使用する時には、ライン１とライン２との間、及びライン２とライン３との間での相関をそれぞれ決定し、最良の相関を有する二本のラインに対してくし形フィルタリングを実行する。三ライン適応くし形フィルタは、２Ｄ適応くし形フィルタと呼ばれる場合が多い。すべてのラインコーミング方法は、ノッチ／バンドパスフィルタ方法よりも優れた結果を生み出すが、依然として、クロスカラー、垂直解像度の損失、及び単一のラインカラーが存在する時のドットクロールを示す。
【０００８】
フレームコーミングは、ラインコーミングに類似するが、単一フレーム内で二本の隣接ラインを比較する代わりに、二つの隣接フレーム内で同じ位置を有する二本のラインをコーミングに使用し、これにより、時間的領域においてくし形フィルタリングを拡張する。しかしながら、フレームコーミングは、画像の静止部分でしか実行できない。動きが存在する場合には、２Ｄコーミングに立ち戻る必要がある。動き検出を使用してくし形フィルタリングをラインコーミングからフレームコーミングに変化させる方法は、動き適応デコーディング又は３Ｄ適応デコーディングと呼ばれる。３Ｄ適応デコーディングは、静止画像でのドットクロール及びクロスカラーなしで、完全な水平及び垂直解像度を保つ。しかしながら、広い面積でのドットクロール及びゴーストによる影といった、動きアーチファクトが存在する可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
３Ｄ適応デコーディングにおいて、くし形フィルタリングは、ピクセル毎に３Ｄ及び２Ｄくし形フィルタリングの間で切り換えられる。動きが存在しない場合、３Ｄくし形フィルタが利用され、動きが存在する場合は、２Ｄくし形フィルタが利用される。したがって、二つのフレーム間に「真の動き」が存在するか、或いは、知覚された動きが、例えば、ジッタ又はノイズによる「偽の動き」であるかどうかを正確に検知することで、動きアーチファクトを最小化する必要がある。
【課題を解決するための手段】
【００１０】
一般に、一態様において、本発明は、テレビ受像機によって受信されたビデオ信号において、真の動きから偽の動きを識別する手法を実施及び使用する、コンピュータプログラム製品を含む方法及び装置を提供する。ビデオ信号は、テレビ受像機において受信される。ビデオ信号は、輝度成分と色度成分とを含む。動き検出処理は、受信ビデオ信号のいくつかの周波数領域において、色度成分及び輝度成分のそれぞれについて実行される。各周波数領域は、真の動きから偽の動きを識別するための固有の閾値を有し、閾値は着信ビデオ信号に基づいて動的に調節される。これにより、ビデオ信号により表現され、テレビ受像機での表示の対象となる画像において、動き検出の精度が向上し、画像アーチファクトが最小化される。
【００１１】
有利な実施形態は、以下の一つ又は複数の特徴を包含できる。動き検出処理は、低周波輝度領域と、高周波色度領域と、高周波輝度領域とのうちの一つ以上においてピクセル毎に実行可能であり、動き検出処理が実行される各周波数領域は、動き検出処理を受けている各ピクセルに対して動的に決定される閾値をそれぞれ有することができる。動き検出処理を受けているピクセルに対する閾値は、動き検出処理を受けているピクセルと、ビデオ信号によって表現される画像内の一つ以上の隣接ピクセルとの間でのピクセル値における差のパーセンテージとして決定できる。動き検出処理を実行することは、異なる複数の周波数領域において検出された色度の動き及び輝度の動きの中で最大の色度の動き又は輝度の動きを最終動き値として決定することを含むことができる。最終動き値は、５ビット値として表現されるようにクリップすることが可能であり、クリップした最終動き値は、クリップした最終動き値に基づいて２Ｄデコード済みビデオ信号、３Ｄデコード済みビデオ信号、又は２Ｄデコード済みビデオ信号と３Ｄデコード済みビデオ信号との組み合わせを出力する混合器に供給される。
【００１２】
輝度領域での低周波数の動きは、以下の一連のステップ、即ち、動き値を取得するために、動き検出処理を受けているピクセルから一フレーム遅延ピクセルを減算し、一フレーム遅延ピクセル及び現行ピクセルが二つの画像フレーム内で同じ位置を有するステップと、動き値にローパスフィルタを掛けるステップと、負の動き値を対応する正の動き値に変換するステップと、低周波動き値を取得するために、動き値から、現行ピクセルに対して決定された第一の閾値を減算するステップと、第一の閾値の減算後の低周波動き値がゼロ未満である場合、低周波動き値をゼロに設定するステップと、を実行して取得できる。
【００１３】
色度領域での高周波数の動きは、以下の一連のステップ、即ち、動き値を取得するために、動き検出処理を受けているピクセルから二フレーム遅延ピクセルを減算し、二フレーム遅延ピクセル及び現行ピクセルが二つの画像フレーム内で同じ位置を有するステップと、負の動き値を対応する正の動き値に変換するステップと、高周波動き値を取得するために、動き値から、現行ピクセルに対して決定された第二の閾値を減算するステップと、第二の閾値の減算後の高周波動き値がゼロ未満である場合、高周波動き値をゼロに設定するステップと、高周波動き値にローパスフィルタを掛けるステップと、を実行して取得できる。
【００１４】
輝度の動きがより少ないような色度及び輝度の高周波数の動きは、以下のステップ、即ち、一フレーム色度モードが選択されているか、二フレーム色度モードが選択されているかを決定するステップと、二フレーム色度モードが選択されている場合に、結果として生じる信号を得るために、二つの一フレーム差信号を整流及び減算するステップと、一フレーム色度モードが選択されている場合に、結果として生じる信号を得るために、一フレーム遅延ピクセルにバンドパスフィルタを掛け、整流して、動き検出処理を受けているピクセルから一フレーム遅延ピクセルを減算し、一フレーム遅延ピクセル及び現行ピクセルが二つの画像フレーム内で同じ位置を有するステップと、結果として生じた信号の負の動き値を対応する正の動き値に変換するステップと、高周波数動き値を取得するために、動き値から、現行ピクセルに対して決定された第三の閾値を減算するステップと、第三の閾値の減算後の高周波数動き値がゼロ未満である場合、高周波動き値をゼロに設定するステップと、高周波動き値にローパスフィルタを掛けるステップと、を実行して取得できる。
【００１５】
調節可能な閾値は、検出されたエッジと、検出されたエッジのスロープと、副搬送波の検出とに基づいて、ピクセル毎に決定できる。第一の閾値は、副搬送波が検出された場合に割り当て可能であり、第二の閾値は、副搬送波が検出されない場合に割り当て可能であり、これにより、画像の色度世得分及び輝度部分に対して、独立した閾値が取得される。副搬送波は、副搬送波の大きさ、副搬送波の位相、及び副搬送波の符号についての所定のパターンを含む時間的及び空間的な副搬送波の特徴を探すことで検出できる。
【００１６】
受信ビデオ信号のいくつかの周波数領域において色度成分及び輝度成分のそれぞれに対して動き検出処理を実行するステップは、受信ビデオ信号の以下の特徴、即ち、空間的色度シグネチャと、時間的色度シグネチャと、低周波数の動きと、ビデオの二つ以上の画像フレームに渡る色度信号の極性と、ビデオの二つ以上の画像フレームに渡るサンプルウィンドウの平均値と、のうちの一つ以上を検査して、画像の高周波色度静止領域に対して生成された偽の動きを検出するステップと、受信ビデオ信号の検査済みの特徴に基づいて、偽の動きのないマスク信号を生成するステップと、を含むようにしてもよい。ビデオは、ＰＡＬビデオ規格、ＮＴＳＣビデオ規格、又はコンポーネントビデオ規格に準拠できる。ビデオ信号の同期エッジ及びカラーバースト領域のうちの一つ以上が検出可能であり、検出同期エッジ又はカラーバースト領域の動きの分散を決定可能であり、決定した分散は、ビデオ信号のプログラム可能な可変閾値利得パーセンテージを設定するために使用できる。ビデオ信号のプログラム可能な可変閾値利得パーセンテージは、検出色度及び／又は検出輝度に基づいて、適応させることができる。
【００１７】
本発明の一つ以上の実施形態の詳細を、添付図面及び下の説明において述べる。本発明のその他の特徴、目的、及び利点は、説明及び図面と請求項とから明らかになろう。
【００１８】
様々な図面において同様の参照符号は、同様の要素を示す。
【発明を実施するための最良の形態】
【００１９】
概要
本発明は、テレビ受像機によって受信された、コンポジットＮＴＳＣ、ＰＡＬ信号、又はコンポーネントビデオ信号といったビデオ信号内の動きを検出する方法及び装置に関する。第一に、新規な動き検出方式を実施するデコーダの概観について記載し、次に、様々な周波数領域での動き検出を提示する。その後、個別の閾値を調節する方法について説明し、２Ｄ又は３Ｄデコード信号のどちらを出力するかを決定するために、デコーダ内の混合器によって動き検出を使用する方法について提示する。本明細書の説明は、主にＮＴＳＣ信号を中心としているが、いくつかの小さな修正により、ＰＡＬ信号又はコンポーネントビデオ信号にも等しく適用可能であり、こうした修正については、この説明の終わりで取り扱う。
【００２０】
図１は、新規な動き検出方式を実施する３Dデコーダによって実行されるプロセス（１０００）の高レベルフローチャートを示す。図１において確認できるように、色度成分及び輝度成分の両方を含むコンポジットビデオ信号は、デコーダに受信される（ステップ１００２）。次に、動き検出処理が、着信コンポジットビデオ信号に対して実行される（ステップ１００４）。下で更に詳細に説明するように、動き検出処理は、いくつかの周波数領域において、色度及び輝度の両方について実行される。各領域は固有の閾値を有し、その固有の閾値は調節可能であるために、「偽の動き」に対する「真の動き」の優れた検出を可能にし、その結果、従来の３Dデコーダと比較して動きアーチファクトの少ないデコード画像が得られる。このプロセスでは、次に、動き検出処理において動きが検出されたかどうかを調べる（ステップ１００６）。動きが検出された場合、このプロセスは、ステップ１００８へ進み、２Ｄロジックを使用して、コンポジット信号をデコードする。しかしながら、ステップ１００６において動きが検出されなかった場合、プロセスは、ステップ１０１０へと継続し、３Ｄロジックを使用して、コンポジット信号をデコードする。
【００２１】
図２は、テレビ受像機によって受信されたＮＴＳＣコンポジット信号をデコードするデコーダ（１００）の概略ブロック図を示している。３Ｄデコーダ（１００）は、コンポジットビデオ信号（１０２）を受信する。コンポジットビデオ信号（１０２）は、第一及び第二のライン遅延部（１０４、１０６）において、それぞれ一本及び二本のラインだけ遅延される。現行のライン信号（Ｌ１）は、一ライン遅延信号（Ｌ２）及び二ライン遅延信号（Ｌ３）と共に、垂直ロジック、水平ロジック、及び単一ラインロジックを有する適応２Ｄデコーダ（１０８）に入る。適応２Ｄデコーダ（１０８）は、コンポジット信号から色度信号（２Ｄ＿Ｃ）をフィルタで除去し、フィルタリングした２Ｄ＿Ｃ色度信号を、以下で更に詳細に説明する混合器（１１０）に渡す。一ライン遅延信号（Ｌ２）は、色度信号をフィルタで除去して輝度信号（Ｙ）を生成するのに必要な処理時間を補う遅延部（１１２）にも渡される。
【００２２】
適応２Ｄデコーダ（１０８）に加え、デコーダ（１００）は、同じく混合器１１０へ渡される動き適応３Ｄ色度信号（３Ｄ＿Ｃ）を生成するロジックを含む。二つのフレームメモリ（１１４、１１６）は、色度サンプルが二つのフレームに渡って（即ち、フレームＦ０及びＦ２内で）同位相である際に、色度の動きを検出するのに使用され、動き検出ブロック（１１８）では、損失のない相関を容易に決定できる。
【００２３】
図３は、動き検出ブロック（１１８）によって実行される図１の動き検出処理（ステップ１００４）の高レベルフローチャートである。図３において確認できるように、動き検出プロセスは、着信フレーム信号、一フレーム遅延信号、及び二フレーム遅延信号を受信することで開始される（ステップ３００２）。着信フレーム信号の第一のピクセルが選択される（ステップ３００４）。次に、動き検出ブロック（１１８）は、可変閾値ロジックブロック（１２０）から、低周波輝度領域と、高周波色度領域と、高周波輝度／色度領域とに対する別個の閾値をそれぞれ受領する（ステップ３００６）。可変閾値ロジックブロック（１２０）が各ピクセル及び各周波数領域に対する別個の閾値を供給する結果、動き検出は、従来の動き検出手法と比較して大幅に改善される。一実施形態において、閾値は、直に隣接するピクセルと比較した、ピクセルの値に基づく。このプロセスでは、異なる複数の周波数領域の動きの中で最大の動きを決定し、ピクセルの最終動き値とする（ステップ３００８）。プロセスでは、次に、着信フレーム内の全ピクセルが処理されたかをチェックする（ステップ３０１０）。全ピクセルが処理済みの場合、プロセスは終了する。そうでない場合、着信フレーム内の次のピクセルが選択され（ステップ３０１２）、プロセスは、全ピクセルが処理されるまでステップ３００６乃至３０１０を繰り返す。この動き検出プロセスは、各受信フレームに対して実行される。
【００２４】
図２に戻ると、最終動き値が決定されると、最終動き値は、動き検出ブロック（１１８）から、３タップメディアンフィルタ（１２２）及び遅延ブロック（１２４）を通って、混合器（１１０）へ渡される。メディアンタップフィルタ（１２２）は、任意のスパークルモーション又は非動き点を除去するために、最大動き値をフィルタリングする。３Ｄ色度信号（３Ｄ＿Ｃ）は、現行ピクセルと、一フレーム先行する対応ピクセルとにより生成され、即ち、Ｆ２−Ｆ１となり、その後、ファクタ２で除算される（１２６）。信号を混合器（１１０）に渡す前に、信号にはバンドパスフィルタ（１２８）及び遅延部（１３０）が適用される。バンドパスフィルタは、信号が混合器（１１０）に到達する前に３Ｄ色度信号の帯域幅を制限する。一実施形態において、色度バンドパスフィルタ（１２８）は、−１／４、０、１／２、０、−１／４の係数を有する５タップフィルタであり、中央のタップはデコード中の現行ピクセルとなり、両側に二つのピクセルを有する。別の実施形態において、色度バンドパスフィルタ（１２８）は、副搬送波周波数を中心に約３ＭＨｚの通過帯域を有する広帯域通過フィルタとなる。
【００２５】
動き検出ブロック（１１８）において検出された動きに基づいて、混合器（１１０）は、２Ｄ色度信号を出力するか、３Ｄ色度信号を出力するかを判断する。動きが存在する場合は２Ｄ＿Ｃ信号が出力され、動きが存在しない場合には３Ｄ＿Ｃ信号が混合器（１１０）から出力される。混合器からの信号は、カラーバースト信号が欠如したモノクロ入力及びその他の様々な理由から適切な色を表示できない場合に、色度情報を除去する動作を行う色消去部（１３２）へ進む。最後に、色度信号（Ｃ）及び輝度信号（Ｙ）は、テレビ画面に表示されるＲＧＢ信号を生成するためにテレビ受像機へ出力される。
【００２６】
低周波動き検出
図４Ａは、低周波数の動きを検出するために動き検出ブロック（１１８）の一実施形態において使用されるロジックの概略ブロック図を示す。図４Ｂは、動き検出ブロック（１１８）において実行される低周波動き検出プロセスに対応するフローチャートを示す。低周波数の動きは、着信フレームから一フレーム遅延サンプルを減算することで決定され、即ち、Ｆ１−Ｆ０となる（ステップ４００２）。上で説明したように、ＮＴＳＣにおいては、二つの隣接フレームの副搬送波は、位相が１８０度ずれている。色度信号は副搬送波上で変調されるため、フレームＦ２及びＦ０の減算の結果として、輝度が相殺され、色度及び動きが得られる。減算Ｆ２−Ｆ１によって生じた信号（Ｃ）には、色度を含む高周波成分を除去するために、ローパスフィルタ（２０４）を掛ける（ステップ４００４）。同じ信号（Ｃ）は、図６を参照して以下で更に詳細に説明するように、輝度の動きの少ない色度及び／又は輝度の高周波数の動きを検出するために使用されるロジックへの入力としても使用される。
【００２７】
一実施形態において、ローパスフィルタ（２０４）は、１／４、０、１／２、０、１／４の係数を有する三つの５タップフィルタ（２＋２）と、出力側において１／４、１／２、１／４の係数を有する３タップローパスフィルタ（１＋１）とを含む。こうしたローパスフィルタ（２０４）におけるフィルタの組み合わせは、動きの経路においてノイズを低減するのに役立ち、動きとして誤って解釈され得る副搬送波部分を除去する。ローパスフィルタを掛けた信号は、次に、負の信号又は値を正の信号又は値に変換する整流器（２０６）に渡され（ステップ４００６）、次に、閾値ロジックブロック（２０８）に渡される。閾値ロジックブロック（２０８）は、入力された整流済み動き値から可変閾値ロジック（１２０）によって決定された閾値を減算する（ステップ４００８）。結果として生じた信号は、低周波動き値を取得するために制限を受け（２１０）、即ち、正の値を変化させずに負の値がゼロにクリップされ（ステップ４０１０）、ローパスフィルタを掛けた動き検出値が出力される（ステップ４０１２）。
【００２８】
一実施形態において、第三の５タップフィルタは、バイパスオプションを有する。ＮＴＳＣ信号のためのローパスフィルタブロック（２０４）の減衰は、下の表１において確認可能であり、ＰＡＬ信号のための減衰は、下の表２に列挙されている。
【表１】
2005184849.tif 000003
【表２】
2005184849.tif 000004
【００２９】
一実施形態においては、３Ｄソフタ（softer）への切り換えを行うために、同じ低周波動き検出が、図４Ａでブロック２１２乃至２２０によって図示したように、一フレーム遅延及び二フレーム遅延にそれぞれ適用される。更にここで、信号Ｆ０からの信号Ｆ１の減算によって生じた信号（Ｄ）は、図６Ａに図示した、輝度の動きの少ない色度及び／又は輝度の高周波数の動きを検出するロジックに対する入力として使用される。Ｆ２−Ｆ１の動き及びＦ１−Ｆ２の動きの最大値は、それぞれ、最終的な低周波数の輝度の動きとして決定される。
【００３０】
色度及び／又は輝度の高周波動き検出
図５Ａは、高周波数の色度及び／又は輝度の動きを検出するために動き検出ブロック（１１８）において使用されるロジックの一実施形態の概略ブロック図を示す。図５Ｂは、高周波数の色度及び／又は輝度の動き検出プロセスに対応するフローチャートを示す。図５Ａ及び５Ｂにおいて確認できるように、高周波数の動きを検出するために、二フレーム遅延サンプルは、着信フレームから減算され（３０２）、即ち、Ｆ２−Ｆ０となる（ステップ５００２）。結果として生じた信号は、次に、整流され（３０４）（ステップ５００４）、閾値ロジックブロック（３０６）に渡される。閾値ロジックブロック（３０６）は、入力される動き値から、可変閾値ロジック（１２０）によって決定された第二の閾値を減算する（ステップ５００６）。結果として生じた信号は、制限を受け（３０８）（ステップ５００８）、１／４、１／２、１／４の係数を有する３タップローパスフィルタ（１＋１）によりローパスフィルタリングされる（ステップ５０１０）。Ｆ０及びＦ２の副搬送波は同じ位相を有するため、この検出方式は、適切な色度の動きと、高周波数の輝度の動きとを提供する。その後、結果として生じた信号が出力される（ステップ５０１２）。
【００３１】
一実施形態において、信号Ｆ２及びＦ０には、ステップ５００２において減算する前に、バンドパスフィルタを掛けることが可能であり、これにより、低周波数の輝度の動きがフィルタで除去され、色度帯域の動きのみが存在するようになる。そのため、結果として発生し、ステップ５０１２において出力される信号は、色度帯域の動きのみを含むようになる。
【００３２】
輝度の動きがより少ないときの色度／輝度の動き
図６Ａは、輝度の動きがより少ないときの色度及び／又は輝度の高周波数の動きを検出するために動き検出ブロック（１１８）において使用されるロジックの概略ブロック図を示す。図６Ｂは、動き検出ブロック（１１８）において実行される、対応する動き検出プロセスのフローチャートを示す。図６Ａ及び６Ｂにおいて確認できるように、この動きの推定は、図５Ａ及び５Ｂを参照して上で説明した高周波数の動きの推定に非常に似ている。図６Ａに図示したロジックは、二つのモードで動作できる。第一のモードにおいて、ロジックは、輝度の動きがより少ないときの二つのフレームに渡る色度の動きを検出するために動作する。第二のモードにおいて、ロジックは、一フレームの色度の動きを検出するために動作する。
【００３３】
最初に、プロセス６０００は、二フレーム色度モードを使用するべきか、一フレーム色度モードを使用するべきかを決定する（ステップ６００２）。一実施形態において、これは、一フレーム色度動きイネーブルビットが設定されているかどうかをチェックすることで決定される。一フレーム色度動きイネーブルビットが設定されていない場合は、二フレームモードが使用され、プロセスはステップ６００４へ続き、ここで図４Ａからの二つの一フレーム差信号Ｃ（即ち、Ｆ２−Ｆ１）及びＤ（即ち、Ｆ１−Ｆ０）が整流される。その後、信号Ｄが信号Ｃから減算され（ステップ６００６）、結果として生じた信号が整流される（ステップ６０１４）。次に、閾値ロジックブロックは、入力された整流済み動き値から、可変閾値ロジック（１２０）によって決定される第三の閾値を減算する（ステップ６０１６）。結果として生じた信号は、制限を受け（３０８）（ステップ６０１８）、１／４、１／２、１／４の係数を有する３タップローパスフィルタ（１＋１）においてローパスフィルタリングされる（ステップ６０２０）。その後、結果として生じた信号が出力され（ステップ６０２２）、プロセスは終了する。
【００３４】
ステップ６００２において、一フレーム色度動きイネーブルビットが設定されている、即ち、一フレーム色度動き検出を使用するべきであるとプロセスが判断した場合、プロセス（６０００）は、信号Ｃ及びＤを使用せずに、代わりに、フレームＦ２及びＦ１を使用する。フレームＦ２及びＦ１のそれぞれは、バンドパスフィルタリングを掛け（ステップ６００８）、整流する（ステップ６０１０）。整流済みの信号Ｆ１は、次に、整流済みの信号Ｆ２から減算し（ステップ６０１２）、その後、結果として生じた差信号を整流する（ステップ６０１４）。ステップ６０１４において差信号を整流した後、プロセスは、上記のように、ステップ６０１６乃至６０２２で継続される。
【００３５】
最終的な動き
図７は、異なる複数の周波数領域で決定された動きに基づいて、最終的なＮＴＳＣの動きを決定する方法の概略ブロック図を示す。最終動きファイルは、異なる複数の周波数範囲で上のように決定された動きの最大のものである。上の図２で確認したように、最終的な動きは、その後、３タップ水平メディアンフィルタ（１２２）を通過する。３タップ水平メディアンフィルタ（１２２）は、スパークルモーションと非動き点及び／又は非動きラインを除去する。最終的なＮＴＳＣの動きは、５ビット幅にクリップされる。最大動き値である１６において、デコーダは、２Ｄ輝度及び色度信号のみを出力する。最小動き値である０において、デコーダは、３Ｄ輝度及び色度信号のみを出力する。０と１６との間の任意の値では、デコーダは、混合２Ｄ及び３Ｄ信号である信号を出力する。この混合は、次に更に詳細に説明する混合器（１１０）において行われる。
【００３６】
混合器
図８は、本発明の一実施形態による、デコーダの混合器（１１０）の動作を更に詳細に示す概略ブロック図である。上で説明し、図８において確認できるように、２Ｄ色度信号（２Ｄ＿Ｃ）は、２Ｄ色度／輝度セパレータから供給され、３Ｄ色度信号（３Ｄ＿Ｃ）は、３Ｄ色度／輝度セパレータから供給される。動き検出ブロック（１１８）からの５ビット動き出力は、混合器（１１０）に対する入力としても使用される。混合器からの色度出力は、２Ｄ＿Ｃ及び３Ｄ＿Ｃ信号に基づいており、これらは次のように混合される。
色度出力=(2D_C*動き)/16 + (3D_C*(16 - 動き))/16
【００３７】
輝度出力は、入力コンポジットビデオ（Ｌ２）から色度出力を減算することで得られる。色消去部は、ファームウェアによる有効化及び無効化が可能であり、例えば、入力コンポジットビデオ（Ｌ２）がモノクロビデオ信号である時など、適切な色を表示できない場合に、表示されるものから色を除去するために使用される。一部の実施形態においては、クロスカラーの抑制を強化するために、適応制御フィルタ等のフィルタを色度の経路において利用することができる。同様に、輝度間の影響を低減するために、適応フィルタを輝度の経路に配置することができる。
【００３８】
動き検出のための閾値ロジック
上で説明したように、コンポジット信号をデコードする効果的な方法は、動きが存在しない時には時間的コーミング（３Ｄ）を実行し、そうでない場合には空間的コーミング（２Ｄ）が実行されるように、３Ｄくし形フィルタにより、動きに基づく適応型時間デコーディングを実行することである。２Ｄデコーディングは、クロスカラー及びドットクロールアーチファクトを有し、一方、３Ｄデコーディングは、画像の静止部分において、こうしたアーチファクトを有していない。したがって、動き検出ロジックは、動きを正確に検出し、これにより優れた画質を達成するために非常に重要である。
【００３９】
一実施形態において、動き検出は、現行フレームと先行フレームとの間の差をピクセル毎に調査することで達成される。検出された差、即ち、「生の差」は、真の動きを検出するために処理する必要がある。通常、動き検出ロジックは、生の動きをシステムノイズに基づいてどのくらい抑制するかを制御する、何らかのタイプの閾値ロジックを含む。この閾値を高くした場合には、一部の場合において本当の動きが失われ、閾値を低くした場合には、システムノイズが、誤った動きの表現を生成する。そのため、適応閾値ロジックを有することが望ましい。更に、適応閾値ロジックが動的であるほど、動き検出ロジックは、優れた性能を示す。適応閾値ロジックにおいて考慮する必要がある様々な問題を理解するために、様々なノイズタイプの簡単な概観を次に記載する。
【００４０】
動き検出の不正確さの主な原因は、ランダムノイズと、サンプリングクロックノイズ又はジッタと、カメラの光による斜め遷移ノイズと、クランプノイズと、その他とである。以下の説明では、サンプリングクロックノイズ又はジッタと斜め遷移ノイズとに重点を置く。ビデオ信号内のランダムな低振幅ノイズに加えて、３Ｄデコーダの動き検出ロジックにおける更に高振幅及び高風波数のノイズは、エッジノイズであり、フレーム間に渡る偽の動きを発生させるため、３Ｄを使用するべきであっても、画像のこうした範囲では２Ｄに切り換える。エッジノイズは、クロックエッジノイズ、ＰＬＬ（位相ロックループ）の不安定性、ＰＬＬのトラッキング、又はループフィルタの設定といった様々な理由により、ＡＤＣ（アナログ−デジタルコンバータ）のサンプリングクロックのジッタの結果として発生する。
【００４１】
サンプリングクロックのジッタの結果として、全ての信号のエッジでは、サンプリングされた信号の振幅の変動が存在する。こうした変動によって、エッジノイズが存在するようになり、エッジノイズは、クロックのジッタと、エッジの振幅又はスロープ、即ち、エッジの両側に位置する二つのピクセルのピクセル値の差とに正比例する。一実施形態において、この差は、現行ピクセル及び先行ピクセルの第一の差と、現行ピクセル及び次のピクセルの間の第二の差とを決定し、決定された二つの差で最大のものを選択することにより決定される。この問題に対処するために、閾値は、エッジの検出とエッジのスロープとに基づいて、ピクセル毎に動的に変化させる必要がある。
【００４２】
エッジ／スロープ適応閾値は、副搬送波の検出に基づいて更に改良できる。通常、デジタル化コンポジットビデオ信号において、高周波輝度部分におけるエッジノイズは、高周波色度部分におけるエッジノイズよりも高く、これは、サンプリングクロックが副搬送波信号のカラーバースト部分にロックされるためである。更に、輝度エッジは、通常、色度エッジよりも急峻なスロープを有し、これは輝度エッジが約５ＭＨｚまでの高解像度を有するためである。高周波輝度エッジノイズをマスクするために、エッジ閾値が高く設定された場合には、実際の色度の動きにおいて、関連する何らかの損失も発生する。しかしながら、副搬送波の検出に基づいてエッジ／スロープ閾値を適応的にした場合には、次に説明するように、閾値ロジックを改良して、より効果的なものにできる。
【００４３】
適応閾値ロジックのためのエッジ及び副搬送波検出ロジックの実施形態
図９は、エッジ検出ロジックブロック（７１０）及び副搬送波検出（ＳＣＤ）ロジックブロック（７２０）を含む閾値ロジック（１２０）の概略ブロック図を示す。下で更に詳細に説明するエッジ検出ロジックブロック（７１０）は、ユーザが閾値をエッジのパーセンテージとして設定すること、即ち、スロープの振幅のうちのどの程度をエッジ閾値として割り当てるべきか設定するのを可能にするロジックを含む。
【００４４】
このエッジに基づく閾値は、次に、副搬送波の状態を調べるＳＣＤロジックブロック（７２０）を介して、更に適応的に修正される。ＳＣＤロジックブロック（７２０）についても下で更に詳細に説明されるが、一般に、ＳＣＤロジックブロック（７２０）は、次のように動作し、エッジ検出ロジックブロック（７１０）とやり取りする。ユーザは、特定のエッジに対して、二つのパーセンテージ、例えばｘ％及びｙ％を設定してよい。ＳＣＤロジックブロック（７２０）が副搬送波を検出しない場合、ｘ％をスロープパーセンテージ閾値として使用し、ＳＣＤロジックブロック（７２０）が副搬送波を検出する場合には、その特定のエッジについて、ｙ％をスロープパーセンテージ閾値として使用する。ｘ％がｙ％より高く設定された場合、高いスロープパーセンテージ閾値を画像の輝度部分に対して使用し、低いスロープパーセンテージ閾値を画像の色度部分に対して使用することが可能であり、これにより、色度の動きの損失を低減し、ピクセル毎にＳＣＤに基づいた動的な閾値の変化を達成する。こうした輝度成分及び色度部分の独立制御のため、閾値ロジックは、色度の動きにおける大きな損失なく、著しい輝度エッジノイズを抑制するようにプログラムできる。
【００４５】
ＳＣＤ検出ブロック
ＳＣＤ検出ブロック（７２０）は、副搬送波の特徴を、空間的及び時間的の両方でチェックすることにより、副搬送波を検出する。空間的領域では、サンプリングクロックが副搬送波周波数の四倍であり、カラーバーストを介して副搬送波にロックされるため、交互の副搬送波サンプルでは、大きさはほぼ等しくなるが、位相又は符号が反対になる。更に、副搬送波は、ラインに渡って位相を１８０度変化させるため、これを使用することもできる。時間的領域において、副搬送波は、フレーム毎に位相を１８０度反転させるため、隣接する二フレーム間には著しい差が存在し、二フレーム離れたフレーム間の差は遙かに少なくなる。したがって、空間的領域と時間的領域の両方を調べることで、閾値ロジックの制御のために、およその副搬送波検出を行うことができる。図９において確認できるように、ＳＣＤブロック（７２０）は、副搬送波検出のために三つのフレームタップＦ２、Ｆ１、及びＦ０（即ち、現行フレーム、先行フレーム、及び先行フレームの前のフレーム）を受領する。
【００４６】
可変閾値ロジックブロック
図１０は、可変閾値ロジックブロック（７１０）の概略ブロック図を示す。図１０において確認できるように、コンポジットビデオ信号が着信し、現行ピクセル（Ｐｎ）が選択され、現行ピクセル（Ｐｎ）について可変閾値が決定される。ロジックは、現行ピクセル（Ｐｎ）を水平方向で先行ピクセル（Ｐｎ−１）及び次のピクセル（Ｐｎ＋１）と比較し、上で説明したように、最大の差を選択する。この差は、検出された最大スロープ振幅を表す。垂直差評価ブロックでは、現行の線の現行ピクセル（Ｐｎ）と、先行する線及び次の線で同じ位置にあるピクセルをそれぞれ選択することで、垂直方向においても、対応する決定がなされる。最大の水平スロープ及び垂直スロープがそれぞれ決定されると、現行ピクセルに対する閾値のセットが生成される。閾値は、検出されたスロープ値と直線的に比例する。比例定数は、変化させることができる。一部の実施形態においては、閾値は、検出されたスロープ値に対して非線形にすることができる。更に、計算された閾値に作用する最小及び最大クリッピング関数をプログラムし、最終的な閾値が、何らかの最小閾値を有するようにプログラムすること、或いは、何らかの上限を超えないようにプログラムすることが可能である。一実施において、可変閾値ロジックブロック（７１０）は、Ｆ２、Ｆ１、及びＦ０といった、いくつかの隣接フレームに対する閾値を決定可能であり、それぞれのフレームについて決定された最大値又は最小値を最終的な閾値として決定できる。
【００４７】
可変閾値ロジックは、サンプリングクロックのジッタ／変動に起因する信号エッジでのピクセル値の変動による偽の動きを除去するのに役立つ。信号エッジが高いほど、同じ量のジッタで発生する変動は大きくなる。したがって、急峻なスロープに位置するピクセルは、高い閾値を有するべきである。同時に、こうしたエッジでは動き値が高くなるため、閾値は、本体の動きをマスクしない。可変閾値は、例えば、ピクセルが位置するスロープの１０％等のパーセンテージを取り出すことで生成される。このパーセンテージは、カラーバーストの分散の尺度（即ち、二フレーム離れたサンプル）に基づいて、更に適応的に決定される。
【００４８】
一実施形態において、３タップ水平ウィンドウを３タップ垂直ウィンドウと組み合わせ、５タップ適応閾値ウィンドウを形成する。図１１は、こうした５タップ適応閾値ウィンドウの例を示す。閾値を決定する現行ピクセルは、それぞれのウィンドウの中央に位置する。現行ピクセルと隣接ピクセルとの絶対差が決定され、決定された差の最大の差が、スロープとして定められる。例えば、図１１では、現行ピクセルを、周囲のピクセルの値である値１、２、３、及び４とそれぞれ比較し、最大の差を最終的なスロープとして取り出し、最終的なスロープから、ピクセルＰｎの閾値を導く。パーセンテージ値は、輝度／色度ピクセル値に基づいた適応的なものとなり、例えば、色度／輝度検出に基づいてｘ％又はｙ％となる。
【００４９】
一実施形態において、水平閾値は、以下の式にしたがって計算される。
Vthr(水平)=[[Max{|Pn-(Pn-1)|,|Pn-(Pn+1)|}]*(プログラム可能な減衰)]+プログラム可能なDC閾値(最小レベル)
【００５０】
一実施形態において、デコーダは、同期エッジ又はカラーバースト領域を検出し、例えばファームウェアを使用して、動きの分散を決定できる。こうして検出された分散は、一フレームの動き又は二フレームの動きに対するものとすることができ、プログラム可能な閾値利得である線形パーセンテージ閾値をプログラムするのに使用できる。プログラム可能な可変閾値パーセンテージ利得は、追加として、検出された色度／輝度に基づいて適応させることができる。閾値ロジックは、更に、プログラム可能な最小ＤＣオフセットを有する。最大クリッピングロジックは、閾値がプログラム済み上限値を超える場合、出力レベルを上限値にクリップする。同じロジックは、更に垂直方向において、即ち、ラインに渡る方向にも、設けられている。当業者が理解できるように、水平及び垂直タップの閾値パーセンテージ及びＤＣオフセットは、別々にプログラムできる。したがって、垂直ロジックにはラインメモリが必要であるため、２Ｄロジックラインメモリを共有できないときは、水平ロジックのみにできる。最後に、図９において確認できるように、可変閾値を動き検出ロジックブロック（７３０）内の動き値から減算し、動き出力値（モーションアウト値）を生成する。
【００５１】
色度／輝度検出ロジック
図１０の色度／輝度検出ロジックブロック（８１０）は、二つの要素に基づいて色度の特徴／シグネチャをチェックすることで、色度／輝度信号を大まかに検出する。第一の要素は、４ｆｓｃサンプリングに基づく。調査中のピクセルが色度サイクルの一部である場合、全ての交互のサンプルで、大きさがほぼ等しくなり、符号は反対になるはずである。整流後、四つの色度ピクセル間での隣接ピクセルの絶対差は、ほぼ同じになるはずである。第二の要素は、色度の振幅のチェックである。静止画像において、一フレームの差が二フレームの差より大きい場合、色度が検出され、そうでない場合、ピクセルは、色度ピクセルではない。
【００５２】
こうした二つのチェックに基づいて、デコーディング中のピクセルが色度サイクル上にあるか、輝度信号上にあるかを決定できる。更に、この決定に基づいて、可変閾値パーセンテージは、色度／輝度ピクセルに対して異なるものとして判断され、例えば、輝度に対しては３０％、色度に対しては１０％として判断される。なお、閾値パーセンテージ（利得）とＤＣオフセット最小及び最大クリップ値とは、各動き経路について独立してプログラム可能である。
【００５３】
色度／輝度検出ロジック（８１０）の様々な部分の更に詳細な図は、図１２乃至１５に図示されている。図１２は、時間的色度振幅チェックのロジックを示しており、一フレーム及び二フレームの差をそれぞれチェックし、１又は０である第一の色度／輝度状態値を出力し、値１が色度を表す。図１３は、４ｆｓｃ空間的サンプリングチェックのロジックを示しており、全ての交互のサンプルの大きさがほぼ等しく、符号が反対であるかどうかをチェックし、１又は０である第二の色度／輝度状態値を出力し、値１が色度を表す。図１４は、図１３の色度サンプル比較ブロックの更に詳細な図を示しており、色度が検出された場合には、四つのフリップフロップの全てが１に設定される。最後に、図１５は、第一及び第二の色度／輝度状態値をどのように比較して、可変閾値ロジックブロック（７１０）で使用される最終的な色度／輝度状態値を生成するかを示している。
【００５４】
ＰＡＬのための適応化
ＰＡＬ（Phase Alternating Line）は、例えば欧州等で使用されるビデオ規格であり、ＮＴＳＣ規格とは多数の形で異なっている。本願の目的において、最も大きな違いは、副搬送波の位相が、ＮＴＳＣのように一つのフレームではなく、二つのフレームで１８０度ずれていることである。結果として、副搬送波は、四フレーム毎に同じ位相となる。ＰＡＬにおいて、３Ｄ色度信号は、二フレーム離れたビデオ信号を減算することで生成される。色度の動きは、現行信号、一フレーム遅延信号、及び二フレーム遅延信号（即ち、Ｆ２、Ｆ１、及びＦ０タップ）を使用することで検出される。
【００５５】
図１６は、ＰＡＬにおいて低周波数の動きを検出するための略ブロック図を示しており、図４Ａ及び４Ｂに関して上で説明した、ＮＴＳＣでの低周波数の動きの検出と類似しているが、ただしＰＡＬ用のものでは二フレームの差のみが使用される。
【００５６】
図１７は、ＰＡＬにおいて色度の動きを検出するための略ブロック図を示しており、図５Ａ及び５Ｂに関して上で説明した、ＮＴＳＣでの色度の動きの検出と類似しているが、ただし、ＰＡＬ用のものでは、Ｆ０及びＦ２信号は、減算される代わりに加算及びクリップされる。
【００５７】
図１８は、ＰＡＬのみに対してＭ５＿Ｐの輝度の動きを検出するための概略ブロック図を示している。なお、図１８に図示したロジックでは、輝度だけの領域においてのみ適切な動きが得られる。図１８のロジックがカラー領域で使用された場合、大きな偽の動きが生じる。Ｍ５＿Ｐの動きについては、下で更に詳細に説明する。
【００５８】
図１９は、ＰＡＬのみに対してＭ６＿Ｐの輝度の動きを検出するための概略ブロック図を示している。なお、図１９に図示したロジックでは、輝度だけの領域においてのみ適切な動きが得られる。図１９のロジックがカラー領域で使用された場合、大きな偽の動きが生じる。Ｍ６＿Ｐの動きについては、下で更に詳細に説明する。
【００５９】
図２０は、ＰＡＬでの動きを検出するための概略ブロック図を示す。ＰＡＬ１信号は、図１８、１９、及び５Ａにそれぞれ図示したように得られたＭ５＿Ｐ、Ｍ６＿Ｐ、及びＭ３＿ＮＰの最大のものであり、輝度の動きの最大レンジを検出するのに使用される。ＰＡＬ２信号は、図４Ａ、１６、６Ａ及び１７にそれぞれ図示したように得られた信号Ｍ１＿ＮＰ、Ｍ２＿ＮＰ、Ｍ３＿Ｐ、Ｍ４＿ＮＰ、及びＭ８＿Ｐの最大のものであり、色度の動きと、低周波数の輝度の動きとを検出するのに使用される。ＰＡＬでの動きは、ＰＡＬ１及びＰＡＬ２の最小値となるように決定される。
【００６０】
図２０において確認できるように、Ｍ８＿Ｐ及びＭ４＿ＰのＰＡＬの動きの経路は、高周波カラー静止領域に対して生成された偽の動きを除去するマスクロジック（Ｍ８マスク）を有する。Ｍ８マスクロジックが必要となるのは、色度信号が、高周波カラー領域での二フレームの加算によって相殺されないためである。色度信号は、搬送波周波数近くの輝度を含み、これにより、ビデオ信号では、二フレームに渡る正確な１８０度の位相のずれが生じなくなり、結果として偽の動きが生じる。したがって、Ｍ８マスクロジックは、静止高周波カラー領域での偽の動きをマスクし、更に、色度の色遷移による偽の動きをマスクする。Ｍ８マスクロジックの更に詳細な図は、図２３において確認できる。図２３において確認できるように、Ｍ８マスクロジックは、次の入力、即ち、M1_NPと、M2_NPと、M3_Pと、M4_NPと、M5_Pと、M6_Pと、M8_Pと、F2、F1、及びF0と、CLD STATUSと、M8 Mask Enと、M8_Mask_threshold_control_regsとを受領する。Ｍ８マスクロジックは、空間的色度シグネチャと、時間的色度シグネチャと、低周波数の動きと、Ｆ２、Ｆ１、及びＦ０に渡る色度信号極性と、Ｆ２、Ｆ１、及びＦ０に渡る４サンプルウィンドウの平均値とのような信号の特徴を検査し、マスク信号（M8_Mask）を生成する。図２３に図示した実施においては、マスク信号がＰＡＬ動き検出ブロックによって更に処理される前に、ストレッチ／拡張ロジックが、M8_Mask信号のために更に提供される。
【００６１】
一実施形態においては、一フレームの色度が使用されるＮＴＳＣモードのために、小さなマスクロジックが提供される。一フレームの色度の動きが使用される時には、コンポジット信号を形成する方法のため、一フレーム色度動き回路によって偽の動きが生成され得る。マスクロジックは、こうした偽の動きを検出及びマスクする。
【００６２】
図２１は、３Ｄ色度信号を生成する方法の概略ブロック図を示す。図２１において確認できるように、ＰＡＬでは、フレームＦ２及びＦ０を使用して３Ｄ色度の生成が行われ、ＮＴＳＣでは、フレームＦ２及びＦ１を使用して３Ｄ色度の生成が行われる。３Ｄ色度バンドパスフィルタについてのバイパスオプションも存在する。一実施形態において、デフォルトでは、バンドパスフィルタを使用し、色度信号のために完全な帯域幅を使用できるようにする。しかしながら、何らかの理由で、大きな帯域幅が色度のオーバシュートといったアーチファクトを形成する場合には、例えば、この経路のバンドパスフィルタを有効にして、低周波数の動きを無効化できる。
【００６３】
最後に、図２２は、複合ＮＴＳＣ／ＰＡＬシステムにおける最終的な動きの決定の概略ブロック図を示す。ＮＴＳＣでの動きは、図７に関して上で説明したように、Ｍ１＿ＮＰ、Ｍ２＿ＮＰ、Ｍ３＿ＮＰ、及びＭ４＿ＮＰ信号のうち最大のものである。ＰＡＬの動き信号は、図２０に関して上で説明したように生成される。ＮＴＳＣ／ＰＡＬモードの検出信号に基づいて、ＮＴＳＣ＿ＭＯＴＩＯＮ又はＰＡＬ＿ＭＯＴＩＯＮのいずれかが選択される。選択された動き信号は、その後、スパイクを除去するために３タップメディアンフィルタにおいてフィルタリングされ、最後に、動き信号が最大値として１６を有するように、５ビットにクリップされる。動き信号は、その後、上で説明したように２Ｄ及び３Ｄデコーディングを組み合わせる図２の混合器（１１０）に入力される。
【００６４】
本発明は、デジタル電子回路において実施可能であり、或いは、コンピュータハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせにおいて実施可能である。本発明の装置は、プログラム可能なプロセッサによる実行のために、機械読み取り可能な記憶デバイスで明白に具象化されるコンピュータプログラム製品において実施可能であり、本発明の方法ステップは、入力データに影響を与えて出力を生成することで本発明の機能を遂行するために、命令のプログラムを実行するプログラム可能なプロセッサによって実行できる。本発明は、データ記憶システムと、少なくとも一つの入力デバイスと、少なくとも一つの出力デバイスとからデータ及び命令を受信し、これらに対してデータ及び命令を送信するように結合された少なくとも一つのプログラム可能なプロセッサを含む、プログラム可能なシステム上で実行可能な一つ以上のコンピュータプログラムにおいて、有利な形で実施できる。各コンピュータプログラムは、高レベル手続き型又はオブジェクト指向プログラミング言語において、或いは、望ましい場合には、アセンブリ言語又は機械語において、実施可能であり、どの場合であっても、言語はコンパイラ型又はインタプリタ型言語にすることができる。適切なプロセッサには、例として、汎用及び特殊用途マイクロプロセッサの両方が含まれる。一般に、プロセッサは、命令及びデータを読み取り専用メモリ及び／又はランダムアクセスメモリから受信する。一般に、コンピュータは、データファイルを格納する一つ以上の大容量記憶デバイスを含み、こうしたデバイスは、内蔵ハードディスク及びリムーバブルディスクといった磁気ディスクと、光磁気ディスクと、光ディスクとを含む。コンピュータプログラム命令及びデータを明白に具象化するのに適した記憶デバイスは、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリデバイス等の半導体メモリデバイスを例として含む、あらゆる形態の不揮発性メモリと、内蔵ハードディスク及びリムーバブルディスクといった磁気ディスクと、光磁気ディスクと、ＣＤ−ＲＯＭディスクとを含む。上記のいずれかを、ＡＳＩＣ（特定用途向け集積回路）により補足すること、或いはこれに組み込むことが可能である。
【００６５】
ユーザとの対話に備えて、本発明は、ユーザに対して情報を表示するモニタ又はＬＣＤ等の表示デバイスを有するコンピュータシステム上で実施できる。ユーザは、キーボード及びマウス等のポインティングデバイス、トラックボール、マイクロフォン、タッチセンシティブディスプレイ、トランスデューサカードリーダ、磁気又は紙テープリーダ、タブレット、スタイラス、音声又は手書き認識器、或いは、当然ながら、他のコンピュータのような他の任意の周知の入力デバイスといった、様々な入力デバイスを介して、コンピュータシステムに入力を提供できる。コンピュータシステムは、コンピュータプログラムがユーザと対話するグラフィカルユーザインタフェースを提供するようにプログラムできる。
【００６６】
最後に、プロセッサは、随意的に、ネットワーク接続を使用して、例えばインターネットネットワーク又はイントラネットネットワーク等のコンピュータ又は電気通信ネットワークに結合可能であり、プロセッサは、ネットワーク接続を介して、上記の方法ステップを実行する過程で、ネットワークから情報を受領することが可能であり、或いは、ネットワークに情報を出力してもよい。こうした情報は、プロセッサを使用して実行されるべき命令のシーケンスとして表現される場合が多く、例えば、搬送波内で具象化されたコンピュータデータ信号の形態で、ネットワークとの間で受信及び出力してよい。上記のデバイス及び機材は、コンピュータハードウェア及びソフトウェア技術の業者によく知られているであろう。
【００６７】
なお、本発明は、コンピュータシステムに格納されたデータが関与する様々なコンピュータ実施ステップを利用する。こうしたステップは、その一部として、物理的な量の物理的な操作を要するものを含む。通常、必ずではないものの、こうした量は、格納と、転送と、結合と、比較と、その他の操作とが可能な電気又は磁気信号の形態をとる。本発明の一部を形成する、本明細書で説明したステップは、有用な機械ステップである。実行される操作は、生成、特定、起動、決定、比較、実行、ダウンロード、又は検出といった用語で呼ばれる場合が多い。主に共通する使用法の理由から、こうした電気又は磁気信号を、ビット、値、要素、変数、文字、データ、又はその他と呼ぶことが都合のよい場合がある。しかしながら、こうした用語及び類似する用語の全ては、該当する物理的な量に関連付けられるものであり、こうした量に付与する都合のよい標識にすぎない。
【００６８】
本発明は、更に、上記のステップを実行するデバイス、システム、又は装置に関する。システムは、必要な目的のために特別に構築してよく、或いは、コンピュータに格納されたコンピュータプログラムによって選択的に始動又は構成される汎用コンピュータにしてよい。上に提示したプロセスは、任意の特定のコンピュータ又はその他の計算装置に生得的に関連するものではない。特に、様々な汎用コンピュータを、本明細書の教示内容に従って書かれたプログラムで使用してよく、或いは、代替として、必要なステップを実行するために、より特化したコンピュータシステムを構築する方が都合のよい場合もある。
【００６９】
本発明の多数の実施について説明した。しかしながら、本発明の趣旨及び範囲から離れることなく、様々な修正を加え得ると理解されるであろう。例えば、本発明は、テレビ信号の放送に一般的に使用されるＮＴＳＣ及びＰＡＬビデオ信号を参照して、上で説明を行ったが、本発明は、ＤＶＤプレイヤから出力されるビデオ信号等、コンポーネントビデオにも等しく応用可能である。したがって、その他の実施形態は、以下の請求項の範囲内にある。
【図面の簡単な説明】
【００７０】
【図１】本発明によるデコーダによって実行されるプロセスの高レベルフローチャート。
【図２】本発明によるデコーダの概略ブロック図。
【図３】図１の動き検出処理の高レベルフローチャート。
【図４Ａ】低周波数の動きを検出する回路の概略ブロック図。
【図４Ｂ】低周波動き検出プロセスのフローチャート。
【図５Ａ】色度及び／又は輝度の高周波数の動きを検出するのに使用されるロジックの概略ブロック図。
【図５Ｂ】高周波色度及び／又は輝度に対する動き検出プロセスのフローチャート。
【図６Ａ】輝度の動きがより少ないときの色度及び／又は輝度の高周波数の動きを検出するのに使用されるロジックの概略ブロック図。
【図６Ｂ】動きの少ない高周波色度及び／又は輝度に対する動き検出プロセスのフローチャート。
【図７】ＮＴＳＣの動きを決定する方法の概略ブロック図。
【図８】デコーダの混合器（１１０）の動作を更に詳細に示す概略ブロック図。
【図９】デコーダの適応閾値ロジック（１２０）を示す概略ブロック図。
【図１０】適応閾値ロジック（１２０）の可変閾値ロジックブロック（７１０）を更に詳細に示す概略ブロック図。
【図１１】５タップ適応閾値ウィンドウの例を示す図。
【図１２】色度振幅を時間的にチェックするためにデコーダにおいて使用されるロジックを示す概略ブロック図。
【図１３】４ｆｓｃサンプリングの空間的チェックを行うためにデコーダにおいて使用されるロジックを示す概略ブロック図。
【図１４】図１３の色度サンプル比較ブロックの更に詳細な図。
【図１５】可変閾値ロジックブロック（７１０）によって使用される最終色度／輝度状態値を生成する方法を示す図。
【図１６】デコーダにおいてＰＡＬに関する低周波数の動きを検出するための概略ブロック図。
【図１７】デコーダにおいてＰＡＬに関する色度の動きを検出するための概略ブロック図。
【図１８】本発明の第一の実施形態による、デコーダにおいてＰＡＬに関する輝度の動きを検出するための概略ブロック図。
【図１９】本発明の第二の実施形態による、デコーダにおいてＰＡＬに関する輝度の動きを検出するための概略ブロック図。
【図２０】デコーダにおいてＰＡＬの動きを検出するために使用されるロジックの概略ブロック図。
【図２１】デコーダにおいて３Ｄ色度信号を生成するために使用されるロジックの概略ブロック図。
【図２２】複合ＮＴＳＣ／ＰＡＬシステムでの最終的な動きの決定を行うために使用されるロジックの概略ブロック図。
【図２３】ＰＡＬ信号での高周波カラー静止領域に対して生成された偽の動きを除去するために使用されるマスクロジックの概略ブロック図。
【図１】
2005184849.tif 000005
【図２】
2005184849.tif 000006
【図３】
2005184849.tif 000007
【図４Ａ】
2005184849.tif 000008
【図４Ｂ】
2005184849.tif 000009
【図５Ａ】
2005184849.tif 000010
【図５Ｂ】
2005184849.tif 000011
【図６Ａ】
2005184849.tif 000012
【図６Ｂ】
2005184849.tif 000013
【図７】
2005184849.tif 000014
【図８】
2005184849.tif 000015
【図９】
2005184849.tif 000016
【図１０】
2005184849.tif 000017
【図１１】
2005184849.tif 000018
【図１２】
2005184849.tif 000019
【図１３】
2005184849.tif 000020
【図１４】
2005184849.tif 000021
【図１５】
2005184849.tif 000022
【図１６】
2005184849.tif 000023
【図１７】
2005184849.tif 000024
【図１８】
2005184849.tif 000025
【図１９】
2005184849.tif 000026
【図２０】
2005184849.tif 000027
【図２１】
2005184849.tif 000028
【図２２】
2005184849.tif 000029
【図２３】
2005184849.tif 000030
【外国語明細書】
1. TITLE OF THE INVENTION
MOTION DETECTION IN VIDEO SIGNALS
2. DETAILED DESCRIPTION OF THE INVENTION
[0001]  This invention relates to 3D motion adaptive decoding of video signals.  
[0002]  In the National TV Systems Committee (NTSC) standard for television transmission, RGB (Red Green and Blue) signals from a television camera are converted into a luma signal and a chroma signal to allow for efficient transmission.  The luma signal, which is typically labeled 'Y', describes the brightness and maximum detail of a picture registered with the television camera.  The chroma signal is a combination of two color difference signals R-Y (red minus Y) and B-Y (blue minus Y), both of which are bandwidth limited to about 1 MHz.  The respective color difference signals are used to modulate the phase and amplitude of a 3.58 MHz sub-carrier signal.  The phase modulation represents the hue, or specific color intended, whereas the amplitude modulation represents the intensity, or saturation, of the color difference signal.    The frequency of the sub-carrier is chosen such that the chroma signal can be frequency interleaved with the luma signal to generate a single, composite signal having no energy interference between the chroma and luma signals.
[0003]  When a television set receives the NTSC composite signal, the composite signal is decoded in a decoder to separate the luma and chroma signals.  The chroma signal is then demodulated into R-Y and B-Y component signals that can be used to recreate RGB signals to be displayed on the television screen.  Since the luma and chroma signals share the same frequency bandwidth at around 3.58 MHz, and the luma and chroma signals are not prefiltered before they are added, the luma and chroma signals cannot be fully separated in the decoding process.  Thus, as a result of the crosstalk between the luma and chroma signals, various decoding artifacts are present.  A number of methods have been designed to achieve a better separation of the luma and chroma signals during the decoding process in order to minimize the decoding artifacts.
[0004]  Fundamentally, there are two methods for separating the luma and chroma signals.  Both involve filters that are designed to discern one portion of the composite signal from the other.  The first method uses a "notch/bandpass filter," and the second method uses a "comb filter."  As will be seen below, there are many different types of comb filters that all have specific advantages and drawbacks.
[0005]  The notch filter is designed to pass all frequencies of the composite signal, except the frequency of the chroma signal centered at 3.58 MHz.  As a result, the chroma signal is removed, but so is also a corresponding portion of the luma signal, resulting in a loss of high frequency luma information.  The notch filter is used in parallel with a bandpass filter, which passes only the frequencies in the narrow chroma band and outputs the chroma signal and the high frequency portion of the luma signal.  In summary, the notch/bandpass filter method has the advantages of being a simple, low-cost approach with little or no loss of vertical resolution (that is, low frequencies).  The drawbacks are that the luma resolution is lost and that heavy display artifacts result when the high frequency luma is treated as chroma (which is known as a "rainbow pattern" artifact), and when chroma is treated as luma (which is known as dot crawls).  
[0006]  The comb filtering methods are based on that the sub-carrier phase is designed to reverse by 180 degrees between two adjacent image lines (and thereby also between two adjacent frames, since there is an odd number of lines within a frame).  There are two major types of comb filtering: line combing and frame combing.  In both methods, the basic concept involves adding or subtracting two identical signals that have the chroma phase reversed by 180 degrees.  When adding the signals, the chroma signal is canceled out and the luma signal is output, and when subtracting the signals, the luma information is lost and the chroma signal is output.
[0007]  In line combing, one line, two lines or three lines can be used.  When a single line is used, the incoming video signal is delayed by one line and the corresponding delayed and un-delayed pixels are added and subtracted, respectively, to obtain the luma and chroma signals.  When two lines are used, weighted addition and subtraction of one-line delayed, two-line delayed and un-delayed pixels are used to obtain the luma and chroma signals, respectively.  When three lines are used, a correlation is determined between lines 1 and 2, and lines 2 and 3, respectively, and the comb filtering is performed on the two lines that have the best correlation.  The three-line adaptive comb filter is often referred to as a 2D adaptive comb filter.  All line combing methods produce better results than the notch/bandpass filter method, but still show cross-color, vertical resolution loss, and dot crawls when a single line color is present.
[0008]  Frame combing is similar to line combing, but instead of comparing two adjacent lines within a single frame, two lines with the same position within two adjacent frames are used for the combing, thereby extending the comb filtering into the temporal domain.  However, frame combing can only be performed for still portions of an image.  If motion is present, then it is necessary to revert back to 2D-combing.  The method of using the motion detection to change comb filtering from line combing to frame combing is referred to as motion-adaptive decoding, or 3D adaptive decoding.  The 3D adaptive decoding keeps full horizontal and vertical resolution without dot crawls and cross color for still images.  However, motion artifacts, such as large area dot crawls and ghosting shadows, can be present    
[0009]  In the 3D adaptive decoding, the comb filtering is switched between the 3D and 2D comb filtering methods on a pixel-by-pixel basis.  If no motion is present, then the 3D comb filter is applied, and if motion is present, then the 2D comb filter is applied.  Hence, there is a need to minimize the motion artifacts by accurately detecting whether there is "true motion" between two frames, or whether the perceived motion is "false motion" due to, for example, jitter or noise.  
SUMMARY
[0010]  In general, in one aspect, the invention provides methods and apparatus, including computer program products, implementing and using techniques for distinguishing false motion from true motion, in a video signal that is received by a television set. The video signal is received at the television set.  The video signal includes a luma component and a chroma component.  A motion detection operation is performed for each of the chroma component and the luma component in several frequency regions of the received video signal.  Each frequency region has a unique threshold value for distinguishing false motion from true motion, which is dynamically adjusted based on the incoming video signal.  This improves the motion detection accuracy and minimizes image artifacts in an image that is described by the video signal and is to be displayed on the television set. 
[0011]  Advantageous implementations can include one or more of the following features.  The motion detection operation can be performed on a pixel-by-pixel basis in one or more of: a low frequency luma domain, a high frequency chroma domain, a high frequency luma domain, and each frequency domain where the motion detection operation is performed can have a separate threshold value that is dynamically determined for each pixel that is undergoing the motion detection operation.  The threshold for a pixel undergoing the motion detection operation can be determined as a percentage of the difference in pixel values between the pixel undergoing the motion detection operation and one or more neighboring pixels in an image described by the video signal.  Performing a motion detection operation can include determining the final motion value to be the maximum chroma motion or luma motion among the chroma and luma motions detected in the different frequency regions.  The final motion value can be clipped to be represented by a 5-bit value, and the clipped final motion value can be supplied to a blender that outputs a 2D decoded video signal, a 3D decoded video signal, or a combination of a 2D decoded video signal and a 3D decoded video signal, based on the clipped final motion value.
[0012]  The low frequency motion for the luma domain can be obtained by performing the following series of operations: subtracting a one-frame delayed pixel from the pixel undergoing the motion detection operation to obtain a motion value, the one-frame delayed pixel and the current pixels having the same positions within two image frames; lowpass-filtering the motion value; converting any negative motion value to a corresponding positive motion value; subtracting a first threshold value determined for the current pixel from the motion value to obtain a low frequency motion value; and if the low frequency motion value after subtraction of the first threshold value is less than zero, setting the low frequency motion value to zero.
[0013]  The high frequency motion for the chroma domain can be obtained by performing the following series of operations: subtracting a two-frame delayed pixel from the pixel undergoing the motion detection operation to obtain a motion value, the two-frame delayed pixel and the current pixels having the same positions within two image frames; converting any negative motion value to a corresponding positive motion value; subtracting a second threshold value determined for the current pixel from the motion value to obtain a high frequency motion value; if the high frequency motion value after subtraction of the second threshold value is less than zero, setting the high frequency motion value to zero; and lowpass-filtering the high frequency motion value.
[0014]  The high-frequency motion for chroma and luma with less luma motion can be obtained by performing the following operations:  determining whether a one-frame chroma mode or a two-frame chroma mode has been selected; when the two-frame chroma mode has been selected, rectifying and subtracting two one-frame difference signals to obtain a resulting signal; when the one-frame chroma mode has been selected, bandpass filtering, rectifying and subtracting a one-frame delayed pixel from the pixel undergoing the motion detection operation to obtain a resulting signal, the one-frame delayed pixel and the current pixels having the same positions within two image frames; converting any negative motion value of the resulting signal to a corresponding positive motion value; subtracting a third threshold value determined for the current pixel from the motion value to obtain a high frequency motion value;  if the high frequency motion value after subtraction of the third threshold value is less than zero, setting the high frequency motion value to zero; and lowpass-filtering the high frequency motion value.
[0015]  The adjustable threshold value can be determined on a pixel-by-pixel basis based on a detected edge, a detected edge slope, and a sub-carrier detection.  A first threshold value can be assigned if a sub-carrier is detected, and a second threshold value can be assigned if no sub-carrier is detected, thereby achieving independent threshold values for chroma and luma portions of an image.  The sub-carrier can be detected by searching for temporal and spatial sub-carrier characteristics, including predetermined patterns for the sub-carrier magnitude, the sub-carrier phase, and the sub-carrier sign. 
[0016]  Performing a motion detection operation for each of the chroma component and the luma component in several frequency regions of the received video signal can include: detecting false motion generated for high-frequency chroma still regions of an image by examining one or more of the following characteristics of the received video signal: a spatial chroma signature, a temporal chroma signature, low frequency motion, chroma signal polarity across two or more image frames of the video, and the average value of a sample window across two or more image frames of the video; and generating a mask signal that is free of false motions, based on the examined characteristics of the received video signal.  The video can conform to a PAL video standard, a NTSC video standard, or a component video standard.  One or more of a synch edge and a color burst region of the video signal can be detected, and a motion variance of the detected synch edge or color burst region can be determined, and the determined variance can be used to 
set a programmable variable threshold gain percentage for the video signal.  The programmable variable threshold gain percentage for the video signal can also be adapted based on the detected chroma and/or the detected luma.
[0017]  The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims. 
[0018]  Like reference symbols in the various drawings indicate like elements. 
DETAILED DESCRIPTION
Overview
[0019]  The invention relates to methods and apparatus for detecting motion in video signals, such as composite NTSC, PAL signals or component video signals, which are received by a television set.  First, an overview of a decoder implementing the novel motion detection scheme will be given, and then the motion detection in the various frequency regions will be presented.  This will be followed by a description of how the individual threshold values are adjusted and a presentation of how the detected motion is used by a blender in the decoder to determine whether to output a 2D or 3D decoded signal.  The discussion herein will primarily be focused on NTSC signals, but is equally applicable to PAL signals, or to component video signals, with some minor modifications that will be addressed at the end of this description.
[0020]  FIG. 1 shows a high-level flowchart of a process (1000) performed by a 3D decoder implementing the novel motion detection scheme.  As can be seen in FIG. 1, a composite video signal containing both chroma and luma components is received in the decoder (step 1002).  A motion detection operation is then performed on the incoming composite video signal (step1004).  As will be discussed in further detail below, the motion detection operation is performed both for chroma and luma in several frequency regions.  Each region has a unique threshold value that is adjustable and therefore allows for better detection of "true motion" versus "false motion," resulting in a decoded image with fewer motion artifacts compared to conventional 3D decoders.  The process then examines whether motion was detected or not in the motion detection operation (step 1006).  If motion was detected, the process proceeds to step 1008 where 2D logic is used to decode the composite signal.  However, if no motion was detected in step 1006, the process continues to step 1010 where 3D logic is used to decode the composite signal.      
[0021]  FIG. 2 shows a schematic block diagram of a decoder (100) for decoding NTSC composite signals received by a television set.  The 3D decoder (100) receives a composite video signal (102).  The composite video signal (102) is delayed by one and two lines, respectively, in a first and a second line delay (104; 106).  A current line signal (L1) along with a one-line delayed signal (L2) and a two-line delayed signal (L3) enters an adaptive 2D decoder (108) with vertical logic, horizontal logic, and single-line logic.  The adaptive 2D decoder (108) filters out the chroma signal (2D_C) from the composite video signal, and passes the filtered 2D_C chroma signal to a blender (110), which will be described in further detail below.   The one-line delayed signal (L2) is also passed to a delay (112), which compensates for the processing time required for filtering out the chroma signal, to generate the luma signal (Y).
[0022]  In addition to the adaptive 2D decoder (108), the decoder (100) contains logic for generating a motion-adaptive, 3D chroma signal (3D_C), which is also passed to the blender (110).  Two frame memories (114; 116) are used in the detection of chroma motion, as the chroma samples are in phase across two frames (that is, in frames F0 and F2), and a loss-free correlation can easily be determined in the motion detection block (118).  
[0023]  FIG. 3 shows a high-level flowchart of the motion detection operation of FIG. 1 (step 1004), which is performed by the motion detection block (118).  As can be seen in FIG. 3, the motion detection process starts by receiving an incoming frame signal, a one-frame delayed signal, and a two-frame delayed signal (step 3002).  A first pixel in the incoming frame signal is selected (step 3004).  The motion detection block (118) then receives separate threshold values for the low frequency luma domain, the high frequency chroma domain and the high frequency luma/chroma domain, respectively, from the variable threshold logic block (120) (step 3006).  As a result of the variable threshold logic block (120) supplying a separate threshold value for each pixel and each frequency domain, the motion detection is significantly improved compared to conventional motion detection techniques.  In one implementation, the threshold values are based on the pixel's value as compared to its immediate neighboring pixels.  The process determines the maximum motion among the motions in the different frequency domains to be the final motion value for the pixel (step 3008).   The process then checks whether all pixels in the incoming frame have been processed (step 3010).  If all pixels are done, the process ends.  Otherwise, a next pixel in the incoming frame is selected (step 3012), and the process repeats steps 3006 through 3010 until all pixels have been processed.  This motion detection process is performed for each received frame.  
[0024]  Returning now to FIG. 2, when the final motion value has been determined, the final motion value is passed from the motion detection block (118) to the blender (110) through a 3-tap median filter (122) and a delay block (124).  The median tap filter (122) filters the maximum motion value to remove any sparkle motion or non-motion points in the pixel stream.  The 3D chroma signal (3D_C) is generated from a current pixel and a corresponding pixel that is one frame prior, that is, F2-F1, and is then divided by a factor two (126).  A band pass filter (128) and a delay (130) are applied to signal before the signal is passed to the blender (110).  The band pass filter limits the bandwidth of the 3D chroma signal before the signal reaches the blender (110).   In one implementation, the chroma band pass filter (128) is a 5-tap filter with coefficients of -1/4, 0, 1/2, 0, -1/4, with the middle tap being the current pixel undergoing decoding and two pixels on either side.  In another implementation, the chroma band pass filter (128) will be a wide band pass filter with a pass band of around 3 MHz centered around the sub-carrier frequency.  
[0025]  Based on the detected motion in the motion detection block (118), the blender (110) decides whether to output the 2D chroma signal or the 3D chroma signal.  If motion is present, the 2D_C signal is output, and if no motion is present, then the 3D_C signal is output from the blender (110).  The signal from the blender goes to a color killer (132) that operates to remove chroma information in cases where the proper color cannot be displayed for various reasons, such as for monochrome inputs that lack a color burst signal, and so on.  Finally the separated chroma (C) and luma (Y) signals are output to the television set for generation of RGB signals to be displayed on the television screen.  
Low frequency motion detection
[0026]  FIG. 4A shows a schematic block diagram of the logic used in one implementation of the motion detection block (118) to detect low frequency motion.  FIG. 4B shows a corresponding flowchart for the low frequency motion detection process that is carried out in the motion detection block (118) of FIG. 4A.  The low frequency motion is determined by subtracting (202) a one frame delayed sample from an incoming frame, that is, F1-F0 (step 4002).  As was discussed above, in NTSC, the sub-carrier for two adjacent frames is 180 degrees out of phase.  Since the chroma signal is modulated on the sub-carrier, the result of the subtraction of frames F2 and F0 is that luma is canceled out and chroma and motion is obtained.  The signal (C) resulting from the subtraction F2-F1 is lowpass filtered (204) in order to remove the high frequency components including chroma (step 4004).  The same signal (C) is also used as input to the logic used to detect high frequency motion for chroma and/or luma, with less luma motion, which will be discussed in more detail below with reference to FIG. 6.  
[0027]  In one implementation, the lowpass filter (204) includes three 5-tap filters (2+2) with coefficients of 1/4, 0, 1/2, 0, 1/4, and a 3-tap lowpass filter (1+1) with coefficients of 1/4, 1/2, 1/4 at the output.  This combination of filters in the lowpass filter (204) helps in reducing noise in the motion path and removes sub-carrier portions that may be incorrectly interpreted as motion.  The lowpass filtered signal is then passed to a rectifier (206), which converts negative signals or values to positive signals or values (step 4006), and is then passed to a threshold logic block (208).  The threshold logic block (208) subtracts the threshold value determined by the variable threshold logic (120) from the incoming rectified motion value (step 4008).  The resulting signal is limited (210), that is, any negative values are clipped to zero while leaving positive values unchanged, to obtain the low frequency motion value (step 4010), and the lowpass filtered motion detection value is output (step 4012).  
[0028]  In one implementation, the third 5-tap filter has a bypass option.  The attenuation of the lowpass filter block (204) for NTSC signals can be found in Table 1 below, and the attenuation for PAL signals are listed in Table 2 below.
2005184849.tif 000031
2005184849.tif 000032
[0029]  In one implementation, in order to make the switching to 3D softer, the same low frequency motion detection is applied to a one-frame delay and a two-frame delay, respectively, shown in FIG. 4A by blocks 212 through 220.   Also here, the signal (D) resulting from the subtraction of signal F1 from F0 is used as input to the logic for detecting high frequency motion for chroma and/or luma, with less luma motion, shown in FIG. 6A. The maximum value of the F2-F1 motion and the F1-F0 motion, respectively, is determined as the final low frequency luma motion.  
High frequency motion detection for chroma and/or luma 
[0030]  FIG. 5A shows a schematic block diagram of one implementation of the logic used in the motion detection block (118) to detect high frequency chroma and/or luma motion.  FIG. 5B shows a corresponding flowchart of a motion detection process for high frequency chroma and/or luma. As can be seen in FIGs. 5A and 5B, in order to detect high frequency motion, a two-frame delayed sample is subtracted (302) from an incoming frame, that is, F2-F0 (step 5002).  The resulting signal is then rectified (304) (step 5004) and passed to a threshold logic block (306).  The threshold logic block (306) subtracts a second threshold value (step 5006) determined by the variable threshold logic (120) from the incoming motion value.  The resulting signal is limited (308) (step 5008) and low pass filtered with a 3-tap low pass filter (1+1) with coefficients of 1/4, 1/2, 1/4 (step 5010).   Since the sub-carrier of F0 and F2 has the same phase, this detection scheme provides proper chroma motion, as well as high frequency luma motion.  The resulting signal is then output (step 5012).
[0031]  In one implementation, the signals F2 and F0 can be bandpass filtered before they are subtracted in step 5002, so that low frequency luma motion is filtered out and only chroma band motion is present.  As a result, the resulting signal output in step 5012 will only contain chroma band motion.
Chroma / Luma motion with less luma motion
[0032]  FIG. 6A shows a schematic block diagram of the logic used in the motion detection block (118) to detect high frequency motion for chroma and/or luma, with less luma motion.  FIG. 6B shows a flowchart of a corresponding motion detection process carried out in the motion detection block (118).  As can be seen in FIGs. 6A and 6B, this motion estimation is fairly similar to the high frequency motion estimation discussed above with reference to FIGs. 5A and 5B.  The logic shown in FIG. 6A can operate in two modes.  In the first mode, the logic operates to detect chroma motion across two frames, with less luma motion.  In the second mode, the logic operates to detect one frame chroma motion. 
[0033]  First, the process (6000) determines whether the two-frame chroma mode or the one frame chroma mode should be used (step 6002).  In one implementation, this is determined by checking whether a one-frame chroma motion enable bit has been set.  If the one-frame chroma motion enable bit has not been set, then the two-frame mode is used and the process continues to step 6004, in which the two one-frame difference signals C (that is, F2-F1) and D (that is F1-F0) from FIG. 4A are rectified.  Signal D is then subtracted from signal C (step 6006) and the resulting signal is rectified (step 6014).  The threshold logic block then subtracts a third threshold value determined by the variable threshold logic (120) from the incoming rectified motion value (step 6016).  The resulting signal is limited (308) (step 6018) and low pass filtered (step 6020) in a 3-tap low pass filter (1+1) with coefficients of 1/4, 1/2, 1/4.   The resulting signal is then output (step 6022) and the process ends.  
[0034]  If the process determines in step 6002 that the one frame chroma motion enable bit has been set, that is, that one frame chroma motion detection should be used, the process (6000) does not use signals C and D, but instead uses frames F2 and F1.  Each of frames F2 and F1 are bandpass filtered (step 6008) and rectified (step 6010).  The rectified version of signal F1 is then subtracted from the rectified version of signal F2 (step 6012), and the resulting difference signal is then rectified (step 6014).  After the difference signal has been rectified in step 6014, the process continues with steps 6016 through 6022, as described above.
Final motion
[0035]  FIG. 7 shows a schematic block diagram of how the final NTSC motion is determined based on the motions determined for the different frequency regions.  The final motion file is the maximum of the motions determined above for the various frequency areas.  As was seen in FIG. 2 above, the final motion is then passed through a 3-tap horizontal median filter (122).  The 3-tap horizontal median filter (122) removes sparkle motion and no_motion points and/or lines.  The final NTSC motion is clipped to be 5 bits wide.  A maximum motion value of 16 will cause the decoder to output the 2D luma and chroma signals only.  A minimum motion value of zero will cause the decoder to output the 3D luma and chroma signals only.  Any values in between zero and 16 will cause the decoder to output a signal that is a blended 2D and 3D signal.  This blending is done in the blender (110), which will now be described in greater detail.  
The Blender 
[0036]  FIG. 8 is a schematic block diagram showing the operation of the blender (110) of the decoder in greater detail, in accordance with one implementation of the invention.  As was discussed above and can be seen in FIG. 8, the 2D chroma signal (2D_C) comes from the 2D chroma/luma separator, and the 3D chroma signal (3D_C) comes from the 3D chroma/luma separator.  The 5-bit motion output from the motion detection block (118) is also used as an input to the blender (110).  The chroma output from the blender is based on the 2D_C and 3D_C signals, which are blended as follows:
Chroma output = (2D_C * motion)/16 + (3D_C * (16-motion))/16
[0037]  The luma output is obtained by subtracting the chroma output from the input composite video (L2).  A color killer, which can be enabled and disabled by firmware, is used to remove color from being displayed in cases where the proper color cannot be displayed, for example, when the input composite video (L2) is a monochrome video signal.  In some implementations, a filter, such as an adaptive controlled filter, can be applied in the chroma path in order to enhance the cross-color suppression.  Similarly, adaptive filters can be put in the luma path in order to reduce cross-luma effects.
Threshold logic for motion detection
[0038]  As was discussed above, an effective way of decoding the composite signal is to perform motion based adaptive temporal decoding with a 3D comb filter, such that when no motion is present, then temporal combing (3D) is performed, and otherwise spatial combing (2D) is performed.  2D decoding has cross-color and dot crawl artifacts, while 3D decoding does not have these artifacts for still portions of an image.  Thus, the motion detection logic is very important in order to accurately detect the motion and thereby achieve a better image quality.  
[0039]  In one implementation, the motion detection is achieved by studying differences between a current frame and previous frames on a pixel-by-pixel basis.  The detected difference, that is, the "raw difference" needs to be processed in order to detect true motion.  Typically, motion detection logic contains some type of threshold logic, which controls how much raw motion will be suppressed based on system noise.  If this threshold value is increased, then the real motion will be lost in some cases, and if the threshold value is decreased, system noise will generate erroneous motion indications.  Therefore, it is desirable to have adaptive threshold logic.  Furthermore, the more dynamic the adaptive threshold logic is, the better the motion detection logic will perform.  In order to understand the various issues that need to be taken into account in the adaptive threshold logic, a brief overview of various noise types will now follow.
[0040]  The main causes for motion detection inaccuracies are random noise, sampling clock noise or jitter, diagonal transition noise due to camera shimmer, clamp noise and so on.  The following discussion will focus on sampling clock noise or jitter, and diagonal transition noise.  In addition to random low amplitude noise in video signals, the more high amplitude and high frequency noise for the 3D decoder motion detection logic is edge noise, which causes false motion across frames, and hence switching to 2D in those areas of the image, although 3D should be used.  The edge noise occurs as a result of the ADC (Analog to Digital Converter) sampling clock jitter, because of various reasons like clock edge noise, PLL (Phase locked loop) instability, PLL tracking, or the loop filter settings.  
[0041]  As a result of the sampling clock jitter, there are variations in the sampled signal amplitudes at all the signal edges.  These variations cause edge noise to be present, which is directly proportional to clock jitter and to the edge amplitude or the slope, that is, the difference in pixel values for two pixels that are located on either side of an edge.  In one implementation this difference is determined by determining a first difference of a current pixel and a previous pixel, and a second difference between a current pixel and a next pixel, and selecting the maximum of the two determined differences.  In order to address this problem, the threshold needs to be dynamically varied based on both edge detection and on the edge slope, on a pixel-by-pixel basis.
[0042]  The edge/slope adaptive threshold can be further improved based on sub-carrier detection.  Typically in a digitized composite video signal, the edge noise in the high frequency luma portions is higher than the edge noise in the high frequency chroma portions, since the sampling clock is locked to the color burst portion of the sub-carrier signal.  Furthermore, the luma edges typically have steeper slopes than the chroma edges, since the luma edges have high resolution up to around 5 MHz.  If the edge threshold is set high to mask high frequency luma edge noise, then some associated loss of real chroma motion will also occur.  However, if the edge/slope threshold is made adaptive based on sub-carrier detection, the threshold logic can be improved to be more effective, as will now be discussed.
Implementation of edge and sub-carrier detect logic for adaptive threshold logic
[0043]  FIG. 9 shows a schematic block diagram of the threshold logic (120) that includes an edge detection logic block (710) and sub-carrier detection (SCD) logic block (720).  The edge detection logic block (710), which will be described in further detail below, contains logic that allows a user to set a threshold value as a percentage of the edge, that is, how much of the slope amplitude should be assigned as an edge threshold.  
[0044]  This edge-based threshold is then made further adaptive through the SCD logic block (720), which examines the sub-carrier status.  The SCD logic block (720) will also be described in further detail below, but generally the SCD logic block (720) operates and interacts with the edge detection logic block (710) as follows.  A user may set two percentages for a particular edge, for example, x% and y%.  If the SCD logic block (720) does not detect a sub-carrier, then x% is used as the slope percentage threshold value, and if the SCD logic block (720) detects a sub-carrier, then y% is used as the slope percentage threshold value for that particular edge.  If x% is set to be higher than y%, a higher slope percentage threshold value can be used for luma portions of an image and a lower slope percentage threshold value can be used for chroma portions of the image, thereby reducing the chroma motion loss and achieving a dynamic threshold variation based on SCD on a pixel by pixel basis.  Because of this independent control for luma and chroma portions, the threshold logic can be programmed to suppress significant luma edge noise without much loss in chroma motion.    
The SCD detection block
[0045]  The SCD detection block (720) detects the sub-carrier by checking for sub-carrier characteristics, both spatially and temporally.  In the spatial domain, because the sampling clock is four times the sub-carrier frequency and locked to the sub-carrier through the color burst, the alternate sub-carrier samples will be nearly equal in magnitude, but opposite in phase or sign.  Furthermore, the sub-carrier changes phase by 180 degrees across lines, which can also be used.  In the temporal domain, the sub-carrier inverses phase by 180 degrees every frame, so there will be a significant difference between two adjacent frames and much less difference between frames that are two frames apart.  Thus, by studying both the spatial domain and the temporal domain, an approximate sub-carrier detection can be made to control the threshold logic.  As can be seen in FIG. 9, the SCD block (720) receives the three frame taps F2, F1, and F0 (that is, the current frame, the previous frame, and the frame prior to the previous frame) for sub-carrier detection.
The Variable threshold logic block
[0046]  FIG. 10 shows a schematic block diagram of the variable threshold logic block (710).  As can be seen in FIG. 10, the composite video signal comes in, and a current pixel (Pn) is selected, for which variable thresholds are to be determined.  The logic compares the current pixel (Pn) with a previous pixel (Pn-1) and a next pixel (Pn+1) in the horizontal direction, and selects the maximum difference, as was described above.  This difference describes the detected maximum slope amplitude.  A corresponding determination is also made in the vertical direction in the Vertical Difference Evaluation block by selecting the current pixel (Pn) for a current line, and the pixel in the same position in a previous line and a next line, respectively.  Once the maximum horizontal and vertical slopes, respectively, have been determined, a set of threshold values for the current pixel is generated.  The threshold values are linearly proportional to the detected slope value.  The proportionality constant can be varied.  In some implementations the threshold values can be non-linear with respect to the detected slope value.  Also, minimum and maximum clipping functions can be programmed to act on the calculated thresholds so that the final threshold values can be programmed to have some minimum thresholds or be programmed not to exceed some upper limit.  In one implementation, the variable threshold logic block (710) can determine threshold values for several adjacent frames, such as F2, F1 and F0 and determine the final threshold value to be the maximum or minimum value determined for the respective frames.
[0047]  The variable threshold logic helps in removing false motion because of pixel value variations at signal edges due to sampling clock jitter / variations.  The higher the signal edge, the larger the variation will occur for the same amount of jitter.  Therefore, the pixels that are located on a steeper slope should have a higher threshold value.  At the same time, at these edges the motion value is high, so the threshold will not mask the real motion.  The variable threshold is generated by taking a percentage, for example, 10 % of the slope that the pixel is located on.  This percentage is further adaptively determined based on the color burst variance measures (that is, samples that are two frames apart).
[0048]  In one implementation, a 3-tap horizontal window is combined with a 3-tap vertical window to form a 5-tap adaptive threshold window.  FIG. 11 shows an example of such a 5-tap adaptive threshold window.  The current pixel under threshold determination is located in the middle of the respective windows.  The absolute difference of the current pixel and the adjacent pixels are determined and the maximum difference among the determined differences is determined to be the slope.  For example, in FIG. 11, the current pixel value Pn is compared with the values 1, 2, 3 and 4, respectively, which are the values of the surrounding pixels, and the maximum difference is taken as the final slope from which the threshold is derived for the pixel Pn.  The percentage value is made adaptive based on luma/chroma pixel values, for example, x% or y% based on chroma/luma detection.  
[0049]  In one implementation a horizontal threshold value is computed in accordance with the following expression:
Vthr(Horizontal) = [[Max{|Pn-(Pn-1)|, |Pn-(Pn+1)|}] * (Programmable attenuation)] + Programmable DC threshold (min level)
[0050]  In one implementation, the decoder can detect a synch edge or color burst regions and determine their motion variance, for example, by using firmware.  This detected variance, which can be for one frame motion or two frame motion, can be used to program the linear percentage threshold value, that is the programmable threshold gain.  The programmable variable threshold percentage gain can, additionally, be adapted based on detected chroma/luma.  The threshold logic also has a programmable minimum DC offset.  The max clipping logic clips the output level to the upper limit value if the threshold crosses the programmed upper limit value.  The same logic has also been put in the vertical domain, i.e., across lines.  As can be realized by one skilled in the art, the threshold percentage and the DC offset for horizontal and vertical taps can be separately programmed.  Hence, since line memories are required for vertical logic, only the horizontal logic can be kept, unless the 2D-logic line memories can be shared.  Finally, as can be seen in FIG. 9, the variable threshold value is subtracted from the motion value in the motion detection logic block (730) to generate a motion_out value.  
Chroma/luma detect logic
[0051]  The chroma / luma detect logic block (810) of FIG. 10 coarsely detects the chroma / luma signals by checking for chroma characteristics/signature based on two factors.  The first factor is based on 4fsc sampling.  If the pixel under investigation is part of a chroma cycle, then every alternate sample should be nearly equal in magnitude, but be opposite in sign.  After rectification, the absolute difference of adjacent pixels among the four chroma pixels should be nearly the same.  The second factor is a chroma amplitude check.  If the one-frame difference is greater than the two-frame difference for still images, then chroma is detected, and otherwise the pixel is not a chroma pixel.  
[0052]  Based on these two checks, it can be determined whether the pixel under decoding is on the chroma cycle or on the luma signal.  Further, based on this determination, the variable threshold percentage is decided differently for chroma/luma pixels, for example, as 30% for luma and 10% for chroma.  It should be noted that the threshold percentage (gain) and the DC offset min and max clip values are independently programmable for each motion path.  
[0053]  A more detailed view of the different parts of the chroma / luma detect logic (810) is shown in FIGs. 12-15.  FIG. 12 shows the logic for the temporal chroma amplitude check, which checks the one-frame and two-frame differences, respectively, and outputs a first chroma/luma status value of one or zero, where a value of one represents chroma.  FIG. 13 shows the logic for the 4fsc spatial sampling check, which checks whether every alternate sample is nearly equal in magnitude, but opposite in sign, and outputs a second chroma/luma status value of one or zero, where a value of one represents chroma.  FIG. 14 shows a more detailed view of the chroma sample compare block of FIG. 13, where all the four flip-flops are set to one if chroma is detected.  Finally, FIG. 15 shows how the first and second chroma/luma status values are compared to generate a final chroma/luma status value that is used by the variable threshold logic block (710).  
Adaptations for PAL
[0054]  PAL (Phase Alternating Line) is a video standard used, for example, in Europe, and differs from the NTSC standard in a number of ways.  For the purpose of this present application, the most significant difference is that the sub-carrier is out of phase by 180 degrees across two frames, and not across one as in NTSC.  Consequently, the sub-carrier is in phase every four frames.  For PAL, the 3D chroma signal is generated by subtracting video signals that are two frames apart.  The chroma motion is detected by using current, one-frame and two-frame delayed signals (i.e., the F2, F1, and F0 taps).
[0055]  FIG. 16 shows a schematic block diagram for detecting low frequency motion for PAL and is analogous to the detection of low frequency motion for NTSC, which was described above with respect to FIGs. 4A and 4B, except that for PAL only a two-frame difference is used.
[0056]  FIG. 17 shows a schematic block diagram for detecting chroma motion for PAL, and is analogous to the detection of chroma motion for NTSC, which was described above with respect to FIGs. 5A and 5B, except that for PAL the F0 and F2 signals are added and clipped, instead of subtracted.
[0057]  FIG. 18 shows a schematic block diagram for detecting M5_P luma motion for PAL only.  It should be noted that the logic depicted in FIG. 18 only gives proper motion for luma only regions.  If the logic of FIG. 18 is used on colored regions, large false motions will result.  The M5_P motion will be explained in further detail below.
[0058]   FIG. 19 shows a schematic block diagram for detecting M6_P luma motion for PAL only.  It should be noted that the logic depicted in FIG. 19 only gives proper motion for luma only regions.  If the logic of FIG. 19 is used on colored regions, large false motions will result.  The M6_P motion will be explained in further detail below.
[0059]  FIG. 20 shows a schematic block diagram for detecting PAL motion.  The PAL1 signal, which is the maximum of signals M5_P, M6_P, and M3_NP obtained as shown in FIGs. 18, 19 and 5A, respectively, is used to detect the full range of luma motion.  The PAL2 signal, which is the maximum of signals M1_NP, M2_NP, M3_P, M4_NP, and M8_P obtained as shown in FIGs. 4A, 16, 6A and 17, respectively, is used to detect chroma motion and low frequency luma motion.  The PAL motion is determined to be the minimum of PAL1 and PAL2.
[0060]  As can be seen in FIG. 20, the M8_P and M4_P PAL motion paths have mask logic (M8 Mask) that eliminates false motion generated for high frequency colored still regions.  The M8 Mask logic is required because the chroma signal does not cancel by two-frame addition for high frequency colored regions.  The chroma signal contains luma near the sub-carrier frequency, which causes the video signal to be not exactly 180 degrees out of phase across two frames and results in false motion.  Thus, the M8 Mask logic masks false motion for still high frequency colored regions, and also false motion due to chroma color transitions.  A more detailed view of the M8 Mask logic can be seen in FIG. 23.  As can be seen in FIG. 23, the M8 Mask logic receives the following inputs: M1_NP, M2_NP, M3_P, M4_NP, M5_P, M6_P, M8_P, F2, F1 and F0, CLD STATUS, M8 Mask En, and M8_Mask_threshold_control_regs.  The M8 Mask logic examines   signal characteristics, such as spatial chroma signature, temporal chroma signature, low frequency motion, chroma signal polarity across F2, F1, and F0, and the average value of a 4-sample window across F2, F1 and F0, and generates a mask signal (M8_Mask).  In the implementation shown in FIG. 23, stretch/expansion logic is also provided for the M8_Mask signal before the mask signal is further processed by the PAL motion detection block.
[0061]  In one implementation, there is also a small mask logic provided for the NTSC modes, when one frame chroma is used.  When one frame chroma motion is used, false motions may be generated by the one frame chroma motion circuit due to the way the composite signal is formed.  The mask logic detects and masks these false motions.   
[0062]  FIG. 21 shows a schematic block diagram of how the 3D chroma signal is generated.  As can be seen in FIG. 21, for PAL the 3D chroma generation is done using frames F2 and F0, whereas for NTSC, the 3D chroma generation is done using frames F2 and F1.  There is also a bypass option for the 3D chroma band pass filter. In one implementation, the default is to use the bypass option, so that we full bandwidth is used for the chroma signal.  However, if for some reasons the large bandwidth creates artifacts, such as chroma overshoots, for example, the low frequency motion can be disabled by enable the band pass filter on this path.
[0063]  Finally, FIG. 22 shows a schematic block diagram of the final motion determination for a combined NTSC / PAL system.  The NTSC motion is the maximum of the M1_NP, M2_NP, M3_NP and M4_NP signals, as described above with respect to FIG. 7.  The PAL motion signal is generated as described above with respect to FIG. 20.  Based on an NTSC/PAL mode detection signal either the NTSC_MOTION or the PAL_MOTION signals is selected.  The selected motion signal is then filtered in a 3-tap median filter to remove spikes, and is finally clipped to 5 bits such that the motion signal has a maximum value of 16.  The motion signal is then input to the blender (110) of FIG. 2, which combines the 2D and 3D decoding as described above.
[0064]  The invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits). 
[0065]  To provide for interaction with a user, the invention can be implemented on a computer system having a display device such as a monitor or LCD screen for displaying information to the user.  The user can provide input to the computer system through various input devices such as a keyboard and a pointing device, such as a mouse, a trackball, a microphone, a touch-sensitive display, a transducer card reader, a magnetic or paper tape reader, a tablet, a stylus, a voice or handwriting recognizer, or any other well-known input device such as, of course, other computers.  The computer system can be programmed to provide a graphical user interface through which computer programs interact with users. 
[0066]  Finally, the processor optionally can be coupled to a computer or telecommunications network, for example, an Internet network, or an intranet network, using a network connection, through which the processor can receive information from the network, or might output information to the network in the course of performing the above-described method steps.  Such information, which is often represented as a sequence of instructions to be executed using the processor, may be received from and outputted to the network, for example, in the form of a computer data signal embodied in a carrier wave.  The above-described devices and materials will be familiar to those of skill in the computer hardware and software arts.
[0067]  It should be noted that the present invention employs various computer implemented operations involving data stored in computer systems.  These operations include, but are not limited to, those requiring physical manipulation of physical quantities.  Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated.  The operations described herein that form part of the invention are useful machine operations.  The manipulations performed are often referred to in terms, such as, producing, identifying, running, determining, comparing, executing, downloading, or detecting. It is sometimes convenient, principally for reasons of common usage, to refer to these electrical or magnetic signals as bits, values, elements, variables, characters, data, or the like. It should remembered however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
[0068]  The present invention also relates to a device, system or apparatus for performing the aforementioned operations. The system may be specially constructed for the required purposes, or it may be a general-purpose computer selectively activated or configured by a computer program stored in the computer. The processes presented above are not inherently related to any particular computer or other computing apparatus. In particular, various general-purpose computers may be used with programs written in accordance with the teachings herein, or, alternatively, it may be more convenient to construct a more specialized computer system to perform the required operations.
[0069]  A number of implementations of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, the invention has been described above with reference to NTSC and PAL video signals, which are typically used in broadcasting TV signals, but the invention is also equally applicable to component video, such as a video signal that is output from a DVD player.  Accordingly, other embodiments are within the scope of the following claims.
3. BRIEF DESCRIPTION OF THE DRAWINGS
[0070]
FIG. 1 shows a high-level flowchart of a process performed by a decoder in accordance with the invention.
FIG. 2 shows a schematic block diagram of a decoder in accordance with the invention.
FIG. 3 shows a high-level flowchart of the motion detection operation of FIG. 1.
FIG. 4A shows a schematic block diagram of circuitry for detecting low frequency motion.
FIG. 4B shows a flowchart of a low frequency motion detection process.
FIG. 5A shows a schematic block diagram of the logic used to detect high frequency motion for chroma and/or luma.
FIG. 5B shows a flowchart of a motion detection process for high frequency chroma and/or luma. 
FIG. 6A shows a schematic block diagram of the logic used to detect high frequency motion for chroma and/or luma, with less luma motion.
FIG. 6B shows a flowchart of a motion detection process for high frequency chroma and/or luma with less motion.
FIG. 7 shows a schematic block diagram of how NTSC motion is determined.  
FIG. 8 is a schematic block diagram showing the operation of the blender (110) of the decoder in greater detail
FIG. 9 is a schematic block diagram showing the adaptive threshold logic (120) of the decoder.
FIG. 10 is a schematic block diagram showing the variable threshold logic block (710) of the adaptive threshold logic (120) in greater detail.
FIG. 11 shows an example of a 5-tap adaptive threshold window.
FIG. 12 is a schematic block diagram showing the logic used in the decoder to check the chroma amplitude temporally.
FIG. 13 is a schematic block diagram showing the logic used in the decoder to do a spatial check of the 4fsc sampling.
FIG. 14 is a more detailed view of the chroma sample compare block of FIG. 13.
FIG. 15 shows how a final chroma/luma status value is generated that is used by the variable threshold logic block (710).  
FIG. 16 is a schematic block diagram for detecting low frequency motion for PAL in the decoder.
FIG. 17 is a schematic block diagram for detecting chroma motion for PAL in the decoder.
FIG. 18 is a schematic block diagram for detecting luma motion for PAL in the decoder, according to a first implementation of the invention.
FIG. 19 is a schematic block diagram for detecting luma motion for PAL in the decoder, according to a second implementation of the invention. 
FIG. 20 is a schematic block diagram for the logic that is used to detect PAL motion in the decoder.
FIG. 21 is a schematic block diagram of the logic used to generate the 3D chroma signal in the decoder.
FIG. 22 is a schematic block diagram of the logic used to do the final motion determination for a combined NTSC / PAL system.
FIG. 23 is a schematic block diagram of mask logic used to remove false motions generated for high-frequency colored still regions for PAL signals.
1.    A method for distinguishing false motion from true motion, in a video signal that is received by a television set, the method comprising: 
receiving the video signal at the television set, the video signal including a luma component and a chroma component; and
performing a motion detection operation for each of the chroma component and the luma component in several frequency regions of the received video signal, wherein each frequency region has a unique threshold value for distinguishing false motion from true motion, the threshold values being dynamically adjustable based on the incoming video signal, thereby improving the motion detection accuracy and minimizing image artifacts in an image that is described by the video signal and is to be displayed on the television set. 
2.   The method of claim 1, wherein the motion detection operation is performed on a pixel-by-pixel basis in one or more of: a low frequency luma domain, a high frequency chroma domain, a high frequency luma domain, and wherein each frequency domain where the motion detection operation is performed has a separate threshold value that is dynamically determined for each pixel that is undergoing the motion detection operation.
3.   The method of claim 2, wherein the threshold for a pixel undergoing the motion detection operation is determined as a percentage of the difference in pixel values between the pixel undergoing the motion detection operation and one or more neighboring pixels in an image described by the video signal.
4.   The method of any of claims 1-3, wherein performing a motion detection operation includes determining the final motion value to be the maximum chroma motion or luma motion among the chroma and luma motions detected in the different frequency regions.
5.   The method of claim 4, further comprising:
clipping the final motion value to be represented by a 5-bit value; and
supplying the clipped final motion value to a blender that outputs a 2D decoded video signal, a 3D decoded video signal, or a combination of a 2D decoded video signal and a 3D decoded video signal, based on the clipped final motion value.
6.   The method of claim 2, wherein the low frequency motion for the luma domain is obtained by:
subtracting a one-frame delayed pixel from the pixel undergoing the motion detection operation to obtain a motion value, the one-frame delayed pixel and the current pixels having the same positions within two image frames;
lowpass-filtering the motion value;
converting any negative motion value to a corresponding positive motion value;
subtracting a first threshold value determined for the current pixel from the motion value to obtain a low frequency motion value; and
if the low frequency motion value after subtraction of the first threshold value is less than zero, setting the low frequency motion value to zero.
7.   The method of claim 2, wherein the high frequency motion for the chroma domain is obtained by:
subtracting a two-frame delayed pixel from the pixel undergoing the motion detection operation to obtain a motion value, the two-frame delayed pixel and the current pixels having the same positions within two image frames;
converting any negative motion value to a corresponding positive motion value;
subtracting a second threshold value determined for the current pixel from the motion value to obtain a high frequency motion value; 
if the high frequency motion value after subtraction of the second threshold value is less than zero, setting the high frequency motion value to zero; and 
lowpass-filtering the high frequency motion value.
8.   The method of claim 2, wherein the high-frequency motion for chroma and luma with less luma motion is obtained by:
determining whether a one-frame chroma mode or a two-frame chroma mode has been selected;
when the two-frame chroma mode has been selected, rectifying and subtracting two one-frame difference signals to obtain a resulting signal;
when the on-frame chroma mode has been selected, bandpass filtering, rectifying and subtracting a one-frame delayed pixel from the pixel undergoing the motion detection operation to obtain a resulting signal, the one-frame delayed pixel and the current pixels having the same positions within two image frames;
converting any negative motion value of the resulting signal to a corresponding positive motion value;
subtracting a third threshold value determined for the current pixel from the motion value to obtain a high frequency motion value; 
if the high frequency motion value after subtraction of the third threshold value is less than zero, setting the high frequency motion value to zero; and 
lowpass-filtering the high frequency motion value.
9.   The method of any of claims 1-8, wherein: 
the adjustable threshold value is determined on a pixel-by-pixel basis based on a detected edge, a detected edge slope, and a sub-carrier detection; and
a first threshold value is assigned if a sub-carrier is detected, and a second threshold value is assigned if no sub-carrier is detected, thereby achieving independent threshold values for chroma and luma portions of an image.
10.   The method of any of claims 1-9, wherein performing a motion detection operation for each of the chroma component and the luma component in several frequency regions of the received video signal includes:
detecting false motion generated for high-frequency chroma still regions of an image by examining one or more of the following characteristics of the received video signal: a spatial chroma signature, a temporal chroma signature, low frequency motion, chroma signal polarity across two or more image frames of the video, and the average value of a sample window across two or more image frames of the video; and
generating a mask signal that is free of false motions, based on the examined characteristics of the received video signal. 
11.   The method of any of claims 1-10, further comprising:
detecting one or more of a synch edge and a color burst region of the video signal;
determining a motion variance of the detected synch edge or color burst region; and
setting a programmable variable threshold gain percentage for the video signal based on the determined variance.
12.  A computer program comprising computer program code means adapted to perform all the steps of any of claims 1-11 when said program is run on a computer.  
13.    A motion detection component, for distinguishing false motion from true motion, in a video signal that is received by a television set, comprising:
a receiver operable to receive the video signal, the video signal including a luma component and a chroma component; and
a motion detector operable to perform a motion detection operation for each of the chroma component and the luma component in several frequency regions of the received video signal, wherein each frequency region has a unique threshold value for distinguishing false motion from true motion, the threshold values being dynamically adjustable based on the incoming video signal, thereby improving the motion detection accuracy and minimizing image artifacts in an image that is described by the video signal and is to be displayed on the television set. 
14.   The motion detection component of claim 13, wherein the motion detection operation is performed on a pixel-by-pixel basis in one or more of: a low frequency luma domain, a high frequency chroma domain, a high frequency luma domain, and wherein each frequency domain where the motion detection operation is performed has a separate threshold value that is dynamically determined for each pixel that is undergoing the motion detection operation.
15.   The motion detection component of claim 14, wherein the threshold for a pixel undergoing the motion detection operation is determined as a percentage of the difference in pixel values between the pixel undergoing the motion detection operation and one or more neighboring pixels in an image described by the video signal.
16.   The motion detection component of any of claims 13-15, wherein the motion detector includes a selector operable to determine the final motion value to be the maximum chroma motion or luma motion among the chroma and luma motions detected in the different frequency regions.
17.   The motion detection component of any of claims 13-16, wherein: 
the adjustable threshold value is determined on a pixel-by-pixel basis based on a detected edge, a detected edge slope, and a sub-carrier detection; and
a first threshold value is assigned if a sub-carrier is detected, and a second threshold value is assigned if no sub-carrier is detected, thereby achieving independent threshold values for chroma and luma portions of an image.
18.   The motion detection component of any of claims 13-17, further comprising:
mask logic operable to detect false motion generated for high-frequency chroma still regions of an image by examining one or more of the following characteristics of the received video signal: a spatial chroma signature, a temporal chroma signature, low frequency motion, chroma signal polarity across two or more image frames of the video, and the average value of a sample window across two or more image frames of the video; and
a signal generator operable to generate a mask signal that is free of false motions, based on the examined characteristics of the received video signal. 
19.  A video signal decoder, for distinguishing false motion from true motion, in a video signal that is received by a television set, comprising:
a motion detection component as defined in any of claims 13-18; and 
output means for outputting a decoded video signal from the video signal decoder to the display of the television set.
1. ABSTRACT
Methods and apparatus, including computer program products, implementing and using techniques for distinguishing false motion from true motion, in a video signal that is received by a television set. The video signal is received at the television set.  The video signal includes a luma component and a chroma component.  A motion detection operation is performed for each of the chroma component and the luma component in several frequency regions of the received video signal.  Each frequency region has a unique, adjustable threshold value for distinguishing false motion from true motion, that is dynamically adjustable based on the incoming video signal, and as a result the motion detection accuracy is improved and image artifacts are minimized in an image that is described by the video signal and is to be displayed on the television set. 
2. REPRESENTATIVE DRAWING
Fig. 1
2005184849.tif 000033
2005184849.tif 000034
2005184849.tif 000035
2005184849.tif 000036
2005184849.tif 000037
2005184849.tif 000038
2005184849.tif 000039
2005184849.tif 000040
2005184849.tif 000041
2005184849.tif 000042
2005184849.tif 000043
2005184849.tif 000044
2005184849.tif 000045
2005184849.tif 000046
2005184849.tif 000047
2005184849.tif 000048
2005184849.tif 000049
2005184849.tif 000050
2005184849.tif 000051
2005184849.tif 000052
2005184849.tif 000053
2005184849.tif 000054
2005184849.tif 000055
2005184849.tif 000056
2005184849.tif 000057
2005184849.tif 000058