FPGAを用いた動画像転送コア Video transmission core by using FPGA

社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,
INFORMATION AND COMMUNICATION ENGINEERS
信学技報
TECHNICAL REPORT OF IEICE.
FPGA を用いた動画像転送コア
華井健太郎†
工藤 健慈†
良介†
小瀧
松下宗一郎††
渡辺
黒木
浩†
雅史†††
佐藤
一輝†
田向
佐藤
権†
季花†
関根 優年†
† 東京農工大学 工学府
〒 184-8588 東京都小金井市中町 2-24-16
†† 東京工科大学 コンピュータサイエンス学部
〒 192-0982 東京都八王子市片倉 1404-1
††† 株式会社東京システム技研
〒 160-0023 東京都新宿区西新宿 1 丁目 21 番 明宝ビル 3F
E-mail: †{hanai,kurogi,kurogi,hanai,rika,k2x}@sekine-lab.ei.tuat.ac.jp, ††[email protected],
†††[email protected], ††††{tamukoh,sekinem}@cc.tuat.ac.jp
あらまし
動画像のコーデックには様々な種類が存在するが,エンコーダとデコーダは常に対のものである必要が
ある.その問題に対して,当研究室ではコーデックの選択が可能な InternetBooster という動画像転送方式を考案し
た.しかしこれらをソフトウェア上で動作させた場合,CPU に多大な負荷を強いる.そこで当研究室では,FPGA
を搭載した PCI ボードである hwModule を開発し,それを用いた hw/sw 複合体と Remote-hwObjectSystem を提
案,これを解決した.hw/sw 複合体とは,ソフトウェアとハードウェアの協調動作を行うアプリケーションであり,
Remote-hwObjectSystem とはネットワークに接続された遠隔の FPGA を操作できるシステムである.本研究では
InternetBooster のさらなる高速化を図り,InternetBooster に適した動画圧縮手法を提案し,その動作結果を示す.
キーワード
ハードウェア,ソフトウェア,FPGA,動画像
Video transmission core by using FPGA
Kentaro HANAI† , Ryosuke KUROGI† , Hiroshi KOTAKI† , Kazuki SATO† , Rika SATO† ,
Kenji KUDO† , Soichiro MATSUSHITA†† , Masashi WATANABE††† , Hakaru TAMUKOH† , and
Masatoshi SEKINE†
† The Faculty of Technology, Tokyo University of Agriculture and Technology
2-24-16 Naka-chou, Koganei-shi, Tokyo, 184-8588 Japan
†† Tokyo University of Technology 1404-1 Katakura, Hachiouji-shi, Tokyo, 184-8588 Japan
††† Tokyo Systems Laboratories,inc. 1-21 NishiShinjuku, Shinjuku-ku, Tokyo, 160-0023 Japan
E-mail: †{hanai,kurogi,kurogi,hanai,rika,k2x}@sekine-lab.ei.tuat.ac.jp, ††[email protected],
†††[email protected], ††††{tamukoh,sekinem}@cc.tuat.ac.jp
Abstract While there are various kinds of video codecs, an encoder and a decoder always have to be pair. Therefore, we proposed a video transfer method called InternetBooster can choice a codec. However when the method is
operated on software, then it takes heavy computational cost on the CPU. To solve this problem, we proposed hwModule which is a PCI board with FPGA. Moreover, we also suggested a hardware and software complex (hw/sw
complex) and a Remote-hwObjectSystem by using hwModule. hw/sw complex system combines hardware and
software very closely to process detailed operations and control. Remote-hwObjectSystem can operate remote FPGAs which is linked to a network. In this study, we propose a video transfer method suitable for InternetBooster
implemented on the hw/sw complex, and also show its simulation results.
Key words Hardware,Software,FPGA,Video transfer
—1—
1. は じ め に
1. 1 研 究 背 景
近年,携帯電話でのワンセグや Blu-ray Disc,動画像投稿サ
イトなど動画像を用いたコンテンツは増加しており,動画像転
送を用いる機会は日々増加している.動画像の圧縮転送手法と
して MPEG-2 や H.264 [1] など様々な手法が取られ,発展,高
性能化が続いている.だがコーデックの規格は多数存在し,動
画の送受信のためには送信側,受信側の双方が同一のアプリ
ケーションを用意していなくてはならないという問題がある.
図 1 hwModuleV2 外観
これを解決するため,当研究室ではコーデックの選択が可能で
ある動画像転送方式,InternetBooster を考案した.しかしそ
れらの手法は処理が複雑であり,ソフトウェア上で行った場合,
画質や速度を維持するために相応の CPU リソースを割かなけ
ればならない.そこで当研究室では,ソフトウェアとハードウェ
アの協調動作により回路の高速演算処理とソフトウェアの柔軟
性を併せ持つアプリケーションである hw/sw 複合体 [2] を提案
し,InternetBooster に適用する事で問題を解決した.さらに
ネットワーク上に存在する遠隔の仮装回路に自由に回路データ
を送信できるシステムである Remote-hwObject System [3] [4]
を提案,適用し,ネットワーク対応の動作が可能となった.
これらの研究により,ソフトウェアに負荷をかけない動画像
転送を実現した InternetBooster であるが,これまでの研究で
図 2 hwModuleVC 外観
はウェーブレット変換をかけただけの簡単な圧縮法しか実装し
ておらず,動画像転送に対する InternetBooster の有用性を示
せてはいなかった.
1. 2 目
的
本研究報告では,InternetBooster のさらなる高速化を図り,
う事が可能である.さらにハードウェアとソフトウェアによる
分散処理で,高負荷の処理をハードウェアで行い CPU 使用率
を削減,CPU リソースを他の処理に回す事が可能となる.
MPEG-2 や H.264 を元にハードウェアでの処理に向いた形に
2. 2 hwModule の構成
改良した動画像圧縮手法を提案する.そして実際にその動作を
hw/sw 複合体ではハードウェア部分として,本研究室で開発
示し,転送の結果から動画像転送に対する InternetBooster の
した再構成可能な LSI である FPGA を搭載した PCI ボード,
有用性を実証する.
図 1 に示す hwModuleV2 を使用する.hwModuleV2 は 4 つ
本研究報告の構成について述べる.2. において hw/sw 複合
の FPGA と LM(ローカルメモリ),そして PCI インターフェ
体と FPGA を搭載した PCI ボードである hwModule の構成
イスで構成されている.FPGA の一つは PCIFPGA として
について述べ,FPGA の担った役割である hwObject について
PCI バスのコントロールを行っており,残り3つの FPGA を
説明する.3. では hw/sw 複合体をネットワークへと適用した
UserFPGA としてユーザが任意に書き込める構成となってい
Remote hwObject System の構成について述べる.4. では当
る.LM とは FPGA 間のデータを保存するメモリの事であり,
研究室の考案した動画像転送手法である InternetBooster につ
4 つの SDRAM から成る.各 FPGA には LM が2つずつ接続
いて紹介し,これまでで示されている性能を述べる.5. で今回
されており,LM1 にある演算データを FPGA1 で処理を行い,
作製した動画像転送システムの概要とその結果についての検討
結果を LM2 に出力,その出力データを FPGA2 で処理を行い
を行い,最後に 6. でむすびとする.
LM3 へ出力するといったパイプライン動作も可能である.
hwModuleV2 は PCI ボード形式であるため相応のスペース
2. hw/sw 複合体
を必要とするが,別のバージョンとしてカードバススロットに
2. 1 hw/sw 複合体
挿し込んで使える hwModuleVC が存在する.外観を図 2 に示
hw/sw 複合体とは,ハードウェアの高速演算処理ならびにソ
す.hwModuleVC を用いれば,ノート PC でもカードバスス
フトウェアの柔軟性を持つアプリケーションである.hw/sw 複
ロットに取り付けるだけで動画像転送を始めとする回路が使用
合体では,ハードウェアとソフトウェアを各々の得意とする処
可能となる.
理を割り当て,協調動作させる.このシステムは,回路をソフ
2. 3 hwObject
トウェアのように容易に操作可能であるという特徴を持ってお
hwObject とはオブジェクト指向で作成された,複雑なハー
り,回路周りのアクセスもソフトウェア記述同様の簡易さで行
ドウェアの処理をソフトウェアオブジェクトのように扱えるよ
—2—
うカプセル化したオブジェクトである.アプリケーションから
は,従来の C++言語によるソフトウェアの記述を用いて容易に
ハードウェアが扱えるようになる.hwObject は,仮想回路であ
る hwNet,Data,ソフトウェア部分の hwObject interface で
構成されており,hwModule 上の FPGA に実装される hwNet
により, 目的の処理を行う.hwObject に於ける Host 上のメン
バー関数は,対象の仮想回路と Host との結合を解決して動作
させる働きを持つ.これによって hwNet の詳細な制御は隠蔽
されている.
3. Remote-hwObject System
Remote-hwObject System とは既存の hwObject System を
ネットワークに対応出来るよう拡張したものである.Remote-
図3
想定されるアプリケーション
hwObjectSystem 上ではネットワークに繋がった遠隔の hwObject System にアクセスし,そこの hwNet の書き込みや制御,
データ転送など密接なやり取りができる.ネットワークに接続
された hwModule は Node と呼ばれ,それぞれのリソース情報
やライブラリ情報は専用のサーバで管理される.
想定される実用例としては,複数の hwModule ボードを搭載
したホストやネットワーク上に存在する hwModule ボードを
用いて大規模高速演算処理を実現する HPC(High Paformance
Computing),ネットワーク上で接続された hwObjectSystem
によりリモートカメラを用いた監視や人物認証などを行う分散
処理,ネットワーク上の hwModule の余剰リソースを使用す
るリソースシェアリング,そして動画配信を始めとした WEB
サービスが挙げられる.
4. Internet Booster
本章では当研究室が考案した動画像転送手法である Internet-
図 4 動画像ダウンロード時の動作シーケンス
Booster について紹介する.InternetBooster の動作には,上
記の hw/sw 複合体と Remote-hwObject System が用いられて
いる.
信側がコーデックを選択できるという形式を取っている.
4. 1 システムの構成
4. 2 動作シーケンス
InternetBooster ではクライアント(InternetBoosterAgent:
InternetBooster において行われる,動画像のダウンロード
IBA)が Web ブラウザを介してサーバ(InternetBoosterServer:
時の動作の様子を図 4 に示す.
IBS)との動画像通信を行うモデルを想定している.IBA は固
動画像のダウンロードは,Web ブラウザが Web サーバー
有のハードウェアオブジェクトである IBhwObject と ActiveX
の提供する動画配信用のサイトにアクセスする事から始まる.
から成り,IBS と動画像データの送受信を行う.
想定されるアプリケーションの出力画像の様子を図 3 に示す.
ユーザが Web ブラウザ上の情報から動画のダウンロードを選
択すると,Web ブラウザから ActiveX へとスタート信号が送
CPU リソースが潤沢であれば,ソフトウェアのみでもこのよ
られる.起動した ActiveX は IBS と再生対象のマルチメディ
うに複数の動画像を同時に表示する事が可能であるが,実際に
アデータについての情報をやり取りし,送られてくるデータの
は難しい.表示したとしてもその処理に CPU リソースを割く
再生に必要なコーデック回路がローカル PC 上に用意されてい
ため,別のアプリケーションを平行して行うと動作が非常に遅
るかチェックし,選択する.コーデック回路の準備が出来た後,
くなると考えられる.しかし InternetBooster は hw/sw 複合
ActiveX から IBhwObject へ通信元,通信先,画像の出力先の
体を用いる事でそれを解決している.
情報が送られ,IBS から IBhwObject へとマルチメディアデー
InternetBooster では負荷の大きいエンコード,デコード等
タのパケットが送信される.
の画像処理を全て IBhwObject で行っている.IBhwObject の
動画像のアップロード時には,ダウンロード時の送信側と受
プラットホームである FPGA は Remote-hwObject System に
信側を入れ替えたような動作となる.IBS 側において適切な
より遠距離から操作可能であるため,IBA ならローカル PC,
コーデック回路が存在するかのチェックが行われ,回路の準備
IBS ならサーバに事前にコーデックの回路を用意しておき,送
が出来次第 IBA の IBhwObject から IBS へとマルチメディア
—3—
図 5 パケットの基本構成
図 6 I-Frame 時
データのパケットが送信される.
4. 3 通信プロトコル
InternetBooster での通信プロトコルとして使用する RTMP
(Real Time Messageing Protocol)の仕様を示す.RTMP は
TCP/IP の上位プロトコルあり,基本構成は図 5 のようになっ
ている.RTMP ヘッダにはパケットの形式や RTMP ボディの
サイズ情報が含まれ,RTMP ボディには RTMP ヘッダで指定
された種別のデータが設定されている.パケットを受け取る側
は,RTMP ヘッダに含まれた情報から RTMP ボディのデータ
を読む.動画像転送では RTMP ボディに Video データが格納
される.
4. 4 現在示されている性能
これまでの研究の結果得られた InterNet Booster の性能を
示す.以前の研究では,エンコード,デコード回路に Wavelet
変換回路,逆 Wavelet 変換回路を用い,24[bit] の VGA 画像に
図 7 P-Frame 時
二段階の Wavelet 圧縮をかけて転送を行った場合の結果が得ら
れている.
回路のみの動作のため CPU 使用率はほとんど増えず,動画像
入力された画像を離散ウェーブレット変換し,そのまま量子化
転送を行いながらでも他のアプリケーションの動作に遅れが生
とエントロピー符号化を行い送信する.I-Frame 時の処理は単
じないという結果を得られたが,この時の符号量は,30[fps] で
純であるが,符号長の圧縮効率は余りよくない.受信側は送信
およそ 55[Mbps] であった.これはコーデックが Wavelet 圧縮
側とは逆の動作を行う.受信した符号を逆符号化,逆量子化し,
のみという簡単なものであったのが原因と考えられ,InterNet
逆ウェーブレット変換をかけて出力画像とする.この時転送し
Booster の動画像転送に対しての有用性を示せたとは言い難い.
た画像は送信側,受信側ともに一時保存し,参照画像として次
5. 提案圧縮手法
の P-Frame 転送時の処理に用いる.
5. 1. 2 P-Frame
本章では今回提案する動画像圧縮手法のアルゴリズムについ
P-Frame 時の画像転送の様子を図 7 に示した.P-Frame 時
て述べる.InternetBooster は,送信側と受信側の両者が hw-
は,まず入力された画像と一つ前の画像である参照画像とのテ
Module を所持しており,エンコード,デコード動作を FPGA
ンプレートマッチングを行い,動き補償画像を生成する.これ
に実装したエンコード回路,デコード回路で行う事を想定して
は参照画像の画素値を移動し,入力された画像を擬似的に生成
いる.そのため今回提案する手法は,MPEG2 と H.264 を参考
したものである.行った画素値の移動を動きベクトルとし,さ
にハードウェアでの処理向きに改良した形式である.
らに動き補償画像と入力画像の差分から差分画像を生成する.
5. 1 アルゴリズム
生成された差分画像を I-Frame 時と同様離散ウェーブレット変
提案符号化形式での画像の転送形式は2パターンあり,送り
換し,量子化,エントロピー符号化を行って動きベクトルと共
たい画像の画素値をそのままエントロピー符号化して送信す
に送信する.差分画像は動き補償画像と入力画像の誤差に当た
る I-Frame と,送りたい画像と一つ前の画像とのテンプレート
り,動き補償画像が入力画像に近ければ近いほど差分画像の画
マッチングを行った動き補償画像を元とする P-Frame の2形
素値は小さくなり,差分画像の符号化効率は入力画像より良好
式を取っている.
となる.受信側は,まず送信されてきた動きベクトルと保存し
5. 1. 1 I-Frame
てあった参照画像から動き補償画像を生成する.そして次に送
I-Frame 時の画像転送の様子を図 6 に示した.I-Frame 時は
信されてきた差分画像の情報を逆符号化,逆量子化,逆ウェー
—4—
図 8 動画像転送システム概略
図 9 入出力画像比較 左:原画像 右:量子化(大)画像
図 10
入出力画像極所比較
ブレット変換をかけて画像の形にし,動き補償画像と差分画像
プレートマッチングの計算量削減を図っている.この手法を用
を足し合わせて出力とする.
いた場合,カラー VGA 画像を圧縮率 4∼8Mbps,30fps で転
逆符号化回路側で出力した画像と,符号化回路側で動き補償
送する事が可能だと予測される.
画像と差分画像を足して生成した画像は一時的に保存され,次
5. 2 実
の P-Frame 転送時に参照画像として用いられる.
動画像データの転送時における InternetBooster の有効性
本手法では P-Frame のテンプレートマッチング時に多重解
像度解析 [5] の観点からサーチ領域の絞込み処理を行い,テン
験
を示すため,図 8 のような実験システムを構築し,Encode,
Decode 回路に提案圧縮手法を書き込んで動作させた.転送
—5—
表 1 VGA 画像,30fps での符号量比較
原画像
旧システム [3]
108[Mbps]
55[Mbps]
提案手法・量子化(小) 提案手法・量子化(大)
41.3[Mbps]
に用いたのは 640 × 480 のカラー VGA 画像である.今回は
I-Frame のみ,エンコードの際にかける量子化の強さを二段階
に分け,それぞれ実験した.
入出力の比較として,図 9 に送信した原画像と大きく量子化
をかけた後の出力画像を示し,図 10 に原画像,小さく量子化
をかけた場合の出力画像,大きく量子化をかけた場合の出力画
像についてそれぞれ同じ部分を拡大した結果を示した.さらに
同図に各画像での PSNR 及び verilog シミュレーター(Veritak
3.43I)上で測定した fps を追記した.この時 VGA 画像かつ
30fps での符号量を,原画像そのまま,4.4 で示した旧システム,
提案手法内で量子化の度合いを切り替えた場合の計4パターン
で比較し,表 1 に示した.
表 1 から,提案手法を用いれば大きく量子化をかけなくとも,
4.4 で示された旧動画圧縮転送システムの場合より符号量は少
17.0[Mbps]
文
献
[1] 大久保 榮 (著),改訂版 H.264/AVC 教科書,インプレス R & D,
2006
[2] 工藤健慈,今中晴記,志賀裕介,関根優年,
“ hw/sw 混載シス
テムにおける hwObject モデルとその制御手法 ”,情報科学技術
フォーラム一般講演論文集第1分冊 FT2002,C-3,pp.193-194,
2002/9.
[3] 岸本浩,飯島浩晃,工藤健慈,関根優年,
“ ネットワークに対応した
hw/sw 複合体を実現する Remote-hwObjectSystem ”,電子情
報通信学会技術研究報告(集積回路), Vol.106, No.425,pp.109114,2006/12.
[4] 飯島浩晃,岸本浩,関根優年,”hw/sw 複合体における RemotehwObject のハードウェア構成について ”,電子情報通信
学会技術研究報告 CAS 研究会,Vol.CAS2006-73, pp.19-24,
2007/1.
[5] 横川昌俊,佐藤季花,須藤一郎,湯野智己,工藤健慈,関根 優
年,
“ hw/sw 複合体を用いた Coarse to Fine テンプレートマッ
チングシステム”,電子情報通信学会技術研究報告(ICD,集積
回路), Vol.106, No.317,pp. 67-72,2006/10.
なくて済む事が分かる.量子化を大きくすればさらに符号量を
削減できるが,同時に図 10 に示すように画像が粗くなってい
くのが主観的にも,PSNR の数値としても見て取れる.30[fps]
での符号量が 17[Mbps] になるまで量子化を大きくすると粗さ
が目立つように見えるが,図 9 に示すように,全体の画像から
見ればほとんど分からないレベルであると言える.このように
量子化の度合いによって出力画像の画質とエンコード後の符号
圧縮率を操作する事が可能である.また図 10 に示したように,
提案手法は 30[fps] を満足しており,これにより実時間でのフ
ルカラー VGA 動画像の圧縮伸長が可能であると言える.
6. む す び
本稿では,事前に複数のコーデックを用意しておく事で,選
択式に対応が可能で,なおかつソフトウェアに負担をかけな
い動画像転送手法として,hw/sw 複合体と Remote-hwObject
System を用いた InternetBooster の提案と説明を行い,InternetBooster の動作を高速化し,動画像転送に対する有用性を示
すためにハードウェアでの処理に適した動画像圧縮手法を提案
した.
提案手法で I-Frame 時の動画像転送を行った結果,目標であ
る 30[fps] での符号量 4[Mbps] には達しなかったが,見た目上
画像の劣化が分かりにくいレベルでこれまでよりも少ない符
号量で転送を行うことができた.ここから I-Frame のみでも
InternetBooster の高速化は成功したと言える.提案手法では
I-Frame よりも P-Frame の方が符号圧縮率が良好であると考
えられるため,P-Frame を含めた実験を行えば,より目標値に
近い性能が得られるだろう.
謝辞
本研究は大学発ベンチャー創出推進「1811 動的な仮
想回路による超高速 Hw/Sw 複合システムの研究開発」の資金
により,成された.
—6—