In this project, we study the achievable average video quality in P2P-MPVC through layered coding and partitioned simulcast systems. We consider only the optimal rate allocation problem under node capacity constraints and assume rate-quality relations of the layered and single-layer coders. Design of a real system that must explicitly consider packet loss and delay, is beyond our scope in this particular study. Our main contributions are summarized as the following:
- We cast the problem of finding the optimal video flow configuration in P2P-MPVC as a tree packing problem in a complete graph where the only bottlenecks are incoming and outgoing capacity limitations on the nodes. We then show that, in this setting, any multicast distribution tree can be replaced by a collection of 1-hop and 2-hop trees, which substantially reduces the number of trees we have to consider in the tree construction for either layered or partitioned simulcast system. This result also reveals that, even when we use only 1-hop and 2-hop trees to limit the transmission delay, we can achieve the same video rates as when we can use any distribution trees.
- For layered coding, we develop a layer assignment heuristic, which determines, for each receiver, the layers received from each source. After describing the trees used to deliver each assigned layer, we solve for the optimal tree rates and consequently layer rates that maximize the average video quality among all users, and show that although the tree rates are not unique, the optimal layer rates are unique. Finally we develop an algorithm to refine the tree rates, to favor 1-hop trees to decrease potential delay and jitter.
- We study the optimal receiver partitioning problem, which determines the receiver partitions for all sources, and the rates of the single-layer videos distributed in each receiver group, to maximize the average video quality. Instead of performing an exhaustive search over all partitions, we propose a fast heuristic algorithm that finds the partitions for each source and determines the group rates for each source.
- We compare the performances of both systems through numerical simulations. In our simulations, the proposed layered system achieves the best video rates, whereas our partitioned simulcast heuristic can also achieve close-to-optimal video rates when the number of users is small (3 or 4). Finally, due to the bitrate overhead of the SVC encoder, the partitioned simulcast system outperforms the layered system in terms of the achieved video quality in both the 4-user and 6-user cases, even when the layered coding overhead is as low as 10%. Partitioned simulcast system performs similarly as the layered system at 10% rate overhead in the 6-user case. We note that, the proposed layered system formulation requires a scalable coder that can generate a successively refinable bitstream that can be divided into any number of layers at any rates.