各種音視訊編解碼學習詳解之 編解碼學習筆記(四):Mpeg系列——Mpeg 4
最近在研究音視訊編解碼這一塊兒,看到@bitbit大神寫的【各種音視訊編解碼學習詳解】這篇文章,非常感謝,佩服的五體投地。奈何大神這邊文章太長,在這裡我把它分解成很多小的篇幅,方便閱讀。大神部落格傳送門:https://www.cnblogs.com/skyofbitbit/p/3651270.html。若讀過@bitbit大神寫的【各種音視訊編解碼學習詳解】這篇文章,就不用向後看啦
在上次對MPEG-2的學習整理中,有一個疑惑,雙聲道理解,就是左右立體聲,但是5.1聲道是什麼?我們經常看到杜比5.1聲道的說法。“0.1”聲道具體指什麼?今天去wiki查了一下,相關內容也整理入我們的學習筆記。本文件資料來源:
5.1聲道
使用杜比數字技術下,最標準常用的是5.1聲道設定,但杜比數字容許一系列不同聲道的選擇。全部可供選擇的聲道如下列所示:
- 單聲道(中央)
- 雙聲道立體聲(左、右),選擇性地交叉應用杜比環回
- 三聲道立體聲(左、中、右)
- 雙聲道立體聲加單環回(左、右、環回)
- 三聲道立體聲加單環回(左、中、右、環回)
- 四聲道環回立體聲(左前、右前、左後、右後)
- 五聲道環回立體聲(左前、中、右前、左後、右後)
以上所有這些設定可選擇性地使用低頻效果和杜比數字EX矩陣編碼中加入附加後環繞聲道。杜比編碼技術是向下相容 的,很多杜比播放器/解碼器均備有向下混音作用是釋出不同聲道至可供使用的揚聲器。這包括一些功能例如聲音資料通過前揚聲器播放(如適用),和當中央揚聲器不適用時釋出中央頻道至左或右揚聲器。或當用戶只有2.0喇叭時,杜比解碼器能把多聲道訊號混音編碼為 2.0立體聲。
在5.1, 7.1 或其他等文字中,'.1'指的是低頻LFE聲道。
其實5.1聲道就是使用5個喇叭和1個超低音揚聲器來實現一種身臨其境的音樂播放方式,它是由杜比公司開發的,所以叫做“杜比5.1聲道”。在5.1聲道系統裡採用左(L)、中(C)、右(R)、左後(LS)、右後(RS)五個方向輸出聲音,使人產生猶如身臨音樂廳的感覺。五個聲道相互獨立,其中“.1” 聲道,則是一個專門設計的超低音聲道。正是因為前後左右都有喇叭,所以就會產生被音樂包圍的真實感。如右圖所示。
MPEG-4
總體介紹
MPEG-4是一套用於音訊、視訊資訊的壓縮編碼標準, 由國際標準化組織(ISO)和國際電工委員會(IEC)下屬的“動態影像專家組”(Moving Picture Experts Group,即MPEG) 制定,第一版在1998年10月通過,第二版在1999年12月通過。MPEG-4格式的主要用途在於網上流媒體、光碟、語音傳送(視訊電話),以及電視廣播。MPEG-4作為ISO/IEC14496正式釋出。ISO/IEC 14496-Coding of audio-visual object (AV物件編碼)。
為了應對網路傳輸等環境,傳統的 MPEG-1/2 已經不能適應,所以促使了 MPEG-4 的誕生。 與 MPEG-1和MPEG-2相比,MPEG-4的特點是其更適於互動AV服務以及遠端監控。MPEG-4是第一個使你由被動變為主動(不再只是觀看,允許 你加入其中,即有互動性)的動態影象標準,它的另一個特點是其綜合性。從根源上說,MPEG-4試圖將自然物體與人造物體相溶合 (視覺效果意義上的)。MPEG-4的設計目標還有更廣的適應性和更靈活的可擴充套件性。 MPEG-4 採用了一系列新技術,來滿足在低頻寬下傳輸較高視訊質量的需求。DivX,XviD,MS MPEG4 都是採用的MPEG-4 視訊編碼,除了在 DVDRip 上面的應用,3GPP現在也接納了 MPEG-4 作為視訊編碼方案。
最初MPEG-4的主要目的是用於低位元率下的視訊通訊,但是作為一個多媒體的編碼標準,它的範圍最後得到了擴充套件。在技術方面MPEG-4允許不同的軟體/硬體開發商建立多媒體物件來提供更好的適應性、靈活性,為數字電視,動態影象,網際網路等業務提供更好的質量。
MPEG-4提供範圍從每秒幾k位元到每秒數十兆位元的,它具有下面功能:
- 改善MPEG-2的編碼效率
- MPEG-4基於更高的編碼效率。同已有的或即將形成的其它標準相比,在相同的位元率下,它基於更高的視覺聽覺質量,這就 使得在低頻寬的通道上傳送視訊、音訊成為可能。同時MPEG-4還能對同時發生的資料流進行編碼。一個場景的多視角或多聲道資料流可以高效、同步地合成為 最終資料流。這可用於虛擬三維遊戲、三維電影、飛行模擬練習等。
- 提供混合媒體資料(視訊,音訊,語音)的編碼能力
- 差錯容忍使得內容穩定傳輸。
- 當在傳輸有誤碼或丟包現象時,MPEG4受到的影響很小,並且能迅速恢復。
- 提供受眾視聽場景的互動能力,MPEG-4終端使用者提供不同的物件支援各種互動要求。
- MPEG-4提供了基於內容的多媒體資料訪問工具,如索引、超級連結、上傳、下載、刪除等。利用這些工具,使用者可以方便地 從多媒體資料庫中有選擇地獲取自己所需的與物件有關的內容,並提供了內容的操作和位流編輯功能,可應用於互動式家庭購物,淡入淡出的數字化效果等。 MPEG-4提供了高效的自然或合成的多媒體資料編碼方法。它可以把自然場景或物件組合起來成為合成的多媒體資料。
- MPEG-4對傳輸資料網是透明的,它可以相容各種網路。
- MPEG-4提供了易出錯環境的魯棒性,來保證其在許多無線和有線網路以及儲存介質中的應用,此外,MPEG-4還支援基於內容的的可分級性,即把內容、質量、複雜性分成許多小塊來滿足不同使用者的不同需求,支援具有不同頻寬,不同儲存容量的傳輸通道和接收端。
- 這些特點無疑會加速多媒體應用的發展,從中受益的應用領域有:因特網多媒體應用;廣播電視;互動式視訊遊戲;實時可視通 信;互動式儲存媒體應用;演播室技術及電視後期製作;採用面部動畫技術的虛擬會議;多媒體郵件;行動通訊條件下的多媒體應用;遠端視訊監控;通過ATM網 絡等進行的遠端資料庫業務等。
MPEG-4視訊編碼核心思想
在MPEG-4制定之前,MPEG-1、MPEG-2、H.261、H.263都是採用第一代壓縮編碼技術,著 眼於影象訊號的統計特性來設計編碼器,屬於波形編碼的範疇。第一代壓縮編碼方案把視訊序列按時間先後分為一系列幀,每一幀影象又分成巨集塊以進行運動補償和編碼,這種編碼方案存在以下缺陷:
- 將影象固定地分成相同大小的塊,在高壓縮比的情況下會出現嚴重的塊效應,即馬賽克效應;
- 不能對影象內容進行訪問、編輯和回放等操作;
- 未充分利用人類視覺系統(HVS,Human Visual System)的特性。
MPEG-4則代表了基於模型/物件的第二代壓縮編碼技術,它充分利用了人眼視覺特性,抓住了影象資訊傳輸的本質,從輪廓、紋理思路出發,支援基於視覺內容的互動功能,這適應了多媒體資訊的應用由播放型轉向基於內容的訪問、檢索及操作的發展趨勢。
AV物件(AVO,AudioVisual Object)是MPEG-4為支援基於內容編碼而提出的重要概念。物件是指在一個場景中能夠訪問和操縱的實體,物件的劃分可根據其獨特的紋理、運動、形狀、模型和高層語義為依據。在MPEG-4中所見的視音訊已不再是過去MPEG-1、MPEG-2中影象幀的概念,而是一個個視聽場景(AV場景),這些 不同的AV場景由不同的AV物件組成。AV物件是聽覺、視覺、或者視聽內容的表示單元,其基本單位是原始AV物件,它可以是自然的或合成的聲音、影象。原 始AV物件具有高效編碼、高效儲存與傳輸以及可互動操作的特性,它又可進一步組成複合AV物件。因此MPEG-4標準的基本內容就是對AV物件進行高效編 碼、組織、儲存與傳輸。AV物件的提出,使多媒體通訊具有高度互動及高效編碼的能力,AV物件編碼就是MPEG-4的核心編碼技術。
MPEG-4實現基於內容互動的首要任務就是把視訊/影象分割成不同物件或者把運動物件從背景中分離出來,然後針對不同物件採用相應編碼方法,以實現高效壓縮。因此視訊物件提取即視訊物件分割,是MPEG-4視訊編碼的關鍵技術,也是新一代視訊編碼的研究熱點和難點。
MPEG-4不僅可提供高壓縮率,同時也可實現更好的多媒體內容互動性及全方位的存取性,它採用開放的編碼系統,可隨時加入新的編碼演算法模組,同時也可根據不同應用需求現場配置解碼器,以支援多種多媒體應用。
MPEG-4各部分
MPEG-4由一系列的子標準組成,被稱為部,包括以下的部分。對於媒體編解碼,重點關注Part2,Part 3, Part 10。
第一部(ISO/IEC 14496-1):系統
描述視訊和音訊的同步以及混合方式(Multiplexing,簡寫為MUX)。定義了 MP4 容器格式, 支援類似 DVD 選單這樣的直觀和互動特性等。
第二部(ISO/IEC 14496-2):視訊
定義了一個對各種視覺資訊(包括視訊、靜止紋理、計算機合成圖形等等)的編解碼器。對視訊部分來說,眾多”Profiles”中很常用的一種是Advanced SimpleProfile (ASP),例如XviD編碼就 屬於MPEG-4Part 2。包括 3ivx, DivX4/Project Mayo, DivX 5, Envivio,ffmpeg/ffds, mpegable, Nero Digital, QuickTime, Sorenson, XviD 等常見的視訊格式, 需要注意的是 Divx 3.11, MS MPEG-4, RV9/10, VP6,WMV9 並不屬於標準的 MPEG-4 標準。
第三部(ISO/IEC 14496-3):音訊
定義了一個對各種音訊訊號進行編碼的編解碼器的集合。包括高階音訊編碼(Advanced Audio Coding,縮寫為AAC) 的若干變形和其他一些音訊/語音編碼工具。即 AAC 音訊標準, 包括 LCAAC, HE AAC 等, 支援 5.1 聲道編碼, 可以用更低的位元速率實現更好的效果 (相對於 MP3, OGG 等) 。
第四部(ISO/IEC 14496-4):一致性
定義了對本標準其他的部分進行一致性測試的程式。
第五部(ISO/IEC 14496-5):參考軟體
提供了用於演示功能和說明本標準其他部分功能的軟體。
第六部(ISO/IEC 14496-6):多媒體傳輸整合框架
即DMIF:Delivery Multimedia IntegrationFramework
第七部(ISO/IEC 14496-7):優化的參考軟體
提供了對實現進行優化的例子(這裡的實現指的是第五部分)。
第八部(ISO/IEC 14496-8):在IP網路上傳輸
定義了在IP網路上傳輸MPEG-4內容的方式。
第九部(ISO/IEC 14496-9):參考硬體
提供了用於演示怎樣在硬體上實現本標準其他部分功能的硬體設計方案。
第十部(ISO/IEC 14496-10):進階視訊編碼,也即ITU H.264,常寫為H.264/AVC
或稱高階視訊編碼(Advanced Video Coding,縮寫為AVC):定義了一個視訊編解碼器(codec),AVC和XviD都屬於MPEG-4編碼,但由於AVC屬於MPEG-4Part 10,在技術特性上比屬於MPEG-4 Part2的XviD要先進。另外從技術上講,它和ITU-T H.264標準是一致的,故全稱為MPEG-4 AVC/H.264。
第十一部(ISO/IEC 14496-11):場景描述和應用引擎
可用於多種profile(包括2D和3D版本)的互互動媒體。修訂了MPEG-4 Part 1:2001以及Part1的兩個修訂方案。它定義了應用引擎(交付,生命週期,格式,可下載Java位元組程式碼應用程式的行為),二進位制場景格式 (BIFS:Binary Format for Scene),可擴充套件MPEG-4文字格式(一種使用XML描述MPEG-4多媒體內容的文字格式)系統level表述。也就是MPEG-4 Part21中的BIFS,XMT,MPEG-J。
第十二部(ISO/IEC 14496-12):基於ISO的媒體檔案格式
定義了一個儲存媒體內容的檔案格式。
第十三部(ISO/IEC 14496-13):IP
智慧財產權管理和保護(IPMP for Intellectual Property Management and Protection)拓展。
第十四部(ISO/IEC 14496-14):MPEG-4檔案格式
定義了基於第十二部分的用於儲存MPEG-4內容的視訊檔案格式。
第十五部(ISO/IEC 14496-15):AVC檔案格式
定義了基於第十二部分的用於儲存第十部分的視訊內容的檔案格式。
第十六部(ISO/IEC 14496-16):動畫框架擴充套件
動畫框架擴充套件(AFX : Animation Framework eXtension)。
第十七部(ISO/IEC 14496-17):同步文字字幕格式
尚未完成-2005年1月達成”最終委員會草案”,FCD: Final Committee Draft。
第十八部(ISO/IEC 14496-18):字型壓縮和流式傳輸(針對公開字型格式)。
第十九部(ISO/IEC 14496-19):綜合用材質流(Synthesized TextureStream)。
第二十部(ISO/IEC 14496-20):簡單場景表示
LASeR for Lightweight Scene Representation,尚未完成-2005年1月達成”最終委員會草案”,FCD for Final Committee Draft。
第二十一部(ISO/IEC 14496-21):用於描繪(Rendering)的MPEG-J拓展
尚未完成-2005年1月達成“委員會草案”,CD for Committee Draft)。
Profile和Level
MPEG-4提供大量的編碼方式和豐富的設定。 和MPEG-2一樣,應用一般不可能支援MPEG-4全集,通過profile和level來描述子集。這些子集,通過 “profile”來表明解碼器要求,為了避免計算的複雜,每個profile都有一個或者多個“level”。profile和level的有效組合使得編碼生成器只需實現標準中所需的子集,同時保持與其他MPEG-4裝置的互通。(解碼支援範圍通常比編碼支援範圍大),檢查其他MPEG-4裝置是否符 合標準,即一致性測試。
對於H.264/AVC(也就是MPEG-4 Part 4)提供下面的profile:
Feature support in particular profiles
Feature |
CBP |
BP |
XP |
MP |
HiP |
Hi10P |
Hi422P |
Hi444PP |
B slices |
No |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
SI and SP slices |
No |
No |
Yes |
No |
No |
No |
No |
No |
Flexible macroblock ordering (FMO) |
No |
Yes |
Yes |
No |
No |
No |
No |
No |
Arbitrary slice ordering (ASO) |
No |
Yes |
Yes |
No |
No |
No |
No |
No |
Redundant slices (RS) |
No |
Yes |
Yes |
No |
No |
No |
No |
No |
Data partitioning |
No |
No |
Yes |
No |
No |
No |
No |
No |
Interlaced coding (PicAFF, MBAFF) |
No |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
CABAC entropy coding |
No |
No |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
8×8 vs. 4×4 transform adaptivity |
No |
No |
No |
No |
Yes |
Yes |
Yes |
Yes |
Quantization scaling matrices |
No |
No |
No |
No |
Yes |
Yes |
Yes |
Yes |
Separate Cb and Cr QP control |
No |
No |
No |
No |
Yes |
Yes |
Yes |
Yes |
Monochrome (4:0:0) |
No |
No |
No |
No |
Yes |
Yes |
Yes |
Yes |
Chroma formats |
4:2:0 |
4:2:0 |
4:2:0 |
4:2:0 |
4:2:0 |
4:2:0 |
4:2:0/4:2:2 |
4:2:0/4:2:2/4:4:4 |
Sample depths (bits) |
8 |
8 |
8 |
8 |
8 |
8 to 10 |
8 to 10 |
8 to 14 |
Separate color plane coding |
No |
No |
No |
No |
No |
No |
No |
Yes |
Predictive lossless coding |
No |
No |
No |
No |
No |
No |
No |
Yes |
level用來表明一個profile的解碼器的效能要求的範圍,例如最大圖片分配了,幀頻,位元率等等。對於解碼器,一個指定的level要求可以對該level以及低於該level的碼流進行解碼。(A decoder that conforms to agiven level is required to be capable of decoding all bitstreams that areencoded for that level and for all lower levels. 來源:http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC)
Levels with maximum property values
Level |
Max macroblocks |
Max video bit rate (VCL) |
Examples for high resolution @ |
||||
per second |
per frame |
BP, XP, MP |
HiP |
Hi10P |
Hi422P, Hi444PP |
||
1 |
1,485 |
99 |
64 |
80 |
192 |
256 |
128×[email protected] (8) |
1b |
1,485 |
99 |
128 |
160 |
384 |
512 |
128×[email protected] (8) |
1.1 |
3,000 |
396 |
192 |
240 |
576 |
768 |
176×[email protected] (9) |
1.2 |
6,000 |
396 |
384 |
480 |
1,152 |
1,536 |
320×[email protected] (7) |
1.3 |
11,880 |
396 |
768 |
960 |
2,304 |
3,072 |
320×[email protected] (7) |
2 |
11,880 |
396 |
2,000 |
2,500 |
6,000 |
8,000 |
320×[email protected] (7) |
2.1 |
19,800 |
792 |
4,000 |
5,000 |
12,000 |
16,000 |
352×[email protected] (7) |
2.2 |
20,250 |
1,620 |
4,000 |
5,000 |
12,000 |
16,000 |
352×[email protected](10) |
3 |
40,500 |
1,620 |
10,000 |
12,500 |
30,000 |
40,000 |
352×[email protected] (12) |
3.1 |
108,000 |
3,600 |
14,000 |
17,500 |
42,000 |
56,000 |
720×[email protected] (13) |
3.2 |
216,000 |
5,120 |
20,000 |
25,000 |
60,000 |
80,000 |
1,280×[email protected] (5) |
4 |
245,760 |
8,192 |
20,000 |
25,000 |
60,000 |
80,000 |
1,280×[email protected] (9) |
4.1 |
245,760 |
8,192 |
50,000 |
62,500 |
150,000 |
200,000 |
1,280×[email protected] (9) |
4.2 |
522,240 |
8,704 |
50,000 |
62,500 |
150,000 |
200,000 |
1,920×1,[email protected] (4) |
5 |
589,824 |
22,080 |
135,000 |
168,750 |
405,000 |
540,000 |
1,920×1,[email protected] (13) |
5.1 |
983,040 |
36,864 |
240,000 |
300,000 |
720,000 |
960,000 |
1,920×1,[email protected] (16) |