本公開涉及數(shù)據(jù)處理領(lǐng)域。更具體地說,本公開涉及頭像的動畫和渲染,包含具有頭部轉(zhuǎn)動的面部表情動畫。
背景技術(shù):
本文提供的背景描述是為了一般性地呈現(xiàn)本公開的上下文的目的。除非在本文中另有指示,否則此章節(jié)中描述的資料不是本申請中權(quán)利要求的現(xiàn)有技術(shù),并且不準(zhǔn)許作為現(xiàn)有技術(shù)包含在此章節(jié)中。
作為用戶的圖形表示,頭像在虛擬世界中已經(jīng)相當(dāng)流行。然而,大部分現(xiàn)有頭像系統(tǒng)都是靜態(tài)的,并且它們中的少數(shù)由文本、腳本或語音驅(qū)動。一些其它頭像系統(tǒng)使用圖形互換格式(GIF)動畫,其是一組順序播放的預(yù)先定義的靜態(tài)頭像圖像。在近些年,隨著計算機(jī)視覺、相機(jī)、圖像處理等的進(jìn)步,一些頭像可由面部表情驅(qū)動。然而,現(xiàn)有系統(tǒng)傾向于是計算敏感的,要求高性能通用和圖形處理器,并且在移動裝置諸如智能電話或計算平板電腦上不良好地工作。另外,現(xiàn)有系統(tǒng)未考慮頭部轉(zhuǎn)動的影響,即,頭部轉(zhuǎn)動對頭像動畫的影響。
附圖說明
實施例通過結(jié)合附圖的如下詳細(xì)描述將容易理解。為了促進(jìn)此描述,相同的附圖標(biāo)記標(biāo)明相同的結(jié)構(gòu)元件。在附圖的圖中作為示例而非作為限制圖示了實施例。
圖1圖示了根據(jù)所公開實施例的袖珍(pocket)頭像系統(tǒng)的框圖。
圖2圖示了根據(jù)所公開實施例用于生成頭部轉(zhuǎn)動影響權(quán)重的示例過程。
圖3和圖4分別圖示了根據(jù)所公開實施例的骨頭制作的示例和示例頭部轉(zhuǎn)動影響圖。
圖5是根據(jù)所公開實施例用于給頭像作動畫的過程的流程圖。
圖6是根據(jù)所公開實施例更詳細(xì)圖示圖5的過程的流程圖。
圖7圖示了根據(jù)所公開實施例具有和沒有骨骼動畫的示例頭像動畫。
圖8圖示了根據(jù)所公開實施例適合于用于實施本公開各種方面的示例計算機(jī)系統(tǒng)。
圖9圖示了根據(jù)所公開實施例具有用于實施參考圖2-7描述的方法的指令的存儲介質(zhì)。
具體實施方式
本文公開了與作動畫和渲染頭像關(guān)聯(lián)的設(shè)備、方法和存儲介質(zhì)。在實施例中,設(shè)備可包含頭像動畫引擎。頭像動畫引擎可配置成接收分別與用戶的面部和頭部關(guān)聯(lián)的多個面部運(yùn)動參數(shù)和多個頭部姿態(tài)參數(shù)。多個面部運(yùn)動參數(shù)可描繪面部的面部行為動作(action movement),并且多個頭部姿態(tài)參數(shù)可描繪頭部的頭部姿勢姿態(tài)。進(jìn)一步,頭像動畫引擎可配置成用面部和骨骼動畫驅(qū)動頭像模型,以使用面部運(yùn)動參數(shù)和頭部姿態(tài)參數(shù)給頭像作動畫,以在頭像上復(fù)制用戶的面部表情,其包含用戶的頭部轉(zhuǎn)動后的影響,例如當(dāng)用戶相對他/她的軀干向左或向右轉(zhuǎn)動他/她時對動畫的影響。
在實施例中,頭像動畫引擎可配置成根據(jù)頭部轉(zhuǎn)動影響權(quán)重圖(map)施加至少采用在關(guān)節(jié)(joint)處連接的頭骨和軀干骨預(yù)先生成的頭部轉(zhuǎn)動影響權(quán)重。關(guān)節(jié)例如可設(shè)置在頸部。另外,頭部轉(zhuǎn)動影響權(quán)重圖可處于灰度級(gray scale),其中較淡的灰度值描繪來自頭部轉(zhuǎn)動的較大的影響,并且具有與用于動畫的二維紋理圖相同的維度,實現(xiàn)使用紋理圖中的相同像素坐標(biāo)檢索所述頭部轉(zhuǎn)動影響權(quán)重。
在如下詳細(xì)描述中,對形成其一部分的附圖進(jìn)行參考,其中通篇相同的附圖標(biāo)記標(biāo)明相同的部分,并且其中作為可實施的說明實施例示出。要理解到,可利用其它實施例,并且可進(jìn)行結(jié)構(gòu)或邏輯改變,而不脫離本公開的范圍。因此,不以限制意義進(jìn)行如下詳細(xì)描述,并且實施例的范圍由所附權(quán)利要求以及它們的等效方案定義。
本公開的方面在所附說明書中公開。可在不脫離本公開的精神或范圍的情況下,設(shè)計出本公開的替換實施例以及它們的等效方案。應(yīng)該指出,下面公開的相同元件在附圖中由相同的附圖標(biāo)記指示。
各種操作以最有助于理解所要求權(quán)利的主題的方式依次描述為多個分立動作或操作。
然而,描述的次序不應(yīng)該被解釋為暗示這些操作必須是次序相關(guān)的。具體地說,這些操作可以不按呈現(xiàn)的次序執(zhí)行。所描述的操作可按與所描述的實施例不同的次序執(zhí)行??蓤?zhí)行各種附加操作和/或在附加實施例中可省略所描述的操作。
為了本公開的目的,短語“A和/或B”意味著(A)、(B)或(A和B)。為了本公開的目的,短語“A、B和/或C”意味著(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。
描述可使用短語“在一個實施例中”或“在實施例中”,它們可各指相同或不同實施例中的一個或多個實施例。此外,如相對于本公開實施例所使用的術(shù)語“包括”、“包含”、“具有”等是同義詞。
如本文所使用的,術(shù)語“模塊”可指作為其一部分或者包含專用集成電路(“ASIC”)、電子電路、執(zhí)行一個或多個軟件或固件程序的存儲器(共享、專用或群組)和/或處理器(共享、專用或群組)、組合邏輯電路和/或提供所描述功能性的其它適合的組件。
現(xiàn)在參考圖1,其中示出了根據(jù)所公開實施例的袖珍頭像系統(tǒng)。如所圖示的,袖珍頭像系統(tǒng)100可包含面部跟蹤器102、頭像動畫引擎104、頭像渲染引擎106以及頭部轉(zhuǎn)動影響權(quán)重生成器108(如所示出的那樣彼此耦合)。面部跟蹤器102可配置成例如從圖像源(諸如相機(jī)(未示出))接收多個圖像幀,檢測多個圖像幀內(nèi)的用戶面部的面部行為動作和/或用戶頭部的頭部姿勢姿態(tài),并且輸出描繪所檢測的面部行為動作(例如眼睛和/或嘴巴動作)的多個面部運(yùn)動參數(shù)以及描繪所檢測的頭部姿勢姿態(tài)(諸如頭部轉(zhuǎn)動、動作和/或更接近或更遠(yuǎn)離相機(jī))的頭部姿勢姿態(tài)參數(shù),全都實時地輸出。頭像動畫引擎104可配置成接收由面部跟蹤器102輸出的多個面部運(yùn)動參數(shù)和頭部姿勢姿態(tài)參數(shù),并且用面部和骨骼模擬驅(qū)動頭像模型來給頭像作動畫,以在頭像上復(fù)制用戶的面部表情,其將頭部轉(zhuǎn)動影響考慮在內(nèi)。頭部轉(zhuǎn)動影響權(quán)重生成器108可配置成預(yù)先生成用于頭像動畫引擎104的頭部轉(zhuǎn)動影響權(quán)重110。頭像渲染引擎106可配置成繪制如由頭像動畫引擎104所作動畫的頭像。
在實施例中,面部跟蹤器102可以是已知的若干面部跟蹤器中的任一個,例如包含但不限于在2014年3月19日提交的題為"FACIAL EXPRES SION AND/OR INTERACTION DRIVEN AVATAR APPARATUS AND METHOD"的共同待審的專利申請PCT專利申請No. PCT/CN2014/073695中公開的面部網(wǎng)格跟蹤器。一般而言,面部跟蹤器102可包含跟蹤用戶的頭部姿勢和面部表情的各種功能塊。面部跟蹤器102可從圖像捕獲裝置(例如相機(jī))接收多個圖像幀,通過多個圖像幀檢測用戶的面部的面部行為動作以及用戶的頭部的頭部姿勢姿態(tài),并且輸出描繪所檢測的面部行為動作的多個面部運(yùn)動參數(shù)以及描繪所檢測的頭部姿勢姿態(tài)的多個頭部姿態(tài)參數(shù),全都實時地輸出。例如可基于圖像幀的像素采樣通過頭部和面部上的嘴巴和眼睛的幀間差異,檢測面部行為動作和頭部姿勢姿態(tài)。面部跟蹤器102可包含頭部姿勢跟蹤功能塊,其配置成計算用戶頭部的轉(zhuǎn)動角度,包含俯仰、左右搖擺和/或搖晃,以及沿水平、垂直方向的平移距離,并且更靠近或更遠(yuǎn)離相機(jī),最終作為頭部姿勢姿態(tài)參數(shù)的一部分輸出。計算可基于多個圖像幀的子采樣像素的子集,例如,施加動態(tài)模板匹配,重新注冊等。這些功能塊可充分準(zhǔn)確,在它們所要求的處理能力方面仍可縮放,使袖珍頭像系統(tǒng)100特別適合于由寬范圍的移動計算裝置(諸如智能電話和/或計算平板電腦)托管。
在實施例中,頭像動畫引擎104可配置成給頭像作動畫,包含在頭像上復(fù)制用戶的面部表情,其通過面部和骨骼動畫以及施加頭像轉(zhuǎn)動影響權(quán)重110來將頭部轉(zhuǎn)動影響考慮在內(nèi)。頭部轉(zhuǎn)動影響權(quán)重110(如早前所描述的)可由頭部轉(zhuǎn)動影響權(quán)重生成器108預(yù)先生成,并提供給頭像動畫引擎104,例如以頭部轉(zhuǎn)動影響權(quán)重圖的形式。
此外,頭像動畫引擎104可在面部和骨骼動畫期間采用多個預(yù)先定義的混合形狀來加速其操作,以有助于使袖珍頭像系統(tǒng)100特別適合于寬范圍的移動裝置。
在采用形狀混合的實施例中,在面部跟蹤和作動畫之前,可首先預(yù)先構(gòu)造具有中性表情和一些典型表情(諸如嘴巴張開、嘴巴微笑、眉毛向上和眉毛向下、眨眼等)的模型??蓪τ诟鞣N面部跟蹤器102能力和目標(biāo)移動裝置系統(tǒng)要求判定或選擇混合形狀。在操作期間,面部跟蹤器102可為頭像動畫引擎104輸出混合形狀權(quán)重。
在接收到各種混合形狀的混合形狀權(quán)重時,頭像動畫引擎104可用如下公式(等式1)生成有表情的(expressed)面部結(jié)果:
其中B*是目標(biāo)有表情的面部,
B0是具有中性表情的基本模型,并且
ΔBi是存儲基于特定表情的基本模型的頂點位置偏移的第i個混合形狀。
相比其它面部動畫技術(shù),諸如運(yùn)動傳遞和網(wǎng)格變形,使用面部動畫的混合形狀可具有幾個優(yōu)點:1)表情定制:當(dāng)創(chuàng)建頭像模型時,可根據(jù)頭像的特性和概念定制表情。頭像模型可以制作得更有趣并且對用戶有吸引力。2)低計算成本:計算可配置成與模型大小成比例,并且制作得更適合于并行處理。3)良好的縮放性:將更多表情添加到框架中可進(jìn)行得更容易。
本領(lǐng)域技術(shù)人員將認(rèn)識到,這些特征(單獨地和組合)都使袖珍頭像系統(tǒng)100特別適合于由寬范圍的移動計算裝置托管。然而,雖然袖珍頭像系統(tǒng)100設(shè)計成特別適合于操作在移動裝置上,諸如智能電話、平板手機(jī)、計算平板電腦、膝上型計算機(jī)或電子閱讀器,但本公開不限于此。預(yù)期的是,袖珍頭像系統(tǒng)100也可操作在比典型移動裝置具有更多計算能力的計算裝置上,諸如臺式計算機(jī)、游戲控制臺、機(jī)頂盒或計算機(jī)服務(wù)器。下面將依次更詳細(xì)地描述袖珍頭像系統(tǒng)100的前述和其它方面。
圖2圖示了根據(jù)所公開實施例用于生成頭部轉(zhuǎn)動影響權(quán)重的示例過程。如所示的,用于生成頭部轉(zhuǎn)動影響權(quán)重的過程200可包含在框202-206中執(zhí)行的操作。這些操作例如可由圖1的頭部轉(zhuǎn)動影響權(quán)重生成器108執(zhí)行。
過程200可開始于框202。在框202,可對于模型制作若干骨頭,接著是模型蒙皮??捎萌舾梢阎夹g(shù)中的任何技術(shù),例如使用3D計算機(jī)圖形軟件(諸如從CA的San Rafael的Autodesk公司可得到的Maya),執(zhí)行骨頭制作和蒙皮。在實施例中,可制作至少兩個骨頭,頭骨和軀干骨,如圖3中所示(302)的。頭骨和軀干骨可在關(guān)節(jié)304處一起耦合。另外,使關(guān)節(jié)304被設(shè)置在模型的頸部。在備選實施例中,可采用更多骨頭,并且骨頭可一起連結(jié)在不同于模型的頸部的位置。
從框202,過程200可繼續(xù)到框204。在框204,可從骨頭制作軟件獲得頭部轉(zhuǎn)動影響權(quán)重。在實施例中,可對于頭部的不同特征(包含但不限于面部、眼睛、牙齒、舌頭和頸部),獲得頭部轉(zhuǎn)動影響權(quán)重。在實施例中,還可對于身體(或衣服)獲得頭部轉(zhuǎn)動影響權(quán)重。
從框204,過程200可繼續(xù)到框206。在框206,可導(dǎo)出頭部轉(zhuǎn)動影響權(quán)重,例如作為圖。在實施例中,該圖可以是灰度級圖,其中較淡的灰度級值描繪較大的影響,而較暗的灰度級值描繪較小的影響,如圖4中所示的。在實施例中,圖400可與由頭像動畫引擎104采用的二維(2D)紋理圖(也稱為UV圖)具有相同維度,由此實現(xiàn)可使用紋理圖的像素的相同UV坐標(biāo),對于像素檢索頭部轉(zhuǎn)動影響值。此外,圖400可具有到紋理圖的對應(yīng)區(qū)段,例如用于面部402的區(qū)段、用于眼睛404的區(qū)段、用于頸部406的區(qū)段、用于舌頭408的區(qū)段、用于牙齒410的區(qū)段、用于身體/衣服412的區(qū)段等,使操作更高效。
現(xiàn)在參考圖5,其中示出了圖示根據(jù)所公開實施例用于給頭像作動畫的過程的流程圖。如所圖示的,用于給頭像作動畫(包含在頭像上復(fù)制將頭部轉(zhuǎn)動影響考慮在內(nèi)的面部表情)的過程500可包含在框502-504執(zhí)行的操作。操作例如可由圖1的頭像動畫引擎104執(zhí)行。
過程500可開始于框502。在框502,可執(zhí)行面部表情模擬,其中按照(例如從面部跟蹤器102)接收的一組面部表情參數(shù)來驅(qū)動頭像模型。在采用多個混合形狀的實施例中,可按照早前描述的等式1來執(zhí)行面部動畫。
從框502,過程500可繼續(xù)到框504。在框504,可執(zhí)行骨骼模擬,其中頭像模型還按照(例如從面部跟蹤器102)接收的一組頭部姿勢參數(shù)驅(qū)動,以修改框502的面部模擬結(jié)果。在實施例中,面部模擬結(jié)果可由頭部姿勢矩陣T中的頭部姿勢值來修改。頭部姿勢矩陣T可包含描繪左右搖擺、俯仰和/或傾斜的值。在實施例中,施加頭部姿勢值可由頭部轉(zhuǎn)動影響權(quán)重(w)加權(quán)。
現(xiàn)在參考圖6,其中圖示了根據(jù)所公開實施例進(jìn)一步詳細(xì)圖示圖5的過程的流程圖。用于給頭像作動畫(包含在頭像上復(fù)制將頭部轉(zhuǎn)動影響考慮在內(nèi)的面部表情)的過程600(過程500的更詳細(xì)圖示),可包含在框602-612執(zhí)行的操作。如早前所描述的,操作可由圖1的頭像動畫引擎104執(zhí)行?;叵肫穑趯嵤├校刹捎没旌闲螤?,并且面部表情模擬如等式1所表示的那樣執(zhí)行。從而,面部和骨骼模擬的組合結(jié)果可表示如下(等式2):
其中B*上標(biāo)j是第j個像素的目標(biāo)有表情的面部值,
wj是第j個像素的頭部轉(zhuǎn)動影響權(quán)重;
T是頭部轉(zhuǎn)動矩陣;以及
B0、αi和ΔΒi與早前參考等式1描述的具有相同的意思。
從而,對于實施例,在框602,可以確定多個預(yù)先定義的混合形狀中每個形狀中的頂點像素的位置偏移。從框602,過程600可繼續(xù)到框604。在框604,可向所確定的位置偏移施加各種混合形狀的對應(yīng)混合形狀權(quán)重。從框604,過程600可繼續(xù)到框606。在框606,可對所有混合形狀的混合形狀加權(quán)的位置偏移求和。從框606,過程600可繼續(xù)到框608。在框608,在框606中生成的和可被加到基本模型中的頂點像素的位置偏移。從框608,過程600可繼續(xù)到框610,然后是框612。在框610和612中,由頭部轉(zhuǎn)動影響權(quán)重加權(quán)的頭部姿勢值可被施加到在框608中生成的結(jié)果??蓪τ谒谢旌闲螤畹乃许旤c重復(fù)框602-612的操作。
圖7圖示了根據(jù)所公開實施例具有和沒有骨骼動畫的示例頭像動畫。如所示的,圖像702圖示了沒有將頭部轉(zhuǎn)動影響考慮進(jìn)去的骨骼模擬的頭像的面部表情動畫。從而,頭像的頭部保持與頭像的軀干嚴(yán)格對齊,甚至在用戶已經(jīng)傾斜他/她的頭部時。圖像704圖示了具有如早前所描述的將頭部轉(zhuǎn)動影響考慮進(jìn)去的骨骼模擬的頭像的面部表情動畫。對應(yīng)于用戶如何傾斜他/她的頭部,頭像的頭部相對于頭像的軀干傾斜,給用戶提供了更豐富的體驗。.
圖8圖示了可適合于用作客戶端裝置或服務(wù)器以實踐本公開選擇的方面的示例計算機(jī)系統(tǒng)。如所示的,計算機(jī)800可包含一個或多個處理器或處理器核802以及系統(tǒng)存儲器804。為了此申請(包含權(quán)利要求)的目的,術(shù)語“處理器”和“處理器核”可視為同義詞,除非上下文明確另有要求。此外,計算機(jī)800可包含大容量存儲裝置806(諸如磁盤、硬盤驅(qū)動器、光盤只讀存儲器(CD-ROM)等等)、輸入/輸出裝置808(諸如顯示器、鍵盤、光標(biāo)控制等等)以及通信接口810(諸如網(wǎng)絡(luò)接口卡、調(diào)制解調(diào)器等等)。元件可經(jīng)由系統(tǒng)總線812彼此耦合,系統(tǒng)總線812可表示一個或多個總線。在多總線的情況下,它們可由一個或多個總線橋(未示出)橋接。
這些元件中的每個元件都可執(zhí)行本領(lǐng)域已知的其常規(guī)功能。具體地說,可采用系統(tǒng)存儲器804和大容量存儲裝置806來存儲實現(xiàn)與早前描述的統(tǒng)稱為計算邏輯822的面部跟蹤器102、頭像動畫引擎104、頭像渲染引擎106和/或頭部轉(zhuǎn)動影響權(quán)重生成器108關(guān)聯(lián)的操作的編程指令的工作拷貝和永久拷貝。各種元件可通過由一個或多個處理器802支持的匯編指令或可被編譯成此類指令的高級語言(諸如例如C語言)實現(xiàn)。
取決于計算機(jī)800是用作客戶端裝置還是服務(wù)器,這些元件810-812的數(shù)量、能力和/或容量可改變。當(dāng)用作客戶端裝置時,這些元件810-812的能力和/或容量可改變,這取決于客戶端裝置是固定裝置還是移動裝置,如智能電話、計算平板電腦、超級本或膝上型計算機(jī)。否則,元件810-812的構(gòu)成是已知的,并且因而將不進(jìn)一步描述。
如本領(lǐng)域技術(shù)人員將認(rèn)識到的,本公開可實施為方法或計算機(jī)程序產(chǎn)品。因而,本公開除了如早前所描述的用硬件實施,還可采取完全軟件實施例(包含固件、常駐軟件、偽代碼等)或組合軟件和硬件方面的實施例的形式,它們一般全都可被稱為“電路”、“模塊”或“系統(tǒng)”。此外,本公開可采取實施在具有實施在介質(zhì)中的計算機(jī)可用程序代碼的表達(dá)式的任何有形或非暫時性介質(zhì)中的計算機(jī)程序產(chǎn)品的形式。圖9圖示了可適用于用來存儲指令的示例計算機(jī)可讀非暫時性存儲介質(zhì),所述指令使設(shè)備響應(yīng)于設(shè)備對指令的執(zhí)行而實踐本公開的選擇的方面。如所示的,非暫時性計算機(jī)可讀存儲介質(zhì)902可包含若干編程指令904。編程指令904可配置成使裝置例如計算機(jī)800能夠響應(yīng)于編程指令的執(zhí)行而例如執(zhí)行與面部跟蹤102、頭像動畫引擎104、頭像渲染引擎106和/或頭部轉(zhuǎn)動影響權(quán)重生成器108關(guān)聯(lián)的各種操作。在替換實施例中,編程指令904可替代地設(shè)置在多個計算機(jī)可讀非暫時性存儲媒體902上。在替換實施例中,編程指令904可設(shè)置在計算機(jī)可讀暫時性存儲媒體902(諸如信號)上。
可利用可用的一個或多個計算機(jī)或計算機(jī)可讀媒體的任何組合。計算機(jī)可用或計算機(jī)可讀介質(zhì)/多個媒體可以是例如但不限于:電、磁、光、電磁、紅外或半導(dǎo)體系統(tǒng)、設(shè)備、裝置或傳播介質(zhì)。計算機(jī)可讀介質(zhì)的更特定示例(非排他列表)會包含如下:具有一個或多個導(dǎo)線的電氣連接、便攜式計算機(jī)磁盤、硬盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPROM或閃存)、光纖、便攜式光盤只讀存儲器(CD-ROM)、光存儲裝置、諸如支持因特網(wǎng)或內(nèi)聯(lián)網(wǎng)的傳輸媒體的傳輸媒體或磁存儲裝置。要指出,計算機(jī)可用或計算機(jī)可讀介質(zhì)/媒體介質(zhì)甚至可以是紙張或另一適合介質(zhì)(在其上打印程序),因為程序例如可經(jīng)由光掃描紙張或其他介質(zhì)進(jìn)行電捕獲,然后編譯、解釋或另外以適合的方式處理(如果必要的話),并且然后存儲在計算機(jī)存儲器中。在此文檔的上下文中,計算機(jī)可用或計算機(jī)可讀介質(zhì)可以是可含有、存儲、傳遞、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、設(shè)備或裝置使用或與之結(jié)合的任何介質(zhì)。計算機(jī)可用介質(zhì)可包含傳播的數(shù)據(jù)信號,其中計算機(jī)可用程序代碼與之一起(或者在基帶中或者作為載波的一部分)實施。計算機(jī)可用程序代碼可使用任何適當(dāng)介質(zhì)傳輸,包含但不限于無線、有線、光纖電纜、RF等。
用于執(zhí)行本公開操作的計算機(jī)程序代碼可用一個或多個編程語言的任何組合來寫,這些編程語言包含面向?qū)ο蟮木幊陶Z言諸如Java、Smalltalk、C++等以及常規(guī)的過程編程語言諸如“C”編程語言或類似的編程語言。程序代碼可完全在用戶的計算機(jī)上執(zhí)行,部分在用戶的計算機(jī)上執(zhí)行,作為獨立軟件包,部分在用戶的計算機(jī)上并且部分在遠(yuǎn)程計算機(jī)上或者完全在遠(yuǎn)程計算機(jī)或服務(wù)器上執(zhí)行。在后一情形下,遠(yuǎn)程計算機(jī)可通過包含局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)的任何類型網(wǎng)絡(luò)連接到用戶的計算機(jī),或者可進(jìn)行連接到外部計算機(jī)(例如通過使用因特網(wǎng)服務(wù)提供商的因特網(wǎng))。
本公開參考根據(jù)本公開實施例的方法、設(shè)備(系統(tǒng))和/或計算機(jī)程序產(chǎn)品的流程圖說明和/或框圖進(jìn)行了描述。將理解,流程圖說明和/或框圖的每個框以及流程圖說明和/或框圖中的框的組合可由計算機(jī)程序指令實現(xiàn)。這些計算機(jī)程序指令可被提供給通用計算機(jī)、專用計算機(jī)的處理器或其它可編程數(shù)據(jù)處理設(shè)備以產(chǎn)生機(jī)器,使得經(jīng)由計算機(jī)的處理器或其它可編程數(shù)據(jù)處理設(shè)備執(zhí)行的指令創(chuàng)建用于實現(xiàn)在流程圖和/或框圖框或多個框中規(guī)定的功能/動作的部件。
這些計算機(jī)程序指令還可存儲在可指導(dǎo)計算機(jī)或其它可編程數(shù)據(jù)處理設(shè)備以具體方式運(yùn)作的計算機(jī)可讀介質(zhì)中,使得存儲在計算機(jī)可讀介質(zhì)中的指令產(chǎn)生包含實現(xiàn)在流程圖和/或框圖框或多個框中規(guī)定的功能/動作的指令部件的制品。
計算機(jī)程序指令還可加載在計算機(jī)或其它可編程數(shù)據(jù)處理設(shè)備上,以使在計算機(jī)或其它可編程設(shè)備上執(zhí)行一系列可操作步驟來產(chǎn)生計算機(jī)實現(xiàn)的過程,使得在計算機(jī)或其它可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖和/或框圖框或多個框中規(guī)定的功能/動作的過程。
附圖中的流程圖和框圖圖示了根據(jù)本公開各種實施例的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品的可能實現(xiàn)的架構(gòu)、功能性和操作。在這點上,流程圖或框圖中的每個框都可表示模塊、分段或代碼部分,其包括用于實現(xiàn)規(guī)定的一個或多個邏輯功能的一個或多個可執(zhí)行指令。還應(yīng)該指出,在一些備選實現(xiàn)中,在框中指出的功能可以不按圖中指出的次序發(fā)生。例如,接連顯示的兩個框?qū)嶋H上可基本上同時執(zhí)行,或者所述框有時可按相反次序執(zhí)行,這取決于所涉及的功能性。還將指出,流程圖說明和/或框圖的每個框以及流程圖說明和/或框圖中的框的組合可由基于專用硬件的系統(tǒng)實現(xiàn),這些系統(tǒng)執(zhí)行規(guī)定功能或動作或者專用硬件和計算機(jī)指令的組合。
本文使用的術(shù)語僅是為了描述具體實施例的目的,并且不意圖限制本公開。如本文所使用的,單數(shù)形式“一”,“一個”和“該”意圖也包含復(fù)數(shù)形式,除非上下文另有明確指示。將進(jìn)一步理解到,術(shù)語“包括(comprises)”和/或“包括(comprising)”當(dāng)在此說明書中使用時規(guī)定所陳述的特征、整數(shù)、步驟、操作、元件和/或組件的存在,但不排除一個或多個其它特征、整數(shù)、步驟、操作、元件、組件和/或它們的群組的存在或添加。
實施例可實現(xiàn)為計算機(jī)過程、計算機(jī)系統(tǒng)或?qū)崿F(xiàn)為制品,諸如計算機(jī)可讀媒體的計算機(jī)程序產(chǎn)品。計算機(jī)程序產(chǎn)品可以是由計算機(jī)系統(tǒng)可讀的計算機(jī)存儲介質(zhì),并且編碼用于執(zhí)行計算機(jī)過程的計算機(jī)程序指令。
下面權(quán)利要求中的所有部件或步驟加上功能元件的對應(yīng)結(jié)構(gòu)、材料、動作和等效方案都意圖包含用于結(jié)合明確要求權(quán)利的其它要求權(quán)利的元件執(zhí)行功能的任何結(jié)構(gòu)、材料或動作。本公開的描述已經(jīng)為了說明和描述目的呈現(xiàn)了,但不意圖是詳盡的或局限于所公開形式的公開。許多修改和變形對本領(lǐng)域技術(shù)人員將是顯而易見的,而不脫離本公開的范圍和精神。選取并描述實施例,以便最佳地說明本公開的原理以及實際應(yīng)用,并且使本領(lǐng)域其它技術(shù)人員能夠理解具有適合于預(yù)期的具體使用的各種修改的實施例的公開。
回頭參考圖8,對于一個實施例,至少一個處理器802可與具有計算邏輯822的存儲器一起封裝(代替存儲在存儲器804和存儲裝置806上)。對于一個實施例,至少一個處理器802可與具有計算邏輯822的存儲器封裝在一起以形成系統(tǒng)級封裝(SiP)。對于一個實施例,至少一個處理器802可與具有計算邏輯822的存儲器集成在同一管芯上。對于一個實施例,至少一個處理器802可與具有計算邏輯822的存儲器一起封裝以形成片上系統(tǒng)(SoC)。對于至少一個實施例,SoC例如可用在智能電話或計算平板電腦上,但不限于此。
從而,已經(jīng)描述了本公開的各種示例實施例,但不限于:
示例1可以是用于渲染頭像的設(shè)備。所述設(shè)備可包括一個或多個處理器以及頭像動畫引擎。頭像動畫引擎可由一個或多個處理器操作以接收分別與用戶的面部和頭部關(guān)聯(lián)的多個面部運(yùn)動參數(shù)和多個頭部姿態(tài)參數(shù),并用面部和骨骼動畫驅(qū)動頭像模型以使用面部運(yùn)動參數(shù)和頭部姿態(tài)參數(shù)給頭像作動畫,以在頭像上復(fù)制用戶的面部表情,其包含用戶的頭部轉(zhuǎn)動后的影響。多個面部運(yùn)動參數(shù)可描繪面部的面部行為動作,并且多個頭部姿態(tài)參數(shù)可描繪頭部的頭部姿勢姿態(tài)。
示例2可以是示例1,其中當(dāng)用面部和骨骼動畫驅(qū)動頭像模型時所述頭像動畫引擎施加頭部轉(zhuǎn)動影響權(quán)重。
示例3可以是示例2,其中所述頭像動畫引擎根據(jù)頭部轉(zhuǎn)動影響權(quán)重圖施加至少采用在關(guān)節(jié)處連接的頭骨和軀干骨預(yù)先生成的頭部轉(zhuǎn)動影響權(quán)重。
示例4可以是示例3,其中所述關(guān)節(jié)設(shè)置在頸部。
示例5可以是示例3或4,其中所述頭部轉(zhuǎn)動影響權(quán)重圖處于灰度級,其中較淡的灰度值描繪來自頭部轉(zhuǎn)動的影響較大。
示例6可以是示例3-5中的任一示例,其中所述頭部轉(zhuǎn)動影響權(quán)重圖具有包含所述面部的區(qū)段、所述面部的眼球的區(qū)段、所述用戶的頸部的區(qū)段、所述面部的舌頭的區(qū)段、所述面部的牙齒的區(qū)段或者所述用戶的身體或衣服的區(qū)段的布局。
示例7可以是示例3-6中的任一示例,其中所述頭像動畫引擎進(jìn)一步采用二維紋理圖,并且所述頭部轉(zhuǎn)動影響權(quán)重圖具有對應(yīng)于所述二維紋理圖的布局或維度;并且其中所述動畫引擎使用所述二維紋理圖中頂點的對應(yīng)坐標(biāo)從所述頭部轉(zhuǎn)動影響權(quán)重圖中檢索所述頂點的影響權(quán)重。
示例8可以是示例2-7中的任一示例,其中當(dāng)用面部動畫驅(qū)動所述頭像模型時所述頭像動畫引擎混合多個預(yù)先定義的混合形狀,并向所述面部動畫的結(jié)果施加所述頭部轉(zhuǎn)動影響權(quán)重以用骨骼模擬驅(qū)動所述頭像模型。
示例9可以是示例8,其中當(dāng)用面部動畫驅(qū)動所述頭像模型時混合多個預(yù)先定義的混合形狀包括:確定所述多個預(yù)先定義的混合形狀中的每個形狀中的位置偏移;向確定的所述位置偏移施加對應(yīng)混合形狀權(quán)重;對所有混合形狀的所述混合形狀加權(quán)的位置偏移求和;以及將所述和加到基本模型中所述頂點的位置偏移。
示例10可以是示例2-9中的任一示例,其中頭部轉(zhuǎn)動包括左右搖擺、俯仰或傾斜。
示例11可以是示例1-10中的任一示例,進(jìn)一步包括:面部網(wǎng)格跟蹤器,由一個或多個處理器操作,以接收多個圖像幀,通過多個圖像幀檢測用戶的所述面部的面部行為動作以及用戶的頭部的頭部姿勢姿態(tài),并且輸出描繪所檢測的面部行為動作的多個面部運(yùn)動參數(shù)以及描繪所檢測的頭部姿勢姿態(tài)的多個頭部姿態(tài)參數(shù),全都實時地輸出。面部行為動作和頭部姿勢姿態(tài)的檢測可包含基于所述圖像幀的像素采樣的所述頭部和所述面部上的嘴巴和眼睛的幀間差異的檢測。
示例12可以是示例11,其中通過相機(jī)捕獲多個圖像幀,并且頭部姿勢姿態(tài)包含頭部轉(zhuǎn)動、沿水平方向和垂直方向的動作,以及頭部更靠近或更遠(yuǎn)離相機(jī);并且其中多個頭部姿勢姿態(tài)參數(shù)包含描繪頭部轉(zhuǎn)動、沿水平方向和垂直方向的頭部動作以及頭部更靠近或更遠(yuǎn)離相機(jī)的頭部姿勢姿態(tài)參數(shù)。
示例13可以是示例11或12,其中面部網(wǎng)格跟蹤器包含頭部姿勢跟蹤功能塊,以基于多個圖像幀的子采樣的像素的子集計算用戶的頭部的轉(zhuǎn)動角度,并施加動態(tài)模板匹配和重新注冊。
示例14可以是示例11-13中的任一示例,進(jìn)一步包括:頭像渲染引擎,其與所述頭像動畫引擎耦合并由所述一個或多個處理器操作以繪制如由所述頭像動畫引擎所作動畫的所述頭像。
示例15可以是用于渲染頭像的方法。所述方法可包括:由計算裝置接收分別與用戶的面部和頭部關(guān)聯(lián)的多個面部運(yùn)動參數(shù)和多個頭部姿態(tài)參數(shù),并用面部和骨骼動畫驅(qū)動頭像模型以使用面部運(yùn)動參數(shù)和頭部姿態(tài)參數(shù)給頭像作動畫,以在頭像上復(fù)制用戶的面部表情,其包含用戶的頭部轉(zhuǎn)動后的影響。多個面部運(yùn)動參數(shù)可描繪面部的面部行為動作,并且多個頭部姿態(tài)參數(shù)可描繪頭部的頭部姿勢姿態(tài)。
示例16可以是示例15,其中驅(qū)動包括:當(dāng)用面部和骨骼動畫驅(qū)動所述頭像模型時施加頭部轉(zhuǎn)動影響權(quán)重。
示例17可以是示例16,其中施加包括:根據(jù)頭部轉(zhuǎn)動影響權(quán)重圖施加至少采用在關(guān)節(jié)處連接的頭骨和軀干骨預(yù)先生成的頭部轉(zhuǎn)動影響權(quán)重。
示例18可以是示例17,其中所述關(guān)節(jié)設(shè)置在頸部。
示例19可以是示例17或18,其中所述頭部轉(zhuǎn)動影響權(quán)重圖處于灰度級,其中較淡的灰度值描繪來自頭部轉(zhuǎn)動的影響較大。
示例20可以是示例17-19中的任一示例,其中所述頭部轉(zhuǎn)動影響權(quán)重圖具有包含所述面部的區(qū)段、所述面部的眼球的區(qū)段、所述用戶的頸部的區(qū)段、所述面部的舌頭的區(qū)段、所述面部的牙齒的區(qū)段或者所述用戶的身體或衣服的區(qū)段的布局。
示例21可以是示例17-20中的任一示例,其中驅(qū)動包括采用二維紋理圖;其中所述頭部轉(zhuǎn)動影響權(quán)重圖具有對應(yīng)于所述二維紋理圖的布局或維度;其中施加包括:使用所述二維紋理圖中頂點的對應(yīng)坐標(biāo)從所述頭部轉(zhuǎn)動影響權(quán)重圖中檢索所述頂點的影響權(quán)重。
示例22可以是示例16-21中的任一示例,其中驅(qū)動包括:當(dāng)用面部動畫驅(qū)動所述頭像模型時混合多個預(yù)先定義的混合形狀,并向所述面部動畫的結(jié)果施加所述頭部轉(zhuǎn)動影響權(quán)重以用骨骼模擬驅(qū)動所述頭像模型。
示例23可以是示例22,其中當(dāng)用面部動畫驅(qū)動所述頭像模型時混合多個預(yù)先定義的混合形狀包括:確定所述多個預(yù)先定義的混合形狀中的每個形狀中的位置偏移;向確定的所述位置偏移施加對應(yīng)混合形狀權(quán)重;對所有混合形狀的所述混合形狀加權(quán)的位置偏移求和;以及將所述和加到基本模型中所述頂點的位置偏移。
示例24可以是示例22,其中頭部轉(zhuǎn)動包括左右搖擺、俯仰或傾斜。示例25可以是計算機(jī)可讀介質(zhì),包括指令,所述指令使計算裝置響應(yīng)于所述指令的執(zhí)行以:接收分別與用戶的面部和頭部關(guān)聯(lián)的多個面部運(yùn)動參數(shù)和多個頭部姿態(tài)參數(shù);以及用面部和骨骼動畫驅(qū)動頭像模型,以使用面部運(yùn)動參數(shù)和所述頭部姿態(tài)參數(shù)給頭像作動畫,以在頭像上復(fù)制用戶的面部表情,其包含用戶的頭部轉(zhuǎn)動后的影響。多個面部運(yùn)動參數(shù)可描繪面部的面部行為動作,并且多個頭部姿態(tài)參數(shù)可描繪頭部的頭部姿勢姿態(tài)。
示例26可以是示例25,其中驅(qū)動包括:當(dāng)用面部和骨骼動畫驅(qū)動所述頭像模型時施加頭部轉(zhuǎn)動影響權(quán)重。
示例27可以是示例26,其中施加包括:根據(jù)頭部轉(zhuǎn)動影響權(quán)重圖施加至少采用在關(guān)節(jié)處連接的頭骨和軀干骨預(yù)先生成的頭部轉(zhuǎn)動影響權(quán)重。
示例28可以是示例27,其中所述關(guān)節(jié)設(shè)置在頸部。
示例29可以是示例27或28,其中所述頭部轉(zhuǎn)動影響權(quán)重圖處于灰度級,其中較淡的灰度值描繪來自頭部轉(zhuǎn)動的影響較大。
示例30可以是示例27-29中的任一示例,其中所述頭部轉(zhuǎn)動影響權(quán)重圖具有包含所述面部的區(qū)段、所述面部的眼球的區(qū)段、所述用戶的頸部的區(qū)段、所述面部的舌頭的區(qū)段、所述面部的牙齒的區(qū)段或者所述用戶的身體或衣服的區(qū)段的布局。
示例31可以是示例27-30中的任一示例,其中驅(qū)動包括采用二維紋理圖;其中所述頭部轉(zhuǎn)動影響權(quán)重圖具有對應(yīng)于所述二維紋理圖的布局或維度;其中施加包括:使用所述二維紋理圖中頂點的對應(yīng)坐標(biāo)從所述頭部轉(zhuǎn)動影響權(quán)重圖中檢索所述頂點的影響權(quán)重。
示例32可以是示例26-31中的任一示例,其中驅(qū)動包括:當(dāng)用面部動畫驅(qū)動所述頭像模型時混合多個預(yù)先定義的混合形狀,并向所述面部動畫的結(jié)果施加所述頭部轉(zhuǎn)動影響權(quán)重以用骨骼模擬驅(qū)動所述頭像模型。
示例33可以是示例32,其中當(dāng)用面部動畫驅(qū)動所述頭像模型時混合多個預(yù)先定義的混合形狀包括:確定所述多個預(yù)先定義的混合形狀中的每個形狀中的位置偏移;向確定的所述位置偏移施加對應(yīng)混合形狀權(quán)重;對所有混合形狀的所述混合形狀加權(quán)的位置偏移求和;以及將所述和加到基本模型中所述頂點的位置偏移。
示例34可以是示例32,其中頭部轉(zhuǎn)動包括左右搖擺、俯仰或傾斜。
示例35可以是用于渲染頭像的設(shè)備。所述設(shè)備可包含:用于接收分別與用戶的面部和頭部關(guān)聯(lián)的多個面部運(yùn)動參數(shù)和多個頭部姿態(tài)參數(shù)的部件;以及用于用面部和骨骼動畫驅(qū)動頭像模型以使用面部運(yùn)動參數(shù)和頭部姿態(tài)參數(shù)給頭像作動畫以在頭像上復(fù)制用戶的面部表情(其包含用戶的頭部轉(zhuǎn)動后的影響)的部件。多個面部運(yùn)動參數(shù)可描繪面部的面部行為動作,并且多個頭部姿態(tài)參數(shù)可描繪頭部的頭部姿勢姿態(tài)。
示例36可以是示例35,其中用于驅(qū)動的部件包括用于當(dāng)用面部和骨骼動畫驅(qū)動所述頭像模型時施加頭部轉(zhuǎn)動影響權(quán)重的部件。
示例37可以是示例36,其中用于施加的部件包括用于根據(jù)頭部轉(zhuǎn)動影響權(quán)重圖施加至少采用在關(guān)節(jié)處連接的頭骨和軀干骨預(yù)先生成的頭部轉(zhuǎn)動影響權(quán)重的部件。
示例38可以是示例37,其中所述關(guān)節(jié)設(shè)置在頸部。
示例39可以是示例37或38,其中所述頭部轉(zhuǎn)動影響權(quán)重圖處于灰度級,其中較淡的灰度值描繪來自頭部轉(zhuǎn)動的影響較大。
示例40可以是示例37-39中的任一示例,其中所述頭部轉(zhuǎn)動影響權(quán)重圖具有包含所述面部的區(qū)段、所述面部的眼球的區(qū)段、所述用戶的頸部的區(qū)段、所述面部的舌頭的區(qū)段、所述面部的牙齒的區(qū)段或者所述用戶的身體或衣服的區(qū)段的布局。
示例41可以是示例37-39中的任一示例,其中用于驅(qū)動的部件包括用于采用二維紋理圖的部件;其中所述頭部轉(zhuǎn)動影響權(quán)重圖具有對應(yīng)于所述二維紋理圖的布局或維度;其中施加包括:使用所述二維紋理圖中頂點的對應(yīng)坐標(biāo)從所述頭部轉(zhuǎn)動影響權(quán)重圖中檢索所述頂點的影響權(quán)重。
示例42可以是示例36-41中的任一示例,其中用于驅(qū)動的部件包括用于當(dāng)用面部動畫驅(qū)動頭像模型時混合多個預(yù)先定義的混合形狀并向面部動畫的結(jié)果施加頭部轉(zhuǎn)動影響權(quán)重以用骨骼模擬驅(qū)動頭像模型的部件。
示例43可以是示例42,其中用于當(dāng)用面部動畫驅(qū)動所述頭像模型時混合多個預(yù)先定義的混合形狀的部件包括:用于確定多個預(yù)先定義的混合形狀中的每個形狀中的位置偏移的部件;用于向確定的位置偏移施加對應(yīng)混合形狀權(quán)重的部件;用于對所有混合形狀的混合形狀加權(quán)的位置偏移求和的部件;以及用于將所述和加到基本模型中所述頂點的位置偏移的部件。
示例44可以是示例42,其中頭部轉(zhuǎn)動包括左右搖擺、俯仰或傾斜。
對本領(lǐng)域技術(shù)人員將顯而易見的是,可在不脫離本發(fā)明的精神或范圍的情況下,在所公開裝置及關(guān)聯(lián)方法的所公開實施例中進(jìn)行各種修改和改變。從而,意圖是,本公開涵蓋了上面公開的實施例的修改和改變,如果這些修改和改變落在任何權(quán)利要求及其等效方案的范圍內(nèi)。