当前位置: 首页 > news >正文

下一代视频编码技术2023

下一代视频编码技术

下面将从这两个角度来介绍华为云视频在下一代视频编码技术上的一些工作。这些技术得益于华为2012 媒体技术院全力支持。

2.1 下一代视频编码标准技术

从上图可以看出,下一代的视频编码标准大概分为三个阵营或者三个类型:
国际标准:由 MPEG、VVC 联合推动的像 VVC/H.266还有 EVC。
国内标准:国内标准组织正在推出或已经推出 AVS3 的 phase1、AVS3 的 phase2,两者主要差别在于 AVS3 第1 阶段标准瞄准 H.266,第二阶段的标准则是瞄准未来, 可能会加入一些智能编码的技术。
谷歌牵头的 AOM 联盟推出的 AV1,是一个开源技术。

下一代的视频编码技术仍是采用传统的演进思路——在经典架构上做模块增强。在H.266CFP 时,华为联合其他几家公司提了 P41 提案,在 PSNR 和 MOS 评估方面都是排名第一,这个提案也是后面的基础。华为在 VVC 里的核心专利数量已属于第一阵营,这是一个了不起的成就,也说明了国内的视频压缩编码基础研究实际上不弱于欧美传统的公司。

以 VVC 为例,对其新增的增强工具进行盘点。纵轴是每个工具的压缩收益,横轴是每个工具编解码复杂度,编码复杂度的权重可能会更高一点。VVC 在块划分、帧内预测、帧间预测、熵编码、变换量化等多个模块上进行了增强,其中主要的增强是帧内、帧间预测、块划分、滤波的增强以及机器学习工具演进带来的收益。VVC 暂时没有引入深度学习这一类编码工具。

图中还有三个用红圈标出来的工具,这是 VVC 中公认 trade off 比较好的三个工具点。蓝色的是 ALF,这是大家比较熟悉的自适应环路滤波,其实它在 H.265的时代就已经有了, H.266 将它引入标准中;绿色的是仿射运动预测,这个主要是由华为提出的;橙色的是量化技术。

EVC 标准的提出某种程度是因为 H.265/H.266的专利政策不友好,有可能导致 H.266 的落地都比较困难。MPEG 希望能通过一个新的专利友好的标准来推动落地,同时也促使改变 H.266、H.265 的专利授权政策。EVC 由华为、三星、高通等共同提出推动,华为在这里面加入了很多技术。在标准立项时期望它比 H.265 的压缩性能提升20%,实测在4K 娱乐视频上相比 H.265 压缩效率提升达30% 以上,目前已经进入了最终的标准投票阶段。

AVS3 是国内提出的标准,它的 phase1 是瞄准 H.266 标准的,并且在2019 年3 月份就已经制定完成率先推出,在2019 年9 月份,华为海思也同步推出了 AVS3 8K 的解码芯片,AVS3 相对H.265 性能提升了20% 以上,并且针对娱乐视频和监控视频做了很多针对性的设计,性能上还可进一步提升。

H.266 实际已经基本定稿,它的压缩效率在4K 视频场景下相较于 H.265 能提升40% 左右,其解码复杂度相对提升60%,目前看最大的问题还是专利政策不够透明,而且专利费可能比较高,推广节奏可能相对比较慢。

EVC 也基本定稿, 而且其压缩效率也能提升30% 左右,解码复杂度相对 H.265 增加60%。其专利收费可能相对比较低,第二是他的专利收费比较透明和明确,目前主要依靠三星、华为、高通来做产业的推动和生态的构建。

AVS3 在2019 年3 月份推出,在性能上还是有保证的,压缩效率能够提升25%,复杂度增加相对较低,其专利收费也是比较低的,正通过互联网等行业做产业的推动和生态构建,目前实际上有很多联盟和公司正在做推动,我们也希望 AVS3 尽快落地。

表格中没有列举 AV1 的数据,这主要是因为它和其他三个标准不太一样,AV1 开源软件实际上是瞄准商用化去做的,大家也比较清楚其压缩效率和解码复杂度。AV1 有个很大的优势就是没有专利费,这是 AOM 联盟的承诺。在产业落地方面 AV1 做的很好,生态构建走的较前。

