亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

記錄介質(zhì),播放裝置,程序,播放方法,系統(tǒng)集成電路的制作方法

文檔序號(hào):7749505閱讀:242來源:國知局
專利名稱:記錄介質(zhì),播放裝置,程序,播放方法,系統(tǒng)集成電路的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于控制虛擬機(jī)中應(yīng)用程序執(zhí)行的應(yīng)用程序控制技術(shù)的領(lǐng)域,并且更 具體地,涉及用于將該控制技術(shù)應(yīng)用于例如BD-ROM的記錄介質(zhì)和BD-ROM播放裝置的應(yīng)用 技術(shù),并且其中該BD-ROM用于發(fā)行電影作品。
背景技術(shù)
用于虛擬機(jī)的應(yīng)用程序控制技術(shù),例如Java(TM)編程,已經(jīng)在個(gè)人計(jì)算機(jī)軟件行 業(yè)中得到了廣泛應(yīng)用。目前,如何將從個(gè)人計(jì)算機(jī)軟件發(fā)展而來的Java(注冊商標(biāo),在下文 中用TM表示)編程用于實(shí)現(xiàn)BD-ROM(藍(lán)光光盤只讀存儲(chǔ)器)播放裝置中的播放控制是一 個(gè)研究的熱點(diǎn)。在下面專利文件1中敘述的技術(shù)是一種公知的關(guān)于一種類似的播放裝置的傳統(tǒng) 技術(shù)。*專利文件1 日本專利公開No. 2813245

發(fā)明內(nèi)容
本發(fā)明要解決的問題同時(shí),Java(TM)編程所創(chuàng)建的應(yīng)用程序的運(yùn)行并不穩(wěn)定,運(yùn)行狀態(tài)會(huì)根據(jù)資源使 用狀態(tài)和CPU負(fù)載而改變。因此,經(jīng)常會(huì)發(fā)生資源短缺,而這會(huì)導(dǎo)致應(yīng)用程序的啟動(dòng)失敗或 者導(dǎo)致應(yīng)用程序異常終止,從導(dǎo)致裝置發(fā)生中斷。在個(gè)人計(jì)算機(jī)軟件行業(yè)中,人們可能并 不將這視為嚴(yán)重問題。但是,在制造例如BD-ROM播放裝置這樣的消費(fèi)品的領(lǐng)域中,這種現(xiàn) 象將會(huì)被視作質(zhì)量問題。因此,許多制造商都不愿意使用Java(TM)編程來實(shí)現(xiàn)裝置控制。 (注中斷是指這樣一種狀態(tài),其中,裝置中的軟件停止工作并且顯示屏變?yōu)楹谄?本發(fā)明的目的是提供一種記錄介質(zhì),當(dāng)控制記錄介質(zhì)的應(yīng)用程序異常終止時(shí),或 者當(dāng)該應(yīng)用程序發(fā)生啟動(dòng)故障時(shí),所述記錄介質(zhì)可以實(shí)現(xiàn)失效保護(hù)。根據(jù)本發(fā)明的一個(gè)方面,提供一種記錄方法,用于在記錄介質(zhì)上,其中記錄應(yīng)用程 序、數(shù)字流、與所述應(yīng)用程序和數(shù)字流有關(guān)的標(biāo)題、以及管理信息,其中所述應(yīng)用程序是使 用編程語言編寫的用于虛擬機(jī)的程序,在執(zhí)行所述記錄時(shí)指定了生存周期,該生存周期在記錄在所述記錄介質(zhì)中的標(biāo)題 的播放周期內(nèi),并且在所述生存周期期間可以由所述虛擬機(jī)執(zhí)行所述應(yīng)用程序,以及所述管理信息包括指示了與所述標(biāo)題有關(guān)的所述數(shù)字流的播放控制的信息,在所述生存周期期間,與所述應(yīng)用程序的執(zhí)行同時(shí)進(jìn)行所述數(shù)字流的播放控制。根據(jù)本發(fā)明的另一個(gè)方面,提供一種播放裝置,包括虛擬機(jī)單元,用于執(zhí)行已經(jīng)從記錄介質(zhì)讀入工作存儲(chǔ)器的應(yīng)用程序;
播放控制引擎單元,用于播放記錄于所述記錄介質(zhì)上的、并且與記錄在所述記錄介質(zhì)中的標(biāo)題有關(guān)的數(shù)字流;以及應(yīng)用程序管理器,用于當(dāng)?shù)竭_(dá)所述應(yīng)用程序的生存周期時(shí),將所述應(yīng)用程序從所 述記錄介質(zhì)讀入所述工作存儲(chǔ)器并且使所述虛擬機(jī)單元執(zhí)行所述應(yīng)用程序,以及同時(shí),使 所述播放控制引擎單元根據(jù)記錄于所述記錄介質(zhì)中的管理信息播放與所述標(biāo)題有關(guān)的所 述數(shù)字流,其中,所述生存周期在記錄在所述記錄介質(zhì)中的標(biāo)題的播放周期內(nèi),并且在所述 生存周期期間,所述應(yīng)用程序可以被讀入所述虛擬機(jī)單元的工作存儲(chǔ)器并且可以被所述虛 擬機(jī)單元執(zhí)行。根據(jù)本發(fā)明的再一個(gè)方面,提供一種用于計(jì)算機(jī)的播放方法,所述計(jì)算機(jī)包含虛 擬機(jī)單元以及播放控制引擎單元,所述虛擬機(jī)單元用于執(zhí)行已被從記錄介質(zhì)讀入工作存儲(chǔ) 器的應(yīng)用程序,所述播放控制引擎單元用于播放記錄于所述記錄介質(zhì)上的、并且與記錄在 所述記錄介質(zhì)中的標(biāo)題有關(guān)的數(shù)字流,所述播放方法使所述計(jì)算機(jī)執(zhí)行以下所述步驟當(dāng)?shù)竭_(dá)所述應(yīng)用程序的生存周期時(shí),將所述應(yīng)用程序從所述記錄介質(zhì)讀入所述工 作存儲(chǔ)器并且使所述虛擬機(jī)單元執(zhí)行所述應(yīng)用程序,其中,所述生存周期在記錄在所述記 錄介質(zhì)中的標(biāo)題的播放周期內(nèi),并且在所述生存周期期間,所述應(yīng)用程序可以被讀入所述 虛擬機(jī)單元的工作存儲(chǔ)器并且可以被所述虛擬機(jī)單元執(zhí)行,并且同時(shí)使所述播放控制引擎單元根據(jù)記錄于所述記錄介質(zhì)上的管理信息播放與所述標(biāo) 題有關(guān)的所述數(shù)字流。根據(jù)本發(fā)明的再一個(gè)方面,提供一種系統(tǒng)集成電路,其被嵌入播放數(shù)字流的播放 裝置,所述數(shù)字流記錄在所述記錄介質(zhì)中并且與記錄在所述記錄介質(zhì)中的標(biāo)題有關(guān),所述 系統(tǒng)集成電路包含虛擬機(jī)單元,用于執(zhí)行已被從記錄介質(zhì)讀入工作存儲(chǔ)器的應(yīng)用程序;以及應(yīng)用程序管理器,用于當(dāng)?shù)竭_(dá)所述應(yīng)用程序的生存周期時(shí),將所述應(yīng)用程序從所 述記錄介質(zhì)讀入所述工作存儲(chǔ)器并且使所述虛擬機(jī)單元執(zhí)行所述應(yīng)用程序,并且與此同 時(shí),使所述播放控制引擎單元根據(jù)記錄于所述記錄介質(zhì)上的管理信息播放與所述標(biāo)題有關(guān) 的所述數(shù)字流,其中,所述生存周期在記錄在所述記錄介質(zhì)中的標(biāo)題的播放周期內(nèi),并且在 所述生存周期期間,所述應(yīng)用程序可以被讀入所述虛擬機(jī)單元的工作存儲(chǔ)器并且可以被所 述虛擬機(jī)單元執(zhí)行。根據(jù)本發(fā)明的又一個(gè)方面,提供一種記錄介質(zhì),其中記錄應(yīng)用程序、數(shù)字流、與該 應(yīng)用程序和數(shù)字流有關(guān)的標(biāo)題以及管理信息,其中所述應(yīng)用程序是使用編程語言編寫的用于虛擬機(jī)的程序,指定了生存周期,該生存周期處于記錄在所述記錄介質(zhì)中的所述標(biāo)題的播放周期 內(nèi),并且在所述生存周期期間所述應(yīng)用程序被讀進(jìn)所述虛擬機(jī)的工作存儲(chǔ)器并可由所述虛 擬機(jī)執(zhí)行,所述管理信息包括指示了與所述標(biāo)題有關(guān)的所述數(shù)字流的播放控制的信息,其中 所述播放控制應(yīng)當(dāng)在執(zhí)行所述應(yīng)用程序時(shí)執(zhí)行;所述管理信息還包含定義恢復(fù)處理的標(biāo)記,當(dāng)所述應(yīng)用程序異常終止時(shí)執(zhí)行所述 恢復(fù)處理,并且所述標(biāo)記是(i)指示在所述應(yīng)用程序異常終止時(shí)是否重新啟動(dòng)所述應(yīng)用程序的標(biāo)記;(ii)指示當(dāng)所述應(yīng)用程序異常終止時(shí)所輸出的事件的標(biāo)記;以及(iii)指示當(dāng)所述應(yīng)用程序異常終止時(shí)是否重新啟動(dòng)播放裝置的標(biāo)記。根據(jù)本發(fā)明的又一個(gè)方面,提供一種播放裝置,包括虛擬機(jī)單元,用于執(zhí)行已經(jīng)從記錄介質(zhì)讀進(jìn)工作存儲(chǔ)器的應(yīng)用程序;播放控制引 擎單元,用于播放記錄于記錄介質(zhì)上且與記錄在所述記錄介質(zhì)中的標(biāo)題有關(guān)的數(shù)字流;以 及應(yīng)用程序管理器,用于將所述應(yīng)用程序從所述記錄介質(zhì)讀進(jìn)所述工作存儲(chǔ)器,并且當(dāng)?shù)?達(dá)生存周期時(shí),使所述虛擬機(jī)單元執(zhí)行所述應(yīng)用程序,以及與所述虛擬機(jī)單元的執(zhí)行并行 地,使所述播放控制引擎單元根據(jù)記錄于所述記錄介質(zhì)中的管理信息播放與所述標(biāo)題有關(guān) 的所述數(shù)字流,該生存周期處于記錄在所述記錄介質(zhì)中的所述標(biāo)題的播放周期內(nèi),并且在 所述生存周期期間所述應(yīng)用程序被讀進(jìn)所述虛擬機(jī)的工作存儲(chǔ)器并可由所述虛擬機(jī)執(zhí)行; 其中所述管理信息還包含定義恢復(fù)處理的標(biāo)記,當(dāng)所述應(yīng)用程序異常終止時(shí)執(zhí)行所述恢復(fù) 處理,并且所述應(yīng)用程序管理器根據(jù)所述管理信息中包含的所述標(biāo)記執(zhí)行下列任意控制(i)重新啟動(dòng)異常終止的所述應(yīng)用程序的控制;(ii)輸出預(yù)先指定的事件的控制;以及(iii)重新啟動(dòng)播放裝置的控制。根據(jù)本發(fā)明的又一個(gè)方面,提供一種被讀入計(jì)算機(jī)的程序,所述計(jì)算機(jī)包含虛擬機(jī)單元,用于執(zhí)行已經(jīng)從記錄介質(zhì)讀進(jìn)工作存儲(chǔ)器的應(yīng)用 程序;播放控制引擎單元,用于播放記錄于記錄介質(zhì)上且與記錄在所述記錄介質(zhì)中的標(biāo)題 有關(guān)的數(shù)字流;所述程序使所述計(jì)算機(jī)執(zhí)行如下步驟將所述應(yīng)用程序從所述記錄介質(zhì)讀 進(jìn)所述工作存儲(chǔ)器,并且當(dāng)?shù)竭_(dá)生存周期時(shí),使所述虛擬機(jī)單元執(zhí)行所述應(yīng)用程序,該生存 周期處于記錄在所述記錄介質(zhì)中的所述標(biāo)題的播放周期內(nèi),并且在所述生存周期期間所述 應(yīng)用程序被讀進(jìn)所述虛擬機(jī)的工作存儲(chǔ)器并可由所述虛擬機(jī)執(zhí)行;與所述虛擬機(jī)單元的執(zhí) 行并行地,使所述播放控制引擎單元根據(jù)記錄于所述記錄介質(zhì)中的管理信息播放與所述標(biāo) 題有關(guān)的所述數(shù)字流;以及根據(jù)記錄于所述記錄介質(zhì)中的所述管理信息中包含的標(biāo)記執(zhí)行 下列任意控制(i)重新啟動(dòng)異常終止的所述應(yīng)用程序的控制;(ii)輸出預(yù)先指定的事件的控制;以及(iii)重新啟動(dòng)播放裝置的控制,其中所述標(biāo)記定義了當(dāng)所述應(yīng)用程序異常終止時(shí)要執(zhí)行的恢復(fù)處理。根據(jù)本發(fā)明的又一個(gè)方面,提供一種用于計(jì)算機(jī)的播放方法,所述計(jì)算機(jī)包含虛擬機(jī)單元,用于執(zhí)行已經(jīng)從記錄介質(zhì)讀進(jìn)工作存儲(chǔ)器的應(yīng)用 程序;播放控制引擎單元,用于播放記錄于記錄介質(zhì)上且與記錄在所述記錄介質(zhì)中的標(biāo)題 有關(guān)的數(shù)字流;所述播放方法使所述計(jì)算機(jī)執(zhí)行如下步驟將所述應(yīng)用程序從所述記錄介 質(zhì)讀進(jìn)所述工作存儲(chǔ)器,并且當(dāng)?shù)竭_(dá)生存周期時(shí),使所述虛擬機(jī)單元執(zhí)行所述應(yīng)用程序,該 生存周期處于記錄在所述記錄介質(zhì)中的所述標(biāo)題的播放周期內(nèi),并且在所述生存周期期間 所述應(yīng)用程序被讀進(jìn)所述虛擬機(jī)的工作存儲(chǔ)器并可由所述虛擬機(jī)執(zhí)行;與所述虛擬機(jī)單元 的執(zhí)行并行地,使所述播放控制引擎單元根據(jù)記錄于所述記錄介質(zhì)中的管理信息播放與所 述標(biāo)題有關(guān)的所述數(shù)字流;以及根據(jù)記錄于所述記錄介質(zhì)中的所述管理信息中包含的標(biāo)記 執(zhí)行下列任意控制
(i)重新啟動(dòng)異常終止的所述應(yīng)用程序的控制;(ii)輸出預(yù)先指定的事件的控制;以及(iii)重新啟動(dòng)播放裝置的控制,其中所述標(biāo)記定義了當(dāng)所述應(yīng)用程序異常終止時(shí)要執(zhí)行的恢復(fù)處理。根據(jù)本發(fā)明的又一個(gè)方面,提供一種系統(tǒng)集成電路,其被嵌入播放數(shù)字流的播放 裝置,該數(shù)字流記錄于記錄介質(zhì)上且與記錄在所述記錄介質(zhì)中的標(biāo)題有關(guān),所述系統(tǒng)集成 電路包含虛擬機(jī)單元,用于執(zhí)行已經(jīng)從記錄介質(zhì)讀進(jìn)工作存儲(chǔ)器的應(yīng)用程序;播放控制 引擎單元,用于播放記錄于記錄介質(zhì)上且與記錄在所述記錄介質(zhì)中的標(biāo)題有關(guān)的數(shù)字流; 以及應(yīng)用程序管理器,用于將所述應(yīng)用程序從所述記錄介質(zhì)讀進(jìn)所述工作存儲(chǔ)器,并且當(dāng) 到達(dá)生存周期時(shí),使所述虛擬機(jī)單元執(zhí)行所述應(yīng)用程序,以及與所述虛擬機(jī)單元的執(zhí)行并 行地,使所述播放控制引擎單元根據(jù)記錄于所述記錄介質(zhì)中的管理信息播放與所述標(biāo)題有 關(guān)的所述數(shù)字流,該生存周期處于記錄在所述記錄介質(zhì)中的所述標(biāo)題的播放周期內(nèi),并且 在所述生存周期期間所述應(yīng)用程序被讀進(jìn)所述虛擬機(jī)的工作存儲(chǔ)器并可由所述虛擬機(jī)執(zhí) 行;其中所述管理信息還包含定義恢復(fù)處理的標(biāo)記,當(dāng)所述應(yīng)用程序異常終止時(shí)執(zhí)行所述 恢復(fù)處理,并且所述應(yīng)用程序管理器根據(jù)所述管理信息中包含的所述標(biāo)記執(zhí)行下列任意控 制(i)重新啟動(dòng)異常終止的所述應(yīng)用程序的控制;(ii)輸出預(yù)先指定的事件的控制;以及(iii)重新啟動(dòng)播放裝置的控制解決這些問題的方法通過一種記錄介質(zhì)可以實(shí)現(xiàn)上述目的,在該介質(zhì)中記錄有應(yīng)用程序、數(shù)字流、與所 述應(yīng)用程序和數(shù)字流有關(guān)的標(biāo)題、以及管理信息,其中所述應(yīng)用程序是用編程語言編寫的 用于虛擬機(jī)的程序,并且定義了一個(gè)生存周期,該生存周期在記錄在所述記錄介質(zhì)中的標(biāo) 題的播放周期內(nèi),并且在該生存周期內(nèi),所述應(yīng)用程序可以被讀入所述虛擬機(jī)的工作存儲(chǔ) 器并且可以被所述虛擬機(jī)執(zhí)行,并且所述管理信息指示了與所述標(biāo)題有關(guān)的所述數(shù)字流的 播放控制,在所述生存周期期間,與所述應(yīng)用程序的執(zhí)行同時(shí)執(zhí)行所述數(shù)字流的播放控制。本發(fā)明的作用根據(jù)本發(fā)明的記錄介質(zhì),由于定義了在所述應(yīng)用程序的生存周期期間與應(yīng)用程序 的執(zhí)行同時(shí)執(zhí)行的數(shù)字流的播放控制,如果發(fā)生應(yīng)用程序的啟動(dòng)故障或者如果該應(yīng)用程序 在執(zhí)行過程中異常終止,那么同時(shí)執(zhí)行的數(shù)字流的播放會(huì)繼續(xù)進(jìn)行,其提供了一種狀態(tài),在 該狀態(tài)中“屏幕上仍然顯示某些圖像”。通過這種安排,可以避免裝置發(fā)生中斷這種最壞情 況。這至少在一定程度上可以使裝置的制造商感到放心。這種放心感可以把對質(zhì)量問題放心不下的制造商推向通過Java(TM)應(yīng)用程序的 播放裝置控制的開發(fā)。通過這種強(qiáng)有力的推動(dòng)作用,播放裝置將會(huì)變得更便宜并且種類更 多,并且BD-ROM的內(nèi)容也將得到豐富,而這也會(huì)引領(lǐng)內(nèi)容相關(guān)行業(yè)的增長。附圖簡述

