在测试中询问我,假设每个色度采样占用4位,亮度分量占用8位并且在图像对象中使用4:2:0色度采样,那么在25fps下显示10秒的视频的大小是多少? 32x32像素?
这是我的解决方案:10 x 25 x(8 x 2)x(8 x 4)x 32 x 32
我的解决方案正确吗?如果没有,该如何纠正?
答案 0 :(得分:1)
对不起,但您的回答是错误的!
YUV420格式表示每个2x2像素具有2个色度分量(一个U
和一个V
)和4个亮度分量。
2x2像素(4像素)的组件列表:
4 Y
个元素
1 U
元素
1 V
元素
图形可以帮助您计算:
Y Y
U,V
Y Y
Y(亮度)数据大小(以位为单位)为:
10 x 25 x 32 x 32 x 8
= 2048000
位
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
字节。