2.2 AI编码
下一代视频编码标准还有一个趋势就是 AI 编码,这一块实际上从 HEVC、VVC 标准制定就有提出,但因为考虑计算复杂度以及 AI 硬件普适性,都暂时搁置了。但这是个技术趋势。

AI 编码包括两个演进思路:
第一个是全新架构,类似于图像编码,实际上 AI 的图像编码已经取得了不错的成效,谷歌牵头的 AI 图像编码技术都已经得到了很好地应用,但针对视频中的应用还在探索过程中。所谓的全新架构,就是不用传统架构,视频进入黑盒后会得出一个压缩过的视频,这个视频可能没有块划分,也没有各种其他的方式,它的压缩效率会非常高,但这一切还处于研究的过程中。

另外一个思路是基于经典架构,对每个架构里的模块做增强。例如针对块划分、变换、矢量量化、帧内预测做不同的 AI 网络适应和增强。实际上华为也在做这方面的研究,未来可能会提出一些 AI 编码方面的论文或提案。并且我们认为 AI 编码的这两种思路,最终将是融合设计的过程,不会呈相互孤立的状态。

  1. 华为云视频应用和实践

3.1 云视频简介
上面简单介绍了下一代视频编码标准技术,下面介绍一下从实际商用及非标角度,介绍一下华为云视频在视频编码技术上的应用和实践。

首先介绍一下华为云视频,华为云视频是从2017 年开始构建的,目前包括两大类业务,一种是比较传统的直播、点播、媒体处理以及监控业务,另一种是整个行业正在新晋的服务,比如 RTC、VR/AR 以及超高清直播。华为云视频面向很多的场景,例如娱乐直播、短视频、在线教育、企业直播、4K 直播、4K 制作等等,我们致力于帮助行业客户、伙伴、开发者、ISV 快速上线应用,并帮他们构建差异化的竞争力,实现商业闭环。这里需要重点提一下 RTC,RTC 是华为云视频对下一代视频的理解并作出了实际的推动,针对 RTC,我们重点构建超低时延、音视频质量等差异化竞争力。

3.2 视频编码技术
3.2.1视频编码框架
结合今天的主题,下面重点讲解华为云视频在视频编码技术上的一些工作。这些技术得力于华为2012 媒体技术院全力支持。编码内核采用了一个标准的编码器,类似于前面提到的 H.264、H.265、AVS3、H.266 或者 EVC 这一类,在这个编码内核的基础上,我们面向不同的场景做了不同的编码技术的优化和实践。比如面向 RTC 实时音视频场景,采用低时延编码技术;面向 VR 场景,采用 FOV tile 编码;面向多视角场景,采用空间云边协同编码;面向监控场景,采用智能语义编码;面向直播、点播,采用感知编码和画质增强等;另外,华为云视频借助鲲鹏、昇腾两大专有硬件,加速视频编转码效率。鲲鹏主要面向 CPU 这类计算,昇腾主要面向 AI 方面的加速。

3.1.2标准编码内核
接下来分别介绍一下视频编码的技术,第一是编码内核,华为云在商用编码器上面也有很多的技术积累。比如说近几年在 MSU 的大赛上,HW265 编码器连续两年获得多项测评的第1 名,今年我们也会向 MSU 推出新的编码器。

3.2.3 高清低码
第二个技术是高清低码,高清低码目前在各个厂商或者商业领域里是大家比较默认的技术,也就是说在基于标准编码内核的基础上,能降低码率的同时保证主观质量没有下降,但实际上高清低码理论可行性是现有视频编码是基于香农定理,它的率失真模型都是连续的,但是人眼视觉模型是阶梯性非连续的,在这个阶梯上存在一个降码率的空间。

高清低码一般情况下包括三个模块:
第一是基于人眼 JND 模型,就是说如何找出 JND;
第二是基于 JND 去做感知编码;
第三就是通过感知编码来控制标准编码内核输出,在主观质量不变的情况下大幅降低码率。

