新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種優化的機頂盒電子節目指南系統的設計方案

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

        作者: 時間:2014-04-07 來源:網絡 收藏


        本文針對兩類不同的SI表接收要求設計不同的SI引擎解決方案。其中簡單的SI引擎流程如圖2,高級的SI引擎流程如圖3.





        當過濾器收到EIT表并調用中斷處理函數時,簡單采用先關閉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.



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

        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 2 下一頁

        關鍵詞: EPG 機頂盒 數字電視

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 石柱| 怀远县| 新乡市| 卢氏县| 乾安县| 乐昌市| 新龙县| 板桥市| 阿图什市| 广平县| 翁牛特旗| 邳州市| 锡林郭勒盟| 信丰县| 横峰县| 介休市| 宁强县| 宁都县| 新河县| 北碚区| 西丰县| 南木林县| 平果县| 通辽市| 叙永县| 武安市| 定陶县| 黔江区| 德惠市| 宜城市| 留坝县| 历史| 汾西县| 仁寿县| 密云县| 兴城市| 霍林郭勒市| 通城县| 江都市| 竹山县| 金溪县|