MPEG-2復用器PSI信息分析部分的FPGA實現(xiàn)
復用器是數(shù)字電視前端平臺的關鍵設備,它的主要功能是完成對輸入多路傳輸流(Transport Stream,TS)的復用工作,它的性能穩(wěn)定性直接影響前端平臺的運行。而復用器對傳輸流中節(jié)目特殊信息(Program Spe-cial Information,PSI)的分析處理是否完整全面,則直接影響到復用器其他功能部分的運行結果是否正確。對PSI信息的檢測分析是復用器設計中首要的也是最重要的部分之一。下文將對PSI信息檢測問題進行深入的分析探討。
1 TS流語法結構
傳輸流以TS包為單位,其中每個包的長度為188 B,這188個字節(jié)大致可以分為:包頭、調(diào)整字段和有效負載三個主要部分。包頭占4個字節(jié),如圖1所示。
同步字節(jié):8 b,值為0x47,表示一個TS包的開始。傳輸錯誤指示:1b,當置為1時,表明在相關的TS包中至少有一個不可糾正的錯誤。有效負載起始指示:1 b,在帶有PSI信息時,置1表示TS包含有PSI部分的第一個字節(jié)并帶有pointer field字段,否則表示不含有PSI的第一個字節(jié)。傳輸優(yōu)先級:1 b,置1表明相關的包比其他具有相同PID但此位沒有置1的TS包有更高的優(yōu)先級。PID:13 b字段,指示傳輸流有效負載的數(shù)據(jù)類型。傳輸加擾控制:2b,用來指示TS包有效負載的加擾方式。自適應字段控制:2b,用來指示本TS包首部是否跟有調(diào)整字段。連續(xù)計數(shù)器:4b,隨著每一個具有相同PID的傳輸流包而增加,當它達到最大值后又恢復到0。
節(jié)目專用信息PSI用來描述TS流的組成結構。它包括節(jié)目關聯(lián)表(Program Association Table,PAT)、節(jié)目映射表(Program Map Table,PMT)、網(wǎng)絡信息表(Network Information Table,NIT)和條件訪問表(Conditional Access Table,CAT)。PAT是PSI信息的最上層,列出了傳輸流中所有節(jié)目所對應的PMT的PID值,可以根據(jù)節(jié)目的PID值找到相應的PMT信息及NIT信息。節(jié)目映射表PMT提供節(jié)目號碼與組成它們的原始流之間的映射關系,這種映射表是一個TS流中所有節(jié)目定義的集合。網(wǎng)絡信息表NIT是可選的,其內(nèi)容是私有的,通常包括用戶選擇的服務和通道頻率、衛(wèi)星脈沖發(fā)射機、調(diào)制特性等的映射。條件接收表CAT提供條件接收(CA)系統(tǒng)的相關信息,指定EMM的PID值及相關的參數(shù)。
2 PSI信息提取分析
由于PSI信息四個表結構差別不大,所以提取算法也大致相似,在此主要以PAT表為例詳細介紹JSI信息的提取流程。對TS流的分析在FPGA內(nèi)部以字節(jié)為單位。PAT語法結構如圖2所示。
PAT的提取流程:
(1)首先應在傳輸流中找到包首PID 13位全為0且有效負載起始指示位為l的TS包。
(2)然后根據(jù)自適應字段控制位判斷是否含有調(diào)整字段,再結合pointer_field字段值找到table_id,從此字段開始到CRC校驗字節(jié)之前,將對所有有效數(shù)據(jù)進行CRC校驗。
(3)接下來是section_length字段,由此字段可以得到該PAT分段的TS包個數(shù)。
p2p機相關文章:p2p原理
評論