软硬协同:基于倚天的视频云编码性能升级

news2024/11/21 2:23:06

算力时代,靠吃「硬件红利」便能搞定新应用场景的「甜蜜期」已经过去。

人类社会的每一次科技跃迁,其本质都是计算力的突破与演进。

算盘拨出农耕文明的繁荣,机械计算机催生出第一次工业革命的袅袅蒸汽,而云计算的发展让万物互联成为真正可能。

在数据爆发式增长以及算法日益精进的大背景下,属于「算力」的时代俨然到来。

以音视频行业为例,趋近饱和的场景渗透率、用户对体验的极致追求、多元化的场景及技术需求,为底层算力和视频编码能力带来更大的挑战。

然而,在算力需求暴涨的同时,摩尔定律的演进速度却在放缓,「硬件红利」已然见底。

对于整个视频云赛道的算力困局,不仅需要上层软件系统的优化,也需要在底层硬件基础设施上,寻求破局之法。

01风口之下的算力困境

我们已经迈入社会视频化时代。视频无处不在,由此产生的流量已呈井喷式增长。

据《2022年中国网络视听发展研究报告》披露,截至2021年12月,我国网络视频(含短视频)用户规模达9.75亿,较2020年12 月增长4794万,占网民整体的94.5%。

网络视听正成为大众的娱乐刚需,视频正在成为各行业连接客户最广泛的载体,也成为各巨头抢占风口的关键点。

而在5G时代,视频流量将进一步增长。

视频流量激增的另一大原因,是用户对视频体验的「不将就」。

在视频规模持续增长的同时,随着网络和终端硬件设备的迭代,用户对视频清晰度体验的追求持续提升;视频超高清化也是继视频数字化之后的新一轮重大技术革新。

移动互联网终端观看分辨率从最开始的360P,480P,快速提升到720P,1080P以及近年出现的4K/8K超高清视频。

当前,国家也连续出台超高清产业支持措施并加速应用,如:5G+8K超高清技术在冬奥会和春晚实现商用;体育直播开始进入到4K HDR直播时代。

除了高分辨率,沉浸式视频体验还追求高帧率和宽色域,而每一次分辨率的提升,帧率的提升,色域增加带来的都是视频信息量的成倍增加。

因此,需要技术解决方案能更快应对更高清晰度、更低时延的视频编解码和转码,满足高清、高帧率、宽色域视频所带来的不断“扩容”的音视频数据流。

02难以调和的「视频编解码」矛盾

由于Raw(原始图像编码数据)视频数据是非常大的,如果不进行编码和压缩,不论是视频的存储还是传输,都将带来很大的麻烦,视频编码技术便是由此而来。

视频编解码起源于广播电视,从1951年第一部数字电视和广播诞生起,广播电视在很长一段时间里是视频编解码技术变革的核心推动力。

而到互联网时代,随着互联网的高速发展,使用互联网的用户和视频流量出现井喷式增长,互联网成为视频编码的主战场。

为了应对视频流量的不断增长,视频标准组织一直在推动视频编码技术的持续迭代。

从MPEG2开始,视频编码标准压缩率大约每10年提升50%,以2021年推出的h.266为例:相对于h.265压缩率提升50%,但其编码计算成本提升15倍。

 然而,用户对视频极致体验的追求与视频编码的演进其实存在着巨大的矛盾。

1.编码标准升级速度远慢于视频信息量膨胀的速度:「十年磨一剑」的视频编解码技术(10年50%压缩率的提升)已经远远慢于视频化和体验升级带来的流量增长(过去3年音视频流量已高达68.9%的增速),而未来带宽压力会越来越大。

2.新编码标准压缩率的提升远低于视频分辨率提升的速度:每一代编码标准的演进,都是在不断探索极限压缩率。新一代的编码标准对比上一代的标准通常有50%的压缩率提升。然而如果视频分辨率每提升一档,比如360P到720P,则会使信息量增加4倍。

3.新编码标准复杂度的增加远高于CPU处理能力的增加:新一代的编码标准对比上一代的标准大多增加10倍以上的复杂度,远高于CPU处理能力的增强,而视频编码的高复杂度导致编码技术难以普惠,尤其在实时场景。

随着AR,VR时代的到来,4K-8K高分辨率,60-120FPS高帧率,10-12bit宽色域,让视频的信息量更是成倍增加;加之低延时意味着对编码速度有更高的要求;而CPU芯片处理能力也不再遵循摩尔定律快速增长,视频体验-带宽-计算成本-编码速度的矛和盾的冲突会越来越严重。

03软硬协同,锚定性能升级

视频编码与视频处理为计算密集型场景,面对视频云赛道的算力困局,如何让高压缩率的编码算法,更加普惠?

解法是:软硬协同+深度自研编码内核。

在该方向,我们一直在持续优化、迭代,而倚天ECS的出现带来更好的答案。

2021年云栖大会,阿里平头哥发布首颗为云而生的CPU芯片倚天710,该芯片针对云场景研发,同时兼顾了性能与易用性。

