03.08.2013 Views

Capitolo 5 La compensazione di moto - InfoCom

Capitolo 5 La compensazione di moto - InfoCom

Capitolo 5 La compensazione di moto - InfoCom

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Capitolo</strong> 5<br />

<strong>La</strong> <strong>compensazione</strong> <strong>di</strong> <strong>moto</strong><br />

Contenuto<br />

5.1 Principi <strong>di</strong> <strong>moto</strong><strong>compensazione</strong> per la co<strong>di</strong>fica <strong>di</strong> sequenze video<br />

I quadri che compongono una sequenza video naturale rappresentano la proiezione sul piano dell’immagine <strong>di</strong> oggetti<br />

reali in <strong>moto</strong>, immersi in sfon<strong>di</strong> <strong>di</strong> varia natura (interni, esterni, fissi o in movimento). Essi presentano una forte<br />

correlazione, nel senso che l’informazione apportata da ciascun quadro é largamente pre<strong>di</strong>cibile a partire dal quadro<br />

precedente. In un contesto <strong>di</strong> co<strong>di</strong>fica <strong>di</strong> sorgente, é pertanto opportuno rappresentare ciascun quadro in termini <strong>di</strong> una<br />

versione predetta a partire dal quadro precedente, piú un’immagine residua, che rappresenta l’innovazione apportata<br />

dal quadro attuale. Il co<strong>di</strong>ficatore dovrá quin<strong>di</strong> trasmettere unicamente le informazioni necessarie a costruire la<br />

versione predetta, e l’innovazione stessa.<br />

Nella versione piúsempliceelargamentepiúadottata il quadro che deve essere co<strong>di</strong>ficato é scomposto in blocchi <strong>di</strong><br />

8x8 pixel o <strong>di</strong> 16x16 pixel (macroblocchi). Per ciascun blocco si cerca il blocco piú simile nell’immagine precedente.<br />

Per questioni <strong>di</strong> complessitá computazionale, la ricerca é limitata in un intorno della posizione corrispondente a quella<br />

occupata nel quadro attuale. Una volta in<strong>di</strong>viduato il blocco piú simile, si co<strong>di</strong>fica la posizione <strong>di</strong> tale macroblocco;<br />

le coor<strong>di</strong>nate sono co<strong>di</strong>ficate in modo relativo, ovvero rappresentano lo spostamento rispetto alla posizione attuale.<br />

Note le coor<strong>di</strong>nate relative <strong>di</strong> ciascun blocco, il deco<strong>di</strong>ficatore é in grado <strong>di</strong> ricostruire una versione predetta del<br />

quadro attuale, me<strong>di</strong>ante la giustapposizione <strong>di</strong> opportuni tasselli del quadro precedente. Questo meccanismo <strong>di</strong><br />

ricostruzione me<strong>di</strong>ante la definizione <strong>di</strong> una corrispondenza fra informazioni del quadro attuale e informazioni del<br />

quadro precedente prende il nome <strong>di</strong> <strong>moto</strong><strong>compensazione</strong>. Il co<strong>di</strong>ficatore deve quin<strong>di</strong> co<strong>di</strong>ficare unicamente la<br />

<strong>di</strong>fferenza tra l’immagine predetta me<strong>di</strong>ante <strong>moto</strong><strong>compensazione</strong> ed il quadro attuale. Questo meccanismo <strong>di</strong> principio<br />

estremamente semplice ammette numerose varianti, sulla base della forma del blocco considerato, della funzione <strong>di</strong><br />

misura della ”somiglianza” fra blocchi, della modalitá <strong>di</strong> ricerca del blocco piú simile (esaustiva o meno), del numero<br />

<strong>di</strong> quadri, detti <strong>di</strong> riferimento, a partire dai quali tentare la pre<strong>di</strong>zione del blocco attuale, e cosí via. Dal punto <strong>di</strong><br />

vista concettuale, tuttavia, la <strong>moto</strong><strong>compensazione</strong> si basa su un’ipotesi implicita, e cioé che l’immagine rappresentata<br />

nel quadro attuale sia costituita da una versione spazialmente trasformata dell’immagine precedente. Questo tipo <strong>di</strong><br />

