一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

深度网络的训练方法与流程

2022-03-01 08:00:24 来源:中国专利 TAG:
深度网络的训练方法与流程

本申请要求于2019年9月13日提交的题为“TRAINING METHODS FOR DEEP NETWORKS”的美国专利申请第16/570,813号的优先权,该申请要求于2019年7月23日提交的题为“KEYFRAME MATCHER”的美国临时专利申请第62/877,792号、于2019年7月23日提交的题为“VISUAL TEACH AND REPEAT FOR MANIPULATION–TEACHING VR”的美国临时专利申请第62/877,791号,以及于2019年7月23日提交的题为“VISUALIZATION”的美国临时专利申请第62/877,793号的优先权,其公开内容通过引用整体并入。

技术领域

本公开的特定方面通常涉及物体检测训练,并且更具体地涉及用于训练深度网络的系统和方法。

背景技术

机器人设备可以使用一个或多个传感器(例如,作为相机)来基于机器人设备使用真实世界图像的训练来识别环境中的物体。然而,在现实生活场景中,遇到的图像可能与用于训练机器人设备的真实图像不同。也就是说,来自用于训练的图像数据的变形、物体表达方式(object articulation)、视角和光照的变化可能会在真实世界操作期间妨碍物体检测。

传统系统在期望观察的实际条件下收集真实世界训练图像。例如,机器人设备的训练限于用于收集训练图像的实际条件,包括实际光照水平以及收集训练图像时的特定角度。这些传统系统不考虑环境的变化。在训练机器人设备的深度神经网络以执行物体检测时,训练数据和真实世界物体之间的这些变化尤其成问题。



技术实现要素:

描述了一种用于训练机器人设备的深度神经网络的方法。该方法包括在训练环境中使用通过机器人设备的3D相机捕获的图像构建3D模型。该方法还包括使用深度神经网络通过人工调整训练环境的参数以形成操纵图像,从3D模型生成3D图像对。该方法还包括处理3D图像对以形成参考图像,该参考图像包括3D图像对之间的共同物体的嵌入描述符。该方法还包括使用来自神经网络训练的参考图像来确定相关性以识别未来图像中所检测的物体。

描述了一种用于基于未知环境中所检测的物体的识别来控制机器人设备的方法。该方法包括检测未知环境中的物体。该方法还包括选择对应的参考图像,该参考图像包括与根据人工调整图像捕获环境的参数而操纵的所训练物体对应的嵌入描述符。该方法还包括根据对应的参考图像的嵌入描述符识别所检测的物体。

描述了一种用于基于未知环境中所检测的物体的识别来控制机器人设备的系统。该系统包括一个预训练的物体识别模块。物体识别模块被配置为选择对应的参考图像以识别捕获图像中的检测物体。对应的参考图像包括基于根据图像捕获环境的人工调整参数操纵的所训练物体的嵌入描述符。该系统还包括控制器,该控制器被配置为基于所检测的物体的身份来选择机器人设备的自主行为。

这已经相当宽泛地概述了本公开的特征和技术优点,以便可以更好地理解下面的具体实施方式。下面将描述本公开的附加特征和优点。本领域技术人员应当理解,本公开可以容易地用作修改或设计用于实现与本公开相同目的的其他结构的基础。本领域技术人员也应该认识到,这样的等效构造未背离所附权利要求中阐述的本公开的教导。当结合附图考虑时,从以下描述中将更好地理解在其组织和操作方法两者方面被认为是本公开的特征的新颖特征以及进一步的目的和优点。然而,应当清楚地理解,提供每一附图仅用于说明和描述的目的,并不旨在作为对本公开的限制的限定。

附图说明

当与附图结合使用时,本公开的特征、性质和优点将从下面阐述的具体实施方式变得更加明显,在附图中相同的附图标记在全文中相应地标识。

图1说明了根据本公开的各个方面的用于训练机器人的环境的原始图像。

图2说明了根据本公开的各个方面的使用3D模型创建以在训练环境中训练机器人的操纵图像的示例。

图3A和3B说明了根据本公开的各个方面的生成以训练机器人的训练环境的成对图像。

图4A和4B说明了根据本公开的各个方面的由机器人捕获的真实世界环境的捕获图像。

