欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

播放數(shù)字內(nèi)容的裝置和方法

文檔序號(hào):6540534閱讀:239來源:國知局
專利名稱:播放數(shù)字內(nèi)容的裝置和方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)字內(nèi)容播放裝置、數(shù)字內(nèi)容播放方法,用于基于規(guī)定了允許播放操作的細(xì)節(jié)的許可證信息播放數(shù)字內(nèi)容。
背景技術(shù)
近年來,開發(fā)了用于提供保護(hù)數(shù)字成果版權(quán)的技術(shù)的眾多DRM(數(shù)字權(quán)限管理)。尤其,為了使版權(quán)得到有利于內(nèi)容提供商的強(qiáng)有力保護(hù),開發(fā)了DVD形式的電影和音樂的商用數(shù)字內(nèi)容。
在強(qiáng)烈要求防止數(shù)字內(nèi)容復(fù)制的情況下,這些保護(hù)版權(quán)的技術(shù)的功能要具有非常嚴(yán)密和難以處理的機(jī)制,并且與模擬內(nèi)容相比更多地限制了用戶的自由。
版權(quán)法制定了稱為公平使用的條款,因此,私人使用時(shí)無需版權(quán)擁有者的允許就可以通過復(fù)制或引用來使用其成果。然而,至于數(shù)字成果,為了防止進(jìn)行如上所述的復(fù)制,卻限制了用戶的自由,因此,禁止私人使用時(shí)的復(fù)制或引用。鑒于此,公平使用數(shù)字成果的需求不斷增長。
另一方面,非商用內(nèi)容(比如商業(yè)文件、產(chǎn)品目錄、個(gè)人家用頁面、電子信函等日常再使用其次再進(jìn)行處理的內(nèi)容)的版權(quán)保護(hù)普遍不太注意,因此,這些內(nèi)容也得安全分發(fā)。
在這種情形下,按照針對(duì)各種形式數(shù)字內(nèi)容的分發(fā)和管理的國際標(biāo)準(zhǔn)(比如ISO/IEC21000(MPEG21))來執(zhí)行這些活動(dòng)。關(guān)于MPEG21,一種用于表達(dá)由眾多內(nèi)容的組合和結(jié)合而成的復(fù)合內(nèi)容的數(shù)字項(xiàng)目說明語言(DIDL)已被標(biāo)準(zhǔn)化,據(jù)此,有可能處理含有作為組成成分的眾多內(nèi)容的復(fù)合內(nèi)容。此外,一種進(jìn)行可能靈活的許可證描述的權(quán)限表達(dá)語言(REL)也已被標(biāo)準(zhǔn)化,并且美國專利申請(qǐng)出版號(hào)US2003/0125976已提出了一種用REL描述許可證的支持方法。
在公布號(hào)為2002-203119的日本專利申請(qǐng)中,提出了一種用于合成CM圖像和視頻內(nèi)容并利用內(nèi)容用戶的信息(比如年齡、性別、分發(fā)歷史和購買歷史等)來播放復(fù)合內(nèi)容的技術(shù)。
然而,當(dāng)想要分發(fā)和再使用復(fù)合內(nèi)容時(shí),需要假定,構(gòu)成特定復(fù)合內(nèi)容的成分作為單獨(dú)的內(nèi)容來分發(fā)和再使用,或與其他不同的播放內(nèi)容進(jìn)行合成。在這種情況下,由于單獨(dú)使用組成成分,很有可能丟失包括總體上的位置或與其他組成成分的關(guān)系的前后關(guān)系信息。因此,作者的原始意圖可能被表達(dá)錯(cuò)或作為無意義信息被發(fā)送。
可以考慮,可通過使這些組成成分成為不可分割的整體來避免這一不便之處。然而,每一組成成分本身都可能是一個(gè)完整的成果而未必需要其他組成成分。從可容易再使用的數(shù)字內(nèi)容的分發(fā)角度來看,使這些組成成分成為不可分割的整體的過程將增加編輯和版權(quán)處理的費(fèi)用,并且還會(huì)影響到內(nèi)容的聲音再分發(fā)。
MPEG21/DIDL具有這樣一種機(jī)制在選擇所要播放的組成成分的同時(shí)表達(dá)復(fù)合內(nèi)容的結(jié)構(gòu)信息,并在播放時(shí)排除其他組成成分。當(dāng)組成成分分開分發(fā)時(shí),不可能恢復(fù)原始結(jié)構(gòu)。根據(jù)使用MPEG21/REL的美國專利申請(qǐng)出版號(hào)US2003/0125976的技術(shù),可以為復(fù)合內(nèi)容的每一組成成分設(shè)置使用許可證,但含有內(nèi)容之間的相互關(guān)系的許可證描述是不可能的。
在公布號(hào)為2002-203119的專利申請(qǐng)所述的技術(shù)中,單獨(dú)根據(jù)用戶信息來合成內(nèi)容。這并不是一種保護(hù)作者意圖的機(jī)制,因此,一旦內(nèi)容再次被分解并且組成成分被分發(fā),就不可能恢復(fù)原始結(jié)構(gòu)。

發(fā)明內(nèi)容
本發(fā)明的目的在于,至少解決常規(guī)技術(shù)中的那些問題。
根據(jù)本發(fā)明的一個(gè)方面,一種用于播放具有規(guī)定了允許播放操作的細(xì)節(jié)的許可證信息的數(shù)字內(nèi)容的裝置包括許可證處理器,它從數(shù)字內(nèi)容的許可證信息中獲取一種規(guī)定該數(shù)字內(nèi)容與其他數(shù)字內(nèi)容之間的播放條件的約束;操作執(zhí)行命令發(fā)生器,它根據(jù)許可證處理器所獲取的約束產(chǎn)生一種用于播放數(shù)字內(nèi)容的操作執(zhí)行命令;和內(nèi)容播放器,它根據(jù)操作執(zhí)行命令發(fā)生器所產(chǎn)生的操作執(zhí)行命令播放數(shù)字內(nèi)容。
根據(jù)本發(fā)明的另一個(gè)方面,一種用于播放具有規(guī)定了允許播放操作的細(xì)節(jié)的許可證信息的數(shù)字內(nèi)容的方法包括從數(shù)字內(nèi)容的許可證信息中獲取一種規(guī)定該數(shù)字內(nèi)容與其他數(shù)字內(nèi)容之間的播放條件的約束;根據(jù)該約束產(chǎn)生一種用于播放數(shù)字內(nèi)容的操作執(zhí)行命令;和根據(jù)操作執(zhí)行命令播放數(shù)字內(nèi)容。
根據(jù)本發(fā)明的又一個(gè)方面,計(jì)算機(jī)程序產(chǎn)品可使計(jì)算機(jī)執(zhí)行根據(jù)本發(fā)明的方法。
在本發(fā)明的以下詳述中,結(jié)合附圖詳細(xì)闡述了本發(fā)明的其他目的、特征和優(yōu)點(diǎn),或從中可以看出本發(fā)明的其他目的、特征和優(yōu)點(diǎn)。


