显示硬件发展与视频开发系列(6)----显示标注与视频处理单元(2):VPU
VPU(Video Processing Unit,视频处理单元)是一种全新的视频处理平台核心引擎,具有硬解码功能以及减少CPU负荷的能力。VPU可以减少服务器负载和网络带宽的消耗。
VPU由ATI提出,区别于传统GPU(Graph Process Unit,图形处理单元)。图形处理单元又包括视频处理单元、外视频模块和后处理模块这三个主要模块。
7.2.1、VPU的基础特性
A、支持视频编解码标准类别丰富,图像高清。
B、支持多种抗误码工具、多解码和全双工多方通话同时进行。
C、提供了可编程性、柔初性,以及易于升级的解码和编码或主机接口,因为在编解码处理和主接口都实现为可编程微处理中的固件。
7.2.2、VPU特色及应用
VPU针对视觉处理应用而设计,在性能、功耗和功能性方面都有特别的强化,使之更贴近于实际的应用需求,其设计兼顾到多种用途,专门为视觉处理进行硬件系统的优化。
VPU也是SoC,集成多个主控RISC的CPU、许多硬件加速器单元和矢量处理器阵列,专门为视觉海量像素设计的高性能影像信号处理器(ISP),以及丰富的高速外围接口。
保证强大性能和功能的前提下,VPU采用更先进的集成电路工艺,大大缩小了芯片的尺寸,结合有效的技术手段,降低各个运算单元的功耗。
VPU为视觉应用提供了一个强大的平台,更多的开发工作是在软件上,基于VPU的视觉应用系统开发可以充分利用片上的硬件单元及相关的软件资源。
包含工具、支持库及框架的完整VPU软件开发套件(SDK),视频处理器中涉及视觉处理的单元得到了增强,如核心视觉处理单元、线性代数运算矩阵,还有前端影像处理单元,不仅包含ISP处理,还有ISP仿真,支持相机调试工具。
图形处理能力的提升表现在支持图形检测API,为便于多核异构芯片开发而支持OpenCL。由于在视觉应用中,与高敏感度和超高像素的传感器的接驳尤为重要,因此专门有传感器支持接口单元。
VPU特有的工具单元提供视觉调试全面支持。VPU中的主控制器、BSP、HDK等通用单元以开放为主,便于客户进行更多应用开发。
7.2.3、Movidius
作为一个行业的平台领先者需要有足够的积累和不懈的进取,当然还要有强大的财力和物力、人力的支持,VPU平台的创建和发展也绝不轻松。
Movidius在都柏林成立,位于爱尔兰,在罗马尼亚,硅谷建立研发团队。公司创始人堪称半导体和处理器行业的元老,公司设立有技术指导委员会,确立公司的技术路线和VPU平台发展总体规划。
Movidius核心管理层,来源于ATI及其它知名公司资深的高管和专家。公司员工未过百人,研发人员占了九成,五分之一负责VPU芯片硬件设计,其余从事VPU上软件构建,可见VPU应用在很大程度上依赖于软件。2016年,Movidius被intel收购。
7.2.4、INTEL
2019年,英特尔人工智能峰会(Intel AI Summit 2019),英特尔展示了一系列新产品,旨在加速从云端到边缘的人工智能系统开发和部署,迎接人工智能浪潮的到来。
英特尔展示了面向训练 (NNP-T1000) 和面向推理 (NNP-I1000) 的英特尔Nervana神经网络处理器 (NNP)。作为英特尔为云端和数据中心客户提供的首个针对复杂深度学习的专用 ASIC芯片,英特尔Nervana NNP具备超高扩展性和超高效率。
英特尔还发布了下一代英特尔Movidius Myriad视觉处理单元 (VPU),用于边缘媒体、计算机视觉和推理应用。
7.2.5、代码示例
/** VPUCoder.h** Current, Only Support YUV420sp encoder and decoder** Created on: Dec 16, 2013* Author: henry** Example:** int main()* {* int ret = InitCodec();* //===========encode video* ret = StartEnc("/sdcard/test.mkv", 1280, 720, 30);** while(1)* {* //get data and length, //unsigned char* data; int length* ret = ProcessEnc(data, length);* }* ret = StopEnc();** //===========decode video* ret = ProcessDec("/sdcard/test.mkv", 1280, 720);* return 0;* }*/#ifndef VPUCODER_H_
#define VPUCODER_H_/*** Init encoder and decoder handle, only call once, must first call** @return 0 is successful, another fail*/int InitCodec();/*** setup encoder configure* @param filePath : save file path* @param enc_width : video width* @param enc_height : video height* @param enc_fps : video fps** @return 0 is successful, another fail*/int StartEnc(const char* filePath, uint32_t enc_width, uint32_t enc_height, uint32_t enc_fps);/*** stop encode video*/void StopEnc();/*** @params data : frame data* @params length : frame length** @return 0 is successful, another fail*/int ProcessEnc(const unsigned char* data, uint32_t length);/*** setup decoder configure* @param filePath : source file path* @param enc_width : video width* @param enc_height : video height** @return 0 is successful, another fail*/int ProcessDec(const char* filePath, uint32_t dec_width, uint32_t dec_height);
#endif /* VPUCODER_H_ */
7.2.6、总结
GPU的概念由NVIDIA公司提出,GPU英文全称 Graphic Processing Unit,中文译为“图形处理器”。
VPU的概念由ATI公司提出,VPU英文全称 Visual Processing Unit,中文译为“视觉处理器”。
GPU与VPU实际均为显示处理核心,GPU提供了更多图形接口,VPU提供了更多视频接口。2006年,ATI公司被AMD公司收购之后,已正式采用GPU的名字。
INTEL的加入,VPU近些年取得巨大的发展,社会发展中,视频处理愈来愈重要,VPU适应实时潮流,尤其在嵌入式领域应用广泛。
美摄SDK,国际领先的视频引擎,优秀的视频运算架构,引领短视频发展的方向。
显示硬件发展与视频开发系列(6)----显示标注与视频处理单元(2):VPU相关推荐
- 显示硬件发展与视频开发系列(6)----显示标注与视频处理单元(1):显示标准
7.显示标准与视频处理单元 消费级视频智能处理大体有10年左右,有了巨大的发展,展望未来,对应于大厂而言,竞争是标准的竞争.包含显示标准与处理单元,竞争推动了科技的进步,市场的繁荣. 新的显示硬件也不 ...
- 音视频开发系列(15):视频与音频同步
上次分享了将视频与音频同时推流到服务上的代码封装,然后上节分享在测试后会发现音视频不同步,这边说一下原因: 从帧率及采样率,即可知道视频/音频播放速度.声卡和显卡均是以一帧数据来作为播放单位,如果单纯 ...
- 显示硬件发展与视频开发系列(6)----显示标注与视频处理单元(3):APU
APU是"Accelerated Processing Units"的简称,中文名字叫加速处理器,是AMD融聚未来理念的产品,它第一次将处理器和独显核心做在一个晶片上. CPU与A ...
- 显示硬件发展与视频开发系列(6)----显示标注与视频处理单元(5):TPU
TPU(Tensor Processing Unit)张量处理单元,为机器学习定制的芯片,经过专门深度机器学习方面的训练,它有更高效能(每瓦计算能力). 谷歌,2015年6月,I/O开发者大会上推出的 ...
- 【音视频开发系列】一学就会,快速掌握音视频开发的第一个开源项目FFmpeg
快速掌握音视频开发的第一个开源项目:FFmpeg 1.为什么要学FFmpeg 2.FFmpeg面向对象思想分析 3.FFmpeg各种组件剖析 视频讲解如下,点击观看: [音视频开发系列]一学就会,快速 ...
- 【音视频开发系列】盘点音视频直播RTSP/RTMP推流一定会遇到的各种坑,教你快速解决
聊聊RTSP/RTMP推流那些坑 1.推流架构分析 2.推流缓存队列的设计 3.FFmpeg函数阻塞问题分析 [音视频开发系列]盘点音视频直播一定会遇到的各种坑,教你快速解决 更多精彩内容包括:C/C ...
- 【音视频开发系列】srs-webrtc-janus开源流媒体服务器分析
全球最牛开源流媒体服务器源码分析 1.如何学习流媒体服务器 2.全球最牛流媒体服务器架构分析 3.我们能从全球最牛流媒体服务器得到什么 [音视频开发系列]srs-webrtc-janus流媒体服务器分 ...
- 音视频开发之旅(32)-音视频学习资料
目录 为什么要学习音视频? 如何学习系统性音视频? 音视频相关的资料 学习实践的输出文章分类聚合 收获 最近有朋友问想学习音视频,应该怎么学,有什么资料吗? 这个问题也困扰我很久,几年前就想开始音视频 ...
- Android音视频开发基础(七):视频采集-系统API基础
前言 在Android音视频开发中,网上知识点过于零碎,自学起来难度非常大,不过音视频大牛Jhuster提出了<Android 音视频从入门到提高 - 任务列表>.本文是Android音视 ...
最新文章
- 招聘|腾讯机器人实验室语义视觉方向(实习+社招)
- 判断图片下载是否成功 file_exists和filesize 图像0KB问题
- python email模块详解_python模块之email: 电子邮件编码解码 (一、解码邮件)
- linux安装系统ftp服务器配置,linux系统搭建ftp服务器的配置方 - 电子发烧友网
- arraylist从大到小排序_为什么插入排序比冒泡排序更受欢迎?
- cxVerticalGrid赋值是实时更新
- 激烈讨论:我身边的IT认证
- 计算机网络管理 孙卫真,计算机网络管理员
- 产品经理的23个OKR案例(下)
- 文件转为二进制流保存在数据库
- javaScript中什么时候用分号;
- [每日一氵] python创建简单 command-line interface (CLI) API
- 拷机软件 从软件测试中得知自己机器的性能
- Gartner:2017年十大科技趋势盘点
- html页面上传文件mui,mui 文件上传注意问题
- Automated Installations of Multiple RHEL/CentOS 7 Distributions using PXE Server and Kickstart Files
- 华为确定发布鸿蒙的时间了吗,Mate40系列首发,华为鸿蒙OS手机版发布时间确定...
- 网上办公自动化|OA系统
- python pymysql 如何输出 json 字符串
- chrome 浏览器安装教程