运动重和动态光场景会影响总编码时间吗?


2

我是一个狂热的游戏玩家。偶尔我喜欢用Fraps录制我的游戏玩法并将其上传到YouTube上。对于我的编码,我在VirtualDub中使用Komisar的x264编解码器,具有以下设置:链接到图像

现在,我正在尝试撰写一篇小博客文章,因为我最近退休了旧的Q6600并升级到了2700k。

这是草案中的一小部分:

编码速度以每秒(平均)帧数来度量。越多越好。同样重要的是要知道我喜欢称之为“运动重”和“运动光”的场景。

运动沉重的场景比运动灯场景需要更长的时间,至少这是我在那些2年以上的经验。我当然可能完全错了,不幸的是我没有用于显示的硬统计数据,即编码时的基准测试。不幸的是,只是我的观察。

现在,关于链接编解码器,使用的编码软件和链接设置,我在关于运动重和动态光场景的声明中是否正确?

我的个人经历是肯定的。编码在屏幕上发生很多事情的场景需要花费更长的时间,而不是运动灯。使用与上面链接相同的编解码器,相同的编码软件和相同的设置。


这很容易测试:从单个纯色框架(即一个帧的1分钟)制作未压缩的AVI等,然后从使用随机噪声或云滤波器生成的一组帧中制作一个(即重复这些帧的1分钟)随机地)。然后在每个上运行编码器。
horatio 2011年

@Gareth:供将来参考:我没有授权您将设置图像上传到imgur。是的,我是原作者。所以,在你这样做之前请有礼貌地问一下,对吗?
Grumpy ol'Bear

Answers:


3

视频压缩基本上是对帧与下一帧之间的差异进行编码。因此,两个帧之间的差异越大,您需要写入的数据就越多。这实际上比那复杂得多,但这是基础。你会注意到在DVD或任何其他固定带宽压缩(MPEG1,MPEG2,h.264等)上,静止图像几乎是完美的,而移动图像则很模糊。这是因为很多运动涉及更多的数据写入,因此必须进行权衡。


这些不是固定带宽压缩,只是“速率控制”的问题。
KovBal

3

我不确定要处理的数据量是多少。由于每个帧具有完全相同的像素数量,如果您已经运行了复杂的运动估计算法,则只能生成“更多数据”,即便如此,生成的P / B帧也只会更小(否则)运动补偿将毫无用处。现代系统上的内存带宽非常高,我认为数据量根本不会影响编码速度。

编码器必须首先为每个帧运行一些算法,以确定应该使用哪种帧类型。该算法可能很复杂,但每个帧的复杂度应大致相同(因此这里不是一个因素)。然而,当确定需要P / B时,必须使用不同的参数运行非常复杂的运动估计算法,以确定哪个是压缩帧中运动的最佳方式。当参考帧的选择起作用时,如在B帧中,先前的复杂性将成倍增加。

这些是额外的复杂性,因此计算时间仅在编码器决定运动补偿时才能比简单的像素差异更好地压缩帧,因此运动量大的场景需要更长的时间来计算。这也解释了为什么压缩时间从更快的处理器而不是更快的存储中获益。


2

显然,在使用大量运动进行编码时需要处理更多数据。

因此从技术上讲,它会影响总编码时间,并且运动比运动光更长。

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.