我正在为 HEVC 使用 x265 编码器。
我有 3 种不同的配置。有
- 4 个 B 帧 (B4)
- 2 个 B 帧 (B2)
- 0 B 帧(B0 - 所有 P 帧)
它们的编码时间不同。
与仅包含 P 帧的 B0 相比,B4 和 B2 需要的编码时间要少得多。你知道为什么吗?
使用参数 P 和 B 帧都具有相等的 QP --pbratio 1.0
。
您可能会争辩说,编码 B 帧更简单,因为插值比外插更简单(如 P 帧的情况)。插值往往比外插产生更小的错误,这减少了需要编码的比特数量。
至于使用 HM 15.0 参考软件的结果,这是参考软件,因此性能不是主要优先事项。引用HM软件手册:
它并不意味着是任何东西的特别有效的实现,人们可能会注意到它明显不适合特定用途。
随着 HEVC 的发展,B 帧在一般用途中变得更加流行,并在所有用例中基本取代了 P 帧。
我的期望只是x265开发者只是花更多的时间和精力来优化B图片的快速编码算法,因为这些是在默认配置中使用的。
虽然 HM 使用了一些快捷方式,但编码时间基本上随着参考图片的数量线性增加。