AAC Encoder
Introduction
AAC stands for Advanced Audio Coding, a part of MPEG4 (ISO/IEC 14496-3) and MPEG2 (ISO/IEC 13818-3) standards published by ISO/IEC. AAC supports sampling frequency from 8 to 96 khz and bitrates up to 576 kbps.
AAC encoding process consists of the following steps:
- The signal is converted from time-domain to frequency-domain using forward modified discrete cosine transform (MDCT)
- The frequency domain signal is quantised based on a psychoacoustic model to discard perceptually irrelevant parts of the signal.
- The quantised signal is coded using lossless encoding and transmitted.
Salient Features
- MPEG4 low Complexity profile
- Supports output ADTS streams
- Sampling rates – 24kHz, 32kHz, 44.1kHz, 48kHz
- Bitrates – 64 kbps to 128 kbps
- Little endian
- Ported and tested on hardware platform with Linux OS
Applications
- Portable audio players
- Streaming
- Mobile phones
- Gaming consoles
- Broadcast audio
Platform
- MIPS
-
- MIPS 74kf
- Base core, DSP and FPU version available
Case studies
Developing an Asynchronous Sample Rate Converter
Designing an Asynchronous Sample Rate converter that offers high THD and low ripple across a range of frequencies is no mean achievement. We not only designed the ASRC but implemented it with low MHz on a fixed point processor.
[ More ]
Video codecs on a multi-core highly-parallel custom core
We worked with SiliconHive (now part of Intel) to develop High Definition video codecs that are designed to run optimally on a multi-core environment. Our contribution also included efficient coding for a VLIW core and algorithmic innovations to address memory bandwidth constraints.
[ More ]