Workshop âToni Mianâ - Padova, 26 ottobre 2007. Performance Evaluation of Distributed. Video Coding Schemes. R. Bernardini, R. Rinaldo, P. Zontone.
Performance Evaluation of Distributed Video Coding Schemes R. Bernardini, R. Rinaldo, P. Zontone Università di Udine
A.Vitali STMicroelectronics - AST
Workshop “Toni Mian” - Padova, 26 ottobre 2007
1
Presentation outline
‣ ‣ ‣ ‣ ‣ ‣
Principles of Distributed Source Coding Distributed Video Coding Wavelet Domain DVC DVC with modulo reduction Comparisons and experimental results Conclusions
Workshop “Toni Mian” - Padova, 26 ottobre 2007
2
Principles of Distributed Source Coding Can we efficiently code correlated variables when the coders do not communicate? ‣
X and Y can represent a physical variable (e.g. temperature) taken at two different points (sensor networks)
‣
X and Y can be two images taken by two different cameras which look at the same scene
‣
X and Y can be the current and previous frame in a video coding scheme with no motion compensation at the coder
‣
In some cases, DSC coding has the potential of being more robust and/or simpler to implement X
Encoder 1
Workshop “Toni Mian” - Padova, 26 ottobre 2007
Decoder
3
X
R1
Y Encoder 2
Y
R2
ˆ Yˆ ) (X,
Principles of Distributed Source Coding
Es.: x1 ∈ {0, ..., 7} x2 = x1 + d,
d ∈ {0, ..., 3}
x1 and d independent, equiprobable symbols H(x1 , x2 ) = H(x1 ) + H(x2 |x1 ) = 5 bit Optimal Joint coder: Easy!! Code x1 with 3 bits and d with 2 bits
Workshop “Toni Mian” - Padova, 26 ottobre 2007
4
Principles of Distributed Source Coding
Code x1 with 3 bits Code subsets (bins) of values of x2 R1 = H(x1 ) = 3 R2 = H(x2 |x1 ) = 2 R1 + R2 = H(x1 ) + H(x2 |x1 ) = 5 = H(x1 , x2 ) Idea: use the same index for “distant” values of x2
Workshop “Toni Mian” - Padova, 26 ottobre 2007
5
, y N ) siano generate come coppie i.i.d. a partire dalla distribuzione di massa
). Il procedimento di codifica distribuita consiste nell’associare una parola di nel primo codificatore, e una parola di codice J = C2 (y N ) a y N nel secondo,
zione effettuata da ciascun codificatore non dipenda dalla conoscenza del valore
e. Se R1 `e il rate del primo codificatore, esso pu` o utilizzare 2N R1 parole per la
analogamente si definisce il rate R2 del secondo codificatore). Il procedimento Principles of Distributed Source Coding x1
Another example of a distributed coder: H(x1 , x2 ) = 4 R1 = H(x1 |x2 ) = 2
x2
R2 = H(x2 |x1 ) = 2 R1 + R2 = H(x1 , x2 ) = 4
Figura 1.5: Un codice “distribuito” per (x1 , x2 ).
3
Workshop “Toni Mian” - Padova, 26 ottobre 2007
6
guaglianze del teorema. Si noti inoltre che il teorema permette, come accade negli
esistano casi in cui sia possibile costruire codici affidabili con rate uguali alle entrop
non `e possibile costruire dei codici arbitrariamente affidabili a rate strettamente m
di decodifica consiste in una mappa dal teorema. La Fig. 1.6 mostra la regione dei rate raggiungibili secondo il teorem R2
g(C1 (xN ), C2 (y N )) = (ˆ xN , yˆN )
Si suppone peraltro che il procedimento di decodifica possa essere err Principles of DSC: Slepian-Wolf H(x, y) (xN , y N )].
H(y)
Si ha il seguente Teorema (di Slepian-Wolf). 2N H(y)
Conditionally typical set
2N H(y)
2N H(y|x)
H(y|x)
2N H(x|y) Teorema 1.1 Si consideri il problema della codifica distribuita di R1 H(x|y) H(x)
R1 + R2 =di H(x, y) il di massa congiunta p(α, β). Se il rate R1 per la codifica x ed
Figura 1.6: Regione dei rate raggiungibili nella codifica distribu R1 > H(x|y),
Gli esempi visti precedentemente mostrano chiaramente che la scelta dell’e R2 > H(y|x), per ottenere un codice che permetta la decodifica corretta. La dimostrazione d
Set 0 Set 1
2N H(x)
N H(x)
2 H(x, y), Wolf si basa, come tipicamente accade per moltiRrisultati Teoria dell’informaz 1 + R2di>
un codice, vedere x: casuale H(x) di bits; colors:facendo H(y|x) bits che la probabilit`a di errore rispetto alla scelt
allora `easintoticamente possibile costruire unaQuesto sequenza di codici con rate R1 specific per x vicina a zero. garantisce l’esistenza di un codice
Different colors in each conditionally typical set Illustreremo dapprima il procedimento considerando una singola so desiderate. per N tendente ad infinito. y: H(y) bits; colors: H(x|y) bits sequenze i.i.d. xN secondo la distribuzione di massa p(α).
Wyner-Ziv: extension to coding withcome distortion La regione dei rate raggiungibili viene definita la chiusur
guaglianze del teorema. Si noti inoltre che il teorema permette, com Workshop “Toni Mian” - Padova, 26 ottobre esistano 2007
4
casi in cui 7 sia possibile costruire codici affidabili con rate ug
Presentation outline
‣ ‣ ‣ ‣ ‣ ‣
Principles of Distributed Source Coding Distributed Video Coding Wavelet Domain DVC DVC with modulo reduction Comparisons and experimental results Conclusions
Workshop “Toni Mian” - Padova, 26 ottobre 2007
8
Si consideri come esempio fondamentale, in cui le ipotesi del procedimento analizzato s t
ricavare ! = g(!H ).
mente verificate, il caso di sorgenti binarie x e y a simboli equiprobabili, con py|x (0|1) = p
L’informazione che il decodificatore dovrebbe ricevere per attuare la procedura consis
Il canale che lega y e x risulta dunque un canale binario simmetrico, con capacit`a C = 1
mazione laterale costituita dal N vettore y, per la quale sono richiesti approssimativamente H inviamo una sequenza x
di simboli binari i.i.d. sul canale, l’uscita pu` o essere scritta co
simbolo, pi` u N − K simboli per la sindrome, corrispondenti a
binaria dell’ingresso e di una sequenza di errore a simboli indipendenti eN , che vale 1 nell
cui si ha un errore, e 0 altrove. Si ha particolare H(x|y) = H(y|x) = H(e) = H(p). Usan (N − K) login|A|
= log |A| − Cε bit/simbolo.
N previste dal teorema sulla capacit`a di canale `e possib lineare con prestazioni simili a quelle
codifica distribuitaVideo e y,Coding con simmetrico, y disponibilenel al ricevitore, trasmettendo le sindromi di x Lo schema in questione `edidixtipo non senso che per una sola delle due sorgen Distributed
R " 1 − (1 − H(p)) = H(x|y), esattamente previsto teorema di Slepian-Wolf. il meccanismo della rappresentazione, tramite lacome sindrome, di dal un intero insieme di parole diIn
stono codici lineari che permettono di raggiungere prestazioni molto vicine a quelle previst
Reference:
sulla capacit`a di canale. In particolare, per sorgenti binarie, i turbo-codici [10] e i codici
y
WZ frames
Encoder SW
x prestazioni confrontabili con q bits WZ frames Density Parity Check, [11, 12]) permettono dipraggiungere y|x dallaDecoder teoria.
Key frames
Key frames
Encoder Intra
C = max H(x) − H(x|y) N −K
xK
p(x)
p
Side Information Y
K Figura 1.8: Canale virtuale nella codifica distribuita. x
WZ frames: even frames
yK
pN −K
Si consideri come esempio fondamentale, in cui le ipotesi del procedimento analizzato so Key frames: odd frames side information Y mente verificate, il caso di sorgenti binarie x e y a simboli equiprobabili, con py|x (0|1) = p Figura 1.9: Schema di codifica distribuita bit di parit` a. Idea: bitplanes of the sideIl canale information aredunque a “noisy” version ofsimmetrico, WZ con i con che lega yframes e x risulta un canale binario capacit`a C = 1 corresponding bitplanes inviamo una sequenza xN di simboli binari i.i.d. sul canale, l’uscita pu`o essere scritta com
Nma comunque bas Un procedimento diverso da quello analizzato basatoindipendenti sulle sindromi, binaria dell’ingresso e di una sequenza di errore a simboli e , che vale 1 nelle channel code to “correct” Y to recover X and compress
Use a nessione fra codifica distribuita di canale, `e = stato ad esempio in [13 cui si ha un errore, e 0 altrove. Si ha eincodifica particolare H(y|x) = H(e) utilizzato (under certain hypotheses, optimal codes allow to reach theH(x|y) Slepian-Wolf limit) = H(p). Usand
lineare con prestazioni simili a quelle previste dal teorema sulla capacit`a di canale `e possibi
14 codifica distribuita di x e y, con y disponibile al ricevitore, trasmettendo le sindromi di x
R " 1 − (1 − H(p)) = H(x|y), esattamente come previsto dal teorema di Slepian-Wolf. In
stono codici lineari che permettono di raggiungere prestazioni molto vicine a quelle previste Workshop “Toni Mian” - Padova, 26 ottobre 2007 9 sulla capacit`a di canale. In particolare, per sorgenti binarie, i turbo-codici [10] e i codici
DCT Domain Wyner-Ziv scheme Decoded WZ frames
WZ frames
W
Intraframe Encoder
DCT
Xk
q
Turbo Encoder
bit-plane Mk
For each transform band k
Buffer Request bits
planes
…
level Quantizer
bit-plane 1 k Extract bit- bit-plane 2
Interframe Decoder
Turbo Decoder
qk’
W’
IDCT
Xk’ Reconstruction
Side information
Yk
DCT [1] A. Aaron, S. Rane, E. Setton and B. Girod, “Transform Domain Wyner-Ziv codec for video," Visual Communications and Image Processing, VCIP 2004, San Jose, CA, Jan. 2004.
Y Key frames
K
Workshop “Toni Mian” - Padova, 26 ottobre 2007
10
Interpolation/ Extrapolation
Presentation outline
‣ ‣ ‣ ‣ ‣ ‣
Principles of Distributed Source Coding Distributed Video Coding Wavelet Domain DVC DVC with modulo reduction Comparisons and experimental results Conclusions
Workshop “Toni Mian” - Padova, 26 ottobre 2007
11
Wavelet Domain Wyner-Ziv scheme
64 64 64 64 64
In [1], the decoder can require, via a feedback channel, additional bits until turbodecoding gives correct reconstruction, within a small probability of error.
64 64 64
64
64
We consider a more realistic scenario where the key frames are coded and where a 16 bit CRC is added to the WZ bit stream, in order to recognize when the turbo-decoder reconstruction is successful. Required bits are estimated using a statistical model of the error between the WZ frames and the side information
WZ frames Values represent the quantization parameter for each coefficient band
W
Intraframe Encoder of the Wavelet Domain Wyner-Ziv scheme
Wav. DCT Transform
Xk
q
bit-plane Mk
For each wavelet subband k
Workshop “Toni Mian” - Padova, 26 ottobre 2007
12
Turbo Encoder
Parity-bits bit-plane 1 + CRC Parity-bits bit-plane 2 + CRC …
planes
…
level Quantizer
bit-plane 1 k Extract bit- bit-plane 2
Parity-bits bit-plane Mk + CRC
Presentation outline
‣ ‣ ‣ ‣ ‣ ‣
Principles of Distributed Source Coding Distributed Video Coding Wavelet Domain DVC DVC with modulo reduction Comparisons and experimental results Conclusions
Workshop “Toni Mian” - Padova, 26 ottobre 2007
13
DVC with modulo reduction
Reduction modulo M x
.Y
~
X=Y
Workshop “Toni Mian” - Padova, 26 ottobre 2007
.Y
1
~
~
X1
X2
14
.Y
2
x
DVC with modulo reduction The overall distortion at the decoder comprises two contributions, one caused by the quantization error, and the other caused by the modulo reduction function (overload error). We consider the model: with e independent from X and Laplacian distributed with parameter
It is possible to show that, with the common hypothesis of small (i.e., the quantization parameter of the uniform quantizer inside the LTW encoder), the overall distortion ~ between X and its reconstruction X can be approximated as:
The modulo estimation block chooses M so that these two terms contribute equally to the overall distortion.
Workshop “Toni Mian” - Padova, 26 ottobre 2007
15
Presentation outline
‣ ‣ ‣ ‣ ‣ ‣
Principles of Distributed Source Coding Distributed Video Coding Wavelet Domain DVC DVC with modulo reduction Comparisons and experimental results Conclusions
Workshop “Toni Mian” - Padova, 26 ottobre 2007
16
Comparisons and Experimental Results
We compare the performance (in scenarios 1 and 2) of the following schemes. Wyner-Ziv Wavelet Domain; Wyner-Ziv Wavelet Domain with rate estimation; Modulo-reduction; Intra coding of the WZ frames with ML decoding using the side information (joint decoding); Intra coding, no joint decoding. In scenario 2, we also consider the following scheme. Intra coding of the difference X-XAV, where XAV is the average of the key frames closest to the current frame.
Workshop “Toni Mian” - Padova, 26 ottobre 2007
17
Comparisons and Experimental Results scenario 1 WZ frames
Encoder SW Key frames
Encoder Intra
Workshop “Toni Mian” - Padova, 26 ottobre 2007
18
Comparisons and Experimental Results scenario 2 Low-complexity Encoder WZ frames + Key frames
WZ frames
Key frames
Workshop “Toni Mian” - Padova, 26 ottobre 2007
19
Encoder SW Encoder Intra
Conclusions
‣ ‣ ‣ ‣ ‣ ‣
Motivations and principles of Distributed Source Coding Schemes for Distributed Video Coding Wavelet Domain DSC (with rate estimation) Modulo Reduction Modulo-M DVC has competitive performance, but not for all bitrates and sequences Future work: complexity evaluation
Workshop “Toni Mian” - Padova, 26 ottobre 2007
20