corrispondenza puó essere modellata matematicamente come una trasformazione geometrica del piano dell’immagine.<br />

42


5.2. TRASFORMAZIONI GEOMETRICHE PER MOTOCOMPENSAZIONE DI SEQUENZE VIDEO 43<br />

Il presente capitolo é de<strong>di</strong>cato alla sintetica descrizione dei principali modelli <strong>di</strong> trasformazioni geometriche<br />

utilizzate nell’ambito della co<strong>di</strong>fica <strong>di</strong> immagini. I modelli che qui descriviamo con riferimento all’ambito applicativo<br />

della co<strong>di</strong>fica video sono utilizzati anche in ambiti <strong>di</strong>fferenti, quali la calibrazione <strong>di</strong> immagini nel telerilevamento e<br />

in alcune applicazioni me<strong>di</strong>cali, l’elaborazione degli effetti <strong>di</strong> ”morphing” nella produzione video, la generazione <strong>di</strong><br />

tessiture sintetiche per applicazioni <strong>di</strong> realtá virtuale.<br />

5.2 Trasformazioni geometriche per <strong>moto</strong><strong>compensazione</strong> <strong>di</strong> sequenze video<br />

Consideriamo due quadri temporalmente a<strong>di</strong>acenti estratti da una sequenza video. <strong>La</strong> trasformazione da un quadro al<br />

successivo é descritta come una trasformazione geometrica del piano dell’immagine. I punti (u, v) del primo quadro<br />

sono mappati in punti (x, y) =(X(u, v),Y(u, v)) del secondo quadro. In altre parole, la luminanza L(x, y) del<br />

punto (x, y) del secondo quadro élastessadelpunto(u, v) del primo quadro. <strong>La</strong> trasformazione geometrica <strong>di</strong> un<br />

quadro nell’altro é descritta dalla coppia <strong>di</strong> funzioni (x, y) =(X(u, v),Y(u, v)). Discutiamo qui alcune possibili<br />

forme, via via piú sofisticate, <strong>di</strong> tale trasformazione.<br />

Il modello <strong>di</strong> <strong>moto</strong> traslatorio<br />

Un <strong>moto</strong> traslatorio é definito dalla coppia <strong>di</strong> funzioni<br />

x = u + ∆x<br />

y = v + ∆y<br />

(5.2.1)<br />

Questo é il modello sopra citato come il piú <strong>di</strong>ffuso nella <strong>moto</strong><strong>compensazione</strong> per co<strong>di</strong>fica video. <strong>La</strong> coppia (∆x, ∆y)<br />

é detta vettore <strong>di</strong> <strong>moto</strong> (motion vector) o <strong>di</strong> spostamento. Nelle applicazioni, il vettore spostamento puó essere<br />

assegnato ad aree <strong>di</strong> <strong>di</strong>mensione variabile, dal 16x16 al 8x8 al 4x4; per applicazioni particolari (visione artificiale,<br />

analisi automatica dell’immagine), é assegnato un vettore <strong>di</strong> <strong>moto</strong> ad ogni pixel dell’immagine, e l’insieme dei vettori<br />

<strong>di</strong> <strong>moto</strong> relativi ad una coppia <strong>di</strong> immagini édettamotion vector field.<br />

Osserviamo sin d’ora che, ai fini della ricostruzione del video deco<strong>di</strong>ficato, l’informazione rappresentata dai<br />

vettori <strong>di</strong> <strong>moto</strong> é critica, perché un errore <strong>di</strong> trasmissione che alteri i vettori spostamento tipicamente genera artefatti<br />

rilevanti nell’immagine ricostruita.<br />

Modello <strong>di</strong> <strong>moto</strong> affine<br />

Una trasformazione affine é definita dalla coppia <strong>di</strong> funzioni<br />

x = Au + Bv + C<br />

y = Du + Ev + F<br />

Il <strong>moto</strong> affine ammette come casi particolari il <strong>moto</strong> traslatorio, la rotazione<br />

il cambiamento <strong>di</strong> scala<br />

x = cosθ u + sinθ v<br />

y = −sinθ u + cosθv<br />

