介紹
(一)、 M-JPEG
M-JPEG(Motion- Join Photographic Experts Group)技術即運動靜止圖像(或逐幀)壓縮技術,廣泛套用於非線性編輯領域可精確到幀編輯和多層圖像處理,把運動的視頻序列作為連續的靜止圖像來處理,這種壓縮方式單獨完整地壓縮每一幀,在編輯過程中可隨機存儲每一幀,可進行精確到幀的編輯,此外M-JPEG的壓縮和解壓縮是對稱的,可由相同的硬體和軟體實現。但M-JPEG只對幀內的空間冗餘進行壓縮。不對幀間的時間冗餘進行壓縮,故壓縮效率不高。採用M-JPEG數字壓縮格式,當壓縮比7:1時,可提供相當於Betecam SP質量圖像的節目。
JPEG標準所根據的算法是基於DCT(離散餘弦變換)和可變長編碼。JPEG的關鍵技術有變換編碼、量化、差分編碼、運動補償、霍夫曼編碼和遊程編碼等
M-JPEG的優點是:可以很容易做到精確到幀的編輯、設備比較成熟。缺點是壓縮效率不高。
此外,M-JPEG這種壓縮方式並不是一個完全統一的壓縮標準,不同廠家的編解碼器和存儲方式並沒有統一的規定格式。這也就是說,每個型號的視頻伺服器或編碼板有自己的M-JPEG版本,所以在伺服器之間的數據傳輸、非線性製作網路向伺服器的數據傳輸都根本是不可能的。
(二)、MPEG系列標準
MPEG是活動圖像專家組(Moving Picture Exports Group)的縮寫,於1988年成立,是為數字視/音頻制定壓縮標準的專家組,目前已擁有300多名成員,包括IBM、SUN、BBC、NEC、INTEL、AT&T等世界知名公司。MPEG組織最初得到的授權是制定用於“活動圖像”編碼的各種標準,隨後擴充為“及其伴隨的音頻”及其組合編碼。後來針對不同的套用需求,解除了“用於數字存儲媒體”的限制,成為現在制定“活動圖像和音頻編碼”標準的組織。MPEG組織制定的各個標準都有不同的目標和套用,目前已提出MPEG-1、MPEG-2、MPEG-4、MPEG-7和MPEG-21標準。
1 .MPEG-1標準
MPEG-1標準於1993年8月公布,用於傳輸1.5Mbps數據傳輸率的數字存儲媒體運動圖像及其伴音的編碼。該標準包括五個部分:
第一部分說明了如何根據第二部分(視頻)以及第三部分(音頻)的規定,對音頻和視頻進行複合編碼。第四部分說明了檢驗解碼器或編碼器的輸出比特流符合前三部分規定的過程。第五部分是一個用完整的C語言實現的編碼和解碼器。
該標準從頒布的那一刻起,MPEG-1取得一連串的成功,如VCD和MP3的大量使用,Windows95以後的版本都帶有一個MPEG-1軟體解碼器,可攜式MPEG-1攝像機等等。
2 .MPEG-2標準
MPEG組織於1994年推出MPEG-2壓縮標準,以實現視/音頻服務與套用互操作的可能性。 MPEG-2標準是針對標準數位電視和高清晰度電視在各種套用下的壓縮方案和系統層的詳細規定,編碼碼率從每秒3兆比特~100兆比特,標準的正式規範在ISO/IEC13818中。MPEG-2不是MPEG-1的簡單升級,MPEG-2在系統和傳送方面作了更加詳細的規定和進一步的完善。MPEG-2特別適用於廣播級的數位電視的編碼和傳送,被認定為SDTV和HDTV的編碼標準。
MPEG-2圖像壓縮的原理是利用了圖像中的兩種特性:空間相關性和時間相關性。這兩種相關性使得圖像中存在大量的冗餘信息。如果我們能將這些冗餘信息去除,只保留少量非相關信息進行傳輸,就可以大大節省傳輸頻帶。而接收機利用這些非相關信息,按照一定的解碼算法,可以在保證一定的圖像質量的前提下恢復原始圖像。一個好的壓縮編碼方案就是能夠最大限度地去除圖像中的冗餘信息。
MPEG-2的編碼圖像被分為三類,分別稱為I幀,P幀和B幀。
I幀圖像採用幀內編碼方式,即只利用了單幀圖像內的空間相關性,而沒有利用時間相關性。P幀和B幀圖像採用幀間編碼方式,即同時利用了空間和時間上的相關性。P幀圖像只採用前向時間預測,可以提高壓縮效率和圖像質量。P幀圖像中可以包含幀內編碼的部分,即P幀中的每一個宏塊可以是前向預測,也可以是幀內編碼。B幀圖像採用雙向時間預測,可以大大提高壓縮倍數。
MPEG-2的編碼碼流分為六個層次。為更好地表示編碼數據,MPEG-2用句法規定了一個層次性結構。它分為六層,自上到下分別是:圖像序列層、圖像組(GOP)、圖像、宏塊條、宏塊、塊。
MPEG-2標準在廣播電視領域中的主要套用如下:
(1)視音頻資料的保存
一直以來,電視節目、音像資料等都是用磁帶保存的。這種方式有很多弊端:易損,占地大,成本高,難於重新使用。更重要的是難以長期保存,難以查找、難以共享。隨著計算機技術和視頻壓縮技術的發展,高速寬頻計算機網路以及大容量數據存儲系統給電視台節目的網路化存儲、查詢、共享、交流提供了可能。
採用MPEG-2壓縮編碼的DVD視盤,給資料保存帶來了新的希望。電視節目、音像資料等可通過MPEG-2編碼系統編碼,保存到低成本的CD-R光碟或高容量的可擦寫DVD-RAM上,也可利用DVD編著軟體(如Daikin Scenarist NT、Spruce DVDMaestro等)製作成標準的DVD視盤,既可節約開支,也可節省存放空間。
(2)電視節目的非線性編輯系統及其網路
在非線性編輯系統中,節目素材是以數字壓縮方式存儲、製作和播出的, 視頻壓縮技術是非線性編輯系統的技術基礎。目前主要有M-JPEG和MPEG-2兩種數字壓縮格式。
M-JPEG技術即運動靜止圖像(或逐幀)壓縮技術,可進行精確到幀的編輯,但壓縮效率不高。
MPEG-2採用幀間壓縮的方式,只需進行I幀的幀內壓縮處理,B幀和P幀通過偵測獲得,因此 ,傳輸和運算的數據大多由幀之間的時間相關性得到,相對來說,數據量小,可以實現較高的壓縮比。隨著逐幀編輯問題的解決,MPEG-2將廣泛套用於非線性編輯系統,並大大地降低編輯成本,同時MPEG-2的解壓縮是標準的,不同廠家設計的壓縮器件壓縮的數據可由其他廠家設計解壓縮器來解壓縮,這一點保證了各廠家的設備之間能完全兼容。
由於採用MPEG-2 IBP視頻壓縮技術,數據量成倍減少,降低了存儲成本,提高了數據傳輸速度,減少了對計算機匯流排和網路頻寬的壓力,可採用純乙太網組建非線性編輯網路系統已成為可能,而在目前乙太網是最為成熟的網路,系統管理比較完善,價格也比較低廉。
基於MPEG-2的非線性編輯系統及非線性編輯網路將成為未來的發展方向。
(3)衛星傳輸
MPEG-2已經通過ISO認可,並在廣播領域獲得廣泛的套用,如數字衛星視頻廣播(DVB-S)、DVD視盤和視頻會議等。目前,全球有數以千萬計的DVB-S用戶,DVB-S信號採用MPEG-2壓縮格式編碼,通過衛星或微波進行傳輸,在用戶端經MPEG-2衛星接收解碼器解碼,以供用戶觀看。此外,採用MPEG-2壓縮編碼技術,還可以進行遠程電視新聞或節目的傳輸和交流。
(4)電視節目的播出
在整個電視技術中播出是一個承上啟下的環節,對播出系統進行數位化改造是非常必要的,其中最關鍵一步就是構建硬碟播出系統。MPEG-2硬碟自動播出系統因編播簡便、儲存容量大、視頻指標高等優點,而為人們所青睞。但以往MPEG-2播出設備因非常昂貴,而只有少量使用。隨著MPEG-2技術的發展和相關產品成本的下降,MPEG-2硬碟自動系統播出可望得到普及。
3 .MPEG-4標準
運動圖像專家組MPEG 於1999年2月正式公布了MPEG-4(ISO/IEC14496)標準第一版本。同年年底MPEG-4第二版亦告底定,且於2000年年初正式成為國際標準。
MPEG-4與MPEG-1和MPEG-2有很大的不同。MPEG-4不只是具體壓縮算法,它是針對數位電視、互動式繪圖套用(影音合成內容)、互動式多媒體(WWW、資料擷取與分散)等整合及壓縮技術的需求而制定的國際標準。MPEG-4標準將眾多的多媒體套用集成於一個完整的框架內,旨在為多媒體通信及套用環境提供標準的算法及工具,從而建立起一種能被多媒體傳輸、存儲、檢索等套用領域普遍採用的統一數據格式。
MPEG-4的編碼理念是:MPEG-4標準同以前標準的最顯著的差別在於它是採用基於對象的編碼理念,即在編碼時將一幅景物分成若干在時間和空間上相互聯繫的視頻音頻對象,分別編碼後,再經過復用傳輸到接收端,然後再對不同的對象分別解碼,從而組合成所需要的視頻和音頻。這樣既方便我們對不同的對象採用不同的編碼方法和表示方法,又有利於不同數據類型間的融合,並且這樣也可以方便的實現對於各種對象的操作及編輯。例如,我們可以將一個卡通人物放在真實的場景中,或者將真人置於一個虛擬的演播室里,還可以在網際網路上方便的實現互動,根據自己的需要有選擇的組合各種視頻音頻以及圖形文本對象。
MPEG-4系統的一般框架是:對自然或合成的視聽內容的表示;對視聽內容數據流的管理,如多點、同步、緩衝管理等;對靈活性的支持和對系統不同部分的配置。
與MPEG-1、MPEG-2相比,MPEG-4具有如下獨特的優點:
(1) 基於內容的互動性
MPEG-4提供了基於內容的多媒體數據訪問工具,如索引、超級連結、上下載、刪除等。利用這些工具,用戶可以方便地從多媒體資料庫中有選擇地獲取自己所需的與對象有關的內容,並提供了內容的操作和位流編輯功能,可套用於互動式家庭購物,淡入淡出的數位化效果等。MPEG-4提供了高效的自然或合成的多媒體數據編碼方法。它可以把自然場景或對象組合起來成為合成的多媒體數據。
(2)高效的壓縮性
MPEG-4基於更高的編碼效率。同已有的或即將形成的其它標準相比,在相同的比特率下,它基於更高的視覺聽覺質量,這就使得在低頻寬的信道上傳送視頻、音頻成為可能。同時MPEG-4還能對同時發生的數據流進行編碼。一個場景的多視角或多聲道數據流可以高效、同步地合成為最終數據流。這可用於虛擬三維遊戲、三維電影、飛行仿真練習等
(3)通用的訪問性
MPEG-4提供了易出錯環境的魯棒性,來保證其在許多無線和有線網路以及存儲介質中的套用,此外,MPEG-4還支持基於內容的的可分級性,即把內容、質量、複雜性分成許多小塊來滿足不同用戶的不同需求,支持具有不同頻寬,不同存儲容量的傳輸信道和接收端。
這些特點無疑會加速多媒體套用的發展,從中受益的套用領域有:網際網路多媒體套用;廣播電視;互動式視頻遊戲;實時可視通信;互動式存儲媒體套用;演播室技術及電視後期製作;採用面部動畫技術的虛擬會議;多媒體郵件;移動通信條件下的多媒體套用;遠程視頻監控;通過ATM網路等進行的遠程資料庫業務等。MPEG-4主要套用如下:
(1)套用於網際網路視音頻廣播
由於上網人數與日俱增,傳統電視廣播的觀眾逐漸減少,隨之而來的便是廣告收入的減少,所以現在的固定式電視廣播最終將轉向基於TCP/IP的網際網路廣播,觀眾的收看方式也由簡單的遙控器選擇頻道轉為網上視頻點播。視頻點播的概念不是先把節目下載到硬碟,然後再播放,而是流媒體視頻(streaming video),點擊即觀看,邊傳輸邊播放。
現在網際網路中播放視音頻的有:Real Networks公司的 Real Media,微軟公司的 Windows Media,蘋果公司的 QuickTime,它們定義的視音頻格式互不兼容,有可能導致媒體流中難以控制的混亂,而MPEG-4為網際網路視頻套用提供了一系列的標準工具,使視音頻碼流具有規範一致性。因此在網際網路播放視音頻採用MPEG-4,應該說是一個安全的選擇。
(2)套用於無線通信
MPEG-4高效的碼率壓縮,互動和分級特性尤其適合於在窄帶移動網上實現多媒體通信,未來的手機將變成多媒體移動接收機,不僅可以打移動電視電話、移動上網,還可以移動接收多媒體廣播和收看電視。
(3)套用於靜止圖像壓縮
靜止圖像(圖片)在網際網路中大量使用,現在網上的圖片壓縮多採用JPEG技術。MPEG-4中的靜止圖像(紋理)壓縮是基於小波變換的,在同樣質量條件下,壓縮後的檔案大小約是JPEG壓縮檔案的十分之一。把網際網路上使用的JPEG圖片轉換成MPEG-4格式,可以大幅度提高圖片在網路中的傳輸速度。
(4)套用於電視電話
傳統用於窄帶電視電話業務的壓縮編碼標準,如H261,採用幀內壓縮、幀間壓縮、減少象素和抽幀等辦法來降低碼率,但編碼效率和圖像質量都難以令人滿意。MPEG-4的壓縮編碼可以做到以極低碼率傳送質量可以接受的聲像信號,使電視電話業務可以在窄帶的公用電話網上實現。
(5)套用於計算機圖形、動畫與仿真
MPEG-4特殊的編碼方式和強大的互動能力,使得基於MPEG-4的計算機圖形和動畫可以從各種來源的多媒體資料庫中獲取素材,並實時組合出所需要的結果。因而未來的計算機圖形可以在MPEG-4語法所允許的範圍內向所希望的方向無限發展,產生出今天無法想像的動畫及仿真效果。
(6)套用於電子遊戲
MPEG-4可以進行自然圖像與聲音同人工合成的圖像與聲音的混合編碼,在編碼方式上具有前所未有的靈活性,並且能及時從各種來源的多媒體資料庫中調用素材。這可以在將來產生象電影一樣的電子遊戲,實現極高自由度的互動式操作。
(三) H.264
H.264是ITU-T的VCEG(視頻編碼專家組)和ISO/IEC的MPEG(活動圖像編碼專家組)的聯合視頻組(JVT:joint video team)開發的一個新的數字視頻編碼標準,它既是ITU-T的H.264,又是ISO/IEC的MPEG-4的第10 部分。1998年1月份開始草案徵集,1999年9月,完成第一個草案,2001年5月制定了其測試模式TML-8,2002年6月的 JVT第5次會議通過了H.264的FCD板。2003年3月正式發布。
H.264和以前的標準一樣,也是DPCM加變換編碼的混合編碼模式。但它採用"回歸基本"的簡潔設計,不用眾多的選項,獲得比H.263++好得多的壓縮性能;加強了對各種信道的適應能力,採用"網路友好"的結構和語法,有利於對誤碼和丟包的處理;套用目標範圍較寬,以滿足不同速率、不同解析度以及不同傳輸(存儲)場合的需求;它的基本系統是開放的,使用無需著作權。
在技術上,H.264標準中有多個閃光之處,如統一的VLC符號編碼,高精度、多模式的位移估計,基於4×4塊的整數變換、分層的編碼語法等。這些措施使得H.264算法具有很的高編碼效率,在相同的重建圖像質量下,能夠比H.263節約50%左右的碼率。H.264的碼流結構網路適應性強,增加了差錯恢復能力,能夠很好地適應IP和無線網路的套用。
264的技術亮點
分層設計
H.264的算法在概念上可以分為兩層:視頻編碼層(VCL:Video Coding Layer)負責高效的視頻內容表示,網路提取層(NAL:Network Abstraction Layer)負責以網路所要求的恰當的方式對數據進行打包和傳送。在VCL和NAL之間定義了一個基於分組方式的接口,打包和相應的信令屬於NAL的一部分。這樣,高編碼效率和網路友好性的任務分別由VCL和NAL來完成。
VCL層包括基於塊的運動補償混合編碼和一些新特性。與前面的視頻編碼標準一樣,H.264沒有把前處理和後處理等功能包括在草案中,這樣可以增加標準的靈活性。
NAL負責使用下層網路的分段格式來封裝數據,包括組幀、邏輯信道的信令、定時信息的利用或序列結束信號等。例如,NAL支持視頻在電路交換信道上的傳輸格式,支持視頻在Internet上利用RTP/UDP/IP傳輸的格式。NAL包括自己的頭部信息、段結構信息和實際載荷信息,即上層的VCL數據。(如果採用數據分割技術,數據可能由幾個部分組成)。
高精度、多模式運動估計
H.264支持1/4或1/8像素精度的運動矢量。在1/4像素精度時可使用6抽頭濾波器來減少高頻噪聲,對於1/8像素精度的運動矢量,可使用更為複雜的8抽頭的濾波器。在進行運動估計時,編碼器還可選擇"增強"內插濾波器來提高預測的效果。
在H.264的運動預測中,一個宏塊(MB)可以按圖2被分為不同的子塊,形成7種不同模式的塊尺寸。這種多模式的靈活和細緻的劃分,更切合圖像中實際運動物體的形狀,大大提高了運動估計的精確程度。在這種方式下,在每個宏塊中可以包含有1、2、4、8或16個運動矢量。
在H.264中,允許編碼器使用多於一幀的先前幀用於運動估計,這就是所謂的多幀參考技術。例如2幀或3幀剛剛編碼好的參考幀,編碼器將選擇對每個目標宏塊能給出更好的預測幀,並為每一宏塊指示是哪一幀被用於預測。
4×4塊的整數變換
H.264與先前的標準相似,對殘差採用基於塊的變換編碼,但變換是整數操作而不是實數運算,其過程和DCT基本相似。這種方法的優點在於:在編碼器中和解碼器中允許精度相同的變換和反變換,便於使用簡單的定點運算方式。也就是說,這裡沒有"反變換誤差"。 變換的單位是4×4塊,而不是以往常用的8×8塊。由於用於變換塊的尺寸縮小,運動物體的劃分更精確,這樣,不但變換計算量比較小,而且在運動物體邊緣處的銜接誤差也大為減小。為了使小尺寸塊的變換方式對圖像中較大面積的平滑區域不產生塊之間的灰度差異,可對幀內宏塊亮度數據的16個4×4塊的DC係數(每個小塊一個,共16個)進行第二次4×4塊的變換,對色度數據的4個4×4塊的DC係數(每個小塊一個,共4個)進行2×2塊的變換。
H.264為了提高碼率控制的能力,量化步長的變化的幅度控制在12.5%左右,而不是以不變的增幅變化。變換係數幅度的歸一化被放在反量化過程中處理以減少計算的複雜性。為了強調彩色的逼真性,對色度係數採用了較小量化步長。
統一的VLC
H.264中熵編碼有兩種方法,一種是對所有的待編碼的符號採用統一的VLC(UVLC :Universal VLC),另一種是採用內容自適應的二進制算術編碼(CABAC:Context-Adaptive Binary Arithmetic Coding)。CABAC是可選項,其編碼性能比UVLC稍好,但計算複雜度也高。UVLC使用一個長度無限的碼字集,設計結構非常有規則,用相同的碼錶可以對不同的對象進行編碼。這種方法很容易產生一個碼字,而解碼器也很容易地識別碼字的前綴,UVLC在發生比特錯誤時能快速獲得重同步。
幀內預測
在先前的H.26x系列和MPEG-x系列標準中,都是採用的幀間預測的方式。在H.264中,當編碼Intra圖像時可用幀內預測。對於每個4×4塊(除了邊緣塊特別處置以外),每個像素都可用17個最接近的先前已編碼的像素的不同加權和(有的權值可為0)來預測,即此像素所在塊的左上角的17個像素。顯然,這種幀內預測不是在時間上,而是在空間域上進行的預測編碼算法,可以除去相鄰塊之間的空間冗餘度,取得更為有效的壓縮。
如圖4所示,4×4方塊中a、b、...、p為16 個待預測的像素點,而A、B、...、P是已編碼的像素。如m點的值可以由(J+2K+L+2)/ 4 式來預測,也可以由(A+B+C+D+I+J+K+L)/ 8 式來預測,等等。按照所選取的預測參考的點不同,亮度共有9類不同的模式,但色度的幀內預測只有4類模式。
面向IP和無線環境
H.264 草案中包含了用於差錯消除的工具,便於壓縮視頻在誤碼、丟包多發環境中傳輸,如移動信道或IP信道中傳輸的健壯性。
為了抵禦傳輸差錯,H.264視頻流中的時間同步可以通過採用幀內圖像刷新來完成,空間同步由條結構編碼(slice structured coding)來支持。同時為了便於誤碼以後的再同步,在一幅圖像的視頻數據中還提供了一定的重同步點。另外,幀內宏塊刷新和多參考宏塊允許編碼器在決定宏塊模式的時候不僅可以考慮編碼效率,還可以考慮傳輸信道的特性。
除了利用量化步長的改變來適應信道碼率外,在H.264中,還常利用數據分割的方法來應對信道碼率的變化。從總體上說,數據分割的概念就是在編碼器中生成具有不同優先權的視頻數據以支持網路中的服務質量QoS。例如採用基於語法的數據分割(syntax-based data partitioning)方法,將每幀數據的按其重要性分為幾部分,這樣允許在緩衝區溢出時丟棄不太重要的信息。還可以採用類似的時間數據分割(temporal data partitioning)方法,通過在P幀和B幀中使用多個參考幀來完成。
在無線通信的套用中,我們可以通過改變每一幀的量化精度或空間/時間解析度來支持無線信道的大比特率變化。可是,在多播的情況下,要求編碼器對變化的各種比特率進行回響是不可能的。因此,不同於MPEG-4中採用的精細分級編碼FGS(Fine Granular Scalability)的方法(效率比較低),H.264採用流切換的SP幀來代替分級編碼。
四、H.264的性能比較
TML-8為H.264的測試模式,用它來對H.264的視頻編碼效率進行比較和測試。測試結果所提供的PSNR已清楚地表明,相對於MPEG-4(ASP:Advanced Simple Profile)和H.263++(HLP:High Latency Profile)的性能,H.264的結果具有明顯的優越性。
H.264的PSNR比MPEG-4(ASP)和H.263++(HLP)明顯要好,在6種速率的對比測試中,H.264的PSNR比MPEG-4(ASP)平均要高2dB,比H.263(HLP)平均要高3dB。6個測試速率及其相關的條件分別為:32 kbit/s速率、10f/s幀率和QCIF格式;64 kbit/s速率、15f/s幀率和QCIF格式;128kbit/s速率、15f/s幀率和CIF格式;256kbit/s速率、15f/s幀率和QCIF格式;512 kbit/s速率、30f/s幀率和CIF格式;1024 kbit/s速率、30f/s幀率和CIF格式。