數(shù)字電視中問件增值業(yè)務支撐平臺解決方案
核心層主要采用C語言實現(xiàn)了Java層的功能,兩層之間通過Java本機方法接口連接。這層主要的功能模塊包括MPEG一2段過濾器,數(shù)據(jù)廣播協(xié)議棧,SI引擎,事件管理器,圖形系統(tǒng),虛擬文件系統(tǒng)和條件接人模塊等。在具體實現(xiàn)時,對執(zhí)行效率要求較低的管理控制工作一般在系統(tǒng)層實現(xiàn),而對執(zhí)行效率要求高的工作在本層實現(xiàn)。這是因為在嵌入式系統(tǒng)中,C語言執(zhí)行效率要明顯優(yōu)于解釋性的lava語言。
移植層定義了一套統(tǒng)一的移植接口,屏蔽了核心層具體的硬件驅動。核心層通過這些接口訪問硬件資源。這樣,整個中間件系統(tǒng)只需要修改移植接口就可以在不同平臺上運轉,從而大大減輕了工作量。
3 中間件平臺特點及優(yōu)化策略
為了支持交互電視的發(fā)展,國際上許多組織制訂了相關的中間件標準,比如歐洲DVB提出的MHP[4],美國針對有線電視系統(tǒng)由Cablelabs提出的OCAP,美國ATSC提出的DASE等,其中MHP標準應用最為廣泛。圖2提出的中間件架構符合國家數(shù)字電視中間件標準(草案),以JavaTM語言為基礎,在MHP基礎上去除了MHP包中的冗余部分。
在中間件平臺中,輪播方案是交互業(yè)務傳送的基礎,綜合考慮ATSC和DVB采用的數(shù)據(jù)輪播方案中的優(yōu)缺點,在簡單的數(shù)據(jù)輪播基礎上加以改進以滿足交互數(shù)字電視業(yè)務的發(fā)展需求。同時,作為接收端中間件交互應用下載的核心部件,基于輪播方案的數(shù)據(jù)廣播文件系統(tǒng)存在一定延時,具體設計實現(xiàn)時必須優(yōu)化以提高系統(tǒng)性能。
3.1改進型數(shù)據(jù)輪播方案
在DSM-CC標準中,數(shù)據(jù)輪播主要使用DSl,DⅡ和DDB 3種消息封裝控制和數(shù)據(jù)信息。DVB標準對上述3種消息的語法、語義和部分描述子作了規(guī)范。為了利用DVB數(shù)據(jù)輪播協(xié)議傳送文件系統(tǒng),作如下加強規(guī)范[5]:
1)對DSI消息GrouplnfoBuytes域的加強規(guī)范。該域包含對超級組內每個組的描述符。令一個組表示文件系統(tǒng)的一個目錄。該域中含有組的名稱描述子Name-De-scriptor,描述該組對應目錄的路徑名。 因此,DSI消息是文件系統(tǒng)的入口,包含了所有的目錄信息,可被看作是文件系統(tǒng)完整的目錄索引表。
2)對DⅡ消息ModulelnfoBytes域的加強規(guī)范。該域包含組內每個模塊的描述符。令一個模塊表示該組對應目錄下的一個文件,若DII的NumberOfModules值為0,說明該組對應目錄下面沒有文件。該域中含有模塊的名稱描述子Name_Descriptor,來描述文件名。若文件較大,可分成幾個子模塊傳送,子模塊間用Module-Link-De-scriptor連接,文件的具體內容由DDB攜帶傳送。
3)對DSI,DⅡ中名稱描述符Name-Descriptor的加強規(guī)范。該描述子用于描述目錄路徑名時,絕對路徑名格式如"/目錄1/目錄2/",相對路徑名格式如"目錄2/"。描述文件路徑名時,由于能夠通過模塊位置直接定位其所在組,進而定位所在目錄節(jié)點,因此文件路徑名直接為文件名,格式如"文件1"。
4)對私有描述子的加強規(guī)范。DVB數(shù)據(jù)輪播協(xié)議定義了私有描述子Private_Descriptor以方便用戶進行擴展,其tag范圍為Ox80-Oxff?,F(xiàn)分配Ox80用于指示相對路徑目錄的父目錄。一個目錄的名稱描述子有一個配對的私有描述子,用來指示父目錄。
上述語法中,凈荷為4 byte,其值是父目錄對應組的Groupld值,記做ParentGroupId。如果發(fā)現(xiàn)ParentGroupId值和DSI的Transactionld值相等,說明其父目錄就是根目錄。通過尋找匹配的Groupld,可定位父節(jié)點,直到根目錄,從而構建整個文件系統(tǒng)的目錄樹。
通過上面4點加強規(guī)范,可使用DVB數(shù)據(jù)輪播傳送文件系統(tǒng)。該方案是國家數(shù)字電視中間件標準輪播傳輸備選方案之一,也可作為MHP平臺的一種改進方案[5]。
3.2改進型數(shù)據(jù)輪播方案
中間件的數(shù)據(jù)廣播文件系統(tǒng)主要負責裝載廣播應用,是數(shù)據(jù)輪播協(xié)議在終端實現(xiàn)的核心模塊。圖3給出了基于改進型數(shù)據(jù)輪播方案的數(shù)據(jù)廣播文件系統(tǒng)的架構圖。相關Java功能在org.dvb.DSMCC包實現(xiàn),對應中間件架構的系統(tǒng)層部分。具體的功能實現(xiàn)位于核心層。 數(shù)據(jù)廣播文件系統(tǒng)的一個突出特點就是存在較大延時,這對用戶快速切入啟動交互應用非常不利。為提高系統(tǒng)的執(zhí)行效率需要采取一些優(yōu)化措施。
首先,應用是通過輪播方式周期性地傳送,而輪播協(xié)議和應用數(shù)據(jù)封裝在一系列DSI,DⅡ,DDB段結構里,理想情況下接收所有輪播數(shù)據(jù)需要一個輪播周期。機頂盒接收端一般由硬件段過濾器過濾出段數(shù)據(jù),然后以軟件方式按照協(xié)議解析這些數(shù)據(jù),但時間較長。如果接收一個段數(shù)據(jù)后馬上解析,很可能造成下一個段數(shù)據(jù)的丟失。為獲取丟失的段數(shù)據(jù),只能等到下一輪播周期,延時很大。為降低這種延時,將段數(shù)據(jù)處理分成過濾和解析兩步,分別由兩個獨立線程同時進行,并通過事件管理器通信協(xié)調運行狀態(tài),如圖3所示。
評論