亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于化身的視頻編碼的制作方法_4

文檔序號:9439014閱讀:來源:國知局
tem and Method for Avatar Creation and Synchronization")中 所述的技術(shù)來生成化身。更詳細來說,由從視頻所提取的正面靜止幀來生成化身能夠在裝 置102 (例如由化身生成模塊502)本地執(zhí)行和/或(例如通過向網(wǎng)絡(luò)122上傳正面圖像、 關(guān)鍵點404和邊緣406,并且使用化身生成軟件或由此可提供的服務(wù))遠程執(zhí)行。另外,從 用戶臉部所生成的化身可例如:(1)在裝置上本地(例如在化身選擇模塊208中)所包含 的化身數(shù)據(jù)庫500中存儲;和/或(2)遠程存儲(例如在網(wǎng)絡(luò)122中或者由裝置102可訪 問的其他遠程數(shù)據(jù)庫中)。
[0069] 該過程可如在框30繼續(xù)選擇化身供重構(gòu)視頻中使用??蓮睦纾?)在裝置上本地 (例如在化身選擇模塊208中)所包含的化身數(shù)據(jù)庫500中和/或(2)遠程(例如在網(wǎng)絡(luò) 122中或者由裝置102可訪問的其他遠程數(shù)據(jù)庫中)可用的一組一個或多個化身中進行選 擇。在一些情況下,能夠選擇從用戶臉部的圖像(例如,在框20可選地提取的視頻幀)已經(jīng) 生成(例如得出)的化身,以供視頻重構(gòu)中使用。但是,在一些其他示例中,能夠選擇尚未 從用戶臉部的圖像直接得出的化身。也就是說,其他二維(2-D)和三維(3-D)化身(例如 動畫電影人物、卡通形象、歷史人物等)能夠用于在重構(gòu)視頻中表示用戶。在任何情況下, 所選化身能夠用來表示所產(chǎn)生的基于化身的視頻中的用戶。
[0070] 雖然化身選擇通??稍谝曨l記錄完成之后進行,但是本公開并不局限于此,因為 在更一般意義上,化身選擇能夠在任何時間(例如在如在框10記錄視頻之前、期間和/或 之后)執(zhí)行。另外,所選化身可例如在通信會話過程期間的任何時間來改變(例如使得在 給定會話期間可使用多個化身)。在一些情況下,選擇能夠由用戶進行,但是這不作要求, 因為在一些其他情況下,選擇能夠自動地或者在沒有用戶輸入的情況下進行。在一些情況 下,可向用戶呈現(xiàn)關(guān)于化身的選擇的提示?;磉x擇提示的呈現(xiàn)能夠例如每次記錄視頻時 發(fā)生(例如以便允許使用多個或者變化的化身)或者僅發(fā)生一次(例如在記錄第一視頻之 后),以便允許用戶指定缺省化身,其將被自動選擇,而無需來自用戶的進一步輸入(例如 在給定通信會話、時間周期等期間)。在一些情況下,用戶可指定其缺省化身,并且選擇放棄 (暫時或永久)在將來被提示切換化身。根據(jù)本公開,許多變更將會是顯而易見的。
[0071] 該過程可如在框40繼續(xù)采用所選化身來重構(gòu)所記錄視頻。圖6示出按照本公開 的一實施例、使用化身來重構(gòu)視頻的示例過程。如能夠看到,該過程能夠如在框42開始于 將在框10所記錄的視頻(以上所述)分解為:(1)視頻幀流;以及(2)音頻流。如將會理 解,可存在其中音頻流無需存在的情況(例如,如果用戶記錄沒有伴隨聲音的臉部反應(yīng)或 其他臉部運動的視頻),并且因此在這類情況下,可以僅提供視頻幀流。
[0072] 該過程能夠如在框44繼續(xù)提取視頻幀流的各視頻幀中檢測的臉部表情,并且通 過對其映射臉部表情來動畫制作所選化身。在一些情況下并且按照一實施例,臉部運動捕 獲和化身表情傳遞/動畫制作能夠例如使用PCT申請No. PCT/CN2011/072603 (2011年4月 11日提交,并且標題為"Avatar Facial Expression Techniques")中所述的技術(shù)來執(zhí)行。 例如,考慮圖7,其示出按照本公開的一實施例、用于提取所檢測臉部表情并且通過對其映 射臉部表情來動畫制作所選化身的示例過程。如能夠看到,該過程能夠如在框44a開始于 識別用戶的臉部特征點(例如特征點404)并且跟蹤其移動。這能夠例如使用臉部檢測模 塊204 (例如通過其臉部檢測/跟蹤模塊300)來執(zhí)行,如先前所述。在一些這類情況下,臉 部檢測模塊204能夠檢測所接收成像數(shù)據(jù)中的臉部,以及確定那個臉部的臉部特征點(例 如特征點404)。提供給臉部檢測模塊204的成像數(shù)據(jù)能夠來自成像輸入裝置104,例如采 取圖像或幀(例如視頻幀)序列的形式。在一些情況下,提取臉部特征的預(yù)處理能夠例如 離線執(zhí)行。
[0073] 該過程能夠如在框44b繼續(xù)將所檢測/跟蹤臉部特征點的移動分解為至少兩個類 別:(1)臉部表情移動;以及(2)頭部剛性移動。前一類別(臉部表情移動)可包括例如 因臉部表情引起的非剛性變換。后一類別(頭部剛性移動)可包括因頭部姿態(tài)引起的剛性 移動(例如平移、旋轉(zhuǎn)和縮放因子)。這還能夠例如使用臉部檢測模塊204來執(zhí)行,如先前 所述。
[0074] 在一些情況下,臉部表情移動可使用多個臉部特征數(shù)據(jù)來表示,例如:(1)上唇與 下唇之間的距離;(2)兩個嘴角之間的距離;(3)上唇與鼻尖之間的距離;(4)下唇與鼻 尖之間的距離;(5)鼻翼與鼻尖之間的距離;(6)上眼瞼與下眼瞼之間的距離;(7)眉尖 與鼻尖之間的距離;(8)兩個眉尖之間的距離;和/或(9)眉尖與眉中之間的距離。但是, 本公開并不局限于此,因為按照一些其他實施例,能夠使用任何數(shù)量的多個臉部特征。
[0075] 隨后,該過程能夠如在框44c繼續(xù)從所跟蹤臉部表情移動來確定用戶的臉部表 情,并且檢索相似表情序列以供動畫制作所選化身中使用。為此,所跟蹤臉部表情移動能夠 例如提供給運動捕獲數(shù)據(jù)庫模塊506 (如在圖4中)。按照一實施例,運動捕獲數(shù)據(jù)庫模塊 506可包括或者以其他方式有權(quán)訪問記錄/存儲了不同人臉表情和移動的數(shù)據(jù)的信息存儲 介質(zhì)(例如存儲器220或者其他適當(dāng)存儲裝置)。在一些情況下,運動捕獲數(shù)據(jù)庫模塊506 能夠包含在裝置102中(例如化身控制模塊210中)。但是,本公開并不局限于此,因為在 一些其他情況下,運動捕獲數(shù)據(jù)庫模塊506可以是由裝置102使用有線和/或無線通信遠 程可訪問的。
[0076] 可記錄并且存儲在運動捕獲數(shù)據(jù)庫模塊506中的一些示例表情和移動可包括但 不限于歡笑、開心、憤怒、驚訝、悲傷、害怕、厭惡、談話、吃等。這些和其他臉部表情和移動能 夠例如使用(一個或多個)運動捕獲裝置(例如,從Vicon Motion Systems (Oxford,UK) 可得到的運動捕獲產(chǎn)品)被捕獲并且輸入運動捕獲數(shù)據(jù)庫506中。例如,考慮圖8,其示出 按照本公開的一實施例、附有多個運動捕獲標記的人臉。如根據(jù)本公開將會理解,可利用任 何數(shù)量的標記,以及在一些情況下,可期望利用在大約30-100個標記的范圍中的一些運動 捕獲標記。當(dāng)人執(zhí)行不同的表情/移動時,關(guān)聯(lián)運動捕獲裝置能夠捕獲每幀中的各標記的 三維(3-D)坐標,并且可對每個這種表情/移動來記錄這些坐標。在一些情況下,臉部表情 的運動捕獲能夠例如在離線過程中執(zhí)行。
[0077] 在任何情況下,在記錄運動捕獲數(shù)據(jù)庫506之后,數(shù)據(jù)庫生成模塊508 (如在圖4 中)可生成與人的不同臉部表情相關(guān)的數(shù)據(jù)。也就是說,數(shù)據(jù)庫生成模塊508能夠通過提 取數(shù)據(jù)庫的每幀的臉部特征,來預(yù)先處理數(shù)據(jù)庫。更具體來說,對于數(shù)據(jù)庫中的每幀,數(shù)據(jù) 庫生成模塊508可計算多個臉部特征(如先前所述)。在一些實施例中,數(shù)據(jù)庫生成模塊 508能夠例如在離線過程中生成這個數(shù)據(jù)。數(shù)據(jù)庫生成模塊508可將這些特征存儲在運動 捕獲數(shù)據(jù)庫模塊506中供以后檢索。
[0078] 基于所檢測臉部特征及其移動,與用戶的所檢測臉部表情相似(例如相同或者基 本上相似)的表情序列能夠例如從運動捕獲數(shù)據(jù)庫506中檢索。表示所檢測臉部表情變化 的所檢索表情序列又能夠復(fù)制到化身,以在執(zhí)行相同臉部表情變化中驅(qū)動化身,如在框44d 中那樣?;砜刂颇K210能夠用來基于從運動捕獲數(shù)據(jù)庫模塊506所檢索的表情序列來 控制化身。
[0079] 在一些情況下,這可涉及歸一化人臉并且將其重新映射到化身,將臉部表情變化 復(fù)制到化身,并且然后驅(qū)動化身以執(zhí)行與所檢索特征中相同的臉部表情變化。另外,在一些 情況下,頭部剛性移動能夠在驅(qū)動化身中直接使用。如根據(jù)本公開并且按照一實施例將會 理解,包括用戶臉部特性206 (例如眼睛、鼻子、嘴巴等)的一個或多個的移動和/或變化的 任何所檢測臉部/頭部移動能夠轉(zhuǎn)換為可用于動畫制作化身網(wǎng)格(例如,以上參照圖3C的 示例化身網(wǎng)格所述)的參數(shù)。
[0080] 回到圖6,該過程能夠如在框46繼續(xù)顯示非屏幕幀緩沖器中的動畫化身,并且對 視頻幀流的各視頻幀提取其屏幕截圖圖像?;硪曨l幀能夠使用任何適當(dāng)引擎來創(chuàng)建,如 根據(jù)本公開將會顯而易見。例如,在一些實施例中,化身視頻幀創(chuàng)建能夠例如使用例如下列 項進行:(1) OpenGL應(yīng)用編程接口(API)或者其移動版本、即嵌入式系統(tǒng)的OpenGUOpenGL ES),以渲染雙幀緩沖器其中之一(在圖形處理單元存在時通過硬件或者在GPU不可用但是 安裝了 OpenGL驅(qū)動程序時通過軟件)上的動畫化身;以及(2) glReadPixels (例如,其從 幀緩沖器中讀取像素塊),從幀緩沖器中讀取屏幕截圖圖像。在一些情況下,當(dāng)幀緩沖器能 夠編程為提供屏幕上顯示(例如在裝置102上或者在以其他方式與裝置102關(guān)聯(lián)的顯示器 上時,化身視頻幀創(chuàng)建能夠例如在后端服務(wù)中處理。圖9A-9C示出按照本公開的一實施例 的各種示例化身表情的若干示例屏幕截圖圖像。
[0081] 如在圖6中能夠看到,該過程能夠如在框48繼續(xù)將所提取化身屏幕截圖圖像和音 頻流(若存在的話)編碼為新視頻。在音頻數(shù)據(jù)存在的情況下,所產(chǎn)生視頻能夠包括伴隨 有音頻通信(例如用戶的語音)的動畫化身。在音頻數(shù)據(jù)不存在的情況下,所產(chǎn)生視頻可 以僅包括動畫化身。在任何情況下并且按照一些實施例,所產(chǎn)生的基于化身的動畫視頻能 夠準確地模仿或者模擬由用戶在以上在框10的上下文中所述的原始視頻記錄期間所產(chǎn)生 的臉部表情和頭部移動。
[0082] 根據(jù)本公開,關(guān)于這種方法的許多變更將會是顯而易見的。如將會理解并且按照 一實施例,圖 5、圖 6 和圖 7 的功能框(例如框 10、20、30、40、42、44、46、48、44a、44b、44c、 44d)能夠例如實現(xiàn)為模塊或者子模塊,其在由一個或多個處理器運行或者以其他方式操作 時使如本文所述的關(guān)聯(lián)功能性被執(zhí)行。模塊/子模塊可例如通過軟件(例如存儲于一個或 多個計算機可讀介質(zhì)的可執(zhí)行指令)、固件(例如具有請求來自用戶的輸入并且提供對用 戶請求的響應(yīng)的I/O能力的微控制器或其他裝置的嵌入式例程)和/或硬件(例如門級邏 輯、現(xiàn)場可編程門陣列、專用硅等)來實現(xiàn)。
[0083] 圖10是示出按照本公開的一實施例、服務(wù)器上的示例視頻渲染流程的框圖。如從 圖中能夠看到,服務(wù)器能夠接收從客戶端所上傳的aMedia文件。此后,aMedia文件能夠例 如解復(fù)用為:(1)例如使用因特網(wǎng)低比特率編解碼器(iLBC)來編碼的音頻流;以及(2)視 頻幀流(例如化身幀)。iLBC音頻然后能夠解碼為例如脈沖代碼調(diào)制(PCM)音頻,其又能 夠例如使用FFmpeg的"libfaac"(例如免費軟件高級音頻編碼器FAAC庫)來編碼為高級 音頻編碼(AAC)方案。
[0084] 如從圖10中能夠進一步看到,化身幀能夠使用適當(dāng)軟件開發(fā)套件(SDK)來動畫制 作(如根據(jù)本公開將會是顯而易見的),并且然后例如通過OpenGU其可將圖形處理單元 (GPU)用于化身模型渲染來繪制。在一些情況下,一個視頻幀的繪制結(jié)果可以是例如GPU存 儲緩沖器中的720p(1280X720X4)RGB數(shù)據(jù)。此后,主計算機處理單元(CPU)可從GPU獲 得(例如復(fù)制)視頻幀,并且例如使用例如H. 263或H. 264/MPEG-4高級視頻編碼(AVC)(例 如,F(xiàn)Fmpeg的H. 264編解碼器的'libx264')等的編解碼器或者任何其他適當(dāng)視頻編碼器 (如根據(jù)本公開將會理解)對其進行編碼,以壓縮視頻數(shù)據(jù)。隨后,所產(chǎn)生的編碼音頻(例 如AAC編碼音頻)和視頻(例如H. 264編碼視頻)可例如使用FFmpeg來同步和復(fù)用。所 產(chǎn)生的復(fù)用H. 264幀可寫入MP4文件格式或其他預(yù)期文件格式,如根據(jù)本公開將會是顯而 易見的。
[0085] 如根據(jù)本公開將會理解,為了幫助最小化或者降低性能瓶頸,在圖10的流程的示 例上下文中,可期望例如避免對大量數(shù)據(jù)的存儲器復(fù)制。如將會進一步理解,可期望利用 GPU來例如加速H. 264編碼。在一些情況下,可期望使用計算統(tǒng)一裝置架構(gòu)(CUDA)并行編 程模型來幫助利用GPU能力。另外,在一些情況下,可期望利用用于用戶上傳-渲染情形的 異步方法,例如以幫助改進用戶體驗。根據(jù)本公開,許多變更將會是顯而易見的。
[0086] 示例系統(tǒng) 圖11示出按照一些實施例、可執(zhí)行如本文所述用于基于化身的視頻編碼的技術(shù)的示 例系統(tǒng)600。在一些實施例中,系統(tǒng)600可以是媒體系統(tǒng),但是系統(tǒng)600并不局限于這個 上下文。例如,系統(tǒng)600可結(jié)合到個人計算機(PC)、膝上型、超級膝上型計算機、平板、觸摸 板、便攜計算機、手持計算機、掌上計算機、個人數(shù)字助理(PDA)、蜂窩電話、組合蜂窩電話/ PDA、電視機、智能裝置(例如智能電話、智能平板或智能電視機)、移動因特網(wǎng)裝置(MID)、 消息傳遞裝置、數(shù)據(jù)通信裝置、機頂盒、游戲控制臺或者能夠執(zhí)行圖形渲染操作的其他這類 計算環(huán)境中。
[0087] 在一些實施例中,系統(tǒng)600包括耦合到顯示器620的平臺602。平臺602可從諸如 (一個或多個)內(nèi)容服務(wù)裝置630或者(一個或多個)內(nèi)容傳遞裝置640之類的內(nèi)容裝置 或者其他類似內(nèi)容源來接收內(nèi)容。包括一個或多個導(dǎo)航特征的導(dǎo)航控制器650可用來與例 如平臺602和/或顯示器620進行交互。下面更詳細描述這些示例組件的每個。
[0088] 在一些實施例中,平臺602可包括芯片組605、處理器610、存儲器612、存儲裝置 614、圖形子系統(tǒng)615、應(yīng)用616和/或無線電單元618的任何組合。芯片組605可提供處理 器610、存儲器612、存儲裝置614、圖形子系統(tǒng)615、應(yīng)用616和/或無線電單元618
當(dāng)前第4頁1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1