经过一年的业务验证,倚天710已大规模部署并提供云上服务,算力性价比提升超30%,单位算力功耗降低60%。

搭载倚天710的ECS自设计初就是一款云原生服务器,凭借其灵活、先进、弹性的云原生芯片特性和优异的CPU算力,超低功耗,与视频云的转码服务特点强匹配,为视频云云原生转码业务带来更多可能。

基于倚天ECS,阿里云视频云与平头哥数据中心解决方案团队联合,对s264、s265编码器进行深度优化。

最终实现:相对于C7,转码性能提升30%,在8K直播场景中提升达到33%,助力更普惠,更高清的转码服务。

04四维优化,释放「软硬结合」最大效能

基于阿里自研的倚天710芯片进行优化,通过深度重构视频编码数据结构、并行框架,重新调优快速算法策略,从软件、汇编、硬件层面跨层深度优化,打造ARM友好的视频编码器的同时,塑造极致性能。

主要体现在以下四方面的核心优化:

计算密集型汇编优化

计算密集型函数通过汇编实现单指令多数据操作优化,除常规汇编指令优化外,基于倚天710的特点,在视频编码中充分利用可伸缩向量指令集,mmla类型高并发指令的优势,塑造更高的汇编加速比,总体性能提升40%;

例如:在ME搜索优化中,结合710 SVE寄存器预取特性,设计内存预取算法以及寄存器访问流程优化,大幅降低内存访问次数,如一次六边形搜索,可以减少3.8倍行访问次数。

计算函数并行优化

在计算密集型函数汇编优化基础上,充分对有性能增益但原本串行处理数据的算法(如SDH)进行并行处理优化,并实现基于ARM平台的汇编版本代码,在压缩性能基本一致的情况下函数速度性能提升约40%。

偏控制函数优化

根据倚天710芯片特性,我们重构了视频编码数据结构,并行框架,同时重新调优了快速算法策略,联合提升总体性能,例如快速算法checkSkip,Earlyskip等,总体性能提升20%。

系统层优化

在算法优化的基础上,针对视频转码特点,结合倚天710平台和视频云特有场景下进行系统配置优化,将二者结合的能力发挥到最大。

目前倚天ECS已经在视频云点播上线,性能提升30%,压缩率提升5%,同时阿里云视频云同步探索AI辅助视频编码方向。

初步结果显示:借助倚天ECS的超强算力,倚天ECS在Saliencymap推理上成本低于G6ni 50%以上,在窄带高清的普惠化方面展现出了巨大空间。

未来,我们将基于自研处理器展开预研,深度结合视频云业务,沉淀视频云技术能力,从架构、指令、访存等方面优化设计。

同时,继续与平头哥开展深度合作,共建软硬件结合自研芯片竞争力,算法、加速库、驱动、固件一体化设计,不断探索创新音视频技术,加强其在更多视频应用、更多终端设备上的普适性。

将更多的技术普惠到广大消费者,赋能千行百业的视频化需求,催生新兴产品形态和业务模式,为客户提供更快、更省、更低功耗、更高清、更实时的编码力,并为广大观众带来更极致的视听体验和更创新的互动玩法。

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

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

相关文章

Spark零基础入门实战(二)Scala基础之数据类型

在Scala中,所有的值都有一个类型,包括数值和函数。如图1-4所示,说明了Scala的类型层次结构。 Any是Scala类层次结构的根,也被称为超类或顶级类。Scala执行环境中的每个类都直接或间接地从该类继承。该类中定义了一些通用的方法,例如equals()、hashCode()和toString()。…

【畅购商城】微信支付之支付模块

目录 支付页面 接口 后端实现 ​​​​​​​前端实现​​​​​​​ ​​​​​​​支付页面 步骤一&#xff1a;创建 flow3.vue组件 步骤二&#xff1a;引入第三方资源&#xff08;js、css&#xff09; <script> import TopNav from ../components/TopNav impor…

[附源码]Python计算机毕业设计Django疫情物资管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

