• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 消費電子 > 設計應用 > 一種優化的機頂盒電子節目指南系統設計

    一種優化的機頂盒電子節目指南系統設計

    作者: 時間:2007-09-13 來源:網絡 收藏

    【摘要】本文介紹了一種(EPG)上的方案。該方案的創新點在于針對簡單EPG和高級EPG的特點不同的SI引擎流程,從而提高了各自執行效率;同時提出一種新的索引和信息兩者分離的EPG數據庫結構,這種結構便于應用層對數據庫的查詢以及數據庫自身管理。
    【關鍵詞】EPG數字電視SI引擎

    1 引言

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

    2 總體結構

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

    1.簡單EPG:顯示當前和下一個節目信息

    2.高級EPG:顯示一周內所有節目信息

    機頂盒處理EPG信息的流程為:機頂盒的解復用器工作通過尋找PAT表開始,PAT表的PID號為“0x00”。PAT給出了構成傳送流中各個節目業務的PMT的PID,同時也給出了NIT的PID號。根據NIT和PMT的PID值及對應的TableID值可以從流中解出相應的PMT、NIT、SDT、EIT等信息。機頂盒接收端的解析主要負責這些SI數據信息的重建。其中簡單EPG信息存儲在EIT P/F(present/following)表內,高級EPG信息存儲在EIT schedule表內。

    本文實例如圖所示,是基于富士通SmartMPEG MB86H20/5為核心的硬件平臺,Metaware及相關工具為軟件開發平臺,使用Nucleus實時操作系統。

    整個機頂盒的軟件結構采用模塊化結構,如圖1所示。

    圖1 機頂盒EPG系統架構

    3 具體模塊實現

    3.1 SI引擎

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

    圖2 簡單EPG的SI引擎流程

    圖3 高級EPG的SI引擎流程

    當過濾器收到EIT表并調用中斷處理函數時,簡單EPG采用先關閉EIT P/F信道,并設置相關標志,等待后臺輪詢函數解析處理完該表以后再打開EIT P/F信道重新接收,即過濾器接收表的過程和后臺輪詢函數解析處理是串行處理的,這種機制能夠實時處理當前的表,適合簡單EPG信息量小、更新速度快的特點;高級EPG則不關閉信道,而是先解析表頭,如果該段沒有接收過,則將該段信息插入消息隊列,等待后臺輪詢函數解析處理,即過濾器接收表的過程和后臺輪詢函數解析處理是并行處理的,這種機制能夠保證過濾器收表過程連續而不被后臺打斷,適合高級EPG信息量大、前端連續發送的特點。

    在EIT表版本更新方面,簡單EPG收到當前和下一個節目信息以后,立即將過濾器設置成只接收新版本EIT P/F表,這樣可以實時接收并更新簡單EPG信息;對于高級EPG,由于信息量大且前端更新速度慢,所以在只在每次重新開機時接收最新版本的EIT表信息。

    3.2 EPG數據庫

    傳統機頂盒上的EPG數據庫是單一的節目信息數據庫,本文的優化處理在于:節目索引和節目詳細信息分別建立數據庫并彼此獨立維護。其中節目索引數據庫是按照頻道-子表-段-節目的樹狀索引結構,如圖4所示。其中段節點包含了它所屬所有節目的id(參數event_id),同時還包含了表示該段是否接收的參數sectavail。

    圖4 節目索引數據庫的結構

    這種樹狀索引數據庫有三個優點:

    1. 樹狀索引所有節目id,這樣便于節目信息的查詢和按時間排序

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

    3. 索引結構便于節目信息數據庫的管理,如刪除某一個頻道的所有高級EPG信息等

    節目信息數據庫則存儲了每個節目的詳細信息,包括節目名稱、節目起始和終止時間、節目簡介以及節目語言種類等。其中重要的參數是節目id,通過該參數節目索引數據庫可以訪問相應的節目信息數據庫內容。

    3.3 EPG應用程序

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

    4 結論

    本文介紹了機頂盒中EPG系統的架構,并就具體的功能模塊介紹了優化方案。在SI引擎方面提出了針對簡單EPG和高級EPG不同的流程,在EPG數據庫方面提出了節目索引和節目信息分離的數據庫結構。這種優化結構在實際的EPG碼流測試中取得良好的效果。

    參考文獻

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



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 西和县| 永平县| 慈溪市| 杭锦旗| 盘锦市| 吉安市| 萨迦县| 建宁县| 密山市| 大荔县| 平江县| 盈江县| 吉首市| 盐边县| 海南省| 青川县| 祁门县| 泰兴市| 台南市| 手游| 平利县| 万荣县| 普兰店市| 英吉沙县| 临颍县| 屏东县| 广昌县| 肃南| 融水| 高阳县| 西平县| 莆田市| 泰来县| 开原市| 武邑县| 双鸭山市| 巨鹿县| 庆云县| 栾城县| 岑巩县| 霍林郭勒市|