巫 江,楊 峰,唐繼勇,管金稱
(電子科技大學 自動化工程學院,四川 成都 611731)
傳統(tǒng)電視實現(xiàn)字幕播出系統(tǒng)是通過專業(yè)字幕機設備完成其功能的。各地方廣電網(wǎng)絡傳輸站將通過HFC網(wǎng)絡得到節(jié)目流,字幕機根據(jù)需要加載的頻點和ServiceID加載字幕及圖片等相關內(nèi)容轉換為模擬信號后發(fā)送給該區(qū)域內(nèi)的各個模擬用戶終端。數(shù)字電視字幕系統(tǒng)完全顛覆了傳統(tǒng)字幕系統(tǒng)的模式,數(shù)字電視字幕系統(tǒng)通過集中分級管理來管理字幕播出,各地方廣播網(wǎng)絡傳輸站不再需要字幕機。只需要通過中心服務器就可以完成各個地方的字幕播出任務。給地方管理通過SaaS(Software as a Service)模式就可以管理該區(qū)域的字幕播出。
該數(shù)字電視字幕系統(tǒng)具有如下優(yōu)點:
1)采用基于SaaS的字幕控制系統(tǒng),只需要通過IE瀏覽器就可以完成編輯和發(fā)送,不需要安裝其他客戶端軟件。安全性和可靠性高,而且系統(tǒng)升級方便。
2)擺脫了傳統(tǒng)字幕機的控制軟件和字幕機在一起的模式,該系統(tǒng)可以用于能夠連接到服務器的任意計算機,編輯人員甚至可以在家完成字幕控制。
3)不需要字幕機,字幕的TS流通過軟件生成。
4)可擴展性能好,主服務器可以與字幕服務分離開,通過標準XML數(shù)據(jù)進行通信。
數(shù)字電視字幕系統(tǒng)是通過中心服務器將字幕信息根據(jù)協(xié)議要求寫入TS數(shù)據(jù)流,并和節(jié)目進行復用,通過HFC網(wǎng)絡傳輸?shù)礁鱾€數(shù)字電視機頂盒,機頂盒作為字幕播放終端,將接收到的信號進行解復用,通過協(xié)議對字幕流進行解析,并將字幕顯示到電視終端。該系統(tǒng)分為前端字幕編輯管理和數(shù)據(jù)生成下發(fā)兩部分。
前端字幕編輯部分主要功能:各編輯站通過字幕編輯系統(tǒng)將數(shù)據(jù)和命令通過IP數(shù)據(jù)專網(wǎng)傳輸給前端字幕存儲管理中心,編輯完成后生成標準XML數(shù)據(jù),如圖1所示。
圖1 前端編輯站工作示意圖
數(shù)據(jù)生成部分主要功能:各播出站實時檢測前端字幕存儲管理中心是否有新的XML數(shù)據(jù),如果檢測到有新的數(shù)據(jù)生成就獲取最新數(shù)據(jù)并更新版本號,然后讀取XML數(shù)據(jù)并根據(jù)協(xié)議生成TS數(shù)據(jù)流,各區(qū)域TS流信息包括:區(qū)域ID號,StreamID ServiceID,字幕內(nèi)容,字幕位置等。各個區(qū)域的字幕流通過字幕流復用為一個流,再將這個流發(fā)送到 371 MHz,379 MHz,387 MHz,403 MHz 這4個不同的頻點上,將這4個頻點的節(jié)目數(shù)據(jù)流同字幕流進行復用,然后通過QAM調(diào)制器將信號加載到高頻信號并發(fā)送到數(shù)字電視客戶端機頂盒。機頂盒根據(jù)協(xié)議解析TS流,首先接收引導信息流,引導信息流包括播出頻道、PID等,將引導流信息保存到機頂盒。然后接收字幕數(shù)據(jù)信息。判斷是否為該區(qū)域的流,如果是則判斷是否為最新版本,如果是,機頂盒就接收下來并存儲到機頂盒,根據(jù)引導信息的條件進行播出,如圖2所示。
由于客戶端控制部分采用基于SaaS模式的操作系統(tǒng),所以為了達到同桌面應用程序等同效果,該系統(tǒng)大量采用AJAX技術。
異步 JavaScript和 XML(Asynchronous JavaScript and XML,AJAX)是指一種創(chuàng)建交互式網(wǎng)頁應用的網(wǎng)頁開發(fā)技術。這個術語源自描述從基于網(wǎng)頁的Web應用到基于數(shù)據(jù)應用的轉換。在基于數(shù)據(jù)的應用中,用戶需求的數(shù)據(jù)如聯(lián)系人列表,可以從獨立于實際網(wǎng)頁的服務端取得并且可以被動態(tài)地寫入網(wǎng)頁中,給緩慢的Web應用體驗著色使之像桌面應用一樣。
利用AJAX的網(wǎng)絡數(shù)據(jù)交換同傳統(tǒng)網(wǎng)絡數(shù)據(jù)交換對比如圖3所示。
傳統(tǒng)的用戶界面同Web服務器之間的數(shù)據(jù)交換是實時的,即每當服務器執(zhí)行完第一條指令過后才能執(zhí)行第二條指令。這樣的缺點在于如果服務器處理指令過于頻繁或服務器繁忙,用戶界面就會等待服務器處理完命令后才會執(zhí)行其他操作,這樣用戶界面部分就會存在響應慢的問題。通過AJAX處理命令就完全不一樣,界面命令會發(fā)送到AJAX engine的中間件,再由AJAX engine發(fā)送到服務器,這樣的優(yōu)點就在于用戶界面上不會存在等待現(xiàn)象,只需向AJAX engine發(fā)送命令,AJAX engine再將命令交于服務器,服務器把命令處理完以后,將會把結果返回給AJAX engine。最后AJAX engine將結果發(fā)送至用戶界面。從而在用戶界面不需要等待服務器的命令處理,這樣就可以達到同桌面應用程序相等同的效果[1-2]。
圖3 傳統(tǒng)Web命令和AJAX命令響應對比
下面闡述控制部分3個重要環(huán)節(jié):
1)新數(shù)據(jù)的產(chǎn)生。該系統(tǒng)的編輯部分為SaaS模式,用戶只需要通過IE瀏覽器就可以將字幕的文本信息、字幕位置、字幕播出時間、字幕移動速度等相關信息設置通過HTTP協(xié)議添加到Web服務器的數(shù)據(jù)庫,當確定編輯完成某個時段的字幕廣告后,調(diào)用Webservice的XML生成接口,將添加到數(shù)據(jù)庫的相關數(shù)據(jù)生成為XML標準文檔。如圖4所示。
2)數(shù)據(jù)的預生成。該功能支持各個編輯客戶端對該區(qū)域的廣告進行預編輯,即各個區(qū)域可以提前將播出任務編輯好,然后提交相關部門審核,審核通過后將會將狀態(tài)修改為可生產(chǎn)狀態(tài)。伺服軟件將會每天凌晨0時檢測是否有當天需要生產(chǎn)任務,如果有就自動生成當天XML文檔。整個伺服監(jiān)視流程如圖5所示。
3)字幕優(yōu)先級與一般級之間的切換。由于系統(tǒng)存在不同的發(fā)布優(yōu)先級,優(yōu)先級最高的字幕可以將各個區(qū)域的字幕替換為自己的字幕,這樣主要是為了方便統(tǒng)一發(fā)布通知等。當優(yōu)先級最高字幕完成播放時將恢復之前播出數(shù)據(jù)。流程如圖6所示。
圖5 伺服軟件工作流程
圖6 優(yōu)先級數(shù)據(jù)轉換流程
數(shù)據(jù)傳輸主要分服務器與播出端的數(shù)據(jù)傳輸和播出端到客戶端的數(shù)據(jù)傳輸,下面分別闡述2個部分的傳輸。
服務器與播出端的數(shù)據(jù)傳輸:該系統(tǒng)采用的是標準XML數(shù)據(jù)進行傳輸,XML具有包含數(shù)據(jù)和數(shù)據(jù)關系的優(yōu)勢。由服務器生成當天XML數(shù)據(jù)。各播出端實時檢測該區(qū)域XML數(shù)據(jù)是否為最新,如果是最新XML數(shù)據(jù)則通過socket讓播出端和數(shù)據(jù)服務器建立連接并進行通話(該過程稱為握手過程)。然后播出端再與數(shù)據(jù)服務器連接并索取相關XML文件。播出端完成文件的下載過后就重新開始新的檢索,直到發(fā)現(xiàn)新的XML數(shù)據(jù),然后產(chǎn)生新的握手連接。
播出端到客戶端的數(shù)據(jù)傳輸:該部分的中各區(qū)域播出端將接收到的XML數(shù)據(jù),根據(jù)各自的區(qū)域號碼打包成不同的TS數(shù)據(jù)包,通過ASI卡發(fā)送到中心機房的復用器,然后將各個不同區(qū)域的TS數(shù)據(jù)流復用為1路信號,將這些信號通過加載到需要播出的頻點上 (本系統(tǒng)共有4個頻點),各個頻點將字幕TS流同節(jié)目復用后通過HFC網(wǎng)絡發(fā)送到各個數(shù)字電視終端。
字幕TS流協(xié)議原理如圖7所示。
該協(xié)議允許字幕廣告為若干個時段,每個時段里面存在若干個廣告,每條廣告分為信息段和數(shù)據(jù)段。播出端軟件根據(jù)該協(xié)議讀取通過socket傳輸過來的XML數(shù)據(jù)到編寫的結構中,最后將所有的字幕信息寫到TS流的NIT表里面生成TS流[3-4]。
該系統(tǒng)已經(jīng)在河北承德成功運行,客戶端只需要IE就可以完成整個播出的編輯和控制。能夠實現(xiàn)各個不同區(qū)域客戶端的數(shù)據(jù)編輯審核和提交,能夠實現(xiàn)不同權限級別的管理,能夠實現(xiàn)最高權限對于各個區(qū)域播出的禁播控制。該系統(tǒng)在使用過程中還在不斷的改進,經(jīng)過改進后將會更方便客戶端控制和操作字幕的播出。
[1]吳吉義,平玲娣.Web 2.0主流應用技術——AJAX性能分析[J].計算機工程與設計, 2008, 29(8):1913-1914.
[2]張美枝,高潤月,楊永平.基于SaaS模式下軟件設計方法的研究[J].農(nóng)業(yè)網(wǎng)絡信息, 2007(12):169-170.
[3]周建.MPEG-2標準的一種改進[J].電視技術,2001(2):27-29.
[4]張東升,周金陵.DVB數(shù)字電視機頂盒中字幕解碼器的設計與實現(xiàn)[J].中國有線電視,2006(17):1702-1703.