答案1
总结
向下采样时:使用 Lanczos 或 Spline 滤波。
采样时:使用双三次 (Bicubic) 或 Lanczos 过滤。
这些建议基于我多年来阅读过的材料以及我所见的行业应用。建议可能因内容类型和应用领域而异。
为什么这有关系?
有人可能会说,当你缩小视频尺寸时,调整大小的过滤器并不那么重要。更重要的是,它们会影响放大时的质量,因为你需要在原本没有数据的地方生成数据。
这些过滤器对文件大小的影响都很小。因此你不必担心会有太大的差异。
事实上,在编码视频时,结果在很大程度上取决于源材料。你无法总是预测结果,但只要看看哪种方法最适合你就可以了。
不同的算法
看到双三次插值会使边缘更平滑了吗?这是一个非常笼统的说法……但你可以找到图像缩放算法的概述这里。
双线性插值使用 2x2 像素环境,然后取这些像素的平均值来插入新值。这不是最好的算法,但速度相当快。
双三次插值使用 4x4 像素环境,将最内层的像素权重提高,然后取平均值来插入新值。就我而言,这是最受欢迎的方法。
面积平均使用源像素和目标像素的映射,根据覆盖的目标像素比例对源像素进行平均。根据这一页,下采样时应该会产生更好的结果。
样条线 (Spline)和辛格插值使用高阶多项式,因此比双三次插值更难计算。我认为总体处理时间的增加不值得使用它们。
兰佐斯重采样也涉及 sinc 滤波器。它的计算成本更高,但通常被描述为非常高质量,可用于上采样和下采样。
霍奇克斯也碘化银滤镜用于像素艺术缩放(例如游戏模拟器)。我认为在视频中使用它们没什么道理。
Jeff Atwood 的比较
事实证明 Jeff Atwood 做了图像插值算法的比较他的经验法则是使用双三次插值进行下采样,使用双线性插值进行上采样。话虽如此,这并不是视频编码的典型推荐方法——一些评论者对 Atwood 在该领域的专业知识提出了质疑。
不过他也提到……
缩小图像是一种完全安全且合理的操作。您只是通过丢弃信息来降低精度和分辨率。将图像缩小到您想要的大小,您就会获得完全的保真度——在您允许的像素数范围内。无论您选择哪种算法,您都会获得良好的结果。(好吧,除非您选择朴素的像素调整大小或最近邻算法。)
其他示例
以下是更多图像插值算法的例子,包括我上面提到的那些。
我还发现了视频编码场景中的文档(场景规则),明确禁止双三次滤波用于下采样。相反,他们支持 Lanczos、Spline 或“Blackman”重采样。
答案2
我找到了一张很好的图片,记录了其中的一些内容。
全尺寸版本这里。
通常,将较大的图像制作成较小的图像时,需要适度的锐化效果;将较小的图像制作成较大的图像时,需要适度的模糊效果。MadVR 滤镜集默认为 Lanczos 进行放大,双三次进行缩小。
答案3
您正在将 3x3 的原始像素转换为 2x2 的目标像素。
如果要保持清晰的线条,请选择 Lanczos 或使用更多周围像素的方法来避免模糊清晰的线条(例如毛发或反射)
否则面积平均值等(也可以是双线性/三线性)就足够了。