Distributed Source Coding For Video and Image Applications
Distributed Source Coding For Video and Image Applications
Antonio ORTEGA
Signal and Image Processing Institute
Department of Electrical Engineering
University of Southern California
http://sipi.usc.edu/~ortega
Camera 2 : View 2
•Publications (‘07-’08)
–J. H. Kim, P. Lai, J. Lopez, A. Ortega, Y. Su, P. Yin, and C. Gomila, “New Coding Tools for Illumination and Focus
Mismatch Compensation in Multiview Video Coding,” in IEEE Trans. Circuits and Systems for Video Technology, Vol.
17, No. 11, pp. 1519-1535, Nov. 2007.
–P. Lai, A. Ortega, P. Pandit, P. Yin, and C. Gomila, “Focus Mismatches in Multiview Systems and Efficient Adaptive
Reference Filtering for Multiview Video Coding”, in Proc. SPIE 2008 Visual Communications and Image Processing
(VCIP), Jan 2008.
1
Error tolerant multimedia compression
• Funding: NSF
• PIs: Melvin Breuer, Keith Chugg, Sandeep Gupta, Antonio Ortega
• Students: Hye-Yeon Cheong, In-Suk Chong, Zhaoliang Pan, Shideh Shahid, On Wa
Yeung
80
Full search ME
acceptance curve
70
12
11 13
60 11
12
_=1
11
50
10 _=7/8
13
10 12
40 11
Pe (%)
10
EPZS ME
14
acceptance curve _=3/4
30 12 13
11
_=5/8
10
_=1/2
20
14
12
11
13
9 _=3/8
10 10
14
12
15
11 13
14
12 13
0
0 50 100 150 200 250 300
Se ( average extra bits per wrong match MB)
• Publications (‘07-’08):
– G. Shen and A. Ortega, "Optimized Distributed 2D Transforms for Irregularly Sampled Sensor Network Grids
Using Wavelet Lifting," accepted for publication in Proc. of 2008 IEEE Intl. Conf. on Acoustics, Speech and
Signal Processing, ICASSP '08, 2008
– G. Shen and A. Ortega, "Joint Routing and 2D Transform Optimization for Irregular Sensor Network Grids Using
Wavelet Lifting," accepted for publication in IPSN '08: Proc. of the Fifth Intl. Conf. on Information Processing in
Sensor Networks, 2008
2
MADCAT – Maltraffic Analysis and Detection in
Challenging and Aggregate Traffic
• Network Measurement System Modeling
– Modeling network measurement systems
using signal processing modules
– Develop methods to mitigate the effect of
these errors on signal analysis
• Publications:
– U. Mitra, A. Ortega, J. Heidemann and C.
Papadopoulos, “Detecting and Identifying Malware:
A New Signal Processing Goal”, IEEE Signal
Processing Magazine, 2006.
– S.McPherson and A. Ortega, “Modeling the effects of
interrupt moderation on network measurements”,
submitted, Global Internet Symposium, 2008
• Group Members
– P.I’s – John Heidemann (CS), Urbashi Mitra, Antonio Ortega,
Christos Papadopoulos (CS),
– Students – Genevieve Bartlett, Xue Cai, Sean McPherson,
Gautam Thatte
• Website – http://isi.usc.edu/ant
Support - MADCAT is supported by the NSF's NeTS program, grant number CNS-0626696
Students: Kun-Han Lee and Yen-Ting Lin 6 injectors/3 producers Line Drive Scenario
Publications (‘07-’08):
Producer 1 Producer 2 Producer 3
•K.-H Lee, A. Ortega, I. Ershaghi, “A Method for
Characterization of Flow Units Between Injection-
Production Wells Using Performance Data”, 2008 SPE
Western Regional and Pacific Section AAPG Joint
Injector 1 Injector 2 Injector 3
Meeting, March 2008.
• Tools:
• Wavelet-based methods
• Analysis and simulation; Injector 4 Injector 5 Injector 6
3
Genome Copy Number Alteration Detection
•Results comparable to state of art (e.g., segmentation based techniques) with 10x speed-up
Antonio ORTEGA
Signal and Image Processing Institute
Department of Electrical Engineering
University of Southern California
http://sipi.usc.edu/~ortega
4
Acknowledgements
• Collaborators at USC:
– Dr Ngai-Man Cheung
– Dr Huisheng Wang (now at Google)
– Caimu Tang
– Ivy Tseng
• Outside Collaborators:
– Sam Dolinar (NASA-JPL)
– Aaron Kiely (NASA-JPL)
– Kannan Ramchandran (UCB)
• Funding:
– NASA-JPL
‒ NSF
Mystery Graph?
5
Distributed Source Coding (DSC)
Outline
• Introduction
• Applications/Case studies
6
Distributed Source Coding: Fig. 1
X R≥H(X|Y) X
Encoder Decoder
Y
(ii) DSC:
X X
Encoder Decoder
P(X,Y) Y
Y
(ii) DSC:
- Do not have access to exact value of Y
X - Know only distribution of Y given X X
Encoder - Not immediatelyDecoder
useful since we want to
compress X
P(X,Y) X=4 Y
fX|Y(x|y):
Y
7
Distributed Source Coding: Fig. 1
X R≥H(X|Y) X
Encoder Decoder
X R≥H(X|Y) X
Encoder Decoder
P(X,Y) Y
Efficient encoding possible even when encoder
does not have precise knowledge of Y
… C A
A B CC D E F G H A B C D A B A
B C B C
2n-k cosets
X mod m = coset index X HT = S
Decoder:
- Use Y to disambiguate the information:
Y
C
C C … C Y C
8
Application scenarios - 1
X X
Encoder Decoder
Y, P(N) Y+N
Application Scenarios - 2
Flexible playback:
• Exploit correlation between input and
multiple side information
• Decoder can use Y1 OR Y2 OR … etc
X X
Encoder Decoder
Y1, Y2, … Yi
9
Application Scenarios - 3
X X
Encoder Decoder
P(X,Y) Y
X Minimum-
Q Slepian-Wolf Slepian-Wolf Q
distortion
Quantizer ^
Encoder Decoder X
Reconstruction
Y Y
P(X,Y)
• Lossy quantization
– In many cases following a transform
• Lossless compression of quantization index Q using SW encoder
– Convert to binary data (e.g., bitplanes):
• Transmit LSB
• Select codes use syndrome coding
• At decoder, side information Y is used in:
– Slepian-Wolf decoding
– Reconstruct X in the quantization bin specified by Q: use as reconstruction
the expected value given Y, conditioned on bin Q
10
Practical Lossy DSC: Key Problems
Minimum- ^
X Q Slepian-Wolf Slepian-Wolf Q X
Quantizer distortion
Encoder Decoder
Reconstruction
P(X,Y) Y Y
• Defining the application:
– Loss in RD performance due to DSC (even in theory)
– What is the other metric that we want to optimize? (complexity, memory,
speed)
• Formulating correlation model estimation problem:
– Lower modeling accuracy leads to coding penalty
– Better modeling may reduce benefits in terms other metric (e.g., complexity)
• For a given design, how to optimize RD performance:
– When to use DSC and when not to (e.g., use Intra coding instead)?
– Optimize trade-off in terms of RD and/or Complexity, etc
• This Talk:
– Case studies to illustrate the benefits of focusing on these issues.
Mystery Graph?
11
Total citations per 5 year period
Outline
• Introduction
• Applications/Case studies
12
DSC Application to Scalable Video Coding
13
Multiple MCP Loops Approach:
Non-trivial Complexity
In multiple loops approach, the complexity of replicating all the EL reconstructions
could be non-trivial in multiple layers coding
…
memory buffers
Repeat inverse transform and
inverse quantization
Input:
BL:
EL:
14
Cast scalable coding as a Wyner-Ziv problem
EL predictor acts
as SI in joint
decoding
Use BL reconstruction
to compute the residue
To estimate the difference between input and base layer (uk) we use the
difference between best predictor and base layer (vk)
p(uk |vk)
EL11 EL21 … ELk1
15
Correlation Estimation at Encoder
• Solution
– Approximate optimal predictor
– Using an approximation of EL reconstruction
16
Results
Single layer
Akiyo CIF Single layer Container QCIF
48
48
46 46
44
44
42
42
PSNR-Y (dB)
PSNR-Y (dB)
40
40 Multiple loops 38
DSC Multiple loops
38 36
single layer 34
DSC single coding
36 FGS FGS FGS
32
34
WZS
30
FGS WZS
MCLP MCLP
32 28
0 500 1000 1500 2000 2500 3000 3500 0 300 600 900 1200 1500 1800
bitrate (kbps) bitrate (kbps)
• Application definition:
– Key problem in video scalability: Multiple open loop layers (e.g.,FGS) leads
to poor performance (temporal redundancy). Close loop layers require
multiple reconstructions at encoder
– Savings in terms of memory/complexity: temporal redundancy at higher
layers exploited via DSC
• Model Estimation:
– Temporal correlation estimated using the quantized original frame (not
reconstructed one, so that EL reconstructions are not needed)
• RD Optimization
– For each frame select encoding based on base layer (FGS) or temporal
enhancement (WZS)
17
DSC Application to Hyperspectral Image Coding
• Large volume
– Hundreds of image bands
– More than 100M bytes per hyperspectral image
• Resource constraints
– Encoding in satellite
– Decoding in ground station
– Memory, power
• High correlation between image bands
18
Inter-band Correlation
• Initial DSC based approach [Tang, Cheung, Ortega, Raghavendra; DCC 05]
19
DSC Based Hyperspectral Image Compression –
System Overview
Parallel encoding
P(X1,X0) MPU 1
(Microprocessor Unit)
• On-board correlation
estimation
P(X2,X1) – Small amt. of data
MPU 2 exchange
• Inter-processors
communications
are slow
– Should not hinder
parallel operation
P(X3,X2) MPU 3 – Low complexity
Spectral band
MPU 4
P(X4,X3)
DWT SPIHT
20
DSC Based Hyperspectral Image Compression –
System Overview (Cont’d)
Slep ian-
Sign/refinement
multip lexing
W olf
W avelet Bit-p lanes b it-p lanes Encoder
Band i Transform Extraction Significance
information Zerotree
b it-p lanes Encoder
Slep ian-
Sign/refinement
multip lexing
W olf
W avelet Bit-p lanes b it-p lanes Encoder
Band i Transform Extraction Significance
information Zerotree
b it-p lanes Encoder
21
Coding Summary
2. Derive bit-plane level statistics: Use the estimated p.d.f. to derive the
crossover probabilities analytically
Note: All these decisions can be made for each band independently, after a small
number of pixels have been exchanged
1. Model Estimation
• Estimate fXY(x,y)
– X: Transform coefficients of current spectral band
– Y: Transform coefficients of neighboring spectral band
• Assume Y=X+Z
– Z is the correlation noise independent of X
22
2 Derive Bit-plane Crossover Probability
X=8
pˆ l = ! "" f XY ( x, y )dxdy
• In practice,
i only
Ai need to sum over a Y: 0 1 2 3 4 5 6 7 8 9 …
few regions
X=8
msb 1 0 0 0 0 0 0 0 0 1 1 1 1
0 0 0 0 0 1 1 1 1 0 0 0 0
0 0 0 1 1 0 0 1 1 0 0 1 1
0 0 1 0 1 0 1 0 1 0 1 0 1
3. Coding Strategy
Slep ian-
Sign/refinement
multip lexing
W olf
W avelet Bit-p lanes b it-p lanes Encoder
Band i Transform Extraction Significance
information Zerotree
b it-p lanes Encoder
23
Modeling Results
band 4 band 14
Number of coded bits Number of coded bits
300 Ref (DSC) 70000 Ref (DSC)
250 Signif. map (ZTC) 60000 Signif. map (ZTC)
50000
200
40000
150
30000
100
20000
50
10000
0
0
0 2 4 6 8 10 12 14 16
0 2 4 6 8 10 12 14 16
-50 Significance -10000 Significance
level level
Raw (DSC) Raw (DSC)
Results
95
DSC (Adaptive)
DSC (Non-adaptive)
3D Wavelet (JPL)
90
Latest 3D ICER (Apr 06)
MPSNR (dB)
85 FY04 3D ICER
SPIHT
80
DSC (Adaptive)
75
DSC (Non-adaptive)
70
SPIHT
65
0.1 1 10
Bitrate (bits/pixel/band)
24
Hyperspectral Image Coding
• Modeling:
– Crossband correlation in the bitplane domain, estimated using pixel-domain
correlation approximated as i.i.d., using exchanged pixels
• RD Optimization:
– Choice between DSC coding of refinement bits only or of raw bits
25
Free viewpoint switching poses challenges to
multiview compression
When users can choose among different decoding paths, it is not clear
which previous reconstructed frame will be available to use in the decoding
View
Y0 Y1 Y2 Y0 Y1 Y2 Y0 Y1 Y2
Time
X X X
Problem Formulation
Y0 Y1 Y2 Y0 Y1 Y2
Time
^
X X
26
Other Flexible Decoding Examples –
Forward/Backward Frame-by-frame Video Playback
Y0
X … time
Y1
Decoding path
Y1
Y0
X … time
error free
error corrupted
Decoding path
27
Address Viewpoint Switching/Flexible Decoding Within
Closed-Loop Predictive (CLP) Coding Framework
Y0 Y1 Y2 Y0 Y1 Y2
Time ^ ^ ^
Z1=X-Y1 Z0, Z1, Z2
^ ^
Z0=X-Y0 Z2=X-Y2 X=Y2+Z2
^
X X
^
Overhead increases with X may not be identical
the number of predictor when different Yi are used
candidates as predictor - drifting
CLP: DSC:
Z
Z=X-Y ^ Y ^
X X X + Dec X
Enc Dec
Parity
Y information
28
Viewpoint Switching (Flexible Decoding):
CLP vs. DSC
Y0 Y1 Y2 ^ ^ ^ Y0 Y1 Y2
CLP: Z0, Z1, Z2
Time
CLP DSC
H(Z0)
H(Z0) H(Z1) H(Z2)
H(Z1)
H(Z2)
Encoding Algorithm –
Motion Estimation and Macroblock Classification
non-skip DSC
29
Encoding Algorithm – DSC Coded MB
K lowest frequency
Macroblock M
Direct b(l)
X W coding
DCT Quantization Slepian-Wolf
coding Parity
b(l) information
Significance
coding
s
Predictor from fi
αi
DCT Model
Yi estimation
Direct b(l)
M X W coding
DCT Quantization Slepian-Wolf
coding Parity
b(l) information
Significance
coding
s
Predictor from fi
αi
DCT Model
Yi estimation
30
Experimental Results - Multiview Video Coding
37
View CLP
36 DSC
Y0 Y1 Y2
Time 35
Intra
Intra
PSNR
34 Inter
X Proposed
33
32
31
0 1000 2000 3000 4000
Bit-rate (kbps)
Drifting Experiments
CLP DSC
35 35
w ithout sw itching
w ithout sw itching
sw itching
sw itching
34 34
PSNR
PSNR
32 32
0 10 20 30 0 10 20 30
View
31
Scaling Experiments
Experimental Results –
Forward/backward video playback
39 Intra
38 DSC CLP
37
PSNR-Y (dB)
36
Proposed
35
H.263 Inter
34
H.263 fw d and backw ard
33 predicted residues
32 H.263 Intra
31
0 1000 2000 3000 4000 5000 6000 7000
kbps
Inter-frame coding
Coastguard CIF
with one prediction
residue: cannot
support flexible
decoding
32
Flexible Video Coding
• Modeling:
– Worst case “noise” between data to be sent and all candidate predictors.
• RD Optimization:
– Mode selection tools
Conclusions
• Application definition:
– Careful definition/quantification of expected gains in terms of another metric
of interest (lower memory, parallelism, flexibility, etc)
• Modeling:
– Probability models are never “given”. What is a good model in terms of
explaining the data while also being easy to estimate without affecting RD
and other metrics.
• RD Optimization:
– Alternative metrics are useful, but it is RD performance that will “sell” a
coding system
33