巫 江,楊 峰,唐繼勇,管金稱
(電子科技大學 自動化工程學院,四川 成都 611731)
傳統電視實現字幕播出系統是通過專業字幕機設備完成其功能的。各地方廣電網絡傳輸站將通過HFC網絡得到節目流,字幕機根據需要加載的頻點和ServiceID加載字幕及圖片等相關內容轉換為模擬信號后發送給該區域內的各個模擬用戶終端。數字電視字幕系統完全顛覆了傳統字幕系統的模式,數字電視字幕系統通過集中分級管理來管理字幕播出,各地方廣播網絡傳輸站不再需要字幕機。只需要通過中心服務器就可以完成各個地方的字幕播出任務。給地方管理通過SaaS(Software as a Service)模式就可以管理該區域的字幕播出。
該數字電視字幕系統具有如下優點:
1)采用基于SaaS的字幕控制系統,只需要通過IE瀏覽器就可以完成編輯和發送,不需要安裝其他客戶端軟件。安全性和可靠性高,而且系統升級方便。
2)擺脫了傳統字幕機的控制軟件和字幕機在一起的模式,該系統可以用于能夠連接到服務器的任意計算機,編輯人員甚至可以在家完成字幕控制。
3)不需要字幕機,字幕的TS流通過軟件生成。
4)可擴展性能好,主服務器可以與字幕服務分離開,通過標準XML數據進行通信。
數字電視字幕系統是通過中心服務器將字幕信息根據協議要求寫入TS數據流,并和節目進行復用,通過HFC網絡傳輸到各個數字電視機頂盒,機頂盒作為字幕播放終端,將接收到的信號進行解復用,通過協議對字幕流進行解析,并將字幕顯示到電視終端。該系統分為前端字幕編輯管理和數據生成下發兩部分。
前端字幕編輯部分主要功能:各編輯站通過字幕編輯系統將數據和命令通過IP數據專網傳輸給前端字幕存儲管理中心,編輯完成后生成標準XML數據,如圖1所示。

圖1 前端編輯站工作示意圖
數據生成部分主要功能:各播出站實時檢測前端字幕存儲管理中心是否有新的XML數據,如果檢測到有新的數據生成就獲取最新數據并更新版本號,然后讀取XML數據并根據協議生成TS數據流,各區域TS流信息包括:區域ID號,StreamID ServiceID,字幕內容,字幕位置等。各個區域的字幕流通過字幕流復用為一個流,再將這個流發送到 371 MHz,379 MHz,387 MHz,403 MHz 這4個不同的頻點上,將這4個頻點的節目數據流同字幕流進行復用,然后通過QAM調制器將信號加載到高頻信號并發送到數字電視客戶端機頂盒。機頂盒根據協議解析TS流,首先接收引導信息流,引導信息流包括播出頻道、PID等,將引導流信息保存到機頂盒。然后接收字幕數據信息。判斷是否為該區域的流,如果是則判斷是否為最新版本,如果是,機頂盒就接收下來并存儲到機頂盒,根據引導信息的條件進行播出,如圖2所示。

由于客戶端控制部分采用基于SaaS模式的操作系統,所以為了達到同桌面應用程序等同效果,該系統大量采用AJAX技術。
異步 JavaScript和 XML(Asynchronous JavaScript and XML,AJAX)是指一種創建交互式網頁應用的網頁開發技術。這個術語源自描述從基于網頁的Web應用到基于數據應用的轉換。在基于數據的應用中,用戶需求的數據如聯系人列表,可以從獨立于實際網頁的服務端取得并且可以被動態地寫入網頁中,給緩慢的Web應用體驗著色使之像桌面應用一樣。
利用AJAX的網絡數據交換同傳統網絡數據交換對比如圖3所示。
傳統的用戶界面同Web服務器之間的數據交換是實時的,即每當服務器執行完第一條指令過后才能執行第二條指令。這樣的缺點在于如果服務器處理指令過于頻繁或服務器繁忙,用戶界面就會等待服務器處理完命令后才會執行其他操作,這樣用戶界面部分就會存在響應慢的問題。通過AJAX處理命令就完全不一樣,界面命令會發送到AJAX engine的中間件,再由AJAX engine發送到服務器,這樣的優點就在于用戶界面上不會存在等待現象,只需向AJAX engine發送命令,AJAX engine再將命令交于服務器,服務器把命令處理完以后,將會把結果返回給AJAX engine。最后AJAX engine將結果發送至用戶界面。從而在用戶界面不需要等待服務器的命令處理,這樣就可以達到同桌面應用程序相等同的效果[1-2]。

