CANN5.0黑科技解密 | 高并发图片视频处理,为出行保驾,为生活添彩!
摘要:华为推出昇腾AI基础软硬件平台(昇腾AI处理器+异构计算架构CANN),不仅能高效承接各类人工智能计算任务,还可两招解决以上图像处理面临的诸多问题。
四通八达的路网和车水马龙的盛景诠释着城市的繁荣和进步,但是水泄不通的路口和暴躁不安的司机也暴露了城市发展面临的诸多问题。
智慧交通将人、车、路互联互通,依靠大数据、物联网、人工智能等高新技术,汇集路况信息,提供实时、高效、安全的交通信息服务。分布在大街小巷的道路摄像机,化身为城市的“眼睛”, 7*24小时不间断工作,为人们交通出行提供了重要的数据来源。

数据是智慧交通的基础和命脉,如何实时、高效地处理如此海量的路况数据却绝非易事!
一般来说,摄像机采集的数据会通过网络传输到数据计算中心,而受制于网络带宽,数据计算中心获取的都是从各地的摄像头编码后的H264/H265/JPEG码流数据,要想进行AI智能分析,需要把数据解码成RGB/YUV格式,然后经过抠图、缩放等一系列预处理操作过滤出人脸、车辆等核心信息,最后送入AI计算单元得出实时路况分析结果。
如此一来,每个路口的实时流量、人群密度,甚至人群的行走速度等便一目了然。

然而,虽说市面上的AI处理器一般都有较强的计算能力,但图像解码性能往往无法匹配,需要叠加解码器来完成图像解码,这无疑会带来大量的部署成本和适配工作量。另外,抠图、缩放等图像预处理操作固然可以借助GPU+CPU实现,但也必将造成图像处理和神经网络计算抢占资源,影响整体性能。
华为推出昇腾AI基础软硬件平台(昇腾AI处理器+异构计算架构CANN),不仅能高效承接各类人工智能计算任务,还可两招解决以上图像处理面临的诸多问题。
第一招:昇腾AI处理器内置图像处理单元,节约硬件部署成本
以搭载了昇腾AI处理器的Atlas 300I Pro推理卡为例,其中的数字视觉预处理模块DVPP(全称Digital Video Pre-Processor)集成了12个视频解码核、16个图片解码核、8个图片编码核、3个视频编码核、12个可提供抠图缩放等能力的图像预处理核。与AI计算资源共栖的图像处理专用硬件,无疑是数据计算中心基础设施建设阶段的福音,可大大节约独立硬件的部署成本。
第二招:异构计算架构CANN多路并发,加速图像处理效率
如此丰富的图像处理硬件资源,给予了软件层更加广阔的施展空间。作为专门面向AI场景的异构计算架构,CANN(Compute Architecture for Neural Networks)以释放昇腾AI处理器极致算力为目标,通过软硬件协同优化,不仅能高效调度AI计算资源,还可加速DVPP硬件的图像处理效率,大大降低对CPU的使用。值得关注的是,即将在2021年年底发布的CANN 5.0版本中,通过全新的异步任务下发通道,将进一步降低任务下发时延,驱动多个硬件加速器多路并行处理,提升整体处理性能。
1、多线程并行video解码: CANN5.0+Atlas 300I Pro软硬件协同,支持128路1080P 30fps H264/H265视频流解码

2、多线程并行jpeg编解码:CANN5.0+Atlas 300I Pro软硬件协同,支持1024fps @1080P图片编码,2048fps @1080P图片解码

