具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图3示出了本发明实施例提供的一种LCD监视器批量GAMMA校正方法流程图,详述如下:
在步骤S101中,PC将GAMMA标准发送给色彩分析仪;
在本发明实施例中,PC通过USB接口将要测试的GAMMA标准发送给色彩分析仪,其中,GAMMA标准包括GAMMA类型和色温类型对应的亮度以及色彩规格。
在步骤S102中,PC发送颜色测试数据给LCD监视器的LCD处理器;
在本发明实施例中,PC通过串口命令将R/G/B颜色数据发送给LCD处理器。
在步骤S103中,LCD处理器接收颜色测试数据,并根据该颜色测试数据在LCD监视器的LCD屏进行显示;
在本发明实施例中,PC与LCD处理器通过GAMMA数据串口传输协议通信,LCD处理器接收PC通过串口发送的颜色测试数据,并根据该测试数据在LCD屏进行显示。
在步骤S104中,色彩分析仪读取LCD屏显示的颜色的相关参数,并返回给PC;
在本发明实施例中,色彩分析仪是通过光学探头读取LCD屏显示的颜色的相关参数,其中,颜色的相关参数包括颜色亮度值。
在步骤S105中,PC根据颜色测试数据以及接收的LCD屏显示的颜色的相关参数,形成一个GAMMA曲线表;
在本发明实施例中,PC将根据发送的颜色测试数据以及接收的LCD屏显示的颜色的亮度值通过GAMMA公式形成一个GAMMA曲线表,GAMMA曲线表对应一张GAMMA数组。
在步骤S106中,PC发送该GAMMA曲线表对应的GAMMA数据给LCD处理器;
在本发明实施例中,PC通过GAMMA数据串口传输协议将GAMMA数据打包下发给LCD处理器。
在步骤S107中,LCD处理器接收GAMMA数据并保存在外挂的EEPROM芯片中;
在本发明实施例中,在LCD处理器增加了一个EEPROM芯片,用于存储接收的GAMMA数据,LCD处理器接收到数据后,通过IIC(Inter-IntegratedCircuit,集成电路总线)通信将GAMMA数值写到外挂的EEPROM芯片中。
在步骤S108中,LCD处理器读取EEPROM芯片的数据,通过加载对应的颜色数值,实现对LCD监视器的GAMMA校正。
在本发明实施例中,LCD处理器增加对EEPROM的GAMMA数值读取模块,使得LCD监视器开机后能准确地读取GAMMA数值,从而完成了通过EEPROM芯片实现批量生产时GAMMA校正功能。
图4示出了本发明实施例提供的一种LCD监视器批量GAMMA校正方法流程图,详述如下:
在步骤S201中,PC设置并初始化颜色测试循环参数i=0;
在本发明实施例中,PC设置并初始化颜色测试循环参数i=0,在后续步骤中通过i=i+1来实现PC连续发送颜色测试数据给LCD处理器。
在步骤S202中,PC将GAMMA标准发送给色彩分析仪;
在本发明实施例中,GAMMA标准包括GAMMA类型和色温类型对应的亮度以及色彩规格。
在步骤S203中,PC发送颜色测试数据给LCD监视器的LCD处理器;
在本发明实施例中,PC通过串口命令将R/G/B颜色数据发送给LCD处理器。
在步骤S204中,LCD处理器接收颜色测试数据,并根据该颜色测试数据在LCD监视器的LCD屏进行显示;
在本发明实施例中,PC与LCD处理器通过GAMMA数据串口传输协议通信。
在步骤S205中,色彩分析仪读取LCD屏显示的颜色的相关参数,并返回给PC;
在本发明实施例中,色彩分析仪是通过光学探头读取LCD屏显示的颜色的相关参数,其中,颜色的相关参数包括颜色亮度值。
在步骤S206中,PC判断i是否等于2^N,其中,N表示LCD屏的位深,是则继续步骤S203,否则i=i+1,继续步骤S207。
在本发明实施例中,PC发送的颜色测试数据由LCD屏的位深N所决定,发送量为2^N(表示2的N次方)。
在步骤S207中,PC根据颜色测试数据以及接收的LCD屏显示的颜色的相关参数,形成一个GAMMA曲线表;
在本发明实施例中,待所有数据发完后,PC将根据发送的颜色测试数据以及接收的LCD屏显示的颜色的亮度值通过GAMMA公式形成一个GAMMA曲线表。
在步骤S208中,PC发送该GAMMA曲线表对应的GAMMA数据给LCD处理器;
在步骤S209中,LCD处理器接收该GAMMA数据,返回接收状态给PC;
在本发明实施例中,LCD处理器接收到GAMMA数据后,返回接收成功或失败的状态给PC,避免数据接收错误或未收到而导致的GAMMA数据接收不完整的问题。
在步骤S210中,LCD处理器保存所述GAMMA数据在外挂的EEPROM芯片中;
在本发明实施例中,LCD处理器接收到数据后,通过IIC通信将GAMMA数值写到外挂的EEPROM芯片中。
在步骤S211中,LCD处理器读取EEPROM芯片的数据,通过加载对应的颜色数值,实现对LCD监视器的GAMMA校正。
本发明实施例实施前,需要对LCD处理器的硬件部分加以确认,主要包括以下两个部分:
串口连接:由于现有技术中的PC与LCD监视器通过串口已经连接,如果该串口是全双工的,则硬件设计不需要加以改进。如果不是,必须加以改进。
EEPROM芯片:一般由于大部分LCD处理器需要用一片容量较小的EEPROM作为显示、操作数据存储,所以只需要将该EEPROM换成容量较大的EEPROM,GAMMA数据占据容量的算法为:2^Nx3xC(其中N为LCD屏的位深,3表示每种GAMMA有R/G/B三种颜色,C为色温的种类),单位为字节,比如说一个8位的LCD屏幕监视器需要对里面的5种色温进行GAMMA校正,所需要的容量为:2^8x3x5=3840个字节;其次必须对GAMMA的数据有个了解,由于8位屏所需的容量为2^8–1=255,所以8位屏的一个GAMMA数值对应一个字节,而10位屏由于所需的容量为2^10–1=1023,就是说10位屏的一个GAMMA数值对应两个字节,所以,按照以上算法,对10位屏而言,GAMMA数据容量计算公式应该变为:2^Nx2x3xC(其中N为LCD屏的位深,3表示每种GAMMA有R/G/B三种颜色,C为色温的种类)。目前市场上比较流行的LCD位深为6、8、10、12,可以归纳出他们容量的计算公式为:
对于6位、8位LCD屏:2^Nx3xC(单位Byte)
对于10位、12位LCD屏:2^Nx2x3xC(单位Byte)。
硬件连接及存储芯片确认后,需要对软件部分进行协议设计与编写,主要包括:
(1)GAMMA数据串口传输协议:从上面的GAMMA数据计算公式可以看出,GAMMA数据量都比较大,所以,需要对GAMMA数据进行分包传输,协议以包括协议头、命令类型、长度、协议包名、GAMMA数据和校验为好,用表表示为:
Header |
Command |
Length |
Package ID |
Gamma数据 |
CheckSum T |
Header:协议包头,以LCD处理器其他串口处理部分相区分;
Command:命令类型,必须包括色温类型与R/G/B颜色类型;
Length:长度,可以是从Package ID到最后一个GAMMA数据的长度;
Package ID:协议包名,由于大批量GAMMA数据必须分包发送,该ID指示目前发送的包为拆分后的第几包数据。
Gamma数据:考虑到6位屏的一个色温的一个颜色数据为128个字节,定义成128个字节一包;
CheckSum T:校验,可以统一成一种算法将协议包从Header到最后一个GAMMA数据的所有运算。
LCD处理器接收到GAMMA数据后,PC需要得到接收状态的回复,我们可以处于简便考虑,将原来的包除GAMMA数据外,原包返回,具体如下:
Header |
Command |
Length |
Package ID |
CheckSum R |
Header:协议包头,以LCD处理器其他串口处理部分相区分;
Command:命令类型,必须包括色温类型与R/G/B颜色类型;
Length:长度,可以单独是Package ID的长度;
Package ID:协议包名,由于大批量GAMMA数据必须分包发送,该ID指示目前接收的包为拆分后的第几包数据。
CheckSum R:校验,可以统一成一种算法将协议包从Header到Package ID的所有运算。
(2)GAMMA数据的保存和读取:LCD处理器接收到GAMMA数据后,需要将接收到的GAMMA数据进行存储,首先,必须从屏的位深考虑每一个色温中每一个颜色数据需要的空间量,具体可以以上面的公式为标准,即为:2^N(N为LCD屏位深)。由此可以将EEPROM的存储区域划分为:
色温1的R,长度为2^N |
色温1的G,长度为2^N |
色温1的B,长度为2^N |
...... |
色温n的R,长度为2^N |
色温n的G,长度为2^N |
色温n的B,长度为2^N |
区域划分好后,GAMMA数据将存储在EEPROM的固定区域,需要读取时,只要找到相应色温的三个颜色的GAMMA数值。
(3)将GAMMA数据加载函数从程序的ROM取数改为从EEPROM取数,现有技术的GAMMA数据加载方式为贴在代码的ROM里面,将ROM里面的数值通过GAMMA数据的入口写入。本发明需要在数据存储区开辟三个颜色的三个数组,每次色温切换时,三个数组分别从EEPROM加载对应的色温的三个颜色数值,然后将该三个数组通过GAMMA数据的入口写入。
在本发明实施例中,将测试的结果数据从PC生成GAMMA表后,通过预先设计好的串口协议,将GAMMA数值通过串口传送给LCD处理器,LCD处理器接收到数据后,返回相应的接收成功或失败的状态给PC,然后,通过IIC通信将GAMMA数值写到外挂的EEPROM芯片中(见图5)。
通过设置LCD数据接收状态回传,避免数据接收错误或未收到而导致的GAMMA数值接收不完整问题。
图6示出了本发明实施例提供的一种LCD监视器批量GAMMA校正系统结构图,详述如下:
LCD监视器批量GAMMA校正系统包括PC61、色彩分析仪62和LCD监视器63,其中LCD监视器63包括LCD处理器631、LCD屏632和外挂EEPROM芯片633。
PC61发送GAMMA标准给色彩分析仪以及发送颜色测试数据给LCD处理器631;根据所述颜色测试数据以及接收到的色彩分析仪63返回的LCD屏632显示的颜色的相关参数后形成一个GAMMA曲线表,并发送该GAMMA曲线表对应的GAMMA数据给LCD处理器631。
色彩分析仪62接收PC61发送的GAMMA标准;读取LCD屏632显示的颜色的相关参数,并返回给PC61。
LCD监视器63,LCD处理器631接收PC61发送的颜色测试数据,并根据该颜色测试数据在LCD屏632进行显示;LCD处理器631接收PC61发送的GAMMA曲线表对应的GAMMA数据,并保存在外挂的EEPROM芯片633中;LCD处理器631读取EEPROM芯片633的数据,通过加载对应的颜色数值,实现对LCD监视器63的GAMMA校正。
其中,PC61与色彩分析仪62通过USB接口连接,PC61与LCD处理器631通过GAMMA数据串口传输协议通信,色彩分析仪62通过光学探头读取LCD屏632显示的颜色的相关参数,LCD处理器631与外挂EEPROM芯片通过IIC通信。
在本发明实施例中,颜色的相关参数包括颜色亮度值,GAMMA标准包括GAMMA类型和色温类型对应的亮度、色彩规格。
本发明将校正的GAMMA数据保存在外挂的EEPROM芯片中,通过LCD处理器读取EEPROM芯片中的数据来实现LCD监视器的批量GAMMA校正,节省人力且操作方便快捷。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。