estimação de movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. de seguida...

23
Estimação de Movimento Relatório de Trabalho Trabalho realizado por: Vítor Barbosa ee02236 Pedro Oliveira ee02253 Nuno Salta ee02178

Upload: lenguyet

Post on 05-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Estimação de Movimento Relatório de Trabalho

Trabalho realizado por: Vítor Barbosa ee02236 Pedro Oliveira ee02253

Nuno Salta ee02178

Page 2: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.1

Índice 1. Introdução ......................................................................................... 2

2. Algoritmos Implementados ..................................................................... 3

2.1. Pesquisa Exaustiva (“Full Search”) ......................................................... 3

2.2. Pesquisa a 3 Passos (“3SS – Three Step Search”) ......................................... 4

2.3. Pesquisa Logarítmica (“TDL – Two Dimensional Logarithm”) ........................... 5

2.4. Pesquisa em direcções Conjugadas ........................................................ 6

3. Estimação do erro................................................................................. 7

4. Correcção DCT .................................................................................... 8

5. Implementação.................................................................................... 9

5.1. Passos básicos.................................................................................. 9

5.2. Implemetação em Matlab .................................................................... 9

5.3. Interface gráfica.............................................................................. 10

6. Resultados obtidos ............................................................................... 11

6.1. Sequência 1 ................................................................................... 11

6.2. Sequência 2 ................................................................................... 16

7. Análise dos resultados........................................................................... 21

8. Bibliografia........................................................................................ 22

Page 3: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.2

1. Introdução

A estimação do movimento, consiste na eliminação de redundância entre dois ou mais frames

sucessivos tornando-se assim uma técnica fundamental para algoritmos de compressão e codificação de vídeo.

Existem três tipos de algoritmos para detecção de movimento:

• PRA (Pixel Recursive Algorithms) – algoritmos de pesquisa de movimento pixel a pixel. Este tipo de algoritmos tem como desvantagem a sua complexidade;

• Object Based ME – algoritmos de pesquisa de movimento de objectos. Este tipo de algoritmo envolve a identificação dos objectos (ou das suas fronteiras) numa frame.

• Block-by-block ME – algoritmos de pesquisa de movimento em blocos de pixels. Apresenta uma boa relação entre complexidade e resultado final e por isso será este o algoritmo a implementar.

Cada uma das frames de uma sequência de vídeo é divido em blocos, geralmente quadrados, denominados de “macro-blocos”. A estes “macro-blocos” são aplicados algoritmos que pretendem detectar o movimento entre os “macro-blocos” de imagens sucessivas.

De referir que, o “macro-bloco” que se pretende enviar é comparado com os “macro-blocos” de uma janela de procura na frame anterior. Encontrado o “macro-bloco” da janela de procura da frame anterior, mais parecido com o bloco que se pretende codificar e que por isso minimiza o erro, é então enviada a informação da posição desse bloco. Esta informação da posição denomina-se de movimento e representa-se como um vector, supondo-se que o bloco moveu-se em relação à sua posição na frame anterior.

Os algoritmos de detecção de movimento utilizados foram os seguintes, que passaremos

também a detalhar no ponto seguinte: • Pesquisa exaustiva (“Full Search”) • Pesquisa a 3 Passos (“3SS – Three Step Search”) • Pesquisa Logaritmica (Two Dimensional Logarithmic – TDL) • Pesquisa em direcções conjugadas

Page 4: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.3

2. Algoritmos Implementados 2.1 Pesquisa Exaustiva (Full Search)

Este tipo de pesquisa assume que todos os blocos da imagem, ou então, no caso de se definir

uma janela de busca, que todos os blocos da janela de pesquisa são candidatos a melhor bloco. Dado isto, todos os blocos são comparados e como mencionado nos outros algoritmos descritos, o bloco com menor erro será o bloco considerado mais parecido com o bloco de referência.

Este tipo de pesquisa é o mais complexo computacionalmente, no entanto dado a procura exaustiva, é a que fornece por si só os melhores resultados.

Figure 2 - Exemplo de uma janela de pesquisa (2m2+M)x(2n1+N) com destaque para um bloco (conjunto de pixels) de MxN

Figure 1- Bloco original na frame 1 e janela de pesquisa na frame 2

Page 5: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.4

2.2 Pesquisa a 3 Passos (Three Step Search - 3SS)