x = Suu<br />

y = Svv<br />

(5.2.2)


44 CAPITOLO 5. LA COMPENSAZIONE DI MOTO<br />

l’inclinazione (shear)<br />

x = u + Huv<br />

y = v<br />

x = u<br />

y = Hvu + v<br />

Il modello <strong>di</strong> <strong>moto</strong> affine é largamente generale e flessibile. Osserviamo che la trasformazione affine, essendo<br />

descritta da sei parametri, é completamente in<strong>di</strong>viduata quando sia nota la trasformazione <strong>di</strong> tre punti (non allineati)<br />

del piano.<br />

Una possibile applicazione del modello affine in fase <strong>di</strong> co<strong>di</strong>fica consiste nel sud<strong>di</strong>videre il quadro da pre<strong>di</strong>re<br />

in un reticolato (mesh) a maglia triangolare, e nel modellare l’evoluzione <strong>di</strong> ciascuno dei triangoli del reticolato<br />

me<strong>di</strong>ante una trasformazione affine. Ai fini della co<strong>di</strong>fica, la trasformazione <strong>di</strong> ciascun triangolo é identificata dala<br />

trasformazione dei suoi tre vertici (sei coor<strong>di</strong>nate).<br />

Modello <strong>di</strong> <strong>moto</strong> prospettico<br />

Una trasformazione prospettica (perspective ) é definita dalla coppia <strong>di</strong> funzioni<br />

Au + Bv + C<br />

x =<br />

Gu + Hv + 1<br />

Du + Ev + F<br />

y =<br />

Gu + Hv + 1<br />

(5.2.3)<br />

Esso modella la duplice proiezione <strong>di</strong> un quadrilatero planare del piano dell’immagine (u, v) in un quadrilatero ancora<br />

planare ma in generale inclinato rispetto al piano dell’immagine, e la successiva proiezione prospettica <strong>di</strong> questo sul<br />

piano (x, y). <strong>La</strong> trasformazione prospettica é descritta da otto parametri, ed é completamente in<strong>di</strong>viduata quando sia<br />

nota la trasformazione <strong>di</strong> quattro punti del piano.<br />

Una possibile applicazione del modello prospettico in fase <strong>di</strong> co<strong>di</strong>fica consiste nella sud<strong>di</strong>visione del quadro da<br />

pre<strong>di</strong>re in un reticolato (mesh) a maglia quadrangolare, e nel modellare l’evoluzione <strong>di</strong> ciascuno dei quadrilateri del<br />

reticolato me<strong>di</strong>ante una trasformazione prospettica. <strong>La</strong> trasformazione prospettica é descritta da otto parametri, ed é<br />

completamente in<strong>di</strong>viduata quando sia nota la trasformazione dei quattro vertici (otto coor<strong>di</strong>nate) del quadrilatero in<br />

questione.<br />

A titolo <strong>di</strong> completezza, citiamo al termine <strong>di</strong> questo excursus anche la trasformazione bilineare, definita dalla<br />

coppia <strong>di</strong> funzioni<br />

x = Au + Bv + Cuv + G<br />

y = Du + Ev + Fuv+ H<br />

(5.2.4)<br />

Esso modella la duplice proiezione <strong>di</strong> un quadrilatero planare del piano dell’immagine (u, v) in un quadrilatero non<br />

planare e la successiva proiezione <strong>di</strong> questo sul piano (x, y). <strong>La</strong> trasformazione bilineare é applicabile per riprodurre<br />

in piano dati registrati da sensori non coplanari in applicazioni <strong>di</strong> telerilevamento e biome<strong>di</strong>cali, nonché a scopi <strong>di</strong><br />

”texture mapping”, ovvero per generare sinteticamente la proiezione sul piano dell’immagine <strong>di</strong> tessiture <strong>di</strong>sposte<br />

su oggetti virtuali tri<strong>di</strong>mensionali, a partire da tasselli planari delle tessiture stesse. <strong>La</strong> trasformazione bilineare, al<br />

pari della prospettica, é descritta da otto parametri, ed é in<strong>di</strong>viduata dalla trasformazione dei quattro vertici (otto<br />

coor<strong>di</strong>nate) <strong>di</strong> un quadrilatero.


