日本久章草在线一区二区三区,久久精品视频5,樱桃视频污在线观看,窝蝌蚪免费精品视频

電子方案開發(fā)供應(yīng)鏈平臺
一鍵發(fā)布任務(wù)
獲取驗證碼
返回

發(fā)布成功


贊賞作者

贊賞金額:

  • ¥2
  • ¥5
  • ¥10
  • ¥50
  • ¥100
  • ¥200

支付金額:5

支付方式:

微信支付

贊賞成功!
你的贊賞是對作者最大的肯定~?

當(dāng)前位置 : 首頁 > 方案訊 > 方案訊詳情
基于數(shù)字電視機頂盒的交互式中間件設(shè)計與實現(xiàn)
發(fā)布時間:2010-11-14 閱讀量:1146 來源: 作者:吳彬,陳梅,黃長平

【中心議題】
    * 介紹了
數(shù)字電視機頂盒與中間件
    * 設(shè)計了基于數(shù)字電視機頂盒的交互式中間件
【解決方案】
    *
基于長虹Sti7109機頂盒設(shè)計和實現(xiàn)
    * 通過中間件可以實現(xiàn)廣播方式下的單向和雙向交互功能

1
數(shù)字電視機頂盒軟件架構(gòu)介紹

數(shù)字電視機頂盒除具有基本的信號轉(zhuǎn)換功能外,且已成為一種嵌入式計算設(shè)備,具有完善的實時操作系統(tǒng),提供強大的CPU計算能力,用來協(xié)調(diào)控制機頂盒各部分硬件設(shè)施,并提供易操作的圖形用戶界面。機頂盒的軟件結(jié)構(gòu)大致可分為三層:操作系統(tǒng)及硬件驅(qū)動層、中間件軟件系統(tǒng)層、應(yīng)用程序?qū)印F鋵哟谓Y(jié)構(gòu)如圖1所示。

圖1

2交互式中間件(MRP)原理與實現(xiàn)

交互處理引擎(MRP)是為了實現(xiàn)廣播環(huán)境下的交互式服務(wù),其原理是通過在普通廣播電視節(jié)目中添加交互信息,在機頂盒端對所收到的信息進行解碼播放,按照要求將同步信息和音視頻疊加顯示在電視機上,用戶根據(jù)同步信息提示來完成交互操作,從而實現(xiàn)節(jié)目和觀眾的互動。下圖2MRP運行流程圖,由圖上可以看出MRP主要有以下幾大模塊構(gòu)成:

圖2

1)同步內(nèi)容管理模塊:同步內(nèi)容管理是MRP中間件的核心部分,主要負責(zé)同步內(nèi)容管理控制并接收、解析從前端發(fā)送過來的數(shù)據(jù)廣播,它是以事件驅(qū)動的單任務(wù)形式運行在系統(tǒng)中的,并一直處于監(jiān)測狀態(tài),一旦監(jiān)測到相關(guān)MRP觸發(fā)事件,立即處理。它需要有一個合作進程,即DVBApplSectionFilterMonitor任務(wù)負責(zé)接收數(shù)據(jù)廣播的section數(shù)據(jù),該合作進程由機頂盒廠家提供。

2)同步內(nèi)容播放模塊:同步內(nèi)容播放模塊是展示模塊,即用戶能看到效果的模塊,它是將同步內(nèi)容管理模塊解析后的數(shù)據(jù)有效地在OSD層上進行顯示的過程。它的實質(zhì)是在普通的數(shù)字電視基礎(chǔ)上增加了一個實時彈出信息框的過程,其目的主要是對正在播放的電視內(nèi)容進行輔助性說明,即視頻注解,增強對電視內(nèi)容的理解,該模塊負責(zé)交互功能。

3)平臺接口層:該部分接口對內(nèi)主要是完成和機頂盒底層函數(shù)的對接從而實現(xiàn)圖形之類的顯示操作,對外是為了方便MRP在不同型號機頂盒之間的移植操作。

2.1 基于數(shù)字電視機頂盒的交互式中間件工作原理分析

下圖為MRP軟件內(nèi)部結(jié)構(gòu)圖,在整個運行過程中,MRP主要完成的工作包括中間件的初始化、系統(tǒng)的運行監(jiān)控、同步信息接受、解析、儲存,同步信息播放及交互操作,具體如下:

圖3

2.1.1 基于數(shù)字電視機頂盒的交互式中間件初始化

