pLayer-iAn Internet based muzik player-Maninder Singh-Nishant R Shah-Ramachandra ShankarOur Motivation Understanding and porting a widely used application Mp3 decoding is computationally very intensive and hence hardware usage would be a necessity Learning about a complete embedded application involving varied topics like DSP and networkingWhat is mp3? Most widely used file-format and codec on earth and yet not too many people know its details. Complex Algorithm to compress a *.wav to *.mp3 by 10 times Lossey algo but based on human ear responseNetworking Using a very primitive RTP-RTSP 2250 protocol Reason being ease of decoding the UDP frame Using the FPGA’s Ethernet Chip and a computer to feed the live streamOur Approach Understanding the mp3 decoding scheme Writing a complete software version to eliminate ambiguity Timing Analysis Making Necessary Hardware Blocks System IntegrationSoftware code Using the Spec sheet ISO/IEC 11172-3 and a MPG123 library A single file MP3 player was written and tested on our computer The file has no floating point calculation and uses no library This perfect-for-NIOS code was now ported on the NIOS….it worked!! This code “worked” but not “real-time”Timing AnalysisDetailsTime1 Mp3 frame26msFull Software Decoder245 msSoftware + Hardware DCT185 msDe-quantize + Huffman3.5 msAnti-alising + Re-ordering35 msIMDCT + Windowing157 msThe SystemHardware Blocks After the Timing Analysis, Obvious choice to make the last two hardware blocks:◦ IMDCT ◦ Windowing+IMDCTIMDCT18 input values18 output valuesLast 18 values36 output values18 lower valuesWindowingWindowingBlock Type18 higher valuesHardware Blocks IMDCT block saves around ** seconds in decoding. Windowing block saves around ** seconds Both made using pipelined architecture Problem in this is: Data DependancyRoadBLOCKS Unavailability of complete Specs Making the audio codec behave well Converting C to VHDLLessons learnt MP3 Making Hardware Embedded Application DevelopmentTHANK
View Full Document