第六章變換編碼_第1頁
第六章變換編碼_第2頁
第六章變換編碼_第3頁
第六章變換編碼_第4頁
第六章變換編碼_第5頁
已閱讀5頁,還剩161頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第六章變換編碼變換編碼變換編碼(TransformCoding):將信源輸出分解/變換為其組成部分,然后根據每個成分的特性分別進行編碼主要內容Karhunen-Loéve變換(KLT)離散余弦變換(discretecosinetransform,DCT)變換系數的量化編碼JPEG例:動機y=2.5x例:動機

——旋轉考慮(可逆)變換例:動機

——變換后的序列例:動機

——壓縮拋棄坐標第二維…用定長碼編碼,可降低50%!例:動機

——重構序列原始值重構值例:動機

——誤差分析誤差取決于被置為0的那些n的幅值如果幅值很小,則誤差也很小即大多數信息在每個數據對的第一個元素中例:動機

——從統計分析的角度上面我們從幾何的角度分析了變換我們也可以從統計分析角度來審視變換:當變換對序列去相關時,能得到最大壓縮主成分方法(PrincipleComponentMethod)即樣本—樣本之間的相關性為0變換編碼變換將原始序列{xn}分成大小為N的塊將每個塊映射成變換序列

{n}

可逆映射每塊的不同元素的通常有不同的統計特性量化,根據目標平均碼率統計序列的統計特性可能對不同的子序列采取不同的技術失真熵編碼定長碼、Huffman編碼、算術編碼、RLE+算術編碼…變換我們主要考慮線性變換:{n}每個元素的特性與其位置有關如:在上述例子中元素的位置是奇數還是偶數設計變換序列的方差決定編碼策略N

與特定領域有關,基于實踐考慮計算代價、延遲、信源統計特性的穩定性重構:變換(2)寫成矩陣形式(1-D):2-D變換:可分解的2-D變換:變換(3)矩陣形式的可分解2-D變換:我們要討論的變換都是正交變換(Orthonormaltransforms)正交變換正交矩陣:如果一個矩陣滿足其中I為單位陣,則稱A為正交矩陣。每行/列點積為1,不同行/列的點積為0正交矩陣的逆矩陣等于其轉置:正交反變換:正交變換(2)能量守恒性質:總能量守恒,但通常能量在各系數上分布并不均勻變換編碼增益為增益與系數方差的集中程度有關若每個系數的方差相等,則沒有增益幾何均值算術均值從信號分解的角度考慮變換:反變換為變換行=基向量表示x與ai之間的相似性相似性越高,變換系數越大例:第一行:低通信號,x0和x1的均值第二行:高通信號,x0和x1的差值A為正交矩陣從信號分解的角度(2)例(續):考慮兩個序列:低通:(3,1)高通:(3,-1)矩陣的角度1-D變換:變換矩陣的行展開類似的,2-D變換可視為變換矩陣行向量外積構成的矩陣的展開外積:矩陣的角度(2)例:外積為:矩陣的角度(3)例(續):逆變換為:DC系數AC系數基矩陣Karhunen-LoéveTransform(KLT)亦稱為HotellingTransformHotelling于1933年用于離散數據去相關Karhunen、Loéve分別于1947年和1948用于連續函數分析Kramer和Mathews、Huang和Schultheiss分別于1956年、1963年用于數據壓縮(變換編碼)在統計分析中被稱為主成份分析

(Principal

ComponentsAnalysis,PCA)KLT(2)目標:用一個正交變換,去除輸入之間的相關性自相關矩陣:

{n}不相關為對角陣A為正交矩陣基函數(A的行向量)為矩陣的特征向量

{n}的方差為的特征值是對稱的可正交對角化KLT的性質從N維中任取

系數,令其他系數為0,得到的重構誤差(均方誤差)為其中為的特征值,也是k

