Analog Devices(ADI)は、同社の固定小数点DSP「Blackfin」として、高性能マルチコア製品の次世代ファミリ「ADSP-BF60x」4製品を発表した。

4品種は、コンピュータビジョンの処理向けにPVP(Pipelined Vison Proccessor)アクセラレータを搭載した「ADSP-BF608/609」および、PVPを非搭載の「ADSP-BF606/607」で構成されている。PVPを活用することで、同時に最大5つの画像アルゴリズムを処理できるため、例えば自動車分野では「前方衝突への警報/回避」、「歩行者検知」、「インテリジェントハイビーム制御」、「交通標識の認識」、「車線離脱警報/車線維持支援」といった機能を同時実行することが可能となる。

Blackfinシリーズのロードマップ。BF60xファミリは高性能マルチコアシリーズの次世代ファミリとなる

Blackfinコアは500MHz動作が2つ、最大HD画像を処理するために各コアのL1 SRAMとして148KB、L2 SRAMに256KB(BF606のみ128KB)の合計552KBのSRAMおよびバスの広帯域化を実現する新開発のシステムクロスバとDMAサブシステムを搭載。メモリはDDR2/LPDDR1、ならびにSD/SDIOなどに対応するRSIインタフェースを用意したほか、入出力インタフェースとして、USB2.0、イーサネット、SPIなど5種類のシリアルインタフェース、LCD、CMOSイメージセンサ用ePPIなどが用意されている。加えて、Link Portにより、複数のBlackfinおよび浮動小数点演算DSP「SHARK」などと接続して利用することが可能となっている。

BF60xファミリのブロックダイアグラム

さらに、コンピュータビジョンの処理用に、新たにPVPやPixel Compositor(PIXC)、Pixel Crossbarなどを集約したビデオサブシステムブロックをアクセラレータとして用意。PVPには「Convolution」、「UP/DOWNスケーラ」、「算術演算」、「Cartesian to Polar」など12個の機能ブロックを用意。また、各ブロックに対応するメモリパイプとカメラパイプを横断的に用意することで、入力画像をPVP内部のメモリと各機能ブロックのみで出力まで行えるようになっているため、外部メモリとのやり取りを最小限に抑制でき、消費電力の低減(400mW。25℃ typ)と高速演算処理を実現することが可能なほか、必要な機能ブロックを組み合わせることで、さまざまなアルゴリズムに柔軟に対応することが可能となっている(PVPから出力されたものを、PVPで再演算しなおすといったことも可能)。

PVP機能ブロックの処理イメージ。ハードウェアとして用意された各機能を必要に応じて組み合わせて処理することで、柔軟にさまざまなコンピュータビジョンの要件に応じることを可能とした

なお、同製品のサンプル出荷をすでに開始されており、1000個受注時で15ドル(米国における販売価格)からとしている。また、開発環境として、従来のVisualDSPではなく、オープンソース統合開発環境(IDE)である「Eclipse」をベースとした「CrossCore Embedded Studio(CCES)」を発表しており、MicriumのOSやミドルウェア各種に最初から対応するほか、Micrium μC/OS-III向けデバッグツールも実装しており、GUIによるコード生成を行うことが可能としている。このため、同社では、同製品向けに開発されたコンピュータビジョンのアルゴリズムではなくても、C言語のソースコードを読むことができるため、チューニングしなくてもPVPが適用できるものであれば従来以上の性能を発揮できるようになるとしている。

評価ボード「ADSP-BF609 EZ-KIT」と拡張I/Oボード各種もすでに提供を開始している

Analog Devicesの次世代開発環境である「CrossCore Embedded Studio(CCES)」のイメージ

実際のデモ風景。上段は機能ブロックの説明。このデモは複数の6面体ダイスを振って、その出目の合計を出すのにどの程度の時間がかかるか、というものを示すもの(このデモの場合は3D6、つまり3つの6面体を振って、その表面の出目を足し合わせた結果を算出)。出目の判定は、ダイスの形を覚えさせて、そのデータベースと比較しているとはじめ予想したのだが、実際は丸であるかどうかの識別と、丸のマークと周囲にどれだけコントラスト比があるかどうかで行っている模様。そのため、白地に黒丸のダイスでなく、黒地に白丸を記した普通の紙でも認識した(20面体とか12面体、10面体のダイスでは、とも思ったが、そこら辺になると、そもそも数字が描かれており、認識されることはない)。また、塗りつぶした三角はそのサイズによるが、小さいと丸と誤認識する場合があったが、星印は認識することはなかった