專利名稱:通過動態(tài)分區(qū)改進應(yīng)用共享的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息技術(shù)領(lǐng)域,具體涉及應(yīng)用的共享,更具體涉及一種通過動態(tài)分區(qū)改進應(yīng)用共享的方法和系統(tǒng)。
背景技術(shù):
應(yīng)用共享技術(shù)允許捕獲代表在計算設(shè)備(可稱為應(yīng)用共享的主機或服務(wù)器)上運行的一個應(yīng)用的屏幕顯示或者甚至該計算設(shè)備的操作系統(tǒng)桌面的屏幕顯示的一系列圖像, 并將這一系列圖像通過計算機通信網(wǎng)絡(luò)傳送到至少一個其他計算設(shè)備(可稱為應(yīng)用共享的客戶機)上,以便在所述其他計算設(shè)備上顯示出來,從而向所述其他計算設(shè)備的用戶提供與在主機環(huán)境中的應(yīng)用或操作系統(tǒng)的屏幕顯示一致的屏幕顯示。應(yīng)用共享技術(shù)已成為人們?nèi)粘9ぷ髦械囊粋€重要工具,特別是對于團隊成員位于不同地點的虛擬團隊來說更是如此。如果在一個應(yīng)用共享會話中,應(yīng)用共享服務(wù)器上的圖像發(fā)生了更新,則需要對應(yīng)用共享客戶機上的圖像進行相應(yīng)的更新。在現(xiàn)有的應(yīng)用共享技術(shù)中,為了提高應(yīng)用共享中的圖像更新效率,將應(yīng)用的屏幕顯示劃分為網(wǎng)格區(qū)域。每個區(qū)域可以被單獨地捕獲、掃描以發(fā)現(xiàn)變化、壓縮和傳輸?shù)綉?yīng)用共享客戶端。通過將應(yīng)用的屏幕顯示劃分為較小的、可管理的網(wǎng)格區(qū)域,可以在較小的數(shù)據(jù)塊上執(zhí)行處理器密集的操作,從而改進了主機上應(yīng)用的響應(yīng)性。此外,僅需要將應(yīng)用屏幕圖像的發(fā)生了變化的區(qū)域(以及區(qū)域的編號或標(biāo)識)傳送給應(yīng)用共享客戶機,而不需要傳送應(yīng)用屏幕圖像的那些沒有發(fā)生變化的區(qū)域,從而減少了網(wǎng)絡(luò)數(shù)據(jù)傳輸量,并提高了應(yīng)用共享客戶端的應(yīng)用屏幕顯示的更新速度。美國專禾Ij 7171444 "Remote desktop protocol compression system,,描述了一種遠程桌面通信協(xié)議。其實施例將屏幕劃分為具有相同大小的網(wǎng)格區(qū)域,區(qū)域的大小是任意的,但在遠程桌面協(xié)議環(huán)境中通常是64X64像素。如果遠程桌面服務(wù)器檢測到圖像輸出中的變化,且所述變化包含在特定的一個或幾個區(qū)域中,則只需要將發(fā)生變化的區(qū)域的圖像數(shù)據(jù)以及所述區(qū)域的編號或標(biāo)識發(fā)送到客戶端。在客戶端的緩存中已緩存了先前的整個屏幕的各區(qū)域的圖像數(shù)據(jù),因此,客戶端僅需要根據(jù)所接收的發(fā)生變化的區(qū)域的編號確定哪些區(qū)域發(fā)生了變化,哪些區(qū)域沒有發(fā)生變化,并合并所緩存的沒有發(fā)生變化的區(qū)域的圖像數(shù)據(jù)和所接收的發(fā)生變化的區(qū)域的圖像數(shù)據(jù)以重建和顯示整個屏幕圖像。所述檢測圖像輸出中的變化可以簡單地通過例如逐比特地異或捕獲的兩幅屏幕位圖中位置相同的像素來實現(xiàn)。在這種現(xiàn)有的應(yīng)用共享技術(shù)中,網(wǎng)格區(qū)域的大小和位置是固定不變的,這樣并不能使網(wǎng)絡(luò)傳輸最優(yōu)化。這是由于應(yīng)用的屏幕顯示中發(fā)生變化的部分的形狀和大小是千差萬別的,通常不會與網(wǎng)格區(qū)域的邊界對齊。這樣,有可能一些網(wǎng)格區(qū)域中僅包含少量的發(fā)生變化的像素(在極端情況下,僅包含一兩個發(fā)生變化的像素),而現(xiàn)有技術(shù)仍然會將整個區(qū)域的數(shù)據(jù)發(fā)送到客戶端,從而造成了數(shù)據(jù)傳輸?shù)牡托Ш途W(wǎng)絡(luò)帶寬的浪費。
發(fā)明內(nèi)容
為解決現(xiàn)有的應(yīng)用共享技術(shù)中的上述缺點,提出了本發(fā)明的技術(shù)方案。根據(jù)本發(fā)明的一個方面,提出了一種通過動態(tài)分區(qū)改進應(yīng)用共享的方法,包括將應(yīng)用的屏幕顯示劃分為網(wǎng)格區(qū)域;響應(yīng)于檢測到在多個網(wǎng)格區(qū)域中的應(yīng)用圖像發(fā)生變化, 對網(wǎng)格區(qū)域的位置進行偏移,以使得應(yīng)用圖像的變化部分位于較少的網(wǎng)格區(qū)域中;以及將包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù)發(fā)送到應(yīng)用共享客戶端。根據(jù)本發(fā)明的另一個方面,提出了一種通過動態(tài)分區(qū)改進應(yīng)用共享的方法,包括 接收包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù);以及根據(jù)所接收的包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù),以及在應(yīng)用共享客戶端處緩存的先前應(yīng)用圖像在各網(wǎng)格區(qū)域中的圖像數(shù)據(jù),生成和顯示變化后的應(yīng)用圖像。根據(jù)本發(fā)明的又一個方面,提出了一種通過動態(tài)分區(qū)改進應(yīng)用共享的裝置,包括 劃分模塊,用于將應(yīng)用的屏幕顯示劃分為網(wǎng)格區(qū)域;偏移模塊,用于響應(yīng)于檢測到在多個網(wǎng)格區(qū)域中的應(yīng)用圖像發(fā)生變化,對網(wǎng)格區(qū)域的位置進行偏移,以使得應(yīng)用圖像的變化部分位于較少的網(wǎng)格區(qū)域中;以及發(fā)送模塊,用于將包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù)發(fā)送到應(yīng)用共享客戶端。根據(jù)本發(fā)明的再一個方面,提出了一種通過動態(tài)分區(qū)改進應(yīng)用共享的裝置,包括 接收模塊,用于接收包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù);以及生成模塊,用于根據(jù)所接收的包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù),以及在應(yīng)用共享客戶端處緩存的先前應(yīng)用圖像在各網(wǎng)格區(qū)域中的圖像數(shù)據(jù),生成和顯示變化后的應(yīng)用圖像。本發(fā)明減少了應(yīng)用共享中當(dāng)發(fā)生屏幕更新時需要網(wǎng)絡(luò)傳輸?shù)膮^(qū)域的數(shù)量,節(jié)省了網(wǎng)絡(luò)帶寬,提高了應(yīng)用共享客戶端的響應(yīng)性。
所附權(quán)利要求中闡述了被認為是本發(fā)明的特點的創(chuàng)造性特征。但是,通過參照附圖閱讀下面對說明性實施例的詳細說明可更好地理解發(fā)明本身以及其優(yōu)選使用模式、目標(biāo)、特征以及優(yōu)點,在附圖中圖IA示出了傳統(tǒng)的應(yīng)用共享的靜態(tài)網(wǎng)格分區(qū)方案;圖IB示出了根據(jù)本發(fā)明的實施例的應(yīng)用共享的動態(tài)網(wǎng)格分區(qū)方案;圖2示出了根據(jù)本發(fā)明的實施例的用于通過動態(tài)分區(qū)改進應(yīng)用共享的方法;以及圖3示出了根據(jù)本發(fā)明的實施例的用于通過動態(tài)分區(qū)改進應(yīng)用共享的裝置。
具體實施例方式本發(fā)明的技術(shù)方案可以根據(jù)應(yīng)用共享中應(yīng)用圖像的變化部分的形狀和位置動態(tài)地對應(yīng)用的屏幕顯示進行分區(qū),即對初始劃分的網(wǎng)格區(qū)域的位置進行偏移,以便減少包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量,從而減少了需要通過網(wǎng)絡(luò)傳輸給共享應(yīng)用客戶端的網(wǎng)格區(qū)域中的圖像數(shù)據(jù),節(jié)省了網(wǎng)絡(luò)帶寬,并提高了共享應(yīng)用客戶端的響應(yīng)性。下面參照附圖來說明本發(fā)明的實施例。在下面的說明中,闡述了許多具體細節(jié)以便更全面地了解本發(fā)明。但是,對于本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員明顯的是,本發(fā)明的實現(xiàn)可不具有這些具體細節(jié)中的一些。此外,應(yīng)當(dāng)理解的是,本發(fā)明并不限于所介紹的特定實施例。 相反,可以考慮用下面的特征和要素的任意組合來實施本發(fā)明,而無論它們是否涉及不同的實施例。因此,下面的方面、特征、實施例和優(yōu)點僅作說明之用而不應(yīng)被看作是所附權(quán)利要求的要素或限定,除非權(quán)利要求中明確提出。圖IA示出了傳統(tǒng)的應(yīng)用共享的靜態(tài)網(wǎng)格分區(qū)方案,圖IB示出了根據(jù)本發(fā)明的實施例的應(yīng)用共享的動態(tài)網(wǎng)格分區(qū)方案。如圖IA所示,在傳統(tǒng)的應(yīng)用共享的靜態(tài)網(wǎng)格分區(qū)方案中,應(yīng)用的屏幕顯示被劃分為4行X6列共M個網(wǎng)格區(qū)域,這些網(wǎng)格區(qū)域的標(biāo)識或編號分別是(0,0)、(0,1) > (0,2), (0,3), (0,4), (0,5), (1,0), (1,1)、(1,2), (1,3), (1,4), (1, 5)、0,0)、0,1)、(2,2)、0,3)、0,4)、(2,5)、(3,0)、(3,1)、(3,2)、(3,3)、(3,4)、(3,5), 其中,應(yīng)用圖像的變化部分包含在9個網(wǎng)格區(qū)域(1,1)、(1,2)、(1,3)、(1,4)“2,1)“2,2)、 (2,3), (2,4), (3,3)中,因此應(yīng)用共享服務(wù)器需要將這9個網(wǎng)格區(qū)域中的圖像數(shù)據(jù)(以及每個網(wǎng)格區(qū)域的標(biāo)識或編號)發(fā)送到應(yīng)用共享客戶端。如圖IB所示,在根據(jù)本發(fā)明的實施例中,由于對網(wǎng)格區(qū)域進行了偏移,包括對所有網(wǎng)格的整體進行的偏移量為yl的縱向偏移以及對第二行進行的偏移量為Xl的橫向偏移和對第三行進行的偏移量為x2的橫向偏移, 應(yīng)用圖像的變化部分僅包含在5個網(wǎng)格區(qū)域(1,1)、(1,2)、(1,3)、(2,2)、(2,3)中,因此應(yīng)用共享服務(wù)器僅需要將5個網(wǎng)格區(qū)域中的圖像數(shù)據(jù)(以及每個網(wǎng)格區(qū)域的編號或標(biāo)識,和相關(guān)的偏移量數(shù)據(jù))發(fā)送到應(yīng)用共享客戶端?,F(xiàn)參照圖2,其示出了根據(jù)本發(fā)明的實施例的用于通過動態(tài)分區(qū)改進應(yīng)用共享的方法。如圖所示,該方法包括以下步驟 在步驟201,在應(yīng)用共享服務(wù)器處將應(yīng)用的屏幕顯示劃分為網(wǎng)格區(qū)域。該步驟可以與現(xiàn)有技術(shù)中的將應(yīng)用的屏幕顯示劃分為網(wǎng)格區(qū)域的方法相同。例如,可以將應(yīng)用的屏幕顯示劃分為64X64像素的網(wǎng)格區(qū)域,并給予每個網(wǎng)格區(qū)域一個唯一的編號或標(biāo)識。這樣, 當(dāng)應(yīng)用啟動后,可以將應(yīng)用的初始圖像以網(wǎng)格區(qū)域的形式發(fā)送到應(yīng)用共享客戶端,即將各網(wǎng)格區(qū)域中的圖像數(shù)據(jù)以及各網(wǎng)格區(qū)域的編號或標(biāo)識發(fā)送到應(yīng)用共享客戶端,以便在應(yīng)用共享客戶端顯示,并緩存起來。在步驟202,檢測應(yīng)用圖像發(fā)生的變化??梢允褂矛F(xiàn)有技術(shù)來檢測應(yīng)用圖像的變化并確定應(yīng)用圖像的變化部分,例如通過簡單地逐比特地異或前后應(yīng)用圖像中位置相同的像素。在步驟203,判斷應(yīng)用圖像的變化部分是否位于多個網(wǎng)格區(qū)域中。如本領(lǐng)域的技術(shù)人員所知的,可以通過比較應(yīng)用圖像的變化部分中的各像素的位置坐標(biāo)與各網(wǎng)格區(qū)域的位置坐標(biāo)來判斷應(yīng)用圖像的變化部分中的各像素位于哪個網(wǎng)格區(qū)域中,并進而判斷應(yīng)用圖像的變化部分是否位于多個網(wǎng)格區(qū)域中。在步驟204,響應(yīng)于判斷應(yīng)用圖像的變化部分位于多個網(wǎng)格區(qū)域中,對網(wǎng)格區(qū)域的位置進行偏移,以使得應(yīng)用圖像的變化部分位于較少的網(wǎng)格區(qū)域中。也就是說,通過對網(wǎng)格區(qū)域的位置進行偏移,與偏移之前相比,應(yīng)用圖像的變化分部將涉及更少的網(wǎng)格區(qū)域。這樣,就可以將更少的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)發(fā)送給應(yīng)用共享客戶端,從而節(jié)省了網(wǎng)絡(luò)帶寬。優(yōu)選地,所述偏移應(yīng)當(dāng)使得應(yīng)用圖像的變化部分涉及的網(wǎng)格區(qū)域盡可能地少,即在所有可能的偏移方案中,選擇使應(yīng)用圖像的變化部分涉及的網(wǎng)格區(qū)域最少的偏移方案。但這對于本發(fā)明來說并非是必需的。在很多情況下,只需選擇使應(yīng)用圖像的變化部分涉及的網(wǎng)格區(qū)域接近于最少的偏移方案就可以了,以便節(jié)省選擇偏移方案所需的計算量。事實上,只要偏移后的應(yīng)用圖像的變化部分涉及的網(wǎng)格區(qū)域比偏移前的應(yīng)用圖像的變化部分涉及的網(wǎng)格區(qū)域有所減少,就能夠產(chǎn)生節(jié)省網(wǎng)絡(luò)帶寬的技術(shù)效果。根據(jù)本發(fā)明的實施例,所述對網(wǎng)格區(qū)域的位置進行偏移包括在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),對網(wǎng)格區(qū)域的位置按像素進行偏移,以使得應(yīng)用圖像的變化部分位于較少的網(wǎng)格區(qū)域中。也就是說,在對網(wǎng)格區(qū)域進行偏移時,只需要在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度內(nèi)進行偏移,就可以窮盡所有有效的偏移方案。這是由于,當(dāng)縱向偏移超過一個網(wǎng)格區(qū)域的高度或橫向偏移超過一個網(wǎng)格區(qū)域的寬度后,應(yīng)用圖像的變化部分所占用的網(wǎng)格區(qū)域的情況將與先前重復(fù)。此外,對網(wǎng)絡(luò)區(qū)域的位置進行偏移是按像素進行的,即按照一固定像素數(shù)進行偏移,例如逐個像素地偏移,或者每2個像素地偏移,每3個像素地偏移,等等。根據(jù)本發(fā)明的一個實施例,該步驟204包括以下子步驟在子步驟a,在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),對所有網(wǎng)格區(qū)域的整體按像素進行偏移,并列舉偏移過程中形成的偏移方案。僅作為示例,所述列舉偏移過程中形成的偏移方案可以是窮舉偏移過程中形成的所有偏移方案。例如,對于網(wǎng)格大小為64X64的情況,該子步驟將獲得64X64個偏移方案。該子步驟可以通過多種方式來實現(xiàn)??梢韵蛳禄蛳蛏习聪袼匾苿铀芯W(wǎng)格區(qū)域的整體,直到移動了一個網(wǎng)格區(qū)域的高度,從而形成一系列縱向位置,并針對每一個縱向位置向右或向左按像素移動所有網(wǎng)格區(qū)域的整體,直到一個網(wǎng)格區(qū)域的寬度。當(dāng)然,也可以首先向右或向左按像素移動所有網(wǎng)格區(qū)域的整體,再針對每一個橫向位置向下或向上按像素移動所有網(wǎng)格區(qū)域的整體。在子步驟b,計算在列舉的偏移方案中,包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量??梢葬槍γ恳环N偏移方案,通過比較應(yīng)用圖像的變化部分中的各像素的位置坐標(biāo)與該偏移方案下的各網(wǎng)格區(qū)域的位置坐標(biāo)來判斷應(yīng)用圖像的變化部分中的像素位于哪些網(wǎng)格區(qū)域中,從而計算出包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量。在子步驟C,將列舉的偏移方案中包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量最少的偏移方案確定為最終的偏移方案,該偏移方案可以由一個橫坐標(biāo)偏移量和一個縱坐標(biāo)偏移量表示。這樣,就可以在下述步驟中,將該偏移方案下包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)(以及所述網(wǎng)格區(qū)域的編號,和該偏移方案的橫坐標(biāo)偏移量和縱坐標(biāo)偏移量)發(fā)送到應(yīng)用共享客戶端。上述實施例通常能夠?qū)崿F(xiàn)減少涉及應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量的技術(shù)效果,但由于該實施例是在縱向和橫向兩個方向上對所有網(wǎng)格區(qū)域進行整體上偏移,因此,對于應(yīng)用圖像的變化部分的形狀較為復(fù)雜的情況(如圖IA和IB中所示的形狀),其減少應(yīng)用圖像的變化部分涉及的網(wǎng)格區(qū)域的數(shù)量的效果可能不是很顯著。根據(jù)本發(fā)明的另一個實施例,所述步驟204包括以下子步驟在子步驟a,在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),在縱向和橫向中的一個方向上,對所有網(wǎng)格區(qū)域的整體按像素進行偏移,而在縱向和橫向中的另一個方向上,對沿該另一個方向的涉及應(yīng)用圖像的變化部分的每排網(wǎng)格區(qū)域分別整體按像素進行偏移,并列舉偏移過程中形成的偏移方案。例如,可以在縱向一個網(wǎng)格區(qū)域的高度的范圍內(nèi),向上或向下對所有網(wǎng)格區(qū)域的整體進行逐像素的偏移,并在縱向上的每一個位置,對于涉及應(yīng)用圖像的變化部分的若干排網(wǎng)格區(qū)域,對每排網(wǎng)格區(qū)域分別在一個網(wǎng)格區(qū)域的寬度的范圍內(nèi)向右或向左將該排網(wǎng)格區(qū)域整體進行逐像素的偏移,從而窮盡所有的偏移方案。這樣形成的每一個偏移方案可以由一個縱坐標(biāo)偏移量以及若干排網(wǎng)格區(qū)域的橫坐標(biāo)偏移量來表示。例如,對于網(wǎng)格大小為64X64而在縱向逐像素的偏移過程中在每個偏移位置應(yīng)用圖像的變化部分均涉及3排網(wǎng)格區(qū)域的情況,該子步驟將獲得644個偏移方案。 當(dāng)然,也可以在橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),向右或向左對所有網(wǎng)格區(qū)域的整體進行逐像素的偏移,并在橫向上的每一個位置,對于涉及應(yīng)用圖像的變化部分的若干列網(wǎng)格區(qū)域,對每列網(wǎng)格區(qū)域分別在一個網(wǎng)格區(qū)域的高度的范圍內(nèi)向下或向上將該排網(wǎng)格區(qū)域整體進行逐像素的偏移,從而窮盡所有有效的偏移方案。這樣形成的每一個偏移方案可以由一個橫坐標(biāo)偏移量以及若干列網(wǎng)格區(qū)域的縱坐標(biāo)偏移量來表示。在子步驟b,計算在列舉的偏移方案中,包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量??梢葬槍γ恳环N偏移方案,通過比較應(yīng)用圖像的變化部分中的各像素的位置坐標(biāo)與該偏移方案下的各網(wǎng)格區(qū)域的位置坐標(biāo)來判斷應(yīng)用圖像的變化部分中的像素位于哪些網(wǎng)格區(qū)域中,從而計算出包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量。在子步驟C,將列舉的偏移方案中包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量最少的偏移方案確定為最終的偏移方案,該偏移方案可以由一個縱坐標(biāo)偏移量以及若干排網(wǎng)格區(qū)域的橫坐標(biāo)偏移量來表示,或者由一個橫坐標(biāo)偏移量以及若干列網(wǎng)格區(qū)域的縱坐標(biāo)偏移量來表示。這樣,就可以在后續(xù)步驟中,將該偏移方案下包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)(以及所述網(wǎng)格區(qū)域的編號,和該偏移方案的相關(guān)橫坐標(biāo)偏移量和縱坐標(biāo)偏移量)發(fā)送到應(yīng)用共享客戶端。該實施例通常能夠找到最優(yōu)或接近最優(yōu)的偏移方案,在該偏移方案下,涉及應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量最小或接近最小,因此能夠?qū)崿F(xiàn)較顯著地減少涉及應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量的技術(shù)效果,但該實施例的計算量較大。根據(jù)本發(fā)明的另一個實施例,所述步驟204包括以下子步驟在子步驟a,在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),沿縱向和橫向中的一個方向?qū)λ芯W(wǎng)格區(qū)域整體按像素進行偏移,直到在該方向上對所有網(wǎng)格區(qū)域整體按像素進行的偏移中,應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中。在子步驟b,沿縱向和橫向中的另一個方向?qū)ρ卦摿硪粋€方向的包含應(yīng)用圖像的變化部分的每排網(wǎng)格區(qū)域分別整體按像素進行偏移,直到對于每排網(wǎng)格區(qū)域,應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中。也就是說,首先在縱向一個網(wǎng)格區(qū)域的范圍內(nèi),向下或向下對該對所有網(wǎng)格區(qū)域的整體按像素進行偏移,計算在每一個縱向偏移位置應(yīng)用圖像的變化部分所涉及的網(wǎng)格區(qū)域的數(shù)量,并選擇應(yīng)用圖像的變化部分所涉及的網(wǎng)格區(qū)域的數(shù)量最小的一個縱向偏移位置;然后,在橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),對在所述縱向偏移位置應(yīng)用圖像的變化部分所涉及的若干行網(wǎng)格區(qū)域中的每行網(wǎng)格區(qū)域的整體進行向右或向左按像素地偏移,并對于每行網(wǎng)格區(qū)域,計算在每一個橫向偏移位置應(yīng)用圖像的變化部分所涉及的網(wǎng)格區(qū)域的數(shù)量,并選擇應(yīng)用圖像的變化部分所涉及的網(wǎng)格區(qū)域的數(shù)量最小的一個橫向偏移位置。這樣所形成的偏移方案可以由一個縱坐標(biāo)偏移量以及若干排網(wǎng)格區(qū)域的橫坐標(biāo)偏移量來表示?;蛘?,首先在橫向一個網(wǎng)格區(qū)域的范圍內(nèi),向右或向左對該對所有網(wǎng)格區(qū)域的整體進行按像素的偏移,計算在每一個橫向偏移位置應(yīng)用圖像的變化部分所涉及的網(wǎng)格區(qū)域的數(shù)量,并選擇應(yīng)用圖像的變化部分所涉及的網(wǎng)格區(qū)域的數(shù)量最小的一個橫向偏移位置; 然后,在縱向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),對在所述橫向偏移位置應(yīng)用圖像的變化部分所涉及的若干列網(wǎng)格區(qū)域中的每列網(wǎng)格區(qū)域的整體進行向下或向上按像素地偏移,并對于每列網(wǎng)格區(qū)域,計算在每一個縱向偏移位置應(yīng)用圖像的變化部分所涉及的網(wǎng)格區(qū)域的數(shù)量,并選擇應(yīng)用圖像的變化部分所涉及的網(wǎng)格區(qū)域的數(shù)量最小的一個縱向偏移位置。這樣所形成的偏移方案可以由一個橫坐標(biāo)偏移量以及若干列網(wǎng)格區(qū)域的縱坐標(biāo)偏移量來表示。該實施例通常能夠找到涉及應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量較小的偏移方案,且計算量不是很大。例如,對于網(wǎng)格大小為64X64而在最終的縱向偏移位置應(yīng)用圖像的變化部分均涉及3排網(wǎng)格區(qū)域的情況,該實施例的計算量為64個縱向偏移位置 +3X64個橫向偏移位置。根據(jù)本發(fā)明的另一個實施例,所述步驟204包括以下子步驟在子步驟a,在上、下、左、右、左上、左下、右上、右下八個方向分別對網(wǎng)格區(qū)域整體進行相應(yīng)的1/2網(wǎng)格區(qū)域高度或1/2網(wǎng)格區(qū)域?qū)挾鹊钠?即在上、下方向進行1/2網(wǎng)格區(qū)域高度的偏移,在左、右方向進行1/2網(wǎng)格區(qū)域?qū)挾鹊钠?,在左上、左下、右上、右下進行的偏移的橫向分量為1/2網(wǎng)格區(qū)域?qū)挾?,而縱向分量為1/2網(wǎng)格區(qū)域高度),并從上述八個偏移位置以及網(wǎng)格區(qū)域的先前位置中,選擇應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中的偏移位置或先前位置。在子步驟b,以前一步驟中所用偏移量的一半遞歸執(zhí)行前一步驟,直到應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中。也就是說,從在子步驟a所選擇的偏移位置或初始位置出發(fā),在上、下、左、右、左上、左下、右上、右下八個方向分別對網(wǎng)格區(qū)域整體進行相應(yīng)的1/4網(wǎng)格區(qū)域高度或1/4網(wǎng)格區(qū)域?qū)挾鹊钠?即在上、下方向進行1/4網(wǎng)格區(qū)域高度的偏移,在左、右方向進行1/4網(wǎng)格區(qū)域?qū)挾鹊钠?,在左上、左下、右上、右下進行的偏移的橫向分量為1/4網(wǎng)格區(qū)域?qū)挾?,而縱向分量為1/4網(wǎng)格區(qū)域高度),并從該子步驟b所形成的八個偏移位置以及在子步驟a所形成的先前位置(即在子步驟a中選擇的偏移位置或初始位置)中,選擇應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中的偏移位置或先前位置。以此類推,直到應(yīng)用圖像的變化部分所涉及的網(wǎng)格區(qū)域的數(shù)量無法變小為止,此時, 可確定應(yīng)用圖像的變化部分已包括在最小數(shù)量的網(wǎng)格區(qū)域中。這樣形成的偏移方案可以由一個縱坐標(biāo)偏移量、或者一個橫坐標(biāo)偏移量、或者一個縱坐標(biāo)偏移量和一個橫坐標(biāo)偏移量兩者來表示。在子步驟C,沿縱向或者橫向?qū)ρ卦摲较虻陌瑧?yīng)用圖像的變化部分的每排網(wǎng)格區(qū)域分別整體按像素進行偏移,直到對于每排網(wǎng)格區(qū)域,應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中。經(jīng)過該步驟所形成的偏移方案可以由一個縱坐標(biāo)偏移量以及若干行網(wǎng)格區(qū)域的橫坐標(biāo)偏移量來表示,或者由一個橫坐標(biāo)偏移量以及若干列網(wǎng)格區(qū)域的縱坐標(biāo)偏移量來表示。以上描述了根據(jù)本發(fā)明的一些實施例的用于對網(wǎng)格區(qū)域的位置進行偏移以使得
10應(yīng)用圖像的變化部分位于較少的網(wǎng)格區(qū)域中的具體方法,應(yīng)指出的是,以上所述的實施例僅為示例,而不是對本發(fā)明的限制。如本領(lǐng)域的技術(shù)人員可知的,還存在很多其他具體方法,可以用來對網(wǎng)格區(qū)域的位置進行偏移以使得應(yīng)用圖像的變化部分位于較少的網(wǎng)格區(qū)域。例如,如本領(lǐng)域的技術(shù)人員所知的,可以將所有可能的偏移方案視為一個狀態(tài)空間,并利用多種啟發(fā)式搜索算法以較小的算法復(fù)雜度在該狀態(tài)空間中搜索出一個最優(yōu)的或可行的偏移方案。在步驟205,將包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù)發(fā)送到應(yīng)用共享客戶端,以便應(yīng)用共享客戶端根據(jù)所接收的包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的偏移量, 以及在應(yīng)用共享客戶端處緩存的先前應(yīng)用圖像在各網(wǎng)格區(qū)域中的圖像數(shù)據(jù),生成和顯示變化后的應(yīng)用圖像。由于經(jīng)過偏移后,包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量較少,因此,節(jié)省了網(wǎng)格傳輸帶寬。例如,對于在縱向和橫向?qū)λ芯W(wǎng)格區(qū)域的整體進行偏移的實施例,需要向應(yīng)用共享客戶端發(fā)送應(yīng)用圖像的變化部分所涉及的偏移后的每個網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和每個網(wǎng)格區(qū)域的標(biāo)識或編號,以及一個縱坐標(biāo)偏移量和一個橫坐標(biāo)偏移量。對于在縱向?qū)λ芯W(wǎng)格區(qū)域的整體進行偏移,而在橫向分別對應(yīng)用圖像的變化部分涉及的若干行網(wǎng)格區(qū)域中的每一行分別進行整體偏移的實施例,需要向應(yīng)用共享客戶端發(fā)送應(yīng)用圖像的變化部分所涉及的偏移后的每個網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和每個網(wǎng)格區(qū)域的標(biāo)識或編號,以及一個縱坐標(biāo)偏移量和應(yīng)用圖像的變化部分涉及的每一行網(wǎng)格區(qū)域的橫向偏移量。對于在橫向?qū)λ芯W(wǎng)格區(qū)域的整體進行偏移,而在縱向分別對應(yīng)用圖像的變化部分涉及的若干列網(wǎng)格區(qū)域中的每一列分別進行整體偏移的實施例,需要向應(yīng)用共享客戶端發(fā)送應(yīng)用圖像的變化部分所涉及的偏移后的每個網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和每個網(wǎng)格區(qū)域的標(biāo)識或編號,以及一個橫坐標(biāo)偏移量和應(yīng)用圖像的變化部分涉及的每一列網(wǎng)格區(qū)域的縱向偏移量。當(dāng)應(yīng)用共享客戶端接收到來自應(yīng)用共享服務(wù)器的包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù)后,應(yīng)用共享客戶端可以首先從其緩存中獲取先前緩存的整個應(yīng)用圖像,即先前緩存的包含應(yīng)用的屏幕顯示的所有網(wǎng)格區(qū)域中的圖像數(shù)據(jù),然后根據(jù)所接收的包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域的標(biāo)識和相關(guān)的偏移量數(shù)據(jù)計算所述包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域?qū)?yīng)于包含應(yīng)用的屏幕顯示的所有網(wǎng)格區(qū)域中的圖像數(shù)據(jù)中的位置,并使用所述包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)取代所述緩存的包含應(yīng)用的屏幕顯示的所有網(wǎng)格區(qū)域中相應(yīng)位置的圖像數(shù)據(jù),從而生成包含了變化部分的整個應(yīng)用圖像,并將其顯示出來。例如,對于圖IA和IB所示的示例,在應(yīng)用共享客戶端已經(jīng)緩存了先前所接收自應(yīng)用共享服務(wù)器的包含該應(yīng)用的屏幕顯示的所有網(wǎng)格中的圖像數(shù)據(jù)。當(dāng)應(yīng)用共享客戶端接收到來自應(yīng)用共享服務(wù)器的包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域(1,1)、(1,2)、(1, 3),(2,2),(2,3)中的圖像數(shù)據(jù)及其標(biāo)識或編號(I,l)、(l,2)、(l,3)j2,2)j2,3)、以及相關(guān)的偏移數(shù)據(jù)(xl,x2, yl)之后,應(yīng)用共享客戶端可以首先獲取緩存的包含該應(yīng)用的先前屏幕顯示的所有網(wǎng)格區(qū)域中的圖像數(shù)據(jù),然后根據(jù)所接收的包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的編號(1,1)、(1,2), (1,3), (2,2), (2,3)以及偏移數(shù)據(jù)(xl,x2, yl),確定網(wǎng)格區(qū)域(1,1)、(1,2)、(1,3)的偏移量為(xl,yl),確定網(wǎng)格區(qū)域(2,2)、(2,3)的偏移量為(x2, yl),從而得到包含應(yīng)用圖像的變化部分的每個偏移后的網(wǎng)格區(qū)域(及其中的每個像素)對應(yīng)于該應(yīng)用的先前屏幕顯示的所有網(wǎng)格區(qū)域中的圖像數(shù)據(jù)的位置,并使用包含應(yīng)用圖像的變化部分的每個偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)取代該應(yīng)用的先前屏幕顯示的所有網(wǎng)格區(qū)域中的相應(yīng)位置的圖像數(shù)據(jù),從而獲得包含變化部分的該應(yīng)用的全部圖像數(shù)據(jù),并顯示出來。根據(jù)本發(fā)明的一實施例,該方法還包括一可選步驟206,其中,響應(yīng)于檢測到應(yīng)用圖像的變化部分位于單個網(wǎng)格區(qū)域中,將所述單個網(wǎng)格區(qū)域中的圖像數(shù)據(jù)(及其標(biāo)識或編號)發(fā)送到應(yīng)用共享客戶端,以便應(yīng)用共享客戶端根據(jù)所接收的該網(wǎng)格區(qū)域中的圖像數(shù)據(jù)以及在應(yīng)用共享客戶端處緩存的先前應(yīng)用圖像在各網(wǎng)格區(qū)域中的圖像數(shù)據(jù),生成和顯示變化后的應(yīng)用圖像。也就是說,當(dāng)檢測到應(yīng)用圖像的變化部分僅涉及一個網(wǎng)格區(qū)域時,不必再對網(wǎng)格區(qū)域進行偏移,而是直接將包含應(yīng)用圖像的變化部分的該網(wǎng)格區(qū)域發(fā)送到應(yīng)用共享客戶端。以上參照附圖描述了根據(jù)本發(fā)明的實施例的用于通過動態(tài)分區(qū)改進應(yīng)用共享的方法,應(yīng)指出的是,以上描述僅為示例性說明,而不是對本發(fā)明的限制。在本發(fā)明的其他實施例中,該方法可具有更多、更少或不同的步驟,且各步驟之間的順序和包含等關(guān)系可以與描述和圖示的不同。例如,在本發(fā)明的一些實施例中,所述步驟202、203、204可以合并為一個步驟,其中響應(yīng)于檢測到在多個網(wǎng)格區(qū)域中的應(yīng)用圖像發(fā)生變化,對網(wǎng)格區(qū)域的位置進行偏移,以使得應(yīng)用圖像的變化部分位于較少的網(wǎng)格區(qū)域。再例如,在本發(fā)明的一些實施例中,該方法可以不包括所述步驟203、206。又例如,在本發(fā)明的另一些實施例中,該方法還可以包括在應(yīng)用共享客戶端根據(jù)所接收的包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的偏移量,以及在應(yīng)用共享客戶端處緩存的先前應(yīng)用圖像在各網(wǎng)格區(qū)域中的圖像數(shù)據(jù),生成和顯示變化后的應(yīng)用圖像的步驟?,F(xiàn)參照附描述根據(jù)本發(fā)明的實施例的用于通過動態(tài)分區(qū)改進應(yīng)用共享的裝置。該裝置可用于執(zhí)行以上描述的根據(jù)本發(fā)明的實施例的用于通過動態(tài)分區(qū)改進應(yīng)用共享的方法。為簡明起見,在以下描述中省略了與以上描述重復(fù)的部分細節(jié),因此可參照以上描述獲得對根據(jù)本發(fā)明的實施例的用于通過動態(tài)分區(qū)改進應(yīng)用共享的裝置更詳細的了解。圖3示出了根據(jù)本發(fā)明的實施例的用于通過動態(tài)分區(qū)改進應(yīng)用共享的裝置。如圖所示,該裝置包括劃分模塊301,用于在應(yīng)用共享服務(wù)器處將應(yīng)用的屏幕顯示劃分為網(wǎng)格區(qū)域;偏移模塊302,用于響應(yīng)于檢測到在多個網(wǎng)格區(qū)域中的應(yīng)用圖像發(fā)生變化,對網(wǎng)格區(qū)域的位置進行偏移,以使得應(yīng)用圖像的變化部分位于較少的網(wǎng)格區(qū)域中;以及發(fā)送模塊 303,用于將包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù)發(fā)送到應(yīng)用共享客戶端,以便應(yīng)用共享客戶端根據(jù)所接收的包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的偏移量和標(biāo)識,以及在應(yīng)用共享客戶端處緩存的先前應(yīng)用圖像在各網(wǎng)格區(qū)域中的圖像數(shù)據(jù),生成和顯示變化后的應(yīng)用圖像。該裝置優(yōu)選地在應(yīng)用共享服務(wù)器處實現(xiàn)。所述應(yīng)用共享客戶端可以為一個或多個。在應(yīng)用共享客戶端處存在緩存模塊304,其用于緩存來自應(yīng)用共享服務(wù)器的先前應(yīng)用圖像,以及生成模塊305,其用于根據(jù)從應(yīng)用共享服務(wù)器接收的包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的偏移量和標(biāo)識,以及在應(yīng)用共享客戶端處緩存的先前應(yīng)用圖像在各網(wǎng)格區(qū)域中的圖像數(shù)據(jù),生成變化后的應(yīng)用圖像以便顯示出來。所述劃分模塊301可以是現(xiàn)有的應(yīng)用共享技術(shù)中用于在應(yīng)用共享服務(wù)器處將應(yīng)用的屏幕顯示劃分為網(wǎng)格區(qū)域的模塊。根據(jù)本發(fā)明的實施例,所述偏移模塊302進一步用于在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),對網(wǎng)格區(qū)域的位置按像素進行偏移。根據(jù)本發(fā)明的一個實施例,所述偏移模塊302包括用于在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),對所有網(wǎng)格區(qū)域的整體按像素進行偏移,并列舉偏移過程中形成的偏移方案的子模塊;用于計算在列舉的偏移方案中,包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量的子模塊;以及用于將列舉的偏移方案中包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量最少的偏移方案確定為最終的偏移方案的子模塊。根據(jù)本發(fā)明的另一個實施例,所述偏移模塊302包括用于在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),在縱向和橫向中的一個方向上,對所有網(wǎng)格區(qū)域的整體進按像素進行偏移,而在縱向和橫向中的另一個方向上,對沿該另一個方向的涉及應(yīng)用圖像的變化部分的每排網(wǎng)格區(qū)域分別整體按像素進行偏移,并列舉偏移過程中形成的偏移方案的子模塊;用于計算在列舉的偏移方案中,包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量的子模塊;以及用于將列舉的偏移方案中包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量最少的偏移方案確定為最終的偏移方案的子模塊。根據(jù)本發(fā)明的另一個實施例,所述偏移模塊302包括用于在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),沿縱向和橫向中的一個方向?qū)λ芯W(wǎng)格區(qū)域整體按像素進行偏移,直到在該方向上對所有網(wǎng)格區(qū)域整體按像素進行的偏移中,應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中的子模塊;以及用于沿縱向和橫向中的另一個方向?qū)ρ卦摿硪粋€方向的包含應(yīng)用圖像的變化部分的每排網(wǎng)格區(qū)域分別整體按像素進行偏移,直到對于每排網(wǎng)格區(qū)域,應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中的子模塊。根據(jù)本發(fā)明的另一個實施例,所述偏移模塊302包括用于在上、下、左、右、左上、 左下、右上、右下八個方向分別對網(wǎng)格區(qū)域整體進行相應(yīng)的1/2網(wǎng)格區(qū)域高度或1/2網(wǎng)格區(qū)域?qū)挾鹊钠?,并從上述八個偏移位置以及網(wǎng)格區(qū)域的先前位置中,選擇應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中的偏移位置或先前位置的子模塊;用于以前一步驟中所用偏移量的一半遞歸執(zhí)行前一步驟,直到應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中的子模塊;以及用于沿縱向或者橫向?qū)ρ卦摲较虻陌瑧?yīng)用圖像的變化部分的每排網(wǎng)格區(qū)域分別整體進行按像素進行偏移,直到對于每排網(wǎng)格區(qū)域,應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中的子模塊。根據(jù)本發(fā)明的一個實施例,所述發(fā)送模塊303還用于響應(yīng)于檢測到在一個網(wǎng)格區(qū)域中的應(yīng)用圖像發(fā)生變化,將所述一個網(wǎng)格區(qū)域中的圖像數(shù)據(jù)發(fā)送到應(yīng)用共享客戶端,以便應(yīng)用共享客戶端根據(jù)所接收的該網(wǎng)格區(qū)域中的圖像數(shù)據(jù)以及在應(yīng)用共享客戶端處緩存的先前應(yīng)用圖像在各網(wǎng)格區(qū)域中的圖像數(shù)據(jù),生成和顯示變化后的應(yīng)用圖像。以上參照附圖描述了根據(jù)本發(fā)明的實施例的用于通過動態(tài)分區(qū)改進應(yīng)用共享的裝置,應(yīng)指出的是,以上描述僅為示例性說明,而不是對本發(fā)明的限制。在本發(fā)明的其他實CN 102437999 A
說明書
10/10 頁
施例中,該裝置可具有更多、更少或不同的模塊,各模塊之間的連接和包含等關(guān)系可以與描述和圖示的不同。例如,在本發(fā)明的一些實施例中,該裝置還可以包括一檢測模塊,其用于檢測應(yīng)用圖像中發(fā)生的變化,以及一判斷模塊,用于判斷應(yīng)用圖像的變化部分是否位于多個網(wǎng)格區(qū)域中。再例如,在本發(fā)明的一些實施例中,該裝置還可以包括在應(yīng)用共享客戶端處的緩存模塊304,其用于緩存來自應(yīng)用共享服務(wù)器的先前應(yīng)用圖像,接收模塊305,其用于接收來自應(yīng)用共享服務(wù)器的包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù),以及生成模塊306,其用于根據(jù)所述接收的包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù), 以及在應(yīng)用共享客戶端處緩存的先前應(yīng)用圖像在各網(wǎng)格區(qū)域中的圖像數(shù)據(jù),生成變化后的應(yīng)用圖像以便顯示出來?;蛘?,也可以將在應(yīng)用共享客戶端處的所述緩存模塊304、接收模塊305和生成模塊306視為包括在應(yīng)用共享客戶端處實現(xiàn)的一種通過動態(tài)分區(qū)改進應(yīng)用共享的裝置中。本發(fā)明可以硬件、軟件、或硬件與軟件的結(jié)合的方式實現(xiàn)。本發(fā)明可以集中的方式在一個計算機系統(tǒng)中實現(xiàn),或以分布方式實現(xiàn),在這種分布方式中,不同的部件分布在若干互連的計算機系統(tǒng)中。適于執(zhí)行本文中描述的方法的任何計算機系統(tǒng)或其它裝置都是合適的。一種典型的硬件和軟件的組合可以是帶有計算機程序的通用計算機系統(tǒng),當(dāng)該計算機程序被加載和執(zhí)行時,控制該計算機系統(tǒng)而使其執(zhí)行本發(fā)明的方法,并構(gòu)成本發(fā)明的裝置。本發(fā)明也可體現(xiàn)在計算機程序產(chǎn)品中,該程序產(chǎn)品包含使能實現(xiàn)本文中描述的方法的所有特征,并且當(dāng)其被加載到計算機系統(tǒng)中時,能夠執(zhí)行所述方法。盡管已參照優(yōu)選實施例具體示出和說明了本發(fā)明,但是本領(lǐng)域內(nèi)的那些技術(shù)人員應(yīng)理解,可在形式和細節(jié)上對其進行各種改變而不會背離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種通過動態(tài)分區(qū)改進應(yīng)用共享的方法,包括 將應(yīng)用的屏幕顯示劃分為網(wǎng)格區(qū)域;響應(yīng)于檢測到在多個網(wǎng)格區(qū)域中的應(yīng)用圖像發(fā)生變化,對網(wǎng)格區(qū)域的位置進行偏移, 以使得應(yīng)用圖像的變化部分位于較少的網(wǎng)格區(qū)域中;以及將包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù)發(fā)送到應(yīng)用共享客戶端。
2.根據(jù)權(quán)利要求1的方法,其中,所述對網(wǎng)格區(qū)域的位置進行偏移包括在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),對網(wǎng)格區(qū)域的位置按像素進行偏移。
3.根據(jù)權(quán)利要求2的方法,其中,所述對網(wǎng)格區(qū)域的位置按像素進行偏移包括在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),對所有網(wǎng)格區(qū)域的整體按像素進行偏移,并列舉偏移過程中形成的偏移方案;計算在列舉的偏移方案中,包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量;以及將列舉的偏移方案中包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量最少的偏移方案確定為最終的偏移方案。
4.根據(jù)權(quán)利要求2的方法,其中,所述對網(wǎng)格區(qū)域的位置按像素進行偏移包括在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),在縱向和橫向中的一個方向上,對所有網(wǎng)格區(qū)域的整體按像素進行偏移,而在縱向和橫向中的另一個方向上, 對沿該另一個方向的涉及應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域分別進行偏移,并列舉偏移過程中形成的偏移方案;計算在列舉的偏移方案中,包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量;以及將列舉的偏移方案中包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量最少的偏移方案確定為最終的偏移方案。
5.根據(jù)權(quán)利要求2的方法,其中,所述對網(wǎng)格區(qū)域的位置按像素進行偏移包括在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),沿縱向和橫向中的一個方向?qū)λ芯W(wǎng)格區(qū)域整體按像素進行偏移,直到在該方向上對所有網(wǎng)格區(qū)域整體按像素進行的偏移中,應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中;以及沿縱向和橫向中的另一個方向?qū)ρ卦摿硪粋€方向的包含應(yīng)用圖像的變化部分的每排網(wǎng)格區(qū)域分別整體按像素進行偏移,直到對于每排網(wǎng)格區(qū)域,應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中。
6.根據(jù)權(quán)利要求2的方法,其中,所述對網(wǎng)格區(qū)域的位置按像素進行偏移包括在上、下、左、右、左上、左下、右上、右下八個方向分別對網(wǎng)格區(qū)域整體進行相應(yīng)的1/2 網(wǎng)格區(qū)域高度或1/2網(wǎng)格區(qū)域?qū)挾鹊钠?,并從上述八個偏移位置以及網(wǎng)格區(qū)域的先前位置中,選擇應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中的偏移位置或先前位置;以前一步驟中所用偏移量的一半遞歸執(zhí)行前一步驟,直到應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中;以及沿縱向或者橫向?qū)ρ卦摲较虻陌瑧?yīng)用圖像的變化部分的每排網(wǎng)格區(qū)域分別整體按像素進行偏移,直到對于每排網(wǎng)格區(qū)域,應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域
7.—種通過動態(tài)分區(qū)改進應(yīng)用共享的方法,包括接收包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù);以及根據(jù)所接收的包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù),以及在應(yīng)用共享客戶端處緩存的先前應(yīng)用圖像在各網(wǎng)格區(qū)域中的圖像數(shù)據(jù),生成和顯示變化后的應(yīng)用圖像。
8.一種通過動態(tài)分區(qū)改進應(yīng)用共享的裝置,包括劃分模塊,用于將應(yīng)用的屏幕顯示劃分為網(wǎng)格區(qū)域;偏移模塊,用于響應(yīng)于檢測到在多個網(wǎng)格區(qū)域中的應(yīng)用圖像發(fā)生變化,對網(wǎng)格區(qū)域的位置進行偏移,以使得應(yīng)用圖像的變化部分位于較少的網(wǎng)格區(qū)域中;以及發(fā)送模塊,用于將包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù)發(fā)送到應(yīng)用共享客戶端。
9.根據(jù)權(quán)利要求8的裝置,其中,所述偏移模塊進一步用于在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),對網(wǎng)格區(qū)域的位置按像素進行偏移。
10.根據(jù)權(quán)利要求9的裝置,其中,所述偏移模塊包括用于在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),對所有網(wǎng)格區(qū)域的整體按像素進行偏移,并列舉偏移過程中形成的偏移方案的子模塊;用于計算在列舉的偏移方案中,包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量的子模塊;以及用于將列舉的偏移方案中包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量最少的偏移方案確定為最終的偏移方案的子模塊。
11.根據(jù)權(quán)利要求9的裝置,其中,所述偏移模塊包括用于在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),在縱向和橫向中的一個方向上,對所有網(wǎng)格區(qū)域的整體按像素進行偏移,而在縱向和橫向中的另一個方向上,對沿該另一個方向的涉及應(yīng)用圖像的變化部分的每排網(wǎng)格區(qū)域分別整體按像素進行偏移,并列舉偏移過程中形成的偏移方案的子模塊;用于計算在列舉的偏移方案中,包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量的子模塊;以及用于將列舉的偏移方案中包含應(yīng)用圖像的變化部分的網(wǎng)格區(qū)域的數(shù)量最少的偏移方案確定為最終的偏移方案的子模塊。
12.根據(jù)權(quán)利要求9的裝置,其中,所述偏移模塊包括用于在縱向一個網(wǎng)格區(qū)域的高度和橫向一個網(wǎng)格區(qū)域的寬度的范圍內(nèi),沿縱向和橫向中的一個方向?qū)λ芯W(wǎng)格區(qū)域整體按像素進行偏移,直到在該方向上對所有網(wǎng)格區(qū)域整體按像素進行的偏移中,應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中的子模塊;以及用于沿縱向和橫向中的另一個方向?qū)ρ卦摿硪粋€方向的包含應(yīng)用圖像的變化部分的每排網(wǎng)格區(qū)域分別整體按像素進行偏移,直到對于每排網(wǎng)格區(qū)域,應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中的子模塊。
13.根據(jù)權(quán)利要求9的裝置,其中,所述偏移模塊包括用于在上、下、左、右、左上、左下、右上、右下八個方向分別對網(wǎng)格區(qū)域整體進行相應(yīng)的 1/2網(wǎng)格區(qū)域高度或1/2網(wǎng)格區(qū)域?qū)挾鹊钠?,并從上述八個偏移位置以及網(wǎng)格區(qū)域的先前位置中,選擇應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中的偏移位置或先前位置的子模塊;用于以前一步驟中所用偏移量的一半遞歸執(zhí)行前一步驟,直到應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中的子模塊;以及用于沿縱向或者橫向?qū)ρ卦摲较虻陌瑧?yīng)用圖像的變化部分的每排網(wǎng)格區(qū)域分別整體按像素進行偏移,直到對于每排網(wǎng)格區(qū)域,應(yīng)用圖像的變化部分包括在最小數(shù)量的網(wǎng)格區(qū)域中的子模塊。
14. 一種通過動態(tài)分區(qū)改進應(yīng)用共享的裝置,包括接收模塊,用于接收包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù);以及生成模塊,用于根據(jù)所接收的包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù),以及在應(yīng)用共享客戶端處緩存的先前應(yīng)用圖像在各網(wǎng)格區(qū)域中的圖像數(shù)據(jù),生成和顯示變化后的應(yīng)用圖像。
全文摘要
本發(fā)明公開了一種通過動態(tài)分區(qū)改進應(yīng)用共享的方法和裝置,該方法包括將應(yīng)用的屏幕顯示劃分為網(wǎng)格區(qū)域;響應(yīng)于檢測到在多個網(wǎng)格區(qū)域中的應(yīng)用圖像發(fā)生變化,對網(wǎng)格區(qū)域的位置進行偏移,以使得應(yīng)用圖像的變化部分位于較少的網(wǎng)格區(qū)域中;以及將包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù)發(fā)送到應(yīng)用共享客戶端。還公開了相應(yīng)的一種通過動態(tài)分區(qū)改進應(yīng)用共享的方法和裝置,該方法包括接收包含應(yīng)用圖像的變化部分的偏移后的網(wǎng)格區(qū)域中的圖像數(shù)據(jù)和所述網(wǎng)格區(qū)域的標(biāo)識和偏移量數(shù)據(jù);以及根據(jù)所接收的數(shù)據(jù)以及在應(yīng)用共享客戶端處緩存的先前應(yīng)用圖像在各網(wǎng)格區(qū)域中的圖像數(shù)據(jù),生成和顯示變化后的應(yīng)用圖像。
文檔編號H04L29/06GK102437999SQ20101050621
公開日2012年5月2日 申請日期2010年9月29日 優(yōu)先權(quán)日2010年9月29日
發(fā)明者劉峻峰, 應(yīng)錦鑫, 陳名 申請人:國際商業(yè)機器公司