的方差所以KLT最小均方誤差意義下的最佳變換KLT達到最佳的能量集中KLT的性質(2)任何正交變換的行列式的值:任何正交變換的協方差的行列式的值:KLT變換后(對角)協方差矩陣的行列式Hadamardin不等式:任何對稱、半正定矩陣的行列式小于等于其對角線元素的乘積變換系數方差的幾何均值最小編碼增益GTC最大例:KLT對塊大小為2的平穩過程,自相關矩陣為特征值:特征向量:須滿足正交約束,歸一化:所以,KLT的變換矩陣為:KLT(3)既然KLT是最佳的,為什么還會有其他的變換呢?沒有快速計算方法KLT取決于信號的統計性質對平穩過程,KLT比較合適但對大多數輸入,需重復計算/傳輸變換矩陣尋找結構化的變換,使得其性能接近KLTDCT離散余弦變換

(DiscreteCosineTransform,DCT)變換矩陣為cosine的函數源自DFT但更適合壓縮DCT基向量變化隨行號增大而增大(頻率越來越高)DCT基矩陣DFTvs.DCTDFT:DCT:函數的不連續影響Fourier級數的收斂,從而需要更多基函數,影響壓縮DCT更連續DFT在邊界不連續DFTvs.DCT(2)DCT變換后的能量更集中更適合壓縮DCT的性質對Markov過程:當很大時,DCT的性能接近KLT的性能

實際上,很多信源都是很大的Markov過程DCT是一個最流行的變換JPEGMPEGH.261…離散正弦變換

(DiscreteSineTransform,DST)變換矩陣為sine的函數:類似DCT,有很好的性質當很小時,DST的性能接近KLT的性能在圖像/語音編碼應用中,與DCT變換互補離散DiscreteWalsh-Hadamard變換N階Hadamard矩陣HHT=NIN=2k的構造規則:…DWH變換從Hadamard矩陣HN推導得到變換矩陣H歸一:乘以將每行以Wash序(sequencyorder)排列如:性能:計算簡單:+/-,在有限硬件上容易實現但壓縮性能比采用DCT稍差各種變換的比較(1)各種變換的比較(2)對塊大小為1×32的典型自然圖像,各種變換的能量集中比較:i主要內容Karhunen-Loéve變換(KLT)離散余弦變換(discretecosinetransform,DCT)變換系數的量化編碼JPEG例1:空域量化vs.變換域量化x=[100110120130140150160170]T8點DCT變換:y=[381.84-64.420-6.730-2.010-0.5070]

能量主要集中在前兩個系數7水平的中平量化器例1:空域量化vs.變換域量化(2)方案1:直接對原始數據進行量化方案2:對DCT系數進行量化△=6,量化后的DCT系數:[64-110-10000]3個非0DCT系數MSE:w/oDCT:3.0w/DCT:1.5例1:空域量化vs.變換域量化(3)△=20,2個非0DCT系數:[19-3000000]DCT系數重構效果仍然很平滑直接方法開始產生塊/mosaic效應MSE:w/oDCT:50.0w/DCT:9.07例1:空域量化vs.變換域量化(4)△=100,2個非0DCT系數:[4-1000000]DCT系數重構效果仍然平滑直接方法產生的塊/mosaic效應更多MSE:w/oDCT:1000w/DCT:205例2:空域量化vs.變換域量化輸入數據: 8978767570828182 12295868080767481 18415312610685767175 22120518014697716867 225222217194144957882 228225227220193146110108 223224225224220197156120 2172192192242302201971512-DDCT變換系數(取整):1155259-23611730 -377-5085-101047-3 -4-158-2442-15101 -23-34-199-54-1 196-15-106-5-1 31336-920-3 8-24-13-10-2 20-32-200-1大多數能量集中在左上角例2:空域量化vs.變換域量化(2)

在變換域量化通常能得到更好的結果我們還可以做得更好對不同的子帶采取不同的量化步長

