• DocumentCode
    1307483
  • Title

    MMX-enabled Dolby Digital decoder

  • Author

    Abel, James C. ; Julier, Michael A.

  • Author_Institution
    Microcomput. Software Lab., Intel Corp., Chandler, AZ, USA
  • Volume
    17
  • Issue
    2
  • fYear
    2000
  • fDate
    3/1/2000 12:00:00 AM
  • Firstpage
    36
  • Lastpage
    42
  • Abstract
    Software decoding of Dolby Digital (an adaptive transform-based coder using a frequency-linear, critically sampled filterbank) allows it to become a baseline capability on the personal computer (PC), with greater flexibility than a hardware approach. Intel´s MMX technology provides instructions that can significantly speed up the execution of the Dolby Digital decoder, freeing up the processor to perform other tasks such as video decoding and/or audio enhancement. Intel´s MMX instructions operate on 8, 16, and 32 bits. The smaller the data size, the more operations per instruction are performed. Using 16 bits of accuracy uniformly through a Dolby Digital decoder is insufficient to pass the test suite. The challenge was to obtain both good execution speed and good audio quality. Although 32-bit floating-point numbers could be used throughout the data path and only use MMX technology for bit manipulation, this would not be the most processor-efficient method. To this end, we used 16-bit SIMD (single-instruction, multiple data) operations during much of the decoder, but performed 8- and 32-bit SIMD operations on certain sections. While we discuss a particular use of MMX technology, the MMX instruction set is general purpose in nature. We provide a description of MMX technology and then describe the major functional blocks of a Dolby Digital decoder and the special techniques used that take advantage of MMX technology. We also include a description of precision enhancements that were implemented to maintain accuracy and a description of other performance enhancements that were made. We conclude with results in terms of efficient processor utilization, numerical accuracy, and audio quality
  • Keywords
    adaptive codes; audio coding; channel bank filters; decoding; floating point arithmetic; microcomputer applications; parallel programming; signal sampling; transform coding; video coding; 16 bit; 32 bit; 8 bit; CPU; Dolby Digital decoder; Intel MMX technology; MMX instructions; SIMD operations; adaptive transform-based coder; audio enhancement; audio quality; bit manipulation; data path; data size; efficient processor utilization; execution speed; floating-point numbers; frequency-linear critically sampled filterbank; instruction set; numerical accuracy; personal computer; single-instruction multiple data; software decoding; video decoding; Decoding;
  • fLanguage
    English
  • Journal_Title
    Signal Processing Magazine, IEEE
  • Publisher
    ieee
  • ISSN
    1053-5888
  • Type

    jour

  • DOI
    10.1109/79.826410
  • Filename
    826410