用于使用交互式化身進行通信的系統和方法
【專利摘要】一種用于將參與用戶的實際活動圖像替換為動畫化身的視頻通信系統。方法包括選擇化身;發起通信;捕捉圖像;檢測圖像中的面部;從面部確定面部特點,包括分別指示用戶凝視和眨眼的方向的用戶的眼睛運動和眼瞼運動;將面貌轉換成化身參數;以及傳送化身選擇或化身參數至少之一。
【專利說明】用于使用交互式化身進行通信的系統和方法
[0001]相關申請的交叉引用
本申請要求2011年12月29日提交的PCT專利申請序列號PCT/CN2011/084902的優先權,該申請的全部公開內容通過引用結合于本文中。
【技術領域】
[0002]本公開內容涉及視頻通信和交互,并且更具體地說,涉及用于使用交互式化身進行通信的系統和方法。
【背景技術】
[0003]運動裝置中可用的越來越多種類的功能性使得用戶除簡單的呼叫外還希望經視頻進行通信。例如,用戶可發起“視頻呼叫”、“視頻會議”等,其中,裝置中的照相機和麥克風將用戶的音頻和實時視頻傳送到一個或更多個接收者,如其它運動裝置、臺式計算機、視頻會議系統等。實時視頻的通信可涉及傳送大量的數據(例如,取決于照相機的技術、用于處理實時圖像信息的特定視頻編解碼器等)。給定現有2G/3G無線技術的帶寬限制和新興4G無線技術的還有限的可用性,進行同時視頻呼叫的許多裝置用戶的提議對現有無線通信基礎設施中的帶寬造成了很大負擔,這可不利地影響視頻呼叫的質量。
【專利附圖】
【附圖說明】
[0004]隨著以下【具體實施方式】繼續進行,并參照附圖時,要求保護的主題的各種實施例的特征和優點將變得顯而易見,附圖中類似的標號示出類似部分,并且其中:
圖1A示出與本公開內容的各種實施例一致的示例裝置到裝置系統;
圖1B示出與本公開內容的各種實施例一致的示例虛擬空間系統;
圖2示出與本公開內容的各種實施例一致的示例裝置;
圖3示出與本公開內容的各種實施例一致的示例面部檢測模塊;
圖4示出根據本公開內容的至少一個實施例的示例系統實現;以及 圖5是根據本公開內容的至少一個實施例的示例操作的流程圖。
[0005]雖然以下【具體實施方式】將參照說明性實施例繼續,但其許多備選、修改和變化將對本領域技術人員顯而易見。
【具體實施方式】
[0006]通過概述,本公開內容一般指向用于使用交互式化身進行通信和交互的系統和方法。與本公開內容一致的系統和方法一般提供在活動通信期間用戶眼睛的檢測和/或跟蹤,包括用戶眼睛的特點的檢測,包括但不限于眼球運動、凝視方向和/或用戶眼睛的焦點、眨眼等。系統和方法還配置成至少部分地基于在活動通信期間實時或近實時檢測到的用戶眼睛的特點來提供化身動畫。[0007]在一個實施例中,在耦合到照相機的裝置中激活應用。應用可配置成允許用戶選擇化身以顯示在遠程裝置上、在虛擬空間中等。然后,裝置可配置成發起與至少一個其它裝置、虛擬空間等的通信。例如,可通過2G、3G、4G蜂窩連接建立通信。備選地,可經WiFi連接通過因特網建立通信。在通信建立后,照相機可配置成開始捕捉圖像。然后在捕捉的圖像上執行面部檢測,并且確定面部特點。然后,將包括用戶的眼睛運動和/或眼瞼的運動的檢測到的面/頭部運動和/或面貌的更改轉換成可用于在至少一個其它裝置上,在虛擬空間內等以動畫表現化身的參數。然后,傳送化身選擇或化身參數至少之一。在一個實施例中,接收遠程化身選擇或遠程化身參數至少之一。遠程化身選擇可促使裝置顯示化身,而遠程化身參數可促使裝置以動畫表現顯示的化身。音頻通信經已知方法伴隨著化身動畫。
[0008]圖1A示出與本公開內容的各種實施例一致的裝置到裝置系統100。系統100—般可包括經網絡122進行通信的裝置102和112。裝置102包括至少照相機104、麥克風106和顯示器108。裝置112包括至少照相機114、麥克風116和顯示器118。網絡122包括至少一個服務器124。
[0009]裝置102和112可包括能夠進行有線和/或無線通信的各種硬件平臺。例如,裝置102和112可包括但不限于視頻會議系統、臺式計算機、膝上型計算機、平板計算機、智能電話(例如,iPhones?、基于Android?的電話、Blackberries?、基于Symbian?的電話、基于Palm?的電話等)、蜂窩手持機等。
[0010]照相機104和114包括用于捕捉表示包括一個或更多個人的環境的數字圖像的任何裝置,并且可具有適當的分辨率用于如本文中所述的環境中的一個或更多個人的面部分析。例如,照相機104和114可包括靜止照相機(例如,配置成捕捉靜止照片的照相機)或視頻照相機(例如,配置成捕捉包括多個幀的運動圖像的照相機)。照相機104和114可配置成使用在可見光譜中的光線操作或者通過不限于紅外光譜、紫外光譜等電磁光譜的其它部分操作。照相機104和114可分別包含在裝置102和112內,或者可以是配置成經有線或無線通信與裝置102和112進行通信的單獨裝置。照相機104和114的具體示例可包括如可與計算機、視頻監視器等相關聯的有線(例如,通用串行總線(USB)、以太網、火線等)或無線(例如,WiF1、藍牙等)web照相機、運動裝置照相機(例如,集成在例如前面討論的示例裝置中的蜂窩電話或智能電話照相機)、集成膝上型計算機照相機、集成平板計算機照相機(例如,iPad?、Galaxy Tab?及諸如此類)等。
[0011]裝置102和112可還包括麥克風106和116。麥克風106和116包括配置成感測聲音的任何裝置。麥克風106和116可分別集成在裝置102和112內,或者可經諸如在關于照相機104和114的上面示例中所述的有線或無線通信而與裝置102、112進行交互。顯示器108和118包括配置成顯示文本、靜止圖像、運動圖像(例如,視頻)、用戶接口、圖形等的任何裝置。顯示器108和118可分別集成在裝置102和112內,或者可經諸如在關于照相機104和114的上面示例中所述的有線或無線通信而與裝置進行交互。
[0012]在一個實施例中,顯示器108和118分別配置成顯示化身110和120。如本文中引用的,化身定義為二維(2D)或三維(3D)的用戶的圖形表示。化身不必像用戶的外貌,并且因此,雖然化身能夠是逼真表示,但它也能夠采用圖畫、卡通、素描等形式。如圖所示,裝置102可顯示表示裝置112的用戶(例如,遠程用戶)的化身110,并且同樣地,裝置112可顯示表示裝置102的用戶的化身120。因此,用戶可查看其它用戶的表示而不必交換一般涉及采用活動圖像的裝置到裝置通信的大量信息。
[0013]網絡122可包括各種第二代(2G)、第三代(3G)、第四代(4G)基于蜂窩的數據通信技術、W1-Fi無線數據通信技術等。網絡122包括配置成在使用這些技術時建立和保持通信連接的至少一個服務器124。例如,服務器124可配置成支持因特網有關的通信協議,比如用于修改和終止雙方(單播)和多方(多播)會話的會話發起協議(SIP),用于呈現允許在字節流連接頂部建立協議的框架的交互式連接建立協議(ICE)、用于允許通過NAT操作的應用發現其它NAT的存在、為應用的用戶數據報協議(UDP)連接分配以連接到遠程主機的IP地址和端口的網絡接入轉換器或NAT會話的遍歷實用程序協議(STUN)、用于允許在NAT或防火墻后的元素通過傳送控制協議(TCP)或UDP連接接收數據的使用NAT周圍中繼遍歷(TURN)等。
[0014]圖1B示出與本公開內容的各種實施例一致的虛擬空間系統126。系統126可包括裝置102、112和服務器124。裝置102、112和服務器124可繼續以類似于圖1A所示方式進行通信,但用戶交互可在虛擬空間128中而不是以裝置到裝置格式進行。在本文中引用時,虛擬空間可定義為物理位置的數字模擬。例如,虛擬空間128可類似比如城市、道路、人行道、野外、森林、島嶼等外部位置或比如辦公室、房屋、學校、商場、商店等內部位置。
[0015]由化身表示的用戶可顯得如在現實世界中一樣與虛擬空間128進行交互。虛擬空間128可存在于耦合到因特網的一個或更多個服務器上,并且可由第三方維護。虛擬空間的示例包括虛擬辦公室、虛擬會議室、如Second Life?的虛擬世界、如World of War craft?的大型多人在線角色扮演游戲(MMORPG)、如The Sims Online?的大型多人在線現實生活游戲(MMORLG)。在系統126中,虛擬空間128可包含對應于不同用戶的多個化身。顯示器108和118可顯示封裝(例如,更小)版本的虛擬空間(VS) 128,而不是顯示化身。例如,顯示器108可顯示對應于裝置102的用戶的化身在虛擬空間128中“看到”的內容的透視圖。類似地,顯示器118可顯示對應于裝置112的用戶的化身在虛擬空間128中“看到”的內容的透視圖。化身在虛擬空間128中可能看到的內容的示例可包括但不限于虛擬結構(例如,建筑物)、虛擬車輛、虛擬對象、虛擬動物、其它化身等等。
[0016]圖2示出根據本公開內容的各種實施例的示例裝置102。雖然只描述裝置102,但裝置112 (例如,遠程裝置)可包括配置成提供相同或類似功能的資源。如前面所述,裝置102示為包括照相機104、麥克風106和顯示器108。照相機104和麥克風106可提供輸入到照相機和音頻框架模塊200。照相機和音頻框架模塊200可包括通常良好定義的并且可操作以控制至少照相機104和麥克風106的定制、專有、已知和/或以后開發的音頻和視頻處理代碼(或指令集)。例如,照相機和音頻框架模塊200可包括照相機104和麥克風106以記錄圖像和/或聲音,可處理圖像和/或聲音,可促使圖像和/或聲音再現等。取決于裝置102,并且更具體地說,在裝置102中運行的操作系統(OS),照相機和音頻框架模塊200可不同。不例操作系統包括 iOS?、Android?、Blackberry? OS、Symbian?、Palm? OS 等。揚聲器202可接收來自照相機和音頻框架模塊200的音頻信息,并且可配置成再現本地聲音(例如,提供用戶話音的音頻反饋)和遠程聲音(例如,參與虛擬位置中電話、視頻呼叫或交互的其它方的聲音)。
[0017]裝置102可還包括配置成識別和跟蹤照相機104提供的圖像內的頭部、面部和/或面部區域,并且確定用戶的一個或更多個面部特點(即,面部特點206)的面部檢測模塊204。例如,面部檢測模塊204可包括通常良好定義的并且可操作以接收標準格式圖像(例如但不限于RGB彩色圖像)并且至少在一定程度上識別圖像中的面部的定制、專有、已知和/或以后開發的面部檢測代碼代碼(或指令集)、硬件和/或固件。
[0018]面部檢測模塊204也可配置成通過一系列圖像(例如,每秒24幀的視頻幀)跟蹤檢測到的面部,并且基于檢測到的面部確定頭部位置。可由面部檢測模塊204采用的已知跟蹤系統可包括粒子濾波、均值移位、Kalman濾波等,它們每個可利用邊緣分析、平方差和分析、特征點分析、直方圖分析、膚色分析等。
[0019]面部檢測模塊204也可包括通常良好定義的并且可操作以接收標準格式圖像(例如但不限于RGB彩色圖像)并且至少在一定程度上識別圖像中的一個或更多個面部特點的定制、專有、已知和/或以后開發的面部特點代碼(或指令集)。此類已知面部特點系統包括但不限于可在公共開放源計算機視覺(OpenCV?)包中找到的由科羅拉多州立大學開發的CSU面部識別評估系統、標準Viola-Jones增強級聯(boosting cascade)框架。
[0020]如本文中更詳細討論的,面部特點206可包括面部的特征,包括但不限于諸如眼、眉毛、鼻子、嘴等面部標志物的位置和/或形狀及眼睛和/或眼瞼的運動。在一個實施例中,化身動畫可基于感測的面部動作(例如,面部特點206的更改)。化身面部上的對應特征點可跟隨或模仿現實人臉的運動,這稱為“表情克隆”或“行為驅動的面部動畫”。
[0021]面部檢測模塊204也可配置成識別與檢測到的特征相關聯的表情(例如,識別以前檢測到的面部是否為高興,傷心,微笑,皺眉,驚訝,激動等)。因此,面部檢測模塊204可還包括通常良好定義的并且可操作以檢測和/或識別面部中的表情的定制、專有、已知和/或以后開發的面部表情檢測和/或識別代碼(或指令集)。例如,面部檢測模塊204可確定面部特征(例如,眼、嘴、臉頰、牙齒等)的大小和/或位置,并且可將這些面部特征和包括具有對應面部特征分類(例如,微笑,皺眉,激活,傷心等)的多個樣本面部特征的面部特征數據庫進行比較。
[0022]裝置102可還包括配置成允許裝置102的用戶選擇在遠程裝置上顯示的化身的化身選擇模塊208。化身選擇模塊208可包括通常良好定義的并且可操作以向用戶顯示不同化身使得用戶可選擇化身之一的定制、專有、已知和/或以后開發的用戶接口構建代碼(或指令集)。
[0023]在一個實施例中,在裝置102中可預定義一個或更多個化身。預定義的化身允許所有裝置具有相同化身,并且在交互期間僅化身的選擇(例如,預定義化身的識別)需要傳遞到遠程裝置或虛擬空間,這降低了需要交換的信息量。化身在建立通信之前選擇,但也可在活動通信的過程期間更改。因此,可能可在通信期間的任何點發送或接收化身選擇,以及接收裝置可能根據收到的化身選擇更改顯示的化身。
[0024]裝置102可還包括配置成生成用于以動畫表現化身的參數的化身控制模塊210。在本文中引用時,動畫可定義為改變圖像/模型的外觀。單個動畫可更改2D靜止圖像的外觀,或者多個動畫可連續出現以模擬圖像中的運動(例如,轉頭,點頭,交談,皺眉,微笑,大笑,眨眼,遞眼色等)。用于3D模型的動畫的示例包括使3D線框模型變形,應用紋理映射,以及為渲染重新計算模型頂點法線。包括面部特征的檢測到的面部和/或面部特點206的位置更改可轉換成促使化身的特征類似于用戶面部的特征。
[0025]在一個實施例中,檢測到的面部的一般表情可轉換成促使化身展示相同表情的一個或更多個參數。也可夸大化身的表情以強調表情。在化身參數通常可應用到所有預定義化身時,可不需要選擇的化身的知識。然而,在一個實施例中,化身參數可對選擇的化身是特定的,并且因此,如果選擇另一化身,則化身參數可改變。例如,人化身可要求與動物化身、卡通化身等不同的參數設置(例如,不同化身特征可改變)以演示如高興,傷心,生氣,驚訝等情緒。
[0026]化身控制模塊210可包括通常良好定義的并且可操作以生成參數以便基于面部檢測模塊204檢測到的面/頭部位置和/或面部特點206以動畫表現化身選擇模塊208選擇的化身的定制、專有、已知和/或以后開發的圖形處理代碼(或指令集)。對于基于面部特征的動畫方法,2D化身動畫可例如通過圖像扭曲(image warping)或圖像漸變(imagemorphing)進行,而3D化身動畫可通過自由形式變形(FFD)或者通過利用在頭部的3D模型中定義的動畫結構進行。Oddcast是可用于2D化身動畫的軟件資源的示例,而FaceGen是可用于3D化身動畫的軟件資源的示例。
[0027]另外,在系統100中,化身控制模塊210可接收可用于顯示和以動畫表現對應于在遠程裝置的用戶的化身的遠程化身選擇和遠程化身參數。化身控制模塊210可促使顯示模塊212以在顯示器108上顯示化身110。顯示模塊212可包括通常良好定義的并且可操作以根據示例裝置到裝置實施例在顯示器108上顯示和以動畫表現化身的定制、專有、已知和/或以后開發的圖形處理代碼(或指令集)。
[0028]例如,化身控制模塊210可接收遠程化身選擇,并且可解釋遠程化身選擇以對應于預確定的化身。顯示模塊212然后可在顯示器108上顯示化身110。另外,在化身控制模塊210中收到的遠程化身參數可被解釋,并且命令可提供到顯示模塊212以動畫表現化身110。
[0029]在一個實施例中,不止兩個用戶可參與視頻呼叫。在不止兩個用戶在視頻呼叫中交互時,可將顯示器108劃分或分段以允許同時顯示對應于遠程用戶的不止一個化身。備選地,在系統126中,化身控制模塊210可接收促使顯示模塊212顯示對應于裝置102的用戶的化身在虛擬空間128 “看到”的內容(例如,從化身的視覺角度)的信息。例如,顯示器108可顯示在虛擬空間128中表示的建筑物、對象、動物、其它化身等。在一個實施例中,化身控制模塊210可配置成促使顯示模塊212顯示“反饋”化身214。反饋化身214表示選擇的化身如何呈現在遠程裝置上、在虛擬空間中等。具體而言,反饋化身214顯現為用戶選擇的化身,并且可使用化身控制模塊210生成的相同參數以動畫表現。這樣,用戶可確認遠程用戶在其交互期間看到的內容。
[0030]裝置102可還包括配置成傳送和接收用于選擇化身、顯示化身、以動畫表現化身、顯示虛擬位置透視圖等的信息的通信模塊216。通信模塊216可包括通常良好定義的并且可操作以傳送化身選擇、化身參數,并且接收遠程化身選擇和遠程化身參數的定制、專有、已知和/或以后開發的通信處理代碼(或指令集)。通信模塊216也可傳送和接收對應于基于化身的交互的音頻信息。通信模塊216可如前面所述經網絡122傳送和接收上述信息。
[0031]裝置102可還包括配置成執行與裝置102和其中包括的一個或更多個模塊相關聯的操作的一個或更多個處理器218。
[0032]圖3示出與本公開內容的各種實施例一致的示例面部檢測模塊204a。面部檢測模塊204a可配置成經照相機104和音頻框架模塊200接收來自照相機的一個或更多個圖像,并且至少在一定程度上識別圖像中的面部(或可選地多個面部)。面部檢測模塊204a也可配置成在一定程度上識別和確定圖像中的一個或更多個面部特點206。如本文中所述,面部特點206可基于由面部檢測模塊204a識別的一個或更多個面部參數生成。面部特點206可包括面部的特征,包括但不限于諸如眼、眉毛、鼻子、嘴等面部標志物的位置和/或形狀及嘴、眼睛和/或眼瞼的運動。
[0033]在所示實施例中,面部檢測模塊204a可包括面部檢測/跟蹤模塊300、面部規范化模塊302、標志物檢測模塊304、面型模塊306、面部姿勢模塊308、面部表情檢測模塊310、眼睛檢測/跟蹤模塊312及眼分類模塊314。面部檢測/跟蹤模塊300可包括通常良好定義的并且可操作以至少在一定程度上檢測和識別從照相機104收到的靜止圖像或視頻流中人臉的大小和位置的定制、專有、已知和/或以后開發的面部跟蹤代碼(或指令集)。此類已知面部檢測/跟蹤系統例如包括發布為Paul Viola和Michael Jones,使用簡單特征的增強級聯的快速對象檢測(Rapid Object Detection using a Boosted Cascade of SimpleFeatures), Accepted Conference on Computer Vision and Pattern Recognition, 2001 的Viola和Jones的技術。這些技術通過在圖像上詳盡掃描窗口,使用自適應級聯(AdaptiveBoosting (AdaBoost))分類器的級聯來檢測面部。面部檢測/跟蹤模塊300也可跨多個圖像跟蹤面部或面部區域。
[0034]面部規范化模塊302可包括通常良好定義的并且可操作以規范化圖像中識別的面部的定制、專有、已知和/或以后開發的面部規范化代碼(或指令集)。例如,面部規范化模塊302可配置成旋轉圖像以對齊眼睛(如果眼睛的坐標已知),裁切圖像到通常對應于面部的大小的更小尺寸,縮放圖像以使眼睛之間的距離恒定,應用掩碼以零化不在包含典型面部的橢圓形中的像素,直方圖均衡化圖像以平滑用于非屏蔽像素的灰度值的分布和/或規范化圖像,以便非屏蔽像素具有均值O和標準偏差I。
[0035]標志物檢測模塊304可包括通常良好定義的并且可操作以至少在一定程度上檢測和識別圖像中面部的各種面部特征的定制、專有、已知和/或以后開發的標志物檢測代碼(或指令集)。標志物檢測中隱含的是至少在一定程度上已經檢測到面部。可選地,一定程度的定位可(例如,由面部規范化模塊302)已經執行以識別/聚焦在其中可能能夠找到標志物的圖像的地帶/區域。例如,標志物檢測模塊304可基于啟發式分析,并且可配置成識別和/或分析眼睛(和/或眼角)、鼻子(例如,鼻尖)、下巴(例如,下巴尖)、頰骨和下頜的相對位置、大小和/或形狀。使用基于Viola-Jones的分類器,也可檢測到眼角和嘴角。
[0036]面型模塊306可包括通常良好定義的并且可操作以基于圖像中識別的面部標志物識別和/或生成面型的定制、專有、已知和/或以后開發的面型代碼(或指令集)。如可領會的,面型模塊306可視為面部檢測/跟蹤模塊300的一部分。
[0037]面部姿勢模塊308可包括通常良好定義的并且可操作以至少在一定程度上檢測和識別圖像中面部的姿勢的定制、專有、已知和/或以后開發的面部朝向檢測代碼(或指令集)。例如,面部姿勢模塊308可配置成相對于裝置102的顯示器108建立圖像中面部的姿勢。更具體地說,面部姿勢模塊308可配置成確定用戶的面部是否朝向裝置102的顯示器108,由此指示用戶是否在觀察顯示器108上顯示的內容。
[0038]面部表情檢測模塊310可包括通常良好定義的并且可操作以檢測和/或識別圖像中用戶的面部表情的定制、專有、已知和/或以后開發的面部表情檢測和/或識別代碼(或指令集)。例如,面部表情檢測模塊310可確定面部特征(例如,眼、嘴、臉頰、牙齒等)的大小和/或位置,并且將面部特征和包括具有對應面部特征分類的多個樣本面部特征的面部特征數據庫進行比較。
[0039]眼睛檢測/跟蹤模塊312可包括通常良好定義的并且可操作以至少在一定程度上檢測和識別圖像中用戶的眼睛運動和/或眼睛凝視或焦點的定制、專有、已知和/或以后開發的眼睛跟蹤代碼(或指令集)。類似于面部姿勢模塊308,眼睛檢測/跟蹤模塊312可配置成相對于裝置102的顯示器108建立用戶眼睛對準的方向。眼睛檢測/跟蹤模塊312可還配置成確立用戶的眨眼。
[0040]如圖所示,眼睛檢測/跟蹤模塊312可包括配置成確定用戶眼睛(單個和/或兩個)是睜開還是閉上和用戶眼睛相對于顯示器108的運動的眼睛分類模塊314。具體而言,眼睛分類模塊314配置成接收一個或更多個規范化圖像(由規范化模塊302規范化的圖像)。規范化圖像可包括但不限于用于對齊眼睛的旋轉(如果眼睛的坐標已知),圖像的裁切,具體而言參照眼角位置的眼睛的裁切,縮放圖像以使眼睛之間的距離恒定,直方圖均衡化圖像以平滑用于非屏蔽像素的灰度值的分布和/或規范化圖像,以便非屏蔽像素具有均值O和單位標準偏差。
[0041]在接收一個或更多個規范化圖像時,眼睛分類模塊314可配置成相對于顯示器108單獨識別眼睛睜開/閉上和/或眼睛運動(例如,向左/向右看,向上/向下看,往對角看等),并且因此在活動視頻通信和/或交互期間實時或近實時確定用戶眼睛的狀態。眼睛分類模塊314可包括通常良好定義的并且可操作以至少在一定程度上檢測和識別圖像中用戶的眼睛運動和/或眼瞼運動的定制、專有、已知和/或以后開發的眼睛跟蹤代碼(或指令集)。在一個實施例中,眼睛分類模塊314可使用基于統計的分析以便識別用戶眼睛的狀態(睜開/閉上,運動等),包括但不限于線性判別分析(LDA)、人工神經網絡(ANN)和/或支持向量機(SVM)。在分析期間,眼睛分類模塊314可還利用眼睛狀態數據庫,該數據庫可包括具有對應眼睛特征分類的多個樣本眼睛特征。
[0042]如前面所述,化身動畫可基于感測的面部動作(例如,用戶的面部特點206的更改,包括眼睛運動和/或眼瞼運動)。化身的面部上對應特征點可跟隨或模仿現實人臉的運動,這稱為“表情克隆”或“行為驅動的面部動畫”。相應地,可通過任何已知方法在活動視頻通信和/或交互期間在化身模型中以動畫表現眼睛睜開/閉上和眼睛運動。
[0043]例如,在接收來自裝置102的化身選擇和化身參數時,遠程裝置112的化身控制模塊可配置成基于面部特點206,控制(例如,以動畫表現)化身,包括用戶的眼睛運動和/或眼瞼運動。這可包括規范化和重新映射用戶的面部到化身的面部,復制面部特點206的任何更改,并且驅動化身執行相同面部特點和/或表情更改。對于基于面部特征的動畫方法,2D化身動畫可例如通過圖像扭曲(image warping)或圖像漸變(image morphing)進行,而3D化身動畫可通過自由形式變形(FFD)或者通過利用在頭部的3D模型中定義的動畫結構進行。Oddcast是可用于2D化身動畫的軟件資源的示例,而FaceGen是可用于3D化身生成和動畫的軟件資源的示例。
[0044]圖4示出根據至少一個實施例的示例系統實現。裝置102’配置成經WiFi連接400(例如,工作中)以無線方式進行通信,服務器124’配置成經因特網402協商在裝置102’與112’之間的連接,以及設備112’配置成經另一 WiFi連接404 (例如,在家中)以無線方式進行通信。在一個實施例中,在設備102’中激活裝置到裝置基于化身的視頻呼叫應用。在化身選擇后,應用可允許選擇至少一個遠程裝置(例如,裝置112’)。然后,應用可促使裝置102’發起與裝置112’的通信。通過裝置102’經企業接入點(AP) 406傳送連接建立請求到裝置112’,可發起通信。企業AP 406可以是在商業環境中可使用的AP,并且因此可比家庭AP 414支持更高數據吞吐量和更多并發的無線客戶端。企業AP 406可接收來自裝置102’的無線信號,并且可繼續經網關408通過各種商業網絡傳送連接建立請求。然后,連接建立請求可通過防火墻410,防火墻410可配置成控制流入和流出WiFi網絡400的信息。
[0045]然后,可由服務器124’處理裝置102’的連接建立請求。服務器124’可配置用于注冊IP地址,對目的地地址和NAT遍歷進行鑒權以便可將連接建立請求引導到因特網402上正確的目的地。例如,服務器124’可從收到的來自裝置102’的連接建立請求中的信息解析預期目的地(例如,遠程裝置112’),并且可相應地將信號路由通過正確的NAT、端口并且到該目的地IP地址。取決于網絡配置,這些操作可只在連接建立期間必須執行。
[0046]在一些情況下,在視頻呼叫期間可重復操作以便提供通知到NAT以保持連接活著。在連接已建立后,媒體和信號路徑412可將視頻(例如,化身選擇和/或化身參數)和音頻信息引導運送到家庭AP 414。裝置112’然后可接收連接建立請求,并且可配置成確定是否接受請求。確定是否接受請求例如可包括向裝置112’的用戶呈現視覺敘述,詢問關于是否接受來自裝置102’的連接請求。如果裝置112’的用戶接受連接(例如,接受視頻呼叫),則可建立連接。照相機104’和114’然后可配置成開始分別捕捉裝置102’和112’的相應用戶的圖像以便用于以動畫表現每個用戶選擇的化身。然后,麥克風106’和116’可配置成開始記錄來自每個用戶的音頻。在裝置102’與112’之間的信息交換開始時,顯示器108’和118’可顯示并且以動畫表現對應于裝置102’和112’的用戶的化身。
[0047]圖5是根據至少一個實施例的示例操作的流程圖。在操作502中,可在裝置中激活應用(例如,基于化身的話音呼叫應用)。應用的激活之后可以是化身的選擇。化身的選擇可包括由應用呈現的接口,接口允許用戶選擇預定義的化身。在化身選擇后,可在操作504中配置通信。通信配置包括用于參與視頻呼叫的至少一個遠程裝置或虛擬空間的標識。例如,用戶可從應用內存儲的,與裝置中另一系統關聯存儲的(例如,智能電話、蜂窩電話中的聯系人列表)、諸如在因特網上遠程存儲(例如,在如Facebook、Linkedln、Yahoo、Google+、MSN等社交媒體網站中)的遠程用戶/裝置的列表中選擇。備選地,用戶可選擇在如SecondLife的虛擬空間上網。
[0048]在操作506中,可在裝置與至少一個遠程裝置或虛擬空間之間發起通信。例如,可將連接建立請求傳送到遠程裝置或虛擬空間。為了本文的解釋,假設遠程裝置或虛擬空間接受連接建立請求。然后,在操作508中,裝置中的照相機開始捕捉圖像。圖像可以是靜止圖像或直播視頻(例如,按順序捕捉的多個圖像)。在操作510中,圖像分析可從圖像中面部/頭部的檢測/跟蹤開始而發生。然后,可分析檢測到的面部以便檢測面部特點(例如,面部標志物、面部表情等)。在操作512中,將檢測到的面部/頭部位置和/或面部特點轉換成化身參數。化身參數用于在遠程裝置上或者在虛擬空間中以動畫表現選擇的化身。在操作514中,可傳送化身選擇或化身參數至少之一。
[0049]在操作516中,可顯示并且以動畫表現化身。在裝置到裝置通信的實例(例如,系統100)中,可從遠程裝置接收遠程化身選擇或遠程化身參數至少之一。然后,對應于遠程用戶的化身可基于收到的遠程化身選擇顯示,并且可基于收到的遠程化身參數以動畫表現。在虛擬位置交互的實例(例如,系統126)中,可接收允許裝置顯示對應于裝置用戶的化身看到的內容的信息。然后,在操作518中可確定當前通信是否完成。如果在操作518中確定通信未完成,則操作508-516可重復以便繼續基于用戶的面部的分析、在遠程設備上顯示并且以動畫表現化身。否則,在操作520中,可終止通信。如果不要進行另外的視頻呼叫,則也可終止視頻呼叫應用。
[0050]雖然圖5示出根據一實施例的各種操作,但要理解的是,對于其它實施例,圖5所示所有操作并非是必需的。實際上,本文中完全考慮了在本公開內容的其它實施例中,圖5所示操作和/或本文中描述的其它操作可采用附圖中的任一個中未明確示出的方式組合,但仍與本公開內容完全一致。因此,指向在一個圖形中未確切示出的特征和/或操作的權利要求被認為是在本公開內容的范圍和內容內。
[0051]與本公開內容一致的系統提供在活動通信期間用戶眼睛的檢測和/或跟蹤,包括用戶眼睛的特點的檢測,包括但不限于用戶眼睛的眼球運動、凝視方向和/或焦點、眨眼等。系統使用基于統計的方案確定用戶眼睛的狀態(例如,睜開/閉合的眼睛和/或眼睛凝視的方向)。系統還配置成至少部分基于在活動通信和交互期間實時或近實時檢測到的用戶眼睛的特點來提供化身動畫。用戶眼睛的動畫可增強在用戶之間的交互,這是因為人的眼睛和包括運動與表情的與它們相關聯的特點可在活動通信期間傳達豐富的信息,如用戶的興趣、情緒等。
[0052]與本公開內容一致的系統提供了優點。例如,基于統計的方法的使用允許通過增大樣本收集和分類器重新培訓來改進眼睛分析和分類的執行。另外,與例如模板匹配方法和/或基于幾何形狀的方法的眼睛分析的其它已知方法相比,與本公開內容一致的系統通常在使用前不要求校準,系統也不要求特殊硬件,如紅外照明或近景照相機。另外,與本公開內容一致的系統不要求新用戶進行學習過程。
[0053]各種特征、方面和實施例已在本文中描述。如本領域技術人員將理解的,特征、方面和實施例易于相互組合及變化和修改。因此,本公開內容應視為涵蓋此類組合、變化和修改。因此,本發明的廣度和范圍不應受任何上述示范實施例所限制,而是只應根據隨附的權利要求及其等同物定義。
[0054]在本文中任何實施例中使用時,術語“模塊”可指配置成執行任何上面提及的操作的軟件、固件和/或電路。軟件可實施為記錄在非暫時性計算機可讀存儲媒體上的軟件包、代碼、指令、指令集和/或數據。固件可實施為在存儲器裝置中硬編碼(例如,非易失性)的代碼、指令或指令集和/或數據。“電路”在本文任何實施例中使用時可例如單獨或以任何組合包括硬連線電路、諸如包括一個或更多個單獨指令處理核的計算機處理器等可編程電路、狀態機電路和/或存儲可編程電路執行的指令的固件。模塊可共同或單獨實施為形成更大系統的一部分的電路,例如,集成電路(1C)、片上系統(SOC)、臺式計算機、膝上型計算機、平板計算機、服務器、智能電話等。
[0055]本文中所述任何操作可在包括一個或多個存儲媒體的系統中實現,存儲媒體上單獨或以組合存儲有在由一個或多個處理器執行時執行方法的指令。此處,處理器例如可包括服務器CPU、運動裝置CPU和/或其它可編程電路。因此,預期本文中所述操作可跨諸如在不止一個不同物理位置的處理結構的多個物理裝置分布。存儲媒體可包括任何類型的有形媒體,例如任何類型的磁盤,包括硬盤、軟盤、光盤、壓縮盤只讀存儲器(CD-ROM)、可重寫壓縮盤(⑶-RW)及磁光盤、半導體裝置諸如只讀存儲器(ROM)、諸如動態和靜態RAM的隨機存取存儲器(RAM)、可擦除編程只讀存儲器(EPROM)、電擦除可編程只讀存儲器(EEEPR0M)、閃存、固態磁盤(SSD)、磁卡或光卡或適用于存儲電子指令的任意類型的媒體。其它實施例可實現為由可編程控制裝置執行的軟件模塊。存儲媒體可以是非暫時性的。
[0056]本文中已采用的術語和表述用作描述的語言而不是限制,并且在此類術語和表述中,無意排除所示和所述的特征(或其部分)的任何等效物,以及可認識到各種修改在權利要求的范圍內是可能的。相應地,權利要求旨在包括所有此類等效物。各種特征、方面和實施例已在本文中描述。如本領域技術人員將理解的,特征、方面和實施例易于相互組合及變化和修改。因此,本公開內容應視為涵蓋此類組合、變化和修改。
[0057]如本文中所述,各種實施例可使用硬件元素、軟件元素或其任何組合實現。硬件元素的示例可包括處理器、微處理器、電路、電路元素(例如,晶體管、電阻器、電容器、電感器等等)、集成電路、專用集成電路(ASIC)、可編程邏輯器件(PLD),、數字信號處理器(DSP)、現場可編程門陣列(FPGA)、邏輯門、寄存器、半導體裝置、芯片、微芯片、芯片集等等。
[0058]此說明書通篇對“一個實施例”或“一實施例”的引用指結合該實施例描述的特定特征、結構或特性包括在至少一個實施例中。因此,在此說明書通篇各個位置出現的“在一個實施例中”或“在一實施例中”短語不一定全部指相同的實施例。此外,特定的特征、結構或特性可在一個或多個實施例中以任何適合的方式組合。
[0059]根據一方面,提供了一種用于在第一用戶裝置與遠程用戶裝置之間的交互式化身通信的系統。系統包括配置成捕捉圖像的相機、配置成發起和建立通信,并且在所述第一與所述第二用戶裝置之間傳送和接收信息的通信模塊。系統還包括一個或更多個存儲媒體,存儲媒體上單獨或以組合存儲有在由一個或更多個處理器執行時,產生一個或更多個操作的指令。操作包括選擇化身;發起通信;捕捉圖像;檢測圖像中的面部;以及從面部確定面部特點,面部特點包括眼睛運動和眼瞼運動至少之一;將面部特點轉換成化身參數;傳送化身選擇和化身參數至少之一。
[0060]另一示例系統包括前面所述組件,并且從面部確定面部特點包括確定面部中的面部表情。
[0061]另一示例系統包括前面所述組件,并且化身選擇和化身參數用于在遠程裝置上生成化身,化身基于面部特點。
[0062]另一示例系統包括前面所述組件,并且化身選擇和化身參數用于在虛擬空間中生成化身,化身基于面部特點。
[0063]另一示例系統包括前面所述組件和指令,指令在由一個或更多個處理器執行時產生以下另外的接收遠程化身選擇或遠程化身參數至少之一的操作。
[0064]另一示例系統包括前面所述組件,并且還包括顯示器、指令,指令在由一個或更多個處理器執行時產生以下另外的基于遠程化身選擇顯示化身的操作。
[0065]另一示例系統包括前面所述組件和指令,指令在由一個或更多個處理器執行時產生以下另外的基于遠程化身參數以動畫表現顯示的化身的操作。
[0066]根據一方面,提供了一種用于在第一用戶裝置與遠程用戶裝置之間交互式化身通信的設備。設備包括配置成在第一用戶裝置與遠程用戶裝置之間發起并建立通信,并且在第一用戶裝置與遠程用戶裝置之間傳送和接收信息的通信模塊。設備還包括配置成允許用戶選擇化身以便在通信期間使用的化身選擇模塊。設備還包括配置成檢測用戶的圖像中的面部區域,并且檢測和識別面部的一個或更多個面部特點的面部檢測模塊。面部特點包括用戶的眼睛運動和眼瞼運動。設備還包括配置成將面部特點轉換成化身參數的化身控制模塊。通信模塊配置成傳送化身選擇和化身參數至少之一。
[0067]另一示例設備包括前面所述組件,并且還包括配置成檢測和識別相對于顯示器用戶的眼睛運動和用戶的眼瞼運動至少之一的眼睛檢測/跟蹤模塊。
[0068]另一示例設備包括前面所述組件,并且眼睛檢測/跟蹤模塊包括配置成確定用戶眼睛的凝視方向和用戶眼睛眨眼至少之一的眼睛分類模塊。
[0069]另一示例設備包括前面所述組件,并且化身選擇和化身參數用于在遠程裝置上生成化身,化身基于面部特點。
[0070]另一示例設備包括前面所述組件,并且通信模塊配置成接收遠程化身選擇和遠程化身參數至少之一。
[0071]另一示例設備包括前面所述組件,并且還包括配置成基于遠程化身選擇來顯示化身的顯不器。
[0072]另一示例設備包括前面所述組件,并且化身控制模塊配置成基于遠程化身參數以動畫表現顯示的化身。
[0073]根據另一方面,提供了一種用于交互式化身通信的方法。方法包括選擇化身;發起通信;捕捉圖像;檢測圖像中的面部;以及從面部確定面部特點,面部特點包括眼睛運動和眼瞼運動至少之一;將面部特點轉換成化身參數;傳送化身選擇和化身參數至少之一。
[0074]另一示例方法包括前面所述操作,并且從面部確定面部特點包括確定面部中的面部表情。
[0075]另一示例方法包括前面所述操作,并且化身選擇和化身參數用于在遠程裝置上生成化身,化身基于面部特點。
[0076]另一示例方法包括前面所述操作,并且化身選擇和化身參數用于在虛擬空間中生成化身,化身基于面部特點。
[0077]另一示例方法包括前面所述操作,并且還包括接收遠程化身選擇或遠程化身參數至少之一。
[0078]另一示例方法包括前面所述操作,并且還包括基于遠程化身選擇在顯示器上顯示化身。
[0079]另一示例方法包括前面所述操作,并且還包括基于遠程化身參數以動畫表現顯示的化身。
[0080]根據另一方面,提供了至少一種上面存儲有指令的計算機可訪問媒體。在由一個或更多個處理器執行時,指令可促使計算機系統執行用于交互式化身通信的操作。操作包括選擇化身;發起通信;捕捉圖像;檢測圖像中的面部;以及從面部確定面部特點,面部特點包括眼睛運動和眼瞼運動至少之一;將面部特點轉換成化身參數;傳送化身選擇和化身參數至少之一。
[0081]另一示例計算機可訪問媒體包括前面所述操作,并且從面部確定面部特點包括確定面部中的面部表情。[0082]另一示例計算機可訪問媒體包括前面所述操作,并且化身選擇和化身參數用于在遠程裝置上生成化身,化身基于面部特點。
[0083]另一示例計算機可訪問媒體包括前面所述操作,并且化身選擇和化身參數用于在虛擬空間中生成化身,化身基于面部特點。
[0084]另一示例計算機可訪問媒體包括前面所述操作,并且還包括接收遠程化身選擇或遠程化身參數至少之一。
[0085]另一示例計算機可訪問媒體包括前面所述操作,并且還包括基于遠程化身選擇在顯示器上顯示化身。
[0086]另一示例計算機可訪問媒體包括前面所述操作,并且還包括基于遠程化身參數以動畫表現顯示的化身。
[0087]本文中已采用的術語和表述用作描述而不是限制的語言,并且在此類術語和表述的使用中,無意排除所示和所述的特征(或其部分)的任何等效物,以及認識到各種修改在權利要求的范圍內是可能的。相應地,權利要求旨在包括所有此類等效物。
【權利要求】
1.一種用于在第一用戶裝置與遠程用戶裝置之間的交互式化身通信的系統,所述系統包括: 照相機,配置成捕捉圖像; 通信模塊,配置成在所述第一用戶裝置與所述遠程用戶裝置之間發起并建立通信,并且在所述第一用戶裝置與所述遠程用戶裝置之間傳送和接收信息;以及 一個或更多個存儲媒體,所述存儲媒體上單獨或以組合存儲指令,所述指令在由一個或更多個處理器執行時導致以下操作,包括: 選擇化身; 發起通信; 捕捉圖像; 檢測所述圖像中的面部; 從所述面部確定面部特點,所述面部特點包括眼睛運動和眼瞼運動至少之一; 將所述面部特點轉換成化身參數;以及 傳送所述化身選擇和化身參數至少之一。
2.如權利要求1所述的系統,其中從所述面部確定面部特點包括確定所述面部中的面部表情。
3.如權利要求1所述的系統,其中所述化身選擇和化身參數用于在遠程裝置上生成化身,所述化身基于所述面部特點。
4.如權利要求1所述的系統,其中所述化身選擇和化身參數用于在虛擬空間中生成化身,所述化身基于所述面部特點。
5.如權利要求1所述的系統,其中所述指令在由一個或更多個處理器執行時導致以下另外的操作: 接收遠程化身選擇和遠程化身參數至少之一。
6.如權利要求5所述的系統,還包括顯示器,其中所述指令在由一個或更多個處理器執行時導致以下另外的操作: 基于所述遠程化身選擇顯示化身。
7.如權利要求6所述的系統,其中所述指令在由一個或更多個處理器執行時導致以下另外的操作: 基于所述遠程化身選擇以動畫表現所述顯示的化身。
8.一種用于在第一用戶裝置與遠程用戶裝置之間的交互式化身通信的設備,所述設備包括: 通信模塊,配置成在所述第一用戶裝置與所述遠程用戶裝置之間發起和建立通信; 化身選擇模塊,配置成允許用戶選擇化身以便在所述通信期間使用; 面部檢測模塊,配置成檢測所述用戶的圖像中的面部區域,并且檢測和識別所述面部的一個或更多個面部特點,所述面部特點包括所述用戶的眼睛運動和眼瞼運動至少之一;以及 化身控制模塊,配置成將所述面部特點轉換成化身參數; 其中所述通信模塊配置成傳送所述化身選擇和化身參數至少之一。
9.如權利要求8所述的設備,還包括配置成檢測和識別相對于顯示器所述用戶的眼睛運動和所述用戶的眼瞼運動至少之一的眼睛檢測/跟蹤模塊。
10.如權利要求9所述的設備,其中所述眼睛檢測/跟蹤模塊包括配置成確定所述用戶眼睛的凝視方向和所述用戶眼睛的眨眼至少之一的眼分類模塊。
11.如權利要求8所述的設備,其中所述化身選擇和化身參數用于在所述遠程裝置上生成化身,所述化身基于所述面部特點。
12.如權利要求8所述的設備,其中所述通信模塊配置成接收遠程化身選擇和遠程化身參數至少之一。
13.如權利要求12所述的設備,還包括配置成基于所述遠程化身選擇來顯示化身的顯示器。
14.如權利要求13所述的設備,其中所述化身控制模塊配置成基于所述遠程化身參數以動畫表現所述顯示的化身。
15.一種用于交互式化身通信的方法,所述方法包括: 選擇化身; 發起通信; 捕捉圖像; 檢測所述圖像中的面部; 從所述面部確定面部特點,所述面部特點包括眼睛運動和眼瞼運動至少之一; 將所述面部特點轉換成化身參數;以及 傳送所述化身選擇或化身參數至少之一。
16.如權利要求15所述的方法,其中從所述面部確定面部特點包括確定所述面部中的面部表情。
17.如權利要求15所述的方法,其中所述化身選擇和化身參數用于在遠程裝置上生成化身,所述化身基于所述面部特點。
18.如權利要求15所述的方法,其中所述化身選擇和化身參數用于在虛擬空間中生成化身,所述化身基于所述面部特點。
19.如權利要求15所述的方法,還包括接收遠程化身選擇和遠程化身參數至少之一。
20.如權利要求19所述的方法,還包括基于所述遠程化身選擇來顯示化身。
21.如權利要求20所述的方法,還包括基于所述遠程化身參數以動畫表現所述顯示的化身。
22.至少一種存儲指令的計算機可接入媒體,所述指令在由機器執行時,促使所述機器執行如權利要求15到21任一項所述的方法。
【文檔編號】H04N21/44GK104011738SQ201280064807
【公開日】2014年8月27日 申請日期:2012年4月9日 優先權日:2011年12月29日
【發明者】杜楊洲, 李文龍, X.童, W.胡, Y.張 申請人:英特爾公司