图层控制
Read time: 3 minute(s)
UI 图层
UI 图层功能如下:
- 多窗口支持:有四个矩形窗口,可单独控制开关。
- 位置控制:各窗口以图层左上角为原点设置坐标,控制显示位置。
- 颜色格式一致性:所有窗口的颜色格式必须一致。
- 图像裁剪:窗口可显示原始图像的裁剪区域,软件需计算矩形区域的起始地址。
- 非重叠约束:四个矩形窗口不可重叠,需进行有效性检查。

Video 图层
Video 图层功能如下:
- 格式支持:支持 RGB 和 YUV 格式输入。
- Scaler 要求:
- 输入为 YUV420 或 YUV422 格式时必须开启 Scaler。
- 输入为 RGB 格式时不支持 Scaler。
- 图像裁剪:
- RGB 格式的裁剪在水平和垂直方向都是 1 像素对齐。
- YUV420 格式裁剪的水平和垂直偏移需 2 像素对齐。
- YUV422 格式裁剪的水平偏移需 2 像素对齐,垂直方向 1 像素对齐。
- 颜色空间转换:YUV 转 RGB 通过 CSC0 模块完成,使用特定公式计算 RGB 值。
R = Coef0 × Y + Coef1 × U + Coef2 ×V + Coef3 G = Coef4 ×Y + Coef5 × U + Coef6 ×V + Coef7 B= Coef8 × Y + Coef9 × U + Coef10 ×V + Coef11
- Scaler 处理:
- Scaler0 有两个独立的 channel,Y 分量由 channel0 处理,U 和 V 分量由 channel1 处理。
- YUV420/YUV422 经过 Scaler0 后输出 YUV444 格式,再经 CSC0 转换为 RGB 格式显示。
- 滤波系数设置:
- 当选择多相位滤波算法且查表时,需软件设置滤波系数表。
- 水平滤波系数为 6 taps,共 96 个系数,通过 48 个 32 bits 寄存器设置。
- 垂直滤波系数为 4 taps,共 64 个系数,通过 32 个 32 bits 寄存器设置。
下图中的 YUV420P/ NV12/ NV21 格式的 U、V 分量的宽和高是 Y 分量的一半,经过 Scaler 模块后,三个分量的输出宽高相同,输出 YUV444 格式:

- 当 scaler0 选择 6x4 taps 16 phases 多相位滤波算法,scaler0 控制寄存器选择的是内置滤波系数,不需要软件设置滤波系数表。
- 当 scaler0 选择的是多相位滤波算法,并且 scaler0 控制寄存器选择的是查表,则需要软件设置滤波系数表。
Channel0 和 channel1 有独立的滤波系数表,并且水平滤波系数和垂直滤波系数需要单独设置,总共对应四组滤波系数。
- 水平滤波为 6 taps,滤波系数为 6x16 共 96 个。
通过 48 个 32 bits 寄存器来设置,每个系数为 14 bits 有符号数, 寄存器低 16 bits 和高 16 bits 各存储一个系数,采用小端方式存储。
例如 phase0 和 phase1 占用一个 32 bits 寄存器,phase0 在[0:13],phase1 在[16:29]。先存储 tap0 的 phase0,phase1,依次到 phase15, 然后再存储 tap1, tap2,tap3,tap4,tap5。
- 垂直滤波为 4 taps,滤波系数为 4x16 共 64 个。
通过 32 个 32 bits 寄存器来设置,每个系数为 14 bits 有符号数,寄存器低 16 bits 和高 16 bits 各存储一个系数。
例如 phase0 和 phase1 占用一个 32 bits 寄存器,phase0 在[0:13], phase1 在[16:29]。先存储 tap0 的 phase0,phase1,依次到 phase15,然后再存储 tap1, tap2,tap3。