機頂盒開機啟動之后,監(jiān)控函數(shù)(main函數(shù))開始運行,它是機頂盒啟動時的唯一入口,它會執(zhí)行機頂盒的一些系統(tǒng)初始化和與硬件相關(guān)的啟動工作,MRP的任務(wù)也是在這個時候被初始化。

2.1.2同步信息接收

初始化完成,進入到MRP主入口,此時循環(huán)監(jiān)聽MRP事件的程序一旦監(jiān)聽到了請求事件就會通知底層接收數(shù)據(jù),底層硬件接收到請求同步信息(section)就會告訴數(shù)據(jù)接收部件,這樣數(shù)據(jù)接收部件就會將同步信息以section的方式發(fā)給MRP中間件的同步管理模塊進行接收。MRP中間件提供一個接口MRP_HandleAllData(),由合作進程DVBApplSectionFilterMonitor任務(wù)調(diào)用,實現(xiàn)數(shù)據(jù)接收,終端開辟一段內(nèi)存對接收到的數(shù)據(jù)重組還原,其數(shù)據(jù)流程如圖4所示。

圖4

2.1.3同步信息解析與存貯

同步管理模塊解析完同步信息后,相應(yīng)的信息存于同步信息緩沖區(qū),它是一個樹型結(jié)構(gòu)。它既是同步內(nèi)容管理模塊的輸出項也是同步內(nèi)容播放模塊的輸入項,同步內(nèi)容播放模塊播出的同步信息就是直接從那里提取的。

2.1.4同步信息顯示與交互

同步內(nèi)容播放模塊搜索到相關(guān)同步信息時,就會調(diào)用相關(guān)OS層顯示接口進行同步信息顯示。該部分顯示內(nèi)容比普通電視增加了同步可交互功能。顯示的信息一般用紅、黃、藍、綠4種彩色鍵進行標注,用文字、圖片、直線、橢圓、圓、矩形等進行顯示。同步內(nèi)容播放模塊可以接收遙控器的按鍵觸發(fā)事件,并根據(jù)遙控器按鍵調(diào)用按鍵處理接口進行處理。

上述顯示的同步信息,必須在一定的規(guī)范下進行編輯和操作,在視頻通過廣播網(wǎng)發(fā)放到機頂盒之前,必須將原始的TS流經(jīng)過同步信息編輯,加入符合要求的同步信息,才可以被中間件獲取和顯示,不同的同步信息可以實現(xiàn)不同的交互操作,比如在線答題,問卷調(diào)查、在線查詢等服務(wù)。

2.2 基于數(shù)字電視機頂盒的交互式中間件實現(xiàn)

2.2.1基于數(shù)字電視機頂盒的交互式中間件同步內(nèi)容管理模塊

當(dāng)同步信息到達機頂盒時,該模塊主要實現(xiàn)同步內(nèi)容管理控制并接收、解析從前端發(fā)送過來的數(shù)據(jù)廣播,具體如下:

1)同步內(nèi)容控制

負責(zé)監(jiān)聽是否有MRP觸發(fā)事件,該事件包括:請求鏈接數(shù)據(jù)管道接收MRP同步內(nèi)容、釋放MRP數(shù)據(jù)接收管道。主要函數(shù)為MRP_SNY_Monitor

MRP_SNY_Monitor{//一直監(jiān)聽有沒有MRP_dataControl()發(fā)的消息

while1){

//收到MRP觸發(fā)事件,MRP_cmd message為以數(shù)據(jù)結(jié)構(gòu)

MRP_cmd messagewaitmassege();

ifMRP_cmd message){

switchMRP_cmd message->MRP_cmd_type)//判斷命令類型

case MRP_REQUEST_SNYINF://請求接收同步內(nèi)容設(shè)置filter參數(shù),鏈接數(shù)據(jù)管道

break

case MRP_STOP_SNYINF://停止請求接收同步內(nèi)容釋放filter

defaultbreak

release MRP_cmd

MRP_SNY_Monitor是在main()中對MRP中間件創(chuàng)建任務(wù)后就會一直循環(huán)運行,直到關(guān)機才停止。它會一直搜索有沒有MRP_dataControl()發(fā)送的MRP觸發(fā)事件,當(dāng)發(fā)現(xiàn)有觸發(fā)事件時,則會判斷是請求接收還是停止接收同步信息。并通知數(shù)據(jù)接收部件接收同步數(shù)據(jù)。

