剖析H.264數位影像壓縮核心技術及優勢

axelshyu 發表於 2008-6-18 09:18:06 [顯示全部樓層] 回覆獎勵 閱讀模式 0 3842
影像監控產品隨著社會的進步,數位化、網路化、智慧化已成為不可阻擋的發展趨勢。回顧影像監控系統的發展,曾經歷了三個時期。

第一期:模擬時期。影像以類比方式採用同軸電纜進行傳輸,並由控制主機進行類比處理。第二期:半數位時期。影像以類比方式採用同軸電纜進行傳輸,由多媒體控制主機或硬碟錄影主機(DVR)進行數位處理與儲存。第三期:全數位時期。基於網路概念,以數位影像處理技術為核心,綜合利用光電感應器、數位化圖像處理、嵌入式電腦系統、資料傳輸網路、自動控制和人工智慧等技術的一種新型數位監控系統,典型的產品就是網路影像伺服器。


在乙太網技術日趨成熟的環境下,寬頻資訊網路將乙太網路埠延伸到整個辦公大樓和工業廠房,甚至是我們生活的每一個角落。除了能夠提供高速的寬頻網路連結外,還能取代同軸電纜,將即時監控圖像納入寬頻資訊網路的應用範圍。為了解決網路傳輸遭遇的問題或瓶頸,市場上推出了全新的H.264壓縮格式的網路影像伺服器。以下內容就這類影像伺服器的核心技術——H.264壓縮格式做一個分析和介紹,與大家共享。


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版。


H.264和以前的標準一樣,也是DPCM加變換編碼的混合編碼模式。但它採用「回歸基本」的簡潔設計,不採用眾多選項,獲得比H.263--更好的壓縮性能;加強對各種傳輸的適應能力,採用「網路友好」的結構和語法,有利於對誤碼和遺失封包的處理;應用目標範圍較寬,以滿足不同速率、不同解析度以及不同傳輸(儲存)場合的需求;它的基本系統是開放的,使用無需版權。


在技術上,H.264標準中有多個特殊之處,如統一的VLC符號編碼;高精度、多模式的位移估計;基於4×4塊的整數變換、分層的編碼語法等。使得H.264演算法具有很高的編碼效率,在相同的重建圖像品質下,能夠比H.263節省50%左右的碼率。H.264的碼流結構網路適應性強,增加了錯誤恢復能力,能夠很好地適應IP和無線網路的應用。


H.264的技術亮點

分層設計


H.264的演算法在概念上可以分為兩層:影像編碼層(VCL:Video Coding Layer)負責高效的影像內容表示;網路提取層(NAL:Network Abstraction Layer)負責以網路所要求的恰當的方式對資料進行封包和傳送。在VCL和NAL之間定義了一個基於分組方式的介面,封包和相應的信息屬於NAL的一部分。這樣,高編碼效率和網路友好性的任務分別由VCL和NAL來完成。


VCL層包括基於4x4塊的運動補償混合編碼和一些新特性。與前面的影像編碼標準一樣,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)可以被分為不同的子塊,形成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在發生比特錯誤時能快速獲得重同步。這,x0,x1,x2是INFO比特,並且為0或1。如第4號碼字包含INFO01,這一碼字的設計是為快速再同步而經過優化的,以防止誤碼。
幀內預測


在先前的H.26x系列和MPEG-x系列標準中,都是採用的幀間預測的方式。在H.264中,當編碼Intra圖像時可用幀內預測。對於每個4×4塊(除了邊緣塊特別處置以外),每個圖元都可用17個最接近先前已編碼圖元的不同加權和(有的權值可為0)來預測,就是圖元所在塊的左上角的17個圖元。顯然,這種幀內預測不是在時間上,而是在空間上進行的預測編碼演算法,可以除去相鄰塊之間的剩餘空間,取得更為有效的壓縮。


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類不同的模式,但色度的幀內預測只有1類模式。


面向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幀來代替分級編碼。

TML-8性能
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格式。


