專利名稱:利用文字腳本制作三維動畫的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種制作三維動畫的方法,是應用于數(shù)字多媒體,特別是一種利用文字腳本制作三維動畫的方法。
背景技術(shù):
近年來計算機的應用范圍隨著它計算能力的增強而增大,制造業(yè)利用它來提升生產(chǎn)能力,商業(yè)界也借著它來增加交易的效率及服務的品質(zhì)。最近因數(shù)字多媒體技術(shù)的進步,傳媒業(yè)也利用計算機來協(xié)助其內(nèi)容(content)的制作與傳播。而娛樂界早就利用相關(guān)的技術(shù)來合成電影動畫或計算機游戲中的虛擬角色。如何實時產(chǎn)生逼真和可操控的角色動畫(character animation)是目前計算機游戲和虛擬實境領(lǐng)域中一項重要的問題。
早期在動畫制作上,每一個角色的動作全靠動畫師分格繪制而成。要描述出心中想要的姿態(tài)必須指定虛擬人身上各關(guān)節(jié)的角度,每一個畫格通常要設(shè)定高達20到60個數(shù)值,因此想要實時合成動畫并有效的控制虛擬人是一件相當困難的工作。上述動畫產(chǎn)生方式被歸類為以畫格為基礎(chǔ)(frame-based)的低階表示法,其過程十分繁瑣且非常依賴動畫師的動畫技術(shù)以及他對人類動作的揣摩經(jīng)驗,如此才能產(chǎn)生出生動自然的肢體動作。第二種是以運動學(kinematics)為基礎(chǔ)的程序式動畫,其對于某類運動行為的肢體動作合成,必須先利用運動科學(sport science)的分析技術(shù),解析求得運動過程各狀態(tài)中末端效應器(end-effector)、關(guān)節(jié)角度、重心位置與根節(jié)點(root)位移旋轉(zhuǎn)等參數(shù)的適當關(guān)系式后,方能產(chǎn)生栩栩如生的動畫效果。但是人類許多運動行為過于復雜,并不容易經(jīng)由運動分析找出近似的運動方程式,所以應用范圍非常狹隘,能產(chǎn)生的肢體動作也不豐富,大多用于步行(locomotion)動畫的合成。
另一種是以動力學(dynamics)的仿真產(chǎn)生動作,可經(jīng)由設(shè)定物體質(zhì)量、運動慣量和角加速度等參數(shù)后,再交由計算機計算出符合這些物理參數(shù)的運動行為,然而仿真像人類這種具有復雜鏈接性的關(guān)節(jié)系統(tǒng)需要龐大的計算量,目前的計算機并無法實時以動態(tài)仿真方式來產(chǎn)生動作。最后一種是利用3D動作獲取器預先記錄下動畫中所需要的逼真人體動作,此預錄動作數(shù)據(jù)本質(zhì)上已是符合動力學的條件限制,因此產(chǎn)生的動畫逼真程度是所有前述方法中最為真實的,但動作獲取的儀器設(shè)備非常昂貴且獲取時間與數(shù)據(jù)清理時間非常冗長,為了降低這些成本,促使動作獲取數(shù)據(jù)的再利用(reuse)技術(shù)成為目前熱門的研究議題,其中對于動作獲取數(shù)據(jù)的有效表示法可分為動態(tài)圖像(MotionGraphs)與動態(tài)紋理(Motion Texture)兩類,這些表示法的好處在于它們創(chuàng)造出一種新的動作控制機制,能夠從既有的動作獲取數(shù)據(jù)中任意合成一段符合或逼近限制條件的創(chuàng)新動作。對于動作獲取數(shù)據(jù)的再利用時搜尋接口的改進,內(nèi)容獲取(content-based retrieval)的方式為目前盛行的作法,它可以方便地讓使用者從動作獲取數(shù)據(jù)庫中搜尋出期望的動作。
然而,利用動態(tài)圖像(Motion Graphs)與動態(tài)紋理(Motion Texture)合成出一段新的動作對于輔助動畫師創(chuàng)建動畫的目標依然非常遙遠。其主要原因在于此機制雖然能產(chǎn)生一段動作,但是此合成的動作是不具任何上層語義的拼湊動作,然而動畫師制作動畫的目的就是期望能讓觀賞者了解其創(chuàng)作內(nèi)含的上層語意,因此純粹由訊號處理方式產(chǎn)生的動作,在實用性上效果不佳。
發(fā)明內(nèi)容
為解決上述問題,本發(fā)明提出一種利用文字腳本制作三維動畫的方法,提供使用者輸入自然語言的文字腳本,而能直接合成出三維動畫。
本發(fā)明為一種利用文字腳本制作三維動畫的方法,是架構(gòu)于自然語言的分析技術(shù)與動作索引表的設(shè)計以達到自動合成動畫的技術(shù),基本上它結(jié)合了經(jīng)注釋數(shù)據(jù)標注過的虛擬人肢體動作數(shù)據(jù)庫,再通過自然語言型態(tài)的分析,獲取合成出多樣性的三維動畫。本發(fā)明主要先搜集分析與動作相關(guān)的自然語言語匯與知識,然后再設(shè)計此語言的各類知識本體(ontology)。有了此語言為基礎(chǔ)的知識本體就能保證同一種語言表達的知識具有一致性,接著將其轉(zhuǎn)化為具有語意的注釋(annotation)數(shù)據(jù),使得計算機能夠理解自然語言其所表達的語意,再由動畫數(shù)據(jù)庫中獲取出所需要的動畫片段,就能輕易的合成出三維動畫。
具體地講,本發(fā)明公開了一種利用文字腳本制作三維動畫的方法,包括有下列步驟
輸入一自然語言的文字腳本;正規(guī)化該文字腳本;比較該文字腳本與一動作數(shù)據(jù)庫,該動作數(shù)據(jù)庫包括有數(shù)個動作片段以及一動作片段索引表,利用該動作片段索引表,可比較出相對應于該文字腳本的動作片段;獲取相對應的該動作片段;及合成該動作片段為三維動畫。
所述的利用文字腳本制作三維動畫的方法,該正規(guī)化文字腳本的步驟,包括有下列步驟將該文字腳本劃分為數(shù)個詞組文字;辨別該詞組文字的詞性;根據(jù)該詞性而選定一標題詞;以及轉(zhuǎn)換該標題詞為一正規(guī)化語言。
所述的利用文字腳本制作三維動畫的方法,該標題詞為該詞組文字的同義字中最常用的一個。
所述的利用文字腳本制作三維動畫的方法,該正規(guī)化語言為XML的格式。
所述的利用文字腳本制作三維動畫的方法,該動作數(shù)據(jù)庫的建立包括有下列步驟接收一動作數(shù)據(jù);獲取該動作數(shù)據(jù)中每一畫格紀錄的坐標;提取該坐標的特征值;及根據(jù)該特征值建立該動作片段索引表以及相對應的動作片段。
所述的利用文字腳本制作三維動畫的方法,該動作片段是由數(shù)個畫格記錄所組成。
所述的利用文字腳本制作三維動畫的方法,該動作片段的表示法是利用MPEG7的DLL格式。
所述的利用文字腳本制作三維動畫的方法,該動作片段是利用文字語意分割該動畫數(shù)據(jù)。
所述的利用文字腳本制作三維動畫的方法,該特征值為該畫格投影于一球坐標上的坐標數(shù)據(jù)。
所述的利用文字腳本制作三維動畫的方法,該比較該文字腳本與一動作數(shù)據(jù)庫的步驟是利用加權(quán)貪婪算法來加以比較。
圖1為本發(fā)明的步驟流程示意圖;圖2為本發(fā)明自然語言正規(guī)化的步驟流程圖;圖3為本發(fā)明建立動作數(shù)據(jù)庫的步驟流程圖;及圖4為本發(fā)明搜尋動作片段合成的示意圖。
符號說明40 動作數(shù)據(jù)庫401數(shù)據(jù)格點402無數(shù)據(jù)格點A 起始畫格B 結(jié)尾畫格具體實施方式
本發(fā)明公開一種利用文字腳本制作三維動畫的方法,請參閱圖1,首先輸入一自然語言的文字腳本(步驟101),接著將文字腳本正規(guī)化為計算機可辨別的語言(步驟102),并比較文字腳本與動作數(shù)據(jù)庫(步驟103),而從動作數(shù)據(jù)庫中獲取相對應的動作片段(步驟104),最后將所有的動作片段合成為三維動畫(步驟105)。
本發(fā)明主要方案是提供通過自然語言來撰寫文字腳本,再利用計算機自動制作三維動畫,故前提乃必須先能夠?qū)⒆匀徽Z言正規(guī)化,以供計算機辨識。因此對于自然語言正規(guī)化的問題,我們采用了索引典與注釋數(shù)據(jù)等技術(shù)來解決。請參閱圖2,首先將文字腳本劃分為數(shù)個詞組文字(步驟201),并且分別依序辨別詞組文字的詞性(步驟202),再根據(jù)詞性而依序選定一標題詞(步驟203),而能將標題詞轉(zhuǎn)換為正規(guī)化語言(步驟204)。文字腳本是利用自然語言所構(gòu)成,故需要將其轉(zhuǎn)化為計算機可判讀的正規(guī)化語言,其必須借重索引典(Thesauruses)的功能,其主要是為了解決專門領(lǐng)域內(nèi),相同語意但卻不同術(shù)語間的對應,這是非常有助于規(guī)范注釋數(shù)據(jù)(metadata)的一致性。因為數(shù)字內(nèi)容的自然語言如果不具有任何語意標注,則計算機是很難去理解其所具有的上層語意。而注釋數(shù)據(jù)的標注正是使計算機能夠理解數(shù)字內(nèi)容所隱含語意信息的一項技術(shù)。然而,注釋數(shù)據(jù)必須是一種具有規(guī)范的標注信息,才可讓使用者對其數(shù)字內(nèi)容進行語意標注時有遵循的法則與用詞,并幫助知識本體與推衍規(guī)則有限的計算機理解人類無窮想法與創(chuàng)意的抽象語意。
以最復雜的人體動畫為例子,對于自然語言轉(zhuǎn)換人體動畫的問題而言,人體動作的用詞語句局限于特定詞匯,這種特性正適合以索引典的方式產(chǎn)生注釋數(shù)據(jù)的對應。首先,必須搜集有關(guān)人體動作的文件內(nèi)容,接著以自然語言的工具(或稱為自然語言剖析器)將文件內(nèi)容進行詞組與詞性標注,隨后進行統(tǒng)計分析,將自然語言的語句拆開為數(shù)個詞組文字,來分別判斷其詞性(也就是名詞、動詞、介詞等)。接著采用被廣泛使用的同義詞詞匯做為上述剖析結(jié)果的同義語對應模板,依據(jù)詞匯的對應,做為建立索引典的標準。舉例來說,譬如″往下、朝下、下落、落下、落、下降、降下、降低、降″等,都可以利用″向下″作為標題詞,來代替所有同義的字詞。然后利用注釋數(shù)據(jù)規(guī)范所有的標題詞,即可完成正規(guī)化的判斷,而注釋數(shù)據(jù)可使用XML(Extensible MarkupLanguage)的格式,以增加通用及攜帶的便利性。
接著將正規(guī)化的語言與動作數(shù)據(jù)庫來比較,由數(shù)據(jù)庫中獲取出所相對應的動作片段,來合成三維動畫,其中動作數(shù)據(jù)庫至少包含有數(shù)段的動作片段與對應于動作片段的索引表,計算機可利用前述的注釋數(shù)據(jù)比較動作片段索引表內(nèi)的數(shù)據(jù),而能一一獲取所相對應的動作片段。關(guān)于動作數(shù)據(jù)庫的建立,請參閱圖3,先由外界輸入動作數(shù)據(jù)(步驟301),然后獲取動作數(shù)據(jù)中每一畫格紀錄的坐標(步驟302)并提取坐標的特征值(步驟303),而能根據(jù)特征值建立動作片段索引表以及相對應的動作片段(步驟304)。動作獲取數(shù)據(jù)中的每個畫格記錄了身體各關(guān)節(jié)(joint)上三度空間卡式坐標位置,以及根關(guān)節(jié)(root)的朝向(orientation)。同樣以最復雜的人體動作為例來說明,在所獲取出的每個畫格中,我們提取主要的肢體—左手臂、右手臂和雙腿等姿勢。左手臂和右手臂皆由上、下臂組成。而雙腿則是由左大腿、左小腿和右大腿、右小腿構(gòu)成。為了達到減少維度和不同的身體位移、旋轉(zhuǎn)和縮放下判斷相同的姿勢,我們將各關(guān)節(jié)三度空間卡式坐標按照下述方式轉(zhuǎn)為二度空間的球坐標表示法。假設(shè)v為一段肢體于卡式坐標的向量,則轉(zhuǎn)換v成球坐標向量的方式,需先將根關(guān)節(jié)朝向與v投影至和地板平行的XZ平面,于是根關(guān)節(jié)和v投影的向量分別以vXZ與rXZ表示的。然后,由XZ平面的垂直軸Y軸和rXZ可依下列公式求得v的球坐標弧度θ和θ=cos-1(vXZ·rXZ||vXZ||×||rXZ||)]]> 按照上述轉(zhuǎn)換方式,我們以 四個參數(shù)表示左、右手臂的姿勢特征,其中(θ,)表示下手臂,而 表示上手臂,對于雙腿姿勢特征,也是相同的道理。
接著,我們的動作索引表是一種由多維度晶格所組成的空間(見圖4),以兩個四個維度索引表儲存左、右手臂姿勢索引值,一個八個維度的索引表儲存雙腿姿勢索引值。為了分發(fā)一個畫格到動作索引表中,我們量化畫格中的姿勢特征值便形成了索引表的空間位置。例如, 為左手臂于第i個畫格時姿勢特征值,此特征值可利用下列索引函數(shù)式H找到對應于索引表的晶格位置 其中變量a,b,c,d為各維度的量化間隔即晶格各維度的邊長,運算符號 表示將實數(shù)轉(zhuǎn)成最小整數(shù)值。第i個畫格依照上式計算后被分發(fā)到動作索引表中黑色的晶格內(nèi),更進一步地說,連續(xù)畫格經(jīng)上式計算后,只要是晶格位置相同,都會被群聚到相同的晶格內(nèi),于是原本連續(xù)的動作獲取數(shù)據(jù)便會被切開分發(fā)到串接在一起的晶格內(nèi),并于各個晶格內(nèi)形成一段一段的動作片段(motionclip)。這些動作片段于原本動作獲取數(shù)據(jù)中的起始與結(jié)尾的畫格編號也將一并紀錄于晶格內(nèi)。
當所有的動作獲取數(shù)據(jù)都經(jīng)過上述分發(fā)與群聚的處理后,動作索引表便設(shè)計完成了。如圖4所示,其中動作數(shù)據(jù)庫40包含了數(shù)個晶格,其中包含了具有動作片段的數(shù)據(jù)格點401以及沒有動作片段的無數(shù)據(jù)格點402,當然,所提供的動畫數(shù)據(jù)越完整,無數(shù)據(jù)的格點402就越少,所能產(chǎn)生的動畫的限制就越少。而上述的注釋數(shù)據(jù)必須與此地方的索引數(shù)據(jù)能夠匹配,其可采用具有階層式結(jié)構(gòu)的MPEG-7的DDL格式,以具有語意的靜態(tài)姿勢與動態(tài)動作標注其動作特征值和語意等信息。當語意標注完成之后,動作數(shù)據(jù)庫中便有了注釋數(shù)據(jù)的標注,于是使用者輸入的自然語言轉(zhuǎn)換成注釋數(shù)據(jù)后,就可和動作數(shù)據(jù)庫的注釋數(shù)據(jù)采以DTW(dynamic time warping)符號式比較,最后即可按照注釋數(shù)據(jù)相似程度索引出姿勢所對應的晶格或動作所對應的晶格銜接路徑,而起始畫格與結(jié)尾畫格的信息亦可由姿勢與動作標注的信息中取得。
而比較索引以及合成時,請參閱圖4,姿勢索引即是要由動作索引表中找出起始畫格A與結(jié)尾畫格B分別座落的晶格位置,以用于接下來的路徑搜尋。令起始畫格為fstart,而結(jié)尾畫格為fend,于是其個別座落的晶格位置Cstart與Cend。路徑搜尋是用來找尋晶格位置從Cstart出發(fā)一路邁向Cend合成時,可能會經(jīng)過的晶格串接而成的路徑(如圖中所述為三條)。而最終判斷為何路徑主要是依據(jù)算法達成,且其利用門檻值(threshold)α來規(guī)范限制沿Cstart向Cend方向搜尋的范圍,其可根據(jù)晶格內(nèi)的動作片段數(shù)目多與少,其比重會做高和低的調(diào)整,一直反復搜尋于路徑P中可能經(jīng)過的晶格,直到抵達Cend即算是完成路徑搜尋。當各個關(guān)鍵姿勢指定完成之后,系統(tǒng)便會立刻通過索引表獲取出對應的動作獲取數(shù)據(jù),至于在索引表中各個關(guān)鍵姿勢的連接路徑則采用加權(quán)貪婪(WeightedGreedy)算法對格子的頂點鄰居(vertex neighbor)拜訪尋找。而鄰居間彼此動作片段的過渡(transition)除了需要考慮根節(jié)點的朝向和移動方向的調(diào)校(alignment)外,還需要解決腳滑步(feet sliding)、腳穿透(penetrating)或懸浮(suspending)于地板以及其它違反環(huán)境限制等現(xiàn)象。
以上所述僅為本發(fā)明其中的較佳實施例而已,并非用來限定本發(fā)明的實施范圍;凡依本發(fā)明申請專利范圍所作的等效變化與修改,皆為本發(fā)明專利范圍所涵蓋。
權(quán)利要求
1.一種利用文字腳本制作三維動畫的方法,其特征在于,包括有下列步驟輸入一自然語言的文字腳本;正規(guī)化該文字腳本;比較該文字腳本與一動作數(shù)據(jù)庫,該動作數(shù)據(jù)庫包括有數(shù)個動作片段以及一動作片段索引表,利用該動作片段索引表,可比較出相對應于該文字腳本的動作片段;獲取相對應的該動作片段;及合成該動作片段為三維動畫。
2.如權(quán)利要求1所述的利用文字腳本制作三維動畫的方法,其特征在于,該正規(guī)化文字腳本的步驟,包括有下列步驟將該文字腳本劃分為數(shù)個詞組文字;辨別該詞組文字的詞性;根據(jù)該詞性而選定一標題詞;以及轉(zhuǎn)換該標題詞為一正規(guī)化語言。
3.如權(quán)利要求2所述的利用文字腳本制作三維動畫的方法,其特征在于,該標題詞為該詞組文字的同義字中最常用的一個。
4.如權(quán)利要求2所述的利用文字腳本制作三維動畫的方法,其特征在于,該正規(guī)化語言為XML的格式。
5.如權(quán)利要求1所述的利用文字腳本制作三維動畫的方法,其特征在于,該動作數(shù)據(jù)庫的建立包括有下列步驟接收一動作數(shù)據(jù);獲取該動作數(shù)據(jù)中每一畫格紀錄的坐標;提取該坐標的特征值;及根據(jù)該特征值建立該動作片段索引表以及相對應的動作片段。
6.如權(quán)利要求5所述的利用文字腳本制作三維動畫的方法,其特征在于,該動作片段是由數(shù)個畫格記錄所組成。
7.如權(quán)利要求6所述的利用文字腳本制作三維動畫的方法,其特征在于,該動作片段的表示法是利用MPEG7的DLL格式。
8.如權(quán)利要求6所述的利用文字腳本制作三維動畫的方法,其特征在于,該動作片段是利用文字語意分割該動畫數(shù)據(jù)。
9.如權(quán)利要求5所述的利用文字腳本制作三維動畫的方法,其特征在于,該特征值為該畫格投影于一球坐標上的坐標數(shù)據(jù)。
10.如權(quán)利要求1所述的利用文字腳本制作三維動畫的方法,其特征在于,該比較該文字腳本與一動作數(shù)據(jù)庫的步驟是利用加權(quán)貪婪算法來加以比較。
全文摘要
本發(fā)明涉及一種利用文字腳本制作三維動畫的方法,主要是于設(shè)計利用自然語言來產(chǎn)生三維動畫,以快速產(chǎn)生雛形動畫的制作流程;本發(fā)明將自然語言轉(zhuǎn)換成具上層語意的動作注釋數(shù)據(jù),并與經(jīng)動作注釋數(shù)據(jù)標注過的動作片段數(shù)據(jù)進行匹配,便可索引出語意相似的候選動作,然后將的合成以產(chǎn)生實際的三維動畫。
文檔編號G06T15/70GK1567383SQ03137090
公開日2005年1月19日 申請日期2003年6月18日 優(yōu)先權(quán)日2003年6月18日
發(fā)明者林倉互, 陳加珍, 楊熙平, 趙士賓, 邱志義 申請人:財團法人工業(yè)技術(shù)研究院