专栏算法工具链PYM金字塔

PYM金字塔

TROS.Assist2024-03-21
244
0

模块介绍

PYM即金字塔,是一个硬件处理模块,支持online或者ddr输入,ddr输出。

如下图所示

Description

它的输出总共可以有18层,可通过配置参数分别控制输出通道:

SRC层,代表源图像层,总共1层

US层,代表Up scale 层,可对源图像进行放大处理,总共1层

BL层,代表双线性层,可对源图像进行双线性下采样处理,总共5层

GS层,代表Gauss高斯层,可对源图像进行高斯下采样处理,总共5层

DS层,代表Down scale层,可对源图像进行缩小处理,也是双线性下采样,总共6层

金字塔模块的主要特性如下:

Feature

Info

Input

online YUV422/420 offline YUV420

Bilinear scaler

5 output 1/2,1/4,1/8,1/16,1/32

Gauss scaler

5 output 1/2,1/4,1/8,1/16,1/32

Down Scale Roi

6 output ratio: (1/2,1]

Up Scale Roi

1 output ratio:(1, 4]

下图是PYM内部结构

Description

通道输出方面:

US层、BL层和GS层,只可从SRC层进行处理;

BL及GS层第0到第4层分别对应SRC层1/2,1/4,1/8,1/16,1/32 的大小;

DS层第0到5层,可从SRC层,BL层和GS层选择处理。

PYM配置参数介绍

pym_copnfig

名称

类型

最小值

最大值

默认值

描述

备注

pym_hw_id

number

0

1

0

pym硬件id号

通路配置使用的pym硬件id;必须显式配置;

pym_mode

number

0

4

0

pym工作模式

0: 离线模式(输入:YUV420SP, 输出:YUV420SP);回灌模式使用;1: 单路Online(cim-pym硬件直连,isp(paththrough模式)-pym)模式,2: Junction mode(驱动底层链接cim dma数据),3:特殊模式,限定使用:isp设置Tdmf模式时使用,并且多路的isp和pym输入输出分辨率设置都需要相同;”isp_stream_output_format”: 1 需使能;4: 特殊模式,限定使用,isp设置 Manual模式时使用,多路可支持isp和pym设置不同尺寸;”isp_stream_output_format”: 1 需使能;必须显式配置;

output_buf_num

number

0

32/64

0

pym输出buf个数

配置pym输出buf数目;当pym离线模式时,回灌src buf数目也按照该数目默认分配;配合isp非tdmf模式下最多配置32个;配合isp tdmf模式下最多配置64个;注: 配合isp tdmf模式下配置buf实际是多路平分;Eg:四路数据使用isp0 tdmf 以及pym0. 配置数目64(每路都需要配置64),每路可用pym数目64/4。必须显式配置。

pingpong_ring

number

0

1

0

pym驱动底层强制预留轮转使能

0: 默认底层不留buf,用户可以获取所有buf;1: 底层留2块buf做轮转,用户最多能拿N-2帧(N为配置的输出buf数目);注:在用户拿到数据需要处理很久但又不返还buf给硬件时,该模式能确保用户再次开始循环获取数据时能得到尽量新的数据帧;可以不显式配置,使用默认值。当PYM工作在offline模式时,在不使用pingpong buf的配置下,支持无输出buf时快速返回,返回错误码6505;使用pingpong buf的配置下,当pym无输出buf时将出现数据获取超时,返回错误码6504。因此不推荐在offline模式下配置使用pingpong buf。

in_buf_noclean

number

0

1

0

pym输入内存cache刷新使能

0: 模块输入buf内部会执行flush cache操作;1: 模块输入buf内部不会执行flush cache操作;可以不显式配置,使用默认值。注:如果不配置该项,用户使用回灌时,如果内存是cache类型且进行了cpu参与的操作,需要用户使用hbmem对应接口刷新。

out_buf_noinvalid

number

0

1

0

pym输出内存cache刷新使能

0: 模块输出buf内部会执行invaild cache操作;1: 模块输出buf内部不会执行invaild cache操作;可以不显式配置,使用默认值。注:如果不配置该项,用户拿到图像内存时,如果内存是cache类型且需要进行cpu参与的操作,需要用户使用hbmem对应接口刷新。

in_buf_noncached

number

0

1

0

pym输入内存分配类型

0: 模块输入buf(一般回灌buf)不使能 non-cache内存分配,实际类型为cache;1: 模块输入buf使能non-cache内存分配,实际类型为non-cache;可以不显式配置,使用默认值。

out_buf_noncached

number

0

1

0

pym输出内存分配类型

0: 模块输出buf不使能 non-cache 内存分配,实际类型为cache;1: 模块输出buf使能 non-cache内存分配,实际类型为non-cache;可以不显式配置,使用默认值。

time_out

number

1

10000

4000

获取pym数据超时配置(单位ms)

使用接口获取pym数据时生效;若设置超时时间为0,内部使用默认超时时间;可以不显式配置,使用默认值。

y_hor_coeff#

number

0

255

0

y分量水平卷积参数

#表示 0~4 序号;需要满足参数条件,参考pym卷积核参数;不建议改动;必须显式配置。

y_ver_coeff#

number

0

255

0

y分量纵向卷积参数

#表示 0~4 序号;需要满足参数条件,参考pym卷积核参数;不建议改动;必须显式配置。

c_hor_coeff#

number

0

255

0

c(uv)分量水平卷积参数

#表示 0~4 序号;需要满足参数条件,参考 pym卷积核参数;不建议改动;必须显式配置。

c_ver_coeff#

number

0

255

0

c(uv)分量纵向卷积参数

#表示 0~4 序号;需要满足参数条件,参考pym卷积核参数;不建议改动;必须显式配置。

y_right_shift

number

0

max ~ (uint32)

0

y分量偏移参数

需要满足参数条件,参考pym卷积核参数;不建议改动;必须显式配置。

c_right_shift

number

0

max ~ (uint32)

0

c(uv)分量偏移参数

需要满足参数条件,参考pym卷积核参数;不建议改动;必须显式配置。

工作模式

Pym mode

说明

0

离线模式。(输入:YUV420SP,输出:YUV420SP)

1

单路Online(ISP-PYM硬件直连)模式。(只能在单路ISP PASS_THRU模式或者CIM直连PYM使用)

2

Junction mode。(驱动底层链接CIM DMA数据,YUV数据可用)

3

ISP TDMF联动模式。限定使用:多路场景下ISP 设置TDMF,并且多路的PYM 输入输出分辨率设置都相同。(注:不是多路场景首选项)

4

ISP Manual联动模式(单路或多路)。ISP-PYM协同切换配置,支持每个数据通道不同输出尺寸。(注:多路首选配置)

算法工具链
杂谈
评论0
0/1000