(57)【特許請求の範囲】
【請求項１】
動き適応ビデオデインターレースの方法であって、
（Ａ）現在のフィールドにおける複数の現在の画素位置のために複数の現在のフィールドカウントを生成するステップであって、（ｉ）前記現在のフィールドカウントのそれぞれが前記現在の画素位置のそれぞれの静止履歴を追跡し、（ｉｉ）前記現在の画素位置のそれぞれが前記現在のフィールドのルミナンスチャネルと前記現在のフィールドの２つのクロミナンスチャネルの全てにおいて静止的である場合に前記現在のフィールドカウントを増分し、（ｉｉｉ）前記現在の画素位置のそれぞれが前記ルミナンスチャネルにおいて静止的であると共に前記現在の画素位置のそれぞれが前記２つのクロミナンスチャネルの少なくとも１つにおいて静止的ではない場合に前記現在のフィールドカウントを２で割るステップと、
（Ｂ）前記現在のフィールドカウントに基づいて、前記現在のフィールドをデインターレースすることによってフレームを生成するステップと、
を含む方法。
【請求項２】
ステップ（Ｂ）が、前のフィールドにおける複数の前の画素位置の複数の前のフィールドカウントにさらに基づいている、請求項１に記載の方法。
【請求項３】
前記現在のフィールドの前記ルミナンスチャネル、前記現在のフィールドの前記２つのクロミナンスチャネルのうちの第１のクロミナンスチャネルおよび前記現在のフィールドの前記２つのクロミナンスチャネルのうちの第２のクロミナンスチャネルにおける複数の静止チェックのそれぞれに基づいて前記現在のフィールドカウントを更新するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記現在のフィールドカウントを所定値に設定するステップであって、（ｉ）前記現在の画素位置のそれぞれが前記ルミナンスチャネルと前記２つのクロミナンスチャネルの全てにおいて静止的であり、（ｉｉ）前記現在のフィールドカウントが前記所定値よりも小さい場合に前記現在のフィールドカウントを前記所定値に設定するステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記２つのクロミナンスチャネルが水平ダウンサンプリングされている場合に前記現在の画素位置のいくつかのラインからのクロマ判定を用いるステップをさらに含む、請求項１に記載の方法。
【請求項６】
前記２つのクロミナンスチャネルが垂直ダウンサンプリングされている場合に最近にデインターレースされた輝度ラインからのクロマ判定を用いるステップをさらに含む、請求項１に記載の方法。
【請求項７】
ボトムフィールドのトップ輝度ラインのための前のクロマ判定が存在しない場合にクロマ判定を無視するステップをさらに含む、請求項１に記載の方法。
【請求項８】
前記現在の画素位置のそれぞれが前記ルミナンスチャネルにおいて静止的であるか、又は前記現在の画素位置のそれぞれが前記２つのクロミナンスチャネルの両方において静止的ではない場合に前記現在のフィールドカウントを０に再設定するステップをさらに含む、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００３年１２月４日に出願された、かつ参照により全体において本明細書に援用されている同時係属中の米国特許出願第１０／７２７，４７６号明細書に関連する。本発明は、一般に、ビデオデインターレースに関し、特に、低減されたメモリおよび帯域幅の動き適応ビデオデインターレース技術に関する。
【背景技術】
【０００２】
インターレース走査フォーマットは、初期のビデオシステム用に帯域幅を低減するために開発され、その後ずっと、広く採用されて用いられてきた。デインターレースは、インターレースされたビデオフィールドをラスタフレームフォーマットに変換するために用いられる方法のセットである。デインターレース方法は、順次走査アプローチをサポートする現代のディスプレイにおいて普通に用いられている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従来のデインターレース方法は、移動エッジのラインフリッカおよびセレーションなどのアーチファクトを導入する。アーチファクトは、従来のアナログ陰極線管（ＣＲＴ）ディスプレイでは、現代の高解像度順次走査ディスプレイほど顕著ではない。しかしながら、主流のディスプレイ技術が、ＣＲＴから液晶ディスプレイ（ＬＣＤ）、プラズマおよび他の高解像度高コントラスト技術にシフトしているので、デインターレースによって導入されるアーチファクトは、消費者にとって、より顕著で、より厄介になる。
【０００４】
従来のデインターレース方法には、「ウィーブ（ｗｅａｖｅ）」プロセスおよび「ボブ（ｂｏｂ）」プロセスが含まれる。ウィーブデインターレースは、欠損ラインを反対パリティフィールドからコピーすることによって、現在のフィールドからフレームを生成する。残念ながら、ウィーブ方法は、ピクチャ内の動き領域に顕著なアーチファクトを引き起こす。ボブ方法は、現在のフィールドラインの垂直補間を実行し、結果として得られるフレームの欠損ラインを満たす。しかしながら、ボブ方法は、ラインのちらつきを引き起こし、ピクチャを不鮮明にする。
【課題を解決するための手段】
【０００５】
本発明は、デインターレースのための方法に関する。この方法は、一般に、（Ａ）複数のモードのうちの第１のモードにおいて、現在のフィールドをデインターレースすることによってフレームを生成するステップと、（Ｂ）モードのうちの第２のモードにおいて、現在のフィールドおよび反対パリティフィールドの両方を用いてデインターレースすることによってフレームを生成するステップと、（Ｃ）モードのうちの第３のモードにおいて、現在のフィールド、反対パリティフィールドおよび別のフィールドの全てを用いてデインターレースすることによってフレームを生成するステップとを含み、モードのうちの少なくとも２つを用いる。
【０００６】
本発明の目的、特徴および利点には、低減されたメモリおよび帯域幅の動き適応ビデオデインターレース技術を提供することが含まれるが、この技術は、（ｉ）画素に関する共同輝度−クロマ動き適応静止チェック方法、（ｉｉ）エッジ依存の方向フィルタ、（ｉｉｉ）統一された輝度およびクロマデインターレースアーキテクチャ、（ｉｖ）インプリメンテーションに都合がいい静止チェック方法、（ｖ）３つの全てのチャネル（例えば１つの輝度チャネルおよび２つのクロマチャネル）に対して独立したデインターレースを可能にすること、（ｖｉ）２３までの動作モード、（ｖｉｉ）カスタマイゼーションによって広範囲な潜在的帯域幅およびラインアクセス要求制限をサポートできるようにすること、および／または（ｖｉｉｉ）５．４度まで下がる角度に対して鮮明さを向上させる、改善された方向フィルタ、の提供が可能である。
【０００７】
本発明の、これらおよび他の目的、特徴および利点は、次の詳細な説明ならびに添付の特許請求の範囲および図面から明らかになろう。
【図面の簡単な説明】
【０００８】
【図１】４：２：２フォーマットピクチャに対する従来の輝度指数付けおよびクロマ指数付けの図である。
【図２】４：２：０フォーマットピクチャに対する従来の輝度指数付けおよびクロマ指数付けの図である。
【図３】利用可能なフィールドおよびカウンタのブロック図である。
【図４】デインターレースにおいて用いられる例示的な輝度画素の図である。
【図５】デインターレースにおいて用いられる例示的なクロマ画素の図である。
【図６ａ】本発明の好ましい実施形態に従ってデインターレース技術を実行する例示的なシステムのブロック図である。
【図６ｂ】デインターレース回路の例示的なインプリメンテーションの詳細なブロック図である。
【図７】例示的な輝度およびクロマデインターレース方法の流れ図である。
【図８】２つの変数の関数としての混合要素のグラフである。
【図９】例示的な輝度角度検出方法の流れ図である。
【図１０】例示的で検知可能な角度を示す図である。
【図１１】第１の角度における多数のラインセグメントを示す図である。
【図１２】第２の角度における多数のラインセグメントを示す図である。
【図１３】第３の角度における多数のラインセグメントを示す図である。
【図１４】２つの位置におけるＤＩＦＦ［ｉ］の例示的な関係の図である。
【図１５】例示的で画素に関する輝度静止チェック方法の流れ図である。
【図１６】例示的で画素に関するクロマ静止チェック方法の流れ図である。
【図１７ａ−１７ｃ】表である。
【図１８ａ−１８ｊ】式である。
【発明を実施するための形態】
【０００９】
本発明は、第３世代動き適応デインターレース（ＴｒｉＭＡＤＩ）アーキテクチャと呼んでもよい。ＴｒｉＭＡＤＩアーキテクチャは、一般に、画素に関する共同ルミナンス−クロミナンス静止チェック、従来のアプローチと比較して改善されたルミナンス（輝度）低角度予測、および従来のアプローチと比較して改善されたクロミナンス（クロマ）デインターレースを提供する。ＴｒｉＭＡＤＩアーキテクチャは、一般に、デインターレース用の信頼できる静止画素検出および画素の正確なウィーブを達成する。このアーキテクチャには、一般に、（輝度サンプルごとに）各出力フレーム画素のために、次の反対パリティフィールドの先取りおよびマルチビット（例えば２ビット）静止チェックカウンタが含まれる。
【００１０】
ＴｒｉＭＡＤＩ技術によって実行される計算は、現在のフィールドのパリティ（例えば、奇数パリティフィールドまたは偶数パリティフィールド）にかかわらず、同じであってもよい。説明を簡単にするために、（ｉ）現在のフィールド（例えばＣＵＲ）は、トップフィールドと見なしてもよく、（ｉｉ）前のフィールド（例えばＰＲＥ）および次のフィールド（例えばＮＸＴ）の両方は、ボトムフィールドと見なしてもよい。フィールドＣＵＲには、一般に、０、２、４、．．．、２Ｎ−２（例えば偶数パリティ）の番号を付けられた多数のラインが含まれる。フィールドＰＲＥおよびフィールドＮＸＴのそれぞれには、一般に、１、３、５、．．．、２Ｎ−１（例えば奇数パリティ）の番号を付けられた多数のラインが含まれるが、この場合に、Ｎは、各フィールドにおいて利用可能なライン数であってもよい。デインターレースは、一般に、フィールドＣＵＲにおける「欠損」ライン（例えば、ライン番号１、３、５、．．．、２Ｎ−１）を構成するが、これらのラインは、フィールドＣＵＲにおける利用可能なラインと結合された場合に、２Ｎラインの完全なフレームを形成する。
【００１１】
ＴｒｉＭＡＤＩアーキテクチャには、一般に、輝度サンプルおよびクロマサンプル用の静止チェックならびに双方向（例えば３次元）混合およびウィーブを備えた角度ベースのデインターレース技術が含まれる。下記の入力／出力セクションは、一般に、（ｉ）この技術によって用いられるフィールドと、（ｉｉ）静止チェックビットを含む画素入力／出力（Ｉ／Ｏ）と、（ｉｉｉ）この技術によって用いられる画素とをカバーする。この技術の流れ図は、下記のＴｒｉＭＡＤＩアーキテクチャセクションで論じられる。流れ図におけるほとんどのブロックの詳細な説明は、一般に、（輝度用の）輝度デインターレース成分セクションおよび（クロマ用の）クロマデインターレース成分セクションにおいて説明される。輝度角度検出セクションおよび画素に関する静止チェックセクションは、一般に、角度検出技術および静止チェック技術を指定する。
【００１２】
図１および２を参照すると、４：２：２フォーマットピクチャ（図１）および４：２：０フォーマットピクチャ（図２）用の従来の輝度指数付けおよびクロマ指数付けの図が示されている。本明細書では慣例として、（ｉ）（ｕ、ｖ）を用いて、輝度（Ｙチャネル）サンプルの現在の出力位置を示してもよく、（ｉｉ）一般に、（ｃｕ、ｃｖ）を用いてクロマサンプルの現在の出力位置を示し、（ｉｉｉ）上付き文字Ｙを用いて輝度チャネルを示してもよく、（ｉｖ）上付き文字Ｃを用いて両方のクロマチャネルを同時に示してもよく、（ｖ）一般に、上付き文字Ｋを用いて、クロマチャネルの１つ、すなわちＣｂ（青）チャネルまたはＣｒ（赤）チャネルを示してもよい。
【００１３】
ＴｒｉＭＡＤＩアーキテクチャは、一般に、（ｕ、ｖ）と（ｃｕ、ｃｖ）との間の標準関係を用いる。４：２：２フォーマットに関しては、図１に示すように、ｃｕ＝ｕおよびｃｖ＝ｖ＞＞１である。４：２：０フォーマットに関しては、図２に示すように、ｃｕ＝ｕ＞＞ｌおよびｃｖ＝ｖ＞＞１である。クロマ画素の水平位置は、一般に、偶数輝度水平位置に位置する。標準関係は、従来的には、ＭＰＥＧ−２標準、ＭＰＥＧ−４標準およびＨ．２６４標準によって用いられる。輝度指数付けとクロマ指数付けとの間の上記の関係は、他の標準（例えばＭＰＥＧ−１）ではわずかに異なる可能性があるが、ＴｒｉＭＡＤＩ技術は、それでも、性能における小さな変化で実行可能である。
【００１４】
入力／出力セクション
図３を参照すると、利用可能なフィールドおよびカウンタのブロック図が示されている。メモリから読み出された現在のフィールドＣＵＲがトップフィールドである場合には、前のフィールドＰＲＥおよび次のフィールドＮＸＴの両方は、図３の上半分に示すように、ボトムフィールドであってもよい。現在のフィールドＣＵＲがボトムフィールドである場合には、図３の下半分に示すように、前のフィールドＰＲＥおよび次のフィールドＮＸＴの両方は、トップのフィールドであってもよい。一般に、フィールドＣＵＲは、フィールドＰＲＥおよびフィールドＮＸＴの両方と反対のパリティを有する。フィールドＰＲＥは、一般に、フィールドＮＸＴと同じパリティを有する。ビデオシーケンスの最初のフィールドおよび最後のフィールドに対しては、単一の反対パリティフィールドだけが利用可能である。かかる場合には、単一の利用可能な反対フィールドは、次のフィールドＮＸＴおよび前のフィールドＰＲＥの両方として働いてもよい。
【００１５】
静止カウンタ（例えばＨＳＣｎｔ［０〜３］）は、同じパリティの輝度サンプルおよび反対パリティの輝度サンプルのそれぞれに対して提供してもよい。いくつかの実施形態において、カウンタＨＳＣｎｔは、各フレームの輝度サンプル用に倍数（例えば２ビット）を用いてもよい。現在のフィールドＣＵＲのサンプルをカウントするために用いられるビットは、ＴｒｉＭＡＤＩアーキテクチャの下でメモリに対して読み出し可能および書き込み可能の両方であってもよい。前のフィールドＰＲＥのサンプルおよび次のフィールドＮＸＴのサンプルをカウントするために用いられるビットは、ＴｒｉＭＡＤＩアーキテクチャの下でメモリから読み出し可能であってもよい。
【００１６】
図１７ａを参照すると、ＴｒｉＭＡＤＩアーキテクチャ用の入力基準のための表１が示されている。ＴｒｉＭＡＤＩアーキテクチャは、一般に、多数（例えば２３）の動作モードをサポートする。実際の入力フィールド基準は、各モードにおいて異なってもよい。図３および以下のセクションは、一般に、最悪の場合のシナリオにおける基準を示す（例えば、モード２２およびモード２３）。各モード用の詳細な入力基準は、表１において見い出すことができる。
【００１７】
各現在のフィールドＣＵＲに対して、（ｉ）単一の出力フレームを生成してもよく（例えば、デインターレースが実行される）、（ｉｉ）２ビット静止カウンタＨＳＣｎｔ［０〜３］は、各同じパリティのフィールドの画素用に更新してもよい。カウンタＨＳＣｎｔは、一般に、静止チェックがイネーブルにされるＴｒｉＭＡＤＩモードにおいて更新される。静止チェックは、制御信号（例えばＳｔａｔＣｈｅｃｋ）が所定値（例えば１）に設定された場合に、イネーブルにしてもよい。
【００１８】
図４を参照すると、デインターレースにおいて用いられる例示的な輝度画素の図が示されている。現在のフィールドＣＵＲから用いられる画素は、垂直ストライプで強調してもよい。前のフィールドＰＲＥから用いられる画素は、対角線ストライプ（左下から右上へ、および左上から右下への両方）で強調してもよい。次のフィールドＮＸＴから用いられる画素は、左上から右下への対角線ストライプ（前のフィールドＰＲＥの画素のいくつかと重なる）で強調してもよい。現在の位置（ｕ、ｖ）における欠損画素は、ダイヤモンドパターンで強調してもよい。
【００１９】
現在のフィールドＣＵＲの現在の位置（ｕ、ｖ）における欠損輝度画素を構成するために、以下の輝度画素が、一般に、利用可能であると仮定される。現在のフィールドＣＵＲにおいて、ｉ∈｛ｕ−３、ｕ−１、ｕ＋１、ｕ＋３｝およびｊ∈｛ｖ−４３、ｖ−４２、．．．、ｖ＋４２、ｖ＋４３｝の位置（ｉ、ｊ）における画素は、利用可能にすべきである。前のフィールドＰＲＥにおいて、ｉ∈｛ｕ−２、ｕ、ｕ＋２｝およびｊ∈｛ｖ−５、ｖ−４、．．．、ｖ＋４、ｖ＋５｝の位置（ｉ、ｊ）における画素は、利用可能にすべきである。次のフィールドＮＸＴにおける画素について、ｉ＝ｕおよびｊ∈｛ｖ−５、ｖ−４、．．．、ｖ＋４、ｖ＋５｝の位置（ｉ、ｊ）の画素は、利用可能にすべきである。一般に、３つのラインが、前のフィールドＰＲＥにおいて用いられる。次のフィールドＮＸＴにおいては、単一のラインを用いてもよい。いくつかの実施形態において、フィールドＮＸＴは、前のＰＲＥより早い時間に生じる同じパリティのフィールドによって置き換えてもよい。
【００２０】
図５を参照すると、デインターレースにおいて用いられる例示的なクロマ画素の図が示されている。現在のフィールドＣＵＲにおいて用いられるクロマ画素は、一般に、垂直ストライプで強調される。前のフィールドＰＲＥおよび次のフィールドＮＸＴの両方からの画素は、対角線ストライプで強調してもよい。
【００２１】
現在のフィールドＣＵＲの現在の位置（ｃｕ、ｃｖ）における欠損クロマ画素を構成するために、以下のクロマ画素が、一般に、利用可能であると仮定される。現在のフィールドＣＵＲにおいて、ｉ∈｛ｃｕ−１、ｃｕ＋１｝およびｊ∈｛ｃｖ−３、ｃｖ−２、．．．、ｃｖ＋２、ｃｖ＋３｝の位置（ｉ、ｊ）における画素は、利用可能にすべきである。前のフィールドＰＲＥにおける画素および次のフィールドＮＸＴにおける画素について、ｉ＝ｃｕおよびｊ∈｛ｃｖ−３、ｃｖ−２、．．．、ｃｖ＋２、ｃｖ＋３｝の位置（ｉ、ｊ）の画素は、利用可能にすべきである。
【００２２】
境界外（ＯＯＢ）条件の扱い
フィールド境界の左または右の利用不可能な画素は、常に、輝度に対して０（ゼロ）およびクロマに対して１２８と仮定してもよい。フィールド境界の上または下（例えば、アクティブビデオ領域の外側）の利用不可能なラインに対して、境界外画素を扱うために、２つの方法が利用可能である。上部境界の上の利用不可能なライン用の第１の方法において、ビデオの最上部ラインを、利用不可能なラインの代わりに用いてもよい。例えば、位置（−１、ｖ）、（−２、ｖ）、（−３、ｖ）等における画素は、位置（０、ｖ）における画素によって置き換えてもよい。同様に、下部境界より下の利用不可能なラインに対して、ビデオの最下部ラインを、欠損ラインの代わりに用いてもよい。第２の方法において、フィールド境界の外側の全ての画素は、デフォルト値（例えば、輝度用には０およびクロマ用には１２８）に設定してもよい。
【００２３】
ＴｒｉＭＡＤＩ技術は、一般に、垂直に隣接するカウンタＨＳＣｎｔを用いる。したがって、カウンタＨＳＣｎｔは、左境界の外側または右境界の外側の画素に対しては実現しなくてもよい。上部フレーム境界の上のラインにおける利用不可能なカウンタＨＳＣｎｔに対して、カウンタＨＳＣｎｔは、トップラインのカウンタＨＳＣｎｔで代用してもよい。同様に、下部フレーム境界の下のライン用の利用不可能なカウンタＨＳＣｎｔは、ボトムラインのカウンタＨＳＣｎｔで代用してもよい。境界外の画素を扱うのとは異なり、カウンタＨＳＣｎｔは、デフォルト値（０または３などの）で代用しなくてもよい。デフォルト値は、式２８に誤ったフラグ（例えばｉｓＳｔａｔＨｉｓｔ）を生成させる可能性があり、したがって、不正確なフラグ（例えば、ｉｓＳｔａｔｉｏｎａｒｙY、ｉｓＳｔａｔｉｏｎａｒｙCbおよびｉｓＳｔａｔｉｏｎａｒｙCr）が、デインターレース技術によって用いられる可能性がある。
【００２４】
ＴｒｉＭＡＤＩアーキテクチャ
ＴｒｉＭＡＤＩは、多数（例えば２３）の動作モードを提供し、カスタマイゼーションによって広範囲の潜在帯域幅およびラインアクセス設計制限をサポートできるようにする。表１は、一般に、ＴｒｉＭＡＤＩアーキテクチャによってサポートされる全てのモードを列挙する。表１は、各モードの帯域幅消費に基づいてモードをグループ化してもよい。最初の２つのモードを除いて、ＴｒｉＭＡＤＩ帯域幅は、１／２輝度フィールド増分を有してもよい。表は、書き込み用ではなく、読み出し用の帯域幅およびラインを示す。静止チェックフラグ（例えばＳｔａｔＣｈｅｃｋ）がディスエーブルにされた（例えば、偽）全てのモードに対して、書き込み帯域幅はゼロである（例えば、メモリ書き込みは実行しなくてもよい）。静止チェックフラグＳｔａｔＣｈｅｃｋがイネーブルにされた（例えば、真）全てのモードに対して、書き込み帯域幅は、一般に、更新された２ビットカウンタＨＳＣｎｔをメモリ（例えばＲＡＭ）に逆に書き込むための１／４輝度フィールドである。静止チェックフラグＳｔａｔＣｈｅｃｋがイネーブルにされた場合に、表１に示すアクセスライン列は、４：２：０フォーマット用に用いられる１ビットのライン記憶装置を含まなくてもよい。
【００２５】
各帯域幅に対して、最良のモードは、一般に、注記列にチェックで印を付けられている。帯域幅増加が増加するにつれて、出力品質は、一般に、向上する。したがって、全てのモードが利用可能な状態では、表は、利用可能な帯域幅およびライン記憶装置に基づいて最良のモードを選択するためのガイドラインとして用いてもよい。
【００２６】
さらに、５つのモードには、推奨モード（例えば、黒丸に星で印を付けられた）が含まれる。帯域幅が増加するにつれて、推奨モードは、連続的で目に見える品質改善をもたらすことが可能である。全体で最良のモードは、ＴｒｉＭＡＤＩモード（例えば、表１におけるモード２３）と呼んでもよい。
【００２７】
図１７ａに示すように、各モードは、多数（例えば７）の１ビット制御信号、すなわち（ｉ）ＴｈｒｅｅＬｕｍａＦｉｅｌｄ（例えばＴ）、（ｉｉ）ａｎｇｌｅＤｅｔｅｃｔｉｏｎ（例えばＡ）、（ｉｉｉ）ＴｗｏＣｈｒｏｍａＦｉｅｌｄ（例えばＣ２）、（ｉｖ）ＴｈｒｅｅＣｈｒｏｍａＦｉｅｌｄ（例えばＣ３）、（ｖ）ＳｔａｔＣｈｅｃｋ（例えばＳ）、（ｖｉ）ｗｅａｖｅ（例えばＷ）および（ｖｉｉ）ｂｏｂ（例えばＢ）によって一意に指定可能である。モードの説明列において、ＢＢは、１フィールドを用いたボブを示してもよく、ＷＶは、一般に、２フィールドを用いたウィーブを示し、Ｂ２は、２フィールドを用いた混合であり、Ｂ３は、３フィールドを用いた混合であり、ＤＩは、方向補間を示してもよく、ＭＷは、３フィールドを用いたメジアンウィーブである。合計列は、単一の４：２：０輝度フィールド／ラインに関連してもよい。制御信号の全ての組み合わせが、有効であり得るわけではない。ＴｒｉＭＡＤＩアーキテクチャによってサポートされる全ての有効モードが、一般に、表１に列挙されている。２つの追加の制御信号（例えばＨＳＣｎｔＲｅｓｅｔおよびＨＳＣｎｔＤｅｆａｕｌｔ）を用いて、静止カウンタＨＳＣｎｔおよび再設定値の再設定をイネーブル／ディスエーブルにしてもよい。
【００２８】
以下の信号および／またはフラグは、ＴｒｉＭＡＤＩアーキテクチャによって定義してもよい。制御信号（またはフラグ）ＴｈｒｅｅＬｕｍａＦｉｅｌｄは、一般に、以前の技術およびオーバーライドモード（例えば従来のウィーブおよびボブ）との後方互換性を可能にするために用いられる。ＴｒｉＭＡＤＩ技術は、一般に、輝度フィールドと同数またはより少数のクロマフィールドを用いる。ＴｒｉＭＡＤＩ技術は、一般に、輝度フィールドを超えないクロマフィールドを用いる。
【００２９】
制御信号（またはフラグ）Ｂｏｂを用いて、外部シーン変化検出をサポートしてもよい。信号Ｂｏｂが真である場合には、ボブデインターレースを用いて、現在のフィールドに基づいた出力フレームを生成してもよい。ボブは、一般に、フィールドを空間的に補間してフレームを生成する。伝統的に、ボブデインターレースは、上および下の画素に対して空間フィルタリングを実行して、欠損画素を生成する。空間フィルタリングは、垂直フィルタリングと呼んでもよい。（ＡｎｇｌｅＤｅｔｅｃｔｉｏｎ＝偽である場合に）従来のボブ方法をサポートすることに加えて、ＴｒｉＭＡＤＩ技術は、一般に、（ＡｎｇｌｅＤｅｔｅｃｔｉｏｎ＝真の場合に）、検出された角度に基づいて方向補間を実行することによって、エッジのぎざぎざを低減可能な代替ボブ方法をサポートする。代替ボブモード（ボブ+と呼ぶ）は、ライン記憶装置におけるわずかな増加を伴い、従来のボブ方法と同じ帯域幅を用いてもよい。ボブ方法は、一般に、信号ｔｈｒｅｅＬｕｍａＦｉｅｌｄが偽である場合に用いられる。ボブ+は、垂直および対角線上において空間的に補間可能である。
【００３０】
制御信号（またはフラグ）Ｗｅａｖｅを用いて、逆テレシネにおいてなどの外部ピクチャ静止検出をサポートしてもよい。ウィーブ方法は、一般に、（ｉ）２フィールドが利用可能な場合には、従来の２フィールドウィーブ（例えばフィールド挿入）、および（ｉｉ）３フィールドが利用可能な場合には、（静止チェックによって用いられるような）３フィールドメジアンウィーブを実行する。図１７ａに示すように、ＴｒｉＭＡＤＩは、一般に、利用可能なフィールド数に依存して、合計５つのウィーブ方法をサポートする。すなわち、（ｉ）輝度に対する２フィールドウィーブおよびクロマに対するボブ、（ｉｉ）輝度およびクロマの両方に対する２フィールドウィーブ（従来のウィーブ）、（ｉｉｉ）輝度に対する３フィールドメジアンウィーブおよびクロマに対するボブ、（ｉｖ）輝度に対する３フィールドメジアンウィーブおよびクロマに対する２フィールドウィーブ、および（ｖ）輝度およびクロマの両方に対する３フィールドメジアンウィーブである。ウィーブは、一般に、トップフィールドおよびボトムフィールドから画素を補間して、フレームを形成する。メジアンウィーブは、３つのフィールドを用いてもよいが、典型的には、ウィーブは、トップフィールドおよびボトムフィールドだけを用いてもよい。ウィーブ-は、一般に、輝度をウィーブするが、クロマをボブして、（追加的なクロマフィールドを読み出す）帯域幅を節約する。ＭＡＤＩは、一般に、画素ベースで適応的に、ウィーブとボブとの間で混合する。ＲｅＭＡＤＩは、画素ベースで、ボブ+とウィーブとの間の混合であってもよい。ＴｒｉＭＡＤＩはまた、隣接する同じパリティのフィールド間での静止チェックを用いて、画素ベースでボブ+とウィーブとの間の適応選択を改善してもよい。
【００３１】
制御信号（またはフラグ）ＡｎｇｌｅＤｅｔｅｃｔｉｏｎが真である場合には、角度検出動作は、イネーブルにしてもよい。検出された角度に基づいて、一般に、方向補間を用いて、欠損サンプルを生成する。方向補間は、一般に、角度内容のジャギーを低減する。制御信号ＡｎｇｌｅＤｅｔｅｃｔｉｏｎが偽である場合には、角度検出動作はディスエーブルにしてもよく、デフォルト角度（例えば９０°）が、ＴｒｉＭＡＤＩ技術の残りによって用いられる。
【００３２】
制御信号（またはフラグ）のセット（例えばＴｗｏＣｈｒｏｍａＦｉｅｌｄおよびＴｈｒｅｅＣｈｒｏｍａＦｉｅｌｄ）を用いて、ＴｒｉＭＡＤＩ方法によって用いられる多くのクロマフィールドを制御してもよい。信号ＴｗｏＣｈｒｏｍａＦｉｅｌｄおよび信号ＴｈｒｅｅＣｈｒｏｍａＦｉｅｌｄの両方が偽である場合には、現在のフィールドＣＵＲの単一のクロマフィールドが一般に用いられ、ボブ方法（垂直フィルタリングまたは方向補間）を用いて欠損クロマサンプルを生成してもよい。信号ＴｗｏＣｈｒｏｍａＦｉｅｌｄだけが真である場合には、前のフィールドＰＲＥおよび現在のフィールドＣＵＲのクロマフィールドは、ＴｒｉＭＡＤＩ方法によって用いてもよい。信号ＴｈｒｅｅＣｈｒｏｍａＦｉｅｌｄだけが真である場合には、前のフィールドＰＲＥ、現在のフィールドＣＵＲおよび次のフィールドＮＸＴのクロマフィールドは、ＴｒｉＭＡＤＩ方法によって用いてもよい。一般に、信号ＴｗｏＣｈｒｏｍａＦｉｅｌｄおよび信号ＴｈｒｅｅＣｈｒｏｍａＦｉｅｌｄは、同時に真にすべきではない。信号ＴｈｒｅｅＣｈｒｏｍａＦｉｅｌｄは、信号ＴｈｒｅｅＬｕｍａＦｉｅｌｄが真である場合には、用いてもよい。信号ＴｈｒｅｅＬｕｍａＦｉｅｌｄが偽である場合には、信号ＴｈｒｅｅＣｈｒｏｍａＦｉｅｌｄもまた偽であってもよい。
【００３３】
信号（またはフラグ）ＳｔａｔＣｈｅｃｋを用いて、静止チェック方法をイネーブル／ディスエーブルにしてもよい。信号ＳｔａｔＣｈｅｃｋが真である場合には、静止チェック方法をイネーブルにして、経時的にほとんど変化しないエリアにわたる性能を改善してもよい。静止チェック方法は、一般に、信号ｉｓＳｔａｔｉｏｎａｒｙY、ｉｓＳｔａｔｉｏｎａｒｙCbおよびｉｓＳｔａｔｉｏｎａｒｙCrを制御するが、これらの信号は、デインターレース技術によって用いてもよい。信号ＳｔａｔＣｈｅｃｋは、一般に、信号ＴｈｒｅｅＬｕｍａＦｉｅｌｄが真である場合に用いられる。なぜなら、静止チェックは、前のフィールドＰＲＥおよび次のフィールドＮＸＴの両方にアクセスするからである。したがって、信号ＴｈｒｅｅＬｕｍａＦｉｅｌｄが偽である場合には、信号ＳｔａｔＣｈｅｃｋもまた偽であってもよい。
【００３４】
制御信号（またはフラグ）ＨＳＣｎｔＲｅｓｅｔを用いて、静止チェックカウンタＨＳＣｎｔの再設定をイネーブル／ディスエーブルにしてもよい。制御信号（またはフラグ）ＨＳＣｎｔＤｅｆａｕｌｔは、一般に、再設定値用に２ビットのデフォルト値（例えば０〜３）を提供する。信号ＨＳＣｎｔＲｅｓｅｔが偽である場合には、信号ＨＳＣｎｔにおける値は、メモリからロードしてラインバッファに記憶してもよい。そうでなければ、一般に、信号ＨＳＣｎｔＤｅｆａｕｌｔにおける値は、ＨＳＣｎｔラインバッファを初期化するために用いられる。信号ＨＳＣｎｔＲｅｓｅｔが真である場合には、メモリは、カウンタＨＳＣｎｔの値を検索するために読み出さなくてもよい。なぜなら、値は、信号ＨＳＣｎｔＤｅｆａｕｌｔにおけるデフォルト値によって無効にしてもよいからである。
【００３５】
起動時または信号ＳｔａｔＣｈｅｃｋが０から１にトグルされたときに、本方法は、最初に、第１に処理されるフィールド（例えばトップ）のパリティと一致するカウンタ用に、オーバーライドフィールド（例えばトップ）を０にして、次に、第２に処理されるフィールドのパリティと一致するカウンタ用に、他の（例えばボトム）オーバーライドフィールドをゼロにする。かかるものとして、ＴｒｉＭＡＤＩ方法を実行する制御ソフトウェアおよび／またはハードウェアは、ＨＳＣｎｔＲｅｓｅｔ＝真、およびＨＳＣｎｔＤｅｆａｕｌｔ＝０を設定すべきである。カウンタＨＳＣｎｔを０に再設定する代わりに、制御ソフトウェア／ハードウェアは、信号ＳｔａｔＣｈｅｃｋが０から１にトグルされ、かつＷｅａｖｅが１から０にトグルされた場合には、カウンタＨＳＣｎｔを３（例えば、ＨＳＣｎｔＲｅｓｅｔ＝真、およびＨＳＣｎｔＤｅｆａｕｔ＝３）に再設定してもよい。上記は、フォースウィーブが前のフィールドにおいて用いられ、かつ静止チェックがちょうどイネーブルにされた場合には、実行してもよい。なぜなら、外部的に制御されるウィーブは、通常、最近のフィールドが静止的だったということの印であるからである。したがって、カウンタＨＳＣｎｔを３のデフォルト値に再設定することは、０に再設定すること（例えば、静止カウンタＨＳＣｎｔを最初から再構成すること）よりよく静止状態を反映し得る。さらに、外部制御信号は、フィールド境界または起動時にのみ変更されるべきである。制御信号は、フィールドをデインターレースしている間に変更すべきではない。
【００３６】
図６ａを参照すると、本発明の好ましい実施形態に従ってＴｒｉＭＡＤＩ技術を実行する例示的なシステム９４のブロック図が示されている。システム９４には、一般に、回路（またはモジュール）９６、回路（またはモジュール）９８および回路（またはモジュール）１００が含まれる。信号セット（例えばＣＯＮＴＲＯＬ）は、回路９６から回路１００に転送してもよい。信号（例えばＤＡＴＡ）は、回路９８と回路１００との間でやりとりしてもよい。信号（例えばＦＲＡＭＥ）は、回路１００によって生成および供給してもよい。信号（例えばＦＩＥＬＤ）は、回路９８によって受信してもよい。
【００３７】
回路９６は、コントローラ回路として実現してもよい。回路９６は、信号ＣＯＮＴＲＯＬと集合的に呼ばれる多数の信号を生成するように動作可能である。信号ＣＯＮＴＲＯＬには、一般に、信号ＴｈｒｅｅＣｈｒｏｍａＦｉｅｌｄ、ＴｗｏＣｈｒｏｍａＦｉｅｌｄ、ＴｈｒｅｅＬｕｍａＦｉｅｌｄ、ＡｎｇｌｅＤｅｔｅｃｔｉｏｎ、ＢＯＢ、ＷＥＡＶＥ、ＳｔａｔＣｈｅｃｋ、ＨＳＣｎｔＲｅｓｅｔおよびＨＳＣｎｔＤｅｆａｕｌｔが含まれる。一般に、信号ＣＯＮＴＲＯＬの成分によって、回路１００は、１つまたは複数のルミナンスフィールドおよび１つまたは複数のクロミナンスフィールドのために、前のフィールドおよび次のフィールドを別々に用いて動作することが可能になる。
【００３８】
回路９８は、ランダムアクセスメモリ（ＲＡＭ）回路として実現してもよい。回路９８は、デインターレース動作において回路１００が用いるために、信号ＦＩＥＬＤで受信される１つまたは複数のフィールドを一度にバッファするように動作可能であってもよい。回路９８はまた、様々なカウンタＨＳＣｎｔを記憶するように構成してもよい。
【００３９】
回路１００は、デインターレース回路として実現してもよい。回路１００は、少なくとも２つのモードを用い、信号ＤＡＴＡにおいて受信されたフィールドをデインターレースすることによって、信号ＦＲＡＭＥにおけるフレームを生成するように動作可能であってもよい。モードグループは、一般に、表１（図１７ａ）に示し、下記で詳細に論じる。
【００４０】
図６ｂを参照すると、回路１００の例示的なインプリメンテーションの詳細なブロック図が示されている。制御信号は、一般に、細線で示され、データ信号は、一般に、太線で示されている。回路１００には、一般に、Ｙチャネル角度検出ブロック（またはモジュール）１０２、制御信号デコーダブロック（またはモジュール）１０４、Ｙチャネル静止チェックブロック（またはモジュール）１０６、Ｃｂチャネル静止チェックブロック（またはモジュール）１０８、Ｃｒチャネル静止チェックブロック（またはモジュール）１１０、ＨＳＣｎｔバッファブロック（またはモジュール）１１２、Ｙチャネルデインターレースブロック（またはモジュール）１１４、Ｃｂチャネルデインターレースブロック（またはモジュール）１１６、Ｃｒチャネルデインターレースブロック（またはモジュール）１１８、および更新静止カウンタブロック（またはモジュール）１２０が含まれる。
【００４１】
回路１００は、一般に、いくつかの内部制御信号によって制御されるが、これらの信号は、信号（例えばｅｎａｂｌｅＡｎｇｌｅＤｅｔｅｃｔｉｏｎY）、信号（例えばｅｎａｂｌｅＳｔａｔＣｈｅｃｋY）、信号（例えばｅｎａｂｌｅＳｔａｔＣｈｅｃｋC）、信号（例えばｗｅａｖｅＴｗｏＦｉｅｌｄY）、信号（例えばｗｅａｖｅＴｗｏＦｉｅｌｄC）、信号（例えばｗｅａｖｅＴｈｒｅｅＦｉｅｌｄY）、信号（例えばｗｅａｖｅＴｈｒｅｅＦｉｅｌｄC）、信号（例えばｏｎｅＦｉｅｌｄY）、信号（例えばｏｎｅＦｉｅｌｄC）、信号（例えばｔｈｒｅｅＦｉｅｌｄY）および信号（例えばｔｈｒｅｅＦｉｅｌｄC）である。図１８ａに示すように、内部制御信号は、式セット１に従い、外部制御信号を用いて、制御信号デコーダブロック１０４によってデコードしてもよい。さらに、以下の制御信号は、角度検出ブロック１０２ならびに静止チェックブロック１０６、１０８および１１０によって内部で生成してもよいが、これらの信号は、信号（例えばｉｓＡｎｇｌｅ）、信号（例えばａｎｇｌｅＦｉｔ）、信号（例えばα）、信号（例えばｓｔａｔY）、信号（例えばｓｔａｔCb）、信号（例えばｓｔａｔCr）、信号（例えばｉｓＳｔａｔｉｏｎａｒｙY）、信号（例えばｉｓＳｔａｔｉｏｎａｒｙCb）および信号（例えばｉｓＳｔａｔｉｏｎａｒｙCr）である。
【００４２】
Ｙチャネルに対して、角度検出ブロック１０２によって角度検出を実行し、上側の２つの輝度ラインと下側の２つの輝度ラインとの間に強い角度相関が存在するかどうかを判定してもよい。次に、角度情報は、輝度静止チェックブロック１０６およびデインターレースブロック１１４によって用いてもよい。角度検出は、一般に、輝度チャネル用に実行されるが、オプションとして、クロマチャネル用には実行しなくてもよい。
【００４３】
次に、回路１００は、一般に、静止チェックブロック１０６、１０８および１１０において静止チェック方法を用いて、静止（例えばスチール）画素を非静止画素から区別してもよい。静止チェックの結果（例えば信号ｉｓＳｔａｔｉｏｎａｒｙY、ｉｓＳｔａｔｉｏｎａｒｙCbおよびｉｓＳｔａｔｉｏｎａｒｙCr）は、デインターレースブロック１１４、１１６および１１８にそれぞれ伝達してもよい。静止チェックは、３つの全てのチャネルに対して独立して実行してもよいが、現在の画素位置に対する静止カウンタＨＳＣｎｔは、一般に、３つのチャネルに対して一緒に更新される。カウンタＨＳＣｎｔの単一の値は、３つの全てのチャネル用に静止チェックブロック１０６、１０８および１１０によって用いてもよい。
【００４４】
図７を参照すると、例示的な輝度およびクロマデインターレース方法１４０の流れ図が示されている。デインターレース方法（またはプロセス）１４０には、一般に、ステップ（またはブロック）１４２、ステップ（またはブロック）１４４、ステップ（またはブロック）１４６、ステップ（またはブロック）１４８、ステップ（またはブロック）１５０、ステップ（またはブロック）１５２、ステップ（またはブロック）１５４、ステップ（またはブロック）１５６、ステップ（またはブロック）１５８、ステップ（またはブロック）１６０、ステップ（またはブロック）１６２およびステップ（またはブロック）１６４が含まれる。ＴｒｉＭＡＤＩアーキテクチャは、一般に、輝度およびクロマデインターレースの両方に対して同じデインターレース方法１４０を用いる。クロマデインターレースと輝度デインターレースとの間の差は、制御信号および結果（例えばｘ’ｓ）がどのように計算されるかであり得る。
【００４５】
クロマデインターレースに対して、全ての制御信号は、信号の対応クロマバージョンによって置き換えてもよい（例えば、上付き文字Ｙを上付き文字ＣまたはＫと置き換える）。例えば信号ｗｅａｖｅＴｗｏＦｉｅｌｄYは、信号ｗｅａｖｅＴｗｏＦｉｅｌｄCと置き換えてもよく、信号ｗｅａｖｅＴｈｒｅｅＦｉｅｌｄYは、信号ｗｅａｖｅＴｈｒｅｅＦｉｅｌｄCと置き換えてもよく、信号ｏｎｅＦｉｅｌｄYは、信号ｏｎｅＦｉｅｌｄCと置き換えてもよく、信号ｔｈｒｅｅＦｉｅｌｄYは、信号ｔｈｒｅｅＦｉｅｌｄCと置き換えてもよい等である。さらに、全てのｘ’ｓは、対応するｘKバージョンと置き換えてもよい。
【００４６】
ステップ１４２において、デインターレース方法１４０は、信号ｗｅａｖｅＴｗｏＦｉｅｌｄの値をチェックしてもよい。値が真である場合には（例えばステップ１４２の真ブランチ）、方法１４０は、ステップ１４４においてｗｅａｖｅＴｗｏＦｉｅｌｄ方法を利用して計算された変数（例えばｘw2）を用いて、出力サンプル変数（例えばＸout）を生成してもよい。値が偽である場合には（例えばステップ１４２の偽ブランチ）、方法１４０は、ステップ１４６に進んでもよい。
【００４７】
ステップ１４６において、デインターレース方法１４０は、信号ｉｓＳｔａｔｉｏｎａｒｙおよび信号ｗｅａｖｅＴｈｒｅｅＦｉｅｌｄYにおける値のブール論理和（例えばシンボル「｜｜」）をチェックしてもよい。論理和が真である場合には（例えばステップ１４６の真ブランチ）、方法１４０は、ステップ１４８においてｗｅａｖｅＴｈｒｅｅＦｉｅｌｄ方法を用いて計算された変数（例えばｘw3）を用いて、出力サンプル変数Ｘoutを生成してもよい。論理和が偽である場合には（例えばステップ１４６の偽ブランチ）、方法１４０は、ステップ１５０に進んでもよい。
【００４８】
ステップ１５０において、デインターレース方法１４０は、信号ｉｓＡｎｇｌｅYにおける値をチェックしてもよい。値が真である場合には（例えばステップ１５０の真ブランチ）、方法１４０は、ステップ１５２に進んでもよい。値が偽である場合には（例えばステップ１５０の偽ブランチ）、方法１４０は、ステップ１５６に進んでもよい。
【００４９】
ステップ１５２において、デインターレース方法１４０は、信号ａｎｇｌｅＦｉｔの値をチェックしてもよい。値が真である場合には（例えばステップ１５２の真ブランチ）、方法１４０は、ステップ１５４において角度信号αにおける変数（例えばｘdf）を用いて、出力サンプル変数Ｘoutを生成してもよい。値が偽である場合には（例えばステップ１５２の偽ブランチ）、方法１４０は、ステップ１５６に進んでもよい。
【００５０】
ステップ１５６において、デインターレース方法１４０は、信号ｏｎｅＦｉｅｌｄの値をチェックしてもよい。値が真である場合には（例えばステップ１５６の真ブランチ）、方法１４０は、ステップ１５８において垂直空間フィルタリング方法（例えばボブ方法）を用いて計算された変数（例えばｘvf）を用いて、出力サンプル変数Ｘoutを生成してもよい。値が偽である場合には（例えばステップ１５６の偽ブランチ）、方法１４０は、ステップ１６０に進んでもよい。
【００５１】
ステップ１６０において、デインターレース方法１４０は、信号ｔｈｒｅｅＦｉｅｌｄの値をチェックしてもよい。値が真である場合には（例えばステップ１６０の真ブランチ）、方法１４０は、ステップ１６２において２フィールド混合方法（例えばＢ２方法）を用いて計算された変数（例えばｘB2）を用いて、出力サンプル変数Ｘoutを生成してもよい。値が偽である場合には（例えばステップ１６０の偽ブランチ）、方法１４０は、ステップ１６２において３フィールド混合方法（例えばＢ３方法）を用いて計算された変数（例えばｘB3）を用いて、出力サンプル変数Ｘoutを生成してもよい。
【００５２】
いくつかの実施形態において、角度検出は、クロマチャネルに対して実行しなくてもよい。したがって、（ｉ）クロマデインターレースにおいて、角度情報は、利用不可能でもよく、（ｉｉ）信号ｉｓＡｎｇｌｅCは、常に偽であり、（ｉｉｉ）信号ａｎｇｌｅＦｉｔKおよび信号ｘDFKの両方における値は、無視してもよい。いくつかの実施形態において、信号ｉｓＡｎｇｌｅに対応する全ブランチは、クロマ用のインプリメンテーションでは省略してもよい。
【００５３】
輝度デインターレース成分
信号ｗｅａｖｅＴｗｏＦｉｅｌｄYにおける値が真である場合には、ウィーブ方法を用いて輝度出力を生成してもよい。変数ｘw2は、一般に、前のフィールドＰＲＥＶにおける同じ場所の画素である。したがって、輝度デインターレースに対して、ｘw2の値は、図１８ａに示すように、式２によって定義してもよい。式２において、ＰＲＥ［ｕ］［ｖ］は、前の反対パリティフィールドにおける配列された輝度サンプルであってもよい。前の（反対パリティ）フィールドのＰＲＥフィールドは、ウィーブ用に用いてもよい。しかしながら、３：２プルダウンスキームを有する入力ビデオに対して、ウィーブは、次のフィールドＮＸＴを用いて実行してもよい。かかる場合において、前のフィールドＰＲＥは、ＴｒｉＭＡＤＩ方法による処理の前に、次のフィールドＮＸＴと交換してもよい。
【００５４】
３フィールドメジアンウィーブは、一般に、現在の画素が静止的であると判定された場合（例えば、信号ｉｓＳｔａｔｉｏｎａｒｙが真である）かまたは信号ｗｅａｖｅＴｈｒｅｅＦｉｅｌｄYが真である場合（図７を参照）に用いられる。図１８ａに示すように、メジアンウィーブ出力変数ｘw3は、式セット３によって計算してもよい。式セット３において、変数ｘvfは、式４において定義してもよく、変数ｘcoは、変数ｘcp、ｘcnおよびｘvfのメジアンとして定義してもよい。
【００５５】
補間される画素がエッジ画素ではないと宣言された場合には（例えば信号ｉｓＡｎｇｌｅ＝偽）、図１８ｂに示すように、４タップ垂直フィルタを適用し、補間される変数ｘvfを式４によって生成してもよい。変数ｘvfは、範囲［０、２５５］にクリップすべきである。
【００５６】
補間される画素がエッジ画素であると宣言された場合には（例えば信号ｉｓＡｎｇｌｅ＝真）、図１８ｂに示すように、方向フィルタを適用し、補間される変数ｘdfを式５によって生成してもよい。角度変数αは、検出された角度であってもよく、変数ｂおよび変数ｌ（小文字のＬ）は、角度αから得てもよい。上記の方向フィルタにおいて用いられる４つの画素は、一般に、位置（ｕ、ｖ）に「方向的に」集中される。例えば、α＝２の場合に対して、図１２を参照されたい。
【００５７】
補間される画素Ｘoutは、ローカル垂直動作に劇的な変化をもたらすべきではない。したがって、以下の「保護」条件を課してもよい。
（１）ｌｏｃａｌ＿ｓｅｔ＝｛ＣＵＲ［ｕ−１］［ｖ−１］、ＣＵＲ［ｕ＋１］［ｖ−１］、ＣＵＲ［ｕ−１］［ｖ＋１］、ＣＵＲ［ｕ＋１］［ｖ＋１］、ｘout［ｕ］［ｖ−１］｝
（２）ｍｉｎ＿ｓｅｔ＝｛ｌｏｃａｌ＿ｓｅｔ、ｍａｘ（ＣＵＲ［ｕ−１］［ｖ］、ＣＵＲ［ｕ＋１］［ｖ］）｝
（３）ｍａｘ＿ｓｅｔ＝ｌｏｃａｌ＿ｓｅｔ、ｍｉｎ（ＣＵＲ［ｕ−１］［ｖ−１］、ＣＵＲ［ｕ＋１］［ｖ］）｝
（４）ｍｉｎ０＝ｍｉｎ＿ｓｅｔの最小値
（５）ｍｉｎ１＝ｍｉｎ＿ｓｅｔの２番目の最小値
（６）ｍａｘ０＝ｍａｘ＿ｓｅｔの最大値
（７）ｍａｘ１＝ｍａｘ＿ｓｅｔの２番目の最大値
（８）ｍａｘ＿ｓｉｄｅ＿ｇｒａｄｉｅｎｔ＝ｍａｘ（｜ＣＵＲ［ｕ−１］［ｖ−１］−ＣＵＲ［ｕ＋１］［ｖ−１］｜、｜ＣＵＲ［ｕ−１］［ｖ＋１］−ＣＵＲ［ｕ＋１］［ｖ＋１］｜）
（９）ｍｉｎ＿ｓｉｄｅ＿ｇｒａｄｉｅｎｔ＝ｍｉｎ（｜ＣＵＲ［ｕ−１］［ｖ−１］−ＣＵＲ［ｕ＋１］［ｖ−１］｜、｜ＣＵＲ［ｕ−１］［ｖ＋１］−ＣＵＲ［ｕ＋１］［ｖ＋１］｜）
（１０）ｇｒａｄｉｅｎｔ＝ｍａｘ（ｍｉｎ（ｍａｘ０−ｍｉｎ１、ｍａｘ１−ｍｉｎ０、ｍａｘ＿ｓｉｄｅ＿ｇｒａｄｉｅｎｔ）、ｍｉｎ＿ｓｉｄｅ＿ｇｒａｄｉｅｎｔ）
【００５８】
図１８ｂに示すように、角度適合値（例えばａｎｇｌｅＦＩＴY）は、式６によって計算してもよい。式６において、パラメータｃ3は、一般に、０〜１５の整数値および９のデフォルト値を備えたプログラム可能なパラメータである。上記の条件が満たされた場合には、ｘdf（式５において定義されるような）は、生成された最終出力として用いてもよい。そうでなければ、画素は、非エッジ画素として処理してもよい（図７を参照）。式６における「勾配」演算は、一般に異常値を拒絶するローカル画素変動のものさしである。勾配演算は、一般に、多くの「壊れた」対角線、特により低いコントラストのラインを修正する一方で、著しく目立つ新しい誤った角度補間を導入しない。「側部勾配」が一般に過度に大きな勾配を防ぐので、ピクチャの外側のｌｏｃａｌ＿ｓｅｔ画素用にゼロのデフォルト値を用いることは、許容できる。
【００５９】
図１８ｂに示すように、変数ｘcoと変数ｘvfとの混合、および最終的な混合変数（例えばｘblend）の生成は、式７によって計算してもよい。式７において、（ｉ）ｘcp＝ＰＲＥ［ｕ］［ｖ］は、配列された画素の、前のフィールド画素であってもよく、
（ｉｉ）
【００６０】
【数１】
0005592454.tif 000002
【００６１】
は、ｔｈｒｅｅＦｉｅｌｄYが真である場合には、同じ場所の次のフィールド画素であってもよく、ｔｈｒｅｅＦｉｅｌｄYが偽である場合には、ｘcpと同じであり、（ｉｉｉ）ｘco＝メジアン（ｘcp、ｘcn、ｘvf）は、一般に、混合を伴う、画素に関するウィーブ用に用いられる。変数ｘB2は、一般に、前のフィールドにおける同じ場所の画素で垂直にフィルタリングされた値から導き出される（例えばボブ）。変数ｘB3は、前および次のフィールドにおける同じ場所の画素で垂直にフィルタリングされた値から導き出してもよい（例えばボブ）。
【００６２】
図１８ｂに示すように、混合要素（例えばμ）は、式セット８によって計算してもよい。式セット８において、パラメータΔτは、集合｛２、４、８、１６｝におけるプログラム可能なパラメータであってもよい。Δτのデフォルト値は、信号ＴｈｒｅｅＬｕｍａＦｉｅｌｄが真である場合には１６であってもよく、信号ＴｈｒｅｅＬｕｍａＦｉｅｌｄが偽である場合には８であってもよい。τの値は、図１８ｃに示すように、式セット９によって計算してもよい。式セット９において、パラメータτscaleおよびｎscaleは、一般に、集合｛１、．．．、１６｝におけるプログラム可能なパラメータである。ｎscale用のデフォルト値は、８であってもよい。τscale用のデフォルト値は、信号ＴｈｒｅｅＬｕｍａＦｉｅｌｄが真である場合には８であってもよく、信号ＴｈｒｅｅＬｕｍａＦｉｅｌｄが偽である場合には４であってもよい。３フィールド混合に対して、デフォルト値は、τ3およびｘn用のスケーリングを生じなくてもよい。２フィールド混合に対して、ｘnは、次のフィールドＮＸＴが前のフィールドＰＲＥとして扱われるので、常に０であってもよい。かかるものとして、ｎscaleは、一般に、２フィールド混合に影響しない。
【００６３】
図８を参照すると、変数ｘcoおよびｘvfの関数としての混合要素μのグラフが示されている。混合要素μは、多数のフィールドの時空間的な非線形混合用に用いてもよい。混合方法において用いられる変数τ1（式セット９を参照）は、動き適応デインターレースおよび動き補償デインターレースに類似してもよい。変数τ2の使用によって、一般に、移動エッジの近辺（エッジ上ではない）におけるアーチファクトが回避される。かかる状況において、最大値が用いられる場合には、変数τ1は、極めて大きくなる可能性があり、したがって、一般に、垂直フィルタの代わりに、時間フィルタリングが用いられる。変数τ2を組み込むことによって新しい顕著なアーチファクトが導入される可能性はない。図８の関数は、（上記に対して丸めを正確に指定するために）以下の擬似コードで表わしてもよい。
ｄｉｆｆ＝ｍａｘ（｜ｘvf−ｘcp｜、｜ｘvf−ｘcn｜）−τ
ｔｅｍｐ＝ｘvf−ｘco
ｉｆ（ｄｉｆｆ≦０）  ｘblend＝ｘco
ｅｌｓｅ  ｉｆ（ｄｉｆｆ≧Δτ）  ｘblend＝ｘvf
ｅｌｓｅ  ｉｆ（ｔｅｍｐ＜０）  ｘblend＝ｘco＋（ｄｉｆｆ×ｔｅｍｐ−（Δτ＞＞１））／Δτ
ｅｌｓｅ  ｘblend＝ｘco＋（ｄｉｆｆ×ｔｅｍｐ＋（Δτ＞＞１））／Δτ
ここで、τscaleは、集合｛１／４、１／２、１、２｝における値を取ってもよく、Δτは、集合｛４、８、１６、３２｝における値を取ってもよい。
【００６４】
クロマデインターレース成分
信号ｗｅａｖｅＴｗｏＦｉｅｌｄCが真である場合には、ウィーブ方法を用いてクロマ出力変数を生成してもよい。変数ｘW2Kは、一般に、前のフィールドＰＲＥにおける同じ場所の画素である。したがって、図１８ｃに示すように、クロマデインターレースに対して、ｘw2Kの値は、式１０によって定義してもよい。式１０において、ＰＲＥK［ｃｕ］［ｃｖ］は、前の反対パリティフィールドにおける同じ場所の輝度サンプルであってもよい。さらに、フィールドＰＲＥK（前の反対パリティフィールド）は、ウィーブ用に用いられる。しかしながら、３：２プルダウンスキームを有するビデオシーケンスに対して、ウィーブは、次のフィールドＮＸＴを用いて実行してもよい。かかる場合において、前のフィールドＰＲＥは、ＴｒｉＭＡＤＩ方法によって処理される前に、次のフィールドＮＸＴと交換してもよい。
【００６５】
３フィールドメジアンウィーブは、一般に、現在の画素が静止的であると判定された場合（例えば信号ｉｓＳｔａｔｉｏｎａｒｙKが真である）かまたは信号ｗｅａｖｅＴｈｒｅｅＦｉｅｌｄCが真である場合に用いられる（図７を参照）。図１８ｃに示すように、メジアンウィーブ出力（例えばｘw3K）は、式セット１１によって計算してもよい。式セット１１において、変数ｘvfKおよびｘcoKは、式１２および１３によってそれぞれ定義してもよい。
【００６６】
補間される画素がエッジ画素ではないと宣言された場合には（例えば信号ｉｓＡｎｇｌｅC＝偽）、図１８ｃに示すように、２タップ垂直フィルタリングを適用し、式１２によって補間値を生成してもよい。式１２において、変数ｘvfKは、範囲［０、２５５］にクリップすべきである。クロマ垂直フィルタリングに対して、輝度垂直フィルタリング用に用いられる４タップフィルタの代わりに、２タップフィルタを用いてもよい。
【００６７】
クロマ混合は、本質的に輝度混合と同じであってもよい。輝度混合と比較したクロマ混合の差は、変数τがどのように計算されるかであり得る。図１８ｄに示すように、式１３を用いて、ｘvfKをｘcoKと混合してもよい。式１３において、（ｉ）ｘcpK＝ＰＲＥK［ｃｕ］［ｃｖ］は、配列された画素の、前のフィールド画素であってもよく、（ｉｉ）
【００６８】
【数２】
0005592454.tif 000003
【００６９】
は、信号ｔｈｒｅｅＦｉｅｌｄCが真である場合には、次のフィールドにおける配列された画素であってもよく、信号ｔｈｒｅｅＦｉｅｌｄCが偽である場合には、前のフィールドにおける配列された画素であってもよく、（ｉｉｉ）ｘcoK＝メジアン（ｘcpK、ｘcnK、ｘvfK）は、混合を伴う、画素に関するウィーブ用に用いてもよい。
【００７０】
変数ｘB2Kは、一般に、前のフィールドにおける同じ場所の画素で垂直にフィルタリングされた値から導き出される（例えばボブ）。変数ｘB3Kは、前および次のフィールドにおける同じ場所の画素で垂直にフィルタリングされた値から導き出してもよい（例えばボブ）。
【００７１】
図１８ｄに示すように、混合要素変数（例えばμK）は、式セット１４によって計算してもよい。式セット１４において、パラメータΔτCは、集合｛１、２、４、８｝におけるプログラム可能なパラメータであってもよい。ΔτCのデフォルト値は、信号ＴｈｒｅｅＣｈｒｏｍａＦｉｅｌｄが真である場合には８であってもよく、信号ＴｗｏＣｈｒｏｍａＦｉｅｌｄが真である場合には４であってもよい。図１８ｄに示すように、変数τKは、式セット１５によって計算してもよい。式セット１５において、パラメータｎscaleは、輝度混合において定義されるのと同じプログラム可能なパラメータであってもよく、τscaleCは、集合｛１、．．．、１６｝におけるプログラム可能なパラメータであってもよい。τscaleCのデフォルト値は、信号ＴｈｒｅｅＣｈｒｏｍａＦｉｅｌｄが真である場合には８であってもよく、信号ＴｗｏＣｈｒｏｍａＦｉｅｌｄが真である場合には４であってもよい。３フィールド混合に対して、デフォルト値は、一般に、τ3およびｘn用にはスケーリングを生じない。２フィールド混合に対して、変数ｘnは、次のフィールドＮＸＴKが前のフィールドＰＲＥKとして処理されるので、０であってもよい。かかるものとして、ｎscaleの値は、一般に、２フィールド混合に影響しない。
【００７２】
クロマ混合は、一般に、輝度におけるのと同じ混合技術を用いる。擬似コードにおいて、クロマ混合は、以下のように提示してもよい。
ｔｅｍｐ＝ｘvfK−ｘcoK
ｄｉｆｆ＝ｍａｘ（｜ｘvfK−ｘcpK｜、｜ｘvfK−ｘcnK｜）−τK
ｉｆ（ｄｉｆｆ≦０）  ｘblendK＝ｘcoK
ｅｌｓｅ  ｉｆ（ｄｉｆｆ≧ΔτC）  ｘblendK＝ｘvfK
ｅｌｓｅ  ｉｆ（ｔｅｍｐ＜０）  ｘblendK＝ｘcoK＋（ｄｉｆｆ×ｔｅｍｐ−（ΔτC＞＞１））／ΔτC
ｅｌｓｅ  ｘblendK＝ｘcoK＋（ｄｉｆｆ×ｔｅｍｐ＋（ΔτC＞＞１））／ΔτC
【００７３】
輝度角度検出
図９を参照すると、例示的な輝度角度検出方法１８０の流れ図が示されている。角度検出方法（またはプロセス）１８０には、一般に、ステップ（またはブロック）１８２、ステップ（またはブロック）１８４、ステップ（またはブロック）１８６およびステップ（またはブロック）１８８が含まれる。輝度角度検出方法１８０は、（ｉ）現在の位置がエッジかどうかということ、および（ｉｉ）そうである場合には、エッジの角度を判定するために用いられる。
【００７４】
ステップ１８２において、方法１８０は、信号（例えばｅｎａｂｌｅＡｎｇｌｅＤｅｔｅｃｔｉｏｎ）をチェックして、角度検出がイネーブルまたはディスエーブルにされているかどうかを判定してもよい。角度検出がイネーブルにされている場合には（例えばステップ１８２の真ブランチ）、方法は、ステップ１８４に進んでもよい。ステップ１８４において、変数ＤＩＦＦを計算してもよい。後で、ステップ１８６において、信号ｉｓＡｎｇｌｅを真に設定してもよい。角度検出がディスエーブルにされている場合には（例えばステップ１８２の偽ブランチ）、方法１８０は、ステップ１８８において、信号ｉｓＡｎｇｌｅを偽に設定してもよい。
【００７５】
図１０を参照すると、例示的な検出可能角度を示す図が示されている。角度検出モジュール１０２は、ピクチャを検査し、位置（ｕ、ｖ）の近くの角度の特徴においてエッジを検出してもよい。ＴｒｉＭＡＤＩアーキテクチャにおいて、ピクチャは、水平軸１９０に対する多数（例えば２〜１９）の角度に沿って探索してもよい。左（例えば指数−９）から右（例えば指数９）へ、角度は、それぞれ、１７４．６°、１７２．４°、１７１．３°、１６９．７°、１６７．５°、１６４．１°、１５８．２°、１４６．３°、１１６．６°、９０．０°、６３．４°、３３．７°、２１．８°、１５．９°、１２．５°、１０．３°、８．７°、７．６°および５．４°であってもよい。図１０に示すように、角度指数ｉは、−９≦ｉ≦９の範囲を有してもよい。指数は、−２１、−１５、−１３、−１１、−９、−７、−５、−３、−１、０、１、３、５、７、９、１１、１３、１５および２１のベースオフセット（例えばｂ）に対応する。ベースオフセットは、一般に、上側ラインと下側ラインとの間の画素距離として定義される。したがって、角度αは、ｔａｎ-1（２／ｂ）であってもよい。図１７ｂに示すように、角度指数ｉ、ベースオフセットｂおよび検出角度α間のマッピングが、表２に要約されている。さらに、ベース指数ｂは、角度指数ｉの関数であってもよく、逆も同様である。９０．０°の角度は、角度検出の正確さを向上させる有効な検出角度と見なしてもよい。
【００７６】
図１８ｄに示すように、現在のフィールドＣＵＲの位置（ｕ、ｖ）における画素を補間するために、アレイＤＩＦＦ［ｉ］は、式１６によって各角度指数ｉ用に計算してもよい。式１６において、相関ウィンドウは、２Ｗのサイズを有してもよい。さらに、図１８ｄに示すように、変数ｌは、式１７によって定義してもよい。
【００７７】
２４のサイズ（例えばＷ＝１２）を有する相関ウィンドウによって、一般に、アレイＤＩＦＦを計算するための優れた正確さが提供される。より大きなウィンドウサイズによって、低角度用の角度検出精度を改善することが可能である。特定用途の基準を満たすために、他のウィンドウサイズを実現してもよい。
【００７８】
図１１〜１３を参照すると、３つの例示的な角度用の図が示されている。図１１は、一般に、６３．４°の第１の角度でＤＩＦＦ［ｉ］を計算するために用いられる多数（例えばＮ＝２４）のラインセグメント２００ａ〜２００ｎを示す。図１２は、一般に、３３．７°の第２の角度におけるＮラインセグメント２０２ａ〜２０２ｎを示す。図１３は、一般に、２１．８°の第３の角度におけるＮラインセグメント２０４ａ〜２０４ｎを示す。各例において、一意のアレイＤＩＦＦ［ｉ］は、Ｎ＝２４のラインセグメントに沿った（２Ｗ＋３×２Ｗ＝４×２４＝９６）ペアに関する絶対差合計として計算してもよいが、これらのラインセグメントのそれぞれは、図における多数の黒色を接続する。特定用途の基準を満たすために、ラインセグメントの他の数、ラインセグメントの他の長さおよびラインセグメントの他の間隔を実現してもよい。
【００７９】
実験結果に基づくと、画素あたり４ビットの低減された精度が、現在のフィールドＣＵＲにおける少なくとも１６階調の平均ステップ高を備えたエッジを捕捉するのに十分である可能性があり、したがって、知覚性能に著しい影響を及ぼすことなく、ハードウェアコストを大いに低減することが可能である。式１６において、ＤＩＦＦの計算は、高い計算複雑性（例えば、それぞれ９６の加算および絶対値を備えた１９のＤＩＦＦ）を有するように見える。実際には、インプリメンテーションは、より少数の計算を有することが可能である。高速計算は、一般に、位置（ｕ、ｖ）におけるＤＩＦＦ［ｉ］（ＤＩＦＦ(u、v)［ｉ］として表示される）と位置（ｕ、ｖ−１）におけるＤＩＦＦ［ｉ］（ＤＩＦＦ(u、v-1)［ｉ］として表示される）との間の関係を探究することによって、達成可能である。
【００８０】
図１４を参照すると、位置（ｕ、ｖ−１）および位置（ｕ、ｖ）におけるＤＩＦＦ［ｉ］の例示的な関係の図が示されている。各アレイＤＩＦＦ［ｉ］は、９６の加算および絶対値を用いるが、式１６におけるほとんどの絶対差合計（ＳＡＤ）項は、位置（ｕ、ｖ−１）および（ｕ、ｖ）にとって共通である。２つの位置のＤＩＦＦ［ｉ］間の差は、スライドウィンドウにおける左の境界２１０および右の境界２１２である。したがって、図１８ｅに示すように、式１６は、式セット１８として再定式化してもよい。（ほとんどのケースにおいて）ＤＩＦＦ(u、v-1)［ｉ］が周知である場合には、ＤＩＦＦ(u、v)［ｉ］は、わずかな労力で計算可能である。式セット１８に示すように、高速技術は、２＋３＋３＝８の加算および絶対値を利用して、位置（ｕ、ｖ）用に各ＤＩＦＦ［ｉ］を計算する。したがって、計算の複雑性は、１２分の１に低減可能である。行における左端の画素（例えばＤＩＦＦ(u、v=0)［ｉ］）に対して、完全な計算を実行してもよい。なぜなら、ＤＩＦＦ(u、v=-1)［ｉ］が存在しないからである。
【００８１】
１９アレイＤＩＦＦを計算した後で、下記の規則に従って、補間される現在の画素がエッジに位置するかどうかの判定を下してもよい。項の以下の定義を、規則によって用いてもよい。
（１）ＤＩＦＦ＿ｍｉｎ１＝ＤＩＦＦ［α］は、１９ＤＩＦＦの最小値であってもよい。
（２）ＤＩＦＦ＿ｍｉｎ２＝ＤＩＦＦ［β］は、２番目の最小であってもよい。
（３）ＤＩＦＦ＿ｍｉｎ３は、３番目の最小値であってもよい。
（４）ＤＩＦＦ＿ｍａｘは、最大値であってもよい。
ＤＩＦＦ＿ｍｉｎ１＝ＤＩＦＦ［α］＝＝ＤＩＦＦ＿ｍｉｎ２＝ＤＩＦＦ［β］の場合には、αの値は、真ん中の角度の指数であるはずである（例えば｜α｜＜｜β｜）。同様に、ＤＩＦＦ＿ｍｉｎ２＝ＤＩＦＦ［β］＝＝ＤＩＦＦ＿ｍｉｎ３の場合には、βの値は、ＤＩＦＦ＿ｍｉｎ２およびＤＩＦＦ＿ｍｉｎ３の真ん中の指数であるはずである。図１７ｂに示すように、中心角（例えば９０°）に対する指数ｉの距離は、表３において定義してもよい。いくつかの実施形態において、ハードウェアインプリメンテーションは、「均衡」の場合を壊すために別の規則を用いることによって、より単純にすることが可能である。特定用途の基準を満たすために、他の規則を実行してもよい。
（５）変数（例えばＬＥＦＴ）は、αの左の直接隣接する角度として定義してもよく、変数（例えばＲＩＧＨＴ）は、αの右の直接隣接する角度として定義してもよい。図１８ｅに示すように、変数ＬＥＦＴおよびＲＩＧＨＴは、式セット１９に従って決定してもよい。
（６）いくつかの変数（例えばＵｐＬｅｆｔ、ＵｐＲｉｇｈｔ、ＤｏｗｎＬｅｆｔ、ＤｏｗｎＲｉｇｈｔ）は、ウィンドウのラインｕ−１およびラインｕ＋１における左端の画素および右端の画素であってもよい。図１８ｅに示すように、変数ＵｐＬｅｆｔ、ＵｐＲｉｇｈｔ、ＤｏｗｎＬｅｆｔおよびＤｏｗｎＲｉｇｈｔは、式セット２０によって決定してもよい。
（７）閾値マトリックス（例えばＴＨ＿ＤＩＦＦ）は、角度用の最大の可能なＳＡＤを定義してもよい。マトリックスＴＨ＿ＤＩＦＦは、角度に依存した８ビットのプログラム可能な閾値を記憶してもよい。ＤＩＦＦを計算する際に各画素が４ビットで表わされる場合には、図１７ｂに示すように、ＴＨ＿ＤＩＦＦ用のデフォルト値は、表４において定義してもよい。８ビットのＤＩＦＦ計算用に、表４のデフォルト値に１６を掛けてもよい。
【００８２】
以下の条件が満たされる場合に、画素は、角度画素（例えばｉｓＡｎｇｌｅフラグ＝真）であると宣言してもよい。
ｉｓＡｎｇｌｅ＝
（ａ）      ＤＩＦＦ＿ｍｉｎ１*２１＜ｃ1*ＤＩＦＦ＿ｍａｘ
（ｂ）＆＆  ＤＩＦＦ＿ｍｉｎ１≦ＴＨ＿ＤＩＦＦ［α］
（ｃ）＆＆  ＤＩＦＦ＿ｍｉｎ１！＝ＤＩＦＦ＿ｍｉｎ２｜｜  ＤＩＦＦ＿ｍｉｎ２！＝ＤＩＦＦ＿ｍｉｎ３
（ｄ）＆＆  ｍａｘ（｜ＵｐＬｅｆｔ−ＤｏｗｎＬｅｆｔ｜、｜ＵｐＲｉｇｈｔ−ＤｏｗｎＲｉｇｈｔ｜）＜ｃ2
（ｅ１）＆＆  （（｜α−β｜＝＝１）
（ｅ２）｜｜（ＤＩＦＦ＿ｍｉｎ１*２＜ＤＩＦＦ＿ｍｉｎ２
＆＆  ＤＩＦＦ［ＬＥＦＴ］＜（（３*ＤＩＦＦ＿ｍｉｎ２＞＞１）                  ＆＆  ＤＩＦＦ［ＲＩＧＨＴ］＜（（３*ＤＩＦＦ＿ｍｉｎ２＞＞１））
【００８３】
条件（ａ）におけるパラメータｃ1は、７のデフォルト値を備えた、｛３、５、．．．、１５、１８｝からのプログラム可能なパラメータであってもよい。条件（ｄ）におけるパラメータｃ2は、プログラム可能な閾値であってもよい。画素ＵｐＬｅｆｔ、ＵｐＲｉｇｈｔ、ＤｏｗｎＬｅｆｔおよびＤｏｗｎＲｉｇｈｔの主要な４ビットのみが用いられる場合には、閾値は、４のデフォルト値を備えた４ビット整数として実現してもよい。画素の８ビット全てが用いられる場合には、閾値は、６４のデフォルト値を備えた８ビット整数として実現してもよい。
【００８４】
条件（ａ）は、一般に、少なくとも１つの他の方向よりはるかによい角度方向を確立することによって、背景フリッカを回避する。条件（ｂ）は、最小の角度強度を確立可能である。条件（ｃ）は、一般に、３つの角度が等しく優れている場合に、誤った角度で終了しないようにする。条件（ｃ）は、低減されたビット深度および／または低コントラスト領域の場合に役立つ可能性がある。条件（ｄ）は、アーチファクトを低減するための追加的な基準を加えることが可能である。条件（ｅ１）および（ｅ２）は、論理「ＯＲ」してもよい。条件（ｅ１）は、一般に、最良の２つの角度が隣接してもよいことを述べる。条件（ｅ２）は、条件（ｅ１）が満たされないときで、最良の２つの角度が隣接していない場合に、ＤＩＦＦに対して追加条件を確立してもよい。さらに、信号ｉｓＡｎｇｌｅが真である場合には、角度αは、方向フィルタ用に現在の画素の角度として定義してもよい。
【００８５】
角度検出プロセスが、ｕ−３、ｕ−１、ｕ＋ｌおよびｕ＋３のラインを利用するので、角度検出プロセスは、トップラインおよびボトムライン用のフィールド境界の外側のラインにアクセスしてもよい。さらに、角度検出プロセスが大きなウィンドウサイズ（例えばｖ±４３）を用いることが可能なので、プロセスは、左フィールド境界および右フィールド境界近くの利用不可能な画素にアクセスしてもよい。
【００８６】
上記に示すように、フィールド境界の左および右の全ての利用不可能な輝度画素は、０の値を有すると仮定してもよい。かかるものとして、フィールド境界の左および右の埋め込み画素（例えば、ピクチャ境界の外側の計算される画素）は、問題を起こすことがないであろう。しかしながら、フィールド境界のトップの上、およびボトムの下のラインに対して、いくつかの可能なアプローチを用いてもよい。すなわち、（１）角度検出をディスエーブルにして、埋め込み画素の代わりに実際の画素値を用い、（２）角度検出をディスエーブルにして、埋め込み画素を黒（例えば、０の値を有する）と仮定し、（３）角度検出をイネーブルにして、境界外ラインの代わりにトップ／ボトムラインを用い、（４）角度検出をイネーブルにして、全ての境界外画素用にデフォルト値（例えば０）を仮定する。図１７ｂに示すように、上記のアプローチの性能は、一般に、表５において提供される。図１７ｃに示すように、様々なパラメータのリストは、表６に見い出すことができる。
【００８７】
画素に関する静止チェック技術
ＴｒｉＭＡＤＩアーキテクチャは、一般に、画素に関する静止チェックを用いて、経時的にほとんどまたは全く変化しない（例えば静止的）領域にわたって鮮明な出力を提供する。図６に示すように、静止チェックは、各チャネル（例えばＹ、Ｃｂ、Ｃｒ）に対して独立して実行してもよい。各チャネルに対して、静止チェックは、２つの出力ブール信号（またはフラグ）、すなわち（ｉ）ｉｓＳｔａｔｉｏｎａｒｙおよび（ｉｉ）ｓｔａｔを生成してもよい。信号ｉｓＳｔａｔｉｏｎａｒｙは、一般に、現在のフィールドＣＵＲの出力を生成するためにデインターレース技術によって用いられる。信号ｓｔａｔは、２ビットの静止カウンタＨＳＣｎｔを更新するために用いてもよい。カウンタＨＳＣｎｔは、過去に処理された静止フィールドの数を追跡するために用いてもよい。カウンタＨＳＣｎｔは、３つの全てのチャネルの静止フラグに基づいて更新してもよい。
【００８８】
図１５を参照すると、例示的で画素に関する輝度静止チェック方法２２０の流れ図が示されている。輝度静止チェック方法（またはプロセス）２２０には、一般に、ステップ（またはブロック）２２２、ステップ（またはブロック）２２４、ステップ（またはブロック）２２６、ステップ（またはブロック）２２８、ステップ（またはブロック）２３０、ステップ（またはブロック）２３２およびステップ（またはブロック）２３４が含まれる。
【００８９】
ステップ２２２において、信号ｅｎａｂｌｅＳｔａｔＣｈｅｃｋYを検査してもよい。信号ｅｎａｂｌｅＳｔａｔＣｈｅｃｋYが偽の場合には（例えばステップ２２２の偽ブランチ）、静止チェック方法２２０は、ステップ２２４において、信号ｉｓＳｔａｔｉｏｎａｒｙYを偽に設定し、信号ｓｔａｔYを偽に設定してもよい。信号ｅｎａｂｌｅＳｔａｔＣｈｅｃｋYが真である場合には（例えばステップ２２２の真ブランチ）、いくつかのフラグ（または信号）を、ステップ２２６、２２８および２３０において生成してもよい。
【００９０】
ステップ２２６において、フラグ（例えばｉｓＳｔａｔＨｉｓｔ）を計算してもよい。ステップ２２８において、第１のフラグ（例えばｓｔａｔＬｕｍ［０］）および第２のフラグ（例えばｓｔａｔＬｕｍ［１］）を生成してもよい。ステップ２３０において、フラグ（例えばｉｓＬｕｍＡｎｇｌｅＳｔａｔ）は、信号ｉｓＡｎｇｌｅおよび信号ａｎｇｌｅＦｉｔに基づいて計算してもよい。ステップ２３２において、信号ｉｓＳｔａｔｉｏｎａｒｙYは、フラグｉｓＳｔａｔＨｉｓｔ、フラグｓｔａｔＬｕｍ［０］およびフラグｉｓＬｕｍＡｎｇｌｅＳｔａｔに基づいて計算してもよい。ステップ２３４において、フラグｓｔａｔYは、フラグｓｔａｔＬｕｍ［１］に設定してもよい。
【００９１】
図１５に示すように、いくつかのフラグを生成して、輝度静止チェック方法２２０の内で用いてもよい。フラグｓｔａｔＬｕｍ［０］およびフラグｓｔａｔＬｕｍ［１］は、一般に、現在のフィールドＣＵＲならびに反対パリティフィールドＰＲＥおよびＮＸＴにおける周辺画素が静止的かどうかを知らせる。フラグｓｔａｔＬｕｍ［０］は、より厳密な条件で計算してもよく、現在のフィールドＣＵＲをデインターレースするために用いられる。フラグｓｔａｔＬｕｍ［１］は、より緩やかな条件で計算してもよく、静止カウンタＨＳＣｎｔを更新するために用いられる。さらに、フラグｓｔａｔＬｕｍ［１］用に計算された値は、静止チェック技術のフラグｓｔａｔYにおいて出力してもよい。
【００９２】
フラグｉｓＬｕｍＡｎｇｌｅＳｔａｔは、現在の画素がエッジ画素であると判定された場合に、輝度静止チェックをより強固にする追加的制約であってもよい。フラグｉｓＳｔａｔＨｉｓｔは、一般に、現在の位置が過去に十分に静止的だったかどうかを知らせる。フラグｉｓＳｔａｔＨｉｓｔは、カウンタＨＳＣｎｔに基づいて計算してもよい。フラグｉｓＳｔａｔＨｉｓｔは、輝度静止チェック方法２２０およびクロマ静止チェック方法の両方によって用いてもよい。フラグｉｓＳｔａｔｉｏｎａｒｙYは、一般に、現在の画素が静止的かどうかを知らせるために、輝度デインターレース技術によって用いられる。
【００９３】
輝度静止フラグは、現在の画素のローカル動作、１つまたは複数の水平方向周辺画素の動作に基づき、かつ前のフィールドＰＲＥと次のフィールドＮＸＴとの間の変化に基づいて計算してもよい。現在のラインの位置ｖ−４〜ｖ＋４のローカル動作は、計算において用いてもよい。図１８ｆおよび１８ｇに示すように、計算の詳細は、一般に、式２１、式セット２２、式セット２３、式２４、式セット２５および式２６によって規定される。パラメータＡｃｔＯｆｆｓｅｔ、ＡｃｔＳｃａｌｅおよびＭａｘＲｅｓｉｄｕｅは、以下のように定義されたプログラム可能なパラメータであってもよい。
（１）ＡｃｔＳｃａｌｅ＝６のデフォルト値を備えた｛２、３、４、５、６、７、８、９｝
（２）ＡｃｔＯｆｆｓｅｔ＝７のデフォルト値を備えた｛０、１、２、．．．、１４、１５｝
（３）ＭａｘＲｅｓｉｄｕｅ＝１５のデフォルト値を備えた｛１２、１３、．．．、１９｝
【００９４】
いくつかの実施形態において、式２１〜２６における全ての中間媒介変数の完全な計算は、回避してもよい。式セット２２から、パラメータｈｓｔａｔｃｎｔおよび剰余は、所定のサイズ（例えば９）のスライディングウィンドウ内でパラメータｔｄｉｆｆａｃｔに基づいて計算してもよい。ほとんどの中間媒介変数が、位置（ｕ、ｖ−１）と位置（ｕ、ｖ）との間で共有可能なので、スライディングウィンドウにおけるパラメータｔｄｉｆｆａｃｔおよびパラメータｌｕｍＡｃｔは、一時的にバッファしてもよく、したがって、単に、ウィンドウにおける右端の位置に対応する変数だけを個別に計算してもよい。
【００９５】
輝度静止チェックの正確さを改善するために、フラグｉｓＬｕｍＡｎｇｌｅＳｔａｔは、現在の輝度画素の角度情報に基づいて計算してもよい。図１８ｇに示すように、フラグｉｓＬｕｍＡｎｇｌｅＳｔａｔは、式２７によって計算してもよい。式２７において、変数ＭｉｎＨｉｓｔＡｎｇｌｅは、［０、１、２、３］の範囲を備えたプログラム可能なパラメータであってもよく、２のデフォルト値を有してもよい。より大きなＭｉｎＨｉｓｔＡｎｇｌｅ値は、一般に、より厳しい条件を与える。より厳しい条件は、より小さい偽検出（例えば、誤った真）の機会に帰着することが可能であるが、しかしより高いミス検出（誤った偽）の機会に帰着する可能性がある。同様に、より小さなＭｉｎＨｉｓｔＡｎｇｌｅ値は、一般に、より緩やかな条件を与え、したがってより小さなミス検出の機会と共に、より高い偽検出の機会を与える。
【００９６】
フラグｉｓＳｔａｔＨｉｓｔを用いて、現在の画素位置（および垂直方向周辺画素）が過去に静止的だったかどうかを示してもよい。フラグｉｓＳｔａｔＨｉｓｔは、輝度静止チェック技術およびクロマ静止チェック技術の両方によって用いてもよい。図１８ｇに示すように、フラグｉｓＳｔａｔＨｉｓｔは、式２８によって生成してもよい。式２８において、パラメータＭｉｎＨｉｓｔＣｅｎｔｅｒ、パラメータＭｉｎＨｉｓｔＡｄｊａｃｅｎｔおよびパラメータＭｉｎＨｉｓｔＳｕｍは、静止チェック技術の性能に影響するプログラム可能なパラメータであってもよい。パラメータの範囲は、それぞれ、［０、１、２、３］、［３、４、５、６］、および［０、１、．．．、１４、１５］であってもよい。デフォルト値は、それぞれ、２、６および９であってもよい。パラメータのより大きな値は、一般に、より厳しい条件をもたらす。より厳しい条件は、より小さい偽検出（例えば、誤った真）の機会に帰着することが可能であるが、しかしより高いミス検出（誤った偽）の機会に帰着する可能性がある。同様に、より小さな値は、一般に、より緩やかな条件を与え、したがってより小さなミス検出の機会と共に、より高い機会の偽検出を与える。
【００９７】
フラグｉｓＳｔａｔｉｏｎａｒｙYは、輝度デインターレース技術によって用いてもよい（図６および７を参照）。図１８ｇにおいて式２９に示すように、フラグｉｓＳｔａｔｉｏｎａｒｙYは、フラグｓｔａｔＬｕｍ［０］、フラグｉｓＬｕｍＡｎｇｌｅＳｔａｔおよびフラグｉｓＳｔａｔＨｉｓｔの論理積として生成してもよい。
【００９８】
図１６を参照すると、例示的で画素に関するクロマ静止チェック方法２４０の流れ図が示されている。クロマ静止チェック方法（またはプロセス）２４０には、一般に、ステップ（またはブロック）２４２、ステップ（またはブロック）２４４、ステップ（またはブロック）２４６、ステップ（またはブロック）２４８、ステップ（またはブロック）２５０およびステップ（またはブロック）２５２が含まれる。
【００９９】
ステップ２４２において、信号ｅｎａｂｌｅＳｔａｔＣｈｅｃｋCを検査してもよい。信号ｅｎａｂｌｅＳｔａｔＣｈｅｃｋCが偽の場合には（例えばステップ２４２の偽ブランチ）、静止チェック方法２４０は、ステップ２４４において、信号ｉｓＳｔａｔｉｏｎａｒｙCを偽に設定し、信号ｓｔａｔCを偽に設定してもよい。信号ｅｎａｂｌｅＳｔａｔＣｈｅｃｋCが真である場合には（例えばステップ２４２の真ブランチ）、多数のフラグ（または信号）をステップ２４６および２４８で生成してもよい。
【０１００】
ステップ２４６において、フラグｉｓＳｔａｔＨｉｓｔを計算してもよい。ステップ２４８において、フラグ（例えばｓｔａｔＣK）を生成してもよい。ステップ２５０において、信号ｉｓＳｔａｔｉｏｎａｒｙYは、フラグｉｓＳｔａｔＨｉｓｔおよびフラグｓｔａｔＣKに基づいて計算してもよい。ステップ２５２において、フラグｓｔａｔKは、フラグｓｔａｔＣKに設定してもよい。一般に静止フラグのより厳しいバージョンおよびより緩やかなバージョンの両方を生成する輝度静止チェックにおけるのと異なり、２つのクロマチャネルのそれぞれに対して、単一のフラグ（例えばｓｔａｔＣK）だけを生成してもよい。フラグｓｔａｔＣKは、一般に、現在のフィールド（例えばＣＵＲK）および反対パリティフィールド（例えばＰＲＥKおよびＮＸＴK）における画素が静止的かどうかを知らせる。さらに、フラグｓｔａｔＣKを用いて、フラグｉｓＳｔａｉｏｎａｒｙKを計算してもよい。
【０１０１】
同じ静止チェック技術を、両方のクロマチャネル用に用いてもよい。図６に示すように、ＣｂチャネルおよびＣｒチャネル用のクロマ静止チェック方法２４０は、独立して実行してもよい。クロマ静止チェック方法２４０は、一般に、輝度静止チェック方法２２０におけるのと同じフラグｉｓＳｔａｔＨｉｓｔを用いる。
【０１０２】
フラグｓｔａｔＣKは、現在の画素および１つまたは複数の水平方向周辺画素のローカル動作に基づいて計算してもよい。フラグｓｔａｔＣKは、前のフィールドＰＲＥと次のフィールドＮＸＴとの間の変化に基づいてもよい。（４：２：０フォーマットおよび４：２：２フォーマットの両方における）クロマチャネルの潜在的な水平ダウンサンプリングゆえに、現在のラインの位置ｖ−２〜ｖ＋２（輝度における±４ではなく）のローカル動作を、計算において用いてもよい。
【０１０３】
図１８ｈおよび１８ｉに示すように、ｓｔａｔＣKフラグは、式３０〜式３５によって生成される。式３０〜式３５において、パラメータＡｃｔＯｆｆｓｅｔC、パラメータＡｃｔＳｃａｌｅCおよびパラメータＭａｘＲｅｓｉｄｕｅCは、以下に従うプログラム可能なパラメータであってもよい。
（１）ＡｃｔＳｃａｌｅC＝１３のデフォルト値を備えた｛９、．．．、１６｝
（２）ＡｃｔＯｆｆｓｅｔC＝７のデフォルト値を備えた｛０、１、２、．．．、１５｝
（３）ＭａｘＲｅｓｉｄｕｅC＝１５のデフォルト値を備えた｛１２、１３、．．．、１９、｝
【０１０４】
現在の画素が静止的で、現在の位置において履歴的に静止的である場合には、クロマ画素は、静止的であると見なされる。かかるものとして、図１８ｊに示すように、フラグｉｓＳｔａｔｉｏｎａｒｙKは、式３６によって生成してもよい。
【０１０５】
静止チェックカウンタＨＳＣｎｔは、静止チェックがイネーブルにされた場合には（例えば、ｓｔａｔＣｈｅｃｋまたはｅｎａｂｌｅＳｔａｔＣｈｅｃｋYが真である場合には）、更新してもよい。カウンタＨＳＣｎｔの更新が、追加的な書き込み帯域幅を消費する可能性があるので、カウンタＨＳＣｎｔは、静止チェックがディスエーブルにされた場合には、更新しなくてもよい。
【０１０６】
静止チェックがイネーブルされた場合、および静止チェックが、３つの全てのチャネルに対して実行された後で（例えば、ｓｔａｔY、ｓｔａｔCbおよびｓｔａｔCrが全て設定された後で）、図１８ｊに示すように、現在の出力位置用のカウンタＨＳＣｎｔは、式３７によって更新してもよい。カウンタＨＳＣｎｔは、一般に、現在の位置が、３つの全てのチャネルにおいて静止的であると分かった場合には、１（最高３まで）だけ増分される。弱く静止的である場合には（例えば、輝度は静止的であるが、しかし、クロマの少なくとも１つが静止的ではない）、カウンタＨＳＣｎｔは、２で割ってもよい。カウンタＨＳＣｎｔは、現在のフィールドＣＵＲが静止的ではないと判定された場合には、０に再設定してもよい。潜在的なクロマダウンサンプリングゆえに、全ての輝度サンプルが、対応するクロマサンプルを有するわけではない場合がある。したがって、全てのフラグｓｔａｔYが、対応するフラグｓｔａｔCbおよび対応するフラグｓｔａｔCrを有するわけではない場合がある。
【０１０７】
クロマフラグの欠如は、以下のように扱ってもよい。水平クロマダウンサンプリングに関して（例えば４：２：２フォーマットおよび４：２：０フォーマット用の）、フラグｓｔａｔKは、全ての奇数ｖ’ｓ用には存在しない（図１および２を参照）。かかる場合において、位置ｖ＞＞１においてなされたクロマ判定（例えば、同じラインのｖ−１における輝度サンプルに対応するクロマサンプルの判定）を用いてもよい。
【０１０８】
垂直クロマダウンサンプリングに関して（例えば４：２：０フォーマット用の）、フラグｓｔａｔKは、１つおきの輝度ライン用には存在しない（図２を参照）。かかる場合に、最も最近にデインターレースされた輝度ライン（例えばｕ−２）において用いられたクロマ判定を用いてもよい。したがって、クロマ幅のサイズの２つの１ビットライン記憶装置（例えばｓｔａｔCbライン記憶装置およびｓｔａｔCrライン記憶装置）を用いて、クロマライン全体の判定を記憶してもよい。かかるものとして、輝度幅の追加的な１ビットライン記憶装置（クロマは、４：２：０フォーマットにおいて２で水平にダウンサンプリングされ、かつ２つのクロマチャネルが存在する）を実現してもよい。ボトムフィールドのトップ輝度ラインにとって、前のクロマ判定は存在しない。かかる場合に、フラグｓｔａｔCbおよびフラグｓｔａｔCrは、真であると仮定してもよい（例えば、式３７において用いられるクロマ判定を無視する）。１ビットライン記憶装置に記憶された情報は、メモリに書き込む必要はない。かかるものとして、１ビットライン記憶装置は、読み出し帯域幅も書き込み帯域幅も増加させる可能性がない。
【０１０９】
カウンタＨＳＣｎｔは、フラグｉｓＳｔａｔＨｉｓｔを計算する場合およびカウンタＨＳＣｎｔを更新する場合には、読み出してもよい。全体的には、垂直隣接カウンタＨＳＣｎｔだけを用いてもよい（例えば、ｘ∈｛ｕ−２、ｕ−１、ｕ、ｕ＋ｌ、ｕ＋２｝の場合にカウンタＨＳＣｎｔ［ｘ］［ｖ］だけを用いてもよい）。水平隣接ＨＳＣｎｔは、一般に、用いられない。したがって、カウンタＨＳＣｎｔの依存は、一般に、同じライン内には存在しない。しかしながら、依存は、垂直隣接カウンタＨＳＣｎｔ間には存在してもよい。
【０１１０】
上記の結果として、インプリメンテーションにおいて輝度デインターレースおよびクロマデインターレースを完全には同期できない場合には、カウンタＨＳＣｎｔ［ｕ］［ｖ］の更新は、次のラインにおける同じ垂直位置をデインターレースする前に更新が行われる限りは、遅延させてもよい。例えば、カウンタＨＳＣｎｔ［ｕ］［ｖ］は、ＨＳＣｎｔ［（ｕ＋２）−２］［ｖ］が用いられる位置（ｕ＋２、ｖ）をデインターレースする前に更新してもよい。カウンタＨＳＣｎｔの更新が遅延される場合には、ｓｔａｔY/Cb/Crビットは、各遅延される位置のために追跡されるべきである。結果としての柔軟性によって、一般に、輝度処理およびクロマ処理は、遅延がライン未満である限りは、大ざっぱに同期させることが可能になる（正確な遅延は未知である）。
【０１１１】
いくつかの実施形態において、前の動き補償された反対パリティフィールド（例えばＰＲＥMC）および次の動き補償された反対パリティフィールド（例えばＮＸＴMC）は、それぞれ、前のフィールドＰＲＥおよび次のフィールドＮＸＴの代わりに用いてもよい。したがって、ｘco用の混合式は、前の動き補償された反対パリティフィールドＰＲＥMCおよび次の動き補償された反対パリティフィールドＮＸＴMCにおける同じ場所の画素（例えばＰＲＥMC［ｕ］［ｖ］およびＮＸＴMC［ｕ］［ｖ］）から導き出してもよい。同様に、静止チェックカウンタもまた動き補償してもよい。
【０１１２】
他の実施形態において、輝度およびクロマの両方のためにただ単一の静止カウンタＨＳＣｎｔを有する代わりに、別個の静止履歴カウンタを、各カラーチャネル用に実現してもよい（例えば３つのカウンタＨＳＣｎｔ）。かかるものとして、全てのチャネル用に一緒に、または各チャネル用に独立して静止フラグｉｓＳｔａｔｉｏｎａｒｙを判定することなど、別個のカウンタを用いて、より多くの自由を提供し得る。
【０１１３】
いくつかの実施形態において、低角度をよりよく検出するために、より大きなウィンドウを角度検出技術によって用いてもよい。一般に、全ての角度用のウィンドウサイズは同じであってもよい（例えば２４画素幅）。より大きなウィンドウは、低角度を検出する際に正確さを向上させるが、より大きなウィンドウは、より高角度に対してはミス検出の可能性を低減することが可能である。したがって、異なる角度に対して、可変ウィンドウサイズを実現してもよい。より大きなウィンドウサイズを低角度用に用いてもよく、より小さなウィンドウサイズを高角度用に用いてもよい。計算において用いられる異なるサンプル数ゆえに、異なる角度のＤＩＦＦは、最終的角度候補を決定する場合に、異なるように重み付けしてもよい。
【０１１４】
さらに他の実施形態において、独立した輝度／クロマデインターレースを可能にするように、クロマ角度検出を実行してもよい。クロマ角度検出は、予測方法または検出方法に基づいてもよい。予測方法は、一般に、輝度角度に基づいてクロマ角度を予測するので、計算を軽減する。しかしながら、予測方法は、輝度およびクロマが無相関の場合には、辛うじて実行可能である。
【０１１５】
検出方法は、一般に、輝度角度検出におけるようにクロマ角度を検出する。検出方法は、予測方法よりも正確な角度を提供可能である。検出方法によって、一般に、独立した輝度／クロマデインターレースが可能になる。クロマダウンサンプリングゆえに、輝度におけるように全ての１９角度を検出する代わりに、クロマ角度検出においては、より少数の角度候補を確立してもよい。
【０１１６】
クロマ角度検出が実行される場合には、輝度におけるのと同じ適合チェック方法を用いてもよい。図１８ｇ示すように、方向フィルタリングされた結果（例えばｘdfK）（図７を参照）は、式３８によって計算してもよい。式３８において、
【０１１７】
【数３】
0005592454.tif 000004
【０１１８】
であり、ここで、αKは、クロマ角度であってもよく、ｌは、上側ラインの列オフセットであってもよく、式１７によって定義される。
【０１１９】
図６〜９および１５〜１８ｊの図、式および表によって実行される機能は、本明細書の教示に従ってプログラムされた従来の汎用デジタルコンピュータを用いて実行してもよく、これは、当業者には明らかであろう。適切なソフトウェアコーディングは、本開示の教示に基づき、熟練したプログラマによって容易に準備可能であり、これもまた当業者には明らかであろう。
【０１２０】
本明細書で説明しているように、本発明はまた、ＡＳＩＣ、ＦＰＧＡを準備することによってか、または従来のコンポーネント回路の適切なネットワークを相互接続することによって実行してもよく、これらの修正は、当業者には容易に明らかになろう。
【０１２１】
したがって、本発明にはまた、本発明に従ってプロセスを実行するようにコンピュータをプログラムするために利用できる命令を含む記憶媒体であってもよいコンピュータ製品を含むことができる。記憶媒体には、限定するわけではないが、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、磁気もしくは光カードを含む任意のタイプのディスク、または電子命令を記憶するのに適した任意のタイプの媒体を含むことができる。本明細書で用いるように、用語は「同時」は、いくらかの共通の期間を共有するイベントを示すように意味されているが、しかしこの用語は、同じ時点で始まるか、同じ時点で終了するか、または同じ持続期間を有するイベントに限定されるようには意味されていない。
【０１２２】
本発明の好ましい実施形態に関連して、本発明を特に図示および説明したが、本発明の範囲から逸脱することなく、形態および詳細における様々な変更を行い得ることが、当業者には理解されよう。
【図１】
0005592454.tif 000005
【図２】
0005592454.tif 000006
【図３】
0005592454.tif 000007
【図４】
0005592454.tif 000008
【図５】
0005592454.tif 000009
【図６ａ】
0005592454.tif 000010
【図６ｂ】
0005592454.tif 000011
【図７】
0005592454.tif 000012
【図８】
0005592454.tif 000013
【図９】
0005592454.tif 000014
【図１０】
0005592454.tif 000015
【図１１】
0005592454.tif 000016
【図１２】
0005592454.tif 000017
【図１３】
0005592454.tif 000018
【図１４】
0005592454.tif 000019
【図１５】
0005592454.tif 000020
【図１６】
0005592454.tif 000021
【図１７ａ】
0005592454.tif 000022
【図１７ｂ】
0005592454.tif 000023
【図１７ｃ】
0005592454.tif 000024
【図１８ａ】
0005592454.tif 000025
【図１８ｂ】
0005592454.tif 000026
【図１８ｃ】
0005592454.tif 000027
【図１８ｄ】
0005592454.tif 000028
【図１８ｅ】
0005592454.tif 000029
【図１８ｆ】
0005592454.tif 000030
【図１８ｇ】
0005592454.tif 000031
【図１８ｈ】
0005592454.tif 000032
【図１８ｉ】
0005592454.tif 000033
【図１８ｊ】
0005592454.tif 000034