Course ELEN 6881

ELEN6881

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


Instructor
Deepak S. Turaga
IBM T. J. Watson Research Center

19 Skyline Drive, Hawthorne NY 10532.

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