基于海思soc的智能产品开发(音视频处理的三个方向)

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

        音视频处理这个需求一直都有,那我们为什么需要soc来处理音视频。或者说,用soc来处理音视频有什么好处?传统的pc,处理音视频的话,大多数情况下都是绰绰有余的。但是现在的社会,很多时候我们希望在户外游玩、在工业生产、在随身医疗等方面也需要处理音视频数据,这种情况下,用pc处理就不是很方便了。

        下面,我们谈一下三个常见的音视频处理方向。

1、基于摄像头的音视频处理

        这方面以sensor、isp为主要的使用目的。不同的sensor,效果其实是不一样的。有的擅长黑白,有的擅长彩色;有的擅长白天,有的擅长夜晚。如果加上焦距、镜头和光源,这里面能做的事情就更多了。当然,就sensor而言,不管什么样的sensor,出来的图像都是失真的、不能用的,只有经过isp的tuning之后,才能出来合格的图像。

        如果这些图像不经过编解码,通过usb、网络,直接送出去,这就是工业相机的用途。当然,很多专业的消费相机也是这么做的。所以,基于sensor和isp本身的图像应用,是很大的一个市场。另外,有些sensor是特定行业专用的,比如内窥镜,这方面也需要专业的isp进行tuning处理的。

2、基于编解码和流媒体的音视频处理

        传统的音视频基本上就是编解码。视频方面就是h264、h265,音频的话,格式也不少。为了提高处理的效率,一般都是由硬件负责编、解码的工作。常见的行车记录仪,就是这么做的。后来,随着网络的普及,视频生成后,及时通过网络传递出来,做安防、通信、娱乐和会议使用,这方面也是很大的一个市场。这就是所谓的视频流。既然是视频流,那么涉及到网络协议的部分就比较多,有志于此的同学,可以在这方面进行深入学习。

3、新型的AI市场

        除了ISP处理、编解码及视频流之外,另外一个方兴未艾的市场就是ai,也就是人工智能。传统的图像可能需要人来提取有用的信息,但是有了ai和大模型之后,音视频设备就是一个智能的传感器。借助于深度学习模型,我们可以直接从中提取有用的信息。这里面,包括了人脸识别、车牌识别、二维码识别等等,这些都是非常实在的应用。

        目前,soc上面基本上都包含了npu加速套件。有了npu,就可以不需要复杂的cpu,也能实现图像、音频和文字的快速处理,以及实现模型的快速部署。这在以前,都是没有办法想象的。

4、音视频处理常用的几个库

        最后,给大家提供一下,音视频处理常用的几个库,相信会对大家学习有所帮助。这里面,最主要的还是借助于开源软件的框架,以及soc硬件加速的能力,共同实现客户所需要的业务软件。这几个开源库包括了,

        ffmpeg,标准音视频库,

        live 555,开源rtsp库,

        opencv,图像处理库,

        qt,嵌入式图形界面库,

        boost,c++处理库,

        v4l2,linux camera处理框架,

        tensorflow、mxnet、pytorch、caffe,深度学习库。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

msvcr100.dll丢失怎样修复,介绍6个简单靠谱的方法

msvcr100.dll是Microsoft Visual C 2010 Redistributable Package中的一个关键动态链接库文件。该文件包含了运行基于Visual Studio 2010编译的应用程序所必需的一系列函数和资源。具体来说,它提供了C运行时库的支持,使得许多使用Visual C库编译的应用程…

雷池社区版compose配置文件解析-mgt

在现代网络安全中,选择合适的 Web 应用防火墙至关重要。雷池(SafeLine)社区版免费切好用。为网站提供全面的保护,帮助网站抵御各种网络攻击。 compose.yml 文件是 Docker Compose 的核心文件,用于定义和管理多个 Dock…

并发编程的深入探索(3/5)

