Video Streaming to Heterogeneous Receivers

Slides:



Advertisements
Similar presentations
Clustering of Source/Channel Rate Allocations for Receiver-driven Multicast under a Limited Number of Streams Philip A. Chou, Microsoft Research Kannan.
Advertisements

February 20, Spatio-Temporal Bandwidth Reuse: A Centralized Scheduling Mechanism for Wireless Mesh Networks Mahbub Alam Prof. Choong Seon Hong.
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Multicast and Unicast Real-Time Video Streaming Over Wireless LANs Abhik Majumdar, Daniel Grobe Sachs, Igor V. Kozintsev, Kannan Ramchandran, and Minerva.
On Large-Scale Peer-to-Peer Streaming Systems with Network Coding Chen Feng, Baochun Li Dept. of Electrical and Computer Engineering University of Toronto.
Scalable On-demand Media Streaming with Packet Loss Recovery Anirban Mahanti Department of Computer Science University of Calgary Calgary, AB T2N 1N4 Canada.
Network Coding in Peer-to-Peer Networks Presented by Chu Chun Ngai
Efficient and Flexible Parallel Retrieval using Priority Encoded Transmission(2004) CMPT 886 Represented By: Lilong Shi.
June 3, 2015Windows Scheduling Problems for Broadcast System 1 Amotz Bar-Noy, and Richard E. Ladner Presented by Qiaosheng Shi.
Sang-Chun Han Hwangjun Song Jun Heo International Conference on Intelligent Hiding and Multimedia Signal Processing (IIH-MSP), Feb, /05 Feb 2009.
Harmonic Broadcasting for Video-on- Demand Service Enhanced Harmonic Data Broadcasting And Receiving Scheme For Popular Video Service Li-Shen Juhn and.
A Comparison of Layering and Stream Replication Video Multicast Schemes Taehyun Kim and Mostafa H. Ammar.
Client Buffering Techniques for Scalable Video Broadcasting Over Broadband Networks With Low User Delay S.-H. Gary Chan and S.-H. Ivan Yeung, IEEE Transactions.
1 Staleness vs.Waiting time in Universal Discrete Broadcast Michael Langberg California Institute of Technology Joint work with Jehoshua Bruck and Alex.
Network Coding for Large Scale Content Distribution Christos Gkantsidis Georgia Institute of Technology Pablo Rodriguez Microsoft Research IEEE INFOCOM.
Analysis of Using Broadcast and Proxy for Streaming Layered Encoded Videos Wilson, Wing-Fai Poon and Kwok-Tung Lo.
Seamless Channel Transition for Pyramid- based Near-VOD Services Student: Wei-De Chien Advisor: Prof. Ja-Shung Wang.
Proxy Cache Management for Fine-Grained Scalable Video Streaming Jiangchuan Liu, Xiaowen Chu, and Jianliang Xu INFOCOM 2004.
Real-time smoothing for network adaptive video streaming Kui Gao, Wen Gao, Simin He, Yuan Zhang J. Vis. Commun. Image R. 16 (2005)
Multi-server Optimal Bandwidth Monitoring for QoS based Multimedia Delivery Anup Basu, Irene Cheng and Yinzhe Yu Department of Computing Science U. of.
A Real-Time Video Multicast Architecture for Assured Forwarding Services Ashraf Matrawy, Ioannis Lambadaris IEEE TRANSACTIONS ON MULTIMEDIA, AUGUST 2005.
10th Canadian Workshop on Information Theory June 7, 2007 Rank-Metric Codes for Priority Encoding Transmission with Network Coding Danilo Silva and Frank.
Efficient Fine Granularity Scalability Using Adaptive Leaky Factor Yunlong Gao and Lap-Pui Chau, Senior Member, IEEE IEEE TRANSACTIONS ON BROADCASTING,
Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004.
Fundamentals of Multimedia Chapter 7 Lossless Compression Algorithms Ze-Nian Li and Mark S. Drew 건국대학교 인터넷미디어공학부 임 창 훈.
How to Turn on The Coding in MANETs Chris Ng, Minkyu Kim, Muriel Medard, Wonsik Kim, Una-May O’Reilly, Varun Aggarwal, Chang Wook Ahn, Michelle Effros.
Receiver Capability Heterogeneity in the Internet.
Multiple Sender Distributed Video Streaming Nguyen, Zakhor IEEE Transactions on Multimedia April 2004.
PROMISE: Peer-to-Peer Media Streaming Using CollectCast Presented by: Randeep Singh Gakhal CMPT 886, July 2004.
Optimal Degree Distribution for LT Codes with Small Message Length Esa Hyytiä, Tuomas Tirronen, Jorma Virtamo IEEE INFOCOM mini-symposium
Distributing Layered Encoded Video through Caches Authors: Jussi Kangasharju Felix HartantoMartin Reisslein Keith W. Ross Proceedings of IEEE Infocom 2001,
CPSC 441: Multimedia Networking1 Outline r Scalable Streaming Techniques r Content Distribution Networks.
Segment-Based Proxy Caching of Multimedia Streams Authors: Kun-Lung Wu, Philip S. Yu, and Joel L. Wolf IBM T.J. Watson Research Center Proceedings of The.
Scheduling policies for real- time embedded systems.
User Cooperation via Rateless Coding Mahyar Shirvanimoghaddam, Yonghui Li, and Branka Vucetic The University of Sydney, Australia IEEE GLOBECOM 2012 &
Threshold Phenomena and Fountain Codes Amin Shokrollahi EPFL Joint work with M. Luby, R. Karp, O. Etesami.
The NIProxy: a Flexible Proxy Server Supporting Client Bandwidth Management and Multimedia Service Provision Maarten Wijnants Wim Lamotte.
A Comparison of Layering and Stream Replication Video Multicast Schemes Taehyun Kim and Mostafa H. Ammar Networking and Telecommunications Group Georgia.
Paper # – 2009 A Comparison of Heterogeneous Video Multicast schemes: Layered encoding or Stream Replication Authors: Taehyun Kim and Mostafa H.
1 Job Scheduling for Grid Computing on Metacomputers Keqin Li Proceedings of the 19th IEEE International Parallel and Distributed Procession Symposium.
UEP LT Codes with Intermediate Feedback Jesper H. Sørensen, Petar Popovski, and Jan Østergaard Aalborg University, Denmark IEEE COMMUNICATIONS LETTERS,
On Coding for Real-Time Streaming under Packet Erasures Derek Leong *#, Asma Qureshi *, and Tracey Ho * * California Institute of Technology, Pasadena,
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
1 Using Network Coding for Dependent Data Broadcasting in a Mobile Environment Chung-Hua Chu, De-Nian Yang and Ming-Syan Chen IEEE GLOBECOM 2007 Reporter.
Courtesy Piggybacking: Supporting Differentiated Services in Multihop Mobile Ad Hoc Networks Wei LiuXiang Chen Yuguang Fang WING Dept. of ECE University.
Wireless Packet Scheduling With Soft Deadlines Aditya Dua and Nicholas Bambos Department of Electrical Engineering Stanford University ICC 2007.
COMPUTER NETWORKS Data-link Layer (The Medium Access Control Sublayer) MAC Sublayer.
MDC METHOD FOR HDTV TRANSMISSION OVER EXISTING IP NETWORK
Mohammad Malli Chadi Barakat, Walid Dabbous Alcatel meeting
Multiple Access Problem: When two or more nodes transmit at the same time, their frames will collide and the link bandwidth is wasted during collision.
Ad-hoc Transport Layer Protocol (ATCP)
Functions Defined on General Sets
Video On Demand.
Howard Huang, Sivarama Venkatesan, and Harish Viswanathan
Statistical Optimal Hash-based Longest Prefix Match
CS/ECE 418 Introduction to Network Security
Provision of Multimedia Services in based Networks
Process-to-Process Delivery:
TCP in Mobile Ad-hoc Networks
IEEE transactions on information technology in biomedicine 2010
Is Dynamic Multi-Rate Worth the Effort?
TCP in Wireless Ad-hoc Networks
Offset-Time-Based QoS Scheme
COMP60621 Fundamentals of Parallel and Distributed Systems
of the IEEE Distributed Coordination Function
Taehyun Kim and Mostafa H. Ammar
Unequal Error Protection for Video Transmission over Wireless Channels
Process-to-Process Delivery: UDP, TCP
COMP60611 Fundamentals of Parallel and Distributed Systems
Error detection: Outline
Presentation transcript:

Video Streaming to Heterogeneous Receivers Randeep Singh Gakhal CMPT 886 June 3, 2004 Based on work in: R. Janakiraman and L. Xu, "Layered Priority Encoded Transmission for Video Streaming to Heterogeneous Receivers," Proc. 2004 IEEE Int'l Symp. on Inf. Theory, July 2004. (To appear)

Introduction Most broadcasting techniques are intended for homogeneous clients Server assumes clients all have rate R Clients whose rate isn’t R aren’t satisfied. Why? Janakiraman [3] proposes a scheme that supports clients whose rates are not the same: Encode a movie and transmit it in layers Clients download on a subset of the layers based on available bandwidth

Introduction, cont’d The scheme exploits an architecture called Priority Encoded Transmission that provides many niceties: Intimately related to harmonic broadcasting [2] Error resilience Physically realizable (i.e., implementations exist!) In this talk, we discuss a complete system solution to solving the problem of heterogeneous receivers that addresses the following problems: How to broadcast a single layer How to multiplex multiple layers on virtual channels onto a single channel How to assign rates to each layer such that the client receives optimal service (with respect to wait times) And, how to minimize the reception of movie segments that have already been viewed

Outline Broadcasting Basics Priority Encoding Transmission Architecture Layered Broadcasting Server Transmission Rate Assignment Progressive Pruning System Performance Conclusion

