CORE METRICS / IPU
IPU 核心技术指标
概述
IPU 是 G32S10 的图像后处理单元,用于将一层 OSD 图像叠加到背景,或执行色彩空间转换(CSC),适合图像合成与输出格式转换。OSD 支持图层顺序、透明度和预乘配置;独立 CSC 与 OSD 模式不能同时开启。
性能概览
1280×1280 NV12 背景叠加 1280×720 ARGB8888 图层时,端到端帧率为 38.53 fps,平均单帧耗时 25.95 ms。该结果包含软件提交、缓存维护和等待帧完成的开销。
透明度混合已验证像素 alpha、全局 alpha 和像素乘全局 alpha 三种来源,三条透明度带共 9 个 RGB 采样结果均与预期值一致。
端到端性能
固定处理路径为 NV12 背景 + 1280×720 ARGB8888 叠加图层 → NV12 输出,输出尺寸与背景相同。预热 3 帧后连续测量 100 帧,每帧等待 OUT_END 完成;素材在内存中生成,计时不包含 SD 卡读写。
| 背景与输出尺寸(像素) | 端到端帧率(fps) | 平均单帧耗时(ms) |
|---|---|---|
| 1280×1280 | 38.53 | 25.95 |
扩展尺寸观测
以下 8 个测试点超过详细文档规定的 1280×1280 输入、输出尺寸约束,其支持条件与图像正确性尚未确认;这些观测值不作为支持范围或硬件上限。叠加图层仍为 1280×720 ARGB8888,背景为 NV12,采用相同的 3 帧预热、100 帧测量方式。
| 背景尺寸(像素) | 端到端帧率(fps) | 平均单帧耗时(ms) |
|---|---|---|
| 1920×1080 | 33.18 | 30.14 |
| 2560×720 | 36.04 | 27.75 |
| 2560×1280 | 23.39 | 42.74 |
| 2560×1440 | 21.26 | 47.02 |
| 2560×2040 | 15.85 | 63.08 |
| 1920×3072 | 14.24 | 70.18 |
| 2560×2880 | 11.68 | 85.57 |
| 2560×3072 | 11.02 | 90.71 |
OSD 叠加与透明度
功能组合实际执行 300 组,全部通过;12 种 OSD 混合模式均完成处理与输出。支持一层叠加图层,两种层序分别为叠加图层在上、背景在上。
背景格式为 NV12、YUV422、ARGB8888;叠加图层格式为 2bit、NV12、NV21、ARGB8888、ARGB1555、RGB888,输出格式跟随背景。叠加图层的宽、高均不得大于背景。
| 背景格式 | 候选组合 | 跳过组合 | 通过组合 |
|---|---|---|---|
| NV12 | 108 | 6 | 102 |
| YUV422 | 108 | 6 | 102 |
| ARGB8888 | 108 | 12 | 96 |
| 合计 | 324 | 24 | 300 |
跳过项涉及尺寸越界或可用内存不足,数量随板卡内存条件变化。上述通过判定检查图层顺序和输出已写入,不代表完成逐像素误差验证。12 种模式包括 source-over、source、destination、clear、destination-over、source-in、destination-in、source-out、destination-out、source-atop、destination-atop、xor。
透明度混合精度
使用 1280×1280 ARGB8888 背景与 640×360 ARGB8888 叠加图层,背景 RGB 为 10 20 30,图层 RGB 为 80 40 C0(均为十六进制)。图层未预乘,背景不透明,图层位置为 x=320、y=460。每种 alpha 来源分别在 alpha=255、128、0 的三条竖带各取一个点,实测 RGB 如下,均与对应预期值一致。
| alpha 来源 | 图层 alpha=255 | 图层 alpha=128 | 图层 alpha=0 |
|---|---|---|---|
| 像素 alpha | 80 40 C0 | 48 30 78 | 10 20 30 |
| 全局 alpha(192) | 64 38 9C | 64 38 9C | 64 38 9C |
| 像素 alpha × 全局 alpha / 256 | 64 38 9B | 3A 2C 66 | 10 20 30 |
表内 RGB 分量均为十六进制;乘积模式的全局 alpha 为 192。精度结论限于上述采样点,未量化全图误差。输入预乘配置应与图像数据是否已预乘保持一致。
色彩空间转换
NV12、YUV422 两种输入到五种输出的 10 条 CSC 通路均通过功能测试。输出尺寸与输入相同,转换使用默认 CSC 系数。
| 输入格式 | 已测输出格式 |
|---|---|
| NV12 | NV12、NV21、ARGB8888、RGB888、HSV |
| YUV422 | NV12、NV21、ARGB8888、RGB888、HSV |
SD 模式测试尺寸为 1280×1280;UVC 模式受 16 MB RAM 限制,测试尺寸为 800×800。该项验证格式转换功能,未提供色差或转换误差的量化结果。
测试条件与使用约束
测试平台为 G32S103、G32S107 SK SLT 真片。G32S103 覆盖寄存器、OSD 功能、alpha、DMA 边界、CSC、混合模式和中断测试;G32S107 包含性能与复位测试。两平台分别采用 -O2、-Os 编译优化。上述性能结果未区分各平台,且未给出 CPU、IPU 时钟,复用数据时需核对实际配置。
常规输入、输出尺寸遵循详细文档的 1280×1280 约束;输出尺寸与背景相同。1280×1280 NV12 背景叠加 1280×720 ARGB8888 图层的性能配置约需 8.6 MiB 动态图像缓冲区。
DMA 跨 4 KiB 边界测试通过:背景源、叠加源及输出缓冲区的页内偏移均为 0x800。SD 模式采用 1280×1280 ARGB8888 背景 + 640×360 ARGB8888 图层;UVC 模式为 800×600 + 400×240。帧完成中断的投递、清除及屏蔽已验证。停止后需等待空闲,再复位并重新完整配置;复位测试检查控制流程和寄存器复位值,未自动比较复位前后图像的一致性。
文档入口:查看 IPU 用户手册 · 查看 IPU SDK 文档。