![Page 1: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/1.jpg)
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
![Page 2: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/2.jpg)
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
![Page 3: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/3.jpg)
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
![Page 4: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/4.jpg)
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
![Page 5: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/5.jpg)
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
![Page 6: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/6.jpg)
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
![Page 7: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/7.jpg)
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
![Page 8: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/8.jpg)
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
![Page 9: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/9.jpg)
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
![Page 10: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/10.jpg)
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
![Page 11: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/11.jpg)
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
![Page 12: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/12.jpg)
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
![Page 13: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/13.jpg)
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))
![Page 14: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/14.jpg)
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)
![Page 15: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/15.jpg)
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
![Page 16: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/16.jpg)
Network Structure
Propagation of QoS adaptation requests
![Page 17: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/17.jpg)
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
![Page 18: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/18.jpg)
Total Bandwidth Consumption 2Mbps bound is not exceeded despite transient
bandwidth usage variations due to varying frame sizes Chopper prevented less than 10 overshoots
![Page 19: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/19.jpg)
Service Differentiation
Transient distribution of enhancement layers
Differentiator successfully distributes allocated bandwidth according to priorities
Lowest Priority
Highest Priority
![Page 20: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/20.jpg)
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
![Page 21: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/21.jpg)
Service Differentiation…
Average number of transmitted enhancement layers for different priority streams
![Page 22: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/22.jpg)
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
![Page 23: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/23.jpg)
Video Streaming Quality…
![Page 24: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/24.jpg)
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
![Page 25: Bandwidth Consumption Control for Video Streaming](https://reader030.vdocuments.mx/reader030/viewer/2022032709/5681315c550346895d97d1ea/html5/thumbnails/25.jpg)
Questions...
Thank You!