图5是说明根据本公开的各个方面的用于物体识别系统的硬件实现的示例的图。

图6是说明根据本公开的各个方面的用于训练机器人设备的深度神经网络的方法的流程图。

具体实施方式

下面结合附图阐述的具体实施方式旨在作为对各种配置的描述并且不旨在表示可以实践在此描述的概念的唯一配置。具体实施方式包括用于提供对各种概念的透彻理解的特定细节。然而,对于本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下实践这些概念。在某些情况下,众所周知的结构和组件以框图形式示出以避免混淆这些概念。

机器人设备可以使用一个或多个传感器来识别环境中的物体。传感器可以包括红-绿-蓝(RGB)相机、无线电探测和测距(RADAR)传感器、光探测和测距(LiDAR)传感器或其他类型的传感器。在传感器捕获的图像中,基于对机器人设备的深度神经网络的训练由机器人设备识别一个或多个物体,以执行物体检测。然而,在现实生活场景中,遇到的图像可能与用于训练机器人设备的真实图像不同。也就是说,用于训练的图像数据内的变形、物体表达方式、视角和光照的变化可能会妨碍真实世界操作期间的物体检测。

传统系统在期望观察的实际条件下收集真实世界的训练图像。例如,收集训练图像的实际条件包括实际光照水平,以及收集训练图像时的特定角度。这些传统系统不考虑环境的变化。在训练机器人设备的深度神经网络以执行物体检测时,训练数据和真实世界物体之间的这些差异尤其成问题。

本公开旨在通过考虑环境中的变化来提供用于训练深度网络的数据。这些变化包括例如物体变形、物体表达方式、视角变化和/或光照变化。

在本公开中,为了简单起见,机器人设备可以被称为机器人。此外,物体可以包括环境中的静止和动态物体。物体可以包括人造物体(例如,椅子、桌子、汽车、书籍等)、自然物体(例如,岩石、树木、动物等)和人类。

图1说明了根据本公开的各个方面的用于训练机器人100的训练环境102的原始图像101。在图1的示例中,机器人100是类人机器人并且训练环境102是厨房。本公开的各个方面不限于类人机器人。机器人100可以是任何类型的自主或半自主设备(诸如无人机或车辆)。此外,机器人100可以处于任何类型的环境中。

在一种配置中,机器人100经由机器人100的一个或多个传感器获得训练环境102的原始图像101。机器人100可以检测并局部化(localize)原始图像101中的一个或多个物体。局部化是指确定原始图像101内所检测的物体的位置(例如,坐标)。在传统的物体检测系统中,可以使用边界框来指示在原始图像101中所检测的物体的位置。所检测的物体可以是一个或多个特定类别的物体(诸如桌子104、推入式椅子106、关闭的窗户108、瓶子110、餐具120和122、台面140、水槽142、带有把手132的柜子130,或原始图像101中的所有物体)。可以使用物体检测系统(诸如预训练的物体检测神经网络)来检测和识别物体。

在一种配置中,机器人100上的3D相机从不同的视角/角度捕获训练环境102的图像。从捕获的图像生成训练环境102的3D模型。3D模型用于从与由3D相机捕获的原始图像101的视点不同的视点创建图像。3D模型也用于在创建的图像中改变光照条件(例如,调整光照水平)。此外,3D模型可以创建具有操纵物体的图像。例如,3D模型可以创建打开或关闭抽屉/窗户的场景。此外,系统将具有共同特征的图像链接起来。捕获的图像和由3D模型创建的图像(例如,训练数据)用于训练深度网络物体检测系统。

图2说明了根据本公开的各个方面的由3D模型创建以在训练环境202中训练机器人100的操纵图像200的示例。在图2的示例中,训练环境202是图1的厨房,生成时元素在水平方向翻转以提供不同的视角。机器人100可以使用图1的原始图像101和操纵图像200经由物体检测系统(诸如预训练物体检测神经网络)检测和识别每个图像中的物体。