圖1顯示了本發(fā)明的播放裝置的一種使用形式;圖2顯示了用于BD-ROM的文件/目錄結(jié)構(gòu);圖3顯示了播放列表信息的構(gòu)建;圖4顯示了 AV剪輯時(shí)間軸和PL時(shí)間軸之間的關(guān)系;
圖5顯示了通過四個(gè)Clip_information_file_name實(shí)現(xiàn)的批說明;圖6顯示了 PLMark信息的內(nèi)部結(jié)構(gòu);圖7顯示了通過PLMarks定義章;圖8顯示了子路徑信息的內(nèi)部結(jié)構(gòu);圖9顯示了如何在子播放項(xiàng)時(shí)間軸上做出同步說明和播放周期的定義;圖10顯示了電影對象的內(nèi)部結(jié)構(gòu);圖11顯示了 BD-J對象的內(nèi)部結(jié)構(gòu);圖12A顯示了存儲(chǔ)于Java(TM)存檔文件中的程序和數(shù)據(jù);圖12B顯示了類文件的內(nèi)部結(jié)構(gòu);圖13顯示了盤內(nèi)容中的狀態(tài)改變;圖14顯示了 HDMV模式中包含動(dòng)態(tài)腳本的兩個(gè)標(biāo)題;圖15顯示了 BD-J模式(BD-J對象)中包含動(dòng)態(tài)腳本的標(biāo)題的內(nèi)部結(jié)構(gòu);圖16顯示了不包含播放列表管理表的一個(gè)標(biāo)題;圖17顯示了從HDMV模式中標(biāo)題到BD-J模式中標(biāo)題的一個(gè)轉(zhuǎn)移;圖18顯示了從BD-J模式中標(biāo)題到HDMV模式中標(biāo)題的一個(gè)轉(zhuǎn)移;圖19顯示了 index, bdmv的內(nèi)部結(jié)構(gòu);圖20A顯示了應(yīng)用程序管理表的內(nèi)部結(jié)構(gòu);圖20B顯示了應(yīng)用程序管理表中包含的信息元素的含義;圖21A顯示了整個(gè)盤的時(shí)間軸;圖21B顯示了時(shí)間軸是如何構(gòu)建的;圖22A和22B在整個(gè)BD-ROM的時(shí)間軸上顯示了由一個(gè)BD-J對象標(biāo)識(shí)的標(biāo)題播放 周期,而該BD-J對象是由標(biāo)識(shí)符“bob j_id”標(biāo)識(shí)的;圖23顯示了在圖22B中所示時(shí)間軸上定義的一種典型的生存周期;圖24顯示了包含三個(gè)標(biāo)題的盤內(nèi)容,所述三個(gè)標(biāo)題為主標(biāo)題、在線購物標(biāo)題以 及游戲標(biāo)題;圖25A和25B顯示了應(yīng)用程序管理表和生存周期的實(shí)例;圖26顯示了三種運(yùn)行屬性(預(yù)發(fā)送、自動(dòng)運(yùn)行和暫停)以及前一個(gè)標(biāo)題的三種可 能的狀態(tài)(未運(yùn)行、運(yùn)行中和暫停);圖27A顯示了播放列表管理表的內(nèi)部結(jié)構(gòu);圖27B顯示了播放列表管理表中包含的信息元素的含義;圖28顯示了轉(zhuǎn)移目的地標(biāo)題的三種可能的狀態(tài)((i)不具有播放列表管理表; ii)具有播放列表管理表和自動(dòng)播放以及(iii)具有播放列表管理表和預(yù)發(fā)送)與前一 個(gè)標(biāo)題中PL的兩種可能的狀態(tài)(未播放以及正在播放)的六種組合;圖29A顯示了播放列表管理表和應(yīng)用程序管理表的描述實(shí)例;圖29B顯示了如何基于圖29A中所示播放列表和應(yīng)用程序管理表,使播放列表被 播放和執(zhí)行應(yīng)用程序;圖30A顯示了播放列表管理表的描述的一個(gè)實(shí)例;圖30B顯示了是如何基于圖30A中所示腳本播放播放列表以及執(zhí)行應(yīng)用程序;圖31A至31C顯示了播放列表時(shí)間軸和標(biāo)題播放周期之間的關(guān)系;
圖32顯示了本發(fā)明的播放裝置的內(nèi)部結(jié)構(gòu);圖33以層結(jié)構(gòu)的方式顯示了 CPU24中的硬件和存儲(chǔ)于其中的軟件;圖34是由呈現(xiàn)引擎31對模塊管理器34所執(zhí)行的處理的說明;圖35顯示了應(yīng)用程序管理器36所執(zhí)行的處理;圖36顯示了用戶事件管理器37至缺省操作管理器40 ;圖37顯示了 Java(TM)虛擬機(jī)39的內(nèi)部結(jié)構(gòu);圖38顯示了應(yīng)用程序終止的四種模式;圖39是一個(gè)流程圖,該圖顯示了應(yīng)用程序管理器36的工作步驟;圖40顯示了播放列表管理表和應(yīng)用程序管理表的具體實(shí)例;圖41A顯示了實(shí)施例2中BD-J對象的內(nèi)部結(jié)構(gòu);圖41B顯示了錯(cuò)誤管理表的內(nèi)部結(jié)構(gòu);圖42顯示了錯(cuò)誤管理表中五個(gè)標(biāo)記的含義;圖43A顯示了其中寫有錯(cuò)誤管理表的兩個(gè)標(biāo)題(標(biāo)題#1,標(biāo)題#2);圖43B顯示了根據(jù)圖43A所示的應(yīng)用程序和錯(cuò)誤管理表進(jìn)行的應(yīng)用程序執(zhí)行和播 放列表播放的進(jìn)行過程;圖44是一個(gè)流程圖,該圖顯示了實(shí)施例2中應(yīng)用程序管理器36的工作步驟;圖45是一個(gè)流程圖,該圖顯示了實(shí)施例2中應(yīng)用程序管理器36的工作步驟;圖46是一個(gè)流程圖,該圖顯示了由應(yīng)用程序管理器36執(zhí)行的通知的工作步驟;圖47是一個(gè)流程圖,該圖顯示了實(shí)施例3中應(yīng)用程序管理器36的工作步驟;圖48A顯示了基于母級(jí)別的選擇算法的內(nèi)容;圖48B顯示了基于音頻語言的選擇算法的內(nèi)容;圖48C顯示了基于對于視頻的播放器配置的選擇算法的內(nèi)容;圖49是過程的說明,在該過程中,標(biāo)題無界應(yīng)用程序選擇PL ;圖50是一個(gè)流程圖,該圖顯示了由播放控制引擎32執(zhí)行的PL播放工作步驟;圖51是一個(gè)流程圖,該圖顯示了角改變步驟和向回跳讀/向下跳讀的工作步驟;圖52是一個(gè)流程圖,該圖顯示了當(dāng)判斷出調(diào)用了向回跳讀/向下跳讀API時(shí)執(zhí)行的處理步驟;圖53是一個(gè)流程圖,該圖詳細(xì)顯示了呈現(xiàn)引擎31的處理步驟;圖54是一個(gè)流程圖,該圖顯示了子播放項(xiàng)的處理步驟。符號(hào)描述1 BD-ROM 驅(qū)動(dòng)器2讀取緩沖器3解復(fù)用器4視頻解碼器5視頻平面6 P圖像解碼器7呈現(xiàn)圖像平面8合并單元9字體生成器
10I圖像解碼器11開關(guān)12互動(dòng)圖像平面13合并單元14CLUT 單元15CLUT 單元16音頻解碼器22用戶事件處理單元23PSR 集合24CPU25腳本存儲(chǔ)器26本地存儲(chǔ)器33HDMV 模塊34模塊管理器35BD-J 模塊36用程序管理器37UO 控制器38Java(TM)虛擬機(jī)41PLMT 處理器42許可控制器52用戶類加載器53方法區(qū)域54工作存儲(chǔ)器55a, 55b, ... 55η 線程56a, 56b, ...56n Java (TM)堆棧
具體實(shí)施例方式實(shí)施例1接下來的內(nèi)容描述了本發(fā)明的記錄介質(zhì)的實(shí)施例。首先,將會(huì)描述本發(fā)明的記錄介質(zhì)的使用形式。在圖1中,本發(fā)明的記錄介質(zhì)是BD-R0M100。BD-R0M100用于向一個(gè)家庭 影院系統(tǒng)提供內(nèi)容,其中該家庭影院系統(tǒng)包含播放裝置200、遙控器300和電視400。其中,遙控器300配有一些鍵,例如播放(Play)、停止(Stop)、暫停開始(Pause On)、暫停結(jié)束(Pause Off)、靜止結(jié)束(Still Off)向前播放(Forward Play,帶有速度的 說明)、向后播放(Backward Play,帶有速度的說明)、音頻變換(Audio Change)、字幕變換 (SubTitleChange)以及角度變換(Angle Change),并且這些鍵用于接收這些功能的指令, 還有一些鍵,例如向上移動(dòng)(Move Up)、向下移動(dòng)(MoveDown)向右移動(dòng)(Move Right)以及 向左移動(dòng)(Move Left),這些鍵用于接收在菜單操作期間使焦點(diǎn)發(fā)生移動(dòng)的指令,另外還有 彈出鍵(Pop Up),用于接收顯示菜單的指令,以及用于接收數(shù)字輸入的數(shù)字鍵。到現(xiàn)在為止,已經(jīng)對本發(fā)明的記錄介質(zhì)的使用形式進(jìn)行了描述。
接下來將描述本發(fā)明的記錄介質(zhì)的制造。可以通過BD-ROM上文件系統(tǒng)的改進(jìn) 實(shí)現(xiàn)本發(fā)明的記錄介質(zhì)。圖2顯示了用于BD-ROM的文件/目錄結(jié)構(gòu)。如圖中所示,對于 BD-R0M,在根目錄下提供BDMV目錄。BDMV 目錄具有擴(kuò)展名為 “bdmv” 的文件(“index. bdmv”、“MovieObject. bdmv,,、 “BD-JObject. bdmv”)。在BDMV目錄下,有四個(gè)子目錄播放列表(PLAYLIST)目錄、CLIPNF 目錄、流(STREAM)目錄以及BDJA目錄。該播放列表目錄具有擴(kuò)展名為“mpls”的文件 (“00001. mpls”、“00002. mpls”、“00003. mpls”)。CLIPNF 目錄具有擴(kuò)展名為“clpi”的文件(“ 00001. clpi”、“00002. clpi”、“00003. clpi”)。流目錄具有擴(kuò)展名為“m2ts” 的文件(“00001. m2ts”、“00002.m2ts”、“00003. m2ts”)。BDJA 目錄具有擴(kuò)展名為 “jar” 的文件(“00001. jar”、“00002. jar”、“00003. jar”)。通過上面的描述可以知道,該目錄結(jié)構(gòu)可以使得在BD-ROM上記錄不同類型的文件。在圖2 中,擴(kuò)展名為“m2ts” 的文件(“00001. m2ts”、“00002. m2ts”、“00003. m2ts”,…)包含可以分為例如主剪輯和子剪輯的AV剪輯。主剪輯是通過將多個(gè)基本流復(fù) 用到一起而獲得的,這些基本流是例如視頻流、音頻流、構(gòu)成字幕的呈現(xiàn)圖像流(PG流),以 及構(gòu)成菜單的互動(dòng)圖像流(IG流)。子剪輯是對應(yīng)于一種基本流的數(shù)字流,其中這些基本流是例如音頻流、圖像流以 及文本字幕流(TextStream)。擴(kuò)展名為 “clpi” 的文件(“00001. clpi、“00002. clpi”、 "00003. clpi",…)是與AV剪輯有一一對應(yīng)關(guān)系的管理信息。作為管理信息,剪輯信息具 有關(guān)于如下方面的信息AV剪輯中流的編碼格式、幀速率、比特率、分辨率等等,以及指示 GOP的起始位置的“EP_map”。擴(kuò)展名為“mpls”的文件(“00001. mpls”、“00002.mpls”、“00003.mpls”,…)是
包含播放列表信息的文件。播放列表信息是通過指出AV剪輯而定義播放列表的信息。圖3 顯示了播放列表信息的構(gòu)造。如圖3的左手側(cè)所示,播放列表信息包含主路徑信息、PL Mark 信息以及子路徑信息。主路徑信息(MainPathO)包含多條如虛線箭頭“mpl”所指示的播放項(xiàng)信息 (PlayItemO)。播放項(xiàng)(Play Item)是通過在一個(gè)或多個(gè)AV剪輯時(shí)間軸上指定“In_time” 和“0ut_time”從而定義的播放周期。將多個(gè)播放項(xiàng)信息合并在一起就定義了一個(gè)包含多個(gè) 播放周期的播放列表(PL)。圖3中的虛線箭頭“mp2”指示了播放項(xiàng)信息的內(nèi)部結(jié)構(gòu)的局部 放大圖。如圖3中所示,播放項(xiàng)信息包含指示相應(yīng)的AV剪輯的“Clip_inf0rmati0n_file_ name”、“In_time”以及“0ut_time”。圖4顯示了 AV剪輯和PL之間的關(guān)系。該圖的第一行 指示了 AV剪輯的時(shí)間軸,并且第二行指示了 PL的時(shí)間軸。PL信息包含三條播放項(xiàng)信息 “PlayItem#l”、“PlayItem#2”以及“Playltem#3”。PlayItem#UPlayItem#2 和 Playltem#3 的In_time和0ut_time定義了三個(gè)播放周期。通過安排這三個(gè)播放周期,就定義了一個(gè)不 同于AV剪輯時(shí)間軸的時(shí)間軸。這個(gè)時(shí)間軸就是第二行所示的PL時(shí)間軸。從中可以明顯地 看出,可以通過定義播放項(xiàng)信息從而定義一個(gè)不同于AV剪輯時(shí)間軸的時(shí)間軸?;镜?,只指定了一個(gè)AV剪輯。但是,可以由一個(gè)批說明來指定多個(gè)AV剪輯。通 過播放項(xiàng)信息中的多個(gè)Clip_ijf0rmati0n_file_name獲得該批說明。圖5顯示了通過四 個(gè)Clipjnformatiorufilejame獲得的批說明。在圖5中,第一行到第四行指示了四個(gè)AV 剪輯時(shí)間軸(AV剪輯#1、#2、#3和#4的時(shí)間軸),并且第五行指示了一個(gè)PL時(shí)間軸。由包含在播放項(xiàng)信息中的四個(gè)Clipjnformatiorufilejame指定這四個(gè)時(shí)間軸。通過這樣一種構(gòu)造,由包含在播放項(xiàng)中的In_time和Out_time定義了這四個(gè)播放周期,并且可以有選 擇性地播放這四個(gè)周期。這使得可以通過PL時(shí)間軸定義這樣一個(gè)周期(所謂的多角度周 期),其中可以提供多個(gè)可變換角度的圖像。PLMark信息(PLMarkO)是將PL時(shí)間軸上一段給定周期指定為一個(gè)章節(jié)的信息。 圖6顯示了 PLMark信息的內(nèi)部結(jié)構(gòu)。如圖中虛線“pml”所指示的,PLMark信息包含“ref_ to_PlayItem_Id” 和 “Mark_time_stamp”。圖 7 顯示了通過 PLMark 定義章節(jié)。在圖 7 中, 第一行指示一個(gè)AV剪輯時(shí)間軸,并且第二行指示一個(gè)PL時(shí)間軸。在圖7中,箭頭“pkl”和 “pk2”分別指示PLMark中一個(gè)播放項(xiàng)的說明(ref_t0_PlayItem_Id)和一個(gè)時(shí)間點(diǎn)的說明 (Mark_time_stamp) 0通過這些說明,在PL時(shí)間軸上定義了三個(gè)章節(jié)。到目前為止,已經(jīng)解 釋了 PLMark。接下來將解釋子路徑信息。子路徑信息(SubPath())是通過指定子剪輯時(shí)間軸上的In_Time和0ut_Time從 而定義一個(gè)或多個(gè)播放周期的信息。圖8顯示了內(nèi)部結(jié)構(gòu)。如圖8中的虛線“shl”所指示 的,子路徑信息包含多個(gè)子播放項(xiàng)信息(SubPlayItemO)。如虛線“sh2”所指示的,子播放 項(xiàng)信息包含 “Clip_information_file_name”、“ In_time”、“Out_time”、“Sync_PlayItem_ Id” 以及"Sync_start_Pts_of_PlayItem”。 由 Clip_information_file_name”、‘‘In_ time”禾口 0ut_time,,指定子剪輯時(shí)間軸上的 In_time 和 0ut_time?!癝ync_PlayItem_Id,,和 “Sync_Start_PtS_0f_PlayItem”用于同步說明以將子剪輯時(shí)間軸上的播放周期與PL時(shí)間 軸同步。通過該同步說明,子剪輯時(shí)間軸和PL時(shí)間軸同步進(jìn)行。圖9顯示了如何做出同步說明和在子播放項(xiàng)(Sub Play Item)時(shí)間軸上定義一 個(gè)播放周期。在圖9中,第一行指示了 PL時(shí)間軸,并且第二行指示了子播放項(xiàng)時(shí)間軸。在 圖9中,SubPlayItem. In_time和SubPlayItem. 0ut_time分別指示了播放周期的開始點(diǎn) 和結(jié)束點(diǎn)。由此可以理解,播放周期也是被定義在子剪輯時(shí)間軸上。對應(yīng)于箭頭Snl的 Sync_PlayItem_Id指示播放項(xiàng)的同步說明,并且對應(yīng)于箭頭sn2的Sync_start_Pts_of_ PlayItem指示PL時(shí)間軸上播放項(xiàng)中一個(gè)時(shí)間點(diǎn)的說明。BD-ROM上的播放列表信息的特征在于它可以定義一個(gè)多角度周期和一個(gè)同步周 期,其中在該多角度周期內(nèi)可以在多個(gè)AV剪輯之間切換,并且在該同步周期內(nèi)AV剪輯可以 與子剪輯之間同步。上述的剪輯信息和播放列表信息可以歸類為“靜態(tài)腳本”。這是因?yàn)榧?輯信息和播放列表信息定義了一個(gè)PL,而該P(yáng)L是一個(gè)靜態(tài)播放單元。上述是對靜態(tài)腳本的 描述。接下來描述“動(dòng)態(tài)腳本”。動(dòng)態(tài)腳本是一種動(dòng)態(tài)地定義AV剪輯的播放控制的腳本 數(shù)據(jù)。這里,“動(dòng)態(tài)地”意味著播放控制可以根據(jù)播放裝置的狀態(tài)變換或用戶通過鍵盤輸入 的事件進(jìn)行變換。BD-ROM假定了兩種模式作為播放控制的操作環(huán)境。第一種模式是一種類 似于DVD播放裝置的操作環(huán)境的操作環(huán)境,并且是一種基于命令的執(zhí)行環(huán)境。第二種模式 是一種Java(TM)虛擬機(jī)的操作環(huán)境。在這兩種操作環(huán)境中,第一種操作環(huán)境稱作HDMV模 式,第二種操作環(huán)境稱作BD-J模式。由于這兩種工作環(huán)境的存在,所以通過假定兩種操作 環(huán)境中的任意一種寫動(dòng)態(tài)腳本。假設(shè)HDMV模式的動(dòng)態(tài)腳本稱作電影對象,并且由管理信息 對其進(jìn)行定義。另一方面,假定BD-J模式的動(dòng)態(tài)腳本稱作BD-J對象。首先將解釋電影對象。
〈電影對象〉電影對象存儲(chǔ)在文件“Movie Object. bdmv”中。圖 10 顯示了 Movie Object, bdmv 的內(nèi)部結(jié)構(gòu)。如圖10的最左側(cè)部分所示,MovieObject. bdmv包含指示編碼序列“M0BJ”的 “type_indicator”、“version_number” 以及一個(gè)或多個(gè)電影對象“Movie ObjectsO ”。圖 10中的虛線vhl指示了電影對象的內(nèi)部結(jié)構(gòu)的局部放大圖?!癕ovieObjectsO ”包含指示 其自身數(shù)據(jù)長度的“l(fā)ength”、指示其中所含電影對象的數(shù)量的“nUmber_0f_m0bjs”,以及 其數(shù)量由number_0f_m0bjS指示的多個(gè)電影對象。由標(biāo)識(shí)符mobj_id標(biāo)識(shí)電影對象,而這 些電影對象的數(shù)量由number_0f_m0bjS指示。圖10中的虛線vh2指示了由標(biāo)識(shí)符mobj_id 標(biāo)識(shí)的一個(gè)給定Movie Object [mobj_id]的內(nèi)部結(jié)構(gòu)的局部放大圖。如虛線所指示的,電影對象包含“resume_intention_flag”,它指示在執(zhí)行一次菜單調(diào)用之后是否繼續(xù)播放;“menU_call_maSk”,它是指示是否應(yīng)該屏蔽菜單調(diào)用的信 息;“Title_search_flag”,它指示是否應(yīng)該屏蔽標(biāo)題搜索功能;“number_of_navigation_ command",它指示導(dǎo)航命令的數(shù)量;以及其數(shù)量由“number_of_navigation_co_and”指示 的多個(gè)導(dǎo)航命令。導(dǎo)航命令序列包含實(shí)現(xiàn)以下功能的命令條件轉(zhuǎn)移;設(shè)置播放裝置中的狀態(tài)寄存 器;獲得該狀態(tài)寄存器中設(shè)置的值等等。以下是可以寫入電影對象的命令。PlayPL 命令格式=PlayPL (第一變量,第二變量)作為第一變量的播放列表號(hào)可以用于指示一個(gè)將被播放的PL。包含在PL中的播 放項(xiàng)、PL中的給定時(shí)間、一個(gè)章節(jié)或者一個(gè)掩碼,作為第二變量可以用于指示播放起始位置。使用播放項(xiàng)在PL時(shí)間軸上指定播放起始位置的PlayPL函數(shù)被稱作 PlayPLatPlayItemO。使用一個(gè)章節(jié)在PL時(shí)間軸上指定播放起始位置的PlayPL函數(shù)被稱作 PlayPLatChapter()。使用時(shí)間信息在PL時(shí)間軸上指定播放起始位置的PlayPL函數(shù)被稱作 PlayPLatPlayItemO。JMP 命令格式JMP變量JMP命令用于這樣一個(gè)轉(zhuǎn)移該轉(zhuǎn)移丟棄當(dāng)前正在執(zhí)行的動(dòng)態(tài)腳本而執(zhí)行一個(gè)由 該變量指定的轉(zhuǎn)移目的動(dòng)態(tài)腳本。JMP命令有兩種類型直接地指定轉(zhuǎn)移目的動(dòng)態(tài)腳本的 直接指向類型;以及間接地指向轉(zhuǎn)移目的動(dòng)態(tài)腳本的間接指向類型。電影對象中導(dǎo)航命令的描述格式類似于DVD中的導(dǎo)航命令的描述格式。因此,可 以有效地實(shí)現(xiàn)將盤內(nèi)容從DVD上轉(zhuǎn)移到BD-ROM上。電影對象是一種在以下的國際出版物 中公開的現(xiàn)有技術(shù)。詳細(xì)內(nèi)容可以參考國際出版物。國際公開 WO 2004/074976ο到目前為止,已經(jīng)對電影對象進(jìn)行了描述。接下來將描述BD-J對象。<BD_J 對象〉BD-J對象是在Java(TM)編程環(huán)境中寫出的BD-J模式中的一種動(dòng)態(tài)腳本。
圖11顯示了 BD-J Object, bdmv的內(nèi)部結(jié)構(gòu)。如圖11的最左側(cè)所示,BD-J Object, bdmv 包含指示碼序列 “B0BJ,,的 “type_indicater”,“version_number,,以及一個(gè)或多個(gè) BD-J對象“BD-J Object (),,。圖11中的虛線“bhl”指示了 BD-J ObjectO的內(nèi)部結(jié)構(gòu)的局 部放大圖?!癇D-J ObjectO”包含指示其自身數(shù)據(jù)長度的” length”、指示其中所包含BD-J 對象的數(shù)量的“number_of_bobjs ”,以及數(shù)量由number_of_bobjs所指示的多個(gè)BD-J對象。 通過標(biāo)識(shí)符bobj_id標(biāo)識(shí)數(shù)量由number_0f_b0bjS所指示的多個(gè)BD-J對象。圖11中的虛線bh2指示了由標(biāo)識(shí)符bobj_id標(biāo)識(shí)的一個(gè)給定BD-J Object [bob_id]()的內(nèi)部結(jié)構(gòu)的局 部放大圖。如帶有虛線指示的圖中所示,BD-J對象包含“resume_intent ion_f lag [bob j_ id],,、"menu_call_mask[bobj_id],,、"Title_search_flag[bobj_id],,、"Application_ Management_Table [bob j_id],,\)JsR "P1 ay 1 ist_Management_Tab 1 e [bob j_id],,。BD-J MM 也包含“resume_intention_flag,,、“menu_call_mask,,lii,/S."Title_search_flag",在這點(diǎn) 上BD-J對象大致上與電影對象相同。BD-J對象與電影對象之間的區(qū)別在于,在BD-J對象中命令不被直接寫。也就是 說,在電影對象中,控制過程是直接寫入導(dǎo)航命令中。與此不同地是,BD-J對象通過允許 Java(TM)應(yīng)用程序的說明被寫入“Application_Management_Table[bobj_id] ” 從而間接 地定義了控制過程。通過這樣一種間接定義提供了對公用控制過程的有效共享,并且使得 多個(gè)動(dòng)態(tài)腳本可以共享一個(gè)公用控制過程。另外,在電影對象中,根據(jù)寫入在電影對象中的用于命令執(zhí)行PL播放的導(dǎo)航命令 (PlayPl命令)執(zhí)行PL播放。與此不同地是,在BD-J對象中,通過將指示PL播放過程的 “App 1 ication_Management_Tab 1 e [bob j_id] ”包含到BD-J對象中從而使得PL播放過程被 寫入。而且,還可以通過將PL過程包含到從應(yīng)用程序管理表指出的一個(gè)應(yīng)用程序中,從而 寫入PL播放過程。也就是說,既可以通過將播放列表播放過程寫入到播放列表管理表中, 也可以通過將其寫入到應(yīng)用程序中從而將該播放列表播放過程包含進(jìn)來。這里,將對Java(TM)應(yīng)用程序進(jìn)行描述。Java(TM)應(yīng)用程序包含一個(gè)或多個(gè)加 載到虛擬機(jī)的堆區(qū)域(也稱作工作存儲(chǔ)器)中的xlet程序。Java(TM)應(yīng)用程序包含多個(gè) xlet程序和數(shù)據(jù)。到目前為止,已經(jīng)對Java(TM)應(yīng)用程序的構(gòu)造進(jìn)行了描述。Java(TM)應(yīng)用程序的重要主體是存儲(chǔ)在如圖2中所示的BDMV目錄下的BDJA目 錄中的Java(TM)存檔文件(00001. jar、00002. jar)。接下來將參考圖12A和12B描述 Java(TM)存檔文件。〈Java (TM)存檔文件〉每個(gè)Java(TM)存檔文件(圖2中所示的00001. jar,00002. jar)都是通過將一個(gè) 或多個(gè)類文件和一個(gè)或多個(gè)數(shù)據(jù)文件合并在一起而形成的。圖12A顯示了存儲(chǔ)在存檔文件 中的程序和數(shù)據(jù)。通過將多個(gè)文件安排到橢圓框所指示的目錄結(jié)構(gòu)中,由Java(TM)存檔器 對圖12A中所示的數(shù)據(jù)進(jìn)行了配置。該橢圓框所指示的目錄結(jié)構(gòu)包含根、Java(TM)以及圖 像目錄。common, pkg安排在根目錄下,類文件(aaa. class,bbb. class)安排在Java (TM)目 錄下,并且menu, jpg安排在圖像目錄下。Java(TM)存檔器通過將上述這些文件合成為一個(gè) 而形成每個(gè)Java(TM)存檔文件。當(dāng)從BD-ROM中讀出這樣的類文件和數(shù)據(jù)時(shí),會(huì)對它們進(jìn) 行擴(kuò)充并且將它們視作安排在目錄中的文件。每個(gè)Java(TM)存檔文件名字中的五位數(shù)字“zzzzz”指示了應(yīng)用程序ID。當(dāng)將這樣一個(gè)Java(TM)存檔文件被讀取到高速緩存中時(shí),可 以通過參考附帶到文件名字上的數(shù)字來提取出任意一個(gè)Java(TM)應(yīng)用程序所包含的程序 和數(shù)據(jù)。這些類文件(圖12A中所示的aaa. class、bbb. class)是對應(yīng)于上述xlet程序的 類文件。對應(yīng)于類文件的實(shí)例的xlet程序定義了 BD-J模式中的播放過程。xlet程序是這樣一種Java(TM)程序它可以使用符合Java(TM)媒體框架(JMF) 的接口,并且可以根據(jù)例如JMF的格式,執(zhí)行響應(yīng)于鍵盤事件的處理。因?yàn)閤let程序可以執(zhí) 行JMF格式的處理,所以它可以通過生成對應(yīng)于一個(gè)MPLS文件的實(shí)例(JMF播放器實(shí)例), 從而命令播放裝置播放一個(gè)播放列表。另外,xlet程序可以通過寫入對功能API的調(diào)用從 而命令BD-ROM播放裝置執(zhí)行 對于BD-ROM播放裝置來說是唯一的處理。此外,xlet程序可以執(zhí)行用于訪問一個(gè)WWW網(wǎng)站并且從該網(wǎng)站上下載內(nèi)容的步 驟。這使得可以播放一些原創(chuàng)作品,其中這些作品是通過將所下載的內(nèi)容與播放列表播放 結(jié)合到一起從而生成的。接下來將描述xlet程序的類文件。圖12B顯示了類文件的內(nèi)部結(jié)構(gòu)。如圖12B 中所示,類文件包含“常數(shù)池”、“接口”以及“方法1、2、3…η”。類文件中的方法可以分為以 下幾種一種方法(事件聽者方法),通過該方法可以預(yù)先記錄觸發(fā)一種操作的鍵盤事件; 用于命令JMF播放步驟的方法(JMF播放器實(shí)例的方法);以及調(diào)用BD-ROM播放裝置的功 能API的方法。在這些方法中,使用分配給他們自己的局部變量或者用于調(diào)用他們自己的 參數(shù),寫入這些用于計(jì)算等的步驟。到目前為止,已經(jīng)對Java(TM)存檔文件進(jìn)行了描述。 應(yīng)該注意到,盡管在本實(shí)施例中,應(yīng)用程序所包含的程序和數(shù)據(jù)存儲(chǔ)于Java(TM)存檔文件 中,但是這些程序和數(shù)據(jù)也可以存儲(chǔ)于LZH文件或zip文件中。到目前為止,已經(jīng)對BD-J模式中的動(dòng)態(tài)腳本進(jìn)行了描述。
〈BD-R0M中的狀態(tài)改變>只讀盤中提供的盤內(nèi)容,例如DVD視頻,具有一種以頂級(jí)菜單為中心的結(jié)構(gòu)。這樣 一種盤內(nèi)容中的狀態(tài)改變是唯一的,這是因?yàn)椴シ艔捻敿?jí)菜單標(biāo)題轉(zhuǎn)移到每個(gè)標(biāo)題并且隨 后返回到頂級(jí)菜單標(biāo)題。圖13顯示了盤內(nèi)容的狀態(tài)改變。圖13中的方框代表了標(biāo)題。這 里,每個(gè)標(biāo)題是對應(yīng)于狀態(tài)改變中一個(gè)“狀態(tài)”的播放單元,并且該“狀態(tài)”對于盤內(nèi)容來說 是唯一的。標(biāo)題可以分為以下幾類加載BD-ROM后首先播放的“FirStPlayTitle”(首先播 放標(biāo)題)、組成頂級(jí)菜單的“TopjiienuTitle”(頂級(jí)菜單標(biāo)題)以及通用標(biāo)題“Title”。圖 13中的箭頭jhl、jh2、jh3、jh4、jh5、jh6、jh7以及jh8象征性地指示了標(biāo)題之間的轉(zhuǎn)移。 根據(jù)圖13中所示的狀態(tài)改變,在加載BD-ROM后馬山播放“FirstPlayTitle”,然后出現(xiàn)跳轉(zhuǎn) 至IJ “TopjiienuTitle”的轉(zhuǎn)移,并且然后等待頂級(jí)菜單上的選擇。在用于發(fā)行電影的記錄介 質(zhì)(例如BD-R0M)的行業(yè)中,經(jīng)常一加載這樣一種記錄介質(zhì)就播放動(dòng)態(tài)商標(biāo)。該動(dòng)態(tài)商標(biāo) 象征著電影的制片商或發(fā)行人?!癋irstPlayTitle”的作用就在于在加載BD-ROM之后立即 播放動(dòng)態(tài)商標(biāo)。然后,如果用戶選擇了菜單上的一個(gè)標(biāo)題,那么就播放所選擇的標(biāo)題。然后播放返 回到頂級(jí)菜單標(biāo)題。反復(fù)執(zhí)行這樣一種播放步驟,直到彈出該BD-R0M。這是只有該盤內(nèi)容 才有的狀態(tài)改變。具有這種狀態(tài)改變的標(biāo)題包含HDMV模式中的動(dòng)態(tài)腳本或BD-J模式中的動(dòng)態(tài)腳 本。圖14顯示了包含HDMV模式中的動(dòng)態(tài)腳本的兩個(gè)標(biāo)題。圖14的第一行指示了一個(gè)由標(biāo)識(shí)符“Title_id”標(biāo)識(shí)的標(biāo)題(Title_id)。第二行指示了一個(gè)電影對象(Movie Object)序列,其包含一個(gè)或多個(gè)構(gòu)成標(biāo)題的電影對象。第三行指示了電影對象所包含的導(dǎo)航命令 序列。圖13中所示的從一個(gè)標(biāo)題到另一個(gè)標(biāo)題的轉(zhuǎn)移是通過預(yù)先在一個(gè)電影對象中寫 入一個(gè)導(dǎo)航命令(JumpTitle命令)而實(shí)現(xiàn)的,該導(dǎo)航命令指示播放裝置跳轉(zhuǎn)到另一個(gè)標(biāo) 題。另外,圖14的第四行指示了屬于該標(biāo)題的播放列表。該播放列表與該標(biāo)題之間的這種 從屬關(guān)系是通過預(yù)先在一個(gè)電影對象中寫入一個(gè)導(dǎo)航命令(PlayPL命令)而實(shí)現(xiàn)的,該導(dǎo) 航命令指示播放該播放列表。通過使一個(gè)播放列表屬于一個(gè)標(biāo)題,對于HDMV模式中的標(biāo)題,可以定義一個(gè)伴隨 有一個(gè)視頻播放的電影。這就是由HDMV模式中動(dòng)態(tài)腳本所定義的標(biāo)題的結(jié)構(gòu)。接下來將描述包含BD-J模式中動(dòng)態(tài)腳本的標(biāo)題的內(nèi)部構(gòu)造。圖15顯示了包含 BD-J模式中動(dòng)態(tài)腳本(BD-J對象)的標(biāo)題的內(nèi)部構(gòu)造。第一行指示了一個(gè)由標(biāo)識(shí)符“Title_id”標(biāo)識(shí)的標(biāo)題。第二行指示了組成該標(biāo)題 的唯一 BD-J對象。第三行指示了 BD-J對象中提供的應(yīng)用程序管理表和播放列表管理表。 第四行指示了一個(gè)由第三行中應(yīng)用程序管理表操作的應(yīng)用程序。該應(yīng)用程序包含一種命令 播放裝置跳轉(zhuǎn)到另一個(gè)標(biāo)題的方法(一種調(diào)用JumpTitle API的方法),如第五行所指示的 那樣。因此,如圖13中所示的跳轉(zhuǎn)到另一個(gè)標(biāo)題的轉(zhuǎn)移是通過JumpTitleAPI調(diào)用方法而 實(shí)現(xiàn)的。另一方面,因?yàn)樵诘谌兄袑懭氩シ帕斜砉芾肀?,所以在?zhí)行該應(yīng)用程序的同時(shí)播 放一個(gè)播放列表,如第四行中所指示的那樣。該BD-J對象包含應(yīng)用程序管理表和播放列表管理表。這使得可以在執(zhí)行應(yīng)用程 序的同時(shí)執(zhí)行PL播放,如第四行中所指示的那樣。這種應(yīng)用程序和PL播放的同時(shí)執(zhí)行是 BD-J模式中標(biāo)題的一個(gè)特點(diǎn)。并不是所有的BD-J對象都包含播放列表管理表。播放列表管理表是一種任意的 成分。一些BD-J對象包含播放列表管理表,而其它BD-J對象不包含。圖16顯示了并不包 含播放列表管理表的標(biāo)題。在這樣一個(gè)僅包含應(yīng)用程序管理表但不包含播放列表管理表的 BD-J對象中,僅定義了應(yīng)用程序操作,如第四行中所指示的那樣。通過這樣一種應(yīng)用程序操 作的定義,就定義了一種標(biāo)題,其中這種標(biāo)題僅有控制步驟而并不伴隨有PL播放。圖14顯示了從HDMV模式中一個(gè)標(biāo)題轉(zhuǎn)移到HDMV模式中一個(gè)標(biāo)題。但是應(yīng)該注意 至IJ,如圖17中所示,也可以實(shí)現(xiàn)從HDMV模式中一個(gè)標(biāo)題轉(zhuǎn)移到BD-J模式中一個(gè)標(biāo)題。類 似地,盡管圖15顯示了從BD-J模式中一個(gè)標(biāo)題轉(zhuǎn)移到BD-J模式中一個(gè)標(biāo)題,也可以實(shí)現(xiàn) 從BD-J模式中一個(gè)標(biāo)題轉(zhuǎn)移到HDMV模式中一個(gè)標(biāo)題,如圖18中所示。在上述的標(biāo)題的內(nèi)部結(jié)構(gòu)中,由圖2中所示的index, bdmv定義標(biāo)題所包含的電影 對象或BD-J對象。接下來將描述index, bdmv。index, bdmv是指示標(biāo)題所包含的電影對象或BD-J對象的一個(gè)表。圖19顯示了 index, bdmv的內(nèi)部結(jié)構(gòu)。如圖19中所示,index, bdmv包含具有 值“INDX”的“type_indicat0r”、“verSi0n_number”、指示從文件起始位置到索引的相對 地址的 “Indexes_start_address” 以及 “Indexes () ”?!癐ndexes ()” 分別對應(yīng)于不同的 標(biāo)題。如圖 19 中虛線箭頭“ixl” 所示,“IndexesO” 包含“l(fā)ength”、“FirstPlayback() {FirstPlayback_mob j_id_ref},,、"TopMenuO {TopMenu_mob j_id_ref},,、“number_of_Titles” 以及 “Title
()... Title [number_of_Titles_l]() ”。"FirstPlaybackO {FirstPlayback_mob j_id_ref} " ^ FirstPlayTitle 的索弓丨,并且存儲(chǔ)該FirstPlayTitle所包含的電影對象的電影對象標(biāo)識(shí)符參照值 (FirstPlayback_mobj_id_ref) ο "TopMenu () {TopMenu_mobj_id_ref},,是 TopMenuTitle 的索引,并且存儲(chǔ)該TopMenuTitle所包含的電影對象的電影對象標(biāo)識(shí)符參照值(TopMenu_ mobj_id_ref)?!癟itle
()... Title [number_ of_Titles-l]() ” 是除 FirstPlayTitle 和 TopMenuTitle之外的標(biāo)題的索引,并且它們的數(shù)量為number_of_Titie。"Title
()... Title [number_of_Titles-l]() ” 由標(biāo)識(shí)符 Title_id 標(biāo)識(shí)。由標(biāo)識(shí)符Title_id標(biāo)識(shí)的索引表示為Title[Title_id]()。圖19中的虛線ix2 指示了 Title[Title_id]()的局部放大圖。如圖19 中所示,"Title [Title_id] O ” 包含:"Title_Playback_Type [Title_ id] ”,它指示了標(biāo)題播放類型,它是通過例如該“Title [Title_id]() ”是否包含一個(gè)轉(zhuǎn)移來 示出的;“Title_accesS_Flag[Title_id]”,它指示了是否允許執(zhí)行標(biāo)題的服務(wù)函數(shù);以及 唯一地指示了該標(biāo)題所包含的電影對象的“Title_mobj_id ref[Title_id]”。這里,如果標(biāo) 題所包含的動(dòng)態(tài)腳本是BD-J對象,那么由“Title_bob j_id_ref [Title_id] ”代替“Title_ mobj_id_ref[Title_id] ”。"Title_bobj_id_ref [Title_id] ” 唯一地指示了該標(biāo)題所包含 的BD-J對象。下面的國際公開對Index, bdmv進(jìn)行了詳細(xì)公開。詳細(xì)內(nèi)容請參考國際公開。國際公開 WO 2004/025651 Al?!磻?yīng)用程序管理表〉包含在BD-J對象表中的應(yīng)用程序管理表和播放列表管理表是本實(shí)施例的主要元 素。接下來將對這些表進(jìn)行詳細(xì)描述。首先,將要描述應(yīng)用程序管理表(AMT)。圖20A顯示了應(yīng)用程序管理表的內(nèi)部結(jié)構(gòu)。如圖20A中所示,應(yīng)用程序管理表包 含“l(fā)ife_cycle”、"apli_id_ref”、“run_attribute,,以及"run_priority”。圖20B顯示了應(yīng)用程序管理表所包含的信息元素的含義?!發(fā)ife_CyCle”指示了應(yīng)用程序的“生存周期”?!癮pli_id_ref”通過與“應(yīng)用程序標(biāo)識(shí)符”一致寫入到其中的參照值指示了具有上 述生存周期的應(yīng)用程序。該應(yīng)用程序標(biāo)識(shí)符由Java(TM)存檔文件中提供的作為文件名的 五位數(shù)字值“zzzzz”表示,。該五位數(shù)字值被寫入“apli_id_ref ”中?!皉ur^attribute”指示了應(yīng)用程序在生存周期內(nèi)的運(yùn)行屬性。這些運(yùn)行屬性可以 分為以下幾類自動(dòng)運(yùn)行、預(yù)發(fā)送以及暫停。"run_priority"指示應(yīng)用程序在生存周期內(nèi)的“運(yùn)行優(yōu)先級(jí)”。BD-J對象使用這 些信息控制應(yīng)用程序的運(yùn)行。<生存周期>接下來將描述應(yīng)用程序管理中所定義的生存周期。生存周期意味著這樣一個(gè)周期在該周期內(nèi),應(yīng)用程序存活于虛擬機(jī)的工作存儲(chǔ) 器上,并且用BD-ROM的全部內(nèi)容的時(shí)間軸代表該周期。這里,名詞“存活”指這樣一種狀 態(tài)其中已經(jīng)將應(yīng)用層程序所包含的xlet程序加載到工作存儲(chǔ)器中,從而可以由虛擬機(jī)執(zhí)行該應(yīng)用程序。當(dāng)在Java(TM)虛擬機(jī)上運(yùn)行應(yīng)用程序時(shí),有一點(diǎn)很重要,那就是在時(shí)間軸上清楚地定義由應(yīng)用程序提供的服務(wù)的起點(diǎn)和終點(diǎn)。應(yīng)用程序管理表的“l(fā)ife_CyCle”中定義了 服務(wù)的這些起點(diǎn)和終點(diǎn)。下面的內(nèi)容顯示了是如何對如圖13所示改變狀態(tài)的盤內(nèi)容定義標(biāo)題的生存周 期。假設(shè)在加載BD-ROM之后,以圖13中箭頭jhl、jh2、jh3、jh4…所指示的數(shù)字的上升的 順序進(jìn)行轉(zhuǎn)移,并且彈出了 BD-R0M??梢詫⒁约虞d為開始到以BD-ROM彈出為結(jié)束的連續(xù) 時(shí)間段視作一個(gè)時(shí)間軸。將該時(shí)間軸定義為整個(gè)盤的時(shí)間軸。圖21A顯示了整個(gè)盤的時(shí)間 軸。圖21B顯示了該時(shí)間軸是如何構(gòu)建的。如圖21B中所示,整個(gè)盤的時(shí)間軸包含播放 FirstPlayTitle的周期;播放TopMenuTitle的周期;播放Title#l的周期……一個(gè)標(biāo)題包 含一個(gè)或多個(gè)電影對象或一個(gè)BD-J對象。因此,可以將每個(gè)標(biāo)題的播放周期定義為這樣一 個(gè)周期,期間激活了電影對象或BD-J對象中的任意一個(gè)對象的周期。也就是說,F(xiàn)irstPlayTitle, TopMenuTitle以及其它標(biāo)題中的每一個(gè)都包含動(dòng)態(tài) 腳本。因此,可以將每個(gè)標(biāo)題的播放周期定義為這樣一個(gè)周期,期間可以將標(biāo)題所包含的 電影對象或BD-J對象中的任意一個(gè)對象激活為當(dāng)前電影對象或當(dāng)前BD-J對象,并且可以 在播放裝置中對該對象進(jìn)行解碼并執(zhí)行。圖22A在整個(gè)BD-ROM的時(shí)間軸上顯示了由BD-J 對象標(biāo)識(shí)的標(biāo)題播放周期,該BD-J對象由標(biāo)識(shí)符“bob j_id”標(biāo)識(shí)。這里,如果一個(gè)標(biāo)題包 含由標(biāo)識(shí)符“bob j_id”標(biāo)識(shí)的BD-J對象,那么可以將BD-ROM時(shí)間軸上的激活了由標(biāo)識(shí)符 “bobj_id”標(biāo)識(shí)的BD-J對象的周期視作標(biāo)題的播放周期。類似地,如果一個(gè)標(biāo)題包含由標(biāo)識(shí)符“mobj_id”標(biāo)識(shí)的電影對象,那么可以將 BD-ROM時(shí)間軸上的激活了由標(biāo)識(shí)符“mob j_id”標(biāo)識(shí)的電影對象的周期視作標(biāo)題的播放周期。激活了電影對象或BD-J對象的周期一直持續(xù)到執(zhí)行標(biāo)題轉(zhuǎn)移(JumpTitle)。也 就是說,一直將動(dòng)態(tài)腳本視作當(dāng)前電影對象或當(dāng)前BD-J對象,直到執(zhí)行了一個(gè)標(biāo)題轉(zhuǎn)移 (JumpTitle),其中該動(dòng)態(tài)腳本是執(zhí)行的目標(biāo)。因此,將一直持續(xù)到電影對象或BD-J對象中 發(fā)生JumpTitle的周期視作標(biāo)題播放周期。接下來將描述標(biāo)題播放周期和PL時(shí)間軸之間的關(guān)系。如前面所述,在電影對象或 BD-J對象中,可以將PL播放步驟寫為處理步驟。如果已經(jīng)寫入了 PL播放步驟,那么上述 PL時(shí)間軸的全部或部分屬于標(biāo)題播放周期。假設(shè)在圖22A所示的例子中的BD-J對象中寫 入了一個(gè)播放列表管理表。那么,如圖22B中所示,PL時(shí)間軸屬于對應(yīng)于BD-J對象的標(biāo)題 播放周期。因?yàn)榭梢赃M(jìn)一步在PL時(shí)間軸上定義多個(gè)章(章#1、#2、#3),所以BD-ROM時(shí)間 軸上存在有域(全部BD-ROM-Title-PL-Chapter)??梢允褂眠@些域從而寫入應(yīng)用程序的生 存周期。這里應(yīng)該注意到,因?yàn)椴シ帕斜聿シ排c應(yīng)用程序的執(zhí)行同時(shí)開始,所以標(biāo)題轉(zhuǎn)移可 能發(fā)生在播放列表的播放過程中。在這種情況下,僅部分播放列表時(shí)間軸而不是整個(gè)播放 列表時(shí)間軸屬于一個(gè)標(biāo)題播放周期。也就是說,究竟是僅部分播放列表時(shí)間軸還是整個(gè)播 放列表時(shí)間軸屬于一個(gè)標(biāo)題播放周期取決于標(biāo)題轉(zhuǎn)移發(fā)生的時(shí)間。圖23顯示了在圖22B中所示時(shí)間軸上定義的一種典型的生存周期。如圖23中 所示,有三種典型應(yīng)用程序標(biāo)題邊界應(yīng)用程序,它的生存周期是一個(gè)標(biāo)題;章節(jié)邊界應(yīng) 用程序,它的生存周期是標(biāo)題內(nèi)的一個(gè)章節(jié);以及無邊界應(yīng)用程序,它的生存周期是整個(gè)BD-ROM的時(shí)間軸。在這三種應(yīng)用程序中,可以使用標(biāo)題的標(biāo)識(shí)符定義標(biāo)題邊界應(yīng)用程序的生存周 期。另外,可以使用下述兩種標(biāo)識(shí)符的組合定義章節(jié)邊界應(yīng)用程序的生存周期該章節(jié)所屬 于的標(biāo)題的標(biāo)識(shí)符和該章節(jié)的標(biāo)識(shí)符。即使平臺(tái)正在運(yùn)行,還是可以在被定義為標(biāo)題或章節(jié)的生存周期結(jié)束之后從應(yīng)用 程序重新獲得資源。這樣一種構(gòu)建確保了可以重新獲得資源,并且由此穩(wěn)定了平臺(tái)的運(yùn)行。接下來將通過一個(gè)具體的例子描述如何將生存周期寫入到應(yīng)用程序管理表中,其 中該例子包含將在以后實(shí)現(xiàn)的用作材料的盤內(nèi)容作為材料。用作材料的盤內(nèi)容包含三種不 同類型的標(biāo)題主圖像作品所包含的主標(biāo)題(標(biāo)題#1);在線購物所包含的在線購物標(biāo)題 (標(biāo)題#2);以及游戲應(yīng)用程序所包含的游戲標(biāo)題(標(biāo)題#3)。圖24顯示了包含三種標(biāo)題 的盤內(nèi)容主標(biāo)題、在線購物標(biāo)題以及游戲標(biāo)題。圖24的左手側(cè)顯示了 Index, bdmv,并且 圖24的右手側(cè)顯示了這三個(gè)標(biāo)題。圖24的右手側(cè)的虛線框顯示了指示每個(gè)應(yīng)用程序所述標(biāo)題的從屬關(guān)系。在這三 個(gè)標(biāo)題中,標(biāo)題#1包含應(yīng)用程序#1、應(yīng)用程序#2以及應(yīng)用程序#3。另外,標(biāo)題#2包含應(yīng) 用程序#3和應(yīng)用程序#4,并且標(biāo)題#3包含應(yīng)用程序#5。在圖24所示的例子中,由標(biāo)題#1 和標(biāo)題#2都運(yùn)行應(yīng)用程序#3。圖25A顯示了每個(gè)應(yīng)用程序的生存周期,而這些生存周期都是基于圖24的虛線框 所示的從屬關(guān)系而得到的。在圖25A中,水平軸指示標(biāo)題播放周期,而垂直軸方向安排應(yīng)用 程序的生存周期。這里,應(yīng)用程序#1和應(yīng)用程序#2僅屬于標(biāo)題#1,并且因此這些應(yīng)用程 序的生存周期限制在標(biāo)題#1內(nèi)。應(yīng)用程序#4僅屬于標(biāo)題#2,并且因此該應(yīng)用程序的生存 周期限制在標(biāo)題#2內(nèi)。應(yīng)用程序#5僅屬于標(biāo)題#3,并且因此該應(yīng)用程序的生存周期限制 在標(biāo)題#3內(nèi)。應(yīng)用程序#3屬于標(biāo)題#1和標(biāo)題#2,因此該應(yīng)用程序的生存周期延伸在標(biāo) 題#1和標(biāo)題#2上。圖25B顯示了標(biāo)題#1、標(biāo)題#2和標(biāo)題3的應(yīng)用程序管理表,其中這些 表是根據(jù)圖25A中所示生存周期而寫入的。按照這種方式寫入應(yīng)用程序管理表之后,當(dāng)啟 動(dòng)標(biāo)題#1的播放時(shí)將應(yīng)用程序#1、應(yīng)用程序#2以及應(yīng)用程序#3加載到工作存儲(chǔ)器中。然 后,當(dāng)啟動(dòng)標(biāo)題#2的播放時(shí),將應(yīng)用程序#1和應(yīng)用程序#2從工作寄存器中刪除,這會(huì)導(dǎo)致 僅有應(yīng)用程序#3保留在工作寄存器中。類似地,可以進(jìn)行控制從而當(dāng)啟動(dòng)標(biāo)題#2的播放 時(shí)將應(yīng)用程序#4加載到工作寄存器中,并且當(dāng)啟動(dòng)標(biāo)題#3的播放時(shí),將應(yīng)用程序#3和應(yīng) 用程序#4從工作寄存器中刪除。進(jìn)一步,可以進(jìn)行控制從而當(dāng)播放標(biāo)題#3時(shí)將應(yīng)用程序#5加載到工作寄存器中, 并且當(dāng)標(biāo)題#3的播放終止時(shí),將應(yīng)用程序#5從工作寄存器中刪除。通過這種構(gòu)造,可以使得將應(yīng)用程序加載到工作存儲(chǔ)器中的次數(shù)最小化。這是因 為如果在標(biāo)題之間發(fā)生一個(gè)轉(zhuǎn)移,那么同時(shí)位于轉(zhuǎn)移源和轉(zhuǎn)移目的地中的應(yīng)用程序會(huì)存儲(chǔ) 于工作存儲(chǔ)器中,而且不位于轉(zhuǎn)移源而僅位于轉(zhuǎn)移目的地中的應(yīng)用程序也會(huì)加載到工作存 儲(chǔ)器中。這樣一種降低加載數(shù)據(jù)次數(shù)的構(gòu)造使得可以實(shí)現(xiàn)無邊界應(yīng)用程序,這種應(yīng)用程序 使得人們并不會(huì)意識(shí)到標(biāo)題之間的邊界。接下來將描述應(yīng)用程序的運(yùn)行屬性。這些運(yùn)行屬性包含自動(dòng)運(yùn)行,它指示具有這 種屬性的應(yīng)用程序會(huì)自動(dòng)地開始運(yùn)行;預(yù)發(fā)送,它指示具有這種屬性的應(yīng)用程序不是自動(dòng) 運(yùn)行的目標(biāo)但是可以存儲(chǔ)于虛擬機(jī)的工作存儲(chǔ)器中;以及暫停,它指示具有這種屬性的應(yīng)用程序存儲(chǔ)于虛擬機(jī)的工作存儲(chǔ)器中但是并未分配給該應(yīng)用程序CPU功率。當(dāng)一個(gè)對應(yīng)的標(biāo)題發(fā)生轉(zhuǎn)移時(shí),具有“自動(dòng)運(yùn)行”屬性的應(yīng)用程序被加載到工作存儲(chǔ)器中并且被執(zhí)行。當(dāng)一個(gè)標(biāo)題轉(zhuǎn)移到另一個(gè)標(biāo)題時(shí),管理應(yīng)用程序的管理體(應(yīng)用程序 管理器)將一個(gè)應(yīng)用程序加載到虛擬機(jī)的工作存儲(chǔ)器中并且執(zhí)行該應(yīng)用程序,其中該應(yīng)用 程序存活于轉(zhuǎn)移目的地標(biāo)題中并且已經(jīng)將它的運(yùn)行屬性設(shè)置為自動(dòng)運(yùn)行。這意味著當(dāng)標(biāo)題 發(fā)生轉(zhuǎn)移時(shí)該應(yīng)用程序自動(dòng)地啟動(dòng)運(yùn)行。運(yùn)行屬性“預(yù)發(fā)送”是一種連續(xù)屬性,并且指示轉(zhuǎn)移源標(biāo)題中應(yīng)用程序的狀態(tài)被保 持。這還是一種指示了可以執(zhí)行一個(gè)對應(yīng)的應(yīng)用程序的屬性??梢詮牧硪粋€(gè)應(yīng)用程序調(diào)用 運(yùn)行屬性被設(shè)置為“預(yù)發(fā)送”的應(yīng)用程序。當(dāng)從另一個(gè)正在運(yùn)行的應(yīng)用程序中調(diào)用一個(gè)程 序時(shí),管理體(應(yīng)用程序管理器)判斷該應(yīng)用程序的應(yīng)用程序ID是否已經(jīng)寫入到應(yīng)用程序 管理表并且是否該應(yīng)用程序的運(yùn)行屬性被設(shè)置為“預(yù)發(fā)送”。如果該應(yīng)用程序的運(yùn)行屬性被 設(shè)置為”預(yù)發(fā)送”,那么管理體將該應(yīng)用程序加載到工作存儲(chǔ)器中。如果調(diào)用目的地應(yīng)用程 序的應(yīng)用程序ID未寫入到應(yīng)用程序管理表中,那么管理體并不將該應(yīng)用程序加載到工作 存儲(chǔ)器中。只有那些屬性設(shè)置為“預(yù)發(fā)送”的應(yīng)用程序才可以被從另一個(gè)程序中調(diào)用?!邦A(yù) 發(fā)送”是一種缺省的運(yùn)行屬性,當(dāng)沒有明確指明運(yùn)行屬性時(shí)就指派給應(yīng)用程序這種屬性。因 此,當(dāng)應(yīng)用程序的運(yùn)行屬性為指示沒有說明的“一”時(shí),這就意味著應(yīng)用程序的運(yùn)行屬性為 “預(yù)發(fā)送”?!皶和!敝甘玖私o具有這種屬性的應(yīng)用程序分配了資源但是未給它分配CPU功率。 屬性“暫停”是有效的,例如在以下方面當(dāng)執(zhí)行一個(gè)游戲標(biāo)題時(shí),實(shí)現(xiàn)通過一條便道的處理。圖26顯示了這三種運(yùn)行屬性(預(yù)發(fā)送、自動(dòng)運(yùn)行和暫停)和前一個(gè)標(biāo)題的三種可 能的狀態(tài)(未運(yùn)行、運(yùn)行中以及暫停)之間的組合。如果前一個(gè)狀態(tài)是“未運(yùn)行”并且運(yùn)行 屬性是“自動(dòng)運(yùn)行”,那么應(yīng)用程序在轉(zhuǎn)移目的地標(biāo)題中啟動(dòng)。 如果前一個(gè)狀態(tài)是“未運(yùn)行,,并且運(yùn)行屬性是“預(yù)發(fā)送,,或“暫?!保敲床贿M(jìn)行操 作并且保持該狀態(tài)。如果前一個(gè)狀態(tài)是“運(yùn)行中”并且運(yùn)行屬性是“預(yù)發(fā)送”或“自動(dòng)運(yùn)行”,那么不進(jìn) 行操作并且保持該狀態(tài)。如果將運(yùn)行屬性設(shè)置為“暫停”,那么該應(yīng)用程序的狀態(tài)是暫停。如果前一個(gè)狀態(tài) 是“暫?!辈⑶肄D(zhuǎn)移目的地標(biāo)題的運(yùn)行屬性是“暫?!?,那么就保持“暫?!薄H绻耙粋€(gè)狀態(tài) 是“暫?!辈⑶肄D(zhuǎn)移目的地標(biāo)題的運(yùn)行屬性是“預(yù)發(fā)送”或“自動(dòng)運(yùn)行”,那么在轉(zhuǎn)移目的地 標(biāo)題中再繼續(xù)該應(yīng)用程序。在應(yīng)用程序管理表中定義生存周期和運(yùn)行屬性使得可以執(zhí)行同 步控制以在標(biāo)題播放周期期間運(yùn)行Java(TM)應(yīng)用程序。這使得可以實(shí)現(xiàn)和提供各種用于 播放圖像和執(zhí)行程序的應(yīng)用程序。應(yīng)該注意到,如果前一個(gè)狀態(tài)是“暫停”并且轉(zhuǎn)移目的地標(biāo)題的運(yùn)行屬性是“預(yù)發(fā) 送”,那么前一個(gè)狀態(tài)“暫?!笨梢员槐3?。最后,將描述每個(gè)應(yīng)用程序的“運(yùn)行優(yōu)先級(jí)”。運(yùn)行優(yōu)先級(jí)的值為0到255。當(dāng)存儲(chǔ)器資源變得短缺或當(dāng)CPU負(fù)載較高時(shí),應(yīng)用程 序管理器可以使用運(yùn)行優(yōu)先級(jí)來決定強(qiáng)制終止哪個(gè)應(yīng)用程序,或者決定哪個(gè)應(yīng)用程序重新 獲得資源。應(yīng)用程序管理器終止具有低級(jí)別運(yùn)行優(yōu)先級(jí)的應(yīng)用程序,而保持具有高級(jí)別運(yùn)行優(yōu)先級(jí)的應(yīng)用程序的運(yùn)行。還可以將運(yùn)行優(yōu)先級(jí)用于對由于請求正在播放的一個(gè)PL從而彼此發(fā)生沖突的應(yīng)用程序進(jìn)行仲裁。這里假設(shè)一個(gè)應(yīng)用程序正在對一個(gè)播放列表進(jìn)行快進(jìn)操作,而另一個(gè)應(yīng) 用程序向該播放列表發(fā)出了暫停請求。那么,對分配給這兩個(gè)應(yīng)用程序的運(yùn)行優(yōu)先級(jí)的級(jí) 別進(jìn)行比較。如果快進(jìn)應(yīng)用程序具有較高運(yùn)行優(yōu)先級(jí)級(jí)別,那么就繼續(xù)進(jìn)行該快進(jìn)操作。如 果暫停請求應(yīng)用程序具有較高運(yùn)行優(yōu)先級(jí)級(jí)別,那么正在快進(jìn)的PL就會(huì)被暫停。使用上述的生存周期、運(yùn)行屬性以及運(yùn)行優(yōu)先級(jí),可以在編寫程序時(shí)將可以在虛 擬機(jī)上運(yùn)行的應(yīng)用程序的數(shù)量限制為預(yù)定的數(shù)量或更少。這使得應(yīng)用程序可以穩(wěn)定地工 作。<播放列表管理表>到目前為止,已經(jīng)描述了應(yīng)用程序管理表。接下來將描述播放列表管理表。播放 列表管理表顯示了應(yīng)該在應(yīng)用程序的生存周期期間與每個(gè)應(yīng)用程序的執(zhí)行同時(shí)進(jìn)行的播 放控制。應(yīng)用程序的運(yùn)行是不穩(wěn)定的??赡軙?huì)發(fā)生啟動(dòng)故障或異常終止。在本實(shí)施例中, 為每個(gè)應(yīng)用程序生存周期都提供了一個(gè)播放列表管理表并將其作為發(fā)生啟動(dòng)故障或異常 終止時(shí)發(fā)揮作用的失效保護(hù)機(jī)制。播放列表管理表是一種信息,它定義了當(dāng)一個(gè)應(yīng)用程序 生存周期開始時(shí)應(yīng)該執(zhí)行的播放控制。這里所描述的播放控制是一種基于播放列表信息的 AV剪輯的播放。也就是說,通過執(zhí)行基于播放列表信息的播放控制,可以同時(shí)進(jìn)行應(yīng)用程序 的執(zhí)行和播放列表的播放。在前面我們曾經(jīng)說過,為每個(gè)應(yīng)用程序的生存周期都提供了一 個(gè)播放列表管理表。但是,這里應(yīng)該注意到,播放列表管理表僅與標(biāo)題邊界應(yīng)用程序一致地 被提供。這是因?yàn)闃?biāo)題無邊界應(yīng)用程序的生存周期延伸到所有標(biāo)題,所以在標(biāo)題無邊界應(yīng) 用程序中無法控制同時(shí)進(jìn)行應(yīng)用程序的執(zhí)行和播放列表的播放。對于章節(jié)邊界應(yīng)用程序來說,并不需要定義播放列表的播放。這是因?yàn)槎x章節(jié) 邊界應(yīng)用程序的生存周期是以該應(yīng)用程序的執(zhí)行是從播放列表內(nèi)一個(gè)章節(jié)開始為前提的。 通過上述內(nèi)容我們可以理解,與包含一個(gè)或多個(gè)標(biāo)題的生存周期一致地定義播放列表管理表。圖27A顯示了播放列表管理表的內(nèi)部結(jié)構(gòu)。如圖27A中所示,播放列表管理表包 含 “PL_id_ref ” 和 “Playback_Attribute,,。圖27B顯示了播放列表管理表所包含的信息元素的含義?!癙L_id_ref”通過與PL標(biāo)識(shí)符一致地寫入到其中的參照值指示了在應(yīng)用程序生 存周期期間可以被播放的PL。該P(yáng)L標(biāo)識(shí)符由一個(gè)在文件YYYYY. MPLS中提供的作為文件名 的五位數(shù)字值“YYYYY”所表示。其中寫入了 YYYYY的“PL_id_ref”指示了可以在一個(gè)對應(yīng) 的標(biāo)題中播放的PL。"Playback_Attribute"是類似于應(yīng)用程序管理表中運(yùn)行屬性的一種屬性,并且它 定義了當(dāng)標(biāo)題啟動(dòng)時(shí)如何播放“PL_id_ref”中寫入的PL。PL的播放屬性可以分為以下幾 類“自動(dòng)播放”、“預(yù)發(fā)送”等等?!白詣?dòng)播放”是這樣一種屬性它指示當(dāng)對應(yīng)的標(biāo)題發(fā)生轉(zhuǎn)移時(shí),播放具有“自動(dòng)播 放”屬性的播放列表。當(dāng)一個(gè)標(biāo)題轉(zhuǎn)移到另一個(gè)標(biāo)題時(shí),管理應(yīng)用程序的管理體(應(yīng)用程序 管理器)開始播放這樣一種播放列表可以在轉(zhuǎn)移目的地標(biāo)題中播放該播放列表并且該播 放列表的播放屬性已經(jīng)設(shè)置為自動(dòng)播放。這意味著當(dāng)標(biāo)題發(fā)生轉(zhuǎn)移時(shí)其播放屬性被設(shè)置為自動(dòng)播放的播放列表會(huì)自動(dòng)地被激活。與運(yùn)行屬性“預(yù)發(fā)送”的情況一樣,“預(yù)發(fā)送”也是一種連續(xù)屬性,并且指示轉(zhuǎn)移源標(biāo)題中PL的狀態(tài)被保持?!邦A(yù)發(fā)送”還是一種指示可以播放一個(gè)對應(yīng)的播放列表的屬性。 例如,假設(shè)將要連續(xù)播放兩個(gè)標(biāo)題,并且轉(zhuǎn)移源標(biāo)題的播放列表管理表中一個(gè)播放列表的 播放屬性設(shè)置為自動(dòng)播放,并且在轉(zhuǎn)移目的地標(biāo)題的播放列表管理表中,該播放列表的播 放屬性被設(shè)置為預(yù)發(fā)送。這里,假設(shè)可以播放該播放列表兩個(gè)小時(shí),并且該播放列表播放一 小時(shí)之后發(fā)生轉(zhuǎn)移。在這種情況下,其中播放列表的播放屬性在轉(zhuǎn)移目的地標(biāo)題中被設(shè)置 為預(yù)發(fā)送,轉(zhuǎn)移目的地標(biāo)題對該播放列表的播放是從緊接著已經(jīng)播放一小時(shí)部分之后的位 置開始的。由此我們可以理解,即使在標(biāo)題之間發(fā)生轉(zhuǎn)移,通過將轉(zhuǎn)移目的地標(biāo)題中一個(gè)播 放列表的播放屬性設(shè)置為預(yù)發(fā)送,就可以在轉(zhuǎn)移目的地標(biāo)題中繼續(xù)播放該播放列表。這使 得多個(gè)轉(zhuǎn)移標(biāo)題可以連續(xù)地播放一個(gè)公用的播放列表,從而使得可以容易地實(shí)現(xiàn)“在多個(gè) 標(biāo)題中播放的公用播放列表”。當(dāng)存在多個(gè)轉(zhuǎn)移目的地標(biāo)題時(shí),通過將這些轉(zhuǎn)移目的地標(biāo)題 中播放列表的播放屬性設(shè)置為預(yù)發(fā)送,就可以在這些轉(zhuǎn)移目的地標(biāo)題中繼續(xù)播放一個(gè)公用 的播放列表。這里應(yīng)該注意到,因?yàn)椴恍枰_保在標(biāo)題的邊界處實(shí)現(xiàn)無縫播放,所以對于上述 在多個(gè)標(biāo)題中播放一個(gè)公用播放列表這種情況,允許在轉(zhuǎn)移附近打斷播放列表的播放。另外,當(dāng)另一個(gè)應(yīng)用程序發(fā)出請求時(shí),其播放屬性設(shè)置為“預(yù)發(fā)送”的一個(gè)播放列 表可以被馬上播放。當(dāng)播放請求是從另一個(gè)正在運(yùn)行的應(yīng)用程序發(fā)出時(shí),管理體(應(yīng)用程 序管理器)判斷目標(biāo)播放列表的PL_id_ref是否已經(jīng)寫入到播放列表管理表并且是否該播 放列表的播放屬性被設(shè)置為“自動(dòng)播放”或“預(yù)發(fā)送”。如果被設(shè)置為“自動(dòng)播放”或“預(yù)發(fā) 送”,那么管理體將播放該播放列表。如果播放列表的PL_id_ref未寫入到播放列表管理表, 那么管理體就不播放該播放列表。當(dāng)另一個(gè)應(yīng)用程序發(fā)出請求時(shí),只有那些其播放屬性設(shè) 置為“自動(dòng)播放”或“預(yù)發(fā)送”的播放列表才可以播放。“預(yù)發(fā)送”是一種缺省播放屬性,當(dāng) 沒有明確指明播放屬性時(shí)就給播放列表賦予這種屬性。因此,當(dāng)應(yīng)用程序的播放屬性為指 明沒有說明的“一”時(shí),這就意味著該播放列表的播放屬性為“預(yù)發(fā)送”。圖28顯示了轉(zhuǎn)移目的地標(biāo)題的三種可能存在的狀態(tài)((i)不具有播放列表管理 表(ii)具有播放列表管理表和自動(dòng)播放;以及(iii)具有播放列表管理列表和預(yù)發(fā)送) 和前一個(gè)標(biāo)題中PL的兩種可能存在的狀態(tài)(未播放以及正在播放)之間的六種組合形式。在圖28所示的這六種組合形式中,在“前一種狀態(tài)=未播放”和“轉(zhuǎn)移目的地標(biāo)題 具有播放列表管理表,并且播放屬性為自動(dòng)播放”的這種組合中,播放列表的播放在轉(zhuǎn)移目 的地標(biāo)題中自動(dòng)地啟動(dòng)。另外,在“前一種狀態(tài)=正在播放”和“轉(zhuǎn)移目的地標(biāo)題不具有播放列表管理表”這 種組合中,播放列表的播放在轉(zhuǎn)移目的地標(biāo)題中停止。在除上述兩種之外的其它組合形式 中,轉(zhuǎn)移源標(biāo)題中的狀態(tài)可以被保持?;诓シ帕斜砉芾肀?,僅當(dāng)在轉(zhuǎn)移源標(biāo)題中未播放該 播放列表并且播放列表的播放屬性在轉(zhuǎn)移目的地標(biāo)題中設(shè)置為自動(dòng)播放時(shí),才會(huì)啟動(dòng)播放 列表的播放。因此,并不需要每次在標(biāo)題之間發(fā)生轉(zhuǎn)移時(shí)都啟動(dòng)播放列表的播放。因此,即 使在標(biāo)題之間發(fā)生多次轉(zhuǎn)移,也可以使得啟動(dòng)播放列表播放的次數(shù)最小化。接下來將參考圖29A中所示具體的例子,描述如何寫播放列表和應(yīng)用程序管理 表。在該具體例子中,使用了兩個(gè)連續(xù)標(biāo)題(標(biāo)題#1和標(biāo)題#2)。在標(biāo)題#1的表中,將應(yīng)用程序#1和應(yīng)用程序#2寫為自動(dòng)運(yùn)行程序。在標(biāo)題#2的表中,將應(yīng)用程序#2和應(yīng)用程序#3寫為自動(dòng)運(yùn)行程序。假設(shè)在標(biāo)題#1的播放列表管理表中,將播放列表#1寫為自動(dòng)播 放的播放列表,并且在標(biāo)題#2的播放列表管理表中,將播放列表#2寫為自動(dòng)播放的播放列 表。圖29B顯示了如何根據(jù)圖29A中所示的播放列表和應(yīng)用程序管理表播放這些播放列表 以及執(zhí)行應(yīng)用程序。根據(jù)按照上述方式設(shè)置的播放列表和應(yīng)用程序管理表,當(dāng)標(biāo)題#1啟動(dòng)時(shí),應(yīng)用程 序#1和#2自動(dòng)地啟動(dòng),并且自動(dòng)地啟動(dòng)播放列表#1的播放。根據(jù)按照上述方式設(shè)置的播放列表和應(yīng)用程序管理表,就應(yīng)用程序#1而言,在表 中對標(biāo)題#1進(jìn)行了描述,但是在表中沒有對標(biāo)題#2進(jìn)行描述。因此,應(yīng)用程序#1的執(zhí)行 就會(huì)停止。類似地,就播放列表#1而言,在表中對標(biāo)題#1進(jìn)行了描述,但是在表中沒有對 標(biāo)題#2進(jìn)行描述。因此,播放列表#1的播放就會(huì)停止。就播放列表#2和應(yīng)用程序#3而言,在表中沒有對標(biāo)題#1進(jìn)行描述,但是在表中 對標(biāo)題#2進(jìn)行了描述。因此,播放列表#2的播放和應(yīng)用程序#3的執(zhí)行會(huì)自動(dòng)地啟動(dòng)???以將一個(gè)轉(zhuǎn)移用于使將要播放的一個(gè)播放列表變?yōu)榱硪粋€(gè)播放列表。按照這種方式,通過 使用播放列表和應(yīng)用程序管理表使得提前在編寫程序階段就可以在轉(zhuǎn)移定義改變將要播 放的播放列表的處理。另外在圖29A所示的例子中,應(yīng)用程序#1、應(yīng)用程序#2以及應(yīng)用程序#3的運(yùn)行優(yōu) 先級(jí)分別為200、128和200。這樣一種運(yùn)行優(yōu)先級(jí)的分配使得可以裁決要被執(zhí)行的不同應(yīng) 用程序之間的沖突,其中這些應(yīng)用程序由于發(fā)出控制播放列表#1或播放列表#2的請求從 而彼此發(fā)生沖突。這里假設(shè)應(yīng)用程序#1是對播放列表#1進(jìn)行快進(jìn),而應(yīng)用程序#2發(fā)出使 播放列表#1暫停的請求。那么,通過對應(yīng)用程序管理表中分配給這些應(yīng)用程序的運(yùn)行優(yōu)先 級(jí)進(jìn)行比較從而進(jìn)行裁決。因此,應(yīng)用程序#1對播放列表#1的控制得以繼續(xù),而拒絕了應(yīng) 用程序#2提出的請求。可以在編寫程序階段定義這樣一個(gè)處理。在播放列表管理表中使 用運(yùn)行優(yōu)先級(jí)使得播放裝置可以在出現(xiàn)播放列表所引發(fā)的沖突時(shí)進(jìn)行裁決。接下來描述了播放列表管理表的描述的一個(gè)具體例子。圖30A顯示了播放列表管 理表的描述的一個(gè)例子。按照如下所述為兩個(gè)連續(xù)標(biāo)題(標(biāo)題#1、標(biāo)題#2)寫出了表。在 標(biāo)題#1的播放列表管理表中,將播放列表#1寫為自動(dòng)運(yùn)行播放列表,并且將播放列表#2 寫為可播放的播放列表。在標(biāo)題#1的應(yīng)用程序管理表中,將應(yīng)用程序#1寫為自動(dòng)運(yùn)行應(yīng) 用程序,并且將應(yīng)用程序#2寫為可執(zhí)行的應(yīng)用程序。在標(biāo)題#2的播放列表管理表中,將播 放列表#2和播放列表#3寫為可播放的播放列表。在標(biāo)題#2的應(yīng)用程序管理表中,將應(yīng)用 程序#3寫為自動(dòng)播放應(yīng)用程序。圖30B顯示了如何基于圖30A中所示的播放列表和應(yīng)用 程序管理表而播放這些播放列表以及執(zhí)行這些應(yīng)用程序。根據(jù)如上述方式設(shè)置的播放列表 和應(yīng)用程序管理表,當(dāng)標(biāo)題#1啟動(dòng)時(shí),寫為自動(dòng)運(yùn)行應(yīng)用程序的應(yīng)用程序#1自動(dòng)地啟動(dòng)。 另外,因?yàn)樵跇?biāo)題#1的應(yīng)用程序管理表中將應(yīng)用程序#2寫為可執(zhí)行應(yīng)用程序,所以通過從 應(yīng)用程序#1發(fā)出的調(diào)用ydl來啟動(dòng)應(yīng)用程序#2。在標(biāo)題#2的應(yīng)用程序管理表中,并沒有描述應(yīng)用程序#1和#2,但是將應(yīng)用程序 #3寫為了自動(dòng)運(yùn)行應(yīng)用程序。因此,在標(biāo)題#1和標(biāo)題#2之間的邊界處,應(yīng)用程序#1和#2 的執(zhí)行會(huì)停止,并且應(yīng)用程序#3會(huì)自動(dòng)地啟動(dòng)。在標(biāo)題#1的播放列表管理表中,將播放列 表#1和#2寫為可播放的播放列表。在這些可播放的播放列表中,給播放列表#1賦予了自動(dòng)播放屬性。因此,播放列表#1在標(biāo)題#1啟動(dòng)時(shí)會(huì)自動(dòng)地播放。在標(biāo)題#1的播放列表管理表中,將播放列表#1和#2寫為可播放的播放列表。因 此,應(yīng)用程序#1可以通過請求播放列表#2的播放從而停止播放列表#1的播放并且啟動(dòng)播 放列表#2的播放,從而實(shí)現(xiàn)了播放列表改變。在標(biāo)題#2的播放列表管理表中,將播放列表 #2和#3寫為可播放的播放列表,并且不存在附帶有自動(dòng)播放屬性的播放列表。因此,在標(biāo) 題#1啟動(dòng)時(shí)自動(dòng)地啟動(dòng)的播放列表#1的播放在標(biāo)題#1期間會(huì)持續(xù),但是在標(biāo)題#2開始 時(shí)會(huì)自動(dòng)地停止。但是,如果播放列表#2的播放在標(biāo)題#1期間一直持續(xù),那么它在標(biāo)題#2中也會(huì) 持續(xù)。在標(biāo)題#2的播放列表管理表中,將播放列表#2和#3寫為可播放的播放列表。因此, 在標(biāo)題#2中運(yùn)行的應(yīng)用程序#3可以通過請求播放列表#3的播放從而停止播放列表#2的 播放并且啟動(dòng)播放列表#3的播放,從而實(shí)現(xiàn)了播放列表改變。接下來,將參考圖31A到31C描述如何通過播放列表管理表定義標(biāo)題播放周期。圖31A顯示了一個(gè)標(biāo)題的標(biāo)題播放周期,其中該標(biāo)題的播放屬性設(shè)置為自動(dòng)播 放。如果播放屬性設(shè)置為自動(dòng)播放,那么當(dāng)標(biāo)題的播放啟動(dòng)時(shí)自動(dòng)播放PL的播放也會(huì)啟 動(dòng)。這里,即使應(yīng)用程序正常運(yùn)行并且正常終止,也會(huì)根據(jù)PL時(shí)間軸確定標(biāo)題播放周期。圖31B顯示了這樣一種情況在播放列表管理表中播放屬性設(shè)置為自動(dòng)播放,并 且應(yīng)用程序異常終止。在該異常終止后,并不運(yùn)行任何應(yīng)用程序,但是會(huì)繼續(xù)自動(dòng)播放Pi 的播放。在這種情況下也是根據(jù)PL時(shí)間軸確定標(biāo)題播放周期。圖31C顯示了這樣一種情況,在播放列表管理表中播放屬性設(shè)置為自動(dòng)播放,并 且主應(yīng)用程序未能啟動(dòng)。在這種情況下也是基于PL時(shí)間軸確定標(biāo)題播放周期,這是因?yàn)樽?動(dòng)播放Pl會(huì)被播放而無論應(yīng)用程序是否出現(xiàn)啟動(dòng)故障。通過上述這種在播放列表管理表中將播放屬性設(shè)置為自動(dòng)播放的安排,可以使得 即使啟動(dòng)一個(gè)Java(TM)應(yīng)用程序需要5到10秒,但是在啟動(dòng)期間屏幕上會(huì)有顯示。也就 是說,即使啟動(dòng)一個(gè)應(yīng)用程序需要時(shí)間,但是在啟動(dòng)期間屏幕上會(huì)有顯示。這就緩解了由應(yīng) 用程序啟動(dòng)的耗費(fèi)時(shí)間的處理所導(dǎo)致的啟動(dòng)延遲。通過定義應(yīng)用程序和播放列表管理表使得可以進(jìn)行同步控制以在標(biāo)題播放期間 運(yùn)行Java(TM)應(yīng)用程序。這使得可以實(shí)現(xiàn)和提供多種用于播放圖像和執(zhí)行程序的應(yīng)用程 序。到目前為止,已經(jīng)對記錄介質(zhì)進(jìn)行了描述。接下來將描述本發(fā)明的播放裝置。圖32顯示了本發(fā)明的播放裝置的內(nèi)部結(jié)構(gòu)。本發(fā)明的播放裝置是基于圖32中所 示內(nèi)部結(jié)構(gòu)進(jìn)行工業(yè)制造的。本發(fā)明的播放裝置主要包含兩個(gè)部分系統(tǒng)LSI和驅(qū)動(dòng)裝置。 工業(yè)制造是通過將這兩部分裝入裝置的機(jī)柜和板中實(shí)現(xiàn)的。系統(tǒng)LSI是一種集成電路,它 包含用于執(zhí)行播放裝置的函數(shù)的多種處理單元。按照這樣一種方式制造出的播放裝置包含 BD-ROM驅(qū)動(dòng)器1、讀取緩沖器2、解復(fù)用器3、視頻解碼器4、視頻平面5、P圖像解碼器6、呈 現(xiàn)圖像平面7、合并單元8、字體生成器9、1圖像解碼器10、開關(guān)11、互動(dòng)圖像平面12、合并 單元13、CLUT單元14、CLUT單元15、音頻解碼器16、網(wǎng)絡(luò)設(shè)備17、本地存儲(chǔ)器18、讀取緩沖 區(qū)19、解復(fù)用器20、指令R0M21、用戶事件處理單元22、PSR裝置23、CPU24、腳本存儲(chǔ)器25、 本地存儲(chǔ)器26以及開關(guān)27。首先,將描述用于播放記錄于BD-ROM上的AV剪輯的器件(BD-R0M驅(qū)動(dòng)器1至音 頻解碼器16)。
BD-ROM驅(qū)動(dòng)器1執(zhí)行BD-R0M的加載/彈出以及對BD-R0M進(jìn)行訪問。讀取緩沖器2是一種FIFO存儲(chǔ)器,其中從BD-ROM讀取的TS包按照先進(jìn)先出的方 式存儲(chǔ)。
解復(fù)用器(De-mux) 3從讀取存儲(chǔ)器2中提取TS包,并且將TS包轉(zhuǎn)換為PES包。對 于通過這種轉(zhuǎn)換從而獲得的PES包。解復(fù)用器3將其中那些由CPU24對PID進(jìn)行了設(shè)置的 PES包從通過轉(zhuǎn)換獲得的PES包中輸出到視頻解碼器4、P圖像解碼器6、I圖像解碼器10 以及音頻解碼器16中的任意一個(gè)。視頻解碼器4對從解復(fù)用器3輸出的多個(gè)PES包進(jìn)行解碼,將其解碼成一種非壓 縮格式的圖像,并且將這些圖像寫到視頻平面5上。視頻平面5是一種用于存儲(chǔ)非壓縮格式圖像的平面。該平面是播放裝置中一種用 于存儲(chǔ)屏幕畫面的象素?cái)?shù)據(jù)的存儲(chǔ)區(qū)域。視頻平面5的分辨率是1920x1080。存儲(chǔ)于視頻 平面5中的圖像數(shù)據(jù)包含由音頻解碼器16比特YUV值表示的象素?cái)?shù)據(jù)。在視頻平面5中, 可以對視頻流中每幀播放圖像進(jìn)行縮放。這里,“縮放”是指將每幀播放圖像的尺寸變?yōu)橐?頻平面5的1/4 (四分之一)和1/1 (全屏)??梢栽贐D-J模式中根據(jù)CPU24的指令執(zhí)行這 樣一種縮放。這使得可以通過在一個(gè)角落或以全屏方式等等顯示視頻流的播放圖像從而實(shí) 現(xiàn)對屏幕的不同安排。P圖像解碼器6將從BD-ROM讀出的呈現(xiàn)圖像流解碼為非壓縮圖像,并且將這些非 壓縮圖像寫入到呈現(xiàn)圖像平面7上。對圖像流的解碼產(chǎn)生出現(xiàn)在屏幕上的字幕。呈現(xiàn)圖像平面7是一種具有一個(gè)屏幕大小的存儲(chǔ)器區(qū)域,并且可以存儲(chǔ)一個(gè)屏幕 的非壓縮圖像。視頻平面5的分辨率是1920x1080。存儲(chǔ)于呈現(xiàn)圖像平面7中的非壓縮圖 像的每個(gè)象素都是由一個(gè)8比特索引顏色(inde color)表示。在使用CLUT (顏色查詢表) 對索引顏色進(jìn)行轉(zhuǎn)換之后就可以顯示存儲(chǔ)于呈現(xiàn)圖像平面7中的非壓縮圖像。合并單元8將存儲(chǔ)于視頻平面5中的非壓縮圖像數(shù)據(jù)(i)與存儲(chǔ)于呈現(xiàn)圖像平面 7中的數(shù)據(jù)合并到一起。字體生成器9使用字符字體將包含在文本ST流中的文本代碼擴(kuò)展為位圖,并且將 這些位圖寫到呈現(xiàn)圖像平面7上。I圖像解碼器10將在HDMV模式中從BD-ROM或本地存儲(chǔ)器18讀出的IG流解碼為 非壓縮圖像,并且將這些非壓縮圖像寫到互動(dòng)圖像平面12上。開關(guān)11有選擇地將字體生成器9生成的字體序列或通過P圖像解碼器6進(jìn)行解 碼從而得到的圖像寫到呈現(xiàn)圖像平面7上?;?dòng)圖像平面12存儲(chǔ)那些由I圖像解碼器10進(jìn)行解碼從而得到的非壓縮圖像。 互動(dòng)圖像平面12還存儲(chǔ)那些應(yīng)用程序在BD-J模式中繪制的字符和圖像。合并單元13將存儲(chǔ)于互動(dòng)圖像平面12中的數(shù)據(jù)與從合并單元8中輸出的合成圖 像(非壓縮圖像數(shù)據(jù)和存儲(chǔ)于呈現(xiàn)圖像平面7中數(shù)據(jù)的結(jié)合)合并在一起。這種合并使得 由應(yīng)用程序?qū)懙絀圖像解碼器10上的字符和/或圖像可以疊加到非壓縮圖像數(shù)據(jù)上。CLUT單元14將存儲(chǔ)于視頻平面5中的非壓縮圖像的索引顏色轉(zhuǎn)換為Y、Cr和Cb 值。CLUT單元15將存儲(chǔ)于互動(dòng)圖像平面12中的非壓縮圖像的索引顏色轉(zhuǎn)換為Y、Cr 和Cb值。
音頻解碼器16對從解復(fù)用器3輸出的PES包進(jìn)行解碼,并且按照非壓縮格式輸出 音頻數(shù)據(jù)。到目前為止,已經(jīng)對用于播放AV剪輯的器件進(jìn)行了描述。接下來將描述與BD-J模式中操作相關(guān)的器件(網(wǎng)絡(luò)設(shè)備17至解復(fù)用器20)。網(wǎng)絡(luò)設(shè)備17用于實(shí)現(xiàn)播放裝置中的通信功能。當(dāng)BD-J模式中的Java(TM)應(yīng)用 程序指定一個(gè)URL時(shí),網(wǎng)絡(luò)設(shè)備17就會(huì)與具有該URL的網(wǎng)站建立TCP連接、FTP連接等等。 建立這樣一種連接使得該Java(TM)應(yīng)用程序可以從該網(wǎng)站下載數(shù)據(jù)。本地存儲(chǔ)器18是一種用于存儲(chǔ)元數(shù)據(jù)以及由除BD-ROM之外的其它記錄介質(zhì)或通 信介質(zhì)提供的內(nèi)容的硬盤,這些內(nèi)容例如通過網(wǎng)絡(luò)設(shè)備17建立的連接從網(wǎng)站上下載的內(nèi) 容。該元數(shù)據(jù)用于通過將下載內(nèi)容限制在本地存儲(chǔ)器18中從而對這些下載內(nèi)容進(jìn)行管理。 BD-J模式中的一個(gè)應(yīng)用程序可以通過訪問本地存儲(chǔ)器18從而使用下載內(nèi)容的一段執(zhí)行多 種過程。讀取緩沖器19是一種FIFO存儲(chǔ)器。如果存儲(chǔ)于本地存儲(chǔ)器18中的下載內(nèi)容包 含一個(gè)子剪輯,那么讀取緩沖器19就將按照先進(jìn)先出的方式存儲(chǔ)該子剪輯所包含的TS包。解復(fù)用器(De-mux) 20從讀取緩沖器19中提取TS包,并且將這些TS包轉(zhuǎn)換為PES 包。對于通過這種轉(zhuǎn)換從而獲得的PES包,解復(fù)用器3將其中那些具有期望的PID的PES包 從通過轉(zhuǎn)換獲得的PES包中輸出到字體生成器9、I圖像解碼器10以及音頻解碼器16中。通過網(wǎng)絡(luò)設(shè)備17到解復(fù)用器20的上述操作,可以按照與記錄于BD-ROM上內(nèi)容相 同的方式對Java(TM)應(yīng)用程序從網(wǎng)絡(luò)下載的內(nèi)容進(jìn)行播放。接下來將描述用于實(shí)現(xiàn)播放 裝置中集成控制的器件(指令R0M21至開關(guān)27)。指令R0M21存儲(chǔ)有定義了播放裝置的控制的軟件。用戶事件處理單元22將用戶事件輸出到CPU24,所述用戶事件是通過遙控器上或 播放裝置的前面板上的鍵盤操作指示的。PSR集合23是一種嵌入到播放裝置中的寄存器,并且包含64個(gè)播放器狀態(tài)寄存器 (PSR)和4096個(gè)通用寄存器(GPR)。在播放器狀態(tài)寄存器中所設(shè)置的值中(所設(shè)置的值稱 作PSR),PSR4和PSR8用于表示當(dāng)前播放位置。PSR4被設(shè)置為從1到100的值,以指示當(dāng)前播放位置所屬的標(biāo)題,而設(shè)置為0時(shí),
用于指示當(dāng)前播放位置屬于頂級(jí)菜單。當(dāng)PSR5被設(shè)置為從1到999的值,以指示當(dāng)前播放位置所屬章節(jié)的章節(jié)號(hào),而設(shè) 置為OxFFFF時(shí),用于指示播放裝置中的章節(jié)號(hào)是無效的。PSR6被設(shè)置為從1到999的值,以指示當(dāng)前播放位置所屬的PL(當(dāng)前PL)的PL號(hào)。PSR7被設(shè)置為從1到255,以指示當(dāng)前播放位置所屬的播放項(xiàng)(當(dāng)前播放項(xiàng))的 播放項(xiàng)號(hào)。PSR8被設(shè)置為從1到OxFFFFFFFF,以使用45KHZ的時(shí)間精度指示當(dāng)前播放位置 (當(dāng)前PTM(呈現(xiàn)時(shí)間))。使用上述的PSR4至PSR8,可以在圖21A中所示的整個(gè)BD-ROM的 時(shí)間軸上標(biāo)識(shí)當(dāng)前播放位置。CPU24運(yùn)行存儲(chǔ)于指令R0M21中的軟件并且控制整個(gè)播放裝置?;谟脩羰录?理單元22輸出的用戶事件和PSR集合23中不同PSR中設(shè)置的值,控制的內(nèi)容動(dòng)態(tài)地進(jìn)行改變。腳本存儲(chǔ)器25存儲(chǔ)當(dāng)前PL信息和當(dāng)前剪輯信息。當(dāng)前PL信息是記錄在BD-ROM上的多條PL信息中作為當(dāng)前處理目標(biāo)的那條PL信息。當(dāng)前剪輯信息是記錄在BD-ROM上 的多條剪輯信息中作為當(dāng)前處理目標(biāo)的那條剪輯信息。本地存儲(chǔ)器26是一種高速緩沖存儲(chǔ)器,用于暫時(shí)存儲(chǔ)記錄在BD-ROM上的數(shù)據(jù)從 而彌補(bǔ)從BD-ROM讀取數(shù)據(jù)時(shí)的緩慢性。由于有本地存儲(chǔ)器26的存在,可以在BD-J模式中 高效地執(zhí)行應(yīng)用程序。開關(guān)27用于有選擇地將從BD-ROM或本地存儲(chǔ)器中讀取的數(shù)據(jù)輸入到讀取緩沖器 2、讀取緩沖器19、腳本存儲(chǔ)器25和本地存儲(chǔ)器26中的任意一個(gè)。到目前為止,已經(jīng)描述了本實(shí)施例的播放裝置的硬件結(jié)構(gòu)。接下來將描述本實(shí)施 例的播放裝置的軟件結(jié)構(gòu)。圖33按照層結(jié)構(gòu)的形式顯示了硬件和存儲(chǔ)于CPU24中的軟件。如圖33中所示,播放裝置的層結(jié)構(gòu)包含a)作為BD播放器設(shè)備的第一層;b)作為BD播放器模型的第二層;以及c)作為應(yīng)用程序運(yùn)行時(shí)間環(huán)境的第三層。圖32中所示播放裝置的硬件結(jié)構(gòu)屬于第一層。作為BD播放器設(shè)備的第一層包含 一個(gè)“解碼器”,它包含視頻解碼器4、P圖像解碼器6、I圖像解碼器10以及音頻解碼器16 ; 一個(gè)“平面”,它包含視頻平面5、呈現(xiàn)圖像平面7以及互動(dòng)圖像平面12 ;BD-ROM, BD-ROM的 文件系統(tǒng);本地存儲(chǔ)器18以及本地存儲(chǔ)器18的文件系統(tǒng)。作為BD播放器模型的第二層包含b2)包含播放控制引擎32的層;以及b 1)包含虛擬文件系統(tǒng)30和呈現(xiàn)引擎31的層,并且該層向高于其自身的層提供功 能的API。作為應(yīng)用程序運(yùn)行時(shí)間環(huán)境的第三層包含Cl)其中具有模塊管理器34的層;c2)其中具有HDMV模塊33和BD-J模塊35的層。在圖33中所示的層模型中,模塊管理器34位于最上層。模塊管理器34具有一個(gè) 直接通向播放控制引擎32的旁路url,該旁路越過了 HDMV模塊33和BD-J模塊35。在如 圖33中所示的層模型中,由于該旁路的存在,模塊管理器34的形狀為一個(gè)倒寫的字符“L”, 并且使用戶事件管理器37嵌入到其中。BD-J模塊35是一種Java(TM)平臺(tái),具有以Java(TM)虛擬機(jī)38為中心的構(gòu)造。 多種系統(tǒng)程序和應(yīng)用程序都在該Java(TM)虛擬機(jī)38所包含的工作存儲(chǔ)器中工作。位于 Java (TM)虛擬機(jī)38之上的應(yīng)用程序管理器36和時(shí)間聽者管理器39 (缺省操作管理器40) 都是這種系統(tǒng)程序。應(yīng)用程序管理器36包含一個(gè)PLMT處理器41。另外,在BD-J模塊35 和播放控制引擎32之間有一個(gè)許可控制器42。首先將描述屬于第二層的虛擬文件系統(tǒng)30至模塊管理器34。圖34顯示了虛擬文 件系統(tǒng)30到模塊管理器34所執(zhí)行的處理。虛擬文件系統(tǒng)30是一種用于對存儲(chǔ)于本地存儲(chǔ)器18中的下載內(nèi)容按照BD-ROM的盤內(nèi)容的處理方式進(jìn)行處理的一種虛擬文件系統(tǒng)。存儲(chǔ)于本地存儲(chǔ)器18中的下載內(nèi)容 包含子剪輯、剪輯信息以及播放列表信息。下載內(nèi)容中的播放列表信息與記錄在BD-ROM 上的播放列表信息的區(qū)別在于,它可以指定剪輯信息而無論這些剪輯信息是存儲(chǔ)于BD-ROM 上還是存儲(chǔ)于本地存儲(chǔ)器18上。并且對于這種指定,虛擬文件系統(tǒng)30上的播放列表信息 不需要通過全路徑指定BD-ROM或本地存儲(chǔ)器18上的一個(gè)文件。這是因?yàn)锽D-ROM或本 地存儲(chǔ)器18上的文件系統(tǒng)被視作一種虛擬文件系統(tǒng)(虛擬文件系統(tǒng)30)。因此,通過這 里所指定的作為存儲(chǔ)剪輯信息的文件的文件體的五位數(shù)值,可以將播放項(xiàng)信息中的Clip_ Information_file_name 禾口子播方文項(xiàng)信息中的 Clip_Information_file_name 用于指定虛 擬文件系統(tǒng)30或BD-上的一個(gè)AV剪輯。對于通過虛擬文件系統(tǒng)30從本地存儲(chǔ)器18中讀 取的數(shù)據(jù),當(dāng)將這些數(shù)據(jù)動(dòng)態(tài)地與存儲(chǔ)于BD-ROM中的數(shù)據(jù)合并到一起時(shí),可以生成多種形 式的播放。在本實(shí)施例中,因?yàn)閷⒈镜卮鎯?chǔ)器18和BD-ROM合并的盤內(nèi)容與BD-ROM的盤內(nèi) 容同等對待,所以可以認(rèn)為“BD-R0M”也指一種虛擬記錄介質(zhì),并且這種虛擬記錄介質(zhì)是本 地存儲(chǔ)器18和BD-ROM的合并。呈現(xiàn)引擎31執(zhí)行AV播放功能。播放裝置中的AV播放功能是一組從⑶和DVD播放器繼承而來的傳統(tǒng)功能。這些AV播放功能包含播放、停止、暫停開始、暫停結(jié)束、靜止結(jié) 束、向前播放(具有速度說明)、向后播放(具有速度說明)、視頻變換、字幕變換以及角度 變換。為了實(shí)現(xiàn)這些AV播放功能,呈現(xiàn)引擎31控制視頻解碼器4、P圖像解碼器6、1圖像 解碼器10以及音頻解碼器16從而對對應(yīng)于一段期望時(shí)間的一部分AV剪輯進(jìn)行解碼,并且 這部分AV剪輯已經(jīng)被讀取到讀取緩沖器2中。這里,期望時(shí)間可以是由PSR8(當(dāng)前PTM) 指定的時(shí)間。通過這種構(gòu)造,可以播放對應(yīng)于任意一段時(shí)間的一部分AV剪輯。播放控制引擎(PCE)32所執(zhí)行的功能包含(i)播放列表播放控制功能;以及 ( )通過PSR集合23從而獲得和設(shè)置狀態(tài)的狀態(tài)獲得/設(shè)置功能。在呈現(xiàn)引擎31所執(zhí)行 的AV播放功能中,播放列表播放控制功能是根據(jù)當(dāng)前PL信息和剪輯信息而執(zhí)行的播放啟 動(dòng)和播放停止等等。該功能(i)和(ii)響應(yīng)于由HDMV模塊33、模塊管理器34和BD-J模 塊35發(fā)出的功能調(diào)用而執(zhí)行。也就是說,如果播放控制引擎32接收到命令它播放一個(gè)PL的功能調(diào)用,那么它就 通過虛擬文件系統(tǒng)30,從BD-ROM或本地存儲(chǔ)器18中讀取對應(yīng)于該功能調(diào)用中所指定的PL 的播放列表信息。然后,播放控制引擎32參考該段播放列表信息中包含的播放項(xiàng)信息,通 過虛擬文件系統(tǒng)30從BD-ROM或本地存儲(chǔ)器18中讀取該播放項(xiàng)信息的Clip_Inf0rmati0n_ filename中敘述的剪輯信息。圖34中的符號(hào) 1、 2、 3以及◎ 4分別指示了以下內(nèi) 容通過虛擬文件系統(tǒng)30讀取播放列表信息(◎ 1);對播放列表信息所包含的播放項(xiàng)信息 進(jìn)行解碼(◎ 2);通過虛擬文件系統(tǒng)30讀取剪輯信息(◎ 3);對剪輯信息進(jìn)行解碼(◎ 4)。 在按照上述方式對剪輯信息和播放列表信息進(jìn)行解碼之后,通過虛擬文件系統(tǒng)30將AV剪 輯所包含的TS包轉(zhuǎn)移到呈現(xiàn)引擎31。在將TS包轉(zhuǎn)移到呈現(xiàn)引擎31之后,呈現(xiàn)引擎31將 AV剪輯所包含的TS包輸出到解碼器從而可以在平面上顯示它們。圖34中的符號(hào)☆ 1、☆ 2、 ☆ 3、^ 4以及☆ 5分別指示以下內(nèi)容讀取AV剪輯所包含的TS包(☆ 1、^ 2);從虛擬文 件系統(tǒng)30將這些TS包轉(zhuǎn)移到呈現(xiàn)引擎31(^3);將這些TS包輸出到解碼器(☆ 4);以及 將通過解碼器得到的解碼結(jié)果輸出到平面(☆ 5)。HDMV模塊33是用于執(zhí)行HDMV模式的主體。如果HDMV模塊33從模塊管理器34接收到一個(gè)激活請求(activate (mobj_id),其中mobj_id指定了一個(gè)轉(zhuǎn)移目的地 MovieObject (電影對象)),那么它就將該MovieObject (mobj_id)存儲(chǔ)到本地存儲(chǔ)器26 中,對該MovieObject中寫入的導(dǎo)航命令進(jìn)行解碼,并且根據(jù)解碼結(jié)果向播放控制引擎32 發(fā)出一個(gè)功能調(diào)用。在圖34中,帶有符號(hào)V2、V3以及V4的箭頭分別指示以下內(nèi)容 從模塊管理器34接收“activate (mobj_id)”(V2);對MovieObject中寫入的導(dǎo)航命令 進(jìn)行解碼(V3);以及向播放控制引擎32發(fā)出一個(gè)功能調(diào)用(V4)。模塊管理器34持有 從BD-ROM讀取的Index, bdmv并且執(zhí)行轉(zhuǎn)移控制。該轉(zhuǎn)移控制包括向當(dāng)前標(biāo)題所包含 的動(dòng)態(tài)腳本發(fā)出一個(gè)終止事件,以及向轉(zhuǎn)移目的地標(biāo)題所包含的動(dòng)態(tài)腳本發(fā)出一個(gè)激活 事件。如果一個(gè)MovieObject執(zhí)行一個(gè)指定title_id的JumpTitle (跳轉(zhuǎn)標(biāo)題)命令 (JumpTitle (title_id)),那么模塊管理器34向當(dāng)前標(biāo)題所包含的MovieObject發(fā)出一個(gè) 終止事件,并且發(fā)出一個(gè)activate (mob j_id)事件從而激活對應(yīng)于title_id的標(biāo)題所包含 的MovieObject。在圖34中,帶有符號(hào)▽()、▽ 1以及V2的箭頭分別指示以下內(nèi)容執(zhí)行 一個(gè)JumpTitle命令(▽());模塊管理器34參考Index, bdmv ( V 1);以及發(fā)送一個(gè)通知從 而激活轉(zhuǎn)移目的地標(biāo)題所包含的MovieObject ( V2)。這些工作步驟也適用于其中BD-J對 象調(diào)用JumpTitleAPI (JumpTitle (title_id))的情況。在這種情況下,向當(dāng)前標(biāo)題所包含 的BD-J對象發(fā)出一個(gè)終止事件,并且向BD-J模塊35發(fā)出一個(gè)activate (mobj_id)從而激 活對應(yīng)于title_id的標(biāo)題所包含的BD-J對象。到目前為止,已經(jīng)描述了呈現(xiàn)引擎31至模塊管理器34。接下來將參考圖35描述 應(yīng)用程序管理器36。圖35顯示了應(yīng)用程序管理器36。每當(dāng)標(biāo)題之間發(fā)生轉(zhuǎn)移時(shí),應(yīng)用程序管理器36就會(huì)命令Java (TM)虛擬機(jī)38啟動(dòng) 這樣一個(gè)應(yīng)用程序它未在轉(zhuǎn)移源標(biāo)題中運(yùn)行,但是對于轉(zhuǎn)移目的地標(biāo)題卻具有運(yùn)行屬性 “自動(dòng)運(yùn)行”。同時(shí),應(yīng)用程序管理器36終止這樣一個(gè)應(yīng)用程序它在轉(zhuǎn)移源標(biāo)題中運(yùn)行,但 是在轉(zhuǎn)移目的地標(biāo)題中卻沒有生存周期。通過參考當(dāng)前BD-J對象的應(yīng)用程序管理表從而 進(jìn)行這樣的啟動(dòng)控制和終止控制。這里如果在標(biāo)題之間發(fā)生一個(gè)轉(zhuǎn)移,那么模塊管理器34 會(huì)發(fā)出activate (bobj_id)的通知。當(dāng)接收到該通知時(shí),應(yīng)用程序管理器36將當(dāng)前BD-J 對象設(shè)置為對應(yīng)于該bob j_id的BD-J對象,并且參考當(dāng)前BD-J對象的應(yīng)用程序管理器表。 這使得應(yīng)用程序管理器36可以識(shí)別那些自動(dòng)啟動(dòng)和自動(dòng)終止的應(yīng)用程序。在圖35中,符 號(hào)女()、☆ 1、女2以及☆ 3分別指示以下內(nèi)容發(fā)生一次TitleJump (標(biāo)題跳轉(zhuǎn))(☆ 0);通 知activate (bob j_id) (☆ 1);參考應(yīng)用程序管理表(☆ 2);以及命令Java (TM)虛擬機(jī)38 啟動(dòng)一個(gè)應(yīng)用程序(☆ 3)。通過該啟動(dòng)一個(gè)應(yīng)用程序的命令,Java(TM)虛擬機(jī)38把xlet 程序從本地存儲(chǔ)器26讀取到工作存儲(chǔ)器(☆ 4、^ 5)。到目前為止,已經(jīng)描述了應(yīng)用程序管理器36。接下來將參考圖36描述用戶事件管 理器37至缺省操作管理器40。
用戶事件管理器37將用戶事件處理單元22接收到的用戶事件分為(i)播放控 制的用戶事件以及(ii)鍵盤事件。播放控制的用戶事件是用于發(fā)出以下命令的用戶事件 播放、停止、暫停開始、暫停結(jié)束、靜止結(jié)束、向前播放(具有速度說明)、向后播放(具有速 度說明)、視頻變換、字幕變換以及角度變換。鍵盤事件是指示按下了以下這些鍵的用戶事 件向上移動(dòng)、向下移動(dòng)、向右移動(dòng)、向左移動(dòng)以及數(shù)字鍵。用戶事件管理器37發(fā)出一個(gè)功 能調(diào)用,從而使播放控制引擎32根據(jù)播放控制的用戶事件執(zhí)行播放控制功能。該功能調(diào)用稱作UO (用戶操作),并且通過位于模塊管理器34的旁路上的UO控制器37a發(fā)送到播放控 制引擎32,而不通過HDMV模塊33和BD-J模塊35。這使得可以無延遲地執(zhí)行用于播放、停 止、暫停開始、暫停結(jié)束等等的播放控制。在圖36中,符號(hào)女1、^ 2以及☆ 3分別指示以 下內(nèi)容用戶事件管理器37將用戶事件分為(i)播放控制的用戶事件以及(ii)鍵盤事件 (☆“☆2);以及根據(jù)播放控制的用戶事件被發(fā)送到播放控制引擎32的功能調(diào)用(女3)。Java(TM)虛擬機(jī)38將應(yīng)用程序所包含的xlet程序加載到工作存儲(chǔ)器,對該xlet程序進(jìn)行解碼,并且根據(jù)解碼結(jié)果控制較低的層。更具體地說,在對較低層的控制中, Java(TM)虛擬機(jī)38向BD中間件(middleware)(未示出)發(fā)出一種JMF方法,從而對應(yīng)于 BD播放裝置的功能調(diào)用可以替換現(xiàn)有的功能調(diào)用,并且在該替換之后將該功能調(diào)用發(fā)送到 播放控制引擎32。事件聽者管理器39對鍵盤事件進(jìn)行分析并且分發(fā)這些事件。圖36中的實(shí)線箭頭 1和 2指示了由事件聽者管理器39所進(jìn)行的事件分發(fā)。如果要被分發(fā)的事件是已經(jīng) 在xlet程序的事件聽者中登記了的鍵盤事件,那么事件聽者管理器39就將該事件分發(fā)到 由BD-J對象間接指向的一個(gè)xlet程序。xlet程序中的事件聽者具有對應(yīng)于已經(jīng)在其中登 記了的JMF的鍵盤事件。因此,可以通過這樣一種登記的鍵盤事件啟動(dòng)該xlet程序。如果 要被分發(fā)的事件是未在事件聽者中登記的鍵盤事件,那么事件聽者管理器39就將該事件 分發(fā)到缺省操作管理器40。因?yàn)樵贐D-ROM播放裝置中可能會(huì)出現(xiàn)包含未在事件聽者中登 記的鍵盤事件的各種鍵盤事件,所以上述安排是用于對每種鍵盤事件都可以進(jìn)行適當(dāng)?shù)靥?理而不會(huì)出現(xiàn)故障。當(dāng)事件聽者管理器39將未在xlet程序的事件聽者中登記的鍵盤事件分發(fā)到缺省 操作管理器40時(shí),缺省操作管理器40向播放控制引擎32發(fā)出對應(yīng)于該未在事件聽者中登 記的事件的一個(gè)功能調(diào)用。圖36中的箭頭 3指示了由缺省操作管理器40發(fā)出的該功能 調(diào)用。PLMT處理器41是應(yīng)用程序管理器36的一個(gè)組成部分,并且如果從模塊管理器34 接收到activate (bobj_id),那么它就參考由bobj_id標(biāo)識(shí)的BD-J對象的播放列表管理表。 并且如果將具有播放屬性“自動(dòng)播放”的PL寫入到BD-J對象的播放列表管理表中,那么 PLMT處理器41就輸出到播放控制引擎32以播放該自動(dòng)播放PL。但是,如果播放控制引擎 32發(fā)出一種指示PL播放的結(jié)束的通知事件,那么PLMT處理器41就會(huì)將發(fā)出該通知事件 的時(shí)刻認(rèn)做標(biāo)題結(jié)束點(diǎn)。圖36中的箭頭Δ1和Δ2分別指示了以下內(nèi)容向播放控制引擎 32發(fā)出一個(gè)功能調(diào)用PLayPL(Al);從播放控制引擎32輸出一個(gè)通知事件(Δ 2)。以上就是對BD-J模塊35中層結(jié)構(gòu)的全部描述。這里應(yīng)該注意到,在本實(shí)施例中 省去了對許可控制器42的描述,我們會(huì)在實(shí)施例3中對其進(jìn)行詳細(xì)描述。〈Java (TM)虛擬機(jī)38的內(nèi)部結(jié)構(gòu)>接下來將描述Java (TM)虛擬機(jī)38的內(nèi)部結(jié)構(gòu)。圖37顯示了 Java (TM)虛擬機(jī)38 的內(nèi)部結(jié)構(gòu)。如圖37中所示,Java(TM)虛擬機(jī)38包含了如圖32所示的CPU24、用戶類加載 器52、方法區(qū)域53、工作存儲(chǔ)器54、線程55a、55b,...55η以及Java(TM)堆棧56a、56b,... 56η ο用戶類加載器52從本地存儲(chǔ)器26等等中讀取屬于BDJA目錄的Java(TM)存檔文 件中的類文件,并且將這些讀取的類文件存儲(chǔ)到方法區(qū)域53中。這種由用戶類加載器52對類文件的讀取是通過應(yīng)用程序管理器36指定一個(gè)文件路徑并且命令用戶類加載器52按照該路徑讀取類文件而實(shí)現(xiàn)的。如果該文件路徑指示本地存儲(chǔ)器26,那么用戶類加載器52 從本地存儲(chǔ)器26將一個(gè)應(yīng)用程序所包含的Java (TM)存檔文件中的一個(gè)類文件讀取到工作 存儲(chǔ)器上。如果該文件路徑指示虛擬文件系統(tǒng)30中的一個(gè)目錄,那么用戶類加載器52從 BD-ROM或本地存儲(chǔ)器18上將一個(gè)應(yīng)用程序所包含的Java(TM)存檔文件中的一個(gè)類文件讀 取到工作存儲(chǔ)器上。圖35中所示的應(yīng)用程序激活控制(☆ 3、☆4以及☆ 5)是通過用戶 類加載器52對類文件的讀取而實(shí)現(xiàn)的。如果所指定讀取的類文件并未存儲(chǔ)于本地存儲(chǔ)器 26,那么用戶類加載器52就通知應(yīng)用程序管理器36出現(xiàn)一個(gè)讀取故障。方法區(qū)域53存儲(chǔ)由用戶類加載器52從本地存儲(chǔ)器26讀取的類文件。工作存儲(chǔ)器54被稱作堆區(qū)域,用于存儲(chǔ)各種類文件的實(shí)例。圖33中所示的應(yīng)用程 序管理器36和事件聽者管理器39是位于工作存儲(chǔ)器54中的常駐應(yīng)用程序。工作存儲(chǔ)器54 還存儲(chǔ)對應(yīng)于存儲(chǔ)于方法區(qū)域53中的類文件的實(shí)例以及常駐類型實(shí)例。這些實(shí)例是應(yīng)用 程序所包含的xlet程序。當(dāng)這樣的xlet程序存儲(chǔ)于工作存儲(chǔ)器54中之后,應(yīng)用程序就做 好了運(yùn)行的準(zhǔn)備。在圖33、35和36中所示的層模型中,工作存儲(chǔ)器54位于高于Java(TM) 虛擬機(jī)38的一個(gè)層。但是,按照這種方式描述工作存儲(chǔ)器54中的應(yīng)用程序管理器36和事 件聽者管理器39是為了易于理解。實(shí)際上,線程55a、55b,…55η將應(yīng)用程序管理器36和 事件聽者管理器39作為實(shí)例執(zhí)行。線程55a、55b,…55η是用于執(zhí)行存儲(chǔ)于工作存儲(chǔ)器54中的方法的邏輯執(zhí)行體。 線程55a、55b,…55η將存儲(chǔ)于本地變量或操作數(shù)堆棧中的變量作為操作數(shù)從而執(zhí)行計(jì)算, 并且將計(jì)算結(jié)果存儲(chǔ)到這些本地變量或操作數(shù)堆棧中。箭頭kyl、ky2以及kyn象征性地指 示了從工作存儲(chǔ)器54向線程55a、55b,*"55n提供的方法。盡管物理執(zhí)行體僅是一個(gè)CPU, 但是Java (TM)虛擬機(jī)中最多可以提供64個(gè)線程作為邏輯執(zhí)行體。只要邏輯執(zhí)行體的數(shù)量 不超過64,那么就可以生成新線程或刪除現(xiàn)有線程。在Java(TM)虛擬機(jī)38的工作期間可 以增加或降低工作線程的數(shù)量。因?yàn)樵诒匾獣r(shí)可以增加線程的數(shù)量,所以可以允許多個(gè)線 程并行執(zhí)行一個(gè)實(shí)例,由此提高了該實(shí)例的執(zhí)行速度。在圖37中,CPU24和線程之間具有 “一對多”的關(guān)系。但是,如果有多個(gè)CPU,那么這種關(guān)系可以為“多對多”。線程δδ^δδ ^^-δδη 對這些方法的執(zhí)行是通過下述方式實(shí)現(xiàn)的 將該方法所包含的字節(jié)碼轉(zhuǎn)換為CPU24的 原生碼,并且將這些原生碼發(fā)送到CPU24。這里省略了對這種轉(zhuǎn)換為原生碼的描述,這是因 為這樣就偏離了本發(fā)明的主題。基于一對一的關(guān)系,與線程55a、55b,…55η —致地提供了 Java(TM)堆棧56a、 56b,…56η,并且每個(gè)堆棧都具有一個(gè)程序計(jì)數(shù)器(圖37中的PC)和一個(gè)或多個(gè)幀。該 “程序計(jì)數(shù)器”指示了當(dāng)前執(zhí)行的實(shí)例的一個(gè)部分。該“幀”是一對一分配給對方法的調(diào)用 的堆棧系統(tǒng)區(qū)域。每幀包含用于存儲(chǔ)在有過一次的調(diào)用中使用的參數(shù)的“操作數(shù)堆?!保?以及該被調(diào)用的方法使用的“局部變量堆棧(圖37中的本地變量)”。因?yàn)槊看螆?zhí)行調(diào)用 時(shí)就會(huì)使一幀進(jìn)入Java(TM)堆棧56a、56b,…56η,所以當(dāng)一個(gè)方法遞歸調(diào)用其自身時(shí)也 會(huì)使一幀進(jìn)入堆棧。當(dāng)調(diào)用一個(gè)JMF播放器實(shí)例播放方法時(shí),或當(dāng)調(diào)用一個(gè)JumpTitle API 調(diào)用時(shí),對應(yīng)于該調(diào)用的一幀會(huì)進(jìn)入Java(TM)堆棧56a、56b,…56η。作為參數(shù)存儲(chǔ)于這 些幀的操作數(shù)堆棧中的信息包含(i)播放方法將要播放的MPLS文件的文件名;(ii)指示 JumpTitle API調(diào)用的跳轉(zhuǎn)目的地的title_id等等。
接下來將詳細(xì)描述應(yīng)用程序管理器36和它的組成部分PLMT處理器41如何在上 述的Java(TM)虛擬機(jī)38的內(nèi)部結(jié)構(gòu)中進(jìn)行工作。在模塊管理器34輸出一個(gè)請求激活一個(gè)由bobj_id標(biāo)識(shí)的BD-J對象的事件(activatred[bobj_id])之后,應(yīng)用程序管理器36就將具有該bobj_id的BD-J對象設(shè)置 為當(dāng)前BD-J對象,其中該應(yīng)用程序管理器36是工作存儲(chǔ)器54中的一個(gè)實(shí)例。然后,應(yīng)用 程序管理器36對轉(zhuǎn)移源標(biāo)題中的執(zhí)行狀態(tài)和當(dāng)前BD-J對象中應(yīng)用程序的運(yùn)行屬性進(jìn)行檢 查,并且確定(i)要自動(dòng)啟動(dòng)的應(yīng)用程序以及(ii)要自動(dòng)終止的應(yīng)用程序。確定⑴要自動(dòng)啟動(dòng)的應(yīng)用程序是通過以下方式實(shí)現(xiàn)的在當(dāng)前BD-J對象的應(yīng)用 程序管理表中搜索在轉(zhuǎn)移源標(biāo)題中未運(yùn)行但是在當(dāng)前BD-J對象中具有自動(dòng)運(yùn)行屬性的應(yīng) 用程序的apli_id_ref。如果找到這樣的apli_id_ref,應(yīng)用程序管理器36就命令用戶類 加載器52讀取屬于由該apli_id_ref標(biāo)識(shí)的應(yīng)用程序的Java(TM)存檔文件的類文件,這 使得可以在工作存儲(chǔ)器54中生成對應(yīng)于該類文件的實(shí)例。這使得其生存周期位于當(dāng)前標(biāo) 題中的應(yīng)用程序做好了啟動(dòng)的準(zhǔn)備。然后,當(dāng)線程55a、55b,…55η被引發(fā)執(zhí)行該應(yīng)用程序 的方法時(shí),該應(yīng)用程序就會(huì)啟動(dòng)。確定(ii)要自動(dòng)終止的應(yīng)用程序是通過以下方式實(shí)現(xiàn)的在當(dāng)前BD-J對象的 應(yīng)用程序管理表中搜索在轉(zhuǎn)移源標(biāo)題中運(yùn)行但是在當(dāng)前BD-J對象中并不具有生存周期的 應(yīng)用程序的apli_id_ref。如果找到這樣的apli_id_ref,應(yīng)用程序管理器36就終止具有 apli_id_ref的應(yīng)用程序所包含的xlet程序。這使得可以重新獲得以下這些資源(i)工 作存儲(chǔ)器54中原來被該應(yīng)用程序占據(jù)的一個(gè)區(qū)域,或者(ii) Java(TM)堆棧56a、56b,…, 56η中那些原來被用于執(zhí)行該應(yīng)用程序的方法的幀。應(yīng)用程序管理器36的一個(gè)組成部分PLMT處理器41對轉(zhuǎn)移源標(biāo)題中的播放狀態(tài) 和當(dāng)前標(biāo)題中播放列表的播放屬性進(jìn)行檢查,并且確定(i)要被自動(dòng)播放的播放列表以及 (ii)要被自動(dòng)終止的播放列表。確定(i)要自動(dòng)播放的播放列表是通過以下方式實(shí)現(xiàn)的在播放列表管理表中搜 索在轉(zhuǎn)移源標(biāo)題中未播放但是在當(dāng)前標(biāo)題中具有自動(dòng)播放屬性的播放列表。如果找到這樣 的播放列表,PLMT處理器41就將要被播放的播放列表的Pl_id_ref作為參數(shù)從而執(zhí)行用于 播放列表播放的功能調(diào)用。通過執(zhí)行該調(diào)用,可以在Java(TM)堆棧56a、56b,"ien中生 成具有存儲(chǔ)在操作數(shù)堆棧中的Pl」d_ref的幀。并且線程55a、55b,"iSn執(zhí)行用于播放 列表的播放的功能調(diào)用。通過執(zhí)行該功能調(diào)用,呈現(xiàn)引擎31開始對該播放列表進(jìn)行播放。確定(ii)要自動(dòng)終止的播放列表是通過以下方式實(shí)現(xiàn)的在播放列表管理表中 搜索在轉(zhuǎn)移源標(biāo)題中播放但是并未寫入到當(dāng)前標(biāo)題的播放列表管理表中的播放列表。如果 找到這樣的播放列表,PLMT處理器41就執(zhí)行一種用于停止播放該播放列表的功能調(diào)用,并 且從Java(TM)堆棧56a、56b,…56η中刪除對應(yīng)于用于播放該播放列表的功能調(diào)用的幀。應(yīng)用程序可以按照四種模式在工作存儲(chǔ)器54中終止。圖38顯示了應(yīng)用程序終止 的這四種模式。在第一種模式中,當(dāng)發(fā)生資源短缺并且應(yīng)用程序管理器36發(fā)出一個(gè)終止事 件時(shí)應(yīng)用程序終止(☆ 1)。在第二種模式中,當(dāng)應(yīng)用程序通過應(yīng)用程序管理器36從另一 個(gè)應(yīng)用程序接收到一個(gè)終止事件時(shí)該應(yīng)用程序終止(☆ 2)。在第三種模式中,當(dāng)應(yīng)用程序 管理表中寫入的生存周期結(jié)束并且應(yīng)用程序管理器36發(fā)出一個(gè)終止事件時(shí)應(yīng)用程序終止 (☆3)。在第四種模式中,當(dāng)應(yīng)用程序自身激活終止處理時(shí)該應(yīng)用程序終止(☆ 4)。在這四種模式中的三種中,由應(yīng)用程序管理器36終止該應(yīng)用程序。由此我們可以理解,應(yīng)用程 序管理器36在控制應(yīng)用程序的工作方面發(fā)揮了中心作用。如果發(fā)出一個(gè)終止事件不會(huì)使 應(yīng)用程序終止,那么應(yīng)用程序管理器36可以強(qiáng)制性地終止該應(yīng)用程序從而重新獲得資源。 這種可以強(qiáng)制性重新獲得資源的權(quán)力是應(yīng)用程序管理器36的一個(gè)特性。到目前為止,我們已經(jīng)對BD-J模塊35的組成部分進(jìn)行了描述。(流程圖的描述)上述內(nèi)容只是對應(yīng)用程序管理器36進(jìn)行了概況性描述。圖39和40中詳細(xì)顯示 了應(yīng)用程序管理器36的處理。接下來將參考流程圖更加詳細(xì)地描述應(yīng)用程序管理器36的 處理步驟。圖39是顯示應(yīng)用程序管理器36的步驟的流程圖。圖39所示的步驟包含一個(gè)主 環(huán)路,而該主環(huán)路包含步驟Si、S2、S3和S4。在步驟Sl中,對是否發(fā)生了一個(gè)標(biāo)題跳轉(zhuǎn)進(jìn) 行判斷。如果判斷出發(fā)生了一個(gè)標(biāo)題跳轉(zhuǎn),那么應(yīng)用程序管理器36改變標(biāo)題(步驟S7),參 考轉(zhuǎn)移目的地標(biāo)題的應(yīng)用程序管理表,并且終止在轉(zhuǎn)移源標(biāo)題中運(yùn)行但并不存在于轉(zhuǎn)移目 的地標(biāo)題中的應(yīng)用程序(步驟S8)。然后,應(yīng)用程序管理器36參考轉(zhuǎn)移目的地標(biāo)題的播放 列表管理表,并且終止正在轉(zhuǎn)移源標(biāo)題中播放而并不存活于轉(zhuǎn)移目的地標(biāo)題中的播放列表 (步驟S9)。然后,應(yīng)用程序管理器36命令PLMT處理器41判斷是否有一個(gè)在轉(zhuǎn)移源標(biāo)題中未 播放而在轉(zhuǎn)移目的地標(biāo)題中具有自動(dòng)播放屬性的PL(步驟S10)。如果判斷出有這樣一個(gè) PL,那么PLMT處理器41就命令播放控制引擎32播放該自動(dòng)播放PL (步驟Sll)。如果沒有 這樣的PL,那么就不播放自動(dòng)播放PL。隨后的步驟包含步驟S12至S18,用于激活在轉(zhuǎn)移目的地標(biāo)題中具有生存周期的 應(yīng)用程序。在該工作步驟中,應(yīng)用程序管理器36命令啟動(dòng)一個(gè)自動(dòng)運(yùn)行應(yīng)用程序(步驟 S14),并且如果該自動(dòng)運(yùn)行應(yīng)用程序成功地啟動(dòng)(步驟S15中為“YES”),那么就將自動(dòng)播 放PL的播放圖像轉(zhuǎn)換為四分之一(1/4)(步驟S18)。如果步驟S15中判斷為“N0”,那么就執(zhí)行包含S14至S17的環(huán)路。該環(huán)路中的控 制變量具有一個(gè)重新啟動(dòng)計(jì)數(shù)器。該重新啟動(dòng)計(jì)數(shù)器定義了一個(gè)應(yīng)用程序重新啟動(dòng)的次 數(shù)。在步驟S12中對該重新啟動(dòng)計(jì)數(shù)器進(jìn)行重新設(shè)置,并且在步驟S16中判斷重新啟動(dòng)計(jì) 數(shù)器是否為0。如果在步驟S16中判斷出重新啟動(dòng)計(jì)數(shù)器不是0,那么在步驟S17中就對該 重新啟動(dòng)計(jì)數(shù)器進(jìn)行減法操作。只要重新啟動(dòng)計(jì)數(shù)器不是0,該自動(dòng)運(yùn)行應(yīng)用程序就在包含 步驟S14到S17的環(huán)路處理中反復(fù)啟動(dòng)。這樣一種重復(fù)就確保了可以激活應(yīng)用程序。在步驟S2,判斷是否終止了一個(gè)主應(yīng)用程序。如果判斷出終止了主應(yīng)用程序,那么 控制就轉(zhuǎn)移到步驟S5并且判斷該主應(yīng)用程序是否正常終止。如果判斷出主應(yīng)用程序異常 終止,那么就執(zhí)行步驟S19和S20。如果判斷出主應(yīng)用程序正常終止,那么控制就返回到包 含步驟Sl到S4的主環(huán)路,而不執(zhí)行步驟S19和S20。在步驟S19,判斷是否正在播放一個(gè)自動(dòng)播放PL。如果判斷出正在播放一個(gè)自動(dòng)播放PL,那么應(yīng)用程序管理器36就命令播放控制引擎32將該自動(dòng)播放PL的播放圖像轉(zhuǎn)換 為全屏(步驟S20)。然后,控制轉(zhuǎn)移到步驟S16。通過控制轉(zhuǎn)移到步驟S16,即使應(yīng)用程序 異常中斷,也可以執(zhí)行包含步驟S14至S17的環(huán)路處理。這使得應(yīng)用程序可以反復(fù)啟動(dòng)直 到在步驟S12中設(shè)置的重新啟動(dòng)計(jì)數(shù)器變?yōu)?。在步驟S4中,判斷在BD驅(qū)動(dòng)器1中是否存在BD-R0M。如果不存在BD-R0M,那么應(yīng)用程序管理器36就命令終止所有應(yīng)用程序(步驟S6)。圖40顯示了播放列表管理表和應(yīng)用程序管理表的具體例子。在圖40中,第一行 顯示了一個(gè)標(biāo)題的播放圖像,第二行顯示了該標(biāo)題的時(shí)間軸,第三行顯示了一個(gè)PL的播放 的過程,并且第四行顯示了一個(gè)應(yīng)用程序的執(zhí)行。第四行指示了當(dāng)標(biāo)題開始時(shí)應(yīng)用程序#1 啟動(dòng),并隨后在時(shí)刻tl進(jìn)入到操作狀態(tài)。另一方面,當(dāng)標(biāo)題開始時(shí)播放列表#1啟動(dòng)播放。 因此,如第一行左手側(cè)所示,在應(yīng)用程序啟動(dòng)延遲期間,即在標(biāo)題啟動(dòng)之后和應(yīng)用程序進(jìn)入 操作狀態(tài)之前的期間,以全屏圖像顯示播放列表#1的播放圖像gjl。當(dāng)應(yīng)用程序#1在時(shí) 刻tl進(jìn)入操作狀態(tài)時(shí),顯示一個(gè)合成圖像gj2,它包含作為子屏的PL的播放圖像;以及作 為母屏的應(yīng)用程序的執(zhí)行圖像。該例子中應(yīng)用程序的執(zhí)行圖像是用于一種游戲的屏幕,其 中安排有啟動(dòng)按鈕、繼續(xù)按鈕以及電源指示器。另外,將該應(yīng)用程序的執(zhí)行圖像顯示為一個(gè) Java(Tm)應(yīng)用程序,執(zhí)行在互動(dòng)圖像平面12上畫出一個(gè)圖像的處理。為了執(zhí)行該畫圖處 理,Java(TM)應(yīng)用程序需要畫圖庫和字符庫。此后,只要同時(shí)進(jìn)行該應(yīng)用程序的執(zhí)行和該 PL的播放,就顯示該母-子屏。
在該例子中,應(yīng)用程序#1隨后異常終止,并且應(yīng)用程序管理器36在時(shí)刻t2探測 到該異常終止。箭頭brl象征性地指示了該探測。當(dāng)它發(fā)生時(shí),應(yīng)用程序管理器36在步驟 S20將PL的播放圖像轉(zhuǎn)換為全屏。在圖40中,在時(shí)刻t3轉(zhuǎn)換為全屏。如第一行的右手側(cè) 所示,按照全屏圖像的方式顯示播放圖像gj3。如上所述,根據(jù)本實(shí)施例,通過將播放列表管理表中的播放屬性設(shè)置為自動(dòng)播放 的這種安排,即使一個(gè)啟動(dòng)了的Java(TM)應(yīng)用程序需要花費(fèi)5到10秒才能進(jìn)入到操作狀 態(tài),在啟動(dòng)期間在屏幕上也有顯示?!捌聊簧嫌酗@示”的這種狀態(tài)緩解了開始執(zhí)行一個(gè)標(biāo)題 時(shí)發(fā)生的啟動(dòng)延遲。另外,如果發(fā)生應(yīng)用程序啟動(dòng)故障,或者如果應(yīng)用程序異常終止,那么還會(huì)繼續(xù)播 放在播放列表管理表中定義的播放列表,這也提供了其中“屏幕上有顯示”的狀態(tài)。通過這 種安排,可以避免裝置出現(xiàn)黑屏這種最壞情況。這至少在一定程度上可以使裝置的制造商 感到放心。實(shí)施例2實(shí)施例2涉及一項(xiàng)改進(jìn),其中在編寫程序期間就定義了錯(cuò)誤終止的恢復(fù)處理。為 了定義這樣一種恢復(fù)處理,在本實(shí)施例的記錄介質(zhì)中,在一個(gè)BD-J對象中提供了一個(gè)錯(cuò)誤 管理表。圖41A顯示了該BD-J對象的內(nèi)部結(jié)構(gòu)。如圖41A中所示,該BD-J對象除了包含 應(yīng)用程序和播放列表管理表之外,還包含一個(gè)錯(cuò)誤管理表(Error ManagementTable [bobj_ id])。圖41B顯示了該錯(cuò)誤管理表的內(nèi)部結(jié)構(gòu)。如圖41B中所示,該錯(cuò)誤管理表包含數(shù) 量由Number_of_recovery指示的多條恢復(fù)信息(recovery ())。圖4IB中的虛線“eml” 指示了由標(biāo)識(shí)符“recovery,!d,,標(biāo)識(shí)的一條給定的恢復(fù)信息的內(nèi)部結(jié)構(gòu)的局部放大 圖。由虛線“eml”指示的該條給定恢復(fù)信息包含參照值“Apli_id_ref”,它唯一地標(biāo) 識(shí)了對應(yīng)于該條恢復(fù)信息的應(yīng)用程序的標(biāo)識(shí)符;以及五個(gè)標(biāo)記“ReStart_Applicati0n_ flag”、“Continuous_Playback_flag”、“Select_Title_flag”、“Notify_Event_flag” 以及 “Reb00t_flag”。圖42顯示了這五個(gè)標(biāo)記的含義。接下來將描述錯(cuò)誤管理表中這五個(gè)標(biāo)記 的含義。當(dāng)將“ReStart_AppliCati0n_flag”設(shè)置為0時(shí),它指示了當(dāng)一個(gè)應(yīng)用程序異常終止時(shí),該應(yīng)用程序并不重新啟動(dòng),并且當(dāng)將它設(shè)置為除“O”之外的整數(shù)“η”時(shí),它指示了重復(fù)η次進(jìn)行重新啟動(dòng)。該標(biāo)記的缺省值為“O”。當(dāng)將“C0ntinu0uS_PlaybaCk_flag”設(shè)置為“0”時(shí),它指示了當(dāng)應(yīng)用程序異常終止 時(shí)并不繼續(xù)播放列表的播放,并且當(dāng)將它設(shè)置為“1”時(shí),它指示了當(dāng)應(yīng)用程序異常終止時(shí)繼 續(xù)播放列表的播放,而當(dāng)將它設(shè)置為“2”時(shí),它指示了當(dāng)應(yīng)用程序異常終止時(shí)繼續(xù)播放列表 的播放并且這種播放是按照全屏圖像和正常速度進(jìn)行的。該標(biāo)記的缺省值為“0”。當(dāng)將“SeleCt_Title_flag”設(shè)置為“0”時(shí),它指示了當(dāng)應(yīng)用程序異常終止時(shí)在標(biāo) 題之間不發(fā)生轉(zhuǎn)移,并且當(dāng)將它設(shè)置為除“0”之外的整數(shù)“η”時(shí),它指示了當(dāng)前標(biāo)題跳轉(zhuǎn)到 以“η”作為其標(biāo)題號(hào)的標(biāo)題。該標(biāo)記的缺省值為“0”。當(dāng)將“Notify_EVent_f lag”設(shè)置為“0”時(shí),它指示了當(dāng)應(yīng)用程序異常終止時(shí)不輸 出事件,并且當(dāng)將它設(shè)置為除“0”之外的整數(shù)“η”時(shí),它指示了輸出事件序號(hào)為“η”的事件。 該標(biāo)記的缺省值為“1”。當(dāng)將“Reboot_f lag”設(shè)置為“0”時(shí),它指示了當(dāng)應(yīng)用程序異常終止時(shí)并不執(zhí)行播 放裝置的引導(dǎo)程序,并且當(dāng)將它設(shè)置為“1”時(shí),它指示了執(zhí)行播放裝置的引導(dǎo)程序??梢栽诰帉懗绦蚱陂g通過上述標(biāo)記提前定義當(dāng)應(yīng)用程序異常終止時(shí)需要執(zhí)行的 恢復(fù)處理。現(xiàn)在,給出了錯(cuò)誤管理表的說明的一個(gè)具體例子。圖43A顯示了兩個(gè)標(biāo)題(標(biāo) 題#1、標(biāo)題#2),并且其中寫入了錯(cuò)誤管理表。在標(biāo)題#1的應(yīng)用程序管理表中,將應(yīng)用程序 #1寫為一種Aut0Rim(自動(dòng)運(yùn)行)應(yīng)用程序。并且在標(biāo)題#1的錯(cuò)誤管理表中,寫入了當(dāng)應(yīng) 用程序#1異常終止時(shí)需要用到的一條恢復(fù)信息。在標(biāo)題#1的播放列表管理表中,將播放 列表#1寫為一種AutoPlay (自動(dòng)播放)播放列表。在標(biāo)題#2的應(yīng)用程序管理表中,將應(yīng)用程序#2寫為一種AutoRun應(yīng)用程序。并 且在標(biāo)題#2的錯(cuò)誤管理表中,寫入了應(yīng)用程序#2的一條恢復(fù)信息。圖43B顯示了根據(jù)圖43A中所示應(yīng)用程序和錯(cuò)誤管理表從而執(zhí)行的一個(gè)應(yīng)用程序 的執(zhí)行進(jìn)度和一個(gè)播放列表的播放進(jìn)度。因?yàn)閼?yīng)用程序#1的恢復(fù)信息指示了 Continuom Playback_flag = 2,所以當(dāng)應(yīng)用程序#1異常終止時(shí)播放列表繼續(xù)播放,并且該播放是按照 全屏圖像和正常速度進(jìn)行的。另一方面,應(yīng)用程序#2的恢復(fù)信息指示Notify_EVent_flag = 2,所以當(dāng)應(yīng)用程序 #2異常終止時(shí)輸出序號(hào)為“2”的事件。使用這樣的恢復(fù)信息描述,可以為每個(gè)標(biāo)題和每個(gè)應(yīng)用程序定義應(yīng)用程序異常終 止時(shí)需要執(zhí)行的處理。通過向BD-J對象中加入錯(cuò)誤管理表,本實(shí)施例的應(yīng)用程序管理器36根據(jù)圖44和 45中所示的流程圖執(zhí)行處理。圖44是顯示了實(shí)施例2中應(yīng)用程序管理器36的工作步驟的 流程圖。與圖39中的情況相同,該流程圖包含了一個(gè)主環(huán)路,而該主環(huán)路包含步驟S1、S2、 S3以及S4。當(dāng)在主環(huán)路中選擇了一個(gè)標(biāo)題時(shí),就執(zhí)行步驟S21至S27的過程。在步驟S21,應(yīng)用程序管理器36使PLMT處理器41判斷在轉(zhuǎn)移目的地標(biāo)題中是否 有播放列表管理表。如果在轉(zhuǎn)移目的地標(biāo)題中存在播放列表管理表,那么應(yīng)用程序管理器 36就使播放控制引擎32啟動(dòng)在轉(zhuǎn)移源標(biāo)題中并未播放但是在轉(zhuǎn)移目的地中具有AutoPlay 屬性的一個(gè)PL的播放(步驟S22),并且然后判斷該播放是否成功(步驟S23)。如果在步 驟S23中判斷出該播放是成功的,那么執(zhí)行步驟S25到S28的過程。如果在步驟S23中判斷出該播放并不成功,那么控制就轉(zhuǎn)移到圖45中所示的流程圖。如果在轉(zhuǎn)移目的地標(biāo)題中沒有播放列表管理表,那么應(yīng)用程序管理器36就使播放控制引擎32停止在轉(zhuǎn)移源標(biāo)題中正在播放的一個(gè)PL的播放(步驟S24),并且執(zhí)行步驟 S25到S28的處理。在步驟S25,判斷在轉(zhuǎn)移目的地標(biāo)題中是否有應(yīng)用程序管理表。如果在轉(zhuǎn)移目的地 標(biāo)題中有應(yīng)用程序管理表,那么應(yīng)用程序管理器36就啟動(dòng)轉(zhuǎn)移目的地標(biāo)題中的AutoRim應(yīng) 用程序(步驟S26),并且在步驟S27,判斷該應(yīng)用程序是否成功地啟動(dòng),如果在步驟S27中 判斷出應(yīng)用程序成功地啟動(dòng),那么控制就返回到包含步驟Sl到S4的環(huán)路。如果判斷在步 驟S27中應(yīng)用程序未成功啟動(dòng),那么控制就轉(zhuǎn)移到圖45中所示的流程圖。圖45的流程圖顯示了當(dāng)一個(gè)應(yīng)用程序異常終止時(shí)執(zhí)行的工作步驟。在步驟S30 中,判斷發(fā)生異常終止的該應(yīng)用程序所屬的標(biāo)題中是否有錯(cuò)誤管理表。如果在步驟S30中 判斷出該標(biāo)題中沒有錯(cuò)誤管理表,那么控制就返回到包含步驟Sl到S4的環(huán)路。如果在步驟S30中判斷出該標(biāo)題中有錯(cuò)誤管理表,那么控制就轉(zhuǎn)移到步驟S44 然后返回到包含步驟Sl到S4的環(huán)路。在步驟S31,判斷錯(cuò)誤管理表中的Restart Application_flag是否為“O”。如果判斷出錯(cuò)誤管理表中的Restart_Application_flag不 為“0”,那么執(zhí)行包含步驟S40到S44的環(huán)路處理。在該環(huán)路處理中,將重新啟動(dòng)計(jì)數(shù)器設(shè) 置為寫入到ReStart_Applicati0n_flag的值“η” (步驟S40),并且然后執(zhí)行包含步驟S41 到S44的環(huán)路。該環(huán)路處理中的控制變量是該重新啟動(dòng)計(jì)數(shù)器。當(dāng)應(yīng)用程序成功啟動(dòng)(步 驟S44中為“Yes”)并且重新啟動(dòng)計(jì)數(shù)器變?yōu)椤癘”時(shí)(步驟S41中為“Yes”),該環(huán)路處理 結(jié)束。在該環(huán)路處理中,只要在步驟S41或S44中判斷出為“No”,那么就重復(fù)對該重新啟動(dòng) 計(jì)數(shù)器進(jìn)行減法操作(步驟S42)并且重復(fù)啟動(dòng)該AutoRim應(yīng)用程序。通過這種重復(fù),可以 重新啟動(dòng)異常終止的應(yīng)用程序。如果判斷出ReStart_Applicati0n_flag是“0”,那么就執(zhí) 行步驟S32。在步驟S32,判斷 Continuous_Playback_flag 是“0”、“1” 還是 “2”。如果判斷出 C0ntinu0uS_Playback_flag是“2”,那么就按照全屏方式顯示AutoPlay PL的播放圖像(步 驟S33),并且控制返回到包含步驟Sl到S4的主環(huán)路。如果判斷出C0ntinu0uS_PlaybaCk_flag是“1”,那么就按照四分之一屏幕的方式 繼續(xù)AutoPlay PL的播放圖像(步驟S34),并且控制返回到包含步驟Sl到S4的主環(huán)路。如果判斷出Continuous_Playback_flag是“0”,那么控制就轉(zhuǎn)移到步驟S35。在步驟S35,判斷錯(cuò)誤管理表中SeleCt_title_flag是否不為“O”。如果判斷出 select_title_flag為“0”,那么控制轉(zhuǎn)移到步驟S37。如果判斷出select_title_flag不 為“0”,那么就將轉(zhuǎn)移目的地標(biāo)題設(shè)置為寫在SeleCt_title_flag中的值“η” (步驟S36), 并且控制轉(zhuǎn)移到如圖44中所示的步驟S37,在步驟S37,判斷錯(cuò)誤管理表中Notify_EVent_flag是否不為“O”。如果判斷出 Notify_Event_flag為“0”,那么控制轉(zhuǎn)移到步驟S39。如果判斷出Notify_Event_flag不 為“0”,那么就生成由Notify_Event_flag的值“η”標(biāo)識(shí)的事件“η”(步驟S38),并且控制 轉(zhuǎn)移到包含步驟Sl到S4的主環(huán)路,如圖44中所示。在步驟S39,判斷判斷錯(cuò)誤管理表中 B00t_flag是否不為“O”。如果判斷出B00t_flag為“0”,那么控制轉(zhuǎn)移到包含步驟Sl到 S4的主環(huán)路。如果判斷出B00t_flag不為“0”,那么控制就轉(zhuǎn)移到圖44的開始處,并且執(zhí)行播放裝置的引導(dǎo)程序。如上所述,根據(jù)本實(shí)施例,可以由程序編寫者而不是裝置制造者定義當(dāng)應(yīng)用程序 異常終止時(shí)播放裝置應(yīng)該如何執(zhí)行操作。這里應(yīng)該注意到,可以將這樣一個(gè)程序嵌入到播放裝置中在播放一個(gè)不具有錯(cuò) 誤管理表的標(biāo)題期間,當(dāng)一個(gè)應(yīng)用程序異常終止時(shí),該程序就執(zhí)行一種恢復(fù)處理。另外,在標(biāo)題跳轉(zhuǎn)API中可以提供指定Restart_Application_Flag至Reboot_ Flag中任何一個(gè)的參數(shù),從而應(yīng)用程序管理器36可以執(zhí)行對應(yīng)于在標(biāo)題跳轉(zhuǎn)API中提供的 參數(shù)的恢復(fù)處理。
實(shí)施例3在實(shí)施例1中我們描述過了,可以將BD-J對象中的播放列表管理表用于定義 Java(TM)虛擬機(jī)中PL的播放。本實(shí)施例則將重點(diǎn)放在通過應(yīng)用程序的JMF方法的PL的播 放。這樣做所帶來的一個(gè)問題是播放列表管理表。也就是說,因?yàn)樵诓シ帕斜砉芾肀碇幸?經(jīng)描述了是否可以播放一個(gè)PL,所以在某些標(biāo)題中可以播放該P(yáng)L,而在另外一些標(biāo)題中則 不能播放該P(yáng)L。另外,還有這樣一種情況,其中從版權(quán)保護(hù)的角度出發(fā),我們希望禁止某種 特定的應(yīng)用程序?qū)σ粋€(gè)PL進(jìn)行播放,盡管我們已經(jīng)將該P(yáng)L定義為可以播放。為了實(shí)現(xiàn)這 種對PL的播放的限制,在實(shí)施例3中,許可控制器42和應(yīng)用程序管理器36執(zhí)行以下處理。如果一個(gè)應(yīng)用程序請求播放一個(gè)PL,那么許可控制器42就執(zhí)行與該應(yīng)用程序的 互相認(rèn)證,并且判斷請求播放該P(yáng)L的應(yīng)用程序是否被授權(quán)播放該P(yáng)L。如果該應(yīng)用程序被授 權(quán)播放該P(yáng)L,那么許可控制器42就請求控制機(jī)32播放該P(yáng)L。如果未授權(quán)該應(yīng)用程序播放 該P(yáng)L,那么許可控制器42就向請求PL播放的應(yīng)用程序輸出一個(gè)響應(yīng)事件,該事件指示了請 求未被許可。通過這種由許可控制器42判斷是否許可應(yīng)用程序發(fā)出的播放PL的請求,如 果發(fā)行人所發(fā)行的PL被請求用另一個(gè)發(fā)行人所發(fā)行的應(yīng)用程序播放,那么該請求就可能 會(huì)被拒絕。這使得不能使用非授權(quán)的應(yīng)用程序播放一個(gè)PL。許可控制器42所做出的判斷 是基于允許播放的PL和應(yīng)用程序的組合以及不允許播放的PL和應(yīng)用程序的組合,并且在 記錄于BD-ROM中的許可文件中定義了這些組合。這里省略了對這樣一種文件的詳細(xì)描述, 因?yàn)樗x了本申請的主題。在實(shí)施例3中,應(yīng)用程序管理器36響應(yīng)于一個(gè)應(yīng)用程序發(fā)出的請求,通知可以在 當(dāng)前播放時(shí)間點(diǎn)播放的一個(gè)PL。圖46是一個(gè)流程圖,它顯示了應(yīng)用程序管理器36所做出 的這種通知的步驟。在該流程圖中,在一個(gè)應(yīng)用程序啟動(dòng)期間,對該應(yīng)用程序是否發(fā)出了通 知一個(gè)可播放PL的請求(GetPL)進(jìn)行監(jiān)視(步驟S45)。如果判斷出該應(yīng)用程序發(fā)出了這 樣一種請求,那么繼續(xù)判斷在當(dāng)前播放點(diǎn)所屬的標(biāo)題所包含的BD-J對象中是否存在播放 列表管理表(步驟S46)。如果在該播放列表管理表中寫入了一個(gè)PL,那么就將寫入到播放 列表管理表中的該P(yáng)L作為可播放PL通知給請求播放的該應(yīng)用程序(步驟S47)。如果在播放列表管理表中未寫入一個(gè)PL,那么就向請求播放的該應(yīng)用程序發(fā)送一 條PL的播放不可用的通知(步驟S48)。到目前為止,已經(jīng)描述了實(shí)施例3中應(yīng)用程序管理 器36所執(zhí)行的步驟。接下來將描述當(dāng)請求一個(gè)PL的播放時(shí)應(yīng)用程序管理器36所執(zhí)行的步驟。在實(shí)施 例3中,應(yīng)用程序管理器36根據(jù)圖47所示流程圖執(zhí)行處理。在圖47中,應(yīng)用程序管理器36判斷是否有一個(gè)應(yīng)用程序請求對一個(gè)PL的播放(步驟S51)。如果有請求一個(gè)PL的播放的應(yīng)用程序,那么應(yīng)用程序管理器36就使得許可控制器42執(zhí)行一種認(rèn)證,從而判斷請求該播放的應(yīng)用程序是否被授權(quán)播放該P(yáng)L (步驟S52)。 如果該應(yīng)用程序被授權(quán)播放該P(yáng)L,那么應(yīng)用程序管理器36就命令播放控制引擎32啟動(dòng)該 播放(步驟S53),并且等待由播放控制引擎32發(fā)出的指示成功的響應(yīng)(步驟S54)。當(dāng)接收到這樣一種播放請求時(shí),播放控制引擎32檢查播放列表信息的真實(shí)性。該檢查包含檢查其中存儲(chǔ)有播放列表信息、剪輯信息以及AV剪輯的BD-ROM和本地存儲(chǔ) 器18是否構(gòu)成一個(gè)適當(dāng)?shù)牟シ帕斜?;以及由播放列表信息中Clip_Inf0rmati0n_file_ name指定的該剪輯信息和AV剪輯是否存儲(chǔ)于BD-ROM和本地存儲(chǔ)器18上。在其中clip_ Information_file_name并未指向一個(gè)適當(dāng)文件的情況下,或者在其中包含BD-ROM和本地 存儲(chǔ)器18的虛擬包中存在矛盾并且無法構(gòu)建一個(gè)適當(dāng)?shù)牟シ帕斜淼那闆r下,播放控制引 擎32會(huì)返回一個(gè)指示“錯(cuò)誤”的響應(yīng)。如果在上述工作步驟之后返回一個(gè)“成功”響應(yīng),那么就向請求播放的應(yīng)用程序發(fā) 出一個(gè)指示播放PL成功的事件(步驟S55)。如果并未返回一個(gè)“成功”響應(yīng),那么就向請 求播放的應(yīng)用程序發(fā)出一個(gè)指示播放PL失敗的事件(步驟S56)。另一方面,如果在步驟 S52判斷出請求播放的應(yīng)用程序未被授權(quán)播放該P(yáng)L,那么就向請求播放的應(yīng)用程序發(fā)出一 個(gè)指示無法播放PL的事件(步驟S57)。如上所述,本實(shí)施例使得如果對每個(gè)標(biāo)題都定義了是否可以播放一個(gè)播放列表, 并且如果某些應(yīng)用程序被授權(quán)可以播放一個(gè)播放列表,而其它應(yīng)用程序不具有這種授權(quán), 那么就可以響應(yīng)于一個(gè)應(yīng)用程序發(fā)出的請求從而適當(dāng)?shù)貓?zhí)行一個(gè)播放列表的播放。這使得 可以通過組合應(yīng)用程序的執(zhí)行和播放列表的播放來提供多種內(nèi)容表示。實(shí)施例4在實(shí)施例1中我們描述過,通過使我們期望播放的播放列表附加有播放屬性 “AutoPlay”,可以命令播放裝置在啟動(dòng)標(biāo)題時(shí)播放該AutoPlay PL。但是,本實(shí)施例涉及一 種改進(jìn),其中在BD-ROM中記錄了一種無邊界應(yīng)用程序,并且當(dāng)標(biāo)題啟動(dòng)時(shí),使得該無邊界 應(yīng)用程序選擇要自動(dòng)啟動(dòng)的標(biāo)題。無邊界應(yīng)用程序是這樣一種應(yīng)用程序它與播放裝置中的常駐應(yīng)用程序(例如播 放控制引擎32)相同,并且響應(yīng)于該播放控制引擎32發(fā)出的請求從而執(zhí)行一個(gè)處理,該處 理是從寫在播放列表管理表中的多條播放列表信息中選擇一條與播放裝置側(cè)的PSR設(shè)置 值相匹配的播放列表信息,并且通知該條被選中的播放列表信息。為了使無邊界應(yīng)用程序選擇一個(gè)PL,將播放列表管理表中的關(guān)于請求這樣一個(gè)選 擇的標(biāo)題的所有播放屬性都設(shè)置為“未指定”。這是因?yàn)閷ⅰ八袑傩晕粗付ā庇米饕环N觸 發(fā)事件,使得播放控制引擎32請求該無邊界應(yīng)用程序選擇一個(gè)PL。無邊界應(yīng)用程序所進(jìn)行的選擇是基于在編寫程序期間所定義的選擇算法。圖48A 到48C通過表的形式顯示了嵌入到無邊界應(yīng)用程序中的選擇算法的內(nèi)容。該表指示了對應(yīng) 于PL的PSR值的范圍,當(dāng)PSR具有該值時(shí),該P(yáng)L將被播放。在這些圖中,圖48A顯示了基 于母級(jí)別的選擇算法的內(nèi)容。在該播放裝置中母級(jí)別被設(shè)置為PSR(13)。更具體地說,將指 示用戶年齡的一個(gè)整數(shù)設(shè)置在PSR(13)中,并且播放裝置將該整數(shù)視為母級(jí)別。在圖48A 中,PSR(13)的值可以分為三個(gè)范圍小于14 ;大于等于14并且小于18 ;以及大于等于18。 另外,為這些范圍中的每種都指示了一個(gè)要被播放的播放列表。因此,基于這樣一種選擇算法,如果PSR設(shè)置值小于14,那么無邊界應(yīng)用程序就選擇播放列表#1 ;如果PSR設(shè)置值大于 等于14并且小于18,那么無邊界應(yīng)用程序就選擇播放列表#2 ;并且如果PSR設(shè)置值大于等 于18,那么無邊界應(yīng)用程序就選擇播放列表#3。圖48B顯示了基于音頻語言的選擇算法的內(nèi)容。在播放裝置中將音頻語言設(shè)置到PSR(16)。更具體地說,將一個(gè)整數(shù)設(shè)置在PSR(16)中,并且播放裝置認(rèn)為該整數(shù)指定了用 于音頻播放的語言。在圖48B中,PSR(16)的值可以分為三種范圍英語;日語;以及其它。 另外,為這些范圍中的每種都指示了一個(gè)要被播放的播放列表。因此,基于這樣一種選擇算 法,如果PSR(16)設(shè)置值指示英語,那么無邊界應(yīng)用程序就選擇播放列表#1 ;如果PSR(16) 設(shè)置值指示日語,那么無邊界應(yīng)用程序就選擇播放列表#2 ;并且如果PSR(16)設(shè)置值指示 除英語和日語之外的其它語言,那么無邊界應(yīng)用程序就選擇播放列表#3。圖48C顯示了基于用于視頻的播放器配置的選擇算法的內(nèi)容。在播放裝置中將用于視頻的播放器配置設(shè)置到PSR(14)。更具體地說,將一個(gè)整數(shù)設(shè)置在PSR(14)中,并且播 放裝置認(rèn)為該整數(shù)指定了用于視頻播放的環(huán)境。在圖48C中,PSR(14)的值可以分為三種范 圍分辨率525x600的電視系統(tǒng)信箱;分辨率525x600的電視系統(tǒng);以及分辨率1920x1080 的電視系統(tǒng)。另外,為這些范圍中的每種都指示了一個(gè)要被播放的播放列表。因此,基于這 樣一種選擇算法,如果PSR(14)設(shè)置值指示分辨率525x600的電視系統(tǒng)信箱,那么無邊界 應(yīng)用程序就選擇播放列表#1 ;如果PSR(14)設(shè)置值指示分辨率525x600的電視系統(tǒng),那么 無邊界應(yīng)用程序就選擇播放列表#2 ;并且如果PSR(14)設(shè)置值指示分辨率1920x1080的電 視系統(tǒng),那么無邊界應(yīng)用程序就選擇播放列表#3。通過使用一種計(jì)算機(jī)描述語言描述如圖 48A到48C所示的條件轉(zhuǎn)移就可以生成如圖48A到48C所示的選擇算法。到目前為止,已經(jīng)描述了本實(shí)施例中記錄介質(zhì)的一種改進(jìn)。接下來將描述本實(shí)施 例中播放裝置的一種改進(jìn)。該改進(jìn)主要包含對應(yīng)用程序管理器36和播放控制引擎32的改 進(jìn)。當(dāng)標(biāo)題之間發(fā)生轉(zhuǎn)移時(shí),應(yīng)用程序管理器36參考播放列表管理表并且判斷在該 播放列表管理表中是否存在AutoRun PL。如果沒有AutoRun PL,那么應(yīng)用程序管理器36 就將該播放列表管理表轉(zhuǎn)移到播放控制引擎32中,并且請求播放控制引擎32自動(dòng)播放寫 在該播放列表管理表中的一個(gè)PL。當(dāng)播放控制引擎32接收到播放列表管理表時(shí),它會(huì)請求無邊界應(yīng)用程序選擇PL。 當(dāng)播放控制引擎32從無邊界應(yīng)用程序接收到該無邊界應(yīng)用程序響應(yīng)于該請求從而發(fā)送的 可播放PL的列表時(shí),它判斷在該表中所列出的PL中是否有一個(gè)寫在從播放項(xiàng)轉(zhuǎn)移而來的 播放列表管理表中的PL。并且如果在這些由無邊界應(yīng)用程序選擇的PL中有一個(gè)寫在播放 列表管理表中的PL,那么播放控制引擎32就自動(dòng)播放該P(yáng)L。圖49顯示了標(biāo)題無邊界應(yīng)用程序選擇PL的過程。在圖49的左手側(cè),顯示了播 放裝置中軟件的層結(jié)構(gòu)。在圖49的右手側(cè),顯示了 BD-ROM的內(nèi)容。在圖49中,符號(hào) 1、 ◎ 2、 3、 4分別代表以下內(nèi)容應(yīng)用程序管理器36發(fā)出的在播放列表管理表中沒有自 動(dòng)播放的通知( 1);播放控制引擎32發(fā)出的指示可播放PL的請求( 2);標(biāo)題無邊界 應(yīng)用程序?qū)SR設(shè)置值的獲取( 3);以及標(biāo)題無邊界應(yīng)用程序向播放控制引擎32發(fā)出 的關(guān)于可播放PL的通知(◎ 4)。這里在圖49中應(yīng)該注意到,出于方便的考慮將標(biāo)題無邊界應(yīng)用程序?qū)懙紹D-ROM上。因?yàn)闃?biāo)題無邊界應(yīng)用程序是一種Java(TM)應(yīng)用程序,所以更接近于實(shí)際情況的描述是標(biāo)題無邊界應(yīng)用程序是一種由Java(TM)虛擬機(jī)38的工作存儲(chǔ)器54中線程55執(zhí)行的 一種實(shí)例。根據(jù)上述的本實(shí)施例,使得位于標(biāo)題邊界處的一個(gè)應(yīng)用程序做出上述判斷。這使 得播放裝置中的播放控制引擎32在啟動(dòng)一個(gè)標(biāo)題后的較早階段就可以從記錄于BD-ROM上 的眾多PL中識(shí)別這樣一個(gè)PL 它滿足播放裝置中設(shè)置的條件。這使得即使不預(yù)先確定具 有“AutoPlay”播放屬性的應(yīng)用程序,也可以在該標(biāo)題的起始處確定一個(gè)要被播放的PL。艮P 使在BD-J模式中也可以實(shí)現(xiàn)例如語言信用和母鎖定的播放控制。這里應(yīng)該注意到,盡管在本實(shí)施例中選擇算法將PSR值和播放列表聯(lián)系在一起, 但是還可以預(yù)先定義當(dāng)播放裝置中的PSR設(shè)置值超出假定范圍時(shí)要被播放的播放列表。實(shí)施例5在實(shí)施例4中,標(biāo)題無邊界應(yīng)用程序具有一種用于根據(jù)PSR設(shè)置值選擇要被播放 的PL的選擇算法。本實(shí)施例涉及一種改進(jìn),其中當(dāng)一個(gè)PL具有多角度周期時(shí),使得標(biāo)題無 邊界應(yīng)用程序可以從該多角度周期包含的多個(gè)角度中選擇一個(gè)角度。本實(shí)施例中的標(biāo)題無 邊界應(yīng)用程序?qū)⒍鄠€(gè)PSR值范圍與要被播放的角度聯(lián)系到了一起。在本實(shí)施例中,如果當(dāng) 前播放時(shí)間點(diǎn)位于一個(gè)多角度周期中,那么播放控制引擎32就請求標(biāo)題無邊界應(yīng)用程序 選擇一個(gè)要被播放的角度。當(dāng)標(biāo)題無邊界應(yīng)用程序接收到這樣一個(gè)請求時(shí),它就獲得當(dāng)前 所設(shè)置的PSR值,執(zhí)行一種選擇算法,并且選擇對應(yīng)于所獲得的設(shè)置值的一個(gè)角度。標(biāo)題無 邊界應(yīng)用程序向播放控制引擎32通知選擇的結(jié)果,從而播放控制引擎32播放該選擇的角 度。如上所述,根據(jù)本實(shí)施例,負(fù)責(zé)編寫程序的人可以定義一種用于根據(jù)PSR值選擇 角度的算法。這使得負(fù)責(zé)編寫程序的人可以使用多種角度寫出多種應(yīng)用程序。實(shí)施例6實(shí)施例6涉及實(shí)現(xiàn)BD-J模式中PL的播放的同步的一種改進(jìn)。當(dāng)調(diào)用PlayPLAPI 函數(shù)時(shí),播放控制引擎32根據(jù)PL信息執(zhí)行工作步驟。如果PL具有兩個(gè)小時(shí)的播放周期,那 么上述的工作步驟在這兩個(gè)小時(shí)內(nèi)就會(huì)一直持續(xù)。這樣所引發(fā)的一個(gè)問題是,在Java(TM) 虛擬機(jī)38返回一個(gè)響應(yīng)“成功”的時(shí)刻和播放控制引擎32實(shí)際上結(jié)束該過程的時(shí)刻之間 存在一段間隙。在一個(gè)調(diào)用之后,主要用于執(zhí)行事件驅(qū)動(dòng)過程的Java(TM)虛擬機(jī)38立即 就返回一個(gè)指示成功或失敗的響應(yīng)。但是,因?yàn)椴シ趴刂埔?2實(shí)際上在兩個(gè)小時(shí)之后才 結(jié)束處理,所以并不能通過一個(gè)調(diào)用之后立即就被返回的響應(yīng)“成功”確認(rèn)該處理的結(jié)束。 如果在PL播放期間執(zhí)行了快進(jìn)、后退或跳讀,那么該周期就會(huì)從兩個(gè)小時(shí)變?yōu)樾∮诨蚨嘤?兩個(gè)小時(shí)。當(dāng)出現(xiàn)上述情況時(shí),就更加難以識(shí)別處理的結(jié)束。播放控制引擎32獨(dú)立于應(yīng)用程序進(jìn)行工作。因此,應(yīng)用程序管理器36不能準(zhǔn)確 地確定PL播放結(jié)束的時(shí)刻。所以,在本實(shí)施例中,無論應(yīng)用程序是否終止,只要在工作存儲(chǔ) 器中有一個(gè)JMF播放器實(shí)例,也就是說只要BD-J模塊35被授權(quán)對呈現(xiàn)引擎31進(jìn)行控制, 那么就會(huì)一直等待由播放控制引擎32發(fā)出的通知事件。如果從播放控制引擎32接收到了 一個(gè)通知事件,那么就可以確定標(biāo)題已經(jīng)終止,并且命令模塊管理器34轉(zhuǎn)移跳轉(zhuǎn)到下一個(gè) 標(biāo)題。通過這樣一種安排,可以將播放控制引擎32結(jié)束一個(gè)PL播放的時(shí)刻視為標(biāo)題終止 的時(shí)刻。
接下來將參考圖50到54中所示流程圖,具體描述播放控制引擎32所執(zhí)行的控制
工作步驟。圖50是一個(gè)流程圖,顯示了播放控制引擎32所執(zhí)行的PL播放的步驟。該播放步 驟主要包含對呈現(xiàn)引擎31的控制(步驟S106)和對BD-ROM驅(qū)動(dòng)器1或本地存儲(chǔ)器18的 控制(步驟S108)。在該流程圖中,將處理目標(biāo)播放項(xiàng)指示為播放項(xiàng)#x。在該流程圖中,首 先讀取當(dāng)前PL信息(.mpls)(步驟S101),并且執(zhí)行步驟S102到SllO的過程。步驟S102 到SllO組成了一種環(huán)路處理,其中對于當(dāng)前PL信息所包含的每條PI信息都重復(fù)執(zhí)行步驟 S103到S110,直到在步驟S109中判斷為“YES”。在該環(huán)路處理中,將處理目標(biāo)播放項(xiàng)指示 為播放項(xiàng)#x(PI#x)。如果當(dāng)前PL的起始處的播放項(xiàng)設(shè)置為播放項(xiàng)#x,那么就對該播放項(xiàng) #x進(jìn)行初始化(步驟S102)。對于上述環(huán)路處理來說,結(jié)束的條件是判斷出播放項(xiàng)#x是當(dāng) 前PL中的最后播放項(xiàng)(步驟S109)。如果播放項(xiàng)#x不是當(dāng)前PL中的最后播放項(xiàng),那么就 將當(dāng)前PL中的下一個(gè)播放項(xiàng)設(shè)置為播放項(xiàng)#x(步驟Sl 10)。步驟S103到SllO按照如下方式在環(huán)路處理中重復(fù)執(zhí)行。將播放項(xiàng)#x的Clip_ information_file_name指定的剪輯信息讀入到腳本存儲(chǔ)器25中(步驟S103)。使用當(dāng)前 剪輯信息的EPmap將播放項(xiàng)#x的In_time轉(zhuǎn)換為一個(gè)I圖像地址“U” (步驟S104)。使用 當(dāng)前剪輯信息的EPmap將播放項(xiàng)#x的0ut_time轉(zhuǎn)換為一個(gè)I圖像地址“V” (步驟S105)。 將I圖像地址“V”的下一個(gè)I圖像地址減1,并將得到的結(jié)果地址設(shè)置為地址“W” (步驟 S107)。命令BD-ROM驅(qū)動(dòng)器1或本地存儲(chǔ)器從I圖像地址“U”到地址“W”的位置處讀取TS 包(步驟S108)。另一方面,命令呈現(xiàn)引擎3 1輸出數(shù)據(jù),并且這些數(shù)據(jù)的范圍是從當(dāng)前PLMark的 mark_time_stamp到播放項(xiàng)#x的0ut_time (步驟S106)。通過執(zhí)行步驟S105到S108,可以 播放由播放項(xiàng)#x指定的一部分AV剪輯。在此之后,判斷該播放項(xiàng)#x是否為當(dāng)前PL中的最后播放項(xiàng)(步驟S109)。如果判斷出播放項(xiàng)#x不是當(dāng)前PL中的最后播放項(xiàng),那么就將當(dāng)前PL中的下一個(gè) 播放項(xiàng)設(shè)置為播放項(xiàng)#x(步驟S110),并且控制返回到步驟S103。重復(fù)上述步驟S103到 SllO從而按順序播放該P(yáng)L包含的播放項(xiàng)。圖51是一個(gè)流程圖,顯示了角度改變步驟和用于向回跳讀/向下跳讀的步驟。該 流程圖與圖50中所示的步驟并行執(zhí)行,并且重復(fù)執(zhí)行包含步驟Slll到S112的環(huán)路處理。 在該環(huán)路的步驟Slll中,判斷從Java(TM)虛擬機(jī)38中是否發(fā)出了一個(gè)請求角度改變的 API。并且如果判斷出發(fā)出了請求角度改變的API,那么就將當(dāng)前剪輯信息變?yōu)榱硗庖粋€(gè)。在圖51的步驟S115中,判斷播放項(xiàng)#x的is_multi_angles是否為“ON”。該is_multi_angles是一種指示播放項(xiàng)#x是否對多角度做好了準(zhǔn)備的標(biāo)記。如果在步驟S115中 判斷為“N0”,那么控制就轉(zhuǎn)移到步驟S113。如果在步驟S115中判斷為“YES”,那么就執(zhí)行 步驟S116到S119。步驟S116到S119是按照以下方式執(zhí)行的。用變量” y”代替角度改變 之后的角度號(hào)(步驟S116)。將播放項(xiàng)#x中第“y”個(gè)Clipjnformatiorufilejame指定 的一條剪輯信息讀取到腳本存儲(chǔ)器21 (步驟S117)。使用當(dāng)前剪輯信息的EP_map將當(dāng)前 PTM轉(zhuǎn)換為一個(gè)I圖像地址“u”(步驟S118)。使用當(dāng)前剪輯信息的EP_map將播放項(xiàng)#x的 0ut_time轉(zhuǎn)換為I圖像地址“V” (步驟Sl 19)。在如上面所述改變I圖像地址“U”和“V” 之后,就停止與本處理同時(shí)執(zhí)行的圖50中所示處理,然后控制轉(zhuǎn)移到步驟S106。通過轉(zhuǎn)移到步驟S106,從另一個(gè)AV剪輯讀取TS包,并且改變了視頻內(nèi)容。另一方面,在圖51的環(huán)路中的步驟S112中,判斷從Java(TM)虛擬機(jī)38中是否調(diào) 用了一個(gè)向回跳讀/向下跳讀API。并且如果判斷出調(diào)用了向回跳讀/向下跳讀API,那么 就執(zhí)行圖52的流程圖中所示的步驟。圖52是一個(gè)流程圖,顯示了當(dāng)判斷出發(fā)出了向回跳 讀/向下跳讀API時(shí)執(zhí)行的步驟。可以按照多種方式實(shí)現(xiàn)用于執(zhí)行向回跳讀或向下跳讀的 步驟。因此,應(yīng)該注意到這里僅描述了一個(gè)這樣的例子。在步驟S121,通過對PSR指示的當(dāng)前PI號(hào)和當(dāng)前PTM進(jìn)行轉(zhuǎn)換從而獲得當(dāng)前標(biāo) 記信息。在步驟S122,判斷按下的鍵是否為向下跳讀或是向回跳讀。如果按下的是向下跳 讀,那么在步驟S123中將方向標(biāo)記設(shè)置為“+1”。如果按下的是向回跳讀,那么在步驟S124 中將方向標(biāo)記設(shè)置為“-1”。在步驟S125中,將當(dāng)前PLMark編號(hào)設(shè)置為通過將當(dāng)前PLMark號(hào)與方向標(biāo)記的值相加而得到的數(shù)量。這里,如果按下的是向下跳讀鍵,那么就將方向標(biāo)記設(shè)置為“+1”,并且 因此當(dāng)前PLMark增加。如果按下的是向回跳讀鍵,那么就將方向標(biāo)記設(shè)置為“_1”,并且因 此當(dāng)前PLMark減小。在步驟S126中,將當(dāng)前PLMark的ref_to_PlayItem_Id中描述的PI設(shè)置到播放 項(xiàng)#x。在步驟S127,讀取播放項(xiàng)#x的Clip_information_file_name指定的剪輯信息。在 步驟S128,使用當(dāng)前剪輯信息的EPjnap將當(dāng)前PLMark的mark_time_stamp轉(zhuǎn)換為一個(gè)I 圖像地址“U”。另一反面,使用當(dāng)前剪輯信息的EP_map將播放項(xiàng)#x的0ut_time轉(zhuǎn)換為一 個(gè)I圖像地址“V”。在步驟S130,命令呈現(xiàn)引擎31輸出數(shù)據(jù),并且這些數(shù)據(jù)的范圍是從當(dāng) 前PLMark的mark_time_stamp到播放項(xiàng)#x的0ut_time。停止與本處理并行執(zhí)行的圖50 中所示的處理,并且然后控制轉(zhuǎn)移到圖50的步驟S107。通過這種方式,在改變I圖像地址 “U”和“V”并且命令播放另一部分之后,控制轉(zhuǎn)移到步驟S107。通過轉(zhuǎn)移到步驟S107,從另 一個(gè)AV剪輯讀取TS包,并且改變了視頻的內(nèi)容。圖53是一個(gè)流程圖,詳細(xì)顯示了呈現(xiàn)引擎31的工作步驟。在該流程圖中,將I圖 像的PTS設(shè)置到當(dāng)前PTM之后(步驟S131),執(zhí)行包含步驟S132到步驟S137的環(huán)路處理。接下來將描述包含步驟S132到S137的環(huán)路處理。在該環(huán)路處理中,反復(fù)輸出對應(yīng) 于當(dāng)前PTM的圖像和音頻并且反復(fù)更新當(dāng)前PTM。在該環(huán)路處理中,步驟S136定義了該環(huán) 路處理結(jié)束所必需的條件。也就是說,步驟S136定義了必須要由該環(huán)路處理結(jié)束當(dāng)前PTM 就是 PI#x 的 0ut_time。在步驟S133,判斷Java(TM)虛擬機(jī)38是否調(diào)用了快退API或快進(jìn)API。如果判 斷出調(diào)用了快退API或快進(jìn)API,那么就在步驟S138中判斷所調(diào)用的API是快進(jìn)還是快退。 如果是快進(jìn),那么將下一個(gè)I圖像的PTS設(shè)置到當(dāng)前PTM(步驟S139)。通過將當(dāng)前PTM設(shè) 置到下一個(gè)I圖像的PTS,可以實(shí)現(xiàn)每秒以向前跳讀的方式播放AV剪輯。通過這種安排,可 以按照兩倍速度或其它速度向前播放AV剪輯。如果是快退,那么就判斷當(dāng)前PTM是否已經(jīng) 到達(dá)了播放項(xiàng)#x的0ut_time (步驟S140)。如果判斷出當(dāng)前PTM未到達(dá)播放項(xiàng)#x的0ut_ time,那么就將前一個(gè)I圖像的PTS設(shè)置到當(dāng)前PTM(步驟S141)。以這種方式,通過將讀取 目的地地址A設(shè)置到前一個(gè)I圖像,可以實(shí)現(xiàn)每秒以向后跳讀的方式播放AV剪輯。通過這 種安排,可以按照兩倍速度或其它速度向后播放AV剪輯。可以通過多種方式實(shí)現(xiàn)快進(jìn)或快 退的步驟。因此,應(yīng)該注意到這里僅描述了一個(gè)這樣的例子。
在步驟S134,判斷是否調(diào)用了菜單調(diào)用API。如果判斷出調(diào)用了菜單調(diào)用API,那么就暫停當(dāng)前播放過程(步驟S142),并且執(zhí)行用于菜單過程的菜單程序(步驟S143)。通 過該過程,如果執(zhí)行了菜單調(diào)用,那么就可以暫停播放過程,并且執(zhí)行用于菜單過程的菜單 程序。在步驟S135,判斷是否有一個(gè)在SynC_PlayItem_id中已經(jīng)為其指定了了播放項(xiàng) #x (Playltem#x)的子播放項(xiàng)#y (SubPlayItem#y)。如果判斷出存在這樣一個(gè)子播放項(xiàng)#y, 那么控制就轉(zhuǎn)移到圖54中所示的流程圖。圖54是一個(gè)流程圖,它顯示了子播放項(xiàng)的工作 步驟。在該流程圖中,首先在步驟S146中判斷當(dāng)前PTM是否是子PI#y的Sync_Start_PTS_ of_PlayItem。如果判斷出當(dāng)前 PTM 是子 PI#y 的 Sync_start_PTS_of_PlayItem,那么控制 就轉(zhuǎn)移到步驟S153,并且在該步驟中命令播放控制引擎32執(zhí)行子播放項(xiàng)#y的播放過程。如果在步驟S136中判斷為“YES”,那么就執(zhí)行步驟S144和S145。在步驟S144 中,判斷是否滿足下述兩個(gè)條件(i)虛擬機(jī)文件系統(tǒng)30輸出了文件事件的通知結(jié)束;以及 ( )解碼器輸出了解碼事件的通知結(jié)束。如果上述兩個(gè)條件都得到滿足,那么就將流事件 的通知結(jié)束輸出到播放控制引擎32。圖54中包含步驟S147到S152的流程圖顯示了基于子播放項(xiàng)#y的工作步驟。在步驟S147中,讀取由子播放項(xiàng)#y的Clip_information_file_name指定的剪輯 信息。在步驟S148,使用當(dāng)前剪輯信息的將子EP_ map將子播放項(xiàng)#y&ln_time轉(zhuǎn)換為地 址α。在步驟S149,使用當(dāng)前剪輯信息的EP_map將子播放項(xiàng)#y的0ut_time轉(zhuǎn)換為地址 β。在步驟S150中,命令解碼器輸出子播放項(xiàng)的In_time到0ut_time。將I圖像地址β 的下一個(gè)I圖像地址減1,并且將得到的結(jié)果設(shè)置到地址Y (步驟S151)。命令BD-ROM驅(qū) 動(dòng)器1或本地存儲(chǔ)器18從子剪輯#ζ中地址α到地址Υ的位置讀取TS包(步驟S152)。現(xiàn)在,回到圖50,我們將繼續(xù)描述播放控制引擎32的過程。在步驟S19中,判斷呈 現(xiàn)引擎31是否已經(jīng)完成了播放控制。步驟S131中將一直判斷為“Ν0”,直到圖53的流程圖 中所示過程執(zhí)行到最后一個(gè)播放項(xiàng)#x。當(dāng)完成了圖53的流程圖中所示過程時(shí),在步驟S131 中判斷為“YES”,并且控制轉(zhuǎn)移到步驟S114。在步驟Sl 14,通知事件將被輸出到Java(TM) 虛擬機(jī)38中。通過該輸出,Java(TM)虛擬機(jī)38可以識(shí)別出播放已經(jīng)進(jìn)行了兩個(gè)小時(shí)。根據(jù)上述的本實(shí)施例,應(yīng)用程序管理器36可以識(shí)別出播放已經(jīng)連續(xù)進(jìn)行了兩個(gè) 小時(shí)的時(shí)刻。這使得應(yīng)用程序管理器36可以命令Java (TM)虛擬機(jī)38執(zhí)行一個(gè)與播放列 表的播放的結(jié)束同步的處理。注意事項(xiàng)上述內(nèi)容并未對本發(fā)明的所有實(shí)施例都進(jìn)行了描述。還可以通過例如實(shí)施例㈧、 (B)、(C)、(D)等等實(shí)現(xiàn)本發(fā)明。在本申請的權(quán)利要求中定義的本發(fā)明是上述實(shí)施例的擴(kuò)展 或總結(jié),或者是對上述實(shí)施例的修改。這些擴(kuò)展或總結(jié)的程度是基于提交本申請時(shí)本發(fā)明 的技術(shù)領(lǐng)域中的技術(shù)水平。在上述所有實(shí)施例中,用BD-ROM代表了用于實(shí)現(xiàn)本發(fā)明的光盤。但是,用于實(shí)現(xiàn) 本發(fā)明的光盤的特征在于記錄在光盤上的動(dòng)態(tài)腳本和索引表,并且這些特性并不依賴于 BD-ROM的物理特性。因此,任何可以用于記錄動(dòng)態(tài)腳本和索引表的記錄介質(zhì)都可應(yīng)用于本 發(fā)明。例如,可以使用例如 DVD-ROM、DVD-RAM、DVD-RW、DVD-R、DVD+RW、DVD+R、CD-R 以及 CD-RW的光盤,或者例如PD或MO的磁光盤。另外,本發(fā)明還可以使用半導(dǎo)體存儲(chǔ)卡,例如閃存(TM)卡(compact flash card)、智能介質(zhì)(smart media)、記憶棒(memory stick)、多媒體卡(multimedia card)或者PCM-CIA卡。而且,本發(fā)明還可以使用(i)磁記錄盤,例如 軟磁盤(flexible disk)、超磁盤(SuperDisk)、Zip或Clik !,或者(ii)可移動(dòng)硬盤驅(qū)動(dòng) 器,例如ORB、Jaz、SparQ、SyJet,EZFley或者微驅(qū)動(dòng)器。進(jìn)一步,本發(fā)明可以使用嵌入到裝 置中的硬盤。在所有上述實(shí)施例中,播放裝置在將記錄于BD-ROM上的AV剪輯輸出到TV之前先 要對這些AV剪輯進(jìn)行解碼。但是,播放裝置可能僅包含一個(gè)BD-ROM驅(qū)動(dòng)器,而除BD-ROM 之外的器件則位于TV中。在這種情況下,可以將播放裝置和TV包含到一個(gè)家庭網(wǎng)絡(luò)中,并 且通過IEEE 1394將該播放裝置和TV連接到該家庭網(wǎng)絡(luò)中。另外,在上述實(shí)施例中,該播 放裝置是一種由于使用的原因從而要求將其連接到一個(gè)TV的類型的播放裝置。但是,該播 放裝置還可以是這樣一種類型其中該播放裝置中內(nèi)置一個(gè)顯示器。進(jìn)一步,可以將每個(gè)實(shí) 施例中實(shí)現(xiàn)了一種實(shí)質(zhì)性過程的播放裝置的一部分視作本發(fā)明的播放裝置。每個(gè)這樣的播 放裝置都是本申請中描述的一種發(fā)明。并且因此,基于每個(gè)實(shí)施例中所示播放裝置的內(nèi)部 結(jié)構(gòu)對播放裝置所進(jìn)行的制造,都應(yīng)該被視作是對本申請中所描述發(fā)明的實(shí)施。另外,無論 是出于營利目的還是免費(fèi)對每個(gè)實(shí)施例中所示播放裝置進(jìn)行轉(zhuǎn)移、出租或是引入,都應(yīng)該 被視作是對本發(fā)明的實(shí)施。進(jìn)一步,通過直接的顯示、產(chǎn)品目錄或發(fā)行手冊等等方式將該播 放裝置提供、轉(zhuǎn)移或出租給普通用戶,也都應(yīng)該被視作是對本發(fā)明的實(shí)施。對于其工作步驟在每個(gè)流程圖中得到了顯示的程序來說,應(yīng)該將該程序視作一個(gè) 獨(dú)立的發(fā)明,這是因?yàn)槿缑總€(gè)流程圖中所示,該程序?yàn)榱藢π畔⑦M(jìn)行處理使用了具體的硬 件資源。在每個(gè)實(shí)施例中,為了實(shí)現(xiàn)本發(fā)明的程序,已經(jīng)將該程序嵌入到播放裝置中。但是, 該程序與播放裝置之間是可以分離的,并且可以將該程序用作分立實(shí)體從而實(shí)現(xiàn)每個(gè)實(shí)施 例中所示的獨(dú)立程序??梢詫⑦@種將每個(gè)實(shí)施例中所示程序分立實(shí)體從而實(shí)施本發(fā)明的方 法分為以下幾類,例如(1)制造該程序(2)出于營利目的或免費(fèi)對該程序進(jìn)行轉(zhuǎn)移;(3) 出租該程序;(4)引入該程序;(5)通過雙向電子通信線路向公眾提供該程序;以及(6)通 過直接的顯示、產(chǎn)品目錄或發(fā)行手冊等等方式將該程序提供、轉(zhuǎn)移或出租給普通用戶。我們認(rèn)為在每個(gè)流程圖的步驟中按照時(shí)間順序執(zhí)行的相關(guān)于時(shí)間的元素在識(shí)別 本發(fā)明方面起到了實(shí)質(zhì)性的作用。因此,我們還認(rèn)為流程圖中所示工作步驟起到了公開播 放方法的使用形式的作用。因此,我們認(rèn)為按照時(shí)間順序?qū)嵤┝鞒虉D的步驟從而實(shí)現(xiàn)本發(fā) 明的目的,實(shí)施本發(fā)明以及獲得本發(fā)明的效果,也都是對本發(fā)明的實(shí)施。當(dāng)AV剪輯記錄于BD-ROM上時(shí),我們希望給該AV剪輯所包含的每個(gè)TS包都附上一 個(gè)擴(kuò)展報(bào)頭。該擴(kuò)展報(bào)頭稱作TP_extra_header,它包含“Arribval_Time_Stampm“copy_ permission_indicator”,并且具有四字節(jié)的數(shù)據(jù)長度。將具有TP_extra_header的TS包 (此后稱作具有EX的TS包)按照32個(gè)一組進(jìn)行分組,并且將其寫入到三個(gè)段中。這32個(gè) 具有EX的TS包的一組有6144個(gè)字節(jié)(=32x192)。每組的這種尺寸大小正好與這三個(gè)段 中每個(gè)段的尺寸大小相同,其中每個(gè)段的尺寸大小也是6144個(gè)字節(jié)(=2048x3)。存儲(chǔ)于 這三個(gè)段中這32個(gè)具有EX的TS包的一組稱作“對準(zhǔn)單元”。當(dāng)將播放裝置200用于一個(gè)家庭網(wǎng)絡(luò)時(shí)(其中該裝置通過IEEE1394連接到該 網(wǎng)絡(luò)),該播放裝置按照下述傳輸過程傳輸該對準(zhǔn)單元。也就是說,發(fā)射機(jī)側(cè)的一臺(tái)設(shè)備 將TP_extra_header從對準(zhǔn)單元中所含每個(gè)具有EX的播放控制引擎32TS包中除去,根據(jù)DTCP標(biāo)準(zhǔn)對TS包的每個(gè)部分都進(jìn)行編碼,并且輸出編碼后的TS包。當(dāng)輸出編碼后的TS包時(shí),該設(shè)備將同步包插入到編碼后的TS包?;赥P_extra_header的Arribval_Time_Stamp 所指示的時(shí)間確定將同步包插入到編碼后的TS包中的位置。當(dāng)輸出這些TS包時(shí),播放裝 置 200 輸出 DTCP_Descriptor。該 DTCP_Descriptor 指示了 TP_extra_header 中的復(fù)制許 可/禁止設(shè)置。這里,通過描述DTCP_DesCriptor從而指示“復(fù)制禁止”使得在將播放裝置 通過IEEE 1394連接到一個(gè)家庭網(wǎng)絡(luò)從而對其進(jìn)行使用時(shí),其它設(shè)備不能記錄這些TS包。在所有上述實(shí)施例中,記錄于記錄介質(zhì)上的數(shù)字流是AV剪輯。但是,該數(shù)字流可 以是符合DVD視頻標(biāo)準(zhǔn)或DVD視頻記錄標(biāo)準(zhǔn)的VOB (視頻對象)。該VOB是通過將視頻流以 及音頻流復(fù)用到一起從而獲得的程序流,并且該程序流符合IS0/IEC13818-1標(biāo)準(zhǔn)。另外, AV剪輯中的視頻流可以符合MPEG4或WMV系統(tǒng)。進(jìn)一步,音頻流可以符合線性PCM系統(tǒng)、杜 比AC3系統(tǒng)、MP3系統(tǒng)、MPEG-AAC系統(tǒng)、Dts或WMA (視窗(TM)媒體音頻)。在所有上述實(shí)施例中,可以通過對模擬廣播所發(fā)出的模擬視頻信號(hào)進(jìn)行編碼從而 獲得視頻作品。另外,視頻作品還可以是包含通過數(shù)字廣播方式發(fā)出的傳輸流的流數(shù)據(jù)。另外,還可以通過對存儲(chǔ)在視頻帶上的模擬/數(shù)字視頻信號(hào)進(jìn)行編碼從而獲得內(nèi) 容。進(jìn)一步,還可以通過對直接從攝像機(jī)獲得的模擬/數(shù)字視頻信號(hào)進(jìn)行編碼從而獲得內(nèi) 容。進(jìn)一步,可以通過發(fā)行服務(wù)器所進(jìn)行的發(fā)行從而獲得數(shù)字作品。BD-J模塊35可以是一種嵌入到用于接收衛(wèi)星廣播的設(shè)備中的Java(TM)平臺(tái)。當(dāng) BD-J模塊35是Java (TM)平臺(tái)時(shí),本發(fā)明的播放裝置也執(zhí)行用于MHP的STB所執(zhí)行的過程。此外,BD-J模塊35可以是一種嵌入到用于執(zhí)行移動(dòng)電話的過程控制的設(shè)備中的 Java(TM)平臺(tái)。當(dāng)BD-J模塊35是Java(TM)平臺(tái)時(shí),本發(fā)明的播放裝置也執(zhí)行移動(dòng)電話所 執(zhí)行的過程。在層模型中,HDMV模式可以位于BD-J模式上。這尤其是因?yàn)閷DMV模式中動(dòng)態(tài) 腳本進(jìn)行分析和基于該動(dòng)態(tài)腳本執(zhí)行控制工作步驟僅使播放裝置承擔(dān)了輕的負(fù)載,并且在 BD-J模式上執(zhí)行HDMV模式并不存在任何問題。另外,在播放裝置或電影作品的開發(fā)過程 中,僅通過一種模式就可以保證操作。此外,可以僅在BD-J模式上執(zhí)行播放過程。這是因?yàn)槿鐚?shí)施例5中所示,可以同 步于BD-J模式中PL的播放執(zhí)行播放控制,并且因此不一定要提供HDMV模式。通過在一種互動(dòng)圖像流中提供導(dǎo)航命令可以實(shí)現(xiàn)PL之間的轉(zhuǎn)移,并且其中該互 動(dòng)圖像流會(huì)被復(fù)用到一個(gè)AV剪輯中。在實(shí)施例1中,將標(biāo)題無邊界應(yīng)用程序定義為這樣一種標(biāo)題它的生存周期延伸 到屬于一個(gè)BD-ROM的所有標(biāo)題。但是,也可以將標(biāo)題無邊界應(yīng)用程序定義為這樣一種標(biāo) 題它的生存周期延伸到屬于多個(gè)BD-ROM的所有標(biāo)題。在實(shí)施例1中,在生成應(yīng)用程序管理表時(shí),我們希望將可以同時(shí)執(zhí)行的應(yīng)用程序 數(shù)量限制到,例如4或更少。應(yīng)該將可以同時(shí)執(zhí)行的應(yīng)用程序數(shù)量限制到例如4或更少的原因如下。有多個(gè)配 有數(shù)字廣播調(diào)頻器功能的BD-ROM播放裝置,并且用于實(shí)現(xiàn)這種調(diào)頻器功能的應(yīng)用程序通 常位于存儲(chǔ)器中。為了給常駐應(yīng)用程序提供操作的空間,所以就應(yīng)該將可以同時(shí)執(zhí)行的應(yīng) 用程序數(shù)量限制到,例如4或更少。我們希望在這四個(gè)應(yīng)用程序中,第一個(gè)是標(biāo)題無邊界應(yīng) 用程序,第二個(gè)是標(biāo)題無邊界程序,并且第三個(gè)是章節(jié)邊界應(yīng)用程序。
在實(shí)施例2中,這樣定義錯(cuò)誤管理表,從而當(dāng)一個(gè)應(yīng)用程序異常終止時(shí),會(huì)執(zhí)行一 個(gè)恢復(fù)過程。但是,當(dāng)一個(gè)應(yīng)用程序異常終止時(shí),可能會(huì)執(zhí)行多個(gè)恢復(fù)過程。也就是說,當(dāng) 一個(gè)應(yīng)用程序異常終止時(shí),播放裝置可以連續(xù)執(zhí)行播放列表的播放、應(yīng)用程序的重新啟動(dòng) 以及事件的輸出。另外,可以這樣構(gòu)建錯(cuò)誤管理表從而為每個(gè)標(biāo)題而并不為每個(gè)應(yīng)用程序都定義一個(gè)恢復(fù)過程。AV剪輯可以具有一種復(fù)用到其中的互動(dòng)圖像流,用于顯示菜單和通過該菜單接收 互動(dòng)操作。因此,僅通過描述一個(gè)導(dǎo)航命令就可以生成頂級(jí)菜單標(biāo)題,其中該導(dǎo)航命令為了 實(shí)現(xiàn)顯示該頂級(jí)菜單和接收互動(dòng)操作僅需要命令播放電影對象中的一個(gè)AV剪輯。在上述每個(gè)實(shí)施例中,只是舉例說明了目錄/文件結(jié)構(gòu)和文件中的數(shù)據(jù)結(jié)構(gòu)。作 為本發(fā)明的特征之一的管理信息并不依賴于目錄/文件結(jié)構(gòu)和文件中的數(shù)據(jù)結(jié)構(gòu)。因此, 例如,對于作為BD-J模式中一種操作腳本的BD-J對象來說,可以將其作為一個(gè)具有標(biāo)識(shí) 符“bobj_id”和“BD-J”的文件(zzzzz.BD-J)包含到BDJA目錄中,并且可以僅將標(biāo)識(shí)符 “bobj_id” 存儲(chǔ)到 BD-J Object, bdmv 的 BD-JObject [η]()。工業(yè)應(yīng)用性個(gè)人可以將本發(fā)明的記錄介質(zhì)和播放裝置可以用于家庭影院系統(tǒng)中。但是,還可 以將本發(fā)明的記錄介質(zhì)和播放裝置應(yīng)用于工業(yè)領(lǐng)域,這是因?yàn)樗哂性谏鲜鰧?shí)施例中公開 的內(nèi)部結(jié)構(gòu),并且很明顯的是,可以對本發(fā)明的記錄介質(zhì)和播放裝置進(jìn)行批量生產(chǎn)。因此, 本發(fā)明的記錄介質(zhì)和播放裝置具有工業(yè)應(yīng)用性。
權(quán)利要求
一種記錄介質(zhì),其中記錄應(yīng)用程序、數(shù)字流、與該應(yīng)用程序和數(shù)字流有關(guān)的標(biāo)題以及管理信息,其中所述應(yīng)用程序是使用編程語言編寫的用于虛擬機(jī)的程序,指定了生存周期,該生存周期處于記錄在所述記錄介質(zhì)中的所述標(biāo)題的播放周期內(nèi),并且在所述生存周期期間所述應(yīng)用程序被讀進(jìn)所述虛擬機(jī)的工作存儲(chǔ)器并可由所述虛擬機(jī)執(zhí)行,所述管理信息包括指示了與所述標(biāo)題有關(guān)的所述數(shù)字流的播放控制的信息,其中所述播放控制應(yīng)當(dāng)在執(zhí)行所述應(yīng)用程序時(shí)執(zhí)行;所述管理信息還包含定義恢復(fù)處理的標(biāo)記,當(dāng)所述應(yīng)用程序異常終止時(shí)執(zhí)行所述恢復(fù)處理,并且所述標(biāo)記是(i)指示在所述應(yīng)用程序異常終止時(shí)是否重新啟動(dòng)所述應(yīng)用程序的標(biāo)記;(ii)指示當(dāng)所述應(yīng)用程序異常終止時(shí)所輸出的事件的標(biāo)記;以及(iii)指示當(dāng)所述應(yīng)用程序異常終止時(shí)是否重新啟動(dòng)播放裝置的標(biāo)記。
2.一種播放裝置,包括虛擬機(jī)單元,用于執(zhí)行已經(jīng)從記錄介質(zhì)讀進(jìn)工作存儲(chǔ)器的應(yīng)用程序; 播放控制引擎單元,用于播放記錄于記錄介質(zhì)上且與記錄在所述記錄介質(zhì)中的標(biāo)題有 關(guān)的數(shù)字流;以及應(yīng)用程序管理器,用于將所述應(yīng)用程序從所述記錄介質(zhì)讀進(jìn)所述工作存儲(chǔ)器,并且當(dāng) 到達(dá)生存周期時(shí),使所述虛擬機(jī)單元執(zhí)行所述應(yīng)用程序,以及與所述虛擬機(jī)單元的執(zhí)行并 行地,使所述播放控制引擎單元根據(jù)記錄于所述記錄介質(zhì)中的管理信息播放與所述標(biāo)題有 關(guān)的所述數(shù)字流,該生存周期處于記錄在所述記錄介質(zhì)中的所述標(biāo)題的播放周期內(nèi),并且 在所述生存周期期間所述應(yīng)用程序被讀進(jìn)所述虛擬機(jī)的工作存儲(chǔ)器并可由所述虛擬機(jī)執(zhí) 行;其中所述管理信息還包含定義恢復(fù)處理的標(biāo)記,當(dāng)所述應(yīng)用程序異常終止時(shí)執(zhí)行所述恢復(fù) 處理,并且所述應(yīng)用程序管理器根據(jù)所述管理信息中包含的所述標(biāo)記執(zhí)行下列任意控制 (i)重新啟動(dòng)異常終止的所述應(yīng)用程序的控制; ( )輸出預(yù)先指定的事件的控制;以及 (iii)重新啟動(dòng)播放裝置的控制。
3.一種被讀入計(jì)算機(jī)的程序, 所述計(jì)算機(jī)包含虛擬機(jī)單元,用于執(zhí)行已經(jīng)從記錄介質(zhì)讀進(jìn)工作存儲(chǔ)器的應(yīng)用程序; 播放控制引擎單元,用于播放記錄于記錄介質(zhì)上且與記錄在所述記錄介質(zhì)中的標(biāo)題有 關(guān)的數(shù)字流;所述程序使所述計(jì)算機(jī)執(zhí)行如下步驟將所述應(yīng)用程序從所述記錄介質(zhì)讀進(jìn)所述工作存儲(chǔ)器,并且當(dāng)?shù)竭_(dá)生存周期時(shí),使所 述虛擬機(jī)單元執(zhí)行所述應(yīng)用程序,該生存周期處于記錄在所述記錄介質(zhì)中的所述標(biāo)題的播放周期內(nèi),并且在所述生存周期期間所述應(yīng)用程序被讀進(jìn)所述虛擬機(jī)的工作存儲(chǔ)器并可由 所述虛擬機(jī)執(zhí)行;與所述虛擬機(jī)單元的執(zhí)行并行地,使所述播放控制引擎單元根據(jù)記錄于所述記錄介質(zhì) 中的管理信息播放與所述標(biāo)題有關(guān)的所述數(shù)字流;以及根據(jù)記錄于所述記錄介質(zhì)中的所述管理信息中包含的標(biāo)記執(zhí)行下列任意控制(i)重新啟動(dòng)異常終止的所述應(yīng)用程序的控制;(ii)輸出預(yù)先指定的事件的控制;以及(iii)重新啟動(dòng)播放裝置的控制,其中所述標(biāo)記定義了當(dāng)所述應(yīng)用程序異常終止時(shí)要執(zhí)行的恢復(fù)處理。
4.一種用于計(jì)算機(jī)的播放方法, 所述計(jì)算機(jī)包含虛擬機(jī)單元,用于執(zhí)行已經(jīng)從記錄介質(zhì)讀進(jìn)工作存儲(chǔ)器的應(yīng)用程序; 播放控制引擎單元,用于播放記錄于記錄介質(zhì)上且與記錄在所述記錄介質(zhì)中的標(biāo)題有 關(guān)的數(shù)字流;所述播放方法使所述計(jì)算機(jī)執(zhí)行如下步驟將所述應(yīng)用程序從所述記錄介質(zhì)讀進(jìn)所述工作存儲(chǔ)器,并且當(dāng)?shù)竭_(dá)生存周期時(shí),使所 述虛擬機(jī)單元執(zhí)行所述應(yīng)用程序,該生存周期處于記錄在所述記錄介質(zhì)中的所述標(biāo)題的播 放周期內(nèi),并且在所述生存周期期間所述應(yīng)用程序被讀進(jìn)所述虛擬機(jī)的工作存儲(chǔ)器并可由 所述虛擬機(jī)執(zhí)行;與所述虛擬機(jī)單元的執(zhí)行并行地,使所述播放控制引擎單元根據(jù)記錄于所述記錄介質(zhì) 中的管理信息播放與所述標(biāo)題有關(guān)的所述數(shù)字流;以及根據(jù)記錄于所述記錄介質(zhì)中的所述管理信息中包含的標(biāo)記執(zhí)行下列任意控制 (i)重新啟動(dòng)異常終止的所述應(yīng)用程序的控制; ( )輸出預(yù)先指定的事件的控制;以及 (iii)重新啟動(dòng)播放裝置的控制,其中所述標(biāo)記定義了當(dāng)所述應(yīng)用程序異常終止時(shí)要執(zhí)行的恢復(fù)處理。
5.一種系統(tǒng)集成電路,其被嵌入播放數(shù)字流的播放裝置,該數(shù)字流記錄于記錄介質(zhì)上 且與記錄在所述記錄介質(zhì)中的標(biāo)題有關(guān),所述系統(tǒng)集成電路包含虛擬機(jī)單元,用于執(zhí)行已經(jīng)從記錄介質(zhì)讀進(jìn)工作存儲(chǔ)器的應(yīng)用程序; 播放控制引擎單元,用于播放記錄于記錄介質(zhì)上且與記錄在所述記錄介質(zhì)中的標(biāo)題有 關(guān)的數(shù)字流;以及應(yīng)用程序管理器,用于將所述應(yīng)用程序從所述記錄介質(zhì)讀進(jìn)所述工作存儲(chǔ)器,并且當(dāng) 到達(dá)生存周期時(shí),使所述虛擬機(jī)單元執(zhí)行所述應(yīng)用程序,以及與所述虛擬機(jī)單元的執(zhí)行并 行地,使所述播放控制引擎單元根據(jù)記錄于所述記錄介質(zhì)中的管理信息播放與所述標(biāo)題有 關(guān)的所述數(shù)字流,該生存周期處于記錄在所述記錄介質(zhì)中的所述標(biāo)題的播放周期內(nèi),并且 在所述生存周期期間所述應(yīng)用程序被讀進(jìn)所述虛擬機(jī)的工作存儲(chǔ)器并可由所述虛擬機(jī)執(zhí) 行;其中所述管理信息還包含定義恢復(fù)處理的標(biāo)記,當(dāng)所述應(yīng)用程序異常終止時(shí)執(zhí)行所述恢復(fù)處理,并且所述應(yīng)用程序管理器根據(jù)所述管理信息中包含的所述標(biāo)記執(zhí)行下列任意控制(i)重新啟動(dòng)異常終止的所述應(yīng)用程序的控制;(ii)輸出預(yù)先指定的事件的控制;以及(iii)重新啟動(dòng)播放裝置的控制.
全文摘要
BD-ROM包含記錄于其中的播放列表、應(yīng)用程序和BD-J對象,所述播放列表包含AV剪輯和播放列表信息。該應(yīng)用程序是一種以用于虛擬機(jī)的編程語言寫成的程序,并且指定了生存周期,在該生存周期期間可以由所述虛擬機(jī)執(zhí)行該應(yīng)用程序。該BD-J對象包含播放列表管理表。該播放列表管理表指示了在該生存周期期間與該應(yīng)用程序的執(zhí)行同時(shí)進(jìn)行的播放列表的播放控制。
文檔編號(hào)H04N5/92GK101814305SQ20101017953
公開日2010年8月25日 申請日期2004年11月9日 優(yōu)先權(quán)日2003年11月10日
發(fā)明者岡田智之, 大久保雅文, 巖本啟明, 池田航 申請人:松下電器產(chǎn)業(yè)株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1