Port of a Fixed Point MPEG-2 AAC Encoder on a ARM Platform

Romain Pagniez · 2004

This dissertation is the result of a three months work carried out at the Information Hiding Laboratory (University College Dublin, Ireland) submitted in partial fulfillment of the requirements for the Degree of of Master in Science in Computational Science. My work on porting a fixed point MPEG-2 AAC Encoder on a ARM platform is detailed. MPEG like encoders are quite complex and involve a huge amount of computations. Computing the encoding algorithm on a dedicated hardware chip could be an efficient solution allowing fast processing at reduced cost. Some research have been done in the Information Hiding Laboratory in that field providing an efficient and precise algorithm using fixed point number representation and arithmetic. The port of the encoder on the EPXA1 development board has been quite straight forward from the simulation files developed by Keith Cullen. The port is working just as expected giving the exact same result as the simulations. For convenience, I have implemented some communication functions which allow to encode complete audio files from a host PC. The main part of my work has been to implement the communication functions across the board and a host PC. I have also looked for some fast extended precision multiplication algorithm in order to faster the encoding time on the board. Using long long integers, the double precision multiplication algorithm has been highly boosted. The computing time of the filter bank block has been decreased of 60% and the computing time of the encoding has been decreased by 40%. The communication functions have also been optimized by overlapping the communications and the computations on the board. This overlapping has led to save more than 40% of the overall encoding process compared to the naive implementation. The latest implementation of the encoder (including communications) is a bit more than 50% faster than the original non-optimized one. The next optimization is to implement the communications on the Ethernet port of the board as computations only represent 66% of the overall encoding time, the remaining time been used by communications.

Read the paper · More papers on PaperTik