APP下载

一种多通道投影系统融合机的同步性检测方法

2015-03-23刘清平刘春魏流锋

科技资讯 2014年35期

刘清平++刘春++魏流锋

摘 要:针对多通道投影系统中的融合机同步性能测试问题进行了研究。介绍了多通道显示系统硬件结构和融合机的基本实现原理。提出了一种简易的融合机同步性测试方法包括硬件平台的搭建和软件实现,并选取两种不同类型的融合机进行了测试实验,结果表明检测方法有效、简单,具有良好的应用价值。

关键词:融合机 同步性检测 多通道投影

中图分类号:TP306+.2 文献标识码:A 文章编号:1672-3791(2014)12(b)-0091-02

随着计算机技术的高速发展,可视化技术取得了巨大进步。该技术大体上可以分为数值计算和图像显示两个部分。其中数值计算随着计算机处理速度的提高而不断加快,已经不是主要限制;然而由于图像显示中的显示器的分辨率在过去二十几年里几乎没有显著改善,这已经成为限制可视化计算发展的瓶颈[1-2]。针对这个问题,常见的解决方案是将多台投影机组合在一起形成多通道投影系统[3-4],这样形成了超大的屏幕甚至环形幕,球形屏幕。不仅提高了分辨率而且减少了投影机到投影幕的距离。更高的分辨率能提高画面的质量,从而增强了人的沉浸感[5];投影距离的缩短不仅能大大节省空间,降低投影机使用环境的建设成本,而且能缩小像素尺寸,提高清晰度[6]。但随之带来了另外一些问题[7-8],如多屏幕的边缘融合、色彩校正和几何校正等问题。处理这些问题的融合机根据实现原理的不同可能需要消耗大量的计算机资源,从而又将带来图像显示延迟或丢帧等新问题。在虚拟现实或增强现实领域有一些对实时性要求很高的应用,如军事战场模拟[9]或飞行模拟[10]等要求保证60 Hz的刷新频率。因此,在引进或购买这类设备时,为了满足应用需求,有时需要检测设备的同步性[11],需要简便易行的方法对融合机的同步性进行测试。目前,尚未见到公开的检测方法。

针对上述情况,该文提出了一种利用照相机、显示器和软件相结合对融合机进行同步性检测的简便方法。首先设计融合机同步性检测方案,然后进行软件设计,最后经过对两种典型类型融合机的测试验证检测方法的有效性

1 投影系统的原理与组成

常见的多通道投影显示系统主要由工作站,融合机和多台投影仪组成,如图1所示。其中融合机是投影系统的核心部件,其将相邻通道投影机投射出来的重叠画面进行边缘融合处理,并合成出一个没有缝隙、清晰、超大、高分辨率的整幅画面,画面的效果就好像是一台投影机投射的画质。它的主要功能包括边界融合、几何校正和色彩校正等。根据融合机实现的原理可以将融合机分成两类:由软件实现的融合和由硬件实现的融合。

软融合实际上是利用硬件和软件相结合而简化硬件的方法实现的,这种类型的融合机的优点是研发费用低,价格比纯硬件融合器略便宜;缺点是由于存在软硬件无法完美配合问题,使得二次开发不能很好与显卡稳定工作,很容易产生程序问题而导致计算机死机,所以最大的缺点是不稳定,甚至可能出现多通道画面不同步、丢帧、卡顿和刷新率降低等现象,另外占用大量的CPU和GPU时间,功耗很高。这种类型的融合机虽然可以节省部分成本,但程序兼容性差,出现问题的概率大。这种融合机一般是由普通PC电脑上插若干PC视频信号采集卡,再配合融合软件来实现图像变形和边缘融合功能。

另外一种是基于单片机技术开发的纯硬件融合机,处理速度快,功耗低,而且稳定。这种融合机一般是定制专用的PCB板卡,实现视频采集、图像几何变形、图像边缘融合以及色彩校正。常见的硬件融合机都是基于FPGA架构,配合多级流水管线实现图像实时存储和数学运算。

2 检测系统原理与组成

为了测试融合机的同步性能,设计一个简易的测试方案。该测试系统主要由工作站,分频器,融合机,两台显示器,高频照相机等组成,如图1所示。基本原理是计算机输出的同一信号经过分频器分成的两路,其中一路经过待测的融合机然后输出到显示器,作为实验组;另一路直接输出到另一显示器,作为对比组。然后由高频照相机用连拍模式[12]同时捕捉两台显示器的画面。如果融合机处理存在延迟,则两台显示器显示画面将不一致。另外为了排除显示器不同带来的误差的影响,需要将两台显示器对换再进行检测。

3 检测软件设计

为了保证画面的实时性能,需要投影机或显示器的更新频率为60Hz。这要求计算机同样以60Hz频率产生一个不断变化的显示信号。测试软件采用OpenGL在Visual C++6.0下开发实现[13-14]。OpenGL工具包直接能访问系统底层,这样能最大限度的节省程序运行周期。程序主要包括控制部分和显示部分。控制部分主要实现程序刷新频率的控制,基本原理为在程序的循环显示部分捕获当前计算机时钟的频率,并与上次循环时捕获的频率相比较,当两者差值约为1/60s时,刷新显示,否则等待下一次循环;显示部分要求更新每次刷新显示的数字和数字的颜色,并且显示出刷新频率和周期,便于结果分析。在Visual C++6.0开发环境下,使用MFC创建基于单文档的OpenGL应用程序,其场景绘制与渲染部分的主要过程如图1所示。

其中,最关键的是获取程序两次刷新的时间间隔。我们采用系统提供的高精度定时器,在定时前应该先调用QueryPerfor

manceFrequency()函数获得机器内部计时器的时钟频率。接着在需要严格计时的事件发生前和发生之后分别调用QueryPerfor

