80 likes | 224 Views
Managing VBR Videos. The VBR Problem. Constant quality Burstiness over multiple time scales Difference within and between scenes Frame structure of encoding algorithm
E N D
The VBR Problem • Constant quality • Burstiness over multiple time scales • Difference within and between scenes • Frame structure of encoding algorithm • Consider the examples in the paper “Statistical Properties of MPEG Video Traffic and their Impact on Traffic Modeling in ATM Systems” • The frame and the GOP sizes can be approximated by the Gamma or LogNormal distributions • Long term dependencies exist between frames: Hurst exponents range from 0.7 to 1 • Hurst exponent: (R/S)N = (cN)H • R: range of cumulative deviation from mean, S: S.D.
Transferring VBR Video • First approach • Server, network and client provision for peak rates • Most of the time resources will be underutilized • Second approach • Model the traffic by multiplexing the VBR video with other data flowing over the network • Come up with an “effective bandwidth” • Third approach • Use prior knowledge of the video content • Precompute a transmission schedule to • Minimize bit rate • Avoid overflow or underflow of client buffers Bandwidth smoothing
Bandwidth Smoothing Algorithms • Primary goal • Reduce the peak transmission rate • Transmit large frames to the client playback buffer in advance of each burst • Optimization criteria • Minimize number of changes in transmission rate • Minimize variability of bandwidth requirement • Minimize client buffer utilization • Minimize number of ON-OFF segments in an ON-OFF transmission model • Change transmission rate only at periodic intervals • Minimize general cost metrics
Overflow and Underflow • The video consists of n frames, where frame i needs fi bytes of storage • To permit continuity, the server should always avoid underflow, by serving enough data • By frame k the client consumes at least L(k) bytes, where • L(k)= i=0..kfi • The upper bound of data received will be • U(k)=L(k)+b, where b is the playback buffer size • Break up the transmission into m linear segments such that during the run of the j-th segment the transmission rate is constant at some rate rj • During any run the number of bytes must be between L(k) and U(k)
Overflow and Underflow m=3 bytes frame number
Selecting Long Trajectories • Starting at a point for run j+1, • the trajectory should run until it reaches the upper or the lower bound curve • At that frontier it should change the slope • Accepts client buffer size as input parameter • Algorithm MCBA (min. changes bandwidth allocation) • Minimize m and the peak bandwidth requirement • Polyline sliding-stretching algorithm • Linear complexity • Algorithm MVBA (min. variability bandwidth allocation) • Minimizes variance in rate requirements • Starting from leftmost point in the frontier, gradually alters rate requirements • Uses larger number of small bandwidth changes
Smoothing at Peak Rate • RCBS (rate constrained bandwidth smoothing) • Given a maximum bandwidth constraint r, produces a schedule with smallest buffer utilization • Transmit frames as late as possible • Start with the last frame of the movie • If a frame exceeds the rate constraint, the frame rate is adjusted to the maximum allowed rate and transmitted earlier • Small small buffer size follows the actual data rate closely • Operates with MCBA/MVBA algorithm because they produce the value of r