DCT系數的分布變換系數的比特分配我們討論的變換為正交變換變換過程為能量守恒,所以總的誤差=量化誤差每個子帶的能量:每個子帶的量化誤差:總的量化誤差:變換系數的比特分配(2)比特分配問題:計算,使得最小并滿足比特率:子帶能量:

為對角線上第k個元素變換系數的比特分配(3)用Lagrangian乘子法得到最佳的比特分配對所有的k,每個子帶的量化誤差的方差盡可能相等變換系數的比特分配(4)

方差越大,比特數越多代入比特率約束最佳失真和每個系數的碼率分別為變換系數的比特分配(5)變換編碼的最佳失真為假設對原始信號的碼率失真函數為則變換編碼增益為變換系數的比特分配(6)變換編碼增益為

為Rxx對角線的元素,對平穩過程,Rxx每個(i,i)相等增益與系數方差的集中程度有關若每個系數的方差相等,則沒有增益幾何均值算術均值變換系數的比特分配(7)上述最佳不一定為整數,甚至不能保證為正數

但增大了平均碼率,還需均勻減小非0遞歸比特分配滿足約束:且為整數所以碼率分配算法為:1、計算每個成分的方差2、雖所以的3、對所有的方差排序,對最大的方差的成分分配1比特

若比特數用盡,停止;否則轉第3步上述算法稱為zonalsampling遞歸比特分配(2)8*8變換的比特分配閾值編碼zonalsampling基于平均值進行比特分配局部變化可能不能很好重構如邊緣像素閾值編碼:對所有大于閾值的系數進行編碼,而丟棄其他較小的系數閾值編碼(2)對2-D圖像編碼可采用Zigzag方式編碼可得到很多高頻系數為0,發送EOB(EndofBlock)即可總結正交變換:對信號空間的坐標進行旋轉變換的目的:去相關:使得在量化時,對各系數單獨量化(標量量化),而不會損傷過多效率(與矢量量化相比)變換本身并不會產生壓縮,但變換會使得量化更容易實現,真正實現壓縮的是變換后的量化能量集中:稀疏,將原始信號的能量壓縮到盡可能少的系數對原始信號只用少數幅值較大的系數表示比特分配與方差的log成正比KLT是最佳的,但其是信號相關的,沒有快速算法

DCT性能接近KLT,有快速計算算法通常采用DCT:對圖像采用8x8的塊大小、均勻量化

、Z字掃描(JPEG,MPEG,ITU-TH.261,H.263…)下節課內容下節課內容:JPEG作業:Sayood3rd,pp.421-4222,4變換編碼JPEGJPEG標準JPEG:JointPhotographicExpertsGroup正式名稱:ISO/IECJTC1/SC29/WG10與CCITT(現為ITU)學習組VIII聯合工作開始于1986年于1992年形成國際標準ISO/IEC10918-1和CCITT建議T.81

廣泛用于圖像交換、WWW、數字圖像Motion-JPEG為數字視頻編緝的事實標準InternationalOrganizationforStandardizationInternationalElectrotechnicalCommissionJointISO/IECTechnicalCommittee(InformationTechnology)Subcommittee29

(CodingofAudio,Picture,MultimediaandHypermediaInformation)WorkingGroup10(JBIG,JPEG)JPEG:8×8的塊編碼JPEG標準JPEG規定了4種運行模式,以滿足不同需要:基于DPCM的無損編碼模式:壓縮比可達2:1基于DCT的有損順序編碼模式:壓縮比可達10:1以上基于DCT的遞增編碼模式基于DCT的分層編碼模式基本(baseline)JPEG編碼器Huffman編碼:通過簡單的查表就可以實現Huffman編碼可以用自適應二進制算術編碼代替(由于專利問題,很少產品支持)

編碼效率提高10%,但算法更復雜顏色空間JPEG標準本身并沒有規定具體的顏色空間,只是對各分量分別進行編碼實現中通常將高度相關RGB顏色空間轉換到相關性較小的YCbCr顏色空間RGBYCbCr(8bit/pixel)YCbCrRGB顏色空間圖像的主要信息包括在Y通道Cb、Cr更平滑容易壓縮人眼對色度分量不敏感對色度分量可以進行下采樣:如4:2:2,4:2:0CbCr零偏置(LevelOffset)對于灰度級是2n的像素,通過減去2n-1,將無符號的整數值變成有符號數對于n=8,即將0~255的值域,通過減去128,轉換為值域在128~127]內目的:使像素的絕對值出現3位10進制的概率大大減少DCT變換對每個單獨的彩色圖像分量,把整個分量圖像分成8×8的圖像塊,如圖所示,并作為兩維離散余弦變換DCT的輸入DCT變換:其中逆變換:量化中平型均勻量化器:量化步長是按照系數所在的位置顏色分量來確定因為人眼對亮度信號比對色差信號更敏感,因此使用了兩種量化表:亮度量化值和色差量化值根據人眼的視覺特性(對低頻敏感,對高頻不太敏感)對低頻分量采取較細的量化,對高頻分量采取較粗的量化如果原始圖象中細節豐富,則去掉的數據較多,量化后的系數與量化前差別反之,細節少的原始圖象在壓縮時去掉的數據少些DCT系數量化步長人眼的對亮度敏感性DCLowHighLowHighSensitiveforhumaneyesLesssensitiveforhumaneyes建議基本量化表基于人的生理感知閾值實驗量化表縮放真正的量化表=縮放因子×基本量化表質量因子≤50:縮放因子=50/質量;質量因子>50:縮放因子=2–質量/50縮放因子70586不同質量因子的圖像示例GIF:258898bytes100:326321bytes75:70586bytes

50:46295bytes

25:29360bytes10:15325byteshttp://www.cs.sfu.ca/CC/365/mark/material/cgi-bin/whichjpeg.cgi9438bytes例: 用8x8的JEPG基線標準,壓縮并重構下列子圖52 55 61 66 70 61 64 7363 59 66 90 109 85 69 7262 59 68 113 144 104 66 7363 58 71 122 154 106 70 6967 61 68 104 126 88 68 7079 65 60 70 77 68 58 7585 71 64 59 55 61 65 8387 79 69 68 65 76 78 940偏置轉換后-76 -73 -67 -62 -58 -67 -64 -55-65 -69 -62 -38 -19 -43 -59 -56-66 -69 -60 -15 16 -24 -62 -55-65 -70 -57 -6 26 -22 -58 -59-61 -67 -60 -24 -2 -40 -60 -58-49 -63 -68 -58 -51 -65 -70 -53-43 -57 -64 -69 -73 -67 -63 -45-41 -49 -59 -60 -63 -52 -50 -34正向DCT變換(n=8)后變成-415 -29 -62 25 55 -20 -1 37 -21 -62 9 11 -7 -6 6-46 8 77 -25 -30 10 7 -5-50 13 35 -15 -9 6 0 311 -8 -13 -2 -1 1 -4 1-10 1 3 -3 -1 0 2 -1-4 -1 2 -1 2 -3 1 -2-1 -1 -1 -2 -1 -1 0 -1量化變換后的數組-26 -3 -6 2 2 -1 0 01 -2 -4 1 1 0 0 0-3 1 5 -1 -1 0 0 00-4 1 2 -1 0 0 0 001 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0DC系數的差分編碼8×8圖像塊經過DCT變換之后得到的DC直流系數有兩個特點系數的數值比較大相鄰8×8圖像塊的DC系數值變化不大:冗余根據這個特點,JPEG算法使用了差分脈沖調制編碼(DPCM)技術,對相鄰圖像塊之間量化DC系數的差值DIFF進行編碼:DC系數的差分編碼對DIFF用Huffman編碼:分成類別,類似指數Golomb編碼類別ID:一元碼編碼類內索引:采用定長碼DC類別范圍范圍大小0011-1,122-3,-2,2,343-7,

-6,

-5,

