文章轉自:http://www.cnblogs.com/CoderTian/p/8088153.htmlhtml
1.預測編碼
一幅圖像由許多個像素點組成,大量的統計代表,同一副圖像中像素之間具備較強的相關性。兩個像素之間的距離越短,則其相關性越強。即兩個像素的值越接近。因而,人們能夠利用這種像素間的相關性進行壓縮編碼
例如,當前像素爲X,可用a、b或c,或者三者的線性加權來預測。這些a、b、c被稱爲參考像素。在實際傳送時,把實際像素X(當前值)和參考像素(預測值)相減。簡單起見傳送X-a,到了接收端再把(X - a) +a = X,因爲a是已經傳送的(在接收端被存儲),因而獲得當前值。因爲X與a類似,X-a值很小,視頻信號被壓縮,
這種壓縮方式稱爲幀內預測編碼。不只如此,還能夠用圖1.3所示的幀間相關性進行壓縮編碼。因爲臨近幀之間的相關性通常比幀內像素間的相關性更強,壓縮比也更大。因而可知,利用像素之間(幀內)的相關性和幀間的相關性,即找到相應的參考像素或參考幀做爲預測值,能夠實現視頻壓縮編碼。
2.變換編碼
大量統計代表,
視頻信號中包含着能量上佔大部分的直流和低頻成分,即圖像的平坦部分,也有少許的高頻成分,即圖像的細節。所以,能夠用另外一種方法進行視頻編碼,將圖像通過某種數學變換後,獲得變換域中的圖像
其中u、v分別是空間頻率座標,用'o'表示的低頻和直流佔圖像能量中的大部分,而高頻成分(用'X'表示)則是少許的,因而可用較少的碼錶示直流低頻和高頻而'O'則沒必要用碼,結果完成了壓縮編碼。編碼
3.視頻編碼系統結構
視頻編碼方法與可採用的信源模型有關。若是採用「一幅圖像由許多像素構成」的信源模型,這種信源模型的參數就是每一個像素的亮度和色度的幅度值。對這些參數進行壓縮編碼技術稱爲
基於波形的編碼。若是採用一個份量有幾個物體構成的信源模型,這種信源模型的參數就是各個物體的形狀、紋理和運動。對這些參數進行壓縮編碼的技術被稱爲基於內容的編碼。因而可知,根據採用信源模型,視頻編碼能夠分爲兩大類,基於波形的編碼和基於內容的編碼。它們利用不一樣的壓縮編碼方法,獲得相應的量化前的參數;再對這些參數進行量化,用二進制碼錶示其量化值;最後,進行無損熵編碼進一步提升碼率。解碼則爲編碼的逆過程。
4.基於波形的編碼
利用
像素間的空間相關性和幀間的時間相關性,採用預測編碼和變換編碼技術可大大減小視頻信號的相關性,從而顯著下降視頻序列的碼率,實現壓縮編碼的目標。基於波形的編碼採用了把預測編碼和變換編碼組合起來的基於塊的混合編碼方法。爲了減小編碼的複雜性,使視頻編碼操做易於執行,採用混合編碼方法時,首先把一幅圖像分紅固定大小的塊,例如塊 8×8(即每塊 8 行,每行 8 個像素)、塊 16×16(每塊 16 行,每行 16 個像素)等等,而後對塊進行壓縮編碼處理。H.264編碼採用了基於塊的混合編碼法,屬於基於波形的編碼。
5.基於內容的編碼
基於塊的編碼易於操做,但因爲人爲地把一幅圖像劃分紅許多固定大小的塊,當包含邊界的塊屬於不一樣物體時,它們分別具備不一樣的運動,便不能用同一個運動矢量表示該邊界塊的運動狀態。若是強制劃分紅固定大小的塊,這種邊界塊必然會產生高的預測偏差和失真,嚴重影響了壓縮編碼信號的質量。因而產生了基於內容的編碼技術。這時
先把視頻幀分紅對應於不一樣物體的區域,而後對其編碼。具體說來,即對不一樣物體的形狀、運動和紋理進行編碼。在最簡單狀況下,利用二維輪廓描述物體的形狀;利用運動矢量描述其運動狀態;而紋理則用顏色的波形進行描述。當視頻序列中的物體種類已知時,可採用基於知識或基於模型的編碼。例如,對人的臉部,已開發了一些預約義的線框對臉的特徵進行編碼,這時編碼效率很高,只需少數比特就能描述其特徵。對於人臉的表情(如生氣、高興等),可能的行爲可用語義編碼,因爲物體可能的行爲數目很是小,可得到很是高的編碼效率。MPEG-4 採用的編碼方法就既基於塊的混合編碼,又有基於內容的編碼方法。
6.三維(立體)視頻編碼
立體視頻編碼是視頻編碼的發展方向之一,其平面信息外增長了深度信息,數據量很是龐大。spa
立體視頻編碼也有兩種類型的方法:第一種是基於波形的,它組合運動補償預測和位差補償預測。所謂位差估計即在兩幅不一樣圖像中尋找對應的點。它對預測殘差圖像、位差和運動矢量進行編碼;第二種是基於物體的,它直接對成像物體的三維結構和運動進行編碼。當物體結構簡單時,可得到很是高的壓縮比。視頻