Download PPT

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CS 414 – Multimedia Systems Design
Lecture 31 –
Buffer Management (Part 2)
Klara Nahrstedt
Spring 2014
CS 414 - Spring 2014
Administrative


MP2 posted
MP2 Deadline – April 12, Saturday, 5pm.
CS 414 - Spring 2014
Covered Aspects of Multimedia
Image/Video
Capture
Audio/Video
Perception/
Playback
Audio/Video
Presentation
Playback
Image/Video Information
Representation
Transmission
Audio
Capture
Transmission
Compression
Processing
Audio Information
Representation
Media
Server
Storage
CS 414 - Spring 2014
A/V
Playback
Buffering Strategies in ClientServer Systems
Read encoded
frames from
VOD Disk
Packetization
Protocol Stack Processing
VOD Server
network
VOD Client
playout
Decoder
CS 414 - Spring 2014
De-Packetization
Protocol Stack
Processing
Client/Server Video-on-Demand
System
CS 414 - Spring 2014
VOD Retrieval Transmission and
Receiving
Sending
Playout Curves
Curve at VOD
Curve from
VOD server
bytes
Client
Retrieval curve
From disk
buffers
Playout Curve
At VOD Client
time
CS 414 - Spring 2014
Playout Buffers

Goal: face effects caused by Network delay,
delay jitter, packet loss on continuous media
streams
 By
using QoS-aware network technologies
(RSVP, DiffServ, ATM, …)
not widely adapted

 By

using adaptive playout control techniques
Face unpredictability of IP networks by compensating
for variable network delays and jitters experienced
during the transmission of media packets
CS 414 - Spring 2014
Adaptive Playout Control Mechanisms

Delay jitter is smoothed away by
 Employing
playout buffer at the receiver
 Dynamically enqueueing packets into it

Playout buffer
 Delays
received packets for some time to allow
smooth media packet playout rate,
 Absorbs negative effects introduced by delay
jitter
 Must be adaptive since delay jitter on Internet
may vary significantly with time.
CS 414 - Spring 2014
Playout Delays
Small Playout Delay
Large Playout Delay
CS 414 - Spring 2014
Buffer Management Techniques
for VOD Client

Consider time of buffer setup
 Fixed
Buffer Technique
 Dynamic Buffer Technique

Consider size of buffer
 MinBuf
 MaxBuf
CS 414 - Spring 2014
Buffer Management Strategies
Clients need buffers for VOD (Video-onDemand) application to smooth out traffic
jitters
 Buffer management strategies balance
bits in transit (buffer size and bits in
channel)
 Fixed Strategy (non-adaptive) and
dynamic (adaptive)

CS 414 - Spring 2014
Buffer Management Strategies

Fixed buffer strategy
 Static
buffer allocation during multimedia call
setup phase
 Static buffer allocation does not change
during run-time

Dynamic buffer strategy
 Elastic
buffer allocation , i.e., allocate buffers
during multimedia call setup, but change them
during run-time
CS 414 - Spring 2014
Buffering Strategies at VOD
Client

Minbuf - minimum buffering strategy
 Minbuf
minimizes buffering requirements at
VOD client, but makes more demands on
network (throughput and delay guarantees)

Maxbuf – maximum buffering strategy
 Maxbuf
buffers more than one unit of
information and eases QoS guarantees
demands on network
 Buffering only up to a limit (Bufmax)
CS 414 - Spring 2014
Buffering Model
ZOi(t) – amount of bits in multimedia object
(e.g., Video frame) Oi displayed at time t
 Cr(t) – amount of bits received at receiver
at time t
 Two buffer states in each buffering
strategy:

 Starvation

if Cr(t) ≤ ZOi(t)
If Cr(t) > ZOi(t), no starvation at VOD client
 Overflow
if Cr(t) ≥ ZOi(t) + Bufmax
CS 414 - Spring 2012
Client Buffer Constraints
(Received amount of data Cr(t) should always be
between ZOi (t) and ZOi (t) + Bufmax)
CS 414 - Spring 2012
Implications of Minbuf Strategy


With minbuf strategy – delivery time of a unit of
information is the display time of previous unit
Minimum Throughput (Th) in bits per time unit
required is
min buf
min
Th

Z Oi

ti  ti 1
Delivery time instant of the first unit before start
Z Oi
of display: t 
x
min buf
Thmin
CS 414 - Spring 2012
Example (1)

Question: Given Video Stream with
 320x240
pixels, 20 fps, 8bits per pixel, uncompressed
 What is the minimal buffer size if Minbuf technique is
used?

Answer:


Buffer Size is of the application frame Z = 76800 bytes if
receiving and display operations are done sequentially
One can also deploy a dual buffering scheme of 2* Z if
receiving and display operations are done concurrently
Display Thread
Receiving Thread Display Thread
Phase 1
ti
ti-1
ti-1
ti-2
CS 414 - Spring 2012
ZOi+1
ZOi
Phase 2
ZOi-1
ZOi
Receiving Thread
ti
ti+1
Example (2)


