Por que isso importa?
Pode-se argumentar que os filtros de redimensionamento não importam muito quando você faz downscale em um vídeo. Mais importante, eles têm um impacto na qualidade do upscaling, porque você precisa gerar dados onde não existe, em primeiro lugar.
Todos esses filtros têm apenas um impacto marginal no tamanho do arquivo. Você, portanto, não deve se preocupar com grandes diferenças lá.
O fato é que, como sempre, quando codifica vídeo, o resultado depende muito do material de origem. Você nem sempre pode prever o resultado, mas veja o que funciona melhor para você.
Algoritmos diferentes
Como exemplo, aqui está bicubic vs. interpolação bilinear :
Veja que a interpolação bicúbica resulta em arestas mais suaves? Essa é uma afirmação muito genérica… mas você pode encontrar uma visão geral dos algoritmos de escalonamento de imagens aqui .
-
A interpolação bilinear usa um ambiente 2x2 de um pixel e, em seguida, leva o média desses pixels para interpolar o novo valor. Não é o melhor algoritmo, mas rápido.
-
A interpolação bicúbica usa um ambiente 4x4 de um pixel, pesando o mais interno pixels mais altos e, em seguida, pega a média para interpolar o novo valor. É - até onde eu sei - o mais popular.
-
A média de área usa um mapeamento de pixels de origem e de destino, calculando a média dos pixels de origem em relação à fração de pixels de destino cobertos. De acordo com esta página , deve produzir melhores resultados ao reduzir a amostragem.
-
Spline e sinc usa polinômios de ordem superior e, portanto, é mais difícil de calcular que a interpolação bicúbica. Eu não acho que o aumento global no tempo de processamento vale a pena usá-los.
-
A resampling do Lanczos também envolve um filtro sinc.
-
hqx e filtros 2xSaI são usados para dimensionamento de pixel-art (por exemplo, emuladores de jogos). Eu não acho que haja uma boa razão para usá-los em vídeo.
Comparação de Jeff Atwood
Acontece que Jeff Atwood fez uma comparação dos algoritmos de interpolação de imagens . Sua regra prática era usar a interpolação bicúbica para redução da amostragem e interpolação bilinear ao fazer upsampling. No entanto, ele também mencionou que…
Reducing images is a completely safe and rational operation. You're simply reducing precision and resolution by discarding information. Make the image as small as you want, and you have complete fidelity-- within the bounds of the number of pixels you've allowed. You'll get good results no matter which algorithm you pick. (Well, unless you pick the nave Pixel Resize or Nearest Neighbor algorithms.)
Aqui estão mais alguns exemplos de algoritmos de interpolação de imagens , incluindo os que mencionei acima.
Então, qual escolher?
Eu finalmente encontrei um documento da cena de codificação de vídeo que explicitamente proíbe filtragem bicubica. Em vez disso, endossa a reamostragem de Lanczos, Spline ou "Blackman". Esses caras provavelmente sabem do que estão falando, então talvez você queira apenas se ater à filtragem do Lanczos.