写点什么

字节新一代解码器 BVC 帮助 H.266/VVC 标准商业落地

字节跳动视频云技术团队

  • 2023-03-05
    北京
  • 本文字数:2549 字

    阅读完需:约 8 分钟

字节新一代解码器 BVC 帮助 H.266/VVC 标准商业落地

字节新一代解码器 BVC ,助力 H.266/VVC 标准商业落地


随着网络环境的优化和移动设备性能的提升,高清流畅的极致观影体验吸引着更多的终端用户。高分辨率视频资源也给压缩标准提出了新的要求。从 H.264/AVC 标准到 H.265/HEVC 标准,虽然压缩效率提升一倍,但依然无法满足高清视频的压缩需求。因此,拥有更高压缩效率的 H.266/VVC 标准诞生。诞生初期,由于 H.266/VVC 编码标准复杂,且缺少对应的终端设备硬解码,让商业落地显得遥不可及。



用户通过高清、超高清视频获得极致的观看体验      


01

H.266/VVC 标准的压缩效率比 H.265/HEVC 提升一倍


多功能视频编码 ( Versatile Video Coding , VVC ,也称为 H.266 ) 是联合视频专家组制定的最新一代视频编码标准,于 2020 年 7 月正式定稿。作为 HEVC 的继任者, H.266/VVC 能够在相同的质量下将压缩效率再提升一倍。 H.266/VVC 标准的推动将能为未来视频内容的发展提供巨大的潜力。


H.266/VVC 的前一代标准是 H.265/HEVC 。随着近几年移动终端的蓬勃发展,H.265/HEVC 已经得到广泛应用,但其压缩效率仍无法满足大量 4K/1080P 等高清视频资源的需求。过大的视频资源压缩文件,占据了存储空间并吞噬着网络带宽,导致用户观看视频时频繁卡顿。



而在相同的编码质量下, H.266/VVC 标准的压缩率可以比 H.265/HEVC 标准提升一倍!


举个例子,使用 H.265/HEVC 编码标准,用户观看一部电影需要 1GB 的流量,换成 H.266/VVC 编码标准后,仅需 500MB 的流量,并且在智能终端播放的时候,画质可以保持不变。 H.266/VVC 标准,使高清在线视频不再是流量吞噬者。


尽管 H.266/VVC 标准的压缩性能非常优异,但其解码复杂度显著高于 H.265/HEVC 标准。终端设备解码过程中会出现设备发热、耗电增加以及视频卡顿的现象,影响用户观看体验。在硬件解码芯片尚未问世的背景下,如何设计并实现一款超高性能的 VVC 软件解码器成为我们的重要目标。


02

BVC 解码器,打通 H.266/VVC 标准落地的最后一公里


BVC 是字节跳动自研的新一代解码器,已正式支持 H.266/VVC 标准。 BVC 解码器可应用于 Android 、 iOS 、 Linux 、 MacOS 和 Windows 等多种平台。


针对移动端用户众多、设备性能参差不齐的问题,我们在 Android 和 iOS 的 Arm 平台上,对 BVC 解码器进行了特别的优化,在部分设备上的解码速度达到参考软件的数十倍。 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 标准视频资源的解码,并为用户带来流畅的观看体验。


03

BVC 解码器如何实现技术突破


为了有效降低 BVC 解码器的计算复杂度,加快解码速度,我们从并行性、代码框架、汇编指令和访存效率等方向进行了优化,性能改善显著。


细粒度的并行算法


BVC 支持不同层次的并行算法,包括帧级并行、块级并行和模块级并行。帧级并行即同时解码多个视频帧,可以充分利用多核 CPU 的性能,并行程度最高;块级并行即同时解码多个解码块;模块级并行即利用 CPU 的剩余资源,同时处理多个较复杂的模块。块级与模块级相结合可以高效降低视频帧的输出时延,保障视频会议和直播等实时场景的流畅体验


对流水线友好的代码框架


BVC 有着非常轻量级的代码框架,更加迎合空间较小、性能较差的移动端设备。针对各个功能模块特性, BVC 有不同的算法实现,尽可能减少了分支跳转,提升了 CPU 流水线的饱和度


高吞吐量的汇编优化


我们采用高吞吐量的 SIMD 指令,针对像素帧内预测、帧间插值、量化、变换、重建和环路滤波等复杂模块做汇编优化,均达到了数倍的模块加速比,最大程度提升 CPU 的计算效率


高效的访存设计


移动设备内存和缓存空间较小,访存效率有限,这极大地制约了解码器的性能。为此,我们针对 BVC 解码器的访存进行了优化,包括减少内存读写次数、集中内存使用和提高缓存命中率。优化后,访存不再成为在移动设备上解码超高清视频的瓶颈


04

详细性能数据


我们使用 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 。


