專利名稱:優(yōu)化網(wǎng)頁圖像的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機多媒體技術(shù),尤其涉及對因特網(wǎng)上傳輸?shù)木W(wǎng)頁的 圖像的優(yōu)化。
背景技術(shù):
隨著因特網(wǎng)的普及和發(fā)展,因特網(wǎng)應(yīng)用越來越多地采用多媒體技術(shù) 來表現(xiàn)網(wǎng)頁,以改善用戶的體驗。網(wǎng)頁中一般含有許多圖像,大多數(shù)圖
像的文件大小一般都較小,例如小于1Kb。如圖1左邊所示的一例網(wǎng)頁 中,包含三個圖像"CHILD" 、 "MOUSE" 、 "PET"。按照傳統(tǒng)的網(wǎng)頁 設(shè)計,這三個"CHILD" 、 "MOUSE" 、 "PET"被表示為三個文件,例 如圖1右上方中的三個圖像文件"imagel.gif" 、"image2.gif"、
"image3.gif"。 要顯示該網(wǎng)頁,這三個圖像文件要被單獨引用。圖 像資源部署在網(wǎng)絡(luò)的服務(wù)器上,當(dāng)客戶機向服務(wù)器請求一個網(wǎng)頁時,網(wǎng) 頁中的每一個圖像都要啟動一個HTTP連接,占用一定的網(wǎng)絡(luò)帶寬;對 于每一個圖像,都需要處理和傳輸HTTP請求和響應(yīng)報頭。當(dāng)網(wǎng)頁中的 圖像過多時,不但耗費網(wǎng)絡(luò)帶寬,影響傳輸速度,也增加服務(wù)器的工作 量。
美國專利申請。>開號US 2004/0120589 Al ) />開了一種加速圖像 數(shù)據(jù)傳輸?shù)姆椒?,該方法在遠程客戶端網(wǎng)絡(luò)服務(wù)器之間設(shè)置一個網(wǎng)絡(luò)裝 置,用來轉(zhuǎn)換從網(wǎng)絡(luò)服務(wù)器接收的數(shù)據(jù),然后將修改的數(shù)據(jù)發(fā)送到遠程 客戶端,該網(wǎng)絡(luò)裝置將圖像數(shù)據(jù)改造為具有不同的格式、減少的色彩的 較小版本。雖然該方法能加速圖像數(shù)據(jù)傳輸,卻可能影響所傳輸?shù)膱D像 的質(zhì)量。
發(fā)明內(nèi)容
本發(fā)明的一個目的是,在不降低網(wǎng)頁圖像質(zhì)量的同時,減少在傳送
網(wǎng)頁的圖像時服務(wù)器的工作量。
本發(fā)明的另 一個目的是,減少對傳送網(wǎng)頁的圖像時的帶寬要求。 一方面,本發(fā)明提供一種優(yōu)化網(wǎng)絡(luò)服務(wù)器上的網(wǎng)頁中的固像的方法,
包含以下步驟
檢測網(wǎng)頁中的圖像,以確定圖像之間的關(guān)系;
響應(yīng)對圖像之間的關(guān)系的確定,將兩個或更多的相關(guān)圖像組合成組
合圖像;
更新網(wǎng)頁,以對組合圖像的引用代替對所述相關(guān)圖像的引用。 另 一 方面,本發(fā)明提供一種用于優(yōu)化網(wǎng)絡(luò)服務(wù)器上的網(wǎng)頁中的圖像 的系統(tǒng),包含
圖像檢測裝置,用于檢測網(wǎng)頁中的圖像,確定圖像之間的關(guān)系; 圖像組合裝置,用于響應(yīng)對圖像之間的關(guān)系的確定,將相關(guān)圖像組 合成組合圖像;
網(wǎng)頁更新裝置,用于更新網(wǎng)頁,以對組合圖像的引用代替對所述相 關(guān)圖像的引用。
本發(fā)明還提供一種計算機程序產(chǎn)品,其中包含在被計算機執(zhí)行時實 現(xiàn)本發(fā)明方法的程序代碼。
本發(fā)明的方法和系統(tǒng),通過在服務(wù)器側(cè)對網(wǎng)頁中的圖像預(yù)先進行合 并處理,減少要傳送的圖像文件的數(shù)量,相應(yīng)地減少了對傳輸?shù)恼埱蠛?響應(yīng)報頭的處理,由此能降低服務(wù)器在傳送網(wǎng)頁的圖像時的工作量,以 及對傳送網(wǎng)頁的圖像的帶寬要求。
本發(fā)明的上述和其它優(yōu)點的特點,顯見于以下結(jié)合附圖對具體實施 方式的說明;附圖中,
圖1示意性表示現(xiàn)有技術(shù)的引用單個圖像的方式和本發(fā)明的引用組 合圖像的方式;
圖2表示一例網(wǎng)站的資源結(jié)構(gòu)關(guān)系;
圖3a和3b示意性表示D0M樹;
圖4是一例表示網(wǎng)頁與分段之間關(guān)系的表;
圖5a和5b表示一個網(wǎng)頁結(jié)構(gòu)的分段布局的例子;
圖6是一例表示分段與圖像之間關(guān)系的表;
圖7是一例表示圖像與網(wǎng)頁之間關(guān)系的表;
圖8是表示圖像與圖像之間關(guān)系的例子;
圖9表示圖7中每個網(wǎng)頁被訪問的次數(shù);
圖IO表示圖7中每個圖像被訪問的次數(shù);
圖11表示按訪問次數(shù)加權(quán)的圖像關(guān)系表;
圖12表示圖像-組合圖像對應(yīng)關(guān)系表的一個例子;
圖13a是一段包含要顯示的圖像的原始HTML文檔的例子;
圖13b是按照本發(fā)明更新后的HTML文檔的例子;
圖14是按照本發(fā)明實施例的用于優(yōu)化網(wǎng)頁圖像的系統(tǒng)的方框圖。
具體實施例方式
以下結(jié)合附圖,說明本發(fā)明的具體實施方式
。
圖2表示一例網(wǎng)站的資源結(jié)構(gòu)關(guān)系為了簡要,圖中只表示了五個網(wǎng) 頁wp0-wp4。 一個網(wǎng)站含有多個網(wǎng)頁,本發(fā)明實施例中,用標(biāo)記語言(例 如HTML、 XML等等)的文檔來描述網(wǎng)頁,每個網(wǎng)頁可由一個文檔組成, 也可由多個被稱作分段(segment)的文檔組成。為了簡要和一致,以下 說明中的網(wǎng)頁,指的是以HTML文檔描述的網(wǎng)頁。
在描述網(wǎng)頁的HTML文檔中,通過引用對應(yīng)的圖像文件(例如一但不 限于一.gif文件)來表示要顯示的圖像。網(wǎng)頁文檔通常需要引用許多圖 像文件。
本發(fā)明的優(yōu)化網(wǎng)頁圖像的基本構(gòu)思如圖1所示,即把網(wǎng)頁中包含的 如圖1右上方所示的幾個相關(guān)的小圖像組合成如圖l右下方所示的單一 的圖4象文件combinel. gif,這樣,當(dāng)客戶端請求該網(wǎng)頁時,不是單獨下 載這幾個小圖像,而只下載這一個組合圖像文件。
按照本發(fā)明的優(yōu)化網(wǎng)頁圖像的方法,總體上包含三個階段 第一階段檢測網(wǎng)頁中的圖像,以確定圖像之間的關(guān)系。該階段可以
選擇檢測靜態(tài)圖像關(guān)系和動態(tài)囝像關(guān)系,靜態(tài)圖像關(guān)系包括基于D0M樹 的圖像距離關(guān)系和圖像包含關(guān)系,后者進一 步包括圖像之間在分段級或 網(wǎng)頁級^皮不同的網(wǎng)頁共同引用的關(guān)系。
第二階段響應(yīng)對圖像之間的關(guān)系的確定,將兩個或更多的相關(guān)圖像
組合成組合圖像??梢赃x擇進行基于DOM樹的圖像組合、分段級的圖像 組合、網(wǎng)頁級的圖j象組合和網(wǎng)站級的圖像組合。
第三階段更新網(wǎng)頁,以對組合圖像的引用代替對所述相關(guān)圖像的引 用。該階段響應(yīng)第二階段組合圖像的結(jié)果,將原網(wǎng)頁文檔中的對單個圖 像的引用的代碼替換為對包含各單個圖像的組合圖像的引用的代碼。
以下說明第 一 階段的各種實現(xiàn)的實施例。
網(wǎng)頁圖像之間的距離,可以用來表征網(wǎng)頁之間的關(guān)系。圖像之間的 距離,分為空間距離和時間距離??臻g距離表征兩個圖像在相同的視圖 上顯示的可能性,兩個圖像的空間距離越近,在相同的視圖上顯示的可 能性越大。時間距離表征兩個圖像在較短的時間間隔內(nèi)被先后顯示的可 能性,兩個圖像的時間距離越近,在較短的時間間隔內(nèi)被先后顯示的可 能性越大??臻g距離與時間距離相互關(guān)聯(lián),又相互區(qū)別。例如,如果兩 個圖像總是在相同的視圖中被顯示,則它們的空間距離和時間距離都很 小。但是,空間距離大,并不意味著時間距離大,因為兩個從不在相同 的視圖上顯示的圖像,完全有可能在兩個互相鏈接的網(wǎng)頁上,因此在較 短的時間間隔內(nèi)被順序顯示。按照本發(fā)明,不但可以把網(wǎng)頁中包含的幾 個小圖像組合成單一 的圖像文件,而且可以根據(jù)圖像之間的距離進行這 種組合,以提高組合圖像的使用效率。
按照本發(fā)明一個實施例,檢測網(wǎng)頁中的圖像,包括檢測基于DOM樹 的圖像距離關(guān)系。
圖3a表示一例文檔對象模型(D0M)樹的視圖。D0M樹是HTML文檔或 XML文檔的 一種結(jié)構(gòu)描述。由于網(wǎng)頁的每個分段可以由 一個HTML文檔描 迷,因此可以用圖3a的D0M樹來表示。
按照本發(fā)明,可以將這樣一個DOM樹改造為縮減的D0M樹,在保留 足夠的結(jié)構(gòu)信息的同時,省略一些不含圖像節(jié)點的樹枝。圖3b是按照
本發(fā)明一個實施例改造的一個網(wǎng)頁的分段的D0M樹,樹中表示了兩個含
有圖#^十結(jié)點的分支, 一個分支含有三個圖^象IMG1、 IMG2和IMG3,另 一個分支含有一個圖像IMG4。
按照本發(fā)明,可以進一步通過檢測縮減的DOM樹中圖像葉節(jié)點之間 的相對距離,來檢測網(wǎng)頁中的圖像關(guān)系,供第二階段用于對圖像的組合。 也可以將檢測的結(jié)果,存儲在一個圖像節(jié)點距離關(guān)系表,在該表中列出 表示所有各圖像葉節(jié)點與其它各圖像葉節(jié)點之間的距離的值。例如圖3b 中,圖像IMG1與IMG2之間的距離為1,與圖像頂G3之間的距離為2。 一般來說,兩個圖像的距離越近,表示兩個圖像的空間距離或者時間距 離較近的可能性更大。在第二階段,如果按照圖像距離的大小,優(yōu)先合 并或組合距離較小的圖像,效率更高。關(guān)于如何根據(jù)圖像的距離關(guān)系組 合圖像,將在下文中說明。
按照本發(fā)明一個實施例,檢測網(wǎng)頁中的圖像,包括檢測圖像包含關(guān) 系,例如圖像之間被不同分段共同引用的關(guān)系和/或被不同分段共同引 用的關(guān)系。
圖4是一例表示網(wǎng)頁與分段之間關(guān)系的表,該表以另一種表示方式 表示圖2中網(wǎng)頁與片段的關(guān)系。例如從表中可見,分段segl被包含在 網(wǎng)頁wpl中,分段seg4被包含在兩個網(wǎng)頁wp0和wp3中,等等。
圖5a表示一個網(wǎng)頁結(jié)構(gòu)的分段布局的例子。該網(wǎng)頁中包括不同的部 分segO、 seg2、 seg4、 seg5。為方1"更描述,本"i兌明中將網(wǎng)頁的不同部分 稱作"分段"。在描述網(wǎng)頁的HTML文檔中,每個分段可以由一個HTML 文檔描述。需要指出的是,分段的劃分是相對的,較大的HTML文檔可 表示網(wǎng)頁的較大一個部分,而一個HTML文檔中又可以包含許多更小的 HTML文檔,每個較小的HTML文檔表示網(wǎng)頁中的一個較小的部分。
HTML文檔是結(jié)構(gòu)化的,并且采用標(biāo)簽(tag)來表示內(nèi)容,因此可以 用程序方法檢測這些內(nèi)容,檢測網(wǎng)頁中分段之間的各種關(guān)系。圖5b中 所表示的是分段之間的一例關(guān)系,即圖5a所示的網(wǎng)頁中分段之間的空 間距離關(guān)系。圖5b的表中的關(guān)系值代表片段的距離。例如,圖5a所示 的網(wǎng)頁中,segO與seg2、 seg4之間的距離都是1,而與seg5之間的距
離是2。所屬技術(shù)領(lǐng)域的技術(shù)人員知道,現(xiàn)有技術(shù)中存在各種檢測HTML 文檔的網(wǎng)頁的工具和方法,針對不同編程語言的編寫的網(wǎng)頁,現(xiàn)有技術(shù)
中存在不同的類似檢測方法,這些都不在本發(fā)明的范圍之內(nèi),因此不再 贅述。
對網(wǎng)頁的分析,還可以檢測網(wǎng)頁的分段與圖像之間的關(guān)系。圖6是 一例表示分段與圖像之間關(guān)系的表,用以表示哪些圖像被哪些分段虧I 用。例如,該表表示,圖像imgO被分段seg0引用,圖像img6和img7 被分段seg5引用,等等。
要指出的是,由于HTML文檔的特點,很容易通過適當(dāng)?shù)木幊蹋贸?序得出圖4和圖6所示的表。
通過圖4所示的網(wǎng)頁與分段之間關(guān)系和圖6所示的分段與圖像之間 關(guān)系,還可以自動推導(dǎo)出圖像與網(wǎng)頁之間關(guān)系,如圖7所示的表示圖像 與網(wǎng)頁之間關(guān)系的表中所示的那樣。例如,圖像imgO被分段segO引用 (參看圖6),而分段seg0包含在網(wǎng)頁wp0中(參看圖4),因此,圖像img0 被網(wǎng)頁wpO引用;類似地,圖像img3被分段seg2引用(參看圖6),而 分段seg3包含在網(wǎng)頁wp0和wp2中,因此,圖像img3被網(wǎng)頁wp0和wp2 引用,等等。從圖7中可見,網(wǎng)頁wpl引用圖像img0, imgl, irag3,網(wǎng) 頁wp3引用圖4象img4-img5。
一般來說,位于同 一個網(wǎng)頁中的不同圖像被同時提取的概率較高。 分^殳是網(wǎng)頁一部分,因此也可以說,位于同一個分^殳中的不同圖像凈皮同 時提取的概率較高。通過分析圖7的表,可得出圖8所示的表,以表示圖 像與圖像之間關(guān)于網(wǎng)頁的關(guān)系。其中,第x行第y列中的數(shù)字R[x,y], 表示圖像x和圖像y共同被R [x, y]個網(wǎng)頁引用,我們將R [x, y]稱作"共 用網(wǎng)頁數(shù)"。例如,圖8中第6行第7列的數(shù)字R[6,7]=2,表示圖像 img6和img7共同被2個網(wǎng)頁引用,就是說,有2個網(wǎng)頁既引用img6又 引用img7。而R[6,8]-1,表示圖像img6和inig8共同被1個網(wǎng)頁引用, 或者只有一個網(wǎng)頁既引用img6又引用img8。相比之下,img6和img7 被一個網(wǎng)頁同時提取的概率,比img6和img8被同時提取的概率高,因
ot匕,4尤先合并img6禾口 img7的步文率更高。
圖8也可以通過對類似于圖2所示的樹結(jié)構(gòu)的遍歷而得出,這屬于 現(xiàn)有技術(shù)的范疇,因此不在這里贅述。
需要指出的是,由于分段是網(wǎng)頁的子集,因此也可以以類似的方式, 分析得出圖像與圖像之間基于分段的關(guān)系,即分析不同的圖像共同被幾 個分段引用。在一個實施例中,也可以用圖8來表示圖像與圖像之間基 于分段的關(guān)系,此時,圖8中的第x行第y列中的數(shù)字R[x,y],表示圖 像x和圖像y共同被R[x,y]個分段引用,我們將R[x,y]稱作"共用分 段數(shù)"。此時,圖8中第6行第7列的數(shù)字R[6, 7] =2,表示有2個分段 既引用img6又引用img7。而11[6,8]=1,表示只有一個分段既引用inig6 又引用img8。相比之下,img6和img7被一個分段同時提取的概率,比 img6和img8被同時提取的概率高,因此,優(yōu)先合并img6和img7的效 率更高。
以上進行的圖像檢測,都是對靜態(tài)的圖像關(guān)系的檢測。 統(tǒng)計表明,90%的服務(wù)器請求涉及網(wǎng)站中2-4%的文件。 一個圖像被 多個網(wǎng)頁引用,不一定表示該圖像被經(jīng)常訪問。在不同訪問模式下,由 于網(wǎng)頁被訪問的頻率不同,圖像被訪問的頻率不同,此時,圖像與圖像 之間基于網(wǎng)頁的動態(tài)關(guān)系也與靜態(tài)關(guān)系不同。
本發(fā)明的另一個實施例,可以進一步檢測動態(tài)的圖像關(guān)系,即圖像 之間被不同的網(wǎng)頁動態(tài)引用的關(guān)系。該實施例例如利用現(xiàn)有技術(shù)監(jiān)測和 記錄(logging)工具收集關(guān)于網(wǎng)頁的信息,得出圖9中例示的數(shù)據(jù)。圖9 表示在一定時間期間,圖7中每個網(wǎng)頁被訪問的次數(shù),反映動態(tài)的網(wǎng)頁 訪問模式。
將圖7和圖9分別表示的兩個矩陣相乘,可以得出圖IO的矩陣,表 示在一定時間期間每個圖像被訪問的次數(shù)。由圖10的矩陣與圖7的矩 陣相乘,得出如圖11所示的表,表示圖像與圖像之間的動態(tài)關(guān)系,即 按網(wǎng)頁訪問次數(shù)加權(quán)了的關(guān)系。圖11中的任意兩個圖像x與y之間關(guān) 系,可以由一個"圖像訪問模式近似性尺度"S (x,y)來衡量,S (x,y) 可以由第x行第y列中的數(shù)字R[x,y]推導(dǎo)得出對于圖像xl、 x2、 x3
來說,如果
iR[xl,xl]-R[xl,x2] KlR[xl,x1]-R[xl,x3] |
則S(xl,x2)〉S(xl,x3)。對一個圖像集合,可以算出所有的圖像對 的圖像訪問模式近似性尺度,由此可以比較它們之間的相對大小。
例如,從圖11中可以得出S(O, 1)〉S(0, 7)。這表示,相比之下,img0 和imgl未來被同時提取或訪問的概率,比img0和img7被同時提取或 訪問的概率高,因此,優(yōu)先合并img0和imgl的效率更高。
以下說明第二階段的實現(xiàn)方式。該階段可以進行基于D0M樹的圖像 組合、分段級的圖像組合、網(wǎng)頁級的圖像組合和網(wǎng)站級的圖像組合。
首先,舉例說明圖像組合的方法。
假設(shè)要合并兩個圖像imagel和image2。
第一步,創(chuàng)建一個包含圖像imagel的組合圖像。首先,創(chuàng)建一個指 定大小的空白圖像文件combinel. gif,將圖像imagel粘貼到空白區(qū)中, 使得留下的空白區(qū)最大。然后,記錄圖像inmgel與組合圖像 combinel. gif的對應(yīng)關(guān)系。例如,在圖12所示的圖^象-組合圖像對應(yīng)關(guān) 系表中,記錄圖像imagel和組合圖像combinel的文件名,以及圖像 imagel在組合圖4象combinel. gif中的位置信息。
圖12所示的表的例子,用來表示每一個被組合的原始圖像與相應(yīng)的 組合圖像的關(guān)系。例如,第一行中的imagel. gif和combinel. gif分別 是被組合的原始圖像inmgel和組合圖像combinel的文件名,
"0,0,50,38"是圖像imagel在組合圖像combinel中的位置信息,意 思是,長方形的圖像imagel寬50高38,左上角位于組合圖像combinel 中
的位置(即左上角)。第二步,將圖像image2粘貼到組合圖像 combinel。首先,判斷組合圖像combinel中剩余的空白區(qū)是否能夠容 納圖像image2。如果是,則將圖像image2粘貼到剩余的空白區(qū)中與圖 j象imagel相鄰的位置,并記錄圖像image2與組合圖j象combinel的對 應(yīng)關(guān)系,如圖12的第二行所示。如果組合圖像combinel中剩余的空白 區(qū)不能容納圖像image2,則不粘貼圖像image2。
如果要合并3個的圖像,例如,如果要將另一個圖像image3與圖像
imagel和image2合并,則對圖像image3重復(fù)上述的第二步。
圖12所示的例子中的第三行所示,圖像inmge2被合并到組合圖像 combinel中圖像imagel右面,圖像image3被合并圖像image2右面的 位置。類似地,可以合并更多的圖像。
需要指出的是,以上步驟只是對合并圖像的方法的示例。但是本發(fā) 明并不限于此,例如,本例中用坐標(biāo)和原圖像的高度和寬度表達的原圖 像在組合圖像中的位置信息,但是也可以用其它方式表達位置信息。所 屬技術(shù)領(lǐng)域的技術(shù)人員、尤其是編程人員可以靈活地實現(xiàn)的這些或其它 細節(jié)。任何將多個圖像合并成一個大的組合圖像的方法,都可用于實現(xiàn) 本發(fā)明。
按照本發(fā)明的一個實施例,在第一階段對縮減的DOM樹中圖像節(jié)點 的距離關(guān)系的檢測的基礎(chǔ)上,可以進行基于DOM樹的圖像組合。前文說 過,第一階段對縮減的DOM樹中圖像節(jié)點的距離關(guān)系的檢測,可生成一 個圖像節(jié)點距離關(guān)系表。本實施例可以根據(jù)DOM樹中的圖像距離大小的 關(guān)系,進行圖像組合,例如先組合距離較小的圖像,再組合距離較大的 圖像。以下舉例說明這種圖像組合的詳細步驟。
(l)設(shè)置一個組合圖像大小閾值,例如5k字節(jié)。理論上講,本發(fā)明 對網(wǎng)頁圖像的組合的技術(shù)方案并不受組合圖像大小的限制。但是在實踐 中,最好把組合圖像的大小限制在適當(dāng)?shù)姆秶鷥?nèi)。這是因為,雖然將小 圖像合并為大的組合圖像,能減少處理圖像的次數(shù),但是如果一個組合 圖像過大,會過長多地占用HTTP傳輸時間,降低組合圖像傳輸?shù)乃俣取?因此,要為組合圖像的大小限定一個閾值,在具體實施例中,這可以依 網(wǎng)'絡(luò)狀況和經(jīng)驗而定。除了可以用文件大小的字節(jié)數(shù)來表示組合圖像大 小的閱值,還可以用其它方式,例如可以用組合圖像的尺寸來表示這種 閾值。當(dāng)然,也可以通過限制被組合的圖像的數(shù)量,來限制組合圖像的 大小。(2)設(shè)置圖像節(jié)點的初始距離值D-1;
(3) 通過例如上文所述的"圖像節(jié)點距離關(guān)系表",選取所有與其它 圖像的節(jié)點距離為D的尚未被組合的圖像的集合;
(4) 對于該集合中任意一個尚未被組合的圖像imagel來說,如果該
集合中存在另一個圖像image2,并且圖像imagel和圖像image2的大小 之和不超過所述閾值,則將圖像imagel和圖像image2合并成一個組合
圖像;否則,執(zhí)行步驟(6);
(5) 重復(fù)執(zhí)行以下步驟如果該集合中的有另一個圖像image3與已 經(jīng)被組合的圖像的大小之和不超過所述閾值,則將圖像image3合并到 該組合圖像中;否則,執(zhí)行步驟(4);
(6) 將距離值D遞增1,返回步驟(2)。
以上組合圖l象的過程中,如前文所述的一樣,可以生成一個如圖12 所示的圖像-組合圖像對應(yīng)關(guān)系表。
按照另一個實施例,可以選擇設(shè)定一個距離值D的閾值,當(dāng)距離值 D達到這個閾值時,就不再進行圖像組合。
通過上述步驟,優(yōu)先組合距離較小的圖像,被組合的圖像的空間距 離或者時間距離較近的可能性更大,因此組合圖像的效率更高。
按照本發(fā)明的另一個實施例,基于DOM樹的圖像組合,可以直接進 行??梢詮娜我庖粋€圖像葉節(jié)點開始,遍歷DOM樹,將相近的圖像合并 成一個個組合圖像,結(jié)果生成一個圖像-組合圖像對應(yīng)關(guān)系表。合并的 方法與上文根據(jù)圖像節(jié)點距離關(guān)系表進行的合并類似,并且也可用閾值 來限定組合圖像的大小。
現(xiàn)有技術(shù)中有各種遍歷DOM樹的算法,例如深度優(yōu)先算法,都可以 用來進行這種圖像合并,這里不作贅述。
按照本發(fā)明一個實施例,進行分段級的圖像組合。可以按照在第一 階段的檢測中確定的圖像與圖像之間基于分段的關(guān)系來進行分段級的 圖像組合。如圖8所示,圖像x與圖像y之間基于分段的關(guān)系,可用"共 用分段數(shù)"R[x,y]來表征,表示圖像x和圖像y共同被R[x,y]個分段引 用的程度。
按照一個實施例,按照圖像被不同分段共同引用的概率的大小順序 對網(wǎng)頁中的圖像進行圖像組合,其步驟是
(1) 設(shè)置一個組合圖像大小閾值;
(2) 按照"共用分段數(shù),,R[x,y]從高到低的順序,對每個尚
未被組合的圖像重復(fù)執(zhí)行以下操作 如果與R[x,y]相關(guān)聯(lián)的一個圖像x的大小與另一個相關(guān)聯(lián)的圖 像y的大小之和不大于所述閾值,則將囝像x與囝像y合并為一個 組合圖像;
如果與R[x,y]相關(guān)聯(lián)的一個圖像x的大小,與已經(jīng)被組合的其 它圖像的大小之和不大于所述閾值,則將該圖像x合并到包含該其 它圖j象的組合圖j象中。
以上過程中"閾值"的概念和合并圖像的操作,如前文所述的一樣, 輸出的結(jié)果,例如是一個圖像-組合圖像對應(yīng)關(guān)系表。
前文已經(jīng)指出過,如果用圖8表示圖像與圖像之間基于分段的關(guān)系 的一個例子,則"共用分段數(shù)"R[6,7]-2大于"共用分段數(shù)"R[6,8H, 圖像img6和img7將優(yōu)先于img6和img8被組合,產(chǎn)生的組合圖像的效 率更高。當(dāng)然,按照以上所述的圖像組合步驟,如果圖像inig6和img7 已經(jīng)被組合,而圖像img8的大小與圖像img6和img7之和不大于預(yù)定 的閾值,則圖像inig8最終也可能與圖像img6和img7組合。
按照本發(fā)明另一個實施例,在第二階段,可以進行網(wǎng)頁級的圖像組合。
該實施例按照在第 一 階段的檢測中確定的圖像之間基于網(wǎng)頁的關(guān) 系,進行網(wǎng)頁級的圖像組合。仍然用圖8所示的表,表示圖像x與圖像 y之間基于網(wǎng)頁的關(guān)系,此時可以用"共用網(wǎng)頁數(shù)"R[x,y]來表征這種 關(guān)系,即圖像x和圖像y共同被R[x,y]個網(wǎng)頁引用的程度。
按照一個實施例,按照圖像被不同網(wǎng)頁共同引用的概率的大小順序 對網(wǎng)頁中的圖像進行圖像組合,其步驟是 為組合圖像的大小設(shè)置一個閾值;
按照"共用網(wǎng)頁數(shù)"R[x, y]從高到低的順序,對每個尚未被組 合的圖像重復(fù)執(zhí)行以下操作
如果與R[x,y]相關(guān)聯(lián)的一個圖像x的大小與另一個相關(guān)聯(lián)的圖
像y的大小之和不大于所述閾值,則將圖像x與圖像y合并為一個 組合圖像;
如果與R[x,y]相關(guān)聯(lián)的一個圖像x的大小,與已經(jīng)被組合的其
它圖像的大小之和不大于所述閾值,則將該圖像合并到包含該其它 圖像的組合圖像中。
顯然,對圖像進行網(wǎng)頁級的圖像組合的步驟,與對圖像進行分段級 的圖像組合的步驟非常類似,其輸出的結(jié)果例如也可以是一個圖像-組
合圖像對應(yīng)關(guān)系表,其效果也類似,就是說,如果也用圖8表示圖像與 圖像之間基于網(wǎng)頁的關(guān)系,則圖像img6和img7將優(yōu)先于img6和img8 被組合。。
按照本發(fā)明的一個實施例,進行網(wǎng)站級的圖像組合,其特點是對具 有類似訪問模式的圖像優(yōu)先組合。網(wǎng)站級的圖像組合,按照圖像與圖像 之間的動態(tài)關(guān)系對圖像進行組合。如上文參照圖]1所述的那樣,在第 一階段的檢測中可以確定圖像與圖像之間的動態(tài)關(guān)系;可以用圖像訪問 模式近似性尺度S [x, y],來表征兩個圖像x與圖像y之間的動態(tài)關(guān)系。
本發(fā)明一個實施例,按照圖像訪問模式近似性的大小順序,對網(wǎng)頁 中的圖像進行網(wǎng)站級的圖像組合,其步驟是 設(shè)置一個組合圖像大小閾值;
按照圖像訪問模式近似性尺度S[x, y]從高到低的順序,對每個 尚未被組合的圖像重復(fù)執(zhí)行以下操作
如果與S[x,y]相關(guān)聯(lián)的一個圖像x的大小與另一個相關(guān)聯(lián)的圖 像y的大小之和不大于所述閾值,則將圖像x與圖像y合并為一個 組合圖像;
如果與S[x,y]相關(guān)聯(lián)的一個圖像x的大小,與已經(jīng)被組合的其 它圖像的大小之和不大于所述閾值,則將該圖像合并到包含該其它 圖像的組合圖像中。
對圖像進行網(wǎng)站級的圖像組合的步驟,與圖像進行網(wǎng)頁級和分段級 的圖像組合的步驟非常類似,其輸出的結(jié)果例如也是一個圖像-組合圖 像對應(yīng)關(guān)系表。
第二階段對圖像關(guān)系的檢測的各種方式,可以單獨進行,也可以組 合地進行。相應(yīng)地,第三階段對圖像的組合,也可以基于單獨進行的檢
測結(jié)果和組合進行的 一企測結(jié)果而進行。
按照本發(fā)明,在第二階段把網(wǎng)頁中的圖像組合成組合圖像之后,根 據(jù)第二階段的結(jié)果進行第三階段,即更新網(wǎng)頁,以對組合圖像的引用代 替對所述相關(guān)圖像的引用。
在描述網(wǎng)頁的HTML文檔中,標(biāo)記了對每個原始圖像的引用,以及該 原始圖像在網(wǎng)頁的顯示位置。圖13a是一段包含要顯示的圖像的原始 HTML文檔的例子。該HTML文檔中對原始圖像imagel、 image2、 image3 的引用的代碼段可以用偽碼表達為
"在網(wǎng)頁的位置A顯示文件imagel.gif的圖片"; "在網(wǎng)頁的位置B顯示文件image2.gif的圖片"; "在網(wǎng)頁的位置C顯示文件image3. gif的圖片"。 按照本發(fā)明的 一個實施例,利用第二階段在生成組合圖像時記錄的 原始圖像與組合圖像的對應(yīng)關(guān)系,把網(wǎng)頁文檔中對每個原始圖像的文件 的引用,替換為對對應(yīng)的組合圖像的文件和相關(guān)原始圖像在組合圖像中 的位置信息的引用。例如,利用圖12例示的圖像-組合圖像對應(yīng)關(guān)系表 中所表達的圖4象imagel與組合圖像combinel的對應(yīng)關(guān)系,將上述HTML 文檔中對原始圖像imagel的引用的代碼段替換為以下述偽碼表達的代 碼段
"在網(wǎng)頁的位置A將組合圖像combinel.gif中由位置信息
表示的部分圖像作為背景圖片;在網(wǎng)頁的位置A把一個透明圖 片作為當(dāng)前圖片"。其中,A是原始HTML文檔中設(shè)定的顯示圖像imagel 的位置,已經(jīng)體現(xiàn)在原始HTML文檔中。
類似地,將原始HTML文檔中對原始圖像image2、 image3的引用的 代碼段分別替換為
"在網(wǎng)頁的位置B將組合圖像combinel.gif中由位置信息 [50,0,50,38 ]表示的部分圖像作為背景圖片,在網(wǎng)頁的位置B把一個
透明圖片作為當(dāng)前圖片";
"在網(wǎng)頁的位置C將組合圖像combinel.gif 中由位置信息 [100,0,40, 38]表示的部分圖像作為背景圖片,在網(wǎng)頁的位置C把一個 透明圖片作為當(dāng)前圖片"。其中,B、 C分別是原始HTML文檔中設(shè)定的 顯示image2、 image3的位置。
圖13是一個更新后的HTML文檔的例于,其中已經(jīng)用對組合圖像進 行單獨的顯示的代碼替換了用于顯示相關(guān)原始圖像的原始代碼。通過適 當(dāng)?shù)木幊?,可以自動進行這種替換。
原始HTML文檔被更新后,如果在客戶端的瀏覽器上要同時顯示(例 如圖1所示的)三個圖像imagel、 image2和image3,客戶端不必請求 三個圖像文件imagel. gif 、 image2 . gif 和image3. gif , 而只要請求 一個圖像文件combinel. gif??蛻舳藶g覽器解析與原始HTML文檔相對 應(yīng)的更新了的HTML文檔,原本要對較多的(例如圖1右上方所示的) 小原始圖像文件的引用變成對較少的(例如圖l右下方所示的)組合圖 像文件的引用。
圖14是表示根據(jù)本發(fā)明實施例的用于優(yōu)化網(wǎng)頁圖像的系統(tǒng)的方框 圖。如圖14所示,按照本實施例的系統(tǒng)140,包含圖像檢測裝置141, 用于檢測網(wǎng)頁中的圖像,確定圖像之間的關(guān)系;圖像組合裝置142,用 于響應(yīng)對圖像之間的關(guān)系的確定,將相關(guān)圖像組合成組合圖像;網(wǎng)頁更 新裝置143,用于更新網(wǎng)頁,以對組合圖像的引用代替對所述相關(guān)圖像 的引用。圖中可見,圖像檢測裝置141輸入網(wǎng)頁,輸出對圖像關(guān)系的檢 測結(jié)果,例如圖8所示的圖像關(guān)系表。檢測結(jié)果可以存儲在一個存儲裝 置中,也可以直接饋送到圖像組合裝置142。圖像組合裝置142根據(jù)圖 像檢測裝置141輸出的檢測結(jié)果,將相關(guān)的圖像組合成組合圖像,存儲 或輸出被組合的相關(guān)圖像與組合圖像的關(guān)系,例如被組合圖像的文件 名,組合圖像的文件名,以及被組合圖像在組合圖像中的位置信息。網(wǎng) 頁更新裝置142根據(jù)圖像組合裝置142的輸出,把網(wǎng)頁中對相關(guān)圖像的 引用修改為對組合圖像的文件和相關(guān)圖像在組合圖像中的位置信息的 引用。
可選地,系統(tǒng)140包含一個存儲裝置,用于存儲圖像檢測裝置141、 圖像組合裝置142和網(wǎng)頁更新裝置143的任何一個或全部所產(chǎn)生的結(jié)果 輸出數(shù)據(jù),以及為上述裝置提供輸入數(shù)據(jù)。
如圖所示,按照本發(fā)明的一個實施例,圖像檢測裝置141可包含D0M 樹分析裝置1411和/或圖像包含關(guān)系分析裝置1412, DOM樹分析裝置 1411用于分析網(wǎng)頁的結(jié)構(gòu),而圍像包含關(guān)系分析裝置1412用亍按照本 發(fā)明方法分析和記錄網(wǎng)頁圖像之間被共同引用的關(guān)系。在具體實踐中, DOM樹分析裝置1411和圖像包含關(guān)系分析裝置1412可以相互獨立,也 可以體現(xiàn)為單一的分析裝置1410,用于按照本發(fā)明方法分析網(wǎng)頁的結(jié) 構(gòu)。
按照本發(fā)明一個實施例,圖像組合裝置142被配置得通過遍歷表示 網(wǎng)頁的D0M樹,將相近的圖像合并成組合圖像。
按照本發(fā)明的一個實施例,圖像組合裝置142包含網(wǎng)頁級圖像組合 裝置1421、分段級圖像組合裝置1422、網(wǎng)站級圖像組合裝置1423。網(wǎng) 頁級圖像組合裝置1421用于根據(jù)圖像之間被不同的網(wǎng)頁共同引用的關(guān) 系組合圖像;分段級圖像組合裝置1422用于根據(jù)圖像之間被相同網(wǎng)頁 的不同分段或分區(qū)共同引用的關(guān)系組合圖像;網(wǎng)站級組合裝置1423,用 于根據(jù)圖像之間圖像訪問模式近似性的關(guān)系組合圖像。當(dāng)然,在具體實 現(xiàn)中,根據(jù)需要,圖像組合裝置142可以只包含上述三種裝置的一部分。
按照本發(fā)明的實施例,圖像組合裝置142進一步被配置得能按照被 共同引用的概率的大小順序和/或按照圖像訪問模式近似性的大小順 序,將相關(guān)圖像組合成組合圖像,并且/或者能根據(jù)DOM樹中的圖像的 距離,先組合距離較小的圖像,再組合距離較大的圖像。
按照本發(fā)明的實施例,為圖像組合裝置142進行圖像的組合,預(yù)定 一個組合圖像大小閾值。閾值的選擇,可以依具體實現(xiàn)而定。對于兩個 或更多的相關(guān)圖像的來說,只有它們的大小總和不超過這個閾值時,圖 像組合裝置142才把它們合并成一個組合圖像,或者將其中一個合并到 一個組合圖像中。
本實施例的系統(tǒng)14及其各個組成部分與前文所述的優(yōu)化網(wǎng)頁圖像 的方法對應(yīng),屬于同一發(fā)明構(gòu)思,然而本發(fā)明的優(yōu)化網(wǎng)頁圖像的系統(tǒng)的 實現(xiàn)并不限于上述結(jié)構(gòu)。系統(tǒng)14及其各個組成部分可以由諸如邏輯芯 片和可編程硬件設(shè)備的硬件電路實現(xiàn),也可以用由各種處理器執(zhí)行相應(yīng)的軟件的方式實現(xiàn),例如以包含執(zhí)行本發(fā)明方法步驟的程序代碼的計算 機程序產(chǎn)品的形式提供,或者由上述硬件和軟件的結(jié)合實現(xiàn)。這些各個 組成部分可以集成在一起,也可以物理上相互獨立而操作上互相協(xié)作。
本發(fā)明的方法和系統(tǒng),通過優(yōu)化網(wǎng)頁圖像,能減少在傳送網(wǎng)頁時服 務(wù)器為處理大量的HTTP請求所需的工作量,降低對傳送網(wǎng)頁圖像的帶 寬要求。對網(wǎng)頁圖像的優(yōu)化,不降低相關(guān)原始圖像的質(zhì)量,也不需要對 客戶端的操作作出任何改動。
以上通過實施例詳細說明了本發(fā)明的用于優(yōu)化網(wǎng)頁圖像的方法和系 統(tǒng)進行了詳細的描述,這些實施例僅僅是示例性的,而非限定性的,也 不是窮舉的。本領(lǐng)域^^支術(shù)人員可以在本發(fā)明的精神和范圍內(nèi)對這些實施 例作出各種變化和修改。
權(quán)利要求
1.一種優(yōu)化網(wǎng)絡(luò)服務(wù)器上的網(wǎng)頁中的圖像的方法,包含以下步驟檢測網(wǎng)頁中的圖像,以確定圖像之間的關(guān)系;響應(yīng)對圖像之間的關(guān)系的確定,將兩個或更多的相關(guān)圖像組合成組合圖像;更新網(wǎng)頁,以對組合圖像的引用代替對所述相關(guān)圖像的引用。
2. 按照權(quán)利要求l的方法,其中,所述檢測圖像之間的關(guān)系,包括 檢測圖像在縮減的DOM樹中的距離。
3. 按照權(quán)利要求l的方法,其中,所述檢測圖像之間的關(guān)系,包含 檢觀'j圖像之間被不同的網(wǎng)頁共同引用的關(guān)系。
4. 按照權(quán)利要求l的方法,其中,所述檢測圖像之間的關(guān)系,包含 檢測圖像之間被相同網(wǎng)頁的不同分段或分區(qū)共同引用的關(guān)系。
5. 按照權(quán)利要求3的方法,其中,所述檢測圖像之間被不同的網(wǎng)頁 共同引用的關(guān)系的步驟,進一步檢測圖像之間被不同的網(wǎng)頁動態(tài)引用的 關(guān)系。
6. 按照權(quán)利要求3或4的方法,其中,將相關(guān)圖像組合成組合圖像 的步驟,包括按照被共同引用的概率的大小順序進行組合。
7. 按照權(quán)利要求5的方法,其中,將相關(guān)圖像組合成組合圖像的步 驟,包括按照圖像訪問模式近似性的大小順序進行組合。
8. 按照權(quán)利要求2的方法,其中,將相關(guān)圖像組合成組合圖像的步 驟,包括根據(jù)DOM樹中的圖像的距離,先組合距離較小的圖像,再組合距離較大的圖像。
9. 按照權(quán)利要求2的方法,其中,將相關(guān)圖像組合成組合圖像的步 驟,包括遍歷表示網(wǎng)頁的D0M樹,將相近的圖像合并成組合圖像。
10. 按照權(quán)利要求1至9中的任何一個方法,其中,所述兩個或更 多的相關(guān)圖像的大小之和,小于一個預(yù)定的組合圖像閾值。
11. 按照權(quán)利要求l的方法,其中,對組合圖像的引用包括對組合 圖像的文件和相關(guān)圖像在組合圖像中的位置信息的引用。
12. —種用于優(yōu)化網(wǎng)絡(luò)服務(wù)器上的網(wǎng)頁中的圖像的系統(tǒng),包含 圖像檢測裝置,用于檢測網(wǎng)頁中的圖像,確定圖像之間的關(guān)系; 圖像組合裝置,用于響應(yīng)對圖像之間的關(guān)系的確定,將相關(guān)圖像組合成組合圖像;網(wǎng)頁更新裝置,用于更新網(wǎng)頁,以對組合圖像的引用代替對所述相 關(guān)圖像的引用。
13. 按照權(quán)利要求12的系統(tǒng),其中,圖像檢測裝置包括DOM樹分析 裝置,用于分析和記錄在網(wǎng)頁在D0M樹中圖像之間的距離。
14. 按照權(quán)利要求12或13的系統(tǒng),其中,圖像檢測裝置裝置包括 圖像包含關(guān)系分析裝置,用于分析和記錄網(wǎng)頁圖像之間被共同引用的關(guān)系。
15. 按照權(quán)利要求14的系統(tǒng),其中,所述圖像組合裝置,包含下述 的一個或多個網(wǎng)頁級圖像組合裝置,用于根據(jù)圖像之間被不同的網(wǎng)頁共同引用的 關(guān)系組合圖像;分段級圖像組合裝置,用于根據(jù)圖像之間被相同網(wǎng)頁的不同分段或 分區(qū)共同引用的關(guān)系組合圖像;網(wǎng)站級組合裝置,用于根據(jù)圖像之間圖像訪問模式近似性的關(guān)系組 合圖像。
16. 按照權(quán)利要求14或15的系統(tǒng),其中,圖像組合裝置按照相關(guān) 圖像被共同引用的概率的大小,順序?qū)⑾嚓P(guān)圖像組合成組合圖像。
17. 按照權(quán)利要求13的系統(tǒng),其中,圖像組合裝置根據(jù)DOM樹中的 圖像的距離,先組合距離較小的圖像,再組合距離較大的圖像。
18. 按照權(quán)利要求12的系統(tǒng),其中,圖像組合裝置通過遍歷表示網(wǎng) 頁的D0M樹,將相近的圖像合并成組合圖像。
19. 按照權(quán)利要求12至18中的任何一個系統(tǒng),其中,圖像組合裝 置按照預(yù)定的組合圖像大小閾值,組合兩個或更多的相關(guān)圖像。
20.按照權(quán)利要求12的系統(tǒng),網(wǎng)頁更新裝置把網(wǎng)頁中對相關(guān)圖像的 引用修改為對組合圖像的文件和相關(guān)圖像在組合圖像中的位置信息的 引用。
全文摘要
本發(fā)明涉及計算機多媒體技術(shù),尤其涉及對因特網(wǎng)上傳輸?shù)木W(wǎng)頁的圖像的優(yōu)化。公開了一種優(yōu)化網(wǎng)絡(luò)服務(wù)器上的網(wǎng)頁中的圖像的方法和系統(tǒng),該方法包含以下步驟檢測網(wǎng)頁中的圖像,確定圖像之間的關(guān)系;響應(yīng)對圖像之間的關(guān)系的確定,將兩個或更多的相關(guān)圖像組合成組合圖像;更新網(wǎng)頁,以對組合圖像的引用代替對所述相關(guān)圖像的引用。通過優(yōu)化網(wǎng)頁圖像,減少了在傳送網(wǎng)頁時服務(wù)器為處理大量的HTTP請求所需的工作量,降低了對傳送網(wǎng)頁圖像的帶寬要求。網(wǎng)頁的更新,不降低相關(guān)原始圖像的質(zhì)量,也不需要對客戶端的操作作出任何改動。
文檔編號G06F17/30GK101201832SQ20061016948
公開日2008年6月18日 申請日期2006年12月15日 優(yōu)先權(quán)日2006年12月15日
發(fā)明者萌 葉, 興 方, 王慶波, 龍 程, 晟 陸 申請人:國際商業(yè)機器公司