基于ARM-Linux的高清數字機頂盒軟件系統設計與實現
目前國內機頂盒以有線標清為主,歐洲以衛星和地面的機頂盒為主,美國以高清地面機頂盒產品為主[3]。隨著技術的發展,機頂盒已不只單純接收數字電視節目,還要接收大量的數據,而且用戶和電視機之間還要實現互動[4]。目前國內還沒有一種成熟的交互式應用,所謂的交互式應用基本上都還停留在本地交互的基礎上[5]。本文研究的機頂盒可以支持諸如電子節目指南、按次付費觀看、立即按次付費觀看、準視頻點播、數據廣播、Internet接入、電子郵件、視頻點播以及IP電話、可視電話等的應用[6]。因此要求電視接收機具有很好的信息處理能力和網絡通信能力。
1 機頂盒軟件系統
數字機頂盒由硬件平臺和軟件系統構成,音視頻解碼主要由硬件實現,而操作界面的功能、電視圖像的重現、數據廣播業務的平臺以及Internet的接入等都需要軟件系統實現[7]。
數字機頂盒的軟件系統主要由嵌入式操作系統(EOS)、硬件抽象層(HAL)、軟件抽象層(SAL)以及應用程序(ASL)組成。本文主要研究基于ARM(HHARMS3C6410)平臺、Linux(v2.6.21)操作系統、THOMSON公司的數字高清解碼芯片的HDTV機頂盒系統的軟件設計,功能包括通過Demux模塊接收流數據、解析PSI信息、對音視頻流進行解碼及播放、接收用戶遙控器輸入,并具有簡單的用戶界面。研究的目標是開發出適用于所選的硬件平臺特點、具有基本的機頂盒產品功能的軟件系統。
開發內容有以下幾個方面:
(1)機頂盒底層驅動程序。包括前端、USB、Enthernet、Flash的驅動及遙控信號接收的軟件等。
(2)機頂盒節目管理模塊。包括整機狀態信息和用戶設置信息的存取和管理,業務數據的存取、更新和管理,節目數據的獲取、分析。
(3)機頂盒應用程序。包括機頂盒用戶界面、選單的設計與顯示、圖形用戶界面/選單/用戶交互操作的應用和管理等。
軟件系統整體結構如圖1所示。
2 節目管理模塊的開發
節目操作管理模塊是用戶應用程序的重要組成部分,該軟件模塊主要實現確定節目操作管理模塊與系統其他模塊的關系(包括相互之間的通信協議)、建立節目數據庫、本模塊內部軟件結構的設計。
有關節目的各種操作是數字電視機頂盒軟件功能中非常重要的一部分,用戶所有有關頻道、節目的實質性操作功能都在這部份實現。在本文的總體設計方案中,節目的操作功能主要包括節目搜索(自動和手動)、節目選擇、節目信息的提取和保存、節目數據庫操作等。
在本機頂盒有關節目操作的各種功能中,絕大部分都與節目數據庫有關。如自動節目搜索時,需要建立節目數據庫,并為搜索到的節目建立相應的數據單元,用于存儲節目的各種信息;在刪除節目時,需要改變刪除節目在節目數據庫中的連接關系,并打上刪除標志等。因此,節目數據庫是節目操作軟件的關鍵部分之一。
2.1 Builder模塊
該模塊主要功能是在USIF的控制下建立節目數據庫,該模塊通過MSG Mgr向USIF反饋搜索狀態以及內容,根據用戶的需要建立頻點、頻道信息數據庫。Builder模塊結構圖如圖2所示。
評論