两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

VR設(shè)備的識別方法及其系統(tǒng)與流程

文檔序號:11199147閱讀:1440來源:國知局
VR設(shè)備的識別方法及其系統(tǒng)與流程

本發(fā)明涉及虛擬現(xiàn)實技術(shù)領(lǐng)域,尤其涉及一種vr設(shè)備的識別方法及其系統(tǒng)。



背景技術(shù):

虛擬現(xiàn)實(virtualreality,簡稱vr)技術(shù)在近兩年發(fā)展迅速,在醫(yī)療、教育、娛樂、新聞、時尚、購物、旅游、房地產(chǎn)、軍事訓(xùn)練等領(lǐng)域有著廣泛的應(yīng)用前景,google、facebook、samsung、htc、3glasses、暴風(fēng)影音、北京螞視科技、小鳥看看等各大企業(yè)紛紛加入,出現(xiàn)cardboard、oculusrift、htcvive、gearvr、3glassess1、暴風(fēng)靡鏡、antvrkit、piconeo各種vr設(shè)備,但目前沒有形成統(tǒng)一的接口,硬件配置本參差不齊,以至于當(dāng)前業(yè)內(nèi)沒有一款能兼容多種vr設(shè)備的測試工具。

而要兼容多種vr設(shè)備,首先必須支持自動識別多種設(shè)備。當(dāng)前市面上并沒有相關(guān)技術(shù)應(yīng)用于pcvr設(shè)備自動識別。很多測試平臺也只針對測試vr資源,沒有涉及到設(shè)備,也就沒有pcvr設(shè)備自動識別技術(shù)。



技術(shù)實現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題是:提出一種vr設(shè)備的識別方法及其系統(tǒng),可進(jìn)行自動識別,且通用性強。

為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:一種vr設(shè)備的識別方法,包括:

遍歷與vr設(shè)備連接的計算機的顯示設(shè)備的設(shè)備編號;

根據(jù)所述設(shè)備編號,在注冊表中獲取對應(yīng)的顯示設(shè)備信息,所述顯示設(shè)備信息包括擴展顯示標(biāo)識數(shù)據(jù);

根據(jù)所述擴展顯示標(biāo)識數(shù)據(jù),解析得到所述顯示設(shè)備的設(shè)備名;

若所述設(shè)備名與預(yù)設(shè)的vr設(shè)備信息庫中的一vr設(shè)備的設(shè)備名匹配,則獲取并加載所述一vr設(shè)備的動態(tài)鏈接庫;

調(diào)用所述動態(tài)鏈接庫中的設(shè)備初始化接口運行所述顯示設(shè)備。

本發(fā)明還涉及一種vr設(shè)備的識別系統(tǒng),包括:

遍歷模塊,用于遍歷與vr設(shè)備連接的計算機的顯示設(shè)備的設(shè)備編號;

第一獲取模塊,用于根據(jù)所述設(shè)備編號,在注冊表中獲取對應(yīng)的顯示設(shè)備信息,所述顯示設(shè)備信息包括擴展顯示標(biāo)識數(shù)據(jù);

解析模塊,用于根據(jù)所述擴展顯示標(biāo)識數(shù)據(jù),解析得到所述顯示設(shè)備的設(shè)備名;

第二獲取模塊,用于若所述設(shè)備名與預(yù)設(shè)的vr設(shè)備信息庫中的一vr設(shè)備的設(shè)備名匹配,則獲取并加載所述一vr設(shè)備的動態(tài)鏈接庫;

調(diào)用模塊,用于調(diào)用所述動態(tài)鏈接庫中的設(shè)備初始化接口運行所述顯示設(shè)備。

