?
摘 要:簡要介紹了視頻壓縮理論以及相關標準,并探討了視頻壓縮編碼的未來發展方向,最后介紹了視頻壓縮技術的硬件實現與發展。
關鍵詞:視頻壓縮? 視頻技術? 視頻編碼
?
??? 利用人的視覺獲取的信息稱為視頻信息,視頻信息的表現形式是視頻信號。一般而言,視頻信號的信息量大,傳輸網絡所需要的帶寬相對較寬。例如,一路高清新電視信號,由于其信息量巨大,不壓縮需1Gb/s。可見,視頻信息雖然具有直觀性﹑確定性等優越特點,但要傳輸包含視頻信息的信號卻需要較高的網絡帶寬,所以視頻信號在傳輸前要先進行壓縮編碼,然后再在網絡上進行傳輸。
??? 目前,視頻編碼" title="視頻編碼">視頻編碼采用的方式一般分為基于波形的編碼和基于內容的編碼[1]。基于波形的編碼采用了把預測編碼和變換編碼組合起來的基于塊的混合編碼方法。為了減少編碼的復雜性,使視頻編碼的操作易于執行,采用混合編碼方法時,首先把一幅圖像分成固定大小的塊,然后對塊進行壓縮編碼處理。
??? 基于內容的編碼首先把視頻幀分成對應于不同物體的區域,然后分別對其進行編碼。具體來說,即對不同物體的形狀﹑運動和紋理進行編碼。在最簡單的情況下,利用二維輪廓描述物體的形狀;利用運動矢量描述其運動狀態;而紋理則用顏色的波形進行描述。
視頻壓縮標準及其發展
??? ITU-T于1989年發布了第一個視頻編碼標準H.261,隨后陸續發布了H.263﹑H.263+﹑H.263++等視頻編碼標準。ISO的下屬運動圖像專家組也發布了MPEG-1﹑MPEG-2﹑MPEG-4等數字電視壓縮編碼的國際標準。下面對這些標準進行簡要介紹。
????H.261標準主要應用于ISDN網上的視頻會議,是第一個采用現代編碼算法的通用視頻標準,為以后眾多標準提供了理論基礎。H.261編碼器的原理圖如圖1所示。
?
??? H.261的輸入視頻格式主要支持CIF和QCIF,只有按幀的工作方式。對于一個編碼幀,分成16×16的宏塊" title="宏塊">宏塊進行處理。對于每一個幀間編碼的宏塊,采用運動估計" title="運動估計">運動估計,運動估計范圍為(-15,15),僅支持整像素運動估計。對于幀內編碼宏塊和對于幀間編碼宏塊的運動位移誤差按8×8塊進行DCT變換﹑量化﹑Z掃描和VLC編碼。H.261采用兩種量化器,對幀內編碼的DCT直流系數用步長為8的均勻量化器進行量化,其他系數采用帶死區的均勻量化器,量化器步長可以從2~62選擇。
??? H.261的碼流結構采用分層結構。從上到下依次是圖片層﹑塊組層﹑宏塊層和塊層。采用塊組的目的是為了抵抗誤碼的傳播,即當一個塊組的數據丟失時并不影響下一個快組。宏塊層包括宏塊類型﹑運動矢量和CBP碼等信息。塊層包括具體的8×8塊DCT變換系數。
??? H.263是為了支持低速率傳輸而制定的標準,主要面向低碼率的視頻應用,可以支持在電話線上傳輸可視電話和會議電視。由于公用電話網和無線網上的傳輸速率仍然有限,而且誤碼率較高,因此提出了H.263+和H.263++,以滿足高壓縮效率和強信道容錯能力的要求。它們在提高編碼效率的同時,提高了碼流對有誤碼信道的容錯能力。H.263標準提出了變塊運動估計﹑多幀參考運動補償等先進視頻壓縮技術,對日后提出的視頻編碼標準產生很大影響。
??? MPEG-1是為滿足視頻存儲媒體的應用而提出的視頻壓縮標準。在典型的MCPC框架基礎上應用了半像素的雙向預測技術,與H.261相比具有更好的編碼質量和更高的壓縮比。
??? MPEG-2使用了場﹑幀聯合的編碼結構,支持高質量的音頻編碼和高分辨率圖像。提供從廣播級TV到HDTV的視頻編碼,并提供多種可分級編碼模式。目前在高清晰電視領域有廣泛的應用。
??? MPEG-4于1999年正式成為國際標準。與以前的標準相比,MPEG-4更加注重多媒體系統的交互性和靈活性。MPEG-4引入了基于對象﹑內容的編碼技術,在理論上具有更高的壓縮效率。但是對視頻對象進行自動分割目前仍有較大困難,尚未實現真正的面向對象的編碼技術。
??? H.264是ITU和ISO聯合制定的一個新的視頻編碼標準,于2003年在國際上正式頒布。與以往的視頻編碼標準相比, H.264采用了很多新的技術,例如采用了7種不同的宏塊分割方法,從而形成7種不同的幀間預測模式。H.264支持1/4像素精度的運動矢量并采用樹狀結構的運動補償策略,每個宏塊可進行分割和亞分割。H.264還支持多參考幀模式,即允許編碼器使用多于一幀的先前幀用于運動估計,以降低幀間預測誤差。此外H.264還引入了SI和SP圖像編碼類型,以支持視頻流間切換。H.264還采用了幀內預測編碼技術和4×4整數變換以及方塊濾波技術來提高壓縮比和圖像質量。
??? H.264的提出是視頻壓縮編碼領域的一個里程碑,其優越的壓縮性能必將在數字廣播電視﹑實時視頻通信﹑視頻流媒體傳遞等多個方面發揮重要作用。目前對H.264的研究與改進成為視頻壓縮學術界廣泛研究的課題之一。
視頻壓縮未來發展方向
基于小波" title="小波">小波變換的視頻壓縮編碼
??? 小波壓縮技術在消除DCT變換中所特有的方塊化效應和飛蚊噪聲方面有良好的率失真品質,所以基于小波的視頻壓縮研究一直在不斷進行。基于小波的視頻編碼技術可以分為三類[2][3]:(1)空間域運動補償的小波變換" title="小波變換">小波變換(MC-DWT);(2)小波域運動補償(DWT-MC);(3)具有或者不具有運動估計的三維小波變換。不同的運動估計算法、量化方案和熵編碼方法可應用于這三類編碼技術的任何一類。
??? MC-DWT視頻編碼方案是在空間域進行運動估計和運動補償來消除時間冗余,對其誤差圖像以及幀內圖像采用小波變換進行編碼消除空間冗余。與傳統的基于DCT的混合編碼的主要差別在于對補償幀差的處理,它用整域小波變換代替分塊DCT變換。塊運動補償技術影響視頻編碼性能,與其他運動補償技術相比,采用重疊塊運動補償技術(OBMC)可以有效地消除方塊效應,同時能夠降低補償幀差的能量,提高運動補償效率,改善視頻編碼器的性能。因此近年來基于空域運動補償的混合小波視頻編碼廣泛采用OBMC技術。
??? DWT-MC視頻編碼方案是先使用整域小波變換消除空間冗余,再通過小波域的運動估計和運動補償技術消除時間冗余,最后對變換域的補償殘差進行小波壓縮編碼。由于小波分解內在的多分辨結構,在小波域內很容易執行多分辨運動估計和運動補償(MRMC),同傳統的時域運動估計相比可以節省大量的搜索匹配時間。
??? 具有或者不具有運動估計的三維小波變換編碼方案根據是否具有運動估計可大致分為兩類:純三維小波變換(3DWC)和具有運動補償的三維小波變換(MC-3DWC)。對于不具有運動估計的就是純粹的三維小波變換,由幀內二維和幀間一維變換聯合實現,因此這兩部分實現的不同順序就構成了兩種三維小波變換的實現方法。第一種是先對各幀進行幀內二維小波變換,然后對變換后的結果進行時間軸上的一維小波變換;第二種方法則是先進行時間軸上的一維小波變換,然后再對變換后的各幀進行二維小波變換。三維小波變換編碼算法中典型的有:Chang和Pearlman的3DEZW算法[4],Kim和Pearlman的3DSPIHT算法[5]以及Vass和Chai等人的3DSLCCA算法[6]。
??? 總體來看,目前小波視頻壓縮技術遠不及小波圖像壓縮技術成熟。小波視頻壓縮研究之所以滯后于小波圖像壓縮研究,不僅因為小波視頻研究的進展有賴于小波圖像的研究和信號維數的提高,還由于視頻壓縮的應用背景與圖像壓縮的應用背景有很大的不同。由于視頻應用實時性的原因,視頻壓縮算法要對壓縮算法的復雜度和壓縮效率作綜合考慮。實際上,推動小波視頻壓縮研究不斷深入的主要技術因素有兩個,一個是小波圖像壓縮技術研究,另一個是運動補償技術研究。另外,不斷激增的商業需求也在不斷刺激小波視頻壓縮理論和應用研究的不斷深入。
立體視頻編碼與多視點視頻編碼
??? 立體視頻編碼是視頻編碼發展方向之一,它在平面信息外增加了深度的信息,數據量非常龐大。
??? 立體視頻編碼也有兩種類型的方法:第一種是基于波形的,它組合了運動補償預測和位差補償預測。所謂位差估計即在兩幅不同的圖像中尋找對應的點,對預測殘差圖像﹑位差和運動矢量進行編碼。第二種是基于物體的,它直接對成像物的三維結構和運動進行編碼,當物體結構簡單時,可以獲得非常高的壓縮比。
??? 多視角視頻是由一個場景的不同視角的二維平面視頻組成,除了每個視角視頻在時間和空間上存在冗余之外,同一時間不同視角之間還存在冗余信息。多視角視頻編碼預測結構通常采用GoGOP預測結構。在GoGOP預測結構中,所有的GOP被分成兩類:基本GOP和增強GOP。基本GOP中的圖像只能參考當前GOP中的解碼圖像;而增強GOP中的圖像既可以參考當前GOP中的解碼圖像,也可以參考相鄰視角中GOP的解碼圖像。這種預測結構適用于低時延的隨機訪問,編碼效率也比較高。
??? 目前,針對立體視頻編碼,MPEG-2和H.264分別給出了參考方案。JVT針對多視點視頻編碼,提供了JMVM參考代碼[7]。立體視頻編碼目前已經有實際應用,多視點視頻編碼由于算法復雜度高,目前還處于理論研究階段。
視頻壓縮硬件實現及最新發展
視頻壓縮的硬件實現
??? 視頻壓縮目前已經在許多產品中得到應用,包括DVD、數字電視、可視電話、互聯網視頻、拍照手機、PDA和攝像機等。不同的產品有不同的需求:幀的大小、幀速率、視頻質量、位速率以及所采用的壓縮標準等各不相同。目前實際應用中廣泛采用的是H.263和MPEG-4壓縮標準,本文分別對其典型實現方式進行介紹。
基于H.263協議的GD6829
??? GD6829是高度集成的單片視頻編解碼芯片。該芯片以純硬件設計方式實現,符合ITU-T H.263協議標準,可支持高品質的運動圖像在Internet中實時傳輸[9]。
??? 為了達到高質量的視頻編碼和解碼,GD6829采用了許多先進的技術及高性能的硬件,采用專用的模塊實現運動預測、運動補償、離散傅立葉變換(DCT)、反離散傅立葉變換(IDCT)、量化、反量化、Z-Z掃描、變長編解碼(VLD)、智能幀率控制等,外部采用2M×16bit的SDRAM。目前GD6829支持圖像在4種格式下編解碼同步進行: QCIF、CIF、VGA和4CIF格式,其中QCIF、CIF格式下幀率可達100f/s,VGA、4CIF格式下幀率可達25f/s。GD6829的工作電壓使用3.3V,I/O口兼容3.3V和5.0V,采用208引腳的PQFP封裝。
??? 視頻輸入采用CCIR-601或CCIR-656 YUV(8-bit)4:2:2逐行/隔行輸入。支持QCIF(176×144)、QVGA(320×240)、CIF(352×288)、VGA(640×480)、4CIF(704×576)和D1(720×576)等視頻分辨率格式。幀速率支持1~25f/s(4CIF、VGA、D1)或者1~100f/s(CIF,QVGA)。
??? GD6829內置PCI接口控制器,通過外部處理器支持USB2.0傳輸,支持8位/16位地址/數據的異步并行接口,通過外部處理器支持Ethernet輸出。視頻緩存:2M×32bit或4M×16bit PC1000 SDRAM。
??? 基于GD6829的視頻壓縮硬件設計框圖如圖2所示。
?
??? 視頻輸入可以使用數字CMOS攝像頭或NTSC/PAL視頻信號,經過一個視頻轉換器,從8位或16位的數據總線上以YcbCr 4:2:2的格式送給GD6829,輸入的視頻數據轉換成QCIF、QVGA、CIF、4CIF或D1格式,再采用H.263協議對視頻數據進行壓縮。處理過的視頻數據流經網絡模塊處理后進行傳輸。
基于MPEG-4協議的IME6400
??? INTIME公司的MPEG-4編碼芯片IME6400是一款高性能的單片多通道MPEG-4數字壓縮編碼芯片,它支持多種編碼模式和比特率控制,并提供了豐富的外圍硬件接口[10]。芯片內部帶有圖像壓縮硬核,外掛8MB SDRAM配合工作。其外部HOST接口有四種模式,由MODE引腳來決定。如果選用異步模式,則IME6400對輸入的視頻音頻流進行壓縮和復合,產生MPEG-4的系統流,然后經過輸出端口大小為1KB的FIFO緩沖進行數據的輸出。當FIFO滿,其GPIO0腳就產生一個下降沿的中斷通知主機讀取FIFO中的數據,主機通過讀IME6400 HOST端口的EncodedStream寄存器完成對數據的讀取,外部主機通過寫一個不同的值到USER4寄存器來通知IME6400數據傳輸已完成。其系統結構圖如圖3所示。
?
??? 應用IME6400硬件設計的MPEG-4壓縮和嵌入式系統可以使監控系統的性能大大提高,主要表現在:錄像和預覽同樣清晰的全動態碼率最大可控制在200MB/h;壓縮速度更快,實時流播放時無滯后延遲,最小延遲可以小于1s;輸出視頻流的畫面可達720×480(30f/s)或720×576(25f/s)。
視頻壓縮的硬件實現發展趨勢
??? 視頻壓縮的硬件實現最初采用可編程DSP或現成芯片(ASSP)的方法。可編程DSP的優勢在于具有較好的適應性。當有新的要求時,可通過軟件設計進行修改,然后再移植到DSP。缺點在于執行速度低于現成芯片。現成芯片視頻處理速度高,但是適應性差,只支持單一的壓縮方式,當有新的要求時,要重新設計芯片,時間開銷和花費都較大。
??? 目前,新的H.264壓縮技術逐漸成為主流。像H.264這樣的高復雜度并且不斷改進的視頻壓縮算法,采用單純的DSP或者設計專用芯片實現起來都十分困難。較為有效的方法是采用DSP+FPGA實現。如圖4所示。
?
?
??? 其中DSP用于幀內預測﹑變換﹑量化﹑碼率控制和反量化等操作。這些操作易于編程實現,并且可編程DSP還提供了優化策略。視頻壓縮中最耗時的運動估計和運動補償以及最終的熵編碼通過設計FPGA來實現,提高壓縮編碼速度。通過DSP+FPGA,可實現復雜的編碼操作,并具有良好的實時性,在實際中得到廣泛應用。
視頻處理新技術:達芬奇技術
??? 盡管視頻壓縮在實際中有廣泛的應用前景,但對開發人員而言是一項艱巨的任務。因為實施數字視頻是極其復雜的過程。在著手開發算法之前,開發人員必須先弄懂不斷修改的多媒體標準。不僅如此,現有的數字視頻實施往往涉及特定平臺,而且開發人員必須在手工代碼調試方面進行大量投入。近期TI公司推出的達芬奇技術使開發人員能夠在無需任何DSP代碼編程的情況下也能為應用引入數字視頻功能。
??? 達芬奇技術充分利用了數字信號處理與集成電路專業技術來提供片上系統(SoC),這種系統針對靈活的數字視頻應用而進行了精心優化,擁有先進的性能并集成了可編程數字信號處理器(DSP)內核、ARM處理器以及視頻加速協處理器。憑借高效的處理能力、存儲器、I/O 帶寬、平衡的內部互連以及專用外設組合,基于達芬奇技術的SoC能夠以最低的成本為視頻應用提供理想的核心動力。
????目前,TI公司提供的最新基于達芬奇技術的多媒體芯片TMS320C6455,具有2MB的L2內存,工作頻率1GHz,是目前較先進的視頻圖像多媒體器件。基于TMS320C6455的高速視頻編解碼架構如圖5所示。
?
??? 其中一片TMS320C6455專門用于運動估計和運動補償,另外一片用于分塊﹑DCT變換﹑熵編碼和量化等操作,這樣做極大提高了視頻編碼速度[8]。TMS320DM642用于用戶端的視頻解碼操作,最后通過THS8200形成最終圖像。
??? 本文簡要介紹了視頻壓縮理論以及相關標準,并探討了視頻壓縮編碼的未來發展方向,最后介紹了視頻壓縮技術的硬件實現。使讀者對視頻壓縮編碼有一定的了解,并有助于進一步的深入研究。
參考文獻
[1] 畢厚杰.新一代視頻壓縮編碼標準—H.264/AVC.北京:人民郵電出版社,2005.
[2] WANG Y,OSTERMANN J,ZHANG?Y Q.Video processing and Communications.Prentice Hall,USA.2002:284-285.
[3] 張宗平,劉貴忠.基于小波的視頻圖像壓縮研究進展.電子學報,2002,30(6):883-889.
[4] CHANG Y,PEARLMAN W A.Three-dimensional subband coding?using the zero-tree method[J].Proc.SPIE,1997:1302-1312.
[5] KIM B J,PEARLMAN W A.An?embedded wavelet video coder using?three-dimensional set partitioning in????? hierarchical trees(SPIHT)[J].Proc.Data?Compression Conf,1997:251-260.
[6] Vass J,Chai B B,et al.3DSLCCA a highly scalable very low bit rate?software-only wavelet video codec???? Proc[J].IEEE Workshop Multimedia?Signal Processing,Los Angeles CA,1998:474-479.
[7] VETRO A,SU Y,KIMATA H,et?al.Joint multiview video?model JMVM?2.0.ITU-T and ISO/IEC Joint?Video Team,
???? Document JVTU207,Nov.2006,http://ftp3.itu.int/av-arch/ jvt-site/2006 10 Hangzhou/JVT-U207.zip.
[8] DSP分區視頻編碼白皮書.TI公司.2007.
[9] Single Chip H.263 Encoder Support?PCI/Ethernet/USB Output.杭州高特信息技術有限公司.
[10] IME6400 firmware manual.Intime?Corporation.2003.