用于通信会话的序列事件的动态策展的制作方法

文档序号:26012958发布日期:2021-07-23 21:33阅读:68来源:国知局
用于通信会话的序列事件的动态策展的制作方法



背景技术:

一些计算系统提供协作环境,其促进两个或更多参与者之间的通信。提供协作环境的系统可以允许参与者在通信会话内交换实时视频、实时音频和其他形式的数据。协作环境可以采用任何合适的通信会话格式,包括但不限于私人聊天会话、多用户编辑会话、小组会议、广播等。

对通信会话中用户参与度的优化对于用户生产力和高效使用计算资源至关重要。当软件应用未优化用户参与度时,当协作环境涉及大量参与者时,生产损失和关于计算资源的效率低下可能加剧。

在促进用户参与度方面,一些现有系统存在许多缺点。例如,一些图形用户界面(ui)的布局并不总是以易于阅读或使用户满意的方式显示共享内容。一些系统经常显示视频流和图像而没有正确对齐或缩放内容,而一些系统并不总是在正确的时间显示正确的内容。这样的系统违反了一般原则,即内容的适当的时间和图形对齐对于优化用户参与度至关重要。另外,具有不理想的ui布局可能导致在应用操作期间的其他的用户交互效率低下。

一些现有系统提供了用于允许用户手动修改应用的用户交互模型的工具。例如,一些程序允许用户修改用户布局,还可以更改音频设置以适应特定用户需求。但是,这样的系统要求用户执行许多菜单驱动的任务来安排图形用户界面、选择内容、以及更改音频和视频设置。为选择与特定目的相关的内容,用户可能花费大量时间在可用项目中搜索。然后,此类系统要求用户手动生成所选图形项目的期望的布局。这可能导致大量且不必要的计算资源消耗。

允许手动编辑用户交互模型的现有系统还有其他缺点。最值得注意的是,尽管一些系统允许用户安排ui布局,但是执行此类任务的用户必须熟练识别对用户参与度产生积极或消极影响的布局。更重要的是,用户还需要适当的经验来进行对于刺激或激发用户的参与是必要的及时调整。指导实时事件的机会的错失或不正确会对参与者和促进协作环境时所使用的计算资源的整体生产力不利。



技术实现要素:

本文中公开的技术为通信会话提供了序列事件的动态策展(curation)。系统可以利用智能过滤技术来生成、修改、安排和选择旨在优化用户参与度的序列事件。该系统可以收集与通信会话相关联的上下文数据,该上下文数据可以是私人聊天会话、多用户编辑会话、小组会议、直播等的形式。该系统可以利用上下文数据以及定义用户活动的其他输入数据,以自定义定义上下文相关的用户界面(ui)布局、音量水平、相机角度、特殊效果以及控制通信会话的各方面的其他参数的序列事件。该系统可以将序列事件应用于时间线中的特定点,该时间线提供用于控制和显示通信会话的各方面的交互模型的可视化表示。

该系统可以在自动模式下操作,并且在没有用户输入的情况下将序列事件应用于时间线中的特定点。该系统还可以在手动模式下操作,并向用户显示推荐的序列事件,以提供对实时或正在进行的编辑机会的立即访问。系统可以基于多个因素来选择自动模式、手动模式或这些模式的组合,这些因素包括资源的可用性和对特定用户场景的检测。在处于自动模式下的同时,即使用户无法手动编辑通信会话的各方面,序列事件也可以改善通信会话的用户参与度。但是,在处于手动模式下的同时,系统可以显示上下文相关序列事件的建议,以帮助用户对通信会话的各方面进行及时且有效的修改。

在一些配置中,系统可以收集输入数据,包括但不限于共享内容、用户偏好、或指示用于促进事件的设备的可用性的硬件数据。系统可以基于收集的数据来生成自定义的序列事件。例如,考虑用户组织事件的示例场景。该系统可以识别设备的可用性,例如但不限于麦克风、相机、灯和扬声器。然后,系统可以生成序列事件,其定义了通信会话的参数,这些参数专门设计为利用可用的硬件。另外,系统可以自定义每个序列事件以根据用户的偏好显示共享内容。各个序列事件均可以定义独特的参数,例如用户界面布局、相机角度、音量水平和其他设备参数。可以在事件的时间线中安排多个序列事件。

该系统可以监视事件期间或事件回放期间的用户活动,并基于检测到的活动进一步完善每个序列事件的参数。例如,系统可以跟踪用户的语音输入或视线方向,并确定参与水平。响应于确定阈值参与水平,系统可以采取一个或多个动作,例如,改变序列事件的音量水平,改变共享内容的显示,改变应当在序列事件内使用哪个相机,等等。系统还可以在时间线内对序列事件进行重新排序,以提高用户在期望时间的参与度。

在一些配置中,系统可以对于协作环境参与者动态控制访问权限。权限可以控制对特定内容的访问、编辑能力以及对用于促进通信会话的设备的访问。系统可以基于多种因素动态地更改每个参与者的权限,包括检测特定的用户场景。例如,如果事件包括多个用户,每个用户都具有编辑协作环境的布局的特定权限,则可以基于参与者数量来严格执行或放宽这些权限。因此,在以广播为特征的事件(例如,具有一个演示者和数千名参加者的事件)中,可以向选择的用户严格执行限制参加者编辑布局的权限。但是,在以会议为特征的事件(例如,具有五个参加者的事件)中,可以放宽限制参加者编辑布局的权限。基于表征事件的属性的动态权限控制允许应用自动调整对数据和某些功能的安全访问,以适应特定的用户场景,促进计算资源的高效使用,并提高数据的安全性。

本文描述的示例提供有协作环境的上下文,例如,私人聊天会话、多用户编辑会话、小组会议、直播等。出于说明性目的,可以领会,管理协作环境的计算机涉及管理其中两个或更多计算机正在共享数据的通信会话的任何类型的计算机。出于说明性目的,“事件”是通信会话的特定实例,其可以具有开始时间、结束时间以及用于控制如何共享数据并将其显示给参与通信会话的用户的其他参数。

本文中公开的技术提供了许多改进现有计算机的功能。例如,由于系统可以在没有用户输入的情况下在不同的交互模型之间进行转换,因此可以更高效地利用诸如处理器周期、存储器、网络带宽和功率之类的计算资源。另外,本文公开的技术提高了系统的安全性,通过动态地改变对数据访问和编辑能力的权限,系统可以基于特定用户场景的存在来适应不同的需求。本文中公开的技术还改善了用户与各种类型的计算设备的交互。用户交互的改善可以引起用户输入的减少,这可以减轻无意的输入、冗余输入以及利用计算资源的其他类型的用户交互。本文中未具体提及的其他技术益处也可以通过所公开的主题的实施来实现。

本领域技术人员还将理解,可以在除了本文具体描述的计算机系统配置之外的其他计算机系统配置上或与其他计算机系统配置结合来实践本文描述的主题的各方面,其他计算机系统配置包括多处理器系统、基于微处理器或可编程的消费电子产品、增强现实或虚拟现实设备、视频游戏设备、掌上电脑、智能手机、智能电视、自动驾驶车辆、智能手表、电子阅读器、平板计算设备、专用硬件设备、联网家电等。

通过阅读以下详细描述并查看相关联的附图,除了上述明确描述的特征和技术益处之外,其他特征和技术益处将是显而易见的。提供本发明内容以简化形式介绍一些概念,这些概念将在下面的详细描述中进一步描述。该发明内容不旨在标识所要求保护的主题的关键或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。

附图说明

参照附图描述了具体实施方式。在附图中,附图标记的最左边的数字标识该附图标记首次出现的附图。不同附图中的相同附图标记指示相似或相同的项目。

图1示出了示例场景,该场景涉及用于基于协作环境的上下文数据生成用于时间线的序列事件的系统。

图2是示出示例场景的框图,其中特定类型的上下文数据可以用于生成时间线的序列事件。

图3是示出了示例场景的框图,其中可以基于对共享内容的分析来修改时间线。

图4示出了可以基于共享内容的分析进行修改并且在共享内容的分析上分层布置的附加参数的示例。

图5a示出了系统在演示期间检测阈值参与水平的场景。

图5b示出了可以显示给用户的建议的示例,该建议用于在系统以自动模式操作时提供对实时或进行中的编辑机会的立即访问。

图5c示出了响应于检测到预定条件的存在而可以对时间线进行的自动调整的另一示例。

图5d示出了当系统以手动模式操作时可以显示的建议的另一示例。

图6a示出了时间线的示例,该时间线定义了针对不同类别的用户的权限。

图6b示出了系统监视受众和演示者的活动并根据该活动设置许可的场景。

图7a示出了系统基于确定参与者数量在第一范围内来设置严格许可的场景。

图7b示出了系统基于确定参与者数量在第二范围内来设置适度许可的场景。

图7c示出了系统基于确定参与者数量在第三范围内来设置宽松许可的场景。

图8a示出了系统基于确定参与者数量在第一范围内而以手动模式操作的场景。

图8b示出了系统基于确定参与者数量在第二范围内而以半自动模式操作的场景。

图8c示出了系统基于确定参与者数量在第三范围内而以自动模式操作的场景。

图9a示出了对序列事件的修改,该修改基于监视的活动而被自动应用于时间线。

图9b示出了对序列事件的修改,该修改基于监视的活动而被手动应用于时间线。

图10是示出用于实现本文公开的技术的示例例程的各方面的流程图。

图11是示出用于本文公开的技术的说明性操作环境的各方面的计算系统图示。

图12是示出可以实现本文公开的技术的各方面的计算设备的配置和操作的各方面的计算架构图示。

具体实施方式

图1示出了示例场景,该场景涉及用于为通信会话提供序列事件101的动态策展的系统100。系统100可以应用智能过滤技术来生成、修改、布置和选择时间线103的序列事件101。每个序列事件的配置以及多个序列事件在时间线内的布置可以被设计为优化用户参与度。系统100可以使用时间线103来调整事件如何呈现给通信会话的参与者并由其控制。

随着系统100在时间线103上前进,序列事件101使系统100穿过通信会话的不同用户交互模型。每个用户交互模型可以定义独特地量身定制的用户界面(ui)布局、音量水平、相机角度、特殊效果或与输入设备、显示设备或其他相关联的设备相关联的任何其他参数。每个用户交互模型可以包括用于控制一个或多个硬件设备的参数102的单个或多个序列事件。例如,时间线103的第一序列事件101a定义用于控制内容的显示的参数、用于控制相机的参数以及用于控制麦克风的参数。第二序列事件101b定义用于控制内容的显示的参数和用于控制麦克风的参数。第三序列事件101c定义用于控制内容的显示的参数、用于控制相机的参数以及用于控制麦克风的参数。第四序列事件101d定义用于控制内容显示的参数和用于控制麦克风的参数。序列事件可以使系统100控制显示器109、音频设置以及在事件的显示期间或在记录的事件的回放期间使用的其他设备。

系统可以接收上下文数据,包括但不限于模板数据104、内容数据105、偏好数据106和硬件数据107。上下文数据的各种组合可以用于生成序列事件101,选择序列事件101,并确定用于时间线103的序列事件101的顺序。各个序列事件可以定义一个或多个参数102以用于控制设备,例如麦克风110、相机111、灯112、控制器113和与协作环境相关联的其他设备。各个序列事件也可以定义ui布局和内容显示。每个序列事件还可以定义要使用参数的时间段。

模板数据104定义预定的时间线模板。例如,时间线模板可以包括多个部分,例如介绍部分160a、演示部分160b和结论部分160c。在另一个示例中,时间线模板可以包括其他部分,包括开场白部分和问答(q&a)部分(图1中未示出)。在一些实施例中,时间线模板可用作用于生成自定义时间线的基准。可以基于特定内容的存在和特定用户场景的存在来选择时间线模板,例如参加者的数量、参加者头衔等。例如,基于对幻灯片版面(slidedeck)的提纲(outline)的分析,可以选择具有介绍、演示和结论的模板时间线。在另一示例中,当会议邀请指示一个演示者和大量受众成员的存在时,可以选择具有演示部分和问答部分的模板。

内容数据105(本文中也称为“用户内容105”)可以包括任何图像、文档、视频数据、音频数据或任何其他可用作演示材料的信息。内容105还可以包括其他形式的数据,例如会议请求,其可以标识多个参加者、与每个参加者相关联的头衔以及其他相关信息。内容105还可以指示事件的参数,例如开始时间、结束时间和位置。例如,内容105可以包括会议请求,该会议请求指示参加者的列表、每个参加者的角色、日期、时间和位置。

偏好数据106可以包括传达对于与协作环境相关的参数或设置的偏好的任何信息。例如,偏好数据106可以定义特定用户已经利用的用户界面配置、音量水平、相机角度或其他参数。偏好数据106还可以包括历史信息。例如,偏好数据106可以包括会议列表、每个会议的参加者以及在每个会议中使用的ui布局。这样的数据使系统100能够确定最适合特定列表的参加者的时间线模板。偏好数据106可以从机器学习模块生成,该机器学习模块被配置为分析用户的先前事件。因此,偏好数据106可以定义各种参数(例如,相机角度、照明和ui布局)如何随时间变化的定时。

硬件数据107描述了系统100可用的硬件的各方面。例如,硬件数据107可以描述系统可以使用的各种输入设备、传感器、灯、麦克风、声音衰减设备和其他硬件的各方面。硬件数据107还可以描述显示屏的规格或与系统100通信的计算机的规格。

硬件数据107还可以描述可用硬件的规格,例如但不限于灵敏度水平、缩放水平等。硬件数据107还可以描述每个设备的位置和每个设备的范围。例如,硬件数据107可以描述特定相机的位置、定位和查看区域,例如,相机可以捕获特定讲台处、舞台上的演讲者等。在另一个示例中,硬件数据107可以识别房间麦克风的位置以及定义麦克风范围的坐标。

硬件数据107还可以提供事件论坛120的规范。例如,硬件数据107可以定义房间的测量结果和房间的声学特性。硬件数据107还可以定义论坛(房间)120的其他参数,例如但不限于演讲者讲台的数量、受众容量限制等。可以通过包括控制器113的任何适当的计算设备来存储和管理硬件数据107。

在图1的说明性示例中,考虑一种场景,其中内容数据105包括抄本,该抄本包括具有介绍、演示和结论的演讲。内容数据105还包括会议请求,该会议请求邀请十(10)位参加者和一位演示者参加指定在给定开始时间发生的事件。会议请求还标识了事件的位置,例如房间120。

在该示例中,硬件数据107指示两个麦克风110(110a-110b)、三个相机111(11aa-111c)和两个灯112(112a-112b)的可用性。系统100可以过滤设备列表以指定与会议请求中指示的位置相关联的设备。硬件数据107还指示第一相机111a指向具有第一麦克风110a的第一讲台,并且第二相机111b指向具有第二麦克风110b的第二讲台。

系统100从模板数据104中选择与内容数据105的提纲匹配的模板时间线。这可以通过分析内容数据105以产生候选提纲来完成。可以选择与阈值水平内的模板匹配的候选提纲。如图所示,时间线103包括介绍部分160a、演示部分160b和结论部分160c。

通过使用硬件数据107,系统100可以选择最适合呈现事件的内容和其他方面的特定设备。在一些实施例中,系统100可以分析内容并确定演讲者的数量,并根据演讲者的数量选择特定的相机和麦克风。在该示例中,内容数据105指示单个演讲者,并且系统100生成一系列序列事件101,这些序列事件被配置为利用针对单个演示者的相机和与该相机的视角中的位置相对应的麦克风。在该示例中,每个序列事件101被配置为利用第一麦克风(“麦克风1”)和第一相机(“相机1”)。

另外,系统可以分析上下文数据以对设备进行调整。例如,系统100可以分析演讲文本并识别相关性的阈值水平。当指示相关性的阈值水平时,可以调整诸如缩放水平或麦克风灵敏度水平之类的参数102内的拐折(inflection),以将焦点集中在演讲者或内容上。

提供该示例是出于说明性目的,并且该示例不应被解释为限制性的。可以领会,房间可以包括多个其他设备,并且时间线可以利用适合于上下文数据所指示的场景的其他设备。例如,房间120可以包括受众麦克风。如果时间线包括问答部分,则可以将与该部分相关联的序列事件101配置为利用和控制受众麦克风。

图2示出了示例,其中可以通过使用模板数据104、内容数据105、偏好数据106和硬件数据107来配置时间线103。在该示例中,通过使用来自特定用户(例如,公司的ceo)的偏好、特定位置的硬件和由用户共享的内容来自定义时间线模板104。

系统100可以分析偏好数据106以确定由特定人利用的偏好序列事件。在此示例中,偏好数据指示ceo进行了多次演示,并且每个演示都包括序列事件的不同组合。例如,偏好数据指示包括从2017年1月至6月的演示文稿在内的多个演示文稿都是以从指向演示者的相机的视频流开始的。响应于该模式的识别,系统100可以配置时间线103以激活相机(c1)以开始演示。在该示例中,模板序列事件208可以被修改或替换为定义特定参数以激活相机和麦克风的序列事件。例如,基于相机和麦克风的可用性,标记为“相机1”和“麦克风1”的序列事件可以在第一时间段(t1)期间引起这些设备的激活。可以以类似的方式修改其他时间段期间的其他模板序列事件。

同样在此示例中,偏好数据指示一系列序列事件在视频流(v)的显示和共享内容(c)的显示之间交替。基于该模式,系统100可以为时间线103生成多个序列事件,该序列事件在第二时间段(t2)期间在第一摄像机(v1)的显示与内容(c1)的显示之间交替。系统100还可以分析内容数据中的偏好数据以生成标记为“麦克风1”的序列事件,该序列事件引起与第一摄像机相关联的麦克风的激活。

