文章目錄
上篇介紹了流媒體的基礎知識,本文單獨介紹MPEG-2
MPEG-2標準組成
ISO/IEC 13818-1:系統-描述視頻和音頻的同步和多路技術
ISO/IEC 13818-2:視頻-視頻壓縮
ISO/IEC 13818-3:音頻-音頻壓縮,包括多通道的MP3擴展。
ISO/IEC 13818-4:測試規範
ISO/IEC 13818-5:仿真軟件
ISO/IEC 13818-6:DSM-CC(Digital Storage Media Command and Control)擴展
ISO/IEC 13818-7:Advanced Audio Coding (AAC)
ISO/IEC 13818-9:實時接口擴展
ISO/IEC 13818-10:DSM-CC規範
系統、視頻、音頻標準介紹
ISO/IEC 13818-1: 系統部分
MPEG-2系統流有兩種形式,一種稱爲傳輸流(Transport Stream-TS),另一種稱爲節目流(Program Stream-PS)。這兩種不同形式是針對不同的應用而設計的。其中,節目流應用於貯存和傳輸都非常可靠的環境,如DVD這樣的本地貯存播放系統等;而傳輸流一般用於寬帶遠程傳輸,它採用固定包長的TS包傳輸,考慮了傳輸過程中可能出現的數據丟失或錯誤等情況。
ISO/IEC 13818-2視頻部分
MPEG-2視頻通常包含多個GOP(Group Of Pictures),每一個GOP包含多個幀。幀的類型通常包括I-幀、P-幀和B-幀。
I幀: 指幀內編碼畫面,解碼時不需要其它額外信息;
P幀:指從前面畫面中得到的前向預測畫面,前面畫面可以是I幀或P幀,它所需要的數據大約是I幀的一半;
B幀:指從前後的I幀或P幀畫面上雙向預測的畫面,需要的數據量大約是I幀的四分之一;
I幀編碼是爲了減少空間域冗餘,P幀和B幀是爲了減少時間域冗餘。
PTS:呈現時間(Presentation Time Stamp)
DTS:解碼時間(Decoding Time Stamp)
GOP是由固定模式的一系列I幀、P幀、B幀組成。常用的結構由12(PAL)或15(NTSC)個幀組成,具有以下形式IBBPBBPBBPBB(PBB)。GOP中各個幀的比例的選取和帶寬、圖像的質量要求有一定關係。例如因爲B幀的壓縮時間可能是I幀的三倍,所以對於計算能力不強的某些實時系統,可能需要減少B幀的比例。
MPEG-2支持隔行掃描和逐行掃描。在逐行掃描模式下,編碼的基本單元是幀。在隔行掃描模式下,基本編碼可以是幀,也可以是場(field)。
ISO/IEC 13818-3: 音頻部分
主要定義了MPEG-1 Layer3,即我們熟悉的MP3格式。
術語
ES: 基本流(Elementary Stream)
PES:打包基本流(Packetized Elementary Stream)
PS: 節目流(Program Stream)
TS: 傳輸流(Transport Stream),可以有多套節目
SCR:系統參考時鐘 (System Clock Reference),用於PS中
PCR:節目參考時鐘 (Program Clock Reference),用於TS中
PID: Packet Identifier,用於標識流的類型。
術語詳解
單個節目的音頻單元流(A-ES)和視頻單元流(V-ES)複合成MPEG-2系統流的過程如下圖所示:
音頻數據和視頻數據經壓縮編碼後形成音頻基本流(ES:Elementary Stream)和視頻基本流。基本流經過打包、附加某些必要信息後,形成打包基本流(PES:Packetized Elementary Stream)。音頻和視頻打包基本流經節目流複合器可以形成節目流,也可以經傳輸流複合器形成傳輸流。
PES Packet
Program Stream
Transport Stream
實際的有線電視數字傳輸系統都採用TS流, TS包長度定義爲188字節,其中4字節爲包頭,184字節爲有效負載。具體格式如下:
包頭包含一個同步字節,三個包含業務識別、加擾和控制信息的頭部字節。包頭格式如下:
包頭字段 | 長度(bits) | 說明 |
---|---|---|
Sync-byte | 8 | =0X47;同步頭 |
Transport-error-indicator | 1 | 出錯標誌 |
Payload-unit-start-indicator(PUSI) | 1 | 載荷單元起始指示 |
Transport-priority | 1 | 傳輸優先級規定 |
PID | 13 | 包識別標誌 |
Transport-scrambling-control | 1 | 加擾標誌 |
Adaptation-field-control | 1 | 適配域標誌 |
Continuity-counter | 1 | 連續遞增計數器 |
包頭中的PID(Packet Identifier)是一個很重要的參數。PID用於區分載荷的類型。通過PID就可以將規定的信道總頻帶在視頻、音頻、數據、系統控制信息間進行靈活的分配。
MPEG-2 TS包載荷所傳送的信息有兩種類型:
1)視頻、音頻的PES包以及輔助數據;
2)描述節目復接信息的PSI信息(Program Specific Information,節目專用信息)。
PSI 節目專用信息
MEPG-2標準的系統部分重點描述了MPEG-2系統級傳輸流中包含的PSI(Program Specific Information)信息。PSI信息能提供從複用器到接受機的節目配置,複用及解複用不同的節目碼流的必要信息。
MPEG-2中定義的PSI信息主要有:描述多路節目復接信息的PAT表(Program Associate Table,節目關聯表);描述單路節目復接信息的PMT表(Program Map Table,節目映射表);描述條件接收信息的CAT表(Conditional Access Table,條件接收表);提到但未具體定義NIT表(Network Information Table,網絡信息表);並定義了用於擴充PSI信息的私有表的語法。
PAT節目關聯表
節目關聯表(PAT Program Association Table)是數字電視系統中節目指示的根節點。其包標識符(Packet IDentifier、簡稱PID)爲0。終端設備(如機頂盒)搜索節目時最先都是從這張表開始搜索的。從PAT中解析出節目映射表(PMT),再從PMT解析出基本元素(如視頻、音頻、數據等)的PID及節目號、再根據節目從節目業務描述表(Service Description Table、簡稱SDT)中搜索出節目名稱。
PMT節目映射表
節目映射表(PMT,Program Map Table),該表的PID是由PAT提供給出的。通過該表可以得到一路節目中包含的信息,例如,該路節目由哪些流構成和這些流的類型(視頻,音頻,數據),指定節目中各流對應的PID,以及該節目的PCR所對應的PID。
關注"麻辣軟硬件",獲取更多有料的軟硬件知識