新四季網

一種混合編碼與字典編碼整合的圖像壓縮方法及裝置的製作方法

2023-05-06 16:50:01 6

專利名稱:一種混合編碼與字典編碼整合的圖像壓縮方法及裝置的製作方法
技術領域:
本發明涉及計算機圖像壓縮的相關技術領域,具體地說是一種混合編碼與字典編碼整合 的圖像壓縮方法及裝置。
背景技術:
伴隨網絡信息技術的快速發展,多計算機之間及主機與其他數字設備之間的互聯己經成 為現實並越來越成為一種發展趨勢。這使得伺服器端到客戶端的實時屏幕傳輸成為當前的迫 切需求。由於需要傳輸的屏幕視頻數據量很大,以1280x1024大小的24位真彩色屏幕圖像為 例,60幀/s的話需要傳輸的數據超過200M字節,如此多的數據要想在當前的網絡條件下實 現實時傳輸是不可能的,因此有效的數據壓縮必不可少。
計算機屏幕圖像的突出特點是包含文字、背景、圖形及自然圖像的複合圖像(compound iniage)。其中,文字、背景、圖形由計算機生成或掃描儀輸入,而自然圖像是由攝像機拍攝 得到的。當前,對自然圖像和視頻的壓縮編碼已經比較成熟,有許多既定的標準可採用。這 些標準基本採用預測編碼與變換編碼結合的混合編碼的框架,但他們對複合圖像的壓縮效果
較差,必須尋求更適合於複合圖像壓縮的算法來實現有效壓縮。
冃前,對複合圖像的壓縮方法大致有兩種基於分層和基於塊的壓縮。基於分層的方法 是先將圖像分為不同的圖像層,如服C (mixed raster content)標準(ITU T. 44)把圖像分為 前景和背景兩個顏色層和一個二值掩膜層(binary mask),然後對不同的圖像層採用不同的 壓縮方法。基於分塊方法是將圖像分為許多固定大小塊(如8x8),而後對編碼塊做合適的分 類,對不同類型塊採用不同的方法壓縮。基於分層和基於塊的壓縮都是先將圖像做預處理, 然後對不同內容選擇不同的方法進行壓縮,因此都存在圖像分層或塊分類不準確的情況。