在偏好数据中也示出了ceo先前进行的演示包括在两个时机的问答期间的内容显示,以及在三个时机的视频流的显示。基于该模式,并且基于指示三个相机和两个麦克风的可用性的硬件数据107,系统100可以修改时间线103以向时间线添加新的片段160d,例如问答部分。另外,系统可以生成序列事件,该序列事件可以引起激活可用的摄像机和可用的麦克风。

偏好数据106还指示特定用户(ceo)的偏好麦克风水平。基于这样的上下文数据,可以将每个麦克风的参数102调整到偏好水平。此外,可以通过分析内容数据和偏好数据来确定硬件的音量水平、缩放水平和其他可调参数。

系统100还可以动态地调整控制设备的一个或多个参数,例如相机的缩放水平、灯的强度水平、麦克风的灵敏度水平等。这样的调整可以基于用户的偏好、用户活动、模板数据和/或对内容数据105的分析。例如,系统100可以分析演示文稿的文本并针对具有阈值优先级水平的演示文稿的特定部分(例如,突出内容)增加缩放水平或麦克风灵敏度。例如,系统100可以分析演示文稿的文本并基于预定关键字或短语的存在来识别突出内容。系统100可以响应于对突出内容的检测来对用于控制设备的一个或多个参数进行调整。对参数的一个或多个调整可以将焦点集中在突出内容的演示的一方面。在本示例中,响应于识别介绍内的突出内容而调整针对指向演示者的第一相机的缩放水平“c1缩放(c1zoom)”。另外,在同一时间段期间提高第一麦克风的灵敏度水平“m1”。

在一些配置中,系统100可以分析内容并且基于满足一个或多个标准的内容来动态地改变时间线的各方面。例如,当内容指示特定的用户场景时,系统100可以基于对共享内容的分析来修改序列事件,添加新的序列事件,或重新排列已建立的序列事件的顺序。在一些配置中,序列事件的顺序可以基于放置参数。例如,放置参数可以指示第一序列事件位于第二序列事件的前面。在另一个示例中,放置参数可以指示序列事件开始和结束的特定时间。

出于说明性目的,考虑用户修改上述示例的演示的场景。除了ceo的演示外,该修改还包括cfo进行的第二演示。在此示例中,演示文稿还标识了cfo。使用新演示者的身份,系统100取回cfo的偏好。

响应于识别新的演示者并取回演示者的偏好,可以将新的演示部分添加到时间线103。参考图3的示例,第二演示部分“演示2”160c被添加到时间线103。另外,可以将对应的序列事件添加到时间线。在此示例中,cfo偏好指示cfo期望对演讲者的连续的视频显示。响应于识别第二演示者并且响应于第二演示者的偏好,系统生成序列事件“v2”,以用于引起第二相机的视频流的显示。另外,系统生成对应的序列事件“麦克风2(microphone2)”,以用于引起第二麦克风的排他激活。

图4示出了可以基于对共享内容的分析来修改的附加参数的示例。在该示例中,考虑系统100分析两个演示文稿的抄本的场景。当系统100识别出具有阈值优先级水平的一部分内容时,系统可以调整多个参数以将焦点集中到该部分内容上。可以使用包括机器学习技术的技术来分析特定部分的内容的优先级水平,以理解与特定受众相关的关键字和短语。系统可以为内容的任何部分生成优先级水平,并将确定的优先级水平与阈值进行比较。响应于检测到阈值优先级水平,系统采取一个或多个措施来修改或创建被配置为改善用户参与度的序列事件。

在此示例中,系统确定具有阈值优先级水平的一部分内容在时间x处开始并且在时间y结束。响应于确定内容的至少一个部分具有阈值优先级水平,可以调整一个或多个参数。例如,可以调整相机缩放“c2缩放(c2zoom)”和一个或多个照明水平“l1水平(l1level)”和“l2水平(l2level)”。在一些实施例中,内容数据105和时间线103可以被显示在用户界面400上。用户界面400可以显示图形元素401以识别具有阈值优先级水平的一部分内容。对用于控制设备的参数的调整还可以包括调整计算机上的用户界面布局。对参数的调整可以用于更新时间线103。

如上所述,自动模式下的系统可以基于用户活动来调整序列事件或更改序列事件的顺序。在一些实施例中,系统100可以检测相对于用户的参与水平。例如,系统可以跟踪用户的视线方向,并基于运动模式或特定姿态(例如,用户闭上其眼睛)来确定参与水平。在另一个示例中,系统可以确定受众成员何时进行特定活动,例如做笔记。可以通过使用指向用户的摄像机或通过使用输入传感器(例如,带有输入表面的记事本)监视受众的活动,来捕获此类动作。

当用户正在做笔记或当检测到预定的运动模式时,可以确定阈值参与水平。当用户停止记笔记、开始记笔记,当用户开始以预定模式运动时,或用户停止以预定模式运动时,可以识别阈值参与水平。当用户执行特定姿态或停止执行特定姿态时,可以识别阈值参与水平。当用户的视线不集中在特定目标上时,或者在预定的时间段内用户的视线集中在特定目标上时,可以识别阈值参与水平。此类活动可以应用于用户类别。例如,当受众集体地执行特定姿态时,可以识别阈值参与水平,但是当具有不同角色或头衔的其他个人个别地执行该特定姿态时,则未识别阈值参与水平。

响应于识别阈值参与水平,系统可以采取一个或多个动作,例如,改变设备的音量水平,改变共享内容的显示,改变在序列事件内应当使用哪个相机,等等。系统还可以对时间线内的序列事件进行重新排序,以提高用户在期望时间的参与度。

在图5a所示的示例中,考虑以下情况:其中,系统在第二演示(演示2)期间检测到阈值参与水平。例如,系统检测到阈值数量的参与者开始做笔记。在此示例中,偏好数据还指示期望在会议中更早而不是更晚具有阈值参与水平。响应于这种场景,系统可以重新排列演示的顺序,以使具有阈值参与水平的部分出现于会议的较早部分。在此示例中,由于第二演示(即演示2)中的参与度高于第一演示(即演示1)中的参与度,因此系统可以将第二演示移到第一演示之前。系统可以生成更新的时间线103来指示此更改。更新的时间线103可以用作将来会议的模板,或用于回放已记录的会议。

如上所述,代替对时间线103进行自动调整,系统100可以在手动模式下操作并生成用于对序列事件进行调整的建议。图5b示出了建议501的一个示例,该建议可以被显示给用户以提供对实时或进行中的编辑机会的立即访问。在该示例中,响应于检测到预定条件的存在,例如阈值参与水平和/或阈值优先级水平,系统可以显示图形元素、注释,或生成建议关于序列事件的变化的任何形式的输出。建议可以采用图形元素、计算机生成的语音或任何可视化指示符的形式。如图5b所示,响应于建议501,用户可以手动调整序列事件或批准建议,以产生更新的时间线103'。

图5c示出了响应于检测到预定条件的存在而可以对时间线103进行的自动调整的另一示例。在该示例中,系统在问答部分160e期间检测到阈值水平的用户参与度。如果偏好数据指示相对于维持高的用户参与度水平的优先级,则当检测到阈值水平的用户参与度时,系统可以修改或重新排列序列事件以维持阈值水平的用户参与度。在该示例中,响应于检测到阈值参与水平,系统扩展了问答部分160e的长度并产生了更新的时间线103'。

图5d示出了以图形元素的形式的建议501的另一示例,当系统正在以手动模式操作时,该建议可以被显示。该示例示出了建议501,其建议问答部分160e的扩展。如图5d所示,响应于建议501,用户可以手动调整序列事件或批准对序列事件的调整以产生更新的时间线103'。可以意识到,对时间线103进行的调整还可以意味着对与通信会话的用户共享的实时馈送进行更改。

如上所述,系统可以动态控制协作环境参与者的权限。权限可以控制对特定内容的访问、编辑能力以及对一个或多个硬件设备的访问。系统可以基于多种因素(包括特定用户场景的存在)来动态地更改每个参与者的权限。例如,如果事件包括多个用户,每个用户都具有编辑协作环境的布局的特定权限,则可以基于参与者数量严格执行或放宽这些权限。因此,在以广播为特征的事件(例如,具有一个演示者和数千名参加者的事件)中,可以严格执行限制受众成员编辑布局的权限。但是,在以会议为特征的事件(例如,具有五个参加者的事件)中,可以放宽限制参加者编辑布局的权限。基于表征事件的属性对权限进行该动态控制允许应用自动调整对数据和某些功能的安全访问,以适应特定的用户场景。对权限的这种动态控制还可以提高系统、系统设备和内容数据的整体安全性。

图6a示出了时间线的示例,该时间线定义了针对不同类别的用户的权限。在此示例中,时间线103定义了三个类别的用户:演示者、组织者和受众成员。在此示例中,关于共享内容,演示者具有只读权限,组织者具有读写权限,而受众成员具有只读权限。关于音频数据,演示者具有使用指定的输入设备(麦克风1和麦克风2)提供输入的能力。关于时间线103的编辑权限,演示者和组织者具有读写权限,而受众成员则无权编辑或查看关于时间线103的特征。

