當前位置:編程學習大全網 - 源碼下載 - 我想要JPEG2000編碼基本原理及其應用的有關文獻,請問那裏可以找到?謝謝

我想要JPEG2000編碼基本原理及其應用的有關文獻,請問那裏可以找到?謝謝

JPEG2000圖像壓縮標準及其關鍵算法

周 寧 湯曉軍 徐維樸

(西安交通大學人工智能與機器人研究所西安710049)

摘 要:JPEG2000是為適應不斷發展的圖像壓縮應用而出現的新的靜止圖像壓縮標準。闡述了JPEG2000圖像編碼系統的實現過程, 對其中采用的基本算法和關鍵技術進行了描述,介紹了這壹新標準的特點及應用場合,並對其性能進行了分析。?

關鍵詞:JPEG2000; 圖像壓縮;離散小波變換; 速率控制;感興趣區域?

1 引言?

隨著多媒體應用領域的快速增長和網絡的不斷發展,傳統的JPEG壓縮技術已無法滿足人們對數字化多媒體圖像資料的要求,壹種功能更強大、效率更卓越的靜止圖像壓縮標準被提到制定日程上,這就是JPEG2000。?

JPEG(Joint Photographic Experts Group)是在國際標準化組織(ISO)領導之下制定靜態圖像壓縮標準的委員會,第壹套國際靜態圖像壓縮標準ISO 10918-1(JPEG)就是該委員會制定的。由於JPEG優良的品質,使他在短短幾年內獲得了極大的成功,被廣泛應用於互聯網和數碼相機領域,網站上80%的圖像都采用了JPEG壓縮標準。然而,目前的JPEG靜止圖像壓縮標準,具有中端和高端比特速率上的良好的速率畸變特性,但在低比特率範圍內,將會出現很明顯的方塊效應,其質量變得不可接受。JPEG不能在單壹碼流中提供有損和無損壓縮,並且不能支持大於64×64 K的圖像壓縮。同時,盡管當前的JPEG標準具有重新啟動間隔的規定,但當碰到比特差錯時圖像質量將受到嚴重的損壞。?

針對這些問題,自1997年3月起,JPEG圖像壓縮標準委員會開始著手制定新壹代的圖像壓縮標準以解決上述問題。2000年3月的東京會議,確定了彩色靜態圖像的新壹代編碼方式JPEG2000圖像壓縮標準的編碼算法。?

JPEG2000系統分為下列7個部分:?

①JPEG2000圖像編碼系統;?

②擴充(給①的核心定義添加更多的特征和完善度);?

③運動JPEG2000;?

④壹致性;?

⑤參考軟件(目前包含Java和C實現);?

⑥復合圖像文件格式(用於文件掃描和傳真應用程序);?

⑦對①的最小支持(技術報告)。?

①為完全被認可的ISO標準,定義了核心壓縮技術和最小文件格式,②~⑥定義壓縮和文件格式的擴充。其中,①已經制定完成,其余部分還在制定過程中。本文所討論的JPEG2000標準就是基於第1部分的。

2 JPEG2000系統的特點?

JPEG2000以其特有的優點彌補了現行JPEG標準的不足。離散小波變換算法中,圖像可以轉換成壹系列可更加有效存儲像素模塊的子帶,因此,JPEG2000格式的圖像壓縮比可在現在的JPEG基礎上再提高10%~30%,而且壓縮後的圖像顯得更加細膩平滑。也就是說,在網上觀看采用JPEG2000壓縮的圖像時,不僅下載速率比采用JPEG格式的快近30%,而且品質也將更好。對於目前的JPEG標準,在同壹個壓縮碼流中不能同時提供有損和無損壓縮,而在JPEG2000系統中,通過選擇參數, 能夠對圖像進行有損和無損壓縮,可滿足圖像質量要求很高的醫學圖像、圖像庫等方面的處理需要。現在網絡上的JPEG圖像下載時是按"塊"傳輸的,因此只能逐行地顯示,而采用JPEG2000格式的圖像支持漸進傳輸(Progressive Transmission),這就允許圖像按照所需的分辨率或像素精度進行重構,用戶根據需要,對圖像傳輸進行控制,在獲得所需的圖像分辨率或質量要求後,便可終止解碼,而不必接收整個圖像的壓縮碼流。由於JPEG2000采用小波技術,利用其局部分辨特性,在不解壓的情況下,可隨機獲取某些感興趣的圖像區域(ROI)的壓縮碼流,對壓縮的圖像數據進行傳輸、濾波等操作。?

