MPEG2-TS
副檔名 |
.ts, .tsv, .tsa |
---|---|
網路媒體型式 |
video/MP2T[1]:38 |
開發者 | MPEG |
首次發布 | 1995年[2] |
格式類型 | 視頻文件格式(媒體流格式) |
作為容器 | 音頻、視頻、數據 |
延伸為 | M2TS, TOD |
標準 | ISO/IEC 13818-1, ITU-T Recommendation H.222.0[2] |
MPEG2-TS 傳輸串流(MPEG-2 Transport Stream;又稱MPEG-TS、MTS、TS)是一種標準數字封裝格式,用來傳輸和儲存視訊、音訊與頻道、節目信息,應用於數位電視廣播系統,如DVB、ATSC、ISDB[3]:118、IPTV等。
MPEG2-TS定義於MPEG-2第一部份:系統(即ISO/IEC標準13818-1或ITU-T Rec. H.222.0)。[2]
MPEG2-TS面向的傳輸媒介是地面和衛星等可靠性較低的傳輸媒介,這一點與面向較可靠媒介如DVD等的MPEG PS不同。[3]:117
傳輸協議
[編輯]1個TS(傳輸流)中封裝了多個子TS。通常子TS是分組化基本流(PES, Packetized elementary stream);分組化基本流中封裝基本流(ES,Elementary Stream),或者非MPEG的編碼流,例如AC-3、DTS音頻流,MJPEG、JPEG 2000視頻流、字幕所需要的文本和圖像、用於定義基本流的表、乃至電視台定義的電子節目表(EPG)等。[3]:117
一些相互獨立的流可以被復用在一個TS里,例如幾個不同的電視頻道或者同一個電影的多個拍攝角度。
每個傳輸流被分割為大小最大為188字節的TS封包(TS Packet),它是多路復用(multiplexing)的基本單位。多個不同的ES(基本流)的內容會分別被封裝到TSP中通過同一個TS傳輸。由於封包(分組)尺寸較小,復用對各個ES造成的時延也較低,對傳輸誤碼的耐受性也強於那些將一幀畫面封裝到一整個包里的容器格式,如MPEG PS和AVI、MOV/MP4、MKV等[4]。這對於視頻會議等對實時性要求高的場景特別有意義,因為單個分組損壞不會造成很大的語音延遲。
TS通常以固定碼率傳輸。固定碼率傳輸時,如果上層待傳輸內容不足,會發送空分組[5]以占位。藍光光碟中使用的MPEG-2 TS也使用了固定碼率。
下表為MPEG-2 TS協議的一個實際應用的例子:日本地面數字電視ISDB-T。表中列舉了TS、PES、ES層次上,ISDB-T這個具體的系統使用的具體標準。[3]:118
MPEG-2 TS 協議層次劃分 |
ISDB-T的協議棧 | ||||
---|---|---|---|---|---|
ES/Table | MPEG-2 視頻(H.262) (ISO/IEC 13818-2) |
MPEG-2 AAC (ISO/IEC 13818-7) |
數據服務(獨立PES模式) (ARIB STD-B24) |
PSI/SI (ISO/IEC 13818-1、ARIB STD-B10) |
數據服務(輪播模式[註 1]) (ARIB STD-B24) |
TRMP(加密) (ARIB STD-B25) | |||||
PES/Section | MPEG-2 PES (ISO/IEC 13818-1、ARIB STD-B32) |
表的分節(Table Section[註 2]) (ISO/IEC 13818-1、ARIB STD-B32) | |||
TS | MPEG-2 TS (ISO/IEC 13818-1) |
TS中的主要概念
[編輯]TS分組
[編輯]TS分組(TS packet)是TS的基本傳輸單位。在TS範圍以外並不存在描述一個TS的屬性的全局性的描述體。TS自身的全部信息僅由其自身描述,TS僅由一系列的TS分組構成。
每個TS分組以固定的同步字節起始,這個同步字節的值為0x47,它也是TS分組頭的一部分[3]:126。TS分組的必選頭長度為4字節,其後為可選部分,為載荷或適配域。TS分組的頭部固定以大端序讀寫。TS分組長度為188字節。
如同所有的傳輸協議一樣,雖然TS分組本身長度為188字節,其底層傳輸機制可以為每個TS分組附加一些信息以便傳輸,例如前向糾錯用的校驗部分。DVB和ISDB數字電視制式的前向糾錯信息有16個字節,而ATSC制式有20個字節[7]。
TS分組格式
[編輯]TS分組包括頭部和載荷兩部分。頭部包括固定長度部分和可選部分,可選部分中包括適配域。適配域有可選的擴展部分。[3]:125,126
本節介紹TS分組頭部中的固定部分和適配域(不包含適配域擴展部分)。
名稱 | 比特數 | 描述 | ||
---|---|---|---|---|
固定部分 (4字節) |
同步字節 | sync byte | 8 | 0x47 |
傳輸錯誤指示位 | Transport Error Indicator (TEI) | 1 | 發送時(調製前)值為0。接收方的解調器在無法成功解調(即使有前向糾錯機制)TS分組內容時,將該位設置為1,表示該TS分組損壞。[8] | |
載荷單元開始指示位 | Payload Unit Start Indicator | 1 | 負載單元起始標示符,一個完整的數據包開始時標記為1, 表示攜帶的是PSI或PES第一個包 | |
傳輸優先級 | Transport Priority | 1 | 值為1時,在相同PID的分組中具有更高的優先權。 | |
分組ID | PID | 13 | 用於識別TS分組的ID。一個PID對應一種特定的PSI消息或者一個特定的PES。 | |
傳輸加擾控制 | Transport Scrambling control (TSC) | 2 | 值為'00'時表示載荷未加密。其餘值由具體系統定義。以DVB的CSA[9]:8和ATSC的DCS為例:
| |
適配域存在標誌 | Adaptation field exist | 2 |
| |
連續性計數器 | Continuity counter | 4 | 取值為0x00到0x0F,循環。用於檢查同一個PID的TS分組的連續性。每當一個TS分組中包含載荷時,該計數器加1。 | |
可選部分 | 適配域 | Adaptation field | 0或更多 | 當適配域存在標誌為'10'或'11'時存在 |
載荷 | Payload Data | 0或更多 | 當適配域存在標誌為'01'或'11'時存在 |
適配域
[編輯]名稱 | 位元數 | 描述 | ||
---|---|---|---|---|
固定部分 (2字節) |
適配域長度 | Adaptation Field Length | 8 | 適配域的長度,單位為字節,不包含當前字節。 |
不連續指示位 | Discontinuity indicator | 1 | 如果根據連續性計數器或PCR計算,確認當前分組處於不連續狀態,則取值為1。 | |
隨機訪問指示位 | Random Access indicator | 1 | 如果當前分組是一個PES的起始,取值為1。 | |
ES優先級指示位 | Elementary stream priority indicator | 1 | 取值為1時ES優先級更高。 | |
PCR標識 | PCR flag | 1 | 1表示適配域中有PCR域 | |
OPCR標識 | OPCR flag | 1 | 1表示適配域中有OPCR域 | |
接續點標識 | Splicing point flag | 1 | 1表示適配域中有接續倒數計數器域 | |
傳輸私有數據標識 | Transport private data flag | 1 | 1表示適配域中有私有數據域 | |
適配域擴展標識 | Adaptation field extension flag | 1 | 1表示適配域中有適配域擴展域 | |
可選部分 | PCR | 33+6+9 | Program Clock Reference。結構為33位的低精度部分+6位的填充部分+9位的高精度部分。具體說明參見PCR一節。 | |
原PCR | OPCR | 33+6+9 | Original PCR。格式與PCR相同。在TS複製時使用。 | |
接續倒數計時器 | Splice countdown | 8 | 指示從當前分組起多少個分組之後接續點出現(取值可為負)。 | |
填充字節 | 可變長度 |
PID
[編輯]每一種PSI表和每個ES都對應一個PID值,它是將TS解復用為ES和PSI表的依據。常見的實現中,多個PES在TS中以時分復用方式存在,故而各ES的PID會輪流出現。
節目
[編輯]節目(Program)這個概念存在於TS中。每個節目在TS中對應一個節目映射表(PMT),不同的節目的PMT具有不同的PID。PMT中會指定與這個節目相關的所有ES的PID。
數字電視的一個TS中可能包含3個或更多[註 3]的節目。假設每個節目包含1個視頻ES,1到2個音頻ES,以及一些對應的PSI、數據服務等,播放電視節目的設備並不需要解析所有節目的視頻、音頻流,只需要根據PID,選擇相應的ES,解析並播放即可,與節目無關的PID對應的TS分組可以全部丟棄。
包含多個節目的TS稱為多節目TS(MPTS),只包含1個節目的TS成為單節目TS(SPTS)。
PSI
[編輯]節目專用信息(PSI,Program Specific Information),描述特定節目相關的屬性。MPEG-2標準規定了4種PSI:節目關聯表(PAT,Program Association Table)、節目映射表(PMT,Program Map Table)、條件訪問表(CAT,Conditional Access Table)以及網絡信息表(NIT,Network Information Table)[10]:107。其中MPEG-2標準規定了PAT和PMT的具體結構。
在基於MPEG-2 TS的一些系統,如地面數字電視DVB[11]:17,18、ATSC[12][註 4]、ISDB-T[13]等擴展了MPEG2-TS,引入了服務信息(SI,Service Information)這一概念。SI是PSI的補充,在協議層次上與PSI相同[3]:123。
PAT
[編輯]PAT (PAT: Program Association Table)列出該TS內所有節目。其PID固定為0x0000。每個節目由一個16比特的字段program_number指定。每個program_number都有一個對應的PID,用來指定該節目的PMT。PAT中不包含節目信息時,program_number為0x0000,則應從NIT(PID為0x0010)獲取節目信息。[3]:128,129
PMT
[編輯]PMT (PMT: Program Map Table)包含特定節目相關的信息,每一個節目有一個PMT。雖然MPEG-2協議標準允許多個PMT使用相同的PID,常見的系統中,如ATSC、SCTE中,不同的PMT有各自的PID。
PMT包含的信息有特定節目的program_number,以及該節目對應的所有ES的PID[註 5]。此外還有可選的描述子用來提供整個MPEG-2系統的屬性和特定ES的屬性。[3]:129
CAT
[編輯]CAT (CAT: Conditional Access Table) 用於節目的加密與解密。CAT對應PID為0x0001。
NIT
[編輯]NIT (NIT: Network Information Table 網絡信息表)提供TS的相關信息,如頻率、調製方式。在掃描所有頻道的節目時,關鍵信息來自各頻道的TS中的NIT。[3]:130
PCR
[編輯]節目時鐘參考(PCR,Program Clock Reference)使得解碼後的內容可以正確地同步播放。最多每100ms,接收方會從TS分組的適配域中得到特定節目的PCR值,PCR的PID由該節目的PMT中的PCR_PID域指定。解碼系統應當基於PCR生成高精度的系統校時時鐘(System Timing Clock,STC),用於同步聲音ES和視頻ES的內容。STC是MPEG-2系統裡校時的基準。例如,表示時間戳(Presentation timestamp,PTS)的值即是以PCR值為基準的偏移量。[10]:46,47
PCR包括一個33比特的低精度部分(90kHz)和一個9比特的高精度部分(27MHz,取值為0-299)[3]:134。PCR容許的最大抖動[註 6]為+/-500ns[10]:12。
空分組
[編輯]空分組(null packet)存在於某些使用MPEG2-TS的系統中,例如地面數字電視系統ATSC和DVB,用於保證固定碼率。在從ES復用到TS的過程中,如果ES的數據量不足用盡TS的比特率,則復用器模塊會插入空分組。空分組使用保留的PID值0x1FFF。空分組的載荷沒有意義,接收者應當丟棄[10]:8,19,20。
數字電視以外的應用
[編輯]數碼攝像機
[編輯]MPEG-2 TS原本的設計用途是數字電視廣播,不過後來用在數碼攝像機、錄像機、播放機上。用於非廣播類用途時,其TS分組格式有所不同:在分組上增加了4個字節長的時間碼(Time Code),使分組長度變為192字節[14]:15[15]。時間碼使得播放系統可以在允許隨機讀取的存儲媒介中快速找到特定時間點的視頻內容[16]。藉助時間碼也可以用來同步多個攝像機拍攝的內容。
JVC在基於硬盤存儲的數字攝像機產品中將這種流稱為TOD[17]。
藍光
[編輯]以前述格式構成的流被藍光光碟聯盟稱為「BDAV MPEG-2 transport stream」(字面意思為BDAV版本的MPEG2-TS),其文件擴展名為.m2ts[14]:15[16],俗稱M2TS流。藍光的影碟以BDAV(Blu-ray Disc Movie)格式的BDMV容器存儲音頻、視頻以及其他內容,用於BD-R和BD-RE等格式的錄製中[18][19]。由於藍光的M2TS和標準的MPEG TS格式基本相同,其設備能夠以非常小的延遲轉錄數字電視內容[15]。由於MPEG-2 TS原本就是面向實時播放的格式,使得藍光的內容可以簡單地從流中截取任意一段,降低了視頻剪輯的處理成本。此外,這種流格式也使得存儲媒介的物理損壞對內容的影響降到最小[20]:22。
關聯條目
[編輯]- MPEG媒體傳輸(MPEG media transport, MMT)
- 節目專用信息(PSI)
- 分組化基本流(PES)
- 實時傳輸協議(RTP)
- 單向輕量封裝(Unidirectional Lightweight Encapsulation,ULE)
注釋
[編輯]參考來源
[編輯]- ^ [RFC3555]MIME Type Registration of RTP Payload Formats. IETF. 2003-07 [2018-06-05]. (原始內容存檔於2017-07-07) (英語).
- ^ 2.0 2.1 2.2 Recommendation H.222.0 Information technology – Generic coding of moving pictures and associated audio information: Systems. ITU-T. [2018-06-05]. (原始內容存檔於2019-12-25) (英語).
- ^ 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 川口英; 辰巳博章. 地デジ受信機のしくみ. CQ出版. 2010-06. ISBN 978-4789845434 (日語).
- ^ MPEG2-TS(トランスポートストリーミング)について解説. ハイテックインター株式會社. 2018-01-18 [2018-06-06]. (原始內容存檔於2018-06-06) (日語).
- ^ Gorry Fairhurst. MPEG-2 Transmission. 阿伯丁大學. 2001-01 (英語).
- ^ 標準規格概要(STD-B24). 電波產業會. [2018-06-05]. (原始內容存檔於2020-08-06) (日語).
- ^ Wes Simpson. The Question: To FEC Or Not To FEC?. TV Technology. 2013-09-16 (英語).[永久失效連結]
- ^ FAQ. COOLSTF.com. [2018-06-05]. (原始內容存檔於2020-07-05) (英語).
- ^ Support for use of the DVB Scrambling Algorithm version 3 within digital broadcasting systems v1.1.1 (PDF). ETSI. 2013-11 [2018-06-05]. (原始內容 (PDF)存檔於2019-02-17) (英語).
- ^ 10.0 10.1 10.2 10.3 ISO/IEC 13818-1: Information technology — Generic coding of moving pictures and associated audio information: Systems 2000(E) (PDF). ISO/IEC. 2000 [2018-06-06]. (原始內容存檔 (PDF)於2020-12-03) (英語).
- ^ Final draft ETSI EN 300 468 V1.13.1 Digital Video Broadcasting (DVB); Specification for Service Information (SI) in DVB systems (PDF). ETSI. [2018-06-07]. (原始內容存檔 (PDF)於2020-07-11) (英語).
- ^ Service Information In ATSC And OpenCable Networks. TV without borders. [2018年6月7日]. (原始內容存檔於2018年6月7日) (英語).
- ^ 標準規格概要(STD-B10). 電波產業會. [2018-06-07]. (原始內容存檔於2018-06-12) (日語).
- ^ 14.0 14.1 2.B Audio Visual Application Format Specifications for BD-ROM (PDF). 藍光光碟聯盟. 2005-03 [2018-06-06]. (原始內容 (PDF)存檔於2009-07-30) (英語).
- ^ 15.0 15.1 Audio Visual Application Format Specification for BD-RE Version 2.1 (PDF). 藍光光碟聯盟. 2008-03 [2018-06-06]. (原始內容 (PDF)存檔於2009-07-30) (英語).
- ^ 16.0 16.1 poisondeathray. HFS10 - AVCHD how to maintain quality?. videohelp.com. 2009-06-03 [2018-06-06]. (原始內容存檔於2018-06-06) (英語).
- ^ ビデオカメラ&付属アプリケーションと各種OS動作確認情報. JVC. [2018-06-06]. (原始內容存檔於2020-11-27) (日語).
- ^ BDMV. afterdawn.com. [2018-06-06]. (原始內容存檔於2009-07-29) (英語).
- ^ BDAV. afterdawn.com. [2018年6月6日]. (原始內容存檔於2012年12月9日) (英語).
- ^ White Paper Blu-ray Disc™ Format General 2nd edition (PDF). 藍光光碟聯盟. 2010-10 [2018-06-06]. (原始內容 (PDF)存檔於2009-06-12) (英語).