可以意识到,权限可以随着时间改变。例如,当涉及共享内容时,受众成员具有只读权限,直到演示文稿的结论。在结论中和问答部分期间,受众成员具有在内容中添加注释的能力。另外,在问答部分期间,允许受众成员在问答部分期间提供音频输入。

系统还可以响应对一个或多个条件的识别来修改权限。例如,系统可以监视受众内的对话。该系统还可以确定受众的成员何时具有预定的表达,例如,询问与主题相关的特定问题、表达关注等。响应于识别预定表达的存在,该系统可以修改序列事件。

例如,关于图6b,考虑系统100监视受众和演示者的活动的场景。如果确定演示者已经超前于进度表地完成演讲,并且受众在演示部分160c期间开始提问,则系统可以修改权限以允许受众在演示部分160c期间访问房间麦克风。

在另一个示例中,如果演示者指示需要修改共享内容,则系统可以向演示者授予读取和写入权限。这样的修改也可以响应于直接用户输入。例如,如果组织者具有对时间线的读写权限,则组织者可以提供手动输入以更改音频权限以向组织者打开麦克风。提供这些示例是出于说明性目的,而不应被解释为限制性的。因此,可以意识到的是,可以响应于检测到特定用户场景,来执行对任何序列事件的任何类型的修改。

在一些情况下,系统100可以基于特定用户场景的存在来动态地控制各个用户或与用户相关联的各个角色的权限。在一个说明性示例中,各个用户的权限或用户组的权限可以基于策展分数。策展分数可以基于多种因素,包括事件中的参与者数量、受邀者的数量、已接受邀请的受邀者的数量、已拒绝邀请的受邀者的数量、演示者的数量、受众成员的数量、共享内容的类型、与共享内容相关联的安全性级别、与参与者相关联的头衔或角色等。

图7a-7c示出了示例场景,该示例场景示出了可以如何使用策展分数来修改各个用户和用户组的权限。在此示例中,策展分数基于事件参与者数量。一般而言,策展分数可以在预定范围内,例如1至10。分配给各个用户和用户组的权限可以基于策展分数。接近范围一端的策展分数可以具有宽松的策略,而接近范围的相对端的策展分数可以具有更严格的策略。范围中间的策展分数可以使用宽松策略和严格策略的组合,以针对特定用户和特定用户组提供更细粒度的数据控制。

在图7a所示的示例中,会议请求指示参与者数量为五十(50)。出于说明性目的,该参与者数量使系统生成策展分数十(10)。基于该分数,系统可以配置时间线以为个人和个人的组定义严格的策略。如图所示,具有管理员和中级管理员角色的个人对内容数据具有只读访问权限,并且只能接收视频和音频数据。在一个说明性实施方式中,超过阈值的策展分数可以引起这样的权限的生成:该权限允许针对内容数据、视频数据和音频数据的编辑的只读权限或完全限制。

图7b中所示的示例示出了另一个场景,其中会议请求指示参与者人数为二十(20)。出于说明目的,此参与者数量使系统生成策展分数五(5)。基于此分数,系统可以配置时间线以定义权限,这些权限利用了严格策略和宽松策略的组合。如图所示,基于该分数,具有中级管理者角色的个人可以对内容具有读写访问权限,并且具有接收和发送视频和音频数据的权限。具有管理员角色的个人仍具有对内容数据的只读访问权限,并且只能接收视频和音频数据。

图7c中所示的示例示出了另一个场景,其中会议请求指示参与者的人数为五(5)。出于说明性目的,该参与者数量使系统生成策展分数一(1)。基于该分数,系统可以配置时间线以定义利用宽松策略的权限。如图所示,基于该分数,具有中级管理者和管理者角色的个人可以对内容具有读写访问权限,并且具有接收和发送视频和音频数据的权限。

尽管图7a-7c中的这些示例示出了基于策展分数的权限内的改变,但是可以意识到的是,可以以其他方式来修改权限。例如,系统可以基于策展分数来生成定义某些限制的例外的数据。例如,在图7b中所示的示例中,不是改变中级管理者的权限,系统可以维持相同的权限,而是当策展分数满足一个或多个标准时,允许那些权限所建立的任何限制的例外。

对于本文公开的任何实施例,尽管这些示例涉及基于事件中的参与者数量来生成策展分数,但是可以意识到的是,其他因素也可以影响策展分数。例如,演示者示例可以使策展分数增加或降低,受众成员数量可以使策展分数增加或降低,共享内容的类型可以使策展分数增加或降低,并且与共享内容相关的安全性级别可能会导致策展分数增加或降低。在其他示例中,策展分数可以基于已接受邀请的受邀者数量或已拒绝邀请的受邀者数量中的至少一个来增加或降低。在其他示例中,策展分数可以基于个人的角色或排名而增加或降低。

这些因素中的任何一个都可以个别地评分,并基于其他上下文信息加权。各个分数和/或加权分数可以被处理以确定策展分数。例如,受邀者的数量可以用于生成第一分数,并且第一分数可以与第一加权因子相乘以生成第一加权分数。该系统还可以使用个人的排名来生成第二分数,并且可以将第二分数与第二加权因子相乘以生成第二加权分数。然后可以将加权分数和/或未加权分数相乘、求和或以其他方式组合以产生策展分数。提供该示例是出于说明性目的,并且不应被解释为限制性的。可以意识到,因素的任何组合和任何权重分布模型都可以用来生成策展分数。

如上所述,系统可以在自动模式下进行操作,并且在没有用户输入的情况下将序列事件应用于时间线中的特定点。该系统还可以在手动模式下进行操作,并向用户显示推荐的序列事件,以提供对实时或正在进行的编辑机会的即时动态访问。系统可以基于多种因素来选择自动模式、手动模式或这些模式的组合,这些因素包括资源的可用性和特定用户场景的存在。在一个说明性示例中,系统可以基于参加者的数量、演示者的数量、受众成员的数量和/或指示一个或多个参加者的头衔或等级的值,来选择自动模式、手动模式或这些模式的组合。在一个说明性示例中,系统可以基于策展分数来选择自动模式、手动模式或这些模式的组合。

图8a-8c示出了示例场景,该示例场景示出了如何使用策展分数来选择可以应用于某些用户或某些类型的用户的操作模式。在一些实施例中,策展分数可以在预定范围内,例如1到10。系统的操作模式可以基于策展分数。范围的一端附近的策展分数可以使系统以手动模式操作,而范围的相对端附近的策展分数可以使系统以自动模式运行。范围中间的策展分数可以使用模式的组合,本文中也称为半自动模式或半手动模式。例如,在半自动模式下的同时,某些类别的序列事件或某些动作可以自动插入到时间线中,而其他类别的序列事件需要将用户输入插入到时间线中。由于策展分数的降低,可以将更多类别的序列事件或更多类型的对序列事件的调整自动插入到时间线中。

在图8a所示的示例中,会议请求指示参与者数量为五百(500)。出于说明目的,此参与者数量使系统生成策展分数十(10)。基于该分数,系统可以在手动模式下进行操作,在手动模式下,要求用户与用户界面800交互以接受建议的序列事件并将其发送到时间线。

在图8a所示的示例中,用户界面800包括几个显示区域,其示出原始馈送801、建议的修改的预览802和实时通信馈送803。用户界面800还包括用于显示操作模式并允许用户输入以控制操作模式的输入控制元素810。用户界面800还包括菜单选项811,其示出了多个建议的布局。用户界面800还包括控制机制812,以用于允许用户将建议的修改手动发送到时间线103和/或实时通信馈送803。用户界面800还可以包括时间线光标850,其示出实时事件的当前时间点或回放记录的事件的当前时间点。

参考以手动模式操作的系统的上述示例,当系统生成用于修改时间线的建议时,例如,系统生成定义那些修改的序列事件。用户界面800在预览显示区域802中显示建议的修改。该布置允许用户将建议的修改与实际原始馈送801进行比较,该实际原始馈送801示出了从远程计算机接收到的视频数据和内容而没有任何修改。在此示例中,原始馈送801示出了该事件的两个参与者的视频数据。如图所示,每个用户的视频数据包含不同比例的图像和未对齐的图像。该系统可以检测到这种差异并校正用户的对齐,并且还校正至少一个视频流的比例,以使系统能够对齐每个渲染的尺寸和朝向。

该系统还可以检测关于每个用户的上下文。例如,系统可以检测到用户1将显示在屏幕的左半边,而用户2将显示在屏幕的右半边。系统还可以检测到用户1的原始馈送示出用户1正在看向屏幕左侧。响应于检测到这样的场景,系统可以进行调整以校正用户的朝向以给出他们正在看着彼此的外观。在图8a的所示示例中,用户1的图像被镜像以给出在对话期间用户1正在看着用户2的外观。除了对齐和比例调整之外,这种特殊效果还被显示在预览区域802中。基于系统的操作模式,系统将通过将建议的修改发送到实时馈送803和/或将定义那些修改的序列事件发送到时间线103,来响应用户输入,用户输入可以包括语音命令、姿态和/或对控制机制812的选择。

