專利名稱:用于執(zhí)行應用程序同步重放的重放裝置的制作方法
技術領域:
本發(fā)明屬于數(shù)字流和應用程序同步重放的技術領域。
背景技術:
應用程序同步重放是用于在重放裝置或用于播放視頻的類似裝置中運行 Java(注冊商標)應用程序的同時播放數(shù)字流的一項技術,并且屬于在今后制造的消費品 中將吸引大量關注的技術領域。用于同步的應用程序和數(shù)字流以被稱為“標題”的重放為 單位彼此相聯(lián)系。下面描述傳統(tǒng)的重放裝置。傳統(tǒng)的重放裝置由虛擬文件系統(tǒng)單元、模塊 管理器、重放單元和平臺單元構成。虛擬文件系統(tǒng)單元管理由重放裝置訪問的多個記錄介質,例如光記錄介質(例如 DVD-R0M,BD_R0M,在后面作為例子描述后者)和磁記錄介質(例如硬盤),并且生成整體地 顯示這些記錄介質所記錄內容的包信息。每條包信息被稱為虛擬包,其在記錄于這些記錄介質上的數(shù)據(jù)流和應用程序(在 下文簡稱為“應用程序”)的重放/執(zhí)行中被提交,就如同它們實際記錄在單一包中。模塊管理器選擇多個標題中的一個作為當前標題。重放單元從包信息所示的數(shù)字流中播放構成當前標題的數(shù)字流(即記錄在光或 磁記錄介質上)。平臺單元從包信息所示的應用程序中運行構成當前標題的應用程序(即記錄在 光或磁記錄介質上)。根據(jù)以上結構,記錄在不同記錄介質例如BD-ROM和硬盤上的數(shù)字流和應用程序 可以作為單一(虛擬)包來對待,并且重放裝置能夠以標題為單位實現(xiàn)重放控制。以上結構中的標題不僅用于記錄在用于重放的BD-ROM上的數(shù)字流而且用于記錄 在硬盤上的數(shù)字流。由于硬盤是可重寫的記錄介質,因此標題的組成要素可能通過重放部 分地被替換,例如當使用新采集的數(shù)字流新生成包信息時。在很大程度上認為這樣的替換引起的情況難以恢復例如在重放期間由重放單元 的異常操作產生的視頻中斷。如果重放裝置中的重放單元順序地檢驗例如用于重放的數(shù)據(jù)流和重放控制信息 的要素的一致性,可以預期通過重放部分地替換重放對象。然而,假設需要檢驗的信息類型 互異,這對重放單元造成了很大負擔。為了絕對保證設備的穩(wěn)定操作,理想的是當在硬盤上的記錄內容中有變化時重啟 設備自身,就象當你安裝軟件時那樣。然而,假設在任何地方重啟設備花費幾秒到幾分鐘的 處理時間,這并不是用戶能輕松承擔的事情。
發(fā)明內容
本發(fā)明的目標是提供一種重放裝置,即使在重放對象中有變化時所述重放裝置也 能夠實現(xiàn)穩(wěn)定重放。為了解決以上問題,本發(fā)明是一種結合應用程序播放數(shù)字流的重放裝置,其包括 包管理單元,用于根據(jù)合并管理信息通過合并記錄在第一記錄介質和第二記錄介質上的文 件所述包管理單元生成包信息,和選擇單元,用于檢測來自包信息的多個可播放標題,并且 選擇檢測到的標題中的一個作為當前標題。當應用程序通過指定新合并管理信息請求包管 理單元更新合并管理信息之后,在更新包信息之前包管理單元將從新指定合并管理信息引 用的文件變?yōu)橹蛔x,并且在數(shù)字流重放由于當前標題由選擇單元改變而停止時,包管理單 元根據(jù)新指定的合并管理信息通過組合記錄在第一和第二記錄介質上的文件生成新包信 肩、ο由于具有以上結構,本發(fā)明保證了在應用程序通過指定新合并管理信息請求包管 理單元更新合并管理信息的情況下,從新指定的合并管理信息引用的文件的內容從提出更 新請求的時間直到當前標題變化都未被改變,這是因為在更新包信息之前包管理單元將從 新指定的合并管理信息引用的文件設置為只讀。而且,通過在數(shù)字流重放由于當前標題變 化被停止時更新包信息,即使例如用于重放/執(zhí)行的數(shù)字流或應用程序由于更新被替換也 不會引起重放裝置的異常操作。因而,由于可以通過動態(tài)地合并記錄在第一和第二兩個記錄介質上的文件并且同 時保證重放裝置的穩(wěn)定操作而實現(xiàn)重放控制,擴大了電影作品的表達寬度。在這里,包管理單元可以被配置成如果請求更新的應用程序的許可標記(tag)中 的信息指示應用程序已被分配更新包信息的權利,則更新包信息,如果該信息指示未被分 配更新的權利,則拒絕更新請求并且執(zhí)行異常處理。該結構能夠阻止未授權應用程序請求的包信息的更新。
圖1是系統(tǒng)圖2顯示了 BD-ROM 100的內部結構; 圖3系統(tǒng)地顯示了怎樣構造擴展名為“m2ts”的文件; 圖4顯示了 PL信息的結構; 圖5顯示了 AVClip和PL之間的關系;
圖6顯示了使用四個Clip_Information_file_names的分批指定; 圖7顯示了 PLMark信息的內部結構; 圖8顯示了使用PLMarks的章節(jié)定義; 圖9顯示了 Subpath信息的內部結構; 圖10顯示了同步指定和SubClip時間軸上的重放間隔定義; 圖IlA顯示了被包含在檔案文件中的程序數(shù)據(jù); 圖IlB顯示了類文件的內部結構; 圖12顯示了 BD-J對象的內部結構; 圖13顯示了 INDEX. BDMV的內部結構;
圖14顯示了本地存儲器中的目錄結構;圖15顯示了由存儲在本地存儲器中的PL信息定義的播放列表重放時間軸的類 型;圖16A顯示了存儲在BD-ROM上的AVClip和存儲在本地存儲器中的Java應用程 序和 AVClip ;圖16B顯示了作為單一標題來對待的Java應用程序和AVClip#l_#4 ;圖17顯示了合并管理信息文件的典型內部結構;圖18顯示了重放裝置的硬件配置;圖19描繪了由硬件和存儲在指令ROM 21上的軟件組成的以層狀結構重布置的元 件;圖20顯示了 Java虛擬機30的內部結構;圖21顯示了由標題變化產生的狀態(tài)轉變;圖22顯示了由虛擬文件系統(tǒng)單元38典型地產生虛擬包信息;圖23A顯示了整個光盤的時間軸;圖23B顯示了整個光盤的時間軸的結構;圖24是由Java應用程序執(zhí)行的下載處理的流程圖;圖25是更新“準備”過程的流程圖;圖26是虛擬包“更新”過程的流程圖;圖27是由模塊管理器執(zhí)行的處理的流程圖;圖28是PL重放過程的流程圖;圖29顯示了在標題變化期間怎樣更新虛擬包信息;圖30顯示了將當前合并管理信息文件發(fā)送到服務器的Java應用程序;圖31顯示了下載內容文件、新合并管理信息文件和新簽名信息文件的Java應用 程序;圖32顯示了向虛擬文件系統(tǒng)單元38提出更新請求的Java應用程序;圖33顯示了合并管理和簽名信息文件的替換,和內容文件的映射;圖34A是當標題調用之后暫停當前標題的重放時由重放控制引擎執(zhí)行的處理的 流程圖;圖34B是當所調用的標題的重放結束之后繼續(xù)重放原始標題時由重放控制引擎 執(zhí)行的處理的流程圖;圖35顯示了實施方式3中的合并管理信息文件;圖36顯示了關于實施方式3的Java應用程序,該應用程序請求更新虛擬包;圖37顯示了由使用合并管理信息文件的常駐應用程序向用戶顯示的典型附加內 容列表;圖38是關于實施方式3的從BD-ROM的裝載直到重放的處理流程的流程圖;圖39顯示了當請求虛擬包更新時被指定的有效間隔;圖40是關于實施方式4的從BD-ROM的裝載(或重放裝置的重啟)直到重放的處 理流程的流程圖;圖41顯示了用于篩選虛擬包更新請求的許可請求文件;
圖42顯示了強加在用于合并的本地存儲器中的目錄上的訪問限制;圖43顯示了其生命周期被限制到單一標題的Java應用程序和其生命周期持續(xù)多 個標題的Java應用程序;圖44顯示了在標題變化期間當更新虛擬包時在未綁定標題(title-unbound)的 應用程序上執(zhí)行的處理;圖45是考慮未綁定標題的應用程序的標題變化處理的流程圖;和圖46是在INDEX. BDMV文件變化之后的虛擬包更新的流程圖。
具體實施例方式實施例1下面描述與本發(fā)明相關的記錄介質的實施例。首先,描述關于本發(fā)明的重放裝置 的實現(xiàn)形式中的一種使用形式。圖1顯示了關于本發(fā)明的重放裝置的典型使用形式。在圖 1中,關于本發(fā)明的重放裝置是重放裝置200。重放裝置200用于在家庭影院系統(tǒng)中提供電 影作品,所述家庭影院系統(tǒng)例如由重放裝置200,遙控器300,和電視400組成。關于本發(fā)明的重放裝置的典型使用形式如上所述。接著描述用于由關于本發(fā)明的 重放裝置進行重放的記錄介質。在給出的例子中,由關于本發(fā)明的重放裝置播放的記錄介 質是BD-ROM 100 (光記錄介質)。圖2顯示了 BD-ROM 100的內部結構。在圖2中的第四層級顯示了 BD-ROM 100,而在第三層級顯示了 BD-ROM上的軌道。 圖2中描繪的軌道由從BD-ROM的內圓周到外圓周的軌道螺旋產生,其對于側面已經被畫 出。該軌道由導入?yún)^(qū)、卷區(qū)和導出區(qū)組成。圖2中的卷區(qū)具有由物理層、文件系統(tǒng)層和應用 層組成的層狀結構。使用目錄結構表達BD-ROM的應用格式給出了圖2中的第一層級。BDMV 目錄放置在BD-ROM中的第一層級的根目錄下。INDEX. BDMV文件布置在BDMV目錄中,并且在BDMV目錄下存在五個子目錄,它們被 稱為PLAYLIST目錄,CLIPINF目錄,STREAM目錄,BDJA目錄,和BDBJ目錄。STREAM目錄存儲形成主數(shù)字流的文件,將擴展名“m2ts”分配給該文件(00001. m2ts)ο在PLAYLIST目錄中存在擴展名為“mpls”的文件(00001. mpls)。在CLIPINF目錄中存在擴展名為“clpi”的文件(00001. clpi)。在BDJA目錄中存在擴展名為“jar”的文件(00001. jar)。在BDBJ目錄中存在擴展名為“bdbj”的文件(00001. bdbj)。接著描述這些文件。AVClip首先描述擴展名為“m2ts”的文件(00001. m2ts)。圖3系統(tǒng)地顯示了怎樣構造擴展 名為“m2ts”的文件。該文件存儲AVClip。通過多路復用TS包構成AVClip (中間層級),通 過將由多個視頻幀(圖片pjl,pj2,pj3)組成的視頻流和由多個音頻幀組成的音頻流(上 面第一層級)首先轉換成PES包(上面第二層級),然后轉換成TS包(上面第三層級),并 且以相同的方式將字幕圖形顯示(P圖形或PG)流(下面第一層級)和對話交互圖形(I圖 形或IG)流(下面第一層級)轉換成TS包(下面第三層級)來產生所述TS包。除了如圖3中所示通過多路復用獲得的AVClip之外,也存在不是由多路復用產生的AVClip。這些被稱為SubClip,并且包括構成音頻流、圖形流或文本字幕流(TextST流) 等的 AVClip。剪輯信息擴展名為“clpi”的文件(00001. clpi)是與AVClip對應的一條剪輯信息。剪輯 信息是管理信息,其包含顯示GOP的頭位置的EP_map,和諸如AVClip中的流的編碼格式、幀 頻、比特率和分辨率等的信息。PL 信息擴展名為“mpls”的文件(00001. mpls)存儲播放列表(PL)信息。PL信息通過參 考AVClip定義播放列表。圖4顯示了 PL信息的結構,如圖的左側所示,PL信息由MainPath 信息,PLMark信息和SubPath信息構成。MainPath信息“MainPath () ”由箭頭mpl所指示的播放項目信息"PlayItemO ”組 成。播放項目是通過在一個或多個AVClip時間軸上指定In_time和0ut_time來定義的重 放間隔。多條播放項目信息的放置定義由多個重放間隔組成的列表。圖4中的箭頭mp2顯 示了播放項目信息的內部結構的特寫。如圖4中所示,播放項目信息由In_time,0Ut_time 和顯示相應的 AVClip 的 Clip_Information_file_name 組成。圖 5 顯示了 AVClip 和 PL 之 間的關系。第一層級顯示AVClip的時間軸,而第二層級顯示PL的時間軸。PL信息包括三 條播放項目信息(PlayItem#l-#3),其中三個重放間隔由Playltem#l、#2和#3的In_times 和0ut_timeS定義。當這些重放間隔以線布置時定義不同于AVClip的時間軸。這是在第 二層級所示的PL時間軸。因而允許通過播放項目信息中的定義來定義不同于AVClip的時 間軸。通常,在任何一個時間指定一個AVClip,盡管多個AVClip的分批指定也是可能 的。使用播放項目信息中的Clip_Information_file_names執(zhí)行AVClip的分批指定。圖 6顯示了使用四個Clip_Information_file_names分批指定AVClip。圖中的第一至第四層 級顯示了四個AVClip時間軸(時間軸AVClips#l-#4),而第五層級顯示了 PL時間軸。四 個時間軸由包括在播放項目信息中的這四個ClipJnformatiorufilejames指定。這允許 由In_timeS和0ut_timeS定義四種備選的可播放的重放間隔。結果,在PL時間軸上定義 由多條可切換角視頻(所稱的多角度間隔)組成的間隔。PLMark信息“ PLMark () ”指定PL時間軸上的任意間隔作為章節(jié)。圖7顯示了 PLMark信息的內部結構,該內部結構包括箭頭pml所指示的ref_to_playitem_id和Mark_ time_Stamp。圖8顯示了使用PLMark定義章節(jié)。圖8中的第一層級顯示AVClip時間軸, 而第二層級顯示PL時間軸。圖8中的箭頭pkl和pk2顯示PLMark中的播放項目(ref_to_ playitem_id)和時間點(Mark_time_stamp)的指定。由于這些指定在PL時間軸上定義三 個章節(jié)(Chapters#l-#3)。這完成了對PLMark的描述。 接著描述SubPath信息。 SubPath 信息"SubPath (),,通過在 SubClip 時間軸上指定 In_time 和 0ut_time 定 義一個或多個重放間隔,并且具有圖9中所示的內部結構。SubPath信息由箭頭shl所指示 的子播放項目信息"SubPlayItemO,,組成。在箭頭sh2所標記的特寫中,子播放項目信息 由 Clip_Information_file_name, In_time, 0ut_time, Sync_PlayItem_Id,禾口 Sync_Start_ PTS_of_PlayItem組成。使用包括在子播放項目信息中的Clip_Information_file_name,
8In_time 禾口 0ut_time 指定 SubClip 時間軸上的 In_times 禾口 0ut_times。 Sync_PlayItem_ Id,和Sync_Start_PTS_of_PlayItem用于使SubClip時間軸和PL時間軸上的重放間隔同 步。這允許在SubClip時間軸和PL時間軸上的處理以彼此同步進行。圖10顯示了同步指定和SubClip時間軸上的重放間隔的定義。圖10中的第一層 級顯示PL時間軸,而第二層級顯示SubClip時間軸。圖10中的SubPlayItem. In_time和 SubPlayItem. 0ut_time分別顯示重放間隔的開始和結束。因而顯然重放間隔也在SubClip 時間軸上被定義。箭頭Snl所標記的Sync_PlayItem_Id顯示播放項目的同步指示,而箭頭 Sn2所標記的Sync_Start_PTS_0f_PlayItem指定PL時間軸上的播放項目期間的一點。BD-ROM中的PL信息的特征在于它使得定義允許切換AVClip的多角度間隔和允許 同步AVClip和SubClip的同步間隔成為可能。將剪輯信息和PL信息歸類為“靜態(tài)腳本”。下面描述“動態(tài)腳本”。在這里“動態(tài)”指的是重放控制的內容由于用戶鍵事件和 重放裝置200中的狀態(tài)變化等而變化。使用BD-R0M,可以使用與Java應用程序相同的描述 來描述重放控制。也就是說,使用BD-ROM,Java應用程序充當動態(tài)腳本。Java應用程序下面描述Java應用程序。Java應用程序由裝載在虛擬機的堆積區(qū)(也稱為工作 存儲器)中的一個或多個xlet程序組成。應用程序由裝載在工作存儲器中的xlet程序以 及數(shù)據(jù)構成。Java應用程序結構如上所述。實際Java應用程序是存儲在圖2中的BDMV目錄下的BDJA目錄中的Java檔案文 件(00001. jar)。下面參考圖11描述Java檔案文件。Java檔案文件Java檔案文件(圖2中的00001. jar)是一個或多個類文件和數(shù)據(jù)文件等的集合。 圖1IA顯示了收集在檔案文件中的程序和數(shù)據(jù)。圖1IA中的數(shù)據(jù)是由Java檔案庫存儲器收 集并且排列在框內所示的目錄結構中的多個文件。該目錄結構由根目錄,Java目錄,和圖像 目錄組成,其中common, pkg文件,類文件(aaa. class,bbb. class),禾口 menu, jpg文件放置在 各自的目錄內。Java檔案文件是Java檔案庫存儲器將這些文件收集在一起的結果。當從 BD-ROM讀入高速緩存時類文件和數(shù)據(jù)被擴展,并且在高速緩存中作為存在于目錄中的多個 文件來對待。Java檔案文件的文件名中的五位數(shù)字數(shù)值“00001”顯示Java檔案文件的標 識符(ID),并且BD-J對象使用該值來參考Java檔案文件。當將Java檔案文件讀入到高速 緩存中時通過參考文件名中的該數(shù)值,有可能提取構成任意Java應用程序的數(shù)據(jù)以及程 序。圖IlA中的類文件(aaa. class, bbb. class)對應于以上的xlet程序。使用這些 類文件的xlet程序(即實例)定義由Java平臺支持的工作模式(BD-J)中的重放過程。 xlet程序是能夠使用Java多媒體框架(JMF)接口的Java程序,并且基于根據(jù)JMF等的鍵 事件執(zhí)行處理。此外,xlet程序也可以執(zhí)行訪問網站和下載內容的過程。這允許重放通過混合下 載內容和列表創(chuàng)建的原始作品。接著描述xlet程序的類文件。圖IlB顯示了類文件的內部結構。如圖IlB中所 示,該類文件與普通類文件類似,由常數(shù)池,接口,和方法1,2,3…η組成。類文件中的方法 包括由預記載的鍵事件觸發(fā)的那些方法(EventListener)和用于調用重放裝置200中的應用編程接口(API)函數(shù)的那些方法。通過利用分配給指定方法的局部變量和調用所述方法 時出現(xiàn)的自變量描述這些方法中的計算過程等。Java檔案文件如上所述。接著描述擴展名為“bdbj”的文件。該文件(00001. bdbj)存儲BD-J對象。BD-J 對象是信息,該信息通過使PL信息中被定義的AVClip與應用程序相聯(lián)系來定義標題。圖 12顯示了 BD-J對象的內部結構。BD-J對象顯示應用程序管理表和PL信息參考值。應用程 序管理表顯示Java應用程序,所述Java程序的生命周期是由BD-J對象通過枚舉單個Java 應用程序的ID (應用程序ID)和屬于特殊應用程序的Java檔案文件的ID來定義的標題。 換句話說,每個應用程序由一個或多個Java檔案文件構成。PL信息參考值顯示當開始標題時待顯示的PL信息。擴展名為“bdbj”的文件如上所述。接著描述INDEX. BDMV文件。INDEX. BDMV是與整個BD-ROM有關的管理信息。該文件包含以下信息,諸如標識電 影作品供應商的組織ID和分配給由供應商提供的單個BD-ROM的光盤ID。當裝載光盤之 后首先通過讀取INDEX. BDMV在重放裝置中唯一地識別光盤。INDEX. BDMV可以附加地包括 這樣的表,該表將BD-ROM中的多個可播放標題映射到定義單個標題的BD-J對象。下面描 述可記錄到BD-ROM的標題的類型,所述類型包括FirstPlayTitle,Top_menuTitle,和標題 #1-#3。FirstPlayTitle負責當裝載BD-ROM時在做其他事情之前播放BD-ROM的動態(tài)商 標。FirstPlayTitle因而實現(xiàn)了當裝載BD-ROM時播放代表電影作品的創(chuàng)作者和/或發(fā)行 人的動態(tài)商標。Top_menuTitle由AVClip和播放位于BD-ROM中的菜單層次的最頂層的菜單的應 用程序組成。標題#1、#2和#3對應于普通電影作品。換句話說,INDEX.BDMV 顯示 FirstPlayTitle,Top_menuTitle 和標題 #1_#3 與單 個BD-J對象的對應關系。圖13顯示了 INDEX. BDMV的內部結構。該文件顯示FirstPlayTitle信息,Top_ menuTitle信息,標題#1信息,標題#2信息,和標題#3信息與標題ID和定義這些標題的 BD-J對象的對應關系。定義標題的BD-J對象可以使用標題信息進行標識,而用于同步的 PL信息和應用程序可以從這些BD-J對象導出。這完成了對BD-ROM的描述。BD-ROM不是關于本發(fā)明的重放裝置所用的唯一記錄介質。在重放期間也使用與重放裝置一體化的硬盤(本地存儲器)。下面描述記錄在本 地存儲器中的數(shù)據(jù)。圖14顯示了本地存儲器中的目錄結構。在該目錄結構中,子目錄 "organization#l"位于根目錄下,在該目錄下有子目錄“disc#l,,和“disc#2,,。 organization^目錄被分配給電影作品的特定供應商。disc#l和disc#2目錄被分配給由 每個供應商提供的不同的BD-R0M。在這些目錄名中利用在各自BD-ROM中的INDEX. BDMV文 件中所示的組織ID和光盤ID。提供與對應于特定供應商的目錄中的BD-ROMs對應的目錄允許獨立地存儲與單 個BD-ROMs有關的下載數(shù)據(jù)。在這些子目錄下存儲了 PL信息,剪輯信息,和AVCl ip,與存儲在BD-ROM上的內容類似。也附加地存在Java檔案文件,BD-J對象,合并管理信息文件,和 簽名信息文件。與僅僅涉及BD-ROM上的AVClip的BD-ROM上的PL信息相比,本地存儲器中的PL 信息包括涉及BD-ROM上的和本地存儲器中的AVClip的信息;也就是,作為虛擬包被新添加 的PL信息,其特定例子是圖14中的PL INF0#2。在這里,由四條播放項目信息構成本地存儲器中的PL信息(播放項目信息 #1-#4)。在頭條(播放項目信息#1)涉及BD-ROM上的剪輯信息而其余三條(播放項目信 息#2-#4)涉及本地存儲器中的剪輯信息的情況下,該PL信息可以從BD-ROM上的和本地存 儲器中的AVClip定義單一數(shù)據(jù)流序列,如圖15中所示。圖15顯示了由存儲在本地存儲器中的PL信息定義的播放列表重放時間軸的類 型。第一層級顯示存儲在BD-ROM上的AVClip#l的重放時間軸,而第二層級顯示在存儲在 本地存儲器中的PL信息中定義的播放列表的重放時間軸,第三、第四和第五層級分別顯示 存儲在本地存儲器中的AVClip#2、#3和#4的重放時間軸。在播放項目信息#2、#3和#4指定AVCl ip#2、#3和#4作為重放間隔的情況下,本 地存儲器中的PL信息能夠將BD-ROM上的和本地存儲器中的AVClip定義為單一數(shù)據(jù)流序 列。如上所述,BD-ROM上的和本地存儲器中的AVClip可以被定義為單一數(shù)據(jù)流序 列,并且通過合并該數(shù)據(jù)流序列和BD-ROM上的或本地存儲器中的應用程序,可以由AVClip 和由記錄在BD-ROM上的或本地存儲器中的應用程序構成單一標題。如圖16A中所示,在 AVClip#l記錄在BD-ROM上而AVClip#2_#4和Java應用程序記錄在本地存儲器中的情況 下,這些AVClip和Java應用程序可以如圖16B中所示作為單一標題來對待。接著描述合并管理信息。合并管理信息唯一地顯示本地存儲器中的disc#l和#2 目錄中的構成虛擬包的所有文件,并且被存儲在指定文件(在下文被稱為“合并管理信息 文件”)中。圖17顯示了合并管理信息文件的典型內部結構。合并管理信息文件由本地存 儲器中構成虛擬包的每個文件的存儲位置信息組成。存儲位置信息由訪問作為虛擬包的各 個文件的標識符和指示本地存儲器中各個文件的存儲位置的文件路徑組成。接著描述簽名信息文件。簽名信息文件在合并管理信息文件上顯示供應商的電子 簽名。通常使用的電子簽名通過計算需要防竄改的信息的散列值,并使用某種秘密密鑰加 密該散列值來獲得。這完成了對本地存儲器的描述。下面描述關于本發(fā)明的重放裝置的實施例。圖18顯示了重放裝置的硬件配置。重 放裝置由BD-ROM驅動器1,讀緩沖器2,多路分解器(Demux) 3,視頻解碼器4,視頻平面5,圖 形顯示(P圖形)解碼器6,圖形顯示(P圖形)平面7,合成單元8,字體發(fā)生器9,交互圖形 (I圖形)解碼器10,開關11,交互圖形(I圖形)平面12,合成單元13,顏色查找表(CLUT) 單元14,顏色查找表(CLUT)單元15,音頻解碼器16,網絡設備17,本地存儲器18,讀緩沖 器19,多路分解器(Demux) 20,指令ROM 21,用戶事件(UE)處理單元22,播放器狀態(tài)寄存器 (PSR)組23,中央處理單元(CPU) 24,腳本存儲器25,本地存儲器26,和開關27。首先描述關于記錄在BD-ROM 100上的AVClip的重放的元件(BD-R0M驅動器1_音 頻解碼器16)。
11
BD-ROM驅動器1裝載/退出BD-ROMs,并且訪問BD-ROM 100。讀緩沖器2是先進先出(FIFO)存儲器,其中從BD-ROM 100或本地存儲器18讀取 的傳輸流(TS)包在先進先出的基礎上被存儲。Demux 3從讀緩沖器2讀取TS包,并且將這些TS包轉換成打包基本流(PES)包。 具有由CPU 24設置的包標識符(PID)的PES包,然后被輸出到視頻解碼器4,P圖形解碼器 6,I圖形解碼器10,和音頻解碼器16中的一個。視頻解碼器4解碼從Demux 3輸出的PES包以獲得未壓縮格式的圖片,并且將這 些圖片寫入視頻平面5。視頻平面5用于存儲未壓縮圖片。平面是重放裝置中用于存儲一屏像素數(shù)據(jù)的存 儲區(qū)。視頻平面5具有1920X1080的分辨率,其中存儲的圖片數(shù)據(jù)由16位YUV表達的像 素數(shù)據(jù)構成。在視頻平面5中,每幀視頻流中的重放視頻可以被縮放??s放包括將每幀的 重放視頻變化為整個視頻平面5的1/4(四分之一)或1/1(全比例尺)。在BD-J模式中根 據(jù)來自CPU 24的指令執(zhí)行縮放,從而允許屏幕產生,由此視頻流的重放圖像被轉移到屏幕 的角上或投影到整個屏幕上。P圖形解碼器6解碼從BD-ROM讀取的P圖形流,并且將未壓縮圖形寫入P圖形平 面7。字幕由于圖形流被解碼出現(xiàn)在屏幕上。P圖形平面7是帶有用于一屏數(shù)據(jù)的存儲空間的存儲器,其能夠存儲一屏未壓縮 圖形。該平面具有1920X1080的分辨率,其中P圖形平面7中的未壓縮圖形的像素由8位 索引顏色表達。存儲在P圖形平面7中的未壓縮圖形通過使用CLUT轉換索引顏色被提交 以供顯示。合成單元8合成存儲在視頻平面5中的未壓縮圖片數(shù)據(jù)和P圖形平面7的存儲內容。字體發(fā)生器9使用字符字體來擴展包括在位圖中的TextST流中的文本代碼,并且 將擴展代碼寫入P圖形平面7。I圖形解碼器10在DVD-Iike模式中解碼從BD-ROM或本地存儲器18讀取的I圖 形流,并且將未壓縮圖形寫入I圖形平面12。開關11選擇性地將字體發(fā)生器9生成的字體序列和由P圖形解碼器6解碼產生 的圖形中的一個寫入到P圖形平面7。用由I圖形解碼器10解碼產生的未壓縮圖形寫入I圖形平面12。使用α RGB全 彩色在BD-J模式中將應用程序繪制的字符和圖形寫入到I圖形平面12中。合成單元13合成I圖形平面12的存儲內容和從合成單元8輸出的合成圖像(即 合成未壓縮圖片數(shù)據(jù)和P圖形平面7的存儲內容)。該合成允許由應用程序寫入I圖形解 碼器10的字符和圖形重疊在未壓縮圖片數(shù)據(jù)上并且被顯示。CLUT單元14將存儲在視頻平面5中的未壓縮圖形中的索引顏色轉換成Y/Cr/Cb。當在DVD-like模式(即用于播放象傳統(tǒng)DVD這樣的數(shù)字流的模式)中工作時CLUT 單元15將存儲在I圖形平面15中的未壓縮圖形中的索引顏色轉換成Y/Cr/Cb。當在BD-J 模式(即用于與Java應用程序同步地播放數(shù)字流的模式)中工作時,CLUT單元15將α RGB 全彩色轉換成Y/Cr/Cb。需要注意的是Java應用程序可以綁定或不綁定到標題,以及綁定 或不綁定到光盤。
12
音頻解碼器16解碼從Demux 3輸出的PES包并且輸出未壓縮音頻數(shù)據(jù)。關于AVClip重放的元件如上所述。下面描述關于在BD-J模式中工作的元件(網 絡設備 17-Demux 20)。網絡設備17實現(xiàn)重放裝置中的通信功能。在應用程序在BD-J模式中指定URL 的情況下,網絡設備17建立與URL所指示的網站的傳輸控制協(xié)議(TCP)或文件傳送協(xié)議 (FTP)連接等。由于連接被建立Java應用程序從網站被下載。本地存儲器18是硬盤,其用于存儲通過網絡設備17建立的連接從網站下載的內 容,從除BD-ROM之外的通信和記錄介質提供的內容,以及元數(shù)據(jù)。元數(shù)據(jù)是用于綁定和管 理本地存儲器18中的下載內容的信息。通過訪問本地存儲器18,BD-J模式中的應用程序 可以使用下載內容執(zhí)行許多處理。本地存儲器18也保存合并管理信息文件。讀緩沖器19是FIFO存儲器,其在SubClip被包括在存儲于BD-R0M100上或本地 存儲器18中的下載內容中的情況下基于先入先存儲構成SubClip的TS包。Demux 20從讀緩沖器19讀取TS包,并且將讀取的TS包轉換成PES包。具有特定 PID的PES包然后輸出到P圖形解碼器6,字體發(fā)生器9,和音頻解碼器16。以上元件17-20允許由Java應用程序通過網絡下載的內容以類似于記錄在 BD-ROM上的內容的方式被播放。下面描述用于實現(xiàn)重放裝置中的集中控制的元件(指令 R0M21-開關 27)。指令ROM 21存儲軟件,該軟件定義與重放裝置有關的控制。響應重放裝置的遙控器或前面板的鍵操作,UE處理單元22將用于執(zhí)行這些操作 的用戶事件輸出到CPU 24。PSR組23是在重放裝置內部的一組寄存器,由64個播放器狀態(tài)寄存器(PSR)和 4096個通用寄存器(GPR)組成。PSR 4_8用于表示當前重放點。PSR 4由于被設置到1-100的值指示當前重放點的標題。將PSR 4設置為“0”表 示當前重放點是菜單頂部(top menu)。PSR 5由于被設置到1-999的值指示當前重放點的章節(jié)編號。將PSR 5設置為 “OxFFFF,,指示在重放裝置中的章節(jié)編號為零。PSR 6由于被設置到0-999的值指示當前重放點所屬的PL(當前PL)的編號。PSR 7由于被設置到0-255的值指示當前重放點所屬的播放項目(當前播放項 目)的編號。PSR 8由于被設置到O-OxFFFFFFFF的值指示使用45KHz的時間精度的當前重放點 (當前顯示時間或“PTM”)。PSR 4-8允許在圖23A中所示的整個BD-ROM的時間軸上標識
當前重放點。CPU 24運行存儲在指令ROM 21中的軟件以執(zhí)行與整個重放裝置有關的控制。這 些控制動態(tài)地變化,其取決于從UE處理單元22輸出的用戶事件和PSR組23中的PSR值。腳本存儲器25用于存儲當前PL信息和當前剪輯信息。當前PL信息是記錄在 BD-ROM上的當前被處理的一條PL信息。當前剪輯信息是記錄在BD-ROM上的當前被處理的
一條剪輯信息。假設從BD-ROM低速讀取,本地存儲器26是臨時存儲BD-ROM的記錄內容的高速緩 沖存儲器。本地存儲器26的提供允許BD-J模式中的應用程序高效地運行。
開關27選擇性地將從BD-ROM和本地存儲器18讀取的數(shù)據(jù)輸送到讀緩沖器2,讀 緩沖器19,腳本存儲器25和本地存儲器26中的一個。關于本實施例的重放裝置的硬件配置如上所述。下面描述關于本實施例的重放裝 置中的軟件結構。圖19描繪了由硬件和存儲在指令ROM 21上的軟件組成的以層狀結構重布置的元 件。如圖19中所示,重放裝置的層狀結構由第一層(BD層),第二層(BD播放器模型),和 第三層(應用程序運行時間環(huán)境)組成。圖18中所示的重放裝置的硬件配置屬于第一層。在該硬件配置中,在圖19中的 第一層的“BD播放器”包括由視頻解碼器4,P圖形解碼器6,I圖形解碼器10和音頻解碼 器16組成的“解碼器”,由視頻平面5,P圖形平面7和I圖形平面12組成的“平面”,BD-ROM 100和相關文件系統(tǒng),本地存儲器18和相關文件系統(tǒng),以及網絡設備17。在第二層的“BD播放器模型”由用于顯示引擎31和虛擬文件系統(tǒng)單元38的下層 和用于重放控制引擎32的上層組成,并且提供與更高級別有關的API函數(shù)。圖18中所示的PSR組23和腳本存儲器25存在于重放控制引擎32內部。在第三層的“應用程序運行時間環(huán)境”由包括模塊管理器33的層組成,所述模塊 管理器33堆疊在包括DVD-Iike模塊29a和Java平臺29b的層上。下面描述該軟件結構中的元件。DVD-Iike 模塊 29a,Java 平臺 29bDVD-Iike模塊29a解碼導航命令,并且基于解碼結果執(zhí)行與重放控制引擎32有關 的函數(shù)調用。Java平臺29b是所謂的具有層次結構的Java平臺,所述層次結構由Java虛擬機 30和Java虛擬機運行的中間軟件(未示出)組成。Java 虛擬機 30Java虛擬機30將構成應用程序的xlet程序裝載到工作存儲器中,解碼xlet程 序,并且根據(jù)解碼結果在下層上執(zhí)行控制。為了執(zhí)行這些控制,Java虛擬機30向中間軟件 發(fā)布方法,使中間軟件用對應于BD重放裝置的函數(shù)調用替換所述方法,并且向重放控制引 擎32發(fā)布所述函數(shù)調用。Java虛擬機30的內部結構下面描述Java虛擬機30的內部結構。圖20顯示了 Java虛擬機30的內部結構。 如圖20中所示,Java虛擬機30由CPU 24,用戶類裝載器52,方法區(qū)53,工作存儲器54,線 禾呈 55a, 55b,…55η,禾口 Java 棧 56a, 56b, ".56η 構成。用戶類裝載器52從本地存儲器26等讀取BDJA目錄中的Java檔案文件中的類文 件,并且將讀取的類文件存儲在方法區(qū)53中。由用戶類裝載器52讀取類文件由于模塊管 理器33將指定文件路徑的讀指令發(fā)送到用戶類裝載器52被執(zhí)行。如果文件路徑指示本地 存儲器26,用戶類裝載器52將構成應用程序的Java檔案文件中的類文件從本地存儲器26 讀入工作存儲器54。如果文件路徑指示文件系統(tǒng)中的目錄,用戶類裝載器52將構成應用程 序的Java檔案文件中的類文件從BD-ROM或本地存儲器18讀入工作存儲器54。方法區(qū)53存儲由用戶類裝載器52從本地存儲器26讀取的類文件。工作存儲器54是所謂的存儲各種類文件的實例的堆積區(qū)。工作存儲器54存儲對
14應于常駐應用程序的實例和讀入到方法區(qū)53的類文件。一個實例是構成應用程序的xlet 程序,通過將xlet程序放置到工作存儲器54中使所述應用程序可執(zhí)行。線程55a,55b,…55η是用于執(zhí)行存儲在工作存儲器54中的方法的邏輯執(zhí)行實 體。它們使用局部變量和存儲在操作數(shù)棧中作為操作數(shù)的自變量執(zhí)行計算,并且將計算結 果存儲在局部變量或操作數(shù)棧中。圖20中的箭頭kyl,ky2,和kyn象征性地指示方法從工 作存儲器54提供給線程55a,55b,…55η。盡管CPU是唯一的物理執(zhí)行實體,在Java虛擬 機30中可以有高達64個邏輯執(zhí)行實體或線程。線程可以被新創(chuàng)建并且現(xiàn)有線程可以在該 數(shù)值限度內被刪除,而且當Java虛擬機30工作時工作線程的數(shù)目可以變化。能夠適當?shù)?增加線程的數(shù)目也使得有可能使用每個實例的多個線程并行地運行實例,并且由此加速實 例的執(zhí)行。Java棧56a,56b,... 56η與線程55a,55b,... 55n—比一地存在,并且每個具有程 序計數(shù)器(圖20中的“PC”)和一個或多個幀。程序計數(shù)器顯示當前正在執(zhí)行實例的哪個 部分。幀是分配給方法的每次調用的棧型區(qū)域,并且由用于存儲與調用同時出現(xiàn)的自變量 的操作數(shù)棧和被所調用的方法使用的局部變量棧(圖20中的“局部變量”)組成。由于無 論何時進行調用幀都堆疊在Java棧56a,56b,…56η上,因此遞歸地調用自身的方法的幀 也一個堆疊在另一個上面。Java虛擬機的內部結構如上所述。具有以上結構的Java虛擬機充當事件驅動執(zhí) 行實體。這完成了對Java虛擬機的描述。顯示引擎31顯示引擎31執(zhí)行AV重放功能。重放裝置的AV重放功能是從DVD播放器和⑶播 放器繼承的傳統(tǒng)功能組,包括播放,停止,暫停開始(PAUSE0N),暫停結束(PAUSE OFF),靜音 (STILL OFF),快進播放(x2,x4等),快退播放(x2,x4等),音頻變化,字幕變化,和角度變 化。為了實現(xiàn)這些AV重放功能,顯示引擎31控制視頻解碼器4,P圖形解碼器6,I圖形解 碼器10和音頻解碼器16以解碼讀入到讀緩沖器2的AVClip的一部分,所述部分對應于預 期時間。通過將PSR 8所指示的地方(當前PTM)解碼為預期時間,可以致使AVClip中的 任意點可播放。重放控制引擎32重放控制引擎32執(zhí)行各種功能,包括⑴對播放列表的重放控制和(ii)采集/ 設置PSR組23的狀態(tài)。重放控制功能包括根據(jù)當前PL信息和剪輯信息使顯示引擎31執(zhí) 行以上AV重放功能中的播放和停止。功能⑴和( )根據(jù)從DVD-Iike模塊29a和Java 平臺29b的函數(shù)調用被執(zhí)行。接著描述重放控制引擎32執(zhí)行的處理與Java虛擬機執(zhí)行的處理的同步。當調用 函數(shù)時重放控制引擎32執(zhí)行基于PL信息的處理。在用于重放的AVClip的持續(xù)時間執(zhí)行 該處理,無論重放時間是15分鐘還是30分鐘。這里的問題是在Java虛擬機30返回成功 響應的時間和重放控制引擎32實際結束處理的時間之間存在延時(time lag)。作為事件 驅動執(zhí)行實體的Java虛擬機30在調用之后立即返回指示重放是否成功的響應,而重放控 制引擎32在15或30分鐘重放持續(xù)時間過去之后結束AVClip和播放項目的重放。因而, 成功響應返回到應用程序的時間不能用作衡量15或30分鐘以后處理結束的基礎。當在PL 重放期間執(zhí)行快進或倒帶時衡量處理結束變得更加困難,這是由于15或30分鐘的重放時間發(fā)生變化。鑒于此,當各個播放項目或AVClip的重放結束時,重放控制引擎32將指示播 放項目和AVClip重放結束的事件輸出到應用程序。這種輸出使得應用程序知道重放控制 引擎32在哪個點結束播放項目或AVClip重放。模塊管理器33模塊管理器33讀取INDEX. BDMV并且選擇INDEX. BDMV中的多條標題信息中的一 條作為當前標題信息。模塊管理器33讀取當前標題信息所指示的BD-J對象,并且基于BD-J 對象中所描述的PL信息控制重放控制引擎32執(zhí)行重放控制。模塊管理器33也控制Java 虛擬機30以讀取和執(zhí)行BD-J對象中所描述的Java檔案文件。如果基于PL信息的數(shù)字流的重放和應用程序的執(zhí)行結束,或者如果用戶調用菜 單,模塊管理器33讀取定義另一標題的標題信息,并且選擇該條標題信息作為當前標題信 息。根據(jù)數(shù)字流重放或用戶菜單調用選擇另一條標題信息作為當前標題信息的過程被稱為 “標題變化”。圖21中所示的狀態(tài)轉變可以通過重復地執(zhí)行標題變化實現(xiàn)。圖21中的橢圓窗口 表示標題。標題包括當BD-ROM首次被裝載時用于重放的“FirstPlayTitle”,構成頂部菜單 的“Top_menuTitle”,和其他普通標題。圖 21 中的箭頭 jhl,jh2,jh3,jh4,jh5,jh6,jh7 和jh8象征性地指示標題之間的轉移。圖21中所示的狀態(tài)轉變包括當BD-ROM被裝載時播放FirstPlayTitle,然后轉移 到TopjnenuTitle并且等待從頂部菜單選擇。當用戶從菜單選擇時,在再次返回到TopjnenuTitle之前根據(jù)選擇播放各個標 題。直到光盤被退出無限地重復該處理的過程是光盤內容所獨有的狀態(tài)轉變。該狀態(tài)轉變 在上述的模塊管理器33的控制下實現(xiàn)。這完成了對Java虛擬機30,顯示引擎31,重放控制引擎32,和模塊管理器33的描 述。由Java虛擬機30對重放控制引擎32的控制通過虛擬包被執(zhí)行。為了通過虛擬包實 現(xiàn)對重放控制引擎32的控制,重放裝置包括網絡管理模塊37和虛擬文件系統(tǒng)單元38。接 著描述這些元件。網絡管理模塊37網絡管理模塊37根據(jù)從應用程序的方法調用從電影作品的供應商所管理的網站 下載產生虛擬包所需的數(shù)據(jù)。該數(shù)據(jù)包括替換或添加到合并管理信息文件,簽名信息文件, 和BD-ROM上的文件的文件(PL信息,剪輯信息,AVClip,Java檔案文件,等等)。當工作存 儲器54中的應用程序提出下載請求時,網絡管理模塊37通過網絡下載產生虛擬包所需的 數(shù)據(jù),并且將下載的數(shù)據(jù)寫入本地存儲器18。虛擬文件系統(tǒng)單元38虛擬文件系統(tǒng)單元38是屬于圖19中的第二層的元件,其根據(jù)從應用程序的方法 調用產生虛擬包。虛擬包的產生包括管理構成虛擬包的AVClip的狀態(tài)的處理和生成虛擬 包信息的處理。虛擬包信息虛擬包信息擴展BD-ROM上的卷管理信息。這里涉及的卷管理信息定義存在于記 錄介質上的目錄結構,并且由與目錄有關的目錄管理信息和與文件有關的文件管理信息組
16成。虛擬包信息通過將新文件管理信息添加到顯示目錄結構的卷管理信息來擴展 BD-ROM上的目錄結構。添加到卷管理信息的文件管理信息涉及存在于本地存儲器18中的 PL信息,剪輯信息,AVClip和Java檔案文件。產生該文件管理信息已被添加到其中的虛擬 包信息和將該虛擬包信息提供給重放控制引擎32的過程允許重放控制引擎識別如存在于 BD-ROM上的存儲在本地存儲器18中的PL信息,剪輯信息,AVClip和Java檔案文件。圖22 顯示了由虛擬文件系統(tǒng)單元38典型地產生虛擬包信息。在圖22的左上方是BD-ROM上的 目錄結構,這與圖2相同。在左下方是本地存儲器18中的目錄結構,這與圖14相同。與本 地存儲器18中的PL信息,剪輯信息,AVClip和Java檔案文件有關的文件管理信息被添加 到BD-ROM上的卷管理信息。具體而言i)與本地存儲器18中的播放列表信息#2 (00002. mpls)有關的文件管理信息被添 加到PLAYLIST目錄中的目錄管理信息;ii)與本地存儲器 18 中的剪輯信息#2、#3和#4(00002. clip,00003. clip,00004. clip)有關的文件管理信息被添加到CLIPINF目錄中的目錄管理信息;iii)與本地存儲器 18 中的 AVClip#2、#3 和 #4 (00002. m2ts,00003. m2ts,00004. m2ts)有關的文件管理信息被添加到STREAM目錄中的目錄管理信息;iv)與本地存儲器18中的Java檔案文件“00002. jar”有關的文件管理信息被添 加到BDJA目錄中的目錄管理信息;由此獲得虛擬包信息。換句話說,虛擬包信息是以上面的方式已被添加的卷管理 fn息ο然后將該虛擬包信息提供給重放控制引擎32,重放控制引擎由此能夠在與 BD-ROM上的PL信息,剪輯信息,AVClip,和Java檔案文件同等的基礎上處理本地存儲器18 中的PL信息,剪輯信息,AVClip,和Java檔案文件。虛擬包信息的生成如上所述。下面描述虛擬包信息更新的定時。假設當按照圖21中的箭頭jhl,jh2,jh3,jh4等所指示的參考標記的數(shù)值順序執(zhí) 行轉移之后BD-ROM被退出。這允許從BD-ROM的裝載到退出的連續(xù)時間間隙被看作單一時 間軸。該時間軸被作為整個光盤的時間軸。圖23A顯示了整個光盤的時間軸,而圖23B顯示 了該時間軸的結構。如圖23B中所示,整個光盤的時間軸由播放FirstPlayTitle的間隔, 播放TopjiienuTitle的間隔,和播放普通標題(標題#1等)的間隔組成。關于定義這些標 題的重放間隔的方式,由于每個標題僅僅由一個BD-J對象構成,因此任何給定的BD-J對象 有效的間隔可以被當作標題的重放間隔。這些重放間隔之間的空隙,或者從一個標題變化 到另一標題的些微間隔(即“標題變化”)是虛擬包信息更新的時間。接著使用圖24描述由Java應用程序執(zhí)行的下載新合并管理和簽名信息文件以及 內容文件的過程。Java應用程序首先將當前合并管理信息文件發(fā)送到服務器(步驟Sll),由此請求 下載,并且判斷是否已接收來自服務器的數(shù)據(jù)(步驟S12)。當數(shù)據(jù)被下載時,Java應用程 序在相應光盤目錄中創(chuàng)建新目錄,并且將下載的合并管理信息文件和簽名信息文件寫入新 目錄(步驟S13)。需要注意的是如果下載的合并管理和簽名信息文件的文件名不與光盤目文件可以直接放置在現(xiàn)存目錄(光盤#1文 件)之下而不創(chuàng)建新目錄。將下載的AVClip,剪輯信息,PL信息,和Java檔案文件寫入相 應目錄(步驟S14)。Java應用程序然后使用新合并管理和簽名信息文件的文件路徑作為自 變量調用更新請求方法(步驟S15)。Java應用程序判斷返回值是否為false (步驟S16), 并且如果為false則終止處理。如果返回值是不是false,則Java應用程序使用更新的虛 擬包信息執(zhí)行處理(步驟S17)。需要注意的是盡管根據(jù)當請求下載時Java應用程序將當前合并管理信息文件發(fā) 送到服務器描述了以上處理,Java應用程序可以僅僅發(fā)送合并管理信息文件的ID。接著使用圖25描述一旦接收更新請求由虛擬文件系統(tǒng)單元38執(zhí)行的更新“準備” 過程。虛擬文件系統(tǒng)單元38首先使用當調用方法時充當自變量的文件路徑讀取新合并 管理和簽名信息文件(步驟S21),并且驗證簽名以便檢驗新合并管理信息文件是否已被竄 改(步驟S22)。如果簽名不能被驗證則執(zhí)行異常終止。如果簽名被驗證,則虛擬文件系統(tǒng) 單元38檢驗調用應用程序的權限(步驟S23)。如果調用應用程序未被授權則執(zhí)行異常終 止。如果調用應用程序被授權,則虛擬文件系統(tǒng)單元38判斷新合并管理信息文件所指定的 文件是否實際存在于本地存儲器中(步驟S24)。如果這些文件并不存在則執(zhí)行異常終止。 如果這些文件存在,則虛擬文件系統(tǒng)單元38將新合并管理和簽名信息文件以及從新合并 信息文件引用的本地存儲器中的所有文件變?yōu)橹蛔x(步驟S25)。圖26是由虛擬文件系統(tǒng)單元38執(zhí)行的虛擬包“更新”處理的流程圖。虛擬文件 系統(tǒng)單元38首先標識對應于被裝載的BD-ROM的光盤目錄,并且用Java應用程序調用更新 請求方法時、充當自變量的文件路徑所指定的新合并管理和簽名信息文件替換光盤目錄中 的合并管理和簽名信息文件(步驟S31)。虛擬文件系統(tǒng)單元38然后將本地存儲器18中 的合并管理信息文件所指定的PL信息的文件管理信息添加到PLAYLIST目錄中的目錄管理 信息中(步驟S32),并且執(zhí)行步驟S33到S37的循環(huán)。該循環(huán)包括對于存在于本地存儲器 18中的每一條剪輯信息重復步驟S34到S36。在這里,用于循環(huán)處理的一條剪輯信息假定 為剪輯信息X。虛擬文件系統(tǒng)單元38標識對應于剪輯信息χ的AVClip (步驟S34),將本地 存儲器18中的合并管理信息文件所指定的剪輯信息χ的文件管理信息添加到CLIPINF目 錄中的目錄管理信息中(步驟S35),并且將本地存儲器18中的合并管理信息文件所指定的 AVClip χ的文件管理信息添加到STREAM目錄中的目錄管理信息中(步驟S36)。通過對于 本地存儲器18中的所有剪輯信息和AVClip重復以上處理,與剪輯信息和AVClip有關的文 件管理信息被添加到卷管理信息。由此獲得的卷管理信息是虛擬包信息。虛擬文件系統(tǒng)單 元38將該虛擬包信息提供給進行虛擬包調用的應用程序(步驟S38),并且結束處理。圖27是由模塊管理器33執(zhí)行的處理的流程圖。模塊管理器33首先選擇FirstPlayTitle作為當前標題(步驟S41),指定對應 于當前標題的BD-J對象作為當前BD-J對象(步驟S42),并且使重放控制引擎32基于當 前BD-J對象中所描述的PL信息執(zhí)行PL重放(步驟S43)。模塊管理器33然后使Java平 臺29b運行其生命周期是當前BD-J對象的應用程序管理表中的當前標題的Java應用程序 (步驟S44),并且使Java平臺29b終止其生命周期不是當前標題的Java應用程序(步驟 S45)。模塊管理器33然后判斷基于當前PL信息的PL重放是否已經完成(步驟S46),并
18且如果完成,模塊管理器33則標識下一個標題(步驟S47),并且選擇該標題作為當前標題 (步驟S48)。如果當前PL重放還未完成,則模塊管理器33判斷是否已發(fā)生標題調用(步 驟S49),并且如果是這樣的話則移動到步驟S47。如果未發(fā)生標題調用,則模塊管理器33 判斷是否已發(fā)生標題跳轉(步驟S50),并且如果是這樣的話則移動到步驟S47。如果未發(fā) 生標題跳轉,則模塊管理器33判斷當前標題的主應用程序是否已結束(步驟S51)并且如 果是這樣的話則移動到步驟S47。如果主應用程序還未結束,則模塊管理器33返回到步驟 S46。圖28是由重放控制引擎32執(zhí)行的重放處理的流程圖。在將當前PL信息中的第一 條播放項目信息設置為播放項目i之后重放控制引擎32執(zhí)行步驟S62到S68的循環(huán)(步 驟S61)。該循環(huán)中的控制變量是變量i。在執(zhí)行步驟S62到S66之后在步驟S68重放控制 引擎32使控制變量i增加“ 1,,直到變量i超過播放項目的數(shù)量(步驟S67)。接著描述步驟S62到S66。重放控制引擎32將播放項目i中的Clipjnformatioru filename中所描述的AVClip設置為AVClip j (步驟S62),并且指示驅動設備和解碼器 播放從 Playltem. In_time 到 Playltem. 0ut_time 的 AVClip j (步驟 S63)。重放控制引擎 32判斷在Sync_PlayItem_Id中是否存在指定播放項目i的子播放項目k (步驟S64),并且 如果該子播放項目并不存在則直接移動到步驟S67。如果子播放項目k存在,則重放控制 引擎32將子播放項目k的Clip_information_file_name所描述的AVClip設置為AVClip h (步驟S65),指示驅動設備和解碼器重放從Sync_Start_PTS_of_PlayItem到0ut_time的 AVClip h (步驟S66),并且移動到步驟S67。由于對于構成PL信息的所有播放項目信息重復該處理,PL信息所定義的數(shù)據(jù)流 序列被播放。圖29顯示了在標題變化期間怎樣更新虛擬包信息。圖29中的第一層級顯示時間軸上的標題重放間隔,第二層級顯示其生命周期是 標題#1的Java應用程序,第三層級顯示數(shù)字流,第四層級顯示虛擬文件系統(tǒng)單元38的狀 態(tài)。一旦接受來自Java應用程序的更新請求,虛擬文件系統(tǒng)單元38被放置在“準備” 狀態(tài),并且執(zhí)行圖25中所示的處理。在執(zhí)行該處理之后,虛擬文件系統(tǒng)單元38在“準備好”狀態(tài)等待標題變化。當發(fā) 生標題變化時,虛擬文件系統(tǒng)單元38被放置在“更新”狀態(tài),并且在回復到“穩(wěn)定”狀態(tài)之 前執(zhí)行圖26中所示的處理以更新虛擬包。如果在虛擬文件系統(tǒng)單元38回復到“穩(wěn)定”狀 態(tài)之后,再次從TopjiienuTitle選擇標題#1,則使用更新的虛擬包播放標題#1。在這里,當模塊管理器33例如由于數(shù)據(jù)流序列的重放結束或由用戶調用菜單而 選擇不同標題作為當前標題時,發(fā)生標題變化。使用圖30到33示意性地描述以上處理。圖30顯示了將當前合并管理信息文件發(fā)送到服務器的Java應用程序。ROOT下所 示的文件位于本地存儲器中,而BDMV下的文件位于虛擬包中。圖31顯示了下載內容文件、新合并管理信息文件和新簽名信息文件的Java應用 程序。“00012. clpi”和“00012.!112^是下載的內容文件,而存儲在11冊1^目錄中的合并管 理和簽名信息文件已最新被下載。
圖32顯示了請求虛擬文件系統(tǒng)單元38將現(xiàn)有合并管理和簽名信息文件更新為最 新下載的文件的Java應用程序。通過使用文件路徑來指定新合并管理和簽名信息文件提 出該更新請求。圖33顯示了合并管理和簽名信息文件的替換以及內容文件的映射。在圖33的左 側顯示了更新期間舊合并管理和簽名信息文件的替換。在圖33的右側顯示了標題變化后 內容文件的映射。需要注意的是從舊合并管理信息而不是從新合并管理信息引用的文件的只讀屬 性被移除,從而使這些文件可由Java應用程序寫入。合并管理信息文件包括指示添加到本地存儲器的內容的位置的信息。指示附加內 容位置的信息包括內容ID,內容存儲于其中的目錄的目錄路徑,或單個內容文件的文件路 徑。當將這些文件映射到虛擬包時可以在合并管理信息文件中描述文件名映射信息,從而 允許在虛擬包中的不同文件名下訪問這些文件。在這里,文件名映射信息用本地存儲器中 的文件名(包括文件路徑)映射虛擬包中的文件名(包括文件路徑)。在該情況下,作為虛擬包介質由虛擬文件系統(tǒng)單元38產生虛擬包,所述虛擬包介 質由這樣的文件構成,文件名映射信息中所描述的虛擬包中的所述文件的文件名已被添加 到BD-ROM上的文件結構中。由Java應用程序訪問的虛擬包中的文件被指定為虛擬包中的 文件而不是BD-ROM上或本地存儲器中的文件。當Java應用程序請求訪問虛擬包中的文件 時,虛擬文件系統(tǒng)單元38基于文件名映射信息將訪問目的地切換到本地存儲器或BD-R0M。 如果在文件名映射信息中描述了所期望的文件,訪問目的地變?yōu)楸镜卮鎯ζ髦械南鄳?件。如果未在文件名映射信息中描述所期望的文件,訪問目的地變?yōu)锽D-ROM上的相應文 件。換句話說,Java應用程序的創(chuàng)作者不需要知道單個文件存儲于其上的介質 (BD-R0M或本地存儲器),因為虛擬文件系統(tǒng)單元38將虛擬包中由Java應用程序指定的文 件的訪問目的地切換到實際存儲所述文件的介質,由此減輕了程序創(chuàng)作的負擔。根據(jù)本實施例,虛擬包在標題變化期間被更新,這意味著重放對象的替換將不會 導致重放裝置的異常操作。實施例2本實施例涉及當執(zhí)行標題調用時的改進。標題調用導致在首先暫停當前標題之后 播放被調用標題,然后在被調用標題的重放結束之后繼續(xù)原始標題。由于標題調用以繼續(xù) 重放為前提,因此當調用標題時重放控制引擎32將存儲在PSR中的用于重放控制的系統(tǒng)參 數(shù)保存到備份PSR中,并且在被調用標題的重放結束之后將被保存參數(shù)恢復到PSR中。下面是存儲在PSR中的系統(tǒng)參數(shù)的列表。PSR 0到PSR 12存儲顯示重放狀態(tài)的系 統(tǒng)參數(shù),PSR 13到PSR 19存儲由播放器設置為優(yōu)選的系統(tǒng)參數(shù),PSR 20到PSR 32是備份 PSR。PSR 0:1圖形流編號PSR 1 音頻流編號PSR 2 =P 圖形流 /TextST 流編號PSR 3 角度編號PSR 4:當前標題編號
20
PSR 5當前章節(jié)編號
PSR 6當前播放列表工D
PSR 7當前播放項目工D
PSR 8重放時間信息
PSR 9導航定時器
PSR 10選擇鍵信息
PSR 11工圖形流中的當前頁工D
PSR 12P圖形流和/extS/流中的用戶樣式工D
PSR 13視聽年齡等級(parental level)
PSR 14字幕支持信息
PSR 15播放器設定值(音頻)
PSR 16音頻流的語言代碼
PSR 17P圖形流和/extS/流的語言代碼
PSR 18菜單的語言代碼
PSR 19播放器的版本信息
PSR 20PSRO的備份
PSR 2lPSRl的備份
PSR 22PSR2的備份
PSR 23PSR3的備份
PSR 24PSR4的備份
PSR 25PSR5的備份
PSR 26PSR6的備份
PSR 27PSR7的備份
PSR 28PSR8的備份
PSR 29PSR9的備份
PSR 30PSRIO的備份
PSR 3lPSRll的備份
PSR 32PSRl2的備份
在標題調用期間更新虛擬包信息導致調用前后虛擬包信息的差異。
由于當恢復原始標題時虛擬包信息將變化,因此如果重放控制引擎32試圖使用備份值播放原始標題則會出現(xiàn)錯誤。該問題通過當Java應用程序請求更新時清除備份PSR得以避免。然而,假定變化沒有影響取決于合并管理信息文件的內容,關于是否清除系統(tǒng)參數(shù)值的決定可以留待Java應用程序處理。
圖34A是當標題調用之后暫停當前標題的重放時由重放控制引擎32執(zhí)行的處理的流程圖。圖34B是當被調用標題的重放結束之后繼續(xù)重放原始標題時由重放控制引擎32執(zhí)行的處理的流程圖。
當暫停當前標題重放時,重放控制引擎32將PSR o一12保存到PSR 20—32(步驟S71)。
當被調用標題的重放結束之后繼續(xù)原始標題重放時,重放控制引擎32首先判斷虛擬包是否已被更新(步驟S81)。如果未更新則將PSR 20-32恢復到PSR0-12 (步驟S83), 如果虛擬包信息已被更新則在執(zhí)行步驟S83之前初始化PSR 20-32 (步驟S82)。根據(jù)本實施例,在標題調用期間當虛擬包信息已被更新時初始化備份PSR,由此消 除當繼續(xù)原始標題重放時發(fā)生重放錯誤的危險。因而使重放控制引擎32穩(wěn)定工作。需要注意的是當虛擬包信息被更新時,PSR中的系統(tǒng)參數(shù)值可以被強制清除,而不 是將該決定留待Java應用程序處理。實施例3本實施例涉及一種方法,該方法用于管理合并管理信息的版本和從重放裝置中的 常駐應用程序指定用于合并的附加內容。圖35顯示了關于本實施例的合并管理信息文件 的典型內容。在實施例1中,通過改寫舊合并管理信息更新合并管理信息文件(或更確切 地說存儲在其中的合并管理信息),從而導致舊信息被擦除。在本實施例中,新合并管理信 息不斷地被添加到文件中,而且即使對于相同的光盤ID也不改寫舊信息。因而,如果虛擬 文件系統(tǒng)單元38取消產生虛擬包并且回復到原始BD-R0M,則反映該狀態(tài)的信息被保留在 合并管理信息文件中。在該情況下,合并管理信息文件的合并目標目錄中的相應單元被留 下空白或者記下指示原始BD-ROM的字符串。通過執(zhí)行更新時不改寫舊合并管理信息使將先前的合并管理信息(的歷史)保留 在合并管理信息文件中,然后如果用戶想要虛擬包的舊版本,可以參考先前的合并管理信 息產生舊版本。而且,先前由用戶產生的虛擬包可以參考合并管理信息文件(或者更確切 地說存儲在其中的舊合并管理信息)不僅從Java應用程序而且從重放裝置中的常駐應用 程序產生。由常駐應用程序使用先前的合并管理信息的另一例子包括顯示附加內容列表,從 而用戶可以從常駐應用程序刪除不想要的附加內容。由于合并管理信息文件可以用于區(qū)分 存儲附加內容的目錄,因此也可以從除了存儲附加內容的Java應用程序之外的應用程序 (即常駐應用程序)檢索和刪除附加內容。圖36顯示了關于本實施例的請求虛擬包更新的Java應用程序。與實施例1的差 異在于這樣的事實,即在不改寫舊信息的情況下不斷地添加合并管理信息,即使用于目標 光盤ID的合并管理信息已經存在。當請求虛擬包更新時Java應用程序允許通過追加日期 信息標識合并管理信息文件中最新的一條合并管理信息。日期信息不限于日期,也可以簡 單地為連續(xù)編號。圖37顯示了由使用合并管理信息文件的常駐應用程序向用戶顯示的典型附加內 容列表。在這里,被顯示的附加內容列表基于圖35中所示的合并管理信息文件。理想的是 顯示使用戶掌握附加內容涉及的信息。圖37中的附加內容被顯示為內容名。盡管僅僅日 期信息被添加到圖36中的合并管理信息,但是也可以添加附加內容的提要,因為常駐應用 程序能夠執(zhí)行這樣的顯示。在該情況下,提供附加內容的提要用于當Java應用程序請求虛 擬包更新時與內容ID—起輸入。這些提要可以為包含各自提要的文件指定文件路徑,而不 是簡單地包括字符串的直接輸入。因而除了更新日期之外合并管理信息存儲內容提要,并 且常駐應用程序能夠連同日期信息一起在附加內容列表中顯示這些提要。勝于使Java應用程序指定內容提要,顯示特定內容關于什么的元信息可以被追 加到內容本身,常駐應用程序可以讀取該信息并且基于讀取的信息顯示提要。
圖37中的“添加”欄顯示各個附加內容首次與BD-ROM合并的日期。該信息也可
以從合并管理信息讀取。需要注意的是首次合并附加內容的日期可以與合并管理信息分開保存。這些日期 也可以從存儲附加內容的目錄被創(chuàng)建的日期確定。當顯示在附加內容列表中的選擇按鈕之 一被按壓時,常駐應用程序將所選內容的目錄路徑/光盤ID和選擇日期作為相應合并管理 信息寫入到合并管理信息文件中。換句話說,最近選擇的附加內容變?yōu)樽钚潞喜⒐芾硇畔ⅰ?如果選擇原始BD-R0M,指示原始BD-ROM的值或空白單元被插入到合并管理信息文件的合 并目標目錄中。當顯示在附加內容列表中的刪除按鈕之一被按壓時,常駐應用程序參考合 并管理信息文件讀取用于刪除的附加內容的目錄,并且刪除該目錄。對應于該內容的內容 ID的合并管理信息也從合并管理信息文件被刪除。圖38是關于本實施例的從BD-ROM的裝載直到重放的處理流程的流程圖。虛擬文 件系統(tǒng)單元38首先檢驗被裝載的BD-ROM的光盤ID (步驟S91),讀取合并管理信息文件(步 驟S92),并且判斷是否存在對應于被裝載的BD-ROM的光盤ID的合并管理信息(步驟S93)。 如果判斷是否定的(步驟S93 =否),則僅僅使用原始BD-ROM執(zhí)行重放(步驟S94)。如果 判斷是肯定的(步驟S93 =是),則使用最新合并管理信息產生虛擬包(步驟S95)。在產 生虛擬包期間,虛擬文件系統(tǒng)單元38判斷是否已檢測到錯誤(步驟S96)。如果判斷是肯 定的(步驟S96 =是),則虛擬文件系統(tǒng)單元38判斷是否存在對應于BD-ROM的光盤ID的 在先的合并管理信息(步驟S97)。如果判斷是肯定的(步驟S97 =是),則使用在最新合 并管理信息之前的合并管理信息的版本產生虛擬包(步驟S98)。如果判斷是否定的(步 驟S97 =否),則僅僅使用原始BD-ROM執(zhí)行重放(步驟S94)。如果在步驟S96未檢測到錯 誤,使用產生的虛擬包執(zhí)行重放(步驟S99)。典型錯誤包括最新合并管理信息中的錯誤和 不存在從播放列表引用的數(shù)據(jù)流等。根據(jù)本實施例,通過將先前的合并管理信息保存在合并管理信息文件中,可以參 考合并管理信息文件的內容歷史使用合并管理信息的舊版本從重放裝置中的常駐應用程 序產生虛擬包。如果在產生虛擬包期間出現(xiàn)錯誤,可以通過產生虛擬包的舊版本作為備選 的動作過程避免所述問題。實施例4本實施例涉及一種方法,該方法用于當Java應用程序請求虛擬包更新時指定虛 擬包的有效期限,和僅僅在有效期限內使用虛擬包執(zhí)行重放。圖39顯示了當請求虛擬包更新時被指定的有效期限。Java應用程序指定用于合 并的附加內容的內容ID和用于虛擬包的使用的有效期限。例如,如果用戶想要作為虛擬包 播放內容直到光盤被退出并且然后在重裝載光盤之后僅僅使用原始BD-ROM播放內容,則 到光盤被退出為止指示虛擬包是有效的值在從Java應用程序請求虛擬包更新時的自變量 中被指定。圖40是關于本實施例的從BD-ROM的裝載(或重放裝置的重啟)直到重放的處理 流程的流程圖。虛擬文件系統(tǒng)單元38首先檢驗被裝載的BD-ROM的光盤ID(步驟S101), 讀取合并管理信息文件(步驟S102),并且判斷是否存在對應于被裝載的BD-ROM的光盤 ID的合并管理信息(步驟S103)。如果判斷是否定的(步驟S103 =否),則僅僅使用原始 BD-ROM執(zhí)行重放(步驟S104)。如果判斷是肯定的(步驟S103 =是),則虛擬文件系統(tǒng)單元38判斷相應的合并管理信息是否在有效期限內(步驟S105)。如果不再有效,則刪除相 應的合并管理信息(步驟S106),并且僅僅使用原始BD-ROM執(zhí)行重放(步驟S104)。如果 仍然有效,則相應的合并管理信息用于產生虛擬包(步驟S107),并且使用虛擬包執(zhí)行重放 (步驟 S108)。需要注意的是作為本實施例的應用也可以想到其中僅Java模式虛擬包被產生的 方式。如果當從Java應用程序請求產生虛擬包時僅指定Java模式,當存在從DVD-Iike模 式到Java模式的過渡時,虛擬文件系統(tǒng)單元38產生虛擬包并且然后變換到Java模式。相 反地,當存在從Java模式到DVD-Iike模式的過渡時,在取消虛擬包并回復到原始BD-ROM 之后虛擬文件系統(tǒng)單元38變換到DVD-Iike模式。根據(jù)本實施例,有可能使用虛擬包指定重放的有效期限,由此允許使用僅一次虛 擬包(即一旦BD-ROM被退出就被禁止的虛擬包)進行重放,和產生帶有使用期限限制的虛 擬包。需要注意的是在本實施例中有效期限在請求虛擬包更新時被指定,有效期限也可 以在裝載BD-ROM之后請求產生虛擬包時被指定。實施例5下面是關于在實施例1的圖25中的步驟S23的調用應用程序的權限的具體描述。 具體而言,本實施例涉及拒絕來自未授權Java應用程序的虛擬包更新請求的方法。圖41顯示了用于篩選虛擬包更新請求的許可請求文件。如上所述,在來自Java應 用程序的更新請求的基礎上執(zhí)行虛擬包更新。然而,當在來自未授權Java應用程序的請求 的基礎上執(zhí)行更新時,由于查看限制被改變或者僅僅可以在某些條件下查看的視頻剪輯的 重放被允許,存在光盤內容被非法更新的危險。鑒于此,根據(jù)本實施例的虛擬包更新僅僅可 以由具有更新許可的Java應用程序請求,所述更新許可是顯示請求更新的許可已被準許 的信息。通過檢驗與發(fā)布請求的Java應用程序對應的許可請求文件的內容判斷是否具有 更新許可。具體而言,類裝載器根據(jù)各個許可請求文件的內容限制Java應用程序的功能。 例如,如果許可請求文件中的更新屬性值為“真”則處理更新請求,如果為“假”則拒絕。圖42顯示了強加在用于合并的本地存儲器中的目錄上的訪問限制。如果用于合 并的目錄的內容由未授權Java應用程序更改,即使更新請求被篩選也存在虛擬包的內容 被非法改變的危險。鑒于此,也在各個許可請求文件的內容的基礎上限制對本地存儲器訪 問的許可。例如,如果許可請求文件中的讀和寫屬性值都為“真”,下載的內容可以被寫入并 且存儲的文件可以被讀取和編輯。然而,將在帶有讀和寫屬性之一或兩者為“假”的許可請 求文件的Java應用程序,或不帶有許可請求文件的Java應用程序上強加文件訪問限制。根據(jù)本實施例,可以防止未授權Java應用程序更新虛擬包和改變本地存儲器中 的目錄的內容。下面是使用許可請求文件來限制虛擬包更新的具體例子??紤]一個例子,其中本 地存儲器中的目錄被分配給電影作品的特定供應商。具體而言,假設由A工作室、B工作室 和C公司提供的內容同時存儲在本地存儲器中和BD-ROM上。在這里,C公司是數(shù)字雜志的 供應商。當合并本地存儲器和BD-ROM中的內容時,例如如果B工作室所提供的內容與A工 作室所提供的內容合并將出現(xiàn)問題。鑒于此,僅僅準許C公司的更新許可(即許可請求文 件中的更新屬性值設置為“真”),由此允許使各種服務可用。A工作室和B工作室僅僅能夠
24合并它們自己的內容。實施例6本實施例涉及一種方法,該方法用于在Java應用程序在多個標題上操作的情況 下在標題變化期間更新虛擬包。圖43顯示了其生命周期被限制到單一標題的Java應用程序和其生命周期持續(xù)多 個標題的Java應用程序。Java應用程序的生命周期在應用程序管理信息中被顯示,并且模 塊管理器33根據(jù)該應用程序管理信息管理Java應用程序的開始和結束。Java應用程序 包括僅僅在它們開始的標題內存在的那些應用程序(在下文被稱為“標題綁定應用程序”) 和可以在多個標題上存在的那些應用程序(在下文被稱為“標題未綁定應用程序”)。應用 程序管理信息包含標題數(shù)目,應用程序ID和顯示特定Java應用程序是否被綁定的信息。在圖43所示的應用程序管理信息中,例如,在標題#1中Java應用程序#1被綁定 而Java應用程序#2未綁定。模塊管理器33連同標題#1的結束一起終止綁定Java應用 程序#1。在另一方面,在標題#1結束之后允許未綁定的Java應用程序#2存活,并且根據(jù) 下一個標題的應用程序管理信息作出是否終止該應用程序的決定。由于圖43中的應用程 序管理信息的例子表明Java應用程序#2可以同時在標題#1和標題#2中存在,因此允許 該應用程序在從標題#1到標題#2的過渡期間存活。然而,由于Java應用程序#2在標題 #2中是標題綁定的,因此模塊管理器33連同該標題的結束一起終止應用程序。圖44顯示了在標題變化期間當更新虛擬包時在未綁定標題的應用程序上執(zhí)行的 處理。如圖43中所示,可以在標題變化之前的標題和之后的標題中同時存在的標題未綁定 應用程序在標題變化期間繼續(xù)工作。然而,如果請求虛擬包更新,包括標題未綁定應用程序 的所有應用程序在標題變化期間被終止。在更新虛擬包之后,標題未綁定應用程序然后與 屬于下一個標題的標題綁定應用程序一起被重新啟動。圖45是考慮未綁定標題應用程序的標題變化處理的流程圖。當標題重放開始時 (步驟sill),虛擬文件系統(tǒng)單元38首先判斷在當前標題重放期間是否已從Java應用程序 請求虛擬包更新(步驟S112)。如果判斷是肯定的(步驟S112 =是),則虛擬文件系統(tǒng)單 元38執(zhí)行更新準備(步驟Sl 13)。當標題變化發(fā)生時(步驟Sl 14),虛擬文件系統(tǒng)單元38 判斷更新請求是否已被處理(步驟S115)。如果判斷是肯定的(步驟S115 =是),終止包 括標題未綁定應用程序的所有應用程序(步驟Sl 16),并且更新虛擬包(步驟Sl 17)。然后 在標題變化之后播放下一個標題(步驟S118)。如果在步驟S112虛擬包更新還未被請求或 者如果在Sl 15更新請求還未被處理,則當標題變化發(fā)生時模塊管理器33僅僅終止標題綁 定應用程序(步驟Sl 19)。由于本實施例保證所有應用程序在虛擬包的更新期間被終止,因此根據(jù)對舊的更 新前文件的參考仍然保留在高速緩存中或者新文件與舊文件一起存在于高速緩存中,有可 能在完成虛擬包更新之后防止任何連貫性損失。需要注意的是如果能夠在多個光盤上存在的Java應用程序(“光盤未綁定應用程 序”)在請求虛擬包更新之后發(fā)生標題變化時正在工作,通過以與光盤變化操作相同的方式 對待虛擬包更新,光盤未綁定應用程序可以繼續(xù)工作而不會被強制終止。還需要注意的是在發(fā)生標題變化之后模塊管理器33可以根據(jù)完成虛擬包更新之 后更新的應用程序管理信息,管理標題未綁定應用程序的開始和結束,而不會在更新期間
25終止標題未綁定應用程序。在該情況下,在更新完成之前,使標題未綁定應用程序參考更新 前的虛擬包。實施例7本實施例涉及在INDEX. BDMV文件變化之后的虛擬包更新。一旦接收來自Java應 用程序的虛擬包更新請求,虛擬文件系統(tǒng)單元38確認INDEX. BDMV文件存在于用于合并的 目錄中。如果INDEX. BDMV文件存在,虛擬文件系統(tǒng)單元38為準備更新讀取INDEX. BDMV文 件。然后現(xiàn)有的INDEX. BDMV文件被無效而新的INDEX. BDMV文件生效。如果例如BD播放 器的常駐應用程序執(zhí)行標題搜索或Java應用程序采集標題信息,在標題變化之前使用該 新INDEX. BDMV文件。換句話說,在更新標題結構之后事先通知Java應用程序和用戶使得 有可能防止標題變化為將在更新之后停止存在的標題或標題變化到未預期的標題。圖46是在INDEX. BDMV文件變化之后的虛擬包更新的流程圖。首先,當在Java模 式中播放標題時(步驟S121),虛擬文件系統(tǒng)單元38判斷Java應用程序是否已請求虛擬包 更新(步驟S122),并且如果已請求,則虛擬文件系統(tǒng)單元38接收請求并且執(zhí)行更新準備 (步驟S123)。在檢驗文件和目錄結構是否正確的同時,虛擬文件系統(tǒng)單元38判斷INDEX. BDMV文件是否存在(步驟S124)。如果INDEX. BDMV文件存在,則在判斷是否已發(fā)生標題 調用之前(步驟S126),虛擬文件系統(tǒng)單元38使現(xiàn)有的INDEX. BDMV文件無效并且使新的 INDEX. BDMV文件生效(步驟S 125)。參考在步驟S125中生效的INDEX. BDMV文件從BD播 放器中的常駐應用程序或從Java應用程序執(zhí)行標題變化。當標題變化發(fā)生時虛擬文件系 統(tǒng)單元38執(zhí)行更新(步驟S127)。因而,盡管在更新請求后發(fā)生標題變化之前不執(zhí)行虛擬包更新,在標題變化之前 可以使新INDEX. BDMV文件可用。這意味著在更新請求之后,在標題搜索期間顯示的標題列 表將在標題變化發(fā)生之前已變化。由于用戶然后基于改變的標題列表選擇標題,因此可以防止由選擇將在更新之后 停止存在的標題引起的錯誤。因而可以在標題變化期間更新虛擬包而不會出現(xiàn)問題,即使 由于更新而改變了標題結構。需要注意的是可以在重啟BD播放器之后執(zhí)行在INDEX. BDMV文件變化之后的虛擬 包更新。變型以上基于優(yōu)選實施例描述了關于本發(fā)明的重放裝置,盡管本發(fā)明當然不限于這些 實施例。 關于其僅有的功能是播放記錄介質的重放裝置描述了以上實施例,盡管本發(fā)明并 不限于此。例如,本發(fā)明可以是具有記錄和重放功能的記錄/重放裝置。文件可以放置在使用任何類型結構的本地存儲器中,只要與用于合并的BD-ROM 上的文件的對應關系被清楚地顯示。在以上實施例中,Java(注冊商標)用作虛擬機的編程語言,盡管也可以使用除 了 Java之外的編程語言,這樣的例子包括Perl Script, ECMA Script和B-Shell等,其與 UNIX (注冊商標)操作系統(tǒng)一起使用。關于播放BD-ROM的重放裝置描述了以上實施例,盡管當然可以在如以上實施例 中描述的BD-ROM上的必要數(shù)據(jù)被記錄在可寫光記錄介質上的情況下實現(xiàn)與以上相同的效
而且,當然可以在如以上實施例中描述的BD-ROM上的必要數(shù)據(jù)被記錄在除了光 記錄介質之外的便攜式記錄介質(例如SD卡,小型閃存等)上的情況下實現(xiàn)與以上相同的 效果。工業(yè)適用性構成本發(fā)明的重放裝置可以在制造業(yè)中經營地、持續(xù)地和重復地被制造。該重放 裝置特別應用于關于視頻內容產品的電影和消費用品產業(yè)。
權利要求
一種邊與執(zhí)行中的應用程序相聯(lián)動,邊播放數(shù)字流的重放裝置,其特征是,包括包管理單元,用于根據(jù)可重寫記錄介質中存儲的合并管理信息,來組合存儲在記錄介質中的文件和存儲在可重寫媒介上的文件,從而生成包信息,上述合并管理信息指示的是用于組合到上述記錄介質的文件;選擇單元,用于從上述包信息中檢測出多個可播放標題,并將其中一個選擇為當前標題;處理單元,用于執(zhí)行與上述當前標題相關的應用程序;播放控制引擎,用于根據(jù)包含于上述包信息中的,且在上述當前標題中指定的播放列表信息,控制數(shù)字流的播放;當通過被執(zhí)行的上述應用程序指定與上述包信息的生成所用的合并管理信息不同,且在上述可重寫記錄介質中記錄的新的合并管理信息,來請求上述包管理單元進行上述生成的包信息的更新時,上述包管理單元在更新上述包信息之前,在驗證上述應用程序指定的新的合并管理信息的正當性的同時,由于通過上述選擇單元對新的當前標題的選擇,使得播放控制引擎終止根據(jù)上述當前標題指示的播放列表信息進行的數(shù)字流播放的時刻,根據(jù)上述指定的新的合并管理信息,組合存儲于上述記錄介質中的文件和存儲于上述可重寫記錄介質的文件,生成新的包信息,上述指定的新的合并管理信息的正確性驗證包括上述指定的新的合并管理信息未被篡改的確認;上述指定的新的合并管理信息指示的文件存在于上述可重寫記錄介質的確認;將存儲上述指定的新的合并管理信息的文件和上述指定的新的合并管理信息所指示的存儲于上述可重寫記錄介質中的文件變更為只讀屬性,在上述指定的新的合并管理信息的正確性的驗證中,新的合并管理信息不正確的情況下,根據(jù)上述包信息的生成時使用的合并管理信息,組合存儲于上述記錄介質中的文件和存儲于上述可重寫記錄介質中的文件,生成包信息。
2. 一種邊與執(zhí)行中的應用程序相聯(lián)動,邊播放數(shù)字流的重放方法,其特征在于,包括 包信息生成步驟,用于根據(jù)可重寫記錄介質中存儲的合并管理信息,來組合存儲于記錄介質中的文件和存儲于可重寫媒介中的文件,從而生成包信息,上述合并管理信息表示 的是用于組合到上述記錄介質的文件;選擇步驟,用于從上述包信息中檢測出多個可播放標題,并將其中一個選擇為當前標題;處理步驟,用于執(zhí)行上述當前標題相關的應用程序;播放控制步驟,用于根據(jù)包含于上述包信息中的,且在上述當前標題中指定的播放列 表信息,來控制數(shù)字流的播放;當通過被執(zhí)行的上述應用程序指定與上述包信息的生成所用的合并管理信息不同,且 存儲于上述可重寫記錄介質中的新的合并管理信息,來請求更新上述生成的包信息時,包信息生成步驟在更新上述包信息之前,驗證上述應用程序指定的新的合并管理信息 的正確性,由于通過上述選擇步驟的當前標題的選擇,使得播放控制步驟停止根據(jù)上述當前標題 指示的播放列表信息進行的數(shù)字流播放的時刻,在上述包信息生成步驟中,根據(jù)上述指定 的新的合并管理信息,組合存儲于上述記錄介質中的文件和存儲于上述可重寫記錄介質中 的文件,生成新的包信息,上述指定的新的合并管理信息包的正確性驗證包括 上述指定的新的合并管理信息未被篡改的確認;上述指定的新的合并管理信息指示的文件存在于上述可重寫記錄介質的確認; 將存儲上述指定的新的合并管理信息的文件和上述指定的新的合并管理信息所指示 的上述可重寫記錄介質中存儲的文件變更為只讀屬性,在上述指定的新的合并管理信息的正確性的驗證中,新的合并管理信息不正確的情況 下,根據(jù)上述包信息的生成時使用的合并管理信息,組合存儲于上述記錄介質中的文件和 存儲于上述可重寫記錄介質中的文件,生成包信息。
全文摘要
一種結合應用程序用于播放數(shù)字流的重放裝置包括包管理單元,用于根據(jù)合并管理信息通過合并記錄在第一記錄介質和第二記錄介質上的文件來生成包信息,和選擇單元,用于檢測來自包信息的多個可播放標題,并且選擇所檢測到的標題中的一個作為當前標題。在應用程序通過指定新合并管理信息請求包管理單元更新合并管理信息之后,在更新包信息之前,包管理單元將從新指定合并管理信息引用的文件變?yōu)橹蛔x,并且在數(shù)字流重放由于選擇單元選擇的當前標題變化而停止時,包管理單元根據(jù)新指定的合并管理信息通過組合記錄在第一和第二記錄介質上的文件生成新包信息。
文檔編號G11B27/32GK101916578SQ20101027445
公開日2010年12月15日 申請日期2005年7月21日 優(yōu)先權日2004年7月22日
發(fā)明者大戶英隆, 大蘆雅弘, 田中敬一 申請人:松下電器產業(yè)株式會社