5.2. TRASFORMAZIONI GEOMETRICHE PER MOTOCOMPENSAZIONE DI SEQUENZE VIDEO 45<br />

v<br />

x=u+∆u<br />

y=v+∆v<br />

v<br />

(1,2)<br />

(0,1) (2,1)<br />

u<br />

y<br />

x=u (cos(θ))+ v (sin(θ))<br />

y=u (-sin(θ))+ v (cos(θ))<br />

x<br />

x=Su u<br />

y=Sv v<br />

u<br />

y<br />

x=X(u,v)<br />

y=Y(u,v)<br />

X(u,v)=A u + B v + C<br />

Y(u,v)=D u + E v + F<br />

(2,4)<br />

x= S u u<br />

y= S v v<br />

Su=Sv=2<br />

x= 2 v<br />

y=2 u<br />

(0,2) (4,2)<br />

x<br />

v<br />

(1,2)<br />

(0,1) (2,1)<br />

v<br />

(1,2)<br />

(0,1) (2,1)<br />

u<br />

x=u+∆u<br />

y=v+∆v<br />

Figura 5.1: Esempi <strong>di</strong> trasformazioni descritte da un modello affine.<br />

x=u (cos(θ))+ v (sin(θ))<br />

y=u (-sin(θ))+ v (cos(θ))<br />

u<br />

(1,-2)<br />

y<br />

y<br />

∆u=1<br />

∆v=2<br />

x= u+1<br />

y=v+2<br />

(2,4)<br />

(1,3) (3,3)<br />

(1,0)<br />

θ=π/2<br />

x<br />

x= v<br />

y=u (-1)<br />

(2,-1)<br />

x


46 CAPITOLO 5. LA COMPENSAZIONE DI MOTO<br />

5.3 Algoritmi <strong>di</strong> <strong>moto</strong><strong>compensazione</strong> per la co<strong>di</strong>fica <strong>di</strong> sequenze video<br />

Come <strong>di</strong>scusso nei paragrafi precedenti, la <strong>moto</strong><strong>compensazione</strong> si basa sul principio che quadri successivi della<br />

sequenza video siano legati da trasformazioni geometriche. Nelle applicazioni <strong>di</strong> <strong>moto</strong><strong>compensazione</strong> il quadro<br />

attuale é sud<strong>di</strong>viso in regioni non sovrapposte5.1 , e per ciascuna regione é in<strong>di</strong>viduata l’area <strong>di</strong> provenienza nel<br />

quadro precedente, come illustrato in Fig. 5.2.<br />

I n-1<br />

Modello traslatorio.<br />

Modello affine.<br />

Modello prospettico o bilineare.<br />

Figura 5.2: Uso <strong>di</strong> modelli del campo <strong>di</strong> <strong>moto</strong> a fini <strong>di</strong> <strong>moto</strong><strong>compensazione</strong>.<br />

Consideriamo qui il caso <strong>di</strong> gran lunga piú comune: il modello traslatorio.<br />

Il quadro attuale Ik[m, n] sia partizionato in blocchi non sovrapposti, tali da ricoprire l’intero quadro. In<strong>di</strong>chiamo<br />

con B il generico blocco del quadro attuale. Per il blocco B, si cerca nel quadro precedente il blocco piú simile<br />

massimizzando un assegnato funzionale <strong>di</strong> somiglianza, ovvero minimizzando un assegnato funzionale <strong>di</strong> <strong>di</strong>storsione.<br />

Adottando il criterio dell’errore quadratico me<strong>di</strong>o, il blocco piú simile é in<strong>di</strong>viduato dalla coor<strong>di</strong>nate relative<br />

∆mmin, ∆nmin che minimizzano la seguente funzione<br />

DMSE(∆m, ∆n) = X<br />

(m,n)∈B<br />

al variare <strong>di</strong> (∆m, ∆n) in un intervallo preassegnato.<br />

(Ik[m, n] − Ik−1[m + ∆m, n + ∆n]) 2<br />

