專利名稱:記錄媒體、再現(xiàn)裝置、記錄方法、以及再現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明是屬于同時執(zhí)行數(shù)字化后的視頻作品的再現(xiàn)和應(yīng)用程序的執(zhí)行 的再現(xiàn)控制技術(shù)的技術(shù)領(lǐng)域的發(fā)明,更深地涉及將本再現(xiàn)控制技術(shù)應(yīng)用于 記錄媒體的民用的再現(xiàn)裝置、程序中的情況下的應(yīng)用技術(shù)。
背景技術(shù):
每次進行如上所述的同時執(zhí)行時,在數(shù)字流的時間軸上怎樣定義應(yīng)用 程序的生存區(qū)間成為問題。所謂應(yīng)用程序的生存區(qū)間是指開始基于應(yīng)用程 序的服務(wù)后到終止服務(wù)的期間。若將該期間定義為如章節(jié)那樣精細的單位, 則可以輪流執(zhí)行基于各種應(yīng)用程序的服務(wù)。但是,若精細定義應(yīng)用程序的 生存區(qū)間,則來自記錄媒體的應(yīng)用程序讀出次數(shù)增加。另一方面,BD-R0M、 DVD那樣的視頻作品發(fā)布用的光盤媒體大多讀出速度慢。若基于這種慢的速 度的讀出次數(shù)增加,則對構(gòu)成視頻作品本篇的視頻流的讀出產(chǎn)生影響,運 動圖像再現(xiàn)容易中途切斷。雖說實現(xiàn)了多種服務(wù),但是在有運動圖像再現(xiàn) 的障礙這樣的同時執(zhí)行中,變?yōu)槭褂脩艉芎ε?,另外,視頻作品的制作者 敬而遠之。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種可以以精細的單位來定義應(yīng)用程序的生存區(qū) 間的記錄媒體。
上述目的通過記錄媒體來實現(xiàn),所述記錄媒體上存儲有索引表和多個 操作模式對象,其中所述索引表示出了與所述多個操作模式對象相對應(yīng)的
多個標(biāo)題,所述多個操作模式對象中的至少一個操作模式對象是在Movie 模式中使用的第一操作模式對象,而所述多個操作模式對象中的至少另一 個操作模式對象是在虛擬機中使用的第二操作模式對象,所述第一操作模 式對象包括示出控制過程的導(dǎo)航指令,所述第二操作模式對象包括高速緩 存管理信息,以及所述高速緩存管理信息包括與多個應(yīng)用程序一一對應(yīng)的 多個項,每個項是指示再現(xiàn)裝置將所述對應(yīng)的應(yīng)用程序讀取到高速緩存中 的信息,并且按順序為所述每個項分配預(yù)定的位置,分配給所述項的所述
位置具有以下功能指示所述再現(xiàn)裝置首先將與分配有最高位置的項相對
應(yīng)的應(yīng)用程序讀取到所述高速緩存中,并且隨后從與按順序具有下一最高 位置的項相對應(yīng)的應(yīng)用程序開始,將與剩余項相對應(yīng)的多個應(yīng)用程序按所 述對應(yīng)位置的降序順序連續(xù)讀取到所述高速緩存中。
由于進行以標(biāo)題為單位將應(yīng)用程序裝載到高速緩存器中、并從高速緩 存器中刪除應(yīng)用程序的處理,所以變?yōu)榭稍跇?biāo)題中使應(yīng)用程序幾次讀出到 虛擬機的狀態(tài)。由于可幾次進行向虛擬機的應(yīng)用程序讀出,所以即使以章 節(jié)這樣的精細的單位來定義應(yīng)用程序的生存區(qū)間,也可減少來自記錄媒體 的應(yīng)用程序的讀出次數(shù)。另外,由于在不需要無縫再現(xiàn)的保證的標(biāo)題分支 時進行從光盤向高速緩存器的讀出,所以可以進行可幾次執(zhí)行應(yīng)用程序的 容易地準(zhǔn)備,而不會使用戶意識到基于應(yīng)用程序讀出的中斷。
這里,若要標(biāo)準(zhǔn)化具有高速緩存器的再現(xiàn)裝置,則不好判斷該存儲器 規(guī)模為哪種程度。在考慮了這種標(biāo)準(zhǔn)化的情況下, 一般決定作為最小標(biāo)準(zhǔn) 的存儲器規(guī)模,并在所有的再現(xiàn)裝置上義務(wù)附帶該安裝。但是,若將作為 操作環(huán)境的存儲規(guī)模抑制得較小,則對于應(yīng)用程序的操作環(huán)境產(chǎn)生了重要 的制約,很可能產(chǎn)生封殺了授權(quán)承擔(dān)者側(cè)的創(chuàng)作欲望的結(jié)果。
為了維持操作保證,同時不封殺授權(quán)承擔(dān)者的創(chuàng)作欲望,因此所述高
速緩存管理信息使得首先將與分配有順序中最高位置的項相對應(yīng)的應(yīng)用 程序讀取到所述高速緩存中,并且隨后從與具有順序中下一最高位置的項 相對應(yīng)的應(yīng)用程序開始,按所述對應(yīng)位置的降序順序?qū)⑴c剩余項相對應(yīng)的 多個應(yīng)用程序連續(xù)讀取到所述高速緩存中。
可以根據(jù)再現(xiàn)裝置的存儲器規(guī)模和與各應(yīng)用程序相對應(yīng)的項的位置, 將與作為最小標(biāo)準(zhǔn)的存儲器規(guī)模對應(yīng)的應(yīng)用程序、與更大的存儲器規(guī)模的
操作環(huán)境對應(yīng)的應(yīng)用程序中的任一個裝載到再現(xiàn)裝置的存儲器中。通過該 裝載,可以提供使操作保證了最小標(biāo)準(zhǔn)下的操作、同時可以任意發(fā)揮授權(quán) 承擔(dān)者的創(chuàng)作欲望的土壤。
由于將多個應(yīng)用程序中,與存儲器規(guī)模對應(yīng)的應(yīng)用程序裝載到高速緩 存器中,所以可以根據(jù)再現(xiàn)裝置的等級,使更高質(zhì)量的應(yīng)用程序操作,標(biāo) 題制作的范圍增大。
圖1是表示本發(fā)明的再現(xiàn)裝置的使用行為方式的圖2是表示BD-ROM中的文件 目錄結(jié)構(gòu)的圖3是表示AVClip時間軸和PL時間軸的關(guān)系的圖4是表示通過4個Clip_Information_f ile_name進行的統(tǒng)一指定的
圖5是表示基于PLmark的章定義的圖6是表示SubPlayltem時間軸上的再現(xiàn)區(qū)間定義和同步指定的圖7 (a)是表示Movie對象的內(nèi)部結(jié)構(gòu)的圖7 (b)是表示BD-J對象的內(nèi)部結(jié)構(gòu)的圖7 (c)是表示Java應(yīng)用程序的內(nèi)部結(jié)構(gòu)的圖8 (a)是表示在Jave歸檔文件中容納的程序、數(shù)據(jù)的圖8 (b)是表示xlet程序的一例的圖9 (a)是表示頂端菜單、title#l、 title弁2的一系列標(biāo)題的圖; 圖9 (b)是表示PlayListftl、 PlayList#2的時間軸一致的時間軸的
圖10是表示包含主標(biāo)題、在線購物標(biāo)題、游戲標(biāo)題三個標(biāo)題的盤內(nèi)容 的圖11是表示圖10所示的三個標(biāo)題的再現(xiàn)圖像的一例的圖; 圖12 (a)是根據(jù)圖10的虛線所示的隸屬關(guān)系來將各應(yīng)用程序的生存 區(qū)間圖表化的圖12 (b)是為規(guī)定圖12 (a)的生存區(qū)間而描述的應(yīng)用程序管理表的 一例的圖13 (a)是表示啟動屬性設(shè)定的一例的圖13 (b)是表示有來自其他應(yīng)用程序的應(yīng)用程序調(diào)用而開始啟動的應(yīng) 用程序(application弁2)的圖;
圖14 (a)、 (b)是表示掛起(Suspend)為有意義的應(yīng)用程序管理表、 生存區(qū)間的一例的圖15是表示啟動屬性可取的三種形態(tài)(Persistent、AutoRun、Suspend)
和之前標(biāo)題中的應(yīng)用程序狀態(tài)的三種形態(tài)(非啟動、啟動中、掛起 (Suspend))可取的組合的圖16是表示本發(fā)明的再現(xiàn)裝置的內(nèi)部結(jié)構(gòu)的圖-,
圖17 (a)是表示在本地存儲器29上怎樣識別BD-ROM上存在的Java 應(yīng)用程序的圖17 (b)是表示圖17 (a)的應(yīng)用的圖18是將由R0M24中存儲的軟件和硬件構(gòu)成的部件置換為層結(jié)構(gòu)來描 述的圖19是將基于展示引擎31 模塊管理器34的處理的情況模式化的圖20是將基于應(yīng)用程序管理器36的處理的情況模式化的圖21是表示工作存儲器37 缺省操作管理器40的圖22是表示基于應(yīng)用程序管理器36的分支時的控制過程的圖23是表示應(yīng)用程序終止處理的處理過程的流程圖24是模式表示了應(yīng)用程序終止的過程的圖25 (a)是表示在PL時間軸上定義生存區(qū)間的應(yīng)用程序管理表的圖; 圖25 (b)是根據(jù)圖25 (a)的應(yīng)用程序管理表,來表示應(yīng)用程序的生 存區(qū)間的圖26 (a)表示基于PL時間軸設(shè)定的標(biāo)題時間軸;
圖26 (b)是表示基于主應(yīng)用程序的生存區(qū)間決定的標(biāo)題時間軸;
圖26(c)是表示基于多個應(yīng)用程序的生存區(qū)間設(shè)定的標(biāo)題時間軸的圖27是表示標(biāo)題再現(xiàn)時的應(yīng)用程序管理器36的處理過程的流程圖28 (a)是表示通過BD-ROM實現(xiàn)的菜單等級的圖28 (b)是表示用于實現(xiàn)菜單等級的MOVIE對象的圖29是將索引表和從索引表向各Movie對象的分支的情況模式化的
圖30 (a)表示如圖29 (b)那樣描述了索引表的情況下的分支;
圖30 (b)是表示非AV系標(biāo)題強制終止時的分支的圖31是表示模塊管理器34的處理過程的流程圖32是表示基于應(yīng)用程序管理器36的應(yīng)用程序強制終止的動作例的
圖33是表示基于重放控制引擎32的PL再現(xiàn)過程的流程圖34是表示角度切換、Skip Back、 Skip Next的接收過程的流程圖35是表示調(diào)用了 SkipBack、 SkipNextAPI時的處理過程的流程圖36是表示基于展示引擎31的處理過程的細節(jié)的流程圖37是表示SubPlayltem的再現(xiàn)過程的流程圖38是表示第五實施方式的應(yīng)用程序管理器36的處理過程的流程圖39是表示數(shù)據(jù)管理表的一例的圖40是表示BD-J對象假定的執(zhí)行模塊的圖41 (a)是表示本地存儲器29中的Java歸檔文件生存的生存區(qū)間的
圖41 (b)是表示為了規(guī)定圖41 (a)的Java歸檔文件生存區(qū)間而描 述的數(shù)據(jù)管理表的圖42是表示基于循環(huán)方式(carousel method)的Java歸檔文件嵌入 的圖43 (a)是表示基于交叉(interleave)方式的AVClip嵌入的圖; 圖43 (b)是表示讀入屬性的三種類型的圖; 圖44 (a)是表示數(shù)據(jù)管理表的一例的圖44 (b)是表示基于圖44 (a)的數(shù)據(jù)管理表的分配的本地存儲器29
的存儲內(nèi)容的變遷的圖45 (a)是對比表示新舊再現(xiàn)裝置中的本地存儲器29的存儲器規(guī)模 的圖45 (b)是表示設(shè)置了讀入優(yōu)先級的數(shù)據(jù)管理表的一例的圖46是表示基于應(yīng)用程序管理器36的預(yù)裝載控制的處理過程的圖47 (a)是表示規(guī)定了 applicationID相同,但是讀入優(yōu)先級彼此不
同的應(yīng)用程序的數(shù)據(jù)管理表的一例的圖47 (b)是基于圖47 (a)的數(shù)據(jù)管理表的分配的本地存儲器29的 存儲內(nèi)容的改變的圖48 (a)是表示描述為在應(yīng)預(yù)裝載的應(yīng)用程序、應(yīng)裝載的應(yīng)用程序上 添加同一 applicationID的數(shù)據(jù)管理表的一例的圖48 (b)是表示在存儲器規(guī)模小的再現(xiàn)裝置中的本地存儲器29的存
儲內(nèi)容的改變的圖48 (c)是表示在存儲器規(guī)模大的再現(xiàn)裝置中的本地存儲器29的存
儲內(nèi)容的改變的圖49是表示基于根據(jù)數(shù)據(jù)管理表的應(yīng)用程序管理器36的裝載處理的 處理過程的圖50是表示基于當(dāng)前的再現(xiàn)時刻到達應(yīng)用程序q的生存區(qū)間的情況下 的應(yīng)用程序管理器36的處理過程的圖51是將怎樣進行基于Java虛擬機38的應(yīng)用程序的讀入的情況模式 化的圖52 (a)是表示第七實施方式的BD-J對象的內(nèi)部結(jié)構(gòu)的圖; 圖52 (b)是表示播放列表管理表的一例的圖52 (c )是表示在分支目標(biāo)標(biāo)題的播放列表管理表中,存在再現(xiàn)屬 性設(shè)定為AutoPlay的PL的情況下,再現(xiàn)裝置進行怎樣的處理的圖53 (a)是表示設(shè)定為再現(xiàn)屬性表示非自動再現(xiàn)的情況下的非AV系 標(biāo)題中的標(biāo)題時間軸的圖53 (b)是表示再現(xiàn)屬性設(shè)定為AutoPlay的非AV系標(biāo)題的標(biāo)題時間 軸的圖53(c)是表示在播放列表管理表中設(shè)定為再現(xiàn)屬性表示"AutoPlay",
應(yīng)用程序強制終止的情況的圖53(d)是表示在播放列表管理表中設(shè)定為再現(xiàn)屬性表示"AutoPlay",
主應(yīng)用程序的啟動失敗的情況的圖54是表示第七實施方式的應(yīng)用程序管理器36的處理過程的圖; 圖55是表示將通過播放列表管理表中設(shè)定為"再現(xiàn)屬性二AutoPlay"
而進行怎樣的再現(xiàn)的情況模式化的圖56 (a)、 (b)是表示應(yīng)用程序的處理和啟動屬性的關(guān)系的圖; 圖57是將怎樣進行基于第八實施方式的Java虛擬機38的應(yīng)用程序的 讀入的情況模式化的圖58 (a)、 (b)是表示第九實施方式的讀入優(yōu)先級的一例的圖59 (a)是表示添加了組屬性的數(shù)據(jù)管理表的圖59 (b)是表示對于基于應(yīng)用程序管理表的本地存儲器29的訪問的
圖60是表示應(yīng)用程序管理表的分配單位的變化的圖。
具體實施例方式
(第一實施方式)
下面,說明本發(fā)明的再現(xiàn)裝置的實施方式。首先,開始說明本發(fā)明的 再現(xiàn)裝置的實施方式中,使用行為方式。圖1是表示本發(fā)明的再現(xiàn)裝置的 使用行為方式。圖1中,本發(fā)明的再現(xiàn)裝置是再現(xiàn)裝置200,與電視機300、 遙控器400共同形成家庭影院系統(tǒng)。
該BD-ROM100用于向由再現(xiàn)裝置200、遙控器300、電視機400形成 的家庭影院系統(tǒng)供給視頻作品。
以上是本發(fā)明的再現(xiàn)裝置的使用方式的說明。
接著,說明作為本發(fā)明的再現(xiàn)裝置的再現(xiàn)對象的記錄媒體BD-ROM。 通過BD-ROM,向家庭影院系統(tǒng)供給的盤內(nèi)容由彼此可分支的多個標(biāo)題構(gòu) 成。各標(biāo)題由一個以上的播放列表和使用該播放列表的動態(tài)控制過程構(gòu)成。
所謂播放列表是指由一個以上的數(shù)字流和該數(shù)字流中的再現(xiàn)路徑構(gòu) 成,是具有"時間軸"的概念的BD-ROM上的訪問單位。由于包含以上的
播放列表和動態(tài)控制過程,所以標(biāo)題兼有數(shù)字流特有的時間軸的概念和計 算機程序的性質(zhì)。
圖2是表示BD-ROM中的文件'目錄結(jié)構(gòu)的圖。該圖中,BD-ROM在 根目錄下有BDMV目錄。
BDMV目錄中有添加了擴展符bdmv的文件(index.bdmv , MovieObject.bdmv )、和添加了擴展符BD-J的文件(00001 .BD-J , 00002.BD-J, 00003.BD-J)。并且,在該BDMV目錄下進一步存在稱作PLAYLIST目錄、
CLIPINF目錄、STREAM目錄、BDAR目錄的4個子目錄。
PLAYLIST目錄中有添加了擴展符mpls的文件(00001.mpls,
00002. mpls, 00003 .mpls)。
CLIPINF目錄中有添加了擴展符clpi的文件(00001. clpi, 00002. clpi,
00003. clpi)。
STREAM目錄中有添加了擴展符m2ts的文件(00001. m2ts, 00002. m2ts, 00003. m2ts)。
BDAR目錄中有添加了擴展符jar的文件(00001. jar, 00002. jar, 00003.
jar)。可以看出通過以上的目錄結(jié)構(gòu),在BD-ROM上配置了彼此不同類別 的多個文件。
該圖中添加了擴展符m2ts的文件(00001. m2ts, 00002. m2ts, 00003. m2ts…)存儲有AVClip。 AVClip有MainClip、 SubClip的類別。MainClip 是通過對視頻流、音頻流、展示圖形流、交互圖形流這樣的多個元素流進 行多路復(fù)用來得到的數(shù)字流。
SubClip是音頻流、圖形流、文本字幕流等相當(dāng)于僅一個元素流時的數(shù) 字流。
添加了擴展符"clpi"的文件(00001. clpi, 00002. clpi, 00003. clpi…) 是分別一一對應(yīng)于AVClip的管理信息。由于是管理信息,所以Clip信息具 有AVClip中的流的編碼形式、幀頻、比特率、分辨率等信息和表示提示(cue) 位置位置的EP—map。
添加了擴展符"mpls"的文件(00001.mpls, 00002.mpls, 00003.mpls…) 是存儲播放列表信息的文件。播放列表信息是參考AVClip來定義播放列表 的信息。播放列表由MainPath信息、PLMark信息、SubPath信息構(gòu)成。
MainPath信息由多個Playltem信息構(gòu)成。所謂Playltem是指在一個以 上的AVClip時間軸上,通過指定InJTime, Out一Time來定義的再現(xiàn)區(qū)間。 通過配置多個Playltem信息,來定義由多個再現(xiàn)區(qū)間構(gòu)成的播放列表(PL)。 圖3是表示AVClip和PL的關(guān)系的圖。第一級表示AVClip具有的時間軸, 第二級表示PL具有的時間軸。PL信息包含Playltem弁l、 #2、 #3三個 Playltem信息,通過這些Playltem# 1 、 #2、 #3的In—Time, Out—Time來 定義三個再現(xiàn)區(qū)間。若排列這些再現(xiàn)區(qū)間,則定義了與AVClip時間軸不同
的時間軸。其是第二級表示的PL時間軸。這樣,通過Playltem信息的定義, 可以進行與AVClip不同的時間軸的定義。
對于AVClip的指定原則上是一個,但是也可對多個AVClip統(tǒng)一指定。 該統(tǒng)一指定通過Playltem信息中的多個Clip—Information—file—name來進行。 圖4是表示通過4個Clip—Information—file_name來進行的統(tǒng)一指定的圖。 該圖中,第一級 第四級表示4個AVClip時間軸(AVClip#l、 #2、 #3、 #4的時間軸),第五級表示PL時間軸。通過Playltem信息具有的4個 Clip—Information—file—name來指定這四個時間軸。由此,通過Playltem具有 的ln—Time、 Out—Time,來定義可擇一再現(xiàn)的4個再現(xiàn)區(qū)間。由此,在PL 時間軸上定義了由可切換的多個角度視頻構(gòu)成的區(qū)間(所謂的多角度區(qū) 間)。
PLmark信息是PL時間軸上將任意的區(qū)間指定為章節(jié)的信息。圖5是 表示基于PLmark的章節(jié)定義的圖。該圖中,第一級表示AVClip時間軸, 第二級表示PL時間軸。圖中的箭頭pkl、 2表示PLmark中的Playltem指 定(ref—to_PlayItem_Id)和一個時刻的指定(mark—time一stamp)。通過這些 指定在PL時間軸上定義了三個章節(jié)(Chapter弁l、 #2、 #3)。
SubPath信息由多個SubPlayltem信息構(gòu)成。SubPlayltem信息通過在 SubClip的時間軸上指定In—Time、 Out—Time來定義再現(xiàn)區(qū)間。另外, SubPlayltem信息可以進行使SubClip時間軸上的再現(xiàn)區(qū)間與PL時間軸同步 的同步指定,通過該同步指定,來使PL時間軸和SubPlayltem信息時間軸 同步行進。圖6是表示SubPlayltem時間軸上的再現(xiàn)區(qū)間定義和同步指定的 圖。該圖中,第一級表示PL時間軸,第二級表示SubPlayltem時間軸。分 別是圖中的 SubPlayItem.IN—time表示再現(xiàn)區(qū)間的始點, SubPlayltem.Out—time表示再現(xiàn)區(qū)間的終點。由此,可以看出在SubCLip時 間軸上也定義了再現(xiàn)區(qū)間。箭頭Snl中Sync—Playltem—Id表示對于Playltem 的同步指定,箭頭Sn2中sync—start_PTS_of—Playltem表示PL時間軸中的 Playltem上的一時刻的指定。
可對可切換多個AVClip的多角度區(qū)間、和使AVClip—SubClip同步的 同步區(qū)間進行定義,這是BD-ROM中的播放列表信息的特征。將以上的 Clip信息和播放信息分類為"靜態(tài)腳本(scenario)"。這是因為通過以上的
Clip信息和播放列表信息,定義了作為靜態(tài)再現(xiàn)單位的PL。以上,結(jié)束對
靜態(tài)腳本的說明。
接著,說明"動態(tài)腳本"。所謂動態(tài)腳本是指動態(tài)規(guī)定AVClip的再現(xiàn) 控制的腳本數(shù)據(jù)。所謂"動態(tài)"是指通過再現(xiàn)裝置的狀態(tài)變化和來自用戶 的鍵事件再現(xiàn)控制的內(nèi)容變化。BD-ROM中,作為該再現(xiàn)控制的動作環(huán)境 假定了兩個模式。第一個是與DVD再現(xiàn)裝置的動作環(huán)境極其類似的動作環(huán) 境,是指令庫的執(zhí)行環(huán)境。第二個是Java虛擬機的動作環(huán)境。這兩個動作 環(huán)境中的第一個稱作HDMV模式,第二個稱作BD-J模式。由于有這兩個 動作環(huán)境,所以假定其中一個動作環(huán)境來描述動態(tài)腳本。將假定了 HDMV 模式的動態(tài)腳本稱作Movie對象,通過管理信息來進行定義。另一方面, 將假定了 BD-J模式的動態(tài)腳本稱作BD-J對象。
首先,開始說明Movie對象。
〈Movic對象>
Movie對象是"標(biāo)題"的構(gòu)成要素,存儲在文件MovieObject.bdmv中。 圖7 (a)是表示Movie對象的內(nèi)部結(jié)構(gòu)的圖。Movie對象由包括屬性信息、 多個導(dǎo)航指令的指令串構(gòu)成。
屬性信息包括在PL時間軸中,進行了 MenuCall (調(diào)用菜單)時, 表示是否想要MenuCall后的再現(xiàn)重新開始的信息(resume—intention—flag); 在PL時間軸上表示是否屏蔽了 MenuCall的信息(menu—call—mask);和表 示是否屏蔽了標(biāo)題搜索的信息(title—search—flag)。 Movie對象可以兼有"時 間軸"+ "程序控制"兩個性質(zhì),從而通過該Movie對象來描述執(zhí)行主再 現(xiàn)的標(biāo)題等多種標(biāo)題。
導(dǎo)航指令串由實現(xiàn)條件分支、再現(xiàn)裝置中的狀態(tài)寄存器的設(shè)定、狀態(tài) 寄存器的設(shè)定值取得等的指令串構(gòu)成。下面表示可在Movie對象中描述的 指令。
PlayPL指令
格式PlayPL (第一自變量,第二自變量)
第一自變量是播放列表的號,可指定應(yīng)再現(xiàn)的PL。第二自變量可以使 用該PL中包含的Playltem和該PL中的任意的時刻、Chapter、 Mark來指
定再現(xiàn)開始位置。
將用Playltem指定PL時間軸上的再現(xiàn)開始位置的PlayPL函數(shù)稱作 PlayPLatPlayltem ();
將用Chapter指定PL時間軸上的再現(xiàn)開始位置的PlayPL函數(shù)稱作 PlayPLatChapter ();
將用時間信息指定PL時間軸上的再現(xiàn)開始位置的PlayPL函數(shù)稱作 PlayPLatSpecified Time ()。
JMP指令
格式JMP自變量
JMP指令是在中途丟棄(discard)現(xiàn)在的動態(tài)腳本,執(zhí)行作為自變量 的分支目標(biāo)動態(tài)腳本的分支。JMP指令的形式有直接指定分支目標(biāo)動態(tài)腳 本的直接參考形式和間接指定分支目標(biāo)動態(tài)腳本的間接參考形式。
由于Movie對象中的導(dǎo)航指令的描述與DVD中的導(dǎo)航指令的描述方式 極其相似,所以可以高效進行將DVD上的盤內(nèi)容移植到BD-ROM上的操 作。對于Movie對象,存在有在下面的國際公開公報中記載的在先的技術(shù)。 對于細節(jié),要參考該國際公開公報。
國際公開公報WO2004/074976
終止以上對Movie對象的說明。接著說明BD-J對象。 <BD-J對象>
添加了擴展符BD-J的文件(OOOOl.BD-J、 00002.BD-J、 00003.BD-J) 構(gòu)成BD-J對象。BD-J對象是在Java編程環(huán)境下描述的BD-J模式的動態(tài)腳 本。圖7 (b)是表示BD-J對象的內(nèi)部結(jié)構(gòu)的圖。如該圖所示,BD-J對象 由與Movie對象同樣的屬性信息、應(yīng)用程序管理表構(gòu)成。在具有屬性信息 方面,BD-J對象與Movie對象大致相同。與Movie對象不同的是BD-J對 象沒有直接描述指令。即,在Movie對象中,控制過程由導(dǎo)航指令來直接 描述。與此相對,BD-J對象中,通過在應(yīng)用程序管理表上定義以該標(biāo)題為 生存區(qū)間的Java應(yīng)用程序,來間接規(guī)定控制過程。通過這種間接的規(guī)定, 可以高效進行在多個標(biāo)題中使控制過程公共的控制過程的公共化。
圖7 (c)是表示Java應(yīng)用程序的內(nèi)部結(jié)構(gòu)的圖。該圖中,應(yīng)用程序由 在虛擬機的堆(heap)區(qū)域(還稱作工作存儲器)上裝載的一個以上的xlet 程序構(gòu)成。在該工作存儲器中, 一個以上的線程動作,由在工作存儲器上
裝載的xlet程序和線程構(gòu)成應(yīng)用程序。以上是應(yīng)用程序的構(gòu)成。
相當(dāng)于該應(yīng)用程序的實體的是在BDMV目錄下的BDAR目錄上存儲的 Java歸檔(archive)文件(00001.jar、 00002.jar)。下面,說明Java歸檔文件。
Java歸檔文件(OOOOljar、 00002.jar)是存儲了構(gòu)成Java應(yīng)用程序的 程序和數(shù)據(jù)的Java歸檔文件。圖8 (a)是表示由歸檔文件容納的程序、數(shù) 據(jù)的圖。該圖中的數(shù)據(jù)通過Java歸檔來整理配置了框內(nèi)所示的目錄結(jié)構(gòu)的 多個文件??騼?nèi)所示的目錄結(jié)構(gòu)由root目錄、Java目錄、image目錄構(gòu)成。 在root目錄上酉己置common.pkg,在java目錄上酉己置aaa.class、 bbb.class, 在image目錄上配置menu.jpg。 Java歸檔文件通過Java歸檔來整理這些而 得到。這些數(shù)據(jù)在每次從BD-ROM向高速緩存器中讀出時解壓,在高速緩 存器上,作為在目錄上配置的多個文件進行處理。Java歸檔文件的文件名 中的"xxxxx"的5位數(shù)值表示應(yīng)用程序的ID (applications )。在將本Java 歸檔文件向高速緩存器讀出時,通過參考該文件名中的數(shù)值,可以取出構(gòu) 成任意的Java應(yīng)用程序的程序、數(shù)據(jù)。
Java歸檔文件中歸納為一個的文件中有xlet程序。
Xlet程序是可利用JMF (Java Media Frame Work)接口的Java程序。 Xlet程序由接收鍵事件的EventListner等多個函數(shù)構(gòu)成,根據(jù)JMF等的方 式,來進行基于所接收的鍵事件的處理。
圖8 (b)是表示xlet程序的一例的圖。JMF A "BD:〃00001.mpls"是 向Java虛擬機命令再現(xiàn)PL的播放器實例(player instance)的生成的方法。 A.play是向JMF播放器實例命令再現(xiàn)的方法。該JMF播放器實例生成是基 于JMF庫(library)進行。Xlet程序的描述并不限于BD-ROM的PL,是可 適用于具有時間軸的內(nèi)容整體的JMF的描述。由于可以進行這種描述,所 以可以督促擅長Java編程的軟件進行BD-J對象的生成。
圖8 (b)中的JumpTitle ()是應(yīng)用程序API的調(diào)用。該應(yīng)用程序API 向再現(xiàn)裝置命令向其他標(biāo)題的分支(圖中是title#l )。這里所謂應(yīng)用程序API 是指通過BD-ROM再現(xiàn)裝置供給的API (Appliation Interface)。除了 JumpTitle指令之夕卜,通過應(yīng)用程序API的調(diào)用,可以將BD-ROM再現(xiàn)裝置 特有的處理描述在xlet程序中。
BD-J模式中,PL再現(xiàn)通過JMF接口來規(guī)定。由該JMF播放器實例規(guī) 定了 PL時間軸,所以標(biāo)題時間軸由具有JMF播放器實例的標(biāo)題來規(guī)定。 另外,BD-J模式中通過JumpTitleAPI的調(diào)用來規(guī)定從標(biāo)題向標(biāo)題的分支。 由于JumpTMeAPI調(diào)用可以說是規(guī)定標(biāo)題的終止時刻的調(diào)用,所以具有這 樣的JMF播放器實例、JumpTitleAPI調(diào)用的應(yīng)用程序在BD-J模式中規(guī)定標(biāo) 題的開始和終止。將該應(yīng)用程序稱作主再現(xiàn)應(yīng)用程序。
以上是對BD-J模式下的動態(tài)腳本的說明。通過該BD-J模式中的動態(tài) 腳本,定義了兼有PL再現(xiàn)和程序控制的標(biāo)題。另外,在本實施方式中,將 構(gòu)成應(yīng)用程序的程序、數(shù)據(jù)整理為Java歸檔文件,但是也可以是LZH文件、 zip文件。
<標(biāo)題時間軸>
結(jié)束了對構(gòu)成標(biāo)題的靜態(tài)腳本、動態(tài)腳本的說明后,說明通過這些來 定義怎樣的時間軸。將用標(biāo)題定義的時間軸稱作"標(biāo)題時間軸"。所謂標(biāo)題 時間軸是由通過Movie對象或BD-J對象命令再現(xiàn)的PL構(gòu)成。這里舉出一 例的是如圖9 (a)這樣的標(biāo)題。該標(biāo)題是頂部菜單一title#l—title#2—頂部 菜單、頂部菜單一title#3—頂部菜單的一系列的標(biāo)題。這些標(biāo)題中,若title#l 命令PlayListtfl 、 PlayList#2的再現(xiàn),title#2命令PlayList#3的再現(xiàn),title#3 指令PlayList弁4的再現(xiàn),則如圖9 (b)那樣,title#l具有將PlayList弁l 、 PlayLis祐2的時間軸相加的時間軸。同樣,title#2具有由PlayList#3時間軸 構(gòu)成的時間軸,PlayLis說3具有由PlayLis估4時間軸構(gòu)成的時間軸。在這些 標(biāo)題時間軸的PL時間軸上保證了無縫再現(xiàn),但是在標(biāo)題時間軸間不需要保 證無縫再現(xiàn)。每次Java應(yīng)用程序動作時,必需將可以在虛擬機的工作存儲 器上存在Java應(yīng)用程序的期間(服務(wù)期間)定義在這樣的標(biāo)題時間軸上。 在BD-J模式中,每次Java應(yīng)用程序動作時,必需在彼此互相分支的時間軸 上定義Java應(yīng)用程序的服務(wù)期間。該服務(wù)期間的定義是每次進行面向BD-J 的編程時的注意點。
最后,說明index.bdmv中所存儲的IndexTabel 。 IndexTable是使標(biāo)題號、 Movie對象、BD-J對象對應(yīng)的表,是在從動態(tài)腳本向動態(tài)腳本分支時所參 考的間接參考用表。IndexTable由分別對多個標(biāo)簽的Index構(gòu)成。各Index 描述了對應(yīng)于該標(biāo)簽的動態(tài)腳本的識別符。通過參考這種IndexTable,可以
實現(xiàn)分支,而不用嚴格區(qū)分Movie對象、BD-J對象的不同。對于IndexTable
其細節(jié)記載在下面的國際公開公報中。對于細節(jié)要參考該公報。 國際公開公報WO2004/025651A1公報 以上是對BD-ROM上記錄的文件的說明。 <應(yīng)用程序管理表>
具有JMF播放器實例、JumpTitleAPI調(diào)用的應(yīng)用程序規(guī)定標(biāo)題時間軸 的情況如上那樣,但是在標(biāo)題時間軸上使不具有JMF播放器實例、 JumpTitleAPI調(diào)用的其他應(yīng)用程序動作的情況下,明確規(guī)定從時間軸的何處 開始基于應(yīng)用程序的服務(wù),在時間軸的何處終止基于應(yīng)用程序的服務(wù)的"服 務(wù)開始點 終止點"很重要。在本實施方式中,將開始基于應(yīng)用程序的服 務(wù)后到終止定義為"應(yīng)用程序的生存"。用于定義應(yīng)用程序的生存的信息存 在于BD-J對象的應(yīng)用程序管理表中。之后更詳細地說明應(yīng)用程序管理表。
應(yīng)用程序管理表(AMT)是在各標(biāo)題具有的標(biāo)題時間軸中,表示在虛 擬機的工作存儲器上可生存的應(yīng)用程序的信息。所謂工作存儲器中的生存 是指可向工作存儲器讀出構(gòu)成該應(yīng)用程序的xlet程序,并進行基于虛擬機 的執(zhí)行的狀態(tài)。圖7 (b)中的虛線箭頭atl展開(closeiip)表示應(yīng)用程序 管理表的內(nèi)部結(jié)構(gòu)。如該內(nèi)部結(jié)構(gòu)所示,應(yīng)用程序管理表由"生存區(qū)間"、 表示將該標(biāo)題作為生存區(qū)間的應(yīng)用程序的"applicatkmID"和該應(yīng)用程序的 "啟動屬性"構(gòu)成。
在不久的將來,將要實施的盤內(nèi)容選作題材,而摻雜具體例來說明應(yīng) 用程序管理表中的生存區(qū)間描述。這里作為題材的盤內(nèi)容包含構(gòu)成主視頻 的主標(biāo)題(title#l)、構(gòu)成在線購物的在線購物標(biāo)題(title#2)、構(gòu)成游戲應(yīng) 用程序的游戲標(biāo)題(title#3)這三個特性不同的標(biāo)題。圖10表示包含主標(biāo) 題、在線購物標(biāo)題、游戲標(biāo)題三個標(biāo)題的盤內(nèi)容的圖。在該圖中的右側(cè)描 述了 IndexTable,左側(cè)描述了三個標(biāo)題。
右側(cè)的虛線框表示各應(yīng)用程序?qū)儆谀膫€標(biāo)題的隸屬關(guān)系。三個標(biāo)題中, title#l由application^ 1、 application弁2、 application#3三個應(yīng)用程序構(gòu)成。 title#2包含application弁3 、 application # 4兩個應(yīng)用程序,title#3包含 applicationtt5。圖11是表示圖IO所示的三個標(biāo)題的再現(xiàn)圖像的一例的圖。 在這三個標(biāo)題的再現(xiàn)圖像中,在圖11 (a)、 (b)的主標(biāo)題、在線購物標(biāo)題
上存在以購物車為基礎(chǔ)的影像(車crl) 1,在圖11 (c)的游戲標(biāo)題上不 存在車影像。由于車crl需要在主標(biāo)題、在線購物標(biāo)題中公共顯示,所以 在title弁l、 title#2兩者中啟動作為車應(yīng)用程序的application弁3。這種多個標(biāo) 題中啟動的應(yīng)用程序上除了上述的車應(yīng)用程序之外,還有根據(jù)模仿視頻作 品中出現(xiàn)的MASCOT (自動過程計算機操作測試)的代理應(yīng)用程序、菜單 調(diào)用操作來進行菜單顯示的菜單應(yīng)用程序。
若根據(jù)圖10的虛線所示的隸屬關(guān)系來將各應(yīng)用程序的生存區(qū)間圖表 化,則變?yōu)槿鐖D12 (a)。該圖中,橫軸表示標(biāo)題時間軸,縱軸方向上配置 了各應(yīng)用程序的生存區(qū)間。這里由于applications 1、 application#2僅屬于 title#l ,所以這些生存區(qū)間留在title#l內(nèi)。由于application#4僅屬于title#2, 所以其生存區(qū)間僅留在tit1^2內(nèi)。由于application#5僅屬于titleW,所以 其生存區(qū)間僅留在title弁3內(nèi)。由于application弁3屬于title弁l、 title#2,所以 其生存區(qū)間經(jīng)過title^—title弁2。若根據(jù)該生存區(qū)間,來描述應(yīng)用程序管理 表,則titMl, #2, #3的應(yīng)用程序管理表變?yōu)槿鐖D12 (b)所示。若這樣來 描述應(yīng)用程序管理表,則在title#l的再現(xiàn)開始時,將application# 1 、 application#2、 application弁3裝載在工作存儲器中。并且,在title#2開始 時,進行從工作存儲器中刪除application # 1 、 application # 2 ,僅設(shè)為 application#3的控制。與此相同,在title#2的開始時,進行將application#4 裝載在工作存儲器中,在title#3的開始時,進行從工作存儲器中刪除 application # 3 、 application # 4的控審U 。
進一步,進行在title弁3的再現(xiàn)中,將application井5裝載在工作存儲器 中,并在title弁3的再現(xiàn)終止時,從工作存儲器中刪除application弁5的控制。
由于在有標(biāo)題間分支的情況下,將在分支源一分支目標(biāo)中生存的應(yīng)用 程序存儲在工作存儲器上,將僅在分支目標(biāo)而不在分支源存在的應(yīng)用程序 讀入到工作存儲器中就可以,所以將應(yīng)用程序讀入到工作存儲器的次數(shù)為 必要最低次數(shù)。這樣,通過減小讀入次數(shù),可以實現(xiàn)不會意識到標(biāo)題的邊 界的應(yīng)用程序,B口,無邊際的應(yīng)用程序。
接著說明應(yīng)用程序的啟動屬性。啟動屬性有表示自動的啟動的 "AutoRim"、表示不是自動啟動的對象,但是也可放在虛擬機的工作存儲 器上的"Persistent"、雖然放在虛擬機的工作存儲器上,但是不能進行CPU功率的分配的"Suspend"。
"AutoRun"是與對應(yīng)的標(biāo)題的分支一起將該應(yīng)用程序讀入到工作存儲 器中,且表示執(zhí)行的內(nèi)容的生存區(qū)間。若存在從某個標(biāo)題向其他標(biāo)題的分 支,則進行應(yīng)用程序管理的管理主體(應(yīng)用程序管理器)將在該分支目標(biāo) 標(biāo)題中生存,且啟動屬性設(shè)定為AutoRim的應(yīng)用程序向虛擬機的工作存儲 器的讀入來進行執(zhí)行。由此,該應(yīng)用程序與標(biāo)題分支一起來自動啟動。作 為將啟動屬性設(shè)定為AutoRun的應(yīng)用程序,可舉出具有JMF播放器實例和 JumpTitleAPI調(diào)用這樣的應(yīng)用程序。這是因為這種應(yīng)用程序是規(guī)定標(biāo)題時間 軸側(cè)的應(yīng)用程序,若不自動啟動這種應(yīng)用程序,標(biāo)題時間軸的概念不清。
啟動屬性"Persisten"是繼續(xù)屬性,表示繼續(xù)分支源標(biāo)題中的應(yīng)用程序 的狀態(tài)。另外,是表示也可裝載在工作存儲器中的屬性。在啟動屬性是 "Persistent"的情況下,添加了該啟動屬性的應(yīng)用程序允許來自其他應(yīng)用程 序的調(diào)用。進行應(yīng)用程序管理的管理主體(應(yīng)用程序管理器)若從啟動中 的應(yīng)用程序有調(diào)用,則將該應(yīng)用程序的applicationID描述在應(yīng)用程序管理 表中,并判斷啟動屬性是否是"Persistent"。若是"Persistent",則將該應(yīng)用 程序裝載在工作存儲器中。另一方面,在沒有將該調(diào)用目標(biāo)應(yīng)用程序的 applicationID描述在應(yīng)用程序管理表上的情況下,不將該應(yīng)用程序裝載在工 作存儲器中?;趹?yīng)用程序的調(diào)用限于添加了該"Persistent"的應(yīng)用程序。
由于"Persistent"是沒有明示指定啟動屬性的情況下所添加的缺省的啟 動屬性,所以在某個應(yīng)用程序的啟動屬性是無指定"一一"的情況下,是 指該應(yīng)用程序的啟動屬性是該Persistent。
說明這些啟動屬性在圖11的應(yīng)用程序中怎樣描述。圖13是對于圖12 的三個應(yīng)用程序的啟動屬性的設(shè)定例。圖12所示的三個應(yīng)用程序中 application^如圖13 (b)所示,設(shè)為有來自其他應(yīng)用程序的應(yīng)用程序調(diào)用、 并開始啟動的應(yīng)用程序。與其余的applications 1、 application^是與title #1的開始同時自動啟動的應(yīng)用程序。這時,如圖13 (a)所示,將應(yīng)用程 序管理表中的各應(yīng)用程序的啟動屬性application#l、 application#3設(shè)作 "AutoRun",將application#2設(shè)作"Persistent"。這時,application# 1 、 application#3在向title井l的分支時自動裝載在工作存儲器中來執(zhí)行。另一 方面,由于application井2的啟動屬性是"Persistent",所以解釋為"application
#3是可裝載在虛擬機的工作存儲器上的應(yīng)用程序"的消極含義。因此, application井2在有來自application井l的調(diào)用時才裝載在虛擬機的工作存儲 器上并執(zhí)行。通過以上的生存區(qū)間*啟動屬性,將可在虛擬機上動作的應(yīng) 用程序的數(shù)目限制為4個以下,可以將總線程數(shù)限制為64個以下,所以可 以保證應(yīng)用程序的穩(wěn)定動作。 接著,說明Suspend。
所謂Suspend是指在分配了資源,但是沒有分配CPU功率的狀態(tài)下放 置應(yīng)用程序的情況。該Suspend對例如在游戲標(biāo)題的執(zhí)行中,經(jīng)過旁路(side pass)的處理有意義。圖14 (a) (b)是表示Suspend有意義的事例的圖。 如圖14 (b)所示,有三個標(biāo)題(title#l、 title#2、 title#3),其中title#l、 title#3 執(zhí)行游戲應(yīng)用程序,但是中間的title#2是旁路,用來實現(xiàn)視頻再現(xiàn)。在旁 路中,由于需要實現(xiàn)視頻再現(xiàn),所以使游戲的執(zhí)行中斷。由于在游戲應(yīng)用 程序中計數(shù)了過程中的分數(shù)等,所以要在titled的前后維持資源的存儲植。 這時,描述應(yīng)用程序管理表,使其在titl^2的開始時刻掛起游戲應(yīng)用程序, 在title#3的開始時刻重新開始application弁2。由此,由于在title#2中, application弁2分配了資源,所以維持了資源的存儲植。但是,由于是沒有 分配CPU功率的狀態(tài),所以不會通過虛擬機來執(zhí)行application弁2。由此, 在游戲標(biāo)題的執(zhí)行中,實現(xiàn)了執(zhí)行旁路的處理。
圖15是表示啟動屬性可取的三種形態(tài)(Persistent、 AutoRun、 Suspend) 和最近前面的標(biāo)題中的應(yīng)用程序狀態(tài)的三種形態(tài)(非啟動、啟動中、Suspend) 可取的組合的圖。在最近前面狀態(tài)是"非啟動"的情況下,若啟動屬性是 "AutoRun",則在分支目標(biāo)標(biāo)題中,啟動該應(yīng)用程序。
若最近前面狀態(tài)是"非啟動",啟動屬性為"Persistent"、 "Suspend", 則分支目標(biāo)標(biāo)題中,其應(yīng)用程序什么都不做,繼續(xù)狀態(tài)。
在最近前面狀態(tài)是"啟動中"的情況下,若啟動屬性為"Persistent"、 "Suspend",則分支目標(biāo)標(biāo)題中,其應(yīng)用程序什么都不做,繼續(xù)狀態(tài)。
若啟動屬性為"Suspend",則應(yīng)用程序的狀態(tài)為掛起。在最近前面狀態(tài) 為"Suspend"的情況下,若分支目標(biāo)標(biāo)題的啟動屬性是"Suspend",則維 持掛起。若為"Persistent"、 "AutoRim",則在分支目標(biāo)標(biāo)題中,重新開始 該應(yīng)用程序。通過在應(yīng)用程序管理表中定義生存期間和啟動屬性,沿著標(biāo)
題時間軸的行進,可以進行使Java應(yīng)用程序動作的同步控制,可以特別送 出伴隨視頻再現(xiàn)、應(yīng)用程序執(zhí)行的各種應(yīng)用程序。以上是對于記錄媒體的 說明。接著說明本發(fā)明的再現(xiàn)裝置。
圖16是表示本發(fā)明的再現(xiàn)裝置的內(nèi)部結(jié)構(gòu)的圖。本發(fā)明的再現(xiàn)裝置根 據(jù)該圖所示的內(nèi)部結(jié)構(gòu)來進行工業(yè)生產(chǎn)。本發(fā)明的再現(xiàn)裝置主要由系統(tǒng)LSI
和驅(qū)動裝置的兩個部件構(gòu)成,通過將這些部件安裝在裝置的殼體和基板上 來可進行工業(yè)生產(chǎn)。系統(tǒng)LSI是集成了實現(xiàn)再現(xiàn)裝置的功能的各種處理部 的集成電路。這樣生產(chǎn)的再現(xiàn)裝置由BD-ROM驅(qū)動器1、讀緩存器2、多 路分配器3、視頻譯碼器4、視頻平面5、 P—Gmphics譯碼器9、展示圖形 平面IO、合成部ll、字體生成器12、 I—Graphics譯碼器13、開關(guān)14、交 互圖形平面15、合成部16、 HDD17、讀緩存器18、多路分配器19、音頻 譯碼器20、腳本(scenario)存儲器21、 CPU22、鍵事件處理部23、指令 ROM24、開關(guān)25、 CLUT部26、 PSR組28、本地存儲器29構(gòu)成。
BD-ROM驅(qū)動器1進行BD-ROM的裝載/注入,執(zhí)行對于BD-ROM的 訪問。
讀緩存器2是FIFO存儲器,以先入先出方式存儲從BD-ROM中讀出 的TS包。
多路分配器(De—MUX) 3從讀緩存器2中取出TS包,并將構(gòu)成該 TS包的TS包轉(zhuǎn)換為PES包。并且,將通過轉(zhuǎn)換得到的PES包中具有由 CPU22設(shè)定的PID的包輸出到視頻譯碼器4、音頻譯碼器20、 P—Graphics 譯碼器9和I一Graphics譯碼器13中之一。
視頻譯碼器4解碼從多路分配器3輸出的多個PES包后得到非壓縮形 式的圖像,并寫入到視頻平面5上。
視頻平面5是用于存儲非壓縮形式的圖像的平面。所謂平面是指在再 現(xiàn)裝置中存儲一個畫面的象素數(shù)據(jù)用的存儲器區(qū)域。在再現(xiàn)裝置上設(shè)置多 個平面,按每個象素來相加這些平面的存儲內(nèi)容,進行視頻輸出時,可以 在合成多個視頻內(nèi)容之后,進行視頻輸出。視頻平面5中的分辨率為1920 X1080,在該視頻平面5上存儲的圖像數(shù)據(jù)由以16比特的YUV值表現(xiàn)的 象素數(shù)據(jù)構(gòu)成。
P—Graphics譯碼器9對從BD-ROM、 HDD17中讀出的展示圖形流進
行譯碼,并將非壓縮圖形寫入到展示圖形平面10中。通過圖形流的譯碼,
在畫面上表現(xiàn)字幕。
展示圖形平面io是具有一個畫面的區(qū)域的存儲器,可以存儲一個畫面
的非壓縮圖形。本平面的分辨率是1920X1080,展示圖形平面IO中的非壓 縮圖形的各象素用8比特的索引彩色來表示。通過使用CLUT(Color Lookup Table)來轉(zhuǎn)換該索引彩色,來將在展示圖形平面10中存儲的非壓縮圖形供
給顯示。
合成部11將非壓縮狀態(tài)的圖像數(shù)據(jù)(i)與展示圖形平面10的存儲內(nèi) 容合成。
字體生成器12使用文字字體,將textST流中包含的文本碼展開為位圖。
I一Graphics譯碼器13對從BD-ROM或HDD 17中讀出的交互圖形流進 行譯碼,并將非壓縮圖形寫入到交互圖形平面15上。
幵關(guān)14是將字體生成器12生成的字體串、通過P—Graphics譯碼器9 的譯碼得到的圖形中的某一個有選擇地寫入到展示圖形平面10的開關(guān)。
交互圖形平面15寫入基于I一Graphics譯碼器13進行的譯碼得到的非 壓縮圖形。
合成部16合成交互圖形平面10的存儲內(nèi)容和作為合成部8的輸出的 合成圖像(合成了非壓縮狀態(tài)的圖像數(shù)據(jù)和展示圖形平面7的存儲內(nèi)容的 內(nèi)容)。
HDD17是存儲了經(jīng)網(wǎng)絡(luò)等下載的SubClip、 Clip信息、播放列表信息 的內(nèi)置媒體。在該HDD17中的播放列表信息即使是存在于BD-ROM和 HDD17的其中之一的Clip信息,在可以進行指定的方面不同。每次該指定 時,HDD17上的播放列表信息不需要通過全路徑(foil path)指定BD-ROM 上的文件。這是因為本HDD17與BD-ROM為一體,作為虛擬的一個驅(qū)動 器(稱作虛擬包),通過再現(xiàn)裝置來識別。因此,Playltem信息中的 Clip—Information—file—name 禾口 SubPlayltem <言 息 的 Clip—Information—file—name,通過指定相當(dāng)于存儲了 Clip信息的文件的文件 主體的5位數(shù)值,可以指定HDD17、 BD-ROM上的AVClip。通過讀出該 HDD的記錄內(nèi)容,并與BD-ROM的記錄內(nèi)容動態(tài)組合,可以產(chǎn)生各種不 同的再現(xiàn)。
讀緩沖器18是FIFO存儲器,以先入先出的形式來存儲從HDD17讀出 的TS包。
多路分配器(De—MUX) 19從讀緩存器18取出TS包,并將TS包轉(zhuǎn) 換為PES包。并且,將通過轉(zhuǎn)換得到的PES包中具有希望的streamPID的 包輸出到字體生成器12中。
音頻譯碼器20對從多路分配器19輸出的PES包進行譯碼,并輸出非 壓縮形式的音頻數(shù)據(jù)。
腳本存儲器21是用于存儲當(dāng)前的PL信息和當(dāng)前的Clip信息的存儲器。 所謂當(dāng)前PL信息是指BD-ROM中記錄的多個PL信息中作為當(dāng)前處理對象 的信息。所謂當(dāng)前Clip信息是指在BD-ROM中記錄的多個Clip信息中, 作為當(dāng)前處理對象的信息。
CPU22執(zhí)行在指令ROM24中存儲的軟件,并執(zhí)行再現(xiàn)裝置整體的控制。
鍵事件處理部23根據(jù)對于遙控器和再現(xiàn)裝置的前面板的鍵操作,輸出 進行該操作的鍵事件。
指令ROM24存儲規(guī)定再現(xiàn)裝置的控制的軟件。
開關(guān)25是將從BD-ROM和HDD17讀出的各種數(shù)據(jù)有選擇地輸入到讀 緩存器2、讀緩存器18、腳本存儲器21、本地存儲器29中某一個的開關(guān)。
CLUT部26將視頻平面5中存儲的非壓縮圖形中的索引彩色轉(zhuǎn)換為 Y,Cr,Cb值。
CLUT部27將交互圖形平面15中存儲的非壓縮圖形中的索引彩色轉(zhuǎn)換 為Y,Cr,Cb值。
PSR組28是內(nèi)置在再現(xiàn)裝置中的寄存器,由64個播放器狀態(tài)寄存器 (PSR)和4096個通用寄存器(GPR)構(gòu)成。播放器狀態(tài)寄存器的設(shè)定值 (PSR)中PSR4 PSR8用于表現(xiàn)當(dāng)前的再現(xiàn)時刻。
PSR4通過設(shè)定為1 100的值,表示當(dāng)前的再現(xiàn)時刻所屬的標(biāo)題,通 過設(shè)定為0,表示當(dāng)前的再現(xiàn)時刻是頂端菜單。
PSR5通過設(shè)定為1 999的值,表示當(dāng)前的再現(xiàn)時刻所屬的章節(jié)號, 通過設(shè)定為0xFFFF,表示再現(xiàn)裝置中章節(jié)號無效。
PSR6通過設(shè)定為0 999的值,表示當(dāng)前的再現(xiàn)時刻所屬的PL (當(dāng)前
PL)的號。
PSR7通過設(shè)定為0 255的值,表示當(dāng)前的再現(xiàn)時刻所屬的Play Item (當(dāng)前Play Item)的號。
PSR8通過設(shè)定為0 OxFFFFFFFF的值,而使用45KHz的時間精度來 表示當(dāng)前的再現(xiàn)時刻(當(dāng)前PTM (Presentation Time))。通過以上的PSR4 PSR8,來確定當(dāng)前的再現(xiàn)時刻。
本地存儲器29由于從BD-ROM的讀出為低速,所以是用于暫時存儲 BD-ROM的記錄內(nèi)容的高速緩存器。因存在該本地存儲器29,可以使BD-J 模式中的應(yīng)用程序執(zhí)行高效。圖17 (a)是表示在本地存儲器29上怎樣識 別BD-ROM中存在的Java歸檔文件的圖。圖17 (a)的表中,在左欄表示 BD-ROM上的文件名,在右欄表示本地存儲器29上的文件名。若比較這些 右欄、左欄,可以看出通過省去目錄指定"BDJA"的文件路徑來指定本地 存儲器29中的文件。
圖17 (b)是表示圖17 (a)的應(yīng)用的圖。本應(yīng)用例以頭+數(shù)據(jù)的形式 存儲文件中所存儲的數(shù)據(jù)。將本地存儲器9中的文件路徑用于頭。如圖17 (b)所示,由于在本地存儲器29中將省略了BD-ROM中的文件路徑的一 部分的內(nèi)容用于文件路徑,所以通過將該文件路徑存儲在頭中,可以明確 各數(shù)據(jù)在BD-ROM中的位置。
以上是本實施方式的再現(xiàn)裝置的硬件結(jié)構(gòu)。接著,說明本實施方式中 的再5見裝置的軟件結(jié)構(gòu)。
圖18是將由ROM24中存儲的軟件和硬件構(gòu)成的部分轉(zhuǎn)換為層結(jié)構(gòu)來 描述的圖。如該圖所示,再現(xiàn)裝置的層結(jié)構(gòu)由下面的a)、 b)、 c)、 d—l)、 d-2)、 e)、 f)構(gòu)成。即,在a)物理的硬件等級上存在b)控制基于AVClip 的再現(xiàn)的展示引擎31、和c)進行基于播放列表信息和Clip信息的再現(xiàn)控 制的重放控制引擎32的這兩個等級,在最上層的等級上有e)執(zhí)行標(biāo)題間 的分支的模塊管理器34。
在這些HDMV模塊33、模塊管理器34之間,d-l)作為Movie對象的 譯碼 執(zhí)行主體的HDMV模塊33、和d-2)進行BD-J對象的譯碼 執(zhí)行 的BD-J模塊35放在同一等級上。
BD-J模塊35是所謂的Java平臺,為包含工作存儲器37的Java虛擬
機38為核心的結(jié)構(gòu),由應(yīng)用程序管理器36、事件監(jiān)聽管理器(eventlistner manager) 39、缺省操作管理器40構(gòu)成。首先,最先說明展示引擎31 模 塊管理器34。圖19是將基于展示引擎31 模塊管理器34的處理模式化的圖。
展示引擎31執(zhí)行AV再現(xiàn)功能。所謂再現(xiàn)裝置的AV再現(xiàn)功能是指從 DVD播放器、CD播放器繼承的傳統(tǒng)的功能群,是再現(xiàn)開始(Play)、再現(xiàn) 停止(Stop)、暫時停止(Pause ON)、暫時停止的解除(Pause Off)、靜止 功能的解除(Still off)、帶速度指定的快進(Forward Play (speed))、帶速 度指定的倒帶(Backward Play (speed))、聲音切換(Audio Change)、副視 頻切換(Subtitle Change)、角度切換(Angle Change)的功能。為實現(xiàn)AV 再現(xiàn)功能,展示引擎31控制視頻譯碼器4、P—Graphics譯碼器9、I一Graphics 譯碼器13和音頻譯碼器20,以進行讀出到讀緩存器2上的AVClip中相當(dāng) 于希望時刻的部分的譯碼。作為希望的時刻,通過進行PSR8 (當(dāng)前PTM) 所示的位置的解釋,在AVClip中,可以再現(xiàn)任意的時刻。圖中的 1將基 于展示引擎31的譯碼開始模式化來進行表示。
再現(xiàn)控制引擎(Playback Control Engine (PCE)) 32執(zhí)行播放列表的再 現(xiàn)功能(i)、再現(xiàn)裝置中的狀態(tài)取得/設(shè)定功能(ii)的各功能。所謂PL的 再現(xiàn)功能是指根據(jù)當(dāng)前PL信息和Clip信息來進行展示引擎31進行的AV 再現(xiàn)功能中的再現(xiàn)開始和再現(xiàn)停止。根據(jù)來自HDMV模塊33 BD-J模塊 35的應(yīng)用程序調(diào)用來執(zhí)行這些功能(i) (ii)。即,再現(xiàn)控制引擎32根 據(jù)基于用戶操作的指示、來自層模塊中的上層位置的指示,來執(zhí)行自身的 功能。圖19中,帶 2<03的箭頭將重放控制引擎32對Clip信息和播放列 表信息的參考模式化來表示。
HDMV模塊33是MOV正模式的執(zhí)行主體,若從模塊管理器34通知 構(gòu)成分支目標(biāo)的Movie對象,則將構(gòu)成分支目標(biāo)標(biāo)題的Movie對象讀出到 本地存儲器29中,并對在該Movie對象中描述的導(dǎo)航指令進行譯碼,根據(jù) 譯碼結(jié)果來執(zhí)行對重放控制引擎32的應(yīng)用程序調(diào)用。圖19中帶V2、 V3、 ▽4的箭頭,將來自模塊管理器34的分支目標(biāo)Movie對象的通知(2)、Movie 對象中描述的導(dǎo)航指令的譯碼(3)、對于重放控制引擎32的應(yīng)用程序調(diào)用 (4)模式化來表示。
模塊管理器34保持從BD-ROM中讀出的索引表,并進行分支控制。 該分支控制在HDMV模塊33執(zhí)行JumpTitle指令的情況下,或從BD-J模 塊35調(diào)用標(biāo)題跳轉(zhuǎn)API的情況下,接收作為該跳轉(zhuǎn)目標(biāo)的跳轉(zhuǎn)號,并向 HDMV模塊33或BD-J模塊35通知構(gòu)成該標(biāo)題的Movie對象或BD-J對象。 圖中的帶V0、 VI、 V2的箭頭將JumpTitle指令的執(zhí)行(0)、模塊管理器 34進行的IndexTable參考(1)和分支目標(biāo)Movie對象(2)的通知模式化 來表示。
以上是對展示引擎31 模塊管理器34的說明。接著,參考圖20來說 明應(yīng)用程序管理器36。圖20是表示應(yīng)用程序管理器36的圖。
應(yīng)用程序管理器36執(zhí)行參考了應(yīng)用程序管理表的應(yīng)用程序的啟動控 制、執(zhí)行標(biāo)題正常終止時的控制。
所謂啟動控制是指在每次從模塊管理器34通知作為分支目標(biāo)的BD-J 模塊時,讀出該BD-J對象,并參考該BD-J對象內(nèi)的應(yīng)用程序管理表來進 行本地存儲器29訪問。并且,所謂啟動控制是將構(gòu)成把當(dāng)前的再現(xiàn)時刻作 為生存區(qū)間的應(yīng)用程序的xlet程序讀出到工作存儲器的控制。圖20中的眾 1、眾2、眾3將啟動控制中的分支目標(biāo)BD-J對象的通知(1)、應(yīng)用程序管 理表參考(2)、對于Java虛擬機38的啟動指示模式化來表示。通過該啟動 指示,Java虛擬機38從本地存儲器29讀出xlet程序到工作存儲器37 (☆ 5)。
標(biāo)題的終止控制有正常終止時的控制和異常終止時的控制。正常控制 時的控制,有通過構(gòu)成標(biāo)題的應(yīng)用程序來調(diào)用跳轉(zhuǎn)標(biāo)題API、并向分支控制 的主體(模塊管理器34)請求向分支目標(biāo)標(biāo)題的切換的控制。該終止控制 中的將模塊管理器34通知模式化表示的是箭頭眾6。這里,每次正常終止 標(biāo)題時,也可原樣啟動構(gòu)成標(biāo)題的應(yīng)用程序。這是因為在分支目標(biāo)標(biāo)題中 判斷是否終止應(yīng)用程序。在本實施方式中雖然沒有較深地涉及到,但是應(yīng) 用程序管理器36進行從BD-ROM向本地存儲器29讀出Java歸檔文件(8) 的處理。將向該本地存儲器29的讀出模式化的是眾8。
以上是對應(yīng)用程序管理器36的說明。接著,參考圖21來說明工作存 儲器37 缺省操作管理器40。
工作存儲器37是配置了構(gòu)成應(yīng)用程序的xlet程序的群區(qū)域。工作存儲
器37本來存在于Java虛擬機38內(nèi),但是在圖21中,為了作圖的方便,在 Java虛擬機38上層位置描述工作存儲器37。工作存儲器37上的xlet程序 包含EventListner和JMF播放器實例。
Java虛擬機38將構(gòu)成應(yīng)用程序的xlet程序裝載在工作存儲器37上, 對xlet程序進行譯碼,來執(zhí)行基于譯碼結(jié)果的處理。如上所述,由于xlet 程序包含命令JMF播放器實例生成的方法和命令該JMF播放器實例的執(zhí)行 的方法,所以為了實現(xiàn)通過這些方法命令的處理內(nèi)容,進行對于下層的控 帝ij。若命令JMF播放器實例生成,貝U Java虛擬機38得到與BD-ROM上的 YYYY.MPLS文件相關(guān)的JMF播放器實例。另夕卜,若指令JMF播放器實例 中的JMF方法的執(zhí)行,則向BD中間件發(fā)出該JMF方法,并置換為BD再 現(xiàn)裝置對應(yīng)的應(yīng)用程序調(diào)用。并且,向重放控制引擎32發(fā)出置換后的應(yīng)用 程序調(diào)用。
事件監(jiān)聽管理器39分析通過用戶操作生成的事件(鍵事件),并進行 事件的分配。圖中的實線箭頭Ol、 <0>2將基于該事件監(jiān)聽管理器39的分配 進行模式化來表示。若是SRART、 STOP、 SPEED等在xlet程序內(nèi)的Event Listner上登記的鍵事件,則分配通過BD-J對象間接參考的有關(guān)xlet程序的 事件。START、 STOP、 SPEED是對應(yīng)于JMF的事件,由于在xlet程序的 Event Listner上登記了這些鍵事件,所以通過本鍵事件可以進行xlet程序的 啟動。在鍵事件是Event Listner未登記的鍵事件的情況下,將本鍵事件分 配給缺省操作管理器40。這是因為聲音切換、角度切換等BD-ROM再現(xiàn)裝 置中產(chǎn)生的鍵事件上存在沒有在Event Listner上登記的各種事件,即使產(chǎn) 生了這些鍵事件,也執(zhí)行沒有遺漏的處理。
缺省操作管理器40若從事件監(jiān)聽管理器39分配沒有在xlet程序內(nèi)的 Event Listner上登記的鍵事件,則對重放控制引擎32執(zhí)行對應(yīng)于該Event Listner未登記事件的應(yīng)用程序調(diào)用。模式化地表示基于該缺省操作管理器 40的應(yīng)用程序調(diào)用是圖中的箭頭O3。另外,雖然圖21中通過事件監(jiān)聽管 理器39、缺省操作管理器40來分配Event Listner未登記事件,但是也可以 由重放控制引擎32直接接收EventListner未登記事件,來進行再現(xiàn)控制(圖 中的04)。
(流程圖的說明)
以上的對于應(yīng)用程序管理器36的說明不過是涉及其概要。更詳細地表 示應(yīng)用程序管理器36的處理的是圖22、圖23的流程圖。之后,參考這些 流程圖來更詳細說明應(yīng)用程序管理器36的處理過程。
圖22是表示基于應(yīng)用程序管理器36的分支時的控制過程的圖。本流 程圖是啟動或終止?jié)M足步驟S2 步驟S5構(gòu)成的條件的應(yīng)用程序(是指應(yīng)用 程序x)的處理。
步驟S2中判斷是否存在應(yīng)用程序x,該應(yīng)用程序x雖然在分支源標(biāo)題 中為非啟動、但在分支目標(biāo)標(biāo)題中生存、且分支目標(biāo)標(biāo)題中的啟動屬性是 AutoRim屬性,并且若存在該應(yīng)用程序x,則進行對于本地存儲器29的高 速緩存?zhèn)鞲小H舾咚倬彺鎮(zhèn)鞲械慕Y(jié)果,在本地存儲器29上有應(yīng)用程序x (步 驟S7中"是"),則從本地存儲器29向工作存儲器37讀入應(yīng)用程序x (步 驟S8)。若本地存儲器29中沒有,則從BD-ROM向本地存儲器29讀入應(yīng) 用程序x后,從本地存儲器29向工作存儲器37讀入應(yīng)用程序x(步驟S9)。
步驟S3中判斷是否存在分支源標(biāo)題中為啟動中、且在分支目標(biāo)標(biāo)題中 非生存的應(yīng)用程序x。若存在,則從工作存儲器37中刪除應(yīng)用程序x后終 止(步驟SIO)。
步驟S4中判斷是否存在分支源Suspend、分支目標(biāo)AutoRun或Persistent 的應(yīng)用程序。若存在,則重新開始應(yīng)用程序x (步驟Sll)。
步驟S 5中判斷是否存在在分支源標(biāo)題中為啟動中、且分支目標(biāo) Suspend的應(yīng)用程序。若存在,則掛起應(yīng)用程序x (步驟S12)。
每次各應(yīng)用程序終止時的應(yīng)用程序管理器36的處理如圖23所示。圖 23是表示應(yīng)用程序終止處理的處理過程的流程圖。該圖示出分別對于應(yīng)終 止的多個應(yīng)用程序重復(fù)進行步驟S16 步驟S20的處理的循環(huán)處理(步驟 S15)。在本循環(huán)處理中,應(yīng)用程序管理器36發(fā)出要終止啟動中應(yīng)用程序的 終止事件(步驟S16),進行定時器設(shè)置(步驟S17),并進入到由步驟S18 步驟S20構(gòu)成的循環(huán)處理。若Event Listner接收到該終止事件,則對應(yīng)的 xlet程序啟動終止處理。若終止處理終止,則從工作存儲器37中釋放該xlet 程序,并終止。
在步驟S18 步驟S20的循環(huán)處理的繼續(xù)中,定時器持續(xù)計數(shù)。在本循 環(huán)處理中,步驟S18是發(fā)送目標(biāo)應(yīng)用程序是否終止的判斷,若已終止,則終止對該應(yīng)用程序的處理。步驟S19是定時器是否超時的判斷,若超時, 則在步驟S20中,從工作存儲器37中刪除發(fā)送目標(biāo)應(yīng)用程序來強制終止應(yīng)
用程序。
參考圖24來說明以上的模塊管理器34的處理。
圖24是模式地表示應(yīng)用程序終止的過程的圖。該圖中的第一級表示應(yīng) 用程序管理器36,第二級表示三個應(yīng)用程序。圖24的第二級、左側(cè)的應(yīng)用 程序表示接收終止事件后,終止處理成功的應(yīng)用程序。圖24的第二級、中 間的應(yīng)用程序表示接收終止事件后,終止處理失敗的應(yīng)用程序。第二級、 右側(cè)的應(yīng)用程序由于沒有安裝EveritListner,故表示不能接收終止事件的應(yīng) 用程序。
第一級一第二級的箭頭epl、 ep2模式地表示基于應(yīng)用程序管理器的終 止事件發(fā)送,箭頭ep3模式地表示終止處理啟動。
第三級是終止處理成功時的狀態(tài)轉(zhuǎn)移后的狀態(tài),該應(yīng)用程序通過本身 的終止處理來終止。若存在如這些xlet程序那樣,在預(yù)定期間內(nèi)有沒有終 止的應(yīng)用程序,則應(yīng)用程序管理器36從工作存儲器37中強制去除這些。 第四級表示基于應(yīng)用程序管理器36的強制終止。規(guī)定該第四級的強制終止 也是應(yīng)用程序管理器36的一個任務(wù)。
如上所述,根據(jù)本實施方式,由于自動終止在分支源標(biāo)題中啟動并在 分支目標(biāo)標(biāo)題中不生存的應(yīng)用程序,所以即使在通過帶條件的分支再現(xiàn)復(fù) 雜地進行的情況下,不會進行超過再現(xiàn)裝置的資源的界限的數(shù)目的應(yīng)用程 序啟動。由于可以保證分支前后的應(yīng)用程序動作,所以可以更多地發(fā)布邊 再現(xiàn)數(shù)字流邊執(zhí)行應(yīng)用程序的盤內(nèi)容。 (第二實施方式)
第一實施方式中應(yīng)用程序的生存區(qū)間與標(biāo)題時間軸一致,但是第二實 施方式提出了將PL時間軸的一部分作為應(yīng)用程序的生存區(qū)間的方案。由于 PL時間軸的一部分通過章節(jié)來表現(xiàn),所以通過由章節(jié)來描述開始點、終止 點,可以規(guī)定應(yīng)用程序的生存區(qū)間。圖25 (a)是表示在PL時間軸上規(guī)定 生存區(qū)間的應(yīng)用程序管理表的圖。圖25 (a)中,在應(yīng)用程序管理表中描述 了三個應(yīng)用程序,其中application^將title#l的Chapter^到Chapter^指 定為生存區(qū)間,并在啟動屬性上規(guī)定了 AutoRun。因此,applicatioi^2如圖
25 (b)所示,在Chapterf2的起點啟動,并在Chapter#3的終點終止。
另一方面,application弁3將title#l的Chapter#4到Chapter#6指定為生
存區(qū)間。因此,applicationa如圖25 (b)所示,在Chapter^的起點啟動,
在Chapters的終點終止。
為了根據(jù)這樣描述的應(yīng)用程序管理表進行處理,本實施方式的應(yīng)用程
序管理器36在每次達到通過Plmark指定的章節(jié)起始點時,判斷是否存在生
存區(qū)間從該章節(jié)起始點開始的應(yīng)用程序,若存在,則將該應(yīng)用程序裝載到
工作存儲器37中。
同樣,在每次到達章節(jié)起始點時,判斷在該章節(jié)最近前面的章節(jié)中是
否存在生存區(qū)間終止的應(yīng)用程序,若存在,則從工作存儲器37中釋放該應(yīng)
用程序。
若以章節(jié)為單位來管理應(yīng)用程序的生存,則可以以更精細的精度來指 定應(yīng)用程序的生存區(qū)間。但是,必須注意在盤內(nèi)容上可以有時間軸的反向。 所謂反向是指通過倒帶使時間軸反向行進。若在章節(jié)的邊界重復(fù)進行該反 向和行進,則幾次進行向工作存儲器的裝載、廢棄,產(chǎn)生了多余的讀出負 載。因此,在本實施方式中,應(yīng)用程序的啟動時期為進入標(biāo)題而開始基于 重放控制引擎32的通常再現(xiàn)的瞬間。這里PL的再現(xiàn)有通常再現(xiàn)、技巧 (trick)再現(xiàn)。所謂技巧再現(xiàn)有快進、倒帶、跳下一個(SkipNext)、跳上 一個(SkipBack)。在進行該快進、倒帶、SkipNext、 SkipBack的期間,不 開始應(yīng)用程序啟動,而開始通常再現(xiàn)后,開始啟動應(yīng)用程序。在通過以通 常再現(xiàn)開始的瞬間為基準(zhǔn),有如上所述的生存區(qū)間前后的到來的情況下, 不需要重復(fù)需要以上的應(yīng)用程序的啟動。另外,也可在生存區(qū)間為title的 情況下,執(zhí)行將通常再現(xiàn)開始的瞬間作為應(yīng)用程序的啟動基準(zhǔn)的處理。
如上所述,根據(jù)本實施方式,由于可以以比PL小的章節(jié)為單位來規(guī)定 應(yīng)用程序的生成區(qū)間,所以可以實現(xiàn)精細的應(yīng)用程序控制。 (第二實施方式的變形例)
圖25中,向各應(yīng)用程序添加優(yōu)先級。該優(yōu)先級取0 255的值,在應(yīng) 用程序之間資源的使用沖突等沖突了的情況下,每次應(yīng)用程序管理器36進 行將使其中一個應(yīng)用程序強制終止,或從其中一個應(yīng)用程序爭奪資源的處 理時,上述優(yōu)先級的值成為判斷材料。圖25的一例中,由于application#1
的優(yōu)先級為255, application#2、 application#3的優(yōu)先級為128,所以在 application^ 1 — application#2沖突時,應(yīng)用程序管理器36進行強制終止優(yōu) 先級低的application弁2的處理。 (第三實施方式)
由BD-ROM供給的盤內(nèi)容由可彼此分支的多個標(biāo)題構(gòu)成。各標(biāo)題除了 由一個以上的PL和使用該PL后的控制過程構(gòu)成之外,有僅由對再現(xiàn)裝置 的控制過程構(gòu)成的非AV系標(biāo)題。本實施方式說明該非AV系標(biāo)題。
在這種非AV系標(biāo)題中,問題為怎樣來決定標(biāo)題時間軸。圖26(a)表 示從PL時間軸決定的標(biāo)題時間軸。這時PL時間軸為標(biāo)題時間軸,在該標(biāo) 題時間軸上決定應(yīng)用程序的生存區(qū)間。在沒有作為該基準(zhǔn)的PL時間軸的情 況下,標(biāo)題時間軸應(yīng)如圖26 (b)、 (c)那樣來決定。
圖26 (b)表示從主要的應(yīng)用程序的生存區(qū)間決定的標(biāo)題時間軸。所謂 主應(yīng)用程序是指在標(biāo)題中將啟動屬性設(shè)定為AutoRun,在標(biāo)題開始時自動 啟動的唯一的應(yīng)用程序,例如,稱作啟動應(yīng)用程序的程序相當(dāng)于此。所謂 啟動應(yīng)用程序是指啟動其他應(yīng)用程序的應(yīng)用程序。
該圖26 (b)的考慮認為只要主應(yīng)用程序啟動,標(biāo)題時間軸就繼續(xù),若 主應(yīng)用程序終止,則使時間軸終止。圖26 (c)是表示從多個應(yīng)用程序的生 存區(qū)間決定的標(biāo)題時間軸的圖。有這樣的情況在標(biāo)題的開始點啟動的是 一個應(yīng)用程序,但是該應(yīng)用程序重復(fù)進行調(diào)用其他應(yīng)用程序,進一步該應(yīng) 用程序調(diào)用其他應(yīng)用程序的處理。這時,只要其中一個應(yīng)用程序啟動,就 認為標(biāo)題時間軸持續(xù),若任何一個應(yīng)用程序都沒有啟動的狀態(tài)到來,則由 此認為標(biāo)題時間軸終止。這樣,若決定非AV系統(tǒng)標(biāo)題的標(biāo)題時間軸,無論 是AV標(biāo)題還是非AV系統(tǒng)標(biāo)題,都可以與標(biāo)題時間軸的終止同時劃一地進 行分支到預(yù)定的標(biāo)題的處理。另外,非AV標(biāo)題中的標(biāo)題時間軸在與AV標(biāo) 題對比時,不過是假定的想象的時間軸。因此,再現(xiàn)裝置可以在非AV標(biāo)題 中的標(biāo)題時間軸上逆行或定位到任意的位置。
以上是對于本實施方式中的記錄媒體的改進。接著,說明對于本實施 方式中的再現(xiàn)裝置的改進。
為了以如上所述的過程來進行標(biāo)題終止,第三實施方式的應(yīng)用程序管 理器36以如圖27所示的處理來進行處理。圖27是表示標(biāo)題再現(xiàn)時的應(yīng)用
程序管理器36的處理過程的流程圖。本流程圖中為在標(biāo)題再現(xiàn)中,重復(fù)步 驟S21 S23的循環(huán)結(jié)構(gòu)。
步驟S21中判斷是否調(diào)出了標(biāo)題跳轉(zhuǎn)API,若調(diào)出,則向模塊管理器 34請求向跳轉(zhuǎn)目標(biāo)標(biāo)題的分支(步驟S27)。
步驟S22中判斷是否存在承擔(dān)標(biāo)題內(nèi)的應(yīng)用程序調(diào)用這樣的主應(yīng)用程 序,若存在,則確認其啟動的有無(步驟S25)。若沒有啟動,則解釋為"標(biāo) 題的終止",向模塊管理器34通知終止(步驟S26)。
步驟S23是沒有主應(yīng)用程序的情況下執(zhí)行的步驟(步驟S22中"否"), 判斷是否為沒有啟動任何應(yīng)用程序的狀態(tài)。若是,則同樣解釋為"標(biāo)題的 終止",而向模塊管理器34通知終止(步驟S26)。
如上所述,根據(jù)本實施方式,即使是不伴隨PL再現(xiàn)的標(biāo)題,也可進行 在應(yīng)用程序執(zhí)行中不進行分支,在應(yīng)用程序執(zhí)行終止后進行分支的處理。 (第四實施方式)
本實施方式涉及在BD-ROM上實現(xiàn)與DVD相同的菜單控制的情況的 改進。圖28 (a)是表示通過BD-ROM實現(xiàn)的菜單等級的圖。該圖中的菜 單等級在最上層配置TopMenu,可以從該TopMenu選擇下層的TitleMenu、 SubTitleMenu、 AudioMenu的結(jié)構(gòu)。圖中的箭頭swl、 2、 3模式地表示基 于按鈕選擇的菜單的切換。所謂TopMenu是指配置了接收進行聲音選擇、 字幕選擇、標(biāo)題選擇中之一的按鈕(圖中的按鈕snl、 sn2、 sn3)的菜單。
所謂TitleMe皿是指配置了接受選擇視頻作品(title)的電影版、選擇 導(dǎo)演的剪輯(director's cut)版或選擇游戲版等視頻作品的選擇的按鈕的菜 單。所謂AudioMenu是指配置了接受用日語或用英語進行聲音再現(xiàn)的按鈕 的菜單,所謂SubTitleMemi是指配置了接受用日語或用英語進行字幕顯示 的按鈕的菜單。
圖28 (b)表示用于使具有這種等級的菜單動作的MOVIE對象。圖28 (b)中在MovieObject.bdmv中存儲了 FirstPlayOBJ、 TopMenu OBJ、 AudioMenu OBJ、 SubTitleMenu OBJ。
FirstPlay對象(FirstPlay OBJ)是BD-ROM向再現(xiàn)裝置裝載時自動執(zhí) 行的動態(tài)腳本。
TopMenu對象(TopMenu OBJ)是控制TopMenu的舉動的動態(tài)腳本。
在用戶請求菜單調(diào)用時,調(diào)用的是該TopMenu對象。TopMenu對象包含根 據(jù)來自用戶的操作來改變TopMenu中的按鈕的狀態(tài)的指令、和根據(jù)對于按 鈕的確定操作來進行分支的分支指令。該分支指令實現(xiàn)從TopMenu向 TitleMenu ,從TopMenu向SubTitleMenu,從TopMenu向AudioMenu的菜
單切換。
AudioMenu對象(AudioMenu OBJ)是控制AudioMenu的舉動的動態(tài) 腳本,包含根據(jù)來自用戶的操作來改變AudioMenu中的按鈕的狀態(tài)的指令、
和根據(jù)對于按鈕的確定操作來更新聲音設(shè)置的指令。
SubTitleMenu對象(SubTitleMenu OBJ)是控制SubTitleMenu的舉動 的動態(tài)腳本,包含根據(jù)來自用戶的操作來改變SubTitleMenu中的按鈕的狀 態(tài)的指令、和根據(jù)對于按鈕的確定操作來更新字幕設(shè)置用PSR的指令。
TitleMenu對象(TitleMenu OBJ)是控制TitleMenu的舉動的動態(tài)腳本, 包含改變TitleMenu中的按鈕的狀態(tài)的指令和根據(jù)對于按鈕的確定操作來 進行分支的分支指令。
通過這些菜單用MOVIE對象,可以實現(xiàn)如在DVD中實現(xiàn)的菜單的舉 動。以上是與菜單控制有關(guān)的MOV正對象。
圖29是模式化了索引表和從索引表向各Movie對象的分支的圖。該圖 中左側(cè)表示索引表的內(nèi)部結(jié)構(gòu)。在本實施方式的索引表中包含 FirstPlay函EX 、 TopMenuINDEX 、 Audio Menu脂EX 、 Subtitle MenuINDEX、 titleMenu歸EX、 title#l~#mINDEX、 title#m+l Nindex、 title#0INDEX。圖中的箭頭bcl 、 2模式地表示從Index Table向FirstPlayOBJ 的分支、從FirstPlayOBJ向TopMenu的分支,箭頭bc3、 4、 5模式表示從 TopMenu向TitleMenu、 SubTitleMenu、 AudioMenu的分支。箭頭bc6、 7、 8模式地表示從TitleMenu向各Movie對象的分支。
FirstPLayINDEX 、TopMenuINDEX 、Audio Menu聽EX 、 SubtitleMenuINDEX 、 title MenuINDEX分別是對于FirstPLay OBJ 、 TopMenuOBJ、 Audio MenuOBJ、 Subtitle MenuOBJ、 title MenuOBJ的Index, 描述了這些識別符。
Title#l~#mINDEX是BD-ROM中從第一個進入到第m個的title的 Index,描述了在這些1到m的title號的選擇時作為分支目標(biāo)的MOV正對
象的識別符(ID)。
Title#m+l #nINDEX是BD-ROM中對于從第m+l進入到第n的title 的Index,描述了在這些m+l到n的title號的選擇時作為分支目標(biāo)的BD-J 對象的識別符(ID)。
Title#0INDEX是規(guī)定在BD-J對象的強制終止時應(yīng)作為分支目標(biāo)的 Movie對象或BD—J對象的INDEX。本實施方式中,將對于TopMenuOBJ 的識別符存儲在該title糾INDEX中。
圖30 (a)表示如圖29那樣描述了 Index Table的情況下的分支。由于 這樣來描述Index Table,所以在將標(biāo)簽title# 1 title#m作為分支目標(biāo)的分 支指令的執(zhí)行時,從title弁l title弁m INDEX中取出Movie對象井l 井m的 識別符。在將標(biāo)簽title#m+l title#n作為分支的分支指令的執(zhí)行時,從 title#m+llndex~title#nlndex中取出BD-J對象弁m+l 弁n的識別符。由于 BD-J對象弁m+l 弁n的識別符是表示標(biāo)題名的5位數(shù)值,所以取出 "OOOOl.BD-J、 00002.BD-J、 00003.BD-J...",將該標(biāo)題名的動態(tài)腳本讀出 到存儲器中,來執(zhí)行。其是使用了索引表的分支處理。
圖30 (b)是表示BD-J對象執(zhí)行時的強制終止時的分支的圖。在強制 終止時的分支中,從title井01ndex取出識別符,并通過再現(xiàn)裝置來執(zhí)行該識 別符的動態(tài)腳本。若該識別符為頂端菜單標(biāo)題的識別符,則在應(yīng)用程序強 制終止時,自動選擇頂端菜單OBJ。
以上是對于本實施方式中的記錄媒體的改進。接著,說明對于本實施 方式中的再現(xiàn)裝置的改進。由于對應(yīng)于上述的記錄媒體的改進,所以再現(xiàn) 裝置內(nèi)的模塊管理器34以如圖31所示的處理過程來進行處理。圖31是表 示模塊管理器34的處理過程的流程圖。本流程圖構(gòu)成由步驟S31、步驟S32 構(gòu)成的循環(huán)處理,并在步驟S31或步驟S32中之一為"是"時,執(zhí)行對應(yīng) 的處理。
步驟S31判斷是否有標(biāo)題跳轉(zhuǎn)API的調(diào)用。若有標(biāo)題跳轉(zhuǎn)API的調(diào)用, 則取得作為分支目標(biāo)標(biāo)簽的標(biāo)題號j (步驟S33),并從索引表中的標(biāo)題號j 的索引中取得IDj (步驟S34),而使HDMV模塊33或BD-J模塊35執(zhí)行 IDj的Movie對象或BD-J對象(步驟S35)。
步驟S32判斷是否從應(yīng)用程序管理器36通知標(biāo)題終止的,若通知(步
驟S32中"是"),則使HDMV模塊33或模塊管理器34執(zhí)行構(gòu)成頂端菜單 標(biāo)題的頂部菜單OBJ (步驟S36)。
參考圖32來說明基于以上的應(yīng)用程序管理器36的應(yīng)用程序強制終止 的動作例。這里應(yīng)再現(xiàn)的標(biāo)題是包含堆積降落的瓦(tile)片的游戲應(yīng)用程 序的非AV系標(biāo)題。圖32的下級表示由應(yīng)用程序的生存區(qū)間構(gòu)成的標(biāo)題時 間軸,上級表示標(biāo)題時間軸中顯示的圖像。在非AV系標(biāo)題是游戲應(yīng)用程序 的情況下,在該游戲應(yīng)用程序的生存區(qū)間中,如圖32的上段左側(cè)那樣,顯 示游戲應(yīng)用程序的一畫面。若應(yīng)用程序有錯誤,而異常終止,則應(yīng)用程序 管理器36根據(jù)圖23的流程圖來使游戲應(yīng)用程序強制終止,并向模塊管理 器34通知標(biāo)題的終止。若通知了標(biāo)題終止,則模塊管理器34分支到頂端 菜單標(biāo)題。這樣,顯示如圖32的上段右惻所示的圖像,等待用戶的操作。
如上所述,根據(jù)本實施方式,在包含程序,但是不包含數(shù)字流的非AV 系標(biāo)題終止時,可以進行分支到頂端菜單標(biāo)題的控制。由此,即使應(yīng)用程 序出錯終止,也可避免停機和破壞(bang up)的產(chǎn)生。 (第五實施方式)
涉及BD-J模式中怎樣實現(xiàn)與PL再現(xiàn)的同步的改進。在圖8 (b)的一 例中,在Java虛擬機38對命令JMF播放器實例的再現(xiàn)的JMF播放器實例 (A.play;)進行譯碼的情況下,Java虛擬機38調(diào)用PL再現(xiàn)API,在調(diào)用 后,緊接著向應(yīng)用程序返回表示"成功"的響應(yīng)。
重放控制引擎32在調(diào)用PL再現(xiàn)API時,執(zhí)行基于PL信息的處理過 程。若PL具有兩小時的再現(xiàn)時間,則上述的處理持續(xù)該兩小時的時間。這 里成為問題的是Java虛擬機38返回成功響應(yīng)的時間和重放控制引擎32實 際終止處理的時間的間隔。Java虛擬機38由于是作為驅(qū)動事件的處理主體, 所以在調(diào)用之后緊接著返回表示再現(xiàn)成功或再現(xiàn)失敗的響應(yīng),但是由于基 于重放控制引擎32的實際的處理終止在經(jīng)過2小時后,所以在將訪問響應(yīng) 返回應(yīng)用程序的時間作為基準(zhǔn)的情況中,不能感測相當(dāng)于2小時經(jīng)過后的 處理終結(jié)。若在PL再現(xiàn)中進行快進、倒帶、Skip,則該2小時的再現(xiàn)期間 在2小時前后改變,處理終結(jié)的感測更加困難。
重放控制引擎32由于在與應(yīng)用程序孤立的狀態(tài)下動作,所以在如第三 實施方式那樣的終止判斷中,不能將PL再現(xiàn)的終止解釋為標(biāo)題終止。因此,
在本實施方式中,雖然應(yīng)用程序已經(jīng)終止,但是只要工作存儲器37上存在 JMF播放器實例,SP,在BD-J模塊35掌握展示引擎31的控制權(quán)的期間, 從重放控制引擎32等待再現(xiàn)終止事件。并且,若存在再現(xiàn)終止事件,則解 釋為標(biāo)題終止,并為了進行向下一標(biāo)題的分支,向模塊管理器34進行通知。 由此,可以將重放控制引擎32終止PL再現(xiàn)的時刻作為標(biāo)題的終止。
之后,參考圖33 圖37的流程圖來說明基于重放控制引擎32的具體 的控制過程。
圖33是表示基于重放控制引擎32的PL再現(xiàn)控制過程的流程圖。該再 現(xiàn)過程主要包含對于展示引擎31的控制(步驟S46)和對于BD-ROM驅(qū)動 器1或HDD17的控制(步驟S48)。將本流程圖中作為處理對象的Playltem 設(shè)作Playltem#x。本流程圖進行當(dāng)前PL信息(.mpls)的讀取(步驟S41), 之后,執(zhí)行步驟S42 步驟S50的處理。這里,步驟S42 步驟S50在步驟 S49為"是"之前,對于構(gòu)成當(dāng)前PL信息的各個PI信息,重復(fù)進行步驟 S43 步驟S50的處理的循環(huán)處理。將該循環(huán)處理中作為處理對象的 Playltem稱作Playltem#x (PI弁x)。該Playltem#x通過設(shè)定為當(dāng)前PL的頭 的Playltem來進行初始化(步驟S42)。上述的循環(huán)處理的終止要件是該 Playltem弁x是當(dāng)前PL的最后的Playltem(步驟S49),若是最后的Playltem, 則將當(dāng)前PL的下一 Playltem設(shè)定為Playltem#x (步驟S50)。
循環(huán)處理中重復(fù)執(zhí)行的步驟S43 步驟S50將由Playltem#x的 Clip—information—file_name指定的Clip信息讀入到腳本存儲器21中(步驟 S43),并使用當(dāng)前Clip信息的Epmap,來將Playltem#x的In—time轉(zhuǎn)換為 I圖像地址u (步驟S44),使用當(dāng)前Clip信息的EP_map來將Playltem弁x 的Out—time轉(zhuǎn)換為I圖像地址v (步驟S45),并求出通過這些轉(zhuǎn)換得到的 地址v的下一 I圖像之后,將該地址的前一個設(shè)定為地址w (步驟S47)。 使用這樣算出的地址w,來向BD-ROM驅(qū)動器1或HDD17命令從I圖像 地址u到地址w的TS包的讀出(步驟S48)。
另一方面,對展示引擎31,命令從當(dāng)前PLMark的mark—time—stamp 到Playltem弁x的Out—time為止的輸出(步驟S46)。通過以上的步驟S45 步驟S48,在AVCIip中,進行由Playltem弁x指示的部分的再現(xiàn)。
之后,判斷Playltem弁x是否為當(dāng)前PL的最后的PI (步驟S49)。
若Playltem#x不是當(dāng)前PL的最后的PI,則將當(dāng)前PL中的下一 Playltem設(shè)定為Playltem#x (步驟S50),而回到步驟S43。通過重復(fù)以上的 步驟S43 步驟S50,依次再現(xiàn)構(gòu)成PL的 PI。
圖34是表示角度切換過程和Skip Back、 Skip Next的過程的流程圖。 本流程圖與圖33的處理過程并行,重復(fù)由步驟S51 S52構(gòu)成的循環(huán)處理。 本循環(huán)中的步驟S51中判斷請求角度切換的API是否是從Java虛擬機38 調(diào)用的,若存在角度切換API的調(diào)用,則執(zhí)行切換當(dāng)前Clip信息的操作。
圖34的步驟S55是判斷步驟,進行Playltem#x的is—multi—angles是否 為ON的判斷,所謂is—multi—angles是表示Playltem井x是否對應(yīng)于多角度 的標(biāo)志,若步驟S55為"否",則進入到步驟S53。若步驟S55為"是", 則執(zhí)行步驟S56 步驟S59。步驟S56 步驟S59將切換后的角度號代入自 變量y (步驟S56),并向腳本存儲器21讀出由Playltem#x中的第y的 Clip—information—file—name指定的Clip信息(步驟S57),使用當(dāng)前Clip信 息的EP_map將當(dāng)前PTM轉(zhuǎn)換為I圖像地址u(步驟S58),并使用當(dāng)前Clip 信息的EP—map來將Playltem#x的Out—time轉(zhuǎn)換為I圖像地址v (步驟 S59)。這樣,在變化了I圖像地址u、 v后,進入到步驟S46。由于通過向 步驟S46的進入,從其他AVClip讀出TS包,所以切換視頻內(nèi)容。
另一方面,圖34的循環(huán)中的步驟S52判斷是否從Java虛擬機38調(diào)用 含義為Skip Back/Skip Next的API,若調(diào)用,則執(zhí)行圖35的流程圖的處理 過程。圖35是表示調(diào)用Skip Back, Skip Next API時的處理過程的流程圖。 每次執(zhí)行Skip Back, Skip Next時的處理過程多種多樣。注意這里說明的只 不過是一例。
步驟S61通過轉(zhuǎn)換用PSR表示的當(dāng)前PI號和當(dāng)前PTM,來得到當(dāng)前 Mark信息。步驟S62判斷按下的鍵是Skip Next鍵還是Skip Back鍵,若是 SkipNext鍵,則在步驟S63中將方向標(biāo)志設(shè)定為+ 1,若為SkipBack鍵, 則在步驟S64中將方向標(biāo)志設(shè)定為一l。
步驟S65將在當(dāng)前PLMark的號上補上了方向標(biāo)志的值后的號設(shè)定為當(dāng) 前PLMark的號。這里,若是SkipNext鍵,則將方向標(biāo)志設(shè)定為+ 1,所以 增加當(dāng)前PLMark。若是SkipNext鍵,則將方向標(biāo)志設(shè)為一l,所以減去當(dāng) 前PLMark。
步驟S66中,將在當(dāng)前的PLMark的ref—to一Playltem一Id上描述的PI設(shè) 為 Playltem弁x , 在步驟 S67 中,讀入由 Playltem # x的 Clip—information—file—name指定的Clip信息。在步驟S68中,使用當(dāng)前Clip 信息的EP—map,來將當(dāng)前PLMark的mark_time_stamp轉(zhuǎn)換為I圖像地址u。 另一方面,在步驟S69中,使用當(dāng)前Clip信息的EP—map將Playltem#x 的Out—time轉(zhuǎn)換為I圖像地址v。步驟S70在向展示引擎31命令從當(dāng)前 PLMark的mark—time—stamp到Playltem弁x的Out—time的輸出后,進入到 圖33的步驟S47。這樣,在變化I圖像地址u、 v后,命令其他部分的再現(xiàn) 后,向步驟S47進入,所以變?yōu)閺钠渌鸄VClip中讀出TS包,實現(xiàn)切換視 頻內(nèi)容。
圖36是表示基于展示引擎31的處理過程的細節(jié)的流程圖。本流程圖 在將I圖像的PTS設(shè)定為當(dāng)前PTM后(步驟S71),執(zhí)行由步驟S72 步驟 S77構(gòu)成的循環(huán)處理。
接著,說明步驟S72 步驟S77中的循環(huán)處理。該循環(huán)處理重復(fù)相當(dāng)于 當(dāng)前PTM的圖像、音頻的再現(xiàn)輸出和當(dāng)前PTM的更新。本循環(huán)處理中的 步驟S76規(guī)定循環(huán)處理的終止要件。gp,步驟S76將當(dāng)前PTM為PIttx的 Out_time情況作為循環(huán)處理的終止要件。
步驟S73判斷是否從Java虛擬機38調(diào)用快進API或快倒API。若是, 則在步驟S78中進行快進或快倒的判斷,若是快進,則將下一 I圖像的PTS 設(shè)作當(dāng)前PTM (步驟S79)。這樣,通過將當(dāng)前PTM設(shè)定為下一 I圖像的 PTS,可以在一秒中很快地再現(xiàn)AVClip。由此,AVClip以2倍速等沿順方 向很快再現(xiàn)。若是快倒,則判斷當(dāng)前PTM是否達到Playltem弁x的Out—time (步驟S80)。若沒有達到,則將前一個I圖像的PTS設(shè)定為當(dāng)前PTM (步 驟S81)。通過這樣將讀出目標(biāo)地址A設(shè)作前一個的I圖像,可以沿后方向 在一秒內(nèi)很快再現(xiàn)AVClip。由此,以2倍速等沿逆方向來再現(xiàn)AVClip。另 外,執(zhí)行快進、倒帶時的處理過程多種多樣。注意這里說明的只不過是一 例。
步驟S74判斷是否調(diào)用菜單調(diào)用API,若調(diào)用,則掛起當(dāng)前的再現(xiàn)處 理(步驟S82),執(zhí)行菜單處理用菜單程序(步驟S83)。通過以上的處理, 在進行了菜單調(diào)用的情況下,在中斷再現(xiàn)處理后,執(zhí)行菜單顯示用的處理。
步驟S75通過Syn_PlayItem—id判斷是否存在指定了 Playltem弁x的 SubPlayItem#y,若存在,則進入到圖37的流程圖。圖37是表示SubPlayltem 的再現(xiàn)過程的流程圖。本流程圖中,首先在步驟S86中,判斷當(dāng)前PTM是 否是SubPlayltem弁y的sync—start—of—playltem。若這樣,則在步驟S93中 通知重放控制引擎32進行基于SubPlayltem弁y的再現(xiàn)處理。
圖37的步驟S87 步驟S92是表示基于SubPlayltem#y的再現(xiàn)處理的 流程圖。
在步驟S87中,讀入通過SubPlayltem井y的Clip—information—file—name 指定的Clip信息。在步驟S88中,使用當(dāng)前Clip信息的EP—map,將 SubPlayltem弁y的In—time轉(zhuǎn)換為地址a 。另一方面,在步驟S89中,使用 當(dāng)前Clip信息的EP—map,將SubPlayltem井y的Out—time轉(zhuǎn)換為地址P 。 步驟S90向譯碼器命令從SubPlayltem弁y的In—time到SubPlayltem弁y的 Out—time的輸出。求出通過這些轉(zhuǎn)換得到的地址3的下一I圖像,并將該地 址的前一個設(shè)作地址y (步驟S91),使用這樣算出的地址y,向BD-ROM 驅(qū)動器l或HDD17命令從SubClip弁z的地址a到地址y的TS包的讀出(步 驟S92)。
另外,回到圖33來進行重放控制引擎32的處理的說明的繼續(xù)。步驟 S53是基于展示引擎31的再現(xiàn)控制是否完成的判斷,對于最后的 PlayItem#X,只要進行圖36的流程圖的處理,步驟S53成為"否"。圖36 的流程圖的處理終止后,步驟S53才變?yōu)?是",并進入到步驟S54。步驟 S54是向Java虛擬機38的再現(xiàn)終止事件的輸出,通過該輸出,Java虛擬機 38可以知道兩個小時的再現(xiàn)時間的經(jīng)過。
以上是本實施方式中的重放控制引擎32、展示引擎31的處理。接著說 明本實施方式中應(yīng)用程序管理器36的處理過程。圖38是表示第五實施方 式的應(yīng)用程序管理器36的處理過程的流程圖。
圖38的流程圖改進了圖27的流程圖。其改進點是,在步驟S21 —步驟 S22之間追加了步驟S24,在該步驟S24為"是"時,存在所執(zhí)行的步驟 S101。
步驟S24判斷工作存儲器37中是否存在JMF播放器實例,若不存在, 則進入到步驟S22。若存在,則進入到步驟S101。步驟S101判斷是否從重
放控制引擎32輸出了再現(xiàn)終止事件,若輸出了,則在消除工作存儲器中的 Java播放器實例后(步驟S102),向模塊管理器34通知標(biāo)題終止(步驟S26)。 若沒有通知,則重復(fù)由步驟S21 步驟S24構(gòu)成的循環(huán)處理。
在以上的流程圖中,只要在工作存儲器37上存在JMF播放器實例(步 驟S24中為"是"),就跳過步驟S22、步驟S23。因此,例如,即使所有的 應(yīng)用程序終止,也解釋為標(biāo)題繼續(xù)中。
如上這樣,根據(jù)本實施方式,應(yīng)用程序管理器36可以把握兩個小時的 再現(xiàn)時間的經(jīng)過時刻,所以可以實現(xiàn)在PL再現(xiàn)的終止條件上顯示菜單,并 根據(jù)對于該菜單的操作來分支到其他標(biāo)題的控制。 (第六實施方式)
第六實施方式涉及在BD-J對象上設(shè)置了數(shù)據(jù)管理表的改進。
數(shù)據(jù)管理表(DMT)是表示在其標(biāo)題時間軸上使應(yīng)裝載到本地存儲器 29上的Java歸檔文件與讀入屬性和讀入優(yōu)先級對應(yīng)的表。所謂本地存儲器 29中的生存是指可從本地存儲器29中讀出構(gòu)成該應(yīng)用程序的Java歸檔文 件,并傳送到Java虛擬機38內(nèi)的工作存儲器37的狀態(tài)。圖39是表示數(shù)據(jù) 管理表的一例的圖。如該圖所示,數(shù)據(jù)管理表表示應(yīng)用程序的"生存區(qū)間"、 識別具有該生存區(qū)間的應(yīng)用程序的"applicationID"和該應(yīng)用程序的"讀入 屬性"、"讀入優(yōu)先級"。
如上所述,應(yīng)用程序管理表中存在稱作生存區(qū)間的概念,數(shù)據(jù)管理表 中也存在相同的生存區(qū)間的概念。將與應(yīng)用程序管理表相同的概念設(shè)置在 數(shù)據(jù)管理表中,看上去認為浪費,但是其有含義。
圖40是表示BD-J對象假定的執(zhí)行模型的圖。該圖中的執(zhí)行模型由 BD-ROM、本地存儲器29、 Java虛擬機38構(gòu)成,表示BD-ROM、本地存 儲器29、工作存儲器37三者的關(guān)系。箭頭myl表示BD-ROM—本地存儲 器29之間的讀入,箭頭my2表示本地存儲器29—工作存儲器37之間的讀 入。箭頭上的注解表示在怎樣的定時下進行這些讀取?;谧⒔?,BD-ROM —本地存儲器29之間的讀入是所謂的"先讀",必須在需要應(yīng)用程序之前 的時刻進行。
另外,若基于注解,則清楚在需要應(yīng)用程序時進行本地存儲器29—工 作存儲器37之間的讀入。所謂"需要時"是指應(yīng)用程序的生存區(qū)間到來時
刻(1)和從其他應(yīng)用程序或應(yīng)用程序管理器36指示了應(yīng)用程序的調(diào)用的 時刻(2)。
箭頭my3表示工作存儲器37中的應(yīng)用程序的占有區(qū)域的釋放,箭頭 my4表示本地存儲器19中的應(yīng)用程序的占有區(qū)域的釋放。箭頭上的注解表 示在哪個定時上進行這些讀入。若基于注解,則明白與應(yīng)用程序終止同時 進行工作存儲器37上的釋放。另一方面,在對于Java虛擬機38來說不需 要的時刻進行本地存儲器29上的釋放。所謂不需要的時刻不是"終止時刻"。 是指"終止后,沒有重新啟動的可能性的時刻",即,該title終止的時刻。 從應(yīng)用程序管理表中的生存區(qū)間來判斷上述的讀入 釋放中工作存儲器37 中的釋放時刻。但是不能對"需要應(yīng)用程序之前的時刻"、"終止后,沒有 重新啟動的可能性的時刻"進行規(guī)定。因此,在授權(quán)階段中,由于在盤內(nèi) 容整體的時間軸上規(guī)定了該時刻,所以在本實施方式中,將各應(yīng)用程序生 存的區(qū)間描述在與應(yīng)用程序管理表不同的數(shù)據(jù)管理表上。即,將"需要應(yīng) 用程序之前的時刻"定義為數(shù)據(jù)管理表中的生存區(qū)間的始點,將"終止后, 沒有重新啟動的可能性的時刻"定義為數(shù)據(jù)管理表的終點,從而可以在授 權(quán)時規(guī)定上述本地存儲器29上的存儲內(nèi)容的遷移。其是數(shù)據(jù)管理表的描述 意義。
說明基于數(shù)據(jù)管理表的本地存儲器29生存區(qū)間的描述。這里要制作的 盤內(nèi)容由三個標(biāo)題(title#l、 titile#2、 title#3)構(gòu)成,這些標(biāo)題的時間軸上, 認為要以如圖41 (b)所示的定時,使用本地存儲器29。這時,在title#l 時間軸的開始點中將構(gòu)成application//1、 application/^的Java歸檔文件讀入 到本地存儲器29中,在title#l時間軸的繼續(xù)中,使application 1 、 application^常駐在本地存儲器29上。并且,在title#2時間軸的起始點, 從本地存儲器29中釋放構(gòu)成applications的Java歸檔文件,并代替此,將 構(gòu)成application#3的Java歸檔文件讀入到本地存儲器29中,而進行常駐(之 后,構(gòu)成應(yīng)用程序的Java歸檔文件與應(yīng)用程序同樣地處理)。這時的數(shù)據(jù)管 理表的描述如圖41 (a)那樣,通過與其生存區(qū)間對應(yīng)地描述應(yīng)用程序的 applicationID,來表現(xiàn)應(yīng)在本地存儲器29中常駐的應(yīng)用程序。圖41 (a)中, 可以看出與title#l對應(yīng)地來描述application^的applicationID,與title#l 、 title#2對應(yīng)地來描述application#2的applicationID,與title#3對應(yīng)地來描述
applications的applicationID。由此,通過授權(quán)承擔(dān)者來規(guī)定本地存儲器29 占有的時間遷移。
作為數(shù)據(jù)管理表、應(yīng)用程序管理表的組合,最好在應(yīng)用程序管理表中 規(guī)定的生存區(qū)間為小的再現(xiàn)單位,在數(shù)據(jù)管理表中規(guī)定的生存區(qū)間為大的 再現(xiàn)單位。大的再現(xiàn)單位最好是標(biāo)題、PL這樣的非無縫的再現(xiàn)單位。另一 方面,作為小的再現(xiàn)單位,最好是如PL內(nèi)的章節(jié)那樣的無縫的再現(xiàn)單位。 若按每個標(biāo)題、PL來定義應(yīng)用程序的生存區(qū)間,由于應(yīng)用程序存在于工作 存儲器29上,所以在其標(biāo)題的再現(xiàn)中為無論何時都可取出應(yīng)用程序的狀態(tài)。 若這樣,由于即使精細地定義應(yīng)用程序的生存區(qū)間,也可立即將應(yīng)用程序 讀出到虛擬機上的工作存儲器上,所以即使頻繁進行應(yīng)用程序的啟動 終 止,也可實現(xiàn)平滑地執(zhí)行應(yīng)用程序。
接著,說明讀入屬性。
圖2中,以Java歸檔文件記錄在與AVClip不同的記錄區(qū)域上為前提。 但是,其不過是一例。Java歸檔文件存在嵌入到BD-ROM中AVClip所占 有的記錄區(qū)域的情況。該嵌入的方式有循環(huán)(carousel)、交叉單元化兩種。
這里所謂"循環(huán)"是指為實現(xiàn)對話廣播而轉(zhuǎn)換為重復(fù)同一內(nèi)容的廣播 方式。BD-ROM雖然沒有存儲廣播的數(shù)據(jù),但是在本實施方式中,模仿循 環(huán)的廣播形式來存儲JAVA歸檔文件。圖42是表示基于循環(huán)的Java歸檔文 件嵌入的圖。第一級是在AVClip中嵌入的Java歸檔文件,第二級表示分段 化。第三級表示TS包化,第四級表示構(gòu)成AVClip的TS包串。將這樣分段 化、TS包化的數(shù)據(jù)(圖中的"D")嵌入到AVClip中。通過循環(huán),在AVClip 中多路復(fù)用的Java歸檔文件在每次讀出時,低頻讀出。由于該低頻的讀出 需要大致2 3分鐘這樣的長時間,所以再現(xiàn)裝置花費2 3分鐘來讀入Java 歸檔文件。
圖43表示基于交叉的Java歸檔文件嵌入的圖。第一級是應(yīng)嵌入的 AVClip,第二級是在AVClip中交叉的Java歸檔文件,第三級是BD-ROM 的記錄區(qū)域中的AVClip配置。如該圖所示,應(yīng)嵌入在流中的Java歸檔文件 進行交叉后,記錄在形成構(gòu)成AVClip的XXXXX.m2ts的分割部分(圖中的 AVClip2/4, 3/4)的間隔上。通過交叉在AVClip上多路復(fù)用的Java歸檔文 件,與循環(huán)比較,以高頻帶讀出。由于是該高頻帶的讀出,所以再現(xiàn)裝置
在較短期間讀入Java歸檔文件。
不預(yù)先裝載循環(huán) 交叉后的Java歸檔文件。在當(dāng)前的再現(xiàn)時刻到達 BD-ROM中的AVClip的記錄區(qū)域中的、嵌入了循環(huán) 交叉后的Java歸檔 文件的部分時,裝載到再現(xiàn)裝置的本地存儲器29中。Java歸檔文件的記錄 形態(tài)除了圖2所示的形態(tài)之外,有圖42、圖43 (a)所示的形態(tài),所以如 圖43 (b)所示那樣來設(shè)置讀入屬性。如圖43 (b)所示,讀入屬性有表示 在標(biāo)題再現(xiàn)之前、并向本地存儲器29讀入的"Preload"、和表示在標(biāo)題再 現(xiàn)中以循環(huán)方式讀入的"Load.Carousd"、以及表示在標(biāo)題再現(xiàn)中以交叉方 式讀入的"Load.InterLeave"。讀入屬性中用后綴來表現(xiàn)循環(huán)或交叉,但是 也可省略。
參考圖44來說明數(shù)據(jù)管理表中的生存區(qū)間的具體的描述例。圖44 (a) 是表示數(shù)據(jù)管理表的一例的圖。圖44 (b)是表示基于該數(shù)據(jù)管理表的分配 的本地存儲器29的存儲內(nèi)容的變化的圖。該圖在縱軸方向上表示本地存儲 器29中的占有區(qū)域,橫軸為一個標(biāo)題內(nèi)的PL時間軸。由于數(shù)據(jù)管理表中, applications描述為一個標(biāo)題內(nèi)的PL時間軸整體為生存區(qū)間,所以在該標(biāo) 題的Chapter弁1 Chapter井5中占有本地存儲器29內(nèi)的區(qū)域。application^ 描述為在數(shù)據(jù)管理表中使標(biāo)題內(nèi)的PL#1中的Chapter^ 1 Chapter弁2為 生存區(qū)間,所以在該標(biāo)題的Chapter弁l Chapter弁2中占有本地存儲器29 內(nèi)的區(qū)域。由于application井3描述為在數(shù)據(jù)管理表中使標(biāo)題內(nèi)的PL弁l中 的Chapter#4 Chapter#5為生存區(qū)間,所以在該標(biāo)題的Chapter弁4 Chapter弁5中占有本地存儲器29內(nèi)的區(qū)域。結(jié)束以上對數(shù)據(jù)管理表中的生 存區(qū)間的說明。
接著說明讀入優(yōu)先級。所謂讀入優(yōu)先級是指決定對于向本地存儲器29 的讀入的優(yōu)劣的優(yōu)先級。讀入優(yōu)先級有多個值。在想要設(shè)置兩個等級的優(yōu) 劣的情況下,將表示強制(Mandatory)的值、表示可選(optional)的值設(shè) 定為讀入優(yōu)先級。這時,Mandatory是指高的讀入優(yōu)先級,optional是指低 的讀入優(yōu)先級。在想要設(shè)置三個等級的優(yōu)劣的情況下,將表示Mandatory 的值、表示optional: high、 optional: low的值設(shè)定為讀入優(yōu)先級。Mandatory 表示最高的讀入優(yōu)先級,optional: high表示中等的讀入優(yōu)先級,optional: low表示最低的讀入優(yōu)先級。參考圖45 (a)、 (b)來說明數(shù)據(jù)管理表中的
讀入優(yōu)先級的具體的描述例。在該具體例中,假定的本地存儲器29的存儲 器規(guī)模如圖45 (a)所示。圖45 (a)是對比表示新舊再現(xiàn)裝置中的本地存 儲器29的存儲器規(guī)模的圖。箭頭mkl表示舊再現(xiàn)裝置中的存儲器規(guī)模,箭 頭mk2表示新再現(xiàn)裝置中的存儲器規(guī)模。根據(jù)該箭頭的對比,假定新再現(xiàn) 裝置中的本地存儲器29的存儲器規(guī)模與舊再現(xiàn)裝置的存儲器規(guī)模相比為三 倍以上的狀態(tài)。這樣,在存儲器規(guī)模有偏差的情況下,應(yīng)用程序分類為如 圖45所示那樣的兩個組。第一個無論是什么樣的存儲器規(guī)模都應(yīng)讀入的應(yīng) 用程序(#1, #2)。第二個是不希望舊再現(xiàn)裝置的讀入,但是希望新再現(xiàn) 裝置的讀入的應(yīng)用程序(#3, #4)。若將要讀入的應(yīng)用程序分類為這兩個 組,則在屬于前者的應(yīng)用程序上設(shè)置讀入優(yōu)先級二Mandatory,并在屬于后 者的應(yīng)用程序上設(shè)置讀入優(yōu)先級二Optional。圖45 (b)是表示設(shè)置了讀入 優(yōu)先級的數(shù)據(jù)管理表的一例的圖。若這樣來設(shè)置數(shù)據(jù)管理表后,將 application 1 application糾記錄在BD-ROM上,則保證了一切的存儲器規(guī) 模的再現(xiàn)裝置上的再現(xiàn),同時在存儲器規(guī)模大的再現(xiàn)裝置上,可以使再現(xiàn) 裝置再現(xiàn)利用了更大的大小的數(shù)據(jù)的應(yīng)用程序。
以上是對于本實施方式的記錄媒體的改進。接著說明對于本實施方式 中的再現(xiàn)裝置的改進。由于對應(yīng)于上述的記錄媒體的改進,所以應(yīng)用程序 管理器36以圖46所示的處理過程來進行處理。
圖46是表示基于應(yīng)用程序管理器36的預(yù)裝載控制的處理過程的圖。 本流程圖構(gòu)成如下的循環(huán)處理在讀入應(yīng)再現(xiàn)的標(biāo)題中的數(shù)據(jù)管理表(步 驟Slll)、在數(shù)據(jù)管理表中具有最高的讀入優(yōu)先級,同時,將applicaitonID 最小的應(yīng)用程序設(shè)為應(yīng)用程序i后(步驟S112),在經(jīng)過了步驟S113、步驟 S114的判斷后,重復(fù)進行將應(yīng)用程序i預(yù)裝載到本地存儲器29上(步驟 S115)的處理,直到判斷為步驟S116為"否"和步驟S117為"否"。
步驟S113判斷應(yīng)用程序i的讀入屬性是否是預(yù)裝載,步驟S114判斷應(yīng) 用程序的讀入優(yōu)先級是二Mandatory還是Optional。若在步驟S113中判斷 為預(yù)裝載,在步驟S114中將讀入優(yōu)先級判斷為Mandatory,則將應(yīng)用程序 預(yù)裝載到本地存儲器29中(步驟S115)。若在步驟S113中判斷為讀入屬性 是裝載,則跳過步驟S114 步驟S115。
規(guī)定循環(huán)處理的終止要件的兩個步驟中步驟S116,判斷是否存在
applicationID次高、讀入優(yōu)先級與應(yīng)用程序I相同的應(yīng)用程序k。若存在這 種應(yīng)用程序k,將該應(yīng)用程序k設(shè)為應(yīng)用程序i (步驟S119)。
規(guī)定循環(huán)處理的終止要件的兩個步驟中步驟S117判斷數(shù)據(jù)管理表中是 否存在具有次低的讀入優(yōu)先級的應(yīng)用程序,若存在,將具有該次低的讀入 優(yōu)先級的應(yīng)用程序中最小的appdationlD中選作應(yīng)用程序k (步驟S118), 將該應(yīng)用程序k設(shè)作應(yīng)用程序K步驟S119)。只要這些步驟S116、步驟S117 為"是",則重復(fù)上述的步驟S113 步驟S115的處理。步驟S116、步驟S117 中,若沒有相應(yīng)的應(yīng)用程序,則本流程圖的處理終止。
步驟S120 步驟S123是在步驟S14中判斷為讀入優(yōu)先級二Optional
的情況下執(zhí)行的處理。
步驟S120判斷是否存在具有相同的applicationID、且讀入優(yōu)先級高的
應(yīng)用程序j。
步驟S121判斷本地存儲器29的殘留容量是否高于應(yīng)用程序i的大小。 在步驟S120為"否",步驟S121為"是"的情況下,在步驟S115中,將 應(yīng)用程序i預(yù)裝載到本地存儲器29中。在步驟S120為"否",步驟S121 為"否"的情況下,不將應(yīng)用程序i裝載到本地存儲器29上而仍進入到步 驟S116。
這樣,若讀入優(yōu)先級二Optional的數(shù)據(jù)在步驟S120—步驟S121的判斷 不是"是"時,不進行向本地存儲器29的預(yù)裝載。存儲器規(guī)模小的舊再現(xiàn) 裝置為讀入了2 3個應(yīng)用程序的程度,在步驟S121的判斷為"否",但是 存儲器規(guī)模大的新再現(xiàn)裝置即使讀入更多的應(yīng)用程序,步驟S121的判斷也 不成為"否"。如上這樣,在舊再現(xiàn)裝置中,僅向本地存儲器29讀入Mandatory 的應(yīng)用程序,向新再現(xiàn)裝置讀入Mandatoiy的應(yīng)用程序和Optional的應(yīng)用程 序。
步驟S122是在步驟S120中判斷為"是"的情況下執(zhí)行的步驟。在本 地存儲器29上存在具有同一 applicationID、且讀入優(yōu)先級高的應(yīng)用程序j 的情況下,判斷本地存儲器29的剩余容量和應(yīng)用程序j的大小的和是否超 過了應(yīng)用程序i的大小(步驟S122),若超過,則通過使用應(yīng)用程序i來覆 蓋本地存儲器29上的應(yīng)用程序j,來進行預(yù)裝載(步驟S123)。在低的情況 下,不將應(yīng)用程序i預(yù)裝載到本地存儲器29中來原樣進入到步驟S116。
參考圖47 (a)來說明基于步驟S115、步驟S123的讀入處理的一例。 圖47 (a)是表示該具體例假定的數(shù)據(jù)管理表的一例的圖。將該圖中的三個 應(yīng)用程序分別存儲在三個文件中,applicationID相同(applicationID=l ),但 是讀入優(yōu)先級分另lj不同(mandatory, optional: high, optional: low)。若這 樣的數(shù)據(jù)管理表為處理對象,則通過步驟S115,將讀入優(yōu)先級二Mandatoiy 的應(yīng)用程序讀入到本地存儲器29中。但是,對于讀入優(yōu)先級二Optional的 應(yīng)用程序,在經(jīng)過了步驟S120 步驟S122的判斷后,在步驟S123中進行 讀入。在與步驟S115不同的步驟S123中,由于進行預(yù)裝載,以使其覆蓋 己經(jīng)存在于本地存儲器29中的相同的applicationID的應(yīng)用程序,所以排他 地將多個應(yīng)用程序中的一個裝載到本地存儲器29中。
i) 在讀入了讀入優(yōu)先級二mandatory的應(yīng)用程序后,每次讀入讀入優(yōu) 先級二optional: high的應(yīng)用程序時,若步驟S122判斷為"否",則在本地 存儲器29中保留讀入優(yōu)先級二mandatory的應(yīng)用程序。在讀入了讀入優(yōu)先 級二mandatory的應(yīng)用程序后,每次讀入讀入優(yōu)先級-option: high的應(yīng)用 程序時,若步驟S122判斷為"是",則通過讀入優(yōu)先級-optional: high的 應(yīng)用程序,來覆蓋讀入優(yōu)先級二mandatory的應(yīng)用程序,并在本地存儲器29 中保留讀入優(yōu)先級二叩tional: high的應(yīng)用程序。
ii) 在讀入了讀入優(yōu)先級二optional: high的應(yīng)用程序后,每次讀入讀 入優(yōu)先級二optionah low的應(yīng)用程序時,若步驟S122判斷為"否",則在 本地存儲器29中保留讀入優(yōu)先級二Mandatory的應(yīng)用程序。在讀入了讀入 優(yōu)先級二optional: high的應(yīng)用程序后,每次讀入讀入優(yōu)先級=optional: low 的應(yīng)用程序時,若步驟S122判斷為"是",則通過讀入優(yōu)先級二optional: low的應(yīng)用程序,來覆蓋讀入優(yōu)先級二optional: high的應(yīng)用程序(步驟 S123),在本地存儲器29中保留讀入優(yōu)先級二叩tional: low的應(yīng)用程序。
由于只要本地存儲器29的容量允許,重復(fù)覆蓋本地存儲器29上的應(yīng) 用程序的處理,所以本地存儲器29的存儲內(nèi)容如圖47 (b)所示,而變?yōu)?mandatory=optional:high=>optional:Iow。由于可以根據(jù)存儲器規(guī)模,將大小 不同的Java歸檔文件裝載到本地存儲器29中,所以對于存儲器規(guī)模小的再 現(xiàn)裝置,將具有必要最小限度的分辨率的縮略圖像的Java歸檔文件裝載到 本地存儲器29中,對于存儲器規(guī)模為中等程度的再現(xiàn)裝置,將具有中等程
度的分辨率的SD圖像的Java歸檔文件裝載到本地存儲器29中,對于存儲 器規(guī)模大規(guī)模的再現(xiàn)裝置,將具有高分辨率的HD圖像的Java歸檔文件裝 載到本地存儲器29中。通過該裝載,可以根據(jù)存儲器大小來顯示分辨率不 同的圖像,授權(quán)承擔(dān)者的標(biāo)題制作的表現(xiàn)范圍寬。
圖48是表示參考數(shù)據(jù)管理表的讀取處理的具體例的圖。該圖中的兩個 應(yīng)用程序是表示添加了同一applicationID (application^)的兩個應(yīng)用程序。 其中一個嵌入到AVClip中,將讀入優(yōu)先級設(shè)定為mandatory。另一方面, 記錄在與AVClip不同的文件中,將記錄優(yōu)先級設(shè)定為Optional。由于將前 者的應(yīng)用程序嵌入到AVClip中,所以相當(dāng)于該嵌入部分的生存區(qū)間描述為 生存區(qū)間(title#l: chapter#4 #5)。在這些應(yīng)用程序中application#2、 application弁3上添加了表示裝載的讀入屬性。由于application^ 2將Chapter #l Chapter#2作為生存區(qū)間,application#3將Chapter弁4 Chapter弁5 作為生存區(qū)間,所以在標(biāo)題時間軸上排他性地在本地存儲器29上常駐其中 一個。圖48 (b)是表示在標(biāo)題時間軸上的不同的時刻,排他性地存儲的 application#2、 application井3的圖。其是考慮了僅要在必要最低限度的存 儲器規(guī)模的再現(xiàn)裝置上的再現(xiàn)為目的的。若這種內(nèi)容的數(shù)據(jù)管理表為處理 對象,則應(yīng)用程序管理器36通過上述的圖46的流程圖來根據(jù)存儲器規(guī)模 進行不同的處理。
由于讀入優(yōu)先級=裝載,所以將后者的應(yīng)用程序裝載到本地存儲器29 上。通過該處理,只要有Mandatory的存儲器規(guī)模,則應(yīng)用程序管理器可以 將數(shù)據(jù)裝載到本地存儲器29上。這里成為問題的是基于存儲器規(guī)模大的再 現(xiàn)裝置的讀入時。不管存儲器規(guī)模大小,在到達Chapter弁4 Chapter弁5 之前,不讀入application井3是存儲器規(guī)模的浪費。因此,在該圖的數(shù)據(jù)管 理表中向同一 applications添加表示預(yù)裝載的讀入屬性而記錄在BD-ROM 上,并向其添加相同的applicationID。
由于前者的應(yīng)用程序讀入優(yōu)先級二Optional,所以只要是步驟S121為" 是"的情況下,就進行預(yù)裝載(步驟S115)。由此,存儲器規(guī)模大的再現(xiàn)裝 置可以將與在AVClip中嵌入的應(yīng)用程序相同的應(yīng)用程序裝載到本地存儲器 中,而不用等待title弁l、 Chapter弁4 Chapter弁5的到達(圖48 (c))。
以上是預(yù)裝載時的處理。接著說明裝載時的處理過程。
圖49是表示基于數(shù)據(jù)管理表的裝載處理的處理過程的圖。本流程圖在 持續(xù)標(biāo)題再現(xiàn)的期間,重復(fù)進行由步驟S131 步驟S133構(gòu)成的循環(huán)處理。
步驟S131是具有表示AutoRim的啟動屬性的應(yīng)用程序的生存區(qū)間是否 到來的判斷。若到來,則將具有表示AutoRun的啟動屬性的應(yīng)用程序設(shè)作 應(yīng)用程序q (步驟S134),向Java虛擬機38發(fā)出表示啟動應(yīng)用程序q的啟 動指示,并從本地存儲器29向工作存儲器37讀出應(yīng)用程序q(步驟S135)。
步驟S133判斷標(biāo)題內(nèi)PL的再現(xiàn)是否完全終止。該判斷如第五實施方 式,通過是否存在來自重放控制引擎32的再現(xiàn)終止事件來進行。若終止, 則終止本流程圖的處理。
步驟S132判斷是否有來自啟動中應(yīng)用程序的調(diào)用。若有,則將調(diào)用目 標(biāo)應(yīng)用程序設(shè)為應(yīng)用程序q (步驟S136),判斷當(dāng)前的再現(xiàn)時刻是否是應(yīng)用 程序管理表中的應(yīng)用程序q的生存區(qū)間(步驟S137)。若不是生存區(qū)間,則 顯示啟動失敗(步驟S148),回到由步驟S131 步驟S133構(gòu)成的循環(huán)處理。 若是生存區(qū)間,則根據(jù)圖50的流程圖來進行裝載處理。
圖50中的步驟S138判斷表示當(dāng)前再現(xiàn)時刻是否是數(shù)據(jù)管理表中的應(yīng) 用程序q的生存區(qū)間。若不是生存區(qū)間,則不能將應(yīng)用程序q裝載到本地 存儲器29中。這時,向Java虛擬機38發(fā)出表示啟動應(yīng)用程序q的啟動指 示,并直接將應(yīng)用程序q從BD-ROM讀出到工作存儲器37中,而不用經(jīng) 過本地存儲器29。這時由于產(chǎn)生了用于讀出應(yīng)用程序的頭搜索,所以PL 再現(xiàn)中斷(步驟S145)。
若是生存區(qū)間,則在步驟S139中,判斷是否在應(yīng)用程序上添加了讀入 屬性。所謂沒有讀入屬性是指沒有循環(huán)或交叉應(yīng)用程序q。但是,即使沒有 添加讀入屬性,也允許在本地存儲器29上放置應(yīng)用程序。因此,在知道再 現(xiàn)中斷后,進行應(yīng)用程序的讀出。即,在將應(yīng)用程序從BD-ROM讀出到本 地存儲器29后,將應(yīng)用程序讀出到工作存儲器37 (步驟S140)。
步驟S141 步驟S146是在步驟S139被判斷為"是"的情況下所作的 處理。在步驟S141中,通過參考讀入屬性,來判斷是否預(yù)裝載了應(yīng)用程序。 若進行了預(yù)裝載,則進入到步驟S135。
步驟S142是在讀入屬性是裝載的情況下所執(zhí)行的判斷步驟,判斷是否 循環(huán)、交叉應(yīng)用程序q。若進行了交叉,則使Java虛擬機38執(zhí)行高速緩存
傳感(步驟S143)。若在本地存儲器29上存在應(yīng)用程序q,則進入到步驟 S135,使應(yīng)用程序q裝載到Java虛擬機38上。
若本地存儲器29上沒有應(yīng)用程序,則進行分支到頂端菜單標(biāo)題等的例 外處理(步驟S144)。若進行了循環(huán),則設(shè)置定時器(步驟S148),在該定 時器超時之前(步驟S147),使Java虛擬機38執(zhí)行高速緩存?zhèn)鞲?步驟 S146)。若在本地存儲器29上出現(xiàn)應(yīng)用程序q,則進入到圖49的步驟S135, 將應(yīng)用程序q裝載到Java虛擬機38上。若超時,則進行分支到頂端菜單標(biāo) 題等的例外處理(步驟S144)。
圖51是模式化了怎樣進行基于Java虛擬機38的應(yīng)用程序的讀入的圖。
箭頭 1、 2表示在應(yīng)用程序管理表上生存、且在數(shù)據(jù)管理表上生存、 且存在表示循環(huán)、交叉的讀入屬性的Java歸檔文件的讀入。箭頭 1表示 在步驟S65、 67中進行的本地存儲器29傳感。該本地存儲29傳感由于可 能在本地存儲器29中存在通過循環(huán)或交叉嵌入的數(shù)據(jù),所以在本地存儲器 29內(nèi)進行傳感。箭頭^2表示對應(yīng)于步驟S135的讀入,表示應(yīng)用程序存 在于本地存儲器29中的情況下的、從本地存儲器29向工作存儲器37的裝 載。帶X的箭頭表示在本地存儲器29上沒有數(shù)據(jù)的情況。
箭頭V1、 2表示在應(yīng)用程序管理表上生存、但是不在數(shù)據(jù)管理表中 生存、且讀入屬性不存在的Java歸檔文件的讀入。
箭頭V1對應(yīng)于步驟S145中的讀入,表示基于Java虛擬機38的來 自BD-ROM的直接讀取的請求。箭頭V2表示基于該要求的從BD-ROM向 工組存儲器37的Java歸檔文件讀出。
箭頭A1、 2、 3表示在應(yīng)用程序管理表上生存、在數(shù)據(jù)管理表上生存、 但是讀入屬性不存在的Java歸檔文件的讀入。
箭頭眾l對應(yīng)于步驟S140中的讀入,表示基于Java虛擬機38的來 自BD-ROM的直接讀取請求。箭頭眾2表示基于該請求的Java歸檔文件向 本地存儲器29的讀出。箭頭眾3表示從本地存儲器29向工作存儲器37的 Java歸檔文件的讀出。
如上所述,根據(jù)本實施方式,由于可以將在本地存儲器29上同時常駐 的應(yīng)用程序的數(shù)目規(guī)定為預(yù)定數(shù)目以下,所以可以盡量避免從本地存儲器 29讀出時的高速緩存損失。由于可以保證沒有高速緩存損失的應(yīng)用程序的
讀出,所以每次應(yīng)用程序調(diào)用時,不會從BD-ROM中讀出應(yīng)用程序,直到 停止AVClip的再現(xiàn)。由于沒有中途切斷AVClip再現(xiàn),所以可以保證AVClip的無縫再現(xiàn)。
(第七實施方式)
第三實施方式中,根據(jù)應(yīng)用程序的生存區(qū)間來決定非AV系標(biāo)題的時間 軸。但是,應(yīng)用程序的動作不穩(wěn)定,會有啟動的失敗和異常終止。本實施 方式提出了有啟動失敗、異常終止的情況下的失敗安全機構(gòu)。圖52 (a)是 表示第七實施方式的BD-J對象的內(nèi)部結(jié)構(gòu)的圖。與圖7 (b)相比,該圖的 新的方面是追加了播放列表管理表。
圖52 (b)是表示播放列表管理表的一例的圖。如該圖所示,播放列表 管理表由PL的指定和該PL的再現(xiàn)屬性構(gòu)成。PL的指定表示在對應(yīng)的標(biāo)題 的標(biāo)題時間軸中,可進行再現(xiàn)的PL。 PL的再現(xiàn)屬性表示是否與標(biāo)題再現(xiàn)的 開始同時自動再現(xiàn)所指定的PL (將這樣自動再現(xiàn)的PL稱作缺省PL)。
接著,參考圖53來說明怎樣通過播放列表管理表來規(guī)定標(biāo)題時間軸。 圖53 (a)是設(shè)定為再現(xiàn)屬性表示表示非自動再現(xiàn)的情況下的非AV系標(biāo)題 中的標(biāo)題時間軸的圖。這時,由于沒有再現(xiàn)缺省PL,所以非AV系標(biāo)題同 樣從應(yīng)用程序的生存區(qū)間來決定標(biāo)題時間軸。
圖53 (b)是表示將再現(xiàn)屬性設(shè)定為AutoPlay的非AV系標(biāo)題的標(biāo)題時 間軸的圖。若設(shè)定為再現(xiàn)屬性表示AutoPlay,則重放控制引擎32與非AV 系統(tǒng)標(biāo)題的再現(xiàn)開始同時,開始缺省PL的再現(xiàn)。但是,即使應(yīng)用程序正常 動作,正常終止,以PL時間軸為基準(zhǔn)來決定該標(biāo)題時間軸。
圖53 (c)表示在播放列表管理表中設(shè)定為再現(xiàn)屬性表示"AutoPlay", 應(yīng)用程序異常終止的情況。通過該異常終止,變?yōu)槭裁磻?yīng)用程序都不動作 的狀態(tài),但是缺省PL的再現(xiàn)繼續(xù)。這時,缺省PL的PL時間軸為標(biāo)題時 間軸。
圖53 (d)表示在播放列表管理表中設(shè)定為再現(xiàn)屬性表示"AutoPlay", 主應(yīng)用程序的啟動失敗的情況。這時由于基于重放控制引擎32的缺省PL 再現(xiàn)也與應(yīng)用程序的啟動失敗無關(guān)地進行,所以缺省PL的時間軸變?yōu)闃?biāo)題 時間軸。
如上所述,若將播放列表管理表的再現(xiàn)屬性設(shè)定為"AutoPlay",在Java
應(yīng)用程序的啟動中,在即使花費5 10秒的時間,進行該啟動的期間,變 為"總之是復(fù)制什么的狀態(tài)"。通過為該"總之是復(fù)制什么的狀態(tài)",可以 補償標(biāo)題執(zhí)行開始時的啟動延時。
以上是對于本實施方式中的記錄媒體的改進。接著說明對于本實施方 式的再現(xiàn)裝置的改進。
圖52 (c)是表示在分支目標(biāo)標(biāo)題的播放列表管理表中,存在將再現(xiàn)屬 性設(shè)定為AutoPlay的PL的情況下,再現(xiàn)裝置進行怎樣的處理的圖。如該 圖所示,若再現(xiàn)屬性被設(shè)定為AutoPlay的PL存在于分支目標(biāo)標(biāo)題的播放 列表管理表中,則BD-J模塊35內(nèi)的應(yīng)用程序管理器36指示重放控制引擎 32,在標(biāo)題分支緊之后開始該AutoPlayPL的再現(xiàn)。這樣,再現(xiàn)屬性為 AutoPlay的PL在標(biāo)題分支緊之后,命令再現(xiàn)開始。
由于對應(yīng)于上述的記錄媒體的改進,所以應(yīng)用程序管理器36以如圖54 所示的處理過程來進行處理。
圖54是表示第七實施方式的應(yīng)用程序管理器36的處理過程的流程圖。 本流程圖在圖38的流程圖中,在步驟S21之前追加步驟S103、步驟S104, 在步驟S21、步驟S22之間追加步驟S100,在步驟S23 步驟S26之間追 加步驟S105。
步驟S103判斷對應(yīng)的標(biāo)題的播放列表管理表的再現(xiàn)屬性是否是 AutoPlay。若是AutoPlay,則使重放控制引擎32開始對缺省PL的再現(xiàn)控 制(步驟S104)。
步驟S100判斷是否是基于展示引擎31的再現(xiàn)中。若為再現(xiàn)中,則進 入到步驟SIOI。
步驟S105是在步驟S23為"是",步驟S25為"否"的情況下執(zhí)行的 判斷步驟,表示再現(xiàn)屬性是否是AutoPlay。若為否,則向模塊管理器34通 知標(biāo)題終止。若為AutoPlay,則進入到步驟S101后繼續(xù)處理。
圖55是模式化表示通過在播放列表管理表中設(shè)定為"再現(xiàn)屬性= AutoPlay"來進行怎樣的再現(xiàn)的圖。這里,應(yīng)進行再現(xiàn)的標(biāo)題是包含疊加降 落的瓦片的游戲應(yīng)用程序的非AV系標(biāo)題。在該非AV系標(biāo)題中,若將播放 列表管理表的再現(xiàn)屬性設(shè)定為AutoPlay,則還開始基于重放控制引擎32的 缺省PL再現(xiàn)。由于并行進行游戲應(yīng)用程序的執(zhí)行和缺省PL再現(xiàn),所以如
圖55的上級的左側(cè)所示,顯示了將前景作為游戲應(yīng)用程序的畫面,將背景 作為缺省PL的再現(xiàn)圖像的合成圖像。設(shè)該游戲應(yīng)用程序在中途異常終止。 雖然游戲應(yīng)用程序通過應(yīng)用程序管理器36進行了強制終止,但是缺省PL 的再現(xiàn)繼續(xù),所以標(biāo)題變?yōu)閺?fù)制什么的狀態(tài)。通過這種播放列表管理表中 的再現(xiàn)屬性的指定,即使在非AV系統(tǒng)標(biāo)題內(nèi)的游戲應(yīng)用程序異常終止的情 況下,也可維持沒有破壞和停機的動作。 (第八實施方式)
第一實施方式中BD-J對象具有數(shù)據(jù)管理表、應(yīng)用程序管理表二個標(biāo)題, 但是本實施方式公開了將這些綜合到一個表的形態(tài)。在該綜合時,如圖56
(a) 所示,廢棄數(shù)據(jù)管理表中的讀入屬性項目,代替其,在啟動屬性上設(shè) 置稱作Ready屬性的屬性。所謂Ready屬性是指包含于來自其他應(yīng)用程序 的調(diào)用和來自應(yīng)用程序管理器36的調(diào)用中具有的、表示在本地存儲器29 上預(yù)先裝載應(yīng)用程序的啟動屬性的類型。
圖56 (b)是表示應(yīng)用程序的處理和啟動屬性的關(guān)系的圖。如第一實施 方式所示,應(yīng)用程序的處理有是否預(yù)裝載(1),當(dāng)前的再現(xiàn)時刻在有效 區(qū)間到來時自動啟動,或根據(jù)其他的調(diào)用來啟動(2),根據(jù)標(biāo)題再現(xiàn)進行 來進行裝載(3),存在有是否生存的不同,根據(jù)這些不同,出現(xiàn)了如圖56
(b) 所示的5種形態(tài)。其中,將啟動屬性設(shè)定為AutoRun的是進行預(yù)裝載, "自動啟動"的情況和進行裝載,"自動啟動"的情況。
另一方面,啟動屬性設(shè)定為Ready屬性,是表示預(yù)裝載或進行裝載、 啟動項目為"調(diào)用啟動"的情況。
另外,不會存在在工作存儲器37中生存,但是在本地存儲器29中不 進行裝載的類型。這是因為在應(yīng)用程序數(shù)據(jù)管理表中,工作存儲器37的生 存區(qū)間和本地存儲器29的生存區(qū)間一體。
作為啟動屬性,由于追加了該Ready屬性,所以應(yīng)用程序管理器36在 標(biāo)題再現(xiàn)之前,進行將啟動屬性設(shè)定為AutoRun的應(yīng)用程序和將啟動屬性 設(shè)定為Ready屬性的應(yīng)用程序預(yù)裝載到本地存儲器29中的處理。由此,即 使不設(shè)置讀入屬性,也可進行將應(yīng)用程序預(yù)裝載到本地存儲器29中的處理。
圖57是模式化怎么進行第八實施方式的基于Java虛擬機38的應(yīng)用程 序的讀入的圖。以圖51以基礎(chǔ)來做出了該圖中的讀入的表現(xiàn)圖。
箭頭 1、 2表示在應(yīng)用程序 數(shù)據(jù)管理表中生存、且將啟動屬性設(shè)
定為Ready屬性的Java歸檔文件的讀入。
箭頭眾l、 2、 3表示在應(yīng)用程序.數(shù)據(jù)管理表中生存、且啟動屬性為 Persistent的應(yīng)用程序的讀入。
這些箭頭 1、 2,箭頭眾l、 2、 3在圖51中進行了描述,但是在圖57 中不存在在圖51中描述的相當(dāng)于V1、 2的箭頭的讀入。這是因為應(yīng)用程 序 數(shù)據(jù)管理表一體化了應(yīng)用程序管理表和數(shù)據(jù)管理表,所以不能表現(xiàn)應(yīng) 用程序管理表=生存、數(shù)據(jù)管理表=不存在的組合。
如上所述,根據(jù)本實施方式,由于可以將數(shù)據(jù)管理表、應(yīng)用程序管理 表整理為一個表(應(yīng)用程序數(shù)據(jù)管理表),所以可以簡化基于應(yīng)用程序管理 器36的處理。另外,通過沒有讀入優(yōu)先級,可以更簡化應(yīng)用程序 數(shù)據(jù)管 理表。
(第九實施方式)
第一實施方式中,在將應(yīng)用程序讀入到本地存儲器29中時,參考讀入 優(yōu)先級,根據(jù)該讀入優(yōu)先級,對讀入處理賦予優(yōu)劣。與此相對,第九實施 方式是表示通過含義為Optional的信息和0到255的數(shù)值的組合來表示讀 入優(yōu)先級的實施方式。
圖58 (a) (b)是表示第九實施方式的讀入優(yōu)先級的一例的圖。255、 128是0到255的讀入優(yōu)先級的一例,含義是本例中的application井2讀入 優(yōu)先級比application#3高。
在本實施方式中,應(yīng)用程序管理器36與第一實施方式相同,首先將添 加了表示Mandatory的讀入優(yōu)先級的應(yīng)用程序讀入到本地存儲器29。
之后,對于添加了表示Optional的讀入優(yōu)先級的應(yīng)用程序,判斷本地 存儲器29中的容量是否超過了應(yīng)用程序的大小。若超過,則將添加了讀入 優(yōu)先級二Optkmal的應(yīng)用程序原樣讀入到本地存儲器29。若小,則將構(gòu)成 應(yīng)用程序的數(shù)據(jù)中,表示讀入優(yōu)先級的數(shù)值最高的應(yīng)用程序讀入到本地存 儲器29中。并且,向本地存儲器29中的其余的區(qū)域讀出表示讀入優(yōu)先級 的數(shù)值低的應(yīng)用程序。
由此,對于Optional處理的應(yīng)用程序,即使在再現(xiàn)裝置的本地存儲器 29上沒有存儲整體的容量,也可將其一部分存儲到本地存儲器29中。
(第十實施方式)
第一實施方式中應(yīng)用程序管理器36將添加了同樣applicationID的應(yīng)用 程序,根據(jù)讀入優(yōu)先級排他地裝載到本地存儲器29中,但是第十實施方式 中,通過對應(yīng)用程序施加組屬性,來實現(xiàn)排他的裝載。圖59是表示添加了 組屬性的數(shù)據(jù)管理表的圖。組屬性可以有不是排他組、是排他組的兩種設(shè) 定。在是排他組的情況下,描述其組號。圖59 (a)中的titl^1的"一"表 示不存在排他組。另一方面,title#2、 #3的"group#l"有排他組,title弁2、 存3表示屬于groupW的排他組。以上是本實施方式的記錄媒體的改進。
本實施方式的再現(xiàn)裝置在根據(jù)數(shù)據(jù)管理表,將各應(yīng)用程序讀入到本地 存儲器29后,來核對本地存儲器29的應(yīng)用程序中的組屬性。同樣,若屬 于排他組的應(yīng)用程序在本地存儲器29上存在兩個以上,則從本地存儲器29 中刪除其中一個。
由此,可以提高本地存儲器29的使用效率。作為排他組的具體例,由 啟動應(yīng)用程序和通過該程序啟動的應(yīng)用程序構(gòu)成的組對應(yīng)。由于通過本應(yīng) 用程序啟動的應(yīng)用程序原則上限于一個,所以在本地存儲器29上應(yīng)該僅存 在啟動+ l個的應(yīng)用程序。若存在三個以上的應(yīng)用程序,則需要應(yīng)用程序管 理器36進行從本地存儲器29中刪除其的處理,所以設(shè)置各應(yīng)用程序的組 屬性,并進行在本地存儲器29上存在的應(yīng)用程序是否是啟動+ 1個的應(yīng)用 程序的校驗。
圖59 (a)是表示對基于應(yīng)用程序管理表的本地存儲器29的訪問的圖。 該圖中,由于設(shè)定為讀入優(yōu)先級二Optional的application#2、 application弁3 的組屬性是groups,所以這些應(yīng)用程序?qū)儆谕瑯优潘M。三個應(yīng)用程序中, application^是上述的啟動應(yīng)用程序,由于application^, application#3是 由其啟動的應(yīng)用程序,所以添加組屬性,使得僅某個存在于本地存儲器29 中。應(yīng)用程序管理器36參考這些applications, application^ 二3的組屬性, 進行從本地存儲器29中刪除某一個的處理。通過該刪除在本地存儲器29 上產(chǎn)生了空余。
(第十一實施方式)
第一實施方式中,使每個標(biāo)題具有應(yīng)用程序管理表,但是在本實施方 式中,提出了使該應(yīng)用程序管理表的分配單位改變的提案。圖60是表示分
配單位的變化的圖。該圖中,第一級表示在BD-ROM上記錄的三個應(yīng)用程 序管理表,第二級表示標(biāo)題單位,第三級表示盤單位,第四級表示由多個 BD-ROM構(gòu)成的盤設(shè)置單位。圖中的箭頭模式地表示應(yīng)用程序管理表的分 配。若參考該箭頭,則可以看出第一級中的應(yīng)用程序管理表井1、 #2、 #3 分別分配到第二級表示的title弁l、 #2、 #3上。另外,以盤為單位來分配應(yīng) 用程序管理表井4,對盤設(shè)置整體分配應(yīng)用程序管理表井5。這樣,通過將 應(yīng)用程序管理表的單位設(shè)為比標(biāo)題大的單位,可以在裝載了一個BD-ROM 的期間,裝載了要生存的應(yīng)用程序和多個BD-ROM中某一個的期間,定義 要生存的應(yīng)用程序。 (參考)
以上的說明不應(yīng)表示本發(fā)明的所有實施行為的形態(tài)。通過實施了下面 (A) (B) (C) (D)...的改變的形態(tài)的實施行為方式,也可以實施本發(fā)明。 本申請的權(quán)利要求的各發(fā)明是擴展了以上記載的多個實施方式及其變形方 式的記載乃至一般化的記載。擴展乃至一般化的程序基于本發(fā)明的技術(shù)領(lǐng) 域的申請當(dāng)時的技術(shù)水平的特性。
(A) 所有的實施方式中,將本發(fā)明的光盤作為BD-ROM來實施, 但是本發(fā)明的光盤在記錄的動態(tài)腳本,索引表上有特征,該特征不依賴于 BD-ROM的物理性質(zhì)。若是記錄了動態(tài)腳本、索引表的記錄媒體,可以是 任何記錄媒體。例如,可以是DVD-ROM、 DVD-RAM、 DVD—RW、 DVD 一R、 DVD+RW、 DVD+R、 CD-R、 CD-RW等的光盤、PD、 MO等的光磁 盤。另外,也可以是壓縮閃存卡、智能媒體(smartmedia)、存儲棒、多媒 體卡、PCM-CIA卡等的半導(dǎo)體存儲卡。也可以是軟盤、SuperDisk、 Zip、 Clik!等磁記錄盤(i)、 ORB、 Jaz、 SparQ、 SyJet、 EZFley、微驅(qū)動器等可 移動硬盤驅(qū)動器(ii),進一步也可以是機器內(nèi)置型的硬盤驅(qū)動器。
(B) 所有的實施方式中的再現(xiàn)裝置在譯碼了在對BD-ROM上記錄 的AVClip進行了譯碼后輸出到TV,但是,再現(xiàn)裝置也可僅為BD-ROM驅(qū) 動器,在TV上具有除此之外的構(gòu)成要素,這時,可以將再現(xiàn)裝置和TV組 裝到由正EE1394連接的家庭網(wǎng)絡(luò)中。另外,實施方式的再現(xiàn)裝置是與電視 機相連來使用的驅(qū)動器,但是也可以是與顯示器為一體的再現(xiàn)裝置。進一 步,在各實施方式的再現(xiàn)裝置中,可以僅將成為處理的本質(zhì)部分的部分作
為再現(xiàn)裝置。由于這些再現(xiàn)裝置都是在本說明書中記載的發(fā)明,所以即便 是這些的任何一個形態(tài),以各實施方式所示的再現(xiàn)裝置的內(nèi)部結(jié)構(gòu)為基礎(chǔ), 來制造再現(xiàn)裝置的行為也為本申請的說明書中記載的發(fā)明的實施行為。各 實施方式所示的再現(xiàn)裝置的基于有償 無償?shù)霓D(zhuǎn)讓(有償?shù)那闆r下是販賣、 無償?shù)那闆r下是贈與)、出借、輸入的行為都是本發(fā)明的實施方式。通過店 面展示、目錄要約、小冊子發(fā)布,向一般用戶提議這些的轉(zhuǎn)讓和出租的行 為也是本再現(xiàn)裝置的實施行為。
(c) 由于使用硬件資源來具體實現(xiàn)基于各流程圖所示的程序的信
息處理,所以上述流程圖中表示了處理過程的程序單體作為發(fā)明成立。所 有的實施方式以組裝到再現(xiàn)裝置的形態(tài)來表示了對于本發(fā)明的程序的實施 行為的實施方式,但是也可從再現(xiàn)裝置分離,來實施各實施方式中表示的 程序單體。程序單體的實施行為有生產(chǎn)這些程序的行為(1)、通過有償*無
償來轉(zhuǎn)讓程序的行為(2)、出借的行為(3)、輸入的行為(4)和經(jīng)雙向的 電子通信線路向公眾提供的行為(5)、和通過(6)店面展示、目錄要約、 小冊子發(fā)布,向一般用戶提議程序的轉(zhuǎn)讓和出租的行為。
(D) 認為各流程圖中按時間序列執(zhí)行的各步驟的"時間"的要素 為特定發(fā)明用的必須的事項。這樣,可以看出基于這些流程圖的處理過程 公開了再現(xiàn)方法的使用方式。若通過按時間序列來進行各步驟的處理,進 行這些流程圖的處理來實現(xiàn)本發(fā)明的本來的目的,達到作用和效果,則當(dāng) 然相當(dāng)于本發(fā)明的記錄方法的實施行為。
(E) 也可在BD-ROM上記錄一覽顯示Chapter用的菜單(Chapter Menu)和控制其舉動的MOVIE對象,而從頂端菜單中分支。另外,也可 通過遙控器鍵的Chapter鍵的按下來進行調(diào)用。
(F) 每次記錄在BD—ROM上時,最好在構(gòu)成AVClip的各TS包 上添加擴展頭。擴展頭稱作TP—extra—header,包含"Arribval—Time_Stamp" 禾口"copy_permission—indicator ",具有4字節(jié)的數(shù)據(jù)長度。帶TP—extra—header 的TS包(下面簡寫為帶EX的TS包)按每32個來進行分組,并寫入到三 個扇區(qū)中。由32個帶EX的TS包構(gòu)成的組是6144字節(jié)(=32X192),其 與三個扇區(qū)大小6144字節(jié)(=2048X3) —致。將容納在三個扇區(qū)中的32 個帶EX的TS包稱作"排列的單元(AlignedUnit)"。
在經(jīng)正EE1394相連的本地網(wǎng)絡(luò)的使用時,再現(xiàn)裝置200通過如下這樣 的發(fā)送處理來進行Aligned Unit的發(fā)送。g卩,發(fā)送側(cè)的設(shè)備分別從在Aligned Unit中包含的32個帶EX的TS包取出TP—extra—header,并根據(jù)DTCP標(biāo) 準(zhǔn)來加密TS包標(biāo)題后輸出。每次TS包的輸出時,在TS包之間的任意位 置上插入同步的(isochronous)包。該插入位置是基于TP—extra—header的 Arribval—Time—Stamp所示的時刻的位置。隨著TS包的輸出,再現(xiàn)裝置200 輸出DTCP—Descriptor DTCP—Descriptor表示TP—extra—header中的復(fù)制允 許設(shè)置,這里若描述DTCP—Descriptor,使其表示"禁止復(fù)制",則在經(jīng) IEEE1394相連的本地網(wǎng)的使用時TS包不記錄在其他設(shè)備上。
(G) 在各實施方式中,在記錄媒體上記錄的數(shù)字流是AVClip,但 是也可以是DVD— Video標(biāo)準(zhǔn)、DVD-Video記錄標(biāo)準(zhǔn)的VOB (video Object)。 VOB是通過多路復(fù)用視頻流、音頻流得到的ISO/正C13818—1規(guī) 格標(biāo)準(zhǔn)的節(jié)目流。另夕卜,AVClip中的視頻流也可以是MPEG4和MMV方 式。進一步,音頻流也可以是Linear—PCM方式、Dolby—AV3方式、MP3 方式、MPEG—AAC方式、Dts、 WMA (Windows media audio)。
(H) 各實施方式中的視頻作品也可通過對用模擬廣播廣播的模擬 視頻信號進行編碼來得到。也可以是由通過數(shù)字廣播廣播的傳輸流構(gòu)成的 流數(shù)據(jù)。
另外,也可對在錄像帶上記錄的模擬/數(shù)字的視頻信號進行編碼來得到 內(nèi)容。進一步,也可以對從攝像機直接取得的模擬/數(shù)字的視頻信號進行編 碼來得到內(nèi)容。除此之外,也可以是通過發(fā)送服務(wù)器發(fā)送的數(shù)字作品。
(I) BD-J模塊35也可以是為進行衛(wèi)星廣播接收而在設(shè)備上嵌入的 Java平臺。BD-J模塊35若是該Java平臺,則本發(fā)明的再現(xiàn)裝置兼有作為 MHP用STB的處理。
進一步,也可以是為進行便攜電話的處理控制在設(shè)備中嵌入的Java平 臺。若BD-J模塊35是該Java平臺,則本發(fā)明的再現(xiàn)裝置兼有作為便攜電 話的處理。
(K)在層模型中,也可以在BD-J模式上配置MOV正模式。這是因 為尤其由于MOVIE模式下的動態(tài)腳本的解釋和基于動態(tài)腳本的控制過程 的執(zhí)行對于再現(xiàn)裝置的負擔(dān)輕,所以即使在BD-J模式上執(zhí)行MOV正模式
也可不會產(chǎn)生任何問題。這是因為在再現(xiàn)裝置和視頻作品的開發(fā)時,在一 個模式下完成動作保證。
進一步,也可僅在BD-J模式下執(zhí)行再現(xiàn)處理。如第五實施方式所示那 樣,由于可以在BD-J模式下進行與PL的再現(xiàn)同步的再現(xiàn)控制,所以是不 用強制設(shè)置MOVIE模式的理由。
(L)也可通過在應(yīng)多路復(fù)用在AVClip上的交互圖像流上設(shè)置導(dǎo)航指 令,來實現(xiàn)從某個PL向其他PL的分支。
產(chǎn)業(yè)上的可用性
本發(fā)明的再現(xiàn)裝置可以在如家庭影院系統(tǒng)中使用那樣,可以在個人用 途中使用。但是本發(fā)明在上述實施方式中公開了內(nèi)部結(jié)構(gòu),由于根據(jù)該內(nèi) 部結(jié)構(gòu)可以批量生產(chǎn),所以實質(zhì)上可以在工業(yè)上使用。由此,本發(fā)明的再 現(xiàn)裝置具有產(chǎn)業(yè)上的可利用性。
權(quán)利要求
1、一種在其上存儲有索引表和多個操作模式對象的記錄媒體,其中所述索引表示出了與所述多個操作模式對象相對應(yīng)的多個標(biāo)題,所述多個操作模式對象中的至少一個操作模式對象是在Movie模式中使用的第一操作模式對象,而所述多個操作模式對象中的至少另一個操作模式對象是在虛擬機中使用的第二操作模式對象,所述第一操作模式對象包括示出控制過程的導(dǎo)航指令,所述第二操作模式對象包括高速緩存管理信息,以及所述高速緩存管理信息包括與多個應(yīng)用程序一一對應(yīng)的多個項,每個項是指示再現(xiàn)裝置將所述對應(yīng)的應(yīng)用程序讀取到高速緩存中的信息,并且按順序為所述每個項分配預(yù)定的位置,分配給所述項的所述位置具有以下功能指示所述再現(xiàn)裝置首先將與分配有最高位置的項相對應(yīng)的應(yīng)用程序讀取到所述高速緩存中,并且隨后從與按順序具有下一最高位置的項相對應(yīng)的應(yīng)用程序開始,將與剩余項相對應(yīng)的多個應(yīng)用程序按所述對應(yīng)位置的降序順序連續(xù)讀取到所述高速緩存中。
2、 一種再現(xiàn)裝置,其進行記錄媒體上記錄的標(biāo)題的再現(xiàn),并執(zhí)行應(yīng)用 程序,所述再現(xiàn)裝置包括模塊管理器,基于索引表從多個標(biāo)題中選擇變?yōu)楫?dāng)前標(biāo)題的標(biāo)題;以及模塊,執(zhí)行所述應(yīng)用程序, g巾所述記錄媒體在其上存儲有索引表和多個操作模式對象, 所述索引表示出了與所述多個操作模式對象相對應(yīng)的多個標(biāo)題,所述 多個操作模式對象中的至少一個操作模式對象是在Movie模式中使用的第 一操作模式對象,而所述多個操作模式對象中的至少另一個操作模式對象 是在虛擬機中使用的第二操作模式對象,所述第一操作模式對象包括示出控制過程的導(dǎo)航指令,所述第二操作模式對象包括高速緩存管理信息,以及所述高速緩存管理信息包括與多個應(yīng)用程序一一對應(yīng)的多個項,每個 項是指示再現(xiàn)裝置將所述對應(yīng)的應(yīng)用程序讀取到高速緩存中的信息,并且 按順序為所述每個項分配預(yù)定的位置,所述模塊首先將與分配有最高位置的項相對應(yīng)的應(yīng)用程序讀取到所述 高速緩存中,并且隨后從與按順序具有下一最高位置的項相對應(yīng)的應(yīng)用程 序開始,將與剩余項相對應(yīng)的多個應(yīng)用程序按所述對應(yīng)位置的降序順序連 續(xù)讀取到所述高速緩存中。
3、 一種記錄方法,其生成體數(shù)據(jù)并獲得在其上存儲有所述體數(shù)據(jù)的記 錄媒體,其中將索引表和多個操作模式對象記錄在所述體數(shù)據(jù)中, 所述索引表示出了與所述多個操作模式對象相對應(yīng)的多個標(biāo)題,所述 多個操作模式對象中的至少一個操作模式對象是在Movie模式中使用的第 一操作模式對象,而所述多個操作模式對象中的至少另一個操作模式對象 是在虛擬機中使用的第二操作模式對象,所述第 一操作模式對象包括示出控制過程的導(dǎo)航指令, 所述第二操作模式對象包括高速緩存管理信息,以及 所述高速緩存管理信息包括與多個應(yīng)用程序一一對應(yīng)的多個項,每個 項是指示再現(xiàn)裝置將所述對應(yīng)的應(yīng)用程序讀取到高速緩存中的信息,并且 按順序為所述每個項分配預(yù)定的位置,分配給所述項的所述位置指示所述再現(xiàn)裝置首先將與分配有最高位置 的項相對應(yīng)的應(yīng)用程序讀取到所述高速緩存中,并且隨后從與按順序具有 下一最高位置的項相對應(yīng)的應(yīng)用程序開始,將與剩余項相對應(yīng)的多個應(yīng)用 程序按所述對應(yīng)位置的降序順序連續(xù)讀取到所述高速緩存中。
4、 一種再現(xiàn)方法,其進行記錄媒體上記錄的標(biāo)題的再現(xiàn),并執(zhí)行應(yīng)用 程序,所述再現(xiàn)方法包括管理器選擇步驟,基于索引表從多個標(biāo)題中選擇變?yōu)楫?dāng)前標(biāo)題的標(biāo)題;以及模塊執(zhí)行步驟,執(zhí)行所述應(yīng)用程序, 3巾所述記錄媒體在其上存儲有索引表和多個操作模式對象, 所述索引表示出了與所述多個操作模式對象相對應(yīng)的多個標(biāo)題,所述多個操作模式對象中的至少一個操作模式對象是在Movie模式中使用的第一操作模式對象,而所述多個操作模式對象中的至少另一個操作模式對象是在虛擬機中使用的第二操作模式對象,所述第一操作模式對象包括示出控制過程的導(dǎo)航指令, 所述第二操作模式對象包括高速緩存管理信息,以及 所述高速緩存管理信息包括與多個應(yīng)用程序一一對應(yīng)的多個項,每個項是指示再現(xiàn)裝置將所述對應(yīng)的應(yīng)用程序讀取到高速緩存中的信息,并且按順序為所述每個項分配預(yù)定的位置,所述模塊步驟首先將與分配有最高位置的項相對應(yīng)的應(yīng)用程序讀取到所述高速緩存中,并且隨后從與按順序具有下一最高位置的項相對應(yīng)的應(yīng)用程序開始,將與剩余項相對應(yīng)的多個應(yīng)用程序按所述對應(yīng)位置的降序順序連續(xù)讀取到所述高速緩存中。
全文摘要
本發(fā)明提供一種BD-ROM再現(xiàn)裝置,同時進行包含AVClip的標(biāo)題的再現(xiàn)和應(yīng)用程序的執(zhí)行,包括執(zhí)行應(yīng)用程序的BD-J模塊(35)、再現(xiàn)屬于一個標(biāo)題的AVClip的重放控制引擎(32)和控制多個標(biāo)題間的分支的模塊管理器(34)。所述標(biāo)題包含數(shù)據(jù)管理表,數(shù)據(jù)管理表按每個標(biāo)題表示應(yīng)用程序的讀入優(yōu)先級,所述BD-J模塊(35)包含Java虛擬機(38)、本地存儲器(29)和將應(yīng)用程序裝載到本地存儲器(29)的應(yīng)用程序管理器(36)。應(yīng)用程序管理器(36)根據(jù)各應(yīng)用程序的讀入優(yōu)先級和本地存儲器(29)的存儲器規(guī)模,將應(yīng)用程序讀入到本地存儲器(29)中。
文檔編號G11B27/32GK101393761SQ20081014595
公開日2009年3月25日 申請日期2004年10月12日 優(yōu)先權(quán)日2003年10月10日
發(fā)明者岡田智之, 巖本啟明, 池田航 申請人:松下電器產(chǎn)業(yè)株式會社