= + +
= + +
= + + + + 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