Perceptual Audio Coding

Music 422, Winter 2016

Instructor: Prof. Marina Bosi

TA: Ross Dunkel

Course Description

The need for significant reduction in data rate for wide-band digital audio signal transmission and storage has led to the development of psychoacoustics-based data compression techniques. In this approach, the limitations of human hearing are exploited to remove inaudible components of audio signals. The degree of bit rate reduction achievable without sacrificing perceived quality using these methods greatly exceeds that possible using lossless techniques alone. Perceptual audio coders are currently used in many applications including Digital Radio and Television, Digital Sound on Film, and Multimedia/Internet Audio.

In this course, the basic principles of perceptual audio coding will be reviewed. Current and future applications (e.g. AC-3, MPEG) will be presented. In-class demonstrations will allow students to hear the quality of state-of-the-art implementations at varying data rates and they will be required to program their own simple perceptual audio coder during the course.

Schedule

Below is a tentative schedule, subject to update. Required readings from the course textbook are referenced for each week. As a general rule, readings should be always done according to topics and prior to class. Unless otherwise specified the class will meet at CCRMA (map) on Friday afternoons from 2:30 pm until 4:20 pm. The two exceptions are highlighted below.

Date Topic Reading Due
1/8 Course Overview and Audio Signal Representation Chapters 1 and 3  
1/15 Quantization Chapter 2 HW1
1/22 Time to Frequency Mapping Chapters 4 and 5 HW2
1/29 Introduction to Psychoacoustics Chapters 6 and 7 HW3
2/5 Bit Allocation and Basic Building Blocks of an Audio Codec Chapters 8 and 9 HW4
2/12 Audio Codecs Evaluation
NOTE: 2:30 pm–5:30 pm This class will be at Dolby Laboratories in San Francisco.
Chapters 10, 14 HW5
2/19 Overview of MPEG and MPEG-1 Audio Coding Chapter 11 HW6
(Project Proposal) and HW7
2/26 Overview of MPEG-2 Audio Coding Chapters 12, 13
3/4 Overview of MPEG-4 and Other Coding Standards (AC-3, etc.) Chapter 15 Project
Due 5pm
3/7 Project Presentations
NOTE: This class is held on Monday

Logistics

Grading

To earn 3 units in this course you will have to come to class, participate, do the homework exercises and complete a final project. The final grade is assigned as follows:

Textbook

There is one required textbook for the class:

M. Bosi & R.E. Goldberg, "Introduction to Digital Audio Coding and Standards", Springer, 2003, ISBN: 978-1-4020-7357-1.

Office Hours

Marina Bosi weekly office hours will be announced in class. Ross will hold a weekly lab/hacking session that will serve as his office hours for the class. These sessions will begin with a brief overview of the starter code for the week's HW followed by open time for students to work and ask questions. Schedule for these office hours TBD.

Homework

CourseWork

The main course website is accessed through CourseWork, Stanford University's learning management system. All homework assignments, grades, and supplementary materials are accessible via the CourseWork site, and all homework submissions must take place via your CourseWork dropbox. If you have any trouble accessing the site, please contact Marina Bosi.

Music 422 CourseWork Site »

Homework Submission

Late Homework Policy

Project

This course includes a final project. The final project consists of the design and implementation of a simple perceptual audio coder. Groups of up to three students typically work together on the final project.

Requirements for the final project include a written proposal by the seventh week of the quarter (2/19), a written report by the ninth week of the quarter (3/4), and a presentation of the report by the end of the quarter (3/7). The aim of the report should be to fully document project methodology and results.

Students may use the computer of their choice for the project, but Python 2.7 (http://www.python.org/) is the preferred programming language for implementation of the project coder. (Previous Python programming experience is neither required nor expected for this course.)

Resources

Contact

Please do not hesitate to contact Marina Bosi or Ross Dunkel, with any questions or concerns.