manceCounter(),利用两次获得的计数之差和时钟频率计算两次刷新经历的精确时间。主要代码如下:

OnDraw

{

… …

显示刷新频率、周期和测试数字的伪代//获取硬件支持的高精度计数器的频率

::QueryPerformanceFrequency(&proc_freq);

frequency=static_cast(proc_freq.QuadPart);

//获取计算机时钟计数值

::QueryPerformanceCounter(¤t_count);

//计算两次刷新的时间间隔

double t=(current_count.QuadPart – last_count. QuadPart) / frequency;

//保存该次刷新“时间”

last_count = current_count;

… …

代码如下:

//用OPENGL显示频率

Print("f-%fhz",1/t); //该函数为自定义函数,作用是格式化任意长度字符,并输出。

//显示周期

Print("T-%fs",t);/

//显示刷新数字

++num;

if(num>9999) {num=0;}

//更新显示颜色

SetColor(num%3);

//显示刷新

Print("Count-%d",num);

… …

}

4 应用案例

为了测试这种方案的有效性,我们利用两种不同的融合机A和B的同步性进行测试,测试系统设备及被测设备基本参数如下:

工作站:型号Dell Precision Workstation 670,CPU主频3200 HZ;内存为ECC REGDDR2,大小4G;显卡为NVIDIA Quadro fx 3400。

分频器:型号MT-3502,带宽350MHz,支持分辨率1920*1440,适用于宽屏液晶显示器、液晶显示器。

融合机A:CXXXX融合机,其厂家说明书声称:满足每秒60帧处理速度,无延时,无丢帧;满足基于OpenGL,DirectX 10.0以上图形标准的实时3D仿真应用及数据三维可视化服务。

融合机B:WXXXX边缘融合机,基本特性同融合机A。

显示器:要求显示器的硬件刷新频率在60HZ以上;选用三星EX2220X

数码照相机:要求曝光时间在1/60s以内;选用CANON E600

测试过程:首先检查实验环境,设定显卡输出分辨率等参数。然后启动程序,可以观察到此时的刷新频率为60HZ。再用高频相机同时连拍两个显示画面。

通过分别对融合机A和融合机B进行测试,采集刷新频率、周期和同步显示数字,分别得到结果表1和表2。

对融合机A进行测试,由表1得,实验组为信号经过融合机所采集的数据;对比组为信息号不经过融合机直接输出到显示器的所采集的数据。刷新频率约为60Hz,刷新周期为0.0166s,实验组和对比组的计数差为1或2,平均计算差为1.6。则该融合机存在约0.03s延迟,同步性差。

对融合机B进行测试,由表2得,实验组同样为经过融合机所采集的数据;对比组为信号不经过融合机直接输出到显示器。刷新频率越为60Hz,由测试结果可以看出实验组和对比组的计数值完全同步,不存在计数差,则该融合机同步性良好

5 结语

该文提出了一种简易的融合机同步性测试的方法,分别从检测硬件平台的搭建和软件实现两个方面进行了论述。其中硬件平台主要由常见的工作站、分频器、待测融合机、两台显示器、和数码相机组成,没有涉及到特殊的仪器设备,硬件平台简单,有很强的适应性;测试软件采用OpenGL应用程序实现,程序最关键的部分是准确获取计算机的时钟计数值并计算两次刷新的时间间隔。最后对市场上两种常见的融合机进行了测试,验证了该方法的有效性。该方法结构简单,操作方便,对融合机的同步性测试效果显著,具有很好的应用价值。

参考文献

[1] Lic,Lin H,Shi J.Multiprojector tiled display wall calibration with a camera with a camera[C].SPIE-Int.Society of Optical Engineering,San Jose,2005:294-301.

[2] 叶茂.多屏投影显示系统的自动校正技术[D].成都:四川大学,2006.

[3] IGNACIO GARCIA-DORADO,JEREMY COOPERSTOCK.Fully automa- tic multi-projector calibration with an uncalibrated camera[C]//IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops,2011.

[4] C.Zoido,J.Maroto,G.Romero,et al.Optimized methods for multi-projector display correction[J].Interna- tional Journal on Interfactive Design and Manufacturing,France,2013,7(1):13-15.

[5] Liangjie Zhang,Xiaohang Jiang,Kaibin Lei,et al.Building Virtual Entertainment Environment with Tiled Display Wall and MotionTracking[J]. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics),2013,7544:244-251.

[6] 肖义男,文玉梅,罗毅.基于边缘敏感滤波的图像插值模糊消除[J].仪器仪表学报,2004:407-410.

[7] 石教英.并行图形绘制与多屏拼接技术综述[C]//CCVRV.大连,2004.

[8] 杨廷俊,谢利军,郑耀,等.大规模立体显示墙系统的构建[J].计算机辅助设计与图形学学报,2007,19(8):953-959.

[9] 李军,黄邵君,龚光红.战术仿真中数据交互的实时性研究[J].系统仿真学报,2006,18(Z2):381-389.

[10] 高艳辉,肖前贵,胡寿松,等.飞行模拟器的发展中的关键技术[J].计算机测量与控制,2014,22(2):587-590.

[11] 乔彩丽,戴树岭.多通道显示系统同步技术研究[J].系统仿真学报,2007,19(15):3437-3440.

[12] 孟宪哲,牛少彰,吴小媚,等.基于相机标定的非对称裁剪检测算法.电子与信息学报,2012,34(10):2410-2414.

[13] 宁金星,卢京潮,闫建国.基于VC++的无人机飞控地面站软件的开发[J].计算机测量与控制,2009,17(3):596-598.

[14] 和平鸽工作室.OpenGL三维图形系统开发与实用技术:基础编程篇[M].北京:清华大学出版社,2003.endprint