IEEE VCIP | B站窄带高清转码系统中的编码方法

admin 2023年1月7日15:55:32安全开发评论2 views1327字阅读4分25秒阅读模式

B站窄带高清转码系统中的关键算法 —— 基于 2pass 深度学习码率因子预测的恒定画质的分段编码方法,成功被 IEEE 国际会议 VCIP 2022 接收。


IEEE VCIP | B站窄带高清转码系统中的编码方法

该方法可以以 98.8% 的准确率控制编码视频的质量,为B站节省了超过 15% 的码率成本


B站每天都会接收数十万的视频投稿,其中有些作品会成为热门视频,这些热门视频吸引了大部分用户的关注,同时也会消耗大部分的带宽资源。B站会对热门视频进行优化转码,此时会使用窄带高清转码系统,以更高复杂度的编码方法,在保持画质不变的前提下,进一步去除数据冗余,避免带宽资源的浪费。为了提高视频转码的性能,B站采用了画质恒定的分段编码策略。


IEEE VCIP | B站窄带高清转码系统中的编码方法

相比于平均码率编码模式,画质恒定的编码方法可以保证质量稳定,同时避免码率浪费


相比于常见的平均码率编码方法,画质恒定的编码方法实现难度更大,其关键问题在于如何准确预测编码参数。一个实用的画质恒定编码方法,必须要有足够高的参数预测准确率。对于该问题,学术界已有的最好方法是 Xing 等人提出的一种基于卷积神经网络的方法,但是他们方法的准确率也只有 77.6% 左右,还远远达不到构建一套实用且稳定的转码系统所需要的精度。


IEEE VCIP | B站窄带高清转码系统中的编码方法


不同于以往方法通过使用更复杂的特征描述方法来提高单步预测的准确率,我们受到编码算法中常用的 2pass 码率控制策略的启发,创新性地提出了一种 2pass 参数预测方法,可以以平均 1.55 次编码复杂度,实现了 98.8% 的预测准确率。

该方法首先采用传统图像特征和超高速预编码特征对视频特性进行描述,利用神经网络对编码参数进行预测,然后对视频进行编码和画质验证。由于采用了轻量级的特征描述方法和简单的神经网络,第一遍预测速度很快,约 45.3% 的视频片段在这一遍预测编码后,质量已经达标。

而对于质量未达标的片段,进行第二次预测。在这次的预测过程中,直接复用第一遍的视频特征,同时将第一遍的预测参数和实际画质分数作为反馈特征,一起输入到神经网络中进行参数预测。由于第一遍的反馈信息为第二遍预测提供了稳定的锚定点,因此第二遍预测的准确率显著提升,高达 98.8%,具备了实用价值。值得注意的是,该方法也非常高效,因为采用了轻量级的特征描述方法,同时第一遍预测准确率已经达到 45.3%,所以平均下来,只需要进行约 1.55 次编码即可得到符合画质要求的结果。


IEEE VCIP | B站窄带高清转码系统中的编码方法


为了对编码参数进行准确预测,该方法构造了上图中的深度神经网络,并用 50 万个视频对其进行训练。


IEEE VCIP | B站窄带高清转码系统中的编码方法


模型训练好后,在 10 万个测试样本上对预测准确率进行评估。可以看到该方法的准确率非常高,同时几乎没有视频的画质出现失控。请注意上述结果是论文进行的公开对比实验,所采用的编码器是开源编码器 x265,设置的画质目标仅作为评估预测准确率的示例值,不代表B站实际转码业务中的所采用画质标准。在B站实际的转码系统中,采用的是B站自研编码器,同时画质标准也会根据不同的业务和视频格式进行调整。将该方法应用于窄带高清转码系统上后,实际帮助B站节省了超过 15% 的码率成本。

论文可以通过下方二维码获取。

IEEE VCIP | B站窄带高清转码系统中的编码方法

预印版论文链接 https://arxiv.org/abs/2208.10739


下面附上演讲视频




原文始发于微信公众号(哔哩哔哩技术):IEEE VCIP | B站窄带高清转码系统中的编码方法

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月7日15:55:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  IEEE VCIP | B站窄带高清转码系统中的编码方法 https://cn-sec.com/archives/1496266.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: