 Research Article
 Open Access
A Novel MPEG Audio Degrouping Algorithm and Its Architecture Design
 TsungHan Tsai^{1}Email author
https://doi.org/10.1155/2010/737450
© TsungHan Tsai. 2010
 Received: 6 May 2010
 Accepted: 6 November 2010
 Published: 25 November 2010
Abstract
Degrouping is the key component in MPEG Layer II audio decoding. It mainly contains the arithmetic operations of division and modulo. So far no dedicated degrouping algorithm and architecture is well realized. In the paper we propose a novel degrouping algorithm and its architecture design with low complexity design consideration. Our approach relies on only using the addition and subtraction instead of the division and modulo arithmetic operations. By use of this technique, it achieves the equivalent result without any loss of accuracy. The proposed design is without any multiplier, divider and ROM table and thus it can reduce the design complexity and chip area. In addition, it does not need any programming effort on numerical analysis. The result shows that it takes the advantages of simple and low cost design. Furthermore, it achieves high efficiency on fixed throughput with only one clock cycle per sample. The VLSI implementation result indicates the gate counts are only 527.
Keywords
 Arithmetic Operation
 Gate Count
 Advance Audio Code
 Digital Audio Broadcasting
 Data Reordering
1. Introduction
MPEG audio coding standard is the international standard for the compression of digital audio signals [1]. It can be applied both for audiovisual and audioonly applications to significantly reduce the requirements of transmission bandwidth and data storage with low distortion. The second phase of MPEG, labeled as MPEGII, aims to support all the normative features listed in MPEGI audio and provides extension capabilities of multichannel and multilingual audio and on an extension of standard to lower sampling frequencies and lower bit rates [2, 3]. Besides, one of the audio coding, Advanced Audio Coding (AAC), is an international standard which is first created in MPEGII AAC and the base of MPEGIV general audio coding [4].
MPEG audio compression standard also defines three layers of compression, named Layer I, II, and III. Each successive layer offers better compression performance, but at a higher complexity and computation cost. Basically Layer I and II are similar and based on subband coding. The difference between them mainly relies on the formation of side information and a finer quantization is provided in Layer II. Layer III is a wellknown audio application and popularly named as MP3. It adopts more complex schemes such as hybrid filterbank, Huffman coding, and nonlinear quantization. From the viewpoint of hardware complexity and achieved quality, Layer II might be a reasonable compromise for general usage. In the official ISO/MPEG subject tests, Layer II codec shows an excellent performance of CD quality at a 128 Kbps per monophonic channel [5]. It has also been adopted in Digital Audio Broadcasting (DAB) standard.
Within the Layer II decoding, degrouping is the key component which can recover the samples from a more compressed codeword. The degrouping module is quite special compared with other popular compression techniques, such as subband or Huffman decoding. Although the computationintensive characteristic in subband decoding induces large computation complexity, it can be efficiently improved no matter in algorithm or architecture level [6, 7]. However, as will be described in more detail below, the arithmetic operations for degrouping mainly contain division and modulo. Unfortunately, degrouping operation only happen in Layer II decoding. Even in a higher layer, Layer III (MP3), the degrouping is reorganized and recombined in Huffman decoding to eliminate the division and modulo computation. For the recent trend, a universal MPEG audio decoding which can support multiple standards is widely developed and applied in many multimedia and communication devices [8, 9]. They solved the common and regular module, synthesis subband with relative improvements. However, they still left some unsolved issue on the other nonregular modules. In fact, degrouping is a must module no matter the target design is on Layer II only, or on a multistandard decoder.
As in the conventional methods, the general purpose CPU, DSP, or ASP (audio signal processor) usually provides some division or modulo instructions to execute the arithmetic operations of degrouping [10–12]. Basically these designs implied either a divider directly, or a multiplier by finding the inverse of the divisor and multiplying the inverse by the dividend. In fact, the numerical analysis methods suffer some lowend general purpose processors that especially the lowend general purpose processors that are initially chosen to play a simple role as a parser or controller. Even for some highend processors, to support the additional instruction set of division or modulo is also an overhead. Consequently, these approaches will increase the hardware complexity and the chip area. Several techniques used a ROMbased table lookup to replace the multiplier [13, 14]. However, ROM circuit grows exponentially with the dimension of the finite field. Although many fast algorithms for computing the division and modulo arithmetic operations have been presented throughout the years [15–17], these techniques cannot be completely adopted in the MPEG degrouping algorithm. One of the concern is that these previous methods mainly focused on generating the modulo calculation only. Quotient results are useless for their need. Nevertheless, in degrouping the quotient cannot be skipped because it represents the codeword for the next iteration. So far no dedicated degrouping algorithm and its architecture is investigated.
In the paper, we propose a novel MPEG degrouping algorithm and its architecture design. It is built by using quite different design concept than all the reference works. Our approach relies on just only using the addition and subtraction instead of the traditional division and modulo arithmetic operations, and without any loss of accuracy. It eliminates the need of iterative division computation in original algorithm. Based on the proposed algorithm, no multiplier, divider and ROM table is needed. The design takes the advantages of simple and low cost, and high efficiency result with fixed throughput. It only occupies 527 gate counts with 8.35 ns propagation delay. With this easyforuse and compactsize design, it is suitably integrated as an Intellectual Property (IP) in SystemonChip (SOC) design trend.
2. MPEG Degrouping Process
2.1. Grouping
The relations between the coded sample and the three consecutive subband samples.
Mode ( )  Quantization Level  Equation  Range of  Number bits of 