目录 1. Java线程模型 示例代码:创建线程的两种方式 2. 同步机制与锁 示例代码:synchronized的使用 显式锁(ReentrantLock) 3. Java并发工具包(java.util.concurrent) 线程池(Executor F…

gcc与mingw64版本介绍

三类编译器 GCC,全称为GNU Compiler Collection,是一个强大的编译器集合,它不仅支持C和C语言,还支持Fortran、Ada、Java等多种编程语言的编译。在GCC工具链中,gcc和g是两个核心的编译器工具。gcc是专门用于编译C语言程…

PostgreSQL使用clickhouse_fdw访问ClickHouse

Postgres postgres版本:16(测试可用)docker 安装 插件安装 clickhouse_fdw: https://github.com/ildus/clickhouse_fdw 安装命令 git clone gitgithub.com:ildus/clickhouse_fdw.git cd clickhouse_fdw mkdir build && cd build…

【高级IO】IO多路转接之epoll

epoll接口 epoll_create 创建一个epoll模型 自从linux2.6.8之后,size参数是被忽略的返回值是一个文件描述符用完之后, 必须调用close()关闭 epoll_ctl epoll_ctl用于添加、修改或删除关注的文件描述符,并设置感兴趣的事件类型(如读事件、写…

windows 11 mpksldrv.sys 导致蓝屏

#mpksldrv.sys 导致蓝屏 windows 11 在运行Twincat 3进行仿真时,就会蓝屏 尝试了各种其他的办法修改什么注册表,各种办法都尝试了没有用, 后面尝试了下面的办法竟然解决了,请参考下面链接: 链接: 两条命令可以帮助你…

如何使用的是github提供的Azure OpenAI服务

使用的是github提供的Azure OpenAI的服务gpt-4o 说明:使用的是github提供的Azure OpenAI的服务,可以无限薅羊毛。开源地址 进入: 地址 进入后点击 右上角“Get API key”按钮 点击“Get developer key” 选择Beta版本“Generate new to…

WPF+MVVM案例实战(九)- 霓虹灯字效果控件封装实现

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1、运行效果2、主菜单与界面实现1、主菜单2、霓虹灯字界面实现3、字体资源获取3、控件封装1.创建自定义控件2、依赖属性实现3、封装控件使用4、运行效果4、源代码获取1、运行效果 2、主菜单与界面实…

Vulkan 开发(五):Vulkan 逻辑设备

图片来自《Vulkan 应用开发指南》 Vulkan 开发系列文章: 1. 开篇,Vulkan 概述 2. Vulkan 实例 3. Vulkan 物理设备 4. Vulkan 设备队列 在 Vulkan 中,逻辑设备(Logical Device)是与物理设备(Physical D…

Hue3.9.0-cdh5.14.0安装

hue的安装需要准备如下的前置条件 1、Java-jdk8 2、python2.6 3、安装时非root用户 4、另行安装maven和ant,并配置HOME 5、hue安装节点需要hadoop、hive的配置文件 6、准备一个mysql库来做hue的元数据库 第一步:前置准备中的Javajdk和python准备本简单就…

自动驾驶-传感器简述

自动驾驶车辆上的传感器类型包含激光雷达、毫米波雷达、相机、imu、rtk、超声波雷达等,这些传感器用来接收外部世界多姿多彩的信号,根据接收到的信号,车载大脑对信号进行处理,那信号的准确程度就尤为重要。 本文将各个传感器的特性…

OpenCV图像处理方法:腐蚀操作

腐蚀操作 前提 图像数据为二值的(黑/白) 作用 去掉图片中字上的毛刺 显示图片 读取一个图像文件,并在一个窗口中显示它。用户可以查看这个图像,直到按下任意键,然后程序会关闭显示图像的窗口 # cv2是OpenCV库的P…

HarmonyOS开发 - 本地持久化之实现LocalStorage支持多实例

用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型以及这3种类型的数组类型。 在上一篇中&…

深度学习Pytorch-Tensor的属性、算术运算

深度学习Pytorch-Tensor的属性、算术运算 Tensor的属性Tensor的算术运算Pytorch中的in-place操作Pytorch中的广播机制Tensor的取整/取余运算Tensor的比较运算Tensor的取前k个大/前k小/第k小的数值及其索引Tensor判定是否为finite/inf/nan Tensor的属性 每一个Tensor对象都有以…

记录一个容器间访问不通问题

docker-compose装了zookeeper和一个服务。 zk服务如下: szxc-zk:image: "image.sd001.cn:30003/base/zookeeper:3.8"privileged: trueenvironment:- "TZAsia/Shanghai"#- "ALLOW_ANONYMOUS_LOGINyes"- "ZOO_MY_ID1"- &qu…

vue+spreadjs开发

创建vue3项目 pnpm create vite --registryhttp://registry.npm.taobao.org安装spreadjs包 pnpm install "grapecity-software/spread-sheets17.1.7" "grapecity-software/spread-sheets-resources-zh17.1.7" "grapecity-software/spread-sheets-vu…

使用pytest单元测试框架执行单元测试

Pytest 是一个功能强大且灵活的 Python 单元测试框架,它使编写、组织和运行测试变得更加简单。以下是 Pytest 的一些主要特点和优点: 简单易用:Pytest 提供了简洁而直观的语法,使编写测试用例变得非常容易。它支持使用 assert 语…

WPF+MVVM案例实战(十)- 水波纹按钮实现与控件封装

文章目录 1、运行效果1、封装用户控件1、创建文件2、依赖属性实现2、使用封装的按钮控件1.主界面引用2.按钮属性设置3 总结1、运行效果 1、封装用户控件 1、创建文件 打开 Wpf_Examples 项目,在 UserControlLib 用户控件库中创建按钮文件 WaterRipplesButton.xaml ,修改 Us…

使用DeepLabV3实现植叶病害检测

实战 | 使用DeepLabV3实现植叶病害检测 数据集 数据集下载地址 训练后的数据集地址 如果打不开可以去我的资源下载 演示 原文章 原文章及原代码基础代码 我对源代码进行适配也可以找我要我改过的代码进行学习 我的代码