本發(fā)明的有益效果在于:pcvr設(shè)備有兩種模式:擴展模式(extendedmode)和直連模式(directmode);當(dāng)vr設(shè)備處于擴展模式時,vr設(shè)備僅作為pc的通用顯示設(shè)備,和顯示器沒有區(qū)別。而由于計算機每插入一個新的顯示設(shè)備,顯示設(shè)備信息(包含edid)都會被記錄下來,并且當(dāng)顯示設(shè)備拔下來不會自動消失,所以注冊表目錄下包含了歷史的所有顯示設(shè)備信息。同時,edid(extendeddisplayidentificationdata,擴展顯示標(biāo)識數(shù)據(jù))中的第三個dtd(detailedtimingdescription,顯示器描述符)塊中記錄了顯示設(shè)備的設(shè)備名。因此,當(dāng)vr設(shè)備連接計算機時,可以從注冊表中獲取顯示設(shè)備信息,再從顯示設(shè)備信息中的edid中獲取設(shè)備名,然后根據(jù)設(shè)備名從vr設(shè)備信息庫中獲取與所述vr設(shè)備匹配的動態(tài)鏈接庫,通過調(diào)用動態(tài)鏈接庫中的設(shè)備初始化接口即可運行所述vr設(shè)備。本發(fā)明可對連接計算機的vr設(shè)備進(jìn)行自動識別,且對sdk沒有依賴,通用性強。

附圖說明

圖1為本發(fā)明一種vr設(shè)備的識別方法的流程圖;

圖2為本發(fā)明實施例一的方法流程圖;

圖3為本發(fā)明實施例二步驟s8的方法流程圖;

圖4為本發(fā)明一種vr設(shè)備的識別系統(tǒng)的結(jié)構(gòu)示意圖;

圖5為本發(fā)明實施例三的系統(tǒng)結(jié)構(gòu)示意圖。

標(biāo)號說明:

1、遍歷模塊;2、第一獲取模塊;3、解析模塊;4、第二獲取模塊;5、調(diào)用模塊;6、注冊模塊;

61、獲取單元;62、確定單元;63、導(dǎo)入單元;64、保存單元。

具體實施方式

為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、所實現(xiàn)目的及效果,以下結(jié)合實施方式并配合附圖詳予說明。

本發(fā)明最關(guān)鍵的構(gòu)思在于:從vr設(shè)備信息庫中匹配得到vr設(shè)備對應(yīng)的動態(tài)鏈接庫。

請參閱圖1,一種vr設(shè)備的識別方法,包括:

遍歷與vr設(shè)備連接的計算機的顯示設(shè)備的設(shè)備編號;

根據(jù)所述設(shè)備編號,在注冊表中獲取對應(yīng)的顯示設(shè)備信息,所述顯示設(shè)備信息包括擴展顯示標(biāo)識數(shù)據(jù);

根據(jù)所述擴展顯示標(biāo)識數(shù)據(jù),解析得到所述顯示設(shè)備的設(shè)備名;

若所述設(shè)備名與預(yù)設(shè)的vr設(shè)備信息庫中的一vr設(shè)備的設(shè)備名匹配,則獲取并加載所述一vr設(shè)備的動態(tài)鏈接庫;

調(diào)用所述動態(tài)鏈接庫中的設(shè)備初始化接口運行所述顯示設(shè)備。

從上述描述可知,本發(fā)明的有益效果在于:可對連接計算機的vr設(shè)備進(jìn)行自動識別。

進(jìn)一步地,所述“根據(jù)所述擴展顯示標(biāo)識數(shù)據(jù),解析得到所述顯示設(shè)備的設(shè)備名”之后,進(jìn)一步包括:

若所述設(shè)備名不與vr設(shè)備信息庫中的任一vr設(shè)備的設(shè)備名匹配,則注冊所述vr設(shè)備。

進(jìn)一步地,所述“注冊所述vr設(shè)備”具體為:

獲取當(dāng)前連接計算機的顯示設(shè)備;

根據(jù)所述顯示設(shè)備的設(shè)備名,確定vr設(shè)備;

導(dǎo)入所述vr設(shè)備的動態(tài)鏈接庫,并將所述動態(tài)鏈接庫保存至預(yù)設(shè)的目錄下;

將所述vr設(shè)備的設(shè)備名及其動態(tài)鏈接庫的庫名保存至vr設(shè)備信息庫中。

由上述描述可知,通過將新的vr設(shè)備注冊到vr設(shè)備信息庫中,豐富vr設(shè)備信息庫中的信息,不斷積累過后,后續(xù)可識別幾乎所有的vr設(shè)備。

