摘 要: 分析了利用遠程網絡對機器人進行遙操作控制的主要技術關鍵,在此基礎上介紹了遙操作控制系統的設計思想和總體結構,并闡述了視頻圖像" title="視頻圖像">視頻圖像壓縮的流程,其中所采用的幀間壓縮方式是當前的創新技術,最后給出了系統性能的定量分析結果。
關鍵詞: 遠程機器人 離散余弦交換 哈夫曼編碼
隨著計算機網絡的迅速發展和機器人應用的逐步推廣,對遠程機器人進行實時的控制和監測,已經越來越受到人們的關注。我們所承擔的國家863項目“利用遠程網絡技術的機器人遙操作研究”正是在這樣的背景下展開的。
1 總體結構和模塊劃分
通過Internet網絡實現對遠程機器人的監控,是指用戶在本地發送控制命令給遠端的機器人,由遠端機器人的控制系統對控制命令加以解釋、執行,從而控制機器人完成相應的動作。同時,由遠端的攝象機把現場的圖像加以采集。由于視頻圖像信息的數據量非常大,不可能在Internet網絡上實時傳輸,因此,必須先對圖像信息進行壓縮,然后通過網絡傳送到用戶站點。用戶站點把接收到的已壓縮的圖像信息進行解壓縮,還原成原來的圖像。隨后,用戶可根據總的調度程序給遠端機器人發出新的控制命令,遠端機器人再完成相應的動作。同樣,又通過網絡把機器人的動作情況傳送到用戶站點。于是,遠端機器人的一舉一動都能及時地呈現在用戶的面前,這就是所謂的現場感。
為了把控制命令和運動過程都記錄下來,為以后的分析、研究提供準確的數據,有必要建立控制命令和運動過程數據庫。按這樣的設想,該系統的總體結構如圖1所示。
系統采用客戶機/服務器(Client/Server)體系結構。對于控制命令來說,客戶機接受用戶提供的機器人控制命令,然后形成相應的命令幀格式,發送到網絡上。服務器對接收到的控制命令進行分析解釋,并通過機器人的控制系統驅動機器人執行相應的命令。對于視頻圖像來說,首先由客戶機采集視頻圖像,然后進行數據壓縮,再發送到網絡上。服務器則把從網絡上接收到的圖像數據進行組合,完成相應的解壓工作,恢復視頻圖像的本來面目。
從整個系統的工作過程可以看出,從對控制命令的處理這一角度來看,本地是客戶機,遠端是服務器,而從對視頻圖像的處理這一角度來看,遠端是客戶機,本地是服務器。也就是說,客戶機/服務器結構不是從物理上的本地或遠端來劃分的,而是從邏輯上的不同功能來劃分的。之所以這樣劃分,是因為在該系統中,視頻圖像的處理和傳輸過程是相對獨立的,而不是控制命令的簡單應答和反饋信息。總之,客戶機主動發出各種信息,而服務器則被動地接收來自客戶機的信息,并進行相應的處理。
2 視頻圖像壓縮" title="圖像壓縮">圖像壓縮傳輸的基本流程
系統首先建立獲取窗口,然后指定回調函數。系統獲取的圖像存放在一段連續的內存中,以回調函數的形式傳送給編程人員。在回調函數中,先進行壓縮處理,然后把大數據塊打包,再把數據包按序號依次發送到Internet網絡上。本地站點接收到數據包以后,按序號組合成數據塊,然后解壓縮,最后在給定窗口上重現視頻圖像。視頻圖像壓縮傳輸過程如圖2所示。
我們采用的是混合編碼方案,其視頻圖像壓縮的基本流程如圖3所示。首先判斷是否為關鍵幀,若是關鍵幀,則先進行離散余弦變換DCT(Discrete Cosine Transform),然后對DCT系數作量化處理,再對量化后的交流(AC)系數以Z形路徑進行行程編碼RLE(Run-Length Encoding),最后進行哈夫曼編碼;若不是關鍵幀,則采用幀間壓縮。
對于幀間壓縮,我們比較了兩種不同的方式。
第一種方式以象素為基礎,首先將其與上一幀作差,得到一個稀疏的矩陣。在作差的過程中,采用小范圍匹配的方法去掉一部分噪聲,然后采用改進的行程編碼得到最后結果。再把當前幀圖像保存在指定的內存區內,作為下一幀作差的參考幀。
第二種方式是以宏塊為基礎的運動補償方式,首先計算運動矢量,然后采用行程編碼RLE和哈夫曼編碼。由于機器人的運動主要是平移和轉動,而缺少局部的細微變化,用運動補償可以達到較高的壓縮比" title="壓縮比">壓縮比和相當好的圖像質量" title="圖像質量">圖像質量。
由于與遠程站點之間通過Internet網進行傳輸時,信道的數據傳輸率" title="傳輸率">傳輸率不是固定的,因此,系統中通過信道測試反饋信息來改變量化時的步長,從而調節視頻信息的數碼率,以便更好地適應信道傳輸率的變化。
3 實驗數據和性能分析
我們對幾種不同的壓縮算法進行了比較。為了接近Internet網的數據傳輸率,采用的數據流量為10kb/s。具體的實驗數據如表1所示。
由上述數據可畫出使用IC壓縮器(IC Compressor)進行定流量壓縮時,幀頻和壓縮比隨圖像格式而變化的曲線如圖4所示。
從圖中曲線可以看出,隨著圖像的變大,壓縮比大大提高,而幀頻則隨之下降。這是因為,當圖像變大時,背景相應變大,而在背景幾乎不變的情況下,幀間壓縮的壓縮比會相當大,從而使總的壓縮比明顯提高;隨著圖像的增大,數據量將成倍增加,在數據傳輸率一定的條件下,幀頻必然會下降。
使用定質量(Fix Quality)壓縮時,幀頻和壓縮比隨質量而變化的曲線圖5所示。
從如上曲線可以看出,隨著對圖像質量要求的提高,幀頻和壓縮比均呈下降趨勢。這是因為,對于特定的壓縮算法,要提高圖像質量必須要增加壓縮后的數據量,壓縮比自然會下降;而在網絡數據傳輸率一定的條件下,傳輸一幀的圖像數據所用的時間就會增加,從而在單位時間內能傳輸的幀數必然要減少。
對于實驗的第一種混合編碼方式,其結果明顯優于以上方式,在圖像質量一定的情況下,幀頻和壓縮比均有明顯提高。
對于采用的第二種混合編碼方式,在數據傳輸率較低的情況下,達到了較高的壓縮比、較好的圖像質量和基本實時的視頻效果。
實驗數據中給出的幀頻和壓縮比計算如下:記錄圖像采集開始和結束的時刻,在播放過程中統計幀數,用幀數除以時間差即為幀頻:
幀頻=幀數/(結束時間-開始時間)
用圖像信息應傳輸的字節數除以實際傳輸的字節數即為壓縮比:
壓縮比=應傳字節數/實傳字節數
參考文獻
1 Gross、Markus H.Compression methods for risualiration.Future Generation Computer Systems、Jan 1999:11~29
2 James L. Flanagan.Technologies for Multimedia Communications.Proceeding of the IEEE 1994;82(4)
3 Video Coding for Low Bit Rate Communication Recommendation.H.263、1996;3