Post on 14-Dec-2015
CS 414 - Spring 2014
CS 414 – Multimedia Systems Design
Lecture 22 – Multimedia Session Protocols
Klara Nahrstedt
Spring 2014
Administrative MP1,HW1, Midterm graded Pick up your HW1 and midterm from TA
during office hours or by appointment Regrading: meet with TA or email TA asking
for regarding He will facilitate the regarding with the gradersDeadline until Wednesday, March 19 (one week)
If you can’t make the deadline, email to TA and Instructor
CS 414 - Spring 2014
Outline
Error Control Multimedia Protocols – Standards
RTP/UDP/IP – Transmission Protocol RTCP Control/Negotiation Protocol to RTP
CS 414 - Spring 2014
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 2014
Error Detection Ability to detect the presence of errors
caused by noise or other impairments during transmission from sender to receiver Traditional mechanisms: check-summing, PDU
sequencing Checksum of a message is an arithmetic sum of message code words
of a certain word length (e.g., byte) CRC – Cyclic Redundancy Check – function that takes as input a data
stream of any length and produces as output a value (commonly a 32-bit integer) – can be used as a checksum to detect accidental alteration of data during transmission or storage
Multimedia mechanisms: byte error detection at application PDU, time detection
CS 414 - Spring 2014
Design of Error Correction Codes Automatic repeat-request (ARQ)
Transmitter sends the data and also an error detection code, which the receiver uses to check for errors, and requests retransmission for erroneous data
The receiver sends ACK (acknowledgement of correctly received data)
Forward Error Correction (FEC) Transmitted encodes the data with an error-correcting
code (ECC) and sends the coded msg. No ACK exists.
CS 414 - Spring 2014
Error Control Error Correction
Traditional mechanisms: retransmission using acknowledgement schemes, window-based flow control
Multimedia mechanisms: Go-back-N Retransmission Selective retransmission Partially reliable streams Forward error correction Priority channel coding Slack Automatic Repeat Request
CS 414 - Spring 2014
Internet Multimedia Protocol Stack
CS 414 - Spring 2014
AAL3/4
IP Version 4, IP Version 6
UDP
Media encaps(H.264, MPEG-4)
RTP
ATM/Fiber Optics Ethernet/WiFi
TCP
SIP RTSP RSVP RTCP
AAL5
KE
RN
EL
AP
PLIC
AT
ION
Layer 4(Transport)
Layer 3(Network)
Layer 2(Link/MAC)
Layer 5(Session)
MPLS
DCCP
DASH
HTTP
Internet Multimedia Protocol Stack
CS 414 - Spring 2014
AAL3/4
IP Version 4, IP Version 6
UDP
Media encaps(H.264, MPEG-4)
RTP
ATM/Fiber Optics Ethernet/WiFi
TCP
SIP RTSP RSVP RTCP
AAL5
KE
RN
EL
AP
PLIC
AT
ION
Layer 4(Transport)
Layer 3(Network)
Layer 2(Link/MAC)
Layer 5(Session)
MPLS
DCCP
DASH
HTTP
Service Requirements for Real-time Flows (Voice/Video) Sequencing Intra-media synchronization Inter-media synchronization Payload identification Frame indication
CS 414 - Spring 2014
Real-time Transmission Protocol (RTP) RTP provides end-to-end transport functions
suitable for real-time audio/video applications over multicast and unicast network services
RTP companion protocol – Real-time Transport Control Protocol (RTCP)
CS 414 - Spring 2014
RTP RTCP
User Datagram Protocol
Internet Protocol
Ethernet 802.13 or Wi-Fi 802.11
PHY (Wired or Wireless)
Layer 4
Relation between RTP and RTCP
CS 414 - Spring 2014
Decoding Coding
RTP RTCP
UDP/IP
Application
Coding Decoding
RTCP RTP
UDP/IP
Application
RTCP: Control and Management Out-of-band control information for RTP flow.
Monitors QoS for RTP in the delivery and packaging of multimedia data
Used periodically to transmit control packets to participants in a streaming multimedia session.
Provides feedback on the quality of service being provided by RTP.
Gathers statistics on media connection Bytes sent, packets sent, lost packets, jitter, feedback and round trip delay. Application may use this information to increase the quality of service, perhaps
by limiting flow or using a different codec.
CS 414 - Spring 2014
RTCP Functions There are several type of RTCP packets:
Sender report packet, Receiver report packet, Source Description RTCP Packet, Goodbye RTCP Packet and Application Specific RTCP packets.
RTCP itself does not provide any flow encryption or authentication means. SRTCP protocol can be used for that purpose.
CS 414 - Spring 2014
RTP Services Payload Type Identification
Determination of media coding Source identification RTP works with Profiles
Profile defines a set of payload type codes and their mappings to payload formats
Sequence numbering Error detection
Time-stamping Time monitoring, synchronization, jitter calculation
Delivery monitoringCS 414 - Spring 2014
RTP Services – Support of Heterogeneity
Mixer service Allows for resynchronization of incoming audio packets Reconstructs constant 20 ms spacing generated by
sender Mixes reconstructed audio streams into single stream Translates audio encoding to lower bandwidth Forwards lower bandwidth packet streams
Translator service Allows for translation between IP and other high speed
protocols May change encoding data
CS 414 - Spring 2012
RTP Common Header
CS 414 - Spring 2012
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Ver P X CC M PT Sequence Number
Timestamp
SSRC
CSRC [0..15] :::
Ver – Version 2P – PaddingX – Extension, if set, the fixed head is followed by exactly one header extensionCC – CSRC countM – Marker – intended to allow significant events such as frame boundaries to be marked (defined by profile)PT – Payload type SSRS – synchronization source, CSRC – contribution source
Payload Formats
Static Payload formatsEstablished in RTP Profile Payload type 0 := µ-law audio codec
Dynamic Payload formatsApplications agree per session on payload
formatH.263, JPEG, MPEG
CS 414 - Spring 2012
Conclusion RTP usage – in several application audio and video tools
(vat, vic) RTP follows the principle of application level framing and
integrated layer processing RTP/UDP/IP is being used by the current streaming session
protocols such as RTSP Session protocols are actually negotiation/session
establishment protocols that assist multimedia applications Multimedia applications such as QuickTime, Real Player
and others use them
CS 414 - Spring 2014