查看引用/信息源請點擊:映維網(wǎng)Nweon
基于軟件的用戶界面元素
(映維網(wǎng)Nweon2023年07月14日)鍵盤是PC或筆記本電腦的典型輸入機制。然而,這對于AR/VR不太便利。所以,頭顯廠商都會提供基于軟件的用戶界面元素,以虛擬輸入機制來替代物理輸入機制。例如,以虛擬鍵盤代表物理鍵盤。
在名為“Software-based user interface element analogues for physical device elements”的專利申請中,Meta就介紹了一種相關(guān)的方法。
在圖1中,UI系統(tǒng)106以不同的方式控制客戶端設(shè)備100的用戶界面以實現(xiàn)不同的目標(biāo),例如允許用戶與虛擬按鈕或其他UI元素交互,和在適當(dāng)時呈現(xiàn)基于聲音的UI以允許調(diào)光或關(guān)閉顯示器102。
在一個實施例中,UI系統(tǒng)106用虛擬UI元素的圖像增強顯示在顯示器102的其他視覺效果。虛擬UI元素充當(dāng)物理UI元素的虛擬模擬物,從而免除將物理UI元素內(nèi)置于客戶機設(shè)備100本身的需要。
虛擬UI元素可以是用戶可以與之交互的任何類型控件。Meta指出,使用虛擬UI元素而非物理元素提供了諸多優(yōu)勢,例如降低制造成本,消除物理組件損壞的風(fēng)險,并在UI元素的數(shù)量、類型和位置方面允許更大的靈活性和可定制性。
在實施例中,UI系統(tǒng)106需要一種方法來獲取關(guān)于用戶運動的輸入,以便能夠確定用戶是否/如何與虛擬UI元素交互。所以,用戶101可以使用具有獲取讀數(shù)的傳感器的可穿戴設(shè)備110。所述傳感器可以導(dǎo)出有關(guān)用戶運動、位置和/或動作的信息,并短距離無線方式傳送到客戶端設(shè)備100。
使用所述信息,客戶端設(shè)備然后確定所述用戶是否以及如何與所述顯示器102顯示的用戶界面交互。在一個實施例中,所述可穿戴設(shè)備110可以作用在手臂之上,例如作為智能腕表或智能戒指。
在一個實施例中,UI系統(tǒng)106交替地和/或額外地提供具有基于聲音的元素的用戶界面。在所述實施例中,用戶界面元素以聽覺而不是視覺方式指示給用戶。然后,可以分析用戶的運動,以確定用戶打算選擇什么選項。
圖4示出了根據(jù)圖1UI系統(tǒng)106的子模塊。
UI系統(tǒng)106包括UI元素放置模塊405,所述模塊確定放置UI元素以供用戶選擇的位置。在UI系統(tǒng)106使用虛擬UI元素的實施例中,虛擬UI元素的位置表示相對于正在向其呈現(xiàn)UI的用戶的空間位置,例如坐標(biāo)。
虛擬UI元素的位置可以在不同的實施例中以各種方式確定。例如,UI元素放置模塊405在添加虛擬UI元素之前對顯示在顯示器102上的圖像執(zhí)行可視化分析。客戶端設(shè)備100可以是智能眼鏡,其中顯示器102最初顯示物理世界的“正常”視圖圖像,而UI元素放置模塊405可以相應(yīng)地執(zhí)行視圖的視覺分析以識別視圖中存在的不同對象。
接下來,識別對象在視圖中的位置?梢暬治龅慕Y(jié)果可以用作放置虛擬UI元素的錨點;氐街悄苎坨R的例子,視圖可以包括用戶的手。然后,UI元素放置模塊405可以為虛擬UI元素分配一個位置,并且用戶可以將另一只手的手指移動到其上,從而營造一種按下虛擬按鈕的感覺。
作為位置確定的另一個相關(guān)示例,在UI元素放置模塊405對圖像執(zhí)行視覺分析,以區(qū)分圖像的高優(yōu)先級區(qū)域與低優(yōu)先級區(qū)域。
將虛擬UI元素僅放置在圖像的低優(yōu)先級區(qū)域內(nèi),以便不遮蔽高優(yōu)先級區(qū)域。例如,高優(yōu)先級區(qū)域可以包括顯示用戶可能希望仔細檢查的細節(jié)的區(qū)域,比方說包含文本的區(qū)域、具有高度圖形細節(jié)/變化的區(qū)域、隨時間變化很大的區(qū)域等。
在一個實施例中,視覺元素放置模塊405交替地和/或額外地使用產(chǎn)生在顯示器和/或用戶界面顯示的視覺效果的應(yīng)用程序的API,調(diào)用返回有關(guān)顯示器102的各個區(qū)域的優(yōu)先級的信息的函數(shù),從而利用應(yīng)用程序本身具有的關(guān)于區(qū)域優(yōu)先級的信息。
在一個實施例中,可視元素放置模塊405交替地和/或額外地使用當(dāng)前用戶和/或其他用戶過去使用用戶界面的歷史統(tǒng)計數(shù)據(jù)來確定UI元素的放置。例如,可視元素放置模塊405可以識別過去與用戶交互最頻繁的用戶界面區(qū)域,并將UI元素放置在這些位置或其附近。
另外,可以使用應(yīng)用程序設(shè)置或通過考慮情景來確定放置位置。例如,當(dāng)用戶靜止時的一種模式,以及當(dāng)用戶運動時的另一種模式。
作為位置確定的另一個示例,UI元素放置模塊405根據(jù)用戶選擇元素或以其他方式與元素交互的可能性,對所有或一定的虛擬UI元素進行排序。
UI元素放置模塊405然后將更可能與之交互的虛擬UI元素放置在顯示的更可訪問的區(qū)域中,例如更靠近顯示的中心,更靠近與用戶的手或其他指向設(shè)備相對應(yīng)的區(qū)域等等。
這可以最大限度地減少用戶與虛擬UI元素交互的工作量,例如,通過最小化用戶需要移動她的手來選擇虛擬UI元素的距離。
在一個實施例中,使用虛擬UI元素的可能性由應(yīng)用程序開發(fā)人員給出的參數(shù)指定。在其他實施例中,UI系統(tǒng)106通過分析關(guān)于當(dāng)前用戶和/或其他用戶先前使用的歷史統(tǒng)計數(shù)據(jù)來預(yù)測虛擬UI元素使用的可能性。
作為位置確定的另一個示例,UI元素放置模塊405考慮環(huán)境音頻。例如,可以分析相對于顯示器102的各個位置的環(huán)境音頻的程度。如果特定位置具有更大的音頻程度,則降低UI元素放置模塊405將UI元素放置在顯示器102相應(yīng)位置的概率。
例如,如果有一個高度的環(huán)境音頻來自顯示器102的左側(cè)附近,則UI元素放置模塊405可能會避免將UI元素放置在顯示器的左側(cè)。作為說明,假設(shè)場景在左側(cè)是復(fù)雜的,則不應(yīng)該使用額外的UI元素進一步使其復(fù)雜化。
在UI系統(tǒng)106使用基于聲音的UI元素的實施例中,基于聲音的UI元素的位置代表相對于用戶的空間位置。UI元素放置模塊405可以在不同的實施例中以不同的方式確定所述位置。
例如,控制應(yīng)用程序可以顯式地指定位置,或者使用特定的用戶相對位置,或者使用可以映射到位置的其他指示符。作為另一個示例,控制應(yīng)用程序可以僅指定虛擬UI元素集,UI元素放置模塊405根據(jù)虛擬UI元素的數(shù)量為每個虛擬UI元素分配位置。
例如,如果只有兩個虛擬UI元素,UI元素放置模塊405可能會隨機地將其中一個虛擬UI元素分配到用戶左側(cè)的位置,而將另一個虛擬UI元素分配到位置的右側(cè)。
所述UI系統(tǒng)106包括UI元素呈現(xiàn)模塊410,所述UI元素呈現(xiàn)模塊410根據(jù)由所述UI元素放置模塊405所確定的UI元素的位置呈現(xiàn)所述UI元素。
在虛擬UI元素以視覺方式顯示在顯示器102上的情況,“呈現(xiàn)”意味著使虛擬UI元素以視覺方式出現(xiàn)在顯示器上的給定位置。如上所述,虛擬UI元素可以被顯示為錨定在場景中的特定對象之上。
在基于聲音的UI元素的情況下,“渲染”意味著讓UI元素聽起來像是從分配給所述元素的位置發(fā)出來的。為了實現(xiàn)這種效果,UI元素呈現(xiàn)模塊410可以使用HRTF來設(shè)置基于聲音的UI元素的表觀位置。
UI系統(tǒng)106同時包括輸入位置確定模塊415和UI元素交互確定模塊420,它們根據(jù)用戶手勢的特征共同確定是否與UI元素交互以及如何與UI元素交互。
輸入位置確定模塊415確定與用戶移動相關(guān)聯(lián)的位置。根據(jù)UI元素是使用圖像呈現(xiàn)還是使用聲音呈現(xiàn),這種判斷可能會有所不同。當(dāng)使用圖形呈現(xiàn)UI元素時,所述輸入位置確定模塊415使用從所述可穿戴設(shè)備110接收到的傳感器數(shù)據(jù)來確定所述可穿戴設(shè)備110相對于所述用戶的位置,以及旋轉(zhuǎn)方向、速度、加速度等其他運動信息。
當(dāng)UI元素使用聲音呈現(xiàn)時,輸入位置確定模塊415同樣可以使用來自可穿戴設(shè)備110的傳感器數(shù)據(jù),例如,基于指示用戶似乎向其左側(cè)手勢的智能手表的傳感器數(shù)據(jù)確定輸入位置。
另外,輸入位置確定模塊415同時可以考慮來自客戶端設(shè)備100的傳感器數(shù)據(jù)。通常,當(dāng)UI元素使用聲音而不是圖形呈現(xiàn)時,客戶端設(shè)備100的顯示器102關(guān)閉以節(jié)省能量,并且作為選項呈現(xiàn)的UI元素相對較少,因此用戶可能使用非常通用的粗粒度手勢來指示呈現(xiàn)的UI元素之一。
UI元素交互確定模塊420使用由輸入位置確定模塊415確定的位置來更具體地確定哪些UI元素與用戶的手勢有關(guān)。例如,UI元素交互確定模塊420可以將由輸入位置確定模塊415確定的位置與由UI元素放置模塊405確定的呈現(xiàn)UI元素的位置進行比較。
UI元素交互確定模塊420可以另外考慮輸入位置確定模塊415獲得的其他移動信息,以確定用戶的移動是否構(gòu)成表示與UI元素交互的手勢,而不是僅僅位于UI元素附近但具有不同的目的。
例如,來自腕表可穿戴設(shè)備110的加速度計數(shù)據(jù)可用于確定用戶正在以與按下虛擬按鈕一致的方式快速移動她的手。作為另一個例子,來自耳機客戶端設(shè)備100的加速度計數(shù)據(jù)可能表明用戶正在移除頭顯,因此用戶的任何動作都是純粹為了移除頭顯而不是與UI元素交互,因此UI元素應(yīng)該視為暫時禁用。
如果UI元素支持多種不同類型的用戶交互,則UI元素交互確定模塊420可以另外確定相對于特定UI元素正在執(zhí)行哪種特定類型的操作。例如,指示在UI元素上向右滑動運動的可穿戴設(shè)備110的傳感器數(shù)據(jù)可解釋為指定應(yīng)移除UI元素,而向前戳動可解釋為指定正在選擇或激活UI元素。
所述UI系統(tǒng)106同時包括操作模塊425,所述操作模塊425接受與所選UI元素和在該UI元素上執(zhí)行的操作類型相適應(yīng)的操作。對特定UI元素采取的操作可由事件處理程序注冊代碼預(yù)先指定,例如,當(dāng)用戶的手勢激活特定UI元素時,注冊對特定函數(shù)的調(diào)用。
相關(guān)專利:Meta Patent | Software-based user interface element analogues for physical device elements
名為“Software-based user interface element analogues for physical device elements”的Meta專利申請最初在2021年12月提交,并在日前由美國專利商標(biāo)局公布。