專利名稱:再現(xiàn)裝置、程序、再現(xiàn)方法
技術領域:
本發(fā)明是屬于同時執(zhí)行數字化后的視頻作品的再現(xiàn)和應用程序的執(zhí)行的再現(xiàn)控 制技術的技術領域的發(fā)明,本再現(xiàn)控制技術更深地涉及應用于民用的再現(xiàn)裝置、程序中的 情況下的應用技術。
背景技術:
視頻業(yè)務有將數字化的視頻作品和游戲應用程序收納在一個包中進行銷售的媒 體組合的形式。該游戲應用程序若將游戲的出現(xiàn)人物作為角色(character),并與數字化的 視頻作品的一部分同時執(zhí)行,則通過基于視頻再現(xiàn)和游戲執(zhí)行兩者的復合效應,視頻作品 的人氣進一步提高。 但是,應用程序有程度差,多多少少有漏洞。因潛在錯誤而使裝置中斷(black out),這可能在個人計算機軟件領域中"經常有",但是在民用設備領域中不能不說是質量 問題。由于可能涉及質量問題,所以各制造公司對于同時執(zhí)行應用程序的進行和數字流再 現(xiàn)的再現(xiàn)裝置的實現(xiàn)沒有信心(注所謂中斷是指裝置的軟件中斷(freeze)而顯示畫面變 為全暗的狀態(tài))。
發(fā)明內容
本發(fā)明的目的是提供一種避免涉及質量問題,可同時執(zhí)行應用程序的執(zhí)行和數字 流再現(xiàn)的再現(xiàn)裝置。 上述目的通過再現(xiàn)裝置來實現(xiàn)。該再現(xiàn)裝置進行標題的再現(xiàn)和應用程序的執(zhí)行, 其特征在于,包括再現(xiàn)控制引擎部,再現(xiàn)屬于標題的數字流;模塊管理器,控制多個標題 之間的分支;模塊,執(zhí)行一個以上的應用程序;所述模塊包含虛擬機部和應用程序管理器; 所述應用程序管理器在一個以上的應用程序成為預定的狀態(tài)時,解釋為標題執(zhí)行終止并進 行終止處理;所述模塊管理器在所述標題終止后,選擇預定的標題。 在包含應用程序、但不包含數字流這樣的標題終止時,也可進行分支到預定的標 題的控制。由此,即使應用程序出錯終止,或應用程序的啟動失敗,也可保證協(xié)調的控制。
由于有這樣的控制,所以對于對涉及質量問題很敏感的制造公司而言,可以有力 推進同時執(zhí)行流再現(xiàn)和應用程序執(zhí)行的再現(xiàn)裝置的開發(fā)。通過這種有力推進,若再現(xiàn)裝置 的低價化、多樣化發(fā)展,則可以實現(xiàn)BD-ROM內容的充實,所以可以有力推進內容相關產業(yè) 的發(fā)展。
圖1是表示本發(fā)明的再現(xiàn)裝置的使用行為方式的 圖2是表示BD-ROM中的文件 目錄結構的圖; 圖3是表示AVClip時間軸和PL時間軸的關系的圖; 圖4是表示通過4個Clip_Information_file_name進行的統(tǒng)一指定的圖; 圖5是表示基于PLmark的章定義的圖; 圖6是表示SubPlayltem時間軸上的再現(xiàn)區(qū)間定義和同步指定的圖; 圖7(a)是表示Movie對象的內部結構的圖; 圖7(b)是表示BD-J對象的內部結構的圖; 圖7(c)是表示Java應用程序的內部結構的圖; 圖8(a)是表示在Jave歸檔文件中容納的程序、數據的圖; 圖8(b)是表示xlet程序的一例的圖; 圖9(a)是表示頂端菜單、titleftl、titleft2的一系列標題的圖; 圖9(b)是表示PlayListftl、PlayListft2的時間軸一致的時間軸的圖; 圖10是表示包含主標題、在線購物標題、游戲標題三個標題的盤內容的圖; 圖11是表示圖10所示的三個標題的再現(xiàn)圖像的一例的圖; 圖12(a)是根據圖10的虛線所示的隸屬關系來將各應用程序的生存區(qū)間圖表化 的圖; 圖12(b)是為規(guī)定圖12(a)的生存區(qū)間而描述的應用程序管理表的一例的圖; 圖13(a)是表示啟動屬性設定的一例的圖; 圖13(b)是表示有來自其他應用程序的應用程序調用而開始啟動的應用程序 (application#2)的圖; 圖14(a) 、 (b)是表示掛起(Suspend)為有意義的應用程序管理表、生存區(qū)間的一 例的圖; 圖15是表示啟動屬性可取的三種形態(tài)(Persistent、AutoRun、Suspend)和之前標 題中的應用程序狀態(tài)的三種形態(tài)(非啟動、啟動中、掛起(Suspend))可取的組合的圖; 圖16是表示本發(fā)明的再現(xiàn)裝置的內部結構的圖; 圖17 (a)是表示在本地存儲器29上怎樣識別BD-ROM上存在的Java應用程序的 圖; 圖17(b)是表示圖17(a)的應用的圖; 圖18是將由R0M24中存儲的軟件和硬件構成的部件置換為層結構來描述的圖; 圖19是將基于展示引擎31 模塊管理器34的處理的情況模式化的圖; 圖20是將基于應用程序管理器36的處理的情況模式化的圖; 圖21是表示工作存儲器37 缺省操作管理器40的圖; 圖22是表示基于應用程序管理器36的分支時的控制過程的圖; 圖23是表示應用程序終止處理的處理過程的流程圖; 圖24是模式表示了應用程序終止的過程的圖; 圖25(a)是表示在PL時間軸上定義生存區(qū)間的應用程序管理表的圖; 圖25(b)是根據圖25(a)的應用程序管理表,來表示應用程序的生存區(qū)間的圖; 圖26 (a)表示基于PL時間軸設定的標題時間軸; 圖26(b)是表示基于主應用程序的生存區(qū)間決定的 題時間軸;
圖26(C)是表示基于多個應用程序的生存區(qū)間設定的標題時間軸的圖; 圖27是表示標題再現(xiàn)時的應用程序管理器36的處理過程的流程圖; 圖28 (a)是表示通過BD-ROM實現(xiàn)的菜單等級的圖; 圖28 (b)是表示用于實現(xiàn)菜單等級的MOVIE對象的圖; 圖29是將索引表和從索引表向各Movie對象的分支的情況模式化的圖; 圖30(a)表示如圖29(b)那樣描述了索引表的情況下的分支; 圖30 (b)是表示非AV系標題強制終止時的分支的圖; 圖31是表示模塊管理器34的處理過程的流程圖; 圖32是表示基于應用程序管理器36的應用程序強制終止的動作例的圖; 圖33是表示基于重放控制引擎32的PL再現(xiàn)過程的流程圖; 圖34是表示角度切換、Skip Back、 Skip Next的接收過程的流程圖; 圖35是表示調用了 Skip Back、 Skip NextAPI時的處理過程的流程圖; 圖36是表示基于展示引擎31的處理過程的細節(jié)的流程圖; 圖37是表示SubPlayltem的再現(xiàn)過程的流程圖; 圖38是表示第五實施方式的應用程序管理器36的處理過程的流程圖; 圖39是表示數據管理表的一例的圖; 圖40是表示BD-J對象假定的執(zhí)行模塊的圖; 圖41 (a)是表示本地存儲器29中的Java歸檔文件生存的生存區(qū)間的圖; 圖41 (b)是表示為了規(guī)定圖41 (a)的Java歸檔文件生存區(qū)間而描述的數據管理
表的圖; 圖42是表示基于循環(huán)方式(carousel method)的Java歸檔文件嵌入的圖; 圖43(a)是表示基于交叉(interleave)方式的AVClip嵌入的圖; 圖43(b)是表示讀入屬性的三種類型的圖; 圖44(a)是表示數據管理表的一例的圖; 圖44(b)是表示基于圖44(a)的數據管理表的分配的本地存儲器29的存儲內容 的變遷的圖; 圖45(a)是對比表示新舊再現(xiàn)裝置中的本地存儲器29的存儲器規(guī)模的圖; 圖45(b)是表示設置了讀入優(yōu)先級的數據管理表的一例的圖; 圖46是表示基于應用程序管理器36的預裝載控制的處理過程的圖; 圖47(a)是表示規(guī)定了 a卯licationID相同,但是讀入優(yōu)先級彼此不同的應用程
序的數據管理表的一例的圖; 圖47(b)是基于圖47(a)的數據管理表的分配的本地存儲器29的存儲內容的改 變的圖; 圖48(a)是表示描述為在應預裝載的應用程序、應裝載的應用程序上添加同一 即plicationID的數據管理表的一例的圖; 圖48(b)是表示在存儲器規(guī)模小的再現(xiàn)裝置中的本地存儲器29的存儲內容的改 變的圖; 圖48(c)是表示在存儲器規(guī)模大的再現(xiàn)裝置中的本地存儲器29的存儲內容的改 變的 圖49是表示基于根據數據管理表的應用程序管理器36的裝載處理的處理過程的圖; 圖50是表示基于當前的再現(xiàn)時刻到達應用程序q的生存區(qū)間的情況下的應用程序管理器36的處理過程的圖; 圖51是將怎樣進行基于Java虛擬機38的應用程序的讀入的情況模式化的 圖52(a)是表示第七實施方式的BD_J對象的內部結構的 圖52 (b)是表示播放列表管理表的一例的圖; 圖52(c)是表示在分支目標分支目標標題的播放列表管理表中,存在再現(xiàn)屬性設定為AutoPlay的PL的情況下,再現(xiàn)裝置進行怎樣的處理的圖; 圖53(a)是表示設定為再現(xiàn)屬性表示非自動再現(xiàn)的情況下的非AV系標題中的標題時間軸的圖; 圖53 (b)是表示再現(xiàn)屬性設定為AutoPlay的非AV系標題的標題時間軸的 圖53(c)是表示在播放列表管理表中設定為再現(xiàn)屬性表示"AutoPlay",應用程序強制終止的情況的圖; 圖53(d)是表示在播放列表管理表中設定為再現(xiàn)屬性表示"AutoPlay",主應用程序的啟動失敗的情況的圖; 圖54是表示第七實施方式的應用程序管理器36的處理過程的圖; 圖55是表示將通過播放列表管理表中設定為"再現(xiàn)屬性=AutoPlay"而進行怎樣
的再現(xiàn)的情況模式化的圖; 圖56(a) 、 (b)是表示應用程序的處理和啟動屬性的關系的圖; 圖57是將怎樣進行基于第八實施方式的Java虛擬機38的應用程序的讀入的情
況模式化的圖; 圖58 (a) 、 (b)是表示第九實施方式的讀入優(yōu)先級的一例的 圖59(a)是表示添加了組屬性的數據管理表的圖; 圖59(b)是表示對于基于應用程序管理表的本地存儲器29的訪問的 圖60是表示應用程序管理表的分配單位的變化的圖。
具體實施例方式(第一實施方式) 下面,說明本發(fā)明的再現(xiàn)裝置的實施方式。首先,開始說明本發(fā)明的再現(xiàn)裝置的實
施方式中,使用行為方式。圖l是表示本發(fā)明的再現(xiàn)裝置的使用行為方式。圖l中,本發(fā)明
的再現(xiàn)裝置是再現(xiàn)裝置200,與電視機300、遙控器400共同形成家庭影院系統(tǒng)。 該BD-R0M100用于向由再現(xiàn)裝置200、遙控器300、電視機400形成的家庭影院系
統(tǒng)供給視頻作品。 以上是本發(fā)明的再現(xiàn)裝置的使用方式的說明。 接著,說明作為本發(fā)明的再現(xiàn)裝置的再現(xiàn)對象的記錄媒體BD-ROM。通過BD-ROM,向家庭影院系統(tǒng)供給的盤內容由彼此可分支的多個標題構成。各標題由一個以上的播放列表和使用該播放列表的動態(tài)控制過程構成。 所謂播放列表是指由一個以上的數字流和該數字流中的再現(xiàn)路徑構成,是具有"時間軸"的概念的BD-ROM上的訪問單位。由于包含以上的播放列表和動態(tài)控制過程,所以標題兼有數字流特有的時間軸的概念和計算機程序的性質。 圖2是表示BD-R0M中的文件 目錄結構的圖。該圖中,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)???br>
以看出通過以上的目錄結構,在BD-ROM上配置了彼此不同類別的多個文件。 該圖中添加了擴展符m2ts的文件(00001. m2ts,00002. m2ts,00003. m2ts. )存
儲有AVClip。 AVClip有MainClip、 SubClip的類別。MainClip是通過對視頻流、音頻流、
展示圖形流、交互圖形流這樣的多個元素流進行多路復用來得到的數字流。 SubClip是音頻流、圖形流、文本字幕流等相當于僅一個元素流時的數字流。 添加了擴展符"clpi"的文件(00001. clpi,00002. clpi,00003. clpi.)是分別
一一對應于AVClip的管理信息。由于是管理信息,所以Clip信息具有AVClip中的流的編
碼形式、幀頻、比特率、分辨率等信息和表示提示(cue)位置位置的EPjii即。添力B了擴展符"mpls"的文件(00001. mpls, 00002. mpls, 00003. mpls. )是存儲
播放列表信息的文件。播放列表信息是參考AVClip來定義播放列表的信息。播放列表由
MainPath信息、PLMark信息、SubPath信息構成。 MainPath信息由多個Playltem信息構成。所謂Playltem是指在一個以上的AVClip時間軸上,通過指定In—Time,OutJime來定義的再現(xiàn)區(qū)間。通過配置多個Playltem信息,來定義由多個再現(xiàn)區(qū)間構成的播放列表(PL)。圖3是表示AVClip和PL的關系的圖。第一級表示AVClip具有的時間軸,第二級表示PL具有的時間軸。PL信息包含Playltemftl、#2、#3三個Playltem信息,通過這些Playltem#l、#2、#3的In_Time, Out_Time來定義三個再現(xiàn)區(qū)間。若排列這些再現(xiàn)區(qū)間,則定義了與AVClip時間軸不同的時間軸。其是第二級表示的PL時間軸。這樣,通過PlayItem信息的定義,可以進行與AVC1 ip不同的時間軸的定義。 對于AVClip的指定原則上是一個,但是也可對多個AVClip統(tǒng)一指定。該統(tǒng)一指定通過Playltem信息中的多個Clip_Information_f ile_name來進行。圖4是表示通過4個Clip_Inf0rmati0n_file_name來進行的統(tǒng)一指定的圖。該圖中,第一級 第四級表示4個AVClip時間軸(AVClip#l、#2、#3、#4的時間軸),第五級表示PL時間軸。通過Playltem信息具有的4個Clip—Information—file—name來指定這四個時間軸。由此,通過Playltem具有的In—Time、0ut—Time,來定義可擇一再現(xiàn)的4個再現(xiàn)區(qū)間。由此,在PL時間軸上定義了由可切換的多個角度視頻構成的區(qū)間(所謂的多角度區(qū)間)。 PLmark信息是PL時間軸上將任意的區(qū)間指定為章節(jié)的信息。圖5是表示基于PLmark的章節(jié)定義的圖。該圖中,第一級表示AVClip時間軸,第二級表示PL時間軸。圖中的箭頭pkl、2表示PLmark中的Playltem指定(ref_to_PlayItem_Id)和一個時刻的指定(mark_time_stamp)。通過這些指定在PL時間軸上定義了三個章節(jié)(Ch即tertl、 #2、 #3)。
SubPath信息由多個SubPlayltem信息構成。SubPlayltem信息通過在SubClip的時間軸上指定In_Time、0ut_Time來定義再現(xiàn)區(qū)間。另外,SubPlayltem信息可以進行使SubClip時間軸上的再現(xiàn)區(qū)間與PL時間軸同步的同步指定,通過該同步指定,來使PL時間軸和SubPlayltem信息時間軸同步行進。圖6是表示SubPlayltem時間軸上的再現(xiàn)區(qū)間定義和同步指定的圖。該圖中,第一級表示PL時間軸,第二級表示SubPlayltem時間軸。分別是圖中的SubPlayltem. IN_time表示再現(xiàn)區(qū)間的始點,SubPlayltem. 0ut_time表示再現(xiàn)區(qū)間的終點。由此,可以看出在SubCLip時間軸上也定義了再現(xiàn)區(qū)間。箭頭Snl中Sync_Playltem_ld表示對于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。以上,結束對靜態(tài)腳本的說明。 接著,說明"動態(tài)腳本"。所謂動態(tài)腳本是指動態(tài)規(guī)定AVClip的再現(xiàn)控制的腳本數據。所謂"動態(tài)"是指通過再現(xiàn)裝置的狀態(tài)變化和來自用戶的鍵事件再現(xiàn)控制的內容變化。BD-ROM中,作為該再現(xiàn)控制的動作環(huán)境假定了兩個模式。第一個是與DVD再現(xiàn)裝置的動作環(huán)境極其類似的動作環(huán)境,是指令庫的執(zhí)行環(huán)境。第二個是Java虛擬機的動作環(huán)境。這兩個動作環(huán)境中的第一個稱作H匿V模式,第二個稱作BD-J模式。由于有這兩個動作環(huán)境,所以假定其中一個動作環(huán)境來描述動態(tài)腳本。將假定了 HDMV模式的動態(tài)腳本稱作Movie對象,通過管理信息來進行定義。另一方面,將假定了 BD-J模式的動態(tài)腳本稱作BD-J對象。
首先,開始說明Movie對象。
〈Movie對象〉 Movie對象是"標題"的構成要素,存儲在文件MovieObject. bdmv中。圖7 (a)是表示Movie對象的內部結構的圖。Movie對象由包括屬性信息、多個導航指令的指令串構成。 屬性信息包括在PL時間軸中,進行了Me皿Call(調用菜單)時,表示是否想要Me皿Call后的再現(xiàn)重新開始的信息(resume_intention_flag);在PL時間軸上表示是否屏蔽了MenuCall的信息(me皿—calljiiask);和表示是否屏蔽了標題搜索的信息(title_search_flag) 。 Movie對象可以兼有"時間軸"+ "程序控制"兩個性質,從而通過該Movie對象來描述執(zhí)行主再現(xiàn)的標題等多種標題。 導航指令串由實現(xiàn)條件分支、再現(xiàn)裝置中的狀態(tài)寄存器的設定、狀態(tài)寄存器的設定值取得等的指令串構成。下面表示可在Movie對象中描述的指令。
PlayPL指令 格式PlayPL (第一 自變量,第二自變量)
10
第一自變量是播放列表的號,可指定應再現(xiàn)的PL。第二自變量可以使用該PL中包
含的Playltem和該PL中的任意的時刻、Ch即ter、 Mark來指定再現(xiàn)開始位置。 將用Playltem指定PL時間軸上的再現(xiàn)開始位置的PlayPL函數稱作
PlayPLatPlayltemO 將用Chapter指定PL時間軸上的再現(xiàn)開始位置的PlayPL函數稱作PlayPLatCh即ter 0 s 將用時間信息指定PL時間軸上的再現(xiàn)開始位置的PlayPL函數稱作
PlayPLatSpecified Time()。 JMP指令 格式JMP自變量 JMP指令是在中途丟棄(discard)現(xiàn)在的動態(tài)腳本,執(zhí)行作為自變量的分支目標動態(tài)腳本的分支。JMP指令的形式有直接指定分支目標動態(tài)腳本的直接參考形式和間接指定分支目標動態(tài)腳本的間接參考形式。 由于Movie對象中的導航指令的描述與DVD中的導航指令的描述方式極其相似,所以可以高效進行將DVD上的盤內容移植到BD-ROM上的操作。對于Movie對象,存在有在下面的國際公開公報中記載的在先的技術。對于細節(jié),要參考該國際公開公報。
國際公開公報W02004/074976 終止以上對Movie對象的說明。接著說明BD-J對象。
〈BD-J對象〉 添加了擴展符BD-J的文件(00001. BD-J、00002. BD_J、00003. BD-J)構成BD-J對象。BD-J對象是在Java編程環(huán)境下描述的BD-J模式的動態(tài)腳本。圖7 (b)是表示BD-J對象的內部結構的圖。如該圖所示,BD-J對象由與Movie對象同樣的屬性信息、應用程序管理表構成。在具有屬性信息方面,BD-J對象與Movie對象大致相同。與Movie對象不同的是BD-J對象沒有直接描述指令。S卩,在Movie對象中,控制過程由導航指令來直接描述。與此相對,BD-J對象中,通過在應用程序管理表上定義以該標題為生存區(qū)間的Java應用程序,來間接規(guī)定控制過程。通過這種間接的規(guī)定,可以高效進行在多個標題中使控制過程公共的控制過程的公共化。 圖7(c)是表示Java應用程序的內部結構的圖。該圖中,應用程序由在虛擬機的堆(heap)區(qū)域(還稱作工作存儲器)上裝載的一個以上的xlet程序構成。在該工作存儲器中,一個以上的線程動作,由在工作存儲器上裝載的xlet程序和線程構成應用程序。以上是應用程序的構成。 相當于該應用程序的實體的是在BDMV目錄下的BDAR目錄上存儲的Java歸檔(archive)文件(00001. jar、00002. jar)。下面,說明Java歸檔文件。 Java歸檔文件(00001. jar、00002. jar)是存儲了構成Java應用程序的程序和數據的Java歸檔文件。圖8(a)是表示由歸檔文件容納的程序、數據的圖。該圖中的數據通過java歸檔來整理配置了框內所示的目錄結構的多個文件??騼人镜哪夸浗Y構由root目錄、java目錄、image目錄構成。在root目錄上配置common, pkg,在Java目錄上配置aaa.class、bbb. class,在image目錄上配置menu, jpg。 Java歸檔文件通過Java歸檔來整理這些而得到。這些數據在每次從BD-ROM向高速緩存器中讀出時解壓,在高速緩存器上,作為在目錄上配置的多個文件進行處理。Java歸檔文件的文件名中的"xxxxx"的5位數值表示 應用程序的ID(即plicationID)。在將本Java歸檔文件向高速緩存器讀出時,通過參考該 文件名中的數值,可以取出構成任意的Java應用程序的程序、數據。
Java歸檔文件中歸納為一個的文件中有xlet程序。 Xlet程序是可利用JMF (Java Media Frame Work)接口的Java程序。Xlet程序 由接收鍵事件的EventListner等多個函數構成,根據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,是可適用于具有時間軸的內容整體的JMF的描述。由于可以進 行這種描述,所以可以督促擅長Java編程的軟件進行BD-J對象的生成。
圖8(b)中的JumpTitle()是應用程序API的調用。該應用程序API向再現(xiàn)裝置 命令向其他標題的分支(圖中是title#l)。這里所謂應用程序API是指通過BD-ROM再現(xiàn) 裝置供給的API(Appliation Interface)。除了 JumpTitle指令之外,通過應用程序API的 調用,可以將BD-ROM再現(xiàn)裝置特有的處理描述在xlet程序中。 BD-J模式中,PL再現(xiàn)通過JMF接口來規(guī)定。由該JMF播放器實例規(guī)定了 PL時 間軸,所以標題時間軸由具有JMF播放器實例的標題來規(guī)定。另外,BD-J模式中通過 JumpTitleAPI的調用來規(guī)定從標題向標題的分支。由于JumpTitleAPI調用可以說是規(guī)定 標題的終止時刻的調用,所以具有這樣的JMF播放器實例、JumpTitleAPI調用的應用程序 在BD-J模式中規(guī)定標題的開始和終止。將該應用程序稱作主再現(xiàn)應用程序。
以上是對BD-J模式下的動態(tài)腳本的說明。通過該BD-J模式中的動態(tài)腳本,定義 了兼有PL再現(xiàn)和程序控制的標題。另外,在本實施方式中,將構成應用程序的程序、數據整 理為Java歸檔文件,但是也可以是LZH文件、zip文件。
〈標題時間軸〉 結束了對構成標題的靜態(tài)腳本、動態(tài)腳本的說明后,說明通過這些來定義怎樣的 時間軸。將用標題定義的時間軸稱作"標題時間軸"。所謂標題時間軸是由通過Movie對象 或BD-J對象命令再現(xiàn)的PL構成。這里舉出一例的是如圖9(a)這樣的標題。該標題是頂部 菜單一title#l — title#2 —頂部菜單、頂部菜單一title#3 —頂部菜單的一系列的標題。 這些標題中,若title#l命令PlayListftl、 PlayList#2的再現(xiàn),title#2命令PlayList#3 的再現(xiàn),titleft3指令PlayListft4的再現(xiàn),則如圖9(b)那樣,titleftl具有將PlayList#l、 PlayList#2的時間軸相加的時間軸。同樣,title#2具有由PlayList#3時間軸構成的時 間軸,PlayListft3具有由PlayList#4時間軸構成的時間軸。在這些標題時間軸的PL時間 軸上保證了無縫再現(xiàn),但是在標題時間軸間不需要保證無縫再現(xiàn)。每次J肌a應用程序動作 時,必需將可以在虛擬機的工作存儲器上存在Java應用程序的期間(服務期間)定義在這 樣的標題時間軸上。在BD-J模式中,每次Java應用程序動作時,必需在彼此互相分支的時 間軸上定義Java應用程序的服務期間。該服務期間的定義是每次進行面向BD-J的編程時 的注意點。 最后,說明index, bdmv中所存儲的IndexTabel。 IndexTable是使標題號、Movie對象、BD-J對象對應的表,是在從動態(tài)腳本向動態(tài)腳本分支時所參考的間接參考用表。 IndexTable由分別對多個標簽的Index構成。各Index描述了對應于該標簽的動態(tài)腳本的 識別符。通過參考這種IndexTable,可以實現(xiàn)分支,而不用嚴格區(qū)分Movie對象、BD-J對象 的不同。對于IndexTable其細節(jié)記載在下面的國際公開公報中。對于細節(jié)要參考該公報。
國際公開公報W02004/025651A1公報
以上是對BD-ROM上記錄的文件的說明。
〈應用程序管理表〉 具有JMF播放器實例、JumpTitleAPI調用的應用程序規(guī)定標題時間軸的情況如上 那樣,但是在標題時間軸上使不具有JMF播放器實例、JumpTitleAPI調用的其他應用程序 動作的情況下,明確規(guī)定從時間軸的何處開始基于應用程序的服務,在時間軸的何處終止 基于應用程序的服務的"服務開始點,終止點"很重要。在本實施方式中,將開始基于應用 程序的服務后到終止定義為"應用程序的生存"。用于定義應用程序的生存的信息存在于 BD-J對象的應用程序管理表中。之后更詳細地說明應用程序管理表。 應用程序管理表(AMT)是在各標題具有的標題時間軸中,表示在虛擬機的工作存 儲器上可生存的應用程序的信息。所謂工作存儲器中的生存是指可向工作存儲器讀出構成 該應用程序的xlet程序,并進行基于虛擬機的執(zhí)行的狀態(tài)。圖7(b)中的虛線箭頭atl展 開(closeup)表示應用程序管理表的內部結構。如該內部結構所示,應用程序管理表由"生 存區(qū)間"、表示將該標題作為生存區(qū)間的應用程序的"即p 1 i cat i on ID "和該應用程序的"啟 動屬性"構成。 在不久的將來,將要實施的盤內容選作題材,而摻雜具體例來說明應用程序管理 表中的生存區(qū)間描述。這里作為題材的盤內容包含構成主視頻的主標題(title#l)、構成在 線購物的在線購物標題(titleft2)、構成游戲應用程序的游戲標題(title#3)這三個特性 不同的標題。圖10表示包含主標題、在線購物標題、游戲標題三個標題的盤內容的圖。在 該圖中的右側描述了 IndexTable,左側描述了三個標題。 右側的虛線框表示各應用程序屬于哪個標題的隸屬關系。三個標題中,title#l 由即plicatio慮、即plication弁2、即plication弁3三個應用程序構成。title#2包含 即plication弁3、即plication弁4兩個應用程序,title#3包含即plication弁5。 圖11是 表示圖IO所示的三個標題的再現(xiàn)圖像的一例的圖。在這三個標題的再現(xiàn)圖像中,在圖 ll(a)、 (b)的主標題、在線購物標題上存在以購物車為基礎的影像(車crl)l,在圖ll(c) 的游戲標題上不存在車影像。由于車crl需要在主標題、在線購物標題中公共顯示,所以在 title#l、 titleft2兩者中啟動作為車應用程序的即plicationft3。這種多個標題中啟動的 應用程序上除了上述的車應用程序之外,還有根據模仿視頻作品中出現(xiàn)的MASCOT(自動過 程計算機操作測試)的代理應用程序、菜單調用操作來進行菜單顯示的菜單應用程序。
若根據圖10的虛線所示的隸屬關系來將各應用程序的生存區(qū)間圖表化,則變?yōu)?如圖12(a)。該圖中,橫軸表示標題時間軸,縱軸方向上配置了各應用程序的生存區(qū)間。這 里由于即plicationftl、 a卯licationS2僅屬于title#l,所以這些生存區(qū)間留在title#l 內。由于即plicationft4僅屬于titleft2,所以其生存區(qū)間僅留在titleft2內。由于 a卯licationS5僅屬于title#3,所以其生存區(qū)間僅留在title#3內。由于即plicationS3 屬于title#l、 titleft2,所以其生存區(qū)間經過titleftl-titleft2。若根據該生存區(qū)間,來描
13述應用程序管理表,則title#l, #2, #3的應用程序管理表變?yōu)槿鐖D12(b)所示。若這樣 來描述應用程序管理表,則在title#l的再現(xiàn)開始時,將即plicationftl、即plicationS2、 即plicationft3裝載在工作存儲器中。并且,在title#2開始時,進行從工作存儲器中刪除 即plicationftl、 application#2,僅設為application#3的控制。與此相同,在title#2的 開始時,進行將applicationft4裝載在工作存儲器中,在title#3的開始時,進行從工作存 儲器中刪除即plicationft3、即plicationft4的控制。 進一步,進行在title#3的再現(xiàn)中,將applicationft5裝載在工作存儲器中,并在 title#3的再現(xiàn)終止時,從工作存儲器中刪除即plicationft5的控制。 由于在有標題間分支的情況下,將在分支源_分支目標中生存的應用程序存儲在 工作存儲器上,將僅在分支目標而不在分支源存在的應用程序讀入到工作存儲器中就可 以,所以將應用程序讀入到工作存儲器的次數為必要最低次數。這樣,通過減小讀入次數, 可以實現(xiàn)不會意識到標題的邊界的應用程序,即,無邊際的應用程序。 接著說明應用程序的啟動屬性。啟動屬性有表示自動的啟動的"AutoRun"、表示不 是自動啟動的對象,但是也可放在虛擬機的工作存儲器上的"Persistent"、雖然放在虛擬 機的工作存儲器上,但是不能進行CPU功率的分配的"Suspend"。 "AutoR皿"是與對應的標題的分支一起將該應用程序讀入到工作存儲器中,且表 示執(zhí)行的內容的生存區(qū)間。若存在從某個標題向其他標題的分支,則進行應用程序管理的 管理主體(應用程序管理器)將在該分支目標標題中生存,且啟動屬性設定為AutoR皿的 應用程序向虛擬機的工作存儲器的讀入來進行執(zhí)行。由此,該應用程序與標題分支一起來 自動啟動。作為將啟動屬性設定為AutoRun的應用程序,可舉出具有JMF播放器實例和 JumpTitleAPI調用這樣的應用程序。這是因為這種應用程序是規(guī)定標題時間軸側的應用程 序,若不自動啟動這種應用程序,標題時間軸的概念不清。 啟動屬性"Persisten"是繼續(xù)屬性,表示繼續(xù)分支源標題中的應用程序的狀態(tài)。 另外,是表示也可裝載在工作存儲器中的屬性。在啟動屬性是"Persistent"的情況下,添 加了該啟動屬性的應用程序允許來自其他應用程序的調用。進行應用程序管理的管理主體 (應用程序管理器)若從啟動中的應用程序有調用,則將該應用程序的即plicationID描述 在應用程序管理表中,并判斷啟動屬性是否是"Persistent"。若是"Persistent",則將該 應用程序裝載在工作存儲器中。另一方面,在沒有將該調用目標應用程序的即plicationlD 描述在應用程序管理表上的情況下,不將該應用程序裝載在工作存儲器中?;趹贸绦?的調用限于添加了該"Persistent"的應用程序。 由于"Persistent"是沒有明示指定啟動屬性的情況下所添加的缺省的啟動屬性, 所以在某個應用程序的啟動屬性是無指定"一"的情況下,是指該應用程序的啟動屬性是該 Persistent。 說明這些啟動屬性在圖11的應用程序中怎樣描述。圖13是對于圖12的三 個應用程序的啟動屬性的設定例。圖12所示的三個應用程序中即plicationft2如圖 13(b)所示,設為有來自其他應用程序的應用程序調用、并開始啟動的應用程序。與其余 的即plicationftl、 a卯licationft3是與title#l的開始同時自動啟動的應用程序。這 時,如圖13(a)所示,將應用程序管理表中的各應用程序的啟動屬性即plicationftl、 application#3設 作"AutoR皿",將application#2設 作"Persistent,,。這 時,即plicationftl、 a卯licationft3在向title#l的分支時自動裝載在工作存儲器中來執(zhí)行。 另一方面,由于application#2的啟動屬性是"Persistent",所以解釋為"即plicationft3 是可裝載在虛擬機的工作存儲器上的應用程序"的消極含義。因此,即plicationft2在有 來自即plicationftl的調用時才裝載在虛擬機的工作存儲器上并執(zhí)行。通過以上的生存區(qū) 間,啟動屬性,將可在虛擬機上動作的應用程序的數目限制為4個以下,可以將總線程數限 制為64個以下,所以可以保證應用程序的穩(wěn)定動作。
接著,說明Suspend。 所謂Suspend是指在分配了資源,但是沒有分配CPU功率的狀態(tài)下放置應用程序 的情況。該Suspend對例如在游戲標題的執(zhí)行中,經過旁路(sid印ass)的處理有意義。 圖14(a) (b)是表示Suspend有意義的事例的圖。如圖14(b)所示,有三個標題(title#l、 title#2、 titleS3),其中title#l、 title#3執(zhí)行游戲應用程序,但是中間的title#2是旁 路,用來實現(xiàn)視頻再現(xiàn)。在旁路中,由于需要實現(xiàn)視頻再現(xiàn),所以使游戲的執(zhí)行中斷。由于在 游戲應用程序中計數了過程中的分數等,所以要在title#2的前后維持資源的存儲植。這 時,描述應用程序管理表,使其在title#2的開始時刻掛起游戲應用程序,在title#3的開 始時刻重新開始即plicationft2。由此,由于在titleft2中,a卯licationft2分配了資源,所 以維持了資源的存儲植。但是,由于是沒有分配CPU功率的狀態(tài),所以不會通過虛擬機來執(zhí) 行即plicationft2。由此,在游戲標題的執(zhí)行中,實現(xiàn)了執(zhí)行旁路的處理。
圖15是表示啟動屬性可取的三種形態(tài)(Persistent、AutoRun、Suspend)和最近前 面的標題中的應用程序狀態(tài)的三種形態(tài)(非啟動、啟動中、Suspend)可取的組合的圖。在 最近前面狀態(tài)是"非啟動"的情況下,若啟動屬性是"AutoR皿",則在分支目標標題中,啟動 該應用程序。 若最近前面狀態(tài)是"非啟動",啟動屬性為"Persistent"、"Suspend",則分支目標 標題中,其應用程序什么都不做,繼續(xù)狀態(tài)。 在最近前面狀態(tài)是"啟動中"的情況下,若啟動屬性為"Persistent "、"Suspend", 則分支目標標題中,其應用程序什么都不做,繼續(xù)狀態(tài)。 若啟動屬性為"Suspend",則應用程序的狀態(tài)為掛起。在最近前面狀態(tài)為 "Suspend"的情況下,若分支目標標題的啟動屬性是"Suspend",則維持掛起。若為 "Persistent"、"AutoRun",則在分支目標標題中,重新開始該應用程序。通過在應用程序管 理表中定義生存期間和啟動屬性,沿著標題時間軸的行進,可以進行使Java應用程序動作 的同步控制,可以特別送出伴隨視頻再現(xiàn)、應用程序執(zhí)行的各種應用程序。以上是對于記錄 媒體的說明。接著說明本發(fā)明的再現(xiàn)裝置。 圖16是表示本發(fā)明的再現(xiàn)裝置的內部結構的圖。本發(fā)明的再現(xiàn)裝置根據該圖所 示的內部結構來進行工業(yè)生產。本發(fā)明的再現(xiàn)裝置主要由系統(tǒng)LSI和驅動裝置的兩個部件 構成,通過將這些部件安裝在裝置的殼體和基板上來可進行工業(yè)生產。系統(tǒng)LSI是集成了 實現(xiàn)再現(xiàn)裝置的功能的各種處理部的集成電路。這樣生產的再現(xiàn)裝置由BD-R0M驅動器1、 讀緩存器2、多路分配器3、視頻譯碼器4、視頻平面5、 P-Gr即hics譯碼器9、展示圖形平面 10、合成部11、字體生成器12、I-Gr即hics譯碼器13、開關14、交互圖形平面15、合成部16、 HDD17、讀緩存器18、多路分配器19、音頻譯碼器20、腳本(scenario)存儲器21、 CPU22、鍵 事件處理部23、指令R0M24、開關25、 CLUT部26、PSR組28、本地存儲器29構成。
BD-R0M驅動器1進行BD-ROM的裝載/注入,執(zhí)行對于BD-ROM的訪問。 讀緩存器2是FIFO存儲器,以先入先出方式存儲從BD-ROM中讀出的TS包。 多路分配器(De-MUX) 3從讀緩存器2中取出TS包,并將構成該TS包的TS包轉換
為PES包。并且,將通過轉換得到的PES包中具有由CPU22設定的PID的包輸出到視頻譯
碼器4、音頻譯碼器20、 P-Gr即hics譯碼器9和I-Gr即hics譯碼器13中之一。 視頻譯碼器4解碼從多路分配器3輸出的多個PES包后得到非壓縮形式的圖像,
并寫入到視頻平面5上。 視頻平面5是用于存儲非壓縮形式的圖像的平面。所謂平面是指在再現(xiàn)裝置中存 儲一個畫面的象素數據用的存儲器區(qū)域。在再現(xiàn)裝置上設置多個平面,按每個象素來相加 這些平面的存儲內容,進行視頻輸出時,可以在合成多個視頻內容之后,進行視頻輸出。視 頻平面5中的分辨率為1920 X 1080,在該視頻平面5上存儲的圖像數據由以16比特的YUV 值表現(xiàn)的象素數據構成。 P-Gr即hics譯碼器9對從BD-ROM、 HDD17中讀出的展示圖形流進行譯碼,并將非 壓縮圖形寫入到展示圖形平面10中。通過圖形流的譯碼,在畫面上表現(xiàn)字幕。
展示圖形平面IO是具有一個畫面的區(qū)域的存儲器,可以存儲一個畫面的非壓縮 圖形。本平面的分辨率是1920X 1080,展示圖形平面10中的非壓縮圖形的各象素用8比特 的索引彩色來表示。通過使用CLUT(Color LookupTable)來轉換該索引彩色,來將在展示 圖形平面10中存儲的非壓縮圖形供給顯示。 合成部11將非壓縮狀態(tài)的圖像數據(i)與展示圖形平面10的存儲內容合成。
字體生成器12使用文字字體,將textST流中包含的文本碼展開為位圖。
I-Gr即hics譯碼器13對從BD-ROM或HDD 17中讀出的交互圖形流進行譯碼,并將 非壓縮圖形寫入到交互圖形平面15上。 開關14是將字體生成器12生成的字體串、通過P-Gr即hics譯碼器9的譯碼得到 的圖形中的某一個有選擇地寫入到展示圖形平面10的開關。 交互圖形平面15寫入基于I-Gr即hics譯碼器13進行的譯碼得到的非壓縮圖形。
合成部16合成交互圖形平面10的存儲內容和作為合成部8的輸出的合成圖像 (合成了非壓縮狀態(tài)的圖像數據和展示圖形平面7的存儲內容的內容)。
HDD17是存儲了經網絡等下載的SubClip、 Clip信息、播放列表信息的內置媒體。 在該HDD17中的播放列表信息即使是存在于BD-ROM和HDD 17的其中之一的Clip信息,在可 以進行指定的方面不同。每次該指定時,HDD17上的播放列表信息不需要通過全路徑(full path)指定BD-ROM上的文件。這是因為本HDD17與BD-ROM為一體,作為虛擬的一個驅動器 (稱作虛擬包),通過再現(xiàn)裝置來識別。因此,Playltem信息中的Clip_Information_f ile_ name禾P SubPlayltem信息的Clip_Information_file_name,通過指定相當于存儲了 Clip 信息的文件的文件主體的5位數值,可以指定HDD17、BD-R0M上的AVClip。通過讀出該HDD 的記錄內容,并與BD-ROM的記錄內容動態(tài)組合,可以產生各種不同的再現(xiàn)。
讀緩沖器18是FIFO存儲器,以先入先出的形式來存儲從HDD17讀出的TS包。
多路分配器(De-MUX) 19從讀緩存器18取出TS包,并將TS包轉換為PES包。并 且,將通過轉換得到的PES包中具有希望的streamPID的包輸出到字體生成器12中。
音頻譯碼器20對從多路分配器19輸出的PES包進行譯碼,并輸出非壓縮形式的音頻數據。 腳本存儲器21是用于存儲當前的PL信息和當前的Clip信息的存儲器。所謂當
前PL信息是指BD-R0M中記錄的多個PL信息中作為當前處理對象的信息。所謂當前Clip
信息是指在BD-ROM中記錄的多個Clip信息中,作為當前處理對象的信息。 CPU22執(zhí)行在指令R0M24中存儲的軟件,并執(zhí)行再現(xiàn)裝置整體的控制。 鍵事件處理部23根據對于遙控器和再現(xiàn)裝置的前面板的鍵操作,輸出進行該操
作的鍵事件。 指令R0M24存儲規(guī)定再現(xiàn)裝置的控制的軟件。 開關25是將從BD-ROM和HDD17讀出的各種數據有選擇地輸入到讀緩存器2、讀緩 存器18、腳本存儲器21、本地存儲器29中某一個的開關。 CLUT部26將視頻平面5中存儲的非壓縮圖形中的索引彩色轉換為Y, Cr, Cb值。
CLUT部27將交互圖形平面15中存儲的非壓縮圖形中的索引彩色轉換為Y, Cr, Cb值。 PSR組28是內置在再現(xiàn)裝置中的寄存器,由64個播放器狀態(tài)寄存器(PSR)和4096 個通用寄存器(GPR)構成。播放器狀態(tài)寄存器的設定值(PSR)中PSR4 PSR8用于表現(xiàn)當 前的再現(xiàn)時刻。 PSR4通過設定為1 100的值,表示當前的再現(xiàn)時刻所屬的標題,通過設定為0, 表示當前的再現(xiàn)時刻是頂端菜單。 PSR5通過設定為1 999的值,表示當前的再現(xiàn)時刻所屬的章節(jié)號,通過設定為 0xFFFF,表示再現(xiàn)裝置中章節(jié)號無效。 PSR6通過設定為0 999的值,表示當前的再現(xiàn)時刻所屬的PL(當前PL)的號。
PSR7通過設定為0 255的值,表示當前的再現(xiàn)時刻所屬的Play Item(當前Play Item)的號。 PSR8通過設定為0 OxFFFFFFFF的值,而使用45KHz的時間精度來表示當前的再 現(xiàn)時刻(當前PTM(Presentation Time))。通過以上的PSR4 PSR8,來確定當前的再現(xiàn)時 刻。 本地存儲器29由于從BD-ROM的讀出為低速,所以是用于暫時存儲BD-ROM的記錄 內容的高速緩存器。因存在該本地存儲器29,可以使BD-J模式中的應用程序執(zhí)行高效。圖 17 (a)是表示在本地存儲器29上怎樣識別BD-ROM中存在的Java歸檔文件的圖。圖17 (a) 的表中,在左欄表示BD-ROM上的文件名,在右欄表示本地存儲器29上的文件名。若比較這 些右欄、左欄,可以看出通過省去目錄指定"BDJA"的文件路徑來指定本地存儲器29中的文 件。 圖17(b)是表示圖17(a)的應用的圖。本應用例以頭+數據的形式存儲文件中所 存儲的數據。將本地存儲器9中的文件路徑用于頭。如圖17(b)所示,由于在本地存儲器 29中將省略了 BD-ROM中的文件路徑的一部分的內容用于文件路徑,所以通過將該文件路 徑存儲在頭中,可以明確各數據在BD-ROM中的位置。 以上是本實施方式的再現(xiàn)裝置的硬件結構。接著,說明本實施方式中的再現(xiàn)裝置 的軟件結構。 圖18是將由R0M24中存儲的軟件和硬件構成的部分轉換為層結構來描述的圖。如該圖所示,再現(xiàn)裝置的層結構由下面的a) 、 b) 、 c) 、 d-1) 、 d-2) 、 e) 、 f)構成。S卩,在a)物理 的硬件等級上存在b)控制基于AVClip的再現(xiàn)的展示引擎31、和c)進行基于播放列表信息 和Clip信息的再現(xiàn)控制的重放控制引擎32的這兩個等級,在最上層的等級上有e)執(zhí)行標 題間的分支的模塊管理器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為核心 的結構,由應用程序管理器36、事件監(jiān)聽管理器(event listnermanager) 39、缺省操作管理 器40構成。首先,最先說明展示引擎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-Gr即hics譯碼器9、 I-Gr即hics譯碼器13和音頻譯碼器 20,以進行讀出到讀緩存器2上的AVClip中相當于 希望時刻的部分的譯碼。作為希望的時 刻,通過進行PSR8(當前PTM)所示的位置的解釋,在AVClip中,可以再現(xiàn)任意的時刻。圖 中的 1將基于展示引擎31的譯碼開始模式化來進行表示。 再現(xiàn)控制引擎(Playback Control Engine (PCE)) 32執(zhí)行播放列表的再現(xiàn)功能
(1) 、再現(xiàn)裝置中的狀態(tài)取得/設定功能(ii)的各功能。所謂PL的再現(xiàn)功能是指根據當前 PL信息和Clip信息來進行展示引擎31進行的AV再現(xiàn)功能中的再現(xiàn)開始和再現(xiàn)停止。根 據來自HDMV模塊33 BD-J模塊35的應用程序調用來執(zhí)行這些功能(i) (ii) 。 S卩,再 現(xiàn)控制引擎32根據基于用戶操作的指示、來自層模塊中的上層位置的指示,來執(zhí)行自身的 功能。圖19中,帶 2 ◎ 3的箭頭將重放控制引擎32對Clip信息和播放列表信息的參考 模式化來表示。 HDMV模塊33是MOVIE模式的執(zhí)行主體,若從模塊管理器34通知構成分支目標的 Movie對象,則將構成分支目標標題的Movie對象讀出到本地存儲器29中,并對在該Movie 對象中描述的導航指令進行譯碼,根據譯碼結果來執(zhí)行對重放控制引擎32的應用程序調 用。圖19中帶V2、 V3、V4的箭頭,將來自模塊管理器34的分支目標Movie對象的通知
(2) 、 Movie對象中描述的導航指令的譯碼(3)、對于重放控制引擎32的應用程序調用(4) 模式化來表示。 模塊管理器34保持從BD-R0M中讀出的索引表,并進行分支控制。該分支控制在 HDMV模塊33執(zhí)行JumpTitle指令的情況下,或從BD-J模塊35調用標題跳轉API的情況 下,接收作為該跳轉目標的跳轉號,并向H匿V模塊33或BD-J模塊35通知構成該標題的 Movie對象或BD-J對象。圖中的帶V0、 VI、 V2的箭頭將JumpTitle指令的執(zhí)行(0)、 模塊管理器34進行的IndexTable參考(1)和分支目標Movie對象(2)的通知模式化來表 示。 以上是對展示引擎31 模塊管理器34的說明。接著,參考圖20來說明應用程序管理器36。圖20是表示應用程序管理器36的圖。 應用程序管理器36執(zhí)行參考了應用程序管理表的應用程序的啟動控制、執(zhí)行標 題正常終止時的控制。 所謂啟動控制是指在每次從模塊管理器34通知作為分支目標的BD-J模塊時,讀 出該BD-J對象,并參考該BD-J對象內的應用程序管理表來進行本地存儲器29訪問。并 且,所謂啟動控制是將構成把當前的再現(xiàn)時刻作為生存區(qū)間的應用程序的xlet程序讀出 到工作存儲器的控制。圖20中的眾1、眾2、眾3將啟動控制中的分支目標BD-J對象的通 知(1)、應用程序管理表參考(2)、對于Java虛擬機38的啟動指示模式化來表示。通過該 啟動指示,Java虛擬機38從本地存儲器29讀出xlet程序到工作存儲器37 ( ☆ 5)。
標題的終止控制有正常終止時的控制和異常終止時的控制。正??刂茣r的控制, 有通過構成標題的應用程序來調用跳轉標題API、并向分支控制的主體(模塊管理器34)請 求向分支目標標題的切換的控制。該終止控制中的將模塊管理器34通知模式化表示的是 箭頭眾6。這里,每次正常終止標題時,也可原樣啟動構成標題的應用程序。這是因為在分 支目標標題中判斷是否終止應用程序。在本實施方式中雖然沒有較深地涉及到,但是應用 程序管理器36進行從BD-ROM向本地存儲器29讀出Java歸檔文件(8)的處理。將向該本 地存儲器29的讀出模式化的是眾8。 以上是對應用程序管理器36的說明。接著,參考圖21來說明工作存儲器37 缺 省操作管理器40。 工作存儲器37是配置了構成應用程序的xlet程序的群區(qū)域。工作存儲器37本 來存在于Java虛擬機38內,但是在圖21中,為了作圖的方便,在Java虛擬機38上層位置 描述工作存儲器37。工作存儲器37上的xlet程序包含EventListner和JMF播放器實例。
Java虛擬機38將構成應用程序的xlet程序裝載在工作存儲器37上,對xlet程 序進行譯碼,來執(zhí)行基于譯碼結果的處理。如上所述,由于xlet程序包含命令JMF播放器 實例生成的方法和命令該JMF播放器實例的執(zhí)行的方法,所以為了實現(xiàn)通過這些方法命令 的處理內容,進行對于下層的控制。若命令JMF播放器實例生成,則Java虛擬機38得到與 BD-ROM上的YYYY. MPLS文件相關的JMF播放器實例。另外,若指令JMF播放器實例中的JMF 方法的執(zhí)行,則向BD中間件發(fā)出該JMF方法,并置換為BD再現(xiàn)裝置對應的應用程序調用。 并且,向重放控制引擎32發(fā)出置換后的應用程序調用。 事件監(jiān)聽管理器39分析通過用戶操作生成的事件(鍵事件),并進行事件的分 配。圖中的實線箭頭Ol、^2將基于該事件監(jiān)聽管理器39的分配進行模式化來表示。若 是SRART、STOP、SPEED等在xlet程序內的EventListner上登記的鍵事件,則分配通過BD-J 對象間接參考的有關xlet程序的事件。START、 STOP、 SPEED是對應于JMF的事件,由于在 xlet程序的Event Listner上登記了這些鍵事件,所以通過本鍵事件可以進行xlet程序的 啟動。在鍵事件是Event Listner未登記的鍵事件的情況下,將本鍵事件分配給缺省操作 管理器40。這是因為聲音切換、角度切換等BD-R0M再現(xiàn)裝置中產生的鍵事件上存在沒有在 Event Listner上登記的各種事件,即使產生了這些鍵事件,也執(zhí)行沒有遺漏的處理。
缺省操作管理器40若從事件監(jiān)聽管理器39分配沒有在xlet程序內的Event Listner上登記的鍵事件,則對重放控制引擎32執(zhí)行對應于該EventListner未登記事件 的應用程序調用。模式化地表示基于該缺省操作管理器40的應用程序調用是圖中的箭頭^3。另外,雖然圖21中通過事件監(jiān)聽管理器39、缺省操作管理器40來分配Event Listner 未登記事件,但是也可以由重放控制引擎32直接接收EventListner未登記事件,來進行再 現(xiàn)控制(圖中的^4)。
(流程圖的說明) 以上的對于應用程序管理器36的說明不過是涉及其概要。更詳細地表示應用程 序管理器36的處理的是圖22、圖23的流程圖。之后,參考這些流程圖來更詳細說明應用程 序管理器36的處理過程。 圖22是表示基于應用程序管理器36的分支時的控制過程的圖。本流程圖是啟動 或終止?jié)M足步驟S2 步驟S5構成的條件的應用程序(是指應用程序x)的處理。
步驟S2中判斷是否存在應用程序x,該應用程序x雖然在分支源標題中為非啟動、 但在分支目標標題中生存、且分支目標標題中的啟動屬性是AutoR皿屬性,并且若存在該 應用程序x,則進行對于本地存儲器29的高速緩存?zhèn)鞲?。若高速緩存?zhèn)鞲械慕Y果,在本地存 儲器29上有應用程序x (步驟S7中"是"),則從本地存儲器29向工作存儲器37讀入應用 程序x (步驟S8)。若本地存儲器29中沒有,則從BD-ROM向本地存儲器29讀入應用程序x 后,從本地存儲器29向工作存儲器37讀入應用程序x (步驟S9)。 步驟S3中判斷是否存在分支源標題中為啟動中、且在分支目標標題中非生存的 應用程序x。若存在,則從工作存儲器37中刪除應用程序x后終止(步驟S10)。
步驟S4中判斷是否存在分支源Suspend、分支目標AutoRun或Persistent的應用 程序。若存在,則重新開始應用程序x(步驟Sll)。 步驟S5中判斷是否存在在分支源標題中為啟動中、且分支目標Suspend的應用程 序。若存在,則掛起應用程序x(步驟S12)。 每次各應用程序終止時的應用程序管理器36的處理如圖23所示。圖23是表示 應用程序終止處理的處理過程的流程圖。該圖示出分別對于應終止的多個應用程序重復進 行步驟S16 步驟S20的處理的循環(huán)處理(步驟S15)。在本循環(huán)處理中,應用程序管理器 36發(fā)出要終止啟動中應用程序的終止事件(步驟S16),進行定時器設置(步驟S17),并進 入到由步驟S18 步驟S20構成的循環(huán)處理。若Event Listner接收到該終止事件,則對 應的xlet程序啟動終止處理。若終止處理終止,則從工作存儲器37中釋放該xlet程序, 并終止。 在步驟S18 步驟S20的循環(huán)處理的繼續(xù)中,定時器持續(xù)計數。在本循環(huán)處理中, 步驟S18是發(fā)送目標應用程序是否終止的判斷,若已終止,則終止對該應用程序的處理。步 驟S19是定時器是否超時的判斷,若超時,則在步驟S20中,從工作存儲器37中刪除發(fā)送目 標應用程序來強制終止應用程序。 參考圖24來說明以上的模塊管理器34的處理。 圖24是模式地表示應用程序終止的過程的圖。該圖中的第一級表示應用程序管 理器36,第二級表示三個應用程序。圖24的第二級、左側的應用程序表示接收終止事件后, 終止處理成功的應用程序。圖24的第二級、中間的應用程序表示接收終止事件后,終止處 理失敗的應用程序。第二級、右側的應用程序由于沒有安裝EventListner,故表示不能接收 終止事件的應用程序。 第一級-第二級的箭頭印l、印2模式地表示基于應用程序管理器的終止事件發(fā)送,箭頭印3模式地表示終止處理啟動。 第三級是終止處理成功時的狀態(tài)轉移后的狀態(tài),該應用程序通過本身的終止處理 來終止。若存在如這些xlet程序那樣,在預定期間內有沒有終止的應用程序,則應用程序 管理器36從工作存儲器37中強制去除這些。第四級表示基于應用程序管理器36的強制 終止。規(guī)定該第四級的強制終止也是應用程序管理器36的一個任務。
如上所述,根據本實施方式,由于自動終止在分支源標題中啟動并在分支目標標 題中不生存的應用程序,所以即使在通過帶條件的分支再現(xiàn)復雜地進行的情況下,不會進 行超過再現(xiàn)裝置的資源的界限的數目的應用程序啟動。由于可以保證分支前后的應用程序 動作,所以可以更多地發(fā)布邊再現(xiàn)數字流邊執(zhí)行應用程序的盤內容。
(第二實施方式) 第一實施方式中應用程序的生存區(qū)間與標題時間軸一致,但是第二實施方式提出 了將PL時間軸的一部分作為應用程序的生存區(qū)間的方案。由于PL時間軸的一部分通過章 節(jié)來表現(xiàn),所以通過由章節(jié)來描述開始點、終止點,可以規(guī)定應用程序的生存區(qū)間。圖25(a) 是表示在PL時間軸上規(guī)定生存區(qū)間的應用程序管理表的圖。圖25(a)中,在應用程序管理 表中描述了三個應用程序,其中即plicationft2將title#l的Ch即tert2到Ch即tert3指 定為生存區(qū)間,并在啟動屬性上規(guī)定了 AutoRun。因此,a卯licationft2如圖25(b)所示,在 Ch即tert2的起點啟動,并在Ch即tert3的終點終止。 另一方面,即plicationft3將title#l的Chapter#4到Ch即terft6指定為生存區(qū) 間。因此,a卯licationS3如圖25(b)所示,在Ch即tert4的起點啟動,在Ch即ter恥的終 點終止。 為了根據這樣描述的應用程序管理表進行處理,本實施方式的應用程序管理器36 在每次達到通過Plmark指定的章節(jié)起始點時,判斷是否存在生存區(qū)間從該章節(jié)起始點開 始的應用程序,若存在,則將該應用程序裝載到工作存儲器37中。 同樣,在每次到達章節(jié)起始點時,判斷在該章節(jié)最近前面的章節(jié)中是否存在生存 區(qū)間終止的應用程序,若存在,則從工作存儲器37中釋放該應用程序。 若以章節(jié)為單位來管理應用程序的生存,則可以以更精細的精度來指定應用程序 的生存區(qū)間。但是,必須注意在盤內容上可以有時間軸的反向。所謂反向是指通過倒帶使 時間軸反向行進。若在章節(jié)的邊界重復進行該反向和行進,則幾次進行向工作存儲器的裝 載、廢棄,產生了多余的讀出負載。因此,在本實施方式中,應用程序的啟動時期為進入標題 而開始基于重放控制引擎32的通常再現(xiàn)的瞬間。這里PL的再現(xiàn)有通常再現(xiàn)、技巧(trick) 再現(xiàn)。所謂技巧再現(xiàn)有快進、倒帶、跳下一個(SkipNext)、跳上一個(SkipBack)。在進行該 快進、倒帶、SkipNext、 SkipBack的期間,不開始應用程序啟動,而開始通常再現(xiàn)后,開始啟 動應用程序。在通過以通常再現(xiàn)開始的瞬間為基準,有如上所述的生存區(qū)間前后的到來的 情況下,不需要重復需要以上的應用程序的啟動。另外,也可在生存區(qū)間為title的情況 下,執(zhí)行將通常再現(xiàn)開始的瞬間作為應用程序的啟動基準的處理。 如上所述,根據本實施方式,由于可以以比PL小的章節(jié)為單位來規(guī)定應用程序的 生成區(qū)間,所以可以實現(xiàn)精細的應用程序控制。
(第二實施方式的變形例) 圖25中,向各應用程序添加優(yōu)先級。該優(yōu)先級取0 255的值,在應用程序之間資源的使用沖突等沖突了的情況下,每次應用程序管理器36進行將使其中一個應用程序 強制終止,或從其中一個應用程序爭奪資源的處理時,上述優(yōu)先級的值成為判斷材料。圖25 的一例中,由于application#l的優(yōu)先級為255, application#2、 application#3的優(yōu)先級 為128,所以在即plicationftl-即plicationft2沖突時,應用程序管理器36進行強制終止優(yōu) 先級低的即plicationft2的處理。
(第三實施方式) 由BD-ROM供給的盤內容由可彼此分支的多個標題構成。各標題除了由一個以上 的PL和使用該PL后的控制過程構成之外,有僅由對再現(xiàn)裝置的控制過程構成的非AV系標 題。本實施方式說明該非AV系標題。 在這種非AV系標題中,問題為怎樣來決定標題時間軸。圖26 (a)表示從PL時間 軸決定的標題時間軸。這時PL時間軸為標題時間軸,在該標題時間軸上決定應用程序的生 存區(qū)間。在沒有作為該基準的PL時間軸的情況下,標題時間軸應如圖26(b)、(c)那樣來決 定。 圖26(b)表示從主要的應用程序的生存區(qū)間決定的標題時間軸。所謂主應用程 序是指在標題中將啟動屬性設定為AutoR皿,在標題開始時自動啟動的唯一的應用程序,例 如,稱作啟動應用程序的程序相當于此。所謂啟動應用程序是指啟動其他應用程序的應用 程序。 該圖26(b)的考慮認為只要主應用程序啟動,標題時間軸就繼續(xù),若主應用程序 終止,則使時間軸終止。圖26(c)是表示從多個應用程序的生存區(qū)間決定的標題時間軸的 圖。有這樣的情況在標題的開始點啟動的是一個應用程序,但是該應用程序重復進行調用 其他應用程序,進一步該應用程序調用其他應用程序的處理。這時,只要其中一個應用程序 啟動,就認為標題時間軸持續(xù),若任何一個應用程序都沒有啟動的狀態(tài)到來,則由此認為標 題時間軸終止。這樣,若決定非AV系統(tǒng)標題的標題時間軸,無論是AV標題還是非AV系統(tǒng) 標題,都可以與標題時間軸的終止同時劃一地進行分支到預定的標題的處理。另外,非AV 標題中的標題時間軸在與AV標題對比時,不過是假定的想象的時間軸。因此,再現(xiàn)裝置可 以在非AV標題中的標題時間軸上逆行或定位到任意的位置。 以上是對于本實施方式中的記錄媒體的改進。接著,說明對于本實施方式中的再 現(xiàn)裝置的改進。 為了以如上所述的過程來進行標題終止,第三實施方式的應用程序管理器36以 如圖27所示的處理來進行處理。圖27是表示標題再現(xiàn)時的應用程序管理器36的處理過 程的流程圖。本流程圖中為在標題再現(xiàn)中,重復步驟S21 S23的循環(huán)結構。
步驟S21中判斷是否調出了標題跳轉API,若調出,則向模塊管理器34請求向跳轉 目標標題的分支(步驟S27)。 步驟S22中判斷是否存在承擔標題內的應用程序調用這樣的主應用程序,若存 在,則確認其啟動的有無(步驟S25)。若沒有啟動,則解釋為"標題的終止",向模塊管理器 34通知終止(步驟S26)。 步驟S23是沒有主應用程序的情況下執(zhí)行的步驟(步驟S22中"否"),判斷是否 為沒有啟動任何應用程序的狀態(tài)。若是,則同樣解釋為"標題的終止",而向模塊管理器34 通知終止(步驟S26)。
22
如上所述,根據本實施方式,即使是不伴隨PL再現(xiàn)的標題,也可進行在應用程序 執(zhí)行中不進行分支,在應用程序執(zhí)行終止后進行分支的處理。
(第四實施方式) 本實施方式涉及在BD-ROM上實現(xiàn)與DVD相同的菜單控制的情況的改進。圖28(a) 是表示通過BD-ROM實現(xiàn)的菜單等級的圖。該圖中的菜單等級在最上層配置TopMe皿,可以 從該TopMe皿選擇下層的TitleMe皿、SubTitleMe皿、AudioMe皿的結構。圖中的箭頭swl、 2、3模式地表示基于按鈕選擇的菜單的切換。所謂TopMenu是指配置了接收進行聲音選擇、 字幕選擇、標題選擇中之一的按鈕(圖中的按鈕snl、sn2、sn3)的菜單。
所謂TitleMe皿是指配置了接受選擇視頻作品(title)的電影版、選擇導演的剪 輯(director' s cut)版或選擇游戲版等視頻作品的選擇的按鈕的菜單。所謂AudioMe皿 是指配置了接受用日語或用英語進行聲音再現(xiàn)的按鈕的菜單,所謂SubTitleMe皿是指配 置了接受用日語或用英語進行字幕顯示的按鈕的菜單。 圖28(b)表示用于使具有這種等級的菜單動作的MOVIE對象。圖28(b)中在 MovieObject. bdmv中存儲了 FirstPlayOBJ、 TopMe皿0BJ、 AudioMe皿0BJ、 SubTitleMe皿 0BJ。 FirstPlay對象(FirstPlay 0BJ)是BD-R0M向再現(xiàn)裝置裝載時自動執(zhí)行的動態(tài)腳 本。 TopMenu對象(TopMenu 0BJ)是控制TopMenu的舉動的動態(tài)腳本。在用戶請求菜單 調用時,調用的是該TopMe皿對象。TopMe皿對象包含根據來自用戶的操作來改變TopMe皿 中的按鈕的狀態(tài)的指令、和根據對于按鈕的確定操作來進行分支的分支指令。該分支指令 實現(xiàn)從TopMe皿向TitleMe皿,從TopMe皿向SubTitleMe皿,從TopMe皿向Au dioMe皿的 菜單切換。 AudioMe皿對象(AudioMenu 0BJ)是控制AudioMe皿的舉動的動態(tài)腳本,包含根據 來自用戶的操作來改變AudioMe皿中的按鈕的狀態(tài)的指令、和根據對于按鈕的確定操作來 更新聲音設置的指令。 SubTitleMe皿對象(SubTitleMe皿0BJ)是控制SubTitleMe皿的舉動的動態(tài)腳 本,包含根據來自用戶的操作來改變SubTitleMe皿中的按鈕的狀態(tài)的指令、和根據對于按 鈕的確定操作來更新字幕設置用PSR的指令。TitleMe皿對象(TitleMe皿0BJ)是控制TitleMe皿的舉動的動態(tài)腳本,包含改變 TitleMe皿中的按鈕的狀態(tài)的指令和根據對于按鈕的確定操作來進行分支的分支指令。
通過這些菜單用M0VIE對象,可以實現(xiàn)如在DVD中實現(xiàn)的菜單的舉動。以上是與 菜單控制有關的MOVIE對象。 圖29是模式化了索引表和從索引表向各Movie對象的分支的圖。該圖中左側表示 索引表的內部結構。在本實施方式的索引表中包含F(xiàn)irstPlaylNDEX、TopMe皿INDEX、Audio Me皿INDEX、 SubtitleMenuINDEX、 titleMenuINDEX、 title#l #mINDEX、 title#m+l Nindex、title#0INDEX。圖中的箭頭bcl、2模式地表示從Index Table向FirstPlayOBJ的 分支、從FirstPlayOBJ向TopMenu的分支,箭頭bc3、4、5模式表示從TopMe皿向TitleMe皿、 SubTitleMe皿、AudioMenu的分支。箭頭bc6、7、8模式地表示從TitleMe皿向各Movie對 象的分支。
23
FirstPLayINDEX、 TopMe皿INDEX、 Audio Me皿INDEX、 SubtitleMe皿INDEX、 title Me皿INDEX分另U是對于FirstPLay 0BJ、 TopMe皿OBJ、 Audio Me皿OBJ、 Subtitle Me皿OBJ、 title Me皿0BJ的Index,描述了這些識別符。 Title#l #mINDEX是BD-ROM中從第一個進入到第m個的title的Index,描述
了在這些1到m的title號的選擇時作為分支目標的MOVIE對象的識別符(ID)。 Title#m+1 #nINDEX是BD-ROM中對于從第m+1進入到第n的title的Index,
描述了在這些m+1到n的title號的選擇時作為分支目標的BD-J對象的識別符(ID)。 Title#OINDEX是規(guī)定在BD-J對象的強制終止時應作為分支目標的Movie對象或
BD-J對象的INDEX。本實施方式中,將對于TopMe皿OBJ的識別符存儲在該title#OINDEX中。 圖30(a)表示如圖29那樣描述了 Index Table的情況下的分支。由于這樣來描 述Index Table,所以在將標簽titleftl title#m作為分支目標的分支指令的執(zhí)行時,從 title#l title#m INDEX中取出Movie對象#1 #m的識別符。在將標簽title#m+l title#n作為分支的分支指令的執(zhí)行時,從title#m+llndex title#nlndex中取出BD-J 對象#m+l #n的識別符。由于BD-J對象#m+l #n的識別符是表示標題名的5位數值, 所以取出"00001. BD-J、00002. BD_J、00003. BD-J...",將該標題名的動態(tài)腳本讀出到存儲 器中,來執(zhí)行。其是使用了索引表的分支處理。 圖30(b)是表示BD-J對象執(zhí)行時的強制終止時的分支的圖。在強制終止時的分 支中,從title糾Index取出識別符,并通過再現(xiàn)裝置來執(zhí)行該識別符的動態(tài)腳本。若該識 別符為頂端菜單標題的識別符,則在應用程序強制終止時,自動選擇頂端菜單OBJ。
以上是對于本實施方式中的記錄媒體的改進。接著,說明對于本實施方式中的再 現(xiàn)裝置的改進。由于對應于上述的記錄媒體的改進,所以再現(xiàn)裝置內的模塊管理器34以如 圖31所示的處理過程來進行處理。圖31是表示模塊管理器34的處理過程的流程圖。本 流程圖構成由步驟S31、步驟S32構成的循環(huán)處理,并在步驟S31或步驟S32中之一為"是" 時,執(zhí)行對應的處理。 步驟S31判斷是否有標題跳轉API的調用。若有標題跳轉API的調用,則取得作 為分支目標標簽的標題號j(步驟S33),并從索引表中的標題號j的索引中取得IDj(步驟 S34),而使HDMV模塊33或BD-J模塊35執(zhí)行IDj的Movie對象或BD-J對象(步驟S35)。
步驟S32判斷是否從應用程序管理器36通知標題終止的,若通知(步驟S32中" 是"),則使H匿V模塊33或模塊管理器34執(zhí)行構成頂端菜單標題的頂部菜單0BJ(步驟 S36)。 參考圖32來說明基于以上的應用程序管理器36的應用程序強制終止的動作例。 這里應再現(xiàn)的標題是包含堆積降落的瓦(tile)片的游戲應用程序的非AV系標題。圖32的 下級表示由應用程序的生存區(qū)間構成的標題時間軸,上級表示標題時間軸中顯示的圖像。 在非AV系標題是游戲應用程序的情況下,在該游戲應用程序的生存區(qū)間中,如圖32的上段 左側那樣,顯示游戲應用程序的一畫面。若應用程序有錯誤,而異常終止,則應用程序管理 器36根據圖23的流程圖來使游戲應用程序強制終止,并向模塊管理器 通知標題的終 止。若通知了標題終止,則模塊管理器34分支到頂端菜單標題。這樣,顯示如圖32的上段 右側所示的圖像,等待用戶的操作。
如上所述,根據本實施方式,在包含程序,但是不包含數字流的非AV系標題終止 時,可以進行分支到頂端菜單標題的控制。由此,即使應用程序出錯終止,也可避免停機和 破壞(bang up)的產生。
(第五實施方式) 涉及BD-J模式中怎樣實現(xiàn)與PL再現(xiàn)的同步的改進。在圖8(b)的一例中,在Java 虛擬機38對命令JMF播放器實例的再現(xiàn)的JMF播放器實例(A. play ;)進行譯碼的情況下, Java虛擬機38調用PL再現(xiàn)API,在調用后,緊接著向應用程序返回表示"成功"的響應。
重放控制引擎32在調用PL再現(xiàn)API時,執(zhí)行基于PL信息的處理過程。若PL具 有兩小時的再現(xiàn)時間,則上述的處理持續(xù)該兩小時的時間。這里成為問題的是Java虛擬機 38返回成功響應的時間和重放控制引擎32實際終止處理的時間的間隔。Java虛擬機38 由于是作為驅動事件的處理主體,所以在調用之后緊接著返回表示再現(xiàn)成功或再現(xiàn)失敗的 響應,但是由于基于重放控制引擎32的實際的處理終止在經過2小時后,所以在將訪問響 應返回應用程序的時間作為基準的情況中,不能感測相當于2小時經過后的處理終結。若 在PL再現(xiàn)中進行快進、倒帶、Skip,則該2小時的再現(xiàn)期間在2小時前后改變,處理終結的 感測更加困難。 重放控制引擎32由于在與應用程序孤立的狀態(tài)下動作,所以在如第三實施方式 那樣的終止判斷中,不能將PL再現(xiàn)的終止解釋為標題終止。因此,在本實施方式中,雖然應 用程序已經終止,但是只要工作存儲器37上存在JMF播放器實例,即,在BD-J模塊35掌握 展示引擎31的控制權的期間,從重放控制引擎32等待再現(xiàn)終止事件。并且,若存在再現(xiàn)終 止事件,則解釋為標題終止,并為了進行向下一標題的分支,向模塊管理器34進行通知。由 此,可以將重放控制引擎32終止PL再現(xiàn)的時刻作為標題的終止。 之后,參考圖33 圖37的流程圖來說明基于重放控制引擎32的具體的控制過 程。 圖33是表示基于重放控制引擎32的PL再現(xiàn)控制過程的流程圖。該再現(xiàn)過程主 要包含對于展示引擎31的控制(步驟S46)和對于BD-ROM驅動器1或HDD17的控制(步 驟S48)。將本流程圖中作為處理對象的Playltem設作Playltemfe。本流程圖進行當前 PL信息(.mpls)的讀取(步驟S41),之后,執(zhí)行步驟S42 步驟S50的處理。這里,步驟 S42 步驟S50在步驟S49為"是"之前,對于構成當前PL信息的各個PI信息,重復進行 步驟S43 步驟S50的處理的循環(huán)處理。將該循環(huán)處理中作為處理對象的Playltem稱作 PlayItem#x(PI#x)。該Playltemftx通過設定為當前PL的頭的Playltem來進行初始化(步 驟S42)。上述的循環(huán)處理的終止要件是該Playltemfe是當前PL的最后的Playltem (步驟 S49),若是最后的Playltem,則將當前PL的下一 Playltem設定為Playltem#x (步驟S50)。
循環(huán)處理中重復執(zhí)行的步驟S43 步驟S50將由Playltem#x的Clip_ information—file—name指定的Clip信息讀入到腳本存儲器21中(步驟S43),并使用當 前Clip信息的Epmap,來將Playltem#x的In_time轉換為I圖像地址u (步驟S44),使用 當前Clip信息的EPjii即來將Playltem#x的Out_time轉換為I圖像地址v (步驟S45),并 求出通過這些轉換得到的地址v的下一I圖像之后,將該地址的前一個設定為地址w(步驟 S47)。使用這樣算出的地址w,來向BD-ROM驅動器1或HDD17命令從I圖像地址u到地址 w的TS包的讀出(步驟S48)。
另一方面,對展示引擎31,命令從當前PLMark的mark_time_stamp至lj Playltem#x 的0ut_time為止的輸出(步驟S46)。通過以上的步驟S45 步驟S48,在AVClip中,進行 由Playltemfe指示的部分的再現(xiàn)。 之后,判斷Playltemfe是否為當前PL的最后的PI (步驟S49)。 若Playltemfe不是當前PL的最后的PI,則將當前PL中的下一 Playltem設定為
Playltemfe(步驟S50),而回到步驟S43。通過重復以上的步驟S43 步驟S50,依次再現(xiàn)
構成PL的PI。 圖34是表示角度切換過程和Skip Back、 Skip Next的過程的流程圖。本流程圖 與圖33的處理過程并行,重復由步驟S51 S52構成的循環(huán)處理。本循環(huán)中的步驟S51中 判斷請求角度切換的API是否是從Java虛擬機38調用的,若存在角度切換API的調用,則 執(zhí)行切換當前Clip信息的操作。 圖34的步驟S55是判斷步驟,進行Playltem#x的is_multi_angles是否為ON的 判斷,所謂is_multi_angles是表示Playltemfe是否對應于多角度的標志,若步驟S55為" 否",則進入到步驟S53。若步驟S55為"是",則執(zhí)行步驟S56 步驟S59。步驟S56 步驟 S59將切換后的角度號代入自變量y (步驟S56),并向腳本存儲器21讀出由Playltemfe中 的第y的Clip-information_file_name指定的Clip信息(步驟S57),使用當前Clip信息 的EPjii即將當前PTM轉換為I圖像地址u (步驟S58),并使用當前Clip信息的EPjii即來 將Playltemfe的Out_time轉換為I圖像地址v(步驟S59)。這樣,在變化了 I圖像地址 u、 v后,進入到步驟S46。由于通過向步驟S46的進入,從其他AVC1 ip讀出TS包,所以切換 視頻內容。 另一方面,圖34的循環(huán)中的步驟S52判斷是否從Java虛擬機38調用含義為Skip Back/Skip Next的API,若調用,則執(zhí)行圖35的流程圖的處理過程。圖35是表示調用Skip Back, Skip NextAPI時的處理過程的流程圖。每次執(zhí)行Skip Back, Skip Next時的處理過 程多種多樣。注意這里說明的只不過是一例。 步驟S61通過轉換用PSR表示的當前PI號和當前PTM,來得到當前Mark信息。步 驟S62判斷按下的鍵是Skip Next鍵還是Skip Back鍵,若是Skip Next鍵,則在步驟S63 中將方向標志設定為+1,若為Skip Back鍵,則在步驟S64中將方向標志設定為-1。
步驟S65將在當前PLMark的號上補上了方向標志的值后的號設定為當前PLMark 的號。這里,若是SkipNext鍵,則將方向標志設定為+l,所以增加當前PLMark。若是Skip Next鍵,則將方向標志設為-l,所以減去當前PLMark。 步驟S66中,將在當前的PLMark的ref_to_PlayItem_Id上描述的PI設為 Playltem#x,在步驟S67中,讀入由Playltem#x的Clip_information_file_name指定的 Clip信息。在步驟S68中,使用當前Clip信息的EP_map,來將當前PLMark的mark_time_ stamp轉換為I圖像地址u。另一方面,在步驟S69中,使用當前Clip信息的EPjii即將 Playltem#x的Out—time轉換為I圖像地址v。步驟S70在向展示引擎31命令從當前PLMark 的mark_time_stamp到Playltem#x的Out_time的輸出后,進入到圖33的步驟S47。這 樣,在變化I圖像地址u、 v后,命令其他部分的再現(xiàn)后,向步驟S47進入,所以變?yōu)閺钠渌?AVClip中讀出TS包,實現(xiàn)切換視頻內容。 圖36是表示基于展示引擎31的處理過程的細節(jié)的流程圖。本流程圖在將I圖像的PTS設定為當前PTM后(步驟S71),執(zhí)行由步驟S72 步驟S77構成的循環(huán)處理。
接著,說明步驟S72 步驟S77中的循環(huán)處理。該循環(huán)處理重復相當于當前PTM 的圖像、音頻的再現(xiàn)輸出和當前PTM的更新。本循環(huán)處理中的步驟S76規(guī)定循環(huán)處理的終 止要件。即,步驟S76將當前PTM為PI#x的0ut_time情況作為循環(huán)處理的終止要件。
步驟S73判斷是否從Java虛擬機38調用快進API或快倒API。若是,則在步驟 S78中進行快進或快倒的判斷,若是快進,則將下一 I圖像的PTS設作當前PTM(步驟S79)。 這樣,通過將當前PTM設定為下一I圖像的PTS,可以在一秒中很快地再現(xiàn)AVClip。由此, AVClip以2倍速等沿順方向很快再現(xiàn)。若是快倒,則判斷當前PTM是否達到Playltemfe的 0ut_time (步驟S80)。若沒有達到,則將前一個I圖像的PTS設定為當前PTM(步驟S81)。 通過這樣將讀出端地址A設作前一個的I圖像,可以沿后方向在一秒內很快再現(xiàn)AVClip。 由此,以2倍速等沿逆方向來再現(xiàn)AVClip。另外,執(zhí)行快進、倒帶時的處理過程多種多樣。 注意這里說明的只不過是一例。 步驟S74判斷是否調用菜單調用API,若調用,則掛起當前的再現(xiàn)處理(步驟 S82),執(zhí)行菜單處理用菜單程序(步驟S83)。通過以上的處理,在進行了菜單調用的情況 下,在中斷再現(xiàn)處理后,執(zhí)行菜單顯示用的處理。 步驟S75通過Syn_PlayItem_id判斷是否存在指定了 Playltem#x的 SubPlayltemfty,若存在,則進入到圖37的流程圖。圖37是表示SubPlayltem的再現(xiàn) 過程的流程圖。本流程圖中,首先在步驟S86中,判斷當前PTM是否是SubPlayltemfty 的sync_start_of_playItem。若這樣,則在步驟S93中通知重放控制引擎32進行基于 SubPlayItem#y的再現(xiàn)處理。 圖37的步驟S87 步驟S92是表示基于SubPlayltemfty的再現(xiàn)處理的流程圖。
在步驟S87中,讀入通過SubPlayItem#y的Clip_information_f ile_name指定的 Clip信息。在步驟S88中,使用當前Clip信息的EP—m即,將SubPlayItem#y的In—time轉 換為地址a。另一方面,在步驟S89中,使用當前Clip信息的EPjn即,將SubPlayltemSy 的0ut_time轉換為地址P 。步驟S90向譯碼器命令從SubPlayItem#y的In_time到 SubPlayItem#y的Out time的輸出。求出通過這些轉換得到的地址P的下一I圖像,并 將該地址的前一個設作地址y (步驟S91),使用這樣算出的地址y ,向BD-ROM驅動器1或 HDD17命令從SubClipftz的地址a到地址y的TS包的讀出(步驟S92)。
另外,回到圖33來進行重放控制引擎32的處理的說明的繼續(xù)。步驟S53是基于 展示引擎31的再現(xiàn)控制是否完成的判斷,對于最后的Playltemfe,只要進行圖36的流程圖 的處理,步驟S53成為"否"。圖36的流程圖的處理終止后,步驟S53才變?yōu)?是",并進入 到步驟S54。步驟S54是向Java虛擬機38的再現(xiàn)終止事件的輸出,通過該輸出,Java虛擬 機38可以知道兩個小時的再現(xiàn)時間的經過。 以上是本實施方式中的重放控制引擎32、展示引擎31的處理。接著說明本實施方 式中應用程序管理器36的處理過程。圖38是表示第五實施方式的應用程序管理器36的 處理過程的流程圖。 圖38的流程圖改進了圖27的流程圖。其改進點是,在步驟S21_步驟S22之間追 加了步驟S24,在該步驟S24為"是"時,存在所執(zhí)行的步驟SlOl。 步驟S24判斷工作存儲器37中是否存在JMF播放器實例,若不存在,則進入到步
27驟S22。若存在,則進入到步驟S101。步驟S101判斷是否從重放控制引擎32輸出了再現(xiàn) 終止事件,若輸出了 ,則在消除工作存儲器中的Java播放器實例后(步驟S102),向模塊管 理器34通知標題終止(步驟S26)。若沒有通知,則重復由步驟S21 步驟S24構成的循環(huán) 處理。 在以上的流程圖中,只要在工作存儲器37上存在JMF播放器實例(步驟S24中為" 是"),就跳過步驟S22、步驟S23。因此,例如,即使所有的應用程序終止,也解釋為標題繼續(xù) 中。 如上這樣,根據本實施方式,應用程序管理器36可以把握兩個小時的再現(xiàn)時間的 經過時刻,所以可以實現(xiàn)在PL再現(xiàn)的終止條件上顯示菜單,并根據對于該菜單的操作來分 支到其他標題的控制。 [O303](第六實施方式) 第六實施方式涉及在BD-J對象上設置了數據管理表的改進。 數據管理表(DMT)是表示在其標題時間軸上使應裝載到本地存儲器29上的Java 歸檔文件與讀入屬性和讀入優(yōu)先級對應的表。所謂本地存儲器29中的生存是指可從本地 存儲器29中讀出構成該應用程序的Java歸檔文件,并傳送到Java虛擬機38內的工作存 儲器37的狀態(tài)。圖39是表示數據管理表的一例的圖。如該圖所示,數據管理表表示應用 程序的"生存區(qū)間"、識別具有該生存區(qū)間的應用程序的"即plicationID"和該應用程序的 "讀入屬性"、"讀入優(yōu)先級"。 如上所述,應用程序管理表中存在稱作生存區(qū)間的概念,數據管理表中也存在相 同的生存區(qū)間的概念。將與應用程序管理表相同的概念設置在數據管理表中,看上去認為 浪費,但是其有含義。 圖40是表示BD-J對象假定的執(zhí)行模型的圖。該圖中的執(zhí)行模型由BD-ROM、本地存 儲器29、 Java虛擬機38構成,表示BD-ROM、本地存儲器29、工作存儲器37三者的關系。箭 頭myl表示BD-ROM —本地存儲器29之間的讀入,箭頭my2表示本地存儲器29 —工作存儲 器37之間的讀入。箭頭上的注解表示在怎樣的定時下進行這些讀取?;谧⒔猓珺D-ROM — 本地存儲器29之間的讀入是所謂的"先讀",必須在需要應用程序之前的時刻進行。
另外,若基于注解,則清楚在需要應用程序時進行本地存儲器29 —工作存儲器37 之間的讀入。所謂"需要時"是指應用程序的生存區(qū)間到來時刻(1)和從其他應用程序或 應用程序管理器36指示了應用程序的調用的時刻(2)。 箭頭my3表示工作存儲器37中的應用程序的占有區(qū)域的釋放,箭頭my4表示本地 存儲器19中的應用程序的占有區(qū)域的釋放。箭頭上的注解表示在哪個定時上進行這些讀 入。若基于注解,則明白與應用程序終止同時進行工作存儲器37上的釋放。另一方面,在 對于Java虛擬機38來說不需要的時刻進行本地存儲器29上的釋放。所謂不需要的時刻 不是"終止時刻"。是指"終止后,沒有重新啟動的可能性的時刻",即,該title終止的時刻。 從應用程序管理表中的生存區(qū)間來判斷上述的讀入"釋放中工作存儲器37中的釋放時刻。 但是不能對"需要應用程序之前的時刻"、"終止后,沒有重新啟動的可能性的時刻"進行規(guī) 定。因此,在授權階段中,由于在盤內容整體的時間軸上規(guī)定了該時刻,所以在本實施方式 中,將各應用程序生存的區(qū)間描述在與應用程序管理表不同的數據管理表上。即,將"需要 應用程序之前的時刻"定義為數據管理表中的生存區(qū)間的始點,將"終止后,沒有重新啟動的可能性的時刻"定義為數據管理表的終點,從而可以在授權時規(guī)定上述本地存儲器29上 的存儲內容的遷移。其是數據管理表的描述意義。 說明基于數據管理表的本地存儲器29生存區(qū)間的描述。這里要制作的盤內 容由三個標題(title#l、 titile#2、 title#3)構成,這些標題的時間軸上,認為要以如 圖41(b)所示的定時,使用本地存儲器29。這時,在titleftl時間軸的開始點中將構成 即plicationftl、a卯licationft2的Java歸檔文件讀入到本地存儲器29中,在title#l時間 軸的繼續(xù)中,使即p 1 i cat i on# 1 、即p 1 i cat i on#2常駐在本地存儲器29上。并且,在titleS2 時間軸的起始點,從本地存儲器29中釋放構成即plicationftl的Java歸檔文件,并代替 此,將構成applicationft3的Java歸檔文件讀入到本地存儲器29中,而進行常駐(之后, 構成應用程序的Java歸檔文件與應用程序同樣地處理)。這時的數據管理表的描述如圖 41(a)那樣,通過與其生存區(qū)間對應地描述應用程序的applicationID,來表現(xiàn)應在本地存 儲器29中常駐的應用程序。圖41(a)中,可以看出與titleftl對應地來描述applications 的即plicationID,與title#l、 title#2對應地來描述即plication弁2的即plicationID, 與t i 11 e#3對應地來描述即p 1 i cat i on#3的即p 1 i cat i on ID 。由此,通過授權承擔者來規(guī)定 本地存儲器29占有的時間遷移。 作為數據管理表、應用程序管理表的組合,最好在應用程序管理表中規(guī)定的生存 區(qū)間為小的再現(xiàn)單位,在數據管理表中規(guī)定的生存區(qū)間為大的再現(xiàn)單位。大的再現(xiàn)單位最 好是標題、PL這樣的非無縫的再現(xiàn)單位。另一方面,作為小的再現(xiàn)單位,最好是如PL內的章 節(jié)那樣的無縫的再現(xiàn)單位。若按每個標題、PL來定義應用程序的生存區(qū)間,由于應用程序 存在于工作存儲器29上,所以在其標題的再現(xiàn)中為無論何時都可取出應用程序的狀態(tài)。若 這樣,由于即使精細地定義應用程序的生存區(qū)間,也可立即將應用程序讀出到虛擬機上的 工作存儲器上,所以即使頻繁進行應用程序的啟動 終止,也可實現(xiàn)平滑地執(zhí)行應用程序。
接著,說明讀入屬性。 圖2中,以Java歸檔文件記錄在與AVClip不同的記錄區(qū)域上為前提。但是,其不 過是一例。Java歸檔文件存在嵌入到BD-R0M中AVClip所占有的記錄區(qū)域的情況。該嵌入 的方式有循環(huán)(carousel)、交叉單元化兩種。 這里所謂"循環(huán)"是指為實現(xiàn)對話廣播而轉換為重復同一內容的廣播方式。BD-ROM 雖然沒有存儲廣播的數據,但是在本實施方式中,模仿循環(huán)的廣播形式來存儲JAVA歸檔文 件。圖42是表示基于循環(huán)的Java歸檔文件嵌入的圖。第一級是在AVClip中嵌入的Java 歸檔文件,第二級表示分段化。第三級表示TS包化,第四級表示構成AVClip的TS包串。將 這樣分段化、TS包化的數據(圖中的"D")嵌入到AVClip中。通過循環(huán),在AVClip中多路 復用的Java歸檔文件在每次讀出時,低頻讀出。由于該低頻的讀出需要大致2 3分鐘這 樣的長時間,所以再現(xiàn)裝置花費2 3分鐘來讀入Java歸檔文件。 圖43表示基于交叉的Java歸檔文件嵌入的圖。第一級是應嵌入的AVClip,第二 級是在AVClip中交叉的Java歸檔文件,第三級是BD-R0M的記錄區(qū)域中的AVClip配置。如 該圖所示,應嵌入在流中的Java歸檔文件進行交叉后,記錄在形成構成AVClip的XXXXX. m2ts的分割部分(圖中的AVClip2/4,3/4)的間隔上。通過交叉在AVClip上多路復用的 Java歸檔文件,與循環(huán)比較,以高頻帶讀出。由于是該高頻帶的讀出,所以再現(xiàn)裝置在較短 期間讀入Java歸檔文件。
不預先裝載循環(huán)*交叉后的Java歸檔文件。在當前的再現(xiàn)時刻到達BD-R0M中的 AVClip的記錄區(qū)域中的、嵌入了循環(huán) 交叉后的Java歸檔文件的部分時,裝載到再現(xiàn)裝置 的本地存儲器29中。Java歸檔文件的記錄形態(tài)除了圖2所示的形態(tài)之外,有圖42、圖43 (a) 所示的形態(tài),所以如圖43(b)所示那樣來設置讀入屬性。如圖43(b)所示,讀入屬性有表示 在標題再現(xiàn)之前、并向本地存儲器29讀入的"Preload"、和表示在標題再現(xiàn)中以循環(huán)方式 讀入的"Load. Carousel"、以及表示在標題再現(xiàn)中以交叉方式讀入的"Load. InterLeave"。 讀入屬性中用后綴來表現(xiàn)循環(huán)或交叉,但是也可省略。 參考圖44來說明數據管理表中的生存區(qū)間的具體的描述例。圖44(a)是表示數 據管理表的一例的圖。圖44(b)是表示基于該數據管理表的分配的本地存儲器29的存儲 內容的變化的圖。該圖在縱軸方向上表示本地存儲器29中的占有區(qū)域,橫軸為一個標題 內的PL時間軸。由于數據管理表中,a卯licationftl描述為一個標題內的PL時間軸整體 為生存區(qū)間,所以在該標題的Chapter#l Chapter#5中占有本地存儲器29內的區(qū)域。 即plicationft2描述為在數據管理表中使標題內的PL#1中的Ch即tertl Ch即tert2為 生存區(qū)間,所以在該標題的Ch即tertl Ch即tert2中占有本地存儲器29內的區(qū)域。由于 即plicationft3描述為在數據管理表中使標題內的PL#1中的Ch即tert4 Ch即tert5為生 存區(qū)間,所以在該標題的Ch即tert4 Ch即tert5中占有本地存儲器29內的區(qū)域。結束以 上對數據管理表中的生存區(qū)間的說明。 接著說明讀入優(yōu)先級。所謂讀入優(yōu)先級是指決定對于向本地存儲器29的讀入的 優(yōu)劣的優(yōu)先級。讀入優(yōu)先級有多個值。在想要設置兩個等級的優(yōu)劣的情況下,將表示強制 (Mandatory)的值、表示可選(optional)的值設定為讀入優(yōu)先級。這時,Mandatory是指高 的讀入優(yōu)先級,optional是指低的讀入優(yōu)先級。在想要設置三個等級的優(yōu)劣的情況下,將表 示Mandatory的值、表示optional :high、optional: low的值設定為讀入優(yōu)先級。Mandatory 表示最高的讀入優(yōu)先級,optional :high表示中等的讀入優(yōu)先級,optional: low表示最低 的讀入優(yōu)先級。參考圖45(a) 、(b)來說明數據管理表中的讀入優(yōu)先級的具體的描述例。在 該具體例中,假定的本地存儲器29的存儲器規(guī)模如圖45(a)所示。圖45(a)是對比表示新 舊再現(xiàn)裝置中的本地存儲器29的存儲器規(guī)模的圖。箭頭mkl表示舊再現(xiàn)裝置中的存儲器 規(guī)模,箭頭mk2表示新再現(xiàn)裝置中的存儲器規(guī)模。根據該箭頭的對比,假定新再現(xiàn)裝置中的 本地存儲器29的存儲器規(guī)模與舊再現(xiàn)裝置的存儲器規(guī)模相比為三倍以上的狀態(tài)。這樣,在 存儲器規(guī)模有偏差的情況下,應用程序分類為如圖45所示那樣的兩個組。第一個無論是什 么樣的存儲器規(guī)模都應讀入的應用程序(#1, #2)。第二個是不希望舊再現(xiàn)裝置的讀入,但 是希望新再現(xiàn)裝置的讀入的應用程序(#3, #4)。若將要讀入的應用程序分類為這兩個組, 則在屬于前者的應用程序上設置讀入優(yōu)先級二Mandatory,并在屬于后者的應用程序上設 置讀入優(yōu)先級=0ptional。圖45(b)是表示設置了讀入優(yōu)先級的數據管理表的一例的圖。 若這樣來設置數據管理表后,將即plicationftl 即plicationft4記錄在BD-R0M上,則保 證了一切的存儲器規(guī)模的再現(xiàn)裝置上的再現(xiàn),同時在存儲器規(guī)模大的再現(xiàn)裝置上,可以使 再現(xiàn)裝置再現(xiàn)利用了更大的大小的數據的應用程序。 以上是對于本實施方式的記錄媒體的改進。接著說明對于本實施方式中的再現(xiàn)裝 置的改進。由于對應于上述的記錄媒體的改進,所以應用程序管理器36以圖46所示的處 理過程來進行處理。
圖46是表示基于應用程序管理器36的預裝載控制的處理過程的圖。本流程圖構 成如下的循環(huán)處理在讀入應再現(xiàn)的標題中的數據管理表(步驟S111)、在數據管理表中具 有最高的讀入優(yōu)先級,同時,將即plicaitonID最小的應用程序設為應用程序i后(步驟 S112),在經過了步驟S113、步驟S114的判斷后,重復進行將應用程序i預裝載到本地存儲 器29上(步驟S115)的處理,直到判斷為步驟S116為"否"和步驟S117為"否"。
步驟S113判斷應用程序i的讀入屬性是否是預裝載,步驟S114判斷應用程序的 讀入優(yōu)先級是=Mandatory還是0ptional。若在步驟S113中判斷為預裝載,在步驟S114 中將讀入優(yōu)先級判斷為Mandatory,則將應用程序預裝載到本地存儲器29中(步驟SI 15)。 若在步驟S113中判斷為讀入屬性是裝載,則跳過步驟S114 步驟S115。
規(guī)定循環(huán)處理的終止要件的兩個步驟中步驟S116,判斷是否存在即plicationID 次高、讀入優(yōu)先級與應用程序I相同的應用程序k。若存在這種應用程序k,將該應用程序 k設為應用程序i(步驟S119)。 規(guī)定循環(huán)處理的終止要件的兩個步驟中步驟S117判斷數據管理表中是否存在具
有次低的讀入優(yōu)先級的應用程序,若存在,將具有該次低的讀入優(yōu)先級的應用程序中最小
的即plciationID中選作應用程序k(步驟S118),將該應用程序k設作應用程序i (步驟
S119)。只要這些步驟S116、步驟S117為"是",則重復上述的步驟S113 步驟S115的處
理。步驟S116、步驟S117中,若沒有相應的應用程序,則本流程圖的處理終止。 步驟S120 步驟S123是在步驟S14中判斷為讀入優(yōu)先級=Optional的情況下
執(zhí)行的處理。 步驟S120判斷是否存在具有相同的applicationlD、且讀入優(yōu)先級高的應用程序 步驟S121判斷本地存儲器29的殘留容量是否高于應用程序i的大小。在步驟 S120為"否",步驟S121為"是"的情況下,在步驟S115中,將應用程序i預裝載到本地存 儲器29中。在步驟S120為"否",步驟S121為"否"的情況下,不將應用程序i裝載到本地 存儲器29上而仍進入到步驟S116。 這樣,若讀入優(yōu)先級=Optional的數據在步驟S120-步驟S121的判斷不是"是" 時,不進行向本地存儲器29的預裝載。存儲器規(guī)模小的舊再現(xiàn)裝置為讀入了 2 3個應用 程序的程度,在步驟S121的判斷為"否",但是存儲器規(guī)模大的新再現(xiàn)裝置即使讀入更多的 應用程序,步驟S121的判斷也不成為"否"。如上這樣,在舊再現(xiàn)裝置中,僅向本地存儲器29 讀入Mandatory的應用程序,向新再現(xiàn)裝置讀入Mandatory的應用程序和Optional的應用 程序。 步驟S122是在步驟S120中判斷為"是"的情況下執(zhí)行的步驟。在本地存儲器29上 存在具有同一applicationlD、且讀入優(yōu)先級高的應用程序j的情況下,判斷本地存儲器29 的剩余容量和應用程序j的大小的和是否超過了應用程序i的大小(步驟S122),若超過, 則通過使用應用程序i來覆蓋本地存儲器29上的應用程序j,來進行預裝載(步驟S123)。 在低的情況下,不將應用程序i預裝載到本地存儲器29中來原樣進入到步驟S116。
參考圖47(a)來說明基于步驟S115、步驟S123的讀入處理的一例。圖47(a)是 表示該具體例假定的數據管理表的一例的圖。將該圖中的三個應用程序分別存儲在三個文 件中,applicationID相同(applicationID = 1),但是讀入優(yōu)先級分別不同(mandatory,
31optional :high, optional: low)。若這樣的數據管理表為處理對象,則通過步驟S115,將 讀入優(yōu)先級=Mandatory的應用程序讀入到本地存儲器29中。但是,對于讀入優(yōu)先級= Optional的應用程序,在經過了步驟S120 步驟S122的判斷后,在步驟S123中進行讀入。 在與步驟S115不同的步驟S123中,由于進行預裝載,以使其覆蓋已經存在于本地存儲器29 中的相同的即plicationID的應用程序,所以排他地將多個應用程序中的一個裝載到本地 存儲器29中。 i)在讀入了讀入優(yōu)先級=mandatory的應用程序后,每次讀入讀入優(yōu)先級= optional :high的應用程序時,若步驟S122判斷為"否",則在本地存儲器29中保留讀入優(yōu) 先級=mandatory的應用程序。在讀入了讀入優(yōu)先級=mandatory的應用程序后,每次讀 入讀入優(yōu)先級=option:high的應用程序時,若步驟S122判斷為"是",則通過讀入優(yōu)先級 =optional:high的應用程序,來覆蓋讀入優(yōu)先級=mandatory的應用程序,并在本地存儲 器29中保留讀入優(yōu)先級=optional :high的應用程序。 ii)在讀入了讀入優(yōu)先級=optional :high的應用程序后,每次讀入讀入優(yōu)先級 =optional: low的應用程序時,若步驟S122判斷為"否",則在本地存儲器29中保留讀入 優(yōu)先級=Mandatory的應用程序。在讀入了讀入優(yōu)先級=optional :high的應用程序后, 每次讀入讀入優(yōu)先級=optional: low的應用程序時,若步驟S122判斷為"是",則通過讀入 優(yōu)先級=optional: low的應用程序,來覆蓋讀入優(yōu)先級=optional: high的應用程序(步 驟S123),在本地存儲器29中保留讀入優(yōu)先級=optional: low的應用程序。
由于只要本地存儲器29的容量允許,重復覆蓋本地存儲器29上的應用程序的處 理,所以本地存儲器29的存儲內容如圖47(b)所示,而變?yōu)閙andatory = optional: high => optional: low。由于可以根據存儲器規(guī)模,將大小不同的Java歸檔文件裝載到本地存 儲器29中,所以對于存儲器規(guī)模小的再現(xiàn)裝置,將具有必要最小限度的分辨率的縮略圖像 的Java歸檔文件裝載到本地存儲器29中,對于存儲器規(guī)模為中等程度的再現(xiàn)裝置,將具有 中等程度的分辨率的SD圖像的Java歸檔文件裝載到本地存儲器29中,對于存儲器規(guī)模大 規(guī)模的再現(xiàn)裝置,將具有高分辨率的HD圖像的Java歸檔文件裝載到本地存儲器29中。通 過該裝載,可以根據存儲器大小來顯示分辨率不同的圖像,授權承擔者的標題制作的表現(xiàn) 范圍寬。 圖48是表示參考數據管理表的讀取處理的具體例的圖。該圖中的兩個應用程 序是表示添加了同一 applications(application#3)的兩個應用程序。其中一個嵌入 到AVClip中,將讀入優(yōu)先級設定為mandatory。另一方面,記錄在與AVClip不同的文件 中,將記錄優(yōu)先級設定為Optional。由于將前者的應用程序嵌入到AVClip中,所以相當于 該嵌入部分的生存區(qū)間描述為生存區(qū)間(title#l :ch即tert4 #5)。在這些應用程序中 即plication弁2、即plication弁3上添力口 了表示裝載的讀入屬性。由于即plication弁2將 Ch即te漲 Ch即tert2作為生存區(qū)間,即plication弁3將Ch即tert4 Ch即tert5作為生 存區(qū)間,所以在標題時間軸上排他性地在本地存儲器29上常駐其中一個。圖48(b)是表示 在標題時間軸上的不同的時刻,排他性地存儲的application#2、 application#3的圖。其 是考慮了僅要在必要最低限度的存儲器規(guī)模的再現(xiàn)裝置上的再現(xiàn)為目的的。若這種內容的 數據管理表為處理對象,則應用程序管理器36通過上述的圖46的流程圖來根據存儲器規(guī) 模進行不同的處理。
由于讀入優(yōu)先級=裝載,所以將后者的應用程序裝載到本地存儲器29上。通過該 處理,只要有Mandatory的存儲器規(guī)模,則應用程序管理器可以將數據裝載到本地存儲器 29上。這里成為問題的是基于存儲器規(guī)模大的再現(xiàn)裝置的讀入時。不管存儲器規(guī)模大小,在 到達Ch即tert4 Ch即tert5之前,不讀入即plicationft3是存儲器規(guī)模的浪費。因此,在 該圖的數據管理表中向同一 applicationft3添加表示預裝載的讀入屬性而記錄在BD-R0M 上,并向其添加相同的即plicationID。 由于前者的應用程序讀入優(yōu)先級=0ptional,所以只要是步驟S121為"是"的情 況下,就進行預裝載(步驟S115)。由此,存儲器規(guī)模大的再現(xiàn)裝置可以將與在AVClip中 嵌入的應用程序相同的應用程序裝載到本地存儲器中,而不用等待title#l、 Ch即tert4 Chapter#5的到達(圖48(c))。 以上是預裝載時的處理。接著說明裝載時的處理過程。 圖49是表示基于數據管理表的裝載處理的處理過程的圖。本流程圖在持續(xù)標題 再現(xiàn)的期間,重復進行由步驟S131 步驟S133構成的循環(huán)處理。 步驟S131是具有表示AutoRun的啟動屬性的應用程序的生存區(qū)間是否到來的判 斷。若到來,則將具有表示AutoRun的啟動屬性的應用程序設作應用程序q (步驟S134),向 Java虛擬機38發(fā)出表示啟動應用程序q的啟動指示,并從本地存儲器29向工作存儲器37 讀出應用程序q(步驟S135)。 步驟S133判斷標題內PL的再現(xiàn)是否完全終止。該判斷如第五實施方式,通過是 否存在來自重放控制引擎32的再現(xiàn)終止事件來進行。若終止,則終止本流程圖的處理。
步驟S132判斷是否有來自啟動中應用程序的調用。若有,則將調用目標應用程 序設為應用程序q(步驟S136),判斷當前的再現(xiàn)時刻是否是應用程序管理表中的應用程序 q的生存區(qū)間(步驟S137)。若不是生存區(qū)間,則顯示啟動失敗(步驟S148),回到由步驟 S131 步驟S133構成的循環(huán)處理。若是生存區(qū)間,則根據圖50的流程圖來進行裝載處理。
圖50中的步驟S138判斷表示當前再現(xiàn)時刻是否是數據管理表中的應用程序q的 生存區(qū)間。若不是生存區(qū)間,則不能將應用程序q裝載到本地存儲器29中。這時,向Java 虛擬機38發(fā)出表示啟動應用程序q的啟動指示,并直接將應用程序q從BD-R0M讀出到工 作存儲器37中,而不用經過本地存儲器29。這時由于產生了用于讀出應用程序的頭搜索, 所以PL再現(xiàn)中斷(步驟S145)。 若是生存區(qū)間,則在步驟S139中,判斷是否在應用程序上添加了讀入屬性。所謂 沒有讀入屬性是指沒有循環(huán)或交叉應用程序q。但是,即使沒有添加讀入屬性,也允許在本 地存儲器29上放置應用程序。因此,在知道再現(xiàn)中斷后,進行應用程序的讀出。S卩,在將應 用程序從BD-R0M讀出到本地存儲器29后,將應用程序讀出到工作存儲器37 (步驟S140)。
步驟S141 步驟S146是在步驟S139被判斷為"是"的情況下所作的處理。在步 驟S141中,通過參考讀入屬性,來判斷是否預裝載了應用程序。若進行了預裝載,則進入到 步驟S135。 步驟S142是在讀入屬性是裝載的情況下所執(zhí)行的判斷步驟,判斷是否循環(huán)、交叉 應用程序q。若進行了交叉,則使Java虛擬機38執(zhí)行高速緩存?zhèn)鞲?步驟S143)。若在本 地存儲器29上存在應用程序q,則進入到步驟S135,使應用程序q裝載到Java虛擬機38 上。
若本地存儲器29上沒有應用程序,則進行分支到頂端菜單標題等的例外處理(步 驟S144)。若進行了循環(huán),則設置定時器(步驟S148),在該定時器超時之前(步驟S147), 使Java虛擬機38執(zhí)行高速緩存?zhèn)鞲?步驟S146)。若在本地存儲器29上出現(xiàn)應用程序 q,則進入到圖49的步驟S135,將應用程序q裝載到Java虛擬機38上。若超時,則進行分 支到頂端菜單標題等的例外處理(步驟S144)。 圖51是模式化了怎樣進行基于Java虛擬機38的應用程序的讀入的圖。
箭頭 1、2表示在應用程序管理表上生存、且在數據管理表上生存、且存在表示 循環(huán)、交叉的讀入屬性的Java歸檔文件的讀入。箭頭 1表示在步驟S65、67中進行的本 地存儲器29傳感。該本地存儲29傳感由于可能在本地存儲器29中存在通過循環(huán)或交叉 嵌入的數據,所以在本地存儲器29內進行傳感。箭頭 2表示對應于步驟S135的讀入,表 示應用程序存在于本地存儲器29中的情況下的、從本地存儲器29向工作存儲器37的裝 載。帶X的箭頭表示在本地存儲器29上沒有數據的情況。 箭頭V 1、2表示在應用程序管理表上生存、但是不在數據管理表中生存、且讀入 屬性不存在的Java歸檔文件的讀入。 箭頭.V l對應于步驟S145中的讀入,表示基于Java虛擬機38的來自BD-R0M的 直接讀取的請求。箭頭V2表示基于該要求的從BD-R0M向工組存儲器37的Java歸檔文件 讀出。 箭頭眾1、2、3表示在應用程序管理表上生存、在數據管理表上生存、但是讀入屬 性不存在的Java歸檔文件的讀入。 箭頭眾1對應于步驟S140中的讀入,表示基于Java虛擬機38的來自BD-ROM的 直接讀取請求。箭頭眾2表示基于該請求的Java歸檔文件向本地存儲器29的讀出。箭頭 ☆ 3表示從本地存儲器29向工作存儲器37的Java歸檔文件的讀出。
如上所述,根據本實施方式,由于可以將在本地存儲器29上同時常駐的應用程 序的數目規(guī)定為預定數目以下,所以可以盡量避免從本地存儲器29讀出時的高速緩存損 失。由于可以保證沒有高速緩存損失的應用程序的讀出,所以每次應用程序調用時,不會從 BD-ROM中讀出應用程序,直到停止AVClip的再現(xiàn)。由于沒有中途切斷AVClip再現(xiàn),所以可 以保證AVClip的無縫再現(xiàn)。
(第七實施方式) 第三實施方式中,根據應用程序的生存區(qū)間來決定非AV系標題的時間軸。但是, 應用程序的動作不穩(wěn)定,會有啟動的失敗和異常終止。本實施方式提出了有啟動失敗、異常 終止的情況下的失敗安全機構。圖52(a)是表示第七實施方式的BD-J對象的內部結構的 圖。與圖7(b)相比,該圖的新的方面是追加了播放列表管理表。 圖52(b)是表示播放列表管理表的一例的圖。如該圖所示,播放列表管理表由PL 的指定和該PL的再現(xiàn)屬性構成。PL的指定表示在對應的標題的標題時間軸中,可進行再現(xiàn) 的PL。 PL的再現(xiàn)屬性表示是否與標題再現(xiàn)的開始同時自動再現(xiàn)所指定的PL(將這樣自動 再現(xiàn)的PL稱作缺省PL)。 接著,參考圖53來說明怎樣通過播放列表管理表來規(guī)定標題時間軸。圖53(a)是 設定為再現(xiàn)屬性表示表示非自動再現(xiàn)的情況下的非AV系標題中的標題時間軸的圖。這時, 由于沒有再現(xiàn)缺省PL,所以非AV系標題同樣從應用程序的生存區(qū)間來決定標題時間軸。
34
圖53(b)是表示將再現(xiàn)屬性設定為AutoPlay的非AV系標題的標題時間軸的圖。若設定為再現(xiàn)屬性表示AutoPlay,則重放控制引擎32與非AV系統(tǒng)標題的再現(xiàn)開始同時,開始缺省PL的再現(xiàn)。但是,即使應用程序正常動作,正常終止,以PL時間軸為基準來決定該標題時間軸。 圖53(c)表示在播放列表管理表中設定為再現(xiàn)屬性表示"AutoPlay",應用程序異常終止的情況。通過該異常終止,變?yōu)槭裁磻贸绦蚨疾粍幼鞯臓顟B(tài),但是缺省PL的再現(xiàn)繼續(xù)。這時,缺省PL的PL時間軸為標題時間軸。 圖53(d)表示在播放列表管理表中設定為再現(xiàn)屬性表示"AutoPlay",主應用程序的啟動失敗的情況。這時由于基于重放控制引擎32的缺省PL再現(xiàn)也與應用程序的啟動失敗無關地進行,所以缺省PL的時間軸變?yōu)闃祟}時間軸。 如上所述,若將播放列表管理表的再現(xiàn)屬性設定為"AutoPlay",在Java應用程
序的啟動中,在即使花費5 IO秒的時間,進行該啟動的期間,變?yōu)?總之是復制什么的狀
態(tài)"。通過為該"總之是復制什么的狀態(tài)",可以補償標題執(zhí)行開始時的啟動延時。 以上是對于本實施方式中的記錄媒體的改進。接著說明對于本實施方式的再現(xiàn)裝
置的改進。 圖52(c)是表示在分支目標標題的播放列表管理表中,存在將再現(xiàn)屬性設定為AutoPlay的PL的情況下,再現(xiàn)裝置進行怎樣的處理的圖。如該圖所示,若再現(xiàn)屬性被設定為AutoPlay的PL存在于分支目標標題的播放列表管理表中,則BD-J模塊35內的應用程序管理器36指示重放控制引擎32,在標題分支緊之后開始該AutoPlayPL的再現(xiàn)。這樣,再現(xiàn)屬性為AutoPlay的PL在標題分支緊之后,命令再現(xiàn)開始。 由于對應于上述的記錄媒體的改進,所以應用程序管理器36以如圖54所示的處理過程來進行處理。 圖54是表示第七實施方式的應用程序管理器36的處理過程的流程圖。本流程圖在圖38的流程圖中,在步驟S21之前追加步驟S103、步驟S104,在步驟S21、步驟S22之間追加步驟S100,在步驟S23 步驟S26之間追加步驟S105。 步驟S103判斷對應的標題的播放列表管理表的再現(xiàn)屬性是否是AutoPlay。若是
AutoPlay,則使重放控制引擎32開始對缺省PL的再現(xiàn)控制(步驟S104)。 步驟S100判斷是否是基于展示引擎31的再現(xiàn)中。若為再現(xiàn)中,則進入到步驟
SlOl。 步驟S105是在步驟S23為"是",步驟S25為"否"的情況下執(zhí)行的判斷步驟,表示再現(xiàn)屬性是否是AutoPlay 。若為否,則向模塊管理器34通知標題終止。若為AutoPlay,則進入到步驟S101后繼續(xù)處理。 圖55是模式化表示通過在播放列表管理表中設定為"再現(xiàn)屬性=AutoPlay"來進行怎樣的再現(xiàn)的圖。這里,應進行再現(xiàn)的標題是包含疊加降落的瓦片的游戲應用程序的非AV系標題。在該非AV系標題中,若將播放列表管理表的再現(xiàn)屬性設定為AutoPlay,則還開始基于重放控制引擎32的缺省PL再現(xiàn)。由于并行進行游戲應用程序的執(zhí)行和缺省PL再現(xiàn),所以如圖55的上級的左側所示,顯示了將前景作為游戲應用程序的畫面,將背景作為缺省PL的再現(xiàn)圖像的合成圖像。設該游戲應用程序在中途異常終止。雖然游戲應用程序通過應用程序管理器36進行了強制終止,但是缺省PL的再現(xiàn)繼續(xù),所以標題變?yōu)閺椭剖裁吹臓顟B(tài)。通過這種播放列表管理表中的再現(xiàn)屬性的指定,即使在非AV系統(tǒng)標題內的游戲應用程序異常終止的情況下,也可維持沒有破壞和停機的動作。
(第八實施方式) 第一實施方式中BD-J對象具有數據管理表、應用程序管理表二個標題,但是本實施方式公開了將這些綜合到一個表的形態(tài)。在該綜合時,如圖56(a)所示,廢棄數據管理表中的讀入屬性項目,代替其,在啟動屬性上設置稱作Ready屬性的屬性。所謂Ready屬性是指包含于來自其他應用程序的調用和來自應用程序管理器36的調用中具有的、表示在本地存儲器29上預先裝載應用程序的啟動屬性的類型。 圖56(b)是表示應用程序的處理和啟動屬性的關系的圖。如第一實施方式所示,應用程序的處理有是否預裝載(l),當前的再現(xiàn)時刻在有效區(qū)間到來時自動啟動,或根據其他的調用來啟動(2),根據標題再現(xiàn)進行來進行裝載(3),存在有是否生存的不同,根據這些不同,出現(xiàn)了如圖56(b)所示的5種形態(tài)。其中,將啟動屬性設定為AutoR皿的是進行預裝載,"自動啟動"的情況和進行裝載,"自動啟動"的情況。 另一方面,啟動屬性設定為Ready屬性,是表示預裝載或進行裝載、啟動項目為"調用啟動"的情況。 另外,不會存在在工作存儲器37中生存,但是在本地存儲器29中不進行裝載的類型。這是因為在應用程序數據管理表中,工作存儲器37的生存區(qū)間和本地存儲器29的生存區(qū)間一體。 作為啟動屬性,由于追加了該Ready屬性,所以應用程序管理器36在標題再現(xiàn)之前,進行將啟動屬性設定為AutoRun的應用程序和將啟動屬性設定為Ready屬性的應用程序預裝載到本地存儲器29中的處理。由此,即使不設置讀入屬性,也可進行將應用程序預裝載到本地存儲器29中的處理。 圖57是模式化怎么進行第八實施方式的基于Java虛擬機38的應用程序的讀入的圖。以圖51以基礎來做出了該圖中的讀入的表現(xiàn)圖。 箭頭 1、2表示在應用程序*數據管理表中生存、且將啟動屬性設定為Ready屬性的Java歸檔文件的讀入。 箭頭眾1、2、3表示在應用程序 數據管理表中生存、且啟動屬性為Persistent的應用程序的讀入。 這些箭頭 1、2,箭頭眾1、2、3在圖51中進行了描述,但是在圖57中不存在在圖51中描述的相當于V 1、2的箭頭的讀入。這是因為應用程序,數據管理表一體化了應用程序管理表和數據管理表,所以不能表現(xiàn)應用程序管理表=生存、數據管理表=不存在的組合。 如上所述,根據本實施方式,由于可以將數據管理表、應用程序管理表整理為一個表(應用程序數據管理表),所以可以簡化基于應用程序管理器36的處理。另外,通過沒有
讀入優(yōu)先級,可以更簡化應用程序 數據管理表。
(第九實施方式) 第一實施方式中,在將應用程序讀入到本地存儲器29中時,參考讀入優(yōu)先級,
根據該讀入優(yōu)先級,對讀入處理賦予優(yōu)劣。與此相對,第九實施方式是表示通過含義為Optional的信息和0到255的數值的組合來表示讀入優(yōu)先級的實施方式。
圖58(a) (b)是表示第九實施方式的讀入優(yōu)先級的一例的圖。255U28是0到255的讀入優(yōu)先級的一例,含義是本例中的application#2讀入優(yōu)先級比application#3高。
在本實施方式中,應用程序管理器36與第一實施方式相同,首先將添加了表示Mandatory的讀入優(yōu)先級的應用程序讀入到本地存儲器29。 之后,對于添加了表示Optional的讀入優(yōu)先級的應用程序,判斷本地存儲器29中的容量是否超過了應用程序的大小。若超過,則將添加了讀入優(yōu)先級=Optional的應用程序原樣讀入到本地存儲器29。若小,則將構成應用程序的數據中,表示讀入優(yōu)先級的數值最高的應用程序讀入到本地存儲器29中。并且,向本地存儲器29中的其余的區(qū)域讀出表示讀入優(yōu)先級的數值低的應用程序。 由此,對于Optional處理的應用程序,即使在再現(xiàn)裝置的本地存儲器29上沒有存儲整體的容量,也可將其一部分存儲到本地存儲器29中。[O386](第十實施方式) 第一實施方式中應用程序管理器36將添加了同樣即plicationID的應用程序,根據讀入優(yōu)先級排他地裝載到本地存儲器29中,但是第十實施方式中,通過對應用程序施加組屬性,來實現(xiàn)排他的裝載。圖59是表示添加了組屬性的數據管理表的圖。組屬性可以有不是排他組、是排他組的兩種設定。在是排他組的情況下,描述其組號。圖59(a)中的title#l的"-"表示不存在排他組。另一方面,title#2、#3的"groupftl"有排他組,title#2、S3表示屬于groupftl的排他組。以上是本實施方式的記錄媒體的改進。
本實施方式的再現(xiàn)裝置在根據數據管理表,將各應用程序讀入到本地存儲器29后,來核對本地存儲器29的應用程序中的組屬性。同樣,若屬于排他組的應用程序在本地存儲器29上存在兩個以上,則從本地存儲器29中刪除其中一個。 由此,可以提高本地存儲器29的使用效率。作為排他組的具體例,由啟動應用程序和通過該程序啟動的應用程序構成的組對應。由于通過本應用程序啟動的應用程序原則上限于一個,所以在本地存儲器29上應該僅存在啟動+1個的應用程序。若存在三個以上的應用程序,則需要應用程序管理器36進行從本地存儲器29中刪除其的處理,所以設置各應用程序的組屬性,并進行在本地存儲器29上存在的應用程序是否是啟動+1個的應用程序的校驗。 圖59(a)是表示對基于應用程序管理表的本地存儲器29的訪問的圖。該圖中,由
于設定為讀入優(yōu)先級=Optional的即plicationft2、即plicationft3的組屬性是group#l,
所以這些應用程序屬于同樣排他組。三個應用程序中,即plicationftl是上述的啟動應用程
序,由于即plicationft2,即plicationft3是由其啟動的應用程序,所以添加組屬性,使得僅
某個存在于本地存儲器29中。應用程序管理器36參考這些即plicationft2,即plicationSl
=3的組屬性,進行從本地存儲器29中刪除某一個的處理。通過該刪除在本地存儲器29
上產生了空余。(第十一實施方式) 第一實施方式中,使每個標題具有應用程序管理表,但是在本實施方式中,提出了使該應用程序管理表的分配單位改變的提案。圖60是表示分配單位的變化的圖。該圖中,第一級表示在BD-R0M上記錄的三個應用程序管理表,第二級表示標題單位,第三級表示盤單位,第四級表示由多個BD-R0M構成的盤設置單位。圖中的箭頭模式地表示應用程序管理表的分配。若參考該箭頭,則可以看出第一級中的應用程序管理表#1、#2、#3分別分配到第
二級表示的title#l、 #2、 #3上。另外,以盤為單位來分配應用程序管理表#4,對盤設置整
體分配應用程序管理表#5。這樣,通過將應用程序管理表的單位設為比標題大的單位,可以
在裝載了一個BD-ROM的期間,裝載了要生存的應用程序和多個BD-ROM中某一個的期間,定
義要生存的應用程序。(參考) 以上的說明不應表示本發(fā)明的所有實施行為的形態(tài)。通過實施了下面(A) (B) (C) (D)...的改變的形態(tài)的實施行為方式,也可以實施本發(fā)明。本申請的權利要求的各發(fā)明是 擴展了以上記載的多個實施方式及其變形方式的記載乃至一般化的記載。擴展乃至一般化 的程序基于本發(fā)明的技術領域的申請當時的技術水平的特性。 (A)所有的實施方式中,將本發(fā)明的光盤作為BD-ROM來實施,但是本發(fā)明的光盤 在記錄的動態(tài)腳本,索引表上有特征,該特征不依賴于BD-ROM的物理性質。若是記錄了動 態(tài)腳本、索引表的記錄媒體,可以是任何記錄媒體。例如,可以是DVD-R0M、DVD-RAM、DVD-RW、 DVD-R、 DVD+RW、 DVD+R、 CD-R、 CD-RW等的光盤、PD、 M0等的光磁盤。另外,也可以是壓縮閃存 卡、智能媒體(smart media)、存儲棒、多媒體卡、PCM-CIA卡等的半導體存儲卡。也可以是 軟盤、SuperDisk、 Zip、 Clik !等磁記錄盤(i) 、 0RB、 Jaz、 SparQ、 Syjet、 EZFley、微驅動器 等可移動硬盤驅動器(ii),進一步也可以是機器內置型的硬盤驅動器。
(B)所有的實施方式中的再現(xiàn)裝置在譯碼了在對BD-ROM上記錄的AVClip進行了 譯碼后輸出到TV,但是,再現(xiàn)裝置也可僅為BD-ROM驅動器,在TV上具有除此之外的構成要 素,這時,可以將再現(xiàn)裝置和TV組裝到由IEEE1394連接的家庭網絡中。另外,實施方式的 再現(xiàn)裝置是與電視機相連來使用的驅動器,但是也可以是與顯示器為一體的再現(xiàn)裝置。進 一步,在各實施方式的再現(xiàn)裝置中,可以僅將成為處理的本質部分的部分作為再現(xiàn)裝置。由 于這些再現(xiàn)裝置都是在本說明書中記載的發(fā)明,所以即便是這些的任何一個形態(tài),以各實 施方式所示的再現(xiàn)裝置的內部結構為基礎,來制造再現(xiàn)裝置的行為也為本申請的說明書中 記載的發(fā)明的實施行為。各實施方式所示的再現(xiàn)裝置的基于有償*無償的轉讓(有償的情 況下是販賣、無償的情況下是贈與)、出借、輸入的行為都是本發(fā)明的實施方式。通過店面展 示、目錄要約、小冊子發(fā)布,向一般用戶提議這些的轉讓和出租的行為也是本再現(xiàn)裝置的實 施行為。 (C)由于使用硬件資源來具體實現(xiàn)基于各流程圖所示的程序的信息處理,所以上 述流程圖中表示了處理過程的程序單體作為發(fā)明成立。所有的實施方式以組裝到再現(xiàn)裝置 的形態(tài)來表示了對于本發(fā)明的程序的實施行為的實施方式,但是也可從再現(xiàn)裝置分離,來 實施各實施方式中表示的程序單體。程序單體的實施行為有生產這些程序的行為(1)、通過 有償 無償來轉讓程序的行為(2)、出借的行為(3)、輸入的行為(4)和經雙向的電子通信 線路向公眾提供的行為(5)、和通過(6)店面展示、目錄要約、小冊子發(fā)布,向一般用戶提議 程序的轉讓和出租的行為。 (D)認為各流程圖中按時間序列執(zhí)行的各步驟的"時間"的要素為特定發(fā)明用的必 須的事項。這樣,可以看出基于這些流程圖的處理過程公開了再現(xiàn)方法的使用方式。若通 過按時間序列來進行各步驟的處理,進行這些流程圖的處理來實現(xiàn)本發(fā)明的本來的目的, 達到作用和效果,則當然相當于本發(fā)明的記錄方法的實施行為。
38
(E)也可在BD-ROM上記錄一覽顯示Ch即ter用的菜單(ChapterMenu)和控制其舉 動的MOVIE對象,而從頂端菜單中分支。另外,也可通過遙控器鍵的Chapter鍵的按下來進 行調用。 (F)每次記錄在BD-ROM上時,最好在構成AVClip的各TS包上添加擴展頭。擴展頭 禾爾作TP—extra—header,包含"Arribval_Time_Stamp,,禾口 "copy_permission_indicator", 具有4字節(jié)的數據長度。帶TP—extraJieader的TS包(下面簡寫為帶EX的TS包)按每 32個來進行分組,并寫入到三個扇區(qū)中。由32個帶EX的TS包構成的組是6144字節(jié)(= 32X 192),其與三個扇區(qū)大小6144字節(jié)(=2048X3) —致。將容納在三個扇區(qū)中的32個 帶EX的TS包稱作"排列的單元(Aligned Unit)"。 在經IEEE1394相連的本地網絡的使用時,再現(xiàn)裝置200通過如下這樣的發(fā)送處 理來進行Aligned Unit的發(fā)送。即,發(fā)送側的設備分別從在AlignedUnit中包含的32個 帶EX的TS包取出TP_extra_header,并根據DTCP標準來加密TS包標題后輸出。每次TS 包的輸出時,在TS包之間的任意位置上插入同步的(isochronous)包。該插入位置是基于 TP_extra_header的Arribval_Time_Stamp所示的時刻的位置。隨著TS包的輸出,再現(xiàn)裝 置200輸出DTCP_Descriptor。 DTCP_Descriptor表示TP_extra_header中的復制允許設 置,這里若描述DTCP—Descriptor,使其表示"禁止復制",則在經IEEE1394相連的本地網的 使用時TS包不記錄在其他設備上。 (G)在各實施方式中,在記錄媒體上記錄的數字流是AVClip,但是也可以是 DVD-Video標準、DVD-Video記錄標準的V0B (video0bject) 。 V0B是通過多路復用視頻流、 音頻流得到的IS0/IEC13818-1規(guī)格標準的節(jié)目流。另外,AVClip中的視頻流也可以是 MPEG4和匪V方式。進一步,音頻流也可以是Linear-PCM方式、Dolby-AV3方式、MP3方式、 MPEG-AAC方式、Dts、碰(Windows media audio)。 (H)各實施方式中的視頻作品也可通過對用模擬廣播廣播的模擬視頻信號進行編 碼來得到。也可以是由通過數字廣播廣播的傳輸流構成的流數據。 另外,也可對在錄像帶上記錄的模擬/數字的視頻信號進行編碼來得到內容。進 一步,也可以對從攝像機直接取得的模擬/數字的視頻信號進行編碼來得到內容。除此之 外,也可以是通過發(fā)送服務器發(fā)送的數字作品。 (1)BD-J模塊35也可以是為進行衛(wèi)星廣播接收而在設備上嵌入的Java平臺。BD-J
模塊35若是該Java平臺,則本發(fā)明的再現(xiàn)裝置兼有作為MHP用STB的處理。 進一步,也可以是為進行便攜電話的處理控制在設備中嵌入的Java平臺。若BD-J
模塊35是該Java平臺,則本發(fā)明的再現(xiàn)裝置兼有作為便攜電話的處理。 (K)在層模型中,也可以在BD-J模式上配置M0VIE模式。這是因為尤其由于M0VIE
模式下的動態(tài)腳本的解釋和基于動態(tài)腳本的控制過程的執(zhí)行對于再現(xiàn)裝置的負擔輕,所以
即使在BD-J模式上執(zhí)行MOVIE模式也可不會產生任何問題。這是因為在再現(xiàn)裝置和視頻
作品的開發(fā)時,在一個模式下完成動作保證。 進一步,也可僅在BD-J模式下執(zhí)行再現(xiàn)處理。如第五實施方式所示那樣,由于可 以在BD-J模式下進行與PL的再現(xiàn)同步的再現(xiàn)控制,所以是不用強制設置MOVIE模式的理由。 (L)也可通過在應多路復用在AVClip上的交互圖像流上設置導航指令,來實現(xiàn)從
39某個PL向其他PL的分支。
產業(yè)上的可用性 本發(fā)明的再現(xiàn)裝置可以在如家庭影院系統(tǒng)中使用那樣,可以在個人用途中使用。 但是本發(fā)明在上述實施方式中公開了內部結構,由于根據該內部結構可以批量生產,所以 實質上可以在工業(yè)上使用。由此,本發(fā)明的再現(xiàn)裝置具有產業(yè)上的可利用性。
權利要求
一種再現(xiàn)裝置,進行標題再現(xiàn)和應用程序執(zhí)行,所述再現(xiàn)裝置中裝載有記錄媒體,所述記錄媒體在其上記錄有索引表、多個操作模式對象、多個播放列表和多個應用程序,其中,所述多個應用程序中的每一個是按每個標題來管理生存區(qū)間的JavaTM語言程序;所述多個播放列表中的每一個是由數字流和路徑信息規(guī)定的再現(xiàn)單元,所述路徑信息規(guī)定所述數字流的再現(xiàn)路徑;所述索引表表示所述記錄媒體上可選擇的多個標題與所述多個操作模式對象之間的對應;所述多個操作模式對象中的每一個規(guī)定作為兩個模式中的第二個的第二模式中的控制過程,第一模式是所述再現(xiàn)裝置以命令為基礎進行操作的模式,所述第二模式是所述再現(xiàn)裝置以應用程序為基礎進行操作的模式,并且所述多個操作模式對象中的每一個包括(i)應用程序管理表,表示其生存區(qū)間是與每個操作模式對象相對應的標題的應用程序;以及(ii)播放列表的表格,表示要再現(xiàn)的播放列表;以及所述再現(xiàn)裝置包括模塊管理器,用于從所述索引表中表示的所述標題中選擇標題;再現(xiàn)控制引擎部,用于再現(xiàn)所述播放列表;虛擬機部,用于執(zhí)行所述應用程序;以及輸出部,用于將所述播放列表的再現(xiàn)圖像輸出至顯示裝置,并且,在由所述應用程序展示圖形時,在所述再現(xiàn)圖像上覆蓋所述展示圖形,從而得到覆蓋圖像并將所述覆蓋圖像輸出至所述顯示裝置,其中當所述模塊管理器已經選擇了標題時,所述虛擬機部開始執(zhí)行其生存區(qū)間為所選擇的標題的應用程序,以及當所述模塊管理器已經選擇了標題時,所述再現(xiàn)控制引擎部不等待來自所述應用程序的指令就開始播放列表的再現(xiàn),該播放列表由所述索引表中表示的所述多個操作模式對象之一中所包括的播放列表的表格來規(guī)定,所述多個操作模式對象之一與所選擇的標題相對應。
2. 如權利要求l所述的再現(xiàn)裝置,其中,如果所述虛擬機部對所述應用程序的執(zhí)行在所述播放列表的再現(xiàn)之前結束,則所述再現(xiàn)控制引擎部繼續(xù)所述播放列表的所述再現(xiàn)。
3. —種程序,使計算機進行標題再現(xiàn)和應用程序執(zhí)行,所述計算機中裝載有記錄媒體,所述記錄媒體在其上記錄有索引表、多個操作模式對象、多個播放列表和多個應用程序,其中,所述多個應用程序中的每一個是按每個標題來管理生存區(qū)間的Java"H吾言程序;所述多個播放列表中的每一個是由數字流和路徑信息規(guī)定的再現(xiàn)單元,所述路徑信息規(guī)定所述數字流的再現(xiàn)路徑;所述索引表表示所述記錄媒體上可選擇的多個標題與所述多個操作模式對象之間的對應;所述多個操作模式對象中的每一個規(guī)定作為兩個模式中的第二個的第二模式中的控制過程,第一模式是所述再現(xiàn)裝置以命令為基礎進行操作的模式,所述第二模式是所述再現(xiàn)裝置以應用程序為基礎進行操作的模式,并且所述多個操作模式對象中的每一個包括(i)應用程序管理表,表示其生存區(qū)間是與每個操作模式對象相對應的標題的應用程序;以及(ii)播放列表的表格,表示要再現(xiàn)的播放列表;以及所述程序使所述計算機執(zhí)行以下步驟從所述索引表中表示的所述標題中選擇標題;再現(xiàn)所述播放列表;使所述計算機中的虛擬機部執(zhí)行所述應用程序;以及將所述播放列表的再現(xiàn)圖像輸出至顯示裝置,并且,在由所述應用程序展示圖形時,在所述再現(xiàn)圖像上覆蓋所述展示圖形,從而得到覆蓋圖像并將所述覆蓋圖像輸出至所述顯示裝置,其中在執(zhí)行所述應用程序的步驟中,當在所述選擇步驟中已經選擇了標題時,使得所述虛擬機部開始執(zhí)行其生存區(qū)間為所選擇的標題的應用程序,以及在再現(xiàn)所述播放列表的步驟中,當在所述選擇步驟中已經選擇了標題時,不等待來自所述應用程序的指令就開始播放列表的再現(xiàn),該播放列表由所述索引表中表示的所述多個操作模式對象之一中所包括的播放列表的表格來規(guī)定,所述多個操作模式對象之一與所選擇的標題相對應。
4. 如權利要求3所述的程序,其中,在再現(xiàn)所述播放列表的步驟中,如果所述虛擬機部對所述應用程序的執(zhí)行在所述播放列表的再現(xiàn)之前結束,則所述播放列表的所述再現(xiàn)繼續(xù)。
5. —種再現(xiàn)方法,使計算機進行標題再現(xiàn)和應用程序執(zhí)行,所述計算機中裝載有記錄媒體,所述記錄媒體在其上記錄有索引表、多個操作模式對象、多個播放列表和多個應用程序,其中,所述多個應用程序中的每一個是按每個標題來管理生存區(qū)間的Java"H吾言程序;所述多個播放列表中的每一個是由數字流和路徑信息規(guī)定的再現(xiàn)單元,所述路徑信息規(guī)定所述數字流的再現(xiàn)路徑;所述索引表表示所述記錄媒體上可選擇的多個標題與所述多個操作模式對象之間的對應;所述多個操作模式對象中的每一個規(guī)定作為兩個模式中的第二個的第二模式中的控制過程,第一模式是所述再現(xiàn)裝置以命令為基礎進行操作的模式,所述第二模式是所述再現(xiàn)裝置以應用程序為基礎進行操作的模式,并且所述多個操作模式對象中的每一個包括(i)應用程序管理表,表示其生存區(qū)間是與每個操作模式對象相對應的標題的應用程序;以及(ii)播放列表的表格,表示要再現(xiàn)的播放列表;以及所述再現(xiàn)方法包括以下步驟從所述索引表中表示的所述標題中選擇標題;再現(xiàn)所述播放列表;使所述計算機中的虛擬機部執(zhí)行所述應用程序;以及將所述播放列表的再現(xiàn)圖像輸出至顯示裝置,并且,在由所述應用程序展示圖形時,在所述再現(xiàn)圖像上覆蓋所述展示圖形,從而得到覆蓋圖像并將所述覆蓋圖像輸出至所述顯示裝置,其中在執(zhí)行所述應用程序的步驟中,當在所述選擇步驟中已經選擇了標題時,使得所述虛擬機部開始執(zhí)行其生存區(qū)間為所選擇的標題的應用程序,以及在再現(xiàn)所述播放列表的步驟中,當在所述選擇步驟中已經選擇了標題時,不等待來自所述應用程序的指令就開始播放列表的再現(xiàn),該播放列表由所述索引表中表示的所述多個操作模式對象之一中所包括的播放列表的表格來規(guī)定,所述多個操作模式對象之一與所選擇的標題相對應。
6.如權利要求4所述的再現(xiàn)方法,其中,在再現(xiàn)所述播放列表的步驟中,如果所述虛擬機部對所述應用程序的執(zhí)行在所述播放列表的再現(xiàn)之前結束,則所述播放列表的所述再現(xiàn)繼續(xù)。
全文摘要
BD-ROM的再現(xiàn)裝置進行標題的再現(xiàn)和應用程序的執(zhí)行,包括再現(xiàn)屬于標題的AVClip的播放控制引擎(32),控制在多個標題之間的分支的模塊管理器(34)和執(zhí)行一個以上的應用程序的BD-J模塊(35)。BD-J模塊(35)包括Java虛擬機(38)和應用程序管理器(36),所述應用程序管理器(36)在1)任何一個應用程序都沒有啟動的狀態(tài),2)主程序終止的情況下,解釋為標題執(zhí)行終止而進行終止處理。模塊管理器(34)在終止處理執(zhí)行后,選擇頂端菜單標題等的下一標題。
文檔編號G06F19/00GK101702320SQ20091021150
公開日2010年5月5日 申請日期2004年10月12日 優(yōu)先權日2003年10月10日
發(fā)明者岡田智之, 巖本啟明, 池田航 申請人:松下電器產業(yè)株式會社