欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種虛擬現(xiàn)實(shí)設(shè)備姿態(tài)信息的捕捉方法與流程

文檔序號(hào):11153833閱讀:961來源:國(guó)知局
本發(fā)明涉及一種虛擬現(xiàn)實(shí)設(shè)備姿態(tài)信息的捕捉方法,尤其是一種超低延時(shí)且信息安全性高的虛擬現(xiàn)實(shí)設(shè)備姿態(tài)信息的捕捉方法。
背景技術(shù)
:為了在虛擬現(xiàn)實(shí)中營(yíng)造沉浸感,增強(qiáng)人機(jī)之間的互動(dòng)性,需要實(shí)時(shí)獲取虛擬現(xiàn)實(shí)頭戴顯示設(shè)備當(dāng)前的姿態(tài)信息,如設(shè)備轉(zhuǎn)動(dòng)方向、轉(zhuǎn)動(dòng)角度等,來調(diào)整顯示內(nèi)容。姿態(tài)信息采集一般要利用到IMU芯片(InertialMeasurementUnit,慣性測(cè)量單元),通常都會(huì)包含三軸的加速度計(jì)和三軸的陀螺儀,加速度計(jì)測(cè)量物體在三維空間中的加速度信號(hào),陀螺儀則測(cè)量物體在三維空間中的角速度,并以此解算出物體的姿態(tài)。目前依賴HDMI(HighDefinitionMultimediaInterface,高清晰度多媒體接口)線與USB(UniversalSerialBus,通用串行總線)數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸?shù)奶摂M現(xiàn)實(shí)設(shè)備的方案通常都具有以下結(jié)構(gòu):下位機(jī)(即虛擬現(xiàn)實(shí)設(shè)備)采用一款控制芯片作為微控制單元(MCU),搭配一款I(lǐng)MU芯片及顯示控制器(以及顯示屏),通過USB線與上位機(jī)(即個(gè)人計(jì)算機(jī)PC)進(jìn)行數(shù)據(jù)交換,通過HDMI線進(jìn)行音視頻傳輸。常用的傳輸方法為:設(shè)計(jì)一個(gè)HID類全速USB設(shè)備(HIDclassFullSpeedUSBdevice),IMU的姿態(tài)信息數(shù)據(jù)上報(bào)使用中斷傳輸(InterruptTransfer),每隔2ms上報(bào)一次數(shù)據(jù)包,每個(gè)數(shù)據(jù)包包含2組IMU數(shù)據(jù);下位機(jī)配置使用控制傳輸(ControlTransfer)。這種“HID類全速USB設(shè)備、IMU數(shù)據(jù)上報(bào)使用中斷傳輸、下位機(jī)配置使用控制傳輸”方案具有中斷傳輸優(yōu)先級(jí)較高,PC響應(yīng)較快的優(yōu)點(diǎn),但也存在明顯的不足:1.全速USB設(shè)備限制了所能傳輸?shù)淖畲髷?shù)據(jù)包長(zhǎng)度為64字節(jié),在沒有定義額外的數(shù)據(jù)包包頭包尾的情況下,無法支持單個(gè)數(shù)據(jù)包超過64字節(jié)的數(shù)據(jù)傳輸,不利于設(shè)備功能擴(kuò)展;2.對(duì)于有編程基礎(chǔ)的使用者,即使不通過下位機(jī)通訊協(xié)議,依然可以通過WindowsHID用戶應(yīng)用界面(API)中的控制傳輸接口對(duì)下位機(jī)進(jìn)行非正常的控制,不利于虛擬現(xiàn)實(shí)設(shè)備的信息安全。為解決上述問題,本發(fā)明設(shè)計(jì)了一種虛擬現(xiàn)實(shí)設(shè)備姿態(tài)信息的捕捉方法,能夠降低虛擬現(xiàn)實(shí)設(shè)備姿態(tài)信息的捕捉延時(shí)、同時(shí)保證了姿態(tài)信息數(shù)據(jù)上行和下行的安全性,且兼顧通訊協(xié)議的可擴(kuò)展性。技術(shù)實(shí)現(xiàn)要素:本發(fā)明目的是:提供一種虛擬現(xiàn)實(shí)設(shè)備姿態(tài)信息的捕捉方法,將整個(gè)姿態(tài)信息捕捉過程的延時(shí)降到最低,同時(shí)保證數(shù)據(jù)上行和下行的安全,并兼顧通訊協(xié)議的可擴(kuò)展性。本發(fā)明的技術(shù)方案是:為達(dá)到低延時(shí),高安全性和兼容性的目的,本發(fā)明技術(shù)方案采用HID類全速USB設(shè)備硬件,方案實(shí)現(xiàn)步驟為:1.虛擬現(xiàn)實(shí)設(shè)備及全速USB設(shè)備在使用前需要安裝驅(qū)動(dòng),因此只有通過下位機(jī)通訊協(xié)議獲取虛擬現(xiàn)實(shí)設(shè)備IMU中姿態(tài)信息數(shù)據(jù),而無法通過WindowsHIDAPI直接進(jìn)行操作。2.本發(fā)明定義了一個(gè)私有的數(shù)據(jù)包封裝協(xié)議,以支持單個(gè)數(shù)據(jù)包超過64字節(jié)的情況,數(shù)據(jù)包封裝協(xié)議見實(shí)施例中表1,在數(shù)據(jù)的傳輸過程中,數(shù)據(jù)包的組包與解包步驟可參考附圖2與附圖3。3.數(shù)據(jù)包封裝協(xié)議中增加的數(shù)據(jù)校驗(yàn)位,保證了整個(gè)數(shù)據(jù)包的完整性和正確性。4.IMU數(shù)據(jù)上報(bào)使用批量傳輸(BulkTransfer),因此克服了現(xiàn)有技術(shù)中數(shù)據(jù)上報(bào)采用中斷傳輸方式的查詢間隔限制,可以支持更大的數(shù)據(jù)帶寬,數(shù)據(jù)采集流程可參考附圖5。5.下位機(jī)配置采用批量傳輸(BulkTransfer),同樣具有數(shù)據(jù)包封裝的過程,在下位機(jī)不明確數(shù)據(jù)封裝格式的情況下,上位機(jī)向下位機(jī)發(fā)送的數(shù)據(jù)視作無效,校準(zhǔn)數(shù)據(jù)流程可參考附圖4。6.上位機(jī)在未接收到下位機(jī)所傳輸?shù)奶摂M設(shè)備姿態(tài)信息數(shù)據(jù)時(shí)會(huì)被阻塞,以此保證當(dāng)下位機(jī)發(fā)送了姿態(tài)信息數(shù)據(jù),上位機(jī)可在第一時(shí)間接收數(shù)據(jù),因此在本方案中傳輸延時(shí)基本等于USB數(shù)據(jù)傳輸本身的延時(shí)。7.每個(gè)慣性測(cè)量單元IMU向上位機(jī)上報(bào)的數(shù)據(jù)包中,都會(huì)包含至少2組姿態(tài)信息數(shù)據(jù),以保證對(duì)虛擬現(xiàn)實(shí)設(shè)備進(jìn)行運(yùn)動(dòng)預(yù)測(cè)時(shí),運(yùn)動(dòng)預(yù)測(cè)算法利用此兩組真實(shí)采集到的IMU姿態(tài)信息數(shù)據(jù)對(duì)之后的一定時(shí)間間隔內(nèi)的姿態(tài)信息進(jìn)行預(yù)測(cè),通過此方法可將IMU姿態(tài)信息數(shù)據(jù)傳輸過程中的延時(shí)也計(jì)算入總延時(shí)中,本發(fā)明中在理想情況下,傳輸延時(shí)基本等于USB數(shù)據(jù)傳輸本身的延時(shí),因此可將此部分延時(shí)降低至接近0ms。(參考實(shí)施例中表2)可選的,本發(fā)明方案中定義的數(shù)據(jù)包大小能夠擴(kuò)展,因此可以支持慣性測(cè)量單元IMU向上位機(jī)上報(bào)的數(shù)據(jù)包包含更多組姿態(tài)信息數(shù)據(jù)。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下創(chuàng)新點(diǎn):1.在現(xiàn)有技術(shù)中,數(shù)據(jù)包封裝時(shí)無法超過64字節(jié),本發(fā)明方案定義了一個(gè)私有的數(shù)據(jù)包封裝協(xié)議,以支持單個(gè)數(shù)據(jù)包超過64字節(jié)的情況,以便于數(shù)據(jù)能夠更快速的傳輸,且減小了數(shù)據(jù)的組包與解包延時(shí)。2.數(shù)據(jù)包封裝協(xié)議中增加了數(shù)據(jù)校驗(yàn)位,在數(shù)據(jù)的組包過程中計(jì)算校驗(yàn)位,在數(shù)據(jù)包解包過程中檢查校驗(yàn)位,因此保證了整個(gè)數(shù)據(jù)包的完整性和正確性。3.IMU數(shù)據(jù)上報(bào)采用批量傳輸(BulkTransfer)方式,因此克服了現(xiàn)有技術(shù)中數(shù)據(jù)上報(bào)采用中斷傳輸方式的查詢間隔限制,可以支持更大的數(shù)據(jù)帶寬,數(shù)據(jù)采集流程可參考附圖5。4.本發(fā)明方法中下位機(jī)的配置采用批量傳輸(BulkTransfer),同樣,具有數(shù)據(jù)包封裝的過程,在下位機(jī)不明確數(shù)據(jù)封裝格式的情況下,上位機(jī)向下位機(jī)發(fā)送的數(shù)據(jù)視作無效,以確保上位機(jī)安全、正確的提取數(shù)據(jù)。5.虛擬現(xiàn)實(shí)設(shè)備及全速USB設(shè)備在使用前需要安裝驅(qū)動(dòng),因此只有通過下位機(jī)通訊協(xié)議獲取虛擬現(xiàn)實(shí)設(shè)備IMU中姿態(tài)信息數(shù)據(jù),而無法通過WindowsHIDAPI直接進(jìn)行操作,增強(qiáng)了數(shù)據(jù)的安全性。附圖說明圖1為IMU數(shù)據(jù)傳輸流程圖;圖2為數(shù)據(jù)包組包步驟流程圖;圖3為數(shù)據(jù)包解包步驟流程圖;圖4為配置IMU校準(zhǔn)數(shù)據(jù)流程圖;圖5為IMU數(shù)據(jù)采集流程圖;具體實(shí)施方式如
背景技術(shù)
中所述,現(xiàn)有技術(shù)的虛擬現(xiàn)實(shí)頭戴顯示設(shè)備姿態(tài)信息的捕捉方法在實(shí)際應(yīng)用中仍然存在延時(shí)長(zhǎng)、安全性低等問題。本發(fā)明技術(shù)方案為將通過驅(qū)動(dòng)讀取到的IMU數(shù)據(jù)通過本發(fā)明方法定義的私有協(xié)議進(jìn)行數(shù)據(jù)組包;將組包完成的數(shù)據(jù)采用批量傳輸方式進(jìn)行傳輸;將接收端接收到的數(shù)據(jù)包按照私有協(xié)議的定義進(jìn)行數(shù)據(jù)解包。尤其在數(shù)據(jù)量較大的情況下,本發(fā)明方法顯著的降低了延時(shí),提高了數(shù)據(jù)的安全性。為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更為明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施例做詳細(xì)的說明。參照附圖1所示為IMU數(shù)據(jù)傳輸流程圖,包括以下步驟:步驟101:虛擬現(xiàn)實(shí)設(shè)備及全速USB設(shè)備在使用前需要安裝驅(qū)動(dòng)程序,通過下位機(jī)通訊協(xié)議獲取虛擬現(xiàn)實(shí)設(shè)備IMU中姿態(tài)信息數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行組包操作,包括但不限于填充包頭、包身數(shù)據(jù);所述驅(qū)動(dòng)程序的安裝目的在于使上位機(jī)只能通過通訊協(xié)議獲取虛擬現(xiàn)實(shí)設(shè)備IMU中姿態(tài)信息數(shù)據(jù),而無法通過WindowsHIDAPI直接進(jìn)行操作,保證了數(shù)據(jù)的安全性;本發(fā)明方法定義了一個(gè)私有的數(shù)據(jù)包封裝協(xié)議,以支持單個(gè)數(shù)據(jù)包超過64字節(jié)的情況,數(shù)據(jù)包封裝協(xié)議見表1。包頭包身包尾特定標(biāo)識(shí)符、包身長(zhǎng)度、包類型有效數(shù)據(jù)校驗(yàn)位、特定標(biāo)識(shí)符表1.數(shù)據(jù)包封裝協(xié)議步驟102:計(jì)算校驗(yàn)位數(shù)據(jù);所述的數(shù)據(jù)包封裝協(xié)議中增加的數(shù)據(jù)校驗(yàn)位,保證了整個(gè)數(shù)據(jù)包的完整性和正確性。步驟103:填充包尾標(biāo)識(shí)符,完成數(shù)據(jù)組包。步驟104:IMU數(shù)據(jù)上報(bào)采用批量傳輸(BulkTransfer)方式;所述批量傳輸方式克服了現(xiàn)有技術(shù)中數(shù)據(jù)上報(bào)采用中斷傳輸方式的查詢間隔限制,可以支持更大的數(shù)據(jù)帶寬。步驟105:接收端接收到數(shù)據(jù)包后,判斷包頭、包尾標(biāo)識(shí)及包身長(zhǎng)度,當(dāng)其中任意一項(xiàng)不符合私有協(xié)議定義的要求時(shí),判定為解包失敗,返回?cái)?shù)據(jù);當(dāng)包頭、包尾標(biāo)識(shí)及包身長(zhǎng)度判定后皆符合要求時(shí),進(jìn)入步驟106。步驟106:檢查校驗(yàn)位,當(dāng)校驗(yàn)位數(shù)據(jù)不符合私有協(xié)議定義的要求時(shí),判定為解包失敗,返回?cái)?shù)據(jù);當(dāng)校驗(yàn)位數(shù)據(jù)符合要求時(shí),進(jìn)入步驟107。步驟107:當(dāng)數(shù)據(jù)包標(biāo)識(shí)信息判定通過后,提取有效數(shù)據(jù),完成數(shù)據(jù)解包操作。圖2為本發(fā)明實(shí)施例中數(shù)據(jù)包組包步驟流程圖,包括如下步驟;步驟201:填充包頭、包身;步驟202:計(jì)算包身長(zhǎng)度;步驟203:填充包類型;步驟204:拷貝有效數(shù)據(jù);步驟205:計(jì)算校驗(yàn)位;步驟206:填充包尾標(biāo)識(shí)符;步驟207:組包完成。圖3為本發(fā)明實(shí)施例中數(shù)據(jù)包解包步驟流程圖,包括如下步驟;步驟301:判斷包頭標(biāo)識(shí)符;步驟302:判斷包身長(zhǎng)度;步驟303:判斷包尾標(biāo)識(shí)符,當(dāng)所述步驟301、302、303,其中任意一項(xiàng)不符合私有協(xié)議定義的要求時(shí),進(jìn)入步驟304,當(dāng)所述步驟301、302、303皆符合要求時(shí),進(jìn)入步驟305;步驟304:解包失敗,返回;步驟305:檢查校驗(yàn)位,當(dāng)校驗(yàn)位數(shù)據(jù)不符合私有協(xié)議定義的要求時(shí),進(jìn)入步驟304,當(dāng)校驗(yàn)位數(shù)據(jù)符合要求時(shí),進(jìn)入步驟306;步驟306:提取有效數(shù)據(jù);步驟307:解包完成。圖4為本發(fā)明實(shí)施例中配置IMU校準(zhǔn)數(shù)據(jù)流程圖,步驟401為虛擬現(xiàn)實(shí)設(shè)備中的計(jì)算流程,步驟402為個(gè)人計(jì)算機(jī)中的計(jì)算流程。配置IMU校準(zhǔn)數(shù)據(jù)的流程為:計(jì)算得出IMU校準(zhǔn)參數(shù)后,通過USBhost組包,采用批量傳輸方式進(jìn)行傳輸,在虛擬現(xiàn)實(shí)設(shè)備端通過USBdevice進(jìn)行解包,再由微控制單元MCU向閃存中寫入IMU校準(zhǔn)數(shù)據(jù)。所述的下位機(jī)配置采用批量傳輸(BulkTransfer),同樣具有數(shù)據(jù)包封裝的過程,在下位機(jī)不明確數(shù)據(jù)封裝格式的情況下,上位機(jī)向下位機(jī)發(fā)送的數(shù)據(jù)視作無效。圖5為本發(fā)明實(shí)施例中IMU數(shù)據(jù)采集流程圖,步驟501為虛擬現(xiàn)實(shí)設(shè)備中的數(shù)據(jù)處理流程,步驟502為個(gè)人計(jì)算機(jī)中的數(shù)據(jù)處理流程。IMU的數(shù)據(jù)采集至顯示流程為:微控制單元MCU通過下位機(jī)通信協(xié)議采集慣性測(cè)量單元IMU中的姿態(tài)信息數(shù)據(jù),并從閃存中讀取IMU校準(zhǔn)數(shù)據(jù),整合后由USBdevice進(jìn)行數(shù)據(jù)組包,采用批量傳輸方式進(jìn)行數(shù)據(jù)傳輸,個(gè)人計(jì)算機(jī)PC接收端接收后由USBhost進(jìn)行數(shù)據(jù)解包,完成姿態(tài)解算及預(yù)測(cè),從而指導(dǎo)圖像的合成與渲染,經(jīng)過HDMI發(fā)送端發(fā)送數(shù)據(jù),接收端接收數(shù)據(jù),由顯示控制模塊控制虛擬現(xiàn)實(shí)設(shè)備顯示器進(jìn)行顯示。本實(shí)施例中所述的每個(gè)慣性測(cè)量單元IMU向上位機(jī)上報(bào)的數(shù)據(jù)包中,都會(huì)包含至少2組姿態(tài)信息數(shù)據(jù),以保證對(duì)虛擬現(xiàn)實(shí)設(shè)備進(jìn)行運(yùn)動(dòng)預(yù)測(cè)時(shí),運(yùn)動(dòng)預(yù)測(cè)算法利用此兩組真實(shí)采集到的IMU姿態(tài)信息數(shù)據(jù)對(duì)之后的一定時(shí)間間隔內(nèi)的姿態(tài)信息進(jìn)行預(yù)測(cè),通過此方法可將IMU姿態(tài)信息數(shù)據(jù)傳輸過程中的延時(shí)也計(jì)算入總延時(shí)中,本發(fā)明中在理想情況下,傳輸延時(shí)基本等于USB數(shù)據(jù)傳輸本身的延時(shí),因此可將此部分延時(shí)降低至接近0ms,(參考表2)。成員名稱功能描述時(shí)間戳MCU記錄的時(shí)間戳IMU數(shù)據(jù)采樣1-第一部分三軸陀螺儀數(shù)據(jù)IMU數(shù)據(jù)采樣1-第二部分三軸加速度數(shù)據(jù)IMU數(shù)據(jù)采樣2-第一部分三軸陀螺儀數(shù)據(jù)IMU數(shù)據(jù)采樣2-第二部分三軸加速度數(shù)據(jù)磁力計(jì)采樣三軸磁力計(jì)數(shù)據(jù)瞳距瞳距數(shù)據(jù)接近開關(guān)(ProximitySwitch)接近開關(guān)保留字節(jié)(Reserve)保留字節(jié),用于結(jié)構(gòu)體32bit對(duì)齊表2.IMU數(shù)據(jù)上報(bào)通訊協(xié)議可選的,本實(shí)施例中定義的數(shù)據(jù)包大小能夠擴(kuò)展,因此可以支持慣性測(cè)量單元IMU向上位機(jī)上報(bào)的數(shù)據(jù)包包含更多組姿態(tài)信息數(shù)據(jù)。所述的上位機(jī)在未接收到下位機(jī)所傳輸?shù)奶摂M設(shè)備姿態(tài)信息數(shù)據(jù)時(shí)會(huì)被阻塞,以此保證當(dāng)下位機(jī)發(fā)送了姿態(tài)信息數(shù)據(jù),上位機(jī)可在第一時(shí)間接收數(shù)據(jù),因此在本實(shí)施例中傳輸延時(shí)基本等于USB數(shù)據(jù)傳輸本身的延時(shí)。以上所述,僅為本發(fā)明具體實(shí)施方式。本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求所界定的保護(hù)范圍為準(zhǔn)。當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
棋牌| 兰西县| 忻城县| 古丈县| 通州区| 离岛区| 鹿泉市| 澄江县| 新密市| 安西县| 盖州市| 稻城县| 青海省| 徐水县| 哈密市| 宁陕县| 鄂州市| 舞阳县| 泊头市| 开化县| 万山特区| 个旧市| 油尖旺区| 黑水县| 朝阳县| 瑞昌市| 民勤县| 太原市| 商洛市| 高密市| 徐闻县| 永德县| 镇江市| 南康市| 武宣县| 五家渠市| 蓬安县| 通渭县| 台南市| 曲松县| 文化|