MPEG2 TS小結
PSI由四張表構成:PAT,PMT,CAT和NIT,這四張表分別描述了一個TS所包括的所有ES流的傳輸結構。首先的一個概念是,TS是以包形式傳播,在編解碼端都需要以一定的包ID來標識TS流里承載的內容,比如,PAT表會存在于一個或多個TS包里,所以要用一個特別的包ID來表示,另外,不同的ES流也需要不同的包ID來標識。我們有了PAT和PMT這兩種表,解碼器就可以根據PID,將TS上從不同ES來的TS包區分出來進行解碼。
TS的解碼分兩步進行,其一,是從PID為0的TS包里,解析出PAT表,然后從PAT表里找到各個節目源的PID,一般此類節目源都由若干個ES流組成,并描述在PMT表里面,然后通過節目源的PID,就可以在PMT表里檢索到各個ES的PID。其二,解碼器根據PMT表里的ES流的PID,將TS流上的包進行區分,并按不同的ES流進行解碼。所以,TS是經過節目復用和傳輸復用兩層完成的,即在節目復用時,加入了PMT,在傳輸復用時,加入了PAT。同樣在節目解復用時,可以得到PMT,在傳輸解復用時,可以得到PAT。下圖很好地概述了其思想。

TS是支持多路復用的,所以它可用來傳輸經復用后的多層節目。在復用過程中,要注意的是,解碼過程中所需要面對的時間參考和同步問題,因為解復用是需要各種信息同步進行的,所以在復用過程中,就需要插入相關的時間信息:PTS,DTS,PCR。
在TS形成過程中,PTS和DTS是在ES打包成PES時,根據STC的參考,將其時鐘信息注入PES包中的,而之后在PES切成TS時,再將PID和PCR信息注入到TS包中,當多路TS再進行復用的時候,各路TS的PCR將會被提取出來,再進行分析,然后再根據統一的STC參考,將新的PCR生成并注入到TS中去,最后,因為原來PAT表信息不在適用,所以新的PAT表需要再生成,并附加到新的TS流中去。經過這多層的復用之后,新的TS流即可以進入調制,傳輸階段。過程可參見下圖:

解碼過程要面對的問題是:解復用,視音頻的同步,解碼緩存器無上下溢。解復用即是將TS在同一信道里不同時序進行傳輸的節目分離出來;視音頻同步由DTS, PTS和PCR三者協調完成,并且PCR是重建系統時間基準的絕對時標,而DTS和PTS是解碼和重現時刻的相對時標;對解碼緩存器無上下溢的問題,必須借助于系統目標解碼器(STD)模型來對其進行實現,基本思想如下:
TS流進入解碼器后,首先由換向器,按照一定的時序關系,將各種ES流分解出來(其中也包括PSI信息流)。
分解過后的ES流會進入各自的傳輸緩存器,通過之后,其PES流進入各自的主存儲器,注意的是:PSI信息流會進入系統緩存器,最后也到達主存儲器。
最后,解碼器根據DTS信息,從各個主存儲器分別提取媒體或系統信息,進行解碼,并根據PTS信息,將媒體內容進行顯示處理。
其過程可參見下圖:

pid控制相關文章:pid控制原理
評論