在该配置中,系统生成操纵图像200并且将操纵图像200与图1所示的训练环境102的原始图像101配对。根据本公开的各个方面,在原始图像101和操纵图像200之间识别链接元素。即,训练环境202的每个元素可以被给予像素坐标。重叠像素坐标指示重叠部分(例如,链接元素)。作为示例,拉出的椅子206是操纵图像200和原始图像101的推入的椅子106之间的链接元素。链接指示以不同的表达方式描绘相同的元素。链接部分可以由原始图像101和操纵图像200内的点对应关系定义(例如,具有与原始图像101相同的视点)。

在该示例中,原始图像101的关闭的窗户108与操纵图像200的打开的窗户208配对。例如,打开的窗户208的窗格链接在原始图像101和操纵图像200之间。此外,操纵图像200中的桌子204也链接到原始图像101中的桌子104。类似地,操纵图像200中的瓶子210链接到原始图像101中的瓶子110。瓶子110被放置在与原始图像101中的台面140链接的台面240上。水槽242也在操纵图像200和原始图像101之间链接。此外,操纵图像200的柜子230和把手232也与原始图像101的柜子130和把手132链接。

训练机器人100以检测拉出的椅子206,该椅子从图1中所示的推入的椅子106水平翻转。类似地,训练机器人100以跟踪从台面240被移动并被放置在桌子204上的瓶子210。此外,训练机器人100以跟踪从桌子204移动到台面240的餐具220和222的区域。虽然示出了原始图像101和操纵图像200,但是应当认识到包括生成具有变化的光照条件、视角、变形等的附加操纵图像的本公开的各个方面是可能的。

根据本公开的各个方面,3D环境的成对图像由图像到图像神经网络处理。网络接收RGB图像作为输入并输出嵌入或描述符图像,包括指派给每个像素的值。嵌入/描述符图像可以将信息编码为一系列数字,以提供用于区分一个特征与另一特征的数值“指纹”。理想情况下,该信息在图像变换下是不变的。不幸的是,传统的特征描述符在图像变换下不是不变的,因为传统系统通常是在没有考虑环境的变化的情况下训练的。

在本公开的这个方面,嵌入/描述符图像确定与未来图像(例如,当机器人100操作时实时捕获的图像)的相关性,其定义环境中的物体和点。即,在训练之后,当被放置在新环境中时,机器人识别可以被操纵的新环境中的位置,诸如椅子、窗户、瓶子、餐具(例如,勺子)、柜子等。无论变形、物体表达方式、角度和光照如何,机器人100也都可以识别各种元素。例如,基于与由成对图像(例如,原始图像101和操纵图像200)形成的描述符图像的链接元素,可以容易地识别以与原始图像101不同的姿态所检测的物体。

图3A和3B说明了根据本公开的各个方面的为训练机器人100而生成的训练环境302的成对图像。如图3A和3B所示,训练系统自动生成图像对,其中变化图像中的相同元素被链接。例如,图3A说明了训练环境302的原始图像300。原始图像300进一步说明了台面340、水槽342和包括把手332的柜子330。在该示例中,柜子330是关闭的。

图3B说明了根据本公开的各个方面的训练环境302的操纵图像350。在该示例中,在柜子330关闭的场景(例如,图3A)中柜子330的把手332与柜子330打开的场景配对。此外,餐具320和322在原始图像300(例如,在柜子330内部)和操纵图像350(例如,显示打开时的柜子330)之间配对。原始图像300和操纵图像350的这种配对将是相同元素但用不同表达方式描绘的物体链接在一起。链接部分由操纵图像350和原始图像300内的点对应关系定义。成对图像之间的对应元素可以通过识别在每个图像(即,场景)中捕获的训练环境302的重叠部分来确定。

然后由图像到图像神经网络处理图像对,该神经网络接收RGB图像作为输入并输出由指派给图像的每个像素的值组成的嵌入或描述符图像。根据本公开的各个方面,嵌入用于确定与未来图像(例如,当机器人操作时实时捕获的图像)的相关性。例如,嵌入可以定义环境中的物体和点以识别相关物体。换言之,系统可以通过嵌入与实时图像的相关性来快速确定环境中的位置以识别物体,例如,如图4A和4B所示。

