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