




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、JPEGJPEG編碼原理編碼原理數字信號處理數字信號處理JPEGJPEG編碼原編碼原理理JPEGJPEG(Joint Photographic Experts GroupJoint Photographic Experts Group)是一個由)是一個由ISOISO和和IECIEC兩個組織機構聯合組成的一個專家組,負責制定靜兩個組織機構聯合組成的一個專家組,負責制定靜態(tài)的數字圖像數據壓縮編碼標準,這個專家組開發(fā)的算法稱態(tài)的數字圖像數據壓縮編碼標準,這個專家組開發(fā)的算法稱為為JPEGJPEG算法。算法。JPEGJPEG專家組開發(fā)了兩種基本的壓縮算法,一種是采用以離專家組開發(fā)了兩種基本的壓縮算法,
2、一種是采用以離散余弦變換(散余弦變換(Discrete Cosine TransformDiscrete Cosine Transform,DCTDCT)為基礎的)為基礎的有損壓縮算法,另一種是采用以預測技術為基礎的無損壓縮有損壓縮算法,另一種是采用以預測技術為基礎的無損壓縮算法。算法。JPEGJPEG壓縮是有損壓縮,它利用了人的視角系統(tǒng)的特性,壓縮是有損壓縮,它利用了人的視角系統(tǒng)的特性,使用量化和無損壓縮編碼相結合來去掉視角的冗余信息和數使用量化和無損壓縮編碼相結合來去掉視角的冗余信息和數據本身的冗余信息。據本身的冗余信息。JPEGJPEG編碼的主要步驟是先經過正向離散余弦變換(編碼的主要步
3、驟是先經過正向離散余弦變換(FDCTFDCT)。)。接著使用加權函數進行量化(接著使用加權函數進行量化(QuantizationQuantization)。)。 然后進行然后進行Z Z字形編碼(字形編碼(Zigzag ScanZigzag Scan)。再使用差分脈沖編碼調制)。再使用差分脈沖編碼調制(Differential Pulse Code ModulationDifferential Pulse Code Modulation,DPCM)DPCM)對直流對直流系數系數(DC)(DC)進行編碼。再使用行程長度編碼(進行編碼。再使用行程長度編碼(Run-Length Run-Length
4、EncodingEncoding,RLERLE)對交流系數()對交流系數(ACAC)進行編碼。最后進行)進行編碼。最后進行熵編碼(熵編碼(Entropy EodingEntropy Eoding),組成位數據流。),組成位數據流。每個每個8 88 8二維原圖像采樣數據塊,實際上是二維原圖像采樣數據塊,實際上是6464點陣的離散點陣的離散信號,該信號是空間二維參數信號,該信號是空間二維參數x x和和y y的函數的函數F(x,y)F(x,y)。FDCTFDCT把把這些信號作為輸入,然后把這些信號作為輸入,然后把它分解成64個正交基信號,每個正交基信號對應于64個二維(2d)空間頻率中的一個,這些空
5、間頻率是由輸入信號的頻譜組成。在一幅圖像中像素之間的灰度或色差信號變化緩慢,在88子塊中像素之間的相關性很強,所以通過離散余弦正變換處理后,在空間頻率低頻范圍內集中了數值大的系數,這就為數據壓縮提供了可能。一、JPEG算法概要JPEG(Joint Photographic Experts Group)是一 個由ISO和IEC兩個組織機構聯合組成的一個專家組,負責制定靜態(tài)的數字圖像數據壓縮編碼標準,這個專家組開發(fā)的算法稱為JPEG算法,并且成為國際上通用的標準,因此又稱為JPEG標準。JPEG是一個適用范圍很廣的靜態(tài)圖像數據壓縮標準,既可用于灰度圖像又可用于彩色圖像。JPEG專家組開發(fā)了兩種基本
6、的壓縮算法,一種是采用以離散余弦變換(Discrete Cosine Transform,DCT)為基礎的有損壓縮算法,另一種是采用以預測技術為基礎的無損壓縮算法。使用有損壓縮算法時,在壓縮比為25:1的情況下,壓縮后還原得到的圖像與原始圖像相比較,非圖像專家難于找出它們之間的區(qū)別,因此得到了廣泛的應用。例如,在VCD和DVD-Video電視圖像壓縮技術中,就使用JPEG的有損壓縮算法來取消空間方向上的冗余數據。為了在保證圖像質量的前提下進一步提高壓縮比,近年來JPEG專家組正在制定JPEG2000標準,這個標準中將采用小波變 換(Wavelet)算法。JPEGJPEG壓縮是有損壓縮,它利用了
7、人的視角系統(tǒng)的特性,壓縮是有損壓縮,它利用了人的視角系統(tǒng)的特性,使用量化和無損壓縮編碼相結合來去掉視角的冗余信息和使用量化和無損壓縮編碼相結合來去掉視角的冗余信息和數據本身的冗余信息。數據本身的冗余信息。JPEGJPEG算法框圖如圖:算法框圖如圖:壓縮編碼大致分成三個步驟:壓縮編碼大致分成三個步驟: 使用正向離散余弦變換(使用正向離散余弦變換(Forward Discrete Cosine Forward Discrete Cosine TransformTransform,FDCTFDCT)把空間域表示的圖變換成頻率域表示)把空間域表示的圖變換成頻率域表示的圖。的圖。 使用加權函數對使用加權
8、函數對DCTDCT系數進行量化,這個加權函數對于人系數進行量化,這個加權函數對于人的視覺系統(tǒng)是最佳的。的視覺系統(tǒng)是最佳的。 使用霍夫曼可變字長編碼器對量化系數進行編碼。使用霍夫曼可變字長編碼器對量化系數進行編碼。 譯碼或者叫做解壓縮的過程與壓縮編碼過程正好相反。譯碼或者叫做解壓縮的過程與壓縮編碼過程正好相反。JPEGJPEG算法與彩色空間無關,因此算法與彩色空間無關,因此“RGB“RGB到到YUVYUV變換變換”和和“YUV“YUV到到RGBRGB變換變換”不包含在不包含在JPEGJPEG算法中。算法中。JPEGJPEG算法處理的算法處理的彩色圖像是單獨的彩色分量圖像,因此它可以壓縮來自不彩色
9、圖像是單獨的彩色分量圖像,因此它可以壓縮來自不同彩色空間的數據,如同彩色空間的數據,如RGB, YCbCrRGB, YCbCr和和CMYKCMYK。 JPEGJPEG算法的主要計算步驟算法的主要計算步驟JPEGJPEG壓縮編碼算法的主要計算步壓縮編碼算法的主要計算步 驟如下:驟如下:正向離散余弦變換(正向離散余弦變換(FDCTFDCT)。)。 量化(量化(QuantizationQuantization)。)。 Z Z字形編碼(字形編碼(Zigzag ScanZigzag Scan)。)。 使用差分脈沖編碼調制(使用差分脈沖編碼調制(Differential Pulse Code Differ
10、ential Pulse Code ModulationModulation,DPCM)DPCM)對直流系數對直流系數(DC)(DC)進行編碼。進行編碼。使用行程長度編碼(使用行程長度編碼(Run-Length EncodingRun-Length Encoding,RLERLE)對)對交流系數(交流系數(ACAC)進行編碼。)進行編碼。熵編碼(熵編碼(Entropy EodingEntropy Eoding)。)。1 1、正向離散余弦變換、正向離散余弦變換下面對正向離散余弦變換下面對正向離散余弦變換(FDCT)(FDCT)變換作幾點說明。(變換作幾點說明。(1 1)對每個單獨的彩色圖像分量,
11、把整個分量圖像分成若干個對每個單獨的彩色圖像分量,把整個分量圖像分成若干個8 88 8的圖像塊,如圖所示,并作為兩維離散余弦變換的圖像塊,如圖所示,并作為兩維離散余弦變換DCTDCT的輸入。通過的輸入。通過DCTDCT變換,把能量集中在少數幾個系數上。變換,把能量集中在少數幾個系數上。 (2 2)DCTDCT變換使用下式計算:它的逆變換使用下式計算:變換使用下式計算:它的逆變換使用下式計算:上面兩式中,上面兩式中,C(u)C(u),C(v) = (2)-1/2C(v) = (2)-1/2,當,當u, v = 0u, v = 0;C(u)C(u),C(v) = 1C(v) = 1,其他。,其他。
12、f(i, j)f(i, j)經經DCTDCT變換之后,變換之后,F(0F(0,0)0)是直是直流系數,其他為交流系數。流系數,其他為交流系數。 在計算兩維的在計算兩維的DCTDCT變換時,可使用下面的計算式把兩變換時,可使用下面的計算式把兩 維的維的DCTDCT變換變成一維的變換變成一維的DCTDCT變換:變換:2 2、量化量化是對經過、量化量化是對經過FDCTFDCT變換后的頻率系數進行量化。量化的目的是減小非變換后的頻率系數進行量化。量化的目的是減小非“0”“0”系數的幅度以及增加系數的幅度以及增加“0”“0”值系數的數目。量化是圖值系數的數目。量化是圖像質量下降的最主要原因。對于有損壓縮
13、算法,像質量下降的最主要原因。對于有損壓縮算法,JPEGJPEG算法算法使用如下圖所示的均勻量化器進行量化,量化步距是按照使用如下圖所示的均勻量化器進行量化,量化步距是按照系數所在的位置和每種顏色分量的色調值來確定。因為人系數所在的位置和每種顏色分量的色調值來確定。因為人眼對亮度信號比對色差信號更敏感,因此使用了兩種量化眼對亮度信號比對色差信號更敏感,因此使用了兩種量化表:亮度量化值和色差量化值。此外,由于人眼對低頻分表:亮度量化值和色差量化值。此外,由于人眼對低頻分量的圖像比對高頻分量的圖像更敏感,因此圖中的左上角量的圖像比對高頻分量的圖像更敏感,因此圖中的左上角的量化步距要比右下角的量化步
14、距小。下面的量化步距要比右下角的量化步距小。下面2 2個表中的數個表中的數值對值對CCIR 601CCIR 601標準電視圖像已經是最佳的。如果不使用這標準電視圖像已經是最佳的。如果不使用這兩種表,你也可以把自己的量化表替換它們。亮度量化值兩種表,你也可以把自己的量化表替換它們。亮度量化值表和色度量化值表表和色度量化值表3 3、Z Z字形編排量化后的系數要重新編排,字形編排量化后的系數要重新編排,目的是為了增加連續(xù)的目的是為了增加連續(xù)的“0”“0”系數的個數,就是系數的個數,就是“0”“0”的游的游程長度,方法是按照程長度,方法是按照Z Z字形的式樣編排,如下圖所示。這字形的式樣編排,如下圖所
15、示。這樣就把一個樣就把一個8 88 8的矩陣變成一個的矩陣變成一個1 16464的矢量,頻率較低的矢量,頻率較低的系數放在矢量的頂部。量化的系數放在矢量的頂部。量化DCTDCT系數序號系數序號 0 01 15 56 61414151527272525 2 24 47 713131616262629294242 3 38 8121217172525303041414343 9 91111181824243131404044445353 10101919232332323939454552525454 20202222333338384646515155556060 212134343737474
16、75050565659596161 35353636484849495757585862626363 4 4、直流系數的編碼、直流系數的編碼8 88 8圖像塊經過圖像塊經過DCTDCT變換之后得到的變換之后得到的DCDC直流系數有兩直流系數有兩個特點,一是系數的數值比較大,二是相鄰個特點,一是系數的數值比較大,二是相鄰8 88 8圖像塊的圖像塊的DCDC系數值變化不大。根據這個特點,系數值變化不大。根據這個特點,JPEGJPEG算法使用了差分算法使用了差分脈沖調制編碼(脈沖調制編碼(DPCMDPCM)技術,對相鄰圖像塊之間量化)技術,對相鄰圖像塊之間量化DCDC系系數的差值(數的差值(Delt
17、aDelta)進行編碼。)進行編碼。DeltaDeltaDC(0,0)k-DC(0,0)k-DC(0,0)k-15DC(0,0)k-15、 交流系數的編碼交流系數的編碼量化量化ACAC系數的特點是系數的特點是1 16464矢量中包含有許多矢量中包含有許多“0”“0”系系數,并且許多數,并且許多“0”“0”是連續(xù)的,因此使用非常簡單和直觀是連續(xù)的,因此使用非常簡單和直觀 的游程長度編碼的游程長度編碼(RLE)(RLE)對它們進行編碼。對它們進行編碼。JPEGJPEG使用了使用了1 1個字個字節(jié)的高節(jié)的高4 4位來表示連續(xù)位來表示連續(xù)“0”“0”的個數,而使用它的低的個數,而使用它的低4 4位來位
18、來表示編碼下一個非表示編碼下一個非“0”“0”系數所需要的位數,跟在它后面系數所需要的位數,跟在它后面的是量化的是量化ACAC系數的數值。系數的數值。6 6、熵編碼、熵編碼使用熵編碼還可以對使用熵編碼還可以對DPCMDPCM編碼后的直流編碼后的直流DCDC系數和系數和RLERLE編碼后的交流編碼后的交流ACAC系數作進一步的壓縮。在系數作進一步的壓縮。在JPEGJPEG有損壓縮算有損壓縮算法中,使用霍夫曼編碼器來減少熵。使用霍夫曼編碼器的法中,使用霍夫曼編碼器來減少熵。使用霍夫曼編碼器的理由是可以使用很簡單的查表(理由是可以使用很簡單的查表(Lookup TableLookup Table)方
19、法進行)方法進行編碼。壓縮數據符號時,霍夫曼編碼器對出現頻度比較高編碼。壓縮數據符號時,霍夫曼編碼器對出現頻度比較高的符號分配比較短的代碼,而對出現頻度較低的符號分配的符號分配比較短的代碼,而對出現頻度較低的符號分配比較長的代碼。這種可變長度的霍夫曼碼表可以事先進行比較長的代碼。這種可變長度的霍夫曼碼表可以事先進行定義。定義。7 7、組成位數據流、組成位數據流JPEGJPEG編碼的最后一個步驟是把各種標記代碼和編碼后編碼的最后一個步驟是把各種標記代碼和編碼后的圖像數據組成一幀一幀的數據,這樣做的目的是為了便的圖像數據組成一幀一幀的數據,這樣做的目的是為了便于傳輸、存儲和譯碼器進行譯碼,這樣的組
20、織的數據通常于傳輸、存儲和譯碼器進行譯碼,這樣的組織的數據通常稱為稱為JPEGJPEG位數據流(位數據流(JPEG bitstreamJPEG bitstream)。)。JPEGJPEG編碼原理詳解編碼原理詳解 JPEGJPEG編碼原理的簡化框圖如下圖所示編碼原理的簡化框圖如下圖所示: : 把圖像分成把圖像分成8 88 8的塊,的塊, DCT DCT正變換,正變換, 量化器,量化器, 熵編碼器,等四部分。熵編碼器,等四部分。 詳述詳述JPEGJPEG靜態(tài)圖像壓縮編碼原理及其實現技術靜態(tài)圖像壓縮編碼原理及其實現技術 JPEGJPEG編編/ /解碼的工作原理如下圖所示。解碼的工作原理如下圖所示。首
21、先把一幅圖像(單色圖像的灰度值或彩色圖像的亮首先把一幅圖像(單色圖像的灰度值或彩色圖像的亮度分量或色差分量信號)分成度分量或色差分量信號)分成8 88 8的塊,按圖中的框圖進的塊,按圖中的框圖進行離散余弦正變換(行離散余弦正變換(FDCTFDCT)。)。注意:在編碼器輸入端,原始圖像被分成一系列注意:在編碼器輸入端,原始圖像被分成一系列8 88 8的塊,作為離散余弦正變換(的塊,作為離散余弦正變換(FDCTFDCT)的輸入。在解碼器的)的輸入。在解碼器的輸出端,離散余弦逆變換(輸出端,離散余弦逆變換(IDCTIDCT)輸出許多)輸出許多8 88 8的數據塊,的數據塊,用以重構圖像。用以重構圖像
22、。8 88 8的的FDCTFDCT和和8 88 8的的IDCTIDCT的數學定義表示式如下:的數學定義表示式如下: FDCTFDCT: IDCTIDCT: 兩式中,兩式中,f (x, y)f (x, y)是圖像的亮度信號,是圖像的亮度信號,x, yx, y是像素域空間是像素域空間坐標;坐標;F(u, v)F(u, v)是變換域內的像素函數,是變換域內的像素函數,u, vu, v是變換域坐是變換域坐標;當標;當u=v=0u=v=0時,時,C(u)=C(v)=1/C(u)=C(v)=1/,其它情況,其它情況,C(u)=C(v)=1C(u)=C(v)=1。每個每個8 88 8二維原圖像采樣數據塊,實
23、際上是二維原圖像采樣數據塊,實際上是6464點陣的點陣的離散信號,該信號是空間二維參數離散信號,該信號是空間二維參數x x和和y y的函數的函數F(x,y)F(x,y)。FDCTFDCT把這些信號作為輸入,然后把它分解成把這些信號作為輸入,然后把它分解成6464個正交基信個正交基信號,每個正交基信號對應于號,每個正交基信號對應于6464個二維(個二維(2d2d)空間頻率中的)空間頻率中的一個,這些空間頻率是由輸入信號的頻譜組成。一個,這些空間頻率是由輸入信號的頻譜組成。FDCTFDCT的輸的輸出是出是6464個基信號的幅值(即個基信號的幅值(即DCTDCT系數),每個系數值由系數),每個系數值
24、由6464點陣輸入信號唯一地確定,即離散余弦變換的變換系數。點陣輸入信號唯一地確定,即離散余弦變換的變換系數。在頻域平面上變換系數是二維頻域變量在頻域平面上變換系數是二維頻域變量u u和和v v的函數。對應的函數。對應于于u=0u=0,v=0v=0的系數,稱做直流分量(的系數,稱做直流分量(DCDC系數),其余系數),其余6363個個系數稱作交流分量(系數稱作交流分量(ACAC系數)。因為在一幅圖像中像素之系數)。因為在一幅圖像中像素之間的灰度或色差信號變化緩慢,在間的灰度或色差信號變化緩慢,在8 88 8子塊中像素之間的子塊中像素之間的相關性很強,所以通過離散余弦正變換處理后,在空間頻相關性
25、很強,所以通過離散余弦正變換處理后,在空間頻率低頻范圍內集中了數值大的系數,這就為數據壓縮提供率低頻范圍內集中了數值大的系數,這就為數據壓縮提供了可能。了可能。 量化量化為了達到壓縮數據的目的,對為了達到壓縮數據的目的,對DCTDCT系數系數f (u,vf (u,v)需作)需作量化處理。量化處理是一個多到一的映射它是造成量化處理。量化處理是一個多到一的映射它是造成DCTDCT編編/ /解碼信息損失的根源。在解碼信息損失的根源。在JPEGJPEG標準中采用線性均勻量化器。標準中采用線性均勻量化器。量化定義為,對量化定義為,對6464個個DCTDCT變換系數變換系數f (u,vf (u,v)除以量
26、化步長)除以量化步長q(u,v)q(u,v),然后四舍五入取整。即量化器步長是量化表的元,然后四舍五入取整。即量化器步長是量化表的元素,量化表元素隨素,量化表元素隨DCTDCT變換系數的位置而改變。同一像素變換系數的位置而改變。同一像素的亮度量化表和色差量化表不同值,量化表的尺寸也是的亮度量化表和色差量化表不同值,量化表的尺寸也是6464,與與6464個變換系數一一對應。量化表中的每一個元素值為個變換系數一一對應。量化表中的每一個元素值為1 1至至255255之間的任意整數,其值規(guī)定了對應位置變換系數的之間的任意整數,其值規(guī)定了對應位置變換系數的量化器步長。在接收端需要進行逆量化,逆量化的計算
27、公量化器步長。在接收端需要進行逆量化,逆量化的計算公式為:式為:不同頻率的余弦函數對視覺的影響不同,量化處理是不同頻率的余弦函數對視覺的影響不同,量化處理是在一定的主觀保真度圖像質量的前提下,可據不同頻率的在一定的主觀保真度圖像質量的前提下,可據不同頻率的視覺閾值來選擇量化表中元素值的大小。根據心理視覺加視覺閾值來選擇量化表中元素值的大小。根據心理視覺加權函數得到亮度量化表和色度量化表。權函數得到亮度量化表和色度量化表。DCTDCT變換系數變換系數 f f (u,v) (u,v) 除以量化表中對應位置的量化步長,其幅值下降,除以量化表中對應位置的量化步長,其幅值下降,動態(tài)范圍變窄,高頻系數的零值數目增加。動態(tài)范圍變窄,高頻系數的零值數目增加。 行程編碼和熵編碼行程編
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省2024年高考語文模擬試卷及答案2
- 2025年運城市稅務系統(tǒng)遴選面試真題附詳細解析含答案
- 泌尿系結石的中醫(yī)診療方案(診療標準)
- 某醫(yī)院醫(yī)療物資采購及設備管理制度 (一)
- 六年級心理健康教案課件
- 老年護理培訓課件大全
- 老年康復護理風險課件
- 老師用的課件app
- 2025年安全產品行業(yè)分析報告及未來五至十年行業(yè)發(fā)展報告
- 財務會計崗位勞動合同書(含合規(guī)風險管理)
- 鎖骨下動脈竊血綜合征 (2)PPT
- 2022年人教八級下英語單詞英譯漢
- 大班社會《愛發(fā)脾氣的菲菲》課件
- 公路工程項目代建制管理辦法(218頁編制詳細)
- NX空間系統(tǒng)熱簡介復習課程
- 納米氧化鋅實驗報告(共9頁)
- 自粘聚合物改性瀝青防水卷材施工
- 青少年科技創(chuàng)新PPT
- 美麗鄉(xiāng)村片區(qū)內監(jiān)理規(guī)劃范本
- 曉明煤礦副井過卷緩沖裝置安裝措施
- 燃料油 MSDS(化學品安全技術說明書)
評論
0/150
提交評論