首页> 中国专利> 用于增强现实系统中的交叉现实选择、拖拽和放置

用于增强现实系统中的交叉现实选择、拖拽和放置

摘要

本发明描述了方法、装置、计算机程序产品、设备和系统,所述方法、装置、计算机程序产品、设备和系统执行检测在增强现实设备的真实世界视野中的位置的用户的第一动作;响应于用户输入或检测在增强现实设备的真实世界视野中的位置的用户的第一动作中的至少一个而显示增强现实呈现;根据所述用户的至少一个被检测到的第二动作在所述增强现实设备的显示屏上移动所显示的所述增强现实呈现;以及响应于用户输入或根据所述用户的至少一个被检测到的第二动作在所述增强现实设备的显示屏上移动所显示的增强现实呈现中的至少一个而将所显示的所述增强现实呈现寄存在所述增强现实设备的所述显示屏中的位置处。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-10-15

    授权

    授权

  • 2016-03-30

    实质审查的生效 IPC(主分类):G06F3/0484 申请日:20140313

    实质审查的生效

  • 2016-01-06

    公开

    公开

说明书

优先权申请的所有主题通过引用的方式以这些主题没有与本文不一致的程度并入本文中。

技术领域

本说明书涉及数据采集、数据处理和数据显示技术。

发明内容

一实施方式提供了一种系统。在一实施例中,该系统包括但不限于:用于检测在增强现实设备的真实世界视野中的位置的用户的第一动作的电路;用于响应于所述用于检测在增强现实设备的真实世界视野中的位置的用户的第一动作的电路的输出或用户输入中的至少一个而显示增强现实呈现的电路;用于根据所述用户的至少一个被检测到的第二动作在所述增强现实设备的显示屏上移动所显示的所述增强现实呈现的电路;以及用于响应于所述用于根据所述用户的至少一个被检测到的第二动作在所述增强现实设备的显示屏上移动所显示的增强现实呈现的电路的输出或用户输入中的至少一个而将所显示的所述增强现实呈现寄存(register)在所述增强现实设备的所述显示屏中的位置处的电路。除上述之外,还有其他系统方面被描述在作为本公开组成部分的权利要求、附图以及文本中。

在一或多个不同方面,相关系统包括但不限于用于实现本文所述的方法方面的电路和/或程序;根据系统设计者的设计选择,该电路和/或程序可以是被配置为实现本文所述的方法方面的硬件、软件和/或固件的几乎任意组合。

在一或多个不同方面,相关系统包括但不限于用于实现本文所述的方法方面的计算装置和/或程序;根据系统设计者的设计选择,该计算装置和/或程序可以是被配置为实现本文所述的方法方面的硬件、软件和/或固件的几乎任意组合。

一实施方式提供了一种计算机实施的方法。在一实施例中,该方法包括但不限于检测在增强现实设备的真实世界视野中的位置的用户的第一动作;响应于用户输入或检测在增强现实设备的真实世界视野中的位置的用户的第一动作中的至少一个而显示增强现实呈现;根据所述用户的至少一个被检测到的第二动作在所述增强现实设备的显示屏上移动所显示的所述增强现实呈现;以及响应于用户输入或根据所述用户的至少一个被检测到的第二动作在所述增强现实设备的显示屏上移动所显示的增强现实呈现中的至少一个而将所显示的所述增强现实呈现寄存在所述增强现实设备的所述显示屏中的位置处。除上述之外,还有其他方法方面被描述在作为本公开组成部分的权利要求、附图以及文本中。

一实施方式提供了一种包括计算机程序产品的制造品。在一实施例中,该制造品包括但不限于由一或多个指令配置的信号承载介质,所述一或多个指令涉及检测在增强现实设备的真实世界视野中的位置的用户的第一动作;响应于用户输入或检测在增强现实设备的真实世界视野中的位置的用户的第一动作中的至少一个而显示增强现实呈现;根据所述用户的至少一个被检测到的第二动作在所述增强现实设备的显示屏上移动所显示的所述增强现实呈现;以及响应于用户输入或根据所述用户的至少一个被检测到的第二动作在所述增强现实设备的显示屏上移动所显示的增强现实呈现中的至少一个而将所显示的所述增强现实呈现寄存在所述增强现实设备的所述显示屏中的位置处。除上述之外,还有其他计算机程序产品方面被描述在作为本公开组成部分的权利要求、附图以及文本中。

一实施方式提供了一种系统。在一实施例中,该系统包括但不限于计算设备和指令。所述指令在所述计算设备上被执行时使所述计算设备检测在增强现实设备的真实世界视野中的位置的用户的第一动作;响应于用户输入或检测在增强现实设备的真实世界视野中的位置的用户的第一动作中的至少一个而显示增强现实呈现;根据所述用户的至少一个被检测到的第二动作在所述增强现实设备的显示屏上移动所显示的所述增强现实呈现;以及响应于用户输入或根据所述用户的至少一个被检测到的第二动作在所述增强现实设备的显示屏上移动所显示的增强现实呈现中的至少一个而将所显示的所述增强现实呈现寄存在所述增强现实设备的所述显示屏中的位置处。除上述之外,还有其他系统方面被描述在作为本公开组成部分的权利要求、附图以及文本中。

除上述之外,在教导,例如,本公开的文本(例如,权利要求书和/或具体实施方式)和/或附图中阐述并描述了各种其他方法和/或系统和/或程序产品方面。

上述内容是概要并且因此会包含细节的简化、概括、包含和/或省略;因此,本领域技术人员应当理解该概要仅仅是说明性的,并且不是旨在以任何方式限制。通过本文阐述的教导将明白本文描述的设备和/或方法和/或其他主题的其他方面、特征和优点。

附图说明

现在参照图1,图示了增强现实设备的多个实例。

图2图示了增强现实设备及其照相机的视角的真实世界视野。

图3图示了一个实施例,其中用户与系统交互以选择、拖拽或放置书的增强现实呈现。

图4图示了在增强现实系统中用于选择、拖拽和放置的系统的实例,其中实施例或许可以在设备中实施并且/或者通过网络实施,这可以作为用于介绍本文所述的一种或多种方法和/或设备的背景。

现在参照图5,示出了表示与在增强现实系统中选择、拖拽和放置相关的示例的操作的操作流程的实例,这可以用作介绍本文所述的一种或多种方法和/或设备的背景。

图6图示了图5的示例的操作流程的可供选择的实施例。

图7图示了图5的示例的操作流程的可供选择的实施例。

图8图示了图5的示例的操作流程的可供选择的实施例。

图9图示了图5的示例的操作流程的可供选择的实施例。

图10图示了图5的示例的操作流程的可供选择的实施例。

图11图示了图5的示例的操作流程的可供选择的实施例。

图12图示了图5的示例的操作流程的可供选择的实施例。

现在参照图13,示出了表示与在增强现实系统中选择、拖拽和放置相关的示例的操作的操作流程的实例,这可以用作介绍本文所述的一种或多种方法和/或设备的背景。

现在参照图14,示出了表示与在增强现实系统中选择、拖拽和放置相关的示例的操作的操作流程的实例,这可以用作介绍本文所述的一种或多种方法和/或设备的背景。

在不同附图中使用相同的符号通常表示相似或相同的项目,除非上下文另有指示。

具体实施方式

在人们通过增强现实设备(例如,专用增强现实设备(如GoogleGlass眼镜)、智能手机、数字照相机、便携式摄像机和平板电脑)交互的世界中,增强现实显示屏或界面在真实世界提供了上面覆盖一个或多个计算机生成的对象、数字图像或功能的窗口。在结构上和语义上,增强现实用户界面从根本上响应于物理接近用户设备的物理状态。物理现实的方面通常呈现在屏幕上;然而,即使它们未呈现在屏幕上,它们通常也在一定程度上影响屏幕上发生的情况。这可能与虚拟现实形成对照,在虚拟现实中,用户的感觉通常被提供完全计算机生成的主题或环境,如同人造感觉机制。

