掌桥专利:专业的专利平台
掌桥专利
首页

在虚拟会议系统内呈现参与者对话

文献发布时间:2024-04-18 19:58:21


在虚拟会议系统内呈现参与者对话

相关申请的交叉引用

本专利申请是于2021年8月3日提交的美国专利申请序列第17/393,204号的延续,该美国专利申请要求于2021年3月30日提交的题为“PRESENTING OVERVIEW OFPARTICIPANT CONVERSATIONS WITHIN AVIRTUAL CONFERENCING SYSTEM”的美国临时专利申请第63/168,141号的权益,所述申请通过引用整体并入本文。

技术领域

本公开内容总体上涉及虚拟会议系统,包括在虚拟会议系统内呈现参与者对话的概览。

背景技术

虚拟会议系统提供在设备之间进行音频数据和视频数据的接收和发送,以用于在设备用户之间进行实时通信。

附图说明

在不一定按比例绘制的附图中,相似的附图标记可以描述不同视图中的类似部件。为了容易地识别对任何特定元素或动作的讨论,附图标记中的一个或多个最高位数字指该元素被首次引入时所在的图号。在附图的各图中示出了一些非限制性示例,在附图中:

图1是根据一些示例的可以在其中部署本公开内容的联网环境的图解表示。

图2是根据一些示例的具有客户端侧功能和服务器侧功能二者的虚拟会议系统的图解表示。

图3是根据一些示例的如在数据库中维护的数据结构的图解表示。

图4示出了根据一些示例实施方式的具有界面元素以用于设计虚拟空间的虚拟空间设计界面。

图5示出了根据一些示例实施方式的具有界面元素以在虚拟空间的房间之间进行导航并且参与相对于所述房间的虚拟会议的虚拟空间导航界面。

图6是示出根据一些示例实施方式的用于在虚拟会议系统内呈现参与者对话的概览的处理的交互图。

图7示出了根据一些示例实施方式的具有用于对虚拟空间的房间进行预览的房间预览元素的控制面板界面。

图8是示出根据一些示例实施方式的用于在虚拟会议系统内呈现参与者对话的概览的处理的流程图。

图9是根据一些示例的呈计算机系统形式的机器的图解表示,在该机器内可以执行指令集以使该机器执行本文所讨论的方法中的任何一种或更多种。

图10是示出在其内可以实现示例的软件架构的框图。

具体实施方式

虚拟会议系统提供在设备之间进行音频数据和视频数据的接收和发送,以用于在设备用户之间进行实时通信。虚拟会议系统允许用户设计或选择具有多个房间的虚拟空间以进行实时通信。参与者可以在虚拟空间的不同房间之间切换例如以参与不同的对话、事件、研讨会等。在一些情况下,管理员可能希望在不需要导航至各个房间的情况下观察在不同房间中发生的不同的参与者对话。

所公开的实施方式提供呈现出在虚拟空间的各个房间中发生的参与者对话的概览。所述概览可以呈现在控制面板界面内,该控制面板界面包括到虚拟空间的房间中的预览。例如,每个房间被表示为呈现房间的实时预览的预览房间元素(例如,窗口或框架)。控制面板界面还包括每个房间。针对给定的房间,度量可以指示参与者的当前数目、针对参与者对话的音频级别、活动的参与者摄像装置/麦克风的数目、参与者进入/退出房间的频率、以及/或者参与者在房间里停留的平均时长。因此,控制面板界面提供了对虚拟空间的多个房间的便利观察。

图1是示出用于通过网络来交换数据的示例虚拟会议系统100的框图。虚拟会议系统100包括客户端设备102的多个实例,所述多个实例中的每一个托管多个应用,所述多个应用包括虚拟会议客户端104和其他应用106。每个虚拟会议客户端104经由网络112(例如,因特网)通信地耦接至虚拟会议客户端104(例如,托管在相应其他客户端设备102上)的其他实例、虚拟会议服务器系统108以及第三方服务器110。虚拟会议客户端104还可以使用应用程序接口(API)与本地托管的应用106通信。

虚拟会议系统100通过用户设备(例如,在不同位置处)提供音频、视频、图像、文本和/或其他信号的接收和发送,以用于在用户之间进行实时通信。在一些情况下,两个用户可以在他们的相应设备上利用虚拟会议以一对一通信的方式彼此通信。在其他情况下,多于两个用户可以利用多路虚拟会议来参与实时群组对话。因此,多个客户端设备102可以参与虚拟会议,例如,客户端设备102参与在参与者设备之间发送音频-视频内容流和/或消息内容(例如,文本、图像)的群组会话。

虚拟会议客户端104能够经由网络112与其他虚拟会议客户端104以及与虚拟会议服务器系统108通信并交换数据。在虚拟会议客户端104之间以及在虚拟会议客户端104与虚拟会议服务器系统108之间交换的数据包括功能(例如,用于激活功能的命令)以及有效载荷数据(例如,视频、音频、其他多媒体数据、文本)。

虚拟会议服务器系统108经由网络112向特定虚拟会议客户端104提供服务器侧功能。例如,关于发送音频和/或视频流,虚拟会议客户端104(例如,安装在第一客户端设备102上)可以有助于将流内容发送至虚拟会议服务器系统108,以用于随后由运行虚拟会议客户端104的相应实例的其他参与者设备(例如,一个或更多个第二客户端设备102)接收。

流内容可以对应于由客户端设备102上的传感器(例如,麦克风、摄像装置)捕获的音频和/或视频内容,例如,所述音频和/或视频内容与用户(例如,面部)的实时视频和/或音频捕获以及/或者由相应设备捕获的其他景象和声音相对应。例如,可以结合与虚拟会议客户端104相关联的扩展应用和/或小部件来使用其他音频/视觉数据(例如,动画、叠加、表情符号等)和/或消息内容(例如,文本、贴纸、表情符号、其他图像/视频数据)补充流内容。

虽然虚拟会议系统100的某些功能在本文中被描述为由虚拟会议客户端104或由虚拟会议服务器系统108执行,但是某些功能的位置是在虚拟会议客户端104内还是在虚拟会议服务器系统108内可以是设计选择。例如,在技术上可以优选的是:最初将某些技术和功能部署在虚拟会议服务器系统108内,但是后面在客户端设备102具有足够处理能力的情况下,将该技术和功能迁移至虚拟会议客户端104。

虚拟会议服务器系统108支持向虚拟会议客户端104提供的各种服务和操作。这样的操作包括向虚拟会议客户端104发送数据、从虚拟会议客户端104接收数据以及对由虚拟会议客户端104生成的数据进行处理。例如,该数据可以包括上面所提及的流内容和/或消息内容、客户端设备信息以及社交网络信息。通过经由虚拟会议客户端104的用户界面(UI)可用的功能来激活和控制虚拟会议系统100内的数据交换。

现在具体地转至虚拟会议服务器系统108,应用程序接口(API)服务器114耦接至应用服务器118,并且向应用服务器118提供编程接口。应用服务器118通信地耦接至数据库服务器124,该数据库服务器124有助于对数据库126进行访问,该数据库126存储有与由应用服务器118处理的虚拟会议内容相关联的数据。类似地,web服务器116耦接至应用服务器118,并且向应用服务器118提供基于web的接口。为此,web服务器116通过超文本传输协议(HTTP)和若干其他相关协议来处理传入的网络请求。

应用程序接口(API)服务器114在客户端设备102与应用服务器118之间接收和发送虚拟会议数据(例如,命令、音频/视频有效载荷)。具体地,应用程序接口(API)服务器114提供一组接口(例如,例程和协议),所述一组接口可以由虚拟会议客户端104调用或查询以激活应用服务器118的功能。应用程序接口(API)服务器114公开由应用服务器118支持的各种功能,包括帐户注册、登录功能、音频和/或视频内容的流式传输、以及/或者经由应用服务器118从特定虚拟会议客户端104向另一虚拟会议客户端104发送消息内容和从特定虚拟会议客户端104检索消息内容、检索用户的客户端设备102的联系人列表、向用户图(例如,社交图)添加和删除用户(例如,联系人)、以及打开(例如,与虚拟会议客户端104相关)应用事件。

应用服务器118托管多个服务器应用和子系统,包括例如虚拟会议服务器120和社交网络服务器122。虚拟会议服务器120实现了多个虚拟会议处理技术和功能,特别是与从虚拟会议客户端104的多个实例接收到的音频-视频馈送中包括的内容(例如,流内容)的聚合和其他处理相关的虚拟会议处理技术和功能。鉴于对数据的其他处理器和存储器密集处理的硬件要求,也可以由虚拟会议服务器120在服务器侧执行这样的处理。

社交网络服务器122支持各种社交联网功能和服务,并且使这些功能和服务对虚拟会议服务器120可用。为此,社交网络服务器122维护并访问数据库126内的用户图304(如图3所示)。由社交网络服务器122支持的功能和服务的示例包括标识虚拟会议系统100中的与特定用户有关系的其他用户(例如,诸如朋友、同事、老师、学生等联系人)。

在一个或更多个实施方式中,经由在第一客户端设备102上运行的虚拟会议客户端104进行交互的用户可以选择并邀请参与者参加虚拟会议。例如,可以从由社交网络服务器122维护的联系人中选择参与者。在另一示例中,可以从与第一客户端设备102相关联(例如,在本地存储器中或在基于云的用户账户中)存储的联系人地址簿内包括的联系人中选择参与者。在另一示例中,可以通过用户手动输入参与者的电子邮件地址和/或电话号码来选择参与者。

在第一客户端设备102处的用户可以通过选择由虚拟会议客户端104提供的适当的用户界面元素来发起虚拟会议,从而在他们相应的设备(例如,一个或更多个第二客户端设备102)处提示受邀参与者接受或拒绝参与虚拟会议。当参与者已经接受邀请时(例如,经由提示),虚拟会议服务器系统108可以执行初始化过程,在该初始化过程中在包括提供邀请的用户的参与者客户端设备102之间发布会话信息。参与者客户端设备102中的每一个可以向虚拟会议服务器系统108提供相应的会话信息,该虚拟会议服务器系统108转而将会话信息发布至其他参与者客户端设备102。关于每个客户端设备102的会话信息可以包括由客户端设备102可用的内容流和/或消息内容,以及针对内容流和/或消息内容的相应标识符。

如下面关于图2所描述的,虚拟会议可以对应于包括一个或更多个房间(例如,虚拟房间)的虚拟空间。虚拟空间及其对应的房间可以至少部分地通过邀请用户和/或其他用户创建。以这种方式,最终用户可以充当管理员,该管理员创建他们自己的具有房间的虚拟空间以及/或者基于预设的可用房间来设计虚拟空间。

图2是示出根据一些示例的关于虚拟会议系统100的其他细节的框图。具体地,虚拟会议系统100被示出为包括虚拟会议客户端104和应用服务器118。虚拟会议系统100包含多个子系统,所述子系统在客户端侧由虚拟会议客户端104支持以及在服务器侧由应用服务器118支持。这些子系统包括例如实现虚拟空间设计界面204的虚拟空间创建系统202和实现虚拟空间导航界面208的虚拟空间参与系统206。

虚拟空间创建系统202提供使用户设计在其中参与者可以参与虚拟会议的一个或更多个虚拟空间。在一个或更多个实施方式中,虚拟空间对应于具有被配置成容纳虚拟会议的一个或更多个房间的环境。

虚拟空间可以由希望邀请其他用户进行虚拟会议的最终用户来创建以及/或者选择(例如,从具有房间的预定义虚拟空间集中)。另外,虚拟空间的各个房间可以由最终用户新创建以及/或者选择(例如,从预定义房间集中)。在一个或更多个实施方式中,虚拟空间创建系统202包括虚拟空间设计界面204,该虚拟空间设计界面204可由最终用户用于设计虚拟空间,包括创建和/或选择用于包括在虚拟空间中的房间。

如下面关于图4所讨论的,虚拟空间设计界面204使得最终用户(例如,充当管理员)能够选择和/或定位房间内的多个元素。元素的示例包括但不限于:参与者视频元素(例如,用于显示参与者的相应视频馈送)、聊天界面(例如,供参与者在房间内提供基于文本的消息、贴纸和/或反应)、分会按钮(breakout button)(例如,用于从第一房间切换至一个或更多个第二房间)、以及/或者用于执行某些动作的其他用户可定义元素(例如,对着虚拟麦克风说话、经由按钮询问管理员等)。

虚拟空间参与系统206被配置成在虚拟空间内在参与者中执行虚拟会议。参与者可以包括创建虚拟空间的最终用户(例如,管理员),以及受邀参与关于由最终用户创建/选择的虚拟空间的虚拟会议的那些用户。虚拟空间参与系统206包括虚拟空间导航界面208(例如,下面关于图5所讨论的),该虚拟空间导航界面208允许参与者在虚拟空间的房间之间进行导航并且参与相对于房间的虚拟会议。

