專利名稱:再現(xiàn)設(shè)備及程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于對(duì)記錄介質(zhì)的讀取控制的技術(shù)領(lǐng)域。
背景技術(shù):
讀取控制技術(shù)是以所需速率讀取記錄在諸如BD-ROM的記錄介質(zhì)上的數(shù)字流,并將讀取的數(shù)字流提供給解碼器的技術(shù),其中所需速率為例如4倍速或8倍速。
通常,實(shí)現(xiàn)該控制的程序作為嵌入式程序存儲(chǔ)于再現(xiàn)設(shè)備中。然而,為了制作具有與應(yīng)用程序關(guān)聯(lián)再現(xiàn)的視頻流的電影,這種記錄在BD-ROM上并提供給再現(xiàn)設(shè)備的控制程序在不遠(yuǎn)的未來(lái)將會(huì)普及。以下將會(huì)描述該電影作品的制作。
當(dāng)制作該電影作品時(shí),使用視頻數(shù)據(jù)的應(yīng)用程序記錄在具有視頻數(shù)據(jù)記錄于其上的記錄介質(zhì)上。再現(xiàn)設(shè)備啟動(dòng)的時(shí)候,應(yīng)用程序?qū)⑦\(yùn)動(dòng)狀態(tài)中的角色安置在屏幕中播放的視頻數(shù)據(jù)旁。通過(guò)將這種應(yīng)用程序應(yīng)用于游戲或測(cè)驗(yàn)中,電影作品的附加值將會(huì)顯著提高。
在這種交互式控制中,通過(guò)BD-ROM上的控制程序?qū)σ曨l再現(xiàn)速率的調(diào)整,在再現(xiàn)視頻時(shí)可以加速或減速角色的運(yùn)動(dòng)。通過(guò)將該控制程序記錄在BD-ROM上,用于再現(xiàn)設(shè)備中的再現(xiàn),就可以發(fā)行與視頻緊密關(guān)聯(lián)的交互式應(yīng)用程序。結(jié)果,電影作品的附加值可以進(jìn)一步提高。涉及再現(xiàn)速率調(diào)整的常規(guī)技術(shù)包括公開(kāi)于下列專利文獻(xiàn)1中的已知技術(shù)。
專利文獻(xiàn)1日本專利申請(qǐng)公開(kāi)No.2003-7035
發(fā)明內(nèi)容
發(fā)明將要解決的間題當(dāng)再現(xiàn)設(shè)備的生產(chǎn)商制作該控制程序時(shí),不可能不管再現(xiàn)設(shè)備的驅(qū)動(dòng)性能來(lái)指定再現(xiàn)控制。就是說(shuō),生產(chǎn)商的技術(shù)人員充分考慮再現(xiàn)設(shè)備的驅(qū)動(dòng)性能來(lái)制作該控制程序。
然而,如果除了生產(chǎn)商的第三方,例如電影制作者制作控制程序,就存在一種可能,即不考慮再現(xiàn)設(shè)備的驅(qū)動(dòng)性能來(lái)指定再現(xiàn)控制。
具有不同驅(qū)動(dòng)性能的多種再現(xiàn)設(shè)備投放到消費(fèi)設(shè)備市場(chǎng)。假定具有高性能的驅(qū)動(dòng)設(shè)備安裝在高價(jià)再現(xiàn)設(shè)備中,而具有低性能的驅(qū)動(dòng)設(shè)備安裝在低價(jià)再現(xiàn)設(shè)備中。如果例如電影制作者的第三方制作控制程序,控制程序指示再現(xiàn)設(shè)備執(zhí)行讀取而不考慮再現(xiàn)設(shè)備之間的驅(qū)動(dòng)性能差異。這就會(huì)頻繁造成問(wèn)題,例如失靈和故障。
如果再現(xiàn)設(shè)備具有近似功能,可以防止這些問(wèn)題。當(dāng)控制程序指示以超過(guò)再現(xiàn)設(shè)備驅(qū)動(dòng)性能的速率讀取時(shí),近似功能用于以該設(shè)備可以支持的速率取代所要求的速率,并從而指示對(duì)嵌入再現(xiàn)設(shè)備的驅(qū)動(dòng)設(shè)備的控制。假定應(yīng)用程序要求以4倍、8倍、16倍、以及32倍的速率再現(xiàn)。如果再現(xiàn)設(shè)備可以支持的速率為2倍和4倍,所有超過(guò)8倍的速率近似為4倍。然而,當(dāng)應(yīng)用程序使得角色用與期望以4倍、8倍、和16倍速率再現(xiàn)的視頻密切關(guān)聯(lián)的高速率移動(dòng)(或變化)時(shí),驅(qū)動(dòng)設(shè)備以近似相同的速率(以上實(shí)例中為4倍)播放視頻,而不考慮應(yīng)用程序指定的速率。如果發(fā)生此錯(cuò)配,由應(yīng)用程序繪制的角色運(yùn)動(dòng)變得異乎尋常地快于由再現(xiàn)設(shè)備所再現(xiàn)的視頻運(yùn)動(dòng)。如果角色疊加在視頻上,而且呈現(xiàn)給顯示器,則顯示圖像總體上將會(huì)不協(xié)調(diào)地結(jié)束。通過(guò)應(yīng)用程序繪制的運(yùn)動(dòng)和視頻的運(yùn)動(dòng)之間的錯(cuò)配,對(duì)于電影作品的提供商和再現(xiàn)設(shè)備的制造商來(lái)說(shuō)都是不希望得到的。
本發(fā)明旨在提供一種再現(xiàn)設(shè)備,當(dāng)在記錄于記錄介質(zhì)上的應(yīng)用程序的控制下,再現(xiàn)記錄在記錄介質(zhì)上的數(shù)字流時(shí),能夠依照其自身性能控制數(shù)字流的再現(xiàn)。
本發(fā)明進(jìn)一步旨在提供一種再現(xiàn)設(shè)備,能夠保持視頻再現(xiàn)和應(yīng)用程序繪制的同步,而不管再現(xiàn)設(shè)備之間的驅(qū)動(dòng)性能差異。
解決問(wèn)題的方法為了解決以上問(wèn)題,本發(fā)明為用于彼此關(guān)聯(lián)地再現(xiàn)記錄在記錄介質(zhì)上的數(shù)字流和應(yīng)用程序的再現(xiàn)設(shè)備,所述再現(xiàn)設(shè)備包括再現(xiàn)單元,用于再現(xiàn)數(shù)字流;以及平臺(tái)單元,用于運(yùn)行程序以執(zhí)行再現(xiàn)控制,該再現(xiàn)單元具有多個(gè)用于再現(xiàn)控制的實(shí)參數(shù),所述多個(gè)實(shí)參數(shù)專用于該再現(xiàn)設(shè)備,平臺(tái)單元包括用于解釋和運(yùn)行應(yīng)用程序的運(yùn)行單元;以及具有為應(yīng)用程序提供的功能并用于執(zhí)行再現(xiàn)控制的模塊單元,通過(guò)該功能,再現(xiàn)控制使得再現(xiàn)單元基于多個(gè)實(shí)參數(shù)之一再現(xiàn)數(shù)字流。
發(fā)明作用應(yīng)用程序可以使得平臺(tái)單元(具體的說(shuō),模塊單元)通過(guò)執(zhí)行功能調(diào)用,來(lái)利用實(shí)參數(shù)執(zhí)行功能。由平臺(tái)單元執(zhí)行的功能基于設(shè)備專用的實(shí)參數(shù)。因而,在低性能的再現(xiàn)設(shè)備中以低速率倍增因數(shù)執(zhí)行再現(xiàn)控制,而在高性能的再現(xiàn)設(shè)備中以高速率倍增因數(shù)執(zhí)行再現(xiàn)控制。
通過(guò)利用該功能實(shí)現(xiàn)特定再現(xiàn),可以防止控制故障,例如以再現(xiàn)設(shè)備不支持的速率再現(xiàn)。
因而,即使在投放入市場(chǎng)的再現(xiàn)設(shè)備的驅(qū)動(dòng)性能中存在很大的變化,而且在再現(xiàn)設(shè)備中運(yùn)行近似功能,應(yīng)用程序也可以依據(jù)再現(xiàn)設(shè)備的每個(gè)驅(qū)動(dòng)性能實(shí)現(xiàn)再現(xiàn)控制。
另一方面,如果模塊單元提供的功能將實(shí)參數(shù)傳遞到應(yīng)用程序,應(yīng)用程序可以獲得由再現(xiàn)設(shè)備支持的倍增因數(shù)?;讷@取的倍增因數(shù),通過(guò)控制角色的繪制,即使再現(xiàn)設(shè)備之間的驅(qū)動(dòng)性能不同,由應(yīng)用程序繪制的角色運(yùn)動(dòng)和由再現(xiàn)設(shè)備再現(xiàn)的視頻也不會(huì)被錯(cuò)配。而且如果角色疊加在呈現(xiàn)為用于顯示的視頻上,顯示圖像總體上將不會(huì)不協(xié)調(diào)地結(jié)束。通過(guò)解決該錯(cuò)配,可以以這樣的形式實(shí)現(xiàn)交互控制,即,由應(yīng)用程序繪制的角色的運(yùn)動(dòng)與由再現(xiàn)設(shè)備再現(xiàn)的數(shù)字流緊密關(guān)聯(lián)。
附圖簡(jiǎn)述
圖1示出本發(fā)明第一實(shí)施例中,BD-ROM的數(shù)據(jù)層次;圖2示出本發(fā)明第一實(shí)施例中,BD-ROM針對(duì)的軟件的層模型;圖3示出由利用兩種模式的動(dòng)態(tài)再現(xiàn)控制創(chuàng)建的電影作品;圖4示出本發(fā)明第一實(shí)施例中,再現(xiàn)設(shè)備的內(nèi)部結(jié)構(gòu);圖5為本發(fā)明第一實(shí)施例中,關(guān)于與特定再現(xiàn)操作關(guān)聯(lián)的用戶操作的處理的方框圖;圖6示出本發(fā)明第一實(shí)施例中,保存在再現(xiàn)設(shè)備中的特定再現(xiàn)信息;圖7為示出本發(fā)明第一實(shí)施例中,用戶操作觸發(fā)的特定再現(xiàn)處理的流程圖;圖8示出本發(fā)明第一實(shí)施例中,Java(TM)應(yīng)用程序獲取特定再現(xiàn)信息的情況;圖9示出本發(fā)明第一實(shí)施例中,Java(TM)應(yīng)用程序獲取鍵事件類型的情況,其中該鍵事件對(duì)應(yīng)于來(lái)自特定再現(xiàn)信息的特定再現(xiàn)操作;圖10示出本發(fā)明第一實(shí)施例中,Java(TM)應(yīng)用程序利用依賴于終端的變量,指定特定再現(xiàn)的再現(xiàn)速率的情況;圖11為示出響應(yīng)來(lái)自Java(TM)應(yīng)用程序的特定再現(xiàn)請(qǐng)求的處理的流程圖;圖12示出本發(fā)明第二實(shí)施例中的Java(TM)模塊的結(jié)構(gòu);圖13示出本發(fā)明第二實(shí)施例中的交叉應(yīng)用程序(cross-application)特定再現(xiàn)信息;圖14示出本發(fā)明第二實(shí)施例中交叉應(yīng)用程序特定再現(xiàn)信息的變化對(duì)Java(TM)應(yīng)用程序施加的影響;圖15為本發(fā)明第三實(shí)施例中,關(guān)于與特定再現(xiàn)操作關(guān)聯(lián)的用戶操作的處理的方框圖;圖16為本發(fā)明第四實(shí)施例中,關(guān)于與特定再現(xiàn)操作關(guān)聯(lián)的用戶操作的處理的方框圖;圖17示出本發(fā)明第四實(shí)施例中,Java(TM)模塊將UO事件傳輸?shù)筋怐VD模塊的情況;以及圖18為本發(fā)明第五實(shí)施例中,關(guān)于與特定再現(xiàn)操作關(guān)聯(lián)的用戶操作的處理的方框圖。
標(biāo)號(hào)描述401BD-ROM驅(qū)動(dòng)器402軌緩沖器403解復(fù)用器404視頻解碼器405視頻平面406音頻解碼器407圖像存儲(chǔ)器408圖像平面409圖像解碼器410加法器411靜態(tài)腳本存儲(chǔ)器412動(dòng)態(tài)腳本存儲(chǔ)器413類DVD模塊414Java(TM)模塊415UO探測(cè)模塊416模式管理模塊417分配器418繪制引擎
419特定再現(xiàn)信息420AV再現(xiàn)庫(kù)501腳本程序502腳本控制模塊503UO處理模塊504應(yīng)用程序管理器505Java(TM)應(yīng)用程序506特定再現(xiàn)信息獲取模塊507介質(zhì)再現(xiàn)模塊601Java(TM)應(yīng)用程序602介質(zhì)再現(xiàn)模塊603特定再現(xiàn)信息獲取/改變模塊604交叉應(yīng)用程序特定再現(xiàn)信息1401Java(TM)應(yīng)用程序1402Java(TM)應(yīng)用程序1501UO處理模塊1502交叉模式特定再現(xiàn)信息1503介質(zhì)再現(xiàn)模塊1504特定再現(xiàn)信息獲取/改變模塊1505Java(TM)應(yīng)用程序1601分配器模塊3001記錄介質(zhì)3002盤控制單元3003分離單元3004視頻處理單元3005音頻處理單元3006VR導(dǎo)航處理單元
S701用戶操作探測(cè)步驟S702模式判定步驟S703將UO事件發(fā)送到類DVD模塊的步驟S704UO事件處理步驟S705將UO事件發(fā)送到Java(TM)模塊的步驟S706將UO事件發(fā)送到Java(TM)應(yīng)用程序的步驟S707特定再現(xiàn)信息獲取步驟S708特定再現(xiàn)處理步驟S1101特定再現(xiàn)請(qǐng)求步驟S1102速率指定方法判定步驟S1103特定再現(xiàn)信息獲取步驟S1104當(dāng)前值擴(kuò)展步驟S1105特定再現(xiàn)執(zhí)行步驟發(fā)明詳述將要參考附圖描述本發(fā)明的實(shí)施例。
(第一實(shí)施例)圖1示出BD-ROM(以下也稱為“BD”)的結(jié)構(gòu)。和其他光盤例如DVD和CD一樣,BD光盤具有從其內(nèi)圓周向其外圓周螺旋設(shè)置的記錄區(qū)域,并包括邏輯地址空間,用于記錄內(nèi)圓周上的導(dǎo)入?yún)^(qū)和外圓周上的導(dǎo)出區(qū)之間的邏輯數(shù)據(jù)。同樣,只有一個(gè)驅(qū)動(dòng)器可以讀取的特定區(qū)域,稱為BCA(Burst Cutting Area脈沖燒錄區(qū)),位于導(dǎo)入?yún)^(qū)內(nèi)部。該特定區(qū)域不能從應(yīng)用程序讀取,所以,例如該區(qū)域經(jīng)常用于版權(quán)保護(hù)技術(shù)中。
例如視頻/圖像數(shù)據(jù)的應(yīng)用數(shù)據(jù)記錄在邏輯地址空間中,以文件系統(tǒng)信息(卷)在前面。文件系統(tǒng)包括UDF,ISO9660等,并使其可能以與通用PC類似的方式,利用目錄和文件結(jié)構(gòu)讀取記錄的邏輯數(shù)據(jù)。
在本實(shí)施例中,設(shè)定BD光盤上的目錄和文件結(jié)構(gòu),使得BDVIDEO目錄直接位于根目錄(ROOT)之下。例如BD-ROM中處理的AV內(nèi)容和管理信息的數(shù)據(jù)記錄在BDVIDEO目錄中。
下列七種類型的文件記錄在BDVIDEO目錄下。
BD.INFO(固定的文件名)為“BD管理信息”,并且是涉及整個(gè)BD光盤的文件存儲(chǔ)信息。BD播放器首先讀取該文件。
BD.PROG(固定的文件名)為“BD再現(xiàn)程序”,并且是存儲(chǔ)涉及整個(gè)BD光盤的程序的文件。
XXX.PL(“XXX”是變量,擴(kuò)展名“PL”是固定的)為“BD管理信息”,并且是存儲(chǔ)有存儲(chǔ)腳本的播放列表信息的文件。為每個(gè)播放列表提供該文件。
XXX.PROG(“XXX”是變量,擴(kuò)展名“PROG”是固定的)為“BD再現(xiàn)程序”,并且是存儲(chǔ)為上述每個(gè)播放列表提供的程序的文件。對(duì)應(yīng)于播放列表的XXX.PROG文件由通用文件主體名“XXX”標(biāo)識(shí)。
YYY.VOB(“YYY”是變量,擴(kuò)展名“VOB”是固定的)為“AV數(shù)據(jù)”,并且是存儲(chǔ)作為AV數(shù)據(jù)的MPEG流的文件。為每個(gè)VOB提供該文件。
YYY.VOBI(“YYY”是變量,擴(kuò)展名“VOBI”是固定的)為“BD管理信息”,并且是存儲(chǔ)管理信息的文件,該管理信息涉及作為AV數(shù)據(jù)的VOB。對(duì)應(yīng)于播放列表的YYY.VOBI文件由通用文件主體名“YYY”標(biāo)識(shí)。
ZZZ.PNG(“ZZZ”是變量,擴(kuò)展名“PNG”是固定的)為“AV數(shù)據(jù)”,并且是存儲(chǔ)用于構(gòu)成字幕和菜單的圖像數(shù)據(jù)PNG(W3C標(biāo)準(zhǔn)化的圖像格式,發(fā)音為“ping”)的文件。為每個(gè)PNG圖像提供該文件。
圖2示出再現(xiàn)控制的層模型。在圖2中,層1為物理層,其中執(zhí)行提供針對(duì)處理的流的控制。如層1所示,作為該流供應(yīng)源的不僅具有BD-ROM,還具有多種其他類型的記錄和通信介質(zhì),包括HD,存儲(chǔ)卡,和網(wǎng)絡(luò)。層1執(zhí)行對(duì)這些供應(yīng)源,例如HD,存儲(chǔ)卡,和網(wǎng)絡(luò)的控制(盤訪問(wèn),卡訪問(wèn),和網(wǎng)絡(luò)通信)。
層2為涉及組成數(shù)字流的AV數(shù)據(jù)(或AV流)的層。層2指定用于解碼層1中提供的數(shù)字流(以下稱為“流”)的解碼格式。
層3(BD管理數(shù)據(jù))為用于指定該流的靜態(tài)腳本的層。該靜態(tài)腳本為由光盤創(chuàng)建者預(yù)先指定的再現(xiàn)路徑信息和流管理信息。層3基于該靜態(tài)腳本指定再現(xiàn)控制。
層4(BD再現(xiàn)程序)為用于實(shí)現(xiàn)該流的動(dòng)態(tài)腳本的層。該動(dòng)態(tài)腳本為執(zhí)行AV流的再現(xiàn)過(guò)程和涉及其再現(xiàn)的控制過(guò)程中至少其一的程序。動(dòng)態(tài)腳本的再現(xiàn)控制依照對(duì)設(shè)備的用戶操作而改變,并具有類似于程序的特性。這里,動(dòng)態(tài)再現(xiàn)控制具有兩種模式。模式之一為用于在AV設(shè)備專用的再現(xiàn)環(huán)境中播放記錄在BD-ROM上的視頻數(shù)據(jù)的模式(類DVD模式),而另一模式為用于提高記錄在BD-ROM上的視頻數(shù)據(jù)的附加值的模式(Java(TM)模式)。這兩種模式,即類DVD模式和Java(TM)模式,定義于圖2所示的層4中。類DVD模式為在類DVD再現(xiàn)環(huán)境中的再現(xiàn)模式。具有寫入其中的腳本來(lái)動(dòng)態(tài)改變?cè)佻F(xiàn)進(jìn)程的腳本程序在該模式下運(yùn)行。Java(TM)模式為基于Java(TM)虛擬機(jī)的再現(xiàn)模式,并根據(jù)Java(TM)應(yīng)用程序執(zhí)行再現(xiàn),該Java應(yīng)用程序記錄在記錄介質(zhì)(本實(shí)施例中BD-ROM作為實(shí)例應(yīng)用)中,并且由Java(TM)虛擬機(jī)解釋和執(zhí)行。
圖3示出由以上兩種模式中的動(dòng)態(tài)再現(xiàn)控制創(chuàng)建的電影作品。圖3A示出通過(guò)在類DVD模式中定義動(dòng)態(tài)再現(xiàn)控制而創(chuàng)建的電影作品的一個(gè)場(chǎng)景。因?yàn)轭怐VD模式允許利用命令寫入再現(xiàn)控制,該命令非常近似于DVD再現(xiàn)設(shè)備可以理解的命令,這可以指定與用于DVD再現(xiàn)控制類似的再現(xiàn)控制,也就是說(shuō),依照菜單上做出的選擇而允許再現(xiàn)前進(jìn)的再現(xiàn)控制。圖3B示出通過(guò)在Java(TM)模式中定義動(dòng)態(tài)再現(xiàn)控制而創(chuàng)建的電影作品的一個(gè)場(chǎng)景。使用Java(TM)程序可以實(shí)現(xiàn)Java(TM)模式,Java(TM)程序用Java(TM)虛擬機(jī)可以理解的Java(TM)語(yǔ)言來(lái)寫控制過(guò)程。當(dāng)Java(TM)程序設(shè)計(jì)為控制計(jì)算機(jī)圖像(CG)的運(yùn)動(dòng)時(shí),可以在Java(TM)模式中實(shí)現(xiàn)這種再現(xiàn)控制,即將CG(圖3B中的貓頭鷹的圖片)移動(dòng)到視頻顯示旁邊。
圖4為示出再現(xiàn)設(shè)備大致的功能結(jié)構(gòu)的方框圖。如圖4所示,再現(xiàn)設(shè)備包括BD-ROM驅(qū)動(dòng)器401,軌緩沖器402,解復(fù)用器403,視頻解碼器404,視頻平面405,音頻解碼器406,圖像存儲(chǔ)器407,圖像平面408,圖像解碼器409,加法器410,靜態(tài)腳本存儲(chǔ)器411,動(dòng)態(tài)腳本存儲(chǔ)器412,類DVD模塊413,Java(TM)模塊414,UO探測(cè)模塊415,模式管理模塊416,分配器417,繪制引擎418,特定再現(xiàn)信息419,以及AV再現(xiàn)庫(kù)420。
BD-ROM驅(qū)動(dòng)器401執(zhí)行BD-ROM的載入/退出,并訪問(wèn)載入的BD-ROM。
軌緩沖器402為FIFO存儲(chǔ)器,在先進(jìn)先出基礎(chǔ)上存儲(chǔ)從BD-ROM讀取的訪問(wèn)單元。
解復(fù)用器403從軌緩沖器402取回訪問(wèn)單元,并對(duì)訪問(wèn)單元進(jìn)行解復(fù)用,以獲得構(gòu)成GOP的視頻和音頻幀。從而,解復(fù)用器403向視頻解碼器404輸出視頻幀,并向音頻解碼器406輸出音頻幀。解復(fù)用器403還在圖像存儲(chǔ)器407中存儲(chǔ)子圖像流,并在動(dòng)態(tài)腳本存儲(chǔ)器412中存儲(chǔ)導(dǎo)航按鈕信息。解復(fù)用器403執(zhí)行的解復(fù)用包括將TS包轉(zhuǎn)換為PES包的轉(zhuǎn)換處理。
視頻解碼器404解碼解復(fù)用器403輸出的視頻幀,并向視頻平面405寫入非壓縮的圖像。
視頻平面405為用于存儲(chǔ)非壓縮圖像的存儲(chǔ)器。
音頻解碼器406解碼解復(fù)用器403輸出的音頻幀,并輸出未壓縮的音頻數(shù)據(jù)。
圖像存儲(chǔ)器407為存儲(chǔ)子圖像流、導(dǎo)航按鈕信息中的PNG數(shù)據(jù)以及圖像文件的緩沖器,其中這些數(shù)據(jù)從BD-ROM中讀出。
圖像平面408為具有一個(gè)屏幕區(qū)域的存儲(chǔ)器,其中擴(kuò)展的子圖像流、PNG數(shù)據(jù)以及圖像文件設(shè)置在該區(qū)域中。
圖像解碼器409擴(kuò)展存儲(chǔ)于圖像存儲(chǔ)器407中的子圖像流、PNG數(shù)據(jù)以及圖像文件,并將其寫入圖像平面408中。作為解碼擴(kuò)展的子圖像流的結(jié)果,不同的菜單和子圖像出現(xiàn)在屏幕上。
加法器410將圖像平面408上擴(kuò)展的圖像和存儲(chǔ)于視頻平面405上的未壓縮的圖片數(shù)據(jù)合成,并輸出得到的結(jié)果。通過(guò)將圖像平面408中的圖像和視頻平面405中的圖片合成,加法器410輸出圖3B所示的圖像顯示,也就是其中CG(圖3B中貓頭鷹的圖片)移動(dòng)到視頻顯示旁邊的屏幕顯示。
靜態(tài)腳本存儲(chǔ)器411為存儲(chǔ)當(dāng)前PL信息和當(dāng)前流管理信息的存儲(chǔ)器。當(dāng)前PL信息為記錄在BD-ROM上的多條PL信息中當(dāng)前處理的PL信息。當(dāng)前流管理信息為記錄在BD-ROM上的多條流管理信息中當(dāng)前處理的流管理信息。
動(dòng)態(tài)腳本存儲(chǔ)器412為存儲(chǔ)當(dāng)前動(dòng)態(tài)腳本的存儲(chǔ)器,并被類DVD模塊413和Java(TM)模塊414使用。當(dāng)前動(dòng)態(tài)腳本為記錄在BD-ROM上、包括在腳本程序中的多個(gè)腳本中當(dāng)前所處理的動(dòng)態(tài)腳本。
類DVD模塊413是作為類DVD模式運(yùn)行對(duì)象的DVD虛擬播放器,并運(yùn)行讀取到動(dòng)態(tài)腳本存儲(chǔ)器412的當(dāng)前腳本程序。
Java(TM)模塊414為Java(TM)平臺(tái),并包括Java(TM)虛擬機(jī)、配置、以及解釋和運(yùn)行Java(TM)應(yīng)用程序的主體部分(profile)(圖中未示出)。Java(TM)模塊414從構(gòu)成Java(TM)應(yīng)用程序的Java(TM)類文件程序中生成當(dāng)前Java(TM)對(duì)象,并執(zhí)行當(dāng)前Java(TM)對(duì)象,其中該Java類文件程序通過(guò)程序記錄存儲(chǔ)器1讀取。Java(TM)虛擬機(jī)將用Java(TM)語(yǔ)言寫成的Java(TM)對(duì)象轉(zhuǎn)換為再現(xiàn)設(shè)備中CPU的本地代碼,并使CPU執(zhí)行該本地代碼。
UO探測(cè)模塊415探測(cè)通過(guò)輸入裝置在遙控器或再現(xiàn)設(shè)備前面板上執(zhí)行的用戶操作,并將指明探測(cè)的用戶操作(以下稱為“UO”)的信息輸出到模式管理模塊416。
模式管理模塊416保存從BD-ROM讀取的模式管理表,并執(zhí)行模式管理和分支控制。模式管理模塊416執(zhí)行的模式管理為模塊分配,也就是指派類DVD模塊413和Java(TM)模塊414中哪一個(gè)執(zhí)行動(dòng)態(tài)腳本。
分配器417選擇只適用于再現(xiàn)設(shè)備當(dāng)前模式的UO,并將選擇的UO傳送到用于執(zhí)行該模式的模塊。例如,如果在類DVD模式期間,接收到例如“左”、“右”、“上”、“下”或“激活”的UO,分配器417將這些UO輸出到類DVD模塊413。
繪制引擎418具有例如Java 2D(TM)和OPEN-GL的架構(gòu)軟件,并根據(jù)Java(TM)模塊414的指令繪制CG,并將繪制的CG輸出到圖像平面408。
特定的再現(xiàn)信息419包含由再現(xiàn)設(shè)備支持的再現(xiàn)速率列表,作為特定的再現(xiàn)信息。利用專用于該再現(xiàn)設(shè)備的實(shí)參數(shù)(立即值(immediatevalue)),例如2.0、10.0、和30.0來(lái)呈現(xiàn)該列表。特定再現(xiàn)信息由Java(TM)模塊414參考,當(dāng)在Java(TM)模式中執(zhí)行特定再現(xiàn)時(shí),確保與類DVD模式的兼容性。
依照來(lái)自類DVD模塊413或Java(TM)模塊414的功能調(diào)用,AV再現(xiàn)庫(kù)420執(zhí)行AV再現(xiàn)功能和播放列表再現(xiàn)功能。AV再現(xiàn)功能為近似于DVD播放器和CD播放器中存在的功能的一組功能,包括例如再現(xiàn)啟動(dòng)“播放”、再現(xiàn)停止“停止”、再現(xiàn)暫?!皶和!_(kāi)”、暫停釋放“暫?!P(guān)”、靜止圖像釋放“靜止—關(guān)”、以立即值指定的速率快進(jìn)“快進(jìn)播放(速率)”、以立即值指定的速率倒回“快退播放(速率)”、音頻切換“音頻改變”、子圖像切換“子圖像改變”、以及角度切換“角度改變”的處理。根據(jù)播放列表信息,播放列表再現(xiàn)功能為在這些AV再現(xiàn)功能中執(zhí)行“播放”和“停止”的功能。AV再現(xiàn)庫(kù)420依照由類DVD模塊413或Java(TM)模塊414指定的再現(xiàn)速率的立即值,改變從軌緩沖器402的讀取速率,依照讀取速率控制解復(fù)用器403以取回視頻數(shù)據(jù),并將取回的視頻數(shù)據(jù)傳送到視頻解碼器404。同樣,AV再現(xiàn)庫(kù)420控制解復(fù)用器403取回音頻數(shù)據(jù),并將取回的音頻數(shù)據(jù)傳送到音頻解碼器406。這使得能夠以立即值指定的再現(xiàn)速率執(zhí)行特定再現(xiàn)。
這結(jié)束了再現(xiàn)設(shè)備的構(gòu)成元件的描述。
圖5為示出圖4所示的類DVD模塊413和Java(TM)模塊414的詳細(xì)結(jié)構(gòu)的方框圖,并涉及關(guān)于例如快進(jìn)和快退的特定操作的用戶操作的處理。首先,將要描述由類DVD模塊413執(zhí)行的再現(xiàn)和特定再現(xiàn)控制。腳本程序501為用于類DVD模式的記錄在BD-ROM上的BD再現(xiàn)程序,并存儲(chǔ)在圖4所示的動(dòng)態(tài)腳本存儲(chǔ)器412中。將存儲(chǔ)于動(dòng)態(tài)腳本存儲(chǔ)器412的腳本程序501提供給類DVD模塊413。腳本程序501調(diào)用腳本控制功能,作為腳本控制模塊502提供給應(yīng)用程序的功能,依賴于條件來(lái)分支播放列表。關(guān)于由用戶在遙控器操作上執(zhí)行的處理,依照從分配器417接收的UO事件,UO處理模塊503執(zhí)行特定再現(xiàn),例如快進(jìn)再現(xiàn)和快退再現(xiàn)。
在Java(TM)模式中,在相應(yīng)的BD標(biāo)題的再現(xiàn)期間,利用API(應(yīng)用程序接口),記錄在BD-ROM上的Java(TM)應(yīng)用程序505控制腳本和特定再現(xiàn),其中API為介質(zhì)再現(xiàn)模塊507提供給應(yīng)用程序的功能。當(dāng)用戶操作遙控器時(shí),應(yīng)用程序管理器504從分配器417接收UO事件,并將接收的UO事件傳送到當(dāng)前在操作中的Java(TM)應(yīng)用程序505。
當(dāng)例如按下快進(jìn)按鈕的UO事件發(fā)生時(shí),Java(TM)應(yīng)用程序505通過(guò)特定再現(xiàn)信息獲取模塊506獲取特定再現(xiàn)信息,并指定將要執(zhí)行的特定再現(xiàn)的再現(xiàn)速率。也就是說(shuō),Java(TM)應(yīng)用程序505從特定再現(xiàn)信息中讀取用于類DVD模式中的再現(xiàn)速率,以及終端支持的再現(xiàn)速率,并基于這些信息,指定介質(zhì)再現(xiàn)模塊507的適當(dāng)?shù)脑佻F(xiàn)速率。同時(shí),Java(TM)應(yīng)用程序505依照再現(xiàn)速率連續(xù)計(jì)算圖形使其移動(dòng)(或變化),其中利用通過(guò)特定再現(xiàn)信息獲取模塊506獲取的特定再現(xiàn)信息指定該再現(xiàn)速率,并隨后指示繪制引擎418繪制計(jì)算的圖形??紤]到再現(xiàn)圖形對(duì)象的情況,其中在AV數(shù)據(jù)的正常再現(xiàn)期間,每個(gè)單位時(shí)間(例如0.1秒),該對(duì)象以5倍的再現(xiàn)速率改變預(yù)定量(例如,當(dāng)利用由虛擬二維(或三維)坐標(biāo)軸所示的坐標(biāo)指定圖形的移動(dòng)時(shí),每個(gè)單位時(shí)間坐標(biāo)值的改變量)。在這種情況,每個(gè)單位時(shí)間(此實(shí)例中為0.1秒)變化的量是通過(guò)預(yù)定量乘以再現(xiàn)速率(此實(shí)例中為5倍)而計(jì)算。以此方式計(jì)算后,Java(TM)應(yīng)用程序505指示繪制引擎418繪制圖形。
圖6示出對(duì)應(yīng)于保存在再現(xiàn)設(shè)備中的再現(xiàn)信息的特定再現(xiàn)信息。特定再現(xiàn)信息包括由終端(也就是,再現(xiàn)設(shè)備)支持的再現(xiàn)速率和用于類DVD模式中的再現(xiàn)速率信息的列表。同樣,作為特定再現(xiàn)操作的觸發(fā)器的信息被寫入特定再現(xiàn)信息。特定再現(xiàn)的觸發(fā)包括用戶執(zhí)行的按鈕操作。在此情況下,對(duì)應(yīng)于特定再現(xiàn),例如按鈕ID和按鈕按下次數(shù)的信息被寫入特定再現(xiàn)信息。
圖6所示的列表涉及快進(jìn)再現(xiàn),快退再現(xiàn),慢進(jìn)再現(xiàn),以及慢退再現(xiàn)。然而,注意到其他特定再現(xiàn)操作的信息,例如,跳躍數(shù)秒的跳躍再現(xiàn)也可以包括在列表中。在跳躍再現(xiàn)的情況下,秒數(shù)取代再現(xiàn)速率被寫入列表中的終端支持速率區(qū)域。只要用于類DVD模式的數(shù)值被寫入該區(qū)域中,不必要寫入所有終端支持的秒數(shù)。盡管本實(shí)施例使用再現(xiàn)速率改變的特定再現(xiàn)實(shí)例,但是本實(shí)施例也可以用于使用時(shí)間作為參數(shù)(例如,跳躍15秒的跳躍再現(xiàn))的特定再現(xiàn)。
接收到此特定再現(xiàn)信息之后,應(yīng)用程序利用特定再現(xiàn)信息繪制圖3B所示的)(計(jì)算機(jī)圖形)。結(jié)果,即使AV再現(xiàn)庫(kù)420以專用于該終端的再現(xiàn)速率執(zhí)行再現(xiàn),)(計(jì)算機(jī)圖形)也可以繪制為使其與這種再現(xiàn)同步。也就是,AV數(shù)據(jù)的圖像和由計(jì)算機(jī)圖形顯示的圖像的運(yùn)動(dòng)變?yōu)橥怀潭取T趫D3B的實(shí)例中,當(dāng)執(zhí)行特定再現(xiàn)(例如,快進(jìn)再現(xiàn))時(shí),顯示AV數(shù)據(jù)的快進(jìn)圖像,而貓頭鷹的圖像對(duì)應(yīng)于快進(jìn)圖像而移動(dòng)。
圖7為示出執(zhí)行由用戶操作觸發(fā)的特定再現(xiàn)的處理的流程圖。當(dāng)用戶操作遙控器或再現(xiàn)設(shè)備的前面板執(zhí)行例如按下快進(jìn)按鈕等鍵操作時(shí),UO探測(cè)模塊415探測(cè)用戶的鍵操作(S701)。UO探測(cè)模塊415將對(duì)應(yīng)于用戶鍵操作的事件發(fā)送到模式管理模塊416。模式管理模塊416判斷當(dāng)前模式是Java(TM)模式還是類DVD模式(S702)。如果當(dāng)前模式為類DVD模式,模式管理模塊416內(nèi)的分配器417將UO事件發(fā)送到類DVD模塊413的UO處理模塊503(S703)。UO處理模塊503執(zhí)行對(duì)應(yīng)于接收的UO事件的再現(xiàn)控制(S704)。
如果當(dāng)前模式為Java(TM)模式,分配器417將UO事件發(fā)送到Java(TM)模塊414內(nèi)的應(yīng)用程序管理器504(S705)。在接收UO事件的時(shí)候,應(yīng)用程序管理器504將接收的UO事件發(fā)送到當(dāng)前在Java(TM)模塊414的虛擬機(jī)(圖中未示出)操作下的Java(TM)應(yīng)用程序505(S706)。在接收UO事件的時(shí)候,Java(TM)應(yīng)用程序505通過(guò)特定再現(xiàn)信息獲取模塊506,獲取再現(xiàn)設(shè)備的特定再現(xiàn)信息(S707)。基于特定再現(xiàn)信息,通過(guò)介質(zhì)再現(xiàn)模塊507,Java(TM)應(yīng)用程序505執(zhí)行對(duì)應(yīng)于接收的UO事件的特定再現(xiàn)控制(S708)。例如,如果接收的UO事件為快進(jìn)按鈕按下事件,則Java(TM)應(yīng)用程序505計(jì)算快進(jìn)按鈕被連續(xù)按下多少次,并基于特定再現(xiàn)信息,當(dāng)按鈕被按下一次或兩次時(shí)指定再現(xiàn)速率。在圖7所示的流程圖中,在獲取UO事件之后,Java(TM)應(yīng)用程序505獲取特定再現(xiàn)信息。然而,Java(TM)應(yīng)用程序505可以例如在啟動(dòng)的時(shí)候預(yù)先加載特定再現(xiàn)信息。此外,Java(TM)應(yīng)用程序505可以保存加載的信息。
圖8示出Java(TM)應(yīng)用程序505獲取特定再現(xiàn)信息的情況。如圖6所示,保存在再現(xiàn)終端(也就是,再現(xiàn)設(shè)備)中的特定再現(xiàn)信息419包含用于類DVD模式的特定再現(xiàn)信息和終端所支持的特定再現(xiàn)信息。
特定再現(xiàn)信息獲取模塊506響應(yīng)于應(yīng)用程序調(diào)用提供功能,并釋放API,向應(yīng)用程序提供保存在再現(xiàn)設(shè)備中的特定再現(xiàn)信息之中的兩種類型的信息。所述兩種類型的信息包括用于類DVD模式中的特定再現(xiàn)信息和終端所支持的特定再現(xiàn)信息。
對(duì)于被釋放的一個(gè)實(shí)例API,為了參考用于類DVD模式中的快進(jìn)速率的列表,Java(TM)應(yīng)用程序505對(duì)特定再現(xiàn)信息獲取模塊506調(diào)用一種方法,getFastForwardRateArray()。Java(TM)應(yīng)用程序505可以獲取用于類DVD模式中的快進(jìn)速率的陣列,作為從特定再現(xiàn)信息419獲得的返回值。根據(jù)按鈕被按下的次數(shù)安排獲取的快進(jìn)速率陣列,使得對(duì)應(yīng)于一次按下的速率置于第一位,而對(duì)應(yīng)于兩次按下的速率置于第二位。
類似地,通過(guò)調(diào)用方法,getAllFastForwardRateArray(),可以獲得終端支持的快進(jìn)速率列表。例如,以升序安排快進(jìn)速率的獲取的陣列。
圖8所示的API僅為一個(gè)實(shí)例,而且存在多種形式的API,可以從Java(TM)應(yīng)用程序獲取類DVD模式的特定再現(xiàn)信息和終端支持的特定再現(xiàn)信息。例如,取代返回快進(jìn)速率陣列的API,可以使用指定快進(jìn)按鈕的按下次數(shù)并返回對(duì)應(yīng)于次數(shù)的數(shù)值的API。
圖9示出Java(TM)應(yīng)用程序505從特定再現(xiàn)信息獲取模塊506獲取對(duì)應(yīng)于特定再現(xiàn)操作的鍵事件類型的情況。當(dāng)Java(TM)應(yīng)用程序505向特定再現(xiàn)信息獲取模塊506查詢作為每個(gè)特定再現(xiàn)操作觸發(fā)器的鍵事件的類型時(shí),特定再現(xiàn)信息獲取模塊506從保存在再現(xiàn)設(shè)備中的特定再現(xiàn)信息419中向Java(TM)應(yīng)用程序505返回對(duì)應(yīng)于類DVD模式的鍵事件類型。例如,Java(TM)應(yīng)用程序505對(duì)特定再現(xiàn)信息獲取模塊506調(diào)用一種方法,getFastForwardOperationEvent(),向特定再現(xiàn)信息獲取模塊506查詢作為快進(jìn)操作觸發(fā)器的鍵事件的類型,特定再現(xiàn)信息獲取模塊506向Java(TM)應(yīng)用程序505返回鍵事件“ButtonlPushedEvent”的類型。當(dāng)從應(yīng)用程序管理器504接收ButtonlPushedEvent的實(shí)例時(shí),通過(guò)執(zhí)行快進(jìn),Java(TM)應(yīng)用程序505可以執(zhí)行與類DVD模式兼容的處理。
圖10示出Java(TM)應(yīng)用程序505對(duì)于使用依賴于終端的變量的特定再現(xiàn)指定再現(xiàn)速率的情況。依賴于終端的變量為這樣一種變量,其中對(duì)應(yīng)于該變量的數(shù)值特定地依賴于終端。例如,假設(shè)存在依賴于終端的變量X。如果一個(gè)終端內(nèi)對(duì)應(yīng)于X的再現(xiàn)速率指定為5,則X被擴(kuò)展為5。如果另一個(gè)終端內(nèi),對(duì)應(yīng)于X的再現(xiàn)速率指定為10,則X被擴(kuò)展為10。當(dāng)執(zhí)行特定再現(xiàn)時(shí),Jaya(TM)應(yīng)用程序505指定使用該依賴于終端的變量而不是立即值的速率。例如,Java(TM)應(yīng)用程序505向介質(zhì)再現(xiàn)模塊507調(diào)用一種方法,setRate(FAST_FORWARD),則FAST_FORWARD擴(kuò)展為依賴于終端的介質(zhì)再現(xiàn)模塊507內(nèi)的立即值。在依照快進(jìn)按鈕操作,一個(gè)再現(xiàn)設(shè)備的類DVD模式中的再現(xiàn)速率改變?yōu)?倍、30倍和120倍的情況下(例如,按鈕的按下次數(shù)或按鈕的按下持續(xù)時(shí)間),F(xiàn)AST_FORWARD分別擴(kuò)展為下列立即值。
LITTLE_FAST_FORWARD→2FAST_FORWARD→30VERY_FAST_FORWARD→120同樣地,在另一個(gè)再現(xiàn)設(shè)備的類DVD模式中的再現(xiàn)速率改變?yōu)?倍、10倍和30倍的情況下,F(xiàn)AST_FORWARD分別擴(kuò)展為下列立即值。
LITTLE_FAST_FORWARD→5FAST_FORWARD→10VERY_FAST_FORWARD→30也就是說(shuō),完全相同的Java(TM)應(yīng)用程序可以依照依賴終端的類DVD模式改變?cè)佻F(xiàn)速率。介質(zhì)再現(xiàn)模塊507通過(guò)對(duì)保存在再現(xiàn)設(shè)備中的特定再現(xiàn)信息419執(zhí)行直接參考,或者經(jīng)過(guò)特定再現(xiàn)信息獲取模塊506,來(lái)擴(kuò)展依賴于終端的變量。此外,涉及擴(kuò)展的再現(xiàn)速率的信息傳送到Java(TM)應(yīng)用程序505。Java(TM)應(yīng)用程序505持續(xù)計(jì)算圖形,使其依照指定的再現(xiàn)速率移動(dòng)(或改變),并隨后指示繪制引擎418繪制計(jì)算的圖形。
圖11為示出響應(yīng)來(lái)自Java(TM)應(yīng)用程序的特定再現(xiàn)請(qǐng)求的處理的流程圖。在從Java(TM)應(yīng)用程序接收到特定再現(xiàn)請(qǐng)求的時(shí)候(S1101),介質(zhì)再現(xiàn)模塊507判斷由Java(TM)應(yīng)用程序指定的再現(xiàn)速率是立即值還是利用依賴于終端的變量的速率(S1102)。如果指定的再現(xiàn)速率為立即值,介質(zhì)再現(xiàn)模塊507執(zhí)行利用立即值的特定再現(xiàn)(S1105)。如果指定的再現(xiàn)速率不是立即值,而是利用依賴于終端的變量的速率,介質(zhì)再現(xiàn)模塊507參考保存在再現(xiàn)設(shè)備中的特定再現(xiàn)信息419(S1103),并基于參考的特定再現(xiàn)信息419將依賴于終端的變量擴(kuò)展為立即值(S1104)。介質(zhì)再現(xiàn)模塊507接著利用S1104中擴(kuò)展的立即值作為AV再現(xiàn)庫(kù)420的自變量,調(diào)用特定再現(xiàn)功能來(lái)執(zhí)行特定再現(xiàn)(S1105)。
根據(jù)上述本實(shí)施例,用于類DVD模式的特定再現(xiàn)信息可以從Java(TM)應(yīng)用程序獲取。因此,類似于類DVD模式中的特定再現(xiàn)操作可以實(shí)現(xiàn)于Java(TM)模式中。另外,也可以獲得由再現(xiàn)設(shè)備支持的特定再現(xiàn)信息。這防止Java(TM)應(yīng)用程序(更具體地,Java(TM)模塊414運(yùn)行的Java(TM)應(yīng)用程序)請(qǐng)求不被再現(xiàn)設(shè)備支持的再現(xiàn)速率,而造成意外的問(wèn)題。也就是說(shuō),Java(TM)應(yīng)用程序可以請(qǐng)求其速率依照再現(xiàn)設(shè)備的性能等級(jí)的特定再現(xiàn)。另外,通過(guò)指定利用依賴于終端的變量再現(xiàn)速率,Java(TM)應(yīng)用程序可以依照再現(xiàn)設(shè)備的性能等級(jí)來(lái)實(shí)現(xiàn)與類DVD模式兼容的特定再現(xiàn),而無(wú)需將依照每個(gè)再現(xiàn)設(shè)備的變化應(yīng)用于Java(TM)應(yīng)用程序。也就是說(shuō),當(dāng)執(zhí)行數(shù)字流的特定再現(xiàn)時(shí),Java(TM)應(yīng)用程序可以依照每個(gè)再現(xiàn)速率繪制圖像。
(第二實(shí)施例)第一實(shí)施例描述了類DVD模式和Jaya(TM)模式之間特定再現(xiàn)兼容性的保持。第二實(shí)施例將描述在保持Java(TM)模式中應(yīng)用程序之間特定再現(xiàn)的兼容性時(shí),用于改變特定再現(xiàn)操作的方法。
圖12示出根據(jù)第二實(shí)施例的Java(TM)模塊的結(jié)構(gòu)。對(duì)應(yīng)于再現(xiàn)信息的交叉應(yīng)用特定再現(xiàn)信息604保存在Java(TM)模塊內(nèi)。Java(TM)應(yīng)用程序601可以利用特定再現(xiàn)信息獲取/改變模塊603,讀取和寫入交叉應(yīng)用特定再現(xiàn)信息604。介質(zhì)再現(xiàn)模塊602響應(yīng)Jaya(TM)應(yīng)用程序601的請(qǐng)求,控制介質(zhì)再現(xiàn)。此時(shí),介質(zhì)再現(xiàn)模塊602直接或通過(guò)特定再現(xiàn)信息獲取/改變模塊603讀取交叉應(yīng)用特定再現(xiàn)信息604,并依照交叉應(yīng)用特定再現(xiàn)信息604執(zhí)行再現(xiàn)控制。如果一個(gè)具有向交叉應(yīng)用特定再現(xiàn)信息604寫入權(quán)力的Java(TM)應(yīng)用程序重新寫入交叉應(yīng)用特定再現(xiàn)信息604,所有通過(guò)介質(zhì)再現(xiàn)模塊602執(zhí)行再現(xiàn)控制的Java(TM)應(yīng)用程序接收重新寫入的影響。圖13示出交叉應(yīng)用特定再現(xiàn)信息604的一個(gè)具體實(shí)例。交叉應(yīng)用特定再現(xiàn)信息604包括變量名列表和對(duì)應(yīng)于每個(gè)變量的再現(xiàn)速率值。交叉應(yīng)用特定再現(xiàn)信息604保存在Java(TM)模塊內(nèi),而且通??梢詮膽?yīng)用程序訪問(wèn)?;谠撔畔ⅲ橘|(zhì)再現(xiàn)模塊602擴(kuò)展由Java(TM)應(yīng)用程序601指定的再現(xiàn)速率變量。
例如,當(dāng)Java(TM)應(yīng)用程序向介質(zhì)再現(xiàn)模塊602調(diào)用一種方法,setRate(FAST FORWARD)時(shí),介質(zhì)再現(xiàn)模塊602基于交叉應(yīng)用特定再現(xiàn)信息604,將變量擴(kuò)展為調(diào)用,setRate(30.0)。介質(zhì)再現(xiàn)模塊602將再現(xiàn)速率的擴(kuò)展值(此實(shí)例中為30.0)傳送到執(zhí)行中的Java(TM)應(yīng)用程序。Java(TM)應(yīng)用程序持續(xù)計(jì)算圖形,使其依照指定的再現(xiàn)速率移動(dòng)(或改變),并從而指示繪制引擎418繪制計(jì)算的圖形。
圖14示出通過(guò)交叉應(yīng)用特定再現(xiàn)信息的變化,施加在Java(TM)應(yīng)用程序上的影響。假設(shè)對(duì)應(yīng)于當(dāng)前交叉應(yīng)用特定再現(xiàn)信息中的VERY FAST FORWARD變量的數(shù)值為120。如果Java(TM)應(yīng)用程序1401對(duì)介質(zhì)再現(xiàn)模塊602調(diào)用一種方法,setRate(VERY_FAST_FORWARD),該方法擴(kuò)展為setRate(120)。Java(TM)應(yīng)用程序1401指定立即值120作為再現(xiàn)速率,向AV庫(kù)420調(diào)用快進(jìn)功能。因而,假設(shè)具有向交叉應(yīng)用特定再現(xiàn)信息的寫入權(quán)力的Java(TM)應(yīng)用程序1402從用戶接收改變特定再現(xiàn)等的請(qǐng)求,并通過(guò)特定再現(xiàn)信息獲取/改變模塊603,將由VERY_FAST_FORWARD指明的數(shù)值改變?yōu)?0。在此情況下,如果Java(TM)應(yīng)用程序1401再次對(duì)介質(zhì)再現(xiàn)模塊602調(diào)用相同的方法,setRate(VERY_FAST_FORWARD),則變量擴(kuò)展為setRate(60)。結(jié)果,Java(TM)應(yīng)用程序1401指定立即值60作為再現(xiàn)速率,對(duì)AV庫(kù)420調(diào)用快進(jìn)功能。因而,即使調(diào)用完全相同的方法,特定再現(xiàn)速率也是不同的。因?yàn)榻徊鎽?yīng)用特定再現(xiàn)信息的變化被應(yīng)用于所有Java(TM)應(yīng)用程序,Java(TM)模式中的特定再現(xiàn)操作可以改變?yōu)榕c包括未知Java(TM)應(yīng)用程序的所有Java(TM)應(yīng)用程序一致。
(第三實(shí)施例)第二實(shí)施例描述了與Java(TM)模式中所有Java(TM)應(yīng)用程序一致的特定再現(xiàn)操作的變化。第三實(shí)施例將要描述與兩種模式,類DVD模式和Java(TM)模式一致的特定再現(xiàn)操作的變化。
圖15為根據(jù)第三實(shí)施例關(guān)于涉及特定再現(xiàn)操作的用戶操作處理的方框圖。在圖15中,交叉模式特定再現(xiàn)信息1502保存在再現(xiàn)設(shè)備內(nèi)的一個(gè)位置,在此處類DVD模塊和Java(TM)模塊可以公共地訪問(wèn)。類DVD模塊的UO處理模塊1501參考交叉模式特定再現(xiàn)信息1502以控制再現(xiàn)。在此情況中,與Java(TM)應(yīng)用程序1505相似,UO處理模塊1501內(nèi)的代碼也能控制利用依賴于終端的變量的再現(xiàn),例如setRate(FAST_FORWARD)。因?yàn)榈谌龑?shí)施例中Java(TM)應(yīng)用程序的再現(xiàn)控制與第二實(shí)施例中的相同,這里省略其描述。
要寫入交叉模式特定再現(xiàn)信息1502的內(nèi)容與圖13所示的交叉應(yīng)用特定再現(xiàn)信息中的內(nèi)容相同。具有寫入權(quán)力的Java(TM)應(yīng)用程序1505可以通過(guò)特定再現(xiàn)信息獲取/改變模塊1504,重新寫入交叉模式特定再現(xiàn)信息1502。交叉模式特定再現(xiàn)信息1502的變化對(duì)UO處理模塊1501和介質(zhì)再現(xiàn)模塊1503施加影響,并被反映在自變量的數(shù)值上,該自變量基于特定再現(xiàn)功能調(diào)用被傳送到AV再現(xiàn)庫(kù)420。
根據(jù)上述本實(shí)施例,Java(TM)應(yīng)用程序?qū)μ囟ㄔ佻F(xiàn)操作的變化可以應(yīng)用于類DVD模式,也能應(yīng)用于Java(TM)模式的Java(TM)應(yīng)用程序之間。
(第四實(shí)施例)第一至第三實(shí)施例描述了通過(guò)參考保存在再現(xiàn)設(shè)備中的特定再現(xiàn)信息而保持特定再現(xiàn)操作的兼容性。第四實(shí)施例將會(huì)描述一種方法,無(wú)需參考特定再現(xiàn)信息,保持Java(TM)模式和類DVD模式之間的特定再現(xiàn)的兼容性。圖16為根據(jù)第四實(shí)施例關(guān)于涉及特定再現(xiàn)操作的用戶操作處理的方框圖。圖16中新的一點(diǎn)在于向Java(TM)模塊加入分配器模塊1601。分配器模塊1601響應(yīng)Java(TM)應(yīng)用程序505的請(qǐng)求,從Java(TM)模塊向類DVD模塊發(fā)送UO事件。被發(fā)送的UO事件的類型與從模式管理模塊416發(fā)送的事件類型相同。因而,UO處理模塊503不需要區(qū)別UO事件是從模式管理模塊416還是從分配器模塊1601發(fā)送。也就是說(shuō),可能以與從模式管理模塊416發(fā)送的UO事件相同的方式,處理從分配器模塊1601發(fā)送的UO事件。
圖17示出Java(TM)模塊向類DVD模塊發(fā)送UO事件的情況。Java(TM)應(yīng)用程序505向分配器模塊1601指定要發(fā)送給類DVD模塊的UO事件的類型。例如,假設(shè)為了在按下快進(jìn)按鈕的時(shí)刻作出發(fā)送事件的請(qǐng)求,Java(TM)應(yīng)用程序505對(duì)分配器模塊1601調(diào)用一種方法,postEventToDVLikeModule(“FastForwardButtonPushedEvent”)。分配器模塊1601生成指定的事件類型,并向類DVD模塊的UO處理模塊503發(fā)送事件。接收事件的時(shí)候,UO處理模塊503以用于類DVD模式的再現(xiàn)速率,調(diào)用AV再現(xiàn)庫(kù)420的功能,以執(zhí)行特定再現(xiàn)控制。根據(jù)上述本實(shí)施例,類DVD模式中的模塊不需要特別改變??梢詧?zhí)行Java(TM)模式中的再現(xiàn)控制,與類DVD模式中的再現(xiàn)控制相同。
(第五實(shí)施例)第五實(shí)施例將描述特定再現(xiàn)兼容性的保持,其中結(jié)合了第一至第四實(shí)施例。圖18為根據(jù)第五實(shí)施例,關(guān)于涉及特定再現(xiàn)操作的用戶操作處理的方框圖。在圖18中,兩種類型的信息,即交叉模式特定再現(xiàn)信息1502和交叉應(yīng)用特定再現(xiàn)信息604保存在再現(xiàn)設(shè)備中。Java(TM)應(yīng)用程序505可以利用特定再現(xiàn)信息獲取/改變模塊1504,讀取和寫入特定再現(xiàn)信息。通過(guò)重新寫入交叉應(yīng)用特定再現(xiàn)信息604,Java(TM)應(yīng)用程序505可以只改變Java(TM)模式中的特定再現(xiàn)操作。通過(guò)重新寫入交叉模式特定再現(xiàn)信息1502,Java(TM)應(yīng)用程序505可以改變兩種模式中的特定再現(xiàn)操作。
例如FAST_FORWARD的依賴于終端的變量,在交叉模式特定再現(xiàn)和Java(TM)通用特定再現(xiàn)之間具有不同的變量名或封裝。例如,F(xiàn)AST_FORWARD用于交叉模式特定再現(xiàn),而J_FAST_FORWARD用于Java(TM)模式中通用的特定再現(xiàn)。通過(guò)改變依賴于終端的變量以進(jìn)行指定,Java(TM)應(yīng)用程序505可以選擇是執(zhí)行兩種模式中通用的特定再現(xiàn)操作,還是Java(TM)模式中通用的特定再現(xiàn)操作。為了使類DVD模式中的模塊執(zhí)行特定再現(xiàn)操作,Java(TM)應(yīng)用程序利用分配器1601向類DVD模塊內(nèi)的UO處理模塊1501發(fā)送UO事件。接著,UO處理模塊1501利用交叉模式特定再現(xiàn)信息的再現(xiàn)速率值,調(diào)用AV再現(xiàn)庫(kù)420,并執(zhí)行特定再現(xiàn)。
根據(jù)上述實(shí)施例,Java(TM)應(yīng)用程序505可以選擇是執(zhí)行Java(TM)模式中通用的特定再現(xiàn)操作,或是兩種模式中,也就是類DVD模式和Java(TM)模式中通用的特定再現(xiàn)操作。Java(TM)應(yīng)用程序505可以改變與兩種模式一致的特定再現(xiàn)操作,或改變與Java(TM)模式一致的特定再現(xiàn)操作。
工業(yè)適用性根據(jù)本發(fā)明,在具有多種再現(xiàn)模式的再現(xiàn)設(shè)備中可以保持特定再現(xiàn)操作的兼容性。因此,本發(fā)明的再現(xiàn)設(shè)備在致力于視頻內(nèi)容制作的電影和消費(fèi)裝置產(chǎn)業(yè)中具有高度適用性。
權(quán)利要求
1.一種再現(xiàn)設(shè)備,用于以彼此關(guān)聯(lián)的方式再現(xiàn)記錄在記錄介質(zhì)上的數(shù)字流和應(yīng)用程序,該再現(xiàn)設(shè)備包括再現(xiàn)單元,用于再現(xiàn)該數(shù)字流;以及平臺(tái)單元,用于運(yùn)行該應(yīng)用程序以執(zhí)行再現(xiàn)控制,其中該再現(xiàn)單元具有多個(gè)用于該再現(xiàn)控制的實(shí)參數(shù),該多個(gè)實(shí)參數(shù)專用于該再現(xiàn)設(shè)備,該平臺(tái)單元包括運(yùn)行單元,用于解釋和運(yùn)行該應(yīng)用程序;以及模塊單元,具有提供給該應(yīng)用程序的功能,并用于執(zhí)行該再現(xiàn)控制,以及該再現(xiàn)控制通過(guò)該功能使得該再現(xiàn)單元基于該多個(gè)實(shí)參數(shù)之一來(lái)再現(xiàn)該數(shù)字流。
2.根據(jù)權(quán)利要求1所述的再現(xiàn)設(shè)備,其中提供給該應(yīng)用程序的功能為響應(yīng)于運(yùn)行中的該應(yīng)用程序的調(diào)用,將特定再現(xiàn)信息提供給該應(yīng)用程序的功能,該特定再現(xiàn)信息示出多個(gè)用戶事件和該多個(gè)實(shí)參數(shù)之間的對(duì)應(yīng)關(guān)系,該模塊單元的再現(xiàn)控制響應(yīng)于該應(yīng)用程序的功能調(diào)用,以及該特定再現(xiàn)信息用于該功能調(diào)用。
3.根據(jù)權(quán)利要求2所述的再現(xiàn)設(shè)備,其中該多個(gè)用戶事件中的每個(gè)示出用戶按下的按鈕的類型,以及該多個(gè)實(shí)參數(shù)中的每個(gè)示出再現(xiàn)速率倍增因數(shù)。
4.根據(jù)權(quán)利要求3所述的再現(xiàn)設(shè)備,其中該多個(gè)用戶事件中的每個(gè)還示出該按鈕的按下次數(shù),以及該特定再現(xiàn)信息示出用戶事件,該用戶事件包括與示出較高倍增因數(shù)的實(shí)參數(shù)相對(duì)應(yīng)的較高按下次數(shù)。
5.根據(jù)權(quán)利要求1所述的再現(xiàn)設(shè)備,其中提供給該應(yīng)用程序的功能是這樣一種功能,其將與從運(yùn)行中的該應(yīng)用程序接收的再現(xiàn)速率對(duì)應(yīng)的變量擴(kuò)展為與該再現(xiàn)速率對(duì)應(yīng)的多個(gè)實(shí)參數(shù)之一,以及該模塊單元使得該再現(xiàn)單元基于該擴(kuò)展的實(shí)參數(shù)再現(xiàn)該數(shù)字流。
6.根據(jù)權(quán)利要求1所述的再現(xiàn)設(shè)備,其中提供給該應(yīng)用程序的功能為響應(yīng)于運(yùn)行中的該應(yīng)用程序的調(diào)用,向該應(yīng)用程序提供列出該多個(gè)實(shí)參數(shù)的陣列數(shù)據(jù)的功能。
7.根據(jù)權(quán)利要求1所述的再現(xiàn)設(shè)備,其中該運(yùn)行單元通過(guò)解釋和運(yùn)行該應(yīng)用程序來(lái)控制圖形的繪制。
8.根據(jù)權(quán)利要求7所述的再現(xiàn)設(shè)備,其中提供給該應(yīng)用程序的該功能為響應(yīng)于該應(yīng)用程序的調(diào)用,將特定再現(xiàn)信息提供給該應(yīng)用程序的功能,該特定再現(xiàn)信息示出多個(gè)用戶事件和專用于該再現(xiàn)設(shè)備的該多個(gè)實(shí)參數(shù)之間的對(duì)應(yīng)關(guān)系,該模塊單元響應(yīng)于利用該特定再現(xiàn)信息的應(yīng)用程序的功能調(diào)用,執(zhí)行該再現(xiàn)控制,以及該應(yīng)用程序基于通過(guò)該功能獲取的該特定再現(xiàn)信息,控制該圖形的繪制。
9.根據(jù)權(quán)利要求7所述的再現(xiàn)設(shè)備,其中提供給該應(yīng)用程序的功能為這樣一種功能,其將與從該應(yīng)用程序接收的再現(xiàn)速率對(duì)應(yīng)的變量擴(kuò)展為與該再現(xiàn)速率對(duì)應(yīng)的該多個(gè)實(shí)參數(shù)之一,并向該應(yīng)用程序提供該擴(kuò)展的實(shí)參數(shù),該模塊單元基于該擴(kuò)展的實(shí)參數(shù)執(zhí)行該再現(xiàn)控制,以及該應(yīng)用程序基于該擴(kuò)展的實(shí)參數(shù)控制該圖形的繪制。
10.一種程序,用于使得計(jì)算機(jī)以彼此關(guān)聯(lián)的方式再現(xiàn)記錄在記錄介質(zhì)上的數(shù)字流和應(yīng)用程序,其包括再現(xiàn)程序,用于再現(xiàn)該數(shù)字流;以及平臺(tái)程序,用于運(yùn)行該應(yīng)用程序,以執(zhí)行再現(xiàn)控制,其中該再現(xiàn)程序具有用于該再現(xiàn)控制的多個(gè)實(shí)參數(shù),該多個(gè)實(shí)參數(shù)專用于該計(jì)算機(jī),該平臺(tái)程序具有提供給該應(yīng)用程序的功能,并用于執(zhí)行該再現(xiàn)控制,以及該再現(xiàn)控制通過(guò)該功能使得該再現(xiàn)程序基于該多個(gè)實(shí)參數(shù)之一再現(xiàn)該數(shù)字流。
全文摘要
再現(xiàn)設(shè)備再現(xiàn)數(shù)字流并運(yùn)行應(yīng)用程序。Java(TM)模塊414為平臺(tái)單元,運(yùn)行該應(yīng)用程序,并基于該運(yùn)行的結(jié)果執(zhí)行再現(xiàn)控制。當(dāng)執(zhí)行此再現(xiàn)時(shí),該再現(xiàn)設(shè)備具有多個(gè)專用于該再現(xiàn)設(shè)備的實(shí)參數(shù),用于該再現(xiàn)控制。Java(TM)模塊414響應(yīng)該應(yīng)用程序的方法調(diào)用,向該應(yīng)用程序提供使用實(shí)參數(shù)的功能。
文檔編號(hào)G11B27/10GK1938774SQ20058001041
公開(kāi)日2007年3月28日 申請(qǐng)日期2005年6月2日 優(yōu)先權(quán)日2004年6月3日
發(fā)明者田中敬一, 大蘆雅弘, 大戶英隆, 巖本啟明 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社