專利名稱:記錄介質(zhì)、記錄方法、再現(xiàn)裝置和方法以及計(jì)算機(jī)可讀程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種上面記錄了數(shù)字流的記錄介質(zhì)以及一種用于再現(xiàn)數(shù)字流的再現(xiàn)裝置,所述數(shù)字流是通過復(fù)用視頻流和圖像流而生成的。具體而言,在本發(fā)明所涉及的技術(shù)中,再現(xiàn)裝置對視頻流和圖形流獨(dú)立地進(jìn)行解碼,并重疊所得的視頻和圖形,從而產(chǎn)生再現(xiàn)圖像。
背景技術(shù):
采用上述視頻/圖形覆蓋技術(shù),可以根據(jù)再現(xiàn)裝置的語言設(shè)置或顯示設(shè)置,選擇圖形和顯示選中的圖形。此外,采用上述視頻/圖形覆蓋技術(shù),還可以選擇是否根據(jù)需要來顯示圖形。由于能夠提供這些選擇,所以,DVD-Video和ETSI EN 300 743的播放機(jī)模型中使用了視頻/圖形覆蓋技術(shù)。在這些標(biāo)準(zhǔn)中,圖形流是PES數(shù)據(jù)包的序列。PES數(shù)據(jù)包可分為兩種類型承載控制信息的PES數(shù)據(jù)包和承載用于描繪圖形的圖形數(shù)據(jù)的PES數(shù)據(jù)包??刂菩畔⒃O(shè)置在圖形數(shù)據(jù)之前,一對控制信息和圖形數(shù)據(jù)產(chǎn)生一個(gè)圖形顯示。更詳細(xì)地說,再現(xiàn)裝置順序地讀取控制信息和圖形數(shù)據(jù),對控制信息進(jìn)行解碼,再對圖形數(shù)據(jù)進(jìn)行解碼,從而生成解壓縮的圖形。再現(xiàn)裝置根據(jù)控制信息的解碼結(jié)果,在預(yù)期的顯示時(shí)機(jī),顯示解壓縮的圖形。
根據(jù)該技術(shù),對于每一次圖形顯示,都需要執(zhí)行圖形數(shù)據(jù)的解碼。因此,從一次圖形顯示到下一次圖形顯示之間的時(shí)間間隔取決于圖形數(shù)據(jù)的解碼處理所需的時(shí)間。如果圖形具有較高的分辨率并且圖形數(shù)據(jù)的解碼處理要花費(fèi)較長的時(shí)間,則圖形更新的時(shí)間間隔就會(huì)變長。
對于電影中的字幕等,其中更新圖形的時(shí)間間隔是2至3秒,所以,即使圖形具有較高的分辨率并且圖形數(shù)據(jù)的解碼需要較長的時(shí)間,也可以產(chǎn)生合適的圖形顯示。但是,對于圖形專用于娛樂的情況,就需要縮短圖形更新間隔。
例如,在用于娛樂目的的圖形的應(yīng)用中,需要移動(dòng)表示字符對話的圖形,以吸引瀏覽者的注意力,或需要改變其顏色,以給瀏覽者帶來驚喜。諸如雜耍表演之類內(nèi)容的制造商尤其渴望采用這樣的圖形顯示。
但是,為了實(shí)現(xiàn)圖形的流暢運(yùn)動(dòng),需要在短短的一幀周期(NTSC中是1/29.97秒)內(nèi)執(zhí)行對圖形數(shù)據(jù)進(jìn)行解碼和呈現(xiàn)圖形的操作。在每個(gè)幀周期內(nèi)重復(fù)對圖形數(shù)據(jù)進(jìn)行解碼和呈現(xiàn)圖形的操作需要很大的負(fù)載,并且,所實(shí)現(xiàn)的再現(xiàn)裝置的硬件規(guī)格很難以低成本來提供。
通過提前覆蓋每個(gè)視頻幀上的圖形以使得圖形成為每幀圖像圖案的一部分,可以實(shí)現(xiàn)前述圖形運(yùn)動(dòng)和顏色變化。但是,提前覆蓋每個(gè)幀上的圖形的方法靈活性不夠高,無法根據(jù)再現(xiàn)裝置的語言設(shè)置或顯示設(shè)置來有選擇地顯示圖形,因此未來的潛力不大。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種記錄介質(zhì),它使得圖形能夠象運(yùn)動(dòng)圖像一樣流暢地運(yùn)動(dòng)。
一種用于存儲(chǔ)數(shù)據(jù)的記錄介質(zhì)可以實(shí)現(xiàn)上述目的,該記錄介質(zhì)包括通過復(fù)用視頻流和圖形流而生成的數(shù)字流,其中所述圖形流是多個(gè)數(shù)據(jù)包的序列,所述數(shù)據(jù)包序列包括一個(gè)包含控制信息的數(shù)據(jù)包;所述控制信息表示,在預(yù)定時(shí)間,將所述序列中前一數(shù)據(jù)包中包含的圖形數(shù)據(jù)以覆蓋到所述視頻流之上的狀態(tài)進(jìn)行顯示。
控制信息表示使用位于該控制信息之前的圖形數(shù)據(jù),產(chǎn)生顯示。因此,只需向再現(xiàn)裝置輸入表示圖形新坐標(biāo)的控制信息,就可以改變圖形的顯示位置。同樣,只需向再現(xiàn)裝置輸入適當(dāng)?shù)目刂菩畔?,就可以改變圖形的顏色。
由于只使用控制信息就可更新圖形顯示,所以,很容易使圖形與視頻同步。
通常,為了改變圖形的顯示位置,不需要改變圖形本身的圖像圖案。這是因?yàn)椋搜蹮o法如此清楚地察覺到運(yùn)動(dòng)對象。所以,本發(fā)明提供的技術(shù)適于顯示相同的圖形,同時(shí)高速地改變其位置。
圖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í)對象緩沖器中的存儲(chǔ)空間;圖14示出了用于計(jì)算DECODEDURATION的示例性算法;圖15是圖14所示算法的流程圖;圖16A和16B是圖14所示算法的流程圖;圖17A示出了一個(gè)窗口中存在一個(gè)圖形對象的情形;圖17B和17C是圖14所示算法中所用的參數(shù)的時(shí)序圖;圖18A示出了一個(gè)窗口中存在兩個(gè)圖形對象的情形;
圖18B和18C是圖14所示算法中所用的參數(shù)的時(shí)序圖;圖19A示出了兩個(gè)圖形對象分別存在于兩個(gè)窗口中的情形;圖19B是當(dāng)解碼時(shí)間(2)大于清除時(shí)間(1)與寫入時(shí)間(31)之和時(shí)的時(shí)序圖;圖19C是當(dāng)清除時(shí)間(1)與寫入時(shí)間(31)之和大于解碼時(shí)間(2)時(shí)的時(shí)序圖;圖20示出了前向引用PCS;圖21A示出了用于在屏幕上產(chǎn)生運(yùn)動(dòng)圖形顯示效果的時(shí)元;圖21B示出了DS1至DS8中的PCS的內(nèi)容和PTS;圖22A示出了DS0中的ODS;圖22B示出了由窗口定義的坐標(biāo)系中的坐標(biāo)(x1,y1)、(x2,y2)、(x3,y3)……(x8,y8)的位置;圖23示出了每個(gè)DS中的功能段的時(shí)戳的設(shè)置;圖24示出了連續(xù)圖形更新的一個(gè)具體例子;圖25示出了用于顯示僅調(diào)色板顯示更新的一系列DS;圖26A示出了DS0中的PDS;圖26B示出了DS0至DS3中的PCS;圖27示出了饋入四個(gè)DS所達(dá)到的顯示效果;圖28示出了本發(fā)明的實(shí)施例所涉及的再現(xiàn)裝置的內(nèi)部構(gòu)造;圖29示出了圖28中所示的圖形平面、編碼數(shù)據(jù)緩沖器和對象緩沖器的傳輸速率Rx、Rc、Rd和尺寸;圖30是再現(xiàn)裝置中的流水線處理的時(shí)序圖;圖31是當(dāng)ODS解碼在清除圖形平面之前結(jié)束情況下的流水線處理的時(shí)序圖;圖32是合成緩沖器、對象緩沖器、編碼數(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ì)的制造。通過改進(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)。通過生成這樣的應(yīng)用格式,可以實(shí)現(xiàn)BD-ROM 100。如果上述各文件類型都有一個(gè)以上的文件,則在BDMV目錄下設(shè)置三個(gè)名為STREAM、CLIPNF和PLAYLIST的目錄,分別用來存儲(chǔ)與XXX.M2TS類型相同的文件、與XXX.CLPI類型相同的文件以及與YYY.MPLS類型相同的文件。
下面說明該應(yīng)用格式中的AV剪輯(XXX.M2TS)。
AV剪輯(XXX.M2TS)是MPEG-TS(傳輸流)格式的數(shù)字流,它是通過復(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支持多種語言,則可以將每種語言的呈現(xiàn)圖形流都復(fù)用到AV剪輯中。以上述方式生成的AV剪輯按照與計(jì)算機(jī)文件相同的方式被分成多個(gè)內(nèi)容,并存儲(chǔ)到BD-ROM 100上。
下面說明呈現(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ù)包序列是通過將第一級(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(對象定義段)和END(顯示集合段的末尾)。在這些功能段中,PCS是畫面合成段,WDS、PDS和ODS是定義段。一個(gè)功能段對應(yīng)于一個(gè)PES數(shù)據(jù)包或多個(gè)PES數(shù)據(jù)包。也就是說,一個(gè)功能段被轉(zhuǎn)換成一個(gè)PES數(shù)據(jù)包并記錄到BD-ROM100上,或者,被分成多個(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。
這些多種類型的功能段形成如圖5所示的邏輯結(jié)構(gòu)。在圖中,第三級(jí)示出了功能段,第二級(jí)示出了DS(顯示集合),第一級(jí)示出了時(shí)元。
第二級(jí)中的DS是呈現(xiàn)圖形流中的一組功能段,用于創(chuàng)建一個(gè)圖形畫面。虛線hk2表明第三級(jí)中的功能段屬于哪個(gè)DS。從圖中可以看出,功能段序列PCS-WDS-PDS-ODS-END組成一個(gè)DS。再現(xiàn)裝置200從BD-ROM 100中讀取構(gòu)成該DS的這些功能段,以產(chǎn)生一個(gè)圖形畫面。
第一級(jí)中的時(shí)元指的是AV剪輯的再現(xiàn)時(shí)間軸上的連續(xù)存儲(chǔ)器管理的一個(gè)時(shí)間單元以及分配給該時(shí)間單元的一組數(shù)據(jù)。這里所說的存儲(chǔ)器包括圖形平面,用于存儲(chǔ)一個(gè)圖形畫面;對象緩沖器,用于存儲(chǔ)解壓縮的圖形數(shù)據(jù)。連續(xù)存儲(chǔ)器管理意味著在該時(shí)元內(nèi),不刷新圖形平面和對象緩沖器,只在圖形平面的預(yù)定矩形區(qū)域中執(zhí)行圖形的刪除和呈現(xiàn)(刷新意味著清除整個(gè)圖形平面或整個(gè)對象緩沖器)。在該時(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í)元之間的邊界中,視頻和圖形的同步無法得到保證。
對于字幕,時(shí)元是再現(xiàn)時(shí)間軸上的一個(gè)時(shí)間段,其中,字幕出現(xiàn)在平面上固定矩形區(qū)域內(nèi)。圖6示出了字幕顯示位置和時(shí)元之間的關(guān)系。在圖中,字幕顯示位置的改變?nèi)Q于圖像的圖案。更詳細(xì)地說,三個(gè)字幕“Actually”、“I lied to you”和“Sorry”位于屏幕的底部,而兩個(gè)字幕“三年已經(jīng)過去了”和“從那以后?!蔽挥谄聊坏捻敳?。因此,為了增加可視性,字幕顯示位置從一個(gè)邊緣部分變化到另一邊緣部分。在這種情況下,在AV剪輯的再現(xiàn)時(shí)間軸上,在屏幕底部顯示字幕的時(shí)間段是時(shí)元1,在屏幕頂部顯示字幕的時(shí)間段是時(shí)元2。這兩個(gè)時(shí)元各有自己的字幕呈現(xiàn)區(qū)域。在時(shí)元1中,字幕呈現(xiàn)區(qū)域是Window1,對應(yīng)于屏幕的底部邊緣部分。在時(shí)元2中,字幕呈現(xiàn)區(qū)域是Window2,對應(yīng)于屏幕的頂部邊緣部分。在時(shí)元1和時(shí)元2中,對象緩沖器和圖形平面的存儲(chǔ)器管理是連續(xù)的,所以,字幕在該屏幕的相應(yīng)邊緣部分中無縫地顯示。對時(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í)元開始)、Acquisition Point(采集點(diǎn))和Normal Case(正常情況)是DS的類型。在圖5中,Acquisition Point DS位于Normal Case DS之前,但它們的排列順序也可以反過來。
Epoch Start DS提供顯示效果“新顯示”,并表示一個(gè)新時(shí)元的開始。Epoch Start DS包含下一畫面合成所需的全部功能段。提供EpochStart DS的位置是跳節(jié)操作的目的地,如電影中一章的開始。
Acquisition Point DS提供顯示效果“顯示刷新”,并且與前面的Epoch Start DS相同。Acquisition Point DS不是時(shí)元的開始,但卻包含下一畫面合成所需的全部功能段。因此,當(dāng)從Acquisition Point DS開始再現(xiàn)時(shí),能夠可靠地顯示圖形。也就是說,通過Acquisition PointDS,可以從時(shí)元的中間點(diǎn)進(jìn)行畫面合成。
提供Acquisition Point DS的位置可以是跳節(jié)操作的目的地,例如可以通過時(shí)間搜索來指定的位置。時(shí)間搜索是一種操作,用于對與用戶的時(shí)間輸入(單位為分/秒)相對應(yīng)的再現(xiàn)點(diǎn)進(jìn)行定位。時(shí)間輸入的單位較大,如10分或10秒。因此,提供Acquisition Point DS的位置可以通過單位是10分或10秒的時(shí)間搜索來指定。通過在可由時(shí)間搜索指定的位置中提供Acquisition Point DS,當(dāng)執(zhí)行時(shí)間搜索時(shí),可以流暢地再現(xiàn)圖形流。
Normal Case DS提供顯示效果“顯示更新”,并且僅包含與前一畫面合成之間的差值。例如,如果DSv與它之前的Dsu具有相同的字幕,但卻具有不同的畫面合成,則DSv是僅包含一個(gè)PCS和一個(gè)END的Normal Case DS。這樣,就不必在DSs中提供覆蓋的ODS,從而可以減少BD-ROM 100上所存儲(chǔ)的數(shù)據(jù)量。由于Normal Case DS只包含差值,所以,不能單用Normal Case DS來顯示圖形。
下面說明ODS、WDS和PDS(定義段)。
ODS是用于定義圖形對象的功能段。BD-ROM上記錄的AV剪輯的圖像質(zhì)量與高清晰度電視一樣高。因此,以1920×1080的高分辨率來設(shè)置圖形對象。由于該高分辨率,可以在BD-ROM上逼真地再現(xiàn)影院屏幕風(fēng)格的字幕,即,雅致的手寫體字幕。圖形對象由多個(gè)游程數(shù)據(jù)構(gòu)成。游程數(shù)據(jù)表示使用像素編碼的像素串,是像素值和該像素值的連續(xù)長度。像素編碼有8個(gè)比特,表示從1到255的值。通過使用該像素編碼,游程數(shù)據(jù)設(shè)置全部顏色(16777216色)中任意256個(gè)像素顏色。應(yīng)當(dāng)注意的是,為了將圖形對象顯示為字幕,需要將字符串放置在透明色的背景上。
ODS定義根據(jù)圖7A所示的數(shù)據(jù)結(jié)構(gòu)的圖形對象。如圖所示,ODS包括segment_type字段,表示段類型“ODS”;segment_length字段,表示ODS的數(shù)據(jù)長度;object_id字段,標(biāo)識(shí)時(shí)元中的圖形對象;object_version_number字段,表示時(shí)元中的ODS的版本;last_in_sequence_flag字段;object_data_fragment字段,承載與圖形對象的部分或全部相對應(yīng)的連續(xù)字節(jié)序列。
更詳細(xì)地講,object_id是一個(gè)標(biāo)識(shí)符,用于標(biāo)識(shí)圖形對象,以及當(dāng)對ODS進(jìn)行解碼和將圖形對象緩沖到對象緩沖器中時(shí)該圖形對象在對象緩沖器中所占用的存儲(chǔ)區(qū)域。因此,當(dāng)對象緩沖器中有一個(gè)或多個(gè)圖形對象時(shí),用object_id字段值標(biāo)識(shí)對象緩沖器中的各存儲(chǔ)區(qū)域。假設(shè)將一個(gè)object_id分配給兩個(gè)或更多個(gè)ODS。在這種情況下,在將與一個(gè)ODS相對應(yīng)的圖形對象存儲(chǔ)到對象緩沖器之后,該圖形對象會(huì)被與隨后具有相同object_id的ODS相對應(yīng)的圖形對象覆蓋。這樣的更新意在防止對象緩沖器中出現(xiàn)很多小的自由空間和防止該對象緩沖器中的圖形對象的分散。當(dāng)顯示圖形時(shí),對象緩沖器中的圖形對象不斷地被傳輸?shù)綀D形平面。因此,如果對象緩沖器中存在很多小的自由空間或者一個(gè)圖形對象分散在對象緩沖器中,則讀取圖形對象的開銷導(dǎo)致從對象緩沖器到圖形平面的傳輸效率降低。傳輸效率的這種降低會(huì)影響圖形和視頻的同步顯示。為了防止這種問題,對象緩沖器中的現(xiàn)有圖形對象被具有相同object_id的一個(gè)新圖形對象覆蓋。
這里,覆蓋現(xiàn)有圖形對象的新圖形對象需要在尺寸上等于現(xiàn)有圖形對象,也就是說,新圖形對象既不能小于現(xiàn)有圖形對象,也不能大于現(xiàn)有圖形對象。因此,在創(chuàng)作時(shí),創(chuàng)作者需要使這些圖形對象尺寸相等。該尺寸約束條件,即具有相同object_id的圖形對象應(yīng)該寬度和高度相等,只適用于一個(gè)時(shí)元內(nèi)。具有相同object_id的圖形對象不必尺寸相等,如果它們屬于不同時(shí)元的話。
接下來解釋last_in_sequence_flag字段和object_data_fragment字段。由于PES數(shù)據(jù)包的有效負(fù)載的約束條件,構(gòu)成一個(gè)字幕的解壓縮圖形可能無法包含在一個(gè)ODS中。在這種情況下,將圖形分割成多個(gè)片斷,將其中一個(gè)片斷承載在object_data_fragment中。當(dāng)將圖形對象跨過多個(gè)ODS進(jìn)行存儲(chǔ)時(shí),除最后片斷之外的每個(gè)片斷都具有相同的尺寸。也就是說,最后的片斷小于或等于前面片斷的尺寸。承載圖形對象的這些片斷的ODS順序地出現(xiàn)在DS中。last_in_sequence_flag字段表示圖形對象的結(jié)束。盡管上述ODS數(shù)據(jù)結(jié)構(gòu)所基于的方法將片斷不留空隙地存儲(chǔ)在連續(xù)PES數(shù)據(jù)包中,但是,也可以通過在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字段,表示段類型“PDS”;segment_length字段,表示PDS的數(shù)據(jù)長度;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ū)域被稱為窗口,它是用WDS來定義的。圖8A示出了WDS的數(shù)據(jù)結(jié)構(gòu)。如圖所示,WDS包括window_id字段,唯一地標(biāo)識(shí)圖形平面上的該窗口;window_horizontal_position字段,指定圖形平面上該窗口的左上方像素的水平位置;window_vertical_position字段,指定圖形平面上該窗口的左上方像素的垂直位置;window_width字段,指定圖形平面上該窗口的長度;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字段指定圖形平面上該窗口的長度,因此取值范圍是1至(video_width)-(window_horizontal_position)。window_height字段指定圖形平面上該窗口的高度,因此取值范圍是1至(video_height)-(window_vertical_position)。對于每個(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ù)期邊緣部分中,從而不干擾該圖像的圖案??梢郧宄赜^看按照這種方式顯示的字幕的圖形。對于每個(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字段,表示段類型“END”;segment_length,表示END的數(shù)據(jù)長度。這些字段不是本發(fā)明的主要特色,因此這里不再贅述。
下面解釋PCS(合成段)。
PCS是功能段,用于合成可與運(yùn)動(dòng)圖像同步的畫面。圖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ù)字來唯一地標(biāo)識(shí)DS中的圖形更新。更詳細(xì)地講,對于每個(gè)圖形更新,從時(shí)元的開始到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_ref字段指定在該DS中使用的調(diào)色板。
composition_object(1)至composition_object(m)字段各包含用于實(shí)現(xiàn)該DS中的畫面合成的控制信息。在圖8B中,作為示例,虛線wd1表示composition_object(i)的內(nèi)部結(jié)構(gòu)。如圖所示,composition_object(i)包括object_id_ref字段;window_id_ref字段;object_cropped_flag字段;object_horizontal_position字段;object_vertical_position字段;cropping_rectangle信息(1)至cropping_rectangle信息(n)。
object_id_ref字段表示圖形對象的標(biāo)識(shí)符(object_id)的引用值。該引用值表示為了產(chǎn)生與composition_object(i)相對應(yīng)的畫面合成而要使用的圖形對象。
window_id_ref字段表示窗口標(biāo)識(shí)符(window_id)的引用值。該引用值表示為了產(chǎn)生與composition_object(i)相對應(yīng)的畫面合成而要顯示圖形對象的窗口。
object_cropped_flag字段表示是否要顯示對象緩沖器中剪裁的圖形對象。當(dāng)將object_cropped_flag字段設(shè)為1時(shí),顯示對象緩沖器中剪裁的圖形對象。當(dāng)將object_cropped_flag字段設(shè)為0時(shí),不顯示對象緩沖器中剪裁的圖形對象。
object_horizontal_position字段表示圖形對象在圖形平面的左上方像素的水平位置。
object_vertical_position字段表示圖形對象在圖形平面的左上方像素的垂直位置。
當(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字段表示剪裁矩形在圖形對象中左上角的水平位置。剪裁矩形用于取出圖形對象的一部分,其對應(yīng)于ETSI EN 300 743中的“區(qū)域”。
object_cropping_vertical_position字段表示剪裁矩形在圖形對象中左上角的垂直位置。
object_cropping_width字段表示剪裁矩形在圖形對象中的水平長度。
object_cropping_height字段表示剪裁矩形在圖形對象中的垂直長度。
下面具體描述PCS,在所使用的例子中,當(dāng)運(yùn)動(dòng)圖像的再現(xiàn)進(jìn)行時(shí),通過三個(gè)向圖形平面寫入的操作,順序地顯示圖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)是對象緩沖器中圖形對象的左上方坐標(biāo)。剪裁矩形是一個(gè)區(qū)域,由從左上角坐標(biāo)ST1的object_cropping_width字段值和object_cropping_height字段值進(jìn)行定義。剪裁過的圖形對象位于區(qū)域cp1(被虛線框包圍)中,所以,剪裁過的圖形對象的左上角位于一個(gè)由坐標(biāo)系中該圖形平面的object_horizontal_position字段和object_vertical_position字段指定的像素。這樣,將字幕“Actually I lied to you Sorry.”中的“Actually”寫入圖形平面上的窗口中。字幕“Actually”覆蓋在一張圖片之上,然后,顯示所得的圖像。
圖11示出了DS2中的PCS。由于圖中的WDS的描述與圖10相同,所以這里不再贅述。同時(shí),cropping_rectangle信息的描述與圖10不同。在圖11中,cropping_rectangle信息中的object_cropping_horizontal_position字段值和object_cropping_vertical_position字段值指定與對象緩沖器中的字幕“I lied to you.”相對應(yīng)的剪裁矩形的左上方坐標(biāo),而object_cropping_width字段值和object_cropping_height字段值指定剪裁矩形的寬度和高度。從而,將字幕“I lied to you.”寫入圖形平面上的窗口中。字幕“I lied to you.”覆蓋在一張圖片上,并顯示所得的圖像。
圖12示出了DS3中的PCS。由于圖中的WDS的描述與圖10相同,所以這里不再贅述。同時(shí),cropping_rectangle信息的描述與圖10不同。在圖12中,object_cropping_horizontal_position字段值和object_cropping_vertical_position字段值表示對象緩沖器中與字幕“Sorry.”相對應(yīng)的剪裁矩形的左上角坐標(biāo),而object_cropping_width字段值和object_cropping_height字段值表示剪裁矩形的寬度和高度。從而,將字幕“Sorry.”寫入圖形平面上的窗口中。字幕“Sorry.”覆蓋在一張圖片上,并顯示所得圖像。圖13示出了當(dāng)執(zhí)行如圖10至12的圖形更新時(shí)對象緩沖器的存儲(chǔ)器空間。如圖所示,對象緩沖器有四個(gè)存儲(chǔ)區(qū)域A至D,它們各有固定的高度和寬度以及固定的位置。在存儲(chǔ)器區(qū)域A至D中,圖10所示的字幕存儲(chǔ)在存儲(chǔ)區(qū)域A中。存儲(chǔ)區(qū)域A至D中的每一個(gè)用與該存儲(chǔ)區(qū)域中要存儲(chǔ)的圖形對象相對應(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í)。為了維持從對象緩沖器到圖形平面的傳輸效率,存儲(chǔ)區(qū)域A至D中的每一個(gè)區(qū)域的高度和寬度都是固定的。因此,當(dāng)解碼之后獲得具有相同object_id的圖形對象時(shí),將該圖形對象寫入由該object_id標(biāo)識(shí)的存儲(chǔ)區(qū)域中,覆蓋現(xiàn)有的圖形對象。例如,為了在與圖10至12中顯示的字幕相同的位置用相同的尺寸顯示字幕,需要在后續(xù)的DS中提供與DS1中的ODS具有相同object_id的ODS。通過如此添加相同的object_id,對象緩沖器中的圖形對象被新的圖形對象覆蓋,新的圖形對象的顯示位置以及尺寸與被覆蓋的圖形對象相同。
下面描述實(shí)現(xiàn)顯示效果的約束條件。為了流暢地顯示字幕,在窗口上需要執(zhí)行清除和呈現(xiàn)。當(dāng)以視頻幀的幀速率執(zhí)行窗口清除和窗口呈現(xiàn)時(shí),需要下面的從對象緩沖器到圖形平面的傳輸速率。
首先,檢查對窗口尺寸的約束條件。假設(shè)Rc是從對象緩沖器到圖形平面的傳輸速率。在最糟糕的情況下,需要以Rc執(zhí)行窗口清除和窗口呈現(xiàn)。換言之,窗口清除和窗口呈現(xiàn)各需要以Rc的一半(Rc/2)執(zhí)行。
為了一個(gè)視頻幀同步窗口清除和窗口呈現(xiàn),需要滿足
(窗口尺寸)×(幀速率)≈Rc/2。
如果幀速率為29.97,則Rc=(窗口尺寸)×2×29.97為了顯示字幕,窗口尺寸至少需要是整個(gè)圖形平面的25%至33%。如果圖形平面的像素總數(shù)量是1920×1080,每個(gè)像素的索引的比特長度為8比特,則圖形平面的總?cè)萘渴?M字節(jié)(≈500K字節(jié)×2×29.97)。
假定窗口尺寸是圖形平面的1/4,即500K字節(jié)(=2M字節(jié)/4)。將其代入上式,則得到Rc=256Mbps(500K字節(jié)×2×29.97)。
因此,如果窗口尺寸是圖形平面的大約25%至33%,那么,只要用Rc=256Mbps來顯示字幕,就可以實(shí)現(xiàn)字幕的顯示效果,而不會(huì)與運(yùn)動(dòng)圖像失去同步。
如果以視頻幀速率的1/2或1/4執(zhí)行窗口清除和窗口呈現(xiàn),則在Rc相同的情況下窗口尺寸可以為兩倍或四倍。下面描述窗口的位置和范圍。如前所述,窗口的位置和范圍在一個(gè)時(shí)元內(nèi)是固定的,原因如下。
如果窗口的位置或范圍在時(shí)元中變化,則需要改變到圖形平面的寫地址。這會(huì)產(chǎn)生開銷,從而導(dǎo)致從對象緩沖器到圖形平面的傳輸速率Rc降低。
當(dāng)向圖形平面?zhèn)鬏斀獯a后的圖形對象時(shí),為了降低開銷,在一個(gè)窗口中可同時(shí)顯示的圖形對象的數(shù)量是有限的。當(dāng)設(shè)置圖形對象的邊緣部分的地址時(shí),會(huì)產(chǎn)生這里所說的開銷發(fā)生。如果邊緣部分的數(shù)量較大,則該開銷會(huì)增加。
如果對一個(gè)窗口中可顯示的圖形對象的數(shù)量沒有限制,那么,當(dāng)向圖形平面?zhèn)鬏攬D形對象時(shí),開銷會(huì)無限地發(fā)生,這會(huì)增加傳輸負(fù)載的變化。另一方面,如果一個(gè)窗口中的圖形對象的數(shù)量被限制為2,那么,基于最糟糕情形下開銷數(shù)量為4的假設(shè),可以設(shè)置傳輸速率Rc。因此,可以很容易地確定傳輸速率Rc的最低標(biāo)準(zhǔn)。對窗口的解釋到此結(jié)束。
下面說明如何將承載諸如PCS和ODS之類功能段的DS分配到AV剪輯的再現(xiàn)時(shí)間軸上。時(shí)元是再現(xiàn)時(shí)間軸上的一個(gè)時(shí)間段,其中,存儲(chǔ)器管理是連續(xù)的,并且,時(shí)元由一個(gè)或多個(gè)DS構(gòu)成。因此,將DS有效地分配到AV剪輯的再現(xiàn)時(shí)間軸上是很重要的。這里所說的AV剪輯的再現(xiàn)時(shí)間軸是一個(gè)時(shí)間軸,用于定義構(gòu)成AV剪輯中復(fù)用的視頻流的各圖片的解碼時(shí)間和呈現(xiàn)時(shí)間。再現(xiàn)時(shí)間軸上的解碼時(shí)間和呈現(xiàn)時(shí)間用90KHz的時(shí)間精度來表示。DS中的PCS和ODS的DTS和PTS表示該再現(xiàn)時(shí)間軸上的同步控制的時(shí)機(jī)。換言之,通過使用PCS和ODS的DTS和PTS來實(shí)施同步控制,將DS分配到再現(xiàn)時(shí)間軸上。
首先介紹用PCS和ODS的DTS和PTS來實(shí)施同步控制。
DTS表示ODS的解碼處理的開始時(shí)間,具有的精度是90KHz。PTS表示ODS的解碼處理的結(jié)束時(shí)間,具有的精度是90KHz。
解碼處理包括對ODS進(jìn)行解碼;然后,將通過解碼而生成的解壓縮圖形對象傳輸?shù)綄ο缶彌_器。該解碼處理并不是瞬間結(jié)束的,而是需要一定的時(shí)間量。ODS的DTS和PTS分別表示ODS的解碼開始時(shí)間和解碼結(jié)束時(shí)間,以指定解碼處理的開始和結(jié)束。
由于PTS所示的時(shí)間是最終期限,所以,需要在PTS所示時(shí)間之前對ODS進(jìn)行解碼并將解壓縮的圖形對象存儲(chǔ)到對象緩沖器中。
DSn中任一ODSj的解碼開始時(shí)間用DTS(DSn[ODSj])表示,其精度是90KHz。因此,DSn中ODSj的解碼結(jié)束時(shí)間(即PTS(DSn[ODSj]))是DTS(DSn[ODSj])與解碼處理所需最長時(shí)間之和。
假設(shè)SIZE(DSn[ODSj])表示ODSj的尺寸,Rd表示ODS解碼速率。那么,解碼處理所需的最長時(shí)間(以秒為單位)是SIZE(DSn[ODSj])//Rd。符號(hào)“//”表示一種將小數(shù)部分取整的除法運(yùn)算符。
通過將該最長時(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)需要滿是下面的關(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的PTSPTS(DSn[END])=PTS(DSn[ODSlast])同時(shí),如下設(shè)置DSn中的PCS的DTS和PTS。
PCS的DTS表示DSn中頂部ODS(ODS1)的解碼開始時(shí)間或比它更早的時(shí)間。這是因?yàn)?,需要將PCS加載到再現(xiàn)裝置200的緩沖器中,與ODS1的解碼開始時(shí)間(DTS(DSn[ODS1]))和DSn中的頂部PDS(PDS1)變?yōu)闊o效時(shí)(PTS(DSn[PDS1]))相同或更早。也就是說,PCS的DTS需要滿足下面的公式DTS(DSn[PCS])≤DTS(DSn[ODS1])DTS(DSn[PCS])≤PTS(DSn[ODS1])另一方面,如下計(jì)算PCS的PTSPTS(DSn[PCS])≥DTS(DSn[PCS])+DECODEDURATION(DSn)在這里,DECODEDURATION(DSn)表示DSn中的PCS所述的更新所用的全部圖形對象的呈現(xiàn)和解碼所需的時(shí)間。盡管DECODEDURATION(DSn)不是固定值,它也不會(huì)受諸如再現(xiàn)裝置實(shí)現(xiàn)和狀態(tài)差異之類因素的影響。當(dāng)DSn.PCS.OBJ[j]表示DSn中的PCS描述的畫面合成所用的圖形對象時(shí),可以通過以下方面來改變DECODEDURATION(DSn)(i)窗口清除所需的時(shí)間;(ii)對DSn.PCS.OBJ[j]進(jìn)行解碼所需的時(shí)間;(iii)將DSn.PCS.OBJ[j]寫到圖形平面上所需的時(shí)間。因此,只要Rd和Rc是預(yù)先確定的,那么,DECODEDURATION(DSn)就是相同的,而不管再現(xiàn)裝置的實(shí)現(xiàn)方式。因此,在合成時(shí),計(jì)算上述各時(shí)間段的長度,從而指定PCS的PTS。
基于圖14所示的程序,執(zhí)行DECODEDURATION(DSn)的計(jì)算。圖15以及圖16A和16B的流程圖示出了該程序的算法。下面結(jié)合這些附圖解釋DECODEDURATION(DSn)的計(jì)算過程。在圖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ù)的過程。在圖中,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è)從對象緩沖器到圖形平面的傳輸速率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否),則對所有窗口Window[i],執(zhí)行將清除Window[i]所需的時(shí)間加上initialize_duration的操作(S4)。如前所述,假設(shè)從對象緩沖器到圖形平面的傳輸速率Rc是256000000,并且,Window[i]的總尺寸是∑SIZE(WDS.WIN[i])。那么,清除全部Window[i]所需的時(shí)間(單位是秒)是∑SIZE(WDS.WIN[i])//256000000。將其乘以90000Hz,用PTS精度表示。因此,清除所有Window[i]所需的時(shí)間是90000×∑SIZE(WDS.WIN[i])//256000000。將其加上intialize_duration,作為返回值返回。對PLANEINITIALIZATIONTIME函數(shù)的描述到此結(jié)束。
在圖15中,步驟S5判斷DSn中的圖形對象的數(shù)量是1還是2(圖14中的if(DSn.PCS.num_of_objects==2)、if(DSn.PCS.num_of_objects==1))。如果DSn中的圖形對象的數(shù)量是1(S5=1),則將用于等待該圖形對象解碼結(jié)束的等待時(shí)間加上decode_duration(S6)。通過調(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ù)的過程。
在WAIT函數(shù)中,current_duration是一個(gè)變量,將decode_duration設(shè)置為該參數(shù),object_definition_ready_time是表示DSn中的圖形對象 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)。
上述過程涉及DSn中圖形對象數(shù)量為1的情況。如果圖形對象的數(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)。
下面通過具體的例子,說明如何設(shè)置一個(gè)DS中的PCS的PTS。
在圖17A示出的情形中,與一個(gè)ODS(ODS1)相對應(yīng)的一個(gè)OBJ(OBJ1)屬于一個(gè)窗口。圖17B和17C示出了圖14中使用的參數(shù)之間的關(guān)系的時(shí)序圖。這些時(shí)序圖都有三級(jí)。在這三級(jí)中,“圖形平面訪問”級(jí)和“ODS解碼”級(jí)表示當(dāng)再現(xiàn)ODS時(shí)并行執(zhí)行的兩個(gè)過程。上述算法基于這兩個(gè)過程并行執(zhí)行的假設(shè)。
圖形平面訪問由清除時(shí)間(1)和寫入時(shí)間(3)構(gòu)成。清除時(shí)間(1)表示用于清除整個(gè)圖形平面所需的時(shí)間(90000×((圖形平面尺寸)//256000000)),或用于清除圖形平面上所有窗口所需的時(shí)間(∑(90000×((窗口[i]的尺寸)//256000000)))。
寫入時(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)和寫入時(shí)間(3)的變化取決于要清除的范圍、要解碼的ODS的尺寸和要寫入圖形平面的圖形對象的尺寸。在圖17中,為簡單起見,假設(shè)解碼時(shí)間(2)的開始與清除時(shí)間(1)的開始相同。
圖17B所示的情形中,解碼時(shí)間(2)比清除時(shí)間(1)要長。在這種情況下,decode_duration是解碼時(shí)間(2)與寫入時(shí)間(3)之和。
圖17C所示的情形中,清除時(shí)間(1)比解碼時(shí)間(2)要長。在這種情況下,decode_duration是清除時(shí)間(1)與寫入時(shí)間(3)之和。
在圖18A至18C所示情形中,與兩個(gè)ODS(ODS1和ODS2)相對應(yīng)的兩個(gè)OBJ(OBJ1和OBJ2)屬于一個(gè)窗口。在圖18B和18C中,解碼時(shí)間(2)表示對ODS1和ODS2進(jìn)行解碼所需的總時(shí)間。同樣,寫入時(shí)間(3)表示將OBJ1和OBJ2寫入圖形平面所需的總時(shí)間。盡管ODS的數(shù)量是2,但是可以采用與圖17相同的方式計(jì)算decode_duration。詳細(xì)地講,如果ODS1和ODS2的解碼時(shí)間(2)比清除時(shí)間(1)長,則decode_duration是解碼時(shí)間(2)與寫入時(shí)間(3)之和,如圖18B所示。
如果清除時(shí)間(1)比解碼時(shí)間(2)長,則decode_duration是清除時(shí)間(1)與寫入時(shí)間(3)之和,如圖18C所示。
圖19A至19C所示的情形中,OBJ1屬于Window1,而OBJ2屬于Window2。在這種情形中,如果清除時(shí)間(1)比ODS1和ODS2的解碼時(shí)間(2)長,則decode_duration是清除時(shí)間(1)與寫入時(shí)間(3)之和。另一方面,如果清除時(shí)間(1)比解碼時(shí)間(2)短,則可以將OBJ1寫入Window1,而不必等待解碼時(shí)間(2)的結(jié)束。在這種情況下,decode_duration不僅僅是解碼時(shí)間(2)與寫入時(shí)間(3)之和。假設(shè)寫入時(shí)間(31)表示將OBJ1寫入Window1所需的時(shí)間,寫入時(shí)間(32)表示將OBJ2寫入Window2所需的時(shí)間。在圖19B所示情形中,解碼時(shí)間(2)比清除時(shí)間(1)與寫入時(shí)間(31)之和要長。在這種情況下,decode_duration是解碼時(shí)間(2)與寫入時(shí)間(32)之和。
圖19C所示的情形中,清除時(shí)間(1)與寫入時(shí)間(31)之和比解碼時(shí)間(2)長。在這種情況下,decode_duration是清除時(shí)間(1)、寫入時(shí)間(31)以及寫入時(shí)間(32)之和。
根據(jù)播放機(jī)模型,圖形平面的尺寸是固定的。窗口和ODS的尺寸和數(shù)量也是在合成時(shí)預(yù)先設(shè)置的。因此,計(jì)算出來的decode_duration可能是以下之一清除時(shí)間(1)與寫入時(shí)間(3)之和;解碼時(shí)間(2)與寫入時(shí)間(3)之和;解碼時(shí)間(2)與寫入時(shí)間(32)之和;清除時(shí)間(1)、寫入時(shí)間(31)與寫入時(shí)間(32)之和。通過基于如此計(jì)算出的decode_duration來設(shè)置PCS的PTS,可以使圖形與圖像數(shù)據(jù)同步,且具有高精度。如此準(zhǔn)確的同步控制是通過定義窗口和限制窗口中的清除和呈現(xiàn)操作來實(shí)現(xiàn)的。因此,在創(chuàng)作中,對概念“窗口”的介紹是非常重要的。
下面介紹如何設(shè)置DSn中WDS的DTS和PTS。設(shè)置WDS的DTS,以滿足下面的公式DTS(DSn[WDS])≥DTS(DSn[PCS])WDS的PTS表示啟動(dòng)向圖形平面寫入的最后期限。由于向圖形平面寫入只限于一個(gè)窗口,所以,通過從PCS的PTS所示時(shí)間減去在所有窗口上進(jìn)行呈現(xiàn)所需的時(shí)間,可以確定啟動(dòng)向圖形平面寫入的時(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的PTSPTS(DSn[WDS])=PTS(DSn[PCS])-90000×SIZE(WDS.WIN[i])//256000000由于WDS的PTS表示最后期限,所以,可以在該P(yáng)TS所示的時(shí)間之前啟動(dòng)向圖形平面的寫入。也就是說,在屬于這兩個(gè)窗口之一的一個(gè)ODS解碼結(jié)束之后,可以將通過解碼獲得的圖形對象立即寫入圖19所示的窗口中。
因此,使用WDS的DTS和PTS,可以將窗口分配給AV剪輯的再現(xiàn)時(shí)間軸上的預(yù)期點(diǎn)。對DSn中PCS和WDS的DTS和PTS的介紹到此結(jié)束。
下面解釋PCS的前向引用。前向引用是一種再現(xiàn)控制,其引用已經(jīng)存儲(chǔ)在再現(xiàn)裝置200中的圖形對象。圖20示出了前向引用PCS。圖中示出了三個(gè)DS,即DSn、DSn+1和DSn+2。DSn+1和DSn+2的PCS是前向引用PCS。箭頭yy1和yy2表示由這些PCS做出的前向引用。這些PCS前向引用DSn中ODS#1至ODS#v中定義的圖形對象。在這里,DSn包含多個(gè)圖形對象,即ODS#1至ODS#u和ODS#u+1至ODS#v。在這些圖形對象中,DSn的PCS引用ODS#1至ODS#u,但DSn的PCS未引用ODS#u+1至ODS#v。DSn+1和DSn+2前向引用未被DSn的PCS引用的這些圖形對象。
一個(gè)DS中的PCS前向引用的圖形對象已經(jīng)存儲(chǔ)在再現(xiàn)裝置200中,所以,不必再等待ODS的解碼。因此,只要向再現(xiàn)裝置200輸入PCS,就可以執(zhí)行基于該P(yáng)CS的顯示控制。由于當(dāng)向再現(xiàn)裝置200輸入PCS時(shí)立即執(zhí)行顯示控制,所以,可以在很短的時(shí)間間隔內(nèi),執(zhí)行用新圖形替換現(xiàn)有圖形的圖形更新。當(dāng)運(yùn)動(dòng)圖像的再現(xiàn)進(jìn)行時(shí),通過重復(fù)如此短間隔的圖形更新,就可以流暢地實(shí)現(xiàn)運(yùn)動(dòng)圖形的顯示控制。下面描述兩個(gè)前向引用PCS的示例。
首先描述用于在屏幕上實(shí)現(xiàn)運(yùn)動(dòng)圖形顯示效果的前向引用PCS。圖21A示出了一個(gè)具有此顯示效果的時(shí)元。該時(shí)元由九個(gè)DS構(gòu)成(DS0至DS8)。該時(shí)元的第一個(gè)DS,即DS0,包括PCS、PDS和ODS。DS0中的ODS定義如圖22A所示的字幕“My heart is fluttering”,且具有object_id=1。同時(shí),DS0后面的DS1至DS8都僅包括一個(gè)PCS。
圖21B示出了DS1至DS8中的PCS的PTS和composition_object字段。如圖所示,DS1至DS8中的PCS指明在由object_horizontal_position和object_vertical_position表示的相應(yīng)坐標(biāo)(x1,y1)、(x2,y2)、(x3,y3)、……、(x8,y8)上顯示由object_id_ref=1表示的圖形對象。圖22B示出了由窗口定義的坐標(biāo)系中的坐標(biāo)(x1,y1)、(x2,y2)、(x3,y3)、……、(x8,y8)的位置。從圖中可以看出,坐標(biāo)(x1,y1)、(x2,y2)、(x3,y3)、……、(x8,y8)位于一條波浪線上。設(shè)置坐標(biāo)(x1,y1)、(x2,y2)、(x3,y3)、……、(x8,y8),以使得圖形對象位于WDS定義的窗口之內(nèi)。這是因?yàn)?,如果圖形對象不包含在窗口之內(nèi),則無法建立圖形流的圖形顯示和視頻流的視頻顯示之間的同步。
在圖21B中,DS1至DS8中的PCS的PTS指定視頻流的再現(xiàn)時(shí)間軸上的時(shí)間t1、t2、t3、……t8,在這些時(shí)間,在相應(yīng)的坐標(biāo)(x1,y1)、(x2,y2)、(x3,y3)、……、(x8,y8)上顯示圖形對象。
圖23示出了向再現(xiàn)裝置200順序地輸入具有上述PCS的DS1至DS8時(shí)的顯示效果。在視頻流的再現(xiàn)時(shí)間軸上的t1處,向再現(xiàn)裝置輸入DS1,從而,在窗口內(nèi)的坐標(biāo)(x1,y1)處顯示圖形。在t4處,向再現(xiàn)裝置輸入DS4,從而,在窗口內(nèi)的坐標(biāo)(x4,y4)處顯示圖形。在t6處,向再現(xiàn)裝置輸入DS6,從而,在窗口內(nèi)的坐標(biāo)(x6,y6)處顯示圖形。在t8處,向再現(xiàn)裝置輸入DS8,從而,在窗口內(nèi)的坐標(biāo)(x8,y8)處顯示圖形。由于坐標(biāo)(x1,y1)、(x4,y4)、(x6,y6)和(x8,y8)位于一條波浪線上,所以,圖形會(huì)沿著波浪線,如圖24所示。
因此,當(dāng)向再現(xiàn)裝置200順序地輸入包括PCS(各具有指定的object_horizontal_position和object_vertical_position)的這些DS時(shí),再現(xiàn)裝置200根據(jù)這些PCS,顯示對象緩沖器中已經(jīng)存儲(chǔ)的圖形對象。由于只需通過向再現(xiàn)裝置200輸入控制信息就可以改變圖形的位置,所以,可以在屏幕上實(shí)現(xiàn)圖形的快速運(yùn)動(dòng)。
當(dāng)向再現(xiàn)裝置200輸入這些DS時(shí),新的PCS可能會(huì)覆蓋現(xiàn)有的PCS。這使得再現(xiàn)裝置200只保存最新的PCS,即便有數(shù)十個(gè)或數(shù)百個(gè)PCS給出流暢運(yùn)動(dòng)的圖形的顯示坐標(biāo)。這樣,可以降低再現(xiàn)裝置200中的存儲(chǔ)器占用率。
作為前向引用PCS的另一示例,下面描述僅調(diào)色板顯示更新。圖25示出了用于實(shí)現(xiàn)僅調(diào)色板顯示更新的DS序列。在圖中,第一級(jí)表示僅調(diào)色板顯示更新的DS序列(DS0、DS1、DS2和DS3)。DS0有一個(gè)PCS、四個(gè)PDS(PDS0、PDS1、PDS2和PDS3)和一個(gè)ODS。DS0后面的DS1、DS2和DS3各僅有一個(gè)PCS。
DS0中的ODS定義字幕“I will never forget”,如指導(dǎo)線hv1所示。單詞“I”、“will”、“never”和“forget”各由多個(gè)游程數(shù)據(jù)(圖25所示的矩形表示)構(gòu)成。構(gòu)成“I”的游程數(shù)據(jù)具有像素代碼0,構(gòu)成“will”的游程數(shù)據(jù)具有像素代碼1,構(gòu)成“never”的游程數(shù)據(jù)具有像素代碼2,構(gòu)成“forget”的游程數(shù)據(jù)具有像素代碼3。
圖26A示出了DS0中的四個(gè)PDS。
PDS0是DS0中的第一個(gè)PDS(在第一級(jí)中),具有palette_id=0,它為像素代碼0分配紅色,為像素代碼1至3分配白色。
PDS1是DS0中的第二個(gè)PDS(在第二級(jí)中),具有palette_id=1,它為像素代碼0和1分配紅色,為像素代碼2和3分配白色。
PDS2是DS0中的第三個(gè)PDS(在第三級(jí)中),具有palette_id=2,它為像素代碼0、1和2分配紅色,為像素代碼3分配白色。
PDS3是DS0中的第四個(gè)PDS(在第四級(jí)中),具有palette_id=3,它為像素代碼0至3分配紅色。
圖26B示出了DS0至DS3中的PCS。
DS0中的PCS(在第一級(jí)中)用object_id_ref=1表示的圖形對象指定要執(zhí)行的顯示控制。該P(yáng)CS具有palette_update_flag=0和palette_id_ref=0。因此,當(dāng)向再現(xiàn)裝置200輸入DS0時(shí),用palette_id=0表示的PDS顯示DS0中ODS表示的圖形對象。
DS1中的PCS(在第二級(jí)中)用object_id_ref=1表示的圖形對象指定要執(zhí)行的顯示控制。該P(yáng)CS具有palette_update_flag=1和palette_id_ref=1。因此,當(dāng)向再現(xiàn)裝置200輸入DS1時(shí),用palette_id=1表示的PDS更新圖形對象的顯示。
DS2中的PCS(在第三級(jí)中)用object_id_ref=1表示的圖形對象指定要執(zhí)行的顯示控制。該P(yáng)CS具有palette_update_flag=1和palette_id_ref=2。因此,當(dāng)向再現(xiàn)裝置200輸入DS2時(shí),用palette_id=2表示的PDS更新圖形對象的顯示。
DS3中的PCS(在第四級(jí)中)用object_id_ref=1表示的圖形對象指定要執(zhí)行的顯示控制。該P(yáng)CS具有palette_update_flag=1和palette_id_ref=3。因此,當(dāng)向再現(xiàn)裝置200輸入DS3時(shí),用palette_id=3表示的PDS更新圖形對象的顯示。通過如此設(shè)置DS0至DS3中的PCS,可以用不同的調(diào)色板數(shù)據(jù)重復(fù)地更新屬于DS0的圖形對象。
圖27示出了當(dāng)向再現(xiàn)裝置200順序地輸入這四個(gè)DS時(shí)所達(dá)到的顯示效果。當(dāng)向再現(xiàn)裝置輸入DS0時(shí),顯示字幕“I will neverforget”,其中的單詞“I”用紅色顯示。當(dāng)向再現(xiàn)裝置輸入DS1時(shí),單詞“will”變紅。當(dāng)向再現(xiàn)裝置輸入DS2時(shí),單詞“never”變紅。當(dāng)向再現(xiàn)裝置輸入DS3時(shí),單詞“never”變紅,因此,整個(gè)字幕“Iwill never forget”以紅色顯示。所以,當(dāng)從BD-ROM 100向再現(xiàn)裝置200順序地輸入DS時(shí),構(gòu)成字幕“I will never forget”的單詞從最左邊的單詞開始,逐個(gè)從白色變成紅色。當(dāng)音頻流的再現(xiàn)進(jìn)行時(shí),這產(chǎn)生字幕顏色變化的顯示效果。
應(yīng)當(dāng)注意的是,上述DS的數(shù)據(jù)結(jié)構(gòu)(PCS、WDS、PDS和ODS)是用程序語言編寫的類結(jié)構(gòu)的例子。創(chuàng)作者根據(jù)藍(lán)光只讀光盤格式中定義的句法編寫這些類結(jié)構(gòu),從而在BD-ROM 100上創(chuàng)建這些數(shù)據(jù)結(jié)構(gòu)。對根據(jù)本發(fā)明第一個(gè)實(shí)施例的記錄介質(zhì)的描述到此結(jié)束。下面描述根據(jù)本發(fā)明第一個(gè)實(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;對象緩沖器15;合成緩沖器16;圖形控制器17。
BD驅(qū)動(dòng)器1執(zhí)行BD-ROM 100的加載、讀取和彈出。BD驅(qū)動(dòng)器1訪問BD-ROM 100。
讀取緩沖器2是FIFO(先進(jìn)先出)存儲(chǔ)器。因此,從BD-ROM100讀取的TS數(shù)據(jù)包在讀取緩沖器2中消除的次序與它們的到達(dá)次序相同。
PID濾波器3對從讀取緩沖器2輸出的TS數(shù)據(jù)包執(zhí)行濾波。更詳細(xì)地講,PID濾波器3只把具有預(yù)定PID的TS數(shù)據(jù)包傳遞給傳輸緩沖器4a、4b和4c。PID濾波器3中沒有緩沖機(jī)制。因此,進(jìn)入PID濾波器3的TS數(shù)據(jù)包立即被寫入傳輸緩沖器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對從PID濾波器3輸出的TS數(shù)據(jù)包進(jìn)行解碼,從而獲得解壓縮的圖片,并將其寫入視頻平面6。
視頻平面6是用于存儲(chǔ)運(yùn)動(dòng)圖像的平面存儲(chǔ)器。
音頻解碼器7對從PID濾波器3輸出的TS數(shù)據(jù)包進(jìn)行解碼,并輸出解壓縮的音頻數(shù)據(jù)。
圖形平面8是一個(gè)平面存儲(chǔ)器,它具有一幅畫面的存儲(chǔ)區(qū)域,能夠存儲(chǔ)一幅畫面的解壓縮圖形。
CLUT電路9基于PDS中所示的Y、Cr和Cb值,對圖形平面8上的解壓縮圖形的索引色(index color)進(jìn)行轉(zhuǎn)換。
加法器10將CLUT電路9轉(zhuǎn)換過的解壓縮圖形乘以PDS中所示的T值(透明色)。然后,加法器10對所得的解壓縮圖形和視頻平面6上的解壓縮圖片數(shù)據(jù)中的相應(yīng)像素執(zhí)行加法,并輸出所得的圖像。
圖形解碼器12對圖形流進(jìn)行解碼,從而獲得解壓縮的圖形,并將解壓縮的圖形作為圖形對象寫入圖形平面8中。對圖形流進(jìn)行解碼之后,字幕和菜單就出現(xiàn)在屏幕上。
圖形解碼器12從對象緩沖器15中讀取屬于DSn的圖形對象,同時(shí)將屬于DSn+1的圖形對象寫入對象緩沖器15,從而執(zhí)行流水線處理。
圖形解碼器12包括編碼數(shù)據(jù)緩沖器13;外圍電路13a;流圖形處理器14;對象緩沖器15;合成緩沖器16;圖形控制器17。
編碼數(shù)據(jù)緩沖器13用于將功能段與DTS和PTS一起存儲(chǔ)。通過將傳輸緩沖器4a中存儲(chǔ)的各TS數(shù)據(jù)包去除TS包頭和PES包頭以及將剩余的有效負(fù)載順序地進(jìn)行排列,得到這些功能段。去除的TS包頭和PES包頭中包含的DTS和PTS存儲(chǔ)在編碼數(shù)據(jù)緩沖器13中,與這些功能段相對應(yīng)。
外圍電路13a具有連線邏輯,用于將來自編碼數(shù)據(jù)緩沖器13的數(shù)據(jù)傳輸?shù)搅鲌D形處理器14,并將來自編碼數(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對ODS進(jìn)行解碼,從而獲得具有索引色的解壓縮圖形,并將解壓縮圖形作為圖形對象傳輸?shù)綄ο缶彌_器15。流圖形處理器14的解碼是瞬時(shí)的,并且,通過解碼獲得的圖形對象暫時(shí)存儲(chǔ)在流圖形處理器14中。盡管流圖形處理器14的解碼是瞬時(shí)的,但圖形對象從流圖形處理器14到對象緩沖器15的傳輸不是瞬時(shí)的。這是因?yàn)?,對于藍(lán)光只讀光盤格式的播放機(jī)模型,到對象緩沖器15的傳輸是以128Mbps的傳輸速率執(zhí)行的。DS中的END的PTS給出了屬于DS的所有圖形對象到對象緩沖器15的傳輸?shù)慕Y(jié)束。因此,在END的PTS所示的時(shí)間之前,不會(huì)啟動(dòng)下一DS的處理。通過對各ODS進(jìn)行解碼而得到的圖形對象向?qū)ο缶彌_器15的傳輸開始于ODS的DTS所示的時(shí)間,結(jié)束于ODS的PTS所示的時(shí)間。
如果DSn的圖形對象和DSn+1的圖形對象具有不同的Object_id,那么,流圖形處理器14將這兩個(gè)圖形對象寫入對象緩沖器15中不同的存儲(chǔ)區(qū)域。這樣,就可以實(shí)現(xiàn)圖形對象的流水線呈現(xiàn),并且,DSn的圖形對象不會(huì)被DSn+1的圖形對象覆蓋。另一方面,如果DSn的圖形對象和DSn+1的圖形對象具有相同的Object_id,那么,流圖形存儲(chǔ)器14將DSn+1的圖形對象寫入對象緩沖器15中也存儲(chǔ)了DSn的圖形對象的存儲(chǔ)區(qū)域,從而覆蓋DSn的圖形對象。在這種情況下,不執(zhí)行流水線處理。DS也可以可以包括由該DS的PCS引用的ODS以及PCS未引用的ODS。流圖形處理器14不僅順序地對該P(yáng)CS引用的ODS進(jìn)行解碼,而且還對PCS未引用的ODS進(jìn)行解碼,然后,將解碼所得的圖形存儲(chǔ)到對象緩沖器15中。
對象緩沖器15對應(yīng)于ETSI EN 300 743中的像素緩沖器。流圖形處理器14解碼的圖形對象存儲(chǔ)在對象緩沖器15中。對象緩沖器15的尺寸應(yīng)當(dāng)是圖形平面8的尺寸的兩倍或四倍。這是因?yàn)?,為了?shí)現(xiàn)滾讀(scrolling),對象緩沖器15需要能夠存儲(chǔ)圖形平面18兩倍或四倍的圖形。
合成緩沖器16用于存儲(chǔ)PCS和PDS。當(dāng)DSn和DSn+1中的PCS的激活時(shí)間重疊時(shí),組合緩沖器16存儲(chǔ)DSn中的PCS和DSn+1中的PCS。
圖形控制器17對合成緩沖器16中的PCS進(jìn)行解碼?;诮獯a結(jié)果,圖形控制器17將DSn+1的圖形對象寫入對象緩沖器15,同時(shí)從對象緩沖器15中讀取DSn的圖形對象,并將其呈現(xiàn)以供顯示。在DSn中的PCS的PTS所示的時(shí)間,執(zhí)行圖形控制器17的呈現(xiàn)。
為了用PCS產(chǎn)生畫面合成,圖形控制器17執(zhí)行如下處理。圖形控制器17從PCS中讀取object_id_ref,object_id_ref是圖形對象的標(biāo)識(shí)符的引用值。圖形控制器17從圖形對象中取出由object_cropping_horizontal_position、object_cropping_vertical_position、object_cropping_width和object_cropping_height定義的部分。圖形控制器17將取出的部分寫在圖形平面8上由object_horizontal_position、object_vertical_position表示的位置處。如果該引用值指定的圖形對象屬于與該P(yáng)CS相同的DS,則在對該DS中相應(yīng)的ODS進(jìn)行解碼結(jié)束之前,不能執(zhí)行上述的向圖形平面8的寫入。
另一方面,當(dāng)PCS的composition_state是Normal Case時(shí),圖形對象是已經(jīng)解碼的,并存儲(chǔ)在對象緩沖器15中。因此,可以執(zhí)行上述的向圖形平面8的寫入,而不必等待ODS的解碼。
為了實(shí)現(xiàn)僅調(diào)色板顯示更新,圖形控制器17執(zhí)行以下處理。從BD-ROM 100中讀出DS后,圖形控制器17判斷該DS中的PCS的palette_update_flag是否為“1”。如果palette_update_flag為“1”,則圖形控制器17指示CLUT單元9使用該P(yáng)CS的palette_id表示的調(diào)色板數(shù)據(jù)來執(zhí)行像素值轉(zhuǎn)換。然后,圖形控制器17從對象緩沖器15中讀取圖形對象,并將其寫入圖形平面8。因此,僅僅通過設(shè)置CLUT單元9中的調(diào)色板數(shù)據(jù),就可以執(zhí)行圖形更新。
下面給出建議的傳輸速率以及PID濾波器3、傳輸緩沖器4a、4b和4c、圖形平面8、CLUT單元9、編碼數(shù)據(jù)緩沖器13、流圖形處理器14、對象緩沖器15、合成緩沖器16和圖形控制器17的緩沖器尺寸。圖29示出了傳輸速率Rx、Rc和Rd以及圖形平面8、傳輸緩沖器4a、編碼數(shù)據(jù)緩沖器13和對象緩沖器15的尺寸。
從對象緩沖器15到圖形平面8的傳輸速率Rc(像素合成速率)是再現(xiàn)裝置200中最高的傳輸速率,根據(jù)窗口大小和幀速率,將其計(jì)算為256Mbps(=500K字節(jié)×29.97×2)。
與Rc不同,從流圖形處理器14到對象緩沖器15的傳輸速率Rd(像素解碼速率)不必與幀速率一致,它可以是Rc的1/2或1/4。因此,傳輸速率Rd是128Mbps或64Mbps。
從傳輸緩沖器4a到編碼數(shù)據(jù)緩沖器13的傳輸速率Rx(傳輸緩沖器泄漏速率)ODS處于壓縮狀態(tài)下的傳輸速率。因此,通過用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的寫入時(shí)間。第三級(jí)示出了流圖形處理器14對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的寫入結(jié)束,在t31,解碼時(shí)間dp1開始,在t31之前,ODS2向編碼數(shù)據(jù)緩沖器13的寫入結(jié)束,在t31,解碼時(shí)間dp2開始。
同時(shí),ODS1和ODS2的PTS分別給出了t32和t33。因此,在t32之前,流圖形處理器14對ODS1的解碼結(jié)束,在t33之前,流圖形處理器14對ODS2的解碼結(jié)束。因此,在ODS的DTS給出的時(shí)間之前,ODS緩存在編碼數(shù)據(jù)緩沖器13中,在ODS的PTS所示的時(shí)間之前,對所緩沖的ODS進(jìn)行解碼并將其傳輸?shù)綄ο缶彌_器15。
在第一級(jí)中,cd1表示圖形控制器17清除圖形平面8所需的時(shí)間,td1表示圖形控制器17將對象緩沖器15中包含的圖形寫入圖形平面8所需的時(shí)間。WDS的PTS表示啟動(dòng)寫入圖形的最后期限。PCS的PTS表示向圖形平面8中寫入圖形結(jié)束并呈現(xiàn)所寫入圖形以供顯示的時(shí)間。因此,在PCS的PTS所示的時(shí)間處,獲得圖形平面8上的一幅畫面的解壓縮圖形。CLUT單元9對解壓縮的圖形執(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é)束之后,還不能把通過解碼獲得的圖形寫入圖形平面8。只有圖形平面8的清除結(jié)束之后,才可以將該圖形寫入圖形平面8中。
圖32的時(shí)序圖示出了再現(xiàn)裝置200中的緩沖器占用率的變化。在圖中,第一至第四級(jí)分別示出了圖形平面8、對象緩沖器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)增長Vf1和Vf2的斜率基于從傳輸緩沖器4a到編碼數(shù)據(jù)緩沖器13的傳輸速率Rx,而單調(diào)減少Vg1和Vg2是瞬時(shí)的,因?yàn)榱鲌D形處理器14的解碼是瞬時(shí)執(zhí)行的。也就是說,流圖形處理器14瞬時(shí)地對每個(gè)ODS進(jìn)行解碼,并保存通過解碼獲得的解壓縮圖形。由于從流圖形處理器14到對象緩沖器15的傳輸速率Rd是128Mbps,所以,對象緩沖器15的占用率以128Mbps增加。
第二級(jí)給出了對象緩沖器15的占用率的變化。如圖所示,對象緩沖器15的占用率的變化包括單調(diào)增加Vh1和Vh2,單調(diào)增加Vh1和Vh2反映將從流圖形處理器14輸出的ODS1和ODS2的圖形對象進(jìn)行存儲(chǔ)。單調(diào)增加Vh1和Vh2的斜率基于從流圖形處理器14到對象緩沖器15的傳輸速率Rd。ODS1和ODS2的解碼時(shí)間分別對應(yīng)于第三級(jí)中出現(xiàn)單調(diào)減少和第二級(jí)中出現(xiàn)單調(diào)增加的時(shí)間段。ODS的DTS表示解碼時(shí)間的開始,而ODS的PTS表示解碼時(shí)間的結(jié)束。如果在ODS的PTS顯示的時(shí)間之前將解壓縮圖形對象傳輸?shù)綄ο缶彌_器15,則ODS的解碼結(jié)束。在ODS的PTS所示時(shí)間之前將解壓縮圖形對象存儲(chǔ)在對象緩沖器15中是很重要的。只要滿足這一點(diǎn),解碼時(shí)間中的單調(diào)減少和單調(diào)增加不限于圖32所示情形。
第一級(jí)示出了圖形平面8的占用率的變化。如圖所示,圖形平面8的占用率的變化包括單調(diào)增加Vf3,單調(diào)增加Vf3反映將從對象緩沖器15輸出的圖形對象進(jìn)行存儲(chǔ)。單調(diào)增加Vf3的斜率基于從對象緩沖器15到圖形平面8的傳輸速率Rc。PCS的PTS給出了單調(diào)增加Vf3的結(jié)束。
通過使用ODS的DTS和PTS、PCS的DTS和PTS以及圖29所示的緩沖器尺寸和傳輸速率,可以創(chuàng)建圖32所示的圖。該圖使得當(dāng)再現(xiàn)BD-ROM 100上的AV剪輯時(shí)創(chuàng)作者能夠了解緩沖器狀態(tài)如何改變。
通過重寫DTS和PTS,可以調(diào)整緩沖器狀態(tài)的這些變化。因此,創(chuàng)作者可以防止解碼負(fù)載超過再現(xiàn)裝置的解碼器的規(guī)格,或者,防止再現(xiàn)期間的緩沖器溢出。這使得當(dāng)開發(fā)再現(xiàn)裝置200時(shí)硬件和軟件的實(shí)現(xiàn)更容易。對再現(xiàn)裝置200的內(nèi)部構(gòu)造的解釋到此結(jié)束。
下面說明如何實(shí)現(xiàn)圖形解碼器12。通過讓一個(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),對于每個(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中對屬于該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、對象緩沖器15和合成緩沖器16)。如果執(zhí)行跳節(jié)操作的話,則前面的DS不存在于圖形解碼器12中。在這種情況下,需要從Acquisition Point Ds開始顯示,從而使操作轉(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法獲得足以合成一幅畫面圖形的的功能段(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字段是AcquisitionPoint,DS20的composition_state字段是Normal Case。
假設(shè)對復(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)。從而,將DS10加載到編碼數(shù)據(jù)緩沖器13中,如圖35中的箭頭md1所示。另一方面,假設(shè)對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)。但是,對于作為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)超過任一ODSx的PTS。清除整個(gè)圖形平面8需要花費(fèi)很長時(shí)間,所以,在清除整個(gè)圖形平面8之前,ODSx的解碼可能已經(jīng)結(jié)束。步驟S48檢查這種可能性。如果沒有超過ODSx的PTS,則操作返回到主程序。如果超過了ODSx的PTS,則執(zhí)行步驟S49至S51。步驟S49判斷object_cropped_flag字段是否為0。如果是,則將與ODSx對應(yīng)的圖形對象設(shè)置為不顯示(S50)。
如果object_cropped_flag字段是1,則將基于object_cropping_horizontal_position字段、object_cropping_vertical_position字段、cropping_width字段和cropping_height字段剪裁的圖形對象寫入圖形平面8上的窗口中,所在位置用object_horizontal_position字段和object_vertical_position字段表示(S51)。這樣,就將圖形對象寫入了窗口。
步驟S52判斷是否超過另一ODS(ODSy)的PTS。如果在將ODSx的圖形對象寫入圖形平面8的期間完成了ODSy的解碼,則將ODSy設(shè)置為ODSx(S53),然后,操作返回步驟S49。因此,對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)中,對于窗口中要顯示的最多兩個(gè)圖形對象中的每一個(gè),執(zhí)行步驟S57至S59。步驟S57判斷object_cropped_flag是否為0。如果是,則將圖形對象設(shè)置為不顯示(S58)。
如果object_cropped_flag是1,則將基于object_cropping_horizontal_position字段、object_cropping_vertical_position字段、cropping_width字段和cropping_height字段剪裁的圖形對象寫入圖形平面8上的窗口中,所在位置用object_horizontal_position字段和object_vertical_position字段表示(S59)。該循環(huán)之后,一個(gè)或多個(gè)圖形對象被寫入窗口中。
步驟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,則跳過步驟S61。
此后,CLUT單元對圖形平面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è)圖形對象。在這種情況下,每次ODS解碼結(jié)束時(shí),需要將通過解碼得到的圖形對象寫入圖形平面8(參見圖19B)。因此,如果當(dāng)前時(shí)間是ODS的PTS并且窗口數(shù)量是2,則執(zhí)行步驟S64至S66,以將每個(gè)圖形對象寫入圖形平面8中。步驟S64判斷object_cropped_flag字段是否為0。如果是,則將圖形對象設(shè)置為不顯示(S65)。
如果object_cropped_flag字段是1,則將基于object_cropping_horizontal_position字段、object_ cropping_vertical_position字段、cropping_width字段和cropping_height字段剪裁的圖形對象寫入圖形平面8上的窗口中,所在位置用object_horizontal_position字段和object_vertical_position字段表示(S66)。重復(fù)該處理,從而將兩個(gè)圖形對象分別寫入這兩個(gè)窗口。
(第二個(gè)實(shí)施例)本發(fā)明的第二個(gè)實(shí)施例涉及第一個(gè)實(shí)施例中介紹的BD-ROM100的制造過程。圖41是BD-ROM 100的制造過程的流程圖。
該制造過程包括材料生產(chǎn)步驟,用于記錄視頻、聲音等(S201);創(chuàng)作步驟,使用創(chuàng)作設(shè)備創(chuàng)建應(yīng)用格式(S202);印制(pressing)步驟,用于創(chuàng)建BD-ROM 100的原始主盤(original master),并執(zhí)行壓制(stamping)和粘合(bonding),以完成BD-ROM 100(S203)。
在該制造過程中,創(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中,判斷圖示的變化是否滿足播放機(jī)模型的約束條件。如果判斷結(jié)果是否定的,則在步驟S211中,重寫每個(gè)功能段的DTS和PTS。如果判斷結(jié)果是肯定的,則在步驟S212中生成圖形流,并在步驟S213中將圖形流與視頻流和音頻流進(jìn)行復(fù)用,以形成AV剪輯。此后,將AV剪輯改編為藍(lán)光只讀光盤格式,從而完成該應(yīng)用格式。
(修改)盡管通過上面的實(shí)施例對本發(fā)明進(jìn)行了描述,但本發(fā)明不限于此。也可以用下面的修改(A)至(P)中任意之一來實(shí)現(xiàn)本發(fā)明。本申請的每項(xiàng)權(quán)利要求的發(fā)明都包括上述實(shí)施例的擴(kuò)展和概括以及下面的修改。擴(kuò)展和概括程度取決于做出本發(fā)明時(shí)本發(fā)明技術(shù)領(lǐng)域的技術(shù)發(fā)展水平。
(A)在上述實(shí)施例描述的情形中,將BD-ROM用作記錄介質(zhì)。但是,本發(fā)明的主要特征在于記錄介質(zhì)上記錄的圖形流,而這并不依賴于BD-ROM的物理特性。因此,本發(fā)明同樣適用于能夠記錄圖形流的任何記錄介質(zhì)。這種記錄介質(zhì)的示例包括光盤,如DVD-ROM、DVD-RAM、DVD-RW、DVD-R、DVD+RW、DVD+R、CD-R或CD-RW;磁光盤,如PD和MO;半導(dǎo)體存儲(chǔ)卡,如CF卡、Smartmedia卡、記憶棒、多媒體卡或PCM-CIA卡;磁記錄盤,如軟盤、SuperDisk、Zip和Click!;可移動(dòng)硬盤,如ORB、Jaz、SparQ、SyJet、EZFley和Microdrive;以及不可移動(dòng)硬盤。
(B)在上述實(shí)施例描述的情形中,再現(xiàn)裝置對BD-ROM上的AV剪輯進(jìn)行解碼,并將解碼后的AV剪輯輸出到電視。當(dāng)然,再現(xiàn)裝置也可以只有BD驅(qū)動(dòng)器,其他的組成部件由電視來提供。在這種情況下,可以將再現(xiàn)裝置和電視集成到通過IEEE 1394連接器相連的家庭網(wǎng)絡(luò)中。在上述實(shí)施例描述的情形中,再現(xiàn)裝置連接到電視,但是,再現(xiàn)裝置也可以與顯示裝置集成在一起。此外,再現(xiàn)裝置也可以只包括系統(tǒng)LSI(集成電路),其構(gòu)成處理的實(shí)質(zhì)性部分。該再現(xiàn)裝置和該集成電路都是本說明書所描述的發(fā)明。因此,不管涉及再現(xiàn)裝置還是涉及集成電路,基于第一個(gè)實(shí)施例中描述的再現(xiàn)裝置的內(nèi)部構(gòu)造來制造再現(xiàn)裝置的行為都是實(shí)施本發(fā)明的一種行為。此外,有償轉(zhuǎn)讓(即銷售)或無償轉(zhuǎn)讓(即,作為禮物)、出租和進(jìn)口該再現(xiàn)裝置也是實(shí)施本發(fā)明的行為。同樣,使用櫥窗展示、商品目錄或宣傳冊來許諾轉(zhuǎn)讓或出租該再現(xiàn)裝置的行為也是實(shí)施本發(fā)明的行為。
(C)使用上述流程圖所示的程序的信息處理實(shí)際上是用硬件資源實(shí)現(xiàn)的。因此,描述這些流程圖中所示操作過程的程序本身也是一項(xiàng)發(fā)明。在上述實(shí)施例所描述的情形中,程序是集成到再現(xiàn)裝置中的,但是,這些程序的使用也可以獨(dú)立于再現(xiàn)裝置。實(shí)施這些程序的行為包括(1)制造行為;(2)有償或無償轉(zhuǎn)讓的行為;(3)出租行為;(4)進(jìn)口行為;(5)經(jīng)由雙向電子通信網(wǎng)絡(luò)提供給公眾的行為;(6)使用櫥窗展示、商品目錄或宣傳冊許諾銷售或出租的行為。
(D)在每個(gè)流程圖中以時(shí)間序列執(zhí)行的步驟的時(shí)間單元可被視為本發(fā)明的必要單元。因此,這些流程圖所示的再現(xiàn)方法是一項(xiàng)發(fā)明。如果執(zhí)行每個(gè)流程圖中所示的處理,通過以時(shí)間順序執(zhí)行這些步驟,從而實(shí)現(xiàn)預(yù)期的目的和預(yù)期的效果,那么,這也是實(shí)施本發(fā)明的記錄方法的行為。
(E)當(dāng)把AV剪輯記錄到BD-ROM上時(shí),可以向AV剪輯中的各個(gè)TS包添加擴(kuò)展頭。該擴(kuò)展頭被稱為TP_extra_header,其包括arrival_time_stamp和copy_permission_indicator,并且數(shù)據(jù)長度為4個(gè)字節(jié)。具有TP_extra_header的TS數(shù)據(jù)包(下文稱之為“EX TS包”)以32個(gè)數(shù)據(jù)包為單位進(jìn)行分組,并且將每組寫入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ù)包被稱為一個(gè)對準(zhǔn)單元(aligned unit)。
在通過IEEE 1394連接器相連的家庭網(wǎng)絡(luò)中,該再現(xiàn)裝置以下面的方式發(fā)送對準(zhǔn)單元。該再現(xiàn)裝置將對準(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í)間來確定插入同步包的位置。該再現(xiàn)裝置輸出DTCP_descriptor以及TS包。DTCP_descriptor對應(yīng)于TP_extra_header中的copy_permission_indicator。通過提供表明“禁止復(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(視頻對象)來實(shí)現(xiàn)。VOB是符合ISO/IEC13818-1際準(zhǔn)的節(jié)目流,它是通過復(fù)用視頻流和音頻流而獲得的。同樣,AV剪輯中的視頻流也可以是MPEG4視頻流或WMV視頻流。此外,AV剪輯中的音頻流可以是線性PCM音頻流、Dolby AC-3音頻流、MP3音頻流、MPEG-AAC音頻流或dts音頻流。
(G)上述實(shí)施例中的電影可以是通過對經(jīng)過模擬廣播傳輸?shù)哪M圖像信號(hào)進(jìn)行編碼而獲得的。此外,該電影也可以是經(jīng)過數(shù)字廣播傳輸?shù)膫鬏斄鳂?gòu)成的流數(shù)據(jù)。
或者,還可以通過對記錄在錄像帶中的模擬/數(shù)字圖像信號(hào)進(jìn)行編碼來獲得內(nèi)容。此外,還可以通過對從視頻照相機(jī)中直接裝載的模擬或數(shù)字圖像信號(hào)進(jìn)行編碼來獲得內(nèi)容。這些內(nèi)容也可以是通過分發(fā)服務(wù)器分發(fā)的數(shù)字作品。
(H)上述實(shí)施例中描述的圖形對象是游程編碼的柵格數(shù)據(jù)。游程編碼用于壓縮和編碼圖形對象,因?yàn)橛纬叹幋a適于壓縮和解壓縮字幕。字幕的屬性在于,水平方向上的相同像素值的連續(xù)長度較長。因而,通過使用游程編碼進(jìn)行壓縮,可以獲得高壓縮率。此外,游程編碼降低了解壓縮的負(fù)擔(dān),因此適于用軟件實(shí)現(xiàn)解密。但是,對圖形對象使用游程編碼不是限制本發(fā)明。例如,圖形對象可以是PNG數(shù)據(jù)。此外,圖形對象不必是柵格數(shù)據(jù),也可以是矢量數(shù)據(jù)。此外,圖形對象可以是透明圖案。
(I)根據(jù)再現(xiàn)裝置中的語言設(shè)置選擇的字幕圖形可以實(shí)現(xiàn)PCS的顯示效果。因此,可以通過根據(jù)該再現(xiàn)裝置的語言設(shè)置顯示的字幕圖形來實(shí)現(xiàn)通過使用在常規(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è)置來選擇一種顯示模式,并顯示對應(yīng)的圖形。由于PCS的顯示效果適用于這些圖形,所以可視性得到了增強(qiáng)因此,用根據(jù)顯示設(shè)置顯示的字幕圖形可以實(shí)現(xiàn)用傳統(tǒng)DVD中視頻主體內(nèi)包含的字符達(dá)到的顯示鮮果。這有助于提高實(shí)用性。
(J)在第一個(gè)實(shí)施例描述的情形中,設(shè)置從對象緩沖器到圖形平面的傳輸速率Rc,從而在一個(gè)視頻幀內(nèi),清除圖形平面和在窗口上呈現(xiàn)圖形,窗口尺寸是圖形平面的25%。但是,可以將Rc設(shè)置成在垂直消隱期間完成清除和呈現(xiàn)。假定垂直消隱周期是1/29.93秒的25%。那么,Rc是1Gbps。如此設(shè)置Rc,可以更流暢地顯示圖形。
此外,可以與垂直消隱期間的寫操作一起,使用與行掃描同步的寫操作。這樣,可以Rc=256Mbps流暢地顯示字幕。
(K)在上述實(shí)施例所描述的情形中,再現(xiàn)裝置包括圖形平面上。但是,還可以將用于儲(chǔ)存一行解壓縮像素的線緩沖器代替圖形平面。因?yàn)閷τ诿啃袌?zhí)行到圖像信號(hào)的轉(zhuǎn)換,所以,同樣可以用線緩沖器執(zhí)行到圖像信號(hào)的轉(zhuǎn)換。
(L)在上述實(shí)施例所描述的情形中,圖形是表示電影中的對話的字符串,但是,本發(fā)明同樣適用于與視頻精確同步顯示的任何圖形。這樣的圖形示例包括插圖、圖案、卡通人物和字符標(biāo)記。這些圖形的示例還包括構(gòu)成商標(biāo)的圖案、字符和顏色的組合、國家飾章、國旗、國徽、國家政府使用的公共標(biāo)記或圖章、國際組織的飾章、旗幟或徽章,或者特殊項(xiàng)目的原始標(biāo)記。
(M)在第一個(gè)實(shí)施例所描述的情形中,基于字幕在屏幕頂部或底部上水平地顯示的假設(shè),將窗口設(shè)置在屏幕的頂部或底部。但是,也可以將窗口設(shè)置在屏幕的左側(cè)或右側(cè),從而在屏幕的左側(cè)和右側(cè)上垂直地顯示字幕。這樣,就可以垂直地顯示日文字幕。
(O)當(dāng)DSn和DSn+1屬于圖形流中同一時(shí)元時(shí),圖形解碼器對DSn和DSn+1執(zhí)行流水線處理。另一方面,當(dāng)DSn和DSn+1屬于不同的時(shí)元時(shí),在DSn的圖形顯示開始之后,圖形解碼器開始處理DSn+1。
此外,有兩種圖形流,即呈現(xiàn)圖形流,主要用于與視頻進(jìn)行同步;交互圖形流,主要用于實(shí)現(xiàn)交互顯示。當(dāng)該圖形流是呈現(xiàn)圖形流時(shí),圖形解碼器對DSn和DSn+1執(zhí)行流水線處理;當(dāng)該圖形流是交互圖形流時(shí),不執(zhí)行流水線處理。
(P)在圖20所示的例子中,DS中的PCS引用的圖形數(shù)據(jù)設(shè)置在未被該DS中的PCS引用的圖形數(shù)據(jù)之前。但是,多組引用圖形數(shù)據(jù)和多組無引用圖形數(shù)據(jù)也可以在DS中按照它們object_id表示的次序排列?;蛘?,多組引用圖形數(shù)據(jù)可以按照掃描線次序排列。這里的掃描線次序指的是執(zhí)行掃描的次序。通常,從屏幕的左上方到右下方執(zhí)行掃描。因此,將顯示坐標(biāo)位于屏幕左上方的圖形數(shù)據(jù)設(shè)置在顯示坐標(biāo)位于平面右下方的圖形數(shù)據(jù)之前。這可以加速圖形數(shù)據(jù)的呈現(xiàn)。
可以如上所述修改本發(fā)明。但是,本申請的每項(xiàng)權(quán)利要求的發(fā)明都反映了解決傳統(tǒng)技術(shù)所遇到的技術(shù)問題的手段,所以,根據(jù)權(quán)利要求書的本發(fā)明的技術(shù)范圍不會(huì)超過本領(lǐng)域技術(shù)人員認(rèn)識(shí)該技術(shù)問題的技術(shù)范圍。因此,根據(jù)權(quán)利要求書的本發(fā)明基本上對應(yīng)于本申請中的說明書部分。
工業(yè)應(yīng)用性上述實(shí)施例披露了本發(fā)明所涉及的記錄介質(zhì)和再現(xiàn)裝置的內(nèi)部構(gòu)造,可以基于所披露的內(nèi)部構(gòu)造,批量制造記錄介質(zhì)和再現(xiàn)裝置。換言之,該記錄介質(zhì)和再現(xiàn)裝置能夠在工業(yè)上制造出來。因此,該記錄介質(zhì)和再現(xiàn)裝置具有工業(yè)應(yīng)用性。
權(quán)利要求
1.一種用于存儲(chǔ)數(shù)據(jù)的記錄介質(zhì),包括通過復(fù)用視頻流和圖形流而生成的數(shù)字流,其中所述圖形流是多個(gè)數(shù)據(jù)包的序列,所述多個(gè)數(shù)據(jù)包包括含有圖形數(shù)據(jù)的數(shù)據(jù)包、含有調(diào)色板數(shù)據(jù)的數(shù)據(jù)包和含有控制數(shù)據(jù)的數(shù)據(jù)包;所述圖形數(shù)據(jù)是用多個(gè)代碼值表示顯示內(nèi)容的數(shù)據(jù);所述調(diào)色板數(shù)據(jù)表示每個(gè)代碼值和像素值之間的對應(yīng)關(guān)系;以及所述控制數(shù)據(jù)是指示在預(yù)定時(shí)間將所述序列中先前數(shù)據(jù)包中包含的所述圖形數(shù)據(jù)的顯示顏色進(jìn)行顏色轉(zhuǎn)換的信息,并包括表示所述顏色轉(zhuǎn)換要使用的所述調(diào)色板數(shù)據(jù)的參考值。
2.如權(quán)利要求1所述的記錄介質(zhì),其中所述多個(gè)數(shù)據(jù)包中的每一個(gè)數(shù)據(jù)包都屬于多個(gè)顯示集合中的一個(gè)顯示集合,所述多個(gè)顯示集合都用于產(chǎn)生圖形顯示;以及所述圖形數(shù)據(jù)和所述調(diào)色板數(shù)據(jù)所屬的顯示集合不同于所述控制數(shù)據(jù)所屬的顯示集合。
3.如權(quán)利要求2所述的記錄介質(zhì),其中所述多個(gè)顯示集合包括時(shí)元開始顯示集合,后者包括所述圖形數(shù)據(jù)、所述調(diào)色板數(shù)據(jù)和窗口定義數(shù)據(jù),所述窗口定義數(shù)據(jù)用于定義呈現(xiàn)所述圖形數(shù)據(jù)的區(qū)域;所述窗口定義數(shù)據(jù)指定平面存儲(chǔ)器中用于覆蓋運(yùn)動(dòng)圖像的窗口的位置、高度和寬度;以及所述控制數(shù)據(jù)指示所述圖形數(shù)據(jù)要位于所述窗口之內(nèi)。
4.一種用于再現(xiàn)數(shù)字流的再現(xiàn)裝置,所述數(shù)字流是通過復(fù)用視頻流和圖形流而生成的,所述再現(xiàn)裝置包括視頻解碼器,用于對所述視頻流進(jìn)行解碼,以生成運(yùn)動(dòng)圖像;以及圖形解碼器,用于對所述圖形流進(jìn)行解碼,以生成圖形;以及查找表單元,其中所述圖形流是多個(gè)數(shù)據(jù)包的序列,所述多個(gè)數(shù)據(jù)包包括含有圖形數(shù)據(jù)的數(shù)據(jù)包、含有調(diào)色板數(shù)據(jù)的數(shù)據(jù)包和含有控制數(shù)據(jù)的數(shù)據(jù)包;所述圖形數(shù)據(jù)是用多個(gè)代碼值表示顯示內(nèi)容的數(shù)據(jù);所述調(diào)色板數(shù)據(jù)表示每個(gè)代碼值和像素值之間的對應(yīng)關(guān)系;所述控制數(shù)據(jù)包括表示所述調(diào)色板數(shù)據(jù)的參考值;讀取所述圖形流中的控制數(shù)據(jù)之后,所述圖形解碼器便基于所述控制數(shù)據(jù),將已經(jīng)通過對所述圖形流中位于所述控制數(shù)據(jù)之前的圖形數(shù)據(jù)進(jìn)行解碼而生成的圖形進(jìn)行顯示;以及所述圖形解碼器基于所述控制數(shù)據(jù)中的所述參考值,通過將所述調(diào)色板數(shù)據(jù)設(shè)置到所述查找表單元中并指示所述查找表單元執(zhí)行顏色轉(zhuǎn)換,從而顯示所述圖形。
5.如權(quán)利要求4所述的再現(xiàn)裝置,其中所述圖形流包括多個(gè)顯示集合,所述多個(gè)顯示集合都用于產(chǎn)生圖形顯示;以及讀取所述圖形數(shù)據(jù)所屬的顯示集合之后,所述圖形解碼器便對所述圖形數(shù)據(jù)進(jìn)行解碼,以生成所述圖形,并將所生成的圖形存儲(chǔ)到對象緩沖器中。
6.如權(quán)利要求5所述的再現(xiàn)裝置,其中所述多個(gè)顯示集合包括時(shí)元開始顯示集合,后者包括所述圖形數(shù)據(jù)、所述調(diào)色板數(shù)據(jù)和窗口定義數(shù)據(jù),所述窗口定義數(shù)據(jù)用于定義呈現(xiàn)所述圖形數(shù)據(jù)的區(qū)域;所述窗口定義數(shù)據(jù)指定平面存儲(chǔ)器中的窗口的位置、高度和寬度;以及所述圖形解碼器通過清除所述窗口定義數(shù)據(jù)指定的所述窗口并將所述圖形寫入所述窗口,來顯示所述圖形。
7.一種向記錄介質(zhì)上進(jìn)行記錄的方法,包括下列步驟生成應(yīng)用數(shù)據(jù);以及將所述應(yīng)用數(shù)據(jù)記錄到所述記錄介質(zhì)上;其中所述應(yīng)用數(shù)據(jù)包括通過復(fù)用視頻流和圖形流而生成的數(shù)字流;所述圖形流是多個(gè)數(shù)據(jù)包的序列,所述多個(gè)數(shù)據(jù)包包括含有圖形數(shù)據(jù)的數(shù)據(jù)包、含有調(diào)色板數(shù)據(jù)的數(shù)據(jù)包和含有控制數(shù)據(jù)的數(shù)據(jù)包;所述圖形數(shù)據(jù)是用多個(gè)代碼值表示顯示內(nèi)容的數(shù)據(jù);所述調(diào)色板數(shù)據(jù)表示每個(gè)代碼值和像素值之間的對應(yīng)關(guān)系;以及所述控制數(shù)據(jù)是指示在預(yù)定時(shí)間將所述序列中先前數(shù)據(jù)包中包含的所述圖形數(shù)據(jù)的顯示顏色進(jìn)行顏色轉(zhuǎn)換的信息,并包括表示所述顏色轉(zhuǎn)換要使用的所述調(diào)色板數(shù)據(jù)的參考值。
8.一種在計(jì)算機(jī)中使用的計(jì)算機(jī)可讀程序,用于再現(xiàn)數(shù)字流,所述數(shù)字流是通過復(fù)用視頻流和圖形流而生成的,所述計(jì)算機(jī)可讀程序包括視頻流解碼程序代碼,用于使所述計(jì)算機(jī)對所述視頻流進(jìn)行解碼,以生成運(yùn)動(dòng)圖像;以及圖形流解碼程序代碼,用于使所述計(jì)算機(jī)對所述圖形流進(jìn)行解碼,以生成圖形;其中所述圖形流是多個(gè)數(shù)據(jù)包的序列,所述多個(gè)數(shù)據(jù)包包括含有圖形數(shù)據(jù)的數(shù)據(jù)包、含有調(diào)色板數(shù)據(jù)的數(shù)據(jù)包和含有控制數(shù)據(jù)的數(shù)據(jù)包;所述圖形數(shù)據(jù)是用多個(gè)代碼值表示顯示內(nèi)容的數(shù)據(jù);所述調(diào)色板數(shù)據(jù)表示每個(gè)代碼值和像素值之間的對應(yīng)關(guān)系;所述控制數(shù)據(jù)包括表示所述調(diào)色板數(shù)據(jù)的參考值;讀取所述圖形流中的控制數(shù)據(jù)之后,用于使所述計(jì)算機(jī)對所述圖形流進(jìn)行解碼的程序代碼便基于所述控制數(shù)據(jù),將已經(jīng)通過對所述圖形流中位于所述控制數(shù)據(jù)之前的圖形數(shù)據(jù)進(jìn)行解碼而生成的圖形進(jìn)行顯示;以及所述顯示是通過使用與所述控制數(shù)據(jù)中的所述參考值相對應(yīng)的所述調(diào)色板數(shù)據(jù)進(jìn)行顏色轉(zhuǎn)換來執(zhí)行的。
9.一種用于再現(xiàn)數(shù)字流的方法,所述數(shù)字流是通過復(fù)用視頻流和圖形流而生成的,所述方法包括下列步驟對所述視頻流進(jìn)行解碼,以生成運(yùn)動(dòng)圖像;以及對所述圖形流進(jìn)行解碼,以生成圖形;其中所述圖形流是多個(gè)數(shù)據(jù)包的序列,所述多個(gè)數(shù)據(jù)包包括含有圖形數(shù)據(jù)的數(shù)據(jù)包、含有調(diào)色板數(shù)據(jù)的數(shù)據(jù)包和含有控制數(shù)據(jù)的數(shù)據(jù)包;所述圖形數(shù)據(jù)是用多個(gè)代碼值表示顯示內(nèi)容的數(shù)據(jù);所述調(diào)色板數(shù)據(jù)表示每個(gè)代碼值和像素值之間的對應(yīng)關(guān)系;所述控制數(shù)據(jù)包括表示所述調(diào)色板數(shù)據(jù)的參考值;讀取所述圖形流中的控制數(shù)據(jù)之后,對所述圖形流進(jìn)行解碼的步驟便基于所述控制數(shù)據(jù),將已經(jīng)通過對所述圖形流中位于所述控制數(shù)據(jù)之前的圖形數(shù)據(jù)進(jìn)行解碼而生成的圖形進(jìn)行顯示;以及所述顯示是通過使用與所述控制數(shù)據(jù)中的所述參考值相對應(yīng)的所述調(diào)色板數(shù)據(jù)進(jìn)行顏色轉(zhuǎn)換來執(zhí)行的。
全文摘要
BD-ROM上記錄了AV剪輯記錄,所述AV剪輯是通過復(fù)用視頻流和圖形流而獲得的。所述圖形流是PES數(shù)據(jù)包的序列。所述PES數(shù)據(jù)包可以是包含圖形數(shù)據(jù)的ODS(對象定義段),也可以是包含控制信息的PCS(呈現(xiàn)控制段)。PCS表示在預(yù)定時(shí)機(jī),將位于該P(yáng)CS之前的ODS中包含的圖形數(shù)據(jù)與運(yùn)動(dòng)圖像流進(jìn)行組合并顯示。PCS和ODS屬于不同的顯示集合。ODS可以是未被相同顯示集合中的PCS引用的無引用圖形數(shù)據(jù)。
文檔編號(hào)G11B27/34GK101005630SQ20061017004
公開日2007年7月25日 申請日期2004年6月29日 優(yōu)先權(quán)日2003年6月30日
發(fā)明者矢羽田洋, 約瑟夫·麥克羅森, 岡田智之, 池田航 申請人:松下電器產(chǎn)業(yè)株式會(huì)社