在一个或更多个实施方式中,虚拟空间创建系统202提供使最终用户(例如,管理员)创建用于进行虚拟会议的不同类型的环境(例如,具有房间的虚拟空间),并且虚拟空间参与系统206提供使参与者在这样的环境内参与虚拟会议。这样的虚拟会议的示例包括但不限于:商务会议、研讨会、演示、课堂讲座、教师办公时间、音乐会、聚会、虚拟晚餐、逃生室等。

图3是示出根据某些示例的可以存储在虚拟会议服务器系统108的数据库126中的数据结构300的示意图。虽然数据库126的内容被示出为包括多个表,但将理解的是,可以以其他类型的数据结构来存储数据(例如,作为面向对象的数据库)。

数据库126包括与虚拟会议系统100的用户(参与者)相关的简档数据302、用户图304和用户表306。用户表306存储用户数据,并且(例如,参考地)链接至用户图304和简档数据302。虚拟会议系统100中的每个用户都与唯一标识符(电子邮件地址、电话号码、社交网络标识符等)相关联。

用户图304存储(例如,与社交网络服务器122结合)关于用户之间的关系和关联的信息。仅作为示例,这样的关系可以是社会的、职业的(例如,在共同的公司或组织处工作)、基于兴趣的或者基于活动的。如上所述,用户图304可以至少部分地由社交网络服务器122维护和访问。

简档数据302存储关于特定用户的多种类型的简档数据。基于由特定用户指定的隐私设置,简档数据302可以被选择性地使用并呈现给虚拟会议系统100的其他用户。简档数据302包括例如用户名、电话号码、电子邮件地址、和/或设置(例如,通知和隐私设置)、以及用户所选择的化身表示。

数据库126还包括虚拟空间表308。如上所述,虚拟空间对应于具有被配置成容纳虚拟会议的一个或更多个房间的环境。虚拟空间可以由用户新创建,或者可以包括在(例如,由其他用户、系统管理员等)可用于虚拟会议的一个或更多个公共虚拟空间集内。虚拟空间表308存储表示一个或更多个公共虚拟空间集以及由用户创建的任何私密虚拟空间(例如,在特定用户没有将这样的虚拟空间公开的情况下)的信息。

在一个或更多个实施方式中,虚拟空间表308存储其虚拟空间与选择这些虚拟空间的用户(例如,在用户表306内)之间的关联。以这种方式,特定用户可以具有与其相关联的一个或更多个虚拟空间。此外,数据库126包括可以与虚拟空间表308内的虚拟空间相关联的房间表310。如上所述,房间可以由用户新创建,或者可以包括在可用于用户选择的一个或更多个公共房间(例如,画廊)集内。房间表310存储表示一个或更多个房间集以及由用户创建的任何私密房间(例如,在特定用户没有将这样的房间公开的情况下)的信息。所存储的信息可由虚拟会议系统100用于创建用于在虚拟空间中使用的对应房间。在一个或更多个实施方式中,所存储的信息还可以包括特定虚拟会议的记录(例如,音频和/或视频记录),以用于由对应的参与者进行后续播放。

图4示出了根据一些示例实施方式的具有用于设计虚拟空间的界面元素的虚拟空间设计界面204。设计虚拟空间可以包括创建和/或选择用于包括在虚拟空间中的房间。虚拟空间设计界面204包括菜单界面402、房间元素界面404、元素属性界面406、控件界面408、房间列表界面410、房间画布界面412和管理员名称414。注意,元素402至414对应于用于虚拟空间设计界面204的界面元素的示例,并且可以使用附加的、更少的和/或不同的界面元素。

管理员(例如,对应于管理员名称414)可以使用各种界面元素来设计虚拟空间。在一个或更多个实施方式中,菜单界面402包括与虚拟空间(例如,“工作空间”)、虚拟空间内的房间和/或房间内的元素相关的用户可选择的类别(例如,菜单标题)。例如,工作空间类别是用户可选择的用于(例如,经由下拉列表)呈现用以进行如下内容的选项:管理针对虚拟空间的设置、管理针对虚拟空间的邀请、管理虚拟空间的版本、发布虚拟空间(例如,供用户将来使用)、管理虚拟空间发布、以及/或者开始/管理关于虚拟空间的记录(例如,音频和/或视频记录)。

菜单界面402的房间类别是用户可选择的用于(例如,经由下拉列表)呈现用以进行如下内容的选项:管理针对虚拟空间内的房间的设置、设置房间背景、为房间列表界面410中列出的房间设置顺序、创建新房间、导入来自可用房间集的房间、移除房间、发布房间、管理房间发布、以及/或者开始/管理关于房间的记录。

另外,元素类别是用户可选择的用于(例如,经由下拉列表)呈现用以进行如下内容的选项:将元素插入房间中、将形状插入房间中、将元素作为前景/背景、布置/定位元素、以及/或者对元素进行分组。元素的示例包括但不限于:动作按钮、模拟时钟、观众问题板、背包项目、分会按钮、聊天、隐藏式字幕显示、隐藏式字幕输入、倒计时、时钟、数字时钟、门铃、双面图像、反馈、图像、多用户视频聊天、音乐、参与者音频混合器、参与者计数、参与者视频、图片条、投票、随机源、房间预览、预定时间、音效、秒表、拍照、文本、计时器、用户搜索、视频、等待列表、网络媒体、网站。形状的示例包括但不限于圆形、矩形和三角形。

菜单界面402的用户类别是用户可选择的用于(例如,经由下拉列表)呈现用以进行如下内容的选项:管理虚拟空间的用户/参与者(例如,为参与者添加标签,以便区分诸如管理员或出席者/参与者的角色)。另外,编辑类别是用户可选择的用于执行编辑操作(例如,撤消、重做、剪切、复制、粘贴),以及帮助类别是用户可选择的用于执行帮助操作(例如,新手入门、不一致(discord)、实时帮助、提交反馈)。

在一个或更多个实施方式中,房间元素界面404包括用户可选择的图标,以用于将元素(例如,对应于经由上面所提及的元素类别可用的那些元素的子集)插入当前房间中。例如,可以通过选择元素并将所选择的元素拖动至表示当前房间布局的房间画布界面412上来在当前房间内添加和/或定位元素。

