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

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

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

圖3 傳統(tǒng)Web命令和AJAX命令響應(yīng)對比
下面闡述控制部分3個(gè)重要環(huán)節(jié):
1)新數(shù)據(jù)的產(chǎn)生。該系統(tǒng)的編輯部分為SaaS模式,用戶只需要通過IE瀏覽器就可以將字幕的文本信息、字幕位置、字幕播出時(shí)間、字幕移動(dòng)速度等相關(guān)信息設(shè)置通過HTTP協(xié)議添加到Web服務(wù)器的數(shù)據(jù)庫,當(dāng)確定編輯完成某個(gè)時(shí)段的字幕廣告后,調(diào)用Webservice的XML生成接口,將添加到數(shù)據(jù)庫的相關(guān)數(shù)據(jù)生成為XML標(biāo)準(zhǔn)文檔。如圖4所示。

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

圖5 伺服軟件工作流程

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

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