著录项信息
专利名称 | 测量电视机画质数据的方法 |
申请号 | CN201310104911.4 | 申请日期 | 2013-03-27 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-06-12 | 公开/公告号 | CN103152602A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04N17/00 | IPC分类号 | H;0;4;N;1;7;/;0;0;;;H;0;4;N;1;7;/;0;2查看分类表>
|
申请人 | 冠捷显示科技(厦门)有限公司 | 申请人地址 | 福建省厦门市翔安区厦门火炬高新区(翔安)产业区翔海路1号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 冠捷显示科技(厦门)有限公司 | 当前权利人 | 冠捷显示科技(厦门)有限公司 |
发明人 | 马浩洋;李宏钧;吴智仁 |
代理机构 | 福州君诚知识产权代理有限公司 | 代理人 | 戴雨君 |
摘要
本发明公开了一种测量电视机画质数据的方法,其采用信号产生器产生视频信号,色彩分析仪测量电视机画质数据,电脑主机对画质数据进行处理,电脑主机设有C++可视化开发控件,C++可视化开发控件中设有DLL函数库,信号产生器、色彩分析仪通过串口与电脑主机连接,电脑主机和信号产生器还通过串口与电视机连接,本发明通过设置电脑主机、信号产生器和色彩分析仪之间采用串口通信协议来进行数据的传递,在电脑主机中设置存储各个画质参数的对应计算函数的DLL库,通过OLE控件来读取和显示信号产生器和色彩分析仪传输到电视主机的信号数据,结合C++可视化开发控件,实现了将数据信号自动保存到EXCEL中,再从DLL库中调用相应的函数,可以计算出电视机画质参数的趋势图。
1.测量电视机画质数据的方法,其特征在于:其采用信号产生器产生视频信号,色彩分析仪测量电视机画质数据,电脑主机对画质数据进行处理,所述的电脑主机设有C++可视化开发控件,所述的C++可视化开发控件中设有DLL函数库,所述的信号产生器、色彩分析仪通过串口与电脑主机连接,所述的电脑主机和信号产生器还通过串口与电视机连接,所述的方法包括以下步骤:
1)在电脑主机中预先输入待测电视机的信息;
2)信号产生器产生视频信号输入电视机中,电视机产生视频画面,将色彩分析仪的探头到对准电视机的中心点位置,色彩分析仪对电视机进行数据采集,并将采集到的数据以字符串形成输入到发送串口进行缓存;
3)设置电脑主机的串口接收中断的阈值为X个字节,即电脑主机每收到X个字节,引起一个中断事件,电脑主机捕获到中断,再从信号发生器和色彩分析仪的发送串口中接收X个字节数据,直到接收所有的信号数据,所述的X为自然数;
4)电脑主机通过C++可视化开发控件按照串口通信协议读出接收到的信号数据,并将其自动显示到OLE控件上,其中所述的C++可视化开发控件中设有DLL函数库,所述的DLL函数库中设有电视机画质数据的计算函数;
5)电脑主机通过OLE控件将信号数据保存在EXCEL表格中,并调用对应的DLL函数库中的画质数据的计算函数,得到电视机画质数据的值,并自动保存到EXCEL表格中。
2.根据权利要求1所述的测量电视机画质数据的方法,其特征在于:所述的画质数据的计算函数包括色域计算函数、伽马曲线计算函数、RGBCMY色彩分布计算函数和对比度计算函数。
3.根据权利要求1所述的测量电视机画质数据的方法,其特征在于:所述的步骤2)中以字符串形成为将字符串按照每2位字符对应一个字节的关系转换为字节数组形式。
4.根据权利要求1所述的测量电视机画质数据的方法,其特征在于:所述的步骤1)待测的电视机信息包括电视机种名、液晶面板的型号、色温目标值。
测量电视机画质数据的方法\n技术领域\n[0001] 本发明涉及一种测量电视机画质数据的方法。\n背景技术\n[0002] 现有的测量TV画质参数一般都是使用仪器手动测量,手动测量的话时间长、且效率低,测量完成后,还需要进行手动记录数据,由于测量的数据量较大,使得记录工作非常繁琐,其准确度也因为是手工几率而受到影响,给生产效率带来影响。\n[0003] 传统测量的TV画质数据包括色域值,伽马曲线,色温曲线,RGBCMY(红、绿、蓝、青、洋红、黄)随亮度的分布图,对比度,可见测量这些数据,操作一次时间长,且在产能大的工厂,对每台TV的画质都要进行测量,工作量相当大。\n发明内容\n[0004] 本发明的目的在于提供一种可自动测量电视画质参数、提高工作效率的测量电视机画质数据的方法。\n[0005] 为实现上述目的,本发明采用以下涉及方案, 其采用信号产生器产生视频信号,色彩分析仪测量电视机画质数据,电脑主机对画质数据进行处理,所述的电脑主机设有C++可视化开发控件,所述的C++可视化开发控件中设有DLL函数库,所述的信号产生器、色彩分析仪通过串口与电脑主机连接,所述的电脑主机和信号产生器还通过串口与电视机连接,所述的方法包括以下步骤:\n[0006] 1) 在电脑主机中预先输入待测电视机的信息;\n[0007] 2) 信号产生器产生视频信号输入电视机中,电视机产生视频画面,将色彩分析仪的探头到对准电视机的中心点位置,色彩分析仪对电视机进行数据采集,并将采集到的数据以字符串形成输入到发送串口进行缓存;\n[0008] 3) 设置电脑主机的串口接收中断的阈值为X个字节,即电脑主机每收到X个字节,引起一个中断事件,电脑主机捕获到中断,再从信号发生器和色彩分析仪的发送串口中接收X个字节数据,直到接收所有的信号数据,所述的X为自然数;\n[0009] 4) 电脑主机通过C++可视化开发控件按照串口通信协议读出接收到的信号数据,并将其自动显示到OLE控件上,其中所述的C++可视化开发控件中设有DLL函数库,所述的DLL函数库中设有电视机画质数据的计算函数;\n[0010] 5) 电脑主机通过OLE控件将信号数据保存在EXCEL表格中,并调用对应的DLL函数库中的画质数据的计算函数,得到电视机画质数据的值,并自动保存到EXCEL表格中。\n[0011] 其中,所述的画质数据的计算函数包括色域计算函数、伽马曲线计算函数、RGBCMY色彩分布计算函数和对比度计算函数。\n[0012] 所述的步骤2)中以字符串形成为将字符串按照每2位字符对应一个字节的关系转换为字节数组形式。\n[0013] 所述的步骤1)待测的电视机信息包括电视机种名、液晶面板的型号、色温目标值。\n[0014] 本发明采用以上设计方案,通过设置电脑主机、信号产生器和色彩分析仪之间采用串口通信协议来进行数据以及控制命令的传递,在电脑主机中设置存储各个画质参数的对应计算函数的DLL库,通过OLE控件(对象链接与嵌入控件)来读取和显示信号产生器和色彩分析仪传输到电视主机的信号数据,结合C++可视化开发控件,实现了将数据信号自动保存到EXCEL中,再从DLL库中调用相应的函数,可以计算出电视机画质参数的趋势图,使得更直接显示出画质参数的数据,便于操作人员查看、分析,节省了操作时间,且更加直观、准确。\n附图说明\n[0015] 下面结合附图和具体实施方式对本发明作进一步详细的说明:\n[0016] 图1为本发明的机构示意图。\n具体实施方式\n[0017] 如图1所示,本发明采用信号产生器1产生视频信号,色彩分析仪2测量电视机3画质数据,电脑主机4对画质数据进行处理,所述的电脑主机4设有C++可视化开发控件,所述的C++可视化开发控件中设有DLL函数库,所述的信号产生器1、色彩分析仪2通过串口与电脑主机4连接,所述的电脑主机4和信号产生器1还通过串口与电视机3连接,所述的方法包括以下步骤:\n[0018] 1) 在电脑主机4中预先输入待测电视机3的信息;\n[0019] 2) 信号产生器1产生视频信号输入电视机3中,电视机3产生视频画面,将色彩分析仪2的探头21到对准电视机3的中心点位置,色彩分析仪1对电视机进行数据采集,并将采集到的数据以字符串形成输入到发送串口进行缓存;\n[0020] 3) 设置电脑主机4的串口接收中断的阈值为X个字节,即电脑主机4每收到X个字节,引起一个中断事件,电脑主机4捕获到中断,再从信号发生器1和色彩分析仪2的发送串口中接收X个字节数据,直到接收所有的信号数据,所述的X为自然数;\n[0021] 4) 电脑主机4通过C++可视化开发控件按照串口通信协议读出接收到的信号数据,并将其自动显示到OLE控件上,其中所述的C++可视化开发控件中设有DLL函数库,所述的DLL函数库中设有电视机画质数据的计算函数;\n[0022] 5)电脑主机4通过OLE控件将信号数据保存在EXCEL表格中,并调用对应的DLL函\n[0023] 数库中的画质数据的计算函数,得到电视机画质数据的值,并自动保存到EXCEL表格中。\n[0024] 其中,所述的画质数据的计算函数包括色域计算函数、伽马曲线计算函数、RGBCMY色彩分布计算函数和对比度计算函数。\n[0025] 所述的步骤2)中以字符串形成为将字符串按照每2位字符对应一个字节的关系转换为字节数组形式。\n[0026] 所述的步骤1)待测的电视信息包括电视机种名、液晶面板的型号、色温目标值。\n[0027] 本发明中,因为信号产生器、色彩分析仪、电视机和电脑主机之间通过串口相连接,因此其采用串口通信协议,串口通信按照数据转换方式分为字符串模式和Hex格式,其实质都是在串口物理层以字节为单位传输数据。字符串模式的发送过程是将每个字符转成对应的ASCII数据,再发给串口物理层传送,比如发送字符“abc”,串口物理层实际发送的是0x61 0x62 0x63;Hex模式则直接将Hex格式的数据发给物理层传送。\n[0028] 其中C++可视化开发控件使用TeeChart控件作为图表显示工具,其中TeeChart ActiveX是一个图表控件,能够提供高效、直观、省时的编程结口,它支持2D,3D图形,可以绘制折线,散点,饼图,区域图,泡泡图,箭头,甘特图等多种图形模式。\n[0029] OLE控件的是Object Linking and Embedding即对象链接与嵌入,现在称ActiveX控件,是他人开发好的功能模块,可直接用在新开发的应用程序中而不必重新开发,以提高开发效率,其可以读写EXCEL文件。\n[0030] OLE控件需要三个变量即vExcelApp、vWorkbook、vSheet分别被赋予EXCEL程序ID,工作簿ID,单元格ID。\n[0031] 所有的设置和操作使用下面三个方法:\n[0032] 1.设置对象属性:void OlePropertySet(属性名,参数……);\n[0033] 2.获得对象属性:Variant OlePropertyGet(属性名,参数……);\n[0034] 3.调用对象方法为:\n[0035] Variant OleFunction(函数名,参数……);\n[0036] void OleProcedure(过程名,参数……);\n[0037] 其中vExcelApp由Variant变量的CreateObject方法创建,其所用的方法原型为:\n[0038] static Variant __fastcall CreateObject(const String& ProgID);\nCreateObject方法创建一个未初始化的对象,其类别由ProgID参数指定,其返回值为所创建对象的ID号码,用此ID操作此对象。如果ProgID非法,则CreateObject方法抛出 EOleSysError 异常。\n[0039] 本例中,ProgID = “Excel.Application”,可以创建Excel对象。\n[0040] 对象的属性设置用OlePropertySet方法,其原型为:\n[0041] void OlePropertySet(const String& name, TAutoArgsBase& args);name是需要设置的属性名称,args是包含有写入参数方法的TAutoArgsBase对象。\n[0042] 本例中操作Excel时,不希望出现Excel程序窗口,所以将Visible设为假。测到数据需要填入预先设计好的Excel表格,此处需要获得ExcelApp的Workbook属性,赋值为由Destination路径指定的Excel文件:\n[0043] vExcelApp.OlePropertyGet("WorkBooks").OleFunction("Open",Destination.c_str());\n[0044] 指定WorkBook路径之后,调用激活命令ActiveWorkbook,获得一个可以操作的vWorkbook:\n[0045] vWorkbook = vExcelApp.OlePropertyGet("ActiveWorkbook");\n[0046] 指定需要操作的Sheet表:\n[0047] vWorkbook.PG("Sheets", 1).PR("Select");\n[0048] 激活Sheet表:\n[0049] vSheet=vWorkbook.PG("ActiveSheet");\n[0050] 写Sheet单元格:\n[0051] 依据其行号,列号,取得指定单元格,在设置其数值为指定值。\n[0052] vSheet.OlePropertyGet("Cells",行值,列值). OlePropertySet ("Value",”需要写入的数据”);\n[0053] 读单元格,根据行列号读取:\n[0054] String Read = vSheet.OlePropertyGet ("Cells", 行 值 , 列 值 ). OlePropertyGet ("Value");\n[0055] 程式中所有操作,均为单元格读写操作的组合。\n[0056] 其中DLL函数库是将功能函数编译后生成的一种文件,本质上讲调用DLL函数和调用自己写的函数没有区别。只是调用自己写的函数可以直接调用函数名,而调用DLL中的函数需要知道入口地址,因为函数就在文件中,只有通过地址才能找到函数,所以需要使用一个调用模式,具体调用步骤如下:\n[0057] 1. 加载DLL:\n[0058] HINSTANCE CAControl = LoadLibrary("CAControl.dll");\n[0059] 2. 定义函数指针:\n[0060] int _stdcall(*CA_Connect)(int ,int , int );\n[0061] 3. 找到DLL对应函数地址,并赋值给刚定义的函数指针\n[0062] CA_Connect=(int(_stdcall*)(int,int,int ))\nGetProcAddress(CAControl,"CA_Connect");\n[0063] 4. 调用此函数\n[0064] CA_Connect(ChannelNO,DisplayMode,SyncMode);\n[0065] 5. 释放DLL句柄\n[0066] FreeLibrary(CAControl。\n[0067] 其中各个画质数据的计算方式如下:\n[0068] 1. 计算色域:\n[0069] 在TV VGA Source,Standard PQ Mode 测量R G B三个纯色的色彩坐标,再通过公式:\n[0070] ((P1_X[0]-P1_X[2])*(P1_Y[1]-P1_Y[2])-0.5*(P1_X[0]-P1_X[2])*(P1_Y[0]-P1_Y[2])-0.5*(P1_X[0]-P1_X[1])*(P1_Y[1]-P1_Y[0])-0.5*(P1_X[1]-P1_X[2])*(P1_Y[1]-P1_Y[2]))/0.001582 计算出色域百分比,其中 P1_X[0] 、P1_Y[0], P1_X[1] 、P1_Y[1], P1_X[2] 、P1_Y[2]分别表示R、G、B的色彩坐标x,y。\n[0071] 2. 测量Gama:\n[0072] 信号产生器输出100%白色,输出级别设最大255,再根据调整的需求分别设定输出级别,例如测量32级Gamma,那么将0-255分成32等份,分别输出Level 0,Level 7,Level 15 ,Level 22…… Level 255,每变化一次输出Level测量一次色彩数据,将亮度,x、y,色彩温度值,分别增加到对应的图标上,最后连成Gamma曲线。\n[0073] 3. 生成Gamma曲线:\n[0074] 当测量到屏幕的最大亮度之后,根据Gamma数值,可以计算出每个点的亮度值,其Gamma值\n中第i点亮度= MaxLv*(i/10) (i 从0到10取值),其中MaxLv为屏幕的最大亮度,再将每个点的亮度值在坐标图上连接后,即可得到Gama曲线。\n[0075] 测量RGBCMY色彩分布:\n[0076] 分别打出RGBCMY的显示样式,再逐级调整输出Level(当前设置16级)测量色彩数据,显示在色域图上即可。
法律信息
- 2015-04-08
- 2013-07-17
实质审查的生效
IPC(主分类): H04N 17/00
专利申请号: 201310104911.4
申请日: 2013.03.27
- 2013-06-12
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |