首页 / 专利分类库 / 电通信技术 / 电话通信 / 自动或半自动交换局 / 用于减少音频反馈的方法和系统

用于减少音频反馈的方法和系统

申请号 CN202080088359.2 申请日 2020-11-10 公开(公告)号 CN114930795A 公开(公告)日 2022-08-19
申请人 微软技术许可有限责任公司; 发明人 P·A·埃德里; J·J·霍韦; M·基努萨米;
摘要 一种用于在涉及两个或更多个计算设备的通信会话期间减少音频反馈,特别是“啸叫”的系统和方法。所述系统确定第一设备可能加入另一个第二设备已经加入的会议。作为响应,所述系统可以使得所述第二设备广播 信号 ,如果所述信号被第一设备检测到,则所述信号将指示所述两个设备在彼此的听觉范围内,即共置。结果,所述系统可以抢先使得第一设备的所述音频组件静音,以防止第一设备的 音频流 干扰已经经由第二设备 流式传输 的音频。
权利要求

1.一种用于减少音频反馈的系统,包括:
一个或多个处理器;
一个或多个机器可读介质,包括存储在其中的指令,当由所述一个或多个处理器执行时,所述指令使所述系统:
确定与第一设备相关的触发事件已经发生;
至少基于对所述触发事件的检测,确定所述第一设备是加入即将到来的或正在进行的通信会话的候选;
接收所述第一设备接收到第一信号的第一指示,从而确定所述第一设备在第二设备的听觉范围内;以及
自动使得与所述第一设备的至少第一音频组件相关联的音频信号从所述通信会话中排除。
2.根据权利要求1所述的系统,其中,所述指令还使得所述系统自动地使得所述第二设备广播所述第一信号,所述第二设备加入到所述通信会话。
3.根据权利要求1所述的系统,其中,所述第一音频组件包括麦克或扬声器。
4.根据权利要求1所述的系统,其中,所述第一信号包括基于声波的信号或基于蓝牙的信号。
5.根据权利要求1所述的系统,其中,与所述通信会话相关联的识别码被嵌入在所述第一信号中。
6.一种用于降低音频反馈的方法,所述方法包括:
确定与第一设备相关的触发事件已经发生;
至少基于对所述触发事件的检测,确定所述第一设备是加入即将到来的或正在进行的通信会话的候选;
接收所述第一设备接收到第一信号的第一指示,从而确定所述第一设备在第二设备的听觉范围内;以及
自动使得与所述第一设备的至少第一音频组件相关联的音频信号从所述通信会话中排除。
7.根据权利要求6所述的方法,还包括:自动使得所述第二设备广播所述第一信号,所述第二设备加入到所述通信会话。
8.根据权利要求6所述的方法,还包括:使得所述第一设备在所述第一设备的显示器上呈现向所述第一设备的端用户通知自动禁用所述至少第一音频组件的用户界面
9.根据权利要求8所述的方法,其中,所述用户界面包括用于重新启用所述至少第一音频组件的可选选项。
10.根据权利要求6所述的方法,还包括:
在所述第一设备处接收重新启用所述第一音频组件的请求;以及
响应于接收到所述请求,呈现指示所述第一音频组件被故意禁用的通知并请求确认对所述第一音频组件的所请求的重新启用。
11.根据权利要求1所述的系统,其中,所述指令还使得所述系统使得所述第一设备在所述第一设备的显示器上呈现向所述第一设备的端用户通知自动禁用所述至少第一音频组件的用户界面。
12.根据权利要求11所述的系统,其中,所述用户界面包括用于重新启用所述至少第一音频组件的可选选项。
13.根据权利要求6所述的方法,其中,所述第一音频组件包括麦克风或扬声器。
14.根据权利要求6所述的方法,其中,所述触发事件必须在所述通信会话开始时间之前的预定义时间窗口期间或在所述通信会话的安排的持续时间期间发生。
15.根据权利要求14所述的方法,其中,所述触发事件是下列各项中的一项:访问针对所述通信会话的日历邀请、启动托管所述通信会话的通信应用、导航到呈现加入所述通信会话的选项的网页、以及选择加入所述通信会话的选项。

说明书全文

用于减少音频反馈的方法和系统

背景技术

[0001] 通信系统允许用户通过网络相互通信。网络例如可以是互联网或公共交换电话网(PSTN)。音频信号可以在网络的节点之间发送,从而允许用户在通信系统上的通信会话中相互发送和接收音频数据(例如语音数据)。
[0002] 用户设备可以具有诸如麦克的音频输入单元,其可以用于接收诸如来自用户的语音的音频信号。用户可以进入与另一个用户的通信会话,例如私人呼叫(只有两个用户在通话中)或电话会议(有两个以上用户在通话中)。用户的语音在麦克风处被接收、处理,然后通过网络发送给通话中的其他用户。用户设备还可以具有音频输出单元,例如扬声器,用于向近端用户输出在呼叫期间通过网络从远端用户接收的音频信号。
[0003] 如果发射机和接收机共置(例如,彼此相距几米),则发射机上的麦克风可能会变成与接收机上的扬声器进行声学耦合。在这种情况下,环路增益条件可以使得声学耦合建立音频反馈环路,该环路由于接收扬声器产生的刺、尖锐的声音而产生通常被称为“啸叫”的不期望的声学信号。啸叫涉及通信信道和接收机中的功率放大器和扬声器的饱和,这会中断通信。将这种音频反馈或啸叫引入通信信道可能会对电子设备之间的通信(例如用于群组会议和数据共享)产生负面影响。用于改进会话参与者之间的这种交互的新的和改进的方法是期望的。发明内容
[0004] 根据本公开内容的第一方面的一种用于减少音频反馈的系统包括:一个或多个处理器以及一个或多个机器可读介质,其包括存储在其中的指令,当由所述一个或多个处理器执行时,所述指令使所述系统:确定与第一设备相关的触发事件已经发生;以及至少基于对所述触发事件的检测,确定所述第一设备是加入即将到来的或正在进行的通信会话的候选。此外,所述指令使所述系统接收所述第一设备接收到所述第一信号的第一指示,从而确定所述第一设备在所述第二设备的听觉范围内;以及自动使与所述第一设备的至少第一音频组件相关联的音频信号从所述通信会话中排除。
[0005] 根据本公开内容的第二方面的一种用于减少音频反馈的方法包括:确定与第一设备相关的触发事件已经发生;以及至少基于对所述触发事件的检测,确定所述第一设备是加入即将到来的或正在进行的通信会话的候选。所述方法还包括:接收所述第一设备接收到所述第一信号的第一指示,从而确定所述第一设备在所述第二设备的听觉范围内;以及自动使与所述第一设备的至少第一音频组件相关联的音频信号从所述通信会话中排除。
[0006] 提供本发明内容以便以简化的形式对下面在具体实施方式中进一步描述的设计构思的选择进行介绍。本发明内容并不旨在标识要求保护的主题的关键特征或重要特征,也不旨在用于限制要求保护的主题的范围。另外,要求保护的主题不局限于解决本公开内容的任何部分中指出的任何或所有缺点的实现方式。附图说明
[0007] 附图仅通过示例而非限制的方式描绘了根据本教示的一种或多种实现方式。在附图中,类似的附图标记指代相同或相似的元素。此外,应当理解,附图不一定是按比例绘制的。
[0008] 图1A和图1B示出了音频反馈减少系统的概览。
[0009] 图2示出了包括多个设备和通信应用服务的系统的示意性示例,该通信应用服务被配置为确定设备是否打算加入通信会话并且如果该设备在先前加入的设备的邻域内则自动对该设备静音。
[0010] 图3示出了第一用户正在进入第二用户已经在其中工作的共享空间的示例场景。
[0011] 图4A‑图4C示出了触发事件的三个示例,这些触发事件可以向服务指示用户正打算经由设备加入通信会话。
[0012] 图5和图6示出了在其中服务使参与者设备生成信标信号的示例场景。
[0013] 图7示出了其中服务在候选设备加入通信会话之前抢先使候选设备静音的示例场景。
[0014] 图8示出了当候选设备加入通信会话时候选设备被静音的示例场景。
[0015] 图9A和图9B示出了可以呈现给试图取消设备静音的用户的通知消息的示例。
[0016] 图10是示出用于降低音频反馈的方法的流程图
[0017] 图11是示出示例软件架构的框图,其各个部分可以与本文中描述的各种硬件架构结合使用,这些硬件架构可以实现本文描述的任何特征。
[0018] 图12是示出示例机器的组件的框图,该示例机器被配置为从机器可读介质读取指令并执行本文描述的任何特征。