Question: What is the throughput under the
above given video characteristics and minbuf
strategy?
Answer: MinBuf Throughput needed in end-toend fashion
Z
= 76800 bytes, 20 fps (50 ms period)
 ti – ti-1 = 50 ms = 50/1000 sec
 Throughput = Z/ti – ti-1 = 76800 bytes/ (50/1000 sec) =
1536000 bytes/sec = 12288000 bits/sec = 12000 kbps =
11.71875 Mbps
CS 414 - Spring 2012
Implication of Maxbuf Strategy

Delivery schedule of VOD server and network
may cause that Bufmax bits will be delivered
every K seconds, where
K

= Bufmax/Th,
Th – throughput of network
Minimum Throughput required
 ∑ZOi
– total size in bits of all objects that will be
presented in stream:
n
max buf
Thmin

Z
i 1
Oi
 Buf max
Stream _ Display _ Duration
CS 414 - Spring 2012
Example (1)

Question: Given Video frame 320x240 pixels, 8bits/pixel;
Video frame rate 20 fps, uncompressed, and Network
throughput 8 Mbps


Answer: arrival time every k = Bufmax/Throughput =
5.8599375 Mbits/8 Mbps = 0.83242 seconds


What is the worst case arrival time of frames if Bufmax is 10
frames (holds ½ second of video frames)?
What is the Bufmax size if frames arrive on average every k = 1
second?
Answer: Bufmax = k*Throughput = 8 Mbits = 8388608
bits = 1048576 bytes = 13.653 video frames ; round up
to 14 frames; Bufmax should be 14 frames if throughput
is 8 Mbps and arrival of frames is approximately every 1
CS 414 - Spring 2012
second
Standard Video Buffering

Video delivered over “deterministic” channel (satellite,
cable, digital TV broadcasting) simple
 Small buffer (minbuf technique)


Data arrives to the media player with deterministic delay and rate and
infrequent data drops
Video delivered over IP networks problematic

Big buffers (maxbuf technique)


No guarantees in IP networks
Streaming servers manage simple buffering

Data sent as quickly as possible; when buffer full, (reached predefined
threshold), video playback starts and server continues to send data
CS 414 - Spring 2012
Implementation Issues
 Buffers for Uncompressed Periodic Streams


Buffers for Compresses Periodic Streams



Use circular buffers, but carefully consider the size of buffer
unit (depending on MPJEG or MPEG) with maxbuf strategy
For MPEG may consider dynamic buffer allocation
Buffers for Control Information


Use circular buffers as prefetch buffers with maxbuf strategy
Use priority queues or FIFO
Buffers for Non-RT Data

Use maxbuf strategy with static buffer allocation
CS 414 - Spring 2012
Implementation Issues

Dual-Threshold Buffering (in Flash Media
Server)
 Buffer
has two thresholds:
When buffer filled with data up to first threshold,
start playback
 After that continue buffering until second, higher
threshold

 Advantage:
assures fast start, and at the same time
 provides fairly high resilience to bandwidth
fluctuation

CS 414 - Spring 2012
Conclusion

Need buffering consideration in layered code
of multimedia protocol stack
 Data
copying
 Offset management
 Scatter-gather

Need buffering consideration in distributed
code of multimedia applications , e.g., Videoon-Demand (VOD) service
 Buffering
at the VOD client side
 Some buffering needed also at VOD Server side
CS 414 - Spring 2014
ADDITIONAL SLIDES EXAMPLES
CS 414 - Spring 2014
Example (2)

Question: Given video characteristics of
320x240 pixels, 8 bpp, 20 fps,
uncompressed, length of the move is 1
minute, Bufmax holds 1 second of frames,
what is the minimum throughput we would
need if we use MaxBuf strategy?
CS 414 - Spring 2012
Example (3)

Given video characteristics of 320x240 pixels,
8bpp, 20fps, MJPEG compressed with I frames
50% compression (1:2) of each frame;
 Question:
what would be the arrival time (k) of frames
if we have buffer size, holding 1 second frames, and
network throughput of 10 Mbps?
 Question: what would be the minimal throughput
needed from the network under above conditions if
the video clip would be 30 seconds long?
CS 414 - Spring 2012
Example (4)
Given MPEG-2 compressed video with
GOP of IPBBPBBPBBI, average I frame
size of 10KB, average P frame size of 6
KB, and average B frame size of 2 KBytes.
 Question: What would be the buffer size
(express it in bytes and time duration) if
network throughput is 4 Mbps and arrival
time of each compressed frame is on
average every 500 ms?

CS 414 - Spring 2012
Related documents