50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

画质之外,直播编码还应当关注哪些技术优化点

  • 2025-03-26
    北京
  • 本文字数:2103 字

    阅读完需:约 7 分钟

大小:1.10M时长:06:24
画质之外,直播编码还应当关注哪些技术优化点

随着直播行业用户基数趋于饱和,市场竞争已从早期的流量争夺转向精细质量比拼。从技术角度来看,用户对直播体验的期待不再停留于流畅播放的基础需求,而是向超高清画质、实时交互性、全场景适应性 等高阶指标转移。


根据《2024 年直播技术趋势》显示,视频质量被广泛认为是直播平台用户体验的核心因素,直播行业正在转向更高分辨率和帧率;而在实时互动直播中,低延迟能显著提升观众参与度。


而这一切的核心基础,便是视频编码效率,也就是压缩率。编码效率的提升,能够直接为用户带来更优质的观看体验。例如,理论上,新一代视频编码标准 H.266 相较于现有的 H.265/HEVC 标准,在保持相同画质的前提下,可实现 30%-50% 的码率节省,这对于整个视频传输链路的优化具有重大意义。火山引擎自研 BVC2 直播编码器正是瞄准直播场景,进行了深度优化,成功实现了在直播场景中对 H.266 标准的高效运用,从而有效优化了用户体验。

直播编码效率升级,针对不同编码需求、不同场景完成优化

火山引擎自研 BVC2 直播编码器,在六大技术维度实现了突破创新,不仅将编码效率提升至全新量级,更在动态场景处理、主观画质优化等维度进行了提升。


  1. 极致、简洁的工程架构

  • 流程重构: BVC2 重新梳理了编码流程,拆分高频路径和低频路径,确保高频路径足够简洁,低频路径则作为独立模块实现。

  • 数据结构优化: 秉承最简化和无重复信息的设计原则,优化内存使用效率,减少访存开销和重复计算。例如,通过缓存和重复利用差值、变换、失真、比特估计等关键计算结果,大幅减少了计算复杂度。

  • SIMD 优化: 通过重写指令集,对指令排布进行了更合理的设计,降低了 load/store 次数,同时根据系数特性(如非零系数范围)进行优化跳过,进一步提升计算效率。

通过系统性架构革新,BVC2 在保持核心逻辑极致简洁的同时,实现了计算资源的精准投放与高效复用。


  1. 灵活、精细化的并行框架

  • 多模块并行: 对编码、前处理、预分析等过程进行并行化设计,在线程调度上合理分配权重,降低线程等待时延。

  • 帧内+帧间并行: 通过帧类型、层级、参考关系等信息,灵活分配编码任务的线程优先级,优化线程池的调度。

  • 分块并行: 针对前处理和预分析模块引入分块并行方案,在损失极小的情况下加速这些模块的运算。

通过这些并行化优化,火山引擎自研编码器的 CPU 利用率大幅提升,满足了直播场景对实时性的要求。


  1. 数百个快速算法

  • 编码块划分加速: 根据周围块和历史划分信息,自适应调整划分深度和顺序,设计了多种提前终止划分的算法,减少了无效计算。

  • 模式决策优化: 采用模块独立粗选排序与统一精选结合的框架,大幅减少最终尝试的模式数量,同时通过提前跳出算法减少 RDO 的次数。

  • 运动搜索优化: 对前处理和预分析模块中的运动搜索进行简化,将结果用于加速编码过程中的模式决策。

  • 灵活参数控制: 针对 CU 大小、位置、QP、时间层等,设计了细粒度的参数调整机制,进一步优化了复杂度与压缩率的性价比。

总计实现了 200 多个快速算法,显著提升了编码速度,同时保持了较低的压缩率损失。


  1. 利用前处理、ROI 等算法优化主观体验

为了进一步提升主观体验,火山引擎自研编码器结合前处理与 ROI(感兴趣区域)等技术进行优化:

  • 自适应锐化: 根据画面内容动态调整锐化强度,增强细节表现,避免画面过于平滑。

  • ROI 优化: 针对画面中用户关注的关键区域(如人物面部、商品展示区域等),分配更多的编码资源,以确保这些区域的画质更高,而对背景区域进行适当压缩,从而实现更高的编码效率和更佳的主观体验。