Broadcasting Basics

Broadcast Definitions We define a broadcast as the 4-tuple <C, M, S, T> where: C is the channel with bandwidth |C| symbols per unit time M is the movie of length |M| symbols S is a segmentation of M consisting of segments si The transmission T assigns a rate T(si) to each si on the channel C

Feasibility and Optimality For a delay w, a broadcast is w-feasible if a client can view the movie uninterrupted after a maximum delay of w A broadcast <C,M,S,T> that is w-feasible is optimal iff there is no w’-feasible broadcast <C,M,S,T’> where w’<w Theorem: The broadcast <C,M,S,T> is w-feasible iff: for all i. The broadcast is optimal at equality.

Parameters for Optimization For broadcast <C,M,S,T> with channel bandwidth |C|, we introduce two functions: WMIN(|C|): optimal value for w TMAX(|C|): rate assignment to each segment that gives the optimal wait time w E.g., Idealized Harmonic Broadcasting One segment is one symbol.

Priority Encoding Transmission

What is PET? Priority encoding transmission (PET) was originally conceived by Albanese et al. to handle transmission on lossy channels On a network, loss is random  any packet of a transmission consisting of n packets is equally likely to be lost. With a PET system, you can encode the message over n packets such that receipt of some m < n packets will suffice to recover the message Harmonic broadcasting is actually just a special case of a PET system [2]  We can employ a PET system to build a harmonic broadcast

PET Fundamentals For a message of m words divided into k blocks, a PET system generates n packets of length l. The user specifies m, k, and l. The user supplies a priority function  that maps each of the k blocks to a priority on [0,1).  is monotonically increasing. To recover the first i blocks, the user only needs a fraction (i) of the n encoded packets.

PET as Harmonic Broadcasting [2] Given a PET system, what parameters do we use to generate a harmonic broadcast? Consider a movie of M symbols with wait time w: We know blocks are equal sized and we must receive the first block (1/k) of the transmission before we can begin viewing Number of blocks: w=M/k  k=M/w Pick any reasonable packet length Our priority function: (i) = i/k

Realizing a PET Broadcast With Any Broadcast Scheme To realize any broadcast <C,M,S,T> using PET: For the given packet length l, we set the total number of packets to: We encode each segment si into ni packets where: Create the n packets by taking ni/n from symbols from every ni packets generated for each segment without replacement

Layered PET

Layered Broadcasting Using a single broadcast limits clients to receive at the same rate Unable to support heterogeneous receivers We could partition C into multiple broadcasts of varying bandwidth and have clients subscribe at their desired rate Naïve waste of bandwidth The solution: layer the broadcast cumulatively over multiple channels

Additive Properties of Channels Two channels, C1 and C2, give us a new channel with bandwidth |C1 + C2| = |C1|+ |C2| For broadcasts with the same segmentation, the summation of a segment si at rates T1(si) and T2(si) is T1(si) + T2(si) The sum of two broadcasts B1=<C1,M,S,T1> and B2=<C2,M,S,T2> is a broadcast B1 + B2 = <C1+C2,M,S,T1+T2>

Partitioning the Channel Server needs to divide C into  sub-channels Ci Send an independent broadcast Bi=<Ci,M,S,Ti> on each channel Clients subscribe to a subset of channels  Subscription at level i means client is subscribed to channels 1 through i

Cumulative Broadcasts What does a client subscribed at level i receive? Theorem: The broadcasts are optimal for i = 1 to  Our layering of optimal broadcasts results in cumulative broadcasts that are also optimal 

Server Rate Assignment

The “Quantization” Problem Server has a distribution, f(x), of client preferred rates whose domain is continuous Server must transmit on a set of  channels of discrete rates Problem is analogous to scalar quantization Partition domain of preferred rates to a set S={S1,S2,…,S} The values of x in Sk are mapped to the value xk – the server supported rate Distortion measure d(x,xk) used to calculate average distortion:

