Joint Source/Channel Coding Ketan Mayer-Patel CS294-9 :: Fall 2003

advertisement
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
Separation Principle
• The really important result.
• Shannon’s separation principle says that
source and channel coding can be done
independently.
Source
Words
Source
Coding
Source
Codes
Optimize
Channel
Coding
Optimize
Optimize
CS294-9 :: Fall 2003
Channel
Codes
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
Download