基于CUDA技術(shù)的視頻顯示系統(tǒng)的設(shè)計(jì)

2014-01-10 15:00 來源:電子信息網(wǎng) 作者:云際

近年來隨著大屏幕顯示技術(shù)在各領(lǐng)域應(yīng)用的逐步深入,市場(chǎng)已經(jīng)不滿足單一的影片展示,更多的轉(zhuǎn)向了對(duì)互動(dòng)性更強(qiáng)的計(jì)算機(jī)桌面環(huán)境的融合顯示上來。而目前市場(chǎng)上主流的桌面融合系統(tǒng),多采用分屏器等硬件輔助設(shè)備,成本高,性能差。

統(tǒng)一計(jì)算架構(gòu)(Compute Unified Device Architect-ure,CUDA)是英偉達(dá)(NVIDIA)公司近年來推出的通用并行計(jì)算架構(gòu),它以高性能顯卡GPU為硬件依托,采用 CPU+GPU的混合計(jì)算極大的提高了大規(guī)模的圖形數(shù)據(jù)實(shí)時(shí)處理效率。本文設(shè)計(jì)的視頻顯示系統(tǒng),采用CUDA開發(fā)方式實(shí)現(xiàn)了計(jì)算機(jī)桌面圖片的分割計(jì)算、貝塞爾曲線擬合、以及融合圖像計(jì)算等三方面處理。實(shí)時(shí)性高,畫面數(shù)據(jù)計(jì)算理論上精確值14像素,精度好。

系統(tǒng)框架設(shè)計(jì)

圖像處理的本質(zhì)是大規(guī)模矩陣運(yùn)算,特別適合并行處理。但CPU通用計(jì)算很難利用該特性。與此相反,GPU在并行數(shù)據(jù)運(yùn)算上具有強(qiáng)大的計(jì)算能力,特別適合作運(yùn)算符相同而運(yùn)算數(shù)據(jù)不同的運(yùn)算,當(dāng)執(zhí)行具有高運(yùn)算密度的多數(shù)據(jù)元素時(shí),內(nèi)存訪問的延遲可以被忽略。CUDA編程模型將CPU作為主機(jī) (Host),GPU作為協(xié)處理器(Coprocessor)或設(shè)備(Device),一個(gè)系統(tǒng)中可以存在多個(gè)設(shè)備。在這個(gè)模型中,CPU與GPU共同工作,CPU負(fù)責(zé)邏輯性強(qiáng)的事務(wù)處理和串行計(jì)算,GPU則專注于執(zhí)行高度線程化的并行處理任務(wù)。

本系統(tǒng)以NVIDIA GeForce GTX470搭建的計(jì)算平臺(tái)為運(yùn)行環(huán)境,利用顯卡的多頭輸出特性,連接多臺(tái)投影儀組成拼接屏幕陣列,不需要額外增加其他硬件設(shè)備。由于桌面融合顯示系統(tǒng)要處理的圖像數(shù)據(jù)大、實(shí)時(shí)性高的特點(diǎn),所以本系統(tǒng)的軟件設(shè)計(jì)上則廣泛使用了多CPU并行編程技術(shù)和CUDA并行計(jì)算技術(shù),針對(duì)每一個(gè)投影設(shè)備的圖像處理和顯示,系統(tǒng)會(huì)分配一個(gè)專門的線程來處理。該線程會(huì)對(duì)應(yīng)固定的CPU和固定的GPU計(jì)算核心,保證多投影設(shè)備完全并行處理,從而避免了其他系統(tǒng)由于顯示設(shè)備增多,處理數(shù)據(jù)變大而造成的性能下降。CUDA架構(gòu)如圖1所示。

1

本系統(tǒng)在設(shè)計(jì)中,首先設(shè)置定時(shí)器。定期采集控制屏幕圖像信息保存到公共存儲(chǔ)空間,然后針對(duì)外設(shè)顯示設(shè)備個(gè)數(shù)動(dòng)態(tài)的開啟數(shù)個(gè)線程完成圖像的數(shù)據(jù)分割、圖像的數(shù)據(jù)融合以及圖像的顯示等工作。其中在線程開啟初始就與固定的GPU計(jì)算核心相關(guān)聯(lián),并把數(shù)據(jù)圖形分割和融合部分采用CUDA技術(shù)進(jìn)行實(shí)現(xiàn),最后同樣采用定時(shí)器技術(shù)同步各個(gè)線程中圖像數(shù)據(jù)顯示工作。

常采用貝塞爾曲線擬合方法來完成圖像數(shù)據(jù)的融合。該方法的一般做法是先由控制點(diǎn)得出目標(biāo)圖像每行的貝塞爾曲線,組成二維貝塞爾曲面,再將目標(biāo)圖像數(shù)據(jù)采用貼紋理的方法擬合到貝塞爾曲線上從而實(shí)現(xiàn)圖像變形。Bezier曲線是一種用控制多邊形定義曲線和曲面的方法。它的擬合插值公式為:

式中:Pi為構(gòu)成該曲線的特征多邊形;Bi,n(t)是Bezier基函數(shù),是曲線上各點(diǎn)位置矢量的調(diào)和函數(shù)。Bezier曲線的始點(diǎn)、末點(diǎn)與其特征多邊形端點(diǎn)重合,且始點(diǎn)、末點(diǎn)的切線方向與特征多邊形的第一和最后一條邊一致。