進(jìn)一步地,所述“遍歷與vr設(shè)備連接的計算機的顯示設(shè)備的設(shè)備編號”具體為:

通過enumdisplaydevices系統(tǒng)接口遍歷與vr設(shè)備連接的計算機的顯示設(shè)備的設(shè)備編號。

請參照圖4,本實施例還提出一種vr設(shè)備的識別系統(tǒng),包括:

遍歷模塊,用于遍歷與vr設(shè)備連接的計算機的顯示設(shè)備的設(shè)備編號;

第一獲取模塊,用于根據(jù)所述設(shè)備編號,在注冊表中獲取對應(yīng)的顯示設(shè)備信息,所述顯示設(shè)備信息包括擴展顯示標(biāo)識數(shù)據(jù);

解析模塊,用于根據(jù)所述擴展顯示標(biāo)識數(shù)據(jù),解析得到所述顯示設(shè)備的設(shè)備名;

第二獲取模塊,用于若所述設(shè)備名與預(yù)設(shè)的vr設(shè)備信息庫中的一vr設(shè)備的設(shè)備名匹配,則獲取并加載所述一vr設(shè)備的動態(tài)鏈接庫;

調(diào)用模塊,用于調(diào)用所述動態(tài)鏈接庫中的設(shè)備初始化接口運行所述顯示設(shè)備。

進(jìn)一步地,還包括:

注冊模塊,用于若所述設(shè)備名不與vr設(shè)備信息庫中的任一vr設(shè)備的設(shè)備名匹配,則注冊所述vr設(shè)備。

進(jìn)一步地,所述注冊模塊包括:

獲取單元,用于獲取當(dāng)前連接計算機的顯示設(shè)備;

確定單元,用于根據(jù)所述顯示設(shè)備的設(shè)備名,確定vr設(shè)備;

導(dǎo)入單元,用于導(dǎo)入所述vr設(shè)備的動態(tài)鏈接庫,并將所述動態(tài)鏈接庫保存至預(yù)設(shè)的目錄下;

保存單元,用于將所述vr設(shè)備的設(shè)備名及其動態(tài)鏈接庫的庫名保存至vr設(shè)備信息庫中。

進(jìn)一步地,所述遍歷模塊具體用于通過enumdisplaydevices系統(tǒng)接口遍歷與vr設(shè)備連接的計算機的顯示設(shè)備的設(shè)備編號。

實施例一

請參照圖2,本發(fā)明的實施例一為:一種vr設(shè)備的識別方法,包括如下步驟:

s1:遍歷與vr設(shè)備連接的計算機的顯示設(shè)備的設(shè)備編號;進(jìn)一步地,可通過enumdisplaydevices系統(tǒng)接口遍歷得到所述設(shè)備編號。

s2:根據(jù)所述設(shè)備編號,在注冊表中獲取對應(yīng)的顯示設(shè)備信息,所述顯示設(shè)備信息包括擴展顯示標(biāo)識數(shù)據(jù)。

s3:根據(jù)所述擴展顯示標(biāo)識數(shù)據(jù),解析得到所述顯示設(shè)備的設(shè)備名;

s4:判斷所述設(shè)備名是否與預(yù)設(shè)的vr設(shè)備信息庫中的一vr設(shè)備的設(shè)備名匹配,若是,執(zhí)行步驟s5,若否,即所述設(shè)備名不與vr設(shè)備信息庫中的任一vr設(shè)備的設(shè)備名匹配,則執(zhí)行步驟s7。所述vr設(shè)備信息庫中保存了多個vr設(shè)備的設(shè)備名及其對應(yīng)的動態(tài)鏈接庫的庫名的關(guān)聯(lián)關(guān)系;這些關(guān)聯(lián)關(guān)系可以預(yù)先存儲在vr設(shè)備信息庫中,也可以每當(dāng)檢測到新的vr設(shè)備時即進(jìn)行注冊得到。