3、多线程并行图像预处理:CANN5.0+Atlas 300I Pro软硬件协同,支持4320fps@1080P图像预处理,满足CV类算法的图片格式转换、抠图、缩放、填充、直方图统计相关处理,大大节省了计算资源。
除了性能上带来的突出表现, 异构计算架构CANN还提供了简单易用的图像处理接口和丰富的高性能算子库,支持对特定格式的视频和图像进行解码、缩放等预处理操作,同时具有对处理后的视频、图像进行编码再输出的能力,可支撑用户灵活多样的图像处理需求:
- 视频解码:支持H264、H265两种视频格式的码流解码
- 视频编码:支持YUV图片数据编码成H264、H265两种视频格式
- JPEG解码:支持JPG图片解码
- JPEG编码:支持YUV格式图片编码成.jpg图片
- 图像预处理:支持各种格式的图像数据增强功能,包含抠图、缩放、叠加、黏贴、格式转换、直方图统计等
昇腾CANN超强的图像并发处理能力和丰富多样的图像处理接口,为城市智慧交通提供了有力的技术支持,让出行管理更高效,通行更通畅。打个比方,借助CANN 128路高并发视频解码能力,可以让一个部署摄像头总数约40w台的大型城市仅需3000+服务器即可完成实时视频的智能分析处理需求,CANN正在用硬核实力为人们的出行保驾护航。

除了智慧交通领域,媒体视频领域也正逐步借力CANN图像并发处理能力,为用户带来全新的视觉体验,给人们的生活增色添彩。
视频类业务发展至今,已不仅仅是单纯视频内容的播放呈现,以自由视角为代表的极具张力的视觉体验吸引了越来越多的受众。所谓自由视角,就是通过现场环绕部署的多台摄像机,让观众多角度、多细节、立体化地欣赏到精彩的表演效果或比赛瞬间。
借助CANN超强图像并发处理技术,将现场从不同角度采集的多路视频进行并发解码处理,经过AI智能合成后,编码成视频流,实时传送给观众,带来沉浸式的视觉体验。

再者,我们在看视频或直播的时候,往往会根据当前网络状况选择不同的清晰度。这对应在服务端其实就是视频转码的过程,将原始视频解码过后,根据用户选择的不同清晰度进行编码。
在整个过程中,视频编解码性能的好坏考验着用户的耐心,CANN提供的超强图像并发处理技术,在视频解码的同时可轻松完成多路视频编码,大大降低转码时间,实时满足用户观看需求。

智能数字时代,图像处理+AI计算的混搭场景会越来越常见,CANN做为专门面向AI场景的异构计算架构,能轻松地协同好各类异构资源,通过多线程并行video解码、多线程并行jpeg编解码、多线程并行数据预处理技术,加速图像处理过程,带来可观的性能收益。
随着协议的演进,CANN还会支持更先进的H266编解码协议,支持更多CV预处理算子;随着AI数据量的日益增大,CANN也将解锁更多图像预处理技术,进一步加速图像处理过程。

