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

使用圖形數(shù)據(jù)壓縮的元表示產(chǎn)生輸入文件的方法

文檔序號(hào):7952155閱讀:226來源:國(guó)知局
專利名稱:使用圖形數(shù)據(jù)壓縮的元表示產(chǎn)生輸入文件的方法
技術(shù)領(lǐng)域
本發(fā)明涉及圖形數(shù)據(jù)寫(writing),特別地涉及一種使用圖形數(shù)據(jù)壓縮的元表示產(chǎn)生輸入文件的方法。
背景技術(shù)
一種傳統(tǒng)可擴(kuò)展MPEG-4文本格式技術(shù)(下文稱為‘XMT’)能夠表示MPEG-4基本要素,例如,二維(2D)或三維(3D)圖形、音頻和視頻,從而編輯者能夠方便地處理它們。此外,已經(jīng)設(shè)計(jì)了一種內(nèi)容編輯框架,以便允許由編輯者制作的數(shù)據(jù)在不同的應(yīng)用中再使用,并且使數(shù)據(jù)具有兼容性和可移植性。數(shù)據(jù)的再使用和數(shù)據(jù)的兼容性和可移植性是能夠?qū)崿F(xiàn)的,因?yàn)樵趥鹘y(tǒng)的XMT中定義與MPEG-4基本元素相關(guān)的可擴(kuò)展標(biāo)記語(yǔ)言(XML)語(yǔ)法。
可是,由于傳統(tǒng)的XMT并不處理3D數(shù)據(jù)的壓縮,因此很難去壓縮與編輯者制作的3D內(nèi)容相關(guān)的動(dòng)畫數(shù)據(jù)和表示(representtation)數(shù)據(jù)。

發(fā)明內(nèi)容
本發(fā)明提供一種使用有關(guān)圖形數(shù)據(jù)壓縮的元語(yǔ)言產(chǎn)生輸入文件的方法和裝置,從而在編輯階段能夠容易地壓縮圖形數(shù)據(jù)。
本發(fā)明也提供一種使用有關(guān)圖形數(shù)據(jù)壓縮的元語(yǔ)言產(chǎn)生輸入文件的方法和系統(tǒng),所述方法和系統(tǒng)使用XMT定義由MPEG-4AFX所建議的壓縮數(shù)據(jù)表示,從而在編輯階段很容易地壓縮圖形數(shù)據(jù)。
根據(jù)本發(fā)明的一個(gè)方面,提供一種使用有關(guān)圖形數(shù)據(jù)壓縮的元語(yǔ)言產(chǎn)生輸入文件的方法,所述方法包括產(chǎn)生可擴(kuò)展標(biāo)記語(yǔ)言(XML)模式,上述模式定義至少一個(gè)描述被壓縮的對(duì)象數(shù)據(jù)的壓縮節(jié)點(diǎn),以及用于數(shù)據(jù)壓縮的參數(shù);基于XML模式,產(chǎn)生樣式表,該樣式表支持從輸入XML文件向?qū)⒈惠斎氲綌?shù)據(jù)壓縮編碼器的文件的轉(zhuǎn)換;以及基于XML模式和樣式表分析輸入XML文件,以產(chǎn)生將被輸入到數(shù)據(jù)壓縮譯碼器的文件。較佳地,XML模式還包括指定文件位置的EncodingHints,其中所述文件存儲(chǔ)將被壓縮的對(duì)象數(shù)據(jù)。較佳地,所述參數(shù)至少包括下列參數(shù)之一與對(duì)象的頂點(diǎn)坐標(biāo)、對(duì)象的旋轉(zhuǎn)信息、將被壓縮的對(duì)象的位置信息相關(guān)的基于關(guān)鍵幀的動(dòng)畫數(shù)據(jù)的參數(shù)以及用于將被壓縮的對(duì)象的三維(3D)網(wǎng)格信息的參數(shù)。
對(duì)象的頂點(diǎn)坐標(biāo)是坐標(biāo)內(nèi)插器的數(shù)據(jù),該坐標(biāo)內(nèi)插器的數(shù)據(jù)使用基于關(guān)鍵幀的圖形動(dòng)畫中的x,y,z分量組成的頂點(diǎn)的坐標(biāo)來表示對(duì)象位置。對(duì)象的旋轉(zhuǎn)信息是基于關(guān)鍵幀的圖形動(dòng)畫中的方向內(nèi)插器的數(shù)據(jù)。對(duì)象的位置信息是基于關(guān)鍵幀的圖形動(dòng)畫中的位置內(nèi)插器的數(shù)據(jù)。根據(jù)本發(fā)明的另一個(gè)方面,提供一種使用有關(guān)圖形數(shù)據(jù)壓縮的元語(yǔ)言產(chǎn)生輸入文件的方法,該方法包括產(chǎn)生XMT模式,該模式定義一種定義被壓縮對(duì)象數(shù)據(jù)的壓縮節(jié)點(diǎn),用于數(shù)據(jù)壓縮的參數(shù),以及至少指定存儲(chǔ)被壓縮對(duì)象數(shù)據(jù)的文件位置的BitWrapperEncodingHints;基于XMT模式,產(chǎn)生XMT2BIFS樣式表和XMT2MUX樣式表,其中XMT2BIFS樣式表支持從輸入XMT文件向場(chǎng)景文件的轉(zhuǎn)換,XMT2MUX樣式表支持從XMT輸入文件到復(fù)用(mux)文件的轉(zhuǎn)換;以及通過使用XMT模式以及XMT2BIFS樣式表和XMT2MUX樣式表分析輸入XMT文件以產(chǎn)生場(chǎng)景文件和復(fù)用文件。較佳地,壓縮節(jié)點(diǎn)包括包含有將被壓縮的對(duì)象數(shù)據(jù)的節(jié)點(diǎn)字段;不與URL字段同時(shí)使用的緩沖字段,其中該緩沖字段使用帶內(nèi)場(chǎng)景(in-band scenario)而存儲(chǔ)在壓縮節(jié)點(diǎn)中定義的比特流;以及不與緩沖字段同時(shí)使用的URL字段,其使用帶外場(chǎng)景(out-band scenario)鏈接有關(guān)壓縮節(jié)點(diǎn)中定義的比特流的信息。較佳地,壓縮節(jié)點(diǎn)還包括指定節(jié)點(diǎn)壓縮模式的類型的類型字段。較佳地,所述參數(shù)至少包括用于與對(duì)象的頂點(diǎn)坐標(biāo)、對(duì)象的旋轉(zhuǎn)信息、被壓縮對(duì)象的位置信息相關(guān)的基于關(guān)鍵幀的動(dòng)畫數(shù)據(jù)的參數(shù),和用于將被壓縮的對(duì)象的3D網(wǎng)格信息的參數(shù)之一。
較佳地,BitWrapperEncodingHints還指定與壓縮節(jié)點(diǎn)的URL ID相同的對(duì)象描述符ID,存儲(chǔ)壓縮比特流的文件的名字,以及流格式的類型,和在復(fù)用文件中所描述的文件名。優(yōu)選地,分析輸入XMT文件還包括接收描述定義原始數(shù)據(jù)的壓縮節(jié)點(diǎn)、壓縮參數(shù)以及緩沖器的輸入XMT文件;并且通過使用XMT模式以及XMT2BIFS樣式表和XMT2MUX樣式表分析輸入XMT文件以產(chǎn)生場(chǎng)景文件和復(fù)用文件,其中場(chǎng)景文件包括原始數(shù)據(jù)、壓縮參數(shù)以及暫存由原始數(shù)據(jù)壓縮所獲得的比特流的緩沖器,以及復(fù)用文件描述使用BIFS編碼器編碼場(chǎng)景文件所獲得的文件名和和流格式。優(yōu)選地,分析輸入XMT文件還包括接收輸入XMT文件,所述輸入XMT文件定義含有能夠暫存壓縮對(duì)象數(shù)據(jù)的緩沖器的壓縮節(jié)點(diǎn);并且使用XMT模式以及XMT2BIFS樣式表和XMT2MUX樣式表分析輸入XMT文件以產(chǎn)生場(chǎng)景文件和復(fù)用文件,其中場(chǎng)景文件包含暫存比特流的緩沖器,該比特流表示壓縮對(duì)象數(shù)據(jù),以及復(fù)用文件說明了通過使用BIFS編碼器來編碼場(chǎng)景文件而獲得的文件的名字和流格式。優(yōu)選地,分析輸入XMT文件包括接收輸入XMT文件,所述輸入XMT文件描述定義原始數(shù)據(jù)、壓縮參數(shù)以及URL信息的壓縮節(jié)點(diǎn),以及定義與壓縮節(jié)點(diǎn)的url ID相同的對(duì)象描述符ID和表示壓縮對(duì)象數(shù)據(jù)的比特流的位置的BitWrapperEncodingHints;以及使用XMT模式以及XMT2BIFS樣式表和XMT2MUX樣式表分析輸入XMT文件以產(chǎn)生場(chǎng)景文件和復(fù)用文件,其中場(chǎng)景文件包括原始數(shù)據(jù)、壓縮參數(shù)以及與鏈接有關(guān)原始數(shù)據(jù)的壓縮所獲得的比特流的信息的URL信息,以及復(fù)用文件用于指定表示被壓縮對(duì)象數(shù)據(jù)的比特流的位置和在BitWrapperEncodingHints中所定義的流格式。較佳地,輸入XMT文件還包括ObjectDescriptorUpdate和從輸入XMT文件的分析中所產(chǎn)生的復(fù)用文件的名字,所述ObjectDescriptorUpdate定義與BitWrapperEncodingHints中所指定的對(duì)象描述符ID相同的對(duì)象描述符ID,其中場(chǎng)景文件還指定與在BitWrapperEncodingHints中所說明的對(duì)象描述符ID相同的對(duì)象描述符ID以及復(fù)用文件的名字。
較佳地,分析輸入XMT文件還包括接收輸入XMT文件,所述輸入XMT文件描述指定壓縮節(jié)點(diǎn)的BitWrapperEncodingHints,該壓縮節(jié)點(diǎn)定義鏈接關(guān)于已壓縮對(duì)象數(shù)據(jù)的信息的URL,所述輸入XMT文件還描述與URL ID相同的對(duì)象描述符ID以及表示壓縮對(duì)象數(shù)據(jù)的比特流的位置;通過使用XMT模式以及XMT2BIFS樣式表和XMT2MUX樣式表分析輸入XMT文件以產(chǎn)生場(chǎng)景文件和復(fù)用文件,其中場(chǎng)景文件包含URL,該URL鏈接有關(guān)由原始數(shù)據(jù)的壓縮所獲得的比特流的信息,并且URL的ID與在壓縮節(jié)點(diǎn)中所指定的對(duì)象描述符的ID相同,以及復(fù)用文件指定,表示BitWrapperEncodingHints中所定義的壓縮對(duì)象數(shù)據(jù)的比特流的位置和流格式。同樣,較佳地,輸入XMT文件還包括ObjectDescriptorUpdate,其指定與BitWrapperEncodingHints中所定義的對(duì)象描述符ID相同的對(duì)象描述符ID,和通過輸入XMT文件的分析而獲得的復(fù)用文件的名字,其中場(chǎng)景文件還指定與BitWrapperEncodingHints中所定義的描述符ID相同的對(duì)象描述符ID和復(fù)用文件的名字。
根據(jù)本發(fā)明的又一方面,提供一種使用有關(guān)圖形數(shù)據(jù)壓縮的元語(yǔ)言來產(chǎn)生輸入文件的系統(tǒng),該系統(tǒng)包括XML模式,XML模式定義至少包含有關(guān)被壓縮對(duì)象數(shù)據(jù)的信息的壓縮節(jié)點(diǎn)和用于數(shù)據(jù)壓縮的參數(shù);基于XML模式,支持輸入XML文件到將被輸入到預(yù)定數(shù)據(jù)壓縮編碼器的文件的轉(zhuǎn)換的樣式表;以及XML分析器,其基于XML模式和樣式表來分析輸入XML文件以產(chǎn)生輸入到預(yù)定數(shù)據(jù)壓縮編碼器的文件。優(yōu)選地,參數(shù)至少包括用于有關(guān)于對(duì)象頂點(diǎn)坐標(biāo)的基于關(guān)鍵幀的動(dòng)畫數(shù)據(jù)的參數(shù),用于對(duì)象的旋轉(zhuǎn)信息的參數(shù),用于被壓縮的對(duì)象的位置信息的參數(shù),以及用于被壓縮的3D網(wǎng)格信息的參數(shù)之一。
根據(jù)本發(fā)明的又一方面,提供一種使用有關(guān)圖形數(shù)據(jù)壓縮的元語(yǔ)言來產(chǎn)生輸入文件的系統(tǒng),該系統(tǒng)包括XML模式,XML模式定義用于指定被壓縮的對(duì)象數(shù)據(jù)的壓縮節(jié)點(diǎn),和用于數(shù)據(jù)壓縮的參數(shù),以及BitWrapperEncodingHints,所述的BitWrapperEncodingHints至少說明在存儲(chǔ)被壓縮對(duì)象數(shù)據(jù)的文件的位置;XMT2BIFS樣式表,其基于XMT模式而支持從輸入XMT文件到場(chǎng)景文件的轉(zhuǎn)換;XMT2MUX樣式表,其基于XMT模式而支持從輸入XMT文件到復(fù)用文件的轉(zhuǎn)換;以及XMT文件,其使用XMT模式以及XMT2BIFS樣式表和XMT2MUX樣式表分析輸入XMT文件以產(chǎn)生場(chǎng)景和復(fù)用文件。
較佳地,壓縮節(jié)點(diǎn)包括用于說明被壓縮對(duì)象數(shù)據(jù)的節(jié)點(diǎn)字段;緩沖字段,其不URL字段同時(shí)使用,并且使用帶內(nèi)場(chǎng)景(in-band scenario)傳輸表示壓縮對(duì)象數(shù)據(jù)的比特流,所述比特流在壓縮節(jié)點(diǎn)中指定;以及URL字段,其不與緩沖字段同時(shí)使用,并且使用帶外場(chǎng)景(out-band scenario)傳輸表示被壓縮的對(duì)象數(shù)據(jù)的比特流,該比特流在壓縮節(jié)點(diǎn)中指定。較佳地,參數(shù)至少包括用于有關(guān)于對(duì)象頂點(diǎn)坐標(biāo)的基于關(guān)鍵幀的動(dòng)畫數(shù)據(jù)的參數(shù),用于對(duì)象的旋轉(zhuǎn)信息的參數(shù),用于被壓縮的對(duì)象的位置信息的參數(shù),以及用于被壓縮的3D網(wǎng)格信息的參數(shù)之一。
較佳地,BitWrapperEncodingHints還包括與壓縮節(jié)點(diǎn)中所定義的URLID相同的對(duì)象描述符ID,存儲(chǔ)有包含在復(fù)用文件中的比特流的文件的名字,以及流格式的類型。
根據(jù)本發(fā)明的又一方面,提供了一種使用圖形數(shù)據(jù)壓縮的元表示產(chǎn)生輸入文件的方法,該方法包括制作可擴(kuò)展的MPEG-4文本格式XMT模式,該模式定義了包含關(guān)于將被壓縮的對(duì)象數(shù)據(jù)的信息的壓縮節(jié)點(diǎn);數(shù)據(jù)壓縮所必需的編碼參數(shù);與存儲(chǔ)在壓縮節(jié)點(diǎn)的URL字段中的標(biāo)識(shí)符相同的objectDescriptorID;以及BitWrapperEncodingHints,其指定存儲(chǔ)將要被發(fā)送的被壓縮比特流的文件的名稱和比特流的格式,其中存儲(chǔ)將要被發(fā)送的被壓縮比特流的文件被包含在復(fù)用文件中;基于XMT模式產(chǎn)生XMT2BIFS樣式表和XMT2MUX樣式表,其中,XMT2BIFS樣式表支持輸入XMT文件向場(chǎng)景文件的轉(zhuǎn)換,XMT2MUX樣式表支持輸入XMT文件向復(fù)用文件的轉(zhuǎn)換,其中,當(dāng)將被壓縮的圖形數(shù)據(jù)存在或壓縮節(jié)點(diǎn)的URL被使用時(shí),場(chǎng)景文件包含UPDATE OD,UPDATE OD描述與存儲(chǔ)在壓縮節(jié)點(diǎn)的URL字段中的標(biāo)識(shí)符相同的objectDescriptorID和復(fù)用文件的名稱,并且復(fù)用文件包含InitialObjectDescriptor具有是基本流描述符的ES_Descriptor,ES_Descriptor包含是表示通過壓縮場(chǎng)景數(shù)據(jù)而得到的比特流的基本流的標(biāo)識(shí)符的ES_ID,指定將被用于對(duì)比特流解碼的解碼器的decConfigDescr,指示復(fù)制時(shí)間的slConfigDescr,和指示存儲(chǔ)將被發(fā)送的比特流的文件的名稱和比特流的格式的muxInfo;以及ObjectDescriptor具有是基本流描述符的ES_Descriptor,ES_Descriptor包含是當(dāng)壓縮節(jié)點(diǎn)的URL被使用時(shí)鏈接到將被發(fā)送到該URL的對(duì)象的比特流的URL的標(biāo)識(shí)符的objectDescriptorID,指定將被用于對(duì)比特流解碼的解碼器的decConfigDescr,指示復(fù)制時(shí)間的slConfigDescr,指示存儲(chǔ)將被發(fā)送的比特流的文件的名稱和比特流的格式的muxInfo;以及通過使用XMT2BIFS樣式表和XMT2MUX樣式表、根據(jù)XMT模式分析輸入XMT文件來制作場(chǎng)景文件和復(fù)用文件,其中,壓縮節(jié)點(diǎn)包含節(jié)點(diǎn)字段,包含有將被壓縮的對(duì)象數(shù)據(jù);類型字段,指示節(jié)點(diǎn)壓縮編碼器的類型;URL字段,不與緩存字段同時(shí)使用并將在節(jié)點(diǎn)中定義的壓縮比特流作為帶外數(shù)據(jù)發(fā)送;以及緩存字段,不與URL字段同時(shí)使用并將在壓縮節(jié)點(diǎn)中定義的比特流作為帶內(nèi)數(shù)據(jù)發(fā)送,并且編碼參數(shù)包括用于關(guān)于將被壓縮的對(duì)象的頂點(diǎn)坐標(biāo)的基于關(guān)鍵幀的動(dòng)畫數(shù)據(jù)的參數(shù);用于三維網(wǎng)格信息的參數(shù);用于旋轉(zhuǎn)移動(dòng)的基于關(guān)鍵幀的動(dòng)畫數(shù)據(jù)的參數(shù);和用于位置移動(dòng)的基于關(guān)鍵幀的動(dòng)畫數(shù)據(jù)的參數(shù)。
根據(jù)本發(fā)明的又一方面,提供一種記錄有在計(jì)算機(jī)中執(zhí)行上述方法的程序的計(jì)算機(jī)可讀記錄介質(zhì)。


