(57)【特許請求の範囲】
【請求項１】
動画データをフレームごとにデジタルデータとして抽出したデータを処理して、所望の加工データを得る並列処理システムであって、
動画を撮影する１個又は複数個の撮影部と、
当該撮影部が取得した画像情報をフレームごとにデジタルデータに変換するデータ変換部と、
当該フレームごとのデジタルデータをｎ個のデータ集合体に区分する信号変換部と、
当該信号変換部からのｎ個のデータ集合体を処理するデータ処理部と、
当該信号変換部及び当該データ処理部が連結されているルータと、を具備し、
当該データ処理部は、
区分されたｎ個のデータ集合体が割り当てられ、割り当てられたデータ集合体を同時並行処理して、所定の処理データを出力するｎ個のプロセッサと、
当該ルータを介して、ｎ個のプロセッサのそれぞれから出力されるｎ個の当該処理データを受け入れ、ｎ個の当該処理データを統合して全体処理を行って所望の加工データを出力する１個のマスタプロセッサと、からなり、
当該信号変換部は、画像の分割と、分割されたデータの各プロセッサへの分配を行う機能を有し、
当該ｎ個のプロセッサ及び当該マスタプロセッサは、
前記撮影部が１個の場合に、各プロセッサは各分割領域内での直線認識を行って処理データを出力し、マスタプロセッサは処理データを受け入れ、ｎ個の直線をクラスタ認識により統合して加工データを出力する機能を有するか、又は
前記撮影部が１個又は複数個である場合に、各プロセッサは各分割領域について前フレームにかかる分割領域画像からの射影変換行列を導出し、分割領域での参考画像の射影変換を行い、基準画像の射影変換データと比べて差分を求めて処理データを出力し、マスタプロセッサは処理データを受け入れ、ｎ個の射影変換結果を合成して、フレームにおける平面でない部分を障害物として認識して加工データを出力する機能を有する、
並列処理システム。
【請求項２】
前記撮影部が１個であり、
前記各プロセッサは、有限の時間差で撮られた２つの異なる２画像を利用して、２画像の一方を基準画像とし、他方を参考画像として、基準画像の射影変換データと比べて差分を求めて処理データを出力し、
前記マスタプロセッサは、処理データを受け入れ、ｎ個の射影変換結果を合成して、フレームにおける平面でない部分を障害物として認識して加工データを出力する機能を有する、請求項１に記載の並列処理システム。
【請求項３】
前記マスタプロセッサは、前記信号変換部のプロセッサを兼務する、請求項１又は２に記載の並行処理システム。
【請求項４】
さらに、前記データ処理部がデータを一時的に保存する一時保存部、および１又は複数のプロセッサに連結されている外部メモリを具備する、請求項１〜３のいずれかに記載の並列処理システム。
【請求項５】
前記プロセッサが、プロセッサ本体と、プロセッサメモリと、前記一時保存部に保存された一時保存用のデータを該プロセッサ本体及び該プロセッサメモリ又は前記外部メモリに移送するデータ移送部とを有する請求項４記載の並列処理システム。
【請求項６】
動画を撮影する撮影部と、
当該動画をフレームごとにデジタルデータに変換する画像変換部と、
請求項１〜５のいずれか１に記載の並行処理システムと、
当該並行処理システムからの所望の加工データに基づいて、駆動系又は制動系を制御するナビゲーション制御部と、を具備し、
前記マスタプロセッサは、
前記撮影部が１個である場合に、前記ｎ個の直線をクラスタ認識により統合して、車両から直線までの距離、車両の進行方向を加味して車両が直線に近接するか否かの算出、車両の進行速度を加味して直線に接触するまでの時間の計算、及びアラーム信号生成の決定を含む加工データを出力するか、又は
前記撮影部が１個又は複数個である場合に、フレームにおける平面でない部分を障害物として認識して、車両から障害物までの距離及び車両の進行方向を加味して、車両が障害物に近接するか否かを算出し、車両の進行速度を加味して障害物に接触するまでの時間を計算し、及びアラーム信号生成の決定を含む加工データを出力する、
車両走行システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画の解析を行うのに適した並列処理システム及びこの並列処理システムを用いた安全に車両を走行させるための車両走行システムに関するものである。
【背景技術】
【０００２】
車両を安全に走行させる等のための車両走行システムは種々提案されており、中でも動画情報を基に制御することはリアルタイムに車両の走行を制御でき好適であると考えられるため、種々提案されている（たとえば特許文献１又は２）。
【０００３】
このようなシステムが提案される背景としては、高齢化社会が進行するに伴い、自らの能力だけでは十分に車両を安全に走行させることができない運転者が増加しつつあることが挙げられる。また、車両には、通常の自動車の他電動車いす等もあり、車いすなどの車両は特に運転者の能力にかかわらずに安全に走行できるようにすることが、運転者が介護者を必要とせずに自立する観点からも求められている。
【０００４】
このような動画を基にした走行システムを実現するために、動画から必要な情報を抽出するための並列処理も種々提案されており、特に複数のプロセッサを用いてへ入れて並列処理を行うシステムがたとえば特許文献３等において提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−０１３０８１号公報
【特許文献２】特開２００８−０３３６１７号公報
【特許文献３】特開２００４−２８９６３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の並列処理システムでは、いまだに動画を連続的に処理して車両の走行に際して必要な情報を抽出できるほどの高速性がなく、また、上述の車両走行システムでは走行時における危険性を検知して安全に走行させる観点で十分ではなかった。
【０００７】
要するに、より高速な並列処理システムや、リアルタイムに走行時における危険性を検知して運転者に注意喚起する他、駆動系統を制御できる車両走行システムの開発が要望されているのが現状である。
【０００８】
したがって本発明の目的は、より高速に動画を処理して必要な情報を抽出することができる並列処理システム、及び当該並列処理システムを用いてリアルタイムな動画情報を基にして車両の走行を安全に行うことができる車両走行システムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明者らは上記課題を解消すべく鋭意検討した結果、データ処理を行う際にデータ処理を行うプロセッサ群とは別に統合処理を行うマスタプロセッサを用意することで上記目的を達成しうることを知見し、本発明を完成するに至った。
【００１０】
本発明は、以下の並列処理システムを提供する。
［１］大量のデータを処理して、所望の加工データを得る並列処理システムであって、
大量のデータをｎ個のデータ集合体に区分する信号変換部と、
当該信号変換部からのｎ個のデータ集合体を処理するデータ処理部と、
当該信号変換部及び当該データ処理部が連結されているルータと、を具備し、
当該データ処理部は、
区分されたｎ個のデータ集合体が割り当てられ、割り当てられたデータ集合体を同時並行処理して、所定の処理データを出力するｎ個のプロセッサと、
当該ルータを介して、ｎ個のプロセッサのそれぞれから出力されるｎ個の当該処理データを受け入れ、ｎ個の当該処理データを統合して全体処理を行って所望の加工データを出力する1個のマスタプロセッサと、からなる
並列処理システム。
【００１１】
ここで、「大量のデータ」とは動画データの各コマの画像データを意味し、例えば６４０×４８０、２５６色、３０fpsの動画データをフレームごとにデジタルデータとして抽出したデータ（約３０万バイト）が挙げられる。好ましくは３５０００バイト以上のデータである。
【００１２】
「所定の処理データ」とは、各コマの画像データから抽出される線や面の位置情報等のデータを意味する。
「所望の加工データ」とは、各コマの線や面の位置情報を元の画像データに統合して、例えば車両走行上の問題となる段差、ギャップあるいは障害物の存在などの走行危険性（危険因子）を示すデータ等を意味する。
［２］画像を撮影する撮影部と、前記撮像部が取得した画像情報を前記の大量のデータに変換するデータ変換部と、をさらに具備する、［１］記載の並列処理システム。
［３］前記画像は動画である、［２］記載の並列処理システム。
［４］前記マスタプロセッサは、前記信号変換部のプロセッサを兼務する、［１］〜［３］の何れかに記載の並行処理システム。
［５］さらに、前記データ処理部がデータを一時的に保存する一時保存部、および１又は複数のプロセッサに連結されている外部メモリを具備する、［１］〜［４］のいずれかに記載の並列処理システム。
［６］前記プロセッサが、プロセッサ本体と、プロセッサメモリと、前記一時保存部に保存された一時保存用のデータを該プロセッサ本体及び該プロセッサメモリ又は前記外部メモリに移送するデータ移送部とを有する［５］記載の並列処理システム。
［７］動画を撮影する撮影部と、当該動画を大量のデータに変換する画像変換部と、［１］記載の並行処理システムと、当該並行処理システムからの所望の加工データに基づいて、駆動系又は制動系を制御するナビゲーション制御部と、を具備する車両走行システム。
【発明の効果】
【００１３】
本発明の並列処理システムは、従来の並列処理よりもシンプルな回路構成をとり低発熱・低消費電力で、高速に動画を処理して必要な情報を抽出することができるものである。
また、本発明の車両走行システムは、動画情報を基にしてリアルタイムに車両の走行に必要な情報を抽出して、車両走行における危険性を認知することで車両の走行上必要な措置を取ることができるものであり、常に運行に神経を集中させておくことが不可能な運転者や十分な運転スキルのない運転者であっても車両を安全に運転できるようにすることができるものである。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の並列処理システムの１実施形態の概要を示す概略図である。
【図２】図２は、図１に示す並列処理システムで並列処理を行う際の処理する際の流れを示すフローシートである。
【図３】図３は、データ処理部における各プロセッサの処理の概要を示す概略図である。
【図４】図４は、画像処理の具体例を示す概略図である。
【図５】図５は、本発明の並列処理システムの他の実施形態を示す概略図である。
【図６】図６は、図１に示す実施形態の並列処理システムが車両走行システムとして組み込まれた電動車いすを示す斜視図である。
【図７】図７は、本発明の並列処理システムの他の実施形態の概要を示す概略図である。
【図８】図８は、図７に示す実施形態に用いられるプロセッサの構成を主として示す概略図である。
【図９】図９は、データ処理部のプロセッサのネットワーク構成の１実施形態の概要を示す概略図である
【符号の説明】
【００１５】
１：並列処理システム、１０：カメラ、２０：画像変換部、３０：信号変換部、４０：ルータ、５０：データ処理部、５１：ｎ個のプロセッサ、５２：マスタプロセッサ、１０１：ナビゲーション制御部
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態を説明するが、本発明はこれら実施形態に何ら制限されるものではない。
図１に示す本実施形態の並列処理システム１は、大量のデータを処理して、所望の加工データを得る並列処理システムであって、大量のデータをｎ個のデータ集合体に区分する信号変換部３０と、信号変換部３０からのｎ個のデータ集合体を処理するデータ処理部５０と、信号変換部３０及びデータ処理部５０が連結されているルータ４０と、を具備し、データ処理部５０は、区分されたｎ個のデータ集合体が割り当てられ、割り当てられたデータ集合体を同時並行処理して、所定の処理データを出力するｎ個のプロセッサ５１と、ルータ４０を介して、ｎ個のプロセッサのそれぞれから出力されるｎ個の処理データを受け入れ、ｎ個の当該処理データを統合して全体処理を行って所望の加工データを出力する１個のマスタプロセッサ５２と、からなる。
【００１７】
以下、さらに詳細に説明する。
本実施形態の並列処理システム１は、動画を処理するためのシステムであり、画像を撮影する撮影部としてのカメラ１０と、前記撮像部が取得した画像情報を前記の大量のデータに変換するデータ変換部２０とを具備している。カメラ１０としては通常公知のビデオカメラを特に制限なく使用することができる。
【００１８】
特に図示しないが、画像変換部２０は、カメラ１０からの画像データを一時保存するメモリと、当該メモリから順次移送される画像データをフレームごとのデジタルデータに変換又は分割して信号変換部に移送するプロセッサと、からなる。プロセッサにて処理を実行させるためのプログラムは、プロセッサ自体に実装させてもよいし、メモリに記憶させておいてもよい。
【００１９】
信号変換部３０は、画像変換部２０からのフレームごとの画像デジタルデータを所望の区分数に分割してｎ個のデータ集合体にすると共に、各データ集合体をそれぞれ信号に変換する装置部分であり、特に図示しないがプログラム内蔵プロセッサからなる。またデータを保持するためのメモリを設置することもできる。変換される信号としては、パケット信号等が挙げられる。
【００２０】
ルータ４０は、信号変換部３０からのデータをデータ処理部５０に移送すると共に、データ処理部を構成する各プロセッサ５１及び５２間でデータの流通を行うためのものであり、通常公知のルータシステムを特に制限なく使用することができる。
【００２１】
データ処理部５０は、分割されたデータ集合体の個数に対応するｎ個のプロセッサ５１とマスタプロセッサ５２とからなり、プロセッサ５１で各データ集合体のデータについて後述する処理を行う。マスタプロセッサ５２は、その結果得られた各処理データを受け入れてフレームに再構築して画面全体での情報として解析し、必要な情報を抽出する。プロセッサ５１とマスタプロセッサ５２とは、それぞれプログラムを実装したものとなっている。また、上記プロセッサとしては、通常公知のＬＳＩ等を特に制限なく用いることができる。
【００２２】
次に本実施形態の並列処理システムの使用方法及び処理手順について図２〜４を参照して説明する。
本実施形態の並列処理システムは、図２に示すように動画の処理を行う。
【００２３】
すなわち、撮影した動画をフレームごとのデータにする工程（工程１）、フレームごとの画像データをさらに複数の領域に区分して複数のデータとする工程(工程２)、各領域のデータを処理して必要な情報を抽出する工程（工程３）及び各領域で抽出したデータを再度まとめてフレームごとのデータに纏めると共にフレームごとのデータを動画のデータに取り纏めて、その中から必要な情報を抽出し、行動の判断基準として図１に示すナビゲーション制御部等の次工程を行う装置に提供する工程（工程４）を含む。
【００２４】
ここで、工程１は画像変換部２０が、工程２は信号変換部３０が、工程３はｎ個のプロセッサ５１が、工程４はマスタプロセッサ５２が行う。
ここで、本実施形態においては、信号変換部３０とマスタプロセッサ５２とを別のプロセッサにより構成しているため、パイプライン構造により高速の処理を行うことが可能となっている。
【００２５】
パイプライン構造について図３を参照して説明する。
すなわち、工程２（Image Decomposition & Distribution：画像分解及び分配）、工程３（Parallel Image Processing：並列画像処理）及び工程４（Data Collection & Alarm Signal Generation：データ収集及びアラーム信号生成）の３つの工程に対しての所要処理時間がすべて同じ時間Ｔであると仮定すると、１コマ（frame）を処理するのに３Ｔ時間かかることになる。
【００２６】
従来の方法では、図３（ａ）に示すように、工程２〜４を順次行う１コマの処理が完全に終了した後、次の工程２〜４を行う１コマの処理に入るため、図３（ｂ）に示すように、例えば４コマの処理には４（frames）×３Ｔで１２Ｔ時間かかることになる。
【００２７】
しかし、図３（ｃ）に示すように、信号変換部が最初の１コマ（第１コマ）の工程２を終了した時点で、プロセッサが第１コマの工程３を開始すると同時に信号変換部が次の１コマ（第２コマ）の工程２を開始する。プロセッサが第１コマの工程３を終了した時点で、マスタプロセッサが第１コマの工程４を開始すると同時に、プロセッサが第２コマの工程３を開始し、並行して信号変換部がさらに次の１コマ（第３コマ）の工程２を開始する。このように工程２が終了した時点で次の工程３への処理につながるようにプロセッサを分割しておくと、いわゆるパイプライン処理が可能となる。すなわち、本実施形態においては、工程３と工程４とを別々のプロセッサが担当することになるため、図３（ｂ）のような処理を行う必要がなく、図３（ｃ）のように、画像の分割（工程２）→分割された画像の処理（工程３）→分割された画像データの結合及び動画化並びに必要な情報の抽出（工程４）を順次並行して行うことができ、同じ４コマの処理に要する時間は６Ｔ時間となる。よって本発明の方法では、処理時間の短縮、迅速なデータ処理が可能である。
【００２８】
本実施形態の並列処理システムは、車両を安全に走行させるためのシステムであり、車に搭載されたカメラから撮影された動画データに基づいて段差やギャップなどの危険を認識し、駆動システムに制御信号を送るものである。
【００２９】
以下、具体的にいかなる処理を行うのか、特に工程３及び４に焦点を当てて説明するが、処理する画像が単独のカメラで得た単純なパターン抽出によるものである場合と、単独または複数（２つ）のカメラからの複数の画像を用いる場合とで処理方式が異なるため、分けて説明する。
【００３０】
＜単独カメラによる場合（単純なパターン抽出）＞
単独カメラによる画像解析では道路端や白線マーカーなど直線的な構造パターンの認識はできるが、より進んだ危険物・障害物の認識にまでは単独画像を用いる限り発展できない。また画面分割による並列処理手法では、道路端や路面白線がいくつかの画面に分割されてしまい、各分割画面では強い直線のサインとならずに、段差等を正常に認識しないという危惧もある。そこで、直線認識には画像データから直線パラメータを抽出し、そのパラメータが形成するすクラスタ認識を利用し、クラスタが強ければ（空間で集中度が高ければ）１つの長い直線であると認識するように処理を行う。
【００３１】
具体的には、図４を用いて説明する。図４に示すように、例えば一つの画像を−１−，−２−，−３−，−４−の４つに分解した場合、工程３では４つに分割された各領域をそれぞれ一つのプロセッサで処理することになる。その際、図中直線（ａ）は分割領域−１−、−２−、−４−で１つのクラスタを作る。そのため、各クラスタはそれぞれの分割領域を処理するプロセッサにより、それぞれクラスタ（直線のHough 変換により形成される）として認識される。ここでHough変換は通常公知の手法を特に制限なく用いて実施される。
【００３２】
例えば、画像データ内で、あるパターンに配置された位置（画像データ内における任意の線画）情報（ｘ０、ｙ０）、（ｘ１、ｙ１）、（ｘ２、ｙ２）、・・・・（ｘｎ、ｙｎ）がある直線上にラフに並んでいれば、このラフに並んだ直線状のクラスタを含めてｙ＝ａｘ＋ｂで表すことができる。クラスタが強ければ、測定した（ｘ、ｙ）の集合が顕在化し、このクラスタに所属する点の数や分布から直線の長さを知ることができる。
【００３３】
そして、各領域のデータをマスタプロセッサにて統合すると、画像上に一つの直線として出現する。この直線は、そのまま直進すれば接触すると予想される危険因子を示す。
同じく直線（ｂ）も領域−１−と−３−とで１つのクラスタが作られ、同様の処理によりマスタプロセッサにて画像上の直線として認識される危険因子を示す。
【００３４】
ついで、直線として認識される危険因子が、カメラの位置情報（カメラの地上高とカメラ仰角とからカメラと直線との位置関係を計算により算出）に基づいて現実的にどの程度離れているか（何メートル離れているか）の評価を行うと共に、以前のフレーム群からの継続情報に基づき（連続するコマ間で標的となる直線が存在しているか、連続して存在するか、断続的に出現するか）、車両がこの直線として認識される危険因子に向かって進んでいるかどうかを認識する。そしてさらに、車両がいかなる速度で進んでいるかを合わせて計算し（コマ間のずれとコマ間の時間差から移動速度を把握）、所定時間以内（たとえば５秒以内）に車両が直線として認識される危険因子に接触すると判断した場合にはアラームを鳴らすように設定する。
【００３５】
例えば、連続するコマに進行方向に沿って出現する直線は、道路端と見なす。進行方向に対して直交する直線は、段差又は障害物、あるいは横断歩道などの道路面の模様と見なし、パターン検出及び明暗により判別する。判別できない直線は段差又は障害物などの危険因子と見なす。ここまでの処理をマスタプロセッサに行わせることができる。
【００３６】
以上をまとめると以下のようになる。
工程２：信号変換部３０が、画像の分割と、分割されたデータの各プロセッサへの分配を行う
工程３：各プロセッサが、各分割領域内での直線認識（Hough 変換によるクラスタ解析）を行う
工程４：マスタプロセッサが、クラスタ認識による直線の統合、車両から直線までの距離、車両の進行方向を加味して車両が直線に近接するか否かの算出、車両の進行速度を加味して直線に接触するまでの時間の計算、及びアラーム信号生成（駆動制御）の決定を行う
この使用方法は、計算量が少ないにもかかわらず、危険判断としての道路境界を的確に認識できる点で有利である。
＜複数画像を用いた処理（障害物検出）＞
２つのカメラを用いるステレオカメラでの障害物（突起物や窪み等の車両走行において障害となりうるもの全てを意味する）検出は簡単な幾何学応用で可能であり、それを発展させたステレオカメラ画像解析によるパターン認識も種々提案されている。本発明においてもそのような２つのカメラを用いた方法を用いることができる。なお、２つのカメラを用いずに単独のカメラの画像であっても、時差を利用して複数の画像を利用することとすれば、２つのカメラを用いた場合と同様に複数の画像を用いた処理を行うことができる。
【００３７】
例えば、以下の例をもって説明する。なお単独のカメラ利用の場合、有限の時間差で撮られた２つの異なる２画像を利用すれば以下の例で述べられたものと同じ原理をもって障害物検出が可能になる。射影変換はカメラの台数に関わらず同じ記述が適用できる。
【００３８】
２画像の一方を基準画像（base）とし、他方を参考画像（reference）とする。ここで、実空間におけるある特定の位置の２次元座標を基準画像でｐｂ、参考画像でｐｒとする。どちらも各画像でのｘ、ｙ座標と１を加えた３次元ベクトル（ｘ，ｙ，１）Ｔとして表される。そうすると射影変換でｐｒ＝Ｈｐｂと関係付けられる。ここにＨは３×３行列である。
【００３９】
一方の画面、例えば参考画像を行列Ｈを用いて射影変換させ、これと基準画像を較べて、差分を導出する。ここまでは上記工程３にかかる部分であり、プロセッサ５１が各分割領域の画像データについて行う。
【００４０】
次いで、画像が平面であれば、それらは一致することが知られているので、この理論を応用して、この一致度（完全に一致していなくても誤差範囲内であれば平面と認識）に基づいて平面と平面でない部分とを分類し、平面でない部分、すなわち壁や段差、突起物等を、進行方向を遮る障害物として認識する（平面認識）。平面認識は、基準画面を射影変換して作られる参照画面と、オリジナルの参照画面データの絶対値の比較を統計的に行い、平均値を０として、平均値からの差分が閾値以内の部分を基準面と同じ平面とみなし、平均値からの差分が閾値を超えている部分を非平面、すなわち段差や障害物が存在する領域とみなす。また、平均値からの差分が閾値を超えているが、同程度の差分が集中して分布している領域は、基準面とは異なる平面と見なす。閾値の設定は対象ごとに最適化される。これは上記工程４にかかる部分であり、プロセッサ５２が行う。
【００４１】
具体的には以下のように工程２〜４を行う。
工程２：信号変換部３０が、画像の分割と、分割されたデータの各プロセッサへの分配を行う
工程３：各プロセッサが、各分割領域について前フレームにかかる分割領域画像からの射影変換行列Ｈを導出（更新）し、分割領域での参考画像の射影変換を行い、基準画像の射影変換データと比べて差分を求める
工程４：マスタプロセッサが、工程３での射影変換結果（差分を含む）を合成してフレームにおける平面でない部分を障害物として認識し、車両から障害物までの距離及び車両の進行方向を加味して、車両が障害物に近接するか否かを算出し、車両の進行速度を加味して障害物に接触するまでの時間を計算し、最終にアラーム信号生成（駆動制御）の決定を行う
この使用方法では、原理的に３次元空間で走行可能な平面を推定するため、天候変化、例えば晴天、曇天の違いによる画像の明るさの違いや影の影響を排除でき、確実で安定した空間認識が可能となる。
【００４２】
以上のように、本発明の並列処理システムを用いて動画の並列処理を行うことにより、動画の各フレームに分解した場合における各画像データをさらに分解して複数の領域にして、各領域について詳細に分析することができるため、画像中の段差や非平面形状に関する情報を効率的に抽出することができる。しかも、マスタプロセッサが各分割領域におけるデータを統合してフレームごとの画像におけるデータとして把握すると共に、各フレームのデータを経時的に並べたうえで、段差や非平面形状などの危険因子に関する上記情報を動画として把握して、車両の進行状況と照らして危険性を把握し、アラームの要否も判断する。
【００４３】
このため大量の動画データであっても迅速に処理でき、リアルタイムに車両走行上の危険性を把握し、運転者に通知する等の処理を行うことができる。
次に図５を参照して、本発明の並列処理システムの他の実施形態について説明する。なお、以下の説明においては上述の図１に示すシステムと異なる点を中心に説明する。図面の符号は上述の実施形態と同じ符号を用い、特に説明しない点については上述の実施形態における説明が適宜適用される。
【００４４】
本実施形態の並列処理システムは、マスタプロセッサ５２が、信号変換部のプロセッサ３０を兼務する点で図１に示す実施形態とは異なる。
すなわち、マスタプロセッサ５２は、画像変換部２０に連結されており、フレームごとの画像データをさらに複数の領域に区分して複数のデータに分割できるようになされている。そして、区分された複数のデータは、ルータ４０を介して各プロセッサ５１に移送されて処理された後、最終にマスタプロセッサ５２に送られて、各領域で抽出したデータを再度まとめてフレームごとのデータに纏めると共に、フレームごとのデータを動画のデータに取り纏めてその中から必要な情報を抽出し、行動の判断基準として図１に示すナビゲーション制御部等の次工程を行う装置に提供する工程（工程４）を行うようになされている。
【００４５】
本実施形態においては、工程２はマスタプロセッサ５２が、工程３はｎ個のプロセッサ５１が、工程４はマスタプロセッサ５２が行うことになる。
このように構成した場合にはシステムの簡素化が可能であり、装置の小型化の観点から有利である。
【００４６】
次に、図６を参照して本発明の車両走行システムについて説明する。
図６に示す車両走行システムは、車いす１００に搭載されたシステムであり、車いす１００は、動画を撮影する撮影部としてのカメラ１０と、動画を大量のデータに変換する画像変換部２０と、上述の本発明の並行処理システム１と、並行処理システム１からの所望の加工データに基づいて、駆動系又は制動系を制御するナビゲーション制御部１０１と、を具備する。
【００４７】
本実施形態の車いす１００は電動車いすである。まず、従来の車いすと同様に構成されている点を説明する。
車いす１００は、背もたれ部分を有する椅子本体１１０と、椅子本体１１０の左右両側に設けられた一対の大径の駆動用車輪１２０と、椅子本体１１０の前方に位置しシャフトを介して設けられ、椅子の安定性や走行方向の決定を担う小径車輪１３０と、駆動用車輪に連結されたモーターからなる駆動用装置１４０と、駆動用装置１４０に電力を供給するバッテリー１５０と、走行制御を行うためのコントローラ１６０とを具備している。
【００４８】
そして、本実施形態の車いす１００は、走行を安全に行うためのシステムとして上述の本発明の並行処理システム１を組み込んだ車両走行システムを具備する。
すなわち、椅子本体の前方左右両側にカメラ１０が設置されており、椅子本体の下側に２つのボックスが設置されている。一方はカメラからの動画情報を一旦記憶しておくためのメモリと情報を処理するプロセッサ（いずれも図示せず）が格納された画像変換部２０であり、他方は上述の信号変換部、データ処理部及びルータが格納された並列処理システム１である。そしてカメラ１０と画像変換部２０を含む並列処理システムとは有線又は無線にて信号の送受信が可能となるように連結されている。
【００４９】
またコントローラ１６０の下にはナビゲーション制御部１０１が設けられており、並列処理システムとナビゲーション制御部とは有線又は無線にて信号の送受信が可能となるように連結されている。
【００５０】
ナビゲーション制御部１０１は、公知のアラーム発信機を設けてあり、並列処理システムから「危険、アラームを発信すべき」という信号を受け取った段階で、アラームを発信できるようになされている。その他、プロセッサを設置しておき、危険を認識する信号を受け取った場合に駆動用車輪１２０にブレーキをかけるように指示する、駆動装置に減速を指示する等、種々駆動系統に指示をだせるようにしておくこともできる。
【００５１】
これら１０、２０あるいは１０１の車椅子内での設置箇所は図６にあるものが最終的なものではない。車椅子の構造は製造元により大きく異なり、また利用者の運行形態もさまざまである。設置場所にとらわれないカメラ固定法・治具、また１０１のパッケージングを考慮しなければならない。
【００５２】
このように構成された本実施形態の車両走行システムを具備する車いすは、車両走行システムがリアルタイムに危険性を認識して運転者に警告したり、自動的に減速したりする等、走行制御の補助を行うため、運転者の運転技術や注意力を補って、より安全な車両走行を実現することができる。
【００５３】
次に、本発明の並列処理システムの別の実施形態について図７及び８を参照して説明する。
なお、以下の説明においては、上述した実施形態と異なる点を中心に説明する。上述の実施形態と同じに構成されている部分には同じ番号を付し、特に説明しない点については上述の実施形態における説明が適宜適用される。
【００５４】
図７に示す形態の並列処理システム２０１は、信号変換部３０とルータ４０との間に、信号変換部３０で画像データから変換された信号を一時的に蓄積して、適宜データ処理部２５０に移送することで、データ処理部２５０がデータを一時的に保存しておくために使用できる一時保存部２６０を具備する。また、データ処理部２５０内の１個以上のプロセッサ２５１は、外部メモリ２７０に直結されている。そのため、プロセッサ２５１は外部メモリへのアクセスインターフェース２５１−３（図８）を具備する。データ処理部２５０のなかでマスタプロセッサであるプロセッサ２５１の数は、図７に示すようにカメラの数に等しくすることができる。プロセッサ２５２の数は、データ処理効率を考慮して適宜決定され、特に制限されない。
【００５５】
一時保存部２６０は、データ処理部２５０及び信号変換部３０から送信されるデータを一時的に保持するための装置である。一時保存部２６０は、データ処理部２５０における各プロセッサ２５１、２５２のメモリの一部として扱うことができ、DMA（Direct Memory Access）と呼ばれるメモリ−メモリ間直接データ転送を用いてアクセスすることができる。
【００５６】
外部メモリ２７０は、データ処理部２５０のデータを一時的に保持するための装置である。外部メモリ２７０は、プロセッサ２５１、２５２（２５１はマスタプロセッサ）のメモリの一部として扱うことができ、DMA（Direct Memory Access）と呼ばれるメモリ−メモリ間直接データ転送を用いてアクセスすることができる。
【００５７】
外部メモリ２７０としては、一般のコンピュータなどに使用される半導体のメモリを用いることができる。外部メモリは、後述するプロセッサメモリにくらべ、非常に高容量であることから、これまで動画像データ等を扱うには不十分な容量だったメモリ空間を大幅に拡張して十分な処理を実現することができる。なお、この外部メモリ２７０は、複数のプロセッサによりアクセスされる可能性があることから、バスアービタ（バス利用調停システム、図示せず）を内蔵しているのが好ましい。
【００５８】
また、図７に示す形態において使用されるプロセッサは、図８に示すように構成することができる。なお、かかる構成のプロセッサは、上述の図１に示す形態の並列処理システムにも好適に適用できる。またプロセッサ２５１を例示して説明するが、プロセッサ２５２でも同様である。ただし、プロセッサ２５２ではカメラよりのデータ入力の必要がないので、必要に応じて後述するインターフェース２５１−４を具備していない構成とすることができる。
【００５９】
図８に示す形態では、プロセッサ２５１（２５２）が、プロセッサ本体２５１−１と、プロセッサ内部メモリ２５１−２と、外部メモリ２７０へのアクセスインターフェース２５１−３とを有する。
【００６０】
さらに詳述すると、プロセッサ２５１は、処理全般を実行するプロセッサ本体２５１−１、プロセッサに画像データを直接アクセスさせるためのインターフェース２５１−４、内部記憶装置であるプロセッサ内部メモリ２５１−２、プロセッサから直接外部メモリ２７０にアクセスしデータを移送する外部メモリへのアクセスインターフェース２５１−３からなる。
【００６１】
各プロセッサは、このようにプロセッサ本体２５１−１とプロセッサメモリ２５１−２とを個別に有しているため、それぞれ単体で動作させることが可能である。またさらに、各プロセッサは、それぞれに４本の外部リンクインターフェースを内蔵している（図示せず）ため、複数のプロセッサを連結することも可能である。これにより、ネットワークを構成し、使用用途に応じて構成とすることが可能である。
【００６２】
ネットワークの一例として図９にメッシュ構造を示す。この構造では、ルーター５１ａに４つのプロセッサグループ５１ｇが連結されている。そして各プロセッサグループ５１ｇは、それぞれ４つのプロセッサ５１ｂからなり、各プロセッサ５１ｂはそれぞれ連結されて相互にデータの送受信が可能になっている。ネットワーク構造としては、他にパイプライン構造やツリー構造を採用することも可能である。このような構造を採用しても、データの送受信以外の情報については共有しないようにすることで、各プロセッサの独立性を保ちつつ高速な並列処理を行うことができる。
【００６３】
このように一時保存部２６０を設け、プロセッサ２５１のメモリの一部として用いることができるようにし、既存の命令「move」（メモリ間のコピー）を用いて、プロセッサ２５１が外部メモリ２７０に画像データを送ることができるようにし、さらにそこにプロセッサ２５２がアクセスできるように構成したことにより、プロセッサがカメラから送られてくる動画像を効率的に取得し処理できる。従来の構成では、外部メモリなしにカメラの動画像が非圧縮のデータで送られてくるので、ルータを入れたとしてもネットワークを介して各プロセッサに配分するにはデータ量が大容量すぎて、効率が悪すぎたが、一時保存部２６０と外部メモリ２７０とをこのようにプロセッサが「move」命令でDMA転送させることができるように構成したことにより、従来の構成での問題点を解消することができる。
【００６４】
なお、この例では一時保存部２６０を有するのはプロセッサ２５１だけであるもので説明したが、これに制限されず、すべてのプロセッサを、一時保存部２６０およびそのアクセスインターフェース２５１−４を有するもので構成することもできる。
【００６５】
ついで、このように構成された並列処理システムでの処理方法について説明する。ここでも上述の実施形態と異なる部分を中心に説明する。特に詳述しない点については上述の実施形態における説明が適宜適用される。
【００６６】
まず、カメラ１０からの信号（clock、同期信号、データ）を所定のプロトコルで画像変換部２０、信号変換部３０を介してプロセッサに送る。プロトコルとしてはＣＩＳ社の商品名「ＶＣＣ-Ｇ２１Ｖ３１ＣＬ」等の市販品を用いることができる。そして、信号変換部３０で各種同期信号（垂直同期信号、水平同期信号、データ同期信号）から有効データを判断することができるようになっている。
【００６７】
次に信号変換部３０が、画像変換部２０から送られてくる信号を解析し、一時保存部２６０にバッファリングする。この際、初期状態の時にＦＶＡＬ信号を受けて遷移状態となり、当該遷移状態で画像データを取得して動作する。そして取得する同期信号により現在転送されてきているデータが有効であると判断されたら、アドレスを１加算し、順に一時保存部２６０に書き込む。これにより、カメラからは常に最新のフレームのみが保持されることになる。
【００６８】
本実施形態では、使用したカメラの画像サイズは６４８×４９４ピクセルであり、１ピクセルあたり８ｂｙｔｅのデータ量であるため、１回の遷移状態で３２０１１２ｂｙｔｅの有効データを取得し、一時保存部２６０にバッファリングすることになるため、一時保存部２６０のサイズも３２０１１２ｂｙｔｅで設計してある。また、信号変換部３０からの書き込みとプロセッサからの読み込みを同時に行うのが好ましい。
【００６９】
そして一時保存部２６０に保存されたデータは、インターフェース２５１−４を介してプロセッサ２５１内に送られる（図８参照）。このインターフェース２５１−４は、プロセッサ２５１に送られてきたアドレスを一時保存部２６０用に変換し、逆に一時保存部２６０から読み込んだデータをプロセッサ本体２５１−１のデータバス幅（３２ｂｉｔ）に拡張する。これによりプロセッサ本体２５１−１のアドレスで一時保存部２６０にアクセスし、読み込んだデータをプロセッサ本体２５１のデータバスに流すことができる。
【００７０】
そしてデータをプロセッサ本体２５１に送り、動画像のフレームの取得を行うが、その際に一時保存部が次のフレームに上書きされてしまうという状況が生じうる。これは信号変換部３０から送られるデータ量に対してプロセッサ本体の動作速度が遅い場合があるためである。このため、現在取得中のフレームでカメラからの動画像フレームの取得を一時停止すると共にアクセスが終了するタイミングでフレーム取得を再開することができるように一時保存部を制御できるようにすることが好ましい。
【００７１】
次に取得した動画像に処理を加えるために、１枚〜数枚のフレームをプロセッサメモリ内に保持しておくが、大量のデータはプロセッサメモリに蓄積することはできない。このため、優先順位の高いデータはプロセッサメモリ２５１−２に蓄積しておき、プロセッサメモリ２５１−２に蓄積しきれないデータはメモリを拡張する外部メモリ２７０に優先順位をつけて蓄積しておく。この際、インターフェース２５１−４と同様にデータの変換能力を有するインターフェース２５１−３を介してデータの移送を行うことにより一時保存部で生じるのと同様の問題を解消している。
【００７２】
外部メモリは、一般のコンピュータなどに使用される半導体メモリの規格の一つであるDDR2-SDRAM(Double-Data-Rate2 Synchronous Dynamic Random Access Memory)を好ましく用いることができる。コンデンサに電荷を蓄えることにより情報を記憶する揮発性メモリであるため、一時的な作業記憶に用いられる。
【００７３】
なお、本発明は上述の実施形態に何ら制限されるものではなく、本発明の趣旨を逸脱しない範囲で種々変更可能である。
たとえば、上述の車両走行システムは車いすを例示して説明したが、この他通常の自動車や、自動二輪車、自転車等種々の車両に適用可能である。また、車両走行システムにおいて、撮像した動画を表示するためのモニタを適宜位置に設置してもよい。
【図６】
0006025095.tif 000002
【図７】
0006025095.tif 000003
【図８】
0006025095.tif 000004
【図９】
0006025095.tif 000005
【図１】
0006025095.tif 000006
【図２】
0006025095.tif 000007
【図３】
0006025095.tif 000008
【図４】
0006025095.tif 000009
【図５】
0006025095.tif 000010