本發(fā)明涉及虛擬三維空間處理技術(shù)領(lǐng)域,特別涉及一種用于三維空間中的陣列式輸入方法及系統(tǒng)。
背景技術(shù):
隨著VR(Virtual Reality,虛擬現(xiàn)實)、AR(Augmented Reality,增強現(xiàn)實)和MR(Mix Reality,混合現(xiàn)實)技術(shù)的發(fā)展,用戶在虛擬三維空間的輸入操作頻率也迅速增加,因此在虛擬三維空間中快速高效的完成輸入變得尤其重要。
現(xiàn)階段,在(虛擬)三維空間中,輸入模式大多采用平面、二維方式。在某些AR場景中,雖然有小部分帶有深入信息的輸入邏輯,這些操作對于輕度操作或者非大量輸入操作是可行的,但是當(dāng)用戶需要輸入一長串密碼、文字等信息時,就顯得非常低效,并且也不能充分利用三維空間中的深度信息,信息的安全性也得不到提高。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的旨在至少解決所述技術(shù)缺陷之一。
為此,本發(fā)明的目的在于提出一種用于三維空間中的陣列式輸入方法及系統(tǒng),可以實現(xiàn)將數(shù)字、字母或符號等在三維空間中分布在不同深度層上,從而大大減少了每層元素的數(shù)量,解決了在三維空間中輸入不方便的問題,使得用戶在三維空間中的輸入更加有條理和高效。
為了實現(xiàn)上述目的,本發(fā)明一方面的實施例提供一種用于三維空間中的陣列式輸入方法,包括如下步驟:
步驟S1,接收用戶的輸入請求,其中,所述輸入請求包括:待輸入元素的類型;
步驟S2,響應(yīng)所述輸入請求,并根據(jù)所述待輸入元素的類型設(shè)置備選輸入元素在三維空間中顯示布局,其中,所述顯示布局包括所述備選輸入元素在三維空間中的層數(shù)及排列,每個所述備選輸入元素在所述三維空間中具有唯一的三維坐標;
步驟S3,將所述備選輸入元素以三維陣列形式在所述用戶前方的三維空間顯示;
步驟S4,采用三維空間定位技術(shù)檢測用戶的輸入手段介質(zhì),并實時定位用戶以該輸入手段在所述三維陣列中的移動位置,檢測每個位置處的三維坐標,進而將每個所述三維坐標對應(yīng)的備選輸入元素作為用戶的輸入元素,直至檢測到用戶的確認完成操作;
步驟S5,將所述用戶的輸入元素傳輸至后續(xù)操作系統(tǒng),完成輸入操作。
進一步,所述輸入元素的類型至少包括以下一種或多種的組合:數(shù)字、字母、符號和操作控制鍵。
進一步,在所述步驟S2中,根據(jù)所述待輸入元素的類型設(shè)置備選輸入元素在三維空間中顯示布局,包括:
當(dāng)所述輸入元素的類型包括:數(shù)字、字母、符號和操作控制鍵時,按照距離用戶由近及遠的方式,依次對所述操作控制鍵、數(shù)字、字母、符號分層排列,每種類型的輸入元素分布在一層或多層排列;
當(dāng)所述輸入元素的類型包括:數(shù)字和操作控制鍵且所述用戶請求輸入密碼時,按照距離用戶由近及遠的方式,依次對所述操作控制鍵和數(shù)字分層排列,其中,所述操作控制鍵分布在同一層,所述數(shù)字分布在多層排列,相同數(shù)字在不同層重復(fù)排列;
當(dāng)所述輸入元素的類型包括:字母和操作控制鍵時,按照距離用戶由近及遠的方式,依次對所述操作控制鍵和字母分層排列,其中,所述操作控制鍵分布在同一層,所述字母分布在多層排列,相同字母在不同層重復(fù)排列。
進一步,所述備選輸入元素在三維空間中顯示布局的選取包括以下兩種方式:
1)系統(tǒng)預(yù)先配置,根據(jù)所述輸入請求中的待輸入元素的類型自動選取配置;
2)由用戶在所述輸入請求進行配置。
進一步,在所述步驟S4中,所述三維空間定位技術(shù)至少包括以下一種:飛行時間TOF定位技術(shù)、雙目攝像頭定位技術(shù)、超聲波定位技術(shù)、光學(xué)定位技術(shù)、kinect體感定位技術(shù)、動態(tài)控制器Ps move定位技術(shù)、燈塔Light house定位技術(shù)、激光雷達定位技術(shù)、超寬帶UWB定位技術(shù)、同步定位與建圖SLAM技術(shù)、Virtuix omni定位技術(shù)、結(jié)構(gòu)光定位技術(shù)。
進一步,在所述步驟S4中,所述用戶的輸入手段介質(zhì)包括:手部輸入、利用外部控制裝置輸入、利用鍵盤鼠標輸入。
進一步,在所述步驟S4中,
首先,采用所述三維空間定位技術(shù)獲取用戶的當(dāng)前輸入位置在所述三維陣列中與所述用戶視角平行的所在x-y軸平面的坐標;
然后,采用所述三維空間定位技術(shù)檢測所述用戶通過輸入手段在所述三維陣列中的移動,獲取所述用戶與所述用戶視角垂直的z軸深度信息上的坐標,進而得到所述用戶的當(dāng) 前輸入位置的三維坐標;
最后,根據(jù)所述步驟S2中配置的每個三維坐標對應(yīng)的備選輸入元素的對應(yīng)關(guān)系,將該三維坐標對應(yīng)的備選輸入元素作為用戶的輸入元素;
其中,在所述步驟S3中,每定位出一個輸入元素,對該輸入元素進行高亮處理以提示用戶,并在接收到用戶的確認操作后,將該輸入元素傳輸至后續(xù)操作系統(tǒng)。
本發(fā)明另一個實施例提供一種用于三維空間中的陣列式輸入系統(tǒng),包括:通信模塊,用于接收用戶的輸入請求,其中,所述輸入請求包括:待輸入元素的類型;三維陣列生成及顯示模塊,所述三維陣列生成及顯示模塊與所述通信模塊相連,用于響應(yīng)所述輸入請求,并根據(jù)所述待輸入元素的類型設(shè)置備選輸入元素在三維空間中顯示布局,將所述備選輸入元素以三維陣列形式在所述用戶前方的三維空間顯示,其中,所述顯示布局包括所述備選輸入元素在三維空間中的層數(shù)及排列,每個所述備選輸入元素在所述三維空間中具有唯一的三維坐標;三維空間定位模塊,所述三維空間定位模塊與所述三維陣列生成及顯示模塊相連,用于采用三維空間定位技術(shù)檢測用戶的輸入手段介質(zhì),并實時定位用戶以該輸入手段在所述三維陣列中的移動位置,檢測每個位置處的三維坐標,將每個所述三維坐標對應(yīng)的備選輸入元素作為用戶的輸入元素,直至檢測到用戶的確認完成操作;所述通信模塊還用于將所述用戶的輸入元素傳輸至后續(xù)操作系統(tǒng),完成輸入操作。
進一步,所述輸入元素的類型至少包括以下一種或多種的組合:數(shù)字、字母、符號和操作控制鍵,
所述三維陣列生成及顯示模塊設(shè)置備選輸入元素在三維空間中的顯示布局,包括以下形式:
當(dāng)所述輸入元素的類型包括:數(shù)字、字母、符號和操作控制鍵時,按照距離用戶由近及遠的方式,依次對所述操作控制鍵、數(shù)字、字母、符號分層排列,每種類型的輸入元素分布在一層或多層排列;
當(dāng)所述輸入元素的類型包括:數(shù)字和操作控制鍵且用戶請求輸入密碼時,按照距離用戶由近及遠的方式,依次對所述操作控制鍵和數(shù)字分層排列,其中,所述操作控制鍵分布在同一層,所述數(shù)字分布在多層排列,相同數(shù)字在不同層重復(fù)排列;
當(dāng)所述輸入元素的類型包括:字母和操作控制鍵時,按照距離用戶由近及遠的方式,依次對所述操作控制鍵和字母分層排列,其中,所述操作控制鍵分布在同一層,所述字母分布在多層排列,相同字母在不同層重復(fù)排列。
進一步,所述備選輸入元素在三維空間中顯示布局的選取包括以下兩種方式:
1)系統(tǒng)預(yù)先配置,根據(jù)所述輸入請求中的待輸入元素的類型自動選取配置;
2)由用戶在所述輸入請求進行配置。
進一步,所述三維空間定位模塊采用的三維空間定位技術(shù)至少包括以下一種:飛行時間TOF定位技術(shù)、雙目攝像頭定位技術(shù)、超聲波定位技術(shù)、光學(xué)定位技術(shù)、kinect體感定位技術(shù)、動態(tài)控制器Ps move定位技術(shù)、燈塔Light house定位技術(shù)、激光雷達定位技術(shù)、超寬帶UWB定位技術(shù)、同步定位與建圖SLAM技術(shù)、Virtuix omni定位技術(shù)、結(jié)構(gòu)光定位技術(shù)。
進一步,所述三維空間定位模塊采用所述三維空間定位技術(shù)獲取用戶的當(dāng)前輸入位置在所述三維陣列中與所述用戶視角平行的所在x-y軸平面的坐標;然后采用所述三維空間定位技術(shù)檢測所述用戶通過輸入手段在所述三維陣列中的移動,獲取所述用戶與所述用戶視角垂直的z軸深度信息上的坐標,進而得到所述用戶的當(dāng)前輸入位置的三維坐標;最后根據(jù)配置的每個三維坐標對應(yīng)的備選輸入元素的對應(yīng)關(guān)系,將該三維坐標對應(yīng)的備選輸入元素作為用戶的輸入元素,
其中,所述三維空間定位模塊每定位出一個輸入元素,對該輸入元素進行高亮處理以提示用戶,并在接收到用戶的確認操作后,將該輸入元素傳輸至后續(xù)操作系統(tǒng)。
進一步,所述用戶的輸入手段介質(zhì)包括:手部輸入、利用外部控制裝置輸入、利用鍵盤鼠標輸入;
所述用于三維空間中的陣列式輸入系統(tǒng)安裝于虛擬現(xiàn)實VR設(shè)備或增強現(xiàn)實AR及混合現(xiàn)實MR設(shè)備上,與所述虛擬現(xiàn)實VR設(shè)備或AR及MR設(shè)備內(nèi)的操作系統(tǒng)進行通信。
根據(jù)本發(fā)明實施例的用于三維空間中的陣列式輸入方法及系統(tǒng),充分利用了(虛擬)三維空間的深度維信息,將原本數(shù)量較多的數(shù)字、字母或符號等元素按照輸入方便性的規(guī)則分布在不同深度層上,從而大大減少了每層元素的數(shù)量,解決了在三維空間中輸入不方便的問題,使得用戶在三維空間中的輸入更加有條理和高效。并且,通過采用三維空間定位技術(shù)對用戶的輸入進行精確定位,可以精確定位出用戶的輸入元素。通過三維陣列顯示數(shù)字排列,相對于二維平面顯示形式,可以大幅提高用戶輸入信息的安全性。
本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
本發(fā)明的上述和/或附加的方面和優(yōu)點從結(jié)合下面附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1為根據(jù)本發(fā)明一個實施例的用于三維空間中的陣列式輸入方法的流程圖;
圖2為根據(jù)本發(fā)明另一個實施例的用于三維空間中的陣列式輸入方法的流程圖;
圖3為根據(jù)本發(fā)明實施例的三維空間陣列的示意圖;
圖4為根據(jù)本發(fā)明實施例的三層數(shù)字鍵盤陣列的示意圖;
圖5為根據(jù)本發(fā)明實施例的三層英文字母鍵盤陣列的示意圖;
圖6為根據(jù)本發(fā)明實施例的三維數(shù)字陣列點選第一層“5”元素的示意圖;
圖7為根據(jù)本發(fā)明實施例的三維數(shù)字陣列點選第二層“0”元素示意圖;
圖8為根據(jù)本發(fā)明實施例用于三維空間中的陣列式輸入系統(tǒng)的結(jié)構(gòu)圖。
具體實施方式
下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
在本發(fā)明中,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”、“固定”等術(shù)語應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內(nèi)部的連通。對于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
本發(fā)明提出一種用于(虛擬)三維空間中的陣列式輸入方法及系統(tǒng),通過在用戶前方的三維空間中,利用三維空間的深度信息將備選輸入元素以三維陣列形式排列顯示,這種形式相對平面和二維的元素排列方式,可以充分利用深度信息,也提高了用戶輸入的信息安全性。
如圖1所示,本發(fā)明實施例的用于三維空間中的陣列式輸入方法,包括如下步驟:
步驟S1,接收用戶的輸入請求。
當(dāng)用戶希望輸入信息時,觸發(fā)設(shè)備的輸入模式以發(fā)送輸入請求。其中,輸入請求包括:待輸入元素的類型。例如,用戶可以在輸入請求中明確待輸入元素包括:字母和數(shù)字的組合或者字母、數(shù)字和符號的組合等。在本步驟中,設(shè)備可以提供顯示待輸入元素的選擇提示框,用戶根據(jù)需要進行選擇,確認后發(fā)送該輸入請求。
步驟S2,響應(yīng)輸入請求,并根據(jù)待輸入元素的類型設(shè)置備選輸入元素在三維空間中顯示布局。
具體地,在接收到用戶的輸入請求后,啟動響應(yīng)該輸入請求,并獲取輸入請求中記錄的待輸入元素的類型。根據(jù)該待輸入元素的類型對備選輸入元素在三維空間中進行顯示布 局。
在本發(fā)明的一個實施例中,實現(xiàn)上述顯示布局的以下手段之一:
(1)在虛擬畫面中渲染進相應(yīng)的三維畫面,實現(xiàn)三維顯示;
(2)在眼睛前若干厘米處設(shè)置一個光學(xué)光導(dǎo)鏡片,通過在該鏡片上打出相應(yīng)的三維圖像,實現(xiàn)三維效果。
需要說明的是,實現(xiàn)三維顯示布局的手段不限于上述兩種,還可以采取其用戶方式,只要可以達到將輸入元素進行三維顯示的目的即可,在此不再贅述。
其中,顯示布局包括備選輸入元素在三維空間中的層數(shù)及排列,利用上述三維顯示手段將備選輸入元素以三維陣列形式在用戶面前進行排列顯示。此外,每個備選輸入元素在三維空間中均具有唯一的三維坐標,這是為了后續(xù)在三維空間中定位匹配使用。
如圖3所示,從距離用戶由近及遠的順序,依次排列有:數(shù)字、字母和符號,其中字母的數(shù)量較多可以分多層進行排列。當(dāng)然,圖3僅是示例的目的,不同類型元素的排列順序、層數(shù)和位置可以由系統(tǒng)和用戶根據(jù)需要和用戶習(xí)慣進行設(shè)置。
在本發(fā)明的一個實施例中,輸入元素的類型至少包括以下一種或多種的組合:數(shù)字、字母、符號和操作控制鍵。其中,操作控制鍵例如為:退格鍵、換行鍵、確認鍵。需要說明的是,輸入元素的類型不限于上述,還可以包括其用戶類型,并且輸入元素的類型可以根據(jù)需要進行添加和刪除。
具體地,根據(jù)待輸入元素的類型設(shè)置備選輸入元素在三維空間中顯示布局,包括:
(1)當(dāng)輸入元素的類型包括:數(shù)字、字母、符號和操作控制鍵時,按照距離用戶由近及遠的方式,依次對操作控制鍵、數(shù)字、字母、符號分層排列,每種類型的輸入元素分布在一層或多層排列。
(2)當(dāng)輸入元素的類型包括:數(shù)字和操作控制鍵時,按照距離用戶由近及遠的方式,依次對操作控制鍵和數(shù)字分層排列,其中,操作控制鍵分布在同一層,數(shù)字可以分布在一層或多層排列,相同數(shù)字在不同層重復(fù)排列。操作控制鍵和數(shù)字在不同層之間的排列順序由系統(tǒng)或用戶進行設(shè)置。例如,操作控制鍵在第一層,數(shù)字在其后若干層;或者數(shù)字在前,操作控制鍵在最后一層,根據(jù)用戶習(xí)慣可自行設(shè)置。
舉例來說,當(dāng)用戶需要輸入密碼時,則對數(shù)字分多層排列,這種方式可以提高輸入信息的安全性。參考圖4,是0-9的10個數(shù)字在多層進行顯示,并且相同數(shù)字在多層重復(fù)排列顯示,并區(qū)分不同層。當(dāng)采用多層排列時,用戶可以在多層數(shù)字之間切換,從而周圍人無法從手的相對位移推斷出用戶輸入的密碼。
以輸入6位密碼為例,普通的二維數(shù)字密碼,用戶的安全系數(shù)為1/10^6。但是采用本 發(fā)明,在三維空間陣列中進行輸入,由于區(qū)分了不同層,所以同樣的6位數(shù)字密碼,其安全等級為1/30^6。可知,安全系數(shù)相對二維輸入提高了729倍。當(dāng)輸入密碼位數(shù)更多或者層數(shù)更多時,安全系數(shù)相應(yīng)能得到更大幅度的提升。
當(dāng)用戶在日常只需輸入數(shù)字的情況下,數(shù)字單層排列即可,參考圖3的第一層。用戶可以在輸入請求中明確自己此次是否為密碼輸入,或者由系統(tǒng)根據(jù)用戶當(dāng)前使用的功能自動推斷出用戶進行密碼輸入,從而配置相應(yīng)的數(shù)字顯示布局。
(3)當(dāng)輸入元素的類型包括:字母和操作控制鍵時,按照距離用戶由近及遠的方式,依次對操作控制鍵和字母分層排列,其中,操作控制鍵分布在同一層,字母分布在多層排列,相同字母在不同層重復(fù)排列。操作控制鍵和字母在不同層之間的排列順序由系統(tǒng)或用戶進行設(shè)置。例如,參考圖5,操作控制鍵在第一層,字母在其后若干層;或者字母在前,操作控制鍵在最后一層,根據(jù)用戶習(xí)慣可自行設(shè)置。例如,26個英文字母可以分兩層排列,每層排列13個字母,在每層內(nèi)各個字母具體的排列形式任意設(shè)置。此外,26個英文字母也可分3層排列,前兩層各排列8個字母元素,第三層排列10個字母元素。當(dāng)然,上述僅是給出優(yōu)選實施例,三維陣列不限層數(shù)和每層的元素數(shù)量,實際形式依照具體輸入要求而定。
在本發(fā)明的一個實施例中,備選輸入元素在三維空間中顯示布局的選取包括以下兩種方式:
1)系統(tǒng)預(yù)先配置,根據(jù)輸入請求中的待輸入元素的類型自動選取配置;
2)由用戶在輸入請求進行配置。
需要說明的是,備選輸入元素在三維空間中顯示布局,其分層規(guī)則依照使用者的輸入內(nèi)容及操作的便利性而定,可以依照自己的喜好選擇分層的層數(shù)以及每層待輸入內(nèi)容的排列。
步驟S3,將備選輸入元素以三維陣列形式在用戶前方的三維空間顯示。
在本步驟中,在用戶視覺場前(field of view)合適位置處生成一個在(虛擬)三維空間中的三維陣列,該三維陣列包括所有的備選輸入元素,供用戶查看及選擇。
步驟S4,采用三維空間定位技術(shù)檢測用戶的輸入手段介質(zhì),并實時定位用戶以該輸入手段在三維陣列中的移動位置,檢測每個位置處的三維坐標,進而將每個三維坐標對應(yīng)的備選輸入元素作為用戶的輸入元素,直至檢測到用戶的確認完成操作。
待輸入的數(shù)字、字母或符號等按照要求在三維空間中排列完成后,并在用戶前方的三維空間中顯示。當(dāng)用戶準備進行輸入操作時,則通過三維空間定位技術(shù)檢測用戶的輸入手段介質(zhì)。在本發(fā)明的實施例中,用戶的輸入手段介質(zhì)包括:手部輸入、利用外部控制裝置 輸入、利用鍵盤鼠標輸入。即,用戶可以采用手、控制裝置、鍵盤、鼠標等手段在三維陣列空間中移動,并完成選擇確認操作。此外,用戶可以采用單手或單控制裝置的輸入手段,可以雙手或雙控制裝置點選三維陣列中的元素。
利用三維空間定位技術(shù)對用戶在三維空間中移動位置進行空間定位,實時定位用戶以該輸入手段在三維陣列中的移動位置,檢測每個位置處的三維坐標。根據(jù)步驟S2中,每個備選輸入元素在三維空間中均具有唯一的三維坐標。將檢測出的移動位置的三維坐標和備選輸入元素的三維坐標進行比對,判斷出用戶選擇的備選輸入元素,進而將每個三維坐標對應(yīng)的備選輸入元素作為用戶的輸入元素,直至檢測到用戶的確認完成操作。
在本發(fā)明的一個實施例中,三維空間定位技術(shù)至少包括以下一種:飛行時間TOF定位技術(shù)、雙目攝像頭定位技術(shù)、超聲波定位技術(shù)、光學(xué)定位技術(shù)、kinect體感定位技術(shù)、動態(tài)控制器Ps move定位技術(shù)、燈塔Light house定位技術(shù)、激光雷達定位技術(shù)、超寬帶UWB定位技術(shù)、同步定位與建圖SLAM技術(shù)、Virtuix omni定位技術(shù)、結(jié)構(gòu)光定位技術(shù)。
需要說明的是,本發(fā)明采用的三維空間定位技術(shù)不限于上述舉例,還可以為其用戶類型的定位技術(shù),只要能夠?qū)崿F(xiàn)在三維空間的定位即可,在此不再贅述。
步驟S5,將用戶的輸入元素傳輸至后續(xù)操作系統(tǒng),完成輸入操作。
下面以飛行時間TOF定位技術(shù)為例,對定位過程進行說明:
圖2為根據(jù)本發(fā)明另一個實施例的用于三維空間中的陣列式輸入方法的流程圖。
步驟S201,按需求確定待輸入元素的層數(shù)及排列。
由用戶根據(jù)自己的輸入目的明確輸入元素的類型,即:輸入數(shù)字、字母或符號等需求,或者數(shù)字、字母、符號均有等。
按照明確的輸入要求,在用戶視覺場前(field of view)合適位置處生成一個在(虛擬)三維空間中的三維陣列,即含有z軸深度信息的陣列。其中,z軸深度信息與對應(yīng)操作手段的深度信息一一對應(yīng)。
步驟S202,顯示對應(yīng)三維陣列。
步驟S203,使用三維空間定位技術(shù)定位輸入手段介質(zhì)。
利用三維空間定位技術(shù)獲取用戶的輸入手段介質(zhì),例如通過手部、控制裝置、鍵盤鼠標等操作手段。
步驟S204,用該輸入手段在三維陣列中移動選擇。
在獲知用戶的輸入手段介質(zhì)后,利用三維空間定位技術(shù)獲取用戶采用該輸入手段在三維陣列中移動位置信息,將該位置信息映射到生成的三維空間陣列中的對應(yīng)陣列元素位置處,并給相應(yīng)的反饋。
首先,利用三維空間定位技術(shù)獲取用戶的當(dāng)前輸入位置在三維陣列中與用戶視角平行的所在x-y軸平面的坐標。
然后,采用三維空間定位技術(shù)檢測用戶通過輸入手段在三維陣列中的移動,獲取用戶與用戶視角垂直的z軸深度信息上的坐標,進而得到用戶的當(dāng)前輸入位置的三維坐標。具體地,相對于手或者控制裝置等輸入手段的相對移動,將位置變化信息實時的對應(yīng)到三維陣列中備選輸入元素的三維坐標。當(dāng)移到三維陣列中某個備選輸入元素的觸發(fā)范圍內(nèi),則實現(xiàn)選中相應(yīng)位置處的元素的操作。
最后,根據(jù)配置的每個三維坐標對應(yīng)的備選輸入元素的對應(yīng)關(guān)系,將該三維坐標對應(yīng)的備選輸入元素作為用戶的輸入元素。
下面以TOF定位技術(shù)作為空間定位方案,以手勢輸入作為案例輸入手段,以輸入0-9密碼作為案例具體需求,來描述本發(fā)明的運行過程。
首先用戶明確自己要輸入0-9的數(shù)字密碼的需求后,將該需求明確在輸入請求中。根據(jù)該需求在三維空間中生成包括數(shù)字及操作控制鍵的三維陣列,其層數(shù)和順序可以依照使用者而定,例如設(shè)置為3層。
然后,生成帶深度信息的三維陣列并在(虛擬)三維空間中展現(xiàn)在使用者視場中。具體的生成方式為:每個陣列元素(即附帶單個數(shù)字或操作控制鍵的陣列塊),具有一個唯一的三維坐標,包括:二維坐標信息和z軸的深度信息。此外,對于三層設(shè)置,第二層、第三層的陣列形狀會依據(jù)透視的原理在二維空間中做一些形變和透視,從而使得視覺效果上也有三維陣列的感覺。這里的z軸深度信息與之后的輸入手段的深度信息一一對應(yīng)。當(dāng)建立好三維陣列后,利用TOF定位技術(shù)首先對用戶的輸入手段進行定位。
具體的,在本實施例中,用戶使用手勢作為輸入手段。通過TOF定位技術(shù)定位輸入手段的媒介,即具體的手的位置。TOF通過特有的相機,向輸入手段的媒介,即用戶的手,連續(xù)發(fā)送光脈沖,然后用傳感器接收從手部返回的光脈沖,通過探測光脈沖的往返時間來得到手的深度信息。TOF相機可以同時得到其視場內(nèi)整副圖像的深度信息,即手部的z軸深度信息。
本發(fā)明以TOF相機為參照物,認定TOF相機、生成的三維陣列與該TOF相機的相對位置均不變。這樣就形成了一套以TOF相機和三維立體陣列為參照的三維坐標系,預(yù)先規(guī)定好固定不變的三維陣列的X、Y軸及Z軸坐標。同時,通過TOF相機給出手部的深度信息和在此坐標系內(nèi)的x和y軸坐標。手部在這個坐標系內(nèi)移動,相對于不變的三維陣列,從而可以計算出手部在三維空間內(nèi)的相對移動坐標。由于z軸深度信息和三維陣列自帶的深度信息是一一對應(yīng)的。因此,通過獲取手部在z軸的相對移動,也可以反映到不變的三維陣 列深度信息z軸上。基于此,可以實現(xiàn)利用TOF定位技術(shù)對輸入手段的介質(zhì):手部的三維坐標的標定及獲取。
在確定了手的具體位置后,用戶移動手部可以在建立完成的三層數(shù)字陣列中移動選擇。當(dāng)TOF檢測到手后,初始化手部的初始位置,并與生成的三維空間陣列中的初始位置相對應(yīng)。由此,只需要檢測手部的相對移動,便可以確定手部在三維空間的具體位置。如圖6所示,當(dāng)檢測到手部時,如果檢測出此時手部位置的三維坐標為V1,通過判斷發(fā)現(xiàn)該V1與生成的3層數(shù)字陣列的第一層的數(shù)字“5”的三維坐標V0相對應(yīng),則初步判斷用戶當(dāng)前選中的輸入元素為5。此時,即第一層的“5”會高亮,以向用戶提示其手部的位置與三維陣列的對應(yīng)關(guān)系。
用戶在看到該高亮提示后,如果確認正確,則通過移動自己的手在三維陣列空間中完成選擇確認。例如,用戶想選擇第二層的“0”元素,則需向下移動手部。此時TOF相機會實時監(jiān)測手部的位置并給出反饋,移動過程中,會經(jīng)過第一層的“8”,它也會高亮一下,表示已經(jīng)選擇到它。由于手部還在繼續(xù)向下移動,當(dāng)移出第一層“8”的響應(yīng)范圍后,該按鈕便會從高亮變成正常;手部繼續(xù)向下移動,第一層的“0”元素會高亮響應(yīng)。這時候手會停止向下移動,并向z軸的延伸方向移動,此時TOF相機會捕獲到手部的三維信息,檢測到手部的深度信息在增加,當(dāng)和三維陣列元素的深度信息進行比對產(chǎn)生相對位移時,手部移動到第二層的“0”元素的三維坐標響應(yīng)范圍內(nèi)后,第二層的“0”元素變成高亮,至此,便完成了移動點選操作。如圖7所示,當(dāng)用手部選擇到第二層的“0”后,需要確認觸發(fā)。其中,具體輸入手段的觸發(fā)方式可以任意,不作限定。例如,通過手部勾選食指作為觸發(fā)方式等。由此,第二層的“0”就會輸入到相應(yīng)寄存器內(nèi)。
步驟S205,按該輸入手段的標準完成確認操作。
當(dāng)用手部或者控制裝置等輸入手段做出確認操作后,便會觸發(fā)相應(yīng)的元素,完成輸入操作。
步驟S206,獲得相應(yīng)輸入需求并傳輸給操作系統(tǒng)。
每定位出一個輸入元素,對該輸入元素進行高亮處理以提示用戶,并在接收到用戶的確認操作后,將該輸入元素傳輸至后續(xù)操作系統(tǒng)。
如圖8所示,本發(fā)明實施例還提出一種用于三維空間中的陣列式輸入系統(tǒng),包括:通信模塊1、三維陣列生成及顯示模塊2和三維空間定位模塊3。
具體地,通信模塊1用于接收用戶的輸入請求。
當(dāng)用戶希望輸入信息時,觸發(fā)設(shè)備的輸入模式并向本發(fā)明輸入系統(tǒng)的通信模塊1發(fā)送輸入請求。其中,輸入請求包括:待輸入元素的類型。例如,用戶可以在輸入請求中明確 待輸入元素包括:字母和數(shù)字的組合或者字母、數(shù)字和符號的組合等。在本步驟中,設(shè)備可以提供顯示待輸入元素的選擇提示框,用戶根據(jù)需要進行選擇,確認后發(fā)送該輸入請求。
三維陣列生成及顯示模塊2與通信模塊1相連,用于響應(yīng)輸入請求,并根據(jù)待輸入元素的類型設(shè)置備選輸入元素在三維空間中顯示布局,將備選輸入元素以三維陣列形式在用戶前方的三維空間顯示。
在本發(fā)明的一個實施例中,實現(xiàn)上述顯示布局的以下手段之一:
(1)在虛擬畫面中渲染進相應(yīng)的三維畫面,實現(xiàn)三維顯示;
(2)在眼睛前若干厘米處設(shè)置一個光學(xué)光導(dǎo)鏡片,通過在該鏡片上打出相應(yīng)的三維圖像,實現(xiàn)三維效果。
需要說明的是,實現(xiàn)三維顯示布局的手段不限于上述兩種,還可以采取其用戶方式,只要可以達到將輸入元素進行三維顯示的目的即可,在此不再贅述。
其中,顯示布局包括備選輸入元素在三維空間中的層數(shù)及排列,利用上述三維顯示手段將備選輸入元素以三維陣列形式在用戶面前進行排列顯示。此外,每個備選輸入元素在三維空間中均具有唯一的三維坐標,這是為了后續(xù)在三維空間中定位匹配使用。
在本發(fā)明的一個實施例中,輸入元素的類型至少包括以下一種或多種的組合:數(shù)字、字母、符號和操作控制鍵。其中,操作控制鍵例如為:退格鍵、換行鍵、確認鍵。需要說明的是,輸入元素的類型不限于上述,還可以包括其用戶類型,并且輸入元素的類型可以根據(jù)需要進行添加和刪除。
具體地,三維陣列生成及顯示模塊2根據(jù)待輸入元素的類型設(shè)置備選輸入元素在三維空間中顯示布局,包括:
(1)當(dāng)輸入元素的類型包括:數(shù)字、字母、符號和操作控制鍵時,按照距離用戶由近及遠的方式,依次對操作控制鍵、數(shù)字、字母、符號分層排列,每種類型的輸入元素分布在一層或多層排列。
(2)當(dāng)輸入元素的類型包括:數(shù)字和操作控制鍵且用戶請求輸入密碼時,按照距離用戶由近及遠的方式,依次對操作控制鍵和數(shù)字分層排列,其中,操作控制鍵分布在同一層,數(shù)字可以分布在一層或多層排列,相同數(shù)字在不同層重復(fù)排列。操作控制鍵和數(shù)字在不同層之間的排列順序由系統(tǒng)或用戶進行設(shè)置。例如,操作控制鍵在第一層,數(shù)字在其后若干層;或者數(shù)字在前,操作控制鍵在最后一層,根據(jù)用戶習(xí)慣可自行設(shè)置。
(3)當(dāng)輸入元素的類型包括:字母和操作控制鍵時,按照距離用戶由近及遠的方式,依次對操作控制鍵和字母分層排列,其中,操作控制鍵分布在同一層,字母分布在多層排列,相同字母在不同層重復(fù)排列。操作控制鍵和字母在不同層之間的排列順序由系統(tǒng)或用 戶進行設(shè)置。
在本發(fā)明的一個實施例中,備選輸入元素在三維空間中顯示布局的選取包括以下兩種方式:
1)系統(tǒng)預(yù)先配置,根據(jù)輸入請求中的待輸入元素的類型自動選取配置;
2)由用戶在輸入請求進行配置。
需要說明的是,備選輸入元素在三維空間中顯示布局,其分層規(guī)則依照使用者的輸入內(nèi)容及操作的便利性而定,可以依照自己的喜好選擇分層的層數(shù)以及每層待輸入內(nèi)容的排列。
三維陣列生成及顯示模塊2進一步將備選輸入元素以三維陣列形式在用戶前方的三維空間顯示。
具體地,三維陣列生成及顯示模塊2在用戶視覺場前(field of view)合適位置處生成一個在(虛擬)三維空間中的三維陣列,該三維陣列包括所有的備選輸入元素,供用戶查看及選擇。
三維空間定位模塊3與三維陣列生成及顯示模塊2相連,用于采用三維空間定位技術(shù)檢測用戶的輸入手段介質(zhì),并實時定位用戶以該輸入手段在三維陣列中的移動位置,檢測每個位置處的三維坐標,將每個三維坐標對應(yīng)的備選輸入元素作為用戶的輸入元素,直至檢測到用戶的確認完成操作。然后,通信模塊1再將用戶的輸入元素傳輸至后續(xù)操作系統(tǒng),完成輸入操作。
在三維陣列生成及顯示模塊2將待輸入的數(shù)字、字母或符號等按照要求在三維空間中排列完成后,并在用戶前方的三維空間中顯示。當(dāng)用戶準備進行輸入操作時,則通過三維空間定位模塊3檢測用戶的輸入手段介質(zhì)。在本發(fā)明的實施例中,用戶的輸入手段介質(zhì)包括:手部輸入、利用外部控制裝置輸入、利用鍵盤鼠標輸入。即,用戶可以采用手、控制裝置、鍵盤、鼠標等手段在三維陣列空間中移動,并完成選擇確認操作。此外,用戶可以采用單手或單控制裝置的輸入手段,可以雙手或雙控制裝置點選三維陣列中的元素。
三維空間定位模塊3利用三維空間定位技術(shù)對用戶在三維空間中移動位置進行空間定位,實時定位用戶以該輸入手段在三維陣列中的移動位置,檢測每個位置處的三維坐標。根據(jù)每個備選輸入元素在三維空間中均具有唯一的三維坐標。將檢測出的移動位置的三維坐標和備選輸入元素的三維坐標進行比對,判斷出用戶選擇的備選輸入元素,進而將每個三維坐標對應(yīng)的備選輸入元素作為用戶的輸入元素,直至檢測到用戶的確認完成操作。
在本發(fā)明的一個實施例中,三維空間定位模塊3采用的三維空間定位技術(shù)至少包括以下一種:飛行時間TOF定位技術(shù)、雙目攝像頭定位技術(shù)、超聲波定位技術(shù)、光學(xué)定位技術(shù)、 kinect體感定位技術(shù)、動態(tài)控制器Ps move定位技術(shù)、燈塔Light house定位技術(shù)、激光雷達定位技術(shù)、超寬帶UWB定位技術(shù)、同步定位與建圖SLAM技術(shù)、Virtuix omni定位技術(shù)、結(jié)構(gòu)光定位技術(shù)。
需要說明的是,本發(fā)明采用的三維空間定位技術(shù)不限于上述舉例,還可以為其用戶類型的定位技術(shù),只要能夠?qū)崿F(xiàn)在三維空間的定位即可,在此不再贅述。
在本發(fā)明的一個實施例中,本發(fā)明提供的用于三維空間中的陣列式輸入系統(tǒng)安裝于虛擬現(xiàn)實VR設(shè)備或增強現(xiàn)實AR及混合現(xiàn)實MR設(shè)備上,與虛擬現(xiàn)實VR設(shè)備或AR及MR設(shè)備內(nèi)的操作系統(tǒng)進行通信。
需要說明的是,本發(fā)明適用的設(shè)備不限于上述舉例,只要是有三維顯示并輸入的需求,本發(fā)明提供的三維陣列式排列輸入均可以應(yīng)用,在此不再贅述。
根據(jù)本發(fā)明實施例的用于三維空間中的陣列式輸入方法及系統(tǒng),充分利用了(虛擬)三維空間的深度維信息,將原本數(shù)量較多的數(shù)字、字母或符號等元素按照輸入方便性的規(guī)則分布在不同深度層上,從而大大減少了每層元素的數(shù)量,解決了在三維空間中輸入不方便的問題,使得用戶在三維空間中的輸入更加有條理和高效。并且,通過采用三維空間定位技術(shù)對用戶的輸入進行精確定位,可以精確定位出用戶的輸入元素。通過三維陣列顯示數(shù)字排列,相對于二維平面顯示形式,可以大幅提高用戶輸入信息的安全性。
在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求及其等同限定。