CS414 Spring 2011
Multimedia System
Design
Machine Problems and Homework
MUST READ
There are three machine
problems and two homework assignments in this course. Machine problems are
designed to help you better understand how different components in a multimedia
system work and the homework assignments are designed to help you prepare for
exams. According to our grading policy, machine problems and homework contribute to
55% of the final score. Therefore, take them seriously! Here are some rules for
machine problems.
Group
-
Form a group for machine problems in first two weeks. Select your
group mates carefully because no group change is allowed during the semester
unless someone drops the class. Write an email with the names and NetIDs of all group members to the TA.
-
The recommended group size is 3.
Smaller groups will have the same workloads and larger groups will have heavier
workloads.
-
Each group has a group number assigned. Check Compass
or email TA to find out
your group number.
-
Each group will have a group directory on EWS machines.
Platform and Language
-
Linux is the required platform for all MPs. We recommend using
C/C++ for implementation. If you prefer using Java or other language, you may
have to find drivers and support libraries all by yourself.
-
In MP3, you will have an option to program on mobile phones. The
phones we will use are HTC G2 with Android 1.6. Instructions and tutorials of
Android programming will be given.
Submission and Grading
-
Submit all MP solutions, including all source codes, documents,
and other necessary materials, through Compass before deadline. No
late submission is accepted.
-
The full mark of each MP is 100 points. You have to implement all
required features that count for 80 points and then select and implement
20-point optional features from a pool. The optional feature pools of three MPs
have 40, 50, and 70 points, respectively. If you are able to get more than 300
points for three MPs, you will receive bonus points in your final score, which
can be used to compensate the loss in exams and homework assignments.
-
MP is graded on how features (required and optional) are implemented.
For each feature, you get 20% of the allocated points if the feature is
implemented and well documented (see documentation instructions below); 20% if
the source codes can compile and run; 20% if the required features are
partially implemented; 20% if all required features are implemented; 20% if the
program runs perfectly (no error, no crash).
-
If you want to re-grade your MP, you have to write to TA first and
set up an appointment for your group to meet TA.
Documentation
-
Write a user manual about how to compile/install the source code,
run the program, and test each feature. Add figures or sample commands if
necessary. Assume TA is a customer of your software produce (MP submission). It
is your responsibility if TA can not run your program
by following the instructions in your documentation and you may get 0 point for
your MP in the worst case.
-
Write a developer manual about the whole framework of your program
and how each feature is implemented. Explain important data flows, data
structures, and functions.
-
Your program should implement '--help' option to provide important
usage information. You also should add important comments in your source code
to indicate how features are implemented.
Open-Source Codes
-
You are encouraged to borrow codes from any open source project,
or use any open libraries to complete your MPs. However, you have to clearly
mark out which part is borrowed and which part is your own implementation in
your documentation.
-
It is OK to modify an open source program to your MP solution but
it is unacceptable to submit any unmodified open source program as your MP
solution.
-
You cannot open source your own MP solution and share with other
groups.
Help
-
Necessary hints, reference materials, tutorials will be given when
MPs are posted.
-
A help session will be given on the Wednesday one week before
deadline. You want to attend this session if you are stuck with your MP.
-
Post your questions in newsgroup.
SVN
-
An SVN account has been set up for each group. The URL is: https://subversion.ews.illinois.edu/svn/sp11-cs414/groupX, where X is your group
number. For example, the URL for Group 1 is https://subversion.ews.illinois.edu/svn/sp11-cs414/group1.
-
You can create directories for each MP by the command: svn mkdir
https://subversion.ews.illinois.edu/svn/sp11-cs414/groupX/MP1
-
Import your initial project by the command: svn import /path/to/your/project/
https://subversion.ews.illinois.edu/svn/sp11-cs414/groupX/MP1/
-
Checkout your project by the command: svn co https://subversion.ews.illinois.edu/svn/sp11-cs414/groupX/MP1/
-
Learn how to use other SVN commands here.
Machine Problems
The ultimate goal is to implement a video conferencing system
similar to the Facetime from Apple that allows mobile
devices and desktops (connected with webcam) to communicate with each other. In
addition, we also want to exploit more features such as: interactive video
conferencing, multi-party communication, etc. The whole project is divided into
three machine problems. The first focuses on video/audio capturing and
playback. The second one is mainly about media streaming over networks. The
last one integrates all components and extends the implementation to mobile
platforms.
MP1: Video Recorder and
Player
Description, Sample
Submission, Help Session
Reference Materials: V4L2, OSS/ALSA, SDL, libjpeg
doc/sample, luvcview, sample
audio player and recorder
More Reference Materials: libwebcam and uvcdynctrl (for pan/tilt. Libraries have already been installed
in EWS machines), AVILIB, GTK, lame, x264, ffmpeg,
Help Session: SC1111, 7-8pm Feb 9 (Wed), 2011.
Due: 11:59pm (Compass time) Feb 16, 2011
MP2: Video Streaming
Help Session: TBA
Due: 11:59pm (Compass time) Apr 3, 2011
MP3: Video Conferencing Integration
Description of Option 1: Mobile
Video Chat, Help Session
Description of Option 2: Multi-Party
Video Conferencing
You can select either option for this MP. However, you are not
eligible for the final competition if you selection Option 2.
Help Session: SC1304, 7-8pm Apr 13 (Wed), 2011
Due: Apr 29, 2011
Your MP will be face-to-face examined by the instructor and TA on
the afternoon of Apr 29. The preliminary selection for the competition finalist
is on Apr 27. All source codes and documents are due at 11:59pm (Compass time)
on Apr 29. Note that there will be no extension for this MP. More information
about the competition and evaluation will be announced.
Instructions for final presentation and Google Competition
Homework Sets
HW1:
Due: 11:59pm (Compass time) Mar 2, 2011
HW2:
Due: 11:59pm (Compass time) May 9, 2011