海思3559AV100 MPP学习4--VPSS(视频处理子系统)模块

        在VPSS之前,是通过VI模块从sensor获取数据并处理,这部分之前跑通过例程,然后我现在希望跑通文件域8k编码,无需VI处理,就跳过了,VO模块也一样,我只要编完的码流,不需要显示到设备,所以也跳过了,就从VPSS继续。

        VPSS(Video Process Sub-System)是视频处理子系统,支持的具体图像处理功能包括FRC(Frame Rate Control)、CROP、Sharpen、3DNR、Scale、像素格式转换、LDC、Spread、固定角度旋转、任意角度旋转、鱼眼校正、Cover/Coverex、Overlayex、Mosaic、Mirror/Flip、HDR、Aspect Ratio、压缩解压等。

基本概念

        下面是对VPSS中一些基本概念的介绍:

        组(GROUP):VPSS对用户提供组的概念,各GROUP分时复用VPSS硬件,硬件依次处理各个组提交的任务。

        通道(CHANNEL): 通道分为物理通道和扩展通道两种。VPSS硬件提供多个物理通道,每个通道具有缩放、裁剪等功能。扩展通道具备裁剪、缩放功能,它通过绑定物理通道,将物理通道输出作为自己的输入,把图像裁剪、缩放成用户设置的目标分辨率输出。

        PIPE:VPSS组的管道,取值只能为0。

        FRC:帧率控制,分为组帧率控制和通道帧率控制两种。组帧率控制用于控制各GROUP对输入图像的处理,通道帧率控制用于控制各个物理通道和扩展通道图像的处理。

        CROP:裁剪,分为组裁剪、物理通道裁剪以及扩展通道裁剪三种。组裁剪,VPSS 对输入图像进行裁剪;物理通道裁剪,VPSS 对各个物理通道的输出图像进行裁剪;扩展通道裁剪,VPSS 调用 VGS 对扩展通道的输出图像进行裁剪。

        Sharpen:锐化,对图像进行锐化处理。仅Hi3559AV100、Hi3519AV100支持。

        像素格式转换:支持输入输出图像的数据格式转换,其中3559AV100仅离线模式下支持semi-planar 422 转 semi-planar 420。

        Scale:缩放,物理通道水平、垂直最大支持15倍的缩小和16倍的放大;扩展通道水平、垂直最大支持30倍的缩小和16倍的放大。

        Mirror/Flip:Mirror 即水平镜像,Flip 即上下翻转,可使用 Mirror+Flip 实现 180°旋转。

        Mosaic:对VPSS输出的图像填充马赛克块,Hi3559AV100ES/Hi3559AV100通道0和通道1共用一个Mosaic逻辑,马赛克效果相同,使用时只需将REGION属性绑定到通道0;通道2和通道3共用一个Mosaic逻辑,马赛克效果相同,使用时只需将REGION属性绑定到通道 2;其他芯片所有通道共用一个Mosaic逻辑,马赛克效果相同, 使用时只需将 REGION属性绑定到通道0。

        Cover:视频遮挡区域,对VPSS的输出图像填充纯色块,Hi3559AV100ES/Hi3559AV100通道0和通道1共用一个Cover逻辑,遮挡效果相同,使用时只需将REGION属性绑定到通道0;通道2和通道3共用一个 Cover逻辑,遮挡效果相同,使用时只需将REGION属性绑定到通道2;其他芯片所有通道共用一个Cover逻辑,遮挡效果相同, 使用时只需将REGION属性绑定到通道0。

        Coverex:视频遮挡区域,调用VGS对VPSS通道的输出图像填充纯色块。

        Overlayex:视频叠加区域,调用VGS对VPSS通道的输出图像叠加位图,支持位图格式ARGB4444、ARGB1555、ARGB8888、2BPP(仅Hi3516EV200/Hi3516EV300)。

        3DNR:去噪,通过参数配置,把图像中的高斯噪声去除,使得图像变得平滑,有助于降低编码码率。Hi3559AV100ES/Hi3559AV100不支持

        固定角度旋转:支持0度、90度、180度以及270度固定角度的旋转功能。

        HDR输出:VPSS支持的HDR类型包括HDR10和HLG。Hi3559AV100ES/Hi3559AV100 VPSS 通道0或通道1输出 HDR 时,动态范围配置需保持一致;通道2或通道3输出HDR时,动态范围配置需保持一致;Hi3559AV100ES 通道2和通道3不支持非 SDR 转 SDR。注意:VPSS 输出HDR图像时,需要从ISP获取色温参数,如果是用户送图像给VPSS 则无法获取色温,HDR效果无法保证,因此不建议这样使用。

        任意角度旋转、LDC(镜头畸变矫正)、Spread(展宽处理)、鱼眼矫正Hi3559AV100均不支持。

功能描述

        VPSS在系统中的上下文关系如下:

        通过调用 SYS 模块的绑定接口,可与 AVS/USER/VDEC/VI和 VO/VENC/SVP 等模块进行绑定,其中前者为 VPSS 的输入源,后者为 VPSS 的接收者。用户可通过 MPI 接口对 GROUP 进行管理,每个 GROUP 仅可与一个输入源绑定。GROUP 的物理通道有两种工作模式: AUTO 和 USER,两种模式间可动态切换。AUTO 模式下各通道仅可与一个接收者绑定,主要用于预览和回放场景下做播放控制。USER 模式下各通道可与多个接收者绑定。需要特别注意的是,USER模式主要用于对同一通道图像进行多路编码的场景,此模式下播放控制不生效,因此回放场景下不建议使用USER模式。VPSS 只有工作在离线模式下才支持 AUTO 模式。

