專利名稱:循環(huán)引用管理方法和設(shè)備、分析方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及控制諸如多媒體應(yīng)用環(huán)境中的數(shù)字內(nèi)容之類的資源(asset),更具體地說,涉及循環(huán)引用管理方法和設(shè)備、分析方法和設(shè)備以及存儲(chǔ)用于實(shí)現(xiàn)所述方法的程序的計(jì)算機(jī)可讀記錄介質(zhì)。
背景技術(shù):
近來,已經(jīng)通過使用個(gè)人計(jì)算機(jī)(PC)來處理并再現(xiàn)諸如數(shù)字靜態(tài)圖像、視頻、數(shù)字音頻和文本之類的媒體。此外,由于日益廣泛地使用產(chǎn)生這些媒體的設(shè)備,例如數(shù)字照相機(jī)、數(shù)字錄像機(jī)、數(shù)字音頻播放器(MP3,WMA),因此大量產(chǎn)生了各種類型的數(shù)字內(nèi)容。
然而,為了管理內(nèi)容,即大量產(chǎn)生的多媒體數(shù)據(jù),要求用戶具有基于文件的經(jīng)驗(yàn),并且如果在除PC之外的設(shè)備中再現(xiàn)這樣管理的、被給定了諸如數(shù)據(jù)再現(xiàn)順序或方法之類的屬性的數(shù)據(jù),則在PC中給定的屬性數(shù)據(jù)將丟失,而只傳送原始數(shù)據(jù)。即,當(dāng)前消費(fèi)電子產(chǎn)品、PC和數(shù)字內(nèi)容產(chǎn)生設(shè)備之間的數(shù)據(jù)和數(shù)據(jù)屬性的互用性很弱。下面將說明互用性弱的例子。
圖1是說明根據(jù)常規(guī)技術(shù)的音樂圖片視頻(MPV)的原理的參考圖。
參照?qǐng)D1,通過使用數(shù)字照相機(jī)10產(chǎn)生圖片或音頻剪輯,所產(chǎn)生的圖片或音頻剪輯移動(dòng)到PC 11,執(zhí)行諸如編輯之類的加工,并且將經(jīng)加工的內(nèi)容燒錄到諸如CD-R/視頻-CD和DVD-R/+R之類的光記錄介質(zhì)上。這樣燒錄的光記錄介質(zhì)可以在DVD播放器12或TV 13中再現(xiàn)內(nèi)容。
此外,在PC中加工過的內(nèi)容可以傳送到打印機(jī)14來打印,以及傳送到在線介質(zhì)15。
因此,通過使用數(shù)字照相機(jī),拍攝圖片,并且與原始數(shù)據(jù)一起存儲(chǔ)屬性數(shù)據(jù),該屬性數(shù)據(jù)諸如為當(dāng)使用幻燈片顯示功能確認(rèn)數(shù)字照相機(jī)中所拍照的圖片時(shí)確定的、圖片之間的幻燈顯示順序或圖片時(shí)間間隔。如果該數(shù)字照相機(jī)通過音頻/視頻(AV)電纜連接到TV,并且圖像被發(fā)送到TV,則用戶可以查看內(nèi)容以及所表達(dá)的每種屬性。然而,如果數(shù)字照相機(jī)通過通用串行總線(USB)電纜連接到PC,則只有原始數(shù)據(jù)發(fā)送到計(jì)算機(jī),而所有附加的屬性丟失。
這是因?yàn)閿?shù)字照相機(jī)和PC具有相互不同的信息結(jié)構(gòu)。如上述示例所示,存儲(chǔ)在數(shù)字照相機(jī)中的屬性數(shù)據(jù),即元數(shù)據(jù),與PC沒有互用性。為了補(bǔ)償數(shù)字設(shè)備之間的這些數(shù)據(jù)的弱互用性,已經(jīng)制定了稱為音樂圖片視頻(MPV)的標(biāo)準(zhǔn)。即,MPV是使諸如圖片消費(fèi)電子(CE)設(shè)備和IT設(shè)備中的數(shù)字音樂、圖片和視頻之類的元數(shù)的表示、交換、處理和再現(xiàn)更容易的標(biāo)準(zhǔn)。由光存儲(chǔ)技術(shù)聯(lián)盟(OSTA)制定的MPV標(biāo)準(zhǔn)定義了用于處理和再現(xiàn)存儲(chǔ)在存儲(chǔ)介質(zhì)(諸如光盤、存儲(chǔ)卡計(jì)算機(jī)硬盤)中或根據(jù)因特網(wǎng)協(xié)議交換的內(nèi)容集(諸如數(shù)字圖片、視頻和音頻)的清單(manifest)、元數(shù)據(jù)和實(shí)踐。該清單是獨(dú)立可擴(kuò)展標(biāo)記語(yǔ)言(XML)文檔文件,并且通過組合所有的MPV元素而獲得。
MPV通常分為兩個(gè)部分MPV核心說明(MPV Core-Spec)和簡(jiǎn)檔(profile)。MPV核心包括三個(gè)基本元素收集(collection)、元數(shù)據(jù)和標(biāo)識(shí)符。收集包括作為根成員的清單、相冊(cè)、標(biāo)記的資源(MarkedAsset)和資源列表(AssetList)。資源是通過MPV處理的內(nèi)容的基本單位,存在兩種類型的資源簡(jiǎn)單媒體資源,諸如數(shù)字圖片、視頻、數(shù)字音頻和文檔等,以及復(fù)合媒體資源,諸如數(shù)字圖片+數(shù)字音頻、數(shù)字靜態(tài)多拍序列、數(shù)字靜態(tài)全景序列等。根據(jù)在具有這種結(jié)構(gòu)的MPV文件中記錄的內(nèi)容,MPV軟件進(jìn)行控制,以使得讀取并再現(xiàn)資源。即,MPV文件置于MPV軟件和稱為資源的數(shù)據(jù)之間,并且起鏈接的作用。相應(yīng)地,MPV文件可以認(rèn)為是高級(jí)文件系統(tǒng),其操作與常規(guī)文件系統(tǒng)相似。
將參照?qǐng)D2和3更加詳細(xì)地解釋作為在MPV中處理的內(nèi)容的基本單位的資源。
圖2是顯示根據(jù)常規(guī)技術(shù)的MPV簡(jiǎn)單資源的示例。間單資源對(duì)應(yīng)于物理存儲(chǔ)實(shí)體。作為間單資源,存在靜態(tài)圖像21、視頻22、音頻23、文本24、打印檔25、文檔26和清單鏈接(ManifestLink)27。
圖3是顯示根據(jù)常規(guī)技術(shù)的MPV復(fù)合資源的示例的圖。復(fù)合資源意味著媒體資源的組合。這些復(fù)合資源對(duì)應(yīng)于數(shù)字照相機(jī)的普通拍照模式。
作為復(fù)合資源,存在帶音頻靜態(tài)圖像(StillWithAudio)31、靜態(tài)多拍序列(StillMultishotSequence)32和靜態(tài)全景序列(StillPanoramaSequence)33、Par 34和Seq 35。
在這些資源中,Par 34或Seq 35允許類型相互不同的媒體資源的任意表示。即,雖然由于預(yù)定了其他各個(gè)復(fù)合資源中包含的簡(jiǎn)單資源而固定了各個(gè)復(fù)合資源,但是包含在Par或Seq中的簡(jiǎn)單資源不固定,以使得可以任意組合簡(jiǎn)單資源。
當(dāng)資源集相互同步地產(chǎn)生時(shí),Par定義復(fù)合資源。參照?qǐng)D3,可以發(fā)現(xiàn),Par 34是使用并行布置的一組資源形成的。當(dāng)以預(yù)定順序產(chǎn)生資源集時(shí),Seq定義復(fù)合資源。參照?qǐng)D3,可以發(fā)現(xiàn),Seq 35是使用以預(yù)定順序布置的一組資源形成的。
將說明Seq的用法圖4A是根據(jù)常規(guī)技術(shù)的、用于解釋<mpv:Seq>的用法示例的MPV文件的示例示例。
參照?qǐng)D4A,可以發(fā)現(xiàn)清單1處于MPV文件中的最大部分的頂層,而資源列表40處于緊接著該頂層的下一層。
然后,資源列表40的下層包括其標(biāo)識(shí)符(mpv:id)為‘seq001’的<mpv:Seq>41、其標(biāo)識(shí)符為‘still001’的<mpv:Still>42、其標(biāo)識(shí)符為‘still002’的<mpv:Still>43、其標(biāo)識(shí)符為‘still003’的<mpv:Still>44、其標(biāo)識(shí)符為‘still004’的<mpv:Still>45、其標(biāo)識(shí)符為‘sa001’的<mpv:StillWithAudio>46、其標(biāo)識(shí)符為‘a(chǎn)udio001’的<mpv:Audio>47、其標(biāo)識(shí)符為‘a(chǎn)udio002’的<mpv:Audio>48和其標(biāo)識(shí)符為‘a(chǎn)udio003’的<mpv:Audio>49。
因此,在資源列表40之下的層中的資源41到49是資源列表40的子資源,相反,資源列表40是子資源41到49的父資源。
在這些子資源中,<mpv:Seq>41和<mpv:StillWithAudio>46是復(fù)合資源,而余下的資源<mpv:Still>和<mpv:Audio>是簡(jiǎn)單資源。
每一個(gè)簡(jiǎn)單資源都具有指示內(nèi)容位置的LastURL,用于引用該資源。例如,其標(biāo)識(shí)符(ID)為‘still001’的靜態(tài)資源表示‘images/still01.jpg’,作為指示still001內(nèi)容位置的LastURL。
在復(fù)合資源中,<mpv:Seq>41內(nèi)部具有6個(gè)子資源。
即,可以發(fā)現(xiàn),<mpv:Seq>41的第一子資源引用其ID為‘a(chǎn)udio001’的音頻。第二子資源引用其ID為‘still001’的靜態(tài)圖像、第三子資源引用其ID為‘a(chǎn)udio002’的音頻,第四子資源引用其ID為‘sa001’的帶音頻靜態(tài)圖像、第五子資源引用其ID為‘still002’的靜態(tài)圖像,而第六子資源引用其ID為‘still003’的靜態(tài)圖像。
在復(fù)合資源中,帶音頻靜態(tài)圖像(StillWithAudio)46內(nèi)部具有兩個(gè)子資源。
第一子資源引用其ID為‘still004’的靜態(tài)圖像,并且第二子資源引用其ID為‘a(chǎn)udio003’的音頻。
在上述復(fù)合子資源中,可以發(fā)現(xiàn)帶音頻靜態(tài)圖像僅具有靜態(tài)圖像和音頻作為資源(如其名稱所示),而<mpv:Seq>可以具有任意資源作為其子資源。
因此,<mpv:Seq>可以具有任意類型的、以Ref結(jié)尾的引用資源,例如mpv:StillRef和mpv:AudioRef。因此,從這種資源提取信息很復(fù)雜。例如,為了獲得嵌入在由<mpv:Seq>分配的<mpv:StillWithAudioRef>中的<mpv:Still>的實(shí)際信息,需要下列步驟1.為了獲得其mpv:idRef為‘sa001’的<mpv:StillWithAudioRef>,分析其mpv:id為‘seq001’的<mpv:Seq>,2.為了獲得<mpv:StillRef>,分析其mpv:id為‘sa001’的<mpv:StillWithAudio>。
3.獲得<mpv:StillWithAudio>中的<mpv:StillRef>的mpv:idRef屬性,并且找出其ID為‘still004’的<mpv:Still>。
圖4B是說明圖4A所示的MPV文件的結(jié)構(gòu)的樹型結(jié)構(gòu)的圖。
參照?qǐng)D4B,資源列表40在清單1之下,并且9個(gè)子資源41到49在資源列表40之下。
<mpv:Seq>41的每個(gè)子資源引用資源列表40的子資源。
這種結(jié)構(gòu)是使用作為復(fù)合資源的<mpv:Seq>的普通形式。
圖5A是根據(jù)常規(guī)技術(shù)的、用于解釋<mpv:Seq>的另一種用法的示例MPV文件的示例。
參照?qǐng)D5A,資源列表具有5個(gè)資源。
第一子資源51是其ID為‘seq001’的<mpv:Seq>,并且具有引用引用其ID為‘seq002’的資源的子資源。
第二子資源52是其ID為‘seq002’的<mpv:Seq>,并且具有引用引用其ID為‘still001’的資源的子資源,和引用引用其ID為‘seq003’的資源的子資源。
第三子資源是其ID為‘seq003’的<mpv:Seq>,并且具有引用引用其ID為‘still002’的資源的子資源。
第四子資源54是其ID為‘still001’的靜態(tài)資源。
第五子資源55是其ID為‘still002’的靜態(tài)資源。
圖5B是說明圖5A所示的MPV文件的結(jié)構(gòu)的樹型結(jié)構(gòu)的圖。
參照?qǐng)D5B,資源列表的第一子資源的<mpv:Seq>51引用第二子資源<mpv:Seq>52,而第二子資源<mpv:Seq>52引用第三子資源<mpv:Seq>53。此外,第三子資源53引用作為簡(jiǎn)單資源的‘still002’。
雖然<mpv:Seq>繼續(xù)引用另一<mpv:Seq>,但是最終引用的資源是作為簡(jiǎn)單資源的‘still002’。因此,不出現(xiàn)諸如循環(huán)引用的問題。
因此,可以發(fā)現(xiàn),產(chǎn)生如<mpv:Seq>或<mpv:Sar>的復(fù)合資源,具有多個(gè)基本資源作為其子資源。雖然這種復(fù)合資源的復(fù)合結(jié)構(gòu)具有可以實(shí)現(xiàn)更多樣的再現(xiàn)情節(jié)的優(yōu)點(diǎn),但是由于有許多子資源而可能產(chǎn)生各種問題。這些問題之一就是‘循環(huán)引用’,這將參照?qǐng)D6A和6B進(jìn)行說明。
圖6A是根據(jù)常規(guī)技術(shù)的MPV文件的示例,用于說明由于使用<mpv:Seq>而產(chǎn)生循環(huán)引用的情況。
參照?qǐng)D6A,資源列表具有都為<mpv:Seq>的3個(gè)子資源。
第一子資源61是其ID為‘seq001’的<mpv:Seq>,并且引用引用其ID為‘seq002’的資源。
第二子資源62是其ID為‘seq002’的<mpv:Seq>,并且引用引用其ID為‘seq003’的資源。
第三子資源63是其ID為‘seq003’的<mpv:Seq>,并且引用引用其ID為‘seq001’的資源。
在這種情況下,發(fā)產(chǎn)生循環(huán)引用問題。即,由于第三子資源從頂端再次引用第一子資源,因此這3個(gè)子資源進(jìn)入無限循環(huán)。
圖6B是說明圖6A所示的MPV文件的結(jié)構(gòu)的樹型結(jié)構(gòu)的圖。
參照?qǐng)D6B,子資源seq001 61引用子資源seq002 62,子資源seq002 62引用子資源seq003 63,而子資源seq003 63引用子資源seq001 61。因此,可以發(fā)現(xiàn),在seq001、seq002和seq003間發(fā)生循環(huán),這產(chǎn)生了不可能跳出循環(huán)的循環(huán)引用問題。
圖7是根據(jù)常規(guī)技術(shù)的MPV文件的另一示例,用于說明由于使用<mpv:Seq>而發(fā)產(chǎn)生循環(huán)引用的情況。
參照?qǐng)D7,資源列表具有子資源<mpv:Seq>,其ID為‘seq000’。子資源71具有子資源<mpv:SeqRef>,它引用引用其ID為‘seq000’的資源。由于父資源71和子資源72相互引用,在兩者之間產(chǎn)生無限循環(huán)并且系統(tǒng)運(yùn)行仿佛停止。因此,產(chǎn)生循環(huán)引用問題。
發(fā)明內(nèi)容
然而,在常規(guī)技術(shù)中,如果在MPV分析器分析MPV文件時(shí)產(chǎn)生循環(huán)引用問題,則分析器向應(yīng)用程序報(bào)告MPV數(shù)據(jù)不正確或系統(tǒng)運(yùn)行不正確(仿佛停止)。因此,不能再使用在MPV文件中包含的數(shù)據(jù)。
本發(fā)明提供循環(huán)引用管理方法和設(shè)備以及分析方法和設(shè)備,通過它們,即使當(dāng)在MPV文件中產(chǎn)生循環(huán)引用時(shí),系統(tǒng)也可以正常運(yùn)行,并且可以使用包含在MPV文件中的數(shù)據(jù),本發(fā)明還提供用于存儲(chǔ)實(shí)現(xiàn)所述方法的程序的計(jì)算機(jī)可讀介質(zhì)。
根據(jù)本發(fā)明的一個(gè)方面,提供用于管理由于所提供的文件中的資源的相互引用產(chǎn)生的循環(huán)引用,從而控制多媒體應(yīng)用環(huán)境中的資源的循環(huán)引用管理方法,該方法包括檢測(cè)產(chǎn)生循環(huán)引用的資源;和忽略產(chǎn)生循環(huán)引用的資源。
產(chǎn)生循環(huán)引用的資源可以包括<mpv:Seq>或<mpv:Par>。
根據(jù)本發(fā)明的另一方面,提供用于管理由于所提供的文件中的資源的相互引用產(chǎn)生的循環(huán)引用,從而控制多媒體應(yīng)用環(huán)境中的資源的循環(huán)引用管理方法,該方法包括檢測(cè)能夠產(chǎn)生循環(huán)引用的資源;在所檢測(cè)到的資源的子資源中檢測(cè)引用具有所存儲(chǔ)的標(biāo)識(shí)符的資源的子資源;和忽略所檢測(cè)到的子資源。
在所檢測(cè)到的資源的子資源中檢測(cè)引用具有所存儲(chǔ)的標(biāo)識(shí)符的資源的子資源包括將所檢測(cè)到的資源的標(biāo)識(shí)符mpv:id與該資源的子資源中引用另一資源的子資源的引用標(biāo)識(shí)符mpv:idRef進(jìn)行比較;和檢測(cè)其mpv:idRef與mpv:id相同的子資源。
根據(jù)本發(fā)明的又一方面,提供用于分析所提供的文件,從而控制多媒體應(yīng)用環(huán)境中的資源的分析方法,該方法包括檢測(cè)文件是否遵從可擴(kuò)展標(biāo)記語(yǔ)言(XML)文件規(guī)則和音樂圖片視頻(MPV)文件規(guī)則;如果文件遵從XML文件或MPV文件規(guī)則,則分析包含在文件中的全部資源;檢測(cè)產(chǎn)生循環(huán)引用的資源同時(shí)分析該資源;和忽略產(chǎn)生循環(huán)引用的資源。
根據(jù)本發(fā)明的又一方面,提供循環(huán)引用管理設(shè)備,用于管理由于所提供的文件中的資源的相互引用產(chǎn)生的循環(huán)引用,從而控制多媒體應(yīng)用環(huán)境中的資源,該設(shè)備包括循環(huán)引用管理單元,用于檢測(cè)產(chǎn)生循環(huán)引用的資源,并且忽略產(chǎn)生循環(huán)引用的資源。
產(chǎn)生循環(huán)引用的資源可以包括<mpv:Seq>或<mpv:Par>。
根據(jù)本發(fā)明的又一方面,提供循環(huán)引用管理設(shè)備,用于管理由于所提供的文件中的資源的相互引用產(chǎn)生的循環(huán)引用,從而控制多媒體應(yīng)用環(huán)境中的資源,該設(shè)備包括檢測(cè)單元,用于檢測(cè)能夠產(chǎn)生循環(huán)引用的資源;標(biāo)識(shí)符存儲(chǔ)單元,用于存儲(chǔ)所檢測(cè)到的資源的標(biāo)識(shí)符;標(biāo)識(shí)符比較單元,用于在所檢測(cè)到的資源的子資源中檢測(cè)引用具有所存儲(chǔ)的標(biāo)識(shí)符的資源的子資源;和循環(huán)引用處理單元,用于忽略所檢測(cè)到的子資源。
標(biāo)識(shí)符比較單元可以將所存儲(chǔ)的資源的標(biāo)識(shí)符mpv:id與該資源的子資源中引用另一資源的子資源的引用標(biāo)識(shí)符mpv:idRef進(jìn)行比較,并且檢測(cè)其mpv:idRef與mpv:id相同的子資源。
根據(jù)本發(fā)明的額外的方面,提供用于分析提供來控制多媒體應(yīng)用環(huán)境中的資源的文件的分析設(shè)備,該設(shè)備包括循環(huán)引用管理單元,用于檢測(cè)產(chǎn)生循環(huán)引用的資源,同時(shí)分析遵從XML文件規(guī)則和MPV文件規(guī)則的MPV文件中包含的資源,并且忽略產(chǎn)生循環(huán)引用的資源。
循環(huán)引用管理單元可以產(chǎn)生再現(xiàn)控制信息來禁止產(chǎn)生循環(huán)引用的資源的再現(xiàn),并且將所產(chǎn)生的再現(xiàn)控制信息發(fā)送到用于控制MPV文件中包含的資源的再現(xiàn)的設(shè)備。
根據(jù)本發(fā)明額外的方面,提供計(jì)算機(jī)可讀記錄介質(zhì),在其上實(shí)現(xiàn)了用于管理由于所提供的文件中的資源的相互引用產(chǎn)生的循環(huán)引用,從而控制多媒體應(yīng)用環(huán)境中的資源的循環(huán)引用管理方法的計(jì)算機(jī)程序,其中該方法包括檢測(cè)產(chǎn)生循環(huán)引用的資源;和忽略產(chǎn)生循環(huán)引用的資源。
根據(jù)本發(fā)明額外的方面,提供計(jì)算機(jī)可讀記錄介質(zhì),在其上實(shí)現(xiàn)了用于管理由于所提供的文件中的資源的相互引用產(chǎn)生的循環(huán)引用,從而控制多媒體應(yīng)用環(huán)境中的資源的循環(huán)引用管理方法的計(jì)算機(jī)程序,其中該方法包括檢測(cè)能夠產(chǎn)生循環(huán)引用的資源;存儲(chǔ)所檢測(cè)到的資源的標(biāo)識(shí)符;在所檢測(cè)到的資源的子資源中檢測(cè)引用具有所存儲(chǔ)的標(biāo)識(shí)符的資源的子資源;和忽略所檢測(cè)到的子資源。
根據(jù)本發(fā)明額外的方面,提供計(jì)算機(jī)可讀記錄介質(zhì),在其上實(shí)現(xiàn)了用于分析提供來控制多媒體應(yīng)用環(huán)境中的資源的文件的分析方法的計(jì)算機(jī)程序,其中該方法包括確定文件是否遵從可擴(kuò)展標(biāo)記語(yǔ)言(XML)文件規(guī)則和音樂圖片視頻(MPV)文件規(guī)則;如果文件遵從XML文件或MPV文件規(guī)則,則分析包含在文件中的全部資源;檢測(cè)產(chǎn)生循環(huán)引用的資源同時(shí)分析該資源;和忽略產(chǎn)生循環(huán)引用的資源。
根據(jù)上述本發(fā)明,可以檢測(cè)和處理在MPV文件中發(fā)生的循環(huán)引用,以使得可以防止系統(tǒng)進(jìn)入無限循環(huán)或防止系統(tǒng)引起錯(cuò)誤操作。
通過參照附圖詳細(xì)描述本發(fā)明示例性實(shí)施例,本發(fā)明的上述和其它特征和優(yōu)點(diǎn)將變得更具清楚,其中圖1是根據(jù)常規(guī)技術(shù)的用于說明音樂圖片視頻(MPV)的原理的參考圖;圖2是顯示根據(jù)常規(guī)技術(shù)的MPV簡(jiǎn)單資源的示例的圖;圖3是顯示根據(jù)常規(guī)技術(shù)的MPV復(fù)合資源的示例的圖;圖4A是根據(jù)常規(guī)技術(shù)的MPV文件的示例,用于說明<mpv:Seq>的示例的用法;圖4B是說明圖4A所示的MPV文件的結(jié)構(gòu)的樹型結(jié)構(gòu)的圖;圖5A是根據(jù)常規(guī)技術(shù)的MPV文件的示例,用于說明<mpv:Seq>的示例的另一用法;圖5B是說明圖5A所示的MPV文件的結(jié)構(gòu)的樹型結(jié)構(gòu)的圖;圖6A是根據(jù)常規(guī)技術(shù)的MPV文件的示例,用于說明由于使用<mpv:Seq>產(chǎn)生循環(huán)引用的情況;圖6B是說明圖6A所示的MPV文件的結(jié)構(gòu)的樹型結(jié)構(gòu)的圖。
圖7是根據(jù)常規(guī)技術(shù)的MPV文件的另一示例,用于說明由于使用<mpv:Seq>產(chǎn)生循環(huán)引用的情況。
圖8是根據(jù)本發(fā)明的用于解決循環(huán)引用的設(shè)備的整體結(jié)構(gòu)的圖;圖9是圖8所示的循環(huán)引用管理單元的詳細(xì)圖;圖10是根據(jù)本發(fā)明的用于解決循環(huán)引用的方法所執(zhí)行的步驟的流程圖;圖11是圖10所示的用于解決循環(huán)引用的方法的詳細(xì)流程圖;和圖12A到12C是說明當(dāng)分析圖6A所示的MPV文件時(shí)要存儲(chǔ)在ID存儲(chǔ)單元中的標(biāo)識(shí)(ID)的參考圖。
具體實(shí)施例方式
將參照附圖更加全面地描述本發(fā)明,在附圖中顯示了本發(fā)明的示例性實(shí)施例。
在本發(fā)明中,為了解決循環(huán)引用問題,如果在MPV中檢測(cè)到循環(huán)引用的出現(xiàn),則忽略產(chǎn)生循環(huán)引用的資源連接、以使得僅在該循環(huán)引用發(fā)生之前對(duì)資源執(zhí)行分析,并且忽略產(chǎn)生循環(huán)引用的資源、以使得不能再現(xiàn)該資源。因此,通過檢測(cè)并忽略產(chǎn)生循環(huán)引用的資源,可以防止系統(tǒng)進(jìn)入無限循環(huán),并且可以使用包含在MPV文件中的其他資源。
首先,將參照?qǐng)D8說明根據(jù)本發(fā)明的解決循環(huán)引用的設(shè)備。
圖8是根據(jù)本發(fā)明的用于解決循環(huán)引用的設(shè)備的整體結(jié)構(gòu)的圖。該設(shè)備可以應(yīng)用到諸如PC、DVD播放器、DVD錄像機(jī)、MP3播放器、數(shù)字視頻照相機(jī)(DVC)和數(shù)字靜態(tài)照相機(jī)之類的內(nèi)容產(chǎn)生產(chǎn)品中。
參照?qǐng)D8,該設(shè)備包括存儲(chǔ)介質(zhì)81、MPV分析器82、再現(xiàn)控制單元84、視頻輸出單元85和音頻輸出單元86。
存儲(chǔ)介質(zhì)81存儲(chǔ)要由MPV分析器82分析的MPV文件,以及MPV文件中引用到并由再現(xiàn)控制單元84再現(xiàn)的內(nèi)容。存儲(chǔ)介質(zhì)81可以是例如存儲(chǔ)器、記憶棒、光盤和硬盤中的任意一個(gè)。
MPV分析器82從存儲(chǔ)介質(zhì)81讀取MPV文件,分析記錄在MPV文件中的各種資源和元數(shù)據(jù),并且向再現(xiàn)控制單元84提供允許再現(xiàn)存儲(chǔ)介質(zhì)81中所存儲(chǔ)的內(nèi)容的再現(xiàn)控制信息。更具體地說,根據(jù)本實(shí)施例的MPV分析器包括用于解決循環(huán)引用問題的循環(huán)引用管理單元83。
循環(huán)引用管理單元83檢測(cè)在分析文件時(shí)是否產(chǎn)生循環(huán)引用,如果產(chǎn)生循環(huán)引用,則執(zhí)行處理來忽略產(chǎn)生循環(huán)引用的資源。具體講,在這里,忽略產(chǎn)生再現(xiàn)控制信息的裝置,以使得不能再現(xiàn)產(chǎn)生循環(huán)引用的資源,并且向再現(xiàn)控制單元84提供所產(chǎn)生的再現(xiàn)控制信息。
接收到MPV分析器82的分析結(jié)果,即,再現(xiàn)控制信息,再現(xiàn)控制單元84根據(jù)所接收的再現(xiàn)控制信息進(jìn)行控制,以使得可以再現(xiàn)存儲(chǔ)在存儲(chǔ)介質(zhì)81中的內(nèi)容。此時(shí),根據(jù)本實(shí)施例,再現(xiàn)控制單元84根據(jù)再現(xiàn)控制信息對(duì)產(chǎn)生循環(huán)引用的資源進(jìn)行控制,以使得不能再現(xiàn)循環(huán)引用。
視頻輸出單元85顯示對(duì)應(yīng)于諸如由再現(xiàn)控制單元84提供的數(shù)字圖片之類的圖像的內(nèi)容。
音頻輸出單元86輸出從再現(xiàn)控制單元84輸出的音頻信號(hào)。
圖9是圖8所示的循環(huán)引用管理單元83的詳細(xì)圖。
參照?qǐng)D9,循環(huán)引用管理單元83包括循環(huán)引用有效(capable)資源檢測(cè)單元91、ID插入單元92、ID比較單元93、ID檢測(cè)單元94和ID存儲(chǔ)單元95。
循環(huán)引用有效資源檢測(cè)單元91檢測(cè)MPV文件中可以產(chǎn)生循環(huán)引用的資源,即<mpv:Par>或<mpv:Seq>。循環(huán)引用有效資源檢測(cè)單元91放置在循環(huán)引用管理單元83之外,以向循環(huán)引用管理單元83發(fā)送用于指示檢測(cè)到循環(huán)引用有效資源的信號(hào)。
當(dāng)檢測(cè)到<mpv:Par>或<mpv:Seq>時(shí),為了ID插入,ID插入單元92將<mpv:Par>或<mpv:Seq>的ID,即mpv:id,存儲(chǔ)到ID存儲(chǔ)單元(RefIDSet)95。
ID比較單元93將<mpv:Par>資源或<mpv:Seq>資源引用的資源的ID與存儲(chǔ)在ID存儲(chǔ)單元95中的ID進(jìn)行比較。當(dāng)比較結(jié)果指示ID相同時(shí),ID比較單元向循環(huán)引用處理單元96發(fā)送用于指示產(chǎn)生循環(huán)引用的信號(hào)。當(dāng)在分析了<mpv:Par>或<mpv:Seq>中的所有子資源后沒有更多的子資源來進(jìn)行分析時(shí),ID刪除單元94刪除ID存儲(chǔ)單元95中存儲(chǔ)的所有ID來準(zhǔn)備下一循環(huán)引用管理。
當(dāng)從ID比較單元接收了用于指示循環(huán)引用產(chǎn)生的信號(hào)時(shí),循環(huán)引用處理單元96執(zhí)行處理來忽略產(chǎn)生循環(huán)引用的資源。忽略資源的處理例如是產(chǎn)生再現(xiàn)控制信息來防止再現(xiàn)產(chǎn)生循環(huán)引用的資源。
ID存儲(chǔ)單元(RefIDSet)95存儲(chǔ)mpv:id,即正在分析中的MPV文件中包含的<mpv:Par>資源或<mpv:Seq>資源的ID。
圖10是根據(jù)本發(fā)明的用于解決循環(huán)引用的方法所執(zhí)行的步驟的流程圖。
參照?qǐng)D10,MPV分析器82首先在操作101確定要分析的MPV文件是否遵從XML文件規(guī)則。如果要分析的MPV文件不遵從XML文件規(guī)則,則MPV文件終止分析。
接下來,MPV分析器82在操作102確定要分析的文件是否遵從MPV文件規(guī)則。如果要分析的MPV文件不遵從MPV文件規(guī)則,則MPV分析器82終止分析。
當(dāng)要分析的MPV文件遵從XML文件規(guī)則和MPV文件規(guī)則時(shí),MPV分析器82在操作103分析分析整體MPV資源。
當(dāng)分析MPV文件時(shí),循環(huán)引用管理單元83在操作104特別確定MPV文件是否具有循環(huán)引用。如果MPV文件不具有循環(huán)引用,分析結(jié)束。
當(dāng)MPV文件具有循環(huán)引用時(shí),循環(huán)引用管理單元83在操作105執(zhí)行處理來忽略產(chǎn)生循環(huán)引用的資源,并結(jié)束處理。
圖11是圖10所示的用于解決循環(huán)引用的方法的詳細(xì)流程圖。
參照?qǐng)D11,循環(huán)引用有效資源檢測(cè)單元91在操作111確定是否存在沒有分析的資源列表的直接子資源(DCA)。如果確定結(jié)果指示沒有DCA,則表示執(zhí)行了所有的分析,并且結(jié)束分析。
如果存在沒有分析的DCA,則循環(huán)引用有效資源檢測(cè)單元91在操作112確定DCA是否是<mpv:Par>資源或<mpv:Seq>資源。如果確定結(jié)果指示DCA既不是<mpv:Par>也不是<mpv:Seq>,則不可能出現(xiàn)循環(huán)引用,因此執(zhí)行操作111來分析下一資源。
當(dāng)DCA是<mpv:Par>或<mpv:Seq>時(shí),ID插入單元在操作113在RefIDSet中存儲(chǔ)mpv:d,即DCA的ID。
接下來,循環(huán)引用有效資源檢測(cè)單元91在操作114確定是否存在沒有分析DCA的子資源。
如果確定結(jié)果指示不存在其中沒有分析DCA的子資源,則不可能從DCA出現(xiàn)循環(huán)引用,因此,執(zhí)行操作111來分析下一資源。
然而,如果存在沒有分析DCA的子資源,則在操作115確定該子資源是否引用另一資源。即,確定子資源是否具有mpv:idRef。如果確定結(jié)果指示它不是引用另一資源的資源,則不可能出現(xiàn)循環(huán)引用,因此,執(zhí)行操作114來分析下一子資源。
如果子資源引用另一資源,即,如果子資源具有mpv:idRef,則ID比較單元93在操作116確定RefIDSet是否具有該子資源的mpv:idRef。換句話說,確定與當(dāng)前分析的子資源的mpv:idRef相同的ID是否存儲(chǔ)在RefIDSet中。
如果確定結(jié)果指示與當(dāng)前分析的子資源的mpv:idRef相同的ID存儲(chǔ)在RefIDSet中,則ID比較單元93在操作119確定發(fā)生了循環(huán)引用,并且忽略產(chǎn)生循環(huán)引用的子資源。為了執(zhí)行操作119,循環(huán)引用處理單元96可以產(chǎn)生再現(xiàn)控制信息來防止產(chǎn)生循環(huán)引用的子資源被再現(xiàn),并且將信息提供到MPV分析器82。然后,執(zhí)行操作114來分析下一子資源。
如果確定結(jié)果指示ID沒有被存儲(chǔ)在RefIDSet中,則循環(huán)引用有效資源檢測(cè)單元91在操作117確定當(dāng)前要分析的子資源是否引用DCA(即,<mpv:Par>或<mpv:Seq>)。如果確定結(jié)果指示該子資源不引用<mpv:Par>或<mpv:Seq>,則執(zhí)行操作114來分析下一子資源。
如果確定結(jié)果指示該子資源引用<mpv:Par>或<mpv:Seq>,則在操作118開始該子資源引用的DCA的分析,并且執(zhí)行操作113來在RefIDSet中存儲(chǔ)該子資源引用的DCA的ID(mpv:id)。
如果在操作114確定DCA不具有未分析的子資源,則ID刪除單元在操作120清除RefIDSet。
將使用圖6A所示的,產(chǎn)生實(shí)際循環(huán)引用的MPV文件的示例來解釋根據(jù)本實(shí)施例的循環(huán)引用解決方法。
首先,由于第一子資源61的類型是<mpv:Seq>,并且第一子資源61的ID是‘seq001’,因此,如圖12A所示,‘seq001’121在操作113存儲(chǔ)在ID存儲(chǔ)單元95中。
接下來,檢測(cè)第一子資源的子資源。如圖12A所示,由于該子資源具有<mpv:idRef>,因此在操作116確定該mpv:idRef‘seq002’是否是存儲(chǔ)在ID存儲(chǔ)單元95中的ID。由于ID存儲(chǔ)單元95不具有‘seq002’,因此執(zhí)行下一操作117。由于該子資源引用DCA(<mpv:Seq>),因此執(zhí)行操作118來開始分析由該子資源引用的DCA,并且執(zhí)行操作113來在ID存儲(chǔ)單元95中存儲(chǔ)由這個(gè)子資源引用的DCA,即‘seq002’。因此,如圖12B所示,seq001 121和seq002 122存儲(chǔ)在ID存儲(chǔ)單元95中。
接下來,檢測(cè)該第二子資源62的子資源。由于該子資源具有mpv:idRef,因此在操作116確定該mpv:idRef‘seq003’是否是存儲(chǔ)在ID存儲(chǔ)單元95中的ID。由于ID存儲(chǔ)單元95不具有‘seq002’,因此執(zhí)行下一操作117。由于該子資源在操作117引用DCA(<mpv:Seq>),因此執(zhí)行操作118來開始分析由該子資源引用的DCA,并且執(zhí)行操作113來在ID存儲(chǔ)單元95中存儲(chǔ)由這個(gè)子資源引用的DCA,即‘seq003’。因此,如圖12C所示,seq001 121、seq002122和seq003 123存儲(chǔ)在ID存儲(chǔ)單元95中。
接下來,檢測(cè)該第三子資源63的子資源。由于該子資源具有mpv:idRef,因此在操作116確定該mpv:idRef‘seq001’是否是存儲(chǔ)在ID存儲(chǔ)單元95中的ID。由于ID存儲(chǔ)單元95存儲(chǔ)‘seq001’,可以發(fā)現(xiàn)產(chǎn)生了循環(huán)引用,并且執(zhí)行操作119來忽略該子資源。即,忽略第三子資源63的子資源<mpv:SeqRefmpv:idRef=‘seq001’>。在圖6A所示的MPV文件的示例中,僅由<mpv:Seq>和<mpv:SeqRef>來形成資源列表的所有子資源以及它們的子資源以便顯示循環(huán)引用,因此,很難將該示例應(yīng)用到實(shí)際再現(xiàn)中。然而,如果在第三子資源63的子資源<mpv:SeqRef mpv:idRef=‘seq001’>之前存在另一子資源,則再現(xiàn)可以執(zhí)行到之前的那個(gè)子資源,并且可以禁止<mpv:SeqRef mpv:idRef=‘seq001’>的再現(xiàn)。
然后,執(zhí)行操作114,由于沒有要進(jìn)一步分析的子資源,因此執(zhí)行操作120來清除ID存儲(chǔ)單元。
雖然,在上面的實(shí)施例中說明了將根據(jù)本發(fā)明的循環(huán)引用管理方法主要應(yīng)用到MPV文件和分析MPV文件的設(shè)備上,但是根據(jù)本發(fā)明的的循環(huán)引用管理的應(yīng)用不限于該MPV,并且可以包括產(chǎn)生并使用用于資源控制的播放列表的應(yīng)用,這對(duì)于本發(fā)明的領(lǐng)域中的技術(shù)人員來說是顯而易見的。
上述循環(huán)引用管理方法還可以實(shí)現(xiàn)為計(jì)算機(jī)可讀記錄介質(zhì)上的計(jì)算機(jī)可讀代碼。計(jì)算機(jī)可讀記錄介質(zhì)是可以存儲(chǔ)可由計(jì)算機(jī)系統(tǒng)讀取的數(shù)據(jù)的任何數(shù)據(jù)存儲(chǔ)設(shè)備。計(jì)算機(jī)可讀記錄介質(zhì)的示例包括只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、CD-ROM、磁帶、軟盤、光數(shù)據(jù)存儲(chǔ)裝置和載波(諸如通過因特網(wǎng)的數(shù)據(jù)發(fā)送)。計(jì)算機(jī)可讀記錄介質(zhì)還可以分布在聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)中,以便以分布的方式存儲(chǔ)并執(zhí)行計(jì)算機(jī)可讀代碼。(此外,本發(fā)明所屬領(lǐng)域的技術(shù)程序員很容易解釋用于完成本發(fā)明的功能程序、代碼和代碼段)。
盡管參照示例性實(shí)施例描述了本發(fā)明,但本領(lǐng)域內(nèi)的普通技術(shù)人員將理解的是,可在不背離由所附權(quán)利要求書限定的本發(fā)明宗旨和范圍的前提下對(duì)本發(fā)明進(jìn)行各種形式和細(xì)節(jié)上的修改。優(yōu)選實(shí)施例應(yīng)該僅認(rèn)為是說明性的,而不是限制性的。因此,本發(fā)明的詳細(xì)描述不限定本發(fā)明的范圍,而是由所附權(quán)利要求限定,并且范圍內(nèi)的所有差異應(yīng)理解為包含在本發(fā)明中。
工業(yè)適用性本發(fā)明可以應(yīng)用到產(chǎn)生并管理多媒體的多媒體設(shè)備上,諸如數(shù)字照相機(jī)、數(shù)字?jǐn)z像機(jī)、數(shù)字音頻播放器(MP3、WMA)。
權(quán)利要求
1.一種用于管理由在提供來控制多媒體應(yīng)用環(huán)境中的資源的文件中的資源的相互引用發(fā)生的循環(huán)引用的循環(huán)引用管理方法,所述方法包括檢測(cè)產(chǎn)生循環(huán)引用的資源;和忽略產(chǎn)生循環(huán)引用的資源。
2.如權(quán)利要求1所述的方法,其中產(chǎn)生循環(huán)引用的資源包括<mpv:Seq>或<mpv:Par>。
3.一種用于管理由在提供來控制多媒體應(yīng)用環(huán)境中的資源的文件中的資源的相互引用發(fā)生的循環(huán)引用的循環(huán)引用管理方法,所述方法包括檢測(cè)能夠產(chǎn)生循環(huán)引用的資源;在所檢測(cè)到的資源的子資源中檢測(cè)引用所檢測(cè)到的資源的子資源;和忽略所檢測(cè)到的子資源。
4.如權(quán)利要求3所述的方法,其中能夠產(chǎn)生循環(huán)引用的資源包括<mpv:Seq>或<mpv:Par>。
5.如權(quán)利要求4所述的方法,其中在所檢測(cè)到的資源的子資源中檢測(cè)引用所檢測(cè)到的資源的子資源包括將所檢測(cè)到的資源的標(biāo)識(shí)符mpv:id與該資源的子資源中引用另一資源的子資源的引用標(biāo)識(shí)符mpv:idRef進(jìn)行比較;和檢測(cè)具有與mpv:id相同的mpv:idRef的子資源。
6.如權(quán)利要求3所述的方法,其中忽略所檢測(cè)到的子資源包括產(chǎn)生控制信息來禁止再現(xiàn)所檢測(cè)到的子資源。
7.一種用于分析提供來控制多媒體應(yīng)用環(huán)境中的資源的文件的分析方法,所述方法包括確定該文件是否遵從可擴(kuò)展標(biāo)記語(yǔ)言(XML)文件規(guī)則和音樂圖片視頻(MPV)文件規(guī)則;如果該文件遵從XML文件或MPV文件規(guī)則,則分析包含在文件中的全部資源;在分析該資源的同時(shí),檢測(cè)產(chǎn)生循環(huán)引用的資源;和忽略產(chǎn)生循環(huán)引用的資源。
8.如權(quán)利要求7所述的分析方法,其中忽略資源包括產(chǎn)生再現(xiàn)控制信息來禁止產(chǎn)生循環(huán)引用的資源的再現(xiàn)。
9.一種用于管理由在提供來控制多媒體應(yīng)用環(huán)境中的資源的文件中的資源的相互引用發(fā)生的循環(huán)引用的循環(huán)引用管理設(shè)備,該設(shè)備包括循環(huán)引用管理單元,用于檢測(cè)產(chǎn)生循環(huán)引用的資源,并且忽略產(chǎn)生循環(huán)引用的資源。
10.如權(quán)利要求9所述的設(shè)備,其中產(chǎn)生循環(huán)引用的資源包括<mpv:Seq>或<mpv:Par>。
11.一種用于管理由在提供來控制多媒體應(yīng)用環(huán)境中的資源的文件中的資源的相互引用發(fā)生的循環(huán)引用的循環(huán)引用管理設(shè)備,該設(shè)備包括檢測(cè)單元,用于檢測(cè)能夠產(chǎn)生循環(huán)引用的資源;標(biāo)識(shí)符存儲(chǔ)單元,用于存儲(chǔ)所檢測(cè)到的資源的標(biāo)識(shí)符;標(biāo)識(shí)符比較單元,用于在所檢測(cè)到的資源的子資源中檢測(cè)引用具有所存儲(chǔ)的標(biāo)識(shí)符的資源的子資源;和循環(huán)引用處理單元,用于忽略所檢測(cè)到的子資源。
12.如權(quán)利要求11所述的設(shè)備,其中產(chǎn)生循環(huán)引用的資源包括<mpv:Seq>或<mpv:Par>。
13.如權(quán)利要求12所述的設(shè)備,其中標(biāo)識(shí)符比較單元可以將所檢測(cè)到的資源的所存儲(chǔ)的標(biāo)識(shí)符mpv:id與該資源的子資源中引用另一資源的子資源的引用標(biāo)識(shí)符mpv:idRef進(jìn)行比較,并且檢測(cè)其mpv:idRef與mpv:id相同的子資源。
14.如權(quán)利要求11所述的設(shè)備,其中循環(huán)引用處理單元產(chǎn)生控制信息來禁止所檢測(cè)子資源的再現(xiàn)。
15.一種用于分析提供來控制多媒體應(yīng)用環(huán)境中的資源的文件的分析設(shè)備,該設(shè)備包括循環(huán)引用管理單元,用于檢測(cè)產(chǎn)生循環(huán)引用的資源,同時(shí)分析遵從XML文件規(guī)則和MPV文件規(guī)則的MPV文件中包含的資源,并且忽略產(chǎn)生循環(huán)引用的資源。
16.如權(quán)利要求15所述的分析設(shè)備,其中循環(huán)引用管理單元產(chǎn)生再現(xiàn)控制信息來禁止產(chǎn)生循環(huán)引用的資源的再現(xiàn),并且將所產(chǎn)生的再現(xiàn)控制信息發(fā)送到用于控制MPV文件中包含的資源的再現(xiàn)的設(shè)備。
17.一種計(jì)算機(jī)可讀記錄介質(zhì),在其上收錄了用于管理由在提供來控制多媒體應(yīng)用環(huán)境中的資源的文件中的資源的相互引用發(fā)生的循環(huán)引用的循環(huán)引用管理方法的計(jì)算機(jī)程序,其中所述方法包括檢測(cè)產(chǎn)生循環(huán)引用的資源;和忽略產(chǎn)生循環(huán)引用的資源。
18.一種計(jì)算機(jī)可讀記錄介質(zhì),在其上收錄了用于管理由在提供來控制多媒體應(yīng)用環(huán)境中的資源的文件中的資源的相互引用發(fā)生的循環(huán)引用的循環(huán)引用管理方法的計(jì)算機(jī)程序,其中所述方法包括檢測(cè)能夠產(chǎn)生循環(huán)引用的資源;存儲(chǔ)所檢測(cè)到的資源的標(biāo)識(shí)符;在所檢測(cè)到的資源的子資源中檢測(cè)引用具有所存儲(chǔ)的標(biāo)識(shí)符的資源的子資源;和忽略所檢測(cè)到的子資源。
19.一種計(jì)算機(jī)可讀記錄介質(zhì),在其上收錄了用于分析提供來控制多媒體應(yīng)用環(huán)境中的資源的文件的分析方法的計(jì)算機(jī)程序,其中所述方法包括確定文件是否遵從可擴(kuò)展標(biāo)記語(yǔ)言(XML)文件規(guī)則和音樂圖片視頻(MPV)文件規(guī)則;如果文件遵從XML文件或MPV文件規(guī)則,則分析包含在文件中的全部資源;檢測(cè)產(chǎn)生循環(huán)引用的資源同時(shí)分析該資源;和忽略產(chǎn)生循環(huán)引用的資源。
全文摘要
提供循環(huán)引用管理方法和設(shè)備、分析方法和設(shè)備以及存儲(chǔ)用于實(shí)現(xiàn)所述方法的程序的計(jì)算機(jī)可讀記錄介質(zhì)。用于管理可能通過提供來控制多媒體應(yīng)用環(huán)境中的資源的文件中的資源的相互引用發(fā)生的循環(huán)引用的引用方法包括檢測(cè)產(chǎn)生循環(huán)引用的資源;和忽略產(chǎn)生循環(huán)引用的資源。根據(jù)所述方法和設(shè)備,可以檢測(cè)并處理在文件中可能發(fā)生來控制資源的循環(huán)引用,以使得可以防止系統(tǒng)進(jìn)入無限循環(huán)或引起錯(cuò)誤操作。
文檔編號(hào)G06F17/30GK1906582SQ200580001516
公開日2007年1月31日 申請(qǐng)日期2005年3月28日 優(yōu)先權(quán)日2004年4月2日
發(fā)明者金斗鎰, 申盛國(guó), 金榮潤(rùn), 安振镕, 金熙娟, 崔爀丞 申請(qǐng)人:三星電子株式會(huì)社