No soy competente de ninguna manera con la compresión de video, pero actualmente trabajo en un proyecto donde comprime imágenes residuales usando H.264encóder con compensación de movimiento de bloque: cómo lidiar con el ruido de bloque en el marco de referencia?
Mi pregunta es más de naturaleza general con respecto a los codificadores de video. Según tengo entendido (como Wikipedia lo explica), un codificador de movimiento compensado divide el fotograma actual en algunos bloques que no se solapan, para cada bloque comprueba en el fotograma de referencia de donde proviene el bloque actual, luego calcula la diferencia de el bloque deseado y el bloque compensado por movimiento, entonces codifica este residual de alguna manera.
Wikipedia dice: "La principal desventaja de la compensación del movimiento del bloque es que introduce discontinuidades en los bordes del bloque (artefactos de bloqueo) Estos artefactos aparecen en forma de bordes agudos horizontales y verticales que son fácilmente detectados por el ojo humano y producir efectos de llamada (grandes coeficientes en subbandas de alta frecuencia) en la transformada relacionada con Fourier utilizada para la codificación de transformación de las tramas residuales. "
Por lo tanto, dado que el marco de referencia ya contiene artefactos de bloque (porque estaba codificado), estos artefactos de bloque se cambian al bloque actual y se calcula el residual, entonces las altas frecuencias creadas por los artefactos de bloque en los bordes del bloque desplazado también aparecerá como discontinuidades en el residuo. Y las discontinuidades generalmente son malas para la compresión.
¿El encóder de bloque compensado por movimiento se ocupa de alguna manera de estos artefactos de bloque antes de comprimir el residuo? ya que sabe exactamente cómo se desplazó el bloque, sabe dónde se encuentran los bordes del bloque y podría hacer algo al respecto antes o mientras codifica el residuo, eliminando/ignorando las altas frecuencias innecesarias en este lugar. Si algo como esto se realiza en un códec como H.264, ¿alguien puede explicar el concepto principal de cómo el codificador hace esto, darle un poco de terminología y demás? ¿Cómo trata el codificador los artefactos de bloque en el marco de referencia?
pregunta impresionante .. bien puesto! – Alex