有人知道 libvpx/webm 使用的 yuv -> rgb 和 rgb -> yuv 的正确矩阵吗?当我使用来自维基百科的标准视频时,我的视频输出看起来与 vlc 有点不同,颜色更强。
2 回答
有一组用于标清视频的矩阵,另一组用于高清视频。所以记住这一点。RGB 到 YUV 矩阵也独立于编解码器。UV 采样位置取决于编解码器。
您还可以查看http://www.fourcc.org/fccyvrgb.php以更好地了解转换问题
编辑:解释:问题不在于方程式本身,而在于理解。让我解释:
当转换为数字时,分量电缆上的模拟数据应该在 Y 的范围 16-220 和 Cb 和 Cr 的 16-240 范围内。因此正确捕获的数据将始终在该范围内。对于此类数据 Y601 = 0.299R ́ + 0.587G ́ + 0.114B ́
然而,在许多计算机软件中,0-255 被用作范围。对于那个 0.257R ́ + 0.504G ́ + 0.098B ́ + 16 是一个更合适的方程。
对于高清数据,颜色转换方案为 709,它将方程式更改为 Y709 = 0.213R ́ + 0.715G ́ + 0.072B ́
如果您的范围是 0-255,则转换应为 Y709 = 0.183R ́ + 0.614G ́ + 0.062B ́ + 16
我建议您阅读 www.compression.ru/download/articles/color_space/ch03.pdf 一次。
Vp8 没有色彩空间信息。Vp9 使用 BT601(默认)或 RGB 颜色空间。还有其他模式,但它们大多未使用或不支持。