-4,4,5,6,784-15,…,-8,8,…,15165-31,…,-16,16,…,3132………15[-32767,-16384],[16384,32767]32768DC系數的差分編碼

例:DC=8,上一DC=5,則DIFF=8-5=3

類別ID=2,類內索引=3,則碼流=10011AC系數的Z字掃描由于經DCT變換后,系數大多數集中在左上角,即低頻分量區,因此采用Z字形按頻率的高低順序讀出,可以出現很多連零的機會。可以使用游程編碼。尤其在最后,如果都是零,給出EOB(EndofBlock)即可。Zig-zag掃描26?30?3?2?62?41?411512?11?1200000?1?1EOBAC系數的游程編碼在JPEG和MPEG編碼中規定為:(run,level)表示連續run個0,后面跟值為level的系數如:?30?3?2?62?41?411512?11?1200000?1?1EOB表示為(0,-3);(1,-3);(0,-2);(0,-6);(0,2);(0,-4);(0,1);(0,-4);(0,1)(0,1);(0,5);(0,1);

(0,2);(0,-1);(0,1);(0,-1);(0,2);(5,-1);(0,-1);EOB編碼:Run:最多15個,用4位表示ZLevel:類似DC分成16個類別,用4位表示表示類別號C類內索引對(Z,C)聯合用Huffman編碼對類內索引用定長碼編碼AC系數的Huffman編碼Z:0的游程;C:類別ZRL:表示16個0;當0的個數大于15時,分成多次如20個0,緊跟-1:ZRL;(4,-1)(run,level)序列:(0,-3);(1,-3);...Z/C序列:0/2,1/2,…-3是第2類的第1個值,(0,-3):0100-3是第2類的第1個值,(1,-3):1101100重構與編碼相反解碼Huffman數據解碼DC差值重構量化后的系數DCT你變換丟棄填充的行/列反0偏置對丟失的CbCr分量差值(下采樣的逆過程)YCbCrRGB重構量化后的系數(已通過DC差重構DC系數)乘以量化表,得到IDCT:+128:重構誤差:每個像素大約為5的平均絕對誤差誤差在左下角比較明顯原圖重構圖示例圖像示例圖像基于DPCM的無損編碼模式采用三鄰域二維預測編碼和熵編碼無失真編碼器源圖像數據壓縮的圖像數據預測器熵編碼器表說明DPCM預測編碼框圖基于DCT的遞增編碼模式此模式與順序模式編碼步驟基本一致不同之處在于:遞增模式每個圖像分量的編碼要經過多次掃描才完成第一次掃描只進行一次粗糙的壓縮,然后根據此數據先重建一幅質量低的圖像以后的掃描再作較細的掃描,使重建圖像質量不斷提高,直到滿意為止遞增模式分為兩種:按頻段累進按位累進基于DCT的分層編碼模式1、降低原始圖像的空間分辨率2、對已經降低分辨率的圖像按照順序編碼模式進行壓縮并存儲或傳輸3、對低分辨率圖像進行解碼,然后用插值法提高圖像的分辨率4、將分辨率已經升高的圖像作為原圖像的預測值,并把它與原圖像的差值進行基于DCT的編碼5、重復步驟3、4直到圖像達到完整的分辨率總結JPEG:各種基本算法的精妙組合:DCT+DPCM+Huffman其他標準也類似ReferencesG.K.Wallace,“TheJPEGstillpicturecompressionstandard,”IEEETrans.ConsumerElectronics,vol.38,no.1,pp.xviii-xxxiv,Feb.1992.TU-TRec.T.81

/ITU-T/studygroups/com16/jpeg1x/index.html

Wiki:/wiki/JpegJPEG2000JPEG2000概述JPEG2000編碼器編碼器結構預處理核心處理熵編碼:EBCOTJPEG2000概述靜止圖像壓縮標準:連續色調和二值1997年開始,2000年定案主要特性:低碼率下性能更好(與JPEG相比)分辨率和質量可伸縮隨機訪問ROI