實現難度

對每個考慮實際應用的工程師而言,在關注H.264的優越性能的同時必然會衡量其實現難度。從總體上說,H.264性能的改進是以增加複雜性為代價而獲得的。但是,隨著技術的發展,這種複雜性的增加是在我們當前或不久的將來的技術可接受的範圍之內的。實際上,考慮到複雜性的限制,H.264對一些計算量特別大的改進演算法未予採用,如H.264未採用全局運動補償技術,這在MPEG-4的ASP中是採用的,並增加了相當的編碼複雜性。H.264和MPEG-4兩者都包括了B幀和比MPEG-2、H.263或MPEG-4的SP(Simple profile)更為精確、更為複雜的運動內插濾波。為了更好地完成運動估計,H.264顯著地增加了可變塊尺寸的種類和可變參考幀的數目。


H.264的RAM需求主要用於參考幀圖像,大多數編碼影像使用35幀參考圖像。它對ROM的需求並不比通常的影像編碼器更多,因為H.264的UVLC對所有的各類資料採用了一個結構良好的查照表。


H.264影像伺服器的功\能優勢
H.264建議的技術特點可以歸納為三個方面,一是注重實用,採用成熟的技術,追求更高的編碼效率,簡潔的表現形式;二是注重對移動和IP網路的適應,採用分層技術,從形式上將編碼和傳輸隔離開來,實質上是在源編碼器演算法中更多地考慮到傳輸的特點;三是在混合編碼器的基本框架下,對其主要關鍵元件都做了重大改進,如多模式運動估計、幀內預測、多幀預測、統一VLC、4×4二維整數變換等。


在此,以某公園的不定時監控應用為例,簡介H.264影像伺服器的功\能表現。目前該公園的職能管理部門計畫對下屬的8個公園進行不定時監控,以便監控園中生態情況,防止人為破壞園林景觀,監控園中車輛和人員狀況,為公園的科學管理提供決策依據。


依據當前實際需要,該監視系統應實現以下功\能:圖像監視功\能;通過ADSL或者其他廣域網路傳輸進行遠端監控。


根據實際情況,在公園的關鍵角落配置四路類比槍型攝影機和一台影像伺服器,直接將影像伺服器接到ADSL網路上進行傳輸。影像伺服器主要完成圖像的採集、將類比影像訊號數位化並壓縮,通過區域網、廣域網進行圖像傳輸。相關決策部門領導可以對圖像進行即時瀏覽、控制,同時可以接受遠端控制資訊。
結合本方案的ADSL網路傳輸資源,需要進行動態功\能變數名稱解析(DDNS)的工作。在這裡,建議採用方案支援DDNS的硬體共用器,來實現對動態功\能變數名稱的解析(DDNS)。


動態功\能變數名稱解析軟體解決方案


這種解決方案針對公司通過代理伺服器實現對internet的連接。需要向提供動態功\能變數名稱解析服務的提供商進行註冊,申請一個動態功\能變數名稱。然後在代理伺服器上安裝提供DDNS服務的用戶端軟體,進行埠映射的配置工作。如果網路攝影機和影像伺服器均支援HTTP埠的自由配置,這樣就可以在Internet上遠端存取到區域網上的網路攝影機和影像伺服器,實現遠端圖像監控。
目前實現埠映射的方法很多,可以通過埠映射軟體實現(例如PortTunnel的映射工具、埠映射器PortMap、WinRoute Pro的埠映射功\能),也可以利用win2000 Server的IIS實現WWW和FTP服務。


動態功\能變數名稱解析硬體解決方案