在 iPhone 12 ( A14 处理器)上, BVC 单线程解码 4K 分辨率、8 比特标准测试码流的速度平均达到了 22fps ,是参考软件 VTM-11.0 解码速度的 10 倍;在使用全部 6 个线程后解码速度甚至可达 55 fps,最高达到 78fps 。对于 1080p 分辨率、8 比特标准测试码流, BVC 解码器的单线程平均解码速度是 86 fps ,达到参考软件的 8.8 倍。


表 1 解码器速度对比详细数据


05

总结


BVC 解码器可以实现超清、高质视频的实时快速解码,展现出在移动端上卓越的解码能力,对视频行业的发展和 H.266/VVC 标准的落地起到积极的推进作用。


接下来,基于实际应用中的问题和挑战,我们的技术团队将持续发力,不断优化 BVC 解码器的性能,旨在为新一代标准的落地做出更多贡献。


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2023-03-05 15:069244
用户头像
鲁冬雪 InfoQ 主编

发布了 336 篇内容, 共 194.1 次阅读, 收获喜欢 270 次。

关注

评论 1 条评论

发布
用户头像
问一下对协议的支持怎么样?在没有硬件支持的情况下,对CPU的占用率如何
2023-03-10 20:11 · 天津
回复
没有更多了
发现更多内容

利用Prompt,高效调教大模型

百度开发者中心

人工智能 大模型 Prompt

图形化编程平台对比:iVX 与 Blockly/Scratch

代码生成器研究

使用函数计算,数禾如何实现高效的数据处理?

Serverless Devs

云计算 Serverless AIGC

Screen Recorder by Omi Mac(Omi录屏专家‬)v1.3.7激活版

影影绰绰一往直前

Multitouch for Mac(多点触控手势增强神器)v1.27.23免激活版

影影绰绰一往直前

终于来啦!传奇世界之帝王传世详细图文架设教程

echeverra

传奇

大模型训练中batch的作用

百度开发者中心

人工智能 大模型 深度学历

手把手带你配置一个DHCP服务器 | 京东云技术团队

京东科技开发者

网络协议 服务器 Wireshark DHCP

office全套办公软件Microsoft Office LTSC 2021 v16.81beta版

iMac小白

SFTP工作方式及原理(大文件传输小知识)

镭速

文件传输协议 大文件传输软件

TrashMe for Mac(mac软件卸载工具)v3.5.5激活版

影影绰绰一往直前

5秒成为AI产业顾问、营销BI轻松搭建......一封来自星河社区5周年产业特辑的信

飞桨PaddlePaddle

人工智能 产业生态 星河社区

Exploring Advanced WiFi 6 Solutions: QCN6122 vs. QCN6102 with IPQ5018 Platform

wallyslilly

ipq5018 QCN6102 QCN6122

深入解析LLaMA如何改进Transformer的底层结构

华为云开发者联盟

人工智能 华为云 大模型 华为云开发者联盟 LLM

RocksDB 在 vivo 消息推送系统中的实践

vivo互联网技术

RocksDB 消息推送系统 分布式数据存储模块

Cookie for Mac(浏览器缓存清理工具)v7.1.7免激活版

影影绰绰一往直前

华为云开源 | 线下meetup · 中国人民大学站顺利收官

华为云开源

区块链 微服务 时序数据库 AI大模型 前端组件库

JetBrains pycharm pro 2023 for mac(Python编辑开发)v2023.3中文激活版

影影绰绰一往直前

IT行业软件数据文件传输安全与高效是如何保障的?

镭速

大文件传输软件

如何使用区块链数据构建安全工具

Footprint Analytics

区块链 区块链技术 数据安全

16 | 二分查找(下):如何快速定位IP对应的省份地址

鲁米

浅析MySQL代价模型:告别盲目使用EXPLAIN,提前预知索引优化策略 | 京东云技术团队

京东科技开发者

MySQL 数据库 索引优化 EXPLAIN

Color Wheel for Mac(强大的数字色轮工具)v8.1中文激活版

影影绰绰一往直前

AR + 通信,虚实结合让工作协同从线上到「现场」

融云 RongCloud

通信 AR 数字经济 远程协作 工作协同

ACDSee Photo Studio 10 for Mac(专业的图像处理软件)v10.0.1激活版

影影绰绰一往直前

合合信息旗下启信宝与鹏城实验室达成数据托管合作,“AI靶场”让数据管理更精准

合合技术团队

人工智能 数据处理 合合信息 启信宝

15 | 二分查找(上):如何用最省内存的方式实现快速查找功能

鲁米

Istio与Kubernetes:资源管理与协同解析

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟

利用Prompt提升大模型微调性能

百度开发者中心

深度学习 大模型

淘宝详情API接口在电商行业中的重要性及实时数据获取实现

Noah

NFTScan Labs:我们为什么要推出 L2 网络 Mint Blockchain?

NFT Research

NFT\ Layer 2

字节新一代解码器 BVC 帮助 H.266/VVC 标准商业落地_语言 & 开发_InfoQ精选文章