210 likes | 239 Views
Layered Coding and Networking. Ketan Mayer-Patel. 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
E N D
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 remains flat as loss percentage increases because only the number of packets received matters. Quality 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. 4 3 Layer # 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