NECエレクトロニクスが2008年10月半ばに発表した自動車向け画像認識プロセッサ「IMAPCAR2」シリーズの位置づけを考えてみよう。

このチップは、前方を走るクルマや歩行者を見つけ、衝突しないように制御するための安全対策用のチップである。第1世代のIMAPCARの売れ行きはどうだったか。年間でせいぜい1000台のクルマに搭載されただけにすぎなかった。IMAPCAR1はトヨタ自動車のレクサスといった高級車を狙ったために、半導体チップの数としては無視できるほど少ない数量しか出荷されず、売り上げにはほとんど貢献していない。ならば、ということで、満を持して投入したのが今回発表のあった第2世代品である。

NECエレクトロニクスは車載用半導体製品が売り上げの17%を占めるほどカーエレクトロニクスには力を入れている。車載製品として売り上げに貢献している製品にはマイコンとディスクリート(トランジスタやダイオード単体の個別半導体製品)に集中していた。

NECエレクトロニクスのリーダー、金子博昭自動車システム事業部長

マイコンは世界第3位を占めるとNECエレクトロニクスのマイクロコンピュータ事業本部自動車システム事業部長の金子博昭氏は語る。IMAPCARで見られるようにSoCなどのシステムLSIは無視できるほど小さい。

では、IMAPCARという画像認識プロセッサで今後、車載用半導体として成長が期待できるのか。これに対して、「これまでのクルマではCMOSセンサなどのカメラは画像を人間が見るだけの機能しか持っていなかった。これからはカメラからの画像データをセンシング処理・制御することで、より安全なクルマを目指す」のだと、金子事業部長は主張する。

確かに、CMOSセンサは前方のクルマを検出したり、バックモニタで後ろの様子を映し出したりするような用途が多い。人間が人間の目で判断するのでは、万が一、眠ってしまったら衝突してしまう。

画像認識技術をドライバの支援に応用する技術は多いと同氏は考える。歩行者認識、ナイトビジョン、先行車接近警報、渋滞追従、標識認識、居眠り検知、車線逸脱警報、ハイビームアシスト、駐車支援などがある。

画像処理技術の運転支援への応用例

このうち、最近有名な駐車支援技術は、日産自動車のエルグランドに採用されているアラウンドビューモニタだ。クルマを駐車させるのにまるで10mもの上からクルマを見ている画面を見ながら駐車させようというヤツだ。これはカメラを前方、右側、左側、後方の4カ所に4台置き、それぞれのカメラから地面を見ている角度を上の方へ投影させて、逆に上から見ているように計算し直し、画像処理して見せている。すなわちカメラからの画像データを処理して新たに画像を合成して作りなおすという作業をしているわけだ。

NECエレクトロニクスでは今後、画像処理や画像認識を利用する運転支援システムの開発が活発になるとみている。しかも運転支援という分野は、安全だけではなく、渋滞情報というクルマの環境・省エネにもつながる。さらに駐車支援は利便性を上げる。

同社の自動車用SoCへの取り組みが他社と最も違う点は、認識処理をすべてソフトウェアだけで行うことだ。専用のハードウェア回路や、汎用プロセッサと専用のハードウェアとの組み合わせではない。すべてソフトウェアで処理すれば、認識すべき対象が変わったり、処理機能が追加されたりするような場合でも短期間で開発できるという柔軟性がある。今回は、プロセッサを画像認識専用に改造・工夫し、ソフトウェアの変更で処理の変更に対応できるようにした。

CMOSセンサからの画像データを認識、処理するためには、33ms以内で1枚の画像を合成しなければならない。画像データはデジタルデータとしては膨大な量であるため、それをほぼリアルタイムという短時間で処理するためには高速情報処理技術が欠かせない。画像処理装置には、フィルタ処理、線分抽出処理、パターン比較参照処理という3段階の処理を毎秒30枚の画像にわたってしなければならない。

こういったコンピュータ処理として並列処理技術を使う。マルチコアは典型的な並列処理技術だ。第1世代のIMAPCAR1では128個のプロセッサコアをSIMD(命令で複数のデータを処理する方法)手法で並列動作させた。今回の第2世代では、性能をさらに上げるため、複数のタスクを同時に実行できるマルチプロセッサモードを追加し、さらに同時に実行する命令の数を従来の4命令から5命令に増やしたり、プロセッサコア部分の処理単位を8ビットから16ビットに拡大したりするなど、細かい改良もとりいれた。

走っているクルマを検出する処理では例えば、以下の図のようなクルマの前方に乗用車とそのさらに前方にトラック、隣の車線にはトラックというクルマを検出する例では、従来のSIMDアーキテクチャだとすべて同じプロセッサエレメントを同時に並列処理で扱うため、1回目の並列処理で遠い前方のトラックを検出し、2回目の並列処理で前方の乗用車を、3回目の並列処理で隣のトラックをそれぞれ検出していた。これに対して今回は同じプロセッサユニットを使いながらも、それぞれのクルマのパターンをまず全体の並列処理で見つけ、それぞれのクルマに対してそれぞれのプロセッサエレメントで画像処理を行う。第1世代プロセッサよりも正確に速く認識するため浮動小数点演算プロセッサも加えた。

複数のタスクを同時実行できるマルチプロセッサモード

さらに細かい技術では、1個のプロセッサエレメントとRAMとのバンド幅を8倍に広げデータ転送能力を上げた。プロセッサエレメント同士のやり取りもできるようなプロセッサ間通信を強化した。このような手法を用いることで性能的には約3倍向上した。

NECエレクトロニクスでは、性能を上げるだけでなく、このアーキテクチャをベースに下位展開を図り、4品種を開発した。最高性能のIMAPCAR2-300は270GOPS(giga operations per second)、IMAPCAR2-200は170GOPS、IMAPCAR2-100が84GOPS(第1世代相当)、IMAPCAR2-50は42GOPSの性能までそろえた。

第1世代相当品でサンプル価格は第1世代品の1/5と低価格化を図っている。高性能品は、歩行者を物体ではなく人として認識できる。最も安価な製品でさえ、先行車認識とレーン逸脱警報はできる。それらの中間に位置するIMAPCAR2-100はナイトビジョン、同200はナイトビジョンと標識認識の両方が可能である。製造プロセスは、同300が設計を先行して行ってきたため90nmだが、残りの3品種は最先端の55nmプロセスで製造する。

NECエレクトロニクスは、最高級車種からミッドレンジ、ローエンド車種に至るまで、物体認識プロセッサを搭載することで、自動車用SoCの売り上げ拡大を図っていく予定だ。