Multimedia 15-441 Computer Networks 10/02/02 Xavier Appé.

Slides:



Advertisements
Similar presentations
Streaming Video over the Internet
Advertisements

MM Networking Applications
Chapter 6: Multimedia Networking
1 Multimedia Communication Multimedia Systems Summary: r Multimedia Networking Applications: Requirements r Current Networks m Limitations & Evolution.
1 Multimedia Networking EECS 489 Computer Networks Z. Morley Mao Monday March 26, 2007 Acknowledgement: Some.
29.1 Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
29.1 Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 25 Multimedia.
19 – Multimedia Networking. Multimedia Networking7-2 Multimedia and Quality of Service: What is it? multimedia applications: network audio and video (“continuous.
User Control of Streaming Media: RTSP
Multimedia Streaming Protocols1 Multimedia Streaming: Jun Lu Xinran (Ryan) Wu CSE228 Multimedia Systems Challenges and Protocols.
Chapter 6 outline r 6.1 Multimedia Networking Applications r 6.2 Streaming stored audio and video m RTSP r 6.3 Real-time, Interactive Multimedia: Internet.
Computer Networking Multimedia Fall 2011 Multimedia2 Outline Multimedia requirements Audio and Video Data Streaming Interactive Real-Time.
Application layer (continued) Week 4 – Lecture 2.
Multimedia Applications
CS 360 – Spring 2007 Pacific University Multimedia Content (Streaming Media) Session “Layer” section Feb 2007.
1 CSE 401N Multimedia Networking Lecture Multimedia, Quality of Service: What is it? Multimedia applications: network audio and video network provides.
Multimedia Applications r Multimedia requirements r Streaming r Phone over IP r Recovering from Jitter and Loss r RTP r Diff-serv, Int-serv, RSVP.
Media Streaming Protocols Presented by: Janice Ng and Yekaterina Tsipenyuk May 29 th, 2003 CSE 228: Multimedia Systems.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
Computer Networking Multimedia.
CS640: Introduction to Computer Networks
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
RTSP Real Time Streaming Protocol
1 CMSCD1011 Introduction to Computer Audio Lecture 10: Streaming audio for Internet transmission Dr David England School of Computing and Mathematical.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
6: Multimedia Networking6a-1 Chapter 6: Multimedia Applications r Multimedia requirements r Streaming r Phone over IP r Recovering from Jitter and Loss.
Multimedia and QoS#1#1 Multimedia Applications. Multimedia and QoS#2#2 Multimedia Applications r Multimedia requirements r Streaming r Recovering from.
Ch 7. Multimedia Networking Myungchul Kim
7: Multimedia Networking7-1 Chapter 7 Multimedia Networking A note on the use of these ppt slides: We’re making these slides freely available to all (faculty,
Computer Networks: Multimedia Applications Ivan Marsic Rutgers University Chapter 3 – Multimedia & Real-time Applications.
Streaming Stored Audio and Video (1) and Video (1) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot.
1 How Streaming Media Works Bilguun Ginjbaatar IT 665 Nov 14, 2006.
Multimedia Over IP: RTP, RTCP, RTSP “Computer Science” Department of Informatics Athens University of Economics and Business Λουκάς Ελευθέριος.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
1 Lecture 17 – March 21, 2002 Content-delivery services. Multimedia services Reminder  next week individual meetings and project status report are due.
CS640: Introduction to Computer Networks Aditya Akella Lecture 19 - Multimedia Networking.
What is Multimedia? Function: noun plural but singular or plural in construction Date: 1950 : a technique (as the combining of sound, video, and text)
Multimedia, Quality of Service: What is it?
Chapter 6 outline r 6.1 Multimedia Networking Applications r 6.2 Streaming stored audio and video m RTSP r 6.3 Real-time Multimedia: Internet Phone Case.
1 o characteristics – From an application-level API to the physical layer – CBR, VBR, ABR and UBR – Cell: bytes – Virtual circuits: virtual channel.
Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot.
1 Multimedia Networking R. Yang. 2 Outline r Admin. and review  Introduction to multimedia networking r An architecture of stored multimedia r Network.
CMPT365 Multimedia Systems 1 Multimedia Networking/Communications Spring 2015 CMPT 365 Multimedia Systems.
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 28 Multimedia.
Chapter 28. Network Management Chapter 29. Multimedia
Multimedia streaming Application Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Querying.
Multimedia Networking Ashwin Bharambe Carnegie Mellon University Networking, Spring 2003 Tuesday, April 22, 2003.
Multimedia Streaming Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Computer Networking Multimedia. 11/15/20052 Outline Multimedia requirements Streaming Phone over IP Recovering from Jitter and Loss RTP QoS Requirements.
Internet multimedia: simplest approach audio, video not streamed: r no, “pipelining,” long delays until playout! r audio or video stored in file r files.
Ch 6. Multimedia Networking Myungchul Kim
BITM1113- Multimedia Systems
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
Ch 6. Multimedia Networking Myungchul Kim
Multimedia Streaming I. Fatimah Alzahrani. Introduction We can divide audio and video services into three broad categories: streaming stored audio/video,
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 4: Multimedia.
Chapter 13: Multimedia and Networking BITM1113- Multimedia Systems.
19 – Multimedia Networking
Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Networking Applications
Multimedia Applications
Chapter 25 Multimedia TCP/IP Protocol Suite
Networking Applications
Multimedia networking: outline
CSE679: Multimedia and Networking
CIS679: MPEG-2 Review of MPEG-1 MPEG-2 Multimedia and networking.
Multimedia networking: outline
Multimedia Applications
Presentation transcript:

Multimedia Computer Networks 10/02/02 Xavier Appé

Outlines Difference with classic applications Difference with classic applications Classes of multimedia applications Requirements/Constraints Problems with today’s Internet and solutions Common multimedia protocols RTP, RTCP Accessing multimedia data through a web server Conclusion

Difference with classic applications Highly delay-sensitive Packets are useless if they arrive too late Loss-tolerant (for the most part) Packet loss can be concealed

Outlines Difference with classic applications Classes of multimedia applications Classes of multimedia applications Requirements/Constraints Requirements/Constraints Problems with today’s Internet and solutions Common multimedia protocols RTP, RTCP Accessing multimedia data through a web server Conclusion

Classes of multimedia Applications Streaming Stored Audio and Video Streaming Live Audio and Video Real-Time Interactive Audio and Video Others

Class: Streaming Stored Audio and Video The multimedia content has been prerecorded and stored on a server User may pause, rewind, forward, etc… The time between the initial request and display start can be 1 to 10 seconds Constraint: after display start, the playout must be continuous

Class: Streaming Live Audio and Video Similar to traditional broadcast TV/radio, but delivery on the Internet Non-interactive just view/listen Can not pause or rewind Often combined with multicast The time between the initial request and display start can be up to 10 seconds Constraint: like stored streaming, after display start, the playout must be continuous

Class: Real-Time Interactive Audio and Video Phone conversation/Video conferencing Constraint: delay between initial request and display start must be small Video: <150 ms acceptable Audio: <150 ms not perceived, <400 ms acceptable Constraint: after display start, the playout must be continuous

Class: Others Multimedia sharing applications Download-and-then-play applications E.g. Napster, Gnutella, Freenet Distance learning applications Coordinate video, audio and data Typically distributed on CDs

Outlines Difference with classic applications Classes of multimedia applications Requirements/Constraints Problems with today’s Internet and solutions Problems with today’s Internet and solutions Common multimedia protocols RTP, RTCP Accessing multimedia data through a web server Conclusion

Challenge TCP/UDP/IP suite provides best-effort, no guarantees on expectation or variance of packet delay Performance deteriorate if links are congested (transoceanic) Most router implementations use only First-Come-First-Serve (FCFS) packet processing and transmission scheduling

Problems and solutions Limited bandwidth Solution: Compression Packet Jitter Solution: Fixed/adaptive playout delay for Audio (example: phone over IP) Packet loss Solution: FEC, Interleaving

Problem: Limited bandwidth Intro: Digitalization Audio x samples every second (x=frequency) The value of each sample is rounded to a finite number of values (for example 256). This is called quantization Video Each pixel has a color Each color has a value

Problem: Limited bandwidth Need for compression Audio CD quality: samples per seconds with 16 bits per sample, stereo sound 44100*16*2 = Mbps For a 3-minute song: * 180 = 254 Mb = MB Video For 320*240 images with 24-bit colors 320*240*24 = 230KB/image 15 frames/sec: 15*230KB = 3.456MB 3 minutes of video: 3.456*180 = 622MB

Audio compression Several techniques GSM (13 kbps), G.729(8 kbps), G723.3(6.4 and 5.3kbps) MPEG 1 layer 3 (also known as MP3) Typical compress rates 96kbps, 128kbps, 160kbps Very little sound degradation If file is broken up, each piece is still playable Complex (psychoacoustic masking, redundancy reduction, and bit reservoir buffering) 3-minute song (128kbps) : 2.8MB

Image compression: JPEG Divide digitized image in 8x8 pixel blocks Pixel blocks are transformed into frequency blocks using DCT (Discrete Cosine Transform). This is similar to FFT (Fast Fourier Transform) The quantization phase limits the precision of the frequency coefficient. The encoding phase packs this information in a dense fashion

JPEG Compression

Video compression Popular techniques MPEG 1 for CD-ROM quality video (1.5Mbps) MPEG 2 for high quality DVD video (3-6 Mbps) MPEG 4 for object-oriented video compression

Video Compression: MPEG MPEG uses inter-frame encoding Exploits the similarity between consecutive frames Three frame types I frame: independent encoding of the frame (JPEG) P frame: encodes difference relative to I-frame (predicted) B frame: encodes difference relative to interpolated frame Note that frames will have different sizes Complex encoding, e.g. motion of pixel blocks, scene changes, … Decoding is easier then encoding MPEG often uses fixed-rate encoding IPBBBBBBPPIBBBB

MPEG Compression (cont.)

MPEG System Streams Combine MPEG video and audio streams in a single synchronized stream Consists of a hierarchy with meta data at every level describing the data System level contains synchronization information Video level is organized as a stream of group of pictures Group of pictures consists of pictures Pictures are organized in slices …

MPEG System Streams (cont.)

Problem: Packet Jitter Jitter: Variation in delay Example Sender No jitter Receiver Jitter pkt 6 pkt 5

Dealing with packet jitter How does Phone over IP applications limit the effect of jitter? A sequence number is added to each packet A timestamp is added to each packet Playout is delayed

Dealing with packet jitter Fixed playout delay Fixed playout delay

Dealing with packet jitter Adaptive playout delay Objective is to use a value for p-r that tracks the network delay performance as it varies during a transfer. The following formulas are used: d i = (1-u)d i-1 + u(r i – t i ) u=0.01 for example i = (1-u) i-1 + u|r i -t i -d i | Where t i is the timestamp of the ith packet (the time pkt i is sent) r i is the time packet i is received p i is the time packet i is played d i is an estimate of the average network delay i is an estimate of the average deviation of the delay from the estimated average delay

Problem: Packet loss Loss is in a broader sense: packet never arrives or arrives later than its scheduled playout time Since retransmission is inappropriate for Real Time applications, FEC or Interleaving are used to reduce loss impact.

Recovering from packet loss Forward Error Correction Send redundant encoded chunk every n chunks (XOR original n chunks) If 1 packet in this group lost, can reconstruct If >1 packets lost, cannot recover Disadvantages The smaller the group size, the larger the overhead Playout delay increased

Recovering from packet loss Piggybacking Lo-fi stream With one redundant low quality chunk per chunk, scheme can recover from single packet losses

Recovering from packet loss Interleaving Divide 20 msec of audio data into smaller units of 5 msec each and interleave Upon loss, have a set of partially filled chunks

Recovering from packet loss Receiver-based Repair The simplest form: Packet repetition Replaces lost packets with copies of the packets that arrived immediately before the loss A more computationally intensive form: Interpolation Uses Audio before and after the loss to interpolate a suitable packet to cover the loss

Movie Time

Outlines Difference with classic applications Classes of multimedia applications Requirements/Constraints Problems with today’s Internet and solutions Common multimedia protocols Common multimedia protocols RTP, RTCP RTP, RTCP Accessing multimedia data through a web server Conclusion

Real Time Protocol (RTP) RTP logically extends UDP Sits between UDP and application Implemented as an application library What does it do? Framing Multiplexing Synchronization Feedback (RTCP)

RTP packet format Payload Type: 7 bits, providing 128 possible different types of encoding; eg PCM, MPEG2 video, etc. Sequence Number: 16 bits; used to detect packet loss

RTP packet format (cont) Timestamp: 32 bytes; gives the sampling instant of the first audio/video byte in the packet; used to remove jitter introduced by the network Synchronization Source identifier (SSRC): 32 bits; an id for the source of a stream; assigned randomly by the source

Timestamp vs. Sequence No Timestamps relates packets to real time Timestamp value sampled from a media specific clock Sequence number relates packets to other packets

Audio silence example Consider audio data type What do you want to send during silence? Not sending anything Why might this cause problems? Other side needs to distinguish between loss and silence Receiver uses Timestamps and sequence No. to figure out what happened

RTP Control Protocol (RTCP) Used in conjunction with RTP. Used to exchange control information between the sender and the receiver. Three reports are defined: Receiver reception, Sender, and Source description Reports contain statistics such as the number of packets sent, number of packets lost, inter-arrival jitter Typically, limit the RTCP bandwidth to 5%. Approximately one sender report for three receiver reports

Outlines Difference with classic applications Classes of multimedia applications Requirements/Constraints Problems with today’s Internet and solutions Common multimedia protocols RTP, RTCP Accessing multimedia data through a web server Accessing multimedia data through a web server Conclusion

Streaming Stored Multimedia Example Audio/Video file is segmented and sent over either TCP or UDP, public segmentation protocol: Real-Time Protocol (RTP) User interactive control is provided, e.g. the public protocol Real Time Streaming Protocol (RTSP)

Streaming Stored Multimedia Example Helper Application: displays content, which is typically requested via a Web browser; e.g. RealPlayer; typical functions: Decompression Jitter removal Error correction: use redundant packets to be used for reconstruction of original stream GUI for user control

Streaming from Web Servers Audio: in files sent as HTTP objects Video (interleaved audio and images in one file, or two separate files and client synchronizes the display) sent as HTTP object(s) A simple architecture is to have the Browser request the object(s) and after their reception pass them to the player for display - No pipelining

Streaming from a Web Server (cont) Alternative: set up connection between server and player, then download Web browser requests and receives a Meta File (a file describing the object) instead of receiving the file itself; Browser launches the appropriate Player and passes it the Meta File; Player sets up a TCP connection with a streaming server Server and downloads the file

Using a Streaming Server

Options when using a streaming server Use UDP, and Server sends at a rate (Compression and Transmission) appropriate for client; to reduce jitter, Player buffers initially for 2-5 seconds, then starts display Use TCP, and sender sends at maximum possible rate under TCP; retransmit when error is encountered; Player uses a much large buffer to smooth delivery rate of TCP

Real Time Streaming Protocol (RTSP) For user to control display: rewind, fast forward, pause, resume, etc… Out-of-band protocol (uses two connections, one for control messages (Port 554) and one for media stream) RFC 2326 permits use of either TCP or UDP for the control messages connection, sometimes called the RTSP Channel As before, meta file is communicated to web browser which then launches the Player; Player sets up an RTSP connection for control messages in addition to the connection for the streaming media

Meta File Example Twister <track type=audio e="PCMU/8000/1" src = "rtsp://audio.example.com/twister/audio.en/lofi"> <track type=audio e="DVI4/16000/2" pt="90 DVI4/8000/1" src="rtsp://audio.example.com/twister/audio.en/hifi"> <track type="video/jpeg" src="rtsp://video.example.com/twister/video">

RTSP Operations C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Transport: rtp/udp; compression; port=3056; mode=PLAY S: RTSP/ OK Session 4231 C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=0- S: RTSP/ OK Session 4231 C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=37 S: RTSP/ OK Session 4231 C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 S: RTSP/ OK Session 4231

Outlines Difference with classic applications Classes of multimedia applications Requirements/Constraints Problems with today’s Internet and solutions Common multimedia protocols RTP, RTCP Accessing multimedia data through a web server Conclusion Conclusion

Conclusion None of the proposed solutions give a real guarantee to the user that multimedia data will arrive on time. Couldn’t we reserve some bandwidth for our multimedia transfer?