模拟视频信号模式自动识别方法 【技术领域】
本发明涉及数字平面显示技术,特别涉及模拟视频信号的数字化处理技术。
背景技术
数字平面显示器为了能正确采样、显示模拟视频信号,必须要能正确识别信号的模式。
PC模拟视频信号是经D/A变换产生的,它的模式可以由行频HPER、场频VPER、每帧包含的行数VLINE、每行包含的点数HTOTAL四个参数唯一确定,其中只有HPER、VPER和VLINE的值可以通过硬件直接测量或计算获得。
作为现有技术,以PC显示技术为例,具体的模式识别方法是:
1.根据HPER、VPER、VLINE查找标准模式表,得到模式表HTOTAL值;
2.如果存在近似模式,得到的HTOTAL为标准模式表中第一个近似模式的HTOTAL值,并将输入信号确认为该模式;
3.由于各种显卡存在差异,在标准模式表中获得的HTOTAL值,与输入信号的真实HTOTAL值可能存在细微差异,数字平面显示器都要利用自动校正功能(包括HTOTAL值的逐次逼近计算和显示品质的定义)对来自模式表的HTOTAL值进行有限修正,最终得到在既定模式下的显示品质最好的HTOTAL值;
4.根据所识别的模式设定A/D变换器。
常规的模式识别方法利用信号的HPER、VPER、VLINE与标准模式表中各种模式地相应数据进行比较,选取完全相同或最接近的模式显示信号。但有些模式近似的PC模拟视频信号,如640×480@60Hz与720×480@60Hz,或1024×768@75Hz与1280×768@75Hz等,它们的HPER、VPER、VLINE都相同,唯一的差别就是HTOTAL差异很大,所以,用常规的方法不能保证完全识别、正确显示。
【发明内容】
本发明所要解决的技术问题是,提供一种模拟视频信号模式自动识别方法,能够比较准确的识别显示模式,提高显示器显示质量。
本发明解决所述技术问题采取的技术方案是,提供一种模拟视频信号模式自动识别方法,计算各近似模式下的显示品质,选取显示品质最高的模式作为正确显示模式。
本发明根据HTOTAL和水平分辨率逐次逼近计算最佳HTOTAL值;以最佳HTOTAL值确定的模式控制A/D采样信号。
具体的说,本发明包括以下步骤:
搜索标准模式表,如果不存在近似模式则显示,如果存在近似模式,则按以下步骤执行;
1)根据各个近似模式中的HTOTAL和水平分辨率,逐次逼近计算各模式的最佳HTOTAL值;
2)分别计算步骤1)各模式的最佳HTOTAL值的显示品质值;
3)选择显示品质最大值对应的HTOTAL为最终HTOTAL值;
4)根据最终HTOTAL的值搜索标准模式表,确定最终模式。
本发明的有益效果是,不但能够准确识别HPER、VPER、VLINE有差异的图像模式,还能准确识别HPER、VPER和VLINE相同而HTOTAL不同的近似模式,因而,提高了显示器的显示质量。实际测试的结果表明:
1)模式近似的模拟视频信号,其HPER、VPER、VLINE值相同,HTOTAL值差异很大;
2)不同显示适配器输出相同模式的模拟视频信号,其HPER、VPER、VLINE、HTOTAL值可以在一定范围内变化。
在数字平面显示系统中,正确的识别信号的模式、以恰当的采样频率对输入的模拟信号进行A/D变换是获得良好显示品质的基础和前提,对未采用本发明的数字平面显示器而言,因为其模式识别仅依据HPER、VPER、VLINE值完成,不能完全准确识别所有模式近似的PC模拟视频信号,使得对信号的HTOTAL判别出现错误,导致采样频率错误,显示品质随之大为下降;而采用本发明的数字平面显示器能自动适应不同的PC显示适配器,因为可以正确识别行频、场频相同的近似模式,并使所有模式近似的PC模拟视频信号都获得正确的A/D采样频率,从而保证了最好的显示品质。
【附图说明】
图1是本发明一个实施方式涉及的PC模拟视频信号波形示意图。
图2是本发明具体实施方式流程图。
【具体实施方式】
PC显示适配器具有差异性,就是在输出相同模式信号时,其HPER和VPER的值也不完全相等,而是在一个范围内。但与行频、场频不同的模式HPER和VPER的差异性相比,该范围较小,数字平面显示器据此以及VLINE的不同识别不同的模式,如640×480、800×600、1024×768、1280×1024等。在本文献中,只要HPER和VPER的值在适当范围内变化、不能据此视为不同模式的,就叫做“相同”。HPER、VPER相同而HTOTAL差异较大的PC模拟视频信号就叫做“模式近似的PC模拟视频信号”,如1024×768@60Hz和1280×768@60Hz。用常规模式识别方法可以判断一个信号是否存在近似的显示模式,如果不存在近似模式,数字平面显示器可以直接显示信号,如果存在近似的显示模式,就要运用本发明的模式自动识别方法。
PC模拟视频信号是经D/A变换产生的,它不是理想的模拟信号。PC模拟视频信号波形示意图见附图1,图1中的“T”表示每个像素电平值的持续时间。
模式近似的信号,比如1024×768@75Hz与1280×768@75Hz等,虽然它们的HPER、VPER、VLINE相同,但HTOTAL差异很大,T值也相差很大。若数字平面显示器错误的识别这些相近模式,就会采用错误的HTOTAL值控制A/D产生错误的采样时钟频率,这样不能保证对每个像素电平值正确采样,导致显示图像模糊。而由于HPER、VPER、VLINE相同,对模式近似信号的识别核心是搜寻正确的HTOTAL。本发明通过采用逐次逼近计算和最佳相位品质比较等方法,从中计算出最佳(正确的)HTOTAL值。
本发明的模式自动识别过程如下:首先根据各个近似模式中的HTOTAL和水平分辨率HRES,逐次逼近计算各种近似模式的最佳HTOTAL值,然后用这些HTOTAL值控制A/D采样信号,并计算这些近似模式的显示品质值。显示品质值的大小反映屏幕图像的显示效果,值越大代表屏幕图像的显示效果越好。若标准模式表中的某个模式是输入信号的最匹配模式,那经过逐次逼近计算后得到的该模式最佳HTOTAL值,最能正确反映输入模拟视频信号T值的变化,保证对每个像素电平值正确采样,显示品质的值则比各个近似模式中其它非匹配模式下的值大。那么,我们就可以对各种近似模式的显示品质值进行比较,显示品质最大值所对应的HTOTAL值能使屏幕图像的显示品质最好,根据该HTOTAL值确定的模式必然是输入信号的正确模式。
所以,尽管在标准模式表中各种近似模式的信号的HPER、VPER、VLINE参数可能完全相同,但通过本自动识别过程可以找到正确的HTOTAL,从而为正确分辨这些模式提供依据。
具体的,参见图2,本实施方式步骤为:(以C语言格式描述)
采用常规方法搜索标准模式表识别信号的模式;
if(存在近似的显示模式)
{
查找与输入信号最接近的近似模式;
根据各个模式中的HTOTAL和水平分辨率,逐次逼近计算各模式的最佳HTOTAL值;
分别计算不同HTOTAL值的显示品质值;
选择显示品质最大值对应的HTOTAL为最终HTOTAL值;
根据最终HTOTAL的值搜索标准模式表识别信号的模式;
显示信号;
}
else
{显示信号;}
作为一个更具体的实施例,首先用常规的模式识别方法得到输入信号的垂直分辨率,本例中垂直分辨率等于768,已知在此垂直分辨率下存在1024×768和1280×768两种近似模式,那么:
1)用常规的模式识别方法搜索标准模式表,在水平分辨率等于1024、垂直分辨率等于768的所有模式中找一个与输入信号最接近的模式,然后在水平分辨率等于1280、垂直分辨率等于768的所有模式中再找一个与输入信号最接近的模式;
2)根据两个模式中的HTOTAL和水平分辨率的值(1024或1280)逐次逼近计算各自的最佳HTOTAL值;
3)在两个最佳HTOTAL值的基础上计算显示品质值;
4)取使显示品质值为大的HTOTAL值为最终HTOTAL值;
5)在最终HTOTAL值所对应的模式子集中找一个最接近输入信号的模式。
该模式就是输入模拟视频信号的正确模式。
在上述模式自动识别过程中,HTOTAL值的逐次逼近计算和显示品质的定义是数字平面显示电路中的常规技术,在现有数字平面显示器整机控制软件中都有具体的实现方法,因此本发明不会因采用不同公司主芯片的电路方案而不能应用,可以在任一数字平面显示器电路平台予以实施。
下面,以美国PIXELWORKS公司提供的QMB1.2免费软件环境为例描述HTOTAL值的逐次逼近计算和显示品质的定义。QMB1.2中包含有HTOTAL值的逐次逼近计算和显示品质的定义,其实现方法不具有特殊性,可以移植到任一数字平面显示器电路平台。
QMB1.2可以在PIXELWORKS公司开发的PW13x系列集成电路(包括PW130、PW130A、PW131、PW131A、PW133、PW135等)上运行,集成电路内部集成了数字平面显示器信号处理所必须的CPU、A/D变换器和显示格式变换器等电路,可以将PC显示适配器输出的模拟R、G、B信号经过处理后在数字平面屏幕(如液晶、等离子等)上显示出来。QMB1.2中包含有HTOTAL值的逐次逼近计算和显示品质的定义,其实现方法不具有特殊性,可以移植到任一数字平面显示器电路平台。
HTOTAL值的逐次逼近计算如下:
Interval)值; WHES=WHTOTAL-HBI; IF(WHES与标准模式表对应的水平分辨率HES相等或者N等于3){ 跳到BBB; } WHTOTAL=(WHTOTAL×HES÷WHES+0.5)取整后的值; N=N+1; 跳到AAA; BBB:WHTOTAL就是逐次逼近计算后得到的值; 显示品质的定义如下: N=0; WMAXQ=0;MAXQ=0; WMINQ=0xFFFFFFFFL;MINQ=0xFFFFFFFFL; CCC:根据N的值设置AD采样的相位值; 延时; 从PW13x的G口相位品质寄存器中读取相位品质值DW; IF(DW>MAXQ){ MAXQ=DW; } IF(DW<MINQ){ MINQ=DW; } DWQ=MAXQ+MINQ; IF(DWQ>WMAXQ){ WMAXQ=DWQ; } IF(DWQ<WMINQ){ WMINQ=DWQ; } IF(N等于32){ BESTQ=WMAXQ-WMINQ; 跳到DDD; } N=N+1; 跳到CCC;DDD:BESTQ就是最佳显示品质值。]]>