A Novel MPEG Audio Degrouping Algorithm and Its Architecture Design
- Tsung-Han Tsai^{1}Email author
DOI: 10.1155/2010/737450
© Tsung-Han 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.
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 audio-only applications to significantly reduce the requirements of transmission bandwidth and data storage with low distortion. The second phase of MPEG, labeled as MPEG-II, aims to support all the normative features listed in MPEG-I 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 MPEG-II AAC and the base of MPEG-IV 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 well-known 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 computation-intensive 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 low-end general purpose processors that especially the low-end general purpose processors that are initially chosen to play a simple role as a parser or controller. Even for some high-end 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 ROM-based 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 easy-for-use and compact-size design, it is suitably integrated as an Intellectual Property (IP) in System-on-Chip (SOC) design trend.
2. MPEG Degrouping Process
2.1. Grouping
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
{
}
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 MPEG-II decoding process [20]. In SOC design trend, the computation amount is not the only concern. Instead, an easy-for-use 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 Layer-II 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.
3.2. Arithmetic Operations for Mode 1, 2, 3
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 2-tuple 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 |
Implementation result with lookup table.
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 low-cost 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 11172-3: 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 13818-3: 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 low-bit-rate audio coding. Journal of the Audio Engineering Society 1997, 45(1-2):4-21.Google Scholar
- MPEG : ISO CD 13818-7: MPEG-2 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):990-994. 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 synthesis-subband approach. IEE Proceedings: Computers and Digital Techniques 2004, 151(3):245-251. 10.1049/ip-cdt:20040486Google Scholar
- Bang KH, Jeong NH, Kim JS, Park YC, Youn DH: Design and VLSI implementation of a digital audio-specific DSP core for MP3/AAC. IEEE Transactions on Consumer Electronics 2002, 48(3):790-795. 10.1109/TCE.2002.1037076View ArticleGoogle Scholar
- Tsai TH, Liu CN: A configurable common filterbank processor for multi-standard audio decoder. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences 2007, E90-A(9):1913-1923. 10.1093/ietfec/e90-a.9.1913View ArticleGoogle Scholar
- Maturi G: Single chip MPEG audio decoder. IEEE Transactions on Consumer Electronics 1992, 38(3):348-356. 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 MPEG-2 audio decoder. IEEE Transactions on Consumer Electronics 1996, 42(3):540-545. 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 413-416.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 412-415.Google Scholar
- Liu KY: Architecture for VLSI design of Reed-Solomon decoders. IEEE Transactions on Computers 1984, 33(2):178-189.MATHGoogle Scholar
- Wei S, Shimizu K:Modulo ( ) multipliers using a three-operand modular addition and booth recoding based on signed-digit number arithmetic. Proceedings of the IEEE International Symposium on Circuits and Systems, May 2003 221-224.Google Scholar
- York TA, Srisuchinwong B, Tsalides P, Hicks PJ, Thanailakis A: Design and VLSI implementation of mod-127 multiplier using cellular automaton-based data compression techniques. IEE Proceedings E 1991, 138(5):351-356.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):129-134. 10.1049/ip-cdt:19949982MATHGoogle Scholar
- Jhung Y, Park S: Architecture of dual mode audio filter for AC-3 and MPEG. Proceedings of the International Conference on Consumer Electronics (ICCE '97), June 1997 206-207.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: 181-184.Google Scholar
- Tsai TH, Chen LG, Liu YC: A novel MPEG-2 audio decoder with efficient data arrangement and memory configuration. IEEE Transactions on Consumer Electronics 1997, 43(3):598-604. 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.