保存 5 秒灰度视频的最小内存(以字节为单位),帧率为 14 fps,每帧尺寸为 480x320?此视频中的每个像素需要能够存储至少 6 种不同的状态
看着黑板上类似的问题,我以为计算过程会是这样的:
480*320*8位*14帧/秒*5秒=8601600
8601600/8 = 10752000 字节
正确答案是:4032000,但我不明白这个答案是如何计算的,也不明白 6 种状态是什么意思?
答案1
好的,让我们一步一步来。您已经确定了最重要的信息,即:
- 分辨率为480x320
- 每秒 14 帧
- 5秒录音时间
- 6 种不同状态
这只是这些数字的简单乘法。唯一的问题是,你不能简单地用 6 来表示雕像的数量,而需要对它做一些事情。文本告诉你,这个 6 对应该记录的单个帧中的每个像素。因此,它(很可能)是颜色深度。图片的颜色深度通常表示为用于“编码”颜色的位数。写下每个像素的颜色名称会非常麻烦(并且会占用更多空间)。
因此,你需要将十进制数 6 转换为二进制数。各种各样的方法,但最终结果应该始终是二进制表示 110。通过该信息,您知道以二进制表示十进制数 6 的最小位数是 3。
如果这是 IRL 示例,则必须考虑数据结构和定义。例如,对于位图看起来您至少需要 4 位。由于您的练习没有指定任何其他信息,因此提出该问题的人可能希望您使用 3 位作为颜色深度。
现在我们已经掌握了所有细节,只需:
color depth * resolution * frames per second * seconds
3 bit * (480 pixels * 320 pixels) * 14 * 5 = 32 256 000 bit
32 256 000 bit / 8 bit = 4 032 000 bytes
该练习的目的是检查您是否理解了技术术语并能够将十进制数转换为二进制数。
为了好玩,您可以假设需要 105 种不同的灰色。在这种情况下,您最终会得到 9187 千字节。