媒 體業務是網絡的主要業務之間。尤其移動互聯網業務的興起,在運營商和應用開發商中,媒體業務份量極重,其中媒體的編解碼服務涉及需求分析、應用開發、釋放 license收費等等。最近因爲項目的關係,需要理清媒體的codec,比較搞的是,在豆丁網上看運營商的規範 標準,同一運營商同樣的業務在不同文檔中不同的要求,而且有些要求就我看來應當是歷史的延續,也就是現在已經很少採用了。所以豆丁上看不出所以然,從 wiki上查。中文的wiki信息量有限,很短,而wiki的英文內容內多,刪減版也減肥得太過。我在網上還看到一個山寨的中文wiki,長得很像,紅色 的,叫“天下維客”。wiki的中文還是很不錯的,但是閱讀後建議再閱讀英文。
我對媒體codec做了一些整理和總結,資料來源於wiki,小部分來源於網絡博客的收集。網友資料我們將給出來源。如果資料已經轉手幾趟就沒辦法,雁過留聲,我們只能給出某個軌跡。
基本概念
編解碼
編解碼器(codec)指的是一個能夠對一個信號或者一個數據流進行變換的設備或者程序。這裏指的變換既包括將 信號或者數據流進行編碼(通常是爲了傳輸、存儲或者加密)或者提取得到一個編碼流的操作,也包括爲了觀察或者處理從這個編碼流中恢復適合觀察或操作的形式 的操作。編解碼器經常用在視頻會議和流媒體等應用中。
容器
很多多媒體數據流需要同時包含音頻數據和視頻數據,這時通常會加入一些用於音頻和視頻數據同步的元數據,例如字幕。這三種數據流可能會被不同的程序,進 程或者硬件處理,但是當它們傳輸或者存儲的時候,這三種數據通常是被封裝在一起的。通常這種封裝是通過視頻文件格 式來實現的,例如常見的*.mpg, *.avi, *.mov, *.mp4, *.rm, *.ogg or *.tta. 這些格式中有些只能使用某些編解碼器,而更多可以以容器的方式使用各種編解碼器。
FourCC全稱 Four-Character Codes,是由4個字符(4 bytes)組成,是一種獨立標示視頻數據流格式的四字節,在wav、avi檔案之中會有一段FourCC來描述這個AVI檔案,是利用何種codec來 編碼的。因此wav、avi大量存在等於“IDP3”的FourCC。
視頻是現在電腦中多媒體系統中的重要一環。爲了適應儲存視頻的需要,人們設定了不同的視頻文件格式來把視頻和音頻放在一個文件中,以方便同時回放。視頻檔實際上都是一個容器裏面包裹着不同的軌道,使用的容器的格式關係到視頻檔的可擴展性。
參數介紹
採樣率
採樣率(也稱爲採樣速度或者採樣頻率)定義了每秒從連續信號中提取並組成離散信號的採樣個數,它用赫茲(Hz)來表示。採樣頻率的倒數叫作採樣週期或採樣時間,它是採樣之間的時間間隔。注意不要將採樣率與比特率(bit rate,亦稱“位速率”)相混淆。
採樣定理表明採樣頻率必須大於被採樣信號帶寬的兩倍,另外一種等同的說法是奈奎斯特頻率必須大於被採樣信號的帶寬。如果信號的帶寬是 100Hz,那麼爲了避免混疊現象採樣頻率必須大於200Hz。換句話說就是採樣頻率必須至少是信號中最大頻率分量頻率的兩倍,否則就不能從信號採樣中恢 復原始信號。
對於語音採樣:
- 8,000 Hz - 電話所用採樣率, 對於人的說話已經足夠
- 11,025 Hz
- 22,050 Hz - 無線電廣播所用採樣率
- 32,000 Hz - miniDV 數碼視頻 camcorder、DAT (LP mode)所用採樣率
- 44,100 Hz - 音頻 CD, 也常用於 MPEG-1 音頻(VCD, SVCD, MP3)所用採樣率
- 47,250 Hz - Nippon Columbia (Denon)開發的世界上第一個商用 PCM 錄音機所用採樣率
- 48,000 Hz - miniDV、數字電視、DVD、DAT、電影和專業音頻所用的數字聲音所用採樣率
- 50,000 Hz - 二十世紀七十年代後期出現的 3M 和 Soundstream 開發的第一款商用數字錄音機所用採樣率
- 50,400 Hz - 三菱 X-80 數字錄音機所用所用採樣率
- 96,000 或者 192,000 Hz - DVD-Audio、一些 LPCM DVD 音軌、Blu-ray Disc(藍光盤)音軌、和 HD-DVD (高清晰度 DVD)音軌所用所用採樣率
- 2.8224 MHz - SACD、 索尼 和 飛利浦 聯合開發的稱爲 Direct Stream Digital 的 1 位 sigma-delta modulation 過程所用採樣率。
在模擬視頻中,採樣率定義爲幀頻和場頻,而不是概念上的像素時鐘。圖像採樣頻率是傳感器積分週期的循環速度。由於積分週期遠遠小於重複所需時間,採樣頻率可能與採樣時間的倒數不同。
- 50 Hz - PAL 視頻
- 60 / 1.001 Hz - NTSC 視頻
當模擬視頻轉換爲數字視頻的時候,出現另外一種不同的採樣過程,這次是使用像素頻率。一些常見的像素採樣率有:
- 13.5 MHz - CCIR 601、D1 video
分辨率
分辨率,泛指量測或顯示系統對細節的分辨能力。此概念可以用時間、空間等領域的量測。日常用語中之分辨率多用於圖像的清晰度。分辨率越高代表圖像品質越 好,越能表現出更多的細節。但相對的,因爲紀錄的信息越多,文件也就會越大。目前個人電腦裏的圖像,可以使用圖像 處理軟件,調整圖像的大小、編修照片等。例如 photoshop,或是photoimpact等軟件。
圖像分辨率 :
用以描述圖像細節分辨能力,同樣適用於數字圖像、膠捲圖像、及其他類型圖像。常用'線每毫米'、 '線每英吋'等來衡量。通常,“分辨率”被表示成每一個方向上的像素數量,比如640x480等。而在某些情況下,它也可以同時表示成“每英吋像素” (pixels per inch,ppi)以及圖形的長度和寬度。比如72ppi,和8x6英吋。
視頻分辨率 :
各 種電視規格分辨率比較視 頻的畫面大小稱爲“分辨率”。數位視頻以像素爲度量單位,而類比視頻以水平掃瞄線數量爲度量單位。標清電視頻號分辨率爲 720/704/640x480i60(NTSC)或768/720x576i50(PAL/SECAM)。新的高清電視(HDTV)分辨率可達 1920x1080p60,即每條水平掃瞄線有1920個像素,每個畫面有1080條掃瞄線,以每秒鐘60張畫面的速度播放。
畫面更新率fps
Frame rate中文常譯爲“畫面更新率”或“幀率”,是指視頻格式每秒鐘播放的靜態畫面數量。典型的畫面更新率由早期的每秒6或8張(frame persecond,簡稱fps),至現今的每秒120張不等。PAL (歐洲,亞洲,澳洲等地的電視廣播格式) 與 SECAM (法國,俄國,部分非洲等地的電視廣播格式) 規定其更新率爲25fps,而NTSC (美國,加拿大,日本等地的電視廣播格式) 則規定其更新率爲29.97 fps。電影膠捲則是以稍慢的24fps在拍攝,這使得各國電視廣播在播映電影時需要一些複雜的轉換手續(參考Telecine轉換)。要達成最基本的視 覺暫留效果大約需要10fps的速度。
壓縮方法
有損壓縮和無損壓縮
在視頻壓縮中有損(Lossy )和無損(Lossless)的概念與靜態圖像中基本類似。無損壓縮也即壓縮前和解壓縮後的數據完全一致。多數的無損壓縮都採用RLE行程編碼算法。有損 壓縮意味着解壓縮後的數據與壓縮前的數據不一致。在壓縮的過程中要丟失一些人眼和人耳所不敏感的圖像或音頻信息,而且丟失的信息不可恢復。幾乎所有高壓縮 的算法都採用有損壓縮,這樣才能達到低數據率的目標。丟失的數據率與壓縮比有關,壓縮比越小,丟失的數據越多,解壓縮後的效果一般越差。此外,某些有損壓 縮算法採用多次重複壓縮的方式,這樣還會引起額外的數據丟失。
- 無損格式,例如WAV,PCM,TTA,FLAC,AU,APE,TAK,WavPack(WV)
- 有損格式,例如MP3,Windows Media Audio(WMA),Ogg Vorbis(OGG),AAC
幀內壓縮和幀間壓縮
幀內(Intraframe)壓縮也稱爲空間壓縮 (Spatial compression)。當壓縮一幀圖像時,僅考慮本幀的數據而不考慮相鄰幀之間的冗餘信息,這實際上與靜態圖像壓縮類似。幀內一般採用有損壓縮算法, 由於幀內壓縮時各個幀之間沒有相互關係,所以壓縮後的視頻數據仍可以以幀爲單位進行編輯。幀內壓縮一般達不到很高的壓縮。
採用幀間(Interframe)壓縮是基於許多視頻或 動畫的連續前後兩幀具有很大的相關性,或者說前後兩幀信息變化很小的特點。也即連續的視頻其相鄰幀之間具有冗餘信息,根據這一特性,壓縮相鄰幀之間的冗餘 量就可以進一步提高壓縮量,減小壓縮比。幀間壓縮也稱爲時間壓縮(Temporalcompression),它通過比較時間軸上不同幀之間的數據進行壓 縮。幀間壓縮一般是無損的。幀差值(Frame differencing)算法是一種典型的時間壓縮法,它通過比較本幀與相鄰幀之間的差異,僅記錄本幀與其相鄰幀的差值,這樣可以大大減少數據量。
對稱編碼和不對稱編碼
對稱性(symmetric)是壓縮編碼的一個關鍵特 徵。對稱意味着壓縮和解壓縮佔用相同的計算處理能力和時間,對稱算法適合於實時壓縮和傳送視頻,如視頻會議應用就以採用對稱的壓縮編碼算法爲好。而在電子 出版和其它多媒體應用中,一般是把視頻預先壓縮處理好,爾後再播放,因此可以採用不對稱(asymmetric)編碼。不對稱或非對稱意味着壓縮時需要花 費大量的處理能力和時間,而解壓縮時則能較好地實時回放,也即以不同的速度進行壓縮和解壓縮。一般地說,壓縮一段視頻的時間比回放(解壓縮)該視頻的時間 要多得多。例如,壓縮一段三分鐘的視頻片斷可能需要10多分鐘的時間,而該片斷實時回放時間只有三分鐘。
除wiki外的資料來源:http://tech.lmtw.com/csyy/Using/200411/3142.html
編解碼學習筆記(二):codec類型
資料(港臺將information翻譯爲資料)壓縮是透過去除資料中的冗餘資訊而達成。就視訊資料而言,資料中的冗餘資訊可以分成四類:
時間上的冗餘資訊(temporal redundancy)
在視訊資料中,相鄰的幀(frame)與幀之間通常有很強的關連性,這樣的關連性即爲時間上的冗餘資訊。這即是上一次學習中的幀間壓縮。
空間上的冗餘資訊(spatial redundancy)
在同一張幀之中,相鄰的像素之 間通常有很強的關連性,這樣的關連性即爲空間上的冗餘資訊。這即是上一次學習中的幀內壓縮。
統計上的冗餘資訊(statistical redundancy)
統計上的冗餘資訊指的是欲編碼的符號(symbol)的機率分佈是不均勻(non-uniform)的。
感知上的冗餘資訊(perceptual redundancy)
感知上的冗餘資訊是指在人在觀看視訊時,人眼無法察覺的資訊。
視訊壓縮(英文:Video compression)是指運用資料壓縮技術將數位視訊資料中的冗餘資訊去除,降低表示原始視訊所需的資料量,以便視訊資料的傳輸與儲存。實際上,原始 視訊資料的資料量往往過大,例如未經壓縮的電視品質視訊資料的位元率高達216Mbps,絕大多數的應用無法處理如此龐大的資料量,因此視訊壓縮是必要 的。目前最新的視訊編碼標準爲ITU-T視訊編碼專家組(VCEG)和ISO/IEC動態圖像專家組(MPEG)聯合組成的聯合視訊組 (JVT,Joint Video Team)所提出的H.264/AVC。
一個典型的視訊編碼器:在進行 當前信號編碼時,編碼器首先會產生對當前信號做預測的信號,稱作預測信號(predicted signal),預測的方式可以是時間上的預測(interprediction),亦即使用先前幀的信號做預測,或是空間上的預測 (intra prediction),亦即使用同一張幀之中相鄰像素的信號做預測。得到預測信號後,編碼器會將當前信號與預測信號相減得到殘餘信號(residual signal),並只對殘餘信號進行編碼,如此一來,可以去除一部份時間上或是空間上的冗餘資訊。接着,編碼器並不會直接對殘餘信號進行編碼,而是先將殘 餘信號經過變換(通常爲離散餘弦變換)然後量化以 進一步去除空間上和感知上的冗餘資訊。量化後得到的量化係數會再透過熵編碼,去除統計上的冗餘資訊。
視訊編碼標準發展 |
||||
年份 |
標準 |
制定組織 |
解除版權保護 |
主要應用 |
1984 |
是 |
|
||
1990 |
是 |
|||
1993 |
是 |
影音光碟(VCD ) |
||
1995 |
否 |
|||
1996 |
|
|||
1999 |
否 |
|
||
2003 |
否 |
常見的編解碼見下表,在以後會分類論述:
上面的表格,查看某個具體的codec,可以在中文的wiki中查找,但是英文的wiki諮詢更爲豐富,見下表
編解碼學習筆記(三):Mpeg系列——Mpeg 1和Mpeg 2
MPEG 是Moving Picture Experts Group的簡稱。這個名字本來的含義是指一個研究視頻和音頻編碼標準的小組。現在我們所說的MPEG泛指又該小組制定的一系列視頻編碼標準。該小組於 1988年組成,至今已經制定了MPEG-1、MPEG-2、MPEG-3、MPEG-4、MPEG-7等多個標準,MPEG-21正在制定中。
MPEG到目前爲止已經制定並正在制定以下和視頻相關的標準:
- MPEG-1: 第一個官方的視訊音訊壓縮標準,隨後在Video CD中被採用,其中的音訊壓縮的第三級(MPEG-1 Layer 3)簡稱MP3, 成爲比較流行的音訊壓縮格式。
- MPEG-2: 廣播質量的視訊、音訊和傳輸協議。被用於無線數位電視-ATSC、DVB以及ISDB、數字衛星電視(例如DirecTV)、 數字有線電視信號,以及DVD視頻光盤技術中。
- MPEG-3: 原本目標是爲高解析度電視(HDTV)設計,隨後發現MPEG-2已足夠HDTV應用,故 MPEG-3的研發便中止。
- MPEG- 4:2003 年發佈的視訊壓縮標準,主要是擴展MPEG-1、MPEG-2等標準以支援視訊/音訊物件(video/audio "objects")的編碼、3D內容、低位元率編碼(low bitrate encoding)和數位版權管理(Digital Rights Management),其中第10部分由ISO/IEC和ITU-T聯合發佈,稱爲H.264/MPEG-4 Part 10。參見H.264。
- MPEG-7:MPEG-7並不是一個視訊壓縮標準,它是一個多媒體內容的描述標準。
- MPEG-21:MPEG-21是一個正在制定中的標準,它的目標是爲未來多媒體的應用提供一個完整的平臺。
媒體codec在於MPEG-1,MPEG-2,MPEG-4,如上圖所示。
圖中名稱解釋:在圖中DVD地球人都知道,何爲DVB?
DVB:數字視頻廣播(DVB, Digital VideoBroadcasting),是由“DVB Project”維護的一系列爲國際所承認的數字電視公開標準。DVB系統傳輸方式有如下幾種:
·
·
·
·
這 些標準定義了傳輸系統的物理層與數據鏈路層。設備通過同步並行接口(synchronous parallel interface, SPI),同步串行接口(synchronous serial interface, SSI),或異步串行接口(asynchronousserial interface, ASI)與物理層交互。數據以MPEG-2傳輸流的方式傳輸,並要求符合更嚴格的限制(DVB-MPEG)。對移動終端即時壓縮傳輸數據的標準(DVB- H)目前正處於測試之中。
這些傳輸方式的主要區別在於使用的調製方式,因爲不同它們應用的頻率帶寬的要求不同。利用高頻載波的DVB-S使用QPSK調製方式,利用低頻載波的DVB-C使用QAM-64 調製方式,而利用VHF 及 UHF載波的DVB-T使用COFDM調製方式。
除音頻與視頻傳輸外,DVB也定義了帶回傳信道(DVB-RC)的數據通信標準(DVB-DATA)。
DVB的codec,視頻爲:MPEG-2,MPEG-4 AVC;音頻爲:MP3,AC-3,AAC,HE-AAC。
MPEG-1
MPEG-1作爲ISO/IEC11172正式發佈。
MPEG-1較早的視頻編碼,質量比較差,主要用於 CD-ROM 存儲視頻,國內最爲大家熟悉的就是 VCD(Video CD),他的視頻編碼就是採用 MPEG-1。它是爲CD光盤介質定製的視頻和音頻壓縮格式。一張70分鐘的CD光盤傳輸速率大約在1.4Mbps。而 MPEG-1採用了塊方式的運動補償、離散餘弦變換(DCT)、量化等技術,併爲1.2Mbps傳輸速率進行了優化。MPEG-1 隨後被Video CD採用作爲內核技術。MPEG-1的輸出質量大約和傳統錄像機VCR,信號質量相當,這也許是Video CD在發達國家未獲成功的原因。
MPEG-1音頻分三層,就是MPEG-1 Layer I, II, III,其中第三層協議也就是MPEG- 1 Layer 3,簡稱MP3。MP3目前已經成爲廣泛流傳的音頻壓縮技術。
MPEG-1有下面幾個部分:
- 第一部分(Part 1):系統;
- 第二部分(Part 2):視頻;
- 第三部分(Part 3):音頻;定義level1,level2,level3,並在MPEG-2中定義了擴展。
- 第四部分(Part 4):一次性測試;
- 第五部分(Part 5):參考軟件;
MPEG-1的缺點:
- 1個音頻壓縮系統限於兩個通道(立體聲)
- 沒有爲隔行掃描視頻提供標準化支持,且壓縮率差
- 只有一個標準化的“profile” (約束參數比特流), 不適應 更高分辨率的視頻。MPEG - 1可以支持4k的視頻,但難以提供更高分辨率的視頻編碼並且標識硬件的支持能力。
- 支持只有一個顏色空間,4:2:0。
MPEG-2
MPEG-2內容介紹
MPEG-2作爲ISO/IEC 13818正式發佈,通常用來爲廣播信號提供視頻和音頻編碼,包括衛星電視、有線電視等。MPEG-2經過少量修改後,也成爲DVD產品的內核技術。
MPEG-2有11部分,具體如下:
第一部(Part 1):系統-描述視頻和音頻的同步和多路技術
正式名稱是 ISO/IEC 13818-1或 ITU-T中的H.222.0
MPEG-2的系統描述部分(第1部分)定義了傳輸流,它用來一套在非可靠介質上傳輸數字視頻信號和音頻信號的機制,主要用在廣播電視領域。
定義了兩個不同但相關的容器格式,MPEG transport stream和MPEG program stream,也就是圖中的TS和PS。MPEG傳輸流(TS)爲攜帶可損數字視頻和音頻,媒體流的開始和結束可以不標識出來,就像廣播或者磁帶,其中的 例子包括ATSC,DVB,SBTVD 和HDV。MPEG-2系統還定義了MPEG節目流(PS),它爲以文件爲基礎的媒體設計一個容器格式,用於 硬盤驅動器,光盤 和閃存。
MPEG-2 PS(節目流)是爲在存儲介質保存視頻信息而開發的。 MPEG-2 TS(傳輸流)是爲在網絡傳輸視頻信息而開發的。目前,MPEG-2 TS最廣泛地應用是DVB系統。TS流與PS流的區別在於TS流的包結構是固定度的,而PS流的包結構是可變長度。 PS包與TS包在結構上的這種差異,導致了它們對傳輸誤碼具有不同的抵抗能力,因而應用的環境也有所不同。TS碼流由於採用了固定長度的包結構,當傳輸誤 碼破壞了某一TS包的同步信息時,接收機可在固定的位置檢測它後面包中的同步信息,從而恢復同步,避免了信息丟失。而PS包由於長度是變化的,一旦某一 PS包的同步信息丟失,接收機無法確定下一包的同步位置,就會造 成失步,導致嚴重的信息丟失。因此,在信道環境較爲惡劣,傳輸誤碼較高時,一般採用TS碼流;而在信道環境較好,傳輸誤碼較低時,一般採用PS碼流由於 TS碼流具有較強的抵抗傳輸誤碼的能力,因此目前在傳輸媒體中進行傳輸的MPEG-2碼流基本上都採用了TS碼流的包格。
第二部(Part 2):視頻-視頻壓縮
正式名稱是 ISO/IEC 13818-2或 ITU-T H.262。
提供隔行掃描和非隔行掃描視頻信號的壓縮編解碼器。
MPEG-2的第二部分即視頻部分和MPEG-1類似,但是它提供對隔行掃描視頻顯示模式的支持(隔行掃描廣泛應用在廣播電視領域)。MPEG-2視頻 並沒有對低位速率(小於1Mbps)進行優化,在 3Mbit/s及以上位速率情況下,MPEG-2明顯優於MPEG-1。 MPEG-2向後兼容,也即是說,所有符合標準的MPEG-2解碼器也能夠正常播放MPEG-1視頻流。
MPEG-2技術也應用在了HDTV傳輸系統中。MPEG-2 不光運用於 DVD-Video ,現在大部 分 HDTV(高清電視)也採用 MPEG-2 編碼,分辨率達到了 1920x1080。由於 MPEG-2 的普及,本來爲 HDTV 準備 的 MPEG-3 最終宣告放棄。
MPEG-2視頻通常包含多個GOP(GroupOf Pictures),每一個GOP包含多個幀(frame)。幀的幀類(frame type)通常包括I-幀(I-frame)、P-幀(P-frame)和B-幀(B-frame)。其中I-幀採用幀內編碼,P-幀採用前向估計,B- 幀採用雙向估計。一般來說輸入視頻格式是25(CCIR標準)或者29.97(FCC)幀/秒。
MPEG-2支持隔行掃描和逐行掃描。在逐行掃描模式下,編碼的基本單元是幀。在隔行掃描模式下,基本編碼可以是幀,也可以是場(field)。
原始輸入圖像首先被轉換到YCbCr顏色空間。其中Y是亮度,Cb和Cr是兩個色度通道。 Cb指藍色色 度,Cr指紅色色度。對於每一通道,首先採用塊分區,然後形成“宏塊”(macroblocks),宏塊構成了編碼的基本單元。每一個宏塊再分 區成8x8的小塊。色度通道分區成小塊的數目取決於初始參數設置。例如,在常用的4:2:0格式下,每個色度宏塊只採樣出一個小塊,所以三個通道宏塊能夠 分區成的小塊數目是4+1+1=6個。
對於I-幀,整幅圖像直接進入編碼過程。對於P-幀和B-幀,首先 做運動補償。通常來說,由於相鄰幀之間的相關 性很強,宏塊可以在前幀和後幀中對應相近的位置找到相似的區域匹配的比較好,這個偏移量作爲運動向量被記錄下來,運動估計重構的區域的誤差被送到編碼器中 編碼。
對於每一個8×8小塊,離散餘弦變換把圖像從空間域轉換到頻域。得到的變換系數被量化並重新組織排列順序,從而增加長零的可能性。之後做遊程編碼(run-length code)。最後作哈夫曼編碼(Huffman Encoding)。
I幀編碼是爲了減少空間域冗餘,P幀和B幀是爲了減少時間域冗餘。
GOP是由固定模式的一系列I幀、P幀、B幀組成。常用的結構由15個幀組成,具有以下形式 IBBPBBPBBPBBPBB。GOP中各個幀的比例的選取和帶寬、圖像的質量要求有一定關係。例如因爲B幀的壓縮時間可能是I幀的三倍,所以對於計算 能力不強的某些實時系統,可能需要減少B幀的比例。
MPEG-2輸出的比特流可以是勻速或者變速的。最大比特率,例如在DVD應用上,可達10.4 Mbit/s。如果要使用固定比特率,量化尺度就需要不斷的調節以產生勻速的比特流。但是,提高量化尺度可能帶來可視的失真效果。比如馬賽克現象。
第三部(Part 3):音頻-音頻壓縮
MPEG-2的第三部分定義了音頻壓縮標準。MPEG-2 BC(Backwards compatible),後向兼容MPEG-1音頻。該部分改進了MPEG-1的音頻壓縮,支持兩通道以上的音頻,可高達5.1多聲道。MPEG-2音頻 壓縮部分也保持了向後兼容的特點(也稱爲MPEG - 2 BC),允許的MPEG - 1音頻解碼器解碼兩個主立體聲組件。還定義音頻MPEG-1 Layer I,II ,III額外的比特率和採樣頻率。
例如mp2,是MPEG-1 Audio level 2,標準有:ISO/IEC 11172-3, ISO/IEC 13818-3。MPEG-1Layer II 定義在 ISO/IEC 11172-3,也就是MPEG-1的第三部分,在 ISO/IEC 13818-3,也就是MPEG-2的第3部分定義擴展。
第四部(Part 4):測試規範
描述測試程序。
第五部(Part 5):仿真軟件
描述軟件仿真系統。
第六部(Part 6):DSM-CC(Digital Storage Media Commandand Control)擴展
描述DSM-CC(數字存儲媒體命令及控制)擴展。
第七部(Part 7):Advanced Audio Coding (AAC)
MPEG-2的第七部分定義了不能向後兼容的音頻壓縮(也成爲MPEG-2 NBC)。也成爲MPEG-2 NBC(not-backwards compatible MPEG-1Audio)。該部分提供了更強的音頻功能。通常我們所說的MPEG-2 AAC指的就是這一部分。AAC即Advanced Audio Coding。 AAC是比以前的MPEG音頻標準的效率,並在某個程度上沒有它的前任MPEG-1 Layer3(MP3)複雜,它沒有複雜的混合濾波器(hybrid filter bank)。它支持從1到48個通道,採樣率從8-96千赫,多渠道,多語種和多節目(multiprogram)能力。AAC也在MPEG-4標準的第 3部分描述。
第八 部(Part 8):
已取消。
第九部(Part 9):實時接口擴展
實時接口擴展。
第十部(Part 10):DSM-CC一致性擴展
DSM-CC一致性擴展。
第十一部(Part 11) :IP
知識產權管理(IPMP)。XML定義在ISO/IEC23001-3。MPEG-2內核技術大約涉及640個專利,這些專利主要集中在20間公司和一間大學。
MPEG- 2音頻
MPEG- 2提供新的音頻編碼方式。在第3部分和第7部分介紹。
第三部分
MPEG-2 BC (backward compatible with MPEG-1 audio formats),使用一半的取樣速率處理低位速率的音頻,(MPEG-1 Layer 1/2/3 LSF),多通道編碼達到5.1個通道。
第七部分
MPEG-2 NBC (Non-Backward Compatible),提供MPEG-2AAC,且不能向後兼容, 多通道編碼達到 48個通道。
MPEG- 2 profile和level
MPEG- 2提供廣泛的應用, 對於大部分的應用,即不現實的也過於昂貴,去支持整個標準,通常只支持子集,因此標準定義了profile和level來表示這些子集。profile定 義特性相關,例如壓縮算法,色度格式等。level定義性能相關,例如最大比特率,最大幀大小等。一個應用程序應當通過profile和level來表示 他的能力。profile和level的組合構成MPEG-2視頻編碼標準在某種特定應用下的子集。對某一輸入格式的圖像,採用特定集合的壓縮編碼工具, 產生規定速率範圍內的編碼碼流 。 例如一臺DVD播放機可以說,它支持最多的主要profile和主要level(通常寫爲MP@ML)。
MPEG-2主要的profile:
名稱 |
英文 |
中文 |
圖像編碼類型 |
色度格式 YCbCr |
長寬比 |
伸縮模式 |
SP |
Simple Profile |
簡單類 |
I幀、P幀 |
4:2:0 |
4:3或16:9 |
|
MP |
Main Profile |
主類 |
I幀、P幀、B幀 |
4:2:0 |
4:3 或16:9 |
|
SNR |
SNR Scalable profile |
信噪比分層類 |
I幀、P幀、B幀 |
4:2:0 |
4:3 或16:9 |
信噪比可伸縮 |
Spatial |
Spatially scalable profile |
空間可分層類 |
I幀、P幀、B幀 |
4:2:0 |
4:3 或16:9 |
信噪比或空間可伸縮 |
442P |
4:2:2 Profile |
|
I幀、P幀、B幀 |
4:2:2 |
|
|
HP |
High profile |
高類 |
I幀、P幀、B幀 |
4:2:0或 4:2:2 |
4:3 或16:9 |
信噪比或空間可伸縮 |
MPEG-2主要的level:
名稱 |
英文 |
幀頻 |
最大長×最大寬 |
每秒最大亮度樣本 (約爲高×寬×幀頻率) |
最大比特率 (Mbit/s) |
LL |
Low Level |
23.976, 24, 25, 29.97, 30 |
352×288 |
3,041,280 |
4 |
ML |
Main Level |
23.976, 24, 25, 29.97, 30 |
720×576 |
10,368,000,例外爲:HP中4:2:0爲14,475,600,4:2:2爲11,059,200 |
15 |
H-14 |
High-1440 level |
23.976, 24, 25, 29.97, 30, 50, 59.94, 60 |
1440×1152 |
47,001,600,例外爲:HP中4:2:0爲62,668,800 |
60 |
HL |
High level |
23.976, 24, 25, 29.97, 30, 50, 59.94, 60 |
1920×1152 |
62,668,800,例外爲:HP中4:2:0爲83,558,400 |
80 |
組合例子
Profile @ Level |
Resolution (px) |
Framerate max. (Hz) |
Sampling |
Bitrate (Mbit/s) |
Example Application |
SP@LL |
176 × 144 |
15 |
4:2:0 |
0.096 |
Wireless handsets |
SP@ML |
352 × 288 |
15 |
4:2:0 |
0.384 |
PDAs |
320 × 240 |
24 |
||||
MP@LL |
352 × 288 |
30 |
4:2:0 |
4 |
Set-top boxes (STB) |
MP@ML |
720 × 480 |
30 |
4:2:0 |
15 (DVD: 9.8) |
DVD, SD-DVB |
720 × 576 |
25 |
||||
MP@H-14 |
1440 × 1080 |
30 |
4:2:0 |
60 (HDV: 25) |
HDV |
1280 × 720 |
30 |
||||
MP@HL |
1920 × 1080 |
30 |
4:2:0 |
80 |
ATSC 1080i, 720p60, HD-DVB (HDTV). (Bitrate for terrestrial transmission is limited to 19.39Mbit/s) |
1280 × 720 |
60 |
||||
422P@LL |
|
|
4:2:2 |
|
|
422P@ML |
720 × 480 |
30 |
4:2:2 |
50 |
Sony IMX using I-frame only, Broadcast "contribution" video (I&P only) |
720 × 576 |
25 |
||||
422P@H-14 |
1440 × 1080 |
30 |
4:2:2 |
80 |
Potential future MPEG-2-based HD products from Sony and Panasonic |
1280 × 720 |
60 |
||||
422P@HL |
1920 × 1080 |
30 |
4:2:2 |
300 |
Potential future MPEG-2-based HD products from Panasonic |
1280 × 720 |
60 |
MPEG- 2在DVD上的應用
DVD中採用了 MPEG-2標準並引入如下技術參數限制:
* 分辨率
o 720 x 480, 704 x 480, 352 x 480, 352 x 240 像素(NTSC制式)
o 720 x 576, 704 x 576, 352 x 576, 352 x 288 像素(PAL制式)
* 縱橫比
o 4:3
o 16:9
* 幀率(幀播放速度)
o 59.94 場/秒,23.976幀/秒,29.97幀/秒(NTSC)
o 50 場/秒,25幀/秒(PAL)
* 視頻+音頻 比特率
o 平均最大緩衝區 9.8 Mbit/s
o 峯值 15 Mbit/s
o 最小值 300 Kbit/s
* YUV 4:2:0
* 字幕支持
* 內嵌字幕支持(NTSC only)
* 音頻
o LPCM編碼:48kHz或96kHz;16或24-bit;最多可達6聲道
o MPEG Layer 2 (MP2):48 kHz,可達5.1聲道
o 杜比數字-Dolby Digital(DD,也稱爲AC-3):48 kHz,32-448kbit/s,可達5.1聲道
o 數字家庭影院系統-Digital Theater Systems (DTS):754 kbit/s或1510 kbit/s
o NTSC制式DVD必須包含至少一道LPCM或Dolby Digital
o PAL制式DVD必須包含至少一道MPEG Layer 2、LPCM或者Dolby Digital
* GOP結構
o 必須爲GOP提供串行的頭信息
o GOP最大可含幀數目:18 (NTSC) / 15 (PAL)
MPEG- 2在DVB上的應用
DVB-MPEG相關技術參數:
* 必須符合以下一種分辨率:
o 720 × 480 像素,24/1.001,24,30/1.001或30幀/秒
o 640 × 480 像素,24/1.001,24,30/1.001或30幀/秒
o 544 × 480 像素,24/1.001,24,30/1.001或30幀/秒
o 480 × 480 像素,24/1.001,24,30/1.001或30幀/秒
o 352 × 480 像素,24/1.001,24,30/1.001或30幀/秒
o 352 × 240 像素,24/1.001,24,30/1.001或30幀/秒
o 720 × 576 像素,25幀/秒
o 544 × 576 像素,25幀/秒
o 480 × 576 像素,25幀/秒
o 352 × 576 像素,25幀/秒
o 352 × 288 像素,25幀/秒
MPEG- 2和NTSC
必須符合以下一種分辨率:
o 1920 × 1080 像素,最多60幀/秒(1080i)
o 1280 × 720 像素,最多60幀/秒(720p)
o 720 × 576 像素,最多50幀/秒,25幀/秒(576i,576p)
o 720 × 480 像素,最多60幀/秒,30幀/秒(480i,480p)
o 640 × 480 像素,最多60幀/秒
注:1080i按 1920×1088像素編碼,但是最後8行在顯示時拋棄。
對YCbCr的補充資料
YCbCr不是一種絕對色彩空間,是YUV壓縮和偏移的版本。右圖爲UV色版。
Y(Luma,Luminance) 視訊,也就是灰階值。UV 視作表示彩度的 C(Chrominance或Chroma)。主要的採樣(subsample)格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。YUV的表示法稱爲 A:B:C 表示法:
* 4:4:4 表示完全取樣。
* 4:2:2 表示 2:1 的水平取樣,沒有垂直下采樣。
* 4:2:0 表示 2:1 的水平取樣,2:1 的垂直下采樣。
* 4:1:1 表示 4:1 的水平取樣,沒有垂直下采樣。
最 常用Y:UV記錄的比重通常 1:1 或2:1,DVD-Video 是以 YUV 4:2:0 的方式記錄,也就是我們俗稱的I420,YUV4:2:0 並不是說只有U(即 Cb), V(即 Cr)一定爲 0,而是指U:V互相援引,時見時隱,也就是說對於每一個行,只有一個U或者V份量,如果一行是4:2:0的話,下一行就是4:0:2,再下一行是 4:2:0...以此類推。
以上來自wiki資料的整理。
編解碼學習筆記(四):Mpeg系列——Mpeg 4
在上次對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) |
編解碼學習筆記(五):Mpeg系列——AAC音頻
下面資料來自wiki。AAC在MPEG2和MPEG4中定義。
擴展名:.m4a, .m4b, .m4p, .m4v, .m4r, .3gp, .mp4, .aac
互聯網媒體類型:audio/aac, audio/aacp, audio/3gpp, audio/3gpp2,audio/mp4, audio/MP4A-LATM, audio/mpeg4-generic
格式:有損數據壓縮
延伸自:MPEG-2 音頻
標準:ISO/IEC 13818-7(MPEG-2第7部), ISO/IEC 14496-3(MPEG-4第3部)
AAC(Advanced Audio Coding),中文稱爲“高級音頻編碼”,出現於1997年,基於 MPEG-2的音頻編碼技術。由Fraunhofer IIS、杜比實驗室、AT&T、Sony(索尼)等公司共同開發,目的是取代MP3格式。2000年,MPEG-4標準出現後,AAC 重新集成了其特性,加入了SBR技術和PS技術,爲了區別於傳統的 MPEG-2 AAC 又稱爲 MPEG-4 AAC。
AAC格式的主要擴展名有三種:
- AAC - 使用MPEG-2 Audio Transport Stream( ADTS,參見MPEG-2 )容器,區別於使用MPEG-4容器的MP4/M4A格式,屬於傳統的AAC編碼(FAAC默認的封裝,但FAAC亦可輸出 MPEG-4 封裝的AAC)
- MP4 - 使用了MPEG-4 Part 14(第14部分)的簡化版即3GPP Media Release 6 Basic (3gp6,參見3GP ) 進行封裝的AAC編碼(Nero AAC 編碼器僅能輸出MPEG-4封裝的AAC);
- M4A - 爲了區別純音頻MP4文件和包含視頻的MP4文件而由蘋果(Apple)公司使用的擴展名,Apple iTunes 對純音頻MP4文件採用了".M4A"命名。M4A的本質和音頻MP4相同,故音頻MP4文件亦可直接更改擴展名爲M4A。
作爲一種高壓縮比的音頻壓縮算法,AAC壓縮比通常爲18:1,也有資料說爲20:1,遠勝mp3; 在音質方面,由於採用多聲道,和使用低複雜性的描述方式,使其比幾乎所有的傳統編碼方式在同規格的情況下更勝一籌。不過直到2006年, 使用這一格式儲存音樂的並不多,可以播放該格式的mp3播放器更是少之又少,目前所知僅有蘋果iPod、Sony Walkman(NWZ-A、NWZ-S、NWZ-E、NWZ-X系列)、任天堂NDSi。魅 族M8,此外計算機上很多音樂播放軟體都支持AAC(前提是安裝過AAC解碼器),如蘋果iTunes。但在移動電話領域,AAC的支持度已很普 遍,Nokia、Sony Ericsson、Motorola等品牌均在其中高端產品中支持 AAC(一開始主要是LC-AAC,隨着移動電話性能的發展,HE-AAC的支持也已廣泛)。
AAC可以支 持多達48個音軌,15個低頻(LFE)音軌,5.1多聲道支持,更高的採樣率(最高可達 96kHz,音頻CD爲44.1kHz)和更高的採樣精度(支持8bit、16bit、24bit、32bit,音頻CD爲 16bit)以及有多種語言的兼容能力,更高的解碼效率,一般來說,AAC可以在對比MP3文件縮小30%的前題下提供更好的音質。
- 相 對於傳統的LC-AAC,High Efficiency AAC(HE-AAC或寫爲 AAC-HE)又稱爲 "aacPlus v1" 或 "AAC+" - 結合了 SBR (Spectral Band Replication) and AAC技術;適用於低比特率(64kbps以下);
- HE-AAC v2,又稱爲 "aacPlus v2" - 結合了 Parametric Stereo(參數化立體 聲,PS)和 HE-AAC 中的SBR技術。
因爲"AAC"是一個大家族,他們共分爲 9 種規格,以適應不同場合的需要,也正是由於 AAC 的規格(Profile)繁多,導致普通電腦用戶感覺十分困擾:
- MPEG-2 AAC LC 低複雜度規格(Low Complexity)
- MPEG-2 AAC Main 主規格
- MPEG-2 AAC SSR 可變採樣率規格(Scaleable Sample Rate)
- MPEG-4 AAC LC 低複雜度規格(Low Complexity),現在的手機比較常見的 MP4 文件中的音頻部份就包括了該規格音頻文件
- MPEG-4 AAC Main 主規格
- MPEG-4 AAC SSR 可變採樣率規格(Scaleable Sample Rate)
- MPEG-4 AAC LTP 長時期預測規格(Long Term Predicition)
- MPEG-4 AAC LD 低延遲規格(Low Delay)
- MPEG-4 AAC HE 高效率規格(High Efficiency)
上述的規格中,主規格(Main)包含了除增益控制之外的全部功能,其音質最好,而低複雜度規格(LC)則是比較簡單,沒有了增益控制,但提高了 編碼效率,至‘SSR’對‘LC’規格大體是相同,但是多了增益的控制功能,另外,MPEG-4 AAC/LTP/LD/HE,都是用在低比特率下編碼,特別是‘HE’是有 Nero ACC 編碼器支持,是近來常用的一種編碼器,不過通常來說,Main 規格和 LC 規格的音質相差不大,因此目前使用最多的 AAC 規格多數是‘LC’規格,因爲要考慮手機目前的存儲器能力未達合理水準。
編解碼學習筆記(六):H.26x系列
部分資料來源與wiki以及http://www.365pr.net/tech_view.asp?id=315。
H.26x有H.261,H.262,H.263, H.263v2以及H.264,H.261基本上已經不再使用。其中H.262和H.264已經在MPEG系列中介紹,他們分別對應MPEG2的第2部和MPEG-4的第10部。不在整理這方面的資料。
H.261
H.261其速率爲64kbps的整數倍(1~30倍)。它最初是 針對在ISDN(綜合業務數字網,Integrated Services Digital Network)上雙向聲像業務(特別是可視電話、視頻會議)而設計的。
H.261 是最早的運動圖像壓縮標準,它只對CIF和QCIF兩 種圖像格式進行處理,每幀圖像分成圖像層、宏塊組(GOB)層、宏塊(MB)層、塊(Block)層來處理;並詳細制定了視頻編碼的各個部分,包括運動補 償的幀間預測、DCT(離散餘弦變換)、量化、熵編碼,以及與固定速率的信道相適配的速率控制等部分。實際的編碼算法類似於MPEG算法,但不能與後者兼 容。H.261在實時編碼時比MPEG所佔用的CPU運算量少得多,此算法爲了優化帶寬佔用量,引進了在圖像質量與運動幅度之間的平衡折衷機制。也就是 說,劇烈運動的圖像比相對靜止的圖像質量要差。因此這種方法是屬於恆定碼流可變質量編碼。
H.261是第一個實 用的數字視頻編碼標準。H.261的設計相當成功,之後的視頻編碼國際標準基本上都是基於 H.261相同的設計框架,包括 MPEG-1,MPEG-2/H.262,H.263,甚至 H.264。同樣,H.261開發委員會(由Sakae Okubo領導,他的日文姓名是大久保榮)的基本的運作方式也被之後的視頻編碼標準開發組織所繼承。H.261使用了混合編碼框架,包括了基於運動補償的 幀間預測,基於離散餘弦變換的空域變換編碼,量化,zig-zag掃描和熵編碼。
實際上H.261標準僅僅規 定了如何進行視頻的解碼(後繼的各個視頻編碼標準也繼承了這種做法)。這樣的話,實際上開發者在編碼器的設計上擁有相當的自由來設計編碼算法,只要他們的 編碼器產生的碼流能夠被所有按照H.261規範製造的解碼器解碼就可以了。編碼器可以按照自己的需要對輸入的視頻進行任何預處理,解碼器也有自由對輸出的 視頻在顯示之前進行任何後處理。去塊效應濾波器是一個有效的後處理技術,它能明顯的減輕因爲使用分塊運動補償編碼造成的 塊效應(馬賽克)--在觀看低碼率視頻(例如網站上的視頻新聞)的時候我們都會注意到這種討厭的效應。因此,在之後的視頻編碼標準如H.264中就把去塊 效應濾波器加爲標準的一部分(即使在使用H.264 的時候,再完成解碼後再增加一個標準外的去塊效應濾波器也能提高主觀視頻質量)。
後 來的視頻編碼標準都可以說是在H.261的基礎上進行逐步改進,引入新功能得到的。現在的視頻編碼標準比起H.261 來在各性能方面都有了很大的提高,這使得H.261成爲了過時的標準,除了在一些視頻會議系統和網絡視頻中爲了向後兼容還支持H.261,已經基本上看不 到使用H.261的產品了。 但是這並不妨礙H.261成爲視頻編碼領域一個重要的里程碑式的標準。
H.263
H.263 最初設計爲基於H.324的系統進行傳輸 (即基於公共交換電話網和其它基於電路交換的網絡進行視頻會議和視頻電話)。後來發現H.263也可以成功的應用與H.323(基於RTP/IP網絡的視 頻會議系統),H.320(基於綜合業務數字網的視頻會議系統),RTSP(流式媒體傳輸系統)和SIP(基於因特網的視頻會議)。
基 於之前的視頻編碼國際標準(H.261,MPEG-1和H.262/MPEG-2),H.263的性能有了革命性的提高。它的第一版於1995年 完 成,在所有碼率下都優於之前的H.261。 之後還有在1998 年增加了新的功能的第二版H.263+,或者叫H.263v2,以及在2000年完 成的第三版H.263++,即H.263v3。
H.263v2(通常也叫做H.263+或者1998年版 H.263)是ITU-TH.263 視頻編 碼標準第二版的非正式名稱。 它保持了原先版本H.263的所有技術,但是通過增加了幾個附錄顯著的提高了編碼效率並提供了其它的一些能力,例如增強了抵抗傳輸信道的數據丟失的能力 (Robustness)。H.263+ 項目於1997年底/1998年初完成(這取決於我們怎麼定義"完成")。
H.263v3:接下來一個被稱爲"H.263++" 的項目被隨即推出,在H.263+的基礎上增加了更多的新的功能。H.263++於2000年底完成。增加了下面的附錄:
- Annex A - Inverse transform accuracy specification
- Annex B - Hypothetical Reference Decoder
- Annex C - Considerations for Multipoint
- Annex D - Unrestricted Motion Vector mode
- Annex E - Syntax-based Arithmetic Coding mode
- Annex F - Advanced Prediction mode
- Annex G - PB-frames mode
- Annex H - Forward Error Correction for coded video signal
在 H.263之後,ITU-T(在與MPEG的合作下)的下一代視頻編解碼器是H.264,或者叫AVC以及MPEG- 4第 10部分。由於H.264在性能上超越了H.263很多,現在通常認爲H.263是一個過時的標準(雖然它的開發完成並不是很久以前的事情)。大多數新的 視頻會議產品都已經支持了H.264視頻編解碼器,就像以前支持H.263和H.261一樣。
話雖然如 此,H.263在3GPP中仍然佔有很高的地位,後繼修訂的版本,包括運營商的標準一直保留着H.263, 作爲必選的要求,地位遠遠高於H.264,這是個奇怪的現象。一個重要的可能原因是H.263的編碼比H.264的要輕載,在手機的modem中提供 H.263的編解碼能力,不提供H.264的編解碼能力,或者只提供H.264的解碼能力不提供編碼能力,如果不是智能手機不能在主板的其他芯片(例如 CPU)提供H.264的編解碼能力,開發者就沒什麼辦法,H.263可以通過軟件來提供,H.264對處理能力的要求很高,目前需要依賴硬件能力提供。 因此H.263仍然具有很大的市場,尤其對於小尺寸的手持設備,屏幕分辨率有限,高清無意義。
H.264
H.264等同於MPEG-4的第10部,在這裏仍然收集資料進行學習記錄。
在 H.263之後,ITU-T(在與MPEG的合作下)的下一代視 頻編解碼器是H.264,或者叫AVC以 及MPEG-4第 10部分。由於H.264在性能上超越了H.263很多,現在通常認爲H.263是一個過時的標準(雖然它的開發完成並不是很久以前的事情)。大多數新的 視頻會議產品都已經支持了H.264視頻編解碼器,就像以前支持H.263和H.261一樣。
H.264/AVC 可工作於多種速率,廣泛應用於Internet/intranet上的多媒體流服務、視頻點播、可視遊戲、低碼率移動多媒體通信 (視頻 手機等)、交互式多媒體應用、實時多媒體監控、數字電視與演播電視和虛擬視頻會議等,大有在上述領域一統天下的趨勢,有非常廣泛的開發和應用前景。
H.264 是一種視頻高壓縮技術,同時稱爲MPEG-4 AVC,或MPEG-4 Part10。ITU-T從1998年就H.26L的H.26S兩個分組,H.26L研製節目時間較長的高壓縮編碼技術,H.26S則指短節目標準制訂部 門。前面的H.263就是H.26S標準化技術,而H.264標準是在H.26L基礎上發展而來的。爲了不引起誤解,ITU-T推薦使用H.264作爲這 一標準的正式名稱。H.264集中體現了當今國際視頻編碼解碼技術的最新成果。在相同的重建圖像質量下,H.264比其他視頻壓縮編碼具有更高的壓縮比、 更好的IP和無線網絡信道適應性。
首先,H.264具備超高壓縮率,其壓縮率爲MPEG-2的2 倍,MPEG-4的1.5倍。這樣的高壓縮率是以編碼的大運算量來換取的,H.264的編碼處理計算量有MPEG-2的十多倍。不過其解碼的運算量並沒有 上升很多。從CPU頻率和內存的高速發展的角度來看,1995年推出MPEG-2時,主流的CPU是奔騰100,內存更是小的可憐。而如今主流CPU的工 作頻率比那個時候快了30倍,內存擴大了50多倍。所以H.264編碼的大運算現在也不算什麼大問題了。
高壓 縮率使圖像的數據量減少,給存儲和傳輸帶來了方便。加上基本規格公開的國際標準和公正的許可制度,所以,電視廣播、家電和通信三大行業都進入到 H.264的實際運用研發中心。美國高等電視系統會議和日本無線電工業和事務協會都準備把H.264作爲地面便攜式數字電視廣播的編碼方式。歐洲數字電視 廣播標準化團體也正在將H.264作爲數字電視的一種編碼方式來採用。
家電行業中的視頻存儲設備廠商也看中了 H.264。東芝和NEC推出的下一代採用藍色激光的光碟HD DVD-ROM,因爲容量小於Sony等九大公司的藍光碟,故將視頻壓縮編碼改用H.264,從而使最終的節目錄制時長能與藍光碟相近。H.264也能使 HDTV節目錄像和 SDTV的長時間錄像成爲可能。因而,生產LSI芯片的廠商也十分重視H.264。D9型DVD碟只有8.5GB,不足以存放2小時的HDTV節目,如用 H.264來壓縮就變得有可能。同時,在通訊領域,互聯網工程任務已開始將H.264作爲實時傳輸協議流的格式進行標準化。互聯網和手機的視頻傳送也會有 H.264作爲編碼方式。
相對於MPEG壓縮編碼H.264的變化之一是在幀內編碼I畫面中,又加入了幀內預 測編碼技術,即解碼時可用周圍數據的差分值來重構畫面。在運動預 測塊中,H.264採用全面運動預測和I畫面幀內預測後,編碼量得到減少,但LSI的運算處理量增大。爲此,H.264引入了DCT的簡化處理技術,來減 輕LSI的負擔,畫質也有所改善。H.264與MPEG-2和MPEG-4的不同還存在於熵編碼塊中,H.264的熵編碼CAVLC(內容自適應可變長度 碼)和CABAC(內容自適應二進制算法編碼)能提高糾錯能力。而MPEG-2和MPEG-4是霍夫曼編碼。另外,還加入瞭解鎖濾波器 (Deblocking Filter),有降低噪聲的效果。H.264的整數變換以4×4像素塊爲單位,已比原來的8×8像素塊的塊噪聲少,再次降低,畫質得到了進一步提高。
H.264 標準分爲三檔:基本檔次;主要檔次(可用於SDTV、HDTV和DVD等);以及擴展檔次(用於網絡的視頻流)。其中H.264的基本檔 次是免費,用戶可以無償使用,現得到美國蘋果公司和美國Cisco系統公司、中國聯想公司、諾基亞、美國On2技術公司、德國西門子、TI公司等的支持; 其許可體系要比MPEG-4單純,公正無差別對待用戶和專利持有者。H.264替代MPEG-4的呼聲很高,除了其高性能外,低額專利費和公正的無差別許 可制度也至關重要。由於技術的日益成熟,半導體廠商已在進行H.264的編碼/解碼LSI的開發。特別是HDD錄像機和DVD錄像機等設備中,採用 H.264的實例已很多,更引起了半導體廠商的關心。加之,H.264採用的動畫編碼方式和音頻編碼方式具有多樣化特性,今後幾乎將會是全部廠商的主要規 格之一。
編碼效率比較
Codec |
MPEG-4 |
H.263 |
MPEG-2 |
H.264 |
39% |
49% |
64% |
MPEG-4 |
-- |
17% |
43% |
H.263 |
-- |
-- |
31% |