專利名稱:圖象合成的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于活動(dòng)圖象的合成,例如伴隨合成語(yǔ)音。
按照本發(fā)明,提供一種生成表示具有與口語(yǔ)發(fā)聲相匹配的有形發(fā)音的面部活動(dòng)圖象的信號(hào)的方法,包括接收一系列對(duì)應(yīng)于發(fā)聲的連續(xù)部分的語(yǔ)音表述;辨明第一類型的各語(yǔ)音表述的口形;辨明由一第一類型語(yǔ)音表述到第二類型語(yǔ)音表述的各個(gè)轉(zhuǎn)換、由一第二類型的語(yǔ)音表述到第一類型語(yǔ)音表述的各個(gè)轉(zhuǎn)換由一第二類型的語(yǔ)音表述到第二類型語(yǔ)音表述的各個(gè)轉(zhuǎn)換的口形;和生成一系列包含有被辨明形狀的圖象幀。
第一和第二類型可以分別為元音和輔音,這樣,本發(fā)明一優(yōu)選實(shí)施例即提供一生成表示具有與口語(yǔ)發(fā)聲相匹配的有形發(fā)音的面部活動(dòng)圖象的方法,包括接收一系列對(duì)應(yīng)于發(fā)聲的相接續(xù)的音素的發(fā)音表述;辨明各元音音素的口形;辨明由元音音素到輔音音素的各個(gè)轉(zhuǎn)換、由輔音音素到元音音素的各個(gè)轉(zhuǎn)換和由輔音音素到輔音音素的各個(gè)轉(zhuǎn)換的口形;和生成一系統(tǒng)包含被辨明形狀的圖象幀。
對(duì)輔音與元音音素間的各個(gè)轉(zhuǎn)換的口形辨識(shí)可作為元音音素和輔音音素的函數(shù)來(lái)進(jìn)行,而對(duì)二輔音音素之間的各轉(zhuǎn)換則可作為二輔音音素中的第一個(gè)和與其最接近的后面或前面的元音音素的函數(shù)來(lái)進(jìn)行。或者,對(duì)兩輔音音素之間的各轉(zhuǎn)換的口形辨識(shí)可作為二輔音音素中的第一個(gè)和緊隨其后的元音音素的、或者在沒有此音素時(shí)則為其前面的元音音素的函數(shù)來(lái)進(jìn)行。
最好對(duì)各轉(zhuǎn)換的辨識(shí)僅作為上述相對(duì)于這些轉(zhuǎn)換所指定的那些函數(shù)來(lái)進(jìn)行。或者,此辨識(shí)也可作為同一詞中的至少另一個(gè)音素的函數(shù)來(lái)進(jìn)行。
在一優(yōu)選配置中,可對(duì)已經(jīng)辨明的口形產(chǎn)生一指定該形狀的命令和各自指定介于由前面和隨后命令指定的形狀之間的形狀的中間命令。
本發(fā)明的另一方面提出一用于產(chǎn)生表示具有與口語(yǔ)發(fā)聲相匹配的有形發(fā)音的頭部活動(dòng)圖象的信號(hào)的設(shè)備,具備有被配置用于接收對(duì)應(yīng)于發(fā)聲的相接續(xù)部分的一系列發(fā)音表述的和與之相應(yīng)地對(duì)第一類型的各語(yǔ)音表述辨明一口形和對(duì)由第一類型語(yǔ)音表述到第二類型語(yǔ)音表述的各個(gè)轉(zhuǎn)換、對(duì)由第二類型的語(yǔ)音表述到第一類型語(yǔ)音表述的各轉(zhuǎn)換和對(duì)由第二類型語(yǔ)音表述到第二類型語(yǔ)音表述的各轉(zhuǎn)換辨明口形的裝置;和為生成一系列包含已經(jīng)辨明形狀的圖象幀的裝置。
現(xiàn)在參照附圖舉例說(shuō)明本發(fā)明一實(shí)施例,所列附圖為
圖1為表明實(shí)施例部件的功能方框圖;圖2表示合成人類頭部圖象中所采用的“成串幀(wireframe)”的平面、正面和側(cè)面視圖;圖3表示合成人類頭部圖象的口部分中所用的“成串幀”的類似視圖;圖4說(shuō)明在表示說(shuō)“affluence”時(shí)的人類頭部的一系列圖象的合成中發(fā)生的最大元音口形;圖5說(shuō)明詞“affluence”中發(fā)生的最大的元音到輔音(和反之)的轉(zhuǎn)換口形;圖6說(shuō)明詞“afflnence”的發(fā)音中其余的口形;
圖7說(shuō)明詞“affluence”發(fā)音中的口形間的轉(zhuǎn)換;圖8為示意說(shuō)明圖象合成單元中為將語(yǔ)音信號(hào)翻譯成命令信號(hào)的單元部件的方框圖;圖9為說(shuō)明此實(shí)施例設(shè)備的運(yùn)行的流程圖;圖10為說(shuō)明復(fù)合元音和破擦音變換成它們的構(gòu)成音素的過程的流程圖;圖11A-11D說(shuō)明根據(jù)輸入音素文件生成中間輸出文件的過程;圖12說(shuō)明根據(jù)中間輸出文件生成指定最大口形的定時(shí)和性質(zhì)的文件的過程;和圖13A、13B說(shuō)明生成指定最大口形和中間口形兩者的文件的過程。
圖1的設(shè)備具有以文本形式接收要講述的單詞、和以音頻信號(hào)形式生成相應(yīng)的言語(yǔ)并生成為顯示帶有對(duì)應(yīng)于該同一言語(yǔ)的口的發(fā)音的面部運(yùn)動(dòng)圖象(例如人類的或卡通的)的對(duì)應(yīng)視頻信號(hào)的功能。在此說(shuō)明書中將會(huì)經(jīng)常引用口的發(fā)音運(yùn)動(dòng),這應(yīng)被理解為這種發(fā)音可能包含口唇、口的內(nèi)部(如希望的話還包含齒和舌)、上下顎和周圍區(qū)域的運(yùn)動(dòng)。其他運(yùn)動(dòng)例如整個(gè)頭部的運(yùn)動(dòng)或轉(zhuǎn)動(dòng)、眉毛的動(dòng)作等等也可能包括進(jìn)來(lái)以便使所得到的圖象顯現(xiàn)得更真實(shí)。
來(lái)自一被存儲(chǔ)的文本文件的或其他所希望的來(lái)源的文本以按照任一簡(jiǎn)便的標(biāo)準(zhǔn)表述(例如ASCⅡ碼)的字符代碼形式在輸入端1接收。接收它的是一種通常結(jié)構(gòu)的言語(yǔ)合成器,但在此被表示作為分開的兩個(gè)部分,即一將通常的表音法變換成語(yǔ)音表述(例如音素和各自的持續(xù)時(shí)間)的清單的文本-語(yǔ)音變換器2和將此清單變換成音頻波形的言語(yǔ)合成器本身3。任何音素組均可采用,但為了這一說(shuō)明,假定采用British RP-SAMPA組,它標(biāo)定如下表1中所列的38個(gè)美國(guó)英語(yǔ)的獨(dú)立音素。
表1
待續(xù)
因?yàn)檠哉Z(yǔ)合成器是一般的,這里將不再進(jìn)行說(shuō)明。
此音素清單由下面將更詳細(xì)說(shuō)明的翻譯單元4接收。它用于由此音素清單生成一系列命令信號(hào),指定面部所需的口的發(fā)音動(dòng)作以使得它能以對(duì)應(yīng)于音素清單因而即對(duì)應(yīng)于合成器3所產(chǎn)生的言語(yǔ)信號(hào)的狀態(tài)動(dòng)作。
這些命令信號(hào)由圖象合成單元5接收。這一單元中存儲(chǔ)有所希望的面部的一單個(gè)視頻幀即靜止圖形的位象,用來(lái)生成表示這一面部的但具有運(yùn)動(dòng)的連續(xù)的視頻信號(hào)。顯然這一視頻信號(hào)可以是任何所希望的標(biāo)準(zhǔn),在此假定為每秒25幀的Systeml信號(hào)。此運(yùn)動(dòng)是借助于三維成串幀模型生成的。一典型的這樣的模型如圖2中所示,其口部區(qū)被放大表示在圖3中。它具有三維空間中的許多點(diǎn)(頂點(diǎn))而連接這些頂點(diǎn)的直線定義被稱為小平面的三角形面積。在此實(shí)際設(shè)備中,此模型以一組被存儲(chǔ)器數(shù)據(jù)存在,即對(duì)各頂點(diǎn)有一頂點(diǎn)號(hào)及其X,Y,Z座標(biāo)和對(duì)各水平面有一小平面號(hào)和形成小平面的角的三個(gè)頂點(diǎn)的數(shù)量。在初始化階段,單元5確定這一基準(zhǔn)模型的各小平面與位象對(duì)應(yīng)區(qū)域之間的映象。由重復(fù)地定義其中一或多個(gè)頂點(diǎn)采取與其在基準(zhǔn)模型中所占據(jù)位置不同的被改變的模型來(lái)產(chǎn)生運(yùn)動(dòng)。然后單元5必須生成一新的二維位象。這由辨識(shí)其一或多個(gè)頂點(diǎn)已作相對(duì)于基準(zhǔn)模型移動(dòng)的被改變模型的任一小平面來(lái)進(jìn)行,對(duì)每一個(gè)這樣的小平面采用一內(nèi)插處理,其中按照映象關(guān)系對(duì)應(yīng)于它的原先位象的該三角形區(qū)被移動(dòng)和/或變形以占據(jù)新的位象中的一個(gè)三角區(qū),該三角區(qū)據(jù)按照映象關(guān)系對(duì)應(yīng)于被改變模型的小平面的一三角形區(qū)。對(duì)輸出信號(hào)的每一幀(即每40ms)生成這樣一位圖。對(duì)于圖象合成單元5的更詳細(xì)的操作和實(shí)現(xiàn)可參看W.J.Welsh,S.Searby和J.B.Waite“基于模型的圖象編碼”,Br,Telecom Technol,J.,vol8,No.3,July 1990。
驅(qū)動(dòng)圖象合成單元5所需的命令原則上包括每40ms發(fā)送給此單元其位置與基準(zhǔn)模型不同的各頂點(diǎn)的數(shù)目連同其新的座標(biāo)。但為了操作速度,單元5含有一組存儲(chǔ)的動(dòng)作單元,它們的每一個(gè)是由下列組成的數(shù)據(jù)項(xiàng)一動(dòng)作單元號(hào)(例如0至255)(1字節(jié));一受此動(dòng)作單元作用的頂點(diǎn)數(shù);一對(duì)各頂點(diǎn)頂點(diǎn)號(hào)(2字節(jié));其在從基準(zhǔn)模型中的位置作的X座標(biāo)位移(2字節(jié));其在從基準(zhǔn)模型中的位置作的Y座標(biāo)位移(2字節(jié));其在從基準(zhǔn)模型中的位置作的Z座標(biāo)位移(2字節(jié));(當(dāng)然最好能采用相對(duì)于前面幀的X,Y,Z位移。)這樣各命令即可簡(jiǎn)單地由一動(dòng)作單元號(hào)后隨一為改變由此動(dòng)作單元所指定的運(yùn)動(dòng)量的定標(biāo)因數(shù)(例如由0至255)組成,或者在希望時(shí)可含有數(shù)個(gè)(在一試制型式中可多達(dá)5個(gè))。此單元5在接收到此命令后,查找動(dòng)作單元并利用對(duì)所指定頂點(diǎn)的被存儲(chǔ)座標(biāo)位移(作適當(dāng)定標(biāo))。如果此命令含有雙方都指定一特定頂點(diǎn)的位移的兩個(gè)動(dòng)作單元,則此位移即就是此二位移的向量和。
現(xiàn)在回過來(lái)討論翻譯單元4的運(yùn)行,引入一形素(viseme)的概念將很方便。正如口語(yǔ)單詞可被認(rèn)為是由所謂的音素的基本單位組成的那樣,有形言語(yǔ)可被認(rèn)為是由形素-有形言語(yǔ)的最小單位、即“有形發(fā)音清晰單位的最小可感受單位”所組成的?;旧弦恍嗡厥且豢谛?,此翻譯單元的任務(wù)是確定需要什么形素和它們發(fā)生的時(shí)間瞬間(量化到40ms的倍數(shù)),然后以40ms的間隔生成命令來(lái)使得能以所要求的間隔產(chǎn)生所需要的形素和產(chǎn)生對(duì)中介幀的適當(dāng)?shù)闹虚g形狀。
翻譯單元運(yùn)行的中心是音素與形素之間沒有1∶1的對(duì)應(yīng)關(guān)系這一概念。首先,有些音素在視覺上是類似的或者甚至是無(wú)法區(qū)分的,例如,輔音|p|和|b|在視覺上同樣,因?yàn)樗鼈儍H在發(fā)聲程度上不同而聲域的發(fā)音相同。這樣,可將音素加以分組,同一組的音素就形素生成方面來(lái)說(shuō)被認(rèn)為是相同的??赡苡懈鞣N不同分組,一典型分組如下表2中所示表2
(注不存在復(fù)合元音是因?yàn)檫@些在處理前被分成為它們的組成元音)。
其次,雖然有可能定義一元音發(fā)聲與口形之間的關(guān)聯(lián),但在輔音則不能,此時(shí)口形取決于近旁的音素,特別是近旁的元音音素。在本實(shí)施例中,口形與元音和與輔音與音素的組合兩者相關(guān)連。具有相當(dāng)大數(shù)量的涉及輔音的轉(zhuǎn)換。但注意到輔音到輔音的轉(zhuǎn)換極大地受后面元音(或者在斷句前一單詞的結(jié)尾時(shí)的前面元音)很大影響,雖然兩者的第二個(gè)輔音具有某種作用但這十分微弱而可加忽略,就能作第一簡(jiǎn)化。本實(shí)施例即利用這一點(diǎn)將輔音-元音或元音-輔音組合與各輔音到輔音的轉(zhuǎn)換相關(guān)連。這樣即將系統(tǒng)所需處理的口形數(shù)量保持為很低。
為舉例說(shuō)明本實(shí)施例的運(yùn)行,如果文本-語(yǔ)音單元2接收到-表示單詞“affluence”的信號(hào),它就運(yùn)行輸出音素清單|#:|{||f||l||u||@||n||s||#:|到翻譯單元4。接收到該音素清單后翻譯單元就可運(yùn)行來(lái)處理音素清單以輸出一系列命令信號(hào)。此輸出命令信號(hào)如圖4至7中所示,其中每一個(gè)也表明此輸入音素清單的內(nèi)容,即音素本身和它們采樣中的持續(xù)時(shí)間(在此例中采樣速率為8khz)。
首先,此輸出包含對(duì)應(yīng)于單詞中的元音的3個(gè)命令信號(hào)。這些如圖4中所示,其中下面的圖中,已辨明元音|{||u||@|,各自被標(biāo)以條杠,指明被分配給該元音的形素已經(jīng)確定,認(rèn)為它在元音的中點(diǎn)發(fā)生。
此輸出還包含指定與元音-輔音和輔音-元音轉(zhuǎn)換相關(guān)的口形的命令信號(hào),這在圖5中表明,這里條杠表明口形在元音-輔音或輔音-元音邊界。這剩下輔音-輔音轉(zhuǎn)換。如前面提到的,轉(zhuǎn)換被認(rèn)為其特征主要由第一輔音和隨后的下一元音決定,因此轉(zhuǎn)換|f|到|l|被表示(圖6中)為輔音-元音組合|f|到|u|的口形。|n|到|s|轉(zhuǎn)換無(wú)后跟元音因此所采用的口形對(duì)應(yīng)于|@|到|s|元音-輔音組合,即利用前置元音。前置和后隨的靜聲周期|#:|自然由閉口的面部表現(xiàn),即基準(zhǔn)成串幀模型。
在圖6中標(biāo)以條杠的時(shí)間瞬間(更確切說(shuō),最接近這些瞬間的40ms),翻譯單元4發(fā)送給圖象合成單元5一指定一動(dòng)作單元和適應(yīng)于相關(guān)口型的標(biāo)定因數(shù)的命令。在這些瞬間之間的40ms間隔中,需要發(fā)送一指定介于此二口形中間的口形的命令。例如,在標(biāo)以{f瞬間與標(biāo)以fu的瞬間之間發(fā)送一指定此二個(gè)分別對(duì)應(yīng)于元音-輔音組合|{|到|f|和輔音-元音組合|f|到|u|的動(dòng)作單元的命令,(雖然帶有降低的標(biāo)定因數(shù))以便能實(shí)現(xiàn)二個(gè)形狀之間的平滑轉(zhuǎn)換。這樣,在此二瞬間中途X%的點(diǎn)上,組合|{|到|f|的動(dòng)作單元將以其在{f點(diǎn)的標(biāo)定因數(shù)的1-X/100倍的標(biāo)定因數(shù)發(fā)送,隨同帶有其在fu點(diǎn)的標(biāo)定因數(shù)的x/100倍的標(biāo)定因數(shù)的組合|f|到|u|的動(dòng)作單元。圖7圖示表明這一處理。將可看到,為了生成中間命令信號(hào),與無(wú)聲音素相關(guān)的口形在到達(dá)此無(wú)聲音素的中央之前不受隨后的口形的影響。
在上述表2的11組中,有7個(gè)輔音組、3個(gè)元音組和1個(gè)所謂的“雙方”組。此“雙方”組包含元音音素和輔音音素雙方。這樣,不計(jì)涉及靜聲的轉(zhuǎn)換,所有所需的元音和元音-輔音及輔音-元音組合即可由下表3中所示的元音組和元音-輔音組及輔音-元音組組合來(lái)表示表3元音 4輔音組到元音組的組合21元音組到輔音素的組合21雙方組到其它組的組合10其它組到雙方組的組合10雙方組到雙方組的組合 2總計(jì)68這68個(gè)元音組和組的組合中的一些對(duì)應(yīng)于相同的口形;而一些口形與其他的相似,主要部分不同,即它們可由同一動(dòng)作單元產(chǎn)生但采用不同的標(biāo)定因數(shù)。在確定動(dòng)作單元期間(將在下面討論)發(fā)現(xiàn)這些68個(gè)元音組和組的組合可由11個(gè)動(dòng)作單元與適當(dāng)?shù)臉?biāo)定因數(shù)來(lái)表述。下表4以對(duì)動(dòng)作單元的說(shuō)明、隨標(biāo)定因數(shù)增加的特點(diǎn)的注解、和可由該動(dòng)作單元表述的元音組及組的組合的清單來(lái)說(shuō)明這些,還表明了用于生成對(duì)應(yīng)于給定元音組和組的組合的各個(gè)口形的標(biāo)定因數(shù)。
熟悉本技術(shù)領(lǐng)域的人士將會(huì)意識(shí)到,在動(dòng)作單元中對(duì)元音組和組的組合作更精細(xì)的劃分可以定義更大數(shù)量的動(dòng)作單元。
表4
<p>
轉(zhuǎn)換單元4可借助適當(dāng)?shù)鼐幊痰奶幚硌b置來(lái)實(shí)現(xiàn),這樣即如圖8中所示包括處理器10、程序存儲(chǔ)器11和多個(gè)含有查找表的存儲(chǔ)器。較具體說(shuō),這些包括復(fù)合元音表12,音素組表13和動(dòng)作單元表14。它們?yōu)榍宄鹨娮鞣珠_表示但在實(shí)際上一單個(gè)存儲(chǔ)器即可包含此程序和這些查找表?,F(xiàn)在參照?qǐng)D9-13所示流程圖更詳細(xì)地說(shuō)明存儲(chǔ)器11中所存儲(chǔ)的程序的操作。
圖9的流程圖僅說(shuō)明作為整體的設(shè)備的運(yùn)行,設(shè)定由圖10-13所表述的算法發(fā)生的來(lái)龍去脈。此算法被存放在程序存儲(chǔ)器11中并可執(zhí)行來(lái)產(chǎn)生形成待發(fā)送到合成單元5的命令信號(hào)的基礎(chǔ)的動(dòng)作單元文件(包括動(dòng)作單元和標(biāo)定因數(shù))。從而后跟步驟100中的初始化,由言語(yǔ)合成器的文本-語(yǔ)音單元2接收文本消息(S102),生成音素文件(S104)。當(dāng)翻譯單元14確認(rèn)接收到這一文件(S106),即發(fā)生將音素清單翻譯(S108)成一動(dòng)作單元文件(S110生成)。這形成要被傳送(S112)到圖象合成單元5的命令信號(hào)的基礎(chǔ)而音素文件被送往合成器3。如果希望的話,在靜聲期間(S114)或在言語(yǔ)期間(S116)可生成輔助動(dòng)作單元來(lái)產(chǎn)生隨機(jī)(或其他)頭部運(yùn)動(dòng)。
步驟108的操作以利用圖10中所示流程圖說(shuō)明的程序步驟擴(kuò)展復(fù)合元音和破擦音開始。程序依次讀取(S120)音素文件的各個(gè)元素并確定(S122)該音素是否由2字符表述。如果是,程序即促使處理器(S124)將此元素分解成它的組成字符并以由這些字符表述的二音素來(lái)代替此元素。每一個(gè)的持續(xù)時(shí)間被設(shè)定為已被分割的復(fù)合元音或破擦音音素的持續(xù)期間的一半。作為音素輸出清單中的音素?cái)?shù)量的量度的一變量(音素?cái)?shù))被增量1(S126)。否則將此元素加到此音素清單(S128)。
將會(huì)看到所表明的程序步驟可怎樣被執(zhí)行來(lái)借助于復(fù)合元音表12來(lái)分別將復(fù)合元音如|al||aUl|和|el|變換到音素對(duì)|{|+|l|、|{|+|u|、和|E|+|l|。類似地,程序可執(zhí)行來(lái)將破擦音|dz|和|ts|分成為2音素。
此后跟著(圖11A-11D)逐個(gè)元素地檢查由圖10中表明的處理所生成的音素清單。對(duì)每一個(gè)初始靜聲音素后的元素,在一中間輸出文件中記錄一音素組合或元音和相關(guān)的時(shí)間間隔。這樣,每一項(xiàng)即標(biāo)識(shí)此音素組合或元音連同要在前面的口形瞬間與當(dāng)前口形瞬音之間要產(chǎn)生的時(shí)間間隔(即對(duì)應(yīng)于圖6中的條杠之間距離的時(shí)間間隔)。除非下面另述的,在每一項(xiàng)之后,程序返回到步驟100以確定是否到達(dá)音素清單的最后一元素。如果是,則音素清單的查驗(yàn)結(jié)束。否則,程序即返回到當(dāng)前元素分類步驟130。
為查驗(yàn)此音素清單,對(duì)各元素首先確定此元素是一元音、輔音還是靜聲(圖11A、S130)。
如在此當(dāng)前元素分類步驟130發(fā)現(xiàn)為一元音,進(jìn)行圖11B中說(shuō)明的步驟。首先,確定此音素清單中前面音素是靜聲、輔音還是元音(S140)。如果此前面音素為一靜聲音素,即將元音口形前的時(shí)間間隔設(shè)定為此元音持續(xù)時(shí)間的一半與此靜聲持續(xù)時(shí)間的一半之和(S141)。然后將靜聲到元音的轉(zhuǎn)換連同所計(jì)算的時(shí)間間隔輸入進(jìn)中間輸出文件(S142)。如前面的音素為一元音音素,則將元音口形之間的時(shí)間間隔設(shè)定到當(dāng)前元音持續(xù)時(shí)間的一半與前面元音持續(xù)時(shí)間的一半之和(S143。再將元音自身(例如|@|)和相關(guān)的時(shí)間間隔輸入進(jìn)中間輸出文件(S144)。如前面音素為一輔音音素,就確定前面音素之前的音素是否為靜聲(S145)。如是,則將自前面口形起的時(shí)間間隔設(shè)定為當(dāng)前元音持續(xù)時(shí)間的一半(S146)并將此元音連同計(jì)算得的時(shí)間間隔輸入進(jìn)中間輸出文件(S147)。如不是,則將自前面口形起的時(shí)間間隔設(shè)定為此輔音的持續(xù)時(shí)間(S148)和將元音到輔音的組合(例如|l|到|u|和相關(guān)的時(shí)間間隔輸入進(jìn)中間輸出文件(S149)。這時(shí)程序不返回確定步驟180而是在轉(zhuǎn)換文件中促使進(jìn)行另一項(xiàng)(S146、147),此項(xiàng)包含等于當(dāng)前元音持續(xù)時(shí)間的一半的時(shí)間間隔和元音自身(如|u|)。
圖11B的步驟的一個(gè)作用是保證對(duì)應(yīng)于當(dāng)前元音的口形與此元音音素的中央一致。
如果在當(dāng)前音素分類步驟(S130)中發(fā)現(xiàn)一靜聲,執(zhí)行圖11C中步驟。首先確定音素清單中的前面的音素是一靜聲、輔音還是元音(S150)。如此前面的音素為一靜聲,則指示出錯(cuò)(S151)。如在靜聲之前為一元音則將自前面口形起的一時(shí)間間隔設(shè)定為此元音持續(xù)時(shí)間的一半與此靜聲持續(xù)時(shí)間的一半之和(S152),并將元音到靜聲轉(zhuǎn)換連同此時(shí)間間隔記錄在中間輸出文件中(S153)。如此前面音素為一輔音則將由最后一口形起的時(shí)間間隔設(shè)定為此輔音持續(xù)時(shí)間與此當(dāng)前靜聲的持續(xù)的一半之和(S154)。在這一情況下,將元音一輔音組合到元音的轉(zhuǎn)變(例如|@S|到|#:|)和相關(guān)的時(shí)間間隔輸入進(jìn)中間輸出文件(S155)。
如果在步驟130發(fā)現(xiàn)為輔音,執(zhí)行圖11D中表明的步驟。首先將前面的音素分類為元音、靜聲或輔音(S160)。如果它是元音,則將時(shí)間間隔設(shè)定為此元音持續(xù)時(shí)間的一半(S161),將元音一輔音組合(例如|{|到|f|}連同此時(shí)間間隔記錄在中間輸出文件中(S162)。如果前面的音素為一輔音,則程序向前搜索音素清單以找到一元音音素(S163)。如發(fā)現(xiàn),(前面輔音和稍后的元音的)輔音一元音組合(例如|f|到|u|)和相關(guān)的時(shí)間間隔(等于前面輔音的持續(xù)時(shí)間)被輸入到中間輸出文件中(S164、165)。如果在前進(jìn)搜索中未發(fā)現(xiàn)元音(S163)則程序促使處理器向后搜索一元音(S166)。如果這一搜索成功則將(較早的元音和當(dāng)前輔音的)元音一輔音組合(例如|@|到|s|)連同一有關(guān)的時(shí)間間隔(等于前面的輔音的持續(xù)時(shí)間)一起加以記錄(S167、168)。如果前面搜索和后面搜索均未發(fā)現(xiàn)一元音則結(jié)果為差錯(cuò)指示(S169)。如果發(fā)現(xiàn)此當(dāng)前輔音緊前面的音素為靜聲,則進(jìn)行前向搜索元音(S170),如發(fā)現(xiàn)一元音則將一等于當(dāng)前輔音的持續(xù)時(shí)間與前置靜聲的持續(xù)時(shí)間的一半之和的時(shí)間間隔連同一靜聲到輔音-元音組合的轉(zhuǎn)換一起記錄在中間輸出文件中(S171、172),如果在此單詞中未發(fā)現(xiàn)元音,則指示一差錯(cuò)(S173)。
圖12中,通過訪問查找表13將中間輸出文件中的元音和音素組合變換成元音組和音素組組合。原則上這個(gè)的內(nèi)容可以是如上述表2中所列,從而使各元音或音素組合翻譯到一組號(hào)。但是已發(fā)現(xiàn)更方便的不是一組號(hào)而是以此組的一被指定的音素來(lái)表達(dá)各組,例如音素|p|、|b|和|m|全都被翻譯成|p|。為達(dá)到這一點(diǎn),處理器由圖12中表明的程序控制。對(duì)中間輸出文件中的各元素,元素的類型將被確定(S190)作為下列之一元音(執(zhí)行步驟192);元音/輔音組合(執(zhí)行步驟194);元音/靜聲轉(zhuǎn)換(執(zhí)行步驟196);或組合到靜聲轉(zhuǎn)換(執(zhí)行步驟198)。步驟(192、194、196、198)將作用于將每一復(fù)合元音或輔音變換到被選擇來(lái)表述此組的一元音或輔音。這一過程返回現(xiàn)在含有如上面討論的最大68個(gè)不同的元音組和音素組組合。
在圖13A和13B中,最后所得的組清單利用動(dòng)作單元查找表14(其內(nèi)容被列于上表3的列3、1和4中,或利用列3中的代表性音素,如果這是最佳選項(xiàng)的話)被變換成一動(dòng)作單元文件,以尋求表述此組/組的組合清單中各元素的動(dòng)作單元。然后動(dòng)作單元文件可被用來(lái)提供以40ms的間隙生成的命令信號(hào)序列。
較詳細(xì)說(shuō),此變換過程以從此組清單獲取第一元素開始(S200),而后訪問動(dòng)作單元查找表來(lái)確定與該元素相關(guān)的動(dòng)作單元和定標(biāo)因數(shù)(S201)。然后計(jì)算與此第一元素相關(guān)的時(shí)間間隔之內(nèi)的完整40ms周期的數(shù)量(S202)。再將此初始動(dòng)作單元的定標(biāo)因數(shù)以此周期數(shù)除來(lái)得到一增量值(S203)。這樣此過程進(jìn)入對(duì)每一40ms周期產(chǎn)生一命令信號(hào)的指令循環(huán)(S204)。命令信號(hào)中的定標(biāo)因數(shù)通過每當(dāng)執(zhí)行指令循環(huán)時(shí)計(jì)算得的增量增加(由零起)。
然后獲取組清單中下一元素(圖31B,S205)并利用動(dòng)作單元查找表14求取對(duì)應(yīng)的動(dòng)作單元和定標(biāo)因數(shù)(S206)。如步驟202中那樣,求取與組清單中的該元素相關(guān)的時(shí)間間隔內(nèi)的整個(gè)40ms周期的數(shù)量(S207)。如前,將與當(dāng)前元素相關(guān)的動(dòng)作單元的定標(biāo)因數(shù)被以計(jì)算得的周期數(shù)除以得到一增量值(S208)。但清單中前一元素的定標(biāo)因數(shù)被以同一數(shù)除以得到一減量值(S209)。而后過程進(jìn)入一指令循環(huán)以計(jì)算要輸出的命令信號(hào)。這些包括一涉及前面元素產(chǎn)生的動(dòng)作單元和與組清單中當(dāng)前元素相關(guān)的動(dòng)作單元的加權(quán)組合。給予前面動(dòng)作單元的加權(quán)值以每一40ms周期的減量值來(lái)減量定標(biāo)因數(shù)而減小,而給予當(dāng)前動(dòng)作單元的加權(quán)值則以每40ms周期的增量值增量定標(biāo)因數(shù)(由零數(shù))而增大(S210)。這樣此命令信號(hào)輸出即提供由一口形到另一口形的逐步轉(zhuǎn)換。
然后對(duì)組清單中各個(gè)相繼元素加以類似操作(S206~S210)直至到達(dá)最終元素。
命令信號(hào)根據(jù)動(dòng)作單元文件產(chǎn)生并以40ms的間隔傳送到圖象合成單元5,使得能產(chǎn)生具有對(duì)應(yīng)于文本一言語(yǔ)合成器的輸出的發(fā)音的頭部圖象。
由以上討論將會(huì)注意到,形素亦即對(duì)一元音所選的口形是預(yù)先分配到該元音的,對(duì)一元音一輔音(或相反)組合所選的口形是預(yù)先分配給該組合的,對(duì)一輔音一輔音轉(zhuǎn)換所選的口形是預(yù)先分配給在相同上下文關(guān)系中、亦即在此例中具有同一后跟的(或者在缺乏時(shí),前置的)元音中輔音的第一個(gè)的。如果希望,雖然以增加所需動(dòng)作單元的數(shù)量為代價(jià),對(duì)口形的選擇可以更多隨上下文情況來(lái)進(jìn)行。例如,對(duì)一輔音一元音轉(zhuǎn)換的口形的選擇可以不僅取決于輔音和取決于后隨的元音而且要取決于前置元音(亦即輔音-元音-輔音組合)這樣來(lái)選定。對(duì)輔音一輔音轉(zhuǎn)換的選擇可依據(jù)第一輔音和后隨及前置兩個(gè)元音(如果存在的話)亦即實(shí)際上依據(jù)此二輔音和二元音來(lái)進(jìn)行。
到目前對(duì)存貯在圖象合成單元5中的動(dòng)作單元是如何產(chǎn)生的還談得很少。這在試制型式中是這樣完成的,即進(jìn)行一人員講說(shuō)包含全部所需的68個(gè)元音組和元音組/輔音組組合的單詞的視頻記錄,利用一幀取樣器來(lái)顯示此記錄的靜止幀以便使得對(duì)應(yīng)于元音的那些幀和對(duì)應(yīng)于輔音/元音組合的那些幀能被作手工辨識(shí)。一旦這些幀(以位圖形式)被辨識(shí)即需要確定由這些幀的表述的基準(zhǔn)成串幀模型的位移。這是利用一計(jì)算成串幀模型的為適應(yīng)一給定的位象所需變型的構(gòu)型程序來(lái)完成的。
權(quán)利要求
1.生成表示具有與口語(yǔ)發(fā)聲相匹配的有形發(fā)音的面部的活動(dòng)圖象的信號(hào)的方法,包括接收對(duì)應(yīng)于此發(fā)聲的相接續(xù)部分的語(yǔ)音表述序列;辨明對(duì)第一類型的各語(yǔ)音表述的口形;辨明對(duì)由一第一類型語(yǔ)音表述到第二類型語(yǔ)音表述的各轉(zhuǎn)換、對(duì)由第二類型語(yǔ)音表述到第一類型語(yǔ)音表述的各轉(zhuǎn)換和對(duì)由第二類型語(yǔ)音表述到第二類型語(yǔ)音表述的各轉(zhuǎn)換的口形;和生成包含經(jīng)辨識(shí)的形狀的圖象幀序列。
2.生成表示具有與口語(yǔ)發(fā)聲相匹配的有形發(fā)音的面部的運(yùn)動(dòng)圖象的信號(hào)的方法,包括接收對(duì)應(yīng)于此發(fā)聲的相接續(xù)音素的語(yǔ)音表述序列;辨識(shí)各元音音素的口形;辨識(shí)由一元音音素到一輔音音素的各轉(zhuǎn)換、由一輔音音素到一元音音素的各轉(zhuǎn)換和由一輔音音素到一輔音音素的各轉(zhuǎn)換的口形;和生成包含經(jīng)辨識(shí)的形狀的圖象幀序列。
3.按照權(quán)利要求2的方法,其中對(duì)輔音與元音音素間各轉(zhuǎn)換的口形辨識(shí)作為元音音素和輔音音素的函數(shù)進(jìn)行。
4.按照權(quán)利要求2或3的方法,其中對(duì)二輔音音素間的各轉(zhuǎn)換的口形辨識(shí)作為二輔音音素中的第一個(gè)和最接近地后隨或前置它的元音音素的函數(shù)進(jìn)行。
5.按照權(quán)利要求2或3的方法,其中對(duì)二輔音音素間的各轉(zhuǎn)換的口形辨識(shí)作為二輔音音素中的第一個(gè)和最接近地后隨它的在其不存在時(shí)前置它的元音音素的函數(shù)進(jìn)行。
6.按照權(quán)利要求3~5中任一個(gè)的方法,其中此辨識(shí)作為僅僅那些在權(quán)利要求中所指定的音素的函數(shù)進(jìn)行。
7.按照權(quán)利要求3~5中任一個(gè)的方法,其中辨識(shí)也作為同一單詞中至少一個(gè)另外音素的函數(shù)進(jìn)行。
8.按照前述權(quán)利要求中任一個(gè)的方法,包含對(duì)各經(jīng)辨識(shí)的口形生成一指定該形狀的命令和生成各自指定一中介于由前置的和后隨命令指定的形狀間的形狀的中間命令。
9.用于生成表示具有與一口語(yǔ)發(fā)聲匹配的有形發(fā)音的面部的運(yùn)動(dòng)圖象的信號(hào)的設(shè)備,包括被配置于運(yùn)行中接收對(duì)應(yīng)于此發(fā)聲的相接續(xù)部分的語(yǔ)音表述序列并按照它們來(lái)對(duì)第一類型各語(yǔ)音表述辨識(shí)口形和對(duì)由第一類型語(yǔ)音表述到第二類型語(yǔ)音表述的各轉(zhuǎn)換、對(duì)由第二類型語(yǔ)音表述到第一類型語(yǔ)音表述的各轉(zhuǎn)換以及對(duì)由第二類型語(yǔ)音表述到第二類型表述的各轉(zhuǎn)換辨識(shí)口形的裝置;和為生成包含經(jīng)識(shí)別的形狀的圖象幀的序列的裝置。
10.生成表示具有與口語(yǔ)發(fā)聲匹配的有形發(fā)音的面部運(yùn)動(dòng)圖象的信號(hào)的方法,基本上如這里參照附圖所說(shuō)明的這樣。
11.用于生成表述具有與口語(yǔ)發(fā)聲匹配的有形發(fā)音的面部運(yùn)動(dòng)圖象的信號(hào)的設(shè)備,基本上如這里參照附圖所說(shuō)明的這樣。
全文摘要
將輸入的音素串變換成口形、即形素序列來(lái)進(jìn)行面部活動(dòng)圖象的合成(例如伴隨合成語(yǔ)音)。具體點(diǎn)說(shuō)是對(duì)各個(gè)元音和對(duì)各個(gè)有關(guān)輔音的轉(zhuǎn)換產(chǎn)生一個(gè)形狀。
文檔編號(hào)G06T13/20GK1214784SQ97193348
公開日1999年4月21日 申請(qǐng)日期1997年3月24日 優(yōu)先權(quán)日1996年3月26日
發(fā)明者安德魯·保羅·布林, 埃馬·簡(jiǎn)·鮑爾斯 申請(qǐng)人:英國(guó)電訊有限公司