概要
Terasicは、FPGAによる画像処理の強力な性能と柔軟性を紹介する目的で設計されたシステムを開発しました。
画像処理プロセッサのための基本的な要件は、次のとおりです。タッチコントロール機能、色空間変換、メモリ管理
フィルタリング、および出力表示。tPADマルチメディア開発キット(tPADへのリンク )による、他のハードウェア
を必要としないオールインワンソリューションのプロトタイピング環境をご提供します。
図1 tPadマルチメディア開発キット
イントロダクション
最近では、画像処理におけるFPGAの柔軟なソリューションの台頭が顕著です。数年をさかのぼって、画像処理のための唯一の実現可能なソリューションはASICでしたが、FPGAはコストとパフォーマンスの面でより競争力を得ているように、FPGAは、ASICを凌駕しうる可能性を潜在的に持っています。
FPGAは、ASIC設計の比較的高いコストと長い開発サイクルに代わり、ラピッドプロトタイピング環境を実現できます。この記事では、FPGAのシステム上で自らの設計開発をすぐに始めるための柔軟な設計プラットフォームをご紹介します。
tPADの強力なマルチメディア機能を利用して、Terasicは画像処理エンジンを作成しました。
システムは、次の機能をサポートしています。
- 動的な平滑化とエッジ強化処理
- 直感的なタッチディスプレイの制御
- プリプロセスとポストプロセスのイメージの比較分析
- 処理した画像のメモリ保持
次に示すのは、本システムのプロセスフローとビルディングブロックの概要を表すブロック図です。灰色の領域はFPGA内で実現するファンクションブロックを表します。外側のブロックは、当社のオンボードまたは外部コンポーネントとコントロールを表します。
図2 イメージプロセッサブロックダイヤグラム
3つの別々のカテゴリーでシステムを導入してみましょう。
- メモリ使用量
- 画像処理
- タッチパネルコントロール
メモリ使用量
従来のICは、機能やメモリの使用率に固定されているのに対し、FPGAは最終的に設計で使用されるメモリのプラットフォームを柔軟に選択することを可能にします。この設計では、画像は長い読み込み時間を防ぐために、オンボードのSDRAMをバッファとして使用する一方、長期保管を可能にするオンボードフラッシュメモリに格納します。FPGA自体は2つの間の通信を可能にすべく、SDRAMとフラッシュコントローラの両方を統合するように設計されています。
画像処理
本システムの画像処理は、各種機能ブロックに分かれています。まず、YUVをRGBからビットマップファイルのカラースペースを変換し、イメージ操作を実行します。LCDに表示するためRGBに戻すカラースペースを再変換するまで、色空間変換はUV成分はそのままに、ピクセルのY(輝度)のみ処理することを可能にします。
図3 画像処理フローチャート
タッチパネルコントロール
tPADは、8インチのタッチスクリーンを備えていますので、ユーザーが個々の写真をスクロールし、複数の写真を閲覧したり、単に画面上のボタンをタッチして画像を操作できる直感的なタッチコントロール方式を統合することができます。ボタン自体は、FPGAの内部メモリにロードされたビットマップファイルです。
“Compare”ボタンによって変更された画像と一緒にオリジナルの画像を表示しながら、上向き/下向きの矢印キーは、レベル/エッジと平滑化の重みを調整します。
図4 tPad GUIのレイアウト
例として、下の写真のシステムを操作する方法を示します。
1. “Edge”ボタンを選択することで、ピークを高くまたは低くなるように調整するために、上矢印または下矢印キーを押すことで画像内のピークの強度を調整することができます。
2. “Smooth”を選択することにより、矢印キーを使用してより高いまたは低いローパスフィルタの重みを選択することができます。
図5 エッジ強調画像
図6 平滑化画像
3. フラッシュに格納されている画像は、シングル矢印の画像を押すことで閲覧することができます。
4. 右下の隅にあるResetのキーを押して、デフォルト値にリセットすることができます。
図7 次の画像を選択する
図8 イメージのリセット
元のイメージと比較するために、一度に両方の画像を表示するために、ダブルスターアイコンを選択すること
ができます。両方の画像をスクロールする矢印キーを押して、周りの画像を移動することができます。
図7 右スクロール
図8 左スクロール
このアプリケーションから見てきたように、FPGAは画像処理のための強力なシステムです。また、ユーザ様は機能の拡大と、ご自分のやり方でこのデザインを変更できるように、主要なプラットフォームとしてご採用をご検討ください。ASICは時代遅れになるリスクに直面しながら、一方FPGAはプロトタイピングのための費用対効果の高いソリューションを提供しています。
このソリューションにご興味がある方は、以下からお願いします。
tPadに関するお問い合わせ→こちら