3 JPEG2000圖像編解碼系統?

本節主要介紹JPEG2000圖像編解碼系統。其編碼器和解碼器的框圖如圖1所示。?

在編碼器中,首先對源圖像進行前期預處理,對處理的結果進行離散小波變換,得到小波系數。然後對小波系數進行量化和熵編碼,最後組成標準的輸出碼流(位流)。解碼器是編碼器的反過程,首先對碼流進行解包和熵解碼,然後是反向量化和離散小波反變換,對反變換的結果進行後期處理合成,就得到重構的圖像數據。盡管JPEG2000編解碼過程與JPEG類似,但是對於每壹步的具體實現兩者卻有非常大的差異。編碼過程的壹般步驟如下:?

(1) 將有多個顏色分量組成的圖像分解成單壹顏色分量的圖像。分量之間存在壹定的相關性,通過分解相關的分量變換,可減少數據間的冗余度,提高壓縮效率;?

(2) 分量圖像被分解成大小統壹的矩形片——圖像片。圖像片是進行變換和編解碼的基本單元;?

(3) 每壹個圖像片進行小波變換。產生多級系數圖像。這些不同級數的系數圖像可以重構出不同分辨率的圖像;?

(4) 多級分解的結果是由小波系數組成的多個子帶。他們表示圖像片中局部區域(而不是整幅圖像)的頻率特性;?

(5) 對系數子帶進行量化,並且組成矩形數組的"碼塊";?

(6) 對壹個碼塊中的系數位平面(也就是壹個碼塊中整個系數中具有同樣權值的那些位)進行熵編碼;?

(7) 相對於圖像的背景區域,可以對感興趣區域進行更高質量的編碼;?

(8) 通過在位流中加入掩碼來增加抗幹擾性;?

(9) 在每壹個碼流的最前部都有壹個頭結構,他描述的是源圖像的屬性,各種分解情況和編碼風格。這個頭結構可以用來進行定位、抽取、譯碼和重構圖像,得到的圖像可以具有所期望的分辨率、重現精度、感興趣的區域或是其他特性。?

編碼過程主要分為以下幾個過程:預處理、核心處理和位流組織。預處理部分包括對圖像分片、直流電平(DC)位移和分量變換。核心處理部分由離散小波變換、量化和熵編碼組成。位流組織部分則包括區域劃分、碼塊、層和包的組織。?

3.1 預處理?

(1)圖像分片?

分片指的是把源圖像分割成相互不重疊的矩形塊——圖像片,每壹個圖像片作為壹個獨立的圖像進行壓縮編碼。編碼中的所有操作都是針對圖像片進行的。圖像片是進行變換和編解碼的基本單元。圖像的分片降低了對存儲空間的要求,並且由於他們重構時也是獨立進行的,所以可以用來對圖像的特定區域而不是整幅圖像進行解碼。當然,圖像分片會影響圖像質量。比較小的圖像片會比大圖像片產生更大的失真。圖像分片在低比特率表示圖像的時候所造成的圖像失真會更加嚴重。

(2)DC電平位移?

在對每壹圖像片進行正向離散小波變換之前,都要進行直流電平位移。目的是在解碼時,能夠從有符號的數值中正確恢復重構的無符號樣本值。直流電平位移是對僅有無符號數組成的圖像片的像素進行的。電平位移並不影響圖像的質量。在解碼端,在離散小波反變換之後,對重構的圖像進行反向直流電平位移。?

(3)分量變換?

JPEG2000支持多分量圖像。不同的分量不需要有相同的比特深度,也不需要都是無符號或有符號數。對於可恢復(無損)系統,唯壹的要求就是每壹個輸出分量圖像的比特深度必須跟相應輸入分量圖像的比特深度保持壹致。?

3.2 核心處理?

(1)小波變換?

不同於傳統的DCT變換,小波變換具有對信號進行多分辨率分析和反映信號局部特征的特點。通過對圖像片進行離散小波變換,得到小波系數圖像,而分解的級數視具體情況而定。小波系數圖像由幾種子帶系數圖像組成。這些子帶系數圖像描述的是圖像片水平和垂直方向的空間頻率特性。不同子帶的小波系數反映圖像片不同空間分辨率的特性。通過多級小波分解,小波系數既能表示圖像片中局部區域的高頻信息(如圖像邊緣),也能表示圖像片中的低頻信息(如圖像背景)。這樣,即使在低比特律的情況下,我們也能保持較多的圖像細節(如邊緣)。另外,下壹級分解得到的系數所表示圖像在水平和垂直方向的分辨率只有上壹級小波系數所表示的圖像的壹半。所以,通過對系數圖像的不同級數進行解碼,就可以得到具有不同空間分辨率(或清晰,或模糊)的圖像。?

