視頻和圖像編碼技術進展探討
無線、廣域、寬帶網(wǎng)上
鐘玉琢 2002/05/27
鐘玉琢
現(xiàn)任清華大學計算機系教授
計算機應用學科博士生導師
兼任中國計算機學會多媒體專委會主任
北京大學計算機系兼職教授
清華大學人機交互與媒體集成研究所副所長
鐘玉琢教授長期從事機器人視覺技術,智能計算機聲、文、圖一體化智能接口以及多媒體計算機技術等方面的教學和科研工作,多年來取得多項研究成果,曾榮獲原機電部科技進步一等獎和二等獎、原教委科技進步二等獎、原國家科委863高技術研究發(fā)展計劃“七五”和“八五”期間優(yōu)秀個人獎和先進工作者獎、清華大學先進工作者獎以及教育工作者優(yōu)秀獎,F(xiàn)在正在承擔國家計委的“數(shù)字家電網(wǎng)絡控制平臺”,863智能計算機的多媒體數(shù)據(jù)壓縮編碼算法與實現(xiàn)技術,國家基金委的分布式層次結構視頻服務器的關鍵技術研究等課題。
目前正在研究的課題還有:MPEG-4和MPEG-7中的分割技術及基于內(nèi)容檢索技術;網(wǎng)絡教學及遠程教學中的課件點播技術(COD-Course Ware On Demand)。
數(shù)字視頻和圖像壓縮編碼技術的研究,已歷經(jīng)半個世紀,在理論和工程上都取得了很多成果。進入20世紀90年代,在ISO和ITU等國際組織的協(xié)調(diào)下,對視頻和圖像編碼的成果進行了收集、整理、綜合和加工,制定了幾個通用的壓縮編碼標準,包括適用于二值圖像的JBIG、用于連續(xù)灰度和彩色靜止圖像的JPEG、用于64K視頻傳輸?shù)腍.261、面向1.5M數(shù)字視頻和音頻傳輸及存儲的MPEG-1、面向高品質(zhì)數(shù)字視頻和音頻傳輸及存儲的MPEG-2,以及適于低碼率視頻編碼的H.263。這些標準的算法主要由四類技術混合構成,即運動補償、正交變換、量化和熵編碼,代表了20世紀90年代中前期視頻和圖像編碼的研究水平。
20世紀90年代中后期,Internet迅猛發(fā)展,無線通信也迅速在全球普及,因此人們開始有了在網(wǎng)絡上傳輸視頻和圖像的愿望,于是視頻和圖像編碼的目標也就從傳統(tǒng)的面向存儲變?yōu)楝F(xiàn)在的面向傳輸。在網(wǎng)絡上傳輸視頻和圖像等多媒體信息除了要解決誤碼問題之外,最大的挑戰(zhàn)在于用戶可以獲得的帶寬在不停地變化。這主要是因為網(wǎng)絡的異構性,即各子網(wǎng)的網(wǎng)絡資源,包括處理能力、帶寬、存儲和擁塞控制策略等分布得很不平均,用戶通過不同的通信子網(wǎng)傳輸數(shù)據(jù)會體驗到非常不同的實際傳輸吞吐量、數(shù)據(jù)丟失率、傳輸延遲;另外由于現(xiàn)在的網(wǎng)絡沒有提供資源預留一類的協(xié)議保障,當網(wǎng)絡擁塞發(fā)生時,多媒體數(shù)據(jù)流的有效傳輸帶寬會突然降低,影響用戶接收多媒體信息的質(zhì)量和速度,甚至造成無法觀看。
為了適應網(wǎng)絡帶寬的變化,可擴展性編碼的思想被提了出來?蓴U展性編碼就是將多媒體數(shù)據(jù)壓縮編碼成多個流,其中一個可以獨立解碼,它稱為基本層碼流;其它的碼流稱為增強層,它們不可以單獨解碼,而只能與基本層和它以前的增強層聯(lián)合在一起解碼,用來提高觀看效果。可擴展性編碼主要分為時域可擴展性編碼、空域可擴展性編碼和質(zhì)量可擴展性編碼。在這些策略中,編好的碼流可以按層為單位截斷,具有一定的網(wǎng)絡帶寬適應能力。
新一代的視聽對象編碼的國際標準MPEG-4中的精細可擴展性(Fine Granular Scalable,FGS)視頻編碼更提供了完全可擴展的增強層碼流,它可以在任何地點截斷,具有極強的網(wǎng)絡帶寬適應能力。后來又提出了漸進的精細可擴展性(Progressive Fine Granular Scalable,PFGS)的編碼方案,它保留了FGS的所有優(yōu)良性能,并且把編碼效率提高了將近1dB。
最新的靜止圖像編碼國際標準JPEG2000,它利用小波變換、位平面編碼和基于上下文的算編碼等一系列新技術,將圖像編碼的效率提高了一大步(同等質(zhì)量下,JPEG2000的碼流尺寸只有JPEGA的一半),并且提供可擴展性的碼流。
在當前的網(wǎng)絡時代,視頻和圖像編碼的目標從產(chǎn)生適合存儲的固定尺寸的碼流發(fā)展到產(chǎn)生適合一定的傳輸碼率范圍的可擴展性碼流,因此今后的多媒體數(shù)據(jù)編碼必然要支持可擴展性。當然,可擴展性編碼現(xiàn)在還是一個很不成熟的領域,與不具有可擴展性的單層編碼相比,它的編碼效率還是比較低的(例如FGS的編碼效率比MPEG-4非可擴展性編碼低2~3dB)。如何將可擴展性編碼的效率盡可能地逼近非可擴展性編碼,是一個值得繼續(xù)研究的問題。
分層可擴展性編碼
。↙ayered Scalable Coding)
關于分層可擴展性編碼的研究可以追溯到10年前,目前它已經(jīng)被許多現(xiàn)行的國際壓縮標準接納,例如H.263+和MPEG-4。分層可擴展編碼主要有三種:時域可擴展性、空域可擴展性和質(zhì)量可擴展性。其中質(zhì)量可擴展性也稱為PSNR可擴展性,原因是視頻質(zhì)量通常用峰值信噪比(PSNR)來衡量。
1.時域可擴展性(Temporal Scalability)
時域可擴展性編碼通常是通過在碼流中添加B幀來實現(xiàn)的。B幀是使用與它在時間上最近鄰的前后兩個I幀或P幀來預測的,而自己并不作為任何其它幀的參考圖像,因此在傳輸中丟棄B幀并不影響其它幀的質(zhì)量,而僅僅降低幀率。圖1是MPEG-4的時域可擴展性編碼的示意圖。
圖1 MPEG-4中的時域可擴展性編碼
2.空域可擴展性(Spatial Scalability)
空域可擴展性編碼是通過為視頻中的每一幀都創(chuàng)建多分辨率的表示來實現(xiàn)的。當進行空域可擴展性編碼時,原始視頻首先通過下采樣得到低分辨率的視頻,編碼得到基本層碼流;然后編碼原始視頻和基本層視頻的差生成增強層碼流。不過空域可擴展性編碼在視頻傳輸中應用較少,因為任何一個用戶都不能接收在前一個GOP中觀看高分辨率視頻,而到下一個GOP只能獲得低分辨率視頻。因此即使增強層在傳輸中被丟棄,客戶端的解碼器也要對低分辨率的圖像進行插值,這實際上是一種質(zhì)量可擴展性的特殊情形。圖2為空域可擴展性編碼的示意圖。
圖2 空域可擴展性編碼
3.質(zhì)量可擴展性(PSNR Scalability)
質(zhì)量可擴展性編碼的思想和空域可擴展性編碼很類似,只不過這里不需對原始視頻進行下采樣,而是進行一次很粗的量化形成基本層碼流。然后對原始視頻和基本層視頻的差再進行一次量化,生成增強層碼流;如果有多個增強層碼流則重復上面的過程。圖3是質(zhì)量可擴展性編碼的示意圖。
圖3 質(zhì)量可擴展性編碼
適合網(wǎng)絡傳輸?shù)木幋a方案
從以上可以看出,傳統(tǒng)的視頻編碼方法不適合網(wǎng)絡傳輸,其根本原因是它們的目標是將視頻壓縮成為適合一個或幾個固定碼率的碼流,也就是說傳統(tǒng)的視頻編碼是面向存儲的。而由于網(wǎng)絡的異構性和缺乏QoS保證,帶寬在一個很大的范圍內(nèi)變化,因此面向網(wǎng)絡傳輸?shù)囊曨l編碼的目標是將視頻壓縮成為適合一個碼率的范圍。
MPEG組織看到了網(wǎng)絡傳輸對視頻編碼的新要求,于是開始征集精細的可擴展性視頻編碼方案。它的基本思想是將視頻編碼成一個可以單獨解碼的基本層碼流和一個可以在任何地點截斷的增強層碼流,其中基本層碼流適應最低的網(wǎng)絡帶寬,而增強層碼流用來覆蓋網(wǎng)絡帶寬變化的動態(tài)范圍。世界各地的學者提出了許多解決方案,主要分為三類,分別使用DCT變換技術、小波變換技術和Matching Pursuit技術。最終從編碼效率和復雜性兩方面的考慮,精細可擴展性編碼(FGSC)及漸進的精細可擴展性編碼(PFGSC)被MPEG組織采納。
1. 精細的可擴展性編碼
MPEG-4的FGS主要有以下一些特性:第一,基本層使用基于分塊運動補償和DCT變換的編碼方式達到網(wǎng)絡傳輸?shù)淖畹鸵;第二,增強層使用位平面編碼技術對DCT殘差進行編碼來覆蓋網(wǎng)絡帶寬的變化范圍;第三,每一幀的增強層碼流可以在任何地點截斷;第四,解碼器重建的視頻質(zhì)量和收到并解碼的比特數(shù)成正比。
FGS的基本層編碼和普通的MPEG-4非可擴展性編碼相同,都是由運動估計、運動補償、DCT變換、標量量化和變長編碼(Variable Length Coding)組成。而在增強層編碼時,從原始的DCT系數(shù)中減去基本層逆量化后重建的DCT系數(shù)值獲得DCT殘差,然后對每一個8×8的塊按從上到下從左到右的順序使用位平面進行編碼。
使用位平面編碼的好處就是使得每一個系數(shù)的重要部分(較高的位)優(yōu)先編碼,這樣在碼流截斷時就保證了解碼器仍可以獲得有關視頻的重要信息,從而提供了精細可擴展的特性。
一般的FGS只考慮了要編碼系數(shù)的值,實際上FGS的應用是非常靈活的。例如我們可以對圖像中比較感興趣的前景部分優(yōu)先編碼,具體作法就是將圖像中的某些塊上移若干個位平面,就實現(xiàn)了對圖像中感興趣部分的優(yōu)先傳輸。我們還可以對不同頻率的DCT系數(shù)加以不同的權重,也就是對不同的DCT系數(shù)上移不同的位平面,從而滿足人眼對不同頻率成分的敏感程度。
FGS還可以和時域可擴展性編碼相結合(FGST),即對B幀中的DCT系數(shù)都使用位平面技術編碼,這樣FGST不僅保持了FGS的精細可擴展的特性,而且支持幀率的變化。
FGS雖然具有優(yōu)良的可擴展特性,但它也有致命的弱點,即效率太低。在同等碼率下,F(xiàn)GS的質(zhì)量要比MPEG-4中的非可擴展性編碼低2~3dB(3個dB意味著碼率翻一番),這是人們難以接受的。因此要想提高FGS的編碼率,必須改善它用作運動預測和補償?shù)膮⒖紙D像的質(zhì)量。
2. 漸進的精細可擴展性編碼
可以看出,質(zhì)量可擴展性編碼(我們對它的增強層使用位平面編碼)和FGS編碼分別走了兩個級端,質(zhì)量可擴展性編碼保證了編碼效率,因為它用同層的解碼圖像作參考,獲得了較為準確的運動預測和補償,但它對錯誤極為敏感,一旦某個增強層出現(xiàn)了錯誤,它后面的增強層都將無法解碼,直到遇到下一個I幀為止;而FGS保證了對錯誤的恢復能力,它可以從前一幀增強層的任何錯誤恢復出來,但是由于參考圖像質(zhì)量低,因而效率不高。為了在編碼效率和錯誤恢復能力之間取得一個權衡,后來有人提出了一種被稱為漸進的精細可擴展性(Progressive Fine Granular Scalable,PFGS)的視頻編碼方案,在保持了FGS所具有的網(wǎng)絡帶寬自適應和錯誤恢復能力的同時,提高了編碼效率將近1dB。
但是,PFGS的編碼效率和非可擴展性編碼相比,還有1~2dB的差距。如何進一步提高它的性能,還是一個值得研究的問題。
取得的最新研究成果
目前正在研究視頻和圖像的可擴展性編碼,其主要成果有:
1. 根據(jù)PFGS增強層各幀之間碼率的不平衡性,研究了PFGS增強層的碼率分配問題。首先提出了一個PFGS增強層多幀聯(lián)合的率失真(Rate-Distortion,R-D)函數(shù),然后我們根據(jù)這個率失真函數(shù)提出了一個局部最優(yōu)的PFGS增強層碼率分配算法。實驗結果顯示,和FGS中使用的碼率平均分配算法相比,我們的算法不僅使視頻解碼質(zhì)量更加平滑,而且將視頻質(zhì)量提高了0.3~0.5dB。另外,我們算法的復雜性很低,使得它非常適合于視頻服務器使用。
2.為了進一步壓縮FGS和FPGS的基本層碼流,我們將位平面編碼技術和空域可擴展性視頻編碼相結合,提出了一種稱為精細的空域可擴展性(Fine-Granularity Spatially Scalable,FGSS)的視頻編碼算法。這個方案具有質(zhì)量精細變化的特性,即低分辨率和高分辨率的增強層碼流都可以在任何地點截斷,具有極強的網(wǎng)絡帶寬適應能力。
此外,我們的算法還具有錯誤恢復功能,同時保持了空域可擴展性編碼的多分辨率特性,它可以滿足擁有不同網(wǎng)絡帶寬和不同分辨率接收設備的許多用戶的需求。實驗表明,在大多數(shù)碼率條件下,F(xiàn)GSS的性能優(yōu)于傳統(tǒng)的空域可擴展性編碼。
3. 我們提出了一種基于塊的細粒度可擴展(B-FGS)編碼方法,這種編碼方法比MPEG-4 FGS具有更多的靈活性,它能夠支持區(qū)域級的動態(tài)碼率分配,它是MPEG-4 FGS的一種改進。在基于塊的FGS編碼系統(tǒng)中,在視頻流化傳輸服務器端,通過給屬于感興趣區(qū)域的空塊分配更多的碼率就可以實現(xiàn)選擇性區(qū)域增強,而增強區(qū)域的選擇是由傳輸策略決定的,由于B-FGS編碼將區(qū)域增強從編碼中分離出來,所以可以很好地支持區(qū)域級動態(tài)碼率分配。
同時,我們還較好地解決了B-FGS中均勻碼率分配所造成的編碼效率下降問題,實現(xiàn)了B-FGS編碼中的快速最優(yōu)碼率分配,使其可以用于實時流媒體服務器中。
上述編碼方法可以和MPEG-7內(nèi)容描述相結合,在低傳輸帶寬時,實現(xiàn)重要區(qū)域的選擇性增強,從而提高接收端視覺質(zhì)量。
賽迪網(wǎng) 2002/05/27
從瑞福特公司看我國IP視頻會議系統(tǒng)市場的發(fā)展 2002-05-20 |
會議電視系統(tǒng)解決方案 2002-05-20 |
將視頻通訊帶進中國人的生活 2002-05-20 |
高檢采用VTEL設備建設會議電視系統(tǒng) 2002-05-20 |
評論:將視頻通訊帶進中國人的生活 2002-05-16 |