交叉现实拖放

出于对读者的礼貌并且参照本文的附图,一般“100系列”的附图标记通常指的是图1首先引入/描述的项目,“200系列”的附图标记通常指的是图2首先引入/描述的项目,“300系列”的附图标记通常指的是图3首先引入/描述的项目,等等。

在以下详细描述中,参照构成本发明的一部分的附图。在附图中,相似的符号通常标识相似的组件,除非上下文中另有说明。具体实施方式、附图和权利要求书中描述的示例性实施例并不意味着限制。在不脱离本文公开的主题的精神或范围的情况下,可以利用其他实现方案,并且可以进行其他修改。

作为背景,传统的计算机屏幕“桌面”区域包括允许强大的图形对象操作的拖放功能和环境。这通常涉及(1)源,(2)对象,和(3)目的地。这三要素确定拖拽过程的操作语义。

在增强现实情形中,如本文所述,用户可以从真实世界执行拖拽操作到增强现实(“AR”)视野或显示屏中,并且反之亦然。例如,如果用户在书店戴着AR眼镜,则用户就可以看到在眼镜上显示的AR购物车。用户然后可以在书店找到书架上真实的书,指着真实的书,取下或者以其他方式将书的增强现实呈现放入AR购物车中。当用户到达收银台或登记以购买书时,用户可以从购物车抓取AR书,将其放在真实的收银机上,书店可以在真实的收银机启动点支付,并且完成交易。用户也可以选择将物理的书快递给自己或者作为别人的礼物的选项,和/或递送电子书到装置。

又如,用户坐在家里的起居室可以查看他的AR设备,该设备上显示例如与Netflix视频在功能上链接的DVD堆层的增强现实呈现。用户可以触碰并抓取视频的增强现实呈现,例如,星球大战,并将其拖拽到起居室的电视机上,从而通知Netflix开始在(已联网的)电视上播放星球大战的视频流,同时用户的Netflix账号中注释用户何时在什么设备上只看什么内容。在某些情况下,这可能涉及信用卡账号或银行帐号的关联的记账。

又如,用户在电影院大厅可以看到明年上映的星球大战冒险故事的最新介绍的电影海报。用户可以抓取电影海报的增强现实呈现到他的增强现实显示屏上的增强现实愿望清单上,从而更新例如他的Netflix队列以计划通知该电影何时上映,并且/或者Netflix上何时可供观察。

在每个这些实例中,照相机或其他检测器将识别并标记动作的来源,换句话讲,“拖拽”的起始。这是待拖拽的对象。接着照相机或其他检测器将监视“拖拽”或远离源对象的动作,并且最终照相机或其他检测器将识别或标记目的地或“放置”。这是增强现实呈现将前往的重要位置。用户可以明确地标记动作的每个端点,例如,通过声音、触摸(AR设备的或对象的)、姿势或其他信号。

与计算机桌面环境上的传统拖放不同,不仅有识别步骤,而且用户指向仅有有限数量的可用目标(用于约束识别问题)的屏幕上的事物。在一个实施例中,约束可以是电影播放器应用(例如,hulu或Netflix)在AR设备或另一个设备(如接近用户的电视)上运行。又如,如果例如kindle设备之类的电子阅读器在购书体验期间正在运行,那么这可以用作约束以告知系统在识别步骤期间查找环境中的书。

识别预期的对象通常来自通过AR设备观察情景的照相机的图像数据进行。可以考虑用户所处的背景。例如,AR设备可以识别书店的类型或者项目的系列,例如,书或DVD;或者甚至对象的不同系列,例如,杂货店的项目。

语音可以用于在拖拽对象之前通知用于将其“抓取”的正确识别。也可以使用标记拖拽开始的其他方式,例如,触摸对象、点击对象、触摸AR设备本身的敏感部分,例如按钮或触摸屏,和/或做出已经预编程在AR设备中以告诉系统已经做出用于拖拽的选择的姿势。

在一个实施例中,语音可以单独用于拖放增强现实呈现。

在另一个实施例中,眼睛跟踪可以用于辨别、识别并选择用户正在看什么,跟踪运动的弧线,拖拽或传送以及辨别、识别并选择放置的目的地。

如本文所用,“增强”、“虚拟”或“增强现实呈现”可以指的是添加到真实屏幕的显示屏上的事物,例如,计算机生成的图像、文本或相片。

在一个实施例中,系统包括手持式增强现实设备,其具有至少一个传感器(例如,照相机)、至少一个用于用户输出的图像显示屏以及至少一个用于用户输入的触摸屏(或其他类似装置)。按照用户的指示,增强现实设备可以激活并显示增强现实情景,其包括真实界面对象(例如,由增强现实设备的照相机成像的对象)以及至少一个对象的增强现实呈现。

在一个实施例中,检测并选择(例如,通过第一姿势、语音命令或一些其他预定的方法)增强现实显示屏中的真实界面对象,然后使其在增强现实界面中移动(例如,增强现实设备使用第二姿势、语音命令或一些其他的预定方法来跟踪运动)作为对象的增强现实(或虚拟)呈现,保持第一真实界面对象未改动,或者从情景中去除第一真实界面对象。响应于选择和移动增强现实界面中的真实界面对象,在增强现实界面中呈现用于放置对象的增强现实呈现的至少一个目的地,可能接近真实界面对象。显示屏上用于放置的目的地可以包括在一些情况下当放置对象时会传达对象的增强现实呈现的功能的缩略图、图标或者一些其他符号。目的地图标或符号表示可以放置(例如,通过第三姿势、语音识别或一些其他预定方法)真实界面对象的呈现的对象。

例如,假设用户正在看零售店中的增强现实情景。她将看到商店中的真实对象(例如,书、微波炉和家用器皿)以及增强现实显示屏中的虚拟对象(例如,产品注释以及无论她走到哪里都跟着她的购物车)。如果她想购买一本书,她就看着书架,在增强现实界面内,她可以用手势“拾取”真实的牛津英语字典的全部十二卷的呈现,拖拽,并将它们的增强现实呈现放置到她的虚拟购物车中用于结算,此时她可以决定例如购买真实的书或书的电子副本或两者。

在另一个实施例中,选择(例如,通过第一姿势、语音命令、触摸或一些其他预定的方法)增强现实显示屏中的虚拟界面对象,然后使其在增强现实界面中移动(通过第二姿势、语音命令或一些其他的预定方法)。响应于选择和移动增强现实界面中的虚拟界面对象,在增强现实界面中接近真实界面对象可以呈现至少一个真实界面对象。增强现实界面中的每个真实界面对象表示可以放置(例如,通过第三姿势、语音识别或一些其他预定方法)虚拟界面对象的对象。

例如,假设你正在观察你的家庭娱乐室的增强现实情景。你看到该室内所有的真实对象(例如,电视机、桌子、沙发、书架等等)叠加着增强(例如,你拥有的数字电影的列表,或许由电视机的桌子上的一堆虚拟DVD表示)。你想看你拥有的一部数字JamesBond电影,所以在增强现实界面内,你拾取虚拟的GoldfingerDVD,拖拽,并且将其放置在真实的电视机屏幕上。接着真实的电视机上将开始播放电影(或者它可以覆盖着真实的电视机的增强,所以仅用户能看到,或者两种情况都可以)。

又如,朋友给用户一张照片,用户想把它发布到她的社交网络主页上,例如,她的Facebook主页。她可以用手势或语音选择照片,拖拽所得的照片的增强现实呈现到她的增强现实设备的角落的FBb图标上,并将其放置在那以登录她的Facebook主页作为照片的数字副本去向的目的地。这对于待添加到Pinterest的图像、将要添加到个人电子日记的笔记以及其他个人数据存储库具有类似的工作过程。

