專利名稱:一種小波圖像的編碼方法和裝置的制作方法
技術領域:
本發明涉及數字圖像編碼和視頻編碼技術領域,尤其涉及一種小波圖像的編碼方 法和裝置。
背景技術:
自20世紀80年代以來,小波變換因其特有的與人眼視覺特性相符的多分辨率分 析能力及方向選擇能力,而被廣泛應用于圖像壓縮領域,并取得了很好的效果。圖像經小波分解后可得到一系列不同分辨率的子帶,不同分辨率的子帶對應的頻 率也不同,之后再對得到的子帶進行編碼,也就是對小波圖像進行編碼,從而達到壓縮圖像 的目的,以便執行后續圖像傳輸的操作。小波圖像編碼的關鍵就是如何更好地組織和表示 小波系數,從而更好地利用小波系數所具有的統計特性,實現最大程度的數據壓縮。其中, 所述小波系數與圖像經小波分解后所得的各子帶對應,每個子帶均有與之對應的多個小波 系數。目前,小波圖像編碼的方法有很多,包括矢量量化、標量量化、零樹編碼以及零塊 編碼等,這些編碼方法中,編碼效率比較高的主要有兩種基于零樹(Zero-tree)的小波編 碼方法和基于零塊aero-block)的小波編碼方法。其中,所述基于零樹的小波編碼方法中,比較有代表性的有嵌入式零樹小波 (EZff, Embedded Zero-tree Wavelet)編碼方法和分層小波樹集合分裂(SPIHT, Set Partitioning In Hierarchical Trees)編碼方法。這里,所述EZW編碼方法充分利用了不 同尺度間小波系數的相似特性,有效地剔除了對高頻小波系數的編碼,極大地提高了小波 系數的編碼效率;所述SPIHT編碼方法,是在EZW編碼方法基礎上提出的一種更高效的小波 圖像編碼方法,通過設計空間方向樹來更有效地組織小波系數,所述空間方向樹的數據結 構不僅充分利用了不同尺度間小波系數的相關性,也充分考慮了同一尺度下小波系數的相 關性,因此可以更有效地組織小波系數,提高編碼效率。所述基于零塊的小波編碼方法,采用四叉樹分解的小波系數組織方式,即將圖像 分成四個區域,各區域對應一個集,如果這個集中的所有像素值都小于當前預設的閾值,則 認為這個集是不重要,是“零塊”,用比特0就可以表示該集中所有小波系數的狀態;如果 這個集中的所有像素值都大于當前預設的閾值,則認為這個集是重要的,將這個區域再分 裂成四個子區域得到四個子集,然后對這四個子集重復進行重要性檢測,對重要的子集仍 然采用所述四叉樹分解方法繼續進行分裂,直到確定當前閾值下所有重要的小波系數。基 于零塊的小波編碼主要有集合分裂嵌入塊編碼方法(SPECK,Set Partitioned Embedded Block Coder)和優化截斷點的嵌入塊編碼方法(EBC0T,Embedded Block Codingwith Optimized Truncation)等。雖然現有的EZW、SPIHT和SPECK等小波編碼方法具有嵌入的特性,但這些編碼方 法得到的嵌入式碼流對誤碼非常敏感,由于所述已有的編碼方法利用不同子帶小波系數間 的相關性,那么,如果碼流的傳輸過程中一旦出現誤碼,小波系數間的相關性遭到破壞,則此誤碼之后的碼流將失去同步,導致后續將碼流解碼出的圖像“面目全非”,可見,現有小波 編碼方法的抗誤碼能力較差。此外,同樣由于現有編碼過程中小波系數間的相關性,使得現 有的小波編碼方法不支持多種空間分辨率解碼,也就是說,現有的小波編碼方法得到的壓 縮碼流經解碼后只能得到固定分辨率的解碼圖像,應用范圍受到限制。
發明內容
有鑒于此,本發明的主要目的在于提供一種小波圖像的編碼方法和裝置,可提高 編碼所得碼流的抗誤碼能力,且碼流支持多種空間分辨率的解碼。為達到上述目的,本發明的技術方案是這樣實現的本發明提供了一種小波圖像的編碼方法,該方法包括利用金字塔結構對經小波分解所得的各子帶對應的小波系數進行分類,再對已分 類的小波系數執行對應的編碼操作,得到各子帶的壓縮碼流;根據各子帶壓縮碼流的率失 真特性,將目標碼率在各子帶的壓縮碼流間進行最優分配,依據各子帶被分配的碼率對各 子帶的碼流進行截斷,得到對小波圖像進行編碼的碼流。其中,所述利用金字塔結構對經小波分解所得的各子帶對應的小波系數進行分 類,再對已分類的小波系數執行對應的編碼操作的過程,具體為為當前子帶構建對應的金字塔結構;為當前子帶設置第一像素列表和第二節點列表,并初始化設置第一像素列表和第 二節點列表中的內容及比特平面系數η的初始值大小;對所構建金字塔結構中的所有小波系數進行分類;對分類得到的第一像素列表中的小波系數執行細化操作;判斷當前比特平面系數η與1的大小關系,如果η大于等于1,則令η = η_1,并從 所述執行分類操作步驟開始繼續執行后續的編碼過程;如果η小于1,則結束當前子帶的小 波系數完全編碼過程。其中,所述當前子帶構建的金字塔結構由1級組成,所述1的最大值為max {log/, log/}。其中,所述W和H分別為當前子帶的寬度和高度。其中,所述為當前子帶設置第一像素列表和第二節點列表時,設置一個第一像素 列表和1個第二節點列表。其中,所述在各子帶的壓縮碼流間分配目標碼率,依據被分配的碼率截斷碼流的 過程為根據各子帶的率失真特性確定各子帶對應的最優截斷點,根據所述的最優截斷點 對各子帶的壓縮碼流進行截斷。本發明還提供了一種小波圖像的編碼裝置,該裝置包括編碼模塊和截斷模塊; 其中,所述編碼模塊,用于利用金字塔結構對經小波分解所得的各子帶對應的小波系數 進行分類,再對已分類的小波系數執行對應的編碼操作,得到各子帶的壓縮碼流,并將所得 的各子帶的壓縮碼流傳輸給截斷模塊;所述截斷模塊,用于根據編碼模塊所發的各子帶壓縮碼流的率失真特性,將目標碼率在各子帶的壓縮碼流間進行最優分配,并依據各子帶被分配的碼率對各子帶的碼流進 行截斷,得到對小波圖像進行編碼的碼流。其中,所述編碼模塊利用金字塔結構對經小波分解所得的各子帶對應的小波系數 進行分類,再對已分類的小波系數執行對應的編碼操作,具體為編碼模塊先為當前子帶構建對應的金字塔結構,并為當前子帶設置第一像素列表 和第二節點列表,初始化設置第一像素列表和第二節點列表中的內容及比特平面系數η的 初始值大小;對所構建金字塔結構中的所有小波系數進行分類,并對分類得到的第一像素 列表中的小波系數執行細化操作;還用于判斷當前比特平面系數η與1的大小關系,確定η大于等于1時,令η = η-1,并從所述執行分類操作步驟開始繼續執行后續的編碼過程;確定η小于1時,結束當前 子帶的小波系數完全編碼過程。其中,所述編碼模塊進一步包括金字塔構建模塊、初始化模塊、分類模塊、細化模 塊和量化模塊;其中,所述金字塔構建模塊,用于為當前編碼的子帶構建對應的金字塔結構,并將構建 結果發送到初始化模塊;所述初始化模塊,用于為當前子帶設置第一像素列表和第二節點列表,并初始化 設置第二節點列表和第一像素列表中的內容及比特平面系數η的初始值大小,并將設置的 結果發送到分類模塊;所述分類模塊,用于以初始化模塊所發的初始值為依據對當前子帶對應的金字塔 結構中的所有小波系數進行分類,并將分類結果發送到細化模塊;還用于收到量化模塊所 發的當前比特平面系數η后,以新的η為依據繼續執行分類操作;所述細化模塊,用于對分類模塊分類得到的第一像素列表中的小波系數執行細化 操作,并在執行完當前細化操作后觸發量化模塊;還用于收到量化模塊的通知后將當前子 帶的所有小波系數的細化結果發送到截斷模塊;所述量化模塊,用于判斷分類模塊中當前比特平面系數η與1的大小關系,如果η 大于等于1,則η減1,將遞減后的η發送到分類模塊,并觸發分類模塊以新的η為依據繼續 執行分類操作;所述量化模塊,還用于確定分類模塊中當前比特平面系數η小于1時,通知細化模 塊將當前子帶的所有小波系數的細化結果發送到截斷模塊。上述方案中,所述截斷模塊在各子帶的壓縮碼流間分配目標碼率,依據被分配的 碼率截斷碼流的操作為根據各子帶的率失真特性確定各子帶對應的最優截斷點,根據所 述的最優截斷點對各子帶的壓縮碼流進行截斷。本發明提供的小波圖像的編碼方法和裝置,利用金字塔結構對經小波分解所得的 各子帶對應的小波系數進行分類,再對已分類的小波系數執行對應的編碼操作,得到各子 帶的壓縮碼流;根據各子帶壓縮碼流的率失真特性,將目標碼率在各子帶的壓縮碼流間進 行最優分配,依據各子帶被分配的碼率對各子帶的碼流進行截斷,所得碼流即為對小波圖 像進行編碼的碼流。本發明的編碼過程是分別對各子帶獨立進行編碼,沒有涉及到不同子 帶小波系數間的相關性,編碼過程相對現有簡單,因此,如果傳輸中某個子帶的碼流發生誤 碼不會影響到其它子帶的碼流,抗誤碼能力得到提高。
此外,由于編碼最終得到的碼流是不同級數的子帶碼流排列組成的,因此,在解碼 時可有選擇地對部分級數的碼流進行解碼,從而得到不同分辨率的解碼圖像,用戶體驗得 到提高。
圖1為本發明小波圖像的編碼方法實現流程示意圖;圖2為本發明小波編碼后所得的輸出碼流的結構示意圖;圖3為本發明所述對各子帶的小波系數進行完全編碼的方法實現流程示意圖;圖4為本發明所述金字塔結構組織方法構建所得的結構示意圖;圖5為本發明小波圖像編碼的裝置結構示意圖。
具體實施例方式本發明的基本思想是利用金字塔結構對經小波分解所得的各子帶對應的小波系 數進行分類,再對已分類的小波系數執行對應的編碼操作,得到各子帶的壓縮碼流;根據各 子帶壓縮碼流的率失真特性將目標碼率在各子帶的壓縮碼流間進行最優分配,依據各子帶 被分配的碼率對各子帶的碼流進行截斷,所得碼流即為對小波圖像進行編碼的碼流。下面結合附圖及具體實施例對本發明作進一步詳細說明。圖1為本發明小波圖像的編碼方法實現流程示意圖,如圖1所示,該流程實現步驟 如下步驟101 利用金字塔結構對經小波分解所得的各子帶對應的小波系數進行分 類,再對已分類的小波系數執行對應的編碼操作,得到各子帶的壓縮碼流;具體為圖像經小波分解后得到對應的小波圖像,可根據需要將原始圖像進行不 同級數的分解,如進行三級小波分解,分解過程為現有技術,此處不再詳述;之后分別對 經小波分解所得的各子帶對應的小波系數執行編碼操作,分別得到各子帶的壓縮碼流。其 中,所述完全編碼是指對各子帶獨立進行編碼,對各子帶的編碼過程不涉及各子帶小波系 數間的相關性。這里,所述對各子帶的小波系數進行完全編碼的過程中,首先對各子帶的小波系 數進行1級金字塔結構構建,所述1為整數,1的最大值為max {log/,log/},其中,所述W 和H分別為當前子帶的寬度和高度;并為每個子帶設置一個重要像素列表(LSP,List of Significant Pixels)和 1 個不重要節點列表(LIN,List ofInsignificant Node),每一級 金字塔對應一個LIN,本發明中,將LSP描述為第一像素列表;將LIN描述為第二節點列表。 對每個子帶的小波系數進行編碼時,首先要初始化當前子帶的第一像素列表和所有第二節
點列表,同時要初始化比特平面系數n,所述η為整數,其值為[郵嚴㈨”,所述c(i,j)為
當前子帶的小波系數值;然后根據η對每一級金字塔結構中的系數進行分類,分類過程從 金字塔最高級開始一直到最低級結束,得到第一像素列表,再對第一像素列表中的系數進 行細化,得到每個系數的第η個最重要比特(MSB,Most SignificantBit);將n_l,重復上述 的分類和細化過程,直到η = 0為止,得到n+1個比特平面;最后,利用二進制算術編碼來進
一步提高壓縮效率。步驟102 根據各子帶壓縮碼流的率失真特性,將目標碼率在各子帶的壓縮碼流間進行最優分配,依據各子帶被分配的碼率對各子帶的碼流進行截斷;具體為從各子帶經編碼所得的壓縮碼流中,利用現有的計算方法得到各子帶的率失真特性;根據各子帶對應的率失真特性,將目標碼率在各子帶的壓縮碼流間進行分配。 這里,所述目標碼率如何分配可以為根據各子帶的率失真特性確定各子帶對應的最優截斷點,使得各子帶的截斷碼率之和小于目標碼率時,整幅圖像的編碼失真率達到最小,也就達到了所述的最優分配。這樣,所述將目標碼率在各子帶的壓縮碼流間進行分配的過程,也就是在各子帶的最優截斷點處將各子帶截斷,截斷后所得的截斷碼率即為各子帶被分配的碼率。其中,由于各子帶有多個截斷點,因此需找到各子帶的最優截斷點;所述率失真特性是指子帶被某一截斷點截斷后所對應的失真率,子帶被任一截斷點分割后所對應的失真率均可用現有的計算方法得到;所述截斷碼率是指各子帶被截斷點截斷后的碼率。上述目標碼率分配的過程可用公式(1)表示如下
權利要求
1.一種小波圖像的編碼方法,其特性在于,該方法包括利用金字塔結構對經小波分解所得的各子帶對應的小波系數進行分類,再對已分類的 小波系數執行對應的編碼操作,得到各子帶的壓縮碼流;根據各子帶壓縮碼流的率失真特 性,將目標碼率在各子帶的壓縮碼流間進行最優分配,依據各子帶被分配的碼率對各子帶 的碼流進行截斷,得到對小波圖像進行編碼的碼流。
2.根據權利要求1所述的小波圖像的編碼方法,其特性在于,所述利用金字塔結構對 經小波分解所得的各子帶對應的小波系數進行分類,再對已分類的小波系數執行對應的編 碼操作的過程,具體為為當前子帶構建對應的金字塔結構;為當前子帶設置第一像素列表和第二節點列表,并初始化設置第一像素列表和第二節 點列表中的內容及比特平面系數η的初始值大小;對所構建金字塔結構中的所有小波系數進行分類;對分類得到的第一像素列表中的小波系數執行細化操作;判斷當前比特平面系數η與1的大小關系,如果η大于等于1,則令η = η_1,并從所述 執行分類操作步驟開始繼續執行后續的編碼過程;如果η小于1,則結束當前子帶的小波系 數完全編碼過程。
3.根據權利要求2所述的小波圖像的編碼方法,其特性在于,所述當前子帶構建的金 字塔結構由1級組成,所述1的最大值為max{logl2w,log/}。
4.根據權利要求3所述的小波圖像的編碼方法,其特性在于,所述W和H分別為當前子 帶的寬度和高度。
5.根據權利要求3或4所述的小波圖像的編碼方法,其特性在于,所述為當前子帶設置 第一像素列表和第二節點列表時,設置一個第一像素列表和1個第二節點列表。
6.根據權利要求1至4任一項所述的小波圖像的編碼方法,其特性在于,所述在各子帶 的壓縮碼流間分配目標碼率,依據被分配的碼率截斷碼流的過程為根據各子帶的率失真特性確定各子帶對應的最優截斷點,根據所述的最優截斷點對各 子帶的壓縮碼流進行截斷。
7.一種小波圖像的編碼裝置,其特性在于,該裝置包括編碼模塊和截斷模塊;其中,所述編碼模塊,用于利用金字塔結構對經小波分解所得的各子帶對應的小波系數進行分類,再對已分類的小波系數執行對應的編碼操作,得到各子帶的壓縮碼流,并將所得的各 子帶的壓縮碼流傳輸給截斷模塊;所述截斷模塊,用于根據編碼模塊所發的各子帶壓縮碼流的率失真特性,將目標碼率 在各子帶的壓縮碼流間進行最優分配,并依據各子帶被分配的碼率對各子帶的碼流進行截 斷,得到對小波圖像進行編碼的碼流。
8.根據權利要求7所述的小波圖像的編碼裝置,其特性在于,所述編碼模塊利用金字 塔結構對經小波分解所得的各子帶對應的小波系數進行分類,再對已分類的小波系數執行 對應的編碼操作,具體為編碼模塊先為當前子帶構建對應的金字塔結構,并為當前子帶設置第一像素列表和第 二節點列表,初始化設置第一像素列表和第二節點列表中的內容及比特平面系數n的初始 值大小;對所構建金字塔結構中的所有小波系數進行分類,并對分類得到的第一像素列表中的小波系數執行細化操作;還用于判斷當前比特平面系數η與1的大小關系,確定η大于等于1時,令η = η-1,并 從所述執行分類操作步驟開始繼續執行后續的編碼過程;確定η小于1時,結束當前子帶的 小波系數完全編碼過程。
9.根據權利要求8所述的小波圖像的編碼裝置,其特性在于,所述編碼模塊進一步包 括金字塔構建模塊、初始化模塊、分類模塊、細化模塊和量化模塊;其中,所述金字塔構建模塊,用于為當前編碼的子帶構建對應的金字塔結構,并將構建結果 發送到初始化模塊;所述初始化模塊,用于為當前子帶設置第一像素列表和第二節點列表,并初始化設置 第二節點列表和第一像素列表中的內容及比特平面系數η的初始值大小,并將設置的結果 發送到分類模塊;所述分類模塊,用于以初始化模塊所發的初始值為依據對當前子帶對應的金字塔結構 中的所有小波系數進行分類,并將分類結果發送到細化模塊;還用于收到量化模塊所發的 當前比特平面系數η后,以新的η為依據繼續執行分類操作;所述細化模塊,用于對分類模塊分類得到的第一像素列表中的小波系數執行細化操 作,并在執行完當前細化操作后觸發量化模塊;還用于收到量化模塊的通知后將當前子帶 的所有小波系數的細化結果發送到截斷模塊;所述量化模塊,用于判斷分類模塊中當前比特平面系數η與1的大小關系,如果η大于 等于1,則η減1,將遞減后的η發送到分類模塊,并觸發分類模塊以新的η為依據繼續執行 分類操作;所述量化模塊,還用于確定分類模塊中當前比特平面系數η小于1時,通知細化模塊將 當前子帶的所有小波系數的細化結果發送到截斷模塊。
10.根據權利要求7或8所述的小波圖像的編碼裝置,其特性在于,所述截斷模塊在各 子帶的壓縮碼流間分配目標碼率,依據被分配的碼率截斷碼流的操作為根據各子帶的率 失真特性確定各子帶對應的最優截斷點,根據所述的最優截斷點對各子帶的壓縮碼流進行 截斷。
全文摘要
本發明公開了一種小波圖像的編碼方法,包括利用金字塔結構對經小波分解所得的各子帶對應的小波系數進行分類,再對已分類的小波系數執行對應的編碼操作,得到各子帶的壓縮碼流;根據各子帶壓縮碼流的率失真特性,將目標碼率在各子帶的壓縮碼流間進行最優分配,依據各子帶被分配的碼率對各子帶的碼流進行截斷,得到對小波圖像進行編碼的碼流。本發明還同時公開了一種小波圖像的編碼裝置,運用該方法和裝置可提高編碼所得碼流的抗誤碼能力,且碼流支持多種空間分辨率的解碼。
文檔編號H04N7/30GK102148993SQ20101011632
公開日2011年8月10日 申請日期2010年2月10日 優先權日2010年2月10日
發明者于培松, 卓力, 周真理, 左雯, 張菁, 李曉光, 王寧, 田衛, 郭秀江 申請人:中興通訊股份有限公司