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.
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, except for the lectures highlighted in red below.
|1/12||Course Overview and Audio Signal Representation||Chapters 1 and 3|
|1/26||Time to Frequency Mapping||Chapters 4 and 5||HW2|
|2/2||Introduction to Psychoacoustics||Chapters 6 and 7||HW3|
|2/9||Bit Allocation and Basic Building Blocks of an Audio Codec||Chapters 8 and 9||HW4|
|2/14||Audio Codecs Evaluation
NOTE: This class is held on a Wednesday (2:30 – 5:30 PM) at Dolby Laboratories in San Francisco.
|Chapters 10, 14||HW5|
|2/23||Overview of MPEG and MPEG-1 Audio Coding||Chapter 11||HW6|
|2/25||HW7 (Project proposal) due by Sunday February 26 at 11:59 pm|
|3/2||Overview of MPEG-2 Audio Coding||Chapters 12, 13|
|3/9||Overview of MPEG-4 and Other Coding Standards (AC-3, etc.)||Chapter 15|
|3/11||Project due by Sunday March 11 at 11:59 pm|
|3/16||Project Presentations (2:30pm-4:20pm)|
To earn 3 units in this course you will have to come to class, participate, do the homework exercises and complete a final project. This is the final grade breakdown:
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.
Marina Bosi is available only by appointment.
Mark Hertensteiner's office hours are TBD, but will include a Monday/Tuesday session to solidify concepts from the previous Friday's lecture and a Wednesday/Thursday session for additional help completing assignments.
A Piazza page is available as an additional forum to ask questions, discuss topics relevant to the course, and get help on assignments and projects from peers and instructors outside of office hours.
The main course website is accessed through Canvas, Stanford University's learning management system. All homework assignments, grades, and supplementary materials are accessible via the Canvas site, and all homework submissions must take place via your Canvas assignment submission portal.
The homework must be submitted using Canvas’s assignment submission system (in the Assignments tab). For each assignment, select the associated link in that tab and proceed with your submission (for additional information regarding file submissions for assignments on Canvas, read the page here)
For each homework, you must turn in 2 items:
For your files, use the following naming convention:
X is the homework number and
is your Stanford ID. For example, the write-up for homework 1 will be
hw1_hert.pdf and the code files
The presentation of your homework (write-up and code) will be evaluated for each of your submission. Well-presented homeworks will be awarded up to 2.5% extra credit. Poorly-presented homeworks will be penalized by up to 2.5%.
Below are elements of a well-presented homework:
Typed and scanned homeworks are equally subject to the guidelines above. Furthermore:
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/25), a written report by the ninth week of the quarter (3/11), and a presentation of the report by the end of the quarter (3/16). The aim of the report should be to fully document project design, 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.)