在一个或更多个实施方式中,房间元素界面404包括图标,所述图标包括但不限于:文本图标,其用于将文本添加至房间;参与者视频图标,其用于将单个参与者视频元素(例如,由单个参与者可选择的用于显示该参与者的视频馈送的界面元素)添加至房间;多用户视频图标,其用于将多个参与者视频元素(例如,由一个或更多个参与者可选择的用于显示这些参与者的视频馈送的界面元素)添加至房间;聊天图标,其用于将聊天界面(例如,用于使用文本、贴纸、表情符号等发送消息)添加至房间;视频播放图标,其用于将视频播放元素(例如,屏幕)添加至房间以用于播放所选择的视频;背景图标,其用于为房间选择背景颜色/渐变、图像或视频;动作图标,其用于将动作元素(例如,按钮)添加到房间以用于执行用户定义的动作(例如,对着虚拟麦克风说话、经由按钮询问管理员等);以及/或者分会按钮,其用于添加分会元素(例如,按钮)以使所选择的参与者在当前房间与一个或更多个其他房间之间切换。

在一个或更多个实施方式中,元素属性界面406包括用于对针对上述房间元素的配置属性进行设置的各种字段。例如,关于一般的元素(例如,文本、单个参与者视频元素、多个参与者视频元素、聊天界面、视频元素、背景图像、动作元素、分会按钮),元素属性界面406包括用于对以下内容进行设置的字段:元素标题/名称、不透明度、渐变、样式、布局、边框/角落、阴影、交互(例如,参与者可以删除、修改、调整元素大小的程度)、过滤、全屏状态、条件、可访问性以及针对元素的动作。针对单个参与者视频元素,元素属性界面406包括用于对在虚拟会议期间将用户放置到单个参与者视频元素中的方式进行设置(例如,由参与者和/或管理员最终用户自动地、手动地设置)的另外的字段。另外,针对聊天界面,元素属性界面406包括用于对谁(例如,管理员和/或参与者)可以提供聊天输入以及/或者哪些类型的输入(例如,文本、贴纸、表情符号等)是可用的进行设置的另外的属性。针对动作元素,元素属性界面406包括用于响应于用户对动作元素(例如,按钮)的选择来对待执行何种类型的动作进行设置的另外的属性。此外,针对分会元素,元素属性界面406包括用于选择参与者和/或分会房间的另外的属性。

在一个或更多个实施方式中,元素属性界面406还包括用于对针对房间画布界面412的配置属性进行设置的字段。例如,元素属性界面406包括用于以下内容的字段:选择多个伪参与者(例如,模拟的视频馈送)以便使多个用户可视化、选择音乐(例如,背景音乐)、以及/或者选择使参与者指示关于房间内的虚拟会议的实时反应的反应按钮。

在一个或更多个实施方式中,控件界面408包括与用于虚拟空间的控件(例如,管理控件)相对应的用户可选择图标。例如,控件界面408包括图标,所述图标包括但不限于:导演模式图标,其用于在虚拟空间设计界面204内在用于设计房间的导演模式与用于查看房间的用户模式之间切换(例如,其中导演模式包括房间元素界面404和元素属性界面406,而用户模式则不包括房间元素界面404和元素属性界面406);查看图标,其用于查看虚拟空间导航界面208内的房间;共享屏幕图标(例如,用于与诸如共同管理员的其他用户进行协作设计);麦克风图标,其用于启用或禁用麦克风;帮助图标(例如,新手入门、不一致、实时帮助、提交反馈);邀请图标(例如,用于显示用于发送至参与者来访问虚拟空间的邀请链接);设置图标(例如,用于选择针对虚拟会议的最终用户的视频设备和音频设备以及用于选择用户化身);以及/或者退出图标,其用于退出虚拟空间设计界面204。

在一个或更多个实施方式中,房间列表界面410显示针对虚拟空间的房间的列表。每个所列出的房间是用户可选择的,用以切换到编辑(例如,在导演模式下)以及/或者查看(例如,在用户模式下)所选择的房间。如上所述,可以经由菜单界面402的房间类别内的选项来修改(例如,通过添加、导入以及/或者移除房间)房间列表。

图5示出了根据一些示例实施方式的虚拟空间导航界面208,该虚拟空间导航界面208具有在虚拟空间的房间之间进行导航并且参与关于所述房间的虚拟会议的界面元素。虚拟空间导航界面208包括控件界面502、房间列表界面504、当前房间界面506、参与者视频元素508和参与者视频元素510。注意,元素502至514(元素514已删除)对应于用于虚拟空间导航界面208的界面元素的示例,并且可以使用附加的、更少的和/或不同的界面元素。

在一个或更多个实施方式中,控件界面502包括与用于虚拟空间的控件(例如,管理控件)相对应的用户可选择图标。例如,控件界面408包括图标,所述图标包括但不限于:编辑图标,其用于再定向至虚拟空间设计界面204以编辑当前房间;音量图标,其用于调整针对当前房间的音量级别;共享屏幕图标(例如,用于允许其他人在无需加入房间的情况下查看房间);麦克风图标,其用于使麦克风静音或取消静音;帮助图标(例如,新手入门、不一致、实时帮助、提交反馈);邀请图标(例如,用于显示使参与者访问虚拟空间的邀请链接);设置图标(例如,用于选择针对虚拟会议的最终用户的视频设备和音频设备,以及用于选择用户化身);以及/或者退出图标,其用于退出虚拟空间设计界面204。

在一个或更多个实施方式中,房间列表界面504显示针对虚拟空间的房间的列表。每个所列出的房间是用户可选择的,以切换到所选择的房间(例如,用于虚拟会议)。所选择的房间被呈现作为当前房间界面506内的当前房间。以这种方式,参与者可以在虚拟空间内可用的多个房间中进行导航。替选地或另外地,经由虚拟空间地图界面(未示出)在房间之间进行导航是可能的,该虚拟空间地图界面描绘了虚拟空间及其对应的房间的地图视图(例如,平面图),其中每个房间都是用户可选择导航到的。替选地或另外地,通过将导航按钮(未示出)定位在房间内,也可以在房间之间进行导航,其中,用户对按钮的选择致使导航至另一房间(例如,预定义的房间)。如上所述,虚拟空间设计界面204允许对虚拟空间及其对应的房间的设计。因此,房间之间的导航至少部分地基于虚拟空间的设计(例如,虚拟空间可以包括上面所提及的房间列表界面504、虚拟空间地图/平面图界面以及/或者导航按钮中的一个或更多个)。

关于当前房间界面506,每个参与者被表示为相应的参与者视频元素。如上所述,参与者视频元素对应于界面元素(例如,框),该界面元素可由单个参与者选择,以用于显示该参与者的视频馈送。图5的示例包括与参与者视频元素508相关联的第一参与者以及与参与者视频元素510相关联的第二参与者。在一个或更多个实施方式中,相对于第一参与者的视角,示出第二参与者的馈送的参与者视频元素510可以包括参与者按钮512。例如,参与者按钮512可由第一参与者选择,以便相对于第二参与者执行预定义的动作(例如,发起旁听对话,当第一参与者移动房间时指定第二参与者跟随第一参与者)。

