Distributed Video Coding and Its Application

24
Abhik Majumdar, Rohit Puri, Kannan Ramchandran, and Jim Chou /24 1 Distributed Video Coding and Its Application Presented by Lei Sun

description

Distributed Video Coding and Its Application. Abhik Majumdar, Rohit Puri, Kannan Ramchandran, and Jim Chou. Presented by Lei Sun. Introduction(1/3). - PowerPoint PPT Presentation

Transcript of Distributed Video Coding and Its Application

Page 1: Distributed Video Coding and Its Application

Abhik Majumdar, Rohit Puri, Kannan Ramchandran, and Jim Chou

/241

Distributed Video Coding and Its Application

Presented by Lei Sun

Page 2: Distributed Video Coding and Its Application

Introduction(1/3)

/242

Contemporary digital video coding architectures have been driven primarily by the “downlink” broadcast model of a complex encoder and multitude of light decoders. However, with the current proliferation of video devices which have constrained computing ability, memory and battery power, we expect future systems to use multiple video input and output streams captured using a network of distributed devices and transmitted over a bandwidth-constrained, noisy wireless transmission medium.

Page 3: Distributed Video Coding and Its Application

Introduction(2/3)

/243

System requirements:

robustness to packet/frame loss caused by channel transmission errors;

low-power and light-footprint encoding due to limited battery power and/or device memory;

high compression efficiency due to both bandwidth and transmission power limitation.

Page 4: Distributed Video Coding and Its Application

Introduction(3/3)

/244

PRISM (a video coding paradigms founded on the principles of source coding with side information) A flexible distribution of computational

complexity between encoder and decoderHigh compression efficiency

Page 5: Distributed Video Coding and Its Application

Background on Source Coding with Side Information (1/3)

/245

Let 3bits binary data X, Y can have the same possibilty of 8 values. they are correlated so the Hamming distance is at most 1. there are 2 scenario showed in figure 1

Scenario a: X can be encoded in 2 bits using (X Y) since Y is ⊕available both on encoder and decoder.

Scenario b: Y is only available on decoder, X encoded in to a coset index so the decoder reception coset index using Y.

Figure 1

Page 6: Distributed Video Coding and Its Application

Background on Source Coding with Side Information (2/3)

/246

compressing the two or more sources seperately and decoding using the correlation between these sources

Slepian and Wolf theorem (lossless case)

Wyner-Ziv theorem (lossy case)

Page 7: Distributed Video Coding and Its Application

Background on Source Coding with Side Information (3/3)

/247

Figures 2,4 show the structure of the Wyner-Ziv encoding and decoding

Figure 2 (a) Encoding consists of quantization followed by a binning operation encoding U into Bin (Coset) index.

Page 8: Distributed Video Coding and Its Application

(b) Structure of distributed decoders. Decoding consists of “de-binning” followed by estimation.

(c) Structure of the codebook bins.

Figure 3

/248

Page 9: Distributed Video Coding and Its Application

Architectural Goals of PRISM

/249

Compression PerformanceThe current macro-block X can be encoded into

bin index which reduces the encoding rate. Robustness

As long as |Y-X|<δ (step size), the decoder is guaranteed to recover the correct output.

Moving Motion-Search Complexity to the DecoderUncertainty at the receiver about the exactly

state of the side information that requires Motion-search at the decoder.

Page 10: Distributed Video Coding and Its Application

A Theory for Distributed Video Coding

/2410

Sharing Motion Complexity between Encoder and DecoderA Motion-Compensated Video model

Figure 4: Motion-indexed additive–innovations model for video signals. X denotes a block of size n pixels in the current frame to be encoded and {Y1,Y2…Ym} is the set of blocks (each of size n) in the previous decoded frame corresponding to different values of the motion vector indexed by T.

Page 11: Distributed Video Coding and Its Application

Sharing Motion Complexity between Encoder and Decoder…

/2411

Motion-Compensated Predictive Coding Step1:The encoder estimates and transmits the

index of the estimated motion vector to the decoder.

Step 2: Once the decoder knows T , the video coding problem is reduced to the problem of compressing the “source” X using the correlated side-information YT now available to both the encoder and the decoder.

Page 12: Distributed Video Coding and Its Application

Sharing Motion Complexity between Encoder and Decoder…

/2412

Distributed Video CodingIn this case, due to severely limited processing

capability (or some other reason), the encoder is disallowed from performing the complex motion-compensated prediction task. This is in effect pretending that the encoder does not have access to the previous decoded blocks Y1, . . . ,YM.

Page 13: Distributed Video Coding and Its Application

A Theory for Distributed Video Coding

/2413

Robustness to Transmission ErrorsDiscrete Data, lossless Recover

The Rpclb=H(Z)+H(Y|Y’), In this case, when either

channel noise or the accumulated drift is small, the cost of correct errors is not take too many bits, however, if they are big, the rate penalty is significant.

Jiontly Gaussian Data, Recovery with MSE<=DIn general, if the channel noise is too big, this

system is akin to the case of not sending the block at all.

Page 14: Distributed Video Coding and Its Application

A Theory for Distributed Video Coding

/2414

Complexity Performance Trade-OffsTypically, the more the complexity invested

in the motion estimation process, the more accurate is the estimate of the statistics leading to better compression performance.

Page 15: Distributed Video Coding and Its Application

PRISM: Encoding

/2415

Decorrelating Transform (DCT on source block)

QuantizationClassification Syndrome EncodingHash Generation

Page 16: Distributed Video Coding and Its Application

PRISM: Encoding

/2416

Classification

Figure 5: A bit plane view of a block of 64 coefficients. Bit planes are arranged in increasing order with 0 corresponding to theleast-significant bit.

Page 17: Distributed Video Coding and Its Application

Classification…

/2417

depending on the available complexity budget, as well as the prevailing channel conditions, the classification module can perform varying degrees of motion search, ranging from an exhaustive motion search to a coarse motion search to no motion search at all.

Page 18: Distributed Video Coding and Its Application

PRISM: Encoding

/2418

Hash GenerationA hash signature for the quantized sequence

codewords is more pratical to let decoder know which is the “best” predictor for the block X.

Page 19: Distributed Video Coding and Its Application

PRISM: Encoding

/2419

Figure 7: Functional block diagram of the encoder.

Figure 6: Bit stream associated with a block.

Page 20: Distributed Video Coding and Its Application

PRISM: Decoding

/2420

Figure 8: Functional block diagram of the decoder.

Page 21: Distributed Video Coding and Its Application

Simulation Results

/2421 Figure 9 encoding rate comparison

Page 22: Distributed Video Coding and Its Application

Simulation Results

/2422Figure 10 packet drop rate comparison

Page 23: Distributed Video Coding and Its Application

Simulation Results

/2423 Figure 11 frame Number comparison

Page 24: Distributed Video Coding and Its Application

Summary

/2424

The PRISM is a pratical video coding framework built on distributed source coding principles. Base on a generalization of the classical Wyner-Ziv step, PRISM is characterized by inherent system uncertain about the “state” of the relevant side information that is know at the decoder. The two main architectural goals of PRISM make it radically different from existing video codecs.