CS 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 TA asking for regarding He will facilitate the regarding with the graders Deadline until Wednesday, March 19 (one week) If you can’t make the deadline, to TA and Instructor CS Spring 2014
Outline Error Control Multimedia Protocols – Standards RTP/UDP/IP – Transmission Protocol RTCP Control/Negotiation Protocol to RTP CS Spring 2014
Covered Aspects of Multimedia Image/Video Capture Media Server Storage Transmission Compression Processing Audio/Video Presentation Playback Audio/Video Perception/ Playback Audio Information Representation Transmission Audio Capture A/V Playback Image/Video Information Representation CS 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 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 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 Spring 2014
Go-back-N Retransmission CS Spring 2014
Internet Multimedia Protocol Stack CS 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 RTSPRSVPRTCP AAL5 KERNEL APPLICATION Layer 4 (Transport) Layer 3 (Network) Layer 2 (Link/MAC) Layer 5 (Session) MPLS DCCP DASH HTTP
Internet Multimedia Protocol Stack CS 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 RTSPRSVPRTCP AAL5 KERNEL APPLICATION 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 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 Spring 2014 RTPRTCP User Datagram Protocol Internet Protocol Ethernet or Wi-Fi PHY (Wired or Wireless) Layer 4
Relation between RTP and RTCP CS Spring 2014 DecodingCoding RTPRTCP UDP/IP Application CodingDecoding RTCPRTP 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.quality of service Gathers statistics on media connection Bytes sent, packets sent, lost packets, jitter, feedback and round trip delay.jitter round trip delay Application may use this information to increase the quality of service, perhaps by limiting flow or using a different codec. CS 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.SRTCP CS 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 monitoring CS 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 Spring 2012
Difference between Mixers and Translators CS Spring 2012 S1 S2S4 S3 R1 M1 T M2
RTP Common Header CS Spring VerPXCCMPTSequence Number Timestamp SSRC CSRCCSRC [0..15] ::: Ver – Version 2 P – Padding X – Extension, if set, the fixed head is followed by exactly one header extension CC – CSRC count M – 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 formats Established in RTP Profile Payload type 0 := µ-law audio codec Dynamic Payload formats Applications agree per session on payload format H.263, JPEG, MPEG CS 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 Spring 2014