s5:獲取并加載所述一vr設(shè)備的動態(tài)鏈接庫;即根據(jù)關(guān)聯(lián)關(guān)系,獲取并對應(yīng)所述vr設(shè)備的動態(tài)鏈接庫,并加載所述動態(tài)鏈接庫。

s6:調(diào)用所述動態(tài)鏈接庫中的設(shè)備初始化接口運行所述顯示設(shè)備。

s7:判斷遍歷是否結(jié)束,若否,則執(zhí)行步驟s1,若是,則執(zhí)行步驟s8。

s8:注冊所述vr設(shè)備;即將所述vr設(shè)備注冊至vr設(shè)備信息庫中。

edid(extendeddisplayidentificationdata,擴展顯示標(biāo)識數(shù)據(jù))是一種vesa標(biāo)準(zhǔn)數(shù)據(jù)格式,其中包含有關(guān)顯示器信息及其性能的參數(shù),包括供應(yīng)商信息、顯示器名、最大圖像大小、顏色設(shè)置、廠商預(yù)設(shè)置、頻率范圍限制以及序列號的字符串。edid包含128bytes的基本edid和128bytes的擴展edid,其中,擴展部分不是必須有的。edid有四個dtd(detailedtimingdescription,詳細(xì)時序描述)塊,每塊的大小為18bytes,dtd#3(也叫顯示器描述符)用來描述顯示器的其他特性(顯示器名稱、最大頻率范圍、序列號等),目前強制用于描述顯示器名稱,dtd#3塊的各個字段定義如表1所示。表1為dtd#3塊字段定義表。

表1

當(dāng)前,頭戴式pcvr設(shè)備有兩種模式:擴展模式(extendedmode)和直連模式(directmode)。當(dāng)vr設(shè)備處于擴展模式時,vr設(shè)備僅作為pc的通用顯示設(shè)備,和顯示器沒有區(qū)別。直連模式不是作為pc的通用顯示設(shè)備,而是顯卡直接把畫面渲染數(shù)據(jù)傳輸?shù)絭r設(shè)備上,而沒有經(jīng)過系統(tǒng)monitorgui接口,效率更高。因此,本實施例適用于擴展模式下的vr設(shè)備,但其僅僅作為顯示設(shè)備被識別,并不是vr設(shè)備,所以還必須識別是哪一款vr設(shè)備。

由于每插入一個新的顯示設(shè)備,顯示設(shè)備信息(包含edid)都會被記錄下來,并且當(dāng)顯示設(shè)備拔下來不會自動消失,所以主機的注冊表display目錄下包含了歷史的所有顯示設(shè)備信息。因此,先通過enumdisplaydevices系統(tǒng)接口遍歷當(dāng)前主機的所有顯示設(shè)備id;然后通過當(dāng)前顯示設(shè)備id,找到在注冊表中對應(yīng)的顯示設(shè)備目錄,進(jìn)一步找到對應(yīng)edid;通過edid數(shù)據(jù)結(jié)構(gòu),解析出顯示設(shè)備名(若是vr設(shè)備,則是vr設(shè)備名);通過找到的設(shè)備名,與vr設(shè)備信息庫的設(shè)備名逐個匹配,若匹配成功,則在vr設(shè)備信息庫中找出對應(yīng)vr設(shè)備的dll(動態(tài)鏈接庫)名稱并加載dll;最后由vr設(shè)備dll中的設(shè)備初始化接口進(jìn)行初始化,完成vr設(shè)備識別。

本實施例可對連接計算機的vr設(shè)備進(jìn)行自動識別,且對sdk沒有依賴,通用性強。

實施例二

本實施例是實施例一中步驟s8的進(jìn)一步拓展。

如圖3所示,所述步驟s8具體包括:

s81:獲取當(dāng)前連接計算機的顯示設(shè)備;同樣的,可通過enumdisplaydevices系統(tǒng)接口列出當(dāng)前連接計算機的所有顯示設(shè)備。

s82:根據(jù)所述顯示設(shè)備的設(shè)備名,確定vr設(shè)備;enumdisplaydevices系統(tǒng)接口列出的顯示設(shè)備包括計算機的顯示器和vr設(shè)備,根據(jù)設(shè)備名選擇vr設(shè)備。

