前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的計算機并行處理技術主題范文,僅供參考,歡迎閱讀并收藏。
關鍵詞:遙感影像;并行計算;密集匹配;快速處理;流程研究
引言
隨著遙感影像使用范圍越來越廣泛,現在已經成為提供空間信息的重要數據源。遙感數據的應用范圍擴大到各個社會信息服務領域,發揮著重大作用。經過定向后的遙感影像數據可為測繪、城市基礎地理信息動態更新、國土資源調查、生態環境監測、災害監測、海洋資源、農業監測、快速響應等不同的領域提供相應的地理信息數據。
傳統影像處理需要高性能的計算機,并且配備多種影像數據處理軟件協同作業,各工序僅對流程負責,數據處理效率低,精度差?,F代遙感影像的獲取頻率越來越快,同時數據量也越來越大,傳統的基于串行計算的處理方式已很難滿足高效率的生產需求和快速響應,因此必須采用并行計算來快速地對大區域影像進行處理,提高數據處理效率。
1.1 并行技術處理種類
現代計算機并行處理技術主要有基于CPU和基于GPU這兩大類處理方法,各有相應的具體處理方案,如通過CPU加速的MPI、OpenMP、PVM等,還有Intel的TBB等;基于GPU的有NVIDIA的CUDA和ATI的Stream技術。本試驗根據數據特點和計算機硬件配置情況,采用基于GPU方法的軟件系統進行影像的快速糾正試驗。
1.2 GPU并行處理優勢
1.2.1 高效的并行性
在目前主流的GPU中,配置多達16個片段處理流水線,6個頂點處理流水線。多條流水線可以在單一控制部件的集中控制下運行,也可以獨立運行。GPU的頂點處理流水線使用MIMD方式控制,片段處理流水線使用SIMD結構。相對于并行機而言,GPU提供的并行性在十分廉價的基礎上,為適合于在GPU上進行處理的應用提供了一個很好的并行方案。
1.2.2 高密集的運算
GPU通常具有128位或256位的內存位寬,因此GPU在計算密集型應用方面具有很好的性能。
1.2.3 超長圖形流水線
GPU超長圖形流水線的設計以吞吐量的最大化為目標(如NVIDIA GeForce 3流水線有800個階段),因此GPU作為數據流并行處理機,在對大規模的數據流并行處理方面具有明顯的優勢。
2. 遙感影像快速處理應用
2.1 應用區簡介
試驗區內覆蓋46景P5影像,布設外業控制點68個、檢查點17個,用于區域網平差的解算及精度檢查;在立體模型中選取26個檢測點,用于檢測DEM和DOM成果精度。試驗區范圍及控制點分布(見圖1)。
2.2 使用的軟硬件
主要軟硬件設備包括集群式影像處理系統PCI GXL軟件及可進行圖形、圖像處理的高配置計算機等。
2.3 應用區生產
2.3.1 稀少控制區域網平差
(1)建立測區工程
建立測區工程,設置工程參數及投影坐標系、控制點文件、DEM格網間距及正射影像分辨率。同時根據影像之間的相互關系設置影像列表,導入衛星影像并建立模型。
(2)區域網平差
首先利用軟件對所有影像自動進行連接點的量測,然后對控制點進行預測,人工輔助量測控制點,最后采用“RPC測區絕對定位”解算方法對區域網進行平差解算,剔除掉粗差點,得到滿足精度的區域網平差結果,控制點平差結果見表1。
表1 區域網平差結果(單位:m)
[類型\&個數\&平面中誤差\&高程中誤差\&平面最大誤差\&高程最大誤差\&控制點\&68\&1.385\&0.836\&2.723\&1.042\&檢查點\&17\&4.667\&1.436\&6.679\&1.496\&]
2.3.2 DEM及DOM生產
首先利用區域網平差定向后的影像進行DEM密集匹配,然后利用擬合、平滑、內插、定值等工具對密集匹配結果進行編輯,得到滿足精度的DEM數據,最后利用DEM數據采用并行計算的方法對影像進行批量糾正,得到DOM數據。DEM及DOM批量鑲嵌結果見圖2。
2.3.3 精度統計
利用立體模型量測的檢測點對DEM及DOM進行精度檢測,檢測結果見表2。
2.3.4 效率統計
數據處理整理耗時情況見表3。
3. 結論
通過生產試驗表明,利用并行處理技術對大區域遙感影像數據進行區域網平差后制作的DEM與DOM精度能夠滿足不同比例尺規范的相關要求,同時并行處理技術能夠簡化生產流程,大幅度提高運算效率并減少運算時間,特別在對大區域遙感影像進行處理時,優勢明顯。
參考文獻:
[1] 鄭福海,楊木,宋紅艷等.利用IRS―P5影像制作1:500003D產品的試驗研究[J].測繪與空間地理信息,2011,34(6):117―120.
[2] 肖漢,張祖勛等.基于GPGPU的并行影像匹配算法[J].測繪學報,2010,39(1):46―51.
[3] O影,鄭福海,王鐵軍等.PixelGrid集群式系統在影像快速糾正中的應用研究[J].測繪與空間地理信息,2014,37(10):221―223.
[4] 李宏寬,楊曉冬,鄒珍軍.基于MPI并行的遙感影像系統幾何校正快速處理技術研究[J].河南工程學院學報?自然科學版,2011,23(1):49―52.
[5] 陳國良,孫廣中.并行計算的一體化研究現狀與發展趨勢[J].科學通報,2009,(8):25―27.
1.1數字處理的應用計算機技術在數字處理中應用的也極為廣泛,計算機技術與數字處理技術是相輔相成的。并且計算機技術的應用會涉及到很多的數據、數字處理等功能,因此要與數據處理技術的結合應用才能實現數據、數字處理的功能,數字處理技術也可以說是新時期下計算機技術的基本,兩者結合的技術主要還表現在公式分析以及運算的能力。但是,在應用到數字處理技術時,對計算機的硬件技術以及CPU的使用率等結構的運算技術要求都是非常高的,同時這些結構也是計算機的重要組成部分。
1.2半導體技術的應用半導體技術主要是對半導體的集成度進行衡量的技術標準,而在新時期下的計算機技術的發展中,將逐漸的應用到半導體技術對半導體的集成進行衡量,有了計算機技術的加入使半導體的發展更加迅速,尤其是在儲存量較大的半導體生產中,表現的更為突出。
1.3移動計算機技術的應用計算機技術在移動計算機領域中也有所突破,與傳統的移動不便、受區域限制的計算機相比,現今的計算機不僅打破了區域的限制,在技術上也是傳統計算機遠遠達不到的,新時期計算機技術實現了計算機的微小化、靈活性等特點,是計算機領取發展中不可缺少的重要組成。
1.4并行處理技術的應用并行處理技能在與計算機技術結合之后,可以充分提高計算機的運行效率以及運行速度,可以實現計算機在同一時間內進行多種不同形式的運算。并行處理技術在科技中得到廣泛的應用,尤其是分布式計算機系統以及共享存儲器的出現,極大的推動了新時期計算機技術的發展。
2新時期計算機技術的改革
2.1教學模式改革從教學角度上講,新時期計算機技術屬于一門新型的學科,不僅要求熟悉掌握相關的理論基礎知識,還需要達到相應的實踐審核標準,然后才能談新時期計算機技術的改革和創新的過程。但是,就目前來看,新時期計算機技術的教學模式還處于傳統的模式下,依舊存在很多問題,直接阻礙了計算機技術的發展創新與應用。因此,為實現新時期計算機技術的改革,需要從教學模式上進行改革,以理論性知識教學模式為教學基礎,在這個基礎上結合與互動式學習法進行新時期計算機技術多樣化的教學模式,實現最佳的效果。
2.2管理模式改革從管理的角度上講,新時期計算機管理技術主要包括機房的管理和人員的管理。在引用新時期計算機技術實現管理模式操作的過程中,需要將管理經驗擺在重要的位置,管理經驗是貫穿整個管理的核心內容是不容忽視的。另外,在機房管理中要對機房的數量、質量以及相關的管理模式等進行嚴格的監測,需保證各項都達到標準要求才可以。計算機技術的合理操作技術以及相關處理工作是管理模式中的重點,必須要保證有著現今的計算機管理技術的經驗,才能提高新時期計算機技術管理運行的效率。
[關鍵詞] 網絡,計算機病毒,檢測
中圖分類號:TP393 文獻標識碼:A 文章編號:1003-8809(2010)-08-0215-01
1、計算機網絡病毒檢測機制的原理
首先,位于子網出入口處的探針可以將整個子網的數據報文捕獲,其通過特定的協議棧可以正確地還原出子網中每一臺主機發送、接受的數據。然后,本報警系統將捕獲的數據報文進行包級檢測,主要分為特征碼檢測(已知病毒)、流量檢測(未知病毒);對于仍不能確定的數據報文進行連接還原,做文件級檢測(已知病毒)、虛擬機檢測(病毒變種)。通過這種機制,可以使本報警系統能夠以最大的可能檢測出病毒并降低病毒的誤報率。
2、計算機網絡病毒檢測體系的框架
網絡報警系統整體結構采用分布式檢測集中式管理模型,網絡報警系統的探針(檢測網絡病毒的并行處理機)放在監控的網絡出入口上,其所檢測的網絡可以與病毒疫情管理中心(VESPC)異地,并采用專線連接。病毒檢測程序的病毒庫升級采用被動方式,由VESCP主動向探針提供升級服務。探針需要將檢測到的己知病毒通過專線寫入數據庫,而中央控制臺主要可以對病毒庫進行升級,對探針進行遠程控制。同時可以通過對各地探針寫入數據庫的日志進行監控,時時生成各地的疫情影響指數,對于可能發生疫情的地區進行及時預警。其分布式拓撲圖如圖1所示。
圖1 分布式拓撲檢測圖
3、計算機局域網之子網劃分模型
傳統的網絡屬于共享式的,在局域網中的任何一個主機可以監聽到所有節點機的數據報文。隨著網絡技術的飛速發展,交換式的網絡設備逐漸普及到各個子網,這就造成網絡中可能會出現盲點,即處于網絡出口的探針監聽不到交換式子網之何的通信數據。所以在子網的劃分時需要考慮這種所謂的“盲點”的問題,探針監聽的子網過大,肯定會造成盲點過多的問題。這種探針監聽的子網過小的問題,必然會帶來探針探測開銷增加的問題。
為了解決這種問題,本報警系統在構造網絡拓撲模型時采用根據實際情況動態增加、減少探測點,且不需要改變程序的作法。對于這種情況,典型的網絡模型如圖2所示,探針A所在的網絡出入口為一級檢測對象。但由于交換式網絡的出現,探針B、C、D所在網絡(如市縣級網絡)內部節點機之間傳輸的數據報文探針A檢測不到,又由于其重要性不可忽視,所以在其出入口也放上了探針,視為二級檢測對象。同樣選取探針E所在網絡作為三級檢測對象。
圖2 可擴展子網劃分模型
這個子網的模型是隨著子網在整個網絡中重要性增強,可以隨時設置該子網的探針;反之亦可。實際應用中不可能將每個盲點都找到,畢竟資金、設備等都是有限制的,可以根據實際情況選擇性地添加探針。
4、可擴展的探測模型
網絡帶寬的高速增長對計算機的處理能力提出了新的挑戰。為了解決不同網絡帶寬情況下的探針適應性問題,本文在網絡病毒的報警系統中針對探針提出了具有可擴展性的并行處理體系結構。探針由數據分流器和N節點并行處理機構成。實際環境下,在400M流量以內只用一個節點機就可以正常處理;當大于400M流量的時候就得根據流量添加節點并行處理機和數據分流器了。數據分流器對接收的數據按數據連接進行均衡地劃分,這是實現集群式體系結構模型高性能的關鍵所在。其不僅擔負著負載均衡的作用,同時由于病毒預警系統分析的特殊性,需要將同一個傳輸層的連接數據報文分發到同一臺處理機上,從而才能避免并行處理機之間的數據依賴。在TCP/IP中,一些協議分為控制連接和數據連接(如TFP),控制連接和數據連接源目的地址是相同的,端口是不同的,像這樣的連接我們稱之為具有依賴性的連接。在病毒報警系統中需要正常處理這種情況,從而能夠避免節點機之間的數據通信。
總之,隨著信息的網絡化和全球化,人們日常生活中的許多活動將逐步轉移到網絡上來。主要原因是由干網絡交易的實時性、方便性、快捷性及低成本性?;ヂ摼W最大的優點是消除了地域上的限制,使得地球上的每一個人均可方便地與另一端的用戶通訊。可以說網絡在政治、經濟、軍事甚至是人們的日常生活中發揮的作用越來越大,有時是無可替代。但是隨著互聯網的廣泛應用,計算機病毒問題特別是網絡病毒也給人們帶來了巨大的損失和困擾,也嚴重影響著網絡的安全。因此,本文將對計算機網絡病毒進行研究。
參考文獻
[1] 韓楊,網絡病毒的特點及其防治策略,計算機工程,2008(1)
[2] 李霞等,基于免疫原理的計算機病毒免疫系統初探,計算機工程與應用,2009(2)
關鍵詞: 海量圖像; 檢索框架; 并行處理
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2016)09-0212-04
Designed and Implementation of An Content-based Image Retrieval Framework for Magnanimity Image
LIN Wen-yu,DAI Qing-yun,CAO Jiang-zhong, HE Xiao-ming,LI Neng
(Guangdong University of Technology, Guangzhou 510006, China)
Abstract:With the advantage of the I/O performance of mass data of Hadoop distributed technology and HBase column oriented database, a new retrieval framework is put forword for overcoming the shortage of data storage, processing, real-time retrieval with a very large image database. The retrieval framework is applied to storing and processing the huge amounts of image data. It provides a serializable data type for image data processing, and inputs large image and converts data types by a general input module. Thus the framework can provide a feasible scheme for parallel processing of image processing and feature extraction algorithms.
Key words:magnanimity image; retrieval framework; parallel processing
伴隨著計算機與移動電子設備的快速發展與廣泛應用,各領域各行業的圖像數據也日益增多。如何從海量的數字圖像中快速有效地檢索出有價值有意義的信息,成為了人們面臨的一大難題,也促使了大量學者投身于圖像檢索技術的研究中。單從圖像檢索技術的發展而言,從基于文本標注的圖像檢索到現今各種基于圖像內容的檢索方法使得對圖像特征的處理、特征提取、相似度比對等方面現已出現許多較為成熟的算法[1]。但對于海量圖像的檢索而言,除了對現有的圖像的處理、表達與度量等方面的要求外,還增加了對海量圖像數據存儲的需求,以及對整個海量圖像數據集的處理效率的要求。
傳統的基于內容的圖像檢索,通過在單個計算機上以單線程對圖像進行處理、特征提取,再將提取出的圖像特征數據存入關系型數據庫。在檢索請求發起時,通過遍歷關系數據庫將查詢圖像的特征與全庫特征進行比對并對比對結果進行排序,從而獲得檢索的結果。依賴單計算機的處理能力對現今圖像數據增長的急速形勢而言,傳統的圖像處理技術顯然是杯水車薪。即使通過多線程技術來處理海量圖像也不能完全解決對海量圖像存儲與處理效率的問題。隨著大數據概念的興起及其存儲與處理技術的成熟,采用Hadoop技術與HBase技術的基于內容的海量圖像框架,不僅可以解決海量圖像的存儲與數據傳輸的問題,還能將原本設計的圖像檢索算法直接移植到分布式環境中并行處理,依靠MapReduce集群的并行計算能力,實現對海量圖像的檢索。
海量圖像中,超過八成的圖像是容量在數MB以內的小文件,不適合使用HDFS等流式訪問的大文件分布式存儲技術。而基于HBase的海量圖片存儲技術方案,實現系統層的小文件合并、全局名字空間、并具有良好的通用性[2]。
1技術背景
1.1 基于內容的圖像檢索技術
針對圖像本身的數據內容的操作與處理是基于內容的圖像檢索的重要特點。具體處理流程如圖1所示。
對于圖像特征的提取而言,雖然在實現的算法上各有不同,但處理對象都是圖像數據,而算法提取的結果往往是能以文本表示的矩陣或數字。現有計算機的圖像處理接口使得對數字圖像數據的存儲與讀取簡化為字節流的獲取與輸出,而基于內容的圖像檢索技術的研發人員專注于圖像處理算法的研究,而不必在存儲與讀取圖像方面耗費過多的精力與資源,這也是現今基于內容的圖像檢索技術快速發展的重要原因之一。
1.2 基于Hadoop的分布式技術
Hadoop的核心是HDFS分布式文件系統和MapReduce分布式計算框架,它提供了一系列分布式文件系統和通用的I/O的組件和接口,更提供了分布式數據處理的模式和執行環境。
MapReduce是一種用于數據處理的簡單編程模型,支持包括Java、C++和Python等多種編程語言。在本質上,MapReduce的程序是并行化的,這意味著對大規模的數據分析能夠在足夠多的廉價機器上高效的并行執行。并行化處理大型數據集的能力正是MapReduce框架的最大優勢。
1.3 HBase數據庫
HBase是一個分布式的、持久的、強一致性的數據存儲系統,性能優異的讀寫性能。它是列存儲數據庫,底層通過HDFS做數據存儲,更支持MapReduce的批量式計算和隨機查詢。
HBase是用Java編寫的,提供了原生的操作API,同時也支持用其他編程語音訪問HBase。HBase的數據和坐標都是以字節數組的形式存儲,這在間接上支持存儲任意的數據類型。HBase只存放有內容的表格單元,數據文件的稀疏性非常適合存儲文件數據[3]。
1.3常見的分布式圖像檢索框架
現在常見的分布式圖像檢索方法是部分分布式實現。部分分布式實現是指,通過借用傳統的圖像特征提取算法,將圖像特征提取后存入關系數據庫,再通過MapReduce處理文本化后的圖像特征文件[4]。
面對海量的圖像數據,沒有把對圖像的處理過程通過并行化技術來實現這將極大的影響整體的檢索效率。不僅如此,面對圖像來源的多變與不確定性是很難保證對圖像數據的傳輸與存儲,更無法對其進行并行處理與檢索。
2框架設計與實現
2.1框架整體架構
Hadoop集群具有硬件成本低廉、集群規模靈活等優勢,而其承載的MapReduce應用具有高效的并行計算能力。在框架的設計中也需要借助MapReduce框架的來開發對海量圖像、圖像特征數據的并行化處理程序,實現對海量圖像數據的高效處理,既能以圖像的可序列化數據類型將圖像在分布式環境中存儲、傳輸和操作,又能移植現有的成熟的圖像特征提取等算法。為了對圖像數據進行快速的查詢與壓縮式存儲,存儲圖像的環境需要使用HBase面向列擴展的分布式數據庫,圖像以字節數組的形式存于其中,以較為出色的讀寫性能支撐分布式圖像檢索的運行。因此選擇以HBase為數據存儲庫,以MapReduce程序實現并行處理模塊,建立海量分布式圖像檢索框架。
檢索框架主要分為圖像輸入模塊、分布式集群模塊和檢索結果顯示模塊。圖像輸入模塊以獲取網絡圖像為基礎,承載著采集圖像文件并轉換為設計的可序列化圖像數據類型,隨后轉為字節數組存入HBase的圖像表中等數據輸入工作。分布式集群模塊以可序列化的圖像數據類型為接口,通過移植現有圖像預處理、特征提取和相似度比對等算法實現并行化的圖像檢索。檢索結果顯示模塊主要實現將相似度較高的一系列圖像還原為圖像文件,并顯示或保存到指定計算機硬盤中。
框架整體架構如圖2。
2.2可序列化的圖像數據類型
2.2.1可序列化圖像數據類型的用途和現狀
序列化是指將結構化對象轉為字節流以便于通過網絡進行傳輸或寫入持久存儲的過程??尚蛄谢臄祿袷绞侵笇崿F由Hadoop設計的緊湊、快速的接口Writable的類。Writable接口主要定義了一個二進制輸入流方法和一個二進制輸出流方法,MapReduce程序就是通過它來序列化鍵值對的值。針對Hadoop的Java基本封裝類來說,大多是針對文本和數字數據的,而API中針對二進制數據的封裝類BytesWritable由于底層是由int字段實現最長僅能容納4字節的數據。因此要在Mapreduce程序中處理圖像需要自定義序列化數據格式。
針對Hadoop的分布式圖像處理,國內研究者大多是通過繼承Hadoop的Java API提供的文件輸入Fi1eInPutFormat類和文件輸出格式FileOutputFormat類,將一個圖像作為一個輸入分片和輸出分片,實現將圖像文件轉換為自定義的可序列化圖像類型[5] -[7]。這樣的實現一方面對輸入路徑和輸入的圖像文件數量存在限制,另一方面對自定義圖像類型的設計不便于對圖像進行處理。
2.2.2圖像數據類型ImageWritable
對于可序列化的數據類型,除了要能適用分布式環境的傳輸和存儲外,也要便于對數據的處理。因此系統設計的Hadoop API中基本的可序列化類型都有其對應的Java API基本數據類型,如Text類與String類對應。因此實現圖像的數據類型若與圖像處理常涉及的類相對應就能夠便于并行式對圖像的處理。在Java API 中BufferedImage類是處理圖像最常用的類,而且它能將對象本身轉換為字節數組,而字節數組又可以轉化為Hadoop API的Text類型。Text類型是通過可變長的int型在字符串編碼中存儲字節數,最大值為2GB,這足夠保存絕大多少的圖片數據。此外,BufferedImage類帶有圖像常用的數據信息。
ImageWritable類的具體實現,如圖3。其中ImageWritable的構造方法需由BufferedImage對象作參數;私有函數parseBytes實現將BufferedImage轉換為字節數組,再通過字符數組可以轉換為Text類型;用第二個Text類型保存圖像文件的后綴名;用第三個Text類型保存獲取圖像的網址。
2.3 HBase的數據庫設計
本框架針對的是海量圖像的檢索,除了要存儲海量的圖像內容的數據外,針對圖像預處理后的圖像數據,圖像特征等相關數據,采用面向列擴展的HBase數據庫進行存儲。由于行鍵除了要求唯一性外還要求定長,因此建議將圖像獲取的路徑或網址通過MD5摘要處理后的定長字段作為行鍵,而將獲取圖片的路徑或網址作為一個列值存入。
HBase中單元格的默認塊大小是64KB,但這是對于HBase的系統文件而言的。HBase對于列值是沒有長度限定的。為了索引的性能,HBase僅會對行鍵的長度做檢查,默認應該小于65536。由此可知,對于海量的小圖像文件的數據而言,沒有必要對圖像的字節數組進行分段,這樣將影響圖片的存儲和讀取的效率。
對于圖像檢索的應用而言,HBase除了保存圖像數據外,還可以保存預處理后的圖像數據、提取后的圖像特征等數據。對HBase的數據表設計見表1。
2.4圖像輸入模塊
對于ImageWritable類來說只是MapReduce程序中一種鍵/值對中的值的數據類型,要將圖像文件輸入分布式文件系統或HBase數據庫中,常規的做法是繼承Hadoop API的文件輸入格式類(FileInputFormat)。文件輸入格式類以一個計算機本地圖像文件為一個文件分片,再轉換為自定義的可序列化類。
本框架的圖像輸入模塊主要一個Web服務器和一個MapReduce程序。Web服務器具有文件上傳和瀏覽等功能。MapReduce程序是實現圖像數據獲取和格式轉換的工具。本地圖像通過Web服務器就能轉換為網絡圖像。再把一個記錄網絡圖片地址的文本文件作為輸入,在Map過程中通過獲取文件流,生成BufferedImage對象,再將其轉換為ImageWritable對象,最后可以通過SequenceFile文件保存到HDFS中。另外,也可以通過ImageWritable類獲得對應的字節數組存入HBase的數據庫表格中。針對圖片輸入模塊將圖像數據存入HDFS的MapReduce數據流如圖4。
2.5分布式集群模塊
框架中的分布式集群模塊主要包括圖片的預處理、圖像特征提取以及特征相似度計算等MapReduce程序。由于有ImageWritable數據類型的支持,可以從HDFS或HBase中獲取需要的圖像數據,通過將現有選用的圖像預處理的算法在Map過程中實現,將處理后的圖像生成的BufferedImage對象構建出新的ImageWritable對象并通過Reduce過程寫入HDFS的SequenceFile中或存入HBase數據庫中。對于圖像特征提取的MapReduce過程,與預處理不同的是MapReduce輸出的是文本或數字類型的數據。相似度計算和排序的MapReduce程序的輸入輸出都是文本或數字的數據類型。分布式集群模塊一種的實現見表2。
2.6檢索結果的顯示模塊
檢索結果顯示模塊主要是以某個輸入圖片為待檢圖片時,通過圖像相似度計算和排序后,將相似度高的圖像集合通過MapReduce程序從HBase數據庫的表中讀取對應的圖像數據,并將其轉換為BufferedImage對象,通過UI界面顯示出來,還可將這些檢索結果保存到計算機本地的硬盤上。
3 ImageWritable類的封裝與實現
ImageWritable類是實現分布式圖像檢索框架的核心類。
首先要實現BufferedImage對象和byte[]對象的轉換,這需用到圖像文件的后綴名,一般可以從圖像的網址中截取。代碼如下:
private byte[] getBytes(BufferedImage image, String format) {
ByteArrayOutputStream baos
= new ByteArrayOutputStream();
try{
ImageIO.write(image, format, baos);
} catch (Exception e) {
e.printStackTrace();}
return baos.toByteArray();}
其中ImageIO類是Java API中常用的圖像工具類,常用于讀取或生成圖像。
由于通過上面實現的getBytes方法可將BufferedImage對象轉換為byte[]對象,而通過byte []對象可以建立Text對象。Text類是HadoopAPI的基礎類,對數據的傳輸和存儲由原生的接口保證正確性與可靠性。對于ImageWritable類實現的Writable接口的二進制讀寫流方法,示意代碼如下:
public void readFields(DataInput arg0) throws IOException {
imagedata.readFields(arg0);
imageFormat.readFields(arg0);
imagePath.readFields(arg0);}
public void write(DataOutput arg0) throws IOException {
imagedata.write (arg0);
imageFormat.write (arg0);
imagePath.write (arg0);}
以上對ImageWritable類的封裝與實現都是使用Java來編程實現的。
4結束語
本文提出了一種能夠存儲、處理和檢索海量圖像數據的圖像檢索框架。該框架以HBase為數據存儲工具,并通過MapReduce程序并行化實現圖像檢索,解決了趨于成熟的多種圖像檢索方法無法存儲、處理和檢索海量圖像的問題,具有數據輸入靈活、處理數據量大,算法并行化的移植靈活等特點,適合應用于對現有的圖像檢索系統進行并行處理的重構。
參考文獻:
[1] 李向陽, 莊越挺, 潘云鶴. 基于內容的圖像檢索技術與系統[J]. 計算機研究與發展,2001,38((3): 344-354.
[2] 朱曉麗, 趙志剛. 一種基于HBase的海量圖片存儲技術[J]. 信息系統工程,2013(8):22-24.
[3] 朱敏, 程佳, 柏文陽. 一種基于HBase的RDF數據存儲模型[J]. 計算機研究與發展,2013,50((z1): 23-31.
[4] 王賢偉, 戴青云, 姜文超, 曹江中. 基于MapReduce的外觀設計專利圖像檢索方法[J].小型微型計算機系統,2012,33((3): 626-632.
[5] 鄭欣杰, 朱程榮, 熊齊邦. 基于MapReduce 的分布式光線跟蹤的設計與實現[J].計算機工程,2007,33((22):83-85.
關鍵詞:云計算;關鍵技術; 應用
1引言
自1945年第一臺電子計算機出現以來,隨著集成電路技術的不斷發展,計算機的功能越來越強,體積越來越小,這使得計算機在全球范圍內得以迅速發展。從那時開始至今以計算機為核心的IT產業已經歷了三次革命,云計算則被認為是繼大型計算機、個人計算機、互聯網之后的第4次IT產業革命。
2 云計算簡介
(1)什么是云計算
云計算(Cloud Computing)是由分布式計算(Distributed Computing)、并行處理(Parallel Computing)、網格計算(Grid Computing)等技術漸進演變發展起來的,是一種新興的商業計算模型。目前國際上尚未對云計算提出一個統一的定義。我國云計算專家劉鵬給出的描述是:“云計算是一種商業計算模型,它將計算任務分布在大量計算機構成的資源池上,使用戶能夠按需獲取計算力、存儲空間和信息服務[1]” 。
簡單地講,云計算是以一種簡化的方式提供服務,用以滿足客戶和業務的需求,提供無限伸縮及不同質量的服務來促進快速創新和決策的計算模型[2]。
(2) 云計算的特點
云計算的特點包括超大規模、慮擬化、高可靠性、通用性、可擴展性以及按需服務。
超大規模:“云”里的資源非常龐大,在一個企業“云”可以有幾十萬甚至上百萬臺服務器,在一個小型的“私有云”中也可擁有幾百臺甚至上千臺服務器。
慮擬化:云計算允許用戶在任何時間和地點使用各種終端獲取應用服務。用戶不需要了解具體的過程,只要一個終端并通過網絡就可以獲取“云”中的服務。
高可靠性:為了保證數據安全可靠,云計算采用數據多副本容錯、計算節點同構可互換等措施,以保證服務的安全和可靠。
通用性:云計算可根據用戶的需求構造出不同的應用,也可實現不同設備間的數據與應用共享。
可擴展性:“云”的規模是可以根據應用和用戶增長的需要而動態擴展的。
按需服務:“云”是一個規模龐大的資源庫,用戶可根據自己的需要像買水、電一樣向“云”購買資源并使用。
(3 )云計算的服務模式
云計算的核心是它的服務模式,按照NIST (National Institute of Standards and Technology,美國國家標準技術研究院)的定義,云計算主要分為三種服務模式[3]:
SaaS (Software as a Service 軟件即服務):它是指用戶獲取軟件服務的一種形式。云計算提供商將多種應用軟件放在一個服務器上供用戶下載并收費,用戶則通過網絡向提供商獲取自己需要的軟件服務并付費。
PaaS (Platform as a Service 平臺即服務):它將開發環境作為一種服務來提供。在這種模式里,客戶不需要購買硬件和軟件,只需要利用此平臺便能進行軟件的開發、測試、部署和應用。
IaaS (infrastructure as a Service,基礎設施即服務) :將硬件設備等基礎資源封裝成服務供用戶使用。在此環境中,用戶相當于在使用裸機和磁盤并可以讓它運行不同的操作系統。
(4 )云計算的關鍵技術
云計算的關鍵技術一般指數據存儲、數據管理、數據安全、虛擬化、并行處理、資源管理和系統管理技術[4]。
數據存儲:云計算系統是由大量服務器組成的,當為數量龐大的用戶進行服務時會產生海量的數據,要保證這些數據存儲的安全和可靠就需要高存儲率和高傳輸率的數據存儲技術。云計算采用的分布式存儲方式,它把數據存儲在服務器集群中,用冗余存儲和數據加密技術來保證數據的安全可靠。
數據管理:它是指在云計算中對海量數據進行處理并通過對數據挖掘提取有用的信息。
數據安全:云服務商應避免用戶的數據丟失或被竊,無論在哪種服務模式下,數據安全都是十分重要的。數據安全又可分為數據傳輸安全、數據隔離安全和數據殘留等[5]。
虛擬化:慮擬化技術是云計算、云存儲服務得以實現的基礎和關鍵。通過虛擬化技術可以把軟件應用與底層硬件相隔離。它包括將單個資源劃分成多個虛擬資源的裂分模式,也包括將多個資源整合成一個虛擬資源的聚合模式。
并行處理:并行處理是指將被求解的問題分解成若干部分,每部分均由一個獨立的處理機來并行計算。在云中利用并行處理來求解問題無疑能提高計算機系統的計算速度和處理能力。
資源管理:云計算中的資源包括計算、存儲、網絡、基礎設施等資源。資源管理就是從邏輯上把這些資源耦合起來作為一個單個的集成資源提供給用戶使用。由于云計算的資源在地理上是分布的,在本質上是異構的且有不同的訪問代價模型,因此資源管理主要就是處理好邊界問題,并需要有安全和容錯機制。
系統管理:云計算中的系統管理是云計算的“神經網絡”,通過這種技術能夠使大量的服務器協同工作,方便地進行業務部署和開通,快速發現和恢復系統故障。
(5 )云計算存在的問題
首先云計算至今沒有一個統一標準。由于云計算技術還在發展之中,各大云服務商紛紛推出自己內部的技術標準,這就為云服務商之間進行數據遷移、轉換等兼容性問題帶來一定的困難。
其次是數據的安全。雖然云存儲為用戶提供了接近無限的存儲空間,但多數用戶對自己的數據在云中是否安全仍存在質疑,而且數據在“云”中進行計算時用戶也不知道數據到底在什么地方。另外黑客攻擊、計算機病毒、木馬等傳統計算機安全問題依然存在,個人和企業隱私的泄露很有可能發生。所有這些問題不僅需要技術上的改進,也需要在法律上進一步完善。
最后是系統的穩定、可靠性問題。在云中支撐整個系統正常運行的是大型服務器集群。當系統規模持續增加后,系統的可靠性和穩定性就成為最大的問題之一。只有通過有效的系統配置、監控、管理、調度以及虛擬化等技術手段,才能實現一個強大的、動態的、自治的計算存儲資源池,才能提供云計算所需要的大容量計算力[6]。
3云計算的應用
近幾年來隨著谷歌、亞馬遜等大公司對云計算技術的不斷推進,使得云計算技術在國內外的各個領域都得到了廣泛的應用,下面介紹幾個典型案例。
電子商務。它是指消費者與商戶之間通過電子商務網站進行交易和在線支付的商業活動。云計算的加入可以改善系統的安全性,減少因各種安全問題而導致的數據丟失。可以把企業對網站維護和升級的問題交給“云”處理,這樣不僅可以降低成本,還可以改善企業電子商務應用的靈活性和專業性。
氣象預測。氣象預測實際上就是對采集的大量數據進行科學計算。傳統的氣象預測要靠大型計算機或巨型計算機來完成,而利用云計算不僅可以提高計算的速度,降低成本,還可以解決海量氣象數據存儲的問題。
計算機安全。目前計算機安全廠商如瑞星、趨勢科技和賽門鐵克等都先后提出了“云安全”的概念。用戶不必在電腦單機中安裝殺毒軟件,只需要連接互聯網便可實現查毒、殺毒,使病毒防治工作更加安全可靠。
網絡應用。在互聯網中如迅雷的下載,谷歌的視頻分享、搜索引擎、電子郵箱等應用都使用了云計算技術,用戶可以更方便快捷的使用這些網絡資源。
4 結束語
綜上所述,隨著云計算在社會中的作用越來越顯現,云計算必將利用其技術、業務優勢影響人們的工作和生活,進而推動整個社會信息化的發展。
參考文獻
[1]劉鵬.云計算(第二版)[M].北京:電子工業出版社,2011.
[2]姚有真. 云計算及其發展趨勢[J].通訊管理與技術.2011.8:13-15.[3]De S K, Krishna P R.Clustering web transactions using rough
Approximation [J].Fuzzv Sets and Systems,2004, 148:131-138.
[4]曾劍秋,劉雪嬌.云計算探源[J]. 移動通訊,2012.3:11-14.
――獲獎感言
萊克斯科技(北京)有限公司 LYX Solutions Inc. 創建于2005年。萊克斯以高速數據通信應用平臺(USAP)為基礎,輔以技術創新(ECS專家會診系統、零拷貝技術、DPI/DFI等),打造了高性能數據處理系統。LyxOS是USAP平臺的基礎,ESC專家會診系統、虛擬設備管理、DPI、DFI以及零拷貝等是USAP平臺的核心技術。
Lyx OS系統
LyxOS是萊克斯科技自主知識產權的操作系統。它是萊克斯高速數據通訊平臺(USAP)的核心部分,采用模塊化設計和并行數據處理理念,具有高效性、高安全性、高健壯性、擴展性、可移植性、模塊化、標準化等特征。
LyxOS在目前X86平臺基礎上可以高效、穩定地運行,能夠支持多種硬件平臺,如NP、ASIC、多核等。LyxOS采用了并行數據處理的設計方法,其核心的專家會診系統(ECS)把傳統的串行數據處理方式優化為并行處理模式, 通過系統策略配置各個功能模塊,可以實現全方位的需求滿足和安全控制,極大地提高了網絡安全性和高效性。
ESC專家會診系統
USAP采用了專家會診系統,對多個安全處理單元一次并行處理,可以使得數據包分析處理時間大幅度縮減。
ESC專家會診系統實現上就是一種包處理技術及包處理方式,它改變傳統的包處理為并行處理,減少了數據包解析的次數,理論上大大提升了系統對數據包的處理效率。在ESC專家會診系統中,從數據檢測、數據識別、應用及協議匹配到管理策略匹配只對數據進行一次分析處理,與傳統數據處理過程對比,明顯提高了數據的分析處理效率,提升了系統實際處理能力。
虛擬設備管理
萊克斯在NSG的服務平臺上構建多臺虛擬的計算機系統,每個操作系統都可以進行虛擬的區分、配置而不影響真實硬盤的數據,也可以通過網卡將多幾臺虛擬機用網卡連接為一個局域網,極其方便。實現每個虛擬的計算機上安裝一個NSG應用程序,并將每個虛擬的NSG提供給不同的公司使用。在每個公司看來,就像是登錄到一個真實的NSG一樣,可實現對本公司所有網絡行為的管控。
DPI與DFI數據流分析引擎
DPI(深度數據包檢測)和DFI(深度/動態數據流檢測)相結合的技術,對數據包進行2到7層的深入解析,同時對數據流進行流量行為分析,增強了系統對網絡流量的智能識別,提高了數控流量監控的準確性。DPI和DFI的結合,使數據識別的準確率可達95%以上。
Cell芯片最初是由IBM、索尼和東芝共同為游戲主機而研制的。但是最近它很不“安分”,近一年來它跳出游戲主機的心臟,積極拓展到醫療圖像、高性能計算等領域。而在中國,Cell芯片的應用才剛剛開始。去年10月,中國科學院計算機網絡信息中心和IBM啟動了為CNGrid提供基于Cell的刀片服務器計算節點的項目,并鼓勵開發各種能夠充分利用其獨特性能的應用。今年4月,國內第一臺基于Cell的刀片服務器系統IBM BladeCenter QS20投入運行。目前,中國科學院各院所、多所大學以及一些國內科研和商業機構可以通過CNGrid使用這一位于北京的中國科學院超級計算中心的系統。Cell在中國的首次應用非常順利。
何以“越界”
從游戲主機到科學甚至商業計算,Cell芯片何以跨越差別如此巨大的應用領域?IBM下一代計算系統和技術杰出工程師Robert Guernsey博士解釋說,IBM BladeCenter QS20是一種基于Cell的刀片系統,專為Cell高性能計算力以及圖形密集型應用而設計。尤其是Cell突破性的多內核架構和超高速技術能力采用了通常用于IBM最尖端服務器上的并行處理技術,大大提高了實時響應速度,有效地提供了類似超級計算機的性能。因此,醫療圖像、金融模擬、多類型建模、航天計算、數字動畫和網絡通信等領域都是Cell非常適合的拓展方向。
就CNGrid的初步應用來看,BladeCenter QS20將地震應用的計算速度提高了60倍。也就是說,地震預報專家可以在短短幾分鐘內得到以往需要數小時才能得到的計算結果。國家863計劃高效能計算機及網格服務環境重大項目總體組組長錢德沛教授透露,目前,Cell多核并行處理技術的能力和性能已經在地震預報、分子動力學仿真以及MPEG2代碼轉換機等應用中有了體現。
中國國家網格運營中心主任遲學斌教授表示,地震預測和分子動力學仿真都是計算密集型應用,而且分子動力學仿真還是存儲高速訪問型應用。從目前CNGrid的應用效果來看,Cell可以適應于這兩種應用??梢?,當初為游戲而生的Cell現在在科學計算和超級計算領域也開始發揮作用。
困難仍然不小
但是,作為一款專用設備,Cell的體系架構和傳統處理器不同,因此在編程方面會有很多新問題。也就是說Cell能否成功“越界”應用,不僅取決于它本身的體系特征,還要有豐富的軟件使它可以真正應用。在本次CNGrid的首次應用中,CNGrid和IBM就聯合組建了測試團隊,通過進行一系列優化軟件和Cell的硬件潛力開發來實現Cell的高性能計算應用。錢德沛坦言,Cell現在的應用還很少,其應用移植或應用開發還面臨很多問題。
據悉,編譯器、并行處理環境等在程序設計上都需要大量工作,尤其是對于一些大型程序所需要的時間較長。在Cell應用于CNGrid不到半年的時間里,已經移植了一些IBM演示程序,并且,雙方共同開發了地震預測和分子動力學仿真應用。
IBM中國技術學院院長John J. Turek博士認為,IBM的Cell技術夢想就是將多核芯片不斷推進。為了加快Cell應用,IBM將在軟件上開發更多通用工具。此外,應用開發商也可以用C++等傳統編譯語言來編寫程序,再編譯成Cell可以識別的指令。IBM還為推動Cell的應用在全球舉辦了一年一度的Cell芯片編程大賽。
據悉,IBM在全球也正在開展多方面的Cell深度合作研究。不過,從網格角度來看,Cell和CNGrid的合作是全球唯一的。在過去的5年中,CNGrid一直由863計劃提供支持。與其他國家的網格基礎架構一樣,CNGrid是一個對各種新信息技術基礎架構進行試驗并支持各類應用的測試平臺。最近它啟動了一項名為高生產力計算機和網格服務環境的863重點項目,其主要目標是開發高生產力計算系統以及先進的網格技術。
混合系統是大勢所趨
既然Cell的“越界”應用才剛剛開始,軟件開發需要大量工作,為何CNGrid還會與IBM合作來第一個吃螃蟹?
“這是CNGrid必然的選擇?!卞X德沛表示,“因為混合系統是未來的發展趨勢?!比绾卫斫膺@一趨勢呢?以CNGrid目前的計算機設備為例,雖然它一直采用不同的平臺,比如Intel、Sun和IBM Power,但基本上都是傳統的同構系統。而混合系統是未來的方向。這是因為,提高計算機性能不再只有提高主頻這一種立竿見影的方法,還有另外兩種方式:第一種方式是在芯片中采用多業務并行來處理數據密集型業務,第二種要靠加速器專門發展面向特定問題的硬件。兩方面的混合協作,共同處理業務,將使混合系統逐漸普及。由此可見,與Cell的合作一方面可以促進Cell的應用,另一個方面對CNGrid來講,也需要在這樣一個變革時期快速掌握混合系統的技術。
Guernsey也表示,計算機正在發生革命性的改變,硬件的變革包括加速器如何在硬件中扮演關鍵角色,軟件的變革則在于如何讓混合系統能夠更好地進行應用協作。此外,他還透露了Cell的技術路線圖。在今年年底,BladeCenter機箱中將可以放置14個刀片。由于每個刀片仍有兩個Cell芯片,因此,同樣大小的空間可以有28個Cell芯片,而且內存容量也將擴至兩倍,同時I/O也有很大提升。
鏈 接:Cell芯片一覽
Cell芯片憑借專為計算密集和寬帶富媒體應用而優化的最新技術,讓日常生活享受超級計算。它采用突破性的架構設計;它并非為某個操作系統定制;它是一種多內核芯片;它采用專用電路技術。
Cell是一種多內核架構:包含8個SPU,每個SPU包含128個128位輸入寄存器文件和256KB的本地存貯區;包含1個帶有VMX的64位Power架構,該內核采用雙線程SMT設計,將系統內存當作是一個10路統一線程機器;具有2.5MB的片內內存(512KB L2和8×256KB);采用模塊化架構,通過增加或減少SPU數量,可以調整其浮點運算能力。
Cell是一種寬帶架構:兼容64位Power架構;其SPU采用SIMD指令和本地存貯區的RISC架構;每個芯片可以處理內存的128個并行任務。
1指導思想和內容組織
“計算機組織與結構”是高等學校計算機科學與技術學科一門重要的專業基礎課程,也是IEEE&ACM CC2001/CC2005和我國CCC2002及教育部高等學校計算機科學與技術教學指導委員會制定的《專業規范》中的核心課程。從課程地位上,它在先導課(如“計算機導論”、“數字邏輯”等)和后續課(如“微機原理與接口技術”、“計算機系統結構”等)之間起著承上啟下的作用。同時,“計算機組織與結構”課程對學生今后進一步深造學習研究生課程“高性能計算機系統結構”、“分布式計算機系統”等打下一個重要的基礎。
從教學內容上講,“計算機組織與結構”主要講述單處理機系統的基本硬件組成以及組成計算機各主要部件的邏輯結構、工作原理和設計方法。由于計算機學科發展快、應用廣、知識和技術更新快等特點,“計算機組織與結構”課程在教材內容的組織和編寫上既要保證傳統的知識和理論的完整性,又要不斷地進行內容更新,為學生介紹計算機發展的新技術、新知識。
能充分體現課程特點的教材對提高教學水平,使學生更好地掌握所講授的內容起著十分重要的作用。因此,我們所編寫的《計算機組織與結構》教材著重考慮了以下幾個方面的要求:
(1) 內容全面,基本涵蓋CC2001/ CCC2002及《專業規范》中“CS-AR計算機體系結構與組織”所要求的核心知識單元。各章節涵蓋的知識單元主要包括:
AR2 數據的機器級表示(核心學時):第2章;
AR3匯編級機器組織(核心學時):第3章;
AR4存儲系統組織與結構(核心學時):第4章;
AR5接口和通信(核心學時): 第5章、第6章;
AR6功能組織(核心學時):第7章;
AR7多處理和體系結構(核心學時):第8章。
(2) 基本概念清晰、準確,一些重要的概念、術語、符號等符合相關國際標準,使學生學習掌握的內容能與國際接軌。
(3) 條理清晰、系統性強,使學生既建立計算機“整機”概念,又能逐級細化,按照從整機到部件自上而下的思想進行課程內容的組織,使學生在每一章節的學習中,都清楚所學章節的內容與整機的關聯,讓學生更容易掌握組成計算機各功能部件的原理和設計方法。
(4) 有合理的知識結構,為進一步深入學習有關計算機后續課程打下良好基礎??紤]到近些年并行處理技術的發展和應用,本教材除了深入講述單處理機系統的組織與結構外,還專門開辟一章的內容講述當今流行的并行處理技術,如多處理機系統、群集系統等。
(5) 力圖反映新技術、新動向,以適應計算機技術發展的需要,使學生“學以致用”。
本教材的編寫從設計者的角度出發,按照組成計算機系統的各功能部件進行章節的劃分,全書共分8章,其中:
第1章首先介紹計算機的發展歷程;然后介紹按IEEE的分類法的計算機的分類;最后,作為本書的一個“序”,概括性地介紹計算機的硬件組成及計算機的層次結構。
第2章首先介紹二進制等基本的進位計數制;再介紹在計算機中是如何對我們日常處理的數值數據和非數值數據(主要包括字符、漢字等)進行二進制編碼表示的;然后介紹數值數據在計算機中的二進制運算方法和實現;最后介紹對計算機中的數據在傳遞過程中產生的差錯進行檢測而使用的數據校驗碼。
第3章首先介紹計算機中匯編級指令的格式、地址結構;然后介紹指令及操作數的尋址方式,以及指令的種類和功能、典型指令系統的組成等;最后對精簡指令系統RISC進行介紹。
第4章首先介紹存儲器的組織、分類和分層結構;然后介紹計算機主存儲器的組成與工作原理;最后介紹提高存儲系統性能的交叉存儲技術、高速緩沖存儲器及虛擬存儲器技術等。
第5章首先介紹計算機輸入輸出系統的組成;然后對計算機輸入輸出的控制方式進行詳細討論,包括程序控制方式、中斷控制方式、DMA控制方式和通道控制方式等;最后介紹計算機存儲設備――磁盤系統以及由磁盤陣列組成的RAID技術。
第6章首先講述計算機內部各部件之間的總線互連結構,介紹總線的基本概念、總線的類別和總線的控制方式等;然后列舉幾種現代微機中常用的總線標準:ISA、PCI等;最后介紹幾種目前在計算機中常用的外部總線接口標準:USB、IEEE 1394和SCSI等。
第7章首先介紹CPU的功能與組成;然后通過一個模型機的例子介紹CPU的指令周期及執行指令的過程;最后介紹CPU控制部件設計的兩種主要方法:硬布線設計法和微程序設計法。
第8章首先介紹計算機系統的并行性概念,對計算機中使用的時間重疊、資源重復和資源共享等提高并行性的技術途徑進行概要性的介紹;然后分別介紹現代計算機普遍采用的流水線技術和多處理機技術等并行處理技術;最后對近些年發展起來且應用非常廣泛的機群系統進行討論。
2教材的主要特色
一門好的精品課程需要高質量的教材作支撐,高質量的教材既要全面覆蓋相關知識領域的內容,又要將這些知識領域的內容很好地融會貫通起來,做到通俗易懂、循序漸進,既便于教師的教學使用,又便于學生的自學。結合計算機學科教育重基礎、重發展、重實踐、重創新的要求,本教材在編寫上,一方面理論與實踐相結合,將枯燥理論知識的講解通過對實際機器系統的解剖,使學生能更好地理解和掌握所學習的內容。例如,為了給學生建立整機的概念,本教材在第1章,通過將學生日常所熟悉的實際PC機與計算機的基本組成部件進行比對的方式,使學生對計算機整機的組成有一個初步的認識,對組成計算機系統的主要部件的基本功能有一個初步的了解。另一方面,圍繞各章節的內容,本教材穿插了一些“知識拓展”,介紹一些計算機系統方面相關知識以及計算機發展的新技術、新知識等。如在第1章穿插了知識拓展――摩爾定律、知識拓展――計算機的性能評測,在第4章穿插了知識拓展――新型動態存儲器SDRAM和DDR,在第7章穿插了知識拓展――網絡存儲系統,在第7章穿插了知識拓展――CPU未來微結構發展等等,為學生開拓視野,增長知識。
另外,為了幫助學生更好地學習本課程,專門建設了計算機組織與結構課程教學網站。網站的課程介紹部分介紹了本課程的教學大綱、教學的組織和安排等;課程教學部分提供了按課堂教學單元進行組織的教學內容、重點難點等;教學資源部分為學生提供了本課程的教學課件和參考資料;學習討論部分提供了一個學生與教師以及學生與學生之間的交流平臺等。另外,教學管理部分還進一步為教師提供了一個學生管理、作業管理、考試管理和成績管理等的平臺,教師可以通過本課程網站更好地組織本課程的教學。本教材的課程教學網站地址為:218.64.56.33/coa。
一.虛擬演播室技術與色鍵技術
色鍵技術是電視節目制作中常用的技術。站在藍色幕布前面的演播室主持人由前景攝像機拍攝,在特技機的色鍵電路中,由主持人的畫面產生鍵信號,在主持人畫面與背景畫面進行疊加時,由鍵信號挖去背景中藍色以外的畫面,而把主持人的圖像嵌插在背景畫面中,形成了主持人置身于背景畫面的圖像,這種技術俗稱為“摳像”,在普通的色鍵技術中,背景畫面往往是已經錄制好的節目。
虛擬演播室技術與色鍵技術十分相像,它也是由前景的主持人為主的畫面和背景畫面,采用色鍵的方法構成一體,產生人物置身于背景的組合畫面。然而,在真正的虛擬演播室技術中,背景是由計算機產生的,計算機接受攝像機的控制,隨著攝像機的推拉搖移,改變俯仰角度,計算機相應改變畫面的大小和角度,并且為了正確再現前景與背景的空間透視關系,還需對前景和背景實施空間鎖定, 這種空間鎖定是通過精確測定攝像機的所有定位參數(包括鏡頭調整參數)來實現的。
二、虛擬演播室的原理
虛擬演播室的原理如圖(1)所示,主持人一般是在呈“U”型或“L”型的藍箱里做著各種表演,實際的、或“真實”的前景攝像機對其進行拍攝,背景圖像(畫面裝飾、道具和風光布景)大都是三維立體圖,由制作人員預先用計算機生成(即預先著色好),前景與背景圖像在傳輸或錄制過程中混合。這種合成圖像的制作方式即被稱為“虛擬”。故此,這種圖像攝錄系統也被稱為“虛擬攝像機”,與傳統的藍幕色鍵技術截然不同的是,虛擬演播室技術中的真實攝像機(前景圖像)與虛擬攝像機(產生背景圖像)始終保持同步互鎖,為此,必須對真實攝像機的以下參數進行確定:
(1)藍幕背景的X、Y、Z坐標值。
(2)攝像機的俯仰、搖移以及可旋轉角度的數值。
(3)鏡頭的焦距和聚焦。
然后,真實攝像機的所有上述參數都送入計算機分析,系統對與前景圖像相關的虛擬背景圖像發出控制指令。最后,錄有表演者和真實道具的前景圖像與計算機生成的背景圖像在色鍵控制器里合成為一幅畫面,傳送至視頻切換臺輸出。
由此可見,虛擬演播室系統可分解為三個部分:攝像機跟蹤部分、計算機虛擬場景生成部分及視頻合成部分。
1.攝像機跟蹤部分。
攝像機在拍攝過程中有平移X、縱移Y、高度移Z、水平角、俯仰角、鏡頭變焦Z00M,聚焦FOCUS等變化,這些參數的改變會引起所攝圖像視野與視角的改變,為了模擬人物所在的三維環境,計算機必須根據這些參數不斷調整三維視圖。而攝像機跟蹤部分的作用正是收取攝像機的位置信息和運動數據,實時的跟蹤真實攝像機,以保證前景與計算機背景“聯動”。由于這種“聯動”是以高速計算機運算的結果,而這種運算永遠是存在著一個運算時間,所以這種“聯動”是有時間差的。只是設計者保證使這種時間差在一個人眼不易察覺的范圍之內,因此要求前景攝象機只能在一個有限的速率內改變位置參數。 目前虛擬演播室的攝像機跟蹤系統主要有以下幾種方式。
(1) 基于傳感器的系統。 該系統通過安裝在攝像機各部分的機械傳感器來獲取各種信號參數, 平面X、Y位移傳感器,一般有光電式、機械式和導軌式等幾種,光電式屬非接觸型,誤碼率低,連續性好,且攝像機移動不受限制,但必須在攝像機移動通道地面畫上格點,以便識別。機械式屬接觸型,由一個與地面相摩擦的圓球帶動水平、垂直兩個方向的光電碼盤,光電碼盤送出X、Y數據,此方式攝像機移動也不受限制,但使用時間長了易產生誤差。導軌式誤碼率低,且必須鋪設軌道,使攝像機的移運受到一定的限制。 高度位移Z傳感器,一般安裝在升降機上,隨升降機的運動檢測Z信號。 水平角度和俯仰角度傳感器安裝在攝像機云臺上,并分別與云臺的水平轉軸和垂直轉軸連動。 聚焦Focus和變焦Z00M傳感器,則附于鏡頭的聚焦齒輪和變焦齒輪處。 該系統速度很快,方法較為簡便直接,是目前虛擬演播室最常用的攝像機 跟蹤方式,但該方式有其固有的缺點,比如得到的攝像機參數精度不高,限制了攝像機的運動,系統的標定很麻煩等等。
(2)基于圖形分析系統 該方式需要把一個精確的網絡圖案以兩種不同的藍色形狀繪制于藍背景上,通過攝像機識別這種圖案并與計算機跟蹤軟件及硬件,預先確定的模型進行對比,以確定物體與虛擬背景的透視關系及距離。 該系統精度較高,無需鏡頭校準,同時攝像機可以不同軌道進行運動,但該系統在對藍色網格圖案制作色鍵過程中的陰影很難處理,很難保持良好的鍵的質量,攝像機拍攝不能垂直于藍色網格圖案,必須偏離30度角以上,否則不能準確定位,而且攝像機必須同時觀察4個網格點以保持跟蹤,這就不可能對人物進行特寫鏡頭的拍攝,攝像機必須緩慢移動以避免跟蹤混淆引起跳幀。還有一點,此系統需要額外的工作站把網格坐標信息轉換為搖移,俯仰及變焦坐標信息供圖形計算機使用,這樣圖案辨識的延時有時高達8至12幀。鑒于上述須待解決的若干問題,網格識別方案在目前的虛擬演播室系統中使用的不多。
2.計算機虛擬場景生成部分
虛擬演播室的場景是計算機繪制的圖形,計算機繪圖有二維和三維之分,因而虛擬場景也有二維和三維之分,二維場景沒有厚度,只是一個平面圖形,所以二維虛擬場景只能作為背景平面,出現在真實人物的后面,而三維虛擬場景中的景物具有Z方向的厚度,是立體的,以背景中的一個長方體為例,長方體是一種六面體,其底面和背面一般是看不見的。然而隨拍攝角度的不同,有可能看見其正面,側面和頂面。在計算機中應保存其正面、側面和頂面的圖像,實際上,在計算機內,其正面、側面和頂面的圖像都分解為像素的形式,保存在存儲器中,當攝像機處于任意的角度位置時,計算機即進行計算,獲得相應的畫面。同時,三維的場景中,虛擬景物既能作為真實人物的前景出現,也能作為背景出現如圖(2)所示: 并且真實人物還能圍繞虛擬景物運動如圖(3)所示:
這樣在視覺效果上更具縱深感,更加真實。顯然對于計算機的運算能力、運算速度提出了很高的要求。當然還必然進一步考慮許多細節問題,比如燈光和陰影的問題,當攝像機改變其取向位置時,根據照明條件,陰影部分將發生相應的變化,背景畫面應該能夠反映出這種變化。
3.視頻合成部分
虛擬演播室系統視頻合成的基本技術是色鍵器摳像,攝像機拍攝的藍幕布前的真實景物:通過色鍵器進行摳像處理,與計算機生成的虛擬場景合成一個畫面。
(1)深度合成技術
虛擬演播室的一個基礎就是前景和背景合成的時候,前景的演員可以被背景的內容覆蓋,為了做到這一點,一般都采用深度合成技術。所謂深度就是前后關系,這一種技術要考慮兩路鍵信號的深度信息,就可以讓背景的內容在演員前面。這不同于二維圖像的層技術。因為是三維圖像的各像素都帶有深度信息,而且各像素還有與攝像機的距離的信息,由這兩部分的信息決定前景和背景的像素的可見性。在實時生成的時候,高性能的終端通常使用一個深度緩沖區來貯存像素的深度值,但是在常規演播室里面,實際信號是沒有深度信息的。而且也沒有一個方法能夠實時的賦予前景信號以深度信息,可以采用一個估計值,即估計攝像機與演員之間的距離,前景信號通過色鍵摳像得到演員部分的信號,先與背景作常規意義上的合成,得到色鍵序列值,這一部分確定了前景在背景中的位置,再由深度值來進行前后關系的調整,最后輸出的深度鍵值序列就確定了前景和背景的可見性,能夠按常規方法合成。
(2)同步技術
要使前景和背景天衣無縫的合成,既要讓兩個攝像機的參數保持一致,還要讓兩個攝像機同步,因為當進行實時合成時,前景信號的每一幀是與背景信號的對應幀合成。背景信號因為攝像機跟蹤系統和實時生成都要耗費時間,所以要讓前景信號延時來保證與背景信號的同步合成。
三、系統的實現
從上面的原理分析可以發現,虛擬演播室每生成一幀圖像,就要處理相當多的數據,在實拍時還要求處理速度,達到實時的電視速率,即一秒鐘就有25幀圖像,如果按常規的處理方法,一切由計算機串行處理,是絕對不可能完成的,這就對虛擬演播室的軟硬件設計提出了較高的要求:
1.硬件工作平臺
為了使虛擬背景畫面與攝像機攝取的前景畫面相配合,系統至少要工作在配置有視頻處理板的SGI高性能工作站,同時為了完成實時的圖像序列生成,必須把這個任務按處理內容分類進行并行處理;實時的完成攝像機跟蹤運算,完成人工背景和實際信號深度,支持三維自動建摸的多重處理,對于預處理結果的描述和圖像處理的工作,每一個任務要有一個專門的硬件來完成。
2.軟件系統
軟件系統設計的思想是根據硬件的并行處理的特點,一般采用自適應并行處理的計算。這個處理在實際上就是由一系列的處理器組成的服務器盒,這個服務器盒能完成虛擬演播室所需的各種處理,另外,自適應并行處理模式將運行和編程分開。不需要在編寫程序時作并行處理的考慮,因此該種設計方法,因為處理問題較為靈活而成為虛擬演播室軟件設計思想的主流。
四、虛擬演播室的現狀與未來
自從1994年第一套虛擬演播室在國際廣播電視會議上展示以來,世界上有很多廠家推出了自己的虛擬演播室系列,但主要的有四個廠家即:
(1)以色列的ORAD公司以其獨有的模式識別技術和圖像處理技術開發出高性能Cyberset O及入門級Cyberset Et系列產品。
(2)離散邏輯公司的Vapour是采用高性能終端,全功能的實時虛擬演播室系統。
(3)E S公司的Mindset是基于NT平臺,采用Orad公司的攝像機跟蹤系統,能夠接多個攝像機。
(4)RTSET公司的Larus Otus采用傳感器跟蹤技術,速度快,提供了靈活的合成能力。
另外還有ACCOM的ELSET自動生成特征,讓用戶能很方便的根據自己的意愿來建模和燈光設計;Digmedia的Brainstorm Estuio產品是采用模式識別方法定出攝像機的參數,在建模上功能比較強;For-A的Didi Wmp采用了Orad公司的視頻處理和延時設備,采用多通道結構,能實時處理等。
因為高性能產品整套系統的價格比較高,難以普及,所以各廠家又推出了入門級產品,如Orad的Cyberset E以滿足眾多的電視臺和影視制作單位,采用性能較低的終端如:SGIO2采用WINDOWS NT作為平臺,進行非實時的圖像合成,系統采用開放式結構可以擴充到高性能的實時系統。
就目前情況看,虛擬演播室相對于傳統演播室的優勢是不言而喻的,但就其未來的發展,虛擬演播室還需要解決其自身的若干缺限:
·藍景區中主持人及演員的活動范圍及定位。
·為抑制噪聲邊緣需要在實施鍵控時格外小心。
·普遍使用的槽置單調光、柔光。
·演員投在虛擬地面、墻面和人工景物上真實陰影的保存。
·自動Z鍵(深度信息)控制。
·前后景的同步及延時控制。