亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

語音驅(qū)動嘴唇形狀變化的方法、獲取嘴唇動畫的方法及裝置的制作方法

文檔序號:6480335閱讀:425來源:國知局
專利名稱:語音驅(qū)動嘴唇形狀變化的方法、獲取嘴唇動畫的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種語音驅(qū)動嘴唇形狀變化的方法、 獲取嘴唇動畫的方法及裝置。
背景技術(shù)
互動式語音應(yīng)答(IVR, Interactive Voice Response)是基于聲音傳播的一種產(chǎn) 品類型。而互聯(lián)網(wǎng)用戶的主流受眾喜歡展示自我,張揚(yáng)個性,以引起周圍人的 關(guān)注和重視。在這樣的背景下,IVR有必要進(jìn)行技術(shù)及理念上的革新給予聲音 更好的表現(xiàn)力,而視頻動畫技術(shù)可以滿足這種需求。視頻動畫技術(shù)通過使用手 機(jī)或網(wǎng)頁為平臺,輔助聲音以自定義個性的視頻動畫,賦予了聲音更加生動的 表現(xiàn)力。
視頻動畫技術(shù)中 一個重要組成是語音驅(qū)動嘴唇形狀變化的實(shí)現(xiàn)技術(shù),關(guān)于 語音驅(qū)動嘴唇形狀變化的實(shí)現(xiàn),現(xiàn)有技術(shù)提供了 一種利用機(jī)器學(xué)習(xí)的方式將音 頻信號映射到人臉動畫參數(shù)中的嘴唇形狀上的解決方案,但該方案算法復(fù)雜, 運(yùn)算成本高。

發(fā)明內(nèi)容
為了運(yùn)算降低成本,本發(fā)明實(shí)施例提供了 一種語音驅(qū)動嘴唇形狀變化的方 法、獲取嘴唇動畫的方法及裝置。所述技術(shù)方案如下
本發(fā)明實(shí)施例提供了 一種語音驅(qū)動嘴唇形狀變化的方法,包括 獲取音頻信號,根據(jù)所述音頻信號的特征得到嘴唇形狀的運(yùn)動幅度比例; 獲取用戶輸入的初始的嘴唇形狀模型,根據(jù)所述初始的嘴唇形狀模型和所
述嘴唇形狀的運(yùn)動幅度比例,生成嘴唇形狀的運(yùn)動幅度值;
根據(jù)所述嘴唇形狀的運(yùn)動幅度值和預(yù)先建立的嘴唇發(fā)音模型庫,生成變化 的嘴唇形狀網(wǎng)格模型集合。
本發(fā)明實(shí)施例提供了 一種語音驅(qū)動嘴唇形狀變化的裝置,包括 獲取模塊,用于獲取音頻信號,根據(jù)所述音頻信號的特征得到嘴唇形狀的運(yùn)動幅度比例;
第一生成模塊,用于獲取用戶輸入的初始的嘴唇形狀模型,根據(jù)所述初始 的嘴唇形狀模型和所述得到的嘴唇形狀的運(yùn)動幅度比例生成嘴唇形狀的運(yùn)動幅
度值5
第二生成模塊,用于根據(jù)所述得到的嘴唇形狀的運(yùn)動幅度值和預(yù)先建立的 嘴唇發(fā)音模型庫,生成變化的嘴唇形狀網(wǎng)格模型集合。
在本發(fā)明實(shí)施例中,利用嘴唇發(fā)音模型庫,通過語音驅(qū)動實(shí)現(xiàn)了嘴唇形狀 變化,相對于現(xiàn)有技術(shù),本發(fā)明實(shí)施例提供的技術(shù)方案算法簡單,且成本低。
本發(fā)明實(shí)施例提供了一種獲取嘴唇動畫的方法,包括
獲取音頻信號,根據(jù)所述音頻信號的特征得到嘴唇形狀的運(yùn)動幅度比例;
獲取用戶輸入的初始的嘴唇形狀模型,根據(jù)所述初始的嘴唇形狀模型和所 述得到的嘴唇形狀的運(yùn)動幅度比例生成嘴唇形狀的運(yùn)動幅度值;
根據(jù)所述得到的嘴唇形狀的運(yùn)動幅度值和預(yù)先建立的嘴唇發(fā)音模型庫,生 成變化的嘴唇形狀網(wǎng)格模型集合;
根據(jù)所述變化的嘴唇形狀網(wǎng)格模型集合生成嘴唇動畫。
本發(fā)明實(shí)施例提供了一種獲取嘴唇動畫的裝置,包括
獲取模塊,用于獲取音頻信號,根據(jù)所述音頻信號的特征得到嘴唇形狀的 運(yùn)動幅度比例;
第一生成模塊,用于獲取用戶輸入的初始的嘴唇形狀模型,根據(jù)所述初始 的嘴唇形狀模型和所述得到的嘴唇形狀的運(yùn)動幅度比例生成嘴唇形狀的運(yùn)動幅 度值;
第二生成模塊,用于根據(jù)所述得到的嘴唇形狀的運(yùn)動幅度值和預(yù)先建立的
嘴唇發(fā)音模型庫,生成變化的嘴唇形狀網(wǎng)格模型集合;
第三生成模塊,用于根據(jù)所述變化的嘴唇形狀網(wǎng)格模型集合生成嘴唇動畫。 在本發(fā)明實(shí)施例中,利用嘴唇發(fā)音模型庫,通過語音驅(qū)動實(shí)現(xiàn)了嘴唇形狀
變化,進(jìn)而得到嘴唇動畫,相對于現(xiàn)有技術(shù),本發(fā)明實(shí)施例提供的技術(shù)方案算
法簡單,且成本低。


