This paper presents the analysis of algorithms of
various audio standards, and then introduces the
software/hardware co-design method which is used
to implement multiple audio standards into a
universal architecture. After that the architecture of
the Multi-Standard FILTERBANK and its operation
flow are presented. At the end, the implementation
results on FPGA with the performance evaluation
and the conclusion are given.
2 ALGORITHM ANALYSIS &
MULTI-STANDARD
IMPLEMENTATION
2.1 Algorithm Analysis of Multiple
Audio Standards
Most of the existing audio standards are based on
Psycho-acoustic Model to achieve high compression
ratio and ensure high audio quality. The algorithms
of main stream decoders are mainly composed of
Lossless Decoding, IQ (inverse quantization) and IT
(inverse transform).
Lossless Decoding, usually realized by VLD
(variable length decode), is used to decompress the
information which is originally compressed without
any distortions, and the most popular algorithm of
VLD is Huffman Decoding.
The IQ algorithms in various audio standards are
mostly nonlinear. For example, in AAC standard,
the IQ algorithm is realized by a nonlinear function
of 4/3 power.
The IT algorithm is used to transform spectral data
to the time domain, and in most audio standards
IMDCT is used as the realization method.
2.2 Complexity Analysis
For complexity analysis on various audio standards
(include AAC, MP3, AC-3, Vorbis and WMA),
some typical standards such as AAC, MP3 and
Vorbis are profiled to find out the key operation
modules.
The AAC LC decoder for the complexity analysis
is mainly composed of IMDCT, Huffman Decoding,
Inverse Quantization and some other modules. The
profile is based on MetaWare IDE for ARC
Version7.4.3, which simulates the ARC600 core.
The result of AAC profile is given in Figure 1,
which shows that the IMDCT module consumes
47.98% of decoding time.
Besides, Vorbis Standard is profiled on Sun Sparc
RISC CPU with a typical Vorbis Decoder referenced
by Vorbis Library. The largest time consumption
part of Vorbis decoder is IMDCT transform with
34% of total time.
Figure 1: Profile of AAC Decoder.
The conclusions from the algorithm and complexity
analysis of multiple audio standards are:
a) The filter-bank module in each standard
consumes the largest portion of decoding
time.
b) Most of the filter-banks are realized by
Radix-2 points IMDCT. (36-point or 12-
point IMDCT for MP3).
c) Other arithmetic tools are usually nonlinear
or composed of conditional branches, and
have significant distinctions among different
audio standards.
2.3 Software/Hardware Co-Design
Method for the Implementation of
Multi-Standard Decoder
The filter-bank modules of various standards are
realized by IMDCT, while other modules, which
may have significant distinctions among different
standards, usually introduce conditional branches or
de-multiplex processes. Therefore, these modules
are much more suitable to be implemented by CPU.
On the other hand, filter-bank modules of different
standards are quite similar except for the number of
points of IMDCT or the window shape. And filter-
bank module is also the key part in each standard. So
a common hardware engine implementation will be
much more efficient and convenient. As shown in
Figure 2, the decoding flows of AAC & MP3
standards are divided into software and hardware. In
hardware part, the Multi-Standard FILTERBANK is
configured to support different standards (AAC or
MP3) by parameter settings. More details about the
structure of Multi-Standard FILTERBANK will be
given in section 3.
Besides, the software on CPU and the hardware
engine are executing in pipeline. Figure 3 shows the
decoding process of MP3. After the software on
CPU decodes the first granule of a frame (including
left and right channel), CPU starts FILTERBANK
and continue to decode the second granule of this
47. 98
37. 54
1. 72
12. 76
IMDCT
Hu f f man
De c o d i n g
Inverse
Quant i zat i on
SIGMAP 2007 - International Conference on Signal Processing and Multimedia Applications
306