發明內容
本發明的目的是提供了一種混合編碼與字典編碼整合的圖像壓縮方法及裝置,解決了傳 統的圖像壓縮方法對複合圖像的壓縮都存在圖像分層或塊分類不準確的情況等問題。 為實現上述目的,本發明採用了以下技術方案-
對自然圖像,混合編碼框架是非常有效的方法,被廣泛應用於圖像和視頻的壓縮編碼中。而字典編碼則可實現對文字、背景、圖形的有效壓縮。因此本發明採用混合編碼和字典編碼 整合的壓縮方法,壓縮一幅圖像的具體步驟如下(如圖1所示)
(1) 將當前圖像分為多個非重疊的NxN(—般為16x16)大小的宏塊。
(2) 對每個宏塊,採用混合編碼法和字典編碼法分別壓縮。
(3) 比較混合編碼法和字典編碼法產生壓縮bits數(位數)的多少。若混合編碼法產生的 壓縮bits數少,則順序執行步驟(4),否則執行步驟(5)。
(4) 將混合編碼法產生的壓縮數據放入壓縮碼流。
(5) 將字典編碼法產生的壓縮數據放入壓縮碼流。
(6) 重複(1廣(5)直至當前圖像編碼結束。 其中混合編碼方法的壓縮流程如下(如圖2所示)
(1) 對要編碼的圖像宏塊,以已經完成編碼的復原圖像或宏塊的數據為參考,做幀間或幀內 預測,得到預測宏塊。
(2) 計算原始宏塊與預測宏塊的差得到預測誤差宏塊。
(3) 對預測誤差宏塊做變換處理。
(4) 對變換後的宏塊數據執行量化操作。
(5) 對宏塊量化的結果依次做反量化、反變換。
(6) 由預測宏塊和反變換得到的宏塊相加得到重構宏塊。
(7) 對重構宏塊做濾波等後處理操作,得到復原宏塊,以用作後續宏塊編碼時的參考,這一 步驟在某些編碼器中可以不使用。
(8) 對量化後的宏塊數據用熵編碼方法進一步壓縮形成最後的壓縮碼流。
(9) 對碼率進行控制,即確定下一宏塊量化和反量化時所使用的量化參數QP;QP也可以 取常數。
(抑當前宏塊編碼結束。
為了提高字典方法對單個宏塊的壓縮比,從而提高混合編碼和字典編碼整合的壓縮方法 的壓縮性能,本發明不僅使用當前宏塊的數據作為字典,同時使用己編碼過的其他宏塊的數據作為字典,這裡採用兩種方法之一擴大預測數據的範圍-
(1) 使用當前編碼字節之前的原始圖像的R個字節數據作為字典,用OH一R表示該字典。
(2) 使用當前編碼字節之前的復原圖像的R個字節數據作為字典,用Rec—R表示該字典。
R大於一個宏塊的數據個數(以下同)。對混合編碼和字典編碼整合的壓縮方法而言,對 編碼器,方法l比方法2需要多存儲原始圖像數據,同時由於方法1的解碼器無法得到原始 圖像,需要使用復原圖像的R個字節數據作為字典,因此字典壓縮可能為有損壓縮。因此方 法2既能減少存儲空間,又能提高壓縮性能,同時使編解碼所使用的字典數據保持一致,保 證字典編碼為無損壓縮。
對應上述擴大預測數據範圍的兩種方法,圖1中字典編碼方法的壓縮流程分別如圖3(a) 和3(b)所示,具體歩驟如下
(1) 對當前編碼串,在字典(對圖3(a),字典為0ri一R;對圖3(b),字典為Rec一R)中査找 匹配的字符串,最後將查找到的結果放入碼流中。
(2) 將當前宏塊中剛已編碼過的數據插入字典。
(3) 重複步驟(ir(2),直至當前宏塊編碼結束。
混合編碼和字典編碼整合的圖像壓縮裝置由以下模塊組成(如圖4表示)
1、混合編碼模塊,採用混合編碼方法壓縮宏塊,包括以下單元-
(1) 預測單元,根據參考像素對編碼宏塊內每個像素做預測得到預測宏塊。
(2) 預測誤差單元,計算原始宏塊與預測宏塊的差得到預測誤差宏塊。
(3) 變換單元,對預測誤差宏塊做某種形式的正交變換,如DCT (離散餘弦變換)變換。
(4) 量化單元,對變換後的宏塊數據做量化處理,以減小非O係數的幅值及增加O係數的個數。
(5) 熵編碼單元,對量化後的宏塊數據用算術編碼等熵編碼方法進行壓縮。
(6) 碼率控制單元,以確定下一宏塊量化和反量化時所使用的量化參數QP,或將QP取為 常數。
(7〉反量化單元,對量化後的宏塊數據做反量化。(8)反變換單元,對宏塊數據反量化後的結果做反變換。
(9〉圖像重構單元,計算反變換得到的宏塊與預測宏塊的和,得到重構宏塊。
(抑後處理單元,對重構宏塊做濾波或其他處理後得到最終的復原宏塊,這一單元是可選的, 在某些編碼器中可能不使用。
2、 字典編碼模塊,採用字典方法壓縮宏塊,包括以下單元
(1) 匹配串搜索單元,通過查閱字典尋找當前編碼串的匹配數據的方法編碼宏塊。
(2) 建立字典爭元,將在編碼過程中用到的預測數據插入字典。這裡用到的預測數據包括以 下兩種情況①當前編碼字節之前的原始圖像的R個字節數據作為字典即預測數據。② 當前編碼字節之前的復原圖像的R個字節數據作為字典即預測數據。此外,對情況l, 建立字典單元還需要存儲字典數據對情況2,字典數據直接使用復原圖像存儲模塊中 的圖像數據,因此建立字典單元不需要存儲字典數據。
3、 編碼方法選擇模塊,根據混合編碼模塊和字典編碼模塊的壓縮結果,選擇編碼位數較少的 方法產生的壓縮數據放入壓縮碼流。
4、 復原圖像存儲模塊,以存儲由混合編碼模塊或字典編碼模塊產生的復原圖像數據。
5、 復原數據替換模塊,若編碼方法選擇模塊選擇使用字典編碼法壓縮,則用字典編碼法的復 原宏塊數據替換復原圖像存儲模塊中的混合編碼法的復原宏塊數據。
6、 碼流輸出或存儲模塊,對壓縮後的碼流進行存儲或輸出的模塊。
上述混合編碼和字典編碼整合的圖像壓縮方法的解碼流程如圖5所示,包括以下步驟
U)通過解碼當前宏塊,判斷當前宏塊的編碼方式,若使用混合編碼法編碼,則順序執行步 驟(2〉;否則執行步驟(3)。
(2) 用混合編碼法的解碼器解碼,跳到步驟(4)。
(3) 用字典編碼法的解碼器解碼。 ④重複步驟(1) (3),直至碼流結束。
混合編碼法的解碼流程具體步驟如下(如圖6所示)(1) 對碼流中的信息做熵解碼。
(2) 熵解碼得到的宏塊數據依次經過反量化、反變換過程。
(3) 由熵解碼得到的預測模式等信息,在己完成解碼的復原圖像或宏塊內做預測得到預測宏塊。
(4) 預測宏塊與反變換得到的預測誤差宏塊相加,得到重構宏塊。
(5) 重構宏塊經過濾波等後處理操作(屬可選操作,可以採用也可以不採用)後得到復原宏 塊。
字典編碼法的解碼流程包括以下步驟(如圖7所示)
(1) 根據碼流中的信息查找字典,得到相應的字符串。
(2) 將當前宏塊中已解碼過的數據放入字典。
(3) 重複步驟(1廣(2),直至當前宏塊解碼結束。
混合編碼和字典編碼整合的圖像壓縮的解碼裝置由4個模塊組成(如圖8所示)
1、 編碼方式判別模塊,對碼流中的當前宏塊的編碼方式解碼,若使用混合編碼法編碼,則使 用其相應的解碼器解碼,否則用字典編碼法的解碼器解碼。
2、 混合編碼法的解碼模塊,對使用混合編碼法編碼的宏塊解碼,包括以下單元。
(1) 熵解碼單元,解碼輸入碼流,得到量化後的宏塊數據及預測模式等信息。
(2) 反量化單元,對熵解碼得到的宏塊數據做反量化。
(3) 反變換單元,對反量化得到的宏塊數據做反變換。
(4) 預測單元,根據解碼得到的預測模式等輔助信息,由已經完成解碼的復原圖像或宏塊的 數據得到預測宏塊。
(5) 圖像重構單元,反變換得到的預測誤差宏塊及預測單元得到的預測宏塊相加,得到重構 宏塊。
(6) 後處理單元,對重構宏塊做濾波等後處理工作,屬於可選單元。
3、 字典編碼法的解碼模塊,解碼由字典編碼法編碼的宏塊,包括以下單元。 (l)字符串查找單元,根據碼流中的信息在字典中查找相應的字符串。(2)建立字典單元,由解碼得到的宏塊數據生成字典。字典數據直接使用復原圖像存儲模塊 中的圖像數據,因此解碼器中的建立字典單元不需要存儲字典數據。
4、復原圖像存儲模塊,存儲由混合編碼法的解碼器或字典編碼法的解碼器解碼得到的圖像數 據。
本發明與現有技術相比,具有如下的優點
1、 能根據實際的壓縮要求(高碼率或低碼率),自適應選擇採用混合編碼法或字典編碼 法壓縮,避免了以往文獻由於圖像分層或塊分類不準確而導致的壓縮性能下降。
2、 通過採用原始圖像或復原圖像的最近R (R大於一個宏塊的數據)個字節數據作為字 典,提高了整個複合圖像壓縮方法的壓縮性能。


圖1為混合編碼和字典編碼整合的圖像壓縮流程圖; 圖2為混合編碼法的壓縮流程圖3 (a)為字典編碼法(使用字典0ri—R)的壓縮流程圖; 圖3 (b)為字典編碼法(使用字典Rec一R)的壓縮流程圖; 圖4為混合編碼和字典編碼整合的圖像壓縮裝置示意圖; 圖5為混合編碼和字典編碼整合的圖像壓縮方法的解碼流程圖; 圖6為混合編碼法的解碼流程圖7為字典編碼法的解碼流程圖8為混合編碼和字典編碼整合的圖像壓縮方法的解碼裝置示意圖; 圖9為H. 264與Gzip自適應的圖像壓縮流程圖; 圖IO為H. 264的編碼流程圖
圖11(a)為Gzip的壓縮流程圖(使用字典Gzip—Ori);
圖11 (b)為Gzip的壓縮流程圖(使用字典Gzip— Rec);
圖12為H. 264與Gzip自適應的圖像壓縮裝置示意圖13為H. 264和Gzip自適應的圖像壓縮方法的解碼流程圖14為H. 264解碼流程圖15為Gzip的解碼流程圖16為H. 264和Gzip自適應的圖像壓縮的解碼裝置示意圖。
具體實施例方式
以下結合附圖及實施例對本發明作進一步描述。
文字/圖形和自然圖像都有各自較成熟的壓縮方法。目前,基於混合編碼框架的H.264是 自然視頻壓縮的最有效方法,而對於文字/圖形,基於LZ(Lempe1-Ziv)字典編碼算法的Gzip 壓縮無疑是一種很有效的方法,本實施例採用H.264和Gzip自適應的方法壓縮複合圖像,具 體壓縮流程如圖9所示,包括以下步驟
(1) 將圖像分為多個非重疊的16x16大小宏塊。
(2) 對每個宏塊,採用H. 264和Gzip分別壓縮。
(3) 在H. 264和Gzip中選擇壓縮位數較少的方法產生的壓縮數據放入壓縮碼流。
(4) 重複步驟(1) (3)直到當前圖像編碼完成。
圖9中H. 264的編碼流程如圖10所示,包括以下步驟
(U對當前宏塊,以已經完成編碼的復原圖像或宏塊的數據為參考,做幀間或幀內預測得 到預測宏塊。
(2) 計算原始宏塊與預測宏塊的差得到預測誤差宏塊。
(3) 對預測誤差宏塊執行變換、量化操作。
(4) 量化後的係數依次經過反量化、反變換。
(5) 由預測宏塊和反變換得到的宏塊相加得到重構宏塊。
(6) 對重構宏塊做濾波處理,生成最後的復原宏塊並用於後續宏塊的編碼。
(7) 量化後的宏塊數據經過重新排序,最後經基於上下文的自適應可變長編碼CAVLC (Context-based Adaptive Variable Length Coding)或基於上下文的自適應二進位算術編
碼CABAC (Context Adaptive Binary Arithmetic Coding)等熵編碼方法進一步壓縮後輸出 到碼流中。
(8) 對碼率進行控制,即根據已完成編碼的宏塊的編碼情況(如壓縮位數)及其他信息確 定下一宏塊量化和反量化時所使用的量化參數QP, QP也可以取常數。
(9) 當前宏塊編碼結束。
在H. 264與Gzip自適應的複合圖像壓縮方法中,同樣採用下面兩種方法之任一種擴大預 測數據的範圍,提高對圖像的壓縮比
(1) 使用當前編碼字節之前的原始圖像的32k字節數據作為字典,用Gzip一0ri表示該字典。
(2) 使用當前編碼字節之前的復原圖像的32k字節數據作為字典,用Gzip一Rec表示該字典。 32k中的k表示1024,也就是2的10次方。在圖9的複合圖像編碼框架中,每個宏塊分別採用H.264和Gzip壓縮。H.264按照標準的規定編碼,無需做修改。但採用原始圖像或復 原圖像的32k字節數據做字典後,需要對Gzip編碼過程中的算法做進一步的修改。原先Gzip 中的壓縮算法詳細描述如下
Gzip中的壓縮以Deflate算法為基礎。Deflate算法是LZ算法的變體,採用LZ77和 Huffman編碼相結合的方法壓縮。在Gzip中,使用滑動窗口法尋找匹配串,當前處理字節開 始的串只是在它之前的一定大小的範圍(即窗口)內尋找匹配串,窗口的大小固定為32k字 節,最大和最小匹配串分別為258和3位元組。為了提高尋找匹配串的速度,Gzip使用了hash 表,並使用head[]和prev[]兩個數組將編碼串插入字典。對當前編碼串(設當前字節的位置 為strstart),利用前三個字節,使用設計好的hash函數計算出該編碼串在字典中的插入位 置ins一h,然後將head[ins h]保存的原先一個串的位置賦與prev[strstart],而strstart 保存在鏈頭head[insj!]中,即head [ins—h]=strstart。 Gzip按上述方法將編碼過的數據立 即插入字典,這樣字典位置ins一h相同的所有串都被鏈在一起,可以非常方便的實現匹配串 的查找。Gzip在內存中開闢了大小為64k字節(即兩個窗口)的緩衝區window[],用於讀入 未壓縮的數據。壓縮開始,對小於64k字節的文件,Gzip將全部內容讀入緩衝區;對大於64k 字節的文件,Gzip順序讀64k字節的數據到緩衝區。當windOT[]中未處理的字節數小於(最 大匹配長度+最小匹配長度+l)並且不是文件尾時,將執行fill—window。 fill—window 函數中,在當前字節的位置strstart〉-(64k-262〉的前提下,就把第二窗的內容,複製到第一 窗中,然後對lmsh鏈中的相關數據做修正。此外,若不是文件尾,還要順序讀取文件的剩餘 內容填入winciow[]。
採用原始圖像或復原圖像的最近32k字節數據作為字典後,Gzip所做的修改詳細描述如

在本實施例中,採用基於16x16大小宏塊的編碼方案,圖像可以為YUV4:4:4或其他色度 二次釆樣格式,也可以是RGB彩色圖像,若每種顏色分量均為8位,每個宏塊的數據固定且 小於等於768位元組,遠小於32k字節,因此本實施例採用原始圖像或復原圖像的最近32k字 節數據作為字典,以提高Gzip對單個宏塊的壓縮率。做到這點需要對Gzip中的算法做相應 修改。此時,將fill一window放在編碼環路之外。假定每個宏塊的數據為D—鵬字節,則執 行fill—window的條件變為緩衝區window[]中的剩餘空間〈(D—MB+2 ),力t] 2是由於要多 讀兩個字節以計算宏塊中最後一個字節在字典中的插入位置。此外,fill一window中要去掉 執行讀取文件剩餘內容的操作以及hash鏈修正的前提條件strstart>=(64k-262)。修改後 的fill—window0函數用fill一window一mod 表示。採用原始圖像或復原圖像的的最近32k字節數據作為字典後,Gzip編碼每個宏塊的流程 分別如圖ll (a)和ll (b)所示,整個壓縮過程包括以下步驟
(1) 讀當前宏塊數據到window緩衝區。
(2) 在字典(對圖11 (a),字典為Gzip—0ri;對圖il (b),字典為Gzip_Rec)中搜索當前 編碼串的匹配串。
(S)將字典査找的結果用Huffman編碼。
(4) 輸出Huffman編碼結果到碼流中。
(5) 將剛編碼過的數據放入字典中。
(5) 判斷window緩衝區中未編碼的數據是否為0,若否則跳到步驟(2),否則順序執行。
(6) 判斷window[]緩衝區中的剩餘空間是否小於〔D—MB+2 ),若是則執行步驟(7),否則執行 步驟(8)。
(7) 運行fill—window—mod 函數。
(5) 當前宏塊編碼結束。
上述H.264和Gzip自適應壓縮方法的裝置示意圖如圖12所示。 整個編碼裝置主要由以下模塊組成-
1、 H.264編碼模塊,用H. 264壓縮每個宏塊,主要由以下單元組成-
(1) H. 264幀內/幀間預測單元,以已經完成編碼的復原圖像或宏塊的數據做參考,做幀間 或幀內預測得到預測宏塊.
(2) H. 264預測誤差單元,由原始宏塊與預測宏塊之差得到預測誤差宏塊。
(3) H.264變換單元,對預測誤差宏塊做近似DCT的整數變換,得到變換係數宏塊。
(4) H. 264量化單元,對變換係數宏塊做量化處理。
(5肚264熵編碼單元,對量化後的宏塊數據進行重新排序後,再用基於上下文的自適應可 變長編碼CAVLC (Context-based Adaptive Variable Length Coding)或基於上下文的自適 應二進位算術編碼CABAC (Context Adaptive Binary Arithmetic Coding)進一步壓縮。
(6) 碼率控制單元,根據已完成編碼的宏塊的編碼情況(如壓縮位數)及其他信息確定下 一宏塊量化和反量化時所使用的量化參數QP, QP也可以取常數。
(7) H,264反量化單元,量化過程的逆操作,對量化後的宏塊數據做反量化。
(8) H. 264反變換單元,對反量化後的宏塊數據執行反變換操作。 (9附.264圖像重構單元,計算反變換得到的宏塊與預測宏塊的和,得到重構宏塊。(抑H. 264環路濾波單元,對重構宏塊進行濾波處理。
2、 Gzip編碼模塊,用Gzip壓縮每個宏塊,主要由以下單元組成
(1) 匹配串搜索單元,在字典中査找當前編碼串的匹配串。
(2) Huffman編碼單元,用Huffman編碼法編碼字典查找的結果。
(3) 建立字典單元,將編碼過程中用到的預測數據插入字典。這裡用到的預測數據包括以 下兩種情況①當前編碼字節之前的原始圖像的32k字節數據作為字典即預測數據。②當前 編碼字節之前的復原圖像的32k字節數據作為字典即預測數據。此外,對情況l,建立字典單 元還需要存儲字典數據;對情況2,字典數據直接使用復原圖像存儲模塊中的圖像數據,因此 建立字典單元不需要存儲字典數據。
3、 編碼方法選擇模塊,根據H.264和Gzip的壓縮結果,選擇編碼位數較少的方法產生 的壓縮數據放入壓縮碼流。
4、 復原圖像存儲模塊,存儲復原圖像數據,用作後續宏塊編碼時的參考。這裡的復原圖 像數據是由H. 264編碼模塊中的H. 264環路濾波單元和復原數據替換模塊產生的。
5、 復原數據替換模塊,若編碼方法選擇模塊最終選擇採用Gzip壓縮,則將Gzip的復原 數據存入復原圖像存儲模塊,用於後續宏塊編碼時的參考。
6、 碼流輸出或存儲模塊,對壓縮後的碼流進行存儲或輸出的模塊。
在本實施例中,對應採用原始圖像或復原圖像的最近32k字節數據作為字典兩種不同方 法,圖12中G'zip壓縮模塊中的建立字典單元所做的具體工作有所不同。對採用原始圖像的 最近32k字節數據作為字典的方法,建立字典單元負責將剛編碼過的原始宏塊數據插入字典。 而採用復原圖像的最近32k字節數據作為字典時,建立字典單元所做的具體工作詳細描述如 下'-
採用復原圖像的最近32k字節數據作為字典,字典中的數據既包括H. 264復原圖像內容 也包括Gzip的復原圖像內容。仍假定每個宏塊的數據為D_MB字節。Gzip編碼每個宏塊的過 程伴隨著根據原始宏塊數據修正head[]和prev[]數組的過程。對當前宏塊,若編碼方法選擇 模塊最終選擇H. 264編碼時,其復原宏塊採用H. 264的復原數據。由於Gzip在編碼過程中已 將原始宏塊數據插入字典,因此對建立字典單元來講,必須用H. 264的復原數據將其替換。 此外,由於將前一個宏塊的最後兩個字節插入字典時,計算他們在字典中的位置ins—h需要 用到當前宏塊的前兩個字節,因此當編碼方法選擇模塊選擇H.264編碼時,同樣由於H.264 的復原宏塊數據與原始宏塊數據不盡相同,需要建立字典單元重新計算前一個宏塊的最後兩 個字節在字典中的位置ins一h。H. 264與Gzip自適應的圖像壓縮方法的解碼流程如下圖所示,包括以下步驟
(1) 通過解碼輸入碼流,判斷當前宏塊的編碼方式,若使用H.264壓縮,則用H.264的解 碼器解碼,否則使用Gzip的解碼器解碼。
(2) 重複步驟(1),直至碼流結束。
圖13中H. 264的解碼流程如圖14所示,包括以下步驟
(1) 對碼流中的宏塊信息做熵解碼,然後對解碼得到的宏塊內各係數重新排序,恢復各系 數在編碼器中重新排序前的次序。
(2) 重新排序後的宏塊數據經過反量化、反變換過程得到預測誤差宏塊。
(3) 由熵解碼得到的預測模式等輔助信息在已完成解碼的復原圖像或宏塊內做幀間/幀內 預測,得到預測宏塊。
(4) 反變換得到的預測誤差宏塊及預測單元得到的預測宏塊相加得到重構宏塊。
(5) 對重構宏塊做環路濾波後得到復原宏塊。
圖13中Gzip的解碼流程如圖15所示。包括以下步驟
(1) 對碼流中的宏塊信息做Huffman解碼。
(2) 以己完成解碼的宏塊數據為字典,根據Huffman解碼結果査找字典,得到相應的字符串。
(3) 將當前宏塊中已解碼過的數據放入復原圖像緩存區。
(4) 重複步驟(ir(3),直至當前宏塊解碼結束。
圖16是H. 264與Gzip自適應的圖像壓縮方法的解碼裝置示意圖,包括以下模塊
I、 編碼方式判別模塊,通過解碼碼流,判斷當前宏塊的編碼方式是H. 264還是Gzip壓 縮。若使用H.264壓縮,則用H. 264的解碼器解碼,否則用Gzip的解碼器解碼。
2、 H.264解碼模塊,對使用H.264編碼的宏塊解碼,包括以下單元 (1旭.264熵解碼單元,解碼碼流,得到量化後的宏塊數據及預測模式等輔助信息。然後對 量化後的宏塊內各係數重新排序,恢復各係數在H. 264編碼器中重新排序前的次序。
(2) H. 264反量化單元,對重定序得到的宏塊數據做反量化。
(3) H. 264反變換單元,對反量化得到的宏塊數據做反變換。
(4) H. 264幀內/幀間預測單元,用已完成解碼的復原圖像或宏塊數據及解碼得到的預測模式等輔助信息對當前宏塊做預測,得到預測宏塊。
(5) H. 264圖像重構單元,由反變換得到的預測誤差宏塊與預測宏塊相加得到重構宏塊。
(6) H.264環路濾波單元,對重構宏塊執行濾波操作,得到最後的復原宏塊。
3、 Gzip解碼模塊,解碼由Gzip壓縮的宏塊,包括以下單元
(1) Huffman解碼單元,解碼碼流中i Huffman編碼的數據,得到當前宏塊數據在字典中的 信息。
(2) 字符串査找單元,根據解碼得到的宏塊數據在字典中的信息查找字典,得到相應的字 符串。
4、 復原圖像存儲模塊,存儲H.264和Gzip解碼得到的圖像數據。
權利要求
1、一種混合編碼與字典編碼整合的圖像壓縮方法,其特徵在於壓縮流程包括以下步驟(1)將當前圖像分為多個非重疊的N*N大小的宏塊;(2)對每個宏塊,採用混合編碼法和字典編碼法分別壓縮;(3)比較混合編碼法和字典編碼法產生壓縮bits數,若混合編碼法產生的壓縮bits數少於字典編碼法,則順序執行步驟(4),否則執行步驟(5);(4)將混合編碼法產生的壓縮數據放入壓縮碼流;(5)將字典編碼法產生的壓縮數據放入壓縮碼流;(6)重複(1)至(5)直至當前圖像編碼結束;解碼流程包括以下步驟(1)通過解碼當前宏塊,判斷當前宏塊的編碼方式,若使用混合編碼法編碼,則順序執行步驟(2),否則執行步驟(3);(2)用混合編碼法的解碼器解碼,跳到步驟(4);(3)用字典編碼法的解碼器解碼;(4)重複步驟(1)至(3),直至碼流結束。
2、按權利要求l所述的一種混合編碼與字典編碼整合的圖像壓縮方法,其特徵在於 所述的混合編碼方法的壓縮流程包括以下步驟-(1) 對要編碼的圖像宏塊,以已經完成編碼的復原圖像或宏塊的數據為參考,做幀間或幀內預 測,得到預測宏塊;(2) 計算原始宏塊與預測宏塊的差得到預測誤差宏塊;(3) 對預測誤差宏塊做變換處理;(4) 對變換後的宏塊數據執行量化操作;(5) 對宏塊量化的結果依次做反量化、反變換;(6) 由預測宏塊和反變換得到的宏塊相加得到重構宏塊;(7) 對量化後的宏塊數據用熵編碼方法進一步壓縮形成最後的壓縮碼流;(8) 對碼率進行控制,即確定下一宏塊量化和反量化時所使用的量化參數QP; 混合編碼法的解碼流程包括以下步驟 U)對碼流中的信息做熵解碼;(2) 熵解碼得到的宏塊數據依次經過反量化、反變換過程;(3) 由熵解碼得到的預測模式信息及解碼輔助信息,在已完成解碼的復原圖像或宏塊內做預測得到預測宏塊(4)預測宏塊與反變換得到的預測誤差宏塊相加,得到重構宏塊。
3、 按權利要求2所述的一種混合編碼與字典編碼整合的圖像壓縮方法,其特徵在於對壓縮 流程歩驟(6)得到的重構宏塊做像素的後處理操作,得到復原宏塊,以用作後續宏塊編碼時的 參考;對解碼流程步驟(4)得到的重構宏塊經過對像素的後處理操作後得到復原宏塊。
4、 按權利要求2所述的一種混合編碼與字典編碼整合的圖像壓縮方法,其特徵在於壓縮流 程步驟(8)中所述的QP也可以取常數。
5、 按權利要求l所述的一種混合編碼與字典編碼整合的圖像壓縮方法,其特徵在於所述的字典編碼方法的壓縮流程包括以下步驟(1) 對當前編碼串,在字典中査找匹配的字符串,然後將査找到的結果放入碼流中;(2) 將當前宏塊中剛已編碼過的數據插入字典;(3) 重複步驟(1)至(2),直到當前宏塊編碼結束; 字典編碼法的解碼流程包括以下步驟U)根據碼流中的信息查找字典,得到相應的字符串;(2) 將當前宏塊中已解碼過的數據放入字典;(3) 重複步驟a)至(2),直到當前宏塊解碼結束。
6、 按權利要求5所述的一種混合編碼與字典編碼整合的圖像壓縮方法,其特徵在於使用當前編碼字節之前的原始圖像的R個字節數據作為字典,其中R大於一個宏塊的數據個數。
7、 按權利要求5所述的一種混合編碼與字典編碼整合的圖像壓縮方法,其特徵在於使用當前編碼字節之前的復原圖像的R個字節數據作為字典,其中R大於一個宏塊的數據個數。
8、 一種混合編碼與字典編碼整合的圖像壓縮裝置,其特徵在於 其壓縮裝置由以下模塊組成混合編碼模塊,以採用混合編碼方法壓縮宏塊; 字典編碼模塊,以採用字典方法壓縮宏塊;編碼方法選擇模塊,以根據混合編碼模塊和字典編碼模塊的壓縮結果,選擇編碼位數較少的 方法產生的壓縮數據放入壓縮碼流;復原圖像存儲模塊,以存儲由混合編碼模塊或字典編碼模塊產生的復原圖像數據; 復原數據替換模塊,當使用字典編碼法壓縮,用於將字典編碼法的復原宏塊數據替換復原圖 像存儲模塊中的混合編碼法的復原宏塊數據; 碼流輸出或存儲模塊,以對壓縮後的碼流進行存儲或輸出;其解碼裝置由以下模塊組成編碼方式判別模塊,以對碼流中的當前宏塊的編碼方式進行判別,選擇相應的解碼器解碼; 混合編碼法的解碼模塊,以對使用混合編碼法編碼的宏塊解碼; 字典編碼法的解碼模塊,以對使用字典編碼法編碼的宏塊解碼;復原圖像存儲模塊,以存儲由混合編碼法的解碼器或字典編碼法的解碼器解碼得到的圖像數 據。
9、 按權利要求8所述的一種混合編碼與字典編碼整合的圖像壓縮裝置,其特徵在於 其壓縮裝置中的混合編碼模塊包括以下單元(1) 預測單元,以根據參考像素對編碼宏塊內每個像素做預測得到預測宏塊;(2) 預測誤差單元,以計算原始宏塊與預測宏塊的差得到預測誤差宏塊;(3) 變換單元,以對預測誤差宏塊做正交變換;(4) 量化單元,以對變換後的宏塊數據做量化處理,以減小非0係數的幅值及增加0係數的個 數;(5) 熵編碼單元,以對量化後的宏塊數據用算術編碼等熵編碼方法進行壓縮;(6) 碼率控制單元,以確定下一宏塊量化和反量化時所使用的量化參數QP,或將QP取為常數;(7) 反量化單元,以對量化後的宏塊數據做反量化。(8) 反變換單元,以對宏塊數據反量化後的結果做反變換。(9) 圖像重構單元,以計算反變換得到的宏塊與預測宏塊的和,得到重構宏塊。
10、 按權利要求9所述的 種混合編碼與字典編碼整合的圖像壓縮裝:置,其特徵在於壓縮 裝賞中的混合編碼模塊還包括後處理單元,以對重構宏塊做像素的後處理後得到最終的復原 宏塊。
11、 按權利要求8所述的一種混合編碼與字典編碼整合的圖像壓縮裝置,其特徵在於-其壓縮裝置中的字典編碼模塊包括以下單元(1) 匹配串搜索單元,以通過查閱字典尋找當前編碼串的匹配數據的方法編碼宏塊;(2) 建立字典單元,以將在編碼過程中用到的預測數據插入字典。
12、 按權利要求8所述的一種混合編碼與字典編碼整合的圖像壓縮裝置,其特徵在於 其解碼裝置中的混合編碼法的解碼模塊包括以下單元-(1) 熵解碼單元,以解碼輸入碼流,得到量化後的宏塊數據、預測模式信息、及解碼輔助信息(2) 反量化單元,以對熵解碼得到的宏塊數據做反量化;(3) 反變換單元,以對反量化得到的宏塊數據做反變換;(4) 預測單元,以根據解碼得到的預測模式信息及解碼輔助信息,由己經完成解碼的復原圖像 或宏塊的數據得到預測宏塊;(5) 圖像重構單元,以將反變換得到的預測誤差宏塊及預測單元得到的預測宏塊相加,得到重 構宏塊。
13、 按權利要求12所述的一種混合編碼與字典編碼整合的圖像壓縮裝置,其特徵在於其解 碼裝置中的混合編碼法的解碼模塊還包括後處理單元,以對重構宏塊做像素的後處理。
14、 按權利要求8所述的一種混合編碼與字典編碼整合的圖像壓縮裝置,其特徵在於 其解碼裝置中的字典編碼法的解碼模塊包括以下單元(1) 字符串查找單元,以根據碼流中的信息在字典中查找相應的字符串;(2) 建立字典單元,以將解碼得到的宏塊數據生成字典。
全文摘要
本發明涉及一種混合編碼與字典編碼整合的圖像壓縮方法及裝置,在編碼過程中,對每個宏塊分別採用混合編碼法和字典編碼法進行壓縮,最後選擇編碼位數較少的方法產生的壓縮數據放入壓縮碼流。在採用字典編碼方法壓縮每個宏塊時,使用下面兩種方法之任一種有效提高對圖像的壓縮性能(1)用原始圖像的最近R個(R大於一個宏塊的數據個數)字節數據作為字典。(2)復原圖像的最近R個(R大於一個宏塊的數據個數)字節數據作為字典。本發明與現有技術相比,避免了以往文獻由於圖像分層或塊分類不準確而導致的壓縮性能下降,以及提高了整個複合圖像壓縮方法的壓縮性能。
文檔編號H04N7/26GK101420614SQ20081020372
公開日2009年4月29日 申請日期2008年11月28日 優先權日2008年11月28日
發明者濤 林, 王淑慧 申請人:同濟大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