图4A和4B说明了根据本公开的各个方面的由机器人100捕获的未知环境402的捕获图像。在图4A和4B的示例中,未知环境402是餐厅,包括桌子404、拉出的椅子406和打开的窗户408、瓶子410、餐具420和422以及柜子430。在一种配置中,机器人100使用基于训练环境(诸如图1、图2、图3A和图3B所示的厨房的训练环境)的原始图像和操纵图像的配对的参考图像。使用参考图像,机器人100使用预训练的物体检测神经网络检测拉出的椅子406。另外,参考图像使机器人100能够检测打开的窗户408。

图4A说明了根据本公开的各个方面的由机器人100的3D相机捕获的未知环境402的捕获图像400。在图4A的示例中,未知环境402是餐厅,包括桌子404、拉出的椅子406和打开的窗户408。在一种配置中,机器人100使用基于训练环境(诸如图1、图2、图3A和图3B所示的厨房的训练环境)的图像配对的参考图像。使用参考图像,机器人100使用预训练的物体检测神经网络来局部化拉出的椅子406。此外,参考图像使机器人100能够识别打开的窗户408。

如图4A进一步所示,参考图像使机器人100能够检测桌子404上的餐具420和422。此外,参考图像使机器人100能够检测柜子430上的瓶子410。检测不受环境中位置和/或物体姿态的限制。根据本公开的各个方面,机器人100被训练以跟踪物体随时间的移动。为简单起见,将厨房物品用作所检测的物体的示例。而且,本公开的各个方面不限于检测厨房物品并且设想用于其他物体。

图4B说明了根据本公开的各个方面的由机器人100的3D相机捕获的未知环境402的图像450。在图4B的示例中,未知环境402也是餐厅,包括桌子404、拉出的椅子406、打开的窗户408和柜子430。在一种配置中,机器人100使用参考图像来跟踪餐具420和422以及瓶子410。使用预训练的物体检测神经网络,机器人100能够跟踪餐具420和422以及瓶子410的移动。也就是说,瓶子410在图4A和图4B之间从柜子430移动到桌子404。类似地,餐具420和422在图4A和图4B之间从桌子404移动到柜子430。

根据本公开的各个方面,预训练的物体检测神经网络使用嵌入(例如,物体描述符)来确定与未来图像(例如,当机器人100操作时实时捕获的图像)的相关性,其定义环境中的物体和点。换句话说,系统可以通过嵌入与实时图像的相关性来快速确定未知环境中的位置。本公开提供了用于通过使用3D相机收集训练图像并人工调整光照水平并自动创建其中共同特征链接在一起的图像对来生成和训练深度网络的方法。因此,未知环境中的物体检测不受未知环境中物体的姿态或位置的限制。

图5是说明根据本公开的各个方面的用于物体识别系统500的硬件实现的示例的图。物体识别系统500可以是车辆、机器人设备或另一设备的组件。例如,如图5所示,物体识别系统500是机器人100(例如,机器人设备)的组件。

本公开的各个方面不限于作为机器人100的组件的物体识别系统500。也考虑使用物体识别系统500的其他设备(诸如公共汽车、船、无人机或车辆)。机器人100可以至少以自主操作模式和手动操作模式操作。

物体识别系统500可以用总线架构来实现,一般由总线550表示。取决于物体识别系统500的特定应用和总体设计约束,总线550可以包括任意数量的互连总线和桥接器。总线550将包括一个或多个处理器和/或硬件模块(由处理器520、通信模块522、位置模块524、传感器模块502、运动模块526、导航模块528和计算机可读介质530来表示)的各种电路链接在一起。总线550也可以链接本领域众所周知的各种其他电路(诸如定时源、外围设备、电压调节器和电源管理电路),因此将不再进一步描述。

物体识别系统500包括耦合到处理器520、传感器模块502、物体识别模块510、通信模块522、位置模块524、运动模块526、导航模块528和计算机可读介质530的收发器540。收发器540耦合到天线542。收发器540通过传输介质与各种其他设备通信。例如,收发器540可以经由来自用户或远程设备的传输接收命令。作为另一示例,收发器540可以将来自物体识别模块510的统计信息和其他信息传输到服务器(未示出)。