通过这些优化,不仅在编码效率上表现出色,还显著提升了用户观看体验,尤其在动态场景和重点区域的画质上有了明显改善。


  1. 丰富的 preset,满足不同速度编码需求

火山引擎自研编码器提供了丰富的编码预设(preset),支持从 slow 到 hyperfast 的多种档位,满足从高压缩率到低复杂度的不同应用场景需求:

  • slow、medium: 适用于高质量直播等场景,注重压缩率的优化,提供接近极限的画质表现。

  • fast、veryfast、superfast: 适用于常规直播场景,平衡编码效率与计算复杂度。

  • hyperfast: 面向低延迟、高实时性需求的场景,极大降低编码复杂度。

通过这些预设,用户可以灵活选择编码器的工作模式,从而在画质、延迟和计算性能之间实现最佳平衡。


  1. 针对不同内容场景的优化

  • 游戏场景: 针对游戏直播的高动态画面特点,优化了运动估计和模式决策算法,减少画面拖影和模糊问题。

  • 电商场景: 对电商直播中的静态商品展示和快速切换场景分别进行优化,提升画面细节并适当降低码率优化流畅度。

通过大量测试,BVC2 针对不同类型的内容场景调整编码参数,实现了更高的压缩率和更好的画质表现。

压缩率显著提升,超越主流开源解码器


火山引擎自研 BVC2 编码器针对直播场景的深度性能优化,可通过多维度客观指标对比测试结果,以下展示 BVC2 不同预设档位与主流开源编码器的对比测试结果,为行业提供量化参考:


  • BVC2 slow preset 对比 HM (测试条件: RA CQP )

PSNR BD-Rate
SSIM BD-Rate
VMAF
Speed-up
Y
U
V
YUV
Y
U
V
YUV


Class A1
-20.03%
-35.52%
-39.70%
-24.56%
-22.77%
-50.11%
-49.52%
-27.07%
-23.95%
892
Class A2
-18.36%
-31.03%
-28.23%
-21.37%
-22.38%
-38.61%
-37.18%
-25.03%
-27.74%
756
Class B
-12.34%
-41.96%
-40.55%
-18.45%
-16.90%
-49.10%
-49.40%
-21.85%
-21.38%
884
Class C
-3.53%
-23.80%
-22.44%
-7.39%
-9.71%
-29.41%
-29.91%
-12.95%
-10.11%
593
Overall
-12.73%
-33.64%
-33.08%
-17.31%
-17.25%
-41.95%
-41.78%
-21.16%
-20.16%
760
UHD+HD Average
-16.08%
-37.22%
-36.96%
-20.91%
-20.00%
-46.51%
-46.10%
-24.14%
-23.81%
847


  • BVC2 medium preset 对比 x265 medium (测试条件:CBR)

PSNR BD-Rate
SSIM BD-Rate
VMAF
Speed-up
Y
U
V
YUV
Y
U
V
YUV


Class A1
-51.14%
-57.96%
-63.21%
-53.52%
-46.36%
-63.55%
-65.54%
-49.57%
-44.06%
1.2
Class A2
-56.40%
-62.84%
-58.39%
-57.17%
-50.08%
-60.54%
-54.69%
-51.56%
-49.73%
1.0
Class B
-49.35%
-57.90%
-58.97%
-51.18%
-48.07%
-58.07%
-59.84%
-49.37%
-51.42%
1.0
Class C
-45.11%
-53.34%
-56.13%
-47.17%
-43.29%
-53.75%
-57.49%
-45.06%
-45.66%
1.4
Overall
-49.99%
-57.69%
-58.95%
-51.78%
-46.86%
-58.51%
-59.32%
-48.70%
-48.08%
1.1
UHD+HD Average
-51.76%
-59.26%
-59.97%
-53.45%
-48.15%
-60.24%
-59.99%
-50.02%
-48.95%
1.0


  • BVC2 medium preset 对比 AOM-AV1 (测试条件:CBR)

PSNR BD-Rate
SSIM BD-Rate
VMAF
Speed-up
Y
U
V
YUV
Y
U
V
YUV


