新四季網

一種人機互動系統及方法

2023-05-14 20:10:06 2

一種人機互動系統及方法
【專利摘要】本發明提供了一種人機互動系統及方法,解決了Kinect與XBOX360作業系統以外的作業系統或終端的兼容性以及因為Kinect系統和應用佔用系統資源而不利於應用的運行及更新的問題。所述人機互動系統包括體感數據和/或語音數據採集裝置、客戶端和雲伺服器,所述體感數據和/或語音數據採集裝置用於採集用戶的體感數據和/或語音數據;所述客戶端包括數據獲取模塊、數據壓縮模塊、數據傳輸模塊及內容接收模塊;所述雲伺服器包括數據接收模塊、數據解壓縮模塊、數據處理模塊、第一內容獲取模塊及第二內容發送模塊。本發明通過映射文件將肢體和語音指令轉換為雲伺服器可識別的操作指令,從而實現了Kinect與電腦、機頂盒等各種終端的融合。
【專利說明】一種人機互動系統及方法
【技術領域】
[0001]本申請涉及人機互動系統及方法,特別是涉及將體感和/或語音交互技術與雲伺服器相融合的人機互動系統及方法。
【背景技術】
[0002]隨著體感及語音交互等人機互動技術的發展,越來越多的娛樂及遊戲裝置出現在消費者面前。微軟於2005年推出了配置功能強大的遊戲機XB0X360之後,又於2010年推出了與XB0X360的體感周邊外設Kinect。
[0003]Kinect的關鍵技術在於其光編碼系統和音頻處理系統,其中,光編碼系統採用的是紅外線發射器、紅外線CMOS攝像機及RGB彩色攝像機。由紅外線發射器發出具有三維縱深的「體編碼」,這種「體編碼」叫做雷射散斑(laserspeckle),是當雷射照射到粗糙物體或穿透毛玻璃後形成的隨機衍射斑點。這些散斑具有高度的隨機性,而且會隨著距離的不同變換圖案。只要在空間中打上這樣的結構光,整個空間就都被做了標記,紅外線CMOS攝像機就用來記錄空間中的散斑。當把一個物體放進這個空間時,只要測量物體上面的散斑圖案,就可以知道該物體的位置。Kinect的音頻處理系統採用了四元線性麥克風陣列,並結合了噪音抑制、回聲消除等技術,使得對聲音的辨識度更高。
[0004]但是,由於XB0X360的作業系統是微軟自行研發的,而其相應的遊戲也是必須能夠被該作業系統所兼容的,因此用戶就不能通過肢體或語音玩其他系統(如Linux系統)上的遊戲。
[0005]此外,Kinect系統在運行時將佔據XB0X360大約10%_15%的CPU資源,業界評論家稱如此數量的CPU能耗增加將使得目前的遊戲更加不可能通過軟體更新的方式來增加Kinect 功能。

【發明內容】