物体识别系统500包括耦合到计算机可读介质530的处理器520。处理器520执行处理,包括存储在计算机可读介质530上的软件的执行以提供根据本公开的功能。该软件在由处理器520执行时使物体识别系统500执行针对特定设备(诸如机器人100,或模块502、510、512、514、516、522、524、526和528中的任一个)描述的各种功能。计算机可读介质530也可用于存储在执行软件时由处理器520操纵的数据。

传感器模块502可用于经由不同的传感器(诸如第一传感器504和第二传感器506)获得测量。第一传感器504可以是用于捕获3D图像的视觉传感器(诸如立体相机或红绿蓝(RGB)相机)。第二传感器506可以是测距传感器(诸如光探测和测距(LiDAR)传感器或无线电探测和测距(RADAR)传感器)。当然,本公开的各个方面不限于上述传感器,因为对于第一传感器504和第二传感器506中的任一个也设想了其他类型的传感器(诸如热传感器、声纳传感器和/或激光传感器)。

第一传感器504和第二传感器506的测量可以由处理器520、传感器模块502、物体识别模块510、通信模块522、位置模块524、运动模块526、导航模块528中的一个或多个结合计算机可读介质530来处理以实现这里描述的功能。在一种配置中,由第一传感器504和第二传感器506捕获的数据可以经由收发器540传输到外部设备。第一传感器504和第二传感器506可以耦合到机器人100或者可以与机器人100通信。

位置模块524可以用于确定机器人100的位置。例如,位置模块524可以使用全球定位系统(GPS)来确定机器人100的位置。通信模块522可以用于促进经由收发器540的通信。例如,通信模块522可以被配置为经由不同的无线协议(诸如Wi-Fi、长期演进(LTE)、5G等)提供通信能力。通信模块522也可以用于与机器人100的不是物体识别系统500的模块的其他组件通信。

运动模块526可以用于促进机器人100的运动。作为另一示例,运动模块526可以与机器人100的一个或多个电源(诸如电动机和/或电池)通信。运动可以经由轮子、可移动的肢体、推进器、踏板、鳍、喷气发动机和/或其他运动源来证明。

物体识别系统500还包括导航模块528,用于经由运动模块526规划路线或控制机器人100的运动。可以基于经由物体识别模块510提供的数据来规划路线。模块可以是在处理器520中运行、驻留/存储在计算机可读介质530中的软件模块、耦合到处理器520的一个或多个硬件模块、或其某种组合。

物体识别模块510可以与传感器模块502、收发器540、处理器520、通信模块522、位置模块524、运动模块526、导航模块528和和计算机可读介质530通信。在一种配置中,物体识别模块510从传感器模块502接收传感器数据。传感器模块502可以从第一传感器504和第二传感器506接收传感器数据。根据本公开的各个方面,传感器模块502可以过滤数据以移除噪声、编码数据、解码数据、合并数据、提取帧或执行其他功能。在替代配置中,物体识别模块510可以直接从第一传感器504和第二传感器506接收传感器数据。

在一种配置中,物体识别模块510基于来自处理器520、位置模块524、计算机可读介质530、第一传感器504和/或第二传感器506的信息来识别所检测的物体。可以使用嵌入相关性模块514来执行来自物体检测模块512的所检测的物体的识别。基于所识别的物体,物体识别模块510可以通过动作模块516控制机器人100的一个或多个动作。

例如,动作可以是在机器人100捕获的场景的各种图像之间跟踪移动物体并执行安全动作(诸如联系安全服务)。物体识别模块510可以经由处理器520、位置模块524、通信模块522、计算机可读介质530、运动模块526和/或导航模块528来执行动作。

在本公开的这个方面,嵌入相关性模块514使用来自训练的嵌入/描述符图像来确定与未来图像的相关性,其定义未知环境中的物体和点。即,在训练之后,当被放置在新环境中时,机器人100识别可以被操纵的新环境中的位置(诸如椅子、窗户、瓶子、餐具(例如,勺子)、柜子等)。无论变形、物体表达方式、角度和光照如何,机器人100也可以可以识别各种元素。

图6说明了说明根据本公开的各个方面的用于训练机器人设备的深度神经网络的方法的流程图。为简单起见,机器人设备将被称为机器人。

