2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

腾讯明眸·极速高清 —— 更高清更低码率的媒体处理技术方案

腾讯云音视频

  • 2022-01-12
  • 本文字数:3105 字

    阅读完需:约 10 分钟

腾讯明眸·极速高清 —— 更高清更低码率的媒体处理技术方案

腾讯视频云作为头部云厂商,服务了很多视频行业的客户,从我们服务的大量客户以及客户的诉求来看,目前视频处理行业有下面几个趋势:


  • 首先,随着带宽资费的降低以及观看设备分辨率的升高,人们对视频的清晰度有了越来越高的要求,尤其是广电行业、大屏电视等对于 4K 片源的需求。然而,从视频制作端来看,目前大部分生产的视频还是 1080P。因此,画质增强、视频超分等基于 AI 的画质提升技术受到人们更多的关注。

  • 除此之外,近年来视频行业的高速发展,尤其是直播、短视频的兴起,越来越多的互联网公司开始发展自己的视频业务。对于海量的视频观看来说,存储和带宽成为业务运营的重要成本组成部分。与此同时,视频观看的流畅度,首帧打开时间也是影响用户观看体验的重要因素之一。能够高清晰度低码率的编码视频,就成为泛互联网企业的诉求之一。

  • 从未来的发展趋势看,云宇宙 /VR 慢慢兴起,而这些无疑都需要超高清的视频传输,而高清低码、极致压缩、画质增强等相关技术,可以极大的降低传输带宽瓶颈,提升视频观看体验,也一定是未来的发展趋势之一。


也是在上述客户的诉求背景下,我们提出腾讯明眸解决方案。

腾讯明眸解决方案


腾讯明眸的基础能力主要由三部分组成,其中极速高清提供极致的压缩能力,支持感知编码、细节增强、视频去噪等能力。画质重生则专注于视频画质的提升,支持视频超分、智能插帧、色彩增强等能力。腾讯明眸除了视频处理之外,也与腾讯天籁实验室相合作,支持音频降噪、去混响、响度管理等能力。全力支持视频业务的快速发展。


腾讯明眸的整体处理 pipeline 也与普通媒体处理的流程有较大的区别,在视频解码后,我们会先进行场景分析、毛刺检测、噪声检测、交错检测等预分析流程,来分析视频源的画面质量,然后针对不同的场景和画面质量情况,使用对应的画质增强 / 修复技术。在对视频源进行修复之后,腾讯明眸会对画面进行二次分析,来辅助后续的视频编码流程,这里会分析视频的 ROI/JND 信息,内容自适应编码信息等,最后利用这些信息来进行更符合人眼主观的编码流程,在编码过程中,我们也对编码内核进行了深入的优化,在腾讯内部多个部门通力合作下,自研了 O264/V265/TXAV1/O266 等编码器,相比开源编码器极大的提升了视频压缩率。



腾讯明眸·极速高清的技术演进


首先介绍下什么是极速高清,极速高清的目的是在不降低或者提升人眼感官的前提下,尽可能的降低视频码率,节省带宽和存储。极速高清也是基于腾讯明眸的框架来实现的,包括:视频预分析、前置处理、视频自适应编码等几步,与普通转码相比,可以降低 50% 以上的带宽,也能在一定程度上提升人眼的主观感受。


在编码器内核方面,腾讯明眸·极速高清引入了很多领先的技术。2021 年的 MUS 云端编码大赛上,腾讯明眸取得了多项第一的成绩,尤其在视频编码质量评测上,相比第二名有 20% 的编码增益。除此之外,在 H.266/VVC 等下一代编码器上,我们也拥有 100 项以上的专利。



极速高清所取得的压缩效果经历了多个版本的迭代优化过程。极速高清的初始研发时,我们更专注于如何利用好当前的编码器和画质处理能力。我们发现,人眼对不同场景的感受是不同的,比如:在一些游戏中有很多的草地,这个时候通过编码参数的控制,减少纹理复杂区域的码率,虽然会在纹理区域产生振铃效应和毛刺,但是由于复杂纹理的遮挡效应,人眼并不能感知到。我们针对不同场景的视频,分析当前画面的特征,合理的利用视频编码的特性,可以在更低的码率下,同时保持人眼的感官。


