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