本發(fā)明涉及虛擬現(xiàn)實技術(shù)領(lǐng)域,具體涉及一種基于虛擬現(xiàn)實的頭戴式智能眼鏡控制方法及控制裝置,特別是頭戴式智能眼鏡屏幕顯示和操作的控制方法及控制裝置。
背景技術(shù):
虛擬現(xiàn)實(Virtual Reality,簡稱VR)是近年來出現(xiàn)的高新技術(shù),也稱人工環(huán)境。虛擬現(xiàn)實是利用電腦模擬產(chǎn)生一個三維空間的虛擬世界,提供使用者關(guān)于視覺、聽覺、觸覺等感官的模擬,讓使用者如同身臨其境一般,可以及時、沒有限制地觀察三度空間內(nèi)的事物。頭戴式可視設(shè)備(Head Mounted Display)是人類實現(xiàn)虛擬現(xiàn)實技術(shù)的裝備之一,又稱頭戴式智能眼鏡。
現(xiàn)在的全沉浸頭戴式智能眼鏡均為采用與電腦相連,數(shù)據(jù)同步;當頭戴式智能眼鏡與電腦鏈接成功后,電腦的顯示屏及桌面顯示,將同步直接顯示在頭戴式智能眼鏡內(nèi)置的顯示屏上;由于頭戴式智能眼鏡光學系統(tǒng)中左右眼光路都是獨立,即人左眼通過頭戴式智能眼鏡僅能看到頭戴式智能眼鏡的內(nèi)置屏幕的左半部分顯示,人右眼通過頭戴式智能眼鏡僅能看到頭戴式智能眼鏡的內(nèi)置屏幕的右半部分顯示,因此,在現(xiàn)有技術(shù)操作下,當頭戴式智能眼鏡與電腦聯(lián)通之后,人左右眼通過頭戴式智能眼鏡所看到不是完整的電腦屏幕桌面顯示;人無法通過戴上頭戴式智能眼鏡后與電腦進行同步操作控制,這樣操作十分不方便。因此,如何提高頭戴式智能眼鏡操控便捷性,成為一個有待進一步解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種基于虛擬現(xiàn)實的頭戴式智能眼鏡顯示控制方法及裝置,利用圖像復(fù)制、縮放、SDK處理及合成等技術(shù),用以解決現(xiàn)有虛擬現(xiàn)實技術(shù)中頭戴式智能眼鏡存在操控不方便,影響用戶體驗效果的問題。
為了實現(xiàn)上述發(fā)明目的,本發(fā)明提供了一種頭戴式智能眼鏡顯示控制方法,包括:
復(fù)制計算機屏幕顯示圖像;
針對所述復(fù)制圖像進行縮放處理;
通過軟件開發(fā)工具包SDK,將所述縮放后的圖像進行處理;
針對所述處理后的圖像,進行復(fù)制合成;
輸出顯示所述復(fù)制合成后的圖像。
優(yōu)選的,上述方法中,
所述復(fù)制計算機屏幕顯示圖像,進一步包括:通過圖形設(shè)備接口GDI復(fù)制或多媒體編程接口DIRECT X復(fù)制。
優(yōu)選的,上述方法中,
所述GDI復(fù)制,進一步包括:
獲取屏幕顯示圖像所對應(yīng)的顯示上下文DC;
創(chuàng)建和目標圖像關(guān)聯(lián)的顯示上下文DC;
通過調(diào)用BitBlt應(yīng)用程序編程接口API復(fù)制所述獲取屏幕顯示圖像所對應(yīng)的顯示上下文DC到所述創(chuàng)建和目標圖像關(guān)聯(lián)的顯示上下文DC中;
獲取內(nèi)存目標圖像,輸出內(nèi)存目標圖像。
優(yōu)選的,上述方法中,
所述DIRECT X復(fù)制,進一步包括:
將執(zhí)行復(fù)制功能的動態(tài)鏈接庫DLL遠程注入目標進程;
初始化復(fù)制功能的動態(tài)鏈接庫DLL,并通過HOOK技術(shù)HOOK DIRECT X相關(guān)API;
在HOOK的函數(shù)中復(fù)制顯示圖片到共享內(nèi)存;
獲取內(nèi)存目標圖像,輸出內(nèi)存目標圖像。
優(yōu)選的,上述方法中,
所述HOOK技術(shù)HOOK DIRECT X相關(guān)API步驟所述的API,進一步包括:幀切換和位切換傳遞操作相關(guān)API或用呈現(xiàn)Present更新接口相關(guān)API。
優(yōu)選的,上述方法中,
針對所述復(fù)制圖像進行縮放處理縮放處理,進一步包括:
將所述復(fù)制圖像縮小至二分之一或預(yù)先設(shè)定大小。
優(yōu)選的,上述方法中,
所述針對所述處理后的圖像,進行復(fù)制合成;進一步是指:
以所述處理后的圖像為標準,復(fù)制一幅相同圖像;
將處理后的圖像和所述復(fù)制的圖像,拼接合成一幅圖像。
優(yōu)選的,上述方法中,
在所述復(fù)制計算機屏幕顯示圖像前,所述智能眼鏡接入計算機。
優(yōu)選的,上述方法中,
所述智能眼鏡與計算機之間的連接,進一步可以為有線連接和無線連接;
所述有線連接,進一步包括但不限于,視頻通過高清晰度多媒體接口HDMI傳輸,數(shù)據(jù)反饋通過通用串行總線USB傳輸;
所述無線連接,進一步包括但不限于,視頻通過無線家庭數(shù)字接口WHDI或 無線高清協(xié)議WIRELESSHD傳輸,數(shù)據(jù)反饋通過藍牙或工業(yè)科學媒體ISM頻段傳輸。
相應(yīng)的,本發(fā)明還提供了一種頭戴式智能眼鏡顯示控制裝置,包括:
復(fù)制模塊,用于復(fù)制計算機屏幕顯示圖像;
縮放模塊,用于針對所述復(fù)制圖像進行縮放處理;
SDK處理模塊,用于通過軟件開發(fā)工具包SDK,將所述縮放后的圖像進行處理;
復(fù)制合成模塊,用于針對所述處理后的圖像,進行復(fù)制合成;
輸出模塊,用于輸出顯示所述復(fù)制合成后的圖像。
通過使用本發(fā)明所提供的頭戴式智能眼鏡顯示控制方法及裝置,可以極大提高通過頭戴式智能眼鏡體驗虛擬現(xiàn)實技術(shù)的操控準確性及方便度,提高了人參與虛擬現(xiàn)實世界的體驗效果。
附圖說明
圖1為本發(fā)明實施例所述的顯示控制方法的流程示意圖;
圖2為本發(fā)明實施例所述的顯示控制裝置的結(jié)構(gòu)示意圖。
具體實施方式
在陳述本發(fā)明實施例之前,先行說明下立體成像一般原理:人的視覺之所以能分辨遠近,是靠兩只眼睛的差距。人的兩眼分開約5公分,兩只眼睛除了瞄準正前方以外,看任何一樣?xùn)|西,兩眼的角度都不會相同。雖然差距很小,但經(jīng)視網(wǎng)膜傳到大腦里,腦子就用這微小的差距,產(chǎn)生遠近的深度,從而產(chǎn)生立體感。一只眼睛雖然能看到物體,但對物體遠近的距離卻不易分辨。根據(jù)這一原理,如果把同一圖像,用兩只眼睛視角的差距制造出兩個影像,然后讓兩只眼睛一邊一個,各自眼球看到自己一邊的影像,透過視網(wǎng)膜就可以使大腦產(chǎn) 生景深的立體感了。
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明的實施例,本領(lǐng)域普通技術(shù)人員在沒有創(chuàng)造性勞動下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,本發(fā)明實施例所述的一種頭戴式智能眼鏡顯示控制方法,應(yīng)用于一電子設(shè)備。該電子設(shè)備優(yōu)選為虛擬現(xiàn)實設(shè)備即頭戴式智能眼鏡、智能頭盔和頭戴顯示器等。所述屏幕控制方法包括以下步驟:
步驟11,復(fù)制計算機屏幕顯示圖像;
步驟12,針對所述復(fù)制圖像進行縮放處理;
步驟13,通過軟件開發(fā)工具包SDK,將所述縮放后的圖像進行處理;
步驟14,針對所述處理后的圖像,進行復(fù)制合成;
步驟15,輸出顯示所述復(fù)制合成后的圖像。
以上步驟11中,所述復(fù)制計算機屏幕顯示圖像,是指將計算機屏幕顯示的圖像復(fù)制到內(nèi)存中。
所述復(fù)制計算機屏幕顯示圖像,進一步包括:通過圖形設(shè)備接口GDI復(fù)制或多媒體編程接口DIRECT X復(fù)制。
所述GDI復(fù)制,進一步包括:獲取屏幕顯示圖像所對應(yīng)的顯示上下文DC(display context);創(chuàng)建和目標圖像關(guān)聯(lián)的顯示上下文DC;通過調(diào)用BitBlt應(yīng)用程序編程接口API復(fù)制所述獲取屏幕顯示圖像所對應(yīng)的顯示上下文DC到所述創(chuàng)建和目標圖像關(guān)聯(lián)的顯示上下文DC中;獲取內(nèi)存目標圖像,輸出內(nèi)存目標圖像。
所述DIRECT X復(fù)制,進一步包括:將執(zhí)行復(fù)制功能的動態(tài)鏈接庫DLL遠程 注入目標進程;初始化復(fù)制功能的動態(tài)鏈接庫DLL,并通過HOOK技術(shù)HOOK DIRECT X相關(guān)API;在HOOK的函數(shù)中復(fù)制顯示圖片到共享內(nèi)存;獲取內(nèi)存目標圖像,輸出內(nèi)存目標圖像。上述所述HOOK技術(shù)HOOK DIRECT X相關(guān)API步驟所述的API,進一步包括:幀切換和位切換傳遞操作相關(guān)API或用呈現(xiàn)Present更新接口相關(guān)API。
以上步驟12中,針對所述復(fù)制圖像進行縮放處理,是指針對計算機屏幕顯示的圖像復(fù)制到內(nèi)存中所生產(chǎn)的目標圖像,進行縮放處理。針對所述復(fù)制圖像進行縮放處理縮放處理,進一步包括:將所述復(fù)制圖像縮小至二分之一或預(yù)先設(shè)定大小。
關(guān)于圖像縮放方面的操作方法通常是,首先設(shè)置縮放參數(shù),然后對每一個要繪制的像素,做坐標縮放。比方原坐標(200,100),縮放參數(shù)是0.5,則坐標變?yōu)?100,50)。
以上步驟13中,所述縮放后的圖像進行SDK處理,是指通過軟件開發(fā)工具包SDK,將所述縮放后的圖像進行處理;所述SDK處理包括對縮放后的圖像進行畸變校正,以保證圖像通過頭戴式智能眼鏡進入人眼后無畸變,畫面沉浸感好,圖像顯示質(zhì)量高。
以上步驟14中,針對所述SDK處理后的圖像,進行復(fù)制合成;進一步是指:以所述SDK處理后的圖像為標準,復(fù)制一幅相同圖像;將SDK處理后的圖像和所述復(fù)制的圖像,拼接合成一幅圖像。即一幅圖像以中間線為分界線,左右兩部門為大小完全相同的圖像或畫面,以適合頭戴式智能眼鏡顯示;所述圖像復(fù)制合成過程通常又稱之為圖像分屏操作。
各種圖片的分屏操作是通過使用開放圖形庫OpenGL(全寫Open Graphics Library)進行操作實現(xiàn)。OpenGL是個定義了一個跨編程語言、跨平臺的編程接 口規(guī)格的專業(yè)的圖形程序接口。它用于三維圖像(二維的亦可),是一個功能強大,調(diào)用方便的底層圖形庫。OpenGL按照流水線型設(shè)計的,和硬件無關(guān),這讓它能夠運行于各種各樣的圖形硬件上。同時它也是軟件無關(guān)的,可以運行于不同的操作系統(tǒng),而只需操作系統(tǒng)只需提供一個讓OpenGL運行的圖形用戶界面(Graphical User Interface,簡稱GUI)庫,同樣的OpenGL也還會提供描述三維模型或者讀取圖片文件的方法,所需要做的是將一系列三維圖元(比如點,線,三角形),來組成三維物體。
本實施例中的上述14步驟中的分屏操作就是通過使用開放圖形庫OpenGL(全寫Open Graphics Library)進行操作實現(xiàn)。在分屏的技術(shù)操作中,將會用到Shader和Fragment Shaders;Shader是著色器,它的工作就是讀取你的網(wǎng)格并渲染在屏幕上;Fragment Shaders片段著色器,把一系列幾何圖形變成2D屏幕上的像素顏色,允許你一次修改一個像素點的顏色以及紋理貼圖的坐標位置。一般情況下分為兩個步驟,首先判斷某一像素點是否在繪圖范圍內(nèi);然后根據(jù)判斷結(jié)果進行對應(yīng)操作,即若某一像素點在繪圖范圍內(nèi),則使用視頻幀來填充,否則,則填充背景色。
上述步驟15,輸出顯示所述復(fù)制合成后的圖像;進一步是指,在步驟14中完成圖像復(fù)制合成后,將所述復(fù)制合成后的一張圖像輸出顯示到頭戴式智能眼鏡中。即頭戴式智能眼鏡顯示屏中,能顯示出與計算機屏幕內(nèi)容一致的左右分屏圖像,即此時戴上智能眼鏡,人體左眼能看到的圖像為左顯示屏或顯示屏左半部分顯示的圖像,該圖像與計算機所顯示的屏幕圖像內(nèi)容一致;人體右眼能看到的圖像為右顯示屏或顯示屏右半部分顯示的圖像,該圖像與計算機所顯示的屏幕圖像內(nèi)容一致;因此,人體雙眼戴上智能眼鏡后,通過左右眼所看的完整立體影像能和計算機屏幕顯示保持一致;極大方便了智能眼鏡的使用者操控 智能眼鏡。
在進行上述步驟11之前,即在所述復(fù)制計算機屏幕顯示圖像前,所述智能眼鏡接入計算機。所述智能眼鏡與計算機之間的連接,進一步可以為有線連接和無線連接;所述有線連接,進一步包括但不限于,視頻通過高清晰度多媒體接口HDMI傳輸,數(shù)據(jù)反饋通過通用串行總線USB傳輸;所述無線連接,進一步包括但不限于,視頻通過無線家庭數(shù)字接口WHDI或無線高清協(xié)議WIRELESSHD傳輸,數(shù)據(jù)反饋通過藍牙或工業(yè)科學媒體ISM頻段傳輸。
本發(fā)明實施例,還提供了一種頭戴式智能眼鏡屏幕控制裝置,如圖2所示,該裝置包括:
復(fù)制模塊,用于復(fù)制計算機屏幕顯示圖像;
縮放模塊,用于針對所述復(fù)制圖像進行縮放處理;
SDK處理模塊,用于通過軟件開發(fā)工具包SDK,將所述縮放后的圖像進行處理;
復(fù)制合成模塊,用于針對所述處理后的圖像,進行復(fù)制合成;
輸出模塊,用于輸出顯示所述復(fù)制合成后的圖像。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。