270 likes | 432 Views
CS 414 – Multimedia Systems Design Lecture 30 – Final Comments on DASH and Client-Server Buffer Management. Klara Nahrstedt Spring 2014. Administrative. MP2 posted MP2 Deadline – April 12, Saturday, 5pm. DASH and Internet Video. Media Presentation Data Model.
E N D
CS 414 – Multimedia Systems DesignLecture 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) 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 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 2014
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 Decoding/Playout Streaming Application Sampling/Encoding Streaming Application Real-time Transport Protocol (De-Packetization) Real-time Transport Protocol (RTP) (Packetization) UDP UDP IP IP Ethernet Ethernet CS 414 - Spring 2014
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 2014
End-to-end Processing and Transmission of Digital Media Signals ps(t) e(t) Sampling A/D encoder bs(t) packetization Analog Media signal network r(t) br(t) d(t) pr(t) playout Dec oder De- packetization 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 ps(t) bytes br(t) pr(t) bs(t) time CS 414 - Spring 2014
Sender/Receiver Curves for Transmission of Voice over Packet-switched network ps(t) bytes 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 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 2014
Layered Code in Multimedia Systems RECEIVER SENDER Decoding/Playout Streaming Application Sampling/Encoding 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 Reassembly Segmentation Ethernet Ethernet NETWORK CS 414 - Spring 2014
Protocol Requirements on Buffer Management and Segmentation Protocol Requirements Example: Application Data Unit – Video I frame That comes out of encoder Service Data Unit (SDU) SEGMENTATION Example: I frame gets split into two RTP datagrams PCI SDU1 PCI SDU2 Buffer Management: Keep identification (PCI) to which application data unit the segment belongs CS 414 - Spring 2014
Reassembly and Retransmission Requirements on Buffer Management PCI SDU1 PCI SDU2 REASSEMBLY SDU1 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 SDUi Buffer Management: Keep only One buffer for all recipients Use Multicast Group address (PCI-Group) T3 T1 T2 Buffer Management: Keep one memory segment Common to all buffers Multi-Traget PCI-T1 SDUi PCI-T2 T1 T3 PCI-T3 T2 CS 414 - Spring 2014
Buffer Management Techniques 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 2014
Buffer Management Techniques(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 2014
Comparison 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