(57)【要約】  画像処理に対する多機能プログラマブルタップフィルタアーキテクチャを提供する装置、システム及び方法を開示する。一実施態様では、システムは、画像ピクセルデータを提供する画像データ源と、複数の画像フィルタリング係数セットを提供する画像フィルタリング係数源と、１つ又は複数の指示子によって指定される１つ又は複数の画像フィルタリング係数セットを使用して少なくとも画像ピクセルデータをフィルタリングすることができる画像処理ロジックとを含む。処理ロジックはまた、隣接するタップフィルタ出力及び／又は隣接しないタップフィルタ出力を混合して、混合されたタップフィルタ出力を生成することもできる。【選択図】  図４
2008525903.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも第１の指示子を構成すること、
少なくとも前記第１の指示子に応じて係数セット（set：集合）を選択すること、及び
前記選択された係数セットを使用して画像データをフィルタリングすること
を含む、方法。
【請求項２】
前記少なくとも前記第１の指示子に応じて係数セットを選択することは、少なくとも第２の指示子に応じて係数セットを選択することをさらに含む、請求項１に記載の方法。
【請求項３】
前記第１の指示子及び前記第２の指示子は、レジスタ及び／又はメモリに格納されているデータビットを含む、請求項２に記載の方法。
【請求項４】
前記少なくとも前記第１の指示子に応じて係数セットを選択することは、入力データに関連する１つ又は複数の指示子に応じて係数セットを選択することをさらに含む、請求項１に記載の方法。
【請求項５】
前記入力データは前記画像データに関連する、請求項４に記載の方法。
【請求項６】
前記画像データはピクセルデータを含み、前記入力データは該ピクセルデータのうちの１つ又は複数のビットを含む、請求項５に記載の方法。
【請求項７】
フィルタリングされた画像データを選択的に出力することであって、該フィルタリングされた画像データを、隣接するタップフィルタ出力データ又は隣接しないタップフィルタ出力データとして選択的に出力することができる、選択的に出力することをさらに含む、請求項１に記載の方法。
【請求項８】
前記隣接するタップフィルタ出力データ又は前記隣接しないタイプフィルタ出力データのいずれかを混合することであって、それによって、混合されたタップフィルタ出力データを生成する、混合することをさらに含む、請求項７に記載の方法。
【請求項９】
画像ピクセルデータを提供する画像データ源と、
複数の画像フィルタリング係数セットを提供する画像フィルタリング係数源と、
前記画像データ源及び前記画像フィルタリング係数源に応答する画像処理ロジックであって、１つ又は複数の指示子によって指定される１つ又は複数の画像フィルタリング係数セットを使用して前記画像ピクセルデータを少なくともフィルタリングすることができる、画像処理ロジックと
を具備する、システム。
【請求項１０】
前記画像処理ロジックはレジスタをさらに備え、該レジスタは前記１つ又は複数の指示子のうちの少なくとも１つを格納する、請求項９に記載のシステム。
【請求項１１】
前記１つ又は複数の指示子は、前記画像ピクセルデータに関連する少なくとも１つの指示子を含む、請求項９に記載のシステム。
【請求項１２】
前記画像ピクセルデータに関連する前記少なくとも１つの指示子は、該画像ピクセルデータの１つ又は複数のビットを含む、請求項１１に記載のシステム。
【請求項１３】
前記画像処理ロジックは、さらに、前記画像ピクセルデータに関連する前記少なくとも１つの指示子に応じて該画像ピクセルデータを動的にフィルタリングすることができる、請求項１１に記載のシステム。
【請求項１４】
前記画像処理ロジックは、さらに、隣接するタップフィルタ出力及び／又は隣接しないタップフィルタ出力を混合することにより、混合されたタップフィルタ出力を生成することができる、請求項９に記載のシステム。
【請求項１５】
複数の画像フィルタリング係数セットを提供する画像フィルタリング係数源と、
１つ又は複数の指示子を含むレジスタと、
前記画像フィルタリング係数源及び前記１つ又は複数の指示子に応答する画像処理ロジックであって、少なくとも
前記１つ又は複数の指示子に応じて前記複数の画像フィルタリング係数セットのうちの１つ又は複数の画像フィルタリング係数セットを選択すること、及び
前記１つ又は複数の選択された係数セットのフィルタリング係数を使用して画像データをフィルタリングすること
が可能である、画像処理ロジックと
を具備する、装置。
【請求項１６】
前記画像処理ロジックは、さらに、前記画像データに関連する指示データに応じて１つ又は複数の画像フィルタリング係数セットを選択することができる、請求項１５に記載の装置。
【請求項１７】
前記１つ又は複数の指示子は、前記画像処理ロジックが前記画像データに関連する前記指示データに応じて１つ又は複数の画像フィルタリング係数セットを選択すべきであることを指示する少なくとも１つの指示子を含む、請求項１６に記載の装置。
【請求項１８】
前記画像処理ロジックは、
第１の分離形フィルタ要素と、
第２の分離形フィルタ要素と
を具備し、前記第１の分離形フィルタ要素は、前記１つ又は複数の指示子のうちの１つの指示子に応じて第１の次元で画像データをフィルタリングし、前記第２の分離形フィルタ要素は、前記１つ又は複数の指示子のうちの異なる指示子に応じて第２の次元で前記画像データをフィルタリングする、請求項１５に記載の装置。
【請求項１９】
前記画像処理ロジックは、さらに、前記第１の分離形フィルタ要素のフィルタリングされた出力データを、前記第２の分離形フィルタ要素のフィルタリングされた出力データと混合することができる、請求項１８に記載の装置。
【請求項２０】
前記第１の分離形フィルタ要素及び前記第２の分離形フィルタ要素は、隣接するタップフィルタリングされた画像データ及び／又は隣接しないタップフィルタリングされた画像データを出力することができる、請求項１８に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
画像処理は、従来、画像処理を提供するように特別に設計された装置（たとえば特定用途向け集積回路（ＡＳＩＣ））、又は、画像処理が既存の装置機能に整合するように適合された、より汎用的な装置（たとえばデジタル信号プロセッサ（ＤＳＰ））のいずれかを使用して取り組まれてきた。ＡＳＩＣは特定の機能を提供することができるが、設計に費用がかかり、開発サイクルが長く、柔軟性がない傾向にある。一方、ＤＳＰは、ＡＳＩＣより柔軟であり得るが、画像処理に対して最適化することがより困難である。
【０００２】
本明細書に組み込まれ且つその一部を構成する添付図面は、本発明の原理に一致する１つ又は複数の実施態様を例示し、本説明とともにこうした実施態様を説明する。図面は、必ずしも比例尺にはなっておらず、代わりに発明の原理を例示することに重きがおかれている。
【発明を実施するための最良の形態】
【０００３】
以下の詳細な説明は添付図面を参照する。異なる図面において同じ参照符号を使用して、同じか又は同様の要素を特定する場合がある。以下の説明において、特許請求の範囲に記載されている発明のさまざまな態様が完全に理解されるために、特定の構造、アーキテクチャ、インタフェース、技法等の特定の詳細を示す。しかしながら、こうした詳細は、説明の目的のために提供するものであって、限定するものとみなされるべきではない。さらに、本開示の利益を有する当業者には、特許請求の範囲に記載されている本発明のさまざまな態様を、これらの特定の詳細から逸脱する他の例で実施してもよいということが明らかとなろう。場合によっては、本発明の説明が不要な詳細によって不明瞭にならないように、既知の装置、回路及び方法の説明を省略する。
【０００４】
図１は、本発明の一実施態様による１つの例示的なシステム１００を示す。システム１００は、１つ又は複数の画像プロセッサ（ＩＰ）１０２、メモリ１０４、１つ又は複数の画像入力装置１０６及び１つ又は複数の画像出力装置１０８を含んでもよい。さらに、一実施態様では、ＩＰ１０２は、共有バス１１０又は他の通信メカニズムによって、ホストプロセッサ１１２、１つ若しくは複数の入出力（Ｉ／Ｏ）インタフェース１１４（たとえばユニバーサルシンクロナスバス（ＵＳＢ）インタフェース、パラレルポート、シリアルポート、電話ポート及び／又は他のＩ／Ｏインタフェース）及び／又は１つ若しくは複数のネットワークインタフェース１１６（たとえば有線及び／若しくは無線のローカルエリアネットワーク（ＬＡＮ）インターフェース並びに／又は広域ネットワーク（ＷＡＮ）インターフェース並びに／又はパーソナルエリアネットワーク（ＰＡＮ）インターフェース並びに／又は他の有線及び／若しくは無線のネットワークインタフェース）と通信してもよい。ホストプロセッサ１１２はまた、１つ又は複数のメモリ装置１１８と通信してもよい。
【０００５】
画像プロセッサ１０２は、１つ又は複数の画像処理機能を実行することができる１つ又は複数の装置を含んでもよい。一実施態様では、画像プロセッサ１０２は、メモリ１０４から且つ／又は画像入力装置１０６から画像データを（たとえば画像ピクセルデータの形式で）受け取ってもよい。一実施態様では、画像プロセッサ１０２は、ピクセルデータに関連する指示子及び／又は指示データに応じてピクセルデータをフィルタリングすることができる、画像処理のためのプログラマブルタップフィルタアーキテクチャを提供してもよい。一実施態様では、ＩＰ１０２は、ピクセルデータの１つ若しくは複数の部分に関連する且つ／又は付加される指示データ及び／又は入力データに応じてピクセルデータをフィルタリングしてもよい。他の実施態様では、ＩＰ１０２は、たとえば１つ若しくは複数のレジスタ及び／又はファイルに格納され且つ／又はそこに位置する指示子及び／又はスタティックデータに応じてピクセルデータをフィルタリングしてもよい。画像プロセッサ１０２は、フィルタリングされた画像データをメモリ１０４及び／又は画像出力装置１０８に出力してもよい。
【０００６】
メモリ１０４及び／又はメモリ１１８は、いくつか例を挙げると画像データ、ピクセルデータ（すなわち入力データを含む可能性がある）及び／又は指示データを格納し且つ／又は保持することができる任意の装置及び／又はメカニズムであってもよい。たとえば、本発明はこれに関して限定されないが、メモリ１０４はスタティックランダムアクセスメモリ（ＳＲＡＭ）であってもよい。たとえば、本発明はこれに関して限定されないが、メモリ１１８はダイナミックランダムアクセスメモリ（ＤＲＡＭ）であってもよい。
【０００７】
画像入力装置（複数可）１０６は、画像データを取り込むために適した複数のメカニズム及び／又は装置（複数可）のうちのいずれかを含んでもよい。たとえば、本発明はこれに関して限定されないが、画像入力装置１０６は、センサアレイ（たとえばＣＭＯＳ／ＣＣＤセンサアレイ）及び／又は別のタイプの画像取込みメカニズムを含んでもよい。画像出力装置（複数可）１０８は、画像データを消費し且つ／又は表示する多数のメカニズム及び／又は装置（複数可）のうちのいずれかを含んでもよい。たとえば、本発明はこれに関して限定されないが、画像出力装置１０８はプリンタ、コンピュータモニタ及び／又は他のタイプの画像表示メカニズム若しくは出力メカニズムを含んでもよい。
【０００８】
ホストプロセッサ１１２は、さまざまな実施態様において専用プロセッサであっても汎用プロセッサであってもよい。さらに、ホストプロセッサ１１２は、単一装置（たとえばマイクロプロセッサ若しくはＡＳＩＣ）又は複数の装置を含んでもよい。一実施態様では、ホストプロセッサ１１２は、画像処理をサポートする多数のタスクのうちのいずれかを実行することができてもよい。これらのタスクは、たとえば、本発明はこれに関して限定されないが、ＩＰ１０２に画像フィルタリング係数を提供すること、ＩＰ１０２にマイクロコードをダウンロードすること、ＩＰ１０２内のレジスタを初期化し且つ／又は構成すること、割り込みサービス（interrupt servicing）、及び画像データをアップロードし且つ／又はダウンロードするバスインタフェースを提供することを含んでもよい。代替の実施態様では、これらの機能のうちのいくつか又はすべてをＩＰ１０２が実行してもよい。
【０００９】
図２は、本発明の一実施態様による画像処理装置２００（たとえば図１の画像プロセッサ１０２）の簡易ブロック図である。画像処理装置２００は、１つ又は複数の拡張インタフェース２０２、１つ又は複数のメモリアクセスユニット２０６、１つ又は複数の外部バスインタフェース２０８及び１つ又は複数の画像信号プロセッサ（ＩＳＰ）２１０、２１２、２１４、２１６を含んでもよい。
【００１０】
一実施態様では、拡張インタフェース２０２は、画像処理装置２００が、システム内の他の装置及び／又は集積回路（ＩＣ）（たとえば図１の画像入力装置１０６及び／又は画像出力装置１０８）に接続されるのを可能にしてもよい。各拡張インタフェース２０２は、それが接続される装置に対応するようにプログラム可能であってもよい。一実施態様では、各拡張インタフェース２０２は、パラレルＩ／Ｏインタフェース（たとえば８ビット、１６ビット又は他のインタフェース）を含んでもよく、拡張インタフェース２０２は、パラレルＩ／Ｏインタフェースを使用して画像ピクセルデータ等のデータを装置２００内に且つ／又は装置２００から同時に転送してもよい。
【００１１】
メモリアクセスユニット２０６は、データが、外部メモリ装置（たとえば図１のメモリ１０４）内に格納され且つ／又はそこから検索されるのを可能にしてもよい。しかしながら、本発明はこれに関して限定されず、たとえば装置２００は、画像ピクセルデータ等のデータを格納し且つ／又は保持する内部メモリ（図示せず）を含んでもよい。一実施態様では、メモリアクセスユニット２０６は、パラレル（たとえば８ビット、１６ビット又は他の）インタフェースをサポートしてもよい。
【００１２】
外部バスインタフェース２０８は、装置２００が外部バス（たとえば図１のバス１１０）に接続するのを可能にしてもよい。一実施態様では、バスインタフェース２０８は、装置２００が、外部ホストプロセッサ（たとえば図１のプロセッサ１１２）から画像フィルタ係数、マイクロコード、構成情報、デバグ情報及び／又は他の情報若しくはデータを受け取り、その情報を、グローバルバス２１８を介してＩＳＰ２１０、２１２、２１４、２１６に提供することができるようにしてもよい。
【００１３】
画像データを、ＩＳＰ２１０〜２１６のうちの１つ又は複数が処理してもよい。一実施態様では、ＩＳＰ２１０〜２１６をメッシュ型構成で相互接続してもよいが、本発明はこれに関して限定されない。ＩＳＰ２１０〜２１６は、データを並列に且つ／又は直列に処理してもよく、各ＩＳＰ２１０〜２１６は同じ機能を実行しても異なる機能を実行してもよい。さらに、ＩＳＰ２１０〜２１６は同一のアーキテクチャを有してもよく又は異なるアーキテクチャを有してもよい。４つのＩＳＰ２１０〜２１６を示すが、他の実施態様では装置２００はＩＳＰ２１０〜２１６より多いか又は少ないＩＳＰを有してもよい。
【００１４】
一実施態様では、少なくとも１つのＩＳＰ２１０〜２１６が、画像処理のためにプログラマブルタップフィルタアーキテクチャを実行することができる。より詳細には、少なくとも１つのＩＳＰ２１０〜２１６が、画像処理のためにプログラマブルタップフィルタアーキテクチャを実装してもよく、その場合、係数セットを、何回でも選択し且つ／又は再構成してもよい。一実施態様では、係数セットを、再構成可能なデータ及び／又は指示子に応じて選択してもよい。さらに、一実施態様では、プログラマブルタップフィルタアーキテクチャによって処理されている画像データに関連する指示データに応じて、係数セットを選択し且つ／又は再構成してもよい。
【００１５】
さらに、少なくとも１つのＩＳＰ２１０〜２１６を、限定されないが１次元分離形フィルタ、２次元分離形フィルタ及び／又は２次元非分離形フィルタを含む多数の異なるタイプの係数フィルタのうちのいずれかを選択的に実行するように構成してもよい。これらのフィルタタイプの各々を実装する方法及び装置については後により詳細に説明する。
【００１６】
一実施態様では、フィルタタップの数もまた構成することができる。たとえば、限定としてではなく、ＩＳＰ２１０〜２１６のうちの１つ又は複数を、２次元の３×３（Ｆ３）フィルタ、５×５（Ｆ５）フィルタ、７×７（Ｆ７）フィルタ、９×９（Ｆ９）フィルタ若しくは１１×１１（Ｆ１１）フィルタ、又は２つ以上のタップ出力を結合することによって生成される混合タップ出力等の別の数のタップを有するフィルタを実行するように構成してもよい。一実施態様では、ＩＳＰ２１０〜２１６のうちの１つ又は複数を、一度に２つ以上の２次元フィルタを実行するように、又は混合タップ出力（たとえば、３×３（Ｆ３）タップ出力を５×５（Ｆ５）タップ出力と混合して４×４（Ｆ４）タップ出力を生成）を有するフィルタアーキテクチャを提供するように構成してもよい。以下では、Ｆ１１フィルタを実装する実施態様例を説明する。しかしながら、これは単に例示の目的のためであり、本発明に従って他の数のタップを有するフィルタも実装してもよいということが理解されなければならない。
【００１７】
さらに、一実施態様では、ＩＳＰ２１０〜２１６のうちの１つ又は複数に供給される入力データのフォーマットが構成可能であってもよい。画像データは多数の形式のうちのいずれかで現れてもよいが、一般に、各データ値はピクセル強度を表す。ピクセルデータは、いくつかの既知のフォーマットを挙げると、「単一成分」（たとえばＬＬＬ）値、３成分サンプル（たとえば赤／緑／青すなわちＲＧＢ）値及び／又は３成分サブサンプル（たとえばＬａＬｂ）値の形式であってもよい。さらに、入力データを、単一カラムフォーマット又は多カラムフォーマット（たとえば３成分サブサンプル４カラムＬａＬｂ）で入力してもよく、スワス（swath）高さ（すなわち、処理ブロックにおけるピクセル行の数）もまた変化してもよい。一実施形態では、カラムフォーマット及びスワス高さもまた構成可能であってもよい。しかしながら、本発明は特定のピクセルデータフォーマットに限定されない。
【００１８】
図３は、本発明によるＩＳＰ（たとえば図２のＩＳＰ２１０）の簡易ブロック図である。一実施態様では、ＩＳＰ３００は、処理要素（ＰＥ）３０２〜３１６及びレジスタファイルスイッチ３１８を含む。一実施態様では、少なくとも１つのＰＥはフィルタＰＥであり、それは、本発明の実施態様によってピクセルデータをフィルタリングする。たとえば、ＰＥ３０２をフィルタＰＥとして示す。
【００１９】
ＰＥ３０２〜３１６のうちの１つ又は複数はマイクロエンジンであってもよく、それを、一実施態様では、たとえばホストプロセッサ１１２（図１）によって提供されるマイクロコードを使用してプログラムしてもよい。したがって、ＰＥ３０２〜３１６のうちの１つ又は複数は、実質的に同じ且つ／又は実質的に異なる動作を実行してもよい。図３には８つのＰＥ３０２〜３１６を示すが、本発明はこれに関して限定されず、それより多いか又は少ないＰＥがＩＳＰに関連してもよい。一実施態様では、レジスタファイルスイッチ３１８はクロスバスイッチを含んでもよい。したがって、レジスタファイルスイッチ３１８は、ＰＥ３０２〜３１６間のピクセルデータ及び／若しくはフィルタ係数等の情報並びに／又はデータを通信するために有用な通信レジスタを含んでもよい。
【００２０】
図４は、本発明によるフィルタＰＥ（たとえば図３のフィルタＰＥ３０２）の簡易ブロック図である。フィルタＰＥ４００は、メモリ４０２、アドレス発生器４０４、モードレジスタ４０６、分離形第１段フィルタ要素４０８、係数源４１０、中間結果記憶要素４１２、分離形第２段フィルタ要素４１４Ａ及び４１４Ｂ、非分離形フィルタ要素４１６及び後処理要素４１８を含んでもよい。
【００２１】
メモリ４０２は、画像ピクセルデータ等のデータを保持し且つ／又は格納することができる任意のメカニズム及び／又は装置（複数可）であってもよい。たとえば、メモリ４０２はＳＲＡＭであってもよい。デジタル化ピクセル強度情報の形式である画像データの処理ブロックのすべて又は一部を、最初にメモリ４０２に格納してもよい。一実施態様では、画像データを外部メモリインタフェース（たとえば図２のアクセスユニット２０６）及び／又は拡張インタフェース（たとえば図２のインタフェース２０２）及び／又はバスインタフェース（たとえば図２のインタフェース２０８）から受け取ってもよい。一実施態様では、画像データをメモリ４０２にカラム単位で格納してもよい。
【００２２】
一実施態様では、中間結果記憶要素４１２は、分離形第１段フィルタ要素４０８によって生成される中間のフィルタリングされたデータを格納する１つ又は複数のレジスタを含んでもよい。しかしながら、本発明はこれに関して限定されず、中間結果記憶要素４１２は、中間フィルタ結果を一時的に保持し且つ／又は格納する任意の適切な手段を含んでもよい。たとえば、記憶要素４１２は、ＲＡＭ及び／又は不揮発性メモリ等の記憶装置の任意の組合せを含むことができる。
【００２３】
上述したように、フィルタＰＥ４００を使用して実装されるフィルタは、多数の方法のうちの任意の１つで構成可能であってもよい。一実施態様では、フィルタＰＥ４００は、モードレジスタ４０６内に格納される構成情報に応じて指定される構成を有してもよい。一実施態様では、フィルタＰＥ４００は、画像ピクセルデータに関連する構成情報に少なくとも部分的に応じて指定される構成を有してもよい。
【００２４】
図５Ａは、本発明によるモードレジスタ４０６の一実施態様をより詳細に示す図である。モードレジスタ４０６は、係数切換モード（ＣＳＭ）フィールド５０２、静的切換モード（ＳＳＭ）フィールド５０４、分離形／非分離形（Ｓ＿ＮＳ）フィールド５０８、１Ｄ＿２Ｄフィールド５１０、正規化セレクタフィールド（ＮＯＲＭ）５１２、入力フォーマットフィールド５１４、入力モードフィールド５１６、混合フィールド（ＢＬＮＤ）５０５、ローフィルタモード（ＬＦＭ）フィールド５０７及びハイフィルタモード（ＨＦＭ）フィールド５０９等の多数のフィールドを含んでもよい。
【００２５】
図５Ｂは、本発明の主題の実施態様によるピクセル入力データ５１８のフォーマットを示す図である。入力データ５１８は、１つ又は複数の動的切換モード（ＤＳＭ）データビット５２２とともにピクセル強度（たとえば、３成分サブサンプルＬａＬｂピクセルの８ビット赤輝度成分強度）を指定する多数のデータビット（この例では入力データ５１８の下位８ビット５２０）を含んでもよい。
【００２６】
図５Ａ及び図５Ｂを参照すると、Ｓ＿ＮＳフィールド５０８は、後により詳細に説明するように分離形フィルタが実装されるか又は非分離形フィルタが実装されるかを指示してもよい。このフィールドは、特に２次元フィルタに対して関連してもよい。一実施態様では、１Ｄ＿２Ｄフィールド５１０は、１次元フィルタが実装されているか又は２次元フィルタが実装されているかを指示してもよい。後により詳細に説明するように、１次元フィルタは水平次元にのみフィルタリングを実装してもよく、２次元フィルタは水平次元及び垂直次元の両方においてフィルタリングを実装してもよい。一実施態様では、ＮＯＲＭフィールド５１２は、フィルタリングプロセスの出力が正規化されるべきであるか否かを指示してもよい。出力が正規化されるべきである場合、後処理要素４１８（図４）が正規化手続きを適用してもよい。
【００２７】
一実施態様では、入力フォーマットフィールド５１４は、入力ピクセルデータが、たとえば単一成分サンプルフォーマットとして入ってきているか、３成分サンプルフォーマットとして入ってきているか、又は４成分サブサンプルフォーマットとして入ってきているかを指示してもよい。しかしながら、本発明はこれに関して限定されず、本明細書で開示するような本発明に一致する他の入力ピクセルデータフォーマットをサポートしてもよい。さらに、入力モードフィールド５１６は、入力ピクセルデータが単一カラムで入ってきているか又は複数カラム（たとえば２カラム、４カラム等）で入ってきているかを指示してもよい。しかしながら、この場合もまた、本発明は入力ピクセルデータのモード及び／又はフォーマットに関して限定されない。
【００２８】
ＣＳＭフィールド５０２は、画像処理のためのプログラマブルタップフィルタアーキテクチャ（たとえば図４のＰＥ４００）を実装するために使用される係数切換方法を指示してもよい。一実施態様では、ＣＳＭフィールド５０２は、後により詳細に説明するように２次元非分離形フィルタに適用してもよい。たとえば、ＣＳＭフィールド（すなわちデータビット（複数可））５０２を、フィルタリングに使用される係数セットを入力データ５１８のＤＳＭビット（複数可）５２２（たとえば、入力ピクセル成分値の最上位ビット（複数可））によって動的に確定してもよいということを示すようにリセット（すなわち、２値「０」値を有するように構成）してもよい。一実施態様では、０のＣＳＭ５０２値及び０のＤＳＭ５２２値は、関連するピクセルデータ５２０の２次元非分離形フィルタリングに対し非対称係数セットが使用されることを指示してもよい。別の実施態様では、０のＣＳＭ５０２値及び１のＤＳＭ５２２値は、そのピクセルデータ５２０をフィルタリングするために象限対称（quadrant-symmetric）係数セットが使用されることを指示してもよい。これらの及び他の実施態様については、図６、図７及び図８に関して後に詳細に説明する。
【００２９】
一実施態様では、ＣＳＭフィールド５０２を、フィルタリングのために使用される係数セットをモードレジスタ４０６のＳＳＭフィールド（又はビット（複数可））５０４によって確定してもよいことを指示するようにセット（すなわち２値「１」値を有するように構成）してもよい。一実施態様では、１のＣＳＭ５０２値及び０のＳＳＭ５０４値は、ピクセルデータ５１８の２次元非分離形フィルタリングに対して非対称係数セットが使用されることを指示してもよい。別の実施態様では、１のＣＳＭ５０２値及び１のＳＳＭ５０４値は、ピクセルデータ５２０の２次元非分離形フィルタリングに対して象限対称係数セットが使用されることを指示してもよい。これらの及び他の実施態様については図６、図７及び図８を参照して後により詳細に説明する。
【００３０】
本発明は、ＣＳＭ５０２値及び／又はＳＳＭ５０４値及び／又はＤＳＭ５２２値の特定の組合せに限定されず、当業者は、本発明の主題に一致してＣＳＭ５０２値及び／又はＳＳＭ５０４値及び／又はＤＳＭ５２２値の他の組合せを利用してもよいということを理解するであろう。たとえば、０のＣＳＭ５０２値及び１のＤＳＭ５２２値は、関連するピクセル入力データの２次元非分離形フィルタリングに対し非対称係数セットが使用されることを指示してもよく、別の実施態様では、０のＣＳＭ５０２値及び０のＤＳＭ５２２値は、２次元非分離形フィルタリングに対して非対象係数セットが使用されることを指示してもよい。入力データ５１８のＤＳＭ５２２部分に加えてモードレジスタ４０６のＣＳＭ５０２制御フィールド及び／又はＳＳＭ５０４制御フィールドを構成することにより、特許請求の範囲に記載されている本発明に一致して非分離形フィルタ要素４１６の多数の実施態様が可能であることが明らかである。
【００３１】
一実施態様では、ＢＬＮＤフィールド５０５を、分離形第２段フィルタ４１４Ａ及び４１４Ｂのタップ出力の混合が実行されることを指示するように構成してもよい。特に、一実施態様では、ＢＬＮＤフィールド５０５を、後により詳細に説明するように２次元分離形フィルタに適用してもよい。一実施態様では、本発明はこれに関して限定されないが、ＢＬＮＤフィールド５０５を、後処理要素４１８に対して、タップ出力ＴａｐＡ及びＴａｐＢがフィルタリングされている画像データを生成するように実装される後処理の少なくとも一部として互いに混合されることを指示するようにセットしてもよい。代替的に、ＢＬＮＤフィールド５０５を、後処理要素４１８に対して、タップ出力ＴａｐＡ又はＴａｐＢのいずれかがフィルタリングされる画像データを生成するように後処理されることを指示するようにセットしてもよい。
【００３２】
ＬＦＭフィールド５０７及び／又はＨＦＭフィールド５０９を、それぞれの分離形第２段フィルタ４１４Ａ及び４１４Ｂによって実装されるフィルタのタイプ（たとえばＦ３、Ｆ７、Ｆ９、Ｆ１１等）を指示するように構成してもよい。一実施態様では、本発明はこれに関して限定されないが、ＬＦＭフィールド５０７及び／又はＨＦＭフィールド５０９は、分離形第２段フィルタ４１４Ａ及び４１４Ｂの各々に対して６つの個別のフィルタ設定を可能にする３ビット幅であってもよい。たとえば、ＨＦＭフィールド５０９を（０，０，１）として構成することは、分離形第２段フィルタ４１４Ｂが画像データのＦ３フィルタリングを実行することを指示してもよく、ＬＦＭフィールド５０７を（１，０，１）として構成することは、分離形第２段フィルタ４１４Ａが画像データのＦ１１フィルタリングを実行することを指示してもよい。本発明はこれに関して限定されないが、ＬＦＭフィールド５０７及び／又はＨＦＭフィールド５０９を、それぞれの分離形段によって画像フィルタリングが実行されないことを指示するように構成してもよい。モードレジスタ４０６のＬＦＭフィールド５０７制御フィールド及び／又はＨＦＭフィールド５０９制御フィールドを構成することにより、特許請求の範囲に記載されている本発明に一致して、分離形第２段フィルタ４１４Ａ及び４１４Ｂの多数の実施態様が可能であることが明らかである。
【００３３】
特定のモードのレジスタフィールドを上に列挙したが、他の実施態様において、モードレジスタ４０６は、より多いフィールド、より少ないフィールド、又は異なるフィールドを含んでもよいということが理解されるべきである。たとえば、モードレジスタ４０６は、スワス高さ、正規化値（すなわち、正規化が可能である場合にフィルタリングされた出力に乗ずるために使用される値）、シフト値（すなわち、フィルタリングされた出力を右シフトさせるためのビットの数）及び／又は他のフィルタ関連情報を指示するフィールドを含んでもよい。さらに、モードレジスタ４０６に関連して上述したデータ／制御フィールドのいくつか及び／又はすべてを、別の場所に格納してもよく又は他の方法で示してもよい。
【００３４】
図６は、本発明による係数源４１０をより詳細に示す簡易ブロック図である。係数源４１０は、第１の係数レジスタバンク（「バンク０」）６０２、第２の係数レジスタバンク（「バンク１」）６０４及びマルチプレクサ６０６を含んでもよい。レジスタバンク６０２及び６０４は、画像データをフィルタリングするために適した係数値６０８のセットを格納し且つ／又は保持することができる任意のメカニズムを含んでもよい。たとえば、バンク６０２及び／又はバンク６０４は、専用レジスタ及び／又は汎用レジスタを含んでもよい。さらに、図６は２つのレジスタバンクを示すが、本発明はこれに関して限定されず、当業者は、係数源４１０が１つ、３つ又は別の数のレジスタバンクを含んでもよいということを理解するであろう。
【００３５】
マルチプレクサ６０６は、入力データ５１８のＤＳＭフィールド５２２の値（複数可）に応じて且つ／又はモードレジスタ４０６に格納され且つ／若しくは保持されるＳＳＭフィールド５０４の値（複数可）に応じて、複数の係数セット６０８から選択することができる任意のメカニズムを含んでもよい。ＤＳＭ値及び／又はＳＳＭ値に応じて、マルチプレクサ６０６は、レジスタバンク６０２及び／又は６０４に係数セット６０８のうちの１つ又は複数を提供してもよい。たとえば、０のＤＳＭ５２２値に応じて、マルチプレクサ６０６は、レジスタバンク０に係数セット０を提供し且つ／若しくはレジスタバンク１に係数セット１を提供してもよく、又はその逆であってもよい。特許請求の範囲に記載されている本発明に一致して、ＤＳＭ５２２及び／又はＳＳＭ５０４に対する値の多くの組合せが、マルチプレクサ６０６に対して、係数セット６０８の異なる組合せをバンク６０２、６０４のうちの一方又は両方に提供するように命令してもよいことが明らかである。
【００３６】
図７は、本発明による多機能プログラマブルタップフィルタを提供するプロセス７００を示すフローチャートである。説明を容易にするために、図４、図５及び図６に示すように図１のシステム１００及びシステム１００のコンポーネントに関してプロセス７００及び関連するプロセスを説明する場合があるが、特許請求の範囲に記載されている本発明はこれに関して限定されない。
【００３７】
プロセス７００は、ピクセル入力値のセットの選択されたフィルタリング動作を実行するように画像フィルタ（たとえば、図４のフィルタ４００）を構成すること（行為７０２）で開始してもよい。一実施態様では、画像フィルタを構成することは、１次元フィルタリング動作及び１つ又は複数の２次元フィルタリング動作を含んでもよい動作のグループからフィルタリング動作を選択することを含んでもよい。一実施態様では、フィルタ４００を、１次元フィルタリング動作又は２次元フィルタリング動作に対して、モードレジスタ４０６の１Ｄ＿２Ｄフィールド５１０をセットし且つ／又はリセットすることにより構成してもよい。さらに、選択の対象としてもよい２次元フィルタリング動作には、分離形２次元フィルタリング動作及び非分離形２次元フィルタリング動作が含まれる。一実施態様では、分離形２次元フィルタリング動作又は非分離形２次元フィルタリング動作のいずれかのフィルタを、モードレジスタ４０６のＳ＿ＮＳフィールド５０８をセットし且つ／又はリセットすることによって構成してもよい。
【００３８】
一実施態様では、Ｓ＿ＮＳフィールド５０８が、フィルタ４００が分離形フィルタリングを実行することを示す場合、メモリ４０２内に格納されている入力データ５１８の形式の画像データを、第１段フィルタ要素４０８に送出してもよい。一実施態様では、アドレス発生器４０４を使用して、第１段フィルタ要素４０８がデータを受け入れる用意ができている場合に、画像データが適切な順序で第１段フィルタ要素４０８に送出されることを確実にしてもよい。
【００３９】
２次元フィルタリングのためにフィルタ４００を構成することは、一実施態様では、モードレジスタ４０６のＬＦＭフィールド５０７及び／又はＨＦＭフィールド５０９を構成することにより分離形第２段フィルタ４１４Ａ及び／又は４１４Ｂによって実装されるフィルタ（たとえば、Ｆ３、Ｆ７、Ｆ９、Ｆ１１等）を指定することを含んでもよい。別の実施態様では、非分離形フィルタ４１６によって実装されるフィルタ（たとえばＦ３、Ｆ７、Ｆ９、Ｆ１１等）を、モードレジスタ４０６のＬＦＭフィールド５０７を構成することによって指定してもよい。
【００４０】
フィルタタイプに加えて、係数行列のサイズ（たとえばＦ３、Ｆ５、Ｆ７等）もまた、入力データのタイプ及び他のパラメータと同様に構成することができる。構成情報を、ホストプロセッサ（たとえば図１のプロセッサ１１２）又は他のコマンド源からのコマンドを使用してモードレジスタ（たとえば図４のレジスタ４０６）にロードすることができる。
【００４１】
プロセス７００を、水平次元係数セット及び／又は垂直次元係数セット（複数可）を提供すること（行為７０４）で続けてもよい。これらの係数行列及び／又は係数セットを、図４のフィルタリング段（複数可）によって利用可能となるようにしてもよい。行為７０４を、図５の係数源４１０にロードされる係数のうちの１つ又は複数のセットを有することによって達成してもよい。
【００４２】
プロセス７００を、ピクセル入力データをメモリ（たとえば、図４の分離形第１段フィルタ４０８及び／又は非分離形フィルタ４１６がアクセス可能なメモリ４０２）にロードすること（行為７０６）で続けてもよい。一実施態様では、行為７０４において、上述したような係数選択データ及び／又はデータビット（たとえば図５ＡのＤＳＭデータ５２２）を含む入力データ５１８をロードしてもよい。
【００４３】
プロセス７００を、２次元フィルタリング動作が行われるか否かを判断すること（行為７０８）によって続けてもよい。一実施態様では、行為７０８は、フィルタリングのために十分な画像ピクセルデータが入手可能となると行われてもよい。一実施態様では、２次元フィルタリング動作が行われるか否かを、モードレジスタ４０６（図４）の１Ｄ＿２Ｄフィールド５１０をセットし且つ／又はリセットすることによって指示してもよい。２次元フィルタリング動作が選択されない（すなわち１次元フィルタリング動作が選択される）場合、非分離形フィルタリング動作を実行してもよい（行為７１０）。これを行う１つの方法は、図４の非分離形フィルタ要素４１６を使用して画像ピクセルデータをフィルタリングすることである。一実施態様では、ＬＦＭフィールド５０７は、行為７１０において実行される１次元フィルタリング（たとえばＦ３、Ｆ５、Ｆ７又はＦ１１）を指示してもよい。
【００４４】
２次元フィルタリング動作が選択される場合、２次元フィルタリング動作が分離形で実行されるか否かに関する判断を行ってもよい（行為７１２）。一実施態様では、分離形２次元フィルタリング動作を、モードレジスタ４０６（図４）のＳ＿ＮＳフィールド５０８をセットし且つ／又はリセットすることによって指示してもよい。２次元分離形フィルタリング動作が選択されない（すなわち、２次元非分離形フィルタリング動作が選択される）場合、非分離形フィルタリング動作を実行してもよい（行為７１０）。上述したように、これを行う１つの方法は、図４の非分離形フィルタ要素４１６を使用して画像ピクセルデータをフィルタリングすることである。一実施態様では、選択される動作が非分離形動作である場合、中間のフィルタリングされた画像データ（すなわち、第１段フィルタリングからもたらされるデータ）を、各値が係数／ピクセル値の積の行の和を構成する場合があるため、合計してもよい。上述したように、実行される２次元非分離形フィルタリング（たとえばＦ３、Ｆ５、Ｆ７又はＦ１１）を、モードレジスタ４０６のＬＦＭフィールド５０７をセットし且つ／又はリセットすることによって指示してもよい。
【００４５】
２次元分離形フィルタリング動作が選択される場合、分離形第１段フィルタリング動作を実行してもよい（行為７１４）。一実施態様では、これを、分離形第１段フィルタ要素４０８を使用して第１の次元においてピクセルデータ５２０をフィルタリングすることによって達成してもよい。一実施態様では、第１の次元は水平次元であり、第１段フィルタリングは、ピクセル値のサブブロックに水平次元係数を乗ずることを含んでもよい。別の実施態様では、第１の次元は垂直次元である。一実施態様では、後により詳細に説明するように、分離形２次元フィルタリング動作の第１段フィルタリングを、係数源４１０に格納され且つ／又は保持される非同期係数セットの水平係数を使用して達成してもよい。一実施態様では、第１段フィルタ要素４０８は、第１の次元においてＦ３フィルタリング、Ｆ５フィルタリング、Ｆ７フィルタリング及びＦ１１フィルタリングを実行し、部分的にＦ３フィルタリング、Ｆ５フィルタリング、Ｆ７フィルタリング及びＦ１１フィルタリングされたピクセルデータ（すなわち、第１の次元においてＦ３フィルタリング、Ｆ５フィルタリング、Ｆ７フィルタリング及びＦ１１フィルタリングされたピクセルデータ）を生成する。
【００４６】
プロセス７００を、行為７１４において第１段フィルタリング動作によって生成された１つ又は複数の（たとえばＦ３、Ｆ５、Ｆ７及びＦ１１）第１のフィルタ出力及び／又はタップ値の一時的な記憶（行為７１６）で続けてもよい。これを、図４の記憶要素４１２に第１段結果を一時的に格納することによって達成してもよい。しかしながら、本発明はこれに関して限定されず、当業者は、第１段フィルタリングの中間結果を一時的に格納しなくてもよく、代りに、さらに処理するために即時に利用可能としてもよいということを理解するであろう。
【００４７】
プロセス７００を、分離形第２段フィルタリングの実行（行為７１８）で続けてもよい。これを行う１つの方法は、行為７１６において記憶要素４１２に一時的に格納された中間のフィルタリングされた画像データ（すなわち、第１段フィルタリングからもたらされるデータ）を、分離形第２段フィルタ要素４１４Ａ及び４１４Ｂの両方に提供すること、及びフィルタ要素４１４Ａ及び４１４Ｂに対し、第１の次元に対して直交する第２の次元においてこの中間データをフィルタリングさせることである。一実施態様では、２次元分離形第２段フィルタリングは、第１段フィルタ出力値に垂直次元係数を乗ずることを含んでもよい。一実施態様では、第２の次元は水平次元である。
【００４８】
プロセス７００を、２次元分離形第２段フィルタリングプロセス（行為７１８）の出力及び／又は非分離形（１次元及び／又は２次元）処理（行為７１０）の出力の後処理（行為７２０）で続けてもよい。これを、非分離形フィルタ要素４１６の出力、分離形第１段フィルタ要素４０８の出力及び／又は後処理要素４１８によってフィルタリングされた画像データをもたらすために処理される分離形第２段フィルタ要素４１４Ａ及び４１４Ｂの出力を有することによって達成してもよい。上述したように、後処理は、正規化、シフト及び／又は丸めを含んでもよい。後処理動作はまた、分離形第２段フィルタ４１４Ａ及び４１４ＢのそれぞれのＴａｐＡ及びＴａｐＢのフィルタリングされた画像データ出力の混合及び／又は結合を含んでもよい。上述したように、ＴａｐＡ及びＴａｐＢの後処理混合を、モードレジスタ４０６のＢＬＮＤフィールド５０５をセットし且つ／又はリセットすることによって指示してもよい。
【００４９】
一実施態様では、第２段フィルタ４１４Ａ及び４１４Ｂは、それぞれのタップＡ及びＢにおいて異なる次元のフィルタリングされたピクセルデータを出力する。たとえば、モードレジスタ４０６のＬＦＭフィールド５０７及び／又はＨＦＭフィールド５０９に応じて、第２段フィルタ４１４Ａ及び４１４Ｂは、それぞれのタップＡ及びＢにおいてＦ３及びＦ５又はＦ９及びＦ１１等の隣接するタップを出力してもよい。別の実施態様では、第２段フィルタ４１４Ａ及び４１４Ｂは、ＬＦＭフィールド５０７及び／又はＨＦＭフィールド５０９に応じて、それぞれのタップＡ及びＢにおいてＦ３及びＦ７又はＦ３及びＦ１１等の隣接しないタップを出力してもよい。
【００５０】
そして、行為７２０における後処理は、モードレジスタ４０６のＢＬＮＤフィールド５０５に応じて、タップＡ及びタップＢを混合及び／又は結合することにより、たとえば、隣接するＦ３タップ出力及びＦ５タップ出力からのＦ４タップフィルタリングされたデータ、又はたとえば隣接しないＦ３タップ出力及びＦ７タップ出力からのＦ５タップフィルタリングされたデータに対応するフィルタリングされた画像データを生成することを含んでもよい。当然ながら、上記実施態様は、第２段フィルタリングのほんのわずかな例と他の多くの組合せとを包含し、後続する後処理は特許請求の範囲に記載されている本発明と一致する。
【００５１】
さらに、当業者は、本明細書の説明に基づいて他の処理変形形態を構想することができる。たとえば、行為７０２における画像フィルタの構成を、後により詳細に説明するように、一度行ってもよく、又は行為７０４におけるピクセルデータの別個の位置のロードに応じて新たに行ってもよい。
【００５２】
プロセス７００を、すべてのピクセルが処理されたか否かの確定（行為７２２）で続けてもよい。一実施態様では、ホストプロセッサ１１２（図１）がこの確定を行い、画像プロセッサ１０２（図１）内のフィルタ４００（図４）に対し、すべてのピクセルが処理されたか又は特定の画像が処理されたかについて通知してもよい。すべてのピクセルが処理されていない場合、フィルタリングのために画像ピクセルデータの次のサブブロックを選択してもよく（たとえば画像ピクセルの同じスワス又は異なるスワスにおいて）、プロセスは図示されるように繰り返す。処理されるべきすべてのピクセルが処理されると、後処理手続きの結果を出力してもよい（行為７２４）。
【００５３】
ここで、プロセス７００の一部を、Ｆ１１フィルタを採用する１つの例示的な２次元非分離形フィルタリング動作に関してより詳細に説明する。この例に関して、図９Ａは、１１行及び１１列の係数を含み、各係数が列番号及び行番号の対によってラベル付けされる（たとえば、列１１、行１１の係数は（１１，１１）とラベル付けされる）、１つの例示的なサンプリングされた非対称係数セット９０２（たとえば図６の係数セット６０８のうちの１つ）を示す。図９Ｂは、６行及び６列の係数の４つの対称象限を含む１つの例示的なサンプリングされた象限対称係数セット９０４（たとえば、図６の係数セット６０８のうちの別のもの）を示す。
【００５４】
図４〜図７及び図９を参照すると、プロセス７００を使用する２次元の非分離形Ｆ１１フィルタリング動作は、モードレジスタ４０６のＣＳＭフィールド５０２のセット及び／又はリセットにより画像フィルタ４００を構成すること（行為７０２）で開始してもよい。一実施態様では、ＣＳＭフィールド５０２が「０」にリセットされている場合、行為７０６において提供される係数セットを、行為７０４においてロードされたピクセルデータのＤＳＭフィールド５２２に応じて動的に選択してもよい。ＣＳＭフィールド５０２が「１」にセットされている場合、行為７０６において提供される係数セットを、モードレジスタ４０６のＳＳＭフィールド５０４の値に応じて選択してもよい。
【００５５】
図８Ａは、プロセス７００の行為７０４をより詳細に示す。行為７０４は、係数セットの動的切換が可能とされているか否かの判断（行為８０２）で開始してもよい。動的切換が可能である場合、入力データに従って又はそれに応じて係数セット（複数可）を選択してもよい（行為８０４）。一実施態様では、動的切換を、ＣＳＭフィールド５０２を「０」にリセットすることによって可能にし且つ／又は指示してもよく、その場合、係数セットを、入力データ５１８のＤＳＭフィールド５２２に応じて且つ／又はそれに従って選択してもよい。動的切換が可能でない場合、係数セット（複数可）を静的データに従って又はそれに応じて選択してもよい（行為８０６）。一実施態様では、動的切換を、ＣＳＭフィールドを「１」にセットすることにより逆指示してもよく、その場合、係数セットをモードレジスタのＳＳＭフィールド５０４によって指示される静的データに応じて且つ／又はそれに従って選択してもよい。
【００５６】
一実施態様では、２次元非分離形フィルタリングが実装され動的切換が可能である（たとえば、所与のピクセルに対しＣＳＭフィールド５０２が「０」にリセットされ、ＤＳＭフィールド５２２が「０」にリセットされる）場合、ピクセルデータ５２０を、第１段フィルタリング中に水平次元のデータをフィルタリングするように、図９Ａの非対称係数セット９０２からの係数の第１の行からの係数を使用してフィルタリングしてもよい。そして、一実施態様では、第２段フィルタリング中に、ピクセルデータ５２０を、ＬＦＭモードの場合はセット９０２の第２の行からの係数を使用して且つ／又はＨＦＭモードの場合はセット９０２の第３の行からの係数を使用して、垂直次元においてピクセルデータ５２０をフィルタリングしてもよい。そうでない場合、所与のピクセルに対してＤＳＭフィールド５２２がセットされている（すなわち、値「１」を有する）場合、そのピクセルを、図９Ｂの象限対称係数セットを使用してフィルタリングしてもよい。この実施態様では、各ピクセルに対するＤＳＭ値は、マルチプレクサ６０６（図６）に対し、セット６０８のうちの１つを係数レジスタバンク６０２及び／又は６０４のいずれかにロードするように命令してもよい。
【００５７】
一実施態様では、動的切換が不可とされる（すなわち、ＣＳＭフィールド５０２が「１」にセットされている）場合、且つ所与のピクセルに対してＳＳＭフィールド５０４が「０」にリセットされている場合、そのピクセルを、図９Ａの非対称係数セットを使用してフィルタリングしてもよい。そうでない場合、所与のピクセルに対してＳＳＭフィールド５０４が「１」にセットされている場合、図９Ｂの象限対称係数セットを使用してそのピクセルをフィルタリングしてもよい。この実施態様では、モードレジスタ６０４に格納されているＳＳＭ値は、マルチプレクサ６０６（図６）に対し、係数レジスタバンク６０２及び／又は６０４のいずれかにセット６０８のうちの１つをロードするように命令してもよい。しかしながら、本発明はこの動作のモードに限定されず、特許請求の範囲に記載されている本発明に一致して他のモードを実装してもよい。たとえば、ＣＳＭフィールド及び／又はＳＳＭフィールドの論理的定義は、本発明の範囲及び精神から逸脱することなく異なってもよい（たとえばＣＳＭフィールド５０２を「１」にセットすることにより動的切換を可能にしてもよい）。
【００５８】
図８Ｂは、プロセス７００の行為７１０をより詳細に示す。行為７１０は、ＬＦＭフィールド５０７を構成すること（行為８１０）で開始してもよい。たとえば、ホストプロセッサ１１２は、フィルタ要素４１６によって特定の次元の２次元非分離形フィルタ（たとえばＦ３、Ｆ５、Ｆ７又はＦ１１）を実装するということを指示するように、モードレジスタ４０６のＬＦＭフィールド５０７を構成し且つ／又はセットし且つ／又はリセットしてもよい。ＬＦＭフィールド５０７の値に応じて、非分離形フィルタ要素４１６を構成してもよい（行為８１２）。たとえば、上述したように、ＬＦＭフィールド５０７の値に応じて、要素４１６を、Ｆ３非分離形２次元フィルタリング、Ｆ５非分離形２次元フィルタリング、Ｆ７非分離形２次元フィルタリング、Ｆ９非分離形２次元フィルタリング及び／又はＦ１１非分離形２次元フィルタリングを実行するように構成してもよく且つ／又はフィルタリングを行わないように構成してもよい。行為７１０は、指示された非分離形２次元フィルタリングの実行（行為８１４）で終了してもよい。
【００５９】
図８Ｃは、プロセス７００の行為７１８をより詳細に示す。行為７１８は、ＬＦＭフィールド５０７を構成すること（行為８１６）で開始してもよい。たとえば、ホストプロセッサ１１２は、フィルタ要素４１４Ａによって特定の次元の２次元分離形フィルタ（たとえばＦ３、Ｆ５、Ｆ７又はＦ１１）が実装されることを指示するように、モードレジスタ４０６のＬＦＭフィールド５０７を構成し且つ／又はセットし且つ／又はリセットしてもよい。行為７１８を、ＨＦＭフィールド５０９を構成すること（行為８１８）で続けてもよい。たとえば、ホストプロセッサ１１２は、フィルタ要素４１４Ｂによって特定の次元の２次元分離形フィルタ（たとえばＦ３、Ｆ５、Ｆ７又はＦ１１）を実装することを指示するように、モードレジスタ４０６のＨＦＭフィールド５０９を構成し且つ／又はセットし且つ／又はリセットしてもよい。
【００６０】
図８Ｃは行為８１６を行為８１８に先行するものとして示すが、当業者は、行為８１８が、行為８１６に先行してもよく、且つ／又は特許請求の範囲に記載されている本発明に従って行為８１６とともに行われてもよいということを理解するであろう。ＬＦＭフィールド５０７及びＨＦＭフィールド５０９の値に応じて、分離形第２段フィルタ要素４１４Ａ及び／又は４１４Ｂを構成してもよい（行為８２０）。たとえば、上述したように、ＬＦＭフィールド５０７及びＨＦＭフィールド５０９の値に応じて、要素４１４Ａ及び４１４Ｂを、独立して、Ｆ３非分離形２次元フィルタリング、Ｆ５非分離形２次元フィルタリング、Ｆ７非分離形２次元フィルタリング、Ｆ９非分離形２次元フィルタリング及び／又はＦ１１非分離形２次元フィルタリングを実行するように構成してもよく、且つ／又はフィルタリングを行わないように構成してもよい。行為７１８は、指示された２次元分離形第２段フィルタリングの実行（行為８２２）で終了してもよい。
【００６１】
図８Ｄは、プロセス７００の行為７２０をより詳細に示す。行為７２０は、ＢＬＮＤフィールド５０５を構成すること（行為８２４）で開始してもよい。たとえば、ホストプロセッサ１１２は、後処理要素４１８によって、フィルタリングされた出力ＴａｐＡ及びＴａｐＢを混合すべきか否かを指示するように、モードレジスタ４０６のＢＬＮＤフィールド５０５を構成し且つ／又はセットし且つ／又はリセットしてもよい。ＢＬＮＤフィールド５０５の値に応じて、後処理要素４１８を構成してもよい（行為８２６）。たとえば、上述したように、ＢＬＮＤフィールド５０７の値に応じて、要素４１８を、ＴａｐＡ及びＴａｐＢのフィルタリングされたタップ出力又はそれぞれの分離形第２段フィルタ要素４１４Ａ及び４１４Ｂを混合するように構成してもよい。行為７２０は、指示された後処理の実行（行為８２８）で終了してもよい。
【００６２】
図７及び／又は図８Ａ〜図８Ｄに示す行為を、図示する順序で実装しなくてもよく、必ずしも行為のすべてを実行しなくてもよい。たとえば、動的係数切換の場合、行為７０４における係数フィルタの構成は動的に行われてもよく、行為７０２におけるピクセルデータのロードの後に発生してもよい。同様に、ＨＦＭフィールドを、行為８１６におけるＬＦＭフィールドの構成の前、構成中、又は構成の後に行為８１８において構成してもよい。また、他の行為に依存しない行為を、それらの他の行為と並列に実行してもよい。さらに、この図における行為の少なくともいくつかを、機械可読媒体で実装される命令又は命令のグループとして実装してもよい。
【００６３】
本発明の原理と一致する１つ又は複数の実施態様の上記説明は、例示及び説明を提供し、網羅的であるようにも、本発明の範囲を開示した厳密な形態に限定するようにも意図されていない。上記教示に鑑みて変更及び変形が可能であり、又は本発明のさまざまな実施態様の実施から変更及び変形を取得してもよい。たとえば、多機能プログラマブルタップフィルタ画像処理のシステム、装置及び方法は、サンプリングされた非対称の係数セット及び／又は象限対称の係数セットを利用するタップフィルタリングを提供するシステム又は装置に限定されない。むしろ、特許請求の範囲に記載されている本発明は、サブサンプリングされた非対称の係数セット及び／又は象限対称の係数セットを使用するタップフィルタリングも企図する。さらに、図７及び図８並びに添付のテキストは、画像データの一部の逐次タップフィルタリングに対するプロセスを説明する場合があるが、特許請求の範囲に記載されている本発明によって他のプロセスが企図される。たとえば、一実施態様では、画像データの２つ以上の部分を、画像プロセッサ１０２の２つ以上の適切に構成されたＰＥを利用して同時にタップフィルタリングしてもよい。特許請求の範囲に記載された本発明に一致して多機能プログラマブルタップフィルタ画像処理を提供する他の多くの実施態様を採用してもよいことは明らかである。
【００６４】
本出願の説明で使用する要素、行為又は命令はいずれも、明示的に述べていない限り、本発明に対して重要であるか又は必須であると解釈されるべきではない。また、本明細書で使用する冠詞「１つの」は、１つ又は複数の項目を含むように意図される。本発明の精神及び原理から実質的に逸脱することなく、特許請求の範囲に記載されている本発明の上述した実施態様（複数可）に対し変形及び変更を行ってもよい。こうした変更及び変形のすべてが、本明細書において本開示の範囲内に含まれ、添付の特許請求の範囲によって保護されるように意図されている。
【図面の簡単な説明】
【００６５】
【図１】画像処理システム例を示す図である。
【図２】図１のシステムの画像プロセッサをより詳細に示す図である。
【図３】図２の画像プロセッサの画像信号プロセッサをより詳細に示す図である。
【図４】図３の画像信号プロセッサの一部をより詳細に示す図である。
【図５Ａ】図４のモードレジスタのフィールド例を示す図である。
【図５Ｂ】データ構成例を示す図である。
【図６】図４の係数源をより詳細に示す図である。
【図７】画像データをフィルタリングするプロセス例を示すフローチャートである。
【図８】図７のプロセスの一部をより詳細に示すフローチャートである。
【図９Ａ】係数セット例を示す図である。
【図９Ｂ】係数セット例を示す図である。
【図１】
2008525903.tif 000003
【図２】
2008525903.tif 000004
【図３】
2008525903.tif 000005
【図４】
2008525903.tif 000006
【図５Ａ】
2008525903.tif 000007
【図５Ｂ】
2008525903.tif 000008
【図６】
2008525903.tif 000009
【図７】
2008525903.tif 000010
【図８Ａ】
2008525903.tif 000011
【図８Ｂ】
2008525903.tif 000012
【図８Ｃ】
2008525903.tif 000013
【図８Ｄ】
2008525903.tif 000014
【図９Ａ】
2008525903.tif 000015
【図９Ｂ】
2008525903.tif 000016
【国際調査報告】
2008525903.tif 000017
2008525903.tif 000018
2008525903.tif 000019