高清低码技术现在也走到了一个瓶颈期,原有高清低码的考虑仅来源于编码与传输信道,随着 AI 技术的发展,是否还有进一步的发展空间?

超低时延编码
RTC 场景是我们面向下一代视频产业重点打造的服务能力,RTC 场景下主要是超低时延的编码,我们提出了一个综合的超低时延方案,比如编码和渲染联合优化、编码的内核以及分层编码和信源信道协同等技术手段,面向不同的实时场景会做不同的组合或者应用,我们初步试验发现在1080P 这种场景下进行编码和解码,整体的时延能达到十毫秒级别。

下一代视频编码技术
在这里插入图片描述

从上图可以看出,下一代的视频编码标准大概分为三个阵营或者三个类型:
国际标准:由 MPEG、VVC 联合推动的像 VVC/H.266还有 EVC。
国内标准:国内标准组织正在推出或已经推出 AVS3 的 phase1、AVS3 的 phase2,两者主要差别在于 AVS3 第1 阶段标准瞄准 H.266,第二阶段的标准则是瞄准未来, 可能会加入一些智能编码的技术。
谷歌牵头的 AOM 联盟推出的 AV1,是一个开源技术。

下一代的视频编码技术仍是采用传统的演进思路——在经典架构上做模块增强。在H.266CFP 时,华为联合其他几家公司提了 P41 提案,在 PSNR 和 MOS 评估方面都是排名第一,这个提案也是后面的基础。华为在 VVC 里的核心专利数量已属于第一阵营,这是一个了不起的成就,也说明了国内的视频压缩编码基础研究实际上不弱于欧美传统的公司。

以 VVC 为例,对其新增的增强工具进行盘点。纵轴是每个工具的压缩收益,横轴是每个工具编解码复杂度,编码复杂度的权重可能会更高一点。VVC 在块划分、帧内预测、帧间预测、熵编码、变换量化等多个模块上进行了增强,其中主要的增强是帧内、帧间预测、块划分、滤波的增强以及机器学习工具演进带来的收益。VVC 暂时没有引入深度学习这一类编码工具。
在这里插入图片描述

图中还有三个用红圈标出来的工具,这是 VVC 中公认 trade off 比较好的三个工具点。蓝色的是 ALF,这是大家比较熟悉的自适应环路滤波,其实它在 H.265的时代就已经有了, H.266 将它引入标准中;绿色的是仿射运动预测,这个主要是由华为提出的;橙色的是量化技术。
在这里插入图片描述

EVC 标准的提出某种程度是因为 H.265/H.266的专利政策不友好,有可能导致 H.266 的落地都比较困难。MPEG 希望能通过一个新的专利友好的标准来推动落地,同时也促使改变 H.266、H.265 的专利授权政策。EVC 由华为、三星、高通等共同提出推动,华为在这里面加入了很多技术。在标准立项时期望它比 H.265 的压缩性能提升20%,实测在4K 娱乐视频上相比 H.265 压缩效率提升达30% 以上,目前已经进入了最终的标准投票阶段。

AVS3 是国内提出的标准,它的 phase1 是瞄准 H.266 标准的,并且在2019 年3 月份就已经制定完成率先推出,在2019 年9 月份,华为海思也同步推出了 AVS3 8K 的解码芯片,AVS3 相对H.265 性能提升了20% 以上,并且针对娱乐视频和监控视频做了很多针对性的设计,性能上还可进一步提升。

H.266 实际已经基本定稿,它的压缩效率在4K 视频场景下相较于 H.265 能提升40% 左右,其解码复杂度相对提升60%,目前看最大的问题还是专利政策不够透明,而且专利费可能比较高,推广节奏可能相对比较慢。

EVC 也基本定稿, 而且其压缩效率也能提升30% 左右,解码复杂度相对 H.265 增加60%。其专利收费可能相对比较低,第二是他的专利收费比较透明和明确,目前主要依靠三星、华为、高通来做产业的推动和生态的构建。