小波變換因其具有的這種優點被JPEG2000標準所采用。在編碼系統中,對每個圖像片進行Mallat塔式小波分解。經過大量的測試,JPEG2000選用兩種小波濾波器:LeGall 5/3濾波器和Daubechies 9/7濾波器。前者可用於有損或無損圖像壓縮,後者只能用於有損壓縮。?

在JPEG2000標準中,小波濾波器可以有2種實現模式:基於卷積的和基於提升機制的。而具體實現時,對圖像邊緣都要進行周期對稱延伸,這樣可以防止濾波器對圖像邊緣操作時產生失真。另外,為了減小變換時所需空間的開銷,標準中還應用了基於行的小波變換技術。?

(2)量化?

由於人類視覺系統對圖像的分辨率要求有壹定的局限,通過適當的量化減小變換系數的精度,可在不影響圖像主觀質量的前提下,達到圖像壓縮的目的。量化的關鍵是根據變換後圖像的特征、重構圖像質量要求等因素設計合理的量化步長。量化操作是有損的,會產生量化誤差。不過壹種情況除外,那就是量化步長是1,並且小波系數都是整數,利用可恢復整數5/3拍小波濾波器進行小波變換得到的結果就符合這種情況。?

在JPEG2000標準中,對每壹個子帶可以有不同的量化步長。但是在壹個子帶中只有壹個量化步長。量化以後,每壹個小波系數有2部分來表示:符號和幅值。對量化後的小波系數進行編碼。對於無損壓縮,量化步長必須是1。?

(3)熵編碼?

圖像經過變換、量化後,在壹定程度上減少了空域和頻域上的冗余度,但是這些數據在統計意義上還存在壹定的相關性,為此采用熵編碼來消除數據間的統計相關。將量化後的子帶系數劃分成小的矩形單元——碼塊(code block)。

如圖2所示,采用兩層編碼策略,首先使用基於上下文的算術編碼器,每個碼塊進行獨立的嵌入式碼塊編碼,得到碼塊的嵌入式壓縮位流。然後,根據率失真優化原則,采用PCRD(Post Compression Rate Distortion)優化算法思想,將所有碼塊的壓縮位流適當截取,組織成具有不同質量級的壓縮位流層。每壹層上的壓縮位流連同其前面的所有層的壓縮位流,可重構出壹定質量的圖像。在分層組織壓縮位流時,須對每個碼塊在每壹層上的貢獻信息進行編碼,即對碼塊位流在該層的截斷點信息等編碼。由於圖像采用小波變換,整個圖像壓縮碼流具有分辨率可分級性,從而,壓縮碼流可同時具有質量上和分辨率上的可分級性。由於對碼塊進行獨立編碼,因此,可根據需要,隨機獲取並解碼相應的碼塊壓縮位流,重構出所需的圖像區域。

①第壹層編碼算法?

與傳統的依次對每個系數進行算術熵編碼不同,JPEG2000編碼系統把碼塊中的量化系數組織成若幹個位平面,從最高有效位平面(MSB)開始,依次對每個位平面上的小波系數位進行算術編碼。?

第壹層編碼可以看作2部分:上下文的生成(CF)和算術編碼器(AE)。在上下文的生成中,以壹定的順序掃描碼塊中的所有位。在碼塊的每個位平面上,從左上角系數開始,從左到右,從上到下進行掃描,並為每壹位生成壹個上下文。算術編碼器根據生成的上下文,對每壹位進行編碼。

在量化後,小波系數被轉換為符號-振幅模式。在從MSB到LSB編碼時,當遇到第壹個為1的比特時,這個像素被稱作是顯著的,否則,為不顯著的。所有比特的上下文都是由他們的鄰域通過以下的4種方法產生:?

零編碼(zero coding,ZC)用來編碼非顯著像素在當前的位平面中是否將變得顯著;?

遊程編碼(run-length coding, RLC)用來編碼位於同壹列中的4個非顯著性像素,如果他們的鄰域都是非顯著的;?

符號編碼(sign coding, SC)當該位變得顯著後,編碼他的符號位;

幅度編碼(Magnitude Refinement, MR)用來編碼顯著位。?

