对于相同的分辨率和帧率,比特率有何不同?


15

阅读有关视频质量的信息后,我发现它取决于分辨率,每秒帧数和比特率,而后者决定了视频的大小。

我的问题是比特率是如何计算的以及如何变化。

假设视频的分辨率为360x240。每帧需要86400像素。帧频为30 Hz。因此,视频每秒需要86400×30 = 2592000像素。

假设1像素是3字节(24位)的数据:我们有2592000×24位/秒的视频(62208000位),即62208 kBit(听起来不对,这可能是我的计算中的问题)。

但是它如何与众不同,如何在质量上有所作为?


如果视频是位图图像序列。png / jpg图像文件的数学运算已经关闭。
丹尼尔·贝克

现有的两个答案没有强调视频压缩的显着属性:大多数(如果不是全部)所有视频编解码器都采用有损压缩。即,当原始视频被压缩和编码时,一些图片信息被丢弃。丢弃和丢失的图像信息/细节的数量或程度由质量因子确定。至于音频压缩,有无损和无损压缩技术。
锯末

@sawdust:不是吗?我认为我的第三段相当清楚。无论如何,提供过多的信息有时不是很好。我相信,如果需要的话,可以给予足够的帮助,让问问者了解更多。否则,我可以说你的帖子没有强调为什么有人会选择一台压缩机比另一个,为什么有这么多不同的方法,等等,等等
马蒂·弗里德

@sawdust您是正确的,这有点埋在JPEG部分中。我添加了更多细节。
slhck

Answers:


21

您所计算的是未经压缩的原始视频的比特率。除了在研究或其他专业应用中,通常不会找到这些。甚至广播公司也使用压缩视频,尽管比特率比典型的YouTube视频高得多。

因此,视频质量与视频压缩方式有很大关系。压缩的次数越多,每帧占用的位数就越少。同样,压缩得越多,质量越差。现在,某些视频比其他视频更容易压缩-本质上,这就是为什么即使它们具有相同的分辨率和帧率,它们的比特率也较低的原因。

为了理解这是为什么,您需要了解视频压缩使用的两个主要原理。这些被称为“空间”和“时间冗余”。

空间冗余

显示自然内容的图像中存在空间冗余。这就是JPEG表现出色的原因-压缩图像数据是因为像素块可以一起编码。例如,这些是8×8像素。这些被称为“宏块”。

现代视频编解码器的作用相同:它们基本上使用与JPEG类似的算法,以便逐帧压缩帧。因此,您不再存储每个像素的位,而是存储每个宏块的位,因为您将像素“汇总”为更大的组。通过汇总它们,该算法还将丢弃人眼不可见的信息-在这里您可以减少大多数比特率。它通过量化数据来工作。这将保留更可察觉的频率,并“抛弃”我们看不见的频率。在大多数编解码器中,量化因子表示为“ QP”,它是质量的主要控制旋钮。

您现在甚至可以继续进行操作,并从先前已在同一图像中编码的宏块中预测宏块。这称为帧内预测。例如,灰墙的一部分已经在帧的左上角进行了编码,因此我们可以在同一帧中再次使用该宏块,例如,紧挨着它的宏块。我们将只存储与上一个的差异并保存数据。这样,我们不必编码两个非常相似的宏块。

为什么相同图像尺寸的比特率会发生变化?好吧,有些图像比其他图像更容易编码。空间活动越高,您实际需要编码的越多。光滑的纹理占用的位少于详细纹理。帧内预测也是如此:一堵灰墙框架将允许您使用一个宏块来预测所有其他宏块,而一帧流动的水可能效果不佳。

时间冗余

之所以存在,是因为下一帧之后的一帧可能与其前一帧非常相似。通常,只有很小的变化,对它进行完全编码是没有意义的。视频编码器所做的只是对两个后续帧之间的差异进行编码,就像它们对宏块所做的一样。

以Wikipedia的有关运动补偿的文章为例,假设这是您的原始框架:

那么与下一帧的区别就是:

编码器现在仅存储实际差异,而不是逐像素值。这就是为什么每个帧使用的位每次都不相同的原因。这些“差异”帧取决于完全编码的帧,这就是为什么现代编解码器至少有两种类型的帧:

  • I帧(又称为关键帧)-这些是完全编码的
  • P帧 -这些只是存储差异

有时您需要在视频中插入I帧。实际比特率还取决于所使用的I帧数。此外,两个后续帧之间的运动差异越大,编码器必须存储的越多。“无”运动的视频将比体育视频更容易编码,并且每帧使用更少的比特。


+1-这就是我的意思,但是我的压缩算法略显不足。:)
马蒂·弗里德

+1这就是我所需要的。特别是运动补偿。谢谢
森特·马修2012年

6

我相信您的数学方法实际上是正确的,但还有更多内容。压缩是此处缺少的链接。

您计算了未压缩的比特率,并提出了存在压缩的原因。对于未压缩的视频,比特率不可能变得很大。因此,他们在源处压缩视频,然后在接收器处解压缩视频,然后比特率变得可管理。您只需要一个足够快的解压缩器,可以是硬件或软件。

因此,问题就变成了可以容忍多少压缩-通常不是无损的,因此您正在丢失信息,但是他们试图使其足够智能,以丢失不太重要的不太重要的数据。通常,在进行大量运动之前,它是相当容易的,然后变得更加复杂。

编辑:忘记添加,但是实现压缩方法的部分是编解码器;我注意到您在帖子中使用它作为标签。


3
加上视频压缩通常不是基于像素的事实,而是适用于像素块,即所谓的宏块
slhck
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.