在人工智能产业蓬勃发展的时代,CANN乘风而来,通过先进的图像处理技术为各行各业解燃眉之急;同时,怀着对未来的憧憬,CANN也必将破浪前行,通过更多技术创新拥抱崭新的业务场景,让人工智能真正走入千行百业!
欢迎登陆昇腾社区网站(https://www.hiascend.com/)了解更多信息。
CANN5.0黑科技解密 | 高并发图片视频处理,为出行保驾,为生活添彩!的更多相关文章
- CANN5.0黑科技解密 | 别眨眼!缩小隧道,让你的AI模型“身轻如燕”!
摘要:CANN作为释放昇腾硬件算力的关键平台,通过深耕先进的模型压缩技术,聚力打造AMCT模型压缩工具,在保证模型精度前提下,不遗余力地降低模型的存储空间和计算量. 随着深度学习的发展,推理模型巨大的 ...
- Java马士兵高并发编程视频学习笔记(二)
1.ReentrantLock的简单使用 Reentrant n.再进入 ReentrantLock 一个可重入互斥Lock具有与使用synchronized方法和语句访问的隐式监视锁相同的基本行为和 ...
- Java马士兵高并发编程视频学习笔记(一)
1.同一个资源,同步和非同步的方法可以同时调用 package com.dingyu; public class Y { public synchronized void m1() { System. ...
- 从菜鸟到大神:Java高并发核心编程(连载视频)
任何事情是有套路的,学习是如此, Java的学习,更是如此. 本文,为大家揭示 Java学习的套路 背景 Java高并发.分布式的中间件非常多,网上也有很多组件的源码视频.原理视频,汗牛塞屋了. 作为 ...
- Websocket全讲解。跨平台的通讯协议 !!基于websocket的高并发即时通讯服务器开发。
本博文,保证不用装B的话语和太多专业的语言,保证简单易懂,只要懂JAVAEE开发的人都可以看懂. 本博文发表目的是,目前网上针对Websocket的资料太散乱,导致初学者的知识体系零零散散,学习困难加 ...
- 纯Java——简易高并发框架
转自:https://blog.csdn.net/MonkeyDCoding/article/details/81369610 0.源代码github-简易高并发框架 注:本篇博客知识来自于网课. 1 ...
- 用CAS方案解决高并发一致性问题
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt395 缘起:在高并发的分布式环境下,对于数据的查询与修改容易引发一致性问题, ...
- 支持十万并发的黑科技-NIO
今天是猿灯塔“365天原创计划”第3天. 今天讲: 支持十万并发的黑科技-NIO 翻译过来就是:Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC(一种远程调用) 分布式服务框架(SOA),致 ...
- Mysql在高并发情况下,防止库存超卖而小于0的解决方案
背景: 本人上次做申领campaign的PHP后台时,因为项目上线后某些时段同时申领的人过多,导致一些专柜的存货为负数(<0),还好并发量不是特别大,只存在于小部分专柜而且一般都是-1的状况,没 ...
- 达达O2O后台架构演进实践:从0到4000高并发请求背后的努力
1.引言 达达创立于2014年5月,业务覆盖全国37个城市,拥有130万注册众包配送员,日均配送百万单,是全国领先的最后三公里物流配送平台. 达达的业务模式与滴滴以及Uber很相似,以众包的方式利 ...
随机推荐
- ensp小实验——浮动路由
依靠优先级来保证多路径的连通性. #AR1中<Huawei>u t m<Huawei>sys[Huawei]sys r1[r1]int g0/0/1 [r1-GigabitEt ...
- 线程的查看方式&运行原理
观察多个线程同时运行 主要是理解 交替执行 谁先谁后,不由我们控制 查看进程线程的方法 windows 任务管理器可以查看进程和线程数,也可以用来杀死进程 tasklist 查看进程 taskkill ...
- C++11 列表初始化都做了什么?
类的成员变量的初始化细节 首先,来看两个问题: 类的构造函数中,成员变量的列表初始化是如何实现的? 为什么列表初始化效率上优于在构造函数中为成员变量赋值? (后文中,将 "在构造函数中为成员 ...
- Python 包管理器入门指南
什么是 PIP? PIP 是 Python 包管理器,用于管理 Python 包或模块.注意:如果您的 Python 版本是 3.4 或更高,PIP 已经默认安装了. 什么是包? 一个包包含了一个模块 ...
- 「译文」Google SRE 二十年的经验教训
️URL: https://sre.google/resources/practices-and-processes/twenty-years-of-sre-lessons-learned/ ✍️Au ...
- 彻底掌握Python中 * 号
Python中的 *号是一个特殊的符号,在其他编程语言中,它最广为人知的用途就是作为乘法运算的符号.而在Python中,它的用途远不止如此. 本文总结了Python中*号的所有用途,以供参考. 1. ...
- Java之对象内存分析
相信大家有时候在读代码的时候应该都会有以下情况: 这个对象本定义在上面,乱跑什么?怎么又到下面去了? 欸?我明明改变了这个对象的值,怎么没变呢? 要想搞清楚某一对象在程序中是怎样活蹦乱跳的,首先我们要 ...
- CoreFX中Dictionary<TKey, TValue>的源码解读
无论是实际的项目中,还是在我们学习的过程中,都会重点的应用到Dictionary<TKey, TValue>这个存储类型.每次对Dictionary<TKey, TValue> ...
- Ubuntu 20.04 使用 vlmscd 搭建 KMS 服务端
前言 为了内网系统激活需要,搭建此客户端. 1. 下载二进制文件 打开项目官网:https://github.com/Wind4/vlmcsd 下载项目二进制文件: 选择对应系统和架构 选择性能较好的 ...
- 【GIT】学习day01 | 内嵌git安装教程【外包杯】
Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理 第一步:下载Git 下载地址https://git-scm.com/downloads 如果出现下面这种情况无法 ...