IspPipeline色相旋转模块实现
2026/9/12 19:47:42 网站建设 项目流程

处理对象:10bit YCbCr 图像,数值范围 0‑1023;Cb、Cr 中性中点 512;模块 662 BCC(明亮度、对比度、颜色调整)。 本模块仅实现:亮度调整、对比度调整、色相相关的饱和度调整;不提供色相旋转 / 色相偏移功能

一、明亮度和对比度处理块 760(Y 通道)

专利流程:

  1. 输入原始亮度Y;
  2. ,减去偏移,将黑度置零;
  3. ,施加对比度增益;
  4. ,施加明亮度偏移;
  5. ,加回偏移。

参数:

  • :Y 通道偏移;
  • :对比度增益,12bit,2 整数位 + 10 小数位;
  • :明亮度偏移,10bit 二进制补码,范围‑512 ~ +512。 输出校正后亮度\(Y'\),输出给后级伽马调整逻辑。

二、全局色相控制块 762(仅用于求取色相角,无色度矢量旋转)

输入原始色度 Cb、Cr(10bit)

  1. 中心化预处理:
  2. 计算该像素自身色相角

:当前像素本身的色相角度,取值范围 0‑360°;对应专利颜色轮 770。 公式 (78)(79) 中三角函数仅用于求取色相角 θ,不做 Cb、Cr 矢量旋转变换。 \(\theta\)输出到饱和度控制块 764,仅作为查表索引,不修改 Cb0、Cr0 的值

三、饱和度控制块 764(色相相关饱和度调节)

专利核心:饱和度增益随像素原始色相角而变化,不同色相可以拥有不同饱和度放大系数。

  1. 以第二步得到的色相角作为查找表索引;CORDIC算法实现色相角的三角函数计算。
  2. 查找表包含 256 个采样点,均匀分布 0‑360° 色相范围;根据做相邻采样点线性插值,得到该色相对应的色相相关饱和度乘子
  3. 合成总饱和度系数::全局饱和度增益参数;
  4. 将总饱和度系数施加到中心化色度:
  5. 恢复 10bit 色度偏移,并钳位到 [0,1023]:输出(Cb'、Cr'),与(Y')一起送入 YCbCr 伽马调整逻辑 664。

关键纠正:不存在色相旋转矩阵对 Cb0/Cr0 做变换;Cb0/Cr0 直接参与饱和度缩放;矩阵 Ka Kb 只为求 θ 用于查表

✅完整数据流

输入:10bit YCbCr(Y, Cb, Cr) │ ├─Y通道【760明亮度‑对比度块】 │ Y1 = Y-Yoffset │ Y2 = Y1 * G_contrast │ Y3 = Y2 + B_bright │ Y' = clamp(Y3 + Yoffset, 0,1023) │ └─Cb Cr通道【762全局色相控制 +764饱和度控制块】 Cb0 = Cb‑512 Cr0 = Cr‑512 θ = arctan(Cr0 / Cb0) ←仅求像素本身色相角,用于查表,不改动Cb0、Cr0 θ索引色相饱和度LUT,线性插值得到S_hue S_total = G_sat × S_hue Cb_out = Cb0 × S_total Cr_out = Cr0 × S_total Cb' = clamp(Cb_out +512,0,1023) Cr' = clamp(Cr_out +512,0,1023) ▼ Y'、Cb'、Cr' →【664 YCbCr伽马调整逻辑】三通道独立LUT非线性映射 ▼ Y_gamma直通;Cb_gamma/Cr_gamma进入【668色度抽选逻辑】7抽头滤波+水平亚采样4:4:4→4:2:2 ▼ 输出YCbCr图像,送往缩放逻辑670

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询