VPC(Vision Preprocessing Core)功能包括:
用于处理“(widthStride/系数)在32~4096(包括4096)范围内,heightStride在6~4096”的输入图片,不同格式的输入图片,系数不同,详细描述参见约束说明。
昇腾310 AI处理器,8K缩放用于处理“widthStride在4096~8192范围内或heightStride在4096~8192范围内(不包括4096)”的输入图片,支持的输入图片格式,请参见约束说明。
昇腾310 AI处理器,实现图像灰度化的操作是从YUV420SP格式的输出图像数据中只取Y分量的数据。
概念 |
描述 |
---|---|
宽stride(widthStride) |
指一行图像跨距,表示输入/输出图片对齐后的宽,RGB格式或YUV格式的宽stride计算方式不一样。宽stride最小为32,最大为4096*4(宽是4096的argb格式的图像,1个像素占用4个字节,一行像素就占用4096*4,即宽stride)。 宽stride的对齐要求,请参见约束说明中的“VPC输入的约束”、“VPC输出的约束”。 |
高stride(heightStride) |
指图像在内存中的行数,表示输入/输出图片对齐后的高。 高stride的对齐要求,请参见约束说明中的“VPC输入的约束”、“VPC输出的约束”。 |
上/下/左/右偏移 |
通过配置上偏移、下偏移、左偏移、右偏移可以实现两个功能:指定抠图区域或贴图区域的位置;控制抠图或贴图区域的宽、高,右偏移-左偏移+1=宽,下偏移-上偏移+1=高。参见功能示意图。 |
抠图区域 |
指用户指定的需抠出的图片区域。 抠图区域最小分辨率为10*6,最大分辨率为4096*4096。 抠图区域的约束,请参见约束说明中的“VPC抠图、贴图约束”。 |
贴图区域 |
指在输出图片中用户指定的区域,贴图区域最小分辨率为10*6,最大分辨率为4096*4096。 贴图区域的约束,请参见约束说明中的“VPC抠图、贴图约束”。 |
昇腾310 AI处理器,8K缩放用于处理“widthStride在4096~8192范围内或heightStride在4096~8192范围内(不包括4096)”的输入图片。
输入图片的宽高限制跟输入图片格式有关,在VPC支持的输入图片格式中,对于YUV420SP格式,宽高均需要2对齐;对于YUV422SP或者YUV422Packed格式,宽度需要2对齐,高度无限制;对于YUV440SP格式,宽度无限制,高度需要2对齐;其它格式宽高没有限制。
PIXEL_FORMAT_YUV_400 = 0, PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, PIXEL_FORMAT_YUV_SEMIPLANAR_444 = 5, PIXEL_FORMAT_YVU_SEMIPLANAR_444 = 6, PIXEL_FORMAT_YUYV_PACKED_422 = 7, PIXEL_FORMAT_UYVY_PACKED_422 = 8, PIXEL_FORMAT_YVYU_PACKED_422 = 9, PIXEL_FORMAT_VYUY_PACKED_422 = 10, PIXEL_FORMAT_YUV_PACKED_444 = 11, PIXEL_FORMAT_RGB_888 = 12, PIXEL_FORMAT_BGR_888 = 13, PIXEL_FORMAT_ARGB_8888 = 14, PIXEL_FORMAT_ABGR_8888 = 15, PIXEL_FORMAT_RGBA_8888 = 16, PIXEL_FORMAT_BGRA_8888 = 17, PIXEL_FORMAT_YUV_SEMIPLANAR_440 = 1000, PIXEL_FORMAT_YVU_SEMIPLANAR_440,
在昇腾310 AI处理器上,不支持以上枚举值中的PIXEL_FORMAT_YUV_SEMIPLANAR_440、PIXEL_FORMAT_YVU_SEMIPLANAR_440。
PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2,
输出图片的宽高限制跟输出图片格式有关,在VPC支持的输出图片格式中,对于YUV420SP格式,宽高均需要2对齐;对于YUV422SP格式,宽度需要2对齐,高度无限制;其它格式宽高没有限制。
PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2,
版本 |
约束 |
---|---|
昇腾310 AI处理器 |
输出图片格式为YUV420SP,贴图区域奇数、偶数限制为:左偏移和上偏移为偶数、右偏移和下偏移为奇数。 |
昇腾310 AI处理器,贴图/抠图的宽高缩放比例范围:[1/32, 16]。
等比例缩放场景下,由于贴图左偏移16对齐的限制,如果直接调用acldvppVpcCropResizePasteAsync接口实现缩放功能,贴图的位置可能不在输出图片的正中心位置,此时可通过抠图、缩放、填充几个功能配合使用(调用acldvppVpcBatchCropResizeMakeBorderAsync接口),实现等比例缩放。
昇腾310 AI处理器,VPC功能中,贴图区域的宽*高有16*2对齐的约束,贴图有效区域的宽*高不满足16*2对齐时,贴图区域中会存在一些补边的无效数据,为保证推理精度,贴图有效区域的宽*高不满足16*2对齐时,用户需借助AIPP抠出有效区域,去除无效数据。
对于1080p的图像,若存在Host->Device的图片数据拷贝,由于拷贝带宽限制,最大总帧率约为1000fps。
场景举例 |
总帧率 |
---|---|
|
n*360fps |
|
1440fps |
|
n*90fps |
|
360fps |
场景举例 |
总帧率 |
---|---|
|
n*25fps |
|
100fps |
|
n*25fps |
|
100fps |
RGB、YUV格式图像的各分量排布示意图。示例:SP图像以YUV420SP为例,Packed和RGB图像以ARGB图像为例。