通過參考附圖而詳細(xì)地描述其中的優(yōu)選實(shí)施例,本發(fā)明的上述和其他方面和優(yōu)點(diǎn)將變得更加明顯,其中圖1是根據(jù)本發(fā)明的優(yōu)選實(shí)施例,使用有關(guān)圖象數(shù)據(jù)壓縮的元語(yǔ)言的輸入文件生成系統(tǒng)的結(jié)構(gòu)圖;圖2是根據(jù)本發(fā)明的另一優(yōu)選實(shí)施例,使用有關(guān)圖象數(shù)據(jù)壓縮的元語(yǔ)言的輸入文件生成系統(tǒng)的結(jié)構(gòu)圖;圖3說明使用文本語(yǔ)法的MPEG-4情景描述的XMT框架;圖4說明使用參數(shù)將有關(guān)對(duì)象A的三維(3D)數(shù)據(jù)壓縮成比特流,并且使用″BufferWithEP.m3d″緩沖器傳輸該比特流;圖5說明使用已壓縮比特流和緩沖器來傳輸3D數(shù)據(jù);圖6說明使用參數(shù)將有關(guān)對(duì)象A的三維(3D)數(shù)據(jù)壓縮成比特流,并使用在″BitWrapper″節(jié)點(diǎn)中定義的統(tǒng)一資源定位器(URL)來傳輸該比特流;圖7說明使用在″BitWrapper″中所定義的URL來傳輸有關(guān)使用已壓縮比特流的對(duì)象A的3D數(shù)據(jù)。
具體實(shí)施例方式
現(xiàn)在通過參照附圖將更加詳細(xì)地描述使用有關(guān)圖形數(shù)據(jù)壓縮的元語(yǔ)言的一種輸入文件生成系統(tǒng)。
對(duì)于編輯者來說需要一種能夠調(diào)整編輯、表示、處理以及壓縮三維(3D)內(nèi)容所必須的要素的方法,以便能夠很容易地處理被壓縮的3D數(shù)據(jù)。可以通過使用XMT來調(diào)整上述要素。XMT是用于編輯諸如音頻、視頻、兩維(2D)內(nèi)容以及三維(3D)內(nèi)容之類的MPEG-4內(nèi)容的框架(framework)。同樣,XMT是一個(gè)使用文本語(yǔ)法表示MPEG-4情景描述的框架。該框架將在圖3中進(jìn)行說明。XMT允許內(nèi)容編輯者、工具(tools)以及服務(wù)提供者再使用由另一內(nèi)容編輯者所制作的內(nèi)容,并且還能夠使其與可擴(kuò)展3D(X3D)和同步多媒體集成語(yǔ)言(SMIL)共同使用。
如圖3所示,XMT格式能夠在SMIL播放器、虛擬現(xiàn)實(shí)建模語(yǔ)言(VRML)播放器和MPEG-4播放器之間互換,并且通過這些播放器播放。更準(zhǔn)確地說,參考圖3,在預(yù)處理X3D內(nèi)容之后,可以通過SMIL播放器來分析和播放XMT格式,或通過VRML播放器播放XMT格式,或在編譯MPEG-4(mp4)格式的表示之后由MPEG-4播放器來播放XMT格式。
在XMT-A格式和XMT-Ω的雙結(jié)構(gòu)中給出XMT格式。XMT-A格式是一種MPEG-4內(nèi)容的基于XML的版本(version),并且包括可擴(kuò)展的3D圖形(X3D),所述MPEG-4內(nèi)容表示音頻、視頻、2D或3D圖形數(shù)據(jù),或它們的壓縮。XMT-A格式還包括作為XMT-A格式的擴(kuò)展的X3D,以表示MPEG-4的特征。在XMT-A格式中,文本格式和二進(jìn)制格式以1∶1的比率映射。
XMT-Ω格式是基于SMIL的MPEG-4特征的高級(jí)表示。即使內(nèi)容的編輯者不熟悉從Ω到A的機(jī)制,XMT也能夠從XMT-Ω格式默認(rèn)地映射為XMT-A格式。XMT-Ω格式提供一種能夠使用戶方便地編輯內(nèi)容的界面提示功能。通常,MPEG-4數(shù)據(jù)以XMT-A格式表示、處理和壓縮。
因此,一種調(diào)整編輯、表示、處理和壓縮3D數(shù)據(jù)所必須的要素的壓縮技術(shù)必須在XMT-A格式中定義,以便對(duì)于編輯者來說能夠去壓縮3D數(shù)據(jù)。
換句話說,因?yàn)樵赬MT格式中定義由MPEG-4AFX所建議的壓縮數(shù)據(jù)的表示,因此可能壓縮與編輯者制作的3D內(nèi)容相關(guān)的動(dòng)畫數(shù)據(jù)和表示數(shù)據(jù)。從而,編輯者能夠基于該定義壓縮3D數(shù)據(jù),并且發(fā)送所壓縮的數(shù)據(jù)。也就是說,壓縮諸如動(dòng)畫數(shù)據(jù)和表示數(shù)據(jù)之類的3D數(shù)據(jù)所需要的要素與參數(shù)一起在XMT格式中定義。根據(jù)本發(fā)明,通過使用表示3D數(shù)據(jù)的壓縮的節(jié)點(diǎn),在XMT-A模式中定義用于3D數(shù)據(jù)壓縮的要素定義。
在本發(fā)明中,提供一種使用元語(yǔ)言表示3D數(shù)據(jù)壓縮的要素的方法并且基于上述方法壓縮3D數(shù)據(jù)。
圖1是使用有關(guān)圖象數(shù)據(jù)壓縮的元語(yǔ)言的輸入文件生成系統(tǒng)的結(jié)構(gòu)圖。圖1的系統(tǒng)包括XML分析器110、XML模式(schema)120以及樣式表(stylesheet)130。XML模式120定義包含有關(guān)將被壓縮的對(duì)象數(shù)據(jù)的信息的壓縮節(jié)點(diǎn),和數(shù)據(jù)壓縮參數(shù)。樣式表130基于XML模式120,支持從XML輸入文件向輸出到數(shù)據(jù)壓縮編碼器140的文件的轉(zhuǎn)換。XML110使用XMT模式120和樣式表130來分析XML輸入文件100,并且產(chǎn)生被輸入到數(shù)據(jù)壓縮編碼器140的文件。
圖2是圖1中使用有關(guān)圖形數(shù)據(jù)壓縮的一種元語(yǔ)言的輸入文件生成系統(tǒng)的另一實(shí)施例的結(jié)構(gòu)圖。詳細(xì)地,圖2的系統(tǒng)使用元語(yǔ)言在XMT格式中定義由MPEG-4AFX所提議的壓縮數(shù)據(jù)的表示,所以能夠進(jìn)行圖形數(shù)據(jù)的壓縮。
圖2的系統(tǒng)包括XMT分析器210、XMT2MUX樣式表220、XMT2BIFS樣式表230和XMT模式240。XMT模式240定義包含有關(guān)被壓縮的對(duì)象數(shù)據(jù)的信息的壓縮節(jié)點(diǎn),數(shù)據(jù)壓縮參數(shù),以及包含有指定壓縮對(duì)象數(shù)據(jù)的位置的信息的BitWrapperEncondingHints。XMT2BIFS樣式表230基于XMT模式240,支持XMT輸入文件向場(chǎng)景文件的轉(zhuǎn)換。XMT2MUX樣式表220基于XMT模式240,支持XMT輸入文件200到復(fù)用(MUX)文件的轉(zhuǎn)換。XMT分析器210使用XMT模式240、XMT2BIFS樣式表230和XMT2MUX樣式表220來分析XMT輸入文件200并且產(chǎn)生場(chǎng)景文件和復(fù)用文件。
壓縮節(jié)點(diǎn)與包含將被壓縮的對(duì)象數(shù)據(jù)的節(jié)點(diǎn)字段、緩沖字段和URL字段不兼容,緩沖字段與統(tǒng)一資源定位器字段不兼容并且使用帶內(nèi)場(chǎng)景(in-band scenario)傳輸在節(jié)點(diǎn)中所定義的比特流,以及URL字段與緩沖字段不兼容并且使用帶外場(chǎng)景(out-band scenario)傳輸包含在節(jié)點(diǎn)中的壓縮比特流。數(shù)據(jù)壓縮參數(shù)可以至少包括下列參數(shù)之一用于有關(guān)于對(duì)象的頂點(diǎn)坐標(biāo)的基于關(guān)鍵幀(keyframe-based)的動(dòng)畫數(shù)據(jù)的參數(shù),用于對(duì)象的旋轉(zhuǎn)信息的參數(shù),用于被壓縮對(duì)象的位置信息的參數(shù)以及用于被壓縮的3D網(wǎng)格信息的參數(shù)。BitWrapperEncondingHints還包含以下信息,有關(guān)諸如壓縮節(jié)點(diǎn)的URL ID之類的對(duì)象描述符ID,存儲(chǔ)被壓縮比特流的文件的名字,包含在MUX文件中的文件,以及流格式的類型。
現(xiàn)在將更加詳細(xì)地描述圖2的系統(tǒng)。首先,描述包含有將被壓縮的3D數(shù)據(jù)的壓縮節(jié)點(diǎn),和使用有關(guān)壓縮節(jié)點(diǎn)的參數(shù)的XMT-A的數(shù)據(jù)壓縮方法。
由于缺少有關(guān)3D數(shù)據(jù)壓縮的XMT-A模式的定義,因此現(xiàn)有的XMT技術(shù)不能分析有關(guān)3D數(shù)據(jù)壓縮的輸入XMT文件??墒牵鶕?jù)本發(fā)明,如圖2所示,XMT-A模式240包含了有關(guān)3D數(shù)據(jù)壓縮的壓縮節(jié)點(diǎn)和相關(guān)參數(shù)的定義。所以,XMT分析器能夠基于XMT-A模式240中的定義、XMT2MUX樣式表220和XMT2BIFS樣式表230,來分析通過使用壓縮節(jié)點(diǎn)而定義3D數(shù)據(jù)壓縮的輸入XMT文件200,并且產(chǎn)生輸入到MPEG-4編碼器的文件。MPEG-4編碼器包括BIFS編碼器250和MP4編碼器260。當(dāng)所產(chǎn)生的文件輸入到BIFS編碼器250和MP4編碼器260時(shí),產(chǎn)生.mp4比特流,由MPEG-4播放器(未示出)可視化并且顯示在顯示器上。
當(dāng)使用壓縮節(jié)點(diǎn)和有關(guān)3D數(shù)據(jù)的基于元語(yǔ)言的參數(shù)時(shí),也就是使用定義3D壓縮節(jié)點(diǎn)和參數(shù)的XMT-A模式,編輯者能夠判定在編輯處理期間,3D數(shù)據(jù)是否將被壓縮。如果判定3D數(shù)據(jù)將被壓縮,則必須使用元語(yǔ)言給出參數(shù)。
如果編輯者判定需要壓縮3D數(shù)據(jù),則在調(diào)整參數(shù)的同時(shí),通過使用隨后兩種方法之一來傳輸3D數(shù)據(jù),所述兩種方法為(i)將3D數(shù)據(jù)壓縮為比特流并且傳輸該比特流;以及(ii)使用已壓縮比特流來傳輸3D數(shù)據(jù)。
上述兩種方法可以細(xì)分為四種方法(i)使用參數(shù)將原始數(shù)據(jù)壓縮為比特流并且使用緩沖器傳輸比特流;(ii)通過緩沖器使用已壓縮比特流來傳輸原始數(shù)據(jù);(iii)使用參數(shù)將原始數(shù)據(jù)壓縮為比特流并且使用URL傳輸比特流;以及(iv)使用URL傳輸已壓縮的比特流。編輯者可以使用上述四種方法之一來傳輸3D數(shù)據(jù)。
接下來,將描述一種在XMT格式中使用元語(yǔ)言表示用于壓縮3D數(shù)據(jù)的因素的方法。在該方法中,通過使用元語(yǔ)言表示有關(guān)3D數(shù)據(jù)壓縮的壓縮節(jié)點(diǎn)和參數(shù)。在該發(fā)明中,將通過3D數(shù)據(jù)壓縮所需要的″BitWrapper″節(jié)點(diǎn)和參數(shù)來描述該方法。
1.有關(guān)BitWrapper節(jié)點(diǎn)的XMT-A模式1.1有關(guān)BitWrapper節(jié)點(diǎn)的BIFS語(yǔ)法BitWrapper{#%NDT=SF2Dnode,SF3Dnode,SFGeometryNodefield SFWorldNode node NULLfield SFlnt32 type 0field MFUrl url[]field SFString buffer ""}簡(jiǎn)言之,″BitWrapper″節(jié)點(diǎn)定義從包含在節(jié)點(diǎn)字段中的數(shù)據(jù)到比特流的壓縮和使用帶內(nèi)場(chǎng)景或帶外場(chǎng)景對(duì)比特流的傳輸?!鍀rl″字段將數(shù)據(jù)的傳輸定義為帶外比特流,以及″buffer″字段將數(shù)據(jù)的傳輸定義為諸如BIFS比特流的帶內(nèi)比特流。
如果編輯者壓縮并且傳輸在″BitWrapper″節(jié)點(diǎn)中所定義的數(shù)據(jù),那么程序設(shè)計(jì)者必須調(diào)整用于產(chǎn)生比特流的參數(shù)。可以使用XMT-A模式語(yǔ)法來進(jìn)行參數(shù)的調(diào)整。然而,由于參數(shù)除了與特殊的編碼語(yǔ)法相關(guān)外還與譯碼語(yǔ)法相關(guān),因此在數(shù)據(jù)壓縮期間可以調(diào)整參數(shù)?!錌itWrapper″節(jié)點(diǎn)通過使用七種壓縮工具而支持被壓縮比特流的傳輸。
接下來,將要描述有關(guān)用于″BitWrapper″節(jié)點(diǎn)和有關(guān)3D關(guān)鍵幀動(dòng)畫數(shù)據(jù)的三個(gè)″坐標(biāo)內(nèi)插器(coordinate interpolator)″,″方向內(nèi)插器(orientationinterpolator)″和″位置內(nèi)插器(position interpolator)″節(jié)點(diǎn),以及表示3D網(wǎng)格信息的″IndexedFaceSet″節(jié)點(diǎn)的參數(shù)的XMT-A模式。
1.2有關(guān)″BitWrapper″節(jié)點(diǎn)的XMT-A模式1.2.1語(yǔ)法< xml version="1.0"encoding="UFT-8" >
<schema xmlns="http://www.w3.org/2001/XML Schema"xmlns:xmta="urn:mpeg:mpeg4:xmta:schema:2002"targetNamespace="um:mpeg:mpeg4:xmta:schema:2002"elementFormDefault="qualified">
<element name="BitWrapper">
<complex Type>
<element name="node"minOccurs="0" form="qualified">
<complex Type>
<group ref="xmta:SFWorldNodes Type" minOccurs="0">
</complex Type>
</element>
<choice>
<element name="coordinateInterpolatorEncodingParameter"minOccurs="0"maxOccurs="1">
<complex Type>
<attributename="keyQbits" type="xmta:numOfKeyQBits"use="optional"default="8"/>
<attribute name="keyValueQbits" tyPe="xmta:numOfKeyQBits"use="optional"default="16"/>
<attribute name="transpose" type="xmta:transpose Type"use="optional"default=""ON""/>
<attribute name="linearKeycoder"type="xmta:linearKeycoder Type" use="optional"default=""LINEAR""/>
</complex Type>
</element>
<element name="indexedFaceSetEncodingParameter" minOccurs="0"maxOccurs="1">
<complex Type>
<attribute name="coordQBits" type="xmta:numOfCoordQBits"use="optional"default="10"/>
<attribute name="normalQBits" type="xmta:numOfCoordQBits"use="optional"default="9"/>
<attribute name="colorQBits" type="xmta:numOfCoordQBits"use="optional"default="6"/>
<attribute name="texCoordQBits" type="xmta:numOfCoordQBits"use="option al"default="10"/>
<attribute name="coordPredMode" type="xmta:coordPredType"use="optional"default="2"/>
<attribute name="normalPredMode" type="xmta:normalPredType"use="optional"default="0"/>
<attribute name="colorPredMode" type="xmta:colorPredType"use="optional"default="0"/>
<attribute name="texCoordPredMode" type="xmta:texCoordPredType"use="optional"default="0"/>
<attribute name="errorResilience" type="xmta:errorResilience Type"use="optional"default=""OFF""/>
<attribute name="bitsPerPacket" type="xmta:SFInt32" use="optional"default="360"/>
<attribute name="boundaryPrediction"type="xmta:boundPredictionType" use="optional"default="0"/>
</complexType>
</element>
<element name="OrientationInterpolatorEncodingParameter"minOccurs="0"maxOccurs="1">
<complexType>
<attribute name="keyQbits" type="xmta:numOfKeyQBits"use="optional"default="8"/>
<attribute name="keyValueQbits" type="xmta:numOfKeyQBits"use="optional"default="16"/>
<attribute name="preservingMode" type="xmta:preservingType" use="optional"default=""KEY""/>
<attribute name="dpcmMode" type="xmta:orientationDpcmType" use="optional"degsult="0"/>
<attribute name="aacMode_X" type="xmta:aacType" use="optional"default=""BINARY""/>
<attribute name="aacMode_Y" type="xmta:aacType" use="optional"default=""BINARY""/>
<attribute name="aacMode_Z" type="xmta:aacType" use="optional"default=""BINARY""/>
<attribute name="linearKeycoder" type="xmta:linearKeycoderType"use="optional"default=""LINEAR""/>
</complex Type>
</element>
<element name="PositionInterpolatorEncodingParameter"minOccurs="0"maxOccours="1">
<complex Type>
<attribute name="keyQBits" type="xmta:numOfKeyQBits"use="optional"default="8"/>
<attribute name="keyValueQBits" type="xmta:numOfKeyQBits"use="optional"default="16"/>
<attribute name="preservingMode" type="xmta:preservingType" use="optional"default=""KEY""/>
<attribute name="dpcmMode_X"type="xmta:positionDpcmType" use="optional"default="0"/>
<attribute name="dpcmMode_Y" tyPe="xmta:positionDpcmType"use="optional"default="0"/>
<attribute name="dpcmMode_Z" type="xmta:positionDpcmType"use="optional"default="0"/>
<attribute name="aacMode_X" type="xmta:aacType" use="optional"default=""BINARY""/>
<attribute name="aacMode_Y" type="xmta:aacType" use="optional"default=""BINARY""/>
<attribute name="aacMode_Z" type="xmta:aacType" use="optional"default=""BINARY""/>
<attribute name="linearKeycoder" type="xmta:linearKeycoderType"use="optional"default=""LINEAR""/>
<attribute name="intra_X" type="xmta:intraType" use="optional"default="0"/>
<attribute name="intra_Y" type="xmta:intraType" use="optional"default="0"/>
<attribute name="intra_Z" type="xmta:intraType" use="optional"default="0"/>
</complex Type>
</element>
<element name="WaveSubdivisionSurfaceEncodingParameter">
</element>
<element name="MeshGridEncodingParameter">
</element>
</choice>
<attribute name="type" type="xmta:SFInt32" use="optional"default="0"/>
<attribute name="buffer" type="xmta:SFString" use="optional"/>
<attribute name="url" type="xmta:MFUrl" use="optional"/>
<attribute Group ref="xmta:DefUseGroup"/>
<complex Type>
</element>
</schema>
1.2.2語(yǔ)義″BitWrapper″是一種用于節(jié)點(diǎn)壓縮的專用模式。在BIFS流或外部分離流中傳輸被壓縮數(shù)據(jù)的表示。當(dāng)在BIFS更新內(nèi)傳輸流時(shí),″緩沖器″字段包含被壓縮數(shù)據(jù)的表示。如果在BIFS更新之外的分離流中傳輸流時(shí),″url″字段包含一個(gè)流的URL。
作為替代,″緩沖器″字段和″url″字段相互之間不兼容。也就是說,在″緩沖器″字段的使用期間不使用″url″字段,反之亦然。″節(jié)點(diǎn)″字段包括一個(gè)表示被壓縮數(shù)據(jù)的節(jié)點(diǎn)。″BitWrapper″節(jié)點(diǎn)能夠在″節(jié)點(diǎn)″上使用?!錿ype″字段指示用于節(jié)點(diǎn)壓縮所使用的模式。″type″字段的默認(rèn)值為0。在考慮到為同一節(jié)點(diǎn)而開發(fā)另用于節(jié)點(diǎn)壓縮的模式的可能性,來指定″type″字段的值。另一個(gè)可能的模式定義為默認(rèn)的模式。
″CoordinateInterpolatorEncodingParameter″定義參數(shù),該參數(shù)用于在基于關(guān)鍵幀的動(dòng)畫數(shù)據(jù),也就是,坐標(biāo)內(nèi)插器節(jié)點(diǎn)數(shù)據(jù)中的一個(gè)對(duì)象的頂點(diǎn)坐標(biāo)的壓縮。在該情況下,″節(jié)點(diǎn)″字段是″CoordinateInterpolator″節(jié)點(diǎn)。
″IndexedFaceSetEncodingParameter″定義參數(shù),該參數(shù)用于3D網(wǎng)格信息,也就是IndexedFaceSet節(jié)點(diǎn)數(shù)據(jù)的壓縮。在該情況中,″節(jié)點(diǎn)″字段是一個(gè)″IndexedFaceSet″節(jié)點(diǎn)。
″OrientationInterpolatorEncodingParameter″定義參數(shù),該參數(shù)用于基于關(guān)鍵幀的動(dòng)畫數(shù)據(jù)中,也就是,方向內(nèi)插器節(jié)點(diǎn)數(shù)據(jù)中的一個(gè)對(duì)象的旋轉(zhuǎn)信息的壓縮。在該情況下,″節(jié)點(diǎn)″字段是″OrientationInterpolator″節(jié)點(diǎn)。
″PositionInterpolatorEncodingParameter″定義參數(shù),該參數(shù)用于基于關(guān)鍵幀的動(dòng)畫數(shù)據(jù)中,也就是,位置內(nèi)插器節(jié)點(diǎn)數(shù)據(jù)中的一個(gè)對(duì)象的位置信息的壓縮。在該情況下,″節(jié)點(diǎn)″字段是″PositionInterpolator″節(jié)點(diǎn)。
在數(shù)據(jù)壓縮期間不使用參數(shù)的情況中,文件不包含參數(shù)的描述。當(dāng)使用參數(shù)壓縮數(shù)據(jù)時(shí),每一參數(shù)字段必須獨(dú)占使用,因?yàn)橐粋€(gè)″節(jié)點(diǎn)″字段恰好對(duì)應(yīng)一個(gè)被壓縮的節(jié)點(diǎn)數(shù)據(jù)類型,并且通過″<choice>″元素來分組參數(shù)字段。稍后描述每一參數(shù)字段的″屬性(attribute)″。
當(dāng)壓縮的數(shù)據(jù)的表示包含在分離流中并被傳輸時(shí),在預(yù)定的幀中必須給出節(jié)點(diǎn)譯碼器。
在對(duì)象描述符流中,考慮到″streamType 0x03″和″objectTypeIndication0x05″而必須將節(jié)點(diǎn)譯碼器定義在DecoderConfig描述符。該譯碼器配置有一個(gè)AFXConfig描述符。
1.3numOfKeyQBits1.3.1語(yǔ)法<simpleType name="numOfKeyQBits">
<restriction base="int">
<minInclusive value="0"/>
<maxInclusive value="31"/>
</restriction>
</simple Type>
1.3.2語(yǔ)義numOfKeyQBits指示一個(gè)表明關(guān)鍵數(shù)據(jù)(key data)的量化比特大小的整數(shù)值。numOfKeyQBits的最小和最大值分別是0和31。
1.4numOfKeyValueQBits1.4.1語(yǔ)法<simpleType name="numOfKeyValueQBits">
<restriction base="int">
<minInclusive value="0"/>
<maxInclusive value="31"/>
</restriction>
</simple Type>
1.4.2語(yǔ)義numOfKeyValueQBits指示一個(gè)表明鍵值(Key Value)數(shù)據(jù)的量化比特大小的整數(shù)值。numOfKeyValueQBits的最小和最大值分別是0和31。
1.5 linearKeycoderType1.5.1語(yǔ)法<simpleType name="linearKeycoderType">
<restriction base="string">
<enumeration value=""LINEAR""/>
<enumeration value=""NOLINEAR""/>
</restriction>
</simple Type>
1.5.2語(yǔ)義linearKeycoderType是一個(gè)字符串類型并且指示是否使用線性關(guān)鍵編碼器。
1.6preservingType1.6.1語(yǔ)法<simpleType name="preservingType">
<restriction base="string">
<enumeration value=""KEY""/>
<enumeration value=""PATH""/>
</restriction>
</simple Type>
1.6.2語(yǔ)義preservingType是一個(gè)字符串類型并且指示當(dāng)前模式是關(guān)鍵字保持模式(key preserving mode)還是路徑保持模式(path preserving mode)。
1.7accType1.7.1語(yǔ)法<simpleType name="accType">
<restriction base="string">
<enumeration value=""BINARY""/>
<enumeration value=""UNARY""/>
</restriction>
</simple Type>
1.7.2語(yǔ)義
accType是一個(gè)字符串類型并且考慮鍵值分量(X,Y,Z)而指示當(dāng)前是二進(jìn)制AAC模式還是一元AAC模式。
1.8orientationDpcmType1.8.1語(yǔ)法<simpleType name="orientationDpcmType">
<restriction base="int">
<enumeration value="1"/>
<enumeration value="2"/>
</restriction>
</simple Type>
1.8.2語(yǔ)義orientationDpcmType考慮不同鍵值分量(X,Y,Z)而指示一個(gè)表明所使用的DPCM的順序的一個(gè)整數(shù)值。如果DPCM的等級(jí)(degree)是1,則標(biāo)記將被設(shè)置為0。如果DPCM的等級(jí)是2,則標(biāo)記被設(shè)置為1。
1.9positionDpcmType1.9.1語(yǔ)法<simpleType name="positionDpcmType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="1"/>
<enumeration value="2"/>
</restriction>
</simple Type>
1.9.2語(yǔ)義positionDpcmType考慮不同鍵值分量(X,Y,Z)而指示一個(gè)表明所使用的DPCM的等級(jí)的一個(gè)整數(shù)值。如果DPCM的等級(jí)是1,則標(biāo)記將被設(shè)置為0。如果DPCM的等級(jí)是2,則標(biāo)記被設(shè)置為1。當(dāng)使用SAD時(shí),標(biāo)記被設(shè)置為2。
1.10intraType1.10.1語(yǔ)法<simpleType name="intraType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="1"/>
</restriction>
</simple Type>
1.10.2語(yǔ)義intraType用于位置內(nèi)插器壓縮。IntraType考慮不同的鍵值分量(X,Y,Z)而指示是否使用內(nèi)(intra)編碼模式。
1.11transposeType1.11.1語(yǔ)法<simpleType name="transposeType">
<restriction base="string">
<enumeration value=""ON""/>
<enumeration value=""OFF""/>
</restriction>
</simple Type>
1.11.2語(yǔ)義transposeType指示用于轉(zhuǎn)置模式或頂點(diǎn)模式的標(biāo)記。如果值被設(shè)置為″ON″,則使用轉(zhuǎn)置模式。否則,使用頂點(diǎn)模式。
1.12numOfCoordQBits1.12.1語(yǔ)法<simpleType name="numOfCoordQBits">
<restriction base="int">
<minInclusive value="1"/>
<maxInclusive value="24"/>
</restriction>
</simple Type>
1.12.2語(yǔ)義numOfCoordQBits指示用于幾何結(jié)構(gòu)的量化級(jí)。NumOfCoordQBits的最小和最大值分別是1和24。
1.13numOfNormalQBits1.13.1語(yǔ)法
<simpleType name="numOfNormalQBits">
<restriction base="int">
<minInclusive value="3"/>
<maxInclusive value="31"/>
</restriction>
</simple Type>
1.13.2語(yǔ)義numOfNormalQBits指示一個(gè)標(biāo)準(zhǔn)量化級(jí)。NumOfNormalQBits的最小和最大值分別是3和31。
1.14numOfColorQBits1.14.1語(yǔ)法<simpleType name="numOfColorQBits">
<restriction base="int">
<minInclusive value="1"/>
<maxInclusive value="16"/>
</restriction>
</simple Type>
1.14.2語(yǔ)義numOfColorQBits指示用于顏色的量化級(jí)。NumOfColorQBits的最小和最大值分別是1和16。
1.15numOfTexCoordQBits1.15.1語(yǔ)法<simpleType name="numOfTexCoordQBits">
<restriction base="int">
<minInclusive value="1"/>
<maxInclusive value="16"/>
</restriction>
</simple Type>
1.15.2語(yǔ)義numOftexCoordQBits指示用于結(jié)構(gòu)坐標(biāo)(texture coordinates)的量化級(jí)。NumOftexCoordQBits的最小和最大值分別是1和16。
1.16coordPredType1.16.1語(yǔ)法<simpleType name="coordPredType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="2"/>
</restriction>
</simple Type>
1.16.2語(yǔ)義coordPredType指示用于重構(gòu)網(wǎng)格的頂點(diǎn)坐標(biāo)的預(yù)測(cè)值的類型。當(dāng)使用no_prediction(無_預(yù)測(cè))值時(shí),coordPredType被設(shè)置為1。當(dāng)使用parallelogram_prediction(平行四邊形_預(yù)測(cè))時(shí),coordPredType被設(shè)置為2。
1.17normalPredType1.17.1語(yǔ)法<simpleType name="normalPredType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="1"/>
<enumeration value="2"/>
</restriction>
</simple Type>
1.17.2語(yǔ)義normalPredType描述正常值的預(yù)測(cè)。當(dāng)選擇no_prediction時(shí),normalPredType被設(shè)置為0。當(dāng)選擇tree_prediction(樹_預(yù)測(cè))時(shí),coordPredType被設(shè)置為1。當(dāng)選擇parallelogram_prediction時(shí),NormalPredType設(shè)置為2。
1.18colorPredType1.18.1語(yǔ)法<simpleType name="colorPredType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="1"/>
<enumeration value="2"/>
</restriction>
</simple Type>
1.18.2語(yǔ)義colorPredType描述怎樣預(yù)測(cè)顏色。當(dāng)選擇no_prediction時(shí),colorPredType被設(shè)置為0。當(dāng)時(shí)選擇tree_prediction時(shí),colorPredType被設(shè)置為1。當(dāng)選擇parallelogram_prediction時(shí),colorPredType設(shè)置為2。
1.19texCoordPredType1.19.1語(yǔ)法<simpleType name="texCoordPredType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="2"/>
</restriction>
</simple Type>
1.19.2語(yǔ)義texCoordPredType描述顏色的預(yù)測(cè)。如果選擇了no_prediction,那么texCoordPredType被設(shè)置為0。當(dāng)使用parallelogram_prediction時(shí),texCoordPredType被設(shè)置為2。
1.20errorResilienceType1.20.1語(yǔ)法<simpleType name="errorResilienceType">
<restriction base="string">
<enumeration value=""ON""/>
<enumeration value=""OFF""/>
</restriction>
</simple Type>
1.20.2語(yǔ)義errorResilienceType是一個(gè)指示是否使用容錯(cuò)(Error Resilience)模式的值。如果不使用容錯(cuò)模式,則該值被設(shè)置為″OFF″。如果使用容錯(cuò)模式,則該值被設(shè)置為″ON″。只有當(dāng)該值設(shè)置為″ON″時(shí),boundaryPredictionType和bitsPerPacket才是有效的。
1.21boundaryPredictionType1.21.1語(yǔ)法<simpleType name="boundaryPredictionType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="1"/>
</restriction>
</simple Type>
1.21.2語(yǔ)義BoundaryPredictionType指示一個(gè)表明邊界預(yù)測(cè)類型的值。如果該值為0,則使用受限制的預(yù)測(cè),并且如果該值為1,則使用擴(kuò)展的預(yù)測(cè)。
1.22bitsPerPacket1.22.1語(yǔ)法″bitsPerPacket″的語(yǔ)法與SFIint32的類型相同。
<simpleType name="SFIint32">
<restriction base="int">
</simple Type>
1.22.2語(yǔ)義BitsPerPacket指示一個(gè)表明容錯(cuò)比特流的包大小的值。根據(jù)該值來指定容錯(cuò)模式中每一部分的大小。BitsPerPacket的類型是SFInt32。默認(rèn)值是360。
2.用于BitWrapperEncodingHints的XMT-A模式2.1 BitWrapperEncodingHints2.1.1.語(yǔ)法″BitWrapperEncodingHints″的語(yǔ)法如下:
<!--聲明BitWrapperEncodingHints-->
<element name="StreamSource">
<complex Type>
<choice minOccurs="0"maxOccurs="unbounded">
<element ref="xmta:BitWrapperEncodingHints"/>
</choice>
...
</complexType>
</element>
...
<!--聲明BitWrapperEncodingHints-->
<element name="BitWrapperEncodingHints">
<complex Type>
<element name="BitWrapper3DMCEncodingHints">
<complex Type>
<sequence>
<element name="sourceFormat">
<complexType>
<sequence>
<element ref="xmta:apram"minOccurs="0"maxOccurs="unbounded"/>
</sequence>
</complex Type>
</element>
<element name="targetFormat">
<complexType>
<sequence>
<element ref="xmta:apram"minOccurs="0"maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="BitWrapperICEncodingHints">
<complex Type>
<sequence>
<element name="sourceFormat">
<complexType>
<sequence>
<element ref="xmta:apram"minOccurs="0"maxOccurs="unbounded"/>
</sequence>
</complex Type>
</element>
<element name="sourceFormat">
<complexType>
<sequence>
<element ref="xmta:apram"minOccurs="0"maxOccurs="unbounded"/>
</sequence>
</complex Type>
</element>
</sequence>
</complexType>
</element>
<element name="OthersEncodingHints">
...
</element>
</complexType>
</element>
2.1.2語(yǔ)義BitWrapperEncodingHints用于指定腳本(.mux)文件中的″MuxInfo″描述。在該情況中,BitWrapperEncodingHints的格式與二進(jìn)制文本格式的相應(yīng)格式相同?!錌itWrapper″節(jié)點(diǎn)通過使用″BitWrapper″節(jié)點(diǎn)中的″url″字段,而被用于帶外場(chǎng)景。BitWrapperEncodingHints定義″MuxInfo″描述的流格式類型。
3.修改XMT2MUX樣式表中的BitWrapperEncodingHints現(xiàn)在將描述在XMT2MUX樣式表中對(duì)″MuxInfo″和″BitWrapperEncodingHints″的修改。
3.1語(yǔ)法原始的″MuxInfo″和″BitWrapperEncodingHints″的語(yǔ)法如下:
<xsl:template match="xmt:StreamSource">muxInfo{filename<xsl:value-ofselect=″@url"/><xsl:text>
<!--為urls作什么?-->
<xsl:text>
<!----如果沒有給出編碼提示,就假定流是BIFS格式,否則流格式應(yīng)該在源格式或目標(biāo)格式的參數(shù)元素中明確(相應(yīng)于流格式的名稱‘streamFormat’和值由BIFSEnc識(shí)別)-->
<xsl:if test="not(xmt:EncodingHints)">streamFormat BIFS<xsl:text>
</xsl:text></xsl:if>
<xsl:apply-templatesselect="xmt:EncodingHints"|xmt:BIFSEncodingHints|xmt:FBAEncodingHints"/>
}</xsl:template>
對(duì)″MuxInfo″和″BitWrapperEncodingHints″語(yǔ)法的修改如下<xsl:template match="xmt:StreamSource">muxInfo MuxInfo{filename<xsl:value-of selec="@url"/>
<xsl:apply-templatesselect="xmt:EncodingHints|xmt:BIFSEncodingHints|xmt:FBAEncodingHints|xmt:BitWrapperEncodingHints"/>
<xsl:iftest="not(xmt:EncodingHints|xmt:BitWrapperEncodingHints)">streamFormat BIFS<xsl:text>
</xsl:text></xsl:if>
<xsl:if test="xmt:BitWrapperEncodingHints"><xsl:text>
</xsl:text></xsl:if>
<xsl:apply-templatesselect="xmt:BitWrapper3DMCEncodingHints|xmt:BitWrapperICEncodingHints|xmt:OthersEncodingHints"/>
}<xsl:template match="xmt:BitWrapperEncodingHints">
<xsl:apply-templatesselect="xmt:BitWrapper3DMCEncodingHints|xmt:BitWrapperICEncodingHints|xmt:OthersEncodingHints"/>
<xsl:apply-templates select="xmt:sourceFormat|xmt:targetFormat"/>
</xsl:template>
<xsl:template match="xmt:BitWrapper3DMCEncodingHints">
<xsl:apply-templates select="xmt:sourceFormat|xmt:targetFormat"/>
streamFormat3DMC<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="xmt:BitWrapperICEncodingHints">
<xsl:apply-templates select="xmt:sourceFormat|xmt:targetFormat"/>
streamFormatInterpolatorCompression<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="xmt:OthersEncodingHints">
<xsl:apply-templates select="xmt:sourceFormat|xmt:targetFormat"/>
streamFormatBIFS<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="xmt:sourceFormat">
<xsl:apply-templates select="xmt:param"/>
</xsl:template>
<xsl:template match="xmt:targetFormat">
<xsl:apply-templates select="xmt:param"/>
</xsl:template>
</xsl:template>
3.2語(yǔ)義在原始的語(yǔ)法中,XMT2MUX樣式表不能充分地描述有關(guān)被傳輸?shù)組P4編碼器的比特流的MUX信息。例如,并沒有定義比特流的名字和類型。同樣,當(dāng)在″BitWrapper″節(jié)點(diǎn)定義URL時(shí),XMT2MUX樣式表也不能指定有關(guān)經(jīng)由URL傳輸?shù)谋忍亓鞯?,諸如圖6中″bunny-15000-tcp.m3d″文件和流格式的信息。作為代替,MT2MUX樣式描述存儲(chǔ)比特流的文件的名字和在″BitWrapper″節(jié)點(diǎn)定義的比特流的類型。更為詳細(xì)地,在一個(gè)內(nèi)插器壓縮流格式中描述3D動(dòng)畫數(shù)據(jù)的壓縮,以及在3DMC流格式中描述3D網(wǎng)格數(shù)據(jù)的壓縮。
4.對(duì)ObjectDescriptorUpdate的修改4.1語(yǔ)法現(xiàn)在將描述在XMT2BIFS樣式表中對(duì)″ObjectDescriptorUpdate″語(yǔ)法的修改。
原始的″ObjectDescriptorUpdate″的語(yǔ)法如下:
<xsl:template match="xmt:ObjectDescriptorUpdate">
UPDATE OD[<xsl:apply-templates select="xmt:OD"/>
]</xsl:template>
修改過的″ObjectDescriptorUpdate″語(yǔ)法如下<xsl:template match="xmt:ObjectDescriptorUpdate">
UPDATE OD[<xsl:apply-templates select="xmt:OD"/>
]</xsl:template>
<xsl:templates match="xmt:OD"/>
<xsl:apply-templates select="xmt:ObjectDescriptorBase"/>
</xsl:template>
<xsl:templates match="xmt:ObjectDescriptorBase">
<xsl:apply-templatesselect="xmt:ObjectDescriptor|xmt:InitialObjectDescriptor"/>
</xsl:template>
<xsl:template match="xmt:ObjectDescriptor">
ObjectDescriptor{<xsl:if text="@ObjectDescriptorID">ObjectDescriptor ID<xsl:value-ofselect="@ObjectDescriptorID"/></xsl:if>
<xsl:text></xsl:text>
<xsl:apply-templates select="xmt:URL"/>
}</xsl:template>
</xsl:template match="xmt:URL">
<xsl:if test="@URLstring">muxScript<xsl:value-of select="@URLsting"/></xsl:if>
<xsl:text></xsl:text>
</xsl:template>
4.2語(yǔ)義在原始的″ObjectDescritorUpdate″語(yǔ)法中,″Update OD″不含有描述。在修改過的″ObjectDescriptorUpdate″語(yǔ)法中,當(dāng)編輯者將一個(gè)場(chǎng)景描述流(BIFS流)經(jīng)由″url″字段鏈接到另一個(gè)元素流時(shí),可以使用″Update OD″。同樣,ObjectDescriptorID和腳本文件(script file)加到″Update OD″。″ObjectDescriptorUpdate″語(yǔ)法的格式與二進(jìn)制文本格式的格式相同。
在下文中,將描述根據(jù)本發(fā)明,使用有關(guān)圖形數(shù)據(jù)壓縮的元語(yǔ)言的輸入文件生成方法和系統(tǒng)。
首先,參考圖2和4來描述根據(jù)本發(fā)明的優(yōu)選實(shí)施例,使用編碼參數(shù)將原始數(shù)據(jù)壓縮為比特流和使用緩沖器傳輸比特流的方法。
圖4說明以下情況使用參數(shù),將有關(guān)諸如杯子(cup)這樣的對(duì)象A的3D數(shù)據(jù),例如幾何結(jié)構(gòu)信息、連接信息和顏色信息壓縮成比特流,并且使用緩沖器將比特流傳輸?shù)健錌ufferWithEP.m3d″。如圖2所示,當(dāng)輸入XMT文件輸入到XMT分析器210時(shí),XMT分析器210基于XMT-A模式,使用XMT2BIFS和XMT2MEX樣式表將與場(chǎng)景數(shù)據(jù)一起的比特流插入到的″.scene″文件中,并且將″.scene″文件傳輸?shù)紹IFS編碼器。在該情況中,″.mux″文件包含有一個(gè)對(duì)操作BIFS編碼器的結(jié)果進(jìn)行描述的″.bifs/.od″文件,該BIFS編碼器是MPEG-4編碼器。同樣,當(dāng)包含在″.mux″流中的信息和″.bif/.od″文件輸入到MP4編碼器時(shí),產(chǎn)生″.mp4″文件。使用MPEG-4播放器可以再現(xiàn)″.mp4″文件(有關(guān)細(xì)節(jié)參見隨后的實(shí)施例1)。
XMT文件的例子如下,其中該文件定義通過使用″BitWrapper″節(jié)點(diǎn)和參數(shù)而將有關(guān)原始數(shù)據(jù)的3D網(wǎng)格信息壓縮成比特流,并且通過使用緩沖器來傳輸比特流<Header>
<InitialObjectDescriptor objectDescriptorID="1"binaryID="1">
<Descr>
<esDesct>
<ES_Descriptor ES_ID="xyz'binaryID="201"OCR_ES_ID="xyz">
...
<StreamSource>
<BIFSEncodingHints>
<sourceFromat>
<param value="BufferWithEP.bif"></param>
</sourceFormat>
</BIFSEncodingHints>
</StreamSource>
</ES_pesciptor>
</esDescr>
</Descr>
</InitialObjectDescriptor>
</Header>
...
<BitWrapper type="0"buffer="MyIndexFaceSetv.m3d">
<node>
<IndexedFaceSet ccw="TRUE" solid="TRUE"
coordIndex="0,1,2,-1,3,4,5,-1,..."normalPerVertex="TRUE">
<coord DEF="Box-COORD"></coord>
<Coordinate point="0 1 2,0 2 3,4 0 1,1 5 4,5 1 2,2 65,..."></Coordinate>
<normal>
<Normal vector="0.7859-0.341-0.5157,0.38120.8010.4615,...">
</Normal></normal>
</IndexedFaceSet>
</node>
<IndexedFaceSetEncodingParameter coordQBits="10'normalQBits="9"coordPredModenormalPredMode="0" errorResilience="OFF">
</IndexedFaceSetEncodingParameter>
</BitWrapper>
...
如果XMT分析器210接收到實(shí)施例1中的XMT文件,其中所述XMT文件使用″BitWrapper″節(jié)點(diǎn)和參數(shù)定義壓縮的3D網(wǎng)格信息的表示,那么XMT分析器210使用在″BitWrapper″節(jié)點(diǎn)中定義的3D網(wǎng)格信息的壓縮參數(shù)壓縮XMT文件并且產(chǎn)生比特流。XMT文件的壓縮和比特流的產(chǎn)生基于定義″BitWrapper″節(jié)點(diǎn)和參數(shù)的XMT-A模式。同樣,使用″XMT2BIFS″和″XMT2MUX″樣式表來產(chǎn)生XMT-A模式,和輸入到MPEG-4編碼器的″.scene″及″.mux″文件。結(jié)果,獲得隨后的文件-"BufferWithEP.scene"File...
BitWrapper{node indexedFaceSet{ccw="TRUE"solid="TRUE"coordIndex="0,1,2,-1,3,4,5,-1,..."normalPerVertex="TRUE"coord DEF Box-COORD Coordinate{
point[]0 1 2,0 2 3,4 0 1,1 5 4,5 1 2,2 6 5,...]}normal Normal{Vector
}}IndexedFaceSetEncodingParameter{coordQBits 10NormalQBits 9coordPredMode 2normalPredMode 0errorResilience OFF}type 0buffer"MyIndexFaceSet.m3d"}...
-"BufferWithEP.mux"FileInitialObjectDescriptor{...
muxInfo MuxInfo{fileName"BufferWithEP.bif"streamFormat BIFS}}將上述的″.scene″和″.mux″文件輸入到MPEG-4播放器并且通過BIFS編碼器250產(chǎn)生″.bifs/.od″文件。然后,將″.bifs/od″文件和″.mux″文件輸入到MP4編碼器260,從而產(chǎn)生″.mp4″比特流。最后,在MPEG-4播放器的屏幕上可視化″.mp4″文件。
第二,參考圖2和5來描述,通過使用一個(gè)緩沖器來傳輸使用了已壓縮比特流的原始數(shù)據(jù)的方法。
參考圖5,與使用有關(guān)在輸入XMT文件中所指定的″BitWrapper″節(jié)點(diǎn)中定義的對(duì)象A的參數(shù)和3D數(shù)據(jù)將原始數(shù)據(jù)壓縮成比特流并使用緩沖器來傳輸比特流的第一種情況相比,將有關(guān)諸如一個(gè)杯子的對(duì)象A的3D數(shù)據(jù),例如幾何結(jié)構(gòu)信息、連接信息和顏色信息已經(jīng)壓縮成比特流,并且經(jīng)緩沖器將比特流傳輸?shù)健錌ufferWithEP.m3d″。
如圖2所示,一接收到XMT文件200,XMT分析器210基于XMT-A模式240,使用XMT2MUX和XMT2BIFS樣式表220和230,將已壓縮的比特流和場(chǎng)景數(shù)據(jù)一起插入到″.scene″比特流,并且傳輸″.scene″比特流。在該情況中,″.mux″文件包含了一個(gè)通過BIFS編碼器250也就是MPEG-4編碼器所產(chǎn)生的″.bits/.od″文件。還,將″.mux″和″.bifs/.od″文件輸入到MP4編碼器260中,從而通過MPEG-4播放器產(chǎn)生和顯現(xiàn)一個(gè)最終的″.mp4″文件。在實(shí)施例2中已經(jīng)公開了通過一個(gè)緩沖器來傳輸使用已壓縮的比特流的原始數(shù)據(jù)的方法的一個(gè)實(shí)例。
如下是XMT文件的一個(gè)例子,其中該文件描述如在″BitWrapper″節(jié)點(diǎn)中定義的3D網(wǎng)格信息的已壓縮比特流表示的傳輸。
...
<Header>
<InitialObjectDescriptor objectDescriptorID="1"binaryID="1">
<Descr>
<esDescr>
<ES_DescriptorES_ID="xyz"binaryID="201"OCR_ES_ID="xyz">
...
<StreamSource>
<BIFSEncodingHints>
<sourceFormat>
<param value="BufferWithoutEP.bif"></param>
</sourceFormat>
</BIFSEncodingHints>
</StreamSource>
</ES_Descriptor>
</esDescr>
</Descr>
</InitialObjectDescriptor>
</Header>
<Body>
<Replace>
<Scene>
<Group>
<children>
<Shape>
<geometry DEF="MY_BOX">
<BitWrapper type="0"buffer="MyIndexFaceSet.m3d">
<node>
<IndexedFaceSet>
<coord DEF="Box-COORD"></coord>
<Coordinate></Coordinate>
</node>
</BitWrapper>
</geometry>
</shape>
</children>
</Group>
</Scene>
</Replace>
</Body>
...
如實(shí)施例2所公開的,一接收到XMT文件,XMT分析器210就產(chǎn)生將使用在″BitWrapper″節(jié)點(diǎn)中定義的緩沖器傳輸?shù)谋忍亓?,其中XMT文件定義使用在″BitWrapper″節(jié)點(diǎn)定義的緩沖器傳輸代表3D網(wǎng)格信息的已壓縮比特流,該比特流表示被壓縮的3D網(wǎng)格信息。該比特流是依據(jù)定義″BitWrapper″節(jié)點(diǎn)和參數(shù)的XMT-A模式而產(chǎn)生的。并且,如下所示,通過使用XMT-A模式以及XMT2BIFS和XMT2MUX樣式表230和220,來產(chǎn)生將被輸入到MPEG-4編碼器中的″.scene″和″.mux″文件。
-BufferWithoutEP.scene File...
BitWrapper{Node IndexedFaceSet{coord DEF Box-COORD Coordinat{}}type 0buffer"MyIndexFaceSet.m3d″}...
-BufferWithoutEP.mux FileInitialObjectDescriptor{...
muxInfo MuxInfo{fileName"BufferWithoutEP.bif"streamFormat BIFS}}將″.scene″和″.mux″文件輸入到MPEG-4編碼器并且通過BIFS編碼器250產(chǎn)生″.bifs/.od″文件。將該″.bifs/.od″文件(或比特流)和″mux″文件輸入到MP4編碼器260,從而獲得″.mp4″比特流。在MPEG-4播放器的屏幕上可視化該″mp4″文件。
第三,參考附圖2和6將描述,通過使用參數(shù)而將原始數(shù)據(jù)壓縮成比特流并且使用URL傳輸比特流的方法的實(shí)施例。
圖6說明一種使用參數(shù),將有關(guān)諸如杯子之類的對(duì)象A的3D數(shù)據(jù)(例如幾何結(jié)構(gòu)信息、連接信息和顏色信息)壓縮成比特流并且經(jīng)由″BitWrapper″節(jié)點(diǎn)所定義的URL來傳輸比特流的方法。該方法不同于將3D數(shù)據(jù)壓縮成比特流并且通過緩沖器傳輸比特流的方法。更準(zhǔn)確地說,在該方法中,在″BitWrapper″節(jié)點(diǎn)中定義例如12的url ID,具有諸如url ID的ObjectDescriptorID的″BitWrapperEncodingHints″能夠指定有關(guān)對(duì)象A的3D數(shù)據(jù)的被壓縮比特流表示的位置,也就是″bunny-15000-tcp.m3d″文件,并且基于″BitWrapperEncodingHints″字段傳輸被壓縮的數(shù)據(jù)。接下來,有關(guān)3D數(shù)據(jù)的被壓縮比特流表示的位置的信息包含在有關(guān)″.mux″文件的信息中。有關(guān)″.mux″文件的位置信息在″ObjectDescriptorUpdate″也就是″BitWrapper″節(jié)點(diǎn)的url ID中描述。有關(guān)″.mux″文件的位置信息鏈接到,有關(guān)對(duì)象A的3D數(shù)據(jù)的被壓縮比特流表示的位置信息,也就是″bunny-15000-tcp.m3d″文件。有關(guān)3D數(shù)據(jù)的被壓縮比特流表示的位置信息鏈接到3D數(shù)據(jù)的被壓縮比特流表示。從而,經(jīng)由URL來傳輸″bunny-15000-tcp.m3d″文件的比特流表示。
當(dāng)在輸入到XMT分析器210的圖2的輸入XMT文件200中說明圖6的方法時(shí),XMT分析器210基于XMT-A模式240,使用XMT2BIFS和XMT2MUX樣式表230和220,將有關(guān)″.mux″文件的位置信息和場(chǎng)景數(shù)據(jù)一起插入到″.scene″文件,并且傳輸該″.scene″文件。所述的″.mux″文件包括一個(gè)通過包含在MPEG-4編碼器中的BIFS編碼器250所產(chǎn)生的″.bifs/.od″文件。同樣,″.mux″文件包含有指定表示有關(guān)對(duì)象A的3D數(shù)據(jù)的比特流的位置的″bunny-15000-tcp.m3d″文件。
當(dāng)有關(guān)3D數(shù)據(jù)的比特流表示的位置信息和″.bifs/.od″文件被輸入到MP4編碼器260時(shí),在MPEG-4播放器的屏幕上產(chǎn)生并顯示一個(gè)作為比特流文件的″.mp4″文件,其中在″.mux″文件中指定3D數(shù)據(jù)的比特流表示。
通過實(shí)施例3將更加詳細(xì)地描述圖6的方法。
如下是XMT文件的一個(gè)實(shí)例,描述使用參數(shù)來壓縮有關(guān)原始數(shù)據(jù)的3D網(wǎng)格信息并且通過″BitWrapper″節(jié)點(diǎn)中所定義的URL來傳輸比特流。
<Header>
...
<ObjectDescriptor objectDescriptorID="12"binaryID="12">
<Descr>
<esDescr>
<ES_DescriptorES_ID="PI"binaryID="211"OCR_ES_ID="PIC">
...
<StreamSource>
<BitWrapperEncodingHints>
<BitWrapper3DMCEncodingHints>
<sourceFormat>
<param value="bunny-15000-tcp.m3d"></param>
</sourceFormat>
</BitWrapper3DMCEncodingHints>
</BitWrapperEncodingHints>
</StreamSource>
</ES_Descriptor>
</esDescr>
</Descr>
</ObjectDescriptor>
</Header>
<Body>
<Replace>
<Scene>
<Group>
<children>
<Shape>
<geometry DEF="MY_BOX">
<Box size="69"></Box>
<BitWrapper type="0"url="12"><node>
<IndexedFaceSet ccw="TRUE"solid="TRUE"
coordIndex="0,1,2,-1,3,4,5,-1..."normalPerVertex="TRUE">
<coord DEF="Box-COORD"></coord>
<Coordinatepoint="012,023,401,154,512,265,..."></Coordinate>
<normal>
<normal vector="0.7859 -0.341 -0.5159,0.3821 -0.801 0.4615,...">
</Normal>
</normal>
</IndexedFaceSet>
<node>
</IndexedFaceSetEncodingParameter coordQBits="10"normalQBits="9"coordPreMode="2"normalPredMode="0"errorResilience="OFF"></IndexedFaceSetEncodingParameter>
</BitWrapper>
</geometry>
</shape>
</children>
</Group>
</Scene>
</Replace>
<ObjectDescriptorUpdate>
<OD>
<ObjectDescriptorBase>
<ObjectDescriptor objectDescriptorID="12"binaryID="12">
<URL URLstring="UrlWithEP.mux"></URL>
</ObjectDescriptor>
</ObjectDescriptorBase>
</OD>
</ObjectDescriptorUpdate>
</Body>
在實(shí)施例3的方法中,一接收到XMT文件,XMT分析器210就使用″BitWrapper″節(jié)點(diǎn)中所定義的參數(shù)將3D網(wǎng)格信息壓縮為比特流,其中XMT文件描述使用″BitWrapper″節(jié)點(diǎn)中所定義的參數(shù)來壓縮3D網(wǎng)格信息。該比特流是基于定義″BitWrapper″節(jié)點(diǎn)和參數(shù)的XMT-A模式而產(chǎn)生。同樣,如下所示,通過使用XMT-A模式以及″XMT2BIFS″和″XMT2MUX″樣式表來產(chǎn)生可被輸入到MPEG-4編碼器的″.scene″和″.mux″文件。
-UrlWithEP.scene File...
BitWrapper{Node IndexedFaceSet{ccw TRUEcoordIndex
normalPerVertex TRUEsolid TRUEcoord DEF Box-COORD Coordinate{point
}normal Normal{vector
}}IndexedFaceSetEncodingParameter{Vector
}}IndexedFaceS etEncodingParameter{
coordQBits 10normalQBits 9coordPredMode 2normalPredMode 0errorResilience OFF}type 0url 12}...
UPDATE OD[ObjectDescriptor{objectDescriptorID 12muxScript UrlWithEP.mux}]-"UrlWithEP.mux"File...
ObjectDescriptor{objectDescriptorID 12esDescr[ES_Descriptor{ES_ID 211...
muxInfo MuxInfo{fileName"bunny-15000-tcp.m3d"streamFormat 3DMC}]}當(dāng)″.scene″和″.mux″文件被輸入到MPEG-4編碼器并且通過BIFS編碼器250時(shí),產(chǎn)生″.bifs/.od″文件。然后,″.bifs/.od″和″.mux″文件被輸入到MP4編碼器260,從而產(chǎn)生″.mp4″文件。所獲得的″.mp4″文件在MPEG-4播放器上顯示。
第四,將結(jié)合附圖2和7來描述根據(jù)本發(fā)明的優(yōu)選實(shí)施例,經(jīng)由URL來傳輸使用已壓縮比特流的原始數(shù)據(jù)的方法。
圖7說明一種經(jīng)由″BitWrapper″節(jié)點(diǎn)中所定義的URL,傳輸表示有關(guān)一個(gè)例如杯子的對(duì)象A的諸如幾何結(jié)構(gòu)信息、連接信息和顏色信息之類的3D數(shù)據(jù)的已壓縮比特流的方法。相對(duì)于第三種方法,描述圖7的方法與經(jīng)由緩沖器傳輸比特流的方法之間的區(qū)別,其中第三種方法是通過使用參數(shù)來將原始數(shù)據(jù)壓縮為比特流并且使用URL來傳輸比特流。同樣,圖7的方法不同于第三種方法,在于經(jīng)由URL,使用作為3D數(shù)據(jù)表示的已壓縮比特流來傳輸3D數(shù)據(jù)。因此,圖2的輸入XMT文件200除了描述原始數(shù)據(jù)和″BitWrapper″節(jié)點(diǎn)中的參數(shù)以外,僅描述url ID。
現(xiàn)在通過實(shí)施例4來更加詳細(xì)地描述圖7的方法。
如下是XMT文件的一個(gè)例子,描述經(jīng)由URL傳輸已壓縮比特流,該已壓縮比特流是″BitWrapper″節(jié)點(diǎn)中所定義的3D網(wǎng)格信息的表示。
<Header>
...
<ObhectDescriptor objectDescriptorID="12"binaryID="12">
<Descr>
<esDescr>
<ES_DescriptorES_ID="PI"binaryID="211"OCR ES_ID="PIC">
<StreamSource>
<BitWrapperEncodingHints>
<BitWrapper3DMCEncodingHints>
<sourceFormat>
<param value="bunny-15000-tcp.m3d"></param>
</sourceFormat>
</BitWrapper3DMCEncodingHints>
</BitWrapperEncodingHints>
</StreamSource></ES_Descriptor></esDescr></Descr></ObjectDescriptor></Header><Body><Replace><Scene><Group><children>
<Shape>
<geometry DEF="MY_BOX">
<BitWrapper type="0"url="12">
<node>
<IndexedFaceSet>
<coord DEF="Box-COORD"></coord>
<Coordinate></Coordinate>
</IndexedFaceSet> </node>
</BitWrapper>
</geometry> </Shape>
</children></Group></Scene></Replace></ObjectDescriptorUpdate></OD></ObjectDescriptorBase>
<ObjectDescriptor objectDescriptorID="12"binaryID="12">
<URL URLsring="UrlWithoutEP.mux">
</URL>
</ObjectDescriptor>
</ObjectDescriptorBase>
</OD>
</ObjectDescriptorUpdate>
</Body>
在實(shí)施例4的方法中,當(dāng)使用″BitWrapper″節(jié)點(diǎn)中所定義的URL接收到描述傳輸表示3D網(wǎng)格信息的已壓縮比特流的XMT文件,XMT分析器210就產(chǎn)生表示被壓縮的3D信息的比特流,并使用″BitWrapper″節(jié)點(diǎn)中所指定的URL來傳輸該比特流。該比特流基于定義″BitWrapper″節(jié)點(diǎn)和參數(shù)的XMT-A模式產(chǎn)生。同樣,如下所示,通過使用XMT-A模式以及XMT2BIFS和XMT2MUX樣式表來產(chǎn)生可被輸入到MPEG-4編碼器的″.scene″和″.mux″文件。
-URLWithoutEP.scene File...
BitWrapper{node IndexedFaceSet{coord DEF Box-COORD Coordinate{}type 0url 12}...
UPDATE OD[ObjectDescriptor{objectDescriptorID 12muxScript UrlWithoutEP.mux}]-"URLWithoutE P.mux"File
...
ObjectDescriptor{ObjectDescriptorID 12EsDescr[ES_Descriptor{ES_ID 211...
muxInfo MuxInfo{fileName"bunny-15000-tcp.m3d"streamFormat 3DMC}...
將上述的″.scene″和″.mux″文件輸入到MPEG-4編碼器?!?scene″文件輸入到BIFS編碼器250以產(chǎn)生″.bifs/.od″文件。將″.bifs/.od″和″.mux″文件輸入到MP4編碼器260以產(chǎn)生″.mp4″比特流文件。所述″.mp4″文件在MPEG-4播放器的屏幕上顯示為3D數(shù)據(jù)。
根據(jù)本發(fā)明,一種使用有關(guān)圖形數(shù)據(jù)壓縮的元語(yǔ)言的輸入文件生成方法和系統(tǒng),在編輯3D內(nèi)容期間,允許編輯者很容易地使用元語(yǔ)言來應(yīng)用和壓縮3D數(shù)據(jù)。特別地,根據(jù)本發(fā)明,編輯者能夠選擇一種壓縮數(shù)據(jù)的方法并且能夠控制數(shù)據(jù)壓縮。通過元語(yǔ)言的表示來判定數(shù)據(jù)是否可以被壓縮。同樣,通過元語(yǔ)言的表示來判定數(shù)據(jù)壓縮格式,例如,通過編碼參數(shù)以及選擇帶內(nèi)/帶外場(chǎng)景(in-band/out-band scenario)來判定。
根據(jù)本發(fā)明,通過使用以XML為基礎(chǔ)的MPEG-4基本要素而很容易去制作編輯工具。使用編輯工具的2D或3D內(nèi)容作品可以在不同平臺(tái)的應(yīng)用重新使用。此外,由于本發(fā)明允許編輯者在編輯處理期間去壓縮3D數(shù)據(jù),因此能夠即使在低的網(wǎng)絡(luò)帶寬時(shí)也能實(shí)時(shí)顯現(xiàn)圖形數(shù)據(jù)或動(dòng)畫數(shù)據(jù)。同樣,編輯者能夠制作出不同類型的3D圖形數(shù)據(jù)。
本發(fā)明能夠以計(jì)算機(jī)可讀介質(zhì)上的代碼的形式實(shí)現(xiàn),所述代碼可以由計(jì)算機(jī)或信息處理裝置來讀取。在此,計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀的能夠存儲(chǔ)數(shù)據(jù)的任意記錄裝置,例如,只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、光盤(CD)-ROM、磁帶、軟盤、光數(shù)據(jù)存儲(chǔ)設(shè)備等等。
雖然已經(jīng)參考了本發(fā)明中的優(yōu)選實(shí)施例而特別地示出和描述本發(fā)明,但是本領(lǐng)域技術(shù)人員將能理解,在不脫離所附權(quán)利要求所限定的發(fā)明的精神和范圍內(nèi),可以進(jìn)行形式和細(xì)節(jié)上的不同變化。
權(quán)利要求
1.一種使用圖形數(shù)據(jù)壓縮的元表示產(chǎn)生輸入文件的方法,該方法包括制作可擴(kuò)展的MPEG-4文本格式XMT模式,該模式定義了包含關(guān)于將被壓縮的對(duì)象數(shù)據(jù)的信息的壓縮節(jié)點(diǎn);數(shù)據(jù)壓縮所必需的編碼參數(shù);與存儲(chǔ)在壓縮節(jié)點(diǎn)的URL字段中的標(biāo)識(shí)符相同的objectDescriptorID;以及BitWrapperEncodingHints,其指定存儲(chǔ)將要被發(fā)送的被壓縮比特流的文件的名稱和比特流的格式,其中存儲(chǔ)將要被發(fā)送的被壓縮比特流的文件被包含在復(fù)用文件中;基于XMT模式產(chǎn)生XMT2BIFS樣式表和XMT2MUX樣式表,其中,XMT2BIFS樣式表支持輸入XMT文件向場(chǎng)景文件的轉(zhuǎn)換,XMT2MUX樣式表支持輸入XMT文件向復(fù)用文件的轉(zhuǎn)換,其中,當(dāng)將被壓縮的圖形數(shù)據(jù)存在或壓縮節(jié)點(diǎn)的URL被使用時(shí),場(chǎng)景文件包含UPDATE OD,UPDATE OD描述與存儲(chǔ)在壓縮節(jié)點(diǎn)的URL字段中的標(biāo)識(shí)符相同的objectDescriptorID和復(fù)用文件的名稱,并且復(fù)用文件包含InitialObjectDescriptor具有是基本流描述符的ES_Descriptor,ES_Descriptor包含是表示通過壓縮場(chǎng)景數(shù)據(jù)而得到的比特流的基本流的標(biāo)識(shí)符的ES_ID,指定將被用于對(duì)比特流解碼的解碼器的decConfigDescr,指示復(fù)制時(shí)間的s1ConfigDescr,和指示存儲(chǔ)將被發(fā)送的比特流的文件的名稱和比特流的格式的muxInfo;以及ObjectDescriptor具有是基本流描述符的ES_Descriptor,ES_Descriptor包含是當(dāng)壓縮節(jié)點(diǎn)的URL被使用時(shí)鏈接到將被發(fā)送到該URL的對(duì)象的比特流的URL的標(biāo)識(shí)符的objectDescriptorID,指定將被用于對(duì)比特流解碼的解碼器的decConfigDescr,指示復(fù)制時(shí)間的s1ConfigDescr,指示存儲(chǔ)將被發(fā)送的比特流的文件的名稱和比特流的格式的muxInfo;以及通過使用XMT2BIFS樣式表和XMT2MUX樣式表、根據(jù)XMT模式分析輸入XMT文件來制作場(chǎng)景文件和復(fù)用文件,其中,壓縮節(jié)點(diǎn)包含節(jié)點(diǎn)字段,包含有將被壓縮的對(duì)象數(shù)據(jù);類型字段,指示節(jié)點(diǎn)壓縮編碼器的類型;URL字段,不與緩存字段同時(shí)使用并將在節(jié)點(diǎn)中定義的壓縮比特流作為帶外數(shù)據(jù)發(fā)送;以及緩存字段,不與URL字段同時(shí)使用并將在壓縮節(jié)點(diǎn)中定義的比特流作為帶內(nèi)數(shù)據(jù)發(fā)送,并且編碼參數(shù)包括用于關(guān)于將被壓縮的對(duì)象的頂點(diǎn)坐標(biāo)的基于關(guān)鍵幀的動(dòng)畫數(shù)據(jù)的參數(shù);用于三維網(wǎng)格信息的參數(shù);用于旋轉(zhuǎn)移動(dòng)的基于關(guān)鍵幀的動(dòng)畫數(shù)據(jù)的參數(shù);和用于位置移動(dòng)的基于關(guān)鍵幀的動(dòng)畫數(shù)據(jù)的參數(shù)。
2.如權(quán)利要求1所述的方法,其中,分析輸入XMT文件包含接收描述壓縮節(jié)點(diǎn)的XMT輸入文件,其中,壓縮節(jié)點(diǎn)包括包含有原始數(shù)據(jù)、編碼參數(shù)和緩沖器的節(jié)點(diǎn)字段;以及通過使用XMT2BIFS和XMT2MUX樣式表、根據(jù)XMT模式分析輸入XMT文件來制作場(chǎng)景文件和復(fù)用文件,其中,場(chǎng)景文件包含壓縮節(jié)點(diǎn),其中壓縮節(jié)點(diǎn)具有包含有原始數(shù)據(jù)、編碼參數(shù)和類型信息的節(jié)點(diǎn)字段,類型信息指定發(fā)送通過壓縮原始數(shù)據(jù)得到的比特流的緩沖器和編碼器的類型,并且復(fù)用文件包含通過使用BIFS編碼器對(duì)場(chǎng)景文件編碼而得到的文件的名稱;和壓縮的比特流的格式。
3.如權(quán)利要求1所述的方法,其中,分析輸入XMT文件包括接收定義了壓縮節(jié)點(diǎn)的輸入XMT文件,其中壓縮節(jié)點(diǎn)包含有關(guān)于暫時(shí)存儲(chǔ)已經(jīng)被壓縮的對(duì)象數(shù)據(jù)的緩沖器的信息;以及使用XMT2BIF樣式表和XMT2MUX樣式表、根據(jù)XMT模式分析輸入XMT文件來制作場(chǎng)景文件和復(fù)用文件,其中,其中場(chǎng)景文件包含壓縮節(jié)點(diǎn),其中壓縮節(jié)點(diǎn)具有不包含對(duì)象數(shù)據(jù)的節(jié)點(diǎn)字段,和指定了用于發(fā)送通過壓縮對(duì)象數(shù)據(jù)而得到的比特流的緩沖器和編碼器的類型的類型信息,并且復(fù)用文件包含通過使用BIFS編碼器對(duì)場(chǎng)景文件編碼而得到的文件的名稱;和流格式信息。
4.如權(quán)利要求1所述的方法,其中,分析輸入XMT文件包含接收輸入XMT文件、objectDescriptorID和ObjectDescriptorUpdate,其中,輸入XMT文件定義了壓縮節(jié)點(diǎn),壓縮節(jié)點(diǎn)描述了包含有原始數(shù)據(jù)、編碼參數(shù)和存儲(chǔ)在URL中的標(biāo)識(shí)符的節(jié)點(diǎn)字段;objectDescriptorID與存儲(chǔ)在壓縮節(jié)點(diǎn)中的URL字段的標(biāo)識(shí)符相同;ObjectDescriptorUpdate具有BitWrapperEncodingHints,BitWrapperEncodingHints指示存儲(chǔ)被壓縮的比特流的文件的名稱和比特流的格式,其中存儲(chǔ)被壓縮的比特流的文件包含在復(fù)用文件中并且將要被發(fā)送;以及通過使用XMT2BIFS樣式表和XMT2MUX樣式表、根據(jù)XMT模式分析輸入XMT文件來制作場(chǎng)景文件和復(fù)用文件,其中,場(chǎng)景文件包含壓縮節(jié)點(diǎn),其具有包含有原始數(shù)據(jù)、編碼參數(shù)和類型信息的節(jié)點(diǎn)字段,其中類型信息包含有關(guān)于鏈接到關(guān)于通過壓縮原始數(shù)據(jù)而得到的比特流的信息的URL和編碼器的類型的信息;和UPDATE OD,其指示objectDescriptorID和復(fù)用文件的名稱,其中objectDescriptorID與存儲(chǔ)在壓縮節(jié)點(diǎn)的URL域中的標(biāo)識(shí)符相同,并且復(fù)用文件包含存儲(chǔ)了被壓縮的比特流的文件的名稱,該文件包含在由BitWrapperEncodingHints定義的復(fù)用文件中,并且將要被發(fā)送;和被壓縮的比特流的格式的信息。
5.如權(quán)利要求1所述的方法,其中分析輸入XMT文件包含接收輸入XMT文件,該文件定義了壓縮節(jié)點(diǎn),該壓縮節(jié)點(diǎn)描述了節(jié)點(diǎn)字段,該節(jié)點(diǎn)字段包含有已經(jīng)被壓縮的目標(biāo)數(shù)據(jù),和鏈接到已經(jīng)被壓縮的目標(biāo)數(shù)據(jù)的URL;objectDescriptorID,其與存儲(chǔ)在壓縮節(jié)點(diǎn)的URL字段中的標(biāo)識(shí)符相同;和ObjectDescriptorUpdate,其包含BitWrapperEncodingHints,BitWrapperEncodingHints指示存儲(chǔ)了被壓縮的比特流的文件的名稱,所述存儲(chǔ)了被壓縮的比特流的文件由復(fù)用文件定義并且將要被發(fā)送,和被壓縮的比特流的格式;以及通過使用XMT2BIFS樣式表和XMT2MUX樣式表、根據(jù)XMT模式分析輸入XMT文件來制作場(chǎng)景文件和復(fù)用文件,其中,場(chǎng)景文件包含壓縮節(jié)點(diǎn),其具有不包含已經(jīng)被壓縮的目標(biāo)數(shù)據(jù)的節(jié)點(diǎn)字段和類型信息,其中類型信息指定存儲(chǔ)在鏈接到關(guān)于已經(jīng)被壓縮的目標(biāo)數(shù)據(jù)的比特流的信息的URL字段中的標(biāo)識(shí)符和編碼的類型的信息;和UPDATE OD,其具有objectDescriptorID和復(fù)用文件的名稱,其中objectDescriptorID與存儲(chǔ)在壓縮節(jié)點(diǎn)的URL域中的標(biāo)識(shí)符相同,并且復(fù)用文件包含存儲(chǔ)了被壓縮的比特流的文件的名稱,該比特流包含在由BitWrapperEncodingHints定義的復(fù)用文件中并且將要被發(fā)送;和被壓縮的比特流的格式的信息。
全文摘要
提供一種使用圖形數(shù)據(jù)壓縮的元表示產(chǎn)生輸入文件的方法,該方法包括制作可擴(kuò)展的MPEG-4文本格式XMT模式,該模式定義了包含關(guān)于將被壓縮的對(duì)象數(shù)據(jù)的信息的壓縮節(jié)點(diǎn);數(shù)據(jù)壓縮所必需的編碼參數(shù);與存儲(chǔ)在壓縮節(jié)點(diǎn)的URL字段中的標(biāo)識(shí)符相同的objectDescriptorID;以及BitWrapperEncodingHints,其指定存儲(chǔ)將要被發(fā)送的被壓縮比特流的文件的名稱和比特流的格式,其中存儲(chǔ)將要被發(fā)送的被壓縮比特流的文件被包含在復(fù)用文件中。
文檔編號(hào)H04N7/24GK1825954SQ20061000423
公開日2006年8月30日 申請(qǐng)日期2003年12月5日 優(yōu)先權(quán)日2002年12月5日
發(fā)明者張敬子, 金道均 申請(qǐng)人:三星電子株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
沙雅县| 黄大仙区| 合肥市| 普安县| 西平县| 平远县| 理塘县| 宿松县| 桐庐县| 禹州市| 讷河市| 土默特右旗| 彭山县| 修文县| 通道| 吴江市| 南乐县| 遂昌县| 黎城县| 舒兰市| 临城县| 河池市| 河北省| 泸溪县| 河间市| 烟台市| 琼结县| 延寿县| 丰县| 承德县| 右玉县| 博湖县| 汽车| 望城县| 五寨县| 郎溪县| 鸡泽县| 兴海县| 南昌县| 台安县| 通江县|