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

東原朋成

tag: 組み込み

技術解説 2006年8月31日

 ゲートを再利用でき,かつ仕様の変更や追加に柔軟に対応できることは,ソフトウェアの利点です.ソフトウェア処理の弱点としては,ソフトウェアの並列度とハードウェアの並列度の決定的な違い,命令メモリの必要性などがあります.ハードウェアは究極のパラレル・マシンであるため,潜在的バグの検証の難しさがあります.また,機能的に固定しているのでゲートを有効利用しているとは言えず,命令メモリを必要とするソフトウェアと比較して得失の比較は難しくなります.

● ヘテロジニアスな機能分割型を採用

 図8が,筆者らの開発したデコーダ・システムです.二つのプロセッサ・コアを用いたヘテロジニアスなマルチプロセッサ・システムになっています.

  • Parser:デコード・フローの前半部を担当.また,データの出し入れをつかさどるDMAエンジンの制御を担当.
  • Pixel:デコード・フローの後半部を担当.後半部は制御系の処理は少なく,ピクセル・レベルの演算が中心.
  • DMA:データの出し入れを担当.
  • PIF,TIEポート,TIEキュー:プロセッサ,DMAを接続するネットワーク.PIFはプロセッサ・インターフェース.PIFネットワークのほかにプロセッサ間を直接TIEポートでインターフェースし,ネットワーク遅延の影響を受けることなく割り込み処理などを伝える.

 設計したデコーダは,機能分割型のアプローチをとりました.H.264規格を分析すると,MPEG-2とはパケット(構文上の区切り)がずいぶん異なることがわかります.MPEG-2はスライス・レイヤからくる制限がありました.つまり1ピクチャは複数のスライスで構成され,スライス・レイヤ・レベルでデータ並列処理が可能でした.しかし,H.264にはこうした制限がなく,きれいなデータ・レベルの並列処理ポイントを発見できませんでした.そこで筆者らは,デコード・フローを機能分割することにしたのです.

zu08_01.gif
図8 設計したH.264ビデオ・デコーダ
機能分割型ヘテロジニアス構成である.一つのコンフィギャラブル・プロセッサを異なるコンフィグレーションで使用しているので,共通のツールやフローで開発できた.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日