A partir do centro [cx, cy] e conhecido o valor “s” para o passo serão definidas as oito posições á volta do centro e situadas nos pontos cardiais: [cx-s,cy-s], [cx-s,cy], [cx-s,cy+s], [cx,cy-s], [cx,cy+s], [cx+s,cy-s], [cx+s,cy], [cx+s,cy+s].

Através de um dos critérios anteriormente explicados para a estimação do erro, este método

compara o bloco original da imagem actual com as nove posições (incluindo o próprio centro [cx,cy ]) da imagem anterior sendo que a posição com menor distorção (erro) torna-se o centro do próximo passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo procedimento para encontrar a posição com menor erro. Por último, reduz-se de novo o valor do passo para metade (valendo agora apenas um pixel) e repete-se o mesmo processo.

O último centro encontrado será o valor escolhido para o vector de estimação de movimento.

Pesquisa a três passos, recorrendo a saltos decrescentes de 4, 2 e 1 blocos

Page 6: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.5

2.3 Pesquisa Logarítmica (Two Dimensional Logarithmic - TDL)

Definindo d como o deslocamento máximo que o vector de movimento poderá ter, ou seja, o

tamanho máximo da janela de busca em toda a sua excursão, o valor do passo s inicial será calculado como (2d+1) div 4, em que div é a divisão inteira.

O cálculo de s inicial é estrategicamente usado dividindo a janela de procura em 4 partes distintas na qual durante a primeira iteração do algoritmo o ponto central de cada uma dessas partes é pesquisado.

Imaginemos d = 12, logo a janela de busca tem tamanho total de 12x12. O s inicial será 3. Definindo a janela como um sistema de eixos, diremos que a janela tem excursão de -6 a +6, logo, o centro da área negativa encontra-se nos -3, e o centro da área positiva nos +3. Justifica-se assim o cálculo de s inicial. Os blocos candidatos à próxima iteração serão aqueles a uma distância s do ponto central e esse mesmo ponto central, logo, um ponto do seguinte conjunto [0,0; 0,+s ; 0,-s ; -s,0 ; +s,0].

Deste modo, o ponto escolhido a partir deste conjunto será o de menor erro. De seguida, o centro do algoritmo será o ponto escolhido segundo o método supra descrito e um novo s será calculado. Para este novo s existem duas variantes deste algoritmo.

TDL-N define que o próximo s=s/2 se na iteração anterior o bloco com menor erro for o bloco central, senão, s continuará o mesmo s, e o processo repete-se a partir do novo ponto central.

TDL-X define que qualquer que seja o ponto escolhido na iteração anterior, na nova iteração s=s/2.

No trabalho implementámos o método TDL-N.

O algoritmo repetir-se-á até que s=1. Quando s=1 então o bloco candidato pertencerá ao conjunto [cx-s , cy-s ; cx-s , cy ; cx-s ,

cy+s ; cx , cy-s ; cx , cy ; cx , cy+s ; cx+s , cy-s ; cx+s , cy ; cx+s , cy+s] terminando de seguida. O bloco do conjunto anterior com menor erro será escolhido como o bloco mais parecido com o bloco de referência.

Page 7: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.6

2.4 Pesquisa Direcções Conjugadas

Este método de pesquisa é composto por 3 fases. Na 1ª fase é feita uma pesquisa numa dada direcção em ambos os sentidos nos blocos imediatamente adjacentes ao ponto central [x, y]. O sentido escolhido para o resto da 1ª fase é feito com base no bloco em que se obteve menor erro. Após escolhido o sentido, a pesquisa continua até que um erro de um dado bloco seja superior ao do anteriormente processado. É guardado o deslocamento em relação à origem.

A 2ª fase é idêntica à primeira com a única diferença da pesquisa ser agora feita na direcção

perpendicular. É igualmente guardado o deslocamento em relação à origem. A 3ª fase a pesquisa é feita na direcção da recta obtida pelos pontos de deslocamento

anteriormente encontrados, e o ponto de origem. É feita igualmente uma pesquisa inicial em ambos os sentidos, sendo depois continuada no sentido de menor erro. O último bloco encontrado será o valor escolhido para o vector de deslocamento.

( Este método de pesquisa não possui um número fixo de iterações (que pode ser uma

desvantagem). No entanto, revelou-se o método mais rápido a encontrar um bloco, apesar da qualidade ser inferior a outros métodos como a pesquisa de 3 passos. )

