新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > ATM網絡MPEG-Ⅱ比特率測量系統的設計

        ATM網絡MPEG-Ⅱ比特率測量系統的設計

        ——
        作者:趙忠偉 李式巨 時間:2007-04-16 來源:51CTO.COM 收藏
        1 引言

        作為一種運動圖像國際標準已經得到廣泛應用,數字視頻廣播(DVB)已經將作為一種源格式。在許多實際應用中包括衛星廣播、數字電纜和高清晰度電視分組是通過編碼器同步接口輸入到信道中。而在寬帶數字通信網中如ADSL,FTTC和寬帶IDSL是將MPEG-Ⅱ分組轉化成另外一種傳輸分組,在這種情況下,一定數目的傳輸流分組被壓縮成一個 AAL-5 PDU單元,在分組交換時,PDU被分解成幾個單元。至于有多少傳輸流分組壓縮成為 AAL-5 PDU單元,主要與ATM協議有關,一般是2個傳輸流分組壓縮成一個AAL-5 PDU單元。一個中傳輸的MPEG-2傳輸流需要內部的分組延遲進行時間上的控制,這種控制主要是為了發送程序參考時鐘,從而在系統接收端進行解碼時對系統時鐘進行恢復。同時也可以避免解碼器的輸入緩沖的上溢和下溢。

        在設計一個視頻發送系統的時候,對MPEG-Ⅱ傳輸流的實行精確的控制就顯得尤為重要。當MPEG-Ⅱ分組進行直接傳送時,系統時間的控制是比較簡單的,關鍵問題是如何對視頻源的輸入時間進

        行精確的計算。如果解決了這個問題,解碼器端的解碼時鐘或者系統層復用器輸入的系統時鐘基本能夠和編碼器的系統時鐘保持同步。如果當前網絡能夠容忍一定量的分組延遲,那么對網絡堵塞而造成的分組延遲就不是我們所關心的目標,因此對MPEG-Ⅱ進行對于整個解碼器的設計或者視頻發送系統不是顯得很關鍵的問題。但是當MPEG-Ⅱ傳輸流分組轉化成另外一種格式如ATM AAL-5 PDU單元的時候,對由于網絡堵塞而造成內部分組延遲甚至是分組丟失就成為一個能否有效解碼的十分關鍵的問題。在這里我們提出了一種簡單而有效的方法,可以在解碼器或者系統層復用器接收端進行有效的MPEG-Ⅱ。通過用MPEG解碼芯片和一個嵌入式處理器對MPEG-Ⅱ傳輸流的程序參考時鐘進行統一管理。由于MPEG-Ⅱ傳輸流程序參考時鐘是根據一定的編碼器系統參考時鐘設定的,所以通過對其實時監控就可以基本確定該流的比特率,同時將當前解碼器的參考時鐘和程序參考時鐘PCR進行對比,就可以對要的網絡堵塞進行校驗。而且設計了一種硬件評估卡對該方法進行了驗證,驗證的結果基本符合當前CATV或者的要求。

        2 網絡堵塞和系統參考時鐘的恢復

        根據MPEG-Ⅱ國際標準,編碼器將系統參考時鐘(27 MHz)的1/33進行編碼,編碼后的數據進行一定擴展和處理后作為程序參考時鐘PCR嵌入到傳輸流分組中。因此在解碼器端,通過對PCR的恢復就可以確定編碼的系統時鐘,從而達到編解碼的同步。由于在傳輸流中,含有PCR字段分組的PID值在程序映射表(PMT)得到確定。根據這個含有PCR字段的分組PID就可以參考設置將第一個含有PCR的分組作為系統時鐘STC的參考PCR,然后將其余的含有PCR字段的傳輸分組中的PCR的值通過一定的方式處理就可以恢復系統時鐘。恢復系統時鐘的方法如下:

        (1)將第一個PCR的值對STC進行初始化。

        (2)考慮解碼器輸入緩沖的上溢和下溢的影響,對其大小進行一定的估計,從而確定解碼輸入緩沖。根據當前MPEG-Ⅱ傳輸流的最大碼率計算,連續含有PCR字段的分組的時間間隔必須小于0.1 s。

        (3)對于連續到達的PCR的值進行鎖定,通過和第一個PCR的值進行對比,就可以確定STC。

        由于在MPEG解復用器輸出到緩沖器的過程中以往沒能對其碼速進行測量,從而會造成緩沖的上溢,而在視頻和音頻解碼器端,在緩沖輸入到解碼器的過程中,同樣原因而造成緩沖的下溢。為此在ATM/CATV網絡到MPEG解復用器的過程中,如果能夠添加一個接收器的比特監控單元,將能夠減少由于網絡堵塞而造成的麻煩。

        如果從傳輸分組中得到的含有PCR字段的分組,由于網絡堵塞而造成PCR的值隨機延遲,解碼器和嵌入的系統處理器,將會按照一定的算法對PCR的值進行校正,從而恢復STC。這個校正和當前的MPEG比特率有密切關系,是將當前MPEG比特率對PCR的值進行一定的補償從而恢復PCR的原值。如果對當前的PCR不進行校正,那么視頻解碼、圖像和D/A轉換都會由于這個STC的無法恢復而受到影響。為此,在整個解碼器或者解復用器的系統設計過程中,對當前MPEG比特率的實時監控和測量是至關重要的,它的目的就是為了對當前網絡傳輸的延遲進行實時的測量和監控。如果在接收器中能夠實時跟蹤當前的比特率的話,那么基本上ATM/CATV網絡的傳輸延遲(網絡堵塞)將會在解碼器端得到實時的補償。

        3 接收端MPEG比特率的測量算法

        在ATM或者CATV網絡傳輸過程中,MPEG-Ⅱ傳輸分組由于網絡堵塞而造成的隨機延遲,使得在解復用器或者解碼器端接收到的分組系統時鐘和發送端輸出的有一定的偏移,在理想情況下,往往對這個偏移不進行考慮,但正是由于這一點而造成視頻解碼無法正常工作,或者圖像無法恢復到原先的狀態。在這種情況下,對系統時鐘STC的恢復將會在一個不確定的狀態下進行。為了避免這種情況的發生,就必須對STC的狀態進行檢測,將當前得到的PCR的值和本地產生的時鐘進行比較,比較的公式推導如下:

        (ΔSTC-ΔPCR)ΔSTC=(Δb/ΔPCR-Rf)(Δb/ΔPCR)(1)

        式中:ΔSTC=STC(t)-STC(t-1)

        ΔPCR=PCR(t)-PCR(t-1)

        Δb=b(t)-b(t-1)

        t——PCR到達時間;

        b(t)——在PCR到達時間t時刻累加的比特數;

        Rf——在兩個連續過程和更多的PCR之間的運行時間比特率。

        如果這里用Sf來替代Δb/ΔPCR,那么(1)式就可以變為:

        (ΔSTC-ΔPCR)/ΔSTC=(Sf-Rf) /Sf(2)

        在上式中

        很容易看到Sf能夠在視頻信號傳輸之前就可以得到,而且Sf在恒定比特率傳輸流CBR中是一個常量K,因此在CBR中將上式可以演化成為:

        Rf=(ΔSTC/ΔPCR)K(3)

        而在可變速率MPEG-Ⅱ傳輸流(VBR)中由于Sf是一個變量,因此(2)式可以演變成為:

        Rf=(ΔSTC



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 内丘县| 内乡县| 黑龙江省| 遂昌县| 罗山县| 阿鲁科尔沁旗| 建德市| 揭西县| 泸水县| 磴口县| 邓州市| 凤山县| 香格里拉县| 呼图壁县| 新龙县| 东乡族自治县| 南陵县| 兴化市| 洪洞县| 社会| 云龙县| 博白县| 察隅县| 荆门市| 外汇| 灵山县| 陵水| 苍山县| 喀喇| 枣庄市| 合水县| 普陀区| 黄石市| 镇康县| 吉林省| 开封市| 隆子县| 特克斯县| 高雄市| 监利县| 宁化县|