虽然图5的示例示出了两个参与者,但是当前房间界面506可以容纳针对虚拟会议的附加参与者。可以基于通过虚拟空间设计界面204设计的参与者视频元素(例如,框)的定位来(例如,通过拖动自动地和/或手动地)对附加参与者进行定位。

在一个或更多个实施方式中,虚拟空间导航界面208可以基于给定参与者是管理员还是另一参与者(例如,出席者)而改变。例如,可以(例如,经由虚拟空间设计界面204)为管理员指定一些参与者视频元素,而为其他参与者指定其他参与者视频元素。虚拟会议服务器系统108被配置成例如经由由虚拟空间设计界面204提供的菜单界面402的用户类别基于被分配至参与者的上述标签来在这些管理员或其他参与者角色之间进行区分。

图6是示出根据一些示例实施方式的用于在虚拟会议系统内呈现参与者对话的概览的处理600的交互图。为了说明的目的,本文参考第一客户端设备602、一个或更多个第二客户端设备604以及虚拟会议服务器系统108来描述处理600。第一客户端设备602和第二客户端设备604中的每一个可以对应于相应的客户端设备102。处理600不限于第一客户端设备602、第二客户端设备604和虚拟会议服务器系统108。此外,处理600的一个或更多个框(或操作)可以由第一客户端设备602、第二客户端设备604或虚拟会议服务器系统108中的一个或更多个其他部件执行,以及/或者由其他合适的设备执行。进一步为了说明的目的,处理600的框(或操作)在本文中被描述为串行或线性地发生。然而,处理600的多个框(或操作)可以并行或同时发生。另外,处理600的框(或操作)不需要以示出的顺序执行,以及/或者处理600的一个或更多个框(或操作)不需要执行和/或可以由其他操作替换。当其操作完成时,处理600可以终止。此外,处理600可以对应于方法、应用程式、算法等。

第一客户端设备602和第二客户端设备604中的每一个具有安装在其上的虚拟会议客户端104的实例。在图6的示例中,第一客户端设备602与虚拟会议服务器系统108的相应第一参与者相关联,并且一个或更多个第二客户端设备604与虚拟会议服务器系统108的相应一个或更多个第二参与者相关联。例如,第一参与者可以与虚拟会议服务器系统108的第一用户账户相关联,并且第二参与者可以与虚拟会议服务器系统108的第二用户账户相关联。

如上所述,由虚拟会议服务器系统108基于与针对第一参与者和第二参与者的相应用户账户相关联的唯一标识符(例如,电子邮件地址、电话号码)来标识第一参与者和第二参与者。在一个或更多个实施方式中,虚拟会议服务器系统108实现社交网络服务器122以及/或者与社交网络服务器122结合工作,该社交网络服务器122被配置成对特定用户与之具有关系的联系人进行标识。例如,第一参与者和第二参与者可以是关于虚拟会议服务器系统108的联系人。

如本文所述,虚拟会议系统100提供向管理员呈现虚拟空间内的参与者对话的概览。例如,概览呈现在控制面板界面内。控制面板界面包括对虚拟空间的房间的预览,并且还包括与针对每个房间的对话相关的相应度量。

在操作606至608处,虚拟会议服务器系统108提供在参与者设备之间的实时通信,所述参与者设备包括(例如,管理员的)第一客户端设备602以及(例如,其他参与者、出席者的)一个或更多个第二客户端设备604。实时通信可以发生在包括多个房间的虚拟空间内。在给定的时间,不同的参与者可以在虚拟空间的不同房间中。每个参与者可以在他们的当前房间内由相应的参与者视频元素(例如,图5中的对应于相应的视频馈送的元素508至510)来表示。

在图6的示例中,操作606被描绘为虚线,以说明第一参与者(例如,管理员)可能不一定与房间内的其他参与者进行会议。如本文所讨论的,第一参与者可以代替地(或附加地)经由控制面板界面观察房间。在图7中描绘了示例控制面板界面,这将在下面进一步讨论。

在操作610处,虚拟会议服务器系统108提供在第一客户端设备602上显示控制面板界面。针对虚拟空间中的每个房间,控制面板界面显示与房间的实时视频-音频馈送相对应的房间预览元素。

房间预览元素允许第一参与者观察房间中的每一个房间内的虚拟会议,而不需要第一参与者导航至那些房间。虚拟会议服务器系统108可以使房间预览元素显示在控制面板界面中的预定义位置(例如,作为相应的窗口或框架)处。例如,第一参与者(例如,管理员)可以在虚拟空间的设计期间(例如,经由虚拟空间设计界面204)已经配置了控制面板界面。

在虚拟空间内的虚拟会议期间,第一参与者可以经由预定义的手势(例如,拖动手势、捏合手势等)对房间预览元素进行重新定位以及/或者调整房间预览元素的大小。另外,每个房间预览元素可由第一参与者选择(例如,经由按压手势)以导航至正在预览的房间。

在一个或更多个实施方式中,房间预览元素中的一个或更多个可以对应于视口(例如,基于由管理员经由虚拟空间设计界面204设置的配置属性)。视口可以对应于针对相应房间的一部分的实时馈送。以这种方式,由房间预览元素提供的相应房间的预览可以小于房间的整个视图(例如,在导航至房间时呈现的视图)。此外,房间预览元素可以包括用于调整视口以显示关于第二房间的另一部分的实时馈送的界面元素(例如,箭头控件、缩放控件等)。替选地或另外地,虚拟会议服务器系统108可以配置视口以经由预定义的手势(例如,拖动手势、捏合手势等)对关于房间的实时馈送进行重新定位以及/或者调整关于房间的实时馈送的大小。

关于房间音频,来自相应房间中的每一个的音频输出可以在控制面板界面内混合。在一个或更多个实施方式中,虚拟会议服务器系统108提供响应于预定义的手势(例如,悬停手势)而增加针对特定房间的音频级别。例如,响应于第一参与者执行关于房间预览元素的悬停手势,虚拟会议服务器系统108提供增加与该房间相对应的音频级别。以这种方式,第一参与者还能够在不需要导航至所选择的房间的情况下观察针对所选择房间的虚拟会议。

