專利名稱:再現(xiàn)裝置、再現(xiàn)方法、再現(xiàn)程序、記錄介質以及數(shù)據(jù)結構的制作方法
技術領域:
本發(fā)明涉及一種允許對記錄在大容量記錄介質上的程序方便地執(zhí)行再現(xiàn)控制的再現(xiàn)裝置,以及其再現(xiàn)方法、再現(xiàn)程序、記錄介質以及數(shù)據(jù)結構。
背景技術:
截至目前,在供用戶數(shù)據(jù)輸入的菜單屏幕上顯示各種設置的菜單屏幕和子菜單屏幕和按鈕(按鈕圖像)并且執(zhí)行選定功能的交互式功能已經實現(xiàn),其用于售賣的程序包,該程序包為例如記錄在如DVD的記錄介質上的電影、戲劇、音樂會等等的視頻數(shù)據(jù)和音頻數(shù)據(jù)包。
例如,在DVD視頻中,通過與運動圖像專家組2(MPEG2)節(jié)目流的視頻流多路0復用的子圖像數(shù)據(jù)以及在與MPEG2節(jié)目流多路復用的導航包中的高亮顯示數(shù)據(jù),實現(xiàn)菜單屏幕、按鈕等等的功能。換句話說,按鈕的位映象圖像采用與子圖像數(shù)據(jù)的字幕相同的方式顯示。針對由用戶選定的按鈕(通過其執(zhí)行一命令),例如,位映象圖像的顏色改變?yōu)楦吡溜@示數(shù)據(jù)的另一個顏色,從而實現(xiàn)視覺效果。
高亮顯示數(shù)據(jù)中描述的是例如每一按鈕的上、下、左和右的位置關系,即表示當用戶用光標鍵等選擇按鈕時最新指定的按鈕是否處于選定狀態(tài)的信息,以及處于選定狀態(tài)和執(zhí)行狀態(tài)的按鈕的顏色信息。高亮顯示數(shù)據(jù)中描述的還有當按鈕處于執(zhí)行狀態(tài)時所執(zhí)行的導航命令(按鈕命令)。換句話說,在DVD視頻中,一旦對顯示在屏幕上的按鈕進行操作即可執(zhí)行的程序(導航命令)與MPEG2節(jié)目流分散地多路復用。
以這種方式,高亮顯示數(shù)據(jù)與MPEG2節(jié)目流分散地多路復用。當顯示菜單屏幕時,該高亮顯示數(shù)據(jù)與視頻流和音頻流一起被讀取。當顯示菜單屏幕時,已讀取的視頻流被用作菜單屏幕背景中的運動圖像。音頻流被用作背景音樂(BGM)。下述專利文件1描述了與流多路復用按鈕圖像等等的技術。
日本專利公開待審No.2004-304767根據(jù)該方法,無論何時再現(xiàn)菜單屏幕,用于再現(xiàn)菜單屏幕等等的如按鈕圖像數(shù)據(jù)、視頻流以及音頻流的部分數(shù)據(jù)就被再現(xiàn)并從盤中讀取。因此,比現(xiàn)有技術的優(yōu)勢在于,可以降低暫存部分數(shù)據(jù)的播放器的內部存儲器的存儲容量。
發(fā)明內容
然而,在將高亮顯示數(shù)據(jù)與MPEG2節(jié)目流分散地多路復用而實現(xiàn)交互式功能的方法中,存在如下各種限制。
第一,由于如按鈕圖像和菜單屏幕的交互式功能的形成(creation)不獨立于MPEG2基本流的形成(編碼)以及多路復用,因此難以獨立地形成菜單屏幕以及視頻數(shù)據(jù)。
第二,由于導航命令與MPEG2流分散地多路復用,因此當程序被形成時難以調試(debug)。
第三,由于導航命令與MPEG2流分散地多路復用,因此程序的執(zhí)行在播放器中受到限制。換句話說,現(xiàn)有技術的方法中,將在特定時間與視頻數(shù)據(jù)和音頻數(shù)據(jù)一起執(zhí)行的導航命令嵌入多路復用的視頻數(shù)據(jù)和音頻數(shù)據(jù)附近。因此,難以預先讀取及執(zhí)行導航命令來加速菜單屏幕的顯示以及對用戶操作的響應。
第四,現(xiàn)有技術中,當調用菜單屏幕時,中斷運動圖像的再現(xiàn)。這是因為,當調用菜單屏幕時,控制跳轉至構成菜單屏幕的子圖像數(shù)據(jù)被多路復用的位置。因此,正在再現(xiàn)的運動圖像的再現(xiàn)被中斷。當菜單屏幕被反復地再現(xiàn)時,在反復點處,發(fā)生上述跳轉。在這種情況中,運動圖像的再現(xiàn)被中斷。
第五,難以重復應用實現(xiàn)菜單屏幕等交互式功能的程序。包括子圖像流和高亮顯示數(shù)據(jù)的導航包與MPEG2流多路復用的位置受到視頻流的較大影響。因此,當程序用于另一視頻流時,該子圖像流和該導航包需要被重新多路復用。
為了解決這些問題,構成菜單屏幕和程序的數(shù)據(jù)可以不與視頻流和音頻流多路復用,而是存儲在另一數(shù)據(jù)文件中。當視頻數(shù)據(jù)被再現(xiàn)時,該數(shù)據(jù)文件可以與再現(xiàn)的視頻流和音頻流一起被讀取并執(zhí)行。
然而,該方法具有下述問題。從盤中讀取數(shù)據(jù)的數(shù)據(jù)率(讀取速度)受到限制。當再現(xiàn)視頻數(shù)據(jù)期間從盤中讀取多路復用流時,讀取速度達到上限。因此,實現(xiàn)交互式功能的數(shù)據(jù)文件需要在流被讀取之前預先讀取。換句話說,在視頻數(shù)據(jù)被再現(xiàn)之前,讀取實現(xiàn)交互式功能的數(shù)據(jù)文件,存儲于存儲器中,然后讀取多路復用流。
另一方面,播放器的內部存儲器的容量具有上限。該存儲器容量的局限性限制了數(shù)據(jù)文件的大小。結果,內容形成的自由度受到限制。例如,按鈕圖像的數(shù)目受到限制。因此,難以提供豐富的菜單屏幕。此外,多種顏色的按鈕圖像以及高分辨率的圖像數(shù)據(jù)受到存儲器容量的限制。
考慮到上述情況,希望提供一種允許比現(xiàn)有技術以更高自由度實現(xiàn)交互式功能的再現(xiàn)裝置、再現(xiàn)方法、再現(xiàn)程序、記錄介質以及數(shù)據(jù)結構。
根據(jù)本發(fā)明的實施例,提供了一種計算機裝置可讀的記錄介質,該記錄介質可由計算機裝置讀取,其上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)。資源文件的文件名包括表示當再現(xiàn)內容數(shù)據(jù)時正常使用的語言的信息,以及表示資源文件的語言屬性的信息。
根據(jù)本發(fā)明的實施例,提供了一種從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)裝置,該再現(xiàn)裝置包括讀取部件、存儲部件以及播放器部件。讀取部件從記錄介質中讀取數(shù)據(jù),該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)。存儲部件存儲由讀取部件讀取的資源文件。播放器部件,根據(jù)再現(xiàn)控制程序再現(xiàn)內容數(shù)據(jù)。當在記錄介質上記錄多個資源文件時,讀取部件選擇并讀取播放器部件根據(jù)資源文件的文件名從多個資源文件中首先使用的資源文件,從而從起點再現(xiàn)內容數(shù)據(jù)。
根據(jù)本發(fā)明的實施例,提供了一種從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)方法,該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括使播放器部件控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)。當在記錄介質上記錄多個資源文件時,選擇并讀取播放器部件根據(jù)資源文件的文件名從多個資源文件中首先使用的資源文件,從而從起點再現(xiàn)內容數(shù)據(jù)。
根據(jù)本發(fā)明的實施例,提供了一種使計算機裝置執(zhí)行從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)方法的再現(xiàn)程序,該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括使播放器部件控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)。當在記錄介質上記錄多個資源文件時,選擇并讀取播放器部件根據(jù)資源文件的文件名從多個資源文件中首先使用的資源文件,從而從起點再現(xiàn)內容數(shù)據(jù)。
根據(jù)本發(fā)明的實施例,提供了一種計算機裝置可讀并且其上記錄再現(xiàn)程序的記錄介質,該再現(xiàn)程序使計算機裝置執(zhí)行從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)方法,該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括使播放器部件控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)。當在記錄介質上記錄多個資源文件時,選擇并讀取播放器部件根據(jù)資源文件的文件名從多個資源文件中首先使用的資源文件,從而從起點再現(xiàn)內容數(shù)據(jù)。
根據(jù)本發(fā)明的實施例,提供了一種從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)裝置,該再現(xiàn)裝置包括讀取裝置、存儲裝置、播放器裝置以及資源文件轉換控制裝置。讀取裝置從記錄介質中讀取數(shù)據(jù),該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及多個資源文件,包括控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)。存儲裝置存儲由讀取裝置讀取的資源文件。播放器裝置根據(jù)再現(xiàn)控制程序再現(xiàn)內容數(shù)據(jù),并基于四種狀態(tài)控制內容數(shù)據(jù)的再現(xiàn),該四種狀態(tài)定義為依據(jù)內容數(shù)據(jù)是否正在被再現(xiàn)而分類的兩種狀態(tài)以及依據(jù)與用戶操作相應的控制命令是否被接受而分類的兩種狀態(tài)的組合。資源文件轉換控制裝置,當內容數(shù)據(jù)正在被再現(xiàn)時,根據(jù)再現(xiàn)控制程序的命令,控制多個資源文件中將一個資源文件轉換為另一個資源文件。在四種狀態(tài)中,在控制命令不被接受的狀態(tài)以及內容數(shù)據(jù)再現(xiàn)期間的暫停狀態(tài)或者在內容數(shù)據(jù)不是正在被再現(xiàn)的狀態(tài),資源文件轉換控制裝置將一個資源文件轉換為另一個資源文件。
根據(jù)本發(fā)明的實施例,提供了一種從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)方法。從記錄介質中讀取數(shù)據(jù),該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及多個資源文件,包括控制播放器裝置再現(xiàn)內容數(shù)據(jù)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)。控制播放器裝置根據(jù)再現(xiàn)控制程序基于四種狀態(tài)再現(xiàn)內容數(shù)據(jù),該四種狀態(tài)定義為依據(jù)內容數(shù)據(jù)是否正在被再現(xiàn)而分類的兩種狀態(tài)以及依據(jù)與用戶操作相應的控制命令是否被接受而分類的兩種狀態(tài)的組合。當內容數(shù)據(jù)正在被再現(xiàn)時,根據(jù)再現(xiàn)控制程序的命令,控制多個資源文件中將一個資源文件轉換為另一個資源文件。在四種狀態(tài)中,在控制命令不被接受的狀態(tài)以及內容數(shù)據(jù)再現(xiàn)期間的暫停狀態(tài)或者在內容數(shù)據(jù)不是正在被再現(xiàn)的狀態(tài),將一個資源文件轉換為另一個資源文件。
根據(jù)本發(fā)明的實施例,提供了一種使計算機裝置執(zhí)行從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)方法的再現(xiàn)程序。從記錄介質中讀取數(shù)據(jù),該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及多個資源文件,包括控制播放器裝置再現(xiàn)內容數(shù)據(jù)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)??刂撇シ牌餮b置根據(jù)再現(xiàn)控制程序基于四種狀態(tài)再現(xiàn)內容數(shù)據(jù),該四種狀態(tài)定義為依據(jù)內容數(shù)據(jù)是否正在被再現(xiàn)而分類的兩種狀態(tài)以及依據(jù)與用戶操作相應的控制命令是否被接受而分類的兩種狀態(tài)的組合。當內容數(shù)據(jù)正在被再現(xiàn)時,根據(jù)再現(xiàn)控制程序的命令,控制多個資源文件中將一個資源文件轉換為另一個資源文件。在四種狀態(tài)中,在控制命令不被接受的狀態(tài)以及內容數(shù)據(jù)再現(xiàn)期間的暫停狀態(tài)或者在內容數(shù)據(jù)不是正在被再現(xiàn)的狀態(tài),將一個資源文件轉換為另一個資源文件。
根據(jù)本發(fā)明的實施例,提供了一種計算機裝置可讀并且其上記錄再現(xiàn)程序的記錄介質,該再現(xiàn)程序使計算機裝置執(zhí)行從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)方法。從記錄介質中讀取數(shù)據(jù),該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及多個資源文件,包括控制播放器裝置再現(xiàn)內容數(shù)據(jù)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)??刂撇シ牌餮b置根據(jù)再現(xiàn)控制程序基于四種狀態(tài)再現(xiàn)內容數(shù)據(jù),該四種狀態(tài)定義為依據(jù)內容數(shù)據(jù)是否正在被再現(xiàn)而分類的兩種狀態(tài)以及依據(jù)與用戶操作相應的控制命令是否被接受而分類的兩種狀態(tài)的組合。當內容數(shù)據(jù)正在被再現(xiàn)時,根據(jù)再現(xiàn)控制程序的命令,控制多個資源文件中將一個資源文件轉換為另一個資源文件。在四種狀態(tài)中,在控制命令不被接受的狀態(tài)以及內容數(shù)據(jù)再現(xiàn)期間的暫停狀態(tài)或者在內容數(shù)據(jù)不是正在被再現(xiàn)的狀態(tài),將一個資源文件轉換為另一個資源文件。
根據(jù)本發(fā)明的實施例,提供了一種計算機裝置可讀的記錄介質,該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及多個資源文件,包括使播放器裝置控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)。播放器裝置通過再現(xiàn)控制命令基于四種狀態(tài)控制內容數(shù)據(jù)的再現(xiàn),該四種狀態(tài)定義為依據(jù)內容數(shù)據(jù)是否正在被再現(xiàn)而分類的兩種狀態(tài)以及依據(jù)與用戶操作相應的控制命令是否被接受而分類的兩種狀態(tài)的組合。播放器裝置,在四種狀態(tài)中,在控制命令不被接受的狀態(tài)以及內容數(shù)據(jù)再現(xiàn)期間的暫停狀態(tài)或者在內容數(shù)據(jù)不是正在被再現(xiàn)的狀態(tài),當內容數(shù)據(jù)正在被再現(xiàn)時,根據(jù)再現(xiàn)控制程序的命令,在多個資源文件中將一個資源文件轉換為另一個資源文件。
根據(jù)本發(fā)明的實施例,提供了一種具有數(shù)據(jù)結構的信號,該數(shù)據(jù)結構具有內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)。資源文件的文件名包括表示當再現(xiàn)內容數(shù)據(jù)時正常使用的語言的信息,以及表示資源文件的語言屬性的信息。
根據(jù)本發(fā)明的實施例,提供了一種計算機裝置可讀的記錄介質,該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)。資源文件的文件名包括表示當再現(xiàn)內容數(shù)據(jù)時正常使用的語言的信息,以及表示資源文件的語言屬性的信息。因此,可以根據(jù)文件名從多個資源文件中選擇一個允許內容數(shù)據(jù)以適當?shù)恼Z言顯示的資源文件。此外,內容數(shù)據(jù)以及資源文件可以獨立地記錄在記錄介質上。
根據(jù)本發(fā)明的實施例,內容數(shù)據(jù)可以從記錄介質中再現(xiàn),該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括使播放器裝置控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)。當在記錄介質上記錄多個資源文件時,選擇并讀取播放器裝置根據(jù)資源文件的文件名從多個資源文件中首先使用的資源文件,從而從起點再現(xiàn)內容數(shù)據(jù)。因此,即使記錄介質上記錄多個資源文件,也可以自動執(zhí)行資源文件的初始選擇。此外,內容數(shù)據(jù)和資源文件可以獨立地記錄在記錄介質上。
根據(jù)本發(fā)明的實施例,內容數(shù)據(jù)從記錄介質中再現(xiàn)。從記錄介質中讀取數(shù)據(jù),該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及多個資源文件,包括控制播放器裝置再現(xiàn)內容數(shù)據(jù)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)??刂撇シ牌餮b置根據(jù)再現(xiàn)控制程序基于四種狀態(tài)再現(xiàn)內容數(shù)據(jù),該四種狀態(tài)定義為依據(jù)內容數(shù)據(jù)是否正在被再現(xiàn)而分類的兩種狀態(tài)以及依據(jù)與用戶操作相應的控制命令是否被接受而分類的兩種狀態(tài)的組合。當內容數(shù)據(jù)正在被再現(xiàn)時,根據(jù)再現(xiàn)控制程序的命令,控制多個資源文件中將一個資源文件轉換為另一個資源文件。在四種狀態(tài)中,在控制命令不被接受的狀態(tài)以及內容數(shù)據(jù)再現(xiàn)期間的暫停狀態(tài)或者在內容數(shù)據(jù)不是正在被再現(xiàn)的狀態(tài),將一個資源文件轉換為另一個資源文件。因此,內容再現(xiàn)期間使用的現(xiàn)有資源文件可以安全地轉換為另一個資源文件。
根據(jù)本發(fā)明的實施例,提供了一種計算機裝置可讀的記錄介質,該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及多個資源文件,包括使播放器裝置控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)。播放器裝置通過再現(xiàn)控制命令基于四種狀態(tài)控制內容數(shù)據(jù)的再現(xiàn),該四種狀態(tài)定義為依據(jù)內容數(shù)據(jù)是否正在被再現(xiàn)而分類的兩種狀態(tài)以及依據(jù)與用戶操作相應的控制命令是否被接受而分類的兩種狀態(tài)的組合。播放器裝置,在四種狀態(tài)中,在控制命令不被接受的狀態(tài)以及內容數(shù)據(jù)再現(xiàn)期間的暫停狀態(tài)或者在內容數(shù)據(jù)不是正在被再現(xiàn)的狀態(tài),當內容數(shù)據(jù)正在被再現(xiàn)時,根據(jù)再現(xiàn)控制程序的命令,在多個資源文件中將一個資源文件轉換為另一個資源文件。因此,再現(xiàn)裝置可以將內容再現(xiàn)期間使用的資源文件安全地轉換為另一資源文件。
根據(jù)本發(fā)明的實施例,提供了一種數(shù)據(jù)結構,該數(shù)據(jù)結構具有內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)。資源文件的文件名包括表示當再現(xiàn)內容數(shù)據(jù)時正常使用的語言的信息,以及表示資源文件的語言屬性的信息。因此,可以根據(jù)文件名從多個資源文件中選擇一個允許內容數(shù)據(jù)以適當?shù)恼Z言顯示的資源文件。此外,可以獨立提供內容數(shù)據(jù)以及資源文件。
根據(jù)本發(fā)明的實施例,由于資源文件的文件名的命名規(guī)則根據(jù)語言代碼、缺省語言、期望的顯示裝置的縱橫長度比、標識序號等等指定,因此可以將多個資源文件置于同一目錄中。此外,當盤載入盤再現(xiàn)裝置中時,可以自動確定需要首先載入的資源文件。因此,作為本發(fā)明的實施例的效果,內容和資源文件可以獨立地記錄于記錄介質上。
根據(jù)本發(fā)明的實施例,獲取將內容再現(xiàn)期間使用的現(xiàn)有資源文件轉換為另一資源文件的播放器的狀態(tài)。當在內容再現(xiàn)期間將現(xiàn)有資源文件轉換為另一資源文件時,確定播放器的狀態(tài)是否為所獲取的狀態(tài)。因此,當內容正在被再現(xiàn)時,現(xiàn)有的資源文件可以轉換為另一資源文件。結果,由于可以減輕存儲播放器的資源文件的存儲器的存儲容量的限制,因此內容可以以高于現(xiàn)有技術的自由度形成。
此外,由于資源文件和流文件獨立地記錄于盤上,因此資源文件可以從被編碼及多路復用的基本流中獨立形成。因此,作為本發(fā)明的實施例的效果,視頻數(shù)據(jù)和菜單可以并行形成。
此外,使菜單等顯示的程序記錄為盤中的文件并且不和流分散地多路復用。因此,作為本發(fā)明的實施例的效果,程序可以容易地進行調試。
此外,使菜單等顯示的程序記錄為盤中的文件并且不和流分散地多路復用。因此,本發(fā)明的實施例的結果是,視頻數(shù)據(jù)的再現(xiàn)和程序的執(zhí)行可以獨立地執(zhí)行。因此,當背景視頻圖像正在被再現(xiàn)時,菜單屏幕可以疊加于背景視頻圖像上。
此外,由于使菜單等顯示的程序獨立于流,因此程序可以容易地重復使用。僅僅通過指定流序號以及重寫指定時間的鏈接信息,現(xiàn)有的程序就可以用于另一個流。
根據(jù)下面對如相關附圖中所示的本發(fā)明的最佳實施方式的詳細描述,本發(fā)明的這些以及其它目的、特征以及優(yōu)勢將會變得更為明顯。
從下面結合附圖的詳細描述中,本發(fā)明將會變得更為全面地被理解,其中相似的附圖標記表征相似的元件,附圖中圖1是顯示根據(jù)UMD視頻標準的層結構的示意圖;圖2是顯示根據(jù)本發(fā)明的實施例的播放器模型的示例的示意圖;圖3是顯示電影播放器的內部結構的示例的示意圖;圖4是描述電影播放器的播放狀態(tài)和停止狀態(tài)的示意圖;圖5是顯示根據(jù)本發(fā)明的實施例的電影播放器的事件模型的示意圖;圖6是顯示播放列表再現(xiàn)期間發(fā)生的事件的示例的示意圖;圖7A和圖7B是電影播放器對象所具有的屬性的示例的列表;圖8是電影播放器對象所具有的方法的示例的列表;圖9是用戶按鍵輸入的示例的列表;圖10是用戶按鍵輸入的示例的列表;圖11A-11C是根據(jù)按鍵輸入的控制命令的示例的列表;圖12是根據(jù)按鍵輸入的事件的示例的列表;圖13是事件處理程序的示例的列表;
圖14是事件處理程序的示例的列表;圖15是顯示當用戶輸入事件發(fā)生時提供的程序執(zhí)行的處理的示例的流程圖;圖16是描述腳本程序的示例的示意圖;圖17是顯示腳本程序的示例的示意圖;圖18是顯示根據(jù)UMD視頻標準的文件的管理結構的示例的示意圖;圖19是表示文件“PLAYLIST.DAT”的整體結構的語法的示例;圖20是塊PlayItem()的內部結構的示例;圖21是塊PlayListMark()的內部結構的示例;圖22是描述塊Mark()的字段mark_type的列表;圖23是描述剪輯(clip)AV流文件中標記時刻的指定的示意圖;圖24是表示剪輯AV流文件“XXXXX.CLP”的整體結構的語法的示例的列表;圖25是描述塊StreamInfo()的基本流的相關性的列表;圖26是塊StaticInfo()的內部結構的示例的列表;圖27是塊DynamicInfo()的內部結構的示例的列表;圖28是塊EP_map()的內部結構的示例的列表;圖29是顯示根據(jù)本發(fā)明的實施例的盤再現(xiàn)裝置的結構的示例的方框圖;圖30(30A和30B)是詳述盤再現(xiàn)裝置的操作的功能方框圖;圖31是顯示根據(jù)本發(fā)明的實施例的電影播放器的狀態(tài)的定義的示意圖;圖32是現(xiàn)有狀態(tài)和由用于電影播放器的四種狀態(tài)的每一個的方法轉換的狀態(tài)的結合的列表;圖33A至圖33E是描述當執(zhí)行方法play()時電影播放器的狀態(tài)轉換示例的示意圖;圖34是描述播放項的再現(xiàn)方法的示意圖;圖35是當電影播放器再現(xiàn)的播放列表到達起點或終點時電影播放器的操作示例的列表;圖36是描述播放列表之間的再現(xiàn)的示意圖;圖37是顯示播放列表的終點的腳本層中的處理以及電影播放器的操作的示例的流程圖;圖38是描述UMD視頻播放器所具有的三種存儲器區(qū)域的示意圖;
圖39是描述播放器狀態(tài)的備份的示意圖;圖40是播放器狀態(tài)的備份的列表;圖41是描述恢復信息的恢復和放棄的示意圖;圖42是描述恢復信息的恢復和放棄的列表;圖43是描述恢復信息的恢復和放棄的列表;圖44是描述恢復信息的恢復和放棄的列表;圖45是顯示應用方法stop()的變量resumeInfoClearFlag的UMD視頻播放器的操作示例的流程圖;圖46是播放器狀態(tài)的生存周期的示例的列表;圖47(47A和47B)是恢復信息的生存周期的示例的列表;圖48是用戶數(shù)據(jù)的生存周期的示例的列表;圖49是顯示盤中資源文件位置的示例的示意圖;圖50是描述資源文件的文件名的命名規(guī)則的示意圖;圖51是顯示初始選擇資源文件的處理的示例的流程圖;圖52是顯示資源文件中包括的腳本文件的內容的示例的示意圖;圖53是顯示在腳本的首次執(zhí)行之后選擇并執(zhí)行第一事件處理程序的處理示例的流程圖;以及圖54是顯示從現(xiàn)有資源文件轉換為另一資源文件的處理的示例的流程圖。
具體實施例方式
下面,將以下述次序描述本發(fā)明的實施例。
1.UMD視頻標準2.根據(jù)UMD視頻標準的播放器模式3.電影播放器的事件模型4.電影播放器對象5.腳本程序的示例6.文件管理結構7.顯示再現(xiàn)裝置8.電影播放器的狀態(tài)轉換模型8-1.電影播放器狀態(tài)的定義
8-2.使電影播放器轉換狀態(tài)的方法8-3.播放列表再現(xiàn)期間的電影播放器的操作8-4.電影播放器的再現(xiàn)恢復功能8-5.個別數(shù)據(jù)的生存周期9.資源文件的轉換(Changing)1.UMD視頻標準為了便于理解,將描述根據(jù)本發(fā)明的實施例的系統(tǒng)。根據(jù)本發(fā)明的該實施例,以稱為ECMA腳本的腳本語言描述播放器模型。ECMA腳本是基于由歐洲計算機制造商協(xié)會(ECMA)定義的JavaScript(Sun Microsystems,Inc.的注冊商標)的跨平臺腳本語言。ECMA腳本具有與HTML文件的高兼容性并且可以定義初始對象。因此,ECMA腳本適合于本發(fā)明的該實施例的播放器模型。
換句話說,現(xiàn)有技術的DVD視頻應用DVD視頻標準中定義的非通用命令描述實現(xiàn)交互式功能的控制程序。控制程序被分散地嵌入多個文件,一個數(shù)據(jù)文件的多個位置或一個AV文件中。執(zhí)行嵌入的控制程序的順序和條件在DVD標準中被定義。
DVD視頻系統(tǒng)中,難以構造通用的內容形成系統(tǒng)。因此,應用根據(jù)準備的情景形成記事的模板而形成內容。當形成復雜的內容時,需要應用定制的內容形成系統(tǒng)而代替模板。根據(jù)本發(fā)明的該實施例,為了解決這樣的問題,作為通用可擴展的腳本語言的ECMA腳本用于控制AV內容。
在下面的描述中,本發(fā)明的該實施例的標準稱為通用媒體盤視頻標準(UMD是Sony Computer Entertainment Inc.的注冊商標)。UMD視頻標準的腳本部分稱為UMD視頻腳本標準。
下面,將簡要描述UMD視頻標準。圖1顯示了UMD視頻標準的層結構。UMD視頻標準定義了三層—腳本層、播放列表層以及剪輯層。根據(jù)該結構,管理流。
該UMD視頻標準處理視頻數(shù)據(jù)、音頻數(shù)據(jù)以及字幕數(shù)據(jù)的MPEG2打包的基本流,其中視頻數(shù)據(jù)、音頻數(shù)據(jù)以及字幕數(shù)據(jù)已經數(shù)字編碼為多路復用的MPEG2流。多路復用視頻數(shù)據(jù)、音頻數(shù)據(jù)以及字幕數(shù)據(jù)的基本流的MPEG2流稱為剪輯AV流。剪輯AV流包括在剪輯AV流文件中。當記錄剪輯AV流時,剪輯信息文件以一對一的關系相應地形成。與剪輯信息文件相應的一組剪輯信息文件和剪輯AV文件稱為一個剪輯。
剪輯(clip)是盤上一次記錄的數(shù)據(jù)單元。在作為剪輯層的上層的播放列表層中管理剪輯的再現(xiàn)次序。播放列表層是指定剪輯的再現(xiàn)路徑的層。播放列表層包括至少一個播放列表(PlayList)。播放列表是一組播放項(PlayItems)。播放項包括一對表示剪輯的再現(xiàn)范圍的入點和出點。利用多個播放項,剪輯可以以任意次序再現(xiàn)。播放項可以指定同一剪輯。由時間標記(剪輯內部時間)指定剪輯AV流文件的入點和出點。時間標記(time stamp)利用剪輯信息文件的信息轉換為剪輯AV流的字節(jié)位置。
播放列表僅僅是以指定次序再現(xiàn)表示所有或部分剪輯的播放項的結構。僅僅通過播放列表,難以實現(xiàn)剪輯再現(xiàn)的分支以及與用戶的交互。根據(jù)本發(fā)明的該實施例,一個文件“PLAYLIST.DAT”中總共包括多個播放列表。
腳本層以作為擴展的語言規(guī)范ECMA腳本的UMD視頻腳本描述。UMD視頻腳本是ECMA腳本被擴展以實現(xiàn)UMD視頻的初始功能的腳本。
腳本層是播放列表層的上層。腳本層由使播放器再現(xiàn)播放列表并設置播放器的命令序列構成。由腳本層中的命令,播放列表再現(xiàn)可以以這樣的方式實現(xiàn),其中選定根據(jù)多種語言的一個流或者根據(jù)基于預定條件選定的播放列表再現(xiàn)播放項。應用具有這樣的條件分支的播放列表再現(xiàn)的應用的示例是多記事(story)。腳本層實現(xiàn)對用戶的交互式功能。
根據(jù)本發(fā)明的該實施例,腳本層由稱為資源文件的文件構成。資源文件包括根據(jù)實際的ECMA腳本描述的腳本數(shù)據(jù)(腳本程序)、用于按鈕操作的音效的聲音數(shù)據(jù)、由用于菜單屏幕的背景圖像的圖像數(shù)據(jù)構成的屏幕圖案以及用于顯示如按鈕圖像的GUI部分的圖像數(shù)據(jù)(位映象數(shù)據(jù))。
可能具有多個資源文件。根據(jù)本發(fā)明的該實施例,根據(jù)下面將要描述的預定的命名規(guī)則為資源文件指定文件名。例如,文件名的擴展名“RCO”表示文件是資源文件。
2.根據(jù)UMD視頻標準的播放器模型下面,將要描述根據(jù)UMD視頻標準再現(xiàn)數(shù)據(jù)的再現(xiàn)裝置(播放器)的模型(該模式稱為播放器模型)。播放器從盤中讀取資源文件、播放列表文件以及剪輯信息文件。此后,播放器按照資源文件、播放列表文件和剪輯信息文件中定義的再現(xiàn)次序從盤中讀取剪輯AV流文件,并且從剪輯AV流文件中再現(xiàn)視頻數(shù)據(jù)、音頻數(shù)據(jù)、字幕數(shù)據(jù)等等。
根據(jù)腳本程序的語言規(guī)范,再現(xiàn)播放列表的功能塊實施為腳本程序的對象。在UMD視頻標準中,再現(xiàn)播放列表的對象稱為電影播放器對象。使播放器再現(xiàn)播放列表并設置播放器的命令是電影播放器對象具有的方法。電影播放器對象由腳本層中的方法控制。在這一點上,需要允許電影播放器對象將狀態(tài)轉換和再現(xiàn)位置通知腳本層的功能。該功能與電影播放器對象將事件發(fā)出至腳本程序的操作相應。與事件相應的處理描述為事件處理程序(handler)。
當模型形成的時候,該腳本程序可以控制剪輯AV流的再現(xiàn),其中該模型的信息通過事件從電影播放器對象發(fā)送至腳本程序而腳本程序通過對象控制電影播放器對象。
圖2示意地顯示了本發(fā)明的該實施例的播放器模型的示例。電影播放器300是根據(jù)UMD視頻標準再現(xiàn)視頻數(shù)據(jù)、音頻數(shù)據(jù)和字幕數(shù)據(jù)的模塊。上述電影播放器對象是包括在操作電影對象的腳本程序中的對象。換句話說,電影播放器對象是實現(xiàn)電影播放器功能并且由腳本程序處理的抽象實現(xiàn)模塊。
此外,由于電影播放器300和電影播放器對象被認為基本上相同,因此將采用同一附圖標記描述它們。
圖2中,電影播放器300根據(jù)用戶輸入310采用從低層(圖2中所示的本地實現(xiàn)平臺301)接收的方法及根據(jù)剪輯信息和播放列表的數(shù)據(jù)庫采用從上層(腳本層)接收的方法讀取剪輯AV流文件,解碼并顯示該剪輯AV流。
電影播放器對象300的內部取決于再現(xiàn)UMD視頻的UMD視頻播放器的實現(xiàn)。腳本層302通過應用方法和屬性的應用程序接口(API)將電影播放器對象300提供為黑盒子對象。在該示例中,UMD視頻播放器表示實施電影播放器的實際裝置。全部UMD視頻播放器實施根據(jù)UMD視頻標準的電影播放器并且與其具有再現(xiàn)兼容性。
如圖2中所示,電影播放器對象300具有三條輸入/輸出路徑,一條是從本地實現(xiàn)平臺301中接受控制命令311的路徑,一條是將事件312通知腳本層302的路徑,以及一條是從腳本層302中接受方法313的路徑。
控制命令311是控制電影播放器300的操作的命令,從本地實現(xiàn)平臺301中接收該命令。本地實現(xiàn)平臺301是作為實際裝置的UMD視頻播放器的裝置唯一部分和電影播放器300之間的接口。事件312是從電影播放器300發(fā)送至腳本層302的腳本事件。方法313是腳本層302的腳本程序用來將命令發(fā)出至電影播放器300的方法。
電影播放器對象300包括根據(jù)UMD視頻標準的播放列表和剪輯信息的數(shù)據(jù)庫320。電影播放器300根據(jù)數(shù)據(jù)庫320無效(屏蔽)用戶輸入310并將由時間指定的再現(xiàn)位置轉換為剪輯AV流的字節(jié)位置。
電影播放器對象300中的重放模塊321解碼剪輯AV流,該剪輯AV流是視頻數(shù)據(jù)、音頻數(shù)據(jù)以及字幕數(shù)據(jù)被多路復用的MPEG2節(jié)目流(PS)。重放模塊321具有播放狀態(tài)和停止狀態(tài)兩種狀態(tài),并且用控制命令和方法從一種狀態(tài)轉換為另一狀態(tài)(參見圖3)。應該注意的是,剪輯AV流不限于MPEG2PS。例如,模型可以將MPEG2傳送流(TS)視為與MPEG2PS相同。
腳本層302是根據(jù)UMD視頻標準執(zhí)行腳本程序,控制電影播放器對象300并顯示屏幕的層。腳本層302實現(xiàn)內容形成器一側計劃形成的情景。腳本程序302將方法313發(fā)送至電影播放器對象300并且從其接收事件312。腳本層302通過本地實現(xiàn)平臺301將對應于與用戶輸入310的按鍵事件314和使本地實現(xiàn)平臺301顯示屏幕的方法315相交換。
本地實現(xiàn)平臺301還具有未在UMD視頻標準中定義的各種功能。根據(jù)本發(fā)明的該實施例,具有方法315,通過該方法315腳本層302將命令發(fā)出至本地實現(xiàn)平臺301,抽象功能的對象在本地實現(xiàn)平臺301中定義。該腳本程序認為方法315包括于對象中。這是因為方法包括于對象中。因此,在本地實現(xiàn)平臺301中定義控制器對象330。將方法315定義為控制器對象330的方法。
例如,采用從腳本層302的腳本程序提供至本地實現(xiàn)平臺301的方法315本地實現(xiàn)平臺301顯示菜單屏幕上的按鈕。當用戶選擇或確定按鈕之一時,本地實現(xiàn)平臺301將與用戶輸入310相應的按鍵事件314通知腳本層302。腳本層302中的腳本程序執(zhí)行用于與用戶輸入310相應的按鍵事件314的處理。
指定電影播放器300和腳本層302的作用,從而當電影播放器300解碼視頻數(shù)據(jù)、音頻數(shù)據(jù)及字幕數(shù)據(jù),并且控制對解碼數(shù)據(jù)的顯示時,腳本層302放置并顯示構成如按鈕的圖形用戶接口(GUI)的部分圖像(下文中稱為GUI部分),并且進行與GUI部分的選擇和確定相應的處理。
本地實現(xiàn)平臺301是電影播放器對象300和腳本程序操作的平臺。當實際UMD視頻播放器是硬件裝置時,UMD視頻播放器實現(xiàn)本地實現(xiàn)平臺301,以在硬件和電影播放器300之間傳遞處理。
例如,本地實現(xiàn)平臺301接受來自于用戶的用戶輸入310,并確定所接受的用戶輸入310是用于電影播放器對象300的命令還是用于腳本層302中所顯示的按鈕的命令。當確定的結果表示用戶輸入310是用于電影播放器300的命令時,本地實現(xiàn)平臺301將用戶輸入310轉換為作為用于電影播放器300的內部控制命令的控制命令311并且將該控制命令發(fā)出至電影播放器300。
另一方面,當確定結果表示用戶輸入310是用于腳本層302中所顯示的GUI部分的命令時,本地實現(xiàn)平臺301將與用戶輸入310相應的按鍵事件314通知腳本層302。本地實現(xiàn)平臺301可以根據(jù)用戶輸入310通過從腳本層302發(fā)出的方法315在屏幕上顯示按鈕圖像。換句話說,本地實現(xiàn)平臺301和腳本層302可以直接交換事件和方法,而非通過電影播放器300。
此外,本地實現(xiàn)平臺301可以存取電影播放器300的屬性并且檢查電影播放器300的狀態(tài)。
下面,將詳細描述電影播放器300。圖3顯示了電影播放器300的內部結構的示例。如上所述,電影播放器300由數(shù)據(jù)庫320和重放模塊321構成。數(shù)據(jù)庫320是存儲從盤中讀取的播放列表的信息和剪輯的信息、即剪輯信息的區(qū)域。
重放模塊321由解碼器引擎322和屬性323所構成。屬性323是表示重放模塊321的狀態(tài)的值。屬性323具有兩種類型,值取決于如語言代碼的電影播放器300的初始設置如語言代碼的屬性323A(只讀參數(shù))和值的變化取決于重放模塊321的狀態(tài)的屬性323B(播放器狀態(tài))。
值取決于初始設置的屬性323A的值由例如實際裝置的本地系統(tǒng)進行設置。因此,屬性323A的值不會由播放列表、剪輯信息和腳本程序改變。屬性323A的值可以僅僅從腳本程序中讀取。相反,表示重放模塊321的狀態(tài)的屬性323B的值可以從腳本程序中讀取。此外,屬性323B的值可以從特定的腳本程序中寫。
在該操作模型中,假定播放列表和剪輯信息在再現(xiàn)剪輯AV流之前從盤中預先載入。代替地,電影播放器模型的操作可以以另一種實現(xiàn)完成。
電影播放器對象300再現(xiàn)由腳本層302或本地實現(xiàn)平臺301指定的播放列表。例如,電影播放器300參照數(shù)據(jù)庫320,根據(jù)指定的播放列表獲取剪輯AV流的再現(xiàn)位置作為文件的字節(jié)位置。在重放模塊321中,解碼器引擎322根據(jù)再現(xiàn)位置的信息控制剪輯AV流的解碼。
如圖4中所示,電影播放器300取決于播放列表的再現(xiàn)狀態(tài)具有播放狀態(tài)和停止狀態(tài)兩種狀態(tài)。播放狀態(tài)表示播放列表被指定并且正在進行再現(xiàn)。播放狀態(tài)包括正常再現(xiàn)、如為雙倍速再現(xiàn)及1/2速再現(xiàn)的變速再現(xiàn)、快進、快退以及暫停。其中每一幀被向前再現(xiàn)及向后再現(xiàn)的所謂步進再現(xiàn)是反復暫停狀態(tài)和播放狀態(tài)的狀態(tài)。停止狀態(tài)表示播放列表不是正在被再現(xiàn)。在停止狀態(tài)中,播放列表不被選擇并且表示“當前再現(xiàn)的播放列表序號”的播放器狀態(tài)的值不確定。
電影播放器300的狀態(tài)取決于電影播放器300的解碼器引擎322的播放狀態(tài)和停止狀態(tài)之間的狀態(tài)轉換。屬性323B的值根據(jù)解碼器引擎322的狀態(tài)轉換進行更新。
恢復信息324存儲緊接在停止狀態(tài)出現(xiàn)之前存在的狀態(tài)。電影播放器300解碼播放列表之后,當電影播放器300處于播放狀態(tài)時,如果電影播放器300的狀態(tài)轉換為停止狀態(tài),則恢復信息324存儲緊接停止狀態(tài)出現(xiàn)之前存在的狀態(tài)。此外,對盤的每一標題,恢復信息324可以存儲于作為硬件的播放器的非易失性存儲器中。盤具有用于每一標題的唯一標識信息(稱為標題ID)?;謴托畔?24和標識信息相關地存儲。因此,當具有基于標識信息的標題的盤的狀態(tài)從停止狀態(tài)轉換為播放狀態(tài)時,數(shù)據(jù)可以根據(jù)恢復信息324從停止狀態(tài)出現(xiàn)的位置處再現(xiàn)。
3.電影播放器的事件模型下面,將要描述電影播放器300的事件模型。在電影播放器300再現(xiàn)播放列表的播放狀態(tài)中,電影播放器300生成各種事件。事件執(zhí)行描述為腳本并且稱為事件處理程序的處理程序。事件處理程序是事件出現(xiàn)時調用的方法。一旦事件出現(xiàn)就開始執(zhí)行處理程序的程序執(zhí)行模型稱為事件驅動模型。在事件驅動模型中,出現(xiàn)不規(guī)則事件。當該事件出現(xiàn)時,執(zhí)行預定程序。根據(jù)本發(fā)明的該實施例,腳本程序用事件處理程序組控制電影播放器對象300的操作。
圖5示意性地顯示了本發(fā)明的該實施例的電影播放器300的事件模型。圖5中,事件處理程序onEventA()、onEventB()和onEventC()是接口。事件處理程序的內容描述為腳本。由例如內容形成器一側形成并實現(xiàn)事件處理程序的內容。UMD視頻腳本標準中,為電影播放器300通知腳本程序的每一事件提供事件處理程序。圖5中所示的示例中,確定事件A出現(xiàn)時執(zhí)行的處理程序是事件處理程序onEventA()。這應用于事件B和事件C。因此,當事件B出現(xiàn)時,執(zhí)行與之相應的事件處理程序onEventB()。當事件C出現(xiàn)時,執(zhí)行與之相應的事件處理程序onEventC()。
系統(tǒng)一側選擇事件出現(xiàn)時調用的事件處理程序,因此內容形成器一側不需要描述確定腳本程序中出現(xiàn)什么事件的處理。
圖6顯示了當播放列表正在再現(xiàn)時出現(xiàn)的事件的示例。由于在播放列表PlayList的起點描述章節(jié)標記ChapterMark,因此當從起點再現(xiàn)播放列表時,出現(xiàn)與章節(jié)標記相應的事件Chapter。無論何時現(xiàn)有章節(jié)轉換為另一章節(jié),則向腳本層302通知事件Chapter并執(zhí)行相應的事件處理程序onChapter。當經過用于事件標記EventMark的再現(xiàn)時間時,出現(xiàn)相應的標記事件。在播放列表的終點,電影播放器300暫停對播放列表的再現(xiàn)并將事件PlayListEnd通知腳本層302。腳本層302一側使電影播放器300通過相應事件處理程序onPlayListEnd()開始再現(xiàn)另一播放列表。以這樣的方式,電影播放器300繼續(xù)按照內容形成器一側計劃的次序再現(xiàn)播放列表序列。
以這樣的方式,當操作播放器時,出現(xiàn)各種事件。當將事件的出現(xiàn)通知上級程序時,上級程序可以知道播放器的狀態(tài)。當上級程序提供與通知的事件相應的被執(zhí)行的程序(事件處理程序)時,其能夠處理各種事件。下面將描述事件和事件處理程序。
當內容形成器一側未描述事件處理程序時,上級程序執(zhí)行在播放器中構建及在標準中定義的操作(缺省事件處理程序)或者忽略該事件。當對特定事件不需要執(zhí)行任何處理時,如果未描述基于事件的事件處理程序,則事件可以被主動忽略。
作為事件模型,可能存在事件偵聽器模型、單一方法模型等等。在事件偵聽器模型中,對象基于播放器對象的預定事件登記偵聽器。當播放器對象中出現(xiàn)的事件是已經登記的事件時,播放器對象將事件傳送至已經登記該事件的對象。該對象執(zhí)行與該事件相應的方法。在單一方法模型中,一旦出現(xiàn)事件就調用一種方法。
本發(fā)明的該實施例的事件模型比需要例如事件登記處理和事件取消處理的處理的事件偵聽器模型更為簡單。單一方法模型需要知道出現(xiàn)何種事件并在方法中描述轉換為出現(xiàn)的每一事件準備的處理例程的預處理。由于該方法由內容形成器一側實現(xiàn),因此即使該模型簡單,內容形成器一側的載入也增多。此外,一旦事件出現(xiàn),由于調用一個大處理程序(方法),因此將會應用大存儲區(qū)域,并且執(zhí)行速度將會變慢。因此,由于本發(fā)明的該實施例的模型提供各個事件的處理程序(事件處理程序),所以可以說該模型在這些方面優(yōu)于其它模型。
4.電影播放器對象下面,將要描述電影播放器對象300的外部規(guī)范。一般地,根據(jù)ECMA腳本語言規(guī)范定義的對象具有屬性和方法。像該對象,如圖2和圖3中所示,本發(fā)明的該實施例的電影播放器對象300具有屬性和方法。當外部對象指定目標對象的對象名和屬性名時,外部對象可以直接讀取并寫入目標對象的指定屬性。代替地,當設置屬性值的方法setXXX()(其中“XXX”表示屬性名)和讀取屬性值的方法getXXX()被定義時,該方法可以讀取和寫入其它對象的該屬性。
圖7A和圖7B顯示電影播放器對象300具有的屬性示例的列表。這些屬性與圖3中所示的屬性323相應。圖7A顯示了屬于圖3中所示的只讀參數(shù)323A的屬性的示例。屬性scriptVersion表示UMD視頻腳本的版本。屬性audioChannelCapability表示UMD視頻播放器可以再現(xiàn)的音頻通道的數(shù)目。屬性languageCode表示對UMD視頻播放器設置的菜單顯示語言的語言代碼。屬性audioLanguageCode表示對UMD視頻播放器設置的音頻語言的語言代碼。屬性subtitleLanguageCode表示對UMD視頻播放器設置的字幕語言的語言代碼。
當盤載入電影播放器300時,從盤中讀取的腳本文件根據(jù)只讀參數(shù)323A中設置的屬性languageCode所表示的語言代碼確定。如果載入電影播放器300中的盤不具有基于語言的腳本文件,則從盤中讀取缺省的腳本文件。例如,在多個腳本文件起點的文件作為缺省的腳本文件從盤中讀取。
圖7B顯示了屬于圖3中所示的播放器狀態(tài)323B的屬性的示例。屬性playListNumber表示當前正在再現(xiàn)的播放列表的播放列表序號。屬性ChapterNumber表示當前正在再現(xiàn)的章節(jié)的章節(jié)序號。屬性videoNumber表示當前正在再現(xiàn)的視頻流的視頻流的序號。屬性audioNumber表示當前正在再現(xiàn)的音頻流的音頻流序號。屬性subtitleNumber表示當前正在再現(xiàn)的字幕流的字幕流序號。屬性playListTime表示當播放列表的起點是0時播放列表被再現(xiàn)之后經過的時間。屬性audioFlag表示音頻再現(xiàn)的開啟/關閉以及雙單聲道LR。屬性subtitleFlag表示字幕顯示的開啟/關閉。
雙單聲道是立體聲音頻的左和右(L,R)通道獨立地用作單聲道音頻通道的模式。
當電影播放器300處于播放狀態(tài)或暫停狀態(tài)時,屬于播放器狀態(tài)323B的每一屬性表示這些信息。當電影播放器300被轉換為停止狀態(tài)時,屬于播放器狀態(tài)323B的每一屬性被備份為恢復信息324。在這一點,可以清除播放器狀態(tài)323B的內容。
圖8顯示了電影播放器對象300所具有的方法的示例的列表。各方法與圖2中所示的方法313相應。方法play()再現(xiàn)視頻數(shù)據(jù)。方法playChapter()指定章節(jié)并再現(xiàn)指定章節(jié)的視頻數(shù)據(jù)。方法resume()用恢復信息324開始再現(xiàn)視頻數(shù)據(jù)。方法stop()停止再現(xiàn)視頻數(shù)據(jù)。方法pause()暫停再現(xiàn)視頻數(shù)據(jù)。方法playStep()逐幀地再現(xiàn)視頻數(shù)據(jù)。方法changeStream()將視頻流、音頻流和/或字幕流的現(xiàn)有流轉換為另一流。方法getPlayerStatus()獲取電影播放器300的播放狀態(tài)、停止狀態(tài)、暫停狀態(tài)等。方法changeResumeInfo()改變恢復信息324的內容。方法reset()停止再現(xiàn)視頻數(shù)據(jù)并清除恢復信息324的內容。
根據(jù)UMD視頻標準,視頻數(shù)據(jù)可以顯示于顯示屏幕的一部分。下述四種方法是在顯示屏幕的一部分顯示視頻數(shù)據(jù)的方法。方法setPos()設置視頻數(shù)據(jù)的顯示位置。方法getPos()獲取視頻數(shù)據(jù)的顯示位置。方法setSize()設置視頻數(shù)據(jù)的顯示尺寸。方法getSize()獲取視頻數(shù)據(jù)的顯示尺寸。
實際中,電影播放器300和本地實現(xiàn)平臺301集成。換句話說,電影播放器300UMD和本地實現(xiàn)平臺301與作為載入盤及從盤再現(xiàn)視頻數(shù)據(jù)的UMD播放器的硬件以及控制UMD播放器的軟件相應。哪一部分是硬件和軟件取決于所實現(xiàn)的結構。例如,當UMD播放器是個人計算機等等時,除盤驅動器以外的其它部分由軟件構成。當應用單一的UMD播放器時,除盤驅動器以外,例如視頻解碼器、音頻解碼器等等可以由硬件構成。因此,方法、命令和事件不總是在如圖2中所示的電影播放器300和本地實現(xiàn)平臺301之間明確地進行交換。
另一方面,關于用戶的按鍵輸入,如圖2中所示,本地實現(xiàn)平臺301首先接收用戶輸入310。換句話說,本地實現(xiàn)平臺301接收作為用戶輸入310的用戶按鍵輸入。本地實現(xiàn)平臺301確定用戶輸入310是對電影播放器300的命令還是對腳本層302中的腳本程序的事件。根據(jù)確定的結果,本地實現(xiàn)平臺301發(fā)出控制命令311或按鍵事件314,并將發(fā)出的控制命令311或按鍵事件314通知相應的上層(電影播放器300或腳本層302)。
圖9和圖10顯示了作為用戶輸入310的按鍵輸入的示例。圖9和圖10中,具有前綴“VM”的按鍵是虛擬按鍵。
圖9顯示了關于電影播放器300的操作的按鍵輸入的示例。按鍵VK_PLAY提供與開始再現(xiàn)的播放按鍵相應的功能。按鍵VK_STOP提供與停止再現(xiàn)的停止按鍵相應的功能。按鍵VK_PAUSE提供與暫停再現(xiàn)的暫停按鍵相應的功能。按鍵VK_FAST_FORWARD提供與執(zhí)行快進再現(xiàn)的快進按鍵相應的功能。按鍵VK_FAST_REVERSE提供與執(zhí)行快退再現(xiàn)的快退按鍵相應的功能。按鍵VK_SLOW_FORWARD提供與執(zhí)行慢進再現(xiàn)的慢(前進)按鍵相應的功能。按鍵VK_SLOW_REVERSE提供與執(zhí)行慢退再現(xiàn)的慢(后退)按鍵相應的功能。按鍵VK_STEP_FORWARD提供與執(zhí)行步進前進再現(xiàn)的步進(前進)按鍵相應的功能。按鍵VK_STEP_REVERSE提供與執(zhí)行步進后退再現(xiàn)的步進(后退)按鍵相應的功能。
按鍵VK_NEXT提供與輸入表示“下一章節(jié)”的值的下一章節(jié)指定按鍵相應的功能。按鍵VK_PREVIOUS提供與輸入表示“上一章節(jié)”的值的上一章節(jié)指定按鍵相應的功能。通過按鍵VK_NEXT和按鍵VK_PREVIOUS,用戶可以分別指定例如至下一章節(jié)和上一章節(jié)的跳轉。
按鍵VK_ANGLE提供與對多角度視頻數(shù)據(jù)指定角度改變的角度改變按鍵相應的功能。按鍵VK_SUBTITLE提供與指定英語字幕、日語字幕以及字幕開啟/關閉的字幕改變按鍵相應的功能。按鍵VK_AUDIO提供與指定如環(huán)繞模式或雙語模式的音頻模式的音頻改變按鍵相應的功能。按鍵VK_VIDEO_ASPECT提供與改變視頻數(shù)據(jù)的縱橫長度比的縱橫長度改變按鍵相應的功能。
圖10顯示關于菜單操作的按鍵輸入的示例。按鍵VK_UP提供與輸入表示“向上”的值的向上方向指定按鍵相應的功能。按鍵VK_DOWN提供與輸入表示“向下”的值的向下方向指定按鍵相應的功能。按鍵VK_RIGHT提供與輸入表示“向右”的值的向右方向指定按鍵相應的功能。按鍵VK_LEFT提供與輸入表示“向左”的值的向左方向指定按鍵相應的功能。按鍵VK_UP_RIGHT提供與輸入表示“上右”的值的上右方向指定按鍵相應的功能。按鍵VK_UP_LEFT提供與輸入表示“上左”的值的上左方向指定按鍵相應的功能。按鍵VK_DOWN_RIGHT提供與輸入表示“下右”的值的下右方向指定按鍵相應的功能。按鍵VK_DOWN_LEFT提供與輸入表示“下左”的值的下左方向指定按鍵相應的功能。通過這些方向按鍵,用戶可以使得例如光標在顯示屏上移動。
按鍵VK_MENU提供與顯示菜單的菜單按鍵相應的功能。按鍵VK_ENTER提供與完成命令輸入或數(shù)據(jù)輸入的輸入按鍵相應的功能。按鍵VK_RETURN提供通過一個步驟返回處理的功能。
按鍵VK_COLORED_KEY_1提供與色彩的功能按鍵1相應的功能。按鍵VK_COLORED_KEY_2提供與色彩的功能按鍵2相應的功能。按鍵VK_COLORED_KEY_3提供與色彩的功能按鍵3相應的功能。按鍵VK_COLORED_KEY_4提供與色彩的功能按鍵4相應的功能。按鍵VK_COLORED_KEY_5提供與色彩的功能按鍵5相應的功能。按鍵VK_COLORED_KEY_6提供與色彩的功能按鍵6相應的功能。
由于圖9中所示的按鍵輸入的功能與圖10中所示的按鍵輸入的功能在作用上不同,因此本地實現(xiàn)平臺301需要選擇被通知按鍵輸入的指定。如上所述,圖9中所示的按鍵輸入指定視頻數(shù)據(jù)、音頻數(shù)據(jù)和字幕數(shù)據(jù)的再現(xiàn)操作。當本地實現(xiàn)平臺301接收圖9中所示的按鍵輸入之一作為用戶輸入310時,本地實現(xiàn)平臺301將接收的按鍵輸入轉換為圖11中所示的命令并將轉換的命令通知電影播放器300。
另一方面,由于圖10中所示的按鍵輸入是至GUI的用戶輸入310,因此需要將這些輸入通知構成屏幕和放置按鈕的腳本層302。當本地實現(xiàn)平臺301接收作為用戶輸入310的圖10中所示的按鍵輸入時,本地實現(xiàn)平臺301將按鍵輸入轉換為圖2中所示的事件314,并將事件314通知腳本層302。圖12顯示了基于按鍵輸入的事件314的示例。
圖9和圖10也顯示了關于流改變的按鍵輸入,例如按鍵VK_ANGLE、按鍵VK_SUBTITLE和按鍵VK_AUDIO。首先,通過這些按鍵,將用戶輸入310通知用戶輸入310。電影播放器300將表示電影播放器300已經發(fā)出流轉換請求的事件通知腳本程序。腳本程序使電影播放器300通過流轉換方法將現(xiàn)有的流,例如音頻流或字幕流轉換為另一個流。因此,這些按鍵是本地實現(xiàn)平臺301需要通知電影播放器300的按鍵輸入。
下面,將詳細描述圖11(圖11A-11C)中所示的命令。命令uo_timeSearch(playListTime)從正在再現(xiàn)的播放列表的指定的時間開始再現(xiàn)。自變量playListTime表示當播放列表的起點為0時播放列表的時間。由于該命令未指定播放列表序號,因此由自變量playListTime表示的時間是在正在再現(xiàn)的播放列表的范圍內的指定時間。命令uo_play()以正常再現(xiàn)速度開始再現(xiàn)。開始位置根據(jù)恢復信息324確定。當不存在恢復信息324時,使該用戶操作無效。該命令與無播放列表序號的方法play()的執(zhí)行相應。通過該命令,用戶不能指定播放列表序號。
命令uo_playChapter(ChapterNumber)從正在再現(xiàn)的播放列表中的自變量ChapterNumber指定的章節(jié)開始再現(xiàn)。無章節(jié)序號,該命令從正在再現(xiàn)的章節(jié)的起點開始再現(xiàn)。該命令與無章節(jié)序號的方法playChapter()相應。命令uo_playPrevChapter()從緊鄰的前一章節(jié)開始再現(xiàn)。命令uo_playNextChapter()從緊鄰的下一章節(jié)開始再現(xiàn)。
命令uo_jumpToEnd()跳轉至播放列表的終點。該命令與停止再現(xiàn)并生成事件playListEnd的用戶操作相應。通過該命令,腳本層302執(zhí)行事件處理程序onPlayListEnd。命令uo_forwardScan(speed)以自變量speed指定的再現(xiàn)速度開始向前再現(xiàn)。命令uo_backwardScan(speed)以自變量speed指定的再現(xiàn)速度開始向后再現(xiàn)。這些命令uo_forwardScan(speed)和uo_backwardScan(speed)的自變量speed取決于UMD視頻播放器的實現(xiàn)。
命令uo_playSetp(向前)開始步進前進再現(xiàn)。命令uo_playSetp(向后)開始步進后退再現(xiàn)。命令uo_pauseOn()暫停再現(xiàn)。命令uo_pauseOff取消再現(xiàn)的暫停狀態(tài)。
命令uo_setAudioEnabled(布爾值)開啟/關閉音頻流。當執(zhí)行該命令時,標志audioFlag的值相應地被改變。命令uo_setSubtitleEnabled(布爾值)開啟/關閉字幕流。當執(zhí)行該命令時,標志subtitleFlag的值相應地被改變。命令uo_angleChange()改變顯示角度。當將與用戶操作相應的該命令通知電影播放器300時,電影播放器300將事件angleChange通知腳本層302。命令uo_audiochange(audioStreamNumber)改變要再現(xiàn)的音頻流。命令uo_changeAudioChannel(值)改變音頻通道的數(shù)目或者在雙單聲道再現(xiàn)中將一個通道改變?yōu)榱硪煌ǖ?。當?zhí)行該命令時,標志audioFlag的值相應地被改變。命令uo_subtitleChange(subtitleStreamNumber)將現(xiàn)有的字幕流轉換為另一字幕流。
下面,將詳細描述圖12中所示的事件與電影播放器300的方法之間的關系。事件menu跳轉至菜單。本地實現(xiàn)平臺301將該事件通知腳本層302而非電影播放器300。當腳本層302接收事件menu時,腳本層302執(zhí)行事件處理程序onMenu。事件exit是當完成UMD視頻應用時本地實現(xiàn)平臺301發(fā)出的事件。當腳本層302接收事件exit時,腳本層302執(zhí)行事件處理程序onExit。
事件resourceChanged是當現(xiàn)有資源文件轉換為另一資源文件時本地實現(xiàn)平臺301生成的事件。當腳本層302接收事件resourceChanged時,腳本層302執(zhí)行事件處理程序OnResourceChanged。
事件up、事件down、事件left、事件right、事件focusIn、事件focusOut、事件push以及事件cancel是當屏幕上作為GUI部分的按鈕圖像被聚焦(focus)時出現(xiàn)的事件。本地實現(xiàn)平臺301將這些事件通知腳本層302而非電影播放器300。當按鈕圖像被聚焦時,例如在屏幕上顯示的光標表示按鈕圖像的坐標,從而按鈕圖像可以被選定。當向上按鈕圖像、向下按鈕圖像、向左按鈕圖像和向右按鈕圖像分別被聚焦時,出現(xiàn)事件up、事件down、事件left、事件right。當任何按鈕圖像被聚焦時,出現(xiàn)事件focusIn。當任何聚焦的按鈕圖像解除聚焦時,出現(xiàn)事件focusOut。當對任何聚焦的按鈕圖像執(zhí)行按下操作時,出現(xiàn)事件push。當對任何按鈕圖像執(zhí)行與按下操作相對的取消操作時,出現(xiàn)事件cancel。
事件autoPlay和事件continuePlay是使腳本層302開始執(zhí)行腳本的事件。事件autoPlay是當載入盤時使腳本自動開始執(zhí)行的事件。當載入盤時,事件continuePlay根據(jù)例如恢復信息324使腳本在停止腳本執(zhí)行的位置恢復執(zhí)行。
存在如圖12中所示的事件出現(xiàn)時所執(zhí)行的程序。與事件相應的這些程序稱為事件處理程序。事件和事件處理程序可以應用例如名稱而相關。通過將前綴“on”加入相應的事件名而形成事件處理程序名。圖13和圖14顯示了事件處理程序的示例。當內容形成器描述事件處理程序的內容時,UMD視頻播放器可以執(zhí)行內容形成器計劃的各種操作。
圖13顯示了電影播放器300所具有的事件和與其相應的事件處理程序的示例。圖13中所示的事件與圖2中所示的事件312相應。電影播放器300將圖13中所示的事件通知腳本層302。事件處理程序是各種接口。由應用例如腳本語言的內容形成器實現(xiàn)事件處理程序的內容。由于事件處理程序具有這樣的結構,當事件出現(xiàn)時,可以完成內容形成器計劃的操作。
當檢測到事件mark時,執(zhí)行事件mark和事件處理程序onMark()。事件mark被嵌入例如播放列表中。當電影播放器300再現(xiàn)播放列表時,電影播放器300從播放列表中檢測事件mark。當電影播放器300檢測事件mark時,電影播放器300將事件mark通知腳本層302。腳本層302執(zhí)行與事件mark相應的事件處理程序onMark()。同樣,當完成對播放列表的再現(xiàn)時,執(zhí)行事件playListEnd和事件處理程序onPlayListEnd()。當檢測到chapter-mark時,執(zhí)行事件chapter和事件處理程序onChapter()。當正在再現(xiàn)播放列表時,章節(jié)標記(chapter mark)嵌入例如播放列表中,并由電影播放器300檢測。
當由用戶操作指定角度改變時,執(zhí)行事件angleChange和事件處理程序onAngleChange()。例如,當通過作為用戶輸入310的用戶操作將按鍵輸入VK_ANGLE輸入本地實現(xiàn)平臺301時,本地實現(xiàn)平臺301將用戶輸入310轉換為命令uo_angleChange(),并將其提供至電影播放器300。電影播放器300生成與命令uo_angleChange相應的事件angleChange,并且將事件angleChange提供至腳本層302。腳本層302執(zhí)行與事件angleChange相應的事件處理程序onAngleChange()。同樣,當通過用戶操作指定音頻改變時,執(zhí)行事件audioChange和事件處理程序onAudioChange()。當通過用戶操作指定字幕改變時,執(zhí)行事件subtitleChange和事件處理程序onSubtitleChange()。
圖14顯示了控制器對象330所具有的事件處理程序的示例。圖14中所示的事件處理程序是屬于本地實現(xiàn)平臺301的控制器對象330的事件處理程序。當本地實現(xiàn)平臺301將事件處理程序通知腳本層302時,腳本層302執(zhí)行它們。
事件menu和事件處理程序onMenu跳轉至菜單。事件menu是當菜單按鈕通過用戶操作被按下時本地實現(xiàn)平臺301通知腳本層302的事件。腳本層302接收該事件,執(zhí)行與其相應的事件處理程序onMenu(),用事件處理程序onMenu()安排并顯示構成菜單屏幕的GUI部分。事件exit和事件處理程序onExit()是事件以及相應的事件處理程序。當本地實現(xiàn)平臺301完成UMD視頻應用時,本地實現(xiàn)平臺301生成事件exit。
當通過例如用戶操作指定完成UMD視頻播放器的操作時,本地實現(xiàn)平臺301將事件exit通知腳本層302。當腳本層302接收事件exit時,腳本通過事件處理程序onExit()執(zhí)行退出處理。
事件resourceChanged和事件處理程序onResourceChanged()是事件和相應的事件處理程序。本地實現(xiàn)平臺301已經將現(xiàn)有資源文件改變?yōu)榱硪毁Y源文件之后,本地實現(xiàn)平臺301生成事件resourceChanged。
事件autoPlay、事件處理程序onAutoPlay()、事件continuePlay以及事件處理程序onContinuePlay()使腳本開始執(zhí)行。
除了用于控制器對象330的事件處理程序,還具有用于按鈕的事件處理程序。然而,用于按鈕的事件處理程序不是與本發(fā)明的該實施例密切相關,則省略對它們的描述。
下面,將參照圖15中所示的流程圖,簡要描述當用戶輸入的事件出現(xiàn)時執(zhí)行所提供程序的處理的示例。圖15顯示了在UMD視頻播放器正在從盤正常再現(xiàn)數(shù)據(jù)時,當用戶按下按鍵而使得UMD視頻播放器再現(xiàn)下一章節(jié)(例如,“下一章節(jié)”按鍵)時,UMD視頻播放器根據(jù)按鍵輸入跳轉至下一章節(jié)、從下一章節(jié)開始再現(xiàn)數(shù)據(jù)并在屏幕上顯示所提供的消息的示例。
在UMD視頻播放器正在從盤正常再現(xiàn)數(shù)據(jù)時,當用戶在UMD視頻播放器的遙控器上按下按鍵“下一章節(jié)”時(在步驟S10中),按鍵VK_NEXT作為用戶輸入310提供至本地實現(xiàn)平臺301。本地實現(xiàn)平臺301生成與用戶輸入310相應的用戶命令uo_playNextChapter()(在步驟S11中)。本地實現(xiàn)平臺301將用戶命令uo_playNextChapter()通知電影播放器300。
當電影播放器300接收命令uo_playNextChapter()時,電影播放器300根據(jù)播放列表信息基于當前再現(xiàn)位置在數(shù)據(jù)庫320搜索下一章節(jié)標記的位置(在步驟S12)。在步驟S13中,確定是否存在下一章節(jié)標記。當確定的結果表示不存在下一章節(jié)標記時,電影播放器300不跳轉至下一章節(jié),而是繼續(xù)當前的再現(xiàn)操作。
相反地,當在步驟S13中確定的結果表示存在下一章節(jié)標記時,流程前進至步驟S14。在步驟S14中,電影播放器300停止當前再現(xiàn),并從數(shù)據(jù)庫320的剪輯信息文件的特征點信息中獲取剪輯AV流文件中下一章節(jié)標記的字節(jié)位置。在步驟S15中,電影播放器300存取獲取的文件的字節(jié)位置并從該位置開始再現(xiàn)流。
步驟S16之后,執(zhí)行顯示消息的處理,其中該消息通知用戶在屏幕上將現(xiàn)有章節(jié)轉換為下一章節(jié)。當現(xiàn)有章節(jié)轉換為下一章節(jié)時,并從下一章節(jié)的起點開始再現(xiàn)時,出現(xiàn)事件chapter(在步驟S16中)。例如,電影播放器300在章節(jié)起點檢測章節(jié)標記并生成事件chapter。電影播放器300將事件chapter通知腳本層302。此外,電影播放器300將要跳轉的章節(jié)的章節(jié)序號通知腳本層302。腳本層302開始執(zhí)行與通知的事件相應的事件處理程序,例如事件處理程序onChapter()(在步驟S17中)。
在該示例中,假定在事件處理程序中描述將表示章節(jié)已經轉換的消息顯示在屏幕上的操作。當出現(xiàn)事件時,腳本層302中的腳本執(zhí)行事件處理程序,獲取電影播放器300通知腳本層302的章節(jié)序號(在步驟S18中),并使本地實現(xiàn)平臺301在屏幕上顯示表示例如獲取的章節(jié)序號的章節(jié)起點的預定消息。因此,本地實現(xiàn)平臺301在屏幕上顯示消息(在步驟S19中),并完成事件處理程序的處理(在步驟S20中)。
在前述處理中,當用戶操作使電影播放器300從下一章節(jié)開始再現(xiàn)數(shù)據(jù)的按鍵“下一章節(jié)”時,電影播放器300跳轉至下一章節(jié)。當電影播放器300開始再現(xiàn)下一章節(jié)時,電影播放器300在屏幕上顯示表示下一章節(jié)起點的消息。
因此,用戶輸入的事件使電影播放器300的狀態(tài)轉換并出現(xiàn)新事件。通過新事件,電影播放器300可以執(zhí)行各種處理。
播放器模型可以再現(xiàn)視頻數(shù)據(jù)、音頻數(shù)據(jù)以及字幕數(shù)據(jù)。通過內容形成器需要以使它們在再現(xiàn)期間多次出現(xiàn)的事件以及與事件相應執(zhí)行的相應事件處理程序,可以實現(xiàn)他或她需要的操作。此外,當播放器正在再現(xiàn)播放列表時執(zhí)行播放器的用戶操作時,本地實現(xiàn)平臺301向電影播放器300提供與作為用戶操作的用戶輸入310相應的控制命令,從而播放器的現(xiàn)有狀態(tài)轉換為用戶所需的另一狀態(tài)。此外,本地實現(xiàn)平臺301將與作為對播放器的用戶操作的用戶輸入310相應的事件通知腳本層302中的腳本。因此,與用戶操作相應可以實現(xiàn)內容形成器所提供的播放器的操作。
由于播放器模型具有這樣的結構,因此用戶可以再現(xiàn)視頻數(shù)據(jù)、音頻數(shù)據(jù)以及字幕數(shù)據(jù)并且交互地操作它們。
5.腳本程序的示例下面,將要描述腳本層302中的腳本程序的示例。假定內容形成器形成內容的再現(xiàn)流,如圖16中所示。圖16中所示的內容具有作為顯示部件的播放列表400和401、頂菜單402以及消息403。播放列表400用于顯示當盤載入時自動顯示的警告消息。播放列表401是作為內容示例的電影的主部分。頂菜單402具有如按鈕的GUI部分,通過例如該按鈕用戶使腳本再現(xiàn)播放列表401。在播放列表401再現(xiàn)期間的任何時間顯示消息403。
此外,在圖16中所示的結構中,提供幾個事件處理程序。當盤載入UMD視頻播放器時,事件處理程序onAutoPlay()自動從盤中再現(xiàn)播放列表400,并在屏幕上顯示警告消息。事件處理程序onPlayListEnd()是當完成對播放列表的再現(xiàn)時調用的事件處理程序。在圖16中所示的示例中,當完成對播放列表400或播放列表401的再現(xiàn)時,調用事件處理程序onPlayListEnd()。換句話說,事件處理程序onPlayListEnd()確定播放列表的再現(xiàn)是否完成。當完成播放列表400的再現(xiàn)時,事件處理程序onPlayListEnd()開始播放列表401的再現(xiàn)。當完成播放列表401的再現(xiàn)時,事件處理程序onPlayListEnd()調用頂菜單402。
當用戶操作菜單按鍵時調用事件處理程序onMenu()。事件處理程序onMenu()調用頂菜單402并將其顯示在屏幕上。當在播放列表的執(zhí)行期間經過由標記Mark指定的時間時,執(zhí)行事件處理程序onMark()。在圖16中所示的示例中,標記Mark在播放列表401中設置。在播放列表401的執(zhí)行期間,當經過由標記Mark指定的時間時,消息403顯示在屏幕上。
在圖16中所示的示例中,當盤載入UMD視頻播放器時,調用事件處理程序onAutoPlay。事件處理程序onAutoPlay再現(xiàn)播放列表400并且在屏幕上顯示警告消息。在已經經過播放列表400的再現(xiàn)時間之后,播放列表400到達終點,調用事件處理程序onPlayListEnd。事件處理程序onPlayListEnd確定播放列表400已經完全再現(xiàn),并再現(xiàn)下一播放列表401。當正在再現(xiàn)播放列表401時用戶操作菜單按鍵時,調用事件處理程序onMenu。事件處理程序onMenu將頂菜單402顯示在屏幕上。事件處理程序onMenu從與頂菜單402上的預定操作相應的起點開始再現(xiàn)播放列表401。當播放列表401的再現(xiàn)時間已經經過由標記Mark指定的時間時,調用事件處理程序onMark。事件處理程序onMark在屏幕上顯示消息403。當播放列表401已經完全再現(xiàn)時,調用事件處理程序onPlayListEnd。事件處理程序onPlayListEnd確定播放列表401完全再現(xiàn)并在屏幕上顯示頂菜單402。
圖17顯示了實現(xiàn)圖16中所示的操作的腳本程序的示例。如上所述,腳本程序具有事件處理程序并且一旦出現(xiàn)相應事件就執(zhí)行它們。腳本程序存儲于擴展名為“RCO”的資源文件“SCRIPT.DAT”中。
方法“movieplayer.play()”使電影播放器300再現(xiàn)播放列表。作為自變量在parentheses()中描述要再現(xiàn)的播放列表的播放列表序號。當播放列表已經完全再現(xiàn)時,出現(xiàn)事件playListEnd。當出現(xiàn)事件playListEnd時,腳本調用事件處理程序movieplayer.onPlayListEnd()。在這一點上,將事件playListEnd和對象event_info提供給腳本。在對象event_info中存儲已經完全再現(xiàn)的播放列表的播放列表序號等等。腳本可以改變與對象event_info的內容相應的下一操作。
6.文件管理結構下面,將參照圖18描述基于UMD視頻標準的文件管理結構。文件在目錄結構中分層次管理并且記錄于盤上。可以應用由國際標準化組織(ISO)9660、通用盤格式(UDF)等等標準化的盤文件系統(tǒng)。
將文件“TITLEID.DAT”和目錄“VIDEO”置于根(root)目錄下。目錄“RESOURCE”、目錄“CLIP”、目錄“STREAM”和文件“PLAYLIST.DAT”置于目錄“VIDEO”下。
文件“TITLEID.DAT”是存儲每一標題中(內容類型)不同的標題標識符的文件。一個盤具有一個文件“TITLEID.DAT”。
資源文件“JA000000.RCO”置于目錄“RESOURCE”下。如上所述,除構成腳本層302的腳本程序之外,構成菜單屏幕的數(shù)據(jù),例如部分數(shù)據(jù)如圖像數(shù)據(jù)和聲音數(shù)據(jù),包括于資源文件中。至少一個資源文件置于目錄“RESOURCE”下。代替地,可以將多個文件“SCRIPT.DAT”置于目錄“RESOURCE”下。形成用于不同語言的多個菜單的多個資源文件。然而,在這種情況中,一次可以應用一個資源文件。
至少一個剪輯信息文件置于目錄“CLIP”下。剪輯信息文件具有一文件名,其中該文件名包括具有五個到幾個字符,如“00001”(在該示例中,數(shù)字)的字符串部分、作為定界符的點號以及如“CLP”的擴展名部分。擴展名部分“CLP”表示文件是剪輯信息文件。
至少一個剪輯AV流文件置于目錄“STREAM”下。剪輯AV流文件具有一文件名,其中該文件名由具有五個到幾個字符,如“00001”(在該示例中,數(shù)字)的字符串部分、作為定界符的點號以及如“PS”的擴展名部分。擴展名部分“PS”表示文件是剪輯AV流文件。根據(jù)本發(fā)明的該實施例,剪輯AV流文件是運動圖象專家組2(MPEG2)節(jié)目流,其中視頻流、音頻流和字幕流被多路復用,并且包括于擴展名部分“PS”標識的文件中。
如上所述,剪輯AV流文件是其中視頻數(shù)據(jù)和音頻數(shù)據(jù)被壓縮編碼以及時分復用的文件。因此,當剪輯AV流文件被讀取并解碼時,獲取視頻數(shù)據(jù)和音頻數(shù)據(jù)。剪輯信息文件是描述剪輯AV流文件的特性的文件。因此,剪輯信息文件和剪輯AV流文件相關。根據(jù)本發(fā)明的該實施例,由于剪輯信息文件和剪輯AV流文件的文件名的具有幾個到五個字符的字符串部分相同,因此可以容易地獲取二者之間的關系。
如上所述,資源文件包括描述腳本程序的腳本文件。資源文件包括根據(jù)本發(fā)明的該實施例使盤的再現(xiàn)狀態(tài)被交互式改變的程序。在其它文件從盤讀取之前讀取資源文件。
文件“PLAYLIST.DAT”是描述指定剪輯AV流的再現(xiàn)次序的播放列表的播放列表文件。下面,將參照圖24到圖26描述文件“PLAYLIST.DAT”的內部結構。圖24顯示了表示文件“PLAYLIST.DAT”的整體結構的語法的示例。在該示例中,語法以C語言描述,其用作用于計算機裝置的程序的描述語言。這應用于表示其它語法的表。
字段name_length具有8比特的數(shù)據(jù)長度,表示分配給播放列表文件的名稱的長度。字段name_string具有255字節(jié)的數(shù)據(jù)長度,表示分配給播放列表文件的名稱。在字段name_string中,從用于由字段name_length表示的字節(jié)長度的起點開始的區(qū)域用作有效名稱。當字段“name_length”的值為“10”時,從字段name_string起點開始的10字節(jié)解譯為有效名稱。
字段number_of_PlayLists具有16比特的數(shù)據(jù)長度,表示后面的塊PlayList()的數(shù)目。字段number_of_PlayLists后接一個for循環(huán)。該for循環(huán)描述與字段number_of_PlayLists相應的塊PlayList()。塊PlayList()是播放列表本身。
下面,將要描述塊PlayList()的內部結構的示例。塊PlayList()以字段PlayList_data_length開始。字段PlayList_data_length具有32比特的數(shù)據(jù)長度,表示包括字段PlayList_data_length的塊PlayList()的數(shù)據(jù)長度。字段PlayList_data_length后接具有15比特的數(shù)據(jù)長度的字段reserved_for_word_alignment以及具有1比特的數(shù)據(jù)長度的標志capture_enable_flag_PlayList。字段reserved_for_word_alignment以及具有1比特的數(shù)據(jù)長度的標志capture_enable_flag_PlayList在塊PlayList()中以16比特對齊數(shù)據(jù)。
標志capture_enable_flag_PlayList是表示屬于塊PlayList()的運動圖像是否允許被輔助應用的標志,其中塊PlayList()包括標志capture_enable_flag_PlayList。當標志capture_enable_flag_PlayList的值為例如“1”時,它表示屬于PlayList()的運動圖像被允許在播放器中輔助應用。
在前述示例中,標志capture_enable_flag_PlayList具有1比特的數(shù)據(jù)長度。代替地,標志capture_enable_flag_layList可以具有描述多個輔助應用允許級的多個比特的數(shù)據(jù)長度。例如,標志capture_enable_flag_PlayList可以具有2比特的數(shù)據(jù)長度。在這種情況中,當標志的值為“0”時,運動圖像可能不被完全禁止輔助應用。當標志的值為“1”時,在運動圖像以如64像素×64行的預定分辨率或更低壓縮編碼的情況下,運動圖像可以允許被輔助應用。當標志的值為“2”時,運動圖像可以完全被允許輔助應用,而無任何限制。代替地,當標志的比特0的值為“0”時,運動圖像可以在內容再現(xiàn)應用中被允許輔助應用。當標志的比特1的值為“1”時,運動圖像可以在電影播放器中的另一應用(例如,墻紙圖像或屏幕保護程序)中被允許輔助應用。在這種情況中,標志的比特0和1的值可以組合應用。
字段PlayList_name_length具有8比特的數(shù)據(jù)長度,表示分配給塊PlayList()的名稱的長度。字段PlayList_name_string具有255比特的數(shù)據(jù)長度,表示分配給塊PlayList()的名稱。在字段PlayList_name_string中,從由字段PlayList_name_string表示的字節(jié)長度的起點開始的區(qū)域用作為有效名稱。
字段number_of_PlayItems具有16比特的數(shù)據(jù)長度,表示后面的塊PlayItem()的數(shù)目。字段number_of_PlayItems后接一個for循環(huán)。該for循環(huán)描述與字段number_of_PlayItems相應的塊PlayItem()。塊PlayItem()是播放項自身。
向塊PlayList的塊PlayItem()分配標識信息(ID)。例如,向在塊PlayList()起點所描述的塊PlayItem()分配例如0。以例如1、2等等出現(xiàn)的次序向塊PlayItem()分配序列號。序列號用作為塊PlayItem()的標識信息。對塊PlayItem()所重復的for循環(huán)的自變量i可以被用作塊PlayItem()的標識信息。塊PlayItem()后接塊PlayListMark()。
下面,將參照圖20描述塊PlayItem()的內部結構的示例。塊PlayItem()以字段length開始。字段length具有16比特的數(shù)據(jù)長度,表示塊PlayItem()的長度。字段length后接字段Clip_Information_file_name_length。字段Clip_Information_file_name_length具有16比特的數(shù)據(jù)長度,表示與塊PlayItem()相應的剪輯信息文件名稱的長度。字段Clip_Information_file_name具有字節(jié)上可變的數(shù)據(jù)長度,表示與塊PlayItem()相應的剪輯信息文件的名稱。在字段Clip_Information_file_name中,從由字段Clip_Information_file_name所表示的字節(jié)長度起點開始的區(qū)域用作為有效名稱。當字段Clip_Information_file_name指定剪輯信息文件時,與剪輯信息文件相應的剪輯AV流文件可以根據(jù)文件名稱的上述關系進行標識。
字段IN_time和字段OUT_time每個具有33比特的數(shù)據(jù)長度。字段IN_time和字段OUT_time是指定剪輯AV流文件的再現(xiàn)起點位置和再現(xiàn)終點位置的時間信息,其中剪輯AV流文件與塊PlayItem()中字段Clip_Information_file_name指定的剪輯信息文件相應。通過字段IN_time和字段OUT_time的信息,可以指定再現(xiàn)起點位置而非剪輯AV流文件的起點。同樣地,通過字段IN_time和字段OUT_time的信息,可以指定再現(xiàn)終點位置而非剪輯AV流文件的終點。字段reserved_for_word_alignment是使數(shù)據(jù)結構的數(shù)據(jù)長度變?yōu)?6比特的整數(shù)倍的調整字段。字段reserved_for_word_alignment具有15比特的數(shù)據(jù)長度。
下面,將參照圖21描述塊PlayListMark()的內部結構的示例。塊PlayListMark()以字段length開始。字段length具有32比特的數(shù)據(jù)長度,表示塊PlayListMark()的長度。字段length后接字段number_of_PlayList_marks。字段number_of_PlayList_marks具有16比特的數(shù)據(jù)長度,表示塊Mark()的數(shù)目。字段number_of_PlayList_marks后接一個for循環(huán)。for循環(huán)描述與字段number_of_PlayList_marks相應的塊Mark()。
下面,將要描述塊Mark()的內部結構的示例。塊Mark()以字段mark_type開始。字段mark_type具有8比特的數(shù)據(jù)長度,表示包括字段mark_type的塊Mark()的類型。根據(jù)本發(fā)明的該實施例,如圖22中所示,定義了兩種類型的標記、章節(jié)標記以及事件標記。章節(jié)是分割播放列表(塊PlayList())的搜索單位。章節(jié)標記表示具有時間信息的章節(jié)位置。事件標記是使事件出現(xiàn)的標記。
字段mark_name_length具有8比特的數(shù)據(jù)長度,表示分配給塊Mark()的名稱的長度。塊Mark()最后一行的字段mark_name_string表示分配給塊Mark()的名稱。在字段mark_name_string中,從由字段mark_name_length表示的字節(jié)長度的起點開始的區(qū)域用作為有效名稱。
字段ref_to_PlayItem_id、字段mark_time_stamp、字段entry_ES_stream_id以及字段entry_ES_private_stream_id的四個元素通過剪輯AV流文件與塊PlayList()中定義的塊Mark()相關。換句話說,字段ref_to_PlayItem_id具有16比特的數(shù)據(jù)長度,表示塊PlayItem()的標識信息。因此,字段ref_to_PlayItem_id標識剪輯信息文件和剪輯AV流文件。
字段mark_time_stamp具有33比特的數(shù)據(jù)長度,指定在剪輯AV流文件中的標記的時間。下面,將參照圖23簡要描述字段mark_time_stamp。在圖23中,播放列表由分配為序號0、1和2的三個播放項(播放項(#0))、(播放項(#1))以及(播放項(#2))構成。假定播放列表的時間t0包括于播放項1(播放項(#1))中。此外,假定播放項0、1和2分別通過剪輯信息文件對應于剪輯AV流文件的節(jié)目流A、B和C。
在這種情況中,當標記指定于播放列表的時間t0時,字段ref_to_PlayItem_id的值為“1”,其表示包括時間t0的播放項。此外,在相應的剪輯AV流文件中與時間t0相應的時間在字段mark_time_stamp中描述。
返回至圖21的描述,字段mark_time_stamp后接字段entry_ES_stream_id和字段entry_ES_private_stream_id。字段entry_ES_stream_id和字段entry_ES_private_stream_id每個具有8比特的數(shù)據(jù)長度。當塊Mark()與預定基本流相關時,字段entry_ES_stream_id和字段entry_ES_private_stream_id標識基本流。字段entry_ES_stream_id和字段entry_ES_private_stream_id分別表示多路復用基本流的包(packet())的流ID(stream_id)以及專用包頭(private_packet_header())的專用流ID(private_stream_id)。
包(packet())的流ID(stream_id)和專用包頭(private_packet_header())的專用流ID(private_stream_id)基于例如MPEG2系統(tǒng)的節(jié)目流的規(guī)定。
當剪輯AV流#0的章節(jié)結構不同于剪輯AV流#1時,應用字段entry_ES_stream_id和字段entry_ES_private_stream_id。當塊Mark()與預定基本流不相關時,這兩個字段的值為“0”。
下面,將參照圖24到圖28描述剪輯信息文件的內部結構。如上所述,剪輯信息文件“XXXXX.CLP”描述置于目錄“STREAM”下的相應剪輯AV流文件“XXXXX.PS”的特性等等。
圖24顯示了表示剪輯AV流文件“XXXXX.CLP”的整體結構的語法的示例。剪輯AV流文件“XXXXX.CLP”以字段presentation_start_time和字段presentation_end_time開始。字段presentation_start_time和字段presentation_end_time每個具有33比特的數(shù)據(jù)長度,表示相應的剪輯AV流文件的起點和終點的時間。作為時間信息,可以應用MPEG2系統(tǒng)的呈現(xiàn)時間標記(PTS)。PTS具有90kHz的精確度。
字段presentation_start_time和字段presentation_end_time后接具有7比特的數(shù)據(jù)長度的字段reserved_for_word_alignment和具有1比特的數(shù)據(jù)長度的標志capture_enable_flag_Clip。字段reserve_for_word_alignment和具有1比特的數(shù)據(jù)長度的標志capture_enable_flag_Clip在文件“XXXXX.CLP”中以16比特對齊數(shù)據(jù)。標志capture_enable_flag_Clip是表示與文件“XXXXX.CLP”相應的剪輯AV流文件中包括的運動圖像是否允許被輔助應用的標志。例如,當標志capture_enable_flag_Clip的值為例如“1”時,它表示與文件“XXXXX.CLP”相應的剪輯AV流文件的運動圖像允許在視頻播放器中被輔助應用。
字段number_of_stream具有8比特的數(shù)據(jù)長度,表示之后的塊StreamInfo()的數(shù)目。字段number_of_streams后接一個for循環(huán)。for循環(huán)描述與字段number_of_streams相應的塊StreamInfo()。for循環(huán)后接塊EP_map()。
下面,將描述塊StreamInfo()的內部結構的示例。塊StreamInfo()以字段length開始。字段length具有16比特的數(shù)據(jù)長度,表示塊StreamInfo()的長度。字段length后接每個具有8比特的數(shù)據(jù)長度的字段stream_id和字段private_stream。如圖25中所示,塊StreamInfo()與基本流相關。在圖25中所示的示例中,當塊StreamInfo()的字段stream_id的值處于從“0×E0”到“0×EF”的范圍之中時,塊StreamInfo()與視頻流相關。當塊StreamInfo()的字段stream id的值為“0×BD”時,塊StreamInfo()與自適應變換聲編碼(ATRAC)音頻流、線性脈沖編碼調制(LPCM)音頻流或字幕流相關。當塊StreamInfo()的字段private_stream_id的值處于從“0×00”到“0×0F”、從“0×10”到“0×1F”、和從“0×80”到“0×9F”的范圍之中時,塊StreamInfo()分別與ATRAC音頻流、LPCM音頻流以及字幕流相關。
圖25中,“0×”表示十六進制符號。該符號應用于下述描述。
塊StreamInfo()主要描述兩種類型的信息,第一種類型在流中不變化,第二種類型在流中變化。不在流中變化的信息在塊StaticInfo()中描述,而在流中變化的信息在塊DynamicInfo()中由時間信息指定的改變點描述。
塊StaticInfo()以具有8比特的數(shù)據(jù)長度的字段reserved_for_word_alignment開始。字段reserved_for_word_alignment在塊StreamInfo()中以字節(jié)對齊數(shù)據(jù)。字段reserved_for_word_alignment后接字段number_of_DynamicInfo。字段number_of_DynamicInfo具有8比特的數(shù)據(jù)長度,表示之后的塊DynamicInfo()的數(shù)目。字段number_of_DynamicInfo后接一個for循環(huán)。for循環(huán)描述對應于字段number_of_DynamicInfo重復的字段pts_change_point和塊DynamicInfo()。
字段pts_change_point具有33比特的數(shù)據(jù)長度,表示塊DynamicInfo()的信息變?yōu)镻TS有效的時間。每一流開始的時間由字段pts_change_point表示,并且與文件“XXXXX.CLP”中定義的字段presentation_start_time相同。
下面,將參照圖26描述塊StaticInfo()的內部結構的示例。塊StaticInfo()的內容取決于相應的基本流的類型。相應的基本流的類型可以由圖25中所示的字段stream_id和字段private_stream_id的值標識。圖26顯示塊StaticInfo(),其內容應用if語句根據(jù)作為視頻流、音頻流或字幕流的基本流的類型變化。下面,將根據(jù)基本流的類型描述塊StaticInfo()。圖26顯示了應用if語句表示基本流的類型是視頻流、音頻流還是字幕流的塊StaticInfo()。下面,將根據(jù)基本流的類型描述塊StaticInfo()。
當基本流是視頻流時,塊StaticInfo()由具有4比特的數(shù)據(jù)長度的字段picture_size、具有4比特的數(shù)據(jù)長度的字段frame_rate和具有1比特的數(shù)據(jù)長度的標志cc_flag構成。字段picture_size和字段frame_rate表示視頻流的圖像尺寸和幀頻率。標志cc_flag表示視頻流是否包括關閉的字幕(caption)。當標志cc_flag的值為例如“1”時,視頻流包括關閉的字幕。字段reserved_for_word_alignment將數(shù)據(jù)對齊為16比特。
當基本流是音頻流時,塊StaticInfo()包括具有16比特的數(shù)據(jù)長度的字段audio_language_code、具有8比特的數(shù)據(jù)長度的字段channel_configuration、具有1比特的數(shù)據(jù)長度的標志lfe_existance和具有4比特的數(shù)據(jù)長度的字段sampling_frequency。字段audio_language_code表示包括于音頻流中的語言代碼。字段channel_configuration表示音頻數(shù)據(jù)的聲道屬性,如單聲道、立體聲、多聲道等等。字段lfe_existance表示音頻流是否包括低頻加強聲道。當字段lfe_existance的值為例如“1”時,音頻流包括低頻加強聲道。字段sampling_frequency表示音頻數(shù)據(jù)的采樣頻率。字段reserved_for_word_alignment將數(shù)據(jù)對齊為16比特。
當基本流是字幕流時,塊StaticInfo()由具有16比特的數(shù)據(jù)長度的字段subtitle_language_code和具有1比特的數(shù)據(jù)長度的標志configurable_flag構成。字段subtitle_language_code表示包括于字幕流中的語言代碼。標志configurable_flag表示顯示的字幕流的字符的大小和位置是否允許改變。當標志configurable_flag的值為例如“1”時,它表示顯示的字幕流的字符的大小和位置允許改變。字段reserved_for_word_alignment將數(shù)據(jù)對齊為16比特。
下面,將參照圖27描述塊DynamicInfo()的內部結構的示例。塊DynamicInfo()以具有8比特的數(shù)據(jù)長度的字段reserved_for_word_alignment開始。前接字段reserved_for_word_alignment的元素取決于基本流的類型?;玖鞯念愋涂梢杂蓞⒄請D25描述的字段stream_id和字段stream_private_id的值標識。圖27顯示了塊DynamicInfo(),其內容應用if語句根據(jù)作為視頻流、音頻流或字幕流的基本流的類型變化。下面,將根據(jù)基本流的類型描述塊DynamicInfo()。
當基本流是視頻流時,塊DynamicInfo()由具有4比特的數(shù)據(jù)長度的字段display_aspect_ratio構成。字段display_aspect_ratio表示視頻數(shù)據(jù)的顯示輸出縱橫長度比是16∶9還是4∶3。字段reserved_for_word_alignment將數(shù)據(jù)對齊為16比特。
當基本流是音頻流時,塊DynamicInfo()由具有4比特的數(shù)據(jù)長度的字段channel_assignment構成。當音頻流由兩聲道構成時,字段channel_assignment表示輸出是立體聲還是雙單聲道。雙單聲道用于再現(xiàn)例如兩種語言的音頻數(shù)據(jù)。字段reserved_for_word_alignment將數(shù)據(jù)對齊為16比特。
當基本流是字幕流時,塊DynamicInfo()由字段reserved_for_word_alignment構成。字段reserved_for_word_alignment將數(shù)據(jù)對齊為16比特。換句話說,關于字幕流,塊DynamicInfo()未定義動態(tài)變化的屬性。
下面,將參照圖28描述塊EP_map()的內部結構的示例。塊EP_map()由時間信息和位置信息表示每一基本流的比特流的有效解碼起點位置(稱為入口點或隨機存取點(RAP))。位置信息可以為用于其中記錄基本流的記錄介質的最小存取單元。每一基本流可以從塊EP_map()表示的位置中解碼。
由于可以計算固定速率流的有效解碼起點位置,因此不需要如塊EP_map()的信息。另一方面,對于可變速率流和其數(shù)據(jù)大小在每一存取單元中變化的流,如基于MPEG視頻壓縮編碼系統(tǒng)的流,塊EP_map()是對隨機存取數(shù)據(jù)必需的重要信息。
塊EP_map()以具有8比特的數(shù)據(jù)長度的字段reserved_for_word_alignment開始。字段reserved_for_word_alignment將數(shù)據(jù)對齊為16比特。字段reserved_for_word_alignment后接字段number_of_stream_id_entries。字段number_of_stream_id_entries具有8比特的數(shù)據(jù)長度,表示塊EP_map()中描述的基本流的數(shù)目。第一for循環(huán)描述與字段number_of_stream_id_entries相應重復的字段stream_id、字段private_stream_id和字段number_of_EP_entries。在第一for循環(huán)中,第二for循環(huán)描述與字段number_of_EP_entries相應重復的字段PTS_EP_start以及字段RPN_EP_start。
第一for循環(huán)描述字段stream_id和字段private_stream_id,其每個具有8比特的數(shù)據(jù)長度,并標識圖25中所示的基本流的類型。字段stream_id和字段private_stream_id后接字段number_of_EP_entries。字段number_of_EP_entries具有32比特的數(shù)據(jù)長度,表示基本流中描述的入口點的數(shù)目。第二for循環(huán)描述與字段number_of_EP_entries相應重復的字段PTS_EP_start和字段RPN_EP_start。
字段PTS_EP_start和字段RPN_EP_start每個具有33比特的數(shù)據(jù)長度,表示自身的入口點。字段PTS_EP_start通過PTS表示剪輯AV流文件中入口點的時間。另一方面,字段RPN_EP_start以2048字節(jié)單位表示剪輯AV流文件中入口點的位置。
根據(jù)本發(fā)明的該實施例,作為盤存取單位的一個扇區(qū)是2048字節(jié)。因此,字段RPN_EP_start表示扇區(qū)中的剪輯AV流文件的入口點的位置。
視頻流的有效再現(xiàn)起點位置緊接在包private_stream_2后面。包private_stream_2是包括可以用于解碼視頻流的信息的包。因此,視頻流的入口點的位置是包括包private_stream_2的包(pack)pack()的位置。
塊EP_map將剪輯AV流的時間和剪輯AV流文件的位置相關。因此,通過剪輯AV流的存取點的時間信息(時間標記),剪輯AV流文件可以容易地搜索讀取數(shù)據(jù)的數(shù)據(jù)地址。因此,盤可以平滑地進行隨機存取。
根據(jù)本發(fā)明的該實施例,在塊EP_map()中,每一基本流的時間信息和位置信息的集合(第二for循環(huán)中的字段PTS_EP_start和字段RPN_EP_start的集合)以升序(降序)預先登記。換句話說,時間信息和位置信息已經以預定方向重新安排。因此,可以對數(shù)據(jù)執(zhí)行二進制搜索(binary search)。
根據(jù)本發(fā)明的該實施例,如上所述,視頻數(shù)據(jù)的基本流是基于MPEG2視頻標準的基本流。然而,本發(fā)明的該實施例不限于該示例。例如,視頻數(shù)據(jù)的基本流可以是基于MPEG4視頻標準或MPEG4-AVC標準的基本流。同樣地,根據(jù)本發(fā)明的該實施例,如上所述,音頻數(shù)據(jù)的基本流是基于ATRAC音頻系統(tǒng)的基本流。然而,本發(fā)明的該實施例不限于這樣的示例。代替地,音頻數(shù)據(jù)的基本流可以是基于例如MPEG1/2/4音頻系統(tǒng)的基本流。
7.盤再現(xiàn)裝置下面,將描述根據(jù)本發(fā)明的實施例的盤再現(xiàn)裝置。圖29顯示了根據(jù)本發(fā)明的實施例的盤再現(xiàn)裝置100的結構的示例。中央處理單元(CPU)112、存儲器113、驅動接口114、輸入接口115、視頻解碼器116、音頻解碼器117、視頻輸出接口118和音頻輸出接口119連接于總線111。盤再現(xiàn)裝置100的每一個部件可以通過總線111與其它部件交換視頻流、音頻流、各種命令、數(shù)據(jù)等等。
此外,盤驅動器102連接于驅動接口114。盤驅動器102通過驅動接口114與總線111交換數(shù)據(jù)和命令。
CPU 112具有只讀存儲器(ROM)和隨機存儲器(RAM)(未示出)。CPU 112根據(jù)ROM中預存儲的程序和數(shù)據(jù)通過總線111與盤再現(xiàn)裝置100的每一個部件交換數(shù)據(jù)和命令,并且控制整個盤再現(xiàn)裝置100。RAM用作為CPU 112的工作存儲器。
盡管在圖29中被省略,然而盤再現(xiàn)裝置100可以具有可以重寫數(shù)據(jù)并在關閉盤再現(xiàn)裝置100的電源之后對其進行保持的如閃存的非易失性存儲器。非易失性存儲器連接于例如總線111,從而CPU 112將數(shù)據(jù)寫入非易失性存儲器并從其讀取數(shù)據(jù)。
將從用戶執(zhí)行輸入操作的輸入裝置輸入的輸入信號提供給輸入接口115。輸入裝置是例如用戶應用例如紅外信號遠程操作盤再現(xiàn)裝置100的遙控器和置于盤再現(xiàn)裝置100上的按鍵。輸入接口115將從輸入裝置提供的輸入信號轉換為用于CPU 112的控制信號并輸出該控制信號。
播放列表、腳本程序、剪輯信息文件、剪輯AV流文件等等以圖18到圖28中所示的格式記錄于盤101中。當將盤101載入盤驅動器102時,它自動或基于用戶的輸入操作從盤101中再現(xiàn)它們。將從盤101中讀取的腳本文件、播放列表文件和剪輯信息文件提供給CPU 112,并且存儲于例如CPU 112的RAM中。CPU 112基于存儲于RAM中的數(shù)據(jù)和腳本程序,從盤101中讀取剪輯AV流文件。
將從盤101中讀取的剪輯AV流文件暫存于存儲器113中。視頻解碼器116基于從CPU 112接收的命令,解碼存儲于存儲器113中的剪輯AV流文件的視頻流和字幕流。CPU 112執(zhí)行圖像處理,如對解碼的視頻數(shù)據(jù)和字幕數(shù)據(jù)的放大處理或縮小處理、對視頻流和字幕流的合成處理或附加處理,并且獲取視頻數(shù)據(jù)的一個流??梢杂梢曨l解碼器116和視頻輸出接口118執(zhí)行圖像處理。將視頻數(shù)據(jù)緩存于存儲器113中并提供給視頻輸出接口118。視頻輸出接口118將所提供的視頻數(shù)據(jù)轉換為模擬視頻信號,并將該模擬視頻信號提供給視頻輸出端120。
同樣地,音頻解碼器117基于從CPU 112接收的命令,解碼存儲于存儲器113中的剪輯AV流文件的音頻流。將解碼的音頻數(shù)據(jù)緩存于存儲器113中,并提供至音頻輸出接口119。音頻輸出接口119將所提供的音頻數(shù)據(jù)轉換為例如模擬音頻信號并將該模擬音頻信號提供給音頻輸出端121。
在示例中,圖29中所示的每一部件由獨立的硬件構成。然而,本發(fā)明的該實施例不限于該示例。換句話說,視頻解碼器116和/或音頻解碼器117可以由CPU 112上操作的軟件構成。
盤再現(xiàn)裝置100具有CPU 112和存儲器,并基于程序進行操作。因此,可以認為盤再現(xiàn)裝置100是一種計算機裝置。
圖30(30A和30B)是詳細描述圖29中所示的盤再現(xiàn)裝置100的操作的功能性方塊圖。盤再現(xiàn)裝置100主要由操作系統(tǒng)201和視頻內容再現(xiàn)部件210構成。視頻內容再現(xiàn)部件210基本上是在操作系統(tǒng)201上操作的軟件程序。代替地,視頻內容再現(xiàn)部件210可以由集成操作的軟件和硬件構成。在下面的描述中,假定視頻內容再現(xiàn)部件210由軟件構成。圖30中,省略盤驅動器102。
當盤再現(xiàn)裝置100的電源開啟時,操作系統(tǒng)201開始在CPU 112上啟動,并執(zhí)行必要的處理,如每一部件的初始設置,并從ROM中讀取應用程序(在該示例中,視頻內容再現(xiàn)部件210)。操作系統(tǒng)201提供基本服務,如當操作視頻內容再現(xiàn)部件210時,從盤101讀取文件,以及對視頻內容再現(xiàn)部件210的文件系統(tǒng)進行解釋。例如,操作系統(tǒng)201與從視頻內容再現(xiàn)部件210提供的文件讀取請求相應,通過驅動接口114控制盤驅動器102,并從盤101讀取數(shù)據(jù)。在操作系統(tǒng)201的控制下,將從盤101讀取的數(shù)據(jù)提供至視頻內容再現(xiàn)部件210。
操作系統(tǒng)201具有虛擬并行地時分控制多個軟件模塊的多任務處理功能。換句話說,構成圖30中所示的視頻內容再現(xiàn)部件210的每一模塊可以通過操作系統(tǒng)201的多任務處理功能并行操作。
下面,將更具體地描述視頻內容再現(xiàn)部件210的操作。視頻內容再現(xiàn)部件210具有其它幾個內部模塊,實現(xiàn)下述功能。
(1)視頻內容再現(xiàn)部件210確定載入的盤101是否是基于UMD視頻標準的盤(此后該盤稱為UMD視頻盤)。
(2)當確定的結果表示載入的盤101是UMD視頻盤時,視頻內容再現(xiàn)部件210從盤101中讀取資源文件,并將腳本文件提供給腳本控制模塊211。
(3)當確定的結果表示載入的盤101是UMD視頻盤時,視頻內容再現(xiàn)部件210也讀取構成數(shù)據(jù)庫(即,播放列表、剪輯信息文件等等)的文件,并且將文件提供給播放器控制模塊212。
下面,將要描述視頻內容再現(xiàn)部件210的模塊的操作。
腳本控制模塊211將接收的資源文件存儲于例如CPU 112的RAM(未示出)的預定區(qū)域中。CPU 112(腳本控制模塊211)從RAM中讀取資源文件,解譯資源文件并執(zhí)行它。代替地,資源文件可以存儲于存儲器113的預定區(qū)域中,當必須時,資源文件可以寫入CPU 112的RAM(未示出)中。
如播放器模型中所描述的,形成并輸出菜單屏幕的圖像,對應于用戶的輸入移動光標,并改變菜單屏幕的GUI,由基于腳本程序控制的圖形處理模塊219實現(xiàn)。在這一點上,通過存儲器113中存儲的資源文件中包括的圖像數(shù)據(jù)和聲音數(shù)據(jù)形成菜單屏幕等。通過執(zhí)行腳本程序,腳本控制模塊211可以控制播放器控制模塊212。
播放器控制模塊212參照包含于文件之中的數(shù)據(jù)庫信息,文件如從盤101中讀取的播放列表文件“PLAYLIST.DAT”和剪輯信息文件“XXXXX.CLP”,并執(zhí)行下述控制來從盤101中再現(xiàn)視頻內容。
(1)播放器控制模塊212分析數(shù)據(jù)庫信息,如播放列表和剪輯信息。
(2)播放器控制模塊212控制內容數(shù)據(jù)提供模塊213、解碼控制模塊214和緩沖控制模塊215。
(3)播放器控制模塊212執(zhí)行播放器狀態(tài)轉換控制,如播放狀態(tài)、停止狀態(tài)和暫停狀態(tài),以及再現(xiàn)控制處理,如基于從腳本控制模塊211或輸入接口115接收的命令的流轉換。
(4)播放器控制模塊212獲取正在從解碼控制模塊214再現(xiàn)的視頻流的時間信息,顯示時間并生成標記事件。
內容數(shù)據(jù)提供模塊213根據(jù)從播放器控制模塊212接收的命令,從盤101中讀取如剪輯AV流文件的內容數(shù)據(jù),并將內容數(shù)據(jù)提供給緩沖控制模塊215。緩沖控制模塊215將數(shù)據(jù)存儲于存儲器113作為緩沖區(qū)215A。內容數(shù)據(jù)提供模塊213控制緩沖控制模塊215,將存儲于存儲器113中的內容數(shù)據(jù)提供給視頻解碼器控制模塊216、音頻解碼器控制模塊217和字幕解碼器控制模塊218(根據(jù)來自其的請求)。此外,內容數(shù)據(jù)提供模塊213從盤101中讀取內容數(shù)據(jù),從而在緩沖控制模塊215的控制下存儲的內容數(shù)據(jù)變?yōu)轭A定量。
解碼控制模塊214根據(jù)從播放器控制模塊212接收的命令,控制視頻解碼器控制模塊216、音頻解碼器控制模塊217和字幕解碼器控制模塊218的操作。解碼控制模塊214具有內部時鐘功能,控制視頻解碼器控制模塊216、音頻解碼器控制模塊217和字幕解碼器控制模塊218的操作,從而視頻數(shù)據(jù)和音頻數(shù)據(jù)同步輸出。
緩沖控制模塊215專門地應用存儲器113的一部分作為緩沖區(qū)215A。緩沖控制模塊215存儲數(shù)據(jù)起點指針和數(shù)據(jù)寫入指針。緩沖控制模塊215還具有作為內部模塊的視頻讀取功能、音頻讀取功能和字幕讀取功能。視頻讀取功能具有視頻讀取指針。視頻讀取功能具有存儲作為存取單元信息的信息au_information()的寄存器。音頻讀取功能具有音頻讀取指針。字幕讀取功能具有字幕讀取指針以及字幕讀取功能標志。字幕讀取功能標志根據(jù)其值控制字幕讀取功能的啟用/禁止。當例如將“1”寫入字幕讀取功能標志時,字幕讀取功能啟用。當例如將“0”寫入字幕讀取功能標志時,字幕讀取功能禁止。
作為緩沖控制模塊215的內部模塊的視頻讀取功能、音頻讀取功能和字幕讀取功能具有解復用器功能,其將多路復用的剪輯AV流解復用,并獲取視頻流、音頻流和字幕流,其中剪輯AV流中將視頻流、音頻流和字幕流多路復用。根據(jù)本發(fā)明的該實施例,剪輯AV流由基于MPEG2系統(tǒng)節(jié)目流格式時分復用的多個基本流形成。因此,視頻讀取功能、音頻讀取功能和字幕讀取功能具有用于MPEG2系統(tǒng)節(jié)目流的解復用器功能。
因此,視頻讀取功能讀取置于視頻流的預定位置的字段stream_id(參見圖25)的值并且保持該值。同樣地,音頻讀取功能和字幕讀取功能讀取字段stream_id和字段private_stream_id的值(參見圖25)的值并保持該值。字段stream_id和字段private_stream_id的值用于分析所提供的比特流。
視頻解碼器控制模塊216使緩沖控制模塊215的視頻讀取功能從存儲器113中讀取視頻流的一個視頻存取單元,并且將視頻存取單元提供給視頻解碼器116。視頻解碼器控制模塊216控制視頻解碼器116解碼存取單元中的提供給視頻解碼器116的視頻流,并生成視頻數(shù)據(jù)。將視頻數(shù)據(jù)提供給圖形處理模塊219。
同樣地,音頻解碼器控制模塊217使緩沖控制模塊215的音頻讀取功能從存儲器113中讀取音頻流的一個音頻存取單元并且將音頻流單元提供給音頻解碼器117。根據(jù)本發(fā)明的該實施例,構成音頻流的存取單元(音頻幀)具有預定的固定長度。音頻解碼器控制模塊217控制音頻解碼器117解碼存取單元中的提供給音頻解碼器117的音頻流,并生成音頻數(shù)據(jù)。將音頻數(shù)據(jù)提供給音頻輸出模塊242。
字幕解碼器控制模塊218使緩沖控制模塊215的字幕讀取功能從存儲器113中讀取字幕流的一個字幕存取單元,并且將字幕存取單元提供給字幕解碼器控制模塊218。根據(jù)本發(fā)明的該實施例,構成字幕流的字幕存取單元包括在起點處的長度信息。字幕解碼器控制模塊218具有可以解碼所提供的字幕流并生成字幕圖像數(shù)據(jù)的字幕解碼功能。將字幕圖像數(shù)據(jù)提供給圖形處理模塊219。
如上所述,將在視頻解碼器控制模塊216控制下由視頻解碼器116解碼的視頻數(shù)據(jù)以及由字幕解碼器控制模塊218解碼的字幕圖像數(shù)據(jù)提供給圖形處理模塊219。圖形處理模塊219以預定的方式將字幕圖像數(shù)據(jù)加到所提供的視頻數(shù)據(jù)中并生成輸出的視頻信號。圖形處理模塊219根據(jù)從腳本控制模塊211和播放器控制模塊212接收的命令,生成菜單圖像和消息圖像,并通過輸出的視頻信號將它們重疊。
例如,圖形處理模塊219根據(jù)從腳本控制模塊211接收的命令,對提供的字幕圖像數(shù)據(jù)執(zhí)行放大處理和縮小處理,并且以預定方式將處理的圖像數(shù)據(jù)加到視頻數(shù)據(jù)。
此外,圖形處理模塊219根據(jù)預定的輸出視頻裝置的縱橫長度比和從盤101再現(xiàn)的內容中指定的輸出縱橫長度比,轉換輸出信號的縱橫長度比。當輸出視頻裝置的縱橫長度比為16∶9并且輸出縱橫長度比為16∶9時,圖形處理模塊219直接輸出視頻數(shù)據(jù)。當輸出視頻裝置的縱橫長度比為16∶9并且輸出縱橫長度比為4∶3時,圖形處理模塊219執(zhí)行使圖像的高度和輸出視頻裝置的屏幕的高度相匹配的壓縮(squeezing)(縮小)處理,將黑色部分插入圖像的左側和右側,并且輸出結果圖像。當輸出視頻裝置的縱橫長度比為4∶3并且輸出縱橫長度比為4∶3時,圖形處理模塊219直接輸出視頻數(shù)據(jù)。當輸出視頻裝置的縱橫長度比為4∶3并且輸出縱橫長度比為16∶9時,圖形處理模塊219執(zhí)行使圖像的寬度和輸出視頻裝置的屏幕的寬度相匹配的壓縮(縮小)處理,將黑色部分插入圖像的上部和下部區(qū)域,并且輸出結果圖像。
圖形處理模塊219還執(zhí)行基于來自于播放器控制模塊212的請求捕獲正在處理的視頻信號并且向其提供請求的視頻信號的處理。
視頻輸出模塊241專門應用存儲器113的一部分作為先進先出(FIFO)緩存(buffer)。視頻輸出模塊241暫時地在緩存中存儲圖形處理模塊219所處理的視頻數(shù)據(jù),并且以預定的定時從其讀取視頻數(shù)據(jù)。從緩存中讀取的視頻數(shù)據(jù)從視頻輸出接口118中輸出。
音頻輸出模塊242專門地應用存儲器113的一部分作為FIFO緩存。音頻輸出模塊242存儲從音頻輸出接口119輸出至緩存的音頻數(shù)據(jù),并且以預定的定時從其讀取音頻數(shù)據(jù)。從緩存中讀取的音頻數(shù)據(jù)從音頻輸出接口119中輸出。
當內容的音頻模式為雙單聲道模式(例如雙語)時,音頻輸出模塊242根據(jù)預定的音頻輸出模式輸出音頻數(shù)據(jù)。當音頻輸出模式是“主音頻”時,音頻輸出模塊242將例如存儲器113中的左聲道的音頻數(shù)據(jù)進行復制,并且輸出左聲道的音頻數(shù)據(jù)和存儲器113的音頻數(shù)據(jù)。因此,音頻輸出模塊242輸出僅為左聲道的音頻數(shù)據(jù)。當音頻輸出模式是“子音頻”時,音頻輸出模塊242將例如存儲器113中的右聲道的音頻數(shù)據(jù)進行復制,并且輸出右聲道的音頻數(shù)據(jù)和存儲器113的音頻數(shù)據(jù)。因此,音頻輸出模塊242輸出僅為右聲道的音頻數(shù)據(jù)。當音頻輸出模式是“主和子音頻”或內容為立體聲時,音頻輸出模塊242直接輸出音頻數(shù)據(jù)。
用戶可以在例如視頻內容再現(xiàn)部件210生成的菜單屏幕上交互地設置音頻輸出模式。
非易失性存儲器控制模塊250根據(jù)從播放器控制模塊212接收的命令,將數(shù)據(jù)寫入在視頻內容再現(xiàn)部件210的操作完成之后數(shù)據(jù)不被擦除的區(qū)域(該區(qū)域稱為非易失性區(qū)域),并且從其讀取數(shù)據(jù)。非易失性存儲器控制模塊250具有存儲多組帶有標題標識符ID(Title_ID)的關鍵碼(key)的數(shù)據(jù)Saved_Player_Status和數(shù)據(jù)Saved_Player_Data的功能。非易失性存儲器控制模塊250存儲播放器控制模塊212具有的作為數(shù)據(jù)Saved_Player_Status數(shù)據(jù)的Backup_Player_Status。數(shù)據(jù)Backup_Player_Status相應于例如緊接在完成播放器控制模塊212的操作之前存在的播放器狀態(tài)323B的數(shù)據(jù)。數(shù)據(jù)Saved_Player_Status與恢復信息324相應。此外,非易失性存儲器控制模塊250存儲播放器控制模塊212具有的作為數(shù)據(jù)Saved_User_Data的數(shù)據(jù)User_Data。數(shù)據(jù)User_Data是用戶對播放器控制模塊212設置的預定數(shù)據(jù)。
非易失性存儲器控制模塊250在盤再現(xiàn)裝置100的閃存的預定區(qū)域中相關地存儲一組具有盤101的標題ID的數(shù)據(jù)Saved_Player_Status和數(shù)據(jù)Saved_User_Data。非易失性存儲器控制模塊250存儲數(shù)據(jù)于其中的存儲介質不限于閃存,而是硬盤等等。
8.電影播放器的狀態(tài)轉換模式8-1.電影播放器的狀態(tài)的定義下面,將根據(jù)本發(fā)明的實施例詳細描述電影播放器300的狀態(tài)轉換模式。根據(jù)本發(fā)明的該實施例,僅僅定義電影播放器300的內部狀態(tài)。換句話說,根據(jù)本發(fā)明的該實施例,電影播放器300的狀態(tài)基于其操作和功能定義。
更具體地,關于電影播放器300的操作,從播放列表的再現(xiàn)的角度,定義電影播放器300處于播放狀態(tài)或停止狀態(tài)的兩種狀態(tài)。此外,關于電影播放器300的功能,定義電影播放器300是否從本地實現(xiàn)平臺301接受控制命令的兩種狀態(tài)。
圖31概念性地顯示了根據(jù)本發(fā)明的該實施例的電影播放器300的狀態(tài)的定義。第一,將要相對電影播放器300的操作描述其狀態(tài)。參照圖3,從播放列表的再現(xiàn)的角度,電影播放器300處于播放狀態(tài)或停止狀態(tài)。播放狀態(tài)中,電影播放器300已經選定播放列表并且正在再現(xiàn)所選定的播放列表。停止狀態(tài)中,電影播放器300不是正在再現(xiàn)播放列表。停止狀態(tài)中,電影播放器300沒有選定播放列表。換句話說,可以說電影播放器300的重放模塊321正在解碼剪輯AV流的狀態(tài)是播放狀態(tài),重放模塊321不在解碼剪輯AV流的狀態(tài)是停止狀態(tài)。
播放狀態(tài)被再分割為幾種狀態(tài)。換句話說,播放狀態(tài)被再分割為前進的正常速度的正常再現(xiàn)、前進方向和后退方向非正常速度的變速再現(xiàn)以及暫停。步進前進和步進后退再現(xiàn)通過交替地執(zhí)行正常再現(xiàn)和暫停而實現(xiàn)。電影播放器300正在再現(xiàn)播放列表的狀態(tài)具有與電影播放器300處于播放狀態(tài)相同的含義。
下面,將相對電影播放器300的功能描述它們的狀態(tài)。關于電影播放器300的功能,它具有電影播放器300從本地實現(xiàn)平臺301接受控制命令311的模式(該模式稱為正常模式)以及電影播放器300忽略控制命令311的模式(該模式稱為菜單模式)。電影播放器300的兩種操作模式定義為其狀態(tài)。
正常模式中,電影播放器300的操作可以由用戶輸入310而非通過腳本層302中的腳本程序控制。
另一方面,菜單模式中,電影播放器300不接受控制命令311。電影播放器300僅僅從腳本層302接受方法313。因此,電影播放器300的操作可以由腳本層302中的腳本程序控制。例如,用戶輸入310作為事件314從本地實現(xiàn)平臺301提供給腳本層302。腳本層302中的腳本程序通過與按鍵事件314相應的方法313控制電影播放器300的操作。
換句話說,通過菜單模式,內容形成器一側可以控制電影播放器300的操作。此外,通過菜單模式,可以利用少種類的按鍵實現(xiàn)各種控制。
因此,對于操作,電影播放器300具有播放狀態(tài)和停止狀態(tài)兩種狀態(tài)。此外,對于功能,電影播放器300具有正常模式和菜單模式兩種模式。因此,在電影播放器300中,定義兩種操作狀態(tài)和兩種功能狀態(tài)相集合的四種狀態(tài)。換句話說,在生成電影播放器300之后直到它被消除,電影播放器300處于該四種狀態(tài)之一。下面將描述電影播放器300的生成和消除。
當發(fā)出使電影播放器300將現(xiàn)有狀態(tài)轉換為另一狀態(tài)的方法313時,在模型中,電影播放器300根據(jù)方法313迅速地將現(xiàn)有狀態(tài)轉換為另一狀態(tài)。在實際裝置中,在將方法313發(fā)出至電影播放器300之后直到電影播放器300已經根據(jù)方法313將現(xiàn)有狀態(tài)轉換為另一狀態(tài)的時間取決于裝置的實現(xiàn)。
當方法313使特定狀態(tài)中的電影播放器300將現(xiàn)有狀態(tài)轉換為相同的狀態(tài)時,電影播放器300的狀態(tài)不轉換。例如,當電影播放器300處于正常模式和停止狀態(tài)時,即使方法313使電影播放器300將現(xiàn)有模式和狀態(tài)轉換為正常模式和停止狀態(tài),電影播放器300的現(xiàn)有模式和狀態(tài)也不轉換。
播放狀態(tài)中包括暫停狀態(tài)。為了使電影播放器300將停止狀態(tài)轉換為暫停狀態(tài),應用具有指定暫停的值pauseMode的自變量的方法play()。
下面,將描述電影播放器300的兩種狀態(tài)和兩種操作模式相組合的四種狀態(tài)以及四種狀態(tài)之間的狀態(tài)轉換。在下面的描述中,電影播放器300的功能模式的正常模式和菜單模式分別稱為“正?!焙汀安藛巍?。另一方面,電影播放器300的操作狀態(tài)的播放狀態(tài)和停止狀態(tài)分別稱為“播放”和“停止”。電影播放器300的模式和狀態(tài)的組合由狀態(tài){模式,狀態(tài)}而方便地表征。在下面的描述中,電影播放器300的狀態(tài)和模式的轉換稱為狀態(tài)轉換。
如圖31中清楚所示,電影播放器300具有包括從現(xiàn)有狀態(tài)到相同狀態(tài)的狀態(tài)轉換的總共16種狀態(tài)轉換,即4×4=16種狀態(tài)轉換。這些狀態(tài)轉換通過從腳本層302提供給電影播放器300的方法313執(zhí)行。換句話說,在電影播放器300之外執(zhí)行電影播放器300的狀態(tài)轉換。換句話說,狀態(tài)轉換并不是在電影播放器300中自動執(zhí)行而不需從腳本層302提供的方法。此外,狀態(tài)轉換并不是在電影播放器300中通過本地實現(xiàn)平臺301提供的控制命令執(zhí)行。
根據(jù)本發(fā)明的該實施例,由于方法313的自變量的組合受到限制,因此不可能在具有該方法的電影播放器300中執(zhí)行可能的全部16種狀態(tài)轉換。
下面,將逐個地描述在電影播放器300中可能的四種狀態(tài),狀態(tài){菜單,停止}、狀態(tài){正常,停止}、狀態(tài){菜單,播放}以及狀態(tài){正常,播放}。
(1)狀態(tài){菜單,停止}電影播放器300不是正在再現(xiàn)播放列表(處于停止狀態(tài)中)并且不從本地實現(xiàn)平臺301中接受控制命令311。該狀態(tài)用于菜單屏幕等,其上未在背景中再現(xiàn)運動圖像。
為了允許腳本程序安全地控制剛剛生成的電影播放器300,電影播放器300不從本地實現(xiàn)平臺301接受控制命令311是有效的。因此,在生成電影播放器300之后立即將它置于狀態(tài){菜單,停止}中。
(2)狀態(tài){正常,停止}電影播放器300不是正在再現(xiàn)播放列表(處于停止狀態(tài)中)并且正在從本地實現(xiàn)平臺301接受控制命令311。當電影播放器300不是正在再現(xiàn)例如運動圖像時應用該狀態(tài)。由于電影播放器300在該狀態(tài)中接受控制命令311,因此最后不在生成電影播放器300之后立即應用該狀態(tài)。
(3)狀態(tài){菜單,播放}電影播放器300正在再現(xiàn)播放列表(處于播放狀態(tài)中)并且不是正在從本地實現(xiàn)平臺301接受控制命令311。該狀態(tài)用于菜單屏幕等,其上在背景中正在再現(xiàn)運動圖像。
(4)狀態(tài){正常,播放}電影播放器300正在再現(xiàn)播放列表(處于播放狀態(tài)中)并且正在從本地實現(xiàn)平臺301接受控制命令311。當電影播放器300正在再現(xiàn)視頻內容的主部分時,應用該狀態(tài)。
下面,將簡要描述生成電影播放器300的模型。例如,當盤再現(xiàn)裝置100的電源開啟并且CPU 112開啟操作系統(tǒng)201時執(zhí)行必要的處理,如各個部件的初始設置。此外,視頻內容再現(xiàn)部件210從ROM中調用。視頻內容再現(xiàn)部件210由CPU 112執(zhí)行。因此,生成電影播放器300。當盤再現(xiàn)裝置100的電源關閉時,電影播放器300被消除。
電影播放器300被假定為隱含對象。因此,腳本程序不需要顯式地生成電影播放器300。
如上所述,在生成電影播放器300之后立即將它置于菜單模式以及停止狀態(tài)中(狀態(tài){菜單,停止})。在生成電影播放器300之后電影播放器300具有的下列屬性立即變?yōu)椴淮_定。
屬性audioFlag屬性audioNumber屬性chapterNumber屬性playListNumber屬性playSpeed屬性subtitleNumber屬性videoNumber當電影播放器300被初始化時,具有恢復對前一停止位置的再現(xiàn)的“恢復再現(xiàn)功能”的UMD視頻播放器可以設置存儲于非易失性存儲器中的值代替屬性的缺省值。例如,可以應用恢復信息324。
8-2.使電影播放器轉換狀態(tài)的方法下面,將描述使電影播放器將現(xiàn)有狀態(tài)轉換為另一狀態(tài)的方法313。圖32顯示了相對現(xiàn)有狀態(tài){模式,狀態(tài)}以及由方法313轉換的狀態(tài){模式,狀態(tài)}的電影播放器300的四種狀態(tài)的結合。如圖32中可見,如使電影播放器300將現(xiàn)有狀態(tài)轉換為另一狀態(tài)的方法313,存在方法stop()、方法play()以及方法resume()。由方法resume()引起的電影播放器300的操作取決于是否存在恢復信息324。
下面,將描述方法stop()。方法stop()使電影播放器300將現(xiàn)有狀態(tài)轉換為停止狀態(tài),不管現(xiàn)有模式。方法stop()具有用于模式的自變量。具有自變量的方法stop()允許電影播放器300將現(xiàn)有狀態(tài)和模式轉換為停止狀態(tài)和由自變量指定的模式。如下面將要描述的,當滿足特定條件而執(zhí)行方法stop()時,播放器狀態(tài)323B被備份并且保持為恢復信息324。
下面,將要描述方法play()。方法play()使電影播放器300將現(xiàn)有狀態(tài)轉換為播放狀態(tài)。方法play()可以具有用于模式的自變量。方法play()允許電影播放器300將現(xiàn)有狀態(tài)和模式轉換為播放狀態(tài)和由自變量指定的狀態(tài)。如下面將要描述的,當滿足特定條件而執(zhí)行方法play()時,播放器狀態(tài)323B被備份并且保持為恢復信息324。
下面,將要描述方法resume()。方法resume()是將恢復信息324恢復于播放器狀態(tài)323B并且恢復電影播放器300的再現(xiàn)的方法。換句話說,方法resume()使電影播放器300從恢復信息324表示的位置恢復再現(xiàn)。當不用恢復信息324而執(zhí)行方法resume()時,電影播放器300不進行轉換。
方法resume()使電影播放器300恢復恢復信息324的條件如下。當執(zhí)行方法resume()時,如果存在恢復信息324并且現(xiàn)有狀態(tài)不是狀態(tài){正常,播放},那么電影播放器300恢復恢復信息324。換句話說,當執(zhí)行方法resume()時,如果存在恢復信息324并且現(xiàn)有狀態(tài)是狀態(tài){菜單,停止}、狀態(tài){正常,停止}以及狀態(tài){菜單,播放}之一,那么方法resume()使電影播放器300將現(xiàn)有狀態(tài)轉換為狀態(tài){正常,播放}并且恢復恢復信息324。
方法play()具有多個自變量。為簡單起見,假定方法play()具有三種自變量自變量pauseMode、自變量menuMode以及自變量playListNumber。特別地,定義用于方法play()的更多自變量。
自變量pauseMode指定播放狀態(tài)中的再現(xiàn)模式。自變量pauseMode具有值“×1”、值“pause”或值“-1”。值“×1”指定正常前進再現(xiàn)。值“pause”指定暫停。值“-1”指定現(xiàn)有再現(xiàn)速度的保持。因此,自變量pauseMode指定執(zhí)行方法play()之后電影播放器300的播放狀態(tài)的細節(jié)。當指定值“pause”時,顯示由自變量指定的圖像并且暫停電影播放器300。在這種情況中,如果不由自變量指定圖像,那么顯示根據(jù)預定的選擇規(guī)則指定的圖像并且暫停電影播放器300。
自變量menuMode指定電影播放器300的模式(正常模式或菜單模式),并且具有值“Normal”、值“Menu”和值“-1”之一。值“Normal”指定正常模式。值“Menu”指定菜單模式。值“-1”指定現(xiàn)有模式的保持。
自變量playListNumber指定要再現(xiàn)的播放列表的序號??梢允÷宰宰兞縫layListNumber。在這種情況中,不轉換當前選定的播放列表。
下面,將參照圖33A到33E描述當執(zhí)行方法play()時電影播放器300的狀態(tài)轉換的示例。圖33A到33E中,左側表示電影播放器300的現(xiàn)有狀態(tài)340A,而右側表示腳本程序發(fā)出方法313使電影播放器300將現(xiàn)有狀態(tài)340A轉換之后的轉換狀態(tài)340B。狀態(tài)340A和狀態(tài)340B之下指示的是在這些狀態(tài)中已經指定的播放列表序號(PL1和PL2)。
圖33A顯示了將方法play(×1,Normal,PL2)發(fā)出至處于狀態(tài){正常,停止}中的電影播放器300的情況的示例。方法play(×1,Normal,PL2)使電影播放器300在正常模式中以正常速度再現(xiàn)播放列表序號為“PL2”的播放列表。電影播放器300已經將狀態(tài){正常,停止}轉換為狀態(tài){正常,播放}。
圖33B是將方法play(×1,Normal,PL2)發(fā)出至處于狀態(tài){正常,播放}中的電影播放器300的情況的示例,其中電影播放器300在播放列表序號為“PL1”的播放列表的再現(xiàn)期間處于暫停狀態(tài)。方法play(×1,Normal,PL2)使電影播放器300將現(xiàn)有狀態(tài)轉換為電影播放器300在正常模式中以正常速度開始再現(xiàn)播放列表序號為“PL2”的播放列表的狀態(tài)。在這種情況中,盡管電影播放器300的再現(xiàn)操作從暫停轉換為正常前進再現(xiàn),在方法play(×1,Normal,PL2)發(fā)出之前和之后,狀態(tài)還是保持于狀態(tài){正常,播放}。因此,電影播放器300沒有將現(xiàn)有狀態(tài)轉換為另一狀態(tài)。
圖33C是將方法play(-1,-1,PL2)發(fā)出至處于狀態(tài){正常,播放}中的電影播放器300的情況的示例,其中電影播放器300正在前進方向以正常的速度再現(xiàn)播放列表序號為“PL1”的播放列表。方法play(-1,-1,PL2)使電影播放器300將現(xiàn)有狀態(tài)轉換為電影播放器300在正常模式中以正常速度再現(xiàn)播放列表序號為“PL2”的播放列表的狀態(tài)。在這種情況中,盡管電影播放器300正在再現(xiàn)的播放列表發(fā)生轉換,狀態(tài)還是保持于狀態(tài){正常,播放}。因此,電影播放器300沒有將現(xiàn)有狀態(tài)轉換為另一狀態(tài)。
圖33D是將方法play(pause,-1,PL2)發(fā)出至處于狀態(tài){正常,播放}中的電影播放器300的情況的示例,其中電影播放器300正在前進方向以正常速度再現(xiàn)播放列表序號為“PL1”的播放列表。方法play(pause,-1,PL2)使電影播放器300在正常模式中選擇播放列表序號為“PL2”的播放列表并且在播放列表序號為“PL2”的播放列表的起點暫停。在這種情況中,盡管電影播放器300的再現(xiàn)操作從前進正常速度再現(xiàn)轉換為暫停,狀態(tài)還是保持于狀態(tài){正常,播放}。因此,電影播放器300沒有將現(xiàn)有狀態(tài)轉換為另一狀態(tài)。
圖33E是將方法play(-1,menu)發(fā)出至處于狀態(tài){正常,播放}中的電影播放器300的情況的示例,其中電影播放器300在播放列表序號為“PL1”的播放列表的再現(xiàn)期間暫停。方法play()中,省略自變量playListNumber。方法play(-1,menu)使電影播放器300在菜單模式中選擇播放列表序號為“PL1”的播放列表,并且在播放列表序號為“PL1”的播放列表的起點暫停。電影播放器300已經將狀態(tài){正常,播放}轉換為狀態(tài){菜單,停止}。
因此,電影播放器300從腳本程序接收方法play(),電影播放器300執(zhí)行各種操作。在這一點上,依賴于條件,電影播放器300將現(xiàn)有狀態(tài)轉換為另一狀態(tài)。當內容生成器用腳本程序中的不同自變量描述方法play()時,可以實現(xiàn)電影播放器300的各種操作。
僅僅當電影播放器300執(zhí)行從腳本程序接收的方法play()時,電影播放器300開始再現(xiàn)選定的播放列表序號的播放列表。當開始播放列表的再現(xiàn)時,處于停止狀態(tài)中的電影播放器300可以開始再現(xiàn)播放列表,或者正在再現(xiàn)播放列表的電影播放器300可以停止對其再現(xiàn),選擇新的播放列表并開始再現(xiàn)新的播放列表。
當腳本程序將具有自變量的方法play()發(fā)出至電影播放器300時,自變量的值設置為播放器狀態(tài)323B。當省略方法play()的自變量時,基于對每一參數(shù)的規(guī)則的預定值或者缺省值被設置為播放器狀態(tài)323B。
不希望允許以內容形成器不需要的次序再現(xiàn)播放列表。因此,與用戶操作相應的控制命令311禁止使播放列表通過播放列表序號再現(xiàn)。這是根據(jù)本發(fā)明的該實施例的電影播放器300的操作模型的特征之一。
如果對方法play()的自變量的值指定無效的播放列表和非現(xiàn)有的時間,則方法play()的執(zhí)行將會失敗。這意味著腳本程序包括錯誤以及違背標準。在這一點的錯誤處理取決于電影播放器300的實現(xiàn)。
下面,將描述多個播放項的再現(xiàn)。一旦電影播放器300開始再現(xiàn)播放列表,電影播放器300繼續(xù)對其進行再現(xiàn)直到它到達終點。從起點到終點的播放列表的再現(xiàn)不需要用戶的操作以及腳本程序的控制。如圖34中所示,電影播放器300再現(xiàn)構成如播放列表文件“PLAYLIST.DAT”中指定的播放列表的播放項(參見圖19)。依次再現(xiàn)構成播放列表的播放項,不需要事件處理程序的控制。
在它再現(xiàn)一個播放項直到它再現(xiàn)下一播放項之后的電影播放器300的操作取決于其實現(xiàn),未在格式中定義。例如,是連續(xù)地顯示播放項的最后圖像還是顯示黑圖像,取決于電影播放器300的實現(xiàn)。然而,當執(zhí)行例如將播放項的入點設置為隨機存取點(入口點,參見圖28)的制作(authoring)處理時,兩個播放項的間隔時間可以盡可能地減少。
8-3.播放列表再現(xiàn)期間電影播放器的操作下面,將描述播放列表再現(xiàn)期間電影播放器300的操作。用于高速再現(xiàn),如雙倍速再現(xiàn)或三倍速再現(xiàn),低速再現(xiàn)如1/2速再現(xiàn),以及后退再現(xiàn),用戶的變速再現(xiàn)命令,輸入至本地實現(xiàn)平臺301作為用戶輸入310。與用戶輸入310相應,取決于電影播放器300的實現(xiàn)的控制命令311,從本地實現(xiàn)平臺301提供給電影播放器300。
變速再現(xiàn)的速度取決于電影播放器300的實現(xiàn)。將具有可以指定速度的“faster”或“slower”的自變量的命令從本地實現(xiàn)平臺301提供給電影播放器300。電影播放器300將命令轉換為實際速度。實現(xiàn)變速再現(xiàn)的方法取決于電影播放器300的實現(xiàn)。腳本程序可以了解已經由方法getPlayerStatus()指定電影播放器300的速度。
相反地,腳本程序發(fā)送至電影播放器300的方法play()并未由自變量指定速度。方法play()僅僅指定暫停(通過自變量“pause”)以及正常速度再現(xiàn)(通過自變量“×1”)。
電影播放器300在前進的方向以可變再現(xiàn)速度再現(xiàn)播放列表之后,當現(xiàn)有播放項到達終點時,電影播放器300再現(xiàn)下一播放項。在這一點上,電影播放器300向同一方向以及以同一再現(xiàn)速度再現(xiàn)下一播放項,從而繼續(xù)變速再現(xiàn)。
圖35顯示當電影播放器300正在再現(xiàn)的播放列表到達起點或結尾時,電影播放器300的操作的示例。電影播放器300向前進方向再現(xiàn)播放列表之后,當播放列表到達結尾時,電影播放器300顯示最后圖像并且暫停。為了清除最后圖像,需要明確地采用事件處理程序onPlayListEnd中描述的方法stop()使電影播放器300停止。
當電影播放器300以高于正常速度的速度執(zhí)行高速再現(xiàn)時,在播放列表的終點,即使播放列表的最后圖像不是跳轉點,電影播放器300也顯示播放列表的最后圖像。
電影播放器300以反向再現(xiàn)播放列表之后,當現(xiàn)有播放列表到達起點時,電影播放器300再現(xiàn)前一播放項,即按照時間次序前進方向的前一播放項。電影播放器300以同樣的再現(xiàn)速度從終點到起點反向再現(xiàn)前一播放項。當電影播放器300正在再現(xiàn)的播放列表在反向到達起點時,電影播放器300取消變速再現(xiàn)并在播放列表的起點暫停。
此外,電影播放器300通過使電影播放器300暫停的控制命令300暫停。當電影播放器300的暫停狀態(tài)被取消時,播放列表的再現(xiàn)方向和再現(xiàn)速度取決于電影播放器300的實現(xiàn)。
下面,將要描述播放列表再現(xiàn)期間出現(xiàn)的事件。如參照圖13所述,播放列表再現(xiàn)期間出現(xiàn)的事件是與用戶操作相應的事件angleChange、事件audioChange和事件subtitleChange以及與嵌入播放列表中的標記相應的事件chapter和事件mark。參照圖15描述事件出現(xiàn)時的操作的示例。
下面,將要描述在播放列表的終點執(zhí)行的處理。如上所述,電影播放器300再現(xiàn)由方法play()指定的播放列表序號的播放列表。一旦電影播放器300開始再現(xiàn)播放列表,電影播放器300就繼續(xù)再現(xiàn)播放列表直到到達終點,不需要腳本程序和控制命令311的控制。當電影播放器300再現(xiàn)的播放列表到達終點時,無論播放列表怎樣到達終點,電影播放器300都將事件playListEnd通知腳本程序。換句話說,當播放列表到達終點時,不管電影播放器300是執(zhí)行正常再現(xiàn)、快進再現(xiàn)還是從另一播放列表的跳轉再現(xiàn),電影播放器300都生成事件playListEnd。
當電影播放器300正在再現(xiàn)的播放列表到達終點并且出現(xiàn)事件playListEnd時,電影播放器300暫停,并且電影播放器300存儲的播放列表的再現(xiàn)時間匹配播放列表的最后時間。播放列表的最后時間是播放列表的最后圖像的再現(xiàn)終點時間,并與再現(xiàn)時間軸上的最后播放項的OUT點相匹配。
事件playListEnd可以用于連續(xù)再現(xiàn)播放列表并在多記事分支點顯示菜單。
當腳本程序具有作為一旦事件playListEnd出現(xiàn)就執(zhí)行的程序的事件處理程序onPlayListEnd時,腳本程序執(zhí)行事件處理程序onPlayListEnd。當事件處理程序onPlayListEnd描述使電影播放器300開始再現(xiàn)另一播放列表的方法play()時,電影播放器300開始再現(xiàn)播放列表。以這樣的方式,電影播放器300繼續(xù)再現(xiàn)播放列表。
下面,參照圖36,更為具體地描述該操作。當電影播放器300已經再現(xiàn)播放列表序號為“PL1”的播放列表時,出現(xiàn)事件playListEnd。當事件playListEnd出現(xiàn)時,執(zhí)行腳本程序所具有的事件處理程序onPlayListEnd。事件處理程序onPlayListEnd指定再現(xiàn)播放列表序號為“PL2”的播放列表。電影播放器300接收事件處理程序onPlayListEnd,并再現(xiàn)已經指定的播放列表序號為“PL2”的播放列表。
因此,再現(xiàn)路徑暫時地從播放列表序號為“PL1”的播放列表的終點轉換至事件處理程序onPlayListEnd,然后至播放列表序號為“PL2”的播放列表的起點。
當在多記事分支點顯示菜單時,在終點通過分支點再現(xiàn)顯示菜單屏幕的播放列表的命令,可以在與事件playListEnd相應的事件處理程序onPlayListEnd中描述。
圖37詳細顯示了在播放列表的終點的腳本層302的處理的流程以及電影播放器300的操作的示例。圖37中,步驟S30至步驟S33表示腳本層302一側的處理,而步驟S40至步驟S44表示電影播放器300一側的處理。
電影播放器300正在再現(xiàn)的播放列表到達終點后,為了再現(xiàn)下一播放列表,腳本程序需要明確地發(fā)出相應命令。由于播放列表的再現(xiàn)次序由腳本程序確定,電影播放器300一側不能自主確定下一個要再現(xiàn)的播放列表。
當電影播放器300正在再現(xiàn)的播放列表到達終點(步驟S40)時,電影播放器300將事件playListEnd通知腳本層302(步驟S41)。電影播放器300繼續(xù)顯示到達終點的播放列表的最后圖像,并將現(xiàn)有狀態(tài)轉換為暫停狀態(tài)(步驟S42)。
當腳本層302接收事件playListEnd時,腳本程序302執(zhí)行事件處理程序onPlayListEnd(步驟S30)。電影播放器300下面要執(zhí)行的操作取決于事件處理程序onPlayListEnd中的腳本程序的描述。
步驟S40之后,即使暫停的電影播放器300接收取消暫停狀態(tài)或使電影播放器300開始前進方向的再現(xiàn)的方法或控制命令311,電影播放器300也忽略該方法或控制命令311。使電影播放器300開始前進方向的再現(xiàn)的方法是方法play()及具有指定前進再現(xiàn)的自變量的方法playStep()。使電影播放器300開始前進方向的再現(xiàn)的控制命令311包括命令uo_play()、命令uo_playNexChapter()、命令uo_forwardScan()、命令uo_playStep()、命令uo_pauseOn()以及命令uo_pauseOff()。當電影播放器300在播放列表的終點暫停時,電影播放器300忽略這些命令。
當電影播放器300在播放列表的終點暫停時,方法stop()和方法resume()有效。當電影播放器300在播放列表的終點暫停時,模式轉換有效。
事件playListEnd出現(xiàn)之后,在正常模式中操作的電影播放器300可以接受而不是使電影播放器300開始前進方向的再現(xiàn)的控制命令311。在該情況下,當腳本程序執(zhí)行用于電影播放器300的方法313時,它根據(jù)方法313進行操作。
在圖31中所示的示例中,事件處理程序onPlayListEnd使腳本層302執(zhí)行方法stop()(步驟S31)。當腳本層302執(zhí)行方法stop()時,電影播放器300取消方法311所引起的操作并將現(xiàn)有狀態(tài)轉換為停止狀態(tài)(步驟S43)。在停止狀態(tài)中,電影播放器300清除電影播放器300已經再現(xiàn)的播放列表的最后圖像并顯示黑屏。
事件處理程序onPlayListEnd使腳本層302執(zhí)行使電影播放器300再現(xiàn)下一播放列表的方法313(步驟S32)。例如,方法play()中,分別指定值“×1”作為自變量pauseMode、值“Menu”作為自變量menuMode以及下一要再現(xiàn)的播放列表序號作為自變量playListNumber。這些值使電影播放器300將現(xiàn)有模式轉換為菜單模式,并按照正常再現(xiàn)由自變量playListNumber指定的播放列表序號的播放列表。此后,腳本層302完成事件處理程序onPlayListEnd(步驟S33)。根據(jù)在步驟S32指定的方法play(),電影播放器300一側將現(xiàn)有模式轉換為另一模式。此外,電影播放器300以指定速度再現(xiàn)指定的播放列表(步驟S44)。
內容形成器需要制作(描述)下一操作,已經再現(xiàn)一個播放列表的電影播放器300為了改進用戶可操作性而在事件處理程序onPlayListEnd中執(zhí)行該下一操作,從而電影播放器300已經再現(xiàn)播放列表之后,電影播放器300將現(xiàn)有狀態(tài)轉換為停止狀態(tài),通過方法play()再現(xiàn)下一播放列表或顯示菜單屏幕。
8-4.電影播放器的再現(xiàn)恢復功能下面,將要描述電影播放器300的狀態(tài)轉換和再現(xiàn)恢復功能。首先,參照圖38,描述UMD視頻播放器所具有的三種存儲區(qū)域。在UMD視頻播放器模型中,將播放器狀態(tài)區(qū)501、恢復信息區(qū)502以及用戶數(shù)據(jù)區(qū)503定義為三種基本存儲區(qū)域。這三種存儲區(qū)501、502和503形成于例如存儲器113中。代替地,這些存儲區(qū)501、502和503可以形成于RAM中,它們是CPU112的工作存儲器。
播放器狀態(tài)區(qū)501是存儲表示電影播放器300的再現(xiàn)狀態(tài)的信息的存儲區(qū)域。換句話說,播放器狀態(tài)區(qū)501存儲圖3中所示的播放器狀態(tài)323B。播放器狀態(tài)區(qū)501的內容可以通過方法getPlayerStatus()從腳本程序500中讀取。
恢復信息區(qū)502是暫時備份播放器狀態(tài)區(qū)501中保持的部分信息的存儲區(qū)。換句話說,播放器狀態(tài)區(qū)501的部分的信息在恢復信息區(qū)502中存儲為圖3中所示的恢復信息324。當需要時,在恢復信息區(qū)502中備份的播放器狀態(tài)區(qū)501的部分信息,恢復為播放器狀態(tài)區(qū)501。信息的備份和恢復由本地實現(xiàn)平臺301執(zhí)行?;謴托畔^(qū)502中存儲的信息用于從前一再現(xiàn)停止位置開始再現(xiàn)的恢復再現(xiàn)功能。
腳本程序500可以通過方法getResumeInfo()讀取恢復信息區(qū)502的內容。腳本程序500可以通過方法changeResumeInfo()改變關于恢復信息區(qū)502中存儲的恢復信息324中的流的參數(shù)。
當需要時,恢復信息區(qū)502中存儲的信息通過本地實現(xiàn)平臺301保存于非易失性存儲器510。同樣,當需要時,從恢復信息區(qū)502保存于非易失性存儲器510中的信息通過本地實現(xiàn)平臺301從非易失性存儲器510中載入,并且存儲于恢復信息區(qū)502中。
從播放器狀態(tài)區(qū)501到恢復信息區(qū)502的信息的備份以及從恢復信息區(qū)502到播放器狀態(tài)區(qū)501的信息的恢復是在通過預定方法將現(xiàn)有狀態(tài)轉換為預定狀態(tài)時電影播放器300自動執(zhí)行的處理。
用戶數(shù)據(jù)區(qū)503是存儲取決于內容的信息的區(qū)域。內容形成器可以自由應用用戶數(shù)據(jù)區(qū)503。用戶數(shù)據(jù)區(qū)503可以自由用于如電影播放器300的播放列表的再現(xiàn)路徑的歷史,以及與內容相應的正確和錯誤響應。
腳本程序500可以通過方法setUserData()保存數(shù)據(jù)于用戶數(shù)據(jù)區(qū)503。腳本程序500可以通過方法setUserData()讀取用戶數(shù)據(jù)區(qū)503的內容。當需要時,本地實現(xiàn)平臺301將用戶數(shù)據(jù)區(qū)503中存儲的信息保存于非易失性存儲器510中。同樣,當需要時,本地實現(xiàn)平臺301從非易失性存儲器510中載入信息,并將信息存儲于用戶數(shù)據(jù)區(qū)503中。
下面,將要根據(jù)本發(fā)明的實施例描述實現(xiàn)再現(xiàn)恢復功能的UMD視頻播放器模型。
首先,將要簡要描述恢復操作。通過恢復信息區(qū)502中備份的信息恢復再現(xiàn)狀態(tài)的操作稱為恢復操作?;謴筒僮魍ㄟ^方法resume()執(zhí)行。
更具體地,根據(jù)方法resume(),播放器狀態(tài)323B從播放器狀態(tài)區(qū)501備份于恢復信息區(qū)502中,并且通過恢復信息區(qū)502中備份的恢復信息324恢復再現(xiàn)狀態(tài)。播放器狀態(tài)323B包括電影播放器300的狀態(tài),即電影播放器300當前正在再現(xiàn)的播放列表的序號及章節(jié)的序號、選擇的流序號等。
方法resume()發(fā)向的電影播放器300的操作取決于恢復信息324是否存儲于恢復信息區(qū)502中。當恢復信息324存儲于恢復信息區(qū)502中時,恢復信息324作為播放器狀態(tài)323B恢復于播放器狀態(tài)區(qū)501。在這一點上,放棄恢復信息區(qū)502中存儲的恢復信息324。
當內容再現(xiàn)期間調用的菜單上的再現(xiàn)流轉換時,應用方法changeResumeInfo()。通過方法changeResumeInfo()將恢復信息區(qū)502中存儲的恢復信息324轉換為指定信息之后,當通過方法resume()執(zhí)行恢復操作時,現(xiàn)有再現(xiàn)流可以轉換為指定的再現(xiàn)流,可以開始指定再現(xiàn)流的再現(xiàn)。
當執(zhí)行方法resume()時,電影播放器300可以執(zhí)行恢復操作。代替地,當通過方法getResumeInfo()獲取恢復信息324并且執(zhí)行指定自變量的方法play()時,可以實現(xiàn)恢復操作。
下面,將要參照圖39和圖40描述播放器狀態(tài)323B到恢復信息區(qū)502的備份。圖39顯示了狀態(tài)轉換,其中在電影播放器300中定義的四種狀態(tài)轉換中,播放器狀態(tài)區(qū)501中存儲的播放器狀態(tài)323B備份于恢復信息區(qū)502。圖40顯示了播放器狀態(tài)323B備份于恢復信息區(qū)502的條件。
當在正常模式和播放狀態(tài)中(狀態(tài){正常,播放})正在再現(xiàn)播放列表的電影播放器300將現(xiàn)有狀態(tài)轉換為停止狀態(tài)時,播放器狀態(tài)區(qū)501中存儲的播放器狀態(tài)323B備份于恢復信息區(qū)502并存儲為恢復信息324。在停止狀態(tài)中,播放器狀態(tài)323B的某些值變?yōu)椴淮_定。
此外,當電影播放器300將現(xiàn)有狀態(tài)狀態(tài){正常,播放}轉換為狀態(tài){菜單,播放}時,播放器狀態(tài)區(qū)501中存儲的播放器狀態(tài)323B也備份于恢復信息區(qū)502。
相反地,當在菜單模式正在再現(xiàn)播放列表的電影播放器300將現(xiàn)有狀態(tài)轉換為另一狀態(tài)時,播放器狀態(tài)區(qū)501中存儲的播放器狀態(tài)323B不備份于恢復信息區(qū)502。
換句話說,播放器狀態(tài)323B作為恢復信息324備份于恢復信息區(qū)502。
(1)當電影播放器300的現(xiàn)有狀態(tài)是狀態(tài){正常,播放},并且電影播放器300通過方法stop()的執(zhí)行直接將現(xiàn)有狀態(tài)狀態(tài){正常,播放}轉換為狀態(tài){正常,播放},或(2)當電影播放器300的現(xiàn)有狀態(tài)是狀態(tài){正常,播放},并且電影播放器300通過方法stop()的執(zhí)行將現(xiàn)有狀態(tài)狀態(tài){正常,播放}轉換為狀態(tài){正常,停止}或狀態(tài){菜單,停止}。在這種情況中,方法stop()的自變量resumeInfoClearFlag的值為“false”。
期望播放器狀態(tài)323B備份于恢復信息區(qū)502,以便存儲內容的主部分的返回位置。例如,當再現(xiàn)內容的主部分的操作序列跳轉至運動圖像菜單,返回內容的主部分,并從完成的再現(xiàn)停止位置再現(xiàn)內容的主部分,期望應用作為恢復信息區(qū)502中備份的播放器狀態(tài)323的數(shù)據(jù)的恢復信息324。
因此,當內容的主部分正在再現(xiàn)時,即電影播放器300的現(xiàn)有狀態(tài)是狀態(tài){正常,播放}時,恢復信息區(qū)502中存儲的恢復信息324已經被放棄。當電影播放器300將現(xiàn)有狀態(tài),狀態(tài){正常,播放}轉換為另一狀態(tài)時,播放器狀態(tài)323B作為恢復信息324備份于恢復信息區(qū)502。
因此,為了實現(xiàn)恢復再現(xiàn),在電影播放器300將現(xiàn)有狀態(tài)轉換為另一狀態(tài)時,播放器狀態(tài)323B備份于恢復信息區(qū)502,恢復信息區(qū)502中存儲的恢復信息324被放棄。當腳本層302指定方法resume()時,如果恢復信息324存儲于恢復信息區(qū)502,就將恢復信息324作為播放器狀態(tài)323B恢復于播放器狀態(tài)區(qū)501。
腳本層302可以通過方法getResumeInfo()從恢復信息區(qū)502載入恢復信息324。關于恢復信息區(qū)502中存儲的恢復信息324中的流的參數(shù),可以通過方法changeResumeInfo()進行轉換。此外,通過方法stop()的自變量,可以放棄恢復信息區(qū)502中存儲的恢復信息324。
下面,將要參照圖41到圖44描述恢復信息區(qū)502中存儲的恢復信息324到播放器狀態(tài)區(qū)501的恢復及其放棄。存儲為內容的主部分的返回位置的恢復信息324,在電影播放器300返回主部分再現(xiàn)狀態(tài)即狀態(tài){正常,播放}之后被放棄。在這一點上,有兩種情況。在第二種情況中,恢復信息324作為播放器狀態(tài)323B恢復于播放器狀態(tài)區(qū)501然后被放棄。在第二種情況中,恢復信息324被放棄,不被恢復。
換句話說,在該模型中,當電影播放器300返回狀態(tài){正常,播放}時,恢復信息區(qū)502中存儲的恢復信息324被放棄。在這一點上,當電影播放器300等滿足預定條件時,恢復信息區(qū)502中存儲的恢復信息324恢復于播放器狀態(tài)區(qū)501然后被放棄。當恢復信息324恢復于播放器狀態(tài)區(qū)501時,從恢復信息324指定的位置開始再現(xiàn)。該操作是恢復再現(xiàn)。
圖41顯示了在電影播放器300中定義的四種狀態(tài)轉換中恢復信息324恢復于播放器狀態(tài)區(qū)501然后被放棄的狀態(tài)轉換。
當滿足下列三種條件(1)到(3)時,恢復信息324被恢復然后被放棄(1)當電影播放器300的現(xiàn)有狀態(tài)是狀態(tài){菜單,停止}、狀態(tài){正常,停止}或狀態(tài){菜單,播放}時,(2)當恢復信息324存儲于恢復信息區(qū)502時,以及(3)當電影播放器300將現(xiàn)有狀態(tài)通過方法resume()的執(zhí)行轉換為狀態(tài){正常,播放}時。
圖42是這些條件的表。當電影播放器300的現(xiàn)有狀態(tài)是狀態(tài){正常,播放}時,由于恢復信息324未被存儲,因此這一狀態(tài)中的操作未在圖42中定義。
當恢復信息324存儲于恢復信息區(qū)502中時,如果執(zhí)行方法resume(),電影播放器300將現(xiàn)有狀態(tài)轉換為狀態(tài){正常,播放}。當恢復信息324未存儲于恢復信息區(qū)502中時,如果執(zhí)行方法resume(),電影播放器300沒有將現(xiàn)有狀態(tài)轉換為另一狀態(tài)。在這一點上,電影播放器300保持緊接在執(zhí)行方法resume()之前出現(xiàn)的狀態(tài){模式,狀態(tài)},并且播放器狀態(tài)323B未轉換。
相反地,當滿足下列三種條件(4)到(6)時,恢復信息324不被恢復,而是被放棄(4)當電影播放器300的現(xiàn)有狀態(tài)是狀態(tài){菜單,停止}、狀態(tài){正常,停止}或狀態(tài){菜單,播放}時,(5)當恢復信息324存儲于恢復信息區(qū)502時,以及(6)當電影播放器300將現(xiàn)有狀態(tài)通過方法play()的執(zhí)行轉換為狀態(tài){正常,播放}時。
圖43是這些條件的表。當電影播放器300的現(xiàn)有狀態(tài)是狀態(tài){正常,播放}時,由于恢復信息324未存儲于恢復信息區(qū)502中,因此這一狀態(tài)中的操作未在圖43中定義。
當恢復信息324未存儲于恢復信息區(qū)502中時,如果執(zhí)行方法play(),那么電影播放器300將現(xiàn)有狀態(tài)轉換為狀態(tài){正常,播放}。因此,恢復信息324未存儲于恢復信息區(qū)502中的狀態(tài)保持不變。
存儲于恢復信息區(qū)502中的恢復信息324可以通過設置方法stop()的自變量而放棄。特別地,根據(jù)本發(fā)明的該實施例,作為方法stop()的自變量,定義指定是否放棄存儲于恢復信息區(qū)502中的恢復信息324的自變量resumeInfoClearFlag。如圖44中所示,當執(zhí)行方法stop()時,如果自變量resumeInfoClearFlag通過值“true”指定時,恢復信息324被放棄。
當電影播放器300再現(xiàn)的電影的主部分到達終點,并且電影播放器300的再現(xiàn)停止時,電影的主部分的終點位置記錄為恢復信息324。此后,當用戶操作電影播放器300執(zhí)行再現(xiàn)操作(恢復再現(xiàn)操作)時,電影播放器300跳轉至電影的主部分的終點并暫停。因此,電影播放器300中的恢復再現(xiàn)操作的可操作性變差。
為了改進電影播放器300中的恢復再現(xiàn)操作的可操作性,需要提供放棄自動記錄為模型的特性的恢復信息324的部件。由于僅僅電影形成器知道電影的主部分的終點,腳本程序500可以通過方法stop()的自變量resumeInfoClearFlag指定用于電影播放器300的恢復信息324的放棄。
圖45顯示了當通過自變量resumeInfoClearFlag執(zhí)行方法stop()時執(zhí)行UMD視頻播放器的操作的示例。圖45中,步驟S50到步驟S54顯示腳本層302一側的處理,而步驟S60到步驟S64顯示電影播放器300一側的處理。
當電影播放器300正在再現(xiàn)的播放列表到達終點時(步驟S60),電影播放器300將事件playListEnd通知腳本層302(步驟S61)。電影播放器300繼續(xù)顯示步驟S60中到達終點的播放列表的最后圖像并暫停(步驟S62)。
當腳本層302接收事件playListEnd時,腳本層302執(zhí)行事件處理程序onPlayListEnd(步驟S50)。步驟S51中,腳本層302確定與事件playListEnd相應的播放列表是否作者情景(author scenario)的最后。此外,腳本層302可以確定特定的播放列表是否基于例如腳本程序500的情景的最后播放列表。
當確定的結果表示播放列表不是最后的播放列表時,流程前進至步驟S53。在步驟S53中,腳本層302將方法stop()的自變量resumeInfoClearFlag設置為值“false”并向電影播放器300發(fā)出不放棄恢復信息324的方法stop()。當電影播放器300接收方法stop()時,電影播放器300將現(xiàn)有狀態(tài)轉換為停止狀態(tài)。此外,電影播放器300將播放器狀態(tài)323B備份于恢復信息區(qū)(在步驟S64)。
相反地,當在步驟S51中確定的結果表示播放列表是情景中的最后播放列表時,流程前進至步驟S52。在步驟S52中,腳本層302將方法stop()的自變量resumeInfoClearFlag設置為值“true”并將放棄恢復信息324的方法stop()通知電影播放器300。當電影播放器300接收方法stop()時,電影播放器300將現(xiàn)有狀態(tài)轉換為停止狀態(tài)。此外,電影播放器300放棄(清除)恢復信息區(qū)502中存儲的恢復信息324(在步驟S63中)。
步驟S52之后,腳本層302執(zhí)行取決于腳本程序500中的描述的方法end()。
8-5.各個數(shù)據(jù)的生存周期下面,將描述播放器狀態(tài)323B、恢復信息324以及用戶數(shù)據(jù)的生存周期。
圖46顯示了播放器狀態(tài)323B的生存周期的示例。當生成電影播放器300時,也生成播放器狀態(tài)323B。當消除電影播放器300時,也消除播放器狀態(tài)323B。當電影播放器300時,初始化播放器狀態(tài)323B。當生成生成播放器狀態(tài)323B時,表示電影播放器300的狀態(tài)的屬性表示停止狀態(tài)。其它屬性變?yōu)椴淮_定。播放器狀態(tài)323B的值根據(jù)電影播放器300的再現(xiàn)狀態(tài)的轉換而轉換。當恢復信息區(qū)502的內容被恢復時轉換播放器狀態(tài)323B的值。播放器狀態(tài)323B可以通過從腳本層302發(fā)出的方法getPlayerStatus()載入。
播放器狀態(tài)323B的存儲狀態(tài)取決于電影播放器300的實現(xiàn)。只要播放器狀態(tài)323B可以由腳本層發(fā)出的方法getPlayerStatus()獲取,播放器狀態(tài)323B就可以以任何格式存儲。
圖47(47A和47B)顯示了恢復信息324的線周期的示例。當生成電影播放器300時,分配用于恢復信息324的存儲區(qū)域。當生成電影播放器300時,初始化恢復信息324。當初始化恢復信息324時,恢復信息324的內容被放棄。當初始化電影播放器300時,容納非易失性存儲器的UMD視頻播放器從非易失性存儲器載入恢復信息324。在這一點上,也載入用戶數(shù)據(jù)。
當電影播放器300將現(xiàn)有狀態(tài),狀態(tài){正常,播放}轉換為另一狀態(tài)時,播放器狀態(tài)323B備份于恢復信息區(qū)502。
關于恢復信息324的流的參數(shù)videoNumber、audioNumber、audioFlag、subtitleNumber和subtitleFlag可以由從腳本層302發(fā)出的方法changeResumeInfo()轉換。
當電影播放器300開始在正常模式再現(xiàn)播放列表時,恢復信息324的內容被放棄。在這一點上,具有兩種情況。在第一種情況中,在恢復信息324的內容被放棄之前,它恢復于播放器狀態(tài)323B。在第二種情況中,在恢復信息324的內容被放棄之前,它不恢復于播放器狀態(tài)323B。當由自變量resumeInfoClearFlag=“true”執(zhí)行方法stop()時,恢復信息324的內容被放棄。
當恢復信息324被存儲時,它由方法resume()恢復于播放器狀態(tài)323B。
通過方法getResumeInfo(),恢復信息324的內容可以從腳本層302中讀取。當讀取已經放棄的恢復信息324時,由于值“0”被返回為返回值playStatus,因此它可以確定恢復信息324是否被存儲。
當電影播放器300被完成(消除)時,也消除恢復信息324。當電影播放器300被完成(消除)時,容納非易失性存儲器的UMD視頻播放器將恢復信息324保存于非易失性存儲器。在這一點上,UMD視頻播放器也將用戶數(shù)據(jù)保存于非易失性存儲器。
圖48顯示了用戶數(shù)據(jù)的生存周期的示例。當生成電影播放器300時,分配用于用戶數(shù)據(jù)的存儲區(qū)域。當生成電影播放器300時,初始化用戶數(shù)據(jù)。當初始化用戶數(shù)據(jù)時,清除用戶數(shù)據(jù)的內容(通過方法getUserData(),返回具有“0”長度的陣列)。當初始化電影播放器300時,容納非易失性存儲器的UMD視頻播放器從非易失性存儲器載入用戶數(shù)據(jù)。在這一點上,UMD視頻播放器也從非易失性存儲器載入恢復信息。
當執(zhí)行方法setUserData()時,將用戶數(shù)據(jù)保存于用戶數(shù)據(jù)區(qū)503。通過方法setUserData(),將具有64比特(最大)的數(shù)據(jù)長度的整數(shù)型陣列排列于用戶數(shù)據(jù)區(qū)503。用戶數(shù)據(jù)區(qū)503中存儲的數(shù)據(jù)可以通過從腳本層302發(fā)出的方法getUserData()讀取。當用戶數(shù)據(jù)未被存儲時,返回具有0長度的陣列。
腳本層302不具有清除用戶數(shù)據(jù)區(qū)503的內容的方法。當用戶數(shù)據(jù)區(qū)503的內容被覆寫(overwritten)時,可以改變內容。
當電影播放器300被完成(消除)時,用戶數(shù)據(jù)區(qū)503也被消除。當電影播放器300被完成(消除)時,容納非易失性存儲器的UMD視頻播放器將存儲于用戶數(shù)據(jù)區(qū)503的數(shù)據(jù)保存于非易失性存儲器。在這一點上,UMD視頻播放器也將恢復信息324保存于非易失性存儲器。
9.轉換資源文件下面,將要描述根據(jù)本發(fā)明的實施例的資源文件的轉換。根據(jù)本發(fā)明的該實施例,在盤上記錄包括關于如腳本程序和構成菜單屏幕的圖像數(shù)據(jù)的內容的再現(xiàn)控制的數(shù)據(jù)的多個資源文件。當開始對盤的再現(xiàn)時,從那些資源文件中自動選擇適當?shù)馁Y源文件。此外,對盤的再現(xiàn)期間,在流的讀取被中斷時,現(xiàn)有資源文件可以適當?shù)剞D換為另一資源文件。
因此,超出盤再現(xiàn)裝置100的存儲器113的容量的資源文件可以用于記錄在盤上的內容。因此,具有交互式功能的內容可以高于現(xiàn)有技術的自由度形成。
當資源文件對如日語和英語的語言準備并顯示如4∶3和16∶9的縱橫長度比時,不用于再現(xiàn)環(huán)境中的數(shù)據(jù)可以被防止從盤中讀取。
如圖49中所示,資源文件置于目錄“RESOURCE”之下,其中目錄“RESOURCE”置于根(root)目錄下的目錄“VIDEO”之下。如上所述,控制內容再現(xiàn)的腳本程序和腳本程序中應用的數(shù)據(jù)包括于資源文件中。腳本程序中應用的數(shù)據(jù)是例如按鈕圖像數(shù)據(jù)、紋理(texture)信息、圖形用戶界面(GUI)的布局信息以及聲音數(shù)據(jù)。
根據(jù)本發(fā)明的該實施例的資源文件是包括各種文件的文件,各種文件如用于腳本程序的腳本文件和用于腳本程序中應用的數(shù)據(jù)的文件。換句話說,資源文件具有包括多個文件的結構。
如上所述,由于盤中作為不同文件包括資源文件和流文件,因此當基本流被形成(編碼)并多路復用時,資源文件可以獨立地形成。因此,視頻數(shù)據(jù)和菜單可以并行形成。
此外,由于盤中作為獨立文件包括用于菜單等的程序,并且文件和流不分散地多路復用,因此程序可以容易地被調試。
因此,當程序正在執(zhí)行時,視頻數(shù)據(jù)可以被再現(xiàn)。結果,當背景中的視頻數(shù)據(jù)正在被再現(xiàn)時,菜單屏幕可以疊加于背景視頻圖像中,不需要中斷視頻數(shù)據(jù)的再現(xiàn)。
此外,由于用于菜單等的程序獨立于流,因此程序可以容易地重用。當現(xiàn)有程序用于另一流時,僅僅需要重寫指定流序號和時間的鏈接信息。
當多個文件置于一個目錄下時,需要唯一地分配它們的文件名。當具有多個資源文件時,盤再現(xiàn)裝置100需要識別開始來自于盤的數(shù)據(jù)的再現(xiàn)時首先讀取的資源文件。
為了解決這樣的問題,根據(jù)本發(fā)明的該實施例,資源文件的命名規(guī)則如下指定。如圖50中所示,資源文件的文件名具有“CCdannnn.RCO”的格式。下面,將要描述資源文件的文件名的每一部分。
資源文件的文件名由總數(shù)12字符構成。定界符(點號)之后的字符串是擴展名。擴展名的字符串是“RCO”,表示該文件是資源文件。
文件名的前兩個字符“CC”表示資源文件的語言屬性。國際標準化組織(ISO)639-1中定義的由兩個字符表示的語言代碼轉換為大寫字母字符,例如日語由“JA”表征而英語由“EN”表征。
第三個字符“d”表示該資源文件是否指定為缺省語言的資源文件。缺省語言是與資源文件相應的內容被再現(xiàn)時通常選擇的語言。當“d”是“1”時,它表示該資源文件指定為缺省語言。當“d”是“0”時,它表示該資源文件并未指定為缺省語言。
第四個字符“a”表示資源文件所期望的顯示裝置的縱橫長度比。當“a”是“0”時,它表示期望的縱橫長度比為16∶9。當“a”是“1”時,它表示期望的縱橫長度比為4∶3。
第五到第八字符“nnnn”表示標識序號?!皀”是范圍從0到9的任何數(shù)字符。在存在多個資源文件,其第二和第三字符是“CC”并且其第四字符“a”相同時,這些資源文件可以由不同的標識序號而標識。當具有第一和第二字符“CC”以及第四字符“a”相同的多個資源文件時,標識序號需要不同。然而,它們不需要是連續(xù)的數(shù)。當具有前兩個字符“CC”以及第四字符“a”相同的多個資源文件時,這些文件之一需要是“0000”。
指定為缺省語言的一個或兩個資源文件置于目錄“RESOURCE”中。當具有縱橫長度比不同(16∶9以及4∶3)的資源文件時,具有指定為缺省語言的兩個資源文件。當具有指定為缺省語言的兩個資源文件時,兩個資源文件的語言屬性相同。“d”是“1”的資源文件需要是標識序號是“0000”的文件。當語言是“CC”的資源文件中的“d”是“1”時,“d”是“0”以及標識序號是“0000”的資源文件不被允許。
資源文件文件名的命名規(guī)則不限于上述示例。換句話說,只要包括表示資源文件的語言屬性的信息、表示資源文件是否指定為缺省語言的信息以及表示資源文件期望的顯示裝置的縱橫長度比的信息,并且置于同一目錄中的多個資源文件唯一地標識,那么資源文件的文件名可以基于另一命名規(guī)則指定。例如,文件名的長度不限于包括定界符的12個字符。此外,只要系統(tǒng)可以將其識別為資源文件,那么擴展名可不限于“RCO”。
如下面將描述的,當資源文件文件名的命名規(guī)則如上指定時,可以初始選擇資源文件。下面,將要描述在再現(xiàn)裝置即UMD視頻播放器中初始選擇資源文件的方法。如上所述,盤中包括至少一個資源文件。當UMD視頻播放器接收命令“再現(xiàn)從內容的起點開始”時,UMD視頻播放器從盤上的多個資源文件中選擇最合適的文件,并且執(zhí)行所選擇的文件。
可能具有與盤的目錄“RESOURCE”下的語言相應的多個資源文件。在這些文件中,可能具有至少一個文件,至多兩個文件,作為根據(jù)資源文件文件名的命名規(guī)則指定為缺省語言的資源文件。當具有指定為缺省語言的兩個文件時,它們對不同的顯示縱橫長度比準備。
圖51是顯示初始選擇資源文件的處理的示例的流程圖。流程圖的處理通過例如視頻內容再現(xiàn)部件210執(zhí)行。當盤101載入盤再現(xiàn)裝置100并且將命令“再現(xiàn)從內容的起點開始”發(fā)出至盤再現(xiàn)裝置100時,流程前進至步驟S70。在步驟S70中,盤搜索目錄。從置于目錄“RESOURCE”下的文件中選擇擴展名是“RCO”以及文件名的標識序號是“0000”的資源文件。換句話說,在初始選擇資源文件的處理中,選擇文件名的標識序號是“0000”的文件。
例如,每一文件的文件名對點號位置搜索。(followed by)點號之前的三個字符被提取。選擇提取出的三個字符的字符串是“RCO”的文件。此外,由(preceded by)點號在前的四個字符從每一文件的文件名中提取。選擇提取的四個字符的字符串是“0000”的文件。
此后,流程前進至步驟S71。在步驟S71中,獲取文件名部分“CC”的語言屬性。例如,獲取文件名的點號在前的第八和第七字符。這兩個字符表示資源文件的語言屬性。根據(jù)語言屬性確定是否具有播放器的設置語言與語言屬性相匹配的資源文件。當確定的結果表示具有它們匹配的資源文件時,流程前進至步驟S72。在步驟S72中,選擇播放器的設置語言與語言屬性相匹配的資源文件。當選擇文件時,流程前進至步驟S74。
相反地,當在步驟S71中確定的結果表示不具有播放器的設置語言與語言屬性相匹配的文件時,流程前進至步驟S73。在步驟S73中,選擇指定為缺省語言的資源文件。換句話說,部分“d”的字符從文件名中提取。例如,獲取點號之前的第六字符。選擇“d”是1的文件。當已經選擇文件時,流程前進至步驟S74。
在步驟S74中,確定在步驟S72或步驟S73中是否已經選擇的兩個文件。當確定的結果表示已經選擇一個文件時,文件讀取為初始選擇的資源文件。
相反地,當在步驟S74中確定的結果表示在步驟S72或步驟S73中已經選擇兩個文件時,流程前進至步驟S75。在步驟S75中,部分“a”的字符從文件名中提取。例如,提取點號之前的第五字符。選擇由提取的字符表示的縱橫長度比與播放器的顯示裝置的縱橫長度比的設置相匹配的資源文件。
在前述示例中,對點號位置搜索文件名從而從資源文件的文件名中獲取預定字符或字符串。另一其它字符或字符串的位置與點號的位置相應地標識。這是實現(xiàn)從文件名中獲取預定字符或字符串的處理的方法的示例。應該注意的是,這一方法僅僅是示例。換句話說,可以從起點或者終點對字符串搜索文件名。
具有與盤中的播放器的設置語言相匹配的語言屬性的一個或兩個資源文件。通過執(zhí)行圖51的流程圖中所示的處理,可以選擇適當?shù)馁Y源文件。
當執(zhí)行流程圖的處理以及不具有可以選擇的資源文件時,假定在盤上出現(xiàn)格式違規(guī)或盤錯誤。在這種情況中,防止錯誤的對策取決于播放器的實現(xiàn)。例如,可以選擇并再現(xiàn)可以讀取的資源文件。代替地,可以假定盤是不可再現(xiàn)盤并且盤的再現(xiàn)不被執(zhí)行。
已經以前述方式初始選擇的資源文件通過視頻內容再現(xiàn)部件210讀取,并提供至腳本控制模塊211。腳本控制模塊211根據(jù)資源文件中包括的腳本程序開始再現(xiàn)內容。開始內容再現(xiàn)之后,腳本程序明確地指定下一次讀取的資源節(jié)目。因此,僅僅當開始再現(xiàn)時,需要確定資源文件的選擇規(guī)則。
下面,將要描述對資源文件的選擇之后執(zhí)行的處理。在該處理中,執(zhí)行資源文件中包括的腳本程序,并且操作事件驅動模型。圖52顯示了資源文件中包括的腳本文件的內容的示例。腳本文件由事件處理程序組和主處理部分構成。事件處理程序組具有一個或多個事件處理程序。在執(zhí)行腳本程序之前,腳本文件從起點評價。在評價期間,登記事件處理程序,解決引用,例如定義變量,并生成對象。腳本程序執(zhí)行之前執(zhí)行的處理序列稱為初始執(zhí)行。初始執(zhí)行通過本地實現(xiàn)平臺301執(zhí)行。
當執(zhí)行初始執(zhí)行時,腳本文件的主處理部分被評價一次。在主處理部分中,可以定義作為通常在整個腳本文件中應用的變量的全局變量(描述為圖52中的“var a,b;”)。當執(zhí)行初始執(zhí)行時,具有事件不排隊以及用戶操作不被接受的限制。因此,電影播放器300的方法和控制器對象330以及構成屏幕的部件(窗口小部件)的方法被禁止在主處理部分中描述。
在已經完成腳本程序的初始執(zhí)行之后,它可以接受事件。另一方面,本地實現(xiàn)平臺301抑制其它事件的出現(xiàn)直到它生成事件autoPlay或事件continuePlay。在已經完成腳本程序的初始執(zhí)行之后,本地實現(xiàn)平臺301的控制器對象330生成事件autoPlay或事件continuePlay之一。生成的事件提供至腳本層302。
圖53是顯示執(zhí)行腳本程序的初始執(zhí)行、選擇事件處理程序并執(zhí)行所選擇的事件處理程序的處理示例的流程圖。首先,盤101載入盤再現(xiàn)裝置100。用戶選擇從盤101的起點再現(xiàn)數(shù)據(jù)的操作(此后該操作稱為“從起點再現(xiàn)”)或從盤101的前一停止位置再現(xiàn)數(shù)據(jù)的操作(此后該操作稱為“恢復再現(xiàn)”)(在步驟S80中)。當用戶已經選擇“恢復再現(xiàn)”時,流程前進至步驟S81。當用戶已經選擇“從起點再現(xiàn)”時,流程前進至步驟S86。
在步驟S81中,本地實現(xiàn)平臺301確定與盤101相應的恢復信息324是否被存儲。當確定的結果表示恢復信息324未被存儲時,由于未執(zhí)行“恢復再現(xiàn)”,因此流程前進至步驟S86。相反地,當確定的結果表示與盤101相應的恢復信息324被存儲,流程前進至步驟S82。
在步驟S82中,控制器對象330將事件continuePlay通知腳本層302。當控制器對象330已經通知事件continuePlay,流程前進至步驟S83。在步驟S83中,腳本層302確定腳本程序中是否存在與事件continuePlay相應的事件處理程序onContinuePlay。當確定的結果表示腳本程序中存在與事件continuePlay相應的事件處理程序onContinuePlay時,流程前進至步驟S84。在步驟S84中,執(zhí)行事件處理程序onContinuePlay。
相反地,當在步驟S83中確定的結果表示腳本程序中不存在與事件continuePlay相應的事件處理程序onContinuePlay時,流程前進至步驟S85。在步驟S85中,執(zhí)行缺省的事件處理程序onContinuePlay。缺省的事件處理程序onContinuePlay預先構建在例如盤再現(xiàn)裝置100中。事件處理程序onContinuePlay通過恢復信息324執(zhí)行恢復再現(xiàn)。換句話說,與盤101相應的恢復信息324恢復為播放器狀態(tài)323B。電影播放器300通過播放器狀態(tài)323B再現(xiàn)內容。
如上所述,當用戶已經在步驟S80中選擇“從起點再現(xiàn)”或在步驟S81中確定的結果表示與盤101相應的恢復信息324未被存儲時,流程前進至步驟S86。在步驟S86中,控制器對象330生成事件autoPlay并將事件autoPlay通知腳本層302。在步驟S87中,確定腳本程序是否具有與事件autoPlay相應的事件處理程序onAutoPlay。當確定的結果表示腳本程序具有事件處理程序onAutoPlay時,流程前進至步驟S88。在步驟S88中,腳本層302執(zhí)行事件處理程序onAutoPlay。
相反地,當在步驟87中確定的結果表示腳本程序不具有事件處理程序onAutoPlay時,流程前進至步驟S89。在步驟S89中,不執(zhí)行處理。以這種方式,可以有意生成不執(zhí)行處理的狀態(tài)。在這種情況中,通過菜單按鍵,生成相應事件。
內容形成器以一側可以確定腳本程序是否具有事件處理程序onAutoPlay。當腳本程序不具有事件處理程序onAutoPlay時,即使用戶將盤101載入盤再現(xiàn)裝置100時,數(shù)據(jù)也不從盤101自動再現(xiàn)。從用戶方便的角度來看,最好提供事件處理程序onAutoPlay。
下面,將要描述內容執(zhí)行期間將現(xiàn)有資源文件轉換為另一資源文件的方法。由于播放器的存儲器113等容量的限制,包括腳本程序、用于菜單屏幕的靜止圖像以及聲音數(shù)據(jù)的資源文件的數(shù)據(jù)大小受限制。當將資源文件分割為幾部分,并且在內容再現(xiàn)期間將一個分割的部分轉換為另一部分時,可以處理更多的腳本程序和靜止圖像以及許多聲音數(shù)據(jù)。
圖54是顯示將現(xiàn)有資源文件轉換為另一資源文件的處理示例的流程圖。通過從腳本層302發(fā)出至本地實現(xiàn)平臺301的方法changeResource()將現(xiàn)有資源文件轉換為另一資源文件。方法changeResource()是本地實現(xiàn)平臺301中的控制器對象330的方法。內容形成器一側在腳本程序中資源轉換位置描述方法changeResource()。
在步驟S100中,腳本程序將方法changeResource()發(fā)出至本地實現(xiàn)平臺301。當本地實現(xiàn)平臺301接收方法changeResource()時,它參照電影播放器300的播放器狀態(tài)323B并且確定電影播放器300的操作模式是否菜單模式(在步驟S101)。當確定的結果表示操作模式不是菜單模式時,流程前進至步驟S111。在步驟S111中,本地實現(xiàn)平臺301的控制器對象330返回值“假”作為方法changeResource()至腳本程序的返回值,以便將轉換資源文件失敗通知腳本程序(在步驟S112)。步驟S112之后,流程可以返回至步驟S100。
當在步驟S101中確定的結果表示電影播放器300的操作模式是菜單模式時,流程前進至步驟S102。在步驟S102中,確定電影播放器300的狀態(tài)是停止狀態(tài)還是播放狀態(tài)中的暫停狀態(tài)。換句話說,在步驟S102中,確定電影播放器300的內容中是否已經過時間。當電影播放器300的狀態(tài)是停止狀態(tài)或播放狀態(tài)中的暫停狀態(tài)時,不必從盤讀取流。播放狀態(tài)中的暫停狀態(tài)可以通過從緩存中反復讀視頻數(shù)據(jù)的一幀的視頻輸出模塊241實現(xiàn)。
當電影播放器300的狀態(tài)既不是停止狀態(tài)也不是播放狀態(tài)中的暫停狀態(tài)時,即在播放狀態(tài)中再現(xiàn)的內容中沒有經過時間,流程前進至步驟S111。在步驟S111中,控制器對象330將值“假”返回為返回值。在步驟S112中,資源文件的轉換失敗。
相反地,當在步驟S112中確定的結果表示電影播放器300的狀態(tài)是停止狀態(tài)或播放狀態(tài)中的暫停狀態(tài)時,流程前進至步驟S103。在步驟S103中,本地實現(xiàn)平臺301的控制器對象330將值“真”作為返回值返回至腳本程序。此后,流程前進至步驟S104。在步驟S104中,本地實現(xiàn)平臺301抑制新事件的生成。換句話說,在步驟S104中,本地實現(xiàn)平臺301抑制發(fā)出至腳本層302的事件314生成。在步驟S105中,本地實現(xiàn)平臺301放棄全部已經排隊的事件314。
在步驟S106中,清除當前顯示的屏幕(頁)。將與沒有轉換的現(xiàn)有資源文件相應顯示的屏幕(頁)的數(shù)據(jù)從例如視頻輸出模塊241存儲視頻數(shù)據(jù)的緩存刪除。該處理擦除與未轉換的現(xiàn)有資源文件相應顯示的圖像數(shù)據(jù)。在這一點上,擦除與現(xiàn)有資源文件相應生成并與視頻圖像疊加的圖形圖像。當電影播放器300的狀態(tài)是播放狀態(tài)中的暫停狀態(tài)時,盡管在背景中顯示暫停的視頻圖像,然而該視頻靜止圖像連續(xù)地顯示。
可以忽略處理的步驟S106。換句話說,當現(xiàn)有資源文件正在轉換為另一資源文件時或緊接在現(xiàn)有資源文件已經轉換為另一資源文件之后,如果圖像數(shù)據(jù)存儲于緩存中,當視頻輸出模塊241重復地讀取圖像數(shù)據(jù)時,可以連續(xù)顯示屏幕(頁)。
在步驟S107中,本地實現(xiàn)平臺301放棄現(xiàn)有資源文件并從盤讀取新的資源文件。下一個要讀取的資源文件在前一個資源文件中描述。當讀取新的資源文件時,流程前進至步驟S108。在步驟S108中,本地實現(xiàn)平臺301執(zhí)行已經讀取的資源文件的初始執(zhí)行。本地實現(xiàn)平臺301將事件resourceChanged發(fā)出至新腳本文件的腳本層302。與事件resourceChanged相應,腳本層302執(zhí)行事件處理程序onResourceChanged。在這一點上,允許新事件的生成。
在事件驅動模型中,抑制新事件并對排隊的事件處理程序進行處理的定時是重要的。因此,當它們不被適當?shù)靥幚頃r,可能出現(xiàn)不期望的事件并且可能執(zhí)行排隊的事件處理程序。結果,可能不完成打算的操作。
根據(jù)本發(fā)明的該實施例,在前述流程圖的步驟S101中,確定是否從本地實現(xiàn)平臺301接受對應于用戶輸入310的控制命令。在步驟S102,確定流是否已經從盤讀取。換句話說,根據(jù)本發(fā)明的該實施例,執(zhí)行對內容再現(xiàn)期間將現(xiàn)有流轉換為另一個流的所需的這些處理。因此,現(xiàn)有資源文件可以安全地轉換為另一資源文件。
特別地,在執(zhí)行步驟S101和步驟S102之前,在出現(xiàn)方法changeResource()之前,最好電影播放器300的操作模式明確為菜單模式,其狀態(tài)是停止狀態(tài)。
為了實現(xiàn)將現(xiàn)有資源文件轉換為另一資源文件,存儲于播放器的存儲器中的兩種信息需要被適當?shù)乜刂?。第一種類型的信息需要被保持直到現(xiàn)有資源文件已經轉換為另一資源文件。第二種信息需要當現(xiàn)有資源文件轉換為另一資源文件時被放棄。
播放器狀態(tài)323B、恢復信息324和用戶數(shù)據(jù)(存儲于用戶數(shù)據(jù)區(qū)503中的數(shù)據(jù))是需要保持到已經將現(xiàn)有資源文件轉換為另一資源文件的數(shù)據(jù)。
相反地,腳本層302中保存的全局變量和代入事件處理程序的屬性的值是,在已經將現(xiàn)有資源文件轉換為另一資源文件后不保持的數(shù)據(jù)。
緊接在現(xiàn)有資源文件轉換為另一資源文件之前,擦除作為菜單、按鈕圖像等等顯示的頁(屏幕)。即使這些圖像數(shù)據(jù)等等留在視頻輸出模塊241的緩存中并且連續(xù)地被顯示,構成菜單顯示頁(屏幕)的數(shù)據(jù)從存儲資源文件的存儲器中擦除。同樣,緊接在現(xiàn)有資源文件轉換為另一資源文件之前,放棄所有排隊的事件處理程序。結果,在將現(xiàn)有資源文件轉換為另一資源文件之后,事件處理程序不排隊。
因此,根據(jù)本發(fā)明的該實施例,定義在現(xiàn)有資源文件轉換為另一資源文件之后要保持的信息和在現(xiàn)有資源文件轉換為另一資源文件之后將不保持的信息。緊接在現(xiàn)有資源文件轉換為另一資源文件之前,放棄事件處理程序。因此,現(xiàn)有資源文件可以轉換為另一資源文件。
本發(fā)明的前述實施例應用于處理音頻流和視頻流的盤再現(xiàn)裝置100。代替地,本發(fā)明的這些實施例可以應用于再現(xiàn)音頻流或視頻流的盤再現(xiàn)裝置100。
在本發(fā)明的前述實施例中,作為內容數(shù)據(jù)的記錄介質,描述了盤型記錄介質。代替地,可以應用作為內容數(shù)據(jù)的記錄介質的半導體存儲器。
在本發(fā)明的前述實施例中,盤再現(xiàn)裝置100由專用硬件構成。代替地,除盤驅動器之外的盤再現(xiàn)裝置100的結構可以由運行在計算機裝置上的軟件實現(xiàn)。在這種情況中,實現(xiàn)盤再現(xiàn)裝置100的軟件可以由如致密盤只讀存儲器(CD-ROM)或數(shù)字通用盤ROM(DVD-ROM)的記錄介質提供。在這種情況中,用于實現(xiàn)盤再現(xiàn)裝置100的軟件的記錄介質載入計算機裝置的盤驅動器中,并且記錄在記錄介質上的軟件安裝于計算機裝置。當基于UMD的盤驅動裝置連接至計算機裝置時,可以實現(xiàn)與根據(jù)本發(fā)明的前述實施例的盤再現(xiàn)裝置100相同的結構??梢詫④浖涗浻赨MD視頻內容的記錄介質上。
本領域技術人員應該理解,依據(jù)設計要求和在處于如權利要求或其等效的范圍內的范圍的其它因素,可以進行各種改進、組合、子組合以及替換。
權利要求
1.一種計算機裝置可讀的記錄介質,其上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù),其中資源文件的文件名包括表示當再現(xiàn)內容數(shù)據(jù)時正常使用的語言的信息,以及表示資源文件的語言屬性的信息。
2.如權利要求1所述的記錄介質,其中在計算機裝置讀取資源文件之后,當正在再現(xiàn)記錄介質的預定區(qū)域時,資源文件存儲于計算機裝置的存儲器中。
3.如權利要求1所述的記錄介質,其中資源文件的文件名進一步包括表示根據(jù)資源文件控制內容數(shù)據(jù)的再現(xiàn)時所期望的顯示縱橫長度比的信息。
4.一種從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)裝置,該再現(xiàn)裝置包括讀取裝置,從記錄介質中讀取數(shù)據(jù),該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù),存儲裝置,用于存儲由讀取裝置讀取的資源文件;以及播放器裝置,根據(jù)再現(xiàn)控制程序再現(xiàn)內容數(shù)據(jù),其中當在記錄介質上記錄多個資源文件時,讀取裝置選擇并讀取播放器裝置根據(jù)資源文件的文件名從多個資源文件中首先使用的資源文件,從而從起點再現(xiàn)內容數(shù)據(jù)。
5.如權利要求4所述的再現(xiàn)裝置,其中資源文件的文件名至少包括表示當再現(xiàn)內容數(shù)據(jù)時正常使用的語言的信息,以及表示資源文件的語言屬性的信息,其中當播放器裝置從起點再現(xiàn)內容數(shù)據(jù)時,讀取裝置確定是否存在根據(jù)資源文件的文件名其語言屬性與記錄介質上的設置語言相匹配的資源文件;其中當確定的結果表示存在其語言屬性與記錄介質上的設置語言相匹配的資源文件時,讀取裝置選擇并讀取資源文件;以及當確定的結果表示不存在其語言屬性與記錄介質上的設置語言相匹配的資源文件時,讀取裝置選擇并讀取其文件名包括表示正常使用于再現(xiàn)內容數(shù)據(jù)的語言的信息的資源文件。
6.如權利要求5所述的再現(xiàn)裝置,其中資源文件的文件名進一步包括表示當根據(jù)資源文件控制內容數(shù)據(jù)的再現(xiàn)時所期望的顯示縱橫長度比的信息,以及其中當存在其語言屬性與設置語言相匹配或其文件名包括表示正常使用于記錄介質上的語言的信息的多個資源文件時,根據(jù)表示文件名中包括的顯示縱橫長度比的信息,讀取裝置從多個資源文件中選擇并讀取資源文件。
7.一種從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)方法,該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括使播放器裝置控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù),該再現(xiàn)方法包括以下步驟當在記錄介質上記錄多個資源文件時,選擇并讀取播放器裝置根據(jù)資源文件的文件名從多個資源文件中首先使用的資源文件,從而從起點再現(xiàn)內容數(shù)據(jù)。
8.一種使計算機裝置執(zhí)行從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)方法的再現(xiàn)程序,該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括使播放器裝置控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù),該再現(xiàn)方法包括以下步驟當在記錄介質上記錄多個資源文件時,選擇并讀取播放器裝置根據(jù)資源文件的文件名從多個資源文件中首先使用的資源文件,從而從起點再現(xiàn)內容數(shù)據(jù)。
9.一種計算機裝置可讀并且其上記錄再現(xiàn)程序的記錄介質,該再現(xiàn)程序使計算機裝置執(zhí)行從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)方法,該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括使播放器裝置控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù),該再現(xiàn)方法包括以下步驟當在記錄介質上記錄多個資源文件時,選擇并讀取播放器裝置根據(jù)資源文件的文件名從多個資源文件中首先使用的資源文件,從而從起點再現(xiàn)內容數(shù)據(jù)。
10.一種從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)裝置,該再現(xiàn)裝置包括讀取裝置,從記錄介質中讀取數(shù)據(jù),該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及多個資源文件,包括控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù),存儲裝置,用于存儲由讀取裝置讀取的資源文件;以及播放器裝置,根據(jù)再現(xiàn)控制程序再現(xiàn)內容數(shù)據(jù),并基于四種狀態(tài)控制內容數(shù)據(jù)的再現(xiàn),該四種狀態(tài)定義為依據(jù)內容數(shù)據(jù)是否正在被再現(xiàn)而分類的兩種狀態(tài)以及依據(jù)與用戶操作相應的控制命令是否被接受而分類的兩種狀態(tài)的組合;以及資源文件轉換控制裝置,當內容數(shù)據(jù)正在被再現(xiàn)時,根據(jù)再現(xiàn)控制程序的命令,控制多個資源文件中將一個資源文件轉換為另一個資源文件,其中,在四種狀態(tài)中,在控制命令不被接受的狀態(tài)以及內容數(shù)據(jù)再現(xiàn)期間的暫停狀態(tài)或者在內容數(shù)據(jù)不是正在被再現(xiàn)的狀態(tài),資源文件轉換控制裝置將一個資源文件轉換為另一個資源文件。
11.如權利要求10所述的再現(xiàn)裝置,其中再現(xiàn)控制程序根據(jù)事件驅動模型控制內容數(shù)據(jù)的再現(xiàn)。
12.一種從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)方法,該再現(xiàn)方法包括以下步驟從記錄介質中讀取數(shù)據(jù),該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及多個資源文件,包括控制播放器裝置再現(xiàn)內容數(shù)據(jù)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù),控制播放器裝置根據(jù)再現(xiàn)控制程序基于四種狀態(tài)再現(xiàn)內容數(shù)據(jù),該四種狀態(tài)定義為依據(jù)內容數(shù)據(jù)是否正在被再現(xiàn)而分類的兩種狀態(tài)以及依據(jù)與用戶操作相應的控制命令是否被接受而分類的兩種狀態(tài)的組合;以及當內容數(shù)據(jù)正在被再現(xiàn)時,根據(jù)再現(xiàn)控制程序的命令,控制多個資源文件中將一個資源文件轉換為另一個資源文件,其中,在四種狀態(tài)中,在控制命令不被接受的狀態(tài)以及內容數(shù)據(jù)再現(xiàn)期間的暫停狀態(tài)或者在內容數(shù)據(jù)不是正在被再現(xiàn)的狀態(tài),將一個資源文件轉換為另一個資源文件。
13.一種使計算機裝置執(zhí)行從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)方法的再現(xiàn)程序,該再現(xiàn)方法包括以下步驟從記錄介質中讀取數(shù)據(jù),該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及多個資源文件,包括控制播放器裝置再現(xiàn)內容數(shù)據(jù)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù),控制播放器裝置根據(jù)再現(xiàn)控制程序基于四種狀態(tài)再現(xiàn)內容數(shù)據(jù),該四種狀態(tài)定義為依據(jù)內容數(shù)據(jù)是否正在被再現(xiàn)而分類的兩種狀態(tài)以及依據(jù)與用戶操作相應的控制命令是否被接受而分類的兩種狀態(tài)的組合;以及當內容數(shù)據(jù)正在被再現(xiàn)時,根據(jù)再現(xiàn)控制程序的命令,控制多個資源文件中將一個資源文件轉換為另一個資源文件,其中,在四種狀態(tài)中,在控制命令不被接受的狀態(tài)以及內容數(shù)據(jù)再現(xiàn)期間的暫停狀態(tài)或者在內容數(shù)據(jù)不是正在被再現(xiàn)的狀態(tài),將一個資源文件轉換為另一個資源文件。
14.一種計算機裝置可讀并且其上記錄再現(xiàn)程序的記錄介質,該再現(xiàn)程序使計算機裝置執(zhí)行從記錄介質中再現(xiàn)內容數(shù)據(jù)的再現(xiàn)方法,該再現(xiàn)方法包括以下步驟從記錄介質中讀取數(shù)據(jù),該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及多個資源文件,包括控制播放器裝置再現(xiàn)內容數(shù)據(jù)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù),控制播放器裝置根據(jù)再現(xiàn)控制程序基于四種狀態(tài)再現(xiàn)內容數(shù)據(jù),該四種狀態(tài)定義為依據(jù)內容數(shù)據(jù)是否正在被再現(xiàn)而分類的兩種狀態(tài)以及依據(jù)與用戶操作相應的控制命令是否被接受而分類的兩種狀態(tài)的組合;以及當內容數(shù)據(jù)正在被再現(xiàn)時,根據(jù)再現(xiàn)控制程序的命令,控制多個資源文件中將一個資源文件轉換為另一個資源文件,其中,在四種狀態(tài)中,在控制命令不被接受的狀態(tài)以及內容數(shù)據(jù)再現(xiàn)期間的暫停狀態(tài)或者在內容數(shù)據(jù)不是正在被再現(xiàn)的狀態(tài),將一個資源文件轉換為另一個資源文件。
15.一種計算機裝置可讀的記錄介質,該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及多個資源文件,包括使播放器裝置控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù),該再現(xiàn)控制程序使得播放器裝置通過再現(xiàn)控制命令基于四種狀態(tài)控制內容數(shù)據(jù)的再現(xiàn),該四種狀態(tài)定義為依據(jù)內容數(shù)據(jù)是否正在被再現(xiàn)而分類的兩種狀態(tài)以及依據(jù)與用戶操作相應的控制命令是否被接受而分類的兩種狀態(tài)的組合;以及播放器裝置,在四種狀態(tài)中,在控制命令不被接受的狀態(tài)以及內容數(shù)據(jù)再現(xiàn)期間的暫停狀態(tài)或者在內容數(shù)據(jù)不是正在被再現(xiàn)的狀態(tài),當內容數(shù)據(jù)正在被再現(xiàn)時,根據(jù)再現(xiàn)控制程序的命令,在多個資源文件中將一個資源文件轉換為另一個資源文件。
16.如權利要求15所述的記錄介質,其中再現(xiàn)控制程序使播放器裝置根據(jù)事件驅動模型控制內容數(shù)據(jù)的再現(xiàn)。
17.一種具有數(shù)據(jù)結構的信號,該數(shù)據(jù)結構具有內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù),其中資源文件的文件名包括表示當再現(xiàn)內容數(shù)據(jù)時正常使用的語言的信息,以及表示資源文件的語言屬性的信息。
18.一種從記錄介質再現(xiàn)內容數(shù)據(jù)的再現(xiàn)裝置,該再現(xiàn)裝置包括讀取部件,配置為從記錄介質中讀取數(shù)據(jù),該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù),存儲部件,配置為存儲由讀取部件讀取的資源文件;以及播放器部件,配置為根據(jù)再現(xiàn)控制程序再現(xiàn)內容數(shù)據(jù),其中,當在記錄介質上記錄多個資源文件時,讀取部件選擇并讀取播放器部件根據(jù)資源文件的文件名從多個資源文件中首先使用的資源文件,從而從起點再現(xiàn)內容數(shù)據(jù)。
19.一種從記錄介質再現(xiàn)內容數(shù)據(jù)的再現(xiàn)裝置,該再現(xiàn)裝置包括讀取部件,配置為從記錄介質中讀取數(shù)據(jù),該記錄介質上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及多個資源文件,包括控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù),存儲部件,配置為存儲由讀取部件讀取的資源文件;以及播放器部件,配置為根據(jù)再現(xiàn)控制程序再現(xiàn)內容數(shù)據(jù),并基于四種狀態(tài)控制內容數(shù)據(jù)的再現(xiàn),該四種狀態(tài)定義為依據(jù)內容數(shù)據(jù)是否正在被再現(xiàn)而分類的兩種狀態(tài)以及依據(jù)與用戶操作相應的控制命令是否被接受而分類的兩種狀態(tài)的組合;以及資源文件轉換控制部件,配置為當內容數(shù)據(jù)正在被再現(xiàn)時,根據(jù)再現(xiàn)控制程序的命令,控制多個資源文件中將一個資源文件轉換為另一個資源文件,其中,在四種狀態(tài)中,在控制命令不被接受的狀態(tài)以及內容數(shù)據(jù)再現(xiàn)期間的暫停狀態(tài)或者在內容數(shù)據(jù)不是正在被再現(xiàn)的狀態(tài),資源文件轉換控制部件將一個資源文件轉換為另一個資源文件。
全文摘要
本發(fā)明公開了一種記錄介質。該記錄介質可由計算機裝置讀取,其上記錄內容數(shù)據(jù),包括視頻流和音頻流的至少一個;以及至少一個資源文件,包括控制內容數(shù)據(jù)再現(xiàn)的再現(xiàn)控制程序和由再現(xiàn)控制程序使用的數(shù)據(jù)。資源文件的文件名包括表示當再現(xiàn)內容數(shù)據(jù)時正常使用的語言的信息,以及表示資源文件的語言屬性的信息。
文檔編號G11B20/12GK1822175SQ20051012167
公開日2006年8月23日 申請日期2005年12月2日 優(yōu)先權日2004年12月2日
發(fā)明者浜田俊也, 藤波靖, 各務辰哉, 井原宏二, 內海秀介 申請人:索尼株式會社, 索尼計算機娛樂公司