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