除了呈现房间预览元素之外,虚拟会议服务器系统108被配置成显示针对每个房间的实时度量。因此,在框612处,虚拟会议服务器系统108确定针对多个房间的度量。虚拟会议服务器系统108可以通过监测并分析针对每个房间的参与者交互和/或参与者视频馈送来确定度量。

通过非限制性示例的方式,度量可以指示以下中的一个或更多个:多个房间中的每一个的参与者的当前数目;与多个房间中的每一个的参与者对话相对应的音频级别(例如,其中较高的音频级别暗示参与者对话/参与增加);多个房间中的每一个的活动的参与者摄像装置或参与者麦克风的数目(例如,用于暗示参与者参与量);多个房间中的每一个的参与者进入和离开的频率;以及/或者多个房间中的每一个的参与者停留的平均时长。

虚拟会议服务器系统108在控制面板界面内提供度量的显示(操作614)。例如,针对每个房间的度量可以在针对该房间的对应的房间预览元素附近显示。

因此,如本文中所描述的虚拟会议系统100在虚拟空间内提供了用于参与者对话的控制面板界面(例如,概览)。控制面板界面包括对虚拟空间的房间的预览,并且还包括与针对每个房间的对话相关的相应度量。在不呈现这样的概览(例如,控制面板界面)的情况下,管理员可能需要以其他方式在房间之间手动地切换以观察房间。虚拟会议系统100减少了管理员的这种额外努力,从而为参与者节省了时间,并且减少了用于虚拟会议系统100的计算资源/处理能力。

图7示出了根据一些示例实施方式的具有用于对虚拟空间的房间进行预览的房间预览元素的控制面板界面700。控制面板界面700可以例如经由图5的虚拟空间导航界面208对虚拟空间的第一参与者(例如,管理员)可用。

在图7的示例中,控制面板界面700描绘了三个房间预览元素704至708。房间预览元素704至708中的每一个对应于虚拟空间内的相应房间的实时视频-音频馈送(例如,其中包括参与者)。房间预览元素704至708中的一个或更多个可以对应于仅显示其相应房间的一部分的视口。替选地,房间预览元素704至708中的一个或更多个可以显示其相应房间的整体(例如,类似于导航至该房间的视图)。在图7的示例中,控制面板界面700还包括与第一参与者(例如,管理员)的视频馈送相对应的参与者视频元素702。

如上所述,来自相应房间中的每一个的音频输出可以被混合。响应于预定义的手势(例如,在房间预览元素704至708中的一个上的悬停手势),可以增加来自对应房间的音频输出。此外,响应于用户对房间预览元素704至708中的一个的选择(例如,由第一参与者),虚拟会议服务器系统108提供使第一参与者导航至与选择相关联的房间。

虽然在图7的示例中没有示出,但是控制面板界面700还可以显示与房间预览元素704至708中的每一个相关联(例如,邻近或作为其上的叠加)的实时度量。如上所述,度量可以基于监测并分析针对每个房间的参与者交互和/或参与者视频馈送。

图8是示出根据一些示例实施方式的用于在虚拟会议系统内呈现参与者对话的概览的处理800的流程图。为了说明的目的,本文中主要参照图1和图2的第一客户端设备602、第二客户端设备604和虚拟会议服务器系统108来描述处理800。然而,处理800的一个或更多个框(或操作)可以由一个或更多个其他部件以及/或者由其他合适的设备执行。进一步为了说明的目的,处理800的框(或操作)在本文中被描述为串行或线性地发生。然而,处理800的多个框(或操作)可以并行或同时发生。另外,处理800的框(或操作)不需要以示出的顺序执行,以及/或者处理800的一个或更多个框(或操作)不需要执行和/或可以由其他操作替换。当其操作完成时,处理800可以终止。另外,处理800可以对应于方法、应用程式、算法等。

虚拟会议服务器系统108提供包括多个房间的虚拟空间,所述多个房间中的每个房间被配置用于相应参与者之间的虚拟会议(框802)。虚拟会议服务器系统108可以针对与房间相关联的每个房间预览元素提供与房间的相应参与者相对应的参与者视频元素的显示。参与者视频元素可以包括针对相应参与者的视频馈送。

虚拟会议服务器系统108为虚拟空间的管理员(例如,在第一客户端设备602处)提供控制面板界面的显示,该控制面板界面包括针对多个房间中的每一个的房间预览元素,每个房间预览元素对应于针对多个房间中的相应房间的实时预览(框804)。每个房间预览元素可以包括具有针对相应房间的一部分的实时馈送的视口。每个房间预览元素可以包括界面元素,用户可选择该界面元素,以用于调整视口以显示针对相应房间的另一部分的实时馈送。

虚拟会议服务器系统108确定针对多个房间中的每一个的度量(框806)。度量可以指示以下中的一个或更多个:多个房间中的每一个的参与者的数目;与多个房间中的每一个的参与者对话相对应的音频级别;多个房间中的每一个的活动的参与者摄像装置的数目或参与者麦克风的数目中的至少一个、多个房间中的每一个的参与者进入和离开的频率、以及/或者多个房间中的每一个的参与者停留的平均时长。虚拟会议服务器系统108在控制面板界面内提供度量的显示(框808)。

图9是机器900的图解表示,在该机器900中可以执行用于使机器900执行本文中所讨论的方法中的任一种或更多种方法的指令910(例如,软件、程序、应用、小程序、app或其他可执行代码)。例如,指令910可以使机器900执行本文中描述的方法中的任一种或更多种方法。指令910将通用的未编程的机器900转换成被编程为以所描述的方式执行所描述和所示出的功能的特定机器900。机器900可以作为独立设备操作或者可以耦接(例如,联网)至其他机器。在联网的部署中,机器900可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器900可以包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web装置、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行指定要由机器900采取的动作的指令910的任何机器。此外,虽然仅示出了单个机器900,但是术语“机器”也应当被视为包括单独地或联合地执行指令910以执行本文所讨论的方法中的任何一种或更多种方法的机器的集合。例如,机器900可以包括客户端设备102或者形成虚拟会议服务器系统108的一部分的若干服务器设备中的任何一个。在一些示例中,机器900还可以包括客户端系统和服务器系统二者,其中特定方法或算法的某些操作在服务器侧执行,并且其中所述特定方法或算法的某些操作在客户端侧执行。

机器900可以包括处理器904、存储器906和输入/输出I/O部件902,所述处理器904、存储器906和输入/输出I/O部件902可以被配置成经由总线940彼此通信。在示例中,处理器904(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一处理器或其任何合适的组合)可以包括例如执行指令910的处理器908和处理器912。术语“处理器”旨在包括多核处理器,所述多核处理器可以包括可以同时执行指令的两个或更多个独立的处理器(有时被称为“核”)。尽管图9示出了多个处理器904,但是机器900可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器、或者其任意组合。