每個位平面都在3個編碼通道中進行編碼。通道1是重要性傳播通道(Significance Propagation Pass),至少有壹個重要性鄰域的像素,在此通道進行編碼,使用ZC和SC。通道2是幅度細化通道(Magnitude Refinement Pass),所有的重要位在此通道進行編碼,使用MR。通道3是清除通道(Cleanup Pass),所有沒有在上兩個通道中進行編碼的像素,在此通道中進行編碼,使用ZC,LRC和SC。位平面中的每壹位在3個通道中進行檢查來確定是否應當被編碼。

由編碼通道得到的上下文和與其對應的數據壹起,送至算術編碼器進行編碼。在這裏,采用了自適應二進制算術編碼〔1〕,主要是考慮到計算的復雜度以及實現的方便性。在進行算術編碼後,對每壹個碼塊,得到壹個獨立的嵌入式碼塊壓縮位流。?

②第二層編碼算法?

在第二層編碼算法中,采用PCRD率失真優化算法思想〔1,2〕,對所有碼塊的嵌入式壓縮位流進行適當的截取,分層組織,形成整個圖像的具有質量可分級的壓縮碼流。第二層編碼算法也可以看作兩部分:速率控制和分層組織壓縮位流。速率控制是指通過壹定的編解碼措施,獲得給定壓縮碼率下的最佳重構圖像質量。分層組織壓縮位流根據編碼參數所規定的分層層數以及每壹層的編碼速率,估算每壹層的率失真門限,然後根據每壹層估計出的率失真門限,按照碼塊率失真算法,找到每個碼塊嵌入式壓縮位流在該層上的截斷點,將截斷的碼塊壓縮位流進行打包,按照規定的格式存儲,形成圖像壓縮碼流。將碼流分層組織,每壹層含有壹定的質量信息,在前面層的基礎上改善圖像質量。這樣用戶可以根據自己的需要,控制圖像的傳輸,在取得滿意的圖像效果後,中止傳輸,在某種程度上緩解當前網絡帶寬有限而圖像數據量大而造成的瓶頸問題。

3.3 位流組織?

為了適合圖像交換,更好地應用JPEG2000壓縮碼流的功能,JPEG2000標準規定了存放壓縮位流和解碼所需參數的格式,把壓縮碼流以包為單元進行組織,形成最終的碼流。

4 JPEG2000中的關鍵技術?

在這壹節中,對JPEG2000中所使用的關鍵技術加以說明。?

4.1 離散小波變換?

JPEG2000與傳統JPEG最大的不同在於他放棄了JPEG所采用的以離散余弦變換(DCT)為主的區塊編碼方式,轉而采用以小波變換(DWT)為主的多解析編碼方式。 ?

余弦變換是經典的譜分析工具,他考察的是整個時域過程的頻域特征或整個頻域過程的時域特征,因此對於平穩過程,他有很好的效果,但對於非平穩過程,他卻有諸多不足。在JPEG中,離散余弦變換將圖像壓縮為8×8 的小塊,然後依次放入文件中,這種算法靠丟棄頻率信息實現壓縮,因而圖像的壓縮率越高,頻率信息被丟棄的越多。在極端情況下,JPEG圖像只保留了反映圖像外貌的基本信息,精細的圖像細節都損失了。小波變換是現代譜分析工具,他既能考察局部時域過程的頻域特征,又能考察局部頻域過程的時域特征,因此即使對於非平穩過程,處理起來也得心應手。他能將圖像變換為壹系列小波系數,這些系數可以被高效壓縮和存儲,此外,小波的粗略邊緣可以更好地表現圖像,因為他消除了DCT壓縮普遍具有的方塊效應。

4.2 速率控制算法?

JPEG2000通過采用速率控制方法來計算碼流的理想截斷點,從而獲得給定壓縮碼率下的最佳重構圖像質量。速率控制使用了PCRD率失真優化算法。率失真優化,即給定整個壓縮碼流的最大編碼速率,找出每個碼塊壓縮位流的適當截斷點,在滿足的條件下,使重構圖像失真最小。從而使得嵌入式碼塊編碼具有如下特點:生成的壓縮位流可根據需要,被截斷成不同長度的位流子集;將所有碼塊的截斷位流組織起來,可重構出壹定質量的圖像。?

4.3 漸進傳輸特性?

