使用MEMS投影仪来确定光电传感器的位置的系统和方法
文献发布时间:2023-06-19 12:10:19
本申请是申请日为2016年7月22日、申请号为201680053929.8、发明名称为“用于使用MEMS投影仪来确定HMD或另一控制器的光电传感器的取向的系统和方法”的发明专利申请的分案申请。
技术领域
本公开涉及用于使用微机电系统(MEMS)镜来确定控制器的光电传感器的取向的系统和方法。
背景技术
视频游戏行业的吸引力越来越大。随着时间的推移,更多的人使用例如控制器、手机、头戴式显示器等小装置来玩视频游戏。为了玩视频游戏,用户的位置被确定。
在此背景下,产生本公开中描述的实施方案。
发明内容
在一个实施方案中,一种包括微机电系统(MEMS)镜的系统用于跟踪穿过测量空间的光束。许多光束控制的图案为使用MEMS镜可能实现的。然而,作为实例,应用李萨如(Lissajous)变化图案。李萨如变化图案将以谐振操作模式驱动MEMS镜,例如,在MEMS镜的谐振频率之下沿着MEMS镜的y轴移动MEMS镜,且在谐振频率之上沿着MEMS镜的x轴移动MEMS镜。设定李萨如变化图案的重复标准。当MEMS镜为旋转镜时,测量结果例如检测到的光束击中信号的脉冲等限于李萨如变化图案预定频率,例如,60赫兹、在55赫兹与65赫兹之间的范围等。
通过使用光束,用在此速率下的一个或两个旋转MEMS镜扫描整个测量空间,例如,体积等。光束比用以扫描整个测量空间的线移动得更快。通过驱使MEMS镜靠近其谐振频率,光束被使用且实现期望的更新速率以用于跟踪光束。只要MEMS镜沿着x和y轴的移动的频率在谐振峰的较小百分比内,MEMS镜就以谐振模式移动。在例如第1/180、第1/200、第1/170等的数量级中的MEMS镜沿着x和y轴的移动的频率中的轻微差异产生填充整个测量空间的李萨如变化图案。
通过使用光束而非线,系统的同步定时用于确定光束的取向。所述系统另外包括接收器,例如,头戴式显示器、手持式控制器等,所述接收器包括一个或多个光电传感器,且所述系统包括具有MEMS镜以确定光束的取向的投影仪。投影仪和接收器两者的时钟信号被同步以确定光束取向。在实施方案中,在刚性拓扑中的多个光电传感器或具有已知基线的多个投影仪促进三角测量或透视n点的方法以确定光电传感器相对于投影仪的三维(3D)姿态。
李萨如变化图案经执行以促进从光电传感器检测到的光束击中信号的定时来得出光束的取向。在光束的宽度和与李萨如图案相关联的MEMS镜的频率的配置的情况下,光电传感器每测量周期检测光束的强度峰值若干次,例如,李萨如图案重复的频率等。强度峰值的定时允许光束的取向的良好的整体平均。因此,即使强度峰值的定时的精度中存在噪声,通过在李萨如图案的频率的每测量周期处具有预定数目(例如,3至5个等)的强度峰值,也减少噪声以获得光束的取向。
在一个实施方案中,投影仪产生红外光或可见光以作为光束。
在实施方案中,多个投影仪经配置以执行时分复用。例如,两个投影仪具有交替的光束发射,使得投影仪中的一个进行李萨如变化图案的扫描,且随后投影仪中的另一个执行李萨如变化图案的扫描。
在一个实施方案中,时分复用在较细粒度处执行,例如,谐振操作模式的周期等。
在实施方案中,为实现同步,在李萨如图案的每一扫描期间或在扫描的部分期间使用全局闪光照明。在一个实施方案中,为实现同步,使用有线通信或射频(RF)通信。
在一个实施方案中,光束通过将重复位码嵌入到光束中调制。以此方式,光电传感器检测到重复位码的若干个位以区分开多个唯一编码的投影仪。
在实施方案中,使用用以确定重复位码的相关性来改进时间同步,且因此改进在由光电传感器检测时的光束取向的测量结果。
作为时分复用的替代方案,使用频率复用。例如,使用两个不同的光频率且随后将滤波器置于光电传感器上,使得光电传感器中的一个检测到来自投影仪中的第一投影仪而非投影仪中的第二投影仪的频率中的一个,且光电传感器中的另一个检测到来自第二投影仪而非第一投影仪的频率中的另一个。第一和第二投影仪两者同时运行。
一个实施方案提供一种用于确定光电传感器相对于第一投影仪的位置的方法,包括:由所述光电传感器检测从在第一图案中移动的第一镜子反射的第一光束,其中所述镜子位于所述第一投影仪内;计算检测到所述第一光束的第一击中的第一时间;基于所述击中的第一时间确定所述第一图案内发生第一击中的位置;由所述光电传感器检测从在第二图案中移动的第二镜子反射的第二光束;计算检测到所述第二光束的第二击中的第二时间;基于所述击中的第二时间确定所述第二图案内发生第二击中的第二位置;和基于所述第一图案内的第一位置和所述第二图案内的第二位置确定所述光电传感器相对于第一投影仪的位置。
一个实施方案提供一种用于确定光电传感器相对于第一投影仪的位置的系统,包括:所述第一投影仪,其具有被配置为在第一图案中移动的第一镜子;第二投影仪,其具有被配置为在第二图案中移动的第二镜子;包括所述光电传感器的头戴式显示器,其中所述光电传感器被配置为检测从所述第一镜子反射的第一光束;和耦合到所述头戴式显示器的计算设备,其中所述计算设备被配置为:计算检测到所述第一光束的第一击中的第一时间;基于所述击中的第一时间确定所述第一图案内发生第一击中的位置,其中所述光电传感器被配置为检测从所述第二镜子反射的第二光束,其中所述计算设备被配置为:计算检测到所述第二光束的第二击中的第二时间;基于所述击中的第二时间确定所述第二图案内发生第二击中的位置;和基于所述第一图案内的位置和所述第二图案内的位置确定所述光电传感器相对于第一投影仪的位置。
一个实施方案提供一种用于确定光电传感器相对于第一投影仪的位置的系统,包括:所述第一投影仪,其具有被配置为在第一图案中移动的第一镜子;第二投影仪,其具有被配置为在第二图案中移动的第二镜子;包括所述光电传感器的手持控制器,其中所述光电传感器被配置为检测从所述第一镜子反射的第一光束;耦合到所述手持控制器的计算设备,其中所述计算设备被配置为:计算检测到所述第一光束的第一击中的第一时间;基于所述击中的第一时间确定所述第一图案内发生第一击中的位置,其中所述光电传感器被配置为检测从所述第二镜子反射的第二光束,其中所述计算设备被配置为:计算检测到所述第二光束的第二击中的第二时间;基于所述击中的第二时间确定所述第二图案内发生第二击中的位置;和基于所述第一图案内的位置和所述第二图案内的位置确定所述光电传感器相对于第一投影仪的位置。
一个实施方案提供一种用于确定光电传感器相对于第一投影仪的位置的计算设备,包括:处理器,被配置为:计算检测到第一光束的第一击中的第一时间,其中当第一镜子在第一图案中移动时,所述第一光束由所述第一投影仪的第一镜子反射;基于所述击中的第一时间确定所述第一图案内发生第一击中的位置,计算检测到第二光束的第二击中的第二时间,其中当第二镜子在第二图案移动中时,所述第二光束由第二投影仪的第二镜子反射;基于所述击中的第二时间确定所述第二图案内发生第二击中的位置;和基于所述第一图案内的位置和所述第二图案内的位置确定所述光电传感器相对于第一投影仪的位置;和耦合到所述处理器的存储设备。
附图说明
图1A为用以说明确定光束的光束取向以进一步确定头戴式显示器(HMD)相对于投影仪的位置的系统的实施方案的图式。
图1B为用以说明微机电系统(MEMS)镜的移动的频率的实施方案的图式。
图2为用以说明手持式控制器替代于HMD而被由投影仪发射的光束扫描以确定光束方向以进一步确定手持式控制器相对于投影仪的姿态的系统的实施方案的图式。
图3为用以说明包括执行本文中描述的操作中的一个或多个的处理器的计算装置的方块图。
图4A为用于确定光束取向的方法的实施方案的流程图。
图4B为用于确定光束取向和HMD的姿态的方法的实施方案的流程图。
图4C为图4B的流程图的继续。
图4D为用以说明确定光束取向的系统的实施方案的图式。
图4E为用以说明产生光束所处的每一时间对应于光束相对于投影仪的xyz坐标系的不同取向的系统的实施方案的图式。
图5为李萨如图案的实施方案的图式。
图6A为用以说明光电传感器相对于光电传感器的实际位置的测得位置以确定光束击中在光束的直径内的位置的实施方案的图式。
图6B为用以说明当在检测之间光电传感器中没有可察觉移动时,光束击中的位置使用李萨如图案的一部分的直径与李萨如图案的另一部分的直径的交点来确定的实施方案的图式。
图6C为用以说明当光电传感器中存在移动时,使用李萨如图案的一部分的直径与李萨如图案的另一部分的直径的交点来确定的光束击中的位置中的线性校正的实施方案的图式。
图6D示出基于李萨如曲线的公式的更一般化校正,且所述校正比简单的线性校正更准确。
图7A为用于说明用以确定光电传感器相对于投影仪的位置的三角测量的方法且用于说明用以识别投影仪中的通过HMD的光电传感器从其检测到光束的投影仪的在多个投影仪之间的时分复用的系统的实施方案的图式。
图7B为用于说明用以使用例如透视n点等方法来确定光电传感器的刚性拓扑相对于单一投影仪的姿态的另一方法的系统的实施方案的图式。
图8A为用以说明调制通过投影仪发射的光束以识别投影仪的系统的实施方案的图式。
图8B为在光束移动经过光电传感器时在检测到来自光束的光束击中后通过光电传感器产生的检测到的光束击中信号的经调制脉冲的实施方案的图式。
图8C为用以说明投影仪的最大长度序列(MLS)位序列沿着李萨如图案重复许多次的图式。
图8D为通过计算装置的处理器应用以检测MLS位序列的一部分的相关滤波器的实施方案的图式。
图8E为说明对用于确定MLS位序列的一部分的匹配的相关滤波器应用阈值的实施方案的图式。
图8F为用以说明在相关滤波器与MLS位序列之间的匹配沿着李萨如图案发生多次的李萨如图案的一部分的实施方案的图式。
图8G为用以说明其中检测到的MLS位序列的长度用于确定光电传感器在李萨如图案的直径内的改进位置的MLS序列技术的李萨如图案的一部分的实施方案的图式。
图9为用以说明在装置与另一装置之间的时钟信号的同步的方法的系统的实施方案的图式。
图10为用于通过从由光电传感器产生的检测到的光束击中信号提取调制信号的频率来同步投影仪和HMD的时钟信号的方法的实施方案的流程图。
图11为用以说明用于对检测到的光束击中信号的强度求平均值以确定光束的取向的方法的图式。
图12为用于在HMD内产生的时钟信号与在投影仪内产生的时钟信号的同步的方法的实施方案的流程图。
图13为HMD的实施方案的等距视图。
图14为用以说明用户通过使用HMD和手持式控制器来进行的与虚拟环境的交互的系统的实施方案的图式。
图15为HMD的实施方案的等距视图。
图16为用于说明经由计算机网络进行的对虚拟环境的访问的图式。
图17说明穿戴HMD以访问虚拟环境的用户。
图18为用以说明HMD的实例部件的图式。
图19说明信息服务提供商架构的实施方案。
图20为具有多个光电传感器的HMD的实施方案的图式。
具体实施方式
图1A为用以说明确定光束方向θ以进一步确定头戴式显示器(HMD)102相对于投影仪104的位置的系统100的实施方案的图式。系统100包括投影仪104、HMD 102、计算装置107和手持式控制器115。HMD 102穿戴在用户106的头部上,且投影仪104位于用户106所位于的环境(例如,房间、位置等)内。
计算装置107经由链路109耦合到HMD 102。如本文中所使用,链路的实例包括有线链路,例如,电缆等。链路的另一实例包括无线链路。例如,位于计算装置107内的无线通信装置应用无线通信协议,例如,Wi-Fi、蓝牙、射频(RF)协议等,以经由无线链路与位于HMD102内的无线通信链路通信。
类似地,计算装置107经由链路111耦合到投影仪104。例如,位于计算装置107内的无线通信装置应用无线通信协议以经由无线链路与位于投影仪104内的无线通信装置通信。此外,计算装置107经由链路113耦合到手持式控制器115。例如,位于计算装置107内的无线通信装置应用无线通信协议以经由无线链路与手持式控制器115内的无线通信链路装置通信。
在一个实施方案中,如本文中所使用,无线通信装置为处理器。
投影仪104的光束发生器108发射光束110,所述光束由微机电系统(MEMS)镜112朝向HMD 102反射。MEMS镜112通过驱动器114在一个或多个频率处驱动,所述驱动器例如致动器、磁致动器、热致动器、磁体等。例如,MEMS镜112被驱动以相对于MEMS镜112的X轴和/或相对于MEMS镜112的Y轴移动,例如平移、旋转、摇摆等。应注意,在一些实施方案中,MEMS镜112的轴例如X轴、Y轴等与投影仪的轴例如x轴、y轴等不同。光束发生器108的实例包括激光束光源、不可见光源、可见光源等。MEMS镜108为双轴镜例如微扫描仪等。在一个实施方案中,驱动器114连接到投影仪104的处理器,且投影仪104的处理器将控制信号提供到驱动器114以在重复频率处驱动MEMS镜112,所述重复频率例如通过MEMS镜112重复例如李萨如图案、光栅扫描图案等图案所处的频率。在接收到控制信号后,驱动器114产生场例如磁场、电场等,以控制MEMS镜112的移动。
MEMS镜112的移动以相对于投影仪104的x轴成角度θx、相对于投影仪104的y轴成角度θy、且相对于投影仪104的z轴成角度θz来反射光束110。在一些实施方案中,投影仪104的z轴在不存在MEMS镜112的位移时在光束110从MEMS镜112反射后通过所述光束的方向界定。角度θx、θy和θz提供光束110相对于投影仪104的xyz坐标系的原点的取向。xyz坐标系的原点在投影仪104的x轴、投影仪104的y轴和投影仪104的z轴的交点处。y轴垂直于x轴且x和y轴都垂直于z轴。光束110的通过光电传感器105a检测时的取向提供光电传感器105a相对于投影仪104的xyz坐标系的取向。
位于例如装配到、置于、附着到等HMD 102的外表面上的多个光电传感器105a、105b和105c例如光电二极管等检测光束110以产生电传感器信号,所述信号随后被计算装置107用于确定HMD 102相对于投影仪104的姿态,例如,沿着光束110距投影仪104的xyz坐标系的原点的距离等,并确定HMD 102相对于xyz坐标系的取向。
在一个实施方案中,HMD 102在其外表面上包括任何其他数目的光电传感器以用于感测光束110。应注意,HMD 102的外表面定位成与HMD 102的内表面相反。HMD 102的内表面在用户102穿戴HMD 102时面向用户106的眼睛。
在实施方案中,使用光栅扫描而非李萨如图案。
在一个实施方案中,光束方向例如角度θx、θy和θz等相对于水平轴(例如,投影仪104的x轴等)、投影仪104的垂直y轴和投影仪104的前向z轴测量,
在实施方案中,本文中描述的通过投影仪产生的光束为可见光束、红外光束或另一光频率的光束。
在一个实施方案中,当光电传感器105a检测到光束110时,击中光电传感器105a的光束相对于投影仪104的取向通过由光束110相对于投影仪104的对应的x轴、y轴和z轴形成的角度θx、θy和θz表示。
在实施方案中,HMD 102相对于投影仪104的位置与HMD 102相对于xyz坐标系的原点的位置相同。此外,HMD 102相对于投影仪104的取向与HMD 102相对于xyz坐标系的取向相同。
在一个实施方案中,宽视场通过扫描光束110获得。例如,当MEMS镜112不具有足够的预定量的偏转时,将广角镜头用于MEMS镜112与投影仪104的输出之间以与投影仪104成广角而输出光束110。
在实施方案中,广角镜头对光束发散的影响为确定的。
在一个实施方案中,光束110被建模为高斯光束。
在实施方案中,李萨如图案中的与李萨如图案的其他部分相比较稀疏的部分为沿着投影仪104的z轴。
在一个实施方案中,光束110填满空间以避免间隙。所述空间为环境的一部分。例如,空间为环境的被环境中的光束110的移动覆盖的量。作为另一实例,空间为其中HMD 102的移动通过光束110的扫描检测到的环境的量。通过光束110填充的空间的量取决于光束110的直径、光束110从投影仪104的发散和光电传感器105a的收集区。光电传感器105a的收集区检测光束110。增加光束110的直径允许较大的覆盖范围,但代价是产生光束110的测量精度和功率需要。
在一个实施方案中,替代于光束110的直径或除所述光束的直径外,光电传感器105a的直径也增加。
在实施方案中,光电传感器105a与光束110成斜角或甚至部分被HMD 112的设计挡住,使得光电传感器105a无法检测到光束110。在光电传感器105a上没有任何镜头盖的情况下,光束110的光的平圆盘在其随着远离投影仪104而落到光电传感器105a上时变成椭圆形。镜头盖改进光电传感器105a的角灵敏度。
在实施方案中,光束110的发散与光学投影平截头体发散匹配,使得在距投影仪104任何特定距离处,李萨如图案具有相同百分比的填充空间。然而,在一个实施方案中,其中匹配并未发生,例如,在距投影仪104 1米的范围处存在重叠且在距所述投影仪3米的范围处不存在重叠等,且造成重叠中的不一致之处。
在一个实施方案中,HMD 102经由链路117耦合到投影仪104。
在一些实施方案中,术语姿态和位置在本文中可互换地使用。
图1B为用以说明MEMS镜112的各种移动频率的MEMS镜112的实施方案的图式。MEMS镜112相对于例如围绕等MEMS镜112的X轴以频率f1被驱动,且相对于MEMS镜112的Y轴以频率f2被驱动。在实施方案中,频率f2不同于频率f1。例如,当f1为35060赫兹(Hz)时,f2为35000Hz。作为另一实例,当f1为34,620Hz时,f2为34,560Hz。作为另一实例,当f1在MEMS镜112的谐振频率处时,f2慢于谐振频率。作为另一实例,MEMS镜112的谐振频率为f1和f2的平均值。
当f1比f2小较大的预定量时,HMD 102的近似光栅扫描通过光束110执行。当f1与f2基本上相同时,则出现更对称的李萨如扫描图案。
在一个实施方案中,MEMS镜112以若干模式驱动。例如,为以MEMS镜112中的较大角位移快速地扫描,一种模式为谐振模式,其中通过驱动器114驱动MEMS镜112的驱动频率接近于MEMS镜112的自然机械谐振。因此,李萨如图案就在特定时间帧中的空间的整体覆盖范围而言为高效的。
图2为用以说明替代于HMD 102或除所述HMD外,手持式控制器202被投影仪104的光束110扫描以确定包括角度θx、θy和θz的光束取向以进一步确定手持式控制器202相对于投影仪104的姿态的系统200的实施方案的图式。如本文中所使用,手持式控制器的实例包括游戏控制器、游戏手柄、遥控板、控制杆、轨迹球、枪形控制器、弓形控制器、方向盘、操作杆、键盘、鼠标、平板计算机、手机等。在一个实施方案中,HMD 102为控制器的实例。
手持式控制器202在其表面上具有多个光电传感器204a和204b以用于感测光束110,所述光电传感器例如光电二极管等。在一些实施方案中,手持式控制器202在其表面上包括任何其他数目的光电传感器以用于感测光束110,例如三个、四个、五个、十个、二十个光电传感器等。投影仪104以与上文所描述的方式类似的方式操作以产生光束110,并引导光束110相对于投影仪104成角度θx、θy和θz。手持式控制器202上的光电传感器204a感测到光束110以产生电传感器信号,所述信号随后用于确定在光电传感器204a感测到光束110时光束110相对于投影仪104的取向,包括角度θx、θy和θz。在通过光电传感器204a感测到光束110时光束110相对于投影仪104的取向提供光电传感器204a相对于投影仪104的xyz坐标系的原点的取向。所述取向随后用于确定光电传感器204a相对于投影仪104的xyz坐标系的原点的位置。以此方式,光电传感器204a和204b的取向相对于投影仪104的xyz坐标系确定,以确定手持式控制器202相对于投影仪104的xyz坐标系的姿态。手持式控制器的姿态在手持式控制器上的至少三个光电传感器已经知道相对于投影仪的坐标系的方向时使用例如透视n点等技术计算。举例来说,光电传感器105a与105b之间的距离的平方表达为第一关系式,表达为l
在实施方案中,手持式控制器202相对于投影仪104的位置与手持式控制器202相对于投影仪104的xyz坐标系的原点的位置相同。此外,手持式控制器202相对于投影仪104的取向与手持式控制器202相对于投影仪104的xyz坐标系的取向相同。
在一个实施方案中,手持式控制器202与手持式控制器115(图1A)相同,除了手持式控制器202包括多个光电传感器204a、204b以及更多光电传感器外。
图3为用以说明执行本文中描述的一个或多个操作的计算装置107的方块图,所述操作例如数学运算、计算操作、确定操作等。计算装置107包括处理器302、存储器装置304、网络接口控制器306以及多个输入/输出(I/O)端口308a、308b、308c和308d。网络接口控制器306的实例包括网络接口卡(NIC)以用于访问计算机网络例如局域网(LAN)、广域网(WAN)诸如因特网或其组合等。每一I/O端口308a至308d的实例包括串行端口、并行端口或通用串行总线(USB)端口。串行端口在处理器302与耦合到串行端口的I/O装置之间以串行方式传输数据,例如,一次一位等,所述I/O装置例如HMD 102、手持式控制器115(图1A)、投影仪104(图1A)等。并行端口在处理器302与耦合到并行端口的I/O装置之间以并行方式传输数据,例如,一次多位等。USB端口应用USB协议来在处理器302与耦合到USB端口的I/O装置之间传输数据。如本文中所使用,处理器是指使用的中央处理单元(CPU)、专用集成电路(ASIC)或可编程逻辑装置(PLD),且这些术语在本文中可互换地使用。如本文中所使用,存储器装置的实例包括只读存储器(ROM)、随机存取存储器(RAM)、硬盘、易失性存储器、非易失性存储器、存储磁盘冗余阵列、闪存存储器等。计算装置的实例包括游戏控制台、桌上型计算机、膝上型计算机、智能电视机、平板计算机、手机等。
在一个实施方案中,计算装置107可由HMD 102和/或投影仪104经由计算机网络访问。例如,计算300装置为云网络或服务器机架的一部分。
在实施方案中,本文中描述为通过计算装置107执行的处理操作中的任何操作在云网络中执行。
图4A为用于确定光电传感器105a相对于xyz坐标系的原点的取向的方法400的实施方案的流程图。当光束110被位于HMD 102上的光电传感器105a感测到时,光电传感器105a在操作402中产生检测到的光束击中信号,例如,具有带有光束强度峰值的脉冲的信号、具有带有光束强度局部极大值的脉冲的信号、电传感器信号、具有带有最大幅度的脉冲的信号等。光电传感器105a将检测到的光束击中信号发送到计算装置107的处理器302。处理器302在操作404中根据下文关于图4B描述的方法450基于检测到光束击中信号来确定光电传感器105a相对于xyz坐标系的原点的取向。
图4B为用于确定光电传感器105a相对于投影仪104的xyz坐标系的原点的取向的方法450的实施方案的流程图。应注意,在来自投影仪104(图1A)的光束110的投射和扫描期间,通过投影仪104的时钟源例如晶体振荡器、时钟振荡器、时钟信号发生器等产生的时钟信号在操作452中连续与通过HMD 102的时钟源例如晶体振荡器、时钟振荡器、时钟信号发生器等产生的时钟信号同步。例如,通过HMD 102的时钟源产生的时钟信号与通过投影仪104的时钟源产生的时钟信号相差在预定相位差内。作为另一实例,HMD 102的时钟信号具有与投影仪104的时钟信号的相位相同的相位。MEMS镜112和光束110在图案例如李萨如图案、光栅扫描图案等中的移动的位置使用在投影仪104内产生的时钟信号和通过光电传感器105a检测到光束110的时间来确定,所述时间例如光束110的脉冲的峰值强度的时间、脉冲的最大幅度的时间、脉冲的幅度峰值的时间等。光束110的检测的时间通过在HMD 102内产生的时钟信号测得。
通过投影仪104产生的时钟信号与通过HMD 102产生的时钟信号的同步通过计算装置107的处理器302执行。例如,计算装置107的处理器302经由链路111(图1A)与投影仪104的处理器通信以接收投影仪104的时钟信号的相位。投影仪104的处理器耦合到投影仪104的时钟源。此外,计算装置107的处理器302经由链路109(图1A)与HMD 102的处理器通信以将时钟信号的相位提供到HMD 102的处理器。在接收到相位后,HMD 102的处理器将信号发送到HMD 102的时钟源以修改HMD 102的时钟信号的相位,使得投影仪104的时钟信号的相位与HMD 102的时钟信号的相位同步。
在一个实施方案中,投影仪104的处理器经由在投影仪104与HMD 102之间的链路117例如射频信号链路、无线链路、有线通信媒介等,将通过投影仪104的时钟源产生的时钟信号的相位发送到HMD 102的处理器。HMD 102的处理器接收投影仪104的时钟信号的相位,并修改通过HMD 102的时钟源产生的时钟信号的相位以与投影仪104的时钟信号的相位匹配。
在实施方案中,HMD 102的处理器经由在投影仪104与HMD 102之间的链路117将通过HMD 102的时钟源产生的时钟信号的相位发送到投影仪104的处理器。投影仪104的处理器接收HMD 102的时钟信号的相位,并修改通过投影仪104的时钟源产生的时钟信号的相位以与HMD 102的时钟信号的相位匹配。
在一个实施方案中,当HMD 102和投影仪104的时钟信号同步时,在时钟信号的相位之间小于预定相位差。
在实施方案中,装置例如HMD 102、投影仪104等的处理器将从另一装置例如投影仪104、HMD 102等接收到的时钟信号的相位发送到装置的锁相环路(PLL),且PLL匹配所述相位与通过装置产生的时钟信号的相位。
光电传感器105a将检测到的光束击中信号发送到HMD 102的处理器。HMD 102的处理器将检测到的光束击中信号从模拟形式转换成数字形式,并经由链路109(图1A)将数字形式的光束击中信号定时发送到计算装置107。此外,HMD 102的处理器从HMD 102的时钟源获得光束110在光电传感器105a上的击中时间,例如,光束110的脉冲的峰值量值出现的时间、光束110的脉冲的强度的局部极大值出现的时间、光束110的强度的增加超出预定限制的时间、检测到的光束击中信号的脉冲的产生的时间等,并经由链路109将击中时间发送到计算装置107的处理器302。计算装置107的处理器302在操作454中接收检测到的光束击中信号和光束110在光电传感器105a上的击中时间。光束110的击中时间为光束110被光电传感器105a检测到的时间,且通过HMD 102的时钟源测量。
处理器302在操作456中基于击中时间和图案的起始时间来确定光束110在图案内的位置。在一个实施方案中,图案的起始时间通过处理器302经由链路111(图1A)从投影仪104的处理器获得,且为MEMS镜112移动以产生或重复图案的时间。投影仪104的处理器从投影仪104的时钟源获得图案的起始时间。投影仪104的时钟源测量图案的起始时间。作为光束110在图案内的位置的确定的实例,计算装置107的处理器302从图案的起始时间、频率f1、频率f2和击中时间来确定光束110在图案内的位置。举例来说,计算装置107的处理器302确定起始时间对应于光束110在图案中的初始位置。此外,处理器302确定初始位置根据MEMS镜112的频率f1和f2改变以获得在击中时间处图案上的光束110的位置。在一个实施方案中,频率f1和f2、击中时间、起始时间和光束110在图案中的位置当中的对应,例如,一对一关系等,被存储在计算装置107的存储器装置304中。所述对应通过处理器302访问以从起始时间、频率f1和f2以及击中时间确定光束110在图案中的位置。
图4C为图4B的流程图且图4B的方法450的继续。在操作458中,计算装置107的处理器302从图案上的位置确定光电传感器105a相对于投影仪104的xyz坐标系的原点的取向。例如,如图4D中所示,投影仪104和HMD 470的时钟信号被同步。HMD 470为HMD 102(图1A)的实例。投影仪104在时间T1至T8处发射光束110,因为光束110沿着图案。时间T1至T8通过投影仪104的时钟源测量。每一时间T1至T8对应于光束110相对于投影仪104的xyz坐标系的不同取向。应注意,出于简单性目的,光束110的产生示出为沿着投影仪104的y轴。光束110扫描以沿着投影仪104的x轴且还沿着投影仪104的y轴形成图案,如通过图4D中的xyz坐标系示出。光电传感器105a在时间T3处检测到光束110。如参考图4E所说明,基于与时间T3的一对一对应例如映射、关系、关联等,计算装置107的处理器302确定光束110的取向相对于投影仪104的xyz坐标系的原点成角度θx1、θy1和θz1。对于图案的每一次重复,在击中时间、角度θx、θy和θz和光束110在图案中的位置之间存在一对一对应。用户106随后移动以相对于投影仪104的xyz坐标系的原点移动HMD 102。在HMD 102的移动之后,光电传感器105a在时间T4处检测到光束110。从与时间T4的一对一对应,处理器302确定光束110的取向相对于投影仪104的xyz坐标系的原点成角度θx2、θy2和θz2。
如图4E中所示,HMD 470的光电传感器中的每一个与HMD 470的正面成角度,所述HMD 470为HMD 102的实例。例如,光电传感器105a成角度以相对于HMD 470的y轴形成角度φ1。HMD 470的y轴的方向随HMD 470的移动而改变。
返回参考图4C,处理器302另外在操作460中确定,检测到光束110的光电传感器105a位于沿着光束110的某处。处理器302在操作462中应用下文描述的三角测量方法以确定光电传感器105a相对于投影仪104(图1A)的xyz坐标系的位置。
在一些实施方案中,未相对于HMD 470的正面成角度例如平行于所述正面等的检测到光束110的光电传感器的取向与光束110的取向相同。在这些实施方案中,光电传感器和光束110的取向是相对于投影仪104的xyz坐标系。在各种实施方案中,相对于HMD 470的正面成角度的光电传感器的取向为通过光电传感器相对于HMD 470的正面形成的角度和通过光束110相对于投影仪104的xyz坐标系形成的角度的组合。
图4D为用以说明光电传感器105a相对于投影仪104的取向的确定的系统的实施方案的图式。图4D中说明的系统包括HMD 470和投影仪104。投影仪104在扫描期间在时间T1至T8处发射光束110以形成图案,且光束110通过HMD 470的一个或多个光电传感器检测到。
图4E为用以说明产生光束110所处的时间T1至T8中的每一个对应于光束110相对于投影仪104的xyz坐标系的不同取向的系统的实施方案的图式。例如,时间T3对应于角度θx、θy和θz的值的第一组合,且时间T4对应于角度θx、θy和θz的值的第二组合。应注意,第一组合的值中的至少一个不同于第二组合的对应的值中的至少一个。例如,第一组合的角度θx的值不同于第二组合的角度θx的值,和/或第一组合的角度θy的值不同于第二组合的角度θy的值,和/或第一组合的角度θz的值不同于第二组合的角度θz的值。
图5为李萨如图案500的实施方案的图式。李萨如图案500具有中心区域502和边缘区域504。如图所示,李萨如图案500在中心区域502中的穿程之间的角度大于李萨如图案500在边缘区域504中的穿程之间的角度。例如,在李萨如图案500的部分506a与李萨如图案500的部分506b之间的角度大于在李萨如图案500的部分506b与部分506c之间的角度。例如,在中心区域502中的部分506a与506b之间的角度在80度与90度之间,且在边缘区域504中的部分506b与506c之间的角度小于45度。作为另一实例,在李萨如图案500在边缘区域504中的部分510a与李萨如图案500在边缘区域504中的部分510b之间的角度小于45度。
李萨如图案500具有原点512,在所述原点处,光束110相对于投影仪104的xyz坐标系存在零角位移。李萨如图案500在原点512处开始并在原点512处结束,且随后以连续的方式重复。
在实施方案中,李萨如图案500沿着MEMS镜112的X轴表示为:
x=A sin(ω
,且沿着MEMS镜112的Y轴表示为
y=B sin(ω
其中ω
在一个实施方案中,不需要相位δ。因此,等式(1)变成
x=A sin(ω
在f1大于f2的实施方案中,重复李萨如图案500的帧所用的重复频率F等于f1与f2之间的差值。f1的值和/或f2的值确定李萨如图案500的密度。
图6A为用以说明光电传感器105a相对于光电传感器105a的实际位置604的测得位置602以确定光束击中在李萨如图案500中的位置的实施方案的图式。光电传感器105的测得位置602参考投影仪104的xyz坐标系的原点确定。光束110的李萨如图案500示出为入射在光电传感器105a上且具有李萨如轴606,所述李萨如轴提供李萨如图案500所沿着的方向。李萨如图案500的直径为d1,例如10毫米、5毫米、8毫米等。替代于实际位置604,处理器302将光电传感器105a相对于投影仪104的xyz坐标系的原点的位置确定为沿着正交于李萨如轴606的轴线608的任何之处。例如,处理器302将光电传感器105a相对于投影仪104的xyz坐标系的原点的位置确定为在测得位置602处的点处。测得位置602处的所述点在李萨如轴606与轴线608的交点处。轴线608延伸经过检测到光束击中的实际位置604。以此方式,读数将沿着光束110的扫描具有精度,但其正交于光束110的精度取决于光束110的直径d1和光电传感器105a的大小,例如直径等。如图所示,光电传感器105a的直径小于光束110所沿着的李萨如图案500的直径d1。
图6B为用以说明在通过所示出的李萨如图案扫描中的每一个实现的光电传感器的照明之间光电传感器105a中不存在移动时光束击中的位置使用李萨如图案500的部分506a的直径d1与部分506b的直径d1的交点来确定的实施方案的图式。光束击中的位置为实际位置604,所述实际位置在部分506a的直径d1与部分506b的直径d1的交点处。光电传感器105a在李萨如图案500的部分506a期间在时间t1处产生检测到的光束击中信号,且在李萨如图案500的部分506b期间在时间t2处产生另一检测到的光束击中信号。部分506a在与部分506b遍历所处的方向成角度的方向上遍历,例如,成90度角、成80与95度之间的角度等。此外,当李萨如图案500在成角度的方向上遍历时,光电传感器105a不存在移动。当光电传感器105a在李萨如图案500的帧例如一执行回合等期间检测到光束击中多次例如时间t1和t2等时,确定光束击中的位置。
在一个实施方案中,当李萨如图案500与光电传感器105a的大小匹配时,例如相同直径、直径彼此相差在预定范围内等,第一检测到的光束击中信号在所述帧期间在部分506a扫描(例如,在第一扫描期间等)经过光电传感器105a时获得,且第二检测到的光束击中信号在所述帧期间在光束110近似正交于第一扫描而扫描(例如,在第二扫描期间等)时获得。第二扫描在部分506b扫描经过光电传感器105a时发生。HMD 102的时钟源测量产生第一检测到的光束击中信号所处的时间,并测量产生第二检测到的光束击中信号所处的时间。处理器302从与第一和第二检测到的光束击中信号相关联的时间,确定光电传感器105a相对于投影仪104的xyz坐标系的原点的取向。例如,处理器302基于产生第一检测到的光束击中信号所处的时间来确定光束110相对于投影仪104的xyz坐标系的原点的对应的第一取向。此外,处理器302基于产生第二检测到的光束击中信号所处的时间来确定光束110相对于投影仪104的xyz坐标系的原点的对应的第二取向。处理器302计算统计值,例如第一与第二取向之间的d1不确定性的交点等,以确定光束110相对于投影仪104的xyz坐标系的原点的取向。在一个实施方案中,通过处理器302确定的光束110的取向与光电传感器105a相对于投影仪104的xyz坐标系的原点的取向相同。
图6C为用以说明光束击中的位置使用李萨如图案500的部分506a的直径d1与部分506b的直径d1的交点来确定且在光电传感器105a中存在移动时校正位置的实施方案的图式。在从李萨如图案500的部分506a到部分506b的移动之间,光电传感器105a从位置P1移动了量610而到达位置P2。在位置P1处,光电传感器105a在李萨如图案500的部分506a期间在时间ta处产生检测到的光束击中信号,且在位置P2处,光电传感器105a在李萨如图案500的部分506a期间在时间tb处产生另一检测到的光束击中信号。在光电传感器105a处于位置P1处时的直径d1与在光电传感器105a处于位置P2处时的直径d1的交点为光电传感器105a相对于投影仪104的xyz坐标系的原点的错误位置。错误位置通过处理器302基于移动610校正,所述移动去除错误位置612中的错误614以获得光电传感器105a相对于投影仪104的xyz坐标系的原点的位置。移动610通过处理器302基于在计算装置107的存储器装置304中记录的先前存储的光电传感器105a的移动来预测,且可为与其他测量传感器的传感器融合的结果,所述其他测量传感器例如惯性测量单元(IMU)例如加速度计和陀螺仪等。
在实施方案中,当光电传感器105a在李萨如图案500的边缘区域504(图5)中遇到光束110时,上文参考使用直径d1的交点的图6B或图6C描述的方法用于确定光电传感器105a相对于投影仪104的xyz坐标系的原点的位置。
图6D示出用以说明在光电传感器105a为静止且在李萨如图案500的边缘区域504(图5)中遇到光束110时光电传感器105a相对于投影仪104的xyz坐标系的原点的位置的确定的李萨如图案500的部分510a和510b。检测到光束110的光电传感器105a的位置通过处理器302确定为在部分510a的区间ia与部分510b的区间ib的交点620处。例如,在光电传感器105a检测到光束110的区间ia的部分所处的时间tc处,处理器302计算李萨如图案区段510a的曲线轨迹,且类似地,在光电传感器105a检测到光束110的区间ib的部分所处的时间td处,处理器302计算李萨如图案区段510b的曲线轨迹。光电传感器105a相对于投影仪104的xyz坐标系的原点的测得位置通过处理器302通过将两条测得的曲线轨迹(例如,区段等)相交来计算。
图7A为用于说明用以确定光电传感器105a相对于投影仪104的位置的三角测量方法的系统700的实施方案的图式。系统700包括投影仪104和投影仪702,例如,两个投影仪而非一个等。投影仪702在结构和功能上与投影仪104相同。投影仪104和702相对于彼此以刚性且已知的拓扑固定以便为三角测量提供已知的基线。从投影仪104发射的光束110的方向与投影仪104的z轴成角度θa,且从投影仪702发射的光束704例如激光束、可见光束、红外光束、不可见光束等的方向与投影仪702的z轴成角度θb,且角度θa和θb都通过计算装置107的处理器302通过应用确定取向的操作458(图4C)来确定。投影仪702包括MEMS镜,所述MEMS镜与投影仪104的MEMS镜112相同。投影仪702的z轴垂直于投影仪702的x轴,且投影仪702的z和x轴都垂直于投影仪702的y轴。
处理器302对角度θa和θb应用三角测量的方法以确定光束110与光束704的交点(或两条线的最靠近点),并确定交点为HMD 102的检测到光束110和704的光电传感器105a的位置。光电传感器105a的位置相对于投影仪104的xyz坐标系和/或投影仪702的xyz坐标系的原点测得。投影仪702的xyz坐标系包括投影仪702的x轴、投影仪702的y轴和投影仪702的z轴。
在实施方案中,投影仪102和702对光束110和704的产生进行时分复用以从通过HMD 102的光电传感器105a检测到的光束110和704中的对应的光束识别出投影仪104和702中的一个。投影仪104以例如60Hz等的频率发射光束110,所述频率为李萨如图案扫描的频率,例如,通过MEMS镜112重复李萨如图案的频率等。随后在通过投影仪104执行所述图案之后,投影仪104停止发射光束110,且投影仪702以与发射光束104相同的频率发射光束704,以在投影仪702的MEMS镜上形成与通过光束110形成的图案相同的图案。随后,在通过光束704形成图案之后,投影仪702停止发射光束704,且投影仪104以与发射光束704相同的频率发射光束110。这就是投影仪104和702进行时分复用的过程。
在一个实施方案中,投影仪104和702以数千赫兹的频率进行时分复用,例如,MEMS镜112相对于MEMS镜112的谐振频率移动的频率,而非以60Hz的频率进行时分复用。
在实施方案中,投影仪104的处理器经由链路111将控制信号发送到计算装置107的处理器302,所述控制信号指示投影仪104的光束发生器108已停止发射光束110,且投影仪702的处理器经由在结构和功能上与链路111相同的链路706将控制信号发送到处理器302,所述控制信号指示投影仪702的光束发生器已停止发射光束704。此外,投影仪104的处理器经由链路111将控制信号发送到计算装置300的处理器302,所述控制信号指示投影仪104的光束发生器108已开始发射光束110,且投影仪702的处理器经由链路706将控制信号发送到处理器302,所述控制信号指示投影仪702的光束发生器已开始发射光束704。投影仪104的处理器耦合到光束发生器108,且投影仪702的处理器耦合到投影仪702的光束发生器。由投影仪104发送到处理器302的控制信号包括投影仪104的身份,且由投影仪702发送到处理器302的控制信号包括投影仪702的身份。在从投影仪104接收到控制信号后,处理器302从投影仪104的身份识别出投影仪104。类似地,在从投影仪702接收到控制信号后,处理器302从投影仪702的身份识别出投影仪702。
在实施方案中,计算装置107的处理器302将控制信号发送到投影仪104和702的处理器以接通投影仪104的光束发生器108并接通投影仪702的光束发生器,并将控制信号发送到投影仪104和702的处理器以断开投影仪104的光束发生器108并接通投影仪702的光束发生器以对光束110和704的产生进行时分复用。例如,计算装置107将控制信号发送到投影仪104以在某一时间处例如在时钟周期期间、在时钟周期的上升沿期间、在时钟周期的下降沿期间等,接通投影仪104,且同时将控制信号发送到投影仪702以断开投影仪702。作为另一实例,计算装置107将控制信号发送到投影仪702以在某一时间处例如在时钟周期期间、在时钟周期的上升沿期间、在时钟周期的下降沿期间等,接通投影仪702,且同时将控制信号发送到投影仪104以断开投影仪104。投影仪的处理器接收控制信号以接通投影仪,并将控制信号发送到投影仪的光束发生器的驱动器,例如一个或多个晶体管,使得驱动器接通并产生电流信号以驱动光束发生器的光束源,例如发光二极管(LED)灯、白炽灯、霓虹灯、气体放电灯、氙弧灯、激光束发射器、电磁辐射发射器、气体激光源、化学激光源、固态激光源、光纤激光源、光子晶体激光源、半导体激光源、二极管等。在从驱动器接收到用于接通光束源的电流信号后,光束源发射光束。类似地,投影仪的处理器接收控制信号以断开投影仪,并将控制信号发送到投影仪的驱动器,使得驱动器断开并停止产生电流信号。当停止产生电流信号时,光束源停止发射光束。
计算装置107经由链路706耦合到投影仪702,并经由链路706将控制信号发送到投影仪702。类似地,投影仪702经由链路706与计算装置107通信。此外,计算装置107经由链路111将控制信号发送到投影仪104。类似地,投影仪104经由链路111与计算装置107通信。
应注意,在一些实施方案中,上文参考图4A至图4E描述的方法适用于投影仪702和HMD 102,而非投影仪104和HMD 102。例如,图4A的方法用于确定光束704相对于投影仪702的xyz坐标系的取向,且参考图4B和图4C描述的方法用于确定光束704相对于投影仪702的xyz坐标系的取向和光电传感器105a相对于投影仪702的xyz坐标系的位置。
图7B为用于说明用以确定光电传感器105a相对于投影仪104的位置的另一方法的系统750的实施方案的图式。当光电传感器105a、105b和105c被光束110击中时,计算装置107的处理器302从HMD 102的处理器接收检测到的光束击中信号的产生的定时。定时通过HMD 102的时钟源测得,且通过HMD 102的处理器从HMD 102的时钟源获得。处理器302以与在操作458(图4C)中确定取向类似的方式从定时确定光电传感器105a、105b和105c的取向。处理器302应用例如透视n点等方法以估计HMD 102相对于投影仪104的xyz坐标系的原点的姿态。
图8A为用以说明调制光束110和704以识别投影仪104和702的系统700的实施方案的图式。投影仪104的调制器例如数字调制器等耦合到投影仪104的光束发生器108的光束源以用第一位码调制通过投影仪104的光束源发射的光束,所述第一位码例如位图案、L位序列等,其中L为大于二的整数。例如,通过光束发生器108的光束源发射的光束用位的序列覆盖,使得通过光电传感器105a产生的检测到的光束击中信号的脉冲用L位的第一序列覆盖。通过投影仪104的光束源发射的光束经调制以产生光束110。
类似地,通过投影仪702的光束发生器的光束源发射的光束用位的序列覆盖,使得通过在检测到光束704后光电传感器105a产生的检测到的光束击中信号的脉冲用第二位码覆盖,所述第二位码例如位图案、L位的第二序列等。第二位码具有与第一位码不同的位组合以区分开光束704与光束110。例如,第一序列具有0110011的位组合,且第二序列具有1001100的位组合。投影仪702的调制器例如数字调制器等耦合到投影仪702的光束发生器的光束源以用位的序列调制通过投影仪702的光束源发射的光束,使得通过光电传感器105a发射的检测到的光束击中信号的脉冲已在其上覆盖有第二位码。下文提供第一和第二位码的实例。
在实施方案中,一直发射在用对应的位的序列调制之后产生的光束110和704两者。例如,投影仪104的光束发生器108和投影仪702的光束发生器连续地发射其相应的光束。投影仪104和702不进行时分复用以产生光束110和704。其间两个光束110和704同时击中光电传感器105a的冲突是极少的,且这些情况可被认为是错误情况。
在一个实施方案中,在不同的时间处发射在用对应的位的序列调制之后产生的光束110和704两者。例如,投影仪104的光束发生器108在投影仪702的光束发生器不发射光束704时发射光束110,且投影仪104的光束发生器108在投影仪702的光束发生器发射光束704时不发射光束110。投影仪104和702进行时分复用以产生光束110和704。
当光束110和704入射在光电传感器105a上时,HMD 102的光电传感器105a检测到光束110以产生第一检测到的光束击中信号,并检测到光束704以产生第二检测到的光束击中信号。通过光电传感器105a产生的第一和第二检测到的光束击中信号从光电传感器105a提供到HMD 102的解调器。HMD 102的解调器对第一检测到的光束击中信号进行解调以从第一检测到的光束击中信号提取L位的第一序列,并对第二检测到的光束击中信号b进行解调以从第二光束信号提取L位的第二序列。计算装置107的处理器302经由链路109(图1A)从HMD 102的解调器接收L位的第一和第二序列,确定第一序列具有与位的第二序列相比不同的位的组合例如图案等,并确定第一检测到的光束击中信号从由投影仪104产生的光束110产生且第二检测到的光束击中信号从由投影仪702产生的光束704产生。投影仪110和702与第一和第二序列之间的对应例如映射、关联等存储在计算装置107的存储器装置304中。例如,投影仪104的身份与位的第一序列的在同一行,且投影仪702的身份与位的第二序列的在同一行。所述对应被处理器302访问以确定第一序列是由投影仪104还是投影仪702产生,以及第二序列是由投影仪104还是由投影仪702产生。由此,投影仪104和702通过处理器302识别。
在一个实施方案中,通过调制器产生的具有唯一位码的调制信号的频率较高,例如100MHz、90MHz、在90MHz与110MHz之间的频率、1GHz或更高的频率等。调制信号的实例为位的序列,例如,位的第一序列、位的第二序列等。
在实施方案中,投影仪的调制器为计算机软件程序,所述计算机软件程序通过投影仪的处理器执行以调制通过投影仪的光束源产生的光束。例如,投影仪104的调制器为通过投影仪104的处理器执行的计算机软件例程,且投影仪702的调制器为通过投影仪702的处理器执行的计算机软件例程。在一个实施方案中,HMD 102的解调器为计算机软件程序,所述计算机软件程序通过HMD 102的处理器执行以对由HMD 102的光电传感器105a产生的检测到的光束击中信号进行解调。
在一个实施方案中,调制器为电路且解调器为电路。
在实施方案中,以与在图案的帧期间确定光电传感器105a相对于投影仪104的xyz坐标系的原点的取向类似的方式,通过HMD 102的其余光电传感器例如光电传感器105b和105c等产生的多个检测到的光束击中信号用于确定HMD 102的光电传感器相对于投影仪104的xyz坐标系的取向。HMD 102的其余的光电传感器相对于投影仪702的xyz坐标系的取向通过处理器302确定。处理器302对HMD 102的光电传感器例如光电传感器105a、光电传感器105b和光电传感器105c等相对于投影仪104的xyz坐标系和投影仪702的xyz坐标系的取向应用三角测量或透视n点方法,以确定HMD 102相对于投影仪104的xyz坐标系或投影仪702的xyz坐标系的取向和位置。
在实施方案中,处理器302考虑HMD 102的运动以确定HMD 102相对于投影仪104的xyz坐标系或投影仪702的xyz坐标系的取向和位置。
在多个投影仪例如投影仪104和702等的情况下,在实施方案中,在通过投影仪发射的光束例如光束104和704等之间发生光束冲突。光束冲突在光电传感器105a同时被两个或多个投影仪光束例如光束104和704等击中时发生。冲突的几率随投影仪的数目的增加而增加,随通过投影仪发射的光束的直径的增加而增加,且随HMD 102与投影仪之间的距离的减小而增加。光束冲突在模拟中建模。光束冲突的几率通过使用不同的光频率的光束且通过使用具有陷波滤波器的多个光电传感器来减少。例如,光束110的频率不同于光束704的频率。
在一个实施方案中,冲突通过在李萨如图案500(图5)的周界例如边缘区域504等切断通过投影仪发射的光束来减少,在所述周界中李萨如图案500比在中心区域502(图5)中更密集。例如,光束发生器108在光束110从李萨如图案500上的中心区域502到达边缘区域504的时间处被断开例如断电等,且投影仪702的光束发生器在光束704从李萨如图案500上的中心区域502到达边缘区域504的时间处断开。在实施方案中,投影仪的处理器将控制信号发送到投影仪的电源例如电池、交流电源、发电机等,以在处理器确定光束从李萨如图案500上的中心区域502到达边缘区域504的时间处断开电源。电源耦合到处理器。电源耦合到投影仪的光束发生器以将电力提供到光束发生器。
在实施方案中,投影仪104在光束110从李萨如图案500上的边缘区域504到达中心区域502的时间处被接通,且投影仪702在光束704从李萨如图案500上的边缘区域504到达中心区域502的时间处接通,例如通电等。在实施方案中,投影仪的处理器将控制信号发送到投影仪的电源,以在处理器确定光束从李萨如图案500上的边缘区域504到达中心区域502的时间处接通电源。
在一个实施方案中,光束110的第一调制频率例如用位序列调制光束110的频率等不同于光束704的第二调制频率例如用位序列调制光束704的频率等。处理器302接收表示两个调制频率的第一和第二检测到的光束击中信号,并应用傅里叶变换以将第一和第二检测到的光束击中信号从时域转换到频域以从检测到的光束击中信号提取两个不同的调制频率。处理器302从第一调制频率和所存储的在第一调制频率与投影仪104的身份之间的对应来识别出第一检测到的光束击中信号从自投影仪104发射的光束110产生。类似地,处理器302从第二调制频率和所存储的在第二调制频率与投影仪702的身份之间的对应来识别出第二检测到的光束击中信号从自投影仪702发射的光束704产生。
在实施方案中,以第一频率滤波的第一滤波器连接到光电传感器105a,且以第二频率滤波的第二滤波器连接到密切接近光电传感器105a的另一光电传感器,例如光电传感器105b等。第一滤波器从光电传感器105a接收具有第一频率的第一检测到的光束击中信号以输出第一经滤波信号,且第二滤波器从另一光电传感器接收具有第二频率的第二检测到的光束击中信号以输出第二经滤波信号。处理器302经由链路109(图1A)从第一滤波器接收第一经滤波信号,且经由链路109从第二滤波器接收第二经滤波信号。在确定从第一滤波器接收到第一经滤波信号且从第二滤波器接收到第二经滤波信号后,处理器302识别出第一经滤波信号基于从投影仪104发射的光束110产生且第二经滤波信号基于从投影仪702发射的光束704产生。第一和第二滤波器位于HMD 102内。
图8B为在检测到来自光束110的光束击中后通过光电传感器105a产生的检测到的光束击中信号的脉冲810的实施方案的图式。脉冲810如所说明用L位的序列覆盖。
在实施方案中,产生具有全局唯一M位窗口的K个独立位序列,其中K个独立位序列中的每一个都具有长度L,其中K为唯一识别的投影仪104和702的数目,且L为在所述序列的位图案自身重复之前的位的数目。例如,光电传感器105a产生检测到的光束击中信号,其中检测到的光束击中信号的每一脉冲通过投影仪104的调制器调制为用L位序列覆盖。作为另一实例,光电传感器105a产生检测到的光束击中信号,其中检测到的光束击中信号的每一脉冲通过投影仪702的调制器调制为用L位序列覆盖。在这些L位的序列中的每一个内,任何M位的子窗口在序列内为唯一的且还在全部K个独立的位序列上为全局唯一的。例如,光电传感器105a产生检测到的光束击中信号,其中检测到的光束击中信号的第一脉冲通过投影仪104的调制器调制为用第一L位序列覆盖,且其中检测到的光束击中信号的第二脉冲通过投影仪104的调制器调制为用第二L位序列覆盖。第二L位序列具有与在第一L位序列内的位的M位序列不同且与在第二L位序列中的任何其他M位序列不同的位的M位序列。光电传感器105a产生检测到的光束击中信号,其中检测到的光束击中信号的第三脉冲通过投影仪702的调制器调制为用第三L位序列覆盖,且其中检测到的光束击中信号的第四脉冲通过投影仪702的调制器调制为用第四L位序列覆盖。第四L位序列具有与在第四L位序列内的任何其余M位序列、在第三L位序列内的位的任何M位序列不同、与在第一L位序列内的任何M位序列不同、且与在第二L位序列内的任何M位序列不同的位的M位序列。
在实施方案中,任何M位序列都通过解调器解码。为实现解码,调制器调制光束,使得任何M位序列都具有小于预定数目的相同位的实例,且010和101开关二进制图案中的至少一个被引入任何M位序列中以促进具有差错复原的二进制图案的识别。
在实施方案中,调制器调制光束,使得每一M位序列被约束为与任何另一M位序列相差至少2位。此约束允许差错复原。
在一个实施方案中,通过投影仪104的调制器应用以将位序列覆盖到光束上的位速率基于HMD 102距投影仪104的最大可能距离以及频率f1和f2来确定。例如,投影仪104的调制器应用高数据速率以将位序列覆盖到通过光束发生器108的光束源产生的光束上,使得当光束110快速地移动以扫描空间且光电传感器105a置于最大界定距离处时,光电传感器105a存在足够的时间来产生包含M位序列的检测到的光束击中信号。最大界定距离的实例为HMD 102所位于的房间的两面相对墙壁之间的距离。最大界定距离的另一实例为在投影仪104与墙壁之间的距离,所述墙壁位于房间的定位有HMD 102的一侧上,与所述房间的定位有投影仪104的另一侧相对。应注意,光束110在空间中的移动取决于MEMS镜112的移动的频率f1和f2。
在实施方案中,光束110对光电传感器105a进行掠击,使得用以调制通过投影仪104的光束源产生的光束的时间减少。时间的减少减小M位序列嵌入在通过光电传感器105a产生的检测到的光束击中信号的脉冲内的几率。在此实施方案中,M位序列通过投影仪104的调制器布置为跨越通过投影仪104的光束源产生的光束的半径且不跨越通过投影仪104的光束源产生的光束的直径。通过投影仪104的光束源产生的光束被投影仪104的调制器调制的位速率通过调制器基于最大界定距离和在最大可能距离处的光束的半径来确定。位速率经确定使得通过光电传感器105a产生的检测到的光束击中信号的每一脉冲具有M位序列。
在一个实施方案中,光电传感器105a建模为半径r的圆盘,且检测到的光束击中信号在光束110稍微遍历至圆盘的中心的一侧(有时在本文中称为轻擦光束击中)时通过光电传感器105a产生。圆盘的半径的实例为光电传感器105a的暴露于光束110下的镜头的半径。此外,光束110的穿程距离等于圆盘的半径。这允许轻擦光束击中的合理覆盖范围或合理的数目。当圆盘在图案的中心处时,光束110由于MEMS镜112的正弦运动的性质而以其最大速度扫过。在最大速度处,在圆盘的整个半径上,投影仪104的调制器用M位序列调制通过投影仪104的光束源产生的光束,使得光电传感器105a产生具有M位序列的检测到的光束击中信号。由此,圆盘的半径和最大速度界定通过投影仪104的调制器执行的调制的位速率。
在一个实施方案中,通过投影仪的调制器应用以将位序列覆盖到通过投影仪的光束源产生的光束上的位速率为高数据速率。例如,当f1=21,060Hz且f2=21,000Hz且图案例如正方形图案等具有60度幅度的左至右位移(例如,距正方形图案的中心+/-30度)且光电传感器105a具有1毫米直径,光束110的半径在距投影仪104 3米的距离处为5毫米,且使用M=10位序列时,两个长度61位的不相交序列在解调之后通过处理器302识别。两个序列为L=61位长且为M=10位序列。L位序列都重复且任何M=10位序列在每一L位序列内且在两个L位序列上为唯一的。另外,每一M位序列通过调制器约束以不具有长于二的相同位的连续序列,例如无000或无111等,且通过调制器约束以包括至少一个位翻转图案,例如101或010等。两个L位序列中的第一个L位序列的实例为0010010010100100110010010110010011010010101010011010101101101,且两个L位序列中的第二个L位序列的实例为0010101101001101101010010110101010101100110101101011001011011。通过投影仪的调制器应用以调制光束的位速率的实例为370兆位每秒(Mbps)。通过投影仪的调制器应用以调制光束的位速率的另一实例为500Mbps。
在实施方案中,当解调器对长度L的61位序列中的至少10位进行解码且在通过HMD102产生的时钟信号与通过投影仪104产生的时钟信号之间存在同步时,L位序列中的M位序列用于识别61位序列内的精确位置以进一步提供光束击中的准确时间测量结果。
在一个实施方案中,因为M位序列在K个投影仪的L位序列上为唯一的,所以产生其中对M位序列进行编码的光束的投影仪被识别出。例如,HMD 102的解调器例如解码器等对检测到的光束击中信号进行解码以提取L位序列中的至少M位。L位序列经由链路109(图1A)从解调器提供到计算装置107的处理器302。处理器302从L位识别出对投影仪104和702的全部L位序列唯一的M位序列。处理器302比较M位序列与预存储在存储器装置304中的序列以确定在两个序列之间是否存在匹配,且在确定存在匹配后,确定M位序列覆盖在当投影仪104发射光束110时产生的检测到的光束击中信号的脉冲上。在投影仪与M位序列之间的对应例如一对一关系等存储在存储器装置304中。
在实施方案中,较长的M位序列允许较长的L位序列和较好的时间同步公差,且较长的M位序列意味着较大的M值以及因此较高的位速率。
在一个实施方案中,投影仪104的调制器用M位序列的M序列窗口调制通过投影仪104的光束源产生的光束。在M序列窗口内,任何M位序列都是唯一的。当光电传感器105a产生具有带M位序列中的一个或多个的脉冲的检测到的光束击中信号时,处理器302确定M位序列中的一个在M序列窗口内的位置。HMD 102的时钟源测量M位序列中的一个在M序列窗口内开始的时间t
在实施方案中,投影仪104的处理器在时间t
在实施方案中,投影仪104的处理器计算逻辑偏移,所述逻辑偏移为t
图8C为用以说明投影仪的L位序列沿着李萨如图案500重复许多次的图式。每一序列S1、S2、S3、S4、S5、S6和S7为L位序列。
在实施方案中,在从李萨如图案500的某一对角例如左对角830到相对定位的对角例如右对角832等的扫描期间,每一序列S1、S2、S3、S4、S5、S6和S7重复任何其他数目次,例如150次、100次、200次等。在一个实施方案中,李萨如图案500具有除图8C中示出的数目外的任何其他数目的L位序列,例如八个、九个、十个等。
图8D为通过计算装置107的处理器302应用以检测L位序列的相关滤波器864的实施方案的图式。在上面覆盖有位序列的检测到的光束击中信号通过光电传感器105a产生且HMD 102的解调器对检测到的光束击中信号进行解调以将位序列提供到处理器302时,相关滤波器864通过处理器302应用。相关滤波器864存储在存储器装置302中。在一个实施方案中,相关滤波器为预存储的L位序列。当处理器302确定在相关滤波器864与在从HMD 102的解调器接收到的位序列内的位的连续序列之间的匹配已出现时,处理器302确定找到L位序列。如图8D中所说明,处理器302确定L位序列中的少于M个位中的一部分在从解调器接收到的位序列862中的5处找到,标记为A、B、C、D和E。
在一个实施方案中,在确定相关滤波器864与位序列862之间的多个匹配超过一或另一预定数目时,处理器302忽视所述匹配,因为没有足够的位被解码以唯一地识别L位序列。
图8E为说明对相关滤波器864应用阈值的实施方案的图式。处理器302确定在经由链路109从HMD 102的解调器接收到的位序列872内的位的连续序列与相关滤波器864之间的唯一匹配,并确定L位序列被接收在检测到的光束击中信号内。当经解调序列中的位的数目增加至M之上时,在光束击中信号内检测到L位序列的可能性增加。如图8E中所示,匹配在序列864中标记为A之处发生。
在上面覆盖有位序列的检测到的光束击中信号通过光电传感器105a产生且HMD102的解调器对检测到的光束击中信号进行解调以将位序列提供到处理器302时,相关滤波器864通过处理器302应用。相关滤波器864存储在存储器装置302中。在一个实施方案中,相关滤波器为预存储的L位序列。当处理器302确定在相关滤波器864与在从HMD 102的解调器接收到的位序列内的位的连续序列之间的匹配已出现时,处理器302确定找到L位序列。
在一个实施方案中,检测到的光束击中信号的脉冲的时间tA例如最大幅度的时间、峰值强度的时间等通过处理器302基于在L位序列内的位序列窗口位置的识别的时间tB来修改。L位序列通过使用相关滤波器864来识别。例如,处理器302将时间tA确定为脉冲的峰值强度出现的时间,并确定处理器302通过应用相关滤波器864来识别出L位序列内的位序列窗口位置的时间tB。L位序列通过处理器302经由链路109(图1A)从HMD 102的处理器接收。时间tA通过HMD 102的时钟源测得,且时间tB通过计算装置107的时钟源测得。替代于使用时间tA,处理器302将时间tB作为对击中时间的校正应用到操作456和458(图4B和图4C),以确定光束110相对于投影仪104的xyz坐标系的原点的对应的取向。
图8F为用以说明在相关滤波器与L位序列之间的匹配沿着李萨如图案500发生多次的李萨如图案500的一部分的实施方案的图式。例如,在相关滤波器与L位序列之间的匹配跨越李萨如图案500发生多次,示出为图8F中的点。
图8G为用以说明其中L位序列用于确定光电传感器105a在李萨如图案500的直径d1内的位置的M序列技术的李萨如图案500的部分506a的实施方案的图式。当用于确定光电传感器105a相对于投影仪104的xyz坐标系的取向的检测到的光束击中信号的强度例如最大幅度、峰值强度、最大幅度等被检测到时,光电传感器105的位置为沿着李萨如图案500的直径d1的任何地方。例如,HMD 102的时钟源测量在检测到的光束击中信号的脉冲的中心处的时间,并将所述时间提供到处理器302以确定光电传感器105a在所述时间处的位置。光电传感器105a的沿着直径d1的任何地方的位置提供从李萨如图案500的轨迹例如李萨如轴等延伸光束110的+/-半径的不确定性区间。在M序列技术中,当投影仪104的调制器调制通过投影仪的光束源产生的光束使得检测到的光束击中信号用沿着李萨如图案500的直径的多个L位序列调制时,数目P个L位序列被解调。此值P将沿着光束110的中心最大并朝向光束110的边缘下降。不确定性区间变得限于李萨如图案500的轨迹的任一侧上的两个镜像区域例如区域1和区域2等。在M序列技术中,处理器302将光电传感器105a沿着直径d1的位置收窄为在区域1或在区域2处。在实施方案中,使用关于光束110的发散和光束110在空间内的范围的一些信息。
在一个实施方案中,在单一光束击中的情况下,例如,当产生光束击中信号的脉冲时等,由于L位序列的重复而在李萨如图案500上获得多个位置例如区域1和2等。当存在多个光束击中时,通过处理器302确定在李萨如图案500上的位置的多个集合。在李萨如图案500上的位置通过处理器302通过选择在多个光束击中上共同的位置中的一个或多个来收窄。例如,当处理器302确定第一光束击中的区域1与第二光束击中的区域相同时,处理器302将在第一光束击中期间光电传感器105a的位置确定为在沿着直径d1的区域1处而非在区域2处。当获得消除多个可能的区域的足够的光束击中时,不需要执行投影仪104的时钟信号与HMD 102的时钟信号的同步。在实施方案中,当通过L位序列沿着李萨如图案500的轨迹占据的距离超过李萨如图案500在李萨如图案500的较稀疏区域例如中心区域502等中的交叉点之间的距离时,多个可能的区域的数目通过处理器302减少。
在实施方案中,一种方法为在某一相对较粗糙的程度上使用时间同步的组合,例如,投影仪104的时钟信号与HMD 102的时钟信号的同步等,且随后使用M序列技术来精调定时且因此精调光电传感器105a相对于投影仪104的xyz坐标系的取向。
在一个实施方案中,K数目个L位序列的M位子序列在不相交序列窗口内且还在全部不相交序列窗口例如K数目个L位序列的全部不相交序列窗口等上为唯一的。投影仪104和702使用不同的L位序列窗口。例如,投影仪104的调制器调制通过投影仪104的光束源产生的光束,使得第一L位序列的第一序列窗口具有识别投影仪104的位的唯一组合,且投影仪702的调制器调制通过投影仪702的光束源产生的光束,使得第二L位序列的第二序列窗口具有识别投影仪702的位的唯一组合。当HMD 102的解调器将第二L位序列提供到处理器302时,处理器302从第二序列窗口确定从投影仪702发送第二L位序列以识别投影仪702。另一方面,当HMD 102的解调器将第一L位序列提供到处理器302时,处理器302从第一序列窗口确定从投影仪104发送第一L位序列以识别投影仪104。投影仪的识别被处理器302用来确定光电传感器105a的取向是相对于所述投影仪的xyz坐标系的原点还是相对于另一投影仪的xyz坐标系的原点。
在实施方案中,李萨如图案500的帧的频率、光束110的直径、光束110的传播、李萨如图案500的光学扫描幅度、通过光束源产生的光束的调制的位速率、L位M序列中的M和L的值、光电传感器105a的圆盘的大小存在许多参数选择。其他参数包括光电传感器在李萨如图案500中的位置。这些参数影响光电传感器105a相对于投影仪104的xyz坐标系的测得取向。提供一个实例。令李萨如基础频率例如频率f1为34,000赫兹,李萨如第二频率例如频率f2为34,060赫兹,李萨如重复周期例如帧的频率为1/60秒,光学扫描幅度为60度(距中心+/-30度),光电传感器105a的圆盘的半径为1毫米,光束110的直径在距投影仪104 3米处为4毫米,M为10,具有长度L的2个窗口,且L为61位。并且,光电传感器105a的圆盘相对于投影仪104为扁平的,在距投影仪104的平截头体的中心3米处。光束110在光电传感器105a的边缘上遍历等于光电传感器半径的长度的距离dist的近似时间通过处理器302如下计算。扫描速度为近似0.0000147秒扫描60度。扫描速度相当于4,080,000度/秒。在距投影仪104的d=3米范围处,在光电传感器105a的距离dist上的角距离为2*arctan(0.5*dist/d)=0.0191度。因此,遍历在光电传感器105a的圆盘上的距离dist所花的时间为4.68x10
在实施方案中,存在准确地在长度L(例如,61位等)的序列内的全局同步事件,例如射频(RF)脉冲或全局光脉冲等。例如,投影仪104的处理器将RF脉冲发送到投影仪702并发送到HMD 102,以同步HMD 102和投影仪702(图7A)的时钟源与投影仪104的时钟源。举例来说,在投影仪104的时钟信号从一个状态跳动到另一状态例如高到低、低到高等的时间处,投影仪104的处理器经由链路117(图1A)将RF脉冲发送到HMD 102,并经由投影仪104与702之间的链路将RF脉冲发送到投影仪702。在接收到RF脉冲后,HMD 102的处理器将信号发送到HMD 102的时钟源以同步HMD 102的时钟源的时钟信号与投影仪104的时钟信号。此外,投影仪702的处理器将信号发送到投影仪702的时钟源以同步投影仪702的时钟源的时钟信号与投影仪104的时钟信号。作为另一实例,投影仪104的光束发生器例如除光束发生器108外等产生光束的闪光,且所述光束的闪光通过光电传感器105a检测到。在检测到光束的闪光的时间处,HMD 102的时钟信号与投影仪104的时钟信号同步。全局同步事件在每一帧期间发生一次或在每一帧期间发生多次。
在实施方案中,光束110和704具有不同的光频率,且每一光电传感器105a和105b具有不同的滤波器以检测不同的频率。例如,投影仪104产生具有第一频率的光束110且投影仪702产生具有第二频率的光束704,所述第二频率不同于第一频率。光电传感器105a耦合到第一滤波器且光电传感器105b连接到第二滤波器。第一滤波器以第一频率而非第二频率进行滤波,且第二滤波器以第二频率而非第一频率进行滤波。光电传感器105a从第一滤波器接收第一频率以产生第一检测到的光束击中信号,且光电传感器105b从第二滤波器接收第二频率以产生第二检测到的光束击中信号。在确定第一检测到的光束击中信号具有第一频率后,处理器302确定第一检测到的光束击中信号从自投影仪104接收到的光束110产生。类似地,在确定第二检测到的光束击中信号具有第二频率后,处理器302确定第二检测到的光束击中信号从自投影仪702接收到的光束704产生。在第一频率与投影仪104的识别之间的对应例如一对一关系、关联、映射等存储在存储器装置304中,且在第二频率与投影仪702的识别之间的另一对应存储在存储器装置304中。
图9为用以说明在装置902与另一装置904之间的同步的方法的系统900的实施方案的图式。装置902的实例为投影仪104且装置904为HMD 102。装置902的另一实例为投影仪702且装置904为HMD 102。
在实施方案中,装置902和904的时钟信号被同步为纳秒级精度。例如,使用与计算机网络的网络时间协议(NTP)相关联的协议。装置902在本地时间A
在实施方案中,一些统计数据还用于同步投影仪104和HMD 102的时钟信号。
在一个实施方案中,在时间B
在使用L位序列和M序列窗口的实施方案中,L位序列通过HMD 102的处理器或通过处理器302识别。当f
图10为用于通过从通过光电传感器105a产生的检测到的光束击中信号提取用于调制通过光束发生器108的光束源产生的光束的调制信号的频率来同步投影仪104的时钟源的时钟信号与HMD 102的时钟源的方法1000的实施方案的流程图。调制信号与投影仪的时钟信号同步产生。例如,调制信号的位0通过投影仪104的调制器在投影仪104的时钟源的时钟信号的第一上升沿处产生,且位1通过投影仪104的调制器在时钟信号的第二上升沿处产生。第一上升沿在第二上升沿之前,且在调制信号的位的序列中位0在位1之前。作为另一实例,调制信号的位0通过投影仪104的调制器在投影仪104的时钟源的时钟信号的第一下降沿处产生,且位1通过投影仪104的调制器在时钟信号的第二下降沿处产生。第一下降沿在第二下降沿之前,且在调制信号的位的序列中位0在位1之前。
HMD 102的解调器耦合到光电传感器105a以接收由光电传感器105a通过感测到光束110而产生的检测到的光束击中信号。HMD 102的解调器对检测到的光束击中信号进行解调以产生调制信号。调制信号经由链路109(图1A)从HMD 102的解调器提供到计算装置107的处理器302。处理器302在操作1002中确定调制信号的频率以确定在投影仪104内产生的时钟信号的相位例如定时等。通过处理器302确定的时钟信号的相位被提供到耦合到处理器302的PLL。PLL位于计算装置107内。PLL在操作1004中比较通过投影仪104的时钟源产生的时钟信号的相位与在HMD 102内产生的时钟信号的相位。在HMD 102内产生的时钟信号的相位通过处理器302经由链路109从HMD 102的处理器接收。
PLL在操作1006中同步在HMD 102内产生的时钟信号的相位与投影仪104的时钟信号的相位。例如,当HMD 102的时钟信号的相位落后于或领先于投影仪104的时钟信号的相位时,PLL将指示相位差的相位差信号发送到计算装置107的处理器302,且处理器302经由链路109将相位差信号发送到HMD 102的时钟源以匹配HMD 102的时钟信号的相位与投影仪104的时钟信号的相位。举例来说,相位差信号经由链路109从处理器302发送到HMD 102的处理器,且响应于接收到相位差信号,HMD 102的处理器将信号发送到HMD 102的时钟源以匹配通过HMD 102的时钟源产生的时钟信号的相位与通过投影仪104的时钟源产生的时钟信号的相位。作为另一实例,当HMD 102的时钟信号的相位落后于或领先于投影仪104的时钟信号的相位时,PLL将相位差信号发送到计算装置107的处理器302,且处理器302经由链路111(图1A)将相位差信号发送到投影仪104的时钟源以匹配投影仪104的时钟信号的相位与HMD 102的时钟信号的相位。举例来说,相位差信号经由链路111从处理器302发送到投影仪104的处理器,且响应于接收到相位差信号,投影仪104的处理器将信号发送到投影仪104的时钟源以匹配通过HMD 102的时钟源产生的时钟信号的相位与通过投影仪104的时钟源产生的时钟信号的相位。
执行同步以改进光束110相对于投影仪104的xyz坐标系的原点的取向例如光束角θx、θy和θz等的精度和光电传感器105a相对于投影仪104的xyz坐标系的原点的位置的精度。光束110的取向和光电传感器105a的位置都取决于通过光电传感器105a产生检测到的光束击中信号的定时,如上文参考图4B所描述。
在一个实施方案中,通过光电传感器105a检测到光束110的击中时间与在检测到光束110后通过光电传感器105a产生检测到的光束击中信号的时间相同。
在实施方案中,光电传感器105a产生光束击中信号的上升时间段通过处理器302在确定光束击中时说明。例如,当光电传感器105a开始检测光束击中信号的开始时间被处理器302接收为击中时间时,处理器302从光电传感器105a处的开始时间减去上升时间段以修改击中时间,且经修改的击中时间用于替代于击中时间来确定光电传感器105a相对于投影仪104的xyz坐标系的原点的取向。
在实施方案中,光电传感器105a相对于投影仪104的xyz坐标系的原点的取向的精度取决于HMD 102与投影仪104的时钟信号的同步。例如,为在距投影仪104 3米距离处获得1毫米精度,光束110快速地移动经过投影仪104的xyz坐标系的原点或围绕投影仪104的xyz坐标系的z轴快速地移动。在3米距离处,1毫米表示0.00033弧度位移。当投影仪104的平截头体为60度、f
其中A为MEMS镜112沿着MEMS镜112的X轴的移动以形成李萨如图案500(图5)的幅度,且t为时间。当余弦为1.0时,速度将在t=0处最高,且最高速度为69,285弧度/秒。因此为了遍历0.00033弧度,MEMS镜112将花费4.8纳秒。当投影仪104和HMD 102的时钟信号未以4.8纳秒同步时,与光电传感器105a相对于xyz坐标系的原点的取向相关联的精度减少多达1毫米。
在一个实施方案中,投影仪104的时钟源为温度补偿晶体振荡器(TCXO)且HMD 102的时钟源为TCXO。在TCXO中的每一个中,实现百万分之(ppm)1至3的漂移。因此倘若TCXO同时启动,那么所述TCXO将在一秒的操作之后漂移2微秒。在实施方案中,漂移在每帧校正,例如,在16.667毫秒处等。因此,在16.667毫秒结束时的漂移为33纳秒。在实施方案中,HMD102的或投影仪104的时钟信号每帧被校正33次。
图11为用以说明对检测到的光束信号的强度例如幅度等求平均值以确定光电传感器105a相对于投影仪104的xyz坐标系的原点的取向的图式。在李萨如图案500的边缘例如边缘1102等处,光束110遍历光电传感器105a,使得在光束110从第一方向转至第二方向时在光电传感器105a上的通过光束110覆盖的区域中无间隙。第二方向与第一方向相反。例如,当第一方向为在y轴的+y方向上时,第二方向为在y轴的-y方向上。作为另一实例,当第一方向为在x轴的+x方向上时,第二方向为在x轴的-x方向上。作为另一实例,光束110由于围绕李萨如图案500的边缘1102转向而转向。
HMD 102的光电传感器105a在光束110在第一方向上遍历时检测到第一强度且在光束110在第二方向上遍历时检测到第二强度以产生检测到的光束击中信号,所述检测到的光束击中信号被提供到HMD 102的处理器。此外,HMD 102的处理器从HMD 102的时钟源接收检测到第一和第二强度的时间,例如,检测到第一强度的第一时间和检测到第二强度的第二时间。所述时间通过HMD 102的处理器经由链路109(图1A)发送到计算装置107的处理器302。处理器302对第一和第二光束强度的检测的时间求平均值以计算平均时间。
处理器302基于平均时间、李萨如图案500的起始时间以及MEMS镜112的频率f1和f2以与操作456(图4B)中所描述的方式类似的方式确定光束110在李萨如图案500中的位置。例如,处理器302从图案的起始时间、频率f1、频率f2和平均时间确定光束110在李萨如图案500上的位置。举例来说,计算装置107的处理器302确定起始时间对应于在李萨如图案500中的初始位置。此外,处理器302确定初始位置根据MEMS镜112的频率f1和f2改变以获得光束110在李萨如图案500上的位置。光束110的位置对应于平均时间。在一个实施方案中,频率f1和f2、平均时间、起始时间和光束110在李萨如图案500上的位置当中的对应例如一对一关系等被存储在计算装置107的存储器装置304中。所述对应通过处理器302访问以从起始时间、频率f1和f2和平均时间确定光束110在李萨如图案500上的位置。光束110在李萨如图案500上的位置提供光束110相对于投影仪104的xyz坐标系的原点的取向例如光束角θx、θy和θz等。通过使用两个时间的平均值,光束110相对于投影仪104的xyz坐标系的原点的取向比在李萨如图案500的边缘1102处使用单一光束强度的情况更准确。
图12为用于在HMD 102内产生的时钟信号与在投影仪104内产生的时钟信号的同步的方法1200的实施方案的流程图。沿着MEMS镜112上的图案的光束110在图案的帧例如一执行回合等期间通过光电传感器105a感测到多次以产生检测到的光束击中信号。光电传感器105a经由HMD 102的处理器和链路109(图1A)将检测到的光束信号的强度发送到计算装置107的处理器302。HMD 102的处理器还在操作1202中接收从HMD 102的时钟源检测到强度的时间,并经由链路109将所述时间发送到处理器302。处理器302在操作1204中回溯所述时间,例如沿所述时间倒退等,以确定图案的起始时间,例如,图案开始的时间、帧开始的时间等。例如,处理器302从检测到强度的时间和频率f1和f2确定图案的起始时间。举例来说,处理器302从检测到强度的时间、与MEMS镜112在频率f1和f2处的移动相关联的时间确定图案的起始时间。作为另一说明,在检测到强度中的一个的时间、与MEMS镜112在频率f1和f2处的移动相关联的时间以及图案的起始时间之间的对应例如一对一关系、关联等存储在计算装置107的存储器装置304中,且处理器302访问所述对应以确定起始时间。
在一个实施方案中,在时间中的两个之间的相对时间差提供由处理器302回溯的唯一签名以确定图案的起始时间。作为说明,在通过光电传感器105a检测到两个连续强度的时间之间的时间差、与MEMS镜112在频率f1和f2处的移动相关联的时间以及图案的起始时间之间的对应例如一对一关系、关联等存储在计算装置107的存储器装置304中,且处理器302访问所述对应以确定起始时间。
处理器302在操作1206中确定投影仪104的时钟信号是否与在操作1204中确定的起始时间同步。例如,处理器302经由投影仪104的处理器和链路111(图1A)接收投影仪104的时钟信号的相位,并确定起始时间是否与时钟信号的相位同相。在确定投影仪104的时钟信号不与在操作1204中确定的起始时间同步后,处理器302经由投影仪104的处理器和链路111将控制信号发送到投影仪104的时钟源以将时钟信号与起始时间同步。作为实例,投影仪104的处理器将控制信号发送到投影仪104的时钟源,使得通过时钟源产生的时钟信号与起始时间同相。举例来说,通过投影仪104的时钟源产生的时钟信号在时钟信号的上升沿或下降沿与起始时间同时出现时与起始时间同步。
在实施方案中,时钟信号与在操作1204中确定的起始时间的同步通过投影仪104的PLL执行。例如,投影仪104的处理器将具有起始时间的控制信号发送到投影仪104的PLL。投影仪104的PLL连接到投影仪104的处理器,并连接到投影仪104的时钟源。投影仪104的PLL比较起始时间与投影仪104的时钟源的时钟信号,并同步起始时间与时钟信号以产生PLL信号。PLL信号被发送到投影仪104的时钟源,使得在起始时间与投影仪104的时钟源的时钟信号之间不存在相位落后或相位领先。
应注意,在实施方案中,当信号例如检测到的光束信号等被提供到处理器时,信号在被发送到处理器之前从模拟形式转换成数字形式。例如,模拟-数字转换器连接在光电传感器105a与处理器之间以将检测到的光束击中信号从模拟形式转换成数字形式。
在实施方案中,帧以预定的重复间隔例如60赫兹(Hz)、50Hz、40Hz等重复。
图13为HMD 1300的等距视图,所述HMD为HMD 102(图1A)的实例。HMD 1300包括在由用户106穿戴时绕到用户的头部后方的带子1302和1304。此外,HMD 1300包括耳机1306A和1306B,例如扬声器等,所述耳机发出与虚拟环境例如游戏环境、虚拟旅游环境等相关联的声音,所述声音通过计算机程序例如游戏程序、虚拟环境产生程序等的执行而产生。HMD1300包括镜头1308A和1308B,所述镜头允许用户观看显示在HMD 1300的显示屏上的虚拟环境。凹槽1380置于用户106的鼻子上以将HMD 1300支撑在鼻子上。
在一些实施方案中,用户106穿戴HMD 1300的方式与用户106穿戴太阳镜、眼镜或阅读眼镜的方式类似。
图14说明根据本公开中描述的实施方案的用于视频游戏的交互式游戏玩法的系统。用户106示出为穿戴HMD 102。HMD 102以类似于眼镜、护目镜或头盔的方式穿戴,且经配置以向用户106显示视频游戏或其他内容。HMD 102通过其提供紧密接近于用户106的眼睛的显示器机构(例如,光学器件和显示屏)和传递到HMD 102的内容的格式来将沉浸式体验提供给用户106。在一个实例中,HMD 102将显示区提供给用户106的每一只眼睛,且所述显示区占据用户106的视场的较大部分或甚至全部。
在一个实施方案中,HMD 102连接到计算装置107。到计算装置107的连接为有线或无线的。在一个实施方案中,计算装置107为任何通用或专用计算机,包括但不限于,游戏控制台、个人计算机、膝上型计算机、平板计算机、移动装置、智能电话、平板计算机、瘦客户端、机顶盒、流媒体装置、智能电视机等。在一些实施方案中,HMD 102直接地连接到计算机网络1410,例如因特网、内联网、局域网、广域网等,所述计算机网络允许云游戏而不需要单独的本地计算机。在一个实施方案中,计算装置107执行视频游戏(和其他数字内容),并从视频游戏输出视频和音频以用通过HMD 102渲染。计算装置107在本文中有时也被称为客户端系统,所述客户端系统在一个实例中为视频游戏控制台。
在一些实施方案中,计算装置107为本地或远程计算机,且所述计算机运行仿真软件。在云游戏实施方案中,计算装置107为远程的,且通过在数据中心中虚拟化的多个计算服务表示,其中游戏系统/逻辑被虚拟化并经由计算机网络1410分配给用户106。
用户106操作手持式控制器115以为虚拟环境提供输入。在一个实例中,手持式控制器115捕获用户106所位于的环境的图像,例如,现实世界环境等。这些所获得图像经分析以确定用户106、HMD 102以及控制器115的位置和移动。在一个实施方案中,控制器115包括灯(或多个灯),所述灯经跟踪以确定控制器的位置和取向。另外,如下文更详细地描述,在一个实施方案中,HMD 102包括一个或多个灯,所述灯作为标记被跟踪以在虚拟环境的显示期间大致实时地确定HMD 102的位置和取向。
在一个实施方案中,手持式控制器115包括一个或多个麦克风以从现实世界环境捕获声音。通过麦克风阵列捕获的声音经处理以识别声源的位置。选择性地利用或处理来自所识别位置的声音,以排除并非来自所识别位置的其他声音。此外,在一个实施方案中,手持式控制器115或HMD 102包括多个图像捕获装置(例如,立体相机对)、红外(IR)相机、深度相机以及其组合。
在一些实施方案中,计算装置107在本地在计算装置107的处理硬件上执行游戏。游戏或内容以任何形式获得,例如物理媒体形式(例如,数字光盘、磁带、卡片、拇指驱动器、固态芯片或卡片等),或通过从计算机网络1410下载来获得。
在实施方案中,计算装置107充当经由计算机网络1410与云游戏提供商1412通信的客户端。云游戏提供商1412维护并且执行用户106正在玩的视频游戏。计算装置107将来自HMD 102和控制器1404的输入发送到云游戏提供商1412,所述云游戏提供商处理输入以影响执行中的视频游戏的游戏状态。来自执行中的视频游戏的输出例如视频数据、音频数据和触觉反馈数据被发送到计算装置107。计算装置107在发送之前另外处理数据或直接地将数据发送到相关装置。例如,视频和音频流被提供到HMD 102,而振动反馈命令被提供到手持式控制器115。
在一个实施方案中,HMD 102和手持式控制器115为联网装置,所述联网装置连接到计算机网络1410以与云游戏提供商1412通信。例如,计算装置107为本地网络装置,例如路由器,所述本地网络装置并不另外执行视频游戏处理,而是促进网络流量的通过。HMD102和手持式控制器115到计算机网络1410的连接为有线的或无线的。
在一些实施方案中,从内容源1416中的任一个获得在HMD 102上执行的内容或可在显示装置1414上显示的内容。实例内容来源可包括举例来说,提供可下载内容和/或流式内容的互联网网站。在一些实例中,内容可以包括任何类型的多媒体内容,例如电影、游戏、静态/动态内容、图片、社交媒体内容、社交媒体网站、虚拟旅行内容、卡通内容等。
在一个实施方案中,用户106正在HMD 102上玩游戏,其中此内容为沉浸式三维(3D)交互式内容。HMD 102上的内容在用户106在玩游戏时共享到显示器装置1414。在一个实施方案中,共享到显示器装置1414的内容允许接近用户106的或远程的其他用户在用户106玩游戏时观看。在另外的实施方案中,观看显示器装置1414上用户106的游戏玩法的另一用户与用户106交互地参与。例如,观看显示器装置1414上游戏玩法的另一用户控制游戏场景中的角色、提供反馈、提供社交交互和/或提供评论(经由文本、经由语音、经由动作、经由手势等),这使得未穿戴HMD 102的其他用户能够与用户106进行社交。
在一个实施方案中,替代于手持式控制器115或除所述手持式控制器外,HMD 102相对于投影仪104的位置和/或取向通过使用本文中描述的方法来确定。
图15说明根据本公开中描述的实施方案的头戴式显示器(HMD)1500。HMD 1500为HMD 102(图1A)的实例。如图所示,HMD 1500包括多个光电传感器1502A至H、J和K(例如,其中1502K和1502J朝向HMD头带的后侧或背侧定位)。这些光电传感器中的每一个经配置以具有特定的形状和/或位置。光电传感器1502A、1502B、1502C和1502D布置在HMD 1500的前表面上,例如正面等。光电传感器1502E和1502F布置在HMD 1500的侧表面上。且光电传感器1502G和1502H布置在HMD 1500的拐角处,以便跨越HMD 1500的前表面和侧表面。
基于通过光电传感器1502A至H、J和K中的一个或多个检测到的光束110和704中的一个或多个,确定HMD 1500在环境中的位置。应另外了解,取决于HMD 1500相对于投影仪104和702中的一个的特定取向,光电传感器中的一些无法看见光束。在一些实施方案中,惯性传感器安置在HMD 1500中,所述惯性传感器替代于光电传感器1502A至H、J和K而提供关于定位的反馈。在一些实施方案中,光电传感器1502A至H、J和K和惯性传感器一起工作,以实现定位/运动数据的混合和选择。
在一个实施方案中,HMD 1500另外包括一个或多个麦克风。在所说明的实施方案中,HMD 1500包括位于HMD 1500的前表面上的麦克风1504A和1504B,以及位于HMD 1500的侧表面上的麦克风。通过利用麦克风阵列,处理来自麦克风中的每一个的声音以确定声源的位置。可以各种方式利用此信息,所述方式包括排除不想要的声源、使声源与视觉识别相关联等。
在实施方案中,HMD 1500包括一个或多个图像捕获装置。在所说明的实施方案中,HMD 1500示出为包括图像捕获装置1506A和1506B。在实施方案中,通过利用一对立体图像捕获装置,从HMD 1500的角度捕获现实世界环境的3D图像和视频。此类视频被呈现给用户106以在用户106穿戴着HMD 1500时将“视频透视”能力提供给用户。也就是说,尽管用户106在严格的意义中无法透视HMD 1500,但通过图像捕获装置1506A和1506B捕获的视频仍提供能够看见在HMD 1500外部的现实世界环境的功能等效,如同透视HMD 1500一样。
在一个实施方案中,用虚拟元素来增强此类视频以提供增强现实体验,或以其他方式将此类视频与虚拟元素组合或掺混。尽管在所说明的实施方案中,两个相机示出在HMD1500的前表面上,但应了解,可存在任何数目的面朝外的相机或单一相机可安装在HMD1500上,且取向在任何方向上。例如,在另一实施方案中,可存在安装在HMD 1500的侧面上的相机以提供对环境的额外的全景图像捕获。
图16说明使用能够将视频游戏内容渲染给由用户106操作的HMD 1500的客户端系统1602的游戏玩法的一个实例。在此说明中,提供给HMD 1500的虚拟对象的状态例如游戏内容等在富交互式3D空间中。如上文所论述,虚拟对象的状态被下载到客户端系统1602或在一个实施方案中由云处理系统执行。云游戏服务1632包括用户的数据库1604,所述用户被允许访问特定的游戏1630,与其他朋友分享经验,发表评论并管理所述用户的帐户信息。
云游戏服务1632存储特定用户的游戏数据1606,所述游戏数据可在玩游戏、未来玩游戏期间使用,共享至社交媒体网络或用于存储奖品、奖项、状态、排名等。社交数据1608通过云游戏服务1632管理。在一个实施方案中,社交数据1608通过单独的社交媒体网络管理,所述社交媒体网络经由计算机网络1410与云游戏服务1632介接。经由计算机网络1410,连接任何数目的客户端系统1610,以便访问内容并且与其他用户交互。
继续图16的实例,在HMD 102中观看的3D交互式场景包括游戏玩法,例如在3D视图中所说明的角色,或包括另一虚拟环境。一个角色例如P1等通过穿戴着HMD 102的用户106控制。此实例示出在两个玩家之间的篮球场景,其中用户106在3-D视图中正在另一角色上方扣篮。另一个角色可为游戏的AI(人工智能)角色,或可通过另一玩家或多个玩家(Pn)控制。穿戴着HMD 102的用户106示出为在使用空间中四处移动,其中HMD 102基于用户106的头部移动和身体位置而四处移动。相机1612示出为定位在房间中的显示器装置1414上方,然而,对于HMD 102的使用,相机1612置于可捕获HMD 102的图像的任何位置中。由此,用户106示出为从相机1612和显示器装置1414转动约90度,因为在HMD 102中渲染的内容取决于从相机1612的角度看HMD 102所定位的方向。当然,在HMD 102的使用期间,用户106将四处移动、转动他/她的头部、在各种方向上观看,如利用通过HMD 102渲染的动态虚拟场景所需要。
在一个实施方案中,替代于相机1612或除所述相机外,HMD 102相对于投影仪104的位置和/或取向通过使用本文中描述的方法来确定。
图17说明根据一个实施方案的穿戴着在使用期间的HMD 102的用户。在此实例中示出,使用通过相机1612从所捕获的视频帧获得的图像数据来跟踪1702HMD 102。另外示出,还使用通过相机1612从所捕获的视频帧获得的图像数据来跟踪1704手持式控制器115。还示出的是其中HMD 102经由电缆1710连接到计算系统2202的配置。计算系统2202为计算系统107的实例。在一个实施方案中,HMD 102从相同电缆获得电力或可以连接到另一条电缆。在又一实施方案中,HMD 102具有可再充电的电池,以便避免额外的电源线。
参考图18,示出说明根据本公开中描述的实施方案的HMD 1800的实例部件的图式。HMD 1800为图1A中示出的HMD 102的实例。当HMD 1800不包括任何相机时,HMD 1800为HMD 102(图1A)的实例。应理解,取决于启用的配置和功能,HMD 1800可包括或不包括更多或更少的部件。HMD 1800包括用于执行程序指令的处理器1802。存储器装置1804出于存储目的提供,且在一个实施方案中包括易失性和非易失性存储器两者。显示器1806被包括,所述显示器提供用户所观看的可视化界面。
显示器1806通过单一显示屏界定,或呈用于用户106的每只眼睛的单独的显示屏的形式。当提供两个显示屏时,有可能单独地提供左眼和右眼视频内容。例如,将视频内容单独地呈现给每一只眼睛提供对3D内容的更好的沉浸式控制。如本文中所描述,在一个实施方案中,通过以下操作将HMD 1800的第二屏幕内容提供给第二屏幕:将输出用于一只眼睛,且随后格式化所述内容以用于以二维(2D)格式显示。在一个实施方案中,所述一只眼睛为左眼视频馈送,而在其他实施方案中,所述一只眼睛为右眼视频馈送。
电池1808提供作为HMD 1800的电源。在其他实施方案中,电源包括插座连接电源。在其他实施方案中,提供插座连接电源和电池1808。运动检测模块1810包括各种类型的运动灵敏硬件中的任何硬件,例如磁力计1812、加速度计1814和陀螺仪1816。
加速度计1814是用于测量加速度和重力引起的反作用力的装置。单轴线和多轴线(例如,六轴线)模型能够检测加速度在不同方向上的量值和方向。加速度计1814用于感测倾斜、振动和震动。在一个实施方案中,三个加速度计用于提供重力的方向,所述重力的方向给出两个角(世界空间俯仰和世界空间滚转)的绝对参考。
磁力计1812测量在HMD 1800附近的磁场的强度和方向。在一个实施方案中,三个磁力计用于HMD 1800内,从而确保世界空间偏航角的绝对参考。在一个实施方案中,磁力计1812经设计以跨越地球磁场,所述磁场为±80微特斯拉。磁力计受金属影响,且提供与实际偏航一致的偏航测量结果。磁场由于环境中的金属而扭曲,从而导致偏航测量结果的扭曲。如果必要的话,使用来自其他传感器(例如陀螺仪或相机)的信息来校准此扭曲。在一个实施方案中,加速度计1814与磁力计1812一起用于获得HMD 1800的倾角和方位角。
陀螺仪1816是用于基于角动量的原理来测量或维持取向的装置。在一个实施方案中,三个陀螺仪基于惯性感测来提供关于跨越相应的轴线(x、y和z)的移动的信息。陀螺仪有助于检测快速旋转。然而,陀螺仪在不存在绝对参考的情况下随时间漂移。为减少漂移,定期地重置陀螺仪,所述重置可使用其他可用信息来进行,所述可用信息例如基于对对象的视觉跟踪、加速度计、磁力计等的位置/取向确定。
提供相机1818以用于捕获现实世界环境的图像和图像流。在一个实施方案中,超过一个相机(可选地)被包括在HMD 1800中,包括后置(在用户观看HMD 1800的显示器时背向用户)的相机,以及前置(在用户观看HMD 1800的显示器时朝向用户)的相机。另外,在实施方案中,HMD 1800中包括深度相机1820以用于感测现实世界环境中的对象的深度信息。
HMD 1800包括用于提供音频输出的扬声器1822。并且,在一个实施方案中,麦克风1824被包括以用于从现实世界环境捕获音频,包括来自周围环境的声音、用户发出的语音等。在实施方案中,HMD 1800包括用于将触觉反馈提供给用户的触觉反馈模块1826。在一个实施方案中,触觉反馈模块1826能够造成HMD 1800的移动和/或振动以便将触觉反馈提供给用户。
提供光电传感器1830以检测光束中的一者或多者。提供读卡器1832以使得HMD1800能够从存储器卡读取信息和将信息写入到存储器卡。USB接口1834被包括作为用于实现外围装置的连接或到其他装置的连接的接口的一个实例,所述其他装置例如其他便携式装置、计算机等。在HMD 1800的各种实施方案中,可包括各种类型的接口中的任何接口以实现HMD 1800的更大连接性。
在实施方案中,包括Wi-Fi模块1836以用于使得能够经由无线联网技术连接到计算机网络。并且,在一个实施方案中,HMD 1800包括蓝牙模块1838以用于实现到其他装置的无线连接。包括通信链路1840以便连接到其他装置。在一个实施方案中,通信链路1840将红外传输用于无线通信。在其他实施方案中,通信链路1840利用各种无线或有线传输协议中的任何协议以用于与其他装置通信。
输入按钮/传感器1842被包括以为用户提供输入接口。可包括各种类型的输入接口中的任何输入接口,例如,按钮、手势、触摸板、操纵杆、轨迹球等。在一个实施方案中,超声波通信模块1844被包括在HMD 1800中以用于经由超声波技术促进与其他装置的通信。
在实施方案中,生物传感器1846被包括以实现对来自用户的生理数据的检测。在一个实施方案中,生物传感器1846包括一个或多个干电极以用于通过用户的皮肤来检测用户的生理电信号、声音检测、眼睛视网膜检测以识别用户/外形等。
HMD 1800的前述部件已被描述为可包括在HMD 1800中的仅示例性部件。在本公开中描述的各种实施方案中,HMD 1800可包括或可不包括各种前述部件中的一些。HMD 1800的实施方案可另外包括目前未描述、但在本领域已知的其他部件,以用于促进如本文中所描述的本发明的方面的目的。
在一个实施方案中,HMD 1800包括发光二极管,除光电传感器1830外,所述发光二极管用于确定HMD 1800的位置和/或取向。例如,位于HMD 1800所位于的环境内的LED和相机用于确认或否定使用光电传感器1830和本文中描述的方法确定的位置和/或取向。
所属领域技术人员应了解,在本公开中描述的各种实施方案中,前述手持式装置结合显示器上所显示的交互式应用用于提供各种交互式功能。本文中描述的示例性实施方案仅作为实例而非作为限制来提供。
在一个实施方案中,如本文中所提及,客户端和/或客户端装置可包括HMD、终端、个人计算机、游戏控制台、平板计算机、电话机、机顶盒、自助服务终端、无线装置、数字键盘、独立装置、手持式玩游戏装置和/或类似者。通常,客户端经配置以接收经编码的视频流,对视频流解码,并将所得视频呈现给用户,例如,游戏的玩家。接收经编码视频流和/或对视频流解码的过程通常包括将个别的视频帧存储在客户端的接收缓冲器中。视频流可在与客户端成一体的显示器上或在例如监视器或电视机等单独的装置上呈现给用户。
客户端可选地经配置以支持超过一个游戏玩家。例如,游戏控制台可经配置以支持两个、三个、四个或多个同时的玩家(例如,P1,P2,...Pn)。这些玩家中的每一个接收或共享视频流,或单个视频流可包括特别针对每一个玩家而生成(例如,基于每一个玩家的视角而生成)的帧的区。任何数目的客户端为本地的(例如,位于同一地点)或地理上分散的。游戏系统中所包括的客户端的数目从一个或两个广泛变化到几千个、几万个或更多。如本文中所使用,术语“游戏玩家”用于指代玩游戏的人,且术语“玩游戏的装置”用于指代用于玩游戏的装置。在一些实施方案中,玩游戏的装置可指代协作以将游戏体验传递给用户的多个计算装置。
例如,游戏控制台和HMD与视频服务器系统协作以传递通过HMD观看的游戏。在一个实施方案中,游戏控制台从视频服务器系统接收视频流,且游戏控制台将所述视频流或对视频流的更新转发到HMD和/或电视机以用于渲染。
更进一步来说,HMD用于观看所生成或所使用的任何类型的内容和/或与所述内容交互,例如视频游戏内容、电影内容、视频剪辑内容、网络内容、广告内容、比赛内容、博弈游戏内容、电话会议/会谈内容、社交媒体内容(例如,发帖、消息、媒体流、朋友的事件和/或玩游戏)、视频部分和/或音频内容,以及经由浏览器和应用通过互联网从来源消耗的内容,以及任何类型的流式内容。当然,前述对内容的列出并不是限制性的,因为可渲染任何类型的内容,只要在HMD中可观看到所述内容或所述内容可被渲染到屏幕或HMD的屏幕。
在一个实施方案中,客户端另外包括用于修改接收到的视频的系统。例如,客户端执行另外的渲染,以将一个视频图像覆盖在另一视频图像上,以修剪视频图像和/或类似者。作为另一实例,客户端接收各种类型的视频帧,例如I帧、P帧和B帧,且将这些帧处理成图像以用于向用户显示。在一些实施方案中,客户端的成员经配置以对视频流执行另外的渲染、阴影处理、到3-D的转换、到2D的转换、失真去除、设定大小或类似操作。客户端的成员可选地经配置以接收超过一个音频或视频流。
客户端的输入装置包括例如单手游戏控制器、双手游戏控制器、手势识别系统、注视识别系统、语音识别系统、键盘、操纵杆、指向装置、力反馈装置、运动和/或位置感测装置、鼠标、触摸屏、神经接口、相机、尚未开发出的输入装置和/或类似者。
视频源包括渲染逻辑,例如存储在例如存储装置等计算机可读介质上的硬件、固件和/或软件。此渲染逻辑经配置以基于游戏状态来创建视频流的视频帧。渲染逻辑中的全部或部分可选地设置在一个或多个图形处理单元(GPU)内。渲染逻辑通常包括经配置用于基于游戏状态和视点来确定对象之间的三维空间关系和/或经配置用于应用适合的纹理等的处理阶段。渲染逻辑产生已编码的原始视频。例如,原始视频根据Adobe
在一些实施方案中,客户端为通用计算机、专用计算机、游戏控制台、个人计算机、膝上型计算机、平板计算机、移动计算装置、便携式游戏装置、手机、机顶盒、流式媒体接口/装置、智能电视机或联网显示器,或能够经配置以履行如本文所定义的客户端功能性的任何其他计算装置。在一个实施方案中,云游戏服务器经配置以检测正被用户使用的客户端装置的类型,并提供适合于用户的客户端装置的云游戏体验。例如,图像设置、音频设置以及其他类型的设置可经优化用于用户的客户端装置。
图19说明信息服务提供商架构的实施方案。信息服务提供商(ISP)1902将大量的信息服务提供给在地理上分散且经由计算机网络1410连接的用户1900-1、1900-2、1900-3、1900-4等。在一个实施方案中,ISP提供一种类型的服务,例如股票价格更新,或多种服务,例如广播媒体、新闻、体育赛事、游戏等。另外,每一ISP所提供的服务是动态的,也就是说,可在任何时间点添加或去除服务。因此,将特定类型的服务提供到特定的个人的ISP可随时间变化。例如,当用户在她的家乡时,所述用户由紧密接近用户的ISP服务,并且当用户到不同城市旅游时,所述用户由不同ISP服务。家乡ISP将把所需信息和数据传送到新ISP,使得用户信息“跟随”用户到新城市,使数据更靠近用户且更易于访问。在另一实施方案中,在管理用户的信息的主ISP与在主ISP的控制下直接与用户介接的服务器ISP之间建立主机-服务器关系。在另一实施方案中,当客户端在全世界移动时,数据从一个ISP传送到另一ISP以使得在用以服务用户的更好的位置中的ISP成为提供这些服务的ISP。
ISP 1902包括应用服务提供商(ASP)1906,所述ASP经由计算机网络1410向客户提供基于计算机的服务。使用ASP模型提供的软件有时也被称为按需软件或软件即服务(SaaS)。提供对特定应用程序(例如客户关系管理)的访问的简单形式为通过使用HTTP等标准协议。应用软件驻留在供应商的系统中,且由用户通过使用HTML的网站浏览器、通过由供应商提供的专用客户端软件或例如瘦客户端等其他远程接口来访问。
在宽广的地理区域上提供的服务通常使用云计算。云计算是一种计算类型,其中可动态扩展且通常虚拟化的资源经由计算机网络1410被提供为服务。用户不需要精通支持他们的“云”中的技术基础架构。在一个实施方案中,云计算被分为不同服务,例如基础架构即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。云计算服务通常提供通过网站浏览器访问的线上的公共业务应用,而软件和数据存储在服务器上。术语云基于在计算机网络图中描绘因特网的方式而用作因特网(例如,使用服务器、存储装置和逻辑)的比喻,且为所述云所隐含的复杂基础架构的抽象。
另外,ISP 1902包括游戏处理服务器(GPS)1908,所述游戏处理服务器被游戏客户端用来玩单一玩家和多玩家视频游戏。在因特网上玩的大部分视频游戏经由到游戏服务器的连接操作。通常,游戏使用从玩家收集数据并将所述数据分布到其他玩家的专用服务器应用。这比对等布置更加高效且有效,但这需要单独的服务器来托管服务器应用。在另一实施方案中,GPS在玩家之间建立通信,且所述玩家的相应的玩游戏装置在不依赖于集中式GPS的情况下交换信息。
专用GPS是独立于客户端运行的服务器。此类服务器通常在位于数据中心的专用硬件上运行,提供更大的带宽和专用处理功率。专用服务器是托管大部分基于PC的多玩家游戏的游戏服务器的优选方法。大量的多玩家线上游戏在通常通过拥有游戏名称的软件公司托管的专用服务器上运行,从而允许所述服务器控制并更新内容。
广播处理服务器(BPS)1910将音频或视频信号分布给观众。对极窄范围的观众进行广播有时被称为窄播。广播分布的最后一站是信号如何到达收听者或观看者,且所述信号可如无线电台或电视台一样经由空气到达天线和接收器,或可通过有线电视或有线广播(或“无线电缆”)经由站点或直接地从网络到来。因特网还可将无线电或TV引至接收方,尤其是在允许共享信号和带宽的多播的情况下。在历史上,广播已通过地理区域定界,例如国家广播或地区广播。然而,在快速互联网的扩增的情况下,广播不通过地理来界定,因为内容可到达几乎世界上的任何国家。
存储服务提供商(SSP)1912提供计算机存储空间和相关的管理服务。SSP还提供定期的备份和存档。通过提供存储即服务,用户可按需要订购更多的存储空间。另一主要优点是SSP包括备份服务,且用户在他们的计算机的硬盘驱动发生故障时将不会丢失所有其数据。此外,在实施方案中,多个SSP具有用户数据的全部或部分拷贝,从而允许用户独立于用户所在的位置或正用于访问数据的装置以高效方式访问数据。例如,用户在移动时可访问家用计算机以及移动电话中的个人文件。
通信提供商1914提供到用户的连接。一种通信提供商是提供到因特网的接入的因特网服务提供商(ISP)。ISP使用适合用于传递因特网协议数据报的数据传输技术来连接其客户,所述技术例如拨号、DSL、电缆调制解调器、光纤、无线或专用高速互连。通信提供商还可提供消息传递服务,例如电子邮件、即时消息传递以及SMS文本传递。另一类型的通信提供商是网络服务提供商(NSP),所述网络服务提供商通过提供对因特网的直接骨干接入来销售带宽或网络接入。网络服务提供商在一个实施方案中包括电信公司、数据运营商、无线通信提供商、因特网服务提供商、提供高速因特网接入的有线电视运营商等。
数据交换1904使ISP 1902内部的若干模块互连,并且经由计算机网络1410将这些模块连接到用户1900。数据交换1904覆盖其中ISP 1902的全部模块均紧密接近的小型区域,或当不同模块在地理上分散时,覆盖较大的地理区域。例如,数据交换1988包括数据中心的机柜内的快速千兆位以太网(或更快),或洲际虚拟区域网络(VLAN)。
用户1900用客户端装置1920访问远程服务,所述客户端装置包括至少CPU、显示器和输入/输出(I/O)装置。客户端装置可为个人计算机(PC)、移动电话、上网本、平板计算机、游戏系统、个人数字助理(PDA)等。在一个实施方案中,ISP 1902识别通过客户端使用的装置的类型并调整所采用的通信方法。在其他情况下,客户端装置使用例如html等标准通信方法来访问ISP 1902。
图20为HMD 2000的实施方案的图式。HMD 2000为HMD 102(图1A)的实例。HMD 2000包括光电传感器的阵列。光电传感器中的一些标记为2006。HMD 2000中并非所有光电传感器都被标记以避免混乱。光电传感器2006为光电传感器105a的实例。HMD 2000的光电传感器沿着HMD 2000的正面2002的宽度竖直分布,且还跨越HMD 2000的正面2002的高度水平分布。并且,在实施方案中,HMD 2000的光电传感器中的一些位于HMD 2000的头带2004上。当光电传感器中的两个或多个的取向相对于投影仪104已知时,HMD 2000相对于投影仪104的取向通过计算装置107的处理器302确定。在一个实施方案中,HMD 2000的每一光电传感器2006通过计算装置107的处理器302通过唯一识别码识别。
提供箭头以示出光电传感器2006所指向的方向。例如,在HMD 2000的左上角处的光电传感器2006的镜头正面朝上但与竖直方向2007成角度。作为另一实例,在HMD 2000的左中角中的光电传感器2006的镜头正面朝与竖直方向2007成90度角。作为另一实例,在HMD2000的中上角中的光电传感器2006的镜头正竖直地面朝上以与竖直方向2007形成0度角。作为另一实例,在HMD 2000的中下角中的光电传感器2006的镜头正竖直地面朝下以与竖直方向2007形成180度角。作为另一实例,在HMD 2000的中间部分中的光电传感器2006的镜头正面朝图20纸外以与竖直方向2007形成90度角。
在一些实施方案中,其中光电传感器2006置于正面2002的表面上的图案的实例包括随机非平面图案、“之”字形图案、弯曲的图案、笔直的图案、弯曲和笔直图案的组合等。在各种实施方案中,光电传感器2006以与正面2002和/或竖直方向2007成不同于图20中说明的角度的角度而放置。
在一个实施方案中,HMD 2000具有前盖2010,例如,玻璃盖、塑料盖、荫盖、彩色盖等,且前盖具有越过正面2002的嵌入式镜头2008。每一镜头2008位于HMD 2000的对应的光电传感器2006的顶部上。镜头2008引导例如折射等来自光束110的杂散光以促进光束110在位于镜头下方的对应的光电传感器2006上的入射。
在实施方案中,光电传感器中的一个相对于HMD 2000的正面2002形成与光电传感器中的另一个不同的角度。
在一个实施方案中,HMD 2000的光电传感器中的全部具有相对于HMD 2000的正面例如前表面等相同的角度。
在实施方案中,每一光电传感器2006具有弯曲部分。在一个实施方案中,弯曲部分暴露于光下或不暴露于光下。
本公开中描述实施方案可用各种计算机系统配置来实践,包括手持式装置、微处理器系统、基于微处理器的或可编程的消费者电子装置、微型计算机、大型计算机及类似者。本公开中描述的实施方案还可在分布式计算环境中实践,其中由通过基于有线或无线网络链接起来的远程处理装置执行任务。
记住上述实施方案,应理解,本公开中描述的实施方案可采用各种计算机实施的操作,包括存储在计算机系统中的数据。这些操作是需要对物理量的物理操控的那些操作。本文中描述的任何操作都是有用的机器操作,所述操作形成本公开中描述的实施方案的部分。本公开中描述的一些实施方案还涉及用于执行这些操作的装置或设备。所述设备可经专门构造以用于所需目的,或所述设备可为通用计算机,所述通用计算机通过存储在计算机中的计算机程序来选择性地激活或配置。确切地说,各种通用机器可与根据本文中的教示编写的计算机程序一起使用,或所述机器可更加便于构造更专门的设备以执行所需操作。
本公开中描述的一些实施方案也可以实施为计算机可读介质上的计算机可读代码。计算机可读介质为可存储数据的任何数据存储装置,所述数据可在之后通过计算机系统读取。计算机可读介质的实例包括硬盘驱动器、NAS、ROM、RAM、CD-ROM、CD-R、CD-RW、磁带、光学数据存储装置、非光学数据存储装置等。计算机可读介质可包括分布在网络耦合的计算机系统上的计算机可读有形介质,使得计算机可读代码以分布方式被存储和执行。
应注意,在一些实施方案中,本文中描述的实施方案中的任何实施方案与其余实施方案中的任何实施方案组合。
此外,尽管以上描述逇实施方案中的一些是关于玩游戏环境来描述的,但在一些实施方案中,使用其他环境,例如,视频会议环境等,而非游戏。
尽管以特定次序描述方法操作,但应理解,可在操作之间执行其他内务处理操作,或可调整操作使得所述操作在略不同的时间处出现,或可在系统中分布,所述系统允许处理操作在与处理相关联的各种间隔处出现,只要重叠操作的处理以所需方式执行。
尽管已出于理解的清楚性的目的相当详细地描述本公开中的前述实施方案,但应清楚,在所附权利要求书的范围内可实践某些改变和修改。因此,当前实施方案将被认为是说明性的而非限制性的,且所述实施方案并不限于本文中给出的细节,而是可在所附权利要求书的范围和等效物内修改。
- 使用MEMS投影仪来确定光电传感器的位置的系统和方法
- 用于使用MEMS投影仪来确定HMD或另一控制器的光电传感器的取向的系统和方法