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

相关文章

一文带你搞懂Redis Stream的6种消息处理模式

《一文带你搞懂RedisStream的6种消息处理模式》Redis5.0版本引入的Stream数据类型,为Redis生态带来了强大而灵活的消息队列功能,本文将为大家详细介绍RedisStream的6... 目录1. 简单消费模式(Simple Consumption)基本概念核心命令实现示例使用场景优缺点2

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Java Response返回值的最佳处理方案

《JavaResponse返回值的最佳处理方案》在开发Web应用程序时,我们经常需要通过HTTP请求从服务器获取响应数据,这些数据可以是JSON、XML、甚至是文件,本篇文章将详细解析Java中处理... 目录摘要概述核心问题:关键技术点:源码解析示例 1:使用HttpURLConnection获取Resp

Java中Switch Case多个条件处理方法举例

《Java中SwitchCase多个条件处理方法举例》Java中switch语句用于根据变量值执行不同代码块,适用于多个条件的处理,:本文主要介绍Java中SwitchCase多个条件处理的相... 目录前言基本语法处理多个条件示例1:合并相同代码的多个case示例2:通过字符串合并多个case进阶用法使用