可以意识到,查看系统所产生的建议的用户可以具有更新时间线103和/或实时通信馈送的权限。在一些系统中,当系统在自动模式和手动模式之间转换时,系统可以为特定用户自动调整权限。当系统处于自动模式时,系统可能会限制时间线编辑。当系统过渡到半自动模式或手动模式时,可以向特定用户或一组用户授予权限,以编辑时间线103和/或对实时通信馈送进行修改。

图8b中所示的示例示出了另一个场景,其中会议请求指示事件参与者数量为二十(20)。出于说明性目的,此参与者数量使系统生成策展分数五(5)。基于此分数,系统可以在半自动模式下进行操作,在该模式下,可以将特定类别的建议修改自动发送到实时通信馈送和/或时间线,而其他类别的建议修改可能需要用户输入以发送对实时通信馈送和/或时间线的修改。

系统可以选择要自动发送到通信馈送803和/或时间线103的预定类别的修改。例如,当系统生成修改预定类别的修改(例如,对视频特殊效果的更改)的建议时,这样的修改可以自动发送到通信馈送803、序列事件和/或时间线103。但是,如果系统生成修改另一个预定类别的修改(例如,音频设置)的建议,则此类修改可能需要用户输入以批准建议的修改,例如,系统可以不自动将此类修改发送给通信馈送803、序列事件和/或时间线103。

在一个说明性示例中,当处于半自动模式下时,建议可以在预览区域802中出现预定的时间段。在预定时间段之后,可以将建议的修改发送到实时通信馈送803和/或时间线103。由于策展分数的降低,可以缩短预定时间段。

图8c中所示的示例示出了另一个场景,其中会议请求指示参与者的人数为三(3)。出于说明性目的,该参与者数量使系统生成策展分数一(1)。基于此分数,系统可以在自动模式下进行操作,在此模式下,建议的修改自动发送到实时通信馈送和/或时间线。当以这种模式进行操作时,用户界面800还可以修改一个或多个图形元素以指示系统正在以自动模式操作。在图8c所示的示例中,控制机制812被加阴影以指示控制机制812被停用,这是系统正在自动模式下操作的另一个指示符。

同样在图8a-8c中示出,输入控制元素810还指示选择的操作模式。用户可以与输入控制元素810交互以改变系统的操作模式。例如,基于控制元素810处的用户输入,系统可以响应于用户与控制元素810的交互而从手动模式转换为自动模式,从自动模式转换为手动模式,或者转换为半自动模式。尽管该示例将控制元素810示为滑动条,但是可以意识到,控制元素810可以采用包括指示操作模式的计算机生成的语音在内的任何形式,并且输入可以是语音命令。

如上所述,系统可以以不同的模式操作以适应不同的用户场景。在处于自动模式下的同时,即使用户无法指导协作环境的参数,序列事件也可以提高用户的参与度。这样的配置对于小型会议是有益的,在小型会议中没有特定的人指导内容。但是,在处于手动模式下的同时,系统可以显示上下文相关序列事件的建议,以帮助用户对协作环境进行及时且高效的修改。这样的配置对于大型广播和/或会议是有益的,在大型广播和/或会议中,更有可能有人指导内容。

本文图8a-8c中公开的技术可以涉及对序列事件的任何类型的修改,例如,对时间线或实时通信馈送的修改。如上所述,原始视频馈送可被缩放、镜像、对齐或以其他方式处理以提高任何显示内容的可视性。此外,可以应用特殊效果(例如,调暗、阴影或锐化)以改善任何显示内容的可视性。另外,可以分析与事件相关联的上下文数据,以确定可以对序列事件进行的一个或多个修改。图9a和图9b示出了可以基于对事件的上下文数据的分析对序列事件进行的修改的附加示例。

在图9a的示例中,考虑系统100分析会议中的参与者的音频流的场景。可以将系统配置为识别关键字、特定语言和对特定对象的引用。在该示例中,系统被配置为识别特定语言。因此,如果会议大致以第一语言(例如,英语)进行,并且参与者之一开始以第二语言发言,则系统可以检测到该活动并自动推荐将演讲翻译成第二语言的显示。如图9a所示,预览显示区域802包括建议翻译的图形元素901。基于操作模式,系统100可以在实时馈送803内自动显示翻译,或者可以响应于用户输入(例如,在控制机制812处接收到的用户输入)来显示翻译。图9a的示例还示出了修改可以一次完成。在此示例中,用户1的图像还被缩放、重新定位和镜像,从而以可以增强用户参与度的格式呈现用户1的渲染。

在另一个说明性实施例中,当系统从麦克风检测到低音量时,系统可以自动显示隐藏式字幕文本。类似地,基于硬件数据,如果系统在受众成员的客户端设备处检测到演示的音量低于阈值,则系统可以自动向一个或多个受众成员显示隐藏式字幕文本。

在图9b的示例中,系统分析会议中参与者的音频流。该系统被配置为识别短语和对特定内容的引用。在此示例中,参与者之一引用了文件中的特定幻灯片。响应于对该内容的识别,系统取回该内容并在预览显示区域802中将所识别的幻灯片与参与者的视频馈送一起显示。响应于用户输入,例如控制机制812的激活,系统修改实时通信馈送803。此外,系统修改时间线103的序列事件101。具体地说,序列事件101(其定义具有两个视频流(v1和v2)的显示的ui布局)被用于生成更新的时间线103'的修改后的序列事件101',其中修改后的序列事件101'定义用户界面布局,该用户界面布局具有两个视频流(v1和v2)的显示以及所识别的内容(c1)的显示。

提供这些示例是出于说明性目的,而不应被解释为限制性的。可以意识到,可以将其他效果和修改应用于视频数据和内容,以增强用户参与度。例如,响应于一个或多个用户动作或检测到的条件,可以显示和/或修改其他类型的数据。

图10是示出例程1000的各方面的图,例程1000用于对本文公开的技术的计算上高效的管理。本领域普通技术人员应该理解,本文公开的方法的操作不一定以任何特定顺序呈现,并且以替代顺序进行一些或所有操作的执行是可能的并且是可预期的。为了便于描述和说明,已按演示顺序呈现了操作。在不脱离所附权利要求的范围的情况下,可以添加操作、省略操作、一起执行操作、和/或同时执行操作。

还应该理解,所示方法可以在任何时间结束,并且不需要整体执行。如本文所定义的,可以通过执行计算机存储介质上包括的计算机可读指令来执行方法的一些或全部操作和/或实质上等同的操作。如在说明书和权利要求书中使用的术语“计算机可读指令”及其变体在本文中被广泛地用于包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等。可以在各种系统配置上实现计算机可读指令,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持式计算设备、基于微处理器的可编程消费电子产品、其组合等。尽管下面描述的示例例程在计算设备上操作,但是可以意识到,该例程可以在任何计算系统(其可以包括多个协同工作以执行本文公开的操作的计算机)上执行。

因此,应当意识到,在本文中描述的逻辑操作被实现为(1)作为在诸如本文所描述的计算系统之类的计算系统上运行的计算机实现的动作或程序模块的序列,和/或(2)被实现为互连的机器逻辑电路或计算系统内的电路模块。实施方式取决于计算系统的性能和其他要求的选择的问题。因此,逻辑操作可以以软件、固件、专用数字逻辑及其任何组合来实现。

另外,可以与上述示例演示用户界面(ui)相关联地实现图10和其他附图中所示的操作。例如,本文所描述的各种设备和/或模块可以生成、发送、接收和/或显示与通信会话的内容(例如,实时内容、广播事件、记录的内容等)相关联的数据和/或演示ui,该演示ui包括远程计算设备、化身(avatar)、频道、聊天会话、视频流、图像、虚拟对象和/或与通信会话相关联的应用的一个或多个参与者的渲染。

例程1000在操作1002处开始,其中计算设备接收标识可用设备的硬件数据。如本文所描述的,硬件数据可以包括对可用于特定通信会话的设备的任何描述。例如,可以在硬件数据中描述相机、麦克风、扬声器、灯或计算系统可用来促进通信会话的任何类型的传感器。硬件数据还可以包括每个设备能力的描述。该能力可以被计算机用来建立对参数的限制。例如,麦克风可以具有一定范围的灵敏度以及为序列事件选择的参数,这些参数可以由该范围的灵敏度来控制。

然后,例程1000进行到操作1004,在操作1004处,计算设备接收内容数据。内容数据可以是任何格式的,例如但不限于幻灯片版面、文字处理文档或任何其他数据,包括视频、图像或音频数据。在一些配置中,内容数据可以包括多个部分。可以通过任何类型的指示符来定义这些部分,例如,可以通过分页符、格式更改、内容类型等来定义这些部分。

在操作1006处,计算设备分析内容数据以确定各个部分的优先级水平。例如,可以对包括演讲的文档进行分析以确定各个部分的优先级水平,例如介绍部分、演示部分或结论部分。还可以为各个段落、句子、短语或单词确定优先级水平。如本文所描述的,当一部分的优先级水平达到阈值水平时,优先级水平允许计算设备采取一个或多个动作来修改或生成序列事件。

