Quadrature Spatial Correction(QSC) 和 Linear To Companding(LTC)——在高端图像传感器(尤其是 Sony 的 IMX 系列,比如 IMX586、IMX789、IMX989 等)中是非常重要的内部校准和图像优化机制。它们通常用于提升成像质量、修复像素非均匀性、提升 HDR 精度等。
1. Quadrature Spatial Correction(QSC)
基本定义:
QSC 是 Sony 高端图像传感器中的一种空间校正机制,主要用于 修复像素阵列中的空间非均匀性(spatial non-uniformity),尤其在 QBC(Quad Bayer Coding) 架构下使用。
适用背景:
在像 IMX586、IMX789 这类 Quad Bayer 传感器中,传感器像素是以 2x2 的 quad 单元组织的。它们用于:
-
高像素合成(像素 binning)
-
HDR(多曝光)拼接
-
多通道对焦(例如 PDAF)
QSC 的作用:
由于 fabrication 工艺问题,不同位置的像素或像素组合可能响应不一致。QSC 的作用是:
-
校正每个 2x2 像素单元 的响应差异
-
消除空间上的光学或电学非均匀性(比如:电荷转移效率不一致)
-
修复 binning 后的图像边缘错位、细节模糊
数据来源:
QSC 校准数据通常保存在 OTP(One-Time Programmable)ROM 或 EEPROM 中,在 sensor 初始化时通过 I2C 读取并写入 sensor 寄存器。
2. Linear To Companding(LTC)
基本定义:
LTC 是一种将图像传感器采集的 线性响应信号 压缩成 更宽动态范围格式 的机制,常用于 HDR(高动态范围) 成像场景。
背景:
在传感器输出中,原始的模拟电压转换为数字值是线性的。但人眼对亮度的感知是 对数的。而且,在 HDR 模式下,线性数据范围太大,会:
-
超出 sensor 的比特深度
-
难以有效表达亮部细节
LTC 的作用:
LTC 引入一种 非线性映射曲线(类似对数),把线性输出压缩为 companded 输出:
-
暗部拉伸:让低亮区域更加明显
-
亮部压缩:防止高光溢出
-
保留更多的动态范围信息
这种转换是 sensor 内部通过 LUT(查找表)或内建函数完成的。
应用在:
-
In-sensor HDR(传感器级别的多曝光融合)
-
视频流的动态压缩(例如直接输出 10-bit companded 数据)
-
AI 推理前的 tone-mapping 预处理
总结对比:
技术名 | QSC(Quadrature Spatial Correction) | LTC(Linear to Companding) |
---|---|---|
功能 | 修正像素空间响应差异 | 压缩线性图像为非线性(对数)格式 |
应用 | Quad Bayer、PDAF、像素 binning | HDR、ISP、压缩格式输出 |
数据来源 | EEPROM / OTP 校准数据 | 内建 LUT,部分可编程 |
原因 | 物理阵列差异 | 感知范围与存储范围不匹配 |
常用芯片 | Sony IMX586、IMX789 等 | 同上及 HDR 模式下 |
如果你正在调 sensor 驱动或 HAL,有时会看到 QSC / SPC / AWBOTP / LSC 等一起出现,它们都属于 sensor 的 OTP 校准表内容的一部分。而 LTC 则更偏向于 sensor pipeline 中的实时图像输出格式控制。
LTC(Linear to Companding) 和 PWL(Piece-Wise Linear) 有非常紧密的关系。
先说核心概念对比:
名称 | 含义 | 作用 | 关系 |
---|---|---|---|
LTC | Linear to Companding | 把线性图像数据压缩成对数(或伪对数)形式,扩大动态范围 | Companding的目的 |
PWL | Piece-Wise Linear | 使用一段段线性函数逼近复杂曲线(如对数曲线) | 实现Companding的方式之一 |
LTC ≈ 用 PWL 来近似对数压缩
在图像传感器中,LTC 是一种 “压缩编码”策略,用来将宽动态范围的线性信号映射到有限的 bit 深度输出中。为了解决实际硬件中无法高效实现真实对数映射的问题,很多 sensor(特别是 Sony 和 Samsung 的高端 sensor)采用 PWL 近似对数函数,实现 LTC。
举个例子:
假设原始线性亮度值范围是 065535(16bit),我们希望压缩成 01023(10bit):
-
若直接线性映射,高亮部分很容易丢细节
-
如果用 LTC(对数压缩),可以保留更多暗部细节
这时,PWL 表如下所示(伪代码):
if (input < T1) output = A1 * input + B1;
else if (input < T2) output = A2 * input + B2;
else output = A3 * input + B3;
即通过一段段线性函数(A*x+B)来逼近 log 曲线。
在图像传感器里的作用
在高动态范围图像中,传感器可能输出 原始线性数据 或 已经过 LTC 的压缩数据,这个压缩过程往往就在 sensor pipeline 内部完成,不需要 ISP 参与。
使用 PWL 做 LTC 有几个优势:
-
低硬件复杂度:对数函数计算较复杂,PWL 用 LUT+简单乘加即可实现
-
实时性好:适合在 sensor pipeline 或 ISP 中做高速处理
-
灵活可调:有的 sensor 支持配置 PWL 分段参数,可适配不同亮度场景
示例:LTC 在 Sony IMX689 中的描述(实际手册中)
LTC companding output is enabled via register
0x3A00
. The companding curve follows a PWL approximation of log2 domain with 4 segments.
总结一句话:
是的,LTC 是一种压缩机制,而 PWL 是实现 LTC 的主要方式之一。
在 sensor 中,PWL 是一种工程优化手段,让对数压缩变得高效可控;而 LTC 是目标,目标是 在有限比特数内最大限度保留图像动态范围。