TL; DR
Al muestrear: utilice el filtro Lanczos o Spline.
Al tomar muestras: utilice el filtro Bicubic o Lanczos.
Estos se basan en material que he leído a lo largo de los años y de lo que he visto utilizado en la industria. Las recomendaciones pueden variar según el tipo de contenido y el área de aplicación.
¿Por qué eso importa?
Se podría argumentar que los filtros de cambio de tamaño no importan mucho cuando se reduce el tamaño de un video. Más importante aún, tienen un impacto en la calidad al escalar, porque necesita generar datos donde no hay en primer lugar.
Todos estos filtros tienen un impacto marginal en el tamaño del archivo. Por lo tanto, no debe preocuparse por las grandes diferencias allí.
El hecho es, como siempre al codificar video, que el resultado depende en gran medida del material fuente. No siempre puede predecir el resultado, pero solo vea qué funciona mejor para usted.
Diferentes algoritmos
Como ejemplo, aquí está la interpolación bicúbica vs. bilineal :
¿Ves que la interpolación bicúbica da como resultado bordes más suaves? Esa es una declaración muy general ... pero puede encontrar una descripción general de los algoritmos de escala de imagen aquí .
La interpolación bilineal usa un entorno 2x2 de un píxel y luego toma el promedio de estos píxeles para interpolar el nuevo valor. No es el mejor algoritmo, sino bastante rápido.
La interpolación bicúbica utiliza un entorno 4x4 de un píxel, pesando los píxeles más internos más altos, y luego toma el promedio para interpolar el nuevo valor. Es, en lo que a mí respecta, el más popular.
El promedio de área utiliza una asignación de píxeles de origen y destino, promediando los píxeles de origen con respecto a la fracción de píxeles de destino que están cubiertos. Según esta página , debería producir mejores resultados al reducir la resolución.
La interpolación spline y sinc utiliza polinomios de orden superior y, por lo tanto, son más difíciles de calcular que la interpolación bicúbica. No creo que valga la pena usar el aumento general del tiempo de procesamiento.
El muestreo de Lanczos también incluye un filtro de sinc. Es más costoso desde el punto de vista computacional, pero generalmente se describe como de muy alta calidad y se puede usar para muestreo ascendente y descendente.
Los filtros hqx y 2xSaI se utilizan para el escalado de pixel art (por ejemplo, emuladores de juegos). No creo que haya una buena razón para usarlos en video.
Comparación de Jeff Atwood
Resulta que Jeff Atwood hizo una comparación de algoritmos de interpolación de imágenes . Su regla de oro era usar la interpolación bicúbica para la disminución de la resolución y la interpolación bilineal durante el muestreo ascendente. Dicho esto, esto no es lo que generalmente se recomienda para la codificación de video, y algunos comentaristas han planteado dudas sobre la experiencia de Atwood en el campo.
Sin embargo, también mencionó que ...
La reducción de imágenes es una operación completamente segura y racional. Simplemente está reduciendo la precisión y la resolución al descartar información. Haga la imagen lo más pequeña que desee y tendrá una fidelidad completa, dentro de los límites de la cantidad de píxeles que ha permitido. Obtendrá buenos resultados sin importar el algoritmo que elija. (Bueno, a menos que elija los algoritmos Nave Pixize Resize o Nearest Neighbour.)
Otros ejemplos
Aquí hay algunos ejemplos más de algoritmos de interpolación de imágenes , incluidos los que mencioné anteriormente.
También encontré documentos (reglas de escena) de la escena de codificación de video que prohíben explícitamente el filtrado bicúbico para la disminución de resolución. En cambio, respaldan el remuestreo de Lanczos, Spline o "Blackman".
Encontré una buena imagen que documenta algo de esto.
Versión de tamaño completo aquí .
En general, desea un efecto de nitidez leve cuando convierte una imagen más grande en una más pequeña, y un efecto de desenfoque leve cuando convierte una imagen más pequeña en una más grande. El filtro MadVR establece de forma predeterminada Lanczos para la ampliación de escala y bicúbico para la reducción de escala.
fuente
Está convirtiendo píxeles originales de 3x3 en píxeles de destino de 2x2.
Si desea mantener líneas nítidas, elija Lanczos o algo que use más píxeles circundantes para no desenfocar líneas nítidas (como pieles o reflejos)
De lo contrario, el promedio de área, etc. (también bilineal / trilineal) sería suficiente.
fuente