多屏控制處理器雙屏顯示卡邊緣融合視頻疊加與大屏幕投影效果
最近我用兩臺投影機(jī)實(shí)現(xiàn)了的最大分辨率為2000×768的HDTV的方案,在這里把我的攻略寫出來跟大家分享一下。4.7m*2m的環(huán)幕,支持2.35:1的電影播放。硬件成本大概是25000左右,不包含電腦。
硬件情況如下,NEC LT265+兩臺(15000不到),3000ansi,標(biāo)準(zhǔn)分辨率1024×768,標(biāo)配是短焦鏡頭,好像是dlp的,用什么機(jī)器都沒關(guān)系的。如果需要投1920×1080的片子可以選用那些標(biāo)準(zhǔn)分辨率為1280×1024的投影機(jī),如果要高亮的也可以選更高亮度的機(jī)器。投影幕是定做的,普通的玻珠幕。幕和支架多少錢我不是太了解,反正也貴不到那里去。電腦是P4 3.0的,顯卡是winfast的FX1300,內(nèi)存好像是1G的。其他都沒太大的關(guān)系。
之所以配置這樣的系統(tǒng)是因?yàn)槲铱蠢贤獾耐队皺C(jī)至少都是10萬上下的東西,太貴了。配置的時(shí)候有問題來了:
先是多臺投影機(jī)的邊緣融合,兩臺投影機(jī)投影的時(shí)候由于物理的原因無法做到看不出拼接的縫隙,而花錢去買專業(yè)的邊緣融合設(shè)備是非常貴的,所以就一直沒有人來做這樣的事情。那么不花錢,或者花少量的錢(幾百,幾k反正是不到5k)能解決么?回答是肯定的。。。。。
我用的兩個(gè)投影機(jī)是借來試的,一臺是全新的,一臺是舊的,所以會有這樣的問題。另外幕是有弧度的,所以相機(jī)的位置使照片看上去中間的部分有點(diǎn)暗。
我們先來看些圖片,圖中的內(nèi)容是沒有經(jīng)過邊緣融合處理的,簡單的把兩個(gè)畫面做了些重合處理。很明顯的看得到兩臺投影機(jī)重合的區(qū)域。
邊緣融合處理原理(圖1)
邊緣融合處理原理(圖2)
邊緣融合處理原理(圖3)
我以前講的那些邊緣融合機(jī)就是將圖像中間的那條亮邊去掉的機(jī)器,那它是怎么做的呢?我們來看圖1。
所謂的融合技術(shù)就是讓圖像的邊緣x軸方向產(chǎn)生一個(gè)線性的灰度變化,這樣兩臺投影機(jī)在拼接的時(shí)候由于每臺機(jī)器的邊緣亮度都是漸變的,所以就不會讓人眼有像上面那張圖樣的不自然的效果。我們來看圖2。拼接完成后會是圖3的效果。
再來一個(gè)拼接好的畫面,這張畫面是細(xì)調(diào)圖像的gamma之后的效果。
單臺普通的lcd或者dlp的投影機(jī)的標(biāo)準(zhǔn)分辨率是1024×768的,高分辨率的機(jī)器就很貴了,我的這個(gè)方案簡單的說就是廉價(jià)的高分辨方案??紤]到邊緣融合的象素?fù)p失,2臺可以做到最大2000×768,2×2臺的方式可以做到2000×1400,在大也可以,現(xiàn)有的方案最大支持到16臺投影機(jī)(那就要買一些商用的軟件,不過相比硬件的成本價(jià)格很便宜)。16臺以上我沒試過,所以不敢打包票。想想看16臺投影機(jī)的拼接,5000×2000就不在話下了。
好了,言歸正傳。先看我做的安裝圖。
最簡單的邊緣融合就是用顯卡來做。大家別奇怪,是的就是用顯卡
記得我上面說的WINFAST Quadro FX1300么?就是它。其實(shí)從agp的時(shí)代就有少量的高端卡可以做邊緣融合了,不過那時(shí)候的卡價(jià)位高的令人咋舌,所以大家沒有機(jī)會碰到。現(xiàn)在進(jìn)入了PCI-E的時(shí)代,支持邊緣融合的卡也只有WINFAST FX3400以上的卡,價(jià)格都是在4000元以上的卡。沒關(guān)系,其實(shí)從理論上講,只要是雙dvi輸出的卡在兩個(gè)通道間都可以帶邊緣融合的功能。而我又是。。。。
所以我做了些小小的手腳。。。。。(噓,別讓NVIDIA知道。。。。),總之用我改過的驅(qū)動可以做到了。
用顯卡做的邊緣融合,大家又沒有注意到顯卡的設(shè)制欄有一個(gè)Desktop Overlap & Edge Blending,后面是 Enable projected edge blending,那個(gè)就是講到現(xiàn)在的邊緣融合功能。進(jìn)入之后你就可以選擇你要的融合的象素?cái)?shù)量和,平滑度,luma等等。我現(xiàn)在用的fx540,也可以做簡單的融合,但經(jīng)常會出錯(cuò),標(biāo)準(zhǔn)配置應(yīng)該是FX1300或以上。
寫了一個(gè)小程序,可以查屏幕尺寸,下載解包后直接運(yùn)行。輸入英寸,得到長寬等信息,支持4:3,16:9,16:10。 #p#page_title#e#
luma=255
luma=128
roll off=0
在上面的設(shè)置中我設(shè)定了邊緣融合的水平部分為256象素(horizontal: 256pixels),垂直部分為0像素(vertical:0 pixels)。圖中的四個(gè)箭頭代表了要做融合的四條邊,如果是兩臺顯示設(shè)備的話,那就會出現(xiàn)一個(gè)中間的方塊代表兩臺顯示設(shè)備的中間部分需要融合。下面的horizontal roll off :128 代表融合過渡的級別,luma很難用中文表示它的確切意思,大至上就是漸變的過程之類的一個(gè)級別。
通過兩張照片可以看出大至的區(qū)別。
可以說luma值越大,漸變的過程越明顯,luma值越小,漸變的過程越不明顯,到luma為0的時(shí)候只有一小部分像素是漸變的,大部分都是黑的。
而roll off則不同,在融合像素和luma值都固定的時(shí)候,roll off產(chǎn)生的是一個(gè)圖像平滑過渡的處理,roll off的值越大,則過渡越明顯,反之,當(dāng)roll off的值為0的時(shí)候,就沒有了任何邊緣融合的處理。
不知道這樣的解釋是否大家都能明白,如果不明白,可以隨時(shí)提問,不過我這幾天在做一個(gè)大屏幕的項(xiàng)目,可能不能馬上回應(yīng),爭取第二天一定回應(yīng)。
ATI X1300PRO本身驅(qū)程中沒有那個(gè)邊緣融合的功能,所以再研究也沒有用,我們所能做的是把驅(qū)程中有邊緣融合,是將被顯卡廠商屏蔽掉的功能弄出來。而且我本人對ATI的卡沒有特別的玩過,所以暫時(shí)對ATI的邊緣融合功能沒有任何辦法。對“免費(fèi)”的邊緣融合來說,目前好像只有NV的卡。
怎樣把畫面切成兩半呢?其實(shí)我們不光要把屏幕切成兩半,還要有重疊部分才能做拼接的。也就是我們要的畫面是:左邊的畫面要在中線右邊n個(gè)像素的地方切一刀,右邊的畫面在中線左邊n個(gè)象素的地方切一刀。這樣的畫面才有邊緣融合的位置,也就是重疊像素,然后處理重疊象素實(shí)現(xiàn)邊緣融合。
說來也簡單:我們的顯卡是雙頭顯示的吧,把桌面擴(kuò)展就可以了,這樣windows的桌面就變成了2048×768了。那么如何來做重疊處理(overlap)呢?在前面的圖片中,有一張是進(jìn)入邊緣融合菜單的圖,就是那張。edge blending的操做上面有一個(gè)enable desktop overlap的選項(xiàng),如果你有兩個(gè)顯示設(shè)備,你又是在桌面擴(kuò)展模式的時(shí)候,就可以選中這個(gè)功能,并且任意設(shè)置你想要重疊的像素值了。
講到現(xiàn)在,你就可以輕松的在一塊平面的屏幕上實(shí)現(xiàn)兩通道的大屏幕顯示了。記得7-8年前,投影技術(shù)的大佬barco說過他有技術(shù)來解決邊緣融合的問題,當(dāng)時(shí)的代價(jià)是:一條邊=100萬美金。技術(shù)的發(fā)展實(shí)在是太快了。
再看圖,因?yàn)橛兄丿B的像素,所以最終的畫面尺寸是一個(gè)比較奇怪的分辨率。這點(diǎn)大家都能夠理解吧
對于平面幕,可以是兩臺投影機(jī)平行放置。環(huán)形屏幕就不同了,兩臺投影機(jī)的擺放位置就有很大的講究了,簡單的講就是鏡頭的面與對焦面平行,當(dāng)然還有一些位置,距離的關(guān)系,可能要仔細(xì)算一下,就像我前面的圖一樣。
我們要求的hdtv的分辨率只要兩臺投影機(jī)就可以大至搞定了,如果要超過兩臺投影機(jī)的大屏幕系統(tǒng)就需要多臺電腦主機(jī)來同時(shí)完成了。一般我們看到的120度左右的環(huán)幕一般需要三臺或者六臺投影機(jī)來完成,那就必須要用專門的軟件或硬件來完成。我們有一個(gè)支持2-8臺pc來同步播放的軟件,大家有興趣的話我可以給大家試用版(這是我們的吃飯家活之一,所以沒辦法做到是free ware)。不過這些和家庭影院的標(biāo)題完全沒有關(guān)系了。
邊緣融合我想大家都沒有問題了,那下面就該是幾何校正了。
平面幕和曲面幕是不一樣的,我們在平時(shí)投影的時(shí)候是在一個(gè)平面上,沒有問題。那如果成像面是一個(gè)曲面會是怎樣的呢?以柱面投影為例,畫面在垂直方向是沒有變化的,而水平方向就不對了,投出去的水平線會變成一條曲線,而一條曲線會變成與幕邊平行的一條直線,或曲率產(chǎn)生變化的曲線。而這些變化又是非線性的,很難用一個(gè)公式或函數(shù)來表現(xiàn)。上面的問題變成了一個(gè)數(shù)學(xué)問題了。 #p#page_title#e#
平常我們在使用的幕一般都是大于60度的。我們看到上面的圖了,平面幕的成影面是一個(gè)規(guī)則的矩形,而柱面幕的成影面是一個(gè)腰子形的兩頭大中間小的面。那么我們是不是把圖像校成那樣的形狀就可以了呢?是的。但是我們不能損失圖像的信息,我們要做的是把圖像的每一個(gè)像素都要放到相對應(yīng)的位置去。這的確是一個(gè)幾何學(xué)的問題,就是平面上的一個(gè)點(diǎn),求出變到曲面上的相應(yīng)的點(diǎn),兩個(gè)面的面積一樣,平面是柱面的延展面。(又是數(shù)學(xué)系的題目,太麻煩了。)
那怎么解決上面的問題呢?
有兩種方法來解決,硬件的和軟件的。所謂軟件的解決一種就是用算法來解算出相應(yīng)的位置,編程解決(很麻煩,沒有相應(yīng)的函數(shù))。還有就是我們用交互的方式來調(diào)節(jié)具體的位置,用人眼的判斷來得出近似的結(jié)果,由于投影機(jī)的位置相對固定,你只要調(diào)節(jié)過一次后在不改變投影機(jī)位置的前提下就可以終身受用。具體就是把顯卡輸出的數(shù)據(jù)在輸出前讀取出來,進(jìn)行算法或交互的處理,得到相應(yīng)的數(shù)據(jù)模型,然后再將畫面處理成相對于平面變形的圖像數(shù)據(jù),最后輸出到投影機(jī),這樣我們看到的就是標(biāo)準(zhǔn)的經(jīng)過校正的效果了。
這樣做的好處是可以調(diào)的相對準(zhǔn)確,而且在程序中可以添加一些自己想要的其他效果,比較靈活。但是缺點(diǎn)也是很明顯的,其中最難于讓人接收的就是這樣的解決是面向應(yīng)用的。換而言之就是他只能用在放電影的單一用途。無法支持其他的應(yīng)用,更不用說是操做桌面了。我們可以做3d游戲的幾何校正,畫面分割,可以做放電影的幾何校正,等等等等。總之是每一個(gè)用途就要做一次校正。每次用完當(dāng)前的應(yīng)用后又要做其他應(yīng)用的2次校準(zhǔn)。
當(dāng)然在單一應(yīng)用的領(lǐng)域,我們做軟件的幾何校正是完全可行的。這也是現(xiàn)在外面大部分所謂大屏幕系統(tǒng)集成商做的事(低成本的解決方案)。
幕的問題,是這樣的。幕就是普通的幕,那些做幕的廠家都可以定做。關(guān)鍵是如果是弧形的幕支架必須自己做。柱面幕的幕是平的,弧形的支架配合了之后就是柱面幕了。
上次說了軟件的解決辦法,現(xiàn)在來說硬件的。有些所謂的硬件解決其實(shí)是通過一臺帶vga輸入的機(jī)器來實(shí)現(xiàn)的。具體就是把需要幾何校正的圖像輸出到單獨(dú)的一臺電腦上,這臺電腦再把信號處理成一個(gè)變形的畫面輸出到投影機(jī)(其實(shí)這也是一種軟件的方案)。這樣就實(shí)現(xiàn)了我們所說的可以面向任何應(yīng)用的幾何校正。這樣的做法的確是可以解決最根本的問題,但這樣的產(chǎn)品價(jià)格相當(dāng)昂貴,不是我們可以買得起的。所以也不在我們的討論范圍之內(nèi),我們要做的是all free的方案(當(dāng)然除了你必須買的設(shè)備之外)。。。。。。
幾何校正的all free的方案是什么呢?
我們從投影機(jī)上想辦法,曲面投影的方案有許多投影機(jī)生產(chǎn)廠都在做這方面的工作,其中著名的是barco,sanyo的高端機(jī)器,可這些動不動就是1x萬的機(jī)器還是和我們要討論的all free 有點(diǎn)不相稱,很偶然我看到了nec的曲面校正功能。nec的網(wǎng)站上有一個(gè)曲面校正的軟件,支持它的幾款從高端到低端的機(jī)型,試了一下還挺好用的。
就這樣,曲面校正的問題解決了。下面我又要貼圖了。
幾何校正、邊緣融合前的圖像
幾何校正前的圖像
邊緣、幾何處理后的圖像
最后我們來看下融合之后的投影效果。
D5.jpg
D6.jpg
D7.jpg