图像处理中GAMMA校正的研究和实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)
图 2所示为 ITU 2T BT709推荐的电视摄影机的传
输函数 。理论上 ,该函数将接近 Gamma校正曲线 , 但
实际应用中 ,例如电视摄影机 ,在最暗区为了减少噪
声 ,函数的斜率将限制在 0附近 [ 4 ] 。
图 2 电视摄影机的传输函数
前已指出 ,人类视觉对于对比度的感觉是非线性 的 ,经典心理学试验给出了这一表达 ,即 W eber2Fech2 ner定理 :人眼感觉的光线 (视觉定量 )近似等于亮度 的 0. 4 次方幂 [ 1 ] ,这一关系近似为 CRT电压 2亮度函 数的反函数 。在模拟系统中 ,光信息被表达为电压经 CRT幂函数转化为亮度信息 ;在数字系统中 ,只要把 模拟电压数字化即可 。由于 CRT传输函数极近似于 视觉对于光线敏感度的反函数 ,因此 CRT的电压可作 为视觉唯一性编码 。
将造成许多编码在视觉上是无用的 。在 8 bit线性光 系统中 ,灰度值最白 (码 255)和最黑 (码 0)之间没有 任何轮廓的比率仅为 2. 55: 1,为了获得 100∶1的对比 度 ,线性光编码需要 9 900 个码 ,这将需要 14 bit的二 进制系统 。如果使用视觉编码的话 ,就只需要 463 个 码 。在视觉编码中 ,两个相邻的码之间比率为 1. 01, 视觉编码可表达为 ( 1. 01 ) N 对比度 ,因此仅需要 463 个代码即可获得 100∶1的对比度 。
收稿日期 : 2005203231; 修回日期 : 2005212212。
·30·
人类视觉适应从黑到白的亮度对比为 100 ∶1,在 这个范围内 ,视觉对于亮度的反应大致呈对数关系 。 亮度 Y 是由 RGB 三色信号构成的 ,根据 ITU 2R B T. 709的规定 ,可简单表达如下 [ 2 ] :
没有经过 Gamma矫正的设备会影响最终输出图 像的颜色亮度 ,例如一种颜色由红色和绿色组成 ,红色 的亮度为 50% ,绿色的亮度为 25% ,如果一个未经过 Gamma矫正的 CRT显示器的 Gamma 值是 2. 5,那么 输出结果的亮度将分别为 18%和 3% ,其亮度大大降 低了 。
为了补偿这方面的不足 ,我们需要使用反效果补 偿曲线来让显示器尽可能地输出与输入图像相同的图 像 ,这样才能在显示器上得到比较理想的输出结果 。 一般的反效果可以直接被赋予存储在帧缓存中的图 像 ,使 Gamma曲线呈非线性 ,也可以通过 RAMDAC进 行这种反效果补偿 (或者说是 Gamma曲线矫正 ) 。这 样 ,就可以在显示器上看到与输入图像接近的图像 。 当然 ,这只是理想状态下的情况 ,在实际应用中并不可 能得到完美的校正效果 ,所以不同的厂商之间所竞争 的就是谁能做到最接近于这个效果 。
第 32卷第 2期
彭国福 ,等 :图像处理中 Gamma校正的研究和实现
·信号处理与显示技术 ·
的模拟 (或有时是数字 )电路实现的 。在计算机图形
学中 , Gamma校正通常是把传输函数与帧缓存查找表
联系起来实现 。为了获得 Gamma校正 ,用得最广泛的
标准传输函数由 ITU 2R BT709 推荐 ,这一传输函数还
·32·
同时进行 Gamma校正 ,经过 D /A 转换器把帧缓存颜 色数字信号转变成电子枪的电压值 ,此时的电压值和 帧缓存的颜色信号是一一对应 ,至于如何根据输入信 号的强度找到 CRT的电压值 ,已经在上面给出了详细 的公式 ,不再赘述 ,此时的 γ = 0. 45;然后经过 CRT显 示器成像 ,显示器的 Gamma值 γ = 2. 2,最终完成校正 过程 。至此 ,完成了对图像的 Gamma校正过程 。
图像是由像素构成的 ,在真彩色系统中 ,每个像素 用 8 bit的 RGB 分别表示 ,取显示器 γ = 2. 2,则原始图
像经摄影机镜头捕获后必须进行 Gamma校正 ,取摄影 机 γ = 1 /2. 2≈ 0. 45,则有 :
Rgamma = 255 R source 0. 45 255
Ggamma = 255 Gsource 0. 45
【摘 要 】 对图像处理中的 Gamma校正进行了详细分析 ,从 CRT (阴极射线管 )显示器和人类视 觉特性两方面分析了 Gamma校正的必要性 ,给出了 RGB 三原色的非线性编码 ,并对 Gamma校正给出 了基于帧缓存颜色查找表的实现方法 。
关键词 : Gamma校正 , CRT显示器 , 视觉 , 非线性编码 , 帧缓存 , 颜色查找表 中图分类号 : TN911. 73
CRT显示器基本的成像过程可以由图 3表示 。
图 3 CRT显示器成像的基本示意图 [ 5]
下面详细说明具体的实现方法 。CRT使用 RGB
三种颜色的荧光粉 ,设 I0 为最小光照强度 ,取值范围 通常为 0. 005~0. 025 之间 , r为相邻强度之比 (为常
数 ) ,则有 : I0 = I0 , I1 = rI0 , I2 = r2 I0 , …, I255 = r255 I0 = 1
Ij = rj I0 ,或者直接计算得到 j的值 ,即 j = [ logr ( I/ I0) ] ,其 中 [ ]表示取最接近的整数值 。使用此式得到的 j来计 算强度 Ij ,则 V = [ ( Ij / K) (1 /γ) ] ,此时得到的 V 就是查
找表中与输入 I相对的最接近值 [ 7 ] 。
图 4 帧缓存颜色查找表和 D /A转换基本结构 [ 4]
RGB 颜色 Gamma校正查找表的具体安排如表 2
所示 。
表 2 RGB颜色 Gamma校正查找表安排
原始 R G B值 ( hex)
Gamma校正后 R G B 值 ( hex)
00
00
01
15
02
1d
03
23
04
27
05
2b
⁝
⁝
99
a7
第 32卷第 2期 2006年 2月
EL
电子工 ECTRON IC
程 EN
师 G IN
EER
V oFl. e3b.2
No. 2 2006
图像处理中 Gamma校正的研究和实现
彭国福 , 林正浩
(同济大学电子与信息工程学院 , 上海市 200092)
模拟了人类视觉 ,它在摄像机捕获动画镜头过程中实
现 。传输函数可分段表达如下 [ 4 ] :
X=
1.
009L
0. s
045
-
0. 099 0. 018 ≤ Ls ≤ 1. 0
4. 50L s 0 ≤ L s ≤ 0. 018
(2)
最佳近似可以由单一幂函数表达 [ 4 ] :
X = L s0. 518
图 1所示为在 3 个对比度下的 CRT传输函数 , X 轴代表输入视频信号 , Y 轴代表显示器屏幕显示的亮 度 ,曲线可以近似为 : Lm = (Vs )γ,γ即 CRT的 Gamma 值 [4]。
图 1 CRT的传输函数
为了补偿 CRT的非线性 ,由视频摄像机捕获的三 色信号 RGB 必须经非线性传输函数的处理 ,这一过程 就是通常所说的 Gamma校正 。校正所用到的函数近 似 平方根 ,在视频中 , Gamma校正是由置于摄影机内
2 结论
由上分析可以得出如下结论 : a) 人类视觉对于亮度信号的反应呈非线性 ,只有 当相邻两个强度的比率 ≥1. 01时 ,视觉才能分辨出这 两个强度信号 ,这就决定了 Gamma校正即使在线性系 统中也是必须的 。 b) 为了保证显示器呈现的图像与原始图像相同 , Gamma校正在 CRT显示器中是必不可少的 。 c) 由于 CRT显示器 Gamma值大于 1,一般为 2. 2 ~2. 5, 以 2. 2 多 见 , 即 成 像 将 使 得 图 像 亮 化 , 因 此 Gamma校正值必须小于 1,即必须使得图像暗化 ,以抵 消显示器的影响 。 d) Gamma校正是采用颜色查找表来实现的 ,为 了使帧缓存颜色查找表存储的颜色进一步丰富 ,帧缓 存颜色查找表中不直接存储颜色值 ,而是存储颜色值 的地址索引 ,根据地址到颜色查找表中查找颜色 ,查找 表的位宽大于地址索引位宽 。例如在真彩色系统中 , 帧缓存颜色查找表位宽为每个 RGB 各为 8 bit,而颜色 查找表位宽取到 10 bit,这样可以表示更丰富的色彩 。
(4)
由于荧光粉发射的光强与 CRT电子束包含的电
子个数相关 , 即
I
=
K1
γ
N
,
其
中
γ为
CRT 显 示 器 的
Gamma值 ,一般取 2. 2 ~2. 5, K1 为常数 , N 正比与光
栅电压 。于是有 :
I
=
γ
KV
,
K为常数 [ 6 ] 。假定我们要得
到的强度为 I,从查找表中找到了最接近的值 Ij ,由于
Y = 0. 2121R + 0. 7152G + 0. 0722B ( 1) 由于 Gamma值与物理学 、视觉理论 、图片和视频 等 4个不同领域相关 ,使得 Gamma校正的研究非常复 杂和深奥 ,但 Gamma校正最初起源于 CRT的非线性 , 因此有必要先对 CRT物理学做一介绍 。研究 CRT电 子枪的物理表明 ,电子枪的输入电压和输出光之间的 关系满足 522幂函数 ,即荧光屏上显示的亮度正比于 输入电压的 5 /2次方 [ 3 ] ,这个指数被称为 Gamma (γ) , 这种关系源于阴极 、光栅和电子束之间的静电相互作 用 ,该函数受电子枪的机械构造影响很小 。
·信号处理与显示技术 ·
电子工程师
2006年 2月
1所示 。
表 1 K值与 I0 值的关系
K
I0
0
0. 020 0
1
0. 020 3
2
0. 020 6
⁝
⁝
254
0. 984 5
255
1. 000 0
原始 RGB 三色信号的强度值 ( 0 ~255 ) 再经式 (5)校正 ,得到校正后的 RGB 值 ,然后通过查找表得 到最终的颜色值 。基本原理示于图 4。
下面说明视觉编码的优越性 。 假定 RGB 信号分别由 256 ×8 bit表示 , 256 代表 灰度值 0~255, 8 bit代表每个灰度值由 8 位表示 ,只 有当对比度大于 1%时 ,人类视觉才可以准确地辨别 两个相邻编码 ,例如码 202 是码 200 的 1. 01 倍 ,而码 201只有码 200的 1. 005倍 ,因此邻近的码 200和 201 代表的形状人类视觉无法察觉 。这就导致了“编码 100问题 ”。码 100 就是视觉灵敏度的门槛 。对于低 于 100的编码 ,相邻码的亮度比率远大于 1% ,例如与 25相邻的码比率为 4% ,对于图像的平滑区域 ,不同亮 度值的编码 ,例如 25 和 26会导致条端和轮廓 。对于 超过 100的编码 ,相邻代码的亮度比率小于 1% ,这又
0 引 言
1 Gamma 校正的研究和实现
Gamma校正是一种参数值 ,用来表达 CRT (阴极 射线管 )显示器的非线性特性 ,但事实上 ,即使 CRT显 示器是线性的 , Gamma校正仍然存在 。原因在于人类 视觉系统对于亮度或者说对于 RGB 三色信号的感觉 大致成对数关系 ,而并非线性关系 , Gamma 校正正是 为了克服这种非线性而引入的一种传输函数 ,在视频 流 、计算机图形学以及其他成像系统中应用广泛 [ 1 ] 。 一般地 ,由于视觉环境和显示设备特性的差异 , Gamma 值取 2. 2~2. 5 之间 。一般情况下 ,当用于 Gamma矫 正的值大于 1时 ,图像的高光部分被压缩而暗调部分 被扩展 ,当 Gamma矫正的值小于 1时 ,图像的高光部 分被扩展而暗调部分被压缩 , Gamma矫正一般用于平 滑地扩展暗调的细节 。
(5)
255
B gamma = 255 B source 0. 45 255
根据视觉编码的特点 ,取 γ = 1. 015,设最小强度
I0 = 0. 02,最小强度取决于 CRT显示器的性能 ,显示器 的动态范围为最大强度与最小强度的比值 ,即 I255 / I0
= 1 /0. 02 = 50,则由递推关系式可以得到强度值如表 ·31·
100
a7
101
a8
102
a9
⁝
⁝
f8
fc
f9
fc
⁝
⁝
fd
fe
fe
fe
ff
ff
Fra Baidu bibliotek
具体校正过程可以按如下实现 :首先 ,摄影机镜头 捕获原始图像 ,并根据每个 8 bit的 RGB 强度信号提 供的地址索引搜索到帧缓存颜色查找表 ,每个查找表 的最小容量为 28 ,为了使帧缓存颜色查找表进一步丰 富 ,可以对于 RGB 三原色使用 8 bit进行地址编码 ,而 对于颜色查找表使用大于 8 bit的编码 ,如 10 bit等 ,