利用DDNS功\能的寬頻路由器(也叫寬頻共用器)實現。目前市場上許\多品牌的寬頻共用器支援動態功\能變數名稱解析,而且具有埠映射功\能(虛擬伺服器)或者採用網路位址轉換(NAT)技術,支援動態、靜態和雙向NAT。這樣Internet上用戶就可以直接遠端存取到區域網上的網路攝影機或者影像伺服器,對圖像進行瀏覽控制。例如Internet BroadBand Router NUS-IS104就支援DDNS功\能。該影像伺服器可支援光纖、無線、ADSL、ISDN、PSTN等多種遠端傳輸方式,為異地用戶提供不同的接入方式;內置WEB-SERVER功\能,用戶可以在異地通過互聯網,利用瀏覽器直接查看各監控點的圖像。


專用圖像控制軟體


圖像瀏覽、控制也可以通過專用監控軟體對圖像進行控制,專用控制軟體功\能更加強大,管理更加完善。現對專用控制軟體功\能進行簡單的描述:


a. 專用監控軟體可設置0-255級不同的許\可權,最大許\可權為可看到所有監控畫面,可控制各攝影機的鏡頭和雲台的控制運行,可隨時存儲或者重播畫面。


b. 監控器可以分別顯示1、4、9、12、16路畫面,並可設置多個頁面。


c. 顯示和瀏覽功\能:通過IE可以在用戶端或伺服器端即時的顯示影像資訊。


d. 控制功\能:對影像伺服器、攝影頭、雲台等周圍設備的控制,以滿足用戶對影像監控的要求。


e. 警報功\能:透過影像伺服器,控制電源開關、警報觸發和運動檢測器的控制。


f. 存儲功\能:提供了強大的多種影像儲存功\能,並提供多種錄影方式;手動錄影:可邊觀看監控圖像邊進行錄影;計畫錄影:可對各監控點制訂保存計畫,並按時進行錄影、警報觸發、圖像保存。


g. 設備管理和測試功\能:包括設備增加、刪除,設備IP位址的分配及影像伺服器、電腦的網路連接測試等。
h. 用戶及其許\可權管理功\能:用戶管理,包括用戶的增加、刪除;用戶許\可權的管理、用戶密碼管理、用戶的設備分配;對用戶的登錄和使用請求作出回應等功\能。


在這個方案應用中,尤其是影像伺服器的H.264的圖像壓縮傳輸,大幅提升通過網路傳輸影像的傳輸效率。除了提供數位影音通訊功\能,同時支援流媒體協定,使用者可通過Windows Media Player等影像軟體直接進行影像瀏覽;更提供IGMP網路封包流量管理功\能及SNMP網管功\能,以進行不同網路層級間的安全管理,可提升影像監控管理系統的效率及可靠性。


更為重要的是,採用先進的DSP技術,包含2個編碼器,能製造出編碼靈活可變、性能穩定的圖像,可以提供H.264編碼和JPEG編碼的影像流,同時可以提供靜態的壓縮圖片,方便PDA等手持設備使用。一般情況下,H.264碼流為50Bytes/秒,大約每小時的存儲量為180 MegaByte,每天為4.3 GigaByte,一周為30.1 GigaByte,並可以根據實際的需要調整壓縮品質,達到調整儲存量大、小的目的。不僅能適用於家庭用戶和一般的工廠企業,也能適用於交通、精煉廠及電廠等非常嚴苛的作業環境。



結語

迄今為止,H.264尚未最後定稿,但因其更高的壓縮比、更好的傳輸適應性,必將在數位影像的通信或儲存領域得到越來越廣泛的應用。例如即時影像通信、網際網路影像傳輸、影像流媒體服務、異構網上的多點通信、壓縮影像存儲、影像資料庫等,其發展潛力不可限量。但必須說明的是,H.264優越性能的獲得不是沒有代價的,其代價是計算複雜度的大大增加,據估計,編碼的計算複雜度大約相當於H.263的3倍,解碼複雜度大約相當於H.263的2倍。

[ 本帖最後由 0935097120 於 2008-6-24 16:46 編輯 ]

暫無任何回文,期待你打破沉寂

你需要登入後才可以回覆 登入 | 註冊會員

本版積分規則

axelshyu

LV:6 爵士

追蹤
  • 41

    主題

  • 303

    回文

  • 2

    粉絲