CN115904056A - 虚拟输入元件的显示方法、电子设备和可读存储介质 - Google Patents
虚拟输入元件的显示方法、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN115904056A CN115904056A CN202110911918.1A CN202110911918A CN115904056A CN 115904056 A CN115904056 A CN 115904056A CN 202110911918 A CN202110911918 A CN 202110911918A CN 115904056 A CN115904056 A CN 115904056A
- Authority
- CN
- China
- Prior art keywords
- hand
- virtual
- size
- distance
- virtual keyboard
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000001514 detection method Methods 0.000 claims abstract description 27
- 230000002596 correlated effect Effects 0.000 claims abstract description 12
- 230000004044 response Effects 0.000 claims abstract description 12
- 230000000875 corresponding effect Effects 0.000 claims description 58
- 238000004891 communication Methods 0.000 claims description 32
- 230000006854 communication Effects 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 21
- 230000001965 increasing effect Effects 0.000 claims description 16
- 238000013459 approach Methods 0.000 claims description 3
- 210000003811 finger Anatomy 0.000 description 75
- 238000012905 input function Methods 0.000 description 40
- 238000010586 diagram Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 25
- 230000003287 optical effect Effects 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 15
- 238000010295 mobile communication Methods 0.000 description 11
- 210000004247 hand Anatomy 0.000 description 10
- 230000002829 reductive effect Effects 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 9
- 238000013507 mapping Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 239000011521 glass Substances 0.000 description 4
- 230000035807 sensation Effects 0.000 description 4
- 235000019615 sensations Nutrition 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000004438 eyesight Effects 0.000 description 2
- 210000002478 hand joint Anatomy 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010079 rubber tapping Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000016776 visual perception Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- CNQCVBJFEGMYDW-UHFFFAOYSA-N lawrencium atom Chemical compound [Lr] CNQCVBJFEGMYDW-UHFFFAOYSA-N 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 210000000697 sensory organ Anatomy 0.000 description 1
- 235000019613 sensory perceptions of taste Nutrition 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000035923 taste sensation Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例公开了一种虚拟输入元件的显示方法、电子设备和可读存储介质,用于提高手势输入识别准确率。该方法包括:当手部位于深度检测器的检测范围内,且在手部靠近物理表面的过程中或手部放置在物理表面时,头戴式显示设备通过显示部件在虚拟空间中显示虚拟手部和虚拟键盘,虚拟手部和虚拟键盘位于同一平面。当手部的手指与物理表面接触时,头戴式显示设备响应于手部的手指的键入操作,在虚拟空间的界面显示键入信息。其中,手部的大小与虚拟键盘的尺寸成正相关;当手部为第一大小时,虚拟键盘的尺寸为第一尺寸;当手部为第二大小时,虚拟键盘的尺寸为第二尺寸,第一大小大于第二大小,第一尺寸大于第二尺寸。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种虚拟输入元件的显示方法、电子设备和计算机可读存储介质。
背景技术
随着科学技术的不断发展,通过虚拟输入元件输入信息的场景也越来越多。
例如,在虚拟现实(Virtual Reality,VR)、增强现实(Augmented Reality,AR)、以及混合现实技术(Mixed Reality,MR)等场景下,用户通过电子设备显示的虚拟键盘输入文本信息。此时,虚拟输入元件为虚拟键盘中的按键。
发明内容
本申请实施例提供一种虚拟输入元件的显示方法、电子设备和计算机可读存储介质,可以提高输入手势识别准确率。
第一方面,本申请实施例提供一种虚拟输入元件的显示方法,应用于头戴式显示设备,头戴式显示设备包括深度检测器和显示部件。该方法包括:当手部位于深度检测器的检测范围内,且在手部靠近物理表面的过程中或手部放置在物理表面时,通过显示部件在虚拟空间中显示虚拟手部和虚拟键盘;其中,虚拟手部和虚拟键盘位于同一平面,虚拟手部为手部的虚拟模型。当手部的手指与物理表面接触时,响应于手部的手指的键入操作,在虚拟空间的界面显示键入信息。
其中,手部的大小与虚拟键盘的尺寸成正相关;当手部为第一大小时,虚拟键盘的尺寸为第一尺寸;当手部为第二大小时,虚拟键盘的尺寸为第二尺寸,第一大小大于第二大小,第一尺寸大于第二尺寸。
本申请实施例中,用户手部大小和显示的虚拟键盘的尺寸大小成相关,即用户的手部尺寸越大,虚拟键盘的尺寸越大;虚拟键盘的尺寸越大,虚拟键盘中各个按键之间的距离也越大,这样当用户使用该虚拟键盘进行手势输入时,由于按键之间的距离较大,手势输入时用户手指之间的间隔也就较大;手指之间的间隔较大,手指相互遮挡的概率就较低,从而提高了输入手势的识别准确率。
示例性地,在VR办公场景,头戴式显示设备在虚拟空间中显示出虚拟键盘之后,用户可以使用物理手部在物理表面上进行敲击操作(即键入操作),头戴式显示设备通过识别手势输入,得到相应的输入信息,在界面上显示键入操作对应的信息,例如,用户手部“模拟敲击”了虚拟键盘中的某个按键,则在界面输入框内显示相应信息。
在第一方面的一些可能的实现方式中,在通过显示部件在虚拟空间中显示虚拟键盘之后,该方法还包括:当手部的手指与物理表面接触时,向目标设备发送提示指令或者执行提示操作,提示指令用于指示目标设备进行提示操作;其中,提示操作包括振动和/或播放预设声音;
所述目标设备包括所述头戴式显示设备,或与所述头戴式显示设备通信连接的电子设备。
在该实现方式中,在手部的手指和物理表面接触时,则可以认为手势输入成功。在输入成功时,通过振动和/或播放预设声音提示用户手势输入成功,不用用户通过视觉确定手势输入成功,提高了用户的输入效率。另外,当提示操作为振动时,可以给用户一个“手感”,用户体验更高。
在第一方面的一些可能的实现方式中,在通过显示部件在虚拟空间中显示虚拟键盘之后,该方法还包括:当遮挡比例为第一比例时,增大虚拟键盘的尺寸;当遮挡比例为第二比例,且输入速度为第一速度时,减小虚拟键盘的尺寸;其中,虚拟键盘用于手势输入,遮挡比例为手势输入的被遮挡次数和手势输入的总次数之间的比值;第一比例大于第二比例。
在该实现方式中,在用户使用虚拟键盘进行手势输入时,根据遮挡比例和输入速度,动态调整虚拟键盘的尺寸,以动态调整虚拟键盘中各个按键之间的距离,以使得按键距离与用户手部尺寸大小相适配,进一步提高了手势输入效率,以及手势识别精度。
在第一方面的一些可能的实现方式中,在通过显示部件在虚拟空间中显示虚拟键盘之后,该方法还包括:当手部远离物理表面的过程中,和/或,手部位于深度检测器的检测范围之外时,去除虚拟键盘。
在该实现方式中,头戴式显示设备在满足一定条件时,则自动关闭手势输入功能,自动去显示虚拟键盘,不用用户通过繁琐的手动操作去除虚拟键盘,用户操作更便捷,体验更高。
在第一方面的一些可能的实现方式中,当手部位于深度检测器的检测范围内,且在手部靠近物理表面的过程中或手部放置在物理表面时,通过显示部件在虚拟空间中显示虚拟手部和虚拟键盘,包括:当手部位于深度检测器的检测范围内,且在手部靠近物理表面的过程中或手部放置在物理表面时,通过深度检测器获取手部的手部深度图像;对手部深度图像进行处理,得到手部参数,手部参数用于描述手部的尺寸大小;从手部模型数据库中查找与手部参数相匹配的目标手部模型;获得目标手部模型对应的虚拟键盘参数,虚拟键盘参数包括键盘尺寸;根据虚拟键盘参数,通过显示部件在虚拟空间中显示虚拟键盘。
第二方面,本申请实施例提供一种虚拟输入元件的显示方法,应用于电子设备,该方法包括:当手部位于检测器的检测范围时,通过显示部件显示至少两个虚拟输入元件;其中,手部的大小与相邻虚拟输入元件的中心点之间的距离成正相关;当手部为第一大小时,相邻虚拟输入元件的中心点之间的距离为第一距离;当手部为第二大小时,相邻虚拟输入元件的中心点之间的距离为第二距离,第一大小大于第二大小,第一距离大于第二距离。
由上可见,用户的手部尺寸越大,相邻虚拟输入元件的中心点之间的距离越大,这样当用户使用该虚拟输入元件进行手势输入时,由于距离较大,手势输入时用户手指之间的间隔也就较大;手指之间的间隔较大,手指相互遮挡的概率就较低,从而提高了输入手势的识别准确率。
在第二方面的一些可能的实现方式中,当所述手部位于所述检测器的检测范围,且所述手部与物理表面之间的距离为第三距离时,通过所述显示部件显示至少两个虚拟输入元件。所述电子设备为头戴式显示设备,所述头戴式显示设备包括所述检测器和所述显示部件。或者,所述电子设备为投影设备,所述投影设备包括所述检测器和所述显示部件,所述显示部件为投影部件。
在该实现方式中,通过判断是否满足预设启动条件,并在满足预设启动条件时,则自动开启手势输入功能,以自动根据手部大小,显示相适应的虚拟输入元件。这样,不用用户通过繁琐的操作,开启手势输入功能,操作更加便捷,用户体验更高。
在第二方面的一些可能的实现方式中,当手部与物理表面之间的距离为第四距离时,和/或,手部位于检测器的检测范围之外,去除至少两个虚拟输入元件。
在该实现方式中,通过判断是否满足预设关闭条件,并在满足预设关闭条件时,则自动关闭手势输入功能,以自动去除虚拟输入元件。这样,用户操作更加便捷,体验更高。
在第二方面的一些可能的实现方式中,在通过显示部件显示至少两个虚拟输入元件之后,方法还包括:当手部的手指与物理表面接触时,向目标设备发送提示指令或者执行提示操作,提示指令用于指示目标设备进行提示操作;所述目标设备包括所述头戴式显示设备,或与所述头戴式显示设备通信连接的电子设备。
在该实现方式中,在手势输入成功时,自动给用户一个输入反馈,不用用户通过视觉判断手势输入成功,提高了用户的输入效率。
在第二方面的一些可能的实现方式中,提示操作包括振动和/或播放预设声音。当提示操作为振动时,在手势输入成功时,可以给用户一个“手感”,用户体验更高。
在第二方面的一些可能的实现方式中,在当手部的手指与物理表面接触时,向目标设备发送提示指令之前,该方法还包括:当检测到物理表面,且物理表面上包括目标设备,则进入当手部的手指与虚拟输入元件接触时,向目标设备发送提示指令的步骤。
在该实现方式中,在满足一定条件时,自动开启输入反馈功能,用户体验更高。
在第二方面的一些可能的实现方式中,在通过显示部件显示至少两个虚拟输入元件之后,该方法还包括:当遮挡比例为第一比例时,增大虚拟输入元件之间的距离;当遮挡比例为第二比例,且输入速度为第一速度时,减小虚拟输入元件之间的距离;其中,虚拟输入元件用于手势输入,遮挡比例为手势输入的被遮挡次数和手势输入的总次数之间的比值;第一比例大于第二比例。
在该实现方式中,在用户使用虚拟输入元件进行手势输入时,根据遮挡比例和输入速度,动态调整虚拟输入元件的中心点之间的距离,以使得距离与用户手部尺寸大小相适配,进一步提高了手势输入效率,以及手势识别精度。
在第二方面的一些可能的实现方式中,遮挡比例和输入速度的获取过程包括:统计预设时间段内手势输入的总次数以及被遮挡次数;根据总次数和被遮挡次数,得到遮挡比例;统计预设时间段内通过虚拟键盘成功输入的总字数;根据总字数和预设时间段,得到输入速度。
在第二方面的一些可能的实现方式中,当手部位于检测器的检测范围时,通过显示部件显示至少两个虚拟输入元件,包括:通过检测器获取手部的手部数据;对手部数据进行处理,得到手部参数,手部参数用于描述手部的尺寸大小;从手部模型数据库中查找与手部参数相匹配的目标手部模型;获得目标手部模型对应的虚拟输入元件的参数,虚拟输入元件的参数包括用于描述虚拟输入元件之间的距离的参数;根据虚拟输入元件的参数,通过显示部件显示至少两个虚拟输入元件。
在第二方面的一些可能的实现方式中,检测器包括图像传感器(例如为双目相机),手部数据为手部图像;此时,对手部数据进行处理,得到手部参数,包括:对手部图像进行处理,得到手部的关键点信息;根据手部的关键点信息,获得手部的手掌尺寸和各个手指的长度;其中,手部参数包括手掌尺寸和各个手指的长度。
在第二方面的一些可能的实现方式中,虚拟输入元件为虚拟键盘中的按键;获得目标手部模型对应的虚拟输入元件的参数,包括:获取目标手部模型对应的虚拟键盘参数,虚拟键盘参数包括以下至少一种:键盘尺寸、按键之间的距离、以及单个按键的面积。
在第二方面的一些可能的实现方式中,手部的大小与虚拟键盘的尺寸成正相关,虚拟键盘的尺寸与虚拟键盘中各个按键之间的大小成正相关;当虚拟键盘为第一尺寸时,虚拟键盘中按键之间的距离为第一距离;当虚拟键盘为第二尺寸时,虚拟键盘中按键之间的距离为第二距离。
在第二方面的一些可能的实现方式中,电子设备包括检测器和显示部件;或者,电子设备和显示部件配合使用,显示部件为头戴式显示设备,检测器集成在头戴式显示设备上,电子设备示例性为手机、主机或云端等。
第三方面,本申请实施例提供一种虚拟输入元件的显示方法,应用电子设备,该方法包括:获取手部数据;对手部数据进行处理,得到手部参数,该手部参数用于描述手部尺寸大小;根据手部参数,确定虚拟输入元件的参数,虚拟输入元件的参数包括用于描述相邻虚拟输入元件的中心点之间的距离的参数;根据虚拟输入元件的参数,显示虚拟输入元件;
其中,所述手部的大小与相邻虚拟输入元件的中心点之间的距离成正相关;
当手部为第一大小时,相邻虚拟输入元件的中心点之间的距离为第一距离;当手部为第二大小时,相邻虚拟输入元件的中心点之间的距离为第二距离,第一大小大于第二大小,所述第一距离大于所述第二距离。
在第三方面的一些可能的实现方式中,在根据虚拟输入元件的参数,显示虚拟输入元件之后,方法还包括:
确定预设时间段内手势输入的遮挡比例和输入速度,虚拟输入元件用于手势输入,遮挡比例为手势输入的被遮挡次数和手势输入的总次数之间的比值;
当遮挡比例大于或等于第一阈值,则增大相邻虚拟输入元件的中心点之间的距离;
当输入速度小于或等于第二阈值,且遮挡比例小于或等于第三阈值,则减少相邻虚拟输入元件的中心点之间的距离,所述第三阈值小于所述第一阈值。
在第三方面的一些可能的实现方式中,在获取手部数据之前,该方法还包括:检测VR手柄是否处于静止状态;检测手部与目标物理表面的距离是否小于第一距离阈值,目标物理表面为距离电子设备的图像采集装置最近的物理表面;
当VR手柄处于静止状态,且手部与目标物理表面的距离小于第一距离阈值,则判定满足预设启动条件,进入获取手部数据的步骤。
当VR手柄处于非静止状态,和/或,手部与目标物理表面的距离大于或等于第一距离阈值,则判定不满足预设启动条件。
在第三方面的一些可能的实现方式中,在根据虚拟输入元件的参数,显示虚拟输入元件之后,该方法还包括:检测到手部与目标物理表面的距离大于第二距离阈值,去除虚拟键盘。
在第三方面的一些可能的实现方式中,在根据虚拟输入元件的参数,显示虚拟输入元件之后,该方法还包括:检测手势输入是否成功,虚拟输入元件用于手势输入;
当手势输入成功时,向目标设备发送提示指令,提示指令用于指示设备进行提示操作。提示操作包括振动和/或播放预设声音。
在第三方面的一些可能的实现方式中,虚拟输入元件为虚拟键盘中的按键,虚拟输入元件的参数为虚拟键盘参数,虚拟键盘参数包括以下至少一项:键盘尺寸、相邻按键的中心点之间的距离、以及单个按键的面积。手部的大小与虚拟键盘的尺寸成正相关,或者虚拟键盘的尺寸与虚拟键盘中各个按键之间的大小成正相关。
第四方面,本申请实施例提供一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第一方面、第二方面或第三方面任一项的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面、第二方面或第三方面任一项的方法。
第六方面,本申请实施例提供一种芯片系统,该芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现如上述第一方面、第二方面或第三方面任一项所述的方法。该芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
第七方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面、第二方面或第三方面任一项所述的方法。
可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面或第二方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的手指遮挡示意图;
图2A为本申请实施例提供的VR系统示意图;
图2B为本申请实施例提供的头戴式设备200的硬件结构示意框图;
图3为本申请实施例提供的一种VR场景示意图;
图4A~图4B为本申请实施例提供的VR场景下的虚拟空间示意图;
图5为本申请实施例提供的另一种VR场景示意图;
图6为本申请实施例提供的VR游戏场景的一种示意图;
图7为本申请实施例提供的投射虚拟键盘场景示意图;
图8为本申请一个实施例提供的虚拟输入元件的显示方法的一种流程示意框图;
图9为本申请实施例提供的手部关节点示意图;
图10A为本申请实施例提供的按键距离示意图;
图10B为本申请实施例提供的虚拟输入元件示意图;
图11为本申请实施例提供的不同尺寸的虚拟键盘的示意图;
图12A为本申请实施例提供的不同尺寸的虚拟键盘示意图;
图12B为本申请实施例提供的同一尺寸的虚拟键盘示意图;
图13为本申请实施例提供的VR场景的虚拟空间示意图;
图14为本申请实施例提供的VR场景下的振动反馈示意图;
图15为本申请实施例提供的手指和物理表面之间的距离示意图。
具体实施方式
在本申请实施例中,术语“第一”、“第二”、“第三”、“第四”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”、“第四”的特征可以明示或者隐含地包括一个或者更多个该特征。另外,需要理解的是,本申请实施例涉及的至少一个,包括一个或者多个;其中,多个是指大于或者等于两个。
在本申请实施例中,“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
目前,电子设备在显示虚拟输入元件时,虚拟输入元件之间的距离是预先设置且固定不变的。例如,在VR场景下,当用户需要使用虚拟键盘键入信息时,头戴式设备则在虚拟空间中生成一个固定尺寸的虚拟键盘,并在该虚拟空间中显示该虚拟键盘。虚拟键盘的尺寸固定不变,虚拟键盘中各个按键之间的距离也就固定不变,即虚拟输入元件之间的距离固定不变。
也就是说,不管用户的手部大小,虚拟键盘的尺寸都是固定不变的,虚拟键盘中各个按键之间的距离也是固定不变的。即虚拟输入元件之间的距离与用户的手部大小不相关,虚拟输入元件之间的距离不会随着用户的手部大小的改变而改变。
发明人在长期研究过程中发现,虚拟输入元件之间的距离固定不变,当用户的手较大和/或虚拟输入元件之间的距离较小时,会出现手指相互遮挡的问题。
手指相互遮挡会使得电子设备不能准确地识别手指在虚拟输入区域中的位置,进而不能准确识别用户“模拟按下”的虚拟输入元件,导致输入手势识别准确率低下。
示例性地,在VR场景下,用户佩戴头戴式设备(例如,VR眼镜)之后,可以通过按钮或菜单等方式,启动虚拟键盘。头戴式设备响应于用户操作,按照预先设置的虚拟键盘尺寸,在虚拟空间中显示一个固定尺寸的虚拟键盘。头戴式设备在虚拟空间显示虚拟键盘之后,用户可以通过手指“模拟按下”虚拟键盘上的按键,以键入相应的信息。
在用户使用虚拟键盘键入信息的过程中,头戴式设备通过内置相机,按从上往下看的角度,连续拍摄多帧的用户手部图像。基于连续多帧的手部图像,头戴式设备通过手势识别算法,识别手指位置,以识别用户“模拟按下”的按键,进而识别出输入手势,得到用户的输入信息。
按从上往下看的角度拍摄得到的手部图像,当虚拟键盘尺寸较小和/或用户手部尺寸较大时,手部图像中的手指之间会相互遮挡,进而使得头戴式设备不能基于手部图像,准确识别出手指位置。例如,参见图1示出的手指相互遮挡示意图,用户基于虚拟空间中显示的虚拟键盘11进行输入操作时,头戴式设备的内置相机按从上往下看的角度,拍摄得到图1所示的图像。在图1中,左手12的两个手指之间出现了相互遮挡,具体如图1中的虚线区域所示。头戴式设备基于图1的手部图像,不能准确识别出手指位置,导致输入手势的识别精度较低。
针对上文提及的问题,本申请实施例提供一种虚拟输入元件的显示方案,在该方案中,虚拟输入元件之间的距离随着手部大小的改变而改变,以减少甚至消除手指之间相互遮挡的问题,从而提高输入手势识别准确率。
例如,在VR场景下,头戴式设备根据用户手部尺寸的不同,显示不同尺寸的虚拟键盘。虚拟键盘的尺寸不同,虚拟键盘中的各个按键之间的距离也就不同。
下面将结合附图,对本申请实施例提供的虚拟输入元件的显示方案进行详细阐述。以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。
为了更好地说明本申请实施例提供的技术方案,下面首先对本申请实施例可能涉及的相关内容进行介绍。为了方便阐述,以下以电子设备为头戴式设备(例如VR、AR或MR)为例进行,在其它实施例中,电子设备还可以为投影设备等。
(1)虚拟输入区域和虚拟输入元件。
虚拟输入区域包括至少一个虚拟输入元件。例如,虚拟输入区域具体外现为虚拟键盘,虚拟输入元件则为虚拟键盘中的按键。
虚拟输入元件区别于物理输入元件。例如,物理键盘上的按键为物理输入元件,虚拟键盘上的按键为虚拟输入元件。
在其它实施例中,虚拟输入元件的存在可以不依赖于虚拟输入区域。即,可以不存在虚拟输入区域,但存在至少一个虚拟输入元件。例如,VR场景下,头戴式设备可以在虚拟空间中显示至少一个相互独立的虚拟按键。
另外,虚拟输入元件除了可以为虚拟键盘中的按键,还可以表现为其它形式,在此不作限定。例如,VR场景的虚拟空间内显示有至少一个界面,界面上包括至少一个选择按钮,该选择按钮即为虚拟输入元件,即虚拟输入元件具体外现为界面上的选择按钮。
(2)VR、AR以及MR。
VR是借助计算机及传感器技术创造的一种人机交互手段。VR技术综合了计算机图形技术、计算机仿真技术、传感器技术、显示技术等多种科学技术,可以创建虚拟环境。虚拟环境包括由计算机生成的、并实时动态播放的三维立体逼真图像为用户带来视觉感知;而且,除了计算机图形技术所生成的视觉感知外,还有听觉、触觉、力觉、运动等感知,甚至还包括嗅觉和味觉等,也称为多感知;此外,还可以检测用户的头部转动,眼睛、手势、或其他人体行为动作,由计算机来处理与用户的动作相适应的数据,并对用户的动作实时响应,并分别反馈到用户的五官,进而显示虚拟环境。
例如,用户佩戴VR穿戴设备可以看到VR游戏界面,通过手势、手柄等操作,可以与VR游戏界面交互,仿佛身处游戏中。
又例如,用户佩戴VR穿戴设备可以浏览网页界面,可以看到虚拟键盘,并通过在虚拟键盘上输入对应的手势,以输入对应的文本信息。
AR是指将计算机生成的虚拟对象叠加到真实世界的场景之上,从而实现对真实世界的增强。也就是说,AR技术中需要采集真实世界的场景,然后在真实世界上增加虚拟环境。
因此,VR技术与AR技术的区别在于,VR技术创建的是完全的虚拟环境,用户看到的全部是虚拟对象;而AR技术是在真实世界上叠加了虚拟对象,即既包括真实世界中对象也包括虚拟对象。比如,用户佩戴透明眼镜,通过该眼镜可以看到周围的真实环境,而且该眼镜上还可以显示虚拟对象,这样,用户既可以看到真实对象也可以看到虚拟对象。
MR是通过在虚拟环境中引入现实场景信息(或称为真实场景信息),将虚拟环境、现实世界和用户之间搭起一个交互反馈信息的桥梁,从而增强用户体验的真实感。具体来说,把现实对象虚拟化,(比如,使用摄像头来扫描现实对象进行三维重建,生成虚拟对象),经过虚拟化的真实对象引入到虚拟环境中,这样,用户在虚拟环境中可以看到真实对象。
(3)VR系统。
在一些实施例中,VR系统可以包括头戴式设备和VR手柄,头戴式设备为VR一体机。通常情况下,VR一体机内可以包括显示屏和处理器,其不用从外部设备获取图像数据,可独立使用。
在另一些实施例中,VR系统也可以包括主机(或者手机、平板电脑或云端等)、头戴式设备和VR手柄,此时,头戴式设备具体为头戴式显示设备(Head Mounted Display,HMD),用于接收来自主机的图像数据,并显示该图像数据。
示例性地,参见图2A,为本申请实施例提供的VR系统示意图。如图2A所示,VR系统包括主机21和头戴式显示设备22。头戴式显示设备22和主机21连接,连接方式可以是有线连接,也可以是无线连接。图中未示出VR手柄。
主机21包括处理器和存储器等,用于对数据进行处理,生成图像。主机21可以是PC主机。头戴式显示设备22用于接收到来自主机21的图像,并显示该图像。这样,用户佩戴头戴式显示设备22即可看到图像。
可以理解的是,头戴式显示设备22内置有显示屏,具体可以为VR眼镜或VR头盔等。此时,头戴式显示设备22本地不具有图像生成能力,需要从主机21获取图像数据。
需要说明的是,图2A中的主机21也可以替换为其它电子设备,例如,主机21可以替换为手机或平板电脑等便携式电子设备,可以替换为云端服务器。
也就是说,头戴式显示设备22不仅可以外接主机21使用,还可以外接平板电脑、手机、或云端服务器等设备使用。
在其它实现方式中,头戴式设备不仅具备图像显示能力,还可以具备图像生成能力。
下面将示例性地对头戴式设备的硬件结构进行介绍。参见图2B示出的头戴式设备等电子设备的硬件结构示意框图,头戴式设备200可以包括处理器210,存储器220,传感器模块230(可以用于获取用户的姿态),麦克风240,按键250,输入输出接口260,通信模块270,摄像头280,电池290、光学显示模组2100以及眼动追踪模组2110等。
可以理解的是,本申请实施例示意的结构并不构成对头戴式设备200的具体限定。在本申请另一些实施例中,头戴式设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210通常用于控制头戴式设备200的整体操作,可以包括一个或多个处理单元。例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signalprocessor,ISP),视频处理单元(video processing unit,VPU)控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器210中还可以设置存储器,用于存储指令和数据。
在本申请的一些实施例中,处理器210可以用于控制头戴式设备200的光焦度。示例性地,处理器210可以用于控制光学显示模组2100的光焦度,实现对头戴式设备200的光焦度的调整的功能。例如,处理器210可以通过调整光学显示模组2100中各个光学器件(如透镜等)之间的相对位置,使得光学显示模组2100的光焦度得到调整,进而使得光学显示模组2100在向人眼成像时,对应的虚像面的位置可以得到调整,从而达到控制头戴式设备200的光焦度的效果。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,通用异步收发传输器(universal asynchronousreceiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processorinterface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serialbus,USB)接口,串行外设接口(serial peripheral interface,SPI)接口等。
在一些实施例中,处理器210可以对不同景深处的对象做不同程度的模糊化处理,以使不同景深处的对象的清晰度不同。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器210可以包含多组I2C总线。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器210与通信模块270。例如:处理器210通过UART接口与通信模块270中的蓝牙模块通信,实现蓝牙功能。
MIPI接口可以被用于连接处理器210与光学显示模组2100中的显示屏,摄像头280等外围器件。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器210与摄像头280,光学显示模组2100中的显示屏,通信模块270,传感器模块230,麦克风240等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
摄像头280可以采集包括真实对象的图像,处理器210可以将摄像头采集的图像与虚拟对象融合,通过光学显示模组2100现实融合得到的图像。
摄像头280还可以采集包括人眼的图像。处理器210通过所述图像进行眼动追踪。
本申请实施例中,摄像头280可以用于采集用户手部图像。处理器210用于对用户手部图像进行处理,得到用于表征用户手部大小的手部数值。
USB接口是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口可以用于连接充电器为头戴式设备200充电;可以用于头戴式设备200与外围设备之间传输数据;也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其它电子设备,例如手机等。USB接口可以是USB3.0,用于兼容高速显示接口(display port,DP)信号传输,可以传输视音频高速数据。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对头戴式设备200的结构限定。在本申请另一些实施例中,头戴式设备200也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
另外,头戴式设备200可以包含通信模块,比如,头戴式设备200可以从其它电子设备(比如,主机或手机)接收图像进行显示。
通信模块270可以包含无线通信模块和移动通信模块。无线通信功能可以通过天线(未示出)、移动通信模块(未示出),调制解调处理器(未示出)以及基带处理器(未示出)等实现。天线用于发射和接收电磁波信号。
移动通信模块可以提供应用在头戴式设备200上的包括第二代(2th generation,2G)网络/第三代(3th generation,3G)网络/第四代(4th generation,4G)网络/第五代(5th generation,5G)网络等无线通信的解决方案。移动通信模块可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块可以由天线接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块还可以对经调制解调处理器调制后的信号放大,经天线转为电磁波辐射出去。在一些实施例中,移动通信模块的至少部分功能模块可以被设置于处理器210中。在一些实施例中,移动通信模块的至少部分功能模块可以与处理器210的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器等)输出声音信号,或通过光学显示模组2100中的显示屏显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器210,与移动通信模块或其他功能模块设置在同一个器件中。
无线通信模块可以提供应用在头戴式设备200上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
在一些实施例中,头戴式设备200的天线和移动通信模块耦合,使得头戴式设备200可以通过无线通信技术与网络以及其他设备通信。该无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multipleaccess,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(longterm evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigationsatellite system,GLONASS),北斗卫星导航系统(beidou navigation satellitesystem,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
头戴式设备200通过GPU,光学显示模组2100,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接光学显示模组2100和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
存储器220可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。处理器210通过运行存储在存储器220的指令,从而执行头戴式设备200的各种功能应用以及数据处理。存储器220可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储头戴式设备200使用过程中所创建的数据(比如音频数据,电话本等)等。此外,存储器220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
头戴式设备200可以通过音频模块,扬声器,麦克风240,耳机接口,以及应用处理器等实现音频功能。例如音乐播放,录音等。音频模块用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块还可以用于对音频信号编码和解码。在一些实施例中,音频模块可以设置于处理器210中,或将音频模块的部分功能模块设置于处理器210中。扬声器,也称“喇叭”,用于将音频电信号转换为声音信号。头戴式设备200可以通过扬声器收听音乐,或收听免提通话。
麦克风240,也称“话筒”,“传声器”,用于将声音信号转换为电信号。头戴式设备200可以设置至少一个麦克风240。在另一些实施例中,头戴式设备200可以设置两个麦克风240,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,头戴式设备200还可以设置三个,四个或更多麦克风240,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口用于连接有线耳机。耳机接口可以是USB接口,也可以是3.5毫米(mm)的开放移动穿戴设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
在一些实施例中,头戴式设备可以包括一个或多个按键250,这些按键可以控头戴式设备200,为用户提供访问头戴式设备200上的功能。按键250的形式可以是按钮、开关、刻度盘和触摸或近触摸传感设备(如触摸传感器)。具体地,例如,用户可以通过按下按钮来打开头戴式设备200的光学显示模组2100。按键250包括开机键,音量键等。按键250可以是机械按键。也可以是触摸式按键。头戴式设备200可以接收按键输入,产生与头戴式设备200的用户设置以及功能控制有关的键信号输入。
在一些实施例中,头戴式设备200可以包括输入输出接口260,输入输出接口260可以通过合适的组件将其他装置连接到头戴式设备200。组件例如可以包括音频插孔,视频插孔,和/或数据连接器等。
光学显示模组2100用于在处理器210的控制下,为用户呈现图像。光学显示模组2100可以通过反射镜、透射镜或光波导等中的一种或几种光学器件,将实像素图像显示转化为近眼投影的虚拟图像显示,实现虚拟的交互体验,或实现虚拟与现实相结合的交互体验。例如,光学显示模组2100接收处理器210发送的图像数据信息,并向用户呈现对应的图像。
在一些实施例中,头戴式设备200还可以包括眼动跟踪模组2200,眼动跟踪模组2200用于跟踪人眼的运动,进而确定人眼的注视点。例如,可以通过图像处理技术,定位瞳孔位置,获取瞳孔中心坐标,进而计算人的注视点。
需要说明的是,图2A中的头戴式显示设备22和主机21的具体硬件结构也可以参见图2B,例如,头戴式显示设备22可以包括通信模块、摄像头、电池、光学显示模组、输入输出接口、眼动追踪模组、传感器模块、按键、图像处理器以及GPU等。主机21可以包括处理器、存储器以及通信模块等。
在VR场景下,当VR系统具体包括VR一体机时,VR一体机可以通过传感器采集手部数据,并对手部数据进行处理,得到手部数值,该手部数值用于表征手部尺寸大小;再根据手部数值,确定出虚拟输入元件之间的距离后,显示对应的虚拟输入元件。
当VR系统具体为图2A示出的系统时,头戴式显示设备22上集成有传感器,用于采集用户手部数据,例如,传感器为图像传感器,手部数据则为手部图像数据。主机21接收来自头戴式显示设备22的手部数据,对手部数据进行处理,得到手部数值;再根据手部数值,渲染生成虚拟输入元件的图像,将虚拟输入元件的图像发送至头戴式显示设备22。头戴式显示设备22显示接收到的虚拟输入元件的图像。其中,手部可以是双手,也可以是其中一个手。
需要说明的是,上文示出的VR系统也可以为MR系统或AR系统,AR、MR、VR之间的相同之处,可以参见上文关于VR的相关内容,在此不再赘述。
在介绍完本申请实施例可能涉及的相关内容之后,下面示例性地介绍本申请实施例可能涉及的场景。
1、VR场景和虚拟键盘。
参见图3,为本申请实施例提供的一种VR场景示意图。如图3所示,在物理空间下,该场景可以包括头戴式设备31、用户的手部32、以及物理表面33(例如桌面,物理表面可以为物理平面,平面更方便进行打字)。
头戴式设备31可以是VR一体机,也可以外接其它电子设备,例如,主机或手机等。此时,假设头戴式设备31为VR一体机,该设备上集成有双目相机。
其中,双目相机包括两个摄像头,两个摄像头可以左右平行放置,以模拟两只人眼。通过两个摄像头分别拍摄的图像,得到深度信息。
如图3所示,用户佩戴头戴式设备31,开启手势输入功能之后,当用户的手部32位于双目相机的检测范围内,头戴式设备31则在虚拟空间中显示与用户手部32相匹配的虚拟键盘。
其中,当用户将手部32放置至物理表面33上时,或者,在用户将手部32放置至物理表面33的过程中,头戴式设备31显示与手部32相适配的虚拟键盘。
与手部32相匹配的虚拟键盘是指:虚拟键盘的大小与手部32的大小相匹配。即根据手部32的大小,显示不同大小的虚拟键盘。
手部大小和虚拟键盘的尺寸大小呈正相关。当手部32为第一大小时,头戴式设备31则显示第一尺寸的虚拟键盘;当手部32为第二大小时,头戴式设备31则显示第二尺寸的虚拟键盘。第一大小和第二大小不同,第一尺寸和第二尺寸不同。
具体应用中,手部数值可以用于描述手部大小。手部数值可以包括但不限于手掌尺寸和手指长度等。手部的大小不同,手部数值也会相应不同。
第一大小的手部的数值为第一手部数值,第二大小的手部的数值为第二手部数值。基于此,当手部32的数值为第一手部数值时,显示第一尺寸的虚拟键盘;当手部32的数值为第二手部数值时,显示第二尺寸的虚拟键盘。第一手部数值和第二手部数值不同。
当第一手部数值对应的手部尺寸大于第二手部数值对应的手部尺寸时,第一尺寸大于第二尺寸。即手部32越大,虚拟键盘的尺寸越大。
例如,参见图4A~图4B示出的VR场景下的虚拟空间示意图,其中,基于图3的场景,在图4A中,头戴式设备31的虚拟空间中包括界面311、虚拟手部312、以及虚拟键盘313。
虚拟手部312是图3中手部32对应的手部模型,虚拟手部312是头戴式设备31根据双目相机采集的手部图像,渲染出的手部模型。该手部模型的大小与手部32的大小相对应。此时,手部32的大小为第一大小,虚拟键盘313则为第一尺寸的虚拟键盘。
与图4A类似,在图4B中,头戴式设备31的虚拟空间中包括界面311、与手部32对应的虚拟手部314、以及虚拟键盘315。此时,手部32的大小为第二大小,虚拟键盘315则为第二尺寸的虚拟键盘。虚拟手部314的大小与手部32的大小相对应。
通过对比图4A和图4B可知,虚拟手部312的大小大于虚拟手部314,虚拟键盘313的尺寸大于虚拟键盘315的尺寸。也就是说,图4A场景下的手部32大于图4B场景下的手部32。例如,在图4A中,手部32为成人的手部,而在图4B中,手部32为小孩的手部,成人的手大于小孩的手。
通过改变虚拟键盘的尺寸,以改变虚拟键盘中相邻按键的中心点之间的距离。手部32越大,头戴式设备显示的虚拟键盘尺寸越大,虚拟键盘中的按键距离(即相邻按键的中心点之间的距离)也就越大,出现手指遮挡的概率也就越低,输入手势的识别精度就越高。
可以理解的是,头戴式设备31还可以将检测到的物理表面33显示在虚拟空间中。
头戴式设备31通过获取到的手部图像,以及手部32的物理空间位置信息等,在虚拟空间中实时渲染出对应的虚拟手部。渲染的虚拟手部和虚拟键盘处于同一个平面。
在图3中,用户在物理表面33上进行手势输入。而在其它实施例中,用户也可以悬空进行手势输入,不用依赖于物理表面33。例如,参见图5示出的另一种VR场景示意图,当用户的手部32位于头戴式设备31的双目相机的检测范围之内,头戴式设备31则显示与手部32相对应的虚拟键盘。
针对上述场景的一些补充:
(1)头戴式设备31启动手势输入功能的方式。
头戴式设备31的手势输入功能可以是用户手动开启的,也可以是在满足预设启动条件之后,头戴式设备31自动启动的。
示例性地,用户也可以通过菜单或按钮等方式,手动开启手势输入功能。例如,头戴式设备31在虚拟空间中显示一个启动按钮,当检测到用户针对该启动按钮的点击操作时,则响应于该点击操作,开启手势输入功能。
示例性地,上述预设启动条件可以包括以下条件:VR手柄(图中未示出)处于静止状态;手部与目标物理表面之间的距离小于第一距离阈值。目标物理表面为距离头戴式设备31的双目相机最近的物理表面。
换句话说,当VR手柄处于静止状态,且手部与目标物理表面之间的距离小于第一距离阈值时,则认为满足预设启动条件,自动开启手势输入功能。反之,当VR手柄处于非静止状态,和/或,手部与目标物理表面之间的距离大于或等于第一距离阈值,则认为不满足预设启动条件,不开启手势输入功能。
其中,头戴式设备31可以通过VR手柄的传感器数据,判断VR手部是否处于静止状态。
例如,头戴式设备31获取VR手柄的惯性测量单元(Inertial Measurement Unit,IMU)的数据,或者VR手柄的6个自由度(degree of freedom,dof)位置,当IMU数据或者dof数据的变化量较小时,则可以判定VR手柄处于静止状态,反之,则判定VR手柄处于非静止状态。
头戴式设备31可以通过并发建图与定位(simultaneous localization andmapping,slam)的平面检测功能,检测周围的物理量平面,并将距离双目相机最近的物理表面确定为目标物理表面。此时,目标物理表面为图3中的物理表面33。
其中,slam的平面检测功能用于检测物理空间中的平面。在本申请实施例中,头戴式设备31通过双目相机采集周围的环境图像,并根据双目相机中每个摄像头拍摄的图像,得到周围环境的深度信息;根据深度信息,得到同属于一个平面的图像特征点;再基于这些图像特征点构成一个平面。
当头戴式设备31上的相机为单目相机时,用户在佩戴头戴式设备31之后,通过运动和单目相机,得到周围环境的深度信息,根据深度信息,确定同属于一个平面的图像特征点,再基于这些特征点构成一个平面。
当然,头戴式设备除了可以通过视觉获取深度信息之外,还通过其它方式获取手的深度信息。例如,可以通过毫米波雷达获取手部深度信息。
通常情况下,slam是基于激光雷达获得周围环境的点云数据;再确定出点云数据中同属于一个平面上的点,将这些点所构成的区域确定为一个平面。而本申请实施例中,点云数据替换为图像特征点。
头戴式设备31可以实时检测手部32与物理表面33之间的距离,并判断该距离与第一距离阈值之间的大小。
基于此,当VR手柄处于静止状态时,在用户手部32逐渐靠近物理表面33的过程中,当手部32与物理表面33之间的距离小于第一距离阈值时,头戴式设备31则自动开启手势输入功能。在自动开启手势输入功能之后,由于此时手部32位于双目相机的检测范围之内,头戴式设备31则在虚拟空间中显示与手部32对应的虚拟键盘。
头戴式设备31在虚拟空间中显示虚拟键盘时,可以将虚拟键盘显示在虚拟空间的任意位置。在一些实施例中,可以将虚拟键盘显示在手部32的正下方或者手即将落下的位置,这样,不用用户通过拖拽等操作改变虚拟键盘的位置,提高了用户体验。可以理解的是,头戴式设备31可以实时建立手部32的手部模型,并将该手部模型显示在虚拟空间中。将虚拟键盘显示在手部32对应的手部模型的正下方。
当然,在其它实现方式中,预设启动条件可以包括:检测到目标物理表面;检测双手与目标物理表面之间的距离小于第一距离阈值。此时,头戴式设备31可以不用判断VR手柄是否处于静止状态,当手部32和物理表面33之间的距离小于第一距离阈值时,则判定满足预设启动条件,自动开启手势输入功能。本申请实施例不对上述预设启动条件作限定。
(2)头戴式设备31关闭手势输入功能的方式。
在一些实施例中,头戴式设备31可以自动关闭手势输入功能。当满足预设关闭条件时,头戴式设备31则自动关闭手势输入功能。自动关闭手势输入功能之后,头戴式设备的31则在虚拟空间中去除所显示的虚拟键盘。
示例性地,预设关闭条件可以包括以下条件:检测到手部32与目标物理表面(即物理表面33)之间的距离大于第二距离阈值。
也就是说,头戴式设备31在检测到手部32与物理表面33之间的距离大于第二距离阈值时,则自动关闭手势输入功能,并去除所显示的虚拟键盘。当然,预设关闭条件不限于上文提及的示例。
第一距离阈值和第二距离阈值可以相等,也可以不相等,具体数值可以根据实际需要设定,在此不作限定。
此时,在图3示出的场景中,用户将手部32放置到物理表面33的过程中,当手部32与物理表面33之间的距离小于第一距离阈值时,则认为手部32靠近物理表面33,头戴式设备31则自动开启手势输入功能,在虚拟空间中显示虚拟键盘。当手部32与物理表面33之间的距离大于第二距离阈值时,则认为手部32远离物理表面33,头戴式设备31则自动关闭手势输入功能,在虚拟空间中去除所显示的虚拟键盘。
可以理解的是,当用户的手部32离开物理表面33之后,头戴式设备31再次检测到手部32靠近物理表面33,且手部32与物理表面33之间的距离小于第一距离阈值,假设此时检测出手柄处于静止状态,头戴式设备31则再次在虚拟空间中显示虚拟键盘。
在另一些实施例中,用户也可以手动关闭手势输入功能。此时,用户可以通过菜单或按钮等方式关闭手势输入功能。
相较而言,头戴式设备31自动启动和关闭手势输入功能,用户不用通过繁琐的操作来启动和关闭手势输入功能,用户体验较高,进一步提高了输入效率。
可以理解的是,头戴式设备31的手势输入功能也可以一直处于开启状态。
2、VR游戏场景。
参见图6,为本申请实施例提供的VR游戏场景的一种示意图。如图6所示,在头戴式设备的虚拟空间中包括游戏界面611、虚拟手部612、以及虚拟输入元件613。用户可以基于虚拟输入元件613操作游戏界面611中的游戏角色,例如,通过虚拟输入元件613中的方向按键,控制游戏角色进行上下左右的移动。
可以理解的是,头戴式设备在开启手势输入功能之后,当用户的手部位于头戴式设备的相机检测范围内时,头戴式设备则在虚拟空间中显示与用户手部大小相对应的虚拟输入元件613。虚拟手部612是根据用户物理手部建立的手部模型。
虚拟输入元件613中相邻输入元件的中心点之间的距离与用户的手部尺寸大小呈正相关。用户的手部越大,相邻输入元件的中心点之间的距离就越大,以降低手指遮挡的概率,提高输入手势的识别精度。
当用户的手部为第一大小时,相邻虚拟输入元件的中心点之间的距离为第一距离;当用户的手部为第二大小时,相邻虚拟输入元件的中心之间的距离则为第二距离。,第一大小和第二大小不同第一距离和第二距离不同。
3、其它场景。
参见图7,为本申请实施例提供的投射虚拟键盘场景示意图,键盘投射设备71将虚拟键盘73投射在物理表面72上。其中,键盘投射设备71可以通过相机或激光投射虚拟键盘73。
当用户的手部74位于相机的检测范围内,键盘投射设备71则将虚拟键盘73投射在物理表面72上。键盘投射设备71根据用户手部尺寸大小,投射相应尺寸的虚拟键盘73。
当手部74为第一大小时,虚拟键盘73的尺寸则为第一尺寸;当手部74为第二大小时,虚拟键盘73的尺寸则为第二尺寸。
虚拟键盘73的尺寸不同,虚拟键盘73中相邻按键的中心点之间的距离也会相应不同。通过改变虚拟键盘73的尺寸,以改变虚拟键盘73中相邻按键的中心点之间的距离,
需要说明的是,上文提及的场景仅仅是一种示例,并不造成对本申请实施例应用场景的限定。例如,以VR场景为例,本申请实施例还可以应用于VR教育场景等,只要涉及虚拟输入元件的场景均可以应用本申请实施例提供的方案。
在示例性介绍完本申请实施例可能的场景之后,下面结合示例以及附图对本申请实施例提供的技术方案进行详细说明。
参见图8,为本申请一个实施例提供的虚拟输入元件的显示方法的一种流程示意框图,该方法可以包括以下步骤:
步骤S801、电子设备获取手部数据。
上述手部数据是通过传感器采集的数据。示例性地,传感器为图像传感器,手部数据为手部图像数据。此时,电子设备可以通过相机采集用户的手部图像。进一步地,该手部图像可以为深度图像,该深度图像可以通过双目相机采集,或者通过单目相机和IMU单元采集。
以VR场景为例,当电子设备为VR一体机时,VR一体机上可以集成有摄像头,通过摄像头拍摄得到手部图像,例如,该摄像头可以为双目相机,双目相机包括两个摄像头,通过这两个摄像头拍摄的手部图像,可以得到手部深度信息。
当VR设备为如图2A所示的VR系统时,电子设备则为主机、手机、平板电脑、或云端服务器等设备。此时,电子设备接收头戴式显示设备发送的手部图像,以获得上述手部数据。其中,头戴式显示设备上集成有双目相机,头戴式显示设备通过双目相机拍摄手部图像之后,向主机、手机或平板电脑等电子设备发送该手部图像。
例如,参见图3,用户佩戴头戴式设备31之后,将手部32放置到物理表面33上。在将手部32放置到物理表面33的过程中,头戴式设备31通过内置双目相机,按从上往下看的角度,拍摄得到手部32的手部图像。基于双目相机中每个摄像头拍摄的图像,得到手部深度图像。
步骤S802、电子设备对手部数据进行处理,得到手部参数。该手部参数用于描述手部尺寸大小。
在一些实施例中,手部数据为手部图像。此时,电子设备对手部图像进行处理,检测出用户手部的关键点,或者检测出手掌四周的边长,从而得到手部参数。
示例性地,参见图9示出的手部关节点示意图,手包括21个关键点,分别如图9中所示的关键点0~关键点20。图9中的黑点表示手上的关键点,黑点旁边的数字表示序号。
对手部图像数据进行处理,可以得到以下信息:手的类型,以及手的21个关键点位置。
其中,手的类型用于表征手是左手还是右手。
手的21个关键点位置的数据格式可以为[x0,y0,z0,x1,y1,z1,…],每个关键点的空间位置以[x,y,z]表示。
根据手部上每个关键点的空间位置,可以计算出手部参数。例如,手部参数可以包括手掌尺寸和各个手指的长度。
如图9所示,将关键点0、关键点1、关键点2、关键点5、关键点9、关键点13以及关键点17连接起来,再基于这些关键点的空间位置,计算出手掌的尺寸。
基于关键点2、关键点3以及关键点4的空间位置,计算得到拇指的长度;基于关键点5、关键点6、关键点7以及关键点8的空间位置,计算得到食指的长度。
同理,基于关键点9、关键点10、关键点11以及关键点12,计算出中指的长度。基于关键点13、关键点14、关键点15以及关键点16,计算出无名指的长度。基于关键点17、关键点18、关键点19以及关键点20,计算出尾指的长度。
步骤S803、电子设备根据手部参数,确定虚拟输入元件的参数。该虚拟输入元件的参数用于描述相邻虚拟输入元件的中心点之间的距离。
例如,参见图10A示出的按键距离示意图,虚拟键盘101包括按键1011和按键1012。按键1011的中心点和按键1012的中心点之间的距离即为按键距离。此时,虚拟输入元件具体为虚拟键盘101上的按键,虚拟输入元件之间的距离即为相邻按键的中心点之间的距离。虚拟输入元件之间的距离除了包括水平方向上的距离,还包括竖直方向上的距离。图10A中仅示出按键1011和按键1012水平方向上的距离。
需要说明的是,手部参数和虚拟输入元件的参数之间存在对应关系。通过该对应关系,可以根据手部参数,查找到对应的虚拟输入元件的参数。在一些实施例中,虚拟输入元件的参数包括相邻虚拟输入元件的中心点之间的距离和单个虚拟输入元件的面积大小。
例如,参见10B示出的虚拟输入元件示意图,在某个场景下,包括虚拟输入元件102、虚拟输入元件103、虚拟输入元件104、以及虚拟输入元件105。比如,在图6示出的在VR游戏场景,图10B中的4个虚拟输入元件分别用于控制游戏角色上下左右四个方向移动。此时,虚拟输入元件的参数包括图10B中各个虚拟输入元件的面积和各个虚拟输入元件之间的距离。当用户的手部参数为第一手部数值时,虚拟输入元件的参数则包括:第一距离和第一面积;当用户的手部参数为第二手部数值时,虚拟输入元件的参数则包括:第二距离和第二面积。第一距离和第二距离均为相邻虚拟输入元件的中心点之间的距离,第一面积和第二面积均为每个虚拟输入元件的面积。
需要说明的是,虚拟输入元件的参数可以只包括相邻虚拟输入元件的中心点之间的距离。此时,根据手部尺寸大小,只改变相邻虚拟输入元件的中心点之间的距离,不改变单个虚拟输入元件的面积,即单个虚拟输入元件的面积是大小不变。
或者,虚拟输入元件的参数可以只包括单个虚拟输入元件的面积。即通过改变单个虚拟输入元件的面积大小,改变相邻虚拟输入元件的中心点之间的距离。例如,通过增大单个虚拟输入元件的面积,以减少相邻虚拟输入元件的中心点之间的距离;通过减小单个虚拟输入元件的面积,以增大相邻虚拟输入元件的中心点之间的距离。
不同的手部参数,对应的虚拟输入元件的参数也不同。手部参数和虚拟输入元件的参数之间的对应关系,可以是预先设置的,即预先设置不同手部参数对应的虚拟输入元件的参数。
示例性地,预先根据不同的手掌尺寸以及手指长度等,生成不同尺寸的手部模型。再通过实践验证,确定出每个手部模型最符合的距离参数和/或面积参数。距离参数用于表征相邻虚拟输入元件的中心点之间的距离,面积参数用于表征单个虚拟输入元件的面积。最后基于各个手部模型的手部参数,以及每个手部模型最符合的距离参数和面积参数等,建立手部参数和虚拟输入元件参数之间的映射关系,或者说手部模型和虚拟输入元件参数之间的映射关系。
值得指出的是,在确定每个手部模型对应的距离参数和/或面积参数时,不仅要让虚拟输入元件的参数与手部参数相适配,还要让相邻虚拟输入元件的中心点之间的距离较大,这样当用户使用该虚拟输入元件进行手势输入时,由于相邻虚拟输入元件的中心点之间的距离较大,手势输入时用户手指之间的间隔也就较大。手指之间的间隔较大,手指相互遮挡的概率较低。
基于手部参数和虚拟输入元件参数之间的映射关系,电子设备可以在对手部数据进行处理,得到当前的手部参数之后,从手部模型数据库中查找出与当前的手部参数匹配的手部模型,然后将匹配的手部模型对应的距离参数和面积参数,作为当前的手部参数的虚拟输入元件之间的参数。
在另一些实施例中,上述对应关系具体为手部参数和虚拟输入区域的参数之间的映射关系。
其中,虚拟输入区域的参数可以包括表征虚拟输入元件的参数,例如,相邻虚拟输入元件的中心点之间的距离和单个虚拟输入元件的面积等。
虚拟输入区域包括多个虚拟输入元件。当虚拟输入区域的参数确定之后,虚拟输入区域内各个虚拟输入元件的参数也就确定了。
例如,虚拟输入区域为虚拟键盘,虚拟输入元件为虚拟键盘上的按键。此时,上述对应关系为手部参数和虚拟键盘参数之间的映射关系。
首先,预先设置不同手部尺寸对应的虚拟键盘尺寸,以获得手部参数和虚拟键盘参数之间的映射关系。
示例性地,基于手掌尺寸和手指长度等手部参数,预先生成不同的手部模型。然后通过实践验证,确定出每个手部模型最符合的虚拟键盘参数。该虚拟键盘参数包括键盘尺寸大小、单个按键面积以及相邻按键的中心点之间的距离等。最后基于各个手部模型的手部参数,以及每个手部模型最符合的虚拟键盘参数,建立手部参数和虚拟键盘参数之间的映射关系。
需要说明的是,在确定每个手部模型最符合的虚拟键盘参数时,每个虚拟键盘中的按键距离与手部尺寸相适配,且相邻按键的中心点之间的距离较大。相邻按键的中心点之间的距离较大,这样当用户使用该虚拟键盘进行手势输入时,由于按键之间的距离较大,手势输入时用户手指之间的间隔也就较大。手指之间的间隔较大,手指相互遮挡的概率就较低。
通过经验值,预先确定不同手部模型对应的按键距离,以通过按键之间的距离大小,调整手势输入时用户手指之间的间隔大小,并且让用户手指之间的间隔尽可能地大,以尽可能地降低手指相互遮挡的概率。
然后,当电子设备在根据手部数据得到手部参数之后,根据当前的手部参数(例如,当前的手掌尺寸和手指长度等),与数据库中的手部模型进行匹配,查找出与当前的手部参数匹配的手部模型。
从数据库中查找到与当前的手部参数匹配的手部模型之后,将该手部模型对应的虚拟键盘参数作为当前的手部参数对应的虚拟键盘参数。
虚拟键盘参数包括键盘大小、单个按键面积以及按键之间的距离。其中,键盘大小用于表征虚拟键盘的整体尺寸大小,单个按键面积用于表征虚拟键盘中的单个按键的大小,按键之间的距离用于表征虚拟键盘中相邻按键之间的距离大小。
可以理解的是,虚拟输入区域的整体尺寸大小,与相邻虚拟输入元件的中心点之间的距离大小相关。当虚拟输入区域的整体尺寸大小改变时,相邻虚拟输入元件的中心点之间的距离大小也会相应地改变。通常情况下,虚拟输入区域的整体尺寸越大,相邻虚拟输入元件的中心点之间的距离也就越大,反之,虚拟输入区域的整体尺寸越小,相邻虚拟输入元件的中心点之间的距离也就越小。
在一些情况下,当虚拟输入区域的整体尺寸改变时,虚拟输入区域内的虚拟输入元件的大小可以是不变的,改变的是虚拟输入元件之间的距离。当然,在另一些情况下,在虚拟输入区域的整体尺寸改变时,虚拟输入元件的大小以及虚拟输入元件之间的距离可以同时发生改变。
例如,参见图11示出的不同尺寸的虚拟键盘的示意图,虚拟键盘111、虚拟键盘112和虚拟键盘113的尺寸均不同,且虚拟键盘113的尺寸大于虚拟键盘112的尺寸,虚拟键盘112的尺寸大于虚拟键盘111的尺寸。不同尺寸的虚拟键盘中的按键大小是一样的。
通过对比可知,虚拟键盘113中各个按键的距离大于虚拟键盘112中各个按键的距离,虚拟键盘112中各个按键的距离大于虚拟键盘111中各个按键的距离。
在图11中,当虚拟键盘的整体尺寸变化时,按键大小不变。这样虚拟键盘整体尺寸变化时,虚拟键盘内各个按键之间的距离也随之改变。
虚拟键盘111、虚拟键盘112和虚拟键盘113各自对应一个手部模型,每个手部模型的手掌大小和手指长度等参数是不同的参数。
当用户的手部尺寸较大时,选取与手部尺寸相适配,且整体尺寸较大的虚拟键盘。整体尺寸较大的虚拟键盘,按键之间的距离也较大。这样,当用户使用该虚拟键盘进行手势输入时,由于按键之间的距离较大,手势输入时用户手指之间的间隔也就较大。手指之间的间隔较大,用户使用虚拟键盘输入手势时,发生手指相互遮挡的概率就较低。
当然,虚拟输入区域的整体尺寸改变时,虚拟输入元件的大小可以适当改变。例如,参见图12A,虚拟键盘122的整体尺寸大于虚拟键盘121。虚拟键盘122相较于虚拟键盘121,整体尺寸更大,且虚拟键盘中的按键也更大。
具体应用中,当虚拟键盘尺寸增大或缩小时,可以等比例增大或缩小按键尺寸。如图12A所示,虚拟键盘122可以看作是将虚拟键盘121整体放大一定倍数之后得到的。其中,第一比值和第二比值相等。第一比值为虚拟键盘121的整体尺寸与虚拟键盘122的整体尺寸之间的比值,第二比值为虚拟键盘121中的按键距离和虚拟键盘122中的按键距离之间的比值。
当然,在虚拟键盘尺寸增大或缩小时,也可以不是等比例地增大或缩小按键尺寸,而是根据增大或缩小的虚拟键盘尺寸,适当地改变按键大小。
如上文所示,可以通过改变虚拟输入区域的整体尺寸,以改变虚拟输入元件之间的距离。而在其它实现方式中,虚拟输入区域的整体尺寸不变,也可以改变虚拟输入元件之间的距离。
示例性地,虚拟键盘的整体尺寸不变,通过改变虚拟键盘中每个按键的面积大小,以改变虚拟键盘中各个按键之间的距离。
例如,参见图12B示出同一尺寸的虚拟键盘示意图,虚拟键盘123和虚拟键盘124的整体尺寸相同,但虚拟键盘123中单个按键的面积大小与虚拟键盘124中单个按键的面积大小不同。通过对比可知,虚拟键盘123中的单个按键的面积小于虚拟键盘124中单个按键的面积,并且,虚拟键盘123的按键距离大于虚拟键盘124的按键距离。
值得指出的是,虚拟键盘参数可以只包括键盘尺寸,此时,键盘尺寸不同,虚拟键盘中的按键之间的距离也会相应不同;可以包括键盘尺寸和按键之间的距离;可以包括键盘尺寸、按键之间的距离、以及单个按键的面积;也可以只包括单个按键的面积,此时,键盘尺寸可以不变,通过改变单个按键的面积大小,以改变按键之间的距离。
需要说明的是,相邻虚拟输入元件的中心点之间的距离改变时,相邻虚拟输入元件的边界之间的距离可以改变,也可以不变。
步骤S804、电子设备根据虚拟输入元件的参数,显示虚拟输入元件。
在根据手部参数,确定出虚拟输入元件的参数之后,则按照确定出的虚拟输入元件的参数,显示虚拟输入元件。
例如,参见图11,假设根据用户手部图像,得到用户的手掌尺寸和手指长度等参数之后,从手部模型数据库中查找到与用户的手部参数匹配的手部模型为手部模型A,再确定出手部模型A对应的虚拟键盘参数。此时,手部模型A对应的虚拟键盘参数为图11中虚拟键盘113对应的参数。因此,按照手部模型A对应的虚拟键盘参数,在相应位置显示虚拟键盘113。
示例性地,参见图3、图4A和图4B,头戴式设备31在确定出手部32手部参数对应的虚拟键盘参数之后,则在虚拟空间的显示虚拟键盘313或虚拟键盘315。
值得指出的是,基于本申请实施例提供的方案,用户的手部尺寸越大,相邻虚拟输入元件的中心点之间的距离也就越大。即当用户手部尺寸较大时,不会由于虚拟输入元件之间的距离过小,出现手指相互遮挡的问题。
由上可见,用户手部尺寸不同,显示的虚拟输入元件之间的距离也相应不同,这样降低了手指相互遮挡的概率,提高了输入手势的识别准确率。
例如,对于虚拟键盘来说,用户手部尺寸不同,显示的虚拟键盘的尺寸也相应不同,即根据用户手部尺寸大小,显示与用户手部尺寸大小相适应的虚拟键盘,减少甚至避免了手指相互遮挡的问题。
如上文所述,用户的手部尺寸不同,电子设备显示的虚拟输入元件之间的距离也会相应不同。
电子设备在显示虚拟输入元件之后,用户可以基于显示的虚拟输入元件,通过输入手势即可输入相应的信息。例如,虚拟输入元件为虚拟键盘中的按键,电子设备在显示与用户手部尺寸相适配的虚拟键盘之后,用户通过手指“模拟按下”虚拟键盘中的相应按键,以输入相应的文本信息。
电子设备通过手势识别算法,检测用户手指是否与目标物理表面接触,以判断手势输入是否成功。当检测到手指与目标物理表面接触时,则判定手势输入成功,反之,检测到手指没有与目标物理表面接触,则判定手势输入失败。
电子设备在判定手势输入成功后,会在界面显示对应的键入信息。
但是,在一些情况下,由于算法识别精度的问题,虽然用户手指已经与目标物理表面接触,但该手势没有被算法有效识别,导致手势输入失败。
也就是说,用户手指与目标物理表面接触,并不意味着手势输入一定成功。
这种情况下,用户只能通过观察界面上是否显示对应的信息,以得知手势输入是否成功。
例如,参见图13示出的VR场景的虚拟空间示意图,VR场景下的虚拟空间包括界面131、虚拟手部132、虚拟键盘133以及输入框134。
基于图3的场景,当用户手部32位于双目相机的检测范围内时,头戴式设备31根据手部32的尺寸大小,显示与手部32的尺寸相适配的虚拟键盘133。虚拟手部132为根据手部32建立的手部模型。
在图13中,用户基于虚拟键盘133,向界面131内的输入框134输入的信息为“abcde”。
在输入“abcde”的过程中,用户在物理空间中执行“模拟敲击”动作之后,只能通过观察界面131内的输入框134是否显示有对应的信息,来确定当次动作是否被有效识别。
用户通过视觉观察,确定手势输入是否成功的方式,会降低用户的输入效率。具体来说,用户在通过视觉观察确定出手势输入失败之后,再告知手进行重新输入,导致用户很难形成肌肉记忆,输入效率较低。
为了提高用户的输入效率,本申请实施例可以在判定出手势输入成功时,给用户一个反馈信息。该反馈信息用于提示用户手势输入已成功。
该反馈信息可以具体为振动信息,即电子设备在判定手势输入成功时,通过振动告知用户手势输入已成功,不用用户再通过视觉判断手势输入是否成功。
在一些实施例中,电子设备可以在判定出手势输入成功之后,向其它电子设备发送振动指令,以指示其它电子设备响应于该振动指令,控制振动马达进行振动操作。
该其它电子设备可以是手柄,可以是手机、平板电脑等便携式电子设备,也可以是智能手环、智能手表等可穿戴式电子设备。这些电子设备包括振动马达。
示例性地,参见图14示出的VR场景下的振动反馈示意图,以图3示出的场景为基础,头戴式设备31根据用户手部32的尺寸大小,显示与手部32相适配的虚拟键盘之后,用户通过手指与目标物理表面33接触,以模拟手指敲击虚拟键盘中的按键,以输入相应的信息。
在用户输入手势时,头戴式设备31按照从上往下看的角度,通过内置的相机拍摄连续多帧图像,并基于拍摄的连续多帧图像,进行手势识别。
头戴式设备31在判定手势输入成功时,则可以向放置在目标物理表面33上的手机35发送振动指令,该振动指令用于指示手机35控制振动马达进行振动。手机35接收到来自头戴式设备31的振动指令之后,则响应于该振动指令,控制振动马达振动。
这样,用户手指与目标物理表面33接触时,通过手机35是否振动,即可得知手势输入是否成功。当手机35振动时,则可以得知当次手势输入成功,反之,当手机35不振动,得知当次手势输入不成功。
手机35与头戴式设备31通信连接,连接方式可以是有线连接,也可以是无线连接。
具体应用中,头戴式设备31可以基于VR的软件开发工具包(SoftwareDevelopment Kit,SDK),通过通信模块向手机35发送振动指令。该通信模块可以是蓝牙或WiFi等。以蓝牙为例,将手机35和头戴式设备31进行配对,配对成功之后,头戴式设备31上存储有手机35的配对信息,该配对信息可以包括蓝牙设备名称等信息。
在头戴式设备31识别出手势输入成功之后,根据手机35的配对信息,通过蓝牙协议向手机35发送振动指令。
或者,头戴式设备31和手机35可以是登陆同一个用户账号的设备,并且头戴式设备31和手机35与同一个WiFi网络连接。头戴式设备31在判断手势输入成功之后,确定出手机35与本设备登陆的是同一个用户账号,则通过WiFi将振动指令发送至手机35。
在一些实施例中,电子设备可以先判断是否满足输入反馈启动条件,如果满足,则启动输入反馈功能,反之,如果不满足,则不启动输入反馈功能。
电子设备启动输入反馈功能之后,则判断手势输入是否成功。在判定出手势输入成功之后,电子设备则可以向其它电子设备发送反馈信息,以指示其它电子设备进行输入成功提示操作。
示例性地,输入反馈启动条件包括:检测到目标物理表面;检测目标物理表面上摆放有目标设备。目标物理表面为距离电子设备的相机最近的物理表面。
以图13的场景为例,头戴式设备31先判断是否满足输入反馈启动条件。具体地,头戴式设备31通过slam的平面检测功能,检测到物理表面33与头戴式设备31的相机之间的距离最小,则判定检测到目标物理表面,此时,目标物理表面为物理表面33。
进一步地,头戴式设备31在判断目标物理表面上是否摆放有目标设备。此时目标设备示例性为VR手柄,即头戴式设备31需要判断物理表面33上是否包括VR手柄(图中未示出)。
头戴式设备31可以通过VR手柄的手柄灯带,识别VR手柄的空间位置。例如,头戴式设备31通过控制手柄灯带的闪烁,以区分左右手柄。头戴式设备31通过内置相机拍摄包括VR手柄的图像,基于该图像中的手柄灯带,判断VR手柄空间位置是否静止在物理表面33上的。
当检测到物理表面33,且物理表面33上摆放有VR手柄时,头戴式设备31则判定满足输入反馈启动条件,启动输入反馈功能。反之,当检测不到物理表面33,或者检测到物理表面33不包括VR手柄时,则不启动输入反馈功能。
在启动输入反馈功能之后,头戴式设备31通过采集的连续多帧图像,进行手势识别。当识别出手势输入成功时,头戴式设备31则通过VR手柄控制软件,以蓝牙的方式将反馈信息发送给VR手柄。VR手柄根据反馈信息,通过内置的控制程序,进行提示操作。以反馈信息为振动指令为例,VR手柄接收到振动指令之后,通过内置的控制程序,控制振动马达进行振动。
当然,在其它实现方式中,输入反馈启动条件可以包括:检测到目标物理表面;检测到VR手柄处于静止状态。
或者,输入反馈启动条件可以包括:显示虚拟键盘。即头戴式设备31在根据手部尺寸大小,显示相应大小的虚拟键盘之后,则自动开启输入反馈功能。
本申请实施例不对输入反馈启动条件作限定。
需要说明的是,上述示例中的VR手柄也可以替换其它类似的电子设备。例如,VR手柄替换成手机35或者智能手环34。
在如图14所示的VR场景下,除了可以通过手机35和VR手柄等设备,向用户反馈振动信息之外,还可以通过用户佩戴的智能手环34等设备,向用户反馈振动信息。
此时,头戴式设备31基于连续多帧图像,进行手势识别。在判定手势输入成功时,头戴式设备31可以通过蓝牙模块,向智能手环34发送振动指令。智能手环34接收到振动指令之后,响应于该振动指令,控制振动马达振动。
当然,在其他实现方式中,头戴式设备31在判定手势输入成功之后,还可以进一步判断用户是否佩戴着智能手环34。如果智能手环34处于佩戴状态,即用户正佩戴着智能手环34,则向智能手环34发送振动指令,反之,如果用户没有佩戴智能手环34,则不向智能手环34发送振动指令。
具体应用中,智能手环34可以通过自身集成的传感器,检测自身是否处于被佩戴状态。示例性地,智能手环34上集成有生理信号传感器,该生理信号传感器用于采集用户的生理信号。例如,该生理信号传感器为心率传感器,智能手环34通过心率传感器采集用户的心率值。
当用户佩戴智能手环34时,智能手环34可以通过生理传感器采集生理信号,并且该生理信号的值不是空的。基于此,头戴式设备31可以基于智能手部34采集的生理信号是否为空,判断智能手环34是否处于佩戴状态。例如,智能手环34通过心率传感器采集用户的心率信号,并将所采集的心率信号通过蓝牙传输至头戴式设备31。头戴式设备31在接收到智能手环34采集的心率信号之后,判断心率信号的值是否为空。当心率信号的值为空时,则判定智能手环34不处于佩戴状态,反之,当心率信号的值不为空时,则判定智能手环34处于佩戴状态。
或者,在其它实现方式中,智能手环34在采集到生理信号之后,可以在本地判断生理信号的值是否为空,以判断是否处于佩戴状态;在判定出当前处于佩戴状态之后,则向头戴式设备31发送第一通知消息,该第一通知消息用于告知头戴式设备31当前智能手环34处于佩戴状态。头戴式设备31在接收到来自智能手环34的第一通知消息之后,则将本地记录中的智能手环状态更新为佩戴状态。
当智能手环34根据检测到生理信号,判定处于非佩戴状态时,则向头戴式设备31发送第二通知消息。头戴式设备31接收到第二通知消息之后,则响应于第二通知消息,将本地记录中的智能手环状态从佩戴状态更新为非佩戴状态。
除了可以基于生理信号传感器,判断智能手环34是否处于佩戴状态之后,还可以通过其它类型的传感器,判断智能手环34是否处于佩戴状态。例如,智能手环上集成有红外传感器或加速度传感器,通过加速度传感器采集的加速度信号,判断智能手环是否处于佩戴状态。
或者,头戴式设备31先判断是否与智能手环34或手机35连接,如果当前处于连接状态,则向智能手环34或手机35发送振动指令,以控制智能手环34或手机35振动。
反馈信息除了可以为上文提及的振动信息,也可以为其它类型的信息。例如,反馈信息具体为语音信息。此时,电子设备在判定出手势输入成功之后,则可以向其它电子设备发送语音指令,该语音指令用于指示其它电子设备控制蜂鸣器发出预设声音。
该预设声音示例性可以为“嘀”。这样,用户可以通过是否听到声音“嘀”,得知手势输入是否成功。
当然,电子设备在判定出手势输入成功之后,也可以不向其它电子设备发送语音指令,而是控制本设备的蜂鸣器,发出预设声音。或者,电子设备在判定出手势输入成功之后,也可以控制本设备的振动马达进行振动。
需要说明的是,电子设备虽然判定手势输入成功,但是由于视角问题,用户手指可能与物理表面还有一段距离,即用户手指还没有与物理表面接触。
例如,参见图15示出的手指和物理表面之间的距离示意图。基于图3示出的场景,。用户基于虚拟键盘输入手势时,头戴式设备31按从上往下看的角度,拍摄得到连续多帧图像,并基于连续多帧图像,判断手势输入是否成功。
由于头戴式设备31是按从上往下看的角度拍摄图像的,使得头戴式设备31根据图像进行手势识别时,可能已经判定出手势输入成功,但用户手指还没有与物理桌面33接触。如图14所示,在判定手势输入成功时,手部32的手指与物理表面33之间还有一段距离,手指还没有完全接触到物理表面33。
可以看出,本申请实施例在判断手势输入成功时,给用户反馈一个输入成功的信息,以告知用户手势输入成功,不用用户通过视觉观察确定手势输入是否成功,提高了输入效率。并且,当反馈信息为振动信息时,用户“按下”虚拟输入元件时,可以有一定的振动手感,提高了用户体验。
在一些实施例中,电子设备根据用户手部尺寸大小,显示虚拟输入元件之后,还可以根据用户输入手势过程中的手指相互遮挡比例和/或输入速度等,动态调整虚拟输入元件之间的距离。
其中,遮挡比例是指第一预设时间段内的被遮挡次数和总次数之间的比值。
具体地,在第一预设时间段内,电子设备统计用户输入手势的总次数,并且,统计手势输入时出现手指相互遮挡的被遮挡次数。其中,手势识别算法可以判断出某次手势输入是否被遮挡,即是否出现手指相互遮挡的情况。
输入速度是指单位时间内输入的字数。
具体应用中,在第二预设时间段内,电子设备统计成功输入的文字和字母的总数量,并根据总数量和时间,得到输入速度。
其中,第一预设时间段和第二预设时间段可以相同,也可以不相同。
值得指出的是,遮挡比例的高低、以及输入速度的高低可以在一定程度上反映虚拟输入元件之间的距离是否与手部尺寸相适配。
通常情况下,遮挡比例较高时,则表明对于当前的手部尺寸,虚拟输入元件之间的距离较小。因此,则需要相应地增大虚拟输入元件之间的距离,以降低遮挡比例。
输入速度较低时,则表明对于当前的手部尺寸,虚拟输入元件之间的距离较大。因此,则需要相应地减小虚拟输入元件之间的距离,以提高输入速度。
基于此,在一些实施例中,电子设备可以通过判断遮挡比例、输入速度和阈值之间的关系,以确定是否需要调整虚拟输入元件之间的距离。
具体地,电子设备在获取到遮挡比例之后,判断遮挡比例是否大于或等于第一阈值,当遮挡比例大于或等于第一阈值时,则增大虚拟输入元件之间的距离。反之,当遮挡比例小于第一阈值时,则不调整虚拟输入元件之间的距离。
电子设备在获取到输入速度和遮挡比例之后,判断输入速度是否小于或等于第二阈值,判断遮挡比例是否小于或等于第三阈值。当输入速度小于或等于第二阈值,且遮挡比例小于或等于第三阈值时,则减少虚拟输入元件之间的距离。
在根据遮挡比例和输入速度,动态调整虚拟输入元件之间的距离时,当判断出满足调整条件时,则将虚拟输入元件之间的距离调整至下一个级别。
调整条件可以为遮挡比例是大于或等于第一阈值,或者,输入速度小于或等于第二阈值,且遮挡比例小于或等于第三阈值。
也就是说,当判断出遮挡比例是大于或等于第一阈值,则将虚拟输入元件之间的距离向上调整一个级别,以增大虚拟输入元件之间的距离。
当判断出输入速度小于或等于第二阈值,且遮挡比例小于或等于第三阈值,则将虚拟输入元件之间的距离向下调整一个级别,以减少虚拟输入元件之间的距离。
第一阈值、第二阈值和第三阈值可以根据实际需要设定,在此不作限定。
其中,可以预先设置各个级别,以及各个级别对应的虚拟输入元件之间的距离;基于预先设置的级别和距离等,动态调整虚拟输入元件之间的距离。
示例性地,以虚拟键盘为例,通过调整虚拟键盘的整体尺寸,以调整虚拟输入元件之间的距离。
假设预先设定的虚拟键盘的整体尺寸和级别之间的对应关系包括如下表1所示的信息。
表1
级别 | 虚拟键盘的整体尺寸 |
1 | A |
2 | B |
3 | C |
4 | D |
其中,表1中的虚拟键盘的整体尺寸大小关系为:A>B>C>D。
电子设备根据手部参数,确定出的虚拟键盘的整体尺寸为C,即设定的虚拟键盘尺寸为C。
在用户基于虚拟键盘进行手势输入的过程中,电子设备判断出遮挡比例大于或等于第一阈值,即满足调整条件,则需要将虚拟键盘的整体尺寸向上调整一个级别。此时,当前的虚拟键盘尺寸为C,级别为3。向上调整一个级别后的虚拟键盘的整体尺寸为B,级别为2。调整之后,电子设备显示的虚拟键盘的整体尺寸从C变成B,增大了虚拟键盘中各个按键的距离。通过增大按键之间的距离,降低了发生手指相互遮挡的概率。
同理,如果在某个时刻,电子设备判断出输入速度小于或等于第二阈值,且遮挡比例小于或等于第三阈值,则认为满足调整条件,且需要向下调整一个级别。
此时,当前的虚拟键盘尺寸为C,级别为C。向下调整一个级别后的虚拟键盘的整体尺寸为D,级别为4。调整之后,电子设备显示的虚拟键盘的整体尺寸从C变成D,减少了虚拟键盘中各个按键的距离。需要说明的是,虚拟输入元件的距离调整规则不限于上文提及的规则。例如,在其它实现方式中,还可以根据遮挡比例和输入速度所落入的区间,确定出虚拟输入元件之间的距离。每个区间对应不同的虚拟输入元件之间的距离。
在另一些实施例中,可以只基于输入速度或遮挡比例,调整虚拟输入元件之间的距离。
例如,电子设备在遮挡比例高于一定阈值时,则增大虚拟输入元件之间的距离;在遮挡比例低于一定阈值时,则不对虚拟输入元件之间的距离。
又例如,电子设备可以在输入速度低于一定阈值时,则减小虚拟输入元件之间的距离;在输入速度高于一定阈值时,则不对虚拟输入元件之间的距离进行调整。
可以看出,本申请实施例在根据用户手部尺寸大小,显示虚拟输入元件之后,根据遮挡比例和输入速度,动态调整虚拟输入元件之间的距离,以使得虚拟输入元件之间的距离与用户手部尺寸大小相适配,进一步提高了手势输入效率,以及手势识别精度。
在一些实施例中,电子设备可以自动启动和关闭手势输入功能。具体地,电子设备在判定满足预设启动条件时,则自动启动手势输入功能;电子设备在判定满足预设关闭条件时,则自动关闭手势输入功能。
启动手势输入功能时,会在相应位置显示虚拟输入元件。关闭手势输入功能时,显示的虚拟输入元件会消失。
示例性地,预设启动条件可以包括以下条件:检测到VR手柄处于静止状态;检测到目标物理表面;检测双手与目标物理表面之间的距离小于第一距离阈值。
当满足上述预设启动条件时,则自动启动手势输入功能,并在相应位置显示虚拟输入元件。相应位置可以示例性地为手的正下方或手即将落下的地方。
当然,在其它实现方式中,预设启动条件可以包括:检测到目标物理表面;检测双手与目标物理表面之间的距离小于第一距离阈值。预设启动条件不限于上文提及的示例。
示例性地,预设关闭条件可以包括以下条件:检测到双手与目标物理表面的距离大于第二距离阈值。
也就是说,电子设备在检测到双手与目标物理表面之间的距离大于第二距离阈值时,则自动关闭手势输入功能,并去除所显示的虚拟输入元件。
当然,预设关闭条件不限于上文提及的示例。
在另一些实施例中,用户也可以手动关闭和启动手势输入功能。此时,用户可以通过菜单或按钮等方式,启动和关闭手势输入功能。
手动启动手势输入功能之后,电子设备会在相应位置显示虚拟输入元件。用户还需要通过手柄拖拽等方式,将虚拟输入元件摆放到检测到的目标平面上。
相较而言,电子设备自动启动和关闭手势输入功能,用户不用通过繁琐的操作来启动、关闭手势输入功能,用户体验较高,进一步提高了输入效率。
可以理解的是,当电子设备判定出满足预设启动条件,或者接收到用户启动手势输入功能的指令时,电子设备则可以获取手部数据,对手部数据进行处理以得到手部参数,再根据手部参数,设置虚拟输入元件的参数,最后再根据设置好的虚拟输入元件的参数,显示虚拟输入元件。
本申请实施例提供的电子设备,可以包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述方法实施例中任一项的方法。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例还提供一种芯片系统,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如上述各个方法实施例所述的方法。所述芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
此外。在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (22)
1.一种虚拟输入元件的显示方法,其特征在于,应用于头戴式显示设备,所述头戴式显示设备包括深度检测器和显示部件;所述方法包括:
当用户的手部位于所述深度检测器的检测范围内,且在所述手部靠近物理表面的过程中或所述手部放置在所述物理表面时,通过所述显示部件在虚拟空间中显示虚拟手部和虚拟键盘;其中,所述虚拟手部为所述手部的虚拟模型;
当所述手部的手指与所述物理表面接触时,响应于所述手部的手指的键入操作,在所述虚拟空间的界面显示键入信息;
其中,所述手部的大小与所述虚拟键盘的尺寸成正相关;当所述手部为第一大小时,所述虚拟键盘的尺寸为第一尺寸;当所述手部为第二大小时,所述虚拟键盘的尺寸为第二尺寸,所述第一大小大于所述第二大小,所述第一尺寸大于所述第二尺寸。
2.根据权利要求1所述的方法,其特征在于,在通过显示部件在虚拟空间中显示虚拟键盘之后,所述方法还包括:
当所述手部的手指与所述物理表面接触时,向目标设备发送提示指令或者执行提示操作,所述提示指令用于指示所述目标设备进行提示操作;
其中,所述提示操作包括振动和/或播放预设声音;
所述目标设备包括所述头戴式显示设备,或与所述头戴式显示设备通信连接的电子设备。
3.根据权利要求1或2所述的方法,其特征在于,在通过所述显示部件在虚拟空间中显示虚拟键盘之后,所述方法还包括:
当遮挡比例为第一比例时,增大所述虚拟键盘的尺寸;
当所述遮挡比例为第二比例,且所述输入速度为第一速度时,减小所述虚拟键盘的尺寸;
其中,所述虚拟键盘用于手势输入,所述遮挡比例为手势输入的被遮挡次数和手势输入的总次数之间的比值;所述第一比例大于所述第二比例。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述通过显示部件在虚拟空间中显示虚拟键盘之后,所述方法还包括:
当所述手部远离所述物理表面的过程中,和/或,所述手部位于所述深度检测器的检测范围之外时,去除所述虚拟键盘。
5.根据权利要求1至4任一项所述的方法,其特征在于,当所述手部位于所述深度检测器的检测范围内,且在所述手部靠近物理表面的过程中或所述手部放置在所述物理表面时,通过所述显示部件在虚拟空间中显示虚拟手部和虚拟键盘,包括:
当所述手部位于所述深度检测器的检测范围内,且在所述手部靠近物理表面的过程中或所述手部放置在物理表面时,通过所述深度检测器获取所述手部的手部深度图像;
对所述手部深度图像进行处理,得到所述手部参数,所述手部参数用于描述所述手部的尺寸大小;
从手部模型数据库中查找与所述手部参数相匹配的目标手部模型;
获得所述目标手部模型对应的虚拟键盘参数,所述虚拟键盘参数包括键盘尺寸;
根据所述虚拟键盘参数,通过所述显示部件在所述虚拟空间中显示所述虚拟键盘。
6.一种虚拟输入元件的显示方法,其特征在于,应用于电子设备,所述方法包括:
当手部位于检测器的检测范围时,通过显示部件显示至少两个虚拟输入元件;
其中,所述手部的大小与相邻虚拟输入元件的中心点之间的距离成正相关;
当所述手部为第一大小时,相邻虚拟输入元件的中心点之间的距离为第一距离;当所述手部为第二大小时,相邻虚拟输入元件的中心点之间的距离为第二距离,所述第一大小大于所述第二大小,所述第一距离大于所述第二距离。
7.根据权利要求6所述的方法,其特征在于,当所述手部位于所述检测器的检测范围,且所述手部与物理表面之间的距离为第三距离时,通过所述显示部件显示至少两个虚拟输入元件。
8.根据权利要求7所述的方法,其特征在于,所述电子设备为头戴式显示设备,所述头戴式显示设备包括所述检测器和所述显示部件。
9.根据权利要求7所述的方法,其特征在于,所述电子设备为投影设备,所述投影设备包括所述检测器和所述显示部件,所述显示部件为投影部件。
10.根据权利要求7或8所述的方法,其特征在于,当所述手部与所述物理表面之间的距离为第四距离时,和/或,所述手部位于所述检测器的检测范围之外,去除所述至少两个虚拟输入元件,所述第四距离大于所述第三距离。
11.根据权利要求7至10中任一所述的方法,其特征在于,在通过显示部件显示至少两个虚拟输入元件之后,所述方法还包括:
当所述手部的手指与所述物理表面接触时,向目标设备发送提示指令或者执行提示操作,所述提示指令用于指示所述目标设备进行提示操作;
所述目标设备包括所述电子设备,或与所述电子设备通信连接的另一电子设备。
12.根据权利要求11所述的方法,其特征在于,所述提示操作包括振动和/或播放预设声音。
13.根据权利要求11所述的方法,其特征在于,在当所述手部的手指与所述物理表面接触时,向目标设备发送提示指令之前,所述方法还包括:
当检测到所述物理表面,且所述物理表面上包括所述目标设备,则进入当所述手部的手指与所述虚拟输入元件接触时,向目标设备发送提示指令的步骤。
14.根据权利要求6至13任一项所述的方法,其特征在于,在通过显示部件显示至少两个虚拟输入元件之后,所述方法还包括:
当遮挡比例为第一比例时,增大所述虚拟输入元件之间的距离;
当所述遮挡比例为第二比例,且所述输入速度为第一速度时,减小所述虚拟输入元件之间的距离;
其中,所述虚拟输入元件用于手势输入,所述遮挡比例为手势输入的被遮挡次数和手势输入的总次数之间的比值;所述第一比例大于所述第二比例。
15.根据权利要求14所述的方法,其特征在于,所述遮挡比例和所述输入速度的获取过程包括:
统计预设时间段内手势输入的总次数以及被遮挡次数;
根据所述总次数和所述被遮挡次数,得到所述遮挡比例;
统计所述预设时间段内通过所述虚拟键盘成功输入的总字数;
根据所述总字数和所述预设时间段,得到所述输入速度。
16.根据权利要求6至15任一项所述的方法,其特征在于,当手部位于检测器的检测范围时,通过显示部件显示至少两个虚拟输入元件,包括:
通过所述检测器获取所述手部的手部数据;
对所述手部数据进行处理,得到手部参数,所述手部参数用于描述所述手部的尺寸大小;
从手部模型数据库中查找与所述手部参数相匹配的目标手部模型;
获得所述目标手部模型对应的虚拟输入元件的参数,所述虚拟输入元件的参数包括用于描述虚拟输入元件之间的距离的参数;
根据所述虚拟输入元件的参数,通过所述显示部件显示所述至少两个虚拟输入元件。
17.根据权利要求16所述的方法,其特征在于,所述检测器包括图像传感器,所述手部数据为手部图像;
对所述手部数据进行处理,得到手部参数,包括:
对所述手部图像进行处理,得到所述手部的关键点信息;
根据所述手部的关键点信息,获得所述手部的手掌尺寸和各个手指的长度;
其中,所述手部参数包括所述手掌尺寸和各个手指的长度。
18.根据权利要求16所述的方法,其特征在于,所述虚拟输入元件为虚拟键盘中的按键;
获得目标手部模型对应的虚拟输入元件的参数,包括:
获取所述目标手部模型对应的虚拟键盘参数,所述虚拟键盘参数包括以下至少一种:键盘尺寸、按键之间的距离、以及单个按键的面积。
19.根据权利要求18所述的方法,其特征在于,所述手部的大小与虚拟键盘的尺寸成正相关,所述虚拟键盘的尺寸与所述虚拟键盘中各个按键之间的大小成正相关;
当所述虚拟键盘为第一尺寸时,所述虚拟键盘中按键之间的距离为所述第一距离;当所述虚拟键盘为第二尺寸时,所述虚拟键盘中按键之间的距离为第二距离。
20.根据权利要求6至19任一项所述的方法,其特征在于,所述电子设备包括所述检测器和所述显示部件;或者,所述显示部件为头戴式显示设备,所述检测器集成在所述头戴式显示设备上。
21.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5或6至20任一项所述的方法。
22.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5或6至20任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110911918.1A CN115904056A (zh) | 2021-08-09 | 2021-08-09 | 虚拟输入元件的显示方法、电子设备和可读存储介质 |
EP22855285.7A EP4361774A1 (en) | 2021-08-09 | 2022-08-03 | Display method for virtual input element, electronic device, and readable storage medium |
PCT/CN2022/109821 WO2023016302A1 (zh) | 2021-08-09 | 2022-08-03 | 虚拟输入元件的显示方法、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110911918.1A CN115904056A (zh) | 2021-08-09 | 2021-08-09 | 虚拟输入元件的显示方法、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904056A true CN115904056A (zh) | 2023-04-04 |
Family
ID=85199903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110911918.1A Pending CN115904056A (zh) | 2021-08-09 | 2021-08-09 | 虚拟输入元件的显示方法、电子设备和可读存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4361774A1 (zh) |
CN (1) | CN115904056A (zh) |
WO (1) | WO2023016302A1 (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633551B (zh) * | 2017-08-18 | 2018-07-06 | 中山叶浪智能科技有限责任公司 | 一种虚拟键盘的展示方法及装置 |
CN109683667A (zh) * | 2018-12-25 | 2019-04-26 | 上海萃钛智能科技有限公司 | 一种头戴式计算机及其信息输入方法 |
US11270515B2 (en) * | 2019-09-04 | 2022-03-08 | Qualcomm Incorporated | Virtual keyboard |
-
2021
- 2021-08-09 CN CN202110911918.1A patent/CN115904056A/zh active Pending
-
2022
- 2022-08-03 WO PCT/CN2022/109821 patent/WO2023016302A1/zh active Application Filing
- 2022-08-03 EP EP22855285.7A patent/EP4361774A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023016302A1 (zh) | 2023-02-16 |
EP4361774A1 (en) | 2024-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112911182B (zh) | 游戏互动方法、装置、终端及存储介质 | |
JP2019145108A (ja) | 顔に対応する3次元アバターを用いて顔の動きが反映された3dアバターを含むイメージを生成する電子装置 | |
EP3627384A1 (en) | Anti-counterfeiting processing method and related product | |
CN105320262A (zh) | 操作虚拟世界里的电脑和手机的方法、装置以及使用其的眼镜 | |
CN112907725B (zh) | 图像生成、图像处理模型的训练、图像处理方法和装置 | |
CN110263617B (zh) | 三维人脸模型获取方法及装置 | |
CN108848313B (zh) | 一种多人拍照方法、终端和存储介质 | |
CN111970456B (zh) | 拍摄控制方法、装置、设备及存储介质 | |
CN112835445B (zh) | 虚拟现实场景中的交互方法、装置及系统 | |
CN109272473B (zh) | 一种图像处理方法及移动终端 | |
CN109978996B (zh) | 生成表情三维模型的方法、装置、终端及存储介质 | |
CN110956580B (zh) | 图像换脸的方法、装置、计算机设备以及存储介质 | |
CN113038165B (zh) | 确定编码参数组的方法、设备及存储介质 | |
CN108958587B (zh) | 分屏处理方法、装置、存储介质和电子设备 | |
CN113325948B (zh) | 隔空手势的调节方法及终端 | |
EP3974950A1 (en) | Interactive method and apparatus in virtual reality scene | |
CN109164908B (zh) | 一种界面控制方法及移动终端 | |
CN107563353B (zh) | 一种图像处理方法、装置及移动终端 | |
CN109819331B (zh) | 一种视频通话方法、装置、移动终端 | |
CN110152309B (zh) | 语音通信方法、装置、电子设备及存储介质 | |
CN111415421A (zh) | 虚拟物体控制方法、装置、存储介质及增强现实设备 | |
CN111401283A (zh) | 面部识别方法及装置、电子设备及存储介质 | |
CN110660032A (zh) | 一种对象屏蔽方法、对象屏蔽装置及电子设备 | |
CN115904056A (zh) | 虚拟输入元件的显示方法、电子设备和可读存储介质 | |
CN114416237A (zh) | 显示状态切换方法、装置及系统、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |