本申請是申請?zhí)枮?012105611464、申請日為2012年12月21日、發(fā)明創(chuàng)造名稱為“漸進式數(shù)據(jù)編碼傳輸方法”的專利的分案申請。本發(fā)明涉及一種數(shù)據(jù)傳輸系統(tǒng),尤其涉及一種數(shù)據(jù)的漸進式編碼傳輸系統(tǒng)。
背景技術(shù):
:目前網(wǎng)絡(luò)上顯示圖片的方式有順序式編碼和漸進式編碼兩種。順序式編碼是指:將圖片由左到右、由上到下的順序做處理后顯示在屏幕上。而漸進式編碼則是先將圖片的大致輪廓或是模糊影像顯示在屏幕上,然后由客戶端的要求再慢慢將圖片的細節(jié)信息補足,由模糊到清晰的方式來傳送圖片。當(dāng)前漸進式編碼采用每次傳送圖片固定的數(shù)據(jù)量到客戶端做譯碼,然后將圖片由模糊至清楚地慢慢顯示出來。然而,該漸進式編碼無法在網(wǎng)絡(luò)頻寬允許接收較大量的數(shù)據(jù)時,于第一時間顯示一定質(zhì)量的圖片,如在第一時間顯示較清楚的圖片。技術(shù)實現(xiàn)要素:鑒于以上內(nèi)容,有必要提供一種漸進式數(shù)據(jù)編碼傳輸系統(tǒng),能夠克服漸進式編碼傳輸無法在第一時間解析出較佳畫面的缺陷。還有必要提供一種漸進式數(shù)據(jù)編碼傳輸方法,能夠克服漸進式編碼傳輸無法在第一時間解析出較佳畫面的缺陷。所述漸進式數(shù)據(jù)編碼傳輸系統(tǒng),運行于一個客戶端。該系統(tǒng)包括:獲取模塊,用于獲取該客戶端的當(dāng)前視窗大小,并存儲該當(dāng)前視窗大小;請求模塊,用于請求該服務(wù)器使用漸進式編碼傳輸方式對數(shù)據(jù)進行編碼,編碼后的數(shù)據(jù)暫存在該服務(wù)器的緩沖器中;調(diào)整模塊,用于根據(jù)漸進式編碼傳輸方式的種類確定服務(wù)器傳輸編碼后數(shù)據(jù)的分次傳輸量,比較客戶端的當(dāng)前視窗大小與上一次傳輸數(shù)據(jù)時的視窗大小,及根據(jù)該比較的結(jié)果確定服務(wù)器當(dāng)前傳輸數(shù)據(jù)的分次傳輸量;及接收模塊,用于通知所述服務(wù)器根據(jù)該確定的分次傳輸量傳輸數(shù)據(jù),接收該服務(wù)器傳輸?shù)臄?shù)據(jù)。所述漸進式數(shù)據(jù)編碼傳輸方法,應(yīng)用于一個客戶端。該方法包括:獲取步驟,獲取該客戶端的當(dāng)前視窗大小,并存儲該當(dāng)前視窗大??;請求步驟,請求該服務(wù)器使用漸進式編碼傳輸方式對數(shù)據(jù)進行編碼,編碼后的數(shù)據(jù)暫存在該服務(wù)器的緩沖器中;調(diào)整步驟一,根據(jù)漸進式編碼傳輸方式的種類確定服務(wù)器傳輸編碼后數(shù)據(jù)的分次傳輸量;調(diào)整步驟二,比較客戶端的當(dāng)前視窗大小與上一次傳輸數(shù)據(jù)時的視窗大小,及根據(jù)該比較的結(jié)果,確定服務(wù)器當(dāng)前傳輸數(shù)據(jù)的分次傳輸量;及接收步驟,通知所述服務(wù)器根據(jù)該確定的分次傳輸量傳輸數(shù)據(jù),接收該服務(wù)器傳輸?shù)臄?shù)據(jù)。一種漸進式數(shù)據(jù)編碼傳輸方法,應(yīng)用于服務(wù)器中。該方法包括:響應(yīng)客戶端的請求,為客戶端提供一個漸進式數(shù)據(jù)傳輸端;利用編碼器將數(shù)據(jù)以漸進式編碼傳輸方式進行編碼;將編碼后的數(shù)據(jù)暫存在緩沖器中;及響應(yīng)客戶端的通知并根據(jù)客戶端確定的分次傳輸量傳輸數(shù)據(jù)。相較于現(xiàn)有技術(shù),所述漸進式數(shù)據(jù)編碼傳輸系統(tǒng),利用tcp封包里的windowsize來決定漸進式傳輸過程中每次傳送給客戶端的數(shù)據(jù)量,并在頻帶較寬時傳輸更多的數(shù)據(jù)量,使得第一時間即可解析出較佳的畫面并顯示出來。附圖說明圖1是本發(fā)明漸進式數(shù)據(jù)編碼傳輸系統(tǒng)較佳實施例的運行環(huán)境示意圖。圖2是圖1中漸進式數(shù)據(jù)編碼傳輸系統(tǒng)較佳實施例的功能模塊圖。圖3是本發(fā)明漸進式數(shù)據(jù)編碼傳輸方法較佳實施例的作業(yè)流程圖。主要元件符號說明客戶端1存儲設(shè)備10處理器12顯示屏幕14解碼器16漸進式數(shù)據(jù)編碼傳輸系統(tǒng)100服務(wù)器2存儲器20漸進式數(shù)據(jù)編碼傳輸單元200編碼器22緩沖器24獲取模塊1000請求模塊1002調(diào)整模塊1004接收模塊1006如下具體實施方式將結(jié)合上述附圖進一步說明本發(fā)明。具體實施方式如圖1所示,是本發(fā)明漸進式數(shù)據(jù)編碼傳輸系統(tǒng)較佳實施例的運行環(huán)境示意圖。該漸進式數(shù)據(jù)編碼傳輸系統(tǒng)100運行于一個客戶端1中,該客戶端1通過網(wǎng)絡(luò)與一臺服務(wù)器2連接。本實施例中,該網(wǎng)絡(luò)遵從傳輸控制協(xié)議(transmissioncontrolprotocol,tcp)。該服務(wù)器2主要包括存儲器20、編碼器22和緩沖器24。在該存儲器20中存儲了一個漸進式數(shù)據(jù)編碼傳輸單元200。該漸進式數(shù)據(jù)編碼傳輸單元200由一個或多個計算機化程序段組成,與客戶端1中的漸進式數(shù)據(jù)編碼傳輸系統(tǒng)100互動,以實現(xiàn)數(shù)據(jù)的漸進式編碼與傳輸功能。具體而言,該漸進式數(shù)據(jù)編碼傳輸單元200用于響應(yīng)客戶端1的請求,為客戶端1提供一個漸進式數(shù)據(jù)傳輸端,利用編碼器22將數(shù)據(jù)以漸進式編碼傳輸方式進行編碼,并將編碼后的數(shù)據(jù)暫存在緩沖器24中。然后,漸進式數(shù)據(jù)編碼傳輸單元200依照客戶端1的需求將緩沖器24中的數(shù)據(jù)做相應(yīng)傳送。在本實施例中,由于客戶端1連接服務(wù)器2的網(wǎng)絡(luò)遵從傳輸控制協(xié)議,因此服務(wù)器2傳輸至客戶端1的數(shù)據(jù)為tcp封包。所述客戶端1主要包括存儲設(shè)備10、至少一臺處理器12、顯示屏幕14及解碼器16。所述存儲設(shè)備10用于存儲所述漸進式數(shù)據(jù)編碼傳輸系統(tǒng)100的計算機程序化代碼。該存儲設(shè)備10可以為客戶端1內(nèi)置的存儲器,也可以為客戶端1外接的存儲器。所述至少一臺處理器12用于執(zhí)行所述漸進式數(shù)據(jù)編碼傳輸系統(tǒng)100的計算機程序代碼,向服務(wù)器2提出請求,要求服務(wù)器2以漸進式編碼傳輸方式將數(shù)據(jù)編碼并分次傳輸,接收服務(wù)器2傳送的tcp封包,并利用解碼器16將所接收的tcp封包進行解碼操作。所述顯示屏幕14用于顯示解碼器16對所述tcp封包解碼后所獲得的數(shù)據(jù),該數(shù)據(jù)如圖片。如圖2所示,是圖1中漸進式數(shù)據(jù)編碼傳輸系統(tǒng)100較佳實施例的功能模塊圖。該漸進式數(shù)據(jù)編碼傳輸系統(tǒng)100包括獲取模塊1000、請求模塊1002、調(diào)整模塊1004和接收模塊1006。本發(fā)明所稱的模塊是完成一特定功能的計算機程序段,比程序更適合于描述軟件在計算機中的執(zhí)行過程,因此在本發(fā)明以下對軟件描述都以模塊描述。模塊1000至1006的功能將在圖3中進行詳細描述。如圖3所示,是本發(fā)明漸進式數(shù)據(jù)編碼傳輸方法較佳實施例的作業(yè)流程圖。步驟s100,客戶端1與服務(wù)器2建立連接,并在連接成功后,服務(wù)器2內(nèi)的漸進式數(shù)據(jù)編碼傳輸單元200會發(fā)送信息告知客戶端1成功建立連接。其中,漸進式數(shù)據(jù)編碼傳輸單元200發(fā)送的信息為一個tcp封包。為了區(qū)別于下述傳輸數(shù)據(jù)時的tcp封包,本實施例將此處的tcp封包定義為tcp視窗封包。步驟s102,獲取模塊1000從所述tcp視窗封包中獲取服務(wù)器2當(dāng)前視窗大小,并存儲該當(dāng)前視窗大小于存儲設(shè)備10中。需要說明的是,本實施例中的視窗大小的英文翻譯為windowsize或slidingwindowsize,其用于定義一次可以接收或傳送數(shù)據(jù)的緩沖區(qū)大小(本實施例中簡稱為“分次傳輸量”)。確定該分次傳輸量的主要因素為網(wǎng)絡(luò)頻寬。步驟s104,請求模塊1002發(fā)送信息給服務(wù)器2,請求該服務(wù)器2使用漸進式編碼傳輸方式對數(shù)據(jù)進行編碼。在服務(wù)器2接收到該信息后,會利用編碼器22對需要傳送至客戶端1的數(shù)據(jù)進行漸進式編碼,編碼后的數(shù)據(jù)為tcp封包。例如,所述數(shù)據(jù)可以為圖片,將圖片編碼后獲得tcp封包。步驟s106,服務(wù)器2發(fā)送信息告知客戶端1漸進式編碼成功,并將編碼后的數(shù)據(jù)(即tcp封包)暫存在緩沖器24中。步驟s108,調(diào)整模塊1004根據(jù)漸進式編碼傳輸方式的種類確定服務(wù)器2傳輸tcp封包的分次傳輸量。其中,每種漸進式編碼傳輸方式的種類對應(yīng)的分次傳輸量不同。本實施例中,該漸進式編碼傳輸方式的種類包括將一張圖片分成多個數(shù)位面(bitplane)進行分層并分次傳送、將一張圖片進行離散余弦(dct)轉(zhuǎn)換后依據(jù)所產(chǎn)生的系數(shù)分次傳送。例如,若漸進式編碼傳輸方式的種類為將一張圖片分成多個bitplane進行分層傳送,調(diào)整模塊1004則確定一次傳多少個bitplane的tcp封包。若漸進式編碼傳輸方式的種類為將一張圖片進行dct轉(zhuǎn)換后依據(jù)所產(chǎn)生的系數(shù)分次傳送,調(diào)整模塊1004則確定一次傳多少個系數(shù)的tcp封包。步驟s110,調(diào)整模塊1004比較客戶端的當(dāng)前視窗大小與上一次傳輸數(shù)據(jù)時的視窗大小(以下簡稱為“上一次視窗大小”),并于步驟s112中判斷該當(dāng)前視窗大小是否大于或等于上一次視窗大小。當(dāng)判斷結(jié)果為否時,流程進入步驟s114。當(dāng)判斷結(jié)果為是時,流程進入步驟s116。步驟s114,調(diào)整模塊1004降低數(shù)據(jù)的分次傳輸量,然后流程進入步驟s118。即:當(dāng)前每次傳送tcp封包的傳輸量小于上一次傳輸數(shù)據(jù)時的分次傳輸量。步驟s116,調(diào)整模塊1004提高數(shù)據(jù)的分次傳輸量,然后流程進入步驟s118。即:當(dāng)前每次傳送tcp封包的傳輸量大于上一次傳輸數(shù)據(jù)時的分次傳輸量。假設(shè)服務(wù)器2所采用的漸進式編碼傳輸方式的種類為將一張圖片分成八個bitplane來做分次傳輸,若當(dāng)前視窗大小大于或等于上一次視窗大小,則代表網(wǎng)絡(luò)頻寬可接收比上一次還要多的tcp封包,此時,客戶端1可要求服務(wù)器2一次傳送多一點的bitplane。例如,假設(shè)上一次傳輸數(shù)據(jù)時的分次傳輸量為一次傳四層bitplane,如果當(dāng)前視窗大小大于或等于上一次視窗大小,那么,可將當(dāng)前數(shù)據(jù)的分次傳輸量提高到每次傳送五層、六層、七層或八層bitplane。若當(dāng)前視窗大小小于上一次視窗大小,則代表客戶端1目前無法處理較多的tcp封包,客戶端1可要求服務(wù)器2每次只傳送一層bitplane,如此仍可達到漸進傳輸?shù)男Ч?。例如,假設(shè)上一次傳輸數(shù)據(jù)時的分次傳輸量為一次傳四層bitplane,如果當(dāng)前視窗大小小于上一次視窗大小,那么,可將當(dāng)前數(shù)據(jù)的分次傳輸量降低到每次傳送三層、兩層或一層bitplane。步驟s118,接收模塊1006通知所述服務(wù)器2根據(jù)該確定的分次傳輸量傳輸數(shù)據(jù),接收該服務(wù)器傳輸?shù)臄?shù)據(jù),客戶端1利用解碼器16對接收的數(shù)據(jù)進行解碼操作,并將解碼后的數(shù)據(jù)顯示在顯示屏幕14上。此處,服務(wù)器2傳輸?shù)臄?shù)據(jù)為tcp封包。步驟s110,接收模塊1006根據(jù)需要的數(shù)據(jù)量及所接收的數(shù)據(jù)量判斷數(shù)據(jù)是否傳輸完畢。當(dāng)判斷結(jié)果為數(shù)據(jù)已經(jīng)傳輸完畢時,結(jié)束流程。當(dāng)判斷結(jié)果為數(shù)據(jù)未傳輸完畢時,流程返回至步驟s110。最后應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實施例對本發(fā)明進行了詳細說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方案進行修改或等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。當(dāng)前第1頁12