Bandwidth Consumption Control for Video Streaming
-
Upload
bevis-pugh -
Category
Documents
-
view
36 -
download
1
description
Transcript of Bandwidth Consumption Control for Video Streaming
Bandwidth Consumption Control for Video Streaming
Can Basaran ,Kyoung-Don Kang, and Mehmet H. Suzer
Department of Computer ScienceState University of New York
Binghamton, USA
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
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
Scalable Video (SPEG) [Qstream]
Enh. layer 0Enh. 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
e(k) = 0.25∆ e(k) = 0.0625
µPS = 1
µ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 limited number 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
Video Streaming Quality…
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!