AVS3 在2019 年3 月份推出,在性能上还是有保证的,压缩效率能够提升25%,复杂度增加相对较低,其专利收费也是比较低的,正通过互联网等行业做产业的推动和生态构建,目前实际上有很多联盟和公司正在做推动,我们也希望 AVS3 尽快落地。

表格中没有列举 AV1 的数据,这主要是因为它和其他三个标准不太一样,AV1 开源软件实际上是瞄准商用化去做的,大家也比较清楚其压缩效率和解码复杂度。AV1 有个很大的优势就是没有专利费,这是 AOM 联盟的承诺。在产业落地方面 AV1 做的很好,生态构建走的较前。

相关文章:

下一代视频编码技术2023

下一代视频编码技术 下面将从这两个角度来介绍华为云视频在下一代视频编码技术上的一些工作。这些技术得益于华为2012 媒体技术院全力支持。 2.1 下一代视频编码标准技术 从上图可以看出,下一代的视频编码标准大概分为三个阵营或者三个类型: 国际标准…...

最新最全中小微企业研究数据:海量创业公司信息与获取投资信息(1985-2021年)

一、企业获取投资名单&资方信息 数据来源:搜企网、企查查、天眼查 时间跨度:1985年8月-2021年9月 区域范围:全国范围 数据字段:企业名称、时间、获得投资金额以及投资方信息 部分数据: DateCompany_nameUnit…...

springboot数据源浅析

DataSourceAutoConfiguration分析 SpringBoot有一个自动配置DataSourceAutoConfiguration 为数据源配置 /META-INF/spring.factories文件找到DataSourceAutoConfiguration配置类 一、先来看下DataSourceAutoConfiguration配置类生效的时机,观察源码发现 Configura…...

2022黑马Redis跟学笔记.实战篇(七)

2022黑马Redis跟学笔记.实战篇 七4.11.附近的店铺功能4.11.1. GEO数据结构的基本用法1. 附近商户-导入店铺数据到GEO4.11.2. 获取附近的店铺1. 附近商户-实现附近商户功能4.9. 签到功能4.9.1.BitMap原理1. 用户签到-BitMap功能演示4.9.2.实现签到功能4.9.3.实现补签功能4.9.4.统…...

QT mp3音乐播放器实现框架,Qt鼠标事件,网络编程,QSqlite,Json解析,HTTP请求等

QT mp3音乐播放器实现框架,Qt鼠标事件,网络编程,QSqlite,Json解析,HTTP请求等框架搭建UI设计mp3.hmp3.cpp隐藏窗口标题 最大化 最小化 关闭框架搭建 .pro添加 # 网络 添加多媒体 数据库 QT network multimedia sql添加头…...

硬件学习 软件Cadence day04 PCB 封装绘制

