通过灰度缩放视频尺寸

通过灰度缩放视频尺寸

当我们将视频转换为灰度时,像素中的所有 3 种颜色 (RGB) 都被分配相同的数字(而不是 3 个不同的数字)。因此,理论上我们必须将尺寸缩小近 66%。我知道有一些元数据和声音数据,但最大的数据是像素。

我使用 Handbrake 转换了一个输出大小为 4.17 MB 的视频,然后我使用相同的设置(除了选中“灰度”框)进行转换,然后输出文件大小变为 3.88 MB。为什么大小只减少了 7%?对于另一个视频:3.08 MB 和 2.97 MB(几乎 6%)。

我还使用“Corel Video Studio”的“单色”滤镜进行了灰度化,得到了类似的结果(8.70 MB & 8.32 MB --> 5%)。是否有任何算法或其他方法可以获得更好的结果?

答案1

问题在于,您保存的底层格式无法理解除 24 位每像素颜色之外的任何内容。如果底层容器或格式专门针对 8 位灰度(或一般 8 位格式),那么您将看到您期望的尺寸减小。

举例来说,您可以将图像保存为 .BMP 或 PNG,通常您可以选择设置输出的位深度(至少如果您使用 Paint.NET 则可以这样做),然后转换为灰度将会看到好处。

如果我没记错的话,JPEG 并不严格支持较低的位深度,我会感到惊讶,因为大多数现代视频编码器 99% 的用途是用于彩色源。

相关内容