ECE 477/577 - Multimedia Systems

Spring 2009

Welcome to Multimedia Systems course homepage! This page is an extension to the class room and will provide updated information on the course.


General Information

Meeting Time: TTh 10:00-11:50, KEC1001

Office Hours: 3013 KEC: TTh 3:00-4:00 and by appointment

Text: Fundamentals of Multimedia, Li and Drew, Prentice Hall, 2004, ISBN 0-13-061872-1 (http://www.cs.sfu.ca/mmbook).

References: In addition to the text book used in this class, another book I use for my class notes is Computer Networking: A Top-Down Approach, Kurose and Ross, Addison Wesley, 2008 as well as materials from archive journal, conference, and magazine papers.

Course Syllabus

Exams

Exam 1: Thursday, April 30
Exam 2: Tuesday, May 26


Lecture Slides

Chapter 0: Course Overview (posted 3/27/09)

Chapter 1: Audio/Image/Video Fundamentals (posted 3/27/09)

Chapter 2: Compression Basics (posted 4/1/09)

Chapter 3: Image Compression (posted 4/9/09)

Chapter 4: Video Compression (posted 4/9/09)

Chapter 5: Audio Compression (posted 4/14/09)

Chapter 6: Multimedia Networking (posted 4/14/09)

Chapter 7: Multimedia Embedded Systems (posted 4/15/09)
 


Assignments

Homework assignments are due at the beginning of class.
As you probably know, often answers to HW questions depend heavily on initial assumptions made about the problem. You must clearly state any assumptions made and add explanatory comments as needed to clarify your work.

Homework#1 (Due date: Tuesday, April 14): Homework#1 solutions set (modified)

Homework#2 (Due date: Tuesday, April 28): Homework#2 solutions set

Instructions for downloading and compiling mpeg_play and mpeg_stat.

Homework#3 (Due date: Friday, May 22, 5 PM [my office]): Homework#3 solutions set


(Dynamic) Course Schedule Log

Week 1

3/30 - 4/3

Chapter 0: Course Overview
Chapter 1:
Audio/Image/Video Fundamentals

Chapter 1: Audio/Image/Video Fundamentals
Chapter 2:
Compression Basics

Week 2

4/6 - 4/10

Chapter 2: Compression Basics

Chapter 2: Compression Basics
Chapter 3: Image Compression

Week 3

4/13 - 4/17

Chapter 3: Image Compression
Assignment 1 due in class

Chapter 4: Video Compression
Project proposal due

Week 4

4/20 - 4/24

Chapter 4: Video Compression

Chapter 5: Audio Compression

Week 5

4/27 - 5/1

Chapter 5: Audio Compression
Assignment 2 due in class

EXAM #1

Week 6

5/4 - 5/8

Chapter 6: Multimedia Networking

Chapter 6: Multimedia Networking
Solutions to Mid-term
Mid-report due

Week 7

5/11 - 5/15

Chapter 6: Multimedia Networking

Chapter 6: Multimedia Networking
Chapter 7: Multimedia Embedded System

Week 8

5/18 - 5/22

Chapter 7: Multimedia Embedded System

Chapter 7: Multimedia Embedded System
Assignment 3 due Friday, May 22, 5 PM (my office)

Week 9

5/25 - 5/29

EXAM #2

Locate Similar Media by Sergio Corellas, Samuel Heinith, and Jeremy Noring
A Survey of WHDI and Wireless HD by Kellen Arb, Andrew Howell, and Kyle Rector
Multimedia and Cloud Computing by Shane O'Dell, Stephen Perona, and Mark Udarbe

Week 10

6/1 - 6/5

VoIP by Nessrine Chakchouk, Samuel Ward, and Azadeh Zekri Esfahani
MPEG-7 by Nathan Blackwell, Colin Stark, and Michael Matthews

MIDI by Peter Watkins, Maggie Watkins, and David Humphrey
Holography by Bejamin Bradea, Travis Walters, and Kirk Wipff


Projects

Proposal for the Class Project will be due Thursday, April 16.

Mid-Report for the Class Project will be due Thursday, May 7 .

The Final Project consists of the following: (1) Presentation, (2) Final Report, and (3) Final Report in html format for the WWW. Final Report will be due 5:00PM, Tuesday, June 9!


Links to 2009 Projects

Locate Similar Media by Sergio Corellas, Samuel Heinith, and Jeremy Noring

MPEG-7 by Nathan Blackwell, Colin Stark, and Michael Matthews

A Survey of WHDI and Wireless HD by Kellen Arb, Andrew Howell, and Kyle Rector

Holography by Bejamin Bradea, Travis Walters, and Kirk Wipff

Multimedia and Cloud Computing by Shane O'Dell, Stephen Perona, and Mark Udarbe

VoIP by Nessrine Chakchouk, Samuel Ward, and Azadeh Zekri Esfahani

MIDI by Peter Watkins, Maggie Watkins, and David Humphrey


Links to 2008 Projects

Automatic Projector Orientation and View-Space Correction by Susie Benton, Brian Bode, William Dillon, and Adam Leibel

Head Tracking by Zach English, Robert Pawlowski, Brian Fitzsimmons, Jon Provancher, and Joseph Grant Wilt

DVD Learning by Phillip Radke, Brian Jones, Nick Santana, and Austin Yoder

Wireless Data Networks by Joseph DuBay, Carlin Scott, Steven Springer, and Daniel Joiner

Encoders Galore by Kate Harrison, John Salle, Travis Carlson, Ian Machuca, and Kris Stephen

Network Video Games: Synchronization and Security by John Batch, Andrew Stone, Ron Thompson, and Matt Ullmer

Building or Buying a Home Multimedia System by  Candice Gansen, Stephen Sills, Michael Marineau, and Narayan Newton

Multi-Touch Screen Interfaces by Dylan Leibel and Trung Nguyen

Embedded MPSoCs for Multimedia Applications by Mohammed Sinky, Ho Sung Kang, Faouzi Bouali, Megha Maiya, and Chandra Venkatasubramanian


Links to 2007 Projects

Image Processing Technique by Travis Heath, Aaron Moore, Cecil Rock, Mark Kinnari

Optical Multimedia Storage Devices by Geoff Tomlinson, Justin Moore, Ryan Moch, Paul Lewis, Lennie Rummel

Digital Radio Survey Brian Miller, Dustin Stallings, Robert Rice, Cooper Spear, John Salle

GPU Technology Ray Anderson, Mike Carlsen, Jacob Postman, Shelby Rollins

Digital Steganograph: Hiding data within data by Jaewon Yoo, Seth Insley, Jihong Kim, Tuan Tran

Comparison of H.264 and MPEG-4 by Drew Smith, Eli Wendlick, Madhu Ramanujam, Keith Biddulph, and Michael Munn

Exploiting Dobly Digital (AC-3) by  Aaron Humphrey, Anton Dragunov, Jiahuang Chen, Jong Bum Ryou, Brian Hupy

Electronic Displays by David Ng, Luke Lai, Jiyeon Lee, Wei Zhen


Links to 2006 Projects

Multimedia Streaming with Efficient Peer-to-Peer Dissemination in a Network Using Structure Meshes, by Hon Tang, Lily Huynh, Kevin Chiu, and Noda Huynh.

Encryption – Applications in media communication in today’s business, personal, and entertainment environments, by Jason Hughes, Bill Briskey, and Patrick Gilman.

Mobile TV, by Eileen Bahniuk, Gerardo Santiago, and Andy Vy.

The Challenges of Delivering True Video-on-Demand Services, by Chris Kenoyer, JP Zbylut, Robyn McClain, and Craig Seibold.

Interactive Television Technology, by Jordan Millard and Jon Guerber.

Face Recognition System on a Cellular Phone, Dmitriy Yevseyev, Huyen Pham, Tim Reinholt, and Jared Prink.

Widgets on Wheels, by Scott Fehringer, Jason George, John Nguyen, and Peter Zhang.


Links to 2005 Final Projects

Multimedia Messaging Service, by Seungyun Cho and Matt Kowalczyk

MPEG Performance in the Context of a Digital Signal Processor, by Adam Browning, James Lewis, and John Liebert.

Multimedia Watermarking, by Thai Hai Pham, Phuc Vo, and Junbok Yu.

MythTV, by Charles Evans, Katy Nixon, and Pat Schmidt.

Voice Over IP, by Carrie Kolstad, Marc Orr, and Nick Patron.

Image Recognition, by Patrick Gilman and Chris Reade.


Links to 2003 Final Projects

Multimedia Over Wireless Networks , by Chris Janik and Namita Prakash

Biometric Security Technology in Multimedia Applications, by Venkat Suryadevara and Masato Kawamoto.

Accelerating MPEG-4 Performance Using Multimedia Extensions, by Jarrod Nelson and Wing Ng.

MPEG-4: The First Truly Internet-Ready Codec, by Matthew Fleming and Eziekiel Lopez.

Utility Power Plant Automation Utilizing TCP/IP , by Doug Riesenberg and Donald Ray Glenn.

Real-time Steaming Video Over the Internet, by Sridevi A N, Zia Kamawal, and Eduardo Ojeda.

Applications of the Various Standards of MPEG, by John Clemson and Gerald Lai.


Links to 2002 Final Projects

Multimedia Proxies, by Irwin Yoon and Manobal Jain

Technical Issues Surrounding the Streaming of Digital Conent over TCP/IP, by Ben Hacker, Mike Meeuwsen, and Kevin Molskness.

QoS in Multimedia Systems, by Aneel Murari, Arvind Guruprasad, and Siraj Kiran Nagboth.

Video Card Architecture, by Randy White, Valentine Kristanto, and Venugopal Reddy Cheeu.

Power Consumption of MPEG Playback on a SuperScalar Processor, by Jumnit Hong, David Zier, and Elias Khair.

Voice over IP, by Riad Lemhachheche, Michael Hirschner, and Angela Teng.

QoS for Wireless Network Multimedia System, by Ravi Ketpelly and Fu-Hsiang Chen.

GPS System for Palmtop, by Ashish and Omkar Pendse.


Links to 2001 Final Projects

A Simulator for InfiniBand, by Reshma Dixit, Wanalertlak Weetit, and Siva Sai Yerubandi.

Survey of MPEG, by Jeff Kato, Ethan Matthes, and Scott Nierman.

Muticast, by Adam Ashenfelter, John Mark Matson, and Dana Zottola.

Video Conferencing, by Tien Nguyen and Xavier Gricourt.

A Study of JPEG2000 and Implementation of Software Decoder, by Madhusudhanan Anantha Subramanian and Vinu Pattery.

Multimedia-Capable Campus Network by Means of Proxies and Celluar IP, by Eriko Nurvitadhi, Voranon Klettrisalpipop, Thunyawat Rajatasereekul, Roger Morisson, and Craig Munsee.

Wavelet-based Image Coding, by Jong-Hooen Youn and Daehyun.

Portability of Streaming Video, by Anber Arizpe, Hari Priya, and Lakshmi Swetha.

Security Issues in Multimedia Systems, by Balaji Megarajan and Maithily.


Supplementary Readings

Multimedia?

Basic Compression

JPEG

MPEG

Audio Compression

Congestion Avoidance

QoS


Miscellaneous

mpeg_play and mpeg_stat are provided as a part of the Berkeley MPEG Tools Distribution (http://bmrc.berkeley.edu/frame/research/mpeg), and is the first widely-distributed software video decoder for MPEG-1 video. Although you can still find source codes and other useful infomation this site is no longer supported.

These guidelines for downloading and compiling mpeg_play and mpeg_stat was provided by my former TA and Ph.D. student, Weetit Wanalertlak.

Downloading mpeg_play and mpeg_stat
The new links to mpeg_play and the mpeg_stat are given below:

ftp://ftp.42.org/pub/OLD/m/mpeg_play-2.4-patched-src.tar.gz
ftp://ftp.scn.rain.com/pub/graphics/mpeg_stat-2.2.tar.Z

Compiling mpeg_stat
These have been successfully compiled on Ubuntu 7.1, Redhat 5.1 and MacOS. They should compile on any Linux and other Unix systems.
The instruction for compiling mpeg_stat is given below:

(1) Download the mpeg_stat-2.2.tar.Z from the given link.

(2) Unzip and untar the file using command
gunzip -c mpeg_stat-2.2.tar.Z | tar xvf -

Afterwards you should have mpeg_stat source code in the "mpeg_stat" directory.
(3) cd mpeg_stat/

(4) Compile it by typing "make"

Compiling mpeg_play
The instruction for compiling mpeg_play is a bit more tricky because some changes have to made to the library in the makefile.

(1) Download the mpeg_play-2.4-patched-src.tar.gz from the given link.

(2) Unzip and untar the file using command
gunzip -c mpeg_play-2.4-patched-src.tar.gz | tar xvf -

Afterwards you should have mpeg_play source code in "mpeg_play" directory.

(3) cd mpeg_play

(4) Prepare the makefile by typing command "cp Makefile.proto Makefile"

(5) Open Makefile with any text editor and change the line 50 from
CFLAGS = -O3 -DNDEBUG -DNONANSI_INCLUDES -DSH_MEM $(INCLUDEDIR)
to
CFLAGS = -O3 -DLITTLE_ENDIAN_ARCHITECTURE -DNDEBUG -DNONANSI_INCLUDES -DSH_MEM $(INCLUDEDIR)

If you try to compile it on Mac OS, you may need to also change line 99 from
LIBS = -L/usr/lib/X11 -lXext -lX11
to
LIBS = -L/usr/lib/X11 -L/usr/X11R6/lib -lXext -lX11

These changes will depend on your machine's configuration. Hopefully, this covers everything.

7) Compile it by type "make"

If you try to run mpeg_play and get the error message "-requires 8 bit display", this is because your XWindow is running in 24 bit color mode and it does not know how to emulate 8-bit color. You may have to run mpeg_play with parameter "-dither color".