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