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

基于海思soc的智能产品开发(开篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        图像处理与音视频处理,是嵌入式soc非常大的一个处理门类。从前在pc上面做开发,大部分都是以软件开发为主,也就是音视频的编码、解码、输出以及信号处理,都是通过软件的编写来完成了。但是到嵌入式设备上,这部分的很多工作,很多都是通过硬件加速来完成的。这无疑就解决了很多的问题,最主要的还是降低了cpu的负担,使得整个soc对cpu的要求就没有那么高。

1、传统音视频到智能音视频

        过去的音视频处理,集中在编码、解码,不管是音频,还是视频,都是如此。最多再加上一个网络,做成类似于ipcam、dvr这样的产品。不过随着ai的引入,越来越多的嵌入式soc上面集成了npu这样的ip,这使得智能属性可以在嵌入式产品上落地生根,大大拓展了传统soc的应用范围。

2、越来越多的资源放到了嵌入式soc上

        之前soc上面的资源确实不多,除了cpu之外,就是简单的音视频编码。现在的soc,除了这些ip和简单的外设之外,还集成了fpga、gpu、dsp、mcu、npu等多个处理单元。这意味着,除了可以进行传统软件的开发之外,可以把soc上面其他ip的资源利用起来,我们可以利用这些硬件资源对特定的算法进行优化处理,从而实现一个好的应用场景。在这之前,是没有办法做到的。

3、软硬结合才是嵌入式的灵魂

        和pc相比较,嵌入式soc的cpu要弱得多。但是很多时候,一些应用对实时性要求又非常高,这种情况下我们能做的,就是利用soc上面的硬件资源,来做到实时处理。

        以图像处理为例,一般来说,我们要对图像进行网络输出,出于压缩带宽的目的,就要进行图像编码。但是图像编码,本身是非常消耗时间的,完全靠cpu来做,实时性没有办法得到保证。这个时候,比较合适的做法,就是用cpu实现组包、拆包和网络发送的工作,实际编码的动作,让硬件去完成,软件负责给ip送数据、收数据,这样可以最大程度上实现信号的实时处理,而且不增加cpu的负担。

4、被忽视的sensor

        大部分专业的sensor都是通过mipi csi接口导入的,但是sensor进来之后,如何通过isp进行质量调优,这也是很重要的一个方面。sensor的类型也非常广,行业上面涉及到消费、工业、医疗和军工,再加上光源、镜头、isp和算法的加持,其实用嵌入式soc来完成特定的场景应用,是再合适不过的应用案例。

5、soc厂家提供的软件开发平台

        过去soc仅仅提供ip资源,特定的软件应用、或者驱动都是需要开发者自己去完成的,这中间就会非常地费时费力。目前,大部分soc厂家,都会提供对应的软件开发平台。以海思为例,它提供的平台,一般就称之为media process platform,简称mpp。当然其他soc厂家也会提供类似的开发平台,大家自己找一下即可。

        在这个平台上面,一般集成了audio input、audio output、video input、video output、 video encode、video decode、video process sub-system、artificial intellegence等很多子模块。不同模块之间可以通过串行的方式进行彼此绑定,使用上面非常容易。灵活掌握这些模块,基本上可以满足大部分客户的落地要求。

6、soc的性价比越来越高

        之前的soc价格并不便宜,很多功能一般的soc动不动就是大几十块,资料还不全,开发难度比较高。这方面尤其是以台湾地区的soc,特征最为明显。与此相比,现在很多soc不仅资料多,价格还非常便宜。比如说海思hi3516cv610,不仅内部集成了ddr模块,而且也提供了完善的mpp开发平台,整体性价比就非常高,我们完全可以用它来做行车记录仪、ipcam、中低端的工业摄像头、内窥镜产品,满足不同用户的需求。

7、开发方式的转变

        较早之前的soc,需要自己port uboot、kernel、rootfs等开源软件。底层这些驱动,也是需要看芯片手册来完成的。而现在的,底层的开源软件都是soc厂家移植好的,video input、video output、video encode、 video decode这些驱动呢,通常也是由厂家负责的。开发者需要做的,就是拿着厂家给的header文件、so或者a库文件,进行应用开发就可以了。

        硬件方面,基本上也有厂家给出来的推荐电路,照着进行裁剪就可以了。所以说,对于现在智能产品的开发,第一,我们要了解客户的需求;第二,有一个自己熟悉的soc平台,特别是上面的软件平台,要做到了然于胸;第三,就是要进行两者之间的绑定和融合,需不需要移植其他第三方库,比如qt、boost、opencv,是否涉及到行业知识,看看目前业内做的比较好的产品,是什么样的,这是比较好的一个处理方法。


http://www.mrgr.cn/news/54348.html

相关文章:

  • 鸿蒙 app上怎么实现阴影效果
  • 【ios】在 SwiftUI 中实现可随时调用的加载框
  • 接口测试-接口支持幂等
  • Matlab中计算道路曲率的几种方法
  • 【小白学机器学习19】什么是量化分析(草稿)
  • 如何丰富开源商城系统的功能
  • snmpdelta使用说明
  • 手动部署并测试内网穿透
  • KMP 算法
  • 23 Shell Script服务脚本
  • go中阶乘实现时递归及迭代方式的比较
  • 【MySQL】提高篇—索引与性能优化:如何创建与管理索引
  • go 中的斐波那契数实现以及效率比较
  • LeetCode题练习与总结:摆动排序 Ⅱ--324
  • 系统架构设计师教程 第18章 18.7 系统架构的脆弱性分析 笔记
  • 智能农业:科技推动的现代农业革命
  • STM32应用详解(3)GPIO应用之通过IO端口读取按键的状态
  • TypeScript
  • Spark安装
  • 教电脑“看”图片
  • 【4046倍频电路】2022-5-15
  • Linux操作系统切换设置系统语言
  • 用HTML标签承载页面内容:前端开发的基础知识
  • [实时计算flink]Flink SQL作业快速入门
  • OpenHarmony中EAP-PEAP认证支持 GTC方式
  • 21世纪当代国学易经起名大师颜廷利:全球知名哲学家思想家