3.2 Busca da Maior Semelhança
3.3.2 Algoritmo de Redução Adaptativa da Área de Busca
Oh e Lee [28] propuseram um algoritmo de estimação de movimento com tamanho va- riável da área de busca para reduzir o custo computacional do FS explorando as correlações espaço-temporais nas sequências de vídeo. Particularmente, o método proposto abrange aplicações com vídeos de baixa resolução, como vídeo-conferências e vídeos de celulares. Os frames dos vídeos dessas aplicações contêm um ou mais indivíduo(s) e cenários fixos. A quantidade de pixels a serem pesquisados pode ser reduzida selecionando uma pequena área de busca para um bloco dentro de uma região de cenário fixo e uma área maior para um bloco em região com movimento. Essa variação possibilita uma redução significativa no tempo de processamento do algoritmo FS. A partir da análise de sequências de vídeo de baixa resolução, um frame pode possuir quatro tipos de blocos: cenário, movimento ativo, mudança de cenário para região ativa e vice-versa.
As sequências de vídeo de baixa resolução possuem correlações significantes entre fra-
mesconsecutivos por geralmente possuírem um único indivíduo com regiões de pouco mo- vimento, causado pelo próprio indivíduo. Portanto, um bloco em uma região específica no frame anterior da sequência tende a permanecer na mesma região no frame atual. Os experimentos de Oh e Lee mostraram que a correlação temporal entre frames consecutivos é bastante alta, ou seja, se um bloco de um frame anterior pertence à região de cenário ou região ”ativa” (com movimento), então o bloco localizado na mesma posição do frame atual pode ser classificado como um bloco de cenário ou bloco de região ativa.
Essa correlação permite a implementação do método de redução adaptativa da área de busca (adaptive reduction of the search area - ARSA) [28]. Para o bloco de cenário e bloco de mudança de região ativa para cenário, é definida uma área de busca menor, e para o bloco de região ativa e bloco de mudança de cenário para região ativa, é definida uma área de busca maior. Para classificar o bloco, é utilizada a informação de classificação de bloco (block
classification information- BCI) no frame anterior e a diferença de bloco deslocado (displaced
block difference- DBD) no frame atual.
A estimação de movimento proposta é realizada através das etapas a seguir:
1. Estimar os valores iniciais dos limiares (thresholds) para determinar o BCI de um de- terminado bloco;
executar o algoritmo de casamento de blocos dentro dessa área;
3. Atualizar os thresholds para uma adaptação às características da sequência de vídeo.
Estimar os thresholds iniciais
Três parâmetros são utilizados para a classificação de bloco: BCI(i), DBDbg, and DBDar. BCI(i)é a informação de classificação do i-ésimo bloco em um frame, DBDbgé a diferença
média de bloco deslocado dos blocos que são classificados como blocos de cenário no frame anterior, e DBDaré a diferença média de bloco deslocado dos blocos que são classificados
como blocos ativos no frame anterior. Os valores iniciais desses parâmetros são estimados a partir dos resultados do primeiro frame usando o algoritmo FS.
No primeiro frame, o BCI(i) é determinado apenas pelo MV. Os blocos que possuem valor zero no MV são classificados como blocos de cenário e os outros blocos são classifi- cados como ativos. O DBDbg é definido como a média dos DBDs dos blocos de cenário e o DBDaré a média dos DBDs dos blocos ativos. O DBDbg geralmente é pequeno quando
comparado com o DBDar. Esses parâmetros são atualizados constantemente para refletir
de forma adaptativa as características das sequências de vídeo à medida que o processo de codificação progride.
Determinar o tamanho da área de busca e executar o algoritmo de casamento de blocos
A classificação de blocos no frame atual é realizada através do uso do BCI(i)do frame anterior, DBDbge DBDar. O tamanho da área de busca é determinado dependendo do BCI
do bloco. A classificação de um determinado bloco no frame atual ocorre como mostrado na Figura 3.8. Na figura, o BCI(i)é a informação de classificação do i-ésimo bloco no frame anterior, o DBDbge o DBDarsão a média dos DBDs dos blocos de cenário e blocos ativos
também no frame anterior, respectivamente. A diferença de bloco de deslocamento zero (zero displaced block difference - ZDBD) é a diferença entre um determinado bloco no frame atual e um bloco candidato no frame anterior na mesma coordenada (deslocamento zero). Para determinar o BCI do i-ésimo bloco no frame atual, o algoritmo observa o BCI naquela mesma posição no frame anterior. Se o BCI(i)é uma "bloco de cenário", então o ZDBD no
frameatual é comparado com o DBDbgpara decidir se o bloco é classificado como bloco de
cenário ou bloco de mudança de cenário para região ativa. Se o BCI(i)é um "bloco ativo", então o bloco pode ser classificado como bloco ativo ou como bloco de mudança de região
ativa para cenário dependendo do ZDBD e DBDar.
Figura 3.8: Procedimento para classificação de informação de bloco. Fonte: [28] (modificada pelo autor).
Para cada tipo de bloco, a área de busca é definida como(2DMAX+L) × (2DMAX+H)
para o bloco ativo e o bloco de mudança de cenário para região ativa, [(2DMAX+ L) ×
(2DMAX+H)]/4 para o bloco de cenário, e[(2DMAX+L) × (2DMAX+H)]/2 para o bloco
de mudança de região ativa para cenário. Ou seja, a maior área de busca é alocada para a região ativa, que contém blocos com muito movimento, e a menor área de busca é dada para os blocos de cenário.
Após determinar o tamanho da área de busca para cada bloco, o algoritmo de casamento de blocos é executado utilizando a redução logarítmica da área de busca. Primeiramente, o algoritmo FS é executado dentro da área de busca determinada. Se o bloco correspondente no frame anterior for encontrado dentro dessa área, a estimação de movimento é interrom- pida. Caso contrário (MV aponta para os limites da área de busca), o algoritmo FS é exe- cutado, com uma nova origem de busca apontada pelo MV no primeiro estágio, dentro de uma área de busca que tem metade do tamanho da primeira área. O procedimento continua até o MV não apontar mais para os limites da área de busca. Esse processo reduz a degra- dação da qualidade da estimação de movimento causada pela classificação errada dos tipos de bloco.
Atualizar os thresholds
Finalmente, após um frame passar pelo algoritmo de casamento de blocos, o BCI de cada bloco é atualizado usando o BCI do bloco na mesma posição no frame atual, que é usado
para o próximo frame. Ao mesmo tempo, o DBDbg e o DBDar são estimados novamente
usando os DBDs dos blocos de cenário e dos blocos ativos do frame atual.