Step1
Gamma 调整
1、Gamma 是为了矫正显示器件显示的亮度和输入的信号之间的关系,以达到人眼对亮度感
知的均匀性,所以 gamma 曲线的调整应该满足 PANEL 的显示亮度与输入信号之间成二次关系
的曲线:
L=Lmax *(输入信号值/最大信号值)^a;
Lmax 是 PANEL 的最大亮度,a 是乘方的系数,也就是我们常说的 gamma 的系数;
对于大多数的 LCD PANEL 我们推荐使用 a=2.2;
具体可使用附件的 gamma 计算的工具;
2、因为 PANEL 都会有自己的 gamma buffer,而且 panel 是信号流程的最后端,所以 Panel
本身的 gamma 对我们调整 gamma 有至关重要的影响,可是使用我们的 internal pattern 来
量测 panel 本身的 gamma 曲线,如果 panel 本身的 gamma 曲线与我们要得到的曲线偏差非常
大,一般很难通过 chip 端来矫正,而且有可能会带来 contour;
3、Gamma 除了可以用来矫正 panel 的亮度曲线,还可用来矫正 Panel 色温;
可以首先使用我们的 internal pattern 来测量一下 panel 本身的色温,如果 panel 本身
的色温与我们的目标值相差不是很大,并且色温的一致性也比较好,可使用三条曲线完全相
同的 gamma 曲线,而色温可以直接通过调整 gain 和 offset 来满足色温的要求;
如果是 panel 本身色温的一致性不是很好,可以通过调整 gamma 来矫正;
如果 panel 本身的色温距离我们的目标值相差太大,很难通过调整 gamma 来实现,因为
这样比较容易造成某一条曲线的不连续而造成 contour;
通过 gamma 矫正色温时,如果 panel 的最大亮度的色温与我们的目标值相差较大,需要
降低 gamma 最大值的方法来实现;
4、Gamma 的量测和调试条件:
(1)在 HDMI source 下;
(2)关掉 DLC/BLE/WLE;
(3)将亮度和对比度都设置到中间值 0x80;
(4)将 RGB Gain/Offset 设置为中间值 0x80;
Mstar Confidential for honestar Internal use only
Step2
亮度的调整
1、亮度调整的前提需要先将 gamma 确定下来,因为 gamma 处于整个信号处理的最后端,gamma
重新调整会影响最后亮度的整体表现,如果调试后期 gamma 更改且变化比较大,亮度调整需
要重新确认,所以需要先将 gamma 确定下来再来做亮度方面的调整;
2、在 YUV 的彩色空间里面,亮度调整需要满足 ITU-R BT.601/BT.709 的要求,即是 Y level
的 Range 是 16-235,这样才能保证信号的对比度要求,调试方法按照信号流程从前往后逐
级进行调整,有关亮度的相关信号流程图如下:
我们可以使用 Chip 新增加了一个 debug mode 来读出我们每个 block 的 Y、CB、CR 的
data,具体说明如下:
BK1A_D0[0]: Show pixel value for debug (only color engine block);
BK1A_D0[7-4]: debug location:
0000 : input data//0001 : noise mask top//0010 : v_noise_mask_filter//0011 :
FCC//0100 : IHC//0101 : ICC//0110 : Y_switch//0111 : Y_curve_fit//1000 : UV
compensate//1001 : Output data;
BK1A_D2/D3[10-0]: Debug pixel H-position;
BK1A_D4/D5[10-0]: Debug pixel V-position;
BK1A_D6/D7[9-0]: Debug pixel Y value;
BK1A_D8/D9[9-0]: Debug pixel Cb value;
BK1A_DA/DB[9-0]: Debug pixel Cr value;
将 BK1A_D0[0]=1,屏幕左上角会出现一个“+”符号,改变 BK1A_D2/D3[10-0]和
BK1A_D4/D5[10-0]将“+”挪到你希望读出 data 的地方,BK1A_D6/D7 就可以读出这个 pixel
Mstar Confidential for honestar Internal use only
的 Y data,BK1A_D8/D9[9-0] 可以读出这个 pixel 的 Cb 的 data,BK1A_DA/DB[9-0] 可以读
出这个 pixel 的 Cr 的 data,我们还可以用 BK1A_D0[7-4]来确定我们读出 data 的位置,需
要转化为 8bit 的话将 Cb 和 Cr data 除以 4;
我们首先来确认各通道信号前端送进来的 Y level:
(1)、CVBS 信号,因为要经过 VD 和 Comb filter,所以首先需要确定 VD AGC 的方式,
fixed 或者 auto,一般而言我们 RF 使用 fixed,而 AV 用 auto,同时确认一下 BK_COMB_80、
81、82=0xC8、0x96、0x6A,然后分别输入 0IRE 和 100IRE 的信号,将 BK1A_D0 设置为 0x01,
读出 Y 的 data,通过调整 BK_COMB_74 和 BK_COMB_73 确保信号的输出范围是 16-235;
(2)、Componet 和 VGA,因为 YPBPR 和 RGB 需要经过 ADC,所以需要首先进行 ADC 校正,
完成后分别输入 0IRE 和 100IRE 的信号,用工具读出 Y data,YPBPR 的范围应该是 16-235,
而 RGB 应该是 0-255,大家也可以用这种方法来确认我们的 ADC 校正是否准确,因为是模拟
信号的缘故一般而言会有些偏差但是不应该太大;
(3)、HDMI 和 DTV,因为是数字信号所以可以不用确认,但是可以用来确认信号源的范
围是否正确;
下一步需要进入 DLC 的 Y Level:
因为前端送进来的信号是 16-235,而我们 DLC 的 curve 是 0-255,所以需要进行转换
再进 DLC 才能避免 DLC 做错;
首先把 debug mode 打开,将 BK1A_D0 设置为 0x61,这时候读出来的 Y Data 的值就是
经过了 pre gain 和 offset 后进 DLC 的值,我们有部分 IC 是先过 gain 再过 offset,造成
我们计算不能正好转换为 0-255,但是配合 DLC 的参数还是能解决这个问题:
直接将 16-235 乘以 1 减 16,也就是将 BK1A_2C 设置为 0x40,BK1A_1E 设置为 0xF0,
这样就 0-219 进 DLC,将 DLC 的 Luma_limit 设置为 3,这样就能保证信号的最亮和最暗不动,
而经过 DLC 之后转换成 RGB 时 Y 值不变,不需要再减 16 进矩阵;
而有部分 Chip 是先过 offset 再过 gain,这样就可以比较容易转换为 0-255,但是注
意出 DLC 后再乘 219/255,这样保证进矩阵的 range 是 0-219,不会因为后端矩阵造成饱和;
经过上述确认,我们可以保证信号的完整,不会出现饱和的现象,然后再根据实际的
需求调整 DLC 的参数即可。
Mstar Confidential for honestar Internal use only
Step3
彩色的调整
彩色调整因为和 PANEL 的相关性非常大,不同的 PANEL 彩色表现不同,而有些差异比较
大,所以彩色的调整最好是在相同 PANEL 的基础上和样机对比。即便 panel 一样,如果在调
整彩色之前没有将白平衡调好,色彩看上去也会千差万别。因此白平衡参数对彩色的影响也
是至关重要的。
在 gamma 和白平衡都校准好后,我们才可以开始色彩的调整。
彩色应首先保证图像整体饱和度不要太低或过饱和,同时需要首先保证前端信号的饱和
度:
(1)、CVBS 信号可调整 BK_COMB_75(一般在 0x90-0xB0 之间),BK_COMB_72(一般用 0x80
或 0x90),同时确认 BK_COMB_81 、BK_COMB_82 为 0x96、0x6A,一般情况下请不要将前端
Comb 信号的饱和度调太大,过大的话会引起 cross color 比较严重的问题;
(2)、YPBPR 信号需要做 ADC 校正,请在 100%的 color bar 信号下进行;VGA 信号也需要
做 ADC 校正,请在黑白棋盘格信号下进行。
后端饱和度可调的寄存器有 C gain:即 BK_DLC_29,也就是说当此值为 0x40 时,表示乘
以 1,这个值只有 6bit 可调。还有就是用户菜单的饱和度(saturation)的调整。色饱和
度的调整最好也遵循从前往后逐级调整的原则。
在保证整体饱和度的前提下可以使用 MACE 提供的 FCC、ICC、IBC 和 IHC 实现对 Red、Green、
Blue、Cyan、Magenta、Yellow、Flesh 七种颜色的独立调整而不影响其他的颜色;
FCC:对应寄存器在 BK_ACE_20;
以肤色校正为例说明 FCC 的调整原理,打开 BK_ACE_20[0],首先我们需要确定 Cb 和 Cr
的 target,这个是我们调的 Cb 和 Cr 的目标值,对应 BK_ACE_30 和 BK_ACE_31,然后我们需
要定义一个 range 来定义我们要校正的颜色范围,用 BK_ACE_48[1-0]、BK_ACE_48[3-2]定
义 Cr 向下和向上的 range,用 BK_ACE_48[5-4]、BK_ACE_48[7-6]和定义 Cb 向下和向上的
range,定义以后调整 BK_ACE_40[3-0]确定 strength;
以图为例:
Mstar Confidential for honestar Internal use only
ICC(Independent color control): enable 对应寄存器在 BK_ACE_60[6];
ICC 的调整相对比较简单,BK_ACE_62[3-0]到 BK_ACE_68[3-0]即是对应 RGBCMYF 七种颜
色的饱和度 gain;一般我们推荐值为 0X08。
参考如图:
Mstar Confidential for honestar Internal use only
IBC(Independent brightness control):enable 对应寄存器在 BK_ACE_80[7];
IBC 的调整和 ICC 类似,BK_ACE_82 到 BK_ACE_88 对应 RGBCMYF 七种颜色的亮度的调整,
我们一般推荐值为 0X20。
如果值小于 0x20,亮度相对原来的亮度是减小,值越小亮度越低;
如果值大于 0x20,亮度相对原来的亮度是增加,值越大亮度越高;
参考如图:
IHC(Independent hue control):enable 对应寄存器在 BK_ACE_C0[7];
IHC 的调整,BK_ACE_C2 到 BK_ACE_C8 对应 RGBCMYF 七种颜色的色调的调整,这些值的
BIT6 是 hue 的方向,而 BIT[5-0]是 hue 的值,值越大表示偏离原来越大;
参考如图:
Mstar Confidential for honestar Internal use only
具体到 debug tool 中的各个寄存器位置如下图:
具体调试可以参考以下图谱来判断所调颜色是否合适:
1,先将 3*3 color matrix 的 saturation default 为 128,ACE 中的 ICC 和 IBC 以及 IHCdefault
Mstar Confidential for honestar Internal use only
为中间值,用一个 11 阶 R,G,B 的色阶将此三基色的色饱和度调好,可以在下面图谱中,
分别用红,绿,蓝三色滤光片,以看到旁边的亮度跟红色部分-5%----5%亮度接近为原则;
2,如果看主观效果,建议特别注意看下如下图谱:
红色调的是否过分看看下面图片中的毛衣是否能分清细节:
Mstar Confidential for honestar Internal use only