微软专利分享AR/VR控制器追踪的LED数据同步解决方案

HoloLens QQ群493967447

查看引用/信息源请点击:映维网Nweon

LED同步方法

映维网Nweon 2023年07月18日)为了追踪用户或控制器的位置,有头显厂商选择了光学传感器方法,例如检测在头显附近照明的LED标记的摄像头。当使用这种LED标记时,需要在LED发射和摄像头曝光之间同步计时。

特别是,在带有基于LED星座追踪系统的六自由度AR/VR控制器中,LED发射时间与摄像头曝光窗口之间的定时同步对于图像质量、精度和功耗非常重要。蓝牙通常具有10毫秒或更长时间的数据包延迟和不确定性,这对于LED发射时间控制而言不切实际。

另外,头显摄像头模块和蓝牙芯片可能从不同的时钟源运行,这可能导致时钟漂移。所述问题使得LED和摄像头定时同步成为一项具有挑战性的任务。

不准确的同步可能导致较差的图像质量和准确性,这可能导致控制器追踪问题,从而对用户体验产生负面影响。同时,不准确的同步可能导致不必要的计算资源使用和过度的功耗。

在名为“Led synchronization for virtual and augmented reality devices”的专利申请中,微软就介绍了一种LED同步方法。

发明主要描述了在不修改现有蓝牙物理层和其他协议层的情况下实现蓝牙物理层无线同步的技术。所述技术使LED打开时间比摄像头曝光时间短。这样,在控制器运动的情况下,可以降低LED的功耗,并最大限度地减少LED星座图像的模糊。

在一个实施例中,仅用于外部RF PA控制的RF TX/RX开关信号可用于定时同步。这种信号已经应用于一系列的蓝牙芯片组中。所描述的实施例可以独立于任何特定芯片组实现。因此,主设备和从设备芯片不必来自同一制造商。另外,所述原理可应用于除蓝牙以外的其他工业或专有无线电技术为基础的控制器。

蓝牙主设备通常发送一个3.2 KHz的主无线时钟,这是主设备和从设备物理层时间同步和数据包传输的时间基础。这个分辨率对于六自由度LED定时同步来说通常太低。然而,3.2 KHz主无线时钟保持主从设备同步,没有时钟漂移。

微软介绍了一种实现基于锁相环的时钟乘法器的方法,以将时钟从3.2 KHz提升到24 MHz或更高,以便在纳秒级提供精确的LED定时控制。

当摄像头时钟和蓝牙时钟使用不同的时钟源时,可能会产生时钟漂移。在一个实施例中,可以实施数字锁相环电路和摄像头频闪信号,以确保头显摄像头和六自由度控制器LED保持与摄像头帧同步。一旦建立了初始同步,只要蓝牙无线链路存在,即便控制器移动到摄像头视场之外,系统都可以保持同步。

以这种方式,可以更有效地同步控制器和LED,从而减少处理器周期和电池功率等计算资源的利用,减少需要重复曝光的可能性,从而减少头显使用的功率。

如图1所示,控制器160可以包括惯性测量单元,并可包括分布在所述控制器160的表面的多个光源。图1示出具有沿控制器160的环状结构的外部和内部分布的多个光源170的控制器160。

光源可以配置为在由头显的摄像头或摄像头获取的图像数据中形成光的模式,亦即“星座”,从而可以从捕获控制器的图像确定控制器160的姿态。

光源可以采用任何合适的形式,例如发光二极管LED,它发出可见光,并通过头显的可见光摄像头进行检测。在一个示例中,头显摄像头可以配置为过滤除LED发出的光波长以外的光波长,以降低图像数据中的噪点水平。控制器160可具有任意合适的光源数量和排列。

可以将VR设备100和控制器160配置为直接彼此通信,例如通过利用蓝牙通信协议或其他合适的无线通信协议连接的无线网络。在其他实施例中,可选主机计算设备(未示出)可与VR设备100和控制器160通信,以接收来自VR设备100和控制器160的数据并处理该数据,然后再向设备发送控制信号。

通过使用VR设备100上的一个或多个摄像头追踪控制器160的光源发出的光的位置,可以估计控制器160的相对于头显姿态。

来自IMU的数据可以进一步辅助追踪。为了将来自图像数据的光学位姿与IMU数据相结合,以提供控制器160相对于世界的实际姿态,可以通过将光学数据映射到世界坐标来进行处理,以将IMU数据与光学数据“融合”。

图2至图5显示了头显和六自由度控制器与蓝牙主时钟同步的系统图。

参考图2,帧定时器220是数字锁相环的一部分,并配置用于同步摄像头帧与24 MHz同步时钟。其中,所述时钟锁定到3.2 KHz蓝牙主时钟。

帧计时器220以24 MHz采样率测量90 Hz摄像头帧时间。测量到的时间发送到六自由度,以从控制器器件进行LED定时同步和漂移校正。

图2示出具有闪光灯频闪信号235的头部追踪摄像头230。在一个实施例中,可以有2-4个或更多的摄像头用于头显头显和控制器追踪。摄像头可以从同一时钟源同步。其中一个摄像头可以在60/90 MHz或更高的频率下将频闪信号235作为摄像头时间同步基础。频闪信号的开始时间和持续时间可编程。

图3示出的是蓝牙主天线310,以及蓝牙主时钟320,其显示为BT MCLK1 (24 MHz)。蓝牙主时钟320是蓝牙主芯片的时钟参考。图3中同时显示了蓝牙主模块330,它是头显上的蓝牙主控制器,TX/RX开关信号暴露在芯片之上。

图3进一步示出主时钟发生器340,其生成用于蓝牙主从物理层时序参考的3.2 KHz主时钟360。图例同时示出时钟乘法器350。在一个实施例中,时钟乘法器350将主时钟乘以7500以生成用于帧计时器输入时钟的24 MHz同步时钟。。