(RegionOfInterest)容錯:在位流中可加入同步碼支持大圖像應用更廣:復合文檔壓縮在單一數據流中統一有失真編碼和無失真編碼代價(與JPEG相比):更多存儲更復雜JPEGat0.125bpp(放大后)192:1JPEG2000at0.125bpp(放大后)192:1JPEG2000JPEG2000概述JPEG2000編碼器編碼器結構預處理核心處理熵編碼:EBCOT編碼器結構DiscreteWaveletTransformQuantizationEBCOTEntropycodingTier1:BlockCodingImagedataPre-processingTier2:LayerCodingBitstreamRateControlJPEG2000JPEG2000概述JPEG2000編碼器編碼器結構預處理核心處理熵編碼:EBCOT預處理貼片劃分(ImageTiling)顏色變換貼片劃分(1)圖像可能太大,編碼器一次不能處理圖像被分割成不重疊的貼片(tile),所有的操作都是以貼片為處理單元顏色變換、小波變換、量化和熵編碼貼片的一個主要目的是可以對圖像中感興趣的部分進行解碼解碼器識別位流中的每個貼片,并且只對包含在貼片中的像素進行解碼貼片劃分(2)參考網格:(referencegrid):Xsiz,Ysiz圖像區域偏移量:XOsiz,YOsiz圖像與參考網格底端對齊

每個成分的水平/豎直方向采樣周期:XRsiz,YRSiz如XRsiz=2,YRsiz=1XRsiz=2,YRsiz=2.貼片劃分(3)所有貼片大小相等,邊界處除外貼片劃分(4)貼片的大小會影響圖像的主觀質量和客觀質量太小的貼片會帶來更多的“貼片效應”顏色變換支持兩種顏色變換不可逆變換(Irreversiblecolortransform,ICT):YCbCr空間同JPEG中的顏色變換用于浮點小波變換/有失真編碼可逆變換(Reversiblecolortransform,RCT):YUV空間用于整數小波變換,可用于有失真編碼或無失真編碼可選:對色度分量進行下采樣同JPEG一樣,顏色分量也進行0偏置處理:-2n-1可逆顏色變換顏色變換:逆變換:JPEG2000JPEG2000概述JPEG2000編碼器編碼器結構預處理核心處理熵編碼:EBCOT核心處理小波變換量化離散小波變換(DWT)DWT(2)雙正交DWTh0與g0正交h1與g1正交DWT(3)不可逆:Daubechies(9,7)在低碼率下性能最好,但計算復雜度高可逆:LeGall(5,3):整數實現無失真編碼,計算復雜度低nh0(n)nh1(n)0+6/8-1+1±1+2/8-2,0-1/2±2-1/8nh0(n)nh1(n)0+0.602949018236-1+1.115087052456±1+0.266864118442-2,0-0.591271763114±2-0.078223266528-3,1-0.057543526228±3-0.016864118442-4,2+0.091271763114±4+0.026748757410DWT(4)支持卷積方式和提升方式實現離散小波變換卷積:濾波器與信號卷積提升格式:預測和更新DWTCohen-Daubechies-Feauveau(CDF)(9,7)的提升格式:其中P表示像素值,C表示小波系數

LeGall(5,3)用整數小波變換實現=1.586,=0.052,=0.882,=0.443,K=1.230量化JPEG2000支持兩種量化帶死區的標量量化網格量化(TrellisCodedQuantization)帶死區的均勻量化死區:0附近區域的大小為其他區域的2倍量化規則:對每個子帶b,用戶選擇基本量化步長△b,并用該步長對該子帶中的所有系數量化可根據視覺模型(如對比敏感函數,contrastsensitivityfunction)選擇每個子帶的步長

