视频显示(共7篇)
视频显示 篇1
摘要:课题研究是基于DSP的双路视频动态显示系统, 通过串行口实现系统与电脑主机的交互。双路视频动态显示系统包括单路画面显示、组合显示、画中画显示、混合缩放和alpha混合显示, 以双路视频分别采集的两帧图像作为设计对象进行特效算法的设计和实现。电脑主机可以通过串行口控制DSP系统的特效显示动态切换。实验结果验证了系统设计的正确性, 它在多路视频监控、视觉特效显示等领域具有比较高的使用价值。
关键词:双路视频,特效显示,混合显示,多路视频监控
现如今, 不管是安防系统, 还是各种需要实时检测目标状态的领域, 多路视频的采集及其按照用户的各种需求控制视频显示方式十分常见。各个行业的技术水平在不断提高, 人们对多路视频的要求也越来越高, 以满足不同情况下的需求。多路视频采集及其特效混合显示是安防、舞台转播、新闻转播等方面的重要组成部分, 是一种高效实用的综合性系统。当然, 因为多路视频的特效混合显示能够对多路图像进行多样的实时处理, 所以, 在多种场合都会应用它。随着计算机和网络的迅速发展, 图像处理与数字信息传输技术也不断发展, 多路视频的采集及其混合特效显示也随之发展, 并且在视频显示模式上应用了许多图像处理的算法, 提高了图像质量, 使视觉效果越来越好。
现今, 多路视频采集与显示活跃在各个领域, 比如钢铁冶炼, 利用视频监控来代替人工监控, 有效避免了工人在高温环境下的作业危险;在农业中, 则利用双路视频实时记录农作物的生长情况, 以便更详细地了解农作物的生长;在日常生活中, 多路视频的运用更是数不胜数, 包括各种生活的实际需要、娱乐需要和监控需要等。
在视频、图像处理中, 每一帧图片都是由分辨率所对应数量的像素组成的, 每个像素的表示则是由几个不同的颜色通道组成, 而颜色通道则对应着色彩空间, 即用若干维度的变量来表示某一色彩。在色彩空间中, 同样有着如同几何空间一样的三维描述方式, 它一般会用3种相对独立的通道来表述颜色, 但从不同的角度来描述就会有不同的色彩空间, 它们从不同的角度去衡量对象时有不同的侧重点。常见的色彩空间有RGB、HSV和YUV等。
本文主要提出了一种基于DSP高速计算系统的实时双路视频动态特效显示设计方案, 实验结果验证了包括组合特效、混合特效、alpha混合等特效效果设计的正确性。
1 双路视频动态特效显示系统与特效设计
1.1 双路视频动态特效显示系统
本设计以双路视频信号采集、处理和显示为内容, 基于DSP硬件平台, 利用视频解码芯片和2个捕获视频端口VPO、VP1组成了既互相独立又互相联系的双通道视频捕获系统, 以此实现对输入视频的双通道实时采集。这样做的目的是设计一种基于DSP的双路视频信号实时动态显示系统, 实现多种双路视频交互功能, 包括单独显示、组合显示、画中画显示和画面缩放, 并支持混合特效显示, 以满足多种情况下的显示需求。这是一种低成本的视频信号特效显示系统方案。
1.2 双路视频动态特效设计
1.2.1 画中画特效设计
画中画指的是在一段视频中的一个小面积区域上播放另外一段视频, 而本设计中还添加了画中画区域的放大、缩小、移动。它的实现方式是, 在576×720分辨率的帧图片下, 利用摄像头采集到的两路视频帧, 通过输出到特定缓存区来改变不同像素的色彩空间值, 从而达到画中画的显示效果, 继而再通过主机与DSP的串行通信, 实现对画中画区域大小、移动等操作。具体操作就是将cap Frame Buf_1根据指定的范围缩小, cap Frame Buf_2不变, 分别赋值给dis Frame Buf的不同区域。画中画分为背景与景中画, 所以, 需要定义景中画的范围, 其余的则都是背景。本设计中利用景中画起始坐标、大小来确定景中画位置, 并且通过串口来控制起始坐标、大小, 从而实现对画中画整体效果的控制。
1.2.2 混合缩放特效设计
图像缩放是数字图像处理中经常用到的, 因为设计中需要将某个尺寸的图片放大或缩小到另一个尺寸, 所以, 本设计使用了消耗资源最少的最近邻插值。最近邻插值是一种比较方便、简单的缩放方式, 缩放方案就是将像素指标设置为相距其最短的像素指标, 如图1所示。在缩小的过程中, 如果2∶1缩小, 在最近邻插值中, 实际上是简化4个像素为1个, 即直接将左上角的像素指标作为缩小后的像素指标。在放大的过程中, 如果1∶2放大, 在最近邻插值中, 实际上是将1个像素扩张为4个, 即直接以左上角的像素指标作为放大后图像的4个像素指标。最近邻插值的优点是方便、简单、计算量很小、消耗资源少, 直接赋值即可, 很适合实时性的处理, 缺点就是产生的图像局部有块状。
1.2.3 alpha混合特效设计
alpha混合在游戏领域的应用十分广泛, 目的就是实现2帧图片的可调节的半透明混合显示。在实现过程中, 对于2帧图片的对应像素, 可将其RGB分量按权重相加得到新的像素RGB分量, 从而得到alpha混合的初步效果。在alpha混合处理中, 它能够达到2帧图片的任意比例透明混合, 也可以在图像上添加透明的视觉特效, 比如光源、烟雾和火光等。
在alpha混合中, 有一个特别需要注意的地方, 就是防止色彩的失真。alpha混合算法是在RGB空间进行处理的, 所以, 对于那些原本不是用RGB色彩空间表示的, 就需要转换, 转换公式为:
式 (1) (2) (3) 中:k, alpha为参数;R, G, B为对应的颜色值。
公式中有许多浮点数的计算, 并且参数经过一定的近似, 会在空间转化过程中造成色彩的失真, 并且在alpha混合计算时的乘除法也会造成色彩的失真。因此, 在DSP系统的处理过程中, 需要控制参数的精度, 使程序运行的速度在达到要求的情况下尽量削弱色彩的失真度。当然, 最好的方式就是只通过位运算, 避免乘除运算。
2 动态特效显示实验结果
2.1 画中画组合特效显示
图2是画中画效果的画面记录。图2 (a) 为初始化景中画大小的画面, 图2 (b) 和图2 (c) 为通过串口来控制景中画大小和位置之后的画面。图2 (b) 是改变大小后的效果, 图2 (c) 是改变位置后的效果。经实验测试, 画中画效果程序周期大概在20帧/s, 测试方案是:在程序中添加变量frame记录处理帧数, 运行程序, 经过一段时间后暂停程序, 记录frame, 再继续运行程序, 经过10 s, 暂停程序, 记录frame。2个frame相减除以10就是每秒处理的平均帧数。
2.2 混合缩放特效显示
图3为混合缩放效果的实验记录, 图3 (a) 左上角缩小图为视频1, 整体为视频2。图3 (b) 和图3 (c) 是视频1和视频2的转换过程。图3 (d) 右上角为视频2, 整体为视频1。混合缩放实现的是类似各种直播场合切换分会场与主会场的效果。当画面1为主显示画面时, 将画面2缩小置于主画面的左上角;同理, 当画面2为主显示画面时, 将画面1缩小后显示于主画面右上角。本设计实现了两路视频的显示切换, 同时, 保留非主显示画面的缩小画面。
2.3 alpha混合特效显示
图4为alpha混合效果的实验记录图, 它表现了2帧在不同alpha值下的混合效果。其中, 下半部分的图像没有处理, 是一路原图像, 将上下2幅图作对比, 上半部分图像的alpha混合效果更为明显。图4 (a) 到图4 (d) 分别是alpha值从小到大的一组图片, 图4 (a) 视频1比例最大, 图4 (d) 视频2比例最大。文中已经提到, 由于视频数据采集缓存区cap Frame Bu里的数据是YUV格式, 而alpha混合算法需要的是RGB格式, 因此, 在转换过程中, 计算误差等原因会导致色彩失真。图4中, 书架比较亮的地方就出现了色彩失真的情况。在实验设计中, 尝试对高亮度区域进行限制处理。这样做, 虽然在一定程度上缓解了失真程度, 但还是残留着一些失真的像素。
3 结束语
本文简要介绍了一个在电脑主机上通过串口控制的双路视频特效显示系统设计方案, 它能够根据用户需求对两路图像进行切换单独显示、组合显示、画中画显示、画面缩放和alph显示等, 并在每个显示特效中控制各种参数的变化, 比如画中画的画面大小, 支持添加用户可选的图像增强算法, 以适应不同的拍摄环境。实验结果表明, 画中画组合特效、缩放特效、alpha混合特效满足系统的设计需求, 在多种图像显示系统中具有比较强的使用性。
参考文献
[1]张军, 赵静.DSP芯片的特点及其应用[J].现代电子技术, 2001 (11) :79-81.
[2]薛长松, 李书义.基于DM642的双通道视频采集系统[J].河南大学学报, 2007, 37 (3) :305-306.
[3]于进才, 马岚.PAL制、NTSC制与CIF的转换原理[J].现代电视技术, 2003 (11) :78-80.
[4]臧博, 吴裕斌, 曹丹华.基于GIO/FVID的DSP视频处理驱动程序[J].技术纵横, 2006 (8) :27-30.
[5]Lissner I, Urban P.Toward a Unified Color Space for Perception-Based Image Processing.IEEE Transactions on Image Processing, 2012, 21 (3) :1153-1168.
[6]李秀英, 袁红.几种图像缩放算法的研究[J].现代电子技术, 2012, 35 (5) :48-51.
[7]邓林华, 柳光乾, 李学宝.基于插值算法的图像缩放的应用研究[J].微计算机信息, 2010, 26 (11) :23-24.
[8]Cho, Dongwook, Bui.Fast image enhancement in compressed wavelet domain.Signal Processing, 2014, 98 (4) :295-307.
无线视频传输与上位机显示 篇2
随着社会的发展,视频监控技术成了各行各业的迫切需求。视频监控在很多的场合起着不可忽视的作用,尤其是在一些比较危险的生产和作业环境。
传统的视频监控技术大多受距离和地域的限制,这为生产和作业带来了很大的不便。本文介绍了一种轻量级的远程无线视频传输系统。结合现在的无线3G网络,在视频传输效率和距离上会有相当大的提升空间。
1. 系统设计
本系统能够通过远程下位机ARM平台进行视频采集,采用无线网络把视频传输到上位机显示终端,上位机利用CxImage来显示视频。系统可以分为两个功能模块,一是下位机采集与传输模块,二是上位机接收与显示模块。
(1)系统硬件设计
系统平台采用SAMSUNG公司处理器S3C2440,该处理器是内部集成ARM公司的ARM920T处理器核32位微控制器,资源丰富,带独立的16KB指令Cache和16KB数据Cache, LCD控制器,RAM控制器,NAND闪存控制器,3路UART, 4路DMA, 4路带PWM的Timer,并行I/O口,8路位ADC, TouchScreen接口,II2C接口,IIS接口,2个USB接口控制器,2路SPI,主最高可达203MHz;在处理器丰富资源的基础上进行了相关的配置和扩展,平台配置了一32Mxl6位的FLASH和两16Mxl6位的SDRAM,通过以太网控制器芯片DM9000扩展一个网口,另外引出一个串行接口和一个HOSTUSB接口。通过在USB接口上外接一USB HUB来连接USB口的摄像头和一个无线网卡,将采集到的视频图像数据通过无线网卡发送到上位机上。系统的硬件设计框图如图1所示:
(2)系统软件设计
系统采用USB摄像头采集视频数据,下位机ARM平台上运行LINUX操作系统,为整个下位机软件提供了实时的运行环境。下位机软件通过调用V4L接口函数对视频数据进行采集,采集到的数据再通过网络套接字传输到上位机上。
上位机软件运行在WINDOWS XP系统上,上位机软件通过网络Socket接收下位机传输来的视频数据,视频数据按比特格式进行发送,上位机软件将比特数据打包成帧,再调用CxImage图像库将采集到的帧数据显示成图像,Socket不断接收传输来的视频数据,这样就形成了连续的视频。系统的软件框图如图2所示:
2. 视频采集
视频采集采用的是Linux下的Video4Linux驱动模块。Video4Linux是Linux中关于视频设备的内核驱动,它为针对视频设备的应用程序编程提供一系列接口函数,这些视频设备包括现今市场上流行的TV卡、视频捕捉卡和USB摄像头等。对于USB口摄像头,其驱动程序中需要提供基本的I/O操作
接口函数open、read、write、close的实现。对中断的处理实现等,并把它们定义在struct file_operations中。这样当应用程序对设备文件进行诸如open、close、read、write等系统调用操作时,Linux内核将通过file_operations结构访问驱动程序提供的函数。例如,当应用程序对设备文件执行读操作时,内核将调用file_operations结构中的read函数。在系统平台上对USB口数码摄像头驱动,首先把USB控制器驱动模块静态编译进内核,使平台中支持USB接口,再在需要使用摄像头采集时,使用insmode动态加载其驱动模块,这样摄像头就可正常工作了,接着进行了下一步对视频流的采集编程。
在USB摄像头被驱动后,只需要再编写一个对视频流采集的应用程序就可以了。根据嵌入式系统开发特征,先在宿主机上编写应用程序,再使用交叉编译器进行编译链接,生成在目标平台的可执行文件。宿主机与目标板通信采用打印终端的方式进行交叉调试,成功后移植到目标平台。本文编写采集程序是在安装Linux操作系统的宿主机PC机上进行的,下面是具体论述。
视频编程的流程如下:
(1)打开视频设备。
(2)读取设备信息。
(3)更改设备当前设置。
(4)进行视频采集,两种方法:
a.内存映射。
b.直接从设备读取。
(5)对采集的视频进行处理。
(6)关闭视频设备。
close (vd->fd) ;
3. 视频传输
视频传输采用的是套接字编程。Linux下网络编程的规范Linux Sockets是Linux下得到广泛应用的、开放的、支持多种协议的网络编程接口。从1991年的1.0版到1995年的2.0.8版,经过不断完善并在Intel、Microsoft、Sun、SGI、Informix、Novell等公司的全力支持下,已成为Linux网络编程的事实上的标准。考虑到视频传输的精确性,本系统采用的是面向有连接的(TCP)的socket编程。ARM处理单元是视频传输的服务器端。
套接字编程的流程:
(1)创建套接字(socket);
(2)将套接字绑定到一个本地的地址和端口上(bind);
(3)将套接字设为监听模式,准备接受客户请求(listen);
(4)等待客户请求到了;当请求到了后,接受连接请求,返回一个新的对应此连接的套接字(accept);
(5)用返回的套接字与客户端进行通信(send/recv);
(6)返回,等待另一客户请求;
(7)关闭套接字;
4. 视频显示
CxImage类库是一个开源的图像操作类库。它提供了快捷地存取、显示、转换各种图像的解决方案。
一个CxImage对象是一个扩展了的位图。作者只是在位图结构上添加了一些起存储信息作用的成员变量。一个CxImage对象(同时)也是一组层。每个层只有在需要时才会分配相应的缓冲区。CxImage::pDib代表着背景图像,CxImage::pAlpha代表着透明层,CxImage::pSelection代表着被选中的层,被用来创建图像处理时让用户感兴趣的区域。在这三个特殊层面的基础上,你可以增加一些额外的层,这些层可以存储在CxImage::pLayers中。一般说来,层是一个完整的CxImage对象。因此,你可以构造很复杂的嵌套层。
5. 结束语
本系统提供了一种远程视频传输的解决方案,整个系统实现起来比较简单,避免了过于复杂的硬件和软件设计。系统在视频传输和显示上都采用了开源的软件编写,这可为系统设计节约很多的开支和缩短开发周期。由于采用了开源的库和API,系统在软件的执行效率上进行了优化,提升了视频的传输效率和稳定性。
参考文献
[1]汪庆年, 孙丽兵, 李桂勇.一种基于ARM的视频监控系统的设计[J].微计算机信息, 2009.
[2]孙鑫, 余安萍.VC++深入详解[M].电子工业出版社, 2006.
虚拟场景中的实时视频显示研究 篇3
虚拟场景漫游技术的产生和发展,通过其对古遗址和古文物的展示,既满足了人们对古遗址和古文物了解的需求,也解决了古遗址和已破损的文物难以展示的难题,并对已有遗址文物起到了保护作用。目前,有很多人对虚拟场景漫游技术进行了研究[1,2,3]。文献[1]介绍了虚拟现实技术在古建筑复原和数字化博物馆等建筑中的应用,文献[2,3]介绍了基于Open GL的虚拟场景漫游系统的一些创建方法。然而,以上系统以计算机屏幕作为观察虚拟场景的窗口,沉浸感较弱。本文以Kinect摄像头为硬件基础进行彩色数据捕捉,在实现大型复杂虚拟场景的创建和显示过程中,添加实时视频子窗口,将包含人物的现实场景在虚拟场景中流畅的显示出来,使人们在虚拟场景中有身临其境的感觉,增加了系统的沉浸感。另外,利用Kinect摄像头进行包含人物的深度数据采集,实现自然抠图,为自然抠图在基于Open GL的虚拟场景中的应用提供了基础。
本文第一部分主要介绍了Kinect进行数据捕捉及对捕捉到的数据进行相关处理的过程,第二部分主要介绍了基于Kinect的虚拟场景中的实时视频显示原理及编程流程和主要调用函数源代码,最后对本文内容进行了总结。
2 基于Kinect的数据流捕捉(Data stream capturebased on Kinect)
随着Kinect for Windows的推出,与其相关的开发和研究越来越多,应用逐渐广泛。Kinect主要包括彩色摄像头,红外发射摄像头和红外接收摄像头。如图1所示为Kinect进行捕捉的主框架。Kinect进行数据流捕捉后传入电脑,由配置了Kinect SDK和Open NI的VS2010平台对数据流进行相关处理操作,最终得到做需要的信息并进行信息的处理应用。
其中,彩色数据流系统提供两种格式,包括32位RGB格式和16位YUV格式,本文主要采用16为YUV格式,即分辨率为640×480。当Kinect连接到计算机,为保证30FPS的数据帧率,将捕捉得到1280×1024分辨率的彩色数据流压缩转换成RGB格式后通过数据线传递,并在应用前解压数据得到所需要的格式的数据。
本文采用Kinect for Windows SDK开发包中的Nui Initialize(DWORD dw Flags)函数对Kinect进行初始化。在初始化过程中,首先处理彩色数据流和深度数据流,然后处理用户索引信息并根据用户索引值将颜色信息追加到深度数据图中,最后处理骨骼数据流,得到骨骼跟踪信息。Nui Image Stream Open()函数用于打开对NUI设备的访问通道,使Kinect可以接受彩色数据流,深度数据流和骨骼数据流,并设置图像分辨率。然后调用Nui Image Stream Get Next Frame()函数读取彩色数据信息和深度数据信息。采用Lock Rect函数对Kinect捕捉到的纹理里进行锁定,进而对纹理表面的任意像素点进行读写操作,即可以绘制出任意一个像素。Kinect捕捉到的数据流组成一个一个帧,帧序列形成视频影像,为不断得到新的视频信息,我们通过Nui Image Stream Get Next Frame函数进行帧提取操作,最终得到相关数据流信息。如图2和图3分别为Kinect的彩色数据效果图和深度数据效果图。
3 基于Kinect的实时视频显示(Real-time videodisplay based on Kinect)
本文采用Billboard技术实现实时视频显示,即实现实时视频子窗口的创建。主要方法是将Kinect捕捉到的实时视频作为纹理贴图贴在Open GL绘制的多边形上,该多边形的法向量始终与漫游时的视线方向平行,是视频贴图随视角的变化而变化,进而得到视频子窗口,节省了内存空间,提高了场景渲染的效率。在整个过程中,以gl Tex Sub Image2D()函数不断刷新贴图使贴图动态化,以GL_QUADS模式进行多边形的绘制工作,具体实现流程图如图4所示。
主要绘制函数draw()函数代码如下:
实时视频子窗口渲染过程中针对因窗口尺寸参数问题而出现的马赛克现象(图5),本文定义窗口初始尺寸代码为:#define width 640 #define height 480。针对窗口尺寸变化操作,采用倍数的方法实现。最终添加视频效果图如图6所示。
4 结论(Conclusion)
视频显示 篇4
科技术语一般产生于科学技术发达的国家。同一事物或概念也可能同时在不同国家探讨和出现, 因而会产生许多内容相同而形式不同的术语。另外, 在术语的移植过程中, 也会产生不少同义不同形的术语。术语的混乱, 成了国际学术交流的障碍, 这就需要语言学家和科技工作者共同努力解决术语规范化问题。不少国家成立了全国性的术语委员会, 专门负责整理审定各种术语。我国也在加大制订修订相关专业术语的力度。
在此, 就视频显示专业中经常出现的容易混淆的一些术语根据我国的标准对以下术语的定义, 结合测量方法进行一下解释和说明, 希望能对从业者有所帮助。
首先, “图像分辨力”、“图像分辨率”和“图像清晰度”。图像分辨力 (picture resolution) 在我们的国标《视频显示系统工程技术规范》 (GB 50464-2008) 中的定义是:表征图像细节的能力。对图像信号, 常称为信源分辨力, 由图像格式决定, 通常用水平和垂直方向的像素数表示。对成像器件而言, CRT通常用中心节距表示, 面阵LED、CCD、LCD、PDP、DLP、LCOS、OLED等固有分辨力成像器件, 通常用水平和垂直方向的像素数表示。在《应用电视术语》 (GB/T 15466-2007) 中对图像分辨力是这样定义的:表征图像细节的能力。这种能力由图像格式决定, 通常用于水平和垂直方向的像素数表示。验证此项指标实际上就是数出成像器件的水平和垂直方向的像素数。
在我们招投标过程中, 无论是招标文件还是投标文件我们会经常看到将“图像分辨力”写成了“图像分辨率”, 往往混淆了这两个概念。“图像分辨率”实际上是“图像清晰度” (picture definition) 的同义词, 《视频显示系统工程技术规范》 (GB 50464-2008) 的定义是:“人眼能察觉到的图像细节清晰程度, 用电视线表示”。什么是“电视线television line (TVL) ”?它是“在图像水平或垂直方向等于光栅高度的距离上所能分辨的黑白相间的线数, 是测试电视系统分解力的单位, 用TVL表示。”
《应用电视术语》 (GB/T 15466-2007) 中对“清晰度”的定义是:“人眼对电视图像细节清晰程度的量度, 用电视线表示;同义词‘分辨率’”。由此可见, “图像分辨率”与“图像分辨力”根本不是一回事。而有些从业人员误认为我们所说的“像素数”代表的是“分辨率”;而清晰度是“像素数”, 这就大错特错。在实际考核清晰度指标的方法是:采用复合测试图信号作为视频测试信号源, 将视频显示单元调整到规定的正常工作状态, 文中以下所涉及“规定的正常工作状态”都须按以下规定进行调整显示单元。规定的正常工作状态是指图像亮度和对比度 (灰度等级) 应按下列方法进行调整: (1) LED视频显示系统应将LED视频显示系统显示屏的亮度级和灰度级设置在最高位置。 (2) 将极限八灰度等级信号输入投影型、电视型单元视频显示系统, 调整对比度和亮度控制器位置, 直到极限八灰度等级信号能够清晰分辨的极限状态。此时对比度、亮度的位置分别定义为“正常对比度位置”和“正常亮度位置”。 (3) 将十阶梯信号输入投影型、电视型拼接视频显示系统, 调整对比度和亮度控制器位置, 在保证亮度尽可能大的情况下, 使十阶梯信号能够清晰分辨, 此时对比度、亮度的位置分别定义为“正常对比度位置”和“正常亮度位置”。将显示屏的控制器、色温置于默认设置。将复合测试图信号输入到显示屏, 读出水平重显率和垂直重显率;观测显示图像的楔形线簇, 记录显示屏正确显示楔形线对应的刻度值, 单位为电视线。这个刻度值即为显示屏的清晰度, 如图1所示。
还有就是对我们已有的标准术语与厂家术语之间的差异问题, 比如:我们在《视频显示系统工程技术规范》和《应用电视术语》中都对“像素中心距pixel pitch”作了定义:相邻像素中心之间的距离。而在实际使用中, 许多厂家习惯的说法是“像素点间距”, 但其所指内容和定义是一致的, 都是指“相邻像素中心之间的距离” (参见GB 50464-2008) , 这倒没有太大的问题。可“LED像素失控率ratio of out-of-control pixel”和厂家俗语“盲点率”所代表的意义就不完全相同了, “像素失控率”在国家标准中的定义是:“发光状态与控制要求的显示状态不相符的LED像素占总像素的比率。”而“盲点”表示的是不能发光的LED像素, 而没有将发光状态与控制要求的显示状态不相符的情况表达出来。在实际测量中, 根据相关标准此项指标的测量方法是这样的:首先, 让显示屏显示最高灰度级红色, 用目测法数出不发光的像素数然后关闭红色, 用目测法数出红色常发光像素数;红色像素失控率等于红色像素常发光数和不发光数的和与显示屏总像素的比, 取百分数。蓝色像素失控率和绿色像素失控率的测量方法同上, 不过需分别将显示屏置于最高灰度级蓝色和绿色时, 目测和计算出其相应的数值;取红绿蓝色像素失控率中最高值认定为整屏像素失控率。
“亮度均匀性luminance uniformity”是“显示屏各区域相互之间亮度一致性的程度”, 用百分比表示, 现实是我们的从业者往往把它说成是“亮度均匀度”, 其实, 如果他们知道这个术语的表示方法, 也不会误称其为“亮度均匀度”了。对于LED型、投影型和电视型视频显示单元来说, 其亮度均匀性的计算过程是先将视频显示系统单元调整到正常工作状态;再将全白场信号输入到显示屏, 用亮度计测量规定的1~13点的亮度值L1~L13;然后, 计算出其中心区域9个点的平均值L0, 再从13个点的测试值中找出与9个点平均值L0偏离最大的亮度值Li;这样通过以下运算即可得到此屏的亮度均匀性了:亮度均匀性=1-| (Li-L0) /L0|×100%。如图2所示。
而“色度均匀性chromatic uniformity”是“视频显示屏的色度一致性。”其结果用小数来表示, 而不是用百分比表示。
“对比度Contrast ratio”:对于背投影方式, 是同一图像画面中亮区与暗区平均亮度的比。对于正投影方式, 是同一图像画面中亮区与暗区平均照度的比。而对于LED显示屏用“通断比ratio of all white and all black”表示, 指在正常工作状态下, 100%信号电频的全白场图像与0%信号电频的全黑场图像的亮度之比。
电视型视频显示单元的测量过程如下:首先, 将视频显示单元调整到正常工作状态;再将黑白窗口信号输入到单元屏, 用亮度计分别测量L0、L1、L2、L3和L4的亮度值, 就可以通过以下公式计算出电视型视频显示单元的对比度了, 对比度C=L0/Lbp, 其中:Lbp表示L1到L4的平均值。如图3、图4所示。
投影型视频显示单元的对比度测量过程是:首先将视频显示系统单元屏调整到正常工作状态;将棋盘格信号输入到单元屏, 用亮度计分别测量白格和黑格的亮度值;投影型视频显示单元屏的对比度C=LW/LB。式中LW表示所有白格亮度的平均值;LB表示所有黑格亮度的平均值, 如图5所示。
LED视频显示单元的通断比测量步骤如下:首先, 将LED视频显示单元调整到规定的正常工作状态;分别将全白场信号和全黑场信号输入到显示屏, 并相应地测量显示屏中心点的亮度Lw和Lb;通断比C=Lw/Lb。式中:L棋盘格信号表示LED视频显示系统中心点的白场亮度;Lb表示LED视频显示系统中心点的黑场亮度。
视频显示 篇5
TI公司推出的DM6446芯片在视频处理领域被广泛的使用,其基于ARM+DSP双核架构,同时具备了通用处理器(GPP)和专用数字处理器(DSP)的功能[1]。它的视频处理子系统(VPSS)同时包含了视频采集的接口——视频处理前端(VPFE),以及视频显示的接口——视频处理后端(VPBE),这也是其能够在视频处理领域崭露头角的重要组成部分[2,3]。DM6446能够同时支持标准时序PAL/NSTC制式的数字和模拟视频输出,也支持非标准模拟VGA显示接口[4],但这些模式的视频输出的分辨率都较低,不适用于需要大分辨率显示的场合。
要让其支持高清显示,就必须通过编程配置,实现高清显示所需的时序控制信号。DM6446支持并行的24位RGB888视频数据输出,经过外部芯片编码转换后送给显示器显示。这里采用的编码芯片是TFP410,它接收并行的图像数据以及同步控制信号,经过编码转换后,按照DVI标准传输给显示器进行显示[5]。
文中第1部分介绍了高清数字视频接口设计的整体结构;第2部分介绍了TFP410的配置和使用方法;第3部分介绍了实现高清数字显示所需的VENC的参数配置方法,同时结合OSD窗口配置给出了实际的高清数字视频显示结果。
在目标板上,720P(1 280×720@60 Hz)、1 080P(1 920×1 080@60 Hz)以及WUXGA(1 920×1 200@60 Hz)分辨率的数字视频显示都能够稳定运行,说明这里提出的高清数字视频显示接口设计方案是正确、可行的,对基于DM6446高清数字视频显示应用具有重要参考意义。
1 高清数字视频显示接口整体结构
整个DVI高清数字视频显示接口的结构如图1所示,主要可分为DM6446的VPSS接口部分以及DVI驱动器TFP410接口两部分。
VPFE从外部采集到视频数据后存储于DDR2中的指定位置,VPBE中的在屏显示模块(OSD)也在DDR2中有对应的缓冲区,这些模块与DDR2之间的数据传输都有专门的读写逻辑控制,以保证数据的传输带宽满足系统要求。对于高清显示的支持,主要是对VPBE中的视频编码模块(VENC)的时序控制部分的正确配置,包括VENC时钟、OSD时钟和输出给TFP410的像素时钟,以及视频的行同步、场同步信号等,这些在后面会有具体介绍。
TFP410主要起到视频数据编码的作用,将前面由VENC输出的图像数据以及同步控制信号经编码后用差分串行的方式(T.M.D.S)传输给显示器,这可以保证数据在传输过程中的抗干扰能力。同时,TFP410包含有一个I2C接口,使得DSP可以通过它配置DVI驱动器的工作模式。在系统上电后,TFP410能够检测到显示器是否连接,这样DSP便可以通过检查相应的状态位来决定是否发送视频数据。
2 TFP410的工作模式配置
TFP410支持的最高像素时钟为165 MHz,能够满足高清数字视频显示的需求,其总共有两种配置方法:引脚直接配置法和I2C配置法。采用引脚直接配置的方法,上电后芯片可以直接工作在既定模式下,但是功能比较单一,工作模式不够灵活。采用I2C配置的方法,便可以根据需要调整芯片的工作模式,包括数据采集的时钟沿、数据位宽、数据采集延时等。通过读取TFP410中的相关状态寄存器,DSP端的应用程序还能够获得图像传输的相关信息,包括水平、垂直全局分辨率,以及显示器是否连接等。
TFP410的I2C可访问寄存器共有256个,其中绝大多数是保留使用的,在实际使用中,需要操作的寄存器更是少数。在这里,只需配置寄存器CTL_1_MODE、CTL_2_MODE、CTL_3_MODE即可,其他的都可以按照默认配置,一般情况下无需改变。设置CTL_1_MODE.PD#=1使芯片从节电模式恢复到普通模式;设置CTL_、使能行、场同步信号输入,设置CCTL_1_MODE.TDIS=0使能芯片T.M.D.S电路输出。CTL_2_MODE主要用于主机检测显示器状态,而CTL_3_MODE则主要负责数据采集过程中的时延控制。对TFP410的基本配置流程如图2所示。
在图2中,仅仅是列出了必须配置的寄存器,其余寄存器可以不用修改,一般不影响使用。配置CTL_1_MODE=0x37,使器件工作模式为:24位数据宽度、单端像素时钟(VCLK)输入、在VCLK上升沿采样输入数据。配置好TFP410后,DM6446只要按照高清数字视频的标准时序输出相应的图像数据和同步控制信息,就能够将OSD上的内容通过DVI接口显示到LCD显示器上。
3 VENC及OSD配置
3.1 VENC配置
当VENC工作在标准模式(Standard Mode)下时,只能够输出标准的PAL/NTSC同步时序,在此模式下输出的画面分辨率最大只有720×576,这在许多场合已经不能满足使用需求。其实VENC本身能够支持的画面分辨率远不止于此,只是若要输出大分辨率的画面,就必须自己编程产生视频同步控制时序,也即让VENC工作于非标准模式(Non-standard Mode)[6,7,8]。
VENC主要由3大块组成:模拟视频编码模块(数模转换DACs)、数字视频输出模块(数字LCD控制器)以及时序发生器()。其中,模拟视频编码模块只能工作于标准模式下,因此,在配置输出非标准模式下的数字画面时,应该禁用DAC。对于数字LCD控制器部分的编程,主要是设置输出图像数据的格式(并行24位RGB888)以及配置输出LCD_OE(数据输出使能)指示信号。而对时序发生器的编程配置,则是输出高分辨率数字画面的关键所在,整个VPSS的时钟分布控制结构如图3所示。
根据VESA DMT标准,显示1 080P画面所需像素时钟[9]为148.5 MHz。从图3可以看到,VPSS的时钟共有4个来源可以选择:其中MXI为芯片主要输入时钟,其频率仅有24 MHz,不能满足要求;PCLK是由外部输入的视频采集时钟,在这里也不适用;VPBECLK是专门的辅助时钟输入,而PLL2_divider1是内部倍频时钟,这两者经过配置都可以在高清数字视频显示接口设计中使用。在这里,主要是采用PLL2_divider1时钟。由PLL2提供给VPSS的时钟与输入时钟的关系如下所示[10]:
通过配置锁相环PLL2控制器的PLLM=21,DIVID-ER1=3,便可以得到148.5 MHz的像素时钟。通过寄存器VPBE_PCR.VENC_DIV位可以选择VENC_CLK是否为VPSS_CLK的一半,当VENC_DIV=1(需要VPSS_CLKCTL.DACCLKEN=1)时,输入时钟将被2分频,VENC_CLK变成74.25 MHz,这正好是显示720P画面所需的像素时钟。而且,148.5 MHz的像素时钟也能够同时支持WUXGA画面的显示。相同的时钟输入能够同时满足多种高清分辨率图像的显示要求,这就为不同显示分辨率间的切换提供了编程上的便利性。
输出给TFP410的像素时钟VCLK,以VENC_CLK为基准,可以通过时钟样式寄存器VENC_DCLKPTNn以及VENC_DCLKPTNn A(n=0~3)自定义自己的输出波形和周期,可配置的波形周期为64位。从图3中可以看到,整条VCLK输出链路还受内部使能位VCLKE、极性控制位、以及输出管脚三态控制的层层控制。要输出时钟,则必须正确配置所有的控制位。在这里,通过配置,使得输出时钟VCLK与内部VENC_CLK相等,时钟的流向如图3中的加粗黑实线所示。
经过DCLK的配置,已经能够得到显示720P,1 080P、WUXGA画面所需的74.25 MHz及148.5 MHz的像素时钟VCLK。VENC在VCLK的上升沿输出图像数据,不过由于实际传输的数据有些是用于视频消隐的,必须有相关信号来指示有效视频数据的范围,这就是视频同步时序信号。视频同步主要有行同步(HSYNC)和场同步(VSYNC),具体定义可以参见相关文档[3]。最后,依据VESA DMT标准和实测结果,得到的整个VENC相关寄存器配置情况如表1所示。
表1主要给了在只提供148.5 MHz像素时钟情况下,要实现720P,1 080P和WUXGA分辨率画面显示,VENC所必须配置的寄存器的值。按照表中的参数进行设置后,输出时钟VCLK、编码时钟VENC_CLK以及窗口时钟OSD_CLK三者相等。VPBE_PCR可用于配置时钟频率在74.25 MHz和148.5 MHz之间切换,以满足在720P和1 080P(或WUXGA)显示分辨率下系统对编码时钟的需求。
3.2 OSD配置
经过VENC的配置,系统已经支持高清数字视频的输出,由于VENC编码数据来自于OSD模块,所以要输出有效数据,还必须对OSD模块进行配置。DM6446的OSD模块共支持两个视频窗口VIDWIN0/1和两个位图窗口OSDWIN0/1,还有透明矩形光标窗口(Regular Cursor)。其中,视频窗口VIDWIN0作为所有窗口的画布窗口,其他所有窗口的显示范围都必须在此窗口内,而且在显示其他窗口之前也必须使能VIDWIN0。所有的OSD窗口都有独立的使能控制位,当所有的窗口都不使能时,VENC将只显示OSD中由寄存器MODE.BCLUT、MODE.CABG指定的背景色。
OSD窗口位置的确定与VENC中的同步时序有关。所有窗口的基准位置为(BASEX,BASEY),同时利用(xxx_XP,xxx_YP)来确定相对位置。一般的,设置BASEX=HSTART,BASEY=VSTART,这样,窗口的基准点便与显示器的左上角零点对齐。由于VIDWIN0是所有窗口的画布窗口,因此在实际使用中使该窗口的大小与VENC中指定的显示分辨率相等,从而使VIDWIN0完全覆盖整个显示器屏幕。
视频窗口和位图窗口在DDR2 SDRAM中都有对应的缓冲区用于保存窗口中的像素数据,缓冲区的起始位置由xxx_ADR指定,窗口数据行偏移量由xxx_OFST指定。起始位置寄存器xxx_ADR的值是可以动态改变的,并且改变后的值只有在下一帧同步信号(VSYNC)到来时才起作用,这样我们便可以在内存中开辟多个窗口缓冲区,以增加窗口的显示效率。这里配置OSD窗口主要是为VENC提供显示数据,其他有关OSD模块的配置可以参考其说明文档[3],这里不赘述。
3.3 实际显示效果
在实际显示OSD窗口的过程中,要保证VIDWIN0的分辨率不超过VENC中显示的有效分辨率(HVALID x VVALID),而其他所有OSD窗口的范围都不能超出VIDWIN0,否则将会导致画面显示不正常。虽然VENC输出分辨率已经能够达到1 080P和WUXGA,但在这个高清分辨率显示下,只有VIDWIN0能够用于视频显示,其他窗口必须保持关闭状态,这主要受制于OSD模块的传输带宽。而在VENC配置为720P分辨率的情况下,能够稳定实现多个窗口同时显示,如图4所示。
在这里,VIDWIN0、VIDWIN1、OSDWIN0的大小分别为1 280×720,800×600和640×480,像素格式分别为3字节RGB888、2字节的YUV422和2字节的RGB565。此时显示器显示的行同步信号频率为45.2 k Hz,帧同步频率为60.2 Hz,分辨率为1 280×720,说明高清数字视频显示接口工作正常,能够稳定实现在高分辨率下的多窗口同时在屏显示。
4 结语
利用DM6446的数字视频输出接口,搭配DVI驱动芯片TFP410,通过对芯片内部时钟以及视频编码模块(VENC)时序发生器的正确配置,实现了电路结构简单、配置灵活的高清数字视频显示接口。在目标板上,这里提出的高清数字视频显示接口方案能够稳定显示720P、1 080P及WUXGA分辨率的画面,说明该方案易用、可行,具有实用性,对于扩展基于DM6446的数字视频显示接口具有重要参考意义。
参考文献
[1]Texas Instruments.TMS320DM6446 digital media system on chip[R].USA:Texas Instruments,2010.
[2]Texas Instruments.TMS320DM644x DMSoc video processingfront end(VPFE)user’s guide[R].USA:Texas Instruments,2010.
[3]Texas Instruments.TMS320DM644x DMSoc video processingback end(VPBE)user’s guide[R].USA:Texas Instruments,2011.
[4]周永录,姚寒冰,代红兵,等.一种基于DaVinci DM6446的非标准VGA接口设计与实现[J].计算机应用研究,2008,25(12):3841 38-43.
[5]Texas Instruments.TI PanelBus digital transmitter[R].USA:Texas Instruments,2011.
[6]王艳艳,郅晨,张俊业.基于TMS320DM6446的数字视频输出显示技术的设计与实现[J].计算机工程与设计,2009,30(4):811-815.
[7]张彦龙.基于DM6446的立体图像显示系统和视频捕捉系统的设计与实现[D].天津:天津大学,2007.
[8]GONZALES Juan,FRAGER Neal,LINK Ryan.Digital videousing DaVinci SoC[R].USA:Texas Instruments,2007.
[9]VESA.Proposed VESA and industry standards and guidelinesfor computer display monitor timing(DMT)[S].[S.l.]:VESA,2008.
视频显示 篇6
选择2012-03~2013-01本院诊治的视频显示终端 (VDT) 视疲劳患者80例, 其中男性46例, 女性34例, 平均年龄 (33.6±10.2) 岁。纳入标准:①符合VDT的诊断标准[1];②年龄大于18周岁;排除眼部实质性疾病以及内科疾病、先天性疾病、颈椎病及其他眼病 (屈光不正除外) , 屈光不正者均已得到正确矫正。
2治疗方法
自拟中药熏洗方:熟地20g、当归20g、白芍20g、川芎20g、枸杞20g、葛根10g、柴胡10g、薄荷10g, 浸泡1小时后煎成浓液, 取10mL, 温度在40℃左右, 患者轻轻闭眼, 以喷雾器口对准眼部, 距离10cm, 2次/天熏洗。10天为1个疗程。观察指标:采用调查问卷对患者治疗前后进行自觉症状调查, 参照文献[2]将眼痛、眼干、眼胀、眼痒、视物模糊、重影、异物感、畏光、流泪9项症状按严重程度分别评为0、1、2、3、4分, 评价治疗前后的总积分。
3 结果
3.1疗效标准
显效:用药后上述症状消失或缓解≥7项。有效:用药后上述症状消失或缓解4~6项。无效:用药后上述症状消失或缓解≤3项。
3.2治疗结果
80例患者 (120眼) , 显效为84眼, 有效为30眼, 无效为6眼, 总有效率为95%。
3.3治疗前后临床症状评分比较
治疗前后总积分分别为 (2.21±1.10) 分和 (1.39±0.67) 分, 治疗后评分明显低于治疗前 (t检验;P<0.05) 。
4体会
祖国医学对视疲劳的认识, 可以追溯到唐朝。《千金要方》有“肝劳”病名的记载。明代《医学入门》谓:“读书过度而 (目) 痛者, 名曰肝劳, 但须闭目调护”。熟地、当归、白芍、川芎补血养肝, 肝血充足, 目得濡养;枸杞补肾养精, 精血足, 目得所养而干涩昏花自除;葛根解肌止痛, 所含大豆黄酮成分具有解痉作用;柴胡既为“解肌要药”, 且有疏畅气机之功;薄荷为外障眼病常用之品, 疏肝开郁、疏风止痒, 与柴胡、白芍共用可调畅气机、清头明目, 同时薄荷含丰富的挥发油, 外用能使血管收缩, 局部产生清凉舒适感, 还能麻痹神经末梢而止痒, 可以有效缓解视疲劳产生的眼痛、眼胀、眼痒症状。中药熏洗是中药药力和热力的有机结合, 药物在热力的作用下, 可使皮肤温度升高, 扩张局部毛细血管, 加速血液循环从而促进新陈代谢, 增加药物渗透能力, 从而促进患处皮肤对药物的吸收[2]。所以中药熏洗治疗VDT视疲劳的方法具有使用方便、安全的优点。本文结果表明, 中药熏洗治疗VDT视疲劳疗效好, 可明显缓解VDT视疲劳患者的临床症状和体征。值得进一步的前瞻性临床随机对照研究。
参考文献
[1]Matiukhin VV, Iampol'skaia EG, Shardakova EF, et al.Visual fatigue in video display terminal users in relation to the type ofdisplayed information.Gig Sanit, 2010, (2) :57.
视频显示 篇7
随着科学技术的高速发展以及信息量的急速膨胀,在大规模科学计算可视化、虚拟现实、计算机支持的协同工作、军事仿真、工程设计、遥感、指挥、会展行业和数字影院等诸多领域,人们对显示技术的要求也越来越高,具有多个输出画面的多通道计算机系统得到了广泛应用[1]。
为实现多通道计算机系统的信息显示,一种方法是将每个输出通道的画面连接至显示器或拼接单元,利用多个规整的显示单元进行多画面显示。由于显示器和拼接单元具有物理边框或者间隙,该方法的整体画面不够美观,难以应用于数字影院、虚拟现实等领域[1]。
另一种方法是利用多台投影仪,通过多投影画面的几何校正和颜色校正技术来生成大尺寸、高分辨率的无缝画面[1,2]。该方法可克服传统多显示器和多拼接单元系统的不足,伴随研究的深入已日益成熟。随着图形硬件的快速发展,目前一台普通PC可以安装多块高性能图形卡,每块图形卡至少支持一个输出通道。对于数字影院这类应用,可将上述PC的输出通道连接至投影仪,利用屏幕拷贝技术和多投影显示技术将视频画面无缝显示在大屏幕上[3]。该技术首先利用PC进行视频播放,通过帧缓存拷贝的方式将播放的视频内容捕获至内存;然后,对捕获的画面进行几何校正和颜色校正;最后,将校正后的画面通过多台投影仪投射到屏幕,生成大尺寸无缝画面。
帧缓存拷贝[3]和多投影校正过程[2]需占用较多系统资源,将上述方法应用于计算密集的多通道应用系统,如科学可视化、虚拟现实等,将对系统性能造成较大影响。将多投影显示系统与多通道画面生成系统分离来避免显示系统对画面生成系统的影响。目前,主流视频采集卡可实现高清分辨率信号的实时采集,对于XGA分辨率(1024×768像素)信号,采集速率可以达到60fps。可利用这类设备将多通道系统的所有输出画面同步采集至一台视频采集服务器,由视频服务器负责采集画面的几何校正和颜色校正。
实际工程中,多通道应用系统与视频服务器通常距离较远,系统采用VGA线缆传输视频画面。由于VGA线缆只能传输模拟信号,图形卡输出端和视频采集卡输入端均需对信号进行数模转化,采集结果与原始信号存在差异,表现为采集图像与源图像存在色差。现有商用系统对捕获图像进行简单的亮度和色度调整,难以消除色差对最终画面的影响[4]。此外,随着DLP和LCD投影技术的快速发展,刻画投影仪光学特性的成像模型也发生了很大变化,从传统的参数化模型转变为非参数化模型[5,6]。现有多投影颜色校正工作主要面向参数化模型[2,7,8,9],对于非参数化模型仍没有很好的解决方法[6]。
针对已有工作的上述不足,本文给出一种基于视频捕获的多投影显示系统。该系统通过颜色稠密采样,利用查找表技术对采集的视频信号进行颜色校正来消除采集信号与原始信号的色差。以文献[9]为基础,针对投影仪的非参数化成像模型,给出描述多投影系统颜色校正的三阶段模型及其求解方法。此外,为处理工程实际中投影画面超越屏幕等复杂情形,设计了基于自由曲面变形的交互式网格编辑技术进行多投影系统的几何校正。
1系统体系结构
本系统将多投影显示系统与多通道画面生成系统分离来避免两者在性能方面的相互影响,图1(a)给出系统硬件结构示意图。多通道应用系统负责生成多路视频画面,视频采集服务器使用多块PCI-X/PCI-E接口的视频采集卡对多通道系统的所有输出画面进行同步采集。视频服务器连接多台投影仪,将处理后的最终图像显示在屏幕表面。
图1(b)给出视频服务器运行的软件模块结构图,重复执行下述四个步骤,多通道应用系统实时输出的高分辨率画面即可无缝显示在屏幕表面。Step1:利用多线程技术对所有通道画面进行同步采集;Step2:对采集的画面执行颜色校正去除捕获画面与原始输入信号之间的色差(见2.1节);Step3:将某时刻所有通道经过颜色校正后的画面拼接为一幅高分辨率图像;Step4:对拼接的高分辨率图像执行几何校正(见2.2节)和颜色校正(见2.3节),校正后的画面通过多台投影仪无缝显示在屏幕上。
2系统关键技术
2.1视频捕获画面的颜色校正
对于VGA模拟信号,视频捕获卡的采集图像与原始图像存在差异。对于视频采集卡输入的某原始颜色Cin(r,g,b),采集获得的颜色为Cout(r,g,b)。大量实验表明,对于给定视频采集卡,Cout(r,g,b)与Cin(r,g,b)密切相关,与Cin(r,g,b)在原始图像中的位置关系极小,因此,视频采集画面每个像素位置的信号处理特性函数S(r,g,b)的差异可忽略不计。对于某块视频采集卡,采用唯一信号处理函数S(r,g,b)来描述。由于信号处理过程非常复杂,寻找S(r,g,b)的解析表达式非常困难,构建颜色查找表(LUT)来描述该函数是一个切实可行方法。该查找表以采集颜色Cout(r,g,b)为索引,通过三维查找方式获得Cin(r,g,b)。
查找表构建时,每幅测试画面布满M×N个色块,每个色块的颜色代表一种原始颜色。若对R8G8B8颜色空间内224(16M)种颜色均采用色块图像来构建查找表项需要极大工作量,最终生成的查找表也将占用大量存储空间。
实际中,图形应用程序和图像处理程序经常使用R5G6B5格式代替R8G8B8来表示图像数据,且损失的视觉信息极小[10]。该格式相当于对R8G8B8格式的RGB三个通道分别取32,64,32个采样点,采样点的值为原8bits格式分别取R通道的高位前5bits,G通道高位前6bits和B通道的高位前5bits构成的颜色值。使用R5G6B5格式需要进行216(65536)种颜色值采样,可以极大减少采样的工作量。通过对捕获数据进行分析发现,多个原始颜色可能对应同一个采集颜色,捕获颜色和采样的原始颜色之间的映射为一对多。若某捕获颜色存在多个采样颜色与之对应,选取采样颜色中与捕获颜色在CIELuv空间中距离最短的颜色来构建查找表项。
为构建R8G8B8空间的整张查找表,需要对上述通过采样获得的查找表项进行插值。捕获的所有颜色在RGB空间为离散点集合,采用四面体网格重建技术来描述捕获颜色与原始颜色之间对应关系。四面体的顶点坐标为捕获颜色的RGB三个通道颜色值,顶点处的数值为采样的原始颜色值。四面体网格构建完成后,对于任意捕获颜色值,均可在四面体网格内通过直接查找或插值求解其所对应的原始输入颜色。颜色插值在CIELuv空间中进行,然后将插值结果变换到RGB空间。
对于R8G8B8中的所有颜色作为捕获颜色,在四面体网格中计算它们所对应的原始颜色来构建查找表,该查找表采用3D体纹理来存储。颜色校正程序加载体纹理,通过GPU像素着色器程序来实现颜色的查找和插值[10]。该方法充分利用主流显卡的高性能计算能力,视频捕获画面的颜色校正达到实时性能。
综上所述,R8G8B8查找表构建以及捕获过程中颜色的实时校正过程如下:
对于捕获图像I中位置(i,j)的像素颜色C,计算它所对应的体纹理V中的坐标Tc;
对于Tc,对体纹理V进行最近邻查找得到颜色Cv ;
将Cv 作为输出结果写入绘制目标的像素位置(i,j);
}
2.2多投影几何校正
工程实践中,由于物理空间和投影设备的限制,多台投影仪的摆放难以做到完全对齐,投影仪的部分画面经常投射到屏幕之外。目前,基于相机的几何校正方法利用相机捕获每个投影仪的特征画面,通过特征检测方法计算投影画面与屏幕之间的对应关系[2]。投影画面在屏幕上的缺失使上述基于相机的校正方法难以准确检测特征点,几何校正结果带来误差。
为克服基于相机的几何校正方法的不足,设计基于全局网格的交互式几何校正技术。该技术将待显示画面看作纹理,几何校正可看作将纹理映射到屏幕表面。该映射关系通过一个全局网格来描述,该网格的顶点坐标给出待显示图像在屏幕的全局纹理空间的坐标。全局网格的构建过程比较简单,将多投影系统中每台投影仪作为光源来投射一M×N的规整网格,然后对每台投影仪投射的规整网格顶点坐标通过编辑工具进行交互式修改。网格编辑工具将三维空间中自由曲面变形技术(FFD)降低到二维空间,利用2D平面内的FFD算法对网格顶点进行整体编辑。此外,该工具还支持对网格顶点直接进行编辑,从而精确控制网格点在显示屏幕表面的坐标。
当投影画面之间重叠区域的网格对齐且整个网格在屏幕上分布比较均匀时,交互式编辑即可告一段落。通过多次编辑可获得在显示屏幕表面呈现均匀分布的全局网格。图2给出三台投影仪组建的多投影系统,经过网格编辑后在柱状屏幕获得的一个全局网格。对于每台投影仪,根据其变形网格在全局网格中的坐标信息对待显示图像进行分割。将分割获得的图像块作为变形网格的纹理内容,经过投影仪光学通路后,投影幕上即可获得所有网格共同绘制的显示图像,从而得到多台投影仪的几何校正结果。
综上所述,基于网格变形的交互式几何校正过程如下:
2.3多投影颜色校正
多投影系统中,投影仪投射画面之间存在重叠区域,重叠区域的画面亮度比其它部分要高,必须对重叠区域的亮度进行处理以保证最终画面亮度均匀[2,3,6,7,8,9]。此外,组成多投影系统的投影仪之间色度也存在差别,必须对投影仪进行颜色校正来生成色调连续一致的画面[6,9]。现有绝大部分多投影颜色校正算法利用相机来获取投影仪的参数化成像模型,通过简单的亮度衰减[2,3,7,8]或者计算多个投影仪的公共色域进行颜色校正[5,6,9]。
若投影仪的成像模型无法用参数化模型来描述,多投影系统的颜色校正问题仍没有很好的解决方法[6]。以文献[9]为基础,针对投影仪的非参数化成像模型,给出多投影系统的颜色校正的三阶段模型及求解方法。
2.3.1 单投影仪非参数化模型
投影仪成像过程可看作将输入像素的颜色从RGB空间变换到与设备无关的CIEXYZ颜色空间的转换[5,6],整个过程可用一个颜色转换函数F来描述:
F:R3→R3,(X,Y,Z)=F(r,g,b) (1)
投影仪可以显示的色域,即其所能显示颜色的集合,定义为:
G(F)={F(r,g,b)|r,g,b∈[0,255]}
对于普通的CRT和LCD投影仪,F可以用参数化模型来描述,它的色域在CIEXYZ空间中为平行六面体形状[5]。对于这类投影仪,求解投影仪成像模型参数可使用现有方法来处理[3,6,7,9]。对于DLP投影仪等非参数模型投影仪,可利用光学仪器的实际测量值,用CIEXYZ空间的离散点集合来表示该模型[6]。离散点集表示方法虽具有一般性,但未利用DLP投影仪等非参数化模型对大部分输入颜色的输出值与LCD模型相似这一特性。令FLuv(r,g,b)为F在CIELuv空间的对应部分。本文将FLuv分解为参数化TLuv和残差R两个部分,即:
FLuv(r,g,b)=TLuv(r,g,b)+R(r,g,b) (2)
令TLuv(r,g,b)在CIEXYZ空间对应函数为T,对于任意给定像素C(r,g,b),该模型将像素颜色分别应用于T和R,然后将T和R两部分的结果在CIELuv颜色空间中相加,最后转化到CIEXYZ颜色空间来求取最终的颜色输出(如图3所示)。
投影仪的成像参数化模型T为:
T=IM+TK (3)
其中,M为投影仪的颜色混合矩阵,TK为投影仪的黑色漏光,I=ITFs(C)=(ITFR(r),ITFG(g),ITFB(b)),为像素颜色通过亮度响应函数(ITFs)后的亮度,其具体计算方法见文献[3,7,9]。
残差部分R(r,g,b)采用查找表(LUT)来描述。对于给定的像素C(r,g,b),它通过投影仪光路后在CIELuv测得值为FLuv(r,g,b),R(r,g,b)=FLuv(r,g,b)-TLuv(r,g,b)。为减少构建R(r,g,b)所需时间,首先对R8G8B8颜色空间进行采样,在CIEXYZ空间构建R(r,g,b)的一个离散点集。然后,利用四面体网格重建技术,通过查询和四面体顶点插值来构建非采样点所对应的残差值。
2.3.2 多投影仪归一化模型
采用非参数化成像模型,投影机的色域为CIEXYZ空间点集所构成的四面体网格的外表面所包围的区域。设Gi=G(Fi)表示第i台投影仪的色域,公共色域GC由所有投影仪色域空间求交运算获得[5,6,9],即GC=G1∩G2∩…∩Gn。
采用颜色转换函数FC来描述GC的成像规律。为简化处理,采用成熟的参数化模型TC=IMC+TK,C来构建FC,选定GC内接体积最大的平行六面体作为FC的值域。TC所对应的颜色混合矩阵MC和黑色漏光TK,C可根据FC值域计算,其亮度响应函数的形式可自行定义,通常为二次函数[8,9]。
2.3.3 多投影系统成像模型
获得归一化模型后,多投影系统的成像模型可以表示为:
Tdw=IMdw+TK,dw (4)
该模型相关参数的选择详见作者已有工作[9]。令显示屏幕位置Si,j处像素颜色为C(r,g,b),投影仪Pi对该位置像素的贡献Fi(r′,g′,b′),则有:
Fi(r′,g′,b′)=ωi(Fdw(r,g,b)-Tk,dw)+λiTk,c (5)
若Pi投影画面未投射到Si,j时,ωi=λi=0。否则,λi=1,ωi取值为亮度衰减因子,ωi∈[0,1]。
颜色校正过程中,对于投影仪Pi及(r,g,b,ωi)四元组,须实时求解出相应的Ci(r′,g′,b′)。一个快捷方法将ω量化为256等级,建立以(r,g,b,ω)为索引的查找表。查找表建立过程中,对Fi(r,g,b)进行求逆,即重新构造四面体网格,网格顶点坐标为CIEXYZ空间的值,顶点处的数值为对应的C(r,g,b),颜色插值在CIELuv空间进行。每个投影仪的查找表通过多个3D体纹理来表示,将颜色转化到R5G6B5格式可极大减少查找表的存储空间,使查找表可全部载入图像卡的显存,通过像素着色器使程序快速执行查找任务[10]。综上所述,多投影校正过程如下:
3实验结果
在复旦大学软件学院会议室搭建了一套原型系统。一台具有三个图形输出通道的工作站运行多通道应用程序,输出画面的总分辨率为3072×768像素,投影设备使用三台Epson EMP-8300投影机。视频服务器安装Intel Core2 Q9400 CPU,NVIDIA Geforce GTX260图形显卡和多块Datapath VisionRGB-X视频捕获卡。该服务器利用视频卡来同步捕获图形工作站输出的三通道画面,对每个通道的捕获画面进行颜色校正后,对整幅画面执行几何校正和颜色校正,校正后的结果画面通过三台投影仪无缝显示在柱面屏幕上。
现有硬件配置下,主机只运行捕获线程,三通道视频捕获速度可达60fps。由于利用GPU的强大处理能力进行投影画面的颜色校正,颜色校正速度可达到视频捕获速度。加入几何校正和颜色校正模块后,系统处理速度为50fps左右,仍可满足高清视频播放以及3D图形程序的实时交互需求。
几何校正方面,使用了稠密全局网格进行校正,每台投影机投射40×30网格。由于屏幕为较规则的柱面屏幕且每台投影仪投射的网格比较稠密,几何校正的误差主要由重合区域的全局网格点的误差所决定。系统支持逐点编辑,顶点之间几何误差小于1个像素,显示屏幕像素的几何校正误差理论最大值小于2个像素,实验表明绝大部分像素点误差小于1个像素。
通过下面几幅图来说明系统中颜色校正关键技术的有效性。图4为三通道工作站输出的原始图像。图5(a)-(c)为三块视频采集卡捕获图形工作站输出的VGA模拟信号后的三幅画面,每幅画面为图4画面的1/3内容。将图5(b)与图4相应部分进行对比,可发现视频采集卡捕获的模拟信号会引入颜色偏差。图6为利用本文方法对捕获图像进行颜色校正后的图像,每个通道校正后的颜色与原始输入图像非常接近。采集信号和颜色校正后信号与原始信号的PSNR值分别为28.26dB和29.57dB,说明颜色校正技术切实有效。
图7(a)为捕获的三幅图像拼接结果,图7(b)为校正后的三幅图像拼接结果。通过对比可以看出,颜色校正后的拼接画面色调连续,与原始输入图像差别非常小,而校正之前的画面色调不连续明显。图8为经过颜色校正的三幅图像的拼接结果,
经过多投影显示系统的几何校正和颜色校正后,在柱面屏幕表面生成的无缝高分辨率画面,该画面亮度和色调均匀连续。图9为采用本文的关键技术,宜兴市规划展示的一个案例。
目前高端主板支持至少7个PCIE8×插槽(可支持14路视频采集),本系统可满足投影仪数量中等规模(10个左右)的显示需求。相同品牌型号投影仪之间的色差较小,公共色域范围与原投影仪较接近,投影画面的动态范围损失小。若使用不同品牌和型号的投影仪,由于公共色域减少较多,投影画面损失较大,需要精心选择多投影显示模型的相关参数[9]。
4总结与展望
本文给出一种基于视频捕获的多投影显示系统。对于VGA模拟信号,通过四面体插值来构建颜色的稠密采样,利用查找表技术对输入视频信号进行颜色校正来消除采集信号与原始信号的色差。针对工程实际,设计了基于交互式网格编辑技术的多投影几何校正技术。针对投影仪的非参数化成像模型,给出多投影系统颜色校正的三阶段模型及其求解方法。实验结果表明,本文提出的多投影系统及其关键技术切实有效,已经在多个场所得到实际应用。未来工作将系统中的视频服务器采用FPGA硬件实现,以减小视频采集的延迟,从而提升系统性能并降低硬件成本。
参考文献
[1]Ni T,Schmidt G,Staadt O,et al.A survey of large high-resolution dis-play technologies,techniques,and applications[C]//Proceedings ofIEEE Virtual Reality,2006:223-236.
[2]Brown M,Majumder A,Yang R.Camera-based calibration techniquesfor seamless multiprojector displays[J].IEEE Transactions on Visual-ization and Computer Graphics,2005,11(2):193-206.
[3] Jiang Z,Mao Y,Qin B,et al.A high-resolution video display system by seamlessly tiling multiple projectors[C]//Proceedings of IEEE Int.Conf.on Multimedia and Expo,2007:2070-2073.
[4] Northstar nBox[OL].http://www.3d-perception.com.
[5] Stone M C.Color and brightness appearance issues in tiled displays[J].IEEE Computer Graphics and Applications,2001,21:58-66.
[6] Wallace G,Chen H,Li K.Color gamut matching for tiled display walls[C]//Proceedings of the workshop on Virtual environments,2003:293-302.
[7]Majumder A,Stevens R.Color nonuniformity in projection-based dis-plays:analysis and solutions[J].IEEE Transactions on Visualizationand Computer Graphics,2004,10(2):177-188.
[8] Majumder A,Stevens R.Perceptual Photometric Seamlessness in Tiled Projection Based Displays[J].ACM Transactions on Graphics,2005,24(1):118-139.
[9]Zhang L,Liang S,Qin B,et al.A three-phase approach to photometriccalibration for multi-projector display using LCD projectors[C]//Pro-ceedings of Asia conference on Computer Vision,2009.