專利名稱:可視化共享應(yīng)用程序的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及應(yīng)用程序廣播和共享,并且尤其涉及一種廣播應(yīng)用程序的方法和系統(tǒng)。
背景技術(shù):
互聯(lián)網(wǎng)相關(guān)網(wǎng)絡(luò)(例如萬維網(wǎng)(Web))可以用于應(yīng)用程序廣播(applicationbroadcast)和共享會(huì)議。應(yīng)用程序廣播和共享會(huì)議可以包括,例如具有運(yùn)行在數(shù)字處理系統(tǒng)(DPS)上的特定應(yīng)用程序(面向用戶的、特定功能的軟件)的會(huì)議主席(moderator)。會(huì)議主席可能需要位于遠(yuǎn)程數(shù)字處理系統(tǒng)的一個(gè)或多個(gè)會(huì)議參加者能夠知道主席與應(yīng)用軟件的交互。潛在地,共享應(yīng)用程序可以擴(kuò)展到允許一個(gè)或多個(gè)參加者從主席處獲得對(duì)應(yīng)用程序的控制。所述的通過網(wǎng)絡(luò)的應(yīng)用程序廣播和共享近年來顯著的增長。
典型的,應(yīng)用程序廣播和共享是通過在服務(wù)器DPS上獲取來自主席的DPS的像素?cái)?shù)據(jù)而實(shí)現(xiàn)的,所述服務(wù)器DPS通過互聯(lián)網(wǎng)將所述像素?cái)?shù)據(jù)發(fā)送至位于遠(yuǎn)處的參與者(客戶端)DPS。參加者DPS接收數(shù)據(jù)并且使相應(yīng)的圖像在參加者DPS上為該參加者顯示。典型的,參加者DPS執(zhí)行流媒體播放軟件,例如由華盛頓西雅圖的RealNetworks公司開發(fā)的Real Player。流格式允許數(shù)據(jù)以穩(wěn)定的數(shù)據(jù)流被實(shí)時(shí)處理。來自主席DPS的顯示基于實(shí)況被發(fā)送到服務(wù)器。例如,所述系統(tǒng)可以周期性的進(jìn)行抓屏(screen scrape)。抓屏可以通過在來自當(dāng)前屏幕的像素?cái)?shù)據(jù)和來自發(fā)送到服務(wù)器的上一屏幕的像素?cái)?shù)據(jù)之間執(zhí)行異或(XOR)運(yùn)算而進(jìn)行。所述XOR運(yùn)算使得所有從上次抓屏以來沒有變化的像素被黑色抹去,而剩下的則為彩色。服務(wù)器保持抓屏隊(duì)列,所述抓屏隊(duì)列為主席的DPS上的變化的歷史記錄。為了減少在服務(wù)器上必須存儲(chǔ)的數(shù)據(jù)量,對(duì)抓屏進(jìn)行壓縮。例如,可以使用游程長度編碼(RLE)壓縮方法對(duì)數(shù)據(jù)進(jìn)行壓縮。RLE壓縮對(duì)所述這種有很長相同值的序列的情況提供了很高的壓縮率。所述序列被壓縮為其自身值以及表明該序列長度的數(shù)值。
參加者DPS根據(jù)各個(gè)參加者DPS的連接和處理能力(速度)盡可能快的從所述隊(duì)列下載數(shù)據(jù)。流格式支持動(dòng)畫效果,但是如果某些參加者的連接和處理速度不足時(shí)可能會(huì)使他們滯后于會(huì)議的其他參加者。所述系統(tǒng)考慮到互聯(lián)網(wǎng)并不是進(jìn)行實(shí)時(shí)通信的理想媒介而因此增加了緩沖以幫助提供連貫顯示。所述緩沖增加了若干秒的延遲。并且,某些現(xiàn)有系統(tǒng)基于每個(gè)用戶創(chuàng)建隊(duì)列和圖像緩沖,因此參加會(huì)議的人越多,服務(wù)器管理輸出數(shù)據(jù)流就越困難。也就是說,當(dāng)參加者DPS數(shù)量的增加,給定服務(wù)器DPS的硬件需求可能變得過大,需要通過流分割進(jìn)行分配。所述系統(tǒng)可能將數(shù)據(jù)流分割到若干服務(wù)器之間以分配負(fù)荷而提高可伸縮性。每次流分割都會(huì)給系統(tǒng)增加延遲,從而降低實(shí)時(shí)效果。
這些方法對(duì)于可能采用了電話系統(tǒng)以描述應(yīng)用程序的實(shí)時(shí)會(huì)議是不夠的。也就是說,在主席通過電話系統(tǒng)描述所述應(yīng)用程序時(shí),參加者應(yīng)當(dāng)能夠看到主席所提到的應(yīng)用程序的各個(gè)方面。由緩沖或者可伸縮性因素(例如流分割)引起的的延遲對(duì)會(huì)議有不利影響。
發(fā)明內(nèi)容
描述了一種應(yīng)用程序廣播的方法。主席的數(shù)字處理系統(tǒng)的顯示屏幕被劃分為多個(gè)區(qū)塊(tile),所述顯示屏幕包括大量像素,所述每個(gè)區(qū)塊包括所述大量像素的一部分。對(duì)應(yīng)于各個(gè)區(qū)塊的顯示數(shù)據(jù)段由存儲(chǔ)在存儲(chǔ)器中的該區(qū)塊的位圖而創(chuàng)建,每個(gè)顯示數(shù)據(jù)段包括相對(duì)應(yīng)的區(qū)塊的像素?cái)?shù)據(jù)。所述顯示數(shù)據(jù)段存儲(chǔ)在服務(wù)器數(shù)字處理系統(tǒng)上。計(jì)算每個(gè)區(qū)塊以確定該區(qū)塊的像素?cái)?shù)據(jù)是否改變。創(chuàng)建對(duì)應(yīng)于每個(gè)像素?cái)?shù)據(jù)已經(jīng)改變了的區(qū)塊的更新后的顯示數(shù)據(jù)段,每個(gè)更新后的顯示數(shù)據(jù)段包括對(duì)應(yīng)區(qū)塊的更新后的像素?cái)?shù)據(jù)。更新后的顯示數(shù)據(jù)段存儲(chǔ)在服務(wù)器數(shù)字處理系統(tǒng)上,從而替換對(duì)應(yīng)的已存儲(chǔ)的顯示數(shù)據(jù)段。
本發(fā)明的其他特征和優(yōu)點(diǎn)可以通過下面的附圖和詳細(xì)描述而更清楚。
本發(fā)明以附圖的示例形式說明,但并不局限于此,其中相同的標(biāo)號(hào)表示相同的元件,在附圖中圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用程序廣播和共享會(huì)議系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖;圖2是主席的DPS顯示屏幕的像素?cái)?shù)據(jù)被存儲(chǔ)到服務(wù)器并且周期更新的方法的程序流程圖;圖3表示根據(jù)本發(fā)明一個(gè)實(shí)施例的分割后的主席DPS顯示屏幕和存儲(chǔ)在服務(wù)器上的對(duì)應(yīng)的顯示數(shù)據(jù)段;圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的服務(wù)器DPS向參加者DPS發(fā)送更新后的主席DPS顯示屏幕數(shù)據(jù)的方法的程序流程圖;圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的參加者DPS接收主席DPS顯示屏幕的當(dāng)前顯示的方法的程序流程圖;以及圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例可以使用的DPS的結(jié)構(gòu)圖。
具體實(shí)施例方式
描述應(yīng)用程序廣播和共享的方法和設(shè)備。在一個(gè)實(shí)施例中,由主席DPS通過互聯(lián)網(wǎng)廣播到一個(gè)或多個(gè)參加者DPS的像素?cái)?shù)據(jù)被分割為區(qū)塊。對(duì)每個(gè)區(qū)塊生成顯示數(shù)據(jù)。每個(gè)顯示數(shù)據(jù)段(對(duì)每個(gè)區(qū)塊的顯示)包括可以進(jìn)行壓縮的該區(qū)塊的像素?cái)?shù)據(jù),還包括區(qū)塊標(biāo)識(shí),所述區(qū)塊標(biāo)識(shí)還可以表示該區(qū)塊的相對(duì)顯示屏幕位置。每個(gè)區(qū)塊的顯示數(shù)據(jù)段通過確定該區(qū)塊的像素?cái)?shù)據(jù)是否改變而周期更新。如果改變,則該區(qū)塊的顯示數(shù)據(jù)段由對(duì)應(yīng)于該區(qū)塊的最新的顯示數(shù)據(jù)段所替代。每個(gè)區(qū)塊的顯示數(shù)據(jù)段還包括時(shí)間指示符,用于指示該區(qū)塊的顯示數(shù)據(jù)段被更新(替代)的時(shí)間。在任何給定時(shí)間在服務(wù)器上只有表示每個(gè)區(qū)塊的當(dāng)前版本的顯示數(shù)據(jù)段才是有效的。參加者DPS請(qǐng)求來自服務(wù)器的數(shù)據(jù)并且提供其上次接收的顯示數(shù)據(jù)段的時(shí)間指示符。然后服務(wù)器發(fā)送隨后更新的每個(gè)區(qū)塊的當(dāng)前顯示數(shù)據(jù)段。這使得參加者的DPS可以顯示主席顯示屏幕的最新版本。
在下面的本發(fā)明的詳細(xì)描述中,給出了大量的特定細(xì)節(jié)以提供對(duì)本發(fā)明的徹底理解。然而,本領(lǐng)域技術(shù)人員應(yīng)該明白,本發(fā)明可以不具有這些特定細(xì)節(jié)而實(shí)施。在某些示例中,公知的結(jié)構(gòu)和設(shè)備以結(jié)構(gòu)圖形式顯示而不詳細(xì)說明,以免模糊本發(fā)明。
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用程序廣播和共享會(huì)議系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖。圖1中顯示的系統(tǒng)100包括主席DPS 105和服務(wù)器DPS110,所述服務(wù)器DPS110通過互聯(lián)網(wǎng)115連接到多個(gè)本地或遠(yuǎn)程參加者DPS120a、120b和120c。所述互聯(lián)網(wǎng)115是一種網(wǎng)絡(luò),通過所述網(wǎng)絡(luò)信息以本領(lǐng)域技術(shù)人員公知的方法(例如使用TCP和IP協(xié)議)進(jìn)行交換。典型的,主席DPS105正在顯示應(yīng)用程序。所述應(yīng)用程序可以是任何類型的面向用戶、特定功能軟件,例如華盛頓雷蒙德的微軟公司開發(fā)的Windows應(yīng)用程序。
主席DPS105的顯示屏幕被劃分為多個(gè)區(qū)塊。每個(gè)區(qū)塊表示顯示屏幕的特定段并且對(duì)應(yīng)于顯示屏幕像素的特定部分。在一個(gè)實(shí)施例中區(qū)塊是可以配置的、固定長度的矩形像素塊(例如128像素×32像素)。每個(gè)區(qū)塊的像素?cái)?shù)據(jù)可以進(jìn)行壓縮,作為顯示數(shù)據(jù)段存儲(chǔ)在服務(wù)器DPS110上。這為每個(gè)參加者DPS120a、120b和120c的訪問提供了對(duì)主席DPS105顯示屏幕數(shù)據(jù)的顯示。采用一定算法快速識(shí)別區(qū)塊內(nèi)的任何像素是否改變,如果改變,則使用該區(qū)塊的新的像素?cái)?shù)據(jù)創(chuàng)建新的顯示數(shù)據(jù)段來代替服務(wù)器上該區(qū)塊的顯示數(shù)據(jù)段。從而,存儲(chǔ)在服務(wù)器DPS110上的顯示屏幕顯示被更新。服務(wù)器DPS110在任何時(shí)間僅存儲(chǔ)每個(gè)區(qū)塊的像素?cái)?shù)據(jù)的當(dāng)前版本,因此僅存儲(chǔ)主席DPS105顯示屏幕的一個(gè)顯示。因此服務(wù)器DPS110沒有存儲(chǔ)關(guān)于顯示屏幕的歷史信息的負(fù)擔(dān),并且不對(duì)每個(gè)參加者創(chuàng)建圖像緩沖。也就是說,服務(wù)器DPS110上所使用的存儲(chǔ)器數(shù)量僅限于存儲(chǔ)當(dāng)前顯示屏幕像素?cái)?shù)據(jù)(即每個(gè)區(qū)塊的顯示數(shù)據(jù)段)并且與訪問數(shù)據(jù)的參加者數(shù)量無關(guān)。因此,可以實(shí)現(xiàn)更大的可伸縮性而不引入附加延遲。
存儲(chǔ)在服務(wù)器DPS110上的每個(gè)區(qū)塊的顯示數(shù)據(jù)段中的像素?cái)?shù)據(jù)中包括時(shí)間指示符(即時(shí)間戳),所述時(shí)間指示符指示該顯示數(shù)據(jù)段上次更新的時(shí)間(即該區(qū)塊的像素?cái)?shù)據(jù)上次改變的時(shí)間)。當(dāng)參加者DPS訪問數(shù)據(jù)時(shí),服務(wù)器訪問存儲(chǔ)在該服務(wù)器上的來自該參加者DPS的上次的時(shí)間戳。服務(wù)器DPS110隨后僅發(fā)送具有更晚的時(shí)間指示符的顯示數(shù)據(jù)段。然而,在參加者DPS有機(jī)會(huì)下載顯示數(shù)據(jù)段之前區(qū)塊可能更新若干次。這樣參加者DPS僅接收和處理對(duì)于顯示主席DPS顯示屏幕的當(dāng)前狀態(tài)所需的數(shù)據(jù)。
下面給出關(guān)于主席DPS105、服務(wù)器DPS110以及參加者DPS120a、120b和120c的操作的進(jìn)一步細(xì)節(jié)。
系統(tǒng)100還包括可以與主席DPS105共置的主席電話106,以及可以分別與參加者DPS120a、120b和120c共置的多個(gè)參加者電話121a、121b和121c。主席電話106通過電話網(wǎng)絡(luò)連接到每個(gè)參加者電話121a、121b和121c。電話網(wǎng)絡(luò)用公共交換電話網(wǎng)125表示,但是其在可替換實(shí)施例中可以為任何電信網(wǎng)絡(luò),包括任何模擬或數(shù)字(例如ISDN)、有線或無線電信系統(tǒng)或者VoIP。主席DPS105典型的可以由會(huì)議主席進(jìn)行控制。主席還可以在應(yīng)用程序顯示時(shí)對(duì)其進(jìn)行評(píng)論。由于參加者DPS120a、120b和120c僅僅訪問顯示屏幕的最新顯示,參加者DPS處的顯示可以反映出通過電話網(wǎng)絡(luò)125發(fā)送的主席評(píng)論而不會(huì)有令人不快的延遲。
圖2是主席的DPS顯示屏幕的像素?cái)?shù)據(jù)被存儲(chǔ)到服務(wù)器并且周期更新的方法的程序流程圖。圖2中顯示的程序200開始于操作205,在所述操作205中主席DPS的顯示屏幕被劃分為段(區(qū)塊)。顯示屏幕的分割可以在主席DPS完成,或者在替換實(shí)施例中在服務(wù)器DPS完成。在一個(gè)實(shí)施例中,主席DPS顯示屏幕被分割為尺寸為128像素×32像素的矩形區(qū)塊。典型的,在顯示屏幕如此分割后,區(qū)塊配置在整個(gè)會(huì)議中不再改變。這樣的配置產(chǎn)生了固定的坐標(biāo)系統(tǒng),其中每個(gè)區(qū)塊可以通過其坐標(biāo)來標(biāo)識(shí)。例如,每個(gè)區(qū)塊可以通過區(qū)塊的左上角的x-y坐標(biāo)而唯一標(biāo)識(shí)。
在操作210,對(duì)應(yīng)于每個(gè)區(qū)塊的顯示數(shù)據(jù)段被創(chuàng)建并發(fā)送到服務(wù)器DPS并且存儲(chǔ)在服務(wù)器DPS上。每個(gè)顯示數(shù)據(jù)段包括對(duì)應(yīng)區(qū)塊的像素?cái)?shù)據(jù)。來自每個(gè)區(qū)塊的像素?cái)?shù)據(jù)被壓縮并與該區(qū)塊的唯一標(biāo)識(shí)一起存儲(chǔ)為對(duì)應(yīng)的顯示數(shù)據(jù)段。在任何給定時(shí)間僅在服務(wù)器上存儲(chǔ)一個(gè)區(qū)塊版本。每個(gè)顯示數(shù)據(jù)段還包括時(shí)間指示符,用于指示對(duì)應(yīng)的區(qū)塊上次改變(更新)的時(shí)間。
圖3表示根據(jù)本發(fā)明一個(gè)實(shí)施例的分割后的主席DPS顯示屏幕和存儲(chǔ)在服務(wù)器上的對(duì)應(yīng)的顯示數(shù)據(jù)段。圖3中顯示的顯示屏幕300被劃分為四個(gè)區(qū)塊306~309。每個(gè)區(qū)塊基于其在顯示屏幕上的位置進(jìn)行標(biāo)識(shí)。例如,區(qū)塊306~309可以分別用坐標(biāo)對(duì)(0,0),(0,50),(50,0)和(50,50)進(jìn)行標(biāo)識(shí)。特定標(biāo)識(shí)是任意的并且可以采用能夠唯一標(biāo)識(shí)每個(gè)區(qū)塊的任何系統(tǒng)。每個(gè)區(qū)塊的像素?cái)?shù)據(jù)被編碼(壓縮)并發(fā)送到服務(wù)器310。服務(wù)器310包括對(duì)應(yīng)于每個(gè)區(qū)塊306~309的顯示數(shù)據(jù)段,即306a~309a。每個(gè)顯示數(shù)據(jù)段306a~309a包括編碼后的像素?cái)?shù)據(jù)315和對(duì)應(yīng)區(qū)塊的區(qū)塊標(biāo)識(shí)320。每個(gè)顯示數(shù)據(jù)段306a~309a還包括時(shí)間指示符325,用于指示該顯示數(shù)據(jù)段被創(chuàng)建的時(shí)間。盡管顯示屏幕300被顯示為劃分成四個(gè)區(qū)塊,在實(shí)際實(shí)施例中,顯示屏幕可以劃分為更多更小的區(qū)塊。在這些實(shí)施例中,每個(gè)區(qū)塊的特有顏色的數(shù)量少于屏幕上顏色的數(shù)量,這允許進(jìn)一步的壓縮可能,如下所述。
再次參考圖2,在操作215,周期性地計(jì)算每個(gè)區(qū)塊以確定該區(qū)塊的像素?cái)?shù)據(jù)是否改變。在一個(gè)實(shí)施例中,使用具有非??斓拇鎯?chǔ)器比較程序的處理器(例如加利福尼亞的圣塔克萊拉的英特爾公司推出的多媒體擴(kuò)展(MMX)奔騰處理器)來將主席DPS顯示屏幕上當(dāng)前顯示的每個(gè)區(qū)塊和服務(wù)器上存儲(chǔ)的該區(qū)塊的最新版本進(jìn)行比較。也就是說,當(dāng)前在屏幕上顯示的區(qū)塊的位圖T0被存儲(chǔ)在存儲(chǔ)器中。位圖T0與服務(wù)器DPS上存儲(chǔ)的用于創(chuàng)建對(duì)應(yīng)的顯示數(shù)據(jù)段的相同區(qū)塊的位圖T-1進(jìn)行比較,所述位圖T-1也存儲(chǔ)在存儲(chǔ)器中。使用存儲(chǔ)器比較程序可以很快確定兩個(gè)存儲(chǔ)器位置是否相同。在一個(gè)實(shí)施例中,計(jì)算區(qū)塊以確定是否發(fā)生改變的過程在主席DPS允許的限度內(nèi)盡可能頻繁的重復(fù)進(jìn)行。可替換地,區(qū)塊計(jì)算過程的重復(fù)頻率可以基于參加者DPS的連接和處理速度或者其他系統(tǒng)準(zhǔn)則的。
如果位圖T0和位圖T-1不相同,則該區(qū)塊被指定為“改動(dòng)過的區(qū)塊”(即該區(qū)塊已被更新)。在操作220,為每個(gè)改動(dòng)過的區(qū)塊確定更新顯示數(shù)據(jù)段。更新顯示數(shù)據(jù)段包含對(duì)應(yīng)于當(dāng)前位圖(位圖T0)的像素?cái)?shù)據(jù)以及更新的時(shí)間指示符。區(qū)塊標(biāo)識(shí)在整個(gè)過程中保持不變。新的顯示數(shù)據(jù)段發(fā)送到服務(wù)器,并且服務(wù)器以新的顯示數(shù)據(jù)段替代對(duì)應(yīng)的舊的顯示數(shù)據(jù)段。存儲(chǔ)在服務(wù)器上的區(qū)塊的已有顯示數(shù)據(jù)段在區(qū)塊更新時(shí)被丟棄。從而存儲(chǔ)在服務(wù)器上的該區(qū)塊的新的顯示數(shù)據(jù)段顯示是參加者DPS可以訪問的該區(qū)塊的唯一顯示。
在操作225,如果會(huì)議沒有結(jié)束,計(jì)算區(qū)塊以確定是否發(fā)生改變、為改變的區(qū)塊確定新的顯示數(shù)據(jù)段并且以對(duì)應(yīng)的新的顯示數(shù)據(jù)段替代舊的顯示數(shù)據(jù)段的過程繼續(xù)執(zhí)行。
如上所述,結(jié)合附圖2和圖3,每個(gè)區(qū)塊的像素?cái)?shù)據(jù)在存儲(chǔ)到服務(wù)器DPS上之前被壓縮。像素?cái)?shù)據(jù)可以通過本領(lǐng)域公知的若干種數(shù)據(jù)壓縮方法中任何一種進(jìn)行壓縮。像素?cái)?shù)據(jù)壓縮可以在主席DPS進(jìn)行或者在服務(wù)器DPS進(jìn)行。在一個(gè)實(shí)施例中,像素?cái)?shù)據(jù)壓縮通過改進(jìn)的RLE壓縮方法在主席DPS上進(jìn)行。每個(gè)區(qū)塊表示顯示屏幕的一小部分。在一個(gè)實(shí)施例中,每個(gè)區(qū)塊表示顯示屏幕的一部分,所述顯示屏幕的一部分為128像素長乘以32像素寬。對(duì)這個(gè)相對(duì)較小的區(qū)域,可能顯示的顏色數(shù)量遠(yuǎn)低于整個(gè)屏幕上將顯示的顏色數(shù)量。對(duì)每個(gè)區(qū)塊,像素?cái)?shù)據(jù)所需的顏色數(shù)量在16至64色之間。因此,盡管參加者DPS顯示設(shè)備可以提供真彩色能力(每個(gè)像素由24位表示),但是可以通過僅以一個(gè)字節(jié)(8位)表示一個(gè)區(qū)塊內(nèi)的每個(gè)像素而實(shí)現(xiàn)更高的壓縮。因此,在本發(fā)明的一個(gè)實(shí)施例中,可以采用改進(jìn)的RLE編碼,其中區(qū)塊的像素僅使用一個(gè)字節(jié)進(jìn)行編碼。每個(gè)字節(jié)顯示提供了256種顏色,這對(duì)于一個(gè)區(qū)塊內(nèi)的顏色范圍是足夠的。而且,如果一個(gè)區(qū)塊內(nèi)的顏色范圍遠(yuǎn)低于此,則每個(gè)字節(jié)可以存儲(chǔ)多個(gè)像素。例如,如果對(duì)于一個(gè)給定的區(qū)塊,顏色范圍僅為16種顏色,則僅需要4比特對(duì)一個(gè)像素進(jìn)行編碼并且每個(gè)字節(jié)內(nèi)可以編碼兩個(gè)像素。這種改進(jìn)的RLE編碼方法受到確定編碼區(qū)塊所需的顏色數(shù)量的影響,并且如同顯示設(shè)備被設(shè)置為該色深那樣對(duì)數(shù)據(jù)進(jìn)行編碼。也就是說,每個(gè)區(qū)塊的色深在該區(qū)塊被編碼時(shí)是動(dòng)態(tài)改變的。這與傳統(tǒng)的RLE編碼相比可以得到更高的壓縮率。
在一個(gè)實(shí)施例中,可以通過在數(shù)據(jù)在網(wǎng)絡(luò)緩沖上排隊(duì)時(shí)對(duì)其進(jìn)行第二輪壓縮而進(jìn)一步提高壓縮率。如上所述,發(fā)生改變的區(qū)塊被壓縮并且發(fā)送到服務(wù)器。系統(tǒng)能夠以高于數(shù)據(jù)通過網(wǎng)絡(luò)傳送的速度來標(biāo)識(shí)和壓縮區(qū)塊。
因此,更新的顯示數(shù)據(jù)段在主席DPS上的網(wǎng)絡(luò)緩沖隊(duì)列中延遲。當(dāng)數(shù)據(jù)進(jìn)入隊(duì)列等待時(shí),對(duì)輸出的數(shù)據(jù)流進(jìn)行第二次壓縮是可能的。并且,由于區(qū)塊可能在隊(duì)列中延遲,它們?cè)诒话l(fā)送前可能被后續(xù)更新所替代。
上面結(jié)合圖2所描述的操作以及上述的數(shù)據(jù)壓縮可以通過主席DPS內(nèi)包含的硬件和/或軟件實(shí)現(xiàn)。例如,主席DPS可以包括一個(gè)或多個(gè)處理器,所述處理器可以執(zhí)行存儲(chǔ)在機(jī)器可讀的介質(zhì)內(nèi)的代碼或指令,所述機(jī)器可讀介質(zhì)也可以包含在主席DPS內(nèi),這將在下面結(jié)合圖6進(jìn)行更詳細(xì)的描述。
圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的服務(wù)器DPS向參加者DPS發(fā)送更新后的主席DPS顯示屏幕數(shù)據(jù)的方法的程序流程圖。圖4中顯示的程序400開始于操作405,在所述操作405中服務(wù)器DPS將初始顯示屏幕配置信息發(fā)送到參加者DPS。初始顯示屏幕配置信息確定屏幕的幾何形狀并且包括區(qū)塊大小,以及每個(gè)區(qū)塊的唯一標(biāo)識(shí)。區(qū)塊標(biāo)識(shí)還可以表示區(qū)塊在屏幕上的位置并且提供屏幕幾何形狀。此時(shí),參加者DPS還可以接收對(duì)應(yīng)于每個(gè)區(qū)塊的初始顯示數(shù)據(jù)段。
在操作410處參加者DPS與服務(wù)器DPS聯(lián)絡(luò)并且請(qǐng)求數(shù)據(jù)更新。一旦接收到該請(qǐng)求,服務(wù)器DPS即訪問存儲(chǔ)在服務(wù)器上的來自參加者DPS的最新的時(shí)間指示符(即時(shí)間戳)。所述時(shí)間指示符表明了參加者DPS接收的最新的顯示數(shù)據(jù)段的時(shí)間,并且實(shí)際上向服務(wù)器DPS說明其主席DPS顯示屏幕的當(dāng)前版本。
在操作415處服務(wù)器DPS將在服務(wù)器DPS上存儲(chǔ)的參加者的時(shí)間指示符與每個(gè)顯示數(shù)據(jù)段的時(shí)間指示符進(jìn)行比較。為了更新參加者DPS,服務(wù)器DPS僅需要發(fā)送在參加者DPS時(shí)間指示符所表示的時(shí)間之后被替代的顯示數(shù)據(jù)段。
如果特定區(qū)塊的顯示數(shù)據(jù)段具有在所存儲(chǔ)的參加者DPS的時(shí)間指示符之后的時(shí)間指示符,這表明對(duì)應(yīng)的區(qū)塊自從上次參加者DPS訪問顯示數(shù)據(jù)段以來發(fā)生了改變。如果顯示數(shù)據(jù)段具有從參加者DPS接收到的時(shí)間指示符之后的時(shí)間指示符,則服務(wù)器DPS在操作420中向參加者DPS發(fā)送該顯示數(shù)據(jù)段。
如果特定區(qū)塊的顯示數(shù)據(jù)段不具有在所存儲(chǔ)的參加者DPS的時(shí)間指示符之后的時(shí)間指示符,這表明對(duì)應(yīng)的區(qū)塊自從上次參加者DPS訪問顯示數(shù)據(jù)段以來沒有發(fā)生改變。如果區(qū)塊自從上次DPS訪問以來沒有改變,則對(duì)應(yīng)的區(qū)塊不被發(fā)送到參加者DPS。
在操作425處將另一個(gè)顯示數(shù)據(jù)段的時(shí)間指示符與所存儲(chǔ)的參加者DPS的時(shí)間指示符進(jìn)行比較,并且該程序一直進(jìn)行到對(duì)應(yīng)于每個(gè)區(qū)塊的所有顯示數(shù)據(jù)段都已進(jìn)行比較。
服務(wù)器DPS能夠確定顯示數(shù)據(jù)段是否具有在所存儲(chǔ)的參加者DPS的時(shí)間指示符之后的時(shí)間指示符的速度快于所述顯示數(shù)據(jù)段發(fā)送到參加者DPS的速度。在此情況下,顯示數(shù)據(jù)段可以排隊(duì)進(jìn)行發(fā)送。對(duì)應(yīng)于排隊(duì)的顯示數(shù)據(jù)段的區(qū)塊可以在該顯示數(shù)據(jù)段被發(fā)送之前更新。如果如此,則服務(wù)器DPS可以以更新版本的顯示數(shù)據(jù)段來替代隊(duì)列中的該顯示數(shù)據(jù)段。這樣確保了參加者DPS接收到每個(gè)區(qū)塊的最新狀態(tài),即使該區(qū)塊在參加者DPS發(fā)出數(shù)據(jù)更新請(qǐng)求之后發(fā)生了多次改變。
上述結(jié)合圖4所描述的操作可以通過服務(wù)器DPS內(nèi)包含的硬件和/或軟件實(shí)現(xiàn)。例如,服務(wù)器DPS可以包括一個(gè)或多個(gè)處理器,所述處理器可以執(zhí)行存儲(chǔ)在機(jī)器可讀的介質(zhì)內(nèi)的代碼或指令,所述機(jī)器可讀介質(zhì)也可以包含在服務(wù)器DPS內(nèi),這將在下面結(jié)合圖6進(jìn)行更詳細(xì)的描述。
圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的參加者DPS接收主席DPS顯示屏幕的當(dāng)前顯示的方法的程序流程圖。圖5中顯示的程序500開始于操作505,在所述操作505中參加者DPS與服務(wù)器聯(lián)絡(luò)并且請(qǐng)求數(shù)據(jù)更新。
在操作510處參加者DPS接收在最近的更新之后更新的顯示數(shù)據(jù)段。所述顯示數(shù)據(jù)段包括如上所述的對(duì)應(yīng)區(qū)塊的壓縮的像素?cái)?shù)據(jù)。
在操作515處,壓縮的像素?cái)?shù)據(jù)基于壓縮數(shù)據(jù)的壓縮方法而被解壓縮。例如,如果像素?cái)?shù)使用如上所述的改進(jìn)的RLE壓縮方法進(jìn)行壓縮,則參加者DPS使用反向的RLE方法并且考慮數(shù)據(jù)編碼的色深。一旦顯示數(shù)據(jù)段的像素?cái)?shù)據(jù)被解碼,則參加者DPS具有對(duì)應(yīng)于該顯示數(shù)據(jù)段的改變的區(qū)塊的顯示。
在操作520處參加者DPS使用顯示數(shù)據(jù)段內(nèi)包含的區(qū)塊標(biāo)識(shí)來標(biāo)識(shí)參加者DPS顯示屏幕上的對(duì)應(yīng)區(qū)塊,并且使用解壓縮的像素?cái)?shù)據(jù)來更新參加者DPS顯示屏幕。例如,在一個(gè)實(shí)施例中所述標(biāo)識(shí)為顯示屏幕上矩形區(qū)塊的x-y坐標(biāo)。因此參加者DPS可以識(shí)別將更新的像素?cái)?shù)據(jù)用于哪個(gè)區(qū)塊。
上面結(jié)合圖5所描述的操作可以通過參加者DPS內(nèi)包含的硬件和/或軟件實(shí)現(xiàn)。例如,參加者DPS可以包括一個(gè)或多個(gè)處理器,所述處理器可以執(zhí)行存儲(chǔ)在機(jī)器可讀的介質(zhì)內(nèi)的代碼或指令,所述機(jī)器可讀介質(zhì)也可以包含在參加者DPS內(nèi),這將在下面結(jié)合圖6進(jìn)行更詳細(xì)的描述。
圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例可以使用的DPS的結(jié)構(gòu)圖。例如,圖6中顯示的DPS 600可以作為參加者DPS或者主席DPS或者服務(wù)器DPS等等。而且,DPS 600可以用于執(zhí)行互聯(lián)網(wǎng)服務(wù)提供商的一種或多種功能。DPS 600可以通過調(diào)制解調(diào)器或者網(wǎng)絡(luò)接口645連接到外部系統(tǒng)。所述調(diào)制解調(diào)器或網(wǎng)絡(luò)接口可以認(rèn)為是DPS 600的一部分。所述調(diào)制解調(diào)器或網(wǎng)絡(luò)接口可以為模擬調(diào)制解調(diào)器、ISDN調(diào)制解調(diào)器、線纜調(diào)制解調(diào)器、令牌環(huán)接口、衛(wèi)星傳送接口、無線接口或者其他接口,用于在兩個(gè)或更多DPS之間提供數(shù)據(jù)通信鏈路。
DPS600包括處理器605,所述處理器605可以表示一個(gè)或多個(gè)處理器并且可以包括一個(gè)或多個(gè)傳統(tǒng)類型的處理器,例如摩托羅拉PowerPC處理器(伊利諾斯的Schaumburg的摩托羅拉公司出產(chǎn)),Intel MMX奔騰處理器(加利福尼亞的圣塔克萊拉的英特爾公司出產(chǎn))等等。存儲(chǔ)器610通過總線615連接到處理器605。存儲(chǔ)器610可以為動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器(DRAM)和/或可以包括靜態(tài)RAM(SRAM)。處理器605還可以連接到其他類型的存儲(chǔ)區(qū)域/存儲(chǔ)器(例如高速緩存,閃速存儲(chǔ)器,硬盤等等),所述存儲(chǔ)區(qū)域/存儲(chǔ)器應(yīng)當(dāng)被認(rèn)為是存儲(chǔ)器610的一部分或者獨(dú)立于存儲(chǔ)器610。
總線615進(jìn)一步將處理器605連接到顯示控制器620、海量存儲(chǔ)器625、調(diào)制解調(diào)器或者網(wǎng)絡(luò)接口645以及輸入/輸出(I/O)控制器630。
上面結(jié)合圖2、圖4和圖5所描述的操作可以依賴于特定DPS和系統(tǒng)配置通過存儲(chǔ)在海量存儲(chǔ)器625上的軟件實(shí)現(xiàn)。例如,將主席DPS顯示屏幕劃分為區(qū)塊、創(chuàng)建對(duì)應(yīng)于每個(gè)區(qū)塊的顯示數(shù)據(jù)段、確定區(qū)塊的像素?cái)?shù)據(jù)是否改變,以及創(chuàng)建對(duì)應(yīng)于已改變的區(qū)塊的更新后的顯示數(shù)據(jù)段等操作都可以通過存儲(chǔ)在主席DPS的海量存儲(chǔ)器625上的軟件而實(shí)現(xiàn)。將數(shù)據(jù)請(qǐng)求的時(shí)間指示符與每個(gè)顯示數(shù)據(jù)段的時(shí)間指示符進(jìn)行比較以及僅發(fā)送具有更晚的時(shí)間指示符的顯示數(shù)據(jù)段等操作可以通過存儲(chǔ)在服務(wù)器DPS的海量存儲(chǔ)器625上的軟件而實(shí)現(xiàn)。并且請(qǐng)求和接收更新后的顯示數(shù)據(jù)段、解壓縮每個(gè)更新后的顯示數(shù)據(jù)段的像素?cái)?shù)據(jù)以及使用每個(gè)區(qū)塊標(biāo)識(shí)來將更新的數(shù)據(jù)應(yīng)用到對(duì)應(yīng)的顯示屏幕區(qū)塊等操作可以通過存儲(chǔ)在參加者DPS的海量存儲(chǔ)器625上的軟件而實(shí)現(xiàn)。
海量存儲(chǔ)器625可以表示用于存儲(chǔ)信息的磁性、光學(xué)、磁光、卡帶和/或其他類型的機(jī)器可讀介質(zhì)/設(shè)備。例如,海量存儲(chǔ)器625可以表示硬盤、只讀或可寫的光盤等等。顯示控制器620以傳統(tǒng)方式控制顯示器635,所述顯示器635可以表示陰極射線管(CRT)顯示器、液晶顯示器(LCD)、等離子顯示器或者其他類型的顯示設(shè)備。I/O控制器630控制I/O設(shè)備640,所述I/O設(shè)備640可以包括一個(gè)或多個(gè)鍵盤、鼠標(biāo)/軌跡球或者其他點(diǎn)擊設(shè)備,磁性和/或光學(xué)磁盤驅(qū)動(dòng)器、打印機(jī)、掃描儀、數(shù)碼相機(jī)、麥克風(fēng)等等。
DPS600僅表示系統(tǒng)的一個(gè)示例,所述系統(tǒng)可以具有很多不同配置和架構(gòu)并且可以在本發(fā)明中采用。例如,Macintosh和Intel系統(tǒng)通常具有多個(gè)總線,例如外圍設(shè)備總線、專用緩存總線等等。另一方面,網(wǎng)絡(luò)計(jì)算機(jī)可以用作為本發(fā)明的DPS,所述網(wǎng)絡(luò)計(jì)算機(jī)可以不包括例如硬盤或其他海量存儲(chǔ)設(shè)備,但是可以從例如調(diào)制解調(diào)器或接口645等網(wǎng)絡(luò)連接接收將被處理器605處理的程序和/或數(shù)據(jù)。類似的,本領(lǐng)域中公知的網(wǎng)絡(luò)TV系統(tǒng)可以作為本發(fā)明的DPS,但是這種系統(tǒng)可以不包括一個(gè)或多個(gè)I/O設(shè)備,例如上述的I/O設(shè)備640。另外,使用了移動(dòng)電話和/或?qū)ず艄δ艿谋銛y式通信和數(shù)據(jù)處理系統(tǒng)可以作為本發(fā)明使用的DPS。
在圖6顯示的系統(tǒng)600中,海量存儲(chǔ)器625(和/或存儲(chǔ)器610)可以存儲(chǔ)根據(jù)本發(fā)明進(jìn)行處理的媒體(例如應(yīng)用程序、視頻等等)??商鎿Q地,媒體數(shù)據(jù)可以由DPS600接收,例如通過調(diào)制解調(diào)器或網(wǎng)絡(luò)接口645,并且由顯示器635和/或I/O設(shè)備640進(jìn)行存儲(chǔ)和/或顯示。在一個(gè)實(shí)施例中,數(shù)據(jù)可以通過例如LAN和/或互聯(lián)網(wǎng)的數(shù)據(jù)通信網(wǎng)絡(luò)發(fā)送。
在前述說明書中,結(jié)合特定示例實(shí)施例描述了本發(fā)明。然而顯然可以對(duì)其作出各種修改和變動(dòng)而不背離所附權(quán)利要求書中給出的本發(fā)明的更廣泛的實(shí)質(zhì)和范圍。因此說明書和附圖應(yīng)被認(rèn)為是示例性的而非限制性的。
權(quán)利要求
1.一種方法,包括將主席數(shù)字處理系統(tǒng)的顯示屏幕劃分為多個(gè)區(qū)塊,所述顯示屏幕包含多個(gè)像素,所述每個(gè)區(qū)塊包含所述多個(gè)像素的一部分;使用存儲(chǔ)在存儲(chǔ)器中的區(qū)塊的位圖創(chuàng)建對(duì)應(yīng)于每個(gè)區(qū)塊的顯示數(shù)據(jù)段,每個(gè)顯示數(shù)據(jù)段包含所述對(duì)應(yīng)區(qū)塊的像素?cái)?shù)據(jù);在服務(wù)器數(shù)字處理系統(tǒng)上存儲(chǔ)所述顯示數(shù)據(jù)段;計(jì)算每個(gè)區(qū)塊以確定該區(qū)塊的像素?cái)?shù)據(jù)是否發(fā)生了改變;創(chuàng)建對(duì)應(yīng)于像素?cái)?shù)據(jù)發(fā)生改變的每個(gè)區(qū)塊的更新的顯示數(shù)據(jù)段,每個(gè)更新的顯示數(shù)據(jù)段包含對(duì)應(yīng)區(qū)塊的更新的像素?cái)?shù)據(jù);以及在服務(wù)器數(shù)字處理系統(tǒng)上存儲(chǔ)所述更新的顯示數(shù)據(jù)段從而替代對(duì)應(yīng)的已存儲(chǔ)的顯示數(shù)據(jù)段。
2.根據(jù)權(quán)利要求1所述的方法,其中計(jì)算每個(gè)區(qū)塊以確定像素?cái)?shù)據(jù)是否改變的步驟包括將區(qū)塊的當(dāng)前位圖存儲(chǔ)到存儲(chǔ)器中;以及使用存儲(chǔ)器比較程序?qū)⑺鰠^(qū)塊的當(dāng)前位圖與用于創(chuàng)建顯示數(shù)據(jù)段的區(qū)塊位圖進(jìn)行比較。
3.根據(jù)權(quán)利要求1所述的方法,其中所述顯示數(shù)據(jù)段進(jìn)一步包括唯一標(biāo)識(shí)對(duì)應(yīng)區(qū)塊的區(qū)塊標(biāo)識(shí)以及表明所述顯示數(shù)據(jù)段創(chuàng)建時(shí)間的時(shí)間指示符。
4.根據(jù)權(quán)利要求3所述的方法,其中所述更新的顯示數(shù)據(jù)段進(jìn)一步包括區(qū)塊標(biāo)識(shí),以及表明所述更新的顯示數(shù)據(jù)段創(chuàng)建時(shí)間的更新的時(shí)間指示符。
5.根據(jù)權(quán)利要求1所述的方法,其中所述每個(gè)區(qū)塊表示顯示屏幕的長為128像素寬為32像素的矩形部分。
6.根據(jù)權(quán)利要求1所述的方法,其中所述計(jì)算、創(chuàng)建以及替代的操作在應(yīng)用程序廣播會(huì)議期間重復(fù)進(jìn)行。
7.根據(jù)權(quán)利要求1所述的方法,其中所述顯示數(shù)據(jù)段和更新的數(shù)據(jù)段在被存儲(chǔ)到服務(wù)器數(shù)字處理系統(tǒng)上之前使用游程編碼壓縮方法進(jìn)行壓縮。
8.根據(jù)權(quán)利要求7所述的方法,其中所述游程編碼壓縮方法是經(jīng)過改進(jìn)的,所述改進(jìn)包括動(dòng)態(tài)確定在對(duì)應(yīng)區(qū)塊內(nèi)顯示的顏色數(shù)量;以及使用一定數(shù)量比特對(duì)對(duì)應(yīng)區(qū)塊的每個(gè)像素進(jìn)行編碼,所述比特?cái)?shù)量決定于所述對(duì)應(yīng)區(qū)塊內(nèi)顯示的顏色數(shù)量。
9.一種提供指令的機(jī)器可讀的介質(zhì),所述指令在由數(shù)字處理系統(tǒng)執(zhí)行時(shí)引起所述處理器集合執(zhí)行一種方法,所述方法包括將主席數(shù)字處理系統(tǒng)的顯示屏幕劃分為多個(gè)區(qū)塊,所述顯示屏幕包含多個(gè)像素,所述每個(gè)區(qū)塊包含所述多個(gè)像素的一部分;使用存儲(chǔ)在存儲(chǔ)器中的區(qū)塊的位圖創(chuàng)建對(duì)應(yīng)于每個(gè)區(qū)塊的顯示數(shù)據(jù)段,每個(gè)顯示數(shù)據(jù)段包含所述對(duì)應(yīng)區(qū)塊的像素?cái)?shù)據(jù);在服務(wù)器數(shù)字處理系統(tǒng)上存儲(chǔ)所述顯示數(shù)據(jù)段;計(jì)算每個(gè)區(qū)塊以確定該區(qū)塊的像素?cái)?shù)據(jù)是否發(fā)生了改變;創(chuàng)建對(duì)應(yīng)于像素?cái)?shù)據(jù)發(fā)生改變的每個(gè)區(qū)塊的更新的顯示數(shù)據(jù)段,每個(gè)更新的顯示數(shù)據(jù)段包含對(duì)應(yīng)區(qū)塊的更新的像素?cái)?shù)據(jù);以及在服務(wù)器數(shù)字處理系統(tǒng)上存儲(chǔ)所述更新的顯示數(shù)據(jù)段從而替代對(duì)應(yīng)的已存儲(chǔ)的顯示數(shù)據(jù)段。
10.根據(jù)權(quán)利要求9所述的機(jī)器可讀的介質(zhì),其中所述計(jì)算每個(gè)區(qū)塊以確定像素?cái)?shù)據(jù)是否改變的步驟包括將區(qū)塊的當(dāng)前位圖存儲(chǔ)到存儲(chǔ)器中;以及使用存儲(chǔ)器比較程序?qū)⑺鰠^(qū)塊的當(dāng)前位圖與用于創(chuàng)建顯示數(shù)據(jù)段的區(qū)塊位圖進(jìn)行比較。
11.根據(jù)權(quán)利要求9所述的機(jī)器可讀的介質(zhì),其中所述顯示數(shù)據(jù)段進(jìn)一步包括唯一標(biāo)識(shí)對(duì)應(yīng)區(qū)塊的區(qū)塊標(biāo)識(shí)以及表明所述顯示數(shù)據(jù)段創(chuàng)建時(shí)間的時(shí)間指示符。
12.根據(jù)權(quán)利要求11所述的機(jī)器可讀的介質(zhì),其中所述更新的顯示數(shù)據(jù)段進(jìn)一步包括區(qū)塊標(biāo)識(shí),以及表明所述更新的顯示數(shù)據(jù)段創(chuàng)建時(shí)間的更新的時(shí)間指示符。
13.根據(jù)權(quán)利要求9所述的機(jī)器可讀的介質(zhì),其中所述每個(gè)區(qū)塊表示顯示屏幕的長為128像素寬為32像素的矩形部分。
14.根據(jù)權(quán)利要求9所述的機(jī)器可讀的介質(zhì),其中所述計(jì)算、創(chuàng)建以及替代的操作在應(yīng)用程序廣播會(huì)議期間重復(fù)進(jìn)行。
15.根據(jù)權(quán)利要求9所述的機(jī)器可讀的介質(zhì),其中所述顯示數(shù)據(jù)段和更新的數(shù)據(jù)段在被存儲(chǔ)到服務(wù)器數(shù)字處理系統(tǒng)上之前使用游程編碼壓縮方法進(jìn)行壓縮。
16.根據(jù)權(quán)利要求15所述的機(jī)器可讀的介質(zhì),其中所述游程編碼壓縮方法是經(jīng)過改進(jìn)的,所述改進(jìn)包括動(dòng)態(tài)確定在對(duì)應(yīng)區(qū)塊內(nèi)顯示的顏色數(shù)量;以及使用一定數(shù)量比特對(duì)對(duì)應(yīng)區(qū)塊的每個(gè)像素進(jìn)行編碼,所述比特?cái)?shù)量決定于所述對(duì)應(yīng)區(qū)塊內(nèi)顯示的顏色數(shù)量。
17.一種數(shù)據(jù)結(jié)構(gòu),包括區(qū)塊的像素?cái)?shù)據(jù),所述區(qū)塊包含數(shù)字處理系統(tǒng)的顯示屏幕的多個(gè)像素的一部分;以及唯一標(biāo)識(shí)所述區(qū)塊的區(qū)塊標(biāo)識(shí)。
18.根據(jù)權(quán)利要求17所述的數(shù)據(jù)結(jié)構(gòu),其進(jìn)一步包括表明所述數(shù)據(jù)結(jié)構(gòu)創(chuàng)建時(shí)間的時(shí)間指示符。
19.根據(jù)權(quán)利要求17所述的數(shù)據(jù)結(jié)構(gòu),其中所述每個(gè)區(qū)塊表示顯示屏幕的長為128像素寬為32像素的矩形部分。
20.根據(jù)權(quán)利要求17所述的數(shù)據(jù)結(jié)構(gòu),,其中所述像素?cái)?shù)據(jù)使用改進(jìn)的游程編碼壓縮方法進(jìn)行壓縮,所述方案包括動(dòng)態(tài)確定在對(duì)應(yīng)區(qū)塊內(nèi)顯示的顏色數(shù)量;以及使用一定數(shù)量比特以游程方案對(duì)對(duì)應(yīng)區(qū)塊的每個(gè)像素進(jìn)行編碼,所述比特?cái)?shù)量決定于所述對(duì)應(yīng)區(qū)塊內(nèi)顯示的顏色數(shù)量。
21.一種在服務(wù)器數(shù)字處理系統(tǒng)上存儲(chǔ)顯示數(shù)據(jù)的設(shè)備,包括將主席數(shù)字處理系統(tǒng)的顯示屏幕劃分為多個(gè)區(qū)塊的裝置,所述顯示屏幕包含多個(gè)像素,所述每個(gè)區(qū)塊包含所述多個(gè)像素的一部分;使用存儲(chǔ)在存儲(chǔ)器中的區(qū)塊的位圖創(chuàng)建對(duì)應(yīng)于每個(gè)區(qū)塊的顯示數(shù)據(jù)段的裝置,每個(gè)顯示數(shù)據(jù)段包含所述對(duì)應(yīng)區(qū)塊的像素?cái)?shù)據(jù);在服務(wù)器數(shù)字處理系統(tǒng)上存儲(chǔ)所述顯示數(shù)據(jù)段的裝置;計(jì)算每個(gè)區(qū)塊以確定該區(qū)塊的像素?cái)?shù)據(jù)是否發(fā)生了改變的裝置;創(chuàng)建對(duì)應(yīng)于像素?cái)?shù)據(jù)發(fā)生改變的每個(gè)區(qū)塊的更新的顯示數(shù)據(jù)段的裝置,每個(gè)更新的顯示數(shù)據(jù)段包含對(duì)應(yīng)區(qū)塊的更新的像素?cái)?shù)據(jù);以及在服務(wù)器數(shù)字處理系統(tǒng)上存儲(chǔ)所述更新的顯示數(shù)據(jù)段從而替代對(duì)應(yīng)的已存儲(chǔ)的顯示數(shù)據(jù)段的裝置。
22.根據(jù)權(quán)利要求21所述的設(shè)備,其中所述計(jì)算每個(gè)區(qū)塊以確定像素?cái)?shù)據(jù)是否改變的裝置進(jìn)一步包括將區(qū)塊的當(dāng)前位圖存儲(chǔ)到存儲(chǔ)器中的裝置;以及使用存儲(chǔ)器比較程序以將所述區(qū)塊的當(dāng)前位圖與用于創(chuàng)建顯示數(shù)據(jù)段的區(qū)塊位圖進(jìn)行比較的裝置。
23.根據(jù)權(quán)利要求21所述的設(shè)備,其中所述顯示數(shù)據(jù)段進(jìn)一步包括唯一標(biāo)識(shí)對(duì)應(yīng)區(qū)塊的區(qū)塊標(biāo)識(shí)以及表明所述顯示數(shù)據(jù)段創(chuàng)建時(shí)間的時(shí)間指示符。
24.根據(jù)權(quán)利要求23所述的設(shè)備,其中所述更新的顯示數(shù)據(jù)段進(jìn)一步包括區(qū)塊標(biāo)識(shí),以及表明所述更新的顯示數(shù)據(jù)段創(chuàng)建時(shí)間的更新的時(shí)間指示符。
25.根據(jù)權(quán)利要求21所述的設(shè)備,其中所述每個(gè)區(qū)塊表示顯示屏幕的長為128像素寬為32像素的矩形部分。
26.根據(jù)權(quán)利要求21所述的設(shè)備,其進(jìn)一步包括使用改進(jìn)的游程編碼壓縮方法壓縮所述顯示數(shù)據(jù)段和更新數(shù)據(jù)段的裝置,所述裝置包括,動(dòng)態(tài)確定在對(duì)應(yīng)區(qū)塊內(nèi)顯示的顏色數(shù)量的裝置,以及使用一定數(shù)量比特對(duì)對(duì)應(yīng)區(qū)塊的每個(gè)像素進(jìn)行編碼的裝置,所述比特?cái)?shù)量決定于所述對(duì)應(yīng)區(qū)塊內(nèi)顯示的顏色數(shù)量。
27.一種方法,包括發(fā)送顯示數(shù)據(jù)到參加者數(shù)字處理系統(tǒng),所述顯示數(shù)據(jù)包括多個(gè)顯示數(shù)據(jù)段,每個(gè)顯示數(shù)據(jù)段包括對(duì)應(yīng)區(qū)塊的像素?cái)?shù)據(jù),每個(gè)區(qū)塊包括主席數(shù)字處理系統(tǒng)顯示屏幕的多個(gè)像素的一部分以及表明所述顯示數(shù)據(jù)段創(chuàng)建時(shí)間的時(shí)間指示符;接收來自參加者數(shù)字處理系統(tǒng)的顯示數(shù)據(jù)更新請(qǐng)求;訪問表明前一次顯示數(shù)據(jù)發(fā)送時(shí)間的更新時(shí)間指示符;確定具有在所述更新時(shí)間指示符之后的時(shí)間指示符的顯示數(shù)據(jù)段;以及發(fā)送具有在所述更新時(shí)間指示符之后的時(shí)間指示符的顯示數(shù)據(jù)段到參加者數(shù)字處理系統(tǒng)。
28.根據(jù)權(quán)利要求27所述的方法,其中所述顯示數(shù)據(jù)進(jìn)一步包括決定屏幕幾何形狀的配置信息,所述屏幕幾何形狀包括區(qū)塊大小和每個(gè)區(qū)塊的唯一標(biāo)識(shí)。
29.根據(jù)權(quán)利要求28所述的方法,其中所述區(qū)塊大小為128像素長乘32像素寬,并且所述每個(gè)區(qū)塊的唯一標(biāo)識(shí)表明該區(qū)塊在主席數(shù)字處理系統(tǒng)的顯示屏幕上的位置。
30.一種提供指令的機(jī)器可讀的介質(zhì),所述指令在由數(shù)字處理系統(tǒng)執(zhí)行時(shí)引起所述處理器集合執(zhí)行一種方法,所述方法包括發(fā)送顯示數(shù)據(jù)到參加者數(shù)字處理系統(tǒng),所述顯示數(shù)據(jù)包括多個(gè)顯示數(shù)據(jù)段,每個(gè)顯示數(shù)據(jù)段包括對(duì)應(yīng)區(qū)塊的像素?cái)?shù)據(jù),所述每個(gè)區(qū)塊包括主席數(shù)字處理系統(tǒng)顯示屏幕的多個(gè)像素的一部分以及表明所述顯示數(shù)據(jù)段創(chuàng)建時(shí)間的時(shí)間指示符;接收來自參加者數(shù)字處理系統(tǒng)的顯示數(shù)據(jù)更新請(qǐng)求;訪問表明前一次顯示數(shù)據(jù)發(fā)送時(shí)間的更新時(shí)間指示符;確定具有在所述更新時(shí)間指示符之后的時(shí)間指示符的顯示數(shù)據(jù)段;以及發(fā)送具有在所述更新時(shí)間指示符之后的時(shí)間指示符的顯示數(shù)據(jù)段到參加者數(shù)字處理系統(tǒng)。
31.根據(jù)權(quán)利要求30所述的機(jī)器可讀的介質(zhì),其中所述顯示數(shù)據(jù)進(jìn)一步包括決定屏幕幾何形狀的配置信息,所述屏幕幾何形狀包括區(qū)塊大小和每個(gè)區(qū)塊的唯一標(biāo)識(shí)。
32.根據(jù)權(quán)利要求31所述的機(jī)器可讀的介質(zhì),其中所述區(qū)塊大小為128像素長乘32像素寬并且所述每個(gè)區(qū)塊的唯一標(biāo)識(shí)表明該區(qū)塊在主席數(shù)字處理系統(tǒng)的顯示屏幕上的位置。
33.一種發(fā)送顯示數(shù)據(jù)的設(shè)備,包括發(fā)送顯示數(shù)據(jù)到參加者數(shù)字處理系統(tǒng)的裝置,所述顯示數(shù)據(jù)包括多個(gè)顯示數(shù)據(jù)段,每個(gè)顯示數(shù)據(jù)段包括對(duì)應(yīng)區(qū)塊的像素?cái)?shù)據(jù),每個(gè)區(qū)塊包括主席數(shù)字處理系統(tǒng)顯示屏幕的多個(gè)像素的一部分以及表明所述顯示數(shù)據(jù)段創(chuàng)建時(shí)間的時(shí)間指示符;接收來自參加者數(shù)字處理系統(tǒng)的顯示數(shù)據(jù)更新請(qǐng)求的裝置;訪問表明前一次顯示數(shù)據(jù)發(fā)送時(shí)間的更新時(shí)間指示符的裝置;確定具有在所述更新時(shí)間指示符之后的時(shí)間指示符的顯示數(shù)據(jù)段的裝置;以及發(fā)送具有在所述更新時(shí)間指示符之后的時(shí)間指示符的顯示數(shù)據(jù)段到參加者數(shù)字處理系統(tǒng)的裝置。
34.根據(jù)權(quán)利要求33所述的設(shè)備,其中所述顯示數(shù)據(jù)進(jìn)一步包括決定屏幕幾何形狀的配置信息,所述屏幕幾何形狀包括區(qū)塊大小和每個(gè)區(qū)塊的唯一標(biāo)識(shí)。
35.根據(jù)權(quán)利要求34所述的設(shè)備,其中所述區(qū)塊大小為128像素長乘32像素寬并且所述每個(gè)區(qū)塊的唯一標(biāo)識(shí)表明該區(qū)塊在主席數(shù)字處理系統(tǒng)的顯示屏幕上的位置。
36.一種方法,包括請(qǐng)求來自服務(wù)器數(shù)字處理系統(tǒng)的顯示數(shù)據(jù)更新;以及將一個(gè)或多個(gè)顯示數(shù)據(jù)段接收到參加者數(shù)字處理系統(tǒng),所述每個(gè)顯示數(shù)據(jù)段具有表明該顯示數(shù)據(jù)段創(chuàng)建時(shí)間的時(shí)間指示符,所述每個(gè)時(shí)間指示符在更新時(shí)間指示符之后,所述更新時(shí)間指示符表明上次發(fā)送顯示數(shù)據(jù)的時(shí)間,每個(gè)顯示數(shù)據(jù)段包括主席數(shù)字處理系統(tǒng)的顯示屏幕的一部分像素的像素?cái)?shù)據(jù)。
37.根據(jù)權(quán)利要求36所述的方法,其中所述參加者數(shù)字處理系統(tǒng)的顯示屏幕的像素被劃分為多個(gè)部分,每個(gè)部分對(duì)應(yīng)于主席數(shù)字處理系統(tǒng)的顯示屏幕的一部分像素,從而對(duì)應(yīng)于主席數(shù)字處理系統(tǒng)的顯示屏幕的一部分像素的顯示數(shù)據(jù)段的像素?cái)?shù)據(jù)被用于更新所述參加者數(shù)字處理系統(tǒng)的顯示屏幕的對(duì)應(yīng)部分像素。
38.一種提供指令的機(jī)器可讀的介質(zhì),所述指令在由數(shù)字處理系統(tǒng)執(zhí)行時(shí)導(dǎo)致所述處理器集合執(zhí)行一種方法,所述方法包括請(qǐng)求來自服務(wù)器數(shù)字處理系統(tǒng)的顯示數(shù)據(jù)更新;以及將一個(gè)或多個(gè)顯示數(shù)據(jù)段接收到參加者數(shù)字處理系統(tǒng),所述每個(gè)顯示數(shù)據(jù)段具有表明該顯示數(shù)據(jù)段創(chuàng)建時(shí)間的時(shí)間指示符,所述每個(gè)時(shí)間指示符在更新時(shí)間指示符之后,所述更新時(shí)間指示符表明上次發(fā)送顯示數(shù)據(jù)的時(shí)間,每個(gè)顯示數(shù)據(jù)段包括主席數(shù)字處理系統(tǒng)的顯示屏幕的一部分像素的像素?cái)?shù)據(jù)。
39.根據(jù)權(quán)利要求38所述的機(jī)器可讀的介質(zhì),其中所述參加者數(shù)字處理系統(tǒng)的顯示屏幕的像素被劃分為多個(gè)部分,每個(gè)部分對(duì)應(yīng)于主席數(shù)字處理系統(tǒng)的顯示屏幕的一部分像素,從而對(duì)應(yīng)于主席數(shù)字處理系統(tǒng)的顯示屏幕的一部分像素的顯示數(shù)據(jù)段的像素?cái)?shù)據(jù)被用于更新所述參加者數(shù)字處理系統(tǒng)的顯示屏幕的對(duì)應(yīng)部分像素。
40.一種接收顯示數(shù)據(jù)更新的設(shè)備,包括請(qǐng)求來自服務(wù)器數(shù)字處理系統(tǒng)的顯示數(shù)據(jù)更新;以及將一個(gè)或多個(gè)顯示數(shù)據(jù)段接收到參加者數(shù)字處理系統(tǒng),所述每個(gè)顯示數(shù)據(jù)段具有表明該顯示數(shù)據(jù)段創(chuàng)建時(shí)間的時(shí)間指示符,所述每個(gè)時(shí)間指示符在更新時(shí)間指示符之后,所述更新時(shí)間指示符表明上次發(fā)送顯示數(shù)據(jù)的時(shí)間,每個(gè)顯示數(shù)據(jù)段包括主席數(shù)字處理系統(tǒng)的顯示屏幕的一部分像素的像素?cái)?shù)據(jù)。
41.根據(jù)權(quán)利要求40所述的設(shè)備,其中所述參加者數(shù)字處理系統(tǒng)的顯示屏幕的像素被劃分為多個(gè)部分,每個(gè)部分對(duì)應(yīng)于主席數(shù)字處理系統(tǒng)的顯示屏幕的一部分像素,從而對(duì)應(yīng)于主席數(shù)字處理系統(tǒng)的顯示屏幕的一部分像素的顯示數(shù)據(jù)段的像素?cái)?shù)據(jù)被用于更新所述參加者數(shù)字處理系統(tǒng)的顯示屏幕的對(duì)應(yīng)部分像素。
42.一種系統(tǒng),包括主席數(shù)字處理系統(tǒng);所述MDPS在服務(wù)器數(shù)字處理系統(tǒng)上存儲(chǔ)多個(gè)顯示數(shù)據(jù)段,每個(gè)顯示數(shù)據(jù)段包括對(duì)應(yīng)于所述主席DPS的顯示屏幕的部分像素的像素?cái)?shù)據(jù),從而每個(gè)像素部分被周期性計(jì)算以確定所述像素部分的像素?cái)?shù)據(jù)是否改變,并且如果對(duì)應(yīng)的像素部分的像素?cái)?shù)據(jù)改變則更新各個(gè)數(shù)據(jù)段;以及至少一個(gè)連接到服務(wù)器數(shù)字處理系統(tǒng)的參加者數(shù)字處理系統(tǒng),所述參加者數(shù)字處理系統(tǒng)能夠周期性訪問存儲(chǔ)在服務(wù)器數(shù)字處理系統(tǒng)上的多個(gè)顯示數(shù)據(jù)段并且下載各個(gè)在最近下載的顯示數(shù)據(jù)段之后發(fā)生更新的數(shù)據(jù)段。
43.根據(jù)權(quán)利要求42所述的系統(tǒng),其中每個(gè)顯示數(shù)據(jù)段進(jìn)一步包括表明更新時(shí)間的時(shí)間指示符,并且所述至少一個(gè)參加者數(shù)字處理系統(tǒng)通過發(fā)送訪問請(qǐng)求到服務(wù)器數(shù)字處理系統(tǒng)而訪問所述多個(gè)顯示數(shù)據(jù)段,從而對(duì)于每個(gè)訪問請(qǐng)求,所述服務(wù)器數(shù)字處理系統(tǒng)將表明最近下載的顯示數(shù)據(jù)段的更新時(shí)間的時(shí)間指示符與每個(gè)顯示數(shù)據(jù)段的更新時(shí)間進(jìn)行比較,并且僅發(fā)送那些具有在最近下載的顯示數(shù)據(jù)段的更新時(shí)間之后的更新時(shí)間的顯示數(shù)據(jù)段。
44.根據(jù)權(quán)利要求43所述的系統(tǒng),其中所述至少一個(gè)參加者數(shù)字處理系統(tǒng)遠(yuǎn)離所述主席數(shù)字處理系統(tǒng)并且通過互聯(lián)網(wǎng)與其連接。
45.根據(jù)權(quán)利要求44所述的系統(tǒng),其中所述周期性計(jì)算每個(gè)像素部分以確定該像素部分的像素?cái)?shù)據(jù)是否改變的步驟包括將像素部分的當(dāng)前位圖存儲(chǔ)到存儲(chǔ)器中;以及使用存儲(chǔ)器比較程序?qū)⑺鱿袼夭糠值漠?dāng)前位圖與用于創(chuàng)建顯示數(shù)據(jù)段的像素部分位圖進(jìn)行比較。
全文摘要
描述了用于應(yīng)用程序廣播的方法和設(shè)備。在一個(gè)實(shí)施例中,從主席廣播到一個(gè)或多個(gè)參加者的像素?cái)?shù)據(jù)被劃分為區(qū)塊。為每個(gè)區(qū)塊生成顯示數(shù)據(jù)。每個(gè)顯示數(shù)據(jù)段(段)包括該區(qū)塊的像素?cái)?shù)據(jù),并且還包括區(qū)塊標(biāo)識(shí)。所述段被周期性計(jì)算。如果像素?cái)?shù)據(jù)改變,則用對(duì)應(yīng)于所述區(qū)塊的最新的段替代所述段。每個(gè)區(qū)塊的每個(gè)段內(nèi)還包括時(shí)間指示符以表明該段更新的時(shí)間。參加者DPS向服務(wù)器請(qǐng)求數(shù)據(jù)并且提供其接收到的上一個(gè)段的時(shí)間指示符。然后服務(wù)器發(fā)送在此后更新的每個(gè)區(qū)塊的當(dāng)前段。這允許在參加者的DPS上顯示主席的顯示屏幕的最新版本。
文檔編號(hào)H04N7/15GK1726711SQ200380106537
公開日2006年1月25日 申請(qǐng)日期2003年12月18日 優(yōu)先權(quán)日2002年12月18日
發(fā)明者D·勞德 申請(qǐng)人:基因系統(tǒng)會(huì)議有限公司