图4所示的是LED驱动器410,其分别具有用于LED开/关和亮度控制的使能引脚412和PWM输入414驱动一个或多个LED串420。控制器MCU 430可以作为六自由度控制器、LED定时和蓝牙通信的微控制器。LED串420包括一个或多个串行或并行LED串,配置为生成用于六自由度控制器追踪的星座。

图4进一步示出帧时间同步器440,其从从主控制器430接收到的帧时间包生成摄像头帧时间。帧时间同步器440比较当前和较新的帧计时器,以估计在固定期间内接收到下一个帧时间包之前平均到帧计时器的时钟漂移。

这样,帧时间同步器440可以逐帧补偿摄像头时钟漂移,而不依赖于可能高达数百毫秒的蓝牙数据包延迟。

图4进一步示出LED偏移估计器450,其可配置为参照用于初始同步的帧起点估计LED ON定时偏移。图例同时说明了LED偏移计数器460,其存储LED ON定时偏移。

在一个实施例中,LED偏移计数器460可以调整到1/24 MHz=41.6 ns的精度。图4进一步示出可用于控制LED打开时间并且可调节的LED持续时间计数器470。较短的LED持续时间可以在控制器运动时实现清晰稳定的图像。

图5示出了所述设备蓝牙天线510。图5进一步示出主时钟恢复功能530,所述功能恢复作为时钟乘法器输入之一的3.2 KHz主时钟。在1.5 m距离处,由于物理层的TDD定时调整,主时钟和恢复主时钟可能有5ns的差异。对于41.6 ns的时序分辨率,可以忽略所述差异,LED时序控制没有明显差异。

图5进一步示出时钟乘法器540,其可与图3中的时钟乘法器350相同,并用于主时钟乘法以在从属设备上生成24 MHz同步时钟作为帧时间参考。

蓝牙从主时钟有一个相对于主时钟漂移的时钟,因为主从时钟使用不同的时钟源。然而,从时钟乘法器540的输出相位锁定到3.2 KHz主时钟以克服时钟漂移。

图6示出了根据头显的各种组件。图示是一个基于锁相环的时钟乘法器600,它采用24 MHz (BT MCLK) f1时钟作为两个输入之一。另一个输入是3.2 KHz BT主时钟。输出f3为24 MHz,但锁定到主时钟阶段,以允许控制器侧24 MHz f3时钟恢复而没有时钟漂移。

图例同时说明了头显 MCU定时器/计数器610具有众多微控制器可用的外部事件触发器。24位定时器/计数器输入锁相到24 MHz f3时钟。触发事件是摄像头频闪信号630,它是一个精确的摄像头曝光定时参考。所述摄像头频闪信号630可用于测量所述摄像头帧周期,并将所述摄像头帧周期发送给控制器MCU以供LED定时参考。

对于10ppm时钟源,每帧的最大测量误差为0.22 us。由于摄像头和BT时钟源不同,误差会逐帧累积。这种误差可以通过为摄像头和头显侧的BT使用相同的24 MHz时钟源或通过将24 MHz时钟f3时钟测量的摄像头帧时间发送到控制器进行周期性校正来消除。

图6进一步示出暴露了频闪信号的头显头和控制器追踪摄像头640。摄像头640可以从同一时钟源进行同步。摄像头传感器通常有闪光灯控制的频闪信号。在一个实施例中,摄像头640中的至少一个具有其频闪信号。尽管帧同步信号可用于相同的目的,但频闪信号可编程,更灵活。

图7示出控制器的各种组件。所示的时钟乘法器710可以是与图6中的时钟乘法器600相同的时钟乘法器部分。时钟乘法器710可用于产生锁相到3.2 KHz主时钟的24 MHz f3时钟,用于LED定时控制。24 MHz f1和f1 ‘可能略有不同,因为它们来自不同的来源,但两者都是锁定到3.2 MHz BT主时钟的相位。

图7同时示出了两个24位寄存器,其中包含一个新帧计时器(NFT) 720和当前帧计时器(CFT) 730。

可以将NFT 720配置为在摄像头帧时间蓝牙数据包725中保存从头显接收的摄像头帧时间。CFT 730可以保持由时钟漂移ΔFT引起的平均帧时间误差补偿的帧时间。CFT 730同时可以包括硬件帧计数器740,配置为每当计数器下流发生时产生90hz帧启动触发信号。

所述模块750可提供无线数字锁相环,以确保在头显或6DoF控制器断电之前,摄像头框架和LED控制定时保持同步。

模块760包括一个软件LED偏移估计器(LOE) 762和两个硬件计数器:LED偏移计数器(LOC) 764和LED持续时间计数器(LDC) 766,分辨率为41.6 ns。

762可根据初始同步过程中的帧触发信号估计LED启动时间。这个时间值可以存储在LOC 764中。当764溢出时,触发LED并打开LED。同时,LDC 766可能在溢出时开始倒计时并关闭LED。

LDC 766可以通过软件设置。LDC 766可能与摄像头的曝光时间相同或更短,以便在六自由度控制器运动时捕捉到清晰的图像。LED持续时间可编程,并可以由图像清晰度要求,LED驱动电流,摄像头传感器灵敏度等决定。

图7同时示出具有用于LED ON/OFF和亮度控制的使能引脚和PWM的LED驱动器770。亮度控制数据可以通过BT数据包从头显反馈。

相关专利Microsoft Patent | Led synchronization for virtual and augmented reality devices

名为“Led synchronization for virtual and augmented reality devices”的微软专利申请最初在2023年1月提交,并在日前由美国专利商标局公布。

HoloLens QQ交流群493967447

更多阅读推荐......

专栏