基于JPEG2000標準的感興趣區域編碼 作者: 時間:2007-03-09 來源:網絡 加入技術交流群 掃碼加入和技術大咖面對面交流海量資料庫查詢 收藏 摘要:概述了JPEG2000標準PART1的基本系統,介紹了其重要特點:感興趣區域編碼;介紹了一種新的ROI編碼算法——PSBShift算法,它結合了JPEG2000中定義的兩種標準RIO編碼算法的優點。 關鍵詞:圖像編碼 JPEG2000 感興趣區域編碼 JPEG2000是由ISO(國際標準化組織)和IEC(國際電工協會)聯合開發的新興圖像壓縮標準。JPEG2000因為采用了離散小波變換和最新的嵌入式編碼技術,所以具備了傳統的JPEG所無法比擬的優勢。它具有以下主要特點: (1)良好的低比特率壓縮性能,其壓縮率比JPEG高約30%左右; (2)支持無損和有損壓縮; (3)按圖像質量或分辨率漸進傳輸; (4)對碼流的隨機存取和感興趣區域(ROI)的編碼; (5)較強的抗誤碼性能。 JPEG2000圖像壓縮標準共有12部分,其中PART1是JPEG2000的核心系統,已在2000年12月成為國際標準,其目標是提供一個最小化的無知識產權問題的JPEG2000可用系統;PART2是擴展系統,與PART1比較,它采用的技術更復雜,性能也更優良。圖1、21 JPEG2000 PART1的基本系統 圖1和圖2所示分別是JPEG2000的編碼系統和解碼系統。 由于解碼只是編碼的逆過程,這里只介紹編碼系統。 如果壓縮圖像,首先進行預處理:對圖像的無符號分量進行DC電平位移,多分量圖像還要進行分量變換,再把每個分量都分割成不重疊的矩形區域,稱為貼片(tiles)。分別對每個貼片進行壓縮,主要分為四步。第一步,計算小波變換,得到小波系數子帶;標準規定了整數和浮點兩種小波變換;有L+1個子帶分辨率層,其中L由編碼器決定。第二步,如果用戶指定了目標碼率,則量化小波系數,碼率越低,小波系數的量化就越粗糙。第三步,用MQ編碼器對小波系數進行算術編碼,采用EBCOT算法。該算法的原理將每個子帶分成塊,稱為碼塊(code-blocks),分別編碼。將幾個碼塊的編碼結果打成一個包(packet)是位流的分量。第四步,比特流組織,將包連同許多標記(markers)一起寫進位流。 2 感興趣區域的編碼 感興趣區域(ROI)編碼是JPEG2000標準中的一個新特點,即允許感興趣區域(ROI)比圖像的其他區域(BG)有更高的質量編碼。ROI編碼在某些應用中很重要,其圖像中的某一部分比其他部分顯得重要,例如: (1)客房機/服務器模式:服務器一開始只傳輸一幅圖像的低質量或低分辨率的版本,客房機選擇圖像的一塊區域作為ROI區域,這樣服務器就只需要傳輸能夠細化(也就是提高空間分辨率或質量)ROI區域的數據了。在瀏覽圖像數據庫時這是一個很有用的功能,特別是當存儲的圖像的分辨率很高和圖像很大(大于2兆像素)時,客戶機不需要以最高的分辨率下載整幅圖像。圖3(2)人臉圖像:在瀏覽數碼相冊時,人們通常最感興趣的只是照片中的人臉部分。采用一種自動人臉檢測算法,一幅圖像中人臉部分就能被編碼成ROI區域,并且能比背景區域更精確地存儲。這種方法也能用于客房機/服務器模式瀏覽圖像,或者用于數碼照相機中減少存儲人臉圖像的比特數。 JPEG2000標準中定義了兩種ROI算法:Maxshift算法和一般位移法。其中,Maxshift算法被JPEG2000的PART1所采納,一般位移法被JPEG2000的PART2所采納。 一般位移法(Generic scaling based method)是選擇一個適當的位移因子s,使位于ROI區域之外的背景(BG)系數都右移s位。這樣ROI區域的最有效的位平面就高于背景系數的所有位平面,如圖3(b)。在嵌入式編碼/解碼過程中,這些ROI區域的位平面會先于BG區域的位平面被編碼、傳輸和解碼(仍有一些ROI區域的位平面會與BG區域的位平面一起編碼、傳輸和解碼,這取決于位移因子s)。如果碼流被截斷或者編碼/解碼過程沒有全部完成,ROI區域的重建圖像質量會優于BG區域。在ROI區域的重建質量得到保證的前提下,ROI技術可以節約帶寬,減少計算開銷。 由于可以自由地選擇位移因子,一般位移法能夠很好地控制ROI區域與BG區域之間的質量的相對重要性。但是,一般位移法必須對ROI的形狀信息進行編碼,現有標準限制了ROI的形狀只能是矩形或橢圓形。另一方面,在一般位移法中,不同的小波子帶必須使用同一個ROI區域的定位,這在某些應用中是不希望出現的。 在Maxshift算法(Maxshift method)中,位移因子s不是預先選定的。在編碼端,所有經量化的小波系數被逐一掃描。位移因子s的選擇必須使ROI區域的最小系數大于BG區域的最大系數,如圖3(c)。在解碼端,接收到的比s小的系數都是BG區域的系數,反之則是ROI區域的系數。 當一般位移法中的位移因子增大到BG位平面與ROI平面沒有重疊的時候,axshift算法可以看作是一般位移法的特例,也就是位移因子必須滿足: s≥max(Mb) Mb通常是子帶b中的幅度位平面的最大值,max(Mb)就是所有系數的最大幅度。在Maxshift算法中ROI的形狀信息隱含在解碼器中,這樣任意形狀的ROI它都能支持。而且,它能靈活地處理不同的小波子帶。Maxshift算法最主要的局限在于,它不能通過調整位移因子而靈活地控制ROI區域與BG區域之間的質量的相對重要性。圖43 一種新的ROI編碼算法——PSBShitf算法 考慮到這兩種標準ROI編碼方法的各自局限性,本文介紹了一種新的、靈活地位移方法,可以稱為PSBShift算法(Partial Significant Bitplanes Shift),它結合了兩種標準算法的優點,能夠有效地壓縮多個優先級別不同的感興趣區域。 此方法主要基于這樣一個事實,即在高比特率下,ROI區域和BG區域都能以高質量進行編碼,并且兩者的區別并不太值得注意;而在低比特率下,圖像中的ROI區域希望有比BG區域更高的編碼質量。因此只要在ROI區域的最高有效位平面中分離出部分位平面,就能調整ROI區域與BG區域之間的質量的相對重要性了。也就是說只需要位移ROI系數最高有效位平面中的一部分,而不用像標準中的方法那樣位移所有的位平面。圖3(d)中說明了PSBShift算法(這里s=6)。ROI系數的所有位平面被分成了兩部分:最高有效位平面(themost significant bitplanes)和剩余有效位平面(the residual significant bitplanes)。最高有效位平面的數量與位移因子的大小相等,剩余有效位平面的數量Nlsbs表示為: 在編碼端,ROI系數的最高有效位平面不位移,而ROI系數的剩余有效平面與BG系數一起右移(即向LSB方向移)。在解碼端,可以像Maxshift算法一樣識別ROI系數。低于第s個位平面的所有位平面提升s個位平面,再結合高于第s個位平面的所有位平面。這就是與Maxshift算法不同的地方,在Maxshift算法中沒有“結合”這一步操作。既然BG系數的高于第s個位平面的所有位都是0,那么這種修改過的解碼器也可以用于處理由Maxshift算法生成的標準代碼流。 (1)PSBShift ROI編碼 PSBShift 算法能夠編碼使一幅圖像中的ROI區域比BG區域的質量高,或者使ROI區域與BG區域的質量一樣。如圖3(d)所示,如果在編碼/解碼第2s個最高有效位平面之前,編碼位流被截斷或者編碼/解碼過程被終止,ROI區域將會有比BG區域更高的質量。在第2s個最高有效位平面被編碼/解碼后(ROI區域的位平面和BG區域的位平面重疊時),ROI區域和BG區域將以相同的質量編碼。位移因子s控制著ROI區域和BG區域的相對質量。 例如,對一幅“Barbara”圖像(720%26;#215;576,8bpp)應用不同的位移因子(s=0、5、9、13),采用可逆的編碼模式編碼,在臉部定義一個矩形的ROI區域。如圖4所示,隨著比特率的增加,ROI區域和BG區域的失真減少(distortion reduction)。當s很小時,例如s=5,ROI區域和BG區域的質量沒有太大的不同(圖4(b))。隨著位移因子的增加,例如s=9(圖4(c)),在比特率的較大變換范圍內,ROI區域都有比BG區域更高的編碼質量。當所有位平面都被解碼,就達到了無損解碼。當s≥馬max(Mb)(這里max(Mb)=12),結果與Maxshift算法一樣,如圖4(d)中s=13。因此PSBShitf算法在某種程度上能概括Maxshift算法,而不同于一般位移位。與一般移法相比,一般位移法只支持矩形和橢圓的ROI形狀,PSBShift算法可以編碼任意形狀的ROI而不需要對形狀信息進行編碼。PSBShift算法能夠像Maxshift算法一樣,在不同的小波子帶定義不同的ROI。與Maxshift算法不同的是,Maxshift 算法也能通過使用不同的位移因子靈活地調整ROI區域與BG區域之間的質量的相對重要性,這種靈活性夠針對不同的應用改善ROI區域的編碼質量。例如,圖5中所示的“Barbara”圖像,它是可逆編碼(在所有子帶中都有ROI/BG的區域)的,并且以0.5bpp的比特率分別用Maxshift算法(s=12)和Maxshift 算法(s=10)解碼。可以看到在ROI區域兩種方法沒有視覺上的區別,而在BG區域Maxshift算法比Maxshift算法提供了更好的質量。如果ROI區域需要比BG區域更高的質量,可以使用更大的位移因子,結構將會更接近Maxshift算法,因此,Maxshift算法可以針對不同的應用,設計出有效和靈活的ROI編碼。 (2)多個ROI區域的編碼 多個ROI區域的編碼需要根據多個ROI區域在一幅圖像中不同的優先級采用不同的質量對它們進行編碼。一般位移法也支持多個ROI區域的編碼,但是需要對ROI形狀的信息編碼并且對形狀有限制。Maxshift算法也可以支持多個ROI區域的編碼,不過它要通過大幅度提高小波系數的動態范圍來實現,這樣將會明顯地降低壓縮效率。Maxshift算法能夠有效地支持多個ROI區域的編碼,它通過對不同的ROI區域采用位移不同數量的最高有效位平面來實現。例如,“Bike”圖像(2048%26;#215;2560,8bpp)中定義了三個ROI區域,如圖6所示的ROI-1、ROI-2和ROI-3。選擇最高有效位平面的提升數量s1>s2>s3,例如s1=10,s2=8,s3=6,存貯在碼流里的位移因子是s=max(s1,s2,s3)。 JPEG2000是一個非常有用的新一代靜止圖像的壓縮標準。本文主要介紹了JPEG2000標準的基本系統和它的一個重要特點:感興趣區域編碼。在分析了兩種標準算法(Maxshift算法和一般位移法)的優缺點后,介紹了一種新的ROI編碼算法——Maxshift算法。這種算法有四個基本優點:(1)它支持任意形狀的ROI編碼,而不需要編碼形狀的信息;(2)它允許不同的小波子帶有不同的ROI定義;(3)采用合適的位移因子可以控制ROI區域與BG區域的之間的相對重要性;(4)在低比特率下,能夠對一幅圖像中的具有不同優先級的多個ROI區域進行有效的編碼。
評論