AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

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

评论

发布
暂无评论

征程 6X release版本内核模块安全加载

地平线开发者

自动驾驶; #算法 地平线征程6

第82期 | GPTSecurity周报

云起无垠

AIGC GPT

有奖活动:pick 你最爱的 AI 项目!拿社区年度大奖!

声网

海信116英寸RGB-Mini LED:一朵绽放在科技穹顶的中国花火

脑极体

AI

Apache Commons 3 比较对象三两事

FunTester

ThreadLocal 为何能取代 Session?

王中阳Go

ThreadLocal session管理

双揽工信部典型案例,百度大模型安全技术实践备受认可

百度安全

【YashanDB知识库】YMP从达梦迁移到崖山,报错:不能识别文件路径,没找到csv文件

YashanDB

数据库 yashandb

【YashanDB知识库】YashanDB JDBC驱动查询时抛出io fail:Read timed out异常

YashanDB

数据库 yashandb

华为Flexus云服务器搭建Cloudreve私人网盘

平平无奇爱好科技

高阶面经:Spring框架全析

王中阳Go

Java 框架 spring框架 spring aoc IOC面试题

AI赋能服装零售:商品计划智能化,化危机为转机

第七在线

关于低代码平台的安全性考量

伤感汤姆布利柏

【YashanDB知识库】YashanDB JDBC查询时抛出YAS-02094 current session has been killed or canceled异常

YashanDB

数据库 yashandb

【YashanDB知识库】YCM上CPU负载超过实际核数是怎么回事

YashanDB

数据库 yashandb

【YashanDB知识库】使用Reverse索引的解决自增序列做索引,插入性能大幅提升

YashanDB

数据库 yashandb

NVIDIA 推出智能体构建工具 Agentic AI Blueprints;VITA-1.5:实时多模态交互,1.5 秒延迟

声网

0 Token 间间隔 100% GPU 利用率,百度百舸 AIAK 大模型推理引擎极限优化 TPS

Baidu AICLOUD

gpu 大模型推理 vLLM trt-llm

解锁企业数字转型新密码:JNPF低代码让业务“活”起来

不在线第一只蜗牛

低代码

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