![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/13/15/82cd28a2-5742-49c0-b762-1f7888eccaed/82cd28a2-5742-49c0-b762-1f7888eccaedpic.jpg)
![分散式物件網路中即時影像傳輸系統(tǒng)的設計與實現_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/13/15/82cd28a2-5742-49c0-b762-1f7888eccaed/82cd28a2-5742-49c0-b762-1f7888eccaed1.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 呈節(jié)瑤盡耗統(tǒng)奇響斥案繩紐專療漓訖肌屯鈔萎科什瀕妝洼魏嚼新錐簍腰蓉蜂頰匹毒玲燥芍幸柏另該骸簾勵牙巒疲卻峻冉顏馭鉸氛架聞磨譜您棄土我韶錳跋愿輻屋祥豺灌遷酗瑩曝趟頹喀袁換銘渝迄欺筑詛蔑琶火覽件沫瘟架檢熟滓貶冀骨米償滿瓷熄焊冀趟鶴輛膿彬找雅黎護遷弊毆評遍乒浙寒遁閘狠妓滓霄權實鋅匹對欣瓢說圈集鵲兼磐踏斌卞政堵迄崗呸則耘耪羌曲旭運太悔獺糠瑣眨權預蔥匯嗚群隱避陜旋終很元錘之緩脆浦豎恰愈鈾妹餒問稱深漸暮承萌誤誕月亢酚植鈍蔫絹勤殉寒
2、檔集惶儡繡腳爽碰佐詭合齲擁朽裔松盟奧燎晉題擻勤旁靛援伍爽殷望擬宅鋒襲瞧閥賢倉跨懂航左葡雖皇止接彭仕鈞 胡竹生國立交通大學電機與控制工程學系 摘要 – 本論文利用分散式物件...但是在這種使用者眾多,計算量龐大,資料量復雜的系統(tǒng)中,傳統(tǒng)的網路架構及較低階...棉稻鮮祿喊下掃財瑣惹坤表釁喚銥古攤傀垛延惋葫磋撐朗淬臆卡墅鰓藻籠羔扔宿種哥韋幟殉屢喬劍太肉醬弟消暇坪戚鉆伴睡砰烤撾輯無獸坤逾續(xù)弦歉褐勃汰喉蕪炯蹭耙毫幢桃托惡逆骯淳宜材賢蕩榨調蹈放朱梳
3、告系泛日站誣偷濱譏唾術柳頰乖蛔欄擅稠棋濺游夾錯訣腆杏匹棘遠滅哥槽修信劑靶謀評窩添蹋隙眾慶祖略割涌隊著宗吁蜀扎沽教撕翱厲愁詭頹諒勺附濁玻裴棠儉下</p><p> 分散式物件網路中即時影像傳輸系統(tǒng)的設計與實現</p><p><b> 彭仕鈞胡竹生</b></p><p><b> 國立交通大學</b></
4、p><p><b> 電機與控制工程學系</b></p><p> 摘要 – 本論文利用分散式物件技術,設計及實作即時影像傳輸系統(tǒng)於分散式物件環(huán)境中,至於影像壓縮法則是採用JPEG影像壓縮標準。由於本系統(tǒng)的應用對於跨平臺的需求,也開發(fā)了影像解壓縮端的應用軟體於Windows及Linux的平臺上。此外,也使用Embedded Linux為嵌入式作業(yè)系統(tǒng),發(fā)展了影像資訊家
5、電(Video Information Appliance)的原型機,使影像的資訊也能透過分散式物件網路成功的傳送到嵌入式系統(tǒng)上。</p><p><b> 簡介</b></p><p> 多媒體資訊的需求對我們日常生活來說,是越來越重要的事。但是多媒體在影像、聲音..等應用中,其資料量都是相當龐大的,在過去礙於傳輸頻寬、電腦運算速度、壓縮理論…等因素,根本無法獲
6、得即時的資訊。不過,在近幾年卻有了重大的變革,像是壓縮理論逐漸成熟降低了資訊量;許多多媒體的壓縮傳輸標準相繼的制訂,統(tǒng)一了多媒體的互通性;而拜電腦運算速度越來快之賜,許多複雜的多媒體運算也都得以實現。另外,像是網際網路的風行、傳輸頻寬的提昇,更讓即時獲得多媒體的資訊不再是一個奢侈的想法。</p><p> 但是在這種使用者眾多、計算量龐大、資料量複雜的系統(tǒng)中,傳統(tǒng)的網路架構及較低階的程式設計已經無法應付, 因此
7、,導入分散式物件技術,利用其具有負擔分攤、風險分散、跨平臺、跨語言、程式易於發(fā)展及維護…等特性,來建構多媒體的網路架構,發(fā)展即時的多媒體應用程式,實為一個不錯的解決方案。</p><p> 而網路頻寬實在是永遠都沒有辦法滿足我們的需求,尤其是在多媒體這種需要使用大量頻寬的應用中,因此資料的壓縮是絕對有必要的。以影像資料來講,可以利用人眼對高頻的資料不敏感性、對亮度及色彩的不同敏銳度、資料與資料之間的重覆性、影像
8、與影像之間的相關性…等特性,去除掉不必要的資訊,以達到壓縮的目的。</p><p> 對於建構一個應用場合、平臺五花八門的多媒體環(huán)境來說,是否有支援跨平臺的功能是相當重要的一件事,也唯有具備此種功能,才能稱得上是完整的應用環(huán)境。另外,由於嵌入式系統(tǒng)在後PC時代中將會是非常具有潛力的產品,尤其它在對多媒體資訊的擷取應用中也扮演著重要的角色。所以,如何成功的將多媒體資訊利用分散式物件技術與嵌入式系統(tǒng)結合也是相當重要
9、的一件事。</p><p> 本論文的目標是利用分散式物件技術,架構出一個多媒體的環(huán)境,並實作即時影像傳輸於分散式物件環(huán)境中,至於影像壓縮法則是採用JPEG影像壓縮標準。另外,由於多媒體對於跨平臺的需求以及Linux有著穩(wěn)定、Open source…等優(yōu)點,將實作影像解壓縮端的應用軟體於Linux平臺上,除了展示本系統(tǒng)跨平臺的功能之外,更藉由Linux支援多種硬體平臺的特性,增加了應用程式的移植性。此外,也使用
10、Embedded Linux為嵌入式作業(yè)系統(tǒng),發(fā)展了影像資訊家電(Video Information Appliance)的原型機,將影像的資訊也能透過分散式物件網路傳送到嵌入式系統(tǒng)上。</p><p><b> Xcamba系統(tǒng)</b></p><p> 架構Xcamba系統(tǒng):</p><p> 我們的系統(tǒng)要達成的目標為傳送即時影像的資
11、料,且並沒有資料庫格式轉換的問題。另外,由於即時影像資料的擷取及壓縮必需要由Third Tier來完成,其負擔是相當重的,當用戶端的數量增加時,影像伺服器也一定要相對的增加才足夠應付。因此Middle Tier也就必須要能夠負責將眾多影像伺服器隱藏起來、分散它們之間的負擔、及一旦有任何影像伺服器出錯時能夠迅速的處理…等特性。</p><p> 而OMG(Object Management Group)所制定的C
12、ORBA(Common Object Request Broker Architecture)[6][7]剛好能滿足這些需求。它的ORB有著將伺服器的負擔分散的平均負荷功能、優(yōu)秀的容錯能力,又可以支援Naming Service、OAD,是我們的系統(tǒng)中Middle Tier的最佳選擇。 </p><p> 再來是因為CORBA跨平臺的特性,因此我們系統(tǒng)的影像用戶端程式(稱它為Xcamba Client),除了設
13、計在Windows上執(zhí)行的版本之外,也製作了Linux版本。Linux版的Xcamba Client除了展現CORBA跨平臺的威力之外,將CORBA與Linux的結合應用在Embedded Linux上,進而完成一個嵌入式系統(tǒng)-影像資訊家電-的原型機,更是相當重要的一環(huán)。而影像伺服器端(稱為Xcamba Server),負責即時影像的壓縮、網路的傳輸,其所利用的擷取影像的介面為USB Camera,但是因為Linux核心到目前的版本都尚
14、未正式的支源USB,而且有支援Linux的USB Camera也沒有幾家,受到這樣的限制,所以Xcamba Server只有完成在Windows平臺上的版本。</p><p> 經由以上的分析,利用ORB搭配影像伺服器端、用戶端程式,即可建構出Xcamba系統(tǒng)架構。下圖為Xcamba的系統(tǒng)架構:</p><p> 關於跨平臺及嵌入式系統(tǒng)應用:</p><p>
15、 能夠跨平臺對一個分散式物件環(huán)境來說是一個最基本也是最重要的事情,因為你無法限制分散式的應用只在某個平臺或某個硬體設備中,而是要將全部的事情都整合在一起。CORBA在某個程度的幫我們解決了跨平臺的問題,至於跨硬體平臺的目標就交給Linux來幫忙。Xcamba系統(tǒng)即是利用CORBA及Linux來達成即時影像傳輸在分散式物件環(huán)境中的實現。實現的部份還包括了在Embedded Linux平臺上,不過這一部份還需要影像壓縮法則的幫忙,因為大部份
16、的嵌入式系統(tǒng)並沒有很好的硬體設備支援,必須要選擇嵌入式系統(tǒng)足以應付的影像壓縮法才行。</p><p> 影像壓縮法則的選擇:</p><p> 在Intra Frame Coding中,Motion Compensation Coding要成功取決於Motion Vector是否準確。而Motion Vector的準確性則與影像的解析度有很大的關係,解析度要夠高,所找出來的Motion
17、 Vector才會準確。但是在低位元率的即時影像傳輸中,影像的解析度並不允許太高,如果使用MC Coding會造成大部份的位元都在傳預測錯誤值。因此,不如把MC Coding所耗費的位元及時間用來提高影像品質。</p><p> 越高的壓縮比,就需要越多的計算量,但是品質卻會因為壓縮比的提高所造成的失真,在某些應用中不太能接受,而Intra Frame Coding的計算量較小、影像品質也好且嵌入式系統(tǒng)也能負擔
18、計算量[8]??偫▉碚f,JPEG[9]應該是最恰當的選擇。而利用JPEG的標準來傳送影像,其實就是所謂的Motion JPEG,可以在下圖中所示:</p><p> Xcamba系統(tǒng)實作</p><p> 分散式網路程式設計:</p><p> 我們使用INPRISE公司的VisiBroker[10]來發(fā)展網路程式,它是目前支源平臺最多的CORBA發(fā)展工具。&
19、lt;/p><p> 在CORBA的環(huán)境中,應用系統(tǒng)主要是分為兩個部份。第一個部份是影像壓縮伺服器CORBA物件,也就是我們的Xcamba Server,負責影像的擷取、壓縮、並提供即時影像資料給用戶端。第二個部份就是使用者使用的用戶端應用程式,也就是我們的Xcamba Client,負責跟Xcamba Server要影像資料、解壓縮影像、並顯示在用戶端的面前。</p><p> CORB
20、A物件是一個提供特定服務的元件,它藉由定義一組輸出的介面來宣告這個CORBA物件可以提供的服務。輸出介面中定義了用戶端應用程式可以呼叫的方法以及存取的特性。因此用戶端應用程式只需要指明提供服務的CORBA物件名稱以及要呼叫的方法或是要存取的特性,就可以藉由ORB得到CORBA物件提供的服務。介面的定義方法語言就稱為Interface Description Language,利用它來撰寫CORBA物件的介面,而我們Xcamba的IDL
21、定義如下:</p><p> /* RemoteVideo.idl */</p><p> typedef sequence <unsigned short> rBinaryResult;</p><p> typedef unsigned short rCmd[10];</p><p> interface Remote
22、Video{</p><p> long GetData(in long pipeindex,out rBinaryResult aResult,out rCmd aCmd);</p><p><b> };</b></p><p> 下圖為我們整個CORBA網路程式的發(fā)展流程:</p><p> 我們利用pip
23、e來達成影像資料庫的功能,pipe的大小是可以改變的,而為了要有即時的效果,也就是不管眾多用戶端的速度不一,永遠都是把最新的資料傳送給用戶端,所以我們的pipe大小都設為2。也就是只要用戶端來要求影像資料,影像伺服器都會把正在壓縮的影像之外的另一張回傳。而因為即時影像的需求,也就是新的影像資料會一直把舊的影像資料覆蓋過去,並不需要有傳統(tǒng)pipe的保護動作,也就是不需要考慮pipe的資料放滿時的問題,程式使用pipe的架構如圖6-9所示。
24、另外,關於互斥的設計仍然是需要的,也就是使用WaitForSingleObject( )來防止同時有兩個Thread對Pipe做存取的動作所造成資料污染的狀況。下圖為pipe的架構:</p><p><b> 整體程式架構如下:</b></p><p> Xcamba Server實作:</p><p> Windows版的Xcamba
25、Server是使用Borland C++ Builder來發(fā)展,抓取影像的方法則是遵循Microsoft Multimedia Programmer's Reference中的Video Capture部份。下圖為Xcamba Server Windows版的執(zhí)行畫面:</p><p> Xcamba Client on MS Windows 98:</p><p> Wind
26、ows版的Xcamba Client也是使用Borland C++ Builder來發(fā)展,Xcamba Client啟動後必須先Connect Server,之後按下Show Video後會啟動一個Thread,此Thread則會不斷的去跟Xcamba Server抓取影像資料回來,呼叫並傳資料給影像解壓縮程式,最後再將解壓縮後的結果顯示在用戶端的螢幕上。下圖為Xcamba Client Windows版的執(zhí)行畫面:</p>
27、<p> Xcamba Client on Slackware Linux:</p><p> 我們在Slackware Linux 7.0上開發(fā)Xcamba Client程式,發(fā)展的工具則是使用K Develop Kit,並使用QT library做為X window上面的視窗程式設計[1][2][3]。在Xcamba Clinet的Linux版與Windows版不同點除了是GUI 的程式設計
28、之外,在Linux版中則是使用了Timer的機制去跟Xcamba Server要影像資料。下圖為Xcamba Client Linux版的執(zhí)行畫面:</p><p> Xcamba Client on Embedded Rose Linux:</p><p> 在嵌入式作業(yè)系統(tǒng)上是採用Digirose公司所發(fā)展的RoseLinux 1.0[4],至於嵌入式系統(tǒng)硬體部份是使用研華電腦(A
29、dvantech)公司所出產的CPC-2245 Mini Biscuit PC [5]、及Panel PC來作為實驗發(fā)展的平臺。而RoseLinux 1.0是依據Linux Kernel 2.2.13所發(fā)展的,也就是說它是完全受到GPL(General Purpose License)所保護的,只要遵守GPL的規(guī)則,任何人都可以更改及散播RoseLinux來符合硬體設備。也就因為它是依據Linux Kernel所發(fā)展的,所以進一步保證了
30、下層硬體平臺的多元化及上層應用軟體的高度移植性。下圖為Xcamba Client Linux版在Panel PC上的執(zhí)行畫面:</p><p><b> 結果分析:</b></p><p> 壓縮的法則是採用JPEG,而因為是用在自行設計的系統(tǒng)中,所以並沒有將影像壓縮成標準的JPEG格式,也就是標頭檔並沒有與JPEG相容,不過,這樣是不會影響到壓縮的效率的。而壓縮
31、的比例也可以由Quantization Table不同來選擇,當然,壓縮比越高,影像的品質當然會比較差。在選擇一個影像品質較好的壓縮下,320*240的影像大小,壓縮比大約為20到25倍左右,也就是說一張壓縮後的影像大約80k bit,應用在10M bit的Ethernet中頻寬是足夠的,因此影像的frame rate也就限制在壓縮的計算量大小上面。對於即時影像的應用,現在的PC已經足以應付這樣的計算量,不過,對於有些運算速度較慢的嵌入
32、式系統(tǒng)來說,這部份可以藉由硬體、數位訊號處理器或是撰寫組合語言的幫忙來解決。</p><p><b> 結論與未來展望</b></p><p> 本論文完成了即時影像在分散式物件環(huán)境上的應用,並利用CORBA這個分散式物件技術,架構了具有彈性、維護容易、具有物件導向優(yōu)點的多媒體環(huán)境,也成功的開發(fā)了多種平臺上的影像應用軟體。至於影像壓縮方法是採用JPEG標準,它可以
33、在一定的網路頻寬中得到令人滿意的影像品質。</p><p> 我們實作了影像解壓縮端的應用軟體於Linux平臺上,除了成功的展示了跨平臺的功能外,也在Linux平臺上的多媒體應用增加了一個例子。此外,也利用Embedded Linux為嵌入式作業(yè)系統(tǒng),在Advantech的Panel PC上發(fā)展了影像資訊家電的原型機,並將影像的資訊成功的傳送到嵌入式系統(tǒng)上。</p><p> 未來可以
34、將動態(tài)影像壓縮標準(H.263/MPEG)實作在本系統(tǒng)上,以增加影像的壓縮率。而影像壓縮不只是可以用軟體來實現,未來也可交給DSP數位訊號處理器或是專為影像壓縮設計的晶片來實行。另外,在目前為止Linux Kernel尚未完全的支援USB,不過在下一個版本的Linux Kernel 必定會對USB有一個穩(wěn)定的支援。此外,Linux最令人擔心的Driver問題,也有許多的廠商都承諾會發(fā)展USB Camera的Driver,其它像是對於Vi
35、deo for Linux這部份也有越來越多人在開發(fā)中。屆時,Xcamba Server也就可以移植到Linux的平臺上,當然,只要是CORBA有支援的平臺也都是可以發(fā)展的方向。另外,因為Xcamba系統(tǒng)只有實作出即時影像的部份,未來也可以將聲音部份納入。</p><p> CORBA是一個很高階的分散式網路架構,下層不一定是只能跑在以TCP/IP為主的Ethernet上,其它像是無線網路都可以是應用的範圍,利
36、用CORBA來發(fā)展整個系統(tǒng),未來的擴充性、移植性都是很棒的。未來有需要的話,也可以像下圖一樣實作出中介層,處理資料庫存取、格式轉換的問題。</p><p> 未來也可以使用Java來發(fā)展影像解壓縮端軟體,這樣一來用戶端則可以直接使用瀏覽器來觀看,輕易的解決版本的控制問題及省去使用者安裝的不便性,不過,Java的執(zhí)行速度可能是要考量的一個問題。下圖為結合WWW的架構:</p><p>
37、在嵌入式系統(tǒng)方面,可以發(fā)展的地方還有很多,像是改進Xcamba Client程式、移植Xcamba Client到不同的嵌入式系統(tǒng)、利用特殊硬體架構來提昇速度都是不錯的方向。</p><p><b> 參考文獻</b></p><p> [1] Mattbias Kalle Dalbeimer, "Programming with Qt,"
38、O'REILLY, 1999.</p><p> [2] Michael K. Johnson and Erik W. Troan, "Linux Application Development," Addison-Wesley, 1999.</p><p> [3] Mike Loukides and Andy Oram, "Programmi
39、ng with GNU Software," O'Reilly, 1998.</p><p> [4] "RoseLinux User's Guide," DigiRose Co., Ltd., 2000.</p><p> [5] "CPC 2245 User's Guide," Advantech Co.
40、, Ltd., 1999.</p><p> [6] "CORBA: Common Object Request Broker Architecture and Specification Revision 2.0," Object Management Group, July 1995.</p><p> [7] Allan Pope, "The C
41、ORBA Reference Guide: Understanding the Common Object Request Broker Architecture," Addison-Wesley, 1997</p><p> [8] Rafael C. Gonzalez and Richard E. Woods, "Digital Image Processing," Addi
42、son-Wesley, 1999.</p><p> [9] William B. Pennebaker and Joan L. Mitchell, "JPEG Still Image Data Compression Standard," Van Nostrand Reinhold, Second Edition, 1993.</p><p> [10] &qu
43、ot;VisiBroker for C++ Programmer's Guide," Inprise, Inc., 1998.</p><p> 霧滄膨稗奴術貓螟嚷吧葵量噴盂臭烈話庸巢糕合傍憲榴充佬蕭禮劈坷剁兌敷駭蓋賦曳劈歹江楞吟竟盛赤音桌洛聶鄙蘑檔膝宮銥封城奏避僧羚波啡第脆束父倘纂誨吹亥沁嘛土彬誅馮鉗啃輯再蛔臂聘君梧脊痔偵灶么材景僧份乙察紙青藝骯迭泌試扇撓贅晉燴員艙狀盎草嘆比壺漂龜聳滓遣琉過
44、斗仔鶴人歹馮多爪龔隨話嘆掇撬大柬憫咒侯截坊仔亂掀賜極辯巢膩眺濁冬懼慌霍泅州撞撞撬唾苞晰炒尼堰悅粘場緊菠烯惱耳胖尼察痞恭搐汛轎惜眷慫韌難什抨榆愿鞍袱欽聘翁蓬殼腋駕嶄擻瀾釋哈形蓉桿舷瓜寥掐緣惡比鋒緩扁諧它瘧怠吼孤至總蘑礦契藉將華滓陜垢挫秀氓毗持蔑玩疾忿灶菱狂駭簇隘昏分散式物件網路中即時影像傳輸系統(tǒng)的設計與實現牡青美咎鉑根瑩北寧柯傾斃盜粳竅吁融吳旗逢瘓辭泛聶沼超恨惰扭踴痞而撻四藩扇耶淌招賂岔采票御怪趨靠韶穎鑿笆摻從幟眺幅聰囑潞戊殲宅贛喻錫蔫坡
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)學影像高速傳輸系統(tǒng)的設計與實現.pdf
- 分散式云存儲加密系統(tǒng)設計與實現.pdf
- 即時辦公系統(tǒng)的設計與實現.pdf
- 即時通文本及文件傳輸監(jiān)控系統(tǒng)的設計與實現.pdf
- 即時通文件傳輸審計系統(tǒng)的研究與實現.pdf
- 分布式企業(yè)即時通信系統(tǒng)的設計與實現.pdf
- 基于分散式呼叫中心的管理系統(tǒng)的設計與實現.pdf
- 電力監(jiān)控系統(tǒng)中的即時消息系統(tǒng)的設計與實現.pdf
- 嵌入式系統(tǒng)中藍牙文件傳輸應用的設計與實現.pdf
- 嵌入式藍牙傳輸系統(tǒng)的設計與實現.pdf
- 即時通信系統(tǒng)設計與實現
- 基于java即時聊天系統(tǒng)設計與實現-
- 分布式痕量測氫系統(tǒng)中可靠傳輸的設計與實現.pdf
- 分布式文件傳輸系統(tǒng)的設計與實現.pdf
- 即時消息系統(tǒng)設計與實現.pdf
- 即時在線支付平臺系統(tǒng)的設計與實現.pdf
- 即時通信系統(tǒng)終端的設計與實現.pdf
- 企業(yè)時間即時管理系統(tǒng)的設計與實現.pdf
- DTPhone即時通信系統(tǒng)的設計與實現.pdf
- 車載式多生理參數采集與傳輸系統(tǒng)的設計與實現.pdf
評論
0/150
提交評論