專利名稱:一種通過文件系統(tǒng)訪問輪播數(shù)據(jù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通過文件隨機(jī)訪問輪播數(shù)據(jù)的方法,特別是指一種在數(shù)字電視接收設(shè)備中基于數(shù)據(jù)輪播格式和協(xié)議技術(shù)對數(shù)據(jù)進(jìn)行隨機(jī)訪問和有效提取的技術(shù)。屬于數(shù)字電視接收技術(shù)領(lǐng)域。
背景技術(shù):
數(shù)字電視接收設(shè)備泛指能夠接收、解碼和顯示數(shù)字電視信號的硬件設(shè)備,它應(yīng)用于數(shù)字電視領(lǐng)域,是模擬電視數(shù)字化得以實(shí)現(xiàn)的終端(見圖1)。數(shù)字電視接收設(shè)備所接收的是數(shù)字化的圖像和數(shù)據(jù)信息,因此,不同于傳統(tǒng)的模擬電視信號的接收與處理,數(shù)字電視接收設(shè)備對數(shù)字化的圖像信息和數(shù)據(jù)的接收及處理是通過其內(nèi)部的CPU及與其相連接的外圍器件進(jìn)行的。接收系統(tǒng)就是在相應(yīng)的硬件及操作系統(tǒng)的基礎(chǔ)上開發(fā)出數(shù)字電視接收設(shè)備適用的應(yīng)用程序;同樣,一些專業(yè)的數(shù)字廣播內(nèi)容服務(wù)商也需要根據(jù)不同的數(shù)字電視接收設(shè)備的硬件性能和功能開發(fā)出相應(yīng)的服務(wù)軟件。
在電視臺或電視運(yùn)營商的廣播設(shè)備中,音視頻信號與數(shù)據(jù)內(nèi)容經(jīng)過前端的復(fù)用器混合,形成傳輸流(TS流)。傳輸流經(jīng)過調(diào)制形成電磁信號傳送到數(shù)字電視接收設(shè)備中。數(shù)字電視接收設(shè)備(機(jī)頂盒)工作的原理如下 調(diào)諧/選擇模塊接受到電磁信號并選擇一定范圍的帶寬。
解調(diào)模塊把信號轉(zhuǎn)換為數(shù)據(jù)流(Bitstreams)。
解復(fù)用模塊從數(shù)據(jù)流(Bitstreams)中抽出期望信息并將其以合適的方式提供給不同的解碼器,它包括與條件接收模塊合作的解擾器。
視頻解碼模塊轉(zhuǎn)換顯示的圖像序列中的視頻位流。
音頻解碼模塊轉(zhuǎn)換模擬音頻信號中的音頻位流。
圖形引擎建立圖形層在發(fā)送之前將其和對PAL/NTSC的模擬信號請求中的視頻混合。
前面控制板部分負(fù)責(zé)解釋通過接收遙控器、無線鍵盤或前面板發(fā)出的用戶命令。
視頻位流與音頻位流經(jīng)過圖像處理器與圖像相混合,變成模擬的音視頻信號,輸出到顯示屏(電視機(jī))上。數(shù)據(jù)流則通過解復(fù)用器流入到CPU中,由在中央處理器(CPU)上運(yùn)行的系統(tǒng)程序進(jìn)行處理。處理的結(jié)果可以與音視頻流一起進(jìn)行混合,輸出到顯示器件上。
數(shù)字電視在原有音視頻業(yè)務(wù)的基礎(chǔ)上增加了大量的數(shù)據(jù)業(yè)務(wù),數(shù)據(jù)通過輪播方式循環(huán)與數(shù)字電視信號一起通過TS流的方式廣播到數(shù)字電視接收設(shè)備。數(shù)據(jù)輪播技術(shù)是根據(jù)ISO/IEC13818-6標(biāo)準(zhǔn)DSM-CC技術(shù)而規(guī)定的。數(shù)據(jù)輪播方式主要有數(shù)據(jù)轉(zhuǎn)盤和對象轉(zhuǎn)盤兩種。數(shù)字電視廣播用的數(shù)據(jù)轉(zhuǎn)盤是建立在DSM-CC數(shù)據(jù)轉(zhuǎn)盤基礎(chǔ)之上的,轉(zhuǎn)盤中的數(shù)據(jù)以模塊的形式發(fā)送,每個(gè)模塊又被分割成多個(gè)大小相同的數(shù)據(jù)塊。數(shù)字電視廣播用的對象轉(zhuǎn)盤是建立在DSM-CC對象轉(zhuǎn)盤基礎(chǔ)之上的,每個(gè)轉(zhuǎn)盤代表一個(gè)特殊的服務(wù)域,該域由DSM-CC U-U對象集合構(gòu)成,這些對象包括文件、目錄、事件、以及流事件。根據(jù)ISO/IEC13818-6標(biāo)準(zhǔn),數(shù)據(jù)輪播協(xié)議使用消息來封裝數(shù)據(jù)與控制信息,要廣播的數(shù)據(jù)的目錄結(jié)構(gòu)信息由數(shù)據(jù)表格DSI(DownloadServerInitiate)消息和DII(DownloadInfoIndirection)消息傳送,將實(shí)際的數(shù)據(jù)文件放入數(shù)據(jù)轉(zhuǎn)盤協(xié)議所定義的DownloadDataBlock(DDB)消息中進(jìn)行傳送。在一個(gè)數(shù)據(jù)輪播中,除每個(gè)模塊的最后一個(gè)數(shù)據(jù)塊外,模塊的所有數(shù)據(jù)塊都具有同樣的長度。模塊是邏輯上獨(dú)立的數(shù)據(jù)的集合,多個(gè)模塊可以組成一個(gè)組(Group),多個(gè)組(Group)則組成一個(gè)超級組(SuperGroup)。DSI消息描述了在超級組中的組的信息;DII消息描述了組中的模塊的信息。接收設(shè)備根據(jù)控制消息可以決定接收哪些模塊。輪播數(shù)據(jù)的播發(fā)格式見圖1。
在現(xiàn)代的計(jì)算技術(shù)中,數(shù)據(jù)的組織結(jié)構(gòu)一般通過文件系統(tǒng)來實(shí)現(xiàn)。虛擬文件系統(tǒng)(VFS)是一種常用的文件系統(tǒng)組織結(jié)構(gòu)技術(shù)。而在數(shù)字電視領(lǐng)域,由于通過DSM-CC方式廣播的數(shù)據(jù)是通過表結(jié)構(gòu)的形式廣播的,如何將輪播數(shù)據(jù)與VFS文件系統(tǒng)結(jié)合與關(guān)聯(lián)起來目前并沒有特定的技術(shù)。
不管是數(shù)據(jù)轉(zhuǎn)盤方法還是對象轉(zhuǎn)盤方法都能夠通過輪播的方式傳送數(shù)據(jù)。然而,要獲取這些數(shù)據(jù),需要將它們即時(shí)裝載,存放于緩存中。但是對于需要使用這些數(shù)據(jù)的應(yīng)用而言,上述方法非常的不方便,耗時(shí)繁瑣。
本發(fā)明的方法就是針對傳統(tǒng)技術(shù)的不足而提出的解決辦法。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是一種文件系統(tǒng)訪問輪播數(shù)據(jù)的方法。該方法的好處是通過在數(shù)字電視接收設(shè)備設(shè)置一個(gè)數(shù)據(jù)緩沖區(qū),從數(shù)字電視數(shù)據(jù)信號中獲取的通過輪播協(xié)議傳輸?shù)臄?shù)據(jù)存儲于數(shù)據(jù)緩沖區(qū),數(shù)據(jù)緩沖區(qū)與文件系統(tǒng)相聯(lián),應(yīng)用時(shí)直接以普通文件的方式訪問數(shù)據(jù),從而消除輪播數(shù)據(jù)獲取的繁瑣。
本發(fā)明通過以下的技術(shù)方案使以上問題得到解決。本發(fā)明的方法在于設(shè)定一種緩存,通過傳統(tǒng)的文件系統(tǒng)(如通過虛擬文件系統(tǒng)VFS)與此緩存相關(guān)聯(lián),當(dāng)需要獲取輪播數(shù)據(jù)時(shí),只需打開和讀取相應(yīng)的文件,從而方便使用,提高數(shù)字電視接收設(shè)備的反應(yīng)速度和數(shù)據(jù)利用效率。
下面詳細(xì)說明本發(fā)明的技術(shù)方案。
本方法的步驟本發(fā)明提供一種基于DSM-CC轉(zhuǎn)盤的傳輸方法,通過目錄文件系統(tǒng)的方式來獲取數(shù)據(jù)。不管是DSM-CC數(shù)據(jù)轉(zhuǎn)盤協(xié)議(Data Carousel)還是對象轉(zhuǎn)盤協(xié)議(Object Carousel),本方法對于它們都是適用的。這兩種協(xié)議的不同只是體現(xiàn)在數(shù)據(jù)裝載方式的不同而已。下面以數(shù)據(jù)轉(zhuǎn)盤(或稱數(shù)據(jù)輪播)為例來說明如何建立緩存和將文件系統(tǒng)與輪播數(shù)據(jù)關(guān)聯(lián)起來,從而達(dá)到通過文件系統(tǒng)來有效獲取數(shù)據(jù)的目的。
要進(jìn)行DSM-CC輪播數(shù)據(jù)的裝載,并將它們與文件系統(tǒng)進(jìn)行關(guān)聯(lián),一般有下列幾個(gè)子模塊1. Service Gateway負(fù)責(zé)提供對外公用接口,并且協(xié)調(diào)該系統(tǒng)各個(gè)模塊的任務(wù)執(zhí)行;2. Cache負(fù)責(zé)存儲有關(guān)的文件數(shù)據(jù),并提供搜尋和刪除功能;3. DSM FSDSM文件系統(tǒng),提供與上層文件系統(tǒng)進(jìn)行關(guān)聯(lián)的操作接口。
Cache(緩存)的作用cache用來存取已經(jīng)裝載的數(shù)據(jù),使得無需經(jīng)常地裝載數(shù)據(jù)。當(dāng)緩存一個(gè)Carousel時(shí),將首先接收所有的DSI和DII消息,將整個(gè)文件系統(tǒng)結(jié)構(gòu)緩存下來,但應(yīng)用調(diào)用某個(gè)文件時(shí),臨時(shí)從信道中獲取,并緩存下來。當(dāng)使用完一個(gè)文件并被關(guān)閉后,可以將其所占用內(nèi)存業(yè)被釋放。Cache的結(jié)構(gòu)以DDB作為緩存的基本單元,一個(gè)Carousel對應(yīng)Group鏈表,每個(gè)Group節(jié)點(diǎn)指向一個(gè)Module鏈表,每個(gè)Module節(jié)點(diǎn)指向一個(gè)DDB鏈表。Cache的結(jié)構(gòu)見圖3。
與文件系統(tǒng)的關(guān)聯(lián)(DSM FS)DSM-CC數(shù)據(jù)cache本身并沒有一個(gè)約定俗成的文件系統(tǒng),為了數(shù)據(jù)獲取的方便,應(yīng)該將Cache數(shù)據(jù)與一個(gè)文件系統(tǒng)關(guān)聯(lián),使得可以通過文件系統(tǒng)來訪問數(shù)據(jù)。上層的文件系統(tǒng)的組織結(jié)構(gòu)與Cache的組織并不需要相同。DSM-CC與文件系統(tǒng)(如VFS)一般需要定義文件系統(tǒng)關(guān)聯(lián)必須的數(shù)據(jù)結(jié)構(gòu)和函數(shù)。
下面通過附圖對本發(fā)明的方法來做進(jìn)一步的說明。
圖1是數(shù)字電視設(shè)備工作的框圖。數(shù)字電視信號進(jìn)入接收設(shè)備,經(jīng)過解調(diào)和解復(fù)用模塊的處理,將音視頻信號和數(shù)據(jù)信號分開,數(shù)據(jù)信號中所攜帶的事件信息數(shù)據(jù)經(jīng)過處理和存儲,用于顯示在電視機(jī)屏幕上。
圖2顯示了輪播數(shù)據(jù)的組織結(jié)構(gòu)。在數(shù)據(jù)輪播中,傳輸?shù)臄?shù)據(jù)被存儲到模塊(Module)中;而每個(gè)模塊被分成若干數(shù)據(jù)塊(Block)。在一個(gè)數(shù)據(jù)輪播中,除每個(gè)模塊的最后一個(gè)數(shù)據(jù)塊外,模塊的所有數(shù)據(jù)塊都具有同樣的長度。模塊是邏輯上獨(dú)立的數(shù)據(jù)的集合,多個(gè)模塊可以組成一個(gè)組(Group),多個(gè)組(Group)則組成一個(gè)超級組(SuperGroup)。數(shù)據(jù)輪播協(xié)議使用消息來封裝數(shù)據(jù)與控制信息。數(shù)據(jù)由DDB消息攜帶;控制則由DII,DSI等消息攜帶。DSI消息描述了在超級組中的組的信息;DII消息描述了組中的模塊的信息。接收設(shè)備根據(jù)控制消息可以決定接收哪些模塊。
圖3顯示了文件系統(tǒng)的結(jié)構(gòu)。在本發(fā)明中,F(xiàn)lash模塊作為文件系統(tǒng)的一個(gè)驅(qū)動,它是可讀可寫的存儲模塊;DSMCC作為文件系統(tǒng)的另一個(gè)驅(qū)動,它是可讀而不可寫的,因?yàn)樗且粋€(gè)循環(huán)輪播的系統(tǒng),寫是沒有意義的。
圖4顯示了DSM-CC數(shù)據(jù)的模塊結(jié)構(gòu)以及與文件系統(tǒng)的關(guān)聯(lián)。Org.dvb.dsmcc模塊通過SG接口指示需要將某個(gè)輪播(Carousel)裝載入Cache。然后VFS便可以通過文件系統(tǒng)的常用函數(shù)進(jìn)行數(shù)據(jù)的訪問。
圖5顯示了Cache的組織結(jié)構(gòu)Cache采用層次存儲結(jié)構(gòu),按DSI(Carousel Node)->DII(Group Node)->Module分類。
以下結(jié)合具體的實(shí)施實(shí)例對本發(fā)明作進(jìn)一步的詳細(xì)說明。
具體實(shí)施例方式
具體的實(shí)施方式如下1.獲得輪播數(shù)據(jù)的信息裝載PMT表,分析stream_identifier_descriptor描述子,裝載EIT或SDT表,分析data_broadcast_descriptor描述子,獲取數(shù)據(jù)播發(fā)的PID信息和輪播的類型和輪播的級別等信息。
調(diào)用MBT_SilGetCarouselInfo()獲取需要的data_broadcast_descriptor描述子。
2.關(guān)聯(lián)輪播 在DSM-CC模塊啟動時(shí),根據(jù)獲得的data_broadcast_descriptor描述子,調(diào)用MBT_DlAttachGateway()將對應(yīng)的數(shù)據(jù)輪播掛載到VFS的文件系統(tǒng)上。
調(diào)用MBT_DlDetachGateway()可以取消關(guān)聯(lián),并卸載DSM-CC文件系統(tǒng)。
在關(guān)聯(lián)輪播數(shù)據(jù)時(shí),需要裝載DSI和DII表以獲取具體的數(shù)據(jù)組織結(jié)構(gòu)。與虛擬文件系統(tǒng)VFS關(guān)聯(lián)時(shí),需要進(jìn)行以下的操作a)定義DSM-CC文件系統(tǒng)的類型其名稱為“dsmfs”;b)定義文件系統(tǒng)spuer_block和inode的結(jié)構(gòu);c)定義文件系統(tǒng)super_operation操作的三個(gè)方法void(*read_inode)(struct inode*),void(*put_super)(struct super_block*),int(*statfs)(struct super_block*,struct statfs*,int)d)定義文件系統(tǒng)file inode操作需要的四個(gè)方法dsmfs_file_operations,dsmfs_file_inode_create,,dsmfs_inode_lookup,dsmfs_inode_unlink;e)定義文件系統(tǒng)dir inode操作需要的三個(gè)方法dsmfs_dir_operations,dsmfs_inode_lookup,dsmfs_inode_unlink;f)定義文件系統(tǒng)file_operation讀寫的三個(gè)方法dsmfs_file_read,dsmfs_file_write,dsmfs_file_readdir\g)定義文件系統(tǒng)dir operation目錄操作的讀取方法dsmfs_dir_readdir;h)定義DSM-CC文件系統(tǒng)注冊到VFS文件系統(tǒng)的方法register_filesystem(&dsmfs_fs_type);i)定義DSM-CC文件系統(tǒng)的注銷的方法unregister_filesystem(&romfs_fs_type)。
按照上述步驟,通過實(shí)現(xiàn)所述的結(jié)構(gòu)和方法,將DSM-CC與VFS文件系統(tǒng)就關(guān)聯(lián)了起來。
3.文件操作調(diào)用VFS文件系統(tǒng)操作的函數(shù)訪問文件,此時(shí)裝載DDB消息以提供具體的數(shù)據(jù)。
最后所應(yīng)說明的是本發(fā)明提供的是一種通過文件系統(tǒng)訪問輪播數(shù)據(jù)的方法及其設(shè)計(jì)思想,以上實(shí)施例僅用以說明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對本發(fā)明進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改或局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種通過文件系統(tǒng)訪問輪播數(shù)據(jù)的方法。其特征在于在數(shù)字電視接收設(shè)備設(shè)置一個(gè)數(shù)據(jù)緩沖區(qū),從數(shù)字電視數(shù)據(jù)信號中獲取的通過輪播協(xié)議傳輸?shù)臄?shù)據(jù)存儲于數(shù)據(jù)緩沖區(qū),數(shù)據(jù)緩沖區(qū)與文件系統(tǒng)相聯(lián),應(yīng)用時(shí)直接以普通文件的方式訪問數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的一種通過文件系統(tǒng)訪問輪播數(shù)據(jù)的方法,其特征在于,它通過定義相應(yīng)的數(shù)據(jù)格式和數(shù)據(jù)讀取,構(gòu)造一個(gè)DSM文件系統(tǒng),使得數(shù)據(jù)功能與文件系統(tǒng)關(guān)聯(lián)起來,使得上層應(yīng)用直接調(diào)用文件系統(tǒng)的函數(shù)來訪問數(shù)據(jù)。
3.根據(jù)權(quán)利要求1和2所述的一種通過文件系統(tǒng)訪問輪播數(shù)據(jù)的方法,其特征在于,它處理的具體的數(shù)據(jù)輪播格式和協(xié)議可以是符合ISO/13818-6標(biāo)準(zhǔn)所規(guī)范的數(shù)據(jù)輪播(Data Carousel)和對象輪播(Object Carousel),也可以是通過其它的傳輸協(xié)議傳送的其它的格式數(shù)據(jù)。
4.根據(jù)權(quán)利要求1和2所述的一種通過文件系統(tǒng)訪問輪播數(shù)據(jù)的方法,其特征在于,用于關(guān)聯(lián)的上層文件系統(tǒng)可以是通用的虛擬文件系統(tǒng),也可以是其它的樹形文件系統(tǒng)。
全文摘要
本發(fā)明涉及一種通過文件訪問輪播數(shù)據(jù)的方法,特別是指一種在數(shù)字電視接收設(shè)備中基于數(shù)據(jù)輪播格式和協(xié)議對數(shù)據(jù)進(jìn)行隨機(jī)訪問和有效提取的技術(shù)。屬于數(shù)字電視接收技術(shù)領(lǐng)域。輪播數(shù)據(jù)是跟據(jù)ISO/13818-6的數(shù)據(jù)傳輸協(xié)議在數(shù)字電視領(lǐng)域所應(yīng)用的數(shù)據(jù)傳播技術(shù),但在標(biāo)準(zhǔn)大協(xié)議中,它并不與文件系統(tǒng)相關(guān)聯(lián),數(shù)據(jù)的獲取實(shí)際上比較繁瑣。本發(fā)明在于提供一種方法將數(shù)據(jù)存于一個(gè)緩存中,并且將它與一種文件系統(tǒng)(如虛擬文件VFS)相關(guān)聯(lián)起來,使得對輪播數(shù)據(jù)的訪問將象對本地文件的訪問一樣,可以隨機(jī)進(jìn)行,達(dá)到高效快捷訪問數(shù)據(jù)的目的。
文檔編號H04N7/24GK1784005SQ20041001817
公開日2006年6月7日 申請日期2004年5月9日 優(yōu)先權(quán)日2004年5月9日
發(fā)明者方向忠, 廖洪濤, 孫海生 申請人:意法半導(dǎo)體有限公司