Skip to main content
Log in

Efficient MDCT Recursive Structure for VLSI Implementation

  • Published:
Circuits, Systems, and Signal Processing Aims and scope Submit manuscript

Abstract

Modified discrete cosine transform (MDCT) is a computationally intensive fundamental processing block for mapping time into frequency in various versions of MPEG audio coding. An efficient algorithm for MDCT computation is a basic requirement to realize low-cost audio codec. This paper introduces a new recursive algorithm and architecture for MDCT. The proposed architecture requires minimum hardware and execution time. Folding of the input sequence is performed multiple times in the subsequent groups which results in a significant reduction in real multiplication and real addition operations. Also, fewer number of execution cycles are required to generate the output through this algorithm. The proposed structure is suitable for parallel VLSI implementation as it is simple, regular and modular.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

References

  1. V. Britanak, H.J.L. Arriëns, Fast computational structures for an efficient implementation of the complete TDAC analysis/synthesis MDCT/MDST filter banks. Signal Process. 89(7), 1379–1394 (2009)

    Article  Google Scholar 

  2. V. Britanak, An efficient computing of oddly stacked MDCT/MDST via evenly stacked MDCT/MDST and vice versa. Signal Process. 85(7), 1353–1374 (2005)

    Article  Google Scholar 

  3. V. Britanak, A survey of efficient MDCT implementations in MP3 audio coding standard: retrospective and state-of-the-art. Signal Process. 91(4), 624–672 (2011)

    Article  Google Scholar 

  4. Y.H. Chan, L.P. Chau, W.C. Siu, Efficient implementation of discrete cosine transforms using recursive filter structure. IEEE Trans. Circuits Syst. Video Technol. 4(6), 550–552 (1994)

    Article  Google Scholar 

  5. C.H. Chen, B.D. Liu, J.F. Yang, Recursive architectures for realizing modified discrete cosine transform and its inverse. IEEE Trans. Circuits Syst. II Analog Digit. Signal Process. 50(1), 38–45 (2003)

    Article  Google Scholar 

  6. H.C. Chiang, J.C. Liu, Regressive implementations for the forward and inverse MDCT in MPEG audio coding. IEEE Signal Process. Lett. 3(4), 116–118 (1996)

    Article  Google Scholar 

  7. D.F. Chiper, An efficient algorithm for a memory-based systolic array VLSI implementation of type IV DCT, in International Symposium on Signals, Circuits and Systems (2015), pp. 1–4

  8. D.F. Chiper, A parallel VLSI algorithm for a high throughput systolic array VLSI implementation of type IV DCT, in International Symposium on Signals, Circuits and Systems (2009), pp. 1–4

  9. D.F. Chiper, A new VLSI algorithm for a high-throughput implementation of type IV DCT, in International Conference on Communications (2016), pp. 17–20

  10. D.F. Chiper, A new VLSI algorithm and architecture for the hardware implementation of type IV discrete cosine transform using a pseudo-band correlation structure. Open Comput Sci 1(2), 243–250 (2011)

    Article  Google Scholar 

  11. R.K. Chivukula, Y.A. Reznik, Efficient implementation of a class of MDCT/IMDCT filters banks for speech and audio coding applications, in IEEE International Conference on Acoustics, Speech and Signal Processing (2008), pp. 213–216

  12. S.C. Lai, S.F. Lei, C.H. Luo, Common architecture design of novel recursive MDCT and IMDCT algorithms for application to AAC, AAC in DRM, and MP3 codecs. IEEE Trans. Circuits Syst. II Express Briefs 56(10), 793–797 (2009)

    Article  Google Scholar 

  13. S.F. Lei, S.C. Lai, Y.T. Hwang, C.H. Luo, A high-precision algorithm for the forward and inverse MDCT using the unified recursive architecture, in IEEE International Symposium on Consumer Electronics (2008), pp. 1–4

  14. S.F. Lei, S.C. Lai, P.Y. Cheng, C.H. Luo, Low complexity and fast computation for recursive MDCT and IMDCT algorithms. IEEE Trans. Circuits Syst. II Express Briefs 57(7), 571–575 (2010)

    Article  Google Scholar 

  15. S.C. Lai, Y.P. Yeh, W.C. Tseng, S.F. Lei, Low-cost and high-accuracy design of fast recursive MDCT/MDST/IMDCT/IMDST algorithms and their realization. IEEE Trans. Circuits Syst. II Express Briefs 59(1), 65–69 (2012)

    Article  Google Scholar 

  16. S.C. Lai, Y.P. Yeh, S.F. Lei, Coefficient-free and high-accuracy recursive kernel design for forward and inverse transforms of MDST and MDCT, in International Conference on Communications, Circuits and Systems (2013), vol. 1, pp. 38–41

  17. L. Li, H. Miao, X. Li, D. Guo, Efficient architectures of MDCT/IMDCT implementation for mpeg audio codec, in International Conference on Anti-counterfeiting, Security, and Identification in Communication (2009), pp. 156–159

  18. J. Matsumoto, S. Omori, M. Nishiguchi, K. Iijima, Voice encoding method and apparatus using modified discrete cosine transform. U.S. Patent No. 5,819,212 (1998)

  19. V. Nikolajevic, G. Fettweis G, New recursive algorithms for the forward and inverse MDCT, in IEEE Workshop on Signal Processing Systems (2001), pp. 51–57

  20. V. Nikolajevic, G. Fettweis, Computation of forward and inverse MDCT using Clenshaw’s recurrence formula. IEEE Trans. Signal Process. 51(5), 1439–1444 (2003)

    Article  MathSciNet  Google Scholar 

  21. V. Nikolajevic, G. Fettweis, New recursive algorithms for the unified forward and inverse MDCT/MDST. J. VLSI Signal Process. 34(3), 203–208 (2003)

    Article  Google Scholar 

  22. S.M. Perera, Signal flow graph approach to efficient and forward stable DST algorithms. Linear Algebra Appl. 542, 360–390 (2018)

    Article  MathSciNet  Google Scholar 

  23. S.M. Perera, A. Madanayake, N. Dornback, N. Udayanga, Design and digital implementation of fast and recursive DCT II–IV algorithms. Circuits Syst Signal Process. 38(2), 529–555 (2019)

    Article  Google Scholar 

  24. J.P. Princen, M.H. Chan, System and method for noise reduction using bi-orthogonal modified discrete cosine transform. U.S. Patent No. 6,636,830 (2003)

  25. X. Shao, S.G. Johnson, Type-IV DCT, DST, and MDCT algorithms with reduced numbers of arithmetic operations. Signal Process. 88(6), 1313–1326 (2008)

    Article  Google Scholar 

  26. H. Shu, X. Bao, C. Toumoulin, L. Luo, Radix-3 algorithm for the fast computation of forward and inverse MDCT. IEEE Signal Process. Lett. 14(2), 93–96 (2007)

    Article  Google Scholar 

  27. T.K. Truong, P.D. Chen, T.C. Cheng, Fast algorithm for computing the forward and inverse MDCT in MPEG audio coding. Signal Process. 86(5), 1055–1060 (2006)

    Article  Google Scholar 

  28. C.T. Wang, T.S. Chen, W.H. Chao, A new audio watermarking based on modified discrete cosine transform of MPEG/audio layer III, in IEEE International Conference on Networking, Sensing and Control (2004), vol. 2, pp. 984–989

  29. J.L. Wang, C.B. Wu, B.D. Liu, J.F. Yang, Implementation of the discrete cosine transform and its inverse by recursive structures, in IEEE Workshop on Signal Processing Systems (1999), pp. 120–130

  30. J.S. Wu, H.Z. Shu, L. Senhadji, L.M. Luo, A fast algorithm for the computation of 2-D forward and inverse MDCT. Signal Process. 88(6), 1436–1446 (2008)

    Article  Google Scholar 

