專利名稱::機頂盒升級碼流的生成方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及機頂盒升級碼流的生成方法。
背景技術(shù):
:隨著全球化數(shù)字電視行業(yè)的發(fā)展,數(shù)字電視機頂盒已經(jīng)普及到每一個家庭,成為家庭必需品。與之相伴的是全球范圍內(nèi)誕生了許多數(shù)字電視運營商,這些運營商或由于所處不同地域或由于不同的發(fā)展理念,各自都制定了自己的運營商規(guī)范。這些規(guī)范也隨著數(shù)字電視的發(fā)展,應用范圍越來越廣,其中的規(guī)范之一就是數(shù)字電視機頂盒軟件升級規(guī)范。數(shù)字電視機頂盒生產(chǎn)廠商生產(chǎn)的機頂盒必須符合這些升級規(guī)范的要求,并且機頂盒生產(chǎn)廠商需要向運營商提供符合升級規(guī)范的升級碼流,用來為市場上本廠生產(chǎn)的機頂盒進行軟件升級。由于機頂盒廠家面對的市場是全球化的,每個市場有自己的獨特性,導致起定制的升級規(guī)范也是有地域性的,彼此之間是不兼容的。而機頂盒廠家要進入這些的運營商市場,那么就必須開發(fā)出符合該市場的技術(shù)規(guī)范的機頂盒。比如歐洲市場有專門的歐洲標準的升級規(guī)范,另外運營商市場使用不同的CA(條件接收),而這些CA也有自己專門的升級規(guī)范,如irdetoCA的升級規(guī)范、NDSCA的升級規(guī)范等。又如國內(nèi)的直播衛(wèi)星的升級規(guī)范、國內(nèi)每個省級市場的機頂盒升級規(guī)范等。有的運營商會為機頂盒廠家提供現(xiàn)成的碼流打包工具和方法,但更多的市場需要機頂盒廠家自己來開發(fā)符合相應規(guī)范的碼流打包工具并提供升級碼流。因此通常機頂盒生產(chǎn)廠家會針對每一種規(guī)范,單獨開發(fā)出一套生成升級碼流的工具。機頂盒廠家支持的運營商越多,需要開發(fā)的生成升級碼流的工具就越多,需要投入的開發(fā)人員和其它資源也就越多,增加了開發(fā)成本。同時,不同的開發(fā)人員有自己的開發(fā)風格,其實現(xiàn)的工具有不同的操作方式。因此工具種類越多,其他開發(fā)人員用起來就越復雜,降低了工作效率。
發(fā)明內(nèi)容針對上述的問題,本發(fā)明提供了一種機頂盒升級碼流的生成方法,能夠兼容各種升級規(guī)范的升級碼流生成方法,解決傳統(tǒng)技術(shù)中的升級碼流生成工具種類繁多、開發(fā)成本高,且容易出錯的問題。本發(fā)明機頂盒升級碼流的生成方法,包括步驟a.在機頂盒升級碼流的描述子的文件格式中,描述子的內(nèi)容分為條件和字段,其中條件包括條件語句、條件開始符和條件結(jié)束符;字段的屬性包括本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù);b.根據(jù)步驟a中描述子的文件格式,生成描述子文件;c.根據(jù)步驟b生成的描述子文件中各字段的本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù)屬性,生成各字段接口函數(shù)的實現(xiàn)函數(shù);d.通過傳輸流生成工具對各描述子文件進行解析生成數(shù)據(jù)模型,根據(jù)解析后各描述子文件中的接口函數(shù)的優(yōu)先級運行實現(xiàn)函數(shù),生成升級碼流文件包。將不同的升級規(guī)范的描述子都拆分到了各個升級描述子文件中,各個升級描述子的實現(xiàn)又被細分到描述子的每個字段。通過每個字段的本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù)屬性,找到對升級碼流處理所對應的接口函數(shù)。一個接口函數(shù)是對一個問題的所有不同具體解決方案的概括表達式,但不涉及具體的實現(xiàn)方式,也就是說接口函數(shù)是只有函數(shù)名而沒有函數(shù)體的,一個接口函數(shù)可以根據(jù)不同的應用環(huán)境,由不同的實現(xiàn)函數(shù)加以實現(xiàn)。如接口函數(shù)名稱為“行走”,可以由不同的方式來實現(xiàn)“行走”,例如可以通過“直立行走”和“四肢行走”兩種實現(xiàn)函數(shù)來實現(xiàn)“行走”接口函數(shù)。接口函數(shù)的最大特點是使處理系統(tǒng)具有極大的擴展性,而不局限于一種實現(xiàn)方式上。在本發(fā)明的方法中,在描述子的“本字段的功能接口函數(shù)”屬性中定義出升級方法的接口函數(shù),然后再通過各個規(guī)范對升級的具體方法、參數(shù)的不同來實現(xiàn)接口函數(shù),這樣就可以對任何規(guī)范的升級方法進行分解和實現(xiàn),而在產(chǎn)生升級碼流時是通過調(diào)用相同的接口函數(shù)來實現(xiàn)各個實現(xiàn)方法的,因而不改變生成升級碼流的運行過程,使得對機頂盒升級碼流的開發(fā)和開發(fā)工具得到了統(tǒng)一化、標準化。一種具體的方案,是將升級流的描述子的文件格式以行為單位,對每一行進行條件、條件結(jié)束符或字段的標識;如果標識為條件,則該行的屬性中包括條件語句和條件開始符;如果標識為條件結(jié)束符,則該行包括最近的一個條件范圍結(jié)束的屬性;如果標識為字段,則該行的屬性包括字段名稱、字段長度、初始值、本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù)。為了使生成升級碼流的過程中運行的正確性,還需要對步驟a中還包括對所有描述子文件的優(yōu)先級順序進行排列,定義執(zhí)行的先后順序。同時為了使系統(tǒng)更利于維護,開發(fā)模塊更具有復用性,可以將步驟c中各描述子接口函數(shù)的實現(xiàn)函數(shù)分別存儲于與所屬描述子對應的文件中,將每個描述子的實現(xiàn)函數(shù)獨立出來可以被重復調(diào)用,而不會對其它描述子和接口或?qū)崿F(xiàn)方法產(chǎn)生影響。在步驟d中,一種生成升級碼流文件包的方案,步驟包括將升級文件的名稱設(shè)于所對應描述子字段的本字段的關(guān)聯(lián)文件名稱的屬性中;如果當前處理字段的本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù)的屬性值均為空,則只對本字段的值進行處理,然后進行下一個字段的處理;如果當前處理字段的本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù)的屬性值不為空,則通過本字段的關(guān)聯(lián)文件名稱和本字段的關(guān)聯(lián)字段名稱獲得對應的值,結(jié)合所述的對應值運行本字段的功能接口函數(shù)的實現(xiàn)函數(shù),將結(jié)果寫入到升級碼流文件包中;當一個升級文件的信息處理完成后,如果升級碼流文件包的長度未寫滿,則通過占位符寫滿升級碼流文件包。本發(fā)明機頂盒升級碼流的生成方法,通過將各個升級規(guī)范拆分到了各個描述子文件中,再通過調(diào)用統(tǒng)一的接口函數(shù)的方式來實現(xiàn)不同的升級實現(xiàn)方法的。因為對不同的升級規(guī)范升級時不改變生成升級碼流的運行過程,因此這種生成升級碼流的方法能夠兼容各種升級規(guī)范,并且解決了傳統(tǒng)技術(shù)中的升級碼流生成工具種類繁多的問題,降低了開發(fā)成本,使得機頂盒升級碼流的開發(fā)和開發(fā)工具得到了統(tǒng)一化和標準化。以下結(jié)合實施例的具體實施方式,對本發(fā)明的上述內(nèi)容再作進一步的詳細說明。但不應將此理解為本發(fā)明上述主題的范圍僅限于以下的實例。在不脫離本發(fā)明上述技術(shù)思想情況下,根據(jù)本領(lǐng)域普通技術(shù)知識和慣用手段做出的各種替換或變更,均應包括在本發(fā)明的范圍內(nèi)。具體實施例方式本發(fā)明機頂盒升級碼流的生成方法,包括步驟a.在機頂盒升級碼流的描述子的文件格式中,描述子的內(nèi)容分為條件和字段,其中條件包括條件語句、條件開始符和條件結(jié)束符;字段的屬性包括本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù);并對所有描述子文件的優(yōu)先級順序進行排列。在升級流的描述子的文件格式中,以行為單位,對每一行進行條件、條件結(jié)束符或字段的標識;如果標識為條件,則該行的屬性中包括條件語句和條件開始符;如果標識為條件結(jié)束符,則該行包括最近的一個條件范圍結(jié)束的屬性;如果標識為字段,則該行的屬性包括字段名稱、字段長度、初始值、本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù)。b.根據(jù)步驟a中描述子的文件格式,生成描述子文件;c.根據(jù)步驟b生成的描述子文件中各字段的本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù)屬性,生成各字段接口函數(shù)的實現(xiàn)函數(shù);例如描述子文件“seconcLfile”文件的字段“Extable_ID”的運算規(guī)則是描述子文件“root_file”文件的字段“Extable_ID”的值加1。那么“second_file”文件的“Extable_ID”字段的“本字段的功能接口函數(shù)”屬性的實現(xiàn)函數(shù)的算法就是首先獲取“root_file”文件內(nèi)的“Extable_ID”的值,然后將其加1,再賦值給“seconcLfile”文件的“ExtableJD”字段。將各描述子接口函數(shù)的實現(xiàn)函數(shù)分別存儲于與所屬描述子對應的文件中,并且命名與升級流描述子文件呼應。如描述子文件的名稱為“root_XXX”,則該描述子文件的接口函數(shù)的實現(xiàn)函數(shù)文件名稱為“r00t_fim”。這樣每個描述子的實現(xiàn)函數(shù)文件都是獨立的,可以被不斷重用。d.通過傳輸流生成工具對各描述子文件進行解析生成數(shù)據(jù)模型,根據(jù)解析后各描述子文件中的接口函數(shù)的優(yōu)先級運行實現(xiàn)函數(shù),生成升級碼流文件包。傳輸流生成工具分為兩大模塊描述子解析模塊和傳輸流(化)生成模塊。將升級文件的名稱設(shè)于所對應描述子字段的本字段的關(guān)聯(lián)文件名稱的屬性中,描述子解析模塊根據(jù)導入的描述子文件的名稱,判斷出處理的先后順序,依次對其進行描述子文件解析,根據(jù)文件內(nèi)容生成相應的數(shù)據(jù)模型和TS包,對數(shù)據(jù)模型的相關(guān)字段進行初始賦值,并保存其值以供傳輸流生成模塊調(diào)用。TS包即傳輸流文件包。每個包具有188字節(jié),升級流文件由大量的TS包構(gòu)成,所有的升級描述子信息均存放在TS包中。數(shù)字電視信號在傳輸過程中也是使用的這種包。TS生成模塊根據(jù)文件信息,獲取到相應的數(shù)據(jù)模型,然后根據(jù)數(shù)據(jù)模型內(nèi)各字段的“本字段的關(guān)聯(lián)文件名稱”、“本字段的關(guān)聯(lián)字段名稱”和“本字段的功能接口函數(shù)”屬性的內(nèi)容,來判斷是否需要調(diào)用“本字段的功能接口函數(shù)”。具體包括如果當前處理字段的本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù)的屬性值均為空,則只對本字段的值進行處理,然后進行下一個字段的處理;如果當前處理字段的本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù)的屬性值不為空,則通過本字段的關(guān)聯(lián)文件名稱和本字段的關(guān)聯(lián)字段名稱獲得對應的值,結(jié)合所述的對應值運行本字段的功能接口函數(shù)的實現(xiàn)函數(shù),將結(jié)果寫入到升級碼流文件包中;當一個升級文件的信息處理完成后,如果升級碼流文件包的長度未寫滿,則通過占位符寫滿升級碼流文件包。例如描述子文件“seconcLfile”文件的字段“Pid_ID”的字段長度為16bit(2byte),初始值為OxAO,“本字段的關(guān)聯(lián)文件名稱”、“本字段的關(guān)聯(lián)字段名稱”和“本字段的功能接口函數(shù)”均為空,那么TS生成模塊向TS包寫入的數(shù)據(jù)為00A0;若三個屬性值均不為空,則先執(zhí)行“本字段的功能接口函數(shù)”,假設(shè)返回的數(shù)據(jù)為00780000,那么TS生成模塊寫入TS包的數(shù)據(jù)就為00780000。如果一個升級文件即一個描述子的信息處理完成后,TS包的長度未滿188字節(jié),則TS生成模塊通過寫入OxfT將該包填充到188字節(jié),并將該包寫入到升級流文件。當TS生成模塊處理完所有的升級文件后,TS升級碼流文件就生成完成了。本發(fā)明機頂盒升級碼流的生成方法通過將各個升級規(guī)范拆分到了各個描述子文件中,再通過調(diào)用統(tǒng)一的接口函數(shù)的方式來實現(xiàn)不同的升級實現(xiàn)方法的。因為對不同的升級規(guī)范升級時不改變生成升級碼流的運行過程,因此這種生成升級碼流的方法能夠兼容各種升級規(guī)范,并且解決傳統(tǒng)技術(shù)中的升級碼流生成工具種類繁多、開發(fā)成本高的問題,使得對機頂盒升級碼流的開發(fā)和開發(fā)工具得到了統(tǒng)一化和標準化。權(quán)利要求1.機頂盒升級碼流的生成方法,其特征為包括步驟a.在機頂盒升級碼流的描述子的文件格式中,描述子的內(nèi)容分為條件和字段,其中條件包括條件語句、條件開始符和條件結(jié)束符;字段的屬性包括本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù);b.根據(jù)步驟a中描述子的文件格式,生成描述子文件;c.根據(jù)步驟b生成的描述子文件中各字段的本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù)屬性,生成各字段接口函數(shù)的實現(xiàn)函數(shù);d.通過傳輸流生成工具對各描述子文件進行解析生成數(shù)據(jù)模型,根據(jù)解析后各描述子文件中的接口函數(shù)的優(yōu)先級運行實現(xiàn)函數(shù),生成升級碼流文件包。2.如權(quán)利要求1所述的機頂盒升級碼流的生成方法,其特征為在升級流的描述子的文件格式中,以行為單位,對每一行進行條件、條件結(jié)束符或字段的標識;如果標識為條件,則該行的屬性中包括條件語句和條件開始符;如果標識為條件結(jié)束符,則該行包括最近的一個條件范圍結(jié)束的屬性;如果標識為字段,則該行的屬性包括字段名稱、字段長度、初始值、本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù)。3.如權(quán)利要求1所述的機頂盒升級碼流的生成方法,其特征為步驟a中還包括對所有描述子文件的優(yōu)先級順序進行排列。4.如權(quán)利要求1所述的機頂盒升級碼流的生成方法,其特征為步驟c中各描述子接口函數(shù)的實現(xiàn)函數(shù)分別存儲于與所屬描述子對應的文件中。5.如權(quán)利要求1至4之一所述的機頂盒升級碼流的生成方法,其特征為步驟d中生成升級碼流文件包的步驟包括將升級文件的名稱設(shè)于所對應描述子字段的本字段的關(guān)聯(lián)文件名稱的屬性中;如果當前處理字段的本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù)的屬性值均為空,則只對本字段的值進行處理,然后進行下一個字段的處理;如果當前處理字段的本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù)的屬性值不為空,則通過本字段的關(guān)聯(lián)文件名稱和本字段的關(guān)聯(lián)字段名稱獲得對應的值,結(jié)合所述的對應值運行本字段的功能接口函數(shù)的實現(xiàn)函數(shù),將結(jié)果寫入到升級碼流文件包中;當一個升級文件的信息處理完成后,如果升級碼流文件包的長度未寫滿,則通過占位符寫滿升級碼流文件包。全文摘要本發(fā)明涉及機頂盒升級碼流的生成方法。包括步驟a.在升級流的描述子的文件格式中,描述子分為條件和字段,其中條件包括條件語句、條件開始符和條件結(jié)束符;字段的屬性包括本字段的關(guān)聯(lián)文件名稱、本字段的關(guān)聯(lián)字段名稱和本字段的功能接口函數(shù);b.根據(jù)描述子的文件格式,生成描述子文件;c.生成各字段接口函數(shù)的實現(xiàn)函數(shù);d.對各描述子文件進行解析生成數(shù)據(jù)模型,根據(jù)解析后各描述子文件中的接口函數(shù)運行實現(xiàn)函數(shù),生成升級碼流文件包。本發(fā)明機頂盒升級碼流的生成方法,能夠兼容各種升級規(guī)范,解決了傳統(tǒng)技術(shù)中的升級碼流生成工具種類繁多的問題,降低了開發(fā)成本,使得機頂盒升級碼流的開發(fā)和開發(fā)工具得到了統(tǒng)一化和標準化。文檔編號H04N21/43GK102291611SQ20111021771公開日2011年12月21日申請日期2011年8月1日優(yōu)先權(quán)日2011年8月1日發(fā)明者周志武,熊建勇申請人:四川長虹電器股份有限公司