新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 一種優(yōu)化的機(jī)頂盒電子節(jié)目指南系統(tǒng)設(shè)計(jì)

一種優(yōu)化的機(jī)頂盒電子節(jié)目指南系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2007-09-13 來(lái)源:網(wǎng)絡(luò) 收藏

【摘要】本文介紹了一種(EPG)上的方案。該方案的創(chuàng)新點(diǎn)在于針對(duì)簡(jiǎn)單EPG和高級(jí)EPG的特點(diǎn)不同的SI引擎流程,從而提高了各自執(zhí)行效率;同時(shí)提出一種新的索引和信息兩者分離的EPG數(shù)據(jù)庫(kù)結(jié)構(gòu),這種結(jié)構(gòu)便于應(yīng)用層對(duì)數(shù)據(jù)庫(kù)的查詢以及數(shù)據(jù)庫(kù)自身管理。
【關(guān)鍵詞】EPG數(shù)字電視SI引擎

1 引言

節(jié)目(Electronic Program Guide,EPG) 作為數(shù)字電視特有的功能,它是在符合MPEG-2 (13818-1)的TS傳輸流中插入DVB標(biāo)準(zhǔn)定義的業(yè)務(wù)信息(Service Information,SI),使(Set-Top-Box)的綜合接收解碼器(IRD)可以從TS流中提取出節(jié)目提供商播出節(jié)目的列表和播出參數(shù),以直觀的形式顯示給數(shù)字電視用戶,使得用戶可以方便地接收、選擇數(shù)字電視節(jié)目。節(jié)目是個(gè)復(fù)雜的,它的實(shí)現(xiàn)除了取決于機(jī)頂盒的軟硬件資源外,還和前端SI發(fā)表策略有關(guān)。本文從機(jī)頂盒研發(fā)的角度出發(fā),給出一種的機(jī)頂盒電子節(jié)目指南實(shí)現(xiàn)方案。

2 總體結(jié)構(gòu)

電子節(jié)目指南的基本功能包括兩種:

1.簡(jiǎn)單EPG:顯示當(dāng)前和下一個(gè)節(jié)目信息

2.高級(jí)EPG:顯示一周內(nèi)所有節(jié)目信息

機(jī)頂盒處理EPG信息的流程為:機(jī)頂盒的解復(fù)用器工作通過(guò)尋找PAT表開(kāi)始,PAT表的PID號(hào)為“0x00”。PAT給出了構(gòu)成傳送流中各個(gè)節(jié)目業(yè)務(wù)的PMT的PID,同時(shí)也給出了NIT的PID號(hào)。根據(jù)NIT和PMT的PID值及對(duì)應(yīng)的TableID值可以從流中解出相應(yīng)的PMT、NIT、SDT、EIT等信息。機(jī)頂盒接收端的解析主要負(fù)責(zé)這些SI數(shù)據(jù)信息的重建。其中簡(jiǎn)單EPG信息存儲(chǔ)在EIT P/F(present/following)表內(nèi),高級(jí)EPG信息存儲(chǔ)在EIT schedule表內(nèi)。

本文實(shí)例如圖所示,是基于富士通SmartMPEG MB86H20/5為核心的硬件平臺(tái),Metaware及相關(guān)工具為軟件開(kāi)發(fā)平臺(tái),使用Nucleus實(shí)時(shí)操作系統(tǒng)。

整個(gè)機(jī)頂盒的軟件結(jié)構(gòu)采用模塊化結(jié)構(gòu),如圖1所示。

圖1 機(jī)頂盒EPG系統(tǒng)架構(gòu)

3 具體模塊實(shí)現(xiàn)

3.1 SI引擎

傳統(tǒng)機(jī)頂盒的SI引擎對(duì)所有SI表(包括EIT P/F和EIT schedule)處理流程上是相同的。本文的處理在于:對(duì)于EIT P/F表和EIT schedule表在機(jī)頂盒終端的處理方式上區(qū)分對(duì)待?!稊?shù)字廣播業(yè)務(wù)信息規(guī)范(GY/Z174-2001)》中GY/Z174-2001NIT、BAT、SDT、EIT都被分成為一個(gè)或若干個(gè)段(section)表示,然后插入到TS包中。其中EIT P/F表有兩個(gè)段(section),分別儲(chǔ)存當(dāng)前節(jié)目信息和下一個(gè)節(jié)目信息;EIT schedule表最多可以有32個(gè)節(jié)(segment),每一節(jié)可以存儲(chǔ)一個(gè)頻道的三個(gè)小時(shí)節(jié)目信息,且每節(jié)內(nèi)最多可以有8個(gè)段(section)。簡(jiǎn)單EPG的信息量少,解析和存儲(chǔ)的過(guò)程相對(duì)簡(jiǎn)單,但它的更新速度快,DVB中對(duì)前端EIT P/F表的傳輸間隔要求是2s;高級(jí)EPG的信息量大,解析和存儲(chǔ)的過(guò)程復(fù)雜很多,但它的更新速度慢, DVB中對(duì)前端EIT schedule表的傳輸間隔要求是10s。本文針對(duì)兩類不同的SI表接收要求不同的SI引擎解決方案。其中簡(jiǎn)單EPG的SI引擎流程如圖2,高級(jí)EPG的SI引擎流程如圖3。

圖2 簡(jiǎn)單EPG的SI引擎流程

圖3 高級(jí)EPG的SI引擎流程

