250 likes | 413 Views
Can Basaran ,Kyoung-Don Kang, and Mehmet H. Suzer Department of Computer Science State University of New York Binghamton, USA. Bandwidth Consumption Control for Video Streaming. Need for Bandwidth Control [Competing Applications].
E N D
Can Basaran ,Kyoung-Don Kang, and Mehmet H. Suzer Department of Computer Science State University of New York Binghamton, USA Bandwidth Consumption Control for Video Streaming
Need for Bandwidth Control[Competing Applications] • Excessive, uncontrolled bandwidth consumptions for real-time streaming may starve applications competing for networking medium in a ubiquitous environment • Audio streaming • Web surfing • Instant messaging • File transfer
Need for Bandwidth Control[Competing Streams] • A streaming system may have active streams of different priorities • Live streams from the baby room • Streams from security cameras • may have time varying priorities • Movies, sport events… • Available bandwidth should be distributed based on priorities of active streams
Need for Bandwidth Control[Mission Critical Systems] • QoS support is even more crucial for mission critical applications • Wireless Sensor Networks • Video streaming • Still images • All can benefit from differentiated services for providing high QoS for hot regions
Impact on streams • Large delay and jitter significantly impair user perceived QoS • Important for mission critical applications as well as entertainment systems • Bandwidth limits and priority differentiation should not cause jitter and delay even for the lowest priority streams
Provided QoS Support • Control network bandwidth consumptions • Fuzzy control and layered encoding to ensure no more than the specified bandwidth is consumed • Differentiate service to efficiently utilize the limited bandwidth • Prioritization algorithm • The higher the priority, the better the quality • Avoid large delays and jitters via real-time scheduling • Deadlines associated with frames • EDF (earliest deadline first) algorithm
Stream behaviour [Why Fuzzy Logic?] • The bandwidth consumption of even a single stream is unpredictable • Hard to come up with a mathematical model • Even the optimal modelwould not be able topredict bursts, resulting in overshoots
Scalable Video (SPEG) [Qstream] • Video is encoded in frames of hierarchical layers • Upper enhancement layers can be discarded resulting in a lower quality frame, consuming less bandwidth Base layer Enh. layer 0 Enh. layer 1 Enh. layer 3
Prioritization of layers [QStream] • Priorities are assigned to layers based on • the frame type I, P, B • Number of dependent frames • Contribution to overall quality • QStream assigns one of 16 priority levels to each encoding layer, resulting in priority layers
Scalable Video [Qstream] • Layers of same priority are grouped together and sent in chunks • To control the bandwidth consumption controller decides on the streaming quality in terms of priority levels
Server Structure • Admission Controller accepts or rejects client requests based on base-layer size • Controller • Regulates bandwidth consumption • Gracefully minimizes overshoots • Bursts are handled by the Chopper • Differentiator distributes bandwidth to streams based on their priorities
Controller vs. Chopper • Chopper is priority blind • Continuously monitors outgoing traffic and drops packets if it detects an overshoot without looking at which stream they belong to • Can guarantee “no overshoots” • Controller tries to minimize the number of chopper interventions to provide differentiated, smooth streams
The Controller • Controller Inputs • Error: e(k) = US - r(k)/RS = 1 - r(k)/RS • Change of error: ∆e(k) = e(k) – e(k-1) • Controller Output: change in quality (∆b(k))
The Controller… • Fuzzification: from crisp values to fuzzy linguistic values • Inference: Linguistic output based on table lookup µPS = 1 e(k) = 0.25 ∆ e(k) = 0.0625 µZE = 0.75 µPS = 0.25 µ(PS,PS) = min{1,0.25} = 0.25 µ(PS,ZE) = min{1,0.75} = 0.75 ∆ b(k) ∆ b(k)
Network Propagation • In a multi-hop deployment controller signals generated by nodes are propagated to stream sources (servers) • Bottle-neck nodes immediately react via local controller and chopper • Servers adapt to new constraints as they receive control signals from remote clients
Network Structure • Propagation of QoS adaptation requests
Experiments • 2Mbps bound for video streaming • 4 streams with different priorities • 13 minutes • ~500Kb base layer size • Streams require a total of 8Mbps for full quality • Wired departmental network
Total Bandwidth Consumption • 2Mbps bound is not exceeded despite transient bandwidth usage variations due to varying frame sizes • Chopper prevented less than 10 overshoots
Service Differentiation • Transient distribution of enhancement layers • Differentiator successfully distributes allocated bandwidth according to priorities Lowest Priority Highest Priority
Service Differentiation… • Number of transmitted enhancement layers is not proportional to stream priorities • Controller indirectly controls bandwidth by controlling the stream quality • Sizes of enhancement layers are different • There are limitednumber of enhancement layers
Service Differentiation… • Average number of transmitted enhancement layers for different priority streams
Video Streaming Quality • Although quality of streams are reduced to fit the allocated bandwidth limit, server can still maintain acceptable quality even for the lowest priority stream
Future Work • Extending SPEG encoding to increase the available priority levels, allowing finer grain control over bandwidth consumption • Adaptive streaming in wireless networks where physical constraints are more strict • Scalable sensor data streaming in wireless sensor networks
Questions... Thank You!