热门问题
时间线
聊天
视角
MPEG2-TS
来自维基百科,自由的百科全书
Remove ads
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
Remove ads
傳輸協定

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
Remove ads
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封包包括頭部和載荷兩部分。頭部包括固定長度部分和可選部分,可選部分中包括適配域。適配域有可選的擴充部分。[3]:125,126
本節介紹TS封包頭部中的固定部分和適配域(不包含適配域擴充部分)。
Remove ads
Remove ads
每一種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,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。
Remove ads
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: 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: Conditional Access Table) 用於節目的加密與解密。CAT對應PID為0x0001。
NIT (NIT: Network Information Table 網絡資訊表)提供TS的相關資訊,如頻率、調制方式。在掃描所有頻道的節目時,關鍵資訊來自各頻道的TS中的NIT。[3]:130
節目時鐘參考(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]。藉助時間碼也可以用來同步多個攝像放像機拍攝的內容。
以前述格式構成的流被藍光光碟聯盟稱為「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。
關聯條目
註釋
參考來源
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads