国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

遠(yuǎn)程圖像的截取與傳輸

2014-07-13 18:51:11楊華
電腦知識(shí)與技術(shù) 2014年5期
關(guān)鍵詞:實(shí)時(shí)遠(yuǎn)程圖像

楊華

摘要:該文對(duì)基于計(jì)算機(jī)網(wǎng)絡(luò)遠(yuǎn)程控制管理的圖像實(shí)時(shí)抓取與傳輸技術(shù)在應(yīng)用方面和實(shí)現(xiàn)方式上進(jìn)行了全面的闡述,對(duì)比目前相關(guān)技術(shù),分析利弊及原因,給出了解決遠(yuǎn)程屏幕圖像在網(wǎng)絡(luò)傳輸技術(shù)上的一種辦法,并且結(jié)合實(shí)踐,解決了資源占用和穩(wěn)定性對(duì)遠(yuǎn)程屏幕圖像傳輸?shù)南拗萍坝绊?,并提出了解決問(wèn)題過(guò)程中可能遇到的一些問(wèn)題。

關(guān)鍵詞:圖像;抓??;傳送;遠(yuǎn)程;實(shí)時(shí)

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)05-1056-02

The Research on Remote Screen Capture and Real-time Image Transmission Method

YANG Hua

(Inner Mongolia University of Technology, Hohhot 010000, China)

Abstract: This article expounds on the remote control and management of computer network for real-time image capture and transmission technology in application and the realization of the way, compared with the current technology, analyzes the advantages and disadvantages and the reasons, gives the remote screen image in the network transmission technology is a kind of method, and combining the practice, to solve the limitation and influence of Resource usage and the stability of the remote screen image transmission, and puts forward some problems that may be encountered in the course of solving problem.

Key words: image; capture; transmission; remote;real - time

隨著計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用的迅猛發(fā)展,種類繁多的有關(guān)計(jì)算機(jī)網(wǎng)絡(luò)的應(yīng)用軟件也得以快速發(fā)展。在這些軟件之中,有關(guān)計(jì)算機(jī)網(wǎng)絡(luò)的遠(yuǎn)程實(shí)時(shí)控制和管理軟件的應(yīng)用尤其廣泛,比如在網(wǎng)絡(luò)的自動(dòng)化管理、在線軟件技術(shù)支持、計(jì)算機(jī)遠(yuǎn)程輔助教學(xué)、實(shí)時(shí)網(wǎng)絡(luò)服務(wù)、實(shí)時(shí)網(wǎng)絡(luò)監(jiān)控等方面,這些應(yīng)用具有不可替代技術(shù)含量和無(wú)可估量的商業(yè)價(jià)值。目前該方面已經(jīng)研發(fā)出的一些此類相關(guān)軟件產(chǎn)品大多數(shù)在網(wǎng)絡(luò)帶寬占用、系統(tǒng)資源占用、實(shí)時(shí)性以及可靠性等方面存在一些問(wèn)題,究其原因就在于服務(wù)器和客服端的遠(yuǎn)程屏幕圖像的抓取和傳輸上。

通過(guò)反復(fù)的理論論證以及多次的實(shí)踐證明,找到了可以解決以上提到的有關(guān)遠(yuǎn)程屏幕圖像網(wǎng)絡(luò)截取與傳輸?shù)膯?wèn)題之可行辦法。

1 遠(yuǎn)程屏幕圖像的實(shí)時(shí)傳輸

此類軟件在通常情況下都采用基本的C/S結(jié)構(gòu)(客戶機(jī)和服務(wù)器結(jié)構(gòu))??蛻舳说闹饕饔糜袃蓚€(gè),一個(gè)是發(fā)出截取的屏幕圖像的請(qǐng)求,另一個(gè)是把接收到的屏幕圖像實(shí)時(shí)的進(jìn)行顯示。服務(wù)器的主要作用也有兩個(gè),一個(gè)是應(yīng)答發(fā)來(lái)的請(qǐng)求,另外一個(gè)是發(fā)送屏幕圖像。通常情況下,服務(wù)器端截取的屏幕圖像是位圖格式,它具有數(shù)據(jù)量大,直接發(fā)送占用系統(tǒng)資源大、占用網(wǎng)絡(luò)帶寬大以及實(shí)時(shí)性和穩(wěn)定性差的特征,所以在發(fā)送前需要經(jīng)過(guò)壓縮。相應(yīng)的,客戶端要正確的顯示圖像必須要把接收到的圖像數(shù)據(jù)壓縮解壓縮。

