MPEG-2碼流分析儀的整體設計與軟件實現(xiàn)
隨著數(shù)字電視技術(shù)的日漸成熟,我國電視網(wǎng)絡的數(shù)字化也正在進行中。為了保證數(shù)字電視網(wǎng)絡的正常運轉(zhuǎn)和傳輸質(zhì)量,必須采取相應的監(jiān)測設備作為輔助。碼流分析儀就是適應數(shù)字電視網(wǎng)絡的應用需求而開發(fā)的一種碼流監(jiān)測和分析設備。
目前市場上的碼流分析設備主要有嵌入式和"PCI板卡+PC機"兩種實現(xiàn)模式。嵌入式碼流分析儀成本較低,但是功能相對簡單,無法滿足復雜的應用需求,并且由于資源的限制,不適合或者無法完成大容量的碼流存儲備份等功能。"PCI板卡+PC機"的實現(xiàn)模式克服了這些缺點,卻存在價格較高的問題。比如美國泰克公司和后來一些廠家出產(chǎn)的碼流分析儀,價格都比較昂貴。我們分析對比了市場上的碼流分析儀產(chǎn)品后,自主研發(fā)出了性能良好的PCI板卡,并在此基礎上,選用國產(chǎn)工業(yè)控制機作為平臺,構(gòu)建了性能優(yōu)良、成本較低的碼流分析儀系統(tǒng)。
筆者在整個系統(tǒng)的研制過程中,主要從事碼流分析儀軟件部分的開發(fā)。因此,本文將在對MPEG-2背景知識和碼流分析儀整體結(jié)構(gòu)進行分析的基礎上,討論軟件部分的實現(xiàn)。
2 MPEG-2標準概述
2.1 MPEG-2與TS流
MPEG-2是如今數(shù)字電視領域系統(tǒng)層的普遍標準。該標準主要規(guī)定了傳送流(TS)和程序流(節(jié)目流)(PS)2種結(jié)構(gòu)。其中TS流適合于信道狀況相對惡劣,具有較高誤碼率的場合,因此已成為我國數(shù)字電視領域普遍使用的一種碼流格式。
TS流的組成過程是將原始的視頻和音頻信息按照適當?shù)某叽鐒澐譃镋S流,之后對ES包附加信息形成PES包,再按照一定的規(guī)則,將SI和PSI信息或者PES包附加上系統(tǒng)層控制信息而成為TS包,從而組成完整的TS流。TS包有2種尺寸188 B或者204 B,后者加入了循環(huán)校驗信息。
2.2 TS流的整體結(jié)構(gòu)
2.2.1 TS流系統(tǒng)層結(jié)構(gòu)
TS流系統(tǒng)層由有效負載和系統(tǒng)層信息構(gòu)成。
TS流系統(tǒng)層信息就是在PES包組成TS流的過程中,為了使碼流適合于信道傳輸和接收端恢復數(shù)據(jù)而添加的TS包頭和其他相關(guān)控制信息。系統(tǒng)層信息可以分為3類,即TS包頭信息、SI信息、PSI信息。
TS包頭是TS包的標識部分,以0X47標志一個TS包的開始,共4 B,包含了與當前TS包相關(guān)的其他信息。其中比較重要的有PID,adaption_field_control,continuity_counter等信息,PID標識了當前TS包攜帶的數(shù)據(jù)內(nèi)容(有效數(shù)據(jù)、SI或PSI信息),adaption_field _control表示當前包攜帶調(diào)整字段和有效負載的情況(共2位,第一位表示有無調(diào)整字段,第二位表示有無有效負載),continuity_counter是具有同一PID值的TS包之間的連續(xù)計數(shù)值。
從系統(tǒng)層的角度來看,TS包的結(jié)構(gòu)一般有以下幾種:有調(diào)整字段又有有效負載,只有調(diào)整字段沒有有效負載,只有有效負載沒有調(diào)整字段。這里所說的有效負載指的是原來PES包所包含的信息,PES包被分段后用來組成TS包,攜帶有SI和PSI信息的數(shù)據(jù)包不含有效負載。
2.2.2 PSI表
PSI即程序特殊信息,他包括所有使解碼器能進行程序的多路解調(diào)的規(guī)格化數(shù)據(jù)和私有數(shù)據(jù)。在傳送流中,程序特殊信息被分為4類標準結(jié)構(gòu),即程序相關(guān)表(PAT)、程序映射表(PMT)、網(wǎng)絡信息表(NIT)和條件訪問表(CAT),這些表被分段插入傳送流分組中。在接收端,解碼器可根據(jù)這些信息確定節(jié)目路數(shù)、每路節(jié)目包含的數(shù)據(jù)類型、PID分配情況等重要信息。
2.2.3 SI表
SI即業(yè)務信息,他定義了9種業(yè)務信息表,包括業(yè)務群關(guān)聯(lián)表(BAT)、業(yè)務描述表(SDT)、事件信息表(EIT)、運行狀態(tài)表(RST)、時間和日期表(TDT)、時間偏移表(TOT)、填充表(ST)、選擇信息表(SIT)、間斷信息表(DIT)。SI表中所包含的信息,對于解碼而言,并無多大貢獻,所以在進行碼流分析儀設計的時候,對于這一部分信息僅做了提取和翻譯,并沒有進行太多的處理。
3 TS流的重要測試指標
3.1 290信息
290定義了3級錯誤。這里的錯誤有著廣泛的含義,他們主要是用來檢測在傳輸過程中所發(fā)生的錯誤和碼流本身的幀結(jié)構(gòu)與標準不一致的地方。這些不一致給碼流的傳輸和接收帶來了隱患,有些甚至會直接造成傳輸和接收的錯誤。錯誤級別劃分的主要依據(jù)是錯誤對接收的影響程度。大概說明如下:
(1)第一優(yōu)先級:可解碼的必要條件。
(2)第二優(yōu)先級:建議做連續(xù)的或定期的監(jiān)測。
(3)第三優(yōu)先級:與應用有關(guān)的監(jiān)測。
具體錯誤的定義,讀者可參閱相關(guān)標準,在此不作說明。
3.2 PCR間隔與PCR抖動
PCR是系統(tǒng)層的時鐘信息,由提取的PCR字段可計算出碼流的當前速率和平均速率,這些值在碼流傳輸和接收解碼中起著至關(guān)重要的作用。PCR間隔是指具有相同PCR_PID的PCR數(shù)值出現(xiàn)的時間間隔,PCR抖動是指由當前PCR字段獲得的當前速率和平均速率的偏差程度。在290里定義了與.PCR相關(guān)的錯誤,在理想解碼器緩沖區(qū)分析的過程中,PCR值也作為一個重要的參數(shù)來決定碼流的每一個字節(jié)進入系統(tǒng)緩沖區(qū)的時間。
3.3理想解碼器緩沖區(qū)
MPEG-2相關(guān)協(xié)議里提出了理想解碼器的模型,在解碼器模型中,定義了上溢、下溢和清空3種緩沖區(qū)錯誤。這些緩沖區(qū)錯誤主要是由于各緩沖區(qū)尺寸和輸入輸出速率不匹配造成的。在實際的硬件電路設計中,并非所有的緩沖區(qū)都按照理想解碼器的模型來設計,但是根據(jù)理想解碼器模型,可以對碼流的速率匹配問題進行標準化的分析,防止實際接收機因為碼流的時鐘問題而產(chǎn)生錯誤。
評論