版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章多媒體信息編碼2.1引言2.2基本編碼方法2.3圖像編碼標準2.4語音編碼標準第2章多媒體信息編碼2.1引言12.1引言表2.1連續(xù)媒體數(shù)據(jù)類型特征舉例媒體類型數(shù)據(jù)速率說明語音質量音頻CD質量音頻MPEG-2編碼視頻NTSC質量視HDTV質量視頻64kb/s1.4Mb/s3.36Mb/s216Mb/s648Mb/s1個信道,8kHz條樣速率,8位量化2個信道,44.1kHz條樣速率,16位量化640*480像素/幀,24位/像素,30幀/秒640*480像素/幀,24位/像素,30幀/秒1280*720像素/幀,24位/像素,30幀/秒2.1引言表2.1連續(xù)媒體數(shù)據(jù)類型特征舉例2數(shù)據(jù)壓縮處理一般由兩個過程組成:一是編碼過程,即對原始數(shù)據(jù)進行編碼壓縮,以便存儲和傳輸;二是解碼過程,即對壓縮的數(shù)據(jù)進行解壓,恢復成可用的數(shù)據(jù)。根據(jù)解壓后數(shù)據(jù)的保真度,數(shù)據(jù)壓縮技術可分為無損壓縮編碼和有損壓縮編碼兩大類。無損壓縮編碼是指解碼后的數(shù)據(jù)與原始數(shù)據(jù)完全相同,無任何偏差。這種編碼通常基于信息熵原理,常用的編碼有哈夫曼編碼、算術編碼、行程編碼等。它的壓縮能力與所處理數(shù)據(jù)的類型有關,壓縮比通常比較低,一般在2∶1~5∶1。主要用于要求數(shù)據(jù)無損壓縮存儲和傳輸?shù)膱龊?如傳真機、文本文件傳輸?shù)取?shù)據(jù)壓縮處理一般由兩個過程組成:一是編碼過3有損壓縮編碼是指解碼后的數(shù)據(jù)與原始數(shù)據(jù)相比有一定的偏差,但仍可保持一定的視聽質量和效果。它主要利用人的視、聽覺特性,在保持一定保真度下對數(shù)據(jù)進行壓縮,其壓縮比可達100∶1。壓縮比愈高,其解壓縮后的視、音頻質量就愈低。這種編碼方法有很多種,如基于線性預測原理的預測編碼、基于正交變換原理的正交變換編碼、基于向量量化原理的向量量化編碼、基于分層處理的分層編碼以及基于頻帶分割原理的子帶編碼等。主要用于對音頻和視頻數(shù)據(jù)的壓縮。有損壓縮編碼是指解碼后的數(shù)據(jù)與原始數(shù)據(jù)相比有4多媒體信息編碼技術主要側重于有損壓縮編碼的研究。經(jīng)過多年的研究與開發(fā),已經(jīng)出臺了一系列有關的國際標準。其中,最著名的是國際標準組織(ISO)制定的JPEG和MPEG。JPEG是靜止圖像的壓縮標準,其壓縮比可達40∶1。MPEG(MPEG-1、MPEG-2及MPEG-4)是動態(tài)圖像的壓縮標準,采用MPEG-2標準對NTSC質量視頻進行壓縮后,網(wǎng)絡帶寬需求可降低到3.36Mb/s。其它的標準還有國際電信聯(lián)合會(ITU)制定的用于可視電話、會議電視的H.261和H.263;用于音頻的G.711、G.721、G.728等。多媒體信息編碼技術主要側重于有損壓縮編碼的研究52.2基本編碼方法2.2.1行程編碼行程編碼是一種簡單的無損壓縮編碼方法,它通過壓縮原始數(shù)據(jù)中相同的字節(jié)序列實現(xiàn)數(shù)據(jù)壓縮。在圖像和聲音數(shù)據(jù)中可能包含大量的相同字節(jié)連續(xù)重復的序列,通過行程編碼可以將這些重復字節(jié)壓縮掉,取而代之的是一個更加緊密的字節(jié)序列。例如,一個原始數(shù)據(jù)字符串為RTTTTTTTTABBCDGHJK,采用行程編碼后的字符串為R#8TABBCDGHJK,這里用#8T替換掉8個T字符,符號“?!笔翘厥鈽俗R符,用于表示行程編碼。如果原始數(shù)據(jù)字符串也包含了“?!狈?則必須用兩個“#”符號替換掉原始數(shù)據(jù)字符串中的“?!狈枴?.2基本編碼方法2.2.1行程編碼62.2.2哈夫曼編碼哈夫曼(Huffman)編碼是一種無損壓縮編碼方法,它根據(jù)信源符號出現(xiàn)的概率大小進行排序,出現(xiàn)的概率大的符號分配短碼,反之分配長碼。在分配代碼過程中,需要建立一個n階二叉樹,其編碼過程如下:①對信源符號按其出現(xiàn)的概率進行遞減排序;②將兩個最小的概率相加,其和作為新符號的概率;③重復①和②,直到概率之和達到1為止;④每次合并消息時,將被合并的消息賦予1和0或者0和1;⑤尋找從每個信源符號到概率為1處的路徑,記錄下路徑上的1和0;⑥從樹根節(jié)點到葉子節(jié)點,對每個信源符號列出0、1序列。2.2.2哈夫曼編碼7例如,A、B、C、D四個字符出現(xiàn)的概率分別為:P(A)=3/4;P(B)=1/8;P(C)=1/16;P(D)=1/16,按照上述編碼過程將生成如圖2.1所示的二叉樹,獲得的編碼結果是:H(A)=1;H(B)=01;H(C)=001;H(D)=000,該結果存放在哈夫曼表中。圖2.1哈夫曼編碼生成的二叉樹例如,A、B、C、D四個字符出現(xiàn)的概率分別82.2.3離散余弦變換編碼變換編碼主要有離散傅立葉變換(DFT)編碼、離散余弦變換(DCT)編碼等。其中,DCT編碼方法被普遍使用,在JPEG、MPEG和H.261等標準中都采用了DCT編碼。由于聲音信號只有一個時間維,因此音頻信號壓縮采用一維DCT編碼,而圖像壓縮必須考慮水平和垂直兩個方向,因此圖像壓縮則采用二維DCT編碼。2.2.3離散余弦變換編碼變換編碼主要9DCT編碼方法是對一個8×8圖像塊灰度樣本數(shù)據(jù)流進行壓縮,而彩色圖像壓縮可看成是壓縮圖像的多個分量。在編碼器中,首先將源圖像8×8樣本數(shù)據(jù)塊(像素塊)的取值范圍由[0,2p-1](無符號)轉換成[-2p-1,2p-1-1](有符號),其中p為樣本定義的精度。然后對8×8樣本數(shù)據(jù)塊進行正向離散余弦變換(FDCT)。在解碼器中,利用逆向離散余弦變換(IDCT)重建8×8樣本數(shù)據(jù)塊,恢復圖像。FDCT和IDCT的數(shù)學表達式如(1)式和(2)式所示:DCT編碼方法是對一個8×8圖像塊灰度樣10式中:u,v=00其它式中:u,v=011源圖像8×8樣本數(shù)據(jù)塊實質上是64點離散信號(空間范圍x和y的函數(shù)),FDCT將其變換成64個正交基信號,FDCT的輸出是64個DCT系數(shù)(即基信號振幅)。在x、y兩個方向頻率都為零的系數(shù)叫直流系數(shù)(DC),其余63個系數(shù)是交流系數(shù)(AC)。由于圖像幀上點與點之間的樣本值變化比較緩慢,大多數(shù)信號集中在低頻區(qū)。源圖像8×8樣本數(shù)據(jù)塊實質上是64點離散信號(122.2.4差分脈沖編碼調制圖2.2DPCM編解碼器原理框圖(a)DPCM編碼器;(b)DPCM解碼器2.2.4差分脈沖編碼調制圖2.2DPCM編解碼132.2.5運動補償預測編碼運動補償預測編碼是一種主要用于動態(tài)圖像的壓縮的預測編碼。動態(tài)圖像是由一系列視頻幀組成,幀與幀之間可能存在著瞬時冗余,這種瞬時冗余主要是由靜態(tài)背景前的運動物體或攝像機的移動引起的。運動補償預測編碼主要通過幀間編碼來壓縮時間冗余信息。其基本原理如下:①在視頻幀序列中設置參照幀,且第1幀總是參照幀。②對于當前的編碼幀,首先在該幀的前幀和/或后幀(參照幀)中尋找與該幀的一個圖像塊相匹配的圖像塊。2.2.5運動補償預測編碼運動補償預14③如果找到這樣的塊,則進行下列計算:·當前塊的塊亮度值與參照幀中對應塊(稱參照塊)的塊亮度值之間的差值信號(DPCM碼);·當前塊相對于參照塊在x和y兩個方向上的運動向量值,表示該塊在x和y方向上的平移。通過定義一個搜索域來限制x和y方向上的搜索范圍,以降低運動信息的開銷;·用差值信號和運動向量值來表示參照塊與所預測塊之間的誤差,稱為預測誤差。這時,只需對當前塊的運動向量值和預測誤差進行編碼,不必對當前塊的圖像進行編碼,以壓縮時間冗余信息。③如果找到這樣的塊,則進行下列計算:15④如果找不到這樣的塊,則必須進行幀內編碼,即對當前塊的圖像進行編碼。運動補償預測編碼可分成下列三種方式:①單向運動補償預測:只使用前參照幀或后參照幀之一進行預測。②雙向運動補償預測:使用前、后兩個幀作為參照幀來計算各塊的運動向量,最后只選擇具有最小匹配誤差的參照幀相關的運動向量值。③插值運動補償預測:使用前參照幀和后參照幀兩者預測值的平均值。這時,必須分別存儲和傳輸這兩個運動向量。④如果找不到這樣的塊,則必須進行幀內編碼,即162.3圖像編碼標準2.3.1JPEG標準JPEG(JointPhotographicExpertsGroup)是ISO為制定有關靜態(tài)圖像壓縮標準而成立的一個專家組,現(xiàn)已公布了JPEG標準,標準號為ISOCD10918。JPEG作為一種靜態(tài)圖像壓縮編碼的國際標準,在實際中得到廣泛的應用。JPEG圖像壓縮技術具有如下特點:①能夠大范圍地調節(jié)圖像壓縮率及其相應的圖像保真度,解碼器可參數(shù)化。使用戶在具體應用時可以選擇所期望的壓縮率/質量比。2.3圖像編碼標準2.3.1JPEG標準17②能夠應用于任何連續(xù)色調數(shù)字源圖像(實際應用中可能遇到的圖像有很多種,故不限制圖像的尺寸、色彩級差、像素長寬比等條件),不限制圖像的景象內容(如復雜性、色彩范圍或統(tǒng)計特性)。③能夠在具有一定能力的CPU上實現(xiàn)所要求的功能,以利于操縱復雜的計算軟件,并用可接受的硬件成本實現(xiàn)具有高性能要求的應用。②能夠應用于任何連續(xù)色調數(shù)字源圖像(實際應用18④規(guī)定了4種運行模式,以滿足各種需要:·順序編碼:按從左到右、從上到下的順序對圖像進行掃描和編碼。這種模式是基準模式,各種JPEG實現(xiàn)都要支持這種模式。·遞增編碼:對于變換時間較長的掃描器,按由粗到細的過程,以復合掃描順序進行圖像編碼。·無損編碼:保證準確地恢復圖像所有樣本值的圖像編碼。與有損模式相比,其壓縮比低?!し謱泳幋a:以多種分辨率進行圖像編碼,可直接獲得低分辨率圖像,重建復原全圖。
④規(guī)定了4種運行模式,以滿足各種需要:19
1.JPEG圖像模型JPEG標準采用一種通用的圖像模型,能夠適用大多數(shù)常用的二維圖像格式。這種圖像模型是從各種圖像格式和應用中抽象出來的,而且只包括那些壓縮和重構數(shù)字圖像所必需的數(shù)據(jù)。JPEG壓縮數(shù)據(jù)格式?jīng)]有提供關于表示完整圖像的編碼信息。例如,JPEG沒有定義和編碼任何有關像素尺寸比、色彩間隔和圖像獲取特點等信息。通常,JPEG的一幀源圖像包含有1~255個圖像成分,稱為顏色平面或組元。每個組元是一個樣本點矩陣,樣本定義的精度為p位,取值范圍是[0,2p-1],所有成分的所有樣本點精度都是同一個p。對基于DCT的Codec,p取8或12;對基于DPCM的Codec,p取2~16。1.JPEG圖像模型20每個平面沿水平和垂直方向的像素數(shù)可能是不同的,但必須使用同樣多的位數(shù)對所有平面的所有像素進行編碼。例如,顏色平面可以分配給RGB(紅、綠、藍)三色,也可以分配給YUV(一個亮度和兩個色度),各種模型都定義自己的精度。灰度圖一般由一個組元構成;GB彩圖有三個等分辨率的組元;YUV彩圖通常對圖的色度組元衰減采樣,以減少存儲量。例如,采用4∶1∶1形式,色度的水平和垂直分辨率組元只是亮度的一半。這主要基于如下事實:人的視覺對亮度組元十分敏感,對色度組元的敏感性較低。每個平面沿水平和垂直方向的像素數(shù)可能是不同的21圖2.3像素塊和“之”字形處理順序(a)8×8像素塊;(b)“之”字形順序圖2.3像素塊和“之”字形處理順序222.JPEG編碼方法圖2.4DCT編碼和解碼過程(a)DCT編碼過程;(b)DCT解碼過程2.JPEG編碼方法圖2.4DCT編碼和解碼過程23在編碼器中,首先由FDCT對源圖像8×8樣本數(shù)據(jù)塊進行正向離散余弦變換,FDCT將輸出64個DCT系數(shù),其中1個是直流系數(shù)(DC),其余63個是交流系數(shù)(AC)。量化器對FDCT輸出的每個DCT系數(shù)進行量化處理。量化的目的是去除那些無顯著視覺意義的高頻信息。在量化時,每個DCT系數(shù)與量化表中的64個元素進行舍取運算。量化表是由開發(fā)者指定并輸入到編碼器中。量化計算公式如下:在編碼器中,首先由FDCT對源圖像8×8樣本24經(jīng)過量化處理后,DC系數(shù)從63個AC系數(shù)中分離出來進行單獨處理,因為DC系數(shù)代表了相當一部分圖像信息。所有的量化系數(shù)按“之”字形順序排列,低頻系數(shù)將排在高頻系數(shù)之前,以利于實現(xiàn)熵編碼。在熵編碼處理之前,先對DC系數(shù)進行DPCM編碼,對AC系數(shù)進行行程編碼。由于大多數(shù)AC系數(shù)都為零,只有少數(shù)不為零,行程編碼將壓縮AC系數(shù)中零值序列,對非零系數(shù)進行有效編碼。行程編碼分為兩步處理:先將量化的DCT系數(shù)轉換成中間符號序列,再向符號分配可變長代碼。經(jīng)過量化處理后,DC系數(shù)從63個AC系數(shù)中25中間符號序列是一種雙符號序列。對于AC系數(shù),符號1表示兩部分信息:行程和位長,行程取值為0~15,位長取值0~10;符號2表示振幅信息,即非零系數(shù)大小。對于DC系數(shù),符號1表示位長信息,符號2表示振幅信息。由于DC系數(shù)有別于AC系數(shù),故它的符號1取值范圍是1~11。為其分配的代碼是可變長的,以便于使用熵編碼進行壓縮處理。熵編碼是按DCT系數(shù)的統(tǒng)計特征對量化系數(shù)進一步編碼,實現(xiàn)無損壓縮。JPEG規(guī)定了兩種熵編碼方法:哈夫曼編碼和算術編碼。對于哈夫曼編碼所需的哈夫曼表,JPEG標準沒有作具體規(guī)定,這由開發(fā)者根據(jù)應用需要來決定。中間符號序列是一種雙符號序列。對于AC系數(shù),26JPEG還要對成分所用的表進行控制,以保證將適當?shù)谋碛糜谶m當?shù)某煞帧σ粋€成分中所有樣本進行編碼時,必須使用同一個量化表和同一套熵編碼表。JPEG解碼器同時存放4個不同的量化表和4套不同的熵編碼表(順序掃描解碼器例外,它只能存放2套熵編碼表),這對解碼時為多成分圖像切換不同的適用表來說是必要的。與上述編碼過程相反,在解碼處理過程中首先是熵解碼過程,然后是解量化過程,它是將量化函數(shù)值乘以步長,其結果作為IDCT的輸入量,最后執(zhí)行IDCT,重建8×8樣本數(shù)據(jù)塊,形成重建圖像。JPEG還要對成分所用的表進行控制,以保證27JPEG標準對數(shù)據(jù)壓縮和圖像質量的關系進行了詳細說明。對于具有中度復雜景象的彩色圖像,所有DCT運行模式都可生成以下幾種圖像質量水平(按圖壓縮率表示):·0.25~0.5位/像素:圖像質量中等,可滿足一般的應用需求;·0.5~0.75位/像素:圖像質量好,可滿足有一定圖像質量要求的應用需求;·0.75~1.5位/像素:圖像質量很好,可滿足有較高圖像質量要求的應用需求;·1.5~2.0位/像素:圖像質量極好,已難以分辨重建圖像與源圖像間的差別,可滿足有更高圖像質量要求的應用需求。JPEG標準對數(shù)據(jù)壓縮和圖像質量的關系進行了283.JPEG其它運行模式(1)遞增運行模式它也是由FDCT和量化過程構成的。所不同的是,圖像分量是多次掃描編碼,第一次掃描編碼產(chǎn)生的圖像是粗糙的,然后可再組織后續(xù)的掃描,對圖像逐步求精,直到達到量化表所規(guī)定的圖像質量水平。這種運行模式的優(yōu)點是可生成預顯示的圖像,而無需對該圖像完全解碼,可以迅速地傳輸和顯示圖像。這里有兩種對量化DCT系數(shù)進行編碼的方法:一是在一次掃描中,只對“之”字形順序中一個特定“波段”的系數(shù)進行編碼,這一過程叫“頻譜選擇”;二是在當前波段中,無需在一次掃描中對全部系數(shù)進行準確編碼,可首先指定N個最有意義的位先編碼,在后面的掃描中,再對其次有意義位進行編碼,這個過程叫連續(xù)逼近。上述兩種方法可分別使用,也可靈活組合使用。3.JPEG其它運行模式29(2)無損運行模式它與源編碼過程不同,不是采用變換編碼和量化器相結合的方式進行編碼,而是采用DPCM技術進行無損壓縮編碼,但壓縮率較低。這種運行模式主要用于無損地存儲和傳輸圖像(如X光照片)的場合。對基于DPCM的無損壓縮模式,JPEG沒有嚴格規(guī)定。對于中等復雜程序的彩圖,其壓縮比為2∶1。(2)無損運行模式30(3)分層運行模式它提供一種“金字塔”式分辨率圖像編碼,即相鄰兩次編碼,分辨率在水平或垂直、或者兩個方向上相差二倍。其過程是:先降低源圖的分辨率,對其采樣編碼,再復原重建;然后提高分辨率再采樣編碼,作為源圖的預測值,與低分辨率采樣值進行比較,對其差值分別進行編碼;重復上述步驟,直到實現(xiàn)圖像的全分辨率編碼。這種運行模式很適合于用低分辨率設備處理高分辨率圖像的應用。(3)分層運行模式312.3.2H.261標準為了滿足在綜合數(shù)字網(wǎng)絡(ISDN)上開展可視通信業(yè)務的需要,ITU專門成立了一個可視電話編碼規(guī)范小組來制定有關視頻信號傳輸編碼標準,并先后完成了H.261和H.263標準的制定工作。H.261是“p×64kb/s視頻編解碼器”標準,其中p的取值范圍在1~30之間,代表ISDN的B通道數(shù)量,各個通道的數(shù)碼率為64kb/s。由于H.261主要是為可視電話和電視會議制定的,因此,標準中所建議的視頻編碼算法應具有實時處理能力,延時應控制到最小程度。當p=1或2時,由于數(shù)碼率較低,僅能用于桌面上進行面對面直觀通信。而當p≥6時,由于提高了數(shù)碼率,能夠傳輸較復雜的圖像,圖像質量也得到改善,因此更適合電視會議。2.3.2H.261標準為了滿足在綜合數(shù)32H.261的目標是在世界范圍內的數(shù)字電話通道上實現(xiàn)視頻和音頻信號的傳輸,具體的目標是:·視頻源信號可以是525線或625線的電視信號。在實際應用中必須將視頻源信號轉換成通用中間格式(CIF),使之不依賴于視頻源信號格式。這樣便允許各個地區(qū)之間不同電視格式設備通過標準的Codec進行通信?!び蓸藴示幋a器產(chǎn)生的位流可以和其它信號(如音頻)一起傳輸。
·視頻傳輸速率在40kb/s~2Mb/s之間,與電視會議和可視電話的圖像質量相對應?!ぶС謫蜗蚧螂p向的可視通信?!ぶС侄帱c通信。·是否糾錯由編碼器決定。H.261的目標是在世界范圍內的數(shù)字電話通道上實現(xiàn)視頻331.視頻編碼格式圖2.5H.261的亮度和色度樣本分布1.視頻編碼格式圖2.5H.261的亮度和色度樣本34表2.2CIF和QCIF編碼格式參數(shù)舉例GIFQCIF行數(shù)/幀像素數(shù)/行行數(shù)/幀像素數(shù)亮度Y288360(352)144180(176)色度Cb144180(176)7290(88)色度Cr
144180(176)7290(88)表2.2CIF和QCIF編碼格式參數(shù)舉例GIFQCIF35以29.97幀/秒速率傳送CIF和QCIF,未壓縮數(shù)碼率分別為36.45Mb/s和9.113Mb/s。在使用ISDN通道(p×64kb/s,p=1,2,…,30)傳送視頻信號時,必須大幅度地降低數(shù)碼率。至于選用CIF和QCIF中的哪一種,則取決于通道容量的大小。當p=1或2時,在桌面可視電話應用中常選用QCIF。如果在10幀/秒速率下使用,即使選用QCIF也要將數(shù)碼率減少47.5倍才能使用64kb/s通道來傳送信號,這是很難實現(xiàn)的。當p≥6時,可以使用CIF,因為它有很多可用于對圖像編碼的信息。由于CIF的分辨率高,更適合于電視會議方面的應用。以29.97幀/秒速率傳送CIF和QC36圖2.6CIF和QCIF視頻幀數(shù)據(jù)結構圖2.6CIF和QCIF視頻幀數(shù)據(jù)結構37它分為4個層次:畫面、塊組(GOB)、宏塊(MB)和塊。其中,每個CIF畫面有12個GOB,每個塊組由3×11個宏塊組成,每個宏塊由4個8×8亮度塊(Y)和兩個8×8色度塊(Cb和Cr各1個)組成,一個塊由8×8像素點(DCT編碼單位)組成。一個QCIF圖像有3個GOB,是CIF的四分之一。這種以塊為單位的層次結構對高壓縮比視頻編碼算法來說是至關重要的。每個畫面層的數(shù)據(jù)中都有一個圖像標題,圖像標題后是GOB的數(shù)據(jù)。圖像標題包括一個20位的圖像起始碼以及其它信息。例如,視頻編碼格式(CIF或QCIF)、臨時標記(幀編號)等。GOB層有一個塊組標題,緊隨其后的是宏塊數(shù)據(jù)。塊組標題包括一個16位的GOB起始碼以及其它信息。例如,GOB的位置、GOB量化信息等。它分為4個層次:畫面、塊組(GOB)、宏塊(38宏塊層有一個宏塊標題,宏塊標題之后是塊的數(shù)據(jù)。宏塊標題包括一個該宏塊類型變長碼(VLC)。其后是一個宏塊變長碼,標明是幀內編碼還是幀間編碼,是否附帶運動預測和循環(huán)濾波器。根據(jù)宏塊的具體類型,后面還可以跟有各種各樣的附加信息。當運動預測精確到某一給定的指標時,無需傳送DCT系數(shù)的塊數(shù)據(jù)。另外,在一個GOB中,如果某一宏塊中沒有包含圖像,則相應部分的信息就不必傳送。塊層含有塊的DCT系數(shù),其后是一個定長碼EOB,用以標識塊的結束。塊的DCT系數(shù)利用了二維VLC編碼。宏塊中并不是每一個塊都需要傳送。宏塊層有一個宏塊標題,宏塊標題之后是塊的數(shù)392.視頻編碼算法圖2.7H.261編碼與解碼處理過程(a)視頻編碼器;(b)視頻解碼器2.視頻編碼算法圖2.7H.261編碼與解碼處理過40①被傳輸圖像的第1幀總是按幀內編碼方法編碼(該幀的所有宏塊):·整個圖像幀被分成互不重疊的8×8像素塊;·對這些塊進行FDCT變換;·對所產(chǎn)生的64個DCT系數(shù)進行線性量化,并按“之”字形重新排列;·為幀間編碼準備參照幀,即使用逆向量化器和IDCT變換在編碼器內對該幀進行解碼來恢復,生成與接收端解碼器完全一致的參照幀,并存放在圖像存儲器中供幀間編碼使用。①被傳輸圖像的第1幀總是按幀內編碼方法編碼41②對后續(xù)需要編碼的幀,要根據(jù)最新的參照幀進行運動補償預測,以決定該幀的每個宏塊是否進行幀內編碼或幀間編碼。H.261采用單向運動補償預測算法,即:·每個宏塊只使用4個亮度塊,針對當前被編碼的宏塊,在參照幀中尋找最接近的匹配。H.261通過檢查宏塊計算運動補償值,運動向量的搜索范圍在±15個像素內?!と绻也坏揭粋€最接近的匹配,則在該宏塊中使用與幀內編碼完全相同的編碼方法。對運動向量進行差分編碼,并以從左邊宏塊的運動向量作為參考。標準規(guī)定,編碼器不能用來確定運動向量,H.261只考慮連續(xù)幀中同一位置上宏塊之間的差異?!と绻斍皦K與所預測塊之間的誤差小于某一閾值,則該塊可以略過不編碼。②對后續(xù)需要編碼的幀,要根據(jù)最新的參照幀42③必要時可以在源編碼器和熵編碼器之間使用循環(huán)濾波器,以濾掉高頻干擾,改善圖像質量。這種方法特別適用于低數(shù)碼率的情況。④H.261的量化器是一種線性量化器,并非JPEG和MPEG中所使用的量化矩陣。它只是對GOB使用了量化系數(shù),并不區(qū)分高頻DCT系數(shù)和低頻DCT系數(shù)。⑤H.261的熵編碼是可變長的,并對所有用到的哈夫曼表按標準進行預定義,同時還定義了運動向量表和量化編碼表等。③必要時可以在源編碼器和熵編碼器之間使用循432.3.3H.263標準H.263是一種低數(shù)碼率下的運動圖像編碼標準,它在H.261的基礎上進行適當?shù)臄U展,主要是用于支持低數(shù)碼率下的視聽信號傳輸服務的。典型的應用有:在V.34Modem的連接上采用20kb/s速率傳輸視頻信號;采用6.5kb/s速率傳輸音頻信號。H.263吸取了MPEG的經(jīng)驗對H.261進行改進,主要進行如下方面的擴展:將圖像格式由兩種增加到五種、對運動補償預測進行改進和精化以及支持雙向運動補償預測等。2.3.3H.263標準442.3.4MPEG標準MPEG(MovingPictureExpertsGroup)是ISO為制定有關動態(tài)圖像壓縮標準而成立的一個專家組,現(xiàn)已經(jīng)公布了多個版本的MPEG標準:MPEG-1、MPEG-2和MPEG-4,其中MPEG-1是MPEG標準集的基礎,MPEG-2和MPEG-4都是在MPEG-1基礎上所作的改進和擴展,以滿足不同的應用要求和環(huán)境。MPEG標準是一個通用標準,既考慮了應用要求,又獨立于具體的應用。MPEG標準可用于下列數(shù)字存儲媒體上:光盤(CD-ROM)、數(shù)字錄音帶(DAT)、磁盤、可寫光盤以及通信網(wǎng)絡(綜合業(yè)務數(shù)字網(wǎng)、分組交換網(wǎng)以及局域網(wǎng)等)。2.3.4MPEG標準45MPEG標準不僅考慮了視頻數(shù)據(jù)壓縮,而且還考慮了音頻數(shù)據(jù)壓縮以及二者之間的同步問題。作為MPEG視頻壓縮算法,必須具有與存儲相適應的性質,即能夠隨機訪問、快進/快退檢索、倒放、音像同步、容錯能力、延時限制、可編輯性以及靈活的視頻窗口格式。實現(xiàn)這些特性對各種應用都是十分重要的,因而也構成了MPEG視頻壓縮算法的基本特征。MPEG標準不僅考慮了視頻數(shù)據(jù)壓縮,而且還462.3.4.1MPEG-1標準
1.MPEG-1圖像組織結構MPEG-1視頻壓縮算法所面臨的一個矛盾是:在保證圖像質量的前提下,僅靠幀內編碼很難達到高壓縮比;而滿足隨機訪問條件的最好方法則是幀內編碼。為使高壓縮比和隨機訪問這兩方面要求都能得到滿足,MPEG-1采取了預測和插值兩種幀間編碼技術。2.3.4.1MPEG-1標準1.47為此,MPEG-1將圖像編碼幀分成三類:·I幀(Introcodedframe,內幀):它采用與JPEG相類似的編碼方法進行編碼,并且在編碼時不必參照其它的幀,其壓縮比是比較低的。I幀可作為隨機訪問點以及其它圖像編碼幀的參照幀。·P幀(Predictivelycodedframe,預測幀):它需要利用前面的I幀或P幀信息進行編碼和解碼,同時又是后續(xù)P幀的參照幀。它利用了瞬時冗余特性,可獲得較高的壓縮比。然而只有對所參照的I幀和P幀完成解碼后才能訪問P幀?!幀(Bidirectionallypredictivelycodedframe,雙向預測幀):它需要利用前面和后面的I幀、P幀信息進行編碼和解碼,但它本身不可作為參照幀。由于B幀使用了雙向運動補償預測技術,故它的壓縮比是最高的。為此,MPEG-1將圖像編碼幀分成三類:48圖2.8MPEG-1視頻幀編碼及關系圖2.8MPEG-1視頻幀編碼及關系49圖2.9MPEG視頻流的數(shù)據(jù)層次圖2.9MPEG視頻流的數(shù)據(jù)層次502.MPEG-1視頻壓縮算法MPEG-1視頻壓縮算法采用兩種基本技術:一是基于塊的運動補償預測,以縮減時間冗余;二是基于DCT的變換編碼,以縮減空間冗余。運動補償預測技術采用純預測編碼和插值預測編碼兩種編碼方法。剩余信號(預測誤差)在縮減空間冗余時被進一步壓縮。與運動有關的信息包含在16×16塊中,與空間信息一起進行DCT變換。為獲得最大限度的編碼效率,使用可變長熵編碼器來壓縮運動信息。2.MPEG-1視頻壓縮算法51MPEG-1視頻的編碼與解碼處理過程如下:①每個GOP的第1幀總是I幀,它是按塊順序編碼的,即使用DCT變換、量化過程和熵編碼方法進行中度壓縮,并作為參照幀和隨機訪問點。②當GOP中出現(xiàn)B幀或P幀時,將啟動運動補償預測過程,以獲取最佳的壓縮比。③對于P幀的編碼,運動補償預測算法使用最近一個I幀或P幀作為參照幀。如果在當前幀的宏塊與參照幀的宏塊之間找到一個較好的匹配,則對當前幀的宏塊的運動向量和所得到的預測誤差進行編碼;否則,只對該宏塊進行幀內編碼。MPEG-1視頻的編碼與解碼處理過程如下:52④對于B幀的編碼,其處理過程比較復雜,因為必須考慮四種可能性:正向預測、反向預測、插值和宏塊中的幀內編碼(在前三者均不合適的情況下)。如果使用插值方法,則必須使用前、后兩個最近的I幀或P幀作為參照幀,并產(chǎn)生兩個運動向量和一個預測誤差塊,并且應當首先傳輸P幀和B幀的參照幀。④對于B幀的編碼,其處理過程比較復雜,53⑤MPEG-1標準采用了兩種結構的量化器,根據(jù)幀內編碼和幀間編碼不同的DCT系數(shù)性質采用不同的量化矩陣,通過Q系數(shù)來控制編碼,以適應編碼器的輸出數(shù)碼率。由于預測誤差塊主要是高頻信號,可以采用粗粒度的量化器,以降低數(shù)碼率;幀內編碼塊的信號頻率范圍較寬,則應當采用細粒度的量化器進行精確編碼;否則,對于那些光滑邊界的塊,很小的誤差都會產(chǎn)生可察覺的塊邊界(即塊效應現(xiàn)象)。因此,為了適應人的視覺特性,必須對量化器進行修正,重點對圖像中視覺效應敏感部分進行精確編碼,以消除塊效應現(xiàn)象。這樣,既可滿足圖像數(shù)碼率的要求,又能改善圖像質量。⑤MPEG-1標準采用了兩種結構的量化器,54⑥MPEG-1的熵編碼過程可分成兩步:首先,進行可變長行程編碼(對出現(xiàn)概率較小的代碼)和定長行程編碼(對出現(xiàn)概率最大的代碼);然后,使用帶有預定義表的哈夫曼編碼。通過熵編碼進一步提高了DCT的壓縮比,同時減少運動信息對總數(shù)碼率的影響。MPEG-1的DCT系數(shù)的變長碼是H.261標準中所使用變長碼的一個超集。如果在一個處理器上同時實現(xiàn)這兩個標準,則使用一個變長碼即可,以減小開銷。在參照幀之間增加一定數(shù)量的B幀,既可降低B幀與參照幀之間相關性,也可降低參照幀之間的相關性。B幀的數(shù)量是隨視頻內容而變化的,但對大多數(shù)視頻內容而言,以1/10秒鐘的間隔將B幀插入到參照幀中是合適的。圖像的組合形式是:IBBPBBPBB…IBBPBB。⑥MPEG-1的熵編碼過程可分成兩步:首553.MPEG-1視頻約束參數(shù)集表2.3MPEG-1視頻約束參數(shù)集中的若干參數(shù)水平尺寸≤720pel(像素)垂直尺寸≤576pel(像素)微塊總數(shù)/圖像≤396微塊總數(shù)/秒≤396×25=330×30幀速率≤30幀/秒數(shù)碼率≤1.86Mb/s解碼緩沖區(qū)≤376832位3.MPEG-1視頻約束參數(shù)集表2.3MPEG-1562.3.4.2MPEG-2標準·支持2~100Mb/s速率的數(shù)字視頻傳輸?!た捎糜谥С指咔逦入娨暎℉DTV)格式?!ざx一種層次可伸縮的規(guī)范,用于支持全球范圍的TV/HDTV、視頻傳輸系統(tǒng)以及其它需要高級編碼的應用?!は蛳录嫒莠F(xiàn)存的MPEG-1和H.261標準。·擴展了MPEG-1的運動補償預測方法,并且允許其它的DCT系數(shù)?!ざx了可伸縮的、層次化的編碼算法,使普通TV和HDTV系統(tǒng)可以使用相同的數(shù)據(jù)流。2.3.4.2MPEG-2標準·支持57MPEG-2標準主要由四部分組成:MPEG-2視頻、MPEG-2音頻、MPEG-2系統(tǒng)和MPEG-2一致性測試規(guī)范。從概念上講,MPEG-2和MPEG-1很相似,只是MPEG-2標準所覆蓋的應用領域更加廣泛。最初制定MPEG-2標準的目標是為了傳輸廣播電視質量級的全數(shù)字視頻信號。后來MPEG-2標準被擴展到其它領域,并得到很好的應用,如傳輸速率更高的HDTV系統(tǒng)。MPEG-2標準主要由四部分組成:MP581.MPEG-2視頻MPEG-2視頻標準主要為傳輸電視質量級的數(shù)字視頻信號而制定的,同時作為一種基于MPEG-1的擴展標準完全兼容MPEG-1視頻標準,并且還提供了隔行掃描視頻編碼格式和一些其它高級特性,支持HDTV的視頻傳輸。為了MPEG-2標準適用于更廣的應用領域,使之具有較高可伸縮性,MPEG-2視頻標準定義了四種配置(Profile)和四種級別(Level)。Profile有Simple、Main、Main+和Next,主要定義了編碼的語法和算法;Level有Low、Main、High1440和High,主要定義了編碼的參數(shù),如采樣速率、圖像幀尺寸、編碼速率等。Profile和Level的組合構成了處理不同位流的解碼器模式。其中,MainProfile和MainLevel組合起來可以解決90%的應用問題。1.MPEG-2視頻592.MPEG-2音頻MPEG-2音頻標準用于支持低數(shù)碼率多通道音頻信號的編碼,它可以支持5路全帶寬的音頻通道(左、右聲道,中置和兩路環(huán)繞聲道),還可以有一個低頻增強信道,或者支持7路解說/多國語言通道。MPEG-2音頻標準中的立體聲和單聲道的編碼采樣速率為16kHz、22.05kHz和24kHz,只是MPEG-1音頻采樣速率的二分之一,目的是使每個聲音通道能夠在低于64kb/s的速率下傳送。MPEG-2音頻標準除了保持左、右聲道與MPEG-1標準相兼容外,還增加了幾個離散聲道(一個中置和兩路環(huán)繞聲道),明顯地改善了聲音效果。對于新增加的聲道,MPEG-2音頻標準采用了新的編碼方法。2.MPEG-2音頻603.MPEG-2系統(tǒng)MPEG-2系統(tǒng)標準定義MPEG-2視頻和音頻流的傳輸或存儲格式,以便于兩者的同步。它定義了兩種信息流格式:傳送流和程序流。傳送流格式適合在數(shù)據(jù)易丟失的的應用場合,如在各種網(wǎng)絡環(huán)境下進行數(shù)字電視和可視電話信號的傳輸,以及在各種存儲介質上存儲視頻和音頻數(shù)據(jù)。程序流格式保持與MPEG-1相兼容,并且針對多媒體應用領域進行了優(yōu)化,包括對支持新的應用的擴展。傳送流和程序流都是建立在一種公共的分組結構之上的,以便于視頻和音頻解碼的實現(xiàn)和類型轉換。在這種分組結構中,每個傳送流分組的長度是固定的,共188個字節(jié),包括4個字節(jié)的分組頭。這恰好是ATM信元體長度(48個字節(jié))的4倍,因此,這種分組結構特別適合在ATM網(wǎng)絡上傳輸。當然,它也適合在其它網(wǎng)絡環(huán)境和存儲系統(tǒng)。3.MPEG-2系統(tǒng)612.3.4.3MPEG-4標準MPEG-4標準是數(shù)字超低數(shù)碼率的視頻編碼標準。主要適用于移動多媒體通信的場合,特別是64kb/s速率下的視頻通信。MPEG-4視頻編碼方法采用與H.263標準相同的方法,并已經(jīng)開發(fā)出增強型的H.263,在不降低清晰度的前提下消除塊效應,以提高低數(shù)碼率下的視覺質量。2.3.4.3MPEG-4標準622.3.5圖像質量評價1.主觀評價表2.4圖像質量主觀評價質量分數(shù)妨礙尺度質量尺度54321絲毫看不出圖像質量變壞可看出圖像質量變化但不妨礙觀看明顯地看出圖像質量變壞圖像質量對觀看有妨礙圖像質量對觀看有嚴重妨礙很好好一般差很差2.3.5圖像質量評價1.主觀評價表2.463為了保證圖像質量主觀評價的客觀性和準確性,可用一定數(shù)量觀察者的質量分數(shù)的平均值作為最終主觀評價結果,其平均分數(shù)定義為:其中,Ci為屬于第i類圖像的質量分數(shù),Ki為判斷該圖像屬于第i類圖像的人數(shù)。觀察者中應包括兩類人員:一般人員和專業(yè)人員,人數(shù)應多于20,這樣,得出的主觀評價結果才具有統(tǒng)計意義。為了保證圖像質量主觀評價的客觀性和準確性,642.客觀評價圖像客觀評價是用數(shù)學計算方法得到的。通常,采用計算圖像逼真度和可懂度來評價。所謂圖像逼真度,是指重建圖像與原始圖像之間的偏差程度;所謂圖像可懂度,是表示人或機器能從圖像中抽取有關信息的程度。下面主要討論圖像逼真度。通常,圖像逼真度用峰值信噪比PSNR來度量。對于黑白圖像,PSNR計算公式為2.客觀評價65式中,f(i,j)為原始圖像,f′(i,j)為重建圖像,圖像尺寸為N×M,A為f(i,j)中的最大值,通常取255。此外,也可使用均方差方法來計算圖像誤差,其數(shù)學表達式為:式中,f(i,j)為原始圖像,f′(i,j)為重建662.4語音編碼標準音頻編碼技術可分成兩大類:一類是波形編碼或稱真跡編碼;另一類是參量編碼或稱變換域編碼。前者是將時間域信號直接變換成數(shù)字代碼進行傳輸。其特點是重建信號的質量較高,即信號的信噪比高。傳輸數(shù)碼率為16~64kb/s,依所采用的編碼方法而異。后者是在信號源信號的頻率域或其它正交域抽取其特征參數(shù)變換成數(shù)字代碼進行傳輸,接收端則從數(shù)字代碼中恢復特征參數(shù),然后根據(jù)這些特征參數(shù)重建語音信號。其特點是重建信號的質量較低,但數(shù)碼率也比較低,一般為幾百b/s~9600b/s,多用于窄帶信道傳輸。各種音頻編碼技術比較參見表2.5。2.4語音編碼標準音頻編碼技術可分成兩67表2.5各種音頻編碼技術比較編碼類型數(shù)碼率/(Kb/s)復雜度/(MI/s)復雜度/(MI/s)波形編碼:PCMADPCM自適應子頻帶6432160.010.110025參量編碼:多脈沖線性預測隨機激勵線性預測線性預測聲碼器842101001353535表2.5各種音頻編碼技術比較編碼類型數(shù)碼率/682.4.1PCM編碼脈沖編碼調制(PulseCodeModulation,PCM)是一種在現(xiàn)代通信系統(tǒng)中被廣泛應用的語音編碼技術,也是數(shù)字傳輸中的標準接口信號。ITU在G.711建議書中定義了PCM編碼方法及其標準。PCM編碼的主要優(yōu)點是:①編碼方法簡單,不需要用復雜的信號處理技術就可實現(xiàn)數(shù)據(jù)壓縮,而無任何信號延遲;②基于對話音信號波形采樣的瞬時處理,具有較高的信噪比。2.4.1PCM編碼69圖2.10PCM組成原理框圖圖2.10PCM組成原理框圖70對于電話信號編碼,由于其信號帶寬為300~3400Hz,通常采用8kHz頻率進行采樣,而每一個采樣脈沖用8位二進制碼表示。這樣,每個話音通道的數(shù)碼率為:f=8000×8=64kb/s對于采用8位編碼的正弦波信號,其最大信噪比按下式計算:SNR(dB)=6.02×L+1.76=6.02×8+1.76=49.92dB式中,L為二進制編碼位數(shù)。對于電話信號編碼,由于其信號帶寬為300~71如果要求信噪比至少保持在34dB以上,則信號的動態(tài)范圍應當為49.92-34=15.92dB,顯然這一動態(tài)范圍遠不能滿足要求。為了擴大信號的動態(tài)范圍,通常采用瞬時壓擴特性。瞬時壓擴的目的是使信號在大的動態(tài)范圍內具有均勻一致的信噪比。瞬時壓擴的方法主要采用對數(shù)壓擴特性,即用一條通過原點正負對稱的曲線逼近對數(shù)函數(shù),以實現(xiàn)對正負對稱信號的對數(shù)壓縮。在ITUG.711建議中,定義了兩種對數(shù)壓擴特性,一種是15段折線近似是μ律;另一種是以13段折線近似是A律,美國、日本等國家在數(shù)字通信中采用μ律壓擴特性,中國和歐洲一些國家采用A律壓擴特性。如果要求信噪比至少保持在34dB以上,則72PCM編碼/解碼器通常采用單片集成電路(IC)芯片實現(xiàn),它將濾波、放大、量化、壓擴、編碼以及解碼等功能集成一體,具有處理速度快、體積小、成本低、便于開發(fā)等特點。例如,美國Motorola公司的MC14403就是這種單片PCM編碼/解碼器。PCM編碼/解碼器通常采用單片集成電路(IC732.4.2ADPCM編碼通常,把低于64kb/s數(shù)碼率的的語音編碼方法稱為語音壓縮編碼,其中自適應差分脈沖編碼調制(ADPCM)是語音壓縮編碼中復雜度較低的一種方法。ADPCM能在32kb/s數(shù)碼率上達到符合64kb/s數(shù)碼率的語音質量要求,即符合長途電話的語音質量要求。ADPCM編碼的國家標準是ITUG.721。在電話通信網(wǎng)中,32kb/sADPCM主要用于擴充現(xiàn)有的PCM信道傳輸容量,把兩個30路PCM信號合并成一個2Mb/s的60路ADPCM信號。通常,在信道所傳輸?shù)男盘栔?既有話音信號,又有Modem信號或音頻信令信號。對于話音信號,其信號電平動態(tài)范圍比較大;對于Modem信號或音頻信令信號,其信號電平變化的范圍遠小于話音信號。因此,對這兩類不同的信號,要求自適應量化器能夠自動調節(jié)自適應的速度。2.4.2ADPCM編碼74圖2.11一種簡化的ADPCM編解碼器原理框圖(a)ADPCM編碼器;(b)ADPCM解碼器圖2.11一種簡化的ADPCM編解碼器原理框圖75第2章多媒體信息編碼2.1引言2.2基本編碼方法2.3圖像編碼標準2.4語音編碼標準第2章多媒體信息編碼2.1引言762.1引言表2.1連續(xù)媒體數(shù)據(jù)類型特征舉例媒體類型數(shù)據(jù)速率說明語音質量音頻CD質量音頻MPEG-2編碼視頻NTSC質量視HDTV質量視頻64kb/s1.4Mb/s3.36Mb/s216Mb/s648Mb/s1個信道,8kHz條樣速率,8位量化2個信道,44.1kHz條樣速率,16位量化640*480像素/幀,24位/像素,30幀/秒640*480像素/幀,24位/像素,30幀/秒1280*720像素/幀,24位/像素,30幀/秒2.1引言表2.1連續(xù)媒體數(shù)據(jù)類型特征舉例77數(shù)據(jù)壓縮處理一般由兩個過程組成:一是編碼過程,即對原始數(shù)據(jù)進行編碼壓縮,以便存儲和傳輸;二是解碼過程,即對壓縮的數(shù)據(jù)進行解壓,恢復成可用的數(shù)據(jù)。根據(jù)解壓后數(shù)據(jù)的保真度,數(shù)據(jù)壓縮技術可分為無損壓縮編碼和有損壓縮編碼兩大類。無損壓縮編碼是指解碼后的數(shù)據(jù)與原始數(shù)據(jù)完全相同,無任何偏差。這種編碼通?;谛畔㈧卦?常用的編碼有哈夫曼編碼、算術編碼、行程編碼等。它的壓縮能力與所處理數(shù)據(jù)的類型有關,壓縮比通常比較低,一般在2∶1~5∶1。主要用于要求數(shù)據(jù)無損壓縮存儲和傳輸?shù)膱龊?如傳真機、文本文件傳輸?shù)?。?shù)據(jù)壓縮處理一般由兩個過程組成:一是編碼過78有損壓縮編碼是指解碼后的數(shù)據(jù)與原始數(shù)據(jù)相比有一定的偏差,但仍可保持一定的視聽質量和效果。它主要利用人的視、聽覺特性,在保持一定保真度下對數(shù)據(jù)進行壓縮,其壓縮比可達100∶1。壓縮比愈高,其解壓縮后的視、音頻質量就愈低。這種編碼方法有很多種,如基于線性預測原理的預測編碼、基于正交變換原理的正交變換編碼、基于向量量化原理的向量量化編碼、基于分層處理的分層編碼以及基于頻帶分割原理的子帶編碼等。主要用于對音頻和視頻數(shù)據(jù)的壓縮。有損壓縮編碼是指解碼后的數(shù)據(jù)與原始數(shù)據(jù)相比有79多媒體信息編碼技術主要側重于有損壓縮編碼的研究。經(jīng)過多年的研究與開發(fā),已經(jīng)出臺了一系列有關的國際標準。其中,最著名的是國際標準組織(ISO)制定的JPEG和MPEG。JPEG是靜止圖像的壓縮標準,其壓縮比可達40∶1。MPEG(MPEG-1、MPEG-2及MPEG-4)是動態(tài)圖像的壓縮標準,采用MPEG-2標準對NTSC質量視頻進行壓縮后,網(wǎng)絡帶寬需求可降低到3.36Mb/s。其它的標準還有國際電信聯(lián)合會(ITU)制定的用于可視電話、會議電視的H.261和H.263;用于音頻的G.711、G.721、G.728等。多媒體信息編碼技術主要側重于有損壓縮編碼的研究802.2基本編碼方法2.2.1行程編碼行程編碼是一種簡單的無損壓縮編碼方法,它通過壓縮原始數(shù)據(jù)中相同的字節(jié)序列實現(xiàn)數(shù)據(jù)壓縮。在圖像和聲音數(shù)據(jù)中可能包含大量的相同字節(jié)連續(xù)重復的序列,通過行程編碼可以將這些重復字節(jié)壓縮掉,取而代之的是一個更加緊密的字節(jié)序列。例如,一個原始數(shù)據(jù)字符串為RTTTTTTTTABBCDGHJK,采用行程編碼后的字符串為R#8TABBCDGHJK,這里用#8T替換掉8個T字符,符號“?!笔翘厥鈽俗R符,用于表示行程編碼。如果原始數(shù)據(jù)字符串也包含了“?!狈?則必須用兩個“?!狈柼鎿Q掉原始數(shù)據(jù)字符串中的“?!狈?。2.2基本編碼方法2.2.1行程編碼812.2.2哈夫曼編碼哈夫曼(Huffman)編碼是一種無損壓縮編碼方法,它根據(jù)信源符號出現(xiàn)的概率大小進行排序,出現(xiàn)的概率大的符號分配短碼,反之分配長碼。在分配代碼過程中,需要建立一個n階二叉樹,其編碼過程如下:①對信源符號按其出現(xiàn)的概率進行遞減排序;②將兩個最小的概率相加,其和作為新符號的概率;③重復①和②,直到概率之和達到1為止;④每次合并消息時,將被合并的消息賦予1和0或者0和1;⑤尋找從每個信源符號到概率為1處的路徑,記錄下路徑上的1和0;⑥從樹根節(jié)點到葉子節(jié)點,對每個信源符號列出0、1序列。2.2.2哈夫曼編碼82例如,A、B、C、D四個字符出現(xiàn)的概率分別為:P(A)=3/4;P(B)=1/8;P(C)=1/16;P(D)=1/16,按照上述編碼過程將生成如圖2.1所示的二叉樹,獲得的編碼結果是:H(A)=1;H(B)=01;H(C)=001;H(D)=000,該結果存放在哈夫曼表中。圖2.1哈夫曼編碼生成的二叉樹例如,A、B、C、D四個字符出現(xiàn)的概率分別832.2.3離散余弦變換編碼變換編碼主要有離散傅立葉變換(DFT)編碼、離散余弦變換(DCT)編碼等。其中,DCT編碼方法被普遍使用,在JPEG、MPEG和H.261等標準中都采用了DCT編碼。由于聲音信號只有一個時間維,因此音頻信號壓縮采用一維DCT編碼,而圖像壓縮必須考慮水平和垂直兩個方向,因此圖像壓縮則采用二維DCT編碼。2.2.3離散余弦變換編碼變換編碼主要84DCT編碼方法是對一個8×8圖像塊灰度樣本數(shù)據(jù)流進行壓縮,而彩色圖像壓縮可看成是壓縮圖像的多個分量。在編碼器中,首先將源圖像8×8樣本數(shù)據(jù)塊(像素塊)的取值范圍由[0,2p-1](無符號)轉換成[-2p-1,2p-1-1](有符號),其中p為樣本定義的精度。然后對8×8樣本數(shù)據(jù)塊進行正向離散余弦變換(FDCT)。在解碼器中,利用逆向離散余弦變換(IDCT)重建8×8樣本數(shù)據(jù)塊,恢復圖像。FDCT和IDCT的數(shù)學表達式如(1)式和(2)式所示:DCT編碼方法是對一個8×8圖像塊灰度樣85式中:u,v=00其它式中:u,v=086源圖像8×8樣本數(shù)據(jù)塊實質上是64點離散信號(空間范圍x和y的函數(shù)),FDCT將其變換成64個正交基信號,FDCT的輸出是64個DCT系數(shù)(即基信號振幅)。在x、y兩個方向頻率都為零的系數(shù)叫直流系數(shù)(DC),其余63個系數(shù)是交流系數(shù)(AC)。由于圖像幀上點與點之間的樣本值變化比較緩慢,大多數(shù)信號集中在低頻區(qū)。源圖像8×8樣本數(shù)據(jù)塊實質上是64點離散信號(872.2.4差分脈沖編碼調制圖2.2DPCM編解碼器原理框圖(a)DPCM編碼器;(b)DPCM解碼器2.2.4差分脈沖編碼調制圖2.2DPCM編解碼882.2.5運動補償預測編碼運動補償預測編碼是一種主要用于動態(tài)圖像的壓縮的預測編碼。動態(tài)圖像是由一系列視頻幀組成,幀與幀之間可能存在著瞬時冗余,這種瞬時冗余主要是由靜態(tài)背景前的運動物體或攝像機的移動引起的。運動補償預測編碼主要通過幀間編碼來壓縮時間冗余信息。其基本原理如下:①在視頻幀序列中設置參照幀,且第1幀總是參照幀。②對于當前的編碼幀,首先在該幀的前幀和/或后幀(參照幀)中尋找與該幀的一個圖像塊相匹配的圖像塊。2.2.5運動補償預測編碼運動補償預89③如果找到這樣的塊,則進行下列計算:·當前塊的塊亮度值與參照幀中對應塊(稱參照塊)的塊亮度值之間的差值信號(DPCM碼);·當前塊相對于參照塊在x和y兩個方向上的運動向量值,表示該塊在x和y方向上的平移。通過定義一個搜索域來限制x和y方向上的搜索范圍,以降低運動信息的開銷;·用差值信號和運動向量值來表示參照塊與所預測塊之間的誤差,稱為預測誤差。這時,只需對當前塊的運動向量值和預測誤差進行編碼,不必對當前塊的圖像進行編碼,以壓縮時間冗余信息。③如果找到這樣的塊,則進行下列計算:90④如果找不到這樣的塊,則必須進行幀內編碼,即對當前塊的圖像進行編碼。運動補償預測編碼可分成下列三種方式:①單向運動補償預測:只使用前參照幀或后參照幀之一進行預測。②雙向運動補償預測:使用前、后兩個幀作為參照幀來計算各塊的運動向量,最后只選擇具有最小匹配誤差的參照幀相關的運動向量值。③插值運動補償預測:使用前參照幀和后參照幀兩者預測值的平均值。這時,必須分別存儲和傳輸這兩個運動向量。④如果找不到這樣的塊,則必須進行幀內編碼,即912.3圖像編碼標準2.3.1JPEG標準JPEG(JointPhotographicExpertsGroup)是ISO為制定有關靜態(tài)圖像壓縮標準而成立的一個專家組,現(xiàn)已公布了JPEG標準,標準號為ISOCD10918。JPEG作為一種靜態(tài)圖像壓縮編碼的國際標準,在實際中得到廣泛的應用。JPEG圖像壓縮技術具有如下特點:①能夠大范圍地調節(jié)圖像壓縮率及其相應的圖像保真度,解碼器可參數(shù)化。使用戶在具體應用時可以選擇所期望的壓縮率/質量比。2.3圖像編碼標準2.3.1JPEG標準92②能夠應用于任何連續(xù)色調數(shù)字源圖像(實際應用中可能遇到的圖像有很多種,故不限制圖像的尺寸、色彩級差、像素長寬比等條件),不限制圖像的景象內容(如復雜性、色彩范圍或統(tǒng)計特性)。③能夠在具有一定能力的CPU上實現(xiàn)所要求的功能,以利于操縱復雜的計算軟件,并用可接受的硬件成本實現(xiàn)具有高性能要求的應用。②能夠應用于任何連續(xù)色調數(shù)字源圖像(實際應用93④規(guī)定了4種運行模式,以滿足各種需要:·順序編碼:按從左到右、從上到下的順序對圖像進行掃描和編碼。這種模式是基準模式,各種JPEG實現(xiàn)都要支持這種模式?!みf增編碼:對于變換時間較長的掃描器,按由粗到細的過程,以復合掃描順序進行圖像編碼?!o損編碼:保證準確地恢復圖像所有樣本值的圖像編碼。與有損模式相比,其壓縮比低?!し謱泳幋a:以多種分辨率進行圖像編碼,可直接獲得低分辨率圖像,重建復原全圖。
④規(guī)定了4種運行模式,以滿足各種需要:94
1.JPEG圖像模型JPEG標準采用一種通用的圖像模型,能夠適用大多數(shù)常用的二維圖像格式。這種圖像模型是從各種圖像格式和應用中抽象出來的,而且只包括那些壓縮和重構數(shù)字圖像所必需的數(shù)據(jù)。JPEG壓縮數(shù)據(jù)格式?jīng)]有提供關于表示完整圖像的編碼信息。例如,JPEG沒有定義和編碼任何有關像素尺寸比、色彩間隔和圖像獲取特點等信息。通常,JPEG的一幀源圖像包含有1~255個圖像成分,稱為顏色平面或組元。每個組元是一個樣本點矩陣,樣本定義的精度為p位,取值范圍是[0,2p-1],所有成分的所有樣本點精度都是同一個p。對基于DCT的Codec,p取8或12;對基于DPCM的Codec,p取2~16。1.JPEG圖像模型95每個平面沿水平和垂直方向的像素數(shù)可能是不同的,但必須使用同樣多的位數(shù)對所有平面的所有像素進行編碼。例如,顏色平面可以分配給RGB(紅、綠、藍)三色,也可以分配給YUV(一個亮度和兩個色度),各種模型都定義自己的精度?;叶葓D一般由一個組元構成;GB彩圖有三個等分辨率的組元;YUV彩圖通常對圖的色度組元衰減采樣,以減少存儲量。例如,采用4∶1∶1形式,色度的水平和垂直分辨率組元只是亮度的一半。這主要基于如下事實:人的視覺對亮度組元十分敏感,對色度組元的敏感性較低。每個平面沿水平和垂直方向的像素數(shù)可能是不同的96圖2.3像素塊和“之”字形處理順序(a)8×8像素塊;(b)“之”字形順序圖2.3像素塊和“之”字形處理順序972.JPEG編碼方法圖2.4DCT編碼和解碼過程(a)DCT編碼過程;(b)DCT解碼過程2.JPEG編碼方法圖2.4DCT編碼和解碼過程98在編碼器中,首先由FDCT對源圖像8×8樣本數(shù)據(jù)塊進行正向離散余弦變換,FDCT將輸出64個DCT系數(shù),其中1個是直流系數(shù)(DC),其余63個是交流系數(shù)(AC)。量化器對FDCT輸出的每個DCT系數(shù)進行量化處理。量化的目的是去除那些無顯著視覺意義的高頻信息。在量化時,每個DCT系數(shù)與量化表中的64個元素進行舍取運算。量化表是由開發(fā)者指定并輸入到編碼器中。量化計算公式如下:在編碼器中,首先由FDCT對源圖像8×8樣本99經(jīng)過量化處理后,DC系數(shù)從63個AC系數(shù)中分離出來進行單獨處理,因為DC系數(shù)代表了相當一部分圖像信息。所有的量化系數(shù)按“之”字形順序排列,低頻系數(shù)將排在高頻系數(shù)之前,以利于實現(xiàn)熵編碼。在熵編碼處理之前,先對DC系數(shù)進行DPCM編碼,對AC系數(shù)進行行程編碼。由于大多數(shù)AC系數(shù)都為零,只有少數(shù)不為零,行程編碼將壓縮AC系數(shù)中零值序列,對非零系數(shù)進行有效編碼。行程編碼分為兩步處理:先將量化的DCT系數(shù)轉換成中間符號序列,再向符號分配可變長代碼。經(jīng)過量化處理后,DC系數(shù)從63個AC系數(shù)中100中間符號序列是一種雙符號序列。對于AC系數(shù),符號1表示兩部分信息:行程和位長,行程取值為0~15,位長取值0~10;符號2表示振幅信息,即非零系數(shù)大小。對于DC系數(shù),符號1表示位長信息,符號2表示振幅信息。由于DC系數(shù)有別于AC系數(shù),故它的符號1取值范圍是1~11。為其分配的代碼是可變長的,以便于使用熵編碼進行壓縮處理。熵編碼是按DCT系數(shù)的統(tǒng)計特征對量化系數(shù)進一步編碼,實現(xiàn)無損壓縮。JPEG規(guī)定了兩種熵編碼方法:哈夫曼編碼和算術編碼。對于哈夫曼編碼所需的哈夫曼表,JPEG標準沒有作具體規(guī)定,這由開發(fā)者根據(jù)應用需要來決定。中間符號序列是一種雙符號序列。對于AC系數(shù),101JPEG還要對成分所用的表進行控制,以保證將適當?shù)谋碛糜谶m當?shù)某煞?。對一個成分中所有樣本進行編碼時,必須使用同一個量化表和同一套熵編碼表。JPEG解碼器同時存放4個不同的量化表和4套不同的熵編碼表(順序掃描解碼器例外,它只能存放2套熵編碼表),這對解碼時為多成分圖像切換不同的適用表來說是必要的。與上述編碼過程相反,在解碼處理過程中首先是熵解碼過程,然后是解量化過程,它是將量化函數(shù)值乘以步長,其結果作為IDCT的輸入量,最后執(zhí)行IDCT,重建8×8樣本數(shù)據(jù)塊,形成重建圖像。JPEG還要對成分所用的表進行控制,以保證102JPEG標準對數(shù)據(jù)壓縮和圖像質量的關系進行了詳細說明。對于具有中度復雜景象的彩色圖像,所有DCT運行模式都可生成以下幾種圖像質量水平(按圖壓縮率表示):·0.25~0.5位/像素:圖像質量中等,可滿足一般的應用需求;·0.5~0.75位/像素:圖像質量好,可滿足有一定圖像質量要求的應用需求;·0.75~1.5位/像素:圖像質量很好,可滿足有較高圖像質量要求的應用需求;·1.5~2.0位/像素:圖像質量極好,已難以分辨重建圖像與源圖像間的差別,可滿足有更高圖像質量要求的應用需求。JPEG標準對數(shù)據(jù)壓縮和圖像質量的關系進行了1033.JPEG其它運行模式(1)遞增運行模式它也是由FDCT和量化過程構成的。所不同的是,圖像分量是多次掃描編碼,第一次掃描編碼產(chǎn)生的圖像是粗糙的,然后可再組織后續(xù)的掃描,對圖像逐步求精,直到達到量化表所規(guī)定的圖像質量水平。這種運行模式的優(yōu)點是可生成預顯示的圖像,而無需對該圖像完全解碼,可以迅速地傳輸和顯示圖像。這里有兩種對量化DCT系數(shù)進行編碼的方法:一是在一次掃描中,只對“之”字形順序中一個特定“波段”的系數(shù)進行編碼,這一過程叫“頻譜選擇”;二是在當前波段中,無需在一次掃描中對全部系數(shù)進行準確編碼,可首先指定N個最有意義的位先編碼,在后面的掃描中,再對其次有意義位進行編碼,這個過程叫連續(xù)逼近。上述兩種方法可分別使用,也可靈活組合使用。3.JPEG其它運行模式104(2)無損運行模式它與源編碼過程不同,不是采用變換編碼和量化器相結合的方式進行編碼,而是采用DPCM技術進行無損壓縮編碼,但壓縮率較低。這種運行模式主要用于無損地存儲和傳輸圖像(如X光照片)的場合。對基于DPCM的無損壓縮模式,JPEG沒有嚴格規(guī)定。對于中等復雜程序的彩圖,其壓縮比為2∶1。(2)無損運行模式105(3)分層運行模式它提供一種“金字塔”式分辨率圖像編碼,即相鄰兩次編碼,分辨率在水平或垂直、或者兩個方向上相差二倍。其過程是:先降低源圖的分辨率,對其采樣編碼,再復原重建;然后提高分辨率再采樣編碼,作為源圖的預測值,與低分辨率采樣值進行比較,對其差值分別進行編碼;重復上述步驟,直到實現(xiàn)圖像的全分辨率編碼。這種運行模式很適合于用低分辨率設備處理高分辨率圖像的應用。(3)分層運行模式1062.3.2H.261標準為了滿足在綜合數(shù)字網(wǎng)絡(ISDN)上開展可視通信業(yè)務的需要,ITU專門成立了一個可視電話編碼規(guī)范小組來制定有關視頻信號傳輸編碼標準,并先后完成了H.261和H.263標準的制定工作。H.261是“p×64kb/s視頻編解碼器”標準,其中p的取值范圍在1~30之間,代表ISDN的B通道數(shù)量,各個通道的數(shù)碼率為64kb/s。由于H.261主要是為可視電話和電視會議制定的,因此,標準中所建議的視頻編碼算法應具有實時處理能力,延時應控制到最小程度。當p=1或2時,由于數(shù)碼率較低,僅能用于桌面上進行面對面直觀
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025便利店智能支付系統(tǒng)引入合同3篇
- 二零二五版游泳教學服務合同模板
- 2025年度消防演練場地租賃與組織服務合同3篇
- 二零二五年度水電設備調試與性能檢測合同3篇
- 專業(yè)化電力工程服務協(xié)議模板2024版
- 二零二五年電子商務平臺數(shù)據(jù)加密與傳輸安全合同3篇
- 2024消防系統(tǒng)安裝及消防安全培訓與演練合同3篇
- 濰坊環(huán)境工程職業(yè)學院《美術學科發(fā)展前沿專題》2023-2024學年第一學期期末試卷
- 2024版信用卡貸款服務合同范本3篇
- 二零二五年度數(shù)據(jù)中心承包協(xié)議及范本2篇
- 產(chǎn)業(yè)鏈治理協(xié)同性
- 閘站監(jiān)理實施細則
- 高三課題研究報告范文
- 2024年初三數(shù)學競賽考試試題
- 竇性心動過速的危害
- 深基坑工程基坑土方開挖及支護降水施工方案
- 2024年江西生物科技職業(yè)學院單招職業(yè)技能測試題庫帶解析答案
- 醫(yī)藥制造企業(yè)資本結構優(yōu)化研究以貴州百靈為例
- GB 31335-2024鐵礦開采和選礦單位產(chǎn)品能源消耗限額
- 醫(yī)院高風險意外事件應急措施和救護機制
- 橋本甲狀腺炎-90天治療方案
評論
0/150
提交評論