圖3 傳統Web命令和AJAX命令響應對比
下面闡述控制部分3個重要環節:
1)新數據的產生。該系統的編輯部分為SaaS模式,用戶只需要通過IE瀏覽器就可以將字幕的文本信息、字幕位置、字幕播出時間、字幕移動速度等相關信息設置通過HTTP協議添加到Web服務器的數據庫,當確定編輯完成某個時段的字幕廣告后,調用Webservice的XML生成接口,將添加到數據庫的相關數據生成為XML標準文檔。如圖4所示。

2)數據的預生成。該功能支持各個編輯客戶端對該區域的廣告進行預編輯,即各個區域可以提前將播出任務編輯好,然后提交相關部門審核,審核通過后將會將狀態修改為可生產狀態。伺服軟件將會每天凌晨0時檢測是否有當天需要生產任務,如果有就自動生成當天XML文檔。整個伺服監視流程如圖5所示。
3)字幕優先級與一般級之間的切換。由于系統存在不同的發布優先級,優先級最高的字幕可以將各個區域的字幕替換為自己的字幕,這樣主要是為了方便統一發布通知等。當優先級最高字幕完成播放時將恢復之前播出數據。流程如圖6所示。

圖5 伺服軟件工作流程

圖6 優先級數據轉換流程
數據傳輸主要分服務器與播出端的數據傳輸和播出端到客戶端的數據傳輸,下面分別闡述2個部分的傳輸。
服務器與播出端的數據傳輸:該系統采用的是標準XML數據進行傳輸,XML具有包含數據和數據關系的優勢。由服務器生成當天XML數據。各播出端實時檢測該區域XML數據是否為最新,如果是最新XML數據則通過socket讓播出端和數據服務器建立連接并進行通話(該過程稱為握手過程)。然后播出端再與數據服務器連接并索取相關XML文件。播出端完成文件的下載過后就重新開始新的檢索,直到發現新的XML數據,然后產生新的握手連接。
播出端到客戶端的數據傳輸:該部分的中各區域播出端將接收到的XML數據,根據各自的區域號碼打包成不同的TS數據包,通過ASI卡發送到中心機房的復用器,然后將各個不同區域的TS數據流復用為1路信號,將這些信號通過加載到需要播出的頻點上 (本系統共有4個頻點),各個頻點將字幕TS流同節目復用后通過HFC網絡發送到各個數字電視終端。
字幕TS流協議原理如圖7所示。

該協議允許字幕廣告為若干個時段,每個時段里面存在若干個廣告,每條廣告分為信息段和數據段。播出端軟件根據該協議讀取通過socket傳輸過來的XML數據到編寫的結構中,最后將所有的字幕信息寫到TS流的NIT表里面生成TS流[3-4]。
該系統已經在河北承德成功運行,客戶端只需要IE就可以完成整個播出的編輯和控制。能夠實現各個不同區域客戶端的數據編輯審核和提交,能夠實現不同權限級別的管理,能夠實現最高權限對于各個區域播出的禁播控制。該系統在使用過程中還在不斷的改進,經過改進后將會更方便客戶端控制和操作字幕的播出。
[1]吳吉義,平玲娣.Web 2.0主流應用技術——AJAX性能分析[J].計算機工程與設計, 2008, 29(8):1913-1914.
[2]張美枝,高潤月,楊永平.基于SaaS模式下軟件設計方法的研究[J].農業網絡信息, 2007(12):169-170.
[3]周建.MPEG-2標準的一種改進[J].電視技術,2001(2):27-29.
[4]張東升,周金陵.DVB數字電視機頂盒中字幕解碼器的設計與實現[J].中國有線電視,2006(17):1702-1703.