為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描 述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不 付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖l是本發(fā)明實(shí)施例l提供的一種語音驅(qū)動嘴唇形狀變化的方法流程圖; 圖2是本發(fā)明實(shí)施例1提供的frameNumber與嘴唇形狀的運(yùn)動幅度比例的 示意圖3是本發(fā)明實(shí)施例1提供的嘴唇發(fā)音模型庫的示意圖4是本發(fā)明實(shí)施例2提供的一種獲取嘴唇動畫的方法流程圖5是本發(fā)明實(shí)施例3提供的一種語音驅(qū)動嘴唇形狀變化的裝置的結(jié)構(gòu)圖6是本發(fā)明實(shí)施例3提供的另一種語音驅(qū)動嘴唇形狀變化的裝置的結(jié)構(gòu)
圖7是本發(fā)明實(shí)施例3提供的第三種語音驅(qū)動嘴唇形狀變化的裝置的結(jié)構(gòu)
圖8是本發(fā)明實(shí)施例4提供的一種獲取嘴唇動畫的裝置的結(jié)構(gòu)圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明 實(shí)施方式作進(jìn)一步地詳細(xì)描述。顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí) 施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在 沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范 圍。
本發(fā)明實(shí)施例l才是供了一種語音驅(qū)動嘴唇變化的方法,如圖l所示,包括 步驟IOI,獲取音頻信號,根據(jù)音頻信號的特征得到嘴唇形狀的運(yùn)動幅度比例。
具體地,根據(jù)音頻信號的特征獲取嘴唇形狀的運(yùn)動幅度比例的步驟包括 步驟101A,遍歷音頻信號,得到音頻信號的最大的采樣數(shù)據(jù)值 maxSampleValue 。
步驟IOIB,對音頻信號進(jìn)行窗口和小組的劃分,獲取每個小組內(nèi)的采樣數(shù) 據(jù)值的平均值,以及獲取每個窗口內(nèi)所有小組的采樣數(shù)據(jù)值的平均值中的最大 值。音節(jié)是自然的語音單位,具體地,在漢語里,每一個音節(jié)對應(yīng)一種嘴唇形
狀,勻速時,完成一個音節(jié)讀音大約需要200至300毫秒。在每個音節(jié)發(fā)音時 間段內(nèi)也會有語音變化,所以需要將音節(jié)再進(jìn)行劃分,細(xì)分出音素。依據(jù)上述 原理,可以將獲取的音頻信號按照一定長度進(jìn)行窗口劃分, 一個窗口對應(yīng)一個 音節(jié);在每個窗口內(nèi)再按照一定長度進(jìn)行小組劃分, 一個小組對應(yīng)一個音素。 假設(shè)音節(jié)占用x秒時間,窗口長度為WindowLen,貝'j WindowLen = x *音頻采 樣率;假設(shè)定義音素占用y秒時間,小組長度為GroupLen, GroupLen = y *音 頻采樣率。
具體地,獲取的每個'J、組內(nèi)采樣數(shù)據(jù)值的平均值為組內(nèi)所有采樣數(shù)據(jù)值的 總和除以windowLen,將該平均值放在avgGroup數(shù)組;獲取每個窗口內(nèi)所有小 組采樣數(shù)據(jù)值的平均值avgGroup中的最大值,放在windowPeak凄t組。
可選地,為了避免嘴唇形狀不必要的運(yùn)動及在必要運(yùn)動時顯得更加得流暢, 可以在獲取音頻信號時對音頻信號進(jìn)行去噪處理。
步驟101C,根據(jù)獲取的數(shù)組windowPeak獲取每個窗口對應(yīng)的嘴唇形狀的 最大運(yùn)動幅度值。
具體地,獲取第i窗口內(nèi)(i>=0)所有小組采樣數(shù)據(jù)值的平均值;獲取采樣 數(shù)據(jù)值的平均值中的最大值windowPeak[i];計(jì)算最大值windowPeak[i]與最大的 采樣數(shù)據(jù)值的maxSampleValue的比值scale[i]。對于scale數(shù)組中的每個數(shù)組值 scale[i],當(dāng)前窗口 i對應(yīng)的嘴唇形狀的最大運(yùn)動幅度extent[i]=scale[i] * maxLen, 其中,maxLen為所有窗口的嘴唇形狀的最大運(yùn)動幅度值。
步驟101D,獲取每個窗口對應(yīng)的每一幀嘴唇形狀的運(yùn)動幅度比例。 具體地,當(dāng)前窗口 i對應(yīng)的第j幀視頻中的嘴唇形狀運(yùn)動幅度比例 scaleForFrame[k]=j* ( scale[i] / (frameNumber/2)), 其中,k=frameNumber*i+j, 0=<k<視頻總幀數(shù),frameNumber為每個窗口對應(yīng)的動畫視頻幀的個數(shù), frameNumber = x *視頻采樣率,x為每個音節(jié)占用時間長度,本實(shí)施例中,視 頻采樣率默認(rèn)為30幀/秒,用戶也可以根據(jù)需要進(jìn)行修改;j取值范圍為從0依 次遞增到frameNumber/2,再,人frameNumber/2依次遞減到0,如圖2所示。
步驟102,獲取用戶輸入的初始的嘴唇形狀模型,根據(jù)初始的嘴唇形狀模型 和得到的嘴唇形狀的運(yùn)動幅度比例生成嘴唇形狀的運(yùn)動幅度值。
具體地,嘴唇形狀的運(yùn)動幅度值分為垂直方向和水平方向的嘴唇形狀運(yùn)
11動幅度值;計(jì)算水平方向的嘴唇形狀的運(yùn)動幅度值為length*scaleForFrame[k], 垂直方向的嘴唇形狀的運(yùn)動幅度值為width*scaleForFrame[k],其中,0=<1^<視頻 總幀數(shù),length和width分別為初始的嘴唇形狀模型的長度和寬度。
需要說明的是,用戶輸入的初始的嘴唇形狀模型根據(jù)實(shí)際情況不同會發(fā)生 變化。
步驟103,根據(jù)得到的嘴唇形狀的運(yùn)動幅度值和預(yù)先建立的嘴唇發(fā)音模型 庫,生成變化的嘴唇形狀網(wǎng)格模型集合。
在本步驟中,嘴唇發(fā)音模型庫是依據(jù)漢語的發(fā)音特點(diǎn)建立的。在漢語中, 詞由聲母和韻母組成,嘴唇形狀的重點(diǎn)會放在韻母的發(fā)音上。韻母又分單韻母、 復(fù)韻母和鼻韻母。單韻母的發(fā)音由一個元音組成,從始至終嘴唇形狀不變;復(fù) 韻母由兩個或三個元音組成,聲音是漸變的,嘴唇形狀也是漸變的;而鼻韻母 對嘴唇形狀的影響不大。因此,在對嘴唇形狀建立發(fā)音模型時,主要依照單韻 母的發(fā)音的發(fā)音特點(diǎn)。單韻母的發(fā)音是"啊,哦,鵝,衣,屋,于",其中"屋" 和"于,,的嘴唇形狀比較相似,所以合成一種;"鵝"和"衣"的嘴唇形狀比較相似, 所以合成一種;最后得到用四種嘴唇發(fā)音模型組成嘴唇發(fā)音模型庫來表示單韻 母的嘴唇形狀,如圖3所示,嘴唇發(fā)音模型庫必須包括 一個原始嘴唇模型和 在此模型基礎(chǔ)上按以上原理建立起來的各種嘴唇形狀模型。需要說明的是,嘴 唇發(fā)音模型庫中不限于以上四種單韻母的嘴唇形狀模型,依據(jù)語言的發(fā)音特點(diǎn) 不同,嘴唇發(fā)音模型庫中的嘴唇形狀模型也可以不同,例如,根據(jù)英語的發(fā)音 特定,嘴唇發(fā)音模型庫中可以有模擬英語元音"aeiou"發(fā)音特點(diǎn)的嘴唇形狀 模型。
具體地,根據(jù)預(yù)先建立的嘴唇發(fā)音模型庫和嘴唇形狀的運(yùn)動幅度值生成變 化的嘴唇形狀網(wǎng)檔4莫型集合的步驟包括
步驟103A,從嘴唇發(fā)音模型庫中隨機(jī)選擇一個嘴唇發(fā)音模型,作為當(dāng)前嘴 唇形狀的原始發(fā)音模型。
步驟103B,獲取原始發(fā)音模型頂點(diǎn)和嘴唇發(fā)音模型庫中原始嘴唇模型,計(jì) 算原始發(fā)音模型各個頂點(diǎn)的偏移量比例,計(jì)算方法為原始發(fā)音模型頂點(diǎn)z相 對嘴唇發(fā)音模型庫中原始嘴唇模型的頂點(diǎn)z的偏移量在水平方向?yàn)閤_hor,在垂 直方向?yàn)閥_ver,那么頂點(diǎn)z在水平方向的偏移量比例為(x—hor/modelLength ,頂 點(diǎn)z在垂直方向的偏移量比例為y_ver/modelWidth,其中modelLength和modelWidth為發(fā)音模型庫中原始嘴唇模型的長度和寬度,0=<2<原始發(fā)音模型頂 點(diǎn)個數(shù)。
步驟103C,將原始發(fā)音模型各個頂點(diǎn)的偏移量比例各自都乘以當(dāng)前幀的嘴 唇形狀運(yùn)動幅度值得到當(dāng)前幀的頂點(diǎn)偏移量。
步驟103D,在用戶輸入的初始的嘴唇形狀模型,分別累加當(dāng)前幀的頂點(diǎn)偏 移量,得到當(dāng)前幀的嘴唇形狀模型。
步驟103E,將所有幀的嘴唇形狀模型排列起來,生成變化的嘴唇形狀網(wǎng)格 模型集合。
在本發(fā)明實(shí)施例中,利用嘴唇發(fā)音模型庫,通過語音驅(qū)動實(shí)現(xiàn)了嘴唇形狀 變化,相對于現(xiàn)有技術(shù),本發(fā)明實(shí)施例提供的技術(shù)方案算法簡單,且成本低。
本發(fā)明實(shí)施例2沖是供了一種獲取嘴唇動畫的方法,如圖4所示,包括 步驟201,獲取音頻信號,根據(jù)音頻信號的特征得到嘴唇形狀的運(yùn)動幅度比例。
步驟201與步驟101相同,在此不再贅述。
步驟202,獲取初始的嘴唇形狀模型,根據(jù)初始的嘴唇形狀模型和得到的嘴 唇形狀的運(yùn)動幅度比例,得到嘴唇形狀的運(yùn)動幅度值。 步驟202與步驟102相同,在此不再贅述。
步驟203,沖艮據(jù)得到的嘴唇形狀的運(yùn)動幅度值和預(yù)先建立的嘴唇發(fā)音模型 庫,生成變化的嘴唇形狀網(wǎng)格模型集合。
步驟203與步驟103相同,在此不再贅述。
步驟204,根據(jù)該變化的嘴唇形狀網(wǎng)格模型集合生成嘴唇動畫。
具體地,根據(jù)該變化的嘴唇形狀網(wǎng)格模型集合,結(jié)合原始的嘴唇形狀圖像, 利用普通的插值技術(shù)即可得到嘴唇動畫。
在本發(fā)明實(shí)施例中,利用嘴唇發(fā)音模型庫,通過語音驅(qū)動實(shí)現(xiàn)了嘴唇形狀 變化,進(jìn)而得到嘴唇動畫,相對于現(xiàn)有技術(shù),本發(fā)明實(shí)施例提供的技術(shù)方案算 法簡單,且成本低。
本發(fā)明實(shí)施例3提供了一種語音驅(qū)動嘴唇形狀變化的裝置,如圖5所示, 包括
13獲取模塊501,用于獲取音頻信號,根據(jù)該音頻信號的特征得到嘴唇形狀的 運(yùn)動幅度比例;
第一生成模塊502,用于獲取用戶輸入的初始的嘴唇形狀模型,根據(jù)該初始 的嘴唇形狀模型和該得到的嘴唇形狀的運(yùn)動幅度比例生成嘴唇形狀的運(yùn)動幅度
值;
第二生成才莫塊503,用于根據(jù)該得到的嘴唇形狀的運(yùn)動幅度值和預(yù)先建立的 嘴唇發(fā)音模型庫,生成變化的嘴唇形狀網(wǎng)格模型集合。
進(jìn)一步地,如圖6所示,獲取模塊501包括
第一獲取模塊5011,用于遍歷音頻信號,獲取最大的采樣數(shù)據(jù)值;
第二獲取模塊5012,用于對該音頻信號進(jìn)行窗口和小組的劃分,獲取每個 小組內(nèi)的采樣數(shù)據(jù)值的平均值數(shù)組avgGroup,獲取每個窗口內(nèi)所有小組的采樣 數(shù)據(jù)值的平均值數(shù)組avgGroup中的最大值數(shù)組windowPeak;
第三獲取漠塊5013,用于根據(jù)獲取的數(shù)組windowPeak和獲取的最大采樣數(shù) 據(jù)值獲取當(dāng)前窗口對應(yīng)的嘴唇形狀的最大運(yùn)動幅度值;
第四獲取模塊5014,用于根據(jù)當(dāng)前窗口對應(yīng)的嘴唇形狀最大運(yùn)動幅度獲取 當(dāng)前窗口對應(yīng)的當(dāng)前幀^f見頻的嘴唇形狀運(yùn)動幅度比例。
進(jìn)一步地,第二獲取模塊,包括
第五獲^^莫塊,用于獲取當(dāng)前窗口 i內(nèi)所有小組采樣數(shù)據(jù)值的平均值; 第六獲取模塊,用于獲取釆樣數(shù)據(jù)值的平均值的最大值windowPeak[i]; 第七獲取模塊,用于計(jì)算windowPeak[i]和最大的音頻采樣數(shù)據(jù)值 maxSampleValue的比值scale[i];
第八獲取模塊,用于計(jì)算當(dāng)前窗口 i對應(yīng)的嘴唇形狀的最大運(yùn)動幅度 extent[i]=scale[i] * maxLen;
其中,i>=0, maxLen為所有窗口的嘴唇形狀的最大運(yùn)動幅度值。 進(jìn)一步地,第四獲取漠塊,具體用于獲取當(dāng)前窗口 i對應(yīng)的第j幀視頻中的 嘴唇形狀運(yùn)動幅度比例scaleForFrame[k]=j* ( scale[i] / (frameNumber/2)),其中, k=frameNumber*i+j, (H〈k々f見頻總幀數(shù),frameNumber為每個窗口對應(yīng)的動畫^L 頻幀的個數(shù),frameNumber = x *視頻采樣率,x為每音節(jié)占用的時間,j取值范 圍為從O依次遞增到frameNumber/2,再從frameNumber/2依次遞減到0。
進(jìn)一步地,該第一生成模塊502根據(jù)該初始的嘴唇形狀模型和該嘴唇形狀的運(yùn)動幅度比例,生成嘴唇形狀的運(yùn)動幅度值,包括
計(jì)算嘴唇形狀的水平方向的運(yùn)動幅度值為length*scaleForFrame[k],垂直方
向的嘴唇形狀的運(yùn)動幅度值為width*scaleForFrame[k],其中,length和width分 別為初始的嘴唇形狀模型的長度和寬度。
進(jìn)一步地,如圖7所示,第二生成模塊503,包括
選擇模塊5031,用于從該預(yù)先建立嘴唇發(fā)音模型庫中隨機(jī)選擇一個嘴唇發(fā) 音模型,作為當(dāng)前嘴唇形狀的原始發(fā)音模型;
第九獲^^莫塊5032,用于獲取該原始發(fā)音模型頂點(diǎn)和嘴唇發(fā)音模型庫中原 始嘴唇模型,計(jì)算原始發(fā)音模型各個頂點(diǎn)的偏移量比例;
第十獲取漠塊5033,用于將該原始發(fā)音模型各個頂點(diǎn)的偏移量比例各自都 乘以當(dāng)前幀的嘴唇形狀運(yùn)動幅度值得到當(dāng)前幀的頂點(diǎn)偏移量;
第十一獲取模塊5034,用于在獲取的用戶輸入的初始的嘴唇形狀模型上, 分別累加當(dāng)前幀的頂點(diǎn)偏移量,得到當(dāng)前幀的嘴唇形狀模型;
第三生成模塊5035,用于將所有幀的嘴唇形狀模型排列起來,生成變化的 嘴唇形狀網(wǎng)格模型集合。
進(jìn)一步地,第九獲^^莫塊計(jì)算原始發(fā)音模型各個頂點(diǎn)的偏移量比例,包括
計(jì)算原始發(fā)音模型頂點(diǎn)z在水平方向的偏移量比例為xJior/modelLength, 在垂直方向的偏移量比例為y—ver/model Width,其中modelLength和modelWidth 為發(fā)音模型庫中原始嘴唇模型的長度和寬度,x一hor、 y—ver分別為原始發(fā)音模型 頂點(diǎn)z相對嘴唇發(fā)音模型庫中原始嘴唇模型的頂點(diǎn)z在水平方向和垂直方向的
偏移量,其中,0=<2<原始發(fā)音模型頂點(diǎn)個數(shù)。
進(jìn)一步地,獲取才莫塊501,還用于對該音頻信號進(jìn)行去噪處理。
需要說明的是,獲取模塊501獲取音頻信號,根據(jù)該音頻信號的特征得到 嘴唇形狀的運(yùn)動幅度比例的詳細(xì)過程可以參見實(shí)施例1中的步驟101。
需要說明的是,第一生成模塊502獲取初始的嘴唇形狀模型,根據(jù)該初始 的嘴唇形狀模型和該得到的嘴唇形狀的運(yùn)動幅度比例生成嘴唇形狀的運(yùn)動幅度 值的詳細(xì)過程可以參見實(shí)施例1中的步驟102。
需要說明的是,第二生成模塊503根據(jù)該得到的嘴唇形狀的運(yùn)動幅度值和 預(yù)先建立的嘴唇發(fā)音模型庫,生成變化的嘴唇形狀網(wǎng)格模型集合的詳細(xì)過程可 以參見實(shí)施例1中的步驟103。在本發(fā)明實(shí)施例中,利用嘴唇發(fā)音模型庫,通過語音驅(qū)動實(shí)現(xiàn)了嘴唇形狀 變化,相對于現(xiàn)有技術(shù),本發(fā)明實(shí)施例提供的技術(shù)方案算法簡單,且成本低。
本發(fā)明實(shí)施例4提供了一種獲取嘴唇動畫的裝置,如圖8所示,包括 獲舉"模塊601,用于獲取音頻信號,根據(jù)該音頻信號的特征得到嘴唇形狀的 運(yùn)動幅度比例;
第一生成模塊602,用于獲取用戶輸入的初始的嘴唇形狀模型,根據(jù)該初始 的嘴唇形狀模型和該得到的嘴唇形狀的運(yùn)動幅度比例生成嘴唇形狀的運(yùn)動幅度 值;
第二生成模塊603,用于根據(jù)該得到的嘴唇形狀的運(yùn)動幅度值和預(yù)先建立的 嘴唇發(fā)音模型庫,生成變化的嘴唇形狀網(wǎng)格模型集合;
第三生成模塊604,用于根據(jù)該變化的嘴唇形狀網(wǎng)格模型集合生成嘴唇動畫。
獲取模塊601、第一生成模塊602和第二生成模塊603分別等同于實(shí)施例3 中的獲取模塊、第一生成模塊和第二生成模塊,具體不再贅述。
需要說明的是,獲取模塊601獲取音頻信號,根據(jù)該音頻信號的特征得到 嘴唇形狀的運(yùn)動幅度比例的詳細(xì)過程可以參見實(shí)施例1中的步驟101 。
需要說明的是,第一生成模塊602獲取初始的嘴唇形狀模型,根據(jù)該初始 的嘴唇形狀模型和該得到的嘴唇形狀的運(yùn)動幅度比例,生成嘴唇形狀的運(yùn)動幅 度值的詳細(xì)過程可以參見實(shí)施例1中的步驟102。
需要說明的是,第二生成模塊603根據(jù)該得到的嘴唇形狀的運(yùn)動幅度值和 預(yù)先建立的嘴唇發(fā)音模型庫,生成變化的嘴唇形狀網(wǎng)格模型集合的詳細(xì)過程可 以參見實(shí)施例1中的步驟103 。
在本發(fā)明實(shí)施例中,利用嘴唇發(fā)音模型庫,通過語音驅(qū)動實(shí)現(xiàn)了嘴唇形狀 變化,進(jìn)而得到嘴唇動畫,相對于現(xiàn)有技術(shù),本發(fā)明實(shí)施例提供的技術(shù)方案算 法簡單,且成本低。
本發(fā)明實(shí)施例l-4的技術(shù)方案可以應(yīng)用于但不限于終端視頻動畫或娛樂性的 網(wǎng)頁視頻動畫領(lǐng)域,不僅適用于漢語,還可以適用于英語、法語或其他語種, 為了敘述簡便,本發(fā)明實(shí)施例l-4的技術(shù)方案僅以漢語為例,其他語種的處理類 似,不再贅述。其中,用戶輸入的初始的嘴唇形狀模型可能是來自于人臉、動物臉、卡通圖像等;音頻信號也是用戶自定義的,例如是正常說話、唱歌,或 特效處理過的音頻信號等。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是 可以通過程序來指令相關(guān)的硬件來完成,所述程序可以存儲于一計(jì)算機(jī)可讀取 存儲介質(zhì)中,所述存儲介質(zhì)為計(jì)算機(jī)的軟盤、硬盤或光盤等。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的 精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的 保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種語音驅(qū)動嘴唇形狀變化的方法,其特征在于,包括獲取音頻信號,根據(jù)所述音頻信號的特征得到嘴唇形狀的運(yùn)動幅度比例;獲取用戶輸入的初始的嘴唇形狀模型,根據(jù)所述初始的嘴唇形狀模型和所述嘴唇形狀的運(yùn)動幅度比例,生成嘴唇形狀的運(yùn)動幅度值;根據(jù)所述嘴唇形狀的運(yùn)動幅度值和預(yù)先建立的嘴唇發(fā)音模型庫,生成變化的嘴唇形狀網(wǎng)格模型集合。
2、 如權(quán)利要求1所述的語音驅(qū)動嘴唇形狀變化的方法,其特征在于,根據(jù) 所述音頻信號的特征得到嘴唇形狀的運(yùn)動幅度,包括遍歷音頻信號,獲取最大的采樣數(shù)據(jù)值;對所述音頻信號進(jìn)行窗口和小組的劃分,獲取每個小組內(nèi)的采樣數(shù)據(jù)值的平 均值數(shù)組avgGroup,獲取每個窗口內(nèi)所有小組的采樣數(shù)據(jù)值的平均值數(shù)組 avgGroup中的最大值數(shù)組windowPeak;根據(jù)獲取的數(shù)組windowPeak和獲取的最大采樣數(shù)據(jù)值獲取當(dāng)前窗口對應(yīng)的 嘴唇形狀的最大運(yùn)動幅度值;根據(jù)當(dāng)前窗口對應(yīng)的嘴唇形狀最大運(yùn)動幅度獲取當(dāng)前窗口對應(yīng)的當(dāng)前視頻 幀的嘴唇形狀運(yùn)動幅度比例。
3、如權(quán)利要求2所述的語音驅(qū)動嘴唇形狀變化的方法,其特征在于, 所述根據(jù)獲取的數(shù)組windowPeak和獲取的最大采樣數(shù)據(jù)值獲取當(dāng)前窗口對應(yīng)的 嘴唇形狀的最大運(yùn)動幅度值,包括獲取當(dāng)前窗口 i內(nèi)所有小組采樣數(shù)據(jù)值的平均值;獲取采樣數(shù)據(jù)值的平均值的最大值windowPeak[i];計(jì)算windowPeak[i]和最大的音頻采樣數(shù)據(jù)值maxS ample Value的比值 scale [i];計(jì)算當(dāng)前窗口 i對應(yīng)的嘴唇形狀的最大運(yùn)動幅度extent[ihscale[i] * maxLen; 其中,i>=0, maxLen為所有窗口的嘴唇形狀的最大運(yùn)動幅度值。
4、 如權(quán)利要求2所述的語音驅(qū)動嘴唇形狀變化的方法,其特征在于,所述才艮才居當(dāng)前窗口斧J"應(yīng)的-觜唇形a'犬最大運(yùn)動.幅y復(fù)^f直獲耳又當(dāng)前窗口只于應(yīng)的當(dāng)前3見步貞幀 的嘴唇形狀運(yùn)動幅度比例,包括獲取當(dāng)前窗口 i對應(yīng)的第j幀視頻中的嘴唇形狀運(yùn)動幅度比例 scaleForFrame[k]=j* ( scale[i] / (frameNumber/2)), 其中,k=frameNumber*i+j, 0=<k<視頻總幀數(shù),frameNumber為每個窗口對應(yīng)的動畫#見頻幀的個凄史, frameNumber = x *視頻采樣率,x為每音節(jié)占用的時間,j取值范圍為從0依 次遞增到frameNumber/2,再乂人frameNumber/2依次遞減到0。
5、 如權(quán)利要求4所述的語音驅(qū)動嘴唇形狀變化的方法,其特征在于,所述 根據(jù)所述初始的嘴唇形狀模型和所述嘴唇形狀的運(yùn)動幅度比例生成嘴唇形狀的 運(yùn)動幅度值,包括計(jì)算嘴唇形狀的水平方向的運(yùn)動幅度值為length*scaleForFrame[k],垂直方 向的嘴唇形狀的運(yùn)動幅度值為width*scaleForFrame[k],其中,length和width分 別為初始的嘴唇形狀模型的長度和寬度。
6、 如權(quán)利要求1至5任意一項(xiàng)所述的語音驅(qū)動嘴唇形狀變化的方法,其特 征在于,根據(jù)所述得到嘴唇形狀的運(yùn)動幅度值和預(yù)先建立的嘴唇發(fā)音模型庫, 生成變化的嘴唇形狀網(wǎng)格模型集合,包括從所述預(yù)先建立嘴唇發(fā)音模型庫中隨機(jī)選擇一個嘴唇發(fā)音模型,作為當(dāng)前 嘴唇形狀的原始發(fā)音模型;獲取所述原始發(fā)音模型頂點(diǎn)和嘴唇發(fā)音模型庫中原始嘴唇模型,計(jì)算原始 發(fā)音模型各個頂點(diǎn)的偏移量比例;將所述原始發(fā)音模型各個頂點(diǎn)的偏移量比例各自都乘以當(dāng)前幀的嘴唇形狀運(yùn)動幅度值得到當(dāng)前幀的頂點(diǎn)偏移量;在獲取的用戶輸入的初始的嘴唇形狀模型上,分別累加當(dāng)前幀的頂點(diǎn)偏移 量,得到當(dāng)前幀的嘴唇形狀模型;將所有幀的嘴唇形狀模型排列起來,生成變化的嘴唇形狀網(wǎng)格模型集合。
7、 如權(quán)利要求6所述的語音驅(qū)動嘴唇形狀變化的方法,其特征在于,所述計(jì)算原始發(fā)音模型各個頂點(diǎn)的偏移量比例,包括計(jì)算原始發(fā)音才莫型頂點(diǎn)z在水平方向的偏移量比例為x_hor/modelLength, 在垂直方向的偏移量比例為y_ver/modelWidth,其中modelLength和modelWidth 為發(fā)音模型庫中原始嘴唇模型的長度和寬度,x—hor、 y—ver分別為原始發(fā)音模型 頂點(diǎn)z相對嘴唇發(fā)音模型庫中原始嘴唇模型的頂點(diǎn)z在水平方向和垂直方向的偏移量,其中,0=<2<原始發(fā)音模型頂點(diǎn)個數(shù)。
8、 如權(quán)利要求6所述的語音驅(qū)動嘴唇形狀變化的方法,其特征在于,所述 獲取音頻信號,還包括對所述音頻信號進(jìn)行去噪處理。
9、 一種獲取嘴唇動畫的方法,其特征在于,包括獲取音頻信號,根據(jù)所述音頻信號的特征得到嘴唇形狀的運(yùn)動幅度比例;獲取用戶輸入的初始的嘴唇形狀模型,根據(jù)所述初始的嘴唇形狀模型和所 述嘴唇形狀的運(yùn)動幅度比例,生成嘴唇形狀的運(yùn)動幅度值;根據(jù)所述嘴唇形狀的運(yùn)動幅度值和預(yù)先建立的嘴唇發(fā)音模型庫,生成變化 的嘴唇形狀網(wǎng)格模型集合;根據(jù)所述變化的嘴唇形狀網(wǎng)格模型集合生成嘴唇動畫。
10、 一種語音驅(qū)動嘴唇形狀變化的裝置,其特征在于,包括獲Jp^莫塊,用于獲:f又音頻信號,根據(jù)所述音頻信號的特征得到嘴唇形狀的運(yùn)動幅度比例;第一生成模塊,用于獲取用戶輸入的初始的嘴唇形狀模型,根據(jù)所述初始的 嘴唇形狀模型和所述嘴唇形狀的運(yùn)動幅度比例,生成嘴唇形狀的運(yùn)動幅度值;第二生成模塊,用于根據(jù)所述得到的嘴唇形狀的運(yùn)動幅度值和預(yù)先建立的嘴 唇發(fā)音模型庫,生成變化的嘴唇形狀網(wǎng)格模型集合。
11、 如權(quán)利要求IO所述的語音驅(qū)動嘴唇形狀變化的裝置,其特征在于,所 述獲取模塊包括第一獲取模塊,用于遍歷音頻信號,獲取最大的采樣數(shù)據(jù)值;第二獲耳又模塊,用于對所述音頻信號進(jìn)行窗口和小組的劃分,獲取每個小組內(nèi)的采樣數(shù)據(jù)值的平均值數(shù)組avgGroup,獲取每個窗口內(nèi)所有小組的采樣數(shù)據(jù) 值的平均值H組avgGroup中的最大值數(shù)組windowPeak;第三獲取模塊,用于根據(jù)獲取的數(shù)組windowPeak和獲取的最大采樣數(shù)據(jù)值 獲取當(dāng)前窗口對應(yīng)的嘴唇形狀的最大運(yùn)動幅度值;第四獲取模塊,用于根據(jù)當(dāng)前窗口對應(yīng)的嘴唇形狀最大運(yùn)動幅度獲取當(dāng)前窗 口對應(yīng)的當(dāng)前幀一見頻的嘴唇形狀運(yùn)動幅度比例。
12、 如權(quán)利要求IO所述的語音驅(qū)動嘴唇形狀變化的裝置,其特征在于,所 述第二獲取模塊,包括第五獲取模塊,用于獲取當(dāng)前窗口 i內(nèi)所有小組采樣數(shù)據(jù)值的平均值;第六獲取模塊,用于獲取采樣數(shù)據(jù)值的平均值的最大值windowPeak[i];第七獲取才莫塊,用于計(jì)算windowPeak[i]和最大的音頻采樣數(shù)據(jù)值 maxSampleValue ^jt匕"f直scale[i];第八獲取模塊,用于計(jì)算當(dāng)前窗口 i對應(yīng)的嘴唇形狀的最大運(yùn)動幅度 extent[i]二scale[i〗* maxLen;其中,i>=0 , maxLen為所有窗口的嘴唇形狀的最大運(yùn)動幅度值。
13、 如權(quán)利要求IO所述的語音驅(qū)動嘴唇形狀變化的裝置,其特征在于,所 述第四獲取模塊,具體用于獲取當(dāng)前窗口 i對應(yīng)的第j幀視頻中的嘴唇形狀運(yùn)動 幅度比例 scaleForFrame[k]=j* ( scale[i] / (frameNumber/2)), 其中, k=frameNumber*i+j, 0二〈k4見頻總幀數(shù),frameNumber為每個窗口對應(yīng)的動畫朝L 頻幀的個數(shù),frameNumber = x *視頻采樣率,x為每音節(jié)占用的時間,j取值范 圍為從O依次遞增到frameNumber/2,再從frameNumber/2依次遞減到0。
14、 如權(quán)利要求13所述的語音驅(qū)動嘴唇形狀變化的裝置,其特征在于,所 述第一生成模塊根據(jù),根據(jù)所述初始的嘴唇形狀模型和所述嘴唇形狀的運(yùn)動幅 度比例,生成嘴唇形狀的運(yùn)動幅度值,包括計(jì)算嘴唇形狀的水平方向的運(yùn)動幅度值為length*scaleForFrame[k],垂直方 向的嘴唇形狀的運(yùn)動幅度值為width*scaleForFrame[k],其中,length和width分別為初始的嘴唇形狀模型的長度和寬度。
15、 如權(quán)利要求10至14任意一項(xiàng)所述的語音驅(qū)動嘴唇形狀變化的裝置,其 特征在于,所述第二生成模塊,包括選擇模塊,用于從所述預(yù)先建立嘴唇發(fā)音模型庫中隨機(jī)選擇一個嘴唇發(fā)音 模型,作為當(dāng)前嘴唇形狀的原始發(fā)音模型;第九獲取;漠塊,用于獲取所述原始發(fā)音模型頂點(diǎn)和嘴唇發(fā)音模型庫中原始 嘴唇模型,計(jì)算原始發(fā)音模型各個頂點(diǎn)的偏移量比例;第十獲取模塊,用于將所述原始發(fā)音模型各個頂點(diǎn)的偏移量比例各自都乘 以當(dāng)前幀的嘴唇形狀運(yùn)動幅度值得到當(dāng)前幀的頂點(diǎn)偏移量;第十一獲耳又模塊,用于在獲取的用戶輸入的初始的嘴唇形狀模型上,分別 累加當(dāng)前幀的頂點(diǎn)偏移量,得到當(dāng)前幀的嘴唇形狀模型;第三生成模塊,用于將所有幀的嘴唇形狀模型排列起來,生成變化的嘴唇 形狀網(wǎng)格模型集合。
16、 如權(quán)利要求15所述的語音驅(qū)動嘴唇形狀變化的裝置,其特征在于,第 九獲取模塊計(jì)算原始發(fā)音模型各個頂點(diǎn)的偏移量比例,包括計(jì)算原始發(fā)音沖莫型頂點(diǎn)z在水平方向的偏移量比例為x一hor/modelLength, 在垂直方向的偏移量比例為y_ver/modelWidth,其中modelLength和modelWidth 為發(fā)音模型庫中原始嘴唇模型的長度和寬度,x_hor、 y—ver分別為原始發(fā)音模型 頂點(diǎn)z相對嘴唇發(fā)音模型庫中原始嘴唇模型的頂點(diǎn)z在水平方向和垂直方向的偏移量,其中,0=<2<原始發(fā)音模型頂點(diǎn)個數(shù)。
17、 如權(quán)利要求16所述的語音驅(qū)動嘴唇形狀變化的裝置,其特征在于,所 述獲取模塊,還用于對所述音頻信號進(jìn)行去噪處理。
18、 一種獲取嘴唇動畫的裝置,其特征在于,包括獲取模塊,用于獲取音頻信號,根據(jù)所述音頻信號的特征得到嘴唇形狀的運(yùn) 動幅度比例;第一生成模塊,用于獲取用戶輸入的初始的嘴唇形狀模型,根據(jù)所述初始的嘴唇形狀模型和所述得到的嘴唇形狀的運(yùn)動幅度比例生成嘴唇形狀的運(yùn)動幅度值;第二生成模塊,用于根據(jù)所述得到的嘴唇形狀的運(yùn)動幅度值和預(yù)先建立的嘴唇發(fā)音模型庫,生成變化的嘴唇形狀網(wǎng)格模型集合;第三生成模塊,用于根據(jù)所述變化的嘴唇形狀網(wǎng)格模型集合生成嘴唇動畫。
全文摘要
本發(fā)明公開了語音驅(qū)動嘴唇形狀變化的方法、獲取嘴唇動畫的方法及裝置,屬于計(jì)算機(jī)技術(shù)領(lǐng)域。該語音驅(qū)動嘴唇形狀變化的方法包括獲取音頻信號,根據(jù)所述音頻信號的特征得到嘴唇形狀的運(yùn)動幅度比例;獲取初始的嘴唇形狀模型,根據(jù)所述初始的嘴唇形狀模型和所述嘴唇形狀的運(yùn)動幅度比例生成嘴唇形狀的運(yùn)動幅度值;根據(jù)所述嘴唇形狀的運(yùn)動幅度值和預(yù)先建立的嘴唇發(fā)音模型庫,生成變化的嘴唇形狀網(wǎng)格模型集合。該語音驅(qū)動嘴唇形狀變化的裝置包括獲取模塊、第一生成模塊和第二生成模塊。本發(fā)明還提供了一種獲取嘴唇動畫的方法和裝置。本發(fā)明提供的技術(shù)方案算法簡單,且成本低。
文檔編號G06T13/80GK101482976SQ20091000308
公開日2009年7月15日 申請日期2009年1月19日 優(yōu)先權(quán)日2009年1月19日
發(fā)明者王建宇, 路依莎 申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1