芯片处理流程 

        3559AV100中VPSS的数据处理流程如下图:

输入输出特性

        Hi3559AV100支持8/10bit的YUV,支持动态范围SDR8/SDR10/HDR10/XDR,输入像素格式仅包含PIXEL_FORMAT_YVU_SEMIPLANAR_422、PIXEL_FORMAT_YVU_SEMIPLANAR_420、PIXEL_FORMAT_YUV_400、PIXEL_FORMAT_YUV_SEMIPLANAR_422和PIXEL_FORMAT_YUV_SEMIPLANAR_420,这里一个是YUV一个是YVU哈,输出像素格式仅PIXEL_FORMAT_YVU_SEMIPLANAR_422、PIXEL_FORMAT_YVU_SEMIPLANAR_420、PIXEL_FORMAT_YUV_400、PIXEL_FORMAT_YUV_SEMIPLANAR_422和PIXEL_FORMAT_YUV_SEMIPLANAR_420。

        VPSS物理通道特性如下:

        VPSS扩展通道特性如下:

        注意:VPSS调用GDC做LDC、展宽、任意角度旋转或者调用VGS做旋转时,需要额外申请一块临时buffer,用于存放处理后的图像,因此也需要一次额外读写DDR;VPSS物理通道调用VGS做亮度和、COVER、OSD时,无需额外申请buffer,需要读写DDR;VPSS扩展通道调用VGS做裁剪、缩放时,需要额外申请一块临时buffer,用于存放处理后的图像,因此也需要一次额外读写DDR。

API参考

        在VPSS中,与用户从外部输入有关的API是下面这个:

        HI_MPI_VPSS_SendFrame:用户向VPSS GROUP发送数据。
HI_S32 HI_MPI_VPSS_SendFrame(VPSS_GRP VpssGrp, VPSS_GRP_PIPE VpssGrpPipe, 
const VIDEO_FRAME_INFO_S *pstVideoFrame, HI_S32 s32MilliSec);

        参数解释如下:

        虽然这里也可以从外部输入,但是VPSS的功能我也是不需要的,所以从下一节的VENC模块输入数据编码。

        祝大家平安健康。

  • 26
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 海思hi3559av100接口sdk是一种软件开发工具包,用于开发基于海思hi3559av100芯片的应用程序。它提供了一系列的API和工具,可以帮助开发者快速地实现各种功能,如视频采集、编码、解码、网络传输等。同时,海思hi3559av100接口sdk还提供了丰富的示例代码和文档,方便开发者学习和使用。 烧录是将程序代码写入芯片的过程。对于海思hi3559av100芯片,烧录可以通过JTAG接口或者USB接口进行。在烧录之前,需要将程序代码编译成可执行文件,并将其转换成芯片可以识别的格式。然后,将芯片连接到烧录器上,选择相应的烧录工具和参数,即可完成烧录过程。烧录完成后,芯片就可以运行相应的应用程序了。 ### 回答2: 海思hi3559av100是一种高性能的视频处理芯片,可以实现图像采集、图像处理视频编解码和视频输出等功能。为了方便开发者进行开发,海思提供了hi3559av100接口SDK和烧录工具。 接口SDK主要包括以下内容:设备驱动、应用程序接口、示例程序和文档等。通过这些内容,开发者可以快速地对hi3559av100进行开发。设备驱动是最基本的组成部分,他可以让系统认识和使用hi3559av100。应用程序接口包括各种控制命令和寄存器设置,可以让应用程序轻松控制海思芯片的各项功能。示例程序和文档则可以帮助开发者更好的理解和应用接口SDK。 烧录工具主要包括以下内容:烧录工具、烧录脚本、操作说明等。烧录工具是一款专门用来将固件烧录到hi3559av100上的工具。开发者可以通过烧录脚本将编译好的固件烧录到海思芯片上。其中,操作说明详细介绍了烧录的流程、注意事项以及疑难解答等。 总之,hi3559av100接口SDK和烧录工具可以有效地帮助开发者进行开发和调试,快速实现应用。通过操作方便、完善的开发和烧录工具,我们可以更好的理解和应用海思芯片的各项功能,为实现更加优质的产品贡献一份力量。 ### 回答3: 海思hi3559av100接口sdk是用于海思hi3559av100芯片的软件开发工具包。他提供了各种各样的APIs、middleware以及一些工具,让软件开发人员能够更加容易的使用海思芯片进行开发。对于需要设计智能硬件的保安监控系统、机器人控制系统以及智能家居系统等,海思hi3559av100接口sdk都是一个十分优秀的选择。 其中,海思hi3559av100接口sdk提供了Firmware Burner这样一种烧录工具,可以使用它将开发好的程序烧录到芯片上。为了使用这个工具,需要按照以下步骤进行: 1. 将开发好的程序编译成bin格式的固件。 2. 连接好芯片开发板与PC机,并且在PC机上安装海思提供的USB驱动程序。 3. 打开Firmware Burner软件,选择所要烧录的芯片型号(这里是hi3559av100),选择连接方式(USB连接),点击Connect按钮进行连接。 4. 在烧录功能模块中,选择所要烧录的bin文件,点击Start按钮进行烧录。 除了Firmware Burner这个烧录工具外,海思hi3559av100接口sdk还提供了一系列debug工具,帮助开发人员快速发现程序中的问题,以及进行软硬件接口的调试。 总之,海思hi3559av100接口sdk是一个可靠的基于海思芯片的软件开发工具包。它为软件开发人员提供了强大的功能,使得开发人员能够更快地进行开发,并且开发出更加稳定的软件和硬件系统。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值