專利名稱:程序置換方法及裝置的制作方法
技術領域:
本發(fā)明涉及下載程序并可置換原有的程序的更新方法,特別涉及 在數字電視中,將原有的程序臨時置換成下載的程序并執(zhí)行。
背景技術:
在(日本)特開平10-326192號公報和特幵2003 — 122578號公報 中公開了現有的數字電視中的下載程序并更新的功能。圖l是現有的 下載程序并執(zhí)行的數字有線電視系統(tǒng)的構成圖,該系統(tǒng)由頭端器 (headend) 4110、兩臺終端裝置4120和4130構成。頭端器4110保存 三個程序A4111、程序B4112、程序C4113,供給終端裝置4120和4130。 終端裝置4120有預先保存的三個程序A4121、程序B4122、程序C4123 和執(zhí)行這些程序的處理器4124。同樣,終端裝置4130也有預先保存的 三個程序A4131、程序B4132、程序C4133和執(zhí)行這些程序的處理器 4134。如果從頭端器4110發(fā)送新的程序,則終端裝置4120和4130將其 與原有的程序置換并保存,以后執(zhí)行更新過的程序。例如,如果從頭 端器4110將新的程序4111傳送到終端裝置4120和4130,則終端裝置 4120和4130將程序A4121和4131置換為程序A4111。以后,處理器4124 和4134執(zhí)行更新過的程序A4111,取代程序A4121和4131。這樣,通過 更新終端裝置保存的程序,可以實現終端裝置的功能的更新和追加新 的功能。
但是,在現有的技術中,由于更新原有的程序,所以不能簡單地 返回到更新前的程序。在期間和時間限定上,在想要提供特定的功能的情況下,需要再次從頭端器下載程序來返回到原來的程序。 一般來 說,下載需要時間,同時不能使用終端裝置的其他功能,所以如果增 加下載次數,則產生用戶不能使用終端裝置的問題。
發(fā)明內容
本發(fā)明的目的在于提供一種程序置換方法,可進行廣播接收終端 裝置內的程序更新,還可容易地返回原有的程序。
為了實現上述目的,本發(fā)明提供一種程序置換方法,在可拆裝地
安裝于廣播接收終端裝置上的P0D和所述廣播接收終端裝置內的程 序之間進行消息的發(fā)送接收時,置換以能進行與所述POD的消息的發(fā) 送接收而被注冊的所述廣播接收終端裝置內的程序,其特征在于,該 方法包括注冊步驟,進行注冊以使第一程序可以與所述POD進行消 息的發(fā)送接受,所述第一程序具有用于特定程序種類的識別符;通知 步驟,通知己經存在于所述廣播接收終端裝置內的第二程序,停止所 述第二程序與所述P0D的消息的發(fā)送接收,所述第二程序具有與所述 第一程序的識別符相同內容的識別符;以及停止步驟,停止所述第二 程序與所述P0D的消息的發(fā)送接收,停止所述第二程序與所述POD的 消息的發(fā)送接收是使被注冊成可以與所述POD進行消息的發(fā)送接收 的所述第二程序成為非注冊的。
另外,接收了停止與所述POD的消息的發(fā)送接收的通知的所述第 二程序執(zhí)行必要處理,以使被注冊成可以與所述POD進行消息的發(fā)送 接收的所述第二程序成為非注冊。.
一種程序置換裝置,在可拆裝地安裝于廣播接收終端裝置上的 POD和所述廣播接收終端裝置內的程序之間進行消息的發(fā)送接收時, 置換以能進行和所述POD的消息的發(fā)送接收而被注冊的所述廣播接 收終端裝置內的程序,其特征在于,該裝置包括注冊部,進行注冊 以使第一程序可以與所述POD進行消息的發(fā)送接受,所述第一程序具 有用于特定程序種類的識別符;通知部,通知已經存在于所述廣播接收終端裝置內的第二程序,停止所述第二程序與所述POD的消息的發(fā) 送接收,所述第二程序具有與所述第一程序的識別符相同內容的識別 符;以及停止部,停止所述第二程序與所述POD的消息的發(fā)送接收, 所述停止部使被注冊成可以與所述POD進行消息的發(fā)送接收的所述 第二程序成為非注冊。
本發(fā)明提供一種由廣播接收終端裝置執(zhí)行的程序置換方法,在可 拆/裝地安裝于所述廣播接收終端裝置上的POD和所述廣播接收終端 裝置內的程序之間進行消息的發(fā)送接收時,置換以能進行和所述POD 的消息的發(fā)送接收而被注冊的所述廣播接收終端裝置內的程序,其特 征在于,該方法包括
注冊步驟,注冊第一程序,從而使所述第一程序可以與所述POD 進行消息的發(fā)送接受,所述第一程序具有用于識別程序種類的識別 符;通知步驟,通知已經在所述廣播接收終端裝置內的第二程序停止 與所述POD進行消息的發(fā)送接收,所述第二程序具有與所述第一程序 的識別符的內容相同的識別符;以及,停止步驟,停止所述第二程序 與所述POD的消息的發(fā)送接收。
由此,即使是下載用于更新(置換)的新的第一程序的情況,由 于保存原有的第二程序而不消除,所以可以簡單地返回到更新前的狀 態(tài)。再有,POD例如是進行被稱為CableCard (TM)的解擾等的卡。
這里,也可以具有向所述第一程序通知所述第一程序可進行與所 述POD的消息的發(fā)送接收的步驟。
由此,第一程序知道可進行與POD的消息的發(fā)送接收,可以開始 與POD的消息的發(fā)送接收。
再有,停止所述第二程序與所述POD的消息的發(fā)送接收是使通過 被注冊從而可以與所述POD進行消息的發(fā)送接收的所述第二程序成為 非注冊。
此外,也可以將所述第一程序作為廣播波的一部分進行傳送。此夕卜,接收了停止與所述POD的消息的發(fā)送接收的通知的所述第 二程序執(zhí)行必要處理,使通過被注冊從而可以與所述POD進行消息的 發(fā)送接收的所述第二程序成為非注冊。由此,第二程序可以執(zhí)行更新 后的后處理等。
再有, 一種程序置換裝置,在可拆/裝地安裝于廣播接收終端裝 置上的POD和所述廣播接收終端裝置內的程序之間進行消息的發(fā)送接 收時,置換以能進行和所述POD的消息的發(fā)送接收而被注冊的所述廣 播接收終端裝置內的程序,其特征在于,該裝置包括
注冊單元,用于注冊第一程序,從而使所述第一程序可以與所述 POD進行消息的發(fā)送接受,所述第一程序具有用于識別程序種類的識 別符;通知單元,用于通知已經在所述廣播接收終端裝置內的第二程 序停止與所述POD進行消息的發(fā)送接收,所述第二程序具有與所述第
一程序的識別符的內容相同的識別符;以及,停止單元,停止所述第 二程序與所述POD的消息的發(fā)送接收。
此外,也可以包括停止所述第一程序與所述POD的消息的發(fā)送
接收的步驟;以及,
以使停止了與所述POD的消息的發(fā)送接收的所述第二程序可再次
發(fā)送接收的方式進行注冊的步驟。
由此,在由第二程序更新為第一程序后,再次返回原來的第二程 序時,可以不下載第二程序,僅進行注冊處理就返回到原來的狀態(tài)。
再有,也可以在停止所述第一程序與所述POD的消息的發(fā)送接收 的步驟之前,具有對所述第一程序通知停止所述第一程序與所述POD 的消息的發(fā)送接收的步驟。
由此,在第一程序被停止前,可以事先知道其情況,所以可以在 停止前完成必要的處理。
再有,本發(fā)明不僅可作為這樣的程序置換方法來實現,而且可作 為在電路等中安裝了各步驟的程序置換裝置來實現,或作為使計算機執(zhí)行各步驟的程序來實現,或作為記錄了這樣的程序的計算機可讀取 的記錄介質來實現。
通過下面結合示例性地示出一例的附圖進行的解擾,本發(fā)明的上 述和其他目的和特點將會變得更加清楚,其中-
圖l是表示現有的程序置換方法結構的構成圖。
圖2是本發(fā)明的有線電視系統(tǒng)的實施方式1的結構圖。 圖3表示本發(fā)明的有線電視系統(tǒng)中用于頭端器和終端裝置間的通 信的頻帶使用方法的一例。
圖4表示本發(fā)明的有線電視系統(tǒng)中用于頭端器和終端裝置間的通
信的頻帶使用方法的一例。
圖5表示本發(fā)明的有線電視系統(tǒng)中用于頭端器和終端裝置間的通
信的頻帶使用方法的一例。
圖6表示本發(fā)明的有線電視系統(tǒng)中終端裝置的結構圖。
圖7表示本發(fā)明的有線電視系統(tǒng)中終端裝置的外觀代表例。
圖8是本發(fā)明的P0D的硬件結構的構成圖。
圖9是本發(fā)明的P0D保存的程序結構的構成圖。
圖10是以MPEG規(guī)格定義的包的結構圖。
圖11表示MPEG2傳輸流的 一例。
圖12表示由前面板構成輸入部的情況下的一例外觀。
圖13是本發(fā)明的終端裝置保存的程序結構的構成圖。
圖14 (1)表示本發(fā)明的顯示器的顯示的一例。
圖14 (2)表示本發(fā)明的顯示器的顯示的一例。
圖15表示本發(fā)明的二次存儲部保存的信息一例。
圖16表示本發(fā)明的一次存儲部保存的信息一例。
圖17是表示本發(fā)明的MPEG2規(guī)格規(guī)定的PAT內容的模式圖。
圖18是表示本發(fā)明的MPEG2規(guī)格規(guī)定的PAT內容的模式圖。圖19是表示本發(fā)明的DVB-MHP規(guī)格規(guī)定的AIT內容的模式圖。
圖20是表示本發(fā)明的按DSMCC方式發(fā)送的文件系統(tǒng)的模式圖。
圖21是表示本發(fā)明的XAIT內容的模式圖。
圖22表示本發(fā)明的二次存儲部保存的信息一例。
圖23表示本發(fā)明的顯示器的顯示一例。
圖24表示本發(fā)明的二次存儲部保存的信息一例。
圖25是本發(fā)明的匯總Java程序的動作類別代碼和其意義的表。
圖26表示本發(fā)明的顯示器的顯示一例。
圖27表示本發(fā)明的顯示器的顯示一例。
圖28表示本發(fā)明的二次存儲部保存的信息一例。
圖29是表示實施方式1中P0D Lib受理Java程序的注冊時的動作
的流程圖。
圖30是表示實施方式1中P0D Lib受理Java程序的注冊時的動作 的流f呈圖。
圖31 (1)是表示實施方式1中來自P0D的消息配送的模式圖。 圖31 (2)是表示實施方式1中來自P0D的消息配送的模式圖。 圖31 (3)是表示實施方式1中來自P0D的消息配送的模式圖。 圖32 (1)是表示實施方式1中來自P0D的消息配送的模式圖。 圖32 (2)是表示實施方式1中來自P0D的消息配送的模式圖。 圖33 (1)是表示實施方式1中來自P0D的消息配送的模式圖。 圖33 (2)是表示實施方式1中來自P0D的消息配送的模式圖。 圖33 (3)是表示實施方式1中來自P0D的消息配送的模式圖。 圖34表示本發(fā)明的二次存儲部保存的信息一例。 圖35是表示實施方式1中P0D Lib受理消除Java程序時的動作的
流程圖。
圖36是表示實施方式1中P0D Lib受理消除Java程序時的動作的 流程圖。圖37是表示實施方式1中P0D Lib受理Java程序的注冊時的一部
分動作的流程圖。
圖38是表示實施方式l中POD Lib受理Java程序的注冊時的一部
分動作的流程圖。
圖39是表示從終端裝置接通電源直至變更來自POD的消息配送的
動作的流程圖。
圖40是表示從終端裝置接通電源直至變更來自POD的消息配送的 動作的流程圖。
圖41是表示終端裝置上的Java程序和P0D上的子程序間的消息配
送路徑一例的圖。
圖42是在P0D Lib中匯總注冊Java程序情況下的POD Lib的動作的
流程圖。
圖43是匯總P0D Lib消除Java程序的注冊(即,使二次存儲部中 注冊的與Java程序的消息配送的注冊成為非注冊)情況下的POD Lib 的動作的流程圖。
具體實施例方式
以下,參照附圖來詳細說明本發(fā)明的實施方式。 實施方式l
首先,參照附圖來說明本發(fā)明的有線電視系統(tǒng)的實施方式l。圖2 是表示構成有線系統(tǒng)的裝置關系的方框圖,該系統(tǒng)由頭端器101及三 個終端裝置Alll、終端裝置B112、終端裝置C113構成。在本實施方式 中,對于一個頭端器,連接三個終端裝置,但即使將任意數目的終端 裝置連接在頭端器上,也可以實施本發(fā)明。
頭端器101對多個終端裝置發(fā)送視頻/聲音/數據等廣播信號,同 時接收來自終端裝置的數據發(fā)送。為了實現它,將用于頭端器101和 終端裝置Alll、終端裝置B112、終端裝置C113間的傳輸的頻帶分割使 用。圖3是表示頻帶分割一例的表。頻帶大致分為Out Of Band (簡稱00B)和In-Band兩種。將5~130MHz分配給00B,主要用于頭端器101 和終端裝置Alll、終端裝置B112、終端裝置C113間的數據的交換。 130MHz 864MHz分配給In-Band,主要用于包含視頻/聲音的廣播頻道。 在OOB中使用QPSK調制方式,而ln-Band使用QAM64調制方式。有關調 制方式技術,由于是與本發(fā)明不大相關的公知技術,所以省略詳細的 說明。圖4是0BB頻帶的更詳細的使用一例。70MHz 74MHz用于頭端器 IOI的數據發(fā)送,所有的終端裝置Alll、終端裝置B112、終端裝置C113 從頭端器101接收相同的數據。另一方面,10.0MHz 10. lMHz用于從終 端裝置A111向頭端器101的數據發(fā)送,10. lMHz 10. 2MHz用于從終端裝 置B112向頭端器101的數據發(fā)送,10. 2MHz 10. 3MHz用于從終端裝置 C113向頭端器101的數據發(fā)送。由此,可以將各終端裝置固有的數據 從各終端裝置Alll、終端裝置B112、終端裝置C113發(fā)送到頭端器101。 圖5是對于In-Band頻帶的使用一例。150 156MHz和156 162MHz分別分 配給電視頻道1和電視頻道2,以后按6MHz間隔分配電視頻道。在 310MHz以后,按lMHz為單位分配給無線電信道。這些各頻道可作為模 擬廣播使用,也可作為數字廣播使用。在數字廣播的情況下,按基于 MPEG2規(guī)格的M0EG2傳輸包形式傳輸,除了聲音和視頻以外,也可以發(fā)
送各種數據廣播數據。
頭端器101為了發(fā)送適合這些頻帶的廣播信號,具有QPSK調制部 和QAM調制部等。此外,為了接收來自終端裝置的數據,具有QPSK解 調器。此外,頭端器101還具有與這些調制部和解調部有關的各種裝 置。但是,由于本發(fā)明主要與終端裝置有關,所以省略對它們的詳細 說明。
終端裝置A111 、終端裝置B112、終端裝置C113接收來自頭端器101 的廣播信號并進行再現。此外,對于頭端器101,發(fā)送各終端裝置固 有的數據。三個終端裝置在本實施方式中采用相同的結構。
圖6是表示終端裝置的硬件結構的方框圖。500是終端裝置,由QAM解調部501、 QPSK解調部502、 QPSK調制部503、 TS解碼器505、音頻解 碼器506、揚聲器507、視頻解碼器508、顯示器509、 二次存儲部510、 一次存儲部511、 ROM512、輸入部513、 CPU514構成。此外,在終端裝 置500中,可拆裝POD504。圖7是作為終端裝置500的外觀一例的薄型電視機。 601是薄型電視機的機殼,除了P0D504以外,內置終端裝置500的所有構成部件。602是顯示器,相當于圖6中的顯示器509。 603是由多個按鈕構成的前面板,相當于圖6的輸入部513。 604是信號輸入端子,連接電纜線,以便進行與頭端器101的信號的發(fā)送接收。信號輸入端子與圖6的QAM解調部501、 QPSK解調部502、QPSK調制部503連接。605是相當于圖6的P0D504的POD卡。如圖7的POD卡605那樣,P0D504采用與終端裝置500獨立的方式,可在終端裝置500上拆裝。P0D504的細節(jié)將后述。606是插入POD卡605的插入槽。參照圖6,QAM解調部501用包含由CPU514指定的頻率的調諧信息, 對頭端器101進行了QAM調制并發(fā)送的信號進行解調,轉交給P0D504。QPSK解調部502用包含由CPU514指定的頻率的調諧信息,對頭端 器101進行了QPSK調制并發(fā)送的信號進行解調,轉交給P0D504。QPSK調制部503用包含由CPU514指定的頻率的解調信息,對從 P0D504傳送來的信號進行QPSK解調,并發(fā)送到頭端器IOI。POD504如圖7那樣形成可從終端裝置本體500中進行拆裝的方式。 作為POD504的一例,有被稱為CableCard (TM)的進行解擾等的卡。 終端本體500和POD504的連接接口按OpenCable (TM) HOST-POD Int erface Specification (OC—SP-HOSTPOD-IF-112—030210)、以及參 照該規(guī)格書的規(guī)格書來定義。這里,省略其細節(jié),僅說明與本發(fā)明有關的部分。圖8是表示P0D504的內部結構的方框圖。P0D504由第一解擾 (descrambler)部701、第二解擾部702、擾頻(scrambler)部703、 第一存儲部704、第二存儲部705、 CPU706構成。第一解擾部701根據來自CPU706的指示,接收由終端裝置500的 QAM解調部501加密過的信號,并進行解密。然后,將解密的信號傳送 到終端裝置500的TS解碼器505。解碼上必要的密鑰等信息由CPU706 適當提供。具體地說,頭端器101將幾個收費頻道進行廣播。如果用 戶購買這種收費頻道,則第一解擾部701通過對來自CPU706的密鑰等 必要信息進行接收解擾,用戶可以瀏覽收費頻道。在不提供密鑰等必 要的信息時,第一解擾部701不進行解擾,將接收的信號原樣傳送到 TS解碼器505。第二解擾部702根據來自CPU706的指示,接收由終端裝置500的 QPSK解調部502加密的信號,并進行解密。然后,將解密的數據轉交 給CP歸6。擾頻部703根據來自CPU706的指示,將從CPU706接收的數據加密, 并傳送到終端裝置500的QPSK調制部503。第一存儲部704具體地由RAM等一次存儲的存儲器構成,在CPU706進行處理時使用,用于臨時保存數據。第二存儲部705具體地由閃存R0M等二次存儲的存儲器構成,保存 CPU706執(zhí)行的程序,此外,用于保存即使電源關斷也不能刪除的數據。CPU706執(zhí)行第二存儲部705存儲的程序。程序由多個子程序構成。 圖9是第二存儲部705存儲的程序的一例。在圖9中,程序800由主程序 801、初始化子程序802、網絡子程序803、再現子程序804、 PPV子程 序805等多個子程序構成。這里,PPV是Pay Per View的簡略,是能夠以收費方式觀看圖像 等特定節(jié)目的服務。如果用戶輸入密碼,則向頭端器101通知有購入,擾頻被解除,可以觀看。由于這種觀看,用戶日后支付購入費用。主程序801是CPU706在電源接通時最初起動的子程序,進行其他 子程序的控制。初始化子程序802在電源接通時由主程序801起動,進行與終端裝 置500的信息交換等,并進行初始化處理。初始化處理的細節(jié)按Open Cable (TM) HOST—POD Interface Specification (OC—SP-HOSTPOD -IF-I12-030210)、以及參照該規(guī)格書的規(guī)格書來定義。此外,還進 行規(guī)格書中未定義的初始化處理。這里,介紹其一部分。如果接通電 源,則初始化子程序802通過終端裝置500的CPU514向QPSK解調部502 通知第二存儲部705存儲的第一頻率。QPSK解調部502按提供的第一頻 率進行調諧,將信號傳送到第二解擾部702。此外,初始化子程序80 2將第二存儲部705存儲的第一密鑰等解密信息提供給第二解擾部70 2。其結果,第二解擾部702進行解擾,轉交給執(zhí)行初始化子程序802 的CPU706。因此,初始化子程序802可以接收信息。在本實施方式中, 初始化子程序802通過網絡子程序803接收信息。其細節(jié)將后述。此外,初始化子程序802將第二存儲部705存儲的第二頻率通過終 端裝置500的CPU514通知QPSK調制部503。初始化子程序802將第二存 儲部705存儲的加密信息提供給擾頻部703。如果初始化子程序802將 要發(fā)送的信息通過網絡子程序803提供給擾頻部703,則擾頻部703使 用提供的加密信息,將數據進行加密,提供給終端裝置500的QPSK調 制部503。 QPSK調制部503對提供的加密過的信息進行調制,并發(fā)送到 頭端器IOI。其結果,初始化子程序802通過終端裝置500、第二解擾部702、 擾頻部703、網絡子程序803,可以與頭端器101進行雙向通信。網絡子程序803是被主程序801、初始化子程序802等多個子程序 使用的、用于與頭端器101進行雙向通信的子程序。具體地說,對于 使用網絡子程序803的其他子程序起作用,以便通過TCP/IP與頭端器101進行雙向通信。TCP/IP是規(guī)定用于在多個裝置間進行信息交換的 協(xié)議的公知技術,這里省略詳細的說明。網絡子程序803在電源接通 時被初始化子程序802起動,通過終端裝置500向頭端器101通知MAC 地址(Media Access Control地址的簡略),該地址是識別第二存儲 部705預先存儲的P0D504的識別符,并請求取得IP地址。頭端器IOI 通過終端裝置500向POD504通知IP地址,網絡子程序803將IP地址存儲 在第一存儲部704中。以后,頭端器101和P0D504將該IP地址作為 P0D504的識別符來使用,進行通信。再現子程序804將第二存儲部705存儲的第二密鑰等解密信息、以 及終端裝置500提供的第三密鑰等解密信息提供給第一解擾部701 ,可 進行解擾。此外,通過網絡子程序803,接收輸入到第一解擾部701 的信號是PPV頻道的信息。在知道PPV頻道時,起動PPV子程序805。如果起動PPV子程序805,則向終端裝置500顯示敦促節(jié)目購入的 消息,接收用戶的輸入。具體地說,如果向終端裝置500的CPU514傳 送想要顯示在畫面上的信息,則在終端裝置500的CPU514上動作的程 序在終端裝置500的顯示器509上顯示消息。如果用戶通過終端裝置 500的輸入部513輸入密碼,則終端裝置500的CPU514接收該密碼,通 知在P0D504的CPU706上動作的PPV子程序805。PPV子程序805將接收的 密碼通過網絡子程序803發(fā)送到頭端器101。如果密碼正確,則頭端器 101將解密所需的第四密鑰等解密信息通過網絡子程序803通知PPV子 程序805。 PPV子程序805將接收的第四密鑰等解密信息提供給第一解 擾部701,第一解擾部701對輸入的信號進行解擾。參照圖6, TS解碼器505對從POD504接收的信號實施濾波,將必要 的數據轉交給音頻解碼器506、視頻解碼器508及CPU514。這里,P0D504 傳來的信號是MPEG2傳輸流。MPEG2傳輸流的細節(jié)記載于MPEG規(guī)格書 IS0/IEC13818-l中,在本實施方式中省略其細節(jié)。MPEG2傳輸流由多 個固定長度包構成,在各包中,分配包ID。圖10是包的結構圖。900是包,由固定長度的188字節(jié)構成。開頭四字節(jié)為首標901,保存包的 識別信息,剩余184字節(jié)為有效負載902,包含想要發(fā)送的信息。903 是首標901的細目。在從開頭至第12位 第24位的13位中包含包ID。圖 ll是表現被發(fā)送的多個包的列的模式圖。包1001在首標中具有包ID '1',在有效負載中輸入視頻A的第一號信息。包1002在首標中具有 包ID '2',在有效負載中輸入聲音A的第一號信息。包1003在首標中 具有包ID '3',在有效負載中輸入聲音B的第一號信息。包1004在首標中具有包ID '1,,在有效負載中輸入圖像A的第二 號信息,該信息成為包1001的后續(xù)。同樣,包1005、 1026、 1027也保 存其他包的后續(xù)數據。這樣,如果具有相同的包ID,連接包的有效負 載的內容,則可以再現連續(xù)的視頻和聲音。參照圖ll,如果CPU514向TS解碼器505指示包ID 'l'和作為輸出 目的地的'視頻解碼器508',則TS解碼器505從P0D504接收的MPEG2 傳輸流中提取包ID 的包,轉交給視頻解碼器508。在圖11中,僅 將視頻數據轉交給視頻解碼器508。同時,如果CPU514向TS解碼器505 指示包ID '2,和'音頻解碼器506',則TS解碼器505從POD504接收的 MPEG2傳輸流中提取包ID '2'的包,轉交給音頻解碼器506。在圖ll 中,僅將聲音數據轉交給音頻解碼器508。根據該包ID僅取出必要的包的處理是TS解碼器505進行的濾波。 TS解碼器505可以同時執(zhí)行CPU514指示的多個濾波。參照圖6,音頻解碼器506連接埋入于從TS解碼器505提供的MPEG2 傳輸流的包中的音頻數據,進行數字/模擬變換并輸出到揚聲器507 。揚聲器507將從音頻解碼器506提供的信號進行聲音輸出。視頻解碼器508連接埋入于從TS解碼器505提供的MPEG2傳輸流的 包中的視頻數據,進行數字/模擬變換并輸出到顯示器509。顯示器509具體地由布勞恩管或液晶等構成,輸出從視頻解碼器 508提供的視頻信號,并顯示CPU514指示的消息。二次存儲部510具體地由閃存存儲器或硬盤等構成,保存或消除 CPU514指示的數據和程序。此外,保存的數據和程序被CPU514參照。 保存的數據和程序即使在關斷終端裝置500的電源的狀態(tài)下仍可保 存。一次存儲部511具體地由RAM等構成, 一次性地保存或消除CPU514 指示的數據和程序。此夕卜,保存的數據和程序被CPU514參照。保存的 數據和程序在切斷終端裝置500的電源時被刪除。R0M512是不可重寫的存儲器,具體地由R0M或CD-ROM、DVD等構成。 R0M512保存CPU514執(zhí)行的程序。輸入部513具體地由前面板或遙控器構成,接受來自用戶的輸入。 圖12是用前面板來構成輸入部513的情況的一例。1100是前面板,相 當于圖7的前面板部603。前面板1100配有七個按鈕,即上光標按鈕 1101、下光標按鈕1102、左光標按鈕1103、右光標按鈕1104、 OK按鈕 1105、取消按鈕1106、 EPG按鈕1107。如果用戶按下按鈕,則向CPU514通知被按下的按鈕的識別符。CPU514執(zhí)行R0M512存儲的程序。根據執(zhí)行的程序的指示,對QAM 解調部501、 QPSK解調部502、 QPSK調制部503、 P0D504、 TS解碼器505、 顯示器509、 二次存儲部510、 一次存儲部511、 R0M512進行控制。圖13是R0M512中存儲的由CPU514執(zhí)行的程序的結構圖的一例。程序1200由多個子程序構成,具體地說,由0S1201、 EPG1202、 JavaVM1203、服務管理程序1204、 Java程序庫1205構成。0S1201是如果接通終端裝置500的電源,就起動CPU514的子程序。 OS1201是操作系統(tǒng)的簡略,Linux等是一例。0S1201是平行執(zhí)行其他 子程序的核心程序1201a及程序庫1201b構成的公知技術的總稱,省略 詳細的說明。在本實施方式中,OS1201的核心程序1201a將EPG1202 和JavaVM1203作為子程序來執(zhí)行。此外,程序庫1201b對于這些子程 序,提供用于控制終端裝置500具有的構成部件的多個功能。作為功能的一例,介紹調諧功能。調諧功能從其他子程序中接收包含頻率的調諧信息,將其轉交給QAM解調部501。 QAM解調部501根據 提供的調諧信息來進行解調處理,可以將解調的數據轉交給P0D504。 其結果,其他子程序可通過程序庫1201b來控制QAM解調器。EPG1202由向用戶顯示節(jié)目 一覽及接受來自用戶的輸入的節(jié)目顯 示部1202a、進行頻道選臺的再現部1102b構成。這里,EPG是Electric Program Guide的簡略。如果接通終端裝置500的電源,貝l」EPG1202通 過核心程序1201a被起動,在起動的EPG1202的內部,節(jié)目顯示部1202a 通過終端裝置500的輸入部513等待來自用戶的輸入。這里,在輸入部 513由圖12所示的前面板構成的情況下,如果用戶按下輸入部513的 EPG按鈕1107,則向CPU514通知EPG按鈕的識別符。CPU514上動作的作 為子程序的EPG1202的節(jié)目顯示部1202a接收該識別符,在顯示器509 上顯示節(jié)目信息。圖14 (1)和圖14 (2)是顯示在顯示器509上的節(jié) 目表的一例。參照圖14 (1),在顯示器509上,方格狀地顯示節(jié)目信 息。在列1301中,顯示時刻信息。在列1302中,顯示頻道名'頻道1'、 與列1301的時刻對應的時間段中放映的節(jié)目。在。頻道1'中,顯示 在9:00 10:30放映節(jié)目'新聞9', 10:30 12:00放映'電影AM'。列1303 與列1302同樣,顯示頻道名'頻道2'、與列1301的時刻對應的時間段 中放映的節(jié)目。在9:00 11:00放映節(jié)目'電影BBB,, 11:00 12:00放映 '新聞ir。 1330是光標。光標1330在按下前面板1100的左光標1103 和右光標1104時移動。在圖14 (1)的狀態(tài)下,如果按下右光標1104, 光標1330向右移動,如圖14 (2)那樣。而在圖14 (2)的狀態(tài)下,如 果按下左光標1103,則光標1330向左移動,如圖14 (1)那樣。在圖14 (1)的狀態(tài)下,如果按下前面板1100的OK按鈕1105,則 節(jié)目顯示部1202a向再現部1102b通知、頻道1'的識別符。在圖14(2) 的狀態(tài)下,如果按下前面板1100的OK按鈕1105,則節(jié)目顯示部1202a 向再現部1102b通知、頻道2'的識別符。此外,節(jié)目顯示部1202a將顯示的節(jié)目信息通過P0D504從頭端器 101定期地存儲在一次存儲部511中。'一般地,從頭端器取得節(jié)目信息 需要時間。在輸入部513的EPG按鈕1107被按下時,通過顯示預先保存 在一次存儲部511中的節(jié)目信息,可以盡快地顯示節(jié)目表。再現部1102b使用接收的頻道的識別符,對頻道進行再現。頻道 的識別符和頻道的關系作為頻道信息預先保存在二次存儲部510中。 圖15是二次存儲部510中保存的頻道信息的一例。頻道信息以表形式 來保存。列1401是頻道的識別符。列1402是頻道名。列1403是調諧信 息。這里,調諧信息包含頻率、傳送速率、編碼率等,是提供給QAM 解調部501的值。列1404是程序號。程序號是用于識別由MPEG2規(guī)格規(guī) 定的PMT的號碼。關于PMT,將后述。行1411 1414的各行成為包含各 頻道的識別符、頻道名、調諧信息的組。行1411成為識別符為'1'、 頻道名為'頻道1'、調諧信息中頻率為<312MHz'、程序號為<101' 的組。再現部1102b為了進行頻道的再現,將接收的頻道的識別符原 樣轉交給服務管理程序。此外,在再現中,如果用戶按下前面板1100的上光標1101和下光 標1102,則再現部1102b從輸入部513通過CPU514接收被按下的通知, 變更正在再現的頻道。首先,再現部1102b在一次存儲部511中存儲當 前再現中的頻道的識別符。圖16 (1)、圖16 (2)和圖16 (3)是在一 次存儲部511中保存的頻道的識別符的例子。在圖16 (1)中識別符 被存儲,參照圖15,表示頻道名'TV3'的頻道處于再現中。在圖16 (1)的狀態(tài)中,如果用戶按下上光標UOl,則再現部1102b參照圖15 的頻道信息,為了在表中的前頻道的頻道名 <頻道2'的頻道中切換 再現,所以將頻道名'頻道2'的識別符轉交給服務管理程序。 同時,改寫一次存儲部511中存儲的頻道識別符<2'。圖16 (2)表示 頻道識別符被改寫的狀態(tài)。此外,在圖16 (1)的狀態(tài)下,如果用戶 按下下光標1102,則再現部1102b參照圖15的頻道信息,為了在表中的下個頻道的頻道名<TV Japan'的頻道中切換再現,將頻道名'TV Japan'的識別符'4'轉交給服務管理程序。同時,改寫一次存儲部 511中存儲的頻道識別符'4'。圖16 (3)表示頻道識別符被改寫的狀 態(tài)。JavaVM1203是順次解析并執(zhí)行用Java (TM)語言描述的程序的 Java虛擬機。用Java語言描述的程序被稱為字節(jié)碼,編譯為不依賴于 硬件的中間碼。Java虛擬機是執(zhí)行這種字節(jié)碼的解釋程序。此外,一 部分的Java虛擬機將字節(jié)碼翻譯成CPU514可理解的執(zhí)行形式后,轉交 給CPU514并執(zhí)行。JavaVM1203指定起動核心程序1201a中執(zhí)行的Java 程序。在本實施方式中,核心程序1201a指定服務管理程序1204作為 執(zhí)行的Java程序。Java語言的細節(jié)在書籍'Java Virtual Machine Specification (ISBN 0-201-63451-X)等許多書籍中進行了說明。這里,省略其細節(jié)。服務管理程序1204是用Java語言寫出的Java程序,通過 JavaVM1203順次執(zhí)行。服務管理程序1204通過JNI (Java Native Interface),調用沒有用Java語言描述的其他子程序,或可被調用。 關于JNI,也在書籍<Java Native Interface'等許多書籍中進行了說明。這里,省略其細節(jié)。服務管理程序1204通過JNI,從再現部1102b接收頻道的識別符。 服務管理程序1204首先將頻道的識別符轉交給Java程序庫1205 中的Timerl205c,請求調諧。Tunerl205c參照二次存儲部510存儲的 頻道信息,獲得調諧信息。如果服務管理程序1204將頻道的識別符^' 轉交給Tunerl205c,則Tunerl205c參照圖15的行1412,獲得對應的調 諧信息'156MHz,,。 Tunerl205c通過0S1201的程序庫1201b,向QAM 解調部501轉交給調諧信息。QAM解調部501根據提供的調諧信息對從 頭端器101發(fā)送來的信號進行解調,并轉交給P0D504。接著,服務管理程序1204向Java程序庫1205中的CA1205d請求解擾。CA1205d通過0S1201的程序庫1201b向P0D504提供解密上必要的信 息。P0D504根據提供的信息,對從QAM解調部501提供的信號進行解密 并轉交給TS解碼器505。接著,服務管理程序1204向Java程序庫1205中的JMF1205a提供頻 道的識別符,請求視頻/聲音的再現。首先,JMF1205a從PAT、 PMT取得用于鑒別要再現的視頻和聲音的 包ID。 PAT和PMT是按MPEG2規(guī)格規(guī)定的、表現MPEG2傳輸流內的節(jié)目構 成的表,埋入在MPEG2傳輸流中包含的包的有效負載中,聲音和視頻 被同時發(fā)送。其細節(jié)請參照規(guī)格書。這里,僅概略地說明。PAT為 Program Assocition Table的簡稱,保存在包ID '0,的包中被發(fā)送。 JMF1205a為了取得PAT,通過OS1201的程序庫1201b,向TS解碼器505 中指定包ID <0'和CPU514。 TS解碼器505按包ID <0'進行濾波,通 過轉交給CPU514, JMF1205a收集PAT的包。圖17是模式地表示收集的 PAT信息一例的表。列1601是程序號。列1602是包ID。列1602的包ID 用于取得PMT。行1611 1613是與頻道的程序號對應的包ID的組。這里, 定義三個頻道。行1611定義了程序號'101,和包ID '501,的組。如 果提供給JMF1205a的頻道識別符為'2',則JMF1205a參照圖15的行 1412,獲得對應的程序號<102',接著,參照圖17的PAT的行1612, 獲得與程序號'102,對應的包ID '502, 。 PMT是Program Map Table 的簡稱,保存在按PAT規(guī)定的包ID的包中被發(fā)送。JMF1205a為了取得 PMT,通過OS1201的程序庫1201b,向TS解碼器505指定包ID和CPU514。 這里,指定的包ID為'502, 。 TS解碼器505按包ID '502'進行濾波, 通過轉交給CPU514, JMF1205a收集PMT的包。圖18是模式地表示收集 的PMT信息一例的表。列1701是流類別。列1702是包ID。在列1702指 定的包ID的包中,按流類別指定的信息保存在有效負載中被發(fā)送。列 1703是補充信息。行1711 1714被稱為基礎流,是與包ID發(fā)送的信息 類別的組。行1711是流類別'聲音,和包ID '5011'的組,表示在包ID '5011'的有效負載中保存聲音。JMF1205a從PMT中獲得再現的視 頻和聲音的包ID。參照圖18, JMF1205a從行1711中獲得聲音的包ID '5011',從行1712中獲得視頻的包ID (5012'。接著,JMF1205a通過OS1201的程序庫1201b,將獲得的聲音的包 ID和作為輸出目的地的音頻解碼器506、視頻的包ID和作為輸出目的 地的視頻解碼器508的組提供給TS解碼器505。 TS解碼器505根據提供 的包ID和輸出目的地,進行濾波。這里,將包ID '5011'的包轉交給 音頻解碼器506,將包ID '5012'的包轉交給視頻解碼器508。音頻解 碼器506進行提供的包的數字/模擬變換,通過揚聲器507來再現聲音。 視頻解碼器508進行提供的包的數字/模擬變換,在顯示器509上顯示 視頻。最后,服務管理程序1204向Java程序庫1205中的AM1205b提供頻 道的識別符,請求數據廣播再現。這里,數據廣播再現是提取MPEG2 傳輸流中包含的Java程序,由JavaVM1203執(zhí)行。在MPEG2傳輸流中埋 入Java程序的方法采用MPEG規(guī)格書IS0/IEC13818-6中描述的DSMCC方 式。這里,省略DSMCC的細節(jié)說明。DSMCC方式在MPEG2傳輸流的包中,規(guī)定對由計算機使用的目錄和文件構成的文件系統(tǒng)進行編碼的方法。 此夕卜,執(zhí)行的Java程序的信息是被稱'為AIT的形式,埋入在MPEG2傳輸 流的包中被發(fā)送。AIT在DVB-MHP規(guī)格(正式地說,為ETSI TS 101 812 DVB-MHP規(guī)格Vl. 0. 2)的第10章中定義,是Application Information Table的簡略。AM1205b首先為了獲得AIT,與JMF1205a同樣,取得PAT、 PMT,獲 得AIT被保存的包的包ID。如果提供的頻道的識別符為<2',圖17的 PAT、圖18的PMT被發(fā)送,則按與JMF1205a同樣的過程,獲得圖18的PMT。 AM1205b從PMT中以流類別為'數據,從具有'AIT,的基礎流中提取 包ID作為補充信息。參照圖18,行1713的基礎流適合,獲得包ID '5013,。AM1205b通過OS1201的程序庫1201b向TS解碼器505提供AIT的包 ID和輸出目的地CPU514。 TS解碼器505按提供的包ID進行濾波,轉交 給CPU514。其結果,AM1205b可以收集AIT的包。圖19是模式地表示收 集的AIT的信息一例的表。列1801是Java程序的識別符。列1802是Java 程序的控制信息。在控制信息中有'autostart'、 'present'、 lill' 等,^autostart'意味著終端裝置500立即自動地執(zhí)行該程序, 'present,意味著不自動執(zhí)行,'kill,意味著將程序停止。列1803 是用于提取按DSMCC方式包含Java程序的包ID的DSMCC識別符。列1804 是Java程序的程序名。行1811和1812是Java程序的信息組。行1811 定義的Java程序是識別符'301,、控制信息Autostart,、 DSMCC識 別符'l,、程序名'a/TopXlet,的組。行1812定義的Java程序是識 別符'302'、控制信息present'、 DSMCC識別符'1'、程序名 'b/GameXlet'的組。這里,兩個Java程序具有相同的DSMCC識別符, 這表示在按一個DSMCC方式編碼的文件系統(tǒng)內包含兩個Java程序。這 里,對于Java程序,僅規(guī)定四個信息,但實際上定義了更多的信息。 細節(jié)請參照DVB-MHP規(guī)格。AM1205b從AIT中找出'autostart'的Java程序,提取對應的DSMCC 識別符及Java程序名。參照圖19, AM1205b提取行1811的Java程序, 獲得DSMCC識別符及Java程序名'a/TopXlet'。接著,AM1205b使用從AIT中取得的DSMCC識別符,從PMT中獲得以 DSMCC方式保存Java程序的包的包ID。具體地說,在PMT中以流類別為 '數據',取得與補充信息的DSMCC識別符一致的基礎流的包ID。如果DSMCC識別符為'1,, PMT為圖18,則與行1714的基礎流一致, 取出包ID '5014'。AM1205b通過OS1201的程序庫1201b向TS解碼器505指定按DSMCC 方式埋入了數據的包的包ID和作為輸出目的地的CPU514。這里,提供 包ID '5014'。 TS解碼器505按提供的包ID進行濾波,轉交給CPU514。其結果,AM1205b可以收集必要的包。AM1205b從收集的包中,根據 DSMCC方式來復原文件系統(tǒng),保存在一次存儲部511中。以后將從MPEG2 傳輸流中的包中取出文件系統(tǒng)等的數據并保存在一次存儲部511等存儲部件中的過程稱為下載。圖20是下載的文件系統(tǒng)的一例。圖中,圓圈表示目錄,方形表示 文件,1901是根目錄,1902是目錄、',1903是目錄'b', 1904是文 件'TopXlet. class,, 1905是文件.WameXlet. class,。接著,AM1205b從下載在一次存儲部511的文件系統(tǒng)中向 JavaVMl 203轉交執(zhí)行的Java程序。如果執(zhí)行的Java程序名為 'a/T叩Xlet,,則在Java程序名的最后附加'.class'的文件 'T叩Xlet. class'成為要執(zhí)行的文件。V'是目錄和文件名的分隔 符,參照圖20,文件1904是要執(zhí)行的Java程序。接著,AM1205b將文 件1904轉交給JavaVM1203。JavaVMl 203執(zhí)行轉交的Java程序。如果服務管理程序1204接收其他頻道的識別符,則通過相同Java 程序庫1205中包含的各程序庫來停止通過Java程序庫1205中包含的 各程序庫再現的視頻/聲音及Java程序的執(zhí)行,根據新接收的頻道的 識別符,執(zhí)行視頻/聲音的再現及Java程序。Java程序庫1205是ROM512中保存的多個Java程序庫的集合。在本 實施方式中,這里Java程序庫1205包含JMF1205a、 AM1205b 、 Tunerl205c、 CA1205d、 POD Libl205e等。下面,說明作為本發(fā)明的主要功能的Java程序的下載、保存及執(zhí) 行功能。服務管理程序1204通過Java程序庫1205中包含的P0D Libl205e 與頭端器101進行雙向通信。這種雙向通信是POD Libl205e通過 OS1201的程序庫1201b及POD504,使用QPSK解調部502、QPSK調制部503來實現。服務管理程序1204使用這種通信從頭端器101中接收終端裝置 500要保存在二次存儲部510中的Java禾呈序的信息。將該信息稱為XAIT 信息。XAIT信息在頭端器101和P0D504間以任意的形式發(fā)送。無論采 用哪種發(fā)送形式,只要XAIT中包含必要的信息,就可以實施本發(fā)明。 圖21是模式地表示從頭端器101取得的XAIT的信息一例的表。列 2001是Java程序的識別符。列2002是Java程序的控制信息。在控制信 息中有'autoselect,、 'present'等,'autoselect,意味著終端裝 置500在接通電源時自動地執(zhí)行該程序,'present'意味著不是自動 執(zhí)行。列2003是用于提取按DSMCC方式包含Java程序的包ID的DSMCC 識別符。列2004是Java程序的程序名。列2005是Java程序的優(yōu)先級。 行2011和2012是Java程序的信息組。行2011定義的Java程序是識別符 <701,、控制信息、utoselect, 、 DSMCC識別符T、程序名 'a/PPVlXlet,的組。這里,對于Java程序,僅規(guī)定五個信息,但即使定義更多的信息,也可以實施本發(fā)明。如果服務管理程序1204接收XAIT信息,則按與從AIT信息中下載 Java程序的相同過程,從MPEG2傳輸流中將文件系統(tǒng)保存在一次存儲 部511中。然后,將保存的文件系統(tǒng)復制在二次存儲部510中。再有, 不通過一次存儲部511,也可直接下載到二次存儲部510中。接著,服 務管理程序1204將XAIT信息與下載的文件系統(tǒng)的保存位置對應起來 保存在二次存儲部510中。圖22表示二次存儲部510將XAIT信息和下載 的文件系統(tǒng)對應保存的一例。在圖22中,與圖21相同號碼的元件與圖 21相同,所以省略說明。列2101保存對應的下載的文件系統(tǒng)的保存位 置。圖中,用箭頭表示保存位置。2110是下載的文件系統(tǒng),在內部保 持頂層目錄2111、目錄'a, 2112、目錄'b, 2113、文件^PPVlXlet. class, 2114、文件'PPV2Xlet. class, 2115。這里,XAIT信息在保存Java程序后保存,但也可以在保存Java程序前保存。在終端裝置500接通電源后,0S1201將服務管理程序1204指定給 JavaVM1203,在JavaVM1203起動服務管理程序1204后,服務管理程序 1204首先參照二次存儲部510中保存的XAIT信息。這里,參照各Java 程序的控制信息,將'autoselect,的程序轉交給JavaVM1203,并起 動。參照圖22,行2011定義的Java程序TPVlXlet'被起動。這里,設Java程序'PPVlXlet,是對應于P0D504內部具有的PPV 子程序805,表示PPV對象的節(jié)目信息的程序。在終端裝置500中,沒 有Java程序?PVlXlet'時,如果PPV子程序805向終端裝置500的 CPU514傳送要在畫面上顯示的信息,.則OS1201的程序庫1201b中包含 的對話顯示程序在顯示器509上顯示圖23所示的敦促節(jié)目購入的消 息。2201是對話盒,具有用于輸入消息2202、四位密碼的密碼盒2203、 0K按鈕2204、取消按鈕2205的顯示部件。但是,在該顯示中,由于節(jié) 目內容不清楚,所以有需要用戶參照節(jié)目指南等來確認節(jié)目內容的不 便。如果終端裝置500中保存Java程序?PVlXlet ,,將其起動,貝ljjava 程序'PPVlXlet,在Java程序庫1205的P0DLibl205e中將自身作為可 從P0D504參照的Java程序來注冊。在注冊時,自身的Java程序的識別 符、動作類別、優(yōu)先級也同時注冊。PODLibl205e將注冊的內容存儲 在二次存儲部510中。圖24是二次存儲部510保存可從注冊的P0D504 參照的Java程序的信息的狀態(tài)的一例。在該例中,以表形式來保存, 列2301存儲Java程序的識別符,列2302存儲Java程序的動作類別,列 2303存儲Java程序的優(yōu)先級,列2304存儲Java程序的名字。這里,Java 程序的動作類別有圖25所示的'l'和'2'兩個值,值表示不 能同時執(zhí)行注冊的Java程序與此外被注冊的Java程序、以及0S1201 的程序庫1201b中包含的程序。值'2'表示可同時執(zhí)行注冊的Java 程序與此外被注冊符'PPV'、動作類別<2,、優(yōu)先級'200'、 Java程序的名字 PVlXlet, 的組。POD Libl205e向P0D504通知己注冊的Java程序的信息,在POD504 內的子程序和已注冊的Java程序間可進行數據的發(fā)送接收。例如, POD504內的PPV子程序805向圖24的行2311所示的已注冊的Java程序 傳送PPV購入對象的節(jié)目內容,Java程序如圖26那樣可在顯示器509 上進行顯示。與圖23相同號碼的元件是與圖23相同的元件,所以省略 說明。2501是已注冊的Java程序顯示的節(jié)目信息。這里,同時執(zhí)行 0S1201的程序庫1201b的對話顯示程序和已注冊的Java程序。此時, P0D504參照已注冊的Java程序的類別來識別傳送數據的對方的Java 程序。另一方面,0S1201的程序庫1201b的對話顯示程序和已注冊的 Java程序被分別開發(fā),作為結果,2201和2501可能被重復顯示。為了 避免它,也可以使0S1201的程序庫1201b的對話顯示程序停止。具體 地說,Java程序全部具有OS1201的程序庫1201b的對話顯示程序要進 行的、密碼輸入等功能,而且,按動作類別'1'注冊。圖27是這種 情況下的己注冊的Java程序從P0D504的PPV子程序接受指示并在顯示 器509上進行顯示的一例。這里,如圖28那樣,設二次存儲部510保存已注冊的Java程序。 在該例中,兩個Java程序具有相同的識別符'PPV',而且動作類別在 'l,時不可并存。這樣的情況下,P0DLibl205e僅使優(yōu)先級高的Java 程序動作?;蛘?,使雙方動作,但將來自P0D504的消息僅分配給優(yōu)先 級高的Java程序。圖29、圖30是匯總在P0D Libl205e中注冊Java程序的情況下的 PODLibl205e的動作的流程圖。POD Libl205e受理Java程序的注冊(步 驟S2801)。將受理的信息保存在二次存儲部510中(步驟S2802)。將 己經注冊在二次存儲部510中的Java程序和受理的Java程序的識別符進行比較,判定相同識別符的Java程序是否為多個(步驟S2803)。在 有相同識別符的Java程序的情況下,進至圖30的步驟S2901。在沒有 相同識別符的Java程序的情況下,調査受理的Java程序的動作類別是 否可并存執(zhí)行(步驟S2804)。在不能的情況下,停止從POD504對OS1201 的程序庫1201b的消息配送(步驟S2805)。然后,使對受理的Java程 序的來自P0D504的消息配送有效(步驟S2806),并結束注冊處理。在 步驟S2803中,在有相同識別符的Java程序的情況下,調查多個相同 識別符的Java程序的動作類別是否都可以并存執(zhí)行(步驟S2901)。在 有不能并存執(zhí)行的Java程序的情況下,比較受理的Java程序的優(yōu)先級 和原有的Java程序的優(yōu)先級(步驟S2902)。在受理的Java程序的優(yōu)先 級最高時,停止從P0D504向原有的Java程序的消息配送(步驟S2903), 使對從P0D504接受的Java程序的消息配送有效(步驟S2904)。在步驟 S2901中,在所有Java程序的動作類別都可并存執(zhí)行的情況下,進至 步驟S2904。在步驟S2902中,受理的Java程序的優(yōu)先級不是最高的情 況下,原有的Java程序持續(xù)接受消息,所以直接結束處理。圖31、圖32、圖33是表示根據該動作的流程圖,來自P0D504的消 息的配送目的地變化的模式圖。圖31 (1)表示Java程序沒有被注冊 的狀態(tài),從POD504將所有的消息配送給OS1201的程序庫1201b。箭頭 3001表示消息配送。在圖31 (1)的狀態(tài)下,如果Java程序被注冊, 則在已注冊的Java程序的動作類別可共同動作的情況下,參照圖29 的流程圖,進行步驟S2801、 S2802、 S2803、 S2804、 S2806的處理, 成為圖31 (2)的狀態(tài)。這里,3011是已注冊的Java程序,箭頭3002 是新設定的從POD504向Java程序3011的消息的流動。嚴格地說,在 P0D504和Java程序之間,插入CPU514和P0D Libl205e。在已注冊的 Java程序的動作類別不能共同動作的情況下,參照圖29的流程圖,進 行步驟S2801、 S2802、 S2803、 S2804、 S2805、 S2806的處理,成為圖 31 (3)的狀態(tài)。停止箭頭3001表示的從P0D504向程序庫1201b的消息的流動,設定重新從P0D504向Java程序3011的消息的配送。圖32 (1)表示Java程序被注冊一個,從P0D504將所有的消息配 送給0S1201的程序庫1201b和注冊的Java程序3111的狀態(tài)。箭頭3101 和3102表示消息配送。在圖32 (1)的狀態(tài)下,如果Java程序被注冊, 則在已注冊的Java程序的動作類別可共同動作的情況下,參照圖29、 圖30的流程圖,進行步驟S2801、 S2802、 S2803、 S2901、 S2904的處 理,成為圖32 (2)的狀態(tài)。這里,3112是已注冊的Java程序,箭頭 3103表示新設定的從P0D504向Java程序3112的消息的配送。圖33 (1)表示Java程序被注冊一個,從P0D504將所有的消息配 送給被注冊的Java程序3211的狀態(tài)。Java程序3211因動作類別不能并 存執(zhí)行而成為這樣的狀態(tài)。箭頭3201表示消息配送。在圖32 (1)的 狀態(tài)下,如果Java程序被注冊,則在已注冊的Java程序的動作類別可 并存動作的情況下,比較原有的Java程序3211和已注冊的Java程序的 優(yōu)先級。在已注冊的Java程序的優(yōu)先級高的情況下,參照圖29、圖30 的流程圖,進行步驟S2801、 S2802、 S2803、 S2901、 S2902、 S2903、 S2904的處理,成為圖32 (2)的狀態(tài)。停止箭頭3201表示的從P0D504 向Java程序的消息的配送,重新設定從P0D504向Java程序3211的消息 的配送。在原有的Java程序3211的優(yōu)先級高的情況下,參照圖29、圖 30的流程圖,進行步驟S2801、 S2802、 S2803、 S2901、 S2902的處理, 成為圖32 (3)的狀態(tài)。消息的配送沒有變化。再有,在步驟S2902中原有的Java程序的最高優(yōu)先級和受理的 Java程序的優(yōu)先級相等的情況下,在步驟S2903中寫入控制,以便受 理的Java程序,以便接收消息。這意味著在多個Java程序的優(yōu)先級相 等的情況下,可考慮選擇任意的一個?;蛘?,執(zhí)行多個Java程序,向多個Java程序傳送相同消息。這種 情況下,將多個Java程序有意地安裝,以產生相同優(yōu)先級和識別符, 理解相互的動作,即使同時動作也不產生問題。圖34是多個Java程序具有相同識別符和優(yōu)先級情況的一例。這里,從P0D504向節(jié)目傳送內 容和費用的信息。行3311的Java程序進行費用顯示和接受密碼輸入, 行3312的Java程序可實施僅進行節(jié)目內容的顯示。PODLibl205e接受Java程序的注冊,同時也接受消除。圖35、圖 36是匯總P0D Libl205e消除Java程序的注冊的情況下的P0D Libl205e 的動作的流程圖。POD Libl205e接受Java程序的消除(步驟S3401)。 消除從二次存儲部510受理的Java程序(步驟S3402)。調査要消除的 Java程序當前是否從P0D504接受消息(步驟S3403),如果接受,則使 從P0D504向受理的Java程序的消息配送無效(步驟S3404)。調査二次 存儲部501中是否有相同識別符的Java程序(步驟S3405),如果有, 則使從POD504向OS1201的程序庫1201b的消息配送有效(步驟S3406)。 在步驟S3403中,如果要消除的Java程序沒有從P0D504接收消息,則 結束處理。在步驟S3405中,在有與要消除的Java程序相同識別符的 Java程序時,參照圖36,調査所有Java程序是否可并存執(zhí)行(步驟 S3501)。使識別符相等的可并存的所有Java程序及對OS1201的程序庫 1201b的來自P0D504的消息配送有效(步驟S3502)。在所有Java程序 沒有并存執(zhí)行時,提取具有最高優(yōu)先級的Java程序(步驟S3503)。使 對提取的Java程序的來自P0D504的消息配送有效(步驟S3504)。如以上那樣,根據本實施方式,通過不消除原有的程序,臨時取 代執(zhí)行下載的程序,由此可進行程序的更新,同時可容易地返回到原 有的程序。此外,通過下載保存程序,以便可與原有的程序同時執(zhí)行, 從而可以追加原有的程序中沒有的功能。再有,在本實施方式中,P0D504內的PPV子程序805和Java程序進 行消息交換,并進行動作,但不限于PPV,即使對于在P0D504上的任 何子程序和終端裝置500上的任何Java程序之間進行消息交換、進行 動作,也都能適應。此外,Java程序也可以混合按Java描述的部分和 CPU可直接執(zhí)行的二進制形式的部分,即使是僅由CPU可直接執(zhí)行的二進制形式構成,也可實施。在本實施方式中,通過二次存儲部510保存ROM512保存的內容, 可實施消除R0M512。此外,二次存儲部510由多個子二次存儲部構成, 即使各個子二次存儲部保存不同的信息,也可以實施。例如, 一個子 二次存儲部僅保存調諧信息,另一子二次存儲部保存OS1201的程序庫 1201b,再一個子二次存儲部保存下載的Java程序等,可詳細地分割。實施方式2在實施方式l中,如果Java程序被注冊,則0S1201的程序庫1201b 和二次存儲部510中已注冊的Java程序突然停止與POD504的消息通 信。例如,在用戶PPV購入處理的中途,如果Java程序被注冊,則購 買處理被中斷,有直至中途輸入的密碼無效的可能性。因此,在本實施方式中,對于消息通信被停止的OS1201的程序庫 1201b和原有的Java程序,事前進行通知,獲得了解后停止。具體地 說,將表示實施方式1中的動作的流程圖的圖29的步驟S2805的停止對 程序庫1201b的消息配送、圖30的步驟S2903的停止對原有的Java程序 的消息配送置換為圖34中描述的流程圖。參照圖37, POD Libl205e對于消息發(fā)送被停止的對象、具體地說 對于Java程序和0S1201的程序庫1201b,事先通知停止消息發(fā)送(步 驟S3601)。接受了停止通知的Java程序和OS1201的程序庫1201b在結 束必要的處理后,向POD Libl205e通知知道停止消息發(fā)送(步驟 S3602)。 POD Libl205e停止消息的發(fā)送(步驟S3603)。此外,P0D504上的子程序也需要知道消息通知目的地被變更。圖 38是表示P0D Libl205e向P0D504通知消息通知目的地被變更的動作 的流程圖。POD Libl205e對于P0D504,事先通知停止消息發(fā)送(步驟S3701)。 接受了停止通知的POD504在結束必要的處理后,向POD Libl205e通知 知道停止消息發(fā)送(步驟S3702)。 P0DLibl205e停止消息的發(fā)送(步驟S3703),設定新的分配目的地(步驟S3704)。最后,PODLibl205e 將設定的新的分配目的地通知POD504 (步驟S3705)。此外,重新設定的Java程序和0S1201的程序庫1201b也可以接受 已設定的通知。Java程序和OS1201的程序庫1201b不僅從POD504接受 消息,而且有將消息傳送到P0D504的情況。具體地說,可列舉在PPV 中將用戶輸入的密碼傳送到P0D504等。如果可以知道消息發(fā)送有效, 則不需要無用地傳送消息。實施方式3在實施方式l中,將已注冊的Java程序保存在二次存儲部510中, 但也可以實施保存在一次存儲部511中。在保存在一次存儲部511中的情況下,在電源關斷時,保存的信 息完全消失。但是,如上所述,如果根據XATI來下載執(zhí)行Java程序, 則執(zhí)行的Java程序將自身注冊在P0DLibl205e中,所以可復原。但是, 這種情況下,電源接通一會兒后,0S1201的程序庫1201b才開始動作, 所以產生切換。圖39是表示終端裝置500從電源接通后,直至來自 POD504的消息配送被變更的動作的流程圖。如果在終端裝置500中接 通電源(步驟S3801),則終端裝置500和POD504的程序被起動,在 POD504和程序庫1201b間確立消息配送(步驟S3802)。AM1205根據XAIT 信息,下載Java程序,JavaVM1203執(zhí)行該Java程序(步驟S3803)。在 Java程序需要進行與P0D504的消息交換的情況下,將自身注冊在POD Libl205e中(步驟S3804)。根據圖29、圖30中規(guī)定的流程圖,根據需 要來變更消息配送(步驟S3805)。另一方面,如實施方式l,在將已注冊的Java程序保存在二次存 儲部510中的情況下,從接通電源后開始,向已注冊的Java程序中分 配來自P0D504的消息,取代OS1201的程序庫1201b。但是,如上所述, 如果根據XAIT來下載執(zhí)行Java程序,則執(zhí)行的Java程序將自身注冊在 POD Libl205e中,所以成為雙重注冊。為了防止雙重注冊,PODLibl205e不接受已經注冊的Java程序的注冊。圖40是表示終端裝置 500從電源接通后,直至變更來自POD504的消息配送的動作的流程圖。 如果在終端裝置500中接通電源(步驟S3901),則終端裝置500和 P0D504的程序被起動,根據二次存儲部510保存的注冊信息,在P0D504 和Java程序或程序庫1201b間確立消息配送(步驟S3902)。 AM1205b 根據XAIT信息,下載Java程序,JavaVM1203執(zhí)行該Java程序(步驟 S3903)。在Java程序需要進行與P0D504的消息交換的情況下,將自身 注冊在POD Libl205e中(步驟S39040。 POD Libl205e參照二次存儲部 510,調査是否己經注冊了相同Java程序(步驟S3905)。如果沒有保 存,則進行注冊處理,根據圖29、圖30規(guī)定的流程圖,根據需要變更 消息配送(步驟S3906)。再有,通過實施方式l、 2、 3,可進行以下應用。 如果是個人計算機和攜帶電話等信息裝置,則本發(fā)明是適用的。 此外,P0D504為可拆裝的方式,但也可以實施內置。再有,在內 置的情況下,拆除POD504的CPU706, CPU514也可實施CPU706的動作。 POD Libl205e中注冊的Java程序不僅是下載的Java程序,而且即 使是預先內置的Java程序,也可實施。此外,如果拆裝SD存儲卡等可 拆裝的存儲介質,則控制插槽部,從那里可取入Java程序。此外,安 裝連接到網絡的網絡部,可從網絡取出Java程序。而且,在實施方式1 3中,POD504上的僅一個子程序向Java程序 配送消息,但兩個以上的子程序及Java程序可實施分別單獨地配送消 息。圖41表示P0D504上的多個子程序及多個Java程序間的消息配送的 一例。在P0D504中子程序A4001、子程序B4002、子程序C4003動作, 在終端裝置500上,Java程序X4011、 Java程序Y4021、 Java程序Z4013 動作。箭頭402K 4022、 4023、 4024表示設定的消息配送的路徑。從 子程序A4001向Java程序X4011設定消息配送的路徑4021,使子程序和 Java程序一對一。另一方面,子程序B4002在Java程序Y4012、 Java程序Z4013兩個Java程序中具有消息配送的路徑。相反,Java程序 Z4013從子程序B4002、子程序C4003兩個子程序中接收消息。此外,在該圖中從子程序向Java程序配送消息,但也可以實施從 Java程序向子程序配送消息。此外,也可以按雙向方式來交換消息。這里,在消息的配送路徑中,配送消息路徑ID,子程序和Java 程序使用消息路徑ID,也可以特定消息的發(fā)送對方。此外,在注冊Java 程序時,取代同時要注冊的Java程序的識別符,即使用這種消息路徑 ID,也可實施本發(fā)明。對于爭用的Java程序和P0D504上的子程序的消 息路徑,根據動作類別等,可以特定進行消息配送的Java程序?;蛘?, 定義用于識別P0D504上的子程序的子程序識別符,在注冊Java程序 時,取代同時注冊的Java程序的識別符,即使用這種子程序識別符, 也可實施本發(fā)明。此外,使用動作類別來確定配送消息的Java程序,但也可以不使 用動作類別,根據最后注冊的Java程序優(yōu)先、或先注冊的Java程序優(yōu)先等預先制定的規(guī)則來確定。在實施方式1 3中,POD Libl205e中注冊的Java程序的動作意味 著接受消息配送的動作。即,Java程序通過接受消息的配送而動作。 另一方面,Java程序一般可平行進行多個處理。在本發(fā)明中,對于通 過接受消息的配送而動作的處理以外的Java程序具有的其他處理,可沒有一切限制地實施。此外,如上述實施方式中說明的那樣,P0DLibl205e接受對作為 消息的配送對象的Java程序的消息配送注冊,同時也接受消除(即不 進行注冊)。圖42是匯總在POD Lib 1205e中注冊Java程序的情況下的POD Libl205e的動作的流程圖。如果POD Libl205e接受與Java程序進行的消息配送(包含發(fā)送/ 接收的至少一方或雙方)的注冊,則對二次存儲部510保存必要的信息(例如圖28所示的信息)(步驟SX101),在步驟SX101中通過將接受 了注冊的Java程序的識別符和已經在二次存儲部510中注冊的其他 Java程序的識別符進行比較,判定在二次存儲部510中是否有與接受 了注冊的Java程序的識別符相同識別符的Java程序(步驟SX102 )。其結果,在二次存儲部510中有相同識別符的Java程序的情況(即 在步驟SX101中對于與接受了注冊的Java程序有相同識別符的另一 Java程序,接受消息的配送的注冊在步驟SX101的時刻前由P0D Libl205e完成的情況)(步驟SX102中為"是")下,POD Libl205e對 于消息發(fā)送被停止的對象,具體地說,對于二次存儲部510中注冊的 另一Java程序(即在步驟SX101中有與接受了消息配送的注冊的Java 程序相同識別符,完成接受消息配送的注冊的另一Java程序)和 OS1201的程序庫1201b,事前通知停止消息發(fā)送(步驟SX103)。接受 了停止通知的Java程序和0S1201的程序庫1201b在結束必要的處理(在停止來自P0D504的消息配送(即,不注冊消息配送的注冊)前要 結束的必要的內部處理)后,向P0DLibl205e通知知道消息發(fā)送的停 止(步驟SX104)。接受了該知道通知的PODLibl205e從POD504中消除 原有的(已經注冊在二次存儲部510中,成為停止來自P0D504的消息 配送的對象)Java程序或與0S1201的程序庫1201b的消息配送的注冊(即,不注冊),停止對Java程序的消息配送(步驟SX105)。然后, 在通知對步驟SX101中接受了注冊的Java程序進行開始消息配送的后(步驟SX106),通過進行接受步驟SXIOI中對接受了注冊的Java程序 的來自P0D504的消息配送的注冊,使消息的配送有效(步驟SX107)。 另一方面,在二次存儲部501中沒有相同識別符的Java程序的情 況下(步驟SX102中為"否"),PODLibl205e在通知對步驟SX101中接 受了注冊的Java程序開始消息配送后(步驟SX106),通過進行接受步 驟SX101中對接受了注冊的Java程序的來自P0D504的消息配送的注 冊,使消息的配送有效(步驟SX107)。圖43是匯總P0DLibl205e消除Java程序的注冊(即,不注冊與二 次存儲部510中已注冊的Java程序的消息配送的注冊)的情況下的POD Libl205e的動作的流程圖。如果P0DLibl205e接受Java程序的消除(步驟SX201),則對于成 為消除對象的Java程序,事先通知停止消息的酉己送(步驟SX202)。接 受了停止通知的Java程序在結束必要的處理(在停止來自POD504的消 息的配送(即,不注冊消息的配送的注冊)前要結束的必要的內部處 理)后,向P0DLibl205e通知知道停止消息的配送(步驟SX203)。接 受了該通知的POD Libl205e通過消除(即不注冊)對二次存儲部510 中注冊的Java程序中作為被請求消除的對象的Java程序的消息配送 的注冊,來停止從POD504對作為對象的Java程序的消息配送(步驟 SX204)。然后,POD Libl205e通過對OS1201的程序庫1201b進行接受 與POD504的消息配送的注冊,使與OS1201的程序庫1201b的消息配送 有效(步驟SX205)。此夕卜,在步驟SX205中二次存儲部510中有注冊的另一Java程序或 新注冊的Java程序,要進行(或可進行)與這些Java程序的其中一個 的消息配送時,通過進行POD504和接受與作為對象的Java程序的消息 配送的注冊,也可以使與作為對象的Java程序的消息配送有效。而且, 如果在與POD504的消息配送中作為分配對象的Java程序和OS1201的 程序庫1201b相互并存(即,沒有相互爭用),則進行接受與0S1201 的程序庫1201b的消息配送的注冊,也可以在作為對象的Java程序和 OS1201的程序庫1201b中配送消息。如以上那樣,根據實施方式,通過不消除原有的程序,臨時取代 執(zhí)行下載的程序,在可進行程序的更新(置換)的同時,也可容易地 返回原有的程序。
權利要求
1、一種程序置換方法,在可拆裝地安裝于廣播接收終端裝置上的POD和所述廣播接收終端裝置內的程序之間進行消息的發(fā)送接收時,置換以能進行與所述POD的消息的發(fā)送接收而被注冊的所述廣播接收終端裝置內的程序,其特征在于,該方法包括注冊步驟,進行注冊以使第一程序可以與所述POD進行消息的發(fā)送接受,所述第一程序具有用于特定程序種類的識別符;通知步驟,通知已經存在于所述廣播接收終端裝置內的第二程序,停止所述第二程序與所述POD的消息的發(fā)送接收,所述第二程序具有與所述第一程序的識別符相同內容的識別符;以及停止步驟,停止所述第二程序與所述POD的消息的發(fā)送接收,停止所述第二程序與所述POD的消息的發(fā)送接收是使被注冊成可以與所述POD進行消息的發(fā)送接收的所述第二程序成為非注冊的。
2、 如權利要求1所述的程序置換方法,其特征在于,接收了停 止與所述POD的消息的發(fā)送接收的通知的所述第二程序執(zhí)行必要處 理,以使被注冊成可以與所述POD進行消息的發(fā)送接收的所述第二程 序成為非注冊。
3、 一種程序置換裝置,在可拆裝地安裝于廣播接收終端裝置上 的POD和所述廣播接收終端裝置內的程序之間進行消息的發(fā)送接收 時,置換以能進行和所述POD的消息的發(fā)送接收而被注冊的所述廣播 接收終端裝置內的程序,其特征在于,該裝置包括-注冊部,進行注冊以使第一程序可以與所述POD進行消息的發(fā)送 接受,所述第一程序具有用于特定程序種類的識別符;通知部,通知已經存在于所述廣播接收終端裝置內的第二程序, 停止所述第二程序與所述POD的消息的發(fā)送接收,所述第二程序具有 與所述第一程序的識別符相同內容的識別符;以及停止部,停止所述第二程序與所述POD的消息的發(fā)送接收, 所述停止部使被注冊成可以與所述POD進行消息的發(fā)送接收的所 述第二程序成為非注冊。
全文摘要
本發(fā)明提供一種程序置換方法,通過不消除原有的程序,臨時取代執(zhí)行下載的程序,從而在可進行程序更新的同時,也可以容易地返回原有的程序。此外,在追加原有的程序中沒有的功能時,將程序下載保存,以便可與原有的程序同時執(zhí)行。
文檔編號G06F9/445GK101256496SQ20081008246
公開日2008年9月3日 申請日期2004年6月4日 優(yōu)先權日2003年6月4日
發(fā)明者鹽見隆一 申請人:松下電器產業(yè)株式會社