MPEG壓縮中的 I B P幀

2021-04-27 11:42:43 字數 1445 閱讀 6511

首先,mpeg-1壓縮的基本思想:幀內壓縮和幀間壓縮。

其次,時間相關性的統計分析:統計的結果表明,在間隔1~2幀的影象中,各畫素只有10%以下的點,其亮度差值變化超過2%,而色度差值的變化只有1%以下。

採用的壓縮方法: 分組:把幾幀影象分為一組(gop),為防止運動變化,幀數不宜取多。

1.定義幀:將每組內各幀影象定義為三種型別,即i幀、b幀和p幀;

2.**幀:以i幀做為基礎幀,以i幀**p幀,再由i幀和p幀**b幀;

3.資料傳輸:最後將i幀資料與**的差值資訊進行儲存和傳輸。

i幀:幀內編碼幀

i幀特點:

1.它是乙個全幀壓縮編碼幀。它將全幀影象資訊進行jpeg壓縮編碼及傳輸;

2.解碼時僅用i幀的資料就可重構完整影象;

3.i幀描述了影象背景和運動主體的詳情;

4.i幀不需要參考其他畫面而生成;

5.i幀是p幀和b幀的參考幀(其質量直接影響到同組中以後各幀的質量);

6.i幀是幀組gop的基礎幀(第一幀),在一組中只有乙個i幀;

7.i幀不需要考慮運動向量;

8.i幀所佔資料的資訊量比較大。

p幀:前向**編碼幀。

p幀的**與重構:p幀是以i幀為參考幀,在i幀中找出p幀「某點」的**值和運動向量,取**差值和運動向量一起傳送。在接收端根據運動向量從i幀中找出p幀「某點」的**值並與差值相加以得到p幀「某點」樣值,從而可得到完整的p幀。

p幀特點:

1.p幀是i幀後面相隔1~2幀的編碼幀;

2.p幀採用運動補償的方法傳送它與前面的i或p幀的差值及運動向量(**誤差);

3.解碼時必須將i幀中的**值與**誤差求和後才能重構完整的p幀影象;

4.p幀屬於前向**的幀間編碼。它只參考前面最靠近它的i幀或p幀;

5.p幀可以是其後面p幀的參考幀,也可以是其前後的b幀的參考幀;

6.由於p幀是參考幀,它可能造成解碼錯誤的擴散;

7.由於是差值傳送,p幀的壓縮比較高。

b幀:雙向**內插編碼幀。

b幀的**與重構

b幀以前面的i或p幀和後面的p幀為參考幀,「找出」b幀「某點」的**值和兩個運動向量,並取**差值和運動向量傳送。接收端根據運動向量在兩個參考幀中「找出(算出)」**值並與差值求和,得到b幀「某點」樣值,從而可得到完整的b幀。

b幀特點

1.b幀是由前面的i或p幀和後面的p幀來進行**的;

2.b幀傳送的是它與前面的i或p幀和後面的p幀之間的**誤差及運動向量;

3.b幀是雙向**編碼幀;

4.b幀壓縮比最高,因為它只反映丙參考幀間運動主體的變化情況,**比較準確;

5.b幀不是參考幀,不會造成解碼錯誤的擴散。

注:i、b、p各幀是根據壓縮演算法的需要,是人為定義的,它們都是實實在在的物理幀,至於影象中的哪一幀是i幀,是隨機的,一但確定了i幀,以後的各幀就嚴格按規定順序排列。

IBP幀的介紹

幀 就是影像動畫中最小單位的單幅影像畫面,相當於電影膠片上的每一格鏡頭。而在實際壓縮時,會採取各種 演算法減少資料的容量,其中 ipb 就是最常見的。1 基本概念經過適度地壓縮,做為隨機訪問的參考點,可以當成圖象。i 幀可以看成是乙個影象經過壓縮後的產物。p frame 前 向 編碼幀 又稱 pre...

FFmpeg 之I B P幀的基本編碼原理(三)

上篇說過,mpeg 1主要在時間冗餘和空間冗餘兩個方向上,去除冗餘資料。時間冗餘是幀與幀之間產生的冗餘資料,而空間冗餘則是單幀影象中,相鄰畫素間產生的冗餘資料。對於i幀來說,因為它是關鍵幀,既不需要參考過去的幀,也不需要參考將來的幀。所以對i幀的編碼,是為了消除空間冗餘資料,而且它採用的壓縮演算法,...

MPEG2標準的壓縮分層和編碼原理

mpeg2標準的音訊部分大致基於mpeg1標準,因此二者相容性很強。這一點使得現有的mpeg1裝置可對mpeg2訊號中相容mpeg1的部分訊號進行解碼,而mpeg2裝置也可解碼mpeg1訊號,從而實現前向相容。壓縮分層 mpeg2和mpeg1音訊壓縮可分為三層。層數越高,壓縮的程度 所需cpu處理能...