一種優(yōu)化的機(jī)頂盒電子節(jié)目指南系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
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é)目的樹狀索引結(jié)構(gòu),如圖4所示。其中段節(jié)點(diǎn)包含了它所屬所有節(jié)目的id(參數(shù)event_id),同時(shí)還包含了表示該段是否接收的參數(shù)sectavail。
這種樹狀索引數(shù)據(jù)庫(kù)有三個(gè)優(yōu)點(diǎn):
1. 樹狀索引所有節(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,通過該參數(shù)節(jié)目索引數(shù)據(jù)庫(kù)可以訪問相應(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界面中選中特定頻道和特定日期以后,通過訪問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è)試中取得良好的效果。
pid控制相關(guān)文章:pid控制原理
評(píng)論