リアルタイムハードウェアMP3エンコーダ デモ 回路 目的 USB専用

リアルタイムハードウェアMP3エンコーダ
USB専用プロセッサを持つ USBデバイスコントローラの設計
■ USB2.0ハイスピードへの展開を考慮し,インターフェースにUTMIを採用
目的
携帯機器で高音質なMP3の
レコーディングを行いたい
■ USBプロトコル制御に特化したプロセッサを設計
■ ハッシュ関数を使用した高速なリクエスト判別
組み込み向けの小さなCPUでMP3
エンコーディングをソフトウェアで行うと・・・
現時点ではサブバンドフィルタ、
非線形量子化の部分をハードウェア化
■ デバイスコントローラと共にFS用UTMIを設計
フルスピード(12MHz)で正常動作を確認
ハッシュ関数を使用したリクエスト判別
リアルタイム化が困難であったり、
大きな電力が必要
PCM
CODE
8 Bytes
サブバンド
フィルタ
MDCT
Data
Packet
Hybrid Filter Bank
PID
DATA
CRC5
USBプロトコルの切り分け
Transfer
Transaction
End Point
Address
Packet
CRC
SYNC
Stuff bit
NRZI
Device Controller
"Phy-link"
UTMI
4 Bytes
低電力で高速にリアルタイムエンコード
可能なハードウェアの設計
非線形
量子化
ハフマン
エンコード
ビット列
生成
USBアナライザによる動作確認
MP3
CODE
Key
Iteration Loop
12 bits
Sample
X
Quantize Step
回路
MP3エンコードフロー
q
address
Xf
Hash Function
サブバンドフィルタは
PCMデータを32の周波数帯
(サブバンド)に分解
Yf
Add
量子化には以下に示す
複雑な計算が必要
Yf Table
carry
Xe
Ye
address
Value
- Send Data Status
- Subroutine Address
Zf Table
積和演算器の利用による高速低電力演算、
COSテーブルの周期性による計算量の半減
carry
Shift
Add
Zf
XY_state
Ze
この演算を整数演算のみを用いて
高速&コンパクトに実現
ブロック図
in
mem
Float to Int
MultiAdder
c
mem
量子化
tmp
mem
YS_state
cos
mem
MultiAdder
out
mem
サブバンドフィルタ
デモ
PC
デモンストレーション
ハードウェア構成
PCI_BUS
FPGA Board
PCI
I/F
IN Buffer
Memory
順次ハードウェア化を行っていく予定
OUT Buffer
Memory
Input
Table
Memory
In Buffer
Filter Bank
MDCT
filter &
quantize
現在設計中
I-BUS
D-BUS
MPU
FPGA : ALTERA Stratix EP1S10F780C7ES
PCI I/F : 研究室所有IP ※
PC
: Pentium200MHz, Memory 64MB
kernel : Linux 2.4.7-10
設計完了
Instruction
Memory
Out
Buffer
RAM
Output
※ PCIバスインターフェイス 早坂晴康、清水尚彦 EDSFair2003 FPGA/PLD Design Conference IPフリーマーケット
Huffman
Encoder
Quantize
Buffer
Huffman
Table
Quantizer
構成予定図
設計済分回路規模見積り
total LE (PCI込み)
3297
メモリ (PCI込み)
141824 bit
今後設計予定
実装結果
Device
Total logic elements
Total memory bits
USBゲームパッドとして実装した場合の
ファームウェアステップ数
APEX20KE
EP20K160EFC484-3
2,163 / 6,400
33,848 / 81,920
Original USB-IF "Iヨヨヨ"
+ Original RISC Processor "SNX"
APEX20KE
EP20K160EFC484-3
1,645 / 6,400
32,768 / 81,920
142
248
"UTMI互換IF"+"Phy-link"