計算機與行動裝置間通過增量混合壓縮編碼進行屏幕傳輸的方法
2023-05-04 11:39:26
專利名稱:計算機與行動裝置間通過增量混合壓縮編碼進行屏幕傳輸的方法
技術領域:
本發明是一種在計算機與行動裝置間通過増量混合壓縮編碼進行屏幕傳輸的方法,尤其通過增量混合壓縮編碼的方法,在保障屏幕圖像品質前提下降低傳輸數據量,屬於計算機圖像處理與網絡傳輸技術領域。
背景技術:
現有屏幕傳輸方法中對屏幕數據處理主要是圖像方式和視頻方式兩種。圖像方式下,屏幕數據被按照一定的頻率採集成圖像數據幀進行處理和傳輸。該方式優點是圖像數據編碼被設備支持性廣,方便控制傳輸幀率和傳輸數據量。該方式的限制是當要求高圖像質量吋,需要高的數據量,帶來編碼計算和傳輸的壓力,反之,圖像數據編碼數據量較低,帶來圖像質量的下降。該方式由於幀率的限制,適合處理屏幕內容相對靜止的情況。視頻方式下,屏幕數據被進行視頻編碼並按照視頻流的方式傳輸,該方式優點是適合處理屏幕內容相對動態的情況。該方式的限制是流編碼對設備計算能力和傳輸能力要求都比較高,往往難以適用於設備處理能力較低的情況。科技的日新月異,智慧型手機、平板電腦等新型行動裝置產品不斷湧現,同普通計算機相比,這些設備硬體整體性能較低、計算能力較差、屏幕尺寸較小等。在進行屏幕傳輸吋,需要重點解決處理性能、圖像質量、傳輸同步性等方面的問題。
發明內容
本發明的目的在於提供一種計算機與行動裝置間通過増量混合壓縮編碼進行屏幕傳輸的方法,所述方法對屏幕數據進行圖像方式處理,通過增量混合編碼的方法,在保障屏幕圖像品質前提下降低傳輸數據量,解決傳輸的數據量和傳輸處理間矛盾的問題。為實現上述發明目的,本發明採用下述技術方案予以實現
一種計算機與行動裝置間通過増量混合壓縮編碼進行屏幕傳輸的方法,包括
步驟一,採集計算機屏幕數據,對採集到的屏幕數據進行圖像編碼形成屏幕幀圖像數據;圖像編碼方法是JPEG、JPEG2000、BMP、PNG等的ー種或多種但不限於,較優的是選擇硬體設備能夠支持進行硬體編解碼計算的,提高運算速度;較優的JPEG等屬於靜止圖像壓縮編碼技術,JPEG具有失真小、壓縮率高、多種設備支持硬體編碼和硬體解碼速度快的優勢;步驟ニ,使用増量計算方法,將當前屏幕幀圖像數據和前一屏幕幀圖像數據進行増量計算,獲取増量數據;增量計算方法是按照像素行的方式對屏幕幀圖像數據進行分組,通過比較前ー屏幕幀圖像數據的對應分組數據是否相同,判斷是否產生變化,所有變化的分組數據構成増量數據; 步驟三,將當前屏幕幀圖像數據與增量數據進行混合壓縮編碼,獲取増量數據包;混合壓縮編碼是按照像素行的方式對屏幕幀圖像數據進行分組;以當前屏幕幀圖像數據為基礎;比較增量數據與當前屏幕幀圖像數據進行混合編碼;對增量數據中的全部像素進行壓縮編碼;壓縮取樣方法是比較每個像素點與其所在行的前一行的對應位置的像素點是否相同,比較每個像素點與其所在行的前一個像素點是否相同;
步驟四,比較增量數據包與當前屏幕幀圖像數據的大小,較小的傳輸到行動裝置端。如上所述的方法,步驟ニ是為了減少方法計算數據量,増加方法的計算速度的優化步驟,該步驟可選。如上所述的方法,所述步驟ニ、步驟四中的像素行方式分組是當前屏幕技術條件下較優的一種分組方式,也可採取像素列、像素塊等方式進行分組實現。如上所述的方法,所述步驟三中的混合壓縮編碼中,壓縮取樣方法是綜合選用了比較姆個像素點與其所在行的前一行的對應位置的像素點是否相同,比較姆個像素點與其所在行的前一個像素點是否相同這兩種取樣方式,這兩種取樣方式是目前屏幕技術下較優 的方法,但壓縮取樣方式不限於選用ー種或兩種或其他取樣方式。本發明相對於現有方法具有以下的優點
I、本發明能依據設備硬體編碼支持情況調整,可充分發揮設備硬體計算能力。支持設備類型廣泛,尤其對智慧型手機、平板電腦等計算能力較低、屏幕尺寸較小的設備有更好的支持性。2、本發明提出的増量混合壓縮編碼方法,圖像數據比較和計算速度快,數據表示壓縮比高。3、本發明僅傳輸屏幕變化的增量數據與屏幕數據的較小者,能大幅度減少數據處理和傳輸量;在屏幕內容相對變化較少的情況下,傳輸效果特別理想。
圖I本發明計算機與行動裝置間通過増量混合壓縮編碼進行屏幕傳輸的方法的流程 圖2本發明計算機與行動裝置間通過増量混合壓縮編碼進行屏幕傳輸的方法的屏幕數據樣例 圖3顔色標識方案RGB下的像素數據表示 圖4本發明計算機與行動裝置間通過増量混合壓縮編碼進行屏幕傳輸的方法的像素數據表示 圖5本發明計算機與行動裝置間通過増量混合壓縮編碼進行屏幕傳輸的方法的混合壓縮編碼計算順序 圖6本發明計算機與行動裝置間通過増量混合壓縮編碼進行屏幕傳輸的方法的混合壓縮編碼結果數據樣例圖。
具體實施例方式下面結合附圖和具體實施方式
對本發明的技術方案進行進ー步說明,但本發明的實施方式不限於此。實施例如圖I所示,本發明計算機與行動裝置間通過増量混合壓縮編碼進行屏幕傳輸的方法,主要步驟如下
步驟一,採集計算機屏幕數據,對採集到的屏幕數據進行圖像編碼形成屏幕幀圖像數據。常見的圖像化編碼處理方法包括
JPEG等屬於靜止圖像壓縮編碼技木,JPEG具有失真小、壓縮率高、設備端硬體編碼和硬體解碼速度快的優勢;
MPEG等屬於運動圖像壓縮編碼技術,對於屏幕圖像特定的場景下,MPEG的失真較大,並且,實現實時壓縮傳輸,對發送方的CPU性能要求高;
完全増量方式(類似VNC),無失真,在屏幕變化小的情況下,信息量小,但在高解析度 下,當屏幕變化大時,増量信息大,對設備計算能力要求高。屏幕數據的圖像不完全屬於靜止圖像和運動圖像。採集屏幕數據的圖像化編碼採用JPEG方案。步驟ニ,使用増量計算方法,將當前屏幕幀圖像數據和前一屏幕幀圖像數據進行増量計算,獲取增量數據;增量計算方法是按照像素行的方式對屏幕幀圖像數據進行分組,通過比較前一屏幕幀圖像數據的對應分組數據是否相同,判斷是否產生變化,所有變化的分組數據構成增量數據。屏幕數據按照從上到下的順序劃分成行,從左到右的順序劃分成列,行和列均從0開始計數。實現中,按照行列的下標順序,從0行0列開始比較,當每行的全部列比較完成後,繼續比較下一行,直至屏幕全部比較完成。為敘述簡單,僅用13行*16列說明技術過程,如圖2所示,當前幀與前一幀的增量數據範圍在從第2行的第7列到第5行的第8列的矩形範圍內。步驟三,將當前屏幕幀圖像數據與增量數據進行混合壓縮編碼,獲取増量數據包;混合壓縮編碼是按照像素行的方式對屏幕幀圖像數據進行分組;以當前屏幕幀圖像數據為基礎;比較增量數據與當前屏幕幀圖像數據進行混合編碼;對增量數據中的全部像素進行壓縮編碼;壓縮取樣方法是比較每個像素點與其所在行的前一行的對應位置的像素點是否相同,比較每個像素點與其所在行的前一個像素點是否相同。計算機彩色顯示器顯示色彩的原理是採用R (Red)、G (Green)、B (Blue)相加混色的原理通過發射出三種不同強度的電子束,使屏幕內側覆蓋的紅、綠、藍磷光材料發光而產生色彩。這種色彩的表示方法稱為RGB色彩空間表示,它也是多媒體計算機技術中用得最多的ー種色彩空間表示方法。當三基色分量都為0 (最弱)時混合為黑色光;而當三基色分量都為k (最強)時混合為白色光。調整r、g、b三個係數的值,可以混合出介於黑色光和白色光之間的各種各樣的色光。現有的RGB24位色彩表示法的圖像方案下,採用的是定長表示方法,每個像素點至少要用24bit數據進行表示,如圖3所示24位像素。按照圖2中的13行*16列的面積,則至少需要4992 (13*16*24) bit數據。増量混合壓縮編碼是ー種變長數據表示法,如圖4所示,每個像素用2bit的標誌位和可選的0-15bit的變長數據位進行表示。選擇變長數據為15位的原因是相比24位色彩,15位色彩方式下縮減了數據量,但相比24位色彩方式圖像不會大幅度的失真。15位表示ー個像素,這15位中的5位用於R,5位用於G,5位用於B,如圖3所示15位像素。
除15位色彩外,還可以選擇更小的如9位RGB (3+3+3)、12位RGB (4+4+4),或更大的如24位RGB (8+8+8)、18位(6+6+6)、21位(7+7+7)方式,但9位色彩只能表現512種顏色,圖像失真嚴重;24位方式的信息量較15位方式増加了 9位,且顯示效果並沒有明顯的差異。如圖2所示情況下,増量混合壓縮編碼結果如圖6所示。從編碼表可見,增量混合壓縮編碼後的數據大小是431 (13*16*2+15) bit。編碼計算順序如圖5所示。獲取變化區域後, 對變化的區域進行編碼計算。每個像素的計算法則是首先與當前幀的前行同列比較,相同則編碼00,不同繼續;與當前幀的同行前列比較,相同則編碼01,不同繼續;與前ー幀的同行同列比較,相同則編碼10,不同編碼11另加15位顔色數據。下面舉例詳細說明一下編碼的計算過程
I由步驟ニ,增量範圍是從第2行的第4列到第5行的第8列,則除2至5行外的每行每個像素編碼為00 (無變化);
2第2行第4列的像素編碼00 (與當前幀的前行同列相同);
3第2行第5列的像素編碼10 (與前ー幀的同行同列相同);
4第2行第6列的像素編碼01 (與當前幀的同行前列相同);
5第3行第6列的像素編碼11加15位顔色數據(不滿足以上3種情況)。
步驟四,比較增量數據包與當前屏幕幀圖像數據的大小,較小的傳輸到行動裝置端。在増量混合壓縮編碼情況下,増量混合壓縮數據包大小會隨著表示的圖像變化面積的增大而増大。當表示的圖像變化面積超過一定比例時,有可能出現增量數據包比屏幕幀圖像數據還要大的情況,(如計算機切屏時,可能出現屏幕的完全變化),為優化傳輸,在傳輸數據包前,需要比較增量數據包與幀圖像數據,傳輸較小者節省帶寬。
權利要求
1.一種在計算機和行動裝置間通過增量混合壓縮編碼進行屏幕傳輸的方法,其特徵在於,包括 步驟一,採集計算機屏幕數據,對採集到的屏幕數據進行圖像編碼形成屏幕幀圖像數據; 步驟二,使用增量計算方法,將當前屏幕幀圖像數據和前一屏幕幀圖像數據進行增量計算,獲取增量數據; 步驟三,將當前屏幕幀圖像數據與增量數據進行混合壓縮編碼,獲取增量數據包; 步驟四,比較增量數據包與當前屏幕幀圖像數據的大小,較小的傳輸到行動裝置端。
2.如權利要求I所述的方法,其特徵在於所述步驟一中的圖像編碼方法是JPEG、JPEG2000、BMP、PNG等的一種或多種但不限於,較優的是選擇硬體設備能夠支持進行硬體編解碼計算的,提高運算速度。
3.如權利要求I所述的方法,其特徵在於所述步驟二中的增量計算方法是按照像素行的方式對屏幕幀圖像數據進行分組,通過比較前一屏幕幀圖像數據的對應分組數據是否相同,判斷是否產生變化,所有變化的分組數據構成增量數據。
4.如權利要求I所述的方法,其特徵在於所述步驟三中的混合壓縮編碼是按照像素行的方式對屏幕幀圖像數據進行分組;以當前屏幕幀圖像數據為基礎;比較增量數據與當前屏幕幀圖像數據進行混合編碼;對增量數據中的全部像素進行壓縮編碼;壓縮取樣方法是比較每個像素點與其所在行的前一行的對應位置的像素點是否相同,比較每個像素點與其所在行的前一個像素點是否相同。
5.如權利要求I所述的方法,其特徵在於所述步驟二是為了減少方法計算數據量,增加方法的計算速度的優化步驟,該步驟可選。
6.如權利要求I所述的方法,其特徵在於所述步驟二、步驟四中的像素行方式分組是當前屏幕技術條件下較優的一種分組方式,也可採取像素列、像素塊等方式進行分組實現。
7.如權利要求I所述的方法,其特徵在於所述步驟三中的混合壓縮編碼中,壓縮取樣方法是綜合選用了比較每個像素點與其所在行的前一行的對應位置的像素點是否相同,t匕較每個像素點與其所在行的前一個像素點是否相同這兩種取樣方式,這兩種取樣方式是目前屏幕技術下較優的方法,但壓縮取樣方式不限於選用一種或兩種或其他取樣方式。
8.如權利要求I所示的方法,其特徵在於所述步驟三中的混合壓縮編碼中對像素點數據採用2bit標誌加0-15bit變長數據的變長數據法進行表示,標誌位長度和變長數據位長度的組合不限於此。
全文摘要
本發明公開了一種在計算機和行動裝置間通過增量混合壓縮編碼進行屏幕傳輸的方法,該方法在計算機端採集屏幕數據,對採集到的屏幕數據進行圖像編碼形成屏幕幀圖像數據;使用增量計算方法,將當前屏幕幀圖像數據與前一屏幕幀圖像數據進行增量計算,獲取增量數據;將當前屏幕幀圖像數據與增量數據進行混合壓縮編碼,組成增量數據包;比較增量數據包與當前屏幕幀圖像數據的大小,較小的傳輸到行動裝置端。
文檔編號H04N7/26GK102710935SQ201110381588
公開日2012年10月3日 申請日期2011年11月28日 優先權日2011年11月28日
發明者周永軍, 戴崇堅 申請人:杭州華銀教育多媒體科技股份有限公司