海思hi35xx之----视频处理单元各通道间的关系

拙园 拙园     2022-08-31     654

关键词:

最近在折腾HI3518C的芯片,应用到IPCamera上,最终获取多路不同分辨率的视频流供不同需求的预览切换。此处简单记录一下视频前处理元VPSS(Video Process Sub-System)的多通道间的关系以及使用心得。

HI3518C的视频子系统包括:视频系统初始化模块(MPP_SYS_CONF_S)、视频输入模块(VI)、视频前处理模块(VPSS)、视频编码模块(VENC)和视频输出模块(VO)组成。

        HI3518C的VPSS是视频数据编码前的预处理单元,主要完成对一幅输入图像的统一预处理,如去噪、去隔行等,然后再对各通道分别进行缩放、锐化等处理(如:PreScale、De-ring/De-block、NR、IE、DIE、Sharpen 等,具体可参见VPSS_GRP_ATTR_S结构体),最后输出多种不同分辨率的图像。

        其中,HI3518C对用提供GROUP的概念来管理VPSS,最多支持128个GROUP(我目前只使用了一个组:GROUP0)。VPSS的GROUP又包含多个通道(CHANNEL),对于不同规格的芯片,每个组包含的通道数也不相同,规格文档上都有详细说明。

        HI3518C的各个GROUP包含8个CHANNEL,其中2个物理通道(PHY CHN)、一个直通通道(Bypass)和5个扩展通道(EXT CHN)。

        物理通道是由硬件提供的,各物理通道的功能和限制各不相同;直通通道具备CROP功能,可以把不需要作预处理的一幅幅图像直接透传给接收者;扩展通道具备缩放功能,当它绑定到物理通道后,可以把从物理通道获取到的图像缩小或放大成用户所需要的不同分辨率的图像。Hi3518C 提供 5 路扩展通道以提供更好的灵活性,扩展通道具备缩放和帧率控制功能,不经过其他硬件算法单元处理。

        用户在使用的时候,需要首先创建VPSS GROUP,然后设置好GROUP属性并启用VPSS GROUP之后,再把VI作为源通道,把VPSS作为目标通道,通过调用 HI_MPI_SYS_Bind 绑定VI到VPSS,就可以建立视频输入到视频预处理间的通路,使得前端采集到的视频数据经由此通路到达VPSS单元。注意,每个 GROUP 仅可与一个输入源绑定。

        然后,就是根据实际需要来创建多个VPSS CHANNEL,从CHANNEL中获得所需要的目标分辨率的图像输出了。

        HI3518C的物理通道0无缩放能力,支持锐化,不支持抽场,一般用于大码流编码和JPEG抓拍。

        HI3518C的物理通道1,水平、垂直均最大支持 8 倍缩小,水平、垂直均最大支持 8 倍放大,支持锐化, 不支持抽场,一般用于小码流编码和CVBS(复合视频广播信号)预览。

        因此,用户可以通过CHANNEL(0)来获取到前端图像采集模块所支持的最大像素分辨率的图像,也就是说,如果前端sensor支持的最大图像分辨率为1920*1080像素,那么经CHANNEL0所得到的图像就是1920*1080像素格式,并且不可以把该通道的数据再作为其它扩展通道的源来进行图像的放大或缩小处理。

        用户可以通过CHANNEL(1)来获取到的图像为用户任意指定的合法的像素大小,通过指定像素格式及宽高大小,进行预处理后可以作为视频编码模块(VENC)的输入。同时,用户可以把该通道作为后面所要建立的扩展通道的源,通过设置所要建立的扩展通道的属性(主要指:绑定的源通道号、图像帧率、图像宽高等,见VPSS_EXT_CHN_ATTR_S结构体),再经由各扩展通道来获取到的所需的目标分辨率。

        用户还可通过扩展通道CHANNEL(3、4、5、6、7)来获取除VI所支持的最大分辨率以外的各种符合标准的不同分辨率图像,比如前端sensor支持最大分辨率为1920*1080,那么结合扩展通道的使用,用户就可以获取到HD720(1280*720)、VGA(640*480)、QVGA(320*240)、CIF(352*288)、QCIF(176*144)等分辨率的图像了。

        注意,当把通道 1 作为输入源的时候,要设置通道 1 为USER模式。因为HI3518C只有两个物理通道,通道0不具备缩放功能,所以只有通道1可以作为扩展通道的源,对图像进行缩放处理。

        其中,VPSS GROUP有两种工作模式:AUTO 和 USER,两种模式间可动态切换。默认的工作模式为 AUTO,此模式下各通道仅可与一个接收者绑定。若想使用 USER 模式,则需调用 MPI 接口进行设置,同时指定所需图像的大小和格式,此模式下各通道可与多个接收者绑定。需要特别注意的是,USER 模式主要用于对同一通道图像进行多路编码的场景,此模式下播放控制不生效,因此预览和回放场景下不建议使用。Bypass 通道只能工作在 AUTO 模式,可与多个接收者绑定。

海思hi35xx平台串口配置方法(代码片段)

一、前言串行接口简称串口(通常指COM接口),是采用串行通信方式的扩展接口,其特点是通信线路简单,只要一对传输线就可以实现双向通信,从而大大降低了成本,但传送速度一般,数据传输... 查看详情

hisicamera开发--himpp媒体处理软件开发基本概念(代码片段)

1.HIMPP平台架构简介海思提供的媒体处理软件平台(MediaProcessPlatform,简称MPP),可支持应用软件快速开发。该平台对应用软件屏蔽了芯片相关的复杂的底层处理,并对应用软件直接提供MPI(MPPProgramInterface)接口完成相应功能。该平台支持... 查看详情

hi35xx样例程序使用

