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