Tech と Culture

テクノロジーとカルチャー

motion JPEG再生 4

とりあえず、現在のシステムにつけているAHBペリフェラルモジュールを減らします。
PS/2のモジュールが二つ(マウス&キーボード用)ついていますのでこれを削除します。
ホスト側にteratermを立ち上げてこちらにRS232-Cでコンソール出力することにより、操作します。
また、AHBmonitor等のデバッグ用ハードウェアモニタをはずします。
(メモリが削減されることを期待しています。)
このようにしてISE10.1でマッピングした結果は、、、、
occupied Slice 86%
RAMB16s 29/32
Mult18x18 21/32
そしてエラー無し!!!
FPGAにコンフィグしてみると、無事Linuxがブートしました。


いろいろ問題はありますが、早く動画が見たいので、ソフトウェアとデバイスドライバを変更してmotion JPEGを再生します。

今回から、QVGAサイズの 4:1:1 のmotionJPEGを用意しました。4:2:2も再生できますが、4:1:1でも画質がほとんど変わらないのでこちらを使います。

ソフトウェアのみで再生すると、0.718fps
さすがに画面サイズを4倍にすると、4:1:1であってもかなりfpsが下がります。
それでもQVGAにするとディスプレイの4分の1になりますので、かなり画質は綺麗です。


そして、DCT upsample YCbCr-RBG のハードウェアにデータを送るように変更したソフトウェアを実行すると、、、、、

やった!!!無事に再生されました。
\(^o^)/バンザーイ \(^O^)/

1.833fps です。約2.5倍の性能UP
64x8bit単位でデータを渡していますので、ここを頑張ればもう少し良くなる気がします。

その前に、今は決めうちでレジスタ設定等をしていますので、motionJPEGの種類にあわせて自動的にレジスタ設定を行うように変更します。様々なサイズやサンプリングファクタのmotionJPEGもそのままソフトウェア実行できるように変更します。