沈靜
摘 要:機頂盒具備數字電視信號接收及解碼輸出功能,是數字電視系統(tǒng)關鍵部件。當前我國尚未研發(fā)出技術較為成熟的交互式應用。本文首先對機頂盒軟件系統(tǒng)進行簡單介紹,之后分別從節(jié)目管理模塊的開發(fā)以及機頂盒應用程序等角度對基于LINUX系統(tǒng)的機頂盒設計方案進行全面解讀。
關鍵詞:LINUX系統(tǒng);機頂盒;數字電視系統(tǒng);交互式應用
1前言
數字機頂盒包括硬件平臺及軟件系統(tǒng)兩部分,其中硬件部分主要作用是音頻及視頻解碼,軟件系統(tǒng)主要用于實現操作界面相關功能、重現電視圖像、數據廣播業(yè)務平臺及互聯網接入等。數字機頂盒軟件系統(tǒng)主要涉及到嵌入式操作系統(tǒng)、軟件及硬件抽象層、應用程序等幾部分。本文主要是對依托于LINUX(v2.6.21) 操作系統(tǒng)的數字高清解碼芯片機頂盒系統(tǒng)軟件設計進行分析,從而研發(fā)出適合所選的硬件平臺特點并且具備基本機頂盒功能的軟件系統(tǒng)。
2基于LINUX系統(tǒng)的STB設計方案
2.1機頂盒軟件系統(tǒng)
本文所探討的基于LINUX(v2.6.21) 操作系統(tǒng)的數字高清解碼芯片機頂盒系統(tǒng)軟件的開發(fā)主要涉及到以下幾方面內容:
(1)機頂盒底層驅動程序,主要包括前端、USB接口、Enthernet、Flash驅動以及接收遙控信號的相關軟件等;(2)機頂盒節(jié)目管理模塊,該模塊的主要作用是保存整機狀態(tài)信息以及用戶個性化設置信息,并對這些信息進行有效管理;保存業(yè)務數據信息,并對其進行實時更新及有效管理;除此之外,還負責獲取節(jié)目數據,并進行相應分析;(3)機頂盒應用程序,主要涉及到設計并顯示機頂盒用戶界面及選單界面;圖形用戶界面、選單界面以及用戶交互的應用及管理等?;贚INUX操作系統(tǒng)的機頂盒軟件系統(tǒng)結構詳見圖1所示。
2.2節(jié)目管理模塊
用戶應用程序中一個關鍵部分就是節(jié)目操作管理模塊,此模塊的主要作用是對節(jié)目操作管理模塊與系統(tǒng)其它模塊之間的關系及通信協(xié)議進行確定,構建節(jié)目數據庫。對于數字電視機頂盒軟件功能而言,針對節(jié)目及頻道所進行的全部實質性節(jié)目操作是極為關鍵的一項內容。筆者在此所闡述的機頂盒設計方案中,節(jié)目操作功能主要涉及到節(jié)目的搜索及選擇,提取及保存節(jié)目信息,針對節(jié)目數據庫所進行的相關操作等。本文所探討的機頂盒相關的界面操作相關功能大多數都與節(jié)目數據庫存在一定關聯。
(1)Builder模塊。此模塊的主要作用是根據USIF相關指令構建節(jié)目數據庫,將搜索狀態(tài)及內容反饋至USIF,以用戶實際需求為依據構建頻點以及頻道信息數據庫。Builder模塊結構詳見圖2所示。
Builder模塊所支持的搜索方式主要盲掃、網絡搜索以及手動搜索等三種,其中,盲掃是以預置頻點搜索節(jié)目信息為主要依據,對節(jié)目數據庫進行構建;網絡搜索主要是以輸入頻點為依據,對NIT表進行搜索;以網絡信息為依據,對相關節(jié)目信息進行搜索,從而構建起較為完整的網絡節(jié)目信息數據庫;手動搜索主要是以輸入頻點為依據對其進行搜索,從而構建起完整的節(jié)目信息數據庫。
(2)PSI模塊。PSI模塊是建立在Demux驅動基礎之上的,需要借助Demux模塊而獲取Section數據搜索功能,其主要作用是向EPG以及Builder等模塊提供完整表及條件捕獲接口。PSI模塊所支持的得到表方式有GetTable以及Capture兩種,其中,借助前者所提供的功能接口,可以直接獲取表數據返回,假如超出既定時間而未獲取表數據,則返回超時;借助后者功能接口,在提出表申請的基礎之上,利用異步通信方式獲取表結構,并向應用模塊發(fā)出相應通知。捕獲方式具體包括三種模式:Update Mode,即更新模式,在版本更新時向應用模塊發(fā)出通知;Complete Mode,在獲取完整表結構后向應用模塊發(fā)出通知;Section Mode,在獲取Section數據時向應用模塊發(fā)出通知。
(3)DBaseMgr模塊。此模塊是數據庫管理系統(tǒng),主要負責保存及管理頻道、頻點、系統(tǒng)信息以及EPG等相關信息;添加、刪除、編輯、排序以及查找節(jié)目頻點等。此模塊與Builder 、EPG、USIF、Player等模塊之間進行交互。為確保數據元素操作效率,防止大量內存碎片的出現,同時也是出于操作便利性的考慮,采用靜動結合的設計思路,在數據結構上選擇靜態(tài)雙向鏈表式。
數據庫管理系統(tǒng)在功能方面具有以下特點:第一,功能較為完善,包括創(chuàng)建、管理及刪除數據庫等;可以支持多用戶操作,系統(tǒng)是建立在Linux 這一多用戶分時操作系統(tǒng)基礎之上的,可以確保多個用戶在同一時間的操作需求得到有效滿足;最后,擁有完整的數據。系統(tǒng)屬于嵌入式系統(tǒng),所以模塊需要確保數據庫數據在掉電情況下的完整性。
2.3機頂盒應用程序
機頂盒應用程序的主要作用是顯示用戶交互選單,所以,在對機頂盒應用程序開發(fā)方面選擇MiniGUI開源軟件。MiniGUI開源軟件是嵌入式Linux系統(tǒng)下的輕量級圖形用戶界面支持系統(tǒng),在實踐中的應用極為廣泛,相比較于其他嵌入式GUI而言,該系統(tǒng)最大的優(yōu)勢在于所占用的系統(tǒng)資源有限,可以根據用戶實際需求進行靈活配置;穩(wěn)定性強,并且具備可移植性。MiniGUI的軟件架構較為優(yōu)越,其上層與下層操作系統(tǒng)之間由抽象層IAL以及GAL進行隔離。通常情況下,基于MiniGUI的應用程序功能的實現需要依托于支持庫、操作系統(tǒng)、驅動程序接口以及MiniGUI 自身提供的API。以MiniGUI為基礎所開發(fā)的UI模塊詳見圖3所示。
3結語
綜上所述,本文首先對機頂盒軟件系統(tǒng)進行簡單介紹,之后分別從節(jié)目管理模塊的開發(fā)以及機頂盒應用程序等角度對基于LINUX系統(tǒng)的機頂盒設計方案進行全面解讀。本文主要從Linux 操作系統(tǒng)移植、驅動程序、MiniGUI 庫移植以及上層應用程序等角度對基于LINUX系統(tǒng)的STB設計方案進行介紹和分析。機頂盒硬件平臺與軟件系統(tǒng)是機頂盒系統(tǒng)的兩大主要內容,經過實驗測試,結果證實本系統(tǒng)設計方案的合理性。在系統(tǒng)功能方面,主要是對DVB-C標準特點進行考慮,不僅如此,在系統(tǒng)軟件方面也對DVB-C PSI極為關注。本軟件在功能方面,不但能夠實現基本的解調、信道解碼以及音頻視頻解碼輸出;而且可以根據用戶的具體需求提供選單式交互操作模式,便于用戶搜索節(jié)目、設置系統(tǒng)并對用戶設置進行保存,查看節(jié)目信息以及電子節(jié)目指南等。目前用戶對高清數字電視機頂盒的大部分要求均可以得到滿足。作為一個彩電大國,中國的機頂盒的普及率還十分有限,所以,對基于Linux 操作系統(tǒng)的機頂盒系統(tǒng)進行深入分析和探討具有重大的現實意義。
參考文獻
[1] 李哲.基于Linux與DSP技術的音視頻網絡傳輸及編解碼技術研究[D]. 中國地質大學(北京) 2006
[2] 程建偉.基于STi7109的IPTV機頂盒播放器的設計與實現[D]. 北京郵電大學 2010
[3] 王蕾,樸希望,李世群,陳蕾.嵌入式實時操作系統(tǒng)的時間性能測試[J]. 內蒙古大學學報(自然科學版). 2011(05)
[4] 方德葵主編,王明臣,姜秀華,張永輝編著.數字電視與高清晰度電視[M]. 中國廣播電視出版社, 2005
[5] 易志棟.基于XScale和Linux的嵌入式IPv6 VOD終端設計與實現[D]. 吉林大學 2006