1. 程式人生 > >各種音視訊編解碼學習——————詳解 h264 ,mpeg4 ,aac 等所有音視訊格式

各種音視訊編解碼學習——————詳解 h264 ,mpeg4 ,aac 等所有音視訊格式

媒體業務是網路的主要業務之間。尤其移動網際網路業務的興起,在運營商和應用開發商中,媒體業務份量極重,其中媒體的編解碼服務涉及需求分析、應用開發、釋放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多分鐘的時間,而該片斷實時回放時間只有三分鐘。

資料(港臺將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),並只對殘餘訊號進行編碼,如此一來,可以去除一部份時間上或是空間上的冗餘資訊。接著,編碼器並不會直接對殘餘訊號進行編碼,而是先將殘餘訊號經過變換(通常為離散餘弦變換)然後量化以 進一步去除空間上和感知上的冗餘資訊。量化後得到的量化係數會再透過熵編碼,去除統計上的冗餘資訊。

視訊編碼標準發展

年份

標準

制定組織

解除版權保護
(DRM-free )

主要應用

1984

H.120

ITU-T

1990

H.261

ITU-T

視訊會議視訊通話

1993

ISOIEC

影音光碟(VCD

1995

ISO IEC ITU-T

DVD影碟DVD-Video )、藍光Blu-Ray )影碟、數位視訊廣播(DVB )、SVCD

1996

H.263 [6]

ITU-T

視訊會議視訊通話3G 手機視訊(3GP

2003

ISO IEC ITU-T

藍光Blu-Ray )影碟、數位視訊廣播(DVB )、iPod 視訊、高畫質DVDHD DVD

常見的編解碼見下表,在以後會分類論述:

上面的表格,檢視某個具體的codec,可以在中文的wiki中查詢,但是英文的wiki諮詢更為豐富,見下表

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系統傳輸方式有如下幾種:

·        衛星電視(DVB-S 及 DVB-S2)

·        有線電視(DVB-C)

·        無線電視(DVB-T)

·        手持地面無線(DVB-H)

這些標準定義了傳輸系統的物理層與資料鏈路層。裝置通過同步並行介面(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(通常寫為[email protected])。

  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

[email protected]

176 × 144

15

4:2:0

0.096

Wireless handsets

[email protected]

352 × 288

15

4:2:0

0.384

PDAs

320 × 240

24

[email protected]

352 × 288

30

4:2:0

4

Set-top boxes (STB)

[email protected]

720 × 480

30

4:2:0

15 (DVD: 9.8)

DVD, SD-DVB

720 × 576

25

[email protected]

1440 × 1080

30

4:2:0

60 (HDV: 25)

HDV

1280 × 720

30

[email protected]

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

[email protected]

4:2:2

[email protected]

720 × 480

30

4:2:2

50

Sony IMX using I-frame only, Broadcast "contribution" video (I&P only)

720 × 576

25

[email protected]

1440 × 1080

30

4:2:2

80

Potential future MPEG-2-based HD products from Sony and Panasonic

1280 × 720

60

[email protected]

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...以此類推。

在上次對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的有效組合使得編碼生成