圖1是描述根據(jù)一種實(shí)施例的數(shù)字內(nèi)容播放裝置的配置的框圖;圖2是說明復(fù)合內(nèi)容的分發(fā)圖像的圖解;圖3A是說明約束操作的描述模型的圖解;圖3B是說明互補(bǔ)約束的描述模型的圖解;圖3C是說明互斥約束的描述模型的圖解;圖4A是說明播放具有約束的復(fù)合內(nèi)容的圖像的一個(gè)例子的示意圖;圖4B是說明播放具有約束的復(fù)合內(nèi)容的圖像的一個(gè)例子的示意圖;圖4C是說明播放具有約束的復(fù)合內(nèi)容的圖像的一個(gè)例子的示意圖;圖5A是說明以MPEG21形式描述的內(nèi)容數(shù)據(jù)的一個(gè)例子的示意圖;圖5B是說明以MPEG21形式描述的內(nèi)容數(shù)據(jù)的一個(gè)例子的示意圖;圖5C是說明以MPEG21形式描述的內(nèi)容數(shù)據(jù)的一個(gè)例子的示意圖;圖6A是說明以XML形式描述的許可證數(shù)據(jù)的一個(gè)例子的示意圖;圖6B是說明以XML形式描述的許可證數(shù)據(jù)的一個(gè)例子的示意圖;圖6C是說明以XML形式描述的許可證數(shù)據(jù)的一個(gè)例子的示意圖;圖7是說明約束關(guān)系字典的一個(gè)例子的圖解;圖8是說明操作表的一個(gè)例子的圖解;圖9是說明時(shí)間約束表(TCT)的一個(gè)例子的圖解;圖10是說明空間約束表(SCT)的一個(gè)例子的圖解;圖11是說明命令語句數(shù)據(jù)的一個(gè)例子的圖解;圖12是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的內(nèi)容播放過程的流程圖;圖13是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的許可證處理過程的流程圖;圖14是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的執(zhí)行命令產(chǎn)生過程的流程圖;圖15是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的互斥約束檢查過程的流程圖;圖16是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的時(shí)間約束表(TCT)產(chǎn)生過程的流程圖;圖17是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的空間約束表(SCT)產(chǎn)生過程的流程圖;圖18是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的條件表合并過程的概況的流程圖;圖19A是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的條件表合并過程的流程圖;圖19B是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的條件表合并過程的流程圖;圖20是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的執(zhí)行序列產(chǎn)生過程的概況的流程圖;圖21是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的執(zhí)行序列產(chǎn)生過程的概況的流程圖;圖22是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的命令語句產(chǎn)生過程的流程圖;圖23是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的內(nèi)容播放過程的流程圖;圖24是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的內(nèi)容播放的一個(gè)例子的示意圖;圖25是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的內(nèi)容播放的一個(gè)例子的示意圖;圖26是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的內(nèi)容播放的一個(gè)例子的示意圖;圖27是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的內(nèi)容播放的一個(gè)例子的示意圖;和圖28是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置中的基于結(jié)構(gòu)約束的內(nèi)容播放的一個(gè)例子的示意圖。
具體實(shí)施例參照附圖,以下詳述了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的一種數(shù)字內(nèi)容播放裝置、數(shù)字內(nèi)容播放方法、數(shù)字內(nèi)容播放程序和用于記錄數(shù)字內(nèi)容播放程序的記錄媒體。
根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置可以獲取內(nèi)容的許可證信息中所述的約束,并以這種滿足所獲取約束的方式來播放數(shù)字內(nèi)容。
圖1是描述根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置100的配置的框圖。如圖1中所示,數(shù)字內(nèi)容播放裝置100包括內(nèi)容存儲(chǔ)控制器101、內(nèi)容指定接收器102、許可證處理器103、使用條件判定單元104、內(nèi)容播放器105、操作執(zhí)行命令發(fā)生器106、播放歷史數(shù)據(jù)存儲(chǔ)單元107和用戶I/F(接口)108。此外,根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置100在硬盤驅(qū)動(dòng)器(HDD)中還具有約束關(guān)系字典109。此外,數(shù)字內(nèi)容播放裝置100在RAM(隨機(jī)存取存儲(chǔ)器)110中還具有操作表111、時(shí)間約束表(TCT)112、空間約束表(SCT)113、命令語句數(shù)據(jù)114和播放歷史數(shù)據(jù)115。
在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置100中,在讀取內(nèi)容120和該內(nèi)容的許可證信息121的內(nèi)容存儲(chǔ)控制器101、從所讀取內(nèi)容中接收用戶指定播放的內(nèi)容的內(nèi)容指定接收器102、從已接收到播放指定的內(nèi)容120的許可證信息121中獲取使用條件和約束并產(chǎn)生操作執(zhí)行命令并根據(jù)使用條件和約束播放該內(nèi)容的許可證處理器103、使用條件判定單元104、內(nèi)容播放器105、操作執(zhí)行命令發(fā)生器106以及播放歷史數(shù)據(jù)存儲(chǔ)單元107之間,保證了操作互鎖關(guān)系。內(nèi)容的許可證信息121的詳細(xì)結(jié)構(gòu)稍后進(jìn)行詳述。
內(nèi)容存儲(chǔ)控制器101通過用戶I/F 108讀取用戶指定的內(nèi)容120和該內(nèi)容的許可證信息121,并將它們存儲(chǔ)在數(shù)字內(nèi)容播放裝置100中的諸如RAM 110的存儲(chǔ)單元中。
內(nèi)容指定接收器102將內(nèi)容存儲(chǔ)控制器101中所存儲(chǔ)的內(nèi)容條目顯示在用戶I/F 108上,并從所顯示內(nèi)容中接收用戶指定的內(nèi)容。
許可證處理器103從與內(nèi)容指定接收器102所接收到的內(nèi)容ID相應(yīng)的內(nèi)容的許可證信息121中獲取使用條件和約束,確定約束并判斷播放使用條件是否滿足,和準(zhǔn)備操作表111。內(nèi)容ID被定義為用于唯一識(shí)別內(nèi)容的信息。操作表111的詳細(xì)結(jié)構(gòu)稍后進(jìn)行說明。
使用條件判定單元104根據(jù)內(nèi)容的許可證信息121中所描述的使用條件判斷是否可以播放該內(nèi)容。
操作執(zhí)行命令發(fā)生器106接收許可證處理器103所準(zhǔn)備的操作表111,并且,當(dāng)訪問了關(guān)于播放歷史數(shù)據(jù)115中所存儲(chǔ)的正被播放的內(nèi)容的信息以及約束關(guān)系字典109中所保存的約束之間的關(guān)系時(shí),產(chǎn)生滿足所接收操作表111中所存儲(chǔ)的約束的操作執(zhí)行命令。
播放歷史數(shù)據(jù)存儲(chǔ)單元107保存了播放歷史數(shù)據(jù)115。播放歷史數(shù)據(jù)115具有正被播放的內(nèi)容的內(nèi)容ID。
內(nèi)容播放器105根據(jù)操作執(zhí)行命令發(fā)生器106所產(chǎn)生的操作執(zhí)行命令從內(nèi)容存儲(chǔ)控制器101在其中存儲(chǔ)了內(nèi)容的存儲(chǔ)單元中讀取所需內(nèi)容,并播放所讀取的內(nèi)容。
用戶I/F 108(包括諸如顯示器的顯示單元和諸如鍵盤或鼠標(biāo)的輸入設(shè)備)顯示用于選擇內(nèi)容的屏幕或用于播放內(nèi)容的屏幕(未示出),同時(shí)接收這些屏幕中的輸入操作。
約束關(guān)系字典109是一種存儲(chǔ)約束之間的關(guān)系的數(shù)據(jù)文件,并且含有與給定約束相反的約束的規(guī)定,作為這些約束之間的關(guān)系。約束關(guān)系字典109的詳細(xì)結(jié)構(gòu)稍后進(jìn)行描述。
RAM 110是一種能進(jìn)行隨機(jī)存取的存儲(chǔ)器,并可以作為存儲(chǔ)操作表111、TCT 112、SCT 113、命令語句數(shù)據(jù)114和播放歷史數(shù)據(jù)115的存儲(chǔ)單元。
操作表111存儲(chǔ)了播放構(gòu)成復(fù)合內(nèi)容的組成成分的每一內(nèi)容所允許的操作以及可能存在的約束的類型。操作表111的詳細(xì)結(jié)構(gòu)稍后進(jìn)行描述。
TCT 112一方面存儲(chǔ)從操作表111中提取出的作為一種約束的時(shí)間約束的結(jié)果,另一方面還存儲(chǔ)將所存儲(chǔ)時(shí)間約束與作為另一種約束的空間約束合并的結(jié)果。TCT 112還用于存儲(chǔ)從合并約束中所產(chǎn)生的執(zhí)行序列。時(shí)間約束和空間約束的細(xì)節(jié)以及TCT 112的詳細(xì)結(jié)構(gòu)稍后進(jìn)行描述。
SCT 113存儲(chǔ)從操作表111中提取出的作為一種約束的空間約束的結(jié)果。空間約束的細(xì)節(jié)以及SCT 113的詳細(xì)結(jié)構(gòu)稍后進(jìn)行描述。
命令語句數(shù)據(jù)114存儲(chǔ)用于執(zhí)行內(nèi)容播放的命令語句,其文本通過變換TCT 112中所存儲(chǔ)的執(zhí)行序列來產(chǎn)生。命令語句數(shù)據(jù)的詳細(xì)結(jié)構(gòu)稍后進(jìn)行描述。
圖2是說明這樣一種方式的示意圖構(gòu)成復(fù)合內(nèi)容的成分單獨(dú)作為單元來分發(fā)和再使用。在圖2所示的情況下,內(nèi)容A被分解成包括內(nèi)容A1-A4的組成成分。在這些內(nèi)容中,內(nèi)容A1-A3與另一內(nèi)容B1合成以產(chǎn)生內(nèi)容B。此外,構(gòu)成內(nèi)容B的組成成分的內(nèi)容A2、A3、B1和構(gòu)成內(nèi)容A的組成成分的內(nèi)容A4被再使用,并與另一內(nèi)容C1合成以產(chǎn)生內(nèi)容C。
當(dāng)在圖2所示的情況下在構(gòu)成內(nèi)容A的組成成分的內(nèi)容A1與A4之間規(guī)定了包括從總體來看內(nèi)容A的位置和與其他組成成分的關(guān)系的前后關(guān)系信息時(shí),根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置100可以播放內(nèi)容B和C,同時(shí)保護(hù)特定的前后關(guān)系信息。
在圖3A中,以XML圖解的形式表達(dá)了約束的規(guī)定。根據(jù)本實(shí)施例,約束311基于MPEG21的REL,并以MPEG21的REL的擴(kuò)展的形式來規(guī)定。具體地說,如圖3A中所示,允許操作“playWithConstrain”在MPEG21的REL中被定義為“Right”(允許操作)要素的擴(kuò)展,以指定包括互補(bǔ)約束312和互斥約束313在內(nèi)的兩種約束之一或這兩者。這樣,擴(kuò)展后將約束附到MPEG21的REL中的允許操作(“Right”)的允許操作與根據(jù)本發(fā)明的約束相應(yīng)。
互補(bǔ)和互斥通常不是交互式地而只是單向建立的。當(dāng)約束被交互指定時(shí),互補(bǔ)約束或互斥約束需要相互規(guī)定。
在本實(shí)施例中,在XML形式來表示約束。然而,此外還可以以表格格式、關(guān)系數(shù)據(jù)庫或語義網(wǎng)絡(luò)來表達(dá)約束。
圖3B說明了圖3A中的互補(bǔ)約束312的XML圖解的形式的規(guī)定。當(dāng)播放從屬于約束的主內(nèi)容時(shí),互補(bǔ)約束在強(qiáng)行恢復(fù)主內(nèi)容的同時(shí)還要強(qiáng)行恢復(fù)從屬于該約束的約束內(nèi)容?;パa(bǔ)約束321用成對(duì)的約束內(nèi)容322和約束類型來表達(dá)。約束類型指定時(shí)間約束類型323和空間約束類型324之一或這兩者,或者指定時(shí)間約束類型323和結(jié)構(gòu)約束類型325之一或這兩者。
具體地說,盡管可以同時(shí)指定時(shí)間約束類型323及其他約束,然而,無法同時(shí)指定空間約束類型324和結(jié)構(gòu)約束類型325。根據(jù)本實(shí)施例,說明空間約束的指定。然而,此外,當(dāng)指定了結(jié)構(gòu)約束時(shí),可通過與指定空間約束時(shí)相同的過程以這種滿足約束的方式來播放數(shù)字內(nèi)容。
至于時(shí)間約束類型323,有下列類型之一(1)“synchronous”(同步播放主內(nèi)容和約束內(nèi)容);(2)“after”(在約束內(nèi)容之后播放主內(nèi)容);和(3)“before”(在約束內(nèi)容之前播放主內(nèi)容)。
另一方面,至于空間約束類型324,可以指定下列類型之一(1)“above”(在約束內(nèi)容的上面安排主內(nèi)容);(2)“below”(在約束內(nèi)容的下面安排主內(nèi)容);(3)“rightSide”(在約束內(nèi)容的右面安排主內(nèi)容);(4)“l(fā)eftSide”(在約束內(nèi)容的左面安排主內(nèi)容);(5)“backward”(在約束內(nèi)容的后面安排主內(nèi)容);(6)“forward”(在約束內(nèi)容的前面安排主內(nèi)容);(7)“anywhere”(在任何地方安排主內(nèi)容);和(8)“predefined stylesheet”(根據(jù)含有安排描述的數(shù)據(jù)安排主內(nèi)容)。
至于結(jié)構(gòu)約束類型325,可以指定下列任一類型(1)“isContained”(約束內(nèi)容作為主內(nèi)容的成分);和(2)“isPartOf”(主內(nèi)容作為約束內(nèi)容的成分)。
約束類型并不局限于上述這些類型,而還可以進(jìn)一步擴(kuò)展。有些內(nèi)容類型構(gòu)成時(shí)不能規(guī)定具體的約束類型。例如當(dāng)互相約束的內(nèi)容仍然都是圖像時(shí),時(shí)間概念將不適用,因此,可以采用不能設(shè)置時(shí)間約束類型的配置。另一方面,同樣,當(dāng)互相約束的內(nèi)容都是音頻內(nèi)容時(shí),空間概念將不適用,因此,可以采用不能設(shè)置空間約束類型的配置。在這種情況下,可以根據(jù)內(nèi)容的特性可被限制來設(shè)置諸如MimeType的約束類型。
圖3C說明了以XML圖解的形式表達(dá)圖3A中的互斥約束313的規(guī)定。當(dāng)播放主內(nèi)容時(shí),互斥約束禁止約束內(nèi)容的存在。互斥約束331用成對(duì)的約束內(nèi)容332和約束類型來表達(dá)。可以將互斥約束類型333(“exclusive”)指定為約束類型。
圖4A-4C是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置100中播放具有指定約束的復(fù)合內(nèi)容的組成成分的例子的示意圖。在圖4A-4C中,從內(nèi)容B到內(nèi)容A規(guī)定互補(bǔ)約束,而在內(nèi)容B與C之間規(guī)定互斥約束。
圖4A說明了當(dāng)在上述約束下指定只有內(nèi)容A的播放時(shí)只播放內(nèi)容A。圖4B說明了當(dāng)在互補(bǔ)約束下指定只有內(nèi)容B的播放時(shí)根據(jù)該互補(bǔ)約束強(qiáng)行恢復(fù)內(nèi)容A并在播放內(nèi)容B的同時(shí)播放內(nèi)容A。圖4C說明了在已經(jīng)播放內(nèi)容C的情況下當(dāng)在互斥約束下指定內(nèi)容B的播放時(shí)因該互斥約束而拒絕播放內(nèi)容B。
圖5A說明了以MPEG21的DIDL所說明的XML的形式來描述圖4A-4C中所示的內(nèi)容A的數(shù)據(jù)的規(guī)定的一個(gè)例子。在內(nèi)容A的數(shù)據(jù)511中所含的許可證信息描述區(qū)512中,描述了內(nèi)容A的許可證信息121。
圖5B說明了以MPEG21的DIDL所說明的XML的形式來描述圖4A-4C中所示的內(nèi)容B的數(shù)據(jù)的規(guī)定的一個(gè)例子。在內(nèi)容B的數(shù)據(jù)521中所含的許可證信息描述區(qū)522中,描述了內(nèi)容B的許可證信息121。
圖5C說明了以MPEG21的DIDL所說明的XML的形式來描述圖4A-4C中所示的內(nèi)容C的數(shù)據(jù)的規(guī)定的一個(gè)例子。在內(nèi)容C的數(shù)據(jù)531中所含的許可證信息描述區(qū)532中,描述了內(nèi)容C的許可證信息121。
圖6A-6C說明了以基于MPEG21的REL所說明的形式的約束的描述所擴(kuò)展的形式來描述圖1中的內(nèi)容的許可證信息121的數(shù)據(jù)結(jié)構(gòu)的例子。所有準(zhǔn)許的描述(611,621,631)規(guī)定了具有基于MPEG21的REL的使用權(quán)、允許操作(“Right”)和使用條件的當(dāng)事人的每一要素。
圖6A中的許可證信息611說明了圖5A中所示的許可證信息描述區(qū)512的詳細(xì)描述。許可證信息611沒有專門的約束描述,但有正常播放的允許操作612(“play”).
圖6B中的許可證信息621說明了圖5B中所示的許可證信息描述區(qū)522的詳細(xì)描述。許可證信息622包括作為內(nèi)容之間的約束的兩個(gè)約束(623,624)的描述,這些約束代表MPEG21的當(dāng)前REL的擴(kuò)展。約束623包括兩個(gè)互補(bǔ)約束,即時(shí)間約束(“synchronous”)和空間約束(“backward”)。另一方面,約束624包括互斥約束(“exclusive”)的描述。
圖6C中的許可證信息631說明了圖5C中所示的許可證信息描述區(qū)532的詳細(xì)描述。允許操作632包括內(nèi)容之間的互斥約束633(“exclusive”)的描述,并代表MPEG21的當(dāng)前REL的擴(kuò)展。
圖7是說明約束關(guān)系字典109的結(jié)構(gòu)的一個(gè)例子的圖解。如圖7中的例子所示,約束關(guān)系字典109存儲(chǔ)了與約定操作相反的操作。例如,作為表示在上面安排主內(nèi)容的操作的“above”的反操作,存儲(chǔ)了在下面安排主內(nèi)容的“below”。根據(jù)約束關(guān)系字典109中所存儲(chǔ)的約束之間的關(guān)系,可以找到兩個(gè)內(nèi)容之間所指定的實(shí)質(zhì)上相同的約束,并可以排除雙重操作。
圖8是說明操作表111的結(jié)構(gòu)的一個(gè)例子的圖解。如圖8中的例子所示,操作表111存儲(chǔ)了允許操作(“Right”)、主內(nèi)容的內(nèi)容ID(ID1)、約束內(nèi)容的內(nèi)容ID(ID2)、約束類型(“Op-Type”)和表示是否在播放主內(nèi)容的標(biāo)志(“ExistenceCheck”)。
允許操作指定了當(dāng)使用內(nèi)容時(shí)所允許的操作,并以MPEG21的REL形式來存儲(chǔ)“Right”(允許操作)要素的細(xì)節(jié)。在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置100中,根據(jù)MPEG21的REL的標(biāo)準(zhǔn)所規(guī)定的“rendering”或通過擴(kuò)展MPEG21的REL所規(guī)定的“playWithConstraint”被設(shè)置為允許操作。
只有當(dāng)“playWithConstraint”(擴(kuò)展為具有約束的允許操作)被設(shè)置為允許操作時(shí),才設(shè)置約束內(nèi)容的內(nèi)容ID和約束類型。在其他情況下,則設(shè)置“nil”。約束類型被設(shè)置為與諸如時(shí)間約束、空間約束或結(jié)構(gòu)約束的約束類型相應(yīng)的規(guī)定值。
表示是否在播放主內(nèi)容的標(biāo)志用于抑制正播放的內(nèi)容的操作執(zhí)行命令的產(chǎn)生的過程,并且當(dāng)在播放時(shí)被設(shè)置為“ture”,而未在播放時(shí)被設(shè)置為“false”。
圖9是說明時(shí)間約束表(TCT)112的結(jié)構(gòu)的一個(gè)例子的圖解。TCT112存儲(chǔ)了內(nèi)容播放的時(shí)間約束,其方式是將內(nèi)容ID按播放次序從左到右排列,或者,在同時(shí)播放的內(nèi)容的兩個(gè)內(nèi)容ID之后附上“&”。如圖9中所示,例如,假定內(nèi)容B在內(nèi)容A之前播放。在TCT 112中存儲(chǔ)數(shù)據(jù)“(B)(A)”。類似地,當(dāng)內(nèi)容D在內(nèi)容C之前播放時(shí),存儲(chǔ)數(shù)據(jù)“(D)(C)”,而當(dāng)內(nèi)容E與內(nèi)容F同時(shí)播放時(shí),在TCT 112中存儲(chǔ)數(shù)據(jù)“(EF&)”。
圖10是說明空間約束表(SCT)113的結(jié)構(gòu)的一個(gè)例子的圖解。如圖10中所示,SCT113存儲(chǔ)了當(dāng)在兩個(gè)內(nèi)容ID的兩個(gè)內(nèi)容之間指定了空間約束時(shí)描述兩個(gè)內(nèi)容ID之間的約束類型的數(shù)據(jù)。另一方面,當(dāng)沒有指定空間約束時(shí),存儲(chǔ)描述單獨(dú)內(nèi)容ID的數(shù)據(jù)。如圖10中所示,例如當(dāng)內(nèi)容A安排在內(nèi)容B下面播放時(shí),在SCT113中存儲(chǔ)數(shù)據(jù)“(Abelow B)”。類似地,當(dāng)內(nèi)容B安排在內(nèi)容C的右面播放時(shí),在SCT113中存儲(chǔ)數(shù)據(jù)“(B rightSide C)”。同樣,當(dāng)沒有為內(nèi)容D指定空間約束時(shí),在SCT 113中存儲(chǔ)數(shù)據(jù)“(D)”。
圖11是說明命令語句數(shù)據(jù)114的結(jié)構(gòu)的一個(gè)例子的圖解。命令語句數(shù)據(jù)114根據(jù)TCT112和SCT113互相合并后所產(chǎn)生的執(zhí)行序列,按播放次序存儲(chǔ)播放命令。具體地說,將所產(chǎn)生的執(zhí)行序列之前附有“Play”的文本作為命令語句來保存。例如當(dāng)執(zhí)行序列為“(C below Dbelow E)”時(shí),將數(shù)據(jù)“Play(C below D below E)”作為命令語句存儲(chǔ)在命令語句數(shù)據(jù)114中。
下面,將說明根據(jù)上述所構(gòu)成的實(shí)施例的數(shù)字內(nèi)容播放裝置100播放內(nèi)容的過程。圖12是說明根據(jù)本實(shí)施例的內(nèi)容播放過程的一般流程的流程圖。
內(nèi)容存儲(chǔ)控制器101讀取用戶指定播放的內(nèi)容120的內(nèi)容數(shù)據(jù)和內(nèi)容的許可證信息121(步驟S1201)。內(nèi)容120和內(nèi)容的許可證信息121可以合并在同一文件中或保存在不同的文件中。此外,內(nèi)容120還可以作為本地內(nèi)容從HDD等存儲(chǔ)媒體中讀取,或者可以通過網(wǎng)絡(luò)從外部服務(wù)器中下載。
內(nèi)容指定接收器102從構(gòu)成所讀取內(nèi)容的組成成分的內(nèi)容中選擇和接收用戶想播放的內(nèi)容(步驟S1202)。內(nèi)容指定接收器102將所接收內(nèi)容的內(nèi)容ID傳送到許可證處理器103(步驟S1203)。
許可證處理器103分析與所接收內(nèi)容ID相應(yīng)的內(nèi)容的許可證信息121,并通過判定使用條件或解答播放約束來處理該許可證,從而產(chǎn)生操作表111(步驟S1204)。許可證處理過程的細(xì)節(jié)稍后進(jìn)行說明。
許可證處理器103判斷所產(chǎn)生的操作表111是否是空的(步驟S1205)。如果操作表111是空的(在步驟S1205中為“是”),那么用戶I/F 108指示意思為內(nèi)容不能播放的消息(步驟S1206)。另一方面,如果操作表111不是空的(在步驟S1205中為“否”),那么操作執(zhí)行命令發(fā)生器106執(zhí)行操作執(zhí)行命令產(chǎn)生過程,用于產(chǎn)生滿足操作表111中所保存的約束的操作執(zhí)行命令(步驟S1207)。操作執(zhí)行命令產(chǎn)生過程的細(xì)節(jié)稍后進(jìn)行說明。
產(chǎn)生操作執(zhí)行命令后,操作執(zhí)行命令發(fā)生器106判斷命令語句數(shù)據(jù)114是否是空的(步驟S1208)。如果命令語句數(shù)據(jù)114是空的(在步驟S1208中為“是”),那么用戶I/F 108指示意思為內(nèi)容不能播放的消息(步驟S1206)。另一方面,如果命令語句數(shù)據(jù)114不是空的(在步驟S1208中為“否”),那么內(nèi)容播放器105根據(jù)所產(chǎn)生的操作執(zhí)行命令播放內(nèi)容(步驟S1209)。內(nèi)容播放過程的細(xì)節(jié)稍后進(jìn)行說明。
播放內(nèi)容后,用戶I/F 108判斷用戶是否選擇了播放結(jié)束(步驟S1210)。如果沒有選擇播放結(jié)束(在步驟S1210中為“否”),那么輸入內(nèi)容選擇等待模式。另一方面,如果選擇了播放結(jié)束(在步驟S1210中為“是”),那么結(jié)束內(nèi)容播放過程。
下面說明圖12的步驟S1204中所示的許可證處理過程的細(xì)節(jié)。圖13是說明許可證處理過程的一般流程的流程圖。許可證處理過程通過許可證處理器103和使用條件判定單元104的互鎖操作來循環(huán)執(zhí)行(步驟S1315)。
許可證處理器103從內(nèi)容指定接收器102中接收內(nèi)容ID(步驟S1301)。然后,針對(duì)構(gòu)成與所接收內(nèi)容ID相應(yīng)的內(nèi)容的組成成分的所有內(nèi)容執(zhí)行步驟S1302-S1310的過程。
許可證處理器103讀取構(gòu)成組成成分的內(nèi)容的許可證信息121(步驟S1302),并判斷是否存在播放允許信息(步驟S1303)。如果不存在播放允許信息(在步驟S1303中為“否”),那么判斷是否所有內(nèi)容都已處理。另一方面,如果存在播放允許信息(在步驟S1303中為“是”),那么獲取播放允許信息中所含的使用條件并將它傳送到使用條件判定單元104(步驟S1304)。
使用條件判定單元104根據(jù)所接收使用條件判斷內(nèi)容是否滿足使用條件,并將判定結(jié)果返回到許可證處理器103(步驟S1305)。使用條件包括諸如有效期、收費(fèi)方法、價(jià)格和覆蓋區(qū)域等條件的描述。使用條件在數(shù)字內(nèi)容播放裝置100中可以利用環(huán)境信息或者通過網(wǎng)絡(luò)利用外部ASP等來確定。此外,該過程還可以包括一個(gè)用于呈現(xiàn)使用條件和提示用戶同意的對(duì)話。
根據(jù)使用條件判定單元104所返回的判定結(jié)果,許可證處理器103判斷內(nèi)容是否滿足使用條件(步驟S1306)。如果使用條件不滿足(在步驟S1306中為“否”),那么過程進(jìn)至是否所有內(nèi)容都已處理的判斷。另一方面,如果使用條件滿足(在步驟S1306中為“是”),那么過程進(jìn)至是否存在約束的判斷(步驟S1307)。
如果不存在約束(在步驟S1307中為“否”),那么許可證處理器103將無約束的數(shù)據(jù)加到操作表111中(步驟S1308)。具體地說,將無約束的允許操作(“play”)設(shè)置為允許操作(“Right”),將正在處理的內(nèi)容的內(nèi)容ID設(shè)置為主內(nèi)容的內(nèi)容ID(ID1),將“Nil”設(shè)置為約束內(nèi)容的內(nèi)容ID(ID2)和約束類型(“Op-Type”),和將“false”設(shè)置為“ExistenceCheck”,然后,將它們作為數(shù)據(jù)加到操作表111中。
另一方面,如果存在約束(在步驟S1307中為“是”),那么許可證處理器103將含有約束的數(shù)據(jù)加到操作表111中(步驟S1309)。具體地說,將擴(kuò)展為具有約束的允許操作(“playWithConstrain”)設(shè)置為允許操作(“Right”),將正在處理的內(nèi)容的內(nèi)容ID設(shè)置為主內(nèi)容的內(nèi)容ID(ID1),將從屬于該約束的內(nèi)容的內(nèi)容ID設(shè)置為約束內(nèi)容的內(nèi)容ID(ID2),將從內(nèi)容的許可證信息121中獲取的約束類型設(shè)置為約束類型(“Op-Type”),和將“false”設(shè)置為“ExistenceCheck”,然后,將它們作為數(shù)據(jù)加到操作表111中。
將數(shù)據(jù)加到操作表111中之后,許可證處理器103判斷是否所有內(nèi)容都已處理(步驟S1310),如果所有內(nèi)容都已處理(在步驟S1310中為“是”),那么過程進(jìn)至下一步驟。另一方面,如果還沒有處理完所有內(nèi)容(在步驟S1310中為“否”),那么過程進(jìn)至讀取剩余組成成分的內(nèi)容的步驟(步驟S1302)。
許可證處理器103執(zhí)行步驟S1311-S1316的過程,以從互補(bǔ)約束內(nèi)容的許可證信息121中檢測約束,并提取出需要同時(shí)被恢復(fù)的內(nèi)容。
許可證處理器103從操作表111中獲取操作數(shù)據(jù)(步驟S1311),并判斷所獲取操作數(shù)據(jù)是否含有互斥約束(步驟S1312)。如果所獲取操作數(shù)據(jù)含有互斥約束(在步驟S1312中為“是”),那么不需要提取同時(shí)被恢復(fù)的內(nèi)容,因此,過程進(jìn)至下一步驟。
另一方面,如果所獲取操作數(shù)據(jù)不含互斥約束(在步驟S1312中為“否”),那么判斷操作表111中是否存在互補(bǔ)內(nèi)容的操作數(shù)據(jù)(步驟S1313)。例如,判斷是否存在具有與在處理的操作數(shù)據(jù)的ID1相同的ID2或與ID2相同的ID1的操作數(shù)據(jù),如果存在這種操作數(shù)據(jù)(在步驟S1313中為“是”),那么過程進(jìn)至下一步驟。這是為了避免提取約束時(shí)的無窮循環(huán)。如果不存在相應(yīng)的操作數(shù)據(jù)(在步驟S1313中為“否”),那么將互補(bǔ)約束內(nèi)容的內(nèi)容ID傳送到許可證處理器103(步驟S1314),并循環(huán)處理許可證以便進(jìn)一步檢測這些約束(步驟S1315)。
許可證處理器103判斷是否所有操作數(shù)據(jù)都已處理(步驟S1316),如果所有操作數(shù)據(jù)都已處理(在步驟S1316中為“是”),那么將操作表111傳送到操作執(zhí)行命令發(fā)生器106(步驟S1317),從而結(jié)束許可證處理過程。另一方面,如果還沒有處理完所有操作數(shù)據(jù)(在步驟S1316中為“否”),那么獲取下一操作數(shù)據(jù)并重復(fù)這一過程(步驟S1311)。
圖14是說明圖12的步驟S1207中所示的操作執(zhí)行命令產(chǎn)生過程的一般流程的概況的流程圖。
操作執(zhí)行命令發(fā)生器106接收許可證處理器103所準(zhǔn)備的操作表111(步驟S1401)。接著,操作執(zhí)行命令發(fā)生器106通過查閱播放歷史數(shù)據(jù)115和所接收操作表111的細(xì)節(jié)檢查是否在播放內(nèi)容(步驟S1402)。具體地說,如果操作表111中的操作數(shù)據(jù)的主內(nèi)容的任一內(nèi)容ID(ID1)等同于播放歷史數(shù)據(jù)115中所存儲(chǔ)的內(nèi)容ID,那么將特定操作數(shù)據(jù)的“ExistenceCheck”設(shè)置為“ture”。
如果有任一內(nèi)容ID,它在播放歷史數(shù)據(jù)115中但沒有在操作數(shù)據(jù)中,那么將與該特定內(nèi)容ID相應(yīng)的內(nèi)容的操作數(shù)據(jù)新加到數(shù)據(jù)表111中。在這種情況下,將“ExistenceCheck”設(shè)置為“ture”。當(dāng)互斥約束內(nèi)容播放時(shí),這一數(shù)據(jù)在禁止播放主內(nèi)容的過程中被訪問。
此后,操作執(zhí)行命令發(fā)生器106依次執(zhí)行下列步驟檢查互斥約束(步驟S1403);產(chǎn)生時(shí)間約束表(TCT)(步驟S1404);產(chǎn)生空間約束表(SCT)(步驟S1405);合并條件表(步驟S1406);產(chǎn)生執(zhí)行序列(步驟S1407);和產(chǎn)生命令語句(步驟S1408)。這些步驟的細(xì)節(jié)稍后進(jìn)行說明。
圖15是說明圖14中的步驟S1403的互斥約束檢查過程的一般流程的流程圖。
操作執(zhí)行命令發(fā)生器106從操作表111中讀取操作數(shù)據(jù)(步驟S1501),如果讀取的操作數(shù)據(jù)具有互斥約束,那么判斷是否在播放互斥約束內(nèi)容(步驟S1502)。如果在播放互斥約束內(nèi)容(在步驟S1502中為“是”),那么倒空操作表111(步驟S1503)。這是因?yàn)橛捎谠诓シ呕コ饧s束內(nèi)容,因此禁止播放指定播放的主內(nèi)容。
另一方面,如果沒有在播放互斥約束內(nèi)容(在步驟S1502中為“否”),那么判斷是否存在同時(shí)指定為互斥和互補(bǔ)的約束內(nèi)容(步驟S1504)。如果存在這種約束內(nèi)容(在步驟S1504中為“是”),那么倒空操作表111(步驟S1505)。這是為了禁止播放主內(nèi)容,因?yàn)閷⑼患s束內(nèi)容同時(shí)指定為互斥和互補(bǔ)是相矛盾的。
操作執(zhí)行命令發(fā)生器106判斷規(guī)定互斥約束的操作數(shù)據(jù)(其中沒有在播放的互斥約束內(nèi)容的內(nèi)容ID被指定為主內(nèi)容的內(nèi)容ID(ID1))是否存在(步驟S1506)。如果存在這種操作數(shù)據(jù)(在步驟S1506中為“是”),那么從操作表111中刪除該特定操作數(shù)據(jù)(步驟S1507)。這是因?yàn)闆]有在播放的約束內(nèi)容相對(duì)于主內(nèi)容而言是互斥的并且不需要被播放。
操作執(zhí)行命令發(fā)生器106判斷是否存在任何同時(shí)指定有互斥和互補(bǔ)約束的內(nèi)容(步驟S1508)。如果存在這種內(nèi)容(在步驟S1508中為“是”),那么刪除指定有互斥約束的操作數(shù)據(jù)(步驟S1510)。這是因?yàn)槿绻嬖诰哂谢パa(bǔ)約束的操作數(shù)據(jù),那么可以在稍后所述的操作執(zhí)行命令產(chǎn)生過程中產(chǎn)生播放主內(nèi)容的操作執(zhí)行命令,因此已通過互斥性檢查具有互斥約束的操作數(shù)據(jù)不再需要保存。
另一方面,如果不存在同時(shí)指定有互斥約束和互補(bǔ)約束的內(nèi)容(在步驟S1508中為“否”),那么將指定有互斥約束的操作數(shù)據(jù)重寫到無約束的操作數(shù)據(jù)中(步驟S1509)。具體地說,按下列方式重寫數(shù)據(jù)將無約束的允許操作(“play”)作為無約束的允許操作(“Right”),將特定內(nèi)容的內(nèi)容ID作為主內(nèi)容的內(nèi)容ID(ID1),將“Nil”作為約束內(nèi)容的內(nèi)容ID(ID2)和約束類型(“Op-Type”),和將“false”作為“ExistenceCheck”。這是因?yàn)闄z查互斥性的結(jié)果表明該特定內(nèi)容可以按與無約束的內(nèi)容相同的方式進(jìn)行播放。
操作執(zhí)行命令發(fā)生器106判斷是否所有操作數(shù)據(jù)都已處理(步驟S1511),如果還沒有處理完所有操作數(shù)據(jù)(在步驟S1515中為“否”),那么獲取下一操作數(shù)據(jù)并重復(fù)這一過程(步驟S1501)。另一方面,如果所有操作數(shù)據(jù)都已處理(在步驟S1511中為“是”),那么結(jié)束互斥約束檢查過程。
圖16是說明圖14中的步驟S1404的時(shí)間約束表(TCT)產(chǎn)生過程的一般流程的流程圖。
操作執(zhí)行命令發(fā)生器106從操作表111中讀取操作數(shù)據(jù)(步驟S1601),并判斷所讀取的操作數(shù)據(jù)的約束類型是否是“synchronous”(步驟S1602)。
如果所讀取的操作數(shù)據(jù)的約束類型是“synchronous”(在步驟S1602中為“是”),那么操作執(zhí)行命令發(fā)生器106將同時(shí)播放主內(nèi)容和受限內(nèi)容的條件的條目加到TCT 112中(步驟S1603)。具體地說,例如當(dāng)所讀取的操作數(shù)據(jù)指定了同時(shí)播放內(nèi)容A和內(nèi)容B的約束時(shí),將條目“(AB&)”加到TCT 112中。另一方面,如果所讀取的操作數(shù)據(jù)的約束類型不是“synchronous”(在步驟S1602中為“否”),那么判斷所讀取的操作數(shù)據(jù)的約束類型是否是“after”(步驟S1604)。
如果所讀取的操作數(shù)據(jù)的約束類型是“after”(在步驟S1604中為“是”),那么操作執(zhí)行命令發(fā)生器106將先播放受約束內(nèi)容的條件加到TCT 112中(步驟S1605)。具體地說,當(dāng)所讀取的操作數(shù)據(jù)指定了在先播放構(gòu)成受約束內(nèi)容的內(nèi)容B后播放構(gòu)成主內(nèi)容的內(nèi)容A的約束時(shí),將條目“(B)(A)”加到TCT 112中。這樣,就將左面描述先播放的內(nèi)容和右面描述然后播放的內(nèi)容的兩個(gè)條目加到TCT 112中。如果所讀取的操作數(shù)據(jù)的約束類型不是“after”(在步驟S1604中為“否”),那么判斷所讀取的操作表的約束類型是否是“before”(步驟S1606)。
如果所讀取的操作數(shù)據(jù)的約束類型是“before”(在步驟S1606中為“是”),那么操作執(zhí)行命令發(fā)生器106將稍后播放受約束內(nèi)容的條件的條目加到TCT 112中(步驟S1607)。具體地說,當(dāng)所讀取的操作數(shù)據(jù)指定了先播放構(gòu)成主內(nèi)容的內(nèi)容A后播放構(gòu)成受約束內(nèi)容的內(nèi)容B的約束時(shí),將條目“(A)(B)”加到TCT 112中。另一方面,如果所讀取的操作數(shù)據(jù)的約束類型不是“before”(在步驟S1606中為“否”),那么判斷是否所有操作數(shù)據(jù)都已處理。
操作執(zhí)行命令發(fā)生器106判斷是否所有操作數(shù)據(jù)都已處理(步驟S1608),如果還沒有處理完所有操作數(shù)據(jù)(在步驟S1608中為“否”),那么獲取下一操作數(shù)據(jù)并重復(fù)這一過程(步驟S1601)。另一方面,如果所有操作數(shù)據(jù)都已處理(在步驟S1608中為“是”),那么刪除TCT 112中所復(fù)制的記錄(步驟S1609),從而結(jié)束時(shí)間約束表(TCT)產(chǎn)生過程。
圖17是說明圖14中所示的步驟S1405的空間約束表(SCT)產(chǎn)生過程的一般流程的流程圖。
操作執(zhí)行命令發(fā)生器106從操作表111中讀取操作數(shù)據(jù)(步驟S1701),并判斷所讀取的操作數(shù)據(jù)是否含有空間約束(步驟S1702)。
如果所讀取的操作數(shù)據(jù)含有空間約束(在步驟S1702中為“是”),那么操作執(zhí)行命令發(fā)生器106將規(guī)定空間約束的記錄加到SCT 113中(步驟S1703)。具體地說,例如當(dāng)所讀取的操作數(shù)據(jù)指定了構(gòu)成主內(nèi)容的內(nèi)容A滿足構(gòu)成受約束內(nèi)容的內(nèi)容B和約束類型Op的播放約束時(shí),將條目“(A Op B)”加到SCT 113中??梢詫⒅T如(1)“above”、(2)“below”、(3)“rightSide”、(4)“l(fā)eftSide”、(5)“backward”、(6)“forward”或(7)“anywhere”等約束類型設(shè)置為“Op”。
另一方面,如果所讀取的操作數(shù)據(jù)不含空間約束(在步驟S1702中為“否”),那么判斷所讀取的操作數(shù)據(jù)是否無約束(步驟S1704)。
如果所讀取的操作數(shù)據(jù)無約束(在步驟S1704中為“是”),那么操作執(zhí)行命令發(fā)生器106將無約束的記錄加到SCT 113中(步驟S1705)。具體地說,例如當(dāng)所讀取的操作數(shù)據(jù)比如是要播放單獨(dú)無約束的內(nèi)容A時(shí),將條目“(A)”加到SCT 113中。
操作執(zhí)行命令發(fā)生器106判斷是否所有操作數(shù)據(jù)都已處理(步驟S1706),如果還沒有處理完所有操作數(shù)據(jù)(在步驟S1706中為“否”),那么獲取下一操作數(shù)據(jù)并重復(fù)這一過程(步驟S1701)。另一方面,如果所有操作數(shù)據(jù)都已處理(在步驟S1 706中為“是”),那么過程進(jìn)至下一步驟。
在步驟S1707-S1710中,操作執(zhí)行命令發(fā)生器106從所準(zhǔn)備的SCT113的記錄中提取和刪除指示實(shí)質(zhì)上相同條件的記錄。
從SCT 113中讀取記錄(步驟S1707),并判斷是否存在其他任何與所讀取記錄的操作相反的操作相應(yīng)的記錄(步驟S1708)。具體地說,例如當(dāng)所讀取的記錄是“(A above B)”時(shí),從約束關(guān)系字典109中獲取與操作“above”相反的操作“below”,并判斷SCT 113中是否存在通過替換所獲取的相反操作的內(nèi)容ID所產(chǎn)生的記錄“(B below A)”如果存在與相反操作相應(yīng)的記錄(在步驟S1708中為“是”),那么從SCT 113中刪除相應(yīng)的記錄(步驟S1709)。另一方面,如果不存在與相反操作相應(yīng)的記錄(在步驟S1708中為“否”),那么判斷是否所有記錄都已處理(步驟S1710)。如果還沒有處理完所有記錄(在步驟S1710中為“否”),那么讀取下一記錄并重復(fù)這一過程(步驟S1707)。如果所有記錄都已處理(在步驟S1710中為“是”),那么結(jié)束空間約束表(SCT)產(chǎn)生過程。
圖18是說明圖14中所示的步驟S1406的條件表合并過程的一般流程的概況的流程圖。
操作執(zhí)行命令發(fā)生器106合并具有相同第一要素的SCT 113的條目和TCT 112的條目(步驟S1801)。
“第一要素”被定義為條目的左面所描述的內(nèi)容ID,或者是作為所指定的唯一內(nèi)容ID的內(nèi)容ID(如果有的話)。例如在條目“(A below B)”中,“A”是第一要素。類似地,在條目“(C)”中,“C”是第一要素。
將含有要求在給定內(nèi)容之后播放的內(nèi)容的空間約束的條目移到先要播放的內(nèi)容的條目之后(步驟S1802)。此外,將含有要求在給定內(nèi)容之前播放的內(nèi)容的空間約束的條目移到稍后所播放的內(nèi)容的條目之前(步驟S1803)。此后,將SCT 113的所有剩余記錄作為TCT 112的新記錄加入(步驟S1804)。最后,將描述播放要求在給定內(nèi)容之前播放的內(nèi)容的條件的條目插入到稍后所播放的內(nèi)容的條目之前(步驟S1805)。步驟S1801-S1803以及S1805的詳細(xì)過程稍后進(jìn)行描述。
圖19A和19B是說明圖14中所示的步驟S1406的條件表合并過程的一般流程的流程圖。此外,圖19A和19B還說明了參照?qǐng)D18說明其概況的步驟S1801-S1803以及S1805的詳細(xì)過程。
步驟S1901-S1905表示圖18中的步驟S1801的詳細(xì)過程。首先,操作執(zhí)行命令發(fā)生器106從SCT 113中讀取記錄(步驟S1901)。SCT113存儲(chǔ)每一條目作為一個(gè)記錄,因此,讀取一個(gè)記錄等同于讀取一個(gè)條目。然后,搜索TCT 112中所有其第一要素具有與所讀條目的第一要素相同的值的條目(步驟S1902),并判斷是否存在相應(yīng)的條目(步驟S1903)。
如果不存在相應(yīng)的條目(在步驟S1903中為“否”),那么判斷是否所有記錄都已處理。另一方面,如果存在相應(yīng)的條目(在步驟S1903中為“是”),那么用所讀條目替換所有相應(yīng)條目,從SCT 113中刪除該所讀條目(步驟S1904)。
例如當(dāng)在SCT 113中存儲(chǔ)了條目“(A below B)”而在TCT112中存儲(chǔ)了條目“(B)(A)”時(shí),用條目“(B)(A below B)”替換TCT 112中的條目“(B)(A)”,從SCT 113中刪除該條目。
操作執(zhí)行命令發(fā)生器106判斷是否所有記錄都已處理(步驟S1905),如果還沒有處理完所有記錄(在步驟S1905中為“否”),那么獲取下一記錄并重復(fù)這一過程(步驟S1901)。另一方面,如果所有記錄都已處理(在步驟S1905中為“是”),那么過程進(jìn)至下一步驟。
步驟S1906-S1910表示圖18中的步驟S1802的詳細(xì)過程。首先,操作執(zhí)行命令發(fā)生器106從SCT 113中讀取記錄(條目)(步驟S1906)。然后,象第一要素那樣,搜索TCT 112中所有具有與所讀條目的第三要素相同的值的條目(步驟S1907),并判斷是否存在相應(yīng)的條目(步驟S1908)。
“第三要素”被定義為空間約束中的所約束內(nèi)容的內(nèi)容ID。具體地說,它是以“(X Op Y)”形式描述的條目中的內(nèi)容ID“Y”(“X”、“Y”表示內(nèi)容ID,而“Op”表示約束類型)。
如果不存在相應(yīng)的條目(在步驟S1908中為“否”),那么判斷是否所有記錄都已處理。另一方面,如果存在相應(yīng)的條目(在步驟S1908中為“是”),那么將所讀條目加在所有相應(yīng)條目之后,并從SCT 113中刪除該所讀條目(步驟S1909)。
例如當(dāng)在SCT 113中存儲(chǔ)了條目“(A below B)”而在TCT 112中存儲(chǔ)了條目“(B)”時(shí),將條目“(A below B)”加到TCT 112的條目“(B)”之后以形成條目“(B)(A below B)”,并從SCT 113中刪除條目“(A belowB)”。
操作執(zhí)行命令發(fā)生器106判斷是否所有記錄都已處理(步驟S1910),如果還沒有處理完所有記錄(在步驟S1910中為“否”),那么獲取下一記錄并重復(fù)這一過程(步驟S1906)。另一方面,如果所有記錄都已處理(在步驟S1910中為“是”),那么過程進(jìn)至下一步驟。
步驟S1911-S1915表示圖18中的步驟S1803的詳細(xì)過程。首先,操作執(zhí)行命令發(fā)生器106從SCT 113中讀取記錄(條目)(步驟S1911)。然后,搜索TCT 112中所有其第三要素具有與所讀條目的第一要素相同的值的條目(步驟S1912),以判斷是否存在相應(yīng)的條目(步驟S1913)。
如果不存在相應(yīng)的條目(在步驟S1913中為“否”),那么判斷是否所有記錄都已處理。另一方面,如果存在相應(yīng)的條目(在步驟S1913中為“是”),那么將所讀條目加在所有相應(yīng)條目之前,并從SCT 113中刪除所讀特定條目(步驟S1914)。
例如當(dāng)在SCT 113中存儲(chǔ)了條目“(A below B)”而在TCT 112中存儲(chǔ)了條目“(C below A)”時(shí),將條目“(A below B)”加到TCT 112的條目“(C below A)”之前以形成條目“(A below B)(C belowA)”,并從SCT113中刪除條目“(A below B)”。
操作執(zhí)行命令發(fā)生器106判斷是否所有記錄都已處理(步驟S1915),如果還沒有處理完所有記錄(在步驟S1915中為“否”),那么獲取下一記錄并重復(fù)這一過程(步驟S1911)。另一方面,如果所有記錄都已處理(在步驟S1915中為“是”),那么過程進(jìn)至下一步驟。
下一步驟S1916與圖18中的步驟S1804相同。在步驟S1916中,執(zhí)行將SCT 113的所有剩余記錄作為TCT 112的新記錄加入的過程。這是因?yàn)橹付▎为?dú)無約束播放的內(nèi)容和只在空間約束表(SCT)113中的內(nèi)容的條目在上述過程中沒有與TCT 112合并,因此被新加到TCT 112中以便為產(chǎn)生基于TCT 112所處理的執(zhí)行序列作準(zhǔn)備。產(chǎn)生執(zhí)行序列的詳細(xì)過程稍后進(jìn)行描述。
步驟S1917-S1923表示圖18中所示的步驟S1805的詳細(xì)過程。首先,操作執(zhí)行命令發(fā)生器106從TCT 112中讀取記錄(步驟S1917)。然后,從所讀記錄中獲取要素條目(步驟S1918)。
要素條目被定義為含有單獨(dú)約束的描述的單元并用圓括號(hào)來界定。例如當(dāng)記錄是“(C)(B below C)(A below B)”時(shí),“(C)”、“(B belowC)”和“(A below B)”構(gòu)成要素條目。
搜索其第一要素具有與要素條目中的第三要素相同的值的另一要素條目(步驟S1919),以判斷是否存在相應(yīng)的條目(步驟S1920)。
如果不存在相應(yīng)的條目(在步驟S1920中為“否”),那么判斷是否所有記錄都已處理。另一方面,如果存在相應(yīng)的條目(在步驟S1920中為“是”),那么將相應(yīng)條目的第一要素立即插入到所獲取要素條目之前(步驟S1921)。
例如當(dāng)在TCT 112中存儲(chǔ)了條目“(B below A)(A below C)”時(shí),將條目“(A below C)”中的第一要素“(A)”插入到條目“(B below A)(Abelow C)”之前,從而形成條目“(A)(B below A)(A below C)”。
操作執(zhí)行命令發(fā)生器106判斷是否所有條目都已處理(步驟S1922),如果還沒有處理完所有條目(在步驟S1922中為“否”),那么獲取該記錄中的下一條目并重復(fù)這一過程(步驟S1918)。另一方面,如果所有條目都已處理(在步驟S1922中為“是”),那么過程進(jìn)至下一步驟。
操作執(zhí)行命令發(fā)生器106判斷是否所有記錄都已處理(步驟S1923),如果還沒有處理完所有記錄(在步驟S1923中為“否”),那么獲取下一記錄并重復(fù)這一過程(步驟S1917)。另一方面,如果所有記錄都已處理(在步驟S1923中為“是”),那么結(jié)束條件表合并過程。
圖20是說明圖14中所示步驟S1407的執(zhí)行序列產(chǎn)生過程的一般流程的概況的流程圖。
操作執(zhí)行命令發(fā)生器106將TCT 112中的具有相同的最后和第一條目的記錄相結(jié)合(步驟S2001)。
最后條目被定義為位于記錄右端的要素條目,而第一條目被定義為位于記錄左端的要素條目。例如當(dāng)記錄是“(C)(B below C)(A belowB)”時(shí),條目“(C)”是第一條目,而條目“(A below B)”是最后條目。
將具有相同第一條目的記錄互相結(jié)合(步驟S2002)。最后,執(zhí)行替換以相反次序播放并具有相反操作的條目(步驟S2003)。步驟S2001-S2003的詳細(xì)過程稍后進(jìn)行說明。
圖21是說明圖14中所示步驟S1407的執(zhí)行序列產(chǎn)生過程的一般流程的流程圖。圖21說明了參照?qǐng)D20解釋了其概況的步驟S2001-S2003的詳細(xì)過程。
步驟S2101-S2105表示圖20中的步驟S2001的詳細(xì)過程。首先,操作執(zhí)行命令發(fā)生器106從TCT 112中讀取記錄(步驟S2101)。然后,搜索TCT 112中所有其最后條目與所讀記錄的第一條目完全相同的記錄(步驟S2102),以判斷是否存在相應(yīng)的記錄(步驟S2103)。
如果不存在相應(yīng)的記錄(在步驟S2103中為“否”),那么判斷是否所有記錄都已處理。另一方面,如果存在相應(yīng)的條目(在步驟S2103中為“是”),那么用所讀記錄替換所有相應(yīng)記錄的最后條目,從TCT 112中刪除該所讀記錄(步驟S2104)。
例如當(dāng)在TCT 112中存儲(chǔ)了記錄“(C)(B below C)(A below B)”和記錄“(D)(C)”時(shí),用記錄“(C)(B below C)(A below B)”替換記錄“(D)(C)”的最后條目“(C)”,并刪除記錄“(C)(B below C)(A below B)”,結(jié)果是只留下記錄“(D)(C)(B below C)(A below B)”。
操作執(zhí)行命令發(fā)生器106判斷是否所有記錄都已處理(步驟S2105),如果還沒有處理完所有記錄(在步驟S2105中為“否”),那么獲取下一記錄并重復(fù)這一過程(步驟S2101)。另一方面,如果所有記錄都已處理(在步驟S2105中為“是”),那么過程進(jìn)至下一步驟。
步驟S2106-S2110表示圖20中的步驟S2002的詳細(xì)過程。首先,操作執(zhí)行命令發(fā)生器106從TCT 112中讀取記錄(步驟S2106)。然后,搜索TCT 112中所有其第一條目與所讀記錄的第一條目完全相同的記錄(步驟S2107),以判斷是否存在相應(yīng)的記錄(步驟S2108)。
如果不存在相應(yīng)的記錄(在步驟S2108中為“否”),那么判斷是否所有記錄都已處理。另一方面,如果存在相應(yīng)的記錄(在步驟S2108中為“是”),那么用所讀記錄替換所有相應(yīng)記錄的第一條目,從TCT 112中刪除該所讀記錄(步驟S2109)。
例如當(dāng)在TCT 112中存儲(chǔ)了記錄“(B below C)(A below B)”和記錄“(B below C)(C)”時(shí),用記錄“(B below C)(A below B)”替換記錄“(Bbelow C)(C)”的第一條目“(B below C)”,并記錄下記錄“(B below C)(Abelow B)”,結(jié)果是只留下記錄“(B below C)(A below B)(C)”。
操作執(zhí)行命令發(fā)生器106判斷是否所有記錄都已處理(步驟S2110),如果還沒有處理完所有記錄(在步驟S2110中為“否”),那么獲取下一記錄并重復(fù)這一過程(步驟S2106)。另一方面,如果所有記錄都已處理(在步驟S21 10中為“是”),那么過程進(jìn)至下一步驟。
步驟S2111-S2113表示圖20中的步驟S2003的詳細(xì)過程。首先,操作執(zhí)行命令發(fā)生器106從TCT 112中讀取記錄(步驟S2111)。然后,操作執(zhí)行命令發(fā)生器106搜索所讀記錄中具有相反播放次序和相反操作的條目,如果存在相應(yīng)的條目,那么替換該操作。
具體地說,操作執(zhí)行命令發(fā)生器106搜索構(gòu)成模式“(X aaY**)##(Y)”或“(X aa Y**)##(Y bb X**)”的條目,從約束關(guān)系字典109中獲取與“aa”相反的操作“cc”,并用“X”替換“(X aa Y)”和用“(Y cc X)”替換“Y”,其中“X”、“Y”指定內(nèi)容ID,“aa”、“bb”、“cc”指定約束類型,“**”指定字符串,而“##”指定要素條目。
例如在模式“(X below Y)(Y)”的情況下,播放“Y”之后,根據(jù)空間約束“below”,要求“X”要在“Y”的下面播放。盡管如此,稍后指定播放“Y”,因此,需要既變更播放次序又轉(zhuǎn)換到相反操作。
例如當(dāng)在TCT 112中存儲(chǔ)了記錄“(B below C)(A below B)(C)”時(shí),用“(B)”替換條目“(B below C)”,并用條目“(C above B)”替換條目“(C)”。因此,整個(gè)記錄用“(B)(A below B)(C above B)”來替換。
操作執(zhí)行命令發(fā)生器106判斷是否所有記錄都已處理(步驟S2113),如果還沒有處理完所有記錄(在步驟S2113中為“否”),那么獲取下一記錄并重復(fù)這一過程(步驟S2111)。另一方面,如果所有記錄都已處理(在步驟S2113中為“是”),那么結(jié)束執(zhí)行序列產(chǎn)生過程。
圖22是說明圖14中所示的步驟S1408的命令語句產(chǎn)生過程的一般流程的流程圖。
操作執(zhí)行命令發(fā)生器106從TCT 112中讀取記錄(步驟S2201)。此外,再從所讀記錄中獲取要素條目(步驟S2202)。然后,將所獲取要素條目轉(zhuǎn)換成命令語句,并將所轉(zhuǎn)換的命令語句置于命令語句數(shù)據(jù)114中(步驟S2203)。具體地說,將所獲取要素條目之前加有“Play”的文本設(shè)置為命令語句。例如當(dāng)要素條目是“(X aa Y bb Z)”時(shí),將“Play(X aa Y bb Z)”設(shè)置為命令語句數(shù)據(jù)114中的命令語句。
操作執(zhí)行命令發(fā)生器106判斷是否所有要素條目都已處理(步驟S2204),如果還沒有處理完所有要素條目(在步驟S2204中為“否”),那么獲取下一要素條目并重復(fù)這一過程(步驟S2202)。另一方面,如果所有記錄都已處理(在步驟S2204中為“是”),那么判斷是否所有記錄都已處理。
操作執(zhí)行命令發(fā)生器106判斷是否所有記錄都已處理(步驟S2205),如果還沒有處理完所有記錄(在步驟S2205中為“否”),那么獲取下一記錄并重復(fù)這一過程(步驟S2201)。另一方面,如果所有記錄都已處理(在步驟S2205中為“是”),那么結(jié)束命令語句產(chǎn)生過程。
圖23是說明圖12中所示的步驟S1209的內(nèi)容播放過程的一般流程的流程圖。
內(nèi)容播放器105接收操作執(zhí)行命令發(fā)生器106所準(zhǔn)備的命令語句數(shù)據(jù)114(步驟S2301)。然后,內(nèi)容播放器105從所接收的命令語句數(shù)據(jù)114中讀取命令語句(步驟S2302),并判斷命令語句是否是空間約束(步驟S2303)。
如果命令語句是空間約束(在步驟S2303中為“是”),那么內(nèi)容播放器105根據(jù)該特定空間約束播放內(nèi)容(步驟S2304)。具體地說,例如當(dāng)命令語句是“Play(A above B)”時(shí),內(nèi)容A安排在內(nèi)容B上面播放。另一方面,如果命令語句不是空間約束(在步驟S2303中為“否”),那么判斷命令語句是否無約束(步驟S2305)。
如果命令語句無約束(在步驟S2305中為“是”),那么內(nèi)容播放器105將只播放該特定內(nèi)容(步驟S2306)。具體地說,例如當(dāng)命令語句是“Play(A)”時(shí),只播放內(nèi)容A。另一方面,如果命令語句不是約束(在步驟S2305中為“否”),那么判斷命令語句是否是同時(shí)播放的約束(步驟S2307)。
如果命令語句是同時(shí)播放的約束(在步驟S2307中為“是”),那么內(nèi)容播放器105將互相同步播放兩個(gè)內(nèi)容(步驟S2308)。具體地說,例如當(dāng)命令語句是“Play(AB&)”時(shí),同時(shí)播放內(nèi)容A和內(nèi)容B。另一方面,如果命令語句不是同時(shí)播放的約束(在步驟S2307中為“否”),那么過程進(jìn)至下一步驟。
內(nèi)容播放器105向播放歷史存儲(chǔ)單元107報(bào)告所播放內(nèi)容正在播放(步驟S2309)。播放歷史數(shù)據(jù)存儲(chǔ)單元107將所報(bào)告內(nèi)容的內(nèi)容ID加到播放歷史數(shù)據(jù)115中。
內(nèi)容播放器105判斷是否所有命令語句都已處理(步驟S2310),如果還沒有處理完所有命令語句(在步驟S2310中為“否”),那么獲取下一命令語句并重復(fù)這一過程(步驟S2302)。另一方面,如果所有命令語句都已處理(在步驟S2310中為“是”),那么結(jié)束內(nèi)容播放過程。
圖24-27是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置100中的根據(jù)上述內(nèi)容播放過程所執(zhí)行的內(nèi)容播放的例子的圖解。
在圖24的情況下,規(guī)定了圖24A中所示的包括內(nèi)容A-D的四個(gè)內(nèi)容之間的約束。具體地說,規(guī)定了在內(nèi)容B下面在內(nèi)容B之后播放內(nèi)容A的約束,規(guī)定了在內(nèi)容C下面播放內(nèi)容B的約束,并規(guī)定了在內(nèi)容D之后播放內(nèi)容C的約束。圖24B-24F說明了在有約束情況下從指定播放內(nèi)容A開始直到執(zhí)行序列產(chǎn)生過程的每個(gè)表的內(nèi)容。
這一約束在內(nèi)容A-D的每一許可證信息中描述。首先,通過許可證處理過程讀取這些內(nèi)容的每一許可證信息(步驟S1204),以產(chǎn)生圖24B中所示的操作表111。參照該表,圖24C中所示的TCT 112由操作執(zhí)行命令產(chǎn)生過程(步驟S1207)中的時(shí)間約束表(TCT)產(chǎn)生過程(步驟S1404)所產(chǎn)生,而圖24D中所示的SCT 113由操作執(zhí)行命令產(chǎn)生過程(步驟S1207)中的空間約束表(SCT)產(chǎn)生過程(步驟S1405)所產(chǎn)生。此外,這些表還可以通過條件表合并過程(步驟S1406)合成為如圖24E中所示,并可以通過執(zhí)行序列產(chǎn)生過程(步驟S1407)結(jié)合成如圖24F中所示。
具體地說,如圖24F中所示,通過以下方式產(chǎn)生執(zhí)行序列先播放內(nèi)容D再播放內(nèi)容C;按照在播放內(nèi)容C之后安排在內(nèi)容C下面的方式播放內(nèi)容B;和按照在播放內(nèi)容B之后安排在內(nèi)容B下面的方式播放內(nèi)容A。
如上所述,當(dāng)規(guī)定了圖24A中所示的約束時(shí),每一內(nèi)容都以滿足特定約束的方式來播放。
在圖25的情況下,規(guī)定了圖25A中所示的包括內(nèi)容A1-D的五個(gè)內(nèi)容之間的約束。具體地說,規(guī)定了這樣的約束與內(nèi)容D同時(shí)播放內(nèi)容A1,和在內(nèi)容B下面和之后播放內(nèi)容A2,和在內(nèi)容C下面播放內(nèi)容B。圖25B-25F說明了在有上述約束情況下從指定播放內(nèi)容A到產(chǎn)生執(zhí)行序列的每個(gè)表的細(xì)節(jié)。
在圖25的情況下,如圖25F中所示,通過以下方式產(chǎn)生執(zhí)行序列首先同時(shí)播放內(nèi)容A1和內(nèi)容D再播放內(nèi)容C;按照安排在內(nèi)容C下面的方式在內(nèi)容C之后播放內(nèi)容B;和按照安排在內(nèi)容B下面的方式在內(nèi)容B之后播放內(nèi)容A2。
在圖26的情況下,規(guī)定了圖26A中所示的包括內(nèi)容A-C的三個(gè)內(nèi)容之間的約束。具體地說,規(guī)定了這樣的約束在內(nèi)容B下面和之后播放內(nèi)容A,和在內(nèi)容C下面和之前播放內(nèi)容B。圖26B-26F說明了在有上述約束情況下從指定播放內(nèi)容A開始直到執(zhí)行序列產(chǎn)生過程的每個(gè)表的細(xì)節(jié)。
在圖26的情況下,如圖26F中所示,通過以下方式產(chǎn)生執(zhí)行序列首先播放內(nèi)容B;再按照安排在內(nèi)容B下面的方式在內(nèi)容B之后播放內(nèi)容A;然后按照安排在內(nèi)容B上面的方式在內(nèi)容B之后播放內(nèi)容C。
在圖27的情況下,規(guī)定了圖27A中所示的包括內(nèi)容A和B的兩個(gè)內(nèi)容之間的約束。具體地說,規(guī)定了這樣的約束在內(nèi)容B下面和之后播放內(nèi)容A,和在內(nèi)容A上面和之前播放內(nèi)容B。圖27B-27F說明了在有上述約束情況下從指定播放內(nèi)容A開始直到執(zhí)行序列產(chǎn)生過程的每個(gè)表的細(xì)節(jié)。
在圖27的情況下,如圖27F中所示,通過以下方式產(chǎn)生執(zhí)行序列首先播放內(nèi)容B,再按照安排在內(nèi)容B下面的方式在內(nèi)容B之后播放內(nèi)容A。
圖28是說明在根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置100中的基于結(jié)構(gòu)約束所執(zhí)行的內(nèi)容播放的一個(gè)例子的圖解。在這種情況下,原始內(nèi)容是電子圖書(內(nèi)容A),它由包括第1節(jié)(內(nèi)容A1)至第4節(jié)(內(nèi)容A4)的四個(gè)內(nèi)容構(gòu)成。該電子圖書可以一節(jié)一節(jié)播放,圖書的每節(jié)都有“isPartOf”的結(jié)構(gòu)約束。因此,當(dāng)指定播放內(nèi)容A1時(shí),播放只包括第1節(jié)的電子圖書(內(nèi)容A)。
如上所述,當(dāng)在數(shù)字內(nèi)容播放裝置100中存在兩個(gè)內(nèi)容之間所規(guī)定的約束時(shí),每一內(nèi)容的播放可以按照滿足該特定約束的方式來執(zhí)行。
根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置100包括諸如CPU的控制器、諸如ROM(只讀存儲(chǔ)器)或RAM的存儲(chǔ)單元、諸如HDD或CD驅(qū)動(dòng)器的外部存儲(chǔ)單元、諸如顯示器的顯示單元和諸如鍵盤或鼠標(biāo)的輸入設(shè)備。因此,該裝置100可以由采用普通計(jì)算機(jī)的硬件構(gòu)成。
根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置100中所執(zhí)行的數(shù)字內(nèi)容播放程序可以通過記錄在諸如CD-ROM、軟驅(qū)(FD)、CD-R或DVD(數(shù)字多功能光盤)等計(jì)算機(jī)可讀記錄媒體上以便于安裝或執(zhí)行的方式來提供。
此外,根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置100中所執(zhí)行的數(shù)字內(nèi)容播放程序還可以通過存儲(chǔ)在與諸如因特網(wǎng)等網(wǎng)絡(luò)連接的計(jì)算機(jī)上和通過網(wǎng)絡(luò)下載的方式來提供。再者,根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置100中所執(zhí)行的數(shù)字內(nèi)容播放程序還可以通過諸如因特網(wǎng)等網(wǎng)絡(luò)來提供或分發(fā)。
根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放程序可以通過事先嵌入ROM等中的方式來提供。
根據(jù)本實(shí)施例的數(shù)字內(nèi)容播放裝置100中所執(zhí)行的數(shù)字內(nèi)容播放程序由包括上述部件(內(nèi)容存儲(chǔ)控制器、內(nèi)容指定接收器、許可證處理器、使用條件判定單元、內(nèi)容播放器、操作執(zhí)行命令發(fā)生器和播放歷史數(shù)據(jù)存儲(chǔ)單元)的模塊構(gòu)成。作為實(shí)際硬件,CPU(處理器)通過從存儲(chǔ)媒體中讀取數(shù)字內(nèi)容播放程序來執(zhí)行。這樣,將上述每一部件安裝在主存儲(chǔ)單元上,以便在主存儲(chǔ)單元上產(chǎn)生內(nèi)容存儲(chǔ)控制器、內(nèi)容指定接收器、許可證處理器、使用條件判定單元、內(nèi)容播放器、操作執(zhí)行命令發(fā)生器和播放歷史數(shù)據(jù)存儲(chǔ)單元。
如上所述,根據(jù)本發(fā)明的數(shù)字內(nèi)容播放裝置、數(shù)字內(nèi)容播放方法、數(shù)字內(nèi)容播放程序和用于記錄根據(jù)本發(fā)明的數(shù)字內(nèi)容播放程序的記錄媒體可以很好地適用于用來播放基于規(guī)定了允許播放操作的細(xì)節(jié)的許可證信息的數(shù)字內(nèi)容的數(shù)字內(nèi)容播放裝置。
熟練技術(shù)人員還容易想到另外一些優(yōu)點(diǎn)和修改。因此,從更廣泛的意義上來說,本發(fā)明并不局限于本文所示和所述的具體細(xì)節(jié)和典型實(shí)施例。因此,在不背離附屬權(quán)利要求及其等價(jià)物所規(guī)定的總體發(fā)明概念的思想或范圍的前提下,可以作出多種修改。
權(quán)利要求
1.一種用于播放具有規(guī)定了允許播放操作的細(xì)節(jié)的許可證信息的數(shù)字內(nèi)容的裝置,包括許可證處理器,它從數(shù)字內(nèi)容的許可證信息中獲取一種規(guī)定該數(shù)字內(nèi)容與其他數(shù)字內(nèi)容之間的播放條件的約束;操作執(zhí)行命令發(fā)生器,它根據(jù)許可證處理器所獲取的約束產(chǎn)生一種用于播放該數(shù)字內(nèi)容的操作執(zhí)行命令;和內(nèi)容播放器,它根據(jù)操作執(zhí)行命令發(fā)生器所產(chǎn)生的操作執(zhí)行命令播放該數(shù)字內(nèi)容。
2.如權(quán)利要求1所述的裝置,其中許可證處理器獲取表示該數(shù)字內(nèi)容與其他內(nèi)容之間的主-從關(guān)系的互補(bǔ)約束作為約束;和操作執(zhí)行命令發(fā)生器根據(jù)許可證處理器所獲取的互補(bǔ)約束,產(chǎn)生播放具有該互補(bǔ)約束的數(shù)字內(nèi)容和應(yīng)用了該互補(bǔ)約束的其他數(shù)字內(nèi)容的操作執(zhí)行命令。
3.如權(quán)利要求2所述的裝置,其中許可證處理器獲取表示該數(shù)字內(nèi)容與其他數(shù)字內(nèi)容之間的時(shí)間順序關(guān)系的時(shí)間約束作為互補(bǔ)約束;和操作執(zhí)行命令發(fā)生器根據(jù)許可證處理器所獲取的時(shí)間約束中所規(guī)定的時(shí)間順序關(guān)系,產(chǎn)生播放該數(shù)字內(nèi)容的操作執(zhí)行命令。
4.如權(quán)利要求2所述的裝置,其中許可證處理器獲取表示該數(shù)字內(nèi)容與其他數(shù)字內(nèi)容之間在播放屏幕上的位置關(guān)系的空間約束作為互補(bǔ)約束;和操作執(zhí)行命令發(fā)生器根據(jù)許可證處理器所獲取的空間約束中所規(guī)定的在播放屏幕上的位置關(guān)系,產(chǎn)生安排該數(shù)字內(nèi)容的操作執(zhí)行命令。
5.如權(quán)利要求1所述的裝置,其中許可證處理器獲取表示該數(shù)字內(nèi)容與其他內(nèi)容之間的禁止關(guān)系的互斥約束作為約束;和操作執(zhí)行命令發(fā)生器根據(jù)許可證處理器所獲取的互斥約束,產(chǎn)生互斥地播放該數(shù)字內(nèi)容和其他內(nèi)容的操作執(zhí)行命令。
6.如權(quán)利要求5所述的裝置,其中,當(dāng)正在播放禁止與該數(shù)字內(nèi)容一起使用的其他內(nèi)容時(shí),操作執(zhí)行命令發(fā)生器根據(jù)許可證處理器所獲取的互斥約束,產(chǎn)生不播放具有互斥約束的該數(shù)字內(nèi)容的操作執(zhí)行命令。
7.如權(quán)利要求5所述的裝置,其中,當(dāng)播放該數(shù)字內(nèi)容時(shí),操作執(zhí)行命令發(fā)生器根據(jù)許可證處理器所獲取的互斥約束,產(chǎn)生不播放禁止與具有互斥約束的該數(shù)字內(nèi)容一起使用的其他內(nèi)容的操作執(zhí)行命令。
8.如權(quán)利要求1所述的裝置,其中,該數(shù)字內(nèi)容是一種包括多個(gè)數(shù)字內(nèi)容的復(fù)合數(shù)字內(nèi)容,其中每個(gè)數(shù)字內(nèi)容都具有規(guī)定了允許播放操作的細(xì)節(jié)的許可證信息。
9.一種用于播放具有規(guī)定了允許播放操作的細(xì)節(jié)的許可證信息的數(shù)字內(nèi)容的方法,包括從數(shù)字內(nèi)容的許可證信息中獲取一種規(guī)定該數(shù)字內(nèi)容與其他數(shù)字內(nèi)容之間的播放條件的約束;根據(jù)該約束產(chǎn)生一種用于播放該數(shù)字內(nèi)容的操作執(zhí)行命令;和根據(jù)操作執(zhí)行命令播放該數(shù)字內(nèi)容。
10.如權(quán)利要求9所述的方法,其中,該數(shù)字內(nèi)容是一種包括多個(gè)數(shù)字內(nèi)容的復(fù)合數(shù)字內(nèi)容,其中每個(gè)數(shù)字內(nèi)容都具有規(guī)定了允許播放操作的細(xì)節(jié)的許可證信息。
11.一種具有包含編程指令的計(jì)算機(jī)可讀媒體的計(jì)算機(jī)程序產(chǎn)品,其中,這些指令在被計(jì)算機(jī)執(zhí)行時(shí)可使計(jì)算機(jī)執(zhí)行以下過程從數(shù)字內(nèi)容的許可證信息中獲取一種規(guī)定該數(shù)字內(nèi)容與其他數(shù)字內(nèi)容之間的播放條件的約束,其中許可證信息規(guī)定了允許播放操作的細(xì)節(jié);根據(jù)該約束產(chǎn)生一種用于播放該數(shù)字內(nèi)容的操作執(zhí)行命令;和根據(jù)操作執(zhí)行命令播放該數(shù)字內(nèi)容。
12.如權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其中獲取過程包括獲取表示該數(shù)字內(nèi)容與其他數(shù)字內(nèi)容之間的主-從關(guān)系的互補(bǔ)約束作為約束;和產(chǎn)生過程包括根據(jù)互補(bǔ)約束,產(chǎn)生播放具有互補(bǔ)約束的數(shù)字內(nèi)容和應(yīng)用了該互補(bǔ)約束的其他數(shù)字內(nèi)容的操作執(zhí)行命令。
13.如權(quán)利要求12所述的計(jì)算機(jī)程序產(chǎn)品,其中獲取過程包括獲取表示該數(shù)字內(nèi)容與其他數(shù)字內(nèi)容之間的時(shí)間順序關(guān)系的時(shí)間約束作為互補(bǔ)約束;和產(chǎn)生過程包括根據(jù)時(shí)間約束中所規(guī)定的時(shí)間順序關(guān)系,產(chǎn)生播放該數(shù)字內(nèi)容的操作執(zhí)行命令。
14.如權(quán)利要求12所述的計(jì)算機(jī)程序產(chǎn)品,其中獲取過程包括獲取表示該數(shù)字內(nèi)容與其他數(shù)字內(nèi)容之間在播放屏幕上的位置關(guān)系的空間約束作為互補(bǔ)約束;和產(chǎn)生過程包括根據(jù)空間約束中所規(guī)定的播放屏幕上的位置關(guān)系,產(chǎn)生安排該數(shù)字內(nèi)容的操作執(zhí)行命令。
15.如權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其中獲取過程包括獲取表示該數(shù)字內(nèi)容與其他內(nèi)容之間的禁止關(guān)系的互斥約束作為約束;和產(chǎn)生過程包括根據(jù)互斥約束,產(chǎn)生互斥地播放該數(shù)字內(nèi)容和其他內(nèi)容的操作執(zhí)行命令。
16.如權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中,產(chǎn)生過程包括當(dāng)正在播放禁止與該數(shù)字內(nèi)容一起使用的其他內(nèi)容時(shí),根據(jù)互斥約束,產(chǎn)生不播放具有互斥約束的該數(shù)字內(nèi)容的操作執(zhí)行命令。
17.如權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中,產(chǎn)生過程包括當(dāng)播放該數(shù)字內(nèi)容時(shí),根據(jù)互斥約束,產(chǎn)生不播放禁止與具有互斥約束的該數(shù)字內(nèi)容一起使用的其他內(nèi)容的操作執(zhí)行命令。
18.如權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其中,該數(shù)字內(nèi)容是一種包括多個(gè)數(shù)字內(nèi)容的復(fù)合數(shù)字內(nèi)容,其中每個(gè)數(shù)字內(nèi)容都具有規(guī)定了允許播放操作的細(xì)節(jié)的許可證信息。
全文摘要
一種用于播放具有規(guī)定了允許播放操作的細(xì)節(jié)的許可證信息的數(shù)字內(nèi)容的裝置包括許可證處理器,它從數(shù)字內(nèi)容的許可證信息中獲取一種規(guī)定該數(shù)字內(nèi)容與其他數(shù)字內(nèi)容之間的播放條件的約束;操作執(zhí)行命令發(fā)生器,它根據(jù)許可證處理器所獲取的約束產(chǎn)生一種用于播放該數(shù)字內(nèi)容的操作執(zhí)行命令;和內(nèi)容播放器,它根據(jù)操作執(zhí)行命令發(fā)生器所產(chǎn)生的操作執(zhí)行命令播放該數(shù)字內(nèi)容。
文檔編號(hào)G06F21/62GK1755701SQ20051005622
公開日2006年4月5日 申請(qǐng)日期2005年3月31日 優(yōu)先權(quán)日2004年9月30日
發(fā)明者伊藤聰, 愛須英之, 上林達(dá), 秋山浩一郎, 浜田伸一郎 申請(qǐng)人:株式會(huì)社東芝
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
洛川县| 乌苏市| 马龙县| 伽师县| 六枝特区| 庄河市| 项城市| 高安市| 双辽市| 洛宁县| 沙湾县| 万荣县| 团风县| 广南县| 禹州市| 天全县| 邯郸市| 报价| 共和县| 朝阳区| 黔南| 望城县| 顺昌县| 米林县| 宝丰县| 喀什市| 瓦房店市| 江北区| 德昌县| 罗江县| 富民县| 淮阳县| 澄江县| 柘荣县| 兴安盟| 东丰县| 广西| 承德市| 北流市| 正安县| 剑川县|