• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      DirectDraw技術(shù)在快視顯示系統(tǒng)中的應(yīng)用

      2010-06-13 11:59:52張華琳王士成
      無線電工程 2010年8期
      關(guān)鍵詞:圖面調(diào)色板內(nèi)存

      張華琳,高 升,馬 茜,王士成

      (1.河北遠東哈里斯通信有限公司,河北石家莊050081;2.中國電子科技集團公司第五十四研究所,河北石家莊050081)

      0 引言

      隨著航天及衛(wèi)星遙感器件技術(shù)的迅速發(fā)展,遙感衛(wèi)星在數(shù)字測繪、資源調(diào)查、災(zāi)害監(jiān)測、城市規(guī)劃、土地利用、環(huán)境保護和旅游導(dǎo)航等方面發(fā)揮著越來越重要的作用,其所形成的影像圖片分辨率以每10年一個數(shù)量級的比率提高。

      采用普通的圖像顯示技術(shù)已經(jīng)很難滿足衛(wèi)星寬幅圖像高速平滑顯示的需求,而微軟提供的DirectDraw技術(shù)可以很好地解決這方面問題。DirectDraw技術(shù)支持對顯示存儲器中位圖進行直接訪問,快速實現(xiàn)硬件的位塊轉(zhuǎn)移和緩存翻轉(zhuǎn),從而加速硬件和軟件圖形的實時顯示和處理。DirectDraw在提供這些功能的同時,仍與現(xiàn)在基于Windows環(huán)境的應(yīng)用程序和設(shè)備驅(qū)動程序保持兼容,并提供了一種設(shè)備無關(guān)的方法以獲得訪問特定的顯示設(shè)備高級的特性。

      1 軟件設(shè)計與實現(xiàn)

      利用DirectDraw技術(shù)實現(xiàn)衛(wèi)星圖像數(shù)據(jù)的快速顯示,需要創(chuàng)建2個進程,一個進程用于圖像數(shù)據(jù)的接收,并將數(shù)據(jù)存儲在本地硬盤以便進行回放顯示;另一個進程用于圖像的實時快速顯示。DirectDraw技術(shù)的層次結(jié)構(gòu)如圖1所示,軟件的輸入處理輸出(IPO)如圖2所示。

      圖1 DirectDraw的層次結(jié)構(gòu)

      圖2 軟件輸入處理輸出圖

      1.1 創(chuàng)建DirectDraw對象、設(shè)置協(xié)作級別

      在程序框架下創(chuàng)建DirectDraw對象,DirectDraw對象代表顯示適配器,是整個軟件的核心,DirectDraw對象創(chuàng)建成功之后才可創(chuàng)建圖面、調(diào)色板等其他相關(guān)對象。創(chuàng)建函數(shù)需要輸入視頻卡驅(qū)動的指針,如果調(diào)用成功則返回有效的對象接口,如果失敗則將提示硬件不支持、內(nèi)存溢出或參數(shù)無效等錯誤信息。

      設(shè)置軟件與操作系統(tǒng)的協(xié)作級別以實現(xiàn)軟件是以全屏方式還是以窗口模式來運行。在全屏模式下軟件可以直接操作視頻設(shè)備,整個屏幕表面完全分配給應(yīng)用程序。而在窗口模式下,程序不能獨占整個屏幕,顯示數(shù)據(jù)時需要與操作系統(tǒng)進行協(xié)作,并且不能改變顯示器分辨率和主圖面的調(diào)色板,也不支持翻面操作。由此可見,快視顯示程序在全屏模式下要比窗口模式運行快速得多。設(shè)置協(xié)作級別的函數(shù)需要輸入窗口句柄和控制參數(shù),返回調(diào)用成功信息或調(diào)用失敗時的錯誤代碼。

      1.2 設(shè)置程序顯示模式

      軟件的顯示模式用于硬件設(shè)置,以描述快視數(shù)據(jù)顯示時顯示器寬、高的像素數(shù)以及像素的位深度。

      顯示模式分為調(diào)色板式和非調(diào)色板式。對于調(diào)色板式顯示模式來說,每一個像素的顏色值以一個相關(guān)調(diào)色板的索引值來代表,而顯示模式的位深度決定了調(diào)色板中可容納的顏色數(shù)量。在非調(diào)色板模式下顯示的即是像素的真實顏色。只有在顯示模式位深度為8的情況下才有必要使用調(diào)色板模式,以此達到顯示彩色顏色的目的。DirectDraw支持1位、2位、4位和8位的調(diào)色板。使用調(diào)色板模式可以極大充分地節(jié)省顯存或內(nèi)存空間,但同時也有顯示非真實顏色的缺陷。

      使用函數(shù)列舉視頻卡所支持的全部顯示模式,根據(jù)所接收圖像的實際情況和需求設(shè)置視頻模式,如果僅是黑白圖像,則只需將色深設(shè)置為8位即可,以充分利用顯存空間,達到最平滑、最快速的目的。設(shè)置顯示模式需要輸入圖像顯示的寬、高、位深度及屏幕的刷新率。在后續(xù)創(chuàng)建的主圖面及離屏圖面必須符合顯示模式的尺寸和位深度。

      在快視圖像數(shù)據(jù)顯示完畢時,需要調(diào)用恢復(fù)顯示模式的方法將顯示器還原到原來的顯示模式,以備其他程序使用。

      1.3 創(chuàng)建顯示主圖面和離屏圖面

      主圖面直接對應(yīng)于被視頻卡光柵化的實際顯存(VRAM),它直接指向屏幕圖像,并且主圖面的存在形式必須與視頻的顯示模式相對應(yīng),即有相同的像素寬度、高度和位深度。

      創(chuàng)建主圖面的函數(shù)返回圖面指針,即與屏幕顯示直接對應(yīng)的顯存或是內(nèi)存區(qū)域。根據(jù)主圖面的指針,用函數(shù)鎖住圖面區(qū)域,直接訪問幀緩存或離屏圖面存儲區(qū)。在完成數(shù)據(jù)操作后,需要調(diào)用函數(shù)來解除鎖定的圖面。

      圖面中像素的行間距并非為固定的數(shù)值,在鎖定圖面區(qū)域前,需要調(diào)用函數(shù)獲取像素的行間距,否則一旦行間距因其他潛在因素被改變,圖像數(shù)據(jù)將顯示混亂。

      當(dāng)圖面對象內(nèi)存被破壞甚至被釋放時,可以調(diào)用恢復(fù)圖面的函數(shù)為圖面再次分配內(nèi)存,并需要重新寫入像素數(shù)據(jù)。

      為平滑實時地顯示快視圖像,可以采用雙緩沖或離屏圖面技術(shù)。

      雙緩沖,即在緩沖區(qū)中繪制圖像,在完成接收一行或幾行數(shù)據(jù)后,將數(shù)據(jù)拷貝到顯示主圖面進行顯示。為緩沖區(qū)建立2個指針,一個是讀取指針,一個是寫入指針。外部圖像數(shù)據(jù)通過寫入指針,保存到系統(tǒng)內(nèi)存中,需要顯示的圖像數(shù)據(jù)通過讀取指針從內(nèi)存中獲取。這2個指針要求不能相互超越,即先寫后讀。針對主頻在3.0 G以上,內(nèi)存不小于1 G當(dāng)前主流的計算機配置,此技術(shù)指標至少可以到達45 fps。雙緩沖技術(shù)流程如圖3所示。

      離屏圖面技術(shù)則充分利用了硬件加速功能,離屏圖面是一個相對獨立的圖面,不與任何對象產(chǎn)生隸屬關(guān)系,所以在創(chuàng)建時要聲明離屏圖面的大小。在默認情況下,軟件在顯存中創(chuàng)建離屏圖面,當(dāng)顯存容量不足時,DirectDraw將把離屏圖面置于系統(tǒng)內(nèi)存中。

      圖3 雙緩沖操作流程圖

      離屏圖面創(chuàng)建成功后,即可直接進行寫數(shù)據(jù)操作,然后利用圖面交換將離屏圖面中的圖像復(fù)制到主圖面,這種復(fù)制是利用硬件來實現(xiàn)的,沒有明顯的延遲,是雙緩沖技術(shù)遠不能及的。離屏圖面與主圖面交換實現(xiàn)過程如圖4所示。

      圖4 離屏圖面與主圖面交換實現(xiàn)示意圖

      1.4 實現(xiàn)圖像的條帶顯示

      單屏顯示器不能完整顯示幅寬過大的衛(wèi)星快視圖像,因此軟件采用全景顯示和條帶顯示2種方式。在全景顯示方式下,需要對圖像進行抽點;在條帶顯示方式下,根據(jù)圖像的整體寬度,決定圖像縱向條帶數(shù)量,對圖像進行分條帶顯示,可以根據(jù)需求,來選擇進行顯示的條帶號。

      進行抽點顯示無疑降低了圖像顯示的分辨率,失去了圖像高清顯示的目的,而條帶顯示又不能全景觀察。為了解決此問題,可以建立多顯示器系統(tǒng)。在多顯示器系統(tǒng)中如果設(shè)置了普通的協(xié)作級別,只有窗口完全在主設(shè)備的顯示區(qū)內(nèi)才能使用硬件加速,若一個窗口同時在2臺或多臺顯示器上,那么圖面硬件方式的拷貝只能以仿真方式運行,處理性能會明顯變慢。

      使用函數(shù)枚舉出系統(tǒng)中的所有顯示設(shè)備,并為每個設(shè)備創(chuàng)建單獨的DirectDraw對象,但與操作系統(tǒng)的協(xié)作級別只可設(shè)置一次,針對不同的DirectDraw對象分別設(shè)置主圖面、雙緩沖或離屏圖面。

      在圖像顯示過程中,對圖像進行放大、縮小、漫游、光學(xué)增強和抽點顯示等方面的操作,可以采用DirectInput技術(shù)實現(xiàn)。在圖像滾動顯示時可以采用暫停緩沖區(qū)復(fù)制或暫停離屏頁面操作來達到圖像凝視的效果。

      2 系統(tǒng)仿真與性能測試

      進行系統(tǒng)仿真與性能測試,需要建立快視數(shù)據(jù)發(fā)送系統(tǒng)、顯示系統(tǒng)并準備相關(guān)的快視圖像模擬數(shù)據(jù)。

      在實際應(yīng)用中,地面站可同時接收多顆衛(wèi)星下傳的快視圖像數(shù)據(jù),因此快視數(shù)據(jù)發(fā)送系統(tǒng)應(yīng)建立多個發(fā)送端。

      評價快視顯示系統(tǒng)的性能主要由快視圖像的接收速率和顯示速率來確定。

      (1)系統(tǒng)仿真

      快視數(shù)據(jù)發(fā)送系統(tǒng)由3臺處理器為1.7G,內(nèi)存為512M,顯存為64 M,并裝有可循環(huán)調(diào)速發(fā)送圖像數(shù)據(jù)模擬軟件的計算機組成。

      快視數(shù)據(jù)顯示系統(tǒng)為一臺處理器為3.0 G,內(nèi)存為1 G,顯存為256 M,裝有使用VC6.0開發(fā)的快視數(shù)據(jù)顯示軟件的計算機。

      快視圖像模擬數(shù)據(jù)包括像素數(shù)為2 048×4 000、4 096×4 000的8位及32位圖像。

      (2)性能測試

      在仿真環(huán)境下,發(fā)送端的3臺計算機同時向快視顯示系統(tǒng)循環(huán)發(fā)送快視數(shù)據(jù)。

      數(shù)據(jù)傳輸速率MT可用式(1)表示,數(shù)據(jù)顯示速率MD可用式(2)表示。在式(1)、式(2)中C是數(shù)據(jù)發(fā)送端發(fā)送圖像的循環(huán)次數(shù),n代表數(shù)據(jù)發(fā)送系統(tǒng)中計算機的數(shù)量,i是發(fā)送系統(tǒng)中計算機的編號,h是圖像數(shù)據(jù)的高度,w是圖像數(shù)據(jù)的寬度,b是圖像的位深,B是顯示模式的位深,T代表數(shù)據(jù)傳輸?shù)臅r間。

      當(dāng)i=1,即接收單顆衛(wèi)星的快視數(shù)據(jù),并且B=bi時 ,MT=MD。

      測試過程中,快視顯示系統(tǒng)(雙屏)的顯示模式設(shè)置為2048(寬)×1536(高)×32(位)。在480 s內(nèi),發(fā)送端第1臺計算機傳輸2048(寬)×4000(高)×8(位)的圖像42次;發(fā)送端第2臺計算機傳輸2048(寬)×4000(高)×32(位)的圖像38次;發(fā)送端第 3臺計算機傳輸4096(寬)×4000(高)×32(位)的圖像40次。根據(jù)公式計算出顯示端的顯示速率MD1、MD2、MD3分 別為22 Mbps,20Mbps,42 Mbps,傳 輸速率MT為69Mbps。此時系統(tǒng)能夠平滑顯示快視數(shù)據(jù),未出現(xiàn)圖像抖動、跳躍現(xiàn)象。

      在單通道數(shù)據(jù)傳輸情況下,發(fā)送端在390 s內(nèi)傳輸4096(寬)×4000(高)×32(位)圖像56次,接收端(雙屏)顯示模式為2048(寬)×1536(高)×32(位),經(jīng)計算得MD=MT=72Mbps,此時快視圖像仍能保持平滑顯示。

      3 結(jié)束語

      DirectDraw技術(shù)是以組件對象模型(COM)的方式來實現(xiàn)的,可直接訪問顯示存儲器,對圖像像素數(shù)據(jù)進行讀寫及修改操作,由于在程序中DirectDraw優(yōu)先在顯存中創(chuàng)建主圖面和離屏圖面,如果顯存容量不足,便會將圖面放置在內(nèi)存中,這會影響硬件加速性能的利用,因此為使快視顯示系統(tǒng)達到更好的顯示效果,運行此系統(tǒng)的計算機需要具有較大的顯存。

      與其他圖像顯示技術(shù)相比,DirectDraw技術(shù)在衛(wèi)星快視圖像數(shù)據(jù)顯示系統(tǒng)中已展現(xiàn)出其優(yōu)越的性能,同時可應(yīng)用于無人機、飛艇遙感圖像的接收與顯示系統(tǒng)中。

      [1]武永康.DirectDraw原理與API參考[M].北京:清華大學(xué)出版社,2000.

      [2]LAMOTHE A.Tricks of The Windows Game Programming[M].北京:中國電力出版社,2004.

      [3]甘 泉.PC游戲編程(DirectX 8)[M].北京:清華大學(xué)出版社,2003.

      [4]DUNLOP R.DirectX 7速成教程[M].北京:機械工業(yè)出版社,2002.

      [5]柳青松.基于DirectDraw的計算機圖像顯示[J].火控雷達技術(shù),2004,32(3):76-78.

      猜你喜歡
      圖面調(diào)色板內(nèi)存
      大自然的調(diào)色板——張掖七彩丹霞
      中老年保健(2022年3期)2022-08-24 03:00:46
      Film review:WALL·E
      大地調(diào)色板
      時代郵刊(2020年3期)2020-02-27 09:17:16
      “春夏秋冬”的內(nèi)存
      帶狀地形圖斷面數(shù)據(jù)采集的程序化實現(xiàn)
      基于生產(chǎn)實踐若干需求完善大比例尺地形圖圖面表達方式的探討
      專題地圖圖面要素自動配置方法的研究
      測繪工程(2017年10期)2017-08-31 14:32:01
      調(diào)色板
      基于內(nèi)存的地理信息訪問技術(shù)
      數(shù)字化內(nèi)業(yè)制圖中等高線若干問題的處理
      西乡县| 双辽市| 泽库县| 中西区| 缙云县| 陇川县| 仙居县| 温宿县| 珲春市| 澎湖县| 吉安市| 卢氏县| 凤凰县| 东兰县| 河源市| 合水县| 汤原县| 稻城县| 淮北市| 梁河县| 房山区| 商水县| 长子县| 新田县| 石渠县| 塔城市| 泽州县| 小金县| 易门县| 西藏| 连云港市| 彭州市| 宽甸| 通海县| 凤冈县| 齐河县| 英德市| 安国市| 铁岭市| 都昌县| 民县|