电动汽车 (BEV) 优化调度(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f389;作者研究&#xff1a;&#x1f3c5;&#x1f3c5;&#x1f3c5;本科计算机专业&#xff0c;研究生电气学硕…

Vue3中的pinia使用(收藏版)

1.pinia介绍 pinia 是 Vue 的存储库&#xff0c;它允许您跨组件/页面共享状态。就是和vuex一样的实现数据共享。 依据Pinia官方文档&#xff0c;Pinia是2019年由vue.js官方成员重新设计的新一代状态管理器&#xff0c;更替Vuex4成为Vuex5。 Pinia 目前也已经是 vue 官方正式的状…

原创 | 传统医药零售如何实现数字化转型

一、数字化转型是零售药店未来实现增长的必由之路“十四五”规划将清洁能源、军事、消费、医药以及高端制造等行业定为未来需要重点关注的领域。围绕“医保、医疗、医药”三条主线&#xff0c;医药行业推出了一系列重要的改革措施&#xff0c;即将进入有史以来最大变革的黄金时…

【Mysql 基础知识】

一、引言 #1.1 现有的数据存储方式有哪些&#xff1f; Java程序存储数据&#xff08;变量、对象、数组、集合&#xff09;&#xff0c;数据保存在内存中&#xff0c;属于瞬时状态存储。 文件&#xff08;File&#xff09;存储数据&#xff0c;保存在硬盘上&#xff0c;属于持久…

Talk | 香港大学在读博士生马逴凡:重新思考分辨率对于高效视频理解的意义

本期为TechBeat人工智能社区第460期线上Talk&#xff01; 北京时间12月7日(周三)20:00&#xff0c;香港大电子电机在读博士生——马逴凡的Talk将准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “重新思考分辨率对于高效视频理解的意义 ”&#xff0c;届时…

web课程设计:HTML非遗文化网页设计题材【京剧文化】HTML+CSS+JavaScript

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

12.8 - 每日一题 - 408

每日一句&#xff1a;成功与不成功之间有时距离很短只要后者再向前几步。 数据结构 1 若用冒泡排序方法对序列&#xff08;12&#xff0c;24&#xff0c;36&#xff0c;48&#xff0c;60&#xff0c;72&#xff09;从大到小排序&#xff0c;需要的比较次数是_____ A. 5 B. 1…

Tableau制作三元相图/三角图(Ternary/Triangle Chart)

三元相图 三角图就是有三个轴的坐标图&#xff0c;可以分别表示一个点在X、Y、Z三个维度上的不同比例情况。 与传统的XY坐标轴不同。XY坐标轴是有两个维度&#xff0c;而且每个维度没有上下限的限制。三角图中每个维度都在0-1的范围内&#xff0c;按百分比划分&#xff0c;即…

图像处理算法实战应用案例精讲-【目标检测】YOLO

前言 物体检测——顾名思义就是通过深度学习算法检测图像或视频中的物体。目标检测的目的是识别和定位场景中所有已知的目标。有了这种识别和定位,目标检测可以用来计数场景中的目标,确定和跟踪它们的精确位置,同时精确地标记它们。 目标检测通常与图像识别相混淆,所以在…

easyExcel 数据导入

前言 这段时间做了excel 数据导入&#xff0c;用的阿里巴巴的easyExcel 的代码。下面是官网和githab 代码地址。需要将github 上的代码拉下来&#xff0c;方便查看demo.关于Easyexcel | Easy ExcelEasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目&#xff0c;在尽…

[附源码]Python计算机毕业设计SSM基于与协同过滤算法的竞赛项目管理(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

可重复读实现原理

浅解释 概念 1、InnoDB 在每行记录后面保存两个隐藏的列&#xff0c;分别保存了数据行的创建版本号和删除版本号。每开始一个新的事务&#xff0c;系统版本号都会递增。事务开始时刻的系统版本号会作为事务的版本号&#xff0c;用来和查询到的每行记录的创建版本号对比。 2、i…

RKMEDIA--VP使用

本章描述rkmedia vp模块 即视频一入四处功能的介绍。 使用场景&#xff1a;主要用在DVR/DMS产品上&#xff0c;需要多路视频节点的输入和获取。 可以rv1126/rv1109可以外接模拟高清RX芯片&#xff08;NVP6188,TP2815等&#xff09;&#xff0c;达到8路camera输入的能力。 在…

PLSQL导出、导入数据 和 同步数据 以及 navicat 里同步数据 以及解决plsql导出数据乱码问题

PLSQL导出、导入数据 和 同步数据 以及 navicat 里同步数据 以及解决plsql导出数据乱码问题1. 导出数据1.1 导出.pde文件1.2 导出sql文件1.2.1 导出sql压缩文件1.2.1 导出问题——乱码 与 解决乱码问题1. 尝试解决方式12. 尝试解决方式23. 直接换PLSQ版本&#xff08;最终解决问…

Traysoft AddTapi.NET 支持多条线路

Traysoft AddTapi.NET 支持多条线路 使用Traysoft AddTapi。您可以轻松地将手机功能添加到C#、VB.NET和C应用程序中。添加Tapi。NET将为您提供开发移动应用程序所需的一切。包括&#xff1a;电话呼叫、接收者ID、语音邮件、警告系统、电话呼叫跟踪和监控。添加Tapi。NET继续联系…

微服务框架 SpringCloud微服务架构 25 黑马旅游案例 25.3 我附近的酒店

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构25 黑马旅游案例25.3 我附近的酒店25.3.1 直接开干25 黑马旅游案例 25.3 …

计算机组成大题分析(四)

假设计算机 M 的主存地址为 24 位,按字节编址,采用分页存储管理方式,虚拟地址为 30 位,页大小为 4KB,TLB 采用 2 路组相联方式 和LRU 替换策略,一共8组。请回答一下问题。 (1) 虚拟地址中有哪几位表示虚页号? 哪几位表示内存地址? (2)己知访问 TLB 时虚页号高位部分用作 TLB…