...样例程序使用的公用函数   |     |--vio         #视频输入/输出功能实现演示   |     |--venc        #视频编码功能实现演示   |     |--vdec        #视频节目功能实现演示   |     |--region      #Region... 查看详情

hi35xx样例程序使用

...样例程序使用的公用函数   |     |--vio         #视频输入/输出功能实现演示   |     |--venc        #视频编码功能实现演示   |     |--vdec        #视频节目功能实现演示   |     |--region      #Region... 查看详情

海康摄像头海思ai芯片(hi35xx):图像jpg转.bgr(代码片段)

...果,我觉得python转化更为习惯吧。本代码仅面向学习海思35xx的各位。转化完不是标准bgr格式,由于Hi35xx的bgr分布不是标准格式,所以写了一点代码进行bgr与jpg格式图片互相转化,并逆向思维进行测试转化后的bgr。代码... 查看详情

opencv开发笔记(七十四):opencv3.4.1+ffmpeg3.4.8交叉编译移植到海思平台hi35xx平台(代码片段)

...别物体》下一篇:持续补充中…前言  移植opencv到海思平台,opencv支持对视频进行解码,需要对应的ffmpeg支持。Ffmpeg的移植  Ffmpeg的移植请参考之前的文章:《FFmpeg开发笔记(十):ffmpeg在ubuntu上... 查看详情

hi3516开发笔记:海思hi3516dv300芯片介绍,入手开发板以及demo测试

...L、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:没有了下一篇:《Hi3516开发笔记(二):Hi3516虚拟机基础环境串口调试、网络连接以及sftp文件传输》敬请期待…前言  目前主... 查看详情

hi3516av200专业型hdipcamerasoc简介

...参考原理图下载链接https://pan.baidu.com/s/1jDkNTuWe7WLCizjGGIGgBA海思Hi3516AV200/3519V101+索尼IMX274开发学习评估板#机器视觉图像处理开发板#       海思Hi3516AV200+索尼IMX274,800万像素超高清画质,双核A17最高主频1.2... 查看详情

海思hi3516amipi

...接收端,发送端为smartsens的360万像素的SC3035-M,接收端为海思的Hi3516A。MIPI(MobileIdustryProcessorInterface)是MIPI联盟发起的移动应用处理器制定的标准,广泛应用于摄像头接口、显示屏接口等。2.MIPI发送端MIPI发送端为smartsens的SC3035-M摄... 查看详情

ffmpeg开发笔记:ffmpeg在ubuntu上的交叉编译移植到海思hi35xx平台(代码片段)

...L同步播放》下一篇:敬请期待前言  将ffmpeg移植到海思HI3559、Hi3516平台上,需要交叉编译。FFmpeg下载  开发使用当前3.4.8稳定版本:  官方地址:http://ffmpeg.org/download.html#re 查看详情

ffmpeg开发笔记:ffmpeg在ubuntu上的交叉编译移植到海思hi35xx平台(代码片段)

...L同步播放》下一篇:敬请期待前言  将ffmpeg移植到海思HI3559、Hi3516平台上,需要交叉编译。FFmpeg下载  开发使用当前3.4.8稳定版本:  官方地址:http://ffmpeg.org/download.html#re 查看详情

海思hi3518ev200(3)mpp软件平台

1.概述MPP全称MediaProcessPlatform,支持应用软件快速开发:输入视频获取、视频编解码、视频输出显示、视频预处理(去噪、增强、锐化等)等。2.平台架构650)this.width=650;"src="http://s5.51cto.com/wyfs02/M00/87/10/wKioL1fSnKyimcT4AACVQwL1d6A820.jpg"ti... 查看详情

海思hi35xxuboot启动分析总结(代码片段)

...动的第一阶段和第二阶段。(一)start.S第一阶段启动总结在海思hi3251a官方的《Hi3521A_PINOUT_CN》手册上有上电锁存管脚BOOTROM_SEL,这个是引脚用来定义是从BOOTROM启动还是从spiflash启动 。(1)BOOTROM启动当启动模式为从BOOTROM启动时,... 查看详情

华为6110和海思3798哪个好?

网络机顶盒还是华为6110好,芯片各项指标均超出色的2020年机顶盒主流市场。参考技术A这个应该是各有各的优势,各有各的好,就看自己的爱好了,当然,我觉得还是华为,毕竟爱国吗。 参考技术B回答华为USG6110,设备类型下一... 查看详情

hi3516开发笔记:在qtcreator开发环境中引入海思sdk的bsp包,运行显示qt界面(代码片段)

...L、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(八):Hi3516虚拟机交叉开发环境搭建之配置QtCreator开发交叉编译环境》下一篇:敬请期待…前言  之前启动Qt... 查看详情

hi3516开发笔记:在qtcreator开发环境中引入海思sdk的bsp包,运行显示qt界面(代码片段)

...L、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(八):Hi3516虚拟机交叉开发环境搭建之配置QtCreator开发交叉编译环境》下一篇:敬请期待…前言  之前启动Qt... 查看详情

海思处理器用户界面 SDK

】海思处理器用户界面SDK【英文标题】:UserInterfaceSDKforHiSiliconprocessor【发布时间】:2017-01-2407:39:03【问题描述】:我们正在基于Hi3536处理器的板上开发软件。HiSilicon提供的SDK附带了使用帧缓冲区API开发用户界面的示例-这太低级... 查看详情

海思hi3751v510怎么样

海思Hi3516A最高支持500万像素实时视频编码,采用海思先进的网络传输技术,可实现低于100ms的网传延迟。500万像素机型分辨率达到2560×1920,这相比200万像素的1920×1080,其水平清晰度从1050线提升到了1450线以上,使得视频观感满... 查看详情