CORE METRICS / I2D / PERFORMANCE

I2D

图像旋转、镜像、翻转与像素格式转换性能

概述
  • 典型集成口径下,NV12 1920×1080 可达 38 fps,RAW8 可达 57 fps,适合 30 fps 实时处理。

  • YUV422 和 RGB565 在 1920×1080 下为 29 fps;ARGB8888 为 14 fps。

  • 旋转叠加上下翻转、左右镜像几乎不增加耗时,选型时可按单次旋转估算。

  • 默认 cache 维护使单帧耗时增加约 47%,整机规划应优先参考“典型集成”数据。

除特别说明外,以下数据使用“典型集成”口径:中间件开启 cache 维护,单帧耗时为 im_i2d_process() 从入口到返回的总开销。

FORMAT & RESOLUTION

一、按格式与分辨率选择

每组数值为“帧率 fps / 单帧耗时 ms”。先按实际像素格式和目标分辨率查表,再结合目标帧率判断余量。

典型集成口径(计入 cache 维护)

像素格式1280×7201280×12801920×10802560×19203840×2160
NV1284 fps
11.91 ms
48 fps
20.62 ms
38 fps
26.08 ms
16 fps
61.39 ms
10 fps
103.79 ms
YUV42264 fps
15.58 ms
36 fps
27.45 ms
29 fps
34.71 ms
12 fps
82.04 ms
未取得数据
RGB56564 fps
15.61 ms
36 fps
27.42 ms
29 fps
34.71 ms
12 fps
81.99 ms
未取得数据
ARGB888832 fps
31.11 ms
18 fps
55.11 ms
14 fps
69.23 ms
未取得数据未取得数据
RAW8124 fps
8.04 ms
73 fps
13.74 ms
57 fps
17.48 ms
24 fps
40.97 ms
14 fps
69.23 ms

“未取得数据”表示测试环境内存不足,不代表芯片不支持该格式或分辨率。

ROTATION / FLIP / MIRROR

二、几何操作是否增加耗时

结论是几乎不增加。同格式、同分辨率下,旋转 90° 与叠加上下翻转、左右镜像的处理耗时差异小于 1.5%,大部分组合差异小于 0.1 ms。

开发者只需要按“旋转”估算能力,不必为镜像和翻转预留额外性能。以下以 NV12 1920×1080、典型集成口径为例。

操作组合单帧耗时相对旋转 90°
旋转 90°26.08 ms基准
旋转 90° + 上下翻转26.05 ms-0.03 ms
旋转 90° + 左右镜像26.05 ms-0.03 ms
旋转 90° + 上下翻转 + 左右镜像26.05 ms-0.03 ms

CACHE & CONCURRENCY

三、并发配置

I2D 与 IPU 并发

并发运行时,提高 outstanding_limit 会改善 I2D 帧率,但会拉长 IPU 单帧耗时。开发者应按照两条链路的业务优先级选择,而不是直接使用最大档位。

以下数据使用 1280×1280,几何为旋转 180° + 上下翻转。

outstandingNV12:I2DNV12:IPURAW8:I2DRAW8:IPU
135 fps38 fps53 fps38 fps
450 fps24 fps74 fps24 fps
1658 fps13 fps87 fps13 fps
3263 fps8 fps92 fps9 fps
6463 fps8 fps92 fps9 fps

建议开发者先以 outstanding=16 联调,再根据 I2D 与 IPU 的实际优先级调整。I2D 数据为同一竞争窗口内的结果;IPU 为引擎侧平均耗时,不包含 worker 的 cache 维护。

LARGE RESOLUTION

四、大分辨率与内存边界

下表给出 32 MiB 测试内存条件下可跑通的最大尺寸。“最大可测尺寸”是测试环境边界,不是芯片规格上限;超出该尺寸需要重新核算系统内存预算。

格式最大可测尺寸缓冲占用帧时 / 帧率
NV124392×246432,465,664 B93 ms / 11 fps
YUV4223804×213632,501,376 B93 ms / 11 fps
RGB5653804×213632,501,376 B93 ms / 11 fps
ARGB88882690×151232,538,240 B94 ms / 11 fps
RAW85384×302432,562,432 B94 ms / 11 fps
关于“未取得数据”:原始测试中的 no mem 表示在当前测试程序与 32 MiB 内存限制下无法申请到缓冲,不能直接解释为芯片不支持该格式或分辨率。

TEST METHOD

五、测试说明

测试通过中间件接口执行,源图在内存中合成,源缓冲与目的缓冲均按 64 字节对齐。主表数据来自 I2D 单独工作场景,帧率为同一帧微秒均值换算结果。

  • 调用路径:im_i2d_init() → im_i2d_process()。

  • 几何组合:旋转 90°、旋转 90° + 上下翻转、旋转 90° + 左右镜像、旋转 90° + 上下翻转 + 左右镜像。

  • 测试规模:5 种格式 × 5 档分辨率 × 4 种几何,共 100 个组合;84 个组合取得有效数据,16 个组合因测试环境内存不足未取得数据。

  • 原始测试日志、完整表格和过程截图保留在研发报告中,对外页面默认不展示过程截图。