該曲線具有凸包性、對(duì)稱性等特性。貝塞爾曲線的優(yōu)點(diǎn)是給定足夠的控制點(diǎn)后,它能夠擬合任意形狀的曲線。

Bezier曲線的擬合插值公式中,函數(shù)的次數(shù)是與特征多邊形的頂點(diǎn)數(shù)相應(yīng)的,當(dāng)特征多邊形頂點(diǎn)數(shù)為4時(shí),就構(gòu)成三次Bezier曲線。三次Bezier曲線的擬合插值公式為:

OPenGL技術(shù)提供了易于操作的貝塞爾曲線生成函數(shù)和貼圖函數(shù),但卻無法控制硬件運(yùn)算,效率不高。本系統(tǒng)出于對(duì)時(shí)效性的考慮在實(shí)現(xiàn)過程中并未采用該方法,而是采用CUDA技術(shù)并行矩陣運(yùn)算的方式來進(jìn)行紋理貼圖。根據(jù)CUDA程序的結(jié)構(gòu)特點(diǎn),本系統(tǒng)處理時(shí),首先根據(jù)人機(jī)交互部分得到的控制點(diǎn)信息采用通常方法生成目標(biāo)圖像每行的貝塞爾曲線。開辟顯存存入GPU,然后對(duì)應(yīng)CUDA程序結(jié)構(gòu),針對(duì)目標(biāo)圖像上的每一個(gè)像素點(diǎn),為其分配一個(gè)GPU thread來進(jìn)行處理。

觀察上面的計(jì)算公式發(fā)現(xiàn),當(dāng)獲得了初始控制點(diǎn)坐標(biāo)后,在得出每一條貝賽爾曲線上的點(diǎn)的過程中,彼此并不影響,具有多線程的粗粒度的特性,所以CUDA并行計(jì)算的時(shí)效性有很大的提高。

性能評(píng)估

在多媒體拼接系統(tǒng)中實(shí)時(shí)性是最基本、也是最重要的指標(biāo)。我們觀看到的大屏幕拼接動(dòng)態(tài)效果是由一幀一幀圖片快速顯示而產(chǎn)生的。根據(jù)正常的人眼視覺殘留水平系統(tǒng)要達(dá)到顯示流暢的畫面,1s要處理至少25張圖片,也就是說整個(gè)程序一次圖像處理流程不會(huì)超過40ms.下面本文將分析一下該系統(tǒng)的時(shí)效性。

由于圖像采集部分和處理部分采用的是異步方式,時(shí)間復(fù)用,而顯然處理部分的耗時(shí)又遠(yuǎn)遠(yuǎn)超過采集部分,所以只列出處理部分的時(shí)間消耗,又因?yàn)樵摬糠中手饕茱@卡GPU性能影響,所以之對(duì)比不同型號(hào)GPU的時(shí)間消耗情況。具體如表1所示。

2-2

由此我們看出采用GeForce8800GT顯卡可以基本上完成顯示功能,而采用GeForce GTX470則可以每秒鐘顯示35~40張圖片,是用戶完全感覺流暢的視頻體驗(yàn)。

結(jié)語

今年來大屏幕對(duì)計(jì)算機(jī)操作演示的需求越來越多,而高性能顯卡的發(fā)展又促使GPU計(jì)算逐漸成為大規(guī)模并行計(jì)算重要的解決途徑。本系統(tǒng)采用了CUDA技術(shù)實(shí)現(xiàn)了視頻拼接系統(tǒng),目前本系統(tǒng)采用兩個(gè)雙頭顯卡組成顯示功能模塊最多實(shí)現(xiàn)四屏拼接,如果需要更多屏幕拼接顯示時(shí)可以考慮使用網(wǎng)絡(luò)C-S結(jié)構(gòu)進(jìn)行擴(kuò)展。由于耗時(shí)的圖像處理部分完全有GPU進(jìn)行計(jì)算,屏幕越多需要計(jì)算的內(nèi)容也隨之增多,而同時(shí)系統(tǒng)顯卡數(shù)量也會(huì)增多,所以該系統(tǒng)不會(huì)隨著拼接屏幕增多而性能下降。由于系統(tǒng)總體采用并行技術(shù),所以將來可以方便地為系統(tǒng)加入時(shí)下流行的人機(jī)互動(dòng)模塊、真實(shí)感渲染模塊等部分,使之真正成為一款高性能多媒體展示系統(tǒng),給用戶一個(gè)全方位真實(shí)的體驗(yàn)。

cuda 視頻顯示

相關(guān)閱讀

暫無數(shù)據(jù)

一周熱門

  • 華為在Network X NGON 2024論壇上斬獲光傳送領(lǐng)域最佳創(chuàng)新應(yīng)用大獎(jiǎng)
    2024年10月10日 在法國巴黎舉行的Network X 2024(又稱Next-Generation Optica
  • OCTC發(fā)布
    日前,在"2024中國算力大會(huì)"上,中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)開放計(jì)算標(biāo)準(zhǔn)工作委員會(huì)(OCTC)正式發(fā)布《算力工廠建設(shè)指
  • AMI與三星合作,增強(qiáng)個(gè)人電腦的固件安全性
    全球計(jì)算動(dòng)態(tài)固件領(lǐng)域領(lǐng)導(dǎo)者AMI?與消費(fèi)技術(shù)領(lǐng)域的領(lǐng)導(dǎo)者三星電子(Samsung Electronics)合作,為三星的