5.1Tipicamente, nelle applicazioni <strong>di</strong> ”morphing” e <strong>di</strong> elaborazione delle immagini la trasformazione é applicata ”in avanti”, scandendo il<br />

quadro precedente per generare i punti corrispondenti del quadro attuale. Le aree del quadro attuale non assegnate nella fase <strong>di</strong> mappatura sono<br />

successivamente ricostruite con sofisticate tecniche <strong>di</strong> interpolazione. Nelle applicazioni <strong>di</strong> co<strong>di</strong>fica,é scan<strong>di</strong>to il quadro attuale al fine <strong>di</strong> associare<br />

ad ogni punto un punto del quadro precedente. Tale modalitá <strong>di</strong> applicazione della trasformazione geometrica, detta ”all’in<strong>di</strong>etro”, evita che<br />

risultino non assegnate aree del quadro attuale.<br />

I n


5.3. ALGORITMI DI MOTOCOMPENSAZIONE PER LA CODIFICA DI SEQUENZE VIDEO 47<br />

Per questioni computazionali, la <strong>di</strong>storsione puó essere computata adottando il criterio della somma delle <strong>di</strong>fferenze<br />

assolute ( Sum of Absolute Differences, SAD). In tal caso il blocco piú simile é in<strong>di</strong>viduato dalla coor<strong>di</strong>nate relative<br />

∆mmin, ∆nmin che minimizzano la seguente funzione<br />

DSAD(∆m, ∆n) = X<br />

(m,n)∈B<br />

|Ik[m, n] − Ik−1[m + ∆m, n + ∆n]|<br />

per (∆m, ∆n) variabili in un intervallo preassegnato.<br />

Un esempio <strong>di</strong> un’immagine Ik[m, n] estratta dalla sequenza video ”Suzie” e della sua versione predetta Îk[m, n]<br />

me<strong>di</strong>ante <strong>moto</strong><strong>compensazione</strong> traslatoria é riportata in Fig.7.5. <strong>La</strong> <strong>moto</strong><strong>compensazione</strong> in questo esempio é operata<br />

su blocchi <strong>di</strong> <strong>di</strong>mensioni 8x8.<br />

I k [m,n]<br />

I<br />

^<br />

k [m,n]<br />

Figura 5.3: Esempio <strong>di</strong> <strong>moto</strong><strong>compensazione</strong> su blocchi 8x8.<br />

(particolare)<br />

Quando la <strong>moto</strong><strong>compensazione</strong> é operata partizionando l’immagine in una griglia e in<strong>di</strong>viduando lo spostamento<br />

ottimo <strong>di</strong> ciascun vertice della griglia, l’ottimizzazioe <strong>di</strong>viene piú complessa. Infatti, l’ottimizzazione deve essere<br />

operata congiuntamente su tutte le maglie della griglia, applicando la trasformazione ipotizzata a ciascuna maglia<br />

e valutando la potenza dell’errore complessivo. Per ció che concerne la scelta dei vertici della griglia, éfrequente<br />

l’adozione <strong>di</strong> criteri euristici, finalizzati ad in<strong>di</strong>viduare tasselli non troppo picoli per controllare il costo <strong>di</strong> trasmissione<br />

dei vettori spostamento e non troppo gran<strong>di</strong> in modo da non includere <strong>di</strong>scontinuitá. Una strategia frequentemente<br />

utilizzata consiste nella scelta dei vertici della griglia in corrispondenza <strong>di</strong> punti significativi dell’immagine stessa.


Bibliografia<br />

[1] G. Scarano, “Dispense <strong>di</strong> elaborazione delle immagini”, infocom.uniroma1.it/gscarano.<br />

[2] B. G. Haskell, P. G. Howard, Y. A. LeCun, A. Puri, J. Ostermann, M.R. Civanlar, L. R. Rabiner, L. Bottou, and P. Haffner, “Image<br />

and Video Co<strong>di</strong>ng-Emerging Standards and Beyond”, IEEE Transactions on Circuits and Systems for Video Technology, Vol. 8, No. 7, pp.<br />

814-837, November 1998<br />

[3] G. Wolberg, “Image Morphing: A Survey ’, Visual Computer, vol. 14, pp. 360-372, 1998<br />

48

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!