发明名称 液晶显示器动态图像质量的测量方法
摘要 本发明公开了一种液晶显示器动态图像质量的测量方法,包括上位机控制流程和下位机图像发生及数据采集运行流程;所述上位机控制流程用于定义显示图像格式、选择时钟更新方案、设定图形驱动配置、确定数据采集模式、计算动态图像质量参数;所述下位机图像发生及数据采集运行流程用于运行数据接收与转换、同步信号产生与控制、测试图形生成与配置、显示驱动选择与设定、特性数据采集与传输;所述上位机控制流程和下位机图像发生及数据采集运行流程之间通过I<sup>2</sup>C总线方式传输测量数据、USB接口传输瞬态响应特性数据。本发明方法,是一种全面验证液晶显示器动态特性的方法,能够满足不同种类液晶显示器的测量需求。
申请公布号 CN102682684B 申请公布日期 2014.10.29
申请号 CN201210171046.0 申请日期 2012.05.29
申请人 东南大学 发明人 李晓华;杨晓伟;张宇宁;崔渊
分类号 G09G3/00(2006.01)I 主分类号 G09G3/00(2006.01)I
代理机构 南京苏高专利商标事务所(普通合伙) 32204 代理人 柏尚春
主权项 液晶显示器动态图像质量的测量方法,其特征在于:该方法包括上位机控制流程和下位机图像发生及数据采集运行流程;所述上位机控制流程用于定义显示图像格式、选择时钟更新方案、设定图形驱动配置、确定数据采集模式、计算动态图像质量参数;所述下位机图像发生及数据采集运行流程用于运行数据接收与转换、同步信号产生与控制、测试图形生成与配置、显示驱动选择与设定、特性数据采集与传输,并以数字视频接口DVI、低电压差分信号LVDS接口或视频图形阵列VGA接口驱动显示屏;所述上位机控制流程和下位机图像发生及数据采集运行流程之间通过I<sup>2</sup>C总线方式传输测量数据、USB接口传输瞬态响应特性数据;所述上位机控制流程完成测量过程的1)时钟方案、2)手动测量、3)自动测量和4)序列测量四部分,各部分的执行步骤如下:1)时钟方案100).选择显示分辨率:a).分辨率编辑框Resolution选一已设定分辩率,刷新率Refresh Rate选50H<sub>Z</sub>、60H<sub>Z</sub>、75H<sub>Z</sub>、100H<sub>Z</sub>或120H<sub>Z</sub>,在行总像素HTOT、行同步像素HSY、行后肩像素HBP、行显示像素HAC、帧总像素VTOT、帧同步像素VSY、帧后肩像素VBP、帧显示像素VAC编辑框内生成图像格式参数;b).选择其它分辨率时,HTOT、HSY、HBP、HAC、VTOT、VSY、VBP、VAC编辑框内显示空白,手动输入显示器设定软件生成的图像格式参数;101).选择图形比例:a).在图形尺寸编辑框Block Size中生成符合设定分辩率的方块图形比例数据Hsta、Hend、Vsta、Vend;b).选择其它分辩率时,Block Size编辑框内显示空白,手动输入Hsta、Hend、Vsta、Vend;102).计算单/双像素时钟频率:a).像数模式编辑框Pixel Mode选0时为单像素驱动,HTOT编辑框中的数据不变,Pixel Mode选1时为双像素驱动,HTOT编辑框中的数据除2;b).HTOT=HAC+HFP+HSY+HBP,HFP是行前肩像素,VTOT=VAC+VFP+VSY+VBP,VFP是帧前肩像素,时钟频率为f<sub>CLK</sub>=HTOT×VTOT×F<sub>re</sub>,F<sub>re</sub>是显示刷新率;c).在频率编辑框f<sub>CLK</sub>中生成输出时钟频率;103).计算输出频率:由式<img file="FDA0000537848270000011.GIF" wi="506" he="158" />计算输出频率,f<sub>REF</sub>为参考频率、N<sub>F</sub>为反馈分频系数、N<sub>R</sub>为参考分频系数、N<sub>P</sub>为二次分频系数,N<sub>F</sub>取值范围是1~2047,其中不能取值10、11、12、13、14、15、19、20、21、22、23、28、29、30、31、37、38、39、46、47、55,N<sub>R</sub>取值范围是1~255,N<sub>P</sub>取值是1、2、3、4、5、6、8、9、10、12、15、16、18、20、25、50;104).计算频率误差:由式Δf<sub>err</sub>=|f<sub>CLK</sub>‑f′<sub>CLK</sub>|计算频率误差,Δf<sub>err</sub>为频率绝对误差,计算过程:内层循环是设定N<sub>F</sub>、N<sub>R</sub>,在N<sub>P</sub>取值范围内计算Δf<sub>err</sub>,中层循环是设定N<sub>F</sub>,依次在N<sub>P</sub>、N<sub>R</sub>取值范围内计算Δf<sub>err</sub>,外层循环是依次在N<sub>P</sub>、N<sub>R</sub>、N<sub>F</sub>取值范围内计算Δf<sub>err</sub>,三层循环之后凡Δf<sub>err</sub>小于0.001的f′<sub>CLK</sub>,其分频系数N<sub>P</sub>、N<sub>R</sub>、N<sub>F</sub>均进入解决方案列表;105).生成时钟数据:在解决方案列表中任选一个方案,时钟数据编辑框CLK_Data中生成符合这一方案的16个字节时钟数据;106).启动分辨率更新:a).以I<sup>2</sup>C总线方式传送CLK_Data编辑框中的16个字节时钟数据至图像发生器中现场可编程门阵列FPGA的时钟数据缓存区Xdata[rnum];b).以I<sup>2</sup>C总线方式传送步骤100)生成的数据至FPGA的全缓存寄存器fullregbuf[I<sup>2</sup>CBit..0],数据长度为89位;c).以I<sup>2</sup>C总线方式传送步骤101)生成的数据至FPGA的全缓存寄存器fullregbuf[I<sup>2</sup>CBit..0],数据长度为44位;2)手动测量200).数据采集卡设置:a).创建一个模拟采集通道Physical Channel和设置采集电压范围Maximum Value/Minimum Value;b).配置采样模式Finite Samples、采样率Sample Rate和采样点数Samples per Time;c).配置触发通道Start Trigger Source和触发边缘Start Edge,d).配置停止触发信号模式Reference Trigger Source和触发源Reference Edge;201).屏驱动设置:a).选择DVI、LVDS或VGA驱动接口;b).选择红R、绿G、蓝B之一,或R、G、B全选;202).瞬态跳变设置:a).在0~255灰阶中选定两个跳变等级Level1、Level2;b).以一帧16.7ms为单位设定每级灰度停留时间T1、T2、T3;203).测量设置:a).选择实时测量Real‑Time或平均测量Average;b).设定平均测量次数Average Times,Average Times=N小于等于40;c).选择自动生成的采集数据Excel文件的保存路径;204).测量启动:a).以I<sup>2</sup>C总线方式分别传送2位驱动方式数据、3位色选数据、1位图形类别数据、48位图形灰阶数据、24位灰阶停留时间数据至FPGA的fullregbuf[I<sup>2</sup>CBit..0];b).经USB接口开始模拟采集数据过程Start Task和读出PC数据缓冲区的采样数据Read property Node;c).在界面示波器中显示一条实时或多次平均的瞬态响应特性Y<sub>0</sub>(t),Y<sub>0</sub>是电压、t是时间;205).参数计算:a).运用N次平均采集数据以消除测量噪声;b).定义采集波形上升沿的10%~90%时间为液晶响应上升时间LCRT‑rising time、下降沿的90%~10%时间为液晶响应下降时间LCRT‑falling time;c).根据<img file="FDA0000537848270000021.GIF" wi="494" he="149" />在瞬态响应曲线Y<sub>0</sub>(t)上一帧时间宽度的移动窗口积分结果,计算得出运动图像响应曲线MPRC,其中τ=‑x<sub>pi</sub>T<sub>f</sub>/v,x<sub>pi</sub>是屏坐标、T<sub>f</sub>是帧周期、v是方块图形运动速度;d).定义MPRC上升沿的10%~90%时间为模糊边缘上升时间BET‑rising time、下降沿的90%~10%时间为模糊边缘下降时间BET‑falling time;3)自动测量300).重复步骤200)、步骤201)中的a)和b)、步骤202)中的b)、步骤203)中的b)和c);301).设定灰阶数Gray Numbers为7或9;302).根据Gray Numbers,在缺省灰阶设定表格Default Gray Setting中自动生成7或9个规定灰阶;303).测量启动:a).自动顺序选择Default Gray Setting中的两个跳变灰阶;b).重复步骤204)中的a)、b)和c),在界面示波器中显示一族根据N次平均的<img file="FDA0000537848270000031.GIF" wi="186" he="78" />M=N<sub>G</sub>(N<sub>G</sub>+1)为灰阶组合总数,在0~255灰阶区域中分为N<sub>G</sub>灰阶等级,一般为7或9,相邻两个等级间隔相同;304).参数计算:a).重复步骤205);b).根据模糊边缘时间BET和延伸模糊边缘时间EBET之间的关系式EBET=BET/(0.9‑0.1),运动图像响应时间MPRT按照不同灰阶组合下的平均值计算,<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>MPRT</mi><mo>=</mo><mfrac><mn>1</mn><mi>M</mi></mfrac><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mo>&NotEqual;</mo><mi>j</mi></mrow></munder><msub><mi>EBET</mi><mi>ij</mi></msub><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1,2,3</mn><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mi>N</mi><mo>;</mo></mrow>]]></math><img file="FDA0000537848270000032.GIF" wi="785" he="142" /></maths>4)序列测量400).重复步骤200)、步骤201)中的a)和b)、步骤203)中的c);401).测量设置:a).设定测试正弦图形的空间周期T<sub>s</sub>,T<sub>s</sub>在0~9的范围内对应取值2、4、6、8、12、16、24、32、48、64;b).设定测试正弦图形运动速度v为4或8;c).设定正弦图形偏移指针Index,当v=4或8,Index的取值是0、1、2、3或0、1、2、3、4、5、6、7;402).测量启动:a).以I<sup>2</sup>C总线方式传送9位测试序列数据块长度、4位图形空间周期数据、3位图形运动速度数据、3位图形偏移量指针数据至FPGA的fullregbuf[I<sup>2</sup>CBit..0];b).3位图形偏移指针数据在步骤401)中的c)设定的范围内自动递增;c).重复步骤204)中的b);d).在界面示波器中显示v条响应特性曲线<img file="FDA0000537848270000033.GIF" wi="162" he="78" />i=0,1,……,v‑1,<img file="FDA0000537848270000034.GIF" wi="79" he="77" />是电压、t是时间;403).参数计算:a).根据<img file="FDA0000537848270000035.GIF" wi="184" he="77" />计算感知到的电压分布曲线<img file="FDA0000537848270000036.GIF" wi="617" he="161" />空间位置x以像素单元尺寸为单位、时间t以帧周期时间为单位;b).根据步骤401),当电压分布曲线为正弦分布图案Y<sup>*</sup>(x)时,计算动态调制传递函数<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>DMTF</mi><mrow><mo>(</mo><mi>v</mi><mo>,</mo><mi>f</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msup><mi>C</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>v</mi><mo>,</mo><mi>f</mi><mo>)</mo></mrow></mrow><mi>C</mi></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000537848270000041.GIF" wi="511" he="128" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>C</mi><mo>=</mo><mfrac><mrow><msub><mi>Y</mi><mi>max</mi></msub><mo>-</mo><msub><mi>Y</mi><mi>min</mi></msub></mrow><mrow><msub><mi>Y</mi><mi>max</mi></msub><mo>+</mo><msub><mi>Y</mi><mi>min</mi></msub></mrow></mfrac></mrow>]]></math><img file="FDA0000537848270000042.GIF" wi="315" he="138" /></maths>是正弦分布图案Y<sup>*</sup>(x)的对比度,Y<sub>max</sub>是最大电压,Y<sub>min</sub>是最小电压,C'是正弦分布图案Y'(x)的对比度,<img file="FDA0000537848270000043.GIF" wi="152" he="139" />是Y<sup>*</sup>(x)的空间频率;所述下位机图像发生及数据采集运行流程完成测量过程的5)时钟更新、6)图形配置、7)同步控制和8)数据采集四部分,各部分的执行步骤如下:5)时钟更新500).数据接收缓存:a).I<sup>2</sup>C数据接收模块I<sup>2</sup>C_expander串行接收步骤106)中的a)下传的数据,并转换为8位并行数据;b).I<sup>2</sup>C_expander送并行数据至时钟数据接收模块R_FT245BM的Xdata[rnum];501).数据更新准备:a).R_FT245BM置复位端reset=″0″,时钟数据写入模块W_FS6370的复位端reset=″0″,禁止W_FS6370启动;b).置时钟芯片FS6370的EEPROM地址至R_FT245BM的器件地址输出端raddr[7..0];c).置FS6370的寄存器首地址至寄存器地址输出端addr[7..0];502).数据更新启动:a).R_FT245BM置写控制输出端wr=″1″,W_FS6370的写控制输入端wr=″1″,W_FS6370写操作;b).R_FT245BM置reset=″1″,W_FS6370的reset=″1″,W_FS6370启动;c).R_FT245BM依次提取Xdata[rnum]中的时钟数据至数据输出端rdata[7..0];d).R_FT245BM递增FS6370的寄存器地址00H~0FH至addr[7..0];503).数据写入传输:a).根据步骤501)中的b)和c)、步骤502)中的c)和d),W_FS6370的器件地址输入端raddr[7..0]获得FS6370的EEPROM地址、寄存器地址输入端addr[7..0]获得FS6370的寄存器地址、数据输入端data[7..0]获得rdata[7..0]的数据;b).W_FS6370置模式输出端mode=″0″,FS6370为编程模式;c).W_FS6370置掉电控制输出端pd=″1″,FS6370上电写操作;d).W_FS6370的时钟输出端scl=″1″、串行数据输出端sda=″1″变为sda=″0″,FS6370的I<sup>2</sup>C总线一个字节数据传输时序开始;e).W_FS6370送raddr[7..0]的地址至sda、顺序送addr[7..0]的地址至sda、依次送data[7..0]的数据至sda;f).W_FS6370的scl=″1″、sda=″0″变为sda=″1″,FS6370的I<sup>2</sup>C总线一个字节数据传输时序结束;504).数据写入结束:a).16个字节时钟数据写入FS6370结束,R_FT245BM置wr=″0″、W_FS6370的wr=″0″,W_FS6370置mode=″1″,FS6370是运行模式;b).W_FS6370置pd=″0″、再置pd=″1″,FS6370掉电后再上电,FS6370的EEPROM中16个字节时钟数据调入控制寄存器,FS6370输出更新的图像源全局时钟;6)图形配置600).I<sup>2</sup>C数据接收:a).I<sup>2</sup>C_expander串行接收步骤106)中的b)和c)下传的数据;b).I<sup>2</sup>C_expander串行接收步骤204)中的a)、步骤402)中的a)下传的数据;c).I<sup>2</sup>C_expander转换串行数据为8位并行数据后缓存于图像发生模块fran_pg中的fullregbuf[I<sup>2</sup>CBit..0];601).分辨率定义:根据步骤600)中的a)和c),fran_pg令图像格式参数HAC[10..0]=HAC、VAC[10..0]=VAC、HSY[10..0]=HSY、VSY[10..0]=VSY、HBP[10..0]=HBP、VBP[10..0]=VBP、HTOT[11..0]=HTOT、VTOT[10..0]=VTOT;602).驱动方式选择:a).根据步骤600)中的b)和c),fran_pg赋值三色使能Renab/Genab/Benab和驱动选择lvds_dvi_vga_sel[1..0];b).根据Renab/Genab/Benab,fran_pg使能图形输出Red_out[7..0]/Green_out[7..0]/Blue_out[7..0];c).驱动切换模块L_D_V_converter从fran_pg中获得lvds_dvi_vga_sel[1..0]和Red_out[7..0]/Green_out[7..0]/Blue_out[7..0],转换和选择符合LVDS、DVI或VGA驱动方式的接口输出output_r_pg[7..0]/output_g_pg[7..0]/output_b_pg[7..0];603).方块图形尺寸设定:a).根据步骤600)中的a)和c),fran_pg中的方块图形模块varloadblocks设图形4条边的屏位置h_sta[10..0]=Hsta、h_end[10..0]=Hend、v_sta[10..0]=Vsta、v_end[10..0]=Vend;b).varloadblocks令在h_sta[10..0]、h_end[10..0]、v_sta[10..0]、v_end[10..0]的屏区域内产生水平、垂直输出henable、venable;604).方块图形瞬态设定:a).根据步骤600)中的b)和c),fran_pg赋值瞬态停留时间time0、time1、time2、time3,其中time0=6是预设停留时间,time1、time2、time3是跳变停留时间;b).根据步骤600)中的b)和c),fran_pg赋值三色灰阶red_in1/green_in1/blue_in1、red_in2/green_in2/blue_in2;c).fran_pg中的瞬态跳变模块theserial_3L从fran_pg中获得time0、time1、time2、time3、red_in1/green_in1/blue_in1、red_in2/green_in2/blue_in2;d).theserial_3L设定在time0、time1、time2、time3期间的灰阶输出Red_3L_out[7..0]/Green_3L_out[7..0]/Blue_3L_out[7..0]等于0、red_in1/green_in1/blue_in1、red_in2/green_in2/blue_in2、red_in1/green_in1/blue_in1;e).theserial_3L在time1起始时刻,产生触发输出trigger_3L_out;605).正弦图形序列加载:a).根据步骤600)中的b)和c),fran_pg赋值序列数据块长度L=data_length[8..0]、数据块地址T<sub>s</sub>=main_addr[3..0]、图形运动速度v=Speed[4..0]、图形偏移量指针Index=Index[4..0];b).fran_pg中的正弦图形模块Sine_pattern从fran_pg中获得data_length[8..0]、main_addr[3..0]、Speed[4..0]、Index[4..0];c).根据L、T<sub>s</sub>、v、Index,Sine_pattern读出正弦图形只读存储器sinewave_rom中的灰度序列数据,产生序列灰阶输出Red_sine_out[7..0]/Green_sine_out[7..0]/Blue_sine_out[7..0];d).sinewave_rom设每隔v灰度序列重复一次,随着Index从0到v‑1自动递增,加载v种不同灰度序列;e).Sine_pattern设L计数到data_length[8..0]‑2时,产生触发输出trigger_sine_out;606).测试图形生成:a).根据步骤600)中的b)和c),fran_pg获图形类别数据pattern,选择生成方块跳变图形或正弦序列图形;b).根据步骤603)中的b)、步骤604)中的d),fran_pg生成方块跳变图形,按照步骤602)中的b)的方式输出;c).根据步骤603)中的b)、步骤605)中的c)和d),fran_pg生成正弦序列图形,按照步骤602)中的b)的方式输出;d).根据步骤604)中的e)、步骤605)中的e),fran_pg产生测试图形触发输出trigger_out;7)同步控制700).帧同步脉冲生成:根据步骤601),fran_pg中的行计数器从h_counter.q[10..0]=HTOT‑3到h_counter.q[10..0]=HSY‑3,行同步脉冲HSync_out生成,fran_pg中的帧计数器从v_counter.q[10..0]=VTOT到v_counter.q[10..0]=VSY,帧同步脉冲VSync_out生成;701).消隐脉冲生成:a).根据步骤601),h_counter.q[10..0]=HSY‑3+HBP‑4+HAC,行消隐脉冲nblankh_art开始,h_counter.q[10..0]=HSY‑3+HBP‑4,行消隐脉冲nblankh_art结束;b).根据步骤601),v_counter.q[10..0]=VSY+VBP+VAC,帧消隐脉冲nblankv_art开始,v_counter.q[10..0]=VSY+VBP,帧消隐脉冲nblankv_art结束;c).根据nblankh_art、nblankv_art,生成复合消隐脉冲nblank_art,经分频后产生复合消隐脉冲输出NBlank_out;8)数据采集800).方块图形瞬态数据采集:a).数据采集卡根据步骤200)中的c)设定的数字输入/输出口接收步骤604)中的e)、步骤606)中的d)产生的采集触发信号;b).根据触发信号,数据采集卡根据步骤200)中的a)规定的模拟输入口开始采集瞬态数据;c).根据步骤200)中的b),数据采集卡自动完成一个采样周期的数据采集,并重复执行数据采样周期;d).经USB接口传送采集数据;801).正弦图形瞬态数据采集:a).数据采集卡根据步骤200)中的c)设定的数字输入/输出口接收步骤605)中的e)、步骤606)中的d)产生的采集触发信号;b).重复步骤800).中的b);c).根据步骤200)中的b),数据采集卡自动完成一个采样周期的数据采集;d).根据步骤605)中的d),数据采集卡自动执行v种采样周期的数据采集;e).重复步骤800)中的d)。
地址 210096 江苏省南京市四牌楼2号