特效 動作。
[0075] 替換地,也可以通過其他的方式來提示用戶輸入不同的變形動作。例如,可以通過 文字描述的方式進行提示。也可以通過定義不同的鼠標或觸摸動作來獲取第一用戶希望執(zhí) 行的圖像變形動作。
[0076] 例如,以鼠標為例,可以將"掐"這個特效動作定義為鼠標左鍵在用戶圖像中進行 單擊;可以將"戳"這個特效動作定義為鼠標左鍵在用戶圖像中進行雙擊;并且可以將"扇" 這個特效動作定義為鼠標左鍵在用戶圖像中進行雙擊并進行拖動等。
[0077] 在接收到第一用戶選擇的特效動作之后,可以將這時正在顯示的圖像序列中的圖 像定義為第一圖像。此外,由于可以預先地定義每一個特效動作的操作時長,所以可以對圖 像序列之中從該第一圖像開始、經(jīng)過該操作時長之內(nèi)的所有圖像進行圖像變形處理。這時, 可以將最后圖像定義為在結(jié)束執(zhí)行該圖像變形處理時的圖像。顯然,該最后圖像與該第一 圖像之間的時間間隔等于該操作時長。
[0078] 在步驟S240中,確定當前對象區(qū)域的基準位置。
[0079] 接下來,可以對圖像序列之中第一圖像到最后圖像中的任何一個圖像(例如,可 以稱之為當前圖像)來確定當前對象區(qū)域的基準位置。
[0080] 例如,首先,可以確定第一圖像的對象區(qū)域的基準位置。例如,這個基準位置可以 是該對象區(qū)域的中心點、重心點、角點、頂點等。
[0081] 在第一情況下,可以捕捉鼠標或觸摸動作在第一圖像中的點擊或觸摸位置,并且 直接將該點擊或觸摸位置確定為該第一圖像對象區(qū)域的基準位置。
[0082] 在第二情況下,可以使用人臉特征點跟蹤技術(shù)來跟蹤視頻中人臉的關(guān)鍵特征點, 并且捕捉鼠標或觸摸動作在第一圖像中的點擊或觸摸位置,最終根據(jù)該特征點的位置和該 點擊或觸摸位置來確定該第一圖像對象區(qū)域的基準位置。
[0083] 接下來,隨著時間的經(jīng)過,可以繼續(xù)地確定第一圖像以后的其他圖像的對象區(qū)域 的基準位置。
[0084] 圖6A到圖6C圖示了根據(jù)本發(fā)明實施例具體示例的基準位置確定過程。
[0085] 例如,在視頻通話中,可以使用主動形狀模型(ASM)來實時地跟蹤人臉上的特征 點。如圖6A所示,可以在所顯示的第二用戶的頭像中檢測到多個特征點,其例如位于眉毛、 鼻子、嘴部、眼角等部分處。然后,當鼠標點擊要觸發(fā)的區(qū)域時,初始地選擇離該鼠標點最近 的人臉特征點作為對象區(qū)域的中心點,并在隨后的一段時間里始終跟隨該特征點。這樣,當 在視頻聊天過程中人臉位置變化時,該對象區(qū)域的基準位置也隨之移動。如圖6B所示,在 圖像序列中的第一幀圖像中,當鼠標點擊在第二用戶的嘴角附近時,將捕捉距離該嘴角位 置最近的特征點作為初始的基準位置。然后,如圖6C所示,在第一幀圖像以后的其他圖像 (例如,第二幀圖像)中,持續(xù)地追蹤表示該嘴角的特征點,以作為其他圖像對象區(qū)域的基 準位置,直到變形操作對最后圖像處理完畢為止。
[0086] 在步驟S250中,確定當前變形模型。
[0087] 接下來,可以對圖像序列之中第一圖像到最后圖像中的任何一個圖像(例如,可 以稱之為當前圖像)來確定當前對象區(qū)域的變形模型。
[0088] 為此,在第一用戶輸入圖像變形命令之后,可以首先獲取預先為每個特征動作 (或稱之為,交互動作)定義的一個初始變形模型M。和最終變形模型乂。為了實現(xiàn)局部的 變形效果,它們的尺寸都小于圖像序列中每一幅圖像的尺寸。
[0089] 例如,可以按照網(wǎng)格的形式來定義該初始變形模型M。和該最終變形模型吣。
[0090] 具體地,為了實現(xiàn)不同的顯示特效,可以為每一個特效動作定義不同形狀和/或 尺寸的源網(wǎng)格,作為該初始變形模型M。,并且為每一個特效動作定義不同形狀和/或尺寸的 最大幅度目標網(wǎng)格,作為該最終變形模型吣。
[0091] 替換地,簡單起見,可以將所有特效動作的源網(wǎng)格都定義為完全相同的均勻網(wǎng)格, 而使得最大幅度目標網(wǎng)格形狀各不一樣。
[0092] 圖7A和圖7B圖7K了根據(jù)本發(fā)明實施例具體7K例的初始變形t旲型和最終變形豐旲 型。
[0093] 如圖7A和圖7B所示,為三個特效動作"戳"、"揪"和"擰"定義了完全相同的源網(wǎng) 格,并且根據(jù)這三個動作的不同特性,為它們分別定義了三個不同的最大幅度目標網(wǎng)格。
[0094] 在本步驟中,例如,首先,可以確定第一圖像的對象區(qū)域的初始變形模型。例如,這 個初始變形模型可以是源網(wǎng)格M。的形狀。也就是說,在動作的開始時,對象區(qū)域并沒有被 施加任何變形,而是僅僅確定了該對象區(qū)域的形狀和尺寸。
[0095] 接下來,取決于不同的變形特效,隨時間的進行,目標網(wǎng)格拉伸程度逐漸加大,也 就是說,從源網(wǎng)格I逐漸達到最大幅度目標網(wǎng)格I。相反地,當網(wǎng)格拉伸幅度達到最大時, 隨時間的繼續(xù)進行,目標網(wǎng)格逐步還原,也就是說,從最大幅度目標網(wǎng)格I逐漸恢復為源網(wǎng) 格M 0。
[0096] 圖8圖示了根據(jù)本發(fā)明實施例具體示例的變形模型隨時間的變化過程。
[0097] 假設用戶所選擇的變形動作是"戳",并且假設該變形動作在特效加強過程(即, 從沒有變形的初始狀態(tài)到幅度最大的顯著狀態(tài))和特效消失(即,從該顯著狀態(tài)到該初始 狀態(tài))的過程中所占用的時間是相同的,即狀態(tài)變化是線性的。
[0098] 這時,該當前變形模型的變化過程如圖8所示。在時間t。處,使用的目標網(wǎng)格為 源網(wǎng)格M。,即當前的變形幅度為零,并且在時間ti-t 4處,網(wǎng)格的變形幅度逐漸加大,并且在 時間t4處,達到最大,即使用的目標網(wǎng)格為最大幅度目標網(wǎng)格吣。相反地,在時間t 5處,使 用的目標網(wǎng)格為最大幅度目標網(wǎng)格I,即當前的變形幅度為最大,并且在時間t6-t 9&,網(wǎng) 格的變形幅度逐漸減小,并且在時間t9處,恢復為零,即使用的目標網(wǎng)格為源網(wǎng)格M。。
[0099] 在步驟S260中,對當前對象區(qū)域變形處理。
[0100] 在獲得了用于當前對象區(qū)域的變形模型之后,可以使用變形模型來對源網(wǎng)格所定 義的區(qū)域進行拉伸、收縮、凹陷、凸起、扭曲、擠壓等變形處理,以實現(xiàn)第一用戶期望的顯示 特效。
[0101] 在步驟S270中,顯7K變形后的圖像序列。
[0102] 在進行了上述變形處理之后,可以在第一電子設備10的本地,向第一用戶顯示自 己剛剛執(zhí)行的對于第二用戶圖像的變形特效,以便第一用戶直觀地體會到自己對第二用戶 的圖像序列所執(zhí)行的變形特征。
[0103] 在步驟S280中,發(fā)送變形后的圖像序列。
[0104] 接下來,可選地,為了使得第二用戶能夠同樣地觀看到第一用戶對于自己的特效 動作,可以通過用于該多媒體通信的通信連接,而將變形后的第二用戶的圖像序列發(fā)送到 第二電子設備20。
[0105] 在步驟S290中,顯示變形后的圖像序列。
[0106] 在接收到從第一用戶傳送來的關(guān)于第二用戶的變形后的圖像序列之后,可以在第 二電子設備20中停止顯示本地直接獲取的第二用戶的原始圖像,而是顯示從第一用戶傳 送來的關(guān)于第二用戶的變形后的圖像序列,以使得第二用戶也能夠直觀地感受到第一用戶 對于自己的變形動作,從而加強用戶之間的交互體驗。
[0107] 盡管上面通過將變形后的圖像序列直接從第一電子設備10發(fā)送到第二電子設備 20為例說明了根據(jù)本發(fā)明實施例的具體示例,但是,本發(fā)明不限于此。替換地,為了節(jié)省 在第一電子設備10和第二電子設備20之間的數(shù)據(jù)流量,可以僅僅將圖像變形命令傳送到 第二電子設備20中,以便在第二電子設備20中實現(xiàn)與在第一電子設備10中相同的變形 處理,即,使用相同的變形模型和基準位置來對相同的對象區(qū)域進行變形,以供第二用戶查 看。
[0108] 此外,可選地,為了更好地體現(xiàn)一種彈性變化效果,在步驟S260中可以使用源網(wǎng) 格和目標最大幅度網(wǎng)格來多次執(zhí)行該變形處理,并且隨著變形處理執(zhí)行次數(shù)的增多,該目 標最大幅度網(wǎng)格的變化幅度逐漸減小,并且最終歸于源網(wǎng)