相同視覺質量下能得到更高的壓縮比JPEG2000JPEG2000概述JPEG2000編碼器編碼器結構預處理核心處理熵編碼:EBCOTEBCOTEBCOT:EmbeddedBlockCodingwithOptimizedTruncationTier1:分塊編碼(BlockCoding)將每個子帶分成獨立編碼的碼塊(32x32or64x64)Tier2:最佳截斷(OptimalTruncation)在所有塊被壓縮后,一個后處理過程決定每塊的截斷點壓縮后的率—失真(Post-compressionrate-distortion,PCRD)優化上下文建模算術編碼碼率—失真控制cxD(Tier1)(Tier2)量化后的系數位流EmbeddedBlockCodingOptimizedTruncationTier-1第一輪(Tier-1)編碼:編碼塊的小波系數按位面算術編碼位面編碼(Bit-PlaneCoding)分數位面(FractionalBit-Plane)掃描MQ編碼器上下文建模算術編碼碼率—失真控制cxD(Tier1)(Tier2)量化后的系數位流EmbeddedBlockCodingOptimizedTruncation分塊編碼與EZW和SPIHT的哲學思想不同由于沒有利用帶內冗余,會輕微犧牲效率,但這會帶來其他好處分塊編碼的優點提供SNR(或質量)和分辨率可伸縮分辨率可伸縮:可解碼小圖像通過發送逐個子帶的塊碼流實現EZW和SPIHT只有SNR可伸縮:不同子帶的數據混合在一起可以利用局部統計性:對算術編碼有用提供隨機訪問特征減少存儲要求允許并行實現編碼塊的位平面分解1SignbitMSBLSBMagnitudebitsinsignificantsignificantPixelBit-plane10011000動態掃描和分數位平面每塊用位平面編碼編碼動態掃描:先編碼更可能是重要系數的系數EZW和SPIHT采用確定的掃描順序每個位平面進一步被細分為3個步驟編碼(分數位平面):1.重要性傳播過程(significancepass):對可能是重要的系數2.幅值細化過程(refinementpass):對已是重要的系數3.清除過程(cleanuppass):對不太可能是重要的系數每個系數值在上述3個步驟中的之一出現在每一個步驟中,系數以確定的順序訪問面向條帶(Stripe)的掃描每條4行按列掃描位平面編碼原語4種“原語”編碼操作零編碼(ZeroCoding,ZC):在significanceandcleanuppasses對系數的第p個位平面,如果系數仍不是重要系數符號編碼(Sign

Coding,SC):在significancepass當系數從不重要變成重要時幅值細化(MagnitudeRefinement,MR):在refinementpass對重要系數,細化1比特游程編碼(RLC):只在cleanuppass用游程符號編碼多個連續系數的重要性EBCOT中的上下文共18種上下文10種:重要性編碼5種:符號編碼3種:細化編碼而JBIG和JBIG-2有上千種上下文對每塊,重新初始化上下文模型提高容錯性允許并行實現三個編碼步驟重要性傳播步驟(對第一個位平面省略):

系數不重要,但8鄰居中至少有一個重要的系數,根據當前位平面檢查其是否變成重要的這些系數更可能是重要的系數,因為其有重要的鄰居如果樣本仍是不重要的,用ZC原語編碼如果樣本變成重要的(該位為1時),將其重要性標志置為1,并用SC原語編碼其符號位幅值細化步驟(對第一個位平面省略):在前一個位平面已經是重要的系數,用MR原語編碼清除步驟:對其他剩下的系數,用ZC和RLC原語編碼該過程中的系數極有可能仍是不重要的ZeroCoding亦稱為重要性編碼(Significancecoding)的正常模式若不重要系數在當前位平面仍是不重要的,發送0否則發送1,然后發送系數的符號位系數的重要性與其鄰居有關上下文模型:如果系數仍是不重要的,用9個上下文(索引0-8)編碼系數的第p個位平面根據8鄰居的狀態決定ZC上下文Sh:水平方向重要鄰居的數目(0-2)Sv:豎直方向重要鄰居的數目(0-2)Sd:對角線向重要鄰居的數目(0-4)利用前一個位平面的信息如果鄰居不在同一塊內,則認為該鄰居是不重要的鄰居系數之間的相關性鄰居系數的重要性可用來預測當前系數的重要性HL子帶捕獲豎直方向的邊緣LH子帶捕獲水平方向的邊緣不同的邊緣需要不同方向的鄰居ZeroCoding上下文Sh:水平方向重要鄰居的數目(0-2)Sv:豎直方向重要鄰居的數目(0-2)Sd:對角線向重要鄰居的數目(0-4)LL,LH,HL子帶ZC上下文

