我在测试中被问及以 25fps 显示的 10 秒视频的大小,假设每个色度样本占用 4 位,亮度分量占用 8 位,并且在 32x32 像素的图像对象中使用 4:2:0 色度采样?
这是我的解决方案:10 x 25 x (8 x 2) x (8 x 4) x 32 x 32
我的解决方案正确吗?如果不是,如何纠正?
我在测试中被问及以 25fps 显示的 10 秒视频的大小,假设每个色度样本占用 4 位,亮度分量占用 8 位,并且在 32x32 像素的图像对象中使用 4:2:0 色度采样?
这是我的解决方案:10 x 25 x (8 x 2) x (8 x 4) x 32 x 32
我的解决方案正确吗?如果不是,如何纠正?
对不起,但你的答案是错误的!
YUV420 格式意味着每个 2x2 像素有 2 个色度分量(一U
和一V
)和 4 个亮度分量。
2x2 像素(4 像素)的组件列表:
4 个Y
元素
1 个U
元素
1 个V
元素
一张图可以帮助你计算:
Y Y
U,V
Y Y
Y(lumma)数据大小(以位为单位)的大小为:
10 x 25 x 32 x 32 x 8
= 2048000
bits
U 色度数据大小的比特大小为:
(10 x 25 x 32 x 32 x 4)/4
=256000
比特(我们需要除以 4,因为每 4 个像素只有一个U
元素)。
V 色度数据大小(以位为单位)的大小与 U 相同:256000
位
总大小(以位为单位):
10 x 25 x 32 x 32 x 8
+ 2 x (10 x 25 x 32 x 32 x 4)/4
=2560000
位。
大多数时间大小以字节(而不是位)为单位。
以字节为单位的大小为2560000 / 8
=320000
字节。
另一种看待问题的方法是计算每个像素的平均位数:
每个像素都有一个 Y 元素(8 位)。
每 4 个像素有 1 个 U(4 位)和 1 个 V(4 位)
,每 4 个像素有 8 个位,平均每个像素有 2 位色度。
平均:每像素 10 位。
总大小(以位为单位): 10 x 25 x 32 x 32 x 10
=2560000
位 =320000
字节。