海思SDK学习(2)海思媒体处理软件平台MMP(1)

2023-11-03 19:40

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

海思处理软件平台MMP

1、概述

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

2、系统层次架构

Hi35xx典型系统层次图

  • 硬件层
    硬件层由 Hi35xx 芯片加上必要的外围器件构成。外围器件包括Flash、DDR(Double Data-Rate)、视频Sensor 或AD、音频AD 等。
  • 操作系统层
    基于 Linux 3.4 的OS 系统。
  • 媒体处理平台
    基于操作系统层,控制芯片完成相应的媒体处理功能。它对应用层屏蔽了硬件处理细节,并为应用层提供API 接口完成相应功能。
  • 其他驱动
    除媒体处理平台外,海思为Hi35xx 芯片的其他相关硬件处理单元提供了相应的驱动,包括GMAC、SDIO、I2C、USB、SSP 等驱动。
  • 应用层
    基于海思媒体处理平台及其他驱动,由用户开发的应用软件系统。

3、海思媒体处理平台架构

主要分为视频输入(VI)、视频处理(VPSS)、视频编码(VENC)、视频解码(VDEC)、视频输出(VO)、视频侦测分析(VDA)、音频输入(AI)、音频输出(AO)、音频编码(AENC)、音频解码(ADEC)、区域管理(REGION)等模块。主要的处理流程介绍如下:
海思媒体处理平台内部处理流程图

  • VI 模块捕获视频图像,可对其做剪切、缩放等处理,并输出多路不同分辨率的图像数据。
  • 解码模块对编码后的视频码流进行解码,并将解析后的图像数据送 VPSS 进行图像处理或直接送VO 显示。可对H264/MPEG4/MPEG2 格式的视频码流进行解码。
  • VPSS 模块接收VI 和解码模块发送过来的图像,可对图像进行去噪、图像增强、锐化等处理,并实现同源输出多路不同分辨率的图像数据用于编码、预览或抓拍。
  • 编码模块接收 VI 捕获并经VPSS 处理后输出的图像数据,可叠加用户通过Region模块设置的OSD 图像,然后按不同协议进行编码并输出相应码流。
  • VDA 模块接收VI 的输出图像,并进行移动侦测和遮挡侦测,最后输出侦测分析结果。
  • VO 模块接收VPSS 处理后的输出图像,可进行播放控制等处理,最后按用户配置的输出协议输出给外围视频设备。
  • AI 模块捕获音频数据,然后AENC 模块支持按多种音频协议对其进行编码,最后输出音频码流。
  • 用户从网络或外围存储设备获取的音频码流可直接送给 ADEC 模块,ADEC 支持解码多种不同的音频格式码流,解码后数据送给AO 模块即可播放声音。

杂知识点:
图像降噪:在现实生活中,看到的数字图像,在数字化和传输过程中由于常受到成像设备与外部环境噪声干扰等影响,把这些图像称为含噪图像或者叫噪声图像。减少数字图像中噪声的过程称为图像降噪,有时候又称为图像去噪。
图像增强:图像增强的目标是改进图片的质量,例如增加对比度,去掉模糊和噪声,修正几何畸变等
图像锐化:(image sharpening)是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空间域处理和频域处理两类。图像锐化是为了突出图像上地物的边缘、轮廓,或某些线性目标要素的特征。这种滤波方法提高了地物边缘与周围像元之间的反差,因此也被称为边缘增强
OSD (屏幕菜单式调节方式):即屏幕菜单式调节方式。一般是按Menu键后屏幕弹出的显示器各项调节项目信息的矩形菜单,可通过该菜单对显示器各项工作指标包括色彩、模式、几何形状等进行调整,从而达到最佳的使用状态。
移动侦测:运动侦测(MD)侦测 VDA 通道接收的视频的运动状态,并输出运动侦测结果。包含每帧图像的宏块 SAD 值信息、运动区域(OBJ)信息和整帧报警像素个数
遮挡侦测:遮挡检测(OD)检测 VDA 通道接收的视频是否出现被遮挡现象,并输出遮挡检测结果。
参考链接1 链接2

这篇关于海思SDK学习(2)海思媒体处理软件平台MMP(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Golang 日志处理和正则处理的操作方法

《Golang日志处理和正则处理的操作方法》:本文主要介绍Golang日志处理和正则处理的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录1、logx日志处理1.1、logx简介1.2、日志初始化与配置1.3、常用方法1.4、配合defer

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

VSCode设置python SDK路径的实现步骤

《VSCode设置pythonSDK路径的实现步骤》本文主要介绍了VSCode设置pythonSDK路径的实现步骤,包括命令面板切换、settings.json配置、环境变量及虚拟环境处理,具有一定... 目录一、通过命令面板快速切换(推荐方法)二、通过 settings.json 配置(项目级/全局)三、

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、