海思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

相关文章

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

基于Redis自动过期的流处理暂停机制

《基于Redis自动过期的流处理暂停机制》基于Redis自动过期的流处理暂停机制是一种高效、可靠且易于实现的解决方案,防止延时过大的数据影响实时处理自动恢复处理,以避免积压的数据影响实时性,下面就来详... 目录核心思路代码实现1. 初始化Redis连接和键前缀2. 接收数据时检查暂停状态3. 检测到延时过

Java利用@SneakyThrows注解提升异常处理效率详解

《Java利用@SneakyThrows注解提升异常处理效率详解》这篇文章将深度剖析@SneakyThrows的原理,用法,适用场景以及隐藏的陷阱,看看它如何让Java异常处理效率飙升50%,感兴趣的... 目录前言一、检查型异常的“诅咒”:为什么Java开发者讨厌它1.1 检查型异常的痛点1.2 为什么说