Download references

Acknowledgements

The author would like to acknowledge the anonymous reviewers for their valuable comments. This study was supported by University Grant of Commissions, Government of India [Grant No. 3579(NET-DEC.2013)].

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Priyanka Jain.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix

Appendix

1.1 Computation of MDCT Coefficients for an Input Sequence \( x\left( n \right) \) Using MATLAB 8.5 Version

Given a sequence of \( N = 16 \) samples

$$ x\left( n \right) = \left[ {9, 5, 10, 4, 8, 12, 6, 7, 23, 17, 11, 32, 15, 8, 16, 17 } \right],\quad n = 0, 1, 2, \ldots , 15 $$
(34)

Computation of \( X\left( k \right) \) using Eq. (1)

$$ X\left( k \right) = \left[ { - 125.1546, - 39.4699,15.3834,6.2849, - 46.5619, - 35.1487,1.7654,15.2230 } \right], \quad k = 0, 1, 2, \ldots , 7 $$
(35)

Changing the order of input sequence by applying Eqs. (4) and (5) in Eq. (34)

$$ g\left( i \right) = \left[ { - 15, - 8, - 16, - 17,9,5,10,4,8,12,6,7,23,17,11,32} \right], \quad i = 0, 1, 2, \ldots , 15 $$
(36)

From Eq. (23b), we get

$$ w_{0} \left( n \right) = \left[ { - 3.2091, - 6.4826, - 17.6485, - 27.4492 } \right],\quad n = 0, 1, 2,3 $$
(37)
$$ w_{1} \left( n \right) = \left[ { - 19.7217, 6.3975} \right],\quad n = 0,1 $$
(38)
$$ w_{2} \left( n \right) = \left[ { - 35.1727} \right],\quad n = 0 $$
(39)
$$ x^{3} \left( 0 \right) = \left[ { - 101.4571 } \right] $$
(40)

Using Eq. (32) to obtain \( H_{ji}^{p} \left( k \right) \)

$$ H_{3i}^{p} \left( k \right) = \left[ { - 23.6976, 31.1557, - 21.6911,15.2230} \right],\quad i = 0, 1, 2, 3 $$
(41)
$$ H_{1i}^{p} \left( k \right) = \left[ { - 15.7723, - 13.4577 } \right],\quad i = 0, 1, 2 $$
(42)
$$ H_{0i}^{p} \left( k \right) = \left[ { - 24.8708} \right],\quad i = 0 $$
(43)

By Eq. (33), we get MDCT coefficients:

$$ X\left( k \right) = \left[ { - 125.1546, - 39.4699,15.3834,6.2849, - 46.561, - 35.1487,1.7654,15.2230} \right],\quad k = 0,1,2, \ldots ,7 $$
(44)

From Eq. (44), we obtained the MDCT coefficients as given in (35).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Dahiya, P., Jain, P. Efficient MDCT Recursive Structure for VLSI Implementation. Circuits Syst Signal Process 39, 1372–1386 (2020). https://doi.org/10.1007/s00034-019-01195-x

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00034-019-01195-x

Keywords

Navigation