當(dāng)過(guò)濾器收到EIT表并調(diào)用中斷處理函數(shù)時(shí),簡(jiǎn)單EPG采用先關(guān)閉EIT P/F信道,并設(shè)置相關(guān)標(biāo)志,等待后臺(tái)輪詢函數(shù)解析處理完該表以后再打開(kāi)EIT P/F信道重新接收,即過(guò)濾器接收表的過(guò)程和后臺(tái)輪詢函數(shù)解析處理是串行處理的,這種機(jī)制能夠?qū)崟r(shí)處理當(dāng)前的表,適合簡(jiǎn)單EPG信息量小、更新速度快的特點(diǎn);高級(jí)EPG則不關(guān)閉信道,而是先解析表頭,如果該段沒(méi)有接收過(guò),則將該段信息插入消息隊(duì)列,等待后臺(tái)輪詢函數(shù)解析處理,即過(guò)濾器接收表的過(guò)程和后臺(tái)輪詢函數(shù)解析處理是并行處理的,這種機(jī)制能夠保證過(guò)濾器收表過(guò)程連續(xù)而不被后臺(tái)打斷,適合高級(jí)EPG信息量大、前端連續(xù)發(fā)送的特點(diǎn)。

在EIT表版本更新方面,簡(jiǎn)單EPG收到當(dāng)前和下一個(gè)節(jié)目信息以后,立即將過(guò)濾器設(shè)置成只接收新版本EIT P/F表,這樣可以實(shí)時(shí)接收并更新簡(jiǎn)單EPG信息;對(duì)于高級(jí)EPG,由于信息量大且前端更新速度慢,所以在只在每次重新開(kāi)機(jī)時(shí)接收最新版本的EIT表信息。

3.2 EPG數(shù)據(jù)庫(kù)

傳統(tǒng)機(jī)頂盒上的EPG數(shù)據(jù)庫(kù)是單一的節(jié)目信息數(shù)據(jù)庫(kù),本文的優(yōu)化處理在于:節(jié)目索引和節(jié)目詳細(xì)信息分別建立數(shù)據(jù)庫(kù)并彼此獨(dú)立維護(hù)。其中節(jié)目索引數(shù)據(jù)庫(kù)是按照頻道-子表-段-節(jié)目的樹(shù)狀索引結(jié)構(gòu),如圖4所示。其中段節(jié)點(diǎn)包含了它所屬所有節(jié)目的id(參數(shù)event_id),同時(shí)還包含了表示該段是否接收的參數(shù)sectavail。

圖4 節(jié)目索引數(shù)據(jù)庫(kù)的結(jié)構(gòu)

這種樹(shù)狀索引數(shù)據(jù)庫(kù)有三個(gè)優(yōu)點(diǎn):

1. 樹(shù)狀索引所有節(jié)目id,這樣便于節(jié)目信息的查詢和按時(shí)間排序

2. 記錄某頻道的EIT表所有段的接收情況,便于SI引擎在接收時(shí)判斷該段是否已經(jīng)接收

3. 索引結(jié)構(gòu)便于節(jié)目信息數(shù)據(jù)庫(kù)的管理,如刪除某一個(gè)頻道的所有高級(jí)EPG信息等

節(jié)目信息數(shù)據(jù)庫(kù)則存儲(chǔ)了每個(gè)節(jié)目的詳細(xì)信息,包括節(jié)目名稱、節(jié)目起始和終止時(shí)間、節(jié)目簡(jiǎn)介以及節(jié)目語(yǔ)言種類等。其中重要的參數(shù)是節(jié)目id,通過(guò)該參數(shù)節(jié)目索引數(shù)據(jù)庫(kù)可以訪問(wèn)相應(yīng)的節(jié)目信息數(shù)據(jù)庫(kù)內(nèi)容。

3.3 EPG應(yīng)用程序

EPG應(yīng)用程序主要功能是響應(yīng)遙控器中相關(guān)的EPG按鈕,并查詢EPG數(shù)據(jù)庫(kù),將節(jié)目信息按照時(shí)間排序輸出到OSD界面中。對(duì)于簡(jiǎn)單EPG,只需作當(dāng)前和下一個(gè)節(jié)目的時(shí)間排序輸出;而對(duì)于高級(jí)EPG,OSD界面中選中特定頻道和特定日期以后,通過(guò)訪問(wèn)EPG數(shù)據(jù)庫(kù)中的節(jié)目索引數(shù)據(jù)庫(kù),提取出指定頻道的所有節(jié)目id,然后根據(jù)節(jié)目id在節(jié)目信息數(shù)據(jù)庫(kù)中篩選出指定日期的節(jié)目,并按節(jié)目起始時(shí)間做冒泡排序,最后輸出到OSD顯示。

4 結(jié)論

本文介紹了機(jī)頂盒中EPG系統(tǒng)的架構(gòu),并就具體的功能模塊介紹了優(yōu)化方案。在SI引擎方面提出了針對(duì)簡(jiǎn)單EPG和高級(jí)EPG不同的流程,在EPG數(shù)據(jù)庫(kù)方面提出了節(jié)目索引和節(jié)目信息分離的數(shù)據(jù)庫(kù)結(jié)構(gòu)。這種優(yōu)化結(jié)構(gòu)在實(shí)際的EPG碼流測(cè)試中取得良好的效果。

參考文獻(xiàn)

[1] 夏愷等. MPEG_2TS流分析模塊及系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),微計(jì)算機(jī)信息,2005年第20期
[2] 陳德林. EPG前段SI發(fā)表和機(jī)頂盒終端收表策略,廣播與電視技術(shù),2005年第8期
[3] ETSI EN 300 468-2000, Digital Video broadcasting(DVB); Specification for Service Information(SI) in DVB systems.



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