Pesquisa em direcções conjugadas; a pesquisa é feita em cada uma das direcções (horizontal, vertical e diagonal) alternadamente, partindo do mínimo obtido em cada passo para a pesquisa no passo seguinte

Page 8: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.7

3. Estimação do erro

Determinado o método Block Matching como o método a utilizar para fazer a estimação de

movimento é necessário definir a estratégia para medir a diferença entre um bloco da imagem actual, para o qual se pretende estimar o movimento, e um bloco existente na imagem de referência, ou seja, na imagem anterior.

Essa diferença pode ser calculada recorrendo a critérios como o erro quadrático médio (Mean Squared Error, MSE), tal como o erro absoluto médio (Mean Absolute Error, MAE) ou ainda pela correlação cruzada normalizada (Normalized Cross Correlation, NCC), definidos da seguinte forma:

Para qualquer dos critérios utilizados e algoritmos implementados, serão considerados blocos de tamanho n x n, normalmente 16 x 16, e o vector de movimento estimado será determinado através do menor erro encontrado. De notar que apesar de se ter escolhido o bloco da imagem anterior que corresponde ao menor erro, este bloco pode não corresponder necessariamente ao bloco (da imagem actual) a testar, mas que é um forte candidato. A fronteira entre um forte candidato e o bloco exacto será tão ténue quanto melhor for o algoritmo implementado.

( )

( )

( ) 21

1 1

2,

21

1 1

,2

1 1

,,

1 1

,,

2

1 1

