• Nenhum resultado encontrado

= + +

= + +

= + + + + 1 2

1 2

2 4

Macrobloco da escala de precisão inteira Macrobloco da escala de precisão de meio-pixel

Figura 2.4: Interpolação bilinearneessáriapara obter umapreisãode meio pixel, segundoa

norma H.263[5℄.

Caluladas asmedidasde semelhançapara todos osmarobloos, esolhe-sea

posição p

2

; q

2

(em que p;q 2 f 1;0;1g) orrespondente ao marobloo om

maiormedidadesimilaridadedogrupodenidopelos8marobloosperiférios

e pelomaroblooentral. Assim, esta posição orresponderá ao renamento

desejadodaestimativainiial(;l),obtidanaprimeirafase,omuma preisão

de meio pixel. O vetor de movimento nal será, então, denido omo sendo

+ p

2

;l+ q

2

. Convémnotar quepode perfeitamenteaonteer a situação de

aestimativainiial(;l)orresponderàposiçãoommaiorsimilaridade. Nesse

aso, ter-se-ia, naturalmente, p =q =0, o que orrespondente a uma posição

denida naesala om resolução inteira.

Deigualforma,poder-se-ia,naturalmente,denirummétodosemelhanteparaestimar

os vetores de movimento noutras sub-esalas, tal omo, por exemplo, em esalas om

resolução de um quarto de pixel.

Memória: Macrobloco de Referência

Memória: Área de Pesquisa

Estimador de Movimento precisão inteira

-Estimador de Movimento precisão de subpixel -Interpolação de Pixel

(c,l)

Figura 2.5: Sistema de estimação demovimento ompreisão de meio-pixel.

Em muitos dos iruitos para estimação de movimento atuais, estas duas unidades

de pesquisa, om preisão inteira e om preisão de meio pixel, são implementadas em

unidades separadas (ver gura 2.5). Contudo, omo a primeira fase do algoritmo

orre-sponde àparte doproedimentode pesquisa mais exigenteemtermos omputaionais,a

investigação de iruitos sobre estimação de movimento tem inidido sobre a estimação

de movimento om preisãointeira [10,11℄.

2.4 Medidas de similaridade

Nos últimos anos, várias medidas de semelhança têm sido propostas para estimação de

movimento [? ℄. Na tabela 2.1, apresentam-se algumas destas medidas,

representando-se por R(u;v) o onjunto dos pixels que onstituem o marobloo de referênia, por

S(u+;v+l) o onjunto de pixels da área de pesquisa para um desloamentode (;l)

do marobloo atual, por R a média loal dos pixels que onstituem o marobloo de

referênia: R= P

N 1

v=0 P

N 1

u=0

R(u;v)eporS(;l)amédialoaldomaroblooandidato

naárea de pesquisa sob omparação: S(;l)= P

N 1

v=0 P

N 1

u=0

S(+u;l+v).

Estas medidaspodemser divididas emduas lasses distintas:

Medidas de semelhança, onde o ritério de aproximação é baseado no álulo da

orrelação entre os dois bloos emomparação. Assim, a melhoraproximação

or-responderá ao par de marobloos para o qual se obtém o maior valor para estas

medidas. Exemplos destas medidassão: SCC, NCC, ZNCC e MOR.

Medidas de diferença ou dissemelhança, onde o ritério de aproximação é baseado

nadiferençaentre adapixelde ada umdos bloos. Nestes asos,amelhor

aprox-imaçãoorresponderáaoparde bloos om queseobtémomenorvalorde

dissimi-laridade. Exemplos destas medidassão: NZSSD, SSD,SAD, NSSD, ZSSD, ZSAD,

LSSD and LSAD.

Em ada uma destas lasses, destaam-se algumas funções que se apresentam omo

versões normalizadas em relação ao valor médio ou ao desvio padrão de funções mais

simples. O objetivo destas normalizações onsiste emtornar as medidas, tanto quanto

possível,insensíveisavariaçõesdoníveldebrilhoeontrastedeR (u;v)eS(u;v). Embora

as funções desritas apresentem algumasanalogias evidentes, elas apresentam requisitos

omputaionais diferentes. Enquanto que para a função mais simples, a SCC, apenas é

neessário efetuar N N operações do tipo MAC 3

, para outras é neessário o uso de

unidades aritmétias apazes de efetuar operaçõesmais omplexas, tais omo oálulo

3

Medida de Semelhança Denição

ZeroMeanNormalizedCross-Correlation

ZNCC(;l)

NormalizedZeroMean SumofSquared

Dierenes

SumofSquaredDierenes

SSD(;l)

SumofAbsolute Dierenes

SAD(;l)

NormalizedSumof SquaredDierenes

NSSD(;l)

ZeroMeanSumof SquaredDierenes

ZSSD(;l)

ZeroMeanSumof AbsoluteDierenes

ZSAD(;l)

Loally SaledSumof SquaredDierenes

LSSD(;l)

LoallySaledSumof AbsoluteDierenes

LSAD(;l)

Tabela 2.1: Funçõesde similaridade.

da raiz quadrada (ZNCC, NZSSD, NSSD), do valor absoluto (SAD, ZSAD, LSAD) e da

divisão inteira(NCC, ZNCC,MOR,NZSSD,NSSD,LSSD, LSAD).Estes requisitossão,

muitasvezes, umaspetodeterminanteparaaesolhadafunçãodesimilaridadeautilizar

para uma dada apliação.

Porformaareduzirosrequisitosomputaionais neessáriospara oáluloda

semel-hança entre os marobloos, foram propostas algumas medidasde similaridade

simpli-adas. Um exemplo destas medidas é a Normalized Absolute Dierene (NSAD). Esta

função baseia-se na soma de valores pertenentes ao onjunto f0;1g, dependente do

re-sultadodaomparaçãoentre um dadolimiareovalorabsolutodadiferençaentre opixel

domarobloo de referênia eo pixeldo maroblooanterior:

NSAD(;l)= N 1

X

v=0 N 1

X

u=0

T (v;u;;l) (2.4)

T (v;u;;l)=

1 ; jR(u;v) S(+u;l+v)j>Limiar

0 ; aso ontrario

(2.5)

Outra função proposta designa-se por Maximum Pixel Dierene (MPD) e

orre-sponde aomáximo valorabsolutodos pixels sob omparação:

MPD(;l)=max

(u;v)

jR(u;v) S(+u;l+v)j; 0u;v <N (2.6)

2.5 Requisitos omputaionais

De entre as medidas atrás referidas, tomar-se-á, omo exemplo, a medida SAD (Sum

of Absolute Dierenes), também designada por MAD (Mean Absolute Dierene) ou

distâniaL

1

. Esta função temsido amais frequentementeutilizadanas váriasapliações

envolvendoestimaçãodevetoresdemovimentooudedisparidadesentreparesdeimagens

onstituídas por pixels denidos numa gama de tons de inzento. Esta função requer

um esforço omputaional moderado e onduz a resultados próximos dos obtidos om

as funções mais omplexas [? ℄. O valor da medida de dissimilaridade d(;l) de um

determinadomarobloo om um vetorde movimentoestimadode (;l)é dado por:

d(;l)= N 1

X

v=0 N 1

X

u=0

jR(u;v) S(+u;l+v)j; p;l<p (2.7)

Para alular d, para um dado valor de (;l), são neessárias N 2

operações de

sub-tração,deálulodovalorabsolutoedeaumulação(3N 2

operações). Váriasestratégias

podem ser usadas para determinar o par de marobloos orrespondente ao melhor

em-um resultado óptimo om base num proessamento regular. Esta estratégia promove

a pesquisa em todas as (2p+1) 2

posições possíveis na área de pesquisa, obtendo-se o

vetor de movimento determinando a onguração orrespondente ao valor mínimo de

dissimilaridade:

MV =argmin

( ;l )

fd(;l) : p;l <pg (2.8)

Assim, paraimagensde dimensãoN

h N

v

pixels(N

h

pixelsporlinha eN

v

linhaspor

imagem),o método de emparelhamentode bloos om pesquisa exaustiva envolve:

N

h N

v

N 2

(2p+1) 2

3N 2

=3(2p+1) 2

(N

h N

v

) (2.9)

operações por imagem. Se se onsiderar um ritmo de f

F

imagens por segundo (I=s),

onlui-se que este método requer um ritmo de 3(2p+1) 2

(N

h N

v )f

F

operações por

segundo. Considerando p = 15 e o formato de imagem CIF - N

h

= 352, N

v

= 288,

f

F

=30I=s - é neessário realizar8,77 GOPS 4

.

4

Algoritmos para estimação de

movimento

Conteúdo

3.1 Introdução. . . 28

3.2 Algoritmos de pesquisa exaustiva . . . 28

3.3 Algoritmos de pesquisa sub-óptimos . . . 29

3.3.1 Pesquisa om deimaçãoao nível dosvetoresandidatos . . . 31

3.3.2 Pesquisa om deimaçãoao nível dopixel . . . 37

3.3.3 Pesquisa hierárquia omredução deresolução dasimagens . . 40

3.3.4 Pesquisa por arrefeimento simulado . . . 42

3.1 Introdução

O desempenho do bloo estimador de movimento é determinante na eiênia de um

sistemade odiação de vídeo. Porisso, tem-severiado,nos últimosanos, umgrande

esforço de investigação de algoritmos eientes para estimação de movimento, que se

podem lassiar emduas lasses distintas:

Algoritmosdepesquisaóptimos,baseados numaprouraexaustivanum onjuntode

marobloos andidatosdaimagemanterior, domaroblooquemelhoremparelha

om o maroblooaodiar.

Algoritmos de pesquisa sub-óptimos, baseados em simpliações ao nível dos

pro-essosde prouradomelhormaroblooandidato edasoperaçõesde omparação,

para reduziro tempode proessamento e/ou osreursos de álulo neessários.

Assim, dado oimpatodestebloonaomplexidadeomputaionalenaeiênia da

odiação, é importante seleionaro melhoralgoritmopara uma dadaapliação.

3.2 Algoritmos de pesquisa exaustiva

Deaordoomaequação2.1,ummétododeproessamentoregularparaestimarovetor

de movimento de um dado marobloo onsiste no álulo da medida de semelhança

(d(;l)) para ada marobloo andidato da área de pesquisa. Este método, designado

deprouraexaustiva,podeserdesritoatravésdopseudo-ódigoapresentadonagura3.1,

onde, atítulo de exemplo,se utilizoua medidade similaridadeSAD 1

.

Este tipo de algoritmo é o que permite hegar à solução óptima, sendo, por isso,

aonselhado para efetuar odiação de vídeode alta qualidadee para débitos binários

reduzidos.

Contudo,estemétodoapresentaalgumasdesvantagens: paraalémdeapresentarníveis

de omplexidade muito elevados (da ordem de O(N

h N

v

)), para sealançar

proessa-mento em tempo real é neessário garantir um elevado ritmo de entrada dos dados e

ritmos de proessamento muito grandes, muitas vezes apenas onseguidos reorrendo a

proessamento paralelo massivo. No entanto, devido à sua estrutura regular, este tipo

de algoritmosapresenta araterístiasadequadas para aimplementação de iruitos

in-tegrados dediados para a estimação de movimento.

1

(x;y)((0;0) {iniializaaodos vetores de movimento}

SAD(x;y)(1

for = pto p do

for l = p top do

SAD(;l)(0 {iniializaaodamedida SAD}

for u=0 to N do

for v =0 toN do

SAD(;l)+=jR(u;v) S(+u;l+v)j

endfor

end for

if SAD(;l)<SAD(x;y) then

(x;y)=(;l) {omparaao}

SAD(x;y)=SAD(;l)

end if

endfor

end for

return (x;y) {vetor de movimento =(x;y)}

Figura 3.1: Algoritmode pesquisa exaustiva dovetorde movimento óptimo.

3.3 Algoritmos de pesquisa sub-óptimos

Tal omose referiu anteriormente, oalgoritmo de pesquisa exaustivaproduz o resultado

óptimo, mas requer um elevado número de operações(ver equação 2.7). Para reduziros

requisitos omputaionais, tem-se assistido à investigação de algoritmos de proura que

exigem um número mais reduzido de operações, mas que forneemapenas soluções

sub-óptimas. Noentanto,éimportantereferir queestaredução donúmerode operaçõestem,

omo prinipal inonveniente, o fato de requerer um bloo de ontrolo bastante mais

omplexo. Porestarazão,estetipodealgoritmosde pesquisaémuitasvezesvoaionado

para implementações baseadas em software, pois a sua implementação suportada em

proessadores digitais espeializados é, em geral, bastante mais omplexa, devido à sua

natureza pouo regular.

A generalidade dos algoritmos de pesquisa sub-óptima baseia-se na hipótese, nem

sempreverdadeira, de queexiste ummáximoúnio eabsolutodamedidadesimilaridade

utilizada no espaço de proura, a partir do qual as medidas de semelhança entre os

marobloos andidatos e o marobloo de referênia deresem monotoniamente em

todas as direções. Como esta hipótese não se veria emtodas as situações, a proura

termina, muitas vezes, na deteção de máximos loais de semelhança (ver gura 3.2).

(a) Situaçãosimples,omum

máx-imo global de semelhança.

(b) Superfíie de erro om

máxi-mosloais.

Figura 3.2: Diferentestiposdesuperfíies de erro.

sub-óptimo, em ontraste om os algoritmosde proura exaustiva.

Apesardesteinonveniente,onvémreferir que,emmuitasapliações, esta

araterís-tia não afeta signiativamente o desempenho nal do sistema. De fato, do ponto

de vista da odiação de vídeo, pode-se armar que o objetivo prinipal do bloo de

estimaçãonãoé,neessariamente,odeenontrar omaroblooorrespondenteao

empar-elhamentoóptimo,massimode enontraromaroblooqueirápermitirumaodiação

mais eiente. Mesmo nasituaçãoemque oemparelhamentonão sejao mais orreto,o

algoritmode odiação ontinuará a funionar,embora om uma eiênia menor.

Nesta perspetiva, a estimação de movimento deve ser vista omo uma forma de

minimizar a quantidade total de bits que resultam da odiação da informação

or-respondente ao erro de predição e aos vetores de movimento. De fato, os erros de

estimação podem-se onsiderar perfeitamente toleráveis desde que a quantidade de bits,

após a odiação, não aumente. Por isso, em marobloos onde se veriam vários

vetores de movimento possíveis om medidas de similaridade muito próximas, muitos

algoritmosoptamporesolherovetorde queresultaráumaodiação omumamenor

quantidade de bits.

A generalidade dos algoritmos de proura rápida baseia-se, essenialmente, numa

redução do espaço de proura através de operações de deimação ao nível de diferentes

parâmetros(vergura2.5), dandoassimorigemaalgoritmosquepodem serlassiadas

em três ategorias distintas:

algoritmos om deimação ao nível dos vetores andidatos, em que se reduz o

onjunto de marobloos andidatosque onstituema áreade pesquisa daimagem

e em l do pseudo-ódigo da gura 3.1; os marobloos eliminados aquando da

deimação podem ser utilizadosemfases posteriores de renamento dapesquisa.

algoritmos om deimação ao nível do pixel, em que apenas uma parte dos 16

16 pixels que onstituem o marobloo é usada para o álulo das medidas de

similaridade d(;l). No pseudo-ódigo apresentado na gura 2.5, esta operação

orresponde a reduziro número de iterações dos ilos emu e emv.

algoritmosdepesquisa hieráriquiosomredução daresoluçãodas imagens,emque

se apliam os algoritmos de proura exaustiva sobre versões de menor resolução

das imagensoriginais(obtidaspordeimação),para enontrar osvetoresde

movi-mento. Neste tipo de algoritmosé usual apliar um ltro passa-baixo antes de se

efetuar a deimação, para evitar fenómenos de aliasingque poderiam dar origem

a emparelhamentosinorretos. Do ponto de vistada redução donúmero total de

operações neessárias, este método é onsiderado bastante eiente, visto onsistir

naapliação simultâneade deimaçõesao nível dopixel e aonível dos vetores de

movimentoandidatos. Em geral, efetua-seprimeiro uma estimativados vetores

de movimento,proedendo-se, emseguida,ao renamento dapesquisa, obtendo-se

vetoresde movimentoom preisãointeirade pixel.

Nas seçõesseguintes desrevem-se algunsdos prinipaisalgoritmosde adauma das

ategorias referidas.

3.3.1 Pesquisa om deimação ao nível dos vetores andidatos

Um grande número de algoritmos deste tipo têm sido propostos por diversos autores,

apresentando-se, de seguida,dois destesalgoritmosde pesquisa logarítmiaede pesquisa

paralelahierárquia.

Pesquisa Logarítmia

Talomosedesreveunaseção2.3,aáreadepesquisaorresponde,emgeral,aumazona

quadradaom uma área total de (p+N +p) 2

=(N +2p) 2

pixels(ver gura2.2),

orre-spondendo a (2p+1) 2

marobloos andidatos. Na representação matriialdagura 3.3

representaram-se,atravésde quadrados,osentrosdeadaumdos (2p+1) 2

marobloos

andidatosqueonstituemaárea totaldepesquisa. Oalgoritmodepesquisa logarítmia,

proposto por Koga et al. [12℄, segue um esquema de proessamento bastante semelhante

Este algoritmo omeça por dividir a área de pesquisa em duas regiões, sendo uma

orrespondente ao interior do quadrado om os lado denidos no intervalo h

a outra ao exterior deste quadrado. Numa primeirafase, onsideram-se, apenas, 8

ma-robloossituadosnafronteiradestasregiõesparaefeitos depesquisa. Assim,

designando-se por d

1

a distânia entre os entros de ada par de marobloos adjaentes, o álulo

das funções de similaridade realizar-se-á, apenas, nas seguintes posições: (0;0), (0;d

1

pe. Na gura 3.3 ilustra-se a disposição destes

marobloos para o aso partiular emque p=7, k=3 ed

Figura 3.3: Algoritmode pesquisa logarítmia propostopor Koga [12℄.

Nopassoseguinte,seleiona-seomaroblooorrespondenteaomaiorvalorde

semel-hançaparaentrodanovaregiãodeproura,denem-senovamente8posiçõesàdistânia

de d

2

= d

1

=2 e repete-se o passo anterior, usando as medidas de semelhança

orrespon-dentes aos novos 8 marobloos andidatos.

Este proedimentoé, assim,realizado até à iteraçãok,em queos entros dos 8

ma-robloosandidatosestarãodistaniadosded

k

=1. Caluladososvaloresdesimilaridade

para ada um destes marobloos de pesquisa, determina-se aquele om maior valor de

semelhança. A posição deste marobloo denirá, por m, o vetor de movimento para

o marobloode referênia onsiderado.

apenas, (8k+1) álulos da função de semelhança. Considerando o proessamento

se-quênias de imagens om uma resolução de N

h

ima-gens por segundo, o número de marobloos andidatos a proessar por segundo é de

3N

de imagensCIF, emque N

h

=352 pixelsporlinha, N

v

= 288 linhas e f

F

=30 imagens

porsegundo, onlui-se que este algoritmorequer era de 301 MOPS. Assim, veria-se

queosrequisitosomputaionaisdestealgoritmosãoapenaserade3,4%dosassoiados

aoalgoritmode pesquisa exaustiva.

Na gura 3.3 enontra-se desrito o proedimento de proura na sua forma mais

onheida,frequentementereferidanaliteraturaomoalgoritmodos3passos,ondep=7

e k = 3. Esta área de proura é, geralmente, onsiderada aeitável para apliações do

tipodevideoonferênia. Asposiçõesdeprouraorrespondentesaadaumdos3passos

forammaradas om os símbolos

no primeiro passo tomou-se omo maroblooentral o orrespondente às

oorde-nadas (0;0); alularam-se os 9 valores da função de similaridade orrespondentes

àsposiçõesmaradasomosímbolo

1

,sendoadistâniaentreoentrodeadaum

destesmarobloosde d

1

=4pixels; onsidere-sequeaposição( 4;0)orresponde

aoandidato om maior valorde similaridade;

nosegundo passo,tomando-seomarobloosituadonaposição( 4;0)omoentro

daáreade pesquisa, alularam-seos8valoresde similaridadeorrespondentes aos

marobloosandidatosmaradosomosímbolo

2

;nestenível,adistâniaentreo

entrodeadaumdosmarobloosandidatoséded

2

=d

1

=2=2pixels.

Suponha-se, agora,queoandidatoommaiormedidade similaridadeseenontraloalizado

em( 4;2).

porm, notereiroeúltimo passo,tomou-se omo entroo marobloosituado na

posição ( 4;2) e alularam-se os 8 valores da medida de similaridade para ada

um dos andidatos marados om o símbolo

3

; a distâniaentre oentrode ada

umdestesmaroblooséded

3

=d

2

=2=1pixel;onsiderandoqueaposição( 3;1)

orresponde ao maior valorde similaridade, o vetor de movimento estimado tem

as oordenadas ( 3;1).

Um algoritmode pesquisa logarítmiaom araterístiasmuitosemelhantes foi

pro-posto por Jain [13℄, usando 4 marobloos de pesquisa loalizados dos vérties de uma

áreaom aformade umlosango. Este algoritmoapresentaavantagemde neessitar, em

(0,-7)

Figura 3.4: Algoritmosde pesquisalogarítmia propostos por vários autores.

asos, o algoritmo poder requerer um número total de passos maior (ver gura 3.4(a)).

Ghanbari [14℄ props, também, um algoritmo baseado na pesquisa de 4 posições

loal-izadas nos vérties de zonas quadradas denidas na área de pesquisa orrespondente a

ada nível (ver gura 3.4(b)).

Lee [15℄ props uma alteração para adaptara dimensão daárea de pesquisa do

algo-ritmo (usando um fatorde 1=4 oude 3=4),em funçãodarapidez de onvergênia. Para

além disso, sugeriu, ainda, alternar a forma geométria da área de pesquisa entre um

quadrado e um losango. Os marobloos andidatos denem-se, também, nos vérties

mizaçãodoalgoritmotradiional,tirandopartidodaelevadaprobabilidadede ovetorde

movimentoestimadoseenontrarnavizinhançadoentrodaáreadepesquisa. Assim, no

primeiro passo, o algoritmo omeça por pesquisar 2 grupos de marobloos andidatos:

as 8 posições da periferia da área de pesquisa e as 8 posições emredor do entro (0;0).

Se a posição om maior valor de similaridade orresponder a um dos marobloos do

primeirogrupo,ofunionamentodoalgoritmoéidêntioaode umalgoritmode pesquisa

logarítmia. Se, peloontrário,o maroblooandidatoom maior valorde similaridade

se enontrar no segundo grupo, o algoritmo ontinua a pesquisa a partir dessa posição,

efetuando um úniopasso om uma distâniad

2

=1(vergura 3.4(d)). Mostra-se,

ex-perimentalmente, que este métodopermite obter aelerações signiativasna estimação

de vetores de movimento,explorando osmovimentoslentos aolongo dotempo.

Pesquisa paralela hierárquia a uma dimensão

Aoontrário doalgoritmode pesquisa logarítmia,oalgoritmode pesquisa paralela

efe-tua a proura de uma forma independente nas duas direções do sistema de eixos i e

j.

Assim,dadaumaáreadepesquisadenidanointervalo[ p;p℄onsidere-seadistânia

entremarobloosandidatosadjaentesS =2 blog

2 p

edesigne-seaorigem(ouentro) da

áreade pesquisaloalizadanaposição(0;0)por(d

i

;d

j

). Deaordoom estadesignação,

determina-se,em paralelo:

o maroblooandidato orrespondente ao maior valorde similaridade, de entre o

onjunto de marobloos loalizados ao longo do eixo i, nas posições (d

i

); atualizandoo valorde d

i

para a oordenada orrespondente

aessa posição;

o marobloo andidato orrespondente ao maior valor de similaridade de entre o

onjunto de marobloos loalizados ao longo do eixo j, nas posições (d

i

+S); apósse efetuar a atualização do valorde d

j

om a

oorde-nada orrespondente aesta posição faz-se, então, S = S

2 .

Este proessamento paralelo é, assim, repetido suessivamente até se ter S = 0. A

posição nal (d

i

;d

j

) orresponderá,então, ao vetor de movimentoestimado,

orrespon-denteao melhoremparelhamento.

Na gura 3.5 enontra-se ilustrado o funionamento deste algoritmo para o aso de

p=7. Assim, de aordo om o quese desreveu anteriormente, omeça-se por usar uma

blog

2 7

(0,-7) (-7,-7)

(-7,7) (7,7)

(7,-7)

(7,0)

(-7,0) 1

(0,7)

1 3

1

2 2

1 2 2

3

3 3

j

i

Figura 3.5: Algoritmode pesquisaparalela.

No primeiro passo, orrespondente ao eixo i, alulam-se os valores de similaridade

No primeiro passo, orrespondente ao eixo i, alulam-se os valores de similaridade