説明

車載画像処理装置

【課題】人や車両など種類が多く且つそれらを組み合わせたシーンに対応する処理を複数の処理ユニットに適切に行わせることができる車載画像処理装置を提供すること。
【解決手段】車載画像処理装置は、複数の処理ユニット40によって画像処理された処理結果に基づいて、各処理ユニット40の次回に実行する画像処理の種類と優先度を示すタグ情報を生成し、前回の画像処理時に生成されたタグ情報を用いて各処理ユニット40で画像処理を行わせるか否かを判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両に搭載される画像処理装置に関するものである。
【背景技術】
【0002】
車載画像処理装置では、イメージセンサによって撮像された画像から物体を認識し、その認識結果をもとに、車体の制御をしたり、各種の警報を発生することで、アクティブ・セーフティ機能を実現している。
【0003】
しかし、イメージセンサで撮像された画像には、車両のアクティブ・セーフティの観察対象となる人や車両といった物体のみが存在するわけでないので、物体と思われる全ての領域についてイメージデータを抽出する処理を実行し、抽出したイメージデータが人なのか車両なのかなどの分類するための認識処理を実行する必要がある。
【0004】
そして、認識した結果、人や車両がどのような状態なのかを判断し、衝突しそうであればブレーキを動作させるもしくはステアリング操作で回避するなどの制御を実行するのか、それとも衝突の可能性は低いが警報を発したほうが良いのか、といった判断を行っており、このような判断の必要なシーン(場面)が無限に存在している。そのため、全てのシーンに対応しようとすると、画像処理装置における抽出処理、認識処理、判断処理の処理負荷が膨大になってしまう。
【0005】
画像処理装置の処理負荷を軽減する方法として、判断の必要なシーンを限定する方法がある。例えば、自車の近傍に物体が存在するシーンに限定し、一番自車に近い物体に限定して認識や判断を実行する方法である。
【0006】
一方、複数のCPUを用いて処理負荷に対応する方法もある。マルチプロセッサ方式の画像処理装置の多くは、画面を分割し、それぞれの分割領域にプロセッサに割り当てて処理負荷の均一化を実現している。また、マルチコア方式の画像処理装置の多くは、フィルタリング処理のような任意のピクセルや領域に対して同一の処理を並列に実行するデータ並列処理を実現している(例えば特許文献1、2を参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2005−85164
【特許文献2】特開平6−215138
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、判断の必要なシーンを限定する方法では、危険な状況を許容してしまうおそれがある。例えば、自車の近傍に物体が存在するシーンに限定し、一番自車に近い物体に限定して認識や判断を実行する方法において、自車が歩道のない車道を走り、近傍に人が存在し、且つ猛スピードで逆走する車両が存在するシーンでは、一番自車に近い物体である人に限定して認識や判断が行われるが、このようなシーンでは、猛スピードで逆送する車両を優先して認識することが好ましい。
【0009】
このように、検知したい物体が、人や車両など種類が多く且つそれらを組み合わせたシーンが無限に存在するために、例えば自車から一番近い物体等に限定して処理してしまうと、現実世界で本来回避すべきシーンを網羅できていないという問題があった。
【0010】
また、画面の各分割領域にCPUやコアを割り当てたマルチプロセッサ方式の場合には、状況に応じて処理負荷の低い領域が発生し、かかる領域に割り当てられたプロセッサの処理能力を有効に活用することができず、無駄が生じていた。そして、任意のピクセルや領域に対して同一の処理を並列に実行するデータ並列処理では、効率が悪く、処理を高速化することができなかった。
【0011】
本発明は、上記の点に鑑みてなされたものであり、その目的とするところは、人や車両など種類が多く且つそれらを組み合わせたシーンに対応する処理を、複数の処理ユニットに適切に行わせることができる車載画像処理装置を提供することである。
【課題を解決するための手段】
【0012】
上記課題を解決する本発明の車載画像処理装置は、複数の処理ユニットによって画像処理された処理結果に基づいて、各処理ユニットの次回に実行する画像処理の種類と優先度を示すタグ情報を生成し、前回の画像処理時に生成されたタグ情報を用いて各処理ユニットで画像処理を行わせるか否かを判定することを特徴としている。
【発明の効果】
【0013】
本発明の画像処理装置は、複数の処理ユニットによって画像処理された処理結果に基づいて、各処理ユニットの次回に実行する画像処理の種類と優先度を示すタグ情報を生成し、前回の画像処理時に生成されたタグ情報を用いて各処理ユニットで画像処理を行わせるか否かを判定するので、複数の処理ユニットに優先度の高いものから適切に処理を行わせることができる。したがって、現実世界で回避すべきシーンを漏れなく網羅することができ、車両走行時の安全性を飛躍的に向上させることができる。
【図面の簡単な説明】
【0014】
【図1】本実施の形態における画像処理装置の構成を説明する図。
【図2】画像処理装置の機能ブロック図。
【図3】処理ユニットとコントローラの処理内容を説明するフローチャート。
【図4】処理ユニットから出力されるパケットの一実施例を示す図。
【図5】コントローラで検索されるテーブルの一実施例を示す図。
【図6】車載カメラで撮像した画像を模式的に示す図。
【図7】イメージデータをピクセル抽出する方法を説明するフローチャート。
【図8】イメージデータをライン抽出する方法を説明するフローチャート。
【図9】イメージデータをストライプ抽出する方法を説明するフローチャート。
【図10】イメージデータをブロック抽出する方法を説明するフローチャート。
【図11】処理の種類とプログラムを管理する方法を説明する図。
【図12】コントローラが管理するテーブルの構成を説明する図。
【図13】画像処理の結果に対する次回の処理の種類と優先度を管理するテーブルの構成を説明する図。
【図14】優先度設定の一実施例を示す図。
【図15】処理領域の設定方法の一実施例を示す図。
【図16】処理領域の設定方法の一実施例を示す図。
【図17】処理領域と優先度の設定方法の一実施例を示す図。
【図18】処理ユニットの構成の一実施例を示す図。
【図19】優先度に応じた処理の方法を説明するフローチャート。
【図20】処理ユニットにより優先度を決定する一実施例を示す図。
【図21】処理ユニットにより緊急度を決定する一実施例を示す図。
【図22】パケットの一実施例を示す図。
【図23】パケットの一実施例を示す図。
【図24】画像IDによるプログラムの先読み処理を説明するフローチャート。
【図25】消費電力の低減方法の一実施例を示すフローチャート。
【発明を実施するための形態】
【0015】
次に、本発明の実施の形態について図を用いて説明する。
【0016】
図1は、本実施の形態における画像処理装置の構成を説明する図、図2は、画像処理装置の機能ブロック図である。
【0017】
画像処理装置1は、図1及び図2に示すように、ラインバッファ10、領域抽出手段20、イメージバッファ30、複数の処理ユニット40、コントローラ70、命令バッファ80を有しており、データの送受信、ブロードキャスト及びデータの共有が可能な通信路100で接続されている。このような通信路100は、マルチコアシステムでは、リングバスやクロスバーで実現されることが多いが、本発明はこれらのバス形式に限定されるものではない。
【0018】
車載カメラとして用いられる一般的なイメージセンサは、1ライン毎にイメージデータを出力する構造になっているため、本実施例ではラインバッファ10を有する。ラインバッファ10には、車載カメラからの信号が入力されるビデオ入力(Vin)が接続されている。ラインバッファ10は、一ラインずつ垂直方向に走査することで、一画面分のイメージデータを生成することができる。この垂直走査時間をフレーム周期と呼ぶ。
【0019】
領域抽出手段20は、一画面分のイメージデータを生成するまでのフレーム周期の間で、所望の処理領域、少なくともピクセル、ライン、ストライプ、ブロックの単位でイメージデータを分割して、その処理領域のイメージデータを抽出する。領域抽出手段20は、車載カメラの垂直同期信号等と同期して、ラインバッファ10から一ライン分のイメージデータを読み出し、必要なピクセルデータを取得する処理を繰り返すことで処理領域のイメージデータを抽出する。
【0020】
イメージバッファ30は、領域抽出手段20で抽出されたイメージデータを格納する。イメージバッファ30は、処理領域が一つ以上の場合にも対応できるように、複数のイメージデータを格納することが可能である。
【0021】
複数の処理ユニット40は、それぞれがCPUやコアなどのプロセッサによって構成されている。各処理ユニット40は、領域抽出手段20により抽出されたイメージデータに基づいて画像処理を行う。各処理ユニット40は、画像処理を実行するか否かの判定手段50と、記憶装置60を有する。
【0022】
判定手段50は、前回の画像処理時にコントローラ70によって生成されたタグ情報を用いて各処理ユニット40で画像処理を行わせるか否かを判定する。記憶装置60は、プログラム90やイメージデータを格納するのに利用される。ただし、本発明は、この構成に限定されるものではない。
【0023】
コントローラ70は、各処理ユニット40の処理結果の情報と、処理領域のイメージデータと、処理の種類と、処理の優先度を示す情報、との関係を管理する手段を持つ。コントローラ70は、処理ユニット40が出力する画像処理の処理結果に基づいて、各処理ユニット40の次に実行する画像処理の種類と優先度を示すタグ情報を生成する(タグ情報生成手段)。
【0024】
命令バッファ80は、処理ユニット40で実行される処理の種類と、その処理の種類に対応したプログラム90を管理するものであり、コントローラ70によって前回の画像処理時に生成されたタグ情報に基づいて、プログラム90を処理ユニット40に送信できるようになっている。
【0025】
図3は、処理ユニットとコントローラの処理内容を説明するフローチャート、図4は、処理ユニットから出力されるパケットの一実施例を示す図、図5は、コントローラで検索されるテーブルの一実施例を示す図である。
【0026】
処理ユニット40は、画像処理を実行し、その処理結果および該処理結果112に対応する処理領域の領域情報114を生成し、パケット110としてコントローラ70に送信する(S10)。
【0027】
コントローラ70は、パケット110を取得すると、そのパケット110に含まれる処理結果112と領域情報114を用いて図5のテーブル130を検索し(S30)、対応する処理の種類と該処理の優先度を抽出してパケットを生成し、処理ユニット40に送信する。
【0028】
例えば、処理ユニット40が画像処理として画面全体に対して立体物検知処理を実行し、立体物を検知できなかった場合に、処理ユニット40は、処理結果として「立体物不検知」情報と、画面全体を示す「領域情報」をパケットとしてまとめてコントローラ70に送信する。
【0029】
コントローラ70は該パケットを通信路100経由で受信する。コントローラ70は、処理結果に対して次に実行すべき処理の種類と該処理の優先度とを規定するテーブル130を管理しており、そのテーブル130を検索する。テーブル130は、状態遷移表に相当する。
【0030】
本実施例では、「立体物不検知」に対する処理の種類として、「遠方検知処理」と「近傍検知処理」が記憶され、「遠方検知処理」の優先度が高く「近傍検知処理」の優先度が低く設定されている。このテーブル130に従い、コントローラ70は、優先度の高い遠方検知処理を実行させる情報と、優先度の低い近傍検知処理を実行させる情報の二つを生成する。これらの情報はそれぞれパケットとしてまとめて送信する。
【0031】
図6は、車載カメラで撮像した画像を模式的に示す図である。画像121は、車載カメラから車両前方を撮像したものであり、車両前方の路面121aと、車両の左右に沿って路面にペイントされた一対の白線121bがフレーム120内に映し出されている。図6に示すように、ピクセル123は、画面の中の任意の一点の領域情報であり、ライン124は、水平方向のピクセルデータの集合である。そして、ストライプ125は、連続するライン124の集合であり、ブロック126は、画面の中の任意の矩形領域の領域情報である。
【0032】
図7〜図9は、領域抽出手段により画像から処理領域のイメージデータを抽出する方法を説明する図である。図7は、イメージデータをピクセル抽出する方法を説明するフローチャートである。ここでは、一ライン分のデータから領域情報で指示された処理領域のイメージデータが抽出される。領域情報は、ピクセルの場合は画面上の「X座標,Y座標」で示されるものとする。
【0033】
領域抽出手段20は、Y座標とラインバッファ10の同期信号の順番を比較して(S100)、同一であった場合には、ラインバッファ10のイメージデータを取り込む(S110)。そして、X座標と一致しているドットのイメージデータを抽出し(S120)、その抽出したイメージデータと領域情報とを合わせてイメージバッファ30に転送する(S130)。
【0034】
図8は、イメージデータをライン抽出する方法を説明するフローチャートである。ここでは、一ライン分のデータから領域情報で指示された処理領域のイメージデータが抽出される。領域情報は、ラインの場合は「Y座標」のみで示される。
【0035】
領域抽出手段20は、Y座標とラインバッファ10の同期信号の順番を比較する(S200)。そして、同一であった場合には、ラインバッファ10のイメージデータをそのままコピーする(S210)。そして、コピーしたイメージデータと、領域情報とを合わせてイメージバッファ30に転送する(S220)。
【0036】
図9は、イメージデータをストライプ抽出する方法を説明するフローチャートである。領域情報は、ストライプの場合にはY座標の始点及び終点で示される。領域抽出手段20は、Y座標とラインバッファ10の同期信号の順番を比較する(S300)。そして、Y座標の始点と終点の間であれば、ラインバッファ10のイメージデータを取り込む(S310)。そして、取り込んだイメージデータを追記する(S320)。そして、Y座標が終点であれば(S330でYES)、追記したイメージデータと、領域情報とを合わせてイメージバッファ30に転送する。
【0037】
図10は、イメージデータをブロック抽出する方法を説明するフローチャートである。
領域情報は、ブロックの場合には、X座標の始点及び終点、Y座標の始点及び終点の組合せで示される。領域抽出手段20は、Y座標とラインバッファ10の同期信号の順番を比較して、ラインバッファ10の同期信号の順番がY座標の始点を超えていることを判定する(S340)。そして、Y座標の始点と終点の間であれば、ラインバッファ10のイメージデータを取り込む(S350)。そして、X座標の始点から終点までのイメージデータを切り出して(S360)、追記する(S370)。そして、Y座標の終点と同一であった場合には(S380でYES)、コピー及び追記したイメージデータと領域情報とを合わせてイメージバッファ30に転送する。
【0038】
図11は、処理の種類とプログラムを管理する方法を説明するフローチャート、図12は、コントローラが管理するテーブルの構成を説明する図である。命令バッファ80は、処理の種類と、それに対応するプログラム90を、合わせて管理する。本実施例では、命令バッファ80における処理の種類と対応するプログラム90を簡単にテーブル140として表現しているが、この限りではない。
【0039】
処理ユニット40は、図11に示すように、画像処理の実行後にその処理の種類の情報をパケットにして命令バッファに送信する(S400)。命令バッファ80は、処理ユニット40からパケットを受信すると(S410)、そのパケットに含まれている処理の種類の情報に基づいて、図12に示すテーブル140より検索し(S420)、処理の種類に対応するプログラム90を抽出し、処理ユニット40に送信する(S430)。
【0040】
図13は、画像処理の結果に対する次回の処理の種類と優先度を管理するためのテーブルの構成を説明する図である。コントローラ70は、処理結果の情報と、処理の種類と、処理の優先度を示す情報との関係を、状態遷移表に相当するテーブル150を用いて管理している。
【0041】
テーブル150は、画像処理の結果に対して次に実行すべき処理の種類と、該処理の優先度とを管理している。例えば、処理結果が「立体物検知済」であれば、次に実行すべき処理は、「人認識処理」と「車両認識処理」の二種類が定義されている。「人認識処理」と「車両認識処理」は同一の優先度となっている。
【0042】
また、処理結果が「車両認識」であれば、次に実行すべき処理は「回避制御処理」と「衝突警報処理」の二種類が定義されている。ただし、回避と警報では、前者の方が重要度が高いために「回避制御処理」の方が「衝突警報処理」よりも優先度が高くなっている。本例では数値の小さい方が優先度が高いと定義している。なお、本実施例では、状態遷移表に相当するテーブル150として表現しているがこの限りではない。
【0043】
図14は、優先度を設定する方法を示す図である。例えば、画像処理の結果として、認識物160までの距離を計測できる場合には、画面の領域や、認識物160までの距離に応じて優先度を割り付けることで、従来システムのような最近傍の物体を選択するのと同等の機能を提供することが可能となる。
【0044】
本実施例では、図14(a)に示すように、遠方の低優先度領域161と、少し先の中優先度領域162と、近傍の高優先度領域163の三つの領域を定義している。また、図14(b)に示すように、認識物に個別に優先度を割り当てることも可能である。図14(b)は、自車からの距離に応じて各認識物に優先度10〜15を割り当てた実施例を示す。ただし、従来システムとの違いは、最近傍の物体のみを処理するのではなく、最近傍以外の複数の認識物160についても優先度に従って処理を継続することが可能となり、危険物をもれなく監視することが可能となる。
【0045】
図15は、処理領域の設定方法の一実施例を示す図である。例えば、画像処理の結果として、遠方に物体を検出すると、時間の経過とともに該物体が自車に接近する場合には、画面上における物体のサイズが大きくなり、処理領域のイメージデータも大きくなる。認識すべきイメージデータが大きくなると処理ユニット40の処理負荷も増加する。
【0046】
この場合に、処理ユニット40の総数と優先度より、処理領域を分割して複数の処理ユニット40に処理を自律的に分散することで、一つの処理ユニット40だけに処理負荷が集中することを回避できる。
【0047】
例えば、図15(a)に示すように、物体を未検出の場合172には、広い領域を監視する必要があり、処理領域170もそれに対応するように広くする。そして、図15(b)に示すように、認識物160(物体)を検知した場合174には、認識物160が自車から遠ざかるのか、それとも近づくのか不明なため、そのどちらにも対応できるように監視する範囲を分割し、認識物160の近傍に狭域の三つの処理領域170を設定する。したがって、三つの処理領域170にそれぞれ処理ユニット40を割り当てることによって、より高精度な画像処理を行うことができる。
【0048】
そして、認識物160が自車に接近すれば、図15(c)に示すように、画像121上でも大きな領域を占めることとなるので、それに対応するように認識物160の近傍に狭域の五つの処理領域170を設定する。したがって、五つの処理領域170にそれぞれ処理ユニット40を割り当てることによって、より高精度な画像処理を行う。このように、物体の挙動に応じて、監視領域に相当する処理領域を設定し、必要な箇所に適切な数の処理ユニット40を割り当てることによって、高精度の検出を行うことができ、様々な物体の様々な状況に対応することが可能となる。
【0049】
図16は、処理領域の設定方法の一実施例を示す図である。例えば、自車の速度情報が得られた場合には、速度域に応じて処理領域の大きさを設定することができる。例えば、自車の車速が高い場合には、遠方の物体を認識できなければならない。このような高速域では、遠方の物体検知の精度を高める必要がある。したがって、高速域182では、図16(a)に示すように、遠方を4つの処理領域180に分割して、複数の処理ユニット40に優先的に処理を分散させて、遠方の物体検知の精度を高めている。
【0050】
一方、自車の車速が低い場合には、近傍の物体を認識できなければならない。このような低速域では、近傍の物体検知の精度を高める必要がある。したがって、低速域184では、図16(b)に示すように、自車近傍を5つの処理領域190に分割して、複数の処理ユニット40に優先的に処理を分散させて、近傍の物体検知の精度を高めている。
【0051】
このように自車の挙動に相当する速度域に応じて処理領域を設定することで、物体の様々な状況に対応することが可能である。本実施例では、速度を自車の挙動を示す情報として取り扱ったが、例えばハンドルの操舵角や操舵スピードに応じて処理領域を柔軟に設定することで、カーブや交差点での様々な状況に対応することが可能となる。
【0052】
図17は、処理領域と優先度の設定方法の一実施例を示す図である。ここでは、物体検知の状況に応じて、優先度の入れ替えが行われる。例えば、画像処理の結果として、図17(a)に示すように、前方の物体を未検出の場合172には、安全機能面では危険度が低いと考えられる。したがって、「車線逸脱警報処理」の優先度を上げて、左右の認識精度を上げるために左右を監視する処理領域200を左右それぞれについて四つに分割して、複数の処理ユニット40に優先的に処理を分散させる。そして、緊急性が高い「衝突回避制御処理」の優先度を下げて、前方を監視する処理領域210に、予備的に一つの処理ユニット40を割り当ててその処理を担わせる。
【0053】
一方、画像処理の結果として、図17(b)に示すように、前方に認識物160として物体を検知した場合には、安全機能面では危険度が高くなると考えられるので、緊急性が高い「衝突回避制御処理」の優先度を上げて、前方の認識精度を上げるために前方を監視する処理領域210を分割して、複数の処理ユニット40に優先的に処理を分散させる。そして、「車線逸脱警報処理」の優先度を下げて、左右の処理領域200をそれぞれ2つに分割し、予備的にそれぞれ二つの処理ユニット40を割り当ててその処理を担わせる。このように状態に応じて警報および制御のそれぞれの処理の優先度を変更し、処理の自律的分散を実現できる。
【0054】
図18は、処理ユニットの構成の一実施例を示す図、図19は、図18の処理ユニットによる優先度に応じた処理の方法を説明するフローチャートである。本実施例において、処理ユニット40は、図18に示すように、処理を実行したときに、該処理の優先度を保持するかもしくはリセットした現状優先度62をメモリ60上に保持する。
【0055】
処理ユニット40は、コントローラ70から前回の画像処理時に生成されたタグ情報を含むパケットを受信し、処理の種類と優先度の情報を取得する(S500)。そして、判定手段50により、現状優先度と受信した優先度とを比較して判定を行う(S510)。本実施例では、判定手段50は、単純に受信した優先度が現状優先度より高いか低いかを判定し、高い場合には、該優先度で現状優先度を更新する(S520)。
【0056】
処理ユニット40は、処理の種類を命令バッファ80に送信し(S530)、処理の種類に応じたプログラム90を命令バッファ80から受信する(S540)。そして、受信した優先度が低い場合には、現状優先度をリセット(S522)する。
【0057】
図20は、処理ユニットにより優先度を決定する一実施例を示す図である。ここでは、処理ユニット40がプログラム90の処理結果により、自ら現状優先度を更新する。処理ユニット40は、コントローラ70から前回の画像処理時に生成されたタグ情報を含むパケットを受信し、処理の種類と優先度の情報を取得する(S600)。処理ユニット40は、処理の種類を命令バッファ80に送信し(S610)、処理の種類に応じたプログラム90を命令バッファ80から受信し(S620)、そのプログラム90を実行する(S630)。
【0058】
処理ユニット40は、プログラム90によって優先度を生成し、現状優先度を更新する(S640)。設計段階から一意に優先度が決定できる場合は、本実施例のようにプログラム上で明確に優先度を生成させることで確実な優先度制御を行える。
【0059】
図21は、処理ユニットにより緊急度を決定する一実施例を示す図である。ここでは、処理ユニット40において、緊急でリアルタイムなレスポンスを必要とする処理起動が実現される。上述の図12のテーブルでは、処理結果を「立体物検知」のような状態だけを定義していたが、本実施例では、このような処理結果状態と、処理結果に応じた緊急度を生成する実施例である。
【0060】
処理ユニット40は、コントローラ70から前回の画像処理時に生成されたタグ情報を含むパケットを受信し、タグ情報から処理の種類と優先度の情報を取得する(S700)。処理ユニット40は、処理の種類を命令バッファ80に送信する(S710)。処理の種類に応じたプログラム90を命令バッファ80から取得する(S720)。処理ユニット40はプログラム90を実行し(S730)、緊急度が発生したか否かを確認する(S740)。
【0061】
緊急度が生成された場合には、緊急度を命令バッファに送信し、該緊急度に対応するプログラム90を命令バッファ80から取得する(S750)。処理ユニット40は、取得した緊急プログラム90を実行する(S760)。このようなフローにすることで、コントローラ70を経由することなく、緊急性の高い処理を早く実行することで、リアルタイム性を向上することができる。
【0062】
図22と図23は、パケットの一実施例を示す図である。
【0063】
パケット220は、図22に示すように、処理の種類222と、優先度224と、画像ID226を有する。画像ID226は、処理領域の領域情報114を有している。処理ユニット40は画像ID226を指定することで、イメージバッファ30から処理領域に対応するイメージデータを取得する。
【0064】
パケット230は、図23に示すように、処理の種類222と、優先度224と、イメージデータ228を有している。イメージデータ228は、処理領域の形状を特定するための領域タイプ242、処理領域の大きさを特定するための領域サイズ244、ピクセルデータ群246を組みとする。領域タイプ242は、図6に示したピクセル123、ライン124、ストライプ125、ブロック126に相当する領域情報を示す識別子である。また、領域サイズは、ピクセル123の場合は無効で、ライン124の場合にはY座標の位置、ストライプの場合にはY座標の幅、ブロック126の場合には角のXY座標と縦横それぞれの幅である。ピクセルデータは、上記領域に存在するピクセルそれぞれの値である。ピクセルデータは、例えば白黒画像の場合には8ビットつまり0〜255の値をとり、カラー画像の場合にはRGBの3つデータが、それぞれ0〜255の値を取る。尚、本発明は、白黒及びカラー、8ビットに限定されるものではない。
【0065】
図24は、画像IDによるプログラムの先読み処理を説明するフローチャートである。図1の実施例の構成において、コントローラ70は、処理の種類などを、ラインバッファ10のイメージデータの取り込みが始まる前に決定することができる。したがって、領域情報に対応した処理領域のイメージデータを全て取り込む前に、プログラムを命令バッファ80から処理ユニット40に送信させて、先読み(プリフェッチ)させることが可能である。
【0066】
各処理ユニット40は、イメージデータ228を受け取るよりも前に、命令バッファ80からプログラムを受け取り、プログラムの先読みを行い、次いでイメージデータを受け取ることにより画像処理を開始する。
【0067】
例えば、ラインバッファ10からイメージデータの取り込みを開始する時点で、処理の種類に応じたプログラム90を命令バッファ80からダウンロードすることができ、処理ユニット40は、イメージデータの取り込みが済んでからダウンロードするよりも早く実行を開始することができる。
【0068】
コントローラ70は、上述の図22に示すパケット220を実装例とする場合、図24に示すように、パケット220によって、処理の種類と優先度と画像IDを処理ユニット40に送信する(S800)。現時点で全画面を撮像できていないので、該画像IDは無効な値を設定する。
【0069】
処理ユニット40は、コントローラ70から前回の画像処理時に生成されたタグ情報を含むパケットを受信し、タグ情報から処理の種類と優先度と画像IDの情報を取得する(S805)。そして、画像IDが有効か否かを判定し(S810)、画像IDが無効の場合には、処理の種類を命令バッファ80に送信する(S820)。
【0070】
命令バッファ80は、処理の種類を受信すると(S830)、その処理の種類に対応するプログラム90を探索し、プログラム90を処理ユニット40に送信する(S840)。処理ユニット40は、プログラム90を受信し(S850)、画像IDが有効の場合には、画像IDをイメージバッファ30に送信する(S860)。
【0071】
イメージバッファ30は、画像IDを受信すると(S870)、画像IDに対応するイメージデータを処理ユニット40に送信する(S880)。処理ユニット40は、イメージデータを受信すると(S890)、そのイメージデータを画像処理すべく、プログラム90を実行する(S900)。尚、領域抽出手段20は、画像領域情報のイメージデータの生成が終了した時に、処理の種類と優先度と有効な画像IDを送信する。
【0072】
図25は、消費電力の低減方法の一実施例を示すフローチャートである。この実施例では、処理ユニット40の総数より、実行すべき処理数が少ない場合において、動作しない処理ユニット40をスリープモードにすることで消費電力の低減を実現する例である。
【0073】
本実施例においてコントローラ70は、処理ユニット40の総数と、処理実行中の処理ユニット40の数を管理している。コントローラ70は、処理ユニット40から処理結果を受信する(S900)。そして、上述の図22もしくは図23の実施例のように、該処理結果に対応するパケットを生成する(S910)。
【0074】
コントローラ70は、処理ユニット40の総数と、処理実行中の処理ユニット40の数と、待機中の処理ユニット40の数から、処理待ち状態となる処理ユニット40の数を算出する(S920)。処理待ち状態となる処理ユニット40数分のパケットを送信する(S930)。このパケットは、処理の種類に、例えばスリーププログラムを指定する。 処理ユニット40は、コントローラ70からスリーププログラムのパケットを受け取ると、処理ユニット40の動作モードを通常モードから消費電力の少ないスリープモードに変更する。したがって、処理待ち状態の処理ユニット40によって消費される電力を低減することができる。
【0075】
上述の画像処理装置によれば、各処理ユニット40の処理結果に基づいて各処理ユニット40が次回に実行する処理の種類と優先度を示すタグ情報を生成し、各処理ユニット40が画像処理を行うか否かについて、前回の画像処理時に生成されたタグ情報を用いて判断するので、複数の処理ユニットに優先度の高いものから適切に処理を行わせることができる。したがって、現実世界で回避すべきシーンを漏れなく網羅でき、車両走行時の安全性を飛躍的に向上させることができる。
【0076】
また、より精度の高い画像処理を行う必要がある処理領域に対しては、かかる処理領域を分割して、それぞれに処理ユニットを割り当てることができる。したがって、複数の処理ユニット40に優先的に処理を分散させることができ、一つの処理ユニット40に処理負荷が集中するのを防ぐことができる。したがって、画像処理を高速化することができ、画像処理の処理結果に基づく警告や自動ブレーキ制御等を迅速に行うことができ、車両走行時の安全性を飛躍的に向上させることができる。
【符号の説明】
【0077】
10 ラインバッファ
20 領域抽出手段
30 イメージバッファ
40 処理ユニット
50 判定手段
60 記憶装置
62 現状優先度
70 コントローラ(タグ情報生成手段)
80 命令バッファ
90 プログラム
100 通信路
110 パケット
112 処理結果
114 領域情報
130 状態管理テーブル
140 プログラム管理テーブル
150 優先度管理テーブル


【特許請求の範囲】
【請求項1】
車載カメラで間欠的に撮像される画像の画像処理を行う車載画像処理装置であって、
前記画像から前記画像処理が行われる処理領域のイメージデータを抽出する領域抽出手段と、
該領域抽出手段により抽出されたイメージデータに基づいて画像処理を行う複数の処理ユニットと、
該各処理ユニットにより画像処理された処理結果に基づいて、前記各処理ユニットの次回に実行する画像処理の種類と優先度を示すタグ情報を生成するタグ情報生成手段と、
該タグ情報生成手段によって前回の画像処理時に生成されたタグ情報を用いて前記各処理ユニットで画像処理を行わせるか否かを判定する判定手段と、
を有することを特徴とする車載画像処理装置。
【請求項2】
前記領域抽出手段は、前記タグ情報生成手段によって前回の画像処理時に生成されたタグ情報を用いて前記処理領域を決定することを特徴とする請求項1に記載の車載画像処理装置。
【請求項3】
前記領域抽出手段は、前記画像からピクセル単位、ライン単位、ストライプ単位、ブロック単位の少なくともいずれか一つの単位で前記イメージデータを抽出することを特徴とする請求項1又は2に記載の車載画像処理装置。
【請求項4】
画像処理の種類に対応するプログラムを記憶し、前記タグ情報生成手段によって前回の画像処理時に生成されたタグ情報に基づいて、前記プログラムを前記各処理ユニットに送信する命令バッファを有し、
前記各処理ユニットは、前記命令バッファから受け取ったプログラムに基づいて前記画像処理を行うことを特徴とする請求項1から請求項3のいずれか一項に記載の車載画像処理装置。
【請求項5】
前記各処理ユニットは、前記イメージデータを受け取るよりも前に、前記命令バッファから前記プログラムを受け取り、該プログラムの先読みを行い、次いで、前記イメージデータを受け取ることにより前記画像処理を開始することを特徴とする請求項4に記載の車載画像処理装置。
【請求項6】
前記タグ情報には、画像処理の緊急度が含まれることを特徴とする請求項1から請求項5のいずれか一項に記載の車載画像処理装置。
【請求項7】
前記タグ情報生成手段は、前記タグ情報をパケットとしてまとめて前記処理ユニットに送信することを特徴とする請求項1から請求項6のいずれか一項に記載の車載画像処理装置。
【請求項8】
前記各処理ユニットは、前記タグ情報生成手段によって前回の画像処理時に生成されたタグ情報に基づいて処理の必要性を判断し、必要性がないと判断した場合に、動作モードを通常モードから消費電力の少ないスリープモードに変更して、処理ユニットの消費電力の低減を図ることを特徴とする請求項1から請求項7のいずれか一項に記載の車載画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2011−164982(P2011−164982A)
【公開日】平成23年8月25日(2011.8.25)
【国際特許分類】
【出願番号】特願2010−27747(P2010−27747)
【出願日】平成22年2月10日(2010.2.10)
【出願人】(509186579)日立オートモティブシステムズ株式会社 (2,205)
【Fターム(参考)】