(57)【特許請求の範囲】
【請求項１】
何れの次元においても入力アレイ（２０１）より大きくなく、かつ、少なくとも１次元では前記入力アレイ（２０１）より小さいフィルタ処理係数（２２２）のフィルタアレイ（２２１）を通してフィルタリングされる、入力ピクセル値（２０２）の前記入力アレイ（２０１）として表されるピクセル化した入力画像の低レイテンシ空間フィルタ処理を実行するコンピュータにおける空間フィルタ処理装置であって、
前記フィルタアレイ（２２１）における各フィルタ処理係数（２２２）が、この各フィルタ処理係数（２２２）とマッチする一つの固有の計算モジュール（４０２）を有し、この計算モジュールにマッチする前記フィルタ処理係数を格納する格納手段（４０３）を備えた複数の計算モジュール（４０２）と、
更に同時に演算するよう配置された前記複数の計算モジュール（４０２）と、入力信号の一連の予め選択されたパッチ（Ｐｎ）として編成された入カピクセル値を含む入力信号に応答する前記複数の計算モジュール（４０２）であって、前記フィルタアレイ（２２１）が、前記入力アレイ（２０１）上の全ての可能な場所のうちの異なる場所にオーバレイされる場合に、前記バッチ（Ｐｎ）のそれぞれが、前記フィルタアレイ（２２１）によって覆われる前記入力ピクセル値（２０２）であり、前記パッチ（Ｐｎ）のそれぞれが、出力アレイ（２４０）における出力値（Ｏx）に指標付けされ、この出力アレイ（２４０）は、前記フィルタアレイ（２２１）による前記入力アレイ（２０１）に対するフィルタ処理を表わし、前記フィルタアレイ（２２１）が、前記入力ピクセル値（２０２）にオーバレイされる場合に、各バッチ（Ｐｎ）における前記入力ピクセル値（２０２）のそれぞれが、その上に現れる、対応するフィルタ処理係数（２２２）に更にタグ付けされる前記複数の計算モジュール（４０２）と、
それぞれが、格納された前記フィルタ処理係数（２２２）と、対応するタグ付けされた入力ピクセル値（２０２）とを、該入力ピクセル値（２０２）の到着に応じて乗算する乗算器（５０３）を更に有する前記複数の計算モジュール（４０２）と、各バッチ（Ｐｎ）が搬送されると、この中の各人力ピクセル値（２０２）が、タグ付けされたフィルタ処理係数（２２２）とマッチする前記計算モジュール（４０２）に略同時に到達するように、バッチ（Ｐｎ）ごとに前記入力ピクセル値（２０２）を前記複数の計算モジュール（４０２）に撒送する搬送手段と、
バッチ（Ｐｎ）ごとに、対応するタグ付けされた入力ピクセル値（２０２）と前記フィルタ処理係数（２２２）とを乗算した結果の前記計算モジュールの積を全て合計する、全ての計算モジュール（４０２）における前記乗算器（５０３）に応答する累算器であって、該累算器による選択されたバッチ（Ｐｎ）に関する全ての前記積の合計が、前記選択されたバッチ（Ｐｎ）の前記出力値（０x）である累算器とを備え、
少なくともひとつの前記ピクセル値が複数回前記乗算器（５０３）に到着することを特徴とする空間フィルタ処理装置。
【請求項２】
前記格納手段（４０３）が、プログラム可能であることを特徴とする請求項１に記載の空間フィルタ処理装置。
【請求項３】
各計算モジュール（４０２）は、入力ピクセル値（２０２）
の到着及び前記乗算器（５０３）への搬送を統制するフリップフロツプゲート（５０２）を更に備えることを特徴とする請求項１又は２に記載の空間フィルタ処理装置。
【請求項４】
前記撒送手段が、連続的なバッチ（Ｐｎ）において、計算モジュール（４０２）への入力ピクセル値（２０２）の搬送を調整するＦＩＦＯ記憶装置（４０４）を備えることを特徴とする請求項１、２又は３に記載の空間フィルタ処理装畳。
【請求項５】
出力値（０x）を、出力ストリームを表す出力信号に変換する手段と、下流のハードウェアに提供する前に前記出力信号をクリップ及び圧縮する手段と、
を更に備えることを特徴とする請求項１又は４に記載の空間フィルタ処理装置。
【請求項６】
当該空間フィルタ処理装置が単一集積回路のチップ上で展開されることを特徴とする請求項１、２、３、４又は５に記載の空間フィルタ処理装置。
【請求項７】
前記チップはＣＭＯＳチップであることを特徴とする請求項６に記載の空間フィルタ処理装畳。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタル領域におけるピクセル化（ pixelated）した画像の空間フィルタリングに関し、より詳細には、「ストリーミング（ streaming）」方式で計算を同時に実行して、画像の低レイテンシ（ low-latency）の空間フィルタ処理、すなわち短い待ち時間で空間フィルタ処理を行う空間フィルタ処理アーキテクチャに関する。
【０００２】
【従来の技術】
従来、追跡能力を有する装置（携帯スキャナ等）には、１枚の原稿（ work ）上で、この装置の現行位置を絶えず認識するためにナビゲーション機能が必要である。原稿の表面テクスチャ（ surface texture）は、ナビゲーションのために参照用のフレーム（ frame）を提供することが出来る。このようなナビゲーションを可能にする周知の有効な技術は、原稿上に光を斜めに照射し、この結果生じる反射光を処理するものであり、ここには原稿の表面テクスチャの投影（ shadow ）が含まれる。この技術によって、例えば、画像が走査される１枚の用紙の表面におけるファイバテクスチャ（ fiber texture）を使用したナビゲーションが可能になる。
【０００３】
このようなナビゲーション技術の一部は、得られた反射画像を示す入力信号を空間フィルタ（「ＤＣリムーバブルフィルタ（ DC removal filter）」又は「ＤＣＲフィルタ」と呼称されることも多い）を通じてフィルタリングすることである。この空間フィルタを用いて画像における光学高周波数（ optical high frequency ）を一層強化し、これに応じて画像におけるエッジを鮮明化するとともに、コントラストが類似する領域間をより明確に区別できるようにしている。
【０００４】
ディジタル領域において、空間フィルタへのディジタル入力信号は、典型的にはピクセル値のストリームから構成される。このピクセル値は、配列に編成されると、感光素子（ photosensitive cell）の配列によって捕捉される入力画像のピクセルに対応する。入力されるストリーム（以後、入力ストリームという。）の値は、ピクセル化形式で入力画像を取り込む対応した素子で捕捉される色調（ color shade）を表している。
【０００５】
フィルタ自体は、フィルタ処理するためのフィルタ処理係数の配列（フィルタアレイ）である。配列における係数の数値及びその分散（ distribution ）によってフィルタのフィルタ処理特性に影響を及ぼす。フィルタ処理を可能にするために、まず、入力ストリームにおけるピクセル値（以後、入力ピクセル値という。）を入力アレイ（ input array）に編成する。次に、フィルタアレイ（ filter array ）は、参照用ピクセル（以後、参照ピクセルという。）にそれぞれ指標付けされた（ indexed）入力アレイの「パッチ（ patch）」にオーバレイ（ overlay）される。前記フィルタ処理係数を該パッチの対応する入力ピクセル値と乗算する。これらの積の合計が出力値、すなわち、参照ピクセルの「フィルタリングされた」フィルタリング値である。連続するフィルタリング値は、画像のフィルタリング値のストリーム（以後、出力ストリームという。）を形成する。
【０００６】
図８（Ｂ）に示す従来技術において、標準である例示のフィルタアレイ１１０を参照して、このパッチフィルタ処理プロセスを図８（Ａ）、図８（Ｂ）及び図８（Ｃ）に示す。図８は、従来技術のバッチフィルタ処理を説明する説明図である。図８（Ａ）を参照すると、入力アレイ１０１には、パッチ１０２が第１及び第２参照ピクセル１０４及び１０５に連続して指標付けされると、（図８（Ｂ）からの）フィルタアレイ１１０がオーバレイされる。各パッチのオーバレイについて一連の乗算１０６を実行し、これらの積の合計を図８（Ｃ）に示す出力アレイ（ output ）１２０に配置する。
【０００７】
【発明が解決しようとする課題】
このように、上記従来例では、フィルタアレイにおけるフィルタ処理係数の数値及び分散は、フィルタ処理特性に顕著に影響する。図８（Ｂ）におけるフィルタアレイ１１０は、「高域（ highpass ）」フィルタとして一般的に周知であり、従来技術において標準的なフィルタの典型である。この高域フィルタは、機能的ではあるが、効果的な空間フィルタ処理が欠かせない他の分野では、以下に示すような改善の余地がある。
【０００８】
第１として、コントラスト及びエッジの改良は、可能な限り「顕著（ strident ）」であるべきである。図８（Ｂ）に示すような従来技術のフィルタは、鮮明化されたエッジには効果的であるが、色調における段階的な変化を的確に検出できない。例えば、紙繊維等の表面テクスチャの反射を処理する際、段階的な色調の変化に直面することが予想される。
【０００９】
第２として、出力値のダイナミックレンジは、記憶処理資源を節約するために最小値に抑えるべきである。フィルタ処理係数の数値は、パッチごとの積の合計がパッチの対応する入力ピクセル値よりも通常小さい数字になるように選択及び分散されるべきである。この種の本来の圧縮（ compression）は、従来技術のフィルタにおいて常に利用できるものではない。
【００１０】
第３として、出力値を圧縮するという目的にもかかわらず、フィルタアレイのサイズを最大にしてノイズ差別化（ noise differentiation）に対して信号を最適化することが望ましい。ディジタル処理では、フィルタアレイを構成するサンプルの数（要素の数）の平方根が増加するのにともなって、ランダムノイズが減少していくことが周知である。図８（Ｂ）のフィルタには、要素が９個しかなく、その中の４個はゼロである。したがって、５個の要素すなわちサンプルのみが、ランダムノイズ上の出力信号の識別（ discernability ）を最適化する際に有効となる。
【００１１】
第４として、フィルタアレイの行及び／又は列が「ゼロバランス」である（すなわち、これらの値の数字上の合計がゼロに等しい）ことが望ましい。これは、フィルタに対する経路を複数備えたシステムの入力信号におけるオフセット挿入（ offset injection ）の問題を解決する。このオフセットは、フィルタを通過する合計値が行単位又は列単位でゼロであることから、「ゼロバランス」のフィルタでは取り消される。
【００１２】
したがって、当該技術では、空間フィルタに関して、前記した、これらの考慮すべき事項に対する改善に取り組む必要がある。
【００１３】
更に、当該技術では、「ストリーミング」方式で演算する低レイテンシの空間フィルタを介して入力信号を処理する必要がある。従来技術のフィルタは、典型的には、入力ピクセル値のフレーム全体を一次メモリ領域に格納し、次いで、パッチ単位で、フィルタ処理係数全ての乗算を連続処理する。この積を合計して、二次メモリ領域に格納する。全てのパッチを完了すると、二次メモリ領域に格納された出力が下流のハードウェア（ downstream hardware）に提供される。
【００１４】
この種のバッチ処理（ batch processing ）によって、フィルタ処理が低速になるが、これは、一次及び二次メモリ領域の代替として、例えば、ＦＩＦＯバッファを介して、入力ストリームをより多く連続及び並行処理することによって改善される可能性がある。乗算を同時に行うことによっても、処理が加速化される。
【００１５】
本発明は、このような従来の技術における課題を解決するものであり、数値及び分散を有するようフィルタ処理係数を選択して、コントラストの改良、ダイナミックレンジの圧縮、ノイズの識別、及びオフセットの取り消し等の主要分野における性能を改良するようにした空間フィルタによって達成される空間フィルタ処理アーキテクチャ（ spatial filtration architecture）の提供を目的とする。
【００１６】
【課題を解決するための手段】
上記課題を達成するために、本発明の空間フィルタ処理アーキテクチャでは、前記した目的及び他の目的、特徴及び技術的利点は、数値及び分散を有するようフィルタ処理係数を選択して、コントラスト改良、ダイナミックレンジ圧縮、ノイズ識別、及びオフセット取り消し等の主要分野における性能を改良するようにした空間フィルタによって達成される。更に、本発明の空間フィルタは、所望の「ストリーミング」処理を可能にするアーキテクチャにおいて有利に具体化される。
【００１７】
本発明によると、フィルタアレイにおいてフィルタ処理係数を選択及び分散して、フィルタアレイが４個の等しい象限に非対角線に分割される場合、（１）フィルタ処理係数が各象限において一定符号であり、（２）対角線に対向する象限におけるフィルタ処理係数が同符号であり、（３）非対角線に隣接する象限におけるフィルタ処理係数が異符号であるようにした空間フィルタが提供される。
【００１８】
好適な実施形態では、フィルタアレイにおいて前記したように選択及び分散されたフィルタ処理係数が、フィルタアレイ内で配列され、フィルタ処理係数値がフィルタアレイによって記述された表面上の局所的傾斜（ local slope）を表す場合に「鞍」形状（saddle shape) を形成する。図２及び図３には、本発明に係るフィルタ処理係数を有する空間フィルタ（フィルタアレイ）の例が示されており、更に詳細については後で説明する。
【００１９】
本発明の空間フィルタの好適な実施形態が示すこの「鞍」形状によって、空間フィルタは、フィルタ処理特性を改良することが可能である。第１として、本発明の空間フィルタは、エッジが鮮明ではなく色調が段階的に変化した画像において優れたコントラストの区別化及びエッジ検出を提供する。
【００２０】
第２として、図２及び図３に示された例示的な本発明の空間フィルタに対する入力ピクセル値が一般的に８ビット幅となるのに対して、出力（フィルタリング）された結果が４ビット幅にとどまるため、ダイナミックレンジの圧縮が可能になる。更に、本発明の空間フィルタは、ノイズ特性に対して改良された信号を示し、例えば、図８（Ｂ）の従来技術のフィルタでは５個にとどまるのに対し、図２（Ａ）のフィルタでは１６個の非ゼロ要素となる。
【００２１】
最後に、本発明の空間フィルタのフィルタ処理係数は、全ての行及び列においてゼロバランスをなしており、空間フィルタを具体化するアーキテクチャへの複数経路に沿って送出される入力信号に挿入されるオフセットを何れも取り消すことが可能である。
【００２２】
更に、本発明の空間フィルタは、フィルタアレイにおけるフィルタ処理係数値にそれぞれ対応する個別の計算モジュールの配列を備えたアーキテクチャにおいて有利に具体化される。各計算モジュールは、その対応するフィルタ処理係数値を格納する。計算モジュールの行は互いに並列結合され、各行では計算モジュールを直列結合している。計算モジュールの列は孤立している。デジタル入力信号は、各行に同時にＦＩＦＯバッファを介して送出され、全ての計算モジュールを同時に演算可能にしている。計算後、各計算モジュールの出力値を累算して合計し、出力ストリームに配置された結果を下流のハードウェアに送出する。
【００２３】
そして、ＦＩＦＯバッファは、入力ストリームにおける次の入力ピクセル値を計算モジュール等に供給する。この結果が、低レイテンシ「ストリーミング」フィルタ処理であり、専用メモリの代わりにＦＩＦＯバッファのＦＩＦＯ記憶装置のみを必要とするためハードウェアの装置規模が縮小される。このようなハードウェアに対する装置規模の縮小によって、本発明の空間フィルタは、前記したアーキテクチャに具体化される場合、ディジタル信号プロセッサ（「ＤＳＰ」）として集積回路チップ上で簡便に展開することが可能である。
【００２４】
したがって、本発明の空間フィルタ処理アーキテクチャの技術的利点は、フィルタ処理係数を選択及び分散して、前記した所望のエッジ及びコントラストの認識、ダイナミックレンジの圧縮、ノイズに対する信号の識別、及びオフセットの取り消すを行うことが可能な空間フィルタを提供することにある。
【００２５】
更に、本発明の技術的利点は、「ストリーミング」方式で出力値の同時及び連続計算を可能にするアーキテクチャにおいて空間フィルタを具体化することにある。このようなアーキテクチャによって、本発明のフィルタは、ＤＳＰとして集積回路チップ上で簡便に展開することが可能となる。
【００２６】
更に、本発明の技術的利点は、「ストリーミング」機能によってフィルタ処理プロセスのメモリ記憶要件を低減させるアーキテクチャにおいて空間フィルタを具体化することにある。このようなアーキテクチャによって、本発明の空間フィルタは、ＤＳＰとして集積回路チップ上で簡便に展開することが可能となる。
【００２７】
本発明の以下の詳細な説明をより良く理解するために、本発明の特徴及び技術的利点を広義に概説してきた。本発明の特許請求の範囲の主題を形成する本発明の追加の特徴及び利点については、以下に説明する。開示された概念及び具体的な実施形態は、本発明の同一の目的を実施する他の構造を変形又は設計するための基本として容易に利用し得ることが当業者では理解できるものである。この同等の構造は、添付の特許請求の範囲に記載された本発明の精神及び範囲から逸脱しないことも当業者には理解できるものである。
【００２８】
より完全に本発明及びその利点を理解するために、ここで添付図面とともに以下の説明を参照する。
【００２９】
【発明の実施の形態】
次に、本発明の空間フィルタ処理アーキテクチャの実施の形態を図面を参照して詳細に説明する。
図１は本発明の空間フィルタ処理アーキテクチャの実施形態を説明するための説明図、図２及び図３は本発明に係るフィルタアレイの代替例を示す図である。図１（Ａ）には、入力画像（図示せず）における対応するピクセルの色調をそれぞれ表すピクセル値（入力ピクセル値）２０２の例示的な８×８の入力アレイ２０１が示されている。この入力画像は、すでにピクセル化され、これらのピクセルはすでにディジタル化されピクセル値２０２を生成していると想定する。ピクセル値２０２は、図示の便宜上、１６進形式で表されているが、本発明は、このような表現形式に左右されるものではない。
【００３０】
図１（Ｂ）には、本発明にかかる例示的な４×４のフィルタアレイ２２１が示され、ここでは、図１（Ａ）に示すように、フィルタアレイ２２１が、選択された参照ピクセル値Ｒ1又はＲ2に相対して入力アレイ２０１にオーバレイされると、フィルタ処理係数２２２は、対応するピクセル値２０２と乗算される。本発明を可能にするためには、図１（Ａ）及び（Ｂ）に示すように、フィルタアレイ２２１のサイズが、（行及び列の）いずれの次元においても入力アレイ２０１よりも大きくなく、かつ、少なくとも１次元では入力アレイ２０１よりも小さくなければならない。しかしながら、この制約の範囲において、本発明は、入力アレイ２０１又はフィルタアレイ２２１のサイズ又は次元数のいずれの特定の選択にも限定されないものである。
【００３１】
図１（Ｂ）及び図２（Ａ）を参照すると、フィルタ処理係数２２２をフィルタアレイ２２１において選択及び分散し、フィルタアレイ２２１が４個の等しい非対角線の象限（図２（Ａ）において、線３０２で区切られた区画）に分割されると、フィルタ処理係数２２２の選択及び分散の三つの特徴が現れる。すなわち、この特徴の第１として、フィルタ処理係数２２２は各象限において一定符号であり、第２として、対角線に対向する象限におけるフィルタ処理係数２２２は同符号であり、第３として、非対角線に隣接する象限におけるフィルタ処理係数２２２は異符号である。
【００３２】
好適な実施形態では、このようにフィルタアレイ２２１において選択及び分散されたフィルタ処理係数２２２は、フィルタアレイ２０１内で前記フィルタ処理係数がフィルタアレイ２２１によって記述された表面上に局所的傾斜を表す場合に、鞍形状を形成するよう配列される。
【００３３】
次に、図１（Ａ）及び（Ｂ）を参照すると、フィルタアレイ２２１が、例示的な参照ピクセル値Ｒ1及びＲ2に相対してパッチＰ1及びＰ2として入力アレイ２０１上にオーバレイされている。また、図１（Ｃ）に示すように、この参照ピクセル値Ｒ1及びＲ2について、それぞれ出力値Ｏ1及びＯ2が計算される。これらの出力値Ｏ1及びＯ2は、フィルタアレイ２２１が参照ピクセル値Ｒ1及びＲ2にそれぞれ相対する入力アレイ２０１にオーバレイされた場合の、フィルタ処理係数２２２とパッチＰ1及びＰ2における対応するピクセル値２０２とを乗算した数を合計したものである。図１（Ｃ）は、一連の対応する参照ピクセル値Ｒ1〜Ｒnについてフィルタアレイ２２１を図１（Ａ）の入力アレイ２０１に指標付けして適用することから導出された出力値Ｏ1〜Ｏｎの出力アレイ２４０である。図示の便宜上、出力値Ｏ1〜Ｏｎは、図１（Ｃ）において１６進形式で表され、図１（Ｂ）におけるフィルタ処理係数２２２の値は便宜上１０進形式で表されている。
【００３４】
図示していないが、出力値Ｏ1〜Ｏｎを出力信号に変換しても良く、これからフィルタリングされた出力画像を生成することが可能である。
【００３５】
以上、図１（Ｂ）及び図２（Ａ）に示したフィルタアレイ２２１を参照して好適な実施形態を説明した。しかしながら、本発明は、図１（Ｂ）及び図２（Ａ）に示した選択及び分散されたフィルタ処理係数２２２に限定されず、同等の可能な効果をともなう他の選択及び分散も可能である。例えば、図２（Ｂ）〜図３（Ａ）には、フィルタ処理係数２２２ALTが本発明の選択及び分散の基準を満たすための代替的なフィルタアレイ２２１ALTとして示されている。これら及び他のフィルタアレイが全て本発明の範囲に含まれるが、一方のフィルタアレイを他に優先して用いることからある利点を得ることが出来る。例えば、図１（Ｂ）／図２（Ａ）のフィルタアレイは、そのコントラストの改良において大きな利得を有する。
【００３６】
したがって、画像をソフトエッジから「抽出」する能力が顕著である。一方、図２（Ｂ）のフィルタアレイは画像を的確に抽出しないが、ノイズの改良に対して優れた信号を表示する。実際、このフィルタアレイを通して「１」又は「−１」の値を係数として使用することによって、ノイズに対する信号の識別が最大となる。図２（Ｃ）のフィルタアレイは、主に値「０」を係数として使用することによってハードウェアの装置規模を節約できる。図２（Ｄ）のフィルタアレイは、ゼロ値の使用とともに選択されたナビゲーション方向（図２（Ｄ）の例示的なアレイでは「東−西」）における良好なコントラストの改良を通してハードウェアの装置規模を縮小可能にすることによって、図２（Ａ）〜図２（Ｃ）のアレイの利点を折衷するものである。図３（Ｂ）及び（Ｃ）には、本発明を可能にするフィルタアレイの他の例が示されている。
【００３７】
本発明のフィルタが次元の等しいフィルタアレイに限定されないことも理解できるものである。図３（Ａ）には、次元が等しくない（すなわちフィルタアレイの行及び列の次元が等しくない）代替的なフィルタアレイ２２１ALTが示されている。なお、図３（Ａ）におけるフィルタ処理係数２２２ALTの選択及び分散も、図１（Ｂ）／図２（Ａ）を参照して前記した三つの基準を満たしていることに留意されたい。
【００３８】
この三つの基準とは、すなわち、図３（Ａ）におけるフィルタアレイ２２１ALTが４個の非対角線の象限に分割（線３０２ALTを介して分割）される場合、（１）フィルタ処理係数２２２ALTは各象限において一定符号であり、（２）対角線で対向する象限におけるフィルタ処理係数２２２ALTは同符号であり、（３）非対角線で隣接する象限におけるフィルタ処理係数２２２ALTは異符号である。図３（Ａ）のフィルタアレイは、図２（Ｄ）のフィルタアレイの利点（ハードウェアの装置規模の縮小が、選択方向における良好なコントラストの改良と組み合わされている）を全て備えるとともに、フィルタ処理係数を２行減らすことによって、図３（Ａ）のアレイにおいてハードウェアの装置規模の縮小が更に改善されるという追加機能も備えている。
【００３９】
しかしながら、本発明の空間フィルタの全ての実施形態における第１の有利な態様は、フィルタ処理係数が数値上均衡したまま入力画像の所望のエッジ及びコントラスト改良を可能にしている点にある。対角線で対向する象限は同符号を有し、また、隣接する象限は異符号を有する。有利には、フィルタ処理係数値の行と列の合計がゼロである。フィルタアレイは、対角に二等分した場合「鏡像」であることが多い（常時ではない）。この均衡によって、本発明の空間フィルタは、優れたオフセット取り消し特性を示すことが出来る。入力アレイから空間フィルタまでの経路が複数ある図４及び図５に示すようなシステム（詳細を以降で説明する）では、行又は列単位の出力値がゼロであることから、経路と経路とのオフセットは何れも取り消される。
【００４０】
本発明の次の利点は、（有利には、相補形金属酸化膜半導体（ complementary metal-oxide silicon）、すなわちに「ＣＭＯＳ」プロセスに基づく）チップを用いたアーキテクチャにおいて具体化され、画像のフィルタリング全体をディジタル領域において「ストリーミング」方式によってチップ上で実行できるようになることである。図４には、空間フィルタのフィルタ処理係数の配列（図１（Ｂ）及び図２（Ａ）に示すもの等）をディジタル入力信号に適用するための例示的なチップのアーキテクチャをブロック図で示している。図４において、フィルタ処理係数を計算するための計算モジュール４０２の配列４０１は、例えば、図１（Ｂ）／図２（Ａ）、図２（Ｂ）及び（Ｃ）に示した例などのフィルタ処理係数の配列に対応している。図４では、図１（Ｂ）におけるフィルタアレイ２２１の例示的な使用を図示しており、これによって各フィルタ処理係数の計算のための計算モジュール４０２は、図１（Ｂ）のフィルタ処理係数２２２に数値上等しい対応する被乗数（ multiplicand ）４０３を格納手段４０３に格納する。
【００４１】
図５は、図４に示す計算モジュールを詳細に示すブロック図である。記憶装置５０１には被乗数４０３が保持される。好適な実施形態では、被乗数４０３は、「ハードコード化された（ hard-coded ）」固定値として保持されている。しかしながら、この被乗数４０３は、記憶装置５０１において選択的にプログラム可能でなくても良い。被乗数４０３によってタグ付けされた（ tagged ）入力ピクセル値は、入力信号に到達し、計算モジュール４０２を通ってフリップフロップゲート５０２を通じて送出される。乗算器５０３は、対応するタグ付けされた入力ピクセル値に被乗数４０３を掛けた積を求め、この積を乗算信号として計算モジュール４０２から出力する。
【００４２】
ここで図４に再度参照すると、計算モジュール４０２が対応するフィルタアレイを表すｄ×ｅアレイであると考える場合、計算モジュール４０２は、ｄ次元において位相的（topologically)に互いに直列結合され、ｅ次元において孤立化される。更に、入力信号は、ＦＩＦＯ記憶装置のＦＩＦＯバッファ４０４を用いてｄ次元において一連の計算モジュール４０２それぞれと同時にパラレル送出されて、計算モジュール４０２が同パッチの入力ピクセル値を確実に同時処理するようにしている。図４には、計算モジュール４０２の出力を乗算、累算及び圧縮して、結合された出力信号を形成することも示されている。
【００４３】
このアーキテクチャの利点は、図６及び図７を参照して理解することが出来る。  図６は従来技術のバッチフィルタ処理を説明するフローチャート、図７は本発明にかかる低レイテンシ「ストリーミング」フィルタ処理を説明するフローチャートである。
まず、図６を参照すると、従来技術のバッチフィルタ処理は、典型的には、新しいフレームの転送開始を待って（ステップ６０１）、次に、フレーム全体の情報を一次メモリ領域に転送する（ステップ６０２）。フレーム全体のピクセル情報（図中では、単に情報と示す。）を格納すると、フィルタが一次メモリ領域から第１パッチのピクセルを取り出して（ステップ６０３）、フィルタ処理係数の値に基づいて連続計算、すなわち、フィルタ処理係数とそれに対応する第１パッチ中のピクセル値との乗算を連続処理する。（ステップ６０４）。図１（Ａ）に示した８×８の入力アレイに適用される４×４のフィルタアレイの例示の場合、図６のステップ６０４は、１６回の連続計算を必要とする。
【００４４】
図６において、パッチについて計算が全て完了すると、次に、従来技術の空間フィルタは、典型的には、乗算の結果である積を累算し（ステップ６０５）、この累算の結果である和をクリップ（ clip ）及び圧縮し（ステップ６０６）、そして（そのパッチについての）累算結果の和を二次メモリ領域に格納する（ステップ６０７）。
【００４５】
ステップ６０８において処理するパッチが更にあると判断されると、次に、フィルタ処理に戻り、一次メモリ領域に格納されている次のパッチのピクセルを得る（ステップ６０９）。しかしながら、フレームのフィルタ処理が完了すると、二次メモリに格納された結果を下流のハードウェアに提供し（ステップ６１０）、フィルタが次のフレームの転送の開始を待つ。
【００４６】
引き続き前記した図６を参照すると、少なくとも２個の事象が、処理中のレイテンシを引き起こすおそれのある臨界経路（ critical path）上にあることが判明する。第１として、ステップ６０２において、フィルタ処理係数に対する計算が開始可能となる前に、フレーム全体のピクセル情報を一次メモリに格納しなければならない。第２として、典型的には、計算はステップ６０４において連続して実行される。図６において、ハードウェアが２個の専用メモリ領域を要する。
【００４７】
次に、これを図７に示される空間フィルタのフィルタ処理係数の「ストリーミング」処理と比較する。ステップ６５１では、フィルタは、新しいフレームの転送開始を待つ。しかしながら、図４を参照すると、本発明の好適な実施形態は、ＦＩＦＯバッファ４０４においてピクセル情報を受信する。したがって、図７に戻ると、ステップ６５２は、ＦＩＦＯバッファの「バルブを開放（ opens the valve）」して「進行中(on the fly)」のピクセル情報を受信する。ステップ６５３において、ＦＩＦＯバッファがフル（ full ）である、すなわち全てのＦＩＦＯバッファがピクセル情報を受信すると、図４に示すように、互いに有利に結合された計算モジュールに対して同時にピクセルの「パッチ」を提供する（ステップ６５４）。
【００４８】
そして、あらゆるフィルタ処理係数と入力ピクセル値との乗算を同時に行うことができ（図６のステップ６５５）、その積を累算し（ステップ６５６）、この累算結果の和をクリップ及び圧縮し（ステップ６５７）、そしてその結果を下流のハードウェアに提供する（ステップ６５８）。全ての部分が、連続するフィルタリングのストリームである。現行フレームの処理がまだ完了していない場合、ステップ６５９においてフィルタ処理に戻り、次のパッチのピクセルをＦＩＦＯから得るか、又は、現行フレームの処理が完了している場合には、次のフレームの転送を待つ。
【００４９】
図７に基づいた「ストリーミング」処理の利点がここで明らかとなった。図６のステップ６０２において、１フレームのピクセル情報が一次メモリ領域に格納されるのを待つフィルタの代わりに、ＦＩＦＯバッファを用いて、１フレームの画像情報をストリームで処理する。各パッチにおいては、図７における全ての計算を、図６のステップ６０４において連続して実行する代わりに、同時に実行する。図７の空間フィルタは、図６のフィルタに格納資源として必要な専用メモリの二つの別個の領域の代わりに、ＦＩＦＯバッファを使用する。したがって、図７を具体化するハードウェアは、図６を具体化するハードウェアよりも実質的に少ない格納規模で実施できることになる。実際に、図７は、単一集積回路チップ上で簡便に具体化することが出来る。
【００５０】
本発明及びその利点を詳細に説明してきたが、添付の特許請求の範囲で定義される本発明の精神及び範囲から逸脱することなく各種の変更、置き換え及び改変を本明細書中で行うことが出来ることを理解できるものである。
【００５１】
以下に本発明の実施の形態を要約する。
１．何れの次元においても入力アレイ（２０１）より大きくなく、かつ、少なくとも１次元では前記入力アレイ（２０１）より小さいフィルタ処理係数（２２２）のフィルタアレイ（２２１）を通してフィルタリングされる、入力ピクセル値（２０２）の前記入力アレイ（２０１）として表されるピクセル化した入力画像の低レイテンシ空間フィルタ処理を実行するコンピュータにおける空間フィルタ処理アーキテクチャであって、
前記フィルタアレイ（２２１）における各フィルタ処理係数（２２２）が、この各フィルタ処理係数（２２２）とマッチする一つの固有の計算モジュール（４０２）を有し、この計算モジュールにマッチする前記フィルタ処理係数を格納する格納手段（４０３）を備えた複数の計算モジュール（４０２）と、
更に同時に演算するよう配置された前記複数の計算モジュール（４０２）と、
一連の予め選択されたパッチ（Ｐｎ）に編成される入力ピクセル値を含む入力信号に応答する前記複数の計算モジュール（４０２）であって、前記フィルタアレイ（２２１）が前記入力アレイ（２０１）上の可能な場所中の異なる１カ所においてオーバレイされる場合、前記パッチ（Ｐｎ）の各々が前記フィルタアレイ（２２１）によって網羅される前記入力ピクセル値（２０２）であり、各パッチ（Ｐｎ）が前記フィルタアレイ（２２１）による前記入力アレイ（２０１）のフィルタ処理を記述する出力アレイ（２４０）における出力値（Ｏｘ）に指標付けされ、前記フィルタアレイ（２２１）が入力ピクセル値にオーバレイされる場合に各パッチ（Ｐｎ）における各入力ピクセル値（２０２）がこの上に現れる対応するフィルタ処理係数（２２２）に更にタグ付けされる前記複数の計算モジュール（４０２）と、
各々が、格納された前記フィルタ処理係数（２２２）を、対応するタグ付けされた入力ピクセル値（２０２）の到着に応じて乗算する乗算器（５０３）を更に有する前記複数の計算モジュール（４０２）と、
各パッチ（Ｐｎ）が搬送されると、この中の各入力ピクセル値（２０２）が、タグ付けされたフィルタ処理係数（２２２）とマッチする前記計算モジュール（４０２）に略同時に到達するように、パッチ（Ｐｎ）ごとに前記入力ピクセル値（２０２）を前記複数の計算モジュール（４０２）に搬送する搬送手段と、
パッチ（Ｐｎ）ごとに、対応するタグ付けされた入力ピクセル値（２０２）と前記フィルタ処理係数（２２２）とを乗算した結果の前記計算モジュールの積を全て合計する、全ての計算モジュール（４０２）における前記乗算器（５０３）に応答する累算器であって、該累算器による選択されたパッチ（Ｐｎ）に関する全ての前記積の合計が、前記選択されたパッチ（Ｐｎ）の前記出力値（Ｏｘ）である累算器と、
を備える空間フィルタ処理アーキテクチャ。
【００５２】
２．前記格納手段（４０３）が、プログラム可能である上記１記載の空間フィルタ処理アーキテクチャ。
【００５３】
３．各計算モジュール（４０２）は、入力ピクセル値（２０２）の到着及び前記乗算器（５０３）への搬送を統制するフリップフロップゲート（５０２）を更に備える上記１又は２記載の空間フィルタ処理アーキテクチャ。
【００５４】
４．前記搬送手段が、連続的なパッチ（Ｐｎ）において、計算モジュール（４０２）への入力ピクセル値（２０２）の搬送を調整するＦＩＦＯ記憶装置（４０４）を備える上記１，２又は３記載の空間フィルタ処理アーキテクチャ。
【００５５】
５．出力値（Ｏｘ）を、出力ストリームを表す出力信号に変換する手段と、下流のハードウェアに提供する前に前記出力信号をクリップ及び圧縮する手段と、
を更に備える上記１又は４記載の空間フィルタ処理アーキテクチャ。
【００５６】
６．当該空間フィルタ処理アーキテクチャが単一集積回路のチップ上で展開される上記１，２，３，４又は５記載の空間フィルタ処理アーキテクチャ。
【００５７】
７．前記チップはＣＭＯＳチップである上記６記載の空間フィルタ処理アーキテクチャ。
【００５８】
【発明の効果】
以上の説明から明らかなように、本発明の空間フィルタ処理アーキテクチャは、数値及び分散を有するようフィルタ処理係数を選択して、コントラスト改良、ダイナミックレンジ圧縮、ノイズ識別、及びオフセット取り消し等の主要分野における性能を改良できるようになる。
【図面の簡単な説明】
【図１】本発明の空間フィルタ処理アーキテクチャの実施形態を説明するための説明図である。
【図２】本発明に係るフィルタアレイの代替例を示す図である。
【図３】本発明に係るフィルタアレイの代替例を示す図である。
【図４】空間フィルタのフィルタ処理係数の配列をディジタル入力信号に適用するための例示的なチップのアーキテクチャを示すブロック図である。
【図５】図４に示す計算モジュールを詳細に示すブロック図である。
【図６】従来技術のバッチフィルタ処理を説明するフローチャートである。
【図７】本発明にかかる低レイテンシ「ストリーミング」フィルタ処理を説明するフローチャートである。
【図８】従来技術のバッチフィルタ処理を説明する説明図である。
【符号の説明】
２０１  入力アレイ
２２１  フィルタアレイ
２２２  フィルタ処理係数
２４０  出力アレイ
４０２  計算モジュール
４０４  ＦＩＦＯバッファ
５０１  記憶装置
５０２  フリップフロップゲート
５０３  乗算器
【図１】
0003693518.tif 000002
【図２】
0003693518.tif 000003
【図３】
0003693518.tif 000004
【図４】
0003693518.tif 000005
【図５】
0003693518.tif 000006
【図６】
0003693518.tif 000007
【図７】
0003693518.tif 000008
【図８】
0003693518.tif 000009