cs 414 - spring 2014 cs 414 – multimedia systems design lecture 22 – multimedia session...

21
CS 414 - Spring 2014 CS 414 – Multimedia Systems Design Lecture 22 – Multimedia Session Protocols Klara Nahrstedt Spring 2014

Upload: marcus-richard

Post on 14-Dec-2015

219 views

Category:

Documents


2 download

TRANSCRIPT

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

Go-back-N Retransmission

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

Difference between Mixers and Translators

CS 414 - Spring 2012

S1

S2 S4

S3

R1M1 T M2

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