專利名稱:用于再現(xiàn)彼此相關(guān)的圖形數(shù)據(jù)和應(yīng)用程序的再現(xiàn)裝置、再現(xiàn)方法和程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及與應(yīng)用程序同步地重放視頻數(shù)據(jù)的技術(shù),尤其涉及對響應(yīng)于用戶操作而激活應(yīng)用程序的改進。
背景技術(shù):
與應(yīng)用程序同步地重放視頻數(shù)據(jù)涉及一種技術(shù),例如,該技術(shù)由視頻重放裝置使用,用于執(zhí)行與Java應(yīng)用程序同步地重放視頻數(shù)據(jù)(Java是已注冊的商標(biāo),以下含義均相同)。預(yù)期該技術(shù)會得到商品制造領(lǐng)域的廣泛關(guān)注。通常,與視頻數(shù)據(jù)同步執(zhí)行的應(yīng)用程序與叫作“標(biāo)題”的視頻數(shù)據(jù)的一個或多個重放單元相關(guān)聯(lián)。當(dāng)用戶選擇相關(guān)聯(lián)的標(biāo)題時,與視頻數(shù)據(jù)的重放同步,激活該應(yīng)用程序。
公開了相關(guān)的現(xiàn)有技術(shù),例如,在下面所列的專利文獻1和專利文獻2中。
日本專利申請公開號No.2002-125199[專利文獻2]日本專利申請公開號No.2003-513555發(fā)明內(nèi)容本發(fā)明試圖解決的問題。
不幸的是,雖然現(xiàn)有技術(shù)涉及用戶在選擇標(biāo)題時可能顫動而導(dǎo)致的問題。術(shù)語“顫動”指的是在相當(dāng)短的時間周期內(nèi)重復(fù)地接收多次相同的用戶輸入。如果在非常短的時間周期內(nèi)迅速且重復(fù)地接收所述相同的用戶輸入,則會反復(fù)地激活與所選擇的標(biāo)題相關(guān)聯(lián)的應(yīng)用程序。因而,很可能擾亂屏幕顯示或凍結(jié)整個系統(tǒng)操作。
另外,在重放裝置執(zhí)行特效播放的情況下,由于重放速率的增加,應(yīng)用程序的渲染率與視頻數(shù)據(jù)的渲染率不一致。這導(dǎo)致屏幕顯示的改變太快,超過了可察覺的水平,使用戶很難理解正在顯示的內(nèi)容。此外,存在這樣的情況,其中執(zhí)行與對于很難理解的內(nèi)容無效的視頻數(shù)據(jù)的部分相關(guān)聯(lián)的程序是無用的。
特效播放是允許快速前進重放和后退重放、標(biāo)題搜索、章節(jié)搜索、時間搜索等的特征。根據(jù)特效播放的類型,技術(shù)上不可能與視頻數(shù)據(jù)重放同步地執(zhí)行應(yīng)用程序。即使在該特效播放過程中,激活應(yīng)用程序也有可能是無用的。
考慮到上述問題,作出本發(fā)明,并旨在提供重放裝置,其保證響應(yīng)于用戶操作,穩(wěn)定地、與視頻數(shù)據(jù)重放同步地執(zhí)行與視頻數(shù)據(jù)相關(guān)聯(lián)的應(yīng)用程序,即使該用戶做出了顫動。
解決問題的方法為了實現(xiàn)上述目的,本發(fā)明提供了一種重放裝置,用于與和視頻數(shù)據(jù)相關(guān)的應(yīng)用程序同步地執(zhí)行所述視頻數(shù)據(jù)的重放。該重放裝置包括激活單元、接收單元和激活控制單元。所述激活單元,用于激活應(yīng)用程序。所述接收單元,用于接收來自用戶的輸入,所述輸入指定多個重放部分中的一個,每個重放部分與一條視頻數(shù)據(jù)和應(yīng)用程序相關(guān)。如果所述接收單元在接收第一輸入之后,從接收到所述第一輸入起的預(yù)定時間周期之內(nèi)接收到第二輸入,而且在從接收到所述第二輸入之后的在預(yù)定時間周期之內(nèi)未接收到第三輸入,激活控制單元促使所述激活單元根據(jù)所述第二輸入激活所述應(yīng)用程序。
發(fā)明的效果通過上述結(jié)構(gòu),如果在從接收到第一輸入起的預(yù)定時間周期之內(nèi)接收到第二輸入,本發(fā)明使從用戶處接收的第一輸入無效。如果在從接收到所述第二輸入之后的預(yù)定時間周期之內(nèi)未接收到第三輸入,則根據(jù)第二輸入激活應(yīng)用程序。因此,防止了無用地激活多個應(yīng)用程序,從而防止了擾亂屏幕顯示和凍結(jié)整個系統(tǒng)操作。另外,由于根據(jù)第二輸入激活該應(yīng)用程序,即使由于失誤而選擇了錯誤的標(biāo)題,也允許用戶在預(yù)定時間周期之內(nèi)選擇正確的標(biāo)題。這防止激活與錯誤地選擇的標(biāo)題相關(guān)的不必要的應(yīng)用程序。
該激活控制單元可以包括計時器和重復(fù)單元。該重復(fù)單元用于當(dāng)所述接收單元接收所述第一輸入時,重復(fù)如下過程設(shè)置所述計時器,判斷是否是在接收到所述第一輸入起的預(yù)定時間周期之內(nèi)接收到所述第二輸入,以及當(dāng)判斷結(jié)果是肯定時,重新設(shè)置所述計時器。重復(fù)該過程直到作出否定的判斷結(jié)果為止。
通過上述結(jié)構(gòu),一旦接收到所述第一輸入,重放裝置就設(shè)置所述計時器,以判斷是否在預(yù)定時間周期之內(nèi)接收到所述第二輸入。如果在規(guī)定時間周期之內(nèi)接收到所述第二輸入,重放裝置重新設(shè)置所述計時器以重復(fù)上述過程。也就是說,通過重復(fù)上述過程所需要那么多的次數(shù),重放裝置能夠處理接連做出的多于三次的用戶輸入。
該激活控制單元包括獲取單元和判斷單元。所述獲取單元用于獲取信息,所述信息為與該條視頻數(shù)據(jù)和所述應(yīng)用程序相關(guān)的特定重放部分,指示用于指示所述相關(guān)應(yīng)用程序的激活屬性。所述判斷單元用于判斷所述激活屬性是否指示在執(zhí)行所相關(guān)的該條視頻數(shù)據(jù)的重放時要自動執(zhí)行所述應(yīng)用程序。如果所述判斷單元作出肯定判斷,則所述激活控制單元用于執(zhí)行所述激活控制。
通過上述結(jié)構(gòu),根據(jù)所述應(yīng)用程序的激活屬性,判斷所述激活控制單元是否應(yīng)當(dāng)執(zhí)行所述激活控制。所述激活屬性指示是否一旦開始與所述應(yīng)用程序相關(guān)的視頻數(shù)據(jù)的重放,就自動激活所述應(yīng)用程序。因此,僅當(dāng)一旦開始與所述應(yīng)用程序相關(guān)的視頻數(shù)據(jù)的重放,就自動激活所述應(yīng)用程序時,所述激活控制單元執(zhí)行該激活控制。
與一條視頻數(shù)據(jù)和應(yīng)用程序相關(guān)的每個重放部分可以是標(biāo)題。每個標(biāo)題或者是主要方面在所述視頻數(shù)據(jù)的電影標(biāo)題,或者是主要方面在應(yīng)用程序的交互標(biāo)題。所述激活控制單元用于在所指定的重放部分是電影標(biāo)題時執(zhí)行所述激活控制。
通過上述結(jié)構(gòu),如果標(biāo)題是主要方面在視頻和音頻的電影標(biāo)題,所述激活控制單元執(zhí)行激活控制,以防止重復(fù)多次應(yīng)用程序的激活。另一方面,如果標(biāo)題是主要方面為應(yīng)用程序的交互標(biāo)題,以正常方式激活該應(yīng)用程序。因此,在標(biāo)題搜索操作之后立即在屏幕上進行顯示。這用于消除用戶受挫。
另一方面,本發(fā)明提供了一種重放裝置,用于與和視頻數(shù)據(jù)相關(guān)的應(yīng)用程序同步地執(zhí)行所述視頻數(shù)據(jù)的重放。該重放裝置包括執(zhí)行單元、接收單元、保持單元和執(zhí)行控制單元。執(zhí)行單元用于執(zhí)行應(yīng)用程序。接收單元用于接收來自用戶的與所述視頻數(shù)據(jù)的特效播放相關(guān)的輸入。保持單元用于為所述視頻數(shù)據(jù)的多個預(yù)定重放部分中的每一個保持與重放部分相關(guān)的應(yīng)用程序的管理信息。在通過所述接收單元接收與特效播放相關(guān)的輸入時,執(zhí)行控制單元根據(jù)特效播放的狀態(tài)和在所述保持單元中所保持的管理信息來控制所述執(zhí)行單元。
通過上述結(jié)構(gòu),根據(jù)保持單元中保持的特效播放狀態(tài)和管理信息,控制應(yīng)用程序的執(zhí)行。
所述特效播放狀態(tài)指示特效播放是否開始、正在執(zhí)行、或者終止。所述執(zhí)行控制單元用于控制所述執(zhí)行單元,從而禁止所述執(zhí)行單元在特效播放開始之后或者特效播放正在執(zhí)行時新激活或終止任何應(yīng)用程序,并允許在特效播放終止時重新激活或終止應(yīng)用程序。
通過上述結(jié)構(gòu),在特效播放過程中沒有應(yīng)用程序被開始或終止執(zhí)行。因此,應(yīng)用程序的渲染率和視頻數(shù)據(jù)的渲染率之間的不一致不再導(dǎo)致屏幕顯示改變得太快,高于可覺察的水平。因此,避免了用戶面對在理解所顯示的內(nèi)容上的困難。
所述管理信息包括在特效播放正在執(zhí)行時與每個應(yīng)用程序的執(zhí)行相關(guān)的信息。所述執(zhí)行控制單元用于控制所述執(zhí)行單元,從而即使是在正在執(zhí)行特效播放時,所述執(zhí)行單元也根據(jù)在所述管理信息中包含的信息,新激活或終止應(yīng)用程序。
通過上述結(jié)構(gòu),即使在特效播放過程中,能夠根據(jù)關(guān)于應(yīng)用程序的信息執(zhí)行或終止相關(guān)的應(yīng)用程序。例如,可能存在特效播放的速度不是太快的情況,使得所述應(yīng)用程序的渲染率與視頻數(shù)據(jù)的渲染率相差不大。在這樣的情況中,即使在特效播放的執(zhí)行過程中,所述重放裝置也能夠執(zhí)行所述應(yīng)用程序,以更靈活地響應(yīng)用戶的需求。
所述管理信息包括指示每個應(yīng)用程序的激活屬性的信息。所述執(zhí)行控制單元包括存儲單元,用于存儲指示在特效播放正在執(zhí)行時的所述激活屬性的信息;以及判斷單元,用于判斷從接收到請求特效播放終止的輸入起預(yù)定時間周期內(nèi),接收單元是否從用戶接收到請求特效播放開始的輸入。當(dāng)所述判斷單元作出否定判斷時,所述執(zhí)行控制單元用于使得所述執(zhí)行單元根據(jù)在所述存儲單元中存儲的信息激活并終止應(yīng)用程序。
通過上述結(jié)構(gòu),為了延遲應(yīng)用程序的激活或終止,提前存儲所述應(yīng)用程序的激活屬性。結(jié)果,與在特效播放結(jié)束之后才讀取管理信息以便控制所述應(yīng)用程序的執(zhí)行的情況相比,能夠更快地激活或終止所述應(yīng)用程序。
圖1示出了BD-ROM的分層數(shù)據(jù)結(jié)構(gòu);圖2示出了軟件的層模型,BD-ROM是為軟件設(shè)計的;圖3示出了根據(jù)本發(fā)明第一實施例的重放裝置的內(nèi)部結(jié)構(gòu);圖4是示出重放裝置的結(jié)構(gòu)的方塊圖,所述重放裝置與響應(yīng)于選擇標(biāo)題的用戶操作而執(zhí)行的對應(yīng)用程序的執(zhí)行進行的控制相關(guān);圖5示出了應(yīng)用程序管理信息的示例;圖6示出了應(yīng)用程序激活狀態(tài)管理信息的示例;圖7示出了示例,其中向多個標(biāo)題中的每個標(biāo)題提供一條不同的應(yīng)用程序管理信息;圖8示出了根據(jù)標(biāo)題轉(zhuǎn)變執(zhí)行的應(yīng)用程序;圖9是響應(yīng)于標(biāo)題搜索為了執(zhí)行對應(yīng)用程序的控制所執(zhí)行的處理步驟的流程圖;圖10是延遲的應(yīng)用程序激活過程的流程圖;圖11是延遲的應(yīng)用程序激活過程的流程圖;圖12是示出重放裝置的用戶輸入和操作的示例的時序圖;圖13示出了播放列表管理信息的示例;圖14示出的示例中,每個標(biāo)題具有一條不同的播放列表管理信息和一條不同的應(yīng)用程序管理信息;圖15示出了根據(jù)標(biāo)題轉(zhuǎn)變而執(zhí)行的應(yīng)用程序和播放列表重放;圖16示出的示例中,每個標(biāo)題具有一條不同的播放列表管理信息和一條不同的應(yīng)用程序管理信息;圖17是響應(yīng)于標(biāo)題搜索而執(zhí)行的處理步驟的流程圖,該標(biāo)題搜索用于根據(jù)播放列表管理信息執(zhí)行對應(yīng)用程序的控制;圖18是應(yīng)用程序激活控制過程的流程圖;圖19示出了標(biāo)題的屬性信息的示例;圖20示出了標(biāo)題#1和標(biāo)題#2的標(biāo)題屬性信息的示例;圖21示出了響應(yīng)于標(biāo)題搜索而執(zhí)行的處理步驟的流程圖,該標(biāo)題搜索用于根據(jù)播放列表管理信息執(zhí)行對應(yīng)用程序的控制;圖22是根據(jù)本發(fā)明的第二實施例的重放裝置的結(jié)構(gòu)方框圖,涉及響應(yīng)于請求特效播放的用戶操作而執(zhí)行的過程;圖23示出了AV重放庫中保持的系統(tǒng)參數(shù);圖24示出了重放裝置中保持的特效播放信息的內(nèi)容;圖25示出了根據(jù)用于執(zhí)行由用戶操作觸發(fā)的特效播放的第二實施例的處理步驟的流程圖;圖26是示出根據(jù)第二實施例的重放裝置的結(jié)構(gòu)的方塊圖,涉及響應(yīng)于請求特效播放的用戶操作而執(zhí)行的過程;圖27示出了根據(jù)第二實施例的應(yīng)用程序的管理單元;圖28示出了根據(jù)第二實施例的應(yīng)用程序管理信息的示例;圖29示出了根據(jù)標(biāo)題轉(zhuǎn)變執(zhí)行的應(yīng)用程序,所述標(biāo)題轉(zhuǎn)變基于圖28所示的應(yīng)用程序管理信息;圖30示出了根據(jù)第二實施例的應(yīng)用程序的管理單元;圖31示出了根據(jù)第二實施例,在特效播放過程中執(zhí)行的用于對應(yīng)用程序的執(zhí)行進行控制的處理步驟的流程圖;圖32示出了圖31所示的應(yīng)用程序狀態(tài)控制過程的流程圖;圖33示出了根據(jù)第二實施例的另外包括in_trickplay結(jié)束標(biāo)記的應(yīng)用程序管理信息;圖34示出了根據(jù)用于在特效播放過程中終止應(yīng)用程序的第二實施例執(zhí)行的處理步驟的流程圖;圖35示出了根據(jù)第二實施例的另外包括in_trickplay激活標(biāo)記的應(yīng)用程序管理信息;圖36示出了根據(jù)用于在特效播放過程中激活應(yīng)用程序的第二實施例的處理步驟的流程圖;圖37示出了根據(jù)第二實施例的另外包括快速重放標(biāo)記的應(yīng)用程序管理信息;圖38示出了根據(jù)用于在快速重放過程中執(zhí)行對應(yīng)用程序的控制的第二實施例執(zhí)行的處理步驟的流程圖;圖39示出了根據(jù)第二實施例的另外包括特效播放速率的應(yīng)用程序管理信息;圖40示出了根據(jù)用于取決于當(dāng)前重放速率執(zhí)行對應(yīng)用程序的控制的第二實施例執(zhí)行的應(yīng)用處理步驟的流程圖;圖41示出了根據(jù)第二實施例的應(yīng)用程序的管理單元;圖42示出了根據(jù)標(biāo)題轉(zhuǎn)變而執(zhí)行的應(yīng)用程序;圖43是根據(jù)本發(fā)明第三實施例的重放裝置的結(jié)構(gòu),涉及響應(yīng)于請求特效播放的用戶操作而執(zhí)行的過程;圖44示出了根據(jù)第三實施例的應(yīng)用程序激活狀態(tài)管理信息的示例;圖45示出了根據(jù)用于在特效播放過程中執(zhí)行對應(yīng)用程序的控制的第三實施例的處理步驟的流程圖;圖46示出了圖45所示的應(yīng)用程序延遲控制過程的流程圖;圖47示出了圖45所示的應(yīng)用程序延遲控制過程的流程圖。
附圖標(biāo)記301 BD驅(qū)動器302 軌道緩存器303 多路復(fù)用器304 視頻解碼器305 視頻平面
306 音頻解碼器307 圖像存儲器308 圖像平面309 圖像解碼器310 加法器311 靜態(tài)腳本存儲器312 動態(tài)腳本存儲器313 類DVD(DVD-Like)模塊314 Java模塊314a Java模塊314b Java模塊315 UO檢測模塊316 模式管理模塊317 調(diào)度程序318 渲染引擎319 特效播放管理信息320 AV重放庫401 標(biāo)題管理器402 應(yīng)用程序管理器402a 應(yīng)用程序管理器402b 應(yīng)用程序管理器403 特效播放信息獲取模塊404 媒體播放模塊405 重放信息管理模塊406 應(yīng)用程序控制模塊407 動態(tài)腳本獲取模塊408 靜態(tài)腳本獲取模塊409 重放信息獲取模塊410 特效播放狀態(tài)獲取模塊411 延遲控制管理模塊
412 UO事件分配模塊413 JAVA應(yīng)用程序414 JAVA應(yīng)用程序501 應(yīng)用程序ID502 激活屬性503 BIND屬性601 應(yīng)用程序激活狀態(tài)1301 自動重放標(biāo)記1302 播放列表名1901 標(biāo)題對象類型1902 標(biāo)題訪問類型1903 標(biāo)題重放類型1904 標(biāo)題對象名2201 腳本程序2202 腳本控制模塊2203 UO處理模塊2801 有效期3301 in_trickplay結(jié)束標(biāo)記3501 in_trickplay激活標(biāo)記3701 快速重放標(biāo)記3901 特效播放速率具體實施方式
以下將參照附圖描述本發(fā)明的實施例。
(第一實施例)<結(jié)構(gòu)>
圖1示出了BD-ROM(在下文中稱為“BD”)的結(jié)構(gòu)。類似于諸如DVD和CD所代表的光盤等其他盤片,BD盤具有螺旋形式的記錄區(qū)域,其從盤片中心附近向外延伸。該記錄區(qū)域由導(dǎo)入?yún)^(qū)、導(dǎo)出區(qū)和邏輯空間組成。該導(dǎo)入?yún)^(qū)和導(dǎo)出區(qū)分別位于盤片的內(nèi)半徑和外半徑。邏輯地址空間位于導(dǎo)入?yún)^(qū)、導(dǎo)出區(qū)之間,用于記錄邏輯數(shù)據(jù)。BD盤還具有叫作BCA(燒錄區(qū))的特定空間,位于導(dǎo)入?yún)^(qū)內(nèi)部。任何應(yīng)用程序都不能讀取BCA,因此BCA常常用于版權(quán)保護。
邏輯地址空間存儲應(yīng)用程序數(shù)據(jù)之前的文件系統(tǒng)信息(卷),例如視頻數(shù)據(jù)。文件系統(tǒng)可以符合UDF(通用盤片格式)或ISO9660。與典型的個人計算機相似,經(jīng)由目錄和文件作出對所存儲的邏輯數(shù)據(jù)的讀取訪問。根據(jù)該實施例的目錄和文件結(jié)構(gòu),BD具有ROOT目錄(ROOT)和在ROOT目錄緊下方的BDVIDEO目錄。BDVIDEO目錄存儲諸如AV內(nèi)容和管理信息等數(shù)據(jù)。
更具體地,BDVIDEO目錄存儲下面七種類型的文件。
BD.INFO文件(固定的文件名)包括與整個BD盤相關(guān)的多條“BD管理信息”之一。BD.INFO文件是BD播放器要讀取的第一個文件。
BD.PROG文件(固定的文件名)包括與整個BD盤相關(guān)的多個“BD重放程序”之一。
XXX.PL文件(“XXX”是可變的,而擴展名“PL”是固定的)包括多條“BD管理信息”中的一條。其中存儲的該條BD管理信息是定義腳本的播放列表(PlayList)信息。每個播放列表分別包括在一個文件中。
XXX.PROG文件(“XXX”是可變的,而擴展名“PROG”是固定的)包括與播放列表之一相關(guān)的“BD重放程序”中的一個。用文件主體名識別包含播放列表的文件和包括BD重放程序的文件,該BD重放程序與該播放列表相關(guān)(兩個文件名都包含“XXX”)。
YYY.VOB文件(“YYY”是可變的,而擴展名“VOB”是固定的)包括為多條“AV數(shù)據(jù)”之一的MPEG流。多個VOB中的每一個都分別包括在一個文件中。
YYY.VOBI文件(“YYY”是可變的,而擴展名“VOBI”是固定的)包括與VOB相關(guān)的多條“BD管理信息”中的一條,其是一條AV數(shù)據(jù)。用文件主體名識別包含VOB的文件和包含一條與VOB相關(guān)BD管理信息的文件(兩個文件名都包含“YYY”)。
ZZZ.PNG文件(“ZZZ”是可變的,而擴展名“PNG”是固定的)包括多條“AV數(shù)據(jù)”中的一個,“AV數(shù)據(jù)”是構(gòu)成字幕和菜單所使用的圖像數(shù)據(jù)。AV數(shù)據(jù)記錄成PNG格式(PNG是W3C制定的圖像格式標(biāo)準(zhǔn),發(fā)音是“ping”)。每個PNG圖像分別存儲在一個文件中。
圖2示出了重放控制的層模型。如圖2所示,第一層是物理層,控制對要播放的流的供應(yīng)。如第一層所示,不僅只從BD-ROM供應(yīng)要播放的流,各種記錄介質(zhì)和通信介質(zhì)也提供流,包括HD、存儲卡和網(wǎng)絡(luò)。第一層控制包括HD、存儲卡和網(wǎng)絡(luò)的這些數(shù)據(jù)源(控制對盤片的訪問、對卡的訪問和網(wǎng)絡(luò)通信)。
第二層是AV數(shù)據(jù)層。第二層定義了解密方法,用于對從第一層提供的流進行解密。
第三層(BD管理數(shù)據(jù))定義流的靜態(tài)腳本。該靜態(tài)腳本是該盤片的制造者事先定義的應(yīng)用程序管理信息、重放路徑信息和流管理信息的集合。第三層基于各條信息定義重放控制。
第四層(BD重放程序)實現(xiàn)流的動態(tài)腳本。動態(tài)腳本是程序,用于執(zhí)行與AV流重放相關(guān)的AV流重放過程或控制過程中的至少一個。響應(yīng)于用戶對重放裝置的操作,根據(jù)動態(tài)腳本的重放控制發(fā)生改變。在這方面,可以說動態(tài)腳本的本質(zhì)更接近程序。在該實施例中,以兩種模式執(zhí)行動態(tài)重放控制。一種模式是在AV裝置特有的環(huán)境中執(zhí)行對記錄在BD-ROM中的視頻數(shù)據(jù)的重放的模式(類DVD模式)。另一種模式是向記錄在BD-ROM上的視頻數(shù)據(jù)添加值的模式(Java模式)。圖2的第四層中示出了這兩種模式,即類DVD模式和Java模式。類DVD模式是在環(huán)境中執(zhí)行重放的模式。在類DVD模式中,執(zhí)行定義腳本的腳本程序,以動態(tài)地改變重放的進程。另一方面,Java模式是一種重放模式,其中Java虛擬機是執(zhí)行實體,Java應(yīng)用程序執(zhí)行重放控制。
圖3大致地示出了重放裝置的結(jié)構(gòu)方塊圖。如圖3所示,重放裝置由BD-ROM驅(qū)動301、軌道緩存器302、多路分解器303、視頻解碼器304、視頻平面305、音頻解碼器306、圖像存儲器307、圖像平面308、圖像解碼器309、加法器310、靜態(tài)腳本存儲器311、動態(tài)腳本存儲器312、類DVD模塊313、Java模塊314、UO檢測模塊315、模式管理模塊316、調(diào)度程序317、渲染引擎318、特效播放信息保持單元319和AV重放庫320組成。
BD-ROM驅(qū)動器301裝載/彈出BD-ROM,而且訪問BD-ROM上存儲的數(shù)據(jù)。
軌道緩存器302是FIFO存儲器。從BD-ROM讀取的訪問單元存儲到軌道緩存器302中,而且以先入先出的順序取出。
多路分解器303從軌道緩存器302提取訪問單元,而且將提取的訪問單元多路分解成構(gòu)成GOP的視頻幀和音頻幀。得到的視頻幀被提供給視頻解碼器304,得到的音頻幀被提供給音頻解碼器306。第二視頻流被存儲到圖像存儲器307,而導(dǎo)航按鈕信息被存儲到動態(tài)腳本存儲器312中。多路分解器303所作的信號分離包括將TS信息包轉(zhuǎn)換成PES信息包。
視頻解碼器304對多路分解器303提供的視頻幀進行解碼,并將未壓縮的畫面寫到視頻平面305中。
視頻平面305是存儲未壓縮畫面的存儲器。
音頻解碼器306對多路分解器303提供的音頻幀進行解碼,從而輸出未壓縮音頻數(shù)據(jù)。
圖像存儲器307是緩存器,用于存儲從BD-ROM讀取的第二視頻流、導(dǎo)航按鈕信息中包括的PNG數(shù)據(jù),以及圖像文件。
圖像平面308是具有等于一屏的區(qū)域的存儲器。第二流的擴展數(shù)據(jù)、PNG數(shù)據(jù)和圖像文件顯示在圖像平面308上。
圖像解碼器309擴展圖像存儲器307中存儲的第二視頻流、PNG數(shù)據(jù)和圖像文件,將得到的數(shù)據(jù)寫入到圖像平面308上。通過解碼第二視頻流,顯示屏幕上出現(xiàn)各種菜單和第二視頻。
加法器310將圖像平面308上擴展的圖像覆蓋在視頻平面305中存儲的未壓縮畫面數(shù)據(jù)上。結(jié)果,生成并輸出合成圖像。
靜態(tài)腳本存儲器311是存儲應(yīng)用程序管理信息、當(dāng)前PL和當(dāng)前流管理信息的存儲器。應(yīng)用程序管理信息記錄在BD-ROM上。當(dāng)前PL指的是BD-ROM上記錄的多個PL中當(dāng)前正在被執(zhí)行的那一個。當(dāng)前流管理信息指的是BD-ROM上記錄的多條流管理信息中當(dāng)前正在被執(zhí)行的那一個。
動態(tài)腳本存儲器312是用于存儲當(dāng)前動態(tài)腳本的存儲器,供類DVD模塊313和Java模塊314使用。當(dāng)前動態(tài)腳本指的是BD-ROM上記錄的多個腳本中當(dāng)前正被執(zhí)行的那一個。
類DVD模塊313是虛擬DVD播放器,其是類DVD模式的執(zhí)行實體,并執(zhí)行裝載到動態(tài)腳本存儲器312中的當(dāng)前腳本程序。
Java模塊314是Java平臺,由Java虛擬機、配置和外形(profile)組成。Java虛擬機包括類裝入程序。Java模塊314創(chuàng)建并運行來自裝載到動態(tài)腳本存儲器312的Java類文件的當(dāng)前Java對象。Java虛擬機將以Java語言寫成的Java對象轉(zhuǎn)換成重放裝置的CPU的本機代碼,并促使CPU執(zhí)行該Java對象。
UO檢測模塊315檢測遠(yuǎn)程控制器上或者重放裝置的面板上所作出的用戶操作?;谠摍z測,UO檢測模塊315將指示所檢測的用戶操作(以下簡稱為“UO”(用戶操作))的信息輸出到模式管理模塊316。
模式管理模塊316保持從BD-ROM讀取的模式管理表格,而且執(zhí)行模式管理和分支控制。模式管理模塊316執(zhí)行的模式管理是要指定類DVD模塊313和Java模塊314中的任一個,從而執(zhí)行該動態(tài)腳本。
調(diào)度程序317有選擇地將適合重放裝置的當(dāng)前模式的UO發(fā)送到被指定執(zhí)行當(dāng)前模式的模塊。例如,假設(shè)在執(zhí)行類DVD模式的過程中接收到用戶信息UP、DOWN、RIGHT、LEFT和ACTIVATE,調(diào)度程序317將接收的UO輸出到被指定執(zhí)行類DVD模式的模塊。
渲染引擎318具有基礎(chǔ)軟件,例如Java2D和OPENGL。渲染引擎318根據(jù)Java模塊314提供的指令渲染計算機圖形,并將渲染后的計算機圖形輸出到圖形平面308。
特效播放信息保持單元319存儲重放裝置支持的重放速率的列表,其用于執(zhí)行特效播放,還存儲與類DVD模式中可用的特效播放功能有關(guān)的信息。Java模塊引用該列表和信息,以保證Java模式中執(zhí)行的特效播放過程中與類DVD模式的兼容性。
AV重放庫320響應(yīng)于來自類DVD模塊313和Java模塊314的功能調(diào)用,執(zhí)行AV重放功能和播放列表重放功能。AV重放功能指的是與DVD和CD播放器的功能相似的功能組。具體地,該功能包括重放開始、停止、暫停、繼續(xù)、靜止圖像功能的取消、以立即值指定的重放速率快速前進重放、以立即值指定的重放速率后退重放、音頻改變、第二流改變和角變位。播放列表重放功能指的是AV重放功能的類型,通過其根據(jù)播放列表信息開始或停止重放。AV重放庫320根據(jù)由類DVD模塊313和Java模塊314以立即值所指定的重放速率,改變讀取速率,以此速率從軌道緩存器302讀出數(shù)據(jù)。然后AV重放庫320控制多路分解器303以變化的讀取速率提取視頻數(shù)據(jù),而且將所提取的視頻數(shù)據(jù)發(fā)送到視頻解碼器304。以相似方式,AV重放庫320控制多路分解器303,從而提取音頻數(shù)據(jù),而且將所提取的音頻數(shù)據(jù)發(fā)送到音頻解碼器306。通過上述處理過程,以立即值指定的重放速率執(zhí)行特效播放。
至此結(jié)束對重放裝置的部件的描述。
接下來,圖4示出了Java模塊314的詳細(xì)結(jié)構(gòu)的方塊圖。附圖中所示的結(jié)構(gòu)涉及對應(yīng)用程序的執(zhí)行的控制,這響應(yīng)于選擇標(biāo)題的用戶操作來執(zhí)行。
響應(yīng)于涉及標(biāo)題選擇的用戶操作,調(diào)度程序317請求標(biāo)題管理器401選擇對應(yīng)于該輸入數(shù)字的標(biāo)題。
標(biāo)題管理器401請求媒體重放模塊404執(zhí)行AV重放,還請求應(yīng)用程序控制模塊406激活應(yīng)用程序。
響應(yīng)于來自標(biāo)題管理器401的激活請求,應(yīng)用程序控制模塊406控制從動態(tài)腳本獲取模塊407獲取的Java應(yīng)用程序413和414的行為(behavior)。根據(jù)應(yīng)用程序管理信息、應(yīng)用程序狀態(tài)和定時信息執(zhí)行該控制。該應(yīng)用程序管理信息是從靜態(tài)腳本獲取模塊408獲得的。該應(yīng)用程序狀態(tài)和定時信息是從延遲控制管理模塊411獲得的。
動態(tài)腳本獲取模塊407從動態(tài)腳本存儲器312獲取Java應(yīng)用程序。根據(jù)應(yīng)用程序控制模塊406提供的指令,動態(tài)腳本獲取模塊407將來自BD-ROM的Java應(yīng)用程序存儲到動態(tài)腳本存儲器312中,而且從動態(tài)腳本存儲器312釋放該Java應(yīng)用程序。
靜態(tài)腳本獲取模塊408從靜態(tài)腳本存儲器311獲取應(yīng)用程序管理信息,用于控制Java應(yīng)用程序的行為。
重放信息獲取模塊409從重放信息管理模塊405獲取重放信息,而且當(dāng)對該重放信息做出改變時,接收事件。
特效播放狀態(tài)獲取模塊410從媒體重放模塊404接收與特效播放開始、特效播放執(zhí)行和特效播放結(jié)束相關(guān)的事件,作為特效播放狀態(tài),延遲控制管理模塊411根據(jù)標(biāo)題選擇時刻標(biāo)題之間的轉(zhuǎn)變,存儲應(yīng)用程序的激活屬性。此外,延遲控制管理模塊411在延遲激活的時刻,執(zhí)行時間管理。該延遲的激活指的是如下過程,即一旦接收激活請求,經(jīng)過延遲之后再激活與用戶選擇的標(biāo)題相關(guān)的應(yīng)用程序,而不是立即激活該應(yīng)用程序。應(yīng)用程序控制模塊406響應(yīng)于用戶的標(biāo)題選擇,發(fā)出該激活請求。延遲的長度指的是應(yīng)用程序的激活被延遲的時間周期。具體地,延遲控制管理模塊411包括計時器。
UO事件分配模塊412將標(biāo)題管理器401接收的UO事件傳送給Java應(yīng)用程序。
<數(shù)據(jù)>
圖5示出了應(yīng)用程序管理信息的實例。如圖5所示,應(yīng)用程序管理信息由應(yīng)用程序ID 501、激活屬性502和BIND屬性503組成。
應(yīng)用程序ID 501是應(yīng)用程序的標(biāo)識符。
激活屬性502指示是否在剛開始相關(guān)標(biāo)題時就激活相應(yīng)的應(yīng)用程序(AutoStart),或者在剛開始相關(guān)標(biāo)題時不激活該應(yīng)用程序(存在)。
BIND屬性503指示是否允許在相鄰標(biāo)題之間的轉(zhuǎn)變之前持續(xù)地執(zhí)行相應(yīng)的應(yīng)用程序。當(dāng)選擇新標(biāo)題時,終止具有BIND屬性“綁定”的應(yīng)用程序。另一方面,即使在標(biāo)題選擇之后,仍允許持續(xù)地執(zhí)行具有BIND屬性“未綁定”的應(yīng)用程序。
接下來,圖6示出了應(yīng)用程序激活狀態(tài)管理信息的實例。如圖6所示,應(yīng)用程序激活狀態(tài)管理信息由應(yīng)用程序ID 501和應(yīng)用程序激活狀態(tài)601組成。
應(yīng)用程序激活狀態(tài)601指示“自動開始”或“存在”兩者之一。狀態(tài)“自動開始”指示在選擇相關(guān)標(biāo)題之后,自動地激活相應(yīng)的應(yīng)用程序。另一方面,“存在”狀態(tài)指示在標(biāo)題選擇之后,應(yīng)用程序既不能自動激活也不能自動終止。具有“存在”狀態(tài)的應(yīng)用程序由另一個應(yīng)用程序激活,或者響應(yīng)于例如用戶操作等事件而被激活。
圖7示出的實例中,多個標(biāo)題中的每一個標(biāo)題具有一條不同的應(yīng)用程序管理信息。應(yīng)用程序管理表格(以下稱為“AMT”)是包括一條應(yīng)用程序管理信息的表格。在這種情況下,每次選擇新的標(biāo)題時,應(yīng)用程序管理器402從標(biāo)題管理器401獲取相應(yīng)的一條應(yīng)用管理信息。通過上述安排,根據(jù)視頻重放,適當(dāng)?shù)乜刂茟?yīng)用程序的操作。
<操作>
圖8示出了當(dāng)根據(jù)圖7所示的應(yīng)用程序管理信息依次執(zhí)行標(biāo)題#1和標(biāo)題#2的正常重放時,所執(zhí)行的應(yīng)用程序的實例。在該實例中,假設(shè)每個具有“存在”屬性的應(yīng)用程序都是由另一個應(yīng)用程序激活。一旦標(biāo)題#1的重放開始,就根據(jù)一片條相應(yīng)的應(yīng)用程序管理信息激活具有“自動開始”屬性的應(yīng)用程序#1。然后,應(yīng)用程序#1激活應(yīng)用程序#2,應(yīng)用程序#2激活應(yīng)用程序#3。接下來當(dāng)選擇標(biāo)題#2時,根據(jù)標(biāo)題#1的應(yīng)用程序管理信息,終止具有BIND屬性“綁定”的應(yīng)用程序#1和應(yīng)用程序#2。然而,即使在標(biāo)題選擇過程中,仍持續(xù)地執(zhí)行具有“未綁定”屬性的應(yīng)用程序#3。一旦開始重放標(biāo)題#2,就激活與標(biāo)題#2相關(guān)而且具有自動開始屬性的應(yīng)用程序#2,應(yīng)用程序#3保持執(zhí)行。然后,應(yīng)用程序#3激活應(yīng)用程序#4。一旦結(jié)束了標(biāo)題#2的重放,根據(jù)對應(yīng)于標(biāo)題#2的一條應(yīng)用程序管理信息,終止具有“綁定”屬性的應(yīng)用程序#2、#3和#4。
注意響應(yīng)于例如用戶操作等事件,可以激活具有“存在”屬性的應(yīng)用程序。
圖9示出了當(dāng)接收到來自模式管理模塊316的標(biāo)題選擇請求或標(biāo)題結(jié)束請求時,標(biāo)題管理器401和應(yīng)用程序控制模塊406執(zhí)行的處理步驟的流程圖的實例。
一旦接收到來自模式管理模塊的請求,標(biāo)題管理器401判斷所接收的請求是標(biāo)題選擇請求或者標(biāo)題結(jié)束請求(步驟S901)。如果所接收的請求是標(biāo)題結(jié)束請求,標(biāo)題管理器401請求媒體重放模塊404終止AV重放。一旦接收到該請求,媒體重放模塊404就終止AV重放(步驟S902)。接下來,標(biāo)題管理器401向應(yīng)用程序控制模塊406請求終止應(yīng)用程序。一旦接收到該請求,應(yīng)用程序控制模塊406就終止所有當(dāng)前正在執(zhí)行的應(yīng)用程序(步驟S903)。另一方面,如果所接收的請求是標(biāo)題選擇請求,標(biāo)題管理器401請求應(yīng)用程序控制模塊406終止每個具有“綁定”屬性的應(yīng)用程序。一旦接收到該請求,應(yīng)用程序控制模塊406就終止所有正在執(zhí)行的“綁定”應(yīng)用程序(步驟S904)。然后,應(yīng)用程序控制模塊406執(zhí)行延遲應(yīng)用程序激活過程(步驟S905)。
接下來,圖10和圖11示出了圖9所示的延遲應(yīng)用程序激活過程的處理步驟的流程圖。在該流程圖中,字母“i”表示變量,其指定應(yīng)用程序管理信息中指示的應(yīng)用程序ID中的一個,而字母“j”表示變量,其指定應(yīng)用程序激活狀態(tài)管理信息中指示的應(yīng)用程序ID中的一個。首先,判斷輸入的數(shù)字是否匹配存儲的數(shù)字,或者沒有存儲任何數(shù)字(步驟S1001)。如果判斷所輸入的數(shù)字不匹配所存儲的數(shù)字,或者沒有存儲任何數(shù)字,則存儲所輸入的數(shù)字(步驟S1002)。另一方面,如果所輸入的數(shù)字匹配所存儲的數(shù)字,則初始化變量“i”(步驟S 1003)。在存儲輸入數(shù)字之后,也初始化變量“i”。然后,判斷當(dāng)前是否正在執(zhí)行變量“i”指定的應(yīng)用程序ID所標(biāo)識的應(yīng)用程序(步驟S1004)。如果當(dāng)前沒有執(zhí)行該應(yīng)用程序,則判斷對應(yīng)于應(yīng)用程序ID的激活屬性是否是“自動開始”(步驟S1005)。如果激活屬性不是“自動開始”,應(yīng)用程序激活狀態(tài)“存在”存儲在延遲控制管理模塊411中(步驟S1006)。另一方面,如果激活屬性是“自動開始”,則將應(yīng)用程序激活狀態(tài)“自動開始”被存儲到延遲控制管理模塊411中(步驟S1007)。如果在步驟S1004中判斷當(dāng)前正在執(zhí)行應(yīng)用程序,則繼續(xù)該應(yīng)用程序的執(zhí)行(步驟S1008)。在上述步驟之后,判斷應(yīng)用程序管理信息是否指示任何其他應(yīng)用程序ID(步驟S1009)。如果指示任何其他應(yīng)用程序ID,則變量“i”加1(步驟S1010),接下來執(zhí)行步驟S1004。另一方面,如果指示任何其他ID,則判斷當(dāng)前是否正在執(zhí)行任何具有未在該應(yīng)用程序管理信息中指示的應(yīng)用程序ID的應(yīng)用程序(步驟S1011)。如果正在執(zhí)行這樣的應(yīng)用程序,則將該應(yīng)用程序全部終止(步驟S1012)。然后,設(shè)置測量預(yù)定時間周期的計時器(步驟S1013)。判斷在預(yù)定的時間周期之中是否接收到與所存儲的數(shù)字相同的參考數(shù)字輸入(步驟S1014)。如果在預(yù)定的時間周期之中接收到相同的參考數(shù)字,則重新設(shè)置計時器(步驟S1015),接下來執(zhí)行步驟S1014。接下來,初始化變量“j”(步驟S1016)。然后判斷對應(yīng)于變量“j”所指定的應(yīng)用程序ID的應(yīng)用程序的激活狀態(tài)是否是“自動開始”(步驟S1017)。如果激活狀態(tài)是“自動開始”,則激活該應(yīng)用程序(步驟S1018)。然后判斷應(yīng)用程序激活狀態(tài)管理信息是否指示任何其他應(yīng)用程序ID(步驟S1019)。如果指示任何其他應(yīng)用程序ID,則變量“j”加1(步驟S1020),接下來執(zhí)行步驟S1017。如果不指示任何其他應(yīng)用程序ID,則終止該過程。
注意在上述的流程圖中,判斷是否接收到與存儲的數(shù)字相同的參考數(shù)字輸入。然而,沒有必要把該判斷限制于相同的參考數(shù)字輸入。例如,當(dāng)判斷在預(yù)定的時間周期之內(nèi)做出了選擇另一個標(biāo)題的輸入時,其還可適用于重新設(shè)置定時器。在這種情況下,如果在預(yù)定的時間周期之內(nèi)不再有更多的輸入,根據(jù)最近接收到的輸入激活應(yīng)用程序。
接下來,參照圖12,提供應(yīng)用程序的延遲應(yīng)用程序激活過程的具體描述。當(dāng)連續(xù)地做出多次相同輸入時,執(zhí)行延遲應(yīng)用程序激活過程。在圖12中,第一級指示調(diào)度程序。第二級指示標(biāo)題管理器。第三級指示應(yīng)用程序管理器。第四級指示類裝載器。每個級的橫軸表示時間。從時間t1到t5、時間t2到t6、時間t3到t7、時間t4到t8的每個時間周期對應(yīng)于預(yù)定時間周期。在時間t1,用戶在遠(yuǎn)程控制器上做出選擇標(biāo)題#1的鍵盤輸入。作為響應(yīng),調(diào)度程序請求標(biāo)題管理器選擇標(biāo)題#1。一旦接收到請求,標(biāo)題管理器就請求應(yīng)用程序管理器激活標(biāo)題#1。一旦接收到請求,應(yīng)用程序管理器就設(shè)置計時器,使其判斷在預(yù)定時間周期之內(nèi)是否做出了選擇相同標(biāo)題的另一個輸入,而不是立即對類裝載器發(fā)出指令。在時間t2,接收選擇標(biāo)題#1的另一個輸入。因此,應(yīng)用程序管理器重新設(shè)置計時器以判斷在預(yù)定時間周期之內(nèi)是否還做出了選擇相同標(biāo)題的另一個輸入。在時間t3,做出選擇標(biāo)題#1的另一個輸入。因此,應(yīng)用程序管理器重新設(shè)置計時器,使其判斷在預(yù)定時間周期之內(nèi)是否做出了選擇相同標(biāo)題的另一個輸入。在時間t4,做出選擇標(biāo)題#1的另一個用戶輸入。因此,應(yīng)用程序管理器再次重新設(shè)置計時器,從而判斷在預(yù)定時間周期之內(nèi)是否做出了選擇相同標(biāo)題的另一個用戶輸入。由于在預(yù)定時間周期之內(nèi)不再做出選擇相同標(biāo)題的輸入,應(yīng)用程序管理器在時間t8根據(jù)最近接收的輸入(時間t4做出的輸入)對類裝載器發(fā)出指令。
接下來,圖13示出了播放列表管理信息的實例,該信息允許Java模塊響應(yīng)于標(biāo)題選擇,自動地開始AV重放,而不是通過應(yīng)用程序。播放列表管理信息由自動重放標(biāo)記1301和播放列表名1302組成。
自動重放標(biāo)記設(shè)置成“ON”或“OFF”。當(dāng)設(shè)置成“ON”時,Java模塊自動執(zhí)行對播放列表名1302中指示的第一播放列表的重放。另一方面,當(dāng)自動重放標(biāo)記設(shè)置成“OFF”時,Java模塊自動執(zhí)行對播放列表名1302中指示的播放列表的重放。否則,由應(yīng)用程序執(zhí)行播放列表的重放。
播放列表名1302指的是在相應(yīng)標(biāo)題的重放過程中可執(zhí)行的一個或多個播放列表的列表。
接下來,圖14示出的示例中,每個標(biāo)題具有一條不同的播放列表管理信息和一條不同的應(yīng)用程序管理信息。為各個標(biāo)題提供不同的播放列表管理信息條,可以限制各個標(biāo)題中使用的播放列表。此外,當(dāng)選擇相應(yīng)的標(biāo)題時,能夠自動開始對播放列表的重放。
圖15示出了當(dāng)為了正常重放而順序地選擇了標(biāo)題#1和#2時,根據(jù)圖14中所示的應(yīng)用程序管理信息和播放列表管理信息,所執(zhí)行的應(yīng)用程序操作和播放列表重放。在開始標(biāo)題#1的重放時,根據(jù)該應(yīng)用程序管理信息,激活具有“自動開始”屬性的應(yīng)用程序#1。由于播放列表管理信息指示自動重放標(biāo)記是“ON”,則自動執(zhí)行對該播放列表管理信息中指示的第一播放列表,即播放列表#1的重放。如果從應(yīng)用程序接收到重放請求,或者接收到例如用戶操作等事件,則執(zhí)行其他播放列表。例如,如果當(dāng)前正在執(zhí)行的應(yīng)用程序#1請求改變播放列表,則將播放列表#1轉(zhuǎn)換到播放列表#2。在開始標(biāo)題#2的重放時,激活與標(biāo)題#2相關(guān)且具有“自動開始屬性”的應(yīng)用程序#2,終止僅與標(biāo)題#1相關(guān)的應(yīng)用程序#1。由于該條相應(yīng)于標(biāo)題#2的播放列表管理信息指示自動重放標(biāo)記設(shè)置為“OFF”,因此,不自動執(zhí)行對任何播放列表的重放。應(yīng)應(yīng)用程序#2的請求開始對播放列表#3的重放。當(dāng)應(yīng)用程序#2和播放列表#3結(jié)束時,結(jié)束對標(biāo)題#2的重放。
接下來,圖16示出的示例中,其中,一個標(biāo)題具有應(yīng)用程序管理信息和播放列表管理,然而另一個標(biāo)題僅僅具有應(yīng)用程序管理信息。提供兩種類型的標(biāo)題(一個標(biāo)題具有應(yīng)用程序管理信息和播放列表管理信息,另一個標(biāo)題僅具有應(yīng)用程序管理信息)使得可以提供一個標(biāo)題,其中AV數(shù)據(jù)和應(yīng)用程序共存,和另一個標(biāo)題僅由應(yīng)用程序組成。僅由應(yīng)用程序組成的這種標(biāo)題的示例包括游戲。
圖17是由標(biāo)題管理器401和應(yīng)用程序控制模塊406一旦從模式管理模塊316接收到標(biāo)題選擇請求或標(biāo)題結(jié)束請求,就執(zhí)行的處理步驟的示例性流程圖。在該示例中,假設(shè)所選擇的標(biāo)題具有播放列表管理信息。
一旦從模式管理模塊316接收到標(biāo)題選擇請求或標(biāo)題結(jié)束請求,標(biāo)題管理器401就判斷接收的請求是上述兩種請求中的哪一種(步驟S1701)。如果所接收的請求是標(biāo)題結(jié)束請求,標(biāo)題管理器401請求媒體重放模塊404終止AV重放。一旦接收到請求,媒體重放模塊404就終止AV重放(步驟S1702)。此外,標(biāo)題管理器401請求應(yīng)用程序控制模塊406終止應(yīng)用程序。一旦接收到請求,應(yīng)用程序控制模塊406就終止當(dāng)前正在執(zhí)行的所有應(yīng)用程序(步驟S1703)。另一方面,如果所接收的請求是標(biāo)題選擇請求,標(biāo)題管理器401請求應(yīng)用程序控制模塊406終止所有“綁定”應(yīng)用程序。一旦接收到請求,應(yīng)用程序控制模塊406就終止當(dāng)前正在執(zhí)行的所有“綁定”應(yīng)用程序(步驟S1704)。然后標(biāo)題管理器401判斷所選擇的標(biāo)題是否具有播放列表管理信息(步驟S1705)。如果所選擇的標(biāo)題具有播放列表管理信息,標(biāo)題管理器401請求應(yīng)用程序控制模塊406激活應(yīng)用程序。一旦接收到請求,應(yīng)用程序控制模塊406就執(zhí)行應(yīng)用程序激活控制過程(步驟S1706)。另一方面,如果所選擇的標(biāo)題具有播放列表管理信息,則判斷播放列表管理信息中的自動重放標(biāo)記是否設(shè)置為“ON”(步驟S1707)。如果播放列表管理信息中的自動重放標(biāo)記設(shè)置為“OFF”,則執(zhí)行步驟S1706。另一方面,如果播放列表管理信息中的自動重放標(biāo)記設(shè)置為“ON”,標(biāo)題管理器401請求媒體重放模塊404開始AV重放。一旦接收到請求,媒體重放模塊404執(zhí)行對指定播放列表的重放(步驟S1708)。然后,應(yīng)用程序控制模塊406執(zhí)行延遲應(yīng)用程序激活過程(步驟S1709)。
接下來,圖18是圖17所示的應(yīng)用程序激活控制過程的示范性流程圖。在該流程圖中,字母“i”表示變量,該變量指定應(yīng)用程序管理信息中指示的應(yīng)用程序ID之一。首先,初始化變量“i”(步驟S1801)。判斷當(dāng)前是否正在執(zhí)行變量“i”指定的該應(yīng)用程序ID標(biāo)識的應(yīng)用程序(步驟S1802)。如果當(dāng)前正在執(zhí)行該應(yīng)用程序,則繼續(xù)該應(yīng)用程序的執(zhí)行(步驟S1803)。另一方面,如果當(dāng)前沒有執(zhí)行該應(yīng)用程序,則判斷該應(yīng)用程序ID相應(yīng)的激活屬性是否是“自動開始”(步驟S1804)。如果該激活屬性是“自動開始”,則激活該應(yīng)用程序(步驟S1805)。在上述處理步驟之后,判斷該應(yīng)用程序管理信息是否指示任何其他應(yīng)用程序ID(步驟S1806)。如果指示任何其他應(yīng)用程序ID,則變量“i”增加1(步驟S1807),并且執(zhí)行步驟S1802。另一方面,如果不指示任何其他應(yīng)用程序ID,則判斷當(dāng)前是否正在執(zhí)行具有該應(yīng)用程序管理信息中未指示的應(yīng)用程序ID的任何應(yīng)用程序(步驟S1808)。如果正在執(zhí)行這樣的應(yīng)用程序,則終止所有應(yīng)用程序(步驟S1809)。如果未在執(zhí)行這樣的應(yīng)用程序,則結(jié)束該過程。
圖19示出了標(biāo)題的屬性信息的示例,其是重放執(zhí)行的單元。對于選擇一個標(biāo)題的模式管理模塊316來說,標(biāo)題屬性信息是必要的,而且標(biāo)題屬性信息包括標(biāo)題對象類型1901、標(biāo)題訪問類型1902、標(biāo)題重放類型1903和標(biāo)題對象名1904。
標(biāo)題對象類型1901是模式管理模塊316所使用的屬性信息,其響應(yīng)于請求標(biāo)題選擇的用戶操作,判斷所請求的標(biāo)題是與類DVD模塊313相關(guān)的“HDMV”標(biāo)題,還是與Java模塊314相關(guān)的“BD-J”標(biāo)題。通過提供該屬性信息,除光盤上存儲的內(nèi)容之外,重放裝置能夠重放廣播波上承載的或例如HDD等存儲器上記錄的內(nèi)容。
標(biāo)題訪問類型1902是屬性信息,用于判斷用戶操作是否可選擇該標(biāo)題。通過提供該屬性信息,就向內(nèi)容提供者提供了包括隱藏標(biāo)題的選項。
標(biāo)題重放類型1903是屬性信息,用于判斷標(biāo)題的主要特征是否在視頻和音頻(電影標(biāo)題)中或在相關(guān)應(yīng)用程序中(交互標(biāo)題)。通過提供該屬性信息,模式管理模塊316能夠判斷要將用戶操作所生成的按鍵事件分配給類DVD模塊313或者Java模塊314。
標(biāo)題對象名1904是屬性信息,指示所述標(biāo)題屬性信息的鏈接的標(biāo)題對象。
圖20示出了標(biāo)題列表中包括的標(biāo)題#1和#2的標(biāo)題屬性信息的示例。如圖所示,標(biāo)題#1是“BD-J”標(biāo)題,其被Java模塊314執(zhí)行。此外,標(biāo)題#1是“可訪問的”,這意味著用戶操作能夠選擇該標(biāo)題,而且標(biāo)題#1是“電影”標(biāo)題,這意味著該標(biāo)題的主要特征在于其音頻和視頻數(shù)據(jù)。此外,標(biāo)題對象名是“BD-J Obj#1”。另一方面,標(biāo)題#2是“HDMV”標(biāo)題,由類DVD模塊313執(zhí)行。此外,標(biāo)題#2是不可訪問的,這意味著用戶操作不能選擇該標(biāo)題,而且標(biāo)題#2是“交互”標(biāo)題,這意味著該標(biāo)題的主要特征在相關(guān)應(yīng)用程序。此外,該標(biāo)題對象名是“Movie Obj#2”。
圖21示出了標(biāo)題管理器401和應(yīng)用程序控制模塊406一旦從模式管理模塊316接收到標(biāo)題選擇請求或標(biāo)題結(jié)束請求,就執(zhí)行的處理步驟的示范性流程圖。該示例涉及所請求的標(biāo)題具有標(biāo)題屬性信息的情況。一旦接收到來自模式管理模塊316的標(biāo)題選擇請求或標(biāo)題結(jié)束請求,標(biāo)題管理器401判斷接收的請求是上述兩種中的哪一種(步驟S2101)。如果所接收的請求是標(biāo)題結(jié)束請求,標(biāo)題管理器401請求媒體重放模塊404終止AV重放。一旦接收到該請求,媒體重放模塊404終止AV重放(步驟S2102)。然后,標(biāo)題管理器401請求應(yīng)用程序控制模塊406終止應(yīng)用程序。一旦接收到該請求,應(yīng)用程序控制模塊406終止當(dāng)前正在執(zhí)行的所有應(yīng)用程序(步驟S2103)。另一方面,如果接收的請求是標(biāo)題選擇請求,標(biāo)題管理器401請求應(yīng)用程序控制模塊406終止BIND應(yīng)用程序。一旦接收到該請求,應(yīng)用程序控制模塊406終止當(dāng)前正在執(zhí)行的所有“綁定”應(yīng)用程序(步驟S2104)。然后標(biāo)題管理器401判斷所選擇的標(biāo)題是否具有播放列表管理信息(步驟S2105)。如果所選擇的標(biāo)題不具有播放列表管理信息,則執(zhí)行應(yīng)用程序激活控制過程(步驟S2106)。另一方面,如果所選擇的標(biāo)題具有播放列表管理信息,則判斷播放列表管理信息中指示的自動重放標(biāo)記是否設(shè)置為ON(步驟S2107)。如果該播放列表管理信息中指示的自動重放標(biāo)記設(shè)置為OFF,則判斷標(biāo)題屬性信息中指示的標(biāo)題重放類型是否是“電影”(步驟S2108)。如果該標(biāo)題重放類型不是“電影”,則執(zhí)行步驟S2106。另一方面,如果該標(biāo)題重放類型是“電影”,則執(zhí)行延遲應(yīng)用程序激活處理(步驟S2110)。如果該播放列表管理信息中指示的自動重放標(biāo)記設(shè)置為ON,則標(biāo)題管理器401請求媒體重放模塊404開始AV重放。一旦接收到該請求,媒體重放模塊404執(zhí)行對指定播放列表的重放(步驟S4309)。然后,執(zhí)行步驟S2110。
如上所述,根據(jù)第一實施例,如果在用戶選擇標(biāo)題時接收到的作為顫動(chattering)的結(jié)果的多個輸入,則響應(yīng)于最近接收的輸入,執(zhí)行應(yīng)用程序。因此,避免了相同的應(yīng)用程序被重復(fù)地激活,使得避免了圖像顯示干擾或系統(tǒng)操作凍結(jié)。
要注意的是,第一實施例涉及一個標(biāo)題對應(yīng)于一個重放部分的情況。然而,所述重放部分并不限于所述標(biāo)題。例如,播放列表的章節(jié)可以作為標(biāo)題處理。
(第二實施例)本發(fā)明的第二實施例涉及特效播放過程中應(yīng)用程序的執(zhí)行控制方面的改善。
圖22示出了根據(jù)第二實施例的類DVD模塊313和Java模塊314a的結(jié)構(gòu)。此外,圖中所示的結(jié)構(gòu)涉及響應(yīng)于請求特效播放的用戶操作,例如快速前進重放、快速后退重放、章節(jié)搜索和時間搜索等而執(zhí)行的過程。首先,提供對類DVD模塊313執(zhí)行的重放控制和特效播放控制的描述。
腳本程序2201是記錄在BD-ROM上的BD重放程序,在類DVD模式中使用。腳本程序2201調(diào)用腳本控制模塊2202提供的腳本控制功能,促使如播放列表中所定義的條件分支。
腳本控制模塊2202提供腳本控制功能。
UO處理模塊2203響應(yīng)于遠(yuǎn)程控制器上做出的用戶操作,執(zhí)行過程。更具體地,UO處理模塊2203根據(jù)從調(diào)度程序317接收的UO事件,執(zhí)行特效播放,例如快速前進重放、快速后退重放、章節(jié)搜索和時間搜索等。
接下來,在Java模式的情況下,BD-ROM上記錄的Java應(yīng)用程序414在相應(yīng)的BD標(biāo)題重放過程中,使用媒體重放模塊404提供的API,執(zhí)行腳本控制和特效播放控制。
當(dāng)用戶操作遠(yuǎn)程控制器時,標(biāo)題管理器401從調(diào)度程序317接收UO事件,做出涉及例如快速前進重放、快速后退重放、章節(jié)搜索或時間搜索等輸入。然后標(biāo)題管理器401經(jīng)由應(yīng)用程序管理器402a將所接收的UO事件傳送到當(dāng)前正在執(zhí)行的Java應(yīng)用程序414。
當(dāng)Java應(yīng)用程序414執(zhí)行特效播放時,重放速率改變。響應(yīng)于重放速率的改變,應(yīng)用程序管理器402a從媒體重放模塊404接收特效播放開始事件。一旦接收到特效播放開始事件,應(yīng)用程序管理器402a如下操作,直到接收到特效播放結(jié)束事件。也就是說,如果從重放信息管理模塊405接收到腳本轉(zhuǎn)變事件,則應(yīng)用程序管理器402a根據(jù)應(yīng)用程序管理信息的相應(yīng)條控制Java應(yīng)用程序413和414的行為。
特效播放信息獲取模塊403獲取特效播放信息,并將所獲取的特效播放信息傳送到Java應(yīng)用程序414。
媒體重放模塊404向Java應(yīng)用程序414提供用于媒體重放控制的API。當(dāng)Java應(yīng)用程序414調(diào)用媒體重放控制API時,媒體重放模塊404反過來從AV重放庫320調(diào)用函數(shù),并控制AV重放。
重放信息管理模塊405管理重放信息,并將腳本轉(zhuǎn)變事件傳送到應(yīng)用程序管理器402a。
響應(yīng)于UO事件,例如按下快速前進按鈕,Java應(yīng)用程序414經(jīng)由特效播放信息獲取模塊403獲取特效播放信息,并判斷應(yīng)當(dāng)使用哪個支持的重放速率用于特效播放。Java應(yīng)用程序414從特效播放信息讀取類DVD模式中重放裝置所支持的重放速率。根據(jù)該速率,Java應(yīng)用程序414確定用于媒體重放模塊404的合適的重放速率。
圖23示出了指示重放信息的系統(tǒng)參數(shù)(SPRM)的列表。參數(shù)SPRM(0)到SPRM(12)指示當(dāng)前重放狀態(tài)和根據(jù)腳本轉(zhuǎn)變的接連的改變。按照重放裝置的優(yōu)選值(preference)設(shè)置其他參數(shù)。
SPRM(0)交互圖形流號SPRM(1)音頻流號SPRM(2)顯示圖形/字幕流號SPRM(3)角度號SPRM(4)當(dāng)前標(biāo)題號SPRM(5)當(dāng)前章節(jié)號SPRM(6)當(dāng)前播放列表IDSPRM(7)當(dāng)前播放項目IDSPRM(8)顯示時間信息SPRM(9)導(dǎo)航計時器SPRM(10)選擇的按鍵信息SPRM(11)交互圖形流中的菜單頁IDSPRM(12)字幕流中的用戶風(fēng)格IDSPRM(13)父母級SPRM(14)保留SPRM(15)關(guān)于音頻的播放器配置值SPRM(16)關(guān)于音頻流的語言代碼SPRM(17)關(guān)于字幕流的顯示圖形/語言代碼SPRM(18)關(guān)于菜單的語言代碼SPRM(19)保留
SPRM(20)保留SPRM(21)保留SPRM(22)保留SPRM(23)保留SPRM(24)保留SPRM(25)保留SPRM(26)保留SPRM(27)保留SPRM(28)保留SPRM(29)保留SPRM(30)文本字幕支持信息SPRM(31)播放器版本信息SPRM(32)保留圖24示出了對應(yīng)于重放裝置所保持的重放信息的特效播放信息的內(nèi)容。特效播放信息包括重放裝置所支持的重放速率列表、類DVD模式中使用的重放速率信息和信息觸發(fā)特效播放。例如,用戶通過按鈕操作觸發(fā)特效播放。在按鈕操作的情況中,特效播放信息為每種類型的特效播放指定按鈕ID和該按鈕要被按壓的次數(shù)。
注意雖然圖24示出的示例中可利用快速前進重放、快速后退重放、慢速前進重放、慢速后退重放,還可以附加應(yīng)用其他類型的特效播放。例如,特效播放是跳躍重放,跳躍到對應(yīng)于幾秒后的重放點。在跳躍重放的情況中,特效播放信息指示秒數(shù),而不是能支持的重放速率。然而,沒有必要指示重放裝置所支持的所有秒數(shù)。特效播放信息指示類DVD模式中的跳躍重放可用的秒數(shù)就足夠了。該實施例涉及以與正常重放速率不同的重放速率執(zhí)行的特效播放的類型。然而,該實施例適用于以時間參數(shù)執(zhí)行的特效播放的類型(例如,跳躍到對應(yīng)于15秒后的重放點的跳躍重放。)圖25示出了用于執(zhí)行用戶操作觸發(fā)的特效播放的處理步驟的流程圖。當(dāng)用戶操作遠(yuǎn)程控制器或重放裝置的前面板以按下,例如快速前進按鈕時,UO檢測模塊315檢測用戶的按鍵操(步驟S2501),而且將對應(yīng)于所檢測到的按鍵操作的事件發(fā)送到模式管理模塊316。作為響應(yīng),模式管理模塊316判斷當(dāng)前模式是Java模式還是類DVD模式(步驟S2502)。如果當(dāng)前模式是類DVD模式,模式管理模塊316中包括的調(diào)度程序317將UO事件發(fā)送到類DVD模塊中包括的UO處理模塊2203(步驟S2503)。UO處理模塊2203執(zhí)行對應(yīng)于所接收的UO事件的重放控制(步驟S2504)。另一方面,如果當(dāng)前模式是Java模式,調(diào)度程序317將UO事件發(fā)送到Java模塊中的標(biāo)題管理器401(步驟S2505)。一旦接收到該UO事件,標(biāo)題管理器401反過來將所接收的UO事件經(jīng)由應(yīng)用程序管理器402a發(fā)送到當(dāng)前正在執(zhí)行的Java應(yīng)用程序414(步驟S2506)。一旦接收到該UO事件,Java應(yīng)用程序414經(jīng)由特效播放信息獲取模塊403獲取重放裝置的特效播放信息(步驟S2507)。然后Java應(yīng)用程序414根據(jù)該特效播放信息,經(jīng)由媒體重放模塊404,執(zhí)行對應(yīng)于所接收的UO事件的特效控播放制(步驟S2508)。例如,在所接收的UO事件是按下快速前進按鈕時,Java應(yīng)用程序414保持對按鈕被連續(xù)按下的次數(shù)的計數(shù)。根據(jù)快速前進按鈕是否被按下一次、兩次或三次,Java應(yīng)用程序414從特效播放信息中選擇適合的重放速率。
在上述描述中,Java應(yīng)用程序414在接收到UO事件之后獲取特效播放信息。然而,可替換地,Java應(yīng)用程序414可以在例如裝置的開始時刻,提前讀取特效播放信息。此外,提前讀取的特效播放信息可以保持在Java應(yīng)用程序414中。
圖26更詳細(xì)地示出了圖22所示的應(yīng)用程序管理器402a的結(jié)構(gòu)。此外,圖中所示的結(jié)構(gòu)涉及響應(yīng)于請求例如快速前進重放、快速后退重放、章節(jié)搜索和時間搜索等特效播放的用戶操作,而執(zhí)行的過程。
當(dāng)Java應(yīng)用程序414執(zhí)行特效播放時,應(yīng)用程序控制模塊406控制從動態(tài)腳本獲取模塊407獲取的Java應(yīng)用程序413和414的行為。該控制是根據(jù)從靜態(tài)腳本獲取模塊408獲取的應(yīng)用程序管理信息、從特效播放狀態(tài)獲取模塊410獲取的特效播放狀態(tài)(特效播放開始、特效播放執(zhí)行和特效播放結(jié)束)和從重放信息獲取模塊409獲取的重放信息而執(zhí)行的。
接下來,圖27示出了標(biāo)題列表中所列出的每個標(biāo)題都是應(yīng)用程序的管理單元。
標(biāo)題#1包括主要特征(main feature)電影。當(dāng)選擇標(biāo)題#1時,用于執(zhí)行主要特征視頻的重放的應(yīng)用程序被激活,因此開始主要特征視頻的重放。一旦接收到事件,例如遠(yuǎn)程控制器上做出的用于請求快速前進重放或跳躍重放等的按鍵操作,所激活的應(yīng)用程序命令媒體重放模塊來相應(yīng)地控制重放裝置的行為。當(dāng)開始標(biāo)題#1的重放時,除了用于主要特征重放的應(yīng)用程序,必要時激活其他應(yīng)用程序。例如,激活顯示彈出(pop-up)菜單的應(yīng)用程序和顯示購物車的應(yīng)用程序,以便允許用戶購買主要特征視頻中出現(xiàn)的商品。為了從主要特征標(biāo)題切換到另一個標(biāo)題,執(zhí)行標(biāo)題轉(zhuǎn)變。例如,為了激活在線購買應(yīng)用程序,以便購買主要特征重放中出現(xiàn)的商品,用戶選擇與在線購買應(yīng)用程序相關(guān)的標(biāo)題#2。當(dāng)選擇標(biāo)題#2時,與標(biāo)題#1相似,激活與標(biāo)題#2相關(guān)的應(yīng)用程序,終止與標(biāo)題#2無關(guān)的應(yīng)用程序。在標(biāo)題轉(zhuǎn)變過程中(beyond the title transition),連續(xù)地執(zhí)行與標(biāo)題#1和標(biāo)題#2都相關(guān)的應(yīng)用程序。換句話說,如果應(yīng)用程序與標(biāo)題#1和標(biāo)題#2都相關(guān),在從標(biāo)題#1到標(biāo)題#2的轉(zhuǎn)變過程中,該應(yīng)用程序保持執(zhí)行,沒有終止和重新開始。
圖28示出了根據(jù)第二實施例的應(yīng)用程序管理信息的示例。
每條應(yīng)用程序管理信息包括有效期2801、應(yīng)用程序ID 501和激活屬性502。與每個應(yīng)用程序ID 501相應(yīng),應(yīng)用程序管理信息管理有效期2801,其中應(yīng)用程序與視頻重放同步執(zhí)行。此外,激活屬性502指示在特定的有效期2801中是否自動激活該應(yīng)用程序。
有效期2801指示“標(biāo)題”、“章節(jié)”、“播放列表”和“播放列表播放項目”中的每一個。該有效期“標(biāo)題”指示相應(yīng)的應(yīng)用程序的有效性遍及整個標(biāo)題。有效期“章節(jié)”指示相應(yīng)的應(yīng)用程序的有效性遍及該播放列表中指示的相鄰播放列表標(biāo)志之間的周期。有效期“播放列表”指示相應(yīng)的應(yīng)用程序的有效性遍及整個播放列表。有效期“播放列表播放項目”指示該相應(yīng)的應(yīng)用程序的有效性遍及該播放列表中的播放項目。應(yīng)用程序ID 501和激活屬性502與第一實施例中所述的相同。
此外,如圖28所示,如果同一個應(yīng)用程序與多個標(biāo)題相關(guān),則允許該應(yīng)用程序在所述多個標(biāo)題中自始自終連續(xù)地執(zhí)行。應(yīng)用程序管理信息指示應(yīng)用程序#3與標(biāo)題#1和標(biāo)題#2相關(guān)。因此,在標(biāo)題#1的重放過程中,激活應(yīng)用程序#3。由于應(yīng)用程序#3還與標(biāo)題#2相關(guān),在標(biāo)題#2的重放過程中也執(zhí)行應(yīng)用程序#3。也就是說,應(yīng)用程序#3在從標(biāo)題#1到標(biāo)題#2的轉(zhuǎn)變過程中連續(xù)地執(zhí)行,當(dāng)結(jié)束標(biāo)題#1的重放時沒有終止。如上所述,如果同一個應(yīng)用程序與多個標(biāo)題相關(guān),在該相關(guān)標(biāo)題之間轉(zhuǎn)變時,連續(xù)地播放該應(yīng)用程序,沒有終止和重新開始。然而,即使一個應(yīng)用程序與多個標(biāo)題相關(guān),當(dāng)開始與該應(yīng)用程序無關(guān)的標(biāo)題時,終止該應(yīng)用程序。
圖29示出了在順次執(zhí)行標(biāo)題#1和標(biāo)題#2的正常重放情況中,根據(jù)圖28所示的應(yīng)用程序管理信息,執(zhí)行應(yīng)用程序。在該示例中,假設(shè)具有“存在”屬性的每個應(yīng)用程序由另一個應(yīng)用程序激活。一旦標(biāo)題#1的重放開始,根據(jù)相應(yīng)條應(yīng)用程序管理信息激活具有“自動開始”屬性的應(yīng)用程序#1。當(dāng)重放從章節(jié)#1進行到章節(jié)#2時,激活與章節(jié)#2相關(guān)且具有“自動開始”屬性的應(yīng)用程序#2。由應(yīng)用程序#2激活應(yīng)用程序#3之后,開始對章節(jié)#3的重放。然后,終止與章節(jié)#3不相關(guān)的應(yīng)用程序#2。當(dāng)章節(jié)#3的重放結(jié)束時,標(biāo)題#1的重放結(jié)束而標(biāo)題#2的重放開始。在標(biāo)題#2的重放開始時,終止與標(biāo)題#2不相關(guān)的應(yīng)用程序#1,根據(jù)相應(yīng)條應(yīng)用程序管理信息,激活具有“自動開始”屬性的應(yīng)用程序#4。當(dāng)標(biāo)題#2的重放結(jié)束時,終止應(yīng)用程序#3和應(yīng)用程序#4。
圖30示出的示例中,每個標(biāo)題具有一條不同的應(yīng)用程序管理信息。
圖31示出了根據(jù)第二實施例由應(yīng)用程序控制模塊406執(zhí)行的處理步驟的示范性流程圖。當(dāng)標(biāo)題重放過程中執(zhí)行特效播放時,在特效播放過程中沒有激活任何應(yīng)用程序或者終止任何應(yīng)用程序,當(dāng)特效播放結(jié)束時,執(zhí)行應(yīng)用程序的激活和終止。在該實例中,假設(shè)提前獲取標(biāo)題重放的應(yīng)用程序管理信息。應(yīng)用程序控制模塊406監(jiān)視在標(biāo)題重放過程中特效播放狀態(tài)獲取模塊410是否接收到特效播放開始事件(步驟S3101)。一旦接收到特效播放開始事件,特效播放開始(步驟S3102),以便最近沒有激活或終止任何應(yīng)用程序,直到特效播放狀態(tài)獲取模塊410接收特效播放結(jié)束事件。接下來,特效播放狀態(tài)獲取模塊410監(jiān)視是否接收到特效播放結(jié)束事件(步驟S3103)。一旦接收到特效播放結(jié)束事件,應(yīng)用程序控制模塊406從重放信息獲取模塊409獲取重放信息(步驟S3104)。更具體地,這里獲取的重放信息包括標(biāo)題號SPRM(4)、章節(jié)號SPRM(5)、播放列表ID SPRM(6)和播放項目ID SPRM(7)。然后應(yīng)用程序控制模塊406執(zhí)行應(yīng)用程序狀態(tài)控制過程(步驟S3105)。
接下來,圖32示出了應(yīng)用程序狀態(tài)控制過程的示范性流程圖。在該示例中,假設(shè)提前獲取標(biāo)題重放的應(yīng)用程序管理信息。應(yīng)用程序控制模塊406根據(jù)已經(jīng)從靜態(tài)腳本獲取模塊408獲取的應(yīng)用程序管理信息,控制應(yīng)用程序的執(zhí)行。在該流程圖中,字母“i”是變量,其指定應(yīng)用程序管理信息中指示的應(yīng)用程序ID之一。首先,初始化變量“i”(步驟S3201)。參照所獲取的重放信息(標(biāo)題號SPRM(4)、章節(jié)號SPRM(5)、播放列表ID SPRM(6)和播放項目ID SPRM(7))和對應(yīng)于該應(yīng)用程序ID的有效期,判斷重放信息是否在有效期之內(nèi)(步驟S3202)。如果該重放信息在有效期之內(nèi),那么判斷對應(yīng)于該應(yīng)用程序ID的激活屬性是否是“自動開始”(步驟S3203)。如果該激活屬性是“自動開始”,則激活對應(yīng)于該應(yīng)用程序ID的應(yīng)用程序(步驟S3204)。另一方面,如果該重放信息未落入該有效期中,那么判斷當(dāng)前是否正在執(zhí)行對應(yīng)于該應(yīng)用程序ID的應(yīng)用程序(步驟S3205)。如果當(dāng)前正在執(zhí)行該應(yīng)用程序,則終止該應(yīng)用程序(步驟S3206)。在激活該應(yīng)用程序之后(步驟S3204),或者如果該激活屬性不是“自動開始”(步驟S3203否),或者在終止該應(yīng)用程序之后(步驟S3206),或者當(dāng)前沒有執(zhí)行該應(yīng)用程序(步驟S3205否),那么判斷該應(yīng)用程序管理信息是否指示任何其他應(yīng)用程序ID(步驟S3207)。如果指示任何其他應(yīng)用程序ID,變量“i”加1(步驟S3208),接下來執(zhí)行步驟S3202。如果不指示任何其他應(yīng)用程序ID,則終止該過程。
圖33示出了應(yīng)用程序管理信息的示例,其允許即使在特效播放過程中,一旦有效期屆滿,則終止應(yīng)用程序。應(yīng)用程序管理信息包括in_trickplay結(jié)束標(biāo)記3301,允許一旦有效期屆滿,則終止相應(yīng)的應(yīng)用程序。當(dāng)in_trickplay結(jié)束標(biāo)記3301設(shè)置為“是”,即使在特效播放過程中,一旦有效期屆滿,則終止該應(yīng)用程序。如果in_trickplay結(jié)束標(biāo)記3301設(shè)置為“否”,在特效播放過程中不能終止該應(yīng)用程序。
圖34示出了在特效播放過程中當(dāng)從重放信息獲取模塊409接收到腳本轉(zhuǎn)變事件時,執(zhí)行的處理步驟的示范性流程圖。在該示例中,根據(jù)圖33所示的應(yīng)用程序管理信息執(zhí)行處理步驟。在該流程圖中,字母“i”表示變量,其指定應(yīng)用程序管理信息中指示的應(yīng)用程序ID中的一個。首先,應(yīng)用程序控制模塊406監(jiān)視特效播放狀態(tài)獲取模塊410在標(biāo)題重放過程中是否接收到特效播放開始事件(步驟S3401)。一旦接收到特效播放開始事件,開始特效播放。然后判斷是否從重放信息獲取模塊409接收到腳本轉(zhuǎn)變事件(步驟S3402)。一旦從重放信息獲取模塊409接收到腳本轉(zhuǎn)變事件,應(yīng)用程序控制模塊406從重放信息獲取模塊409獲取當(dāng)前的重放信息(步驟S3403)。更具體地,這里獲取的當(dāng)前重放信息包括標(biāo)題號SPRM(4)、章節(jié)號SPRM(5)、播放列表ID SPRM(6)和播放項目ID SPRM(7)。接下來,初始化變量“i”(步驟S3404)。然后,判斷in_trickplay結(jié)束標(biāo)記是否設(shè)置為“是”(步驟S3405)。如果in_trickplay結(jié)束標(biāo)記設(shè)置為“是”,則判斷重放信息是否在有效期之內(nèi)(步驟S3406)。參照當(dāng)前重放信息(標(biāo)題號SPRM(4)、章節(jié)號SPRM(5)、播放列表ID SPRM(6)和播放項目ID SPRM(7))和該應(yīng)用程序管理信息中指示的有效期作出判斷。如果該重放信息不在有效期之內(nèi),則判斷當(dāng)前是否正在執(zhí)行對應(yīng)于該應(yīng)用程序ID的應(yīng)用程序(步驟S3407)。如果當(dāng)前正在執(zhí)行該應(yīng)用程序,則終止該應(yīng)用程序(步驟S3408)。如果in_trickplay結(jié)束標(biāo)記設(shè)置為“否”(步驟S3405否),或者如果當(dāng)前沒有正在執(zhí)行該應(yīng)用程序(步驟S3407否),或者如果該重放信息在有效期之內(nèi)(步驟S3406是),或者在終止該應(yīng)用程序之后(步驟S3408),判斷該應(yīng)用程序管理信息是否指示任何其他應(yīng)用程序ID(步驟S3409)。如果指示任何其他應(yīng)用程序ID,則變量“i”加1(步驟S3410),接下來執(zhí)行步驟S3405。如果不指示任何其他應(yīng)用程序ID,則終止該處理。
圖35示出了應(yīng)用程序管理信息的示例,其在效期屆滿時允許應(yīng)用程序被激活,即使是在特效播放期間也是如此。應(yīng)用程序管理信息包括in-trickplay激活標(biāo)記3501,用于在有效期開始時允許相應(yīng)的應(yīng)用程序被激活。當(dāng)in_trickplay結(jié)束標(biāo)記3501設(shè)置為“是”時,在有效期開始時激活應(yīng)用程序,即使是在特效播放期間也是如此。如果in_trickplay激活標(biāo)標(biāo)記3501設(shè)置為“否”,則在特效播放期間不激活應(yīng)用程序。
圖36示出了當(dāng)在特效播放期間從重放信息獲取模塊409接收到腳本轉(zhuǎn)變事件時執(zhí)行的處理步驟的示例性流程圖。在該示例中,處理步驟是根據(jù)圖35所示的應(yīng)用程序管理信息而執(zhí)行的。在該流程圖中,字母“i”表示用于指定在應(yīng)用程序管理信息中指示的多個應(yīng)用程序ID之一的變量。首先,應(yīng)用程序控制模塊406監(jiān)視在標(biāo)題重放期間特效播放狀態(tài)獲取模塊410是否接收到特效播放開始事件(步驟S3601)。一旦接收到特效播放開始事件,特效播放開始。然后判斷是否從重放信息獲取模塊409接收到腳本轉(zhuǎn)變事件(步驟S3602)。一旦從重放信息獲取模塊409接收到腳本轉(zhuǎn)變事件,應(yīng)用程序控制模塊406就從重放信息獲取模塊409獲取當(dāng)前重放信息(步驟S3603)。更具體地,在此獲取的當(dāng)前重放信息包括標(biāo)題號SPRM(4)、章節(jié)號SPRM(5)、播放列表ID SPRM(6)、以及播放項目ID SPRM(7)。接下來,初始化變量“i”(步驟S3604)。然后,判斷in_trickplay激活標(biāo)記是否設(shè)置為“是”(步驟S3605)。如果in_trickplay激活標(biāo)記設(shè)置為“是”,則判斷重放信息是否在有效期之內(nèi)(步驟S3606)。該判斷是參考當(dāng)前重放信息(標(biāo)題號SPRM(4)、章節(jié)號SPRM(5)、播放列表ID SPRM(6)、以及播放項目ID SPRM(7))和在應(yīng)用程序管理信息中指示的有效期而作出的。如果判斷重放信息在有效期之內(nèi),則判斷在應(yīng)用程序管理信息中指示的激活屬性是否為“自動開始”(步驟S3607)。如果激活屬性是“自動開始”,則激活與應(yīng)用程序ID相對應(yīng)的應(yīng)用程序(步驟S3608)。如果in_trickplay激活標(biāo)記設(shè)置為“否”(步驟S3605否),或者如果重放信息沒有在有效期內(nèi)(步驟S3606否),或者如果激活屬性不是“自動開始”(步驟S3607否),或者在應(yīng)用程序被激活之后(步驟S3608),則判斷應(yīng)用程序管理信息是否指示任何其他的應(yīng)用程序ID(步驟S3609)。如果指示了任何其他應(yīng)用程序ID,“i”加1(步驟S3610),接下來執(zhí)行步驟S3605。如果沒有指示其他應(yīng)用程序ID,則過程終止。
注意,可應(yīng)用的是采用in_trickplay激活標(biāo)記和in_trickplay結(jié)束標(biāo)記兩者。
接下來,圖37示出了應(yīng)用程序管理信息的示例,其允許快速重放期間在有效期開始和屆滿時分別激活和終止應(yīng)用程序。應(yīng)用程序管理信息包括快速重放標(biāo)記3701,用于允許在有效期開始和屆滿時激活和終止應(yīng)用程序,即使是在快速重放期間也是如此。當(dāng)快速重放標(biāo)記3701設(shè)置為“是”時,允許在有效期開始和屆滿時激活和終止應(yīng)用程序,即使是在快速重放期間也是如此。如果快速重放標(biāo)記3701設(shè)置為“否”,則在快速重放期間不執(zhí)行和終止應(yīng)用程序。
有關(guān)快速重放的判斷是根據(jù)重放速率或UO事件而執(zhí)行的。
圖38示出了應(yīng)用程序控制模塊406執(zhí)行的處理步驟的示例性流程圖,應(yīng)用程序控制模塊406包括一種機制,用于判斷當(dāng)從重放信息獲取模塊409接收到腳本轉(zhuǎn)變事件時是否激活或終止應(yīng)用程序。在該示例中,處理步驟是根據(jù)圖37中所示的應(yīng)用程序管理信息而執(zhí)行的。在該流程圖中,字母“i”表示用于指定在應(yīng)用程序管理信息中指示的多個應(yīng)用程序ID之一的變量。應(yīng)用程序控制模塊406判斷正在執(zhí)行的特效播放是否是快速重放(步驟S3801)。如果正在執(zhí)行快速重放,則應(yīng)用程序控制模塊406監(jiān)視特效播放狀態(tài)獲取模塊410是否接收到腳本轉(zhuǎn)變事件(步驟S3802)。一旦接收到腳本轉(zhuǎn)變事件,應(yīng)用程序控制模塊406就從重放信息獲取模塊409獲取當(dāng)前重放信息(步驟S3803)。更具體地,在此獲取的當(dāng)前重放信息包括標(biāo)題號SPRM(4)、章節(jié)號SPRM(5)、播放列表ID SPRM(6)、以及播放項目ID SPRM(7)。接下來,初始化變量“i”(步驟S3804)。然后判斷快速重放標(biāo)記是否設(shè)置為“是”(步驟S3805)。如果快速重放標(biāo)記設(shè)置為“是”,則判斷當(dāng)前重放信息是否在有效期之內(nèi)(步驟S3806)。該判斷是參考當(dāng)前重放信息(標(biāo)題號SPRM(4)、章節(jié)號SPRM(5)、播放列表IDSPRM(6)、以及播放項目ID SPRM(7))和在應(yīng)用程序管理信息中指示的有效期而作出的。如果重放信息在有效期之內(nèi),則判斷在應(yīng)用程序管理信息中指示的激活屬性是否為“自動開始”(步驟S3807)。如果激活屬性是“自動開始”,則激活與應(yīng)用程序ID相對應(yīng)的應(yīng)用程序(步驟S3808)。如果重放信息沒有在有效期內(nèi),則判斷與應(yīng)用程序ID相對應(yīng)的應(yīng)用程序當(dāng)前是否正在執(zhí)行(步驟S3809)。如果應(yīng)用程序當(dāng)前正在執(zhí)行,則終止應(yīng)用程序(步驟S3810)。如果快速重放標(biāo)記設(shè)置為“否”(步驟S3805否),或者如果激活屬性不是“自動開始”(步驟S3807否),或者在應(yīng)用程序被激活之后(步驟S3808),或者如果當(dāng)前應(yīng)用程序沒有正在執(zhí)行(步驟S3809否),或者在應(yīng)用程序被終止之后(步驟S3810),則判斷應(yīng)用程序管理信息是否指示任何其他的應(yīng)用程序ID(步驟S3811)。如果指示了任何其他應(yīng)用程序ID,“i”加1(步驟S3812),接下來執(zhí)行步驟S3805。如果沒有指示其他應(yīng)用程序ID,則過程終止。
圖39示出了應(yīng)用程序管理信息的示例,其允許根據(jù)重放速率而在有效期開始和屆滿時激活和終止應(yīng)用程序,即使是在特效播放期間也是如此。應(yīng)用程序管理信息包括特效播放速率3901,其允許在有效期開始和屆滿時激活和終止應(yīng)用程序。在指定了特效播放速率3901的情況中,允許在有效期開始和屆滿時激活和終止相應(yīng)的應(yīng)用程序,即使是在特效播放期間也是如此,條件是重放速率在指定特效播放速率3901的取值范圍內(nèi)。如果沒有指定特效播放速率3901,如圖中標(biāo)志“-”所示,則在特效播放期間不激活或終止應(yīng)用程序。
圖40是應(yīng)用程序控制模塊406執(zhí)行的處理步驟的示例性流程圖,應(yīng)用程序控制模塊406包括一種機制,用于判斷當(dāng)在特效播放期間從重放信息獲取模塊409接收到腳本轉(zhuǎn)變事件時是否激活或終止應(yīng)用程序。在該示例中,處理步驟是根據(jù)圖39所示的應(yīng)用程序管理信息而執(zhí)行的。在流程圖中,字母“i”表示用于指定在應(yīng)用程序管理信息中指示的多個應(yīng)用程序ID之一的變量。首先,應(yīng)用程序控制模塊406監(jiān)視在標(biāo)題重放期間特效播放狀態(tài)獲取模塊410是否接收到特效播放開始事件(步驟S4001)。一旦接收到特效播放開始事件,特效播放開始。然后監(jiān)視是否從重放信息獲取模塊409接收到腳本轉(zhuǎn)變事件(步驟S4002)。一旦接收到來自重放信息獲取模塊409的腳本轉(zhuǎn)換事件,應(yīng)用程序控制模塊406從重放信息獲取模塊409獲得當(dāng)前重放信息(步驟S4003)。更具體的,在此所獲得的當(dāng)前重放信息包括標(biāo)題號SPRM(4)、章節(jié)號SPRM(5)、播放列表ID SPRM(6)、以及播放項目ID SPRM(7)。接下來,初始化變量“i”(步驟S4004)。然后,應(yīng)用程序控制模塊409從特效播放狀態(tài)獲取模塊410獲得當(dāng)前重放速率(步驟S4005),并判斷當(dāng)前重放速率是否在特定的特效播放速率取值范圍內(nèi)(步驟S4006)。如果當(dāng)前重放速率在特定取值范圍內(nèi),則判斷重放信息是否在有效期內(nèi)(步驟S4007)。該判斷是參考當(dāng)前重放信息(標(biāo)題號SPRM(4)、章節(jié)號SPRM(5)、播放列表ID SPRM(6)、以及播放項目ID SPRM(7))和在應(yīng)用程序管理信息中指示的有效期而作出的。如果重放信息落入有效期內(nèi),則判斷在應(yīng)用程序管理信息中的激活屬性是否是“自動開始”(步驟S4008)。如果激活屬性是“自動開始”,則激活與應(yīng)用程序ID相對應(yīng)的應(yīng)用程序(步驟S4009)。如果判斷重放信息沒有落入有效期內(nèi),則判斷與應(yīng)用程序ID相對應(yīng)的應(yīng)用程序是否當(dāng)前正在執(zhí)行(步驟S4010)。如果應(yīng)用程序當(dāng)前正在執(zhí)行,則終止應(yīng)用程序(步驟S4011)。如果當(dāng)前重放速率沒有在特定取值范圍內(nèi)或者沒有指定特殊效播放速率,如標(biāo)志“-”所示(步驟S4006否),或者如果激活屬性不是“自動開始”(步驟S4008否),或者在應(yīng)用程序被激活之后(步驟S4009),或者如果應(yīng)用程序當(dāng)前沒有被執(zhí)行(步驟S4010否),或者在終止應(yīng)用程序之后,則判斷應(yīng)用程序管理信息是否指示任何其他的應(yīng)用程序ID(步驟S4012)。如果指示了任何其他應(yīng)用程序ID,則變量“i”加1,且接下來執(zhí)行步驟S4005。如果沒有指示其他應(yīng)用程序ID,則過程終止(步驟S4013)。
接下來,圖41示出了一個示例,在其中,除了在圖27的標(biāo)題列表中的標(biāo)題之外,還提供了標(biāo)題#3作為獎勵標(biāo)題(bonus title)。標(biāo)題#3提供了與主要特征電影同步執(zhí)行的游戲。當(dāng)標(biāo)題#3被選擇時,激活用于主要特征重放的應(yīng)用程序,以開始主要特征重放。響應(yīng)于一個事件,例如由于按下遙控器上的鍵而作出的對于快進重放和跳躍重放的請求,用于主要特征重放的應(yīng)用程序向介質(zhì)重放模塊發(fā)出必要的指令,以便相應(yīng)地控制重放裝置的操作。
圖42示出了應(yīng)用管理信息的一個示例,其允許當(dāng)在圖41所示的獎勵標(biāo)題的重放期間當(dāng)前重放點到達一個播放列表標(biāo)志時,應(yīng)用程序被自動激活。該圖還示出了對于該效果所執(zhí)行的處理。應(yīng)用程序#5具有“自動開始”屬性,并且其有效期為標(biāo)志#2。因此,當(dāng)重放點到達標(biāo)志#2時,應(yīng)用程序#5被自動激活。
如上所述,根據(jù)第二實施例,對Java應(yīng)用程序的執(zhí)行進行控制,從而使得在視頻數(shù)據(jù)的特效播放期間Java應(yīng)用程序不會被激活或終止。當(dāng)特效播放結(jié)束時,根據(jù)應(yīng)用程序管理信息將Java應(yīng)用程序激活或終止。即,如果應(yīng)用程序在該類型的特效播放期間不能與視頻數(shù)據(jù)重放同步,第二實施例避免了在特定類型的特效播放期間無用地激活應(yīng)用程序。
然而,通過將in_trickplay結(jié)束標(biāo)識設(shè)置為“是”,允許一旦腳本轉(zhuǎn)變就終止應(yīng)用程序,即使是在特效播放期間也是如此。
此外,通過將in_trickplay激活標(biāo)記設(shè)置為“是”,允許一旦腳本轉(zhuǎn)變就激活應(yīng)用程序,即使是在特效播放期間也是如此。
此外,通過將快速重放標(biāo)記設(shè)置為“是”,允許一旦腳本轉(zhuǎn)變就激活和終止應(yīng)用程序,即使是在快速重放期間也是如此。
此外,允許一旦腳本轉(zhuǎn)變就激活和終止應(yīng)用程序,即使是在特效播放期間也是如此,假設(shè)了重放速率落入特定特效播放速率的取值范圍內(nèi)。
注意,特效播放可以是章節(jié)搜索或時間搜索。
另外,可以對第二實施例進行修改,從而使得應(yīng)用程序管理信息為在應(yīng)用程序管理信息中登記的所有應(yīng)用程序共同定義了在特效播放期間的應(yīng)用程序的執(zhí)行控制,而不是為每個應(yīng)用程序定義不同的執(zhí)行控制??商鎿Q地,可以對重放裝置進行設(shè)置,以便共同定義在特效播放期間的所有應(yīng)用程序的執(zhí)行控制。
(第三實施例)本發(fā)明的第三實施例是基于第二實施例的,并且響應(yīng)于與特效播放相關(guān)的用戶操作而額外地實現(xiàn)了對應(yīng)用程序的延遲激活和終止。為此目標(biāo),在特效播放期間,響應(yīng)于腳本轉(zhuǎn)變,存儲每個應(yīng)用程序的狀態(tài),并且當(dāng)特效播放結(jié)束時根據(jù)應(yīng)用程序的狀態(tài)激活或終止應(yīng)用程序。
圖43是示出根據(jù)第三實施例的Java模塊314b和應(yīng)用程序管理器402b的詳細(xì)結(jié)構(gòu)的框圖。如圖所示,延遲控制管理模塊411是額外提供給圖26中所示的結(jié)構(gòu)的。圖43所示的結(jié)構(gòu)涉及根據(jù)特效播放對應(yīng)用程序的執(zhí)行控制,例如快速前進重放、快速后退重放、章節(jié)搜索和時間搜索。
當(dāng)Java應(yīng)用程序414執(zhí)行特效播放時,應(yīng)用程序控制模塊406控制從動態(tài)腳本獲取模塊407中獲得的Java應(yīng)用程序413和414的行為??刂频膱?zhí)行基于從靜態(tài)腳本獲取模塊408獲取的應(yīng)用程序管理信息、從特效播放狀態(tài)獲取模塊410獲得的特效播放狀態(tài)(特效播放開始、特效播放執(zhí)行和特效播放結(jié)束)、從重放信息獲取模塊409獲得的重放信息、從延遲控制管理模塊411獲得的應(yīng)用程序狀態(tài),以及時間信息。
接下來,圖44示出了根據(jù)第三實施例在延遲控制管理模塊411中存儲的應(yīng)用程序激活狀態(tài)管理信息的示例。應(yīng)用程序激活狀態(tài)601a表示“自動開始”、“銷毀”和“存在”中的一種。
“自動開始”表示相應(yīng)的應(yīng)用程序在特效播放結(jié)束之后自動被激活。
“銷毀”表示相應(yīng)的應(yīng)用程序在特效播放結(jié)束之后自動終止。
“存在”表示相應(yīng)的應(yīng)用程序即不被自動激活也不終止。具有“存在”屬性的應(yīng)用程序由另一應(yīng)用程序激活或者響應(yīng)于諸如用戶操作之類的事件而被激活。
圖45示出了由應(yīng)用程序控制模塊406執(zhí)行的處理步驟的示例性流程圖。根據(jù)第三實施例,應(yīng)用程序控制模塊406包括一種機制,用于判斷當(dāng)從特效播放狀態(tài)獲取模塊410接收到特效播放開始事件時,是否根據(jù)應(yīng)用程序管理信息對應(yīng)用程序的激活或終止進行延遲。在該流程圖中,字母“i”表示用于指定在應(yīng)用程序管理信息中指示的多個應(yīng)用程序ID之一的變量。首先,應(yīng)用程序控制模塊406監(jiān)視特效播放狀態(tài)獲取模塊410是否接收到特效播放開始事件(步驟S4501)。一旦接收到特效播放開始事件,特效播放開始。然后在特效播放期間判斷特效播放狀態(tài)獲取模塊410是否接收到腳本轉(zhuǎn)變事件(步驟S4502)。一旦接收到腳本轉(zhuǎn)變事件,應(yīng)用程序控制模塊406就從重放信息獲取模塊409獲取當(dāng)前重放信息(步驟S4503)。更具體地,在此獲取的當(dāng)前重放信息包括標(biāo)題號SPRM(4)、章節(jié)號SPRM(5)、播放列表ID SPRM(6)、以及播放項目ID SPRM(7)。然后,初始化變量“i”(步驟S4504)。接下來,判斷重放信息是否在有效期之內(nèi)(步驟S4505)。該判斷參考當(dāng)前重放信息(標(biāo)題號SPRM(4)、章節(jié)號SPRM(5)、播放列表ID SPRM(6)、以及播放項目ID SPRM(7))和在應(yīng)用程序管理信息中指示的有效期而作出。如果重放信息沒有在有效期之內(nèi),則將應(yīng)用程序激活狀態(tài)“銷毀”存儲在延遲控制管理模塊411中(步驟S4506)。如果播放信息在有效期之內(nèi),則判斷在應(yīng)用程序管理信息中指示的激活屬性是否是“自動開始”(步驟S4507)。如果激活屬性是“自動開始”,則將應(yīng)用程序激活狀態(tài)“自動開始”存儲在延遲控制管理模塊411中(步驟S4508)。另一方面,如果激活屬性不是“自動開始”,則將應(yīng)用程序激活狀態(tài)“存在”存儲在延遲控制管理模塊411中(步驟S2709)。在上述處理步驟之后,判斷應(yīng)用程序管理信息是否指示任何其他應(yīng)用程序ID(步驟S4510)。如果指示任何其他應(yīng)用程序,則將變量“i”加1(步驟S4511),接下來執(zhí)行步驟S4505。如果沒有指示其他應(yīng)用程序ID,或者在步驟S4502中判斷沒有接收到腳本轉(zhuǎn)變事件,則判斷特效播放狀態(tài)獲取模塊410是否接收到特效播放結(jié)束事件(步驟S4512)。如果接收到特效播放結(jié)束事件,則執(zhí)行延遲的應(yīng)用程序控制過程(步驟S4513)。如果沒有接收到特效播放結(jié)束事件,則執(zhí)行步驟S4502。
接下來,圖46和47示出了在圖45中所示的延遲的應(yīng)用程序控制過程的示例性流程圖。字母“j”表示用于指定在應(yīng)用程序激活狀態(tài)管理信息中指示的多個應(yīng)用程序ID之一的變量。首先,設(shè)置計時器(步驟S4601),以便判斷預(yù)定時間周期是否已經(jīng)過去(步驟S4602)。如果預(yù)定時間周期還沒有過去,則判斷特效播放信息獲取模塊是否接收到特效播放開始事件(步驟S4603)。一旦接收到特效播放開始事件,則終止該過程。如果沒有接收到特效播放開始事件,則執(zhí)行步驟S4602。如果預(yù)定時間周期已經(jīng)過去,則判斷延遲控制管理模塊411是否包括應(yīng)用程序激活狀態(tài)管理信息(步驟S4604)。如果不包含應(yīng)用程序激活狀態(tài)管理信息,則應(yīng)用程序控制模塊406從重放信息獲取模塊409獲得當(dāng)前重放信息(步驟S4605)。更具體地,在此獲取的當(dāng)前重放信息包括標(biāo)題號SPRM(4)、章節(jié)號SPRM(5)、播放列表IDSPRM(6)、以及播放項目ID SPRM(7),以便執(zhí)行應(yīng)用程序狀態(tài)控制過程(步驟S4606)。如果包含應(yīng)用程序激活狀態(tài)管理信息,則初始化變量“j”(步驟S4607)。然后判斷應(yīng)用程序激活狀態(tài)是否是“自動開始”(步驟S4608)。如果應(yīng)用程序激活狀態(tài)是“自動開始”,則激活應(yīng)用程序(步驟S4609)。如果應(yīng)用程序激活狀態(tài)不是“自動開始”,則判斷應(yīng)用程序激活狀態(tài)是否是“銷毀”(步驟S4610)。如果應(yīng)用程序激活狀態(tài)是“銷毀”,則終止應(yīng)用程序(步驟S2911)。在上述處理步驟之后,判斷應(yīng)用程序激活狀態(tài)管理信息是否指示任何其他應(yīng)用程序ID(步驟S4612)。如果指示任何其他應(yīng)用程序ID,則將將變量“j”加1(步驟S4613),接下來執(zhí)行步驟S4608。如果沒有指示其他應(yīng)用程序ID,則該過程終止。
如上所述,根據(jù)第三實施例,在特效播放結(jié)束之后預(yù)定時間周期將Java應(yīng)用程序激活或終止。為了允許這種延遲的激活或終止,要預(yù)先存儲Java應(yīng)用程序的激活屬性。因此,與在特效播放結(jié)束之后通過讀出應(yīng)用程序管理信息而激活或終止Java應(yīng)用程序的情況相比,激活或終止Java應(yīng)用程序所需要的時間變得更短。
(補充說明)
到該處為止,已經(jīng)通過上述實施例描述了根據(jù)本發(fā)明的重放裝置。然而應(yīng)該自然理解的是,本發(fā)明并不局限于這些特定實施例。
盡管上述實施例是采用BD-ROM作為示例描述的,也可以采用HD-DVD或其他光盤。
盡管上述實施例涉及重放裝置,但是本發(fā)明也可以實現(xiàn)為包含在上述任意流程圖中所示的處理步驟的方法。此外,本發(fā)明可以實現(xiàn)為包含程序代碼的程序,所述程序代碼用于使得計算機執(zhí)行在上述任意流程圖中所示的處理步驟。再另外,本發(fā)明可以實現(xiàn)為諸如LSI電路之類的、實現(xiàn)重放裝置的功能的集成電路。系統(tǒng)LSI可以稱為IC、LSI、高級LSI或者超級LSI,這取決于封裝密度。
另外,集成電路可以不僅僅采用LSI方式制造。例如,可應(yīng)用的是,使用LSI電路的FPGA(現(xiàn)場可編程門陣列)制造后編程。還可應(yīng)用的是使用可重構(gòu)處理器,其允許對在LSI電路中的電路單元之間的連接以及它們的設(shè)置進行重構(gòu)。當(dāng)任何新電路集成技術(shù)變得可用或者由于半導(dǎo)體技術(shù)的發(fā)展而得到時,這種新技術(shù)就能夠用于集成本發(fā)明的功能塊。這種新技術(shù)的一種可能的候選可以是通過自適應(yīng)生物技術(shù)來實現(xiàn)。
工業(yè)實用性體現(xiàn)本發(fā)明的重放裝置可以在商業(yè)基礎(chǔ)上連續(xù)和重復(fù)地制造。該重放裝置在與電影內(nèi)容生產(chǎn)相關(guān)的電影產(chǎn)業(yè)和商業(yè)設(shè)備產(chǎn)業(yè)中尤其具有工業(yè)可用性。
權(quán)利要求
1.一種重放裝置,用于與和視頻數(shù)據(jù)相關(guān)的應(yīng)用程序同步地執(zhí)行所述視頻數(shù)據(jù)的重放,其包括激活單元,用于激活應(yīng)用程序;接收單元,用于接收來自用戶的輸入,所述輸入指定多個重放部分中的一個,每個重放部分與應(yīng)用程序和一條視頻數(shù)據(jù)相關(guān);以及激活控制單元,用于如果所述接收單元在接收第一輸入之后,從接收到所述第一輸入起的預(yù)定時間周期之內(nèi)接收到第二輸入,而且從接收到所述第二輸入起的預(yù)定的時間周期之內(nèi)未接收到第三輸入,則使得所述激活單元根據(jù)所述第二輸入激活所述應(yīng)用程序。
2.如權(quán)利要求1所述的重放裝置,其中所述激活控制單元包括計時器;以及重復(fù)單元,用于當(dāng)所述接收單元接收到所述第一輸入時,重復(fù)設(shè)置所述計時器的過程,判斷從接收到所述第一輸入起的預(yù)定時間周期之內(nèi)是否接收到所述第二輸入,當(dāng)判斷結(jié)果是肯定時,重新設(shè)置所述計時器,重復(fù)該過程直到作出否定的判斷結(jié)果為止。
3.如權(quán)利要求1所述的重放裝置,其中所述激活控制單元包括獲取單元,用于獲取信息,所述信息對于與該條視頻數(shù)據(jù)和所述應(yīng)用程序相關(guān)的所述特定重放部分,指示用于指示所述相關(guān)應(yīng)用程序的激活屬性的信息;以及判斷單元,用于判斷在執(zhí)行該條相關(guān)視頻數(shù)據(jù)的重放時,所述激活屬性是否指示要自動執(zhí)行所述應(yīng)用程序,以及其中,如果所述判斷單元的判斷結(jié)果是肯定的,則所述激活控制單元用于執(zhí)行所述激活控制。
4.如權(quán)利要求1所述的重放裝置,其中,與一條視頻數(shù)據(jù)和應(yīng)用程序相關(guān)的每個重放部分是標(biāo)題,其中,每個標(biāo)題或者是主要方面在所述視頻數(shù)據(jù)中的電影標(biāo)題,或者是主要方面在所述應(yīng)用程序中的交互標(biāo)題,以及其中,如果所述指定的重放部分是電影標(biāo)題,則所述激活控制單元用于執(zhí)行所述激活控制。
5.一種重放方法,用于與和視頻數(shù)據(jù)相關(guān)的應(yīng)用程序同步地執(zhí)行所述視頻數(shù)據(jù)的重放,所述方法包括激活步驟,用于激活應(yīng)用程序;接收步驟,用于接收來自用戶的輸入,所述輸入指定多個重放部分中的一個,每個重放部分與應(yīng)用程序和一條視頻數(shù)據(jù)相關(guān);以及激活控制步驟,如果在所述接收步驟中接收到第一輸入之后,從接收到所述第一輸入起的預(yù)定時間周期之內(nèi)接收到第二輸入,而且從接收到所述第二輸入起的預(yù)定時間周期之內(nèi)未接收到第三輸入,則使得在所述激活步驟中根據(jù)所述第二輸入激活所述應(yīng)用程序。
6.一種計算機可讀程序,用于使得計算機與和視頻數(shù)據(jù)相關(guān)的應(yīng)用程序同步地執(zhí)行所述視頻數(shù)據(jù)的重放,所述程序包括用于使得計算機執(zhí)行以下操作的代碼激活步驟,用于激活應(yīng)用程序;接收步驟,用于接收來自用戶的輸入,所述輸入指定多個重放部分中的一個,每個重放部分與應(yīng)用程序和一條視頻數(shù)據(jù)相關(guān);以及激活控制步驟,如果在所述接收步驟中接收到第一輸入之后,從接收到所述第一輸入起的預(yù)定時間周期之內(nèi)接收到第二輸入,而且從接收到所述第二輸入起的預(yù)定時間周期之內(nèi)未接收到第三輸入,則使得在所述激活步驟中根據(jù)所述第二輸入激活所述應(yīng)用程序。
7.一種重放裝置,用于與和視頻數(shù)據(jù)相關(guān)的應(yīng)用程序同步地執(zhí)行所述視頻數(shù)據(jù)的重放,包括執(zhí)行單元,用于執(zhí)行應(yīng)用程序;接收單元,用于接收來自用戶的、與所述視頻數(shù)據(jù)的特效播放相關(guān)的輸入;保持單元,用于對于所述視頻數(shù)據(jù)的多個預(yù)定重放部分中的每一個,保持與所述重放部分相關(guān)的應(yīng)用程序的管理信息;以及執(zhí)行控制單元,在所述接收單元接收到與特效播放相關(guān)的輸入時,根據(jù)特效播放的狀態(tài)和在所述保持單元中保持的管理信息來控制所述執(zhí)行單元。
8.如權(quán)利要求7所述的重放裝置,其中,所述特效播放狀態(tài)指示特效播放是開始、正在執(zhí)行、還是終止,以及其中,所述執(zhí)行控制單元用于控制所述執(zhí)行單元,使得禁止所述執(zhí)行單元在特效播放開始之后或者特效播放正在執(zhí)行時新激活或終止任何應(yīng)用程序,并允許所述執(zhí)行單元在特效播放終止時新激活或終止應(yīng)用程序。
9.如權(quán)利要求7所述的重放裝置,其中,所述管理信息包括在特效播放正在執(zhí)行時與每個應(yīng)用程序的執(zhí)行相關(guān)的信息,以及其中,所述執(zhí)行控制單元用于控制所述執(zhí)行單元,使得即使是正在執(zhí)行特效播放時,所述執(zhí)行單元也根據(jù)在所述管理信息中包含的信息,新激活或終止應(yīng)用程序。
10.如權(quán)利要求7所述的重放裝置,其中,所述管理信息包括指示每個應(yīng)用程序的激活屬性的信息,其中,所述執(zhí)行控制單元包括存儲單元,用于存儲指示在特效播放正在執(zhí)行時的所述激活屬性的信息;以及判斷單元,用于判斷從接收到請求特效播放終止的輸入起的預(yù)定時間周期內(nèi),所述接收單元是否從用戶接收到請求特效播放開始的輸入,并且其中,當(dāng)所述判斷單元作出否定判斷時,所述執(zhí)行控制單元用于使所述執(zhí)行單元根據(jù)在所述存儲單元中存儲的信息激活并終止應(yīng)用程序。
全文摘要
一種重放裝置,用于與和視頻數(shù)據(jù)相關(guān)的應(yīng)用程序同步地執(zhí)行視頻數(shù)據(jù)的重放。該重放裝置包括激活單元,用于激活應(yīng)用程序,接收單元,用于接收來自用戶的輸入,該輸入指定與一條視頻數(shù)據(jù)和應(yīng)用程序相關(guān)的重放部分,以及激活控制單元。如果通過接收單元從用戶接收到第一輸入,并自從接收第一輸入起的預(yù)定時間周期內(nèi)接收到第二輸入,則激活控制單元就丟棄第一輸入。如果自從接收第二輸入起的預(yù)定時間周期內(nèi)沒有接收到第三輸入,則激活控制單元就根據(jù)第二輸入激活應(yīng)用程序。
文檔編號G11B27/00GK101057292SQ20058003813
公開日2007年10月17日 申請日期2005年9月7日 優(yōu)先權(quán)日2004年9月8日
發(fā)明者大久保雅文, 大蘆雅弘, 大戶英隆 申請人:松下電器產(chǎn)業(yè)株式會社