170 likes | 458 Views
Joint Source/Channel Coding. Ketan Mayer-Patel. ALF. Make the network work within the terms of the applications. Can’t change installed technologies. Physical limits and design tradeoffs prevent this. Optimize the application for the network.
E N D
Joint Source/Channel Coding Ketan Mayer-Patel CS294-9 :: Fall 2003
ALF • Make the network work within the terms of the applications. • Can’t change installed technologies. • Physical limits and design tradeoffs prevent this. • Optimize the application for the network. • Requires that the network expose internal details. • Fundamental issue: the nature of abstraction. CS294-9 :: Fall 2003
Source Coding • Old problem in signal processing. • Information source produces a string of symbols. • Symbols are drawn from a fixed alphabet. • Symbol distribution is not uniform. • Problem: • Encode symbols as codewords such that average codeword length is minimized. • AKA: Data Compression CS294-9 :: Fall 2003
Channel Coding • Opposite problem of source coding. • Noisy communication channel. • A set of source codes to transmit. • Problem: • Map source codes to channel codes such that probability of correct recovery is arbitrarily low. • Shannon shows that if you can characterize the channel noise, this is possible. CS294-9 :: Fall 2003
Source Words Source Codes Channel Codes Source Coding Channel Coding Optimize Optimize Optimize Separation Principle • The really important result. • Shannon’s separation principle says that source and channel coding can be done independently. CS294-9 :: Fall 2003
Consequences • Seminal work with long lasting consequences. • Separated source coding and channel coding as problems. • Resulting in two subfields and from there… • Data compression vs. Networking CS294-9 :: Fall 2003
Parallel Constructs • Layering of network stack is a parallel concept to the separation principle. • Why? What do I mean by this? • Different layers are like different codings. • Each layer provides a particular service. • As a whole, arguable provides as good a service as if a single protocol for everything. • Differences? • Protocols build on top of each other while source and channel coding are independent. CS294-9 :: Fall 2003
Joint Source/Channel Coding • Separation principle only works in the limit. • Need arbitrarily large data set. • No bound on coding delay. • JS/CC can improve coding efficiency in more realistic, non-limit contexts. • Separation best in theory. • JS/CC often best in practice. • In other words: do source coding with channel coding in mind and vice versa. • Sound familiar? CS294-9 :: Fall 2003
ALF and JS/CC • ALF:Networking::JS/CC:Communication • ALF • Layers of networking need to be cognizant of each other (in particular the very top layer, the application). • JS/CC • Signal coding needs to be cognizant of transmission coding. CS294-9 :: Fall 2003
Back to MM Networking • So how does all of this apply to Multimedia Networking? • What is the stream of source symbols? • Media data. • What is the source coding process? • Compression schemes (MPEG, MP3, etc.) • What is the channel coding process? • RTP packetization • Transport-level protocol CS294-9 :: Fall 2003
Putting it together. • So what should we do to use ALF and JS/CC in this context? • RTP packetization must be done in a media-aware manner. • ALF and JS/CC are not one-way concepts. • What’s the obvious other direction? • Media encoding should be done to accommodate packet-based communication. • McCanne thesis (Berkeley, 96) is a great resource for learning and thinking about this idea. CS294-9 :: Fall 2003
Loss / Quality Tradeoff • Network-aware encoding is generally about dealing with loss. • Need to characterize loss in target environment • Packet or bit? • Bursty or independent? • Probability? • Need to characterize distortion induced by loss. • This can be extremely difficult to do. • Very non-linear. • Mayer-Patel, ACM Multimedia 2002 CS294-9 :: Fall 2003
Dealing with Loss • Principle #1 • Make transmission data units independently useful. • What’s the difference between TDU and ADU? • Techniques: • Checkpoint decoder state in each packet. • What would this mean for MPEG? • Choose granularity to minimize amount of decoder state required. • Provide bit offsets to avoid non-byte aligned shifts. CS294-9 :: Fall 2003
Dealing with Loss • Principle #2 • Limit propogation of error. • Techniques: • Include redundant low-res impostor. • Or substitute past information as impostor. • Break long dependency chains. • Provide eventual consistency mechanism. • MPEG example: • Forced I-block in P and B frames. • Allocate some portion of bandwidth to this mechanism • Static allocation • Dynamic allocation CS294-9 :: Fall 2003
Dealing with Loss • Principle #3 • Decorrelate successive packets • Deals with bursty packet loss. • Techniques: • Interleave TDU’s from different ADU’s. • Spread out information from spatially nearby areas into separate TDU’s. • What’s the cost of this principle? CS294-9 :: Fall 2003
The Art of ALF • Ideally: examine both sides simultaneously. • A lot like object-oriented design. • Bad design will hurt. • General guidelines: • ADU independence. • Minimum, coordinated state. • Eventual state coherence. CS294-9 :: Fall 2003