Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CS 414 – Multimedia Systems Design Lecture 30 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring 2014 CS 414 - Spring 2014 Administrative MP2 posted MP2 Deadline – April 12, Saturday, 5pm. CS 414 - Spring 2014 DASH AND INTERNET VIDEO CS 414 - Spring 2014 Media Presentation Data Model MDP - description of accessible segments and corresponding timing Media Segments (2) Media segment duration advantages disadvantages Short duration Commonality with live high switching granularity on segment level - Large number of files - Large number of URLs - Fixed request size - Switching granularity on segment level Long duration - Small number of files - Small number of URLs - High switching granularity - Flexible request sizes - Improved cache performance - Need for segment index - Difference from live CS 414 - Spring 2014 Segment Indexing Provides information in ISO box structure on Accessible units of data (e.g., frames) in media segment Byte range in segments (easy access through HTTP GET) Accurate presentation duration (seamless switching) Presence of representation access positions Provides compact bitrate-over-time to client Can be used for intelligent request schedule Generic data structure Hierarchical structuring for efficient access CS 414 - Spring 2014 Media Segment with Segment Index CS 414 - Spring 2014 MPEG-DASH Summary Is rich and simple at the same time Supports both un-chunked and chunked Supports both separate and combined AV Index formats for efficient byte range operation ISO base media file format w/common encryption Many useful stream and track annotations Currently – best candidate for open standard for adaptive streaming in video-on-demand services CS 414 - Spring 2014 MULTIMEDIA BUFFERING ISSUES 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 Motivation for Buffering Buffers are temporary holding areas of RAM that contain transferable data. In multimedia systems, transferable data occur when Transmitting multimedia from sender to receiver over Internet Transferring multimedia from disk to RAM Transferring multimedia RAM to I/O Devices CS 414 - Spring 2014 Layered Code in Multimedia Systems RECEIVER SENDER Sampling/Encoding Streaming Application Decoding/Playout Streaming Application Real-time Transport Protocol (RTP) (Packetization) Real-time Transport Protocol (DePacketization) UDP UDP IP IP Ethernet Ethernet CS 414 - Spring 2014 Protocol Requirements on Buffer Management (Summary) Protocol Requirement: Segmentation Protocol Requirement: Reassembly Maintain logical copy of buffer to store SDU for possible retransmission Protocol Requirement: Multicast Linking memory to form one buffer Protocol Requirement: Retransmission (in case of TCP) Splitting of service data units (SDU) Identification of each split SDU 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 2014 End-to-end Processing and Transmission of Digital Media Signals Sampling A/D ps(t) encoder e(t) packetization Analog Media signal pr(t) bs(t) network playout d(t) r(t) Dec oder Depacketization br(t) p(t) – amount of captured/playout bits at time t; e(t), d(t) amount of encoded/decoded bits at time t; b(t) - amount of clustered bits at time t CS 414 - Spring 2014 Example: Sender and Receiver Curves for transmission of CBR signal (digital speech with 64 kbps over a circuit-switched network) buffering bytes ps(t) br(t) pr(t) bs(t) time CS 414 - Spring 2014 Sender/Receiver Curves for Transmission of Voice over Packet-switched network bytes ps(t) pr(t) bs(t) r(t) Late loss CS 414 - Spring 2014 Outline Protocol Requirements on Buffer Management Buffer Management Data Copying Offset Management Scatter/Gather System Buffering Strategies Minbuf Maxbuf CS 414 - Spring 2014 Buffer Management Buffers can be viewed as spatial representation of time Buffer plays very important role in smoothing traffic Network protocols buffer their service data units (SDUs) and use data copying when going from one protocol layer to another Moving data using data copying is very expensive CS 414 - Spring 2014 Data Copying RTP Streaming Service Buffer for RTP Protocol Data Unit User space Copy data Kernel Transport Service Entity (UDP) Buffer for UDP Datagram Copy data Network Service Entity (IP) Buffer for IP Datagram CS 414 - Spring 2014 Buffer Management System at Receiver Layered Code in Multimedia Systems RECEIVER SENDER Sampling/Encoding Streaming Application Decoding/Playout Streaming Application Real-time Transport Protocol (Packetization/ And Segmentation) Real-time Transport Protocol (De-Packetization And Re-assembly) UDP UDP Re-assembly Segmentation IP IP Segmentation Reassembly Ethernet Ethernet NETWORK CS 414 - Spring 2014 Protocol Requirements on Buffer Management and Segmentation Protocol Requirements Service Data Unit (SDU) Example: Application Data Unit – Video I frame That comes out of encoder SEGMENTATION PCI SDU1 PCI Buffer Management: Keep identification (PCI) to which application data unit the segment belongs SDU2 CS 414 - Spring 2014 Example: I frame gets split into two RTP datagrams Reassembly and Retransmission Requirements on Buffer Management SDU1 SDU2 REASSEMBLY PCI SDU1 PCI SDU2 Buffer Management: support linking of memory to form one buffer RETRANSMISSION Buffer Management : logical copy of buffer must exist to store SDUs for Possible retransmission CS 414 - Spring 2014 Multi-cast and Multi-target requirements on Buffer Management Multicast S PCI -Group T3 T1 SDUi Buffer Management: Keep only One buffer for all recipients Use Multicast Group address (PCI-Group) T2 Multi-Traget PCI-T1 PCI-T2 T1 T3 T2 PCI-T3 CS 414 - Spring 2014 Buffer Management: Keep one memory segment Common to all buffers SDUi Buffer Management Techniques Data DATA COPYING Buffer Management: Copy data and PCIs between protocol layers Problems:??? OFFSET MANAGMENT PCI1 PCI2 3. PCI2 2. PCI1 Buffer Management: Assign as large buffer as data + all headers of the protocols require Problems:??? CS 414 - Spring 2014 PCI1 1. data Data Data App RTP UDP 1. app 2. PCI1 added by RTP 3. PCI2 added by UDP Buffer Management Techniques (Scatter-Gather) Data PTR1 DATA Application Buffer Space PCI1 RTP Buffer Space PCI2 UDP Buffer Kernel Space PCI1 PTR2 PCI2 PTR3 Scatter/Gather Table Structure Buffer Management: Establish scatter/gather Table structure across all protocol layers to keep Track where payload (data) and control info (PCIs) Are located Problems: ??? CS 414 - Spring 2014 Comparison Data Copying Offset Scatter/Gather Memory BW High Low Low CPU BW High Low Low Memory Usage Optimal for per Layer individual protocol layer because exact amount of space will be allocated High for application protocol because it must allocate space more than it needs Compromise, segments are sized depending on requirements Are Protocol NA Requirements without copying satisfied? No, segmentation needs copying Mostly yes (one copy and segmentation must be done when data leaves node) CS 414 - Spring 2014 Conclusion Need buffering at VOD client side Some buffering needed also at VOD Server side Can use FIFO techniques Reservation memory schemes are possible Implemented in system, called RK (CMU) Will talk about VOD server in next lectures CS 414 - Spring 2014