(57)【要約】【課題】デジタル信号処理技術を改良するため、カメラから取り込んだ画像のデジタル信号処理を促進、改善する。着目した対象物と背景を区別するなどの画像分割を行うのに適している。【解決手段】画像分割装置は、ＦＰＧＡなどのデバイスで好適に集積化して実現され、画素データを記憶するバッファメモリ１２と、バッファメモリと通信し係数がプログラム可能でデジタルフィルタ１４と、バッファメモリと通信して画素データのヒストグラムを生成するヒストグラム生成モジュール１６と、バッファメモリと通信して画素データに関する統計を作成する統計生成モジュール１８と、複数の閾値のなかから１つを選択する閾値選択モジュール２０と選択された閾値をバッファメモリに記憶されたデータに適用して選択された閾値より大きな超過データを生成する適用閾値モジュール２２を備える。【選択図】図１
2011054192.tif 000002
【特許請求の範囲】
【請求項１】
画素データを記憶可能なバッファメモリと、
前記バッファメモリと通信して画素データのヒストグラムを生成可能なヒストグラム生成モジュールと、
前記バッファメモリと通信して画素データに関する統計を生成可能な統計生成モジュールと、
複数の閾値のなかから１つを選択する閾値選択モジュールと前記選択された閾値を前記バッファメモリに記憶されたデータに適用する適用閾値モジュールと、
前記バッファメモリ、ヒストグラム生成モジュール、統計生成モジュール、閾値選択モジュール、及び適用閾値モジュールの少なくともひとつレジスタを更新して前記バッファメモリ、ヒストグラム生成モジュール、統計生成モジュール、閾値選択モジュール、及び適用閾値モジュールの少なくともひとつを通るデータの再フローを生じさせることにより、前記バッファメモリ、ヒストグラム生成モジュール、統計生成モジュール、閾値選択モジュール、及び適用閾値モジュールをそれぞれ制御する制御モジュールと、を備え、
前記データの部分は、前記再フローのデータの前記部分に対して生成された前記統計に基づいて少なくとも２回、前記バッファメモリ、ヒストグラム生成モジュール、統計生成モジュール、閾値選択モジュール、及び適用閾値モジュールの少なくともひとつに渡され、
ヒストグラム、及び前記選択された閾値より大きな超過データが下流の汎用プロセッサに供給される、デジタル信号処理装置。
【請求項２】
さらにフィルタを備える、請求項１に記載の装置。
【請求項３】
前記フィルタは空間フィルタである、請求項２に記載の装置。
【請求項４】
前記フィルタは係数がプログラム可能である、請求項２に記載の装置。
【請求項５】
前記フィルタは平滑化フィルタとエッジ検出フィルタのうち少なくとも１つとして動作可能である、請求項２に記載の装置。
【請求項６】
画素データを記憶し、
プログラム可能なフィルタ係数を制御、設定し、前記データのデジタルフィルタリングを少なくとも１回行うステップと、
前記データのヒストグラムを生成するステップと、
前記データに基づいて統計を生成するステップと、
複数の閾値の少なくとも１つは前記統計に基づいて算出される、複数の閾値のなかから１つを選択するステップと、
選択された閾値を前記データに適用するステップと、
前記ヒストグラムを出力するステップと、
前記選択された閾値より大きく、前記画素データから分割された画像を少なくとも部分的に表す超過データを出力するステップと、を備え、
プログラム可能なフィルタ係数を制御、設定し、前記データのデジタルフィルタリングを少なくとも１回行う前記ステップは、
前記統計に基づいて前記プログラム可能なフィルタ係数をリセットするステップと、
前記データの戻しをフィルタに再入力するステップと、
前記リセットされたプログラム可能なフィルタ係数により前記再入力データをフィルタリングするステップと、を含む、
画像分割を実行する方法。
【請求項７】
さらに、画素データのフレーム毎に前記閾値のレベルを変更するステップを含む、請求項６に記載の方法。
【請求項８】
さらに、前記選択された閾値に付加されるオフセット値に基づいて超過データを計算するステップを含む、請求項６に記載の方法。
【請求項９】
２組の超過データが出力される、請求項８に記載の方法。
【請求項１０】
さらに、汎用プロセッサから命令を受けるステップを含む、請求項６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概してデジタル信号処理に関する。特に本発明は、フィールドプログラマブルゲートアレー（ＦＰＧＡ）や特定用途向け集積回路（ＡＳＩＣ）などの集積電子デバイスで好適に実現される、複数の機能ユニットまたは機能モジュールを使用して画像分割（イメージセグメント化）を行うシステム及び方法に関する。
【背景技術】
【０００２】
デジタル信号処理（ＤＳＰ）は多様な分野で利用されており、その１つに画像分割がある。画像分割は着目した対象物を背景や他の対象物と区別する機能である。例えば、画像分割は、特定の対象物、例えば、車両の自動操縦を行う際に路面の車線区分線を追跡、検知する画像処理の用途でよく使用される。自動操縦の場合、画像処理は高速であることが求められ、特に車両の比較的高速運転時にはそうである。
【０００３】
また、自動操縦における画像処理の場合、雨天時や日の差す晴天時や夜間での運転など、様々な天候や環境に対応できることが望ましい。しかしながら、運転状況として考えられる広範囲の変化は、静止処理技術に依存する従来の画像分割処理にとって大きな問題であった。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
デジタル信号処理技術を改良するため、本発明はカメラから取り込んだ画像のデジタル信号処理を促進、改善するシステム及び方法に関する。本発明は、例えば着目した対象物と背景を区別するなどの画像分割を行うのに特に適している。
【課題を解決するための手段】
【０００５】
本発明の好適な実施形態において、システムはフィールドプログラマブルゲートアレー（ＦＰＧＡ）で実現され、ＦＰＧＡにより発明の個々の機能ユニットが実質的に制御されるとともに、機能ユニット間のデータフローが実質的に制御される。
【０００６】
特に、本発明において、データは異なる時間に異なる機能ユニットに通すことができる、すなわち、データを数回実際に機能ユニットに通した後、さらに処理を行うためにＦＰＧＡから適宜、外部装置に最終的に出力することが可能である。本発明の利点の１つとして、同一の装置全体を使用して入力データに様々なアルゴリズムを適用することができる。さらに本発明によれば、例えば画像を平滑化し、または画像エッジを検出するためのフィルタリングなどで使用される係数の実時間プログラミングを実現することが可能になる。
【０００７】
本発明の好適な実施形態において、入力画素データは、外部ＲＡＭなどで構成されるバッファとしてのメモリに記憶される。さらに、画素輝度の範囲や大きさを識別するために入力画像データのヒストグラムが作成される。好適な実施形態において、ヒストグラムは１０２４ビンで実現され、各画素は１６ビットワードで表現される。
【０００８】
状況に応じ、バッファメモリからの画素データは、プログラムされたＦＰＧＡの動作態様に従って、１あるいはそれ以上の異なる従来技術を使用してフィルタされる。本発明によれば、フィルタ係数を「大急ぎ」で変更できる利点がある、すなわち、フィルタ処理は入力データの種類に応じて変更可能である。
【０００９】
画素データをメモリに記憶してからヒストグラムを生成（さらに可能であればフィルタ）した後、メモリの画像データ（またはフィルタされたもの）は、好適に統計生成モジュールに転送され、このモジュールで各画素輝度値に関し、平均や標準偏差など、一連の統計が作成される。この統計はこの後、閾値の算出で使用される。
【００１０】
閾値計算では、複数の可能な方法（後に詳述する）の１つに従って、現データや所望の画像分割のレベル、種類に適した閾値が決定される。閾値（または閾値の組）が決定された後、閾値比較モジュールにより画像データのなかで閾値より大きな画素が決定される。好適には、閾値より大きな画素のみ値が維持され、他の画素は所定の輝度値、例えばゼロにリセットされる。これにより後続のデジタル信号処理でこれらの画素についてさらに処理を行う必要が無くなる。
【００１１】
本発明の好適な実施形態において、実時間プログラム可能な制御レジスタにより閾値のレベルの微調整が可能である。すなわち、汎用プロセッサを介して主制御モジュールを制御することで、主制御モジュールからレジスタを更新することができ、それにより１以上のモジュール内の変数が設定され、任意のモジュールに関してデータフローや動作が制御可能になる。
【００１２】
本発明をＦＰＧＡや特定用途向け集積回路（ＡＳＩＣ）で実現した場合、外部画像収集システムとのインタフェースが可能になるとともに、入力画像の処理により例えば追跡用として着目した対象物から背景を分離することが可能になる。また、後に詳述するように、複数の閾値がフレーム毎に実時間で変更可能な点で本発明は汎用性を提供するものである。さらに本発明によれば、フィルタ係数は好適にプログラム可能であることから複数の異なる態様で動作可能な空間フィルタリング能力が提供される。
【００１３】
本発明の特徴及びそれに付随する効果は図面を参照してなされる以下の詳細な説明からさらに明らかになる。
【図面の簡単な説明】
【００１４】
【図１】本発明に基づいたシステムの代表的な実施形態を示すブロック図である。
【図２】本発明の好適な実施形態に基づいた代表的な画像分割処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
本発明の重要な側面として、データは１以上のモジュールに複数回通され、例えばカメラから取り込んだ入力画素データに異なるアルゴリズムを適用可能である。フィルタは、係数が実時間プログラム可能で、複数回通されることから、例えば平滑化やエッジ検出などの各種モードで使用可能である。図１に、本発明に基づいて入力画素データを処理する複数のモジュールを示す。主コントローラ８は１以上のレジスタ（図示せず）を備えていて、データの経路選択を制御し、モジュールをイネーブルし、複数のモジュールに関する係数、その他の変数を設定、選択することにより、各モジュールを好適に制御する。図示してないが、主コントローラ８はその制御機能を果たすために後述する各モジュールに好適に接続される。また、本発明のシステムに対し、典型的に汎用プロセッサ６が協働し、周知の方法で主コントローラ８と通信する。
【００１６】
図１において、１回目のパスで、シリアルの画素データ１０が図１のバッファＲＡＭ１２に記憶される。画素データ１０は状況に応じてフィルタ１４に通される。好適な実施形態において、フィルタ１４は５×５カーネルの空間フィルタで構成され、係数はプログラム可能である。フィルタ１４は後で詳述する。
【００１７】
好適な実施形態において、バッファＲＡＭ１２は集合ＦＰＧＡデバイスにより直接実現されないが、その理由は、ＦＰＧＡ内部に大量の画像データを記憶させようとするとＦＰＧＡリソースが制約され、ＦＰＧＡの全体処理能力が損なわれるからである。また、画像データのＦＰＧＡ内部記憶はＦＰＧＡチップで処理可能な画像のサイズを制限することにもなる。中間の外部記憶能力（すなわち、バッファ１２）を設けることでＦＰＧＡチップは様々な画像サイズに対応可能になる。これより大きな（Ｎ×Ｎ）画像を処理するには外部ＲＡＭを付加するだけでよい。
【００１８】
データがバッファＲＡＭ１２に記憶された後、ヒストグラムモジュール１６はデータのヒストグラムを発生する。好適な実施形態において、ヒストグラムは１０２４個の等間隔のビンで構成され、個々の画素はそれぞれの輝度／カラーに応じてビンに割り振られる。輝度は例えば１６ビットワードで表現されるが、他の大きさの変数により個々の画素を表現してもよい。
【００１９】
ヒストグラムの作成と同時に（または少なくとも極近い時間に）、データに関する統計が統計モジュール１８で生成される。好適な実施形態では、少なくとも平均μと標準偏差σが算出される。さらに、主コントローラ８との間で情報のやりとりをする汎用プロセッサ６から直接入力により、オフセットβもこの段階で設定される。これらの値は以下説明する閾値の算出で使用される。
【００２０】
閾値の算出は閾値計算兼選択モジュール２０と適用閾値モジュール２２で実現するのが好ましい。本発明の好適な実施形態では、３つの異なる画素分割閾値が使用可能である。第１の閾値は予め算出された値に設定される閾値であり、汎用プロセッサ６から供給される。
【００２１】
第２種と第３種の閾値は統計モジュール１８から供給される現在の実時間統計に基づいて算出される。具体的には、次式により１画素の比較が得られる。
Ｔ＝σ＋β×μ（平均、標準偏差、オフセット）
同様に、隣接４画素（２×２アレー）に関する閾値が次式により得られる。
【００２２】
Ｔ＝４×σ＋β×μ（平均、標準偏差、オフセット）
前記各閾値で示したように、本発明は閾値に関してオフセットβが使用可能であることを好適にサポートする、すなわち、処理される画像フレーム毎に、閾値に対する超過画素を表すデータが２組得られる。
【００２３】
閾値が選択されると、適用閾値モジュール２２はバッファ１２から画像データを取り込み、選択された閾値を適用する。これにより得られた超過画素は好適に外部ＲＡＭ（図示せず）に書き込まれる。本発明の好適な実施形態において、閾値計算兼選択モジュール２０は、処理中の画像データに係る個々の環境または性質に応じて閾値を微調整するために、レジスタを介して制御可能である。
【００２４】
前記のように、フィルタ１４により画像の平滑化や画像エッジの検出が行われる。好適な実施形態において、フィルタ１４は、２５個の係数がプログラム可能な５×５画像マスクで構成される空間フィルタである。この種のフィルタは周知であり、詳細な説明は省略するが、加算器を備えた、２５個の並列、パイプライン乗算器により、最適サイクルでフィルタの動作が可能である。フィルタは係数がプログラム可能であるため、平滑化フィルタリングや画像の不鮮明減少用の畳み込みフィルタリングなど、事実上任意の種類の空間フィルタ処理で使用可能である。好適には、固定小数点全精度演算フィルタにより、１４または１６ビットの画素サイズと１６ビットの係数に必要な全精度に対応する。また、スループット遅延や演算中のオーバーフローを防止するために加算動作毎に別個の加算器が使用される。
【００２５】
当業者には明らかなように、本発明に係る画像処理システムは対象物の追跡、検出に特に有効であり、車両の自動操縦システムなどにおいて重要な機能構成部品になる。自動操縦システムの場合、高速の入力画像を処理して車線区分線などの特徴的な対象物を抽出する必要があり、それにより車両をどの方向に操縦すべきかが決定可能になる。
【００２６】
本発明に係る画像処理システムには、この種のシステムとインタフェースをとり、画像を処理し、背景を追跡のために着目した対象物から分離する能力がある。また、本発明によれば複数の閾値が提供され、統計の連続的作成や統計の閾値作成での使用に配慮して、フレーム毎に実時間で閾値を変更することができる。さらに、空間フィルタが設けられ、異なるフィルタ係数でプログラミングすることにより様々なモードのフィルタが実現される。以下はダイナミックな閾値算出が望ましい例である。
【００２７】
閾値の変更：  着目した対象物がカメラに近づいたり、遠ざかったりする場合、その動きに応じて各画素のエネルギーが変化する。このため、システムは実時間ベースで閾値を調整する必要がある。このような場合に、背景の統計に基づいた閾値の実時間算出が行われる。
【００２８】
下記はフィルタ選択の具体例であるが、典型的に、フィルタ選択は使用しているアプリケーションの関数である。下記に均一平滑フィルタの例を示す。
【００２９】
【表１】
2011054192.tif 000003
【００３０】
これまでの説明では、暗黙のうちに、フレーム毎に１回だけフィルタを動作させるとしてきたが、フィルタ１４のデータ出力をバッファ１２に戻した上でそのバッファデータをフィルタ１４に再入力することにより、ヒストグラムや統計データの作成に先だって、フィルタ１４を複数回使用することができる。したがって、フィルタは１つの画像分割処理において複数回使用可能である。例えば、エッジ検出の場合、２種類の異なるフィルタの係数を動作させて１つの結果を得ることが好ましい。全方向でエッジを強調するソーベル（Sobel）フィルタは好例である。これはカーネル係数を用いて２つの独立な畳み込み（空間フィルタリング）を行うことにより実現される。以下に使用される２種類のフィルタを示すが、最初は回転無しで後は９０度回転させたものである。各カーネル動作の結果は組み合わされて最終結果が得られる。
【００３１】
【表２】
2011054192.tif 000004
【００３２】
したがって、本発明によれば、図示のように複数の構成要素を組み込み、各構成要素がデータを操作する時間と態様を制御することにより、高速での画像処理が可能になり、フレーム毎の画像データ処理が求められる実時間アプリケーションに特に有効である。
【００３３】
図２は本発明の好適な実施形態に基づいた代表的な画像分割処理を示すフローチャートである。この処理は参照符号２００で示され、以下のステップからなる。ステップ２１０で画素データはバッファに好適に記憶される。次にステップ２１２で、バッファに記憶されたデータはフィルタされ、例えば画像の平滑化または画像のエッジ検出が行われる。次にステップ２１４で、さらにフィルタリングを行う必要があるか決定する。例えば、本発明によれば、フィルタ係数はプログラム変更可能であるため、フィルタを再使用して、しかも異なる態様でデータをフィルタすることができる。例えば、１回目のフィルタリングステップで画像を平滑化したのであれば、２回目のフィルタリングで画像のエッジを検出するように動作させることができる。さらにフィルタリングを行う必要がなければ、ステップ２１６でデータのヒストグラムを作成する。ステップ２１８で、ヒストグラムは本発明の装置と協働する汎用プロセッサに典型的に出力される。
【００３４】
これと実質的に同時に、ステップ２２０で、バッファに記憶されたデータに関して一連の統計が作成される。この統計はバッファに当初記憶された原データあるいは後でバッファに再記憶されたフィルタ処理後のデータに基づいてなされる。統計の作成後、ステップ２２２で閾値を算出し、選択する。本発明によれば、閾値は作成したばかりの統計に基づいて得られ、あるいは汎用プロセッサから制御モジュールまたは制御機構のレジスタを介してプログラム設定される。閾値は、一旦選択されると、ステップ２２４でバッファのデータに適用される。バッファデータに閾値を適用した結果は「超過データ」と呼ばれるものであり、この超過データはヒストグラムとともに汎用プロセッサあるいはそれとは別個のＤＳＰ処理段に出力される。ヒストグラムデータは汎用プロセッサにおいて適宜使用される。
【００３５】
当業者には明らかなように、本発明の場合、フィルタが柔軟に使用されるとともに様々な閾値が適用可能であることから、画像分割処理を実行する際に非常に効率がよい。具体的には、バッファ１２との間で交わされるデータフローを制御してＦＰＧＡにデータを複数回通すことができ、それによって、画像処理に割り当てられるＦＰＧＡリソースを最大化するとともに、画素サイズの柔軟性を最大化することが可能になる。
【００３６】
本発明の好適な実施形態に関する前記開示は例示と説明のためになされたものである。したがって包括的でなく、本発明は開示された形態に限定されない。前記開示内容に照らして、当業者には説明した実施形態から種々の変更、変形が明らかである。本発明の範囲は特許請求の範囲及びその均等物によってのみ限定されるものである。
【００３７】
さらに、明細書において、本発明の実施の形態を説明する際に、本発明の方法／プロセスは特定のステップシーケンスとして示された。しかしながら、本方法／プロセスは、記載したステップの順序に依存しない範囲内で、記載のステップ順序には限定されないものである。当業者には明らかなように、他のステップ順序が可能である。したがって、明細書に記載したステップの順序は特許請求の範囲を限定しないものである。さらに、本発明の方法／プロセスに関する請求項は記載したステップの順序による性能に限定されるべきでなく、当業者には明らかなように、シーケンスは本発明の趣旨、範囲内で変更可能である。
【図１】
2011054192.tif 000005
【図２】
2011054192.tif 000006