專利名稱:圖形場(chǎng)景動(dòng)畫信號(hào),相應(yīng)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖形場(chǎng)景恢復(fù)領(lǐng)域,例如在多媒體終端里的圖形場(chǎng)景恢復(fù)。更準(zhǔn)確地說(shuō),本發(fā)明涉及動(dòng)畫場(chǎng)景,或者這種場(chǎng)景元素的傳輸。
圖形場(chǎng)景指的是在時(shí)間和空間上組織起來(lái)的一組圖形對(duì)象、圖片和/或視頻信號(hào)。這些圖形場(chǎng)景可以是二維的,也可以是三維的,還可以包括各種圖形參數(shù)。
本發(fā)明特別適用于需要緊湊、有效地表述圖形場(chǎng)景動(dòng)畫的所有情形。也就是以下情形-在游戲中,或者其它的多用戶網(wǎng)絡(luò)應(yīng)用里,例如協(xié)作工作,其中需要例如交換對(duì)象的新的位置信息;-利用二維或者三維圖形對(duì)象的多媒體咨詢業(yè)務(wù)。
圖形場(chǎng)景的描述格式不是什么新鮮概念。例如,標(biāo)準(zhǔn)ISO/IEC DIS14772-1描述了VRML 2.0格式。標(biāo)準(zhǔn)的MPEG(運(yùn)動(dòng)圖像專家組)-4組也定義了一種場(chǎng)景描述格式,叫做BIFS(場(chǎng)景的二進(jìn)制格式),其基礎(chǔ)是VRML 2.0.“MPEG-4系統(tǒng)驗(yàn)證模型”(ISO/IEC JTC1,SC29/WG11-N1693,MPEG 97,1997年4月)特別介紹了BIFS格式。
這一場(chǎng)景描述格式的目的是描述一個(gè)場(chǎng)景中各種圖形對(duì)象的時(shí)空關(guān)系。它通過(guò)定義一定數(shù)量的節(jié)點(diǎn)或?qū)ο?,用?lái)表示需要表示的所有圖形圖元,從而達(dá)到這一目的。每一個(gè)這樣的節(jié)點(diǎn)都有一個(gè)預(yù)定的字段,用來(lái)表示它的特征。換句話說(shuō),BIFS格式使得用參數(shù)描述形式,或者腳本,來(lái)傳送場(chǎng)景結(jié)構(gòu)成為可能。
已經(jīng)做出一些努力將某種場(chǎng)景做成動(dòng)畫。例如,MPEG-4標(biāo)準(zhǔn)化的SNHC組定義了一種面部動(dòng)畫格式(“MPEG-4 SNHC驗(yàn)證模型”,ISO/TEC1/SC29/WG11 N 1693,MPEG 97,1997年4月)。但這一格式只能用于給定應(yīng)用,即可視電話,而不能用于其它情況。
VRML語(yǔ)言還定義了傳輸圖形場(chǎng)景動(dòng)畫的兩種方法-基于線性插值的第一種方法,通過(guò)描述場(chǎng)景參數(shù)的部分線性變化而工作。這種機(jī)制采用“ROUTE”指令和“Interpolator”類型的節(jié)點(diǎn)。“ROUTES”是用來(lái)定義字段之間的連接的事件機(jī)制,定義了這種鏈接以后,當(dāng)?shù)谝粋€(gè)字段的值發(fā)生改變時(shí),通過(guò)“ROUTE”與之相聯(lián)系的第二個(gè)字段的值也跟著變成同樣的值;-采用腳本描述動(dòng)畫的第二種方法,也就是利用數(shù)學(xué)函數(shù)來(lái)計(jì)算場(chǎng)景鏡頭之間新字段值的功能。
這些方法至少有兩個(gè)缺點(diǎn)。
首先,它們需要重新計(jì)算一個(gè)值,從而使獲得動(dòng)畫所需要的運(yùn)算次數(shù)大為增加;這要求終端的計(jì)算能力足夠強(qiáng)。
其次,這些方法假定動(dòng)畫參數(shù)是已知的。當(dāng)動(dòng)畫用于例如通信時(shí)情況顯然不是這樣。
本發(fā)明的目的就是要克服現(xiàn)有技術(shù)里的這些缺點(diǎn)。
更準(zhǔn)確地說(shuō),本發(fā)明的一個(gè)目的是要提供一種動(dòng)畫數(shù)據(jù)傳輸結(jié)構(gòu)和方法,并提供相關(guān)的裝置,這種裝置使動(dòng)畫的實(shí)現(xiàn)非常簡(jiǎn)單,而且對(duì)于所有類型的動(dòng)畫場(chǎng)景,特別是那些事先不知道它們將如何變化的動(dòng)畫場(chǎng)景,這種裝置不需要很多的傳輸資源。
換句話說(shuō),本發(fā)明的目的是為圖形場(chǎng)景動(dòng)畫提供一種技術(shù),這種技術(shù)至少能滿足以下準(zhǔn)則-編輯和解釋數(shù)據(jù)簡(jiǎn)單;-占用很少的存儲(chǔ)資源和/或傳輸資源;-能夠?yàn)樗蓄愋偷膶?duì)象和圖形場(chǎng)景制作動(dòng)畫;-可以用任意方式為對(duì)象或節(jié)點(diǎn)制作動(dòng)畫,也就是不用預(yù)先限定的方式;本發(fā)明的另一個(gè)目的是提供這種技術(shù),它能在價(jià)格低廉的簡(jiǎn)單多媒體終端的控制下工作,也就是說(shuō)不需要主要的計(jì)算裝置或主要的數(shù)據(jù)儲(chǔ)存裝置。
本發(fā)明還有一個(gè)目的是提供這種技術(shù),它能在網(wǎng)絡(luò)中實(shí)現(xiàn),而它需要的傳輸速率卻很低。
本發(fā)明再一個(gè)目的是提供這種技術(shù),它跟VRMLS和MPEG-4標(biāo)準(zhǔn)相兼容。
本發(fā)明的這些目的,以及下面將更加清楚的其它目的,是通過(guò)使用為圖像構(gòu)造裝置設(shè)計(jì)的可以同時(shí)在一個(gè)以上的屏幕上顯示的圖形場(chǎng)景數(shù)據(jù)動(dòng)畫信號(hào)來(lái)達(dá)到的,要為之制作動(dòng)畫的這一圖形場(chǎng)景已經(jīng)事先載入所述圖像構(gòu)造裝置,作為一組對(duì)象,其中至少有一部分有它們自己的標(biāo)識(shí)符,所述信號(hào)包括
-一個(gè)動(dòng)畫掩碼(animation mask),事先分配給所述動(dòng)畫,并為所述對(duì)象中的至少一個(gè)分配一個(gè)基本掩碼,它包括-所述對(duì)象的識(shí)別符,它是在制作動(dòng)畫的所述圖形場(chǎng)景中定義的;和-所述對(duì)象至少一個(gè)動(dòng)態(tài)特性字段的描述,用來(lái)描述可以修改的所述對(duì)象的特性;-動(dòng)畫幀,按照所述掩碼所規(guī)定的順序,包括更新所述對(duì)象的所述動(dòng)態(tài)特性字段以允許對(duì)它們進(jìn)行修改的數(shù)據(jù),所述構(gòu)造裝置對(duì)所述動(dòng)畫掩碼的數(shù)據(jù)解碼,利用該掩碼初始化動(dòng)畫,并按照所述動(dòng)畫幀更新所述場(chǎng)景。
這樣一來(lái),為場(chǎng)景制作動(dòng)畫變得特別簡(jiǎn)單,效率特別高。要傳輸?shù)臄?shù)據(jù)非常少,而且終端也不需要關(guān)鍵的處理裝置。利用預(yù)定掩碼簡(jiǎn)化并減少了幀。
另外,還可以在事先不知道場(chǎng)景要如何變化的情況下為它們制作動(dòng)畫。這就使得例如各種交互式應(yīng)用成為可能。
每一個(gè)基本掩碼包括-所述對(duì)象的識(shí)別符(ID);-一個(gè)描述塊(二進(jìn)制掩碼,bin mask),它說(shuō)明在動(dòng)畫期間可以修改的活動(dòng)的動(dòng)態(tài)字段,以及在動(dòng)畫期間不可改變的動(dòng)態(tài)字段;-可能還包括能用于每一個(gè)活動(dòng)動(dòng)態(tài)字段的量化數(shù)據(jù)定義塊(Qpi)。
至少某些活動(dòng)的動(dòng)態(tài)字段可以是構(gòu)成一個(gè)矢量的多個(gè)字段。在這種情況下,所述基本掩碼包括一個(gè)數(shù)據(jù)項(xiàng),說(shuō)明是所有的字段一起還是其中的某些構(gòu)成所述矢量,據(jù)此修改所述定義塊。
在一個(gè)優(yōu)選實(shí)施方案里,利用預(yù)測(cè)編碼至少對(duì)某些動(dòng)畫幀的部分動(dòng)態(tài)字段編碼。因此每一個(gè)動(dòng)畫幀都將每一個(gè)動(dòng)態(tài)字段跟一個(gè)數(shù)據(jù)項(xiàng)相關(guān)聯(lián),說(shuō)明該字段使用的是預(yù)測(cè)編碼還是絕對(duì)模式。
每一個(gè)動(dòng)畫幀最好包括-一個(gè)定義區(qū),為所有對(duì)象說(shuō)明其動(dòng)畫參數(shù)是否是在動(dòng)畫幀里傳送的;-一個(gè)動(dòng)畫數(shù)據(jù)區(qū),用來(lái)傳送使定義區(qū)列出的對(duì)象動(dòng)畫化所必需的信息,。
在一個(gè)實(shí)施方案里,所述動(dòng)畫數(shù)據(jù)區(qū)所在的那一組至少可以包括以下數(shù)據(jù)-編碼類型(isIntra);-一個(gè)同步字(Sync);-一個(gè)同步基準(zhǔn)或“時(shí)間碼”(Iparam);-所關(guān)心對(duì)象動(dòng)畫幀的頻率值(Iparam);-一個(gè)N幀的間隔,在這一期間里,不傳送數(shù)據(jù)項(xiàng)(Iparam);-量化參數(shù)值的變化指示(hasQP);-新的量化參數(shù)值(QPi);-動(dòng)態(tài)字段的編碼值(Ivaluei,或者Pvaluei)。
所述動(dòng)態(tài)字段所在的那一組可以包括以下字段-定義所述對(duì)象方面的字段;-定義所述對(duì)象位置的字段;-定義所述對(duì)象運(yùn)動(dòng)方式的字段;-定義所述對(duì)象形狀的字段;-定義所述對(duì)象照明效果的字段;本發(fā)明還涉及傳輸圖形場(chǎng)景動(dòng)畫數(shù)據(jù)的過(guò)程,這些動(dòng)畫至少要在一個(gè)屏幕上顯示,包括-一個(gè)動(dòng)畫初始化級(jí),其中的傳輸采用以下方式-作為所述動(dòng)畫的報(bào)頭傳輸?shù)囊粋€(gè)動(dòng)畫掩碼,至少為一個(gè)對(duì)象分配一個(gè)基本掩碼,包括-在要制作動(dòng)畫的圖形場(chǎng)景里定義的所述對(duì)象的識(shí)別符;和-所述對(duì)象至少一個(gè)動(dòng)態(tài)特征字段的描述,代表可以修改的所述對(duì)象的一個(gè)特征;-一個(gè)動(dòng)畫級(jí),其中的傳輸采用動(dòng)態(tài)幀方式,按照所述掩碼規(guī)定的順序包括,更新所述對(duì)象的動(dòng)態(tài)特征字段從而允許對(duì)它們進(jìn)行修改的數(shù)據(jù)。
最后,本發(fā)明還涉及圖形場(chǎng)景的一種動(dòng)畫裝置,設(shè)計(jì)該圖形場(chǎng)景的目的是要在至少一個(gè)屏幕上顯示,包括-構(gòu)造初始動(dòng)畫的裝置,利用的是-一個(gè)動(dòng)畫掩碼,事先分配給所述動(dòng)畫,而且至少為一個(gè)對(duì)象分配一個(gè)基本掩碼,包括
-所述對(duì)象的識(shí)別符,就象要制作動(dòng)畫的圖形場(chǎng)景所規(guī)定的那樣;和-所述對(duì)象至少一個(gè)動(dòng)態(tài)特征字段的描述,代表要修改的所述對(duì)象的一個(gè)特征;-利用動(dòng)畫幀的所述場(chǎng)景動(dòng)態(tài)動(dòng)畫裝置,按照所述掩碼的順序包括,所述對(duì)象的動(dòng)態(tài)特征字段的更新數(shù)據(jù),以便修改它們。
下文將更加詳細(xì)地介紹本發(fā)明的其它特征和優(yōu)點(diǎn)。其中介紹的是一個(gè)優(yōu)選實(shí)施方案,作為一個(gè)非限制性實(shí)例。介紹時(shí)參考了以下附圖-
圖1說(shuō)明本發(fā)明中為圖形場(chǎng)景制作動(dòng)畫的一般原理;-圖2和圖3說(shuō)明本發(fā)明的原理的兩個(gè)應(yīng)用,分別是多用戶應(yīng)用和事先計(jì)算出動(dòng)畫流的應(yīng)用;-圖4是本發(fā)明中動(dòng)畫方法的總框圖;-圖5是本發(fā)明中動(dòng)畫掩碼的總結(jié)構(gòu);-圖6說(shuō)明圖5中基本掩碼的結(jié)構(gòu);-圖7說(shuō)明圖6中基本掩碼在其中的字段有多個(gè)值的情況下的詳細(xì)結(jié)構(gòu);-圖8是對(duì)按照本發(fā)明傳送的參數(shù)進(jìn)行編碼的示意圖;-圖9說(shuō)明如何對(duì)圖8中的編碼參數(shù)解碼;-圖10是本發(fā)明中動(dòng)畫幀的一個(gè)框圖。
圖1是一個(gè)終端的框圖,例如它跟標(biāo)準(zhǔn)的MPEG-4兼容,用于集成本發(fā)明中的動(dòng)畫信號(hào)或動(dòng)畫流。
這一終端有一個(gè)裝置11,利用BIFS或動(dòng)畫掩碼格式的數(shù)據(jù)流12產(chǎn)生最初的場(chǎng)景。換句話說(shuō),該終端能夠載入用對(duì)象或節(jié)點(diǎn)來(lái)描述的圖形場(chǎng)景。
要記住場(chǎng)景描述格式的目的是要說(shuō)明場(chǎng)景圖形對(duì)象的時(shí)空關(guān)系。為此,BIFS格式規(guī)定一定數(shù)量的“節(jié)點(diǎn)”,代表要顯示的所有圖形圖元。每一個(gè)節(jié)點(diǎn)都有一個(gè)預(yù)定字段描述其特征。例如,圓的圖元字段是一個(gè)浮點(diǎn)型“半徑”,而“視頻對(duì)象”圖元的參數(shù)則是視頻信號(hào)的開始和終止時(shí)刻。
根據(jù)本發(fā)明,可以將這些節(jié)點(diǎn)中的一部分聲明為可修改,從而允許將來(lái)對(duì)其進(jìn)行修改。這可以用VRML標(biāo)準(zhǔn)中的“DEF”機(jī)制以及MPEG-4系統(tǒng)中的類似機(jī)制來(lái)表述。
不管是根據(jù)用戶請(qǐng)求(交互模式),還是自動(dòng)進(jìn)行的(被動(dòng)模式,也叫做“推模式(push mode)”),該場(chǎng)景一旦載入,就載入動(dòng)畫流“BIFSAnim”13,并修改這一場(chǎng)景的參數(shù)。
修改或者動(dòng)畫制作是由解碼器14來(lái)進(jìn)行的。對(duì)于動(dòng)畫節(jié)點(diǎn)的每一個(gè)新字段值,解碼器修改相應(yīng)的字段,并將這些新值用在下一個(gè)場(chǎng)景鏡頭循環(huán)里。在這一場(chǎng)景鏡頭循環(huán)里,對(duì)于場(chǎng)景的每一個(gè)節(jié)點(diǎn),圖形處理器都調(diào)用圖形指令,以便畫出合適的圖元。
這樣就得到了動(dòng)畫圖像15,可以將它呈現(xiàn)(16)給用戶。需要的時(shí)候,用戶可以用合適的接口對(duì)它進(jìn)行干預(yù)(17)。
使用音頻或視頻流18時(shí),采用同樣的機(jī)制19。
這一技術(shù)可以在很多應(yīng)用中使用。例如,圖2說(shuō)明一個(gè)多用戶游戲。用戶21和22載入描述游戲的初始場(chǎng)景。然后服務(wù)器23告訴用戶21它將收到用戶22的連續(xù)位置24參數(shù)。這些位置參數(shù)是由用戶22傳送(25)給服務(wù)器23的,然后服務(wù)器再轉(zhuǎn)發(fā)給用戶21。所有的動(dòng)畫配置數(shù)據(jù)和動(dòng)畫參數(shù)(這里是用戶22的位置)構(gòu)成一個(gè)“BIFS-Anim”流13。這種傳輸是對(duì)稱的。用戶21用同樣的方式將它的位置數(shù)據(jù)傳送給用戶22。
圖3說(shuō)明應(yīng)用動(dòng)畫流的另一個(gè)實(shí)例,在該實(shí)例中動(dòng)畫流是事先計(jì)算出來(lái)的。首先(例如從CD-ROM 33)載入描述最初場(chǎng)景的文件31并由場(chǎng)景解碼器32解碼。顯示出最初的場(chǎng)景,然后動(dòng)畫流解碼器38讀出動(dòng)畫參數(shù)35,顯示出一個(gè)同步的人物動(dòng)畫36和地球儀37。
圖4一級(jí)一級(jí)地說(shuō)明本發(fā)明的一般原理。有連續(xù)的兩級(jí),即41級(jí)和動(dòng)畫級(jí)42,在41級(jí)里利用動(dòng)畫掩碼構(gòu)造最初的場(chǎng)景或初始化級(jí),在42級(jí)里用動(dòng)畫幀不斷地更新這一場(chǎng)景。
動(dòng)畫格式的一般原理包括傳送以下參數(shù)首先是動(dòng)畫的配置參數(shù),也叫做動(dòng)畫掩碼,它描述要傳送的字段,如果需要就說(shuō)明它們的量化和壓縮參數(shù)。這些參數(shù)可以從場(chǎng)景中聲明為可以修改的eventIn或者exposedFields類型(在VRML標(biāo)準(zhǔn)里有定義)的節(jié)點(diǎn)字段里選擇。動(dòng)畫掩碼分成說(shuō)明這些參數(shù)的幾個(gè)基本掩碼。
其次是作為一組動(dòng)畫幀傳送的動(dòng)畫數(shù)據(jù)。一個(gè)動(dòng)畫幀包括給定時(shí)刻動(dòng)畫參數(shù)的所有新值。這些參數(shù)可以用兩種模式傳送-“Intra”模式。在這種模式里傳輸?shù)氖墙^對(duì)參數(shù)。在Intra模式里可以為量化重新定義新參數(shù)。
-“Predictive”模式,其中傳送的是這一參數(shù)和根據(jù)前面的取樣所作的預(yù)測(cè)之間的差。
這些動(dòng)畫參數(shù)可以用于前面已經(jīng)聲明了能夠?yàn)槠渲谱鲃?dòng)畫的場(chǎng)景的所有節(jié)點(diǎn)的所有字段。我們將把VRML規(guī)范里的Transform節(jié)點(diǎn)作為一個(gè)實(shí)例來(lái)說(shuō)明這一點(diǎn)。這一節(jié)點(diǎn)的規(guī)范為<pre listing-type="program-listing"><![CDATA[Transform{evendIn MFNode addChildrenevendIn MFNode removeChildrenexposedField SFVec3f center 0 0 0exposedField MFNode children[]exposedField SFRotation rotation 0 0 1 0exposedField SFVec3f scale 1 1 1exposedField SFRotation scaleOrientation 0 0 1 0exposedField SFVec3f translation 0 0 0field SFVec3f bboxCenter 0 0 0field SFVec3f bboxSize -1 -1 -1 }]]></pre>在這一實(shí)例里,應(yīng)當(dāng)能夠看出,字段-rotation,-scale,-scaleOrientation,-translation,都是動(dòng)畫里感興趣的典型參數(shù)。因此有必要聲明可以制作動(dòng)畫的所有節(jié)點(diǎn),以便隨后能夠指定專用的動(dòng)畫字段。然后就可以說(shuō)這些字段是“動(dòng)態(tài)”的了。在我們的系統(tǒng)里必需事先指定動(dòng)態(tài)字段,以便使用最緊湊的動(dòng)畫格式。
在動(dòng)畫中只能修改標(biāo)量值。例如,參考VRML標(biāo)準(zhǔn)2.0,以下類型的參數(shù)是可以修改的
-SFInt32,-SFFloat,-SFDouble,-SFRotation,-SFColor。
前面所有列表類型的值也都可以修改。對(duì)于列表類型的值,不僅可以修改整個(gè)字段,還可以修改某些明確選定的值。
下面更詳細(xì)地介紹本發(fā)明中使用的信號(hào)。
動(dòng)畫掩碼表示要傳送的字段和它們的量化參數(shù)。對(duì)于要修改的每一個(gè)節(jié)點(diǎn)和值,使用一種掩碼結(jié)構(gòu),下面給出它的語(yǔ)法。掩碼的原理是指定想為之制作動(dòng)畫的動(dòng)態(tài)字段。然后可以為每一參數(shù)給出量化參數(shù)。
動(dòng)畫參數(shù)配置的結(jié)構(gòu)可以用圖5來(lái)說(shuō)明。
這些參數(shù)的含義如下-基本掩碼51要為之制作動(dòng)畫的這一節(jié)點(diǎn)的動(dòng)態(tài)字段的定義,以及相應(yīng)的量化參數(shù)。
-如果在同一流內(nèi)要為其它的節(jié)點(diǎn)制作動(dòng)畫,就將Continuous 52位置于1。
圖6說(shuō)明一個(gè)基本掩碼。它的含義如下-ID 61要修改的節(jié)點(diǎn)的唯一識(shí)別符。這一識(shí)別符是從最初的場(chǎng)景中獲得的。
-Bin mask 62長(zhǎng)度等于動(dòng)畫節(jié)點(diǎn)類型動(dòng)態(tài)字段個(gè)數(shù)的二進(jìn)制掩碼。如果不為該動(dòng)態(tài)字段制作動(dòng)畫,就傳送0,否則就傳送1。
在多字段情況下,還有必要指定要修改的字段的下標(biāo)。有多個(gè)下標(biāo)字段要修改時(shí),可以決定是要修改整個(gè)字段還是該矢量的一部分。圖7給出這一消息的語(yǔ)法。
-Qpi 63動(dòng)態(tài)字段i的量化參數(shù)。量化參數(shù)跟二進(jìn)制掩碼里聲明為活動(dòng)的動(dòng)態(tài)字段一樣多。特別是,當(dāng)量化不需要任何特別的參數(shù)時(shí),這些字段可以是空字段。傳送這一動(dòng)畫流的服務(wù)器事先知道這些字段的語(yǔ)法和語(yǔ)義。
圖7說(shuō)明多值字段二進(jìn)制掩碼的語(yǔ)法細(xì)節(jié)。其含義如下-isTotal 71如果將這一掩碼設(shè)置為1,那么就要修改所有的字段值。否則就選擇矢量的某些元素來(lái)修改。
-index 72要修改的矢量字段的下標(biāo)。
-Continue 73如果將這一標(biāo)志置1,就意味著要修改矢量的其它元素。
有利的是,至少在某些情況下,采用一種預(yù)測(cè)編碼方法來(lái)減少信息幀中要傳送的數(shù)據(jù)項(xiàng)的個(gè)數(shù)。
可以用DPCM類型的壓縮協(xié)議壓縮參數(shù)參數(shù)值既可以用“Predictive”模式(P)也可以用“Intra”模式(I)編碼-在P模式里,對(duì)于要傳送的每一個(gè)新值,被編碼的是跟前一個(gè)值的差。將差量化,然后用可變長(zhǎng)度的熵編碼作最佳表示。
-在I模式里,采用一個(gè)簡(jiǎn)單的量化方法對(duì)動(dòng)態(tài)字段值直接編碼,然后用可變長(zhǎng)度的碼表示。
圖8是該壓縮算法的框圖。從源數(shù)據(jù)82中減去(81)預(yù)測(cè)裝置84傳過(guò)來(lái)的估計(jì)數(shù)據(jù)83。將得到的誤差信號(hào)85量化(86),然后進(jìn)行熵編碼87。將量化信號(hào)88輸入預(yù)測(cè)裝置84。
圖9中的相應(yīng)過(guò)程用于解碼。將收到91的數(shù)據(jù)進(jìn)行熵解碼92,然后將預(yù)測(cè)裝置96的預(yù)測(cè)信號(hào)95加(94)到解碼信號(hào)93上去。接著對(duì)這一信號(hào)進(jìn)行量化過(guò)程的逆過(guò)程(97)。
于是動(dòng)畫數(shù)據(jù)流的結(jié)構(gòu)就象圖10所示一樣。
每一動(dòng)畫幀都以值構(gòu)成的組掩碼(“Gmask”)101開始。這一掩碼101包括一系列的二進(jìn)制元素“0”和“1”,用來(lái)說(shuō)明每一個(gè)節(jié)點(diǎn)的狀況,其順序是動(dòng)畫掩碼規(guī)定的順序,而不管后面有沒有動(dòng)畫參數(shù)。
然后用標(biāo)志102“isIntras”說(shuō)明是不是使用了預(yù)測(cè)編碼。如果這一標(biāo)志的值是例如“1”,就用絕對(duì)(“Intra”)模式對(duì)值進(jìn)行編碼。如果這一標(biāo)志的值是“0”,就采用預(yù)測(cè)模式。
如果采用“Intra”模式,就提供一個(gè)同步字103,對(duì)流中的操作重新計(jì)時(shí)。
于是對(duì)于每一個(gè)動(dòng)畫節(jié)點(diǎn),傳送以下數(shù)據(jù)-在“Intra”模式里,可以選擇傳輸與傳輸有關(guān)的參數(shù)104(“Iparam”),例如-所關(guān)心的“Intra”幀的同步基準(zhǔn)或“時(shí)間碼”;-動(dòng)畫節(jié)點(diǎn)的動(dòng)畫幀頻率的新值;
-可能還有一個(gè)幀間隔說(shuō)明有更多的數(shù)據(jù)將在N幀期間傳送;-按照字段順序的一組參數(shù),隨后是-對(duì)于“Intra”編碼,標(biāo)志105“has QP”說(shuō)明是為隨后的值重新定義量化參數(shù)值(例如,“has QP”=1)還是不這樣做(例如,“hasQP”=0);-如果“has QF”=1,就是量化參數(shù)“Qpi”的新值106;-值107“Ivaluei”或者108“Pvaluei”,它是所選模式(intra或者predictive)里動(dòng)態(tài)字段i的編碼值。
其中的動(dòng)態(tài)數(shù)據(jù)編碼器可以使用所有類型的量化或熵編碼協(xié)議,因此,可以采用各種類型的標(biāo)量或矢量量化,以及不會(huì)帶來(lái)?yè)p傷的任意流減少協(xié)議或熵編碼方法。
為了在動(dòng)畫流的開始和停止時(shí)發(fā)出交互命令,本發(fā)明提供了一種新的BIFS或VRML格式節(jié)點(diǎn)。用VRML術(shù)語(yǔ)來(lái)說(shuō),這一AnimationStream節(jié)點(diǎn)就是“依賴于時(shí)間的節(jié)點(diǎn)”。這一節(jié)點(diǎn)的語(yǔ)法可以表述為<pre listing-type="program-listing"><![CDATA[AnimationStream{ exposedField SFBool loop FALSE exposedField SFFloat speed 1 exposedField SFTIME startTime 0 exposedField SFTIME stopTime 0 eventOut SFBool isActive}]]></pre>這一節(jié)點(diǎn)將在VRML BIFS動(dòng)畫流中傳遞。下面給出使用這一節(jié)點(diǎn)的一個(gè)實(shí)例。在這一實(shí)例中,顯示一個(gè)立方體。當(dāng)用戶用鼠標(biāo)點(diǎn)擊時(shí),顏色、位置和X尺寸分量就可以變化。這一實(shí)例是用ASCII格式給出來(lái)的,但可以改寫成BIFS的二進(jìn)制形式。最初的場(chǎng)景為<pre listing-type="program-listing"><![CDATA[DEFT Transform { Translation 00-5 Children[ DEF TOUCH TouchSensor{} Shape{ appearance Appearance{ material DEF M Material{diffuseColor 111 } geometry DEF Cube{ size 111 } } ] } DEF ANIMATION Animationstream{ loop TRUE url“Scene.anim” } ROUTE TOUCH.touchTime TO ANIMATION.set_starTime]]></pre>當(dāng)用戶在立方體上點(diǎn)擊鼠標(biāo)時(shí),就初始化識(shí)別符“ANIMATION”的動(dòng)畫流。動(dòng)畫或者流或者文件“Scene.anim”包括以下信息T變換識(shí)別符0001 只修改變換字段1為整個(gè)位置矢量字段編制動(dòng)畫00405108 位置在(0,0,4)和(0,5,10)這兩個(gè)點(diǎn)確定的平行六面體內(nèi)改變,而且在Intra模式里在Ox軸上使用256個(gè)球進(jìn)行量化0-2-50376相對(duì)位置在(0,0,4)和(0,0,10)這兩個(gè)點(diǎn)確定的立方體的內(nèi)改變,而且在P模式里在Ox軸上使用64=26-1個(gè)三維冠進(jìn)行量化1繼續(xù)M該對(duì)象的顏色將改變010001 該對(duì)象的顏色和透明度將改變102408 模式I的8位顏色在10和240之間改變-558 模式P的8位顏色在10和240之間改變102408 跟I模式的透明度一樣-558 跟P模式的透明度一樣1繼續(xù)C將修改立方體的尺寸1修改它的尺寸0只修改尺寸矢量的某些細(xì)節(jié)0只修改Ox軸上的立方體尺寸25.55Intra模式里的5位值在0和5.5之間改變-334 P模式里的4位相對(duì)值在-3和3之間改變0動(dòng)畫掩碼結(jié)束
權(quán)利要求
1.為圖像構(gòu)造裝置設(shè)計(jì)的圖形場(chǎng)景的動(dòng)畫數(shù)據(jù)信號(hào),該圖像可以在至少一個(gè)屏幕上顯示,要為之編制動(dòng)畫的圖形場(chǎng)景作為一組對(duì)象已經(jīng)事先載入所述圖像構(gòu)造裝置,所述對(duì)象中間至少一部分有自己的識(shí)別符,其特征在于所述信號(hào)包括;-一個(gè)動(dòng)畫掩碼,事先分配給所述動(dòng)畫,并且至少為所述對(duì)象中的一個(gè)分配一個(gè)基本掩碼,該基本掩碼包括-在要為之編制動(dòng)畫的所述場(chǎng)景中定義的所述對(duì)象的識(shí)別符;和-所述對(duì)象至少一個(gè)動(dòng)態(tài)特征字段的描述,代表可以修改的所述對(duì)象的一個(gè)特征;-動(dòng)畫幀,按照所述掩碼規(guī)定的順序包括更新所述對(duì)象動(dòng)態(tài)特征字段,例如允許修改它們的數(shù)據(jù),所述構(gòu)造裝置對(duì)所述動(dòng)畫掩碼的數(shù)據(jù)解碼,利用該掩碼初始化動(dòng)畫,并根據(jù)所述動(dòng)畫幀更新所述場(chǎng)景。
2.權(quán)利要求1的信號(hào),其特征在于所述基本掩碼中的每一個(gè)都包括-所述對(duì)象的識(shí)別符(ID);-一個(gè)描述塊(bin mask),說(shuō)明動(dòng)畫期間可以修改的活動(dòng)動(dòng)態(tài)字段,和動(dòng)畫期間不能修改的動(dòng)態(tài)字段;-可能還包括可以用于每一個(gè)活動(dòng)動(dòng)態(tài)字段的量化數(shù)據(jù)的定義塊(Qpi)。
3.權(quán)利要求1的信號(hào),其特征在于所述活動(dòng)動(dòng)態(tài)字段中至少有一些是構(gòu)成矢量的多個(gè)字段,其特征還在于所述基本掩碼包括一個(gè)數(shù)據(jù)項(xiàng),說(shuō)明構(gòu)成所述矢量的所有字段還是只有其中的一些是活動(dòng)的,據(jù)此修改所述定義塊。
4.權(quán)利要求1~3中任意一個(gè)的信號(hào),其特征在于至少在一些所述動(dòng)畫幀中,利用預(yù)測(cè)編碼,至少對(duì)所述動(dòng)態(tài)字段中的一些編碼,其特征還在于每一個(gè)動(dòng)畫幀、每一個(gè)動(dòng)態(tài)字段都跟一個(gè)數(shù)據(jù)項(xiàng)有關(guān),該數(shù)據(jù)項(xiàng)說(shuō)明該動(dòng)態(tài)字段是預(yù)測(cè)編碼字段還是絕對(duì)模式字段。
5.權(quán)利要求1~4中任意一個(gè)的信號(hào),其特征在于所述動(dòng)畫幀包括-一個(gè)定義區(qū),為每一個(gè)所述對(duì)象說(shuō)明它的動(dòng)畫參數(shù)是否是在所述動(dòng)畫幀里傳送的;-一個(gè)動(dòng)畫數(shù)據(jù)區(qū),用來(lái)傳遞為所述定義區(qū)里列出來(lái)的對(duì)象編制動(dòng)畫所必需的數(shù)據(jù)。
6.權(quán)利要求5的信號(hào),其特征在于所述數(shù)據(jù)動(dòng)畫區(qū)至少包括一組里的一些數(shù)據(jù),該組數(shù)據(jù)包括-編碼類型(isIntra);-一個(gè)同步字(Sync);-一個(gè)同步基準(zhǔn)(Iparam);-所關(guān)心對(duì)象的動(dòng)畫幀的一個(gè)頻率值(Iparam);-在其間不傳送數(shù)據(jù)項(xiàng)的一個(gè)N幀的間隔(Iparam);-對(duì)量化參數(shù)值的改變的一個(gè)標(biāo)志(hasQP);-一個(gè)新的量化參數(shù)值(Qpi);-一個(gè)動(dòng)態(tài)字段的一個(gè)編碼值(Ivaluei,或者Pvaluei)。
7.權(quán)利要求1~6中任意一個(gè)的信號(hào),其特征在于所述動(dòng)態(tài)字段屬于一個(gè)組,該組包括-定義所述對(duì)象方面的字段;-定義所述對(duì)象位置的字段;-定義所述對(duì)象運(yùn)動(dòng)方式的字段;-定義所述對(duì)象形狀的字段;-定義所述對(duì)象照明效果的字段。
8.用來(lái)傳送圖形場(chǎng)景動(dòng)畫數(shù)據(jù)的方法,該圖形場(chǎng)景被設(shè)計(jì)成至少在一個(gè)屏幕上顯示,其特征在于它包括-一個(gè)動(dòng)畫初始化級(jí),其中的傳輸方式是-作為報(bào)頭分配給所述動(dòng)畫的一個(gè)動(dòng)畫掩碼,并給至少一個(gè)所述對(duì)象分配一個(gè)基本掩碼,該基本掩碼包括-在要為之制作動(dòng)畫的所述圖形場(chǎng)景中定義的所述對(duì)象的識(shí)別符;和-所述對(duì)象至少一個(gè)動(dòng)態(tài)特征字段的描述,代表可以修改的所述對(duì)象的一個(gè)特征;-一個(gè)動(dòng)畫級(jí),其中傳輸?shù)氖莿?dòng)畫幀,這些動(dòng)畫幀按照所述掩碼規(guī)定的順序,包括更新所述對(duì)象的動(dòng)態(tài)特征字段,從而允許對(duì)它們進(jìn)行修改的數(shù)據(jù)。
9.圖形場(chǎng)景的動(dòng)畫裝置,這些圖形場(chǎng)景被設(shè)計(jì)成要在至少一個(gè)屏幕上顯示,該動(dòng)畫裝置的特征在于它包括-構(gòu)造初始動(dòng)畫的裝置,它使用-一個(gè)動(dòng)畫掩碼,事先分配給所述動(dòng)畫,并為至少一個(gè)所述對(duì)象分配一個(gè)基本掩碼,該基本掩碼包括-在要為之制作動(dòng)畫的所述圖形場(chǎng)景中定義的所述對(duì)象的識(shí)別符;和-所述對(duì)象至少一個(gè)動(dòng)態(tài)特征字段的描述,代表要修改的所述對(duì)象的一個(gè)特征;-利用動(dòng)畫幀的所述場(chǎng)景的動(dòng)態(tài)動(dòng)畫裝置,按照所述掩碼規(guī)定的順序,包括所述對(duì)象動(dòng)態(tài)特征字的更新數(shù)據(jù)以便修改它們。
全文摘要
本發(fā)明涉及一種圖形場(chǎng)景動(dòng)畫數(shù)據(jù)信號(hào),該信號(hào)是為構(gòu)造圖像的裝置設(shè)計(jì)的,構(gòu)造的圖像能夠在至少一個(gè)屏幕上顯示,所述圖形場(chǎng)景可能已經(jīng)以一組對(duì)象的形式載入所述圖像構(gòu)造裝置,所述對(duì)象中至少有一些有它自己的特殊識(shí)別符,所述信號(hào)包括:作為報(bào)頭分配給所述動(dòng)畫的一個(gè)動(dòng)畫掩碼,并為至少一個(gè)所述對(duì)象分配一個(gè)基本掩碼,包括:要為之制作動(dòng)畫的所述圖形場(chǎng)景里定義的所述對(duì)象識(shí)別符;以及指定所述對(duì)象的至少一個(gè)動(dòng)態(tài)特征字段,說(shuō)明能夠修改的所述對(duì)象的一個(gè)特征;動(dòng)畫幀,按照所述掩碼規(guī)定的順序包括更新所述對(duì)象動(dòng)態(tài)特征字段以便修改它們的數(shù)據(jù),所述構(gòu)造裝置對(duì)所述動(dòng)畫掩碼數(shù)據(jù)解碼,據(jù)此對(duì)動(dòng)畫初始化,并根據(jù)所述動(dòng)畫字段更新場(chǎng)景。
文檔編號(hào)H04N7/24GK1263670SQ9880709
公開日2000年8月16日 申請(qǐng)日期1998年7月10日 優(yōu)先權(quán)日1997年7月11日
發(fā)明者J·斯格尼斯 申請(qǐng)人:法國(guó)電訊公司, 法國(guó)長(zhǎng)程無(wú)線電廣播有限公司