`
kennyluo
  • 浏览: 81338 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

虚拟仿真系统研究之一硬件篇

阅读更多

多屏控制处理器双屏显示卡边缘融合视频叠加与大屏幕投影效果

 

最近我用两台投影机实现了的最大分辨率为2000×768的HDTV的方案,在这里把我的攻略写出来跟大家分享一下。4.7m*2m的环幕,支持2.35:1的电影播放。硬件成本大概是25000左右,不包含电脑。

 

C1.jpg
C2.jpg 

  硬件情况如下,NEC LT265+两台(15000不到),3000ansi,标准分辨率1024×768,标配是短焦镜头,好像是dlp的,用什么机器都没关系的。如果需要投1920×1080的片子可以选用那些标准分辨率为1280×1024的投影机,如果要高亮的也可以选更高亮度的机器。投影幕是定做的,普通的玻珠幕。幕和支架多少钱我不是太了解,反正也贵不到那里去。电脑是P4 3.0的,显卡是winfast的FX1300,内存好像是1G的。其他都没太大的关系。

  之所以配置这样的系统是因为我看老外的投影机至少都是10万上下的东西,太贵了。配置的时候有问题来了:

  先是多台投影机的边缘融合,两台投影机投影的时候由于物理的原因无法做到看不出拼接的缝隙,而花钱去买专业的边缘融合设备是非常贵的,所以就一直没有人来做这样的事情。那么不花钱,或者花少量的钱(几百,几k反正是不到5k)能解决么?回答是肯定的。。。。。

我用的两个投影机是借来试的,一台是全新的,一台是旧的,所以会有这样的问题。另外幕是有弧度的,所以相机的位置使照片看上去中间的部分有点暗。
C3.jpg 
 


我们先来看些图片,图中的内容是没有经过边缘融合处理的,简单的把两个画面做了些重合处理。很明显的看得到两台投影机重合的区域。

  边缘融合处理原理(图1)
C4.gif 
 

  边缘融合处理原理(图2)
C5.jpg 
 

   边缘融合处理原理(图3)
C6.jpg 
 

  我以前讲的那些边缘融合机就是将图像中间的那条亮边去掉的机器,那它是怎么做的呢?我们来看图1。

 所谓的融合技术就是让图像的边缘x轴方向产生一个线性的灰度变化,这样两台投影机在拼接的时候由于每台机器的边缘亮度都是渐变的,所以就不会让人眼有像上面那张图样的不自然的效果。我们来看图2。拼接完成后会是图3的效果。
C7.jpg 
 

  再来一个拼接好的画面,这张画面是细调图像的gamma之后的效果。
C8.jpg 
 

  单台普通的lcd或者dlp的投影机的标准分辨率是1024×768的,高分辨率的机器就很贵了,我的这个方案简单的说就是廉价的高分辨方案。考虑到边缘融合的象素损失,2台可以做到最大2000×768,2×2台的方式可以做到2000×1400,在大也可以,现有的方案最大支持到16台投影机(那就要买一些商用的软件,不过相比硬件的成本价格很便宜)。16台以上我没试过,所以不敢打包票。想想看16台投影机的拼接,5000×2000就不在话下了。

  好了,言归正传。先看我做的安装图。 

最简单的边缘融合就是用显卡来做。大家别奇怪,是的就是用显卡

记得我上面说的WINFAST Quadro FX1300么?就是它。其实从agp的时代就有少量的高端卡可以做边缘融合了,不过那时候的卡价位高的令人咋舌,所以大家没有机会碰到。现在进入了PCI-E的时代,支持边缘融合的卡也只有WINFAST FX3400以上的卡,价格都是在4000元以上的卡。没关系,其实从理论上讲,只要是双dvi输出的卡在两个通道间都可以带边缘融合的功能。而我又是。。。。

  所以我做了些小小的手脚。。。。。(嘘,别让NVIDIA知道。。。。),总之用我改过的驱动可以做到了。
C9.jpg 
 

  用显卡做的边缘融合,大家又没有注意到显卡的设制栏有一个Desktop Overlap & Edge Blending,后面是 Enable projected edge blending,那个就是讲到现在的边缘融合功能。进入之后你就可以选择你要的融合的象素数量和,平滑度,luma等等。我现在用的fx540,也可以做简单的融合,但经常会出错,标准配置应该是FX1300或以上。

  写了一个小程序,可以查屏幕尺寸,下载解包后直接运行。输入英寸,得到长宽等信息,支持4:3,16:9,16:10。

luma=255
C10.jpg 
 

  luma=128
C11.jpg 
 

  roll off=0
C12.jpg 
 

  在上面的设置中我设定了边缘融合的水平部分为256象素(horizontal: 256pixels),垂直部分为0像素(vertical:0 pixels)。图中的四个箭头代表了要做融合的四条边,如果是两台显示设备的话,那就会出现一个中间的方块代表两台显示设备的中间部分需要融合。下面的horizontal roll off :128 代表融合过渡的级别,luma很难用中文表示它的确切意思,大至上就是渐变的过程之类的一个级别。

  通过两张照片可以看出大至的区别。 

 

可以说luma值越大,渐变的过程越明显,luma值越小,渐变的过程越不明显,到luma为0的时候只有一小部分像素是渐变的,大部分都是黑的。

  而roll off则不同,在融合像素和luma值都固定的时候,roll off产生的是一个图像平滑过渡的处理,roll off的值越大,则过渡越明显,反之,当roll off的值为0的时候,就没有了任何边缘融合的处理。

  不知道这样的解释是否大家都能明白,如果不明白,可以随时提问,不过我这几天在做一个大屏幕的项目,可能不能马上回应,争取第二天一定回应。

  ATI X1300PRO本身驱程中没有那个边缘融合的功能,所以再研究也没有用,我们所能做的是把驱程中有边缘融合,是将被显卡厂商屏蔽掉的功能弄出来。而且我本人对ATI的卡没有特别的玩过,所以暂时对ATI的边缘融合功能没有任何办法。对“免费”的边缘融合来说,目前好像只有NV的卡。

  怎样把画面切成两半呢?其实我们不光要把屏幕切成两半,还要有重叠部分才能做拼接的。也就是我们要的画面是:左边的画面要在中线右边n个像素的地方切一刀,右边的画面在中线左边n个象素的地方切一刀。这样的画面才有边缘融合的位置,也就是重叠像素,然后处理重叠象素实现边缘融合。

  说来也简单:我们的显卡是双头显示的吧,把桌面扩展就可以了,这样windows的桌面就变成了2048×768了。那么如何来做重叠处理(overlap)呢?在前面的图片中,有一张是进入边缘融合菜单的图,就是那张。edge blending的操做上面有一个enable desktop overlap的选项,如果你有两个显示设备,你又是在桌面扩展模式的时候,就可以选中这个功能,并且任意设置你想要重叠的像素值了。

  讲到现在,你就可以轻松的在一块平面的屏幕上实现两通道的大屏幕显示了。记得7-8年前,投影技术的大佬barco说过他有技术来解决边缘融合的问题,当时的代价是:一条边=100万美金。技术的发展实在是太快了。
C13.jpg 
 

  再看图,因为有重叠的像素,所以最终的画面尺寸是一个比较奇怪的分辨率。这点大家都能够理解吧 

 

对于平面幕,可以是两台投影机平行放置。环形屏幕就不同了,两台投影机的摆放位置就有很大的讲究了,简单的讲就是镜头的面与对焦面平行,当然还有一些位置,距离的关系,可能要仔细算一下,就像我前面的图一样。

  我们要求的hdtv的分辨率只要两台投影机就可以大至搞定了,如果要超过两台投影机的大屏幕系统就需要多台电脑主机来同时完成了。一般我们看到的120度左右的环幕一般需要三台或者六台投影机来完成,那就必须要用专门的软件或硬件来完成。我们有一个支持2-8台pc来同步播放的软件,大家有兴趣的话我可以给大家试用版(这是我们的吃饭家活之一,所以没办法做到是free ware)。不过这些和家庭影院的标题完全没有关系了。

  边缘融合我想大家都没有问题了,那下面就该是几何校正了。

  平面幕和曲面幕是不一样的,我们在平时投影的时候是在一个平面上,没有问题。那如果成像面是一个曲面会是怎样的呢?以柱面投影为例,画面在垂直方向是没有变化的,而水平方向就不对了,投出去的水平线会变成一条曲线,而一条曲线会变成与幕边平行的一条直线,或曲率产生变化的曲线。而这些变化又是非线性的,很难用一个公式或函数来表现。上面的问题变成了一个数学问题了。

 


C14.jpg 
 

  平常我们在使用的幕一般都是大于60度的。我们看到上面的图了,平面幕的成影面是一个规则的矩形,而柱面幕的成影面是一个腰子形的两头大中间小的面。那么我们是不是把图像校成那样的形状就可以了呢?是的。但是我们不能损失图像的信息,我们要做的是把图像的每一个像素都要放到相对应的位置去。这的确是一个几何学的问题,就是平面上的一个点,求出变到曲面上的相应的点,两个面的面积一样,平面是柱面的延展面。(又是数学系的题目,太麻烦了。)

  那怎么解决上面的问题呢?

 

有两种方法来解决,硬件的和软件的。所谓软件的解决一种就是用算法来解算出相应的位置,编程解决(很麻烦,没有相应的函数)。还有就是我们用交互的方式来调节具体的位置,用人眼的判断来得出近似的结果,由于投影机的位置相对固定,你只要调节过一次后在不改变投影机位置的前提下就可以终身受用。具体就是把显卡输出的数据在输出前读取出来,进行算法或交互的处理,得到相应的数据模型,然后再将画面处理成相对于平面变形的图像数据,最后输出到投影机,这样我们看到的就是标准的经过校正的效果了。

  这样做的好处是可以调的相对准确,而且在程序中可以添加一些自己想要的其他效果,比较灵活。但是缺点也是很明显的,其中最难于让人接收的就是这样的解决是面向应用的。换而言之就是他只能用在放电影的单一用途。无法支持其他的应用,更不用说是操做桌面了。我们可以做3d游戏的几何校正,画面分割,可以做放电影的几何校正,等等等等。总之是每一个用途就要做一次校正。每次用完当前的应用后又要做其他应用的2次校准。

  当然在单一应用的领域,我们做软件的几何校正是完全可行的。这也是现在外面大部分所谓大屏幕系统集成商做的事(低成本的解决方案)。

  幕的问题,是这样的。幕就是普通的幕,那些做幕的厂家都可以定做。关键是如果是弧形的幕支架必须自己做。柱面幕的幕是平的,弧形的支架配合了之后就是柱面幕了。

  上次说了软件的解决办法,现在来说硬件的。有些所谓的硬件解决其实是通过一台带vga输入的机器来实现的。具体就是把需要几何校正的图像输出到单独的一台电脑上,这台电脑再把信号处理成一个变形的画面输出到投影机(其实这也是一种软件的方案)。这样就实现了我们所说的可以面向任何应用的几何校正。这样的做法的确是可以解决最根本的问题,但这样的产品价格相当昂贵,不是我们可以买得起的。所以也不在我们的讨论范围之内,我们要做的是all free的方案(当然除了你必须买的设备之外)。。。。。。

几何校正的all free的方案是什么呢?

我们从投影机上想办法,曲面投影的方案有许多投影机生产厂都在做这方面的工作,其中著名的是barco,sanyo的高端机器,可这些动不动就是1x万的机器还是和我们要讨论的all free 有点不相称,很偶然我看到了nec的曲面校正功能。nec的网站上有一个曲面校正的软件,支持它的几款从高端到低端的机型,试了一下还挺好用的。

 

  就这样,曲面校正的问题解决了。下面我又要贴图了。

  几何校正、边缘融合前的图像
D1.jpg 
 

  几何校正前的图像
D2.jpg 
 

  边缘、几何处理后的图像
D3.jpg 
 

最后我们来看下融合之后的投影效果。
D4.jpg 

D5.jpg
D5.jpg 
D6.jpg
D6.jpg 
D7.jpg
D7.jpg

分享到:
评论

相关推荐

    云计算平台服务资源均衡调度仿真研究.pdf

    云计算平台服务资源均衡调度是云计算资源管理的关键技术之一,其研究具有重要的理论和实践意义。在给定文件《云计算平台服务资源均衡调度仿真研究》中,作者张凯深入探讨了云计算平台服务资源的均衡调度仿真问题,...

    一篇关于云计算仿真器CloudSim论文的翻译稿

    - **QoS 保障**:在满足用户服务质量要求的同时,确保应用性能的多变性和可伸缩性是 CloudSim 解决的关键问题之一。 6. **使用 CloudSim 的研究** - HP 实验室等机构的研究人员使用 CloudSim 进行了云资源调度和...

    基于Proteus的处理器C 建模与仿真.pdf

    总结来说,这篇论文深入研究了如何使用C++和Proteus来创建处理器模型并进行仿真,强调了这种方法在芯片早期开发中的优势,即提前进行板级系统仿真和软硬件协同设计,从而提高设计效率和减少潜在问题。这对于嵌入式...

    基于单片机系统的电子钟设计与仿真大学毕设论文.doc

    本论文的创新之处在于利用Proteus的ISIS软件进行电子钟系统的虚拟仿真,这种方法可以提前暴露潜在的设计问题,提高设计效率,降低实物原型制作的成本。此外,通过这种方法,学生可以在没有实际硬件的情况下,对整个...

    云存储与虚拟化分论坛-从网格计算到云计算 金海6.pdf

    - **虚拟化仿真系统应用研究**(课题8):开发虚拟化仿真系统,并研究其在实际场景中的应用。 #### 四、桌面虚拟化技术实践 面向云的桌面虚拟化技术是云计算领域的一个重要方向,它能够根据用户的实际需求动态构建...

    交互式虚拟技术

    随着信息技术的快速发展,交互式虚拟技术(Interactive Virtual Technology, IVT)逐渐成为研究热点之一。2006年,来自英国诺丁汉大学的研究团队发表了一篇题为《面向未来工作的虚拟与交互环境》的文章,对这一领域...

    8051单片机彻底研究实习篇

    总的来说,8051单片机彻底研究实习篇将带你一步步走进8051的世界,从理论学习到实践操作,全面了解这个经典单片机的各个方面,为你的嵌入式系统设计之路打下坚实的基础。通过不断练习和实践,你将能够灵活地运用8051...

    虚拟现实技术实验报告.docx

    虚拟仿真校园 5. **虚拟现实技术在商业楼盘领域中的应用** - **摘要**:探讨虚拟现实技术在商业地产中的应用价值。 - **关键词**:虚拟现实技术;虚拟楼盘 #### 应用实例 - **网上世博会**:通过虚拟现实技术重现...

    基于Multisim数字频率计的设计与仿真

    本篇内容将深入探讨如何利用Multisim设计并仿真一个数字频率计,帮助读者掌握这一实用技术。 一、Multisim简介 Multisim是美国National Instruments公司开发的一款电路模拟软件,它提供了一个直观的图形化用户界面...

    基于VB proteus和虚拟串口的调试

    总的来说,基于VB proteus和虚拟串口的调试技术为开发者提供了一个强大的平台,可以快速原型验证、调试和优化嵌入式系统的设计,而无需依赖实际硬件。这种模拟和调试方法在教学、研究和开发过程中具有很高的实用价值...

    基于LabVIEW的控制系统分析与设计.doc

    基于LabVIEW的控制系统分析与设计是一篇关于虚拟仪器和控制系统设计的文章,讨论了LabVIEW平台上的控制系统设计和仿真。 LabVIEW是一款出色的虚拟仪器软件开发工具,具有卓越的人机界面、强大而易于实现的数据采集...

    温室温湿度智能测控系统的研究.pdf

    此外,上位机系统的设计也是本研究的亮点之一。上位机系统集成了控制、数据记录和显示功能,并且是通过虚拟仪器开发软件LABVIEW实现的。LABVIEW作为一种图形化编程语言,能够直观地进行控制策略的设计和数据的可视化...

    win32 汇编写的虚拟钢琴 多种音色 仿真实时按键 支持多键 汇编程序设计

    虚拟钢琴的核心功能之一是模拟多种音色。这需要对音频处理有深入的理解,包括声音的生成、滤波、混响等。在win32汇编中,可以使用波形合成技术来模拟不同的乐器音色,通过调整频率、振幅和波形形状,来创造出钢琴、...

    Matlab仿真在光伏发电技术实验教学中的应用.pdf

    Matlab仿真软件是目前科研和工程技术领域中不可或缺的工具之一。它不仅具备强大的科学计算能力,还能支持虚拟实验的开发,从而在教学过程中模拟实际操作,帮助学生更好地理解理论知识。利用Matlab可以轻松实现一些在...

    proteus仿真《数电实验》三人抢答器(三种方式)

    总之,Proteus仿真是数字电子实验的强大工具,它使我们能够在虚拟环境中设计、测试和优化电路,无需实际硬件,大大节省了时间和资源。三人抢答器的设计不仅锻炼了我们的逻辑思维能力,也加深了对数字电路的理解。...

    5152单片机proteus仿真和源码键控看门狗

    它集成了电路原理图设计、PCB设计及单片机开发等功能于一体,并且支持硬件电路和单片机软件协同仿真,是目前市场上最流行的单片机仿真软件之一。 #### 2.2 Proteus主要功能 - **电路设计**:提供丰富的元件库,用户...

    8051Proteus仿真c源码用DAC0808实现数字调压

    它由Intel公司于1980年推出,并迅速成为微控制器领域的标准之一。8051内核具有强大的功能,包括但不限于定时器/计数器、串行通信接口等。此外,许多制造商都基于8051架构开发了自己的增强型产品,进一步提升了性能。...

    虚拟机设计(模拟CPU 寄存器等)

    VMware是目前广泛应用的虚拟机平台之一,它通过高效地模拟硬件环境,使用户能够在一台物理电脑上运行多个独立的操作系统实例。 虚拟机的核心在于其虚拟化技术,这主要体现在对CPU的模拟。CPU是计算机的“大脑”,...

    浅谈虚拟现实技术.zip

    虚拟现实技术(Virtual Reality,简称VR)是一种模拟真实环境或创造全新体验的计算机技术,它通过结合硬件设备和软件应用,使用户能够沉浸在三维的数字世界中,与之互动,感受仿佛身临其境的体验。这篇“浅谈虚拟...

Global site tag (gtag.js) - Google Analytics