出于对读者的礼貌并且参照本文的附图,一般“100系列”的附图标记通常指的是图1首先引入/描述的项目,“200系列”的附图标记通常指的是图2首先引入/描述的项目,“300系列”的附图标记通常指的是图3首先引入/描述的项目,等等。

在以下详细描述中,参照构成本发明的一部分的附图。在附图中,相似的符号通常标识相似的组件,除非上下文中另有说明。具体实施方式、附图和权利要求书中描述的示例性实施例并不意味着限制。在不脱离本文公开的主题的精神或范围的情况下,可以利用其他实现方案,并且可以进行其他修改。

图1示出了可用于与用户进行增强现实交互的几个设备。这些设备包括具有平板照相机屏幕102的平板设备100、具有智能照相机屏幕106的智能手机104、数字照相机108、增强现实眼镜110(以罗盘航向的方式示出增强,例如,“SW”,以及环境温度,例如,“65℉”)和视频摄像机112。可以制造具有本文所述的功能的其他形状因素。

图2示出了具有增强现实显示屏208的增强现实设备(智能手机)204,其描绘了增强现实设备的真实世界的视野(智能照相机的视野)的图像200,包括增强现实呈现206,例如,“SW65℉”。

图3图示了可以实施实施例的示例的增强现实系统322。系统322可以在整个增强现实设备302中工作以供用户300使用。增强现实系统322可以在增强现实设备302上实施,或者它可以全部或部分地远程实施,例如,作为通过网络304的云服务与增强现实设备302通信。增强现实系统322可以包括例如环境背景评估模块306、增强现实设备背景评估模块308、对象选择模块310、图像处理模块312、图像数据库314、数字图像生成模块316、用户运动跟踪模块318、目的地选择模块319和放置登录模块320。在增强现实设备302上运行或通过其运行的增强现实系统322可以通过网络304、无线地或有线连接进行通信。通过可以包括云计算组件的网络304,增强现实系统322可以与网络支付系统324通信,网络支付系统324包括信用卡账号326、Google钱包328和/或PayPal330。增强现实系统322也可以经由网络304与零售商332(例如,Target334)通信。增强现实系统322也可以经由网络304与在线数据服务336(例如,Facebook338、iTunes340和/或GooglePlay应用商店342)通信。

以此方式,用户可以相应地与她的环境的数字呈现交互以便尤其是完成交易、收集感兴趣的项目,例如,包括真实对象的数字图像的数字媒体,或者操作例如用于观察或把玩的电影和游戏的事物。

按照本文所提到的,增强现实系统322可以用于执行各种查询和/或相对于真实世界对象的回想技术和/或真实世界对象的增强现实呈现。例如,在通过使用一个或多个图像数据库组织、输入和/或以其他方式访问真实世界对象图像数据的情况下,增强现实系统322可以例如通过对象选择模块310采用各种布尔、统计和/或非布尔搜索技术来选择真实世界情景的一组图像中的正确的真实世界呈现,并且还通过找到例如图像数据库314中的一个图像或者例如通过数字图像生成模块316生成图像来提供对象的增强现实呈现。

可以结合增强现实系统322使用数据库和数据库结构的许多实例。这些实例包括分层模型(其中数据组织在树形和/或父子型节点结构中)、网络模型(基于设置理论,并且其中支持每个子节点多个父结构)或对象/关系模块(关系模型与面向对象模型结合)。

另外其他实例包括各种类型的eXtensibleMark-upLanguage(XML)数据库。例如,可以包括以不同于XML的一些格式保存数据的数据库,但是这些格式与用于使用XML访问数据库的XML接口相关。又如,数据库可以直接存储XML数据。附加地或可替代地,可以使用事实上任何半结构化的数据库,使得内容可以提供给/关联存储的数据要素(用数据要素编码,或者在数据要素外编码),使得可以便于数据存储和/或访问。

这些数据库和/或其他内存存储技术可以通过使用各种编程或编码语言编写和/或实施。例如,面向对象数据库管理系统可以用编程语言编写,例如,C++或Java。关系和/或对象/关系模型可以利用数据库语言,例如,结构化查询语言(SQL),其可以用于例如二义性消除信息的交互查询和/或收集和/或编译来自关系数据库的数据。

例如,可以执行对一个或多个真实世界对象图像数据的SQL或SQL类操作,或者可以执行使用真实世界对象图像数据301的布尔操作。例如,可以执行加权布尔操作,其中根据情景的背景或设备302的背景(可能彼此相对而言),包括在设备302上运行的程序,给一个或多个真实世界对象图像分配不同的权重或优先权。例如,根据识别的线索,例如,表示在书店的位置的地理数据,可以执行数字加权、专属OR操作以请求对象类别的具体加权。

图4图示了用户与即时增强现实系统交互的实例。图4a描绘了增强现实装置(智能手机),在其屏幕上显示照相机的视野中包含书的书架。

图4b描绘了用户的手指向一个书架上的一本书;例如,可以采集到印刷在用户的食指附近或所触摸处的书的书脊上的文字的增强现实系统322和/或图像处理模块312检测到这个姿势。另外,增强现实设备背景评估模块308可以检测到设备正在运行具有与特定的书架相关的虚拟购物车功能的程序(如图4b-4f的左下角的购物车图像所示),并且如果在情景中有其他非书项目,那么系统可以使用书店相关的虚拟购物车作为过滤器使得仅情景中的书被考虑供备选。在一些实施例中,菜单,例如,书标题的下拉式菜单例如可以呈现给用户供选择。

在选择书时,增强现实系统322和/或数字图像生成模块316可以在图像数据库314中寻找并且显示或建立且显示选择的书的增强现实呈现417。

图4c描绘了与用户的食指指向的书对应的书架上的单本书被加亮。

图4d描绘了随着手朝着显示屏上的购物车图标移动而与用户的手相关的选择的书的更详细的增强现实呈现417。这是移动或拖拽操作,在书到达购物车时,此操作将告诉系统有关书的信息应当记录在用户的购物车账户中,或许在书店的网页上。这是登记放置。例如,响应于检测到由例如用户运动跟踪模块318跟踪的用户移动他的指向手指到图标上,目的地选择模块319和/或放置登记模块320可以在增强现实设备的显示屏中的购物车图标登记书的显示的增强现实呈现。

任选地,增强现实显示屏可以提供放置的登记的指示,如图4f所示,其中购物车图标经过修改以在上面包括1,表明购物车中有一件项目。

增强现实系统322也可以从AR到现实执行反向操作。这包括检测显示屏上的增强现实呈现417,根据至少一个检测的用户的第二动作(例如,将其拖到真实世界项目上)在增强现实设备的显示屏上移动显示的增强现实呈现417,并且响应于例如在用于支付书的信用卡处理设备处结束、在用于播放电影的电视处结束或者在用于从例如智能手机传送音频书到汽车的汽车处结束的拖拽姿势在增强现实设备的真实世界视野中的位置寄存显示的增强现实呈现。

当然,如图14所示,系统可以执行现实到AR和反向的过程。其中一个实例是以下整个过程:检测/选择用户指示的真实项目;将其增强现实呈现417拖拽到AR设备上的位置;然后再次对其进行检测/选择用于移动到不同的真实世界对象。其中一个实例是以下整个过程:从书店的书架选择书;将其放置在虚拟购物车中;然后在信用卡处理设备取回书用于支付。

图5-14图示了表示与增强现实系统中的选择、拖拽和放置有关的示例的操作的操作流程。在包括操作流程的各种实例的以下附图中,可以相对于图1-4的上述系统环境和/或相对于其他实例和背景提供讨论和说明。然而,应当理解的是,操作流程可以在许多其他环境和背景和/或图1-4的修改版本中执行。另外,尽管按照图示的顺序提供了多个操作流程,但是应当理解的是,多个操作可以按照除说明的顺序之外的其他顺序执行,或者可以同时执行。

