GroupCast: Preference-Aware Cooperative Video Streaming with Scalable Video Coding
In this paper, we propose a preference-aware cooperative video streaming system for videos encoded using Scalable Video Coding (SVC) where all the collaborating users are interested in watching a video together on a shared screen. However, each user's willingness to cooperate is subject to her own constraints such as user data plans and/or energy consumption. Using SVC, each layer of every chunk can be fetched through any of the cooperating users. We formulate the problem of finding the optimal quality decisions and fetching policy of the SVC layers of video chunks subject to the available bandwidth, chunk deadlines, and cooperation willingness of the different users as an optimization problem. The objective is to optimize a QoE metric that maintains a trade-off between maximizing the playback rate of every chunk while ensuring fairness among all chunks for the minimum skip/stall duration without violating any of the imposed constraints. We propose an offline algorithm to solve the non-convex optimization problem when the bandwidth prediction is non-causally known. This algorithm has a run-time complexity that is polynomial in the video length and the number of cooperating users. Furthermore, we propose an online version of the algorithm for more practical scenarios where erroneous bandwidth prediction for a short window is used. Real implementation with android devices using SVC encoded video on public bandwidth traces' dataset reveals the robustness and performance of the proposed algorithm and shows that the algorithm significantly outperforms round robin based mechanisms in terms of avoiding skips/stalls and fetching video chunks at their highest quality possible.
READ FULL TEXT