1.文章内容: 1. 贴片式电容 PCB 封装绘制 (型号 c0603 ) 2. 贴片式电阻 PCB 封装绘制 (型号 r0603 ) 3. 安规式电容 PCB 封装绘制 (这个就是 有一个电容,插入一个搞好的孔里面 …...

【Java】yield()和join()区别

一、java 线程调度的背景 java虚拟机要求在多线程中实现 preemptive和priority-based调度,这意味着java中每一个线程被分配了特定的优先级,正整数在定义好的范围内不断减。优先级可以通过开发者改变但是java虚拟机从不改变线程的优先级,即使…...

【MySQL】Java连接MySQL数据库(封装版只需会MySQL)

一、准备普通项目如果创建的是普通的Java项目,我们需要去maven仓库下载jdbc驱动包然导入项目中就能使用,具体步骤详见MySQL数据库之Java中如何使用数据库【JDBC编程】maven项目如果创建的项目是maven项目,我们只需在pom.xml文件里引入一组依赖…...

【java基础】运算符

运算符 operator 运算符优先级 Operators 操作员Precedence 优先级postfix 后缀expr expr--unary 一元的expr --expr expr -expr ~ !multiplicative 〔数〕乘法的 / %additive 添加剂 -shift 移动<< >> >>>relational 关系的< > < > insta…...

带噪学习-概述

在实际应用的时候&#xff0c;我们的样本不会是完全干净的&#xff0c;即存在噪声样本。那使用存在噪声的样本时&#xff0c;我们如何更有效的进行模型学习呢&#xff1f;Label Dependent Nose样本选择&#xff08;Sample Selection&#xff09;第一种很直接的想法&#xff0c;…...

Scratch少儿编程案例-多彩打地鼠

专栏分享 点击跳转=>Unity3D特效百例点击跳转=>案例项目实战源码点击跳转=>游戏脚本-辅助自动化点击跳转=>Android控件全解手册点击跳转=>Scratch编程案例👉关于作者...

为什么拔掉计算机网线还能ping通127.0.0.1?

前言 当我们在计算机上拔掉网线之后&#xff0c;发现我们仍然可以使用ping命令来ping通本机的IP地址127.0.0.1&#xff0c;这让很多人感到困惑&#xff0c;认为拔掉网线后计算机就无法与外界通信了&#xff0c;为什么还能ping通本机的IP地址呢&#xff1f; 本文的目的是通过对…...

Android kotlin 内、外部存储根目录及测试(可以实现仿微信未读消息数提示数字)

<<返回总目录 文章目录 一、内部存储与外部存储三、外部存储的写读测试(可以实现仿微信未读消息数提示数字)一、内部存储与外部存储 所有Android设备都有两个文件存储区域:内部存储空间(internal Storage)和外部存储空间(external Storage)。所以,Android系统从逻…...

Android 7.0 OTA升级(高通)

文章目录1. Full OTA 方式升级介绍1.1 Full OTA 制作第一步&#xff1a;生成 msm89xx-target_files-eng.XXX.zip1.2 Full OTA 制作第二步&#xff1a;Modem 等非 HLOS 加入升级包的方法1.3 Full OTA 制作第三步&#xff1a;生成 update.zip 升级包2. Incremental OTA 方式升级介…...

工作负载之DeployMent

DeployMent 无状态工作负载&#xff08;Deployment&#xff09;&#xff1a;即kubernetes中的“Deployment”&#xff0c;无状态工作负载支持弹性伸缩与滚动升级&#xff0c;适用于实例完全独立、功能相同的场景&#xff0c;如&#xff1a;nginx、wordpress等。 也是公司中应…...

淘宝tmall页面数据获取,API接口对接程序

item_get-获得淘宝商品详情请求参数请求参数&#xff1a;num_iid652874751412&is_promotion1参数说明&#xff1a;num_iid:淘宝商品IDis_promotion:是否获取取促销价响应参数Version: Date:2022-04-04名称类型必须示例值描述itemitem[]1宝贝详情数据num_iidBigint152081325…...

基于粒子群优化算法的电动汽车充放电V2G研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

java并发编程原理2 (AQS, ReentrantLock,线程池)

一、AQS&#xff1a; 1.1 AQS是什么&#xff1f; AQS就是一个抽象队列同步器&#xff0c;abstract queued sychronizer&#xff0c;本质就是一个抽象类。 AQS中有一个核心属性state&#xff0c;其次还有一个双向链表以及一个单项链表。 首先state是基于volatile修饰&#x…...

研报精选230219

目录 【行业230219山西证券】煤炭行业周报&#xff1a;复工改善&#xff0c;港口价格企稳反弹【行业230219中航证券】农林牧渔行业周观点&#xff1a;一号文件落地&#xff0c;生物育种超势不改【行业230219华西证券】汽车行业周报&#xff1a;新车密集上市 自主转型提速【个股…...

【PPPoE】PPPoE拨号流程

简介 PPPoE&#xff08;Point-to-Point Protocol over Ethernet&#xff09;是一种在以太网上封装PPP协议的方式&#xff0c;常用于在宽带接入中进行拨号。 PPPoE的拨号原理如下&#xff1a; 客户端发起PPPoE Active Discovery Initiation (PADI)报文&#xff0c;广播到网络…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

django blank 与 null的区别

1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是&#xff0c;要注意以下几点&#xff1a; Django的表单验证与null无关&#xff1a;null参数控制的是数据库层面字段是否可以为NULL&#xff0c;而blank参数控制的是Django表单验证时字…...