機頂盒除了實現接收來自有線網絡的數字電視信號外,還應具有EPG(電子節目指南)、軟件在線升級等功能,我們在這里主要談談這幾種功能的實現。
2.4.1 EPG(電子節目指南)的實現:
2.4.1.1 EPG簡介
電子節目指南,是指在符合MPEG-2的TS傳輸流中插入DVB標準定義的SI信息,使機頂盒的綜合接收解碼器可以從TS流中提取出節目提供商播出節目的列表和播出參數,以直觀的形式顯示給數字電視用戶。EPG信息由兩部分信息組成:基本EPG信息和擴展EPG信息。基本EPG信息是指完全可以用《數字廣播業務信息規范》中的網絡信息表NIT、業務群關聯表BAT、業務描述表SDT和事件信息表EIT進行描述的EPG信息。擴展EPG信息是指在基本EPG信息之外,通過數據輪播傳遞的EPG信息,這些信息的入口采用EPG映射表(EMT)進行描述,信息的內容被封裝成具有多級目錄結構的文件系統,稱為擴展EPG內容信息(XECI)。基本EPG信息和擴展EPG信息中的EPG映射信息均采用表傳輸方式;擴展EPG信息中的擴展EPG內容信息采用數據輪播方式傳輸。
圖 2.2 EPG信息的組成圖
在數字電視節目的播出過程中,可以加入輔助的SI信息,供機頂盒解碼器的開發者來實現五花八門的電子節目指南的導航功能。EPG提供的信息主要包括:傳送信息的天數(例如一周)、傳送頻道的數目和名稱、傳送的節目數、節目提供商的標識和名稱、傳送網絡的信息(網絡標識和網絡名稱),其細節信息還包括:節目名稱、節目的簡單介紹、節目的開始和結束時間、節目的主題、節目的類屬、節目的觀看分級限制(例如對某個年齡段進行限制)。利用機頂盒收看數字電視節目,用戶通過EPG不僅能夠接收普通的電視節目、廣播節目或圖文電視節目,而且,還可以查看感興趣的信息:按節目分類(如音樂節目、體育節目、電影等)檢索節目;按節目提供者檢索節目;未來一段時間內節目播出表;視頻網絡中節目播出情況等信息。
2.4.1.2 PSI/SI信息及其功能
MPEG-2中的傳送碼流是根據ITU-TRecH220、ISO/IECDIS13818-2和ISO
/IEC13818-3協議定義的一種數據流,其目的是為了在有可能發生嚴重錯誤的環境下進行一道或多道程序的編碼數據的傳送和存儲。這種錯誤表現為比特值錯誤或分組丟失。傳送流的速率可以是變化的或固定不變的。在任何情況下組成的原始流可以是變化的或固定不變,在這些情況下的語法和語義限制是相問的。傳送流速率由節目參考時鐘(PCR)字段的位置和數值決定,通常對于每個程序都有自己的PCR字段。傳送流中有關PID的信息及各PID之間的關系包含在PSI (Program Specific Information:節目特定信息)中,MPEG-2解碼器將使用PSI信息來自動設置解碼所需的各種參數。PSI信息使用4個表來定義碼流的結構:PAT(Program Association Table:節目關聯表)、PMT(Program Map Table:節目映射表)、NIT(Network Information Table:網絡信息表)、CAT(Conditional Access Table:條件訪問表)。
MPEG-2在PSI中提供了不少有關節目組成和相互關系的信息,從而使得在接收端可以正確地對TS流進行解復用。但是這些信息在實際使用時仍然顯得不夠,為此在DVB標準中采用SI(Service Information:業務信息)對PSI信息進行了進一步的擴展。PSI中的信息基本上都是與當前碼流相關,即它們所涉及的內容都與當前碼流中的部分信息相關;而SI信息可以包括不在當前碼流中的一些服務和事件,允許用戶進行更多的選擇和了解更多的其他服務。SI信息表主要有以下內容:
BAT(Bouquet Association Table:業務群關聯表)、SDT(Service Description Table:業務描述表)、EIT(Event Information Table:事件信息表)、RST(Running Status Table:運行狀態表)、TDT(Time and Date Table:時間和日期表)、TOT(Time Offset Table:時間偏移值表)、ST(Stuffing Table:填充表)
業務信息(SI)是用來描述傳送系統,傳送內容和廣播數據流時間表等的數據,是補充MPEG-2節目說明信息(PSI)的附加數據,這些數據幫助綜合接收解碼器(IRD)自動調諧,給用戶提供附加信息,使IRD能自動設置可供選擇的業務。
頭端系統每隔一定周期將重復傳送SI信息,對于最高速率為100Mbits/s的傳送流而言,重復傳送SI信息的最小間隔為25毫秒。這樣,對于新開機的用戶,在很短的時間內,就可以接收到SI(業務信息),構成EPG(電子節目指南)所需的各項條款。
2.4. 1.3 EPG信息的提取
一般而言,PAT表的PID號為“0x00”,解復用器工作總是通過尋找PAT表開始。PAT給出了構成傳送流中各個節目業務的PMT(節目映射表)的PID,同時也給出了NIT(網絡信息表)的PID號。根據PID值及對應的Table ID值可以從流中解出相應的PMT、NIT、SDT、EIT等信息。機頂盒接收端的解析主要負責這些SI數據信息的重建。信息內容應與PSI和SI表中的信息相對應,它可按照Network-Transport Stream-Service-Event的分層順序描述,同時內嵌Transport Stream-Program(Service)-Element Stream的分層順序。SI數據信息必須按照一定的數據結構進行存儲,這樣才能方便、快捷地對其進行檢索和數據的提取。特別是對于運行于機頂盒的實時操作系統中的EPG,需要對用戶的交互進行實時的動作,所以對響應速度的要求很高,SI數據庫建立的好壞對其性能有重要的影響。SI數據主要有:網絡信息、傳輸流信息、業務(節目)信息,業務的事件信息等,并且大量的信息都是通過描述子來傳輸的,所以可用樹狀鏈表來存儲數據,構成從網絡、傳輸流、業務、事件的樹狀結構,傳送不同信息的描述子用繼承于同一基類的描述子類來表示。
網絡信息表傳送本網絡以及與此有關的其它網絡的一些信息。每個網絡都有唯一的識別符,網絡編碼請參看ETR162。網絡信息表主要攜帶:網絡識別符(network_id)、網絡名稱、傳輸系統參數(包括:頻率、調制方式、FEC外碼、符號率、FEC內碼)等信息,如果NIT表中有關于傳輸系統參數的正確描述,只要調諧到攜帶此NIT表的傳送流中,即可提取其它網絡的參數,一般解碼器便可根據提取出來的信息,自動搜索頻道。
節目業務描述表的每一個子表都對一個特定傳送流中的節目業務進行了描述。這些節目業務可以一部分是本身實際的傳送流,也可以是其它傳送流,這一點可以通過table_id(表識別符)進行識別。節目業務描述表提供了如下的信息:屬于哪一個節目業務群;節目業務的類型,如PAL、NTSC、SECAM、調頻廣播、圖文電視、準視頻點播等;節目業務的提供者;可以接收該節目業務的國家和不可以接收該節目業務的國家;指向特定信息的鏈接信息;實現準視頻點播的指導信息;實現多畫面的控制信息;指示使用的加密系統;給出實現交互式回傳信道的電話號碼;提供多語種的節目業務名稱和廣播者以及私有數據。
事件信息表按時間順序提供每一個節目業務中包含的節目段的信息。事件信息表提供如下信息:節目段的標識號、起始時間、節目長度、播放狀態、是否加密;指向特定信息的鏈接信息;節目段多語種的簡短介紹;節目段的詳細介紹;兩段同樣節目段的時間偏移;基本碼流類型,如視頻的幅型比、伴音的類型、字幕的類型等;使用的加密系統;節目類型,如電影/戲劇、新聞、綜藝、體育、少兒、音樂、藝術、社會政治、文教等;節目限定年齡的級別;給出實現交互式回傳信道的電話號碼;為滿足各節目段的碼率而提供的緩存大小信息及私有數據。
2.4.1.4 EPG系統的顯示技術
當電視節目和EPG應用同時啟動時,用戶看到的可能是節目畫面和EPG界面的疊加,用戶所看到的電視畫面從前到后可以分為三層,依次為圖形層、視頻層和背景層。圖形層即OSD(On Screen Display)層,OSD界面顯示技術指在圖像畫面上疊加文字顯示,使屏幕為用戶提供更多的附加信息。視頻層為當前正在收看的節目(解碼出來的活動圖像);背景層為沒有播放電視節目和啟動EPG菜單時的屏幕圖像。EPG畫面在圖形層上構建,EPG畫面是由許多EPG圖形元素(如按鈕、文本框、選擇按鈕、組件容器等)疊加而成。界面的狀態轉移是通過消息驅動的機制來實現的,在消息響應函數中進行消息處理。用見到的是屏幕圖像是這三層的疊加(blend)后的圖像。
SI數據檢索模塊快速的檢索本地SI數據庫,提供EPG界面當前輸入焦點所需的數據信息;OSD層圖形元素庫提供界面所需的圖形元素,該庫存于本地機頂盒的ROM中;狀態轉移控制器接收用戶遙控器的輸入,提供當前顯示所需的活動焦點,控制狀態轉移地流向;OSD層圖像是指EPG界面圖形元素合成后的圖像;OSD繪制引擎決定顯示的相應算法,接收各模塊提供的數據,完成OSD層圖形的繪制,最后是OSD層、視頻層和背景層的疊加操作。