220 likes | 393 Views
CS 414 – Multimedia Systems Design Lecture 29 – Buffer Management (Part 2). 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
E N D
CS 414 – Multimedia Systems DesignLecture 29 – Buffer Management (Part 2) Klara Nahrstedt Spring 2012 CS 414 - Spring 2012
Administrative MP2 posted MP2 Deadline – April 7, Saturday, 5pm. CS 414 - Spring 2012
Covered Aspects of Multimedia Audio/Video Presentation Playback Image/Video Capture Audio/Video Perception/ Playback Image/Video Information Representation Transmission Transmission Compression Processing Audio Capture Media Server Storage Audio Information Representation A/V Playback CS 414 - Spring 2012
Multimedia Protocols: Layered Code Multicast Unicast S T S Sampling/Encoding Streaming Application T3 T1 Real-time Transport Protocol (Packetization/ And Segmentation) RECEIVER SENDER Decoding/Playout Streaming Application T2 Real-time Transport Protocol (De-Packetization And Re-assembly) Multi-Traget UDP Segmentation UDP Re-assembly IP Segmentation IP Reassembly Ethernet T1 T3 Ethernet T2 NETWORK CS 414 - Spring 2012
Sender/Receiver Curves for Transmission of Voice over Packet-switched network may cause packet losses ps(t) bytes pr(t) bs(t) r(t) Late loss CS 414 - Spring 2012
Protocol Requirements on Buffer Management (Summary) • Protocol Requirement: Segmentation • Splitting of service data units (SDU) • Identification of each split SDU • Protocol Requirement: Reassembly • Linking memory to form one buffer • Protocol Requirement: Retransmission (in case of TCP) • Maintain logical copy of buffer to store SDU for possible retransmission • Protocol Requirement: Multicast • Keep one buffer for all recipients and use multicast group address • Protocol Requirement: Multi-target • Keep one memory segment common to all buffers CS 414 - Spring 2012
Buffer Management Techniquesfor Layered Code in Multimedia Protocol Stack Data Copying Offset Management Scatter-Gather CS 414 - Spring 2012
Data Copying Buffer for RTP Protocol Data Unit RTP Streaming Service User space Copy data Kernel Transport Service Entity (UDP) Buffer for UDP Datagram Copy data Network Service Entity (IP) Buffer for IP Datagram Buffer Management System at Receiver CS 414 - Spring 2012
Data Copying and Offset Management Data App DATA COPYING Buffer Management: Copy data and PCIs between protocol layers RTP PCI1 Data Problems:??? PCI1 UDP PCI2 Data 1. app 3. PCI2 2. PCI1 1. data OFFSET MANAGMENT 2. PCI1 added by RTP Buffer Management: Assign as large buffer as data + all headers of the protocols require 3. PCI2 added by UDP Problems:??? CS 414 - Spring 2012
Scatter-Gather Application Buffer Space Data PTR1 DATA PCI1 PTR2 PTR3 PCI2 RTP Buffer Space Scatter/Gather Table Structure PCI1 Buffer Management: Establish scatter/gather Table structure across all protocol layers to keep Track where payload (data) and control info (PCIs) Are located UDP Buffer Kernel Space PCI2 Problems: ??? CS 414 - Spring 2012
Comparison CS 414 - Spring 2012
Client-Server Systems: Distributed Application Code Read encoded frames from VOD Disk Packetization Protocol Stack Processing network VOD Server VOD Client playout Decoder De-Packetization Protocol Stack Processing CS 414 - Spring 2012
Client/Server Video-on-Demand System CS 414 - Spring 2011
VOD Retrieval Transmission and Playout Curves Receiving Curve at VOD Client Sending Curve from VOD server Retrieval curve From disk bytes Playout buffers Playout Curve At VOD Client time CS 414 - Spring 2012
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 2012
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 2012
Playout Delays Small Playout Delay Large Playout Delay CS 414 - Spring 2012
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 2012
Buffer Management Strategies Clients need buffers for VOD (Video-on-Demand) 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 2012
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 2012
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 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., Video-on-Demand (VOD) service • Buffering at the VOD client side • Some buffering needed also at VOD Server side CS 414 - Spring 2012