现有一段 24 分钟的视频文件,它的帧率是 30Hz,分辨率是 1920×1080,每帧图像都是 32 位真彩色图像,使用的视频编码算法达到了 25% 的压缩率。则这个视频文件占用的存储空间大小约是 ( )

2021年9月4日 | 分类: 【编程】

【题目】

现有一段 24 分钟的视频文件,它的帧率是 30Hz,分辨率是 1920×1080,每帧图像都是 32 位真彩色图像,使用的视频编码算法达到了 25% 的压缩率。则这个视频文件占用的存储空间大小约是 ( )。

A. 668GiB
B. 334GiB
C. 85GiB
D. 500GiB

【考点】

帧率

帧率30Hz:30hz是每秒显示30张图片。

真彩色:

24位真彩色,每个像素所能显示的彩色数为24位,即2的24次方,约1680万种颜色。
32位真彩色,即在24位真彩色图像的基础上再增加一个表示图像透明度信息的Alpha通道。

压缩率

压缩率(Compression rate),是压缩后的大小与压缩前的大小之比。

例如:把100m的文件压缩后是90m,压缩率为90/100*100%=90%,

GiB

1GiB=(1024*1024*1024)B

参考:https://code.weblog.org/adbd985b4168d410

参考:https://code.weblog.org/a526a27602b8f6d9

【解析】

分辨率是 1920×1080:
得:总像素个数 \(1920\times1080\)

每帧图像都是 32 位真彩色图像:
得:每像素 Byte 数 \(32\div8\)

得:每张图片的体积 \((1920\times1080)\times(32\div8)\)

帧率30Hz:30hz是每秒显示30张图片
得:每秒视频的体积 \((1920\times1080)\times(32\div8)\times30\)

片长24分钟:
得:总共秒数 \(24\times60\)
得:此视频的体积 \((1920\times1080)\times(32\div8)\times30\times(24\times60)\)

视频编码算法达到了 25% 的压缩率:
得:压缩后体积是原始体积的25% \((1920\times1080)\times(32\div8)\times30\times(24\times60)\times25\%\)

从 Byte 转换为 GB :\((1920\times1080)\times(32\div8)\times30\times(24\times60)\times25\%\div(1024\times1024\times1024)\)

\((1920\times1080)\times(32\div8)\times30\times(24\times60)\times25\%\div(1024\times1024\times1024)\)
\(=\dfrac{1920\times1080\times4\times30\times24\times60\times0.25}{1024\times1024\times1024}\)
\(\approx\dfrac{2000\times1000\times30\times24\times60}{1000\times1000\times1000}\)
\(=\dfrac{2000\times1000\times30\times24\times60}{1000\times1000\times1000}\)
\(=86.4\)

视频文件占用的存储空间大小:约 86.4 GiB

答案:C

参考:https://blog.csdn.net/cool99781/article/details/111874342