專利名稱::一種檢索業(yè)務(wù)信息數(shù)據(jù)的方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種檢索業(yè)務(wù)信息的數(shù)據(jù)庫存取方法,屬于數(shù)字電視接收
技術(shù)領(lǐng)域:
。
背景技術(shù):
:數(shù)字電視接收設(shè)備泛指能夠接收、解碼和顯示數(shù)字電視信號的硬件設(shè)備,它應(yīng)用于數(shù)字電視領(lǐng)域,是模擬電視數(shù)字化得以實現(xiàn)的終端(見圖1)。數(shù)字電視接收設(shè)備所接收的是數(shù)字化的圖像和數(shù)據(jù)信息,因此,不同于傳統(tǒng)的模擬電視信號的接收與處理,數(shù)字電視接收設(shè)備對數(shù)字化的圖像信息和數(shù)據(jù)的接收及處理是通過其內(nèi)部的CPU及與其相連接的外圍器件進行的。接收系統(tǒng)就是在相應(yīng)的硬件及操作系統(tǒng)的基礎(chǔ)上開發(fā)出數(shù)字電視接收設(shè)備適用的應(yīng)用程序;同樣,一些專業(yè)的數(shù)字廣播內(nèi)容服務(wù)商也需要根據(jù)不同的數(shù)字電視接收設(shè)備的硬件性能和功能開發(fā)出相應(yīng)的服務(wù)軟件。在電視臺或電視運營商的廣播設(shè)備中,音視頻信號與數(shù)據(jù)內(nèi)容經(jīng)過前端的復(fù)用器混合,形成傳輸流(TS流)。傳輸流經(jīng)過調(diào)制形成電磁信號傳送到數(shù)字電視接收設(shè)備中。數(shù)字電視接收設(shè)備(機頂盒)工作的原理如下◆調(diào)諧/選擇模塊接受到電磁信號并選擇一定范圍的帶寬?!艚庹{(diào)模塊把信號轉(zhuǎn)換為數(shù)據(jù)流(Bitstreams)?!艚鈴?fù)用模塊從數(shù)據(jù)流(Bitstreams)中抽出期望信息并將其以合適的方式提供給不同的解碼器,它包括與條件接收模塊合作的解擾器?!粢曨l解碼模塊轉(zhuǎn)換顯示的圖像序列中的視頻位流?!粢纛l解碼模塊轉(zhuǎn)換模擬音頻信號中的音頻位流?!魣D形引擎建立圖形層在發(fā)送之前將其和對PAL/NTSC的模擬信號請求中的視頻混合?!羟懊婵刂瓢宀糠重撠熃忉屚ㄟ^接收遙控器、無線鍵盤或前面板發(fā)出的用戶命令。視頻位流與音頻位流經(jīng)過圖像處理器與圖像相混合,變成模擬的音視頻信號,輸出到顯示屏(電視機)上。數(shù)據(jù)流則通過解復(fù)用器流入到CPU中,由在中央處理器(CPU)上運行的系統(tǒng)程序進行處理。處理的結(jié)果可以與音視頻流一起進行混合,輸出到顯示器件上。一個網(wǎng)絡(luò)(Network)對應(yīng)著多個傳輸流(Transportstream),一個傳輸流又對應(yīng)著多個業(yè)務(wù)(Service),每個網(wǎng)絡(luò)、每個傳輸流和每個業(yè)務(wù)業(yè)都分別對應(yīng)著一個標識符(ID)。在網(wǎng)絡(luò)中傳輸時,這些信息被切分成不同格式的表并封裝在傳輸流(TS-Transportstream)包中,其中每一個表都具有完整的結(jié)構(gòu)。在接收設(shè)備收到TS包后,由解復(fù)用器(Demux)分解出原始的片段,組成表格數(shù)據(jù)。這些信息表在網(wǎng)絡(luò)中以一定時間間隔循環(huán)廣播,廣播的內(nèi)容可能隨時間而改變,這由數(shù)據(jù)播發(fā)系統(tǒng)決定。在現(xiàn)有的數(shù)字電視接收設(shè)備技術(shù)中,一般沒有定義明確的這些業(yè)務(wù)信息數(shù)據(jù)的接收、存儲、和解析技術(shù)。在有些數(shù)字電視接收設(shè)備中,并不將這些數(shù)據(jù)存儲起來,這樣每次在數(shù)字電視用戶切換頻道時,即時裝載數(shù)據(jù),并且還要解析,提取必要的信息,因而需要時間,使用戶處于等待狀態(tài),影響觀賞效果。而在另外一些接收設(shè)備中,即使由存儲的方法,也是通過分別建立一個網(wǎng)絡(luò)、傳輸流和業(yè)務(wù)結(jié)構(gòu),采用數(shù)組或鏈表式的方式,通過它們的標識符順序地查找。這兩種方式的缺點是采用數(shù)組的方式不能定義不定大小的數(shù)據(jù)塊,而采用鏈表的方式又增加了分配和釋放內(nèi)存的開銷,同時這兩種方式都搜索比較慢,效率比較低,這在數(shù)字電視接收設(shè)備資源比較希缺的硬件環(huán)境中,尤其顯得比較不可取。本發(fā)明的方法就是針對傳統(tǒng)技術(shù)的不足而提出的解決辦法。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題是提供一種高效檢索業(yè)務(wù)信息數(shù)據(jù)的方法,該方法的好處就是通過在數(shù)字電視接收設(shè)備(或稱機頂盒)中,建立一個業(yè)務(wù)信息數(shù)據(jù)庫(SIDatebase)用于存放及管理數(shù)字電視業(yè)務(wù)信息(SI),具體為網(wǎng)絡(luò)信息(Network),傳輸流信息(TransportStream),以及業(yè)務(wù)信息(Service)等信息,從而達到高效檢索業(yè)務(wù)信息數(shù)據(jù)的目的。本發(fā)明通過以下的技術(shù)方案使以上問題得到解決。在數(shù)字電視接收設(shè)備中,設(shè)置一個業(yè)務(wù)信息存儲器,在機頂盒啟動時,通過機頂盒的掃描,將所需要的網(wǎng)絡(luò)信息、傳輸流信息和業(yè)務(wù)信息檢索出來,并且按照一種數(shù)據(jù)庫表結(jié)構(gòu)的形式存儲下來。在本發(fā)明所涉及的數(shù)據(jù)庫表結(jié)構(gòu)中,一類相關(guān)的數(shù)據(jù)可以以確定或非確定的結(jié)構(gòu)存儲于一塊內(nèi)存區(qū)域中,每一塊數(shù)據(jù)都有自己的長度等信息,同時存有一種索引,可用來確定下一塊數(shù)據(jù)的位置。與通常采用的數(shù)組或鏈表的存儲方法相比較,這種方法最大可能地節(jié)省了內(nèi)存空間,而彌補了另外兩種方法的缺點,即便在內(nèi)存不是很大的系統(tǒng)中同樣適用。同時,基于這種存儲結(jié)構(gòu),檢索一個指定編號的數(shù)據(jù)塊通過從一個表的表頭開始,按照每一塊的長度信息及其位置確定下一塊的位置,比較塊的編號以最終找到所要的數(shù)據(jù)塊,從而實現(xiàn)了高效率的信息檢索功能。下面詳細說明本發(fā)明的技術(shù)方案。本方法的步驟1.定義業(yè)務(wù)信息數(shù)據(jù)庫有關(guān)表的結(jié)構(gòu)在業(yè)務(wù)信息數(shù)據(jù)庫結(jié)構(gòu)中定義以下幾個表調(diào)諧設(shè)備表(DeviceContexttable)、網(wǎng)絡(luò)表(Networktable)、傳輸流表(TransportStreamtable)、業(yè)務(wù)信息表(Servicetable、,頻道編號表(Numberingtable)、字符串表(Stringtable)和專有數(shù)據(jù)表(Privatedatatable)。各表之間以標識符(ID)和鍵值(Key)來關(guān)聯(lián)。在下面的表述中,uint8,uint16,uint32分別標識1字節(jié)、2字節(jié)和4字節(jié)無符號整數(shù);char[]表示字符串。各表存儲結(jié)構(gòu)如下調(diào)諧設(shè)備表調(diào)諧設(shè)備表每個單元的長度為3字節(jié),存儲結(jié)構(gòu)如下(數(shù)字代表相應(yīng)的字段,以下同)編號域名變量類型域長(字節(jié))說明1DeviceContextIDuint81調(diào)諧設(shè)備ID2NetworkIDuint162網(wǎng)絡(luò)ID網(wǎng)絡(luò)表網(wǎng)絡(luò)表每個單元的長度為12字節(jié),存儲結(jié)構(gòu)如下(數(shù)字代表相應(yīng)的字段,以下同)編號域名變量類型域長(字節(jié))說明1NetworkIDuint162網(wǎng)絡(luò)ID2NetworkNameIDuint324網(wǎng)絡(luò)名稱ID3PrivateDataIDuint324私有數(shù)據(jù)ID傳輸流表傳輸流表每個單元的長度為29字節(jié),存儲結(jié)構(gòu)如下編號域名變量類型域長(字節(jié))說明1DeviceContextKeyuint324所在網(wǎng)絡(luò)的調(diào)諧設(shè)備的Key2TransportStreamIDuint162傳輸流ID3OriginalNetworkIDuint162原始網(wǎng)絡(luò)ID4TunningTypeuint81調(diào)諧類型5Frequencyuint324BIS頻率6SymbolRateuint324符號率7TuningCommonInfouint324調(diào)諧通用信息8TuningSpecificInfouint324調(diào)諧專用信息9PrivateDataIDuint324私有數(shù)據(jù)的ID業(yè)務(wù)信息表業(yè)務(wù)信息表每個單元的長度根據(jù)該業(yè)務(wù)包含的基本流的個數(shù)的不同而不同,存儲結(jié)構(gòu)如下其中,_Stream部分由多個基本流的信息構(gòu)成,每個基本流信息的長度為8個字節(jié),該部分的實際長度由StreamCount確定。編號域名變量類型域長(字節(jié))說明1TransportStreamKeyuint324所在傳輸流的Key2ServiceNameIDuint324服務(wù)的全名的字符串ID3ShortServiceNameIDuint324服務(wù)的短名稱的字符串ID4ServiceIDuint162服務(wù)ID5PmtPiduint162Pmt表的Pid6CASystemIDuint162CA系統(tǒng)ID7ECMVideoPiduint162ECMVideo表的Pid8ECMAudioPiduint162ECMAudio表的Pid9PCRPiduint162PCR表的Pid10Typeuint81服務(wù)的類型11Flagsuint81服務(wù)標識12Propertiesuint81服務(wù)屬性13StreamCountuint324私有數(shù)據(jù)的ID14_Stream14.1Typeuint81基本流類型14.2ComponentTaguint8114.3Piduint162基本流PID14.4Language[3]int83基本流語言14.5AudioTypeint81音頻的類型頻道編號表頻道編號表每個單元的長度為Count*6+4字節(jié),存儲結(jié)構(gòu)如下一組ServiceKey與Properties表示一個頻道,共有Count個,頻道號依次為1、2、3、…。編號域名變量類型域長(字節(jié))說明1NumberingIDuint162Numbering的ID2Countuint322頻道的個數(shù)3ServiceKeyuint324頻道對應(yīng)服務(wù)的Key4Propertiesuint322頻道屬性字符串表字符串表每個單元的長度不定,存儲結(jié)構(gòu)如下在表中查找時,依據(jù)ID和長度從一個單元跳到下一個單元,直到指定的字符串單元。編號域名變量類型域長(字節(jié))說明1StringIDuint324字符串的ID2Lengthuint81字符串的長度3Stringchar[]字符串(以\0結(jié)尾)專有數(shù)據(jù)表專有數(shù)據(jù)表每個單元的長度不定,存儲結(jié)構(gòu)如下Size表示從一個單元的總長度;一組Tag、Length和Data表示一個描述符,共有Count個描述符。編號域名變量類型域長(字節(jié))說明1PrivateDataIDuint324私有數(shù)據(jù)的ID2Sizeuint324私有數(shù)據(jù)單元的總長度3Countuint324描述符的個數(shù)4Taguint81描述符的類型5Lengthuint81描述符的長度6Datachar[]描述符數(shù)據(jù)2.建立業(yè)務(wù)信息數(shù)據(jù)庫的索引和信息表之間的關(guān)聯(lián)業(yè)務(wù)信息數(shù)據(jù)庫的所有數(shù)據(jù)都以表的形式保存于永久存儲器中,如閃存(Flash)、硬盤等,并在接收設(shè)備啟動時載入隨機存儲器。每一個表都是由不同的單元組成,每個單元有一個不同的鍵值(Key),它就是查找相關(guān)信息的索引,它是從零開始的單元序號,用于區(qū)分不同的單元。對于固定長度的單元,可以通過鍵值和單元長度在表中直接定位;對于不定長度的單元,也可以通過在每個單元中保存的單元長度信息和鍵值順序查找。業(yè)務(wù)信息數(shù)據(jù)庫中的數(shù)據(jù)是通過各個表相應(yīng)的標識符的值與鍵值來關(guān)聯(lián)的。兩者的區(qū)別是標識符的值是唯一的但不一定是連續(xù)的,但鍵值相對于同一個表來說是連續(xù)的,這種連續(xù)的特點使得在數(shù)據(jù)表中查找、定位數(shù)據(jù)時非常方便。各表之間的關(guān)聯(lián)關(guān)系見圖2。如果在表中有相關(guān)的字符串信息,則字符串的字段都通過它的ID號同字符串表中的StringID(如業(yè)務(wù)信息表中的ServiceNameID就代表了字符串表中的StringID)相關(guān)聯(lián);專有數(shù)據(jù)表用于存放一些輔助、補充信息。如果某一個表有一個私有描述標識(PrivateDataID),就表示它同專有數(shù)據(jù)表相關(guān)聯(lián)。若已知數(shù)字電視網(wǎng)絡(luò)的網(wǎng)絡(luò)標識(networkid),可取得相應(yīng)的網(wǎng)絡(luò)鍵值(networkkey),據(jù)此可從網(wǎng)絡(luò)信息表中獲取網(wǎng)絡(luò)的有關(guān)信息。同理,根據(jù)網(wǎng)絡(luò)表示(networkid)、傳輸流標識(transportstreamid)或者再加上業(yè)務(wù)標識(serviceid)可獲取傳輸流和業(yè)務(wù)的信息。頻道標號表的作用是表示頻道與業(yè)務(wù)的關(guān)系。頻道編號表的結(jié)構(gòu)如上文所示每個編號用一個NumberingID來表示,不同的數(shù)字電視運營商可以用不同的頻道表示法,每一種表示法為一個編號。在一個編號單元上,一組[servicekey、serviceproperties]表示一個頻道。查找時,通過給定的numberingid和頻道號(即在編號表中[servicekey、serviceproperties]所在的位置),即可唯一確定頻道對應(yīng)的業(yè)務(wù)。下面結(jié)合附圖,對本發(fā)明的方法作進一步的說明。圖1是數(shù)字電視設(shè)備工作的框圖。數(shù)字電視信號進入接收設(shè)備,經(jīng)過解調(diào)和解復(fù)用模塊的處理,將音視頻信號和數(shù)據(jù)信號分開,數(shù)據(jù)信號中所攜帶的事件信息數(shù)據(jù)經(jīng)過處理和存儲,用于顯示在電視機屏幕上。圖2是業(yè)務(wù)信息數(shù)據(jù)庫幾個表之間的關(guān)聯(lián)。它標識幾個信息表之間通過鍵值(Key)來建立聯(lián)系,通過相應(yīng)的鍵值和標識(ID),來依次找到相應(yīng)的信息。在頻道編號表中有查找業(yè)務(wù)信息表的鍵值;在業(yè)務(wù)信息表中,有查找傳輸流信息表的鍵值;在傳輸流信息表中,有查找網(wǎng)絡(luò)信息表的鍵值。通過鍵值可在各個表中取得相關(guān)信息。以下結(jié)合具體的實施實例對本發(fā)明作進一步的詳細說明。具體實施例方式實施方式1業(yè)務(wù)信息數(shù)據(jù)的充填。在機頂盒第一次啟動時,業(yè)務(wù)信息數(shù)據(jù)庫是空的。這時,通過裝載網(wǎng)絡(luò)信息表、業(yè)務(wù)信息表(數(shù)字電視必要的信息表有PAT、PMT、NIT、SDT或BAT等)等獲取數(shù)字電視傳輸?shù)木W(wǎng)絡(luò)信息、傳輸流信息、業(yè)務(wù)名稱、所對應(yīng)的音視頻流的廣播通道信息等,根據(jù)這些信息,依照本方法所定義的業(yè)務(wù)信息表和對應(yīng)的檢索關(guān)系來建立業(yè)務(wù)信息數(shù)據(jù)庫。實施方式2業(yè)務(wù)信息的檢索。假定在業(yè)務(wù)信息數(shù)據(jù)庫中儲存了必要的數(shù)據(jù),包括一個有線網(wǎng)絡(luò),在網(wǎng)絡(luò)中的三條傳輸流,和六套數(shù)字電視節(jié)目,這些信息分別存在網(wǎng)絡(luò)信息表、傳輸流表和業(yè)務(wù)信息表中。在頻道編號表中存儲了與六套節(jié)目相對應(yīng)的頻道信息,分別以從1到6來表示六套數(shù)字節(jié)目?,F(xiàn)在,一個應(yīng)用要從當前的4頻道切換到3頻道,它首先需要知道3頻道是那一套節(jié)目,這可以從頻道編號表中取得,包括了對應(yīng)頻道的業(yè)務(wù)鍵值ServiceKey。據(jù)此又可以在業(yè)務(wù)信息表中取得頻道的信息,其中包括對應(yīng)頻道所在的傳輸流的鍵值TransportStreamKey,同樣通過TransportStreamKey可在傳輸流表中取得對應(yīng)的傳輸流的信息,這些信息里對于切換頻道最重要的就是傳輸流所在的頻率,把這個頻率信息傳給接收設(shè)備中的硬件解調(diào)器就可以切換到節(jié)目所在的傳輸流了。至此,一次頻道切換就完成了。最后所應(yīng)說明的是本發(fā)明提供的是一種高效檢索業(yè)務(wù)信息數(shù)據(jù)庫的方法及其設(shè)計思想,以上實施例僅用以說明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實施例對本發(fā)明進行了詳細說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解依然可以對本發(fā)明進行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改或局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當中。權(quán)利要求1.一種檢索業(yè)務(wù)信息數(shù)據(jù)的方法,其特征在于,在數(shù)字電視接收設(shè)備(或稱機頂盒)中,建立一個業(yè)務(wù)信息數(shù)據(jù)庫(SIDatebase)用于存放及管理數(shù)字電視業(yè)務(wù)信息(SI),具體為網(wǎng)絡(luò)信息(Network),傳輸流信息(TransportStream),以及業(yè)務(wù)信息(Service)等信息。2.根據(jù)權(quán)利要求1所述的一種檢索業(yè)務(wù)信息數(shù)據(jù)的方法,其特征在于,它通過將所有數(shù)據(jù)均以表的形式保存,實現(xiàn)數(shù)據(jù)的有效檢索,主要的表結(jié)構(gòu)包括網(wǎng)絡(luò)信息表(Networktable),存儲相關(guān)網(wǎng)絡(luò)信息;傳輸流表(TransportStreamtable),存儲相關(guān)傳輸流信息;業(yè)務(wù)信息表(Servicetable),存儲相關(guān)業(yè)務(wù)信息;頻道編號表(Numberingtable),存儲可以按順序編號的信息;字符串表(Stringtable),存儲字符串信息;專有數(shù)據(jù)表(Privatedatatable),存儲與網(wǎng)絡(luò)、傳輸流或業(yè)務(wù)相關(guān)的信息。3.根據(jù)權(quán)利要求2所述的一種檢索業(yè)務(wù)信息數(shù)據(jù)的方法,其特征在于,它通過將業(yè)務(wù)信息數(shù)據(jù)庫的不同表格采用關(guān)鍵值(Key)來聯(lián)系在一起,檢索方式主要通過鍵值來進行的。在頻道編號表中有查找業(yè)務(wù)信息表的鍵值;在業(yè)務(wù)信息表中,有查找傳輸流信息表的鍵值;在傳輸流信息表中,有查找網(wǎng)絡(luò)信息表的鍵值。通過鍵值可在各個表中取得相關(guān)信息。4.根據(jù)權(quán)利要求2所述的一種檢索業(yè)務(wù)信息數(shù)據(jù)的方法,其特征在于,它通過在業(yè)務(wù)信息數(shù)據(jù)庫的不同表格的檢索方式還通過標識符來進行的。在網(wǎng)絡(luò)信息表中,有傳輸流信息標識符以便查找傳輸流的信息;在傳輸流信息表中,有業(yè)務(wù)信息標識符以便查找業(yè)務(wù)信息。5.根據(jù)權(quán)利要求2所述的一種檢索業(yè)務(wù)信息數(shù)據(jù)的方法,其特征在于,它所涉及的頻道編號表、字符串表以及專有數(shù)據(jù)表為單元長度不定的表,通過它們可以實現(xiàn)不定長度數(shù)據(jù)塊的存取。6.根據(jù)權(quán)利要求2所述的一種檢索業(yè)務(wù)信息數(shù)據(jù)的方法,其特征在于,它還可以通過采用其它的表用以儲存其它的信息,而且在這些表中,具體的數(shù)據(jù)項可以有添加和刪減,但檢索方式不變。全文摘要本發(fā)明涉及一種檢索業(yè)務(wù)信息數(shù)據(jù)的方法,業(yè)務(wù)信息(ServiceInformation)數(shù)據(jù)用來保存、管理數(shù)字電視應(yīng)用需要用到的有關(guān)網(wǎng)絡(luò)信息、傳輸流信息以及業(yè)務(wù)信息,并可以通過提供應(yīng)用編程接口方便地從中添加和取出需要的數(shù)據(jù)。數(shù)據(jù)庫中的所有數(shù)據(jù)均以表的形式保存,涉及的表為調(diào)諧設(shè)備表、網(wǎng)絡(luò)表、傳輸流表、業(yè)務(wù)信息表、頻道編號表、字符串表和專有數(shù)據(jù)表,各表之間以標識符的值(ID)和鍵值(Key)來關(guān)聯(lián)。本發(fā)明所述的方法采用直接索引方式,可以方便快速地在數(shù)據(jù)表中查找、定位數(shù)據(jù),因而在速度上優(yōu)于通常所采用的鏈表方式,同時彌補了若采用數(shù)組方式不能定義不定大小數(shù)據(jù)塊的缺點。文檔編號H04N7/173GK1571502SQ20041001817公開日2005年1月26日申請日期2004年5月9日優(yōu)先權(quán)日2004年5月9日發(fā)明者廖洪濤,劉勛,孫海生申請人:上海高清數(shù)字技術(shù)創(chuàng)新中心,英凱軟件系統(tǒng)(上海)有限公司