Simulador de estimación de movimiento
Simula la estimación de movimiento entre fotogramas, el emparejamiento de bloques, los patrones de búsqueda y los residuos de compresión.
SAD e ineficiencias de la búsqueda 🖖
La estimación de movimiento es el cuello de botella de la compresión de vídeo. Un macrobloque de tamaño 16x16 se compara con el fotograma de referencia dentro de una ventana de búsqueda para encontrar el candidato con la menor suma de diferencias absolutas (SAD). La búsqueda completa exhaustiva evalúa las (2r+1)² posiciones, lo cual es lento. Los algoritmos rápidos como la búsqueda en diamante y hexagonal evalúan solo una fracción de los puntos desplazando el centro de búsqueda de forma iterativa, y se detienen cuando el mínimo queda en el centro del patrón. Pasa el ratón sobre cualquier bloque para ver su ventana de búsqueda y las evaluaciones de candidatos en tiempo real.
Por qué enviar movimiento, no píxeles 🖖
Los fotogramas de vídeo consecutivos son casi idénticos, así que en lugar de guardar cada fotograma completo, un códec describe el actual como fragmentos del anterior que se han desplazado. Cada bloque de 16×16 recibe un vector de movimiento que apunta a su mejor coincidencia, más un pequeño residuo con lo que el desplazamiento no logró explicar. La clave: los paneos suaves de cámara se comprimen de maravilla, porque un solo vector sustituye a miles de píxeles.
Los vectores de movimiento no son movimiento real 🖖
El codificador nunca pregunta qué se movió de verdad: solo busca el bloque con la menor SAD. Por eso, en regiones planas o ruidosas, el vector ganador puede apuntar a un lugar absurdo, nada parecido al desplazamiento real. Sube el control de ruido y verás cómo el campo de vectores se dispersa en un caos. Por eso los vectores de movimiento sirven mal como flujo óptico, pero perfectamente para comprimir: obedecen a la tasa de bits, no a la física.
Problemas de ejemplo
- Barrido lento - Paneo horizontal lento: residuo casi nulo, los vectores de movimiento apuntan uniformemente a la derecha
- Barrido rápido - Paneo rápido: mayor SAD en el límite de búsqueda, residuos de alta energía en los bordes
- Zoom divergente - Movimiento de acercamiento: vectores divergentes desde el centro, ningún vector de traslación único encaja
- Cámara de mano con ruido - Cámara ruidosa: SAD alto pese a vectores correctos; la energía del ruido domina el residuo