1  3 
 0–26  5 
2  5 
 0–124  7 
3  9 
 0–728  10 
2.2. Degrouping
While grouping is used in encoder, it is necessary to separate the combined sample codeword to several individual samples by degrouping in decoder. According to the grouping equation in Table 1, degrouping has to perform the division and modulo operations to separate the three individual samples. This process is defined by MPEG standard algorithm and depicted in Algorithm 1. Within the degrouping algorithm, the can be 3, 5, and 9.
Algorithm 1: Standard degrouping algorithm.
Algorithm DEGROUPING
for ( ; ; )
{
;
;
}
where the reconstructed sample
the codeword
the number of quantization steps
2.3. Design Considerations
Table 3 summarizes the total arithmetic operations used in MPEG Layer II audio decoding. In the whole decoding, a characteristic analysis on the arithmetic operations shows that multiplication and addition are the most common operations where they are mainly applied in synthesis subband filter [18, 19]. Specifically, degrouping only occupies about 1% computation power in the whole MPEGII decoding process [20]. In SOC design trend, the computation amount is not the only concern. Instead, an easyforuse issue without additional design effort on overall system should be applicable. Particular, the degrouping arithmetic operations are fully different from any other decoding functions and thus it cannot be shared with other resources. When facing the design of either LayerII decoding only or a universal MPEG audio decoder, such a little but unavoidable computation engine leads to special design consideration and effort. Consequently, to reduce the circuit overhead and complexity, a low cost and high performance degrouping algorithm and its architecture are necessary.
3. Proposed Algorithm
A degrouping function in MPEG standard includes the division and modulo arithmetic operation. Unlike a straightforward implementation for these required arithmetic operations, our approach accomplishes it with only a simple addition and shifter operation. We make a mathematical deduction which implies it as a generic formula. In Section 3.1, a general form is derived. Concerning the specification of degrouping, Section 3.2 conducts the proposed degrouping algorithm.
3.1. General Form as
and are easily calculated. They can be viewed as the approximated results, which are not exactly equivalent to the correct quotient and remainder, and . From (6), because , for , the range of and can be clarified as follows.
Case 1.
Case 2.
Now let us take consideration on three modes of , and 3.
3.2. Arithmetic Operations for Mode 1, 2, 3
Calculation and deviation range of and .
Modes  Calculation method  Deviation range 

