Each student is responsible to propose and execute a term project. For a larger-scale project, two or three students may form a group, but each of them must work on a different part of the whole project, e.g., a student may work on adaptive streaming server while the other one works on the decoder on a smartphones. Students are encouraged to construct real testbeds using Android phones. Android 4.0 phones and other computing devices will be provided to the students on a as-needed basis.

Kinds of projects:

  • Brave new idea: Develop a new idea to solve a challenging research problem on wireless multimedia research. You must present your innovative idea. Simulation and/or experimental results shall be presented. Hopefully, you will get a publishable technical report (and A+) by the end of the semester.
  • Quantitative and/or qualitative comparisons of multiple published solutions: Implement existing algorithms, techniques, or systems. You need to conduct simulations or experiments to evaluate the solutions. Lessons learned from the simulations or experiments must be discussed.
  • Survey a well-studied problem and its solutions: Write a survey paper to discuss an interesting research problem in wireless multimedia research. You need to discuss the directions of future research related to that research problem.

Potential project topics, please feel free to suggest new topics:

  • Stereoscope video encoding and streaming, e.g., solving the view-switching problem of multiview videos on mobile devices.
  • Video streaming and broadcasting over heterogeneous networks to mobile devices.
  • Hepatics-based Multimedia Communications. Multimedia applications that interact with biometric sensors (e.g., e-touch, smell, …). For more examples, check the work being done at University of Ottawa, MCRLab.
  • Develop an SVC streaming system that leverages stream re-writing feature of H.264/SVC standard. Stream re-writing efficiently converts an scalable H.264/SVC stream into a regular H.264/AVC stream. This allows common video players (such as VLC) and most smartphones to decode SVC streams. The H.264/SVC standard documents the details of how to implement this. Port your code to a WiFi gateway (e.g., an OpenWRT compatible access point) and conduct real experiments on smartphones to show the benefit (if any) of scalable video coding.
  • Modify the open-source Darwin streaming server to support H.264/SVC streams. Partial implementation is available upon request.
  • Understand the limitations of opensvc, an open-source H.264/SVC decoder. Optimize the opensvc on Android in terms of time and space complexities.
  • 3D Virtual Reality System.
  • Optimized multimedia content transfer on Android smartphones.
  • Generic remote rendering system for online games and (network) latency compensation techniques.
  • Location-based bandwidth estimation system.
  • Implementation and evaluation of a media gateway (a WiFi router that provides simple QoS for multimedia streams). See http://dl.acm.org/citation.cfm?id=1496061 and http://dl.acm.org/citation.cfm?id=1989245 for examples, and propose enhancements on top of their works.
  • Efficient implementation of network coding schemes in distributed media streaming systems.


The main objective of the term project is to show the students how to conduct systems research in wireless multimedia. The instructor will walk you through the well-defined steps to complete the project. These steps are explained below.

  1. Literature survey: We first need to know what have been done before, more importantly, what haven’t been done in the literature. In this phase, a student searches and reads papers published in reputable journals and conferences. You are excepted to classify all existing solutions into meaningful groups, and give high-level description on representative solutions.
  2. Problem statement: After knowing what hasn’t been done, the student should formally define the research problem he/she plans to address in the term project. The student should clearly define the system models and mathematical notations.
  3. Problem solution: Each student proposes a new, better solution to address the research problem. Often, your solution is inspired by existing one studied in the literature survey; you may also borrow (algorithmic) ideas from other areas. The student should analyze the solution from the aspects of time and space complexities, and argue that the solution is (reasonably) scalable.
  4. Simulations/Experiments:A student must evaluate the proposed solution using simulations and/or experiments. Real experiments are much more convincing than simulations, because simulator often make assumptions to speed up implementation. While real experiments are highly encouraged, simulations are also useful when the test scenarios are too complex to be set up in a real testbed.


In this course, students are required to turn in their reports three times. The reports must be written in Latex and this template. In the first month, each student will pick a research topic, and write a proposal consisting of literature survey and problem statement. Each student is given 15 min to present their proposal in front of the class. If a students needs to borrow equipments (such as wireless routers and smartphones) from the instructor, he/she should explain why the equipments are needed (e.g., experimental setups) and identify the suitable make/model in the presentation. Students are then given 1.5 month to work on their problem solutions and conduct some simulations/experiments. They add new materials to their proposal, and give a 15 min presentation to report the progress. Next, students work on their projects for another 1.5 month, and present and (optionally) demo their term projects in the week before the final exam. We don’t have final exams, and the final technical reports are due one week after the last lecture. In summary, each students will turn in three incremental technical reports, give three talks, and optionally demo their systems. All these deliverables will be graded; demos are highly encouraged. Moreover, each student will give a 1-hr presentation about one or two papers relevant to his/her project topic. The presentation will be graded. Students should recommend good and recent papers to present. If that’s not possible, the instructor will assign papers to individual students after the proposal presentation.