??? H.264是一個需要許可證才能使用的開放標(biāo)準(zhǔn),可支持最當(dāng)今市場上最高效的視頻壓縮技.?H.264是最新的視頻壓縮標(biāo)準(zhǔn),它也稱為MPEG-4Part10或AVC(高級視頻編碼)。據(jù)預(yù)測,在未來幾年內(nèi)H.264將成為行業(yè)首選的視頻標(biāo)準(zhǔn) 在不影響圖像質(zhì)量的情況下,與采用M-JPEG和MPEG-4Part2標(biāo)準(zhǔn)相比,H.264編碼器可使數(shù)字視頻文件的大小分別減少80%和50%以上。這意味著視頻文件所需的網(wǎng)絡(luò)帶寬和存儲空間將大大降低。或者從另一個角度來說,在某一特定比特率下,視頻圖像質(zhì)量將得到顯著提高。
??? H.264由電信和IT行業(yè)的標(biāo)準(zhǔn)化組織聯(lián)合制定,與先前標(biāo)準(zhǔn)相比,H.264有望得到更廣泛的應(yīng)用。
??? H.264已經(jīng)應(yīng)用于手機(jī)和數(shù)字視頻播放器等新一代電子產(chǎn)品中,并且迅速獲得廣大最終用戶的青睞。在線視頻存儲公司和電信公司等服務(wù)提供商也開始采用H.264標(biāo)準(zhǔn)。
??? 在視頻監(jiān)控行業(yè),H.264將很可能以最快速度應(yīng)用于那些需要高幀速和高分辨率的監(jiān)控場所,例如高速公路、機(jī)場和娛樂場所等。對于這些監(jiān)控場所而言,使用30/25fps(NTSC/PAL)的幀速已經(jīng)成為一種通行的標(biāo)準(zhǔn)。然而,由于H.264能夠減少帶寬和存儲需求,具有顯著的經(jīng)濟(jì)性,因此可以幫助企業(yè)最大限度節(jié)省成本。
??? 此外,由于H.264這種極其高效的壓縮技術(shù)能夠在不影響圖像質(zhì)量的前提下,對大文件進(jìn)行大比例壓縮并降低比特率,因此有望提高百萬像素?cái)z像機(jī)的普及速度。然而,事物都有其兩面性。雖然H.264能夠節(jié)省網(wǎng)絡(luò)帶寬和存儲成本,然而它卻對網(wǎng)絡(luò)攝像機(jī)和顯示終端提出了更高的性能要求。
2.H.264的發(fā)展
??? H.264是ITU-T的視頻編碼專家組(VCEG)和ISO/IEC運(yùn)動圖像專家組(MPEG)聯(lián)合制定的新一代視頻壓縮標(biāo)準(zhǔn)。ITU-T是一個代表國際電信聯(lián)盟協(xié)調(diào)制定電信標(biāo)準(zhǔn)的部門。ISO是指國際標(biāo)準(zhǔn)化組織。IEC是指國際電工委員會,負(fù)責(zé)制定所有電子、電氣和相關(guān)技術(shù)的標(biāo)準(zhǔn)。H.264是ITU-T所使用的名稱,而ISO/IEC將其命名為MPEG-4Part10/AVC,因?yàn)樗淼氖荕PEG-4系列標(biāo)準(zhǔn)中的一個新標(biāo)準(zhǔn)。MPEG-4系列標(biāo)準(zhǔn)包括了MPEG-4Part2等標(biāo)準(zhǔn),MPEG-4Part2是一個應(yīng)用于基于IP的視頻編碼器和網(wǎng)絡(luò)攝像機(jī)的標(biāo)準(zhǔn)。
為了解決先前視頻壓縮標(biāo)準(zhǔn)中存在的不足,H.264的目標(biāo)是支持:
??? 高效壓縮,在某一特定的視頻質(zhì)量下,與采用任何其它視頻標(biāo)準(zhǔn)相比,可以使比特率平均降低50%。
??? 更強(qiáng)大的容錯能力,能夠糾正各種網(wǎng)絡(luò)的傳輸錯誤
??? 低時延功能,并能夠在更高時延的情況下提供更高質(zhì)量的圖像
??? 通過簡單的句法規(guī)范簡化實(shí)施
??? 精確匹配解碼,嚴(yán)格規(guī)定了編碼器和解碼器如何進(jìn)行數(shù)值計(jì)算,以避免錯誤累積
??? 此外,H.264還能夠靈活地支持有著不同比特率要求的各種監(jiān)控應(yīng)用。例如,在娛樂視頻應(yīng)用(包括廣播、衛(wèi)星電視、有線電視和DVD)中,H.264能夠以高時延實(shí)現(xiàn)1-10Mbit/秒的性能。而對于電信服務(wù)來說,H.264能夠以低時延實(shí)現(xiàn)低于1Mbit/秒的比特率。
3.視頻壓縮的工作原理
??? 視頻壓縮通過減少和去除冗余視頻數(shù)據(jù)的方式,達(dá)到有效發(fā)送和存儲數(shù)字視頻文件的目的。在壓縮過程中,需要應(yīng)用壓縮算法對源視頻進(jìn)行壓縮以創(chuàng)建壓縮文件,以便進(jìn)行傳輸和存儲。要想播放壓縮文件,則需要應(yīng)用相反的解壓縮算法對視頻進(jìn)行還原,還原后的視頻內(nèi)容與原始的源視頻內(nèi)容幾乎完全相同。壓縮、發(fā)送、解壓縮和顯示文件所需的時間稱為延時。在相同處理能力下,壓縮算法越高級,延時就越長。
視頻編解碼器(編碼器/解碼器)是指兩個協(xié)同運(yùn)行的壓縮-解壓算法。使用不同標(biāo)準(zhǔn)的視頻編解碼器通常彼此之間互不兼容;也就是說,使用一種標(biāo)準(zhǔn)進(jìn)行壓縮的視頻內(nèi)容無法使用另外一種標(biāo)準(zhǔn)進(jìn)行解壓縮。例如,MPEG-4Part2解碼器就不能與H.264編碼器協(xié)同運(yùn)行。這是因?yàn)橐环N算法無法正確地對另外一個算法的輸出信號進(jìn)行解碼,然而我們可以在同一軟件或硬件中使用多種不同的算法,以支持對多種格式的文件進(jìn)行壓縮。
??? 由于不同的視頻壓縮標(biāo)準(zhǔn)會使用不同的方法來減少數(shù)據(jù)量,因此壓縮結(jié)果在比特率、質(zhì)量和延時方面也各不相同。
??? 此外,由于編碼器的設(shè)計(jì)者可能會選擇使用某個標(biāo)準(zhǔn)所定義的不同工具集,因此,即使是使用相同壓縮標(biāo)準(zhǔn)的編碼器之間,其壓縮結(jié)果也可能會存在差異。不過,只要編碼器的輸出信號符合標(biāo)準(zhǔn)的格式以及解碼器的要求,就可以采用不同的實(shí)施方式。這是非常有利的,因?yàn)椴煌膶?shí)施方式可實(shí)現(xiàn)不同的目標(biāo),滿足不同的預(yù)算要求。對用于管理光介質(zhì)存儲的非實(shí)時專業(yè)軟件編碼器來說,應(yīng)該能夠比用于視頻會議的集成在手持設(shè)備中的實(shí)時硬件編碼器提供質(zhì)量更高的編碼視頻。因此,即使是某個指定的標(biāo)準(zhǔn)也無法保證提供指定的比特率或質(zhì)量。而且,如果不事先確定實(shí)施方式,一個標(biāo)準(zhǔn)就無法與其它標(biāo)準(zhǔn)進(jìn)行正確的性能對比,甚至也無法與同一標(biāo)準(zhǔn)的其它實(shí)施方式進(jìn)行正確的性能對比。
??? 與編碼器不同,解碼器必須實(shí)施某個標(biāo)準(zhǔn)的所有必需部分,才能對符合標(biāo)準(zhǔn)的比特流進(jìn)行解碼。這是因?yàn)闃?biāo)準(zhǔn)中明確規(guī)定了解壓縮算法應(yīng)如何對壓縮視頻的每個比特進(jìn)行還原。
??? 下圖是在相同圖像質(zhì)量水平下,采用下列視頻標(biāo)準(zhǔn)的比特率對比:M-JPEG,MPEG-4Part2(無運(yùn)動補(bǔ)償)、MPEG-4Part2(有運(yùn)動補(bǔ)償)和H.264(基準(zhǔn)類)。
圖1.對于視頻序列樣本來說,使用H.264編碼器能夠比使用有運(yùn)動補(bǔ)償?shù)腗PEG-4編碼器降低50%的比特率(bps)。在沒有運(yùn)動補(bǔ)償?shù)那闆r下,H.264編碼器的效率至少比MPEG-4編碼器高3倍,比M-JPEG編碼器高6倍。
????
4.H.264類別和等級
??? 參與制定H.264標(biāo)準(zhǔn)的聯(lián)合組織致力于創(chuàng)建一個簡單明了的解決方案,最大限度地限制選項(xiàng)和特性的數(shù)量。和其它視頻標(biāo)準(zhǔn)一樣,H.264標(biāo)準(zhǔn)的一個重要方面是通過類別(算法特性集)和等級(性能等級)中提供的功能,以最佳的方式支持常見應(yīng)用和通用格式。
??? H.264有7個類別,每個類別都針對某一類特定的應(yīng)用。此外,每個類別都定義了編碼器能夠使用哪些特性集,并限制了解碼器在實(shí)施方面的復(fù)雜性。
??? 網(wǎng)絡(luò)攝像機(jī)和視頻編碼器最有可能使用的是基準(zhǔn)類別,此類別主要針對計(jì)算資源有限的應(yīng)用。對于嵌入在網(wǎng)絡(luò)視頻產(chǎn)品中的實(shí)時編碼器來說,在特定的可用性能下,基準(zhǔn)類別最為適用。此類別能夠?qū)崿F(xiàn)低延時,這對監(jiān)控視頻來說是一個很重要的要求,而且對于支持PTZ網(wǎng)絡(luò)攝像機(jī)實(shí)現(xiàn)實(shí)時的平移/傾斜/縮放(PTZ)控制來說尤為重要。
??? H.264分為11個功能等級,對性能、帶寬和內(nèi)存需求進(jìn)行了限制。每個等級都規(guī)定了從QCIF到HDTV等各種分辨率所對應(yīng)的比特率和編碼速率(每秒宏塊數(shù))。分辨率越高,要求的等級就越高。
5.幀的基本知識
??? 根據(jù)H.264的不同類別,編碼器會使用不同類型的幀,例如I幀、P幀和B幀。
??? I幀(幀內(nèi)編碼幀)是一種自帶全部信息的獨(dú)立幀,無需參考其它圖像便可獨(dú)立進(jìn)行解碼。視頻序列中的第一個幀始終都是I幀。如果所傳輸?shù)谋忍亓髟獾狡茐模瑒t需要將I幀用作新查看器的起始點(diǎn)或重新同步點(diǎn)。I幀可以用來實(shí)現(xiàn)快進(jìn)、快退以及其它隨機(jī)訪問功能。如果新的客戶端將參與查看視頻流,編碼器將以相同的時間間隔或者根據(jù)要求自動插入I幀。I幀的缺點(diǎn)在于它們會占用更多的數(shù)據(jù)位,但從另一方面看,I幀不會產(chǎn)生可覺察的模糊現(xiàn)象。
??? P幀(幀間預(yù)測編碼幀)需要參考前面的I幀和/或P幀的不同部分才能進(jìn)行編碼。與I幀相比,P幀通常占用更少的數(shù)據(jù)位,但其缺點(diǎn)是,由于P幀對前面的P和I參考幀有著復(fù)雜的依賴性,因此對傳輸錯誤非常敏感。
??? B幀(雙向預(yù)測編碼幀)需要同時以前面的幀和后面的幀作為參考幀。
圖2.帶有I幀、B幀和P幀的典型視頻序列。P幀只需要參考前面的I幀或P幀,而B幀則需要同時參考前面和后面的I幀或P幀。
??? 當(dāng)視頻解碼器逐個幀地對比特流進(jìn)行解碼以便重構(gòu)視頻時,必須始終從I幀開始解碼。如果使用了P幀和B幀,則必須與參考幀一起解碼。
??? 在H.264基準(zhǔn)類中,僅使用I幀和P幀。由于基準(zhǔn)類沒有使用B幀,所以可以實(shí)現(xiàn)低延時,因此是網(wǎng)絡(luò)攝像機(jī)和視頻編碼器的理想選擇。
6.減少數(shù)據(jù)量的基本方法
??? 可以通過各種方法在一個圖像幀內(nèi)或者在一系列幀之間減少視頻數(shù)據(jù)量。
??? 在某個圖像幀內(nèi),只需要刪除不必要的信息就可以減少數(shù)據(jù)量,但這樣做會導(dǎo)致圖像的分辨率下降。
??? 在一系列的幀內(nèi),可以通過差分編碼這樣的方法來減少視頻數(shù)據(jù)量,包括H.264在內(nèi)的大多數(shù)視頻壓縮標(biāo)準(zhǔn)都采用這種方法。在差分編碼中,會將一個幀與參考幀(即前面的I幀或P幀)進(jìn)行對比,然后只對那些相對于參考幀來說發(fā)生了變化的像素進(jìn)行編碼。通過這種方法,可以降低需要進(jìn)行編碼和發(fā)送的像素值。
??圖3.對M-JPEG格式來說,上述序列中的三個圖像分別作為獨(dú)立的圖像(I幀)進(jìn)行編碼和發(fā)送,彼此之間互不依賴。
圖4.對差分編碼(包括H.264在內(nèi)的大多數(shù)視頻壓縮標(biāo)準(zhǔn)都采用這種方法)來說,只有第一個圖像(I幀)是將全幀圖像信息進(jìn)行編碼。
??? 如果是根據(jù)像素塊(宏塊)而不是單個的像素來檢測差別并進(jìn)行差分編碼,還可以進(jìn)一步減少需要編碼的信息量;因此,可以對更大的區(qū)域進(jìn)行對比,而只需對那些存在重大差別的塊進(jìn)行編碼。此外,對發(fā)生更改的區(qū)域位置進(jìn)行標(biāo)記的相關(guān)開銷也將大大降低。
??? 然而,如果視頻中存在大量物體運(yùn)動的話,差分編碼將無法顯著減少數(shù)據(jù)量。這時,可以采用基于塊的運(yùn)動補(bǔ)償技術(shù)。基于塊的運(yùn)動補(bǔ)償考慮到視頻序列中構(gòu)成新幀的大量信息都可以在前面的幀中找到,但可能會在不同的位置上。所以,這種技術(shù)將一個幀分為一系列的宏塊。然后,通過在參考幀中查找匹配塊的方式,逐塊地構(gòu)建或者“預(yù)測”一個新幀(例如P幀)。如果發(fā)現(xiàn)匹配的塊,編碼器只需要對參考幀中發(fā)現(xiàn)匹配塊的位置進(jìn)行編碼。與對塊的實(shí)際內(nèi)容進(jìn)行編碼相比,只對運(yùn)動矢量進(jìn)行編碼可以減少所占用的數(shù)據(jù)位。
7.H.264的效率
??? H.264將視頻壓縮技術(shù)提升到一個新的高度。在H.264中,將通過新的高級幀內(nèi)預(yù)測方法對I幀進(jìn)行編碼。這種方法通過對幀中每個宏塊內(nèi)較小的像素塊進(jìn)行連續(xù)預(yù)測,可以大大減少I幀所占的數(shù)據(jù)位并保持較高的質(zhì)量。這一點(diǎn)可通過在與進(jìn)行幀內(nèi)編碼的新4×4像素塊相鄰接的前幾個編碼像素中,尋找匹配的像素來實(shí)現(xiàn)。通過重復(fù)利用已編碼的像素值,可以極大地減少需要編碼的位數(shù)。新的幀內(nèi)預(yù)測功能是H.264技術(shù)的關(guān)鍵部分,實(shí)驗(yàn)證明,這種方法非常有效。與只使用I幀的M-JPEG視頻流相比,只使用I幀的H.264視頻流的文件大小要小得多。
??? 測方法的效率圖示。通過這種方法,幀內(nèi)預(yù)測圖像將“免費(fèi)”發(fā)送。只需對殘留圖像和幀內(nèi)預(yù)測模式進(jìn)行編碼,就可以生成輸出圖像。
??? 對P幀和B幀進(jìn)行編碼時所采用的基于塊的運(yùn)動補(bǔ)償,在H.264中也得到了改進(jìn)。H.264編碼器可以在一個或多個參考幀的少數(shù)或眾多區(qū)域內(nèi),以低至子像素的精度搜索匹配的塊。為了提高匹配率,可以對塊的大小和形狀進(jìn)行調(diào)整。在參考幀中,對于找不到匹配塊的區(qū)域,將會使用幀內(nèi)編碼的宏塊。H.264基于塊的運(yùn)動補(bǔ)償具有高度的靈活性,非常適合人群比較擁擠的監(jiān)控場所,因?yàn)樗軌虮WC較高的質(zhì)量,以滿足嚴(yán)格的應(yīng)用要求。運(yùn)動補(bǔ)償是視頻編碼器要求最嚴(yán)格的一個方面,H.264編碼器實(shí)施運(yùn)動補(bǔ)償?shù)牟煌绞揭约捌鋵?shí)施程度,將會影響視頻壓縮的效率。
??? 對于H.264,通過使用環(huán)內(nèi)去塊效應(yīng)濾波器,可以減少在使用M-JPEG和MPEG標(biāo)準(zhǔn)(而不是H.264標(biāo)準(zhǔn))的高度壓縮視頻中通常出現(xiàn)的圖像模糊現(xiàn)象。此過濾器能夠通過自適應(yīng)強(qiáng)度使塊邊緣變得平滑,從而確保輸出幾乎完美無缺的解壓縮視頻。
圖7.從右邊的圖中我們可以看到,在應(yīng)用了去塊效應(yīng)濾波器之后,左圖中高度壓縮圖像的塊狀效應(yīng)已經(jīng)大大降低。
??? H.264代表著視頻壓縮技術(shù)的一個重大飛躍。由于該技術(shù)具有更精確的預(yù)測能力和更高的容錯能力,因此可實(shí)現(xiàn)更高的壓縮效率。它將有可能推動視頻編碼器進(jìn)一步向前發(fā)展,從而能夠在同樣的比特率下提供更高質(zhì)量的視頻流、更高的幀速以及更高的分辨率(與先前的標(biāo)準(zhǔn)相比);或者反過來說,能夠在同樣的視頻質(zhì)量下降低比特率。
??? H.264是ITU、ISO和IEC首次在視頻壓縮方面聯(lián)合制定的一個通用國際標(biāo)準(zhǔn)。由于其具有高度的靈活性,H.264已廣泛應(yīng)用于各種領(lǐng)域中,例如:高清DVD(例如藍(lán)光)、數(shù)字視頻廣播(包括高清TV)、在線視頻存儲(例如YouTube)、3G移動電話、軟件(例如QuickTime、Flash和蘋果計(jì)算機(jī)公司的MacOSX操作系統(tǒng)等),以及家用電視游戲機(jī)(例如PlayStation3等)。在眾多行業(yè)的支持下,以及在為滿足個人消費(fèi)者和專業(yè)用戶需求的應(yīng)用的推動下,H.264有望取代當(dāng)今市場中使用的其它壓縮標(biāo)準(zhǔn)和方法。
??? 隨著H.264格式更加廣泛地應(yīng)用于網(wǎng)絡(luò)攝像機(jī)、視頻編碼器和視頻管理軟件,系統(tǒng)設(shè)計(jì)商和集成商將需要確保他們所選擇的產(chǎn)品和廠商能夠支持這一全新的開放標(biāo)準(zhǔn)。就目前來說,能夠同時支持H.264和M-JPEG的網(wǎng)絡(luò)視頻產(chǎn)品具有最高的靈活性和集成能力,因此是用戶的理想選擇。
評論
查看更多