【安防知識網】現(xiàn)行國際視頻編碼標準
近年來,視頻編碼技術得到了迅速發(fā)展和廣泛應用,并且日臻成熟,其標志是多個關于視頻編碼的國際標準的制定。其可分為兩大系列:即國際標準化組織(ISO)和國際電工委員會(IEC)的運動圖像專家組MPEG(Motion Picture Expert Group)關于活動圖像的編碼標準MPEG系列,以及國際電信聯(lián)盟(ITU)的視頻編碼專家組VCEG(Video Coding Expert Group)制定的視頻編碼標準H.26X系列。
MPEG4/H.264/AVC標準
MPEG4/H.264/AVC是一種有損壓縮,以處理后的圖像無限接近和還原真實圖像為目標。MPEG4/H.264/AVC對編解碼器如何實現(xiàn)并沒有明確規(guī)定,而是規(guī)定編碼視頻比特流的句法和該比特流的解碼方法。這種技術,使得各個廠商的編碼器和解碼器在此框架下應能夠互通,在實現(xiàn)上具有較大靈活性,而且有利于相互競爭。
從圖1和圖2可以看出,MPEG4/H.264/AVC和以前標準(如H.261、H.263、MPEG-1、MPEG-4)的編解碼器功能塊組成并沒有什么區(qū)別,仍是變換和預測相結合的混合編碼法,不同點在于各功能塊的細節(jié)。
[nextpage]由圖1可見,輸入的幀或場Fn以宏塊為單位被編碼器處理。首先,判定幀是否按幀內還是幀間預測編碼方式進行預測。如果采用幀間預測,其預測值PRED(圖中用P表示)由當前序列中已編碼并解碼重建和濾波的圖像作為參考圖像(如圖1中的F'n-1),經運動補償(MC)得到。為了提高預測精度,從而提高壓縮比,實際的參考圖像可在過去或未來(指顯示次序上)的重建幀中進行選擇。參考圖像選擇的準確與否,很大程度決定了真實圖像與呈現(xiàn)圖像之間的差值大小。
預測值PRED和當前塊的相應值相減后,產生一個殘差塊Dn,經塊變換、量化后產生一組量化后的變換系數X,再經熵編碼,與解碼所需的一些信息(如預測模式量化參數、運動矢量等)一起組成一個壓縮后的碼流,經NAL(網絡自適應層)供傳輸和存儲用。
正如上述,為了提供進一步預測用的參考圖像,編碼器必須有重建圖像的功能。因此必須使殘差圖像經反量化、反變換后得到的Dn'與預測值P相加,得到uFn'(未經濾波的幀)。為了去除編碼解碼環(huán)路中產生的噪聲,提高參考幀的圖像質量和壓縮圖像性能,設置了一個環(huán)路濾波器,濾波后的輸出重建圖像Fn'可用作參考圖像。在這一步驟中,重建圖像是通過預測值來實現(xiàn)的,雖然從算法上降低了失誤性,卻進一步加大了人為改變原始圖像的因素。
由圖1可知,編碼器的NAL輸出一個壓縮比特流。該比特流在圖2中經熵解碼得到量化后的一組變換系數X,再經反量化、反變換,得到殘差Dn'。 Dn'和該解碼器產生的PRED(與編碼器產生的PRED相同)相加后,得到uFu',經濾波后,最后得Fn',F(xiàn)n'即最后的解碼輸出圖像。
JPEG標準
1991年3月ISO/IEC正式通過了靜止圖像壓縮編碼標準,稱為JPEG建議。JPEG標準分為基本系統(tǒng)、擴展系統(tǒng)和信息保持系統(tǒng)三個部分?;鞠到y(tǒng)提供對順序掃描靜止圖像的高效有損編碼,輸入圖像精度為8bit/像素。
(1)圖3為JPEG基本系統(tǒng)的編解碼器方框圖,輸入的彩色圖像為Y、U、V三個分量,JPEG對他們分別進行編碼。
(2)編碼時,先將一幀圖像分為互不重疊的8×8像素塊,接著對各塊進行DCT變換,然后對各變換系數進行線性量化。
[nextpage]量化步長Q應結合人眼視覺敏感性,亮度和色差信號的量化步長矩陣見表1和表2。
量化后系數為:
反量化后DCT系數為:
(3)熵編碼,一般采用哈夫曼(VLC)編碼。AC系數量化后為少數稀疏的值,大部分為零,采用鋸齒形(Zig-Zag)掃描,然后以游程編碼表示方式進行變長的哈夫曼編碼。
(4)數據交換格式
熵編碼后得到變長度的碼流。為便于數據的交換,JPEG規(guī)定了統(tǒng)一的壓縮后數據交換格式,如圖4所示。
第一行:SOI表示圖像數據開始;EOI為一幀圖像結束,各占兩個字節(jié)。
第二行:表/雜項中放置量化表、哈夫曼表;幀首包括編碼方法、取樣精度、量化系數、源圖像行數、每行取樣數等;DNL重新定義幀內的行數。
第三行:掃描首說明掃描起始信息、分量圖像號碼、參數、熵編碼表選擇(ECS);RST為重新開始標志。
第四行:為熵編碼區(qū),MCV為最小編碼單元,包括4個亮度塊,1個Cr塊和1個Cb塊。
[nextpage]熵編碼是無損壓縮編碼方式,它生成的碼流可以經解碼無失真地恢復出原數據。熵編碼是建立在隨機過程的統(tǒng)計特性的基礎上的。
上述可見,JPEG標準的編碼方式,是一種以DCT(Discrete Cosine Transform)為基礎的壓縮方法的壓縮格式,也稱為基線順序編解碼(Baseline Sequential Codec)方法,通過各種算式來降低圖像數據量。缺點在于壓縮量有限。這種方法的優(yōu)點是先進、有效、簡單、易于交流,因此應用廣泛。
M-JPEG標準
MJPEG全名為“Motion”JPEG,Motion JPEG技術是將來自攝像機的模擬視頻信號“翻譯”成視頻流,并存儲在硬盤上。典型的應用如數字視頻記錄器等。MJPEG不像MPEG,不使用幀間編碼,因此用一個非線性編輯器就很容易編輯。MJPEG的壓縮算法與MPEG一脈相承,功能很強大,能發(fā)送高質圖片,生成完全動畫視頻等。但相應地,MJPEG對帶寬的要求也很高,相當于T-1,MJPEG信息是存儲在數字媒體中的龐然大物,需要大量的存儲空間以滿足如今多數用戶的需求。因此從另一個角度說,在某些條件下,MJPEG也許是效率最低的編碼/解碼器之一。
兼顧碼率控制與圖像真實
視頻是利用人的視覺獲取的信息,它具有直觀性的特點,不易和其他信息相混淆,保證了信息的準確性。同時,由于視覺,可以并行地觀察圖像,因而獲取信息的效率比音頻高得多。
與此同時,視頻信號具有顯著的高帶寬特性。視頻信息的表示形式是視頻電信號,通過網絡傳送至終端用戶,并在屏幕上顯示。視頻信號所包含的信息量大,其內容可以是活動的,也可以是靜止的;可以是彩色的,也可以是黑白的;有時變化多、細節(jié)多,有時十分平坦。一般而言,視頻信號信息量大,傳輸網絡所需要的帶寬較寬。例如,一路監(jiān)控視頻信號,由于其活動內容較少,所需帶寬較窄,但要達到良好質量,不壓縮約需若干Mbps,壓縮后需要300~400Kbps??梢姡曨l信息雖然具有直觀性、確定性、高效性等優(yōu)越性能,但要傳送卻需要較高的網絡帶寬。這就是為獲得視頻信息所需付出的代價。
如上所述,視頻信號由于信息量大,傳輸網絡帶寬要求較高,就像一輛龐大的貨車只有在寬闊的馬路上才能行駛一樣,必須將視頻信號在傳送前先進行壓縮編碼,然后在網絡上進行傳送,以便節(jié)省傳送帶寬和存儲空間。
一旦采用MPEG4/H.26X系列的壓縮方式,勢必引起呈現(xiàn)圖像跟真實圖像之間的預測差,雖然呈現(xiàn)的圖像是盡可能地對真實圖像進行還原,畢竟不是完全真實的圖像。若采用M-JPEG的壓縮方式,雖然圖像質量得到了保證,但壓縮比過小,無法在現(xiàn)實網絡中使用,而無意義。
而JPEG壓縮雖是有損壓縮,但它利用的是人視覺系統(tǒng)的特性,使用量化和無損壓縮編碼相結合,來去掉視覺的冗余信息和數據本身的冗余信息。JPEG算法壓縮編碼大致分成三個步驟:
1、使用正向離散余弦變換(forward discrete cosine transform,F(xiàn)DCT)把空間域表示的圖像變換成頻率域表示的圖像。
2、使用加權函數對DCT系數進行量化,這個加權函數對于人的視覺系統(tǒng)是最佳的。
3、使用霍夫曼可變字長編碼器對量化系數進行編碼。