开发者
资源

JPEGE功能及约束说明

功能说明

JPEGE(JPEG Encoder)将YUV格式图片编码成JPEG压缩格式的图片文件,例如*.jpg。

图片分辨率约束

  • 输入图片分辨率:

    型号

    分辨率范围

    Atlas A3 训练系列产品/Atlas A3 推理系列产品

    Atlas A2 训练系列产品/Atlas A2 推理系列产品

    Atlas 推理系列产品

    Atlas 训练系列产品

    最大分辨率:8192*8192,最小分辨率:32*32。

    Atlas 200I/500 A2 推理产品

    最大分辨率:16384*16384,最小分辨率:32*32。

  • 输出图片分辨率

    JPEGE只对图片编码,不会改变图片分辨率,因此输出与输入的图片分辨率保持一致。

图片格式、宽高对齐、内存约束

实现JPEGE图片编码功能时:

  • 需调用acldvppMalloc接口申请Device上的输入、输出内存,调用acldvppFree接口释放输入、输出内存,这部分内存的生命周期由用户自行管理。
    • 输入内存的大小是指存放输入图片的内存大小,请参见下表中的计算公式。
    • 输出内存的大小就是指实际的编码后图片所占用的大小,可调用acldvppJpegPredictEncSize接口预估输出内存大小。
  • 支持的输入图片格式如下表所示。

    输入图片格式的定义请参见acldvppPixelFormat

  • 输入图片宽stride、高stride的要求如下表所示。

    宽stride、高stride等概念请参见基本概念

  • 输出图片格式为JPEG压缩格式的图片文件,例如*.jpg。只支持huffman编码,不支持算术编码,不支持渐进编码。
表1 输入图片格式、宽高对齐、内存大小约束

输入图片格式

输入图片宽、高对齐要求

输入图片宽stride、高stride要求

输入图片内存要求

YUV420SP NV12 8bit

YUV420SP NV21 8bit

宽2对齐

高2对齐

宽stride为宽16对齐后的值,兼容对齐到16的倍数如128(按128对齐时,性能更优)。

高stride支持以下两种配置:配置为与输入图片的高度相同的数值;或配置为输入图片的高度向上对齐到16的数值(最小为32),当JPEGD的输出图片直接作为JPEGE的输入(JPEGD输出图片高度是向上对齐到16的),可使用该对齐方式。

内存大小(单位Byte)= 宽stride * 高stride * 3/2

YUV422Packed YUYV 8bit

YUV422Packed UYVY 8bit

YUV422Packed YVYU 8bit

YUV422Packed VYUY 8bit

宽2对齐

高无对齐要求

宽stride为宽的两倍再16对齐后的值。

高stride支持以下两种配置:配置为与输入图片的高度相同的数值;或配置为输入图片的高度向上对齐到16的数值(最小为32),当JPEGD的输出图片直接作为JPEGE的输入(JPEGD输出图片高度是向上对齐到16的),可使用该对齐方式。

内存大小(单位Byte)= 宽stride * 高stride