具有独立时间点管理的电子设备和方法与流程

未命名 07-14 阅读:97 评论:0

具有独立时间点管理的电子设备和方法
1.相关申请的交叉引用
2.本技术要求于2021年12月28日在韩国知识产权局递交的韩国专利申请no.10-2021-0189333的优先权,其全部公开内容通过引用并入本文中以用于所有目的。
技术领域
3.以下公开涉及具有独立时间点管理的电子设备和方法。


背景技术:

4.当将相机作为简单的图像捕获设备使用时,可能无法实现精确的时间控制,因为相机会根据计算设备通过简单调度的性能按照顺序处理来执行计算,并且相机按照在获得结果时输出结果的方式来执行操作。另一方面,执行严格时间控制的系统,例如飞机或机器人,可以使用实时操作系统(rtos)执行计算以确保准确的处理时间。
5.廉价的传感器系统通常可以实现在诸如蜂窝电话之类的消费电子设备中。传感器融合操作可以用于包括具有自动驾驶的控制系统的各种设备中。在这些应用中,由于成本和便利性,可能难以使用诸如上述rtos之类的系统。例如,为了准确的性能,机器人或载具中的同时定位和建图(slam)算法可能需要严格的时间控制,但是与这种要求相反,机器人或载具可能包括与典型通用操作系统(os)在时间上不同步的传感器的组合。


技术实现要素:

6.提供本发明内容以用简化形式介绍对下面在具体实施方式中进一步描述的构思的选择。本发明内容不意在标识所请求保护的主题的关键特征或基本特征,也不意在帮助确定所请求保护的主题的范围。
7.在一个总体方面,一种电子设备包括:计时处理器,被配置为:基于计时处理器的时钟速率,确定通过多个传感器中的参考传感器的感测所生成的参考感测数据的感测时间点、以及多个传感器中的其他传感器的其他感测数据的感测时间点;确定参考感测数据的感测时间点与其他感测数据的感测时间点之间的时间差;并且基于计时处理器的时钟速率,确定从参考感测数据的感测时间点到任务完成时间点的任务延迟;以及一个或多个其他处理器,被配置为:基于任务延迟来校正根据电子设备的定位所处理的任务结果,电子设备的定位是基于所确定的时间差、参考感测数据和其他感测数据,针对参考感测数据的感测时间点确定的。
8.该设备可以包括:多个传感器,被配置为生成参考感测数据和其他感测数据;以及输出接口,被配置为输出基于任务延迟的校正后的任务结果。
9.对于确定任务延迟,计时处理器可以被配置为:确定从参考感测数据的感测时间点到完成用于增强现实(ar)的图像渲染时的时间点的渲染延迟,并且对于校正,一个或多个其他处理器可以被配置为:通过基于渲染延迟校正根据电子设备的定位所渲染的图像来生成输出图像,该电子设备的定位是针对参考感测数据的感测时间点确定的。
10.参考传感器可以包括以下视觉传感器中的任何一个或任何两个或更多个的任何组合:被配置为捕获相机图像的相机传感器、被配置为感测雷达数据的雷达传感器、以及被配置为感测激光雷达图像的激光雷达传感器。
11.对于生成感测数据,参考传感器可以包括被配置为捕获相机图像的相机传感器,并且对于确定参考感测数据的感测时间点,计时处理器可以被配置为:基于相机图像的曝光时间和读取时间中的一者或两者来校准相机传感器的感测时间点。
12.电子设备的定位可以包括电子设备的姿态和位置中的一者或两者。
13.对于校正,一个或多个其他处理器可以被配置为:基于与从参考感测数据的感测时间点到任务完成时间点的任务延迟期间电子设备的定位变化相对应的旋转变换、平移和缩放变化中的任何一个或任何两个或更多个的任何组合来执行扭曲。
14.其他传感器可以包括以下项中的任何一个或任何两个或更多个的任何组合:被配置为感测电子设备的惯性的惯性测量单元imu、被配置为响应于接收到触发输入来执行感测的主动传感器、以及被配置为以预定间隔执行感测的被动传感器。
15.对于校正,一个或多个其他处理器中的主处理器可以被配置为:基于所确定的时间差、参考感测数据和其他感测数据来确定电子设备针对参考感测数据的感测时间点的定位,并且一个或多个其他处理器中的子处理器可以被配置为:生成渲染的图像作为针对定位的任务结果。
16.该设备可以包括通信模块,被配置为:对于确定时间差,向外部设备发送多个传感器的感测数据的感测时间点和时间差,并且从外部设备接收任务结果,其中,计时处理器可以被配置为:对于确定任务延迟,基于接收到任务结果时的时间点来确定任务延迟。
17.任务延迟可以包括根据通信模块的通信的发送延时和接收延时、以及外部设备执行任务时的时间段。
18.在另一总体方面中,一种处理器实现的方法,包括:基于计时处理器的时钟速率,确定通过多个传感器中的参考传感器的感测所生成的参考感测数据的感测时间点、以及多个传感器中的其他传感器的其他感测数据的感测时间点;确定参考感测数据的感测时间点与其他感测数据的感测时间点之间的时间差;基于计时处理器的时钟速率,确定从参考感测数据的感测时间点到任务完成时间点的任务延迟;以及基于任务延迟来校正由一个或多个其他处理器根据电子设备的定位所处理的任务结果,电子设备的所述定位是基于所确定的时间差、参考感测数据和其他感测数据,针对参考感测数据的感测时间点确定的。
19.该方法可以包括:由多个传感器生成参考感测数据和其他感测数据;以及输出基于任务延迟的校正后的任务结果。
20.确定任务延迟可以包括:确定从参考感测数据的感测时间点到完成用于增强现实(ar)的图像渲染时的时间点的渲染延迟,并且校正可以包括:通过基于渲染延迟校正根据电子设备的定位所渲染的图像来生成输出图像,该电子设备的定位是针对参考感测数据的感测时间点确定的。
21.生成参考感测数据可以包括通过执行以下操作中的任何一项或任何两项或更多项的任何组合来生成参考感测数据:由参考传感器中的相机传感器捕获相机图像的操作、由参考传感器中的雷达传感器感测雷达数据的操作、以及由参考传感器中的激光雷达传感器感测激光雷达图像的操作。
22.生成参考感测数据可以包括:由作为参考传感器的相机传感器捕获相机图像,并且确定参考感测数据的感测时间点可以包括:基于相机图像的曝光时间和读取时间中的一者或两者来校准相机传感器的感测时间点。
23.电子设备的定位可以包括电子设备的姿态和位置中的一者或两者。
24.校正可以包括:基于与从参考感测数据的感测时间点到任务完成时间点的任务延迟期间电子设备的定位变化相对应的旋转变换、平移和缩放变化中的任何一个或任何两个或更多个的任何组合来执行扭曲。
25.生成其他感测数据可以包括通过执行以下操作中的任何一项或任何两项或更多项的任何组合来生成其他感测数据:由传感器中的惯性测量单元(imu)感测电子设备的惯性的操作、由传感器中的主动传感器响应于接收到触发输入来执行感测的操作、以及由传感器中的被动传感器以预定间隔执行感测的操作。
26.校正可以包括:基于确定的时间差、参考感测数据和其他感测数据来确定电子设备针对参考感测数据的感测时间点的定位,以及生成渲染的图像作为针对定位的任务结果。
27.确定时间差可以包括:向外部设备发送多个传感器的感测数据的感测时间点和时间差,并且确定任务延迟可以包括:从外部设备接收任务结果,并且基于接收到任务结果时的时间点来确定任务延迟。
28.在另一总体方面,一个或多个实施例包括存储指令的非暂时性计算机可读存储介质,当由计时处理器和一个或多个其他处理器中的一者或两者执行该指令时,该指令配置计时处理器和一个或多个其他处理器中的一者或两者以执行本文所描述的任何一个、任何组合或所有操作和方法。
29.在另一总体方面,一种电子设备包括:处理器,被配置为:基于处理器的时钟速率,确定第一传感器的第一感测数据的感测时间点和第二传感器的第二感测数据的感测时间点;确定第一感测数据的感测时间点与第二感测数据的感测时间点之间的时间差,其中,由一个或多个其他处理器基于所确定的时间差,针对第一感测数据的感测时间点执行任务;并且基于处理器的时钟速率,确定从第一感测数据的感测时间点到所执行任务的任务完成时间点的所执行任务的任务延迟,其中,一个或多个其他处理器可以被配置为基于所确定的任务延迟来控制电子设备。
30.对于确定第二感测数据的感测时间点,处理器可以被配置为:响应于从第二传感器接收到第二感测数据的感测触发,将第二感测数据的感测时间点确定为在接收到感测触发之后根据处理器的时钟速率所更新的下一个后续定时。
31.对于确定第一感测数据的感测时间点,处理器可以被配置为响应于从第一传感器接收到第一感测数据的感测触发:确定在接收到感测触发之后根据处理器的时钟速率所更新的下一个后续定时;基于第一传感器的一个或多个处理时间来确定第一传感器的校准时间;并且基于下一个后续定时与校准时间之间的差来确定第一感测数据的感测时间点。
32.一个或多个处理时间可以包括第一传感器的读取时间和第一传感器的曝光时间。
33.处理器的时钟速率可以与第一传感器和第二传感器中的每一个的时钟速率不同。
34.对于控制,一个或多个其他处理器可以被配置为:基于任务延迟来校正所执行任务的任务结果。
35.其他特征和方面将通过具体实施方式、附图和权利要求书变得清楚明白。
附图说明
36.图1示出了包括计时模块的电子设备的示例。
37.图2和图3示出了由电子设备在内部执行针对任务的操作的示例。
38.图4和图5示出了由计时模块确定时间戳的示例。
39.图6示出了用于由电子设备确定定位、渲染和显示输出图像的时序的示例。
40.图7和图8示出了由电子设备向外部服务器请求针对任务的操作的示例。
41.图9示出了由电子设备基于渲染延迟来校正图像以提供增强现实(ar)的示例。
42.图10示出了独立管理和使用用于定位的感测时间点的方法。
43.在整个附图和详细描述中,除非另有描述或提供,否则相同的附图标记应被理解为指代相同或相似的元件、特征以及结构。附图可以不按比例绘制,并且为了清楚、说明和方便,可以扩大附图中元件的相对尺寸、比例和描绘。
具体实施方式
44.提供以下详细描述以帮助读者获得对本文描述的方法、装置和/或系统的全面理解。然而,在理解了本技术的公开之后,本文中描述的方法、装置和/或系统的各种改变、修改和等同物将是显而易见的。例如,本文中描述的操作顺序仅仅是示例,并且不限于在本文中阐述的那些操作顺序,而是可以在理解本技术的公开之后明显改变,除了必须以一定顺序进行的操作之外。此外,为了更加清楚和简洁,在理解本技术的公开之后,可以省略对已知的特征的描述。
45.虽然本文中可以使用诸如“第一”、“第二”和“第三”之类的术语来描述各种构件、组件、区域、层或部分,但是这些构件、组件、区域、层或部分不应被这些术语限制。相反,这些术语仅用于将一个构件、组件、区域、层或部分与另一构件、组件、区域、层或部分区分开。因此,在不脱离示例的教导的情况下,本文中描述的示例中提及的第一构件、组件、区域、层或部分也可以被称为第二构件、组件、区域、层或部分。
46.在整个说明书中,当组件被描述为“连接到”或“耦接到”另一组件时,它可以直接“连接到”或“耦接到”该另一组件,或者可以存在介于其间的一个或多个其他组件。相反,当元件被描述为“直接连接到”或“直接耦接到”另一元件时,可以不存在介于其间的其他元件。同样,也应以相同的方式理解例如“在...之间”和“直接在......之间”以及“与......相邻”和“与......紧邻”的类似表述。如本文中所使用的,术语“和/或”包括关联列出的项目中的任何一个和任何两个或更多个的任何组合。
47.本文中使用的术语仅用于描述各种示例而不用于限制本公开。除非上下文另外明确指示,否则冠词“一”、“一个”和“该”也意在包括复数形式。术语“和/或”包括关联列出的项目中的任何一个和任何两个或更多个的任何组合。术语“包括”、“包含”和“具有”表示存在所阐述的特征、数目、操作、构件、元件和/或其组合,但并不排除存在或添加一个或多个其他特征、数目、操作、构件、元件和/或其组合。在本文中,关于示例或实施例(例如,关于示例或实施例可以包括或实现什么)的术语“可以”的使用意味着存在至少一个示例或实施例,其中这样的特征是被包括或实现的,而所有示例不限于此。
48.除非另外定义,否则在本文中使用的所有术语(包括技术和科学术语)具有与本公开所属领域的普通技术人员基于对本技术的公开的理解通常所理解的含义相同的含义。诸如在常用词典中定义的术语应被解释为其含义与在相关技术和本技术的公开的上下文中的含义相同,而不应将被解释为理想的或过于正式的含义,除非在本文中明确如此定义。
49.在下文中,将参考附图来详细描述示例。当参考附图描述示例时,相同的附图标记表示相同的组件,并且将省略与其相关的重复描述。
50.图1示出了包括计时模块的电子设备的示例。
51.参考图1,电子设备100可以包括传感器110(例如,一个或多个传感器)、计时模块120、处理器130(例如,一个或多个处理器)、输出模块140(例如,包括显示器的用户界面)和存储器150(例如,一个或多个存储器)。例如,电子设备100可以基于通过多个传感器生成的感测数据来确定电子设备100的定位。电子设备100的定位可以包括电子设备100的姿态和位置中的一者或两者。电子设备100可以对通过多个传感器生成的感测数据执行传感器融合操作。电子设备100可以执行多个传感器的软件同步以执行传感器融合操作。例如,软件同步可以是在传感器融合操作中准确地监测传感器的感测时间、以及感测时间之间的差。电子设备100可以通过基于感测时间之间的差执行传感器融合操作来确定电子设备100的定位,而无需强制匹配传感器的感测测量时间。
52.传感器110可以包括多个传感器。多个传感器可以通过感测生成用于定位的感测数据。例如,多个传感器中的一个或多个可以是异构传感器,异构传感器生成与多个传感器中的其他传感器不同类型的感测数据。在多个传感器中,参考传感器可以是生成参考感测数据的传感器,参考感测数据用作定位的参考。其他传感器可以是生成除了参考感测数据之外的用于执行定位的其他感测数据的传感器。可以针对参考感测数据的感测时间点(例如,参考感测时间点)基于参考感测数据和其他感测数据来确定定位。
53.例如,参考传感器可以包括视觉传感器。作为非限制性示例,视觉传感器可以是用于执行基于视觉的感测的传感器,并且可以包括例如相机传感器、雷达传感器、激光雷达传感器和/或超声波传感器。相机传感器可以捕获相机图像。雷达传感器可以感测雷达数据。激光雷达传感器可以感测激光雷达图像。然而,示例不限于此。视觉传感器可以包括深度相机传感器、立体相机传感器、多相机传感器和/或单相机传感器。
54.其他传感器可以包括被配置为感测电子设备100的惯性的惯性测量单元(imu)、被配置为响应于接收到触发输入来执行感测的主动传感器、以及被配置为以预定间隔执行感测的被动传感器中的任何一个或任何两个或更多个的组合。imu可以是用于测量对其施加的惯性的传感器并且可以感测3轴加速度和/或3轴角速度。主动传感器可以响应于接收到触发输入来执行感测,因此可以基于接收到的触发输入不定期地生成感测数据。被动传感器可以按照根据其时钟的间隔执行感测,因此可以定期地生成感测数据。作为参考,计时模块120可以控制主动传感器的触发输入的时序并将触发输入施加到主动传感器。
55.在本文中,仅出于易于解释的目的来描述参考传感器是视觉传感器(例如,相机传感器)并且其他传感器是imu的示例。然而,参考传感器和其他传感器不限于此。
56.计时模块120可以独立于处理器130(稍后将描述的非限制性示例)以单独的时钟速率来操作,并且生成、记录、校准、存储和管理与电子设备100中的目标任务相关的时间信息。与目标任务相关的时间信息可以包括为各个感测数据确定的感测时间点、感测数据之
间的时间差(稍后将描述的非限制性示例)和任务延迟(稍后将描述的非限制性示例)。计时模块120可以存储各个感测数据的准确时间信息。计时模块120可以在目标任务的操作期间向处理器(例如,内部应用处理器130或外部设备的处理器)提供所存储的感测数据的时间信息。
57.目标任务可以是针对所确定的定位要执行的任务,并且可以包括要在针对电子设备100确定的定位处执行的一个或多个操作和/或计算。例如,当电子设备100是提供增强现实(ar)和/或虚拟现实(vr)的设备时,目标任务可以包括渲染将在针对电子设备100确定的定位处向用户提供的用于ar和/或vr的图像(例如,包括虚拟内容的图像)的操作。作为另一示例,当电子设备100被实现为机器人时,目标任务可以包括用于执行将在针对机器人确定的定位处执行的动作(例如,提供物品、语音引导和/或与周围对象交互(例如开门))的一系列操作(例如,识别周边和/或输出识别结果)。作为又一示例,当电子设备100安装在载具(例如,汽车、飞机和/或船只)上或者作为载具时,目标任务可以包括用于在针对电子设备100确定的定位处驾驶和/或飞行的操作(例如,识别周边并转向和/或根据识别结果控制速度)。然而,目标任务的示例不限于此。
58.计时模块120可以记录各个传感器的感测时间点(例如,时间戳)。例如,计时模块120可以基于计时模块120的时钟速率来确定通过多个传感器中的参考传感器的感测所生成的参考感测数据的感测时间点(例如,参考感测时间点)、以及其他传感器的其他感测数据的感测时间点(例如,其他感测时间点)。计时模块120可以分别记录和管理与参考感测时间点相对应的时间戳和与其他感测时间点相对应的时间戳。作为参考,计时模块120可以包括时钟生成电路,时钟生成电路以独立于处理器130的时钟(或其时钟速率)的时钟速率(例如,时钟频率)操作。计时模块120的时钟速率可以快于多个传感器的感测频率。一个或多个实施例的计时模块120可以独立于处理器130以快于传感器的感测频率的时钟速率来确定各个感测时间点,从而更准确地记录和管理感测时间点。例如,计时模块120的时钟速率可以比多个传感器的最快感测频率快100倍以上。然而,时钟速率的示例不限于此。
59.计时模块120还可以包括存储器,该存储器用于存储与目标任务相关的时间信息和用于时间信息的时序校准的时序校准信息。计时模块120可以通过使用时序校准信息校准感测时间点来计算(例如,确定)更精确的感测时间点。下面将参考图5描述时序校准信息的非限制性示例。
60.计时模块120可以计算参考感测数据的感测时间点和其他感测数据的感测时间点之间的时间差。例如,计时模块120可以基于参考感测时间点来计算与其他感测时间点的时间差,例如,因为电子设备100可以基于参考感测时间点来获得(例如,确定)定位(下面将描述其非限制性示例)。
61.计时模块120可以基于计时模块120的时钟速率来确定从参考感测数据的感测时间点到任务完成时间点的任务延迟。任务延迟可以是从参考感测时间点到任务完成时间点所花费的延迟时间。计时模块120可以记录任务完成时间点(例如,在渲染完成时的时间点),并且计算从紧接在任务启动之前的最后一个参考时间点到任务完成时间点的时间作为任务延迟。例如,当目标任务是渲染用于ar的图像时,任务完成时间点可以是渲染完成时的时间点。任务延迟可以包括渲染延迟。计时模块120可以确定从参考感测数据的感测时间点到用于ar的图像渲染完成时的时间点的渲染延迟。
62.处理器130可以基于计算出的时间差、参考感测数据和其他感测数据来获得针对参考感测数据的感测时间点确定的电子设备100的定位。处理器130可以获得针对定位所处理的任务结果。当目标任务是渲染用于ar的图像时,任务结果可以包括要在参考感测时间点的定位处向用户提供的渲染后的图像。例如,可以基于包括在定位中的电子设备100的位置和方位来确定与用户的视线方向相对应的视野。任务结果可以包括ar图像,该ar图像具有要向与视线方向相对应的视野提供的虚拟内容或在与视线方向相对应的视野中提供的虚拟内容。
63.处理器130可以基于任务延迟来校正根据电子设备100的定位所处理的任务结果,该电子设备100的定位是基于计算出的时间差、参考感测数据和其他感测数据,针对参考感测数据的感测时间点确定的。处理器130可以补偿任务结果中在参考感测时间点之后的任务期间改变的定位(例如,移动和方向改变)。例如,当目标任务是渲染用于ar的图像时,处理器130可以通过基于渲染延迟校正根据针对参考感测数据的感测时间点确定的电子设备的定位而渲染的图像来生成输出图像。
64.在示例中,处理器130可以被实现为应用处理器,该应用处理器包括主处理器和子处理器作为一个或多个处理器。如下面参考图2描述的,确定电子设备100的定位的操作和处理与确定的定位相对应的任务(例如,渲染)的操作可以由应用处理器执行。然而,示例不限于此。作为另一示例,如下面参考图7描述的,确定电子设备100的定位的操作和处理与确定的定位相对应的任务的操作可以由外部设备执行,并且电子设备100的处理器130可以从外部设备接收并获得确定的定位和根据定位的任务结果。
65.包括输出模块140的硬件可以输出基于任务延迟的校正后的任务结果。输出模块140可以根据任务结果的形式输出视觉信息、听觉信息和触觉信息中的任何一种或任何两种或更多种的任何组合。例如,当目标任务是渲染用于ar的图像时,输出模块140可以包括用于显示为了提供ar而生成的输出图像的显示器。例如,输出模块140可以生成用户界面并且使用所生成的用户界面来渲染图像。
66.存储器150可以存储指令,当该指令由处理器130执行时,该指令配置处理器130以执行处理器130的任何一个、任何组合或所有操作。存储器150可以包括例如随机存取存储器(ram)、动态ram(dram)、静态ram(sram)或相关技术领域中已知的其他类型的非易失性存储器。
67.一个或多个实施例的电子设备100可以在实际计算目标任务时基于多个传感器中的各个传感器的感测数据来获得关于或对应于参考感测时间点的定位(例如,姿态和位置),从而执行更精确的运动估计。此外,一个或多个实施例的电子设备100可以向用户提供补偿了从在参考感测时间点的定位确定到输出任务结果时的时间点的定位变化的结果(例如,校正后的任务结果),从而向用户提供更准确的结果。
68.如上所述,电子设备100可以包括独立于应用处理器的单独的计时模块120。计时模块120可以包括时钟生成电路,时钟生成电路以相对准确的时钟(例如,比传感器110中的一个或多个传感器的时钟更准确的时钟)来操作。计时模块120可以监控以下所有:传感器的操作时间、传感器的操作(例如,感测)所花费的时间以及处理器130和/或外部设备对目标任务的操作所花费的时间。因此,计时模块120可以基于监测的时间信息从传感器的感测时间点(例如,针对感测记录的时间戳)计算端到端延迟(例如,任务延迟)。因此,实现为测
量或控制运动的实时系统(例如,ar设备、同时定位和建图(slam)设备以及各种机械控制设备)的一个或多个实施例的电子设备100可以最小化由端到端操作中发生的端到端延迟引起的误差。
69.传感器融合可以实现包括在硬件中的传感器的严格时间同步。如上所述,一个或多个实施例的电子设备100可以通过计时模块120来为各个传感器记录和管理感测时间点,从而甚至将传感器融合应用于具有不同时钟速率的传感器。例如,当根据各个传感器的各自的时钟生成各个传感器的输出时,异构传感器的输出间隔可以是异步的。此外,商用传感器可能根据其自身的时钟速率周期性地输出和发送传感器数据,而安装在各个传感器中的时钟电路生成的时钟速率可能出现显著的误差。
70.除了各个传感器的时钟速率的误差或差异之外,出于电磁或通信原因,用于采样来自传感器的感测数据的间隔可能不同。例如,在通常用于手机中的低成本imu的情况下,时钟速率可能会根据情况变化高达约10%。根据对比例,一个或多个实施例的电子设备100可以通过对由imu感测的角速度或加速度进行积分来计算速度或姿态。当使用角速度或加速度的积分时,在使用imu数据的估计中时间参考的变化可以线性地反映在测量误差中。在相机传感器的情况下,即使以相同的每秒帧数(fps)捕获图像,各个相机传感器的快门速度和数据处理速率也可能不同。因此,可能针对每一个帧图像测量生成具有不同延迟和不同采样间隔的数据。这可能使得典型的电子设备难以从由第一相机传感器生成且具有不同延迟的数据中指定与通过第一相机传感器生成的数据同时测量的数据。作为参考,传感器(例如,相机传感器)的一部分可以被设计或配置为接收触发输入,但可能难以控制触发输入时序。
71.尽管存在上述误差,但是一个或多个实施例的电子设备100可以基于计时模块120的时钟速率来记录感测数据的准确的感测时间点,因此可以基于传感器融合来准确地执行定位操作(例如,slam)。一个或多个实施例的电子设备100甚至可以记录各个传感器的感测时间点,而不管存在或不存在触发,因此,可以确保在开发阶段中为电子设备100选择传感器的多样性和灵活性。
72.此外,一个或多个实施例的电子设备100还可以防止或有助于防止由于ar中发生的计算时间而导致的延迟问题。处理器130可以准确地管理通用操作系统(os)的任务调度结果以及在每一种情况下由计算量的差异引起的可变延迟,由此一个或多个实施例的电子设备100可以减少或最小化由端到端延迟引起的误差。
73.图2和图3示出了由电子设备在内部执行针对任务的操作的示例。
74.在图2中,示出了传感器210(例如,作为非限制性示例的图1的传感器110)包括第一传感器和第二传感器,计时模块220(例如,作为非限制性示例的图1的计时模块120)包括计时处理器221和存储器222,并且应用处理器230(例如,作为非限制性示例的图1的处理器130)包括主处理器231和子处理器232的示例。主处理器可以是中央处理单元(cpu),并且子处理器可以是图形处理单元(gpu)。然而,示例不限于此。图1的输出模块140可以被实现为显示器240。在下文中,主要描述了目标任务在于提供用于ar的ar图像的非限制性示例。
75.当目标任务是生成用于ar的ar图像时,电子设备200的主要操作可以包括确定定位的操作(例如,slam视觉)、在三维(3d)几何中对电子设备200的周围环境进行建模的操作(例如,在3d坐标中解释和/或建模物理对象、人和背景)、以及生成和渲染包括虚拟内容(例
如,虚拟对象)的ar图像的操作。确定定位的操作和在3d几何中对周围环境进行建模的操作可以由主处理器231执行。渲染ar图像可以由子处理器232执行。例如,应用处理器230的一个或多个处理器中的主处理器231可以基于以下各项来确定电子设备200的定位:针对参考感测数据(例如,第一感测数据)的感测时间点计算的时间差(例如,从第一感测到第二感测的感测时间点之间的差)、参考感测数据(例如,第一感测数据)、以及其他感测数据(例如,第二感测数据)。一个或多个处理器中的子处理器232可以生成渲染后的图像作为针对定位的任务结果。下面将描述包括主处理器231和子处理器232的电子设备200自主执行任务相关操作的示例。
76.例如,在操作311中,第一传感器211可以通过执行第一感测来生成第一感测数据。计时模块220可以响应于第一感测的发生来接收第一感测的感测触发(例如,第一传感器211可以响应于第一感测的执行来生成并向计时模块220发送第一感测的感测触发)。感测触发可以是来自每一个传感器的用于通知计时模块220感测数据的生成的信号,并且可以例如指示对应的传感器已经完成了捕获图像和/或已经感测到加速度。在操作312中,计时模块220可以针对第一感测数据确定并记录接收到感测触发的时钟定时的时间戳。下面将参考图4和图5描述记录时钟定时和时间戳的非限制性示例。在操作321中,第二传感器212可以通过执行第二感测来生成第二感测数据。计时模块220可以响应于第二感测的发生来接收第二感测的感测触发。在操作322中,计时模块220可以基于计时模块220的时钟速率来确定并记录第二感测数据的时间戳。作为参考,计时模块220可以基于计时处理器221的时钟速率来确定上述感测时间点,并将确定的感测时间点存储在存储器222中。
77.在操作313和323中,第一传感器211和第二传感器212可以各自向主处理器231发送感测数据。作为参考,为了易于解释,作为示例,在图2和图3中仅示出了第一传感器211和第二传感器212。然而,示例不限于此。在本说明书中,传感器210可以包括n个传感器,其中n可以是大于或等于“2”的整数。
78.作为参考,计时模块220可以生成触发输入并将触发输入提供给第一传感器211和第二传感器212中的能够接收(或被配置为接收)触发输入的传感器(例如,主动传感器)。被配置为接收触发输入的传感器可以响应于接收到触发输入来执行感测。因此,触发输入的时序也可以基于计时模块220的时钟速率来确定。在本说明书中,相机传感器被描述为第一传感器211(例如,参考传感器)的示例。然而,示例不限于此。诸如雷达传感器和激光雷达传感器之类的其他视觉传感器也可以以与相机传感器相同的方式作为参考传感器来操作。
79.在操作331中,计时模块220可以针对每一个感测数据计算时间差。例如,计时模块220可以基于第一传感器211的最后一个时间戳来计算感测数据之间的时间差。计时模块220可以基于直到定位被确定所收集到的第一感测数据的最后一个感测时间点(例如,第一感测数据的时间戳)(即,最新感测时间点(例如,最新参考时间点))来计算并记录与其他感测数据的感测时间点(例如,第二感测数据的时间戳)的时间差。
80.在操作332中,计时模块220可以向主处理器231发送时间相关的信息。例如,计时模块220可以向主处理器231发送针对感测数据监测的时间信息(例如,针对每一个感测数据的时间戳和计算出的感测数据之间的时间差)。作为参考,计时模块220可以一次发送所有时间信息。然而,示例不限于此。在主处理器231和子处理器232执行任务的操作的同时,可以选择性地向主处理器231和/或子处理器232提供针对每个操作所请求的时间信息的一
部分。
81.在操作333中,电子设备200的主处理器231可以基于上述时间信息来确定设备在第一传感器211(例如,参考传感器)的参考感测时间点(例如,第一感测数据的时间戳)的定位。主处理器231可以基于参考感测时间点中的时间上最接近定位时间点(例如,最新参考感测时间点)的时间点来确定电子设备200的定位。定位时间点可以是电子设备200启动用于确定定位的操作的时间点。在操作334中,主处理器231可以向子处理器232发送确定的定位(例如,ar设备定位)。
82.在操作341中,子处理器232可以基于确定的定位来渲染参考感测时间点(例如,第一感测数据的时间戳)的图像。例如,子处理器232可以渲染和生成与在参考感测时间点的电子设备200的定位中的视野相对应的ar图像。在操作342中,子处理器232可以向计时模块220发送渲染完成触发。例如,响应于生成渲染后的图像,子处理器232可以通知计时模块220渲染完成。在操作343中,计时模块220可以基于计时模块220的时钟速率来确定渲染完成时间点。
83.在操作351中,计时模块220可以计算从最新参考感测时间点(例如,第一感测数据的时间戳)到渲染完成时间点的渲染延迟。例如,计时模块220可以通过从渲染完成时间点减去最新参考感测时间点来计算渲染延迟。在操作352中,计时模块220可以向主处理器231发送计算出的渲染延迟。在操作353中,主处理器231可以通过基于计算出的渲染延迟补偿渲染后的图像来生成输出图像。例如,在操作353中,主处理器231可以执行延迟补偿操作239。延迟补偿操作239可以包括基于与从参考感测数据的感测时间点到任务完成时间点的任务延迟期间电子设备200的定位变化相对应的旋转变换、平移和缩放变化中的任何一个或任何两个或更多个的组合的扭曲。作为参考,描述了延迟补偿操作239由应用处理器230的处理器中的一个来执行,但不限于此,并且可以由电子设备中的另一单独的处理器(例如,用于延迟补偿的专用处理器)来执行。在操作354中,主处理器231可以向显示器240发送校正后的图像。在操作355中,显示器240可以显示生成的输出图像。
84.电子设备200可以在ar和混合现实(mr)领域中以低延迟匹配真实对象的坐标和虚拟对象的坐标。一个或多个实施例的电子设备200可以在移动计算和/或边缘计算中实现低延迟,从而防止由于延时导致的真实对象和虚拟对象之间的坐标不匹配。为了防止坐标不匹配,以与电子设备200中的主处理器231和子处理器232的时钟分开的时钟操作的一个或多个实施例的计时模块220可以单独管理与定位相关的时间信息,并向主处理器231提供用于单个操作的时间信息。
85.图4和图5示出了由计时模块确定时间戳的示例。
86.计时模块(例如,计时模块120和计时模块220中的一者或两者)可以基于计时处理器(例如计时处理器221)的时钟速率来确定基于所有传感器的感测所生成的感测数据的感测时间点。计时模块可以针对每个生成的感测数据记录基于计时模块的时钟速率确定的时间戳。例如,可以基于一个传感器的第k个感测来生成第k个感测数据。计时模块可以从传感器接收指示第k个感测数据的生成的感测触发。这里,k可以是大于或等于“1”的整数。计时模块可以确定紧接在接收到感测触发之后的时钟定时(例如,一旦接收到感测触发就生成的下一个时钟定时)作为对应的感测数据的感测时间点。感测时间点可以被记录为时间戳。包括在电子设备中的所有传感器都有其自身的时钟电路,并且可以以预定的间隔(例如,根
据各自的时钟电路确定的时钟速率的间隔)感测、生成和发送数据。当各个传感器的输出根据各自的时钟生成时,各个传感器的输出间隔可以是异步的。
87.图4示出了确定被动传感器(例如,作为非限制性示例的第二传感器212)的感测时间点的示例操作。将描述被动传感器是imu的示例。imu可以是测量惯性的传感器,并且可以感测例如3轴加速度和/或3轴角速度。imu可以以独立的时钟420操作,并且imu可以以比相机传感器(例如,作为非限制性示例的第一传感器211)更快的速率操作。当imu是低价格传感器时,imu可以在没有触发器的情况下以预定的时钟速率操作。imu可以根据其自身的时钟速率通过在每个间隔感测施加到电子设备的3轴加速度和/或3轴角速度来生成imu数据作为感测数据。当imu是低价格传感器时,imu的时钟误差可能大约高达10%。响应于从imu接收到imu数据的感测触发421,计时模块可以存储时间戳(例如,第二感测数据的时间戳),该时间戳指示感测触发421之后根据计时处理器的时钟速率更新的最新(例如,下一个后续)定时411作为imu数据的感测时间点429。
88.作为参考,当计时模块的时钟410足够快时,imu数据的实际生成时间与时间戳指示的感测时间点之间的差异490可以是微不足道的。例如,当计时模块的时钟410比imu的时钟420快时,可以忽略误差。例如,计时模块的时钟速率可以比多个传感器的最快采样速率快100倍以上,因此可以忽略误差。计时模块可以具有优于imu的误差级别的时钟速率。
89.图5示出了确定视觉传感器中的相机传感器的感测时间点的操作。
90.根据示例,电子设备的参考传感器(例如,作为非限制性示例的第一传感器211)可以包括视觉传感器中的捕获相机图像的相机传感器。相机传感器可以通过捕获场景来生成图像数据(例如,相机数据)。相机传感器可以以预定的每秒帧数(fps)执行连续拍摄。在图5中,示出了计时模块的时钟510和相机传感器的感测时间轴520。
91.类似于以上参考图4描述的imu,计时模块可以针对相机传感器使用最新时钟时间点(例如,第一感测数据的时间戳)。例如,可以将相机传感器的相机感测数据的感测时间点确定为指示在感测触发521之后计时模块的时钟定时511的时间戳,其中感测触发521指示获得了第k张图像。例如,响应于从相机传感器接收到相机感测数据的感测触发521,计时模块可以存储以下时间戳作为相机感测数据的感测时间点,该时间戳指示在接收到感测触发521之后根据计时模块自身的时钟速率更新的最新时间。因此,计时模块可以基于相机数据读取完成时的时间点的时钟定时来记录第k个图像数据的感测时间点。计时模块可以被设计为具有比包括相机传感器在内的传感器的采样速率(例如,数据生成频率)快得多的时钟速率。
92.然而,示例不限于此。另外,可以校准相机数据的感测时间点。例如,计时模块可以基于相机图像的曝光时间522和读取时间523中的一者或两者来校准相机传感器的感测时间点。例如,相机数据的生成时间点524可以被视为对应于曝光时间522的中值的时间点524。另一方面,相机感测数据的感测触发可以在经过曝光时间522和读取时间523并且读取完成之后发生。换句话说,相机感测数据的生成时间点524与相机感测数据的读取时间点之间可能发生差异。相机感测数据的生成时间点524与相机感测数据的读取时间点之间的差可以由计时模块计算为校准时间525。根据图5所示的示例,例如,相机感测数据的生成时间点524与读取时间点之间的差可以表示为下面的等式1。
93.等式1:
[0094][0095]
在上面的等式1中,相机感测数据的生成时间点524可以被假定为对应于曝光时间的一半的时间点。当读取时间和曝光时间给定时,计时模块可以校准相机数据的感测时间点。
[0096]
例如,相机传感器可以向计时模块提供表示曝光时间522的曝光值。计时模块可以将曝光时间522存储在存储器(例如,存储器222)中。计时模块可以通过从紧接在感测触发521发生之后的时钟定时511中减去对应于曝光时间522的一半的时间来确定相机感测数据的校准后的感测时间点。
[0097]
此外,可以假设读取时间523对于相机传感器的每次捕获都是恒定的。计时模块可以预先将针对相机传感器测量的读取时间523存储在存储器中。计时模块可以通过从紧接在感测触发521发生之后的时钟定时511中减去校准时间525(例如,读取时间523和曝光时间522的一半的总和)来确定针对相机感测数据更精确校准的感测时间点529。
[0098]
图6示出了用于由电子设备确定定位、渲染和显示输出图像的时序的示例。
[0099]
电子设备的计时模块620可以确定传感器610的感测数据的感测时间点。例如,计时模块620可以分别针对相机传感器611、imu 612、被动传感器613和主动传感器614确定感测时间点。作为非限制性示例,电子设备可以对应于图1至图5中的任何一个、任何组合或所有电子设备。
[0100]
在操作601中,计时模块620可以在由主处理器631启动定位时确定定位时间戳。可以基于在直到执行定位时的时间点所收集的参考感测数据的感测时间点(例如,参考感测时间点)中的最新参考感测时间点的参考感测数据来确定定位时间戳。视觉传感器的感测时间点可以是定位的参考感测时间点。如上所述,参考感测数据可以是由作为视觉传感器的相机传感器611感测的相机感测数据。
[0101]
在操作602中,主处理器631(例如,作为非限制性示例的图2的主处理器231)可以基于定位时间戳来确定定位。例如,主处理器631可以基于传感器610基于与定位时间戳相对应的时间点的各个感测数据和感测时间点来确定电子设备在定位时间戳处的定位(例如,姿态和位置)。
[0102]
在操作603中,响应于确定关于定位时间戳的定位,主处理器631可以指示任务的启动(例如,渲染)。例如,主处理器631可以指示子处理器632(例如,图2的子处理器232)启动渲染。
[0103]
在操作604中,计时模块620可以基于计时处理器(例如,计时模块620的计时处理器)的时钟速率来确定并记录指示渲染完成的时间点。计时模块620可以计算渲染延迟,渲染延迟是从定位时间戳到渲染完成所花费的时间。因此,计时模块620可以计算渲染延迟,渲染延迟包括从与在操作601中确定的定位时间戳相对应的时间点开始的渲染启动时间点、以及从渲染启动时间点到渲染完成时间点的时间。
[0104]
在操作606中,主处理器631可以基于渲染延迟来扭曲渲染的图像。主处理器631可以预测电子设备从定位时间戳到渲染完成时间点的定位变化,并执行与预测的定位变化相对应的扭曲。主处理器631可以通过扭曲渲染的图像来生成输出图像。扭曲可以是变换包括在渲染的图像中的像素的坐标系的操作,下面将参考图9描述其非限制性示例。
[0105]
在操作609中,显示器640(例如,图2的显示器240)可以显示输出图像。例如,显示器640可以通过在透明或半透明材料上形成图像来向用户提供输出图像。输出图像可以包括由第一图像(例如,左图像)和第二图像(例如,右图像)构成的对,并且显示器640可以朝向对应于用户左眼的部分和对应于用户右眼的部分分别提供第一图像和第二图像,从而向用户提供具有深度的立体图像。
[0106]
如上所述,电子设备可以通过计时模块620监控并记录数据计算完成时的时间点(例如,渲染的图像被发送到显示器的时刻)。因此,电子设备可以直接计算从传感器感测到渲染完成的端到端延迟(延时)。一个或多个实施例的电子设备可以减小由图6中描述的渲染延迟引起的误差,以及由图1至图5中描述的传感器610的感测时间点之间的差引起的误差。因此,一个或多个实施例的电子设备可以大大减小在电子设备移动的情况下的识别和渲染误差。
[0107]
图7和图8示出了由电子设备向外部服务器请求针对任务的操作的示例。
[0108]
在图7所示的电子设备700中,包括第一传感器711和第二传感器712的传感器710、包括计时处理器721和存储器722的计时模块720、以及显示器740可以与以上在图2中描述的类似地操作,因此将省略其描述。例如,作为非限制性示例,电子设备700可以对应于图1至图6中的任何一个、任何组合或所有电子设备。在示例中,与图2所示的电子设备200不同,图7的电子设备700可以向分开的计算设备760(例如,外部设备)请求针对目标任务的一系列计算。分开的计算设备760可以实现为边缘计算设备或云服务器,其具有针对目标任务的操作的主处理器761和子处理器762。
[0109]
电子设备700还可以包括通信模块750。通信模块750的发送器751可以向外部设备(例如,分开的计算设备760)发送多个传感器710的感测数据的感测时间点和感测数据之间的时间差。通信模块750的接收器752可以从外部设备接收任务结果。
[0110]
计时模块720可以基于接收到任务结果时的时间点来计算任务延迟。任务延迟可以包括根据通信模块750的通信的发送延时和接收延时、以及由外部设备执行任务时的时间段。因此,电子设备700可以仅计算包括由于通信而导致的延时在内的准确时间信息,并且分开的计算设备760可以执行针对目标任务的操作,由此可以提高所有计算的效率。
[0111]
将参考图8更详细地描述电子设备700和外部设备的操作。
[0112]
例如,在操作813中,第一传感器711和第二传感器712可以向通信模块750发送感测数据。通信模块750可以向分开的计算设备760的主处理器761发送感测数据。
[0113]
在操作831中,计时模块720可以基于第一传感器711的最后时间戳来计算感测数据之间的时间差。在操作832中,通信模块750可以向分开的计算设备760发送计算出的时间差和包括各个感测数据的感测时间点在内的时间信息。在操作833中,分开的计算设备760的主处理器761可以确定电子设备700在最后时间戳处的定位。在操作834中,主处理器761可以向子处理器762发送ar设备(例如,电子设备700)的定位。
[0114]
在操作841中,子处理器762可以针对确定的定位渲染图像。在操作842中,通信模块750可以从分开的计算设备760接收渲染的图像。在操作843中,计时模块720可以将通信模块750接收到渲染的图像时的时间点确定为渲染完成时间点。
[0115]
在操作851中,计时模块720可以确定从与定位时间点相对应的时间戳到接收到渲染的图像时的时间点的渲染延迟。在操作852中,计时模块720可以向处理器730发送计算出
的渲染延迟。在操作853中,处理器730可以使用计算出的渲染延迟来校正渲染的图像。例如,处理器730可以执行延迟补偿操作731(例如,图像扭曲)。在操作854中,处理器730可以向显示器740发送校正后的图像(例如,输出图像)。在操作855中,显示器740可以输出校正后的图像。
[0116]
图9示出了由电子设备基于渲染延迟来校正图像以提供增强现实(ar)的示例。
[0117]
电子设备900可以实现为如图9所示的ar眼镜设备。如以上参考图1至图8描述的,电子设备900可以基于渲染延迟来校正渲染的图像。电子设备900的一个或多个处理器可以基于与从参考感测数据的感测时间点到任务完成时间点的任务延迟期间电子设备900的定位变化相对应的旋转变换、平移和缩放变化中的任何一个或任何两个或更多个的任何组合来执行扭曲。旋转变换、平移和缩放变化可以表示为电子设备900的视图之间的坐标变换矩阵。电子设备900的视图可以根据电子设备900的定位(例如,姿态和位置)而变化,并且可以对应于例如由电子设备900的视觉传感器(例如,相机传感器)观察到的方向和位置。换句话说,电子设备900的视图可以被解释为与相机视图相对应,并且视图之间的坐标变换矩阵可以类似地表示为外部相机校准的坐标变换矩阵。电子设备900的一个或多个处理器可以执行以上关于图1至图8描述的任何一个、任何组合或所有操作。此外,电子设备900的一个或多个存储器可以存储指令,当该指令由一个或多个处理器执行时,该指令将一个或多个处理器配置为执行以上关于图1至图8描述的任何一个、任何组合或所有操作。例如,作为非限制性示例,电子设备900可以对应于图1至图8中的任何一个、任何组合或所有电子设备。
[0118]
扭曲可以是通过对渲染的图像应用坐标变换矩阵来生成输出图像的操作,该坐标变换矩阵包括旋转变换参数、平移参数和缩放变化参数中的任何一个或任何组合。基于渲染延迟所计算的坐标变换矩阵可以将根据第一坐标系的坐标变换为根据第二坐标系的坐标,其中第一坐标系与位于在定位时间戳确定的定位处的视图(例如,第一视图方向)相对应,第二坐标系与位于在渲染完成时间点预测的定位处的视图(例如,第二视图方向)相对应。电子设备900可以将包括根据第一坐标系生成的虚拟内容在内的ar图像中的每个像素的坐标旋转和平移为根据上述第二坐标系的坐标。
[0119]
例如,在图9中,电子设备900可以在面向第一视图方向911时确定定位时间戳。此后,在执行渲染的同时,电子设备900的定位可以从第一视图方向911变化为第二视图方向912。视图方向可以是电子设备900的参考向量所面对的方向,例如,由视觉传感器(例如,相机传感器)观察的方向。电子设备900可以执行扭曲950,以将在与第一视图方向911相对应的第一坐标系中生成的虚拟内容的坐标变换到与第二视图方向912相对应的第二坐标系中。因此,尽管渲染延迟期间发生了定位变化919,但是电子设备900可以在精确匹配真实对象990(例如,桌子)的世界坐标中输出虚拟内容991。
[0120]
图10示出了独立管理和使用用于定位的感测时间点的方法。
[0121]
首先,在操作1010中,电子设备可以通过多个传感器的感测来生成用于定位的感测数据。例如,电子设备可以通过执行以下操作中的一个来生成参考感测数据:由相机传感器捕获相机图像的操作、由雷达传感器感测雷达数据的操作、以及由激光雷达传感器感测激光雷达图像的操作。电子设备可以基于相机图像的曝光时间和读取时间中的一者或两者来校准相机传感器的感测时间点。此外,电子设备可以通过执行以下操作中的任何一个或任何两个或更多个的组合来生成其他感测数据:由imu感测电子设备的惯性的操作、由主动
传感器响应于接收到触发输入来执行感测的操作、以及由被动传感器以预定间隔执行感测的操作。
[0122]
在操作1020中,电子设备可以基于计时模块的时钟速率,来确定通过多个传感器中的参考传感器的感测所生成的参考感测数据的感测时间点和其他传感器的其他感测数据的感测时间点。
[0123]
在操作1030中,电子设备可以计算参考感测数据的感测时间点与其他感测数据的感测时间点之间的时间差。
[0124]
在操作1040中,电子设备可以基于计时模块的时钟速率来确定从参考感测数据的感测时间点到任务完成时间点的任务延迟。例如,电子设备可以确定从参考感测数据的感测时间点到完成用于ar的图像渲染时的时间点的渲染延迟。
[0125]
在操作1050中,电子设备可以基于任务延迟来校正根据电子设备的定位所处理的任务结果,该电子设备的定位是基于计算出的时间差、参考感测数据和其他感测数据,针对参考感测数据的感测时间点确定的。例如,电子设备可以通过基于渲染延迟校正根据电子设备的定位所渲染的图像来生成输出图像,该电子设备的定位是针对参考感测数据的感测时间点确定的。如参考图9所描述的,电子设备可以基于与从参考感测数据的感测时间点到任务完成时间点的任务延迟期间电子设备的定位变化相对应的旋转变换、平移和缩放变化中的任何一个或任何两个或更多个的任何组合来执行扭曲。
[0126]
例如,电子设备可以基于计算出的时间差、参考感测数据和其他感测数据来确定参考感测数据的感测时间点的电子设备的定位。电子设备可以生成渲染的图像作为针对定位的任务结果。
[0127]
作为另一示例,电子设备可以向外部设备(例如,分开的计算设备)请求渲染并且从外部设备接收渲染的图像。在这种情况下,在上述操作1030中,电子设备可以向外部设备发送多个传感器的感测数据的感测时间点和时间差。此外,在操作1040中,电子设备可以从外部设备接收任务结果并且基于接收到任务结果时的时间点来计算任务延迟。
[0128]
在操作1060中,电子设备可以输出基于任务延迟的校正的任务结果。例如,电子设备可以在显示器上显示输出图像。
[0129]
电子设备的操作不限于以上描述,并且可以与以上参考图1至图9描述的操作一起以并行方式或按照时间顺序执行。
[0130]
该电子设备可以应用于安装有需要时间同步的传感器系统的任何类型的设备。计时模块可以实现为芯片形式的硬件,也可以是硬件和软件的组合。在示例中,电子设备可以实现为配备有相机和imu的无线通信设备、用于车辆的传感器系统和ar设备。此外,该电子设备可以应用于机器人控制系统、以及所有电子系统的机器/航空/海事控制。
[0131]
一个或多个实施例的电子设备可以测量并记录由每个传感器测量的数据的准确时间以及使用测量的数据的操作结果的准确生成时间。一个或多个实施例的电子设备可以使用测量的时间来校正运动估计中的误差并且改善渲染结果的延迟。为了准确计算估计的延时,一个或多个实施例的电子设备可以根据传感器的特性存储并校准预先计算的测量时间误差(例如,校准信息)。
[0132]
电子设备、传感器、计时模块、处理器、输出模块、第一传感器、第二传感器、存储器、主处理器、子处理器、显示器、计时处理器、通信模块、发送器、接收器、分开的计算设备、
相机传感器、imu、被动传感器、主动传感器、电子设备100、传感器110、计时模块120、处理器130、输出模块140、存储器150、电子设备200、传感器210、第一传感器211、第二传感器212、计时模块220、处理器221、存储器222、处理器230、主处理器231、子处理器232、显示器240、传感器610、相机传感器611、imu 612、被动传感器613、主动传感器614、计时模块620、主处理器631、子处理器632、显示器640、电子设备700、传感器710、第一传感器711、第二传感器712、计时模块720、计时处理器721、存储器722、处理器730、显示器740、通信模块750、发送器751、接收器752、分开的计算设备760、主处理器761、子处理器762、电子设备900、以及在本文中关于图1至图10描述的其他装置、单元、模块、设备和组件由硬件组件实现或代表硬件组件。在适当的情况下可以用于执行本技术中所描述的操作的硬件组件的示例包括控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器、以及被配置为执行本技术中所描述的操作的任何其他电子组件。在其他示例中,执行本技术中所描述的操作的一个或多个硬件组件由计算硬件(例如,由一个或多个处理器或计算机)实现。处理器或计算机可以由一个或多个处理元件(例如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器、或被配置为以定义的方式响应并执行指令以实现期望的结果的任何其他设备或设备的组合)来实现。在一个示例中,处理器或计算机包括(或连接到)存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可以执行指令或软件,例如,操作系统(os)和在os上运行的一个或多个软件应用,以执行本技术中描述的操作。硬件组件还可以响应于指令或软件的执行来访问、操纵、处理、创建和存储数据。为了简洁起见,在本技术中描述的示例的描述中可以使用单数术语“处理器”或“计算机”,但是在其他示例中可以使用多个处理器或计算机,或者处理器或计算机可以包括多个处理元件、或多种类型的处理元件、或两者兼有。例如,单个硬件组件或者两个或更多个硬件组件可以由单个处理器、或两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可以由一个或多个处理器、或处理器和控制器来实现,并且一个或多个其他硬件组件可以由一个或多个其他处理器或另一处理器和另一控制器来实现。一个或多个处理器或者处理器和控制器可以实现单个硬件组件、或者两个或更多个硬件组件。硬件组件可以具有不同的处理配置中的任一种或多种,该处理配置的示例包括单处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理、和多指令多数据(mimd)多处理。
[0133]
图1至图10所示的执行本技术中描述的操作的方法是通过计算硬件来执行的,例如,由一个或多个处理器或计算机执行,如上所述实施为执行指令或软件以执行在本技术中描述的由所述方法执行的操作。例如,单个操作或者两个或更多个操作可以由单个处理器、或者两个或更多个处理器、或者处理器和控制器执行。一个或多个操作可以由一个或多个处理器或者处理器和控制器执行,并且一个或多个其他操作可以由一个或多个其它处理器或者另一处理器和另一控制器执行。一个或多个处理器或者处理器和控制器可以执行单个操作或者两个或更多个操作。
[0134]
用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上所述的方法的指令或软件可以被编写为计算机程序、代码段、指令或其任何组合,用于单独或共同指示或配置一个或多个处理器或计算机以作为机器或专用计算机操作从而执行
由上述硬件组件和方法执行的操作。在一个示例中,指令或软件包括由一个或多个处理器或计算机直接执行的机器代码,例如由编译器产生的机器代码。在另一个示例中,指令或软件包括由一个或多个处理器或计算机使用解释器执行的更高级的代码。可以基于附图中所示出的框图和流程图以及说明书中的对应的描述(其公开了用于执行由硬件组件执行的操作和如上所述的方法的算法),使用任何编程语言来编写指令或软件。
[0135]
用于控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构可以被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中或其上。非暂时性计算机可读存储介质的示例包括:只读存储器(rom)、可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd+r、cd-rw、cd+rw、dvd-rom、dvd-r、dvd+r、dvd-rw、dvd+rw、dvd-ram、bd-rom、bd-r、bd-r lth、bd-re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态驱动器(ssd)、闪存、卡类型的存储器(比如,多媒体卡或微型卡(例如,安全数字(sd)或极限数字(xd)))、磁带、软盘、磁光数据存储设备、光学数据存储设备、硬盘、固态盘以及任何其他设备,所述任何其他设备被配置为以非暂时性方式存储指令或软件以及任何相关数据、数据文件和数据结构,并且向一个或多个处理器或计算机提供指令或软件以及任何相关数据、数据文件和数据结构,使得一个或多个处理器或计算机可以执行所述指令。在一个示例中,指令或软件以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得一个或多个处理器或计算机以分布方式存储、访问和执行所述指令和软件以及任何相关联的数据、数据文件和数据结构。
[0136]
尽管本公开包括特定示例,但是在理解了本技术的公开内容之后将显而易见的是,在不脱离权利要求及其等同物的精神和范围的情况下,可以对这些示例进行形式和细节上的各种改变。本文描述的示例应仅被认为是描述性的,而不是为了限制的目的。每个示例中的特征或方面的描述被认为适用于其他示例中的类似特征或方面。如果所描述的技术以不同的顺序执行和/或如果所描述的系统、架构、设备或电路中的组件以不同的方式组合和/或被其他组件或其等同物替换或补充,则可以实现合适的结果。

