專利名稱:一種繪圖動(dòng)作傳遞方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖形傳輸,具體涉及一種繪圖動(dòng)作傳遞方法。
背景技術(shù):
近幾年,遠(yuǎn)程控制技術(shù)在電信網(wǎng)絡(luò)管理領(lǐng)域得到越來(lái)越多的應(yīng)用,實(shí)時(shí)性要求也越來(lái)越強(qiáng),尤其是在一些低帶寬的網(wǎng)絡(luò)條件下,實(shí)時(shí)問(wèn)題更加突出。滿足實(shí)時(shí)性、低帶寬要求的關(guān)鍵在于如何對(duì)已變化部分圖像進(jìn)行編碼。其中采用一種直接傳遞繪圖動(dòng)作的方法,如圖1所示,通過(guò)對(duì)繪圖動(dòng)作編解碼并傳遞該編解碼,比傳統(tǒng)的位圖壓縮和矢量圖有比較大的優(yōu)勢(shì)。所謂繪圖動(dòng)作就是指畫(huà)線、填充、裁減、設(shè)置顏色、設(shè)置字體、畫(huà)圖標(biāo)等用“動(dòng)作碼”表示,每一繪圖動(dòng)作還包括具體的內(nèi)容用“參數(shù)內(nèi)容”表示,相同的繪圖動(dòng)作按照相同的順序在遠(yuǎn)程終端上再重新做一遍,就可以得到相同的圖像。但是如果把繪圖動(dòng)作的原始信息(即“參數(shù)內(nèi)容”)直接拿來(lái)傳遞,仍無(wú)法滿足要求,主要有以下幾個(gè)問(wèn)題1.繪圖動(dòng)作的原始信息雖然已經(jīng)比位圖壓縮要小了很多,但占用的空間仍然比較大,在網(wǎng)絡(luò)帶寬很小的情況下,達(dá)不到我們的要求;2.繪圖動(dòng)作中的圖像信息雖然比直接傳圖像的方式少一些,但也不能完全忽視,對(duì)這些圖像信息進(jìn)行壓縮變換消耗了不少CPU資源,導(dǎo)致服務(wù)器端的性能降低。在客戶端同樣要進(jìn)行反壓縮變換,占用比較多的系統(tǒng)資源,導(dǎo)致客戶端刷新速度慢。
發(fā)明內(nèi)容
本發(fā)明需要解決的技術(shù)問(wèn)題是提供一種繪圖動(dòng)作傳遞方法,能夠有效減少須要傳遞的信息,進(jìn)一步降低客戶端CPU資源的消耗。
本發(fā)明的上述技術(shù)問(wèn)題這樣解決,提供一種繪圖動(dòng)作傳遞方法,包括以下步驟A、發(fā)送方設(shè)備對(duì)待發(fā)送繪圖動(dòng)作的“參數(shù)內(nèi)容”自動(dòng)進(jìn)行編碼或精簡(jiǎn),并傳送該編碼或精簡(jiǎn)信息和該繪圖動(dòng)作的“動(dòng)作碼”,代替直接傳送“參數(shù)內(nèi)容”,從而減少信息傳送量;B、接收方設(shè)備接收到所述編碼或精簡(jiǎn)信息,將其還原成所述“參數(shù)內(nèi)容”,配合接收到的“動(dòng)作碼”還原所述繪圖動(dòng)作。
按照本發(fā)明提供的傳遞方法,所述步驟A之前還包括步驟A′發(fā)送方設(shè)備判斷所述繪圖動(dòng)作的類型,如果是常用繪圖動(dòng)作或占用空間多的繪圖動(dòng)作,則運(yùn)行步驟A,否則跳過(guò)步驟A,發(fā)送方設(shè)備直接發(fā)送“動(dòng)作碼+參數(shù)內(nèi)容”;所述步驟B之前還包括步驟B′接收方設(shè)備判斷接收到是編碼或精簡(jiǎn)信息,則運(yùn)行步驟B,否則跳過(guò)步驟B,直接利用“動(dòng)作碼”及其對(duì)應(yīng)“參數(shù)內(nèi)容”還原繪圖動(dòng)作。
按照本發(fā)明提供的傳遞方法,所述編碼是對(duì)儲(chǔ)存于接收方設(shè)備緩存中的“參數(shù)內(nèi)容”進(jìn)行參數(shù)編號(hào),該傳遞方法包括發(fā)送方設(shè)備發(fā)送“動(dòng)作碼+參數(shù)編號(hào)”傳遞繪圖動(dòng)作。
按照本發(fā)明提供的傳遞方法,所述精簡(jiǎn)是計(jì)算本次繪圖動(dòng)作“參數(shù)內(nèi)容”較上次具相同“動(dòng)作碼”繪圖動(dòng)作“參數(shù)內(nèi)容”的變化量,該傳遞方法包括發(fā)送方設(shè)備發(fā)送“動(dòng)作碼+變化量”傳遞繪圖動(dòng)作。
按照本發(fā)明提供的傳遞方法,所述精簡(jiǎn)是省略本次繪圖動(dòng)作與上次具相同“動(dòng)作碼”繪圖動(dòng)作“參數(shù)內(nèi)容”一致的“參數(shù)內(nèi)容”,該傳遞方法包括發(fā)送方設(shè)備發(fā)送“動(dòng)作碼”傳遞繪圖動(dòng)作。
按照本發(fā)明提供的傳遞方法,所述精簡(jiǎn)是盡可能使用短數(shù)據(jù)類型傳遞參數(shù)內(nèi)容,該傳遞方法包括發(fā)送方設(shè)備發(fā)送“動(dòng)作碼+短數(shù)據(jù)類型參數(shù)內(nèi)容”傳遞繪圖動(dòng)作,所述短數(shù)據(jù)類型較參數(shù)內(nèi)容的原數(shù)據(jù)類型短。
按照本發(fā)明提供的傳遞方法,所述短數(shù)據(jù)類型是short,所述原數(shù)據(jù)類型是integer。
按照本發(fā)明提供的傳遞方法,所述編碼或精簡(jiǎn)的方式可以是一種或多種。
按照本發(fā)明提供的傳遞方法,所述占用空間多的繪圖動(dòng)作包括繪制圖片和繪制字符串,其對(duì)應(yīng)的編碼或精簡(jiǎn)包括緩存圖片/字符和對(duì)圖片/字符進(jìn)行編號(hào)。
按照本發(fā)明提供的傳遞方法,所述常用繪圖動(dòng)作包括設(shè)置顏色,其對(duì)應(yīng)的編碼或精簡(jiǎn)包括緩存顏色和對(duì)顏色進(jìn)行編號(hào)。
按照本發(fā)明提供的傳遞方法,所述常用繪圖動(dòng)作包括填充區(qū)域,其對(duì)應(yīng)的編碼或精簡(jiǎn)包括緩存上一次參數(shù)和計(jì)算當(dāng)前參數(shù)與上一次參數(shù)之間的變化量。
按照本發(fā)明提供的傳遞方法,所述發(fā)送方設(shè)備是服務(wù)器,接收方設(shè)備是客戶端。
本發(fā)明提供的一種繪圖動(dòng)作傳遞方法,發(fā)送方對(duì)常用繪圖動(dòng)作或占用空間多的繪圖動(dòng)作的“參數(shù)內(nèi)容”進(jìn)行編碼或精簡(jiǎn)后傳送并在接收方還原成“參數(shù)內(nèi)容”,可以大大減少信息傳送量,較現(xiàn)有技術(shù)具有如下有益效果1、通過(guò)這種方式編碼出來(lái)的信息比原始信息小了很多,大大節(jié)約了網(wǎng)絡(luò)帶寬;2、由于大量使用了緩存技術(shù),減少了客戶端和服務(wù)端的計(jì)算量,提高了客戶端和服務(wù)端的響應(yīng)速度,實(shí)時(shí)性更好;3、實(shí)現(xiàn)起來(lái)容易,代價(jià)低廉。
下面結(jié)合附圖和具體實(shí)施例進(jìn)一步對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
圖1是傳統(tǒng)繪圖動(dòng)作傳遞流程示意圖。
圖2是本發(fā)明繪圖動(dòng)作傳遞方法流程示意圖。
具體實(shí)施例方式
首先,說(shuō)明本發(fā)明思想通過(guò)對(duì)繪圖動(dòng)作的分析,我們發(fā)現(xiàn)其中常用的動(dòng)作并不多,只有十來(lái)種。再分析了網(wǎng)管應(yīng)用程序的界面,多數(shù)是簡(jiǎn)單界面,沒(méi)有復(fù)雜的圖形。對(duì)一般動(dòng)作編碼的方式是“動(dòng)作碼+參數(shù)內(nèi)容”的形式,簡(jiǎn)單界面的常用動(dòng)作因?yàn)橹貜?fù)率很高,如果和其他動(dòng)作采用同樣的編碼方式會(huì)產(chǎn)生很多冗余信息。所以可以針對(duì)簡(jiǎn)單界面的常用動(dòng)作進(jìn)行優(yōu)化編碼,能夠大大縮小信息內(nèi)容,并減輕對(duì)CPU的負(fù)擔(dān)。
其次,說(shuō)明本發(fā)明方法,如圖2所示,包括以下步驟(一)發(fā)送方服務(wù)器準(zhǔn)備發(fā)送繪圖動(dòng)作;判斷該繪圖動(dòng)作的類型是否是常用或占用空間多的類型?①是,自動(dòng)對(duì)繪圖動(dòng)作的“參數(shù)內(nèi)容”進(jìn)行編碼或精簡(jiǎn);發(fā)送“動(dòng)作碼”和編碼或精簡(jiǎn)后的“參數(shù)內(nèi)容”,即編碼或精簡(jiǎn)信息;②否,直接發(fā)送“動(dòng)作碼”和“參數(shù)內(nèi)容”;(二)接收方客戶端接收“動(dòng)作碼”和“參數(shù)內(nèi)容”或編碼/精簡(jiǎn)后的“參數(shù)內(nèi)容”;判斷是否直接接收了“參數(shù)內(nèi)容”?①是,結(jié)合“動(dòng)作碼”和“參數(shù)內(nèi)容”還原繪圖動(dòng)作;②否,從接收的編碼或精簡(jiǎn)信息還原為原始“參數(shù)內(nèi)容”,再結(jié)合接收的“動(dòng)作碼” 還原繪圖動(dòng)作。
再其次,說(shuō)明本發(fā)明方法的具體實(shí)現(xiàn)第一步分析繪圖過(guò)程的出現(xiàn)頻率高動(dòng)作。
繪圖動(dòng)作有很多,但一般說(shuō)來(lái)常用的不會(huì)太多,這些動(dòng)作占的比率可以占到95%以上,甚至更高。這些常用動(dòng)作就是優(yōu)化編碼的對(duì)象。
第二步分析繪圖動(dòng)作中占用空間比較多的動(dòng)作。
有些繪圖動(dòng)作重復(fù)率雖然不是很高,但是每個(gè)動(dòng)作參數(shù)都占用了很大的空間。最典型的例子就是繪制圖片的動(dòng)作,每個(gè)圖片對(duì)象都占用了不小的空間。這些動(dòng)作就是優(yōu)化編碼的重點(diǎn),相對(duì)于常用動(dòng)作來(lái)說(shuō),這部分的優(yōu)化價(jià)值更大。
第三步根據(jù)界面的一些特點(diǎn),分析在這種特定情況下,哪些動(dòng)作采用什么樣的優(yōu)化手段能達(dá)到最佳效果。
我們采用的優(yōu)化手段主要以下幾種①緩存已經(jīng)使用過(guò)的變量。一些繪圖動(dòng)作的參數(shù)經(jīng)常會(huì)出現(xiàn)重復(fù)的情況,我們可以對(duì)參數(shù)值進(jìn)行緩存并編號(hào),遇到重復(fù)的就直接傳編號(hào)過(guò)去。客戶端第一次收到參數(shù)時(shí)也做緩存,并采用和服務(wù)端相同的編號(hào),下次收到編號(hào)就直接從客戶端緩存中提取。這種方法適用于參數(shù)占用空間比較大的情況。
②差分比較。一些繪圖動(dòng)作在相鄰的幾個(gè)同樣動(dòng)作中,參數(shù)差別小,很多時(shí)候都是只改變了一個(gè)參數(shù),這時(shí)候就可以只傳遞已變化部分的參數(shù)??蛻舳颂幚頃r(shí)也需要先記錄下來(lái)上一次的值,下次收到差值時(shí),和上一次的值進(jìn)行運(yùn)算得到真實(shí)的參數(shù)。這種方式適用于使用頻率特別高的繪圖動(dòng)作。
③盡量使用長(zhǎng)度更短的數(shù)據(jù)類型。比如一個(gè)integer,占用4個(gè)字節(jié),但integer的值沒(méi)有超過(guò)short的范圍,則可以只傳遞一個(gè)short過(guò)去。這種情況在繪圖中出現(xiàn)的還是比較多,比如屏幕坐標(biāo)的參數(shù),使用一個(gè)integer表示,但多數(shù)時(shí)候都是一個(gè)short。
④使用前一次的參數(shù)值。有一些參數(shù)在系統(tǒng)中基本上是不怎么變化的,可以把上一次的值保留下來(lái),后面則直接使用。
編碼時(shí)可以包括但不限制于采用手段①~④中的任一種,也可以同時(shí)采用其中多種手段。
最后,結(jié)合電信網(wǎng)絡(luò)管理領(lǐng)域一個(gè)實(shí)際的Java界面例子,詳細(xì)描述對(duì)該界面進(jìn)行優(yōu)化編碼的方法,利用該方法即可實(shí)現(xiàn)本發(fā)明方法和目的第一步分析繪圖過(guò)程的出現(xiàn)頻率高動(dòng)作。
通過(guò)對(duì)具體網(wǎng)管界面的分析,計(jì)算幾個(gè)常用動(dòng)作的占用比例,計(jì)算的結(jié)果如表1所示
表1繪圖動(dòng)作占用比例表第二步分析繪圖動(dòng)作中占用空間比較多的動(dòng)作。
結(jié)合第一步的分析結(jié)果,再分析了這些動(dòng)作占用空間的情況,發(fā)現(xiàn)繪制圖片和繪制字符串這兩個(gè)動(dòng)作占用比例較高。
第三步根據(jù)界面的一些特點(diǎn),分析在這種特定情況下,哪些動(dòng)作采用什么樣的優(yōu)化手段能達(dá)到最佳效果。
根據(jù)前面的分析結(jié)果,看看哪些繪圖動(dòng)作該如何編碼。
①創(chuàng)建繪圖對(duì)象,該動(dòng)作只有一個(gè)參數(shù),而且該參數(shù)只占用一個(gè)字節(jié),沒(méi)有什么優(yōu)化的空間。
②設(shè)置顏色,這個(gè)動(dòng)作出現(xiàn)頻率最高,分析其參數(shù)值,在一個(gè)系統(tǒng)中出現(xiàn)的顏色并不多,可以采用緩存顏色的方式進(jìn)行優(yōu)化編碼。
③填充區(qū)域,這個(gè)動(dòng)作參數(shù)重復(fù)率不高,但是兩個(gè)相鄰動(dòng)作時(shí),經(jīng)常是只修改了一個(gè)參數(shù),適用于差分比較的方法。同時(shí),還可以使用短數(shù)據(jù)類型傳遞的方法進(jìn)行編碼。
④設(shè)置字體,在我們的網(wǎng)管系統(tǒng)中實(shí)際上只用了一種字體,采用使用前次值的方法就能夠達(dá)到最佳效果。
⑤剪裁區(qū)域,這個(gè)動(dòng)作出現(xiàn)頻率不高,動(dòng)作參數(shù)也不多,可以就按原來(lái)的編碼方式。如果要優(yōu)化編碼的話,可以采用和填充區(qū)域類似的差分比較和短數(shù)據(jù)類型結(jié)合的方法。
⑥繪制字符串,在有表格的界面中,字符串的重復(fù)率是很高的??梢圆捎镁彺孀址姆椒?,繪制字符串還需要傳遞坐標(biāo)信息,這部分參數(shù)采用短數(shù)據(jù)類型的方法。
⑦繪片,在網(wǎng)管這種比較簡(jiǎn)單的界面中,小的圖片基本上就是界面上的圖標(biāo),不會(huì)發(fā)生變化。所以可以將小圖片緩存起來(lái),少量大圖片就直接使用壓縮后傳遞。繪制圖片的參數(shù)還包括坐標(biāo)信息和寬度高度信息,也可以同時(shí)采用短數(shù)據(jù)類型的方法。
⑧移動(dòng)坐標(biāo),這個(gè)動(dòng)作出現(xiàn)頻率不高,參數(shù)比剪裁區(qū)域的更少,可以仍使用原來(lái)的編碼方式。
在網(wǎng)管的界面中,通過(guò)這種編碼方法出來(lái)的信息大約只有原始信息的十分之一。通過(guò)在低帶寬環(huán)境下的測(cè)試,基本上達(dá)到了預(yù)定的要求。服務(wù)端的速度也很正常,沒(méi)有出現(xiàn)一些遠(yuǎn)程桌面軟件啟動(dòng)后服務(wù)端明顯變慢的現(xiàn)象??蛻舳怂⑿滤俣纫材軌蚋蒙希诳蛻舳税l(fā)起鼠標(biāo)鍵盤(pán)事件,響應(yīng)時(shí)間延遲小,滿足了實(shí)時(shí)性的要求。
權(quán)利要求
1.一種繪圖動(dòng)作傳遞方法,其特征在于,包括以下步驟A、發(fā)送方設(shè)備對(duì)待發(fā)送繪圖動(dòng)作的“參數(shù)內(nèi)容”自動(dòng)進(jìn)行編碼或精簡(jiǎn),并傳送該編碼或精簡(jiǎn)信息和該繪圖動(dòng)作的“動(dòng)作碼”;B、接收方設(shè)備接收到所述編碼或精簡(jiǎn)信息,將其還原成所述“參數(shù)內(nèi)容”,配合接收到的“動(dòng)作碼”還原所述繪圖動(dòng)作。
2.根據(jù)權(quán)利要求1所述傳遞方法,其特征在于,所述步驟A之前還包括步驟A′發(fā)送方設(shè)備判斷所述繪圖動(dòng)作的類型,如果是常用繪圖動(dòng)作或占用空間多的繪圖動(dòng)作,則運(yùn)行步驟A;否則跳過(guò)步驟A,發(fā)送方設(shè)備直接發(fā)送“動(dòng)作碼+參數(shù)內(nèi)容”;所述步驟B之前還包括步驟B′接收方設(shè)備判斷接收到是編碼或精簡(jiǎn)信息,則運(yùn)行步驟B;否則跳過(guò)步驟B,直接利用“動(dòng)作碼”及其對(duì)應(yīng)“參數(shù)內(nèi)容”還原繪圖動(dòng)作。
3.根據(jù)權(quán)利要求1所述傳遞方法,其特征在于,所述編碼是對(duì)儲(chǔ)存于接收方設(shè)備緩存中的“參數(shù)內(nèi)容”進(jìn)行參數(shù)編號(hào),該傳遞方法包括發(fā)送方設(shè)備發(fā)送“動(dòng)作碼+參數(shù)編號(hào)”傳遞繪圖動(dòng)作。
4.根據(jù)權(quán)利要求1所述傳遞方法,其特征在于,所述精簡(jiǎn)是計(jì)算本次繪圖動(dòng)作“參數(shù)內(nèi)容”較上次具相同“動(dòng)作碼”繪圖動(dòng)作“參數(shù)內(nèi)容”的變化量,該傳遞方法包括發(fā)送方設(shè)備發(fā)送“動(dòng)作碼+變化量”傳遞繪圖動(dòng)作。
5.根據(jù)權(quán)利要求1所述傳遞方法,其特征在于,所述精簡(jiǎn)是省略本次繪圖動(dòng)作與上次具相同“動(dòng)作碼”繪圖動(dòng)作“參數(shù)內(nèi)容”一致的“參數(shù)內(nèi)容”,該傳遞方法包括發(fā)送方設(shè)備發(fā)送“動(dòng)作碼”傳遞繪圖動(dòng)作。
6.根據(jù)權(quán)利要求1所述傳遞方法,其特征在于,所述精簡(jiǎn)是盡可能使用短數(shù)據(jù)類型傳遞參數(shù)內(nèi)容,該傳遞方法包括發(fā)送方設(shè)備發(fā)送“動(dòng)作碼+短數(shù)據(jù)類型參數(shù)內(nèi)容”傳遞繪圖動(dòng)作,所述短數(shù)據(jù)類型較參數(shù)內(nèi)容的原數(shù)據(jù)類型短。
7.根據(jù)權(quán)利要求1-6任一項(xiàng)所述傳遞方法,其特征在于,所述編碼或精簡(jiǎn)的方式可以是一種或多種。
8.根據(jù)權(quán)利要求2所述傳遞方法,其特征在于,所述占用空間多的繪圖動(dòng)作包括繪制圖片和繪制字符串,其對(duì)應(yīng)的編碼或精簡(jiǎn)包括緩存圖片/字符和對(duì)圖片/字符進(jìn)行編號(hào)。
9.根據(jù)權(quán)利要求2所述傳遞方法,其特征在于,所述常用繪圖動(dòng)作包括設(shè)置顏色,其對(duì)應(yīng)的編碼或精簡(jiǎn)包括緩存顏色和對(duì)顏色進(jìn)行編號(hào)。
10.根據(jù)權(quán)利要求2所述傳遞方法,其特征在于,所述常用繪圖動(dòng)作包括填充區(qū)域,其對(duì)應(yīng)的編碼或精簡(jiǎn)包括緩存上一次參數(shù)和計(jì)算當(dāng)前參數(shù)與上一次參數(shù)之間的變化量。
全文摘要
本發(fā)明涉及一種繪圖動(dòng)作傳遞方法,包括發(fā)送方設(shè)備對(duì)常用繪圖動(dòng)作或占用空間多的繪圖動(dòng)作的“參數(shù)內(nèi)容”進(jìn)行編碼或精簡(jiǎn)后再傳送該編碼或精簡(jiǎn)信息;接收方設(shè)備接收所述編碼或精簡(jiǎn)信息還原成對(duì)應(yīng)“參數(shù)內(nèi)容”,再結(jié)合接收的發(fā)送方設(shè)備發(fā)送的“動(dòng)作碼”還原為繪圖動(dòng)作。這種方法對(duì)重點(diǎn)繪圖動(dòng)作的“參數(shù)內(nèi)容”進(jìn)行編碼或精簡(jiǎn)后傳送并在接收方還原為“參數(shù)內(nèi)容”,進(jìn)一步結(jié)合緩存能減少信息傳送量和CPU使用,大大節(jié)省網(wǎng)絡(luò)帶寬,滿足實(shí)時(shí)傳送圖像的要求,同時(shí)實(shí)現(xiàn)容易、代價(jià)低廉。
文檔編號(hào)H04N7/24GK101064842SQ20071011103
公開(kāi)日2007年10月31日 申請(qǐng)日期2007年6月13日 優(yōu)先權(quán)日2007年6月13日
發(fā)明者張艦, 鄭平 申請(qǐng)人:中興通訊股份有限公司