Class A1
-32.23%
-42.26%
-44.79%
-35.59%
-34.21%
-49.07%
-49.09%
-36.57%
-25.17%
4.3
Class A2
-40.19%
-58.63%
-55.09%
-43.67%
-39.67%
-59.87%
-56.25%
-43.95%
-35.16%
3.7
Class B
-47.15%
-58.00%
-57.50%
-49.40%
-48.55%
-59.26%
-58.67%
-49.94%
-42.65%
3.6
Class C
-45.84%
-58.87%
-59.25%
-48.82%
-50.66%
-62.69%
-63.70%
-52.88%
-44.55%
3.8
Overall
-42.42%
-55.21%
-54.95%
-45.34%
-44.47%
-58.26%
-57.61%
-46.85%
-38.16%
3.8
UHD+HD Average
-41.18%
-53.88%
-53.38%
-44.07%
-42.22%
-56.65%
-55.40%
-44.66%
-35.84%
3.8


从以上测试数据可以清晰地看出,火山引擎自研 BVC2 直播编码器在直播场景下相较于主流开源编码器展现出明显优势:在保持显著压缩率提升的同时,编码速度方面也实现不同程度的性能突破。

2025-03-26 16:505131

评论

发布
暂无评论

如何认证成为亚马逊云科技 DevOps 专家?

亚马逊云科技 (Amazon Web Services)

DevOps 亚马逊云科技 tutorial caree

如何用WinRAR将大文件分割成多个小文件?

InfoQ IT百科

Excel表格中怎么防止重复录入数据?

InfoQ IT百科

如何共享电脑上的文件?

InfoQ IT百科

Chrome如何安装插件?

InfoQ IT百科

如何对APP进行数据分析?

InfoQ IT百科

如何在APP原型上写需求?

InfoQ IT百科

深入浅出 Ext4 块和 Inode 分配器的优化(下)

焱融科技

云计算 高性能 文件存储 文件系统

如何批量导出PPT里的图片?

InfoQ IT百科

常见的中文电脑输入法软件有哪些?

InfoQ IT百科

如何清除WinRAR压缩文件历史记录?

InfoQ IT百科

有哪些好用的杀毒软件?

InfoQ IT百科

低代码让人人都是开发者,高校人才有了努力的新方向

一只大光圈

阿里 低代码 数字化 钉钉宜搭 浙江工商大学

React Hooks 的实现必须依赖 Fiber 么?

云智慧AIOps社区

前端 大前端 React Hooks preact

下载软件哪个好?

InfoQ IT百科

深度学习—人工智能的第三次热潮

云智慧AIOps社区

人工智能 机器学习 深度学习

开源规则引擎——ice:致力于解决灵活繁复的硬编码问题

声网

开源 规则引擎 Dev for Dev

Chrome如何启用隐身模式?

InfoQ IT百科

md文件要用什么软件打开?

InfoQ IT百科

如何给电脑文件夹设置密码?

InfoQ IT百科

电脑上切换输入法的快捷键是什么?

InfoQ IT百科

怎么清理钉钉缓存的图片和文件?

InfoQ IT百科

APP访问用户的通讯录后,会得到通讯录上的信息吗?

InfoQ IT百科

抖音获客源码,蓝V思域运营,大热的X-Gorgon 0408和8408算法,今年的SaaS源码,编程语言需要变革吗?

yunluohd168

抖音短视频获客系统 抖音获客源码

如何进行APP版本升级管理?

InfoQ IT百科

如何制定移动APP的加载与刷新策略?

InfoQ IT百科

云效钉钉小程序上线啦!业务方请痛快一键三连

阿里云云效

阿里云 云原生 钉钉 研发 云效钉钉小程序

TASKCTL 应用工程与作业类型的定义

敏捷调度TASKCTL

DevOps 敏捷开发 批量任务 ETL系统 自动化运维

APP、小程序、H5,如何选择不同的开发载体?

InfoQ IT百科

银行App为什么都不怎么好用?

InfoQ IT百科

亚马逊云科技平台上的无服务器 WebSocket

亚马逊云科技 (Amazon Web Services)

Serverless websocket 亚马逊云科技 appsync

画质之外,直播编码还应当关注哪些技术优化点_字节跳动_火山引擎视频云_InfoQ精选文章