專利名稱:服務(wù)器與客戶端之間柵格圖片適配方法
技術(shù)領(lǐng)域:
本發(fā)明涉Ai也圖服務(wù)領(lǐng)域,服務(wù)器向客戶端提供柵格圖片,尤指一種服務(wù)器與客戶端之間才冊(cè)格圖片適配方法。
背景技術(shù):
^i也圖月良務(wù)領(lǐng)域,月l務(wù)器用來(lái)為客戶端提供各種地圖信息,例如提^^立置信息、地片以及柵才各圖片等等信息。所必良務(wù)器包括各種類型的服務(wù)器,有些用來(lái)存儲(chǔ)地圖數(shù)據(jù),有些用^4^位置數(shù)據(jù),有些用^ft柵才各圖片,等等。所i^戶端包括各種裝載在汽車等移動(dòng)載體上的車載導(dǎo)航儀和手機(jī)等等。
用^#放柵格圖片的服務(wù)器,即向客戶端提供柵格地圖數(shù)據(jù)的服務(wù)器,通常來(lái)
講,都M用靜態(tài)適配方法來(lái)向客戶端發(fā)送柵格圖片的。也就是說(shuō),如^戶端請(qǐng)求服務(wù)器發(fā)送柵格圖片,月良務(wù)H4刻t5'J客戶端的發(fā)送請(qǐng)求后,都是將固定類型、固定大小、固M量的圖片發(fā)送給客戶端。對(duì)于任意一個(gè)客戶端,服務(wù)器所發(fā)送的圖片都是一樣的,即,月良務(wù)器為所有客戶端發(fā)送的柵格地圖數(shù)據(jù)的數(shù)據(jù)類型、大小和質(zhì)量都是相同的。
由上述可知,采用靜態(tài)適配方法傳送4冊(cè)沖各圖片存在下列缺陷首先,由于不同的終端可能擁有不同的分辨率。采用靜態(tài)適配方法傳送對(duì)冊(cè)格圖片返回的地片是固定大小的,不同分辨率的終端4t^整個(gè)屏幕需要的圖片數(shù)量是不同的。如果終端M—屏幕需要的圖片較多的話,每次地圖的移動(dòng)都可能需要
請(qǐng)求新的圖片,由于客戶端^i4^用的是http連接,建立連接獲得數(shù)據(jù)的時(shí)間比較
長(zhǎng),頻繁的、大量的數(shù)據(jù)請(qǐng)求必然占用過(guò)多的客戶端資源。
其次,由于不同的客戶端支持的可顯示最大色彩彰義不同的,同樣的真彩色圖片在色彩還原能力較差的終端上由于自身硬件的差異其顯示效果是不同的,與此同時(shí),由于高質(zhì)量的圖片凄t據(jù)量更大,如果終端不適合下載高質(zhì)量的圖片^^吏得用戶花費(fèi)了更多的流量費(fèi)用。
發(fā)明內(nèi)容
本發(fā)明要解決的問(wèn)^^提供一種占用資源少的服務(wù)器與客戶端之間柵格圖片適 配方法。
為了解決上述問(wèn)題,本發(fā)明服務(wù)器與客戶端之間柵才各圖片適配方法的技術(shù)方案
包括
客戶端確定當(dāng)前屏幕所需柵格圖片的哪些圖塊,所述柵格圖片是由若干圖塊構(gòu)
成的;
客戶端對(duì)所述圖塊進(jìn)行編碼;
客戶端根據(jù)所述編碼生成圖塊請(qǐng)求字符串;
客戶端將所述圖塊請(qǐng)求字符串和要請(qǐng)求的圖塊信息合成請(qǐng)求信息發(fā)送給服務(wù)
器;
月l務(wù)器接^^所述請(qǐng)求信息后對(duì)其進(jìn)行解碼以獲得所述圖塊的所述編碼和所述 圖塊信息;
月良務(wù)器根據(jù)所述編碼來(lái)獲得所述圖塊;
服務(wù)器根據(jù)所述圖塊信息對(duì)所述圖塊進(jìn)行類型和質(zhì)量轉(zhuǎn)換以獲得客戶端所需的 圖片;
服務(wù)器將所述圖片發(fā)給所^戶端。
其中,所述步架樣戶端確定當(dāng)前屏幕所需柵格圖片的哪些圖塊進(jìn)一步包括下述 步驟
確定當(dāng)前屏幕顯示的地圖的縮放級(jí)別;
確定當(dāng)前顯示的M;圖中心點(diǎn)的經(jīng)綿度坐標(biāo);
根據(jù)縮放級(jí)別和經(jīng)緯度坐標(biāo)計(jì)算出圖塊的像素坐標(biāo)。
與現(xiàn)有4支斜目比,本發(fā)明服務(wù)器與客戶端之間柵才各圖片適配方法的有益效果為
由于本發(fā)明月良務(wù)器與客戶端之間柵格圖片適配方法,客戶端將自己所需顯示的 圖塊以及類型、質(zhì)量等信息合成請(qǐng)求信息發(fā)送給服務(wù)器,服務(wù)器對(duì)所述請(qǐng)求信息進(jìn) 行解碼以獲得客戶端所需的圖片的^(言息,^服務(wù)器將客戶端所需的圖片發(fā)送給客
戶端。也就是說(shuō),服務(wù)器能夠根據(jù)不同客戶端的需求,對(duì)不同的客戶端發(fā)送滿足不 同客戶端需求的圖片,不會(huì)為客戶端發(fā)送其不需要的圖片,從而節(jié)約了客戶端的資 源,減少了客戶端的下載流量,降低了用戶的流量費(fèi)用。
圖1是本發(fā)明服務(wù)器與客戶端之間柵格圖片適配方法的i^呈圖; 圖2是客戶端確定當(dāng)前屏幕所需哪些圖塊的流程圖; 圖3是四3L^t編石馬為1320的圖片分割過(guò)程示意圖。
具體實(shí)施例方式
如圖l所示,本發(fā)明服務(wù)器與客戶端之間柵格圖片適配方法包括步驟 客戶端確定當(dāng)前屏幕所需柵格圖片的哪些圖塊,所述柵格圖片是由若干圖塊構(gòu) 成的;
客戶端對(duì)所述圖塊進(jìn)行編碼;
客戶端根據(jù)所述編碼生成圖塊請(qǐng)求字符串;
客戶端將所述圖塊請(qǐng)求字符串和要請(qǐng)求的圖塊信息合成請(qǐng)求信息發(fā)送給服務(wù)
器;
月良務(wù)器接4t^所述請(qǐng)求信息后對(duì)其進(jìn)行解碼以獲得所述圖塊的所述編碼和所述 圖塊信息;
服務(wù)器根據(jù)所述編碼來(lái)獲得所述圖塊;
月良務(wù)器根據(jù)所述圖塊信息對(duì)所述圖塊進(jìn)行類型和質(zhì)量轉(zhuǎn)換以獲得客戶端所需的 圖片;
月良務(wù)器將所述圖片發(fā)給所ii^戶端。
由上述可知,首n戶端確定其當(dāng)前屏幕都需要哪些圖塊,并乂于這些圖塊進(jìn)4亍 編碼,再根據(jù)這些編碼生成圖塊請(qǐng)求字符串,所述圖塊請(qǐng)求字符串力良務(wù)器可以識(shí) 別的,客戶端將所述圖塊請(qǐng)求字符串和要請(qǐng)求的圖塊信息合成請(qǐng)求信息發(fā)送給服務(wù) 器。也#^_說(shuō), 戶端發(fā)送給服務(wù)器的請(qǐng)求信息中包括客戶端當(dāng)前屏幕所需顯示 的圖塊信息(類型、大小、哪個(gè)圖塊等等),即月良務(wù)器上某個(gè)圖片的哪些圖塊,而不 是該圖片的所有圖塊。服務(wù)器接^ltJ'j所述請(qǐng)求信息后對(duì)其進(jìn)行解碼以獲得所述圖塊 的所述編碼和所述圖塊信息,再根據(jù)所述編碼來(lái)獲得所述圖塊,然后根據(jù)所述圖塊 信息對(duì)根據(jù)所述圖塊進(jìn)行類型和質(zhì)量轉(zhuǎn)換以獲得客戶端所需的圖片并將所述圖片發(fā) 給所錄戶端。
如圖2所示,步驟客戶端確定當(dāng)前屏幕所需哪些圖塊進(jìn)一步包括下述步驟 確定當(dāng)前屏幕顯示的地圖的縮放級(jí)別;一4棘講,首先默認(rèn)一個(gè)縮放級(jí)別,假
5設(shè)為10。每進(jìn)行一;i^文大操作,就將縮放級(jí)別加l;每進(jìn)行一次縮小操作就將縮放
級(jí)別減l。這樣,根據(jù)進(jìn)行了幾次縮放操作可以確定當(dāng)前的縮放級(jí)別。
確定當(dāng)前顯示的地圖中心點(diǎn)的經(jīng)絳度坐標(biāo);通常地,將地圖中心默認(rèn)為一個(gè)經(jīng) 煒度值。每次地圖平移沖剁乍都會(huì)改變經(jīng)綿度坐標(biāo)。根據(jù)變化的量和默認(rèn)的經(jīng)綿度值 即可獲得當(dāng)前經(jīng)綿度值。
根據(jù)縮放級(jí)別和經(jīng)煒度坐標(biāo)計(jì)算出圖塊的像素坐標(biāo)??衫肕ercator(墨卡托) 投影公式來(lái)計(jì)算。所述Mercator投影公i(^一種"等角正切圓柱投影",荷蘭地圖 學(xué)家墨卡托(Gerhardus Mercator 1512 - 1594)在1569年擬定,假設(shè)i4 扣波圍在一
中空的圓柱里,其標(biāo)準(zhǔn)綿線與圓4封目切接觸,然后刷艮想;4j求中心有一盞燈,4gj求
面上的圖形投影到圓柱體上,再把圓柱體展開(kāi),這就是一幅選定標(biāo)準(zhǔn)綿線上的"墨 卡4W殳影"^^'J出的地圖。墨卡4W殳影沒(méi)有角度變形,由每一點(diǎn)向各方向的長(zhǎng)度比 相等,它的經(jīng)煒線都是平行直線,勤目交成直角,經(jīng)線間隔相等,綿線間隔從標(biāo)準(zhǔn) 煒線向兩極逐漸增大。墨卡4W殳影的地圖上長(zhǎng)度和面積變形明顯,<^#準(zhǔn)綿線無(wú)變 形,從標(biāo)準(zhǔn)綿線向兩極變形i^斬增大,但因?yàn)樗哂蠱方向均等擴(kuò)大的特性,保 持了方向和相互位置關(guān)系的正確。在地圖上保持方向和角度的正確是墨卡4d更影的 優(yōu)點(diǎn)。
所述圖塊請(qǐng)求字符串可由純數(shù)字組成。數(shù)字的個(gè)數(shù)和圖片所在的縮放級(jí)別相
同,每個(gè)數(shù)字的取值范圍可為(K3,數(shù)字從左到右每位依次^4圖片在對(duì)應(yīng)的縮放 級(jí)別母圖片上的位置。
對(duì)圖塊的編碼方法可采用四叉樹(shù)編碼,如圖3所示,如果編碼是2位的則表示 對(duì)柵格圖片進(jìn)行2次分割,如果編碼是4位的則表示對(duì)才冊(cè)才各圖片進(jìn)行4次分割,也 就是說(shuō),沖艮據(jù)編碼的位數(shù)來(lái)確定分割的次數(shù),有/U立f汰示進(jìn)行幾次分割。假如服 務(wù)器解析后得到的四叉樹(shù)編碼請(qǐng)求信息是"1320",由于請(qǐng)求是四個(gè)數(shù)字組成的,代 表要對(duì)母圖片(柵格圖片)進(jìn)行四次切割才能得到需要的圖塊。首先服務(wù)器把原始 母圖片分為等大的四個(gè)圖片,左上的圖片用"圖片0"表示,右上的圖片用"圖片1" 表示,左下的圖片用"圖片2"表示,右下的圖片用"圖片3"表示(后面所有的圖 片分割時(shí)都采用此分割和標(biāo)識(shí)方式)。由于請(qǐng)求信息里面第一數(shù)字是'T,,代表要請(qǐng) 求的圖片在原始圖片的圖片l上,第二位數(shù)字是"3",說(shuō)明請(qǐng)求^/馬在圖片l的第 三個(gè)子圖片上,需要對(duì)圖片l按照上面的分割方法繼續(xù)分割。圖片1分割后同才玲 得到等大的四個(gè)圖片(分別標(biāo)識(shí)為"圖片10","圖片11","圖片12","圖片13")。
6由于請(qǐng)求信息的第三個(gè)數(shù)字是"2",前兩個(gè)數(shù)字"13", ^^4請(qǐng)求的圖片在圖片13 上,需要對(duì)圖片13繼續(xù)切割(切割后4尋到"圖片130","圖片131","圖片132",
"圖片133,,)。由于請(qǐng)求信息第四個(gè)凄丈字是"0",前三個(gè)數(shù)字是"132",說(shuō)明還要 對(duì)圖片132繼續(xù)ii^亍切割(切割后得到"圖片1320","圖片1321","圖片1322",
"圖片1323")。根據(jù)請(qǐng)求信息為"1320" 1科口到此為止已經(jīng)切割完畢,得到了所需 要的圖片(圖片1320)。
下面,假設(shè)一個(gè)客戶端的屏幕^l碎率為240x320,請(qǐng)求的圖塊大小為64 x 64, 顯示的地圖中心為北京市市中心,縮》文級(jí)別為IO的地圖,以此為例來(lái)詳細(xì)描述本發(fā) 明月良務(wù)器與客戶端之間4冊(cè)才各圖片適配方法的^支術(shù)方案
首先,客戶端確定當(dāng)前屏幕所需柵格圖片的哪些圖塊。要確定整個(gè)屏幕需要那 些圖塊,首先要計(jì)算出屏幕中心的像素坐標(biāo)。像素坐標(biāo)是根據(jù)屏幕中心的經(jīng)煒度坐 標(biāo)計(jì)^^尋來(lái)的。由于當(dāng)前屏幕的中心為北京市中心,所以經(jīng)度坐標(biāo)為39.9091,綿度 坐標(biāo)為116.39767。根據(jù)經(jīng)煒度坐標(biāo),用Mercator地圖才殳影公式可以計(jì)算出投影在 地圖上的像素坐標(biāo),計(jì)算得出的像素坐標(biāo)為(215850, 99329)。因?yàn)槠聊坏膶挾葹?240像素,高度為32(W象素,中心點(diǎn)坐標(biāo)為(215850, 99329),所以屏幕左上角的 像素坐標(biāo)為(215850-240/2, 99329-320/2),即(215730, 99169)。同理可以計(jì)## 出屏幕右下角的像素坐標(biāo)為(215970, 99489)。由于圖塊的大小已知(64 x 64 ), 那么像素坐標(biāo)除以圖塊的寬度可以得到屏幕左上角和右下角的點(diǎn)在服務(wù)器上的圖片 上的圖塊坐標(biāo)(棚良務(wù)器上的圖片以請(qǐng)求圖塊的寬度,即以64像素為一個(gè)^(立分 割)。左上角的點(diǎn)的圖塊坐標(biāo)為(215730/64, 99169/64),即(3370, 1549)。右下 角的點(diǎn)的圖塊坐標(biāo)為(215970/64, 99489/64),即(3374, 1554)。因?yàn)樽笊辖堑膱D 塊對(duì)黃坐標(biāo)為3370,右下的為3374,所以屏幕橫向需要五塊圖塊才fetA全屏(橫坐 標(biāo)分別為3370, 3371, 3372, 3373, 3374)。同理,縱向需要六塊圖塊才f&t^全 屏(縱坐標(biāo)分別為1549, 1550, 1551, 1552, 1553, 1554)。所以整個(gè)屏幕一共需 要5 x 6,即30塊圖塊(4巴上面的每個(gè)橫坐標(biāo)依次與縱坐標(biāo)組合就可以得到這30塊 圖塊每塊的坐標(biāo)值,在此不一一列舉)。到此,屏幕需要哪些圖塊就計(jì)算完畢了。
下面,根據(jù)得到的圖塊坐標(biāo)對(duì)每個(gè)圖塊進(jìn)行編碼。知ii^幕都需要那些圖塊后 就可以對(duì)它們進(jìn)行編碼了 。編碼的目的是告訴服務(wù)器此圖塊在服務(wù)器上如何分割才 能得到。此編碼為服務(wù)器四叉樹(shù)解碼的逆運(yùn)算,編碼需要的^lt為圖塊的圖塊坐標(biāo) 和當(dāng)前縮放,得到的結(jié)果為一個(gè)數(shù)字組成的字符串?,F(xiàn)以步驟一中得到的30塊圖塊的一塊(3370, 1549)為例,編碼后4尋到的結(jié)果為2100103212。同理可以得到其^也 29個(gè)圖塊的編碼結(jié)果。
然后,將得到的編碼結(jié)果和其他的附力o信息組合成最終的請(qǐng)求。這里指的附加 信息包括客戶端終端的型號(hào),請(qǐng)求圖塊的格式和質(zhì)量以及圖塊的大小等。得到的結(jié) 果為http:〃服務(wù)器的域名或者IP地址/ac=Nokia 6600&ua=pngTest-16&sl=2&g=2100103212; 2100103213; 2100103214;......;其中
ac=Nokia 660(H樣終端的型號(hào)為Nokia 6600。 ua=pngTest-16 ^4請(qǐng)求的圖塊的格 式為PNG,質(zhì)量為16位色圖片。sl=2 ^C表圖塊的大小為原始圖片的2的-2次方大 小,這里原圖的大小為256 x 256,所以sl=2 ^C4請(qǐng)求的圖塊為256 x 0.25即64 x 64大小。g=2100103212;2100103213; 2100103214; ......^4本次請(qǐng)求的圖塊是哪些。
月艮務(wù)^^ti'J客戶端發(fā)送過(guò)來(lái)的請(qǐng)求后首先要解析此請(qǐng)求。解析后服務(wù)器可以 得到客戶端需要圖塊的大小,質(zhì)量,圖塊位置等信息。因?yàn)榇死恼?qǐng)求中包含30 個(gè)圖塊,服務(wù)器皿次對(duì)原圖進(jìn)行分割,得到此30個(gè)圖塊(分割過(guò)程與上面以1320 為例的四叉樹(shù)分割過(guò)禾封目同)。分割完畢后服務(wù)器還需要根據(jù)客戶端請(qǐng)求的圖塊格 式以M量要i^于分割所得的圖片進(jìn)行后期處理,得到滿足要求的圖塊(此例中要 把圖片轉(zhuǎn)換成PNG格式,16位色)。
當(dāng)月良務(wù)器才e^戶端請(qǐng)求的所有圖塊都分割并處理完g就可以4<據(jù)返回給客 戶端了 。在此服務(wù)器根據(jù)客戶端請(qǐng)求信息里圖片的排列;M依次把30個(gè)圖塊用二進(jìn) 制*據(jù)流的形式傳輸給客戶端。客戶端接受到數(shù)據(jù)后就可以還原成圖片顯示在屏幕 上了。
綜上所述,本服務(wù)器與客戶端之間柵格圖片適配方法的優(yōu)點(diǎn)是 由于客戶端將自己所需顯示的圖塊以及類型、質(zhì)量等信息合成請(qǐng)求信息發(fā)送給 月良務(wù)器,月l務(wù)器對(duì)所述請(qǐng)求信息進(jìn)行解碼以獲得客戶端所需的圖片的信息,g服 務(wù)器將客戶端所需的圖片發(fā)it^客戶端。也就是說(shuō),月l務(wù)器能夠根據(jù)不同客戶端的 需求,對(duì)不同的客戶端發(fā)送滿足不同客戶端需求的圖片,不會(huì)為客戶端發(fā)送其不需 要的圖片,從而節(jié)約了客戶端的資源,減少了客戶端的下載流量,降低了用戶的流
量費(fèi)用。
8
權(quán)利要求
1、一種服務(wù)器與客戶端之間柵格圖片適配方法,其特征在于,包括步驟客戶端確定當(dāng)前屏幕所需柵格圖片的哪些圖塊,所述柵格圖片是由若干圖塊構(gòu)成的;客戶端對(duì)所述圖塊進(jìn)行編碼;客戶端根據(jù)所述編碼生成圖塊請(qǐng)求字符串;客戶端將所述圖塊請(qǐng)求字符串和要請(qǐng)求的圖塊信息合成請(qǐng)求信息發(fā)送給服務(wù)器;服務(wù)器接收到所述請(qǐng)求信息后對(duì)其進(jìn)行解碼以獲得所述圖塊的所述編碼和所述圖塊信息;服務(wù)器根據(jù)所述編碼來(lái)獲得所述圖塊;服務(wù)器根據(jù)所述圖塊信息對(duì)所述圖塊進(jìn)行類型和質(zhì)量轉(zhuǎn)換以獲得客戶端所需的圖片;服務(wù)器將所述圖片發(fā)給所述客戶端。
2、 如權(quán)利要求1所述的月良務(wù)器與客戶端之間柵格圖片適配方法,其特4i^于, 步艱樣戶端確定當(dāng)前屏幕所需柵格圖片的哪些圖塊進(jìn)一步包括下述步驟確定當(dāng)前屏幕顯示的地圖的縮放級(jí)別; 確定當(dāng)前顯示的地圖中心點(diǎn)的經(jīng)煒度坐標(biāo); 根據(jù)縮放級(jí)別和經(jīng)綿度坐標(biāo)計(jì)算出圖塊的像素坐標(biāo)。
全文摘要
本發(fā)明公開(kāi)一種服務(wù)器與客戶端之間柵格圖片適配方法,包括客戶端確定當(dāng)前屏幕所需柵格圖片的哪些圖塊,所述柵格圖片是由若干圖塊構(gòu)成的;客戶端對(duì)所述圖塊進(jìn)行編碼;客戶端根據(jù)所述編碼生成圖塊請(qǐng)求字符串;客戶端將所述圖塊請(qǐng)求字符串和要請(qǐng)求的圖塊信息合成請(qǐng)求信息發(fā)送給服務(wù)器;服務(wù)器接收到所述請(qǐng)求信息后對(duì)其進(jìn)行解碼以獲得所述圖塊的所述編碼和所述圖塊信息;服務(wù)器根據(jù)所述編碼來(lái)獲得所述圖塊;服務(wù)器根據(jù)所述圖塊信息對(duì)所述圖塊進(jìn)行類型和質(zhì)量轉(zhuǎn)換以獲得客戶端所需的圖片;服務(wù)器將所述圖片發(fā)給所述客戶端。因此,采用本發(fā)明服務(wù)器與客戶端之間柵格圖片適配方法所占用的資源少。
文檔編號(hào)H04L12/18GK101465747SQ20071030151
公開(kāi)日2009年6月24日 申請(qǐng)日期2007年12月21日 優(yōu)先權(quán)日2007年12月21日
發(fā)明者沖 張 申請(qǐng)人:高德軟件有限公司