接下来,在操作1008处,计算设备可以获得定义用户参与度水平的活动数据。在一些实施例中,活动数据可以由计算设备生成。例如,计算设备可以跟踪用户的视线方向,并基于运动模式(例如,用户闭上眼睛之类的特定姿态)确定参与水平。在一个示例中,计算设备可以确定受众成员何时记笔记。可以通过使用指向用户的摄像机或通过使用监视一个或多个用户的活动的输入传感器来捕获此类动作。

在一些实施例中,活动数据可以由计算设备从分析视频数据和/或音频数据以确定用户何时执行特定姿态的远程计算设备接收。远程计算设备可以检测到阈值水平的用户参与度,并将其传送给管理通信会话的计算设备。

接下来,在操作1010处,计算设备可以生成或修改序列事件。序列事件可以被配置为适应可用于通信会话的特定硬件设备。单个序列事件可以包括用于控制特定硬件设备的参数。例如,序列事件可以为灯、麦克风、相机、传感器等定义缩放水平、音量水平或其他参数。序列事件还可以定义要显示的内容类型、用户界面布局或通信会话的任何其他可视化布置。

在操作1012处,计算设备可以确定用于修改或生成的序列事件的自动化的操作模式。在一些实施例中,系统中可以以手动模式进行操作。在手动模式下,需要用户交互以将修改或生成的序列事件应用于时间线,或者将实时馈送应用于通信会话。该系统还可以在不需要用户交互的自动模式下操作,以将修改或生成的序列事件应用于通信会话的时间线或实时馈送。该系统还可以在半手动或半自动模式下操作,在该半手动或半自动模式下,该系统可以将某些类型的序列事件自动应用于通信会话的时间线或实时馈送,但是需要用户交互,例如,用于批准将特定序列事件应用于通信会话的时间线或实时馈送的用户输入或姿态。

在一些实施例中,计算设备可以基于与事件中的参与者数量、受邀者数量、已接受邀请的受邀者数量、已拒绝邀请的受邀者数量、演示者数量或受众成员数量中的至少一个相关联的一个或多个值来确定策展分数。这些值的任何组合都可以用来确定策展分数。另外,可以基于每个值的优先级对每个值进行加权。

响应于确定策展分数在第一范围内,可以将所生成或修改的序列事件(其可以包括针对序列事件或时间线的调整后的参数)自动应用于时间线或实时馈送。

响应于确定策展分数在第二范围内,可以将所生成的或修改的序列事件(其可以包括针对序列事件或时间线的调整后的参数)显示为建议的图形表示。可替代地,响应于确定策展分数在第一范围和第二范围之外,并且如果生成的序列事件、修改的序列事件或调整后的参数与预定的修改类别相关联,可以将生成的序列事件、修改的序列事件或调整的参数自动应用于时间线或实时馈送。

在操作1014处,计算设备选择一个或多个用户许可,此后例程结束。如上所述,用户权限可以基于与通信会话相关的一个或多个因素。例如,用户许可可以基于事件的大小,例如,通信会话的参与者数量,或者具有特定状态的参与者数量,例如,参加者与演示者。

例如,响应于确定通信会话的参与者的属性满足一个或多个标准,计算设备可以针对一类别的参与者建立用于编辑内容数据的权限。一个或多个标准可以定义通信会话中的参与者的阈值数量、受邀者的阈值数量、已接受邀请的受邀者的阈值数量或演示者的阈值数量中的至少一个。一类别的参与者也可以通过参与者的角色、头衔或状态来定义。例如,公司的ceo可以具有对通信会话的内容或设备的第一级访问权限,而经理可以具有对内容或设备的第二级访问权限,而其他员工可以具有对内容或设备的第三级访问权限,等等。因此,响应于确定通信会话的参与者满足或不满足一个或多个标准,计算设备可以针对一类别的参与者建立或生成用于访问内容数据的权限。

应当意识到,上述主题可以被实现为计算机控制的装置、计算机过程、计算系统,或者被实现为诸如计算机可读存储介质之类的制品。示例方法的操作在各个框中示出,并且参考那些框进行总结。这些方法被示出为框的逻辑流,其中的每个框可以表示可以以硬件、软件或其组合来实现的一个或多个操作。在软件的上下文中,这些操作表示存储在一个或多个计算机可读介质上的计算机可执行指令,这些计算机可执行指令在由一个或多个处理器执行时使一个或多个处理器能够执行所记载的操作。

