快速開機方法、數(shù)據(jù)處理方法及機頂盒的制作方法
【專利摘要】一種用于一機頂盒的一快速開機方法,該快速開機方法包含有于該機頂盒進行開機時,讀取并解壓縮儲存在一儲存裝置的一第一儲存區(qū)塊的一第一壓縮碼,以產(chǎn)生一第一解壓縮碼,其中該第一解壓縮碼相關于系統(tǒng)啟動程序;執(zhí)行該第一解壓縮碼,以實現(xiàn)系統(tǒng)啟動程序;于執(zhí)行該第一解壓縮碼時,讀取并解壓縮儲存在該儲存裝置的一第二儲存區(qū)塊的一第二壓縮碼,以產(chǎn)生一第二解壓縮碼,其中該第二解壓縮碼相關于在屏顯示程序;以及執(zhí)行該第二解壓縮碼,以于一顯示裝置上執(zhí)行在屏顯示程序。
【專利說明】快速開機方法、數(shù)據(jù)處理方法及機頂盒
【技術領域】
[0001]本發(fā)明系指一種數(shù)據(jù)處理方法及其應用,尤指一種應用于機頂盒中可有效降低機頂盒的開機時間,進而提高使用效能的快速開機方法、數(shù)據(jù)處理方法及機頂盒。
【背景技術】
[0002]一般來說,一般用戶收看的電視節(jié)目可分為有線電視節(jié)目及無線電視節(jié)目,其系分別透過一無線天線或一同軸電纜線,將復數(shù)個廣播節(jié)目信號以模擬信號的方式,傳送到每一用戶端以進行觀賞。然而,隨著數(shù)字信號所對應的軟/硬體持續(xù)發(fā)展,透過數(shù)字信號產(chǎn)生的電視節(jié)目已逐漸取代傳統(tǒng)上使用模擬信號的電視節(jié)目,同時俗稱為機頂盒(set-topbox, STB)的數(shù)字播放硬體亦大量用來搭配一顯示裝置(例如一液晶顯示螢幕),據(jù)此使用者將能觀賞到具有較佳解析效果且低雜訊的數(shù)字電視節(jié)目。
[0003]為了節(jié)省存儲器的存放空間,現(xiàn)有的機頂盒會將所需的軟體信息進行壓縮處理并將其儲存于存儲器中。當需要使用到相關的軟體信息時,再將存放于存儲器中的軟體信息進行解壓縮處理。舉例來說,用來執(zhí)行開機的固件碼可事先被壓縮處理并儲存在存儲器中。當機頂盒在進行開機時,機頂盒便會將存儲器中的固件碼進行解壓縮,并據(jù)以執(zhí)行開機程序。然而,由于機頂盒需對所有已壓縮的軟體信息進行解壓縮,而且數(shù)據(jù)的解壓縮程序通常需要耗費一段執(zhí)行時間,如此一來,將會增加機頂盒的開機時間,同時也會影響使用者的使用。
[0004]因此,如何改善習知機頂盒開機時間較長的缺失,以提供使用者能獲得較佳的使用品質,同時提高機頂盒的使用效能,已成為業(yè)界所努力的目標之一。
【發(fā)明內容】
[0005]因此,本發(fā)明的主要目的即在于提供一種快速開機方法、數(shù)據(jù)處理方法及機頂盒。
[0006]本發(fā)明揭露一種用于一機頂盒的一,決速開機方法。該快速開機方法包含有于該機頂盒進行開機時,讀取并解壓縮儲存在一儲存裝置的一第一儲存區(qū)塊的一第一壓縮碼,以產(chǎn)生一第一解壓縮碼,其中該第一解壓縮碼相關于系統(tǒng)啟動程序;執(zhí)行該第一解壓縮碼,以實現(xiàn)系統(tǒng)啟動程序;于執(zhí)行該第一解壓縮碼時,讀取并解壓縮儲存在該儲存裝置的一第二儲存區(qū)塊的一第二壓縮碼,以產(chǎn)生一第二解壓縮碼,其中該第二解壓縮碼相關于在屏顯示程序;以及執(zhí)行該第二解壓縮碼,以于一顯示裝置上執(zhí)行在屏顯示程序。
[0007]本發(fā)明另揭露一種數(shù)據(jù)處理方法,該數(shù)據(jù)處理方法包含有接收一固件碼,并將該固件碼中一主程序碼分成一第一程序碼及一第二程序碼,其中該第一程序碼相關于系統(tǒng)啟動程序,該第二程序碼相關于在屏顯示程序;根據(jù)一第一演算法,對該第一程序碼進行壓縮處理,以產(chǎn)生一第一壓縮碼,以及根據(jù)一第二演算法,對該第二程序碼進行壓縮處理,以產(chǎn)生一第二壓縮碼;以及將該第一壓縮碼儲存于一儲存裝置的一第一儲存區(qū)塊中,以及將該第二壓縮碼儲存于該儲存裝置的一第二儲存區(qū)塊中。
[0008]本發(fā)明另揭露一種機頂盒,包含有一分塊壓縮單元、一儲存裝置及一處理單元。該分塊壓縮單元,用來將一固件碼中一主程序碼分成一第一程序碼及一第二程序碼,并根據(jù)一第一演算法及一第二演算法,分別壓縮該第一程序碼及該第二程序碼,以產(chǎn)生一第一壓縮碼及一第二壓縮碼。該儲存裝置,耦接于該分塊壓縮單元,用來將該第一壓縮碼儲存于一第一儲存區(qū)塊中,以及將該第二壓縮碼儲存于一第二儲存區(qū)塊中。該處理單元,耦接于該儲存裝置,用來讀取及解壓縮儲存于該儲存裝置中的該第一壓縮碼與該第二壓縮碼,以及執(zhí)行解壓縮后的該第一程序碼及該第二程序碼,以實現(xiàn)快速開機。
【專利附圖】
【附圖說明】
[0009]圖1為本發(fā)明實施例的一機頂盒的示意圖。
[0010]圖2與圖3分別為本發(fā)明實施例的一流程的示意圖。
[0011]主要元件符號說明
[0012]10機頂盒
[0013]100分塊壓縮單元
[0014]102儲存裝置
[0015]104處理單元
[0016]20、30流程
[0017]200 ~210、300 ~310步驟
【具體實施方式】
[0018]請參考圖1,圖1為本發(fā)明實施例的一機頂盒10的示意圖。機頂盒10包含有一分塊壓縮單元100、一儲存裝置102及一處理單元104。其中,分塊壓縮單元100用來將機頂盒10所接收的一固件碼中的一主程序碼分成程序碼PC1、PC2,并根據(jù)不同的壓縮演算法,分別對程序碼PC1、PC2進行壓縮處理,以產(chǎn)生壓縮碼CC1、CC2。儲存裝置102耦接于分塊壓縮單元100,用來將壓縮碼CCl、CC2分別儲存于儲存裝置102的儲存區(qū)塊SBl、SB2中。處理單元104耦接于儲存裝置102,用來讀取及解壓縮儲存裝置102中的壓縮碼CCl、CC2,以及執(zhí)行解壓縮后的程序碼PC1、PC2,以實現(xiàn)快速啟動機頂盒10并達到快速開機的效果(細節(jié)將于以下描述)。
[0019]關于分塊壓縮單元100的數(shù)據(jù)處理方式,可歸納為一流程20,請繼續(xù)參考以下說明。圖2為本發(fā)明實施例的流程20的示意圖。流程20包含以下步驟:
[0020]步驟200:開始。
[0021]步驟202:將機頂盒的固件碼中的主程序碼分成第一程序碼與第二程序碼。
[0022]步驟204:根據(jù)不同的壓縮演算法,分別對第一程序碼與第二程序碼進行壓縮處理,以產(chǎn)生第一壓縮碼與第二壓縮碼。
[0023] 步驟206:將第一壓縮碼傳送至儲存裝置,并儲存于儲存裝置的第一儲存區(qū)塊。
[0024]步驟208:將第二壓縮碼傳送至儲存裝置,并儲存于儲存裝置的第二儲存區(qū)塊。
[0025]步驟210:結束。
[0026]根據(jù)流程20,分塊壓縮單元100可將機頂盒10所接收的固件碼中的主程序碼分成程序碼PC1、PC2。接著,分塊壓縮單元100根據(jù)一第一壓縮演算法對程序碼PCl進行壓縮處理以產(chǎn)生壓縮碼CC1,并且根據(jù)一第二壓縮演算法對程序碼PC2進行壓縮處理以產(chǎn)生壓縮碼CC2。當壓縮碼CC1、CC2被產(chǎn)生之后,分塊壓縮單元100將壓縮碼CCl傳送至儲存裝置102,以將壓縮碼CCl儲存于儲存裝置102的儲存區(qū)塊SBl。同樣地,分塊壓縮單元100將壓縮碼CC2傳送至儲存裝置102,以將壓縮碼CC2儲存于儲存裝置102的儲存區(qū)塊SB2。如此一來,在機頂盒欲執(zhí)行相關執(zhí)行程序時,將可依據(jù)執(zhí)行的順序分別讀取并解壓縮不同儲存區(qū)塊中的信息。簡言之,根據(jù)流程20,將可透過分塊壓縮單元100預先配置好儲存裝置102中的數(shù)據(jù),以配合后續(xù)流程的運作。
[0027]舉例來說,固件碼中關于開機程序的主程序碼包含了程序碼PC1、PC2,且程序碼PCl系相關于系統(tǒng)啟動程序,程序碼PC2系相關于在屏顯示(on screen display, OSD)程序,也就是說,在開機程序中,程序碼PCl會先被執(zhí)行之后,程序碼PC2才會被執(zhí)行。因此,于機頂盒10進行開機時,處理單元104可先讀取儲存在儲存裝置102的儲存區(qū)塊SBl中的壓縮碼CC1,并對壓縮碼CCl進行解壓縮處理,以產(chǎn)生相關于系統(tǒng)啟動程序的一解壓縮碼DCCl0接著,處理單元104執(zhí)行解壓縮碼DCCl以實現(xiàn)系統(tǒng)啟動程序。例如,系統(tǒng)啟動程序包含進行硬件/軟件初始化、顯示頻道設定、顯示頻道播放及/或節(jié)目菜單輸出等系統(tǒng)啟動的運作。同時,于處理單元104執(zhí)行解壓縮碼DCCl的期間,處理單元104會再讀取并解壓縮儲存在儲存裝置102的儲存區(qū)塊SB2的壓縮碼CC2,以產(chǎn)生相關于在屏顯示程序的一解壓縮碼DCC2。換言之,在處理單元104執(zhí)行解壓縮碼DCCl來實現(xiàn)相關系統(tǒng)啟動程序之時,也同時取得了相關于在屏顯示程序的解壓縮碼DCC2。如此一來,當處理單元104執(zhí)行解壓縮碼DCC2時,諸如顯示頻道設定、顯示頻道播放或節(jié)目菜單輸出等相關于系統(tǒng)啟動程序的事項也已完成。處理單元104便可順利通過執(zhí)行解壓縮碼DCC2,以于顯示裝置上執(zhí)行在屏顯示程序。
[0028]簡單來說,傳統(tǒng)的機頂盒在開機時,通常必須將儲存在儲存裝置中的主程序碼(包含程序碼PC1、PC2)全部解壓縮出來后,再執(zhí)行主程序碼以進行相關開機操作,如此一來,將需耗費冗長的開機時間。為了改善傳統(tǒng)機頂盒開機時間較長的缺失,本發(fā)明對固件碼分塊壓縮并存放在不同儲存空間,并于欲執(zhí)行相關執(zhí)行程序時,依據(jù)執(zhí)行的順序分別讀取并解壓縮所需的程序信息,如此一來,利用分塊解壓縮的方式,機頂盒只要經(jīng)由儲存裝置讀取并解壓縮第一部分(執(zhí)行順序在前)的固件碼,即可開始執(zhí)行開機程序,而不需等到全部的固件碼都被解壓縮處理完之后才可開始執(zhí)行開機程序。除此之外,在執(zhí)行第一部分的固件碼的同時,又可同時讀取并解壓縮第二部分(執(zhí)行順序在后)的固件碼。在此情形下,相較于傳統(tǒng)的方式,本發(fā)明將可大幅縮短解壓縮的時間,進而縮短機頂盒10的開機時間,達到快速開機的效果。
[0029]進一步地,固件碼中的主程序碼可于編譯時,加入用來定義在屏顯示資源,如圖片資源、字串資源及字體資源的屬性指令。如此一來,分塊壓縮單元100可根據(jù)一復制指令,將相關于在屏顯示資源的程序碼(程序碼PC2)自主程序碼中取出程序碼,進而將主程序碼分成程序碼PC1、PC2。舉例來說,于編譯相關于圖片、字串、字體等在屏顯示資源的主程序碼時,透過加入屬性指令如attribute ((section ( “.resource”)))指令,以將相關于在屏顯示的資源定義為資源(“.resource”)屬性,并于主程序碼編譯完成后,透過使用復制指令如objcopy-j.resource指令,即可將相關于在屏顯示資源的程序碼自主程序碼中取出,形成程序碼PC2,而其余程序碼則形成程序碼PC1,藉此完成主程序碼的分類。其中,程序碼PCl系相關于系統(tǒng)啟動資源的程序碼。[0030]需注意的是,圖1系用以說明本發(fā)明的概念,本領域具通常知識者當可據(jù)以做不同的變化與修飾,而不限于此。舉例來說,分塊壓縮單元100除了內建于機頂盒10之外,亦可設置于機頂盒10外部,視系統(tǒng)需求而定。儲存裝置102可為一快閃存儲器(FlashMemory),亦可以是任何可以進行重復讀寫的存儲器,而不限于此。此外,前述所提及的壓縮及解壓縮的演算法可以是一 Lempel Ziv Oberhumer (LZO)演算法、一 Lempel Ziv Markovchain Algorithm (LZMA)演算法或是其他任何數(shù)據(jù)壓縮演算法。第一壓縮演算法與第二壓縮演算法亦可以是相同或相異的演算法。本發(fā)明的壓縮碼CC1、CC2除了分別儲存于儲存裝置102的儲存區(qū)塊SB1、SB2中之外,亦可分別儲存于不同儲存裝置中,只要可供讀取即可,不限于此。此等衍生應用應系本領域具通常知識者所熟知的技藝。
[0031]關于機頂盒10的快速開機方式,可歸納為一流程30,請繼續(xù)參考以下說明。圖3為本發(fā)明實施例的流程30的示意圖。流程30用來縮短機頂盒10的開機時間,以達到快速開機的效果。流程30包含以下步驟:
[0032]步驟300:開始。
[0033]步驟302:于機頂盒進行開機時,讀取并解壓縮儲存在儲存裝置的儲存區(qū)塊的壓縮碼,以產(chǎn)生相關于系統(tǒng)啟動程序的解壓縮碼。
[0034]步驟304:執(zhí)行解壓縮碼,以實現(xiàn)系統(tǒng)啟動程序。
[0035]步驟306:于執(zhí)行解壓縮碼時,讀取并解壓縮儲存在儲存裝置的儲存區(qū)塊的壓縮碼,以產(chǎn)生相關于在屏顯示程序的解壓縮碼。
[0036]步驟308:執(zhí)行解壓縮碼,以于顯示裝置上執(zhí)行在屏顯示程序。
[0037]步驟310:結束。
[0038]根據(jù)流程30,在步驟302中,處理單元104于機頂盒10進行開機時,先讀取并解壓縮儲存在儲存裝置102的儲存區(qū)塊SBl的壓縮碼CC1,以產(chǎn)生相關于系統(tǒng)啟動程序的解壓縮碼DCC1。在步驟304中,處理單元104執(zhí)行解壓縮碼DCCl,以實現(xiàn)系統(tǒng)啟動程序,也就是說,處理單元104不需對所有已壓縮的主程序碼進行解壓縮,即可進行系統(tǒng)啟動程序。在步驟306中,處理單元104于執(zhí)行解壓縮碼DCCl以進行相關于系統(tǒng)啟動程序的運作時,讀取并解壓縮儲存在儲存裝置102的儲存區(qū)塊SB2的壓縮碼CC2,以產(chǎn)生相關于在屏顯示程序的解壓縮碼DCC2。在步驟308中,處理單元104執(zhí)行及初始化解壓縮碼DCC2,并將解壓縮碼DCC2復制至儲存區(qū)塊SB3中。由于步驟304已完成了顯示頻道設定及顯示頻道播放等系統(tǒng)啟動程序,因此顯示裝置將可正常顯示相關于顯示頻道所播放及/或節(jié)目菜單所欲顯示的影像,如圖片、字串、字體影像及/或菜單選項等,以于顯示裝置上執(zhí)行在屏顯示程序而使機頂盒10得以實現(xiàn)完整的開機程序。
[0039]另一方面,較佳地,程序碼PC1、PC2可分別依據(jù)不同的壓縮演算法來進行壓縮處理。例如,分塊壓縮單元100可根據(jù)一壓縮率較低的第一演算法,對程序碼PCI進行壓縮處理,以產(chǎn)生壓縮碼CCl。同時,分塊壓縮單元100可根據(jù)一壓縮率較高的第二演算法,對程序碼PC2進行壓縮處理,以產(chǎn)生壓縮碼CC2。也就是說,在第一演算法的壓縮率小于或等于第二演算法的壓縮率的情況下,各自利用第一演算法與第二演算法來對程序碼PCl與第二程序碼PC2進行壓縮處理,以產(chǎn)生壓縮碼CCl與壓縮碼CC2。舉例來說,第一演算法可為一LZO演算法,第二演算法可為一 LZMA演算法。在此情形下,由于LZO演算法的壓縮率較低,如此一來,利用LZO演算法進行壓縮/解壓縮的所需的執(zhí)行時間較短,因此在步驟302中將可更加縮短對壓縮碼CCl執(zhí)行解壓縮時所需的時間。
[0040]綜上所述,傳統(tǒng)的機頂盒需對所有已壓縮的主程序碼進行解壓縮,以實現(xiàn)系統(tǒng)啟動程序及在屏顯示程序,使得機頂盒的開機時間較長,影響使用者的使用。相較的下,本發(fā)明的機頂盒將主程序碼分成相關于系統(tǒng)啟動程序及在屏顯示程序的程序碼,并搭配不同演算法獨立壓縮及解壓縮,并于執(zhí)行相關于系統(tǒng)啟動程序的解壓縮碼以實現(xiàn)系統(tǒng)啟動程序的同時,對相關于在屏顯示程序的壓縮碼進行解壓縮,藉此將可大幅縮短機頂盒的開機時間而達到快速開機的效果。
[0041]以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與修飾,皆應屬本發(fā)明的涵蓋范圍。
【權利要求】
1.一種用于一機頂盒的一快速開機方法,該快速開機方法包含有: 于該機頂盒進行開機時,讀取并解壓縮儲存在一儲存裝置的一第一儲存區(qū)塊的一第一壓縮碼,以產(chǎn)生一第一解壓縮碼,其中該第一解壓縮碼相關于系統(tǒng)啟動程序; 執(zhí)行該第一解壓縮碼,以實現(xiàn)系統(tǒng)啟動程序; 于執(zhí)行該第一解壓縮碼時,讀取并解壓縮儲存在該儲存裝置的一第二儲存區(qū)塊的一第二壓縮碼,以產(chǎn)生一第二解壓縮碼,其中該第二解壓縮碼相關于在屏顯示程序;以及 執(zhí)行該第二解壓縮碼,以于一顯示裝置上執(zhí)行在屏顯示程序。
2.如權利要求1所述的快速開機方法,其中該第一壓縮碼依據(jù)一壓縮率較低的演算法進行壓縮處理的壓縮碼,及該第二壓縮碼依據(jù)一壓縮率較高的演算法進行壓縮處理的壓縮碼。
3.如權利要求1所述的快速開機方法,其中執(zhí)行該第二解壓縮碼,以于該顯示裝置上執(zhí)行在屏顯示程序還包含有: 初使化該第二解壓縮碼,并將該第二解壓縮碼復制至一第三儲存區(qū)塊中,以于該顯示裝置上執(zhí)行在屏顯示程序。
4.如權利要求1所述的快速開機方法,其中該第一解壓縮碼相關于硬件/軟件初始化、顯示頻道設定、顯示頻道播放及/或節(jié)目菜單輸出,該第二解壓縮碼相關于在屏顯示程序的圖片資源、字串資源及字體資源。
5.一種數(shù)據(jù)處理方法,該數(shù)據(jù)處理方法包含有: 接收一固件碼,并將該固件碼中一主程序碼分成一第一程序碼及一第二程序碼,其中該第一程序碼相關于系統(tǒng)啟動程序,該第二程序碼相關于在屏顯示程序; 根據(jù)一第一演算法,對該第一程序碼進行壓縮處理,以產(chǎn)生一第一壓縮碼,以及根據(jù)一第二演算法,對該第二程序碼進行壓縮處理,以產(chǎn)生一第二壓縮碼;以及 將該第一壓縮碼儲存于一儲存裝置的一第一儲存區(qū)塊中,以及將該第二壓縮碼儲存于該儲存裝置的一第二儲存區(qū)塊中。
6.如權利要求5所述的數(shù)據(jù)處理方法,其中將該固件碼中該主程序碼分成該第一程序碼及該第二程序碼的步驟包含有: 于該第二程序碼中加入至少一屬性指令;以及 根據(jù)一復制指令,將該第二程序碼自該主程序碼中取出。
7.如權利要求5所述的數(shù)據(jù)處理方法,其中該第一演算法為一壓縮率較低的演算法,對該第一程序碼進行壓縮處理,以產(chǎn)生該第一壓縮碼。
8.如權利要求5所述的數(shù)據(jù)處理方法,其中該第一演算法的壓縮率小于或等于該第二演算法的壓縮率,以各自對該第一程序碼與第二程序碼進行壓縮處理,以產(chǎn)生該第一壓縮碼與該第二壓縮碼。
9.一種機頂盒,包含有: 一分塊壓縮單元,用來將一固件碼中一主程序碼分成一第一程序碼及一第二程序碼,并根據(jù)一第一演算法及一第二演算法,分別壓縮該第一程序碼及該第二程序碼,以產(chǎn)生一第一壓縮碼及一第二壓縮碼; 一儲存裝置,耦接于該分塊壓縮單元,用來將該第一壓縮碼儲存于一第一儲存區(qū)塊中,以及將該第二壓縮碼儲存于一第二儲存區(qū)塊中;以及一處理單元,耦接于該儲存裝置,用來讀取及解壓縮儲存于該儲存裝置中的該第一壓縮碼與該第二壓縮碼,以及執(zhí)行解壓縮后的該第一程序碼及該第二程序碼,以實現(xiàn)快速開機。
10.如權利要求9所述的機頂盒,其中該分塊壓縮單元于該第二程序碼中加入至少一屬性指令,以及根據(jù)一復制指令,將該第二程序碼自該主程序碼中取出,以將該主程序碼分成該第一程序碼及該第二程序碼。
11.如權利要求9所述的機頂盒,其中該處理單元于該機頂盒進行開機時讀取并解壓縮儲存在該儲存裝置的該第一儲存區(qū)塊的該第一壓縮碼以產(chǎn)生一第一解壓縮碼,并執(zhí)行該第一解壓縮碼以實現(xiàn)一系統(tǒng)啟動程序。
12.如權利要求11所述的機頂盒,其中該處理單元于執(zhí)行該第一解壓縮碼時讀取并解壓縮儲存在該儲存裝置的該第二儲存區(qū)塊的該第二壓縮碼以產(chǎn)生一第二解壓縮碼,并執(zhí)行該第二解壓縮碼以于一顯示裝置上執(zhí)行一在屏顯示程序。
13.如權利要求12所述的機頂盒,其中該處理單元初使化該第二解壓縮碼,并將該第二解壓縮碼復制至一第三儲存區(qū) 塊中,以于該顯示裝置上執(zhí)行在屏顯示程序。
【文檔編號】G06F9/445GK103581748SQ201210276124
【公開日】2014年2月12日 申請日期:2012年8月3日 優(yōu)先權日:2012年8月3日
【發(fā)明者】張超樂 申請人:珠海揚智電子科技有限公司