7.H.264的效率
H.264將視頻壓縮技術提升到一個新的高度。在H.264中,將通過新的高級幀內預測方法對I幀進行編碼。這種方法通過對幀中每個宏塊內較小的像素塊進行連續預測,可以大大減少I幀所占的數據位并保持較高的質量。這一點可通過在與進行幀內編碼的新4×4像素塊相鄰接的前幾個編碼像素中,尋找匹配的像素來實現。通過重復利用已編碼的像素值,可以極大地減少需要編碼的位數。新的幀內預測功能是H.264技術的關鍵部分,實驗證明,這種方法非常有效。與只使用I幀的M-JPEG視頻流相比,只使用I幀的H.264視頻流的文件大小要小得多。
圖6.在由16個像素塊構成的宏塊中,對其中1個像素塊內的4×4像素進行編碼時,幀內預測所采用的幾種模式的圖示。在宏塊的16個像素塊中,每個像素塊都可以使用不同的模式進行編碼。
上圖文字:
In this mode, four bottom pixels from the block above are copied vertically into part of an intra-coded macroblock. | 在這種模式中,上方像素塊中的四個底部像素被垂直拷貝至經過幀內編碼的宏塊中。 |
In this mode, four right-most pixels from the block to the left are copied horizontally into part of an intra-coded macroblock. | 在這種模式中,左邊像素塊中的最右側四個像素被水平拷貝至經過幀內編碼的宏塊中。 |
In this mode, eight bottom pixels from the blocks above are copied diagonally into part of an intra-coded macroblock. | 在這種模式中,上方像素塊中的八個底部像素被沿對角線方向拷貝至經過幀內編碼的宏塊中。 |
圖7.以上是H.264幀內預測方法的效率圖示。通過這種方法,幀內預測圖像將“免費”發送。只需對殘留圖像和幀內預測模式進行編碼,就可以生成輸出圖像。
對P幀和B幀進行編碼時所采用的基于塊的運動補償,在H.264中也得到了改進。H.264編碼器可以在一個或多個參考幀的少數或眾多區域內,以低至子像素的精度搜索匹配的塊。為了提高匹配率,可以對塊的大小和形狀進行調整。在參考幀中,對于找不到匹配塊的區域,將會使用幀內編碼的宏塊。H.264基于塊的運動補償具有高度的靈活性,非常適合人群比較擁擠的監控場所,因為它能夠保證較高的質量,以滿足嚴格的應用要求。運動補償是視頻編碼器要求最嚴格的一個方面,H.264編碼器實施運動補償的不同方式以及其實施程度,將會影響視頻壓縮的效率。
對于H.264,通過使用環內去塊效應濾波器,可以減少在使用M-JPEG和MPEG標準(而不是H.264標準)的高度壓縮視頻中通常出現的圖像模糊現象。此過濾器能夠通過自適應強度使塊邊緣變得平滑,從而確保輸出幾乎完美無缺的解壓縮視頻。
圖8.從右邊的圖中我們可以看到,在應用了去塊效應濾波器之后,左圖中高度壓縮圖像的塊狀效應已經大大降低。