海思hi3516dv300的媒体处理平台

2024-05-31 17:48

本文主要是介绍海思hi3516dv300的媒体处理平台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

mpp概述

海思提供的媒体处理软件平台(Media Process Platform,简称 MPP),可支持应用软件快速
开发。该平台对应用软件屏蔽了芯片相关的复杂的底层处理,并对应用软件直接提供
MPI(MPP Program Interface)接口完成相应功能。该平台支持应用软件快速开发以下
功能:输入视频捕获、H.265/H.264/JPEG 编码、H.265/H.264/JPEG 解码、视频输出显
示、视频图像前处理(包括去噪、增强、锐化)、图像拼接、图像几何矫正、智能、音
频捕获及输出、音频编解码等功能。

系统架构

硬件层

硬件层由 Hi35xx 芯片加上必要的外围器件构成。外围器件包括 Flash、DDR
(Double Data-Rate)、视频 Sensor 或 AD、音频 AD 等。

操作系统层

基于 Linux 或 Huawei LiteOS 的 OS 系统。

操作系统适配层

提供操作系统系统调用基础函数,屏蔽操作系统差异,支持媒体处理平台运行在
不同的操作系统上,或相同操作系统不同版本。

媒体处理平台

基于操作系统适配层,控制芯片完成相应的媒体处理功能。它对应用层屏蔽了硬
件处理细节,并为应用层提供 API 接口完成相应功能。

其他驱动

除媒体处理平台外,海思为 Hi35xx 芯片的其他相关硬件处理单元提供了相应的驱动,
包括 CIPHER、RTC 等驱动。

应用层

基于海思媒体处理平台及其他驱动,由用户开发的应用软件系统。

在这里插入图片描述

海思媒体处理平台架构

海思媒体处理平台的主要内部处理流程如下图所示,主要分为视频输入(VI)、视频
处理(VPSS)、视频编码(VENC)、视频解码(VDEC)、视频输出(VO)、视频拼接
(AVS)、音频输入(AI)、音频输出(AO)、音频编码(AENC)、音频解码(ADEC)、区
域管理(REGION)等模块。
在这里插入图片描述1. VI 模块捕获视频图像,可对其做剪切、去噪等处理,并输出多路不同分辨率的图
像数据。
2. 解码模块对编码后的视频码流进行解码,并将解析后的图像数据送 VPSS 进行图
像处理,再送 VO 显示。可对 H.265/H.264/JPEG 格式的视频码流进行解码。
3. VPSS 模块接收 VI 和解码模块发送过来的图像,可对图像进行图像增强、锐化等
处理,并实现同源输出多路不同分辨率的图像数据用于编码、预览或抓拍。
4. 编码模块接收 VI 捕获并经 VPSS 处理后输出的图像数据,可叠加用户通过 Region
模块设置的 OSD 图像,然后按不同协议进行编码并输出相应码流。
5. VO 模块接收 VPSS 处理后的输出图像,可进行播放控制等处理,最后按用户配置
的输出协议输出给外围视频设备。
6. AVS 接收多路 VI 采集的图像,进行拼接合成全景图像。
7. AI 模块捕获音频数据,然后 AENC 模块支持按多种音频协议对其进行编码,最后
输出音频码流。
8. 用户从网络或外围存储设备获取的音频码流可直接送给 ADEC 模块,ADEC 支持
解码多种不同的音频格式码流,解码后数据送给 AO 模块即可播放声音。

这篇关于海思hi3516dv300的媒体处理平台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1018619

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

一文带你深入了解Python中的GeneratorExit异常处理

《一文带你深入了解Python中的GeneratorExit异常处理》GeneratorExit是Python内置的异常,当生成器或协程被强制关闭时,Python解释器会向其发送这个异常,下面我们来看... 目录GeneratorExit:协程世界的死亡通知书什么是GeneratorExit实际中的问题案例

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言