如图6所示,方法600开始于块602,其中在训练环境中使用经由机器人设备的3D相机捕获的图像构建3D模型。例如,如图1所示,机器人100捕获训练环境102的原始图像101。可以经由机器人100的一个或多个传感器(诸如LiDAR、RADAR和/或RGB相机)捕获物体。可以在一段时间(诸如几小时、几天等)内观察物体。

在块604处,通过使用神经网络人工地调整训练环境的参数以形成操纵图像,从3D模型生成3D图像对。例如,图3B说明了在柜子330打开的场景中示出柜子330的把手332的操纵图像350,该场景与柜子330关闭的场景配对(例如,图3A)。原始图像300和操纵图像350的这种配对将是相同元素但用不同(例如,人工)表达方式描绘的物体链接在一起。

在块606处,处理3D图像对以形成参考图像,该参考图像包括3D图像对之间的共同物体的嵌入描述符。例如,图4A和图4B说明了未知环境402的捕获图像。在一种配置中,机器人100使用基于训练环境(诸如图1、图2、图3A和图3B所示的厨房的训练环境)的原始图像和操纵图像的配对的参考图像。在块608处,来自神经网络的训练的参考图像被用于确定与未来图像的相关性。例如,如图4A和4B所示,使用参考图像,机器人100使用预训练的物体检测神经网络检测拉出的椅子406。另外,参考图像使机器人100能够检测打开的窗户408。

根据本公开的各个方面,描述了用于基于未知环境中所检测的物体的识别来控制机器人设备的方法。该方法包括检测未知环境中的物体。例如,如图4A所示,机器人100检测桌子404上的餐具420和422。可以通过选择对应的参考图像来执行该检测,该参考图像包括与根据图像捕获环境的人工调整参数操纵的所训练的物体对应的嵌入描述符。

该方法还包括根据对应参考图像的嵌入描述符识别所检测的物体。例如,使用预训练的物体检测神经网络,机器人100能够跟踪餐具420和422以及瓶子410的移动。也就是说,瓶子410在图4A和图4B之间从柜子430移动到桌子404。类似地,餐具420和422在图4A和图4B之间从桌子404移动到柜子430。

基于所述教导,本领域技术人员应当理解,本公开的范围旨在覆盖本公开的任何方面,无论是独立于本公开的任何其他方面还是与本公开的任何其他方面结合实施。例如,可以使用任何数量的所阐述的各个方面来实现装置,或者可以实践方法。此外,本公开的范围旨在涵盖使用除了或不同于本公开阐述的各个方面之外的其他结构、功能或结构和功能来实践的这种装置或方法。应当理解,本公开的任何方面都可以由权利要求的一个或多个元素体现。

词语“示例性”在本文中用于意味着“用作示例、实例或说明”。在本文中描述为“示例性”的任何方面不一定被解释为优于或胜于其他方面。

尽管在本文中描述了特定方面,但是这些方面的许多变化和排列落入本公开的范围内。尽管提到了优选方面的一些益处和优点,但本公开的范围不旨在限于特定的益处、用途或目标。相反,本公开的各个方面旨在广泛地适用于不同的技术、系统配置、网络和协议,其中一些在附图中和以下优选方面的描述中通过示例的方式说明。具体实施方式和附图仅是对本公开的说明而非限制,本公开的范围由所附权利要求及其等效物限定。

如这里所使用的,术语“确定(determining)”包含多种动作。例如,“确定”可以包括运算、计算、处理、推导、调查、查找(例如,在表、数据库或另一数据结构中查找)、查明等。另外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选定、建立等。

如这里所使用的,涉及项目列表中的“至少一个”的短语是指那些项的任何组合,包括单个成员。例如,“a、b或c中的至少一个”旨在涵盖:a、b、c、a-b、a-c、b-c和a-b-c。

结合本公开描述的各种说明性逻辑块、模块和电路可以用专门配置成执行本公开中讨论的功能的处理器来实现或执行。处理器可以是神经网络处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑,分立的硬件组件,或设计为执行这里描述的功能的其任何组合。或者,处理系统可包括一个或多个神经形态处理器,用于实现本文所述的神经元模型和神经系统模型。处理器可以是微处理器、控制器、微控制器或如本文所述专门配置的状态机。如本文所述,处理器还可以被实现为计算设备的组合(例如DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP核结合,或者这种其他特殊配置)。

