專(zhuān)利名稱(chēng):記錄介質(zhì)、記錄方法、再現(xiàn)裝置和方法以及計(jì)算機(jī)可讀程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及諸如BD-ROM和再現(xiàn)裝置的記錄介質(zhì),并特別涉及通過(guò)再現(xiàn)數(shù)字流來(lái)加字幕的技術(shù),其中通過(guò)復(fù)用視頻流和圖形流生成該數(shù)字流。
背景技術(shù):
通過(guò)渲染圖形流顯示的字幕對(duì)于不同語(yǔ)言地域的人享受外語(yǔ)電影來(lái)說(shuō)是重要的手段。此類(lèi)圖形流與代表運(yùn)動(dòng)圖像的視頻流復(fù)用,并記錄在記錄介質(zhì)上。圖形流包括多個(gè)顯示集合,每個(gè)顯示集合由顯示控制信息和圖形數(shù)據(jù)組成。每個(gè)顯示集合用于顯示電影再現(xiàn)中的單獨(dú)字幕。從記錄介質(zhì)中讀取顯示集合,并一個(gè)個(gè)處理,作為運(yùn)動(dòng)圖像進(jìn)行的再現(xiàn),以與運(yùn)動(dòng)圖像一同顯示字幕。
這里,如果只在前面緊鄰的一個(gè)顯示集合的處理完成之后處理每個(gè)顯示集合,就出現(xiàn)處理延遲。特別當(dāng)每個(gè)顯示集合具有例如1920×1080的高分辨率時(shí),出現(xiàn)明顯的處理延遲。因此,當(dāng)圖形流包含多個(gè)顯示集合時(shí),就出現(xiàn)需要并行處理顯示集合。
發(fā)明內(nèi)容
在目標(biāo)再現(xiàn)裝置執(zhí)行流水線處理的時(shí)候,可能有這樣一種情況,其中顯示集合(DSn+1)的圖形對(duì)象覆蓋了顯示集合(DSn)的圖形對(duì)象。
本發(fā)明在于提供一種記錄介質(zhì),其可以在目標(biāo)再現(xiàn)裝置執(zhí)行流水線處理的時(shí)候,防止DSn的圖形對(duì)象被DSn+1的圖形對(duì)象覆蓋。
通過(guò)一種用于存儲(chǔ)數(shù)據(jù)的記錄介質(zhì)來(lái)實(shí)現(xiàn)上述目標(biāo),該記錄介質(zhì)包括通過(guò)復(fù)用視頻流和圖形流而生成的數(shù)字流,其中所述圖形流包括多個(gè)顯示集合,每個(gè)所述顯示集合都用于圖形顯示;所述顯示集合包括PCS(呈現(xiàn)成分段)、用于限定圖形對(duì)象的ODS(對(duì)象限定段)以及WDS(窗口限定段);所述PCS包括時(shí)間信息,所述時(shí)間信息用于在所述視頻流的再現(xiàn)時(shí)間軸上指定所述顯示集合中PCS的活動(dòng)周期;每個(gè)段包含在包中;所述時(shí)間信息包括寫(xiě)在包中的解碼時(shí)戳以及呈現(xiàn)時(shí)戳;WDS是指定屏幕上窗口的位置、高度以及寬度的信息,該窗口是繪制區(qū)域,在該繪制區(qū)域中,在與所述視頻流代表的運(yùn)動(dòng)圖像重疊之前,基于所述顯示集合中PCS來(lái)合成所述圖形顯示;PTS(DSn[PCS]),其是包含第n個(gè)顯示集合DSn中PCS的包的呈現(xiàn)時(shí)戳,指定所述顯示集合DSn中PCS的活動(dòng)周期的結(jié)束時(shí)間;PTS(DSn+1[PCS]),其是包含后面緊鄰的顯示集合DSn+1中PCS的包的呈現(xiàn)時(shí)戳,指定所述顯示集合DSn+1中PCS的活動(dòng)周期的結(jié)束時(shí)間;以及當(dāng)所述顯示集合DSn中的WDS限定的m個(gè)窗口的繪制區(qū)域的總尺寸通過(guò)下式表示時(shí) 則PTS(DSn[PCS])以及PTS(DSn+1[PCS])滿(mǎn)足下面的關(guān)系 其中//是運(yùn)算符,用于將分?jǐn)?shù)部分取整的除法運(yùn)算。
根據(jù)此結(jié)構(gòu),∑SIZE(WDS.WIN[i])是WDS[i]的總尺寸,且(90000×∑SIZE(DSn[WDS].Window[i]))//256000000是對(duì)此進(jìn)行渲染所需的時(shí)間。通過(guò)以這種方式延遲圖形對(duì)象的顯示時(shí)間,DSn+1的圖形對(duì)象保持不覆蓋DSn的圖形對(duì)象。
圖1是本發(fā)明所涉及的記錄介質(zhì)的示例性應(yīng)用; 圖2示出了圖1所示的BD-ROM的結(jié)構(gòu); 圖3示出了AV剪輯的結(jié)構(gòu); 圖4A示出了呈現(xiàn)圖形流的結(jié)構(gòu); 圖4B示出了包含功能段的PES數(shù)據(jù)包; 圖5示出了由多種功能段構(gòu)成的邏輯結(jié)構(gòu); 圖6示出了字幕顯示位置和時(shí)元之間的關(guān)系; 圖7A示出了ODS的數(shù)據(jù)結(jié)構(gòu); 圖7B示出了PDS的數(shù)據(jù)結(jié)構(gòu); 圖8A示出了WDS的數(shù)據(jù)結(jié)構(gòu); 圖8B示出了PCS的數(shù)據(jù)結(jié)構(gòu); 圖9示出了用于顯示字幕的DS的示例性描述; 圖10示出了DS1中的PCS和WDS的示例性描述; 圖11示出了DS2中的PCS的示例性描述; 圖12示出了DS3中的PCS的示例性描述; 圖13示出了當(dāng)執(zhí)行如圖10至12所示的圖形更新時(shí)對(duì)象緩沖器中的存儲(chǔ)空間; 圖14示出了用于計(jì)算DECODEDURATION的示例性算法; 圖15是圖14所示算法的流程圖; 圖16A和16B是圖14所示算法的流程圖; 圖17A示出了一個(gè)窗口中存在一個(gè)圖形對(duì)象的情形; 圖17B和17C是圖14所示算法中所用的參數(shù)的時(shí)序圖; 圖18A示出了一個(gè)窗口中存在兩個(gè)圖形對(duì)象的情形; 圖18B和18C是圖14所示算法中所用的參數(shù)的時(shí)序圖; 圖19A示出了兩個(gè)圖形對(duì)象分別存在于兩個(gè)窗口中的情形; 圖19B是當(dāng)解碼時(shí)間(2)大于清除時(shí)間(1)與寫(xiě)入時(shí)間(31)之和時(shí)的時(shí)序圖; 圖19C是當(dāng)清除時(shí)間(1)與寫(xiě)入時(shí)間(31)之和大于解碼時(shí)間(2)時(shí)的時(shí)序圖; 圖20示出了一個(gè)DS的處理內(nèi)容; 圖21示出了如何在一個(gè)流水線解碼器模型中并行處理兩個(gè)DS; 圖22示出了在三個(gè)DS中重疊PCS的活動(dòng)周期的實(shí)例; 圖23示出了每個(gè)DS中功能段的時(shí)戳的設(shè)定; 圖24示出了每個(gè)DS中PCS的時(shí)戳; 圖25A示出了兩個(gè)DS中PCS的活動(dòng)周期重疊的情況; 圖25B示出了兩個(gè)DS中PCS的活動(dòng)周期不重疊的情況; 圖26示出了指明傳送完成的END段; 圖27A至27C示出了活動(dòng)周期重疊和object_id分配之間的關(guān)系; 圖28示出了本發(fā)明的實(shí)施例所涉及的再現(xiàn)裝置的內(nèi)部構(gòu)造; 圖29示出了圖28中所示的圖形平面、編碼數(shù)據(jù)緩沖器和對(duì)象緩沖器的傳輸速率Rx、Rc、Rd和尺寸; 圖30是再現(xiàn)裝置中的流水線處理的時(shí)序圖; 圖31是當(dāng)ODS解碼在清除圖形平面之前結(jié)束情況下的流水線處理的時(shí)序圖; 圖32是合成緩沖器、對(duì)象緩沖器、編碼數(shù)據(jù)緩沖器和圖形平面的占用率變化的時(shí)序圖; 圖33是加載功能段的操作的流程圖; 圖34示出了執(zhí)行跳節(jié)操作的情形; 圖35示出了當(dāng)執(zhí)行如圖34所示的跳節(jié)操作時(shí)向編碼數(shù)據(jù)緩沖器中加載DS10的情形; 圖36示出了當(dāng)執(zhí)行普通再現(xiàn)時(shí)的情形; 圖37示出了當(dāng)執(zhí)行如圖36所示的普通再現(xiàn)時(shí)向編碼數(shù)據(jù)緩沖器中加載DS1和DS20的情形; 圖38是圖28所示的圖形控制器的操作流程圖; 圖39是圖形控制器的操作流程圖; 圖40是圖形控制器的操作流程圖; 圖41示出了BD-ROM的制造步驟。
具體實(shí)施例方式 (第一個(gè)實(shí)施例) 下面描述本發(fā)明第一個(gè)實(shí)施例所涉及的記錄介質(zhì)。下面首先介紹該記錄介質(zhì)的使用。圖1示出了該記錄介質(zhì)的示例性應(yīng)用。在圖中,該記錄介質(zhì)為BD-ROM 100。BD-ROM 100用于在家庭影院系統(tǒng)中提供電影,該家庭影院系統(tǒng)包括再現(xiàn)裝置200、電視300和遙控400。
接著介紹記錄介質(zhì)的制造。通過(guò)改進(jìn)BD-ROM的應(yīng)用層,可以實(shí)現(xiàn)該記錄介質(zhì)。圖2示出了BD-ROM 100的示例性結(jié)構(gòu)。
在圖中,第四級(jí)示出了BD-ROM 100,第三級(jí)示出了BD-ROM100上的軌道。圖中所示的軌道向外延伸成直線,但實(shí)際上,軌道從BD-ROM 100的中心向外螺旋延伸。軌道包括引入?yún)^(qū)、容量區(qū)和引出區(qū)。容量區(qū)的層模型是物理層、文件系統(tǒng)層和應(yīng)用層。第一級(jí)以目錄結(jié)構(gòu)的形式示出了BD-ROM 100的應(yīng)用層格式(應(yīng)用格式)。如圖所示,BD-ROM 100在根目錄下有BDMV目錄。BDMV目錄包含一個(gè)用于存儲(chǔ)AV剪輯的文件(XXX.M2TS)、一個(gè)用于存儲(chǔ)AV剪輯的管理信息的文件(XXX.CLPI)和一個(gè)用于定義AV剪輯的邏輯播放路徑(播放列表)的文件(YYY.MPLS)。通過(guò)生成這樣的應(yīng)用格式,可以實(shí)現(xiàn)BD-ROM 100。如果上述各文件類(lèi)型都有一個(gè)以上的文件,則在BDMV目錄下設(shè)置三個(gè)名為STREAM、CLIPNF和PLAYLIST的目錄,分別用來(lái)存儲(chǔ)與XXX.M2TS類(lèi)型相同的文件、與XXX.CLPI類(lèi)型相同的文件以及與YYY.MPLS類(lèi)型相同的文件。
下面說(shuō)明該應(yīng)用格式中的AV剪輯(XXX.M2TS)。
AV剪輯(XXX.M2TS)是MPEG-TS(傳輸流)格式的數(shù)字流,它是通過(guò)復(fù)用一個(gè)視頻流、至少一個(gè)音頻流和一個(gè)呈現(xiàn)圖形流而獲得的。視頻流代表電影的運(yùn)動(dòng)圖像,音頻流代表電影的音頻,呈現(xiàn)圖形流代表電影的字幕。圖3示出了AV剪輯(XXX.M2TS)的結(jié)構(gòu)。
在圖中,中間級(jí)示出了AV剪輯??梢匀缦聞?chuàng)建該AV剪輯。將上方第一級(jí)中由多個(gè)視頻幀(圖像pj1、pj2、pj3……)構(gòu)成的視頻流和由多個(gè)音頻幀構(gòu)成的音頻流轉(zhuǎn)換成上方第二級(jí)中的PES數(shù)據(jù)包,然后再轉(zhuǎn)換成上方第三級(jí)中的TS數(shù)據(jù)包。同樣,將下方第一級(jí)中的呈現(xiàn)圖形流轉(zhuǎn)換成下方第二級(jí)中的PES數(shù)據(jù)包,然后再轉(zhuǎn)換成下方第三級(jí)中的TS數(shù)據(jù)包。將視頻、音頻和呈現(xiàn)圖形流的這些TS數(shù)據(jù)包進(jìn)行復(fù)用,從而形成AV剪輯。
在圖3所示的例子中,只有一個(gè)呈現(xiàn)圖形流被復(fù)用到AV剪輯中。如果BD-ROM 100支持多種語(yǔ)言,則可以將每種語(yǔ)言的呈現(xiàn)圖形流都復(fù)用到AV剪輯中。以上述方式生成的AV剪輯按照與計(jì)算機(jī)文件相同的方式被分成多個(gè)內(nèi)容,并存儲(chǔ)到BD-ROM 100上。
下面說(shuō)明呈現(xiàn)圖形流。圖4A示出了呈現(xiàn)圖形流的結(jié)構(gòu)。在圖中,第一級(jí)顯示的是構(gòu)成該AV剪輯的TS數(shù)據(jù)包序列。第二級(jí)顯示的是構(gòu)成呈現(xiàn)圖形流的PES數(shù)據(jù)包序列。該P(yáng)ES數(shù)據(jù)包序列是通過(guò)將第一級(jí)的TS數(shù)據(jù)包序列中具有預(yù)定PID的TS數(shù)據(jù)包的有效負(fù)載進(jìn)行連接而形成的。
第三級(jí)示出了呈現(xiàn)圖形流的結(jié)構(gòu)。呈現(xiàn)圖形流是由多個(gè)功能段構(gòu)成的,這些功能段包括PCS(呈現(xiàn)合成段)、WDS(窗口定義段)、PDS(調(diào)色板定義段)、ODS(對(duì)象定義段)和END(顯示集合段的末尾)。在這些功能段中,PCS是畫(huà)面合成段,WDS、PDS和ODS是定義段。一個(gè)功能段對(duì)應(yīng)于一個(gè)PES數(shù)據(jù)包或多個(gè)PES數(shù)據(jù)包。也就是說(shuō),一個(gè)功能段被轉(zhuǎn)換成一個(gè)PES數(shù)據(jù)包并記錄到BD-ROM 100上,或者,被分成多個(gè)片斷,再轉(zhuǎn)換成PES數(shù)據(jù)包,并記錄到BD-ROM 100上。
圖4B示出了包含功能段的PES數(shù)據(jù)包。如圖所示,每個(gè)PES數(shù)據(jù)包由包頭和有效負(fù)載構(gòu)成。有效負(fù)載攜帶功能段,包頭攜帶與該功能段相關(guān)聯(lián)的DTS和PTS。后面,將包含一個(gè)功能段的PES數(shù)據(jù)包的包頭中的DTS和PTS視為該功能段的DTS和PTS。
這些多種類(lèi)型的功能段形成如圖5所示的邏輯結(jié)構(gòu)。在圖中,第三級(jí)示出了功能段,第二級(jí)示出了DS(顯示集合),第一級(jí)示出了時(shí)元。
第二級(jí)中的DS是呈現(xiàn)圖形流中的一組功能段,用于創(chuàng)建一個(gè)圖形畫(huà)面。虛線hk2表明第三級(jí)中的功能段屬于哪個(gè)DS。從圖中可以看出,功能段序列PCS-WDS-PDS-ODS-END組成一個(gè)DS。再現(xiàn)裝置200從BD-ROM 100中讀取構(gòu)成該DS的這些功能段,以產(chǎn)生一個(gè)圖形畫(huà)面。
第一級(jí)中的時(shí)元指的是AV剪輯的再現(xiàn)時(shí)間軸上的連續(xù)存儲(chǔ)器管理的一個(gè)時(shí)間單元以及分配給該時(shí)間單元的一組數(shù)據(jù)。這里所說(shuō)的存儲(chǔ)器包括圖形平面,用于存儲(chǔ)一個(gè)圖形畫(huà)面;對(duì)象緩沖器,用于存儲(chǔ)解壓縮的圖形數(shù)據(jù)。連續(xù)存儲(chǔ)器管理意味著在該時(shí)元內(nèi),不刷新圖形平面和對(duì)象緩沖器,只在圖形平面的預(yù)定矩形區(qū)域中執(zhí)行圖形的刪除和呈現(xiàn)(刷新意味著清除整個(gè)圖形平面或整個(gè)對(duì)象緩沖器)。在該時(shí)元內(nèi),該矩形區(qū)域的大小和位置是固定的。只要在圖形平面的該固定矩形區(qū)域中執(zhí)行圖形的刪除和呈現(xiàn),就可以保證視頻和圖形的同步。換言之,時(shí)元是AV剪輯的再現(xiàn)時(shí)間軸上的一個(gè)時(shí)間單位,其中,可以保證視頻和圖形的同步。為了改變圖形平面中的圖形刪除/呈現(xiàn)區(qū)域,需要定義再現(xiàn)時(shí)間軸上的變化點(diǎn)以及從該點(diǎn)向前設(shè)置一個(gè)新的時(shí)元。在這兩個(gè)時(shí)元之間的邊界中,視頻和圖形的同步無(wú)法得到保證。
對(duì)于字幕,時(shí)元是再現(xiàn)時(shí)間軸上的一個(gè)時(shí)間段,其中,字幕出現(xiàn)在平面上固定矩形區(qū)域內(nèi)。圖6示出了字幕顯示位置和時(shí)元之間的關(guān)系。在圖中,字幕顯示位置的改變?nèi)Q于圖像的圖案。更詳細(xì)地說(shuō),三個(gè)字幕“Actually”、“I lied to you”和“Sorry”位于屏幕的底部,而兩個(gè)字幕“三年已經(jīng)過(guò)去了”和“從那以后?!蔽挥谄聊坏捻敳俊R虼?,為了增加可視性,字幕顯示位置從一個(gè)邊緣部分變化到另一邊緣部分。在這種情況下,在AV剪輯的再現(xiàn)時(shí)間軸上,在屏幕底部顯示字幕的時(shí)間段是時(shí)元1,在屏幕頂部顯示字幕的時(shí)間段是時(shí)元2。這兩個(gè)時(shí)元各有自己的字幕呈現(xiàn)區(qū)域。在時(shí)元1中,字幕呈現(xiàn)區(qū)域是Window1,對(duì)應(yīng)于屏幕的底部邊緣部分。在時(shí)元2中,字幕呈現(xiàn)區(qū)域是Window2,對(duì)應(yīng)于屏幕的頂部邊緣部分。在時(shí)元1和時(shí)元2中,對(duì)象緩沖器和圖形平面的存儲(chǔ)器管理是連續(xù)的,所以,字幕在該屏幕的相應(yīng)邊緣部分中無(wú)縫地顯示。對(duì)時(shí)元的解釋到此結(jié)束。
下面解釋DS。
在圖5中,虛線hk1表示第二級(jí)中的DS屬于哪個(gè)時(shí)元。如圖所示,DS序列(Epoch Start DS、Acquisition Point DS和Normal Case DS)構(gòu)成第一級(jí)中的一個(gè)時(shí)元。在這里,Epoch Start(時(shí)元開(kāi)始)、AcquisitionPoint(采集點(diǎn))和Normal Case(正常情況)是DS的類(lèi)型。在圖5中,Acquisition Point DS位于Normal Case DS之前,但它們的排列順序也可以反過(guò)來(lái)。
Epoch Start DS提供顯示效果“新顯示”,并表示一個(gè)新時(shí)元的開(kāi)始。Epoch Start DS包含下一畫(huà)面合成所需的全部功能段。提供EpochStart DS的位置是跳節(jié)操作的目的地,如電影中一章的開(kāi)始。
Acquisition Point DS提供顯示效果“顯示刷新”,并且與前面的Epoch Start DS相同。Acquisition Point DS不是時(shí)元的開(kāi)始,但卻包含下一畫(huà)面合成所需的全部功能段。因此,當(dāng)從Acquisition Point DS開(kāi)始再現(xiàn)時(shí),能夠可靠地顯示圖形。也就是說(shuō),通過(guò)Acquisition PointDS,可以從時(shí)元的中間點(diǎn)進(jìn)行畫(huà)面合成。
提供Acquisition Point DS的位置可以是跳節(jié)操作的目的地,例如可以通過(guò)時(shí)間搜索來(lái)指定的位置。時(shí)間搜索是一種操作,用于對(duì)與用戶(hù)的時(shí)間輸入(單位為分/秒)相對(duì)應(yīng)的再現(xiàn)點(diǎn)進(jìn)行定位。時(shí)間輸入的單位較大,如10分或10秒。因此,提供Acquisition Point DS的位置可以通過(guò)單位是10分或10秒的時(shí)間搜索來(lái)指定。通過(guò)在可由時(shí)間搜索指定的位置中提供Acquisition Point DS,當(dāng)執(zhí)行時(shí)間搜索時(shí),可以流暢地再現(xiàn)圖形流。
Normal Case DS提供顯示效果“顯示更新”,并且僅包含與前一畫(huà)面合成之間的差值。例如,如果DSv與它之前的Dsu具有相同的字幕,但卻具有不同的畫(huà)面合成,則DSv是僅包含一個(gè)PCS和一個(gè)END的Normal Case DS。這樣,就不必在DSs中提供覆蓋的ODS,從而可以減少BD-ROM 100上所存儲(chǔ)的數(shù)據(jù)量。由于Normal Case DS只包含差值,所以,不能單用Normal Case DS來(lái)顯示圖形。
下面說(shuō)明ODS、WDS和PDS(定義段)。
ODS是用于定義圖形對(duì)象的功能段。BD-ROM上記錄的AV剪輯的圖像質(zhì)量與高清晰度電視一樣高。因此,以1920×1080的高分辨率來(lái)設(shè)置圖形對(duì)象。由于該高分辨率,可以在BD-ROM上逼真地再現(xiàn)影院屏幕風(fēng)格的字幕,即,雅致的手寫(xiě)體字幕。
圖形對(duì)象由多個(gè)游程數(shù)據(jù)構(gòu)成。游程數(shù)據(jù)表示使用像素編碼的像素串,是像素值和該像素值的連續(xù)長(zhǎng)度。像素編碼有8個(gè)比特,表示從1到255的值。通過(guò)使用該像素編碼,游程數(shù)據(jù)設(shè)置全部顏色(16777216色)中任意256個(gè)像素顏色。應(yīng)當(dāng)注意的是,為了將圖形對(duì)象顯示為字幕,需要將字符串放置在透明色的背景上。
ODS定義根據(jù)圖7A所示的數(shù)據(jù)結(jié)構(gòu)的圖形對(duì)象。如圖所示,ODS包括segment_type字段,表示段類(lèi)型“ODS”;segment_length字段,表示ODS的數(shù)據(jù)長(zhǎng)度;object_id字段,標(biāo)識(shí)時(shí)元中的圖形對(duì)象;object_version_number字段,表示時(shí)元中的ODS的版本;last_in_sequence_flag字段;object_data_fragment字段,承載與圖形對(duì)象的部分或全部相對(duì)應(yīng)的連續(xù)字節(jié)序列。
更詳細(xì)地講,object_id是一個(gè)標(biāo)識(shí)符,用于標(biāo)識(shí)圖形對(duì)象,以及當(dāng)對(duì)ODS進(jìn)行解碼和將圖形對(duì)象緩沖到對(duì)象緩沖器中時(shí)該圖形對(duì)象在對(duì)象緩沖器中所占用的存儲(chǔ)區(qū)域。因此,當(dāng)對(duì)象緩沖器中有一個(gè)或多個(gè)圖形對(duì)象時(shí),用object_id字段值標(biāo)識(shí)對(duì)象緩沖器中的各存儲(chǔ)區(qū)域。假設(shè)將一個(gè)object_id分配給兩個(gè)或更多個(gè)ODS。在這種情況下,在將與一個(gè)ODS相對(duì)應(yīng)的圖形對(duì)象存儲(chǔ)到對(duì)象緩沖器之后,該圖形對(duì)象會(huì)被與隨后具有相同object_id的ODS相對(duì)應(yīng)的圖形對(duì)象覆蓋。這樣的更新意在防止對(duì)象緩沖器中出現(xiàn)很多小的自由空間和防止該對(duì)象緩沖器中的圖形對(duì)象的分散。當(dāng)顯示圖形時(shí),對(duì)象緩沖器中的圖形對(duì)象不斷地被傳輸?shù)綀D形平面。因此,如果對(duì)象緩沖器中存在很多小的自由空間或者一個(gè)圖形對(duì)象分散在對(duì)象緩沖器中,則讀取圖形對(duì)象的開(kāi)銷(xiāo)導(dǎo)致從對(duì)象緩沖器到圖形平面的傳輸效率降低。傳輸效率的這種降低會(huì)影響圖形和視頻的同步顯示。為了防止這種問(wèn)題,對(duì)象緩沖器中的現(xiàn)有圖形對(duì)象被具有相同object_id的一個(gè)新圖形對(duì)象覆蓋。
這里,覆蓋現(xiàn)有圖形對(duì)象的新圖形對(duì)象需要在尺寸上等于現(xiàn)有圖形對(duì)象,也就是說(shuō),新圖形對(duì)象既不能小于現(xiàn)有圖形對(duì)象,也不能大于現(xiàn)有圖形對(duì)象。因此,在創(chuàng)作時(shí),創(chuàng)作者需要使這些圖形對(duì)象尺寸相等。該尺寸約束條件,即具有相同object_id的圖形對(duì)象應(yīng)該寬度和高度相等,只適用于一個(gè)時(shí)元內(nèi)。具有相同object_id的圖形對(duì)象不必尺寸相等,如果它們屬于不同時(shí)元的話。
接下來(lái)解釋last_in_sequence_flag字段和object_data_fragment字段。由于PES數(shù)據(jù)包的有效負(fù)載的約束條件,構(gòu)成一個(gè)字幕的解壓縮圖形可能無(wú)法包含在一個(gè)ODS中。在這種情況下,將圖形分割成多個(gè)片斷,將其中一個(gè)片斷承載在object_data_fragment中。當(dāng)將圖形對(duì)象跨過(guò)多個(gè)ODS進(jìn)行存儲(chǔ)時(shí),除最后片斷之外的每個(gè)片斷都具有相同的尺寸。也就是說(shuō),最后的片斷小于或等于前面片斷的尺寸。承載圖形對(duì)象的這些片斷的ODS順序地出現(xiàn)在DS中。last_in_sequence_flag字段表示圖形對(duì)象的結(jié)束。盡管上述ODS數(shù)據(jù)結(jié)構(gòu)所基于的方法將片斷不留空隙地存儲(chǔ)在連續(xù)PES數(shù)據(jù)包中,但是,也可以通過(guò)在PES數(shù)據(jù)包中留出一些空隙的方式將片斷存儲(chǔ)在PES數(shù)據(jù)包中。
PDS是功能段,定義用于顏色轉(zhuǎn)換的調(diào)色板。調(diào)色板是表示1至255的像素代碼和像素值的組合的數(shù)據(jù)。這里所指的像素值是由紅色差值分量(Cr值)、藍(lán)色差值分量(Cb值)、亮度分量(Y值)和透明色(T值)構(gòu)成的。將每個(gè)游程數(shù)據(jù)的像素代碼代入調(diào)色板上的像素值中,從而產(chǎn)生顏色。圖7B示出了PDS的數(shù)據(jù)結(jié)構(gòu)。如圖所示,PDS包括segment_type字段,表示段類(lèi)型“PDS”;segment_length字段,表示PDS的數(shù)據(jù)長(zhǎng)度;palette_id字段,唯一地標(biāo)識(shí)該調(diào)色板;palette_version_number字段,表示該時(shí)元內(nèi)的PDS的版本;以及palette_entry字段,承載每個(gè)條目的信息。palette_entry字段表示每個(gè)條目的紅色差值分量(Cr值)、藍(lán)色差值分量(Cb值)和透明色(T值)。
WDS是功能段,用于定義圖形平面上的矩形區(qū)域。如前所述,在圖形平面上的固定矩形區(qū)域中執(zhí)行清除和呈現(xiàn)的時(shí)元內(nèi),存儲(chǔ)器管理是連續(xù)的。圖形平面上的該矩形區(qū)域被稱(chēng)為窗口,它是用WDS來(lái)定義的。圖8A示出了WDS的數(shù)據(jù)結(jié)構(gòu)。如圖所示,WDS包括window_id字段,唯一地標(biāo)識(shí)圖形平面上的該窗口;window_horizontal_position字段,指定圖形平面上該窗口的左上方像素的水平位置;window_vertical_position字段,指定圖形平面上該窗口的左上方像素的垂直位置;window_width字段,指定圖形平面上該窗口的長(zhǎng)度;window_height字段,指定圖形平面上該窗口的高度。window_horizontal_position字段、window_vertical_position字段、window_width字段和window_height字段可以取以下值。圖形平面作為這些字段值的坐標(biāo)系。圖形平面具有由參數(shù)window_width和window_height定義的二維尺寸。
window_horizontal_position字段指定圖形平面上該窗口的左上方像素的水平位置,因此取值范圍是0至(video_width)-1。window_vertical_position字段指定圖形平面上該窗口的左上方像素的垂直位置,因此取值范圍是0至(video_height)-1。
window_width字段指定圖形平面上該窗口的長(zhǎng)度,因此取值范圍是1至(video_width)-(window_horizontal_position)。window_height字段指定圖形平面上該窗口的高度,因此取值范圍是1至(video_height)-(window_vertical_position)。
對(duì)于每個(gè)時(shí)元,使用WDS中的window_horizontal_position、window_vertical_position、window_width和window_height字段,可以定義窗口的位置和尺寸。因此,在創(chuàng)作時(shí),創(chuàng)作者可以調(diào)整窗口,使其出現(xiàn)在時(shí)元中的每個(gè)圖像的預(yù)期邊緣部分中,從而不干擾該圖像的圖案??梢郧宄赜^看按照這種方式顯示的字幕的圖形。對(duì)于每個(gè)時(shí)元,可以定義WDS。因此,當(dāng)圖像圖案隨時(shí)間而變化時(shí),可以基于這樣的變化,移動(dòng)圖形,從而不降低可視度。這將電影質(zhì)量增強(qiáng)到與將字幕集成到運(yùn)動(dòng)圖像中相同的等級(jí)。
下面解釋END。END是用于表示DS傳輸結(jié)束的功能段。END位于DS中最后的ODS之后。END包括segment_type字段,表示段類(lèi)型“END”;segment_length,表示END的數(shù)據(jù)長(zhǎng)度。這些字段不是本發(fā)明的主要特色,因此這里不再贅述。
下面解釋PCS(合成段)。
PCS是功能段,用于合成可與運(yùn)動(dòng)圖像同步的畫(huà)面。圖8B示出了PCS的數(shù)據(jù)結(jié)構(gòu)。如圖所示,PCS包括segment_type字段;segment_length字段;composition_number字段;composition_state字段;palette_update_flag字段;palette_id_ref字段;composition_object(1)至composition_object(m)字段。
composition_number字段用從0至15的數(shù)字來(lái)唯一地標(biāo)識(shí)DS中的圖形更新。更詳細(xì)地講,對(duì)于每個(gè)圖形更新,從時(shí)元的開(kāi)始到PCS,composition_number字段加1。
composition_state字段表示DS是Normal Case DS、AcquistionPoint DS、還是時(shí)元Start DS。
palette_update_flag字段表示PCS是否描述僅調(diào)色板顯示更新。僅調(diào)色板顯示更新指的是只用新調(diào)色板替換先前調(diào)色板的更新。為了表示僅調(diào)色板顯示更新,將palette_update_flag字段設(shè)置為1。
palette_id字段指定在該DS中使用的調(diào)色板。
composition_object(1)至composition_object(m)字段各包含用于控制該DS中的單個(gè)窗口的信息。在圖8B中,作為示例,虛線wd1表示composition_object(i)的內(nèi)部結(jié)構(gòu)。如圖所示,composition_object(i)包括object_id字段;window_id字段;object_cropped_flag字段;object_horizontal_position字段;object_vertical_position字段;cropping_rectangle信息(1)至cropping_rectangle信息(n)。
object_id字段表示對(duì)應(yīng)于窗口中圖形對(duì)象的ODS的標(biāo)識(shí)符,該對(duì)象對(duì)應(yīng)于composition_object(i)。
window_id字段表示在PCS中被分配了圖形對(duì)象的窗口的標(biāo)識(shí)符。至多兩個(gè)圖形對(duì)象可以被分配給一個(gè)窗口。
object_cropped_flag字段表示是否要顯示對(duì)象緩沖器中剪裁的圖形對(duì)象。當(dāng)將object_cropped_flag字段設(shè)為1時(shí),顯示對(duì)象緩沖器中剪裁的圖形對(duì)象。當(dāng)將object_cropped_flag字段設(shè)為0時(shí),不顯示對(duì)象緩沖器中剪裁的圖形對(duì)象。
object_horizontal_position字段表示圖形對(duì)象在圖形平面的左上方像素的水平位置。
object_vertical_position字段表示圖形對(duì)象在圖形平面的左上方像素的垂直位置。
當(dāng)object_cropped_flag字段為1時(shí),cropping_rectangle信息(1)cropping_rectangle信息(n)是有效的。作為示例,虛線wd2指示了cropping_rectangle信息(i)的內(nèi)部結(jié)構(gòu)。如圖所示,cropping_rectangle信息(i)包括object_cropping_horizontal_position字段;object_cropping_vertical_position字段;object_cropping_width字段;object_cropping_height字段。
object_cropping_horizontal_position字段表示剪裁矩形在圖形對(duì)象中左上角的水平位置。剪裁矩形用于取出圖形對(duì)象的一部分,其對(duì)應(yīng)于ETSI EN 300 743中的“區(qū)域”。
object_cropping_vertical_position字段表示剪裁矩形在圖形對(duì)象中左上角的垂直位置。
object_cropping_width字段表示剪裁矩形在圖形對(duì)象中的水平長(zhǎng)度。
object_cropping_height字段表示剪裁矩形在圖形對(duì)象中的垂直長(zhǎng)度。
下面具體描述PCS,在所使用的例子中,當(dāng)運(yùn)動(dòng)圖像的再現(xiàn)進(jìn)行時(shí),通過(guò)三個(gè)向圖形平面寫(xiě)入的操作,順序地顯示圖6所示的三個(gè)字幕“Actually”、“I lied to you.”和“Sorry.”。圖9示出了實(shí)現(xiàn)該字幕顯示的示例性描述。在圖中,一個(gè)時(shí)元具有DS1(Epoch Start DS)、DS2(Normal Case DS)和DS3(Normal Case DS)。DS1包括一個(gè)WDS,用于定義顯示字幕的窗口;一個(gè)ODS,表示行“Actually I liedto you.Sorry.”;一個(gè)PCS。DS2包括一個(gè)PCS。DS3包括一個(gè)PCS。
下面描述各個(gè)PCS。圖10至12示出了屬于DS1和DS3的WDS和PCS。
圖10示出了DS1中的PCS和WDS。在圖中,WDS中的window_horizontal_position字段值和window_vertical_position字段值指定圖形平面上的窗口的左上方坐標(biāo)LP1,WDS中的window_width字段值和window_height字段值指定窗口的寬度和高度。
PCS中cropping_rectangle信息的object_cropping_horizontal_position字段值和object_cropping_vertical_position字段值指定剪裁矩形在坐標(biāo)系中左上角坐標(biāo)ST1,該剪裁矩形的原點(diǎn)是對(duì)象緩沖器中圖形對(duì)象的左上方坐標(biāo)。剪裁矩形是一個(gè)區(qū)域,由從左上角坐標(biāo)ST1的object_cropping_width字段值和object_cropping_height字段值進(jìn)行定義。剪裁過(guò)的圖形對(duì)象位于區(qū)域cp1(被虛線框包圍)中,所以,剪裁過(guò)的圖形對(duì)象的左上角位于一個(gè)由坐標(biāo)系中該圖形平面的object_horizontal_position字段和object_vertical_position字段指定的像素。這樣,將字幕“Actually I lied to you.Sorry.”中的“Actually”寫(xiě)入圖形平面上的窗口中。字幕“Actually”覆蓋在一張圖片之上,然后,顯示所得的圖像。
圖11示出了DS2中的PCS。由于圖中的WDS的描述與圖10相同,所以這里不再贅述。同時(shí),cropping_rectangle信息的描述與圖10不同。在圖11中,cropping_rectangle信息中的object_cropping_horizontal_position字段值和object_cropping_vertical_position字段值指定與對(duì)象緩沖器中的字幕“I lied to you.”相對(duì)應(yīng)的剪裁矩形的左上方坐標(biāo),而object_cropping_width字段值和object_cropping_height字段值指定剪裁矩形的寬度和高度。從而,將字幕“I lied to you.”寫(xiě)入圖形平面上的窗口中。字幕“I lied to you.”覆蓋在一張圖片上,并顯示所得的圖像。
圖12示出了DS3中的PCS。由于圖中的WDS的描述與圖10相同,所以這里不再贅述。同時(shí),cropping_rectangle信息的描述與圖10不同。在圖12中,object_cropping_horizontal_position字段值和object_cropping_vertical_position字段值表示對(duì)象緩沖器中與字幕“Sorry.”相對(duì)應(yīng)的剪裁矩形的左上角坐標(biāo),而object_cropping_width字段值和object_cropping_height字段值表示剪裁矩形的寬度和高度。從而,將字幕“Sorry.”寫(xiě)入圖形平面上的窗口中。字幕“Sorry.”覆蓋在一張圖片上,并顯示所得圖像。
圖13示出了當(dāng)執(zhí)行如圖10至12的圖形更新時(shí)對(duì)象緩沖器的存儲(chǔ)器空間。如圖所示,對(duì)象緩沖器有四個(gè)存儲(chǔ)區(qū)域A至D,它們各有固定的高度和寬度以及固定的位置。在存儲(chǔ)器區(qū)域A至D中,圖10所示的字幕存儲(chǔ)在存儲(chǔ)區(qū)域A中。存儲(chǔ)區(qū)域A至D中的每一個(gè)用與該存儲(chǔ)區(qū)域中要存儲(chǔ)的圖形對(duì)象相對(duì)應(yīng)的object_id標(biāo)識(shí)。詳細(xì)地講,存儲(chǔ)區(qū)域A用object_id=1標(biāo)識(shí),存儲(chǔ)區(qū)域B用object_id=2標(biāo)識(shí),存儲(chǔ)區(qū)域C用object_id=3標(biāo)識(shí),存儲(chǔ)區(qū)域D用object_id=4標(biāo)識(shí)。為了維持從對(duì)象緩沖器到圖形平面的傳輸效率,存儲(chǔ)區(qū)域A至D中的每一個(gè)區(qū)域的高度和寬度都是固定的。因此,當(dāng)解碼之后獲得具有相同object_id的圖形對(duì)象時(shí),將該圖形對(duì)象寫(xiě)入由該object_id標(biāo)識(shí)的存儲(chǔ)區(qū)域中,覆蓋現(xiàn)有的圖形對(duì)象。例如,為了在與圖10至12中顯示的字幕相同的位置用相同的尺寸顯示字幕,需要在后續(xù)的DS中提供與DS1中的ODS具有相同object_id的ODS。通過(guò)如此添加相同的object_id,對(duì)象緩沖器中的圖形對(duì)象被新的圖形對(duì)象覆蓋,新的圖形對(duì)象的顯示位置以及尺寸與被覆蓋的圖形對(duì)象相同。
下面描述實(shí)現(xiàn)顯示效果的約束條件。為了流暢地顯示字幕,在窗口上需要執(zhí)行清除和呈現(xiàn)。當(dāng)以視頻幀的幀速率執(zhí)行窗口清除和窗口呈現(xiàn)時(shí),需要下面的從對(duì)象緩沖器到圖形平面的傳輸速率。
首先,檢查對(duì)窗口尺寸的約束條件。假設(shè)Rc是從對(duì)象緩沖器到圖形平面的傳輸速率。在最糟糕的情況下,需要以Rc執(zhí)行窗口清除和窗口呈現(xiàn)。換言之,窗口清除和窗口呈現(xiàn)各需要以Rc的一半(Rc/2)執(zhí)行。
為了一個(gè)視頻幀同步窗口清除和窗口呈現(xiàn),需要滿(mǎn)足 (窗口尺寸)×(幀速率)≈Rc/2。
如果幀速率為29.97,則 Rc=(窗口尺寸)×2×29.97 為了顯示字幕,窗口尺寸至少需要是整個(gè)圖形平面的25%至33%。如果圖形平面的像素總數(shù)量是1920×1080,每個(gè)像素的索引的比特長(zhǎng)度為8比特,則圖形平面的總?cè)萘渴?M字節(jié)(≈1920×1080×8)。
假定窗口尺寸是圖形平面的1/4,即500 K字節(jié)(=2 M字節(jié)/4)。將其代入上式,則得到Rc=256 Mbps(500K字節(jié)×2×29.97)。
因此,如果窗口尺寸是圖形平面的大約25%至33%,那么,只要用Rc=256Mbps來(lái)顯示字幕,就可以實(shí)現(xiàn)字幕的顯示效果,而不會(huì)與運(yùn)動(dòng)圖像失去同步。
如果以視頻幀速率的1/2或1/4執(zhí)行窗口清除和窗口呈現(xiàn),則在Rc相同的情況下窗口尺寸可以為兩倍或四倍。下面描述窗口的位置和范圍。如前所述,窗口的位置和范圍在一個(gè)時(shí)元內(nèi)是固定的,原因如下。
如果窗口的位置或范圍在時(shí)元中變化,則需要改變到圖形平面的寫(xiě)地址。這會(huì)產(chǎn)生開(kāi)銷(xiāo),從而導(dǎo)致從對(duì)象緩沖器到圖形平面的傳輸速率Rc降低。
當(dāng)向圖形平面?zhèn)鬏斀獯a后的圖形對(duì)象時(shí),為了降低開(kāi)銷(xiāo),在一個(gè)窗口中可同時(shí)顯示的圖形對(duì)象的數(shù)量是有限的。當(dāng)設(shè)置圖形對(duì)象的邊緣部分的地址時(shí),會(huì)產(chǎn)生這里所說(shuō)的開(kāi)銷(xiāo)發(fā)生。如果邊緣部分的數(shù)量較大,則該開(kāi)銷(xiāo)會(huì)增加。
如果對(duì)一個(gè)窗口中可顯示的圖形對(duì)象的數(shù)量沒(méi)有限制,那么,當(dāng)向圖形平面?zhèn)鬏攬D形對(duì)象時(shí),開(kāi)銷(xiāo)會(huì)無(wú)限地發(fā)生,這會(huì)增加傳輸負(fù)載的變化。另一方面,如果一個(gè)窗口中的圖形對(duì)象的數(shù)量被限制為2,那么,基于最糟糕情形下開(kāi)銷(xiāo)數(shù)量為4的假設(shè),可以設(shè)置傳輸速率Rc。因此,可以很容易地確定傳輸速率Rc的最低標(biāo)準(zhǔn)。對(duì)窗口的解釋到此結(jié)束。
下面說(shuō)明如何將承載諸如PCS和ODS之類(lèi)功能段的DS分配到AV剪輯的再現(xiàn)時(shí)間軸上。時(shí)元是再現(xiàn)時(shí)間軸上的一個(gè)時(shí)間段,其中,存儲(chǔ)器管理是連續(xù)的,并且,時(shí)元由一個(gè)或多個(gè)DS構(gòu)成。因此,將DS有效地分配到AV剪輯的再現(xiàn)時(shí)間軸上是很重要的。這里所說(shuō)的AV剪輯的再現(xiàn)時(shí)間軸是一個(gè)時(shí)間軸,用于定義構(gòu)成AV剪輯中復(fù)用的視頻流的各圖片的解碼時(shí)間和呈現(xiàn)時(shí)間。再現(xiàn)時(shí)間軸上的解碼時(shí)間和呈現(xiàn)時(shí)間用90KHz的時(shí)間精度來(lái)表示。DS中的PCS和ODS的DTS和PTS表示該再現(xiàn)時(shí)間軸上的同步控制的時(shí)機(jī)。換言之,通過(guò)使用PCS和ODS的DTS和PTS來(lái)實(shí)施同步控制,將DS分配到再現(xiàn)時(shí)間軸上。
首先介紹用PCS和ODS的DTS和PTS來(lái)實(shí)施同步控制。
DTS表示ODS的解碼處理的開(kāi)始時(shí)間,具有的精度是90KHz。PTS表示ODS的解碼處理的結(jié)束時(shí)間,具有的精度是90KHz。
解碼處理包括對(duì)ODS進(jìn)行解碼;然后,將通過(guò)解碼而生成的解壓縮圖形對(duì)象傳輸?shù)綄?duì)象緩沖器。該解碼處理并不是瞬間結(jié)束的,而是需要一定的時(shí)間量。ODS的DTS和PTS分別表示ODS的解碼開(kāi)始時(shí)間和解碼結(jié)束時(shí)間,以指定解碼處理的開(kāi)始和結(jié)束。
由于PTS所示的時(shí)間是最終期限,所以,需要在PTS所示時(shí)間之前對(duì)ODS進(jìn)行解碼并將解壓縮的圖形對(duì)象存儲(chǔ)到對(duì)象緩沖器中。
DSn中任一ODSj的解碼開(kāi)始時(shí)間用DTS(DSn[ODSj])表示,其精度是90KHz。因此,DSn中ODSj的解碼結(jié)束時(shí)間(即PTS(DSn[ODSj]))是DTS(DSn[ODSj])與解碼處理所需最長(zhǎng)時(shí)間之和。
假設(shè)SIZE(DSn[ODSj])表示ODSj的尺寸,Rd表示ODS解碼速率。那么,解碼處理所需的最長(zhǎng)時(shí)間(以秒為單位)是SIZE(DSn[ODSj])//Rd。符號(hào)“//”表示一種將小數(shù)部分取整的除法運(yùn)算符。
通過(guò)將該最長(zhǎng)時(shí)間轉(zhuǎn)換為90KHz的精度并將該結(jié)果加上ODSj的DTS,則可以計(jì)算出PTS指定的ODSj的解碼結(jié)束時(shí)間,精度為90KHz。
DSn中ODSj的該P(yáng)TS可用下面的公式表示 PTS(DSn[ODSj])=DTS(DSn[ODSj])+ 90000×(SIZE(DSn[ODSj])//Rd) 此外,DSn中兩個(gè)相鄰的ODS(ODSj和ODSj+1)需要滿(mǎn)足下面的關(guān)系 PTS(DSn[ODSj])≤DTS(DSn[ODSj+1]) DSn中的END表示DSn的結(jié)束。因此,END表示DSn中最后一個(gè) ODS(ODSlast)的解碼結(jié)束時(shí)間。ODSlast的PTS(PTS(DSn[ODSlast]))表示ODSlast的解碼結(jié)束時(shí)間,所以,如下設(shè)置END的PTS PTS(DSn[END])=PTS(DSn[ODSlast]) 同時(shí),如下設(shè)置DSn中的PCS的DTS和PTS。
PCS的DTS表示DSn中頂部ODS(ODS1)的解碼開(kāi)始時(shí)間或比它更早的時(shí)間。這是因?yàn)椋枰獙CS加載到再現(xiàn)裝置200的緩沖器中,與ODS1的解碼開(kāi)始時(shí)間(DTS(DSn[ODS1]))和DSn中的頂部PDS(PDS1)變?yōu)闊o(wú)效時(shí)(PTS(DSn[PDS1]))相同或更早。也就是說(shuō),PCS的DTS需要滿(mǎn)足下面的公式 DTS(DSn[PCS])≤ DTS(DSn[ODS1]) DTS(DSn[PCS])≤PTS(DSn[ODS1]) 另一方面,如下計(jì)算PCS的PTS PTS(DSn[PCS])≥DTS(DSn[PCS])+DECODEDURATION(DSn) 在這里,DECODEDURATION(DSn)表示DSn中的PCS所述的更新所用的全部圖形對(duì)象的呈現(xiàn)和解碼所需的時(shí)間。盡管DECODEDURATION(DSn)不是固定值,它也不會(huì)受諸如再現(xiàn)裝置實(shí)現(xiàn)和狀態(tài)差異之類(lèi)因素的影響。當(dāng)DSn.PCS.OBJ[j]表示DSn中的PCS描述的畫(huà)面合成所用的圖形對(duì)象時(shí),可以通過(guò)以下方面來(lái)改變DECODEDURATION(DSn)(i)窗口清除所需的時(shí)間;(ii)對(duì)DSn.PCS.OBJ[j]進(jìn)行解碼所需的時(shí)間;(iii)將DSn.PCS.OBJ[j]寫(xiě)到圖形平面上所需的時(shí)間。因此,只要Rd和Rc是預(yù)先確定的,那么,DECODEDURATION(DSn)就是相同的,而不管再現(xiàn)裝置的實(shí)現(xiàn)方式。因此,在合成時(shí),計(jì)算上述各時(shí)間段的長(zhǎng)度,從而指定PCS的PTS。
基于圖14所示的程序,執(zhí)行DECODEDURATION(DSn)的計(jì)算。圖15以及圖16A和16B的流程圖示出了該程序的算法。下面結(jié)合這些附圖解釋DECODEDURATION(DSn)的計(jì)算過(guò)程。在圖15中,調(diào)用函數(shù)PLANEINITIALIZATIONTIME,然后將返回值加上decode_duration(S1)。函數(shù)PLANEINITIALIZATIONTIME(圖16A)是用于計(jì)算初始化圖形平面從而產(chǎn)生DSn的顯示所需時(shí)間的函數(shù)。在步驟S1中,用DSn、DSn.PCS.OBJ
和decode_duration作為參數(shù),調(diào)用該P(yáng)LANEINITIALIZATIONTIME函數(shù)。
圖16A示出了PLANEINITIALIZATIONTIME函數(shù)的過(guò)程。在圖中,initialize_duration是一個(gè)變量,用于表示PLANEINITIALIZATIONTIME函數(shù)的返回值。
步驟S2判斷DSn中的PCS的composition_state字段是不是EpochStart。如果composition_state字段是Epoch_Start(S2是,圖14中DSn.PCS.composition_state==EPOCH_START),則將清除圖形平面所需的時(shí)間設(shè)置為initialize_duration(S3)。
如上所述,假設(shè)從對(duì)象緩沖器到圖形平面的傳輸速率Rc是256000000,圖形平面的總尺寸是(video_width)*(video_height)。那么,清除圖形平面所需的時(shí)間(單位是秒)是(video_width)*(video_height)//256000000。將其乘以90000Hz,用PTS精度表示。因此,清除圖形平面所需的時(shí)間是90000×(video_width)*(video_height)//256000000。將其加上intialize_duration,作為返回值返回。
如果composition_state字段不是Epoch Start(S2否),則對(duì)所有窗口Window[i],執(zhí)行將清除Window[i]所需的時(shí)間加上initialize_duration的操作(S4)。如前所述,假設(shè)從對(duì)象緩沖器到圖形平面的傳輸速率Rc是256000000,并且,Window[i]的總尺寸是∑SIZE(WDS.WIN[i])。那么,清除全部Window[i]所需的時(shí)間(單位是秒)是∑SIZE(WDS.WIN[i])//256000000。將其乘以90000 Hz,用PTS精度表示。因此,清除所有Window[i]所需的時(shí)間是90000×∑SIZE(WDS.WIN[i])//256000000。將其加上intialize_duration,作為返回值返回。對(duì)PLANEINITIALIZATIONTIME函數(shù)的描述到此結(jié)束。
在圖15中,步驟S5判斷DSn中的圖形對(duì)象的數(shù)量是1還是2(圖14中的if(DSn.PCS.num_of_objects==2) 、if(DSn.PCS.num_of_objects==1))。如果DSn中的圖形對(duì)象的數(shù)量是1(S5=1),則將用于等待該圖形對(duì)象解碼結(jié)束的等待時(shí)間加上decode_duration(S6)。通過(guò)調(diào)用WAIT函數(shù),計(jì)算該等待時(shí)間(在圖14中,(decode_duration+=WAIT(DSn,DSn.PCS.OBJ
,decode_duration)))。使用DSn、DSn.PCS.OBJ
和decode_duration作為參數(shù),調(diào)用WAIT函數(shù),并將表示等待時(shí)間的wait_duration作為返回值返回。
圖16B示出了WAIT函數(shù)的過(guò)程。
在WAIT函數(shù)中,current_duration是一個(gè)變量,將decode_duration設(shè)置為該參數(shù),object_definition_ready_time是表示DSn中的圖形對(duì)象OBJ[i]的PTS的變量。
此外,current_time是一個(gè)變量,表示current_duration與DSn中的PCS的DTS之和。如果object_definition_ready_time大于current_time(S7是,圖14中if(current_time<o(jì)bject_definition_ready_time)),則將object_definition_ready_time和current_time之間的差值設(shè)為wait_duration,然后作為返回值返回(S8,圖14中wait_duration+=object_definition_ready_time-current_time)。WAIT函數(shù)到此結(jié)束。
再回到圖15中,WAIT函數(shù)的返回值與用于在OBJ
所屬窗口上進(jìn)行呈現(xiàn)所需的時(shí)間(90000×∑SIZE(DSn.WDS.WIN
)//256000000)被設(shè)置為decode_duration(S9)。
上述過(guò)程涉及DSn中圖形對(duì)象數(shù)量為1的情況。如果圖形對(duì)象的數(shù)量是2(S5=2,圖14中的if(DSn.PCS.num_of_objects==2)),則使用DSn、DSn.PCS.OBJ
和decode_duration作為參數(shù),調(diào)用WAIT函數(shù),然后將WAIT函數(shù)的返回值加到decode_duration中(S10)。
步驟S11判斷OBJ
所屬的窗口與OBJ[1]所屬的窗口是否相同(在圖14中,if(DSn.PCS.OBJ
.window_id==DSn.PCS.OBJ[1].window_id))。如果判斷結(jié)果是肯定的(S11是),則用DSn、DSn.PCS.OBJ[1]和decode_duration作為參數(shù),調(diào)用WAIT函數(shù),然后將WAIT函數(shù)的返回值加上decode_duration(S12)。此外,將在OBJ
和OBJ[1]所屬窗口上進(jìn)行呈現(xiàn)所需的時(shí)間(90000×∑SIZE(DSn.WDS.WIN
.window_id)//256000000)加上decode_duration(S13)。
另一方面,如果判斷結(jié)果是否定的(S11否),則將在OBJ
所屬窗口上進(jìn)行呈現(xiàn)所需的時(shí)間(90000×∑SIZE(DSn.WDS.OBJ
.window_id)//256000000)加上decode_duration(S15)。此后,用DSn、DSn.PCS.OBJ[1]和decode_duration作為參數(shù),調(diào)用WAIT函數(shù),然后將WAIT函數(shù)的返回值加上decode_duration(S16)。此外,將在OBJ[1]所屬窗口上進(jìn)行呈現(xiàn)所需的時(shí)間(90000×∑SIZE(DSn.WDS.OBJ[1].window_id)//256000000)加上decode_duration(S17)。這樣,計(jì)算出DECODEDURATION(DSn)。
下面通過(guò)具體的例子,說(shuō)明如何設(shè)置一個(gè)DS中的PCS的PTS。
在圖17A示出的情形中,與一個(gè)ODS(ODS1)相對(duì)應(yīng)的一個(gè)OBJ(OBJ1)屬于一個(gè)窗口。圖17B和17C示出了圖14中使用的參數(shù)之間的關(guān)系的時(shí)序圖。這些時(shí)序圖都有三級(jí)。在這三級(jí)中,“圖形平面訪問(wèn)”級(jí)和“ODS解碼”級(jí)表示當(dāng)再現(xiàn)ODS時(shí)并行執(zhí)行的兩個(gè)過(guò)程。上述算法基于這兩個(gè)過(guò)程并行執(zhí)行的假設(shè)。
圖形平面訪問(wèn)由清除時(shí)間(1)和寫(xiě)入時(shí)間(3)構(gòu)成。清除時(shí)間(1)表示用于清除整個(gè)圖形平面所需的時(shí)間(90000×((圖形平面尺寸)//256000000)),或用于清除圖形平面上所有窗口所需的時(shí)間(∑(90000×((窗口[i]的尺寸)//256000000)))。
寫(xiě)入時(shí)間(3)表示在整個(gè)窗口上進(jìn)行呈現(xiàn)所需的時(shí)間(90000×((窗口尺寸)//256000000))。
ODS解碼由解碼時(shí)間(2)構(gòu)成。解碼時(shí)間(2)表示從ODS1的DTS到PTS的時(shí)間周期。
清除時(shí)間(1)、解碼時(shí)間(2)和寫(xiě)入時(shí)間(3)的變化取決于要清除的范圍、要解碼的ODS的尺寸和要寫(xiě)入圖形平面的圖形對(duì)象的尺寸。在圖17中,為簡(jiǎn)單起見(jiàn),假設(shè)解碼時(shí)間(2)的開(kāi)始與清除時(shí)間(1)的開(kāi)始相同。
圖17B所示的情形中,解碼時(shí)間(2)比清除時(shí)間(1)要長(zhǎng)。在這種情況下,decode_duration是解碼時(shí)間(2)與寫(xiě)入時(shí)間(3)之和。
圖17C所示的情形中,清除時(shí)間(1)比解碼時(shí)間(2)要長(zhǎng)。在這種情況下,decode_duration是清除時(shí)間(1)與寫(xiě)入時(shí)間(3)之和。
在圖18A至18C所示情形中,與兩個(gè)ODS(ODS1和ODS2)相對(duì)應(yīng)的兩個(gè)OBJ(OBJ1和OBJ2)屬于一個(gè)窗口。在圖18B和18C中,解碼時(shí)間(2)表示對(duì)ODS1和ODS2進(jìn)行解碼所需的總時(shí)間。同樣,寫(xiě)入時(shí)間(3)表示將OBJ1和OBJ2寫(xiě)入圖形平面所需的總時(shí)間。盡管ODS的數(shù)量是2,但是可以采用與圖17相同的方式計(jì)算decode_duration。詳細(xì)地講,如果ODS1和ODS2的解碼時(shí)間(2)比清除時(shí)間(1)長(zhǎng),則decode_duration是解碼時(shí)間(2)與寫(xiě)入時(shí)間(3)之和,如圖18B所示。
如果清除時(shí)間(1)比解碼時(shí)間(2)長(zhǎng),則decode_duration是清除時(shí)間(1)與寫(xiě)入時(shí)間(3)之和,如圖18C所示。
圖1 9A至19C所示的情形中,OBJ1屬于Window1,而OBJ2屬于Window2。在這種情形中,如果清除時(shí)間(1)比ODS1和ODS2的解碼時(shí)間(2)長(zhǎng),則decode_duration是清除時(shí)間(1)與寫(xiě)入時(shí)間(3)之和。另一方面,如果清除時(shí)間(1)比解碼時(shí)間(2)短,則可以將OBJ1寫(xiě)入Window1,而不必等待解碼時(shí)間(2)的結(jié)束。在這種情況下,decode_duration不僅僅是解碼時(shí)間(2)與寫(xiě)入時(shí)間(3)之和。假設(shè)寫(xiě)入時(shí)間(31)表示將OBJ1寫(xiě)入Window1所需的時(shí)間,寫(xiě)入時(shí)間(32)表示將OBJ2寫(xiě)入Window2所需的時(shí)間。在圖19B所示情形中,解碼時(shí)間(2)比清除時(shí)間(1)與寫(xiě)入時(shí)間(31)之和要長(zhǎng)。在這種情況下,decode_duration是解碼時(shí)間(2)與寫(xiě)入時(shí)間(32)之和。
圖19C所示的情形中,清除時(shí)間(1)與寫(xiě)入時(shí)間(31)之和比解碼時(shí)間(2)長(zhǎng)。在這種情況下,decode_duration是清除時(shí)間(1)、寫(xiě)入時(shí)間(31)以及寫(xiě)入時(shí)間(32)之和。
根據(jù)播放機(jī)模型,圖形平面的尺寸是固定的。窗口和ODS的尺寸和數(shù)量也是在合成時(shí)預(yù)先設(shè)置的。因此,計(jì)算出來(lái)的decode_duration可能是以下之一清除時(shí)間(1)與寫(xiě)入時(shí)間(3)之和;解碼時(shí)間(2)與寫(xiě)入時(shí)間(3)之和;解碼時(shí)間(2)與寫(xiě)入時(shí)間(32)之和;清除時(shí)間(1)、寫(xiě)入時(shí)間(31)與寫(xiě)入時(shí)間(32)之和。通過(guò)基于如此計(jì)算出的decode_duration來(lái)設(shè)置PCS的PTS,可以使圖形與圖像數(shù)據(jù)同步,且具有高精度。如此準(zhǔn)確的同步控制是通過(guò)定義窗口和限制窗口中的清除和呈現(xiàn)操作來(lái)實(shí)現(xiàn)的。因此,在創(chuàng)作中,對(duì)概念“窗口”的介紹是非常重要的。
下面介紹如何設(shè)置DSn中WDS的DTS和PTS。設(shè)置WDS的DTS,以滿(mǎn)足下面的公式 DTS(DSn[WDS])≥DTS(DSn[PCS]) WDS的PTS表示啟動(dòng)向圖形平面寫(xiě)入的最后期限。由于向圖形平面寫(xiě)入只限于一個(gè)窗口,所以,通過(guò)從PCS的PTS所示時(shí)間減去在所有窗口上進(jìn)行呈現(xiàn)所需的時(shí)間,可以確定啟動(dòng)向圖形平面寫(xiě)入的時(shí)間。假設(shè)∑SIZE(WDS.WIN[i])是Windows[i]的總尺寸。那么,用于在所有Windows[i]上進(jìn)行清除和呈現(xiàn)所需的時(shí)間是∑SIZE(WDS.WIN[i])//256000000。用90000KHz的精度表達(dá)該時(shí)間,得到90000×SIZE(WDS.WIN[i])//256000000。
因此,可以如下計(jì)算WDS的PTS PTS(DSn[WDS])=PTS(DSn[PCS])- 90000×SIZE(WDS.WIN[i])//256000000 由于WDS的PTS表示最后期限,所以,可以在該P(yáng)TS所示的時(shí)間之前啟動(dòng)向圖形平面的寫(xiě)入。也就是說(shuō),在屬于這兩個(gè)窗口之一的一個(gè)ODS解碼結(jié)束之后,可以將通過(guò)解碼獲得的圖形對(duì)象立即寫(xiě)入圖19所示的窗口中。
因此,使用WDS的DTS和PTS,可以將窗口分配給AV剪輯的再現(xiàn)時(shí)間軸上的預(yù)期點(diǎn)。對(duì)DSn中PCS和WDS的DTS和PTS的介紹到此結(jié)束。
每個(gè)DS中的PCS在從由其DTS示出的時(shí)間至由其PTS示出的時(shí)間中是活動(dòng)的。在PCS為活動(dòng)的該時(shí)間周期被稱(chēng)為DS中的PCS的活動(dòng)周期。
以下說(shuō)明DS中的PCS的活動(dòng)周期是如何重疊的。當(dāng)圖形流包含多個(gè)DS時(shí),希望并行處理兩個(gè)或更多DS。為了使再現(xiàn)裝置中能夠?qū)崿F(xiàn)此類(lèi)并行處理,DS中的PCS的活動(dòng)周期需要重疊。同時(shí),藍(lán)光光盤(pán)只讀格式保證以必需的最小結(jié)構(gòu)的再現(xiàn)裝置執(zhí)行解碼。
藍(lán)光光盤(pán)只讀格式的解碼器模型基于流水線處理(流水線解碼模型)。流水線解碼模型能夠同時(shí)從對(duì)象緩沖器讀取一個(gè)DS的圖形對(duì)象到圖形平面,同時(shí)地,解碼并向?qū)ο缶彌_器寫(xiě)入下一個(gè)DS的圖形對(duì)象。
當(dāng)再現(xiàn)裝置遵循流水線解碼模型時(shí),需要合理確定引入間隔。這里所指的引入間隔是從一個(gè)DS處理的開(kāi)始到下一個(gè)DS處理的開(kāi)始的時(shí)間周期。一個(gè)DS的處理包括,對(duì)象緩沖器可以被分成兩個(gè)處理,也就是,解碼ODS并將未壓縮的圖形對(duì)象寫(xiě)入對(duì)象緩沖器的處理,以及從對(duì)象緩沖器中讀取未壓縮圖形對(duì)象并將其寫(xiě)入圖形平面的處理。如此,一個(gè)DS中的PCS的活動(dòng)周期可以被分解,如圖20所示。如該圖所示,一個(gè)DS的處理由解碼ODS并將圖形寫(xiě)入對(duì)象緩沖器所需的時(shí)間,以及從對(duì)象緩沖器中讀取圖形并將其寫(xiě)入圖形平面所需的時(shí)間。
流水線解碼模型能夠同時(shí)將圖形寫(xiě)入對(duì)象緩沖器以及從對(duì)象緩沖器中讀取圖形。因此,可以并行處理兩個(gè)DS,如圖21所示。圖21示出在流水線解碼模型中如何并行處理兩個(gè)DS(DSn和DSn+1)。
如圖解,并行處理DSn和DSn+1,使得從對(duì)象緩沖器中讀取DSn的時(shí)間與向?qū)ο缶彌_器寫(xiě)入DSn+1的時(shí)間重疊。
在此類(lèi)并行處理中,在將DSn的圖形對(duì)象寫(xiě)入對(duì)象緩沖器完成之后,DSn+1的圖形對(duì)象被寫(xiě)入對(duì)象緩沖器。
DSn中一個(gè)ODS的解碼停止時(shí)間由DSn中END的PTS表示。同樣,DSn+1中一個(gè)ODS的開(kāi)始解碼的最早時(shí)間由DSn+1中PCS的DTS表示。因此,預(yù)先設(shè)定DSn中END的時(shí)戳和DSn+1中PCS的時(shí)戳,使得滿(mǎn)足 PTS(DSn[END])≤DTS(DSn+1[PCS]) 通過(guò)以此方式設(shè)定引入間隔,在流水線解碼模型中可以并行處理DSn和DSn+1。
圖22示出三個(gè)DS(DS0,DS1,和DS2)中PCS的活動(dòng)周期重疊的情況。
以下說(shuō)明如何在再現(xiàn)時(shí)間軸上設(shè)定重疊DS中的功能段的時(shí)戳。圖23示出每個(gè)DS0和DS1中功能段的時(shí)戳,其中DS0和DS1的PCS具有重疊的活動(dòng)周期。在此圖中,DS0中WDS,PDS,和最高級(jí)ODS(ODS1)的DTS被設(shè)定為等于DS0中PCS的DTS。這意味著當(dāng)DS0中PCS的活動(dòng)周期開(kāi)始,DSn中ODS的解碼就立即開(kāi)始。因此,在由PCS的DTS示出的時(shí)間開(kāi)始ODS1的解碼。同時(shí),在由DS0中END的PTS示出的時(shí)間停止ODSn的解碼,其中ODSn為DS0中的最后一個(gè)ODS。這里應(yīng)該注意,DS0中WDS的DTS,PDS,和最高級(jí)ODS的DTS可以改為設(shè)定為晚于DS0中PCS的DTS。
DS1中PCS的DTS示出一個(gè)時(shí)間,其等于或晚于由DS0中END的PTS示出的時(shí)間。因此,當(dāng)在由DS1中PCS的DTS示出的時(shí)間開(kāi)始DS1中ODS的解碼時(shí),可以在流水線解碼模型中并行處理DS0和DS1。
以下檢查在此類(lèi)流水線處理中對(duì)圖形平面的渲染處理。
當(dāng)并行處理DSn和DSn+1時(shí),通過(guò)解碼DSn獲得的圖形對(duì)象和通過(guò)解碼DSn+1獲得的圖形對(duì)象可以同時(shí)寫(xiě)入圖形平面,造成未能在屏幕上顯示DSn的圖形對(duì)象。
為了防止這一點(diǎn),需要如下設(shè)定DSn中PCS的PTS和DSn+1中PCS的PTS PTS(DSn[PCS])+(90,000×∑SIZE(DSn[WDS]·Window[i]))//256,000,000≤PTS(DSn+1[PCS]) 其中∑SIZE(DSn[WDS]·Window[i])為Windows[i]的總尺寸,(90,000×∑SIZE(DSn[WDS]·Window[i])//256,000,000為渲染W(wǎng)indows[i]所需的時(shí)間。通過(guò)以此方式延遲DSn+1的圖形對(duì)象的顯示時(shí)間,防止DSn+1的圖形對(duì)象覆蓋DSn的圖形對(duì)象。圖24示出根據(jù)此公式,DS0至DS2中PCS的PTS。
當(dāng)窗口的尺寸為圖形平面的1/4時(shí),PTS(DSn[PCS])和PTS(DSn+1[PCS])之間的間隔等于視頻流的一個(gè)幀周期。
以下說(shuō)明對(duì)DS中PCS的活動(dòng)周期重疊的約束。如果屬于一個(gè)DS的圖形對(duì)象具有與屬于前面緊鄰的DS的圖形對(duì)象相同的object_id以實(shí)現(xiàn)更新,這些DS中PCS的活動(dòng)周期就不能重疊。假設(shè)DS0包括具有object_id=1的ODS,DS1包括具有相同object_id=1的ODS。
如果此DS0和DS1中PCS的活動(dòng)周期重疊,DS1中ODS載入再現(xiàn)裝置200,并在DS0停止之前解碼。在此情況下,DS0的圖形對(duì)象被DS1的圖形對(duì)象覆蓋。這使得DS1的圖形對(duì)象,而不是DS0的圖形對(duì)象,出現(xiàn)在屏幕上。為了防止這一點(diǎn),在圖形更新的情況下,DS中PCS的活動(dòng)周期的重疊是被禁止的。
圖25A示出可以在一條流水線中處理兩個(gè)DS的情況,而圖25B示出不可以在一條流水線中處理兩個(gè)DS的情況。在這些圖中,DS0具有ODSA和ODSB,同時(shí)DS1具有ODSC和ODSD。如果DS1中的ODSC和ODSD具有與DS0中的ODSA和ODSB不同的object_id,DS0和DS1中PCS的活動(dòng)周期可以重疊,如圖25A所示。如果DS1中的ODSC和ODSD具有與DS0中的ODSA和ODSB相同的object_id,DS0和DS1中PCS的活動(dòng)周期不可以重疊,如圖25B所示。
可以通過(guò)以下“傳送加速度”的方法克服該約束。例如,當(dāng)DS0包含具有object_id=1的ODSA,而且DS1包含ODSC,用于更新DS0中ODSA的圖形對(duì)象時(shí),初始為DS1中ODSC給出不同于object_id=1的object_id。只在DS1中ODSC的圖形對(duì)象已經(jīng)被存入對(duì)象緩沖器中之后,ODSC的object_id改為object_id=1,覆蓋DS0中ODSA的圖形對(duì)象。根據(jù)此方法,可以克服上述約束。這就是說(shuō),用于更新對(duì)象緩沖器中先前的圖形對(duì)象的圖形對(duì)象可以被載入對(duì)象緩沖器,無(wú)需等待顯示先前的圖形對(duì)象。
因?yàn)橐陨戏椒梢杂糜趫D形更新中,一個(gè)DS不僅可以經(jīng)常攜帶由其自身的PCS引用的ODS,還可以經(jīng)常攜帶由隨后的DS的PCS引用的ODS。在此情況下,必須向再現(xiàn)裝置200指明哪些ODS屬于DS。為此,在DS自身中攜帶的所有ODS之后放置END。再現(xiàn)裝置200參考DS中的END,以探測(cè)屬于DS的ODS的末端。
圖26示出由END指明的ODS傳送的末端。在此圖中,第一層示出屬于一個(gè)DS的功能段,而第二層示出BD-ROM 100上的這些功能段的安排。例如PCS,WDS,PDS,和ODS的功能段被轉(zhuǎn)換為T(mén)S數(shù)據(jù)包,并與視頻流一同記錄在BD-ROM 100上,該視頻流同樣被轉(zhuǎn)換為T(mén)S數(shù)據(jù)包。
每個(gè)對(duì)應(yīng)于功能段的TS數(shù)據(jù)包和對(duì)應(yīng)于視頻流的TS數(shù)據(jù)包被給定稱(chēng)為ATS和PCS的時(shí)戳。對(duì)應(yīng)于功能段的TS數(shù)據(jù)包和對(duì)應(yīng)于視頻流的TS數(shù)據(jù)包安排在BD-ROM 100上,使得具有相同時(shí)戳的TS數(shù)據(jù)包彼此鄰近。
這意味著屬于DS的PCS,WDS,以及PDS在BD-ROM 100上是不連續(xù),對(duì)應(yīng)于視頻流(由圖中的字母V指明)的TS數(shù)據(jù)包插入其中。因此功能段相隔一定距離在BD-ROM 100上出現(xiàn)。當(dāng)對(duì)應(yīng)于功能段的TS數(shù)據(jù)包以一定間隔出現(xiàn)在BD-ROM 100上時(shí),難以立即探測(cè)直到哪個(gè)TS數(shù)據(jù)包屬于DS。同樣,DS可以包括不由DS的PCS引用的ODS,這使得探測(cè)更加困難。在此實(shí)施例中,然而,在屬于DS的最后一個(gè)ODS之后提供END。因此,即使當(dāng)屬于DS的功能段以一定間隔出現(xiàn)時(shí),也容易探測(cè)到哪個(gè)ODS屬于DS。
圖27示出重疊的活動(dòng)周期和object_id分配之間的關(guān)系。圖27A示出四個(gè)DS(DS0,DS1,DS2,和DS3)。DS0的PCS不描述任何圖形對(duì)象的顯示。DS1的PCS描述屏幕上的對(duì)象X和Y的顯示,DS2的PCS描述屏幕上的對(duì)象A,Y,和C的顯示,而且DS3的PCS描述屏幕上的對(duì)象D的顯示。
圖27B示出屬于DS的ODS和DS中PCS的活動(dòng)周期。DS0包含對(duì)象X的ODS。DS1包含對(duì)象Y的ODS。DS2包含對(duì)象A,B,和C的ODS。DS3包含對(duì)象D的ODS。四個(gè)DS的每個(gè)中顯示圖形對(duì)象和傳送ODS之間的矛盾可歸于以上傳送加速度。這些DS中PCS的活動(dòng)周期部分重疊。圖27C示出對(duì)象緩沖器中圖形對(duì)象的安排。
假定object_id 0,1,2,3,和4分別分配給對(duì)象X,Y,A,B,和C。這里是這樣一種情況,屬于DS3的對(duì)象D可以分配給object_id5,3,和0中的任何一個(gè)。
因?yàn)閛bject_id 5在DS0至DS2中未分配,該object_id是可能的。
因?yàn)榫哂衞bject_id 3的對(duì)象B包括在DS2中,但不由任何DS的PCS引用,該object_id是可能的。
因?yàn)榫哂衞bject_id 0的對(duì)象X顯示在DS1中,該object_d是可能的。只要DS1中PCS的活動(dòng)周期已經(jīng)結(jié)束,顯示對(duì)象D而不是對(duì)象X的問(wèn)題就不會(huì)出現(xiàn)。
相反地,不可能將object_id 1,2,和4中的任何一個(gè)分配給對(duì)象D。如果此類(lèi)object_id的任何一個(gè)分配給對(duì)象D,對(duì)象D而不是三個(gè)對(duì)象A,Y,和C中的任何一個(gè)將會(huì)停止顯示,且三個(gè)對(duì)象A,Y,和C將顯示在DS2中。
因此,對(duì)象D可以分配給相同的object_id,作為不在DS中PCS的活動(dòng)周期中引用的對(duì)象,該活動(dòng)周期與DS3中PCS的活動(dòng)周期重疊,或作為由DS的PCS引用的對(duì)象,而其中該P(yáng)CS的活動(dòng)周期已經(jīng)結(jié)束。
DSn和DSn+1中PCS的活動(dòng)周期的重疊基于DSn和DSn+1屬于圖形流中相同時(shí)元的前提。如果DSn和DSn+1屬于不同時(shí)元,DSn和DSn+1中PCS的活動(dòng)周期不能重疊。這是因?yàn)槿绻贒Sn中PCS的活動(dòng)周期結(jié)束之前,載入DSn+1的PCS或ODS,就不可能在DSn中PCS的活動(dòng)周期結(jié)束時(shí)刷新(flush)對(duì)象緩沖器和圖形平面。
當(dāng)DSn為EPOCHm的最后一個(gè)DS(以下為“EPOCHmDSlast[PCS]”),而DSn+1為EPOCHm+1的第一個(gè)DS(以下為“EPOCHm+1DSfirst[PCS]”),DSn和DSn+1的PCS的PTS需要滿(mǎn)足以下公式 PTS(EPOCHm DSlast[PCS])≤DTS(EPOCHm+1 DSfirst[PCS]) 同樣,DSn和DSn+1中PCS的活動(dòng)周期的重疊基于圖形流為呈現(xiàn)圖形流的前提。存在兩種類(lèi)型的圖形流呈現(xiàn)圖形流;以及交互式圖形流,該交互式圖形流主要用于生成交互式顯示。
如果DSn和DSn+1屬于交互式圖形流,禁止DSn和DSn+1的重疊。在交互式圖形流中,攜帶控制信息的段稱(chēng)為交互成分段(ICS)。這樣,需要設(shè)定DSn和DSn+1的時(shí)間信息,使得緊接在DSn中ICS的活動(dòng)周期之后,開(kāi)始DSn+1中ICS的活動(dòng)周期。DSn中ICS的活動(dòng)周期的結(jié)束通過(guò)DSn中ICS的PTS示出,而DSn+1中ICS的活動(dòng)周期的開(kāi)始通過(guò)DSn+1中ICS的DTS示出。這里,PTS(DSn[ICS]和DTS(DSn+1[ICS])需要滿(mǎn)足以下公式 PTS(DSn[ICS])≤DTS(DSn+1[ICS]) 這樣完成對(duì)DS中PCS的活動(dòng)周期重疊的說(shuō)明。
注意到以上說(shuō)明的DS的數(shù)據(jù)結(jié)構(gòu)(PCS,WDS,PDS,和ODS)為以程序語(yǔ)言編寫(xiě)的類(lèi)結(jié)構(gòu)的實(shí)例。作者根據(jù)藍(lán)光光盤(pán)只讀格式中定義的語(yǔ)法編寫(xiě)類(lèi)結(jié)構(gòu),在BD-ROM 100上創(chuàng)建這些數(shù)據(jù)結(jié)構(gòu)。
這樣完成了對(duì)根據(jù)本發(fā)明第一實(shí)施例的記錄介質(zhì)的說(shuō)明。以下說(shuō)明根據(jù)本發(fā)明第一實(shí)施例的再現(xiàn)裝置。圖28示出了再現(xiàn)裝置200的內(nèi)部構(gòu)造。再現(xiàn)裝置200是基于該內(nèi)部構(gòu)造制造的。再現(xiàn)裝置200主要包括三個(gè)部分系統(tǒng)LSI;驅(qū)動(dòng)裝置;微處理器系統(tǒng)??梢詫⑦@些部件裝配到該裝置的殼體和襯底上,從而制造再現(xiàn)裝置200。系統(tǒng)LSI是集成電路,包括各種處理單元,用于實(shí)現(xiàn)再現(xiàn)裝置200的功能。再現(xiàn)裝置200包括BD驅(qū)動(dòng)器1;讀取緩沖器2;PID濾波器3;傳輸緩沖器4a、4b和4c;外圍電路4d;視頻解碼器5;視頻平面6;音頻解碼器7;圖形平面8;CLUT單元9;加法器10;圖形解碼器12。圖形解碼器12包括編碼數(shù)據(jù)緩沖器13;外圍電路13a;流圖形處理器14;對(duì)象緩沖器15;合成緩沖器16;圖形控制器17。
BD驅(qū)動(dòng)器1執(zhí)行BD-ROM 100的加載、讀取和彈出。BD驅(qū)動(dòng)器1訪問(wèn)BD-ROM 100。
讀取緩沖器2是FIFO(先進(jìn)先出)存儲(chǔ)器。因此,從BD-ROM 100讀取的TS數(shù)據(jù)包在讀取緩沖器2中消除的次序與它們的到達(dá)次序相同。
PID濾波器3對(duì)從讀取緩沖器2輸出的TS數(shù)據(jù)包執(zhí)行濾波。更詳細(xì)地講,PID濾波器3只把具有預(yù)定PID的TS數(shù)據(jù)包傳遞給傳輸緩沖器4a、4b和4c。PID濾波器3中沒(méi)有緩沖機(jī)制。因此,進(jìn)入PID濾波器3的TS數(shù)據(jù)包立即被寫(xiě)入傳輸緩沖器4a、4b和4c。
傳輸緩沖器4a、4b和4c是FIFO存儲(chǔ)器,用于存儲(chǔ)從PID濾波器3輸出的TS數(shù)據(jù)包。傳輸速度Rx表示從傳輸緩沖器4a讀取TS數(shù)據(jù)包的速度。
外圍電路4d具有連線邏輯,用于把從傳輸緩沖器4a讀取的TS數(shù)據(jù)包轉(zhuǎn)換成功能段。然后,將功能段存儲(chǔ)在編碼數(shù)據(jù)緩沖器13中。
視頻解碼器5對(duì)從PID濾波器3輸出的TS數(shù)據(jù)包進(jìn)行解碼,從而獲得解壓縮的圖片,并將其寫(xiě)入視頻平面6。
視頻平面6是用于存儲(chǔ)運(yùn)動(dòng)圖像的平面存儲(chǔ)器。
音頻解碼器7對(duì)從PID濾波器3輸出的TS數(shù)據(jù)包進(jìn)行解碼,并輸出解壓縮的音頻數(shù)據(jù)。
圖形平面8是一個(gè)平面存儲(chǔ)器,它具有一幅畫(huà)面的存儲(chǔ)區(qū)域,能夠存儲(chǔ)一幅畫(huà)面的解壓縮圖形。
CLUT電路9基于PDS中所示的Y、Cr和Cb值,對(duì)圖形平面8上的解壓縮圖形的索引色(index color)進(jìn)行轉(zhuǎn)換。
加法器10將CLUT電路9轉(zhuǎn)換過(guò)的解壓縮圖形乘以PDS中所示的T值(透明色)。然后,加法器10對(duì)所得的解壓縮圖形和視頻平面6上的解壓縮圖片數(shù)據(jù)中的相應(yīng)像素執(zhí)行加法,并輸出所得的圖像。
圖形解碼器12對(duì)圖形流進(jìn)行解碼,從而獲得解壓縮的圖形,并將解壓縮的圖形作為圖形對(duì)象寫(xiě)入圖形平面8中。對(duì)圖形流進(jìn)行解碼之后,字幕和菜單就出現(xiàn)在屏幕上。
圖形解碼器12從對(duì)象緩沖器15中讀取屬于DSn的圖形對(duì)象,同時(shí)將屬于DSn+1的圖形對(duì)象寫(xiě)入對(duì)象緩沖器15,從而執(zhí)行流水線處理。
圖形解碼器12包括編碼數(shù)據(jù)緩沖器13;外圍電路13a;流圖形處理器14;對(duì)象緩沖器15;合成緩沖器16;圖形控制器17。
編碼數(shù)據(jù)緩沖器13用于將功能段與DTS和PTS一起存儲(chǔ)。通過(guò)將傳輸緩沖器4a中存儲(chǔ)的各TS數(shù)據(jù)包去除TS包頭和PES包頭以及將剩余的有效負(fù)載順序地進(jìn)行排列,得到這些功能段。去除的TS包頭和PES包頭中包含的DTS和PTS存儲(chǔ)在編碼數(shù)據(jù)緩沖器13中,與這些功能段相對(duì)應(yīng)。
外圍電路13a具有連線邏輯,用于將來(lái)自編碼數(shù)據(jù)緩沖器13的數(shù)據(jù)傳輸?shù)搅鲌D形處理器14,并將來(lái)自編碼數(shù)據(jù)緩沖器13的數(shù)據(jù)傳輸?shù)胶铣删彌_器16。更詳細(xì)地講,如果當(dāng)前時(shí)間到達(dá)ODS的DTS,則外圍電路13a將ODS從編碼數(shù)據(jù)緩沖器13傳輸?shù)搅鲌D形處理器14。此外,如果當(dāng)前時(shí)間到達(dá)PCS或PDS的DTS,則外圍電路13a將PCS或PDS從編碼數(shù)據(jù)緩沖器13傳輸?shù)胶铣删彌_器16。
流圖形處理器14對(duì)ODS進(jìn)行解碼,從而獲得具有索引色的解壓縮圖形,并將解壓縮圖形作為圖形對(duì)象傳輸?shù)綄?duì)象緩沖器15。流圖形處理器14的解碼是瞬時(shí)的,并且,通過(guò)解碼獲得的圖形對(duì)象暫時(shí)存儲(chǔ)在流圖形處理器14中。盡管流圖形處理器14的解碼是瞬時(shí)的,但圖形對(duì)象從流圖形處理器14到對(duì)象緩沖器15的傳輸不是瞬時(shí)的。這是因?yàn)?,?duì)于藍(lán)光只讀光盤(pán)格式的播放機(jī)模型,到對(duì)象緩沖器15的傳輸是以128Mbps的傳輸速率執(zhí)行的。DS中的END的PTS給出了屬于DS的所有圖形對(duì)象到對(duì)象緩沖器15的傳輸?shù)慕Y(jié)束。因此,在END的PTS所示的時(shí)間之前,不會(huì)啟動(dòng)下一DS的處理。通過(guò)對(duì)各ODS進(jìn)行解碼而得到的圖形對(duì)象向?qū)ο缶彌_器15的傳輸開(kāi)始于ODS的DTS所示的時(shí)間,結(jié)束于ODS的PTS所示的時(shí)間。
如果DSn的圖形對(duì)象和DSn+1的圖形對(duì)象具有不同的Object_id,那么,流圖形處理器14將這兩個(gè)圖形對(duì)象寫(xiě)入對(duì)象緩沖器15中不同的存儲(chǔ)區(qū)域。這樣,就可以實(shí)現(xiàn)圖形對(duì)象的流水線呈現(xiàn),并且,DSn的圖形對(duì)象不會(huì)被DSn+1的圖形對(duì)象覆蓋。另一方面,如果DSn的圖形對(duì)象和DSn+1的圖形對(duì)象具有相同的Object_id,那么,流圖形存儲(chǔ)器14將DSn+1的圖形對(duì)象寫(xiě)入對(duì)象緩沖器15中也存儲(chǔ)了DSn的圖形對(duì)象的存儲(chǔ)區(qū)域,從而覆蓋DSn的圖形對(duì)象。在這種情況下,不執(zhí)行流水線處理。DS也可以可以包括由該DS的PCS引用的ODS以及PCS未引用的ODS。流圖形處理器14不僅順序地對(duì)該P(yáng)CS引用的ODS進(jìn)行解碼,而且還對(duì)PCS未引用的ODS進(jìn)行解碼,然后,將解碼所得的圖形存儲(chǔ)到對(duì)象緩沖器15中。
對(duì)象緩沖器15對(duì)應(yīng)于ETSI EN 300 743中的像素緩沖器。流圖形處理器14解碼的圖形對(duì)象存儲(chǔ)在對(duì)象緩沖器15中。對(duì)象緩沖器15的尺寸應(yīng)當(dāng)是圖形平面8的尺寸的兩倍或四倍。這是因?yàn)?,為了?shí)現(xiàn)滾讀(scrolling),對(duì)象緩沖器15需要能夠存儲(chǔ)圖形平面18兩倍或四倍的圖形。
合成緩沖器16用于存儲(chǔ)PCS和PDS。當(dāng)DSn和DSn+1中的PCS的激活時(shí)間重疊時(shí),組合緩沖器16存儲(chǔ)DSn中的PCS和DSn+1中的PCS。
圖形控制器17對(duì)合成緩沖器16中的PCS進(jìn)行解碼?;诮獯a結(jié)果,圖形控制器17將DSn+1的圖形對(duì)象寫(xiě)入對(duì)象緩沖器15,同時(shí)從對(duì)象緩沖器15中讀取DSn的圖形對(duì)象,并將其呈現(xiàn)以供顯示。在DSn中的PCS的PTS所示的時(shí)間,執(zhí)行圖形控制器17的呈現(xiàn)。DSn的圖形對(duì)象的呈現(xiàn)和DSn+1的圖形對(duì)象的呈現(xiàn)之間的時(shí)間間隔如上所述。
下面給出建議的傳輸速率以及PID濾波器3、傳輸緩沖器4a、4b和4c、圖形平面8、CLUT單元9、編碼數(shù)據(jù)緩沖器13、流圖形處理器14、對(duì)象緩沖器15、合成緩沖器16和圖形控制器17的緩沖器尺寸。圖29示出了傳輸速率Rx、Rc和Rd以及圖形平面8、傳輸緩沖器4a、編碼數(shù)據(jù)緩沖器13和對(duì)象緩沖器15的尺寸。
從對(duì)象緩沖器15到圖形平面8的傳輸速率Rc(像素合成速率)是再現(xiàn)裝置200中最高的傳輸速率,根據(jù)窗口大小和幀速率,將其計(jì)算為256Mbps(=500K字節(jié)×29.97×2)。
與Rc不同,從流圖形處理器14到對(duì)象緩沖器15的傳輸速率Rd(像素解碼速率)不必與幀速率一致,它可以是Rc的1/2或1/4。因此,傳輸速率Rd是128Mbps或64Mbps。
從傳輸緩沖器4a到編碼數(shù)據(jù)緩沖器13的傳輸速率Rx(傳輸緩沖器泄漏速率)ODS處于壓縮狀態(tài)下的傳輸速率。因此,通過(guò)用ODS的壓縮率乘以Rd,可以計(jì)算出傳輸速率Rc。例如,如果壓縮率為25%,則傳輸速率Rx是16Mbps(=64Mbps×25%)。
給出的這些傳輸速率和緩沖器尺寸只是最低標(biāo)準(zhǔn),傳輸速率和緩沖器大小也可以大于圖29所示情況。
在如上構(gòu)造的再現(xiàn)裝置200中,組成部件以流水線方式執(zhí)行處理。
圖30的時(shí)序圖示出了再現(xiàn)裝置200中執(zhí)行的流水線處理。在圖中,第五級(jí)示出了BD-ROM 100上的DS。第四級(jí)示出了PCS、WDS、PDS、ODS和END向編碼數(shù)據(jù)緩沖器13的寫(xiě)入時(shí)間。第三級(jí)示出了流圖形處理器14對(duì)ODS的解碼時(shí)間。第二級(jí)示出了合成緩沖器16的存儲(chǔ)內(nèi)容。第一級(jí)示出了圖形控制器17的操作。
ODS1和ODS2的DTS分別給出了t31和t32。因此,在t31和t32之前,需要將ODS1和ODS2緩沖在編碼數(shù)據(jù)緩沖器13中。因此,在t31之前,ODS1向編碼數(shù)據(jù)緩沖器13的寫(xiě)入結(jié)束,在t31,解碼時(shí)間dp1開(kāi)始,在t31之前,ODS2向編碼數(shù)據(jù)緩沖器13的寫(xiě)入結(jié)束,在t31,解碼時(shí)間dp2開(kāi)始。
同時(shí),ODS1和ODS2的PTS分別給出了t32和t33。因此,在t32之前,流圖形處理器14對(duì)ODS1的解碼結(jié)束,在t33之前,流圖形處理器14對(duì)ODS2的解碼結(jié)束。因此,在ODS的DTS給出的時(shí)間之前,ODS緩存在編碼數(shù)據(jù)緩沖器13中,在ODS的PTS所示的時(shí)間之前,對(duì)所緩沖的ODS進(jìn)行解碼并將其傳輸?shù)綄?duì)象緩沖器15。
在第一級(jí)中,cd1表示圖形控制器17清除圖形平面8所需的時(shí)間,td1表示圖形控制器17將對(duì)象緩沖器15中包含的圖形寫(xiě)入圖形平面8所需的時(shí)間。WDS的PTS表示啟動(dòng)寫(xiě)入圖形的最后期限。PCS的PTS表示向圖形平面8中寫(xiě)入圖形結(jié)束并呈現(xiàn)所寫(xiě)入圖形以供顯示的時(shí)間。因此,在PCS的PTS所示的時(shí)間處,獲得圖形平面8上的一幅畫(huà)面的解壓縮圖形。CLUT單元9對(duì)解壓縮的圖形執(zhí)行顏色轉(zhuǎn)換,加法器10將該圖形覆蓋在視頻平面6上存儲(chǔ)的解壓縮圖片上。從而產(chǎn)生所得的圖像。
在圖形解碼器12中,當(dāng)圖形控制器17清除圖形平面8時(shí),流圖形處理器14繼續(xù)解碼。該流水線處理的結(jié)果是,可以快速地顯示圖形。
圖30示出了在ODS解碼之前圖形平面8的清除結(jié)束的例子。另一方面,圖31的時(shí)序圖示出了ODS的解碼在清除圖形平面8之前結(jié)束的流水線處理。在這種情況下,ODS解碼結(jié)束之后,還不能把通過(guò)解碼獲得的圖形寫(xiě)入圖形平面8。只有圖形平面8的清除結(jié)束之后,才可以將該圖形寫(xiě)入圖形平面8中。
圖32的時(shí)序圖示出了再現(xiàn)裝置200中的緩沖器占用率的變化。在圖中,第一至第四級(jí)分別示出了圖形平面8、對(duì)象緩沖器15、編碼數(shù)據(jù)緩沖器13和合成緩沖器16的占用率。這些變化是用線圖的形式表示的,其中,水平軸表示時(shí)間,垂直軸表示占用率。
第四級(jí)表示合成緩沖器16的占用率的變化。如圖所示,合成緩沖器16的占用率的變化包括單調(diào)增加Vf0,單調(diào)增加Vf0反映將從編碼數(shù)據(jù)緩沖器13輸出的PCS進(jìn)行存儲(chǔ)。
第三級(jí)顯示編碼數(shù)據(jù)緩沖器13的占用率的變化。如圖所示,數(shù)據(jù)緩沖器13的占用率的變化包括單調(diào)增加Vf1和Vf2以及單調(diào)減少Vg1和Vg2,單調(diào)增加Vf1和Vf2反映ODS1和ODS2的存儲(chǔ),單調(diào)減少Vg1和Vg2反映流圖形處理器14順序地讀取ODS1和ODS2。單調(diào)增長(zhǎng)Vf1和Vf2的斜率基于從傳輸緩沖器4a到編碼數(shù)據(jù)緩沖器13的傳輸速率Rx,而單調(diào)減少Vg1和Vg2是瞬時(shí)的,因?yàn)榱鲌D形處理器14的解碼是瞬時(shí)執(zhí)行的。也就是說(shuō),流圖形處理器14瞬時(shí)地對(duì)每個(gè)ODS進(jìn)行解碼,并保存通過(guò)解碼獲得的解壓縮圖形。由于從流圖形處理器14到對(duì)象緩沖器15的傳輸速率Rd是128Mbps,所以,對(duì)象緩沖器15的占用率以128Mbps增加。
第二級(jí)給出了對(duì)象緩沖器15的占用率的變化。如圖所示,對(duì)象緩沖器15的占用率的變化包括單調(diào)增加Vh1和Vh2,單調(diào)增加Vh1和Vh2反映將從流圖形處理器14輸出的ODS1和ODS2的圖形對(duì)象進(jìn)行存儲(chǔ)。單調(diào)增加Vh1和Vh2的斜率基于從流圖形處理器14到對(duì)象緩沖器15的傳輸速率Rd。ODS1和ODS2的解碼時(shí)間分別對(duì)應(yīng)于第三級(jí)中出現(xiàn)單調(diào)減少和第二級(jí)中出現(xiàn)單調(diào)增加的時(shí)間段。ODS的DTS表示解碼時(shí)間的開(kāi)始,而ODS的PTS表示解碼時(shí)間的結(jié)束。如果在ODS的PTS顯示的時(shí)間之前將解壓縮圖形對(duì)象傳輸?shù)綄?duì)象緩沖器15,則ODS的解碼結(jié)束。在ODS的PTS所示時(shí)間之前將解壓縮圖形對(duì)象存儲(chǔ)在對(duì)象緩沖器15中是很重要的。只要滿(mǎn)足這一點(diǎn),解碼時(shí)間中的單調(diào)減少和單調(diào)增加不限于圖32所示情形。
第一級(jí)示出了圖形平面8的占用率的變化。如圖所示,圖形平面8的占用率的變化包括單調(diào)增加Vf3,單調(diào)增加Vf3反映將從對(duì)象緩沖器15輸出的圖形對(duì)象進(jìn)行存儲(chǔ)。單調(diào)增加Vf3的斜率基于從對(duì)象緩沖器15到圖形平面8的傳輸速率Rc。PCS的PTS給出了單調(diào)增加Vf3的結(jié)束。
通過(guò)使用ODS的DTS和PTS、PCS的DTS和PTS以及圖29所示的緩沖器尺寸和傳輸速率,可以創(chuàng)建圖32所示的圖。該圖使得當(dāng)再現(xiàn)BD-ROM 100上的AV剪輯時(shí)創(chuàng)作者能夠了解緩沖器狀態(tài)如何改變。
通過(guò)重寫(xiě)DTS和PTS,可以調(diào)整緩沖器狀態(tài)的這些變化。因此,創(chuàng)作者可以防止解碼負(fù)載超過(guò)再現(xiàn)裝置的解碼器的規(guī)格,或者,防止再現(xiàn)期間的緩沖器溢出。這使得當(dāng)開(kāi)發(fā)再現(xiàn)裝置200時(shí)硬件和軟件的實(shí)現(xiàn)更容易。對(duì)再現(xiàn)裝置200的內(nèi)部構(gòu)造的解釋到此結(jié)束。
下面說(shuō)明如何實(shí)現(xiàn)圖形解碼器12。通過(guò)讓一個(gè)通用CPU執(zhí)行用于實(shí)現(xiàn)圖33所示操作的程序,可以實(shí)現(xiàn)圖形解碼器12。下面結(jié)合圖33,描述圖形解碼器12的操作。
圖33的流程圖示出了功能段的加載操作。在圖中,SegmentK是一個(gè)變量,表示一個(gè)屬于DS并且在再現(xiàn)AV剪輯期間被讀取的Segment(PCS、WDS、PDS或ODS),忽略標(biāo)志表示是忽略SegmentK還是加載SegmentK。在該流程圖中,在將忽略標(biāo)志復(fù)位為0之后(S20),對(duì)于每個(gè)SegmentK,執(zhí)行步驟S21到S24和S27到S31的循環(huán)(S25和S26)。
步驟S21判斷SegmentK是不是PCS。如果SegmentK是PCS,則操作轉(zhuǎn)入步驟S27。
步驟S22判斷忽略標(biāo)志是0還是1。如果忽略標(biāo)志是0,則操作轉(zhuǎn)入步驟S23。如果忽略標(biāo)志是1,則操作轉(zhuǎn)入步驟S24。在步驟S23中,將SegmentK加載到編碼數(shù)據(jù)緩沖器13中。
如果忽略標(biāo)志是1(S22否),則忽略SegmentK(S24)。這導(dǎo)致在步驟S22中對(duì)屬于該DS的所有功能段的否定判斷,因此,忽略DS的所有功能段。
因此,忽略標(biāo)志指示要忽略或加載SegmentK。執(zhí)行步驟S27至S31和S34至S35,從而設(shè)置該忽略標(biāo)志。
步驟S27判斷PCS的composition_state字段是不是AcquisitionPoint。如果composition_state字段是Acquisition Point,則操作轉(zhuǎn)入步驟S28。如果composition_state字段是Epoch Start或Normal Case,則操作轉(zhuǎn)入步驟S31。
步驟S28判斷前一DS是否存在圖形解碼器12的某一緩沖器中(編碼數(shù)據(jù)緩沖器13、流圖形處理器14、對(duì)象緩沖器15和合成緩沖器16)。如果執(zhí)行跳節(jié)操作的話,則前面的DS不存在于圖形解碼器12中。在這種情況下,需要從Acquisition Point Ds開(kāi)始顯示,從而使操作轉(zhuǎn)入步驟S30(S28否)。
在步驟S30中,將忽略標(biāo)志設(shè)置為0,于是操作轉(zhuǎn)入步驟S22。
另一方面,如果執(zhí)行正常再現(xiàn)的話,則前面的DS存在圖形解碼器12中。在這種情況下,操作轉(zhuǎn)入步驟S29(S28是)。在步驟S29中,將忽略標(biāo)志設(shè)置為1,于是操作轉(zhuǎn)入步驟S22。
步驟S31判斷composition_state字段是否為Normal Case。如果composition_state字段是Normal_Case,則操作轉(zhuǎn)入步驟S34。如果composition_state字段為Epoch_Start則操作轉(zhuǎn)入步驟S30,其中,將忽略標(biāo)志_設(shè)置為0。
步驟S34與步驟S28相同,判斷前面的DS是否存在圖形解碼器12中。如果前面的DS是否存在,則將忽略標(biāo)志設(shè)置為0(S30)。否則,則將忽略標(biāo)志設(shè)置為1,因?yàn)闊o(wú)法獲得足以合成一幅畫(huà)面圖形的的功能段(S35)。這樣,當(dāng)前面的DS不存在于圖形解碼器12中時(shí),忽略Normal Case DS的功能段。
下面結(jié)合圖34給出加載DS的具體例子。在圖34中,將三個(gè)DS(DS0、DS1和DS2)與視頻進(jìn)行復(fù)用。DS1的composition_state字段是Epoch Start DS10的composition_state字段是Acquisition Point,DS20的composition_state字段是Normal Case。
假設(shè)對(duì)復(fù)用了這三個(gè)DS和視頻的AV剪輯中的圖片數(shù)據(jù)pt10執(zhí)行跳節(jié)操作,如箭頭am1所示。在這種情況下,最接近pt10的DS10受到圖33所示操作的影響。DS10的composition_state字段是Acquisition Point(S27是),但是,前面的DS(DS1)不存在于編碼數(shù)據(jù)緩沖器13中(S28否)。因此,將忽略標(biāo)志設(shè)置為0(S30)。從而,將DS 10加載到編碼數(shù)據(jù)緩沖器13中,如圖35中的箭頭md1所示。另一方面,假設(shè)對(duì)DS10之后的圖片數(shù)據(jù)執(zhí)行跳節(jié)操作,如圖34中的箭頭am2所示。在這種情況下,DS20是Normal Case DS,之前的DS(DS10)不存在于編碼數(shù)據(jù)緩沖器13中。因此,忽略DS20,如圖35中的箭頭md2所示。
圖37示出了當(dāng)執(zhí)行如圖36所示的正常再現(xiàn)時(shí)如何加載DS1、DS10和DS20。在這三個(gè)DS中,DS1是一個(gè)Epoch Start DS,被加載到編碼數(shù)據(jù)緩沖器13中,如箭頭rd1所示(S23)。但是,對(duì)于作為Acquisition Point DS的DS10,忽略標(biāo)志被設(shè)置成1(S29),所以,DS10的功能段不會(huì)被加載到編碼數(shù)據(jù)緩沖器13中,而是被忽略,如箭頭rd2所示(S24)。同時(shí),作為Normal Case DS的DS20被加載到編碼數(shù)據(jù)緩沖器13中,如箭頭rd3所示(S23)。
下面解釋圖形控制器17的操作。圖38至40的流程圖示出了圖形控制器17的操作。
步驟S41至S44構(gòu)成一個(gè)主程序,其中,等待由步驟S41到S44中任意之一所表示的事件。
在圖38中,步驟S41判斷當(dāng)前再現(xiàn)時(shí)間是否為PCS的DTS。如果是,則執(zhí)行步驟S45至S53。
步驟S45判斷PCS的composition_state字段是不是Epoch_Start。如果是,則在步驟S46中清除整個(gè)圖形平面8。否則,在步驟S47中清除由WDS的window_horizontal_position字段、window_vertical_position字段、window_width字段和window_height字段表示的窗口。
在步驟S46至S47之后執(zhí)行步驟S48,判斷是否已經(jīng)超過(guò)任一ODSx的PTS。清除整個(gè)圖形平面8需要花費(fèi)很長(zhǎng)時(shí)間,所以,在清除整個(gè)圖形平面8之前,ODSx的解碼可能已經(jīng)結(jié)束。步驟S48檢查這種可能性。如果沒(méi)有超過(guò)ODSx的PTS,則操作返回到主程序。如果超過(guò)了ODSx的PTS,則執(zhí)行步驟S49至S51。步驟S49判斷object_cropped_flag字段是否為0。如果是,則將與ODSx對(duì)應(yīng)的圖形對(duì)象設(shè)置為不顯示(S50)。
如果object_cropped_flag字段是1,則將基于object_cropping_horizontal_position字段、object_cropping_vertical_position字段、cropping_width字段和cropping_height字段剪裁的圖形對(duì)象寫(xiě)入圖形平面8上的窗口中,所在位置用object_horizontal_position字段和object_vertical_position字段表示(S51)。這樣,就將圖形對(duì)象寫(xiě)入了窗口。
步驟S52判斷是否超過(guò)另一ODS(ODSy)的PTS。如果在將ODSx的圖形對(duì)象寫(xiě)入圖形平面8的期間完成了ODSy的解碼,則將ODSy設(shè)置為ODSx(S53),然后,操作返回步驟S49。因此,對(duì)ODSy執(zhí)行步驟S49至S51。
在圖39中,步驟S42判斷當(dāng)前再現(xiàn)時(shí)間是否為WDS的PTS。如果是,則操作轉(zhuǎn)入步驟S54,判斷窗口的數(shù)量是否為1。如果窗口的數(shù)量為2,則操作返回主程序。如果窗口的數(shù)量為1,則執(zhí)行步驟S55至S59的循環(huán)。在該循環(huán)中,對(duì)于窗口中要顯示的最多兩個(gè)圖形對(duì)象中的每一個(gè),執(zhí)行步驟S57至S59。步驟S57判斷object_cropped_flag是否為0。如果是,則將圖形對(duì)象設(shè)置為不顯示(S58)。
如果object_cropped_flag是1,則將基于object_cropping_horizontal_position字段、object_cropping_vertical_position字段、cropping_width字段和cropping_height字段剪裁的圖形對(duì)象寫(xiě)入圖形平面8上的窗口中,所在位置用object_horizontal_position字段和object_vertical_position字段表示(S59)。該循環(huán)之后,一個(gè)或多個(gè)圖形對(duì)象被寫(xiě)入窗口中。
步驟S44判斷當(dāng)前再現(xiàn)時(shí)間是否為PCS的PTS。如果是,則操作轉(zhuǎn)入步驟S60,以判斷palette_update_flag字段是否為1。如果是,則將palette_id字段標(biāo)識(shí)的調(diào)色板發(fā)送到CLUT單元9(S61)。如果palette_update_flag字段為0,則跳過(guò)步驟S61。
此后,CLUT單元對(duì)圖形平面8上的圖形執(zhí)行顏色轉(zhuǎn)換。然后,將圖形覆蓋到視頻上(S62)。
在圖40中,步驟S43判斷當(dāng)前時(shí)間是否為ODS的PTS。如果是,則操作轉(zhuǎn)入步驟S63,以判斷窗口數(shù)量是否為2。如果窗口數(shù)量為1,則操作返回主程序。
這里,步驟S43和S63中做出的判斷具有以下意思。如果窗口數(shù)量為2,則分別在兩個(gè)窗口中顯示兩個(gè)圖形對(duì)象。在這種情況下,每次ODS解碼結(jié)束時(shí),需要將通過(guò)解碼得到的圖形對(duì)象寫(xiě)入圖形平面8(參見(jiàn)圖19B)。因此,如果當(dāng)前時(shí)間是ODS的PTS并且窗口數(shù)量是2,則執(zhí)行步驟S64至S66,以將每個(gè)圖形對(duì)象寫(xiě)入圖形平面8中。步驟S64判斷object_cropped_flag字段是否為0。如果是,則將圖形對(duì)象設(shè)置為不顯示(S65)。
如果object_cropped_flag字段是1,則將基于object_cropping_horizontal_position字段、object_cropping_vertical_position字段、cropping_width字段和cropping_height字段剪裁的圖形對(duì)象寫(xiě)入圖形平面8上的窗口中,所在位置用object_horizontal_position字段和object_vertical_position字段表示(S66)。重復(fù)該處理,從而將兩個(gè)圖形對(duì)象分別寫(xiě)入這兩個(gè)窗口。
根據(jù)該實(shí)施例,在前面緊鄰的DS中PCS的活動(dòng)周期內(nèi)開(kāi)始一個(gè)DS的處理。換句話說(shuō),無(wú)需等待前面緊鄰的DS中PCS的活動(dòng)周期結(jié)束,就可以開(kāi)始DS的處理。DS的處理開(kāi)始的定時(shí)是在前面緊鄰的DS中PCS的活動(dòng)周期內(nèi),前面緊鄰的DS的圖形的解碼和傳送完成的時(shí)候。因此,DS的處理可以提前一個(gè)時(shí)間周期,其中該時(shí)間周期從前面緊鄰的DS的圖形的解碼和傳送完成到前面緊鄰的DS中PCS的活動(dòng)周期結(jié)束。
即使當(dāng)以此方式,在前面緊鄰的DS中PCS的活動(dòng)周期內(nèi)開(kāi)始一個(gè)DS的處理時(shí),DS的圖形對(duì)象寫(xiě)入對(duì)象緩沖器的時(shí)間周期也不與前面緊鄰的DS的圖形對(duì)象寫(xiě)入對(duì)象緩沖器的時(shí)間周期重疊。因此,只要將可以同時(shí)讀取和寫(xiě)入的雙端口存儲(chǔ)器用作為對(duì)象緩沖器,就可以用單個(gè)流圖形處理器在流水線中處理兩個(gè)或更多DS。此類(lèi)流水線處理提高解碼效率,不會(huì)使再現(xiàn)裝置200的內(nèi)部結(jié)構(gòu)復(fù)雜化。
(第二個(gè)實(shí)施例) 本發(fā)明的第二個(gè)實(shí)施例涉及第一個(gè)實(shí)施例中介紹的BD-ROM100的制造過(guò)程。圖41是BD-ROM 100的制造過(guò)程的流程圖。
該制造過(guò)程包括材料生產(chǎn)步驟,用于記錄視頻、聲音等(S201);創(chuàng)作步驟,使用創(chuàng)作設(shè)備創(chuàng)建應(yīng)用格式(S202);印制(pressing)步驟,用于創(chuàng)建BD-ROM 100的原始主盤(pán)(original master),并執(zhí)行壓制(stamping)和粘合(bonding),以完成BD-ROM 100(S203)。
在該制造過(guò)程中,創(chuàng)作步驟包括步驟S204至S213。
在步驟S204中,生成控制信息、窗口定義信息、調(diào)色板定義信息和圖形。在步驟S205中,將控制信息、窗口定義信息、調(diào)色板定義信息和圖形轉(zhuǎn)換成功能段。在步驟S206中,基于要同步圖片的時(shí)間,設(shè)置每個(gè)PCS的PTS。在步驟S207中,基于PTS[PCS]設(shè)置DTS[ODS]和PTS[ODS]。在步驟S208中,基于DTS[ODS],設(shè)置DTS[PCS]、PTS[PDS]、DTS[WDS]和PTS[WDS]。在步驟S209中,用圖表示播放機(jī)模型中每個(gè)緩沖器的占用率的變化。在步驟S210中,判斷圖示的變化是否滿(mǎn)足播放機(jī)模型的約束條件。如果判斷結(jié)果是否定的,則在步驟S211中,重寫(xiě)每個(gè)功能段的DTS和PTS。如果判斷結(jié)果是肯定的,則在步驟S212中生成圖形流,并在步驟S213中將圖形流與視頻流和音頻流進(jìn)行復(fù)用,以形成AV剪輯。此后,將AV剪輯改編為藍(lán)光只讀光盤(pán)格式,從而完成該應(yīng)用格式。
(修改) 盡管通過(guò)上面的實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但本發(fā)明不限于此。也可以用下面的修改(A)至(P)中任意之一來(lái)實(shí)現(xiàn)本發(fā)明。本申請(qǐng)的每項(xiàng)權(quán)利要求的發(fā)明都包括上述實(shí)施例的擴(kuò)展和概括以及下面的修改。擴(kuò)展和概括程度取決于做出本發(fā)明時(shí)本發(fā)明技術(shù)領(lǐng)域的技術(shù)發(fā)展水平。
(A)在上述實(shí)施例描述的情形中,將BD-ROM用作記錄介質(zhì)。但是,本發(fā)明的主要特征在于記錄介質(zhì)上記錄的圖形流,而這并不依賴(lài)于BD-ROM的物理特性。因此,本發(fā)明同樣適用于能夠記錄圖形流的任何記錄介質(zhì)。這種記錄介質(zhì)的示例包括光盤(pán),如DVD-ROM、DVD-RAM、DVD-RW、DVD-R、DVD+RW、DVD+R、CD-R或CD-RW;磁光盤(pán),如PD和MO;半導(dǎo)體存儲(chǔ)卡,如CF卡、Smartmedia卡、記憶棒、多媒體卡或PCM-CIA卡;磁記錄盤(pán),如軟盤(pán)、SuperDisk、Zip和Click??;可移動(dòng)硬盤(pán),如ORB、Jaz、SparQ、SyJet、EZFley和Microdrive;以及不可移動(dòng)硬盤(pán)。
(B)在上述實(shí)施例描述的情形中,再現(xiàn)裝置對(duì)BD-ROM上的AV剪輯進(jìn)行解碼,并將解碼后的AV剪輯輸出到電視。當(dāng)然,再現(xiàn)裝置也可以只有BD驅(qū)動(dòng)器,其他的組成部件由電視來(lái)提供。在這種情況下,可以將再現(xiàn)裝置和電視集成到通過(guò)IEEE 1394連接器相連的家庭網(wǎng)絡(luò)中。
在上述實(shí)施例描述的情形中,再現(xiàn)裝置連接到電視,但是,再現(xiàn)裝置也可以與顯示裝置集成在一起。此外,再現(xiàn)裝置也可以只包括系統(tǒng)LSI(集成電路),其構(gòu)成處理的實(shí)質(zhì)性部分。該再現(xiàn)裝置和該集成電路都是本說(shuō)明書(shū)所描述的發(fā)明。因此,不管涉及再現(xiàn)裝置還是涉及集成電路,基于第一個(gè)實(shí)施例中描述的再現(xiàn)裝置的內(nèi)部構(gòu)造來(lái)制造再現(xiàn)裝置的行為都是實(shí)施本發(fā)明的一種行為。此外,有償轉(zhuǎn)讓(即銷(xiāo)售)或無(wú)償轉(zhuǎn)讓(即,作為禮物)、出租和進(jìn)口該再現(xiàn)裝置也是實(shí)施本發(fā)明的行為。同樣,使用櫥窗展示、商品目錄或宣傳冊(cè)來(lái)許諾轉(zhuǎn)讓或出租該再現(xiàn)裝置的行為也是實(shí)施本發(fā)明的行為。
(C)使用上述流程圖所示的程序的信息處理實(shí)際上是用硬件資源實(shí)現(xiàn)的。因此,描述這些流程圖中所示操作過(guò)程的程序本身也是一項(xiàng)發(fā)明。在上述實(shí)施例所描述的情形中,程序是集成到再現(xiàn)裝置中的,但是,這些程序的使用也可以獨(dú)立于再現(xiàn)裝置。實(shí)施這些程序的行為包括(1)制造行為;(2)有償或無(wú)償轉(zhuǎn)讓的行為;(3)出租行為;(4)進(jìn)口行為;(5)經(jīng)由雙向電子通信網(wǎng)絡(luò)提供給公眾的行為;(6)使用櫥窗展示、商品目錄或宣傳冊(cè)許諾銷(xiāo)售或出租的行為。
(D)在每個(gè)流程圖中以時(shí)間序列執(zhí)行的步驟的時(shí)間單元可被視為本發(fā)明的必要單元。因此,這些流程圖所示的再現(xiàn)方法是一項(xiàng)發(fā)明。如果執(zhí)行每個(gè)流程圖中所示的處理,通過(guò)以時(shí)間順序執(zhí)行這些步驟,從而實(shí)現(xiàn)預(yù)期的目的和預(yù)期的效果,那么,這也是實(shí)施本發(fā)明的記錄方法的行為。
(E)當(dāng)把AV剪輯記錄到BD-ROM上時(shí),可以向AV剪輯中的各個(gè)TS包添加擴(kuò)展頭。該擴(kuò)展頭被稱(chēng)為T(mén)P_extra_header,其包括arrival_time_stamp和copy_permission_indicator,并且數(shù)據(jù)長(zhǎng)度為4個(gè)字節(jié)。具有TP_extra_header的TS數(shù)據(jù)包(下文稱(chēng)之為“EX TS包”)以32個(gè)數(shù)據(jù)包為單位進(jìn)行分組,并且將每組寫(xiě)入3個(gè)扇區(qū)中。由32個(gè)EX TS數(shù)據(jù)包構(gòu)成的一組具有6144個(gè)字節(jié)(=32×192),這相當(dāng)于3個(gè)扇區(qū)的尺寸(6144個(gè)字節(jié)=(2048×3))。包含在這3個(gè)扇區(qū)中的這32個(gè)EX TS數(shù)據(jù)包被稱(chēng)為一個(gè)對(duì)準(zhǔn)單元(aligned unit)。
在通過(guò)IEEE1394連接器相連的家庭網(wǎng)絡(luò)中,該再現(xiàn)裝置以下面的方式發(fā)送對(duì)準(zhǔn)單元。該再現(xiàn)裝置將對(duì)準(zhǔn)單元中的32個(gè)EX TS數(shù)據(jù)包中的每一個(gè)都刪除TP_extra_header,并且根據(jù)DTCP規(guī)范加密各TS數(shù)據(jù)包的主體,然后輸出加密的TS數(shù)據(jù)包。當(dāng)輸出TS數(shù)據(jù)包時(shí),該再現(xiàn)裝置將一個(gè)同步包插入相鄰的TS數(shù)據(jù)包之間。根據(jù)TP_extra_header的arrival_time_stamp所示的時(shí)間來(lái)確定插入同步包的位置。該再現(xiàn)裝置輸出DTCP_descriptor以及TS包。DTCP_descriptor對(duì)于于是TP_extra_header中的copy_permission_indicator。通過(guò)提供表明“禁止復(fù)制”的DTCP_descriptor,當(dāng)在IEEE連接器連接的家庭網(wǎng)絡(luò)中使用TS數(shù)據(jù)包時(shí),可以防止將TS數(shù)據(jù)包記錄到其他設(shè)備上。
(F)在上述實(shí)施例所描述的情形中,將BD-ROM格式的AV剪輯用作數(shù)字流,但本發(fā)明還可以用DVD視頻格式或DVD視頻記錄格式的VOB(視頻對(duì)象)來(lái)實(shí)現(xiàn)。VOB是符合ISO/IEC13818-1標(biāo)準(zhǔn)的節(jié)目流,它是通過(guò)復(fù)用視頻流和音頻流而獲得的。同樣,AV剪輯中的視頻流也可以是MPEG4視頻流或WMV視頻流。此外,AV剪輯中的音頻流可以是線性PCM音頻流、Dolby AC-3音頻流、MP3音頻流、MPEG-AAC音頻流或dts音頻流。
(G)上述實(shí)施例中的電影可以是通過(guò)對(duì)經(jīng)過(guò)模擬廣播傳輸?shù)哪M圖像信號(hào)進(jìn)行編碼而獲得的。此外,該電影也可以是經(jīng)過(guò)數(shù)字廣播傳輸?shù)膫鬏斄鳂?gòu)成的流數(shù)據(jù)。
或者,還可以通過(guò)對(duì)記錄在錄像帶中的模擬/數(shù)字圖像信號(hào)進(jìn)行編碼來(lái)獲得內(nèi)容。此外,還可以通過(guò)對(duì)從視頻照相機(jī)中直接裝載的模擬或數(shù)字圖像信號(hào)進(jìn)行編碼來(lái)獲得內(nèi)容。這些內(nèi)容也可以是通過(guò)分發(fā)服務(wù)器分發(fā)的數(shù)字作品。
(H)上述實(shí)施例中描述的圖形對(duì)象是游程編碼的柵格數(shù)據(jù)。游程編碼用于壓縮和編碼圖形對(duì)象,因?yàn)橛纬叹幋a適于壓縮和解壓縮字幕。字幕的屬性在于,水平方向上的相同像素值的連續(xù)長(zhǎng)度較長(zhǎng)。因而,通過(guò)使用游程編碼進(jìn)行壓縮,可以獲得高壓縮率。此外,游程編碼降低了解壓縮的負(fù)擔(dān),因此適于用軟件實(shí)現(xiàn)解密。但是,對(duì)圖形對(duì)象使用游程編碼不是限制本發(fā)明。例如,圖形對(duì)象可以是PNG數(shù)據(jù)。此外,圖形對(duì)象不必是柵格數(shù)據(jù),也可以是矢量數(shù)據(jù)。此外,圖形對(duì)象可以是透明圖案。
(I)根據(jù)再現(xiàn)裝置中的語(yǔ)言設(shè)置選擇的字幕圖形可以實(shí)現(xiàn)PCS的顯示效果。因此,可以通過(guò)根據(jù)該再現(xiàn)裝置的語(yǔ)言設(shè)置顯示的字幕圖形來(lái)實(shí)現(xiàn)通過(guò)使用在常規(guī)DVD中視頻主體內(nèi)包含的字符而達(dá)到的顯示效果。這有助于提高實(shí)用性。
此外,根據(jù)該再現(xiàn)裝置的顯示設(shè)置而選擇的字幕圖形可以實(shí)現(xiàn)PCS的顯示效果。例如,BD-ROM上記錄了各種顯示模式的圖形,如寬屏幕、平移與掃描(Pan and Scan,即4:3模式)和郵箱(letterbox,即16:9模式),再現(xiàn)裝置根據(jù)與再現(xiàn)裝置連接的電視的顯示設(shè)置來(lái)選擇一種顯示模式,并顯示對(duì)應(yīng)的圖形。由于PCS的顯示效果適用于這些圖形,所以可視性得到了增強(qiáng)因此,用根據(jù)顯示設(shè)置顯示的字幕圖形可以實(shí)現(xiàn)用傳統(tǒng)DVD中視頻主體內(nèi)包含的字符達(dá)到的顯示鮮果。這有助于提高實(shí)用性。
(J)在第一個(gè)實(shí)施例描述的情形中,設(shè)置從對(duì)象緩沖器到圖形平面的傳輸速率Rc,從而在一個(gè)視頻幀內(nèi),清除圖形平面和在窗口上呈現(xiàn)圖形,窗口尺寸是圖形平面的25%。但是,可以將Rc設(shè)置成在垂直消隱期間完成清除和呈現(xiàn)。假定垂直消隱周期是1/29.93秒的25%。那么,Rc是1Gbps。如此設(shè)置Rc,可以更流暢地顯示圖形。
此外,可以與垂直消隱期間的寫(xiě)操作一起,使用與行掃描同步的寫(xiě)操作。這樣,可以Rc=256Mbps流暢地顯示字幕。
(K)在上述實(shí)施例所描述的情形中,再現(xiàn)裝置包括圖形平面上。但是,還可以將用于儲(chǔ)存一行解壓縮像素的線緩沖器代替圖形平面。因?yàn)閷?duì)于每行執(zhí)行到圖像信號(hào)的轉(zhuǎn)換,所以,同樣可以用線緩沖器執(zhí)行到圖像信號(hào)的轉(zhuǎn)換。
(L)在上述實(shí)施例所描述的情形中,圖形是表示電影中的對(duì)話的字符串,但是,本發(fā)明同樣適用于與視頻精確同步顯示的任何圖形。這樣的圖形示例包括插圖、圖案、卡通人物和字符標(biāo)記。這些圖形的示例還包括構(gòu)成商標(biāo)的圖案、字符和顏色的組合、國(guó)家飾章、國(guó)旗、國(guó)徽、國(guó)家政府使用的公共標(biāo)記或圖章、國(guó)際組織的飾章、旗幟或徽章,或者特殊項(xiàng)目的原始標(biāo)記。
(M)在第一個(gè)實(shí)施例所描述的情形中,基于字幕在屏幕頂部或底部上水平地顯示的假設(shè),將窗口設(shè)置在屏幕的頂部或底部。但是,也可以將窗口設(shè)置在屏幕的左側(cè)或右側(cè),從而在屏幕的左側(cè)和右側(cè)上垂直地顯示字幕。這樣,就可以垂直地顯示日文字幕。
(O)當(dāng)DSn和DSn+1屬于圖形流中同一時(shí)元時(shí),圖形解碼器對(duì)DSn和DSn+1執(zhí)行流水線處理。另一方面,當(dāng)DSn和DSn+1屬于不同的時(shí)元時(shí),在DSn的圖形顯示開(kāi)始之后,圖形解碼器開(kāi)始處理DSn+1。
此外,有兩種圖形流,即呈現(xiàn)圖形流,主要用于與視頻進(jìn)行同步;交互圖形流,主要用于實(shí)現(xiàn)交互顯示。當(dāng)該圖形流是呈現(xiàn)圖形流時(shí),圖形解碼器對(duì)DSn和DSn+1執(zhí)行流水線處理;當(dāng)該圖形流是交互圖形流時(shí),不執(zhí)行流水線處理。
可以如上所述修改本發(fā)明。但是,本申請(qǐng)的每項(xiàng)權(quán)利要求的發(fā)明都反映了解決傳統(tǒng)技術(shù)所遇到的技術(shù)問(wèn)題的手段,所以,根據(jù)權(quán)利要求書(shū)的本發(fā)明的技術(shù)范圍不會(huì)超過(guò)本領(lǐng)域技術(shù)人員認(rèn)識(shí)該技術(shù)問(wèn)題的技術(shù)范圍。因此,根據(jù)權(quán)利要求書(shū)的本發(fā)明基本上對(duì)應(yīng)于本申請(qǐng)中的說(shuō)明書(shū)部分。
工業(yè)應(yīng)用性 上述實(shí)施例披露了本發(fā)明所涉及的記錄介質(zhì)和再現(xiàn)裝置的內(nèi)部構(gòu)造,可以基于所披露的內(nèi)部構(gòu)造,批量制造記錄介質(zhì)和再現(xiàn)裝置。換言之,該記錄介質(zhì)和再現(xiàn)裝置能夠在工業(yè)上制造出來(lái)。因此,該記錄介質(zhì)和再現(xiàn)裝置具有工業(yè)應(yīng)用性。
權(quán)利要求
1.一種用于存儲(chǔ)數(shù)據(jù)的記錄介質(zhì),包括
通過(guò)復(fù)用視頻流和圖形流而生成的數(shù)字流,其中
所述圖形流包括多個(gè)顯示集合,每個(gè)所述顯示集合都用于圖形顯示;
所述顯示集合包括PCS(呈現(xiàn)成分段)、用于限定圖形對(duì)象的ODS(對(duì)象限定段)以及WDS(窗口限定段);
所述PCS包括時(shí)間信息,所述時(shí)間信息用于在所述視頻流的再現(xiàn)時(shí)間軸上指定所述顯示集合中PCS的活動(dòng)周期;
每個(gè)段包含在包中;
所述時(shí)間信息包括寫(xiě)在包中的解碼時(shí)戳以及呈現(xiàn)時(shí)戳;
WDS是指定屏幕上窗口的位置、高度以及寬度的信息,該窗口是繪制區(qū)域,在該繪制區(qū)域中,在與所述視頻流代表的運(yùn)動(dòng)圖像重疊之前,基于所述顯示集合中PCS來(lái)合成所述圖形顯示;
PTS(DSn[PCS]),其是包含第n個(gè)顯示集合DSn中PCS的包的呈現(xiàn)時(shí)戳,指定所述顯示集合DSn中PCS的活動(dòng)周期的結(jié)束時(shí)間;
PTS(DSn+1[PCS]),其是包含后面緊鄰的顯示集合DSn+1中PCS的包的呈現(xiàn)時(shí)戳,指定所述顯示集合DSn+1中PCS的活動(dòng)周期的結(jié)束時(shí)間;以及
當(dāng)所述顯示集合DSn中的WDS限定的m個(gè)窗口的繪制區(qū)域的總尺寸通過(guò)下式表示時(shí)
則PTS(DSn[PCS])以及PTS(DSn+1[PCS])滿(mǎn)足下面的關(guān)系
其中//是運(yùn)算符,用于將分?jǐn)?shù)部分取整的除法運(yùn)算。
2.一種再現(xiàn)裝置,用于從記錄介質(zhì)讀取數(shù)字流并再現(xiàn)在該數(shù)字流中復(fù)用的視頻流和圖形流,所述再現(xiàn)裝置包括
視頻解碼器(5),用于解碼所述視頻流以生成運(yùn)動(dòng)圖像;以及
圖形解碼器(12),用于解碼所述圖形流以生成圖形對(duì)象,其中
所述圖形流包括多個(gè)顯示集合,每個(gè)所述顯示集合用于圖形顯示;
所述顯示集合包括PCS(呈現(xiàn)成分段)、用于限定圖形對(duì)象的ODS(對(duì)象限定段)以及WDS(窗口限定段);
所述圖形解碼器以流水線處理所述圖形流中包括的兩個(gè)連續(xù)的顯示集合;
所述PCS包括時(shí)間信息,所述時(shí)間信息用于在所述視頻流的再現(xiàn)時(shí)間軸上指定所述顯示集合中PCS的活動(dòng)周期;
每個(gè)段包含在包中;
所述時(shí)間信息包括寫(xiě)在包中的解碼時(shí)戳以及呈現(xiàn)時(shí)戳;
WDS是指定屏幕上窗口的位置、高度以及寬度的信息,該窗口是繪制區(qū)域,在該繪制區(qū)域中,在與所述視頻流代表的運(yùn)動(dòng)圖像重疊之前,基于所述顯示集合中PCS來(lái)合成所述圖形顯示;
PTS(DSn[PCS]),其是包含第n個(gè)顯示集合DSn中PCS的包的呈現(xiàn)時(shí)戳,指定所述顯示集合DSn中PCS的活動(dòng)周期的結(jié)束時(shí)間;
PTS(DSn+1[PCS]),其是包含后面緊鄰的顯示集合DSn+1中PCS的包的呈現(xiàn)時(shí)戳,指定所述顯示集合DSn+1中PCS的活動(dòng)周期的結(jié)束時(shí)間;以及
當(dāng)所述顯示集合DSn中的WDS限定的m個(gè)窗口的繪制區(qū)域的總尺寸通過(guò)下式表示時(shí)
則PTS(DSn[PCS])以及PTS(DSn+1[PCS])滿(mǎn)足下面的關(guān)系
其中//是運(yùn)算符,用于將分?jǐn)?shù)部分取整的除法運(yùn)算。
3.一種記錄方法,包括下面的步驟
產(chǎn)生應(yīng)用數(shù)據(jù);以及
獲得其上寫(xiě)入了所產(chǎn)生的應(yīng)用數(shù)據(jù)的記錄介質(zhì),其中
所述應(yīng)用數(shù)據(jù)包括通過(guò)復(fù)用視頻流和圖形流產(chǎn)生的數(shù)字流;
所述圖形流包括多個(gè)顯示集合,每個(gè)所述顯示集合都用于圖形顯示;
所述顯示集合包括PCS(呈現(xiàn)成分段)、用于限定圖形對(duì)象的ODS(對(duì)象限定段)以及WDS(窗口限定段);
所述PCS包括時(shí)間信息,所述時(shí)間信息用于在所述視頻流的再現(xiàn)時(shí)間軸上指定所述顯示集合中PCS的活動(dòng)周期;
每個(gè)段包含在包中;
所述時(shí)間信息包括寫(xiě)在包中的解碼時(shí)戳以及呈現(xiàn)時(shí)戳;
WDS是指定屏幕上窗口的位置、高度以及寬度的信息,該窗口是繪制區(qū)域,在該繪制區(qū)域中,在與所述視頻流代表的運(yùn)動(dòng)圖像重疊之前,基于所述顯示集合中PCS來(lái)合成所述圖形顯示;
PTS(DSn[PCS]),其是包含第n個(gè)顯示集合DSn中PCS的包的呈現(xiàn)時(shí)戳,指定所述顯示集合DSn中PCS的活動(dòng)周期的結(jié)束時(shí)間;
PTS(DSn+1[PCS]),其是包含后面緊鄰的顯示集合DSn+1中PCS的包的呈現(xiàn)時(shí)戳,指定所述顯示集合DSn+1中PCS的活動(dòng)周期的結(jié)束時(shí)間;以及
當(dāng)所述顯示集合DSn中的WDS限定的m個(gè)窗口的繪制區(qū)域的總尺寸通過(guò)下式表示時(shí)
則PTS(DSn[PCS])以及PTS(DSn+1[PCS])滿(mǎn)足下面的關(guān)系
其中//是運(yùn)算符,用于將分?jǐn)?shù)部分取整的除法運(yùn)算。
4.一種再現(xiàn)方法,用于在計(jì)算機(jī)上實(shí)現(xiàn)從記錄介質(zhì)讀取數(shù)字流并再現(xiàn)該數(shù)字流中復(fù)用的視頻流和圖形流的處理,所述方法包括下面的步驟
解碼所述視頻流以生成運(yùn)動(dòng)圖像;以及
解碼所述圖形流以生成圖形對(duì)象,其中
所述圖形流包括多個(gè)顯示集合,每個(gè)所述顯示集合用于圖形顯示;
所述顯示集合包括PCS(呈現(xiàn)成分段)、用于限定圖形對(duì)象的ODS(對(duì)象限定段)以及WDS(窗口限定段);
解碼所述圖形流的步驟以流水線處理所述圖形流中包括的兩個(gè)連續(xù)的顯示集合;
所述PCS包括時(shí)間信息,所述時(shí)間信息用于在所述視頻流的再現(xiàn)時(shí)間軸上指定所述顯示集合中PCS的活動(dòng)周期;
每個(gè)段包含在包中;
所述時(shí)間信息包括寫(xiě)在包中的解碼時(shí)戳以及呈現(xiàn)時(shí)戳;
WDS是指定屏幕上窗口的位置、高度以及寬度的信息,該窗口是繪制區(qū)域,在該繪制區(qū)域中,在與所述視頻流代表的運(yùn)動(dòng)圖像重疊之前,基于所述顯示集合中PCS來(lái)合成所述圖形顯示;
PTS(DSn[PCS]),其是包含第n個(gè)顯示集合DSn中PCS的包的呈現(xiàn)時(shí)戳,指定所述顯示集合DSn中PCS的活動(dòng)周期的結(jié)束時(shí)間;
PTS(DSn+1[PCS]),其是包含后面緊鄰的顯示集合DSn+1中PCS的包的呈現(xiàn)時(shí)戳,指定所述顯示集合DSn+1中PCS的活動(dòng)周期的結(jié)束時(shí)間;以及
當(dāng)所述顯示集合DSn中的WDS限定的m個(gè)窗口的繪制區(qū)域的總尺寸通過(guò)下式表示時(shí)
則PTS(DSn[PCS])以及PTS(DSn+1[PCS])滿(mǎn)足下面的關(guān)系
其中//是運(yùn)算符,用于將分?jǐn)?shù)部分取整的除法運(yùn)算。
5.一種程序,用于使得計(jì)算機(jī)執(zhí)行從記錄介質(zhì)讀取數(shù)字流并再現(xiàn)該數(shù)字流中復(fù)用的視頻流和圖形流的功能,所述程序使得所述計(jì)算機(jī)執(zhí)行
解碼所述視頻流以生成運(yùn)動(dòng)圖像的功能;以及
解碼所述圖形流以生成圖形對(duì)象的功能,其中
所述圖形流包括多個(gè)顯示集合,每個(gè)所述顯示集合用于圖形顯示;
所述顯示集合包括PCS(呈現(xiàn)成分段)、用于限定圖形對(duì)象的ODS(對(duì)象限定段)以及WDS(窗口限定段);
解碼所述圖形流的功能以流水線處理所述圖形流中包括的兩個(gè)連續(xù)的顯示集合;
所述PCS包括時(shí)間信息,所述時(shí)間信息用于在所述視頻流的再現(xiàn)時(shí)間軸上指定所述顯示集合中PCS的活動(dòng)周期;
每個(gè)段包含在包中;
所述時(shí)間信息包括寫(xiě)在包中的解碼時(shí)戳以及呈現(xiàn)時(shí)戳;
WDS是指定屏幕上窗口的位置、高度以及寬度的信息,該窗口是繪制區(qū)域,在該繪制區(qū)域中,在與所述視頻流代表的運(yùn)動(dòng)圖像重疊之前,基于所述顯示集合中PCS來(lái)合成所述圖形顯示;
PTS(DSn[PCS]),其是包含第n個(gè)顯示集合DSn中PCS的包的呈現(xiàn)時(shí)戳,指定所述顯示集合DSn中PCS的活動(dòng)周期的結(jié)束時(shí)間;
PTS(DSn+1[PCS]),其是包含后面緊鄰的顯示集合DSn+1中PCS的包的呈現(xiàn)時(shí)戳,指定所述顯示集合DSn+1中PCS的活動(dòng)周期的結(jié)束時(shí)間;以及
當(dāng)所述顯示集合DSn中的WDS限定的m個(gè)窗口的繪制區(qū)域的總尺寸通過(guò)下式表示時(shí)
則PTS(DSn[PCS])以及PTS(DSn+1[PCS])滿(mǎn)足下面的關(guān)系
其中//是運(yùn)算符,用于將分?jǐn)?shù)部分取整的除法運(yùn)算。
全文摘要
在BD-ROM上記錄通過(guò)復(fù)用視頻流和圖形流而生成的AV剪輯。所述圖形流包括多個(gè)DS(顯示集合),其每組段均用于圖形顯示。在顯示集合DSn中WDS(窗口限定段)限定的m個(gè)窗口的繪制區(qū)域的總尺寸表示為∑SIZE(DSn[WDS].Window[i]),呈現(xiàn)時(shí)間戳PTS(DSn[PCS])和PTS(DSn+1[PCS])滿(mǎn)足下面的關(guān)系PTS(DSn[PCS])+(90000*∑SIZE(DSn[WDS].window[i]))//256000000≤PTS(DSn+1[PCS])。
文檔編號(hào)H04N9/806GK101202930SQ20071016798
公開(kāi)日2008年6月18日 申請(qǐng)日期2004年7月9日 優(yōu)先權(quán)日2003年7月11日
發(fā)明者約瑟夫·麥克羅森, 岡田智之 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社