本文的操作/功能语言描述机器/机器控制/机器控制的过程,除非另外指明

本申请的权利要求书、说明书和附图可以用操作/功能语言描述一个或多个即时技术,例如,作为计算机将要执行的一组操作。在大多数情况下,本领域技术人员可以将这些操作/功能描述理解成专门配置的硬件(例如,因为通用计算机一旦被编程以执行依据程序软件指令的特定功能,事实上它就变成了专用计算机)。

重要的是,尽管本文所述的操作/功能描述是人类思维可以理解的,但是它们不是从这些操作/功能的计算实施分离的操作/功能的抽象概念。相反,操作/功能表示用于大量复杂的计算机器或其他装置的规范。按照以下详细讨论的,必须在正确的技术背景内阅读操作/功能语言,即,用于物理实施的具体规范。本文所述的逻辑操作/功能是机器规范的精华或者操作/功能指定的其他物理机制,使得否则无法理解的机器规范能够被人类读者理解。这种精华还允许本领域技术人员在不限于特定供应商的硬件配置或平台的情况下在许多不同规范的供应商的硬件配置或平台之间适应技术的操作/功能描述。

一些当前技术描述(例如详细描述、附图、权利要求书等)可按照逻辑操作/功能进行阐述。如本文中更详细描述的那样,这些逻辑操作/功能不是抽象理念的代表,而是各硬件组件的静态或顺序规范的表征。换种说法,除非上下文指出相反情形,否则逻辑操作/功能将被本领域内技术人员理解为表示各硬件组件的静态或顺序的规范。由于本领域内技术人员可用来实现以操作性/功能性格式阐述的技术公开的工具——以高级编程语言(例如C、Java、visualbasic等)形式出现的工具或以非常高速硬件描述语言(VHDL,它是使用文本来描述逻辑电路的语言)形式出现的工具——是各硬件配置的静态或顺序规范的发生器,因此这是真的。这个事实有时被宽泛术语“软件”模糊化,如下面解释中示出的,本领域内技术人员理解,被冠名为“软件”的东西是对于有序物质要素的十分复杂的相互联系/规范的的速记。术语“有序物质要素”可指物理计算器件,例如电子逻辑门的组件、分子计算逻辑组成、量子计算机构等。例如,高级编程语言是具有强抽象性的编程语言,例如来自高级编程语言实际规定的机器的顺序组织、状态、输入、输出等细节的多层抽象性。例如参见Wikipedia,High-levelprogramminglanguage,http://en.wikipedia.org/wiki/High-level_programming_language(2012年6月5日21:00GMT)。为了利于人们领会,在许多情况下,高级编程语言与自然语言相似或甚至共享标记。例如参见Wikipedia,Naturallanguage,http://en.wikipedia.org/wiki/Natural_language(2012年6月5日,21:00GMT)。

已经有人争辩道,因为高级编程语言使用强抽象(例如,它们可以模仿或者共享自然语言的符号),所以它们因此是“纯智力构造”(例如,“软件”计算机程序或计算机编程在一定程度上是无法理解的智力构造,因为在高级抽象,所以人类读者可以想像并理解)。该论据已经用于表征在一定程度上是“抽象概念”的功能/操作形式的技术描述。事实上,在技术领域(例如,信息和通信技术)中,这是真的。

高级编程语言使用强抽象以便于人类理解的事实不应当被当成是指明所表达的是抽象概念的指令。事实上,本领域技术人员理解的是,正好相反的是真实的。如果高级编程语言是用于实施功能/操作形式的技术公开的工具,那么本领域技术人员应当理解的是,在任何显著语义感中远非抽象的、不精确的、“模糊的”或“智力的”,这种工具反而是特定计算机器的近乎无法理解的精确序列规范,该机器的一部分通过从通常更一般的计算机器启动/选择这些部分随时间(例如,时钟时间)变化而建立的。高级编程语言与自然语言之间的表面相似性有时候模糊了这种事实。这些表面相似性也可以导致掩盖高级编程语言实施通过建立/控制许多不同的计算机器来最终执行有价值的工作的事实。

高级编程语言描述的许多不同的计算机器是几乎难以想象的复杂。本质上,在计算机器中使用的硬件通常由被设置成形成逻辑门的一些类型的有序物元(例如,传统电子器件(例如,晶体管)、脱氧核糖核酸(DNA)、量子器件、机器开关、光学元件、流体元件、气动元件、光学器件(例如,光干涉器件)、分子等)组成。逻辑门通常是能被电气地、机械地、化学地或者以其他方式驱动以改变物理状态从而建立布尔逻辑之类的逻辑的物理现实的物理器件。

逻辑门可以被设置成形成逻辑电路,该逻辑电路通常是能被电气地、机械地、化学地或者以其他方式驱动以建立某些逻辑功能的物理现实的物理器件。逻辑电路的类型包括例如多路复用器、寄存器、算术逻辑单元(ALU)、计算机存储器等器件,这种器件的每种类型可以结合以形成又一种类型的物理器件,例如,中央处理器(CPU),最熟知的中央处理器是微处理器。现代微处理器通常在其众多逻辑电路中包括多于一亿个逻辑门(并且通常多于十亿个晶体管)。参见例如可得自网站http://en.wikipedia.org/wiki/Logic_gates(2012年6月5日,21:03GMT)的Wikipedia,Logicgates。

形成微处理器的逻辑电路被设置成提供微架构,该微架构将执行由微处理器限定的指令集架构所定义的指令。指令集架构是涉及编程的微处理器架构的一部分,包括本机数据类型、指令、寄存器、寻址方式、存储器架构、中断和异常处理以及外部输入/输出。参见例如可得自网站http://en.wikipedia.org/wiki/Computer_architecture(在2012年6月5日21:03GMT)的Wikipedia,Computerarchitecture。

指令集架构包括机器语言的规范,所述规范可由编程者使用以使用/控制微处理器。由于机器语言指令使得它们可直接通过微处理器执行,它们通常由多串二进制数或位构成。例如,典型的机器语言指令可以是许多位长(例如32、64或128位字符串是当前通用的)。典型的机器语言指令可以“11110000101011110000111100111111”的形式出现(32位指令)。此处重要的是,尽管机器语言指令是以二进制数序列写就的,但实际上这些二进制数规定物理现实。例如,如果使用某些半导体来使布尔逻辑操作成为物理现实,则显然机器语言指令中的数学位“1”、“0”实际上构成规定将特定电压施加至特定线的速记。例如,在某些半导体技术中,机器语言指令中的二进制数“1”(例如逻辑“1”)规定被施加至特定“线”(例如印刷电路板上的金属迹线)的+5伏左右的电压,而机器语言指令中的二进制数“0”(例如逻辑“0”)规定被施加至特定“线”的-5伏左右的电压。除了规定机器配置的电压,这些机器语言指令也从更通用机器的数百万个逻辑门中选出并激活特定组的逻辑门。由此,远非抽象数学表达,机器语言指令程序(即便被写成一串0和1)也能规定许多许多构造的物理机或物理机状态。

机器语言一般对多数人是不可领会的(例如前面的例子仅为一条指令,并且某些个人计算机每秒执行20亿条指令),例如参见Wikipedia,Instructionspersecond,http://en.wikipedia.org/wiki/Instruction_per_second(2012年6月5日21:04GMT)。由此,以机器语言写就的程序——它可以是数千万个机器语言指令长度——是大多数人难以领会的。有鉴于此,研发出早期汇编语言,它使用记忆代码以指向机器语言指令,而不是直接使用机器语言指令的数值(例如为了执行乘运算,程序员将简称“mult(乘)”代码化,它代表MIPS机器代码中的二进制数“011000”)。尽管汇编语言一开始对人们控制微处理器以执行工作具有很大的帮助,然而经过一段时间,需要由人完成的工作的复杂度超过了人们仅使用汇编语言控制微处理器的能力。