结合本公开描述的方法或算法的步骤可以直接体现在硬件中、在由处理器执行的软件模块中、或者在两者的组合中。软件模块可以驻留在存储装置或机器可读介质中,包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储设备,或可用于以指令的形式承载或存储所需程序代码或数据结构并且可以由计算机访问的任何其他介质。软件模块可以包括单个指令或多个指令,并且可以分布在若干不同的代码段、不同的程序之间以及跨多个存储介质。存储介质可以耦合到处理器,使得处理器可以从存储介质读取信息以及向存储介质写入信息。或者,存储介质可以集成到处理器。

本文公开的方法包括用于实现所述方法的一个或多个步骤或动作。在不脱离权利要求的范围的情况下,方法步骤和/或动作可以彼此互换。换言之,除非指定了步骤或动作的特定顺序,否则在不脱离权利要求的范围的情况下可以修改特定步骤和/或动作的顺序和/或使用。

所描述的功能可以在硬件、软件、固件或其任何组合中实现。如果以硬件实现,则示例硬件配置可以包括设备中的处理系统。处理系统可以用总线架构来实现。取决于处理系统的特定应用和总体设计约束,总线可以包括任意数量的互连总线和桥接器。总线可以将包括处理器、机器可读介质和总线接口的各种电路链接在一起。总线接口可用于经由总线将网络适配器等连接到处理系统。网络适配器可用于实现信号处理功能。对于特定方面,用户界面(例如,键盘、显示器、鼠标、操纵杆等)还可以连接到总线。总线还可以链接本领域众所周知的各种其他电路(诸如定时源、外围设备、电压调节器、电源管理电路等),因此将不再进一步描述。

处理器可以负责管理总线和处理,包括存储在机器可读介质上的软件的执行。无论是指软件、固件、中间件、微代码、硬件描述语言还是其他,软件应被解释为表示指令、数据或其任何组合。

在硬件实现中,机器可读介质可以是与处理器分离的处理系统的一部分。然而,如本领域技术人员将容易理解的,机器可读介质或其任何部分可以在处理系统的外部。通过示例的方式,机器可读介质可以包括传输线、由数据调制的载波和/或与设备分离的计算机产品,所有这些都可以由处理器通过总线接口访问。替代地或另外地,机器可读介质或其任何部分可以集成到处理器中(诸如可以具有高速缓存和/或专用寄存器文件的情况)。尽管所讨论的各种组件可以被描述为具有特定位置(诸如本地组件),但是它们也可以以各种方式被配置(诸如特定组件被配置为分布式计算系统的一部分)。

机器可读介质可以包括多个软件模块。软件模块可以包括传输模块和接收模块。每个软件模块可以驻留在单个存储设备中或被跨多个存储设备分发。举例来说,当触发事件发生时,可以将软件模块从硬盘驱动加载到RAM中。在软件模块的执行过程中,处理器可以将某些指令加载到高速缓存中以提高访问速度。然后可以将一个或多个高速缓存行加载到专用寄存器文件中用于由处理器执行。当在下面提及软件模块的功能时,将理解这种功能是在执行来自该软件模块的指令时由处理器实现的。此外,应当理解,本公开的各个方面导致对实现这些方面的处理器、计算机、机器或其他系统的功能的改进。

如果以软件实现,则这些功能可以作为一个或多个指令或代码被存储在计算机可读介质上或在其上被传输。计算机可读介质包括计算机存储介质和通信介质两者,包括促进将计算机程序从一个地方传送到另一地方的任何存储介质。

此外,应当理解,用于执行本文描述的方法和技术的模块和/或其他适当的装置可以在适用时由用户终端和/或基站下载和/或以其他方式获得。例如,这样的设备可以耦合到服务器以促进用于执行本文描述的方法的装置的传送。或者,可以经由存储装置提供本文描述的各种方法,使得用户终端和/或基站在将存储装置耦合或提供到设备时可以获得各种方法。此外,可以利用用于向设备提供本文描述的方法和技术的任何其他合适的技术。

应当理解,权利要求不限于上述的精确配置和组件。在不脱离权利要求的范围的情况下,可以对上述方法和装置的布置、操作和细节进行各种修改、改变和变化。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献