一種面向稀疏系數的高效可并行圖像編碼方法
【專利摘要】本發明公開了一種面向稀疏系數的高效可并行圖像編碼方法,包括以下幾個步驟:步驟一:采用基于頻率間預測的系數組織方法,將變換系數以塊為單位、塊能量大小遞減的順序重新排列,劃分密集區域與稀疏區域,對密集區域執行熵編碼,對稀疏區域執行步驟二的基于小概率系數表示的熵編碼方法;步驟二:采用基于小概率系數表示的熵編碼方法,對稀疏區域的變換系數進行編碼,從而完成圖像編碼。本發明編碼效率較高,支持并行處理,支持漸近傳輸與碼流可截斷。
【專利說明】—種面向稀疏系數的高效可并行圖像編碼方法
【技術領域】
[0001]本發明涉及一種面向稀疏系數的高效可并行圖像編碼方法,屬于圖像/視頻編解碼【技術領域】,特別是對具有稀疏分布特點的變換系數的編碼。
【背景技術】
[0002]視頻編碼和圖像編碼的對象主要是自然信號。自然信號在空間域上存在著很強的相關性,要提高編碼效率就必須首先對空間域信號進行一定的處理,將其相關性消除或減弱后再進行編碼。變換編碼就是一種去除相關性的處理過程。變換編碼的基本思路是將在空間域中描述的圖像信息變換到另一個正交向量空間(變換域)中,如果該正交向量空間的基向量與圖像本身的特征向量很接近,那么經過正交變換后,系數間的相關性基本消除,能量主要集中在低頻的變換系數上,因此對頻率域變換系數編碼的效率遠遠高于直接對空間域像素編碼。
[0003]變換編碼之所以能壓縮信息的比特數,是因為在經過變換得到的系數矩陣中,能量較大的系數概率較小,并且往往集中在低頻或靠近低頻的區域內,這樣將圖像信息集中到變換域中的小概率系數上,為獲得較高的壓縮比提供了可能。由于變換編碼不同,變換系數的特點也不全相同,有的變換系數就表現為稀疏系數,最大概率的系數所占比重較大并且其余系數的分布較為分散(連續性較低),例如小波變換系數就具有這樣的特點。
[0004]目前DCT變換(離散余弦變換)和小波變換是最為常用的變換編碼。DCT變換是在靜止圖像編碼標準JPEG中,在運動圖像編碼標準MPEG、H.264等多個標準中有具體的應用。在這些標準中都使用了二維離散余弦變換,并將結果進行量化之后進行熵編碼。小波變換是20世紀80年代后期發展起來的一種信息處理方法,因其本質是多分辨分析信號,在時域和頻域都具有較高的分辨率,對高頻分量采用逐漸精細的時域或空域步長,可以聚焦到分析對象的任意細節,基于小波變換的圖像壓縮編碼成為了圖像壓縮領域的一個主要研究方向,并在JPEG2000中得到了具體應用。
[0005]從小波變換應用于圖像壓縮至今提出了一些針對小波變換系數特點的編碼方法,包括EZW算法(嵌入式零樹小波算法)、SPIHT算法(多級樹集合分裂算法)和EBCOT算法(最優截斷的嵌入式塊編碼)等。嵌入式零樹小波編碼算法(EZW)的基本思想是在量化小波系數時采用了零樹數據結構,利用小波變換的自相似性在各級之間預測重要信息的位置,然后用自適應算術編碼進行無損壓縮。SPIHT算法是對EZW算法的改進,采用了與EZW相似的零樹結構,但在系數子集的分割和重要信息的傳輸方式上采用了獨特方法,能夠在實現幅值大的系數優先傳輸的同時,不顯式傳送系數的排序信息。以上兩種算法都是利用零樹這種數據結構對一組數據的重要性進行判斷,將大量不重要系數用整個集合的重要性表示,整個非重要系數集合可以不必編碼,從而提高編碼效率,然而生成零樹需要對變換系數進行多次掃描,所以復雜度較高并且難以并行處理。EBCOT算法是一種內存受限的比特平面編碼方法,編碼時先將每個子帶分成一個個相對獨立的、固定尺寸的塊,然后對這些塊進行比特平面編碼得到嵌入式碼流。每個比特平面進行編碼時又分為四個子平面通道,每個子平面的編碼結束點作為率失真截斷點,然后使用優化的截斷算法對碼流進行截斷,產生壓縮碼流。EBCOT算法由于能夠支持碼率SNR和多分辨率等多種可擴展方式和具有較強的抗誤碼能力,使其成為靜止圖像壓縮標準JPEG2000的核心算法,但是它的這些優點是以編碼復雜度的大幅增加為代價的。EBCOT算法的復雜度要高于EZW算法和SPIHT算法,壓縮性能與SPIHT算法基本相當。
[0006]變換系數的組織是圖像編碼的主要研究方向之一。DCT變換系數表現比較有規律,主要能量聚集在塊的左上角區域,并且從左上角到右下角呈現能量逐步越弱的趨勢,因此對DCT變換系數采取Z字形順序掃描的方式進行組織,這樣形成的系數串能量逐漸遞減,后面有較多連續的零值系數,方便后續的游程編碼進行較好的壓縮。然而對于其他一些具有稀疏分布特點的變換系數,如小波變換系數,很難利用游程編碼對連續值編碼來實現較好的編碼效率。小波變換系數能量主要集中在低頻子帶以及高頻子帶中對應于圖像邊緣、輪廓的地方,其余系數取值大部分為零值,零值系數所占比重較大并且非零值系數的分布較為分散(連續性較低)。對小波變換系數進行編碼的重點就是充分利用這些特性,有效地進行組織,使零值系數盡可能集中在一起,從而實現高效壓縮。對小波變換系數進行組織通常都采用零樹結構與比特平面編碼結合,例如EZW算法和SPIHT算法,零樹結構是一種預測與描述圖像經過小波變換后非零值系數位置的有效方法,這種結構充分利用了相鄰子帶之間的相似性,在高頻子帶中存在大量的幅度值很低的系數,所以可以通過子帶中的集合把這種大量的系數組織到一起來消除非零值系數的位置冗余,然而由于其特別的系數組織特點使得零樹結構沒有考慮同一子帶系數的相關性與分布特性,同時其逐次逼近量化的編碼方式使得編碼效率較低并且難以使用并行算法進行優化;另外還有采用碼塊結構組織小波變換系數的編碼方式,例如JPEG2000中使用的EBCOT算法,這種算法主要是考慮了限制誤碼,當一個碼塊發生比特錯誤時,只會把錯誤引起的影響限制在本碼塊中,不會造成誤碼擴散,由于將變換系數隔離成很多碼塊,在這些碼塊內部進行比特平面編碼后再執行基于上下文的自適應算術編碼,使得該方法沒有對變換系數的整體統計特性加以利用,同時具有較高的編碼復雜度。
[0007]熵編碼方法也是圖像編碼的主要研究方向之一。常用的熵編碼算法(如Huffman編碼、算術編碼等)利用了圖像數據的整體統計特性來實現壓縮,有些熵編碼(如Huffman編碼)還受限于比特位表示,一個字節最大程度只能通過一個比特表示,因此對于零值概率極大的變換系數壓縮效率也不高,還有些熵編碼(如算術編碼、LZW等)編碼后的平均碼長雖然可以逼近信息熵,卻具有較大的計算復雜度。靜態圖像壓縮標準JPEG中對系數塊進行了DCT變換,將變換系數塊的能量集中在塊的左上角區域,使用游程編碼和Huffman編碼可以對高頻系數進行較好的壓縮。然而對于稀疏系數,例如小波變換系數,雖然也具有大概率的零值和小概率的非零值,但是各個零值與非零值的連續性較差,無法發揮游程編碼對連續值的高效編碼。目前對小波變換系數的常用熵編碼方法是算術編碼,例如JPEG2000中使用的基于上下文的自適應算術編碼器,但是該算法普遍都具有較高的計算復雜度。
[0008]從技術背景中可以看出,對變換系數的編碼通常先對變換系數進行一定的組織,使其適合于后面的熵編碼。目前針對稀疏系數的組織方式在選擇一種數據結構的同時也具有一定的局限性,例如對小波變換系數采用零樹結構和比特平面編碼結合的組織方式導致難以實現并行處理,采用分塊結構結合比特平面編碼的組織方式沒有充分利用變換系數整體的統計特性,需要后續使用復雜度較高的基于上下文的自適應算術編碼才能實現較好的編碼效率。常用的熵編碼算法通常不適合直接用來對低連續性大概率零值的變換系數(例如小波變換系數)進行壓縮,很難實現較高的壓縮效率,基于上下文的自適應算術編碼具有較高的編碼效率,但是計算復雜度也較高。
【發明內容】
[0009]本發明的目的是為了解決上述現有技術存在的缺陷和不足,提出了一種面向稀疏系數的高效可并行圖像編碼方法,包括了基于頻率間預測的系數組織方法和基于小概率系數表示的熵編碼方法,通過利用不同頻率系數之間的相關性和同一頻率系數內部的相關性對變換系數進行組織,然后利用變換系數的統計特性執行熵編碼,對具有稀疏分布特點的變換系數實現了較高的編碼效率。
[0010]一種面向稀疏系數的高效可并行圖像編碼方法,包括以下幾個步驟:
[0011]步驟一:采用基于頻率間預測的系數組織方法,將變換系數以塊為單位、塊能量大小遞減的順序重新排列,劃分密集區域與稀疏區域,對密集區域執行熵編碼,對稀疏區域執行步驟二的基于小概率系數表示的熵編碼方法;
[0012]步驟二:采用基于小概率系數表示的熵編碼方法,對稀疏區域的變換系數進行編碼,從而完成圖像編碼。
[0013]基于頻率間預測的系數組織方法利用了變換系數不同頻率系數的相關性,根據兩個相鄰頻率系數中的較低頻率系數預測較高頻率系數的能量分布,選取較低頻率系數中能量較大的塊按能量大小進行遞減排序,然后將較高頻率系數的相應塊根據排序結果進行組織,使重新組織的系數分布也大致符合能量從大到小的規律,然后執行區域劃分策略將其劃分為非零值密集區域,剩余的系數塊作為非零值系數區域,最后在此基礎上針對兩個區域各自的特點進行編碼。由于不需要記錄調整后的排序信息,避免了對重新排序的位置信息進行描述,有效消除了空間位置描述的冗余。以小波變換系數為例,利用小波變換不同尺度子帶系數的相關性,通過高層子帶系數(頻率較低)預測低層子帶系數(頻率較高)的能量分布,然后對系數進行重新組織。
[0014]基于小概率系數表示的熵編碼方法將全部系數通過小概率的系數值及位置信息表示,將編碼集中到較小的數據集合以提高編碼效率,最大概率系數所占的概率越大,編碼效率越高。該方法利用了變換系數概率分布極不均勻的特點,通常變換系數中零值系數所占的概率較大,特別是經過量化后的變換系數更為明顯,因此考慮只對小概率的非零值系數及其位置進行編碼,可以大大縮小編碼的基數,使編碼后的平均碼長更逼近圖像的信息熵,達到較為理想的編碼效率,同時具有較低的計算復雜度;對非零值系數的位置編碼還考慮了系數的分布特性,采用了位置增量編碼方式,使得位置增量概率也呈現出一定的統計特性(位置增量大部分概率集中于較小的數值),從而為碼流后續作進一步壓縮提供可能;另外考慮到變換系數的重要性,按重要程度依次傳輸非零值系數,形成可截斷的碼流,從碼流的起始位置任取一段,這段碼流相當于一個低碼率的完整的碼流,由它可以解碼重構出完整的圖像,并且該圖像是由固定長度的碼流解碼出的圖像效果最優的。
[0015]本發明的優點在于:
[0016](I)編碼效率較高。該方法利用了變換系數不同頻率數據的相關性,根據兩個相鄰頻率系數中的較低頻率系數預測較高頻率系數的能量分布,將較高頻率系數以塊為單位按能量從大到小進行重新排序,使重新排列的系數分布也大致符合能量從大到小的規律,然后執行區域劃分策略將變換系數劃分為非零值密集區域與非零值稀疏區域,并在此基礎上針對各個區域的特點進行編碼,從而進一步提高編碼效率。由于不需要記錄調整后的排序信息,避免了對重新排序的位置信息進行描述,有效消除了空間位置描述的冗余;該方法還利用了變換系數概率分布極不均勻的特點,通常變換系數中零值系數所占的概率較大,特別是經過量化后的變換系數更為明顯,因此考慮只對小概率的非零值系數及其位置進行編碼,可以大大縮小編碼的基數;對非零值系數的位置信息采用了位置增量編碼方式,由于位置增量概率也呈現出一定的統計特性(位置增量值從I開始大致呈現數量遞減的趨勢),從而為碼流后續作進一步壓縮提供可能;
[0017](2)支持并行處理。該方法對各頻率的變換系數進行單獨編碼,因此能夠容易地支持并行處理,以小波變換系數編碼為例,可以對小波變換系數不同方向不同層次的頻率域系數并行地進行處理;
[0018](3)支持漸近傳輸與碼流可截斷。由于對各個頻率的碼流可以分別進行傳輸,解碼段可以對收到的各頻率碼流先解碼出變換系數,然后再逐級反變換,每一級反變換可以直接顯示當前層次的圖像信息,從而具備了漸進傳輸的特點;對于某個頻率的變換系數,基于重要性排序的碼流具有可截斷的特性,從碼流的起始位置任取一段,這段碼流相當于一個低碼率的完整的碼流,由它可以解碼重構出完整的圖像。與原碼流相比,這部分碼流解碼出的圖像質量和分辨率比較低,但解碼的圖像是完整的,并且圖像效果是由固定長度的碼流解碼出的圖像中最優的,因此這種特性能夠適用于在存在干擾或不穩定的網絡中進行傳輸。
【專利附圖】
【附圖說明】
[0019]圖1為三級小波變換的子帶劃分示意圖;
[0020]圖2為Lena圖像經過三級Haar小波變換分解后的子帶圖;
[0021]圖3為子帶間能量預測示意圖;
[0022]圖4為基于頻率間預測的系數組織方法流程圖;
[0023]圖5為小概率系數表 示編碼的流程圖;
[0024]圖中:【具體實施方式】
[0025]下面將結合附圖和實施例對本發明作進一步的詳細說明。
[0026]本發明是一種面向稀疏系數的高效可并行圖像編碼方法,包括了基于頻率間預測的系數組織方法和基于小概率系數表示的熵編碼方法。下面首先以小波變換系數為例,說明基于頻率間預測的系數組織方法;然后通過給定的系數串實例,對基于小概率系數表示的熵編碼方法進行了詳細說明;最后以小波變換系數編碼為例對基于這兩種方法的變換系數整體編碼流程進行了說明。
[0027]—種面向稀疏系數的高效可并行圖像編碼方法,包括以下幾個步驟:
[0028]步驟一:采用基于頻率間預測的系數組織方法,將變換系數以塊為單位、塊能量大小遞減的順序重新排列,劃分密集區域與稀疏區域,對密集區域執行常用熵編碼(如哈夫曼編碼),對稀疏區域執行步驟二的基于小概率系數表示的熵編碼方法,可以使變換系數得到更好的壓縮。
[0029]基于頻率間預測的系數組織方法的適用條件是變換系數中不同頻率系數之間具有相關性,具有該性質的變換系數均可以使用這種方法進行重新排列,有些變換系數天然地具有這種特性,例如小波變換同一方向不同層次(這里的層次表現為頻率)相鄰子帶之間具有相關性。下面以小波變換系數為應用實例對該方法進行詳細說明。
[0030]圖像經過一級小波變換后將被分解為LL、HL、LH和HH四個子帶,其中LL屬于低頻子帶,HL、LH和HH分別是水平方向、垂直方向和對角線方向的高頻子帶。多級小波變換就是將前一級的LL子帶再一次分解為四個子帶,直至達到設定的變換級數。低頻子帶包含了圖像的輪廓信息,邊緣和紋理信息則分布在小波系數的高頻子帶中。如圖1所示,圖像經過三級小波變換后被分解成不同的多頻率子帶。圖2是Lena圖像經過三級Haar小波變換分解的子帶圖。
[0031]圖像經過若干級小波變換后,可得到一系列不同分辨率不同方向的子帶,而且這些子帶具有4個特點:
[0032](I)不同方向的子圖對應的頻率不同;
[0033](2)圖像的能量主要集中在低頻子帶,高頻子帶所占有的能量很少;
[0034](3)相同方向不同尺度子帶之間具有相關性;
[0035](4)不同方向不同尺度 子圖之間也具有相關性。
[0036]低頻子帶集中了圖像的大部分能量,不利于壓縮,另外低頻子帶經過多級變換后所占圖像的比例很小,對其進行高性能壓縮對于全圖的意義不大;而高頻子帶所占有的能量很少,有利于壓縮,并且高頻子帶數據所占的比重極大,因此高頻子帶是小波變換系數壓縮的重點。
[0037]高頻子帶系數具有以下幾個特點:
[0038](I)大量的小波系數是不顯著的,絕大部分系數值集中在零值附近,零值的概率通常最大,經過量化以后該特性更加明顯;
[0039](2)少數的顯著系數成簇分布。圖像的邊緣和紋理都屬于具有突變性的瞬態奇異信號,因此對應于這些位置附近的高頻小波系數的幅度就比較大,表現為高頻顯著系數,由于這些顯著系數聚集在邊緣和紋理附近,所以就出現了成簇分布;
[0040](3)非零值系數的同值系數的連續性較差。
[0041]小波變換系數不同頻率數據具有相關性,即同一方向上各層子帶具有相關性,基于頻率間預測的系數組織方法正是利用這種子帶間的相似性,根據高層子帶(頻率較低)的能量分布來預測低層子帶(頻率較高)的能量分布情況。如圖3所示,非最高層子帶上4X4的塊可以通過同一方向相鄰高層子帶的2X2塊來預測,最高層子帶因沒有高層子帶而不作預測。
[0042]以塊為單位對系數進行組織可以充分利用二維空間鄰近系數的相關性,使得非零值系數排列比較集中。然后將低層子帶的系數按照能量從大到小進行重新排列,不僅可以小波變換系數按照重要性從大到小進行編碼,從而產生比特位也按重要性排列的碼流,還有利于將分布雜亂(顯著系數成簇分布,非零值系數分布連續性差)的系數分為非零值系數密集區域和非零值系數稀疏區域,密集區域將原本成簇分布的大部分顯著系數集中到了一起,使得非零值系數排列更加緊密,稀疏區域系數的概率分布嚴重失衡,零值占絕大多數,可以充分發揮基于小概率系數表示的熵編碼的優勢,實現較好的編碼效率。
[0043]由于能量較大的塊都集中在密集區域,雖然非零值密集區域的零值系數概率一般情況下仍然是最大的,但與非零值之間的概率差距已經不是很大了,而非零值系數的絕對值大小和所占比例較高。每個塊共有16個系數值,因此使用兩個字節可以表示出塊的結構信息,即零值系數與非零值系數的位置信息,對非零值系數集中后再執行基于小概率系數表示的熵編碼,從而對非零值系數進行進一步壓縮。
[0044]稀疏區域的塊能量都很小,整個變換系數中絕大部分的零值系數被集中到該區域,非零值系數概率極小。如果最大概率系數(零值系數)不進行編碼,而通過小概率系數編碼信息間接表示,可以將基于小概率系數表示的熵編碼方法的優勢充分發揮,大大提高了該區域的壓縮效率。特別對于信息熵小于Ibit的情況,本方法可以使編碼后的平均碼長更逼近信息熵。由于小波變換高頻系數的數量與絕對值大小基本成反比,即絕對值越大的系數數量越少,同時系數絕對值大小直接反映了能量大小,也就間接反映了系數的重要性,因此絕對值越大的系數越重要。通過統計各系數的數量并按數量進行從大到小排序,也相當于對各系數進行了重要性排序,根據排序結果對系數逐個編碼可以產生按重要性排序并且可截斷的碼流。
[0045]基于頻率間預測的系數組織方法在小波子帶的各個方向上執行步驟都是一樣的,下面以對小波變換系數某一方向上的子帶編碼為例(例如對附圖1中HL2子帶的變換系數進行壓縮編碼,其相鄰的HL3子帶的變換系數是較低頻率系數,HL2子帶的變換系數是較高頻率系數)說明該方法的處理流程,如圖4所示,包括以下步驟:
[0046]步驟A,對圖像經過變換編碼后的變換系數劃分為若干個大小為2X2的系數塊,統計各個系數塊的能量(塊內全部系數值的平方和); [0047]其中,較高頻率/較低頻率定義:
[0048]從多分辨率分析的角度考慮小波圖像的各個頻帶時,對于同一方向的高頻帶,由于它們是圖像同一邊緣、輪廓和紋理信息在該方向、不同分辨率下由細到粗的描述,它們之間存在著一定的相關性。這些頻帶中所對應的邊緣、輪廓的相對位置都是相同的。我們定義同一方向,兩個相鄰高頻子帶系數之間,低分辨率(變換層次高)的高頻子帶系數稱為較低頻率系數,而高分辨率(變換層次低)的高頻子帶系數稱為較高頻率系數。
[0049]較低頻率系數指的是離低頻系數較近的變換系數,例如附圖1三級小波變換的子帶劃分示意圖中,對于水平方向子帶的變換系數,頻率從低到高排列分別是HL3、HL2、HLl,對于HL3和HL2兩個相鄰子帶的變換系數,HL3子帶的變換系數屬于較低頻率系數,HL2子帶的變換系數屬于較高頻率系數,而對于HL2和HLl兩個相鄰子帶的變換系數,HL2子帶的變換系數屬于較低頻率系數,HLl子帶的變換系數屬于較高頻率系數。
[0050]步驟B,對能量值超出預定能量閾值的較低頻率的系數塊按能量大小進行遞減排序,記錄系數塊編號的排序結果, 預定能量閾值是用于初步判別密集區域和稀疏區域的臨界值,選取為30時兩個區域的區分效果較好。該步驟對較低頻率系數塊的排序沒有針對全部系數塊,只將超出預定能量閾值的系數塊加入排序集合中,這樣考慮的原因是較小能量的系數塊具有一定的隨機性,對較高頻率系數的參考性不大,并且這部分系數塊數量較多,不加入排序集合可以大大降低計算復雜度;
[0051]步驟C,對較高頻率的系數劃分為若干個大小為4X4的系數塊,按照步驟B的系數塊編碼排序結果對較高頻率的系數以塊為單位進行組織(步驟B得到的是對較低頻率系數的排序結果,該步驟是較低頻率系數的排序結果對較高頻率系數直接進行組織,不用再排序,備注:較低頻率系數與較高頻率系數的塊序號具有一一對應關系),經過重新組織后的系數塊也大致具有能量從大到小排列的特點;
[0052]步驟D,使用折半查找算法對系數塊能量進行統計,與設定的臨界閾值進行比較,確定非零值密集區域的分界點,具體執行該步驟時,由于重新組織后的系數塊能量值不可能嚴格按從大到小順序排列,因此需要對多個系數塊取均值與設定的臨界閾值比較;
[0053]步驟E,根據步驟D獲得的分界點,將分界點之前的系數塊集合作為非零值密集區域,將其他系數塊全部作為非零值稀疏區域,并且保持原來的順序。
[0054]通過該方法可以將變換系數以塊為單位、塊能量大小遞減的順序重新排列,劃分密集區域與稀疏區域,對密集區域的系數執行常用熵編碼(如哈夫曼編碼),對稀疏區域的系數執行步驟二的基于小概率系數表示的熵編碼方法,可以使變換系數得到更好的壓縮。
[0055]圖像會先經過變換編碼,產生多個變換系數(例如附圖1的HL1、HL2、HL3、LHULH2、LH3、HH1、HH2、HH3、LL3這十個子帶的變換系數),提出的方法就是對較高頻率系數進行編碼的(例如附圖1的HL1、HL2、LH1、LH2、HH1、HH2),步驟一的完整流程是針對一個頻率系數進行的,例如對HLl子帶的變換系數(步驟中的較高頻率系數)進行編碼,就需要參考HL2子帶的變換系數(步驟中的較低頻率系數),步驟執行結果就是得到HLl子帶變換系數的壓縮編碼。
[0056]步驟二:采用基于小概率系數表示的熵編碼方法,對具有稀疏特點的變換系數進行編碼,可以得到較好的壓縮效果。對步驟一得到的結果,采用該方法對稀疏區域系數進行壓縮編碼,采用常用熵編碼算法(例如哈夫曼編碼)對密集區域系數進行編碼,能夠獲得更好的壓縮效果。
[0057]基于小概率系數表示的熵編碼方法適用于對具有概率分布失衡特點的變換系數進行編碼,最大概率系數的概率越大,編碼效率越高,能夠產生可截斷的嵌入式碼流,并且可以使用其他熵編碼再次對碼流進行壓縮。
[0058]如圖5所示,基于小概率系數表示的熵編碼包含以下步驟:
[0059]步驟A,對所有非零值系數取絕對值,同時按照非零值系數排列的順序保存正負號,正負號以位為單位進行編碼,正號標記為1,負號標記為0,字節內部表示順序為由低位到高位表示;
[0060]步驟B,統計不同絕對值系數(是步驟A得到的結果,某個系數可以當成是特定的字節,例如1,具體執行流程可以結合實施例中的例子看)的數量與位置信息,其中位置信息表現為位置增量,即對同一系數值相鄰系數的位置增量進行記錄;
[0061]步驟C,對系數按照數量從大到小進行排序;(步驟B中得到了各個系數的數量和位置增量)
[0062]步驟D,判斷是否只剩下最大概率系數,是則執行步驟F,否則執行步驟E ;
[0063]步驟E,將未編碼的最小概率系數作為當前編碼系數,對其位置增量信息進行編碼,各個系數編碼串的格式為:〈系數編碼標記:OxOOX系數值(絕對值)X位置增量表示>〈位置增量表示〉,其中位置增量表示字節的格式為:〈第一比特:數值溢出標記,為I則表示下一個字節也用來表示位置增量值 >〈第二~七比特:位置增量數據值 >,該步驟執行完畢后執行步驟D ;
[0064]步驟F,將最大概率的系數值與結束符寫入碼流,最大概率系數編碼串的格式如下:〈系數編碼標記:0χ00Χ系數值(絕對值)>,由于它的位置信息可以通過小概率系數的位置間接找出,因此此處不需要對其位置增量進行編碼。
[0065]步驟G,對小概率系數表示編碼的碼流進行組織,碼流整體格式為:〈前四個字節:正負號編碼字節長度 >〈正負號編碼數據 >〈系數絕對值編碼數據 >,其中系數絕對值編碼數據是步驟E與步驟F產生的全部碼流數據。
[0066]本發明提出的面向稀疏系數的高效可并行圖像編碼方法,面向具有稀疏分布特點的變換系數,能夠實現較高的編碼效率,同時支持并行處理、支持漸進式傳輸與碼流可截斷。目前圖像/視頻編碼領域最常用的小波變換編碼、離散余弦變換編碼等產生的變換系數都具有稀疏分布的特點,因此本發明提出的方法能夠廣泛適用于圖像/視頻編碼領域,有效地提高圖像/視頻的整體壓縮效率。
[0067]本發明比已有圖象/視頻壓縮編碼方法中的熵編碼更為深入的利用了位置信息和非零系數值的統計特性,對稀疏系數采取更為有效的編碼方法,從而取得了比已有熵編碼方法更為優越的壓縮性能。
實施例:
[0068]為了詳細說明基于頻率間預測的系數組織方法,下面舉例進行說明。
[0069]假設下面為兩個相鄰頻率的變換系數,分別是較低頻率的系數與較高頻率的系數,從系數能量分布可以看 出,它們的能量主要集中在右上角區域和左下角區域,較低頻率系數以2X2進行分塊,較高頻率系數以4X4進行分塊。
[0070]
【權利要求】
1.一種面向稀疏系數的高效可并行圖像編碼方法,包括以下幾個步驟: 步驟一:采用基于頻率間預測的系數組織方法,將變換系數以塊為單位、塊能量大小遞減的順序重新排列,劃分密集區域與稀疏區域,對密集區域執行熵編碼,對稀疏區域執行步驟二的基于小概率系數表示的熵編碼方法; 步驟二:采用基于小概率系數表示的熵編碼方法,對稀疏區域的變換系數進行編碼,從而完成圖像編碼。
2.根據權利要求1所述的一種面向稀疏系數的高效可并行圖像編碼方法,步驟一具體包括: 步驟A,圖像經過變換編碼后得到變換系數,將較低頻率的系數劃分為若干個大小為2X2的系數塊,獲取各個系數塊的能量; 較高頻率、較低頻率為: 小波圖像的頻帶中,同一方向,兩個相鄰高頻子帶系數之間,低分辨率的高頻子帶系數稱為較低頻率系數,而高分辨率的高頻子帶系數稱為較高頻率系數; 步驟B,對能量值超出預定能量閾值的較低頻率的系數塊按能量大小進行遞減排序,記錄系數塊編號的排序結果; 步驟C,對較高頻率的系數劃分為若干個大小為4 X 4的系數塊,按照步驟B的系數塊編碼排序結果對較高頻率的系數以塊為單位進行組織; 步驟D,使用折半查找算法對系數 塊能量進行統計,與設定的臨界閾值進行比較,確定非零值密集區域的分界點; 步驟E,根據步驟D獲得的分界點,將分界點之前的系數塊集合作為非零值密集區域,將其他系數塊全部作為非零值稀疏區域,并且保持原來的順序; 對密集區域的系數執行熵編碼,對稀疏區域的系數執行步驟二的基于小概率系數表示的熵編碼方法。
3.根據權利要求1所述的一種面向稀疏系數的高效可并行圖像編碼方法,步驟二具體包括: 步驟A,對所有非零值系數取絕對值,同時按照非零值系數排列的順序保存正負號,正負號以位為單位進行編碼,正號標記為1,負號標記為O,字節內部表示順序為由低位到高位表不; 步驟B,統計不同絕對值系數的數量與位置信息,其中位置信息表現為位置增量,即對同一系數值相鄰系數的位置增量進行記錄; 步驟C,對系數按照數量從大到小進行排序; 步驟D,判斷是否只剩下最大概率系數,是則執行步驟F,否則執行步驟E ; 步驟E,將未編碼的最小概率系數作為當前編碼系數,對其位置增量信息進行編碼,各個系數編碼串的格式為:〈系數編碼標記=OxOOX系數值(絕對值)X位置增量表示X位置增量表示〉,其中位置增量表示字節的格式為:〈第一比特:數值溢出標記,為I則表示下一個字節也用來表示位置增量值 >〈第二~七比特:位置增量數據值 >,該步驟執行完畢后執行步驟D ; 步驟F,將最大概率的系數值與結束符寫入碼流,最大概率系數編碼串的格式如下:〈系數編碼標記:OxOOX系數值(絕對值)> ;步驟G,對小概率系數表示編碼的碼流進行組織,碼流整體格式為:〈前四個字節:正負號編碼字節長度 >〈正負號編碼數據 >〈系數絕對值編碼數據 >,其中系數絕對值編碼數據是步驟E與步驟F產生的全部碼流數據; 通過上述步驟,完成圖像編碼。
【文檔編號】H04N19/61GK103581691SQ201310566257
【公開日】2014年2月12日 申請日期:2013年11月14日 優先權日:2013年11月14日
【發明者】夏榆濱, 楊弢, 劉豐滔, 劉江, 胡陽 申請人:北京航空航天大學