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

基于海思soc的智能产品开发(视频的后续开发)

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

        前面我们讨论了camera,也讨论了屏幕驱动,这些都是基础的部分。关键是,我们拿到了这些视频数据之后,是否还需要做一些后面的工作。难道,拿到这些视频数据之后,仅仅是为了lcd显示一下,是否有必要保存下来、送出去,或者是从视频中提一些信息呢。

        截图是hdmi转csi2的设计,呼应文章最后一小段内容。

1、mcu、fpga、soc处理视频的驱动差不多

        其实,不光soc可以处理视频,mcu和fpga也是可以处理视频的。只不过mcu处理的视频,一般sensor都自带isp功能,fpga处理sensor则比较麻烦一点,编译起来也不方便。相比较而言,soc处理视频会复杂一点,分成了i2c驱动、mipi驱动、isp驱动、uvc驱动等几个部分。对于mcu和fpga的驱动,大家可以参考某火、某原子的资料。对于soc资料,i2c驱动、mipi驱动、uvc驱动这些都可以找到,但是isp,一般厂家都只是提供工具,不会提供对应驱动代码的。客户会使用、会配置isp即可。

        比如,这是v3s驱动中mipi的代码,

https://github.com/aodzip/sun6i-mipi-csi

        假设sensor用的是ov5640,驱动代码在这,

https://elixir.bootlin.com/linux/v5.2.21/source/drivers/media/i2c/ov5640.c

2、视频编码

        和传统pc编码相比较,嵌入式soc上面的视频编码一般都是硬件完成的。常见的编码有h264、h265。具体的编码,通常都是硬件来完成的,而把h264、h265组合成mp4、avi这样的工作,就会用ffmepg来完成。毕竟对于软件来说,实时编码几乎是不可能的,只要靠硬件来实现实时的编码操作。

3、视频解码

        很多时候,视频编、解码不一定是同时存在的。比如说,ipcam上面,很多soc只有编码。而dvr等很多设备,则只有视频解码。这里面主要还是基于成本和市场的考虑。当然,如果不考虑成本,或者soc的价格足够高,这个时候视频编、解码就会都存在了。

4、isp功能

        虽然都叫isp,但是不同厂家的isp差异很大。可以这么说,一般的小厂soc也就是做一些基本的图像处理,比如自动曝光、自动白平衡、自动对焦、黑电平、左右翻转、上下反转、噪声处理、osd这些。而大厂的soc,这方面做的要多得多,不仅引入更多的isp图像算法,比如去雾算法、畸变矫正等等,还会引入更多的ai model对isp进行处理。所以大家虽然名字都叫isp,但是差异还是非常大的。

        如果本身对isp的要求比较高,可以考虑大厂的soc,反之为了降成本的话,则可以选择一般的soc,甚至是自带部分isp功能的sensor,都是可以的。

5、存储

        本地存储是最容易想到的功能。一般的行车记录仪、运动相机,基本上就是编码+lcd显示/本地保存这样的思路。

6、npu处理

        现在图像处理,除了图像本身,还会引入越来越多的ai功能。目前来说,刚需的ai功能有这几个部分,人脸识别、车牌识别、ocr识别、指纹识别等等。npu的话,不必注重数值越大越好,主打一个够用就行。毕竟一分钱,一分货。

7、机器视觉

        图像本身除了用来看,还可以从中提取到很多的有用信息。这个时候,可以把一些常规的机器视觉算法移植到嵌入式设备上,这样设备摇身一变,就是智能嵌入式设备了。

8、网络处理

        目前视频处理这块很火,有一部分就是基于网络的处理。网络的带宽一般都是大小一定的,我们总是希望图像要尽量地好,但是带宽要尽量地低,延迟也要尽可能地低,所以这里面能做的工作还是非常多的。常见的rtsp、rtmp未必能满足我们要求,有些场景需要我们自定义协议才能去解决。

        网络这部分,如果是后端处理,一般就是ipcam;如果是前端处理,一般就是dvr。不过大家可以扩展一下思路,毕竟还可以用于飞控、监控、医疗等很多领域。

9、fpga导出,接入csi2

        有些算法如果为了低延时和高性能,引入fpga也是有可能的。这种情况下,就是fpga接入sensor,对图像进行预处理之后,再把图像传给soc的csi2接口,进行后续的处理。fpga虽然处理图像比较方便,但是没有linux的帮助,很多事情都做不了,也不方便。所以,fpga+soc这样的处理模式,还是非常方便的。

