大厂Data+Agent 秘籍:腾讯/阿里/字节解析如何提升数据分析智能。 了解详情
写点什么

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

  • 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:504733

评论

发布
暂无评论

java培训班怎样才能找到工作

小谷哥

「融云政企数智办公解决方案」正式入选「大信创产品目录」

融云 RongCloud

ONES 加入中国信通院云上软件工程社区,推动软件提质发展

万事ONES

Flomesh Ingress 使用实践(一)基础功能

Flomesh

负载均衡 API ingress Pipy

2013年的技术方向

且行且珍惜

2023计划

学术加油站|HIST,面向海量数据的学习型多维直方图

OceanBase 数据库

数据库 oceanbase

云原生场景下实现编译加速

京东科技开发者

Java golang 缓存 编译 企业号 2 月 PK 榜

智能学习灯赛道竞争日趋激烈 火山引擎VeDI用数据技术助力打造新优势

字节跳动数据平台

大数据 增长 用户分析

2023年主流混合云管理平台排名榜单分享

行云管家

混合云 云管平台 云管理

探讨:30岁转行入IT,晚吗

MavenTalker

转型 职业发展 职业道路 个人思考

零基础转行大数据,学习应该注意什么?

小谷哥

云原生数据库如何设计运维系统?

Greptime 格睿科技

数据库 运维 云原生

大数据开发培训哪家比较好?

小谷哥

好友靠JVM成功进入阿里,阿里大佬力荐的JVM笔记到底有什么魔力?

小小怪下士

Java 程序员 面试 JVM 阿里

橡树黑卡携手观测云,实现会员体系业务可观测

观测云

可观测性 可观测 观测云 可观测性用观测云

云小课|创建DDS只读节点,轻松应对业务高峰

华为云开发者联盟

数据库 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

StarRocks荣获2022年度最具潜力数据库奖

StarRocks

数据库 大数据

Apache Kafka入门级教程原创

宋小生

kafka Kafka Producer

服务器双机热备软件是什么?有什么作用?有哪些?

行云管家

高可用 服务器 双机热备 服务器双机热备

总结了6种卷积神经网络压缩方法

华为云开发者联盟

人工智能 华为云 企业号 2 月 PK 榜 华为云开发者联盟

TiDB x 阿里云丨最长 30 天,最高节省 ¥33,000,免费试用云数据库 TiDB 的机会来啦!

PingCAP

TiDB

一种基于图片搜索视频的方案

京东科技开发者

搜索 视频 图像 企业号 2 月 PK 榜 商品搜索

颠覆性的开源分布式数据库DawnSql

陈飞

一文讲尽Thread类的源码精髓

华为云开发者联盟

开发 华为云 企业号 2 月 PK 榜 华为云开发者联盟

Canvas 模型服务,已支持直接使用“组件设置”作为模型参数输入|ModelWhale 版本更新

ModelWhale

人工智能 机器学习 数据分析 团队协同 编程建模

DawnSql解决SAAS的痛点

陈飞

前端编程培训学习好就业吗?

小谷哥

前端培训中怎么提升技术水平?

小谷哥

JavaScript使用URL用来解析处理URL

ModStart

便捷模型迭代优化,算法模型支持更新到已部署服务、已有项目|ModelWhale 版本更新

ModelWhale

人工智能 机器学习 数据分析 团队协同 编程建模

为什么你该试试 Sccache?

Databend

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