H.264編碼壓縮技術
H.264也是MPEG-4標準的第十部分,是由ITU-T視頻編碼專家組(VCEG)和ISO/IEC動態圖像專家組(MPEG)聯合組成的聯合視頻組(Joint Video Team,JVT)提出的高壓縮率視頻編碼標準。與以前的標準一樣,H.264也是采用預測 編碼加變換編碼的混合編碼模式,它集中了以往各個編碼標準的優點,并吸收了標準制定過程中積累的經驗,獲得了比以往其他編碼方式好得多的壓縮性能。H.264標準的優勢是具有很高的數據壓縮比,在同等監控安裝圖像質量的前提條件下,H.264編碼的壓縮比是MPEG-4的1.5~2倍。本公司是是一家從事鄭州監控設計、鄭州監控安裝、鄭州監控維修的專業監控安裝公司,同時承接鄭州網絡布線、鄭州綜合布線、鄭州光纖熔接、無線網絡覆蓋、光纖熔接、防盜報警等弱電系統。H.264采用“網絡有好”的結構和語法,有利于對誤碼和丟包的處理,以滿足不同速率、不同解析度以及不同網絡傳輸、存儲場合的需求。
H.264編碼器結構
與其他的視頻編碼壓縮標準類似,H.264也是采用幀內與幀間預測的混合編碼方式,主要的功能模塊包括預測、變換、量化及熵編碼,但是多了一個環內濾波功能,用來去掉“馬賽克”效應,提高監控安裝圖像質量。圖中編碼器包括兩個視頻通路,一個是從左到右的“編碼通路”,另一個是從右到左的“重構解碼”通路。
H.264編碼的關鍵特性
網絡適應性強:H.264提供了網絡抽取層(Network Abstraction Layer),使得H.264的文件能容易地在不同網絡環境中傳輸(例如互聯網、CDMA、GPRS、WCDMA、CDMA2000等)。
容錯能力強:H.264提供了解決在不穩定網絡環境下容易發生的丟包等錯誤的必要工具。幀間編碼及SP幀引入:H.264充分利用相鄰幀之間時域冗余進行運動補償,與先前其他編碼壓縮方式類似,支持P幀、B幀,并引入新的SP幀,即流間傳送幀,能在有類似內容但有不同碼流的碼流間進行快速切換,并支持快速播放及隨機接入。
運動估計特點:H.264運動估計有多個特點,包括不同大小和形狀的宏塊分割、高精度的亞像素運動補償、多幀預測等,以上特性可以保證利用更低的碼流,實現更好的圖像質量。去塊濾波器:H.264定義了自適應去除效應的濾波器,這可以處理預測環路中的水平和垂直塊邊緣,大大減少了“方塊效應”。
整數變換:H.264使用了基于4X4像素塊的類似于DCT的變換,但使用的是以整數為基礎的空間變換,整數DCT變換還具有減少運算量和復雜度、有利于向定點DSP移植的優點。
量化:H.264可選32種不同的量化步長,步長以12.5%的復合率遞進。
熵編碼:H.264視頻編碼處理的步就是熵編碼,在H.264中采用了兩種不同的熵編碼方法——通用可變長編碼(UVLC)和基于文本的自適應二進制算術編碼(CABAC)。
H.264在視頻監控中的應用
H.264是目前的視頻編碼技術,在同樣的監控安裝圖像質量前提下,其碼流是MPEG-4的一半還不到,可以大量節省存儲空間及帶寬占用,這點對于有大量視頻傳輸及存儲需求的網絡視頻監控系統是至關重要的。H.264的高效編碼是以更加復雜的算法為代價的,H.264采用*的幀間預測模式,包括復雜的運動估計、1/2和1/4像素預測;*的幀內預測模式,包括多達13種幀內預測模式;H.264引進全新的環路濾波技術,對監控安裝圖像質量提高大有幫助。在H.264中,應用上述的新技術均需要大量的運算處理資源,對視頻編解碼處理平臺(主要是CPU及多媒體芯片)也提出了更高的速度要求。
任何行業都需要標準,視頻監控安裝行業也一樣。H.264算法是目前*、主流、有前景的視頻編碼算法,但是未來需要各個視頻監控安裝廠家共同努力,克服目前沒有標準、自成標準、多個標準的情況,做到標準編碼,通用解碼,這對于大型聯網視頻監控系統非常重要。
H.265技術說明
H.265是ITU-T VCEG 繼H.264之后所制定的新的視頻編碼標準。H.265標準圍繞著現有的視頻編碼標準H.264,保留原來的某些技術,同時對一些相關的技術加以改進。新技術使用*的技術用以改善碼流、編碼質量、延時和算法復雜度之間的關系,達到化設置。具體的研究內容包括:提高壓縮效率、提高魯棒性和錯誤恢復能力、減少實時的時延、減少信道獲取時間和隨機接入時延、降低復雜度等。H264由于算法優化,可以低于1Mbps的速度實現標清數字監控安裝圖像傳送;H265則可以實現利用1~2Mbps的傳輸速度傳送720P(分辨率1280*720)普通高清音視頻傳送。
傳輸碼率
H.263可以2~4Mbps的傳輸速度實現標準清晰度廣播級數字電視(符合CCIR601、CCIR656標準要求的720*576);而H.264由于算法優化,可以低于2Mbps的速度實現標清數字監控安裝圖像傳送;H.265 High Profile 可實現低于1.5Mbps的傳輸帶寬下,實現1080p全高清視頻傳輸。除了在編解碼效率上的提升外,在對網絡的適應性方面H.265也有顯著提升,可很好運行在Internet等復雜網絡條件下。
性能提升
在運動預測方面,下一代算法將不再沿襲“宏塊”的畫面分割方法,而可能采用面向對象的方法,直接辨別監控安裝畫面中的運動主體。在變換方面,下一代算法可能不再沿襲基于傅立葉變換的算法族,有很多文章在討論,其中提請大家注意所謂的“超完備變換”,主要特點是:其MxN的變換矩陣中,M大于N,甚至遠大于N,變換后得到的向量雖然比較大,但其中的0元素很多,經過后面的熵編碼壓縮后,就能得到壓縮率較高的信息流。
關于運算量,H.264的壓縮效率比MPEG-2提高了1倍多,其代價是計算量提高了至少4倍,導致高清編碼需要100GOPS的峰值計算能力。盡管如此,仍有可能使用2013年的主流IC工藝和普通設計技術,設計出達到上述能力的專用硬件電路,且使其批量生產成本維持在原有水平。5年(或許更久)以后,新的技術被接受為標準,其壓縮效率應該比H.264至少提高1倍,估計對于計算量的需求仍然會增加4倍以上。隨著半導體技術的快速進步,相信屆時實現新技術的專用芯片的批量生產成本應該不會有顯著提高。因此,500GOPS,或許是新一代技術對于計算能力的需求上限。
優勢
H.265/HEVC的編碼架構大致上和H.264/AVC的架構相似,主要也包含,幀內預測(intra prediction)、幀間預測(inter prediction)、轉換 (transform)、量化(quantization)、去區塊濾波器(deblocking filter)、熵編碼(entropy coding)等模塊,但在HEVC編碼架構中,整體被分為了三個基本單位,分別是:編碼單位(coding unit,CU)、預測單位(predict unit,PU) 和轉換單位(transform unit,TU )。
比起H.264/AVC,H.265/HEVC提供了更多不同的工具來降低碼率,以編碼單位來說,H.264中每個宏塊(macroblock/MB)大小都是固定的16x16像素,而H.265的編碼單位可以選擇從最小的8x8到的64x64。
視頻編解碼技術應用
在網絡視頻監控系統中,視頻編解碼技術是前提,正是視頻編解碼技術的不斷發展,促成網絡視頻監控技術逐步走向成熟應用。網絡視頻監控系統應用中,視頻編碼技術主要應用在編碼器、DVR及IP攝像機上,視頻編碼可以基于硬件或軟件,但其實質都是如本章介紹的各種視頻編碼算法的具體應用,而解碼技術主要應用在硬件解碼及PC客戶端軟件上,是視頻編碼過程的逆向過程。視頻編碼技術是一門復雜的信息科學,在實現過程中,需要大量的復雜的算法、變換過程及參數配置,而視頻編碼技術在網絡視頻監控系統應用中,通常還需要考慮成本、效果、效率等多種因素,對編碼實用性及適用性要求較高。
視頻編碼技術在網絡視頻監控安裝應用中主要是一個成本平衡問題。我們采用視頻編碼技術的出發點是利用芯片及算法,對數據進行壓縮,然后進行傳輸和存儲,而后在需要的時候,再進行解碼顯示。因此,在帶寬成本和存儲成本下降的同時是以視頻編碼芯片及算法成本的增加為代價的,我們或者可以說,目前是帶寬成本及存儲成本與芯片及算法成本相差懸殊,所以在極力進行算法的改進和芯片的升級。幻想將來有一天,帶寬資源極大豐富,存儲設備都是“白菜價”,那我們就可以不必再煞費苦心地研究算法及優化工作。
視頻編碼參數配置
在視頻編碼器或DVR中,通常,通過客戶端界面,可以進行視頻編碼壓縮參數的調整,以適用不同的環境需求,地發揮其效能。常見的參數配置包括編碼壓縮算法、GOP尺寸大小、GOP類型、碼流大小、幀率、分辨率等,這些參數的調整主要與網絡帶寬、網絡延遲及抖動情況、存儲帶寬、存儲空間大小等因素有關,需要根據具體情況進行調整。
壓縮算法:主要指MPEG-4、H.264等,同一個算法下還有不同的類型,如MPEG-4的基本算法及高級算法略有不同。
GOP尺寸:指在編碼序列多少個幀里面出現一個I幀,通常可以在10~60之間進行設定,如GOP是IBBPBBPBBBBI,則GOP尺寸是12,通常認為GOP尺寸越長,監控安裝圖像壓縮效率越高,也即在同碼流、同編碼格式的前提下圖像監控安裝質量越好。但這也不是的,通常需要綜合考慮多種因素。
GOP類型:指GOP中B、P幀的分布及數量,在GOP中B幀越多,編碼延時越長,但是編碼壓縮率更高(B幀數據量更少)。
幀率:每秒鐘幀的數量,如PAL制式下25幀/秒代表實時。幀率越高,碼流越大。
分辨率:每幀監控安裝圖像像素數量,如4CIF(704X576)、CIF(352X288)等。相同幀率下,分辨率越高,需要的碼流就越大,但監控安裝圖像信息越豐富。
視頻編碼傳輸
傳輸協議說明
實時傳輸協議RTP是在網絡上處理多媒體數據流的一種網絡協議,它能夠在單播及多播的網絡環境中實現流媒體數據的實時傳輸。RTP通常使用UDP來進行多媒體數據的傳輸,RTP協議的設計目的是提供實時數據傳輸中的時間戳信息以及各數據流的同步功能。RTP本身并不能為按序傳輸數據包踢狗可靠的保證,也不提供流量控制和擁塞控制,這些都由實時傳輸控制協議RTCP來負責完成。通常RTCP會采用與RTP相同的分發機制,向會話中的所有成員周期性地發送控制信息,應用程序通過接收這些數據,從中獲取相關資料,從而對服務質量進行控制或者對網絡狀況進行診斷。
傳輸模型介紹
當發送端(編碼器端)收到編碼壓縮的碼流后,按照RTP數據傳輸協議的報文格式裝入RTP報文的數據負載段,并配置RTP報文頭部的時間戳、同步信息等參數,之后再封裝上UDP報頭和IP報頭,然后IP數據包通過網絡向接收端發送;接收端收到IP包后先分析RTP包頭,判斷版本、長度等信息,更新緩沖區的RTp信息(如收到的字節數、視頻幀數、包數等信息),再按照RTP時間戳和包序列號等進行信源同步,整理RTP包順序,重構視頻幀,最后根據負載類型標識進行解碼,將數據放入緩存供解碼輸出。期間接收端周期性回送包含QoS反饋控制信息的RTCP包到數據發送端實現質量控制。