Private:progress-diab
From NMSL
Spring 2014 (RA)
- Courses:
- CMPT-705: Design and Analysis of Algorithms
- CMPT-820: Multimedia Systems
- Submissions:
- NA
- Publications:
- [accepted] K. Diab, T. ElGamal, K. Calagary, and M. Hefeeda, "Storage optimization for 3d streaming systems," in Proc.of ACM Multimedia Systems Conference (MMSys’14), Singapore, March 2014.
- Submissions Plans:
- ACM Multimedia in March 31, 2014 (http://www.acmmm.org/2014/)
Feb 07
- Currently, I am working with Ahmed Hamza for the FFV rate adaptation project
- Working, with Ahmed, on the optimization problem formulation
- Specifically, I am investigating to employ the queuing theory in the formulation to increase decoders utilization and keep buffers full as we can. We model each decoder as a server, and each segment as a client. Some challenges are modeling the arrival rate distribution, and relating the queuing theory formulas to our formulas.
- Number of decoders may increase in order to increase the throughput of the whole decoding step.
- Working on re-implementing this pipeline in the client-side: downloading -> buffering -> decoding. Some of our objectives:
- Reduce overheads of spawning new threads for decoders and other steps. Each group of threads should be in a thread pool.
- Increase the decoding throughput. Currently, the segments at time "t" are decoded in order, even if there are some downloaded segments of time "t+1". Mainly, we need to keep in-order decoding but enable decoding of segments at different timestamps. To do this, I will remove the decoding thread (which acts as a distributor but a barrier at the same time) and use a push model to push segments to decoders pool thread. On the output side, I will use a priority queue rather than the normal queue, to store the decoded frames in-order. Frames should be indexed properly.
- The current control flow is not easy to change or modify which may lead to more bugs. I am trying to simplify and organize the control flow. For example, what does the player do when the user changes the viewpoint?
- There was a discussion about moving some of the processing to the server side.
Jan 24
- I worked on the camera ready version of our MMSys'14 paper.
- Currently, I am working on the literature survey for the rate adaptation project. This report should have been delivered tonight, but I couldn't complete all the sections that I want to write. I will deliver it and complete it by the next weekend.
- For the rate adaptation project:
- There had been different approaches in the academia for 2D videos.
- Rate adaptation for 3D videos are rare. This means -somehow- that we are in the good direction.
- In the next four weeks, I should take some important decisions. Some questions that I need to answer:
- Do we need to deal with 3D videos as two different views? and not only as a 2D image. This will let us exploit some facts about 3D videos.
- There are many objectives that define a "good" rate adaptation algorithms. What objectives do we need to handle in our algorithm?
- What is the problem definition?
- How are we going to model the problem and derive the solution? I am thinking of two approaches right now. Optimization problem or Vector space modeling. In both cases, a "good" objective function or a "good" similarity metric should be designed.
- Human Visual System for 3D perception should be included in the model as well
- How to evaluate our model? (Simulation, Emulation, real system?)
- How to integrate such a model with the current system? How to extend the current storage optimization algorithm to support the storage requirements of multiple-bitrate versions?
- For the courses:
- Multimedia: I will deliver a hierarchical JPEG encoder/decoder implementation next week. I had implemented it using OpenCV. TODO components are: Huffman coding (can use external code), hierarchical flow, GUI and the document. Also, I will present two papers (during the course):
- 3D-TV content creation: Automatic 2D-to-3D video conversion
- Perceptual issues in stereoscopic signal processing
- Algorithms: I have a quiz in Feb. 4, 2014.
- Multimedia: I will deliver a hierarchical JPEG encoder/decoder implementation next week. I had implemented it using OpenCV. TODO components are: Huffman coding (can use external code), hierarchical flow, GUI and the document. Also, I will present two papers (during the course):