随着业务的持续迭代与发展,我们发现开源的编码器虽然在业界有比较好的效果,但是很难完全满足实际业务的需求,而且开源编码器在实现上也未将标准的所有特性实现,没有发挥出标准能够达到的极限压缩。因此,极速高清的第二阶段优化我们集中在对编码器内核的算法调优。自研的 O264 编码器相较开源的 X264 可以有 20%以上的编码增益,V265 相较开源的 X265 可以有 40%的编码增益。



那这里以我们新增支持的 GPB 帧为例,我们知道 B 帧的宏块可以有两个 mv 来进行参考,提升压缩效果,但是 B 帧因为参考关系的原因,会增加编码的延迟。因此,虽然 B 帧能够提供较好的压缩率,但是低延迟直播/RTC 等场景通常还是会关闭 B 帧。那有没有办法同时利用 B 帧标准上支持的两个 mv,同时还能在这样的场景下保证低延迟?为此,我们在编码内核上支持了 GPB 帧,即:该帧虽然标准上标注为 B 帧,宏块可以有两个 mv,但是两个 mv 都只做前向参考,不会进行后向参考,因此不会引入额外的延迟,同时利用了多个 mv 的特性提升压缩率。



在对编码器内核进行深入的优化后,随着业务的发展,我们又面临了新的挑战。在一些极限压缩的场景,客户希望 720P 的带货视频,可以以 350kbps 以下的码率输出,同时保证视频整体的清晰度。这个时候,我们发现仅靠编码器的压缩很难达到理想的效果。之后我们开始思考编码器的不足之处以及如何进一步优化编码器的特性。


首先,我们处理的视频源是被压缩过的, 因此一定已经存在一些细微的毛刺毛边。而我们在二次压缩时候,编码器是无法区分这些毛刺/毛边是真实的纹理还是一些噪声数据,会对这些毛边也进行压缩,而这类毛边的压缩会消耗编码中大量的码率。


其次,编码器核心还是基于数据驱动的,并没有从人眼的角度来考虑问题,因此当码率极低的时候,编码出来的画面可能会有很多的块效应,同时一些细节地方又保留的比较好。


针对上面的两种情况,腾讯明眸·极速高清结合 AI 的能力,在编码对前视频源进行前置处理,使视频源更适配编码场景。其中,前置处理基于预训练的模型,抹平消除视频源附带的毛边细节,使整体的边缘更加平滑,也更有利于视频压缩。其次,当编码设置的码率很低时,这时模型预估压缩后的视频,会产生码率不足导致的块效应和大量噪声。我们可以使用前处理预先对一些复杂纹理进行简化,对视频进行一定程度的平滑,从人眼主观的角度来简化视频,进而使视频更容易压缩,在低码率下也能保持一个良好的效果。


使用极速高清后,带来的收益十分明显。以腾讯内部的业务为例,使用极速高清后,节省了大概 70%的存储和带宽成本,同时由于文件的减小,视频首帧的耗时也降低了 20%,整体播放的流畅度大大提升。

对于点播场景的极限压缩,1080P 的高清电影视频,极速高清 H.264 可以在 1.5M 的码率下,保持整体的主观清晰度,或者说保持 vmaf 在 95 分以上。H.265 则可以在 900kbps 达到同样的效果,AV1 甚至做到 650kbps。对于课堂教育类场景,压缩效果则更明显,课堂类场景相对静止画面较多,可以利用更多的编码工具。对于 PPT 类课堂场景,极速高清 H.264 可以在 67kbps 下,同时保持主观清晰度,H.265 可以做到 35kbps, AV1 可以做到 28kps, 此时,视频的码率大部分已经低于音频的码率,极大的减少了视频的存储和带宽。


腾讯明眸的另一特性,就是充分利用腾讯云在全世界的海量资源部署,服务全球。在各个地区都有对应的处理集群,符合区域的法律法规要求。助力国内企业更好的出海发展。