具体实施方式

[0019] 在下文的具体实施方式中,通过举例的方式阐述了大量的具体细节以便提供对相关教导的透彻理解。然而,将显而易见的是,可以在没有这些细节的情况下来实施本教导。在其他情况下,已经在相对较高的平上对众所周知的方法、程序、组件和/或电路进行了描述,但没有详细说明,以避免不必要地模糊本教导的方面。在以下材料中,对方向的指示,例如“顶部”或“左”,仅用于在以下讨论期间提供参考框架,并不旨在指示所描述物品的所需、期望或预期取向。
[0020] 尽管涉及两个或更多个用户设备在非常接近处(即,在彼此的听觉范围内)参与的通信会话通常可能是期望的,但可能会导致可能对对话质量产生负面影响的声学反馈。例如,当同一房间中的第二用户设备处的第二用户加入同一通信会话时,第一用户设备处的第一用户可能正在参与通信会话。这种情况可能会对用户体验产生有害的结果,音频反馈表现为音频流的回声、重影和啸叫。以下实现介绍了用于通过自动排除由至少一个设备端点生成或捕捉的音频来在其中有多个音频设备端点共置的通信会话之前和期间减少音频反馈的发生(且特别是啸叫)的方法和系统。在一些实施方式中,系统被配置为确定设备是否可能加入即将到来的或正在进行的通信会话(作为“候选设备”)。一个或多个附近的计算设备可以生成信号,这些计算设备也参与同一通信会话(作为“参与者设备”)。如果候选设备检测到该信号,则认为候选设备在参与设备的听觉范围内,并且系统可以自动静音或以其他方式排除由候选设备产生的音频信号的播放。在预期候选设备加入通信会话时发生的这种从候选设备中抢先排除音频确保了多个共置设备可以在彼此接近时参与通信会话并且几乎不经历甚至没有回声或啸叫效应。
[0021] 通信会话(“会话”)通常可以被理解为指涉及两个或更多个设备端点的所安排的呼叫或会议或其他通信事件,每个设备与一个或多个音频组件相关联。会话可以指涉及两个或更多个参与者的实时或接近实时的电信会话。因此,会议可以包括可以预先安排的事件、活动、聚集、集会、班级、会议、大会、峰会、联欢会、教众集会、团聚等。示例可以包括电话会议、虚拟会议、基于万维网(Web)的会议、视频会议和/或多方即时消息传送(IM)或聊天会话。此外,贯穿本申请所使用的术语安排的会面或安排的会议可以被理解为指代已针对特定日期/时间安排的通信会话。此外,虽然在说明书权利要求书中可以使用术语“呼叫”或“会议”,但这应该被理解为通常指的是基于会话的电信并且不限于语音呼叫。还将明白,系统和方法不限于会话并且适用于基于消息传送或基于分组的通信。因此,这样的“呼叫”可以包括作为语音数据、视频数据、文本数据、图像数据(例如,演示数据)、文件数据或任何其他类型的数据的任何组合的交换。
[0022] 对通信应用、日程安排应用、组织者应用或简单地“应用”的引用可以被理解为是指被配置为提供安排、查看、修改、加入会议和/或传送或发送或接收与会议相关联的数据的手段的任何软件应用。这可以包括能够跟踪用户的会议或预约的任何类型的电子日历或电子日程安排系统。一些此类程序可以包括 Microsoft MicrosoftJoin. Google 以及可以提供会
议工具和/或促进在线交流或协作的其他应用。这些是非限制性示例,并且任何其他通信相关应用都可以从所公开的实施方式中受益。因此,在整个说明书中通过名称对软件应用的特定提及不应被理解为限制所提出的系统和方法的使用。还应理解,在一些实施方式中,用于实现自动连接功能的应用可以与用于安排会议的应用不同,而在其他实施方式中,它们可以相同。
[0023] 此外,作为一般事项,本文使用的候选设备是指与至少一个音频组件(例如麦克风或扬声器,系统将其识别为可能参与或加入正在进行或即将到来的通信会话)相关联的计算设备。这种设备也可以被理解为处于预加入阶段或模式。即将到来的会话是可以被理解为指代安排在不久的将来发生或开始的通信会话的术语,通常在安排的开始时间前一秒到15或20分钟之间延伸的时间窗口内。此外,参与者或“加入的”设备是指已经加入会话(加入后阶段或模式)并且当前正在参与正在进行的会议和/或处于活跃加入阶段或模式的计算设备(例如,设备已请求进入会话,或设备已建立与会话的连接并在虚拟等候室或大厅中等待会议开始,或以其它方式正在活跃地尝试加入会话)。
[0024] 为了更好地向读者介绍这些系统和方法,图1A和图1B呈现了用于实现一种通信应用系统的音频反馈减少特征的代表性环境(“环境”)的高层次示例。在不同的实施方式中,环境可以包括一个或多个计算设备终端用户,或简称为“用户”。一个或多个用户可以与经由用户设备呈现的数据进行交互或操作这些数据。概括地描述了图1A和图1B中所示的各种特征和活动,并结合后面的图呈现了进一步的细节和示例。
[0025] 作为示例,第一用户100和第二用户102在图1A和图1B中被示为在工作空间198中。在这种情况下,第一用户100是第一客户端计算系统(“第一客户端”)150和第二客户端计算系统(“第二客户端”)170二者的用户。本文中所示的第一客户端150是膝上型计算机,而第二客户端是平板设备。在其他实施方式中,设备可以是个人计算机,例如桌面式或膝上型计算机、平板电脑、移动设备或任何其他计算机系统。第一客户端150和/或第二客户端170可以执行诸如Microsoft Apple Apple Apple Android、
之类的操作系统或其他操作系统,并且包括存储器、存储、网络接口,以及图1A中未示出的其他计算机硬件。此外,在一些实施方式中,第一客户端150和/或第二客户端170可以经由一个或多个网络连接到服务器、或在线或者基于的计算服务(“云服务”)。在一些示例中,当第一用户100经由第一客户端150访问电子内容或与电子内容交互时,与内容相关联的各种内容或元数据可以通过一个或多个网络向云存储/从云存储/由云存储更新、发送、接收或保存。
[0026] 在图1A中,在第一时间Tl,第一用户100坐在第二用户102附近,可以看到第二用户102经由第三客户端计算系统(“第三客户端”)106参与正在进行的在线通信会话。第一客户端150和/或第二客户端170每个都可以在其他相邻设备(例如第三客户端106)的“收听范围”内。换言之,因为这三个设备在工作空间198中彼此非常接近,所以它们也能够检测到可以由一个或多个设备发出的各种信号。同时,同时,第一用户100在第一客户端150的显示器
152上忙于审核查看文档160,而第二客户端170的显示器172当前处于休眠。因此,此时,看起来第一用户100似乎没有参与同一会议的意图。
[0027] 然而,在稍后的第二时间T2,如图1B所示,第一用户100已经完成了他们对文档160的审核,并且现在可以看到访问来自第二客户端170的会议邀请196,该会议邀请针对第二用户102当前正在参与的正在进行的通信会话。在不同的实施方式中,如下文将更详细讨论的,所提出的通信应用系统可以被配置为确定用户是否打算加入会议。在这种情况下,第一用户100在会议被安排(和正在发生)的时间窗口期间经由第二客户端170查看会议邀请196的动作可以表示针对通信应用系统的触发事件类型,由此,第二客户端170被识别为参与正在进行的会议的潜在候选。通信应用系统可以执行设备邻近度搜索,通过该设备邻近度搜索,通信应用系统使得从当前参与会议的设备(在这种情况下,为第三客户端106)广播信号。在一些实施方式中,响应于触发事件发起信号广播。如果附近的候选设备检测到该信号,则系统可以在第一用户100加入会议之前自动使附近的候选设备静音其音频组件,主动防止正在参与或将要参与会议的两个附近的(共置的)设备之间的音频反馈的可能性。然而,如果设备尚未被识别为候选设备,并且看起来没有加入会议的这种意图,如图1B中由第一客户端150表示的,则该设备将保持不受系统影响。尽管第一客户端150能够检测到由第三客户端106生成的信号(即,第一客户端150在第三客户端106的听觉范围内),情况仍然如此。
[0028] 如上所述,所公开的通信应用系统的实现可以使信号从参与通信会话的设备端点广播,以检测已被识别为同一通信会话的潜在参与者的其他设备端点是否彼此靠近到足以引起回声。作为响应,通信应用系统可以自动应用对附近潜在参与者设备的控制(例如,静音),以抢先防止回声(在设备实际加入会话之前)。在一些实施方式中,还可以向用户呈现通知,向用户告知静音操作的发生。
[0029] 为了清楚起见,图2示出了音频反馈减少系统(“系统”)200(其可以包括在结合图1描述的通信应用系统中)的示意性示例,该音频反馈减少系统在被配置为在共享设备接受性环境(“设备环境”)中提供选择性音频排除工具的服务的处理环境中操作。设备环境指的是其中两个或更多个计算设备端点能够作为系统200的一部分和/或通过系统200连接的环境。
[0030] 在图2所示的示例中,有两个用户(204a和204b),每个用户与共享设备接受性环境中的相应计算设备(本文中也被称为设备端点206)相关联。这样的环境在本文中也可以被称为共享接受性设备邻域(“设备邻域”)以强调设备彼此之间的紧密物理接近度。在图2中,第一用户204a在第一工作站处使用第一设备206a,第二用户204b在第二工作站处使用第二设备206b。两个工作站以及相应的两个设备206a和206b彼此接近或在彼此的听觉范围内。设备206a和206b中的每个设备可以被包括在系统200中。
[0031] 尽管在图2中仅示出了两个用户设备206a和206b,但是应当理解,系统200可以适用于与实际上任何数量的通信会话、设备和用户进行交互。每个设备可以被配置为允许使用一个或多个电信服务,和/或执行被配置为允许用户设备与处理环境交互的软件指令。在一些示例中,用户设备可以是适合于执行软件指令的用户计算设备,该软件指令可以被包括在一个或多个软件应用中,被配置为允许用户设备与处理环境交互。用户计算设备的示例包括但不限于智能手机、平板计算机、智能手表可穿戴计算机、个人计算机、桌面式计算机、游戏系统、膝上型计算机和/或虚拟现实(VR)设备。
[0032] 设备206a和206b还可以被配置为:通过网络220彼此通信和/或与处理环境通信。网络220包括一个或多个数据通信网络,其允许数据在系统200的各个元件(例如设备206a和206b)和/或包括在处理环境中的模和元件之间传送。网络220可以包括例如互联网、互联网服务提供商(ISP)连接、本地有线或无线网络(例如但不限于Wi‑Fi或以太网)、短距离无线网络(例如但不限于蓝牙)和/或连接在处理环境中包括的两个或更多个模块和元件的内部网络。
[0033] 因此,设备206a和206b可以连接到互联网并通过互联网通信。然而,可以理解,所提出的系统可以在没有互联网连接的情况下工作。例如,通信可以通过本地网络、私人网络、自组织网络等进行。设备可以向同一网络上的其他设备广播消息。即使在适当的位置没有正式的网络,也可以使用自组织(其可以是私人的)无线网络进行通信。设备可以确定它们是否在彼此的某个接近度之内,并且这种技术也可以用于对设备进行互连。
[0034] 可以使用Wi‑Fi直连服务(WiFiDS),以使得设备即使不在同一个网络上、没有网络(例如,在公共空间中)等也可以进行通信。简单搜索和发现协议(SSDP)可用于检测同一接入点(例如,同一子网)上的设备。例如,如果设备不满足WiFiDS的硬件、驱动器和/或软件先决条件,则可以使用这样的方式。近场通信(NFC)通常通过无线电通信采用,且也可以被使用。预计其他和未来开发的技术可用于完成本文所述的设备之间和之中的通信。
[0035] 在图2的示例中,设备206a和206b中的每个设备都包括诸如麦克风和扬声器的音频组件。麦克风和扬声器可以是设备的内部或集成部分,或者可以是外部源(例如,USB麦克风等)。在该示例中,第一设备206a包括第一麦克风212和第一扬声器214,第二设备206b包括第二麦克风216和第二扬声器218。此外,每个设备被配置为访问包括在系统200中的基于云的电信应用服务(“服务”)222。该服务222和/或系统200可以与和每个设备相关联或每个设备固有的各种信息存储和源进行交互并从其接收信息,包括但不限于日历应用、电子邮件和/或消息传送应用、社交网络应用、虚拟日程规划器,以及其他会议管理和日程安排软件。
[0036] 如图2所示,在不同的实施方式中,服务222可以包括候选识别模块242、设备接近度确定模块252和音频排除模块262。在各种实施方式中,候选识别模块242、设备接近度确定模块252和音频排除模块262中的每一个可以全部或部分地由系统200的任何部分来实现,例如服务222、第一设备206a和/或第二设备206b。为了确保在甚至设备加入通信会话之前阻止音频反馈,系统200被配置为识别设备是否具有加入特定会议的可能性或潜。这可以经由候选识别模块242来实现,候选识别模块242包括触发事件检测器244和候选确定模块246。
[0037] 如下文更详细描述的(参见图4A‑图4C),系统200可以被配置为:将与用户和/或设备(例如但不限于由设备执行的那些)相关联的特定操作、动作、条件和/或任务序列(本文中被称为“触发事件”)分类为关于用户正在准备或打算经由设备加入特定会议的指示。触发事件的一些非限制性示例包括:(a)访问会议的虚拟邀请;(b)访问在其上安排了会议的日历;(c)访问主持所安排的会议的网站或通信应用;(d)访问在其中提供了会议细节的电子邮件;(e)在会议发生的时间窗口期间打开或唤醒设备,其中用户先前已指示他或她将参加所述会议但尚未从另一设备加入。可以理解,触发事件检测器244被配置为:仅当触发事件发生在与所安排的会话相关的预定义时间窗口中时才识别触发事件。换句话说,在安排会议的时间期间访问虚拟会议邀请是触发事件,而在所安排的开始时间前三小时或会议结束后的任何时间访问同一虚拟会议邀请将不会被视为触发事件。时间窗口也可以延长到包括直到会议开始时间并且紧接在会议开始时间之前的时间段。例如,虽然在会议前45分钟访问日历可能不表示触发事件,但在会议之前15分钟或更短时间发生的相同访问可以用作触发事件。在一些实施方式中,该时间段可以由用户修改。
[0038] 响应于触发事件检测器244检测到触发事件,候选确定模块246可以确定该设备是即将到来的或正在进行的会议的潜在参与者。一旦设备已被识别为特定会议的候选设备,系统200就可以确定其他设备是否先前已加入同一会议,并且当前是否正在参加正在进行的会议,或者在虚拟大厅中等待会议开始和/或让主持人开始会话。如果还没有其他设备加入,届时将不会采取进一步行动。候选设备可以过渡到加入阶段并作为第一活跃参与者进入会议。然而,如果其他设备先前已经加入会议,则系统200被配置为使这些参与者设备经由设备接近度确定模块252的信号控制模块254广播信号。因此,在不同的实施方式中,系统200可以使参与者设备发起为指定的通信会话生成信号272。信号272如果被一个或多个候选设备接收,则可由设备接近度模块252的信号检测器256处理,其将被用于确定候选设备是否在信号272的接收范围内。
[0039] 换言之,信号可以从已经加入会议的第一设备端点输出(例如,不可听见地或可听见地)。如果该信号被靠近第一设备端点的第二设备端点接收到,则第二设备端点将被理解为在第一设备端点的听觉范围内。相反,如果第二设备端点的位置使得其超出接收范围并且不接收和/或注册输入信号,则第二设备端点将不会受到进一步影响。
[0040] 一旦系统200已经识别候选设备并且确定该候选设备在另一个(邻近的候选设备)、已经加入(参与者)设备的听觉范围内,音频排除模块262可以经由音频控制模块264发起静音操作。音频控制模块264可以使(在一些示例中,通过发出相应的命令)邻近的候选设备抢先排除本应由与候选设备相关联的麦克风或扬声器收集或产生的任何音频。
[0041] 因此,如本文所述,当检测到可能导致音频反馈的附近端点时,设备端点可以由系统200控制以使一个或多个板载或连接的音频组件(例如扬声器或麦克风)静音。在一些实施方式中,设备可以从远程组件(其可以与服务222相关联)被静音。此外,在一些实施方式中,可以经由系统200的通知消息传送模块282向设备端点用户提供通知,以指示静音操作已被应用(或将被应用或应该被应用到共置设备中的一个或多个设备)。
[0042] 在随后的图3‑图10中的实施例中,读者可以理解,上述参考图2描述的各种特征、属性、特性、配置和/或布置可以同样适用于以下实施例。因此,例如,尽管其中包括的设备或系统在下文中可能没有具体描述为包括特征、属性、特性、配置和/或布置,但是可以理解的是,上文关于图2提供的细节可以并入图3‑图10的任何下文实施例中。
[0043] 现在参考图3,其描绘了正在进行的通信会话的暂定参与者310进入共享空间300。在这种情况下,共享空间300是会议室,但在其他实施方式中,共享空间300可以是多个用户存在于其中的任何空间,其中用户具有可能在彼此的听觉范围内的设备端点,包括有墙的和开放的空间,以及室内和室外空间。第一会话参与者(“第一参与者”)320也显示在共享空间300中,其坐在会议桌302处,面对第一设备端点(“第一设备”)330的显示器。第一设备330是已经连接(加入)正在进行的通信会话的参与者设备,这里由用于通信应用的通信用户界面332表示。此外,第一设备330包括第一音频组件334。
[0044] 通常,用户界面或“界面”可以被理解为是指用于通过客户端应用向应用用户传送内容的机制。例如,界面可以包括可以经由本机应用用户界面(UI)呈现给用户的弹出窗口、控件、可启动界面、交互式按钮,或可以通过本机应用UI显示给用户的其他对象,以及对于用于呈现与这些本机控件相关联的内容的特定应用而言本机的机制。此外,“启动”或“启动事件”指代与经由界面的应用的特定输入或使用相关联的事件(或特定事件序列),其可以触发应用的显示的改变。类似地,“目标性”选项或目标选项是指作为当前导航目的地的选项,而没有启动目标。换言之,当用户将他们的选择工具或导航指示器从界面的第一选项或位置移动到另一个第二选项或位置时,可以理解当前目标已经从第一选项切换到第二选项。
[0045] 此外,“本机控件”是指通过客户端应用向应用用户传送内容的机制。例如,本机控件可以包括可启动或可选择的选项或“按钮”,这些选项或“按钮”可以经由本机应用UI、触摸屏访问点、菜单项或者可以通过本机应用UI显示给用户的其他虚拟对象、或者较大界面的片段,以及对于用于呈现与这些本机控件相关联的内容的特定应用而言本机的机制呈现给用户。术语“资产”指代可以与本机应用中的本机控件相关联地呈现的内容。因此,作为非限制性示例,资产可以包括可启动弹出窗口中的文本、与按钮或其他本机应用对象的交互式点击或选择相关联的音频、与用户界面相关联的视频,或其他此类信息呈现。
[0046] 如先前所述,在不同的实施方式中,所提出的系统可以包括用于确定用户是否打算加入即将到来的或正在进行的通信会话的规定。图4A‑图4C呈现了与设备端点相关的可能触发事件的三个示例。响应于触发事件,系统可以实现、激活、发起或启用听觉范围检测过程,如上文针对图2所讨论的。如图4A‑图4C所示,一旦暂定参与者310坐在会议桌302旁,她就着手设置她自己的第二设备端点(“第二设备”)440,其中第二设备440还包括显示器442和至少第二音频组件434。在图4A所示的第一示例中,暂定参与者310已经打开通信应用并访问日历界面410,在日历界面410中正在呈现通信会话指示符450,向暂定参与者310通知:将她识别为潜在或实际受邀者的交流会议(“设计评判”)当前正在进行(“进行中”)。暂定参与者310访问其中显示包括指示符450的日历界面410的特定网页或门户可以提供对暂定参与者310参与会话的意图的指示。该系统可以被配置为确定这样的访问事件是否发生在预定义的时间窗口期间(即,在安排的会议时间期间和/或在会议开始时间之前的时间窗口期间),并且进一步被配置为解释诸如触发事件之类的动作。作为响应,系统可以将第二设备440识别为候选设备。在替代实施方式中,如果会议或其他会话被安排并包括在用户的日历中,并且设备开启且是活动的(即,通电且未睡眠、休眠和/或处于另一低功率状态),则系统可以在会话开始时间之前的预设时间量处自动确定这是候选设备。
[0047] 在图4B所示的第二示例中,暂定参与者310已经访问了她的电子邮件管理客户端应用以查看已经共享或通过电子邮件发送给她的虚拟会议邀请420。尚未被响应的邀请420反映了暂定参与者310在“设计评判”会议中的不确定状态。然而,因为暂定参与者310现在具体地在安排的会议时间期间访问邀请420,所以这种访问还可以指示暂定参与者310参与会话的意图。该系统再次可以被配置为确定这样的访问事件是否发生在预定义的时间窗口期间(即,在安排的会议时间期间和/或在会议开始时间之前的时间窗口期间),并且进一步被配置为解释诸如触发事件之类的动作。作为响应,系统可以将第二设备440识别为候选设备。在一些实施方式中,如果用户已接受会议邀请但尚未加入,并且登录到通信应用客户端,则系统可以被配置为自动将设备端点识别为候选设备。
[0048] 在图4C所示的第三示例中,暂定参与者310正在查看通信应用的“加入”窗口430,经由该通信应用托管通信会话(“设计评判”)。因此,窗口430包括特定会话的信息,例如会议ID或其他连接属性。在安排的会议时间期间被特别访问的窗口430也可以表示暂定参与者310参与所述会话的强烈意图。因此该系统可以被配置为确定这样的预加入类型事件是否发生在预定义的时间窗口期间(即,在安排的会议时间期间和/或在会议开始时间之前的时间窗口期间),并且进一步被配置为解释诸如触发事件之类的动作。作为响应,系统可以将第二设备440识别为候选设备。
[0049] 应该理解,图中所示的文本和特定措辞仅用于说明目的,决非限制通信应用可以被配置为传送或接收信息的方式。此外,尽管本文在各种用户界面中说明了一些可选选项,但应当理解,在其他实施方式中,可选选项或其他字段和选项可以以不同方式出现和/或可以在与客户端的系统相关联的(包括与调度器用户界面隔开、相邻或围绕在其周围)屏幕上的其他任何地方显示或生成。换言之,附图仅呈现界面的一种可能布局,并且不以任何方式限制任何所公开的特征的呈现布置。
[0050] 一旦已经识别了候选设备,该系统可以包括用于协调其中存在用于特定通信会话的参与者和候选设备的音频环境的配置。在图5中,描绘了这种机制的一个示例。在图5中,为了说明的目的,示出了额外的第三设备端点(“第三设备”)540,其设置为由位于相对于共享空间300处的暂定参与者310和第一参与者320而言是远程的位置的会议室590中的第二会话参与者(“第二参与者”)530使用。第三设备540是已经连接(加入)正在进行的通信会话的参与者设备,这里由用于通信应用的通信用户界面542表示。此外,第三设备540至少包括第三音频组件534。
[0051] 此外,如图5所示,该示例中的通信会话由通信应用服务(“服务”)500促进,通信应用服务可以在安排的会议期间将参与者设备彼此连接并管理由通信应用提供的各种特征和选项。响应于检测到在第二设备440处发生触发事件550(尽管在一些示例中,触发事件550或其一部分可以发生在第二设备440之外),系统可以被配置为确定(例如,在第二设备
440和/或服务500处)第二设备440是否是候选设备,如上所述。在一些实施方式中,如果至少基于对触发事件550的检测,系统确定第二设备440是候选设备,则系统可以通过向参与者设备(这里显示为第一设备330和第三设备540)发起控制命令来响应以发射信号。举例来说,如图5所示,在一些实施方式中,服务500向第一设备330发送第一信标命令510并且向第三设备540发送第二信标命令520。取决于设备类型、配置、设置和位置,这两个信标命令可以基本相似或不同。在一些实施方式中,设备可以被配置为在没有明确的信标命令的情况下发射信号;例如,设备可以被配置为在其作为会话中的参与者设备的整个使用过程中发射信号(在一些示例中,当设备未静音时)。
[0052] 现在参考图6,在不同的实施方式中,第一设备330可以被配置为生成或广播第一信号610(例如,响应于第一信标命令510)。类似地,第三设备540可以被配置为生成或广播第二信号620(例如,响应于第二信标命令520)。基于这些类型的设备间传输或消息,系统可以被配置为检测和识别设备的邻域(即,彼此接近的设备)。如图6所示,系统可以通过候选设备对参与者设备的广播信号的检测来做出候选设备与参与者设备的相对接近度的确定。可以由参与者设备发射的信号的一些非限制性示例包括基于蓝牙的信号(例如但不限于,根据蓝牙低功耗(BLE)协议)和基于声波音调,以及可能超出人类听觉范围的其他信号类型。
[0053] 在一些实施方式中,这些信号还可以包括分配给会议的会议ID或一些其他标识符。例如,候选设备可以从已连接到会议的附近(共置)设备端点接收与唯一蓝牙“信标”签名相关联的蓝牙数据。系统可以使用由相邻候选设备观察或接收到的信标信号来确定候选设备对于会议所需的音频模态而言是冗余的。在一些实施方式中,信标信号的接收信号强度阈值和/或发送信号强度可配置为接近发送和接收设备之间的听觉范围。在一些情况下,每当确定所支持的客户端将要加入会议(候选设备)时,就可以通过已经在该会议中的所支持的客户端(参与者设备)播放几秒钟的超声波音。在预加入阶段检测到的超声波音可以造成系统向候选设备发出命令以切换到“音频关闭模式”(例如,静音通信应用麦克风和扬声器流)。在一些其他示例中,候选设备可以在加入阶段期间播放可听的加入音。如果附近另一台参与者设备的麦克风将此音调馈入会议音频,则系统会检测到该音调,并且可以被配置为向加入会议的任何候选设备发送消息,以自动使麦克风和扬声器静音。
[0054] 在一些实施方式中,在设备端点上运行的通信应用客户端可以使每个候选设备激活功能以检测设备是否已经接收到嵌入有被分配给会议的会议ID的信标信号。因此,如果接收到信标信号,则系统可以将这种接收解释为以下指示:候选设备处于相同位置或在已经参与会议的另一设备端点的听觉范围或附近。作为响应,那些随后加入的设备上的通信应用客户端可以使设备关闭其音频流(例如,麦克风和/或扬声器)以避免音频反馈。然而,如果没有接收到具有正确会议ID的信标信号,则可以理解为在听觉范围内不存在已经参与会议的现有设备。在这种情况下,候选设备上的通信应用客户端将不会排除与该设备相关联的任何音频组件的音频流。而是,候选设备将成为参与者设备,该参与者设备本身可以成为为了随后加入候选设备的利益而发射的信标信号源。
[0055] 可以理解的是,在不同的实施方式中,两个或更多个设备的接近度可以基于替代的或附加的或补充的数据来确定,例如在系统检测到有多个设备使用同一子网的情况下,并且作为响应可以使同一子网上的那些设备中的一个或多个设备被静音。
[0056] 响应于确定候选设备足够接近信号生成参与者设备中的至少一个,系统可以自动使候选设备阻止、禁用或以其他方式从通信会话中排除来自与候选设备相关联的一个或多个音频组件的音频流。这种机制的一个示例如图7所示,其中可以观察到:在会议期间,尽管有三个参与者,每个参与者有他们自己的设备,但其中只有两个设备的音频组件正在使用,而其余设备已被静音。具体而言,在图7中,在共享空间300中,第一设备330的音频组件720被完全启用,并且经由服务500将音频722流式发送到会议以及从会议发送,而共置的第二设备440已经被静音,从而排除了来自相关联的音频组件710的任何音频与会议中的其他参与者共享。在远程会议室590处,第三设备540(在该位置参与会话的唯一设备端点)的音频组件730也是完全启用的,并经由服务500将音频732流式发送到会议以及从会议发送。
[0057] 这在图8中得到进一步反映,其中用于通信应用的虚拟大厅界面800的示例正在她的显示器442上呈现给暂定参与者310。虚拟大厅界面800包括预加入设置面板810,其可以包括用于允许用户选择或修改音频和视频设置的可选选项。此外,在一些实施方式中,还可以呈现通知820,指示系统已被自动静音或禁用设备音频。通知820可用于加强上下文和/或进行现在加入阶段的原因而不改变静音设置(“您附近的某人正在参加此会议。加入时请关闭您的音频以避免回声。”)暂定参与者310然后可以继续加入会议并确保与她的设备相关联的音频流被排除在对话之外,从而降低任何音频反馈的可能性。
[0058] 为了清楚起见,图9A和图9B说明了所提出系统的额外实现。在图9A中,暂定参与者现在是活动参与者950,已加入了进行中的通信会话。因为主动参与者950被确定在第一参与者320的听觉范围内,因此她能够在会话期间依赖第一设备330的音频流。换言之,第一设备330的麦克风将第一参与者320和主动参与者950二者的语音传送到会议,并且第一设备330的扬声器将产生声音供第一参与者320和主动参与者950二者听到。
[0059] 在一些情况下,参与者可能不记得或已经意识到将她的音频组件自动排除在会议之外。在图9A中,活动参与者950已经将她的鼠标光标920移向显示在通信应用呈现窗口900的工具栏910上的“取消静音”选项,经由该选项可以在参与者之间共享媒体和其他信息。作为响应,在一些实施方式中,系统可以被配置为向参与者提醒设备的当前静音状态的重要性。在图9B中,响应于活动参与者在会话中尝试重新启用她的音频组件活动,呈现提醒窗口980。提醒窗口980向活动参与者950通知她的音频已被有意排除(“音频已关闭,因为您附近有人在此会议中。您确定想要启用麦克风吗?”),从而确保活动参与者950知道麦克风先前已被静音的基础,并要求她现在做出更清醒的决定,以在进行将来自她麦克风的音频流包括在会议中之前取消静音。在一些实施方式中,类似的通知和确认过程也可以响应于对第二设备440的扬声器取消静音的尝试而呈现。
[0060] 现在参考图10,提供了描述减少音频反馈的方法1000的流程图。如图10所示,该方法包括第一步骤1010,该步骤确定触发事件已经在第一设备处发生,以及第二步骤1020,该步骤至少基于检测到触发事件,确定第一设备是加入即将到来或正在进行的通信会话的候选。第三步骤1030包括自动使第二设备广播第一信号,第二设备加入通信会话;并且第四步骤1040包括接收关于第一设备接收到第一信号的第一指示,从而确定第一设备在第二设备的听觉范围内。此外,第五步骤1050包括自动使与第一设备的至少第一音频组件相关联的音频信号从通信会话中排除。
[0061] 在不同的实施方式中,该方法可以包括替代的或额外的步骤和方面。例如,在一些实施方式中,第一音频组件包括麦克风,而在其他实施方式中,第一音频组件包括扬声器。在另一示例中,触发事件必须在通信会话的开始时间之前的预定义时间窗口期间或在通信会话的所安排的持续时间期间发生。在一些实施方式中,触发事件是指下列各项中的一项:
访问针对通信会话的日历邀请、启动托管通信会话的通信应用、导航到呈现加入通信会话的选项的网页、以及选择加入通信会话的选项。
[0062] 在一些其他示例中,该方法还可以包括使第一设备在第一设备的显示器上呈现用户界面,该用户界面向第一设备的用户通知自动禁用至少第一音频组件。在一些情况下,用户界面包括用于重新启用至少第一音频组件的可选选项。在一个示例中,第一信号包括基于超声波的信号,而在另一个示例中,第一信号包括基于蓝牙的信号。在一些实施方式中,与通信会话相关联的识别码被嵌入在第一信号中。
[0063] 在本文中呈现结合图1‑图10描述的系统、设备和技术的详细示例用于说明本公开内容及其益处。此类使用示例不应被解释为对本公开内容的逻辑过程实现的限制,也不应将相对于本文所述的那些的用户界面方法的变化视为超出本公开内容的范围。在一些实施方式中,图1‑图10中描述的各种特征在相应的模块中实施,这些模块也可以被称为和/或包括逻辑、组件、单元和/或机制。模块可以构成软件模块(例如,机器可读介质上包含的代码)或硬件模块。
[0064] 在一些示例中,硬件模块可以机械地、电子地或以它们任何合适的组合来实现。例如,硬件模块可以包括被配置为执行某些操作的专用电路或逻辑。例如,硬件模块可以包括专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件模块还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路,并且可以包括用于这种配置的机器可读介质数据和/或指令的一部分。例如,硬件模块可以包括包含在被配置为执行一组软件指令的可编程处理器内的软件。将明白的是:在专用和永久配置的电路系统中或者在临时配置的电路系统(例如,由软件配置的)中机械地实现硬件模块的决定可以由成本、时间、支持和工程考虑因素来驱动。
[0065] 因此,术语“硬件模块”应该被理解为包括能够执行某些操作并且可以以某种物理方式进行配置或布置的有形实体,其是物理构建的、永久配置的(例如,硬线连接的)和/或临时配置的(例如,编程的)实体,以便以特定方式执行,或者执行本文中描述的某些操作。如本文中所使用的,“硬件实现的模块”指的是硬件模块。考虑其中临时配置(例如,编程的)硬件模块的示例,不需要在任何一个时刻配置或实例化每个硬件模块。例如,在硬件模块包括由软件配置成为专用处理器的可编程处理器的情况下,可编程处理器可以在不同时间被配置为分别不同的专用处理器(例如,包括不同的硬件模块)。软件可以相应地配置特定的处理器或一些处理器,例如,在一个时刻构成特定的硬件模块,并在不同的时刻构成不同的硬件模块。使用一个或多个处理器实现的硬件模块可以被称为是“处理器实现的”或“计算机实现的”。
[0066] 硬件模块可以向其他硬件模块提供信息并从其接收信息。因此,所描述的硬件模块可以被视为通信地耦合。在同时存在多个硬件模块的情况下,可以通过在两个或更多个硬件模块之间或之中的信号传输(例如,通过适当的电路和总线)来实现通信。在多个硬件模块在不同时间被配置或实例化的实施方式中,可以例如通过存储和检索多个硬件模块可访问的存储器设备中的信息来实现这些硬件模块之间的通信。例如,一个硬件模块可以执行操作并将输出存储在存储器设备中,然后另一个硬件模块可以访问存储器设备以检索和处理所存储的输出。
[0067] 在一些示例中,方法的至少一些操作可以由一个或多个处理器或处理器实现的模块来执行。此外,一个或多个处理器还可以操作以支持“云计算”环境中的相关操作的性能或作为“软件即服务”(SaaS)。例如,至少一些操作可以由多个计算机(作为包括处理器的机器的示例)和/或在多个计算机之间执行,这些操作可以经由网络(例如,互联网)和/或经由一个或多个软件接口(例如,应用程序接口(API))访问。某些操作的性能可以在处理器之间分配,不仅驻留在单个机器内,而且部署在多个机器上。处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭或办公室环境中,或服务器群中),或者可以分布在多个地理位置。
[0068] 图11是示出示例软件架构1102的框图1100,其各个部分可以与本文中描述的各种硬件架构结合使用,这些硬件架构可以实现上述特征中的任何一个。图11是软件架构的非限制性示例,并且将明白的是:可以实现许多其他架构以促进本文中描述的功能。软件架构1102可以在包括文档存储1270、处理器、存储器和输入/输出(I/O)组件等的硬件上执行。代表性硬件层1104被示出并且其可以表示例如图1A和图1B的设备。代表性硬件层1104包括处理单元1106和相关联的可执行指令1108。可执行指令1108表示软件架构1102的可执行指令,包括本文描述的方法、模块等的实现。硬件层1104还包括存储器/存储1110,其还包括可执行指令1108和伴随数据。硬件层1104还可以包括其他硬件模块1112。处理单元1108持有的指令1108可以是存储器/存储1110持有的指令1108的一些部分。
[0069] 示例软件架构1102可以被概念化为层,每个层提供各种功能。例如,软件架构1102可以包括层和组件,例如操作系统(OS)1114、库1116、框架1118、应用1120和表示层1144。在操作上,应用1120和/或层内的其他组件可以调用API调用1124到其他层并接收相应的结果1126。所示的层本质上是代表性的,并且其他软件架构可以包括额外的或不同的层。例如,一些移动或专用操作系统可以不提供框架/中间件1118。
[0070] OS 1114可以管理硬件资源并提供公共服务。OS 1114可以包括例如内核1128、服务1130和驱动器1132。内核1128可以充当硬件层1104和其他软件层之间的抽象层。例如,内核1128可以负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务1130可以为其他软件层提供其他公共服务。驱动器1132可以负责控制底层硬件层1104或与其对接。例如,驱动器1132可以包括显示器驱动器、摄像头驱动器、存储器/存储驱动器、外围设备驱动器(例如,经由通用串行总线(USB))、网络和/或无线通信驱动器、音频驱动器等等,取决于硬件和/或软件配置。
[0071] 库1116可提供可由应用1120和/或其他组件和/或层使用的公共基础设施。库1116通常提供由其他软件模块使用以执行任务的功能,而不是直接与OS 1114交互。库1116可以包括系统库1134(例如,C标准库),其可以提供诸如存储器分配、字符串处理、文件操作等的功能。此外,库1116可以包括API库1136,例如媒体库(例如,支持图像、声音和/或视频数据格式的呈现和操作)、图形库(例如,用于在显示器上渲染2D和3D图形的OpenGL库)、数据库库(例如,SQLite或其他关系数据库功能)以及Web库(例如,可以提供Web浏览功能的WebKit)。库1116还可以包括各种各样的其他库1138,用于为应用1120和其他软件模块提供许多功能。
[0072] 框架1118(有时也被称为中间件)提供可以由应用1120和/或其他软件模块使用的更高级别的公共基础设施。例如,框架1118可以提供各种图形用户界面(GUI)功能、高级资源管理或高级位置服务。框架1118可以为应用1120和/或其他软件模块提供广泛的其他API。
[0073] 应用1120包括内置应用1140和/或第三方应用1142。内置应用1140的示例可以包括但不限于联系人应用、浏览器应用、位置应用、媒体应用、消息传送应用和/或游戏应用。第三方应用1142可以包括由除特定平台的供应商之外的实体开发的任何应用。应用1120可以使用经由OS 1114、库1116、框架1118和表示层1144可用的功能来创建用户界面以便与用户交互。
[0074] 一些软件架构使用虚拟机,如虚拟机1148所示。虚拟机1148提供了执行环境,其中应用/模块可以像在硬件机器上执行一样执行。虚拟机1148可以由主机OS(例如,OS 1114)或管理程序托管,并且可以具有虚拟机监视器1146,其管理虚拟机1148的操作和与主机操作系统的互操作。可以不同于虚拟机外部的软件架构1102的软件架构在虚拟机1148内执行,例如OS 1150、库1152、框架1154、应用1156和/或表示层1158。
[0075] 图12是示出示例机器1200的组件的框图,该示例机器1200被配置为从机器可读介质(例如,机器可读存储介质)读取指令并执行本文描述的任何特征。示例机器1200是计算机系统的形式,其中可以执行用于使机器1200执行本文描述的任何特征的指令1216(例如,以软件组件的形式)。因此,指令1216可用于实现本文描述的模块或组件。指令1216使未编程和/或未配置的机器1200作为被配置用于执行所描述的特征的特定机器来操作。机器1200可以被配置为作为独立设备操作或者可以耦合(例如,联网)到其他机器。在联网部署中,机器1200可以在服务器‑客户端网络环境中作为服务器机器或客户端机器,或者在对等或分布式网络环境中作为节点来操作。机器1200可以体现为例如服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、游戏和/或娱乐系统、智能手机、移动设备、可穿戴设备(例如,智能手表)以及物联网(IoT)设备。此外,虽然仅示出了单个机器1200,但术语“机器”包括单独或联合执行指令1216的机器的集合。
[0076] 机器1200可以包括处理器1210、存储器1230和I/O组件1250,它们可以经由例如总线1202通信地耦合。总线1202可以包括经由各种总线技术和协议来耦合机器1200的各种元件的多条总线。在示例中,处理器1210(包括,例如,中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC或其合适的组合)可以包括可以执行指令1216和处理数据的一个或多个处理器1212a至1212n。在一些示例中,一个或多个处理器1210可以执行由一个或多个其他处理器1210提供或识别的指令。术语“处理器”包括多核处理器,其包括可以同时执行指令的一些核。尽管图12示出了多个处理器,但机器1200可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、分别具有单个核的多个处理器、分别具有多个核的多个处理器,或者它们的任意组合。在一些示例中,机器1200可以包括分布在多个机器中的多个处理器。
[0077] 存储器/存储1230可以包括主存储器1232、静态存储器1234或其他存储器,以及存储单元1236,两者都可以由处理器1210例如经由总线1202访问。存储单元1236和存储器1232、1234存储体现本文描述的功能中的任何一项或多项的指令1216。存储器/存储1230还可以为处理器1210存储临时的、中间的和/或长期的数据。指令1216在其执行期间还可以完全或部分地驻留在存储器1232、1234内,在存储单元1236内,在处理器1210中的至少一个内(例如,在命令缓冲器或高速缓存存储器内),在I/O组件1250中的至少一个的存储器内,或其任意合适的组合。因此,存储器1232、1234、存储单元1236、处理器1210中的存储器以及I/O组件1250中的存储器是机器可读介质的示例。
[0078] 如本文中所使用的,“机器可读介质”是指能够临时或永久地存储使机器1200以特定方式进行操作的指令和数据的设备。本文中使用的术语“机器可读介质”不包括瞬态电信号或电磁信号本身(例如在通过介质传播的载波上);因此,术语“机器可读介质”可以被认为是有形的和非暂时性的。非暂时性有形机器可读介质的非限制性示例可以包括但不限于非易失性存储器(例如闪存器或只读存储器(ROM))、易失性存储器(例如静态随机存取存储器(RAM)或动态RAM)、缓冲存储器、高速缓存存储器、光存储介质、磁存储介质和设备、网络可访问或云存储、其他类型的存储和/或其任何合适的组合。术语“机器可读介质”适用于用于存储由机器1200执行的指令(例如,指令1216)的单个介质或多个介质的组合,使得当指令由机器1200的一个或多个处理器1210执行时,使机器1200执行本文所述的一个或多个特征。因此,“机器可读介质”可以指单个存储设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。
[0079] I/O组件1250可以包括适用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等的各种各样的硬件组件。特定机器中包括的具体I/O组件1250将取决于机器的类型和/或功能。例如,诸如移动电话之类的移动设备可能包括触摸输入设备,而无头服务器或IoT设备可能不包括这样的触摸输入设备。图12中所示的I/O组件的特定示例绝不是限制性的,并且其他类型的组件可以包括在机器1200中。I/O组件1250的分组仅仅是为了简化该讨论,并且分组决不是限制性的。在各种示例中,I/O组件1250可以包括用户输出组件1252和用户输入组件1254。用户输出组件1252可以包括例如用于显示信息的显示组件(例如,液晶显示器(LCD)或投影仪)、声学组件(例如,扬声器)、触觉组件(例如,振动达或力反馈装置)和/或其他信号发生器。用户输入组件1254可以包括例如字母数字输入组件(例如,键盘或触摸屏)、指点组件(例如,鼠标设备、触摸板或另一个指点工具)和/或触觉输入组件(例如,提供位置和/或触摸力或触摸手势的物理按钮或触摸屏)被配置为接收各种用户输入,例如用户命令和/或选择。
[0080] 在一些示例中,I/O组件1250可以包括生物特征组件1256和/或位置组件1262,以及其他环境传感器组件的广泛阵列。生物特征组件1256可包括例如用于检测身体表达(例如,面部表达、声音表达、手部或身体姿势或眼动追踪)、测量生物信号(例如,心率或脑电波)以及识别人(例如,经由基于语音、视网膜和/或面部识别)的组件。位置组件1262可以包括例如位置传感器(例如,全球定位系统(GPS)接收机)、高度传感器(例如,可以推导出高度的气压传感器)和/或方向传感器(例如,磁力计)。
[0081] I/O组件1250可以包括通信组件1264,其实现了各种各样的技术,所述技术可操作以经由相应的通信耦合1272和1282将机器1200耦合到网络1270和/或设备1280。通信组件1264可以包括一个或多个网络接口组件或用于与网络1270对接的其他合适的设备。通信组件1264可以包括例如适于提供有线通信、无线通信、蜂窝通信、近场通信(NFC)、蓝牙通信、Wi‑Fi和/或经由其他模态的通信的组件。设备1280可以包括其他机器或各种外围设备(例如,经由USB耦合)。
[0082] 在一些示例中,通信组件1264可以检测标识符或包括适于检测标识符的组件。例如,通信组件1264可以包括射频识别(RFID)标签阅读器、NFC检测器、光学传感器(例如,一维或多维条形码,或其他光学码)和/或声学检测器(例如,用于识别标记的音频信号的麦克风)。在一些示例中,位置信息可以基于来自通信组件1262的信息来确定,例如但不限于经由互联网协议(IP)地址的地理位置、经由Wi‑Fi、蜂窝、NFC、蓝牙的位置,或者其他无线站识别和/或信号三测量。
[0083] 尽管已经描述了各种实施例,但是该描述旨在是示例性的,而不是限制性的,并且应当理解,在这些实施例范围内的更多的实施例和实施方式是可能的。尽管在附图中示出并在具体实施方式中讨论了许多可能的特征组合,但是所公开的特征的许多其他组合也是可能的。除非特别限制,否则任何实施例的任何特征可以与任何其他实施例中的任何其他特征或元素组合使用或替代任何其他特征或元素。因此,将理解的是,可以以任何合适的组合一起实施本公开内容中示出和/或讨论的任何特征。因此,除非考虑到所附权利要求及其等价物,否则这些实施例不受限制。此外,可以在所附权利要求的范围内进行各种修改和改变。
[0084] 尽管前文已经描述了被认为是最佳模式的示例和/或其他示例,但是应当理解,可以在其中进行各种修改,并且可以以各种形式和示例来实现本文公开的主题,并且这些教导可以应用于大量应用中,本文中仅描述了其中的一些。所附权利要求书旨在要求保护落入本教导的真实范围内的任何和所有应用、修改和变化。
[0085] 除非另有说明,否则在本说明书中,包括在所附权利要求书中阐述的所有测量结果、值、额定值、位置、大小、尺寸和其他规格都是近似的,而不是精确的。它们旨在具有与它们所涉及的功能以及它们所相关的领域中的习惯相一致的合理范围。
[0086] 保护范围仅受所附权利要求书的限制。当根据本说明书和随后的审理历史进行解释时,该范围旨在并且应被解释为与权利要求中使用的语言的普通含义相一致的范围,并且涵盖所有结构和功能上的等价物。尽管如此,所有权利要求均不旨在包含不满足专利法第101、102或103条要求的主题,也不应以这种方式解释它们。特此不要求保护对此类主题的任何非预期的包含。
[0087] 除紧接上文所述之外,没有任何被阐述或说明的内容旨在或应被解释以导致对公众来说任何组成部分、步骤、特征、对象、益处、优势或等效内容的专用,无论权利要求中是否对其有所记载。
[0088] 将理解的是,除非本文另外阐述了特定含义,否则本文使用的术语和表述具有针对其相应的各自探寻和研究领域的与此类术语和表述相一致的普通含义。诸如第一和第二等等的关系术语可以仅用于区分一个实体或动作与另一实体或动作,而不一定要求或暗示在这些实体或动作之间的任何实际的这种关系或顺序。术语“包括(comprises)”,“包括有(comprising),或者任何其他变体旨在覆盖非排他性包括(inclusion),使得包括一系列元素的过程、方法、物品或装置不仅仅包括那些元素,而是可以包括未明确列出的或者此类过程、方法、物品或装置所固有的其他元素。在没有其他限制的情况下,前面带有“一”或“一个”的元素并不排除在包括该元素的过程、方法、物品或装置中存在额外的相同元素。
[0089] 提供了本公开内容的摘要以使得读者能够快速认定技术公开内容的本质。基于其将不会被用来解释或限制权利要求的范围或含义的理解来提交摘要。此外,在前述具体实施方式中,可以看到:出于精简本公开内容的目的,在各个示例中将各个特征组合在一起。本公开内容的方法不应该被解释为反映了以下意图,即:权利要求需要比明确陈述于每一项权利要求中的更多的特征。而是如同后面的权利要求所反映的,发明主题在于少于单个所公开的示例的所有特征。因此,在每项权利要求自身作为单独要求保护的主题的前提下,在此将以下权利要求并入具体实施方式。
QQ群二维码
意见反馈