要想解決以上提出的問(wèn)題,主要需要解決的重點(diǎn)是兩點(diǎn):一點(diǎn)是屏幕圖像的壓縮與解壓縮。另外一點(diǎn)就是屏幕圖像的截取方式的選擇。對(duì)于第一個(gè)問(wèn)題,主要需要考慮的是尋求高的壓縮率和快的壓縮與解壓縮的速度,這些可以通過(guò)選擇適當(dāng)?shù)膲嚎s與解壓縮算法來(lái)實(shí)現(xiàn),比如比較常用而且有效的算法有Huffman算法、RLE算法、LZW算法等等,目前存在的軟件這些方面處理比較合適,因此提高的余地是非常有限的。而在屏幕圖像的截取這方面上,很多相關(guān)軟件的開(kāi)發(fā)都只采用了最常用到的最一般的圖像截取方法,把屏幕圖像截取方法的選取的重要性忽略了。事實(shí)上,屏幕圖像的截取和數(shù)據(jù)的壓縮與解壓縮同樣重要,都會(huì)對(duì)屏幕圖像的傳輸產(chǎn)生很重要的影響,所以在這一點(diǎn)上,還有很大的提升空間。

2 屏幕截取與圖像傳輸方法的實(shí)現(xiàn)

2.1屏幕截取方式的比較與選擇

屏幕截取的方式有很多,目前也有很多現(xiàn)成軟件可以使用,比如picpick、faststonecapture等。在Delphi中,也提供了很多截取模式,比如有cmSrcCopy、mSrcInvert、cmWhiteness等。在這些模式中,最普通最常用的截取方式就是,在這種模式下,要截取的源圖會(huì)被直接截取到目的畫(huà)圖中,截取之后就馬上進(jìn)行壓縮處理。另外還有一種截取方式,那就是cmSrcInvert模式,這種截取方式需要將要截取的源圖和已經(jīng)截取到目的畫(huà)布中的圖先進(jìn)行XOR運(yùn)算,也就是異或運(yùn)算,運(yùn)算完成后對(duì)運(yùn)算后的圖再進(jìn)行壓縮處理,當(dāng)然這里提到的運(yùn)算都是位的運(yùn)算。與之相應(yīng)的就是顯示過(guò)程,首先把傳輸來(lái)的壓縮圖進(jìn)行解壓縮處理,然后把解壓縮后的圖的位值與當(dāng)前圖的位值進(jìn)行XOR(異或)運(yùn)算,那么運(yùn)算所得到的位圖當(dāng)然實(shí)際需要顯示的圖。

雖然cmSrcInvert模式比cmSrcCopy模式在客戶端與服務(wù)端都多了一次圖像位圖的XOR(異或)運(yùn)算,但是因?yàn)樵趥鬏斍岸家M(jìn)行壓縮處理,而后一種模式產(chǎn)生的圖像經(jīng)過(guò)壓縮之后的數(shù)據(jù)量要比前一種模式壓縮后得到的數(shù)據(jù)量要小很多,所以后一種截取圖像模式后需要傳輸?shù)臄?shù)據(jù)量就要更小。當(dāng)然,產(chǎn)生這樣的后果究其原因是因?yàn)樵谕ǔG闆r下屏幕圖像的特征決定的,那就是因?yàn)槠聊粓D像總是在一個(gè)或幾個(gè)局部發(fā)生變化而不是全部屏幕在不停的發(fā)生變化。所以把當(dāng)前屏幕的圖像和上一次截取的屏幕圖像進(jìn)行XOR運(yùn)算,所得到的屏幕位圖沒(méi)有發(fā)生變化的部分的位值就是0,而發(fā)生了變化部分的位值則為1。當(dāng)屏幕圖像發(fā)生變化的范圍比較小的時(shí)候,那么截取的屏幕圖像位圖的大量位值就是0,那么此時(shí)待壓縮的數(shù)據(jù)本身在壓縮時(shí)就會(huì)有很好的壓縮率,傳輸時(shí)所占用的帶寬也更小。盡管在cmSrcInvert模式和cmSrcCopy模式下初始截取的屏幕圖像的數(shù)據(jù)是完全一樣的,但是在傳輸前測(cè)試所要傳輸?shù)臄?shù)據(jù)就會(huì)發(fā)現(xiàn), cmSrcInvert模式下壓縮后的數(shù)據(jù)量遠(yuǎn)遠(yuǎn)小于cmSrcCopy模式下壓縮的數(shù)據(jù)量,那么原因也如之前所述。在具體的實(shí)驗(yàn)測(cè)試過(guò)程中,我們采用了Delphi6.0中自帶的Zlib.pas和Zlibconst.pas兩個(gè)文件來(lái)對(duì)數(shù)據(jù)進(jìn)行壓縮與解壓縮,通過(guò)實(shí)驗(yàn)測(cè)試后一種也就是cmSrcInvert模式在傳輸屏幕圖像時(shí)占用網(wǎng)絡(luò)寬帶方面比cmSrcCopy模式非常明顯的優(yōu)勢(shì)。

