Multi-generation packet scheduling for live streaming with network coding
Over the last decade, the emergence of new multimedia devices has motivated the research on efficient media streaming mechanisms that can adapt to dynamic network conditions and heterogeneous devices' capabilities. Network coding (NC) as a rateless code has been applied to collaborative media streaming applications and brings substantial improvements regarding throughput and delay in collaborative media streaming applications. However, little attention has been given to the recoverability of encoded data, especially for the streaming with a strict deadline. When a receiver obtains insufficient packets, it is impossible for receivers to recover any original packets. This in turn leads to severe quality of experience. In this paper, we solve the unrecoverable transmission by determining a scalable layer subscription and scheduling strategy. This scalable layer subscription algorithm is treated as a video quality maximization problem in multiple generations. Then this problem is solved using a dynamic programming algorithm. Experimental results confirm that the proposed algorithm brings better data recoverability and a better quality of service in terms of better video quality, delivery ratio, lower redundancy rate, and significantly lower superfluous video packet rate under different network sizes than conventional random-push schemes.