Rate Assignment Criteria Client with preferred rate r subscribes at rate Client expects delay WMIN(r) but receives delay We know WMIN is a monotonic function of bandwidth, therefore: We need to make this increase in waiting as acceptable as possible. Three criteria: Minimize average absolute increase Minimize average relative increase Minimize worst case increase

Minimizing Average Increase in Delay Use the following distortion function: and the following intervals: We can now solve for the minimum value of CAVG

Minimizing Relative Increase in Delay Minimizing the average increase penalizes clients with high download rates E.g., a client with an increase from 30 sec to 90 sec is treated the same as a client with an increase from 10 to 11 minutes We can use a normalize distortion function instead: Now, we either minimize CAVG for minimal average increase or the following for minimal worst case increase in delay:

Minimizing Worst Case Delay To minimize the worst case increase in delay, CMAX, we minimize the following: Independent of client rate distribution

Solutions for Harmonic Broadcasting Authors provide some closed form solutions for harmonic broadcasting where the client distributions are uniform Minimal average increase: Minimal maximum increase: Minimal relative maximal increase:

Example Using Harmonic Broadcasting Consider a 60 minute movie played out at 1 mbps and to be transmitted over 4 layers with |C| = 10 mbps. The various optimization criteria give us the following rates and delays: Subscription Levels (rate, delay) Minimum Average Increase 2.0 mbps, 564 sec 2.6 mbps, 276 sec 3.6 mbps, 100 sec 5.3 mbps 18 sec Maximum Relative Increase 3.9 mbps, 73 sec 5.9 mbps, 9.7 sec 8 mbps, 1.3 sec Maximum Absolute Increase 2.2 mbps, 423 sec 282 sec 3.3 mbps, 141 sec

Progressive Pruning

Stale Bandwidth There is one major drawback from using PET: We are able to recover the earlier segments of a broadcast before the later segments BUT, we continue the receive these segments after we’ve recovered them To deal with this, we: Divide each channel into sub-channels Divide the segmented movie into contiguous chapters Clients unsubscribe from sub-channels as their content becomes stale  We employ a technique called Progressive Pruning

The Progressive Pruning Problem Broadcast B=<C,M,S,T> is layered over  broadcasts: B1, B2, … , B There are a total of  channels available,  > , to be allocated as sub-channels over the various broadcasts We want to minimize extra symbols received, , over all the clients:  = # symbols received - # symbols in movie We can divide this into two sub-problems: 1. Find an optimal way to split M into j chapters such that  is minimized in each Bi 2. Optimally allocate the  channels over the broadcasts Bi to minimize average  for clients subscribed at each level

A Mincost Partition An (n,k)-partition is a partition of [1..n] into k intervals Cost function  that assigns costs to each partition:  = {1, 2, … , k} We define a mincost(n,k)-partition as K(n,k,) = {P1, P2, … , Pk} as a partition that minimizes: Authors provide a dynamic programming based algorithm to solve this optimization

Solving for Layered Broadcast Each of the two sub-problems can be expressed as a mincost partition problem Authors provide formal definition of subproblems and the cost functions  that can be used to solve the system and determine sub-channel assignments E.g. Consider the 1 hour, 1 Mbps, 4 layer movie discussed earlier Without pruning, 5 times reception overhead on average By solving for 7 channels: Channel 1 gets 2 channels: 22 minutes, 38 minutes Channel 2 gets 1 channel: 60 minutes Channel 3 gets 2 channels: 10 minutes, 50 minutes Channel 4 gets 2 channels: 5 minutes, 55 minutes

Performance

Performance Analysis Authors provide quantitative analysis of movie with 100,000 symbols and 100 segments Movie is broadcast using harmonic broadcasting with layered PET Assume uniform distribution of client reception bandwidth over interval [|C|, |C|] where 0 <  < 1

Distortion Performance with Layering

Reception Overhead with Pruning Channels

Summary

Conclusions Use of a single broadcast channels imposes uniform bandwidth requirements on clients Using Priority Encoded Transmission to layer a broadcast over multiple channels allows us to support heterogeneous receivers Clients subscribe to the subset that best matches their bandwidth goals Server must support a discrete set of rates so clients actual wait times are distorted We can use sub-channels and pruning to reduce redundant reception

References Albanese, J. Bloemer, J. Edmonds, M. Luby. Priorit Encoding Transmission, ICSI report, TR94 -039 (1994), 35 p. L. Engebretsen and M. Sudan. Harmonic Broadcasting is Optimal, Proc. off the 13-th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), 2002. R. Janakiraman and L. Xu, "Layered Priority Encoded Transmission for Video Streaming to Heterogeneous Receivers," Proc. 2004 IEEE Int'l Symp. on Inf. Theory, July 2004. (To appear)