2.2屏幕的分區(qū)域截取與傳輸

在通常的軟件中,最常用的屏幕截取方式是一次性整屏截取,通常因?yàn)榻厝〉臄?shù)據(jù)量大而得不到好的實(shí)時(shí)效果,尤其是在網(wǎng)絡(luò)帶寬固定而且有限的時(shí)候這個(gè)問(wèn)題就變的更加突出和明顯。事實(shí)上,完全可以在服務(wù)端把屏幕先劃分成一定數(shù)量的大小相同的矩形,然后再在cmSrcInvert截取模式下對(duì)每個(gè)矩形分別進(jìn)行截取和壓縮,最后再把壓縮后的數(shù)據(jù)進(jìn)行傳輸。當(dāng)然也可以先比較截取的矩形區(qū)域圖像有沒(méi)有發(fā)生變化,再進(jìn)行后期處理,如果發(fā)生了變化就對(duì)變化的區(qū)域進(jìn)行處理,如果沒(méi)有發(fā)生變化就不處理。和上述操作相對(duì)應(yīng)的操作是客戶端的操作,當(dāng)客戶端接收到數(shù)據(jù)后,首先要把接收到的數(shù)據(jù)隊(duì)列中的頭數(shù)據(jù)取出來(lái)進(jìn)行解壓縮,然后再在對(duì)應(yīng)的位置把這個(gè)矩形圖像顯示出來(lái)。如果在實(shí)際編程中需要考慮實(shí)時(shí)性的要求,當(dāng)然大部分情況下都需要考慮,那么就可以使用多個(gè)線程來(lái)對(duì)不同位置的屏幕圖像進(jìn)行處理,也就是我們常提到的多線程程序設(shè)計(jì)的方案。使用這種方案可以在不同的狀況下獲得好的實(shí)時(shí)性、好的資源占用性以及好的軟件穩(wěn)定性。但是要引起重視的是劃分屏幕的個(gè)數(shù)應(yīng)該根據(jù)網(wǎng)絡(luò)帶寬等因素來(lái)設(shè)定,劃分的區(qū)域個(gè)數(shù)太多的話,對(duì)每個(gè)區(qū)域圖像進(jìn)行截取、壓縮、傳輸、解壓所花費(fèi)時(shí)間的和就有可能超過(guò)對(duì)整屏圖像截取、壓縮、傳輸以及解壓的時(shí)間,這樣所造成的結(jié)果是,雖然占用的網(wǎng)絡(luò)帶寬小了,但是實(shí)時(shí)性也下降了。當(dāng)然如果屏幕圖像劃分區(qū)域的個(gè)數(shù)太少,那么和整屏處理所占用的網(wǎng)絡(luò)帶寬相差無(wú)幾,劃分區(qū)域就失去了意義。通過(guò)測(cè)試,當(dāng)局域網(wǎng)為10M時(shí),劃分的較為理想的區(qū)域個(gè)數(shù)是4-6個(gè),這時(shí)基本每個(gè)矩形區(qū)域的圖像在壓縮后變?yōu)?~2KB,和整屏處理相比,占用的網(wǎng)絡(luò)帶寬低,實(shí)時(shí)性高,延遲也小于0.8秒。

服務(wù)端:

1)對(duì)屏幕圖像進(jìn)行恰當(dāng)?shù)木匦螀^(qū)域的劃分;

2)對(duì)劃分后的區(qū)域進(jìn)行圖像截取

3)判斷每個(gè)矩形區(qū)域的圖像是否發(fā)生變化;

4)對(duì)發(fā)生變化的矩形區(qū)域圖像進(jìn)行壓縮后發(fā)送;

5)執(zhí)行第一步。

客戶端:

1)取出接收到的圖像隊(duì)列中的一個(gè)數(shù)據(jù)塊;

2)把數(shù)據(jù)塊進(jìn)行解壓縮

3)確定解壓縮后的矩形區(qū)域數(shù)據(jù)塊的位置;

4)把矩形區(qū)域圖像在該位置進(jìn)行顯示;

5)執(zhí)行第一步。

3 屏幕圖像數(shù)據(jù)流的壓縮與解壓縮