10、csi2接入转换芯片

        很多时候,我们会认为,csi2接口只能接入sensor,其实除了camera sensor之外,还可以是fpga的接口,甚至是其他芯片转换过来的数据,比如hdmi转换过来的mipi数据。大家试想一下,如果是hdmi转换过来的数据,不就是一个视频采集设备吗?现在的销售直播、游戏直播、综艺直播这么火,这方面肯定有很大的市场。

相关文章:

基于海思soc的智能产品开发(视频的后续开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们讨论了camera,也讨论了屏幕驱动,这些都是基础的部分。关键是,我们拿到了这些视频数据之后,…...

创建 pdf 合同模板

创建 pdf 合同模板 一、前言二、模板展示三、制作过程 一、前言 前段时间要求创建“pdf”模板,学会了后感觉虽然简单,但开始也折腾了好久,这里做个记录。 二、模板展示 要创建这样的模板 三、制作过程 新建一个“Word”,这里命…...

2024 年度学习总结

目录 1. 前言 2. csdn 对于我的意义 3. 写博客的初衷 3.1 现在的想法 4. 写博客的意义 5. 关于生活和博客创作 5.1 写博客较于纸质笔记的优势 6. 致 2025 1. 前言 不知不觉, 来到 csdn 已经快一年了, 在这一年中, 我通过 csdn 学习到了很多知识, 结识了很多的良师益友…...

CSS笔记基础篇02——浮动、标准流、定位、CSS精灵、字体图标

黑马程序员视频地址: 前端Web开发HTML5CSS3移动web视频教程https://www.bilibili.com/video/BV1kM4y127Li?vd_source0a2d366696f87e241adc64419bf12cab&spm_id_from333.788.videopod.episodes&p70https://www.bilibili.com/video/BV1kM4y127Li?vd_source…...

C++ 面向对象(继承)

三、继承 3.1 继承的概念 基于一个已有的类 去重新定义一个新的类,这种方式我们叫做继承 关于继承的称呼 一个类B 继承来自 类 A 我们一般称呼 A类:父类 基类 B类: 子类 派生类 B继承自A A 派生了B 示例图的语法 class vehicle // 车类 {}class …...

Top期刊算法!RIME-CNN-BiLSTM-Attention系列四模型多变量时序预测

Top期刊算法!RIME-CNN-BiLSTM-Attention系列四模型多变量时序预测 目录 Top期刊算法!RIME-CNN-BiLSTM-Attention系列四模型多变量时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 基于RIME-CNN-BiLSTM-Attention、CNN-BiLSTM-Attention、R…...

数据结构 数组

1. 常见的错误 这里我要特别纠正一个“错误”。我在面试的时候,常常会问数组和链表的区别,很多人都回答说,“链表适合插入、删除,时间复杂度O(1);数组适合查找,查找时间复杂度为O(1)”。 实际上&#xff…...

Kivy App开发之UX控件Bubble气泡

kivy提供了一个提示气泡的小控件Bubble,使用时可以指定气泡箭头的方向以及显示的图像,还可以作为容器添加其他小控件。 常用属性如下 属性说明orientation气泡内子项的排序方式,可设置为vertical或horizontal,默认horizontalarrow_pos箭头相对于气泡的位置,可设置为left_…...

从零到一:打造属于你的AI智能体,支持本地部署

国外卷智能体,国内也都在搞 AI Agent,2025 年也将成为 Agent 的元年。构建智能体主要两种情况,一个是工作流模式,另外一种是直接开发应用,接下来分别给大家介绍一下两种产品和构建过程。工作流模式,以 Coze…...

成就与远见:2024年技术与思维的升华

个人主页:chian-ocean 前言: 2025年1月17日,2024年博客之星年度评选——创作影响力评审的入围名单公布。我很荣幸能够跻身Top 300,虽然与顶尖博主仍有一定差距,但这也为我提供了更加明确的发展方向与指引。展望崭新的2025年&…...

深搜与回溯——扫地机器人问题解析与代码实现

一、题目内容 题目描述 扫地机器人在一个 nm 的网格中从左上角(1,1)开始清扫。它按照以下规则移动: 如果当前位置的右边(同一行,下一列)没有被清扫过,它会向右移动。 如果右边无法移动&#xf…...

【大数据2025】Hadoop 万字讲解

文章目录 一、大数据通识大数据诞生背景与基本概念大数据技术定义与特征大数据生态架构概述数据存储数据计算与易用性框架分布式协调服务和任务调度组件数仓架构流处理架构 二、HDFSHDFS 原理总结一、系统架构二、存储机制三、数据写入流程四、心跳机制与集群管理 安全模式&…...

win内核内部直接irp读取文件写入文件

#include <ntifs.h> #include <ntddk.h> #define TAG_NAME tlfF // FltF in reverse #define BUFFER_SIZE PAGE_SIZE // 驱动设备扩展结构 typedef struct _DEVICE_EXTENSION { PDEVICE_OBJECT DeviceObject; UNICODE_STRING DeviceName; UNICODE_STRIN…...

1. 基于图像的三维重建

1. 基于图像的三维重建 核心概念三维重建中深度图、点云的区别&#xff1f;深度图点云总结 深度图到点云还需要什么步骤&#xff1f;1. **获取相机内参**2. **生成相应的像素坐标**3. **计算三维坐标**4. **构建点云**5. **处理颜色信息&#xff08;可选&#xff09;**6. **去除…...

如何确保Python爬虫不违反微店规定

在使用Python爬虫获取微店商品详情时&#xff0c;确保爬虫行为符合微店的规定和相关法律法规至关重要。以下是一些关键步骤和注意事项&#xff0c;帮助你合法合规地使用爬虫技术&#xff1a; 一、遵守法律法规 在使用爬虫技术时&#xff0c;必须严格遵守《网络安全法》、《个…...

Spring Event和MQ的区别和使用场景

概念 Spring事件&#xff08;Spring Event&#xff09;是Spring框架的一项功能&#xff0c;它允许不同组件之间通过发布-订阅机制进行解耦的通信。 MQ一般是一个独立的中间件&#xff0c;它可以通过消息队列对消息进行传递和存储&#xff0c;生产者将消息发送到MQ&#xff0c;…...

SpringBoot:websocket 实现后端主动前端推送数据

简单说明下websocket实用场景。 实时通信领域&#xff1a;社交聊天弹幕多玩家游戏协同编辑股票基金实时报价体育实况更新视频会议/聊天基于位置的应用在线教育智能家居等需要高实时性的场景 一、服务端代码 pom.xml&#xff1a; <dependencies><dependency><…...

嵌入式硬件篇---PID控制

文章目录 前言第一部分&#xff1a;连续PID1.比例&#xff08;Proportional&#xff0c;P&#xff09;控制2.积分&#xff08;Integral&#xff0c;I&#xff09;控制3.微分&#xff08;Derivative&#xff0c;D&#xff09;控制4.PID的工作原理5..实质6.分析7.各种PID控制器P控…...

小程序获取微信运动步数

1、用户点击按钮&#xff0c;在小程序中触发getuserinfo方法&#xff0c;获取用户信息 <scroll-view class"scrollarea" scroll-y type"list"><view class"container"><button bind:tap"getLogin">获取</button&…...

5G 核心网 相关概念快速入门

在我们开始阅读3GPP协议来学习5G核心网之前&#xff0c; 不妨来看看我之前整理的PPT&#xff0c;快速学习核心网相关概念&#xff0c; 以及5G转发面PFCP协议的相关核心知识。 涵盖了最精简的核心骨干内容&#xff0c;助你轻松上阵。 讲解目标 3GPP和相关协议 5G核心网架构模…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...

Java后端检查空条件查询

通过抛出运行异常&#xff1a;throw new RuntimeException("请输入查询条件&#xff01;");BranchWarehouseServiceImpl.java // 查询试剂交易&#xff08;入库/出库&#xff09;记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...

统计学(第8版)——统计抽样学习笔记(考试用)

一、统计抽样的核心内容与问题 研究内容 从总体中科学抽取样本的方法利用样本数据推断总体特征&#xff08;均值、比率、总量&#xff09;控制抽样误差与非抽样误差 解决的核心问题 在成本约束下&#xff0c;用少量样本准确推断总体特征量化估计结果的可靠性&#xff08;置…...