存储器906包括主存储器914、静态存储器916和存储单元918,所述主存储器914、静态存储器916和存储单元918均可由处理器904经由总线940访问。主存储器906、静态存储器916和存储单元918存储实现本文中描述的方法或功能中的任何一种或更多种的指令910。指令910还可以在其由机器900执行期间完全地或部分地驻留在主存储器914内、静态存储器916内、存储单元918内的机器可读介质920内、处理器904中的至少一个处理器内(例如,在处理器的高速缓存存储器内)或者其任何合适的组合内。

I/O部件902可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量结果等的各种部件。包括在特定机器中的具体I/O部件902将取决于机器的类型。例如,便携式机器例如移动电话可以包括触摸输入设备或其他这样的输入机构,而无头服务器(headless server)机器将不太可能包括这样的触摸输入设备。将要理解的是,I/O部件902可以包括图9中未示出的许多其他部件。在各种示例中,I/O部件902可以包括用户输出部件926和用户输入部件928。用户输出部件926可以包括视觉部件(例如,诸如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)的显示器)、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。用户输入部件928可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘(photo-optical keyboard)、或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器、或另一指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸姿势的位置和力的触摸屏、或其他触觉输入部件)、音频输入部件(例如,麦克风)等。

在另外的示例中,I/O部件902可以包括生物计量部件930、运动部件932、环境部件934、或定位部件936以及各种其他部件。例如,生物计量部件930包括用于检测表达(例如,手部表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,声音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件932包括加速度传感器部件(例如,加速计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)。

环境部件934包括例如:一个或摄像装置(具有静止图像/照片和视频能力)、照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声学传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近度传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,为了安全而检测危险气体的浓度或者测量大气中的污染物的气体检测传感器)、或者可以提供与周围物理环境相对应的指示、测量或信号的其他部件。

关于摄像装置,客户端设备102可以具有摄像装置系统,该摄像装置系统包括例如在客户端设备102的前表面上的前置摄像装置以及在客户端设备102的后表面上的后置摄像装置。前置摄像装置可以例如用于捕获客户端设备102的用户的静止图像和视频(例如,“自拍”),然后可以利用上述增强数据(例如,过滤器)对该静止图像和视频进行增强。后置摄像装置可以例如用于以更传统的摄像装置模式捕获静止图像和视频,类似地使用增强数据对这些图像进行增强。除了前置摄像装置和后置摄像装置之外,客户端设备102还可以包括用于捕获360°照片和视频的360°摄像装置。

此外,客户端设备102的摄像装置系统可以包括双后置摄像装置(例如,主摄像装置以及深度感测摄像装置),或者甚至在客户端设备102的前后侧上包括三个、四个或五个后置摄像装置配置。例如,这些多个摄像装置系统可以包括广角摄像装置、超广角摄像装置、长焦摄像装置、微距摄像装置和深度传感器。

定位部件936包括位置传感器部件(例如,GPS接收器部件)、海拔传感器部件(例如,检测气压的高度计或气压计,根据该气压可以得到海拔)、取向传感器部件(例如,磁力计)等。

可以使用各种技术来实现通信。I/O部件902还包括通信部件938,该通信部件938可操作成经由相应的耦接或连接将机器900耦接至网络922或设备924。例如,通信部件938可以包括与网络922接口的网络接口部件或另一合适的设备。在另外的示例中,通信部件938可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、

此外,通信部件938可以检测标识符或者包括可操作成检测标识符的部件。例如,通信部件938可以包括射频识别(RFID)标签阅读器部件、NFC智能标签检测部件、光学阅读器部件(例如,用于检测诸如通用产品代码(UPC)条形码的一维条形码,诸如快速响应(QR)码、Aztec码、数据矩阵、数据符号(Dataglyph)、最大码(MaxiCode)、PDF417、超码(UltraCode)、UCC RSS-2D条形码的多维条形码和其他光学码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。此外,可以经由通信部件938得出各种信息,例如经由因特网协议(IP)地理定位的位置、经由

各种存储器(例如,主存储器914、静态存储器916以及处理器904的存储器)以及存储单元918可以存储由本文描述的方法或功能中的任何一个或更多个方法或功能实施或使用的一组或更多组指令和数据结构(例如,软件)。这些指令(例如,指令910)在由处理器904执行时使各种操作实现所公开的示例。

可以经由网络接口设备(例如,通信部件938中包括的网络接口部件)使用传输介质并且使用若干公知的传输协议中的任何一个传输协议(例如,超文本传输协议(HTTP))通过网络922来发送或接收指令910。类似地,可以经由与设备924的耦接(例如,对等耦接)使用传输介质来发送或接收指令910。

图10是示出可以安装在本文中描述的设备中的任何一个或更多个设备上的软件架构1004的框图1000。软件架构1004由硬件例如包括处理器1020、存储器1026和I/O部件1038的机器1002支持。在该示例中,软件架构1004可以被概念化为层的堆栈,在该层的堆栈中,每个层提供特定的功能。软件架构1004包括层,例如操作系统1012、库1010、框架1008和应用1006。在操作上,应用1006通过软件堆栈来调用API调用1050并且响应于API调用1050接收消息1052。

操作系统1012管理硬件资源并且提供公共服务。操作系统1012包括例如内核1014、服务1016和驱动器1022。内核1014充当硬件与其他软件层之间的抽象层。例如,内核1014提供存储器管理、处理器管理(例如,调度)、部件管理、联网和安全设置等功能。服务1016可以为其他软件层提供其他公共服务。驱动器1022负责控制底层硬件或与底层硬件接口。例如,驱动器1022可以包括显示驱动器、摄像装置驱动器、

库1010提供由应用1006使用的公共低级基础设施。库1010可以包括系统库1018(例如,C标准库),该系统库1018提供诸如存储器分配功能、字符串操纵功能、数学功能等的功能。另外,库1010可以包括API库1024,例如媒体库(例如,用于支持各种媒体格式的呈现和操纵的库,所述各种媒体格式例如运动图像专家组-4(MPEG4)、高级视频编码(H.264或AVC)、运动图像专家组-3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编解码器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG))、图形库(例如,用于在显示器上的图形内容中以二维(2D)和三维(3D)渲染的OpenGL框架)、数据库库(例如,提供各种关系数据库功能的SQLite)、web库(例如,提供web浏览功能的WebKit)等。库1010还可以包括各种其他库1028,以向应用1006提供许多其他API。

