Title: Distributed Multimedia
1- Distributed Multimedia
- An Introduction
- How to solve the many to many communication
problem? - Peter Parnes
- LTU-CDT
- 021003
2Who am I?
- Dr Peter Parnes Assistant Professor
- peppar_at_cdt.luth.se
- http//www.cdt.luth.se/peppar/
- Founder Marratech AB
- Research manager Media Technology
- Holds 5 patents in the area of distributed
multimedia - Skåning in exile
3Overview
- Many to Many data distribution
- Data transmission and IP-multicast
- Applications
- Protocols
- Reliable Multicast
- Scalable media distribution in heterogeneous
environments
4Many to Many
- How to implement many-to-many traffic?
- 1. Central server Have a central server that
duplicates packets to all other members. - 2. (Fully) connected mesh Let every member have
a connection to all/some other members. - 3. Multicasting Let the network duplicate the
packet when needed. - 1 and 2 wastes bandwidth!!!!
5IP Addressing
- The TCP/IP family includes four types of
distribution of a packet from a single host - Unicast To one host
- Normal IP-traffic
- The packet is seen only by the receiving host
- Broadcast To all hosts on a network
- When trying to find another host
- The packet is seen by all hosts on the local
network
6IP Addressing
- Anycast To one host of a group of hosts
- To access a resource that is served by several
computers - IP6
- The packet is seen by one off the receiving
hosts - Multicast To a group of hosts
- The packet is seen by all hosts in the group
- The packet is only duplicated when needed
7Multicast vs. Unicast
8Multicast Applications
- Broadcasting conferences, meetings, seminars,
concerts and radio-stations are multicasted
daily. - Conferencing Multicast is used for traditional
video-conferencing (but MUCH cheaper!!) - News Distribution of Usenet-News
- M-FTP Multi-user File Transfer
9More Applications
- Software-distribution Forget the very costly
procedure of new software CDs for each new
release and bug-fix! Just supply the latest
version in a known multicast-group. - Mirroring Instead of letting each client fetch
all new files from a server, send out the changed
files using multicast!
10Even More Applications
- Real News All news is transmitted on the net.
Indexed and ready. (Reuters have this since
1996!) - TV Why not watch your favourite TV-channel over
the network? - File-Caches If all file-requests are issued
using multicasting its much easier to cache them
locally! - And much much much.......
11Example Desktop audio/video
12Handheld Audio/Video
13MPEG-4 Video
14Design Issues
- Scalable The environment should scale to a very
large number of users - IP-Multicast is the
solution! - Robust The environment should survive network
failures and not be dependent on any central
services - Accessible Users should be able to participate
from their desktop - Network based No need for any special ISDN
connections, just the standard local network and
the Internet.
15(No Transcript)
16Protocols
- MANY different protocols involved with Media
distribution - UDP User Datagram Protocol
- Unreliable Packets can be lost
- The applications has to take care of reliability
- TCP Transport Control Protocol
- The OS helps out
- Only point-to-point
17RTP
- RTP - Real-Time Transfer Protocol
- Developed by the IETF (RFC1889/90) and later
copied into ITU/H.225. - End-to-End transport functionality for real-time
data - Designed for real-time media
- Completely network layer independent
18Reliable Multicasting
- Scalable Reliable Multicasting - SRM
- NACK based - every member participates in repairs
and not only the original sender of a packet - Used in the Marratech Pro
- I have designed a RTP-extension to include SRM.
19Summary
- IP multicast provides a scalable solution for
many-to-many communication. - A number of tools are being deployed on the
Internet today to utilize the power of IP
multicast. - Native multicast is slowly being deployed around
the world.
20- Media Scaling over
- Heterogeneous Networks
21Overview
- Background
- Current Problem
- Proposed Solutions
- Layered Multicast
- Current Status in the Internet
- Summary
22Challenges
- Broadcasts of real-time media on the Internet
is becoming more and more important. - QoS, Best effort networks
- Heterogeneity in terms of
- bandwidth availability
- CPU-power
- End-user equipment
- Scalability to large sessions and global networks
23Requirements and Restrictions
- Best-effort delivery
- Reliability not required
- Applications have to be adaptive, i.e. have to
adapt to network congestion and be able to handle
different configurations.
24Heterogeneous Environment
Narrowband Access
Broadband Access
Internet
Broadband Access
Wireless Access
25- Which bandwidth should be used when transmitting
a real-time media stream over heterogeneous
networks?
Sender
100Mbps
Internet
26Proposed solutions
- Max/Min client bandwidth
- Simulcast
- Network transcoders
- Bandwidth Guessing - TCP friendly
- Active Networks
- Active Services
- Layered Multicast
27Max/Min client bandwidth
- Just ignore some set of receivers
- Send the stream with high bandwidth
- Ignore low bandwidth receivers
- Send the stream with low bandwidth
- Force high bandwidth receivers to use low quality
- Does not take congestion into account
28Simulcast
- Send the same stream with different encodings
from the sender and let the receivers choose what
they want to receive. - Can be very expensive CPU wise
- Wastes bandwidth on shared links
- Does not take congestion into account in the way
it is being used today.
29Network Transcoders
- A common approach is to deploy transcoders on the
boundaries between different networks. - Transcoding
- Mixing
- Downscaling
30Transcoding Media Gateways
31Transcoding
- Transcoding
- transcode MJPEG to H.261 when the traffic leaves
a campus (high bandwidth network). -gt high CPU
requirement! - Trancode from high bw to low bw
- Used in SIRAM media gateway
32Downscaling
- Downscaling
- Throw away parts of the mediadata
- Lower CPU than transcoding but worse result
- Used in mTunnel
33Mixing
- Mixing
- Generate one stream from several active streams.
- Mix audio
- Combine video
34Bandwidth Guessing
- In early 97 a proposal called TCP-Friendly was
distributed. - Describes a way of estimating the bandwidth
between a sender and a receiver based on RTT and
current packet drop. - Takes TCP into account and will be a nice
participant in the network
35BW Guessing Problems
- Hard to calculate RTT accurately
- Works only for broadcast situations
- Not very tested yet
36Active Networks
- Basic idea
- Allow injection of small programs into network
nodes - Network nodes perform computations on user data
37Active Networks...
- Two Different Approaches
- Code and control is handled out-of-band
- Each packet carries miniature programs (capsules)
- Allows networks to be modified on-demand
- Opens a completely new area for real-time media
scaling
38Active Networks...
- Issues
- Safety, fairness, appropriate architecture,
common programming model, robustness - Status
- At the very beginning
- A very political problem
39Active Services
- Deploy user controllable programs-pads in the
network. - Users can deploy their own transcoding programs
and can easily up-grade these when needed - A system for this is currently being deployed and
tested on Berkeley Campus
40Layered Multicast
- Layered (hierarchical) media encodings
- Multi resolution representations of media
- Incremental decoding / refinement
- Layered multicast transmission
- True leaf-initiated join mechanism
- Scalable to large groups
- Receiver-driven flow control algorithm
- Congestion avoidance
41Scenario
Low quality
Leased Line
Internet (multicast enabled)
Medium quality
Leased Line
Low quality
Dial-up access
Leased Line
R
Multicast Router
High-speed LAN
Video
Transmitter
High quality
42Layered Video Encoding
- Temporal layering
- Increased number of refinement layers correspond
to higher frame-rate - Spatial layering
- Increased number of refinement layers correspond
to higher image resolution - Layered quantization
- Increased number of refinement layers correspond
to finer quantization
43Temporal Layering
Images of a video sequence
Transmission channels that can be received
independently
44Spatial Layering
Transform
Base layer signal refinement signals
Original image
45Layered Multicast
- The layers of the hierarchically encoded media
are transmitted to a set of IP multicast group
addresses - Each receiver subscribe to an appropriate number
of multicast groups depending on the network and
CPU resources available
46Example - Wavelet based
224.3.4.5
Base layer
224.3.4.6
Refinement layers
224.3.4.7
224.3.4.8
Four subbands, four multicast groups
One iteration of the wavelet transform
47Algorithm for Flow Control
- loop
- if (no_congestion) then
- join next group to get higher layer
- else
- leave group to drop highest layer
48(No Transcript)
49(No Transcript)
50(No Transcript)
51(No Transcript)
52(No Transcript)
53(No Transcript)
54Layered Multicast Problems
- How to detect congestion caused by my tests or by
others - Shared learning proposed
- Does it scale?
- Today long timeout in mcast forwarding trees
- Might lead to false interpretation of the current
situation - Dynamic Layers
- Is not nice to TCP
55Dynamic Layers
- Lower the bandwidth for each layer over time
- The receiver has to join new layers to keep the
same total bandwidth - Based on congestion
56Status in Internet
- Almost all traffic is still sent using Unicast -
transcoding at the server - Network transcoders probably most common
- Simulcast less common than one could imagine
(lack of good support in todays applications).
57Summary
- A number of more or less proposed solutions
- Max/Min client bandwidth
- Simulcast
- Network transcoders
- Bandwidth Guessing - TCP friendly
- Active Networks
- Active Services
- Layered Multicast
- Still a lot of research needed
58Questions?
- peppar_at_cdt.luth.se
- http//www.cdt.luth.se/peppar/