目前,腾讯明眸的接入也非常方便。其中 MPS 媒体处理服务,可以触发视频转码,在转码模板的配置上,可以选择极速高清来进行极致的视频压缩。专门针对画质提升的画质修复能力,则可以通过智能编辑产品来体验,包括:视频超分、智能插帧、色彩增强、视频加清等画质提升能力,提供更清晰的视频体验。


极速高清未来的发展方向


对于腾讯明眸来说,极速高清后续发展主要两个主轴,一方面是与 AI 能力的进一步深入结合,在前处理阶段利用 AI 进一步处理视频画质来辅助压缩,在编码器内部,利用 AI 的能力对 RDO 分析预测加速,在播放端,致力于 LCEVC 的支持,以及端测的超分和画质提升。另一方面是针对直播场景的深入优化,目前很多编码工具的复杂度较高,对于直播场景很难保证实时, 对于这些编码工具进一步优化与加速,更好的应用于直播场景。



2022-01-12 11:137400

评论

发布
暂无评论
发现更多内容

一款开源的Diffy自动化对比测试框架:超详细实战讲解

狂师

开源 测试 测试驱动开发实战营 自动化测试

依赖倒置原则理解

Thrine

面向对象设计原则

陈皮

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十二)编写测试-超时

编程道与术

Java 编程 TDD 单元测试 JUnit

Libra教程之:来了,你最爱的Move语言

程序那些事

比特币 区块链 以太坊 libra blockchain

重学 Java 设计模式:实战代理模式「模拟mybatis-spring中定义DAO接口,使用代理类方式操作数据库原理实现场景」

小傅哥

设计模式 小傅哥 重构 代码优化

0616作业2

Geek_10

架构师训练营-第二周-作业1

狂奔嘀兔纸

极客大学架构师训练营

[Redis源码阅读]redis持久化

老胡爱分享

数据库 redis 缓存 持久化

Spring BeanPostProcessor 你不能不知道的事

CoderLi

Java spring 程序员 源码分析 后端

架构师训练营第二周总结:软件开发简史和框架设计的方法

hifly

设计模式 极客大学架构师训练营

学习一下:我的学习之道

非著名程序员

学习 程序员 程序人生 提升认知

Libra教程之:Libra testnet使用指南

程序那些事

比特币 区块链 以太坊 libra blockchain

为什么 Vue 更符合这个时代的大势所趋

葡萄城技术团队

Vue SpreadJS

基于 Docker 实现 MySQL 主从复制

ytao

MySQL Dockerfile

如何高效开会?

石云升

高效工作 时间管理 高效 开会

2020年6月17日 MySQL基准测试

瑞克与莫迪

第二周总结

changtai

架构师训练营-week2命题作业

J.Smile

极客大学架构师训练营

架构师训练营第二周总结

极客大学架构师训练营

第二周作业

大雄

依赖倒置

Libra教程之:运行自定义move modules

程序那些事

比特币 区块链 以太坊 libra blockchain

程序员开发色情游戏,赴日寻找AV女优真人拍摄,结果...

程序员生活志

程序员 游戏开发

架构师训练营作业 --Week2

吴炳华

极客大学架构师训练营

【架构师训练营】第2周总结

花生无翼

极客大学架构师训练营

BAT面试题汇总:分布式+Dubbo +JVM+微服务+多线程+Spring附答案(建议收藏)

程序员生活志

Java spring 面试 分布式 mybatis

【架构师第二周】总结

浪浪

听说你 ping 用的很 6 ?给我图解一下 ping 的工作原理

小林coding

面试 计算机网络 计算机基础

「架构师训练营」第2周作业 - 设计原则

guoguo 👻

极客大学架构师训练营

「架构师训练营」第 2周作业

旭东(Frank)

架构 极客大学架构师训练营

Redis系列之扫盲篇(一)

z小赵

Java 分布式 高并发系统设计

腾讯明眸·极速高清 —— 更高清更低码率的媒体处理技术方案_文化 & 方法_InfoQ精选文章