本發明涉及一種虛擬現實設備姿態信息的捕捉方法,尤其是一種超低延時且信息安全性高的虛擬現實設備姿態信息的捕捉方法。
背景技術:
:為了在虛擬現實中營造沉浸感,增強人機之間的互動性,需要實時獲取虛擬現實頭戴顯示設備當前的姿態信息,如設備轉動方向、轉動角度等,來調整顯示內容。姿態信息采集一般要利用到IMU芯片(InertialMeasurementUnit,慣性測量單元),通常都會包含三軸的加速度計和三軸的陀螺儀,加速度計測量物體在三維空間中的加速度信號,陀螺儀則測量物體在三維空間中的角速度,并以此解算出物體的姿態。目前依賴HDMI(HighDefinitionMultimediaInterface,高清晰度多媒體接口)線與USB(UniversalSerialBus,通用串行總線)數據線進行數據傳輸的虛擬現實設備的方案通常都具有以下結構:下位機(即虛擬現實設備)采用一款控制芯片作為微控制單元(MCU),搭配一款IMU芯片及顯示控制器(以及顯示屏),通過USB線與上位機(即個人計算機PC)進行數據交換,通過HDMI線進行音視頻傳輸。常用的傳輸方法為:設計一個HID類全速USB設備(HIDclassFullSpeedUSBdevice),IMU的姿態信息數據上報使用中斷傳輸(InterruptTransfer),每隔2ms上報一次數據包,每個數據包包含2組IMU數據;下位機配置使用控制傳輸(ControlTransfer)。這種“HID類全速USB設備、IMU數據上報使用中斷傳輸、下位機配置使用控制傳輸”方案具有中斷傳輸優先級較高,PC響應較快的優點,但也存在明顯的不足:1.全速USB設備限制了所能傳輸的最大數據包長度為64字節,在沒有定義額外的數據包包頭包尾的情況下,無法支持單個數據包超過64字節的數據傳輸,不利于設備功能擴展;2.對于有編程基礎的使用者,即使不通過下位機通訊協議,依然可以通過WindowsHID用戶應用界面(API)中的控制傳輸接口對下位機進行非正常的控制,不利于虛擬現實設備的信息安全。為解決上述問題,本發明設計了一種虛擬現實設備姿態信息的捕捉方法,能夠降低虛擬現實設備姿態信息的捕捉延時、同時保證了姿態信息數據上行和下行的安全性,且兼顧通訊協議的可擴展性。技術實現要素:本發明目的是:提供一種虛擬現實設備姿態信息的捕捉方法,將整個姿態信息捕捉過程的延時降到最低,同時保證數據上行和下行的安全,并兼顧通訊協議的可擴展性。本發明的技術方案是:為達到低延時,高安全性和兼容性的目的,本發明技術方案采用HID類全速USB設備硬件,方案實現步驟為:1.虛擬現實設備及全速USB設備在使用前需要安裝驅動,因此只有通過下位機通訊協議獲取虛擬現實設備IMU中姿態信息數據,而無法通過WindowsHIDAPI直接進行操作。2.本發明定義了一個私有的數據包封裝協議,以支持單個數據包超過64字節的情況,數據包封裝協議見實施例中表1,在數據的傳輸過程中,數據包的組包與解包步驟可參考附圖2與附圖3。3.數據包封裝協議中增加的數據校驗位,保證了整個數據包的完整性和正確性。4.IMU數據上報使用批量傳輸(BulkTransfer),因此克服了現有技術中數據上報采用中斷傳輸方式的查詢間隔限制,可以支持更大的數據帶寬,數據采集流程可參考附圖5。5.下位機配置采用批量傳輸(BulkTransfer),同樣具有數據包封裝的過程,在下位機不明確數據封裝格式的情況下,上位機向下位機發送的數據視作無效,校準數據流程可參考附圖4。6.上位機在未接收到下位機所傳輸的虛擬設備姿態信息數據時會被阻塞,以此保證當下位機發送了姿態信息數據,上位機可在第一時間接收數據,因此在本方案中傳輸延時基本等于USB數據傳輸本身的延時。7.每個慣性測量單元IMU向上位機上報的數據包中,都會包含至少2組姿態信息數據,以保證對虛擬現實設備進行運動預測時,運動預測算法利用此兩組真實采集到的IMU姿態信息數據對之后的一定時間間隔內的姿態信息進行預測,通過此方法可將IMU姿態信息數據傳輸過程中的延時也計算入總延時中,本發明中在理想情況下,傳輸延時基本等于USB數據傳輸本身的延時,因此可將此部分延時降低至接近0ms。(參考實施例中表2)可選的,本發明方案中定義的數據包大小能夠擴展,因此可以支持慣性測量單元IMU向上位機上報的數據包包含更多組姿態信息數據。與現有技術相比,本發明具有以下創新點:1.在現有技術中,數據包封裝時無法超過64字節,本發明方案定義了一個私有的數據包封裝協議,以支持單個數據包超過64字節的情況,以便于數據能夠更快速的傳輸,且減小了數據的組包與解包延時。2.數據包封裝協議中增加了數據校驗位,在數據的組包過程中計算校驗位,在數據包解包過程中檢查校驗位,因此保證了整個數據包的完整性和正確性。3.IMU數據上報采用批量傳輸(BulkTransfer)方式,因此克服了現有技術中數據上報采用中斷傳輸方式的查詢間隔限制,可以支持更大的數據帶寬,數據采集流程可參考附圖5。4.本發明方法中下位機的配置采用批量傳輸(BulkTransfer),同樣,具有數據包封裝的過程,在下位機不明確數據封裝格式的情況下,上位機向下位機發送的數據視作無效,以確保上位機安全、正確的提取數據。5.虛擬現實設備及全速USB設備在使用前需要安裝驅動,因此只有通過下位機通訊協議獲取虛擬現實設備IMU中姿態信息數據,而無法通過WindowsHIDAPI直接進行操作,增強了數據的安全性。附圖說明圖1為IMU數據傳輸流程圖;圖2為數據包組包步驟流程圖;圖3為數據包解包步驟流程圖;圖4為配置IMU校準數據流程圖;圖5為IMU數據采集流程圖;具體實施方式如
背景技術:
中所述,現有技術的虛擬現實頭戴顯示設備姿態信息的捕捉方法在實際應用中仍然存在延時長、安全性低等問題。本發明技術方案為將通過驅動讀取到的IMU數據通過本發明方法定義的私有協議進行數據組包;將組包完成的數據采用批量傳輸方式進行傳輸;將接收端接收到的數據包按照私有協議的定義進行數據解包。尤其在數據量較大的情況下,本發明方法顯著的降低了延時,提高了數據的安全性。為使本發明的上述目的、特征和優點能夠更為明顯易懂,下面結合附圖對本發明的具體實施例做詳細的說明。參照附圖1所示為IMU數據傳輸流程圖,包括以下步驟:步驟101:虛擬現實設備及全速USB設備在使用前需要安裝驅動程序,通過下位機通訊協議獲取虛擬現實設備IMU中姿態信息數據,并對數據進行組包操作,包括但不限于填充包頭、包身數據;所述驅動程序的安裝目的在于使上位機只能通過通訊協議獲取虛擬現實設備IMU中姿態信息數據,而無法通過WindowsHIDAPI直接進行操作,保證了數據的安全性;本發明方法定義了一個私有的數據包封裝協議,以支持單個數據包超過64字節的情況,數據包封裝協議見表1。包頭包身包尾特定標識符、包身長度、包類型有效數據校驗位、特定標識符表1.數據包封裝協議步驟102:計算校驗位數據;所述的數據包封裝協議中增加的數據校驗位,保證了整個數據包的完整性和正確性。步驟103:填充包尾標識符,完成數據組包。步驟104:IMU數據上報采用批量傳輸(BulkTransfer)方式;所述批量傳輸方式克服了現有技術中數據上報采用中斷傳輸方式的查詢間隔限制,可以支持更大的數據帶寬。步驟105:接收端接收到數據包后,判斷包頭、包尾標識及包身長度,當其中任意一項不符合私有協議定義的要求時,判定為解包失敗,返回數據;當包頭、包尾標識及包身長度判定后皆符合要求時,進入步驟106。步驟106:檢查校驗位,當校驗位數據不符合私有協議定義的要求時,判定為解包失敗,返回數據;當校驗位數據符合要求時,進入步驟107。步驟107:當數據包標識信息判定通過后,提取有效數據,完成數據解包操作。圖2為本發明實施例中數據包組包步驟流程圖,包括如下步驟;步驟201:填充包頭、包身;步驟202:計算包身長度;步驟203:填充包類型;步驟204:拷貝有效數據;步驟205:計算校驗位;步驟206:填充包尾標識符;步驟207:組包完成。圖3為本發明實施例中數據包解包步驟流程圖,包括如下步驟;步驟301:判斷包頭標識符;步驟302:判斷包身長度;步驟303:判斷包尾標識符,當所述步驟301、302、303,其中任意一項不符合私有協議定義的要求時,進入步驟304,當所述步驟301、302、303皆符合要求時,進入步驟305;步驟304:解包失敗,返回;步驟305:檢查校驗位,當校驗位數據不符合私有協議定義的要求時,進入步驟304,當校驗位數據符合要求時,進入步驟306;步驟306:提取有效數據;步驟307:解包完成。圖4為本發明實施例中配置IMU校準數據流程圖,步驟401為虛擬現實設備中的計算流程,步驟402為個人計算機中的計算流程。配置IMU校準數據的流程為:計算得出IMU校準參數后,通過USBhost組包,采用批量傳輸方式進行傳輸,在虛擬現實設備端通過USBdevice進行解包,再由微控制單元MCU向閃存中寫入IMU校準數據。所述的下位機配置采用批量傳輸(BulkTransfer),同樣具有數據包封裝的過程,在下位機不明確數據封裝格式的情況下,上位機向下位機發送的數據視作無效。圖5為本發明實施例中IMU數據采集流程圖,步驟501為虛擬現實設備中的數據處理流程,步驟502為個人計算機中的數據處理流程。IMU的數據采集至顯示流程為:微控制單元MCU通過下位機通信協議采集慣性測量單元IMU中的姿態信息數據,并從閃存中讀取IMU校準數據,整合后由USBdevice進行數據組包,采用批量傳輸方式進行數據傳輸,個人計算機PC接收端接收后由USBhost進行數據解包,完成姿態解算及預測,從而指導圖像的合成與渲染,經過HDMI發送端發送數據,接收端接收數據,由顯示控制模塊控制虛擬現實設備顯示器進行顯示。本實施例中所述的每個慣性測量單元IMU向上位機上報的數據包中,都會包含至少2組姿態信息數據,以保證對虛擬現實設備進行運動預測時,運動預測算法利用此兩組真實采集到的IMU姿態信息數據對之后的一定時間間隔內的姿態信息進行預測,通過此方法可將IMU姿態信息數據傳輸過程中的延時也計算入總延時中,本發明中在理想情況下,傳輸延時基本等于USB數據傳輸本身的延時,因此可將此部分延時降低至接近0ms,(參考表2)。成員名稱功能描述時間戳MCU記錄的時間戳IMU數據采樣1-第一部分三軸陀螺儀數據IMU數據采樣1-第二部分三軸加速度數據IMU數據采樣2-第一部分三軸陀螺儀數據IMU數據采樣2-第二部分三軸加速度數據磁力計采樣三軸磁力計數據瞳距瞳距數據接近開關(ProximitySwitch)接近開關保留字節(Reserve)保留字節,用于結構體32bit對齊表2.IMU數據上報通訊協議可選的,本實施例中定義的數據包大小能夠擴展,因此可以支持慣性測量單元IMU向上位機上報的數據包包含更多組姿態信息數據。所述的上位機在未接收到下位機所傳輸的虛擬設備姿態信息數據時會被阻塞,以此保證當下位機發送了姿態信息數據,上位機可在第一時間接收數據,因此在本實施例中傳輸延時基本等于USB數據傳輸本身的延時。以上所述,僅為本發明具體實施方式。本發明的保護范圍并不局限于此,任何熟悉本
技術領域:
的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求所界定的保護范圍為準。當前第1頁1 2 3