(57)【要約】【課題】高速な画像処理機能を備えた解像度の高い撮像装置を提供する。【解決手段】撮像装置１００は、マトリクス状に配置され、それぞれが受光した光の量を電気量に変換する画素である複数の受光回路１０１と、各受光回路１０１で得られた電気量の値を、各受光回路１０１に対応付けて保持するメモリ３０２と、マトリクスの列ごとに備えられる処理部１０３とを備え、処理部１０３は、メモリ３０２に保持されているうち少なくとも一部の列方向に連続する複数個の値を、保持するための作業用メモリ２０３と、作業用メモリ２０３に保持されている値を用いて、所定の画像処理を行う画像処理回路２０４とを備える。【選択図】図３
2008206143.tif 000002
【特許請求の範囲】
【請求項１】
画像処理機能を備える撮像装置であって、
マトリクス状に配置され、それぞれが受光した光の量を電気量に変換する画素である複数の受光回路と、
各前記受光回路で得られた電気量の値を、各前記受光回路に対応付けて保持するメモリと、
前記マトリクスの列ごとに備えられる処理部とを備え、
前記処理部は、
前記メモリに保持されているうち少なくとも一部の列方向に連続する複数個の値を保持するための作業用メモリと、
前記作業用メモリに保持されている値を用いて、所定の画像処理を行う画像処理回路と
を備えることを特徴とする撮像装置。
【請求項２】
前記作業用メモリは、前記マトリクスの各列において処理対象となる画素を中心として列方向に連続する３個の値を保持するメモリ領域を有し、
前記撮像装置は、さらに、
前記各列において同一行の画素が並行処理されるよう、クロックごとに各列で処理対象となる画素を行方向にシフトし、処理対象となる画素を中心として列方向に連続する３画素に対応する各前記メモリに保持されている値を読み出して、各前記メモリに対応する前記作業用メモリに書き込むメモリコントローラを備え、
各列の前記画像処理回路は、同一行の画素について並行して画像処理を行い、各前記作業用メモリに保持されている列方向に連続する３画素の値と、前記列の両側に隣接する列の各処理対象画素に対応する作業用メモリに保持されている値とを用いて画像処理を行い、
前記メモリコントローラは、列方向に連続する前記３画素の中心に位置する画素に対応した前記メモリに、前記画像処理回路による画像処理の結果を書き込む
ことを特徴とする請求項１記載の撮像装置。
【請求項３】
前記画像処理回路は、
前記受光回路で得られた電気量の値と予め定められた値とを比較することによって、比較結果を示すフラグを生成するフラグ生成部と、
前記フラグを用いて画像の拡大又は縮小処理の遷移を求めるオートマトン回路と、
前記オートマトン回路によって求められたフラグを用いて、前記画像の前記受光回路におけるＸ軸座標及びＹ軸座標を算出する射影線生成回路とを備える
ことを特徴とする請求項２記載の撮像装置。
【請求項４】
前記フラグ生成部は、前記受光回路で得られた電気量の値と、瞳孔又はプルキニエ像を特定するために予め定められた値とを比較することによって、前記フラグを生成し、
前記オートマトン回路は、前記瞳孔又はプルキニエ像の中心位置を示す１個の画素に対応するフラグだけが１又は０となるまで、収縮処理の遷移を求める
ことを特徴とする請求項３記載の撮像装置。
【請求項５】
前記メモリは、前記複数の受光回路から構成される現在のフレームと直前のフレームにおける前記電気量の値を保持する記憶容量を有し、
前記撮像装置は、さらに、前記現在及び直前のフレームでの画像の動きを示すオプティカルフローを算出するための一時的な値を保持するための方向別加算用メモリを有し、
前記画像処理回路は、前記方向別加算用メモリを作業用メモリとして用いながら、前記現在及び直前のフレームにおける電気量の値から、ブロックマッチング法によってオプティカルフローを算出する
ことを特徴とする請求項２記載の撮像装置。
【請求項６】
前記画像処理回路は、オプティカルフローの方向を示す８方向または９方向について、Ｎ行Ｎ列（ただし、Ｎは３以上の自然数）の画素からなるブロックによるブロックマッチングを行うことで、前記画像の動きを示す方向として、前記８方向または前記９方向の１つを特定し、特定した方向を示す値を出力する
ことを特徴とする請求項５記載の撮像装置。
【請求項７】
画像処理機能を備える撮像装置を実装する集積回路であって、
マトリクス状に配置され、それぞれが受光した光の量を電気量に変換する画素である複数の受光回路と、
各前記受光回路で得られた電気量の値を、各前記受光回路に対応付けて保持するメモリと、
前記マトリクスの列ごとに備えられる処理部とを備え、
前記処理部は、
前記メモリに保持されているうち少なくとも一部の列方向に連続する複数個の値を保持するための作業用メモリと、
前記作業用メモリに保持されている値を用いて、所定の画像処理を行う画像処理回路と
を備えることを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理機能を備えた撮像装置、特に、視線検出機能をもつ画素並列構成のVision Chipに好適な撮像装置に関する。
【背景技術】
【０００２】
視線情報は、計算機への情報入力方法などとして有用なユーザインタフェースであることが知られているが、現在の一般的な視線検出装置はビデオカメラと画像処理用の計算機からなる高価で大掛かりなシステムである。そのため、その応用は学術研究などの特殊な分野に限られているのが現状である。また眼球運動には、サッケード（急速眼球運動）と呼ばれる、角速度が600[deg/s]にも達する非常に高速なものがあることが知られている。このサッケードは、無意識に起こる視線の跳躍であり、ユーザインタフェースへの応用が有用であることが提案されているが（非特許文献１、２参照）、その速度のために、60Hz程度のビデオレートでの視線検出では追尾が不可能である。高速度カメラを用いてサッケードの検出・追尾に対応したシステムも存在するが、システムが物理的に大規模・高価であり、また視線情報生成までの遅延（レイテンシ）が大きく、リアルタイムでの検出は非現実的である。発明者らは、画素ごとに受光素子と処理回路を置く、いわゆるVision Chipの構成により、サッケードに対応した視線検出・追尾のための高機能イメージセンサのアーキテクチャを検討・実装し、基礎的な評価を行ってきた（非特許文献３、４参照）。
【非特許文献１】J.Triesch et al.: “What you see is what you need,” Journal of Vision, Vol.3, No.1, pp.86-94 (Feb. 2003).
【非特許文献２】S.S.Intille: “Change Blind Information Display for Ubiquitous Computing Environments,” Proc. of UbiComp2002, pp.91-106 (Sep. 2002).
【非特許文献３】J.Akita et al.: “Vision Chip Architecture for Detecting Line of Sight Including Saccade”, IEICE Transactions on Electronics, Vol.E89-C, No.11, pp.1605-1611 (Nov. 2006).
【非特許文献４】高木宏章・秋田純一: “急速眼球運動対応の視線検出機能を持つVision Chipの試作と評価”, 映像情報メディア学会技術報告, Vol.30, No.32, pp.17-20 (June 2006).
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、画素ごとに受光素子と処理回路を置く構成では、画素並列構成をとるため画素の面積が大きく、画素数が16×16と極めて少ないという問題があり、解像度が低いため、高精度な視線の検出が困難であるという課題がある。
【０００４】
上記課題に鑑み、本発明は、VGA程度の解像度を実現し急速眼球運動に対応する視線検出機能を持つVision Chip、すなわち、高速な画像処理機能を備えた解像度の高い撮像装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明の撮像装置は、画像処理機能を備える撮像装置であって、マトリクス状に配置され、それぞれが受光した光の量を電気量に変換する画素である複数の受光回路と、各前記受光回路で得られた電気量の値を、各前記受光回路に対応付けて保持するメモリと、前記マトリクスの列ごとに備えられる処理部とを備え、前記処理部は、前記メモリに保持されているうち少なくとも一部の列方向に連続する複数個の値を保持するための作業用メモリと、前記作業用メモリに保持されている値を用いて、所定の画像処理を行う画像処理回路とを備えることを特徴とする。
【０００６】
また、本発明において、前記作業用メモリは、前記マトリクスの各列において処理対象となる画素を中心として列方向に連続する３個の値を保持するメモリ領域を有し、前記撮像装置は、さらに、前記各列において同一行の画素が並行処理されるよう、クロックごとに各列で処理対象となる画素を行方向にシフトし、処理対象となる画素を中心として列方向に連続する３画素に対応する各前記メモリに保持されている値を読み出して、各前記メモリに対応する前記作業用メモリに書き込むメモリコントローラを備え、各列の前記画像処理回路は、同一行の画素について並行して画像処理を行い、各前記作業用メモリに保持されている列方向に連続する３画素の値と、前記列の両側に隣接する列の各処理対象画素に対応する作業用メモリに保持されている値とを用いて画像処理を行い、前記メモリコントローラは、列方向に連続する前記３画素の中心に位置する画素に対応した前記メモリに、前記画像処理回路による画像処理の結果を書き込むとしてもよい。
【発明の効果】
【０００７】
以上のように本発明によれば、視線検出のための処理を行う画像処理回路を列ごとに配置する、いわゆる列並列構成をとることで、VGA程度の高い解像度とサッケードに対応可能な高速処理を両立することができる列並列構成Vision Chipのアーキテクチャを構築することができるという効果がある。
【発明を実施するための最良の形態】
【０００８】
（実施の形態１）
図１は、画像処理回路を列ごとに配置する、いわゆる列並列構成をとる本発明の撮像装置１００の構成を示すブロック図である。同図に示すように、撮像装置１００は、複数の受光回路（PIX）１０１、メモリ（MEM）１０２、及び処理部１０３を備えている。受光回路１０１は、撮像領域内にマトリクス状に配置され、受光した光の輝度を電気量である電圧値（又は電流値）に変換する。メモリ１０２は、受光回路１０１の列ごとに行と同数備えられ、各受光回路１０１で受光された光の輝度を示す値を保持する。処理部１０３は、受光回路１０１の列ごとに備えられ、隣接する列の処理部１０３から得られる値を参照して中心画素と隣接４画素とからなる画素の画像処理を行う。
【０００９】
図２（ａ）及び図２（ｂ）は、眼球に赤外光を照射して赤外線カメラで撮影した画像の一例を示す図である。図２（ａ）に示すように、この眼球の赤外画像には、虹彩の中の黒い丸い領域である瞳孔２０２と、赤外光の角膜反射に伴うプルキニエ像２０１と呼ばれる白い輝点が存在する。この両者の位置関係から、図２（ｂ）のように視線を求めることができる。すなわち視線を求めるためには、眼球の赤外画像の中から、黒と白の円形領域の中心点を求めることができればよいことになる。
【００１０】
発明者らは、これまでの考察・検討とシミュレーションにより、以下の５つの処理のステップによって視線検出に必要な瞳孔２０２とプルキニエ像２０１の中心を求めることができることを示した。
【００１１】
（１）ある閾値以上の輝度の検出によるプルキニエ像の抽出
（２）プルキニエ像領域の収縮処理と、その消去点の検出
（３）ある閾値以下の輝度の検出とプルキニエ像との論理和による瞳孔の検出
（４）瞳孔領域の数段階の拡大処理
（５）瞳孔領域の収縮処理と、その消去点の検出
【００１２】
すなわち視線検出のための画像処理は、画素の輝度の閾値との比較のための比較器、収縮処理・拡大処理を行うオートマトン、消去点の検出とその座標の生成回路、によって実現することができることになる。
【００１３】
なお、収縮処理とは、プルキニエ像や瞳孔のような円形領域の最外周の画素列を順次消去し、最後に残った１画素を円形領域の中心と判定する処理のことをいう。消去点とは、収縮処理によって最後に残った画素の位置をいう。
【００１４】
図３は、視線検出のための列並列処理アーキテクチャである撮像装置１００の１列分の構成を示す図である。１列分の回路は、フォトダイオードと増幅回路からなる受光回路（PIX）３０１、図１に示したメモリ（MEM）１０２を構成し、各画素に対応する輝度を０または１で表すフラグを記憶するメモリ（MEM）３０２、二値化や収縮・拡大処理などを行う処理部（PE:Processing Element）２０４、および収縮・拡大の過程で、この列の処理対象となる画素(i,j)、およびその上(i, j-1)と下(i, j+1)の画素のフラグを保持する作業用メモリWM(i,j)２０３, WM(i, j-1)２０３, WM(i, j+1)２０３からなる。
【００１５】
撮像装置１００において、受光回路（PIX）３０１は請求項でいう「マトリクス状に配置され、それぞれが受光した光の量を電気量に変換する画素である複数の受光回路」の一例であり、処理部１０３は「前記マトリクスの列ごとに備えられる処理部」の一例である。また、作業用メモリWM(i,j)２０３, WM(i, j-1)２０３, WM(i, j+1)２０３は、「前記メモリに保持されているうち少なくとも一部の列方向に連続する複数個の値を保持するための作業用メモリ」の一例であり、処理部（PE）２０４は、「前記作業用メモリに保持されている値を用いて、所定の画像処理を行う画像処理回路」の一例である。
【００１６】
なお各列のPIX３０１とMEM３０２は画素平面の行数分だけあり、またPE２０４は両隣の列の、処理対象の画素のフラグを保持する作業メモリWM(i-1, j)２０５, WM(i+1, j)２０５にも接続されている。また処理部（PE）２０４は、消去点の検出およびその点の座標の生成に必要な射影線の生成も行う。以下に、各部の詳細を述べる。
【００１７】
図４は、受光回路（PIX）３０１の一例を示す図である。受光回路（PIX）３０１は、一般的な3Tr型のAPS（Active Pixel Sensor）構造をとり、受光素子ＰＤと、受光素子ＰＤで発生した電荷を蓄積するコンデンサ（図示されず）と、前記コンデンサを一定電圧にリセットしておくためのリセットトランジスタＴｒ１と、前記コンデンサに蓄積された電荷を増幅する増幅トランジスタＴｒ２と、増幅後の信号を列信号線Ｄに出力する行選択トランジスタＴｒ３とを備える。この受光回路３０１は、制御信号RSELで選択された場合に、輝度に応じた電圧を列信号線Dに出力する。
【００１８】
メモリ（MEM）３０２は１ビットのフラグを記憶するが、後述の処理部（PE）２０４との接続において、読み出しと書き込みを同一サイクルで行う必要があるため、２ポート構成のSRAM(static RAM)とする。
【００１９】
作業用メモリ（WM）２０３は、１つの列につき３個配置される。作業用メモリWM(i,j)２０３, WM(i, j-1)２０３, WM(i, j+1)２０３は、「前記マトリクスの各列において処理対象となる画素を中心として列方向に連続する３個の値を保持するメモリ領域を有する」一例であり、その内訳は、処理部（PE）２０４が上から順に１行分ずつ後述の遷移処理を行う対象の画素の、遷移処理前のフラグを保持するWM(i, j)２０３と、その上の画素のフラグを保持するWM(i, j-1)２０３、およびその下の画素のフラグを保持するWM(i, j+1)２０３である。PE２０４の処理対象が次の行に移ると、それに伴ってWM(i, j-1)〜WM(i, j+1)の値は順に１つシフトされ、現在のWM(i, j-1)の値が直前のWM(i, j)の値に、現在のWM(i, j)の値が直前のWM(i, j+1)の値になる。現在のWM(i, j+1)の値は、新たにメモリ（MEM）から読み込む。処理部（PE）２０４が処理の対象とする画素のフラグの値は、処理対象の画素とその上下の３画素分のみであるため、作業用メモリ２０３はこのように3ビットのシフトレジスタの構成をとればよいことになる。
【００２０】
図５は、処理部（PE）２０４のより詳細な構成を示す図である。図５のように処理部（PE）２０４は、以下の４つの要素からなる。
【００２１】
１．フラグ生成回路（FG）４０３
２．メモリアクセス制御回路（MC）４０１
３．拡大・収縮を行うためのオートマトン回路（A）４０４
４．X軸・Y軸への射影線生成回路（PG）４０２
【００２２】
１．のフラグ生成回路（FG）４０３は、前述の処理ステップ（１）と（３）において、順に選択される受光回路（PIX）３０１の出力電圧と閾値Vrefを電圧比較器によって比較し、瞳孔２０２あるいはプルキニエ像２０１を示すフラグを生成する。生成されたフラグは、順次対応するメモリ（MEM）３０２に保存される。
【００２３】
２．のメモリアクセス制御回路（MC）４０１は、請求項でいう「前記各列において同一行の画素が並行処理されるよう、クロックごとに各列で処理対象となる画素を行方向にシフトし、処理対象となる画素を中心として列方向に連続する３画素に対応する各前記メモリに保持されている値を読み出して、各前記メモリに対応する前記作業用メモリに書き込み、列方向に連続する前記３画素の中心に位置する画素に対応した前記メモリに、前記画像処理回路による画像処理の結果を書き込むメモリコントローラ」の一例である。メモリアクセス制御回路（MC）４０１は、前述の処理ステップ（２）、（４）、（５）において、順に処理対象となる行の１つ上の画素に対応するメモリ（MEM）３０２のフラグを読み出して作業メモリWM(i, j-1)２０３に格納するとともに、３．のオートマトン回路（A）４０４による処理結果Ｔを処理対象となっている画素PIX(i, j)に対応するメモリ（MEM）３０２に書き込む制御を行う。
【００２４】
３．のオートマトン回路（A）４０４は、「同一行の画素について並行して画像処理を行い、各前記作業用メモリに保持されている列方向に連続する３画素の値と、前記列の両側に隣接する列の各処理対象画素に対応する作業用メモリに保持されている値とを用いて画像処理を行う各列の前記画像処理回路」の一例である。オートマトン回路（A）４０４は、処理対象の画素PIX(i, j)及びその隣接４近傍画素PIX(i, j-1)、PIX(i, j+1)、PIX(i-1, j)、PIX(i+1, j)のフラグを格納する作業メモリWMの値を用いて拡大処理または収縮処理の遷移の結果Tを求める。例えば、オートマトン回路（A）４０４は、瞳孔に対する収縮処理の場合、中心画素と４近傍のすべてが“１”である場合に中心を“１”とする処理を行う。すなわち、中心と４近傍のうち１つでも“０”が含まれる場合には中心を“０”とする処理を行う。遷移の結果Tとは、すなわち、このような処理による中心のフラグの値である。図６は、図５に示したオートマトン回路（A）による収縮処理の遷移の一例を示す図である。図６（ａ）は、例えば、収縮処理における遷移の一例を示す図である。図６（ａ）では、フラグ生成回路（FG）によって２値化された値が適切なアドレスのメモリ（MEM）に書き込まれている。例えば、瞳孔の位置にはフラグ“１”が、それ以外の位置にはフラグ“０”が書き込まれている。図中、斜線で示す画素が瞳孔の位置である場合には、その画素に対応するメモリ（MEM）にフラグ“１”が書き込まれる。図６（ａ）の画像がＮ行Ｍ列である場合には、Ｎクロックで１画素幅の円の外周がフラグ“０”に反転される。図６（ｂ）は、例えば、図６（ａ）に示した収縮処理の遷移の後、さらに遷移を繰り返した場合の一例を示す図である。図６（ｂ）においても図６（ａ）の場合と同様に、Ｎクロックで、さらに１画素幅の円の外周がフラグ“０”に反転される。このようにして、収縮処理では、瞳孔などの円形画像が外周から順次、１画素の幅で削り取られ（“０”に反転していき）、徐々に縮小されることになる。図６（ｃ）は、円形画像が外周から１画素の幅で順次、縮小され、円の中心となる最後の１画素が残った場合の一例を示す図である。同図に置いて円で囲まれた画素が消去点（中心）である。
【００２５】
４．の射影線生成回路（PG）４０２は、処理対象の画素のフラグの、X軸とY軸への射影像を生成する。これは、瞳孔の中心（“１”の画素）のX軸座標とY軸座標をそれぞれ算出する、つまり、“１”の位置（X軸座標とY軸座標）を検出するためである。図７（ａ）は、X軸への射影線生成回路（PG）の回路構成の一例を示す図である。X軸への射影像Pxは、図７（ａ）のように処理部（PE）２０４による１列分のすべての行の処理の期間の、オートマトン回路（A）４０４の出力Tの論理和を順にとることで求めることができる。図７（ｂ）は、Y軸への射影線生成回路（PG）の回路構成の一例を示す図である。またY軸への射影像Pyは、図7（ｂ）のようにすべての列の処理部（PE）２０４のオートマトン回路（A）４０４の出力T0, T1, T2,…TN-1の論理和を、順に接続されるORゲートによって求めることによって求められる。
【００２６】
ここまでに述べた処理を順に行うために、受光回路（PIX）３０１の選択とフラグの生成、メモリ（MEM）の選択、拡大・収縮の処理、X軸・Y軸へのフラグの射影像からの消去点の検出と、その座標の生成をプライオリティ・エンコーダによって行う処理などを、全体の制御回路が制御する。
【００２７】
以上のように、ここまでに述べた、視線検出のための列並列構成Vision Chipアーキテクチャの大まかな性能の見積もりを、動作速度と解像度の観点から述べる。
【００２８】
Vision Chipを構成する画素の行または列の数をNとする。処理ステップ数の大半を占める収縮処理では、処理部（PE）２０４のオートマトンの１回の遷移によって円形領域の両側１画素分収縮するため、最大でN/2回の遷移が必要となる。この収縮処理が瞳孔とプルキニエ像の両者に対して必要であるため、最大でN回の遷移が必要となることになる。また１列分の処理部PEの処理はN行に対して順に行われる。これから、１フレーム分の視線検出に必要な瞳孔・プルキニエ像の座標の生成を行うための収縮処理には、N×N回のオートマトンAの遷移が必要となることになる。したがって視線検出・追尾のフレームレートをFとすると、処理部PEの動作クロック周波数fは次式によって求められる。
【００２９】
サッケードの検出・追尾のためにはフレームレートF=500[Hz]程度が必要である（非特許文献４参照。）ので、VGA解像度（640×480画素）を実現するためには、N=480としてf=F×N×N =115[MHz]程度のクロック周波数で動作する必要がある。この動作速度は、近年の0.35μm程度あるいはそれより微細なCMOSプロセスによって十分実現可能な速度であると考えられる。
【００３０】
１列分の回路の中で最も大きいのは処理部（PE）である。例えばCMPで利用できるaustriamicrosystems 0.35μm-optプロセスの論理ゲートのスタンダードセルの高さは20μm程度であり、このスタンダードセルを横に並べて処理部（PE）を作成すると、配線領域を含めて、１列分の幅はこの20μmよりもやや大きい25μm程度となると考えられる。またメモリMEMや受光回路PIXの幅は、この処理部PEの幅にあわせて設計することになる。したがってQVGA解像度（320×240画素）であれば全体の幅は25[μm]×240=6[mm]となり、この解像度は十分実現可能であると考えられる。またもう２世代微細な0.18μmプロセスを利用すれば、同一チップ面積でVGA解像度（640×480画素）も実現可能であると考えられる。このように、画像の抽象量を抽出するタイプのVision Chipとしては非常に高解像度なものが実現可能であると考えられる。
【００３１】
上記のように、本発明によれば、高解像度化のために列並列処理構成をとり、かつ、サッケード（急速眼球運動）の検出・追尾にも対応できる、高速な視線検出機能をもつVision Chipを得ることができた。大まかな見積もりの結果、十分実現可能な動作クロック周波数によってVGA解像度クラスの視線検出Vision Chipが実現可能である。
【００３２】
なお、上記実施の形態では、オートマトン回路（A）４０４によって瞳孔やプルキニエ像などの円の中心を検出する処理について説明したが、これは、画像処理の一例に過ぎず、本発明はこれに限定されない。本発明の撮像装置によれば、中心画素とその周辺４画素の値を用いて、例えば、画像の平滑化、エッジの検出などを行うことができる。例えば、画像の平滑化の場合には、周辺４画素の平均値を中心画素の値とすることにより実現することができる。また、エッジの検出の場合には、隣接する行間で行方向に対応する作業用メモリの値の差分を算出し、差分値が急激に変化した場合に行方向にエッジが存在することを判定することができる。列方向についても、隣接する列間で、列方向に対応する作業用メモリの値の差分を算出し、差分値が急激に変化した場合に列方向にエッジが存在することを判定することができる。これにより、車載カメラとして車線の検出などに用いることができるという効果がある。
【００３３】
（実施の形態２）
上記実施の形態１では、サッケードを利用したユーザインタフェースのための撮像装置について説明したが、本実施の形態２では、車載カメラに搭載され、車輌の進行方向を横切る障害物を検出するための撮像装置について説明する。従来では車載カメラで取り込んだ画像をソフトウェアで処理する。しかし、従来のやり方ではフレームレートや処理速度が制限されるため、車輌が低速で走行している場合にしか障害物を検知することができないという問題がある。
【００３４】
図８は、オプティカル・フロー演算機能を備える列並列処理アーキテクチャである撮像装置８００の１列分の回路構成を示す図である。
【００３５】
撮像装置８００は、方向別加算用メモリ（DM）８０１〜８０９、受光回路８１０、セレクタ（SEL）８１１、処理回路８１２、セレクタ（SEL）８１３、フレームメモリ（MEM）８１４、フレームメモリ（MEM）８１５、ブロック用メモリ（BM）８１６、ブロック用メモリ（BM）８２０、セレクタ（SEL）８３０及びセレクタ（SEL）８３１を備える。ブロック用メモリ８２０は、それぞれ1画素分の画素値を記憶するブロック用メモリ８２１〜８２９から構成される。ただし、ブロック用メモリ８２１〜８２３は、左隣の列に備えられる１列分のブロック用メモリであり、注目している当該列と左隣の列とで共有するメモリ資源である。また、ブロック用メモリ８２７〜８２９は、右隣の列に備えられる１列分のブロック用メモリであり、注目している当該列と右隣とで共有するメモリ資源である。
【００３６】
受光回路８１０は、行の各画素に相当する数のPDからなり、各PDは受光した光を、それぞれ１画素の画素値を表す電気量に変換する。
【００３７】
セレクタ８１３は、受光回路８１０で受光した各PDの画素値が、フレームごとに、各受光回路PDに対応付けてフレームメモリMEMに書き込まれるよう、フレームメモリ８１４、８１５の書き込みラインを選択する。フレームメモリ８１４とフレームメモリ８１５とには、フレームごとに新たな画像データが交互に書き込まれる。すなわち、セレクタ８１３は、フレームメモリ８１４に（ｔ−１）番目のフレームが書き込まれ、フレームメモリ８１５にｔ番目のフレームが書き込まれ、当該フレーム間の処理が終了した場合には、（ｔ−１）番目のフレームを書き込んだフレームメモリ８１４に次のフレームである（ｔ＋１）番目のフレームを書き込むように制御される。フレームメモリ８１５にｔ番目のフレームが書き込まれているときに、フレームメモリ８１４に（ｔ＋１）番目のフレームが書き込まれると、セレクタ８３０はフレームメモリ８１５からｔ番目のフレームの画素値がブロック用メモリ８１６に読み出されるようにフレームメモリ８１５の読み出し線を選択する。また、セレクタ８３１は、フレームメモリ８１４に（ｔ＋１）番目のフレームが書き込まれると、ブロック用メモリ８２４〜８２６に、フレームメモリ８１４から（ｔ＋１）番目のフレームの画素値が読み出されるようにフレームメモリ８１４の読み出し線を選択する。
【００３８】
フレームメモリ８１４、８１５は、「前記複数の受光回路から構成される現在のフレームと直前のフレームにおける前記電気量の値を保持する記憶容量を有する前記メモリ」の一例である。
【００３９】
フレームメモリ８１４は、行の各画素における画素値を記憶するための行の数に等しいメモリMEMからなり、直前のフレームである（ｔ−１）番目のフレームの1列分の画素値を記憶する。
【００４０】
フレームメモリ８１５は、フレームメモリ８１４と同数のメモリMEMからなり、現在のフレームであるｔ番目のフレームの1列分の画素値を記憶する。
【００４１】
ブロック用メモリ８１６は、フレームメモリ８１４の1つのMEMから読み出された、例えば、３行３列のブロックの中央の1画素の画素値を記憶する。
【００４２】
ブロック用メモリ８２０は、ｔ番目のフレームの例えば、３行３列のブロックの各画素値を記憶する３行３列のブロック用メモリBM８２１〜８２９から構成される。このうち、ブロック用メモリ８２４〜８２６は、受光回路８１０で受光された当該列のｔ番目フレームのうち、３行分の画素値を記憶する。ブロック用メモリ８２５は、ｔ番目のフレームにおいて、ブロック用メモリ８１６に画素値が記憶されている画素と同じ位置の画素値を記憶する。ブロック用メモリ８２１〜８２３は、それぞれ図示しない左隣の列のフレームメモリMEMに記憶されている左隣の列のｔ番目のフレームのうち、ブロック用メモリ８２４〜８２６に画素値が記憶されている各画素の左隣の画素の画素値を記憶する。ブロック用メモリ８２７〜８２９は、それぞれ図示しない右隣の列のフレームメモリMEMに記憶されている右隣の列のｔ番目のフレームのうち、ブロック用メモリ８２４〜８２６のそれぞれに画素値が記憶されている各画素の右隣の画素の画素値を記憶する。
【００４３】
すなわち、ブロック用メモリ８２１は、ｔ番目のフレームで、ブロック用メモリ８２５が画素値を記憶している画素（＝３行３列のブロックの中央の画素）に対して左上に位置する画素の画素値を記憶する。ブロック用メモリ８２２は、ｔ番目のフレームで、３行３列のブロックの中央の画素に対して左に位置する画素の画素値を記憶する。ブロック用メモリ８２３は、ｔ番目のフレームで、３行３列のブロックの中央の画素に対して左下に位置する画素の画素値を記憶する。
【００４４】
また、ブロック用メモリ８２４は、３行３列のブロックの中央の画素に対して真上に位置する画素の画素値を記憶する。ブロック用メモリ８２５は、ｔ番目のフレームで、３行３列のブロックの中央の画素の画素値を記憶する。ブロック用メモリBM８２６は、ｔ番目のフレームで、３行３列のブロックの中央の画素に対して真下に位置する画素の画素値を記憶する。
【００４５】
すなわち、ブロック用メモリ８２７は、ｔ番目のフレームで、３行３列のブロックの中央の画素に対して右上に位置する画素の画素値を記憶する。ブロック用メモリBM８２８は、ｔ番目のフレームで、３行３列のブロックの中央の画素に対して右に位置する画素の画素値を記憶する。ブロック用メモリ８２９は、ｔ番目のフレームで、３行３列のブロックの中央の画素に対して右下に位置する画素の画素値を記憶する。
【００４６】
処理回路８１２は、「前記方向別加算用メモリを作業用メモリとして用いながら、前記現在及び直前のフレームにおける電気量の値から、ブロックマッチング法によってオプティカルフローを算出する前記画像処理回路」および「オプティカルフローの方向を示す８方向または９方向について、Ｎ行Ｎ列（ただし、Ｎは３以上の自然数）の画素からなるブロックによるブロックマッチングを行うことで、前記画像の動きを示す方向として、前記８方向または前記９方向の１つを特定し、特定した方向を示す値を出力する前記画像処理回路」の一例である。この処理回路８１２は、受光回路８１０の列ごとに備えられ、隣接する列のフレームメモリ及びブロック用メモリなどから得られる値を参照して中心画素と隣接８画素とからなる画素のオプティカル・フロー演算を行う。
【００４７】
セレクタ８１１は、処理回路８１２から９ライン並列で入力される差分絶対値を加算するための方向別加算用メモリ８０１〜８０９の行を選択する。
【００４８】
方向別加算用メモリ８０１〜８０９は、「前記現在及び直前のフレームでの画像の動きを示すオプティカルフローを算出するための一時的な値を保持するための方向別加算用メモリ」の一例であり、静止位置も含めた９方向の探索を並列処理で行うために、１行につき９個の加算用メモリを３行分備える。各行の加算用メモリは、それぞれ上下のブロックの方向別の差分絶対値の和を記憶する。また、方向別加算用メモリ８０１は、ブロック用メモリ８１６に画素値が記憶されている直前フレームの画素値と、現在のフレームで直前フレームの画素と同位置にある画素の画素値との差分の絶対値を記憶し、順次加算するための記憶容量を有するメモリである。各行の方向別加算用メモリ８０２は、直前フレームの画素の画素値と、その右方向にある現在のフレーム画素の画素値との差分の絶対値を加算するための記憶容量を有するメモリである。
【００４９】
以上のように、撮像素子と処理回路とを結合することにより、高解像度でかつ高速な画像処理を実現することができるので、車輌と障害物とが両方とも高速で移動している場合でも、障害物を検知することが可能になる。
【００５０】
図９は、車輌と障害物とが両方とも所定の速度で移動している場合に、衝突前に停止できるよう障害物を検出するために必要な撮像装置８００のフレームレートを算出するための図である。
【００５１】
例えば、６０ｋｍ／ｈで走行中の車輌が、４０ｍ前方を２５ｋｍ／ｈで横切る自転車を検知する状況を想定する。この場合、車輌が自転車を検知してから停止するまでに要する停止距離は、空走距離１７ｍ＋制動距離２７ｍ＝４４ｍである。この場合、車輌が停止するまでの時間は、２．６４秒であり、車輌が停止するまでの２．６４秒間で２５ｋｍ／ｈの自転車は約２０ｍ進む。車載カメラの撮影範囲を車輌の前方４４ｍにおいて２０ｍの幅であるとすると、撮像装置８００に必要なフレームレートは２００fps(frame per second)である。
【００５２】
図１０は、撮像装置８００のオプティカル・フロー演算のために必要なブロックサイズ及びフレームレートを算出するための説明図である。
【００５３】
撮像装置８００の撮影画像をＶＧＡ（６４０×４８０画素）で考える。図に示すように、１画素の大きさは、２０ｍ÷６４０＝３１．２５（ｍｍ／pixel）となる。３×３画素のブロックの大きさは、９４（ｍｍ）×９４（ｍｍ）である。
【００５４】
撮像装置８００では、フレームレートが２００fpsの場合、５ｍｓに１回走査を行う。また、自転車は５ｍｓで３４．７ｍｍ進む。従って、自転車はフレームレートが２００fpsのとき、１走査で約１画素画面を動くことになる。従って、フレームレートを２００fpsとした場合、静止も含めて周囲９方向、静止を含めなければ周囲８方向に１画素分だけずらしたブロックを探索すればよいことになる。
【００５５】
従来、動き検出の方法としては、勾配法やブロックマッチング法が知られている。しかし、勾配法では、対応点の検索を行う必要がないために計算量は少なくて済むが、輝度値が急激に変化するところではオプティカル・フローの誤差が大きいこと、雑音に弱いというデメリットがある。
【００５６】
これに対し、ブロックマッチング法では、探索範囲を制限すればある程度低減することができるが、計算時間が膨大で、拡大・縮小・回転運動に弱いという問題がある。しかしながら、ブロックマッチング法では、計算が簡単であり、輝度値の急激に変化するところでもオプティカル・フローの誤差が小さく、雑音に強いというメリットがある。
【００５７】
従って、本発明ではブロックマッチング法を用いてオプティカル・フロー演算を行う。
図１１は、オプティカル・フローを説明する図である。オプティカル・フローとは、動画像における連続したフレーム間での濃度分布の移動をベクトルで表したものをいう。図１１（ａ）に示すように、前フレームで任意の位置にあったブロックが、現フレームのどの位置に移動したかを示すものである。具体的には、前フレームにあったブロックが、現フレーム上で元の位置からどの方向にどれだけ移動したかをベクトルで示したものである。例えば、図１１（ｂ）では、前フレームのブロックの中心を始点として、現フレームのブロックの中心までの移動方向及び移動量をベクトルで示している。
【００５８】
図１２は、オプティカル・フローの算出方法を説明する図である。ここでは、ブロックマッチング法を用いたオプティカル・フロー算出方法について説明する。図１２（ａ）は、（ｔ−１）番目のフレーム画像を示している。図１２（ｂ）は、ｔ番目のフレーム画像を示している。ブロックマッチング法では、ｔ番目のフレームの前フレームである（ｔ−１）番目の画像中の任意のブロックを参照ブロックとする。そして、図１２（ｂ）のように、現在のフレームであるｔ番目のフレームにおいて、同じパターンの画像を示すブロックを探索する方法である。前フレームのブロックと同じ画像を示すブロックが現フレームで見つかれば、前フレームのブロックが現フレームにおいて見つかった位置まで移動したものとして、移動量をベクトルであらわすことができる。
【００５９】
図１３は、本実施の形態のブロックマッチング法について説明する図である。本実施の形態２では、対象が１フレーム間で１画素しか動かないと仮定して、図１３（ａ）に示すように、参照ブロックから周囲８方向にそれぞれ１画素ずらした範囲を探索するものとする。図１３（ａ）では、破線で囲んだ３×３画素のブロックを参照ブロックとして、現フレームにおけるブロックの探索範囲を、前フレームにおける参照ブロックから周囲８方向にそれぞれ１画素ずらした５×５画素のブロック１２０１の範囲を探索する。
【００６０】
図１３（ｂ）は、（ｔ−１）番目のフレームにある参照ブロック１２０２と、ｔ番目のフレームの探索範囲内にある同じ大きさのブロック１２０３を示す図である。ｔ番目のフレームの探索範囲内で、参照ブロックがどの位置に移動したかを判定するには、参照ブロックと同じ大きさのブロックとで、同じ位置にある画素同士の輝度の差分の絶対値の総和をとる。すなわち、図１３（ｂ）の参照ブロック１２０２とｔ番目のフレームにあるブロック１２０３とで、同じ位置にある画素同士、すなわち、画素Ａ１と画素Ｂ１、画素Ａ２と画素Ｂ２、画素Ａ３と画素Ｂ３、・・・、画素Ａ９と画素Ｂ９のそれぞれの輝度の差分の絶対値の総和
【数１】
2008206143.tif 000003
を算出する。この輝度の差分の総和を、図１３（ａ）の参照ブロック１２０２を中心として、例えば、まず、一画素左上に位置する斜線のハッチングを施したブロック１２０３と参照ブロック１２０２とで、上記輝度差分の絶対値の総和を算出する。次に、ブロック１２０３を１画素だけ右にずらした位置、すなわち、参照ブロック１２０２の直上にある３行３列のブロックと差分の絶対値の総和を算出する。さらに、ｔ番目のフレームのブロック１２０３をさらに１画素右にずらしたブロックと参照ブロック１２０２との差分絶対値の総和を算出する。次に、参照ブロック１２０２の左に位置するｔ番目のフレームの３行３列のブロック１２０３と参照ブロック１２０２との差分絶対値の総和を算出する。さらに、参照ブロック１２０２とｔ番目のフレームで同じ位置にある３行３列のブロック１２０３との差分絶対値の総和を算出する。同様にして、つぎには、ｔ番目のフレームで参照ブロック１２０２の１画素だけ右に位置する３行３列のブロック１２０３と参照ブロック１２０２との差分絶対値の総和を算出し、さらに、ｔ番目のフレームで参照ブロック１２０２の左下に位置するブロックとの差分絶対値の総和、ｔ番目のフレームで参照ブロック１２０２の真下に位置するブロックとの差分絶対値の総和、ｔ番目のフレームで参照ブロック１２０２の右下に位置するブロック１２０３との差分絶対値の総和を算出する。
【００６１】
そして、ブロックマッチング法では、上記の９回の計算により算出された９個の差分絶対値の総和の中で、その総和が最小となるブロックに参照フレーム１２０２が動いたものと判断する。そして、参照ブロック１２０２から、輝度の差分の絶対値の総和が最小となるブロックへの方向を動きベクトルとする。
【００６２】
上記の演算を本発明の撮像装置８００では、列並列処理で行う。すなわち、処理回路８１２は、図８に示したように、画素の１列に１つ備えられているので、ブロックマッチングの処理を列ごとに行う。そして、行単位で上から順に処理を行う。
【００６３】
この場合、画素単位に処理回路を備えて画素単位で行う「画素並列処理」と比較すると、処理速度が画素並列処理よりも少し遅くなるが、画素並列処理では画素及び処理回路が大きくなるという弊害があるのに対し、列並列処理では撮像部と処理回路とを分離することが可能になるので画素数を増やしても処理回路はそれほど大きくならないというメリットがある。
【００６４】
図１４は、列並列処理のブロックマッチングの手順の一例を示す図である。図１４（ａ）は、同図左で（ｔ−１）番目のフレームの参照ブロックを構成する１画素を示し、同図右でその画素位置から周囲８方向に１画素ずつずれた位置にある画素を含んで構成されるｔ番目フレーム上のブロックを示している。図１４（ｂ）は、図１４（ａ）左で示した（ｔ−１）番目のフレームの画素から一行下の１画素を示し、同図右でその画素位置から周囲８方向に１画素ずつずれた位置にある画素を含んで構成されるｔ番目フレーム上のブロックを示している。図１４（ｃ）は、図１４（ｂ）左で示した（ｔ−１）番目のフレームの画素からさらに一行下の１画素を示し、同図右でその画素位置から周囲８方向に１画素ずつずれた位置にある画素を含んで構成されるｔ番目フレーム上のブロックを示している。図１４（ｄ）は、中央の列の処理回路が、図１４（ａ）、（ｂ）、（ｃ）の順で、（ｔ−１）番目のフレーム上の画素と、各図左に示したブロック内の各画素との画素値の差分絶対値の総和を算出することを示している。
【００６５】
図１４（ｄ）に示すように、ブロックマッチングの演算処理を行う列は中央の列の処理回路８１２である。図では説明しないが、この列と並行してそれぞれ隣接するすべての列に備えられる処理回路で同じ演算が同時に実行されていることが前提である。図８に示した方向別加算用メモリ８０１〜８０９は３行分あり、１行目の９方向の方向別加算用メモリ８０１〜８０９は、それぞれ、図１４（ａ）の画素に対する方向別の差分絶対値を記憶する。２行目の９方向の方向別加算用メモリ８０１〜８０９は、それぞれ、図１４（ｂ）の画素に対する方向別の差分絶対値を記憶する。３行目の９方向の方向別加算用メモリ８０１〜８０９は、それぞれ、図１４（ｃ）の画素に対する方向別の差分絶対値を記憶する。
【００６６】
これらに記憶されている３行分の方向別加算用メモリ８０１〜８０９に、右隣の列と左隣の列の方向別加算用メモリ８０１〜８０９の方向別差分絶対値を加算し、方向別で差分の絶対値の総和が最小となる方向を算出することによって、３行３列のブロックのブロックマッチングを行うことができる。
【００６７】
図１４（ａ）に示すように、処理回路８１２は、まず、同図左に示す画素と、同図右に示すブロックを構成する９画素とのそれぞれの画素値の差分絶対値の総和を算出する。図１４（ａ）、（ｂ）及び（ｃ）の左隣の列、右隣の列の各画素の画素値は、いずれも、隣の列と共有される。
【００６８】
各処理回路８１２が実行する１列分の演算回数は、画素数Ｘ×Ｙ、ブロックサイズＮ×Ｎとすると、
差分絶対値の計算回数      Ｎ2×Ｙ回
方向別加算用メモリ８０１〜８０９への加算回数    ９Ｎ2×Ｙ回
最小値を算出する回数      Ｙ回
となる。これに対し、動作可能なクロック周波数f[Hz]は、Ｆ[fps]をフレームレートとして
ｆ＝Ｆ×〔｛Ｎ2×Ｙ｝＋｛９Ｎ2×Ｙ｝＋Ｙ〕
＝Ｆ×Ｙ×１０Ｎ2[Hz]
となる。ここで、例えば、Ｆ＝２００[fps]、Ｙ＝４８０、Ｎ＝３のとき、
ｆ＝２００×４８０×１０×３2
≒８[MHz]
となり、一般的なＣＭＯＳ回路で実現可能であることが分かる。
【００６９】
なお、上記の説明では、フレーム間で静止している画素同士の画素値の差分の絶対値の総和も計算したが、直前フレームと現フレームとで同位置にある画素同士の画素値についての差分絶対値の計算を省略するとしてもよい。この場合、方向別加算用メモリの数も８個ですみ、探索方向の計算も８個で済むので、計算量もメモリ資源もともに節約することができる。
【００７０】
静止位置にある画素のマッチングを省略する場合には、各処理回路８１２が実行する１列分の演算回数は、画素数Ｘ×Ｙ、ブロックサイズＮ×Ｎとすると、
差分絶対値の計算回数      （Ｎ2−１）×Ｙ回
方向別加算用メモリ８０１〜８０９への加算回数    ８Ｎ2×Ｙ回
最小値を算出する回数      Ｙ回
となる。ここで、最小値を算出する場合に、７個の２値コンパレータを用いることによって、１クロックで一度に８方向の差分絶対値の総和の最小値を得ることができる。また、動作可能なクロック周波数f[Hz]は、Ｆ[fps]をフレームレートとして
ｆ＝Ｆ×〔｛（Ｎ2−１）×Ｙ｝＋｛８Ｎ2×Ｙ｝＋Ｙ〕
＝Ｆ×Ｙ×９Ｎ2[Hz]
となる。ここで、例えば、Ｆ＝２００[fps]、Ｙ＝４８０、Ｎ＝３のとき、クロック周波数f[Hz]は、
ｆ＝２００×４８０×９×３2
≒７[MHz]
ですみ、一般的なＣＭＯＳ回路で十分実現可能となる。
【００７１】
また、ここでは、３行３列の画素からなるブロックを探索の単位としたが、探索精度をより高めるために、例えば、５行５列の画素からなるブロックを探索の単位としてブロックマッチングを行うとしてもよい。この場合、ブロック用メモリが左右に一列ずつ増えることになるが、その分、処理精度か高くなる。また、それ以上の画素からなるブロック、例えば、Ｎ行Ｎ列（ただしＮは自然数）の画素からなるブロックを探索の単位としてブロックマッチングを行うとしてもよい。
【００７２】
図１５は、実際の画像を用いたシミュレーションの一例を示す図である。同図では、上記撮像装置８００で実際に動き検出が可能かどうかを調べるために、グレースケールのＶＧＡ静止画像を背景とした。各ブロックごとにどの方向へ動いたかを以下のように出力する。例えば、真下に動いた場合には、
【数２】
2008206143.tif 000004
のように、出力する。
【００７３】
同図では、ハッチングで示す直方体の上下の境界で、上記の出力が得られ、下方への動きが確認できた。この場合には、ハッチングで示す直方体は、実際の画像では黒一色である。このような場合には、背景の動きは検出されないので、階調が低くても検出可能である。
【００７４】
図１６は、実際の画像を用いたシミュレーションの他の例を示す図である。同図においてハッチングで示す直方体は、グレーである。この場合でも、直方体の左右の境界で動きが以下のように出力され、
【数３】
2008206143.tif 000005
直方体の右方向への移動が確認できた。この例では、右斜め上下の移動方向を示す動きが出力された場合もある。この理由は、斜めに移動した時のブロックの方が、参照ブロックと似ているということもありうるからである。また、動きを検出する対象物の輝度に階調がある場合には、階調数１６（４ｂｉｔ）以下では検出できないことが確認された。
【００７５】
なお、上記実施の形態２では、フレームメモリ８１４とフレームメモリ８１５とに、新たなフレームの画像データを交互に書き込むよう制御したが、本発明はこれに限定されない。例えば、フレームメモリ８１４には、常にフレームメモリ８１５に書き込まれるフレームに対して直前のフレームが書き込まれるように制御するとしてもよい。この場合、セレクタ８３０及びセレクタ８３１は不要になり、ブロック用メモリ８１６には常にフレームメモリ８１４の画素値を記憶させ、ブロック用メモリ８２４〜８２６には常にフレームメモリ８１５から読み出された画素値を記憶させるようにしてもよい。
【００７６】
なお、ブロック図（図１、図３、図５及び図８など）のブロックは典型的には集積回路であるＬＳＩとして実現され、個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。例えばメモリ以外の機能ブロックが１チップ化されても良い。
【産業上の利用可能性】
【００７７】
本発明は、サッケードを利用したユーザインタフェース等に適用できる。また、本発明は、撮影した画像に対して高速に高解像度で画像の平滑化及びエッジの検出を行う撮像装置に適用できる。さらに、本発明は車載用の移動障害物検知装置に適用できる。
【図面の簡単な説明】
【００７８】
【図１】画像処理回路を列ごとに配置する、いわゆる列並列構成をとる本実施の形態１の撮像装置の構成を示すブロック図である。
【図２】（ａ）は、眼球に赤外光を照射して赤外線カメラで撮影した画像の一例を示す図である。（ｂ）は、瞳孔とプルキニエ像との位置関係から、視線を求める方法を示す図である。
【図３】視線検出のための列並列処理アーキテクチャである撮像装置の１列分の構成を示す図である。
【図４】図１に示した受光回路（PIX）の回路構成を示すブロック図である。
【図５】図３に示した処理部（PE）のより詳細な構成を示す図である。
【図６】図５に示したオートマトン回路（A）による収縮処理の遷移の一例を示す図である。
【図７】（ａ）は、X軸への射影線生成回路（PG）の回路構成の一例を示す図である。（ｂ）は、Y軸への射影線生成回路（PG）の回路構成の一例を示す図である。
【図８】本実施の形態２のオプティカル・フロー演算機能を備える撮像装置の１列分の回路構成を示す図である。
【図９】車輌と障害物とが両方とも所定の速度で移動している場合に、衝突前に停止できるよう障害物を検出するために必要な撮像装置のフレームレートを算出するための図である。
【図１０】撮像装置のオプティカル・フロー演算のために必要なブロックサイズ及びフレームレートを算出するための説明図である。
【図１１】（ａ）は、前フレームで任意の位置にあったブロックが、現フレームのどの位置に移動したかを示す図である。（ｂ）は、前フレームのブロックの中心を始点として、現フレームのブロックの中心までの移動方向及び移動量をベクトルで示す図である。
【図１２】（ａ）は、（ｔ−１）番目のフレーム画像を示す図である。（ｂ）は、ｔ番目のフレーム画像を示す図である。
【図１３】（ａ）は、参照ブロックから周囲８方向にそれぞれ1画素ずらした範囲を探索することを示す図である。（ｂ）は、（ｔ−１）番目のフレームにある参照ブロック１２０２と、ｔ番目のフレームの探索範囲内にある同じ大きさのブロック１２０３を示す図である。
【図１４】（ａ）左は（ｔ−１）番目のフレームの参照ブロックを構成する１画素を示し、同図右はその画素位置から周囲８方向に１画素ずつずれた位置にある画素を含んで構成されるｔ番目フレーム上のブロックを示す図である。（ｂ）は、図１４（ａ）左で示した（ｔ−１）番目のフレームの画素から一行下の１画素を示し、同図右でその画素位置から周囲８方向に１画素ずつずれた位置にある画素を含んで構成されるｔ番目フレーム上のブロックを示す図である。（ｃ）は、図１４（ｂ）左で示した（ｔ−１）番目のフレームの画素からさらに一行下の１画素を示し、同図右でその画素位置から周囲８方向に１画素ずつずれた位置にある画素を含んで構成されるｔ番目フレーム上のブロックを示す図である。（ｄ）は、中央の列の処理回路が、図１４（ａ）、（ｂ）、（ｃ）の順で、（ｔ−１）番目のフレーム上の画素と、各図左に示したブロック内の各画素との画素値の差分絶対値の総和を算出することを示す図である。
【図１５】実際の画像を用いたシミュレーションの一例を示す図である。
【図１６】実際の画像を用いたシミュレーションの他の例を示す図である。
【符号の説明】
【００７９】
１０１  受光回路（PIX）
１０２  メモリ（MEM）
１０３  処理部
２０１  プルキニエ像
２０２  瞳孔
２０３  作業用メモリWM(i, j)、WM(i, j-1)、WM(i, j+1)
２０４  処理部（PE）
２０５  作業メモリWM(i-1, j), WM(i+1, j)
３０１  受光回路（PIX）
３０２  メモリ（MEM）
４０１  メモリアクセス制御回路（MC）
４０２  射影線生成回路（PG）
４０３  フラグ生成回路（FG）
４０４  オートマトン回路（A）
８００  撮像装置
８０１〜８０９  方向別加算用メモリ（DM）
８１０  受光回路
８１１、８１３、８３０、８３１  セレクタ（SEL）
８１２  処理回路
８１４、８１５  フレームメモリ（MEM）
８１６、８２０  ブロック用メモリ（BM）
【図１】
2008206143.tif 000006
【図２】
2008206143.tif 000007
【図３】
2008206143.tif 000008
【図４】
2008206143.tif 000009
【図５】
2008206143.tif 000010
【図６】
2008206143.tif 000011
【図７】
2008206143.tif 000012
【図８】
2008206143.tif 000013
【図９】
2008206143.tif 000014
【図１０】
2008206143.tif 000015
【図１１】
2008206143.tif 000016
【図１２】
2008206143.tif 000017
【図１３】
2008206143.tif 000018
【図１４】
2008206143.tif 000019
【図１５】
2008206143.tif 000020
【図１６】
2008206143.tif 000021