Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
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