Layered Coding and Networking Ketan Mayer-Patel CS 294-9 :: Fall 2003

advertisement
Layered Coding and Networking
Ketan Mayer-Patel
CS 294-9 :: Fall 2003
Previously
• Media Scaling
– Change encoding of media stream to adapt to
changes in rate due to congestion control
• Scaling Issues
– Quality vs. Bitrate tradeoffs
– Feedback (what, when, how)
– Stability
• Transcoding for stored media
• All of the above: unicast w/ feedback
CS 294-9 :: Fall 2003
Heterogeneous Receivers
• Given heterogenous receivers, what is my
target rate?
R1
S
R2
R3
CS 294-9 :: Fall 2003
Possible solution
• Multiple representations
• Issues/problems with multiple reps:
– How many?
• Granularity of choice.
– How do I group receivers together?
• Automatic grouping: estimate bandwidth
• Manual grouping: user knowledge
– How to switch between reps?
• Transcoding is like dynamic, run-time
multi-rep.
CS 294-9 :: Fall 2003
Layered Representations
• An encoding specifically designed to
produce multiple representations.
• Characteristics:
– Additive: the more layers you get, the better the
media is.
– Efficient: the sum of the layers is only slightly
greater than the best rep. at that quality.
CS 294-9 :: Fall 2003
Layered Solution
• Use a layered representation.
• Receivers decide
– Layers added and dropped to adjust to
appropriate target rate.
R1
S
R2
R3
CS 294-9 :: Fall 2003
Strictly Additive Layering
• Layering split into:
– Base Layer
– Enhancement Layers
• Each layer depends on all data in lower
layers.
• Advantages: increased compression
• Disadvantages: packet loss in lower layers
makes packets in higher layers useless.
CS 294-9 :: Fall 2003
Independent Layering
• Every packet from every layer improves
quality.
• No ordering or dependency between layers.
• Advantages: Good ADU properties
• Disadvantages:
– Hard to construct
– Compression suffers
• Most layering schemes fall between these
two extremes in some hybrid fashion.
CS 294-9 :: Fall 2003
Examples
• Temporal layering
– Video: Odd frames vs. Even frames.
• Mostly independent layers.
• Packet loss affects smoothness.
– Audio: Multiple, offset, lower-rate streams.
• Inter-sample compression compromised.
• Not all combinations equally pleasing.
• Spatial layering
– Each layer improves video size/resolution.
– Many of the issues as in temporal.
CS 294-9 :: Fall 2003
Examples
• SNR layering
– Layers contain different DCT coefficient
ranges.
•
•
•
•
DC and first few AC
Low AC
Middle AC
High AC
– Is this an independent layering?
• Difference between SNR and spatial:
– Improved resolution vs. new picture area.
CS 294-9 :: Fall 2003
Examples
• Level of Detail
– Used for streaming geometry.
– Additional layers extend previous LOD with
additional vertices and refinement.
CS 294-9 :: Fall 2003
MPEG-2
• Supports temporal, spatial, and SNR
• Loosely coupled, independent
representation for temporal and spatial.
– Well defined within the standard, but base
layers not required to be MPEG-2
• SNR is strictly defined within MPEG-2
• In general, supports a small number of
layers (2-3 max) best.
– Overhead and processing dominate quickly.
CS 294-9 :: Fall 2003
Subband Coding
• Wavelets are best known subband coders.
• 3D subband coding:
– Bitstream can be easily sliced along temporal,
spatial, and quality dimensions.
– Highly scalable.
– Can be made very independent.
• The more packets you get, the better it becomes.
– Computationally complex.
– No standard schemes.
CS 294-9 :: Fall 2003
Quality as Throttle
• Remember model:
– Recievers join layers to find correct level.
– How do they know when to stop?
• Loss
– But if all packets contribute equally to quality,
will receiver care about loss?
CS 294-9 :: Fall 2003
Quality as Throttle
Quality
Quality remains flat as
loss percentage increases
because only the number of
packets received matters.
Quality suffers as loss percentage
increases because base layer
packets are lost in equal measure
which makes higher layers useless.
Requested Bandwidth
Problem also occurs with priority dropping.
CS 294-9 :: Fall 2003
Issues for adding layers
• When
– Sustained performance with little to no loss.
• Hysteresis problems
– When sustainable bandwidth is between the
rates of two different layers.
– Probing by new members.
• Join latency
– Takes a while for multicast joins to occur.
– Helps to have global view of available layers.
CS 294-9 :: Fall 2003
Issues for dropping layers.
• Usually done as a reaction to congestion.
• Everyone must do it at about the same time!
• New members probing for appropriate layer
will cause “false” congestion.
• Leave latency
– Same problem as join latency.
CS 294-9 :: Fall 2003
Source driven experiments.
• Source periodically bunches together
packets to “simulate” next higher rate.
– Explicit signal allows receiver to differentiate
between this and random network effects.
– Average throughput over longer timescales
remains the same.
– Receivers that “survive”, join next level.
• Can cause strange interactions with
dynamic jitter buffer management.
• Periodic quality interruptions.
CS 294-9 :: Fall 2003
Source driven probing.
Layer #
4
3
2
1
Time
CS 294-9 :: Fall 2003
Brute-force methods.
• Use scoping to create static zones.
– TTL-bases scoping
– Administrative scoping
– Requires session management support.
• No dynamic join/leave by receivers.
CS 294-9 :: Fall 2003
Layering for unicast.
• No reason why can’t be used in a unicast
context to achieve media scaling.
– Complications of multicast and scaling avoided.
• Current research:
– A lot of focus on using layered representations
in conjunction with TCP-friendly rate control.
• RAP
• Fine-grained scalability with TCP
CS 294-9 :: Fall 2003
Download