• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            elva

            MPEG2 TS流

            聲明:以下內容轉帖自http://blog.lmtw.com/b/moreframe/archives/2006/40865.html,作者寫的非常好,感謝作者的辛苦。

            應該說真正了解TS,還是看了朋友推薦的《數字電視業(yè)務信息及其編碼》一書之后,MPEG2 TS和數字電視是緊密不可分割的,值得總結一下其中的一些關系。

            ISO/IEC-13818-1:系統(tǒng)部分;ISO/IEC-13818-2:視頻;ISO/IEC-13818-3:音頻;ISO/IEC-13818-4:一致性測試;ISO/IEC-13818-5:軟件部分;ISO/IEC-13818-6:數字存儲媒體命令與控制;ISO/IEC-13818-7:高級音頻編碼;ISO/IEC-13818-8:系統(tǒng)解碼實時接口;

            MPEG2系統(tǒng)任務包括:1. 規(guī)定以包傳輸數據的協(xié)議;2. 規(guī)定收發(fā)兩端數據流同步的協(xié)議;3. 提供多個數據流的復用和解復用協(xié)議;3. 提供數據流加密的協(xié)議。以包形式存儲和傳送數據流是MPEG2系統(tǒng)之要點。

            ES是直接從編碼器出來的數據流,可以是編碼過的視頻數據流,音頻數據流,或其他編碼數據流的統(tǒng)稱。ES流經過PES打包器之后,被轉換成PES包。PES包由包頭和payload組成,具體格式摘錄如下:


            可以看到PTS/DTS是打在PES包里面的,這兩個parameters是解決視音頻同步顯示,防止解碼器輸入緩存上溢或下溢的關鍵。PTS表示顯示單元出現(xiàn)在系統(tǒng)目標解碼器(STD: system target decoder)的時間,DTS表示將存取單元全部字節(jié)從STD的ES解碼緩存器移走的時刻。每個IPB幀的包頭都有一個PTSDTS,但PTSDTSB幀都是一樣的,無須標出B幀的DTS。對I幀和P幀,顯示前一定要存儲于視頻解碼器的重新排序緩存器中,經過延遲(重新排序)后再顯示,一定要分別標明PTSDTS

            上節(jié)介紹過,ES首先需打包成PES流包,然后PES根據需要打包成PS或TS包進行存儲或傳輸。其每路ES只包含一路信源的編碼數據流,所以每路PES也只包含相對應信源的數據流。

            對PS流而言,每個PES包頭含有PTS和DTS,流識別碼,用于區(qū)別不同性質ES。然后通過PS復用器將PES包復用成PS包。實際上是將PES包分解為更細小的PS包。在解碼的時候,解復用器將PS分解成一個個PES包,拆包器然后將PES包拆成視頻和音頻的ES,最后輸入至各自解碼器進行解碼。一個問題是:各個ES在解碼時,如何保證視音頻的同步呢?除了PTS和DTS的配合工作外,還有一個重要的參數是SCR(system clock reference)。在編碼的時候,PTS,DTS和SCR都是由STC(system time clock)生成的,在解碼時,STC會再生,并通過鎖相環(huán)路(PLL-phase lock loop),用本地SCR相位與輸入的瞬時SCR相位鎖相比較,以確定解碼過程是否同步,若不同步,則用這個瞬時SCR調整27MHz的本地時鐘頻率。最后,PTS,DTS和SCR一起配合,解決視音頻同步播放的問題。PS格式摘錄如下:


            PS包的長度比較長且可變,主要用于無誤碼環(huán)境里,因為越長的話,同步越困難,且在丟包的情況下,重組也越困難。所以,PS適合于節(jié)目信息的編輯和本地內容應用的application。

            TS流也是由一個或多個PES組合而來的,他們可以具有相同的時間基準,也可以不同。其基本的復用思想是,對具有相同時間基準的多個PES現(xiàn)進行節(jié)目復用,然后再對相互有獨立時間基準的各個PS進行傳輸復用,最終產生出TS。
             
            TS包由包頭和包數據2部分組成,其中包頭還可以包括擴展的自適用區(qū)。包頭長度占4bytes,自使用區(qū)和包數據共占184bytes,整個TS包長度相當于4個ATM包長。TS包的包頭由如下圖摘錄所示的同步字節(jié)、傳輸誤碼指示符、有效載荷單元起始指示符、傳輸優(yōu)先、包識別(PID-Packet Identification)、傳輸加擾控制、自適應區(qū)控制和連續(xù)計數器8個部分組成。

             

            其中,可用同步字節(jié)位串的自動相關特性,檢測數據流中的包限制,建立包同步;傳輸誤碼指示符,是指有不能消除誤碼時,采用誤碼校正解碼器可表示1bit 的誤碼,但無法校正;有效載荷單元起始指示符,表示該數據包是否存在確定的起始信息;傳輸優(yōu)先,是給TS包分配優(yōu)先權;PID值是由用戶確定的,解碼器根據PIDTS上從不同ES來的TS包區(qū)別出來,以重建原來的ES;傳輸加擾控制,可指示數據包內容是否加擾,但包頭和自適應區(qū)永遠不加擾;自適應區(qū)控制,用2 bit表示有否自適應區(qū),即(01)表示有有用信息無自適應區(qū),(10)表示無有用信息有自適應區(qū),(11)表示有有用信息有自適應區(qū),(00)無定義;連續(xù)計數器可對PID包傳送順序計數,據計數器讀數,接收端可判斷是否有包丟失及包傳送順序錯誤。顯然,包頭對TS包具有同步、識別、檢錯及加密功能。

                TS包自適應區(qū)由自適應區(qū)長、各種標志指示符、與插入標志有關的信息和填充數據4部分組成。其中標志部分由間斷指示符、隨機存取指示符、ES優(yōu)化指示符、PCR標志、接點標志、傳輸專用數據標志、原始PCR標志、自適應區(qū)擴展標志8個部分組成。重要的是標志部分的PCR字段,可給編解碼器的27MHz時鐘提供同步資料,進行同步。其過程是,通過PLL,用解碼時本地用PCR相位與輸入的瞬時PCR相位鎖相比較,確定解碼過程是否同步,若不同步,則用這個瞬時PCR調整時鐘頻率。因為,數字圖像采用了復雜而不同的壓縮編碼算法,造成每幅圖像的數據各不相同,使直接從壓縮編碼圖像數據的開始部分獲取時鐘信息成為不可能。為此,選擇了某些(而非全部)TS包的自適應區(qū)來傳送定時信息。于是,被選中的TS包的自適應區(qū),可用于測定包信息的控制bit和重要的控制信息。自適應區(qū)無須伴隨每個包都發(fā)送,發(fā)送多少主要由選中的TS包的傳輸專用時標參數決定。標志中的隨機存取指示符和接點標志,在節(jié)目變動時,為隨機進入I幀壓縮的數據流提供隨機進入點,也為插入當地節(jié)目提供方便。自適應區(qū)中的填充數據是由于PES包長不可能正好轉為TS包的整數倍,最后的TS包保留一小部分有用容量,通過填充字節(jié)加以填補,這樣可以防止緩存器下溢,保持總碼率恒定不變。

            前面3節(jié)總結了MPEG2 TS的基本格式,其中包括PES,PS和TS,以及相關字段的介紹。那么作為一種傳輸流,TS將內容進行打包/復用,讓其媒體內容變成TS傳輸,并最終在解碼端解碼。簡單來看,TS是一個傳輸層的協(xié)議棧,它可以承載各種內容的傳輸,比如MPEG,WMV,H264,甚至是IP,那么其中的傳輸規(guī)范是如何定義的呢?這個即是PSI(節(jié)目特定信息)要做的事情。

            PSI由四張表構成:PAT,PMT,CAT和NIT,這四張表分別描述了一個TS所包括的所有ES流的傳輸結構。首先的一個概念是,TS是以包形式傳播,在編解碼端都需要以一定的包ID來標識TS流里承載的內容,比如,PAT表會存在于一個或多個TS包里,所以要用一個特別的包ID來表示,另外,不同的ES流也需要不同的包ID來標識。我們有了PAT和PMT這兩種表,解碼器就可以根據PID,將TS上從不同ES來的TS包區(qū)分出來進行解碼。

            TS的解碼分兩步進行,其一,是從PID為0的TS包里,解析出PAT表,然后從PAT表里找到各個節(jié)目源的PID,一般此類節(jié)目源都由若干個ES流組成,并描述在PMT表里面,然后通過節(jié)目源的PID,就可以在PMT表里檢索到各個ES的PID。其二,解碼器根據PMT表里的ES流的PID,將TS流上的包進行區(qū)分,并按不同的ES流進行解碼。所以,TS是經過節(jié)目復用和傳輸復用兩層完成的,即在節(jié)目復用時,加入了PMT,在傳輸復用時,加入了PAT。同樣在節(jié)目解復用時,可以得到PMT,在傳輸解復用時,可以得到PAT。下圖很好地概述了其思想。

            TS是支持多路復用的,所以它可用來傳輸經復用后的多層節(jié)目。在復用過程中,要注意的是,解碼過程中所需要面對的時間參考和同步問題,因為解復用是需要各種信息同步進行的,所以在復用過程中,就需要插入相關的時間信息:PTS,DTS,PCR。

            在TS形成過程中,PTS和DTS是在ES打包成PES時,根據STC的參考,將其時鐘信息注入PES包中的,而之后在PES切成TS時,再將PID和PCR信息注入到TS包中,當多路TS再進行復用的時候,各路TS的PCR將會被提取出來,再進行分析,然后再根據統(tǒng)一的STC參考,將新的PCR生成并注入到TS中去,最后,因為原來PAT表信息不在適用,所以新的PAT表需要再生成,并附加到新的TS流中去。經過這多層的復用之后,新的TS流即可以進入調制,傳輸階段。過程可參見下圖:


            解碼過程要面對的問題是:解復用,視音頻的同步,解碼緩存器無上下溢。解復用即是將TS在同一信道里不同時序進行傳輸的節(jié)目分離出來;視音頻同步由DTS, PTS和PCR三者協(xié)調完成,并且PCR是重建系統(tǒng)時間基準的絕對時標,而DTS和PTS是解碼和重現(xiàn)時刻的相對時標;對解碼緩存器無上下溢的問題,必須借助于系統(tǒng)目標解碼器(STD)模型來對其進行實現(xiàn),基本思想如下:

            1. TS流進入解碼器后,首先由換向器,按照一定的時序關系,將各種ES流分解出來(其中也包括PSI信息流)。
            2. 分解過后的ES流會進入各自的傳輸緩存器,通過之后,其PES流進入各自的主存儲器,注意的是:PSI信息流會進入系統(tǒng)緩存器,最后也到達主存儲器。
            3. 最后,解碼器根據DTS信息,從各個主存儲器分別提取媒體或系統(tǒng)信息,進行解碼,并根據PTS信息,將媒體內容進行顯示處理。

            其過程可參見下圖:


             原文地址 http://blog.lmtw.com/b/moreframe/archives/2006/40865.html

            posted on 2009-03-05 17:04 葉子 閱讀(8701) 評論(3)  編輯 收藏 引用 所屬分類: MPEG

            Feedback

            # re: MPEG2 TS流 2009-05-20 13:06 dvb-dvb

            mpeg 2的詳細資料,能否給我, 我需要huffman code的資料,
            這個是我的,請考察我是否合格,
            http://www.cnitblog.com/dvb-dvb/archive/2009/03/20/55573.html  回復  更多評論   

            # re: MPEG2 TS流 2009-05-21 15:59 葉子

            你說的那個資料我這沒有,你的分析器看過,做的不錯。已留言到你blog  回復  更多評論   

            # re: MPEG2 TS流 2009-05-25 16:44 dvb-dvb

            根據我寫的code ,生成了huffman tree, ,
            總體看來不平衡,感覺樹要到了,是個歪脖子樹, 這個結果對么?,

            理想中的是,兩頭小,中間大,但這個樹,左邊比右邊小多了.
              回復  更多評論   

            97精品久久天干天天天按摩| 久久99精品久久久久久水蜜桃| 人人妻久久人人澡人人爽人人精品 | 久久亚洲欧美日本精品| 成人国内精品久久久久影院| 国产成人无码精品久久久免费| 无码人妻久久一区二区三区蜜桃 | 亚洲精品午夜国产VA久久成人 | 99久久精品免费| 超级97碰碰碰碰久久久久最新| 久久婷婷五月综合色高清| 亚洲乱亚洲乱淫久久| 久久精品综合网| 久久精品一区二区| 久久亚洲AV无码精品色午夜 | 久久综合国产乱子伦精品免费| 9191精品国产免费久久| 99久久国产宗和精品1上映| 伊人久久免费视频| 人妻少妇久久中文字幕一区二区| 久久精品99无色码中文字幕| 久久亚洲欧美国产精品| 久久亚洲熟女cc98cm| 91精品国产91久久久久久| 色欲久久久天天天综合网精品 | 久久精品无码一区二区三区免费| 性欧美丰满熟妇XXXX性久久久 | 国产精品内射久久久久欢欢| 久久精品免费一区二区| 久久人妻少妇嫩草AV无码蜜桃 | 奇米影视7777久久精品人人爽| 国内精品久久久久久久久电影网| 久久精品国产亚洲AV嫖农村妇女| 中文精品久久久久人妻不卡| 久久人妻无码中文字幕| 思思久久99热免费精品6| 精品久久久久久无码中文野结衣| 国产亚洲综合久久系列| 久久久一本精品99久久精品66| 国产aⅴ激情无码久久| 影音先锋女人AV鲁色资源网久久|