s83:導(dǎo)入所述vr設(shè)備的動態(tài)鏈接庫,并將所述動態(tài)鏈接庫保存至預(yù)設(shè)的目錄下。

s84:將所述vr設(shè)備的設(shè)備名及其動態(tài)鏈接庫的庫名保存至vr設(shè)備信息庫中。

本實施例通過將新的vr設(shè)備注冊到vr設(shè)備信息庫中,豐富vr設(shè)備信息庫中的信息,不斷積累過后,后續(xù)可識別幾乎所有的vr設(shè)備。

實施例三

請參照圖5,本實施例是對應(yīng)上述實施例的一種vr設(shè)備的識別系統(tǒng),包括:

遍歷模塊1,用于遍歷與vr設(shè)備連接的計算機的顯示設(shè)備的設(shè)備編號;

第一獲取模塊2,用于根據(jù)所述設(shè)備編號,在注冊表中獲取對應(yīng)的顯示設(shè)備信息,所述顯示設(shè)備信息包括擴展顯示標(biāo)識數(shù)據(jù);

解析模塊3,用于根據(jù)所述擴展顯示標(biāo)識數(shù)據(jù),解析得到所述顯示設(shè)備的設(shè)備名;

第二獲取模塊4,用于若所述設(shè)備名與預(yù)設(shè)的vr設(shè)備信息庫中的一vr設(shè)備的設(shè)備名匹配,則獲取并加載所述一vr設(shè)備的動態(tài)鏈接庫;

調(diào)用模塊5,用于調(diào)用所述動態(tài)鏈接庫中的設(shè)備初始化接口運行所述顯示設(shè)備。

進(jìn)一步地,還包括:

注冊模塊6,用于若所述設(shè)備名不與vr設(shè)備信息庫中的任一vr設(shè)備的設(shè)備名匹配,則注冊所述vr設(shè)備。

進(jìn)一步地,所述注冊模塊6包括:

獲取單元61,用于獲取當(dāng)前連接計算機的顯示設(shè)備;

確定單元62,用于根據(jù)所述顯示設(shè)備的設(shè)備名,確定vr設(shè)備;

導(dǎo)入單元63,用于導(dǎo)入所述vr設(shè)備的動態(tài)鏈接庫,并將所述動態(tài)鏈接庫保存至預(yù)設(shè)的目錄下;

保存單元64,用于將所述vr設(shè)備的設(shè)備名及其動態(tài)鏈接庫的庫名保存至vr設(shè)備信息庫中。

進(jìn)一步地,所述遍歷模塊1具體用于通過enumdisplaydevices系統(tǒng)接口遍歷與vr設(shè)備連接的計算機的顯示設(shè)備的設(shè)備編號。

綜上所述,本發(fā)明提供的一種vr設(shè)備的識別方法及其系統(tǒng),當(dāng)vr設(shè)備連接計算機時,可以從注冊表中獲取顯示設(shè)備信息,再從顯示設(shè)備信息中的edid中獲取設(shè)備名,然后根據(jù)設(shè)備名從vr設(shè)備信息庫中獲取與所述vr設(shè)備匹配的動態(tài)鏈接庫,通過調(diào)用動態(tài)鏈接庫中的設(shè)備初始化接口即可運行所述vr設(shè)備。本發(fā)明可對連接計算機的vr設(shè)備進(jìn)行自動識別,且對sdk沒有依賴,通用性強。

以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等同變換,或直接或間接運用在相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
大英县| 洪雅县| 怀化市| 泗洪县| 怀来县| 灵璧县| 郧西县| 自治县| 故城县| 淄博市| 钦州市| 溆浦县| 桐乡市| 仙居县| 太湖县| 响水县| 包头市| 孙吴县| 伊金霍洛旗| 诸暨市| 平邑县| 永吉县| 喀喇| 蓝田县| 渝北区| 科技| 金阳县| 齐河县| 夏邑县| 石景山区| 个旧市| 新化县| 林口县| 新和县| 临澧县| 辽阳县| 北碚区| 蓝田县| 萨嘎县| 漯河市| 澎湖县|