截取的屏幕圖像要進(jìn)行壓縮與解壓縮,可以使用的算法有很多,比如Huffman、RLE、LZW等這些屬于第三方提供的壓縮算法。事實(shí)上,Del-phi6.0自帶了高效的壓縮與解壓縮的控件包Zlib,編程人員完全可以通過(guò)控件包Zlib中的Zlib.pas和Zlibconst.pas這兩個(gè)文件提供的接口來(lái)實(shí)現(xiàn)圖像的壓縮與解壓縮。第一步:使用屏幕拷貝截取當(dāng)前全部屏幕圖像。第二步:在內(nèi)存中把截取的圖像文件保存成BMP格式。第三步:當(dāng)在服務(wù)器端壓縮截取的屏幕圖像時(shí),把原始圖像壓縮后保存成自定義變量。第四步:當(dāng)在客戶端把獲取的屏幕圖像進(jìn)行解壓縮時(shí),把壓縮的圖像解壓縮后還原成BMP格式的位圖并且及時(shí)進(jìn)行顯示。

4 總結(jié)

綜上所述,在軟件設(shè)計(jì)中考慮遠(yuǎn)程圖像截取與實(shí)時(shí)傳輸?shù)倪^(guò)程時(shí),除了考慮上述提到的屏幕截取與數(shù)據(jù)壓縮后傳輸和解壓縮后顯示這兩個(gè)主要問(wèn)題,還要考慮選擇合適的網(wǎng)絡(luò)傳輸以及雙方握手協(xié)議。于此同時(shí),指針、內(nèi)存流和多線程技術(shù)都是需要在整

(下轉(zhuǎn)第1060頁(yè))

(上接第1057頁(yè))

個(gè)圖像截取與傳輸?shù)膶?shí)現(xiàn)過(guò)程中需要考慮的問(wèn)題,只有從多方面共同解決問(wèn)題才能提高圖像截取與傳輸軟件的效率和穩(wěn)定性。

參考文獻(xiàn):

[1] 耿增民,余正濤,康海燕;一種提高計(jì)算機(jī)屏幕圖像傳輸速度的方法[J].計(jì)算機(jī)工程與應(yīng)用,2005(1).

[2] 謝志鵬.基于socket的遠(yuǎn)程教學(xué)輔導(dǎo)軟件的設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2003(9).

[3] 魯萍.遠(yuǎn)程教學(xué)系統(tǒng)中的屏幕圖像實(shí)時(shí)傳輸技術(shù)[J].計(jì)算機(jī)工程與設(shè)計(jì),2005(12).

[4] 肖道舉,劉洪峰,陳曉蘇.面向遠(yuǎn)端屏幕監(jiān)控的一種圖像壓縮傳輸方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2005(12).

[5] 張麗萍,喻占武,肖進(jìn)勝,胡瑞敏.一種基于拷屏和壓縮技術(shù)的屏幕共享方案[J].中國(guó)圖象圖形學(xué)報(bào),2003(9).

猜你喜歡
實(shí)時(shí)遠(yuǎn)程圖像
讓人膽寒的“遠(yuǎn)程殺手”:彈道導(dǎo)彈
軍事文摘(2022年20期)2023-01-10 07:18:38
改進(jìn)的LapSRN遙感圖像超分辨重建
遠(yuǎn)程工作狂綜合征
有趣的圖像詩(shī)
遠(yuǎn)程詐騙
一種改進(jìn)的混音算法的研究與實(shí)現(xiàn)
等公交,從“實(shí)時(shí)”開(kāi)始
人民周刊(2016年15期)2016-09-28 09:18:50
基于GNSS實(shí)時(shí)在線監(jiān)測(cè)技術(shù)在天津市大型水工建筑位移監(jiān)測(cè)的關(guān)鍵技術(shù)研究
一種基于鼠標(biāo)定位原理的單目視覺(jué)定位技術(shù)
科技視界(2016年7期)2016-04-01 11:30:10
遙感圖像幾何糾正中GCP選取
太仓市| 茂名市| 临泉县| 石狮市| 花莲市| 南丰县| 会宁县| 葫芦岛市| 平塘县| 锡林浩特市| 喀什市| 英德市| 武义县| 景洪市| 丹巴县| 江华| 体育| 银川市| 宁蒗| 南充市| 阳江市| 绥芬河市| 长阳| 宜章县| 七台河市| 维西| 三门峡市| 密山市| 延长县| 老河口市| 枞阳县| 蒙自县| 逊克县| 西峡县| 秀山| 肇庆市| 云龙县| 扎赉特旗| 巴彦淖尔市| 华安县| 珲春市|