在这一点,注意相同的任务需要一遍又一遍地完成,并且完成这些重复任务所需的机器语言是相同的。有鉴于此,形成了编译器。编译器是这样一种器件,其采用比机器或汇编语言更容易被人领会的语句(例如“add2+2andoutputtheresult(加2+2并输出结果)”)并将人们易懂的语句转换成复杂的、冗长的和巨大的机器语言代码(例如上百万个32、64或128位长的字符串)。编译器由此将高级编程语言转换成机器语言。这种编译的机器语言,如前所述,则被用作顺序地构造并造成许多不同计算机器的互操作的技术规范,由此完成有益的、有形的和具体的工作。例如,如前面指出的,这种机器语言——较高级语言的编译版本——起到技术规范的作用,该技术规范选出硬件逻辑门、规定电压电平、电压转变定时等,以通过硬件完成有益的工作。

由此,当由本领域内技术人员审视时,功能性/操作性技术描述远非抽象理念。相反,这种功能性/操作性技术描述,当通过例如刚才描述的业内可用的工具理解时,可被理解为对硬件规范的人们容易理解的表示,其复杂性和特异性远远超过大多数人的领会范围。有鉴于此,本领域内技术人员将理解,任何这样的操作性/功能性技术描述——鉴于本文公开和本领域内技术人员的知识——可被理解为通过以下项投入到物理现实中的操作:(a)一个或多个相互联系的物理机;(b)被配置成形成一个或多个物理机的相互联系的逻辑门,其代表序列/组合逻辑;(c)构成逻辑门的相互联系的有序物质(例如相互联系的电子器件(例如晶体管)、DNA、量子器件、机械开关、光学系统、射流技术、气动装置、分子等),它们形成逻辑的物理现实;或(d)前述的实际任意组合。事实上,具有稳定、可测和可变状态的任何物理对象可用来基于前面的技术描述构造机器。例如,CharlesBabbage由木材构造出第一台计算机并通过使手柄作曲柄转动而供电。

由此,远非抽象理念理解的那样,本领域内技术人员将功能性/操作性技术描述认识为一个或多个几乎无法想象地复杂和时间顺序的硬件实例的人们可理解的表示。功能性/操作性技术描述可能容易将其本身赋予与自然语言共享某些字、结构、词等的高级计算语言(或对于该物质的高级框图)这一事实不得视为这些功能性/操作性技术描述是抽象理念或仅仅为抽象理念表达的指示。事实上,如本文中概述的,在技术领域中这简单地不是真的。当通过本领域内技术人员可用的工具观察时,这些功能性/操作性技术描述被视为规定几乎无法想象的复杂度的硬件配置。

如前面概述的那样,使用功能性/操作性技术描述的原因至少为两层。首先,使用功能性/操作性技术描述允许接近无限复杂的机器和起因于相互联系的硬件组件的机器操作以人类头脑能够处理的方式(例如通过模仿自然语言和逻辑叙述流)描述。其次,使用功能性/操作性技术描述通过提供更独立于或较不独立于任何特定卖家的硬件零件的描述来帮助本领域内技术人员理解所描述的主题。

使用功能性/操作性技术描述帮助本领域内技术人员理解所描述的主题,因为如从上面的讨论显而易见的,人们能容易地(尽管不是快速地)将该文档中阐述的技术描述改写成数万亿个1和0、数十亿个汇编层机器代码的单行、数百万个逻辑门、数千个门阵列或任何数量的中间级别的抽象。然而,如果任何这些低级技术描述要取代当前技术描述,本领域内技术人员在实现本公开时可能遇到过度的困难,因为这种低级技术描述可能增加复杂性而没有相应的益处(例如通过描述主题,该主题利用一个或多个卖家特定的硬件零件的规格)。

由此,使用功能性/操作性技术描述通过将技术描述与任何卖家特定的硬件零件的规格分离开来而对本领域内技术人员有帮助。

有鉴于前述内容,当前技术描述中阐述的逻辑操作/功能是各种有序物质要素的静态或顺序规范的表示,以便使这些规范可由人们的头脑领会并可调整以产生许多硬件配置。本文披露的逻辑操作/功能应当被如此对待,并且不应当仅仅因为它们展示的规范以本领域内技术人员能容易理解的方式表示并以独立于特定卖家的硬件实现的方式应用而将其诋毁地表征为抽象理念。

本领域内技术人员将认识到,本文描述的组成(例如操作)、设备、对象和伴随它们的讨论为了概念清楚作为示例使用并且考虑多种配置修正。结果,如本文中使用的,所阐述的特定例子和伴随的讨论旨在表达其更一般的类别。总体来说,任何特定例子的使用旨在表示其类别,并且特定组成(例如操作)、设备和目的的非包含不应当被认为是限制。

尽管用户可以在本文中图示/描述为单个示出的人物,然而本领域技术人员将理解,任何用户可代表人类用户、机器人用户(例如计算实体)和/或其基本任意组合(例如用户可由一个或多个机器人代理来协助),除非上下文指出了相反情形。本领域内技术人员将理解,一般来说,同一对象可被说成是“发送方”和/或其它面向实体的术语(当这些术语在本文中使用时),除非上下文指出了相反情形。

本领域内技术人员将理解,前面的特定示例性过程和/或设备和/或技术是本文其它地方教导的更一般过程和/或设备和/或技术的代表,例如与本申请一起提交的权利要求书和/或本申请其它部分教导的那样。

本领域内技术人员将认识到,技术水平已发展到在系统各个方面的硬件和软件实现之间存在极小差别的阶段;硬件和软件的使用通常是(但不总是,因为在某些背景下硬件和软件之间的选择可能变得重要)代表成本相对于效率权衡的设计选择。本领域内技术人员将理解,存在多种载体,通过这些载体可实现本文描述的过程和/或系统和/或其它技术(例如硬件、软件和/或固件),并且优选的载体可随着其中部署过程和/或系统和/或其它技术的背景而变化。例如,如果实施者确定速度和精确性是至上的,则实施者可选择主要硬件和/或固件载体;替代地,如果灵活性至上,则实施者可选择主要软件实现;或者再一次,实施者可选择硬件、软件和/或固件的一些组合。因此,存在若干种可能的载体,通过这些载体可实现本文描述的过程和/或设备和/或其它技术,其中没有任何一种天生地优于其它的,因为拟利用的任何载体是依赖于将部署载体的背景和实施者的特殊考虑(例如速度、灵活性或可预测性)的选择,其任意一种都是可变的。本领域技术人员将认识到,实现的光学方面将一般采用面向光学的硬件、软件和/或固件。

在本文描述的一些实现中,逻辑和类似的实现可包括软件或其它控制结构。例如,电子电路可具有被构造和布置成实现如本文描述的各种功能的一个或多个电流路径。在一些实现方案中,一个或多个介质可被配置成当该介质保持或发送如本文所述那样能操作来执行的设备可检测指令时承载设备可检测的实现。在一些变例中,例如实现可包括已有软件或硬件或门阵列或可编程硬件的更新或修正,例如通过关联于本文描述的一个或多个操作执行一个或多个指令的接收或发送来进行。作为替代或附加,在一些变例中,实现可包括专用硬件、软件、固件部件和/或通用器件,它们执行或以其它方式调用专用部件。规范或其它实现可通过如本文描述的有形传输介质的一个或多个实例,可选择地通过分组传输或以其它方式通过分布式介质多次地传递来传输。

