楊 霏,程 磊
(1.中國傳媒大學 信息工程學院,北京 100024;2.中國移動北京公司 網絡運行支撐中心,北京 100053)
地面數字電視廣播傳輸系統支持多頻網(MFN)和單頻網(SFN)兩種組網模式。MFN模式是指相鄰發射臺使用不同的頻道發送同一個節目的無線傳輸網絡;而SFN模式是指由多個位于不同地點、處于同步狀態的發射機組成的數字電視覆蓋網絡,網絡中的各個發射機以相同的頻率、在相同的時刻發射相同的節目信號,以實現對特定服務區的可靠覆蓋。相對MFN模式而言,SFN模式具有頻譜利用率高、網絡覆蓋質量好、便于頻率規劃、降低發射機功率、減少電磁污染等優勢。但同時,地面數字電視廣播單頻網的網絡結構也更復雜,網絡建設和維護成本更高[1]。這里,筆者參考地面數字電視的單頻網國家標準[2],設計并研發了一款符合國標的單頻網適配器。
圖1是國標中規定的地面數字電視單頻網組網系統的結構框圖。主要由單頻網適配器、TX網絡適配器、RX網絡適配器、同步系統、地面數字電視激勵器以及全球定位系統(GPS)接收機等部分組成[2-4]。

其中,根據單頻網適配器在單頻網中的位置,該設備需要實現的主要功能有:1)根據用戶的要求生成秒幀初始化包(SIP),并按標準要求插入TS流中。SIP中包含國標要求的工作模式、最大延時、對單個發射機尋址特殊控制等信息。2)按標準規定使不同的發射機工作模式自適應不同的傳輸碼率。用FPGA編程實現碼率適配,以GPS時鐘為基準,通過插空包來調整碼率。3)由于插入SIP,原TS流的某些信息失效,需要對其進行調整和更新,如節目參考時鐘(PCR)更新。
圖2所示為單頻網適配器的硬件設計框圖。

適配器硬件系統中:人機控制由液晶屏、按鍵、以太網接口及ARM平臺組成,完成參數的設置和狀態顯示;接口芯片CY7B923和CY7B933完成TS流的輸入輸出適配;GPS接收模塊接收GPS信號,馴服恒溫晶振,為系統提供穩定的頻率參考和時間參考信號;時鐘及鎖相環電路,產生鎖定在GPS頻率參考上的27MHz和14.592MHz時鐘信號,供FPGA程序處理使用,其中14.592 MHz可以產生國標地面數字電視標準中33種不同模式的碼流適配速率。
該單頻網適配器的核心功能均是由FPGA軟件編程來實現的,其系統框圖如圖3所示。

由于單頻網適配器的輸入是DVB-ASI信號,通過FPGA控制高速串行數據通信接收芯片CY7B933,將原DVB-ASI信號轉換為并行數據送入FPGA以便進行后續的信號處理。
本模塊首先接收TS碼流,利用一個異步FIFO提取有效數據,并進行碼流同步,明確每個字節在包中的位置。
并行碼流送入FPGA后,要實現對有效碼流和有用信息的提取存儲,即碼流解析。之后,將有效碼流數據包、系統根據用戶配置信息生成的SIP包按照標準進行重組,并按標準進行碼率適配,同時還需進行PCR更新。
碼流解析及碼流重組模塊是整個軟件編程中的重點和難點,其基本框圖如圖4所示。
4.2.1 碼流解析

從圖4中可知,刪除空包和提取PCR信息是該模塊的兩個主要組成部分。由于TS流用PID來標識該包的數據類型,可以通過提取并判斷該包的PID是否為空來確定該包是否為空包。如果是空包,則不將其送入下一個RAM模塊,直接丟棄。
提取PCR信息部分還分為提取PCR的PID以及信息字段兩個部分。首先要過濾解析PAT表、PMT表,提取PCR包的PID信息。然后,從TS流中過濾PCR數據包。由于從PCR包中提取PCR信息后需要重計算,此部分內容將在PCR更新模塊(4.2.2節)詳細敘述。
4.2.2 PCR的更新
PCR作為編碼器中時鐘定時的比較參考信號,由編碼器端的27 MHz時鐘信號抽樣產生。它是42 bit的碼字,由兩部分組成:一部分以系統參考時鐘的1/300(90 kHz)為單位,稱為PCR基礎部分,長33 bit;另一部分稱PCR擴展部分,直接以系統參考時鐘(27MHz)為單位,長9 bit。PCR在MPEG-2系統中非常重要,其攜帶的信息相當于編碼器端的時鐘信息,解碼器利用PCR信息,通過解碼端的鎖相環電路修正解碼器的系統時鐘,使其達到與編碼器端時鐘趨于一致的27 MHz時鐘。其視頻和音頻抽樣時鐘也需要鎖相于該系統時鐘,也就是說,視音頻解碼過程能否正常進行,首先取決于解復用器能否準確恢復PCR。PCR信息在DVB標準中要求至少每隔40 ms被傳輸一次,通常情況下,PCR不直接改變解碼器的本地時鐘,而僅作為參考基準來調整本地時鐘,使解碼器的本地時鐘與PCR趨于一致,從而與編碼端的時鐘趨于一致[5]。
PCR信息是節目時鐘參考的依據,但當該TS流送入單頻網適配器后,要對其刪空包、插SIP包、碼流適配,這一系列操作使得原來的PCR數據變的無效,所以,單頻網適配器內部也需要一個27 MHz的計數器,將原TS流中的PCR信息提取、重計算后再插入輸出的TS流中。
綜上所述,PCR信息更新的基本原理是將原PCR包的PCR信息記錄下來,在該PCR包要輸出時,將該包在本系統中逗留的時間 (該包離開本系統和進入本系統時本地27 MHz計數器的計數值差)加在原PCR信息上,就得到更新后的PCR值,與TS流一并輸出。按照PCR的更新原理可以得到

