Advanced
Topics in Signal Processing - Video Coding and Communications
Digital video has
become pervasive in our current lives especially terms of both consumer
entertainment as well as enterprise applications. These include all forms of
digital cinema, digital TV, DVDs, internet video (Youtube, IPTV), video on
handheld devices (laptops, ipods, cellphones), video in online gaming and
virtual environments, as well as video in enterprise communications
(videoconferencing), E-commerce or surveillance, and in several other emerging
applications. This has been made possible by the confluence of several
technologies for video capture and display, video processing and coding, and
video communication mechanisms and infrastructure.
In this course, we will focus on some of these enabling technologies for video
coding and communications, especially compression, error resilience, and video
networking. We will build an understanding of the underlying fundamental principles
and theory, and identify the emerging applications and standards in the space.
Since this is a graduate course, we will also spend time exploring the emerging
areas of interest, as well as the research challenges in this space. Students
will be encouraged to develop exploratory projects to experience hands on these
concepts in practice. The specific topics that will be covered in this course
include the following.
Signal Processing and Information Theory:
Transform coding,
Quantization, Entropy coding, Motion estimation and compensation, Scalable
coding, Joint source-channel coding, Distributed source coding, Multiple
description coding
Networking:
Packetization and
streaming, Bandwidth adaptation, Path diversity, Wireless streaming, P2P
streaming
19
Email: turaga at
us dot ibm.com
Course Prerequisites
Digital
Signal Processing
Linear Algebra
Probability
Familiarity with image processing tools and programming language (Matlab, Java, or C/C++) will be useful.
Course Logistics
Homework: Problem sets will be assigned every
week in class, and will be due in class, on the following week (before the
lecture). A component of the homework will be computer assignments for building
components that may be used later in the projects.
Seminars: Students will form groups to survey
the state of the art in video coding and communications research. Each group
will present their work in class.
Projects: Students will also form groups to
explore emerging technologies and research areas in video coding and
communications. Each group will prepare a written report and present their
work in class. These presentations will be scheduled in the final two weeks.
Additionally, each group can also schedule a time slot with the instructor and
TA to demonstrate the project results.
Programming
Exercises: The
emphasis in this course will be hands on understanding of the algorithms,
through programming exercises. Students will be required to complete
programming assignments for individual homeworks as
well as group projects. The use of C/C++, Java, and Matlab
is encouraged. If you plan to use other programming languages, please discuss
it with the instructor.
Grading: Homework – 30%, Midterm – 20%, Seminar – 20%, Final Project – 30%
Class Slot: The regular class time slot will be
Wednesday 4:10-6:40. Instructor will be available for office hours on Wednesday
3:00-4:00 before class, or by appointment. Questions via email are welcome.
Reference Texts
and Material
Required Text: Y. Wang, J. Ostermann, and Y-Q.Zhang,
"Video processing and communications," Prentice Hall, 2001.
M. van der Schaar and P. Chou,
"Multimedia over IP and Wireless Networks: Compression, Networking, and
Systems," Elsevier, 2007.
Papers on current
topics
Lecture Schedule and Detailed Topics
|
Date |
Lecture |
Title |
Details |
|
Jan 21 |
1 |
Introduction |
Fundamentals of Digital
Images and Video, Overview of Digital Video Formats, Coding Standards (all
material for the course will focus on MPEG-4 part 10 - H.264) |
|
Jan 28 |
2 |
Video Coding |
Transform Coding (block
based, DCT, KLT, wavelet), Quantization (Scalar and Vector) |
|
Feb 4 |
3 |
Video Coding |
Entropy Coding
(run-length, EZBC, Huffman, Arithmetic) |
|
Feb 11 |
4 |
Video Coding |
Motion Estimation
(block-based, optical flow) and Motion Compensation |
|
Feb 18 |
5 |
Video Coding |
Rate-Distortion
Optimization and Mode Decisions |
|
Feb 25 |
6 |
Video Coding |
Scalable Video Coding
(FGS, Wavelets, MCTF, 3D-overcomplete) |
|
Mar 4 |
7 |
Video Coding |
Object based coding, multiview coding, 3D TV |
|
Mar 11 |
- |
Mid-Term |
- |
|
Mar 18 |
- |
Spring Break |
- |
|
Mar 25 |
8 |
Video Communications |
Video Streaming (VOD,
Live, Interactive), Standards, VBR versus CBR, Bandwidth Adaptation |
|
Apr 1 |
9 |
Video Communications |
Error control (FEC, ARQ),
Error concealment |
|
Apr 8 |
10 |
Video Communications |
Multiple Description
Coding, Path diversity, P2P Streaming |
|
Apr 15 |
- |
Student Seminar |
Seminar Presentations in
Class |
|
Apr 22 |
11 |
Video Communications |
Wireless Video Streaming
(Rate-distortion-complexity-resilience tradeoffs), Cross-layer optimization |
|
Apr 29 |
12 |
Special Topics |
Distributed Video Coding,
Measuring and Estimating Networked Video Quality |
|
May 6 |
- |
Review Period |
Student project
presentations |
|
May 13 |
- |
Final |
Student project
presentations |
Additional Useful
Links
Some useful links on research, paper writing and Matlab are available from Prof. Shih-Fu Chang's site.
Course Material