現在網絡上的JPEG圖像下載時是按"塊"傳輸的,因此只能逐行顯示,而采用JPEG2000格式的圖像支持漸進傳輸。JPEG2000中的漸進傳輸有2種,按照分辨率的漸進傳輸和按照質量的漸進傳輸。按照質量的漸進傳輸就是先傳輸圖像輪廓數據,然後再逐步傳輸細節數據來不斷提高圖像質量,而按照分辨率的漸進傳輸則先傳輸分辨率較低的圖像,後壹幅圖像在前壹幅圖像的基礎上提高其分辨率。圖像的漸進傳輸使得用戶不需要像以前那樣等圖像全部下載後才決定是否需要,有助於快速地瀏覽和選擇大量圖片,從而有效的解決了網絡傳輸的瓶頸問題。?

4.4 感興趣區域壓縮?

JPEG2000壹個極其重要的優點就是ROI(Region of Interest,感興趣區域)。用戶可以任意指定圖片上感興趣的區域,然後在壓縮時對這些區域指定壓縮質量,或在恢復時指定某些區域的解壓縮要求。這是因為子波在空間和頻率域上具有局域性,要完全恢復圖像中的某個局部,並不需要所有編碼都被精確保留,只要對應他的壹部分編碼沒有誤差就可以了。在實際應用中,我們就可以對壹幅圖像中感興趣的部分采用低壓縮比以獲取較好的圖像效果,而對其他部分采用高壓縮比以節省存儲空間。這樣就能在保證不丟失重要信息的同時又有效地壓縮了數據量,實現了真正的"交互式"壓縮。?

5 JPEG2000標準的應用?

隨著科技的發展,網絡已經滲透到每個人的生活之中。然而,受到網絡帶寬的限制,高質量的圖像由於數據量很大,在網絡上的傳輸延遲很大。因此,對於使用PC機、筆記本、掌上電腦或PDA,通過Modem接入因特網訪問圖像數據的用戶來說,允許根據需要選擇恰當的圖像分辨率進行瀏覽和傳輸是非常必要的。?

在軍事偵察和氣象預報中,由衛星遙感得到的圖像必須通過遠距離無線信道傳輸,傳輸誤碼的出現不可避免。JPEG2000編碼器特有的碼流組織形式是輸出碼流具有有效抑制誤碼的能力。這樣,碼流通過無線衛星通訊信道發還給地面接收站後,地面接收站在解碼過程中可以利用JPEG2000內部的碼流組織形式來避免由於傳輸誤碼而造成的錯誤解碼。?

此外,在安全確認、身份認證及醫學領域,JPEG2000都有著其廣泛的應用。可以預測,在不久的將來,JPEG2000將在以下領域得到廣泛的應用:因特網、移動和便攜設備、印刷、掃描(出版物預覽)、數碼相機、遙感、傳真(包括彩色傳真和因特網傳真)、醫學應用、數字圖書館和電子商務等。

6 結論?

JPEG2000旨在創建壹個新的圖像編碼系統,該壓縮編碼系統的率失真和主觀圖像質量優於現有的JPEG標準,能夠提供對圖像的低碼率的壓縮,並且對壓縮碼流可進行靈活的處理,如隨機獲取部分壓縮碼流、圖像的漸進傳輸、感興趣區域的實現以及壓縮碼流較強的容錯性能等,該標準將與現行JPEG標準兼容。JPEG2000圖像壓縮標準以其優秀的性能,必將在數碼相機、遙感、傳真、醫療以及電子商務等多個領域得到廣泛的應用,成為21世紀的主流靜態圖像壓縮標準。

參考文獻

〔1〕JPEG 2000 Image Coding ystem.JPEG 2000 Final Committee Draft Version 1.0, 2000,16(3)?

〔2〕Taubman D. High Performance Scable Image Compression with EBCOT.IEEE Trans? Image Processing,1994,3(9):572~578?

〔3〕張曉娣,等.新壹代的靜止圖像壓縮標準 JPEG2000.電信科學,2001(5)?

〔4〕李冬梅.發展中的靜止圖像壓縮標準JPEG2000.電視技術,2001(6)?

〔5〕王瑞軒.面向JPEG2000的二維DWT的VLSI設計與仿真,2002

wisher_lxy | 已被瀏覽119次 0 評論 | 引用(0) | 加入博采中心

最新發表

再別康橋

做人最重要的是積極!

無言

xml四種解析器及性能比較(轉載)

JPEG2000綜述 [轉]

為什麽人總是這麽復雜?

從來不懂得放棄是種美麗!

我要壹個人自由自在!

我要壹個人自由自在!

生命如此之輕

最新回復

嘿嘿,復雜就復雜吧

Powered by BlogChina.com

  • 上一篇:VBS整人代碼
  • 下一篇:type-c接口是什麽意思
  • copyright 2024編程學習大全網