实时应用中的对象跟踪
文献发布时间:2023-06-19 10:14:56
技术领域
本实施例总体上涉及对象跟踪,并且具体地涉及结合实时应用的这种对象跟踪。
背景技术
增强现实(AR)是物理的现实世界环境的直接或间接的实况视图,其对象通过计算机生成的感知信息来增强(即在感知上得到丰富)。叠加的感知信息可以是建设性的,即对自然环境的附加,也可以是破坏性的,即对自然环境的掩盖。
已经开发了越来越多的用于用户设备(例如,智能电话和平板计算机)的AR应用,以将虚拟对象叠加在现实世界视图上。这些应用中的核心技术挑战是:
1)识别现实世界对象及其在屏幕上的位置,在本领域中通常表示为对象检测(OD)或对象识别;
2)跟踪感兴趣的对象,在本领域中通常表示为对象跟踪(OT);以及
3)使用人造对象、标签或其他类型的感知信息来增强场景。
OD领域中的一些最佳解决方案被认为是基于具有方向梯度直方图(HOG)特征的可变形部件模型(DPM)。在过去几年中,基于卷积神经网络(CNN)技术的更精确解决方案被认为是该领域中的最新技术。这些解决方案非常精确地检测给定视频帧或图像中的对象,但是需要大量处理能力来实时操作。因此,CNN通常在配备了具有大量存储器的现代图形处理单元(GPU)的服务器上运行。这些服务器部署大型离线训练模型,这些模型建立在数十万或数百万个被标记的视频帧或图像之上。
与OD相反,大多数OT解决方案都基于轻量级算法,该算法可以在客户端侧上(即在诸如智能电话或平板计算机的无线设备中)运行。这些OT解决方案能够在视频帧上跟踪先前检测到的对象,即确定对象随时间的位置。OT算法通常执行从先前视频帧构建的对象模型的表示与从当前视频帧取得的表示的匹配。
因此,在增强现实的上下文中,存在三种主要的实现配置。
第一,OD和OT二者都在客户端侧上运行。这是具有实时限制的AR应用的优选的解决方案。该实现配置的缺点在于,必须用适应客户端能力的轻量级解决方案来替代强大而精确的对象检测,通常以降低检测精度为代价。
第二,OD和OT二者都在服务器侧上运行。该实现配置解决了对象检测的计算要求的问题。然而,由于需要在客户端和服务器之间传送视频帧,因此无法保证实时AR应用。
第三,OT在客户端侧上运行,OD在服务器侧上运行。该实现配置在很大程度上解决了与对象检测的复杂性和存储器要求相关的问题,但在实时性能方面与OD和OT二者都在服务器侧上的实现具有类似的缺点。到视频被流传输到服务器(在服务器中执行对象检测并将所产生的检测信息返回给客户端)时,相关的视频场景将已经过去并且已经在客户端处输出以进行可视化。
因此,不同的实现配置在复杂性、存储器要求、实时要求和精度之间具有不同的折中。因此,需要一种可以在诸如实时增强现实应用的实时应用中使用的有效对象跟踪实现。
发明内容
总体目的是在实时应用中提供有效的对象跟踪。
特定目的是提供可以在实时增强现实应用中使用的对象跟踪。
这些目的和其他目的由本文公开的实施例来满足。
实施例的一方面涉及一种对象跟踪(OT)设备。该OT设备被配置为:在视频流中的前一帧的输出之后但在当前帧的输出之前的时间点,通过以下方式来确定对象在视频流中的当前帧中的位置:从对象检测(OD)服务器针对视频流中的先前帧确定的对象的位置开始,递归地跟踪对象在视频流中的从先前帧之后直到当前帧的帧中的位置,以及递归地更新对象的模型,直到对象的与当前帧相关联的模型。与视频流的给定帧相关联的每个模型包括从该给定帧之前的视频流的至少一帧中提取的至少一个对象特征表示。
实施例的另一方面涉及对象跟踪方法。该方法包括:在视频流中的前一帧的输出之后但在当前帧的输出之前的时间点,通过以下方式来确定对象在视频流中的当前帧中的位置:从OD服务器针对视频流中的先前帧确定的对象的位置开始,递归地跟踪对象在视频流中的从先前帧之后直到当前帧的帧中的位置,以及递归地更新对象的模型,直到对象的与当前帧相关联的模型。与视频流的给定帧相关联的每个模型包括从该给定帧之前的视频流的至少一帧中提取的至少一个对象特征表示。
实施例的另一方面涉及包括指令的计算机程序,该指令在由至少一个处理器执行时使该至少一个处理器:在视频流中的前一帧的输出之后但在当前帧的输出之前的时间点,通过以下方式来确定对象在视频流中的当前帧中的位置:从OD服务器针对视频流中的先前帧确定的对象的位置开始,递归地跟踪对象在视频流中的从先前帧之后直到当前帧的帧中的位置,以及递归地更新对象的模型,直到对象的与当前帧相关联的模型。与视频流的给定帧相关联的每个模型包括从该给定帧之前的视频流的至少一帧中提取的至少一个对象特征表示。
实施例的相关方面定义了一种包括如上所述的计算机程序的载体。载体是以下之一:电子信号,光信号,电磁信号,磁信号,电信号,无线电信号,微波信号或计算机可读存储介质。
本实施例使得能够在实时对象跟踪应用中使用精确的对象检测,例如用于具有客户端-服务器架构的实时增强现实应用。由此,对象跟踪可以使用来自远程OD服务器的精确的对象检测更新,即使这种更新是针对视频流的过去的已经输出的帧生成的,并且可能以不同的延迟到达。因此,即使在实时输出帧的实时应用中,也可以在OT设备中执行部分地基于来自远程OD服务器的对象检测更新的精确对象跟踪。
附图说明
通过参考以下结合附图的描述,可以最好地理解实施例及其进一步的目的和优点,在附图中:
图1是具有无线设备中的对象跟踪和服务器中的对象检测的客户端-服务器架构的概述;
图2示意性地示出了根据实施例的在远程对象检测和本地对象跟踪的情况下的帧输出的时间线;
图3示意性地示出了视频流的相邻帧之间的对象跟踪;
图4示意性地示出了基于来自对象检测服务器的对象位置的对象跟踪;
图5是根据实施例的无线设备的示意框图;
图6是根据实施例的对象跟踪设备的框图;
图7是根据另一实施例的对象跟踪设备的框图;
图8是根据又一实施例的对象跟踪设备的框图;
图9示意性地示出了基于计算机程序的实施例的实现方式;
图10是根据又一实施例的对象跟踪设备的框图;
图11示意性地示出了网络设备之间的分布式实现;
图12是根据实施例的具有一个或多个基于云的网络设备的无线通信系统的示例的示意图;
图13是示出了根据一些实施例的无线网络的示例的示意图;
图14是示出了根据一些实施例的无线设备的实施例的示例的示意图;
图15是示出了虚拟化环境的示意框图,其中可以虚拟化由一些实施例实现的功能;
图16是示出了根据一些实施例的经由中间网络连接到主机计算机的电信网络的示例的示意图;
图17是示出了根据一些实施例的通过部分无线连接经由基站与用户设备通信的主机计算机的示例的示意图;
图18是根据实施例的对象跟踪方法的流程图;
图19是示出了根据实施例的图18所示的方法的附加可选步骤的流程图;
图20是示出了根据另一实施例的对象跟踪方法的流程图;
图21是根据又一实施例的对象跟踪方法的流程图;
图22是示出了根据实施例的图21所示的方法的附加可选步骤的流程图;
图23是示出了根据实施例的图18所示的方法的附加可选步骤的流程图;
图24是示出了根据实施例的图18所示的方法的附加可选步骤的流程图;
图25是示出了根据实施例的图18所示的方法的附加可选步骤的流程图;
图26是示出了根据实施例的在通信系统中实现的方法的流程图;
图27是示出了根据实施例的在通信系统中实现的方法的流程图;
图28是示出了根据实施例的在通信系统中实现的方法的流程图;以及
图29是示出了根据实施例的在通信系统中实现的方法的流程图。
具体实施方式
贯穿附图,相同的附图标记用于类似或对应的元素。
通常,除非明确给出和/或从使用的上下文中暗示不同的含义,否则本文中使用的所有术语将根据其在相关技术领域中的普通含义来解释。除非另有明确说明,否则对“一/一个/元件、设备、组件、装置、步骤等”的所有引用应被开放地解释为指代元件、设备、组件、装置、步骤等中的至少一个实例。除非必须明确地将一个步骤描述为在另一个步骤之后或之前和/或隐含地一个步骤必须在另一个步骤之后或之前,否则本文所公开的任何方法的步骤不必以所公开的确切顺序执行。在适当的情况下,本文公开的任何实施例的任何特征可以应用于任何其他实施例。同样地,任何实施例的任何优点可以适用于任何其他实施例,反之亦然。通过下文的描述,所附实施例的其他目的、特征和优点将显而易见。
本实施例总体上涉及对象跟踪,并且具体地涉及结合实时应用的这种对象跟踪。
根据图1所示的实施例的用于增强现实的客户端-服务器架构。由图1中的无线设备1表示的客户端1包括或连接到用于捕获视频序列的相机3。然后,将视频序列的视频帧(为简单起见,本文称为帧)从客户端1发送给对象检测(OD)服务器5。该帧传输可涉及将视频序列流传输给OD服务器5,即,基本上将视频序列的所有帧传输给OD服务器5。在备选实施例中,将单独的、通常带有时间戳的帧发送给OD服务器5以进行对象检测。
OD服务器5对接收到的帧或其至少一部分执行对象检测。该对象检测涉及识别已处理的帧中的对象并确定检测到的对象的信息,包括对象类型和对象位置。对象类型定义检测到的对象的类型或类别,例如汽车、行人、房屋等。对象位置表示检测到的对象在已处理帧内的位置。该所谓的检测信息(即对象类型和对象位置)连同对已执行的对象检测是针对哪个帧的指示(例如,在相关帧的时间戳方面)被返回给客户端1。
然后,由客户端1或者更确切地说是在客户端1中实现或布置的对象跟踪(OT)设备2使用由OD服务器5确定的对象位置,以(重新)初始化相关对象的跟踪。相应地,对象类型用于屏幕上的增强。
图2示意性地示出了在例如在图1的客户端-服务器架构中实现的远程对象检测和本地对象跟踪的情况下的帧输出的时间线。在客户端侧,实时地对对象进行跟踪和可视化(即输出以用于显示)。然而,从远程OD服务器接收检测信息存在延迟。该延迟涉及在OD服务器处的计算复杂的对象检测中的延迟或处理时间和由于视频流15的帧12的传输和检测信息的返回而导致的延迟二者。该两种类型的延迟也可能基于例如当前OD服务器负载和当前网络状况而随时间变化和改变。
图2示出了这个概念。客户端将要输出帧I
本发明解决了以上提出的问题,该问题发生与具有客户端-服务器架构的实时应用(例如实时AR应用)有关,其中对象跟踪在客户端本地运行,而对象检测在OD服务器上远程完成。更详细地,本发明基于OT设备中的感兴趣对象的定位或位置以及模型的更新与OD服务器所传递的感兴趣对象的定位或位置以及模型的更新之间的智能同步。由此,本发明在OT设备中使用异步模型和对象位置更新。这意味着可以确定当前帧中的当前观察到的位置的估计,该确定使用来自OD服务器的最新但仍被延迟的检测信息,但该检测信息被OT设备校正为当前帧中的当前观察到的位置。
通常,来自OD服务器的对象的位置或定位更新比由OT设备跟踪的所估计的位置更可靠。这意味着在AR应用中,应使用来自OD服务器的检测信息来校正OT设备中感兴趣对象的模型和位置。另一个特性是在OT设备处运行的对象跟踪很快,并且通常比实时要快。这意味着OT设备每秒可以处理数十个或甚至数百个帧,而不会影响精度。因此,在视频序列的连续帧的输出之间的时间窗口中,在跟踪这些帧中的对象的位置方面,OT设备可以处理多个帧。
实施例的一方面涉及一种OT设备2,参见图1、图2和图4。该OT设备2被配置为:在视频流15中的前一帧11的输出之后但在当前帧10的输出之前的时间点,通过以下方式来确定对象20在视频流15中的当前帧10中的位置:从OD服务器5针对视频流15中的先前帧12确定的对象20的位置开始,递归地或迭代地跟踪对象20在视频流15中的从先前帧12之后直到当前帧10的帧11中的位置,以及递归地或迭代地更新对象20的模型,直到对象20的与当前帧10相关联的模型。与视频流15的给定帧相关联的每个模型包括从该给定帧之前的视频流15的至少一帧中提取的至少一个对象特征表示。
这意味着,一旦从OD服务器5接收到包括先前帧I
因此,在实施例中,参见图1、图2和图4,OT设备2被配置为基于对象20在当前帧10中的位置来使用感知信息增强当前帧10。OT设备2还被配置为输出增强的当前帧10。
因此,通过使用由OD服务器5针对先前帧12确定的该至少一个对象的位置,并且递归地或迭代地更新该至少一个对象20在随后的帧11中的位置,直到到达当前帧10为止,OT设备10可以访问该至少一个对象20在当前帧10中的精确位置,并且从而可以基于该至少一个对象20的位置来使用感知信息增强当前帧10。
在特定实施例中,OT设备2被配置为基于对象20在当前帧10中的位置并且基于由OD服务器5针对先前帧12确定的对象20的类型,使用感知信息来增强当前帧10。
例如,OT设备2可以基于对象20的类型来选择感知信息的类型以增强当前帧10。然后,OT设备2使用对象20在当前帧10中的位置来识别当前帧10的场景中的应该包括感知信息的位置。
如本文所使用的感知信息涉及可用于增强场景的任何信息或数据。这种感知信息的非限制性但说明性的示例包括检测到的建筑物的名称、检测到的人的姓名等。
在一个实施例中,参见图1、图2和图4,OT设备2被配置为通过以下方式来递归地跟踪对象20的位置:从OD服务器5针对先前帧12确定的对象20的位置开始,在位于先前帧12之后并按输出顺序排序的帧11的集合中的每个帧11中,基于对象20在该集合中的前一帧中的位置,或者基于OD服务器5针对该集合的第一帧确定的对象20的位置,且基于对象20的与该集合的视频帧11相关联的模型,跟踪对象20的位置。
在实施例中,该帧集合包括视频流15中的从先前帧12直到当前帧10的每个帧11。在该实施例中,帧11的集合因此包括帧I
在另一实施例中,帧集合可以仅包括从先前帧12直到当前帧10的帧11的子部分。例如,该集合可以包括从先前帧12直到当前帧10的每第m帧。对于m=2,该集合可以包括帧I
在任一情况下,通过从由OT服务器5针对先前帧12确定的对象20的位置开始并在该集合的每个帧11中跟踪对象20的位置,OT设备2递归地跟踪对象20的位置。由于如图2所示按输出顺序对帧进行排序,所以这意味着对象20在例如帧I
在实施例中,参考图1、图2和图4举例说明,OT设备2被配置为:在位于先前帧12之后并按输出顺序排序的帧11的集合中的每个帧11中,递归地基于与该集合的该帧11相关联的模型和从该集合的该帧11提取的至少一个对象特征表示来更新对象20的模型。
因此,设M
借此,在该实施例中,OT设备2基于与帧I
与视频流15的给定帧相关联的每个模型包括从该给定帧之前的视频流15的至少一帧中提取的至少一个对象特征表示。可以从视频流15中的前一个或多个帧中提取一个或多个这种对象特征表示。例如,假设上述参数m=1,与当前帧I
在实施例中,参见图1、图2和图4,OT设备2被配置为通过递归地跟踪对象20的位置并且递归地更新对象20的模型,确定对象20在当前帧I
在实施例中,对象20在帧10、12中的位置是对象20的边界框表示的形式,参见图4。边界框表示定义了在帧10、12中包围对象20的边界框的坐标以及边界框的大小。
边界框表示可以例如是向量的形式,该向量定义了边界框的坐标和边界框的大小。坐标(x
因此,在一般情况下,在给定了对象的与帧I
因此,设B
对象跟踪的过程由函数f():B
这里,d()是选择来评估对象特征表示的紧密度的相似度度量。X
相似度度量可以是例如归一化互相关
或是距离尺度的任何倒转(inverse),例如带有负号的欧几里得距离,
因此,对象跟踪的典型实现将是从与先前帧I
模型的对象特征表示的特定类型取决于OT设备使用的对象跟踪算法的类型。例如,对象跟踪算法可以使用对象的颜色直方图。在这种情况下,可以将对象特征表示计算为颜色直方图的聚类质心(centroid)。其他示例包括基于方向梯度直方图(HOG)特征、加速鲁棒特征(SURF)、局部二值模式(LBP)或实际上任何其他颜色、纹理和/或形状描述符的对象特征表示。
在特定实施例中,对象特征表示是对象的特征向量(feature vector)。在这种特定实施例中,特征向量可以由均值或平均特征向量及其方差来表示。
在实施例中,参考图1、图2和图4,OT设备2被配置为基于
在实施例中,OT设备被配置为逐帧地执行以下处理操作。为了说明起见,让我们假设我们在当前必须处理和可视化帧I
选项1-没有来自OD服务器的检测信息可用,参见图3。
OT设备从而将所跟踪的对象位置传播到下一帧I
B
M
该选项1对应于传统的对象跟踪,其中OT设备基于对象20在前一帧I
选项2-有来自OD服务器的检测信息可用,参见图4。
在优选的实施例中,OT服务器将对象的模型M
B
M
B
M
...
B
M
在实施例中,如果OT设备可以使用来自OT服务器的检测信息,则其被配置为根据选项2进行操作。在另一个实施例中,OT设备在发起处理之前首先执行检查或调查OT设备是否具有足够的处理时间以根据选项2进行操作。在该实施例中,参数θ表示:在视频中的前一帧I
在该实施例中,如果k>θ,则OT设备可以根据选项3进行操作。
选项3-有来自OD服务器的检测信息可用,但k>θ
在这种情况下,OT设备无法实时处理从先前帧I
因此,在实施例中,参见图1、图2和图4,OT设备2被配置为:将参数k与参数θ进行比较,所述参数θ表示:在视频流15中的前一帧11的输出与当前帧10的输出之间的时间段期间,关于跟踪对象20的位置和更新对象20的模型,OT设备2可以处理的帧数。OT设备2还被配置为:如果k≤θ,通过递归地跟踪对象20在视频流15的帧11中的位置并且递归地更新对象20的模型,确定对象20在当前帧10中的位置。
因此,该实施例保证了OT设备2能够在当前帧10需要被输出用于显示之前,通过以下方式来确定对象20在当前帧10中的位置:从OD服务器5针对先前帧12确定的位置开始,递归地跟踪对象20在中间帧11集合中的帧11中的位置,直到当前帧10。
在实施例中,参见图1、图2和图4,OT设备2被配置为:如果k≤θ,则确定参数m的值等于1,否则确定参数m的值等于大于或等于2的整数值。
在实施例中,参见图1,图2和图4,OT设备2被配置为:基于OT设备2的可用处理能力和被配置为向OT设备2供电的电池的电池容量中的至少一个来确定参数m的值。
参数m定义从帧I
通常,如果OT设备2处理从帧I
在实施例中,该参数m的值是基于OT设备2的可用处理能力和被配置为向OT设备2供电的电池容量中的至少一个来确定的。例如,使用相对较大处理能力的OT设备2与另一OT设备2相比可以具有较低的参数m的值。相应地,使用较大电池容量的OT设备2与另一OT设备2相比可以具有较低的参数m的值。
因此,使用高的处理能力和/或高的电池容量的OT设备2可以使用参数m的低值,并且与使用较低的处理能力和/或较低的电池容量的OT设备2(从而被限制于使用较高的参数m的值)相比,从而可以执行更精确的对象跟踪。
在实施例中,参见图1、图2和图4,OT设备2被配置为:从OD服务器5接收由OD服务器5针对先前帧12确定的对象20的位置的信息以及与先前帧12相关联的时间戳。OT设备2还被配置为基于从OD服务器5接收的时间戳来识别先前帧12。
因此,来自OD服务器5的检测信息优选地包括先前帧12的时间戳,其使得OT设备2能够识别视频流15中的该先前帧12。时间戳可以是能够识别先前帧12的任何类型的信息。例如,时间戳可以是帧标识符或帧号。另一示例可以是视频流15中的先前帧12的位置相对于视频流15的开始的偏移。
在实施例中,参见图1、图2和图4,OT设备2被配置为:从对象20的与当前帧10相关联的模型中移除对象特征表示,以获得对象20的与先前帧12相关联的模型。
在该实施例中,OT设备2从与当前帧I
OT设备2从而在模型倒转之后可以访问模型M
在实施例中,参见图1,图2和图4,OT设备2被配置为:在前一帧11的输出之后但在当前帧10的输出之前的时间点,确定OT设备2是否已从OD服务器5接收到由OD服务器5针对先前帧12确定的对象20的位置的信息。OT设备2还被配置为:如果OT设备2已从OD服务器5接收到该信息,则通过递归地跟踪对象20在视频流15的帧11中的位置并且递归地更新对象20的模型,来确定对象20在当前帧10中的位置。
在该实施例中,OT设备2首先验证其已经从OD服务器5接收到与先前帧12相关的检测信息。
在实施例中,参见图1、图2和图4,OT设备2被配置为:如果OT设备2尚未从OD服务器5接收到该信息,则基于由OT设备2针对前一帧11确定的对象20的位置和对象20的与当前帧10相关联的模型,来确定对象20在当前帧10中的位置。
换句话说,如果OT设备2已从OD服务器5接收到检测信息(即,本文先前描述的选项2或选项3),则由于其中包括的位置信息通常比仅由OT设备2在对象跟踪中确定的位置信息更精确,OT设备2应使用该检测信息。然而,如果OT设备2尚未从OD服务器5接收到检测信息(即,本文先前描述的选项1),则OT设备通过基于OT设备2针对前一帧11确定的对象20的位置以及对象20的与当前帧10相关联的模型来确定对象在当前帧10中的位置,来执行纯对象跟踪,即B
在实施例中,参见图1、图2和图4,当前帧10包括多个对象20。OT设备2被配置为:针对该多个对象20中的每个对象20,确定由OD服务器5针对先前帧12确定的对象20的位置与由OT设备2针对前一帧11确定的对象20的位置之间的相似度。OT服务器2还被配置为:以基于所确定的相似度定义的从该多个对象20中具有最低相似度的对象20开始的顺序,通过递归地跟踪对象20在视频流15的帧11中的位置并且递归地更新对象20的模型,来确定对象20在当前帧10中的位置。
因此,如果存在多个对象,则OT设备2可以基于所确定的相似度来对这些多个对象进行排序,并且然后根据排序的顺序来执行递归对象跟踪。在这种情况下,优选地,在具有所确定的次低相似度的对象之前,对具有所确定的最低相似度的对象发起递归对象跟踪,依此类推。所确定的低的相似度意味着在由OD服务器5针对先前帧I
关于相似度来以相反的顺序(从低相似度到高相似度)执行递归对象跟踪意味着递归对象跟踪是从已经移动或改变最大且从而OT设备2有较大风险无法精确地跟踪的那些对象开始的。相应地,具有高相似度的对象是尚未随着帧移动或改变很多的对象,并且从而使OT设备2更容易地进行精确地跟踪。
递归对象跟踪对象的该顺序意味着OT设备2应该从进行对象跟踪最有可能失败或不精确的对象开始。这意味着,特别是在给定了用于递归对象跟踪直到应该输出当前帧10为止的有限处理时间的情况下,OT设备2有时间使用更精确的递归对象跟踪来至少确定具有最低跟踪精度的对象的位置,相反,如果没有足够的时间使用更精确的递归对象跟踪来跟踪全部的该多个对象,则可以使用较低精度的对象跟踪来跟踪具有较高跟踪精度的对象,而无需使用来自OD服务器5的任何检测信息。
可以通过表示位置之间的距离的任何方式来确定对象在不同帧中的位置之间的相似度。非限制性但说明性的示例包括计算两个帧中的边界框之间的并交并比(intersection over union,IoU),或计算边界框的中心或角之间的距离。
因此,在多对象跟踪(MOT)的情况下,并且当在OT设备2处有来自OD服务器5的检测信息可用时,可以在从OD服务器5接收到的边界框B
在实施例中,所有对象关于IoU值以升序进行排序,并且可选地基于复杂性要求,仅根据递归对象跟踪(例如根据选项2或选项3)更新列表顶部的N个对象。这意味着,根据递归过程(选项2或选项3),主要是在OT设备2和OD设备5之间具有较大分歧的对象将会获得更新的模型和位置。列表底部的对象优选地根据选项1进行更新,例如,根据以下进行更新:
B
M
如果从OD服务器5接收到的边界框B
在实施例中,当前帧10包括多个对象20,参见图1、图2和图4。OOT设备2被配置为:针对该多个对象20中的每个对象20,确定由OD服务器5针对先前帧12确定的对象20的位置与由OT设备2针对前一帧11确定的对象20的位置之间的相似度。OT设备2还被配置为:针对该多个对象20中的对象20,如果针对该对象20确定的相似度低于最小相似度,则通过递归地跟踪该对象20在视频流15的帧11中的位置并且递归地更新该对象20的模型,来确定该对象20在当前帧10中的位置。
在该实施例中,如本文先前描述的,OT设备2针对每个对象确定各自的相似度,例如以各自的IoU值的形式。然后,OT设备2针对该多个对象中的给定对象,将其相似度与最小相似度进行比较,该最小相似度在本文中也称为相似度阈值。如果针对对象确定的相似度低于最小相似度,即,由OD服务器5针对先前帧I
在实施例中,参见图1,图2和图4,OT设备2被配置为:针对该多个对象20中的对象20,如果针对该对象20确定的相似度等于或超过最小相似度,则基于由OT设备2针对前一帧11确定的该对象20的位置和该对象20的与当前帧10相关联的模型,来确定该对象20在当前帧10中的位置。
因此,在实施例中,如果相似度低于最小相似度,则OT设备2被配置为根据以上选项2或选项3来确定对象的位置,而如果相似度等于或超过最小相似度,则根据选项1来确定对象的位置。
这意味着针对最需要更精确跟踪的对象,使用更复杂但也更精确的递归对象跟踪。然而,根据选项1的较不复杂的对象跟踪可以用于静止对象。该选项1的相对较低的精度通常不是问题,因为对象没有随着帧移动太多,并且OT设备2从而可以更精确地跟踪该对象的位置。
存在本领域中可用的各种对象检测算法,并且OD服务器可以使用它们来确定位置,例如具有HOG特征的DPM、CNN等。这种对象检测算法的非限制性但说明性的示例在以下中公开:Ren et al.,Faster R-CNN:Towards Real-Time Object Detection with RegionProposal Networks,IEEE Transactions on Pattern Analysis and MachineIntelligence,2017,39(6):1137-1149;Redmon and Farhadi,YOLO9000:Better,Faster,Stronger,IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2017;Viola and Jones,Rapid Object Detection using a Boosted Cascade of SimpleFeatures,Proceedings of the 2001 IEEE Computer Society Conference on ComputerVision and Pattern Recognition,2001.(CVPR 2001),2001。
应当理解,本文描述的方法、方法步骤和设备、设备功能可以以各种方式实现、组合和重新布置。
例如,实施例可以用硬件、或用由适当的处理电路执行的软件、或其组合来实现。
本文所述的步骤、功能、过程、模块和/或框可以使用任何常规技术在硬件中实现,例如使用分立电路或集成电路技术,包括通用电子电路和专用电路二者。
备选地,或者作为补充,本文描述的步骤、功能、过程、模块和/或框中的至少一些可以在软件中实现,例如由合适的处理电路(例如一个或多个处理器或处理单元)来执行的计算机程序。
处理电路的示例包括但不限于:一个或多个微处理器、一个或多个数字信号处理器(DSP)、一个或多个中央处理单元(CPU)、视频加速硬件、和/或任何合适的可编程逻辑电路,例如一个或多个现场可编程门阵列(FPGA)或者一个或多个可编程逻辑控制器(PLC)。
还应当理解,可以重用实现所提出技术的任何常规设备或单元的通用处理能力。例如,也可以通过对现有软件进行重新编程或通过添加新的软件组件来重用现有的软件。
图6是示出了根据实施例的OT设备100的示例的示意框图。在该特定示例中,OT设备100包括处理器101(例如处理电路)以及存储器102。存储器102包括能够由处理器101执行的指令。
在实施例中,处理器101可操作以通过递归地跟踪对象在视频流的帧中的位置并递归地更新对象的模型来确定对象在当前帧中的位置。
可选地,OT设备100还可以包括通信电路,由图6中的相应输入/输出(I/O)单元103表示。I/O单元103可以包括用于与有线或无线通信网络中的其他设备、服务器和/或网络节点进行有线和/或无线通信的功能。在特定示例中,I/O单元103可以基于用于与一个或多个其他节点进行通信(包括发送和/或接收信息)的无线电电路。I/O单元103可以互连到处理器101和/或存储器102。作为示例,I/O单元103可以包括以下中的任何一个:接收机、发射机、收发机、I/O电路、输入端口和/或输出端口。
图7是示出了根据实施例的基于硬件电路实现的OT设备110的另一示例的示意框图。合适的硬件电路的具体示例包括:一个或多个适当配置的或可能可重新配置的电子电路,例如,专用集成电路(ASIC)、FPGA;或任何其他硬件逻辑,诸如基于互连的分立逻辑门和/或触发器的用以与合适的寄存器(REG)和/或存储器单元(MEM)一起执行专用功能的电路。
图8是示出了基于处理器122、123和硬件电路124、125的组合并与适当的存储器单元121相结合的OT设备120的又一示例的示意框图。因此,整体功能在用于在一个或多个处理器122、123上执行的编程软件与一个或多个预配置的或可能可重新配置的硬件电路124、125之间划分。实际的硬件-软件划分可以由系统设计人员根据众多因素来决定,所述因素包括处理速度、实施成本和其他要求。
图9是基于计算机程序的实施例的实现方式。在该具体示例中,用计算机程序240来实现本文描述的步骤、功能、过程、模块和/或框中的至少一些,其中计算机程序240被加载到存储器220中,用于由包括一个或更多个处理器210的处理电路执行。处理器210和存储器220彼此互连,以实现正常的软件执行。可选的I/O单元230还可以互连到处理器210和/或存储器220,以实现相关数据(例如视频帧和检测信息)的输入和/或输出。
术语“处理器”应该在一般意义上解释为能够执行程序代码或计算机程序指令以执行特定的处理、确定或计算任务的任何电路、系统或设备。
因此,包括一个或多个处理器210的处理电路被配置为:在执行计算机程序240时执行例如本文描述的明确定义的处理任务。
处理电路不必须是专用于仅执行上述步骤、功能、过程和/或框,而是还可以执行其他任务。
在实施例中,计算机程序240包括指令,该指令在由至少一个处理器210执行时,使该至少一个处理器210:在视频流中的前一帧的输出之后但在当前帧的输出之前的时间点,通过以下方式来确定对象在视频流中的当前帧中的位置:从OD服务器针对视频流中的先前帧确定的对象的位置开始,递归地跟踪对象在视频流中的从先前帧之后直到当前帧的帧中的位置,以及递归地更新对象的模型,直到对象的与当前帧相关联的模型。与视频流的给定帧相关联的每个模型包括从该给定帧之前的视频流的至少一帧中提取的至少一个对象特征表示。
所提出的技术还提供了包括计算机程序240的载体250。载体250是电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储介质中的一种。
作为示例,软件或计算机程序240可以实现为计算机程序产品,其通常在计算机可读介质250(具体地,非易失性介质)上承载或存储。计算机可读介质可包括一个或多个可移除或不可移除的存储器设备,包括(但不限于):只读存储器(ROM)、随机存取存储器(RAM)、致密盘(CD)、数字多功能盘(DVD)、蓝光盘、通用串行总线(USB)存储器、硬盘驱动器(HDD)存储设备、闪存、磁带或任何其它常规存储器设备。计算机程序240可以因此被加载到操作存储器220中,用于由处理电路210执行。
当由一个或多个处理器执行时,本文介绍的流程图可以被认为是计算机流程图。对应的OT设备可以被定义为一组功能模块,其中由处理器执行的每个步骤与功能模块相对应。在这种情况下,功能模块被实现为在处理器上运行的计算机程序。
因此,驻留在存储器中的计算机程序可以被组织为适当的功能模块,所述功能模块被配置为,当被处理器执行时,执行本文所述的步骤和/或任务的至少一部分。
图10是OT设备130的框图,该OT设备130包括对象跟踪模块131,该对象跟踪模块131用于:在视频流中的前一帧的输出之后但在当前帧的输出之前的时间点,通过以下方式来确定对象在视频流中的当前帧中的位置:从对象检测服务器针对视频流中的先前帧确定的对象的位置开始,递归地跟踪对象在视频流中的从先前帧之后直到当前帧的帧中的位置,以及递归地更新对象的模型,直到对象的与当前帧相关联的模型。与视频流的给定帧相关联的每个模型包括从该给定帧之前的视频流的至少一帧中提取的至少一个对象特征表示。
实施例的另一方面定义了无线设备1,参见图5。该无线设备1包括根据实施例的OT设备2。无线设备1还包括被配置为记录视频并生成视频流的相机3。无线设备1还包括:发射机4,被配置为将视频流的帧发送给OD服务器;以及接收机4,被配置为接收由OD服务器针对帧确定的对象的相应位置的信息。
无线设备1可以具有发射机(TX)4和接收机(RX)4,或者发送和接收功能可以在图5中示意性示出的组合收发机中实现。本文所使用的发射机和接收机4包括可由无线设备1分别用于发送和接收数据的任何设备、模块和/或功能,而不管数据通信是无线地执行还是使用有线连接来执行。
发射机4对视频流的帧的发送可以是以发送从视频流提取的各个帧的形式进行,例如发送从由相机3生成的视频流中提取的单个帧、若干个单帧或一系列连续帧。这些帧可以以未编码或未压缩的格式发送,或者作为已编码或压缩的帧来发送。备选地,发射机4可以将由相机3记录的视频发送OD服务器,或者更确切地说,将其流传输给OD服务器,即,不一定必须从视频流中提取和发送帧。由发射机4流传输给OD服务器的视频可以是未编码或未压缩的格式,或者是编码或压缩的视频流。
在实施例中,无线设备1是能够提供增强现实服务的用户设备,即,包括根据实施例中任一个的OT设备。该用户设备有利地选自由以下组成的组:移动电话、蜂窝电话、智能电话、配备有无线电通信功能的个人数字助理(PDA)、配备有内部或外部移动宽带调制解调器的笔记本电脑或计算机、具有无线电通信功能的平板电脑、游戏机、头戴式显示器和增强现实眼镜。
无线设备1不一定必须是能够提供增强现实服务的用户设备。包括根据实施例的OT设备2的无线设备1的其他示例包括物联网(IoT)设备,例如选自于由无人机、移动机器人和自动驾驶车辆组成的组。无线设备的其他示例包括目标设备、机器对机器(M2M)设备、机器类型通信(MTC)设备、设备对设备(D2D)用户设备(UE)、机器类型UE或能够进行机器对机器通信的UE、客户驻地设备(CPE)、膝上型嵌入式设备(LEE)、膝上型安装式设备(LME)、USB适配器、便携式电子无线电通信设备、和/或配备有无线电通信能力等的传感器设备、仪表、车辆、家用电器、医疗设备、相机、电视、收音机、照明布置等。
在特定实施例中,无线设备1是无线通信设备。术语“无线通信设备”应被解释为包括与无线通信系统中的网络节点通信的任何类型的无线设备和/或可能与另一无线通信设备直接通信的任何类型的无线设备的非限制性术语。换言之,无线通信设备可以是配备有用于根据任何相关通信标准进行无线通信的电路的任何设备。
在诸如网络节点和/或服务器之类的网络设备中提供计算服务(硬件和/或软件)也变得日益普遍,其中资源被作为服务通过网络提供给远程位置。作为示例,这意味着如本文所述的功能可被分布或重新定位到一个或多个分离的物理节点或服务器。该功能可被重新定位或分布到可位于分离的物理节点的一个或多个联合工作的物理和/或虚拟机器中,即在所谓的云中。这有时也被称为云计算,云计算是一种支持对诸如网络、服务器、存储设备、应用和通用或定制服务等可配置计算资源的池的随时随地的按需网络访问的模型。
存在在这种上下文中有用的不同形式的虚拟化,包括以下一种或多种:
将网络功能整合为运行在定制或通用硬件上的虚拟化软件。这有时被称为网络功能虚拟化。
将在分离的硬件上运行的一个或多个应用堆栈(包括操作系统)共同定位在单个硬件平台上。这有时被称为系统虚拟化或平台虚拟化。
硬件和/或软件资源的共同定位的目的是使用一些高级的域级调度和协调技术来获得改善的系统资源利用率。这有时被称为资源虚拟化、或者集中式和协调式资源池化。
虽然将功能集中到所谓的通用数据中心经常是期望的,但在其他场景中实际上将功能分布在网络的不同部分上可能是有利的。
网络设备通常可以被视为通信地连接到网络中的其他电子设备的电子设备。作为示例,网络设备可以用硬件、软件或其组合来实现。例如,网络设备可以是专用网络设备或通用网络设备或其混合。
专用网络设备可以使用定制处理电路和专有操作系统(OS)来执行软件以提供本文公开的特征或功能中的一个或多个。
通用网络设备可以使用公共现成(COTS)处理器和标准OS来执行软件,所述软件被配置为提供本文公开的特征或功能中的一个或多个。
作为示例,专用网络设备可以包括硬件、物理网络接口(NI)以及其上存储有软件的非暂时性机器可读存储介质,所述硬件包括处理或计算资源,其通常包括一个或多个处理器构成的集合,所述物理网络接口(NI)有时被称为物理端口。物理NI可被视为网络设备中的用于进行网络连接的硬件,所述网络连接例如通过无线网络接口控制器(WNIC)以无线方式来进行或者通过将缆线插入连接到网络接口控制器(NIC)的物理端口来进行。在操作期间,软件可以被硬件执行,以实例化一个或多个软件实例的集合。每个软件实例以及执行该软件实例的硬件的部分可以形成单独的虚拟网络元件。
作为另一示例,通用网络设备可以例如包括硬件和NIC以及其上存储有软件的非暂时性机器可读存储介质,所述硬件包括一个或多个处理器(通常是COTS处理器)构成的集合。在操作期间,处理器执行软件以实例化一个或多个应用的一个或多个集合。虽然一个实施例不实现虚拟化,但是备选实施例可以使用不同形式的虚拟化——例如由虚拟化层和软件容器来表示。例如,一个这样的备选实施例实现操作系统级别的虚拟化,在这种情况下,虚拟化层表示允许创建多个软件容器的操作系统内核或在基础操作系统上执行的垫片(shim),每个软件容器可被用来执行应用集合之一。在示例实施例中,每个软件容器(也称为虚拟化引擎、虚拟专用服务器或空间(jail))是用户空间实例(通常是虚拟存储空间)。这些用户空间实例可以彼此分离并与执行操作系统的内核空间分离。因而,除非明确允许,否则在给定用户空间中运行的应用集合不能访问其他进程的存储器。另一个这样的备选实施例实现完全虚拟化,在这种情况下:1)虚拟化层表示管理程序(有时称为虚拟机监视器(VMM)),或者管理程序在主机操作系统之上执行;以及,2)每个软件容器表示由管理程序执行的并且可以包括客户操作系统的被称为虚拟机的软件容器的严格隔离形式。
管理程序是负责创建和管理各种虚拟化实例以及在某些情况下创建和管理实际物理硬件的软件/硬件。管理程序管理底层资源并将它们呈现为虚拟化实例。管理程序虚拟化以作为单个处理器呈现的内容实际上可以包括多个分开的处理器。从操作系统的角度,虚拟化实例看起来是实际的硬件组件。
虚拟机是运行程序的物理机器的软件实现,在运行程序时就好像它们在物理的非虚拟化的机器上执行一样;以及,应用一般不知道它们运行在虚拟机上而不是运行在“纯金属”的主机电子设备上,然而出于优化目的,一些系统提供允许操作系统或应用能够意识到存在虚拟化的半虚拟化(para-virtualization)。
一个或多个应用的一个或多个集合的实例化以及虚拟化层和软件容器(如果实现)统称为软件实例。每个应用集合、相应的软件容器(如果实现)以及执行它们的硬件的部分(其是专用于该执行的硬件和/或被软件容器在时间上共享的硬件的时间片)形成单独的虚拟网络元件。
虚拟网络元件可以执行与虚拟网络元件(VNE)类似的功能。这种硬件虚拟化有时被称为网络功能虚拟化(NFV)。因此,NFV可以用于将许多网络设备类型统一到工业标准高容量服务器硬件、物理交换机和物理存储设备,它们可以位于数据中心、网络设备、和用户驻地设备(CPE)中。然而,不同实施例可以用不同方式来实现软件容器中的一个或多个。例如,虽然使用与VNE对应的每个软件容器说明了各个实施例,但是备选实施例可以在更精细的粒度级别实现软件容器-VNE之间的这种对应关系或映射。应当理解:本文参考软件容器与VNE的对应关系来描述的技术同样适用于使用这种更精细粒度级别的实施例。
根据又一实施例,提供了一种混合网络设备,其在网络设备(例如,在网络设备内的卡或电路板)中既包括定制处理电路/专有OS也包括COTS处理器/标准OS。在这种混合网络设备的某些实施例中,平台虚拟机(VM)(如实现专用网络设备的功能的VM)可以向混合网络设备中存在的硬件提供半虚拟化。
图11是示出了一般情况下如何在不同网络设备之间分布或划分功能的示例的示意图。在该示例中,至少有两个单独的但互连的网络设备300、310,它们可以具有在网络设备300、310之间划分的不同的功能,或者相同功能的部分。可能存在额外的网络设备320,其是这种分布式实现的一部分。网络设备300、310、320可以是同一无线或有线通信系统的一部分,或者一个或多个网络设备可以是位于无线或有线通信系统外部的所谓的基于云的网络设备。
如本文所使用的,术语“网络设备”可以指与通信网络相关定位的任何设备,包括但不限于接入网、核心网络和类似网络结构中的设备。术语网络设备还可以包括基于云的网络设备。
图12是示出了无线通信系统的示例的示意图,所述无线通信系统包括与一个或多个基于云的网络设备300协作的无线电接入网(RAN)31和核心网络32,以及可选地操作支持系统(OSS)33。该图还示出了连接到RAN 31并且能够与RAN节点30进行无线通信的无线设备1,该RAN节点30例如是网络节点、基站、节点B(NB)、演进型节点B(eNB)、下一代节点B(gNB)等。
具体地,所提出的技术可以应用于具体应用和通信场景,包括在无线网络内提供各种服务,包括所谓的过顶(Over-the-Top)(OTT)服务。例如,所提出的技术实现和/或包括无线通信中的相关用户数据和/或控制数据的传输和/或发送和/或接收。
在下文中,现在将参照图13至图17描述说明性的非限制性示例的集合。
图13是示出了根据一些实施例的无线网络的示例的示意图。
虽然本文描述的主题可以使用任何合适的组件在任何适合类型的系统中实现,但是本文公开的实施例是关于无线网络(例如图13中所示的示例无线网络)描述的。为简单起见,图13的无线网络仅描绘了网络QQ106、网络节点QQ160和QQ160B、以及无线设备(WD)QQ110、QQ110B和QQ110C。实际上,无线网络还可以包括适于支持无线设备之间或无线设备与另一通信设备(例如,陆线电话、服务提供商或任何其他网络节点或终端设备)之间的通信的任何附加元件。在所示组件中,以附加细节描绘网络节点QQ160和WD QQ110。无线网络可以向一个或多个无线设备提供通信和其他类型的服务,以便于无线设备接入和/或使用由无线网络提供或经由无线网络提供的服务。
无线网络可以包括任何类型的通信、电信、数据、蜂窝和/或无线电网络或其他类似类型的系统,和/或与任何类型的通信、电信、数据、蜂窝和/或无线电网络或其他类似类型的系统接口连接。在一些实施例中,无线网络可以被配置为根据特定标准或其他类型的预定义规则或过程来操作。因此,无线通信网络的特定实施例可以实现诸如全球移动通信系统(GSM)、通用移动电信系统(UMTS)、长期演进(LTE)和/或其他合适的2G、3G、4G或5G标准之类的通信标准;诸如IEEE 802.11标准之类的无线局域网(WLAN)标准;和/或诸如全球微波接入互操作性(WiMax)、蓝牙、Z-Wave和/或ZigBee标准之类的任何其他适合的无线通信标准。
网络QQ106可以包括一个或多个回程网络、核心网络、IP网络、公共交换电话网络(PSTN)、分组数据网络、光网络、广域网(WAN)、局域网(LAN)、无线局域网(WLAN)、有线网络、无线网络、城域网和其他网络,以实现设备之间的通信。
网络节点QQ160和WD QQ110包括下面更详细描述的各种组件。这些组件一起工作以提供网络节点和/或无线设备功能,例如在无线网络中提供无线连接。在不同的实施例中,无线网络可以包括任何数量的有线或无线网络、网络节点、基站、控制器、无线设备、中继站和/或可以促进或参与数据和/或信号的通信(无论是经由有线连接还是经由无线连接)的任何其他组件或系统。
如本文所使用的,“网络节点”指的是能够、被配置、被布置和/或可操作以直接或间接地与无线设备和/或与无线网络中的其他网络节点或设备通信,以实现和/或提供向无线设备的无线接入和/或执行无线网络中的其他功能(例如,管理)的设备。网络节点的示例包括但不限于接入点(AP)(例如,无线电接入点)、基站(BS)(例如,无线电基站、节点B(NodeB)、演进NodeB(eNB)和NR NodeB(gNB))。基站可以基于它们提供的覆盖的量(或者换言之,基于它们的发射功率水平)来分类,于是它们还可以被称为毫微微基站、微微基站、微基站或宏基站。基站可以是中继节点或控制中继的中继宿主节点。网络节点还可以包括分布式无线电基站的一个或多个(或所有)部分,例如集中式数字单元和/或远程无线电单元(RRU)(有时被称为远程无线电头端(RRH))。这种远程无线电单元可以与或可以不与天线集成为天线集成无线电。分布式无线电基站的部分也可以称为分布式天线系统(DAS)中的节点。网络节点的又一些示例包括多标准无线电(MSR)设备(如MSR BS)、网络控制器(如无线电网络控制器(RNC)或基站控制器(BSC))、基站收发机站(BTS)、传输点、传输节点、多小区/多播协调实体(MCE)、核心网络节点(例如,MSC、MME)、O&M节点、OSS节点、SON节点、定位节点(例如,E-SMLC)和/或MDT。作为另一示例,网络节点可以是虚拟网络节点,如下面更详细描述的。然而,更一般地,网络节点可以表示如下的任何合适的设备(或设备组):该设备(或设备组)能够、被配置、被布置和/或可操作以实现和/或向无线设备提供对无线网络的接入,或向已接入无线网络的无线设备提供某种服务。
在图13中,网络节点QQ160包括处理电路QQ170、设备可读介质QQ180、接口QQ190、辅助设备QQ184、电源QQ186、电源电路QQ187和天线QQ162。尽管图13的示例无线网络中示出的网络节点QQ160可以表示包括所示硬件组件的组合的设备,但是其他实施例可以包括具有不同组件组合的网络节点。应当理解,网络节点包括执行本文公开的任务、特征、功能和方法所需的硬件和/或软件的任何适合组合。此外,虽然网络节点QQ160的组件被描绘为位于较大框内或嵌套在多个框内的单个框,但实际上,网络节点可包括构成单个图示组件的多个不同物理组件(例如,设备可读介质QQ180可以包括多个单独的硬盘驱动器以及多个RAM模块)。
类似地,网络节点QQ160可以由多个物理上分离的组件(例如,NodeB组件和RNC组件、或BTS组件和BSC组件等)组成,每个这些组件可以具有其各自的相应组件。在网络节点QQ160包括多个分离的组件(例如,BTS和BSC组件)的某些场景中,可以在若干网络节点之间共享这些分离的组件中的一个或多个。例如,单个RNC可以控制多个NodeB。在这种场景中,每个唯一的NodeB和RNC对在一些实例中可以被认为是单个单独的网络节点。在一些实施例中,网络节点QQ160可被配置为支持多种无线电接入技术(RAT)。在这种实施例中,一些组件可被复制(例如,用于不同RAT的单独的设备可读介质QQ180),并且一些组件可被重用(例如,可以由RAT共享相同的天线QQ162)。网络节点QQ160还可以包括用于集成到网络节点QQ160中的不同无线技术(例如,GSM、WCDMA、LTE、NR、WiFi或蓝牙无线技术)的多组各种所示组件。这些无线技术可以被集成到网络节点QQ160内的相同或不同芯片或芯片组和其他组件中。
处理电路QQ170被配置为执行本文描述为由网络节点提供的任何确定、计算或类似操作(例如,某些获得操作)。由处理电路QQ170执行的这些操作可以包括通过以下操作对由处理电路QQ170获得的信息进行处理:例如,将获得的信息转换为其他信息,将获得的信息或转换后的信息与存储在网络节点中的信息进行比较,和/或基于获得的信息或转换后的信息执行一个或多个操作,并根据所述处理的结果做出确定。
处理电路QQ170可以包括下述中的一个或多个的组合:微处理器、控制器、微控制器、中央处理单元、数字信号处理器、专用集成电路、现场可编程门阵列、或者任何其它合适的计算设备、资源、或硬件、软件和/或编码逻辑的组合,其可操作为单独地或与其他网络节点QQ160组件(例如,设备可读介质QQ180)相结合来提供网络节点QQ160功能。例如,处理电路QQ170可以执行存储在设备可读介质QQ180中或存储在处理电路QQ170内的存储器中的指令。这样的功能可以包括提供本文讨论的各种无线特征、功能或益处中的任何一个。在一些实施例中,处理电路QQ170可以包括片上系统(SOC)。
在一些实施例中,处理电路QQ170可以包括射频(RF)收发机电路QQ172和基带处理电路QQ174中的一个或多个。在一些实施例中,射频(RF)收发机电路QQ172和基带处理电路QQ174可以位于单独的芯片(或芯片组)、板或单元(例如无线电单元和数字单元)上。在备选实施例中,RF收发机电路QQ172和基带处理电路QQ174的部分或全部可以在同一芯片或芯片组、板或单元上。
在某些实施例中,本文描述为由网络节点、基站、eNB或其他这样的网络设备提供的一些或所有功能可由处理电路QQ170执行,处理电路QQ170执行存储在设备可读介质QQ180或处理电路QQ170内的存储器上的指令。在备选实施例中,功能中的一些或全部可以例如以硬连线方式由处理电路QQ170提供,而无需执行存储在单独的或分立的设备可读介质上的指令。在任何这些实施例中,无论是否执行存储在设备可读存储介质上的指令,处理电路QQ170都可以被配置为执行所描述的功能。由这种功能提供的益处不仅限于处理电路QQ170或不仅限于网络节点QQ160的其他组件,而是作为整体由网络节点QQ160和/或总体上由终端用户和无线网络享有。
设备可读介质QQ180可以包括任何形式的易失性或非易失性计算机可读存储器,包括但不限于永久存储设备、固态存储器、远程安装存储器、磁介质、光学介质、随机存取存储器(RAM)、只读存储器(ROM)、大容量存储介质(例如,硬盘)、可移除存储介质(例如,闪存驱动器、致密盘(CD)或数字视频盘(DVD))和/或任何其他易失性或非易失性、非暂时性设备可读和/或计算机可执行存储器设备,其存储可由处理电路QQ170使用的信息、数据和/或指令。设备可读介质QQ180可以存储任何合适的指令、数据或信息,包括计算机程序、软件、包括逻辑、规则、代码、表等中的一个或多个的应用、和/或能够由处理电路QQ170执行并由网络节点QQ160使用的其他指令。设备可读介质QQ180可以用于存储由处理电路QQ170做出的任何计算和/或经由接口QQ190接收的任何数据。在一些实施例中,可以认为处理电路QQ170和设备可读介质QQ180是集成的。
接口QQ190用于网络节点QQ160、网络QQ106和/或WD QQ110之间的信令和/或数据的有线或无线通信。如图所示,接口QQ190包括端口/端子QQ194,用于例如通过有线连接向网络QQ106发送数据和从网络QQ106接收数据。接口QQ190还包括无线电前端电路QQ192,其可以耦合到天线QQ162,或者在某些实施例中是天线QQ162的一部分。无线电前端电路QQ192包括滤波器QQ198和放大器QQ196。无线电前端电路QQ192可以连接到天线QQ162和处理电路QQ170。无线电前端电路可以被配置为调节天线QQ162和处理电路QQ170之间通信的信号。无线电前端电路QQ192可以接收数字数据,该数字数据将通过无线连接向外发送给其他网络节点或WD。无线电前端电路QQ192可以使用滤波器QQ198和/或放大器QQ196的组合将数字数据转换为具有适合信道和带宽参数的无线电信号。然后可以通过天线QQ162发送无线电信号。类似地,当接收数据时,天线QQ162可以收集无线电信号,然后由无线电前端电路QQ192将其转换为数字数据。数字数据可以被传递给处理电路QQ170。在其他实施例中,接口可包括不同组件和/或组件的不同组合。
在某些备选实施例中,网络节点QQ160可以不包括单独的无线电前端电路QQ192,作为替代,处理电路QQ170可以包括无线电前端电路并且可以连接到天线QQ162,而无需单独的无线电前端电路QQ192。类似地,在一些实施例中,RF收发机电路QQ172的全部或一些可以被认为是接口QQ190的一部分。在其他实施例中,接口QQ190可以包括一个或多个端口或端子QQ194、无线电前端电路QQ192和RF收发机电路QQ172(作为无线电单元(未示出)的一部分),并且接口QQ190可以与基带处理电路QQ174(是数字单元(未示出)的一部分)通信。
天线QQ162可以包括被配置为发送和/或接收无线信号的一个或多个天线或天线阵列。天线QQ162可以耦合到无线电前端电路QQ190,并且可以是能够无线地发送和接收数据和/或信号的任何类型的天线。在一些实施例中,天线QQ162可以包括一个或多个全向、扇形或平板天线,其可操作用于发送/接收在例如2GHz和66GHz之间的无线电信号。全向天线可以用于在任何方向上发送/接收无线电信号,扇形天线可以用于向/从在特定区域内的设备发送/接收无线电信号,以及平板天线可以是用于以相对直线的方式发送/接收无线电信号的视线天线。在一些情况下,使用多于一个天线可以称为MIMO。在某些实施例中,天线QQ162可以与网络节点QQ160分离,并且可以通过接口或端口连接到网络节点QQ160。
天线QQ162、接口QQ190和/或处理电路QQ170可以被配置为执行本文描述为由网络节点执行的任何接收操作和/或某些获得操作。可以从无线设备、另一网络节点和/或任何其他网络设备接收任何信息、数据和/或信号。类似地,天线QQ162、接口QQ190和/或处理电路QQ170可以被配置为执行本文描述的由网络节点执行的任何发送操作。可以将任何信息、数据和/或信号发送给无线设备、另一网络节点和/或任何其他网络设备。
电源电路QQ187可以包括电源管理电路或耦合到电源管理电路,并且被配置为向网络节点QQ160的组件提供电力以执行本文描述的功能。电源电路QQ187可以从电源QQ186接收电力。电源QQ186和/或电源电路QQ187可以被配置为以适合于各个组件的形式(例如,在每个相应组件所需的电压和电流水平处)向网络节点QQ160的各种组件提供电力。电源QQ186可以被包括在电源电路QQ187和/或网络节点QQ160中或在电源电路QQ187和/或网络节点QQ160外部。例如,网络节点QQ160可以经由输入电路或诸如电缆的接口连接到外部电源(例如,电源插座),由此外部电源向电源电路QQ187供电。作为另一个示例,电源QQ186可以包括电池或电池组形式的电源,其连接到或集成在电源电路QQ187中。如果外部电源发生故障,电池可以提供备用电力。也可以使用其他类型的电源,例如光伏器件。
网络节点QQ160的备选实施例可以包括超出图13中所示的组件的附加组件,所述附加组件可以负责提供网络节点的功能(包括本文描述的功能中的任一者和/或支持本文描述的主题所需的任何功能)的某些方面。例如,网络节点QQ160可以包括用户接口设备,以允许将信息输入到网络节点QQ160中并允许从网络节点QQ160输出信息。这可以允许用户针对网络节点QQ160执行诊断、维护、修复和其他管理功能。
如本文所使用的,WD指的是能够、被配置为、被布置为和/或可操作以与网络节点和/或其他无线设备无线通信的设备。除非另有说明,否则术语WD在本文中可与用户设备(UE)互换使用。无线传送可以包括使用电磁波、无线电波、红外波和/或适于通过空气传送信息的其他类型的信号来发送和/或接收无线信号。在一些实施例中,WD可以被配置为在没有直接人类交互的情况下发送和/或接收信息。例如,WD可以被设计为当由内部或外部事件触发时,或者响应于来自网络的请求,以预定的调度向网络发送信息。WD的示例包括但不限于智能电话、移动电话、蜂窝电话、IP语音(VoIP)电话、无线本地环路电话、台式计算机、个人数字助理(PDA)、无线摄像头、游戏控制台或设备、音乐存储设备、回放设备、可穿戴终端设备、无线端点、移动台、平板计算机、便携式计算机、便携式嵌入式设备(LEE)、便携式安装设备(LME)、智能设备、无线客户驻地设备(CPE)、车载无线终端设备等。WD可以例如通过实现用于侧链路通信的3GPP标准来支持设备到设备(D2D)通信、车辆到车辆(V2V)通信,车辆到基础设施(V2I)通信,车辆到任何事物(V2X)通信,并且在这种情况下可以被称为D2D通信设备。作为又一特定示例,在物联网(IoT)场景中,WD可以表示执行监视和/或测量并将这种监视和/或测量的结果发送给另一WD和/或网络节点的机器或其他设备。在这种情况下,WD可以是机器到机器(M2M)设备,在3GPP上下文中它可以被称为MTC设备。作为一个具体示例,WD可以是实现3GPP窄带物联网(NB-IoT)标准的UE。这种机器或设备的具体示例是传感器、计量设备(例如,电表)、工业机器、或者家用或个人设备(例如,冰箱、电视等)、个人可穿戴设备(例如,手表、健身追踪器等)。在其他场景中,WD可以表示能够监视和/或报告其操作状态或与其操作相关联的其他功能的车辆或其他设备。如上所述的WD可以表示无线连接的端点,在这种情况下,该设备可以被称为无线终端。此外,如上所述的WD可以是移动的,在这种情况下,它也可以称为移动设备或移动终端。
如图所示,无线设备QQ110包括天线QQ111、接口QQ114、处理电路QQ120、设备可读介质QQ130、用户接口设备QQ132、辅助设备QQ134、电源QQ136和电源电路QQ137。WD QQ110可以包括用于WD QQ110支持的不同无线技术(例如,GSM、WCDMA、LTE、NR、WiFi、WiMAX或蓝牙无线技术,仅提及一些)的多组一个或多个所示组件。这些无线技术可以集成到与WD QQ110内的其他组件相同或不同的芯片或芯片组中。
天线QQ111可以包括被配置为发送和/或接收无线信号的一个或多个天线或天线阵列,并且连接到接口QQ114。在某些备选实施例中,天线QQ111可以与WD QQ110分开并且可以通过接口或端口连接到WD QQ110。天线QQ111、接口QQ114和/或处理电路QQ120可以被配置为执行本文描述为由WD执行的任何接收或发送操作。可以从网络节点和/或另一个WD接收任何信息、数据和/或信号。在一些实施例中,无线电前端电路和/或天线QQ111可以被认为是接口。
如图所示,接口QQ114包括无线电前端电路QQ112和天线QQ111。无线电前端电路QQ112包括一个或多个滤波器QQ118和放大器QQ116。无线电前端电路QQ114连接到天线QQ111和处理电路QQ120,并且被配置为调节在天线QQ111和处理电路QQ120之间传送的信号。无线电前端电路QQ112可以耦合到天线QQ111或者是天线QQ111的一部分。在某些备选实施例中,WD QQ110可以不包括单独的无线电前端电路QQ112;而是,处理电路QQ120可以包括无线电前端电路,并且可以连接到天线QQ111。类似地,在一些实施例中,RF收发机电路QQ122中的一些或全部可以被认为是接口QQ114的一部分。无线电前端电路QQ112可以接收数字数据,该数字数据将通过无线连接向外发送给其他网络节点或WD。无线电前端电路QQ112可以使用滤波器QQ118和/或放大器QQ116的组合将数字数据转换为具有适合信道和带宽参数的无线电信号。然后可以通过天线QQ111发送无线电信号。类似地,当接收数据时,天线QQ111可以收集无线电信号,然后由无线电前端电路QQ112将其转换为数字数据。数字数据可以被传递给处理电路QQ120。在其他实施例中,接口可包括不同组件和/或组件的不同组合。
处理电路QQ120可以包括下述中的一个或多个的组合:微处理器、控制器、微控制器、中央处理单元、数字信号处理器、专用集成电路、现场可编程门阵列、或者任何其它合适的计算设备、资源、或硬件、软件和/或编码逻辑的组合,其可操作为单独地或与其他WDQQ110组件(例如设备可读介质QQ130)相结合来提供WD QQ110功能。这样的功能可以包括提供本文讨论的各种无线特征或益处中的任何一个。例如,处理电路QQ120可以执行存储在设备可读介质QQ130中或处理电路QQ120内的存储器中的指令,以提供本文公开的功能。
如图所示,处理电路QQ1 20包括RF收发机电路QQ122、基带处理电路QQ124和应用处理电路QQ126中的一个或多个。在其他实施例中,处理电路可以包括不同的组件和/或组件的不同组合。在某些实施例中,WD QQ110的处理电路QQ120可以包括SOC。在一些实施例中,RF收发机电路QQ122、基带处理电路QQ124和应用处理电路QQ126可以在单独的芯片或芯片组上。在备选实施例中,基带处理电路QQ124和应用处理电路QQ126的一部分或全部可以组合成一个芯片或芯片组,并且RF收发机电路QQ122可以在单独的芯片或芯片组上。在另外的备选实施例中,RF收发机电路QQ122和基带处理电路QQ124的一部分或全部可以在同一芯片或芯片组上,并且应用处理电路QQ126可以在单独的芯片或芯片组上。在其他备选实施例中,RF收发机电路QQ122、基带处理电路QQ124和应用处理电路QQ126的一部分或全部可以组合在同一芯片或芯片组中。在一些实施例中,RF收发机电路QQ122可以是接口QQ114的一部分。RF收发机电路QQ122可以调节RF信号以用于处理电路QQ120。
在某些实施例中,本文描述为由WD执行的一些或所有功能可以由处理电路QQ120提供,处理电路QQ120执行存储在设备可读介质QQ130上的指令,在某些实施例中,设备可读介质QQ130可以是计算机可读存储介质。在备选实施例中,功能中的一些或全部可以例如以硬连线方式由处理电路QQ120提供,而无需执行存储在单独的或分立的设备可读存储介质上的指令。在任何这些特定实施例中,无论是否执行存储在设备可读存储介质上的指令,处理电路QQ120都可以被配置为执行所描述的功能。由这种功能提供的益处不仅限于处理电路QQ120或者不仅限于WD QQ110的其他组件,而是作为整体由WD QQ110和/或总体上由终端用户和无线网络享有。
处理电路QQ120可以被配置为执行本文描述为由WD执行的任何确定、计算或类似操作(例如,某些获得操作)。由处理电路QQ120执行的这些操作可以包括通过以下操作对由处理电路QQ120获得的信息进行处理:例如,将获得的信息转换为其他信息,将获得的信息或转换后的信息与由WD QQ110存储的信息进行比较,和/或基于获得的信息或转换后的信息执行一个或多个操作,并根据所述处理的结果做出确定。
设备可读介质QQ130可操作以存储计算机程序、软件、包括逻辑、规则、代码、表等中的一个或多个的应用、和/或能够由处理电路QQ120执行的其他指令。设备可读介质QQ130可以包括计算机存储器(例如,随机存取存储器(RAM)或只读存储器(ROM))、大容量存储介质(例如,硬盘)、可移除存储介质(例如,致密盘(CD)或数字视频盘(DVD))、和/或任何其他易失性或非易失性、非暂时性设备可读和/或计算机可执行存储器设备,其存储可由处理电路QQ120使用的信息、数据和/或指令。在一些实施例中,可以认为处理电路QQ120和设备可读介质QQ130是集成的。
用户接口设备QQ132可以提供允许人类用户与WD QQ110交互的组件。这种交互可以具有多种形式,例如视觉、听觉、触觉等。用户接口设备QQ132可操作以向用户产生输出,并允许用户向WD QQ110提供输入。交互的类型可以根据安装在WD QQ110中的用户接口设备QQ132的类型而变化。例如,如果WD QQ110是智能电话,则交互可以经由触摸屏进行;如果WDQQ110是智能仪表,则交互可以通过提供用量的屏幕(例如,使用的加仑数)或提供可听警报的扬声器(例如,如果检测到烟雾)进行。用户接口设备QQ132可以包括输入接口、设备和电路、以及输出接口、设备和电路。用户接口设备QQ132被配置为允许将信息输入到WD QQ110中,并且连接到处理电路QQ120以允许处理电路QQ120处理输入信息。用户接口设备QQ132可以包括例如麦克风、接近或其他传感器、按键/按钮、触摸显示器、一个或多个相机、USB端口或其他输入电路。用户接口设备QQ132还被配置为允许从WD QQ110输出信息,并允许处理电路QQ120从WD QQ110输出信息。用户接口设备QQ132可以包括例如扬声器、显示器、振动电路、USB端口、耳机接口或其他输出电路。通过使用用户接口设备QQ132的一个或多个输入和输出接口、设备和电路,WD QQ110可以与终端用户和/或无线网络通信,并允许它们受益于本文描述的功能。
辅助设备QQ134可操作以提供可能通常不由WD执行的更具体的功能。这可以包括用于针对各种目的进行测量的专用传感器,用于诸如有线通信等之类的其他类型通信的接口等。辅助设备QQ134的组件的包括和类型可以根据实施例和/或场景而变化。
在一些实施例中,电源QQ136可以是电池或电池组的形式。也可以使用其他类型的电源,例如外部电源(例如电源插座)、光伏器件或电池单元。WD QQ110还可以包括用于从电源QQ136向WD QQ110的各个部分输送电力的电源电路QQ137,WD QQ110的各个部分需要来自电源QQ136的电力以执行本文描述或指示的任何功能。在某些实施例中,电源电路QQ137可以包括电源管理电路。电源电路QQ137可以附加地或备选地可操作以从外部电源接收电力;在这种情况下,WD QQ110可以通过输入电路或诸如电力线缆的接口连接到外部电源(例如电源插座)。在某些实施例中,电源电路QQ137还可操作以将电力从外部电源输送到电源QQ136。例如,这可以用于电源QQ136的充电。电源电路QQ137可以对来自电源QQ136的电力执行任何格式化、转换或其他修改,以使电力适合于被供电的WD QQ110的各个组件。
图14是示出了根据本文描述的各个方面的UE的实施例的示意图。如本文中所使用的,“用户设备”或“UE”可能不一定具有在拥有和/或操作相关设备的人类用户的意义上的“用户”。作为替代,UE可以表示意在向人类用户销售或由人类用户操作但可能不或最初可能不与特定的人类用户相关联的设备(例如,智能喷水控制器)。备选地,UE可以表示不意在向终端用户销售或由终端用户操作但可以与用户的利益相关联或针对用户的利益操作的设备(例如,智能电表)。UE QQ2200可以是由第三代合作伙伴计划(3GPP)识别的任何UE,包括NB-IoTUE、机器类型通信(MTC)UE和/或增强型MTC(eMTC)UE。如图K所示,UE QQ200是根据第三代合作伙伴计划(3GPP)发布的一个或多个通信标准(例如3GPP的GSM、UMTS、LTE和/或5G标准)被配置用于通信的WD的一个示例。如前所述,术语WD和UE可以互换使用。因此,尽管图14是UE,但是本文讨论的组件同样适用于WD,反之亦然。
在图14中,UE QQ200包括处理电路QQ201,其可操作地耦合到输入/输出接口QQ205、射频(RF)接口QQ209、网络连接接口QQ211、包括随机存取存储器(RAM)QQ217、只读存储器(ROM)QQ219和存储介质QQ221等的存储器QQ215、通信子系统QQ231、电源QQ213和/或任何其他组件,或其任意组合。存储介质QQ221包括操作系统QQ223、应用程序QQ225和数据QQ227。在其他实施例中,存储介质QQ221可以包括其他类似类型的信息。某些UE可以使用图14中所示的所有组件,或者仅使用这些组件的子集。组件之间的集成水平可以从一个UE到另一个UE而变化。此外,某些UE可以包含组件的多个实例,例如多个处理器、存储器、收发机、发射机、接收机等。
在图14中,处理电路QQ201可以被配置为处理计算机指令和数据。处理电路QQ201可以被配置为实现任何顺序状态机,其可操作为执行存储为存储器中的机器可读计算机程序的机器指令,所述状态机例如是:一个或多个硬件实现的状态机(例如,以离散逻辑、FPGA、ASIC等来实现);可编程逻辑连同适当的固件;一个或多个存储的程序、通用处理器(例如,微处理器或数字信号处理器(DSP))连同适合的软件;或以上的任何组合。例如,处理电路QQ201可以包括两个中央处理单元(CPU)。数据可以是适合于由计算机使用的形式的信息。
在所描绘的实施例中,输入/输出接口QQ205可以被配置为向输入设备、输出设备或输入和输出设备提供通信接口。UE QQ200可以被配置为经由输入/输出接口QQ205使用输出设备。输出设备可以使用与输入设备相同类型的接口端口。例如,USB端口可用于提供向UE QQ200的输入和从UE QQ200的输出。输出设备可以是扬声器、声卡、视频卡、显示器、监视器、打印机、致动器、发射机、智能卡、另一输出设备或其任意组合。UE QQ200可以被配置为经由输入/输出接口QQ205使用输入设备以允许用户将信息捕获到UE QQ200中。输入设备可以包括触摸敏感或存在敏感显示器、相机(例如,数字相机、数字摄像机、网络相机等)、麦克风、传感器、鼠标、轨迹球、方向板、触控板、滚轮、智能卡等。存在敏感显示器可以包括电容式或电阻式触摸传感器以感测来自用户的输入。传感器可以是例如加速度计、陀螺仪、倾斜传感器、力传感器、磁力计、光学传感器、接近传感器、另一类似传感器或其任意组合。例如,输入设备可以是加速度计、磁力计、数字相机、麦克风和光学传感器。
在图14中,RF接口QQ209可以被配置为向诸如发射机、接收机和天线之类的RF组件提供通信接口。网络连接接口QQ211可以被配置为提供对网络QQ243A的通信接口。网络QQ243A可以包括有线和/或无线网络,诸如局域网(LAN)、广域网(WAN)、计算机网络、无线网络、电信网络、另一类似网络或其任意组合。例如,网络QQ243A可以包括Wi-Fi网络。网络连接接口QQ211可以被配置为包括接收机和发射机接口,接收机和发射机接口用于根据一个或多个通信协议(例如,以太网、TCP/IP、SONET、ATM等)通过通信网络与一个或多个其他设备通信。网络连接接口QQ211可以实现适合于通信网络链路(例如,光学的、电气的等)的接收机和发射机功能。发射机和接收机功能可以共享电路组件、软件或固件,或者备选地可以分离地实现。
RAM QQ217可以被配置为经由总线QQ202与处理电路QQ201接口连接,以在诸如操作系统、应用程序和设备驱动之类的软件程序的执行期间提供数据或计算机指令的存储或高速缓存。ROM QQ219可以被配置为向处理电路QQ201提供计算机指令或数据。例如,ROMQQ219可以被配置为存储用于存储在非易失性存储器中的基本系统功能的不变低层系统代码或数据,基本系统功能例如基本输入和输出(I/O)、启动或来自键盘的击键的接收。存储介质QQ221可以被配置为包括存储器,诸如RAM、ROM、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁盘、光盘、软盘、硬盘、可移除磁带盒或闪存驱动器。在一个示例中,存储介质QQ221可以被配置为包括操作系统QQ223、诸如web浏览器应用的应用程序QQ225、小部件或小工具引擎或另一应用以及数据文件QQ227。存储介质QQ221可以存储供UE QQ200使用的各种操作系统中的任何一种或操作系统的组合。
存储介质QQ221可以被配置为包括多个物理驱动单元,如独立磁盘冗余阵列(RAID)、软盘驱动器、闪存、USB闪存驱动器、外部硬盘驱动器、拇指盘驱动器、笔式随身盘驱动器、钥匙盘驱动器、高密度数字多功能盘(HD-DVD)光盘驱动器、内置硬盘驱动器、蓝光光盘驱动器、全息数字数据存储(HDDS)光盘驱动器,外置迷你双列直插式存储器模块(DIMM),同步动态随机存取存储器(SDRAM),外部微DIMM SDRAM,诸如用户身份模块或可移除用户身份(SIM/RUIM)模块的智能卡存储器,其他存储器或其任意组合。存储介质QQ221可以允许UEQQ200访问存储在暂时性或非暂时性存储器介质上的计算机可执行指令、应用程序等,以卸载数据或上载数据。诸如利用通信系统的制品之类的制品可以有形地体现在存储介质QQ221中,存储介质QQ221可以包括设备可读介质。
在图14中,处理电路QQ201可以被配置为使用通信子系统QQ231与网络QQ243B通信。网络QQ243A和网络QQ243B可以是一个或多个相同的网络或一个或多个不同的网络。通信子系统QQ231可以被配置为包括用于与网络QQ243B通信的一个或多个收发机。例如,通信子系统QQ231可以被配置为包括用于根据一个或多个通信协议(例如IEEE 802.QQ2、CDMA、WCDMA、GSM、LTE、UTRAN、WiMax等)与能够进行无线通信的另一设备(例如,另一WD、UE)或无线电接入网(RAN)的基站的一个或多个远程收发机通信的一个或多个收发机。每个收发机可以包括发射机QQ233和/或接收机QQ235,以分别实现适合于RAN链路的发射机或接收机功能(例如,频率分配等)。此外,每个收发机的发射机QQ233和接收机QQ235可以共享电路组件、软件或固件,或者替代地可以分离地实现。
在所示实施例中,通信子系统QQ231的通信功能可以包括数据通信、语音通信、多媒体通信、诸如蓝牙的短程通信、近场通信、基于位置的通信(诸如用于确定位置的全球定位系统(GPS)的使用)、另一个类似通信功能,或其任意组合。例如,通信子系统QQ231可以包括蜂窝通信、Wi-Fi通信、蓝牙通信和GPS通信。网络QQ243B可以包括有线和/或无线网络,诸如局域网(LAN)、广域网(WAN)、计算机网络、无线网络、电信网络、另一类似网络或其任意组合。例如,网络QQ243B可以是蜂窝网络、Wi-Fi网络和/或近场网络。电源QQ213可以被配置为向UE QQ200的组件提供交流(AC)或直流(DC)电力。
本文描述的特征、益处和/或功能可以在UE QQ200的组件之一中实现,或者在UEQQ200的多个组件之间划分。此外,本文描述的特征、益处和/或功能可以以硬件、软件或固件的任何组合来实现。在一个示例中,通信子系统QQ231可以被配置为包括本文描述的任何组件。此外,处理电路QQ201可以被配置为通过总线QQ202与任何这样的组件通信。在另一个示例中,任何这样的组件可以由存储在存储器中的程序指令表示,当由处理电路QQ201执行时,程序指令执行本文描述的对应功能。在另一示例中,任何这样的组件的功能可以在处理电路QQ201和通信子系统QQ231之间划分。在另一示例中,任何这样的组件的非计算密集型功能可以用软件或固件实现,并且计算密集型功能可以用硬件实现。
图15是示出虚拟化环境QQ300的示例的示意框图,其中可以虚拟化由一些实施例实现的功能。在本上下文中,虚拟化意味着创建装置或设备的虚拟版本,这可以包括虚拟化硬件平台、存储设备和网络资源。如本文所使用的,虚拟化可以应用于节点(例如,虚拟化基站或虚拟化无线电接入节点)或设备(例如,UE、无线设备或任何其他类型的通信设备)或其组件,并且涉及一种实现,其中至少一部分功能被实现为一个或多个虚拟组件(例如,通过在一个或多个网络中的一个或多个物理处理节点上执行的一个或多个应用、组件、功能、虚拟机或容器)。
在一些实施例中,本文描述的一些或所有功能可以被实现为由在一个或多个硬件节点QQ330托管的一个或多个虚拟环境QQ300中实现的一个或多个虚拟机执行的虚拟组件。此外,在虚拟节点不是无线电接入节点或不需要无线电连接的实施例(例如,核心网络节点)中,网络节点此时可以完全虚拟化。
这些功能可以由一个或多个应用QQ320(其可以替代地被称为软件实例、虚拟设备、网络功能、虚拟节点、虚拟网络功能等)来实现,该一个或多个应用QQ320可操作以实现本文公开的一些实施例的一些特征、功能和/或益处。应用QQ320在虚拟化环境QQ300中运行,虚拟化环境QQ300提供包括处理电路QQ360和存储器QQ390的硬件QQ330。存储器QQ390包含可由处理电路QQ360执行的指令QQ395,由此应用QQ320可操作以提供本文公开的一个或多个特征、益处和/或功能。
虚拟化环境QQ300包括通用或专用网络硬件设备QQ330,其包括一组一个或多个处理器或处理电路QQ360,其可以是商用现货(COTS)处理器、专用集成电路(ASIC)或包括数字或模拟硬件组件或专用处理器的任何其他类型的处理电路。每个硬件设备可以包括存储器QQ390-1,其可以是用于临时存储由处理电路QQ360执行的指令QQ395或软件的非永久存储器。每个硬件设备可以包括一个或多个网络接口控制器(NIC)QQ370,也被称为网络接口卡,其包括物理网络接口QQ380。每个硬件设备还可以包括其中存储有可由处理电路QQ360执行的软件QQ395和/或指令的非暂时性、永久性机器可读存储介质QQ390-2。软件QQ395可以包括任何类型的软件,包括用于实例化一个或多个虚拟化层QQ350的软件(也被称为管理程序)、用于执行虚拟机QQ340的软件以及允许其执行与本文描述的一些实施例相关地描述的功能、特征和/或益处的软件。
虚拟机QQ340包括虚拟处理、虚拟存储器、虚拟联网或接口和虚拟存储、并且可以由对应的虚拟化层QQ350或管理程序运行。可以在虚拟机QQ340中的一个或多个上实现虚拟设备QQ320的实例的不同实施例,并且可以以不同方式做出所述实现。
在操作期间,处理电路QQ360执行软件QQ395以实例化管理程序或虚拟化层QQ350,其有时可被称为虚拟机监视器(VMM)。虚拟化层QQ350可以呈现虚拟操作平台,其在虚拟机QQ340看来像是联网硬件。
如图15所示,硬件QQ330可以是具有通用或特定组件的独立网络节点。硬件QQ330可以包括天线QQ3225并且可以通过虚拟化实现一些功能。备选地,硬件QQ330可以是更大的硬件集群的一部分(例如,在数据中心或客户驻地设备(CPE)中),其中许多硬件节点一起工作并且通过管理和协调(MANO)QQ3100来管理,MANO QQ3100监督应用QQ320的生命周期管理等等。
在一些上下文中,硬件的虚拟化被称为网络功能虚拟化(NFV)。NFV可以用于将众多网络设备类型统一到可以位于数据中心和客户驻地设备中的工业标准高容量服务器硬件、物理交换机和物理存储上。
在NFV的上下文中,虚拟机QQ340可以是物理机器的软件实现,其运行程序如同它们在物理的非虚拟化机器上执行一样。每个虚拟机QQ340以及硬件QQ330中执行该虚拟机的部分(其可以是专用于该虚拟机的硬件和/或由该虚拟机与虚拟机QQ340中的其它虚拟机共享的硬件)形成了单独的虚拟网元(VNE)。
仍然在NFV的上下文中,虚拟网络功能(VNF)负责处理在硬件网络基础设施QQ330之上的一个或多个虚拟机QQ340中运行的特定网络功能,并且对应于图15中的应用QQ320。
在一些实施例中,每个包括一个或多个发射机QQ3220和一个或多个接收机QQ3210的一个或多个无线电单元QQ3200可以耦合到一个或多个天线QQ3225。无线电单元QQ3200可以经由一个或多个适合的网络接口直接与硬件节点QQ330通信,并且可以与虚拟组件结合使用以提供具有无线电能力的虚拟节点,例如无线电接入节点或基站。
在一些实施例中,可以使用控制系统QQ3230来实现一些信令,控制系统QQ3230可以替代地用于硬件节点QQ330和无线电单元QQ3200之间的通信。
图16是示出了根据一些实施例的经由中间网络连接到主机计算机的电信网络的示例的示意图。
参照图16,根据实施例,通信系统包括电信网络QQ410(例如,3GPP类型的蜂窝网络),电信网络QQ410包括接入网QQ411(例如,无线电接入网)和核心网络QQ414。接入网QQ411包括多个基站QQ412a、QQ412b、QQ412c(例如,NB、eNB、gNB或其他类型的无线接入点),每个基站定义对应覆盖区域QQ413a、QQ413b、QQ413c。每个基站QQ412a、QQ412b、QQ412c通过有线或无线连接QQ415可连接到核心网络QQ414。位于覆盖区域QQ413c中的第一UE QQ491被配置为以无线方式连接到对应基站QQ412c或被对应基站QQ412c寻呼。覆盖区域QQ413a中的第二UE QQ492以无线方式可连接到对应基站QQ412a。虽然在该示例中示出了多个UEQQ491、QQ492,但所公开的实施例同等地适用于唯一的UE处于覆盖区域中或者唯一的UE正连接到对应基站QQ412的情形。
电信网络QQ410自身连接到主机计算机QQ430,主机计算机QQ430可以以独立服务器、云实现的服务器、分布式服务器的硬件和/或软件来实现,或者被实现为服务器集群中的处理资源。主机计算机QQ430可以处于服务提供商的所有或控制之下,或者可以由服务提供商或代表服务提供商来操作。电信网络QQ410与主机计算机QQ430之间的连接QQ421和QQ422可以直接从核心网络QQ414延伸到主机计算机QQ430,或者可以经由可选的中间网络QQ420进行。中间网络QQ420可以是公共、私有或承载网络中的一个或多于一个的组合;中间网络QQ420(若存在)可以是骨干网或互联网;具体地,中间网络QQ420可以包括两个或更多个子网络(未示出)。
图16的通信系统作为整体实现了所连接的UE QQ491、QQ492与主机计算机QQ430之间的连接。该连接可被描述为过顶(over-the-top,OTT)连接QQ450。主机计算机QQ430和所连接的UE QQ491、QQ492被配置为使用接入网QQ411、核心网络QQ414、任何中间网络QQ420和可能的其他基础设施(未示出)作为中介,经由OTT连接QQ450来传送数据和/或信令。在OTT连接QQ450所经过的参与通信设备未意识到上行链路和下行链路通信的路由的意义上,OTT连接QQ450可以是透明的。例如,可以不向基站QQ412通知或者可以无需向基站QQ412通知具有源自主机计算机QQ430的要向所连接的UE QQ491转发(例如,移交)的数据的输入下行链路通信的过去的路由。类似地,基站QQ412无需意识到源自UE QQ491向主机计算机QQ430的输出上行链路通信的未来的路由。
图17是示出了根据一些实施例的通过部分无线连接经由基站与用户设备通信的主机计算机的示例的示意图。
现将参照图17来描述根据实施例的在先前段落中所讨论的UE、基站和主机计算机的示例实现方式。在通信系统QQ500中,主机计算机QQ510包括硬件QQ515,硬件QQ515包括通信接口QQ516,通信接口QQ516被配置为建立和维护与通信系统QQ500的不同通信设备的接口的有线或无线连接。主机计算机QQ510还包括处理电路QQ518,其可以具有存储和/或处理能力。具体地,处理电路QQ518可以包括适用于执行指令的一个或多个可编程处理器、专用集成电路、现场可编程门阵列或它们的组合(未示出)。主机计算机QQ510还包括软件QQ511,其被存储在主机计算机QQ510中或可由主机计算机QQ510访问并且可由处理电路QQ518来执行。软件QQ511包括主机应用QQ512。主机应用QQ512可操作为向远程用户(例如,UE QQ530)提供服务,UE QQ530经由在UE QQ530和主机计算机QQ510处端接的OTT连接QQ550来连接。在向远程用户提供服务时,主机应用QQ512可以提供使用OTT连接QQ550来发送的用户数据。
通信系统QQ500还包括在电信系统中提供的基站QQ520,基站QQ520包括使其能够与主机计算机QQ510和与UE QQ530进行通信的硬件QQ525。硬件QQ525可以包括:通信接口QQ526,其用于建立和维护与通信系统QQ500的不同通信设备的接口的有线或无线连接;以及无线电接口QQ527,其用于至少建立和维护与位于基站QQ520所服务的覆盖区域(图17中未示出)中的UE QQ530的无线连接QQ570。通信接口QQ526可以被配置为促进到主机计算机QQ510的连接QQ560。连接QQ560可以是直接的,或者它可以经过电信系统的核心网络(图17中未示出)和/或经过电信系统外部的一个或多个中间网络。在所示实施例中,基站QQ520的硬件QQ525还包括处理电路QQ528,处理电路QQ528可以包括适用于执行指令的一个或多个可编程处理器、专用集成电路、现场可编程门阵列或它们的组合(未示出)。基站QQ520还具有内部存储的或经由外部连接可访问的软件QQ521。
通信系统QQ500还包括已经提及的UE QQ530。硬件QQ535可以包括无线电接口QQ537,其被配置为建立和维护与服务于UE QQ530当前所在的覆盖区域的基站的无线连接QQ570。UE QQ530的硬件QQ535还包括处理电路QQ538,其可以包括适用于执行指令的一个或多个可编程处理器、专用集成电路、现场可编程门阵列或它们的组合(未示出)。UE QQ530还包括软件QQ531,其被存储在UE QQ530中或可由UE QQ530访问并可由处理电路QQ538执行。软件QQ531包括客户端应用QQ532。客户端应用QQ532可操作为在主机计算机QQ510的支持下经由UE QQ530向人类或非人类用户提供服务。在主机计算机QQ510中,执行的主机应用QQ512可以经由端接在UEQQ530和主机计算机QQ510处的OTT连接QQ550与执行客户端应用QQ532进行通信。在向用户提供服务时,客户端应用QQ532可以从主机应用QQ512接收请求数据,并响应于请求数据来提供用户数据。OTT连接QQ550可以传送请求数据和用户数据二者。客户端应用QQ532可以与用户进行交互,以生成其提供的用户数据。
注意,图17所示的主机计算机QQ510、基站QQ520和UE QQ530可以分别与图M的主机计算机QQ430、基站QQ412a、QQ412b、QQ412c之一和UE QQ491、QQ492之一相似或相同。也就是说,这些实体的内部工作可以如图17所示,并且独立地,周围网络拓扑可以是图16的网络拓扑。
在图17中,已经抽象地绘制OTT连接QQ550,以示出经由基站QQ520在主机计算机QQ510与UE QQ530之间的通信,而没有明确地提到任何中间设备以及经由这些设备的消息的精确路由。网络基础设施可以确定该路由,该路由可以被配置为向UE QQ530隐藏或向操作主机计算机QQ510的服务提供商隐藏或向这二者隐藏。在OTT连接QQ550活动时,网络基础设施还可以(例如,基于负载均衡考虑或网络的重新配置)做出其动态地改变路由的决策。
UE QQ530与基站QQ520之间的无线连接QQ570根据贯穿本公开所描述的实施例的教导。各种实施例中的一个或多个实施例改进了使用OTT连接QQ550向UE QQ530提供的OTT服务的性能,其中无线连接QQ570形成OTT连接QQ550中的最后一段。
出于监视一个或多个实施例改进的数据速率、时延和其他因素的目的,可以提供测量过程。还可以存在用于响应于测量结果的变化而重新配置主机计算机QQ510与UEQQ530之间的OTT连接QQ550的可选网络功能。用于重新配置OTT连接QQ550的测量过程和/或网络功能可以以主机计算机QQ510的软件QQ511和硬件QQ515或以UE QQ530的软件QQ531和硬件QQ535或以这二者来实现。在实施例中,传感器(未示出)可被部署在OTT连接QQ550经过的通信设备中或与OTT连接QQ550经过的通信设备相关联地来部署;传感器可以通过提供以上例示的监视量的值或提供软件QQ511、QQ531可以用来计算或估计监视量的其他物理量的值来参与测量过程。对OTT连接QQ550的重新配置可以包括消息格式、重传设置、优选路由等;该重新配置不需要影响基站QQ520,并且其对于基站QQ520来说可以是未知的或不可感知的。这种过程和功能在本领域中可以是已知的和已被实践的。在特定实施例中,测量可以涉及促进主机计算机QQ510对吞吐量、传播时间、时延等的测量的专有UE信令。该测量可以如下实现:软件QQ511和QQ531在其监视传播时间、差错等的同时使得能够使用OTT连接QQ550来发送消息(具体地,空消息或“假”消息)。
实施例的另一方面涉及一种对象跟踪设备方法,参见图18。该方法包括:在步骤S1中,在视频流中的前一帧的输出之后但在当前帧的输出之前的时间点,通过以下方式来确定对象在视频流中的当前帧中的位置:从OD服务器针对视频流中的先前帧确定的对象的位置开始,递归地跟踪对象在视频流中的从先前帧之后直到当前帧的帧中的位置,以及递归地更新对象的模型,直到对象的与当前帧相关联的模型。与视频流的给定帧相关联的每个模型包括从该给定帧之前的视频流的至少一帧中提取的至少一个对象特征表示。
在实施例中,该方法还包括附加的可选步骤,如图19所示。该方法从图18中的步骤S1继续。下一步骤S2包括基于对象在当前帧中的位置来使用感知信息增强当前帧。该实施例还包括在步骤S3中输出增强的当前帧。
图20是示出了根据实施例的图18所示的方法的附加可选步骤的流程图。该实施例包括:在步骤S10中,通过以下方式来递归地跟踪对象的位置:从OD服务器针对先前帧确定的对象的位置开始,在位于先前帧之后并按输出顺序排序的视频帧的集合中的每个视频帧中,基于对象在该集合中的前一帧中的位置,或者基于OD服务器针对该集合的第一视频帧确定的对象的位置,且基于对象的与该集合的视频帧相关联的模型,跟踪对象的位置。
在实施例中,该方法还包括步骤S11。该步骤S11包括:在位于先前帧之后并按输出顺序排序的视频帧的集合中的每个视频帧中,递归地基于与该集合的该视频帧相关联的模型和从该集合的该视频帧提取的至少一个对象特征表示来更新对象的模型。然后该方法结束或继续进行图19中的步骤S2。
在实施例中,图18的步骤S1包括:通过递归地跟踪对象的位置并且递归地更新对象的模型,确定对象在当前帧I
在特定实施例中,如图21所示的实施例包括将计数器i设置为其初始值(优选地为1)的可选步骤S22。下一可选步骤S23包括检查是否n-k+im<n。如果n-k+im小于n,则该方法继续如上所述的步骤S24至S26。然后,该方法返回到步骤S23,其中在步骤S25中更新计数器i的值之后进行新的检查。
如果相反,步骤S23中的检查确认n-k+im大于n,则该方法结束或继续进行图19中的步骤S2。
在实施例中,图21的步骤S24包括基于
在实施例中,该方法包括如图22所示的附加的可选步骤S21。该步骤S21包括:将参数k与参数θ进行比较,所述参数θ表示:在视频流中的前一帧的输出与当前帧的输出之间的时间段期间,关于跟踪对象的位置和更新对象的模型可以处理的帧数。如果为k≤θ,则该方法继续进行图18中的步骤S1,在该实施例中,步骤S1包括通过递归地跟踪对象在视频流的帧中的位置并递归地更新对象的模型来确定对象在当前帧中的位置。如果k>θ,则方法继续进行图21中的步骤S22。
在实施例中,该方法包括如图22所示的附加的可选步骤S20。该步骤S20包括基于可用处理能力和可用电池容量中的至少一个来确定参数m的值。
在实施例中,该方法还包括可选步骤S27。如果步骤S21中的比较推断出k>θ,则该方法继续进行步骤S27。在实施例中,该步骤S27包括将参数m的值增加到通常等于或大于2的值。该方法然后继续进行图1中的步骤S1。
在另一实施例中,作为替代,步骤S27包括:使用跟踪到的对象在前一帧中的位置以及对象的与当前帧相关联的模型来跟踪对象在当前帧中的位置(选项1)。然后该方法结束或继续进行图19中的步骤S2。
在实施例中,该方法包括附加的可选步骤S30和S31,如图23所示。步骤S30包括从OD服务器接收由OD服务器针对先前帧确定的对象的位置信息以及与先前帧相关联的时间戳。该方法还包括在步骤S31中基于从OD服务器接收的时间戳来识别先前帧。然后该方法继续进行图18中的步骤S1或进行可选的步骤S32。
步骤S32包括从对象的与当前帧相关联的模型中移除对象特征表示,以获得对象的与先前帧相关联的模型。该方法然后继续进行图18中的步骤S1。
图24是示出了图18所示的方法的附加的可选步骤的流程图。该可选步骤S40包括:在前一帧的输出之后但在当前帧的输出之前的时间点,确定是否已经从OD服务器接收到由OD服务器针对先前帧确定的对象的位置的信息。如果已经从OD服务器接收到该信息,则该方法继续进行图18中的步骤S1。在该实施例中,步骤S1包括:如果已从OD服务器接收到该信息,则通过递归地跟踪对象在视频流的帧中的位置并且递归地更新对象的模型,来确定对象在当前帧中的位置。
在实施例中,如果在步骤S40中验证了尚未从OD服务器接收到该信息,则该方法继续进行步骤S41。该步骤S41包括基于针对前一帧确定的对象的位置以及对象的与当前帧相关联的模型来跟踪对象在当前帧中的位置。然后该方法结束或继续进行图19中的步骤S2。
图25是示出了图18所示的方法的附加的可选步骤的流程图。在该实施例中,当前帧包括多个对象。该方法包括:在步骤S50中并且针对该多个对象中的每个对象,确定由OD服务器针对先前帧确定的该对象的位置与由OT设备针对前一帧确定的该对象的位置之间的相似度。在该实施例中,图18的步骤S1包括:以基于所确定的相似度定义的从该多个对象中具有最低相似度的对象开始的顺序,通过递归地跟踪对象在视频流的帧中的位置并且递归地更新对象的模型,来确定对象在当前帧中的位置。
在另一实施例中,步骤S1包括:针对该多个对象中的对象,如果针对该对象确定的相似度低于最小相似度,则通过递归地跟踪该对象在视频流的帧中的位置并且递归地更新该对象的模型,来确定该对象在当前帧中的位置。
在该另一实施例中,该方法可选地包括附加步骤S52。该步骤S52包括:针对该多个对象中的对象,如果针对该对象确定的相似度等于或超过最小相似度,则基于针对前一帧确定的该对象的位置和该对象的与当前帧相关联的模型,来确定该对象在当前帧中的位置。
然后该方法结束或继续进行图19中的步骤S2。
在实施例中,该方法还包括可选步骤S51,该步骤将针对对象确定的相似度与图25中由T表示的最小相似度进行比较。如果在步骤S51中确定了相似度小于最小相似度,则该方法继续进行步骤S1,否则该方法从步骤S51继续到步骤S52。
图26和图28是示出了根据一些实施例的在例如包括主机计算机,以及还可选地包括基站和用户设备的通信系统中实现的方法的示例的示意流程图。
图26是示出了根据一个实施例的在通信系统中实现的方法的流程图。该通信系统包括主机计算机、基站和UE,其可以是参照图13至图17描述的主机计算机、基站和UE。为了本公开的简明,在本部分中将仅包括对图26的图引用。在步骤QQ610中,主机计算机提供用户数据。在步骤QQ610的子步骤QQ611(其可以是可选的)中,主机计算机通过执行主机应用来提供用户数据。在步骤QQ620中,主机计算机发起向UE的携带用户数据的传输。在步骤QQ630(其可以是可选的)中,根据贯穿本公开所描述的实施例的教导,基站向UE发送在主机计算机发起的传输中所携带的用户数据。在步骤QQ640(其也可以是可选的)中,UE执行与主机计算机所执行的主机应用相关联的客户端应用。
图27是示出了根据一个实施例的在通信系统中实现的方法的流程图。该通信系统包括主机计算机、基站和UE,其可以是参照图13至图17描述的主机计算机、基站和UE。为了本公开的简明,在本部分中将仅包括对图27的图引用。在方法的步骤QQ710中,主机计算机提供用户数据。在可选子步骤(未示出)中,主机计算机通过执行主机应用来提供用户数据。在步骤QQ720中,主机计算机发起向UE的携带用户数据的传输。根据贯穿本公开描述的实施例的教导,该传输可以经由基站。在步骤QQ730(其可以是可选的)中,UE接收传输中所携带的用户数据。
图28和图29是示出了根据一些实施例的在包括主机计算机、基站和用户设备的通信系统中实现的方法的示例的示意图。
图28是示出了根据一个实施例的在通信系统中实现的方法的流程图。该通信系统包括主机计算机、基站和UE,其可以是参照图13至图17描述的主机计算机、基站和UE。为了本公开的简明,在本部分中将仅包括对图28的图引用。在步骤QQ810(其可以是可选的)中,UE接收由主机计算机所提供的输入数据。附加地或备选地,在步骤QQ820中,UE提供用户数据。在步骤QQ820的子步骤QQ821(其可以是可选的)中,UE通过执行客户端应用来提供用户数据。在步骤QQ810的子步骤QQ811(其可以是可选的)中,UE执行客户端应用,该客户端应用回应于接收到的主机计算机提供的输入数据来提供用户数据。在提供用户数据时,所执行的客户端应用还可以考虑从用户接收的用户输入。无论提供用户数据的具体方式如何,UE在子步骤QQ830(其可以是可选的)中都发起用户数据向主机计算机的传输。在方法的步骤QQ840中,根据贯穿本公开描述的实施例的教导,主机计算机接收从UE发送的用户数据。
图29是示出了根据一个实施例的在通信系统中实现的方法的流程图。该通信系统包括主机计算机、基站和UE,其可以是参照图13至图17描述的主机计算机、基站和UE。为了本公开的简明,在本部分中将仅包括对图29的图引用。在步骤QQ910(其可以是可选的)中,根据贯穿本公开描述的实施例的教导,基站从UE接收用户数据。在步骤QQ920(其可以是可选的)中,基站发起接收到的用户数据向主机计算机的传输。在步骤QQ930(其可以是可选的)中,主机计算机接收由基站所发起的传输中所携带的用户数据。
在下文中,将给出说明性和非限制性编号的实施例的示例。
A组实施例
1.一种由无线设备执行的用于对象跟踪的方法。该方法包括:在视频流中的前一帧的输出之后但在当前帧的输出之前的时间点,通过以下方式来确定对象在视频流中的当前帧中的位置:从对象检测服务器针对视频流中的先前帧确定的对象的位置开始,递归地跟踪对象在视频流中的从先前帧之后直到当前帧的帧中的位置,以及递归地更新对象的模型,直到对象的与当前帧相关联的模型。与视频流的给定帧相关联的每个模型包括从该给定帧之前的视频流的至少一帧中提取的至少一个对象特征表示。
2.根据实施例1所述的方法,还包括:
-提供用户数据;以及
-经由向目标网络节点的传输,将用户数据转发给主机计算机。
B组实施例
3.一种包括处理电路的无线设备,该处理电路被配置为执行A组实施例中任一实施例所述的任何步骤。
4.一种用户设备UE,包括:
-被配置为发送和接收无线信号的天线;
-无线电前端电路,连接到天线和处理电路,并被配置为调节在天线和处理电路之间传送的信号;
-处理电路,被配置为执行A组实施例中任一实施例所述的任何步骤;
-输入接口,连接到处理电路并被配置为允许信息输入到UE中以由处理电路处理;
-输出接口,连接到处理电路并被配置为从UE输出已经由处理电路处理的信息;以及
-电池,连接到处理电路并被配置为向UE供电。
5.一种被配置为与基站通信的用户设备(UE),该UE包括无线电接口和处理电路,该处理电路被配置为执行A组实施例中任一实施例所述的任何步骤。
6.一种通信系统,包括主机计算机,所述主机计算机包括:
-处理电路,被配置为提供用户数据;以及
-通信接口,被配置为将用户数据转发给蜂窝网络以向用户设备(UE)传输,
-其中,该UE包括无线电接口和处理电路,该UE的组件被配置为执行A组实施例中任一实施例所述的任何步骤。
7.根据实施例6所述的通信系统,其中,该蜂窝网络还包括:基站,该基站被配置为与UE通信。
8.根据实施例6或7所述的通信系统,其中:
-主机计算机的处理电路被配置为执行主机应用,从而提供用户数据;以及
-该UE的处理电路被配置为执行与主机应用相关联的客户端应用。
9.一种在包括主机计算机、基站和用户设备(UE)的通信系统中实现的方法,该方法包括:
-在主机计算机处提供用户数据;以及
-在主机计算机处,经由包括基站的蜂窝网络发起向UE的携带用户数据的传输,其中,UE执行A组实施例中的任一实施例所述的任一步骤。
10.根据实施例9所述的方法,还包括:在UE处,从基站接收用户数据。
11.一种通信系统,包括主机计算机,所述主机计算机包括:
-通信接口,被配置为接收用户数据,该用户数据源自从用户设备(UE)到基站的传输,
-其中,UE包括无线电接口和处理电路,UE的处理电路被配置为执行A组实施例中任何一项所述的任何步骤。
12.根据实施例11所述的通信系统,还包括UE。
13.根据实施例11或12所述的通信系统,还包括基站,其中,该基站包括:无线电接口,被配置为与UE通信;以及通信接口,被配置为将从UE到基站的传输所携带的用户数据转发给主机计算机。
14.根据实施例11至13中任何一项所述的通信系统,其中:
-主机计算机的处理电路被配置为执行主机应用;以及
-UE的处理电路被配置为执行与主机应用相关联的客户端应用,从而提供用户数据。
15.根据实施例11至14中任何一项所述的通信系统,其中:
-主机计算机的处理电路被配置为执行主机应用,从而提供请求数据;以及
-UE的处理电路被配置为执行与主机应用相关联的客户端应用,从而响应于请求数据来提供用户数据。
16.一种在包括主机计算机、基站和用户设备(UE)的通信系统中实现的方法,该方法包括:
-在主机计算机处,接收从UE向基站发送的用户数据,其中,UE执行A组实施例中任何一项所述的任何步骤。
17.根据实施例16所述的方法,还包括:在UE处,向基站提供用户数据。
18.根据实施例16或17所述的方法,还包括:
-在UE处,执行客户端应用,从而提供要发送的用户数据;以及
-在主机计算机处,执行与客户端应用相关联的主机应用。
19.根据实施例16至18中任何一项所述的方法,还包括:
-在UE处,执行客户端应用;以及
-在UE处,接收对客户端应用的输入数据,该输入数据是通过执行与客户端应用相关联的主机应用在主机计算机处提供的,
-其中,要发送的用户数据是由客户端应用响应于输入数据而提供的。
20.一种在包括主机计算机、基站和用户设备(UE)的通信系统中实现的方法,所述方法包括:
-在主机计算机处,从基站接收源自基站已经从UE接收到的传输的用户数据,其中,UE执行A组实施例中任何一项所述的任何步骤。
21.根据实施例20所述的方法,还包括:在基站处,从UE接收用户数据。
22.根据实施例20或21所述的方法,还包括:在基站处,向主机计算机发起对所接收的用户数据的传输。
C组实施例
23.一种用于对象跟踪的方法,其中,该方法包括:在视频流中的前一帧的输出之后但在当前帧的输出之前的时间点,通过以下方式来确定对象在视频流中的当前帧中的位置:从对象检测服务器针对视频流中的先前帧确定的对象的位置开始,递归地跟踪对象在视频流中的从先前帧之后直到当前帧的帧中的位置,以及递归地更新对象的模型,直到对象的与当前帧相关联的模型。与视频流的给定帧相关联的每个模型包括从该给定帧之前的视频流的至少一帧中提取的至少一个对象特征表示。
24.一种被配置为进行对象跟踪的设备,其中,该设备被配置为执行:在视频流中的前一帧的输出之后但在当前帧的输出之前的时间点,通过以下方式来确定对象在视频流中的当前帧中的位置:从对象检测服务器针对视频流中的先前帧确定的对象的位置开始,递归地跟踪对象在视频流中的从先前帧之后直到当前帧的帧中的位置,以及递归地更新对象的模型,直到对象的与当前帧相关联的模型。与视频流的给定帧相关联的每个模型包括从该给定帧之前的视频流的至少一帧中提取的至少一个对象特征表示。
25.一种无线设备,包括根据实施例24的设备。
26.一种网络节点,包括根据实施例24的设备。
27.一种网络设备,包括根据实施例24的设备。
28.一种计算机程序,包括指令,该指令在由至少一个处理器执行时,使该至少一个处理器:在视频流中的前一帧的输出之后但在当前帧的输出之前的时间点,通过以下方式来确定对象在视频流中的当前帧中的位置:从对象检测服务器针对视频流中的先前帧确定的对象的位置开始,递归地跟踪对象在视频流中的从先前帧之后直到当前帧的帧中的位置,以及递归地更新对象的模型,直到对象的与当前帧相关联的模型。与视频流的给定帧相关联的每个模型包括从该给定帧之前的视频流的至少一帧中提取的至少一个对象特征表示。
29.一种计算机程序产品,包括计算机可读介质,该计算机可读介质上存储有实施例28的计算机程序。
30.一种用于对象跟踪的装置,其中,该装置包括:
-用于以下操作的模块:在视频流中的前一帧的输出之后但在当前帧的输出之前的时间点,通过以下方式来确定对象在视频流中的当前帧中的位置:从对象检测服务器针对视频流中的先前帧确定的对象的位置开始,递归地跟踪对象在视频流中的从先前帧之后直到当前帧的帧中的位置,以及递归地更新对象的模型,直到对象的与当前帧相关联的模型。与视频流的给定帧相关联的每个模型包括从该给定帧之前的视频流的至少一帧中提取的至少一个对象特征表示。
以上描述的实施例将被理解为本发明的几个说明性示例。本领域技术人员将理解,在不脱离本发明的范围的前提下,可以对实施例作出各种修改、组合和改变。尤其是,在技术上可行的情况下,在其他配置中可以组合不同实施例中的不同部分解决方案。然而,本发明的范围由所附权利要求限定。
- 实时应用中的对象跟踪
- 用于跟踪图像序列中的多个对象的方法和系统