通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述操作的顺序不旨在理解为限制,并且任何数量的所描述的操作可以以任何顺序执行,以任何顺序组合,可以细分为多个子操作,和/或并行执行以实现所描述的过程。可以由与一个或多个设备(例如,一个或多个内部或外部cpu或gpu和/或一个或多个硬件逻辑(例如,现场可编程门阵列(“fpga”)、数字信号处理器(“dsp”)或其他类型的加速器)相关联的资源执行所描述的过程。

上面描述的所有方法和过程都可以体现在由一个或多个通用计算机或处理器执行的软件代码模块中,并经由所述软件代码模块完全自动化。可以将代码模块存储在任何类型的计算机可读存储介质或其他计算机存储设备中,例如以下所述的那些。这些方法中的一些或全部可以替代地体现在专用计算机硬件中,例如以下所述。

在本文所描述的和/或在附图中描述的流程图中的任何例程描述、元素或框都应理解为潜在地表示代码的模块、片段或部分,其包括用于实现例程中的特定逻辑功能或元素的一个或多个可执行指令。替代实施方式被包括在本文所描述的示例的范围内,其中,取决于所涉及的功能(如本领域技术人员将理解的),可以从所示出或所讨论的元素或功能中删除元素或功能或不按所示出或所讨论的顺序执行元素或功能,包括基本上同步或以相反的顺序。

图11是示出了示例环境1100的图,其中系统1102(其可以是图1的系统100)可以实现本文中所公开的技术。在一些实施方式中,系统1102可以起到收集、分析和共享定义向通信会话1104的用户显示的一个或多个对象的数据的作用。

如图所示,通信会话1104可以在与系统1102相关联或作为系统1102的一部分的多个客户端计算设备1106(1)至1106(n)之间实现(其中,n是值等于或大于2的数)。客户端计算设备1106(1)至1106(n)使得用户(也称为个人)能够参与通信会话1104。

在该示例中,通信会话1104由系统1102在一个或多个网络1108上托管。即,系统1102可以提供使客户端计算设备1106(1)至1106(n)的用户能够参与通信会话1104(例如,经由实时观看和/或记录的观看)的服务。因此,通信会话1104的“参与者”可以包括用户和/或客户端计算设备(例如,多个用户可以在经由使用单个客户端计算设备参与通信会话的房间中),其中的每一个可以与其他参与者交流。作为替代,通信会话1104可以利用对等技术由客户端计算设备1106(1)至1106(n)中的一个托管。系统1102还可以托管聊天对话和其他团队协作功能(例如,作为应用套件的一部分)。

在一些实施方式中,这样的聊天对话和其他团队协作功能被认为是不同于通信会话1104的外部通信会话。被配置为收集通信会话1104中的参与者数据的计算机化代理可能能够链接到这样的外部通信会话。因此,计算机化的代理可以接收诸如日期、时间、会话详情等的信息,该信息实现到这样的外部通信会话的连接性。在一个示例中,可以根据通信会话1104进行聊天对话。另外,系统1102可以托管通信会话1104,该通信会话1104至少包括多个共同位于会议位置(例如,会议房间或礼堂)或位于不同的位置的参与者。

在本文所描述的示例中,参与通信会话1104的客户端计算设备1106(1)至1106(n)被配置为接收并渲染以在显示屏的用户界面上显示通信数据。通信数据可以包括实况内容和/或记录的内容的各种实例或流的集合。实况内容和/或记录的内容的各种实例或流的集合可以由一个或多个相机(例如,摄像机)来提供。例如,实况或记录的内容的单个流可以包括与由摄像机提供的视频馈送相关联的媒体数据(例如,捕获参与通信会话的用户的外观和语音的音频和可视化数据)。在一些实施方式中,视频馈送可包含此类音频和可视化数据、一个或多个静止图像和/或一个或多个化身。一个或多个静止图像还可以包括一个或多个化身。

实况和/或记录的内容的单个流的另一个示例可以包括媒体数据,该媒体数据包括参与通信会话的用户的化身以及捕获用户语音的音频数据。实况或记录的内容的单个流的又一个示例可以包括媒体数据,该媒体数据包括在显示屏上显示的文件以及捕获用户语音的音频数据。因此,通信数据内的实况和/或记录的内容的各种流使得远程会议能够在一群人之间促进以及在一群人内共享内容。在一些实施方式中,通信数据内的实况和/或记录的内容的各种流可以源自位于诸如房间之类的空间中的多个并置的摄像机,以记录或实时流式传输演示,其包括演示的一个或多个个人以及消费所演示的内容的一个或多个个人。

参与者或参加者可以在活动发生时实时观看通信会话1104的内容,或者可替代地,在活动发生后的较晚时间经由记录观看通信会话1104的内容。在本文所描述的示例中,参与通信会话1104的客户端计算设备1106(1)至1106(n)被配置为接收并渲染以在显示屏的用户界面上显示通信数据。通信数据可以包括实况和/或记录的内容的各种实例或流的集合。例如,单个内容流可以包括与视频馈送相关联的媒体数据(例如,捕获参与通信会话的用户的外观和语音的音频和可视化数据)。单个内容流的另一个示例可以包括媒体数据,该媒体数据包括参与会议会话的用户的化身以及捕获用户语音的音频数据。单个内容流的又一个示例可以包括媒体数据,其包括在显示屏上显示的内容项和/或捕获用户语音的音频数据。因此,通信数据内的各种内容流使得会议或广播演示能够在分散于远程位置的一群人之间促进。

通信会话的参与者或参加者是指位于相机或其他图像和/或音频捕获设备范围内的人员,使得可以捕获(例如,记录)该人在查看和/或收听经由通信会话共享的内容的同时所产生的该人的动作和/或声音。例如,参与者可能坐在人群中,实时观看登台演讲发生的广播位置处共享内容。或者,参与者可能坐在办公室会议室中,经由显示屏查看与其他同事的通信会话的共享内容。甚至更进一步,参与者可能坐在或站在个人设备(例如,平板电脑、智能手机、计算机等)的前面,独自在他们的办公室或在家中观看通信会话的共享内容。

系统1102包括设备1110。设备1110和/或系统1102的其他组件可以包括分布式计算资源,其与彼此通信和/或经由一个或多个网络1108与客户端计算设备1106(1)至1106(n)通信。在一些示例中,系统1102可以是负责管理一个或多个通信会话(例如,通信会话1104)的各方面的任务的独立系统。作为示例,系统1102可以由诸如slack、webex、gotomeeting、googlehangouts等的实体管理。

网络1108可以包括例如公共网络(例如,因特网)、私有网络(例如,机构和/或个人内联网)或私有网络和公共网络的某种组合。网络1108还可以包括任何类型的有线和/或无线网络,包括但不限于局域网(“lan”)、广域网(“wan”)、卫星网络、电缆网络、wi-fi网络、wimax网络、移动通信网络(例如,3g、4g等)或其任何组合。网络1108可以利用通信协议,包括基于分组和/或基于数据报的协议,例如互联网协议(“ip”)、传输控制协议(“tcp”)、用户数据报协议(“udp”)或其他类型的协议。此外,网络1108还可以包括促进网络通信和/或形成网络硬件基础的多个设备,例如交换机、路由器、网关、接入点、防火墙、基站、转发器、骨干设备,等等。

在一些示例中,网络1108可以进一步包括设备,该设备实现到诸如无线接入点(“wap”)之类的无线网络的连接。示例支持连接性通过wap,wap在各种电磁频率(例如,射频)上发送和接收数据,包括支持电气和电子工程师协会(“ieee”)802.11标准(例如802.11g、802.11n、802.11ac和802.11n等等)和其他标准的wap。

在各种示例中,设备1110可以包括以群集或其他分组配置操作以共享资源、平衡负载、提高性能、提供故障转移支持或冗余或出于其他目的的一个或多个计算设备。例如,设备1110可以属于各种类别的设备,例如传统的服务器类型设备、台式计算机类型设备和/或移动类型设备。因此,尽管被示为单个类型的设备或服务器类型的设备,但是设备1110可以包括各种各样的设备类型,并且不限于特定类型的设备。设备1110可以代表但不限于服务器计算机、台式计算机、web服务器计算机、个人计算机、移动计算机、膝上型计算机、平板计算机或任何其他种类的计算设备。

客户端计算设备(例如,客户端计算设备1106(1)至1106(n)中的一个)可以属于多种类别的设备,它们可以与设备1110相同或不同,设备1110例如传统的客户端型设备、台式计算机类型设备、移动类型设备、专用类型设备、嵌入式类型设备和/或可穿戴类型设备。因此,客户端计算设备可以包括但不限于台式计算机、游戏控制台和/或游戏设备、平板计算机、个人数据助手(“pda”)、移动电话/平板电脑混合设备、膝上型计算机、电信设备、计算机导航类型客户端计算设备(例如,基于卫星的导航系统,包括全球定位系统(“gps”)设备)、可穿戴设备、虚拟现实(vr)设备、增强现实(“ar”)设备、植入式计算设备、汽车计算机、支持网络的电视、瘦客户机、终端、物联网(“iot”)设备、工作站、媒体播放器、个人视频记录器(“pvr”)、机顶盒、相机、用于包括在计算设备中的集成组件(例如,外围设备)、家具或任何其他种类的计算设备。而且,客户端计算设备可以包括客户端计算设备的先前列出的示例的组合,例如台式计算机类型设备或移动类型设备与可穿戴设备的组合等。

各种类别和设备类型的客户端计算设备1106(1)至1106(n)可以表示任何类型的计算设备,其具有一个或多个数据处理单元1192,一个或多个数据处理单元1192例如经由总线1116可操作地连接至计算机可读介质1194,该总线1116在一些实例中可以包括系统总线、数据总线、地址总线、pci总线、mini-pci总线以及任何类型的本地、外围设备和/或独立总线中的一种或多种。

存储在计算机可读介质1194上的可执行指令可以包括例如操作系统1119、客户端模块1120、简档模块1122以及可由数据处理单元1192加载和执行的其他模块、程序或应用。

客户端计算设备1106(1)至1106(n)还可以包括一个或多个接口1124,以实现客户端计算设备1106(1)至1106(n)通过网络1108与诸如设备1110之类的其他联网设备之间的通信。这样的网络接口1124可以包括一个或多个网络接口控制器(nic)或其他类型的收发器设备,以通过网络发送和接收通信内容和/或数据。此外,客户端计算设备1106(1)至1106(n)可以包括输入/输出(“i/o”)接口(设备)1126,其实现与输入/输出设备的通信,输入/输出设备例如包括外围输入设备的用户输入设备(例如,游戏控制器、键盘、鼠标、笔、语音输入设备(例如,麦克风)、用于获取和提供视频馈送和/或静止图像的摄像机、触摸输入设备、姿态输入设备等等)和/或输出设备,输出设备包括外围输出设备(例如,显示器、打印机、音频扬声器、触觉输出设备等)。图11示出了客户端计算设备1106(1)以某种方式连接到显示设备(例如,显示屏1129(1)),该显示设备可以根据本文中描述的技术来显示ui。

在图11的示例环境1100中,客户端计算设备1106(1)至1106(n)可以使用它们相应的客户端模块1120彼此连接和/或与其他外部设备连接,以便参与通信会话1104,或以便向协作环境贡献活动。例如,第一用户可以利用客户端计算设备1106(1)来与另一客户端计算设备1106(2)的第二用户进行通信。当执行客户端模块1120时,用户可以共享数据,这可以引起客户端计算设备1106(1)通过网络1108连接到系统1102和/或其他客户端计算设备1106(2)到1106(n)。

客户端计算设备1106(1)至1106(n)可以使用它们相应的简档模块1122来生成参与者简档(图11中未示出),并将参与者简档提供给其他客户端计算设备和/或系统1102的设备1110。参与者简档可以包括用户或一组用户的身份(例如,名称、唯一标识符(“id”)等)、诸如个人数据之类的用户数据、诸如位置(例如,ip地址、建筑物中的房间等)之类的机器数据和技术能力等中的一个或多个。参与者简档可以用于向通信会话注册参与者。

如图11所示,系统1102的设备1110包括服务器模块1130和输出模块1132。在该示例中,服务器模块1130被配置为从诸如客户端计算设备1106(1)至1106(n)之类的各个客户端计算设备接收媒体流1134(1)至1134(n)。如上所述,媒体流可以包括视频馈送(例如,与用户相关联的音频和可视化数据)、将与用户的化身的演示一起输出的音频数据(例如,其中不发送用户的视频数据的纯音频体验)、文本数据(例如,文本消息)、文件数据和/或屏幕共享数据(例如,在显示屏上显示的文档、幻灯片版面、图像、视频等)等等。因此,服务器模块1130被配置为在实时观看通信会话1104期间接收各种媒体流1134(1)至1134(n)的集合(在本文中该集合被称为“媒体数据1134”)。在一些场景中,并非所有参与通信会话1104的客户端计算设备都提供媒体流。例如,客户端计算设备可以仅是消费设备或“收听”设备,使得其仅接收与通信会话1104相关联的内容,而不向通信会话1104提供任何内容。

在各种示例中,服务器模块1130可以选择要与参与的客户端计算设备1106(1)至1106(n)中的各个客户端计算设备共享的媒体流1134的各方面。因此,服务器模块1130可以配置为基于流1134生成会话数据1136和/或将会话数据1136传递到输出模块1132。然后,输出模块1132可以将通信数据1139传送到客户端计算设备(例如,参与通信会话的实时观看的客户端计算设备1106(1)到1106(n))。通信数据1139可以包括视频、音频和/或其他内容数据,其由输出模块1132基于与输出模块1132相关联的内容1150并且基于接收到的会话数据1136来提供。

如图所示,输出模块1132将通信数据1139(1)发送到客户端计算设备1106(1),并且将通信数据1139(2)发送到客户端计算设备1106(2),并且将通信数据1139(3)发送到客户端计算设备1106(3),等等。被发送到客户端计算设备的通信数据1139可以相同或可以不同(例如,用户界面内内容流的定位可以因设备而异)。

在各种实施方式中,设备1110和/或客户端模块1120可以包括gui呈现模块1140。gui呈现模块1140可以被配置为分析通信数据1139,该通信数据1139用于被递送给一个或多个客户端计算设备1106。具体地,ui演示模块1140在设备1110和/或客户端计算设备1106处可以分析通信数据1139,以确定用于在相关联的客户端计算设备1106的显示屏1129上显示视频、图像和/或内容的适当方式。在一些实施方式中,gui呈现模块1140可以将视频、图像和/或内容提供给在相关联的客户端计算设备1106的显示屏1129上渲染的演示gui1146。可以通过gui呈现模块1140使演示gui1146渲染在显示屏1129上。演示gui1146可以包括由gui呈现模块1140分析的视频、图像和/或内容。

在一些实施方式中,演示gui1146可以包括多个部分或网格,其可以渲染或包括视频、图像和/或内容以用于在显示屏1129上显示。例如,演示gui1146的第一部分可以包括演示者或个人的视频馈送,并且演示gui1146的第二部分可以包括消费由演示者或个人提供的会议信息的个人的视频馈送。gui呈现模块1140可以以适当地模仿演示者和个人可以正在共享的环境体验的方式来填充演示gui1146的第一部分和第二部分。

在一些实施方式中,gui呈现模块1140可以放大由视频馈送所代表的个人或提供其缩放的视图,以便突出个人对演示者的反应,例如面部特征。在一些实施方式中,演示gui1146可以包括与会议(诸如,一般通信会话)相关联的多个参与者的视频馈送。在其他实施方式中,演示gui1146可以与诸如聊天频道、企业团队频道等的频道相关联。因此,演示gui1146可以与不同于一般通信会话的外部通信会话相关联。

图12示出了示出示例设备1200(本文中也称为“计算设备”)的示例组件的图,该示例设备1200被配置为生成和处理本文中所公开的一些用户界面的数据。设备1200可以生成可以包括一个或多个部分的数据,该一个或多个部分可以渲染或包括视频、图像和/或内容以用于在显示屏1129上显示。设备1200可以代表本文中描述的设备中的一个。另外地或可替代地,设备1200可以代表客户端计算设备1106中的一个。

如图所示,设备1200包括一个或多个数据处理单元1202、计算机可读介质1204和通信接口1206。设备1200的组件例如经由总线1209可操作地连接,总线1209可以包括系统总线、数据总线、地址总线、pci总线、mini-pci总线以及任何类型的本地、外围设备和/或独立总线中的一种或多种。

如在本文中所使用的,诸如数据处理单元1202和/或数据处理单元1192之类的数据处理单元可以表示例如cpu类型数据处理单元、gpu类型数据处理单元、现场可编程门阵列(“fpga”)、另一类数字信号处理器(“dsp”)或在一些情况下可以由cpu驱动的其他硬件逻辑组件。例如但不作为限制,可以被利用的说明性类型的硬件逻辑组件包括专用集成电路(“asic”)、专用标准产品(“assp”)、片上系统(“soc”)、复杂可编程逻辑器件(“cpld”)等。

如在本文中所利用的,诸如计算机可读介质1204和计算机可读介质1194之类的计算机可读介质可以存储可由数据处理单元执行的指令。所述计算机可读介质还可以存储可由外部数据处理单元(例如,由外部cpu,外部gpu)执行的指令,和/或可由外部加速器(例如,fpga类型加速器、dsp类型加速器或任何其他内部或外部加速器)执行的指令。在各种示例中,在计算设备中并入了至少一个cpu、gpu和/或加速器,而在一些示例中,cpu、gpu和/或加速器中的一个或多个在计算设备的外部。

本文中也可以称为计算机可读媒体的计算机可读介质可以包括计算机存储介质和/或通信介质。计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的以任何方法或技术实现的易失性存储器、非易失性存储器和/或其他持久性和/或辅助计算机存储介质、可移动和不可移动计算机存储介质中的一个或多个。因此,计算机存储介质包括设备和/或作为设备一部分或在设备外部的硬件组件中包括的有形和/或物理形式的介质,包括但不限于随机存取存储器(“ram”)、静态随机存取存储器(“sram”)、动态随机存取存储器(“dram”)、相变存储器(“pcm”)、只读存储器(“rom”)、可擦可编程只读存储器(“eprom”)、电可擦可编程只读存储器(“eeprom”)、闪存、压缩盘只读存储器(“cd-rom”)、数字多功能磁盘(“dvd”)、光卡或其他光存储介质、磁带盒、磁带、磁盘存储装置、磁卡或其他磁存储设备或介质、固态存储器设备、存储阵列、网络连接存储装置、存储区域网络、托管计算机存储装置或任何其他存储存储器、存储设备,以及/或可以用于存储和维护供计算设备访问的信息的存储介质。

与计算机存储介质相反,通信介质可以在诸如载波之类的调制数据信号或其他传输机制中体现计算机可读指令、数据结构、程序模块或其他数据。如本文中定义的,计算机存储介质不包括通信介质。即,计算机存储介质不包括仅由调制数据信号、载波或传播信号本身组成的通信介质。

通信接口1206可以代表例如网络接口控制器(“nic”)或其他类型的收发器设备,以用于通过网络发送和接收通信。此外,通信接口1206可以包括一个或多个摄像机和/或音频设备1222,以使得能够生成视频馈送和/或静止图像等。

在所示的示例中,计算机可读介质1204包括数据存储库1208。在一些示例中,数据存储库1208包括诸如数据库、数据仓库或其他类型的结构化或非结构化数据存储装置之类的数据存储装置。在一些示例中,数据存储库1208包括具有一个或多个表、索引、存储的过程等的语料库和/或关系数据库,以实现数据访问,包括例如超文本标记语言(“html”)表、资源描述框架(“rdf”)表、web本体语言(“owl”)表和/或可扩展标记语言(“xml”)表中的一个或多个。

数据存储库1208可以存储数据,以用于被存储在计算机可读介质1204中和/或由数据处理单元1202和/或加速器执行的过程、应用、组件和/或模块的操作。例如,在一些示例中,数据存储库1208可以存储会话数据1210、简档数据1212(例如,与参与者简档相关联)和/或其他数据。会话数据1210可以包括:通信会话中的参与者(例如,用户和/或客户端计算设备)的总数,在该通信会话中发生的活动,该通信会话的受邀者列表和/或与何时以及如何进行或托管通信会话相关的其他数据。数据存储库1208还可包括内容数据1214,例如包括视频、音频或用于在一个或多个显示屏1129上渲染和显示的其他内容的内容。

可替代地,以上引用的数据中的一些或全部可以存储在一个或多个数据处理单元1202上的单独的存储器1216上,例如cpu类型处理器、gpu类型处理器、fpga类型加速器、dsp类型加速器和/或另一加速器上的存储器。在该示例中,计算机可读介质1204还包括操作系统1218和被配置为向其他设备暴露设备1200的功能和数据的应用编程接口1210(api)。此外,计算机可读介质1204包括一个或多个模块,例如服务器模块1230、输出模块1232和gui呈现模块1240,但示出的模块的数量仅是示例,并且该数量可以有变化,可以更高或更低。即,本文中与所示出的模块相关联地描述的功能可以由一个设备上或者分布在多个设备上的较少数量的模块或较大数量的模块来执行。

应当理解的是,除非另外特别说明,否则在上下文内应理解在本文中使用的诸如“能够”、“可以”、“可能”或“可”等的条件性语言表示某些示例包括某些特征、元素和/或步骤,而其他示例不包括某些特征、元素和/或步骤。因此,这种条件性语言通常并不意味着暗示一个或多个示例以任何方式需要某些特征、元素和/或步骤,或者一个或多个示例必须包括逻辑,该逻辑用于在有或没有用户输入或提示的情况下确定在任何特定示例中是否包括或将要执行某些特征、元素和/或步骤。除非另有明确说明,否则诸如短语“x、y或z中的至少一个”之类的连接语应理解为表示项目、术语等可以是x、y或z或它们的组合。

还应当理解,可以对上述示例进行许多变化和修改,这些示例的元素应被理解为是其他可接受的示例之中的。所有这些修改和变型旨在被包括在本文中在本公开的范围内,并由所附权利要求书保护。

最后,尽管已经用特定于结构特征和/或方法动作的语言描述了各种配置,但是应当理解,所附表示中定义的主题不必限于所描述的特定特征或动作。而是,将特定特征和动作公开为实现所要求保护的主题的示例形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1