CMSC691C Multimedia Networking A Course Overview Padma Mundur CSEE, UMBC firstname.lastname@example.org
List of Topics Multimedia Networking: Source Representations, Networks, and Applications Multimedia Compression Fundamentals & Coding Standards Scalable Video Coding for Heterogeneous Networks Fundamentals of IP Routing IETF QoS Efforts Existing Solutions for Scalable Multimedia QoS
The Telephone (Voice) Network Circuit switched network: –Analog (since1890): manually switching –Digital: voice bit stream (64 Kbps) –Better channel utilization by time-division multiplexing: –Reservation fixed for the whole transmission A B C
The Internet (Data) Network Packet-switched network: –packets share resources (buffers, links) –reservation not fixed, but on-demand –multiple links (connectivity, reliability) –buffers (store, process, forward) –control information in packets (s,d,seq#)
Internet Users Growth Source: www.isc.org 1B mobile users by 2005 and 1B Internet users by 2005 90% of all new mobile phones will have internet access by 2003 (Morgan Stanley Dean Witter, May 2000)
Multimedia over IP Networks Music Streaming Information Search Movies Streaming Finance, Brokerage Digital Photos Internet E-mail Video Clip Attachment Video Conference VoIP Wireless Browsing
Multimedia Networking Applications Media Broadcast: simultaneous pushing of content to multiple recipients –Network IP Multicast – Multicast enabled routers and switches Hosted Streaming: content users initiate requests and content networks/providers push content through network Interactive Conferencing: no centralized source of contents
Internet content provider clients Multimedia Broadcast over IP IP (internet protocol) makes it possible to link all (global) nodes together independent of applications and terminal devices
Hosted Multimedia Streaming Media Encoding Audio Video Animation Clients Send Request To Servers Web Server Send Request to Media Server Media Server Proprietary Format Multicast capable More Robust Access to Storage Relieves Web Server Send Stream To Clients Standalone player Java based player Browser plug-in player Appliance Decode Buffer Sync. To hear or view a media file without downloading it
Bandwidth concern for multipoint interaction Internet Interactive Conferencing and Meeting Server
Meeting Client Token Meeting Token Holder How A Server Distributes the Data
Meeting Client Token Old Token Holder New Token Holder Dynamic Token Passing
IP Networks IP uses packet switching –Suitable for unexpected burst of data without establishing an explicit connection. –Bandwidth is shared statistically so data can be sent at any time. IP is not reliable nor delay-bounded. –Best effort –Queuing delay, especially when congested. –Network failures can cause temporary packet loss. Time critical applications cannot operate well due to large e-mail attachments and Web surfing Delay and jitter degrade voice and video performance
Multimedia Signals Text Speech Audio Image (B/W and color) Video Graphics & Animation Documents (various formats)
Image & Video Coding Standards Combination of lossy (transform coding) and lossless (run-length, Huffman, Arithmetic coding, LZW, etc) coding techniques along space and time. JPEG - Joint Photographic Experts Group Still image compression, intraframe picture technology Motion JPEG (MJPEG) is sequence of images coded with JPEG MPEG - Moving Picture Experts Group Defined by ISO/IEC, several standards MPEG1, MPEG2, and now MPEG4 H.263/H.263+/H.26L - Videophone/Conferencing Low to medium bit rate, quality, and computational cost defined by ITU Used in H.320 and H.323 video conferencing standards
From Image to Video Coding Intra-frame compression (similar to JPEG) Remove redundancy within frame (spatial) Inter-frame compression (motion compensation) Remove redundancy between frames (temporal) Rate Control (constant bit-rate or constant SNR)
Video Coding Standards MPEG1 – VHS quality, VCD (1992) CIF images, 4:2:0 sampling, 1.5 Mbs, Frame encoding MPEG2 - broadcast quality, HDTV and DVD (1994) CCIR 601 images, 4:2:2 sampling, 4-15 Mbs Interlaced and progressive scanning, Frame and field H.261 for videotelephony (p=1,2) & videoconferencing (p>= 6) (1992) Improve JPEG through temporal redundancy H.263 – low bitrate video coding (1995) Half pixel motion compensation, 4 (optional) modes Optimized VLC tables & better motion vector prediction H.26L(H.264) – flexible, high quality video applications (2002) 1/4 pixel accuracy for MC, 7 different block sizes for ME/MC Residual coding uses 4x4 blocks & an integer transform
MPEG-4: An Emerging Standard For multimedia applications –Interactive natural & synthetic contents –Various access conditions: low bit-rate, error prone, heterogeneous (scalable) –Management and protection of media contents Standard –1 st generation (1998-2000): 1 st +2 nd versions, frame based content creation & communication, 64-384 Kbps, mobile videophone (3G and IP) and digital camcorder –next generation (2001-): upto 2Mbps, frame/object based, scalable streaming, interactive set-top box
Heterogeneous IP Networks Adaptive Rate Control Scalable Coding Real-time bandwidth estimation Receiver feedback Adaptive Multicast control
Video Scalable Coding Why a scalable video codec? –Compression efficiency –Robustness with respect to packet loss –Adaptation to the changing bandwidth Techniques of scalable video coding –Temporal –Spatial –Signal-to-Noise Ratio (SNR) –Data Partition –Wavelet –Fine Granularity Scalability (FGS)
IP Stack: A Layered Architecture Application Transport Network Physical users network Web (HTTP), E-mail (SMTP), File transfer (FTP), Name resolution (DNS), Remote terminal (TELNET), … Reliable multi-connection bit-stream (TCP), unreliable multi-connection (UDP). Unreliable end-to-end delivery of packets up to 64 KB. Point-to-point links (PPP, SONET, …), LANs (Ethernet, FDDI, wireless, …)
IP Packet Routing: Delay and Loss Hello IP Network Router
Queuing and Scheduling (1) FIFO - First In First Out queuing, definitely not compatible with QoS since high priority packets can get stuck behind low priority packets
Queuing and Scheduling (2) Priority Scheduling - services higher priority queue whenever there are packets present, can lead to starvation of lower priority queues
Queuing and Scheduling (3) Custom Queuing (or Weighted Round Robin Scheduling) - services all queues (with different service time) within a traffic class, round robin assuring that all queues get appropriate treatment
Queuing and Scheduling (4) Weighted Fair Queuing (WFQ) - queue is serviced based on a weight proportional to the bandwidth dynamically allocated to it
Congestion Control & Queue Discard Tail Drop –Drops arriving packets when buffers in queue are full, can lead to network meltdown due to TCP global synchronization RED = Random Early Detection –Queuing algorithm for congestion avoidance that randomly discards packets from queues in an attempt to prevent TCP retransmits simultaneously on all flows
Congestion Control & Queue Discard WRED = Weighted Random Early Discard –A variant of RED that attempts to weight queues for random early discard Tri-Color Marking (deterministic) Red Drop Threshold Yellow Drop Threshold Queue Limit
IP QoS and Multimedia Quality of Service (QoS) methods aim at trading quality vs. resources to meet the constraints dictated by the user, the functionality and the platform. QoS originally developed in network communication, and recently extended to the domain of multimedia communication. QoS relevant in multimedia scalable systems, where the resources and the functionality can be controlled by a set of parameters.
IP Quality of Service (QoS) Techniques to intelligently match the performance needs of applications to available network resources QoS Metrics availability delay (latency) delay variation (jitter) throughput (average and peak rates) packet loss
IETF IP QoS Efforts Policy based IP QoS Solutions –Integrated Services (RSVP protocol): flow based –Differentiated Services (DiffServ byte settings): packet based –Multi-Protocol Label Switching (MPLS): flow+packet based IP Multicast and Anycast IPv6 QoS Support
Connection Oriented QoS Int-Serv (Integrated Services): IETF RFC 1633 Defined by RSVP requires resource reservation at each hop end-to-end for each IP packet flow, and end-to-end signaling along nodes in the path Reserve resources at the routers so as to provide QoS for specific user packet stream This architecture does not scale well (large amount of states) Many Internet flows are short lived, not worth setting up VC
Integrated Services / RSVP Sender sends a PATH message to the receiver specifying characteristics of traffic every intermediate router along the path forwards the PATH message to the next hop determined by the routing protocol Receiver responds with RESV message after receiving PATH. RESV requests resources for flow
Connectionless QoS: IP Diff Serv Mark IP packet to specify treatment: IETF RFC 2474, e.g., first class, business class, coach, standby Per Hop Behaviors (PHBs) based on network-wide traffic classes Flows are classified at the edge router based on rules, and are aggregated into traffic classes, allowing scalability Diff Serv uses the IP header TOS byte (first 6 bits), which is renamed the DS field Diff Serv defines code points (DSCP) for the DS field, DE (default) = 000000 = best effort, and EF (Expedited Forwarding) = 101110 = low latency, etc.
DiffServ Operation Each ISP configures its own routers to match the service that it offers, and each ISP has its own DiffServ Domain. DS Domain Voice ASP Video email Customer Site SLA (service level agreement) SLA PHB Edge Router Interior Nodes
MPLS Fundamentals MPLS is a forwarding scheme that tags packets with labels (independent of layers 2,3) that specify routing and priority (IETF RFC 3031) Enables scalability by alleviating IP over ATM problems Defines a homogeneous network based upon label-switching Requires all devices (i.e., ATM switches) to be capable of routing Enables differentiated services via QoS-aware label switched paths (LSPs) Designed to run over a wide range of media ATM, frame relay, and Ethernet
Why multicast? When sending same data to multiple receivers Better bandwidth utilization Lesser host/router processing Receivers addresses unknown Applications Video/audio conferencing Resource discovery/service advertisement Media streaming and distribution Multimedia IP Multicast
IETF RFC 1112, each multicast group is identified by a class D IP address Range from 126.96.36.199 through 188.8.131.52 Well known addresses designated by Internet Assigned Number Authority (IANA) Reserved use: 184.108.40.206 through 220.127.116.11 Members join and leave the group and indicate this to the routers Multicast routers listen to all multicast addresses and use multicast routing protocols to manage groups IP Multicast Service Model
What IPv6 can Offer? Global Addressing (128 bits): –1 million networks per human –20 hosts per m 2 of Earth Plug and play: Efficient mobility (instant-on ad-hoc networking) 128-n bits n bits who you arewhere you are connected to
IPv6: Key Features and Advantages Increased Address Space (128 bits) Efficient and extensible IP datagram Improved host and router discovery Plug and Play Enhancements for Quality of Service (QoS) Improved Mobile IP support Coexistence with IPv4 Built in security (authentication and encryption) in IP layer
IPv6 Support of QoS IPv6 Flow Labels provide support for Data Flows –Packet Prioritizing-- sure that high priority traffic is not interrupted by less critical data IPv6 supports Multicast & Anycast –Multicast delivers data simultaneously to all hosts that sign up to receive it –Anycast allows one host initiate the efficient updating of routing tables for a group of hosts.
Existing Scalable Multicast Solutions Content Distribution Networks Receiver-Driven Layer Multicast (RDLM) Source Adaptive Multi-Layer Multicast (SAMM) Filtering Method Destination Set Grouping (DSG) Multiple Description Coding (MDS) of Multimedia
Distributing Content to the Edges Adding backbone bandwidth is not the best solution, the last mile (edge) connection is even more critical. How to direct traffic to the site (routing) and resolve the appropriate server (load balancing) that will perform best for a particular query (front-end content delivery). How to keep content updated efficiently (back-end content delivery)
Getting Contents to the Edge Caching (on-demand pull) –Contents may be pulled from another proxy cache in the hierarchy or the origin of the contents. –Problems: stale content delivery, hit statistics loss, dynamic contents Replication (changes made on the origin server) –Updates are pushed to replica using a back-end content delivery system. –The origin server is in total control (database keep track of content changes), with scalable architecture (multicast or packet-relay).
Getting Contents to the Edge Resolution Problem –The best site: geographic vs. network proximity (quickest service) –Domain Name Service (DNS) criteria: # of authoritative servers (domain) hops, # of router hops, health/load of site, round trip latency, packet loss rate, etc. Hybrids of Caching/Replication Reverse Proxy Cache: all queries directed to proxy caches by load balancer for front-end delivery. Pre-Filling of Proxy Caches: parts of the Web site are pre-filled to the cache – i.e., replica in proxy cache form
Content Distribution Network (CDN) Service providers using proprietary caching/replication technologies to build overlay networks (internet or satellite) to deliver contents – application level multicast
Receiver-driven Layer Multicast (RLM) RLM Protocol Concepts ( McCanne 1996): Source: No active role in the protocol. Receivers: On congestion, drop a layer. On spare capacity, add a layer. When to drop a layer: Whenever congestion happens. Congestion is expressed explicitly in the data stream through lost packets. When to add a layer: Join-experiment: To carry out active experiments by spontaneously adding layers at well chosen time.
RLM Characteristics A fixed number of multicast groups. Lack of granularity adaptation Severe quality degradation when pack loss on base layer. Slow adaptation to changes of varying network bandwidth (Liu, Hwang 2002) Synchronization is crucial Well-developed protocol is crucial
Source Adaptive Multi-layer Multicast SAMM Protocol Concepts (Suda 1998): Video is encoded into several layers and each layer has an unique discarding priority. When a network link experiences congestion, packets from the lowest priority layer are discarded. The video source obtains backward feedbacks from receivers to adjust the number of video layers and also the encoding rate for each layer.