Performance Evaluation of Distributed Video Coding ...

2 downloads 0 Views 2MB Size Report
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