FPGAは今やさまざまな機器に組み込まれ利用目的も多様化している。普及を始めた当初はいわゆる「雑論理」(グルーロジック)の収容が中心だったが,近年はシステムの心臓部とも言うべき重要な処理機能を集積するケースが増えてきた。なかでも画像処理と通信処理はFPGAの中心的な利用分野であり,どちらも現代のデジタル化社会に不可欠な機能だ。FPGA採用を牽引してきたとも言えるこれらの分野で,最新のFPGAは何をどこまで対応できるようになっているのか。前編では画像処理における具体的な使用例をみてみよう。
産業用か民生用かを問わず,今やほとんどの機器が画像処理機能と通信処理機能とを備えているといっても過言ではない。
たとえば生産工場で使用されているロボットには,ロボットの動作や製品の状態を監視するカメラやマシンビジョンが備えられ,また,モーションコントローラやロボット本体などはネットワークによって結ばれている(図1)。デジタル家電を代表する薄型テレビも,一部の製品にはネットワーク機能が搭載され,インターネットを介して番組情報などが検索できる。
これら画像処理機能と通信機能は,従来からFPGAが強みを発揮する分野として知られているが,最新のFPGAで何をどこまで対応できるようになっているか,今回は画像処理での具体的な活用方法をみることにしよう。
画像処理といったとき,どのような機器を思い浮かべるだろうか?
産業用や業務用であれば,面実装部品の自動マウンタ,製品検査などのマシンビジョン,紙幣読取り,業務用スキャナ,コピー機や複合機,サーベイランス(監視カメラ)システムなどが挙げられる。医療分野では,デジタルレントゲン装置,CT(コンピュータ断層撮影)スキャナ,PET(陽電子放出断層装置),MRI(核磁気共鳴画像装置),さらには超音波検査装置などに高度な画像処理機能が組み込まれている。また,放送機器やデジタル家電などでも画像処理はおなじみだ。
もちろんそれぞれの機能には幅がある。遠隔カメラの画像信号を監視センターに転送するだけの単純な処理から,MRIのように二次元画像から立体画像を作成する高度な処理までさまざまだ。
こういった画像処理に最適なデバイスがFPGAだ。その理由は次のとおりである。
(1) ハードウェアで処理するため,高速,リアルタイムで処理できる
(2) マイクロプロセッサやDSPを使ったソフトウェア処理とは違って,広帯域を実現しやすい。あるいは,同じ性能を少ないチップや低い周波数で動作させることができる。
(3) 何度でもハードウェアを再構成(プログラム)でき,アルゴリズムの変更や性能のチューニングが容易である
(4) 視覚的な検証や評価を実時間で行うことができる
(5) 演算処理に必要な演算回路がマクロ(乗算器)として用意されている
(6) 画像処理に関連したIPやライブラリなどの資産が揃っている(後述)
(7) 内蔵メモリを使ってフィルタやコーデック処理が高速に実行できる
(8) ディスプレイ・アプリケーションの場合,内蔵メモリで足りる場合は外付けラインバッファを必要としない(図2)
(9) ビデオ信号のシリアル伝送に適したトランシーバが用意されてい
それでは具体的なふたつの事例を挙げてみよう。
IPライブラリを活用して,液晶テレビのエンジンをFPGAで構成
まず,地デジ(地上デジタル放送)移行を追い風に普及が進む,液晶テレビを取り上げよう。
液晶テレビの開発では,コストも含めてさまざまな点を考慮しなければならない。たとえば,輪郭のギラつきなどに代表される「デジタル臭さ」の排除,従来のインタレース方式によるSD品質(標準精細)入力への対応,さまざまな機能をリモコンで設定できるようにするOSD(オンスクリーンディスプレイ)の重ね合わせ表示などだ。
こうした要件を満たす液晶テレビのブロック図を図3に示す。
MPEG2デコーダや音声処理には市販のLSIを使用する一方で,いわゆるエンジンと称される画像処理の部分にアルテラの「Cyclone III」FPGAを使用している(オレンジ色の部分)。
画像処理にはふたつの技術を用いた。ひとつは後述する専用のIPライブラリ「VIPスイート」(MegaCore)である。たとえば輪郭のギラつきはMegaCoreが持つ「2Dメディアンフィルタ」機能を使えば緩和できる。また,4:3のSD画像を16:9の液晶パネルに表示するために,「スケーラ」機能を使って画像サイズを合わせている。
さらに,リモコン処理やさまざまなハウスキーピング処理を行うために,アルテラのソフトコア・プロセッサ「Nios II」をCycloneに組み込んだ(ブロック図 右下のオレンジの箇所)。一般の組み込みプロセッサに慣れたエンジニアならNiosのコード開発は難しくない。なおNios II については連載の最終回(第9回目)で触れる予定だ。
このように,ハードウェアとして実装されるIPライブラリと,ソフトウェアとして実装されるNios IIのコードとを上手にバランスさせることで,高速な画像処理とユーザーインタフェースなどの複雑な機能とを同一のFPGAに集積できる。コストとソリューションサイズの両面でメリットが得られるのがお分かりいただけるだろう。
なお,本事例ついてのさらなる詳細は,ホワイトペーパー「Cyclone III FPGAを使用した,より鮮明なLCD HDTVの実現」で読むことができる。
また薄型テレビの分野では,1080p フルハイビジョンといった高精細・高解像度化が進んでおり低価格化の要求も高まっている。チューナーや映像処理部から液晶パネルのインタフェースはこれまでLVDS信号によるパラレル接続であったが,信号線が増えるとともにパッケージ・ピン,コネクタ,基板面積の増大によるコスト増と消費電力の増加が問題となるため,シリアル伝送に移行しようとしている。
そのシリアル化の際の有力なプロトコルにザインエレクトロニクス社提唱の「V-by-One HS」があるが,アルテラではトランシーバとSerDesを内蔵する低コスト・量産向けの FPGA「Cyclone IV GX」および「Arria II GX」で対応している。今後 4K2Kといった高精細画像が今後一般的に扱われるようになると,より高速なSerDesが不可欠になるだろう。画像処理とSerDesとをワンチップで構成できるFPGAはその点でも有利といえる。
なお,アルテラがこのほどリリースした最新Cyclone IV FPGAを紹介するオンライン・セミナーでは,ディスプレイ・コントローラーでのFPGAの応用例についても触れられている。興味がある方は参照していただきたい。
高感度監視カメラにおける,DSPプロセッサでは実現できないシステム要件を解決
次は米Intevac社が開発した「NightVista」という高感度監視カメラでの応用例を挙げる。イメージセンサのキャリブレーション,イメージの増倍処理に必要なゲインコントロール,リアルタイムでのコントラスト調整,ガンマ補正といった画像処理機能が要件として定められた。
当初Intevac社は汎用のDSPや市販LSIで設計を進めていたが,試作を進めていく過程で,外部DSPでは十分な性能が得られないこと,消費電力やソリューションサイズが大きくなりすぎるため,発熱やパッケージングにおいても実用化が難しいことが判明したという。設置の自由度を高めるためにも,小型化は必要不可欠である上,遠隔設置を想定すると消費電力はできるだけ抑えなければならないからだ。
そこで同社は,汎用DSPと市販LSIではなく,FPGAを採用することにした。アルテラのNiosプロセッサコアをCyclone FPGAに統合し,Nios上で動作するソフトウェアでほとんどの画像処理を実行しようという方式である(図4)。
完成したNightVista製品の外観を図5に示す。画像処理ユニットはレンズと一体で構成され,レンズ部分を除く本体サイズは一辺がおよそ5cmの立方体である。汎用DSPと市販LSIを使った試作の段階では5枚のプリント基板が必要だったが,FPGAの採用で基板は1枚に収まった。消費電力も試作回路から80%も削減され2Wに抑えられた。撮像素子の解像度は1280×1024のSXGAで,Nios IIによって所期の性能を得ている。
FPGAは開発期間の短縮にも寄与した。Intevac社はわずか4か月で製品化を実現したほか,プログラミング可能なFPGAの特徴を生かして,カスタマイズやフィールドアップグレード,あるいは類似製品への横展開も可能となった。
本事例ついても,ホワイトペーパー「FPGAのDSP機能統合による,画像アプリケーションの性能向上」で詳細を公開しているので参照していただきたい。
最新の画像処理ライブラリもIPリソースとして提供
最後のセクションでは,画像処理に関連した設計支援環境について説明しよう。
まず,画像処理ライブラリであるIP MegaCoreファンクションを集成した「ビデオ/画像処理スイート」(VIPスイート)がある。色空間を変換する「カラースペース・コンバータ」,クロマデータのサンプリングレートを変更する「クロマ・リサンプラ」,明るさなどを表示デバイスの特性に合わせる「ガンマコレクタ」,ノイズ除去やシャープネスを適用する「2Dフィルタ」類,画像サイズを変更する「スケーラ」,インタレースをプログレッシブフォーマットに変換する「デインタレーサ」など,画像処理に欠かせない基本的な機能が利用できる。
また,DSP開発キットやビデオ処理開発キットも,アルテラおよびサードパーティから豊富に提供されている。設計に必要なリソースがすべて付属されているため,積極的に利用するとよいだろう(図7)。JPEG2000エンコーダとデコーダ,H.264エンコーダ,ウェーブレット変換や各種フィルタといった高度なメガファンクションも増えつつある。詳しくは IP MegaStoreページを参照していただきたい。
これらのリソースを上手に活用することで,高性能な画像処理機能を備えたFPGAを,効率良く,かつ,短期間で開発できるようになるだろう。
後編では通信システムでの応用例を取り上げる。
- アルテラのFPGA入門
- FPGAを耳にしたことはあるものの詳しくは知らない、FPGAは知っているが最近の動向はあまり詳しくない、今後FPGAを使ってみたいと思っている方まで、FPGAが気になるすべての方に、FPGAの基本から紹介。
- アルテラの無料オンラインセミナー
- アルテラの製品やソリューション、応用アプリケーションなどに関する情報をわかりやすくまとめたオンライン・セミナー。短時間で理解したい人にぴったりの内容。
- 第9回:エンベデッド・プロセッサによる FPGAの進化と可能性
- 第8回:FPGAの応用その2 (後編)通信システムへの応用
- 第8回:FPGAの応用その2 (前編)画像処理
- 第7回:FPGA採用の変遷
- FPGAクイズ:クイズでわかるFPGAの素顔 2択はこちら、3択はこちら
- 第6回:FPGAの開発その2 「意外に知られていないFPGA開発ソフトウェアの最新事情」
- 第5回:FPGAの開発その1 (後編)Quartus IIを使って開発フローを実践
- 第5回:FPGAの開発その1 (前編)FPGAの開発手順と開発ツール
- 第4回:FPGAの利点その2 「時は金なり」(後編)開発期間の短縮で利益の最大化を図る
- 第4回:FPGAの利点その2 「時は金なり」(前編)FPGAでゆとりを捻出?!
- 第3回:FPGAの利点その1 守りの設計から攻めの設計へ(後編)
- 第3回:FPGAの利点その1 守りの設計から攻めの設計へ(前編)
- 第2回:FPGAの基礎その2 FPGAの中をのぞいてみる!(後編)
- 第2回:FPGAの基礎その2 FPGAの中をのぞいてみる!(前編)
- 第1回:FPGAの基礎その1 “夢”のデバイスFPGA〜「回路を変更したい!それも簡単に!」
FPGAのPはProgrammableの頭文字のPです。その「プログラマブル」の名の通り、FPGAは、「後からでも回路の書き換えが可能」である点が大きな利点になっています。詳しくはアルテラの「FPGA入門」をご覧ください。
日本アルテラ株式会社 〒163-1332 東京都新宿区西新宿6-5-1 新宿アイランドタワー32階
TEL 03-3340-9480 FAX 03-3340-9487 URL http://www.altera.co.jp/













