マルチプロセッサで実現したH.264ビデオ・デコーダ ――コンフィギャラブル・プロセッサのユーザ定義命令とオンチップ・バスを活用

東原朋成

tag: 組み込み

技術解説 2006年8月31日

2.H.264ビデオ・デコーダ・システムの設計

 マルチプロセッサ構成のビデオ・デコーダLSIの開発事例を紹介します.このデコーダ・システムはH.264のみならず,MPEG-2,MPEG-4,VC-1といったほかの規格もサポートします.今回はH.264に絞って解説しますが,H.264設計時に定義したユーザ拡張命令は,ほかの規格もサポートできるように設計されています.機能的に固定したハードウェアではなく,ゲートの有効利用ができているわけです.また,ソフトウェア・ベースの設計なので仕様の追加や変更に柔軟に対応します.H.264はビデオ圧縮の新しい規格です.ここでは規格の概要については触れませんので,参考文献(3)を参照してください.

● ソフトウェア・デコードを目ざす

 図7に伸張(デコード)の処理フローを示します.ハード・ワイヤード論理のブロックを用いない完全ソフトウェア・デコードの設計を目ざしました.H.264の伸張フローは,従来の規格(MPEG-2など)と比較して複雑になっています.1プロセッサによる設計となると,非常に高い性能(Pentium級)が必要になります.組み込み向けLSIにおいては,これまで多くのハードウェア・ブロックを用いるハードウェア・ソフトウェア複合設計が主流です.ソフトウェアは制御のみをつかさどり,データ処理の大半はハードウェアで行うといったケースが多く見られました.

 今回筆者らが設計したデコーダは,データの出し入れはソフトウェア制御されたハードウェア(DMA)で実行するが,データ処理はすべてソフトウェアで実行するというシステムです.ハード・ワイヤード論理を極力削減したので,

  • ハードウェアの設計検証は最小
  • ゲートの再利用が可能(固定した機能のハードウェア・モジュールが最小)
  • 仕様変更,仕様追加に柔軟に対応できる
  • 組み込んで検証を免れたハードウェアのバグの出現確率が低下する

などの利点があります.

zu07_01.gif

図7 H.264デコードの処理フロー
ParserとPixelの二つのプロセッサ間のデータ移動ではDMAを実行する.同期は共有データのポーリングや割り込みなどで実現.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日