作为替代或附加,实现可包括:执行专用指令序列或调用电路以启用、触发、协调、请求或以其它方式造成实际上本文描述的任何功能性操作的一次或多次发生。在一些变例中,本文中的操作性或其它逻辑描述可被表达为源代码并被编译或者被调用作为可执行指令序列。在一些背景下,例如实现可整体地或部分地通过诸如C++之类的源代码或其它代码序列来提供。在其它实现方案中,源代码或其它代码实现方案,使用商业可得的和/或业内的技术,可被编译/实现/翻译/转换成高级描述符语言(例如最初实现C或C++编程语言中描述的技术并随后将编程语言实现转化成可逻辑合成的语言实现、硬件描述语言实现、硬件设计模拟实现和/或其它这种类似的表达模式)。例如,一些或全部的逻辑表达(例如计算机编程语言实现)可被显示为Verilog型硬件描述(例如经由硬件描述语言(HDL)和/或非常高速集成电路硬件描述符语言(VHDL))或者其它电路模型,其可随后用来产生具有硬件的物理实现(例如专用集成电路)。受这些教义的启发,本领域内技术人员将理解如何获得、配置和优化合适的传输或计算要素、材料供给、致动器或其它结构。

通过使用方框图、流程图、和/或例子,前面详细的描述已阐明了所述设备和/或过程的多个实现方案。在这样的方框图、流程图和/或例子包括一个或更多功能和/或操作的情况下,本领域的技术人员应理解,可通过各种硬件、软件、固件或实际上其中的任何组合个别地和/或共同地实现这样的方框图、流程图或例子内的每个功能和/或操作。在一实施方案中,通过专用集成电路(ASICs)、现场可编程门阵列(FPGAs)、数字信号处理器(DSPs)或其它集成格式可实现这里所述主题的一些部分。然而,本领域的技术人员应认识到,这里所公开的实现方案的一些方面,可作为在一个或更多计算机上运行的一个或更多计算机程序(例如,作为在一个或更多计算机系统上运行的一个或更多程序)、作为在一个或更多处理器上运行的一个或更多程序(例如,在一个或更多微处理器上运行的一个或更多程序)、作为固件、或作为实际上其任何组合全部或部分地在标准集成电路中等效地实现,以及根据此公开,设计电路和/或向软件和/或固件写入代码将完全落在本领域的技术范围内。另外,本领域的技术人员应理解,这里所述的主题机制能够作为多种形式的程序产品分配,以及这里所述的主题的说明性实施方式同样适用,且与用于实际上实现所述分配的信号携带介质的特定类型无关。信号携带介质的例子包括但不局限于下列:可记录类型的介质,例如软盘,硬盘驱动器、光盘(CD)、数字视频光盘(DVD)、数字磁带和计算机存储器等等;以及传输类型的介质,例如数字和/或模拟通信介质(例如光纤、波导、有线通信链接、无线通信链接(例如,发送器、接收器、发送逻辑、接收逻辑等)等等)。

在一般意义上讲,本领域技术人员会认识到,能够由范围广泛的硬件、软件、固件和/或它们的任意组合单独地并且/或者共同地实施的本文所述的多个方面可以看成是包含各种类型的“电路”。因此,本文使用的“电路”包括,但不限于:具有至少一个离散电路的电路,具有至少一个集成电路的电路,具有至少一个专用集成电路的电路,形成由计算机系统配置成的通用计算设备(例如,由至少部分地执行本文所述的方法和/或设备的计算机程序配置成的通用计算机,或者由至少部分地执行本文所述的方法和/或设备的计算机程序配置成的微处理器)的电路,形成存储设备的电路(例如,形成存储器(例如,随机存取存储器、闪存、只读存储器等)),和/或形成通信设备(例如,调制解调器、通信开关、光电设备等)的电路。本领域技术人员会认识到,本文所述的主题可以实施为模拟或数字方式或者它们的一些组合。

本领域的技术人员会认识到,本文所述的设备和/或方法中的至少一部分可以集成到数据处理系统中。本领域技术人员会认识到,数字处理系统一般包括系统组件壳体,视频显示设备,例如易失性或非易失性存储器之类的存储器,例如微处理器或数字信号处理器之类的处理器,例如操作系统之类的计算实体,驱动器,图形用户界面,和应用程序,一个或多个交互设备(例如,触控板、触摸屏、天线等),和/或包括反馈回路和控制电机(例如,用于感测位置和/或速度的反馈,用于移动和/或调节组件并且/或者量化的控制电机)的控制系统。数字处理系统可以利用合适的可商购组件(例如,通常在数字计算/通信和/或网络计算/通信系统中发现的组件)来实施。

本领域的技术人员将认识到,在本技术领域中通常实施设备和/或过程和/或系统,其后利用工程设计和/或实践来将该实施的设备和/或过程和/或系统结合到更复杂的设备和/或过程和/或系统。即,本文所述的设备和/或过程和/或系统中的至少一部分可经由合理数量的实验结合到其它设备和/或过程和/或系统中。本领域的技术人员将认识到,这种其它的设备和/或过程和/或系统根据上下文和应用的需要包括以下项中的设备和/或过程和/或系统的所有或部分:(a)空气输送(例如,飞机、火箭、直升机等),(b)地面输送系统(如,汽车、货车、机车、坦克、装甲运兵车等),(c)建筑物(例如,住房、仓库、办公楼等),(d)家用电器(如冰箱、洗衣机、干燥机等),(e)通信系统(例如,网络系统、电话系统、基于IP的语音系统等),(f)公司实体(例如,因特网服务提供商(ISP)实体,如ComcastCable、CenturyLink、SouthwesternBell等),或(g)有线/无线服务的实体(如Sprint、Verizon、AT&T等),等等。

本申请的权利要求书、说明书和附图可以操作性/功能性语言将一个或多个当前技术描述为例如拟由计算机执行的一组操作。在大多数情况下,这种操作性/功能性描述将被本领域内技术人员理解为专门配置的硬件(例如由于通用计算机一旦被编程以遵循来自程序软件的指令执行特定功能则事实上成为专用计算机)。

重要的是,尽管本文描述的操作性/功能性描述可通过人的头脑理解,但它们不是与那些操作/功能的计算实现分离的操作/功能的抽象理念。相反,这些操作/功能代表十分复杂的计算机器或其它装置的规范。如下面详细讨论的,操作性/功能性语言必须在其正确的技术背景下阅读,即作为物理实现的具体规范。

本文描述的逻辑操作/功能是机器规范或由操作/功能规定的其它物理机构的提炼,以使在其他情形下难以理解的机器规范可由人的头脑领会。这种提炼也允许本领域内技术人员跨许多不同特定卖家的硬件配置或平台适应技术的操作性/功能性描述,而不仅限于特定卖家的硬件配置或平台。

一些当前技术描述(例如详细描述、附图、权利要求书等)可按照逻辑操作/功能进行阐述。如下面段落中更详细描述的那样,这些逻辑操作/功能不是抽象理念的代表,而是各硬件组件的静态或顺序规范的表征。换种说法,除非上下文指出相反情形,否则逻辑操作/功能将被本领域内技术人员理解为表示各硬件组件的静态或顺序的规范。这是真的,因为本领域内技术人员可用来实现以操作性/功能性格式阐述的技术公开的工具——以高级编程语言(例如C、Java、visualbasic等)形式出现的工具或以非常高速硬件描述语言(VHDL,它是使用文本来描述逻辑电路的语言)形式出现的工具——是各硬件配置的静态或顺序规范的发生器。这个事实有时被宽泛术语“软件”晦涩化,如下面解释中示出的,本领域内技术人员理解,被冠名为“软件”的东西是对于有序物质要素的十分复杂的相互联系/规范的速记。术语“有序物质要素”可指物理计算部件,例如电子逻辑门的组件、分子计算逻辑组成、量子计算机构等。

例如,高级编程语言是具有来自高级编程语言实际规定的机器的顺序组织、状态、输入、输出等细节的强抽象性(例如多层抽象性)的编程语言。例如参见Wikipedia,High-levelprogramminglanguage,http://en.wikipedia.org/wiki/High-level_programming_language(2012年6月5日21:00GMT)(仅仅包含的URL以提供书面描述)。为了利于人们领会,在许多情况下,高级编程语言与自然语言相似或甚至共享标记,例如参见Wikipedia,Naturallanguage,http://en.wikipedia.org/wiki/Natural_language(2012年6月5日,21:00GMT)(仅仅包含的URL以提供书面描述)。