,,

),(

1),(

1),(

=

−=

−=

∑∑∑∑

∑∑

∑∑

∑∑

= =++

= =

= =++

= =++

= =++

M

m

N

n

jnimR

M

m

N

n

nm

M

m

N

n

jnimR

nm

M

m

N

n

jnimR

nm

M

m

N

n

jnimR

nm

XX

XXjiNCC

XXMN

jiMAE

XXMN

jiMSE

Page 9: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.8

4. Correcção DCT

A transformada discreta do co-seno representa uma imagem como uma soma de sinusóides de amplitude e frequências variáveis. Os coeficientes obtidos são os pesos associados a cada uma das sinusóides base. Em geral, a parte mais significativa da informação visual da imagem é concentrada em apenas alguns coeficientes da DCT. É por esta razão que a DCT é bastante usada na compressão de imagens.

A correcção do bloco por recurso à DCT consiste no adicionar ao bloco estimado, a diferença

entre este e o bloco original, tendo sido primeiramente calculada a DCT sobre esta diferença e de ser retirado os coeficientes abaixo de um determinado valor.

A correcção DCT pode ser usada em todos os blocos ou apenas em blocos que possuam um erro

acima de um determinado valor. Pode ser ainda calculada a DCT sobre o bloco original e ser enviada aquela em vez do vector deslocamento quando o erro for bastante elevado.

Page 10: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.9

5. Implementação

5.1 Passos Básicos

O primeiro passo consiste na leitura da imagem e passagem para o formato RGB. De seguida a imagem é convertida para o formato YCrCb (PAL) guardando-se apenas a componente Y (Luminância). Após este passo a imagem é seccionada em blocos de NxN pixels (N é um valor introduzido pelo utilizador, tipicamente 16) posteriormente inseridos num vector de matrizes bidimensionais.

5.2 Implementação em Matlab

Dada a importância do Matlab no que toca a tratamento matricial e processamento de imagens, esta foi a plataforma escolhida para o desenvolvimento deste trabalho, aproveitando assim as ferramentas (funções) úteis disponíveis.

Eis algumas das funções usadas para o desenvolvimento dos algoritmos:

• Imread() - Lê um ficheiro de imagem e transforma-o numa matriz da imagem em RGB

• rgb2ycbr() - Transforma uma imagem do formato RGB para o formato YCrCb

• double() - Transforma os elementos matriz no formato double (necessária para converter a matriz da luminância de uint8 para double )

• quiver() - Gera um gráfico contendo os vectores de movimento da imagem.

• uint8() - Idêntica a double, mas converte para o formato uint8.

• imshow() - Apresenta a imagem numa escala de cinzas.

• tic() / toc() – tic inicia a contagem do temporizador e toc finaliza a contagem do temporizador

Page 11: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.10

5.3 Ambiente gráfico

A interface gráfica foi criada de forma a facilitar a interacção entre o utilizador e o programa desenvolvido e fornece muitas opções de análise e visualização do resultado dessa mesma análise.

Para proceder a uma estimação do movimento, o utilizador deverá numa primeira fase

declarar os ficheiros a analisar sendo que para isso deverá carregar nos botões correspondentes colocados na área superior esquerda.

Carregados os ficheiros poderemos escolher o algoritmo a utilizar, estando disponíveis as

opções, Pesquisa a 3 Passos, Full Search, Pesquisa Logarítmica e Pesquisa em direcções Conjugadas. Deveremos ainda escolher o tamanho de blocos (16 x 16 ou 8 x 8) e o critério do erro a utilizar

de entre três opções, Erro Quadrático Médio, Erro Absoluto Médio ou Correlação Cruzada. Consoante o algoritmo escolhido é possível que seja necessário ter em conta mais algumas

opções. Para o algoritmo Full Search pode-se escolher o tamanho da janela (1 x bloco, 2 x bloco ou Imagem completa) e para a pesquisa logarítmica pode-se escolher o “displacement” (16 ou 8) que será responsável pelo passo da primeira pesquisa.

A análise será iniciada no momento em que o utilizador carregue no botão “Estimar Movimento” e aparecerá uma barra de processamento.

Estas opções estão disponíveis no lado esquerdo da interface. Para efeitos de melhoramento da estimação do movimento, pode-se utilizar uma correcção

DCT que está disponível para o utilizador activar na parte de baixo da interface. Acabada a análise estarão disponíveis as imagens originais indicadas pelo utilizador, tal como

o plano de vectores da estimação do movimento e a imagem reconstruída através da conjugação destes vectores com a primeira imagem. Será possível fazer zoom sobre as imagens para perceber algum pormenor.

No canto inferior esquerdo da interface estão disponíveis duas opções de visualização do

resultado final. É possível comprovar o movimento vendo alternadamente a primeira imagem original e a imagem estimada e também comprovar as semelhanças entre a segunda imagem original (imagem a estimar) e a imagem estimada.

Page 12: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.11

6. Resultados obtidos Para a análise dos resultados procedeu-se à aplicação dos algoritmos a duas sequências de imagens diferentes, sendo a primeira indicada no guião e a outra por nós escolhida, sequência do filme Matrix.

Para cada um dos algoritmos obteve-se o plano de vectores de estimação do movimento, a imagem reconstruída a partir do mesmo e o tempo necessário para a execução do algoritmo, com e sem a correcção por DCT, bem como a qualidade perceptível da imagem reconstruída.

6. 1 Sequencia 1

Frame 1

Frame 2 Para as análises que se seguem, recorreu-se a blocos de 16x16 pixels e ao critério do erro quadrático médio sem a correcção DCT.

Page 13: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.12

Full Search:

Plano de vectores de movimento

Imagem reconstruída

Page 14: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.13

Pesquisa a 3 Passos:

Plano de vectores de movimento

Imagem reconstruída

Page 15: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.14

Pesquisa logarítmica:

Plano de Vectores de movimento

Imagem reconstruída

Page 16: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.15

Pesquisa em direcções conjugadas:

Plano de vectores de movimento

Imagem reconstruída

Page 17: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.16

6.2 Sequencia 2

Frame 1

Frame 2 Para as análises que se seguem, recorreu-se a blocos de 16x16 pixels e ao critério do erro quadrático médio sem a correcção DCT.

Page 18: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.17

Full Search:

Plano de vectores de movimento

Imagem reconstruída

Page 19: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.18

Pesquisa a 3 Passos:

Plano de vectores de movimento

Imagem reconstruída

Page 20: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.19

Pesquisa Logarítmica

Plano de vectores de movimento

Imagem reconstruída

Page 21: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.20

Pesquisa em direcções Conjugadas

Plano de vectores de movimento

Imagem reconstruída

Page 22: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.21

7. Análise dos resultados Tempo s/ DCT (s) Tempo c/ DCT (s) Qualidade percepcionada Pesquisa Completa (1 bl.) 39 40 1 3 Passos 1,14 1,72 2 Direcções Conjugadas 0,45 1,09 3 Pesquisa Logarítmica (d=16) 1,67 2,30 4

Tempo s/ DCT (s) Tempo c/ DCT (s) Qualidade percepcionada Pesquisa Completa (1 bl.) 87 89 1 3 Passos 2,51 5,25 2 Direcções Conjugadas 0,93 3.70 3 Pesquisa Logarítmica (d=16) 3,97 6.74 4 Qualquer que seja o algoritmo de detecção de movimento, não existe predição de novos objectos que possam aparecer na imagem, logo toda a informação transita da frame anterior pelo que não é possível reconstruir exactamente a imagem que se pretende comprimir. Nas tabelas supramencionadas existe uma coluna referente à qualidade que é percepcionada e que decidimos ordenar consoante a sua qualidade. Da análise dessas tabelas verifica-se que o Full Search (Pesquisa Completa) é a que fornece melhor qualidade, no entanto é a mais penalizadora temporalmente. Os restantes métodos têm um peso temporal bastante inferior mas têm também menor resultado qualitativo. O método de pesquisa a 3 passos é aquele que melhor compromisso apresenta, e como se pode comprovar, visualizando as imagens reconstruídas, qualitativamente é muito bom quase ao nível do Full Search. Temporalmente é apenas ultrapassado pelo algoritmo das direcções conjugadas. Os algoritmos de Pesquisa Logarítmica e de Direcções Conjugadas são qualitativamente equivalentes, no entanto, o segundo é o mais eficiente temporalmente. Concluindo e analisando o compromisso tempo/qualidade o melhor método é o de Pesquisa a 3 Passos e o pior será o de Pesquisa Logarítmica. As nossas explicações para estes resultados são as seguintes:

• os dois métodos que durante a primeira iteração analisam menos pontos apresentam resultados qualitativos piores (Direcções Conjugadas na 1ª iteração analisa 2 pontos, a Pesquisa Logarítmica analisa 5 pontos e a Pesquisa a 3 Passos analisa 9 pontos). Deduz-se assim que o facto de se comparar mais pontos na primeira iteração aumenta a probabilidade de encontrar pontos com menor erro.

• o facto de o método temporalmente mais eficiente ser o das Direcções Conjugadas, deve-se ao facto de logo na 1ª iteração este algoritmo poder encontrar o bloco com menor erro.

• quanto à pesquisa logarítmica o número de iterações é variável (depende do deslocamento máximo permitido), daí o facto de não ser nem um algoritmo muito eficiente temporalmente, nem qualitativamente bom devido ao facto de comparar poucos blocos na 1ª iteração (apenas 5).

• o compromisso qualidade/tempo que faz da Pesquisa a 3 Passos o algoritmo com melhor performance deve-se ao facto de o número de iterações ser fixo, e a sua eficiência qualitativa é justificada pelos 9 pontos comparados na 1ª iteração e iterações seguintes.

Para finalizar esta análise e abordando a implementação da DCT, a qualidade da imagem sai a ganhar. Isto deve-se ao facto de se enviar a diferença entre a imagem reconstruída e a imagem original. Esta técnica é mais eficiente que enviar a frame completa dado que apenas se envia a diferença (erro) entre a imagem real e a imagem construída. Poderá no entanto existirem casos em que o erro é tão grande que o facto de se enviar a DCT não resolve o problema. Nesses casos a melhor opção é enviar a frame completa optando-se por uma codificação Intra. Concluímos que a estimação de movimento é um bom método para a compressão de vídeo mas será necessário ter um compromisso com a qualidade para não levar demasiado tempo entre o processamento de imagens.

Page 23: Estimação de Movimentomandrade/tvd/2006/trabalhos1-2006/... · 2006-10-31 · passo. De seguida reduz-se o valor do passo para metade e através do novo centro segue-se o mesmo

Televisão Digital – Relatório de Trabalho

Estimação de Movimento Pág.22

8. Bibliografia

• http://es.wikipedia.org/wiki/Block_matching

• http://en.wikipedia.org/wiki/Motion_detection

• http://www.newmediarepublic.com/dvideo/compression/adv22.html

• http://www.newmediarepublic.com/dvideo/compression/adv25.html

• http://www.newmediarepublic.com/dvideo/compression/adv26.html

• http://www.newmediarepublic.com/dvideo/compression/adv13.html • Manual do Matlab

• Acetatos das aulas teóricas – Alves, Artur Pimenta