cs 414 - spring 2012 cs 414 – multimedia systems design lecture 28 – final comments on dash and...
TRANSCRIPT
CS 414 - Spring 2012
CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management
Klara Nahrstedt
Spring 2012
Administrative MP2 posted MP2 Deadline – April 7, Saturday, 5pm.
CS 414 - Spring 2012
DASH AND INTERNET VIDEO MOBILITY
CS 414 - Spring 2012
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
DASH featuring Session Mobility (Problem Description)
CS 414 - Spring 2012
Problem: User runs DASH streaming session on laptop and decides to switch to Another mobile device
Source: Muller et al, MMSys’11
Composition of Media Presentations (CMP)Consider layer on top of MDP which specifies initial user and device optionsReasons:
Size of MPD expands very quickly (different camera views/angles, subtitles, audio languages, …)
Device pre-configuration (codec, resolution…) User pre-configuration due to her preferences (camera
angle, subtitle, …) Flexibility and compatibility with existing repository formats
CS 414 - Spring 2012
CMP Protocol Sequence
CS 414 - Spring 2012
(1) At Client Request CMP from Server (1) Once CMP received, check and Configure CMP at client if needed(3) Request for MDP that fulfills Requirements(4) Start standard DASH complaint steps
Source: Muller et al, MMSys’11
Session Mobility Protocol
CS 414 - Spring 2012
(1) Initiate session transfer(2) Digital Item Adaptation (DIA)Starts and preserves current state of Digital Item (segment)(3) Transfer Context digital itemTo selected device(4) Download CMP(5) Reconfigure device(6) Continue with DASH-compatible protocol
Source: Muller et al. MMSys 2011
MULTIMEDIA BUFFERING ISSUES
CS 414 - Spring 2012
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
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 InternetTransferring multimedia from disk to RAMTransferring multimedia RAM to I/O Devices
CS 414 - Spring 2012
Layered Code in Multimedia Systems
CS 414 - Spring 2012
Sampling/Encoding Streaming Application
Real-time Transport Protocol (RTP)(Packetization)
UDP
IP
Ethernet
Decoding/Playout Streaming Application
Real-time Transport Protocol (De-Packetization
UDP
IP
Ethernet
SENDER RECEIVER
End-to-end Processing and Transmission of Digital Media Signals
CS 414 - Spring 2012
SamplingA/D
encoder packetization
network
De-packetization
Dec oderplayout
AnalogMedia signal
ps(t) e(t)bs(t)
br(t)r(t)d(t)pr(t)
p(t) – amount of captured/playout bits its at time t; e(t), d(t) amount of encoded/decoded bits at time t; b(t) - amount of clustered bits at time t
Example: Sender and Receiver Curves for transmission of CBR signal (digital speech with 64 kbps over a circuit-switched network)
CS 414 - Spring 2012
time
ps(t)
bs(t)
br(t) pr(t)bytes
buffering
Sender/Receiver Curves for Transmission of Voice over Packet-switched network
CS 414 - Spring 2012
ps(t)
bs(t) r(t)
pr(t)bytes
Lateloss
Outline Protocol Requirements on Buffer Management Buffer Management
Data CopyingOffset Management Scatter/Gather System
Buffering StrategiesMinbufMaxbuf
CS 414 - Spring 2012
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 2012
Data Copying
CS 414 - Spring 2012
Transport Service Entity(UDP)
Copy data
Network Service Entity(IP)
Buffer for UDP Datagram
Kernel
User space
RTP StreamingService
Buffer for RTPProtocol Data Unit
Buffer for IP Datagram
Buffer Management System at Receiver
Copy data
Layered Code in Multimedia Systems
CS 414 - Spring 2012
Sampling/Encoding Streaming Application
Real-time Transport Protocol (Packetization/And Segmentation)
UDP
IP
Ethernet
Segmentation
Segmentation
Decoding/Playout Streaming Application
Real-time Transport Protocol (De-PacketizationAnd Re-assembly)
UDP
IP
Ethernet
Re-assembly
Reassembly
SENDER RECEIVER
NETWORK
Protocol Requirements on Buffer Management and Segmentation
CS 414 - Spring 2012
Protocol Requirements
Service Data Unit (SDU)Example: Application Data Unit – Video I frameThat comes out of encoder
PCI SDU1 PCI SDU2
Buffer Management:Keep identification (PCI) to which application data unit the segment belongs
SEGMENTATION
Example: I frame gets split into two RTP datagrams
Reassembly and Retransmission Requirements on Buffer Management
CS 414 - Spring 2012
PCI SDU1 PCI SDU2
SDU1 SDU2
REASSEMBLY
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
Multi-cast and Multi-target requirements on Buffer Management
CS 414 - Spring 2012
S
T3T1
T2
PCI -Group SDUiMulticast
Buffer Management: Keep only One buffer for all recipientsUse Multicast Group address (PCI-Group)
T1T2
T3
SDUi
PCI-T1
PCI-T2
PCI-T3
Multi-TragetBuffer Management:Keep one memory segmentCommon to all buffers
Buffer Management Techniques
CS 414 - Spring 2012
PCI1 Data
Data
PCI1 DataPCI2
App
RTP
UDP
DATA COPYING
1. app2. PCI1 added by RTP
3. PCI2 added by UDP
1. data2. PCI13. PCI2OFFSET MANAGMENT
Buffer Management: Assign as large buffer as data + all headers of the protocols require
Problems:???
Problems:???
Buffer Management: Copy data and PCIsbetween protocol layers
Buffer Management Techniques(Scatter-Gather)
CS 414 - Spring 2012
Scatter/GatherTable Structure
DATAData PTR1
PCI1
PCI1 PTR2
PCI2
PCI2 PTR3
Application Buffer Space
RTP BufferSpace
UDP BufferKernel Space
Problems: ???
Buffer Management: Establish scatter/gatherTable structure across all protocol layers to keep Track where payload (data) and control info (PCIs)Are located
Comparison
CS 414 - Spring 2012
Data Copying Offset Scatter/Gather
Memory BW High Low Low
CPU BW High Low Low
Memory Usage per Layer
Optimal for 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 Requirements without copying satisfied?
NA No, segmentation needs copying
Mostly yes(one copy and segmentation must be done when data leaves node)
Buffering Strategies in Client-Server Systems
CS 414 - Spring 2012
Read encoded frames from VOD Disk
PacketizationProtocol Stack Processing
network
De-PacketizationProtocol Stack Processing
Decoderplayout
VOD Server
VOD Client
VOD Retrieval Transmission and Playout Curves
CS 414 - Spring 2012
time
bytes Retrieval curveFrom disk
SendingCurve fromVOD server
ReceivingCurve at VOD Client
Playout CurveAt VOD Client
buffers
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 strategyElastic 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 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
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 2012