Download - Integrated Optimization of Video Server Resource and Streaming Quality Over Best-Effort Network
Integrated Optimization of Video Server Resourceand Streaming Quality Over Best-Effort Network
Authors:Hang Yu, Ee-Chien Chang, Wei Tsang Ooi
Presented by:Xiaoyan Sun, Qianwen Geng
2
Outline
• Introduction & Motivation• Assumptions and Notations• Expected Recovered Frame Rate• Optimal Configurations• Experimental Results• Conclusion
3
Outline
• Introduction & Motivation• Assumptions and Notations• Expected Recovered Frame Rate• Optimal Configurations• Experimental Results• Conclusion
4
Introduction
Adaption to changes in network conditions– Avoid network congestion– Share bandwidth w/ other connections
Sending rate based on (Server)– Bandwidth– Loss characteristics
Motivation• Best-Effort network: packets are transported w/o any
notion of resource reservation or priority. Network adaptation is often performed through rate adjustment in the following ways.– dynamically adapt its sending rate by transcoding the source
video in real timeDrawbacks: require substantial transcoding cost and sacrifice
compression ratio or video quality– store multiple versions of the same video content, each with
different bit ratesDrawbacks: in low reference locality and can incur additional I/O
cost, require a lot of storage• three categories
– Adaptive encoding, stream is requantized on the fly– Switching among multiple pre-encoded streams, server based– Hierarchical encoding, receiver-based
6
Video Compression SchemesMPEG
7
Adaption Mechanisms• Trade off between the cost of transcoding and
switching , the server can use a hybrid solution– store only several versions of the video content– and transcode in real-time (if needed) to meet the
desired sending rate• Goals:– achieve good expected recovered frame rate– reduce the cost for switches among versions stored on
the server– reduce the transcoding cost during the transmission
8
Outline
• Introduction & Motivation• Assumptions and Notations• Expected Recovered Frame Rate• Optimal Configurations• Experimental Results• Conclusion
9
Assumptions and Notations
• Network Conditions (b,p)– Bandwidth, obtained using the TCP equation– Probability of packet loss, obtained through receiver’s
feedback using RTCP.
• Sending Configurations (F, rI, rP, rB)– Fixed GOP length– {I,P,B,x}– (NI , NP , NB )
– FEC ratio rI, rP, rB
– For example: (IxBPBBI,0 ,0, 0)
10
Assumptions and Notations• Reducibility :• a configuration C1 can be reduced to anotherConfiguration C 2 if any MPEG video encoded with C1 can betranscoded to C2 with negligible computational overhead.• this paper considers the following two ways of reduction as
negligible computation:• Reducing the FEC ratio. (IBBPBBI,0.1,0.1,0)->(IBBPBBI,0.1,0.05,0)
Throw away extra FEC • Dropping B-frames. For example, . (IBBPBBI,0,0,0)->(IxBPBBI,0,0,0)
11
Assumptions and Notations
• Seed Configurations (irreducible configuration)
• C1 and C2 are the seeds of the set M={C4,C3,C6,C5,C7}
• L- seed set
12
Assumptions and Notations• Assigning Configuration to Network Condition:
decide which configuration to use f(b,p)=C
Lf-- range of an assignment ∽f--seed assignment if L f ∽ is irreducible
• f(b,p) is sent, but we store video encoded with L f ∽ since f(b,p) => f(b,p) ∽• network condition changes(b0,p0) to (b1,p1), switching
configuration from f(b0,p0) to f(b1,p1) by changing the transcoding operation
13
Outline
• Introduction & Motivation• Assumptions and Notations• Expected Recovered Frame Rate• Optimal Configurations• Experimental Results• Conclusion
14
Expected Recovered Frame Rate
• given a configuration C and network condition (b,p), the expected frame rate successfully recovered at the receiver’s end. Efr(C,b,p)
• K – average number of packets sent in a video frame• r– the FEC ratio of the frame• Kr – the average number of FEC packets for the frame• N – total number of packets sent for a frame N=K+Kr• p – probability of the packet loss during transmission
15
Expected Recovered Frame Rate
• Under FEC coding scheme, the original K packets can be recovered if at least K packets (out of N ) are received
• modeling the sending process as a series of Bernoulli trials, the probability that K packets are successfully recovered is given
16
Expected Recovered Frame Rate• Expected number of I-frames recovered is given
by• Expected number of P-frames recovered, , is thus
given by
• Expected number of B-frames recovered can be computed by
expected reconstruct frame rate:Efr(C,b,p)=RI+RP+RB
17
Outline
• Introduction & Motivation• Assumptions and Notations• Expected Recovered Frame Rate• Optimal Configurations• Experimental Results• Conclusion
Optimal Configurations
• consider a range of network conditions, and show how to determine the seeds
• (b,p)=>L(set of irreducible configurations)Model: b,p are sampled into discrete values b1 b2 b3… bnP1 x x x … xP2 x x x x (bi,pj)P3 x x x x Efr(f(bi,pj),bi,pj)Pn x x x x Main formulation(energy function):
Optimal Configurations
• Overall Expected Frame Rate – Pr(bi,pj), prob. the network bandwidth is (bi, pj)– Bw(C) size of the video encoding w/ config. C– K(C,b,p) best expected frame rate over all possible
config. C’ that can be reduced from C
• Assume network condition is uniformly distribute, i.e. Pr(bi,pj)=c
Optimal Configurations
• First to describe neighborhood
• Dist(.,.) cost of switching between configurations• Dist(C1,C2)=1 if C1≠C2, otherwise 0
• Es is in fact the expected number of switches between configuration per unit time.
Optimal Configurations• Finding the Optimal
(1)• Mode I: Find the seed assignment that maximizes(1) • Mode II: Given an integer k, find the seed assignment that
maximizes (1) subjected to the constraint | L f ∽ |<=k.
• find the optimal local move based on swap.– First assign each network condition to a configuration– Next, iteratively, optimal local move is performed– a swap between a pair of configuration C1,C2
• initial assignment of the network condition is the C’ s.t. Efr(C’,b,p)is maximized.
Optimal Configurations
• Searching Space (for implementation) C=(F, rI, rP, rB)• Due to large number of possible frame patterns– For each combination of NI,NP and NB, only one frame
pattern is considered.– Bound the anchor frames 1/3<=(NI+Np )/ (NI+NP + NB)<=1– The total number of frame patterns considered in this
experiment is reduced to 2977 for the test video– However, the number of configurations is much more. Only consider the configuration that includes maximum
possible number of FEC bits.
23
Outline
• Introduction & Motivation• Assumptions and Notations• Expected Recovered Frame Rate• Optimal Configurations• Experimental Results• Conclusion
Experimental Results
Frame size
• The size of each frame type :
• Packets size : 1500 bytes.• Size of frame pattern : 30 f/group• interval for each frame : 1/30 second.• best possible expected frame rate : 30 fps.
Network condition:
• Bandwidth b starts from 120 to 300 step size: 10.
• effective bandwidth: 1.44 to 3.6 Mbps (packet size: 1500 bytes)
• Packet loss probability p starts from 0.01 to 0.1 step size: 0.01.
Seed Configuration:first reducibility graph R1 transcoding is achieved by dropping FEC packets.
second reducibility graph R2 transcoding is achieved by dropping FEC packets
and/or B-frames.
Six different seed configurations are computed, using two graphs and four different weights (0, 3, 8, 30).
Results and Analysis:
• Perform experiments for R1, R2 and different weights (0, 3, 8, 30)
Detailed Legend for the Result
the optimal configuration and best frame rate for each network condition
the expected overall frame rate using only the standard configuration
R1, Weight = 3
R1, Weight = 8
• Adjusting weight can change the size of the seed-set. This can be employed to find solutions for Mode II
• More examples coming up……
R2, Weight = 3
R2, Weight = 30
• The advantage of using R2
• Provides a better approximation to the optimal configuration
• Comparing the last four with the standard configuration in the second one, choosing a better seed-set can achieve significant improvement in terms of expected frame rate.
• the expected frame rate is not far from performing no configuration reduction, which is illustrated in the first figure.
• Next……
• show how the seed can improve the server performance
• when adapting to changing network condition.
Changing of Network Condition
• Now we will look up the processing time, I/O time and the storage issue
real time transcoder
Conclusion:
a server’s resource is an important factor in video streaming over a best-effort network, especially in applications where the server needs to serve many clients simultaneously
a real-time transcoder that always switches to the optimal configuration consumes significant computing power and, hence, is not suitable to serve multiple videos.
a server that precomputes all of the required configurations needs massive storage space, and its operating system will be overwhelmed with I/O operations during streaming.
• uses a small number of configurations as the seeds, reduces storage and I/O cost significantly by decreasing the performance slightly
THANK YOU!