MPEG-1 Layer III Audio CODEC

Total Page:16

File Type:pdf, Size:1020Kb

MPEG-1 Layer III Audio CODEC MPEG-1 Layer III Audio CODEC Project Design Brad Erwin Mary Lou Kesse March 25, 1999 Brad Erwin MPEG 1 – Layer III Audio Codec Mary Lou Kesse 1 PROJECT SUMMARY...................................................................................................................... 2 2 PROJECT DESCRIPTION................................................................................................................ 3 2.1 BACKGROUND & PROJECT FRAMEWORK .......................................................................................... 3 2.2 PHASE I – ENCODER SIMULATION ................................................................................................... 4 2.1.1 Standard MP3 Encoding Subsystem ....................................................................................... 5 2.1.2 Simplified MP3 Encoding Subsystem...................................................................................... 7 2.3 PHASE II – DECODER SOFTWARE DEVELOPMENT ............................................................................ 9 2.3.1 Standard MP3 Decoding Subsystem ....................................................................................... 9 2.3.2 Software Development .......................................................................................................... 10 2.4 PHASE III – HARDWARE TEST......................................................................................................... 12 3 PROJECT SCHEDULE ................................................................................................................... 14 4 CURRENT RESULTS...................................................................................................................... 15 4.1 PARALLEL VS. CASCADE FILTERBANK ARCHITECTURE .................................................................. 15 4.2 ENCODER SIMULATION ................................................................................................................... 22 5 EQUIPMENT REQUIRED.............................................................................................................. 25 6 RELATED RESOURCES ................................................................................................................ 26 6.1 JOURNALS AND BOOKS.................................................................................................................... 26 6.2 STANDARDS .................................................................................................................................... 26 6.3 WEBSITES........................................................................................................................................ 27 APPENDIX A - PSYCHOACOUSTICS................................................................................................. 28 APPENDIX B - MATLAB CODE............................................................................................................. 30 B.1 PARALLEL FILTERBANK CODE ........................................................................................................ 30 B.2 CASCADE FILTERBANK CODE.......................................................................................................... 32 B.3 COMPRESSION SIMULATION CODE .................................................................................................. 34 B. 4 ASSOCIATED FUNCTIONS ............................................................................................................... 37 Date: 03/25/99 1 Brad Erwin MPEG 1 – Layer III Audio Codec Mary Lou Kesse 1 Project Summary For our senior project, we propose to develop an MPEG-1 Layer III (MP3) audio decoder with a Texas Instruments TMS320C6x digital signal processor (DSP). Achieving this goal requires a thorough investigation of the MPEG coding algorithm, the structure of MP3 data frames, and the general theories behind signal processing and audio compression. Because of the complexity of the project, there are several deliverables: A) simulation of a simplified compression algorithm with MATLAB B) development and simulation of C code to decode standard MPEG-1 Layer III data frames with the TMS320C6x DSP. C) implementation of the decoding software on a TMS320C6x evaluation board. Date: 03/25/99 2 Brad Erwin MPEG 1 – Layer III Audio Codec Mary Lou Kesse 2 Project Description Before going into a detailed description of the different phases of the project, background information concerning the MPEG-1 Layer III algorithm and the project framework will be discussed. Afterwards, the project phases will be described and related to the major subsystems of the Layer III algorithm. 2.1 Background & Project Framework To fully understand the framework of the project, it is necessary to be familiar with the fundamentals of the MPEG-1 Layer III algorithm. A simplified functional description of the algorithm is illustrated below as Figure 1. Audio Input #1 Encoding Subsystem #2 Control MP3 #5 Signals Bitstream Decoding Subsystem #3 Audio Output #4 Figure 1 -- Functional Description of MP3 Algorithm Date: 03/25/99 3 Brad Erwin MPEG 1 – Layer III Audio Codec Mary Lou Kesse From the illustration, it is obvious that the MP3 algorithm has two major subsystems, the encoder and decoder. The encoding subsystem (Figure 1, Block #2) produces an MP3 bitstream by compressing the audio input (Figure 1, Block #1) according to the MPEG-1 Layer III specification. Under ideal circumstances, the compression algorithm is capable of compressing CD-quality stereo audio by a factor of 12:1 over PCM-coded digital audio with little loss in signal quality. The decoding subsystem (Figure 1, Block #3) interprets the MP3 bitstream and produces an audio signal (Figure 1, Block #4). Ideally, the signal produced by the decoding subsystem is perceptually identical to the original signal. The behavior of both subsystems is governed by a set of control signals (Figure 1, Block #5). These control signals provide information about the audio signal such as the sampling frequency, bitrate, and signal type (monophonic or stereophonic). Due to time and resource constraints, the entire MPEG-1 Layer III algorithm will not be implemented in this project. Instead, a simplified encoding subsystem will be simulated with MATLAB to develop a familiarity with the theories behind signal processing and audio compression. Once the encoder simulation phase is complete, software will be developed for the TMS320C6x DSP to decode the MP3 bitstream and reconstruct the original signal. After debugging, this code will be uploaded to a TMS320C6x evaluation board for demonstration. 2.2 Phase I – Encoder Simulation Though the entire MPEG-1 Layer III encoding subsystem will not be fully implemented in the project, a moderately sophisticated MATLAB simulation will be Date: 03/25/99 4 Brad Erwin MPEG 1 – Layer III Audio Codec Mary Lou Kesse developed to demonstrate the processes used in a “real” encoder. The components of the standard MP3 encoding system are illustrated below in Figure 2; the simplified encoding simulation, Figure 3. 2.1.1 Standard MP3 Encoding Subsystem Digital Audio 1 Input (PCM) 750Hz Bandpass 2 Filter Bank 32 3 ↓ Psychoacoustic Model 6 32 4 MDCT 576 5 Encoder 576 Bitstream 7 Formatting MP3 Bitstream Figure 2 - Standard MP3 Encoding Subsystem The heart of the Layer III algorithm is a bank of filters (Figure 2, Block #2) that break the input signal (Figure 2, Block #1) into thirty-two equally spaced frequency subbands depending upon the Nyquist frequency of the original signal. For instance, if the Nyquist frequency of the original signal is 24Khz, the filter bank would divide the Date: 03/25/99 5 Brad Erwin MPEG 1 – Layer III Audio Codec Mary Lou Kesse signal into partitions approximately 750Hz wide. In this case, the output of the lowest magnitude subband would contain signal components from 0 – 750Hz; the next, 750Hz – 1500Hz, etc. From the filterbank, a downsampler (Figure 2, Block #3) and an eighteen point modified discrete cosine transform (MDCT, Figure 2, Block #4) process the thirty-two subbands. The downsampler reduces the amount of data required for each subband by retaining only every thirty-second sample (i.e. a downsampling factor of thirty-two). However, the total amount of data required for the signal remains the same because there are thirty-two subbands in all. For example, if there are 100 original audio samples, the filterbank creates thirty-two subbands, each with 100 samples. This increases the number of samples to 3200 (100 * 32). After downsampling, the number of samples is reduced to the 100. The discrete cosine transform increases the accuracy of the filterbank by splitting each of the thirty-two subbands into eighteen more subbands for a total of 576 (32 * 18). Simultaneously, a psychoacoustic model is applied to the input signal to determine which frequency bands should be retained. The model (Figure 2, Block #6) takes advantage of the masking properties of the human auditory system to identify unneeded components present in the original signal. (For a more detailed discussion of psychoacoustics, see Appendix A) The psychoacoustic model provides data about these spurious components to the encoder (Figure 5, Block #5). The encoder uses the data provided by the model to determine how to encode the 576 subband signals. To achieve data compression, the encoder ignores subbands that are completely masked by other signal components. Additionally, subbands that are Date: 03/25/99 6 Brad Erwin MPEG 1 – Layer III Audio Codec Mary
Recommended publications
  • Data Compression: Dictionary-Based Coding 2 / 37 Dictionary-Based Coding Dictionary-Based Coding
    Dictionary-based Coding already coded not yet coded search buffer look-ahead buffer cursor (N symbols) (L symbols) We know the past but cannot control it. We control the future but... Last Lecture Last Lecture: Predictive Lossless Coding Predictive Lossless Coding Simple and effective way to exploit dependencies between neighboring symbols / samples Optimal predictor: Conditional mean (requires storage of large tables) Affine and Linear Prediction Simple structure, low-complex implementation possible Optimal prediction parameters are given by solution of Yule-Walker equations Works very well for real signals (e.g., audio, images, ...) Efficient Lossless Coding for Real-World Signals Affine/linear prediction (often: block-adaptive choice of prediction parameters) Entropy coding of prediction errors (e.g., arithmetic coding) Using marginal pmf often already yields good results Can be improved by using conditional pmfs (with simple conditions) Heiko Schwarz (Freie Universität Berlin) — Data Compression: Dictionary-based Coding 2 / 37 Dictionary-based Coding Dictionary-Based Coding Coding of Text Files Very high amount of dependencies Affine prediction does not work (requires linear dependencies) Higher-order conditional coding should work well, but is way to complex (memory) Alternative: Do not code single characters, but words or phrases Example: English Texts Oxford English Dictionary lists less than 230 000 words (including obsolete words) On average, a word contains about 6 characters Average codeword length per character would be limited by 1
    [Show full text]
  • Video Codec Requirements and Evaluation Methodology
    Video Codec Requirements 47pt 30pt and Evaluation Methodology Color::white : LT Medium Font to be used by customers and : Arial www.huawei.com draft-filippov-netvc-requirements-01 Alexey Filippov, Huawei Technologies 35pt Contents Font to be used by customers and partners : • An overview of applications • Requirements 18pt • Evaluation methodology Font to be used by customers • Conclusions and partners : Slide 2 Page 2 35pt Applications Font to be used by customers and partners : • Internet Protocol Television (IPTV) • Video conferencing 18pt • Video sharing Font to be used by customers • Screencasting and partners : • Game streaming • Video monitoring / surveillance Slide 3 35pt Internet Protocol Television (IPTV) Font to be used by customers and partners : • Basic requirements: . Random access to pictures 18pt Random Access Period (RAP) should be kept small enough (approximately, 1-15 seconds); Font to be used by customers . Temporal (frame-rate) scalability; and partners : . Error robustness • Optional requirements: . resolution and quality (SNR) scalability Slide 4 35pt Internet Protocol Television (IPTV) Font to be used by customers and partners : Resolution Frame-rate, fps Picture access mode 2160p (4K),3840x2160 60 RA 18pt 1080p, 1920x1080 24, 50, 60 RA 1080i, 1920x1080 30 (60 fields per second) RA Font to be used by customers and partners : 720p, 1280x720 50, 60 RA 576p (EDTV), 720x576 25, 50 RA 576i (SDTV), 720x576 25, 30 RA 480p (EDTV), 720x480 50, 60 RA 480i (SDTV), 720x480 25, 30 RA Slide 5 35pt Video conferencing Font to be used by customers and partners : • Basic requirements: . Delay should be kept as low as possible 18pt The preferable and maximum delay values should be less than 100 ms and 350 ms, respectively Font to be used by customers .
    [Show full text]
  • (A/V Codecs) REDCODE RAW (.R3D) ARRIRAW
    What is a Codec? Codec is a portmanteau of either "Compressor-Decompressor" or "Coder-Decoder," which describes a device or program capable of performing transformations on a data stream or signal. Codecs encode a stream or signal for transmission, storage or encryption and decode it for viewing or editing. Codecs are often used in videoconferencing and streaming media solutions. A video codec converts analog video signals from a video camera into digital signals for transmission. It then converts the digital signals back to analog for display. An audio codec converts analog audio signals from a microphone into digital signals for transmission. It then converts the digital signals back to analog for playing. The raw encoded form of audio and video data is often called essence, to distinguish it from the metadata information that together make up the information content of the stream and any "wrapper" data that is then added to aid access to or improve the robustness of the stream. Most codecs are lossy, in order to get a reasonably small file size. There are lossless codecs as well, but for most purposes the almost imperceptible increase in quality is not worth the considerable increase in data size. The main exception is if the data will undergo more processing in the future, in which case the repeated lossy encoding would damage the eventual quality too much. Many multimedia data streams need to contain both audio and video data, and often some form of metadata that permits synchronization of the audio and video. Each of these three streams may be handled by different programs, processes, or hardware; but for the multimedia data stream to be useful in stored or transmitted form, they must be encapsulated together in a container format.
    [Show full text]
  • Image Compression Using Discrete Cosine Transform Method
    Qusay Kanaan Kadhim, International Journal of Computer Science and Mobile Computing, Vol.5 Issue.9, September- 2016, pg. 186-192 Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320–088X IMPACT FACTOR: 5.258 IJCSMC, Vol. 5, Issue. 9, September 2016, pg.186 – 192 Image Compression Using Discrete Cosine Transform Method Qusay Kanaan Kadhim Al-Yarmook University College / Computer Science Department, Iraq [email protected] ABSTRACT: The processing of digital images took a wide importance in the knowledge field in the last decades ago due to the rapid development in the communication techniques and the need to find and develop methods assist in enhancing and exploiting the image information. The field of digital images compression becomes an important field of digital images processing fields due to the need to exploit the available storage space as much as possible and reduce the time required to transmit the image. Baseline JPEG Standard technique is used in compression of images with 8-bit color depth. Basically, this scheme consists of seven operations which are the sampling, the partitioning, the transform, the quantization, the entropy coding and Huffman coding. First, the sampling process is used to reduce the size of the image and the number bits required to represent it. Next, the partitioning process is applied to the image to get (8×8) image block. Then, the discrete cosine transform is used to transform the image block data from spatial domain to frequency domain to make the data easy to process.
    [Show full text]
  • MC14SM5567 PCM Codec-Filter
    Product Preview Freescale Semiconductor, Inc. MC14SM5567/D Rev. 0, 4/2002 MC14SM5567 PCM Codec-Filter The MC14SM5567 is a per channel PCM Codec-Filter, designed to operate in both synchronous and asynchronous applications. This device 20 performs the voice digitization and reconstruction as well as the band 1 limiting and smoothing required for (A-Law) PCM systems. DW SUFFIX This device has an input operational amplifier whose output is the input SOG PACKAGE CASE 751D to the encoder section. The encoder section immediately low-pass filters the analog signal with an RC filter to eliminate very-high-frequency noise from being modulated down to the pass band by the switched capacitor filter. From the active R-C filter, the analog signal is converted to a differential signal. From this point, all analog signal processing is done differentially. This allows processing of an analog signal that is twice the amplitude allowed by a single-ended design, which reduces the significance of noise to both the inverted and non-inverted signal paths. Another advantage of this differential design is that noise injected via the power supplies is a common mode signal that is cancelled when the inverted and non-inverted signals are recombined. This dramatically improves the power supply rejection ratio. After the differential converter, a differential switched capacitor filter band passes the analog signal from 200 Hz to 3400 Hz before the signal is digitized by the differential compressing A/D converter. The decoder accepts PCM data and expands it using a differential D/A converter. The output of the D/A is low-pass filtered at 3400 Hz and sinX/X compensated by a differential switched capacitor filter.
    [Show full text]
  • Lossless Compression of Audio Data
    CHAPTER 12 Lossless Compression of Audio Data ROBERT C. MAHER OVERVIEW Lossless data compression of digital audio signals is useful when it is necessary to minimize the storage space or transmission bandwidth of audio data while still maintaining archival quality. Available techniques for lossless audio compression, or lossless audio packing, generally employ an adaptive waveform predictor with a variable-rate entropy coding of the residual, such as Huffman or Golomb-Rice coding. The amount of data compression can vary considerably from one audio waveform to another, but ratios of less than 3 are typical. Several freeware, shareware, and proprietary commercial lossless audio packing programs are available. 12.1 INTRODUCTION The Internet is increasingly being used as a means to deliver audio content to end-users for en­ tertainment, education, and commerce. It is clearly advantageous to minimize the time required to download an audio data file and the storage capacity required to hold it. Moreover, the expec­ tations of end-users with regard to signal quality, number of audio channels, meta-data such as song lyrics, and similar additional features provide incentives to compress the audio data. 12.1.1 Background In the past decade there have been significant breakthroughs in audio data compression using lossy perceptual coding [1]. These techniques lower the bit rate required to represent the signal by establishing perceptual error criteria, meaning that a model of human hearing perception is Copyright 2003. Elsevier Science (USA). 255 AU rights reserved. 256 PART III / APPLICATIONS used to guide the elimination of excess bits that can be either reconstructed (redundancy in the signal) orignored (inaudible components in the signal).
    [Show full text]
  • 4. MPEG Layer-3 Audio Encoding
    MPEG Layer-3 An introduction to MPEG Layer-3 K. Brandenburg and H. Popp Fraunhofer Institut für Integrierte Schaltungen (IIS) MPEG Layer-3, otherwise known as MP3, has generated a phenomenal interest among Internet users, or at least among those who want to download highly-compressed digital audio files at near-CD quality. This article provides an introduction to the work of the MPEG group which was, and still is, responsible for bringing this open (i.e. non-proprietary) compression standard to the forefront of Internet audio downloads. 1. Introduction The audio coding scheme MPEG Layer-3 will soon celebrate its 10th birthday, having been standardized in 1991. In its first years, the scheme was mainly used within DSP- based codecs for studio applications, allowing professionals to use ISDN phone lines as cost-effective music links with high sound quality. In 1995, MPEG Layer-3 was selected as the audio format for the digital satellite broadcasting system developed by World- Space. This was its first step into the mass market. Its second step soon followed, due to the use of the Internet for the electronic distribution of music. Here, the proliferation of audio material – coded with MPEG Layer-3 (aka MP3) – has shown an exponential growth since 1995. By early 1999, “.mp3” had become the most popular search term on the Web (according to http://www.searchterms.com). In 1998, the “MPMAN” (by Saehan Information Systems, South Korea) was the first portable MP3 player, pioneering the road for numerous other manufacturers of consumer electronics. “MP3” has been featured in many articles, mostly on the business pages of newspapers and periodicals, due to its enormous impact on the recording industry.
    [Show full text]
  • The H.264 Advanced Video Coding (AVC) Standard
    Whitepaper: The H.264 Advanced Video Coding (AVC) Standard What It Means to Web Camera Performance Introduction A new generation of webcams is hitting the market that makes video conferencing a more lifelike experience for users, thanks to adoption of the breakthrough H.264 standard. This white paper explains some of the key benefits of H.264 encoding and why cameras with this technology should be on the shopping list of every business. The Need for Compression Today, Internet connection rates average in the range of a few megabits per second. While VGA video requires 147 megabits per second (Mbps) of data, full high definition (HD) 1080p video requires almost one gigabit per second of data, as illustrated in Table 1. Table 1. Display Resolution Format Comparison Format Horizontal Pixels Vertical Lines Pixels Megabits per second (Mbps) QVGA 320 240 76,800 37 VGA 640 480 307,200 147 720p 1280 720 921,600 442 1080p 1920 1080 2,073,600 995 Video Compression Techniques Digital video streams, especially at high definition (HD) resolution, represent huge amounts of data. In order to achieve real-time HD resolution over typical Internet connection bandwidths, video compression is required. The amount of compression required to transmit 1080p video over a three megabits per second link is 332:1! Video compression techniques use mathematical algorithms to reduce the amount of data needed to transmit or store video. Lossless Compression Lossless compression changes how data is stored without resulting in any loss of information. Zip files are losslessly compressed so that when they are unzipped, the original files are recovered.
    [Show full text]
  • Mutual Information, the Linear Prediction Model, and CELP Voice Codecs
    information Article Mutual Information, the Linear Prediction Model, and CELP Voice Codecs Jerry Gibson Department of Electrical and Computer Engineering, University of California, Santa Barbara, CA 93106, USA; [email protected]; Tel.: +1-805-893-6187 Received: 14 April 2019; Accepted: 19 May 2019; Published: 22 May 2019 Abstract: We write the mutual information between an input speech utterance and its reconstruction by a code-excited linear prediction (CELP) codec in terms of the mutual information between the input speech and the contributions due to the short-term predictor, the adaptive codebook, and the fixed codebook. We then show that a recently introduced quantity, the log ratio of entropy powers, can be used to estimate these mutual informations in terms of bits/sample. A key result is that for many common distributions and for Gaussian autoregressive processes, the entropy powers in the ratio can be replaced by the corresponding minimum mean squared errors. We provide examples of estimating CELP codec performance using the new results and compare these to the performance of the adaptive multirate (AMR) codec and other CELP codecs. Similar to rate distortion theory, this method only needs the input source model and the appropriate distortion measure. Keywords: autoregressive models; entropy power; linear prediction model; CELP voice codecs; mutual information 1. Introduction Voice coding is a critical technology for digital cellular communications, voice over Internet protocol (VoIP), voice response applications, and videoconferencing systems [1,2]. Code-excited linear prediction (CELP) is the most widely deployed method for speech coding today, serving as the primary speech coding method in the adaptive multirate (AMR) codec [3] and in the more recent enhanced voice services (EVS) codec [4], both of which are used in cell phones and VoIP.
    [Show full text]
  • Acronis Revive 2019
    Acronis Revive 2019 Table of contents 1 Introduction to Acronis Revive 2019 .................................................................................3 1.1 Acronis Revive 2019 Features .................................................................................................... 3 1.2 System Requirements and Installation Notes ........................................................................... 4 1.3 Technical Support ...................................................................................................................... 5 2 Data Recovery Using Acronis Revive 2019 .........................................................................6 2.1 Recover Lost Files from Existing Logical Disks ........................................................................... 7 2.1.1 Searching for a File ........................................................................................................................................ 16 2.1.2 Finding Previous File Versions ...................................................................................................................... 18 2.1.3 File Masks....................................................................................................................................................... 19 2.1.4 Regular Expressions ...................................................................................................................................... 20 2.1.5 Previewing Files ............................................................................................................................................
    [Show full text]
  • Lossy Audio Compression Identification
    2018 26th European Signal Processing Conference (EUSIPCO) Lossy Audio Compression Identification Bongjun Kim Zafar Rafii Northwestern University Gracenote Evanston, USA Emeryville, USA [email protected] zafar.rafi[email protected] Abstract—We propose a system which can estimate from an compression parameters from an audio signal, based on AAC, audio recording that has previously undergone lossy compression was presented in [3]. The first implementation of that work, the parameters used for the encoding, and therefore identify the based on MP3, was then proposed in [4]. The idea was to corresponding lossy coding format. The system analyzes the audio signal and searches for the compression parameters and framing search for the compression parameters and framing conditions conditions which match those used for the encoding. In particular, which match those used for the encoding, by measuring traces we propose a new metric for measuring traces of compression of compression in the audio signal, which typically correspond which is robust to variations in the audio content and a new to time-frequency coefficients quantized to zero. method for combining the estimates from multiple audio blocks The first work to investigate alterations, such as deletion, in- which can refine the results. We evaluated this system with audio excerpts from songs and movies, compressed into various coding sertion, or substitution, in audio signals which have undergone formats, using different bit rates, and captured digitally as well lossy compression, namely MP3, was presented in [5]. The as through analog transfer. Results showed that our system can idea was to measure traces of compression in the signal along identify the correct format in almost all cases, even at high bit time and detect discontinuities in the estimated framing.
    [Show full text]
  • The Aim Codec for Windows and OSX
    The AiM Codec for Windows and OSX The Avolites Ai server plays QuickTime movies, but it uses its own special codec called AiM. The AiM codec is not installed with QuickTime by default, but is free to download from the Avolites website for both Windows and Mac. On this same page you will also find download links for the latest Ai Server software and manual. After registering on the Avolites website, you can access these files here: https://www.avolites.com/software/ai-downloads If using Windows, a dedicated installer can be downloaded from the website. This will manually install the Adobe plugin and the QuickTime component. However a download package exists as a zip file. This contains versions for both PC (Windows) and Mac (OSX). Once downloaded, you need to unzip the package and then place the correct version of the codec for your operating system in to the appropriate folder on your computer. Adobe AiM Installer As of April 2018, Adobe have removed support for many Quicktime Codecs – this means that as is, modern versions of Adobe products cannot export AiM encoded video. For this reason, we have created a set of plugins for Adobe products which run on both Windows and OSX and allow AiM based media to be both Imported and Exported with Premiere, After Effects and Media Encoder. Note: The plugins are built for 64 bit version of the Adobe products, which means that you need to be running CS6 or later versions of the relevant Adobe software. The installer can also be found in the downloads section of the Avolites website: https://www.avolites.com/software/ai-downloads PC (Windows) Installer For the PC there is a dedicated AiM installer.
    [Show full text]