Block matching

From Wikipedia, the free encyclopedia

Algoritmo utilizado en la estimación de movimiento, consistente en la eliminación de redundancia temporal entre dos o más fotogramas sucesivos. Se ha convertido en una técnica fundamental en la mayoría de los estándares de compresión y codificación de video basados en la compensación de movimiento.

Cada una de las imágenes pertenecientes a una secuencia de video se divide en bloques rectangulares (generalmente cuadrados) denominados macrobloques. El método pretende detectar el movimiento entre imágenes con respecto a los macrobloques que las constituyen.

Los bloques del fotograma actual son cotejados con los bloques del fotograma de destino o de referencia (anterior al actual, generalmente el primero), deslizando el actual a lo largo de una región concreta de píxeles del fotograma de destino.

Un criterio de semejanza determina la elección del bloque con mayor similitud (o que minimiza un error medido) de entre los candidatos dentro de la ventana de búsqueda de tamaño fijo del fotograma de referencia. Si el bloque elegido no se encuentra en la misma posición en ambas frames, significa que se ha movido. La distancia del bloque coincidente entre el fotograma actual y el de referencia se define como el vector de desplazamiento estimado, y será el que se le asigne a todos los píxeles del macrobloque.

En el caso ideal, los píxeles correspondientes de los bloques coincidentes serían exactamente iguales. No obstante, ese caso sucede en muy raras ocasiones, ya que la forma de los objetos en movimiento varía con respecto al punto de vista del observador o la luz reflejada sobre su superficie, y siempre nos veremos afectados por el ruido. Algoritmo de Block matching

Bloques que presentan un mismo patrón de desplazamiento pueden combinarse formando objetos en movimiento, lo cual puede resultar muy atractivo en aplicaciones de rastreo.

  • El tamaño de la región donde llevar a cabo la búsqueda es importante para dar con el bloque adecuado. Desgraciadamente, el coste computacional aumenta rápidamente (de forma casi cuadrática) con el incremento de esta ventana. Lo habitual es elegir una ventana de superficie ligeramente superior al máximo tamaño posible de los objetos móviles.
  • Un campo de exploración pequeño supondrá que los vectores de desplazamiento encontrados serán también reducidos, lo cual resulta adecuado si se trabaja con secuencias de movimiento lento, además de reducir la computación necesaria.
  • El número de píxeles que separa a los diferentes bloques candidatos que se quieren analizar dentro de la ventana se corresponde con la longitud del paso de búsqueda. Si esa longitud es igual a un píxel, significa que estamos realizando una búsqueda exhaustiva o Full Search. Si de lo contrario optamos por un paso mayor, incrementamos la velocidad del proceso al reducir el número de candidatos, pero incrementamos el error de estimación del vector.

Elección de bloque

Especifica la posición, el tamaño, la ubicación del inicio de búsqueda y la escala de los bloques con los que actuará el algoritmo.

  • Elegir el tamaño correcto de los bloques no es trivial. Generalmente, los bloques mayores son menos sensibles al ruido, mientras que un bloque de dimensiones reducidas presenta unos contornos más bien definidos. El principal factor a la hora de escoger las dimensiones es el tamaño de los objetos a rastrear. Otros factores a tener en cuenta son la cantidad de ruido que presenta la secuencia y la textura tanto de los objetos como del fondo.
  • También aparece el denominado problema de apertura cuando se trabaja con objetos de color uniforme. Los bloques en el interior de dichos objetos no parecen estar moviéndose porque todos los que le rodean son del mismo color. Un tamaño de bloque superior puede ser escogido para paliar este problema.
  • La mayoría de los algoritmos de block matching utilizan el origen de la ventana de exploración como el centro inicial de búsqueda y no explotan la correlación entre los bloques pertenecientes a un mismo objeto de la imagen en movimiento. Para mejorar la precisión se podría hacer uso de dicha correlación con el fin de predecir una posición inicial que reflejase la tendencia de movimiento del bloque, permitiendo así encontrar su vector de movimiento óptimo de forma más eficiente.
  • En gran parte de los métodos de búsqueda recientes, la dirección de los vectores de movimiento de los bloques elegidos determinan la ubicación del punto de inicio de la siguiente búsqueda.

Criterio de comparación

Para exponer los distintos criterios de semejanza, representados por C(x, y), tomaremos un macrobloque cuadrado de dimensiones n x n. Se medirá la diferencia entre un bloque del fotograma actual (Fa) y uno del de referencia (Fr), con un vector de desplazamiento (x, y).

  • Sumatorio de diferencias absolutas (Sum of Absolute Differences, SAD):

  • Sumatorio de diferencias al cuadrado (Sum of Squared Differences, SSD):

  • Error absoluto medio (Mean Absolute Error, MAE):

  • Error cuadrático medio (Mean Squared Error, MSE):

Otros criterios que tienen un uso extendido son la Correlación cruzada normalizada (Normalized Cross Correlation, NCC), la Clasificación por diferencia de píxel (Pixel Difference Classification, PDC), la Proyección integral o el MPC (que se basa en ponderar cada una de las diferencias según un umbral elegido).

Método de búsqueda

Enlaces externos de interés

Véase también

Related Articles

Wikiwand AI