式中:ΔPCR本地可以由 PCR本地出-PCR本地入來獲得,所以可得

從式(2)可得這樣的實現方法(見圖5):首先,當TS流進入系統后,首先通過已找到的PCR包的PID信息找到PCR數據包,將其包頭0x47改為其他值,方便在輸出部分被快速找出。同時將PCR信息與本地27 MHz計數器相減,相減后的值仍插入TS流中,一并送入TS流的RAM中。在輸出階段,在發現包頭位置為預先設定的其他值時,可以立刻確定該包為PCR包,將PCR信息提取出來與本地27 MHz計數器的當前值相加,最后插入TS流中送出系統,完成PCR信息的更新。

4.2.3 碼流重組
碼流重組模塊主要實現兩種功能:1)將原TS流、SIP包、空包按國標要求調整輸出順序,控制SIP包的輸出時間;2)根據單頻網不同的工作模式進行碼率適配。
根據GY/T229.1-2008[2]中的要求,每秒應向TS碼流中插入1個SIP包,并且插入時刻要與GPS的秒脈沖對齊。軟件實現TS包的發送順序如圖6所示。每個TS包發送完畢后,都會進入等待發送下一個TS包的時刻,這時,首先判斷程序是否一直能檢測到秒脈沖,若秒脈沖的狀態良好,則在其到來的同時,發送SIP包;如果當前狀態不是秒脈沖到來時刻,或者不應該發送SIP時,則檢測輸入TS流的RAM中是否有未發送的TS包,若有,發送TS流RAM中的數據包,若沒有,則發送空包。在秒脈沖到來的這一時刻,不能有其他TS包正在發送的現象,否則會因為發送的TS包突然中斷而造成個別TS包不完整。這個問題可以通過嚴格適配TS流的輸出碼率來避免。
GY/T229.1-2008[2]中還明確規定了在不同的調制方式、幀頭模式、編碼效率情況下,1個秒幀(即1 s)中包含TS包的數量。首先,根據工作模式的信息,確定發送TS流碼率。采用14.592 MHz的時鐘,可以滿足國標中規定的所有模式下的TS包率,可以保證在1 s內正好發完相應的包數。而數據發送和輸出部分是以27 MHz為控制時鐘,在發送時要保證均勻發送每個TS字節。

數據發送和輸出控制模塊,將處理后的碼流送入高速串行數據通信發送芯片CY7B923,同時向CY7B923提供控制信號,通過此芯片將并行數據轉換為串行數據后輸出。
用戶設定模式的參數獲取模塊,通過RS-232串口通信協議實現與外部ARM控制平臺的通信,獲取由用戶設定的單頻網工作模式的相關參數。
參照國標中的要求,對經單頻網適配器實現的功能、輸出TS流的指標進行了測試,其輸出的SIP包內容正確,輸出的TS流碼率、PCR抖動以及TS流抖動各項指標均符合國標要求。配合碼流復用器、地面數字電視調制器、測試機頂盒構建系統,對單頻網適配器進行測試,機頂盒接收正常,視頻圖像流暢。
[1]馮景峰,劉駿,李國松.國家地面數字電視標準單頻網技術研究[J].廣播與電視技術,2008(6):23-26.
[2]GY/T229.1-2008,地面數字電視廣播單頻網適配器技術要求和測量方法[S].2008.
[3]宋靖濤,陳雪紅.單頻網適配器關鍵技術研究與實現[J].中國有線電視,2007(8):738-741.
[4]吳治慶,楊小雪,余少波.DTMB單頻網適配器設計[J].電視技術,2008,32(11):7-10.
[5]秦娟,吳琪,宣玉棟,等.數字電視PCR分析及校正實現[J].現代電視技術,2008(1):47-48.