2)同步信息接收

當(dāng)MRP_dataControl發(fā)送的消息為同步內(nèi)容請求時,MRP_SNY_Monitor會通知數(shù)據(jù)接收部件接收同步信息,此時MRP_HandleAllData()會被調(diào)用并接收廣播發(fā)來的section數(shù)據(jù),section數(shù)據(jù)以參數(shù)方式傳入接收函數(shù)從而實現(xiàn)了數(shù)據(jù)接收。

void MRP_HandleAllDataBYTE*SectionData)/*接收同步信息section*

ifSectionData0]==MRP_SYN_TABLEID){

indexGet2Byte(&SectionData3]);

if0xfffe==index

同步顯示標記的相關(guān)處理

else

MRP_ParseSynInfsynNumSectionData);//調(diào)用解析同步信息函數(shù)

else return

數(shù)據(jù)以section表格數(shù)據(jù)下發(fā),根據(jù)內(nèi)容不同可能為一個或多個section。接收的數(shù)據(jù)包括兩種:同步內(nèi)容數(shù)據(jù)和場景顯示標記,同步內(nèi)容數(shù)據(jù)包含了要顯示的內(nèi)容,收到后要解析出來,而場景顯示標記只是告訴播放模塊可以顯示了。

3)同步內(nèi)容解析

MRP_ParseSynInf()負責(zé)對接收到的同步信息進行解析,解析后的同步信息存儲在緩存中等待播放。解析后的數(shù)據(jù)以樹形結(jié)構(gòu)存在與結(jié)構(gòu)體中,具體如下圖5

圖5

2.2.2基于數(shù)字電視機頂盒的交互式中間件同步內(nèi)容播放模塊

播放模塊負責(zé)對解析后的同步信息進行顯示,在中間件運行的過程中,該模塊會不斷地循環(huán)運行,在本項目中這個接口是MRP_Service(),其框架代碼如下:

MRP_Service()

初始化代碼,發(fā)送請求同步信息的消息

while1

if(接收到了同步信息)//有同步信息的電視節(jié)目播放,

……

MRP_DrawPane();//顯示主或子信息框,包括文字、按鍵等信息

MRP_Key_Handle();//處理觀眾的交換響應(yīng)

……

……//雙向機頂盒還可以調(diào)用瀏覽器、回傳數(shù)據(jù)

else

//正常電視節(jié)目播放

用戶接口模塊調(diào)用MRP_Service()播放接口后,首先初始化所需的變量并發(fā)送請求接收同步信息的指令,接著不斷循環(huán)判斷接收到的電視節(jié)目是否有同步信息需要顯示。當(dāng)有同步信息需要顯示時,就轉(zhuǎn)向有同步信息的電視節(jié)目播放,否則就會按照原始正常的情況顯示電視節(jié)目。

對于同步信息的顯示,一般分為主顯示和次顯示,所謂主顯示就是當(dāng)有同步信息時,在當(dāng)前的電視節(jié)目上以提示的方式提醒用戶當(dāng)前節(jié)目有同步信息,此時,當(dāng)用戶按照提示進行操作時,將會轉(zhuǎn)到同步信息的次顯示畫面,即同步信息的內(nèi)容部分。

3基于數(shù)字電視機頂盒的交互式中間件測試

本測試在STi7109機頂盒上進行,使用的TS流不僅含有原始的音視頻等信息,還含有經(jīng)過編輯處理后的同步信息內(nèi)容,TS流的加工流程如下圖6所示:

圖6

含同步信息的TS流經(jīng)過復(fù)用器和調(diào)制器等設(shè)備在電視上顯示,最終的效果圖如下圖7和圖8所示:

圖7

4結(jié)束語

該中間件是基于長虹Sti7109機頂盒上設(shè)計和實現(xiàn)的,通過該中間件可以實現(xiàn)廣播方式下的單向和雙向交互功能,響應(yīng)速度比較快,且不會影響正常的播放功能。但對于網(wǎng)站的瀏覽,由于機頂盒的硬件性能比較低,且受網(wǎng)絡(luò)和機頂盒中瀏覽器的影響,其響應(yīng)速度相對慢一點,總體上說可以滿足多數(shù)業(yè)務(wù)需求。

文章評論

您需要登錄才可以對文章進行評論。

沒有賬號?立即注冊

最新活動
意見反饋
取消