天天看點

各種音視訊編解碼學習詳解(3)--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視訊CD光牒技術中。
  • 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。它是為CDCD光牒媒體定制的視訊和音頻壓縮格式。一張70分鐘的CDCD光牒傳輸速率大約在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),它為以檔案為基礎的媒體設計一個容器格式,用于 硬碟驅動器,CD光牒 和閃存。

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

以上來自wiki資料的整理。

繼續閱讀