字节跳动新一代解码器BVC,助力H.266/VVC标准商业
随着近几年移动终端的蓬勃发展,上一代视频编码标准H265/HEVC已经得到广泛应用,但其压缩效率仍无法满足大量4K/1080P等高清视频资源的需求。过大的视频资源压缩文件,占据了存储空间并吞噬着网络带宽,导致用户观看视频时频繁卡顿。最新一代视频编码标准H.266/VVC标准的出现,则给视频内容的发展提供巨大的潜力。
据悉,字节跳动自研的新一代编解码器BVC已支持H.266/VVC标准,可以在Android、iOS、Lux、MacOS和Wdows等平台上,实现超清、高质视频的实时快速解码。
H.266/VVC全称为多功能视频编码 (Versatile Video Codg,VVC,也称为H.266),是联合视频专家组制定的最新一代视频编码标准,于2020年7月正式定稿。作为HEVC的继任者,H.266/VVC能够在相同的质量下将压缩效率再提升一倍。举个例子,使用H.265/HEVC编码标准,用户观看一部电影需要1GB的流量,换成H.266/VVC编码标准后,仅需500MB的流量,并且在智能终端播放的时候,画质可以保持不变。H.266/VVC标准,使高清在线视频不再是流量吞噬者。
尽管H.266/VVC优势十分明显,但其解码复杂度显著高于H.265/HEVC标准,终端设备解码过程中会出现设备发热、耗电增加以及视频卡顿的现象,影响用户观看体验。,在硬件解码芯片尚未问世的背景下,如何设计并实现一款超高性能的VVC软件解码器是众多音视频公司的重要目标。
在各种设备上,BVC解码器可实现对H.266/VVC标准视频资源的解码
测试数据显示,根据国际会议提案JEVT-V128,在搭载A14处理器的iPhone 12上,对于4K分辨率标准测试码流,BVC单线程平均解码速度达到了22fps;2线程可以实现4K视频的实时解码。对于1080p分辨率标准测试码流,BVC单线程平均解码速度是86 fps,即单线程可实时解码1080p视频。,在高端手机上,BVC解码器支持流畅播放高清甚至超高清视频。
图1 对比不同线程的BVC与VTM-11.0的解码速度
图1展示了在iPhone12上,BVC和参考软件VTM-11.0解码不同分辨率视频的速度对比。横轴依次代表解码4K、1080p、480p和240p分辨率的视频;纵轴表示使用VTM-11.0解码和BVC分别使用1、2、4、6线程解码的平均帧率,数值越大表明解码速度越快。虚线表示各分辨率视频实时播放的常用帧率。可以看出,BVC仅单线程的解码速度相较于VTM-11.0就有着6-10倍的巨大优势。
除了上述标准测试码流外,以BVC编码器生成的抖音视频码流测试显示,BVC解码器表现出了强大的解码性能。在性能逊于iPhone 12的小米6手机上,BVC单线程即可完成1080p视频的实时解码;在其它中低端手机上,BVC单线程即可完成对720p视频的实时解码。
BVC解码器的出现,使得在各种性能的设备上均可实现对H.266/VVC标准视频资源的解码,并为用户带来流畅的观看体验。
BVC解码器如何实现技术突破
流畅的观看体验是如何实现的呢?据悉,为了有效降低BVC解码器的计算复杂度,加快解码速度,字节跳动旗下火山引擎多媒体实验室从并行性、代码框架、汇编指令和访存效率等方向进行了优化,性能改善显著。
具体如下
细粒度的并行算法BVC支持不同层次的并行算法,包括帧级并行、块级并行和模块级并行。帧级并行即解码多个视频帧,可以充分利用多核CPU的性能,并行程度最高;块级并行即解码多个解码块;模块级并行即利用CPU的剩余资源,处理多个较复杂的模块。块级与模块级相结合可以高效降低视频帧的输出时延,保障视频会议和直播等实时场景的流畅体验。
对流水线友好的代码框架BVC有着非常轻量级的代码框架,更加迎合空间较小、性能较差的移动端设备。针对各个功能模块特性,BVC有不同的算法实现,尽可能减少了分支跳转,提升了CPU流水线的饱和度。
高吞吐量的汇编优化采用高吞吐量的SIMD指令,针对像素帧内预测、帧间插值、量化、变换、重建和环路滤波等复杂模块做汇编优化,均达到了数倍的模块加速比,最大程度提升CPU的计算效率。
高效的访存设计移动设备内存和缓存空间较小,访存效率有限,这极大地制约了解码器的性能。为此,火山引擎多媒体实验室针对BVC解码器的访存进行了优化,包括减少内存读写次数、集中内存使用和提高缓存命中率。优化后,访存不再成为在移动设备上解码超高清视频的瓶颈。
BVC解码器的单线程达到参考软件的8.8倍
火山引擎多媒体实验室使用VVC官方参考软件VTM-11.0做了一组测试。在通用配置下,生成若干组8比特码流,打开标准测试条件下的全部工具,包括较复杂的DMVR、BDOF和ALF等。测试的序列为标准通用测试序列,包括class A、B、C、D、F五类。其中,class F是屏幕内容场景,分辨率从480p到1080p不等;class A-D为自然场景,视频的分辨率分别为4K、1080p、480p和240p。
表1 解码器速度对比详细数据
在iPhone 12(A14处理器)上,BVC单线程解码4K分辨率、8比特标准测试码流的速度平均达到了22fps,是参考软件VTM-11.0解码速度的10倍;在使用全部6个线程后解码速度甚至可达55 fps,最高达到78fps。对于1080p分辨率、8比特标准测试码流,BVC解码器的单线程平均解码速度是86 fps,达到参考软件的8.8倍。
BVC解码器可以实现超清、高质视频的实时快速解码,展现出在移动端上卓越的解码能力,对视频行业的发展和H.266/VVC标准的落地起到积极的推进作用。据著名知识产权媒体IAM报道,截至2021年2月,字节跳动在H.266/VVC标准贡献者排行榜上名列全球第三,占比9.33%。
基于实际应用中的问题和挑战,字节跳动的技术团队还将持续发力,不断优化BVC解码器的性能,为新一代标准的落地做出更多贡献。
火山引擎多媒体实验室 团队介绍
网络推广
- 洞口建站公司有哪些?选择合适的建站公司,助
- 天津百度关键词排名售后保障一般有哪些
- 云南百度网站优化价格合理性的看法
- 河南百度快照排名有没有优惠
- 涞源专业的网站建设公司:打造企业数字化形象
- 上海网站优化公司怎样做网站排名
- 滦平专业的网站建设公司:打造您理想的网站解
- 潼关专业的建站公司:打造您的网站成功之路
- 兴隆百度关键词seo:提升网站曝光与流量的关键
- 隆化企业网站建设公司:助力企业数字化转型
- 北京百度seo排名怎么做才能放大客户需求
- 永仁网站优化:提升网站流量的有效策略
- 增城专业的建站公司:打造您的理想网站
- 钟祥seo网站排名关键词优化指南
- 东明建站公司:助您实现线上梦想的最佳选择
- 提升网站流量与排名的策略:繁峙百度优化服务