(57)【特許請求の範囲】
【請求項１】
撮像部から取得した画像を構成する画像要素に対して距離情報を付与し、該距離情報を用いて複数の処理領域を設定する第１の処理部と、
識別対象とする処理領域が前記距離情報を用いてそれぞれ割り当てられ、割り当てられた処理領域に対して物体の識別処理を行う複数の処理装置を有する第２の処理部と、を備え、
前記画像中に第１の空間、前記第１の空間より下に位置する第２の空間を区画し、下り勾配が所定勾配以上となる場合は、路面検知結果、又は白線検知結果に基づいた所定斜度の下り勾配情報を使用して、前記第１の空間の下端を決定する、車載画像処理装置。
【請求項２】
撮像部から取得した画像に対して複数の処理領域を設定する第１の処理部と、
前記複数の処理領域のうちそれぞれ異なる処理領域を記憶する複数の記憶装置と、
前記複数の記憶装置にそれぞれアクセスして前記各記憶装置に格納された処理領域に対する画像処理を行う複数の処理装置を有する第２の処理部と、を備え、
前記画像中に第１の空間、前記第１の空間より下に位置する第２の空間を区画し、下り勾配が所定勾配以上となる場合は、路面検知結果、又は白線検知結果に基づいた所定斜度の下り勾配情報を使用して、前記第１の空間の下端を決定する、車載画像処理装置。
【請求項３】
前記第１の処理部は、前記画像を構成する画像要素に対して距離情報を付与し、
前記記憶装置は、前記画像要素の画像中の位置及び前記距離情報の少なくとも一方に基づいて前記画像内に設定される処理領域を記憶する、請求項２に記載の車載画像処理装置。
【請求項４】
前記第１の処理部は、前記画像を構成する画像要素に対して３次元位置情報を付与し、
前記記憶装置は、前記画像要素の３次元位置情報に基づいて前記画像内に設定される処理領域を記憶する請求項２に記載の車載画像処理装置。
【請求項５】
前記第１の処理部は、前記複数の処理装置が処理する処理領域を決定し、前記記憶装置に格納する、請求項２に記載の車載画像処理装置。
【請求項６】
前記第１の処理部は、前記画像を構成する画像要素に対して３次元位置情報を付与し、
前記記憶装置は、前記画像要素の３次元位置情報及び前方の道路の勾配の変化に基づいて前記画像内に設定される処理領域を記憶する、請求項２に記載の車載画像処理装置。
【請求項７】
前記第１の処理部は、前記画像を構成する画像要素に対して３次元位置情報を付与し、
前記記憶装置は、前記画像要素の３次元位置情報及び前記画像要素の近傍画素間の画素値の変化量の分析結果に基づいて前記画像内に設定される処理領域を記憶する、請求項２に記載の車載画像処理装置。
【請求項８】
前記第１の処理部は、前記画像を構成する画像要素に対して３次元位置情報を付与し、
前記記憶装置は、前記画像要素の３次元位置情報及びアスペクト比の分析結果に基づいて前記画像内に設定される処理領域を記憶する、請求項２に記載の車載画像処理装置。
【請求項９】
前記第１の処理部は、前記画像を構成する画像要素に対して３次元位置情報を付与し、
前記記憶装置は、前記画像要素の３次元位置情報及び距離で正規化したサイズの分析結果に基づいて前記画像内に設定される処理領域を記憶する、請求項２に記載の車載画像処理装置。
【請求項１０】
前記記憶装置に前記画像要素を記憶させる際に、前記第１の処理部が複数の前記記憶装置に書き込む機能を有することを特徴とする、請求項３、４、６、７、８、９のいずれか一項に記載の車載画像処理装置。
【請求項１１】
前記第１の処理部と前記記憶装置の間にデータ列を選択する機能を有し、
前記データ列を選択する機能により前記画像要素を選択し、前記記憶装置を記憶させる、請求項３、４、６、７、８、９のいずれか一項に記載の車載画像処理装置。
【請求項１２】
前記記憶装置は別の記憶装置と連携し、記憶容量を超えるデータの記憶を前記別の記憶装置に委ねる、請求項２から請求項１１のいずれか一項に記載の車載画像処理装置。
【請求項１３】
前記第１の処理部は、前記第２の処理部の一部の処理も行うことを特徴とする、請求項１から請求項１２のいずれか一項に記載の車載画像処理装置。
【請求項１４】
記憶装置を有し、
前記第１の処理部は、前記画像を構成する画像要素に対して距離情報を付与し、
前記記憶装置は、前記画像要素の画像中の位置及び前記距離情報の少なくとも一方に基づいて前記画像内に設定される処理領域を記憶する、請求項１に記載の車載画像処理装置。
【請求項１５】
記憶装置を有し、
前記第１の処理部は、前記画像を構成する画像要素に対して３次元位置情報を付与し、
前記記憶装置は、前記画像要素の３次元位置情報に基づいて前記画像内に設定される処理領域を記憶する請求項１に記載の車載画像処理装置。
【請求項１６】
記憶装置を有し、
前記第１の処理部は、前記画像を構成する画像要素に対して３次元位置情報を付与し、
前記記憶装置は、前記画像要素の３次元位置情報及び前方の道路の勾配の変化に基づいて前記画像内に設定される処理領域を記憶する、請求項１に記載の車載画像処理装置。
【請求項１７】
記憶装置を有し、
前記第１の処理部は、前記画像を構成する画像要素に対して３次元位置情報を付与し、
前記記憶装置は、前記画像要素の３次元位置情報及び前記画像要素の近傍画素間の画素値の変化量の分析結果に基づいて前記画像内に設定される処理領域を記憶する、請求項１に記載の車載画像処理装置。
【請求項１８】
記憶装置を有し、
前記第１の処理部は、前記画像を構成する画像要素に対して３次元位置情報を付与し、
前記記憶装置は、前記画像要素の３次元位置情報及びアスペクト比の分析結果に基づいて前記画像内に設定される処理領域を記憶する、請求項１に記載の車載画像処理装置。
【請求項１９】
記憶装置を有し、
前記第１の処理部は、前記画像を構成する画像要素に対して３次元位置情報を付与し、
前記記憶装置は、前記画像要素の３次元位置情報及び距離で正規化したサイズの分析結果に基づいて前記画像内に設定される処理領域を記憶する、請求項１に記載の車載画像処理装置。
【請求項２０】
記憶装置を有し、
前記記憶装置に前記画像要素を記憶させる際に、前記第１の処理部が複数の前記記憶装置に書き込む機能を有することを特徴とする、請求項１に記載の車載画像処理装置。
【請求項２１】
記憶装置を有し、
前記第１の処理部と前記記憶装置の間にデータ列を選択する機能を有し、
前記データ列を選択する機能により前記画像要素を選択し、前記記憶装置を記憶させる、請求項１に記載の車載画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載画像処理装置に関する。
【背景技術】
【０００２】
車載画像処理装置として特許文献１に示された装置がある。特許文献１では車載用マルチアプリ実行装置が示されており、歩行者や車両を物体として検知する機能について述べられている。また、複数の処理装置を有するいわゆるマルチＣＰＵの構成や動作についても述べられている。
【０００３】
また、特許文献１では、物体を認識する認識アプリケーションごとにＣＰＵを割り当てることが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１００３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、このように処理装置を複数設けたとしても、複数の処理装置が識別処理を行うために行われる記憶装置へのアクセスを適切に制御しなければ、記憶装置へのアクセスがボトルネックとなり、結果として処理を高速化することができない。
【０００６】
そこで、本発明は、複数の処理装置を備える車載画像処理装置において、各処理装置が物体の識別処理のために記憶装置にアクセスする際のボトルネックを抑制し、処理を高速化することができる車載画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、撮像部から取得した画像を構成する画像要素に対して距離情報を付与し、該距離情報を用いて複数の処理領域を設定する第１の処理部と、識別対象とする処理領域が前記距離情報を用いてそれぞれ割り当てられ、割り当てられた処理領域に対して前記物体の識別処理を行う複数の処理装置を有する第２の処理部と、を備える。
【０００８】
或いは、本発明は、撮像部から取得した画像に対して複数の処理領域を設定する第１の処理部と、前記複数の処理領域のうちそれぞれ異なる処理領域を記憶する複数の記憶装置と、前記複数の記憶装置にそれぞれアクセスして前記各記憶装置に格納された処理領域に対する画像処理を行う複数の処理装置を有する第２の処理部と、を備える。
【発明の効果】
【０００９】
本発明によれば、複数の処理装置を備える車載画像処理装置において、各処理装置が物体の識別処理のために記憶装置にアクセスする際のボトルネックを抑制し、処理を高速化することができる。
【図面の簡単な説明】
【００１０】
【図１】物体検出装置の基本構成
【図２】車両のフロントガラス中央上部から見た画像
【図３】空間を道路の横側から見た断面図
【図４】実施例１における物体検出装置の処理フロー
【図５】代表空間座標の算出方法の説明図
【図６】ハードウェアの構成例１
【図７】ハードウェアの構成例２
【図８】データ列の構成
【図９】タイプの構成
【図１０】ハードウェアの構成例３
【図１１】ハードウェアの構成例４
【図１２】ハードウェアの構成例５
【図１３】物体存在推定領域の個数の処理時間の概略関係１
【図１４】物体存在推定領域の個数の処理時間の概略関係２
【図１５】前方に上り坂（前方の上りが急になる）のある道路を横側から見た断面図
【図１６】前方に下り坂（前方の下りが急になる）のある道路を横側から見た断面図
【図１７】実施例３における物体検出装置の処理フロー
【図１８】実施例１に対し実施例３で拡張するデータ列の構成
【図１９】実施例３におけるヘッダ部のタイプIDの割当て
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を図面に基づいて説明する。
【実施例１】
【００１２】
装置の基本構成を図１に示す。センサ100は外界の画像を取得するカメラ、及び画像に対応する距離情報155を取得する機器、さらに必要に応じて勾配センサや加速度センサ、GPS装置により構成される。距離情報155を取得する機器は任意であり、例えばレーザレーダやミリ波レーダを用いることができる。また、カメラをステレオカメラ構成として視差情報から距離を取得する手法を用いることもできる。
【００１３】
センサ100で取得したデータは距離情報取得処理部200により、実際の距離情報155を求め、またカメラから取得した画像との対応付けを行う。距離情報取得処理部200では、その後の物体検出処理で共通的に利用する付加データの算出も（例えば、エッジ画像など）を行う。
【００１４】
割当て制御パラメータ400は距離情報取得処理部200で算出したデータを元に物体検出ＣＰＵコアを割当てる際の条件である。この条件は固定でも良い。しかし、例えば勾配センサからの情報を元に動的に変更することも考えられる。
【００１５】
ＣＰＵコア割当て処理部300は、割当て制御パラメータ400を元に距離情報取得部200から来る各種データを、最終的に物体検出処理を行う第１の物体検出ＣＰＵコア601あるいは第２の物体検出ＣＰＵコア602がアクセスできるメモリに格納する。また、第１の物体検出ＣＰＵコア601がアクセスできるメモリと第２の物体検出ＣＰＵコア602がアクセスできるメモリの両方に格納することもある。
【００１６】
第１のローカルメモリ501は第１の物体検出ＣＰＵコア601がＣＰＵコア割当て処理部300から必要なデータを受け取り、また第１の物体検出ＣＰＵコア601が演算処理を行う際に用いる記憶装置である。第２のローカルメモリ502は第２の物体検出ＣＰＵコア602がＣＰＵコア割当て処理部300から必要なデータを受け取り、また第２の物体検出ＣＰＵコア602が演算処理を行う際に用いる記憶装置である。
【００１７】
第１の物体検出ＣＰＵコア601及び第２の物体検出ＣＰＵコア602はＣＰＵコア割当て処理部（300）により割当てられた画像要素に関して演算処理を行い、最終的に空間上のどの位置にどのような物体が存在するか検出を行うＣＰＵコアである。物体検出結果は車両向けネットワーク(ＣＡＮ)インタフェース等の入出力インタフェースを介して外部へ出力する。
【００１８】
物体検出処理性能の向上、具体的には対象とする物体の種類の拡大や物体の同時検出個数の向上など、を図る場合は、ローカルメモリと物体検出ＣＰＵコアを組として追加する。それぞれの物体検出ＣＰＵコアに対し密に結合されるローカルメモリを用意することで、物体検出処理に必要な演算性能の向上と並行し、演算処理に必要なメモリアクセス帯域も向上させることができ、メモリアクセス帯域不足に伴うボトルネックを防止できる。演算性能とメモリアクセス帯域を同時に向上できるため、装置の性能及び機能スケーラビリティが向上する。
【００１９】
図２及び図３を用い、道路及びその周辺の物体を検出する際における、ＣＰＵコア割当て処理部300が物体検出ＣＰＵコアを割当てる方法を説明する。図２は車両のフロントガラス中央上部から見た画像、すなわち物体検出装置のカメラで取得できる画像、図３は図２の画像に対応する空間を道路の横側から見た断面図である。
【００２０】
物体検出ＣＰＵコアを割当てるために、図２及び図３に示すように、センサ100で監視可能な空間を標識空間820と車両空間810に分割する。標識空間820は空間上部に存在する物体を対象とした空間、車両空間810は空間下部に存在する物体を対象とした空間である。便宜的に標識空間820と車両空間810と記すが、それぞれの空間領域に存在する物体の検出と識別を対象とする空間である。例えば、車両空間810は人物など空間下部に存在する物体の検出と識別も対象とする。
【００２１】
図２及び図３に示すように、標識空間820と車両空間810を一部重ねることで、標識空間820が対象とする物体と車両空間810が対象とする物体が共に存在し得る空間に対応する。
【００２２】
図３に示すように、標識空間820及び車両空間810それぞれの領域に対応する上下画角は距離（Ｚ座標）により異なる。たとえば、センサから遠方では、領域の境界線の高さは一定となり、遠方になるほど上下画角が狭くなる。すなわち、図２に存在する範囲であっても、検出対象外となる領域が存在する。
【００２３】
物体の存在を空間上の位置ととらえ、物体検出範囲を限定することで、物体が存在すると推定できる領域（以降、物体存在推定領域）をＣＰＵコア割当て処理部300で絞り込むことができ、物体検出処理を行うＣＰＵコアを効率よく利用することが出来る。
【００２４】
尚、図３では上下方向の領域を示しているが、左右方向に関しても遠方に関しては同様に物体検出範囲を限定する。
【００２５】
標識空間820及び車両空間810の範囲は、それぞれ予め空間座標の範囲として定義し、割当て制御パラメータ400として用意する。空間座標の範囲はセンサの中心座標を基準にして、図２のＸ座標方向（左右方向）及びＹ座標方向（上下方向）について、上、下、左、右方向の実空間における長さで定義する。但し、遠方については長さを短くするなど、より多くの座標、あるいは長さ情報を用いて空間座標の範囲を定義しても構わない。
【００２６】
本発明の物体検出装置の処理フローを図４に示す。センサ100より入力される画像150及び距離情報155は、まず画像と距離情報の対応付け処理260を行い、物体存在推定領域とその部分の距離情報155の対応付け処理を行う。物体存在推定領域は、距離情報155を用いて隣接部分と距離の差が少ない部分をひと固まりの領域として検出する。
【００２７】
画像150と距離情報155の対応付け処理260は画像150と距離情報155の座標関係に関するマッピング情報を予め作成しておき、このマッピング情報を用いて行う。この際、画像150取得用のセンサと距離情報155取得用のセンサの設置位置のずれにより、対象とする物体存在推定領域に対応する距離に依存して画像150と距離情報155の座標関係にずれが生じると考えられるので、距離情報155に含まれる当該物体存在推定領域までの距離を用いて画像150とのマッピングに補正を加え、当該物体存在推定領域に対応する画像150上の領域を決定する。
【００２８】
距離情報の取得にステレオカメラを用いる場合は、画像とその画像に対する視差情報が得られるため、自ずと画像150に対応する距離情報155を得られる。
【００２９】
図４に示す画像150と距離情報155では、画像と距離情報の対応付け処理260により、距離情報155の物体存在推定領域A(271)が画像150の車両171、物体存在推定領域B(261)が画像150の信号機161、物体存在推定領域C(281)が画像150の標識181、物体存在推定領域D(291)が画像150の人物191に対応付けられる。
【００３０】
画像と距離情報の対応付け処理260の後、代表空間座標算出320で各物体存在推定領域に対する代表空間座標を算出する。
【００３１】
代表空間座標の算出方法について図５を用いて説明する。図５に示すように物体存在推定領域を囲む最小の長方形を求め、その中心座標と距離情報を用いて代表空間座標を算出する。例えば、物体存在推定領域C(281)の代表空間座標は物体存在推定領域C(281)を囲む最小の長方形Rc(182)の中心座標及び物体存在推定領域C(281)の距離（20m）より算出し、物体存在推定領域D(291)の代表空間座標は物体存在推定領域D(291)を囲む最小の長方形Rd(292)の中心座標及び物体存在推定領域D(291)の距離（24m）より算出する。
割当て判定処理310では、代表空間座標算出処理320で求めた物体存在推定領域毎に割当て制御パラメータ400を用い、物体検出処理を行う第１の物体検出処理581、第2の物体検出処理582の割当てを行い、当該物体存在推定領域に対応する画像150の領域、距離250の領域、及び割り当て判定処理310までの処理で算出した情報（代表空間座標や物体存在推定領域を囲む長方形のサイズ等）を割当て先に送り出す。
【００３２】
尚、物体存在推定領域毎に画像150や距離情報155から対応する領域を切り出す代わりに、割当て制御パラメータ400に対応して各物体検出処理部が必要とする領域を一括してそれぞれの物体検出処理部へ送り、さらに個々の物体存在推定領域の領域を特定する情報（代表空間座標や物体存在推定領域を囲む長方形の座標）を送る方法も考えられる。
【００３３】
割り当て判定処理310により、標識空間820に属する物体存在推定領域を第１の物体検出処理581に、車両空間810に属する物体存在推定領域を第２の物体検出処理582に割当てることが可能である。
【００３４】
第１の物体検出処理581は標識空間820に存在し得る物体の種類について、物体存在推定領域毎にその画像の特徴、例えば画像のエッジの分布や輝度及び色の分布、領域のアスペクト比、パターンへのマッチング率など詳細に解析し、当該物体推定領域に本当に物体が存在するのか、存在する場合はその物体の種類（信号機や標識など）は何か、さらに必要であれば物体の示すより詳細な情報の抽出（信号機であればその点灯状態、速度標識であれば制限速度など）を行う。
【００３５】
第２の物体検出処理582は車両空間810に存在し得る物体の種類について、第１の物体検出処理581と同様に詳細に解析を行い、当該物体推定領域に本当に物体が存在するのか、存在する場合はその物体の種類（自動車、二輪車、自転車、歩行者、白線、路面上の標識や路面の凹凸など）は何か、さらに必要であれば物体の示すより詳細な情報の抽出（自動車であればストップランプやウインカーの表示状態、歩行者であれば向きや表情など）を行う。
【００３６】
第１の物体検出処理581及び第２の物体検出処理582の物体検出結果は、ネットワークインタフェースなどを介して、車両制御コンピュータへ伝えることで、安全支援、運転支援さらには自動運転に活用できる。
【００３７】
図６、図７、図１０から図１２に本発明を実現するハードウェアの構成例を示す。
まず図６の構成について説明する。センサ100は外界の画像を取得するカメラ、及び画像に対応する距離情報を取得する機器、さらに必要に応じて勾配センサや加速度センサ、GPS装置により構成される。共通処理ＣＰＵコア250はセンサ100から入力した信号を、装置内部で処理をする上で適した形式への変換をした上で、画像と距離情報の対応付け処理260、代表空間座標算出処理320、及び割当て判定処理310を行う。そして割当て判定処理310の結果に基づき、物体検出処理に必要となる情報を第１のローカルメモリ501または第２のローカルメモリ502の一方、あるいは両方に書き込む。
【００３８】
割当て制御パラメータ400は共通処理ＣＰＵコア250のプログラムの一部として実装する。
【００３９】
共通処理ＣＰＵコア250からは第１のローカルメモリ501及び第２のローカルメモリ502の両方へ同時に書き込みする機能を有する。本機能により、標識空間820及び車両空間810に両方に属する物体存在推定領域に関する情報を１回の操作で行うことができ、共通処理ＣＰＵコア250のメモリ書き込み処理に伴うオーバヘッド、及び共通処理ＣＰＵコア250と第１のローカルメモリ501及び第２のローカルメモリ502を接続するバスの利用帯域を抑制することができる。
【００４０】
第１のローカルメモリ501は共通処理ＣＰＵコア250から第１の物体検出ＣＰＵコア601への情報の受け渡し、及び第１の物体検出ＣＰＵコア601の処理に用いる記憶装置であり、第２のローカルメモリ502は共通処理ＣＰＵコア250から第２の物体検出ＣＰＵコア602への情報の受け渡し、及び第２の物体検出ＣＰＵコア602の処理に用いる記憶装置である。
【００４１】
物体検出ＣＰＵコアと当該ＣＰＵコアに対応するローカルメモリの組で物体検出処理を行う。すなわち、第１のローカルメモリ501と第１の物体検出ＣＰＵコア601により第１の物体検出処理581を行い、第２のローカルメモリ502と第２の物体検出ＣＰＵコア602により第２の物体検出処理582を行う。
【００４２】
尚、共通処理ＣＰＵコア250、第１の物体検出ＣＰＵコア601、及び第２の物体検出ＣＰＵコア602は処理速度向上の為、それぞれ専用処理回路に置き換えても良いし、専用処理回路を付加して処理内容の一部を高速化しても良い。
【００４３】
図７の構成は図６に対して第１のデータフィルタ551及び第２のデータフィルタ552を追加した構成となっている。この構成では、共通処理ＣＰＵコア250では割当て判定処理310の直前まで処理を行い、図６の構成で共通処理ＣＰＵコア250より第１のローカルメモリ501や第２のローカルメモリ502に書き込みを行っていたデータはデータ列の形態にして第１のデータフィルタ551及び第２のデータフィルタ552へ同時に流す。
【００４４】
第１のデータフィルタ551は流れてきたデータ列から標識空間820に存在し得る物体にかかわるデータのみを抽出し、第１のローカルメモリ501へ書き込む。
【００４５】
第２のデータフィルタ552は流れてきたデータ列から車両空間810に存在し得る物体にかかわるデータのみを抽出し、第２のローカルメモリ502へ書き込む。
【００４６】
第１のデータフィルタ551及び第２のデータフィルタ552がそれぞれデータ列を選択する基準はそれぞれのフィルタを開発する時点で固定しても良いし、共通処理ＣＰＵコア250より適宜設定する構成にしても良い。
【００４７】
第１のローカルメモリ501、第２のローカルメモリ502、第１の物体検出ＣＰＵコア601、及び第２の物体検出ＣＰＵコア602は図６の構成と同様に動作する。
【００４８】
図７の構成では第１のデータフィルタ551及び第２のデータフィルタ552が追加されるため、図６に対し装置の実装規模は大きくなるが、共通処理ＣＰＵコア250の処理負荷を低減でき、共通処理ＣＰＵコア250の処理では処理負荷が高すぎる複雑な条件であっても、第１の物体検出ＣＰＵコア601と第２の物体検出ＣＰＵコア602へ処理を割当てることが可能となる。
【００４９】
図８に共通処理ＣＰＵコア250より第１のデータフィルタ551及び第２のデータフィルタ552へ流すデータ列の構成を示す。
【００５０】
データ列はヘッダ部910とデータ部950で構成し、ヘッダ部910及びデータ部950はそれぞれ１個以上の構成要素を持つ。ヘッダ部910には第１のデータフィルタ551及び第２のデータフィルタ552がデータ列を選択する際に参照する情報を格納し、データ部950にはそれ以外のデータを格納する。ヘッダ部910に選択に必要となる情報を固めることで、データ部950がデータフィルタに来る前に書き込み先のローカルメモリにデータを書き込む必要があるか否か判断可能となり、第１のデータフィルタ551及び第２のデータフィルタ552が判断完了までデータ部950を一時保存することが不要となる。
【００５１】
ヘッダ部910の構成要素には代表空間座標、データ部950の構成要素には画像データ、距離データ、エッジ強度データが存在する。ヘッダ部910構成要素及びデータ部950構成要素は、共に先頭にタイプ901を持つ。タイプ901は図９に示す構成であり、ヘッダ部910かデータ部950を識別するタイプグループ(902)1ビットとヘッダ部910あるいはデータ部950のどの構成要素であるかを示すタイプID(903)7ビットで構成される。
【００５２】
タイプグループ902を最初に1ビット持つことで、第１のデータフィルタ551及び第２のデータフィルタ552はヘッダ部910の出現を容易に検出でき、データ列の先頭を容易に検出可能となる。
【００５３】
ヘッダ部の構成要素（代表空間座標）はタイプ901の後に物体存在推定領域に対応する代表Ｘ座標991、代表Ｙ座標992及び距離993を持つ。距離993は物体存在推定領域まで距離である。
【００５４】
データ部の構成要素（画像データ）はタイプ901の後に物体存在推定領域に対応する画像の水平サイズ（画像水平サイズ961）及び垂直サイズ（画像垂直サイズ962）を持ち、その後に画像の上から順に垂直サイズ分、左側のピクセルから各ピクセルの値を水平サイズ分順に並べたデータ列を繰り返した各ピクセルの値965が続く。
【００５５】
データ部の構成要素（距離データ）はタイプ901の後に物体存在推定領域に対応する距離データ情報の水平サイズ（距離水平サイズ971）及び垂直サイズ（距離垂直サイズ972）を持ち、その後に画像の上から順に垂直サイズ分、左側のピクセルから各ピクセルの距離を水平サイズ分順に並べたデータ列を繰り返した各ピクセルの値975が続く。
【００５６】
データ部の構成要素（エッジ強度データ）はタイプ901の後に物体存在推定領域に対応するエッジ強度データ情報の水平サイズ（エッジ強度水平サイズ981）及び垂直サイズ（エッジ強度垂直サイズ982）を持ち、その後に画像の上から順に垂直サイズ分、左側のピクセルから各ピクセルのエッジ強度を水平サイズ分順に並べたデータ列を繰り返した各ピクセルのエッジ強度985が続く。各エッジ強度は水平方向のエッジ強度と垂直方向のエッジ強度の組である。
【００５７】
各ピクセルの値965、各ピクセルの距離975及び各ピクセルのエッジ強度985でそれぞれサイズを持つことで、センサ100の分解能や共通処理ＣＰＵコア250の演算能力の都合に合わせ、それぞれの情報の分解能に対応したサイズを指定可能となる。
【００５８】
図１０の構成は、図６のローカルメモリの代わりにキャッシュメモリを用いた構成である。第１の物体検出ＣＰＵコア601には第１のローカルキャッシュメモリ511、第２の物体検出ＣＰＵコア602には第２のローカルキャッシュメモリ512、共通処理ＣＰＵコア250には第３のローカルキャッシュメモリ510が接続されており、それぞれのＣＰＵコアの１次キャッシュメモリとして動作する。第１のローカルキャッシュメモリ511、第２のローカルキャッシュメモリ512、及び第３のローカルキャッシュメモリ510は２次キャッシュメモリとして動作する共通キャッシュメモリ520にも接続されている。共通キャッシュメモリ250の先にはメインメモリ525が接続されている。
【００５９】
図１０の構成でもセンサ100、第１の物体検出ＣＰＵコア601及び第２の物体検出ＣＰＵコア602は図６の構成と同様の処理を行う。共通処理ＣＰＵコア250は割当て判定処理310の結果に基づき、図６の構成では物体検出処理に必要となる情報を第１のローカルメモリ501または第２のローカルメモリ502に書き込みを行うが、図１０の構成では第３のローカルキャッシュメモリ510への書き込み対象となるアドレス領域に書き込みを行う。この際、第１の物体検出ＣＰＵコア601で処理する物体存在推定領域と第２の物体検出ＣＰＵコア602で処理する物体存在推定領域でそれぞれ異なるアドレス空間領域を用いて情報の受け渡しを行うことで、第１の物体検出ＣＰＵコア601と第２の物体検出ＣＰＵコア602へ処理の割当てを行う。
【００６０】
図１０の構成においては、第１の物体検出ＣＰＵコア601と第２の物体検出ＣＰＵコア602の両方で処理対象とする物体存在推定領域の情報の受け渡しに用いるアドレス空間領域を、第１の物体検出ＣＰＵコア601のみで処理対象とするアドレス空間領域、及び第２の物体検出ＣＰＵコア602のみで処理対象とするアドレス空間領域と分けても良い。特に第１の物体検出ＣＰＵコア601と第２の物体検出ＣＰＵコア602の両方で処理対象とする物体存在推定領域の個数が多い場合は、このようにアドレス空間領域を割当てることで、第１の物体検出ＣＰＵコア601と第２の物体検出ＣＰＵコア602の両方で処理対象とする物体存在推定領域に関する情報を２箇所ではなく１箇所のアドレス空間領域に書き込めば良い。第３のローカルキャッシュメモリ510に書き込むデータが収まらなくなり、キャッシュヒット率が低下する状況や、共通処理ＣＰＵコア250が第３のローカルキャッシュメモリ510に情報の書き込みを行う回数を抑制でき、処理性能上有利になる。
【００６１】
図１０に示す構成では、共通処理ＣＰＵコア250が直接第１のローカルキャッシュメモリ511や第２のローカルキャッシュメモリ512へ書き込みを行える機能、すなわちそれぞれのローカルキャッシュメモリに対応する物体検出ＣＰＵコアがアクセスした際に、キャッシュヒットする状態となるようローカルキャッシュメモリに書き込む機能を有しても良い。この機能を有する場合、第１の物体検出ＣＰＵコア601に受け渡す情報は直接第１のローカルキャッシュメモリ511へ、第２の物体検出ＣＰＵコア602に受け渡す情報は直接第２のローカルキャッシュメモリ512へ書き込みを行う。さらに共通処理ＣＰＵコア250が直接第１のローカルキャッシュメモリ511や第２のローカルキャッシュメモリ512に同時に書き込む機能を有する場合には、第１の物体検出ＣＰＵコア601と第２の物体検出ＣＰＵコア602の両方で処理対象とする情報は、第１のローカルキャッシュメモリ511や第２のローカルキャッシュメモリ512に同時に書き込むことで、共通処理ＣＰＵコア250のメモリ書き込み回数を抑制できる。
【００６２】
図１１の構成は、図６の第２の物体検出処理582向けの第２のローカルメモリ502及び第２の物体検出ＣＰＵコア602を省略し、共通処理ＣＰＵコア250に第２の物体検出処理582も含め処理させるために、共通処理兼物体検出処理ＣＰＵコア255に置き換えた構成である。この構成では図６の構成において共通処理ＣＰＵコア250で行う処理及び第２の物体検出ＣＰＵコア602の負荷が軽い場合、第２のローカルメモリ502及び第２の物体検出ＣＰＵコア602が省略できる利点がある。
【００６３】
図１２の構成は、図６の構成にメインメモリ525を追加した構成である。第１のローカルメモリ501、第２のローカルメモリ502、第３のローカルメモリ290の容量を抑制するために、共通処理ＣＰＵコア250、第１の物体検出ＣＰＵコア601、第２の物体検出ＣＰＵコア602をメインメモリ525に接続し、共通処理ＣＰＵコア250から第１の物体検出ＣＰＵコア601や第２の物体検出ＣＰＵコア602に受け渡す情報の一部について、メインメモリ525を介して行う。メインメモリ525を介して受け渡す情報は第１の物体検出ＣＰＵコア601及び第２の物体検出ＣＰＵコア602で繰り返し参照されることが少ない情報とすることで、ローカルメモリを用いないことによるメモリアクセス帯域の制限に伴う性能低下を抑制することが出来る。
【００６４】
図１３に第１の物体検出処理581及び第２の物体検出処理582がそれぞれ対象とする物体存在推定領域の個数と、それぞれの処理の処理時間の概略関係を示す。
【００６５】
第１の物体検出処理581及び第２の物体検出処理582はそれぞれ並列に動作するＣＰＵコア及びローカルメモリを用いて動作するため、それぞれの処理が対象とする物体存在推定領域の個数が増加するに従い、独立して処理時間が増加する。但し、標識空間820を対象とする物体検出処理と車両空間810を対象とする物体検出処理では、物体存在推定領域１個当りに費やす処理時間が通常異なるため、グラフの傾きが異なる。また、物体検出処理結果を自動車の制御等リアルタイム応用で利用するには、許容処理時間内で処理を打ち切らざるを得ない。すなわち、第１の物体検出処理581は標識空間最大物体検知個数で処理を打ち切り、第２の物体検出処理582は車両空間最大物体検知個数で処理を打ち切る。
【００６６】
第１の物体検出処理581及び第２の物体検出処理582が標識空間820の対象物と車両空間810の対象物を共に識別し検出することが可能な構成も考えられる。このような構成では、第１の物体検出処理581または第２の物体検出処理582のいずれか一方で、ある物体存在推定領域に対する物体検出処理を行えば、当該物体存在推定領域に存在する物体が標識空間820の対象物でも車両空間810の対象物でも検出可能である。すなわち、標識空間820と車両空間810の領域が重なる領域を設ける必要がないため、第１の物体検出ＣＰＵコア601と第２の物体検出ＣＰＵコア602が同一の物体を処理することを避け、物体検出ＣＰＵコアの利用効率を向上可能である。
【００６７】
このような構成においては、割当て判定処理310にて、第１の物体検出処理581あるいは第２の物体検出処理582の処理時間の一方に余裕があり、もう一方の処理時間が許容処理時間を超える場合には、物体検出処理に処理の一部を余裕のある物体検出処理側に割当てることで、処理可能な物体存在推定領域の個数を増加させることも可能である。この場合の物体存在推定領域の個数と処理時間の概略関係の例を図１４に示す。
【００６８】
図１４は第１の物体検出処理581が本来処理すべき標識空間820の物体存在推定領域に対する処理時間が許容処理時間を超え、第２の処理物体検出処理582が本来処理すべき車両空間810の物体存在推定領域に対する処理時間に余裕がある場合の物体存在推定領域の個数と処理時間の概略関係を示している。この関係が示すように、第２の物体検出処理582が本来処理すべき車両空間810の物体存在推定領域に対する物体検出処理を完了次第、許容処理時間の範囲で標識空間820の物体存在推定領域に対する物体検出処理を行うことが可能となる。ここで第２の物体検出処理582のグラフの傾きが変化する。すなわち、標識空間820の物体存在推定領域の処理可能な最大個数を増加させることが出来る。
【００６９】
尚、共通処理ＣＰＵコア250、第１の物体検出ＣＰＵコア601、及び第２の物体検出ＣＰＵコア602は個別の部品にそれぞれ含まれる形態でも、集積回路上に全てのＣＰＵコアを実装する形態でも、また両者を組み合わせた形態でも構わない。
【００７０】
物体検出コアにローカルメモリあるいはキャッシュメモリを組み合わせた単位である物体検出処理部について、３個以上の構成にしても良い。この場合、標識空間820、車両空間810以外の空間を追加定義して物体検出処理の割当て先を物体検出処理部の個数に合わせて対応しても良いし、標識空間820の処理を複数の物体検出処理部に割当てても良いし、車両空間810の処理を複数の物体検出処理部に割当てても良い。また、物体処理部の一部を標識空間820の対象物と車両空間810の対象物の両方に対応できるようにしても良い。物体検出処理部の割当ては、実際には標識空間820の対象物に対する処理負荷と車両空間810の対象物に対する処理負荷に応じて決定する。
【実施例２】
【００７１】
実施例１で示した構成に対し、図１５及び図１６に示すように、前方の勾配状況により、標識空間820及び車両空間810の範囲を動的に変更する機能を追加する。
【００７２】
図１５は前方に上り坂がある状況、あるいは前方の上り勾配が急になる状況を示している。この場合、車両空間810の上端を上に移動し、自車両より高い位置に存在する車両等の車両空間810での検出対象物が車両空間810の外側となり、検出不可となる状況を防止できる。
【００７３】
図１６は前方に下り坂がある状況、あるいは前方の下り勾配が急になる状況を示している。この場合、標識空間810の下端を下に移動し、標識や信号等の標識空間820での検出対象物が標識空間820の外側となり、検出不可となる状況を防止できる。
【００７４】
標識空間820及び車両空間810を動的に変更するために、図４で示した処理の流れで、第１の物体検出処理581及び第２の物体検出処理582から割当て制御パラメータ400を修正可能とする。
【００７５】
前方の上り坂、あるいは上り勾配が急になるケースでは、第２の物体検出処理582で路面検知、あるいは白線検知した結果を元に、路面勾配の変化を予測し、割当て制御パラメータ400を変更することで、車両空間810の上端を変更する。
【００７６】
前方の下り坂、あるいは下り勾配が急になるケースでは、遠方の路面を観測不能になるケースが存在するため、第２の物体検出処理582で路面検知、あるいは白線検知した結果から、路面が検出できなくなる距離を求め、その位置から予め仕様として決めた物体検出範囲の最も遠方まで、道路規格上の最大斜度の下り勾配が存在すると仮定して標識空間810の下端を決定する。
【００７７】
標識空間820及び車両空間810の範囲を動的に変更することで、道路の勾配変化の影響を考慮して標識空間820と車両空間810の両方に属する空間領域を決める必要がなくなり、標識空間820と車両空間810の両方に属する領域を小さくできることから、第１の物体検出処理581と第２の物体検出処理582の両方で処理する物体存在推定領域の個数を抑制でき、物体検出処理の処理効率が向上する。
【実施例３】
【００７８】
図１７に示すように、代表空間座標算出320に加え、エッジパラメータ分布370、アスペクト比算出350、及び正規化サイズ算出360の結果を用いて割当て判定処理310を実施し、第１の物体検出処理581、第２の物体検出処理582の一方あるいは両方に物体検出処理を割当てる。第１の物体検出処理581、第２の物体検出処理582への情報の受け渡しは実施例１で示した方法と同様に行う。但し、図７に示すデータフィルタを用いる構成とする場合、後述するようにデータ列のヘッダ部910の構成要素のフォーマットを追加する。
【００７９】
代表空間座標算出320に加えエッジ傾向パラメータ算出370、アスペクト比算出350、正規化サイズ算出360の処理も共通処理ＣＰＵコア250で行う。
【００８０】
割当て判定処理310では実施例１と同様に代表空間座標により物体存在推定領域に対する物体検出処理を第１の物体検出処理581に第２の物体検出処理582に割当てるか決定する。しかし、第１の物体検出処理581及び第２の物体検出処理582の両方に割当てる必要があるケースでは、エッジ傾向パラメータ算出370、アスペクト比算出350、及び正規化サイズ算出360の結果を用いて、どちらか一方に割当てるだけで十分であるか判定し、そのようなケースであれば、当該物体検出処理にのみ処理を割当てる。
【００８１】
エッジ傾向パラメータ算出370は画像と距離情報の対応付け処理260の出力を用いて行う。エッジ検出処理は画像150の近傍画素との差分傾向により算出して求めるが、処理対象となる物体存在推定領域は距離情報155を元に抽出するため、画像と距離情報の対応付け処理260を行い、対応する部分の画像を用いてエッジ傾向パラメータの算出を行う。
【００８２】
エッジの分析は第１の物体検出処理581及び第２の物体検出処理582で詳細に実施し、最終的な物体の有無の確定及び種類の特定をする際にも用いるが、エッジ傾向パラメータの算出370では画像を16ラインおきなどで縦方向と横方向に荒くスキャンし、処理負荷を抑えて画像のエッジ傾向を取得する。より具体的にはスキャン対象となったライン上でラインと直交傾向にあるエッジ強度の平均を求めることで、水平方向のエッジの強度及び垂直方向のエッジの強度を求める。
【００８３】
アスペクト比算出350及び正規化サイズ算出360は対応付け処理260の出力を用いて行う。但し、画像150は用いず、代表空間座標の算出に用いた物体存在推定領域を囲む最小の長方形を用いて算出する。すなわち、当該長方形のアスペクト比をアスペクト比算出350の結果とし、当該長方形を同一距離（例えば10m先）に物体が存在するものとして正規化したサイズを正規化サイズ算出360結果とする。
【００８４】
図７に示すデータフィルタを用いる構成とする場合、実施例１に対し図１８に示すデータ列のヘッダの構成要素のフォーマットを追加し、データフィルタで物体存在推定領域のエッジ傾向、アスペクト比、正規化サイズを確認した上で、データを後段のローカルメモリに書き込むか否か判定可能にする。
【００８５】
図１８に示すように、ヘッダ部910の構成要素（エッジ傾向パラメータ）はタイプ901の後に、水平方向のエッジ強度を示すエッジ水平強度935、垂直方向のエッジ強度を示すエッジ垂直強度936、及びエッジの水平強度と垂直強度の比率を示すエッジ水平垂直強度比率937が続く。ヘッダ部910の構成要素（アスペクト比）ではタイプ901の後に、物体存在推定領域を囲む最小の長方形の縦方向の長さを横方向の長さで割った値であるアスペクト比931を持つ。ヘッダ部910の構成要素である(正規化サイズ)はタイプ901の後に、物体存在推定領域を囲む最小の長方形の横方向の長さを正規化した値である正規化サイズＸ941、及び当該長方形の縦方向の長さを正規化した値である正規化サイズＹ942を持つ。
【００８６】
ヘッダ部910の構成要素の追加により、実施例１で図９として示したヘッダ部910のタイプＩＤ903は図１９に示すように割当て、タイプ901によりヘッダを識別可能にする。タイプグループ902及びタイプＩＤ903の割当ては実施例１と同じとする。
【００８７】
物体検出コアにローカルメモリあるいはキャッシュメモリを組み合わせた単位である物体検出処理部について、３個以上の構成でも構わない。この場合、実施例１で示した組合せに加え、車両空間810あるいは標識空間820のいずれか、あるいは両方をエッジパラメータ算出370、アスペクト比算出350、及び正規化サイズ算出360の結果を用いてより詳細にグループ分けし、物体検出処理部の割当てを行っても良い。例えば、車両空間810が検出する対象物に関して、ある物体検出処理部は人物と車両を対象とし、別の物体検出処理部はそれ以外の物体を対象とする方法がある。
【００８８】
本実施例に実施例２で示した標識空間820、及び車両空間810の動的変更機能を組み合わせても良い。
【符号の説明】
【００８９】
100…センサ、150…画像、155…距離情報、161…信号の画像、171…車両の画像、181…標識の画像、191…人物の画像、200…距離情報取得処理部、250…共通処理ＣＰＵコア、260…画像と距離情報の対応付け処理、261…信号の距離情報、271…車両の距離情報、281…標識の距離情報、182…標識の距離情報を囲む最小の長方形、250…共通処理ＣＰＵコア、255…共通処理兼物体検出処理ＣＰＵコア、290…第３のローカルメモリ、291…人物の距離情報、292…人物の距離情報を囲む最小の長方形、300…ＣＰＵコア割当て処理部、310…割当て判定処理、320…代表空間座標算出処理、350…アスペクト比算出、360…正規化サイズ算出、370…エッジ傾向パラメータ算出、400…割当て制御パラメータ、501…第１のローカルメモリ、502…第２のローカルメモリ、510…第３のローカルキャッシュメモリ、511…第１のローカルキャッシュメモリ、512…第２のローカルキャッシュメモリ、520…共通キャッシュメモリ、525…メインメモリ、551…第１のデータフィルタ、552…第２のデータフィルタ、581…第１の物体検出処理、582…第２の物体検出処理、 601…第１の物体検出ＣＰＵコア、602…第２の物体検出ＣＰＵコア、810…車両空間、820…標識空間、901…タイプ、902…タイプグループ、903…タイプＩＤ、910…ヘッダ部、911…車両候補、921…標識候補、931…アスペクト比、935…エッジ水平強度、936…エッジ垂直強度、937…エッジ水平垂直強度比率、941…正規化サイズＸ、942…正規化サイズＹ、950…データ部、961…画像水平サイズ、962…画像垂直サイズ、965…各ピクセルの値、971…距離水平サイズ、972…距離垂直サイズ、975…各ピクセルの距離、981…エッジ強度水平サイズ、982…エッジ強度垂直サイズ、985…各ピクセルのエッジ強度、991…代表Ｘ座標、992…代表Ｙ座標、993…距離
【図１】
0006762090.tif 000002
【図２】
0006762090.tif 000003
【図３】
0006762090.tif 000004
【図４】
0006762090.tif 000005
【図５】
0006762090.tif 000006
【図６】
0006762090.tif 000007
【図７】
0006762090.tif 000008
【図８】
0006762090.tif 000009
【図９】
0006762090.tif 000010
【図１０】
0006762090.tif 000011
【図１１】
0006762090.tif 000012
【図１２】
0006762090.tif 000013
【図１３】
0006762090.tif 000014
【図１４】
0006762090.tif 000015
【図１５】
0006762090.tif 000016
【図１６】
0006762090.tif 000017
【図１７】
0006762090.tif 000018
【図１８】
0006762090.tif 000019
【図１９】
0006762090.tif 000020