如果大家有关注微软的专利探索,这家公司曾提出一种集成式摄像头/系统摄像头+分离式摄像头/外部摄像头的系统理念。其中,集成式摄像头/系统摄像头是指物理集成到头显的摄像;分离式摄像头/外部摄像头则是指与头显分离的摄像头。
例如在一个的场景中,可以将分离式摄像头捆绑或以其他方式放置在用户的胸部。在另一个场景中,分离式摄像头可以不放置在用户的身体上,而是由用户握持或者安装在自拍杆或另一种类型的延长杆上。
集成式摄像头+分离式摄像头的设置可以提升头显的扫描范围和质量,优化全息图的放置和生成。但显然,对于这种图像合并和叠加,系统需要对齐两个摄像头的内容,并实现快速目标捕获。
在名为“Low motion to photon latency rapid target acquisition”的专利申请中,微软介绍了一种使用IMU数据更新叠加图像内容的位置,以反映摄像头位置的后续变化,从而最小化延迟影响。
概括来说,集成式摄像头/系统摄像头和分离式摄像头/外部摄像头生成的图像可以相互重叠并对齐,以形成重叠图像。系统摄像头图像中的内容由叠加图像中的边界元素包围。然后,可以获取与系统摄像头和外部摄像头相关的IMU数据。
基于所述IMU数据,确定自最初生成图像以来系统摄像头和/或外部摄像头已经移动的移动量。基于所述移动,边界元素将移动到叠加图像中的新位置。
图8示出了结果叠加图像800,其包括系统摄像头图像805和外部摄像头图像810。可选地,附加图像可以包括在叠加图像800之中,例如用于帮助用户对准的十字线815。通过对齐图像内容,用户只需查看头显中显示的内容,就可以识别目标位置。
如图9中的目标采集900所示,通过提供增强叠加图像800,这可以帮助用户实现快速目标采集。换句话,用户不再需要花时间查看工具的瞄准镜。
在显示叠加图像和生成用于生成叠加图像的图像之间,通常存在延迟或时间延迟。这种时间延迟导致用户查看延迟数据的场景,这意味着图8中显示的十字线815可能无法真实反映工具的实际瞄准位置。所以,需要一种改进的技术来补偿图像生成和图像显示之间发生的延迟。
图10是微软方案的抽象版本。图10示出了系统摄像头图像1000和外部摄像头图像1005。如所讨论,我们希望通过组合系统摄像头图像1000和外部摄像头图像1005来获取叠加图像1010。
注意,叠加图像1010包括包围从外部摄像头图像1005和/或从系统摄像头图像1000获得的像素的边界元素1015。可选地,边界元素1015可以是圆形气泡可视化1020的形式。
图11示出了表示叠加图像1010的叠加图像1100和表示边界元素1015的边界元素1105。这里同时示出了移动1110。移动1110可对应于系统摄像头移动1115所示的系统摄像头移动和/或外部摄像头移动1120所示的外部摄像头移动。
如前所述,在生成和显示叠加图像1100之间可能存在时间延迟。在这个时间段内,如果发生移动1110,则结果叠加图像1100将不再是最新的,而是滞后的,因为它是过去场景的反应,即边界元素1105的位置将处于错误的位置。
图12示出了另一个滞后示例,其中边界元素显示在滞后位置1205,而位置1205不反映图11的移动1110。相比之下,期望的解决方案(最新)1210显示了位于正确位置1215的边界元素。
图13示出了将边界元素从最初的滞后位置(错误位置)1300移位(如移位1305所示)到正确位置1310。为了执行所述移位,实施例可以利用IMU数据1315,包括来自与系统摄像头和外部摄像头相关联的IMU数据。
通常,与基于IMU数据处理数据相比,获取图像数据并处理所述图像数据需要相对较长的时间。基于这一理解,在生成原始系统摄像头图像和外部摄像头图像之后,实施例可以获取更新的IMU数据,并选择性地将边界元素移动到新位置。
移动边界元素使得实施例能够显示系统摄像头和外部摄像头之间的更新位置关系,而无需获取新的图像内容来确定更新的位置。因此,实施例能够动态地移动边界元素,以反映自最初生成系统摄像头图像和外部摄像头图像以来发生的任何移动。
图14A和14B示出了上述方法。
方法1400包括使用系统摄像头来生成周遭环境的系统摄像头图像的动作1405。与动作1405并行,方法1400包括使外部摄像头来生成环境的外部摄像头图像的动作1410。值得注意的是,系统摄像头的视场与外部摄像头的视场重叠。结果,包括在外部摄像头图像中的内容同样包括在系统摄像头图像之中。
然后,动作1415将外部摄像头图像的至少一部分内容叠加并对齐在系统摄像头图像的相应内容之上,从而生成叠加图像(例如图10的叠加图像1010)。
方法1400同时包括从系统IMU获取系统摄像头IMU数据的动作1420。与动作1420并行,方法1400包括从外部摄像头IMU获取外部摄像头IMU数据的动作1425。
基于系统IMU数据和外部IMU数据,方法1400包括确定自系统摄像头和外部摄像头相对于彼此移动的移动量的动作1430。
在1435,基于确定的移动量,将边界元素移动到叠加图像中新位置。因此,移动的边界元素反映了自系统摄像头图像和外部摄像头图像生成以来,系统摄像头视场和外部摄像头视场之间的更新位置关系。
图15示出了代表方法动作1435中描述的叠加图像修改图像1515。这里,边界元素已移动到移动位置1520。注意,修改后的图像1515包括从外部摄像头图像获得的像素(如外部摄像头图像像素1525),以及从系统摄像头图像获得的像素(如系统摄像头图像像素1530)。
值得注意的是,由边界元素包围的像素通常属于或从外部摄像头图像获得。在移动边界元素之前,由边界元素限定的像素包括仅从外部摄像头图像获得的像素。图15示出了叠加图像1500如何包括边界元素,以及边界元素中包括的像素如何仅从外部图像获得。
如果仅允许将从外部摄像头图像获得的像素包括在边界元素中,则生成的修改图像1515将丢失像素1535。换句话说,由于最初仅有外部摄像头图像像素1510可用,并且由于移位导致边界元素移位到新位置,因此像素将丢失,如丢失的像素1535所示。
这种情况不可取。因此,实施例使用从系统摄像头图像获得的像素“填充”由边界元素包围的特定区域,以确保由边界元素包围的区域被完全表示而不丢失内容。图16示出了这一操作。
图16示出了边界元素1600现在如何包含从系统摄像头图像和外部摄像头图像两者获得的像素。为了说明,请注意边界元素1600如何边界或包含外部摄像头图像像素1605、系统摄像头图像像素1610和系统摄像头图像像素1615。
当边界元素被移动到新位置时,外部摄像头图像像素1605是来自外部摄像头图像唯一留在边界元素1600内的像素。假设施加了约束,其中允许边界元素1600仅包含从外部摄像头图像获得的像素。如果是这种情况,则仅显示图15中所示的星形部分(即外部摄像头图像像素1525),并且加号的右侧部分将丢失,如丢失的像素1535所示。
为了避免这种情况,实施例避免实现上述约束,而是允许边界元素从外部摄像头图像以外的图像源获得像素。本质上,可以使用系统摄像头图像“填充”像素,以提供边界元素1600内的完整视图。
图20示出了矩形外部摄像头图像2000和边界元素的原始位置2005。图20同时示出了发生水平移动2010的场景。
作为水平移动2010的结果,实施例将边界元素移动到新位置,如移动的边界元素2015所示。由于外部摄像头图像2000的矩形尺寸,与发生垂直移动的场景相比,边界元素可以移动更大的量,并且依然包含源自外部摄像头图像2000的像素。
举例来说,只有一小部分像素(如系统摄像头图像像素2020所示)将用于填充超出移动边界元素2015的区域。在这方面,在系统摄像头图像像素开始被边界元素限定之前,可以在水平方向上进行进一步的移动。
图21示出了用于概述操作的定时的示例时间线。在时间T.sub.0,实施例触发系统摄像头图像和外部摄像头图像的生成,如生成图像2100所示。在时间T.sub.1,实施例生成初始叠加图像,如生成叠加图像2105所示。在时间T.sub.2,实施例从与系统摄像头和外部摄像头相关联的IMU获取IMU数据2110。注意,是在生成覆盖图像之后接收或获取IMU数据。
在时间T.sub.3,实施例通过分析IMU数据确定系统摄像头和外部摄像头之间发生了移动2115。在一个实施例中,生成系统摄像头图像和外部摄像头图像的时间(即时间T.sub.0)到通过IMU数据确定移动量的时间(即时间T.sub.3)至少为5毫秒(ms)。有时,时间至少为10 ms、15 ms、20 ms或20 ms以上。
在时间T.sub.4,实施例基于IMU数据移动边界元素2120。可选地,实施例可以将边界元素移动到当前未由IMU数据表示,但为预测位置的未来时间点2125。换句话说,可以根据IMU数据推断或预测系统摄像头和外部摄像头将在何处、何时以及如何继续移动。
在时间T.sub.5,实施例显示2130具有移位边界元素的叠加图像。应注意,在时间T.sub.0和T.sub.5之间的任何时间,可能会发生系统摄像机和/或外部摄像机的移动2135。正是由于所述移动2135,实施例移动边界元素,并提供关于系统摄像头相对于外部摄像头的位置的准确图示。
因此,专利描述的实施例能够动态地移动边界元素,以反映系统摄像头和外部摄像头之间的精确空间关系,从而帮助实现低运动到光子延迟的快速目标获取。
名为“Low motion to photon latency rapid target acquisition”的微软专利最初在2020年12月提交,并在日前由美国专利商标局公布。