[0006]為了解決上述問題,本申請提供了一種人機互動系統,包括體感數據和/或語音數據採集裝置、客戶端和雲伺服器,其中,
[0007]所述體感數據和/或語音數據採集裝置用於採集用戶的體感數據和/或語音數據;
[0008]所述客戶端包括數據獲取模塊,用於自所述體感數據和/或語音數據採集裝置獲取採集的所述用戶的體感數據和/或語音數據;數據壓縮模塊,用於壓縮所述獲取的所述用戶的體感數據和/或語音數據;數據傳輸模塊,用於將所述壓縮的所述用戶的體感數據和/或語音數據傳輸至所述雲伺服器;內容接收模塊,用於接收自所述客戶端發送的第二內容;
[0009]所述雲伺服器包括數據接收模塊,用於接收自所述數據傳輸模塊傳送的所述壓縮的所述用戶的體感數據和/或語音數據;數據解壓縮模塊,用於解壓縮所述壓縮的所述用戶的體感數據和/或語音數據;數據處理模塊,用於分析所述用戶的體感數據和/或語音數據,並將所述用戶的體感數據和/或語音數據轉換為所述雲伺服器可識別的操作指令;第一內容獲取模塊,用於根據所述操作指令獲取與所述操作指令相對應的第一內容;第二內容發送模塊,用於將第二內容發送至所述客戶端,其中,所述第二內容是所述第一內容的子內容。
[0010]優選地,所述客戶端進一步包括通知模塊、USB設備驅動模塊以及USB數據發送模塊,其中,所述通知模塊用於針對所述體感數據和/或語音數據採集裝置發送通知至所述雲伺服器;所述USB設備驅動模塊用於解析自所述雲伺服器發送的IP包;所述USB數據發送模塊用於根據對所述IP包的解析結果將相應的USB數據發送至所述雲伺服器;
[0011]優選地,所述雲伺服器進一步包括通知接收模塊,用於接收所述針對所述體感數據和/或語音數據採集裝置發送的通知;虛擬USB設備驅動模塊,用於根據所述客戶端發送的所述通知生成USB請求,將該請求封裝成IP包,並將所述IP包發送至所述客戶端;USB數據接收模塊,用於接收所述USB數據發送模塊發送的所述USB數據。
[0012]優選地,所述數據處理模塊進一步包括映射單元,用於根據預置的映射文件將所述體感數據和/或語音數據映射為所述雲伺服器可識別的操作指令。
[0013]優選地,所述第一內容獲取模塊進一步包括函數調用單元,用於根據所述操作指令調用相關聯的函數,以及根據調用結果獲取與所述操作指令相對應的第一內容。
[0014]優選地,所述客戶端包括PC機、機頂盒、電視、便攜終端、平板和投影機。
[0015]相應地,本申請亦提供了一種人機互動方法,包括:
[0016]體感數據和/或語音數據採集裝置採集用戶的體感數據和/或語音數據;
[0017]客戶端自所述體感數據和/或語音數據採集裝置獲取採集的所述用戶的體感數據和/或語音數據;壓縮所述獲取的所述用戶的體感數據和/或語音數據;將所述壓縮的所述用戶的體感數據和/或語音數據傳輸至所述雲伺服器;
[0018]雲伺服器接收所述壓縮的所述用戶的體感數據和/或語音數據;解壓縮所述壓縮的所述用戶的體感數據和/或語音數據;分析所述用戶的體感數據和/或語音數據,並將所述用戶的體感數據和/或語音數據轉換為所述雲伺服器可識別的操作指令;根據所述操作指令獲取與所述操作指令相對應的第一內容;將第二內容發送至所述客戶端,其中,所述第二內容是所述第一內容的子內容;
[0019]客戶端接收所述第二內容。
[0020]優選地,客戶端針對所述體感數據和/或語音數據採集裝置發送通知至雲伺服器;
[0021]所述雲伺服器接收所述針對所述體感數據和/或語音數據採集裝置發送的通知;根據所述客戶端發送的所述通知生成USB請求,將該請求封裝成IP包,並將所述IP包發送至所述客戶端;
[0022]所述客戶端解析自所述雲伺服器發送的IP包;根據對所述IP包的解析結果將相應的USB數據發送至所述雲伺服器。
[0023]優選地,所述將所述用戶的體感數據和/或語音數據轉換為所述雲伺服器可識別的操作指令進一步包括根據預置的映射文件將所述體感數據和/或語音數據映射為所述雲伺服器可識別的操作指令。
[0024]優選地,所述根據所述操作指令獲取與所述操作指令相對應的第一內容進一步包括根據所述操作指令調用相關聯的函數,以及根據調用結果獲取與所述操作指令相對應的
第一內容。
[0025]優選地,所述操作指令包括可被伺服器識別的按鍵指令和滑鼠指令。
[0026]與現有技術相比,本申請包括以下優點:
[0027]1.本發明通過將所述體感數據和/或語音數據映射為所述雲伺服器可識別的操作指令實現了 Kinect與PC機、機頂盒、電視、便攜終端或平板的融合,增強了 Kinect的可擴展性。
[0028]2.本發明將肢體動作或語音的識別處理轉移至雲伺服器,而Kinect僅用於肢體動作數據或語音數據的捕獲,從而大大降低了 Kinect系統在運行時對終端的系統資源的佔用,進而也降低了對終端處理性能的要求。
[0029]3.通過XB0X360接入網絡需要用戶另外付費使用微軟提供的XBOXLive,而本發明將Kinect與PC機、機頂盒、電視、便攜終端或平板結合後,用戶就可以使用其已有的網絡類型使用應用,從而降低了用戶的消費成本。
[0030]4.本發明以雲伺服器取代傳統的伺服器後,所有的應用都是在雲伺服器上運行,PC機、機頂盒、電視、便攜終端或平板只顯示虛擬的應用畫面,該虛擬的應用畫面不佔用系統資源,因此,用戶不需要為其PC機、機頂盒、電視、便攜終端或平板配置功能強大的硬體或軟體以配合應用的運行。
【專利附圖】

【附圖說明】
[0031]圖1是本發明人機互動系統實施例1的示意圖。
[0032]圖2是本發明人機互動系統實施例2的示意圖。
[0033]圖3是本發明人機互動方法實施例1的示意圖。
[0034]圖4是本發明人機互動方法實施例2的示意圖。
【具體實施方式】
[0035]為使本申請的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本申請作進一步詳細的說明。
[0036]參照圖1,示出了本申請實施例1人機互動系統的示意圖,包括體感數據和/或語音數據採集裝置100、客戶端110和雲伺服器120。
[0037]體感數據和/或語音數據採集裝置100可為具有體感信息和語音信息採集功能的裝置,例如Kinect。
[0038]客戶端110可為PC機、機頂盒、電視、便攜終端、平板、投影機以及其他具有顯示功能的裝置。
[0039]雲伺服器120是一種類似VPS伺服器的虛擬化技術,VPS是採用虛擬軟體,VZ或VM在一臺伺服器上虛擬出多個類似獨立伺服器的部分,每個部分都有雲伺服器的一個鏡像,都可以做單獨的作業系統,管理方法同伺服器一樣。
[0040]以下將分別對體感數據和/或語音數據採集裝置100、客戶端110和雲伺服器120的結構進行說明。
[0041]以Kinect為例說明體感數據和/或語音數據採集裝置100。Kinect的主要結構為三個攝像頭、內置陣列麥克風系統以及底座馬達。左右兩邊攝像頭分別為紅外線發射器和紅外線CMOS攝像機,中間的鏡頭是RGB彩色攝像機。
[0042]紅外線發射器發出雷射散斑(laser speckle),光線經過擴散分布在測量的空間內,這些散斑具有高度的隨機性,而且會隨著距離的不同變換圖案,即空間中任意兩處的散斑圖案都是不同的。只要在空間中打上這樣的光,整個空間就都被做了標記,把一個物體放進這個空間,只要看看物體上面的散斑圖案,就可以知道這個物體在什麼位置了。在這之前要把整個空間的散斑圖案都記錄下來,所以要先做一次光源的標定。標定的方法是:每隔一段距離,取一個參考平面,把參考平面上的散斑圖案記錄下來。假設Natal規定的用戶活動空間是距離電視機I米到4米的範圍,每隔IOcm取一個參考平面,那麼標定下來就保存了30幅散斑圖像。需要進行測量的時候,拍攝一副待測場景的散斑圖像,將這幅圖像和保存下來的30幅參考圖像依次做互相關運算,這樣會得到30幅相關度圖像,而空間中有物體存在的位置,在相關度圖像上就會顯示出峰值。把這些峰值一層層疊在一起,再經過一些插值,就會得到整個場景的三維形狀了。
[0043]當光射到人體之後會形成反射斑點,紅外線CMOS攝像機就用來記錄空間中的散斑,通過晶片合成出3D深度信息的圖像。
[0044]RGB彩色攝像機用於獲取彩色圖像,通過該攝像機獲得的圖像呈現出不同的顏色塊,這些顏色塊表示物體在空間的距離。識別到3D圖像深度信息後,通過軟體計算出人體主要的骨骼位置,通過精確掌握玩家身形輪廓與肢體位置來判斷玩家的姿勢動作。
[0045]內置陣列麥克風系統採用了四元線性麥克風陣列,這一陣列由4個獨立的水平分布在Kinect下方的麥克風組成。雖然每一個麥克風都捕獲相同的音頻信號,但是組成陣列可以探測到聲音的來源方向。使得能夠用來識別從某一個特定的方向傳來的聲音。麥克風陣列捕獲的音頻數據流經過複雜的音頻增強效果算法處理來移除不相關的背景噪音。所有這些複雜操作在Kinect硬體和Kinect SDK之間進行處理,這使得能夠在一個大的空間範圍內,即使人離麥克風一定的距離也能夠進行語音命令的識別。
[0046]底座馬達採用了對焦技術,底座馬達會隨著對焦物體的移動而相應地轉動。
[0047]由此,Kinect的三個攝像頭、內置陣列麥克風系統以及底座馬達相互配合共同完成了肢體動作數據及語音數據的捕捉。
[0048]客戶端110包括數據獲取模塊111、數據壓縮模塊112、數據傳輸模塊113及內容接收模塊114。其中:
[0049]數據獲取模塊111用於自所述體感數據和/或語音數據採集裝置100獲取採集的所述用戶的體感數據和/或語音數據。
[0050]所述數據獲取模塊111可以通過USB接口與體感數據和/或語音數據採集裝置100相接,所述數據獲取模塊111自體感數據和/或語音數據採集裝置100獲取到的體感數據和/或語音數據是肢體的空間位置數據和/或音頻數據流。
[0051]數據壓縮模塊112用於壓縮所述獲取的所述用戶的體感數據和/或語音數據。
[0052]客戶端110中具有數據壓縮模塊112,該模塊對體感數據和/或語音數據採集裝置100獲取的用戶的體感數據和/或語音數據進行自動壓縮。
[0053]其中,體感數據為用戶做出一段或多段動作的視頻數據。在本發明一實施例中,由體感數據和/或語音數據採集裝置100獲取的用戶的體感數據和/或語音數據為RAW格式。RAW格式圖像中的每一幀圖像為bmp格式,數據壓縮模塊112對每一幀圖像進行濾波處理或歸一化處理,將圖像由bmp格式轉換為JPG格式,也可以轉換為MPEG、MPG、AV1、MOV、ASF、WMV、NAV1、3GP、REAL VIDEO、MKV、FLV、F4V、RMVB、WebM 等格式。濾波處理可以採用常用的傅立葉變換、鄰域濾波(即輸出圖像中任何像素的值都是通過對像素周圍一定鄰域內像素的值得來的)等方法。歸一化處理是通過一系列變換,利用圖像的不變矩尋找一組參數使其能夠消除其他變換函數對圖像變換的影響,將待處理的原始圖像轉換成相應的唯一標準形式。在本發明一實施例中,歸一化處理是將bmp格式的原始圖像數據轉換成JPG格式的圖像數據。
[0054]語音數據採用線性脈衝編碼調製PCM,數據壓縮模塊112對體感數據的同步語音數據壓縮為⑶格式、WAVE (*.WAV)、AIFF、AU、MP3、MID1、WMA、RealAudio、VQF、0ggVorbis、AAC、APE等音頻格式文件。
[0055]數據傳輸模塊113,用於將所述壓縮的所述用戶的體感數據和/或語音數據傳輸至所述雲伺服器120。
[0056]數據壓縮模塊112將體感數據和/或語音數據壓縮後,由數據傳輸模塊113傳輸至雲伺服器120。其中,用戶發出的某一指令可以僅為體感數據,也可以僅為語音數據,也可以是語音數據與體感數據的結合。當用戶的指令既有語音數據,又有體感數據時,同步壓縮語音數據和體感數據,並將兩部分數據同時傳輸至雲伺服器120。
[0057]內容接收模塊114,用於接收自所述客戶端發送的第二內容。
[0058]第一內容獲取模塊124獲取的內容包括程序代碼、圖像數據等信息,第二內容發送模塊125僅將遊戲的圖像數據發送給客戶端,由客戶端的內容接收模塊114接收。
[0059]雲伺服器120包括數據接收模塊121、數據解壓縮模塊122、數據處理模塊123、第一內容獲取模塊124及第二內容發送模塊125。其中:
[0060]數據接收模塊121,用於接收自所述數據傳輸模塊傳送的所述壓縮的所述用戶的體感數據和/或語音數據。
[0061]客戶端110中的數據傳輸模塊113將用戶的體感數據和/或語音數據傳輸至雲伺服器120時,由數據接收模塊121接收該數據。
[0062]數據解壓縮模塊122,用於解壓縮所述壓縮的所述用戶的體感數據和/或語音數據。
[0063]數據解壓縮模塊122將所述壓縮的所述用戶的壓縮的體感數據和/或語音數據按照歸一化處理相反的方式轉換為原始圖像和音頻數據,完成圖像的解壓縮。
[0064]數據處理模塊123,用於分析所述用戶的體感數據和/或語音數據,並將所述用戶的體感數據和/或語音數據轉換為所述雲伺服器可識別的操作指令。
[0065]在本發明一實施例中,所述數據處理模塊123進一步包括映射單元1231,用於根據預置的映射文件將所述體感數據和/或語音數據映射為所述雲伺服器可識別的操作指令。
[0066]映射單元1231中嵌入一應用程式,通過運行該應用程式可將雲伺服器120中的每個遊戲涉及到的體感數據和/或語音數據轉換為所述雲伺服器120可識別的操作指令。該應用程式可由程序人員使用JAVA語音或C語言編寫的應用程式。該應用程式定義了用戶的不同的姿勢動作或語義所對應的電腦鍵盤或滑鼠指令。[0067]通過映射單元,可以根據用戶的體感數據和/或語音數據來判斷用戶採用了哪一種姿勢動作,將該姿勢動作與映射文件中的該遊戲所涉及到的姿勢動作進行對照。若該姿勢動作符合映射文件中的該遊戲所涉及到的某一姿勢動作,則通過該應用程式將用戶的姿勢動作轉換為雲伺服器120可識別的鍵盤信息或滑鼠信息。該鍵盤信息或滑鼠信息可以是用戶在遊戲環境下需要操作的某一組電腦鍵盤或滑鼠。
[0068]以下通過一實例說明所述映射文件中肢體動作與雲伺服器120可識別的鍵盤信息或滑鼠信息的對應關係。例如當用戶向左揮手時通過上述步驟得知用戶採用了向左揮手的姿勢動作,映射文件中規定向左揮手映射為鍵盤A按下。又例如當用戶向右揮手時通過上述步驟得知用戶採用了向右揮手的姿勢動作,映射文件中規定向右揮手映射為鍵盤A抬起。
[0069]第一內容獲取模塊124,用於根據所述操作指令獲取與所述操作指令相對應的第
一內容。
[0070]第一內容是與所述操作指令相對應的,包括遊戲的程序代碼、圖像數據等信息。在本發明一實施例中,所述第一內容獲取模塊進一步包括函數調用單元1241,用於根據所述操作指令調用相關聯的函數,以及根據調用結果獲取與所述操作指令相對應的第一內容。
[0071]以上述實例為例,函數調用單元1241調用sendmessage函數,通過遊戲窗口參數(如hwnd)、鍵盤指令參數(如wm-keyup、wm_keydown)、滑鼠指令參數(如mousemove、mousefirst)等參數指定鍵盤A按下指令和鍵盤A抬起指令對應「前進」和「停止前進」,該語句運行後遊戲圖像便改為遊戲人物前進圖像和遊戲人物停止前進圖像。遊戲人物前進和停止前進相關的程序代碼和圖像數據等信息由第一內容獲取模塊124獲取。
[0072]第二內容發送模塊125,用於將第二內容發送至所述客戶端,其中,所述第二內容是所述第一內容的子內容。
[0073]以上述實例進行說明,第一內容獲取模塊124獲取的內容包括遊戲的程序代碼、圖像數據等信息,第二內容發送模塊125僅將遊戲的圖像數據發送給客戶端110,並由客戶端HO接收。
[0074]參照圖2,示出了本申請實施例2人機互動系統的示意圖,包括體感數據和/或語音數據採集裝置200、客戶端210和雲伺服器220。
[0075]體感數據和/或語音數據採集裝置200可為具有體感信息和語音信息採集功能的裝置,例如Kinect。
[0076]客戶端210可為PC機、機頂盒、電視、便攜終端、平板、投影機以及其他具有顯示功能的裝置。
[0077]雲伺服器220是一種類似VPS伺服器的虛擬化技術,VPS是採用虛擬軟體,VZ或VM在一臺伺服器上虛擬出多個類似獨立伺服器的部分,每個部分都有雲伺服器的一個鏡像,都可以做單獨的作業系統,管理方法同伺服器一樣。
[0078]體感數據和/或語音數據採集裝置200的結構已在實施例1中加以說明,在此不再贅述。
[0079]客戶端210包括數據獲取模塊211、數據壓縮模塊212、數據傳輸模塊213、內容接收模塊217、通知模塊214、USB設備驅動模塊215以及USB數據發送模塊216。其中:
[0080]數據獲取模塊211、數據壓縮模塊212、數據傳輸模塊213和內容接收模塊217已在實施例1中加以說明,此處不再贅述。
[0081]通知模塊214用於針對所述體感數據和/或語音數據採集裝置發送通知至所述雲伺服器220。
[0082]客戶端210與雲伺服器220之間的通信基於TCP/IP協議。當將體感數據和/或語音數據採集裝置200通過客戶端的USB接口與客戶端連接時,通知模塊214偵測到體感數據和/或語音數據採集裝置200,向雲伺服器220發出體感數據和/或語音數據採集裝置200插入的通知。該通知是封裝在IP包裡的。
[0083]USB設備驅動模塊215用於解析自所述雲伺服器發送的IP包。
[0084]USB設備驅動模塊215負責各種應用的USB設備,當應用程式對設備要進行I/O訪問時,USB設備驅動模塊215將I/O請求轉換為一系列USB命令,然後以URB的形式提交給USB CORE。對一種USB傳輸類型,USB設備驅動模塊215隻是用一個USB地址、一個端地址來和設備通信。在本發明一實施例中,體感數據和/或語音數據採集裝置200是固定的,即USB設備驅動模塊215僅負責特定的體感數據和/或語音數據採集裝置200,因此傳輸的IP包中可以去掉包頭。這樣更簡化了數據處理和傳輸過程。
[0085]雲伺服器220接收到客戶端210發出的體感數據和/或語音數據採集裝置200插入的通知後,解析是一個插入設備的請求,向客戶端發出獲取體感數據和/或語音數據的請求,該請求封裝在IP包中,客戶端210的USB設備驅動模塊215接收該請求,從該IP包種取出URB,傳送給體感數據和/或語音數據採集裝置200。
[0086]所述USB數據發送模塊216用於根據對所述IP包的解析結果將相應的USB數據發送至所述雲伺服器220。
[0087]USB數據發送模塊216根據USB設備驅動模塊215解析出的URB請求,將由數據壓縮模塊212壓縮的體感數據和/或語音數據輸出給雲伺服器220。該數據同樣是封裝在IP包中傳輸的。
[0088]雲伺服器220包括數據接收模塊221、數據解壓縮模塊222、數據處理模塊223、第一內容獲取模塊224、第二內容發送模塊225、通知接收模塊226、虛擬USB設備驅動模塊227及USB數據接收模塊228。其中:
[0089]數據接收模塊221、數據解壓縮模塊222、數據處理模塊223、第一內容獲取模塊224及第二內容發送模塊225已在實施例1中加以說明,此處不再贅述。
[0090]通知接收模塊226,用於接收所述針對所述體感數據和/或語音數據採集裝置發送的通知。
[0091]當將體感數據和/或語音數據採集裝置200通過客戶端的USB接口與客戶端連接時,通知模塊213偵測到體感數據和/或語音數據採集裝置200,發出體感數據和/或語音數據採集裝置200插入的通知。該通知是封裝在IP包裡的,該通知由通知接收模塊226接收。
[0092]虛擬USB設備驅動模塊227,用於根據所述客戶端發送的所述通知生成USB請求,將該請求封裝成IP包,並將所述IP包發送至所述客戶端210。
[0093]雲伺服器220接收到客戶端210發出的體感數據和/或語音數據採集裝置200插入的通知後,解析是一個插入設備的請求,向客戶端發出獲取體感數據和/或語音數據的USB請求,該請求封裝在IP包中,並將該IP包發送至客戶端210。[0094]USB數據接收模塊228,用於接收所述USB數據發送模塊發送的所述USB數據。
[0095]客戶端210將由數據壓縮模塊212壓縮的體感數據和/或語音數據輸出,由USB數據接收模塊228接收該數據,該數據是由體感數據和/或語音數據採集裝置200獲取的體感數據和/或語音數據,並且同樣是封裝在IP包中傳輸的。之後由數據解壓縮模塊222、數據處理模塊223、第一內容獲取模塊224及第二內容發送模塊225對該數據進行處理,將用戶的肢體動作指令或語音指令所對應的圖像數據傳輸至客戶端。
[0096]參照圖3,示出了本申請實施例1人機互動方法的示意圖,以下將對該方法進行說明。
[0097]步驟S31:體感數據和/或語音數據採集裝置採集用戶的體感數據和/或語音數據。
[0098]以Kinect為例說明體感數據和/或語音數據採集裝置採集用戶的體感數據和/或語音數據的原理。Kinect的主要結構為三個攝像頭、內置陣列麥克風系統以及底座馬達。左右兩邊攝像頭分別為紅外線發射器和紅外線CMOS攝像機,中間的鏡頭是RGB彩色攝像機。
[0099]紅外線發射器發出雷射散斑(laser speckle),光線經過擴散分布在測量的空間內,這些散斑具有高度的隨機性,而且會隨著距離的不同變換圖案,即空間中任意兩處的散斑圖案都是不同的。只要在空間中打上這樣的光,整個空間就都被做了標記,把一個物體放進這個空間,只要看看物體上面的散斑圖案,就可以知道這個物體在什麼位置了。在這之前要把整個空間的散斑圖案都記錄下來,所以要先做一次光源的標定。標定的方法是:每隔一段距離,取一個參考平面,把參考平面上的散斑圖案記錄下來。假設Natal規定的用戶活動空間是距離電視機I米到4米的範圍,每隔IOcm取一個參考平面,那麼標定下來就保存了30幅散斑圖像。需要進行測量的時候,拍攝一副待測場景的散斑圖像,將這幅圖像和保存下來的30幅參考圖像依次做互相關運算,這樣會得到30幅相關度圖像,而空間中有物體存在的位置,在相關度圖像上就會顯示出峰值。把這些峰值一層層疊在一起,再經過一些插值,就會得到整個場景的三維形狀了。
[0100]當光射到人體之後會形成反射斑點,紅外線CMOS攝像機就用來記錄空間中的散斑,通過晶片合成出3D深度信息的圖像。
[0101]RGB彩色攝像機將獲得的圖像呈現出不同的顏色塊表示物體在空間的距離。識別到3D圖像深度信息後,通過軟體計算出人體主要的骨骼位置,通過精確掌握玩家身形輪廓與肢體位置來判斷玩家的姿勢動作。
[0102]內置陣列麥克風系統採用了四元線性麥克風陣列,這一陣列由4個獨立的水平分布在Kinect下方的麥克風組成。雖然每一個麥克風都捕獲相同的音頻信號,但是組成陣列可以探測到聲音的來源方向。使得能夠用來識別從某一個特定的方向傳來的聲音。麥克風陣列捕獲的音頻數據流經過複雜的音頻增強效果算法處理來移除不相關的背景噪音。所有這些複雜操作在Kinect硬體和Kinect SDK之間進行處理,這使得能夠在一個大的空間範圍內,即使人離麥克風一定的距離也能夠進行語音命令的識別。
[0103]底座馬達採用了對焦技術,底座馬達會隨著對焦物體的移動而相應地轉動。
[0104]由此,Kinect的三個攝像頭、內置陣列麥克風系統以及底座馬達相互配合共同完成了肢體動作信息及語音信息的捕捉。[0105]步驟S32:客戶端自所述體感數據和/或語音數據採集裝置獲取採集的所述用戶的體感數據和/或語音數據。
[0106]以Kinect為例,用戶的肢體動作及語音信息被Kinect獲取,該肢體動作及語音信息是肢體的空間位置數據和/或音頻數據流,客戶端自Kinect獲取的是用戶的肢體的空間位置數據和/或音頻數據流。
[0107]步驟S33:壓縮所述獲取的所述用戶的體感數據和/或語音數據。
[0108]體感數據為用戶做出一段或多段動作的視頻數據。在本發明一實施例中,由體感數據和/或語音數據採集裝置100獲取的用戶的體感數據和/或語音數據為RAW格式。RAff格式圖像中的每一幀圖像為bmp格式,數據壓縮模塊112對每一幀圖像進行濾波處理或歸一化處理,將圖像由bmp格式轉換為JPG格式,也可以轉換為MPEG、MPG、AV1、MOV、ASF、WMV、NAV1、3GP、REAL VIDEO、MKV、FLV、F4V、RMVB、WebM等格式。濾波處理可以採用常用的傅立葉變換、鄰域濾波(即輸出圖像中任何像素的值都是通過對像素周圍一定鄰域內像素的值得來的)等方法。歸一化處理是通過一系列變換,利用圖像的不變矩尋找一組參數使其能夠消除其他變換函數對圖像變換的影響,將待處理的原始圖像轉換成相應的唯一標準形式。在本發明一實施例中,歸一化處理是將bmp格式的原始圖像數據轉換成JPG格式的圖像數據。
[0109]語音數據採用線性脈衝編碼調製PCM,數據壓縮模塊112對體感數據的同步語音數據壓縮為⑶格式、WAVE (*.WAV)、AIFF、AU、MP3、MID1、WMA、RealAudio、VQF、0ggVorbis、AAC、APE等音頻格式文件。
[0110]步驟S34:將所述壓縮的所述用戶的體感數據和/或語音數據傳輸至所述雲伺服器。
[0111]用戶發出的某一指令可以僅為體感數據,也可以僅為語音數據,也可以是語音數據與體感數據的結合。當用戶的指令既有語音數據,又有體感數據時,同步壓縮語音數據和體感數據,並將兩部分數據同時傳輸至雲伺服器120。
[0112]步驟S35:雲伺服器接收所述壓縮的所述用戶的體感數據和/或語音數據。
[0113]上述體感數據和/或語音數據壓縮後,傳輸至雲伺服器120,雲伺服器120接收數據。
[0114]步驟S36:解壓縮所述壓縮的所述用戶的體感數據和/或語音數據。
[0115]將所述壓縮的所述用戶的壓縮的體感數據和/或語音數據按照歸一化處理相反的方式轉換為原始圖像和音頻數據,完成圖像的解壓縮。
[0116]步驟S37:分析所述用戶的體感數據和/或語音數據,並將所述用戶的體感數據和/或語音數據轉換為所述雲伺服器可識別的操作指令。
[0117]在本發明一實施例中,根據預置的映射文件將所述體感數據和/或語音數據映射為所述雲伺服器可識別的操作指令。
[0118]雲伺服器中嵌入一應用程式,通過運行該應用程式可將雲伺服器120中的每個遊戲涉及到的體感數據和/或語音數據轉換為所述雲伺服器120可識別的操作指令。該應用程式可由程序人員使用JAVA語音或C語言編寫的應用程式。該應用程式定義了用戶的不同的姿勢動作或語義所對應的電腦鍵盤或滑鼠指令。
[0119]通過映射步驟,可以根據用戶的體感數據和/或語音數據來判斷用戶採用了哪一種姿勢動作,將該姿勢動作與映射文件中的該遊戲所涉及到的姿勢動作進行對照。若該姿勢動作符合映射文件中的該遊戲所涉及到的某一姿勢動作,則通過該應用程式將用戶的姿勢動作轉換為雲伺服器120可識別的鍵盤信息或滑鼠信息。該鍵盤信息或滑鼠信息可以是用戶在遊戲環境下需要操作的某一組電腦鍵盤或滑鼠。
[0120]以下通過一實例說明所述映射文件中肢體動作與雲伺服器120可識別的鍵盤信息或滑鼠信息的對應關係。例如當用戶向左揮手時通過上述步驟得知用戶採用了向左揮手的姿勢動作,映射文件中規定向左揮手映射為鍵盤A按下。又例如當用戶向右揮手時通過上述步驟得知用戶採用了向右揮手的姿勢動作,映射文件中規定向右揮手映射為鍵盤A抬起。
[0121]步驟S38:根據所述操作指令獲取與所述操作指令相對應的第一內容。
[0122]第一內容是與所述操作指令相對應的,包括遊戲的程序代碼、圖像數據等信息。在本發明一實施例中,根據所述操作指令調用相關聯的函數,以及根據調用結果獲取與所述操作指令相對應的第一內容。
[0123]在本發明一實施例中,調用sendmessage函數,通過遊戲窗口參數(如hwnd)、鍵盤指令參數(如wm-keyup、wm_keydown)、滑鼠指令參數(如mousemove、mousefirst)等參數指定鍵盤A按下指令和鍵盤A抬起指令對應「前進」和「停止前進」,該語句運行後遊戲圖像便改為遊戲人物前進圖像和遊戲人物停止前進圖像,從而獲取遊戲人物前進和停止前進相關的程序代碼和圖像數據等信息。
[0124]步驟S39:將第二內容發送至所述客戶端,其中,所述第二內容是所述第一內容的子內容。
[0125]在本發明一實施例中,第一內容包括遊戲的程序代碼、圖像數據等信息,第二內容則是指該遊戲在客戶端顯示的圖像數據,雲伺服器120僅將遊戲的圖像數據發送給客戶端110。
[0126]步驟S40:客戶端接收所述第二內容。
[0127]雲伺服器120將遊戲的圖像數據發送給客戶端110,由客戶端110接收並通過顯示器呈現給用戶。
[0128]參照圖4,示出了本申請實施例2人機互動方法的示意圖,以下將對該方法進行說明。
[0129]步驟S401:客戶端針對所述體感數據和/或語音數據採集裝置發送通知至雲伺服器。
[0130]客戶端110與雲伺服器120之間的通信基於TCP/IP協議。當將體感數據和/或語音數據採集裝置100通過客戶端的USB接口與客戶端連接時,客戶端偵測到體感數據和/或語音數據採集裝置100,向雲伺服器120發出體感數據和/或語音數據採集裝置100插入的通知。該通知是封裝在IP包裡的。
[0131 ] 步驟S402:所述雲伺服器接收所述針對所述體感數據和/或語音數據採集裝置發送的通知;根據所述客戶端發送的所述通知生成USB請求,將該請求封裝成IP包,並將所述IP包發送至所述客戶端。
[0132]雲伺服器120接收到客戶端110發出的體感數據和/或語音數據採集裝置100插入的通知,解析是一個插入設備的請求,向客戶端發出獲取體感數據和/或語音數據的請求,該請求封裝在IP包中,客戶端Iio的USB設備驅動模塊114接收該請求,從該IP包種取出URB,傳送給體感數據和/或語音數據採集裝置100。
[0133]步驟S403:所述客戶端解析自所述雲伺服器發送的IP包。
[0134]客戶端110中安裝了 USB設備驅動程序,負責各種應用的USB設備,當應用程式對設備要進行I/o訪問時,USB設備驅動程序將I/O請求轉換為一系列USB命令,然後以URB的形式提交給USB CORE。對一種USB傳輸類型,USB設備驅動程序只是用一個USB地址、一個端地址來和設備通信。在本發明一實施例中,體感數據和/或語音數據採集裝置100是固定的,即USB設備驅動程序僅負責特定的體感數據和/或語音數據採集裝置100,因此傳輸的IP包中可以去掉包頭。這樣更簡化了數據處理和傳輸過程。
[0135]步驟S404:根據對所述IP包的解析結果將相應的USB數據發送至所述雲伺服器。
[0136]USB數據是指體感數據和/或語音數據採集裝置100採集的用戶的體感數據和/或語音數據。在發送USB數據之前,體感數據和/或語音數據採集裝置100採集用戶的體感數據和/或語音數據,並傳輸給客戶端,由客戶端壓縮所述獲取的所述用戶的體感數據和/或語音數據,再將所述壓縮的所述用戶的體感數據和/或語音數據封裝在IP包中,發送至雲伺服器120。其中,體感數據和/或語音數據的壓縮和解壓縮的過程已在圖1中加以說明,再次不在贅述。
[0137]步驟S405:雲伺服器接收所述壓縮的所述用戶的體感數據和/或語音數據。
[0138]雲伺服器接收包含壓縮的所述用戶的體感數據和/或語音數據的IP包,對該IP包進行解析,從中取出壓縮的所述用戶的體感數據和/或語音數據。
[0139]步驟S406:解壓縮所述壓縮的所述用戶的體感數據和/或語音數據。
[0140]步驟S407:分析所述用戶的體感數據和/或語音數據,並將所述用戶的體感數據和/或語音數據轉換為所述雲伺服器可識別的操作指令。
[0141]步驟S406—步驟S407與圖3中步驟S36—步驟S38相同,在此不再贅述。
[0142]步驟S408:根據所述操作指令獲取與所述操作指令相對應的第一內容;將內容數據發送至所述客戶端,其中,所述第二內容是所述第一內容的子內容。
[0143]在本發明一實施例中,第一內容包括遊戲的程序代碼、圖像數據等信息,第二內容則是指該遊戲在客戶端顯示的圖像數據,雲伺服器120僅將遊戲的圖像數據發送給客戶端110,發送的內容是封裝在IP包中的。
[0144]步驟S409:客戶端接收所述第二內容。
[0145]客戶端110接收包含圖像數據的IP包,解析該IP包,從中取出圖像數據,呈現在客戶端110的顯示裝置上。
[0146]本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
[0147]以上對本申請所提供的一種人機互動系統及方法進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本申請的方法及其核心思想;同時,對於本領域的一般技術人員,依據本申請的思想,在【具體實施方式】及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。
【權利要求】
1.一種人機互動系統,包括: 體感數據和/或語音數據採集裝置、客戶端和雲伺服器,其中, 所述體感數據和/或語音數據採集裝置用於採集用戶的體感數據和/或語音數據; 所述客戶端包括數據獲取模塊,用於自所述體感數據和/或語音數據採集裝置獲取採集的所述用戶的體感數據和/或語音數據;數據壓縮模塊,用於壓縮所述獲取的所述用戶的體感數據和/或語音數據;數據傳輸模塊,用於將所述壓縮的所述用戶的體感數據和/或語音數據傳輸至所述雲伺服器;內容接收模塊,用於接收自所述客戶端發送的第二內容; 所述雲伺服器包括數據接收模塊,用於接收自所述數據傳輸模塊傳送的所述壓縮的所述用戶的體感數據和/或語音數據;數據解壓縮模塊,用於解壓縮所述壓縮的所述用戶的體感數據和/或語音數據;數據處理模塊,用於分析所述用戶的體感數據和/或語音數據,並將所述用戶的體感數據和/或語音數據轉換為所述雲伺服器可識別的操作指令;第一內容獲取模塊,用於根據所述操作指令獲取與所述操作指令相對應的第一內容;第二內容發送模塊,用於將第二內容發送至所述客戶端,其中,所述第二內容是所述第一內容的子內容。
2.根據權利要求1所述的系統,其特徵在於,所述客戶端進一步包括通知模塊、USB設備驅動模塊以及USB數據發送模塊,其中,所述通知模塊用於針對所述體感數據和/或語音數據採集裝置發送通知至所述雲伺服器;所述USB設備驅動模塊用於解析自所述雲伺服器發送的IP包;所述USB數據發送模塊用於根據對所述IP包的解析結果將相應的USB數據發送至所述雲伺服器; 所述雲伺服器進一步包括通知接收模塊,用於接收所述針對所述體感數據和/或語音數據採集裝置發送的通知;虛擬USB設備驅動模塊,用於根據所述客戶端發送的所述通知生成USB請求,將該請求封裝成IP包,並將所述IP包發送至所述客戶端;USB數據接收模塊,用於接收所述USB數據發送模塊發送的所述USB數據。
3.根據權利要求1所述的系統,其特徵在於,所述數據處理模塊進一步包括映射單元,用於根據預置的映射文件將所述體感數據和/或語音數據映射為所述雲伺服器可識別的操作指令。
4.根據權利要求1所述的系統,其特徵在於,所述第一內容獲取模塊進一步包括函數調用單元,用於根據所述操作指令調用相關聯的函數,以及根據調用結果獲取與所述操作指令相對應的第一內容。
5.根據權利要求1所述的系統,其特徵在於,所述客戶端包括PC機、機頂盒、電視、便攜終端、平板和投影機。
6.一種人機互動方法,包括: 體感數據和/或語音數據採集裝置採集用戶的體感數據和/或語音數據; 客戶端自所述體感數據和/或語音數據採集裝置獲取採集的所述用戶的體感數據和/或語音數據;壓縮所述獲取的所述用戶的體感數據和/或語音數據;將所述壓縮的所述用戶的體感數據和/或語音數據傳輸至所述雲伺服器; 雲伺服器接收所述壓縮的所述用戶的體感數據和/或語音數據;解壓縮所述壓縮的所述用戶的體感數據和/或語音數據;分析所述用戶的體感數據和/或語音數據,並將所述用戶的體感數據和/或語音數據轉換為所述雲伺服器可識別的操作指令;根據所述操作指令獲取與所述操作指令相對應的第一內容;將第二內容發送至所述客戶端,其中,所述第二內容是所述第一內容的子內容; 客戶端接收所述第二內容。
7.根據權利要求6所述的方法,其特徵在於,進一步包括: 客戶端針對所述體感數據和/或語音數據採集裝置發送通知至雲伺服器; 所述雲伺服器接收所述針對所述體感數據和/或語音數據採集裝置發送的通知;根據所述客戶端發送的所述通知生成USB請求,將該請求封裝成IP包,並將所述IP包發送至所述客戶端; 所述客戶端解析自所述雲伺服器發送的IP包;根據對所述IP包的解析結果將相應的USB數據發送至所述雲伺服器。
8.根據權利要求6所述的方法,其特徵在於,所述將所述用戶的體感數據和/或語音數據轉換為所述雲伺服器可識別的操作指令進一步包括根據預置的映射文件將所述體感數據和/或語音數據映射為所述雲服 務器可識別的操作指令。
9.根據權利要求6所述的方法,其特徵在於,所述根據所述操作指令獲取與所述操作指令相對應的第一內容進一步包括根據所述操作指令調用相關聯的函數,以及根據調用結果獲取與所述操作指令相對應的第一內容。
10.根據權利要求6所述的方法,其特徵在於,所述操作指令包括可被伺服器識別的按鍵指令和滑鼠指令。
【文檔編號】H04L29/08GK103916431SQ201310000643
【公開日】2014年7月9日 申請日期:2013年1月4日 優先權日:2013年1月4日
【發明者】鄧迪 申請人:雲聯(北京)信息技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