CANN提供了AIPP和DVPP两种处理图像/视频数据的方式,本章主要介绍基于DVPP的图像/视频数据处理。
AIPP、DVPP可以分开独立使用,也可以组合使用。组合使用场景下,一般先使用DVPP对图片/视频进行解码、抠图、缩放等基本处理,但由于DVPP硬件上的约束,DVPP处理后的图片格式、分辨率有可能不满足模型的要求,因此还需要再经过AIPP进一步做色域转换、抠图、填充等处理。
例如,在Atlas 200/300/500 推理产品和Atlas 训练系列产品上,由于DVPP视频解码仅支持输出YUV格式的图片,如果模型需要RGB格式的图片,则需要再经过AIPP做色域转换的处理。
处理方式 |
描述 |
---|---|
AIPP(Artificial Intelligence Pre-Processing) |
AIPP人工智能预处理,在AI Core上完成数据预处理,主要功能包括改变图像尺寸(抠图、填充等)、色域转换(转换图像格式)、减均值/乘系数(改变图像像素)等。
AIPP区分为静态AIPP和动态AIPP。您只能选择静态AIPP或动态AIPP中的一种来处理图片,不能同时配置静态AIPP和动态AIPP两种方式。
|
DVPP(Digital Vision Pre-Processing) |
DVPP是昇腾AI处理器内置的图像处理单元,通过pyACL媒体数据处理接口提供强大的媒体处理硬加速能力,主要功能包括以下功能:
说明:
AIPP、DVPP可以分开独立使用,也可以组合使用。组合使用场景下,一般先使用DVPP对图片/视频进行解码、抠图、缩放等基本处理,但由于DVPP硬件上的约束,DVPP处理后的图片格式、分辨率有可能不满足模型的要求,因此还需要再经过AIPP进一步做色域转换、抠图、填充等处理。 例如,在Atlas 200/300/500 推理产品和Atlas 训练系列产品上,由于DVPP视频解码仅支持输出YUV格式的图片,如果模型需要RGB格式的图片,则需要再经过AIPP做色域转换的处理。 |
版本对媒体数据处理V2版本各功能的支持度如下表所示。
版本 |
VPC |
JPEGD |
JPEGE |
PNGD |
VDEC |
VENC |
---|---|---|---|---|---|---|
Atlas 推理系列产品 |
√ |
√ |
√ |
√ |
√ |
√ |
Atlas 200I/500 A2推理产品 |
√ |
√ |
√ |
√ |
√ |
√ |
Atlas A2训练系列产品/Atlas 800I A2推理产品 |
√ |
√ |
√ |
√ |
√ |
x |
使用本章中介绍的接口,有以下注意点:
对于Atlas 推理系列产品:媒体数据处理功能在每个进程内,可访问的地址空间最大为16GB。
对于Atlas A2训练系列产品/Atlas 800I A2推理产品:媒体数据处理功能在每个进程内,可访问的地址空间最大为16GB。
实现媒体数据处理的各功能前,必须调用接口创建对应功能的通道,请分别参见VPC功能、VDEC视频解码/JPEGD图像解码接口、VENC视频/JPEGE图像编码接口、PNGD图像处理接口章节下的通道创建与销毁接口,查看接口说明以及通道数的最大限制。
通道的创建与销毁会涉及资源的申请与释放,反复创建与销毁通道会影响业务性能,因此建议根据实际场景管理通道,例如,如果有持续VPC图片处理,则创建VPC的通道后,等到所有VPC功能调用完成后,再销毁该VPC通道。
通道数量多,会影响Device的CPU占用率和内存占用,通道数量建议参考各功能章节下的的性能指标的路数。