已有争论,由于高级编程语言使用强抽象性(例如它们可能与自然语言相似或共享标志),因此它们是“纯头脑构筑的”(例如“软件”——计算机程序或计算机编程——某种程度上是不可言喻的头脑构筑,因为在高级抽象性下,它可用人脑构思和理解)。这种争论被用来将功能/操作形式的技术描述表征为某一程度的“抽象理念”。事实上,在技术领域(例如信息和通信技术)中并不是这样。

高级编程语言使用强抽象性以利于人们理解的这个事实不应当被视为所表达的内容是抽象理念的指示。事实上,本领域内技术人员理解,只有相反情形才是真的。如果高级编程语言是用来以功能/操作的形式实现本技术公开的工具,则本领域内技术人员将理解,远非以任何重大语义定义的抽象的、不准确的、“模糊的”或“头脑的”,这种工具相反是特定计算机器的接近不可理解的准确顺序规范——其中的一些部分通过随时间(例如时钟时间)从典型更一般的计算机器激活/选择这些部分而建立。这个事实有时因为高级编程语言和自然语言之间的表面相似性而变得晦涩。这些表面相似性也可造成对高级编程语言实现最终通过创建/控制许多不同的计算机器来执行有价值工作的这一事实的粉饰。

高级编程语言规定的许多不同计算机器几乎是无法想象地复杂。基本上,计算机器中使用的硬件一般由某些类型的有序物质(例如传统电子器件(例如晶体管)、脱氧核糖核酸(DNA)、量子器件、机械开关、光学系统、射流技术、气动装置、光学器件(例如光干涉器件)、分子等)构成,这些有序物质被配置成形成逻辑门。逻辑门一般是可电气地、机械地、化学地或以其它方式被驱动以改变物理状态以形成布尔逻辑的物理现实的物理器件。

逻辑门可被配置成形成逻辑电路,该逻辑电路一般是可电气地、机械地、化学地或以其它方式被驱动以形成某些逻辑功能的物理现实的物理器件。逻辑电路的类型包括诸如多路复用器、寄存器、算术逻辑单元(ALU)、计算机存储器等器件,其每种类型可被组合以形成又一些其它类型的物理器件,例如中央处理单元(CPU)——其中最广为人知的是微处理器。现代微处理器在其许多逻辑电路中经常包含一亿个以上的逻辑门(并经常超过十亿个晶体管),例如参见Wikipedia,Logicgates,http://en.wikipedia.org/wiki/HLogic_gates(2012年6月5日21:03GMT)(仅仅包含URL以提供书面描述)。

形成微处理器的逻辑电路被配置成提供微架构,该微架构将执行由该微处理器的定义指令集架构定义的指令。指令集架构是与编程关联的微处理器架构的一部分,包括原数据类型、指令、寄存器、寻址模式、存储器架构、中断和异常处理以及外部输入/输出。例如参见Wikipedia,Computerarchitecture,http://en.wikipedia.org/wiki/Computer_architecture(2012年6月5日21:03GMT)(仅仅包含URL以提供书面描述)。

指令集架构包括机器语言的规范,所述规范可由编程者使用以使用/控制微处理器。由于机器语言指令使得它们可直接通过微处理器执行,它们通常由多串二进制数或位构成。例如,典型的机器语言指令可以是许多位长(例如32、64或128位字符串是当前通用的)。典型的机器语言指令可以“11110000101011110000111100111111”(32位指令)的形式出现。

此处重要的是,尽管机器语言指令是以二进制数序列写就的,但实际上这些二进制数规定物理现实。例如,如果使用某些半导体来使布尔逻辑操作成为物理现实,则显然机器语言指令中的数学位“1”、“0”实际上构成规定将特定电压施加至特定线的速记。例如,在某些半导体技术中,机器语言指令中的二进制数“1”(例如逻辑“1”)规定被施加至特定“线”(例如印刷电路板上的金属迹线)的+5伏左右的电压,而机器语言指令中的二进制数“0”(例如逻辑“0”)规定被施加至特定“线”的-5伏左右的电压。除了规定机器配置的电压,这些机器语言指令也从更通用机器的上百万个逻辑门中选出并激活特定组的逻辑门。由此,远非抽象数学表达,机器语言指令程序(即便被写成一串0和1)也能规定许多许多构造的物理机或物理机状态。

机器语言一般对多数人是不可领会的(例如前面的例子仅为一条指令,并且某些个人计算机每秒执行20亿条指令),如参见Wikipedia,Instructionspersecond,http://en.wikipedia.org/wiki/Instruction_per_second(2012年6月5日21:04GMT)(仅仅包含URL以提供书面描述)。

由此,以机器语言写就的程序——它可以是数千万个机器语言指令长度——是难以领会的。有鉴于此,研发出早期汇编语言,它使用记忆代码以指向机器语言指令,而不是直接使用机器语言指令的数值(例如为了执行乘运算,程序员将简称“mult(乘)”代码化,它代表MIPS机器代码中的二进制数“011000”)。尽管汇编语言一开始对人们控制微处理器以执行工作具有很大的帮助,然而经过一段时间,需要由人完成的工作的复杂度超过了人们仅使用汇编语言控制微处理器的能力。

在这一点,注意相同的任务需要一遍又一遍地完成,并且完成这些重复任务所需的机器语言是相同的。有鉴于此,形成了编译器。编译器是这样一种器件,其采用比机器或汇编语言更容易被人领会的语句(例如“add2+2andoutputtheresult(加2+2并输出结果)”)并将人们易懂的语句转换成复杂的、冗长的和巨大的机器语言代码(例如上百万个32、64或128位长的字符串)。编译器由此将高级编程语言转换成机器语言。

这种编译的机器语言,如前所述,然后被用作顺序地构造并造成许多不同计算机器的互操作的技术规范,由此完成人类有益的、有形的和具体的工作。例如,如前面指出的,这种机器语言——较高级语言的编译版本——起到技术规范的作用,该技术规范选出硬件逻辑门、规定电压电平、电压转变定时等,以通过硬件完成对人类有益的工作。

由此,当由本领域内技术人员审视时,功能性/操作性技术描述远非抽象理念。相反,这种功能性/操作性技术描述,当通过例如刚才描述的业内可用的工具理解时,则可被理解为对硬件规范的人们容易理解的表示,其复杂性和特异性远远超过大多数人的领会范围。有鉴于此,本领域内技术人员将理解,任何这样的操作性/功能性技术描述——鉴于本文公开和本领域内技术人员的知识——可被理解为通过以下项投入到物理现实中的操作:(a)一个或多个相互联系的物理机;(b)被配置成形成一个或多个物理机的相互联系的逻辑门,其代表序列/组合逻辑;(c)构成逻辑门的相互联系的有序物质(例如相互联系的电子器件(例如晶体管)、DNA、量子器件、机械开关、光学系统、射流技术、气动装置、分子等),它们形成代表逻辑的物理现实;或(d)前述的实际任意组合。事实上,具有稳定、可测和可变状态的任何物理对象可用来基于前面的技术描述构造机器。例如,CharlesBabbage由木材构造出第一台计算机并通过使手柄作曲柄转动而供电。

由此,远非抽象理念理解的那样,本领域内技术人员将功能性/操作性技术描述认识为一个或多个几乎无法想象地复杂和时间顺序的硬件实例的人们可理解的表示。功能性/操作性技术描述可能容易将其本身赋予与自然语言共享某些字、结构、词等的高级计算语言(或对于该物质的高级框图)这一事实无法简单地视为这些功能性/操作性技术描述是抽象理念或仅仅为抽象理念表达的指示。事实上,如本文中概述的,在技术领域中这根本不是真的。当通过本领域内技术人员可用的工具观察时,这些功能性/操作性技术描述被视为规定几乎无法想象复杂的硬件配置。