舉例水平方向鄰居的重要性預測性最好豎直方向鄰居的重要性預測性最好對角線方向鄰居的重要性預測性最好ZeroCoding上下文游程編碼

—重要性編碼的游程模式應用于不重要概率高的區域當滿足下列條件時,進入游程模式:1.在前一個位平面,列中的所有4個系數都是不重要的2.其中任何一個都沒有重要的鄰居解碼器采用相同的決策如果進入游程模式,發送一個二進制的RunInterruption符號,采用索為9的上下文,用于標識該4個系數中是否有系數在當前位平面是重要的如果所有的都是不重要的(很有可能)發送0否則(不太可能):發送1,然后發送列中前面不重要系數的數目,緊跟第一個重要系數的符號。其余用正常模式編碼。不重要系數的數目在[0,3]區間內近似均勻分布用2比特表示,用均勻分布編碼符號編碼當系數從不重要變成重要時采用相鄰系數的符號位表現出強相關性例:LH子帶中的水平方向系數趨向于有相同的符號HL子帶中的豎直方向系數趨向于有相反的符號符號編碼的上下文呢:利用直接4鄰居的符號(2個水平、2個豎直)每個鄰居可能是:不重要、正、負3^4=81種可能的配置JPEG2000中簡化為5種上下文:索引:10-14幅值細化編碼對重要系數的第p個比特編碼:上下文模型:選用3個上下文(索引15-17)上下文選擇,基于:該比特是否為該系數的第一個細化比特該系數是否有重要的鄰居(水平、豎直或對角線)編碼舉例位平面2:重要性過程:忽略,開始時所有都是不重要的細化過程:忽略,開始時沒有重要的系數清除過程:0,0:前2列用RLC:都是不重要的1,

1,0,0,1,0:第3列用RLC:不是所有都是不重要的,前面有2個不重要,且下一個系數為正的重要系數,最后一個系數為正的重要系數

0,0,0,0:最后1列,不能用RLC,對每個系數用ZC:所有都是不重要的編碼舉例(2)位平面1:重要性過程:逐列掃描所有有至少一個重要鄰居的不重要的系數1,0,1,1,1,1,0,0,0,1,1(這輪中有4個新的重要系數)細化過程:1,1清除過程:0,1,1,0,1,0,0,1,0,0(這輪中3個新的重要系數)編碼舉例(3)位平面0:重要性過程:逐列掃描所有有至少一個重要鄰居的不重要的系數1,1,1,0,1,0,1,0,0,1,0,1,1(這輪中有6個新的重要系數)細化過程:1,0,0,0,1,1,0,1,0清除過程:該例中無EBCOTEBCOT:EmbeddedBlockCodingwithOptimizedTruncationTier-1:分塊編碼(BlockCoding)將每個子帶分成獨立編碼的碼塊(32x32or64x64)Tier-2:最佳截斷(OptimalTruncation)在所有塊被壓縮后,一個后處理過程決定每塊的截斷點壓縮后的率—失真(Post-compressionrate-distortion,PCRD)優化上下文建模算術編碼碼率—失真控制cxD(Tier1)(Tier2)量化后的系數位流EmbeddedBlockCodingOptimizedTruncationTier-2:最佳截斷塊截斷:每個編碼塊產生的位流有不同的小塊組成每個位平面3小塊,對應3個分數位平面編碼過程最后的位流由不同的質量層組成每層由不同塊的合適

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論