下一代视频编码技术2023

news2024/11/15 15:30:59

下一代视频编码技术

下面将从这两个角度来介绍华为云视频在下一代视频编码技术上的一些工作。这些技术得益于华为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 做的很好,生态构建走的较前。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/356456.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

卷积神经网络(CNN)经典模型分析(一)

CNN经典模型分析🐬 目录: 一、CNN概论二、model分析LeNet5AlexNetVggNetGoogleNetResNet 三、参考资料 一、CNN概论 如图所示:人工智能最大,此概念也最先问世;然后是机器学习,出现的稍晚;最后才是深度学习…

Python编程自动化办公案例(2)

作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.前期代码 二.实现批量读取 1.os库 2.实现思路 (1&#…

VBA提高篇_ 22 事件处理

文章目录1.事件编程2.常用工作簿事件名称与对应处理过程名称示例3. 事件编程的步骤4.工作簿事件4.1 Open4.2 BeforeClose4.3 NewSheet5.工作表事件6.变量和过程函数的作用域1.事件编程 写在事件发生地(对应工作簿或工作表) 2.常用工作簿事…

22 pandas字符串操作

文章目录字符串对象方法cat和指定字符串进行拼接查看数据不指定参数,所有姓名拼接不指定参数,所有姓名拼接添加分隔符添加数据遇到空值时合并split按照指定字符串分隔partition 按照指定字符串分割get 获取指定位置的字符,只能获取1个slice 获…

LeetCode题目笔记——6362. 合并两个二维数组 - 求和法

文章目录题目描述题目链接题目难度——简单方法一:常规双指针遍历代码/Python方法二:字典\哈希表代码/Python总结题目描述 给你两个 二维 整数数组 nums1 和 nums2. nums1[i] [idi, vali] 表示编号为 idi 的数字对应的值等于 vali 。nums2[i] [idi, …

Flutter-Widget-学习笔记

Widget 是整个视图描述的基础。 参考:https://docs.flutter.dev/resources/architectural-overview Widget 到底是什么呢? Widget 是 Flutter 功能的抽象描述,是视图的配置信息,同样也是数据的映射,是 Flutter 开发框…

2023年美赛C题Wordle预测问题二建模及Python代码详细讲解

更新时间:2023-2-19 相关链接 (1)2023年美赛C题Wordle预测问题一建模及Python代码详细讲解 (2)2023年美赛C题Wordle预测问题二建模及Python代码详细讲解 (3)2023年美赛C题Wordle预测问题三、四…

【Python】进制、计算机中的单位、编码、数据类型、索引、字符串切片、字符串的功能方法

一、进制计算机中底层所有的数据都是以 010101 的形式存在(图片、文本、视频等)。二进制八进制十进制(也就是我们熟知的阿拉伯数字)十六进制进制转换v1 bin(25) # 十进制转换为二进制 print(v1) # "0b11001"v2 oct(23…

【数据结构】顺序表:随机访问的速度快到飞起

👑专栏内容:数据结构⛪个人主页:子夜的星的主页💕座右铭:日拱一卒,功不唐捐 文章目录一、前言二、线性表三、顺序表1、定义2、静态顺序表3、动态顺序表4、接口实现Ⅰ、初始化Ⅱ、销毁Ⅲ、增容Ⅳ、插入Ⅴ、删…

中国各省人力资本测算就业人员受教育程度构成(2000-2021年)

数据来源:自主整理 时间跨度:2000-2021年 区域范围:全国各省 指标说明: 人力资本测算公式:(小学*6初中*9高中*12大专及以上*16)/六岁及以上人口 参考文献: [1]罗仁福, 刘承芳,…

Python pandas「原有或者新建」Excel中「追加新或者新建」sheet

1.pandas原有Excel中追加新sheet 使用Pandas库,我们可以轻松将数据追加到现有的Excel工作簿中的新工作表中。以下是追加新工作表的简单步骤: 读取现有的Excel文件 使用Pandas库中的read_excel()函数读取现有的Excel文件。指定Excel文件的路径和文件名&a…

多模态机器学习入门Tutorial on MultiModal Machine Learning——第一堂课个人学习内容

文章目录课程记录核心技术Core Technical Challengesrepresentation表示alignment对齐转换translationFusion融合co-learning共同学习总结Course Syllabus教学大纲个人总结第一周的安排相关连接课程记录 这部分是自己看视频,然后截屏,记录下来的这部分的…

C生万物 | 模拟实现库函数strcpy之梅开n度

文章目录【梅开一度】:观察库函数strcpy()的实现【梅开二度】:模仿实现strcpy()【梅开三度】:优化简练代码【梅开四度】:assert()断言拦截【梅开五度】:const修饰常量指针【梅开六度】:还可以有返回值哦&am…

如何使用linux服务器多核跑程序和unhashable type: ‘list‘报错的解决方案

问题描述 在使用服务器多核跑程序的时候,需要把核心的程序抽取出来,然后提供迭代参数。然后就可以使用多核去跑程序了。但是在执行的过程中报错如下: Exception has occurred: TypeError unhashable type: list File "/home/LIST_208…

【机器学习 深度学习】通俗讲解集成学习算法

目录:集成学习一、机器学习中的集成学习1.1 定义1.2 分类器(Classifier)1.2.1 决策树分类器1.2.2 朴素贝叶斯分类器1.2.3 AdaBoost算法1.2.4 支持向量机1.2.5 K近邻算法1.3 集成学习方法1.3.1 自助聚合(Bagging)1.3.2 提升法(Boosting)1.3.2.1 自适应adaboost1.3.3 …

【C语言编译器】02 Windows下 7 种C语言IDE的使用(万字长文警告,含Visual Studio多个版本)

目录一、Visual Studio1.1 VS 20101.2 VS 20151.21 简介1.22 使用1.3 VS 20171.31 简介1.32 使用1.4 VS 20191.41 简介1.42 使用1.5 VS 20221.6 VS 安全函数问题1.7 VS “无法查找或打开PDB文件” 问题二、CLion2.1 CLion简介及安装2.2 使用CLion编写C程序三、Dev C3.1 Dev C简…

【ubuntu 22.04不识别ch340串口】

这个真是挺无语的,发现国内厂商普遍对开源环境不感兴趣,ch340官方linux驱动好像被厂家忘了,现在放出来的驱动还是上古内核版本: 于是,驱动居然要用户自己编译安装。。还好网上有不少大神:链接,…

一起学 pixijs(3):Sprite

大家好,我是前端西瓜哥。今天来学习 pixijs 的 Sprite。 Sprite pixijs 的 Sprite 类用于将一些纹理(Texture)渲染到屏幕上。 Sprite 直译为 “精灵”,是游戏开发中常见的术语,就是将一个角色的多个动作放到一个图片…

零基础小白如何学会Java?

Java作为目前使用最广泛的编程语言,自身在常见的企业级业务应用程序以及Android应用程序等方面都有突出的表现。作为跨平台语言,具有安全性、易用性、通用性等特点,被特意设计用于互联网的分布式环境。 对于很多喜欢代码的小伙伴来说Java都是…

音乐播放器-- 以及数据库数据存储

运行环境 : java1.8 数据库以及代码编写工具 : sqlserver -- mysql 也可以 工具 eclipse 编码gbk窗体 : Swing使用了jaudiotagger 进行了音乐处理 图片展示 ----- 空闲时间 做出来玩的项目 部分功能还没有完善 完善了的功能 音乐 /// 主页 &a…