mode 1 ( ) 



 
mode 2 ( ) 



 
mode 3 ( ) 




Arithmetic operations in MPEG Layer II audio decoding.
Classification  Function  Operations 

IQ  Degrouping 

Requantization 
 
Rescaling 
 
Synthesis  IMDCT 

Subband  IPQMF 

3.3. Data Reordering Scheme
4. Architecture Design
As indicated in Figure 6, the signals of , , and can be demultiplexed into the partial quotients of and , and the partial remainders of and . , , and represent the operand with the 2tuple representation of and in Figure 3. These partial results are fed into the two subtractors to generate the and . The following two adders take the roles of correcting the and into the real results of and . Finally, the operand of is fed back and latched in the input register for the use of next degrouping cycle. This approach achieves the fixed throughput with one clock cycle per sample.
5. Comparisons and Experimental Results
Comparisons between the original and proposed algorithm.
Computation functions  Standard algorithm  Proposed algorithm  

Original  Reordering  
Division  one  —  — 
Modulo  one  —  — 
Addition  —  one  one 
Subtraction  —  two  one 
Architectural implementation comparisons between the conventional techniques and the proposed design.
Architecture  Computation  Throughput  Wordlength 

Dividor/Modulo  DIV/MOD  fixed  fixed 
Serial Dividor/Modulo  ADD/SUB  not fixed  fixed 
Multiplier  MPY  fixed  depend on precision of divisor 
Lookup ROM Table  —  fixed  1184 codewords (maximum wordlength: 12 bits) 
Proposed Design  ADD/SUB  fixed (1 sample/cycle)  fixed 
Statistical result of implemented degrouping processor.
Technology  0.35 μ TSMC 1P4M 

Gate count  527 
Area  μ^{2} m 
Measured propagation delay  8.35 ns 
Maximum operation frequency  119.76 MHz 
Implementation result with lookup table.
ROM size  Gate count 

 164.63 
 968.66 
 2269.88 
Total  3403.17 
Implementation result with programmable processor.
Processor type  Instruction count  Cycle count  Code size 

