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