如前面概述的那样,使用功能性/操作性技术描述的原因至少为两层。首先,使用功能性/操作性技术描述允许接近无限复杂的机器和起因于相互联系的硬件组件的机器操作以人类头脑能够处理的方式(例如通过模仿自然语言和逻辑叙述流)描述。其次,使用功能性/操作性技术描述通过提供更独立于或较不独立于任何特定卖家的硬件零件的描述来帮助本领域内技术人员理解所描述的主题。

用功能性/操作性技术描述帮助本领域内技术人员理解所描述的主题,因为如从上面的讨论显而易见的,人们能容易地(尽管不是快速地)将该文档中阐述的技术描述改写成数万亿个1和0、数十亿个汇编层机器代码的单行、数百万个逻辑门、数千个门阵列或任何数量的中间级别的抽象。然而,如果任何这些低级技术描述要取代当前技术描述,本领域内技术人员在实现本公开时可能遇到过度的困难,因为这种低级技术描述可能增加复杂性而没有相应的益处(例如通过描述主题,该主题利用一个或多个卖家特定的硬件零件的规格)。由此,使用功能性/操作性技术描述通过将技术描述与任何卖家特定的硬件零件的规格分离开来而对本领域内技术人员形成帮助。

有鉴于前述内容,当前技术描述中阐述的逻辑操作/功能是各种有序物质要素的静态或顺序规范的表示,为了使这些规范可由人们的头脑领会并可调整以产生许多硬件配置。本文披露的逻辑操作/功能应当被如此处理,并且不应当仅仅因为它们展示的规范以本领域内技术人员能容易理解的方式表示并以独立于特定卖家的硬件实现的方式应用而将其诋毁地归纳为抽象理念。

在某些情况下,可以在领域内使用系统或方法,即使部件位于领域外也如此。例如,在分布式计算情形中,可以在领域内使用分布式计算系统,即使系统的零件可以位于领域外(例如,位于领域外的中继器、服务器、处理器、信号承载介质、发送计算机、接收计算机等)。

同样可以在领域中销售系统或方法,即使系统或方法的部分位于领域外并且/或者在领域外使用也如此。

另外,在一个领域中用于执行方法的系统的至少一部分的实现方案不排除使用在另一个领域中的系统。

本说明书中提到的以及/或者任何申请数据表中列举的全部上述美国专利、美国专利申请公开、美国专利申请、外国专利、外国专利申请和非专利公开在它们与上述公开一致的程度上通过引用的方式并入本申请中。

本文所述的主题有时候说明不同的其他组件中包括的或与其连接上的不同组件。应当理解,这种描述的架构仅仅是示例性的,并且事实上,可以实施获得相同功能的许多其他架构。在概念意义上,获得相同功能的任何组件设置有效地“关联上”使得获得所需的功能。因此,本文中组合以获得特定功能的任意两个组件可以被视为彼此“相关”使得获得所需的功能,而不管架构或中间组件如何。同样地,这样关联上的任何两个组件也可以视为彼此“可操作地连接上”,或“可操作地耦接上”以获得所需的功能,并且能这样关联上的任何两个组件也可以视为彼此“可操作地耦接上”以获得所需的功能。可操作地可耦接上的具体实例包括,但不限于:在物理上可匹配的和/或在物理上相互作用的组件;和/或通过无线方式可交互的、和/或通过无线方式相互作用的组件;和/或在逻辑上相互作用、和/或在逻辑上可相互作用的组件。

在一些情况下,一个或多个组件在本文中可以称为“被配置成”、“通过……被配置成”、“可被配置成”、“可操作地/操作地以”、“适于/可适于”、“能”、“可适合于/适合于”等。本领域技术人员会认识到,这些术语(例如,“被配置成”)一般可以包括活动状态组件和/或非活动状态组件和/或待机状态组件,除非上下文另有要求。

对于本文中基本上任意复数和/或单数的术语的使用,本领域技术人员可以按照上下文和/或申请适合的方式将复数理解成单数并且/或者将单数理解成复数。为了清楚的目的,本文中没有专门阐述各种单数/复数的替换。

虽然已经图示并描述了本文所述的主题的特定方面,本领域技术人员会明白,根据本文的教导,在不脱离本文所述的主题及其宽泛范围的情况下可以进行变化和修改,因此所附权利要求书在其范围内将涵盖落入本文所述的主题的真正精神和范围内的所有这些变化和修改。本领域技术人员会理解的是,一般而言,本文所述的术语,并且尤其是所附权利要求书(例如,所附权利要求书的主体)中的术语,一般旨在成为“开放式”术语(例如,术语“包括”应当理解成“包括,但不限于”,术语“具有”应当理解成“至少具有”,术语“包含”应当理解成“包含但不限于”等)。本领域技术人员会进一步理解的是,如果旨在表示引入的权利要求表述的具体数量,则权利要求中会明确表述该含义,并且在不存在这种表述时,就不存在这种含义。例如,为了帮助理解,以下所附权利要求书可以包含使用引导语“至少一个”和“一个或多个”以引入权利要求表述。然而,使用这种短语不应当被理解成暗示着不定冠词“一个”或“一种”引入的权利要求表述将包含这种引入的权利要求表述的任何特定权利要求限定为权利要求书仅包含一个这种表述,甚至当同一权利要求包括引导短语“一个或多个”或“至少一个”以及例如“一个”或“一种”(例如,“一个”和/或“一种”通常应当理解成“至少一个”或“一个或多个”)之类的不定冠词时也如此;对于用于引入权利要求表述的定冠词的使用同样如此。此外,即使明确表述了引入的权利要求表述的具体数量,本领域技术人员会认识到,这种表述通常应当理解成意味着至少表述的数量(例如,“两个表述”的直白表述,在没有其他修饰语的情况下,通常意味着至少两个表述,或者两个或更多个表述)。此外,在使用类似于“A、B和C等中的至少一个”的惯用语的这些情况下,一般这种结构是在本领域技术人员会理解惯用语的意思上使用(例如,“具有A、B和C中的至少一个的系统”将包括但不限于:只有A的系统、只有B的系统、只有C的系统、有A和B两者的系统、有A和C两者的系统、有B和C两者的系统和/或有A、B和C三者的系统等)。在使用类似于“A、B或C等中的至少一个”的惯用语的这些情况下,一般这种结构是在本领域技术人员会理解惯用语的意思上使用(例如,“具有A、B或C中的至少一个的系统”将包括但不限:只有A的系统、只有B的系统、只有C的系统、有A和B两者的系统、有A和C两者的系统、有B和C两者的系统和/或有A、B和C三者的系统等)。本领域技术人员会进一步理解的是,通常,提供两个或更多个替代术语的选言连接词和/或短语,无论是在说明书、权利要求书或附图中,应当理解成考虑包括术语之一、术语中的任一个或两个术语的可能性,除非上下文另有说明。例如,短语“A或B”将通常理解成包括“A”或“B”或“A和B”的可能性。

对于所附权利要求书,本领域技术人员会理解的是,本文中表述的操作一般可以按照任意顺序执行。另外,尽管按照顺序提供了多个操作流程,但是应当理解的是,多个操作可以按照除说明的顺序之外的其他顺序执行,或者可以同时执行。这种交替的排序的实例可以包括重叠、交错、中断、重排序、增加、准备、补充、同步、反向或其他不同的排序,除非上下文另外指明。此外,像“响应”、“涉及”或其他过去式形容词之类的术语一般并非旨在排除这种变体,除非上下文另外指明。

尽管本文公开了多个方面和实施例,但是本领域技术人会明白其他方面和实施例。在本文公开的多个方面和实施例是为了说明目的而并非旨在限制,真实范围和精神由以下权利要求书表示。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号