專利名稱:遠(yuǎn)程桌面圖像傳輸方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及遠(yuǎn)程桌面技術(shù)領(lǐng)域,尤其涉及一種遠(yuǎn)程桌面圖像傳輸方法及系統(tǒng)。
背景技術(shù):
遠(yuǎn)程桌面技術(shù)需要將遠(yuǎn)程被控制端的圖像傳輸?shù)娇刂贫?,因圖像數(shù)據(jù)量較大,占用較多帶寬,因此遠(yuǎn)程桌面?zhèn)鬏敂?shù)據(jù)的優(yōu)化成為遠(yuǎn)程桌面的一項(xiàng)核心技術(shù)?,F(xiàn)有技術(shù)的遠(yuǎn)程桌面圖像傳輸?shù)膬?yōu)化技術(shù)主要有①將當(dāng)前的桌面圖像與前一幀做邏輯異或運(yùn)算,從而找到?jīng)]有變化的像素和發(fā)生變化的像素,再將沒有發(fā)生變化的像素
經(jīng)過無損壓縮算法進(jìn)行壓縮。該技術(shù)只能壓縮同行相鄰列存在的未變化圖像,壓縮不了跨行的塊狀出現(xiàn)的未變化圖像區(qū)域,壓縮率不高;②將桌面圖像切分成固定大小的圖像塊,并比較各個(gè)圖像塊相對(duì)前一幀有無變化。對(duì)變化的圖像塊采用壓縮算法進(jìn)行壓縮,然后與未變化圖像塊的描述信息一起封裝后傳輸。該技術(shù)切分圖像塊的合理數(shù)目難以確定,過多的圖像塊和過少的圖像塊都不能取得較好的效果;存在壓縮效果依賴于圖像分塊數(shù)目而分塊數(shù)目又難以設(shè)定的缺陷。③利用操作系統(tǒng)的⑶〖(Graphical User Interface,圖形用戶界面)繪圖指令實(shí)現(xiàn)桌面圖像傳輸。該技術(shù)需要依靠操作系統(tǒng)平臺(tái)的支持,如在不同操作系統(tǒng)之間實(shí)現(xiàn),需要第三方軟件支持,其通用性不強(qiáng)。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種遠(yuǎn)程桌面圖像傳輸方法及系統(tǒng),旨在獲取更好的優(yōu)化效果。本發(fā)明公開了一種遠(yuǎn)程桌面圖像傳輸方法,包括以下步驟步驟S01、壓縮端根據(jù)分塊規(guī)則將桌面圖像的當(dāng)前幀進(jìn)行分塊,并建立分層索引,根據(jù)所述分層索引,檢測(cè)所述當(dāng)前幀的圖像塊相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,將所述變化圖像塊壓縮后與所述未變化圖像塊的標(biāo)簽一起封裝得到圖像數(shù)據(jù),并將所述圖像數(shù)據(jù)發(fā)送給解壓端;步驟S02、所述解壓端接收所述圖像數(shù)據(jù)后,根據(jù)所述分塊規(guī)則區(qū)分所述圖像數(shù)據(jù)中對(duì)應(yīng)的所述變化圖像塊及未變化圖像塊的標(biāo)簽后,將所述圖像數(shù)據(jù)恢復(fù)為對(duì)應(yīng)的圖像塊;合并所述圖像塊,顯示所述桌面圖像。優(yōu)選地,所述步驟SOl具體包括以下步驟根據(jù)所述分塊規(guī)則,將所述桌面圖像的當(dāng)前幀切分為若干所述圖像塊;根據(jù)所述圖像塊生成圖像指紋,并建立所述圖像塊的分層索引;利用所述圖像指紋和分層索引,由頂層索引開始逐層搜索并判斷所述圖像塊是否能夠在所述圖像塊緩存中找到;若否,則所述圖像塊為變化圖像塊,將所述變化圖像塊進(jìn)行壓縮,得到壓縮數(shù)據(jù);若是,則所述圖像塊為未變化圖像塊,記錄所述未變化圖像塊的圖像標(biāo)簽;封裝所述壓縮數(shù)據(jù)及所述圖像標(biāo)簽,獲取封裝后的所述圖像數(shù)據(jù)并將所述圖像數(shù)據(jù)發(fā)送給所述解壓端。優(yōu)選地,所述步驟S02具體包括以下步驟接收所述壓縮端發(fā)送的所述圖像數(shù)據(jù)后,根據(jù)所述分塊規(guī)則區(qū)分所述壓縮數(shù)據(jù)及所述圖像標(biāo)簽;根據(jù)所述分層索引和所述圖像標(biāo)簽恢復(fù)所述未變化圖像塊,并解壓所述壓縮數(shù)據(jù)恢復(fù)所述變化圖像塊;合并所述變化圖像塊及未變化圖像塊,顯示所述桌面圖像,同時(shí)緩存所述分塊結(jié)果和所述分層索引。優(yōu)選地,所述分層索引采用層次化的索引項(xiàng)對(duì)所述圖像塊進(jìn)行組織,所述索引項(xiàng)
層次的由低到高分別代表所述圖像塊的由小到大,且最頂層的所述索引項(xiàng)代表整個(gè)所述圖像塊。優(yōu)選地,所述分塊規(guī)則在所述壓縮端和所述解壓端保持同步且可根據(jù)具體應(yīng)用場(chǎng)景進(jìn)行切換;所述分塊規(guī)則包括采用圖像邊緣檢測(cè)及邊緣補(bǔ)償進(jìn)行不定長(zhǎng)圖像分塊。優(yōu)選地,所述分塊規(guī)則根據(jù)具體應(yīng)用場(chǎng)景進(jìn)行切換的步驟具體包括利用緩存的所述分塊結(jié)果和分層索引,檢測(cè)所述當(dāng)前幀相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,并將檢測(cè)結(jié)果進(jìn)行傳輸;判斷遠(yuǎn)程桌面連接是否終止;若否,則收集當(dāng)前圖像信息并判斷當(dāng)前場(chǎng)景是否滿足分塊規(guī)則切換條件;若滿足,則根據(jù)所述當(dāng)前圖像信息,切換為新分塊規(guī)則;利用所述新分塊規(guī)則對(duì)所述當(dāng)前幀進(jìn)行分塊,并替換現(xiàn)有的所述分塊結(jié)果和分層索引。本發(fā)明還公開一種遠(yuǎn)程桌面圖像傳輸系統(tǒng),包括壓縮端,用于根據(jù)所述分塊規(guī)則將桌面圖像的當(dāng)前幀進(jìn)行分塊,并建立分層索引,根據(jù)所述分層索引,檢測(cè)所述當(dāng)前幀的圖像塊相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,將所述變化圖像塊壓縮后與所述未變化圖像塊的標(biāo)簽一起封裝得到圖像數(shù)據(jù),并將所述圖像數(shù)據(jù)發(fā)送給解壓端;所述解壓端,用于接收所述圖像數(shù)據(jù)后,根據(jù)所述分塊規(guī)則,區(qū)分所述圖像數(shù)據(jù)中對(duì)應(yīng)的所述變化圖像塊及未變化圖像塊的標(biāo)簽后,將所述圖像數(shù)據(jù)恢復(fù)為對(duì)應(yīng)的圖像塊;合并所述圖像塊,顯示所述桌面圖像。優(yōu)選地,所述壓縮端具體包括圖像分塊模塊,用于根據(jù)所述分塊規(guī)則,將所述桌面圖像的當(dāng)前幀切分為若干圖像塊;分層索引建立模塊,用于根據(jù)所述圖像塊生成圖像指紋,并建立所述圖像塊的分層索引;圖像變化識(shí)別模塊,用于利用所述圖像指紋和分層索引,由頂層索引開始逐層搜索并判斷所述圖像塊是否能夠在所述圖像塊緩存中找到;若是,則所述圖像塊為未變化圖像塊;若否,則所述圖像塊為變化圖像塊;圖像處理模塊,用于在所述圖像塊為變化圖像塊時(shí),將所述變化圖像塊進(jìn)行壓縮,得到壓縮數(shù)據(jù);在所述圖像塊為未發(fā)生圖像塊時(shí),記錄所述未變化圖像塊的圖像標(biāo)簽;
圖像數(shù)據(jù)輸出模塊,用于封裝所述壓縮數(shù)據(jù)及所述圖像標(biāo)簽,獲取封裝后的所述圖像數(shù)據(jù)并將所述圖像數(shù)據(jù)發(fā)送給所述解壓端。優(yōu)選地,所述解壓端具體包括圖像區(qū)分模塊,用于接收所述壓縮端發(fā)送的所述圖像數(shù)據(jù)后,根據(jù)所述分塊規(guī)則區(qū)分所述壓縮數(shù)據(jù)及所述圖像標(biāo)簽;圖像恢復(fù)模塊,用于根據(jù)所述分層索引和所述圖像標(biāo)簽恢復(fù)所述未變化圖像塊,并解壓所述壓縮數(shù)據(jù)恢復(fù)所述變化圖像塊;圖像顯示模塊,用于合并所述變化圖像塊及未變化圖像塊,顯示所述桌面圖像,同時(shí)緩存所述分塊結(jié)果和所述分層索引。優(yōu)選地,所述分層索引采用層次化的索引項(xiàng)對(duì)所述圖像塊進(jìn)行組織,所述索引項(xiàng)
層次的由低到高分別代表所述圖像塊的由小到大,且最頂層的所述索引項(xiàng)代表整個(gè)所述圖像塊。 優(yōu)選地,所述壓縮端還包括分塊規(guī)則設(shè)置模塊,用于在所述壓縮端和所述解壓端保持所述分塊規(guī)則同步且可根據(jù)具體應(yīng)用場(chǎng)景切換所述分塊規(guī)則;所述分塊規(guī)則包括采用圖像邊緣檢測(cè)及邊緣補(bǔ)償進(jìn)行不定長(zhǎng)圖像分塊。優(yōu)選地,所述分塊規(guī)則設(shè)置模塊具體包括圖像塊檢測(cè)單元,用于利用緩存的所述分塊結(jié)果和分層索引,檢測(cè)所述當(dāng)前幀相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,并將檢測(cè)結(jié)果進(jìn)行傳輸;圖像信息收集單元,用于判斷遠(yuǎn)程桌面連接是否終止,且在所述遠(yuǎn)程桌面連接未終止時(shí),收集當(dāng)前圖像信息并判斷當(dāng)前場(chǎng)景是否滿足分塊規(guī)則切換條件;分塊規(guī)則切換單元,用于在當(dāng)前場(chǎng)景滿足分塊規(guī)則切換條件時(shí),根據(jù)所述當(dāng)前圖像信息,切換為新分塊規(guī)則;分層索引替換單元,用于利用所述新分塊規(guī)則對(duì)所述當(dāng)前幀進(jìn)行分塊,并替換現(xiàn)有的所述分塊結(jié)果和分層索引。本發(fā)明通過在壓縮端根據(jù)分塊規(guī)則將桌面圖像切分為若干圖像塊,檢測(cè)當(dāng)前幀的圖像塊相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,并對(duì)圖像塊進(jìn)行相應(yīng)處理后發(fā)送給解壓端;解壓端從接收的圖像數(shù)據(jù)中區(qū)分變化圖像塊及未變化圖像塊,并將圖像數(shù)據(jù)恢復(fù)為對(duì)應(yīng)的圖像塊,將恢復(fù)的圖像塊合并后顯示該桌面圖像且整個(gè)過程壓縮端和解壓端保持分塊規(guī)則同步的方法,具有降低傳輸數(shù)據(jù)量、提高圖像壓縮率的有益效果,提高了系統(tǒng)性能,提升了用戶體驗(yàn),獲得了更好的遠(yuǎn)程桌面圖像傳輸?shù)膬?yōu)化效果。
圖I是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法一實(shí)施例流程示意圖;圖2是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述壓縮端圖像處理框架示意圖;圖3是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述解壓端圖像處理框架示意圖;圖4是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述壓縮端圖像處理一實(shí)施例流程示意圖;圖5是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中圖像分塊一實(shí)施例窗口示意圖6是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述桌面圖像分層索引一實(shí)施例窗口示意圖;圖7是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中識(shí)別發(fā)生變化圖像塊一實(shí)施例結(jié)構(gòu)示意圖;圖8是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述分層索引一實(shí)施例結(jié)構(gòu)示意圖;圖9是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中解壓端圖像處理一實(shí)施例流程示意圖;圖10是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述分塊規(guī)則根據(jù)具體應(yīng)用場(chǎng)景進(jìn)行切換一實(shí)施例流程示意圖;圖11是本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)一實(shí)施例結(jié)構(gòu)示意圖;圖12是本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)中所述壓縮端第一實(shí)施例結(jié)構(gòu)示意圖;圖13是本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)中所述解壓端一實(shí)施例結(jié)構(gòu)示意圖;圖14是本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)中所述壓縮端第二實(shí)施例結(jié)構(gòu)示意圖;圖15是本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)中所述分塊規(guī)則設(shè)置模塊一實(shí)施例結(jié)構(gòu)示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施例方式以下結(jié)合說明書附圖及具體實(shí)施例進(jìn)一步說明本發(fā)明的技術(shù)方案。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實(shí)施例中所述的遠(yuǎn)程桌面是一種圖形化的遠(yuǎn)程接入技術(shù),可以使得用戶遠(yuǎn)程操縱網(wǎng)絡(luò)另一端的計(jì)算機(jī),被控制端的桌面圖像會(huì)顯示在用戶的顯示設(shè)備上,令用戶獲得操作本地設(shè)備一樣的體驗(yàn);對(duì)應(yīng)的在一優(yōu)選的實(shí)施例中,壓縮端即為遠(yuǎn)程網(wǎng)絡(luò)被控制的計(jì)算機(jī),解壓端即為在用戶端顯示的計(jì)算機(jī)。后續(xù)實(shí)施例對(duì)遠(yuǎn)程桌面、壓縮端及解壓端的含義不再贅述。參照?qǐng)D1,圖I是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法一實(shí)施例流程示意圖;如圖I所示,本發(fā)明遠(yuǎn)程桌面圖像傳輸方法包括以下步驟步驟S01、壓縮端根據(jù)分塊規(guī)則將桌面圖像的當(dāng)前幀進(jìn)行分塊,并建立分層索引,根據(jù)分層索引,檢測(cè)所述當(dāng)前幀的圖像塊相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,將所述變化圖像塊壓縮后與所述未變化圖像塊的標(biāo)簽一起封裝得到圖像數(shù)據(jù),并將所述圖像數(shù)據(jù)發(fā)送給解壓端;參照?qǐng)D2,圖2是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述壓縮端圖像處理框架示意圖;如圖2所示,壓縮端首先根據(jù)一定的分塊規(guī)則,將當(dāng)前桌面圖像切分為若干圖像塊,并建立分層索引;根據(jù)所述分層索引檢測(cè)當(dāng)前幀的圖像塊相對(duì)圖像塊緩存的變化圖像塊以及未變化圖像塊。所述圖像塊緩存保存有近期出現(xiàn)的圖像塊,可追溯至前N幀出現(xiàn)過的圖像塊,所述圖像塊緩存在壓縮端和解壓端保持同步;所述N值可根據(jù)具體情況進(jìn)行設(shè)置,N為大于I的正整數(shù)。所述變化圖像塊及未變化圖像塊的定義是根據(jù)所述分層索引,檢測(cè)當(dāng)前幀的圖像塊是否能夠在圖像塊緩存中找到;若是,則定義當(dāng)前幀在圖像塊緩存中找到的圖像塊為未變化圖像塊;若否,則定義當(dāng)前幀在圖像塊緩存中未找到的圖像塊為變化圖像塊。本發(fā)明下述實(shí)施例所述的變化圖像塊及未變化圖像塊均采用上述定義方法,后續(xù)將不再贅述。
對(duì)于變化的圖像塊將通過壓縮模塊進(jìn)行壓縮,并將壓縮后數(shù)據(jù)與未變化的圖像塊標(biāo)簽按一定格式進(jìn)行封裝,形成最終的輸出數(shù)據(jù)傳輸給解壓端。在一優(yōu)選的實(shí)施例中,所述分塊規(guī)則在所述壓縮端和所述解壓端保持同步且可根據(jù)具體應(yīng)用場(chǎng)景進(jìn)行切換,所述分塊規(guī)則包括采用圖像邊緣檢測(cè)及邊緣補(bǔ)償進(jìn)行不定長(zhǎng)圖像分塊;所述分層索引采用層次化的索引項(xiàng)對(duì)所述圖像塊進(jìn)行組織,低層次索引表示較小的圖像塊,多個(gè)低層次索引將被合并到高層次索引中,使得高層次索引可以表示更大的圖像分塊,且最頂層的所述索引項(xiàng)代表整個(gè)所述圖像塊。步驟S02、所述解壓端接收所述圖像數(shù)據(jù)后,根據(jù)所述分塊規(guī)則區(qū)分所述圖像數(shù)據(jù)中對(duì)應(yīng)的所述變化圖像塊及未變化圖像塊的標(biāo)簽后,將所述圖像數(shù)據(jù)恢復(fù)為對(duì)應(yīng)的圖像塊;合并所述圖像塊,顯示所述桌面圖像。參照?qǐng)D3,圖3是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述解壓端圖像處理框架示意圖;如圖3所示,解壓端接收到壓縮端發(fā)送的圖像數(shù)據(jù)后,根據(jù)上述分塊規(guī)則首先區(qū)分出未
變化圖像塊的圖像標(biāo)簽和變化圖像塊的壓縮數(shù)據(jù);然后,利用該圖像標(biāo)簽和分層索引將未變化的圖像塊進(jìn)行恢復(fù),并利用解壓端的相關(guān)解壓模塊將變化圖像塊對(duì)應(yīng)的壓縮數(shù)據(jù)進(jìn)行解壓;最后,合并未變化圖像塊和變化圖像塊,顯示最終的桌面圖像。同時(shí),將本次使用的分層索引和分塊結(jié)果進(jìn)行緩存。本實(shí)施例通過在壓縮端將桌面圖像切分為若干圖像塊,并構(gòu)建分層索引,利用分層索引檢測(cè)當(dāng)前幀的圖像塊相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,將所述變化圖像塊壓縮后與所述未變化圖像塊的標(biāo)簽一起封裝得到圖像數(shù)據(jù),并將所述圖像數(shù)據(jù)發(fā)送給解壓端;解壓端區(qū)分變化圖像塊及未變化圖像塊,并將圖像數(shù)據(jù)恢復(fù)為對(duì)應(yīng)的圖像塊,將上述圖像塊合并后顯示桌面圖像且整個(gè)過程壓縮端和解壓端保持分塊規(guī)則同步的方法,具有優(yōu)化遠(yuǎn)程桌面圖像傳輸?shù)挠幸嫘Ч?,降低了傳輸?shù)據(jù)量,提高了圖像壓縮率。參照?qǐng)D4,圖4是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述壓縮端圖像處理一實(shí)施例流程示意圖;如圖4所示,本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中,壓縮端進(jìn)行圖像處理包括以下步驟步驟S11、根據(jù)所述分塊規(guī)則,將所述桌面圖像的當(dāng)前幀切分為若干所述圖像塊;按照分塊規(guī)則,將桌面圖像的當(dāng)前幀切分為若干個(gè)圖像塊。其中,分塊技術(shù)可以是網(wǎng)格劃分方案也可以是不定長(zhǎng)劃分或者兩者的混合分塊方案,而不限于特定的分塊規(guī)則。參照?qǐng)D5,圖5是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中圖像分塊一實(shí)施例窗口示意圖;如圖5a所示為采用網(wǎng)格劃分方案將桌面圖像的當(dāng)前幀進(jìn)行分塊,如圖5b所示為采用不定長(zhǎng)圖像分塊將桌面圖像的當(dāng)前幀進(jìn)行分塊。本發(fā)明實(shí)施例所述的分塊規(guī)則包括針對(duì)桌面窗體特征的圖像分塊技術(shù)。采用桌面窗體特征的圖像分塊技術(shù)進(jìn)行圖像分塊處理的步驟為采用圖像邊緣檢測(cè)技術(shù),提取出窗體邊緣;采用直線檢測(cè)技術(shù),檢測(cè)出窗體的大致框架;利用邊緣的補(bǔ)償技術(shù),修復(fù)因少部分邊緣缺失造成的不連續(xù)窗體邊緣;所述的圖像邊緣檢測(cè)是一種圖像的特征提取技術(shù),可以檢測(cè)出圖像中變化明顯的點(diǎn),可以根據(jù)檢測(cè)到的該圖像中變化明顯的點(diǎn)作為圖像分割的依據(jù)。直線檢測(cè)是一種識(shí)別圖像中直線的技術(shù)。結(jié)合圖像邊緣檢測(cè)和直線檢測(cè)技術(shù)對(duì)窗體進(jìn)行識(shí)別,并作為圖像分塊的依據(jù),主要是考慮到計(jì)算機(jī)圖形用戶界面的窗體多數(shù)呈矩形形式?;诖绑w特征的分塊技術(shù)的分塊規(guī)則可以更精確的檢測(cè)出當(dāng)前正在變化的窗體(如用戶正在輸入字符的輸入框)和靜態(tài)的未變化窗體,從而獲得更好的未變化圖塊檢測(cè)結(jié)果。步驟S12、根據(jù)所述圖像塊生成圖像指紋,并建立所述圖像塊的分層索引;根據(jù)上述圖像塊生成圖像指紋,圖像指紋有多種用途,比如定位圖像塊的存儲(chǔ)位置和檢驗(yàn)圖像塊有無變化等。對(duì)分割出的圖像塊建立分層索引,上層索引將比下層索引表示更多的圖像塊,最終頂層的索引將表示整塊圖像。分層索引的效果請(qǐng)參照?qǐng)D6,圖6是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述桌面圖像分層索引一實(shí)施例窗口示意圖;如圖6所示,分層索引采用層次化的索引項(xiàng)對(duì)所述圖像塊進(jìn)行組織,索引項(xiàng)層次的由低到高分別代表所述圖像塊的由小到大;低層次的索引項(xiàng)表示較小的圖像塊,多個(gè)低層次的索引項(xiàng)將被合并到高層次索引中,使得高層次的索引項(xiàng)可以表示更大的圖像塊,最終頂層的索引項(xiàng)將表示整個(gè)圖像塊。步驟S13、利用所述圖像指紋和分層索引,由頂層索引開始逐層搜索并判斷所述
圖像塊是否能夠在所述圖像塊緩存中找到;若否,則所述圖像塊為變化圖像塊,執(zhí)行步驟S14 ;若是,則所述圖像塊為未變化圖像塊,執(zhí)行步驟S15 ;步驟S14、將所述變化圖像塊進(jìn)行壓縮,得到壓縮數(shù)據(jù);步驟S15、記錄所述未變化圖像塊的圖像標(biāo)簽;利用圖像分塊和分層索引技術(shù),由頂層索引開始逐層搜索,判斷搜索的當(dāng)前幀的圖像塊是否能夠在所述圖像塊緩存中找到。若搜索的圖像塊不能在圖像塊緩存中找到,說明該圖像塊為變化圖像塊,則將該變化圖像塊進(jìn)行壓縮,獲取壓縮數(shù)據(jù);若搜索的圖像塊能夠在圖像塊緩存中找到,說明該圖像塊為未變化圖像塊,則記錄所述未變化圖像塊的圖像標(biāo)簽。所述圖像標(biāo)簽為所述圖像塊的唯一標(biāo)識(shí),每一個(gè)圖像塊分別對(duì)應(yīng)一個(gè)不同的圖像標(biāo)簽。檢測(cè)變化圖像塊的示例如圖7和圖8所示,圖7是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中識(shí)別發(fā)生變化圖像塊一實(shí)施例結(jié)構(gòu)示意圖;圖8是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述分層索引一實(shí)施例結(jié)構(gòu)示意圖;如圖7和圖8所示,發(fā)生變化的圖像塊用黑色圖像塊表示,白色圖像塊為未發(fā)生變化的圖像塊。具體地,在一優(yōu)選的實(shí)施例中,如圖8所示,發(fā)現(xiàn)的變化圖像塊為“1-1”、“1-2”、“1-3”、“2-3”、“2-4”,而未變化的圖像塊為“1-4”和“2-2”,因此傳輸?shù)臄?shù)據(jù)為圖像塊“1-4”和“2-2”在圖像塊緩存中的標(biāo)簽以及經(jīng)過壓縮后的變化圖像塊。隨著數(shù)據(jù)量規(guī)模增大,本方案采用分層索引的高壓縮率優(yōu)勢(shì)將更加明顯。步驟S16、封裝所述壓縮數(shù)據(jù)及所述圖像標(biāo)簽,獲取封裝后的所述圖像數(shù)據(jù)并將所述圖像數(shù)據(jù)發(fā)送給所述解壓端。通過壓縮算法將發(fā)生變化的圖像塊進(jìn)行壓縮后,與未變化的圖像塊標(biāo)簽一起封裝得到總的圖像數(shù)據(jù),將該圖像數(shù)據(jù)輸出給解壓端。本實(shí)施例通過在壓縮端利用分塊規(guī)則將桌面圖像切分為若干圖像塊,利用構(gòu)建的分層索引檢測(cè)當(dāng)前幀的變化圖像塊和未變化圖像塊,并對(duì)圖像塊進(jìn)行相應(yīng)處理后發(fā)送給解壓端的方法,具有明顯減少數(shù)據(jù)傳輸量的有益效果。參照?qǐng)D9,圖9是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中解壓端圖像處理一實(shí)施例流程示意圖;如圖9所示,本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中解壓端圖像處理包括以下步驟步驟S21、接收所述壓縮端發(fā)送的所述圖像數(shù)據(jù)后,根據(jù)所述分塊規(guī)則區(qū)分所述壓縮數(shù)據(jù)及所述圖像標(biāo)簽;
在解壓端所采用的分塊規(guī)則與壓縮端的分塊規(guī)則一致,在本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中,分塊規(guī)則在解壓端與壓縮端保持同步;為了讓解壓端明確當(dāng)前使用的分塊規(guī)則,壓縮端將當(dāng)前分塊規(guī)則對(duì)應(yīng)的標(biāo)號(hào)放置在壓縮數(shù)據(jù)的頭部傳輸給解壓端。解壓端接收到壓縮端發(fā)送的圖像數(shù)據(jù)后,利用當(dāng)前的分塊結(jié)果和分層索引區(qū)分圖像數(shù)據(jù)中的壓縮數(shù)據(jù)和圖像標(biāo)簽。步驟S22、根據(jù)所述分層索引和所述圖像標(biāo)簽恢復(fù)所述未變化圖像塊,并解壓所述壓縮數(shù)據(jù)恢復(fù)所述變化圖像塊;根據(jù)分層索引和圖像標(biāo)簽,將圖像數(shù)據(jù)中對(duì)應(yīng)的未變化圖像塊的圖像數(shù)據(jù)恢復(fù)為未變化圖像塊,將圖像數(shù)據(jù)中的壓縮數(shù)據(jù)恢復(fù)為對(duì)應(yīng)的變化圖像塊。由于解壓端的分塊規(guī)則和分層索引與壓縮端保持同步,因此,相同的分塊規(guī)則對(duì)相同圖像幀的分塊結(jié)果一定是一致的,則根據(jù)相同的分塊規(guī)則恢復(fù)的圖像塊也肯定是正確的。步驟S23、合并所述變化圖像塊及未變化圖像塊,顯示所述桌面圖像,同時(shí)緩存所述分塊結(jié)果和所述分層索引。將變化圖像塊和未變化圖像塊進(jìn)行合并,且在用戶端將遠(yuǎn)程桌面?zhèn)鬏數(shù)淖烂鎴D像顯示出來;同時(shí),將本次分塊結(jié)果和分層索引進(jìn)行緩存,作為下次在相同場(chǎng)景下進(jìn)行遠(yuǎn)程桌面圖像傳輸?shù)膮⒖?。下一幀圖像的分塊將沿用已經(jīng)得到的分塊結(jié)果和分層索引,直至分塊規(guī)則被更換。本實(shí)施例通過解壓端區(qū)分變化圖像塊及未變化圖像塊,并將圖像數(shù)據(jù)恢復(fù)為對(duì)應(yīng)的圖像塊,將上述圖像塊合并后顯示桌面圖像且整個(gè)過程壓縮端和解壓端保持分塊規(guī)則同步的方法,具有正確、完整地恢復(fù)遠(yuǎn)程桌面圖像的有益效果,提高了系統(tǒng)性能,提升了用戶體驗(yàn)。參照?qǐng)D10,圖10是本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述分塊規(guī)則根據(jù)具體應(yīng)用場(chǎng)景進(jìn)行切換一實(shí)施例流程示意圖;如圖10所示,本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中,分塊規(guī)則根據(jù)具體應(yīng)用場(chǎng)景進(jìn)行切換包括以下步驟步驟S31、利用緩存的所述分塊結(jié)果和分層索引,檢測(cè)所述當(dāng)前幀相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,并將檢測(cè)結(jié)果進(jìn)行傳輸;不同的分塊規(guī)則適應(yīng)不用的應(yīng)用場(chǎng)景,本發(fā)明遠(yuǎn)程桌面圖像傳輸方法可根據(jù)不同的應(yīng)用場(chǎng)景進(jìn)行分塊規(guī)則的切換;同時(shí)采用壓縮端和解壓端雙端同步機(jī)制,使得雙端有一致的分層索引,保證解壓端能夠正確恢復(fù)圖像塊。利用緩存的分塊結(jié)果和分層索引檢測(cè)當(dāng)前幀相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,并將檢測(cè)結(jié)果傳輸給壓縮端的下一流程。步驟S32、判斷遠(yuǎn)程桌面連接是否終止;若是,則整個(gè)傳輸過程結(jié)束;若否,則執(zhí)行步驟S33 ;步驟S33、收集當(dāng)前圖像信息并判斷當(dāng)前場(chǎng)景是否滿足分塊規(guī)則切換條件;若是,則執(zhí)行步驟S34 ;若否,則執(zhí)行步驟S35 ;步驟S34、根據(jù)所述當(dāng)前圖像信息,切換為新分塊規(guī)則;步驟S35、保持當(dāng)前分塊規(guī)則;在進(jìn)行分塊規(guī)則是否需要進(jìn)行切換的判斷之前,需要確保遠(yuǎn)程桌面仍在保持連接。若遠(yuǎn)程桌面連接已經(jīng)終止,則整個(gè)傳輸過程結(jié)束;若遠(yuǎn)程桌面連接仍在持續(xù),則收集當(dāng)前圖像信息,并判斷當(dāng)前場(chǎng)景是否滿足分塊規(guī)則的切換條件;所述切換條件可以是壓縮效果沒有達(dá)到預(yù)期效果、設(shè)備的CPU (Central Processing Unit,中央處理器)占有率達(dá)到了預(yù)設(shè)占有率的最大值或網(wǎng)絡(luò)延遲超出了預(yù)設(shè)延遲最大值等。若當(dāng)前場(chǎng)景滿足分塊規(guī)則切換條件,則根據(jù)當(dāng)前圖像信息,將當(dāng)前分塊規(guī)則切換為合適的新分塊規(guī)則。若當(dāng)前場(chǎng)景不滿足分塊規(guī)則,即之前的分塊規(guī)則仍適用于當(dāng)前應(yīng)用場(chǎng)景,則繼續(xù)使用當(dāng)前的分塊規(guī)則,保存當(dāng)前分塊結(jié)果和分層索引;因?yàn)轭l繁地進(jìn)行分塊操作所帶來的計(jì)算開銷是非??捎^的。步驟S36、利用所述新分塊規(guī)則對(duì)所述當(dāng)前幀進(jìn)行分塊,并替換現(xiàn)有的所述分塊結(jié)果和分層索引。在當(dāng)前場(chǎng)景滿足分塊規(guī)則切換條件且切換為新分塊規(guī)則后,壓縮端利用新分塊規(guī)則對(duì)當(dāng)前幀進(jìn)行分塊,并替換現(xiàn)有的分塊結(jié)果和分層索引。在壓縮端切換分塊規(guī)則后,需要讓解壓端與其分塊規(guī)則保持同步。為了讓解壓端明確需要切換的分塊規(guī)則,在一優(yōu)選的實(shí)施例中,壓縮端將當(dāng)前新分塊規(guī)則對(duì)應(yīng)的標(biāo)號(hào)放置在壓縮數(shù)據(jù)的頭部傳輸給解壓端。本實(shí)施例通過在當(dāng)前場(chǎng)景滿足分塊規(guī)則切換條件且切換為新分塊規(guī)則后,利用新分塊規(guī)則對(duì)當(dāng)前幀進(jìn)行分塊;在不滿足分塊規(guī)則切換條件時(shí),繼續(xù)采用原分塊規(guī)則的方法,具有智能化地根據(jù)不同應(yīng)用場(chǎng)景采用不同分塊規(guī)則的有益效果,同時(shí)極大地節(jié)省了計(jì)算開銷。參照?qǐng)D11,圖11是本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)一實(shí)施例結(jié)構(gòu)示意圖;如圖11所示,本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)包括壓縮端01,用于根據(jù)所述分塊規(guī)則將桌面圖像的當(dāng)前幀進(jìn)行分塊,并建立分層索弓丨,根據(jù)分層索引,檢測(cè)所述當(dāng)前幀的圖像塊相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,將所述變化圖像塊壓縮后與所述未變化圖像塊的標(biāo)簽一起封裝得到圖像數(shù)據(jù),并將所述圖像數(shù)據(jù)發(fā)送給解壓端;參照?qǐng)D2本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述壓縮端01圖像處理框架示意圖,壓縮端01首先根據(jù)一定的分塊規(guī)則,將當(dāng)前桌面圖像切分為若干圖像塊,并建立分層索引;根據(jù)所述分層索引檢測(cè)當(dāng)前幀的變化圖像塊以及未變化圖像塊。對(duì)于變化的圖像塊將通過壓縮模塊進(jìn)行壓縮,并將壓縮后數(shù)據(jù)與未變化的圖像塊標(biāo)簽按一定格式進(jìn)行封裝,形成最終的輸出數(shù)據(jù)傳輸給解壓端02。在一優(yōu)選的實(shí)施例中,所述分塊規(guī)則在所述壓縮端01和所述解壓端02保持同步且可根據(jù)具體應(yīng)用場(chǎng)景進(jìn)行切換,所述分塊規(guī)則包括采用圖像邊緣檢測(cè)及邊緣補(bǔ)償進(jìn)行不定長(zhǎng)圖像分塊;所述分層索引采用層次化的索引項(xiàng)對(duì)所述圖像塊進(jìn)行組織,低層次索引表示較小的圖像塊,多個(gè)低層次索引將被合并到高層次索引中,使得高層次索引可以表示更大的圖像分塊,且最頂層的所述索引項(xiàng)代表整個(gè)所述圖像塊。解壓端02,用于接收所述圖像數(shù)據(jù)后,根據(jù)所述分塊規(guī)則,區(qū)分所述圖像數(shù)據(jù)中對(duì)應(yīng)的所述變化圖像塊及未變化圖像塊的標(biāo)簽后,將所述圖像數(shù)據(jù)恢復(fù)為對(duì)應(yīng)的圖像塊;合并所述圖像塊,顯示所述桌面圖像。參照?qǐng)D3本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述解壓端02圖像處理框架示意圖,解壓端02接收到壓縮端01發(fā)送的圖像數(shù)據(jù)后,根據(jù)上述分塊規(guī)則首先區(qū)分出未變化圖像塊的圖像標(biāo)簽和變化圖像塊的壓縮數(shù)據(jù);然后,利用該圖像標(biāo)簽和分層索引將未變化的圖像塊進(jìn)行恢復(fù),并利用解壓端02的相關(guān)解壓模塊將變化圖像塊對(duì)應(yīng)的壓縮數(shù)據(jù)進(jìn)行解壓 ’最后,合并未變化圖像塊和變化圖像塊,顯示最終的桌面圖像。同時(shí),將本次使用的分層索引和分塊結(jié)果進(jìn)行緩存。本實(shí)施例通過在壓縮端將桌面圖像切分為若干圖像塊,檢測(cè)當(dāng)前幀相對(duì)圖像塊緩存是否發(fā)生變化并對(duì)圖像塊進(jìn)行相應(yīng)處理后發(fā)送給解壓端;解壓端區(qū)分變化圖像塊及未變化圖像塊,并將圖像數(shù)據(jù)恢復(fù)為對(duì)應(yīng)的圖像塊,將上述圖像塊合并后顯示桌面圖像且整個(gè)過程壓縮端和解壓端保持分塊規(guī)則同步,具有優(yōu)化遠(yuǎn)程桌面圖像傳輸?shù)挠幸嫘Ч档土藗鬏敂?shù)據(jù)量,提高了圖像壓縮率。參照?qǐng)D12,圖12是本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)中所述壓縮端第一實(shí)施例結(jié)構(gòu)示意圖;本實(shí)施例僅對(duì)壓縮端01作進(jìn)一步描述,本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)所涉及的其他模塊請(qǐng)參照上述實(shí)施例的具體描述,在此不再贅述。如圖12所示,本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)中,壓縮端01具體包括圖像分塊模塊011,用于根據(jù)所述分塊規(guī)則,將所述桌面圖像的當(dāng)前幀切分為若干
圖像塊;按照分塊規(guī)則,圖像分塊模塊011將桌面圖像的當(dāng)前幀切分為若干個(gè)圖像塊。其中,分塊技術(shù)可以是網(wǎng)格劃分方案也可以是不定長(zhǎng)劃分或者兩者的混合分塊方案,而不限于特定的分塊規(guī)則。參照?qǐng)D5本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中圖像分塊一實(shí)施例窗口示意圖;如圖5a所示,圖像分塊模塊011采用網(wǎng)格劃分方案將桌面圖像的當(dāng)前幀進(jìn)行分塊,如圖5b所示,圖像分塊模塊011采用不定長(zhǎng)圖像分塊將桌面圖像的當(dāng)前幀進(jìn)行分塊。本發(fā)明實(shí)施例所述的分塊規(guī)則包括針對(duì)桌面窗體特征的圖像分塊技術(shù)。參照?qǐng)D6本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中通過圖像邊緣檢測(cè)和直線檢測(cè)獲取窗體邊緣一實(shí)施例窗口示意圖,圖像分塊模塊011采用桌面窗體特征的圖像分塊技術(shù)進(jìn)行圖像分塊處理的步驟為采用圖像邊緣檢測(cè)技術(shù),提取出窗體邊緣;采用直線檢測(cè)技術(shù),檢測(cè)出窗體的大致框架;利用邊緣的補(bǔ)償技術(shù),修復(fù)因少部分邊緣缺失造成的不連續(xù)窗體邊緣;圖像分塊模塊011經(jīng)過邊緣補(bǔ)償獲得的分塊效果請(qǐng)參照?qǐng)D7本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中通過邊緣補(bǔ)償獲得分塊效果一實(shí)施例窗口示意圖。圖像分塊模塊011結(jié)合圖像邊緣檢測(cè)和直線檢測(cè)技術(shù)對(duì)窗體進(jìn)行識(shí)別,并作為圖像分塊的依據(jù),主要是考慮到計(jì)算機(jī)圖形用戶界面的窗體多數(shù)呈矩形形式?;诖绑w特征的分塊技術(shù)的分塊規(guī)則可以更精確的檢測(cè)出當(dāng)前正在變化的窗體(如用戶正在輸入字符的輸入框)和靜態(tài)的未變化窗體,從而獲得更好的未變化圖塊檢測(cè)結(jié)果。分層索引建立模塊012,用于根據(jù)所述圖像塊生成圖像指紋,并建立所述圖像塊的分層索引;分層索引建立模塊012根據(jù)圖像分塊模塊011得到的圖像塊生成圖像指紋,圖像指紋有多種用途,比如定位圖像塊的存儲(chǔ)位置和檢驗(yàn)圖像塊有無變化等。分層索引建立模塊012對(duì)分割出的圖像塊建立分層索引,上層索引將比下層索引表示更多的圖像塊,最終頂層的索引將表示整塊圖像。分層索引的效果請(qǐng)參照?qǐng)D6本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中所述桌面圖像分層索引一實(shí)施例窗口示意圖,分層索引采用層次化的索引項(xiàng)對(duì)所述圖像塊進(jìn)行組織,索引項(xiàng)層次的由低到高分別代表所述圖像塊的由小到大;低層次的索引項(xiàng)表示較小的圖像塊,多個(gè)低層次的索引項(xiàng)將被合并到高層次索引中,使得高層次的索引項(xiàng)可以表示更大的圖像塊,最終頂層的索引項(xiàng)將表示整個(gè)圖像塊。圖像變化識(shí)別模塊013,用于利用所述圖像指紋和分層索引,由頂層索引開始逐層搜索并判斷所述圖像塊是否能夠在所述圖像塊緩存中找到;若是,則所述圖像塊為未變化圖像塊;若否,則所述圖像塊為變化圖像塊;圖像變化識(shí)別模塊013利用圖像分塊和分層索引技術(shù),由頂層索引開始逐層搜索,判斷是否搜索到的圖像塊是否能夠在所述圖像塊緩存中找到;若能夠在圖像塊緩存中找到,則說明該圖像塊為未變化圖像塊;若不能在圖像塊緩存中找到,則說明該圖像塊為變化圖像塊。圖像變化識(shí)別模塊013檢測(cè)變化圖像塊的示例如圖7和圖8所示,發(fā)生變化的圖像塊用黑色圖像塊表示,白色圖像塊為未發(fā)生變化的圖像塊。具體地,在一優(yōu)選的實(shí)施例中,如圖8所示,發(fā)現(xiàn)的變化圖像塊為“1-1 ”、“ 1-2 ”、“ 1-3 ”、“ 2-3 ”、“ 2-4”,而未變化的圖像塊為“1-4”和“2-2”,因此傳輸?shù)臄?shù)據(jù)為圖像塊“1-4”和“2-2”在圖像塊緩存中對(duì)應(yīng)的標(biāo)簽以及經(jīng)過壓縮后的變化圖像塊。隨著數(shù)據(jù)量規(guī)模增大,本方案采用分層索引的高壓縮率優(yōu)勢(shì)將更加明顯。圖像處理模塊014,用于在所述圖像塊為變化圖像塊時(shí),將所述變化圖像塊進(jìn)行壓縮,得到壓縮數(shù)據(jù);在所述圖像塊為未發(fā)變化圖像塊時(shí),記錄所述未變化圖像塊的圖像標(biāo)簽;若圖像變化識(shí)別模塊013檢測(cè)到變化圖像塊,則圖像處理模塊014將該變化圖像塊進(jìn)行壓縮,獲取壓縮數(shù)據(jù);若圖像變化識(shí)別模塊013檢測(cè)到未變化圖像塊,則圖像處理模塊014記錄所述未變化圖像塊的圖像標(biāo)簽。所述圖像標(biāo)簽為所述圖像塊的唯一標(biāo)識(shí),每一個(gè)圖像塊分別對(duì)應(yīng)一個(gè)不同的圖像標(biāo)簽。圖像數(shù)據(jù)輸出模塊015,用于封裝所述壓縮數(shù)據(jù)及所述圖像標(biāo)簽,獲取封裝后的所述圖像數(shù)據(jù)并將所述圖像數(shù)據(jù)發(fā)送給所述解壓端。圖像數(shù)據(jù)輸出模塊015通過無損壓縮算法將圖像處理模塊014獲取的壓縮數(shù)據(jù)和記錄的未變化圖像塊的圖像標(biāo)簽一起封裝,得到總的圖像數(shù)據(jù),并將該圖像數(shù)據(jù)輸出給解壓端02。本實(shí)施例通過在壓縮端利用分塊規(guī)則將桌面圖像切分為若干圖像塊,并構(gòu)建分層索引,利用分層索引檢測(cè)當(dāng)前幀的圖像塊在圖像塊緩存的情況,對(duì)于未變化圖像塊,只須傳輸其標(biāo)簽;對(duì)于變化圖像塊,則將其通過壓縮算法進(jìn)行壓縮后和未變化圖像塊的標(biāo)簽封裝后發(fā)送給解壓端,具有明顯減少數(shù)據(jù)傳輸量的有益效果。參照?qǐng)D13,圖13是本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)中所述解壓端一實(shí)施例結(jié)構(gòu)示意圖;本實(shí)施例僅對(duì)解壓端02作進(jìn)一步描述,本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)所涉及的其他模塊請(qǐng)參照相關(guān)實(shí)施例的具體描述,在此不再贅述。如圖13所示,本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)中,解壓端02具體包括圖像區(qū)分模塊021,用于接收所述壓縮端發(fā)送的所述圖像數(shù)據(jù)后,根據(jù)所述分塊規(guī)則區(qū)分所述壓縮數(shù)據(jù)及所述圖像標(biāo)簽;在解壓端02所采用的分塊規(guī)則與壓縮端01的分塊規(guī)則一致,在本發(fā)明遠(yuǎn)程桌面圖像傳輸方法中,分塊規(guī)則在解壓端02與壓縮端01保持同步;為了讓解壓端02明確當(dāng)前使用的分塊規(guī)則,壓縮端01將當(dāng)前分塊規(guī)則對(duì)應(yīng)的標(biāo)號(hào)放置在壓縮數(shù)據(jù)的頭部傳輸給解壓端。解壓端02的圖像區(qū)分模塊021接收到壓縮端01發(fā)送的圖像數(shù)據(jù)后,利用當(dāng)前的分塊結(jié)果和分層索引區(qū)分圖像數(shù)據(jù)中的壓縮數(shù)據(jù)和圖像標(biāo)簽。圖像恢復(fù)模塊022,用于根據(jù)所述分層索引和所述圖像標(biāo)簽恢復(fù)所述未變化圖像塊,并解壓所述壓縮數(shù)據(jù)恢復(fù)所述變化圖像塊;
根據(jù)分層索引和圖像標(biāo)簽,圖像恢復(fù)模塊022將圖像數(shù)據(jù)中對(duì)應(yīng)的未變化圖像塊的圖像數(shù)據(jù)恢復(fù)為未變化圖像塊,將圖像數(shù)據(jù)中的壓縮數(shù)據(jù)恢復(fù)為對(duì)應(yīng)的變化圖像塊。由于解壓端02的分塊規(guī)則和分層索引與壓縮端01保持同步,因此,相同的分塊規(guī)則對(duì)相同圖像幀的分塊結(jié)果一定是一致的,則圖像恢復(fù)模塊022根據(jù)相同的分塊規(guī)則恢復(fù)的圖像塊也肯定是正確的。圖像顯示模塊023,用于合并所述變化圖像塊及未變化圖像塊,顯示所述桌面圖像,同時(shí)緩存所述分塊結(jié)果和所述分層索引。圖像顯示模塊023將變化圖像塊和未變化圖像塊進(jìn)行合并,且在用戶端將遠(yuǎn)程桌面?zhèn)鬏數(shù)淖烂鎴D像顯示出來;同時(shí),圖像顯示模塊023將本次分塊結(jié)果和分層索引進(jìn)行緩存,作為下次在相同場(chǎng)景下進(jìn)行遠(yuǎn)程桌面圖像傳輸?shù)膮⒖肌O乱粠瑘D像的分塊將沿用已經(jīng)得到的分塊結(jié)果和分層索引,直至分塊規(guī)則被更換。本實(shí)施例通過解壓端區(qū)分變化圖像塊及未變化圖像塊,并將圖像數(shù)據(jù)恢復(fù)為對(duì)應(yīng)的圖像塊,將上述圖像塊合并后顯示桌面圖像且整個(gè)過程壓縮端和解壓端保持分塊規(guī)則同步,具有正確、完整地恢復(fù)遠(yuǎn)程桌面圖像的有益效果,提高了系統(tǒng)性能,提升了用戶體驗(yàn)。參照?qǐng)D14,圖14是本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)中所述壓縮端第二實(shí)施例結(jié)構(gòu)示意圖;本實(shí)施例與所述壓縮端第一實(shí)施例的區(qū)別是,僅增加了分塊規(guī)則設(shè)置模塊016 ;本實(shí)施例僅對(duì)分塊規(guī)則設(shè)置模塊016作具體描述,本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)所涉及的其他模塊請(qǐng)參照相關(guān)實(shí)施例的具體描述,在此不再贅述。如圖14所示,本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)中,壓縮端01還包括分塊規(guī)則設(shè)置模塊016,用于在所述壓縮端和所述解壓端保持所述分塊規(guī)則同步且可根據(jù)具體應(yīng)用場(chǎng)景切換所述分塊規(guī)則;所述分塊規(guī)則包括采用圖像邊緣檢測(cè)及邊緣補(bǔ)償進(jìn)行不定長(zhǎng)圖像分塊。不同的分塊規(guī)則適應(yīng)不用的應(yīng)用場(chǎng)景,分塊規(guī)則設(shè)置模塊016根據(jù)不同的應(yīng)用場(chǎng)景進(jìn)行分塊規(guī)則的切換;同時(shí)采用壓縮端01和解壓端02雙端同步機(jī)制,使得雙端有一致的分層索引,保證解壓端02能夠正確恢復(fù)圖像塊。參照?qǐng)D15本發(fā)明遠(yuǎn)程桌面圖像傳輸系統(tǒng)中所述分塊規(guī)則設(shè)置模塊一實(shí)施例結(jié)構(gòu)示意圖,本發(fā)明分塊規(guī)則設(shè)置模塊016具體包括圖像塊檢測(cè)單元161,用于利用緩存的所述分塊結(jié)果和分層索引,檢測(cè)所述當(dāng)前幀相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,并將檢測(cè)結(jié)果傳輸給所述壓縮端;圖像塊檢測(cè)單元161利用緩存的分塊結(jié)果和分層索引檢測(cè)當(dāng)前幀相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,并將檢測(cè)結(jié)果傳輸給圖像信息收集單元162。圖像信息收集單元162,用于判斷遠(yuǎn)程桌面連接是否終止,且在所述遠(yuǎn)程桌面連接未終止時(shí),收集當(dāng)前圖像信息并判斷當(dāng)前場(chǎng)景是否滿足分塊規(guī)則切換條件;圖像信息收集單元162在進(jìn)行分塊規(guī)則是否需要進(jìn)行切換的判斷之前,需要確保遠(yuǎn)程桌面仍在保持連接。若遠(yuǎn)程桌面連接已經(jīng)終止,則整個(gè)傳輸過程結(jié)束;若遠(yuǎn)程桌面連接仍在持續(xù),則圖像信息收集單元162收集當(dāng)前圖像信息,并判斷當(dāng)前場(chǎng)景是否滿足分塊規(guī)則的切換條件;所述切換條件可以是壓縮效果沒有達(dá)到預(yù)期效果、設(shè)備的CPU占有率達(dá)到了預(yù)設(shè)占有率的最大值或網(wǎng)絡(luò)延遲超出了預(yù)設(shè)延遲最大值等。分塊規(guī)則切換單元163,用于在當(dāng)前場(chǎng)景滿足分塊規(guī)則切換條件時(shí),根據(jù)所述當(dāng)前圖像信息,切換為新分塊規(guī)則;若圖像信息收集單元162判斷當(dāng)前場(chǎng)景滿足分塊規(guī)則切換條件,則分塊規(guī)則切換單元163根據(jù)當(dāng)前圖像信息,將當(dāng)前分塊規(guī)則切換為合適的新分塊規(guī)則。若當(dāng)前場(chǎng)景不滿足分塊規(guī)則,即之前的分塊規(guī)則仍適用于當(dāng)前應(yīng)用場(chǎng)景,則分塊規(guī)則切換單元163不進(jìn)行分塊規(guī)則的切換,壓縮端01繼續(xù)使用當(dāng)前的分塊規(guī)則,并保存當(dāng)前分塊結(jié)果和分層索引;因?yàn)轭l繁地進(jìn)行分塊操作所帶來的計(jì)算開銷是非??捎^的。分層索引替換單元164,用于利用所述新分塊規(guī)則對(duì)所述當(dāng)前幀進(jìn)行分塊,并替換現(xiàn)有的所述分塊結(jié)果和分層索引。在分塊規(guī)則切換單元163判斷當(dāng)前場(chǎng)景滿足分塊規(guī)則切換條件且切換為新分塊規(guī)則后,分層索引替換單元164利用新分塊規(guī)則對(duì)當(dāng)前幀進(jìn)行分塊,并替換現(xiàn)有的分塊結(jié)果和分層索引。在壓縮端01利用分塊規(guī)則設(shè)置模塊016切換分塊規(guī)則后,需要讓解壓端02與其分塊規(guī)則保持同步。為了讓解壓端02明確需要切換的分塊規(guī)則,在一優(yōu)選的實(shí)施例中,壓縮端01將當(dāng)前新分塊規(guī)則對(duì)應(yīng)的標(biāo)號(hào)放置在壓縮數(shù)據(jù)的頭部傳輸給解壓端02。本實(shí)施例通過在當(dāng)前場(chǎng)景滿足分塊規(guī)則切換條件且切換為新分塊規(guī)則后,利用新分塊規(guī)則對(duì)當(dāng)前幀進(jìn)行分塊;在不滿足分塊規(guī)則切換條件時(shí),繼續(xù)采用原分塊規(guī)則,具有智能化地根據(jù)不同應(yīng)用場(chǎng)景采用不同分塊規(guī)則的有益效果,同時(shí)極大地節(jié)省了計(jì)算開銷。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制其專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種遠(yuǎn)程桌面圖像傳輸方法,其特征在于,包括以下步驟 步驟SOI、壓縮端根據(jù)分塊規(guī)則將桌面圖像的當(dāng)前幀進(jìn)行分塊,并建立分層索引,根據(jù)所述分層索引,檢測(cè)所述當(dāng)前幀的圖像塊相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,將所述變化圖像塊壓縮后與所述未變化圖像塊的標(biāo)簽一起封裝得到圖像數(shù)據(jù),并將所述圖像數(shù)據(jù)發(fā)送給解壓端; 步驟S02、所述解壓端接收所述圖像數(shù)據(jù)后,根據(jù)所述分塊規(guī)則區(qū)分所述圖像數(shù)據(jù)中對(duì)應(yīng)的所述變化圖像塊及未變化圖像塊的標(biāo)簽后,將所述圖像數(shù)據(jù)恢復(fù)為對(duì)應(yīng)的圖像塊;合并所述圖像塊,顯示所述桌面圖像。
2.如權(quán)利要求I所述的方法,其特征在于,所述步驟SOl具體包括以下步驟 根據(jù)分塊規(guī)則,將桌面圖像的當(dāng)前幀切分為若干圖像塊; 根據(jù)所述圖像塊生成圖像指紋,并建立所述圖像塊的分層索引; 利用所述圖像指紋和分層索引,由頂層索引開始逐層搜索并判斷所述圖像塊是否能夠在所述圖像塊緩存中找到; 若否,則所述圖像塊為變化圖像塊,將所述變化圖像塊進(jìn)行壓縮,得到壓縮數(shù)據(jù); 若是,則所述圖像塊為未變化圖像塊,記錄所述未變化圖像塊的圖像標(biāo)簽; 封裝所述壓縮數(shù)據(jù)及所述圖像標(biāo)簽,獲取封裝后的所述圖像數(shù)據(jù)并將所述圖像數(shù)據(jù)發(fā)送給所述解壓端。
3.如權(quán)利要求I所述的方法,其特征在于,所述步驟S02具體包括以下步驟 接收所述壓縮端發(fā)送的所述圖像數(shù)據(jù)后,根據(jù)所述分塊規(guī)則區(qū)分所述壓縮數(shù)據(jù)及所述圖像標(biāo)簽; 根據(jù)所述分層索引和所述圖像標(biāo)簽恢復(fù)所述未變化圖像塊,并解壓所述壓縮數(shù)據(jù)恢復(fù)所述變化圖像塊; 合并所述變化圖像塊及未變化圖像塊,顯示所述桌面圖像,同時(shí)緩存所述分塊結(jié)果和所述分層索引。
4.如權(quán)利要求2或3所述的方法,其特征在于,所述分層索引采用層次化的索引項(xiàng)對(duì)所述圖像塊進(jìn)行組織,所述索引項(xiàng)層次的由低到高分別代表所述圖像塊的由小到大,且最頂層的所述索引項(xiàng)代表整個(gè)所述圖像塊。
5.如權(quán)利要求2或3所述的方法,其特征在于,所述分塊規(guī)則在所述壓縮端和所述解壓端保持同步且可根據(jù)具體應(yīng)用場(chǎng)景進(jìn)行切換;所述分塊規(guī)則包括采用圖像邊緣檢測(cè)及邊緣補(bǔ)償進(jìn)行不定長(zhǎng)圖像分塊。
6.如權(quán)利要求5所述的方法,其特征在于,所述分塊規(guī)則根據(jù)具體應(yīng)用場(chǎng)景進(jìn)行切換的步驟具體包括 利用緩存的所述分塊結(jié)果和分層索引,檢測(cè)所述當(dāng)前幀相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,并將檢測(cè)結(jié)果進(jìn)行傳輸; 判斷遠(yuǎn)程桌面連接是否終止; 若否,則收集當(dāng)前圖像信息并判斷當(dāng)前場(chǎng)景是否滿足分塊規(guī)則切換條件; 若滿足,則根據(jù)所述當(dāng)前圖像信息,切換為新分塊規(guī)則; 利用所述新分塊規(guī)則對(duì)所述當(dāng)前幀進(jìn)行分塊,并替換現(xiàn)有的所述分塊結(jié)果和分層索引。
7.—種遠(yuǎn)程桌面圖像傳輸系統(tǒng),其特征在于,包括 壓縮端,用于根據(jù)所述分塊規(guī)則將桌面圖像的當(dāng)前幀進(jìn)行分塊,并建立分層索引,根據(jù)所述分層索引,檢測(cè)所述當(dāng)前幀的圖像塊相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,將所述變化圖像塊壓縮后與所述未變化圖像塊的標(biāo)簽一起封裝得到圖像數(shù)據(jù),并將所述圖像數(shù)據(jù)發(fā)送給解壓端; 所述解壓端,用于接收所述圖像數(shù)據(jù)后,根據(jù)所述分塊規(guī)則,區(qū)分所述圖像數(shù)據(jù)中對(duì)應(yīng)的所述變化圖像塊及未變化圖像塊的標(biāo)簽后,將所述圖像數(shù)據(jù)恢復(fù)為對(duì)應(yīng)的圖像塊;合并所述圖像塊,顯示所述桌面圖像。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述壓縮端具體包括 圖像分塊模塊,用于根據(jù)所述分塊規(guī)則,將所述桌面圖像的當(dāng)前幀切分為若干圖像塊; 分層索引建立模塊,用于根據(jù)所述圖像塊生成圖像指紋,并建立所述圖像塊的分層索弓I ; 圖像變化識(shí)別模塊,用于利用所述圖像指紋和分層索引,由頂層索引開始逐層搜索并判斷所述圖像塊是否能夠在所述圖像塊緩存中找到;若是,則所述圖像塊為未變化圖像塊;若否,則所述圖像塊為變化圖像塊; 圖像處理模塊,用于在所述圖像塊為變化圖像塊時(shí),將所述變化圖像塊進(jìn)行壓縮,得到壓縮數(shù)據(jù);在所述圖像塊為未發(fā)生圖像塊時(shí),記錄所述未變化圖像塊的圖像標(biāo)簽; 圖像數(shù)據(jù)輸出模塊,用于封裝所述壓縮數(shù)據(jù)及所述圖像標(biāo)簽,獲取封裝后的所述圖像數(shù)據(jù)并將所述圖像數(shù)據(jù)發(fā)送給所述解壓端。
9.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述解壓端具體包括 圖像區(qū)分模塊,用于接收所述壓縮端發(fā)送的所述圖像數(shù)據(jù)后,根據(jù)所述分塊規(guī)則區(qū)分所述壓縮數(shù)據(jù)及所述圖像標(biāo)簽; 圖像恢復(fù)模塊,用于根據(jù)所述分層索引和所述圖像標(biāo)簽恢復(fù)所述未變化圖像塊,并解壓所述壓縮數(shù)據(jù)恢復(fù)所述變化圖像塊; 圖像顯示模塊,用于合并所述變化圖像塊及未變化圖像塊,顯示所述桌面圖像,同時(shí)緩存所述分塊結(jié)果和所述分層索引。
10.如權(quán)利要求8或9所述的系統(tǒng),其特征在于,所述分層索引采用層次化的索引項(xiàng)對(duì)所述圖像塊進(jìn)行組織,所述索引項(xiàng)層次的由低到高分別代表所述圖像塊的由小到大,且最頂層的所述索引項(xiàng)代表整個(gè)所述圖像塊。
11.如權(quán)利要求8或9所述的系統(tǒng),其特征在于,所述壓縮端還包括 分塊規(guī)則設(shè)置模塊,用于在所述壓縮端和所述解壓端保持所述分塊規(guī)則同步且可根據(jù)具體應(yīng)用場(chǎng)景切換所述分塊規(guī)則;所述分塊規(guī)則包括采用圖像邊緣檢測(cè)及邊緣補(bǔ)償進(jìn)行不定長(zhǎng)圖像分塊。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述分塊規(guī)則設(shè)置模塊具體包括 圖像塊檢測(cè)單元,用于利用緩存的所述分塊結(jié)果和分層索引,檢測(cè)所述當(dāng)前幀相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,并將檢測(cè)結(jié)果進(jìn)行傳輸; 圖像信息收集單元,用于判斷遠(yuǎn)程桌面連接是否終止,且在所述遠(yuǎn)程桌面連接未終止時(shí),收集當(dāng)前圖像信息并判斷當(dāng)前場(chǎng)景是否滿足分塊規(guī)則切換條件;分塊規(guī)則切換單元,用于在當(dāng)前場(chǎng)景滿足分塊規(guī)則切換條件時(shí),根據(jù)所述當(dāng)前圖像信息,切換為新分塊規(guī)則; 分層索引替換單元,用于利用所述新分塊規(guī)則對(duì)所述當(dāng)前幀進(jìn)行分塊,并替換現(xiàn)有的所述分塊結(jié)果和分層索引。
全文摘要
本發(fā)明公開一種遠(yuǎn)程桌面圖像傳輸方法及系統(tǒng),包括壓縮端和解壓端在圖像傳輸過程中維護(hù)有同步的圖像塊緩存,壓縮端將桌面圖像的當(dāng)前幀進(jìn)行分塊,并構(gòu)建分層索引,依據(jù)分層索引檢測(cè)當(dāng)前幀相對(duì)圖像塊緩存的變化圖像塊及未變化圖像塊,將變化圖像塊壓縮后與未變化圖像塊在圖像塊緩存中的標(biāo)簽一起封裝成最終的傳輸數(shù)據(jù),并發(fā)送給解壓端;解壓端接收到該傳輸數(shù)據(jù)后,區(qū)分圖像標(biāo)簽和壓縮的圖像塊數(shù)據(jù)并進(jìn)行對(duì)應(yīng)恢復(fù),顯示桌面圖像。本發(fā)明利用圖像分塊、分層索引以及圖像塊緩存技術(shù),具有優(yōu)化遠(yuǎn)程桌面圖像傳輸?shù)挠幸嫘Ч?br>
文檔編號(hào)H04N7/26GK102821278SQ201210264229
公開日2012年12月12日 申請(qǐng)日期2012年7月27日 優(yōu)先權(quán)日2012年7月27日
發(fā)明者李龍 申請(qǐng)人:深信服網(wǎng)絡(luò)科技(深圳)有限公司