20
CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 30 – Buffer Management (Part 3) Klara Nahrstedt Spring 2012

CS 414 – Multimedia Systems Design Lecture 30 – Buffer Management (Part 3)

Embed Size (px)

DESCRIPTION

CS 414 – Multimedia Systems Design Lecture 30 – Buffer Management (Part 3). Klara Nahrstedt Spring 2012. Administrative. MP2 posted MP2 Deadline – April 7, Saturday, 5pm. Covered Aspects of Multimedia. Audio/Video Presentation Playback. Image/Video Capture. Audio/Video - PowerPoint PPT Presentation

Citation preview

Page 1: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

CS 414 - Spring 2012

CS 414 – Multimedia Systems Design Lecture 30 – Buffer Management (Part 3)

Klara NahrstedtSpring 2012

Page 2: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

Administrative MP2 posted MP2 Deadline – April 7, Saturday, 5pm.

CS 414 - Spring 2012

Page 3: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

Covered Aspects of Multimedia

Image/VideoCapture

MediaServerStorage

Transmission

CompressionProcessing

Audio/VideoPresentationPlaybackAudio/Video

Perception/ Playback

Audio InformationRepresentation

Transmission

AudioCapture

A/V Playback

Image/Video InformationRepresentation

CS 414 - Spring 2012

Page 4: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

Outline

VoD Client Buffering TechniquesMinBufMaxBuf

CS 414 - Spring 2012

Page 5: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

Client/Server Video-on-Demand System

CS 414 - Spring 2012

Page 6: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

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 strategyMaxbuf buffers more than one unit of information

and eases QoS guarantees demands on networkBuffering only up to a limit (Bufmax)

CS 414 - Spring 2012

Page 7: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

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

Page 8: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

Client Buffer Constraints(Received amount of data Cr(t) should always be between ZOi (t) and ZOi (t) + Bufmax)

CS 414 - Spring 2012

Page 9: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

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

Delivery time instant of the first unit before start of display:

CS 414 - Spring 2012

1

minmin

ii

Oibuf

ttZTh

bufOi

x ThZt minmin

Page 10: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

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

CS 414 - Spring 2012

ZOi ZOi-1

ti-2ti-1ti

Display ThreadReceiving Thread

ZOi ZOi+1

ti+1titi-1

Display Thread Receiving Thread

Phase 1 Phase 2

Page 11: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

Example (2) Question: What is the throughput under the above

given video characteristics and minbuf strategy? Answer: MinBuf Throughput needed in end-to-end

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

Page 12: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

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:

CS 414 - Spring 2012

DurationDisplayStream

BufZTh

n

iOi

buf

__1

maxmaxmin

Page 13: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

Example (1) Question: Given Video frame 320x240 pixels, 8bits/pixel;

Video frame rate 20 fps, uncompressed, and Network throughput 8 Mbps What is the worst case arrival time of frames if Bufmax is 10

frames (holds ½ second of video frames)? Answer: arrival time every k = Bufmax/Throughput =

5.8599375 Mbits/8 Mbps = 0.83242 seconds 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 second CS 414 - Spring 2012

Page 14: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

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

Page 15: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

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

Page 16: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

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

Page 17: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

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

Page 18: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

Implementation Issues Buffers for Uncompressed Periodic Streams

Use circular buffers as prefetch buffers with maxbuf strategy 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 priority queues or FIFO Buffers for Non-RT Data

Use maxbuf strategy with static buffer allocation

CS 414 - Spring 2012

Page 19: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

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 thresholdAdvantage:

assures fast start, and at the same time provides fairly high resilience to bandwidth fluctuation

CS 414 - Spring 2012

Page 20: CS 414 – Multimedia Systems Design Lecture 30 –  Buffer Management (Part 3)

Conclusion Will talk about media server in next

lectures

CS 414 - Spring 2012