框架1008提供由应用1006使用的公共高级基础设施。例如,框架1008提供各种图形用户接口(GUI)功能、高级资源管理和高级定位服务。框架1008可以提供可以由应用1006使用的广泛的其他API,其中的一些API可以特定于特定的操作系统或平台。

在示例中,应用1006可以包括家庭应用1036、联系人应用1030、浏览器应用1032、书籍阅读器应用1034、位置应用1042、媒体应用1044、消息收发应用1046、游戏应用1048和诸如第三方应用1040的各种各样的其他应用。应用1006是执行程序中限定的功能的程序。可以采用各种编程语言来创建以各种方式构造的应用1006中的一个或更多个,编程语言例如面向对象的编程语言(例如,Objective-C、Java或C++)或过程编程语言(例如,C语言或汇编语言)。在特定示例中,第三方应用1040(例如,由特定平台的供应商以外的实体使用ANDROID

术语表

“载波信号”是指能够存储、编码或携载由机器执行的指令的任何无形介质并且包括数字或模拟通信信号或其他无形介质以便于这些指令的通信。可以使用传输介质经由网络接口设备来通过网络发送或接收指令。

“客户端设备”是指与通信网络接口以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、桌上型计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程消费电子产品、游戏控制台、机顶盒或用户可以用于访问网络的任何其他通信设备。

“通信网络”是指网络的一个或更多个部分,该网络可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、

“部件”是指具有以下边界的设备、物理实体或逻辑,该边界由功能或子例程调用、分支点、API或者对特定处理或控制功能提供分区或模块化的其他技术定义。部件可以经由它们的接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的封装功能硬件单元,以及通常执行相关功能的特定功能的程序的一部分。部件可以构成软件部件(例如,在机器可读介质上实现的代码)或硬件部件。“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例中,可以通过软件(例如,应用或应用部分)将一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)配置为进行操作以执行如本文中描述的某些操作的硬件部件。也可以机械地、电子地或以其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路系统或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件部件还可以包括通过软件临时配置成执行某些操作的可编程逻辑或电路系统。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这样的软件被配置,则硬件部件成为被唯一地定制成执行所配置的功能的特定机器(或机器的特定部件)并且不再是通用处理器。将认识到,可以出于成本和时间考虑来决定是机械地在专用且永久配置的电路系统中实现硬件部件还是在临时配置(例如,通过软件配置)的电路系统中实现硬件部件。因此,短语“硬件部件”(或“硬件实现的部件”)应当被理解成包含有形实体,即被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式操作或者执行本文中描述的某些操作的实体。考虑硬件部件被临时配置(例如,被编程)的示例,无需在任一时刻对硬件部件中的每个硬件部件进行配置或实例化。例如,在硬件部件包括通过软件配置而成为专用处理器的通用处理器的情况下,该通用处理器可以在不同时间处被配置为各自不同的专用处理器(例如,包括不同的硬件部件)。软件相应地配置特定的一个或多个处理器,以例如在一个时刻处构成特定硬件部件并且在不同的时刻处构成不同的硬件部件。硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信息。因此,所描述的硬件部件可以被认为通信地耦接。在同时存在多个硬件部件的情况下,可以通过在两个或更多个硬件部件之间或之中(例如,通过适当的电路和总线)的信号传输来实现通信。在多个硬件部件在不同时间被配置或实例化的示例中,可以例如通过将信息存储在多个硬件部件可以访问的存储器结构中并且在存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作,并且将该操作的输出存储在与其通信地耦接的存储器设备中。然后,另外的硬件部件可以在随后的时间访问存储器设备,以检索所存储的输出并对其进行处理。硬件部件还可以发起与输入设备或输出设备的通信,并且可以对资源(例如,信息的集合)进行操作。在本文中描述的示例方法的各种操作可以至少部分地由临时地配置(例如,通过软件)或永久地配置成执行相关操作的一个或更多个处理器来执行。无论是被临时地配置还是永久地配置,这样的处理器可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件。如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器实现的硬件部件。类似地,在本文中描述的方法可以至少部分地由处理器实现,其中,特定的一个或多个处理器是硬件的示例。例如,方法的操作中的至少一些可以由一个或更多个处理器或者处理器实现的部件执行。此外,一个或更多个处理器还可以进行操作以支持“云计算”环境中的相关操作的执行或作为“软件即服务”(SaaS)操作。例如,操作中的至少一些可以由一组计算机(作为包括处理器的机器的示例)来执行,其中这些操作可以经由网络(例如,因特网)和经由一个或更多个适当的接口(例如,API)来访问。某些操作的执行可以分布在处理器之间,不仅驻留在单个机器内,而且跨多个机器部署。在一些示例中,处理器或处理器实现的部件可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器群内)。在其他示例中,处理器或处理器实现的部件可以跨多个地理位置分布。

“计算机可读存储介质”是指机器存储介质和传输介质二者。因此,这些术语包括存储设备/介质和载波/调制数据信号二者。术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意指相同的事物,并且可以在本公开内容中可互换地使用。

“机器存储介质”是指存储可执行指令、例程和数据的单个或多个存储设备和介质(例如,集中式或分布式数据库,以及相关联的缓存和服务器)。因此,该术语应当被视为包括但不限于固态存储器以及光学和磁介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和设备存储介质的具体示例包括:非易失性存储器,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、FPGA和闪存设备;磁盘,例如内部硬盘和可移除盘;磁光盘;以及CD-ROM和DVD-ROM盘。术语“机器存储介质”、“设备存储介质”、“计算机存储介质”意指相同的事物并且可以在本公开内容中互换使用。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确地排除了载波、调制数据信号和其他这样的介质,所述载波、调制数据信号和其他这样的介质中的至少一些被涵盖在术语“信号介质”中。

“非暂态计算机可读存储介质”是指能够存储、编码或携载由机器执行的指令的有形介质。

“信号介质”是指能够存储、编码或携载由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以有助于软件或数据的通信。术语“信号介质”应当被视为包括任何形式的调制数据信号、载波等。术语“调制数据信号”意指使其特性中的一个或更多个特性以将信息编码在信号中的方式来设置或改变的信号。术语“传输介质”和“信号介质”意指相同的事物,并且可以在本公开内容中互换使用。

相关技术
  • 用于在网络上为多个参与者创建共享虚拟AR对话空间的设备
  • 用于网络会议系统内的多源协作的虚拟视频驱动器桥系统
技术分类

06120116481935