ARM7TDMI  192  223  1.98 KB 
ARM920T  192  142  1.94 KB 
6. Conclusions
Although only occupying little computation power in the whole decoding process, degrouping process is an essential component in MPEG Layer II audio decoding, especially when meeting the universal MPEG audio decoding requirement. A straightforward design without thorough consideration on algorithm makes an inefficient result. So far no dedicated degrouping algorithm and architecture is developed. We have proposed a novel degrouping algorithm which relies on only using the addition and subtraction instead of the division and modulo arithmetic operations supplied by standard algorithm. It maintains high efficiency without loss of any accuracy. The proposed design is without any multiplier, divider, and ROM table. In addition, to reduce the arithmetic operations in saving of one subtractor, a modified scheme of data reordering is constructed. Based on our algorithm, we propose a degrouping architecture with the advantages of simple and lowcost design, and high efficient requirement on fixed throughput. Compared with the general approaches such as direct table lookup or direct programminglevel solution, our method outperforms them either in physical gate count or throughput. It is easily applicable without any programming cost. The VLSI implementation result shows that only 527 gate counts are realized. It is proper to be integrated as a hard IP in the SOC design trend.
Authors’ Affiliations
References
 MPEG : ISO CD 111723: coding of moving pictures and associated audio for digital storage media at up to about 1.5 Mb/s. 1991.Google Scholar
 MPEG : ISO CD 138183: coding of moving pictures and associated audio for digital storage media at up to about 1.5 Mb/s. 1994.Google Scholar
 Brandenburg K, Bosi M: Overview of MPEG audio: current and future standards for lowbitrate audio coding. Journal of the Audio Engineering Society 1997, 45(12):421.Google Scholar
 MPEG : ISO CD 138187: MPEG2 Advanced Audio Coding , AAC. 1997.Google Scholar
 Rao KR, Hwang JJ: Techniques and Standards for Digital Image/Video/Audio Coding. Prentice Hall, Upper Saddle River, NJ, USA; 1996.Google Scholar
 Lee SW: Improved algorithm for efficient computation of the forward and backward MDCT in MPEG audio coder. IEEE Transactions on Circuits and Systems II 2001, 48(10):990994. 10.1109/82.974789View ArticleGoogle Scholar
 Tsai TH, Yang YC: Low power and cost effective VLSI design for an MP3 audio decoder using an optimised synthesissubband approach. IEE Proceedings: Computers and Digital Techniques 2004, 151(3):245251. 10.1049/ipcdt:20040486Google Scholar
 Bang KH, Jeong NH, Kim JS, Park YC, Youn DH: Design and VLSI implementation of a digital audiospecific DSP core for MP3/AAC. IEEE Transactions on Consumer Electronics 2002, 48(3):790795. 10.1109/TCE.2002.1037076View ArticleGoogle Scholar
 Tsai TH, Liu CN: A configurable common filterbank processor for multistandard audio decoder. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences 2007, E90A(9):19131923. 10.1093/ietfec/e90a.9.1913View ArticleGoogle Scholar
 Maturi G: Single chip MPEG audio decoder. IEEE Transactions on Consumer Electronics 1992, 38(3):348356. 10.1109/30.156706View ArticleGoogle Scholar
 Han SC, Yoo SK, Park SW, Jeong NH, Kim JS, Kim KIS, Han YT, Youn DH: An ASIC implementation of the MPEG2 audio decoder. IEEE Transactions on Consumer Electronics 1996, 42(3):540545. 10.1109/30.536154View ArticleGoogle Scholar
 Bergher L, Figari X, Frederiksen F, Froidevaux M, Gentit JM, Queinnec O: MPEG audio decoder for consumer applications. Proceedings of the 17th Annual Custom Integrated Circuits Conference, May 1995 413416.Google Scholar
 Soderstrand MA: A new hardware implementation of modulo adders for residue number systems. Proceedings of the 26th Midwest Symposium on Circuits and Systems, 1983 412415.Google Scholar
 Liu KY: Architecture for VLSI design of ReedSolomon decoders. IEEE Transactions on Computers 1984, 33(2):178189.MATHGoogle Scholar
 Wei S, Shimizu K:Modulo ( ) multipliers using a threeoperand modular addition and booth recoding based on signeddigit number arithmetic. Proceedings of the IEEE International Symposium on Circuits and Systems, May 2003 221224.Google Scholar
 York TA, Srisuchinwong B, Tsalides P, Hicks PJ, Thanailakis A: Design and VLSI implementation of mod127 multiplier using cellular automatonbased data compression techniques. IEE Proceedings E 1991, 138(5):351356.Google Scholar
 Piestrak SJ: Design of residue generators and multioperand adders modulo 3 built of multioutput threshold circuits. IEE Proceedings: Computers and Digital Techniques 1994, 141(2):129134. 10.1049/ipcdt:19949982MATHGoogle Scholar
 Jhung Y, Park S: Architecture of dual mode audio filter for AC3 and MPEG. Proceedings of the International Conference on Consumer Electronics (ICCE '97), June 1997 206207.Google Scholar
 Krishnan T, Oraintara S: Fast and lossless implementation of the forward and inverse MDCT computation in MPEG audio coding. Proceedings of the IEEE International Symposium on Circuits and Systems, May 2002 2: 181184.Google Scholar
 Tsai TH, Chen LG, Liu YC: A novel MPEG2 audio decoder with efficient data arrangement and memory configuration. IEEE Transactions on Consumer Electronics 1997, 43(3):598604. 10.1109/30.628682View ArticleGoogle Scholar
 ARM website http://www.arm.com/
Copyright
This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.