技术特征:
1.一种电子设备,包括:计时处理器,被配置为:基于所述计时处理器的时钟速率,确定通过多个传感器中的参考传感器的感测所生成的参考感测数据的感测时间点、以及所述多个传感器中的其他传感器的其他感测数据的感测时间点;确定所述参考感测数据的感测时间点与所述其他感测数据的感测时间点之间的时间差;并且基于所述计时处理器的时钟速率,确定从所述参考感测数据的感测时间点到任务完成时间点的任务延迟;以及一个或多个其他处理器,被配置为:基于所述任务延迟来校正根据所述电子设备的定位所处理的任务结果,所述电子设备的所述定位是基于所确定的时间差、所述参考感测数据和所述其他感测数据,针对所述参考感测数据的感测时间点确定的。2.根据权利要求1所述的电子设备,还包括:多个传感器,被配置为生成所述参考感测数据和所述其他感测数据;以及输出接口,被配置为输出基于所述任务延迟的校正后的任务结果。3.根据权利要求1所述的电子设备,其中,对于确定所述任务延迟,所述计时处理器进一步被配置为:确定从所述参考感测数据的感测时间点到完成用于增强现实ar的图像渲染时的时间点的渲染延迟,并且对于所述校正,所述一个或多个其他处理器进一步被配置为:通过基于所述渲染延迟校正根据所述电子设备的定位所渲染的图像来生成输出图像,所述电子设备的所述定位是针对所述参考感测数据的感测时间点确定的。4.根据权利要求1所述的电子设备,其中,所述参考传感器包括以下视觉传感器中的任何一个或任何两个或更多个的任何组合:被配置为捕获相机图像的相机传感器、被配置为感测雷达数据的雷达传感器、以及被配置为感测激光雷达图像的激光雷达传感器。5.根据权利要求1所述的电子设备,其中对于生成所述参考感测数据,所述参考传感器包括被配置为捕获相机图像的相机传感器,并且对于确定所述参考感测数据的感测时间点,所述计时处理器进一步被配置为:基于所述相机图像的曝光时间和读取时间中的一者或两者来校准所述相机传感器的感测时间点。6.根据权利要求1所述的电子设备,其中,所述电子设备的定位包括所述电子设备的姿态和位置中的一者或两者。7.根据权利要求1所述的电子设备,其中,对于所述校正,所述一个或多个其他处理器进一步被配置为:基于与从所述参考感测数据的感测时间点到所述任务完成时间点的所述任务延迟期间所述电子设备的定位变化相对应的旋转变换、平移和缩放变化中的任何一个或任何两个或更多个的任何组合来执行扭曲。8.根据权利要求1所述的电子设备,其中,所述其他传感器包括以下项中的任何一个或任何两个或更多个的任何组合:被配置为感测所述电子设备的惯性的惯性测量单元imu、被配置为响应于接收到触发输入来执行感测的主动传感器、以及被配置为以预定间隔执行感测的被动传感器。
9.根据权利要求1所述的电子设备,其中,对于所述校正,所述一个或多个其他处理器中的主处理器被配置为:基于所述所确定的时间差、所述参考感测数据和所述其他感测数据来确定所述电子设备针对所述参考感测数据的感测时间点的所述定位,并且所述一个或多个其他处理器中的子处理器被配置为:生成渲染的图像作为针对所述定位的任务结果。10.根据权利要求1所述的电子设备,还包括:通信模块,被配置为:对于确定所述时间差,向外部设备发送所述多个传感器的感测数据的感测时间点和所述时间差,并且从所述外部设备接收所述任务结果,其中,所述计时处理器进一步被配置为:对于确定所述任务延迟,基于接收到所述任务结果时的时间点来确定所述任务延迟。11.根据权利要求10所述的电子设备,其中,所述任务延迟包括根据所述通信模块的通信的发送延时和接收延时、以及所述外部设备执行任务时的时间段。12.一种处理器实现的方法,包括:基于计时处理器的时钟速率,确定通过多个传感器中的参考传感器的感测所生成的参考感测数据的感测时间点、以及所述多个传感器中的其他传感器的其他感测数据的感测时间点;确定所述参考感测数据的感测时间点与所述其他感测数据的感测时间点之间的时间差;基于所述计时处理器的时钟速率,确定从所述参考感测数据的感测时间点到任务完成时间点的任务延迟;以及基于所述任务延迟来校正由一个或多个其他处理器根据所述电子设备的定位所处理的任务结果,所述电子设备的所述定位是基于所确定的时间差、所述参考感测数据和所述其他感测数据,针对所述参考感测数据的感测时间点确定的。13.根据权利要求12所述的方法,还包括:由多个传感器生成所述参考感测数据和所述其他感测数据;以及输出基于所述任务延迟的校正后的任务结果。14.根据权利要求12所述的方法,其中,确定所述任务延迟包括:确定从所述参考感测数据的感测时间点到完成用于增强现实ar的图像渲染时的时间点的渲染延迟,并且所述校正包括:通过基于所述渲染延迟校正根据所述电子设备的定位所渲染的图像来生成输出图像,所述电子设备的所述定位是针对所述参考感测数据的感测时间点确定的。15.根据权利要求12所述的方法,其中,生成所述参考感测数据包括通过执行以下操作中的任何一项或任何两项或更多项的任何组合来生成所述参考感测数据:由所述参考传感器中的相机传感器捕获相机图像的操作、由所述参考传感器中的雷达传感器感测雷达数据的操作、以及由所述参考传感器中的激光雷达传感器感测激光雷达图像的操作。16.根据权利要求12所述的方法,其中,生成所述参考感测数据包括:由作为所述参考传感器的相机传感器捕获相机图像,并且
确定所述参考感测数据的感测时间点包括:基于所述相机图像的曝光时间和读取时间中的一者或两者来校准所述相机传感器的感测时间点。17.根据权利要求12所述的方法,其中,所述电子设备的定位包括所述电子设备的姿态和位置中的一者或两者。18.根据权利要求12所述的方法,其中,所述校正包括:基于与从所述参考感测数据的感测时间点到所述任务完成时间点的所述任务延迟期间所述电子设备的定位变化相对应的旋转变换、平移和缩放变化中的任何一个或任何两个或更多个的任何组合来执行扭曲。19.根据权利要求12所述的方法,其中,生成所述其他感测数据包括通过执行以下操作中的任何一项或任何两项或更多项的任何组合来生成所述其他感测数据:由所述传感器中的惯性测量单元imu感测所述电子设备的惯性的操作、由所述传感器中的主动传感器响应于接收到触发输入来执行感测的操作、以及由所述传感器中的被动传感器以预定间隔执行感测的操作。20.根据权利要求12所述的方法,其中,所述校正包括:基于所述所确定的时间差、所述参考感测数据和所述其他感测数据来确定所述电子设备针对所述参考感测数据的感测时间点的所述定位,以及生成渲染的图像作为针对所述定位的任务结果。21.根据权利要求12所述的方法,其中,确定所述时间差包括向外部设备发送所述多个传感器的感测数据的感测时间点和所述时间差,并且确定所述任务延迟包括:从所述外部设备接收所述任务结果,并且基于接收到所述任务结果时的时间点来确定所述任务延迟。22.一种存储指令的非暂时性计算机可读存储介质,当由计时处理器和一个或多个其他处理器中的一者或两者执行所述指令时,所述指令配置所述计时处理器和所述一个或多个其他处理器中的一者或两者以执行权利要求12所述的方法。23.一种电子设备,包括:处理器,被配置为:基于所述处理器的时钟速率,确定第一传感器的第一感测数据的感测时间点和第二传感器的第二感测数据的感测时间点;确定所述第一感测数据的感测时间点与所述第二感测数据的感测时间点之间的时间差,其中,由一个或多个其他处理器基于所确定的时间差,针对所述第一感测数据的感测时间点执行任务;并且基于所述处理器的时钟速率,确定从所述第一感测数据的感测时间点到所执行任务的任务完成时间点的所述所执行任务的任务延迟,其中,所述一个或多个其他处理器被配置为:基于所确定的任务延迟来控制所述电子设备。24.根据权利要求23所述的电子设备,其中,对于确定所述第二感测数据的感测时间点,所述处理器被配置为:响应于从所述第二传感器接收到所述第二感测数据的感测触发,将所述第二感测数据的感测时间点确定为在接收到所述感测触发之后根据所述处理器的时钟速率所更新的下一个后续定时。
25.根据权利要求23所述的电子设备,其中,对于确定所述第一感测数据的感测时间点,所述处理器被配置为响应于从所述第一传感器接收到所述第一感测数据的感测触发:确定在接收到所述感测触发之后根据所述处理器的时钟速率所更新的下一个后续定时;基于所述第一传感器的一个或多个处理时间来确定所述第一传感器的校准时间;并且基于所述下一个后续定时与所述校准时间之间的差来确定所述第一感测数据的感测时间点。26.根据权利要求25所述的电子设备,其中,所述一个或多个处理时间包括所述第一传感器的读取时间和所述第一传感器的曝光时间。27.根据权利要求23所述的电子设备,其中,所述处理器的时钟速率与所述第一传感器和所述第二传感器中的每一个的时钟速率不同。28.根据权利要求23所述的电子设备,其中,对于所述控制,所述一个或多个其他处理器被配置为:基于所述任务延迟来校正所述所执行任务的任务结果。

技术总结
一种电子设备,包括:计时处理器,被配置为:基于计时处理器的时钟速率,确定通过多个传感器中的参考传感器的感测所生成的参考感测数据的感测时间点、以及多个传感器中的其他传感器的其他感测数据的感测时间点;确定参考感测数据的感测时间点与其他感测数据的感测时间点之间的时间差;并且基于计时处理器的时钟速率,确定从参考感测数据的感测时间点到任务完成时间点的任务延迟;以及一个或多个其他处理器,被配置为基于任务延迟来校正根据电子设备的定位所处理的任务结果,该电子设备的定位是基于所确定的时间差、参考感测数据和其他感测数据,针对参考感测数据的感测时间点确定的。的。的。


技术研发人员:姜喆友 李元熙 郑景夫
受保护的技术使用者:三星电子株式会社
技术研发日:2022.06.10
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