用于优化多参与者全网状对等视频会话中的带宽利用的方法和系统与流程

文档序号:11142879阅读:297来源:国知局
用于优化多参与者全网状对等视频会话中的带宽利用的方法和系统与制造工艺

本申请要求2014年3月31日提交的、题为“METHOD AND SYSTEMS FOR OPTIMIZING BANDWIDTH UTILIZATION IN A MULTI-PARTICIPANT FULL MESH PEER-TO-PEER VIDEO SESSION”的美国临时申请No. 61/973,055的优先权,该美国临时申请以其整体通过引用明确地并入本文。



背景技术:

本公开一般地涉及视频会议系统,并且更具体地涉及用于优化多参与者全网状对等视频会话中的带宽利用的系统。

全网状对等视频会议通过设立会议的每一个参与者之间的独立音频/视频实时传输协议(“RTP”)流,以使得每一个参与者向每一个其他参与者传送一个音频、视频以及可能地内容流并且从每一个其它参与者接收相同内容而得以实现,如图2中所示。通过与更为传统的集中式桥接会议方法(图1)比较,全网状会议的主要优点是以集中式媒体服务器的形式的瓶颈的消除以及更低的媒体等待时间。利用每一个参与者设立单独的流还允许视频会议客户端独立地合成视频或者选择其想要哪个(哪些)参与者发送/接收视频的能力。全网状方案的主要缺点在于,要求潜在地更大数量的带宽来设立视频流以从会议中的每一个参与者发送和接收视频。全网状方案取决于对客户端可用的带宽而将给定会议的大小限于大约3-4个参与者。



技术实现要素:

本公开针对用于优化网状系统中的带宽的方法、系统和计算机可读介质。方法包括在本地网状会议单元处发起与多个远程设备的对等会议。方法还包括生成包括多个远程设备中的第一设备的第一质量列表,在第一质量等级下从多个远程设备接收第一数据流。方法还包括向第一设备传送请求以在第一质量等级下接收第一数据流。方法还包括确定多个远程设备中的第二设备不是第一质量列表的成员。方法还包括响应于确定多个远程设备中的第二设备不是第一质量列表的成员,而向第二设备传送请求以在第二质量等级下接收第二数据流。

附图说明

并入该说明书中并且构成该说明书的部分的附图图示了与本发明一致的装置和方法的实现,并且与详细描述一起服务于解释与本发明一致的优点和原理。

图1图示了根据现有技术的利用集中式实体的会议系统。

图2图示了根据现有技术的利用对等通信的会议系统。

图3图示了根据本发明的会议系统的实施例。

图4图示了根据一个或多个实施例的用于通过创建质量列表而优化带宽的方法的流程图。

图5图示了根据一个或多个实施例的用于通过创建质量列表而优化带宽的方法的流程图。

图6图示了根据一个或多个实施例的用于通过修改质量列表而优化带宽的方法的流程图。

具体实施方式

在根据本发明的实施例中,全网状对等视频会话中的参与者维持一个或多个列表,其中每一个列表指示在其下从会话中的其它设备接收数据流的优选质量等级。本地设备生成指示优选质量的会话中的其它设备的一个或多个列表,向各种远程设备发送请求以接收每一个远程设备或者默认远程设备出现在其上的列表所指示的相关联的数据流。因为高质量等级下的数据流要求比较低质量等级下的数据流更多的带宽,所以本地设备可以选择全网状对等视频会话中的总设备数目的子集,在高质量等级下从该子集接收数据流,诸如视频流。作为结果,用于传送给本地设备的数据的带宽得到优化。质量列表在每一个参与者设备处维持,并且列表可以在参与者设备之间变化。

图3描绘了包括各种端点(“EP”)的示例全网状对等系统。具体地,示例全网状对等系统包括EP A 305、EP B310和EP C 315。出于本公开的目的,每一个端点是网状会议单元,并且是允许多个端点可通信地跨对等网络连接的会议设备。更为详细地描绘EP A 305,尽管EP A 305的内容还可以整体地或者部分地在EP B 310和EP C 315中找到。EP A 305、EP B 310和EP C 315是网状会议系统(“MCS”)的部分。在MCS中,不存在用于处置媒体流的中央实体。替代地,在MCS中,可以将名单列表服务器(“RLS”)用作中央信令实体,并且客户端可以直接地从彼此发送和接收媒体。在MCS的示例中,客户端可以使用WebRTC应用程序接口(“API”)。WebRTC由国际网络联盟(W3C)起草以用于促进音频、视频和数据共享的浏览器到浏览器的实时通信(P2P)。常见WebRTC可以使用用于视频的VP8编解码器和用于音频的OPUS编解码器。VP8是微软公司所拥有的视频压缩格式。OPUS是网络工程任务组(IETF)所开发的有损音频编解码器。WebRTC和压缩格式VP8当前被浏览器应用所支持,诸如但不限于,谷歌CHROME®(CHROME是谷歌公司的注册商标);谋智FIREFOX®(FIREFOX是谋智公司的注册商标);OPERA®(OPERA是Opera软件ASA的注册商标)。一些浏览器可能需要插件以便使用WebRTC和VP8编解码器。其它MCS可以使用其它Web客户端和其它压缩标准以便递送网状会议服务。

更为详细地示出EP A 305,并且EP A 305的内容还可以包括在EP B 310和EP C 315中的一个或多个中。如所描绘的,EP A 305包括跨总线360连接的各种组件。各种组件包括处理器345,其控制EP A 305的各种组件的操作。处理器345可以是微处理器、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其组合。处理器345可以耦合到存储器330,其可以是易失性(例如,RAM)或非易失性(例如,ROM、FLASH、硬盘驱动等)。在一个或多个实施例中,存储器330包括带宽优化模块355,其通过使用将在下文进一步详细讨论的方法来调节传入数据流(诸如视频流)的质量而优化带宽。

存储装置325还可以存储于EP A 305相关联的软件和数据的所有或部分。在一个或多个实施例中,存储装置325包括非易失性(例如,ROM、FLASH、硬盘驱动等),并且存储涉及带宽优化模块355的数据。例如,存储装置325可以包括列表仓库350。在一个或多个实施例中,列表仓库350包括一个或多个质量列表,其确定在什么质量等级下EP A 305应当请求从远程设备(诸如EP B 310和EP C 315)接收数据流,诸如视频流。例如,如果端点是移动设备,则相关联的参与者可以仅具有大小为1的低质量列表。在一个或多个实施例中,列表仓库350至少包括高质量列表,其指示EP A 305应当在高质量下从其接收数据流的端点。换句话说,高质量列表指示应当在优化带宽时优先化其数据流质量的远程设备。在一个或多个实施例中,列表仓库350可以包括单个列表,其标识在高质量下从其请求数据流的设备。可替换地,列表仓库350可以包括众多列表,每一个列表与不同质量等级相关联。

示例EP A 305包括附加组件,诸如网络接口335,其可以允许EP A 305可通信地连接到远程设备,诸如EP B 310和EP C 315。也就是说,在一个或多个实施例中,EP A 305、EP B 310和EP C 315跨网络连接,诸如分组切换网络、电路切换网络、IP网络或其任何组合。网络之上的多媒体通信可以基于协议,诸如但不限于H.320、H.323、SIP、HTTP、HTML5(例如,WebSocket、REST)、SDP,并且可以使用媒体压缩标准,诸如但不限于H.263、H.264、VP8、G.711、G.719和Opus。HTTP表示超文本传输协议并且HTML表示超文本标记语言。

EP A 305还包括各种I/O设备340,其允许用户与EP A 305交互。各种I/O设备340可以包括例如以下中的一个或多个:扬声器、麦克风、相机以及显示器,其允许用户发送和接收数据流。因而,EP A 305可以通过经由各种I/O设备340接收音频或视频信号而生成流以传送给EP B 310和EP C 315。EP A 305还可以使用各种I/O设备340向用户呈现所接收的数据信号。另外,在一个或多个实施例中,I/O设备340还可以包括允许EP A 305的用户管理带宽优化模块和/或列表仓库350中的质量列表的设备。例如,I/O设备340还可以包括键盘和鼠标,使得用户可以与显示设备上显示的用户接口交互以管理用于设备的质量列表。

在一个或多个实施例中,EP A 305的组件使用带宽优化模块355优化从远程设备所接收的数据信号的带宽,带宽优化模块355可以以EP A 305内的软件的形式来存储。可替换地,可以跨网络(诸如互联网)从远程设备访问带宽优化模块355。也就是说,带宽优化模块355和列表仓库350可以在EP A 305中本地存储在存储装置325或存储器330中,或者可以远程地访问,诸如通过网站或其它云存储装置或服务,但是EP A 305可访问的。

在一个或多个实施例中,EP A 305、EP B 310和EP C 315中的每一个从视频会话中的每一个其他参与者发送和接收单独流。为了优化每一个端点处的带宽,各种端点可以请求在高质量下从一些远程设备接收数据流,并且在较低质量下从远程设备接收其它数据流。例如,视频质量可以通过改变视频的比特率、大小或帧速率、或者这些全部的组合来修改。在一个或多个实施例中,可以修改视频质量而同时音频质量或其它数据流质量保持一致。

在图3中通过各种端点中的线粗细中的差异来描绘各种质量等级。并不预期到流质量为对称的,即,参与者可以从参与者接收高质量流,但是可以向该参与者发送低质量流。例如,数据流365指示EP A 305已经请求在比来自EP B 310的数据流370更低的质量下接收来自EP C 315的数据流。在一个或多个实施例中,EP B 310可以列举在列表仓库350中的质量列表中,其指示应当在高质量下请求来自EP B 370的数据流。可替换地,或者附加地,列表仓库350还可以包括低质量列表,其指示应当在低质量下请求来自EP C 315的数据流365,因而要求较少带宽。作为示例,在其中用户不关心从例如对等会议中的一个或多个参与者接收视频流的情况下,列表仓库350可以包括与零带宽相关联的列表。因为质量列表由每一个端点单独地控制,所以由特定端点接收的数据流的质量未必互换。

带宽优化模块355可以基于数个条件在对等会议之前和期间确定是添加还是移除来自质量列表的参与者。当通过指定SDP中的正确视频质量细节而使用标准会话描述协议(SDP)提议/答复协商添加或移除来自特定质量列表的参与者时,带宽优化模块355可以请求经修改的视频质量。这些条件中的一些可以是基于远程参与者的特性,诸如标识端点处的活跃扬声器,或者确定来自特定端点的音频流已经在某一时间段内不活跃。作为另一示例,这些条件可以基于本地特性来确定,诸如屏幕大小、可用存储器、处理器速度或可用带宽。另外,作为另一示例,带宽优化模块355可以提供用户接口以允许本地端点的用户手动选择远程端点属于哪一质量列表。在一个或多个实施例中,用户接口可以允许用户将远程设备手动分配到默认列表或者按照需要将远程设备分配给各种质量列表,例如当用户之间的交谈的内容将通过高质量视频流而改进时。每一个参与者可以决定其能够发送和接收的质量并且可以相应地通过SDP将它信令给其对等体。

在一个或多个实施例中,带宽优化模块355可以管理基于数个条件从特定质量列表移除参与者。这些条件可以包括确定新的参与者已经满足条件以添加到列表并且列表已经包含最大数目的列表成员。列表可以与基于例如总可用带宽所允许的最大数目的列表成员相关联。每一个端点可以具有多个质量列表,每一个基于不同准则而具有不同大小,例如基于本地设备的特性和其它参数(诸如可用带宽)的一个高质量列表、一个中等质量列表、以及一个低质量列表。每一个列表中所允许的成员数目可以变化。例如,具有小带宽的特定设备可以仅允许高质量列表中的单个成员,以及中等或低质量列表中的许多成员,而具有大带宽的设备可以允许高质量列表中的多个成员。因而,当新的成员满足条件以添加到已经处于最大容量的特定质量列表时,必须移除当前的成员。在一个或多个实施例中,所移除的成员被添加到与较低质量等级相关联的另一质量列表。在一个或多个实施例中,不管对带宽优化模块所管理的流的质量的修改如何,各种端点都可以继续在高质量等级下从每一个端点接收音频流。

图4图示了根据一个或多个实施例的用于通过创建质量列表而优化带宽的示例方法的流程图。流程图在400处开始,并且带宽优化模块,诸如带宽优化模块355,发起与多个远程设备的对等会议。发起对等会议可以包括向远程设备发送请求以加入对等会议,或者加入进行中的对等会议。

在405处,带宽优化模块生成包括多个远程设备中的第一设备的第一质量列表,在第一质量等级下从其接收第一数据流。在一个或多个实施例中,在405处生成第一质量列表包括确定第一设备首先加入对等会议(425)。确定第一设备首先加入对等会议可以包括检测作为对等会议中的第一活跃设备的第一设备。响应于确定第一设备首先加入对等会议,流程图还包括在430处将第一设备添加到第一质量列表。在一个或多个实施例中,第一质量列表包括从其请求高质量数据流(诸如视频流)的远程设备的列表。

流程图在410处继续,带宽优化模块向第一设备传送请求以在第一质量等级下接收第一数据流。带宽优化模块可以通过指定SDP中的正确视频质量细节而使用标准会话描述协议(SDP)提议/答复协商来请求流质量。在一个或多个实施例中,如果第一设备不具有足够的带宽以满足该请求,则第一设备可能不受尊崇(honor)。

流程图还包括在415处带宽优化模块,其标识对等会议中的设备不是第一质量列表的成员。在一个或多个实施例中,标识设备不是第一质量列表的成员可以包括确定设备是第二质量列表的成员,或者不是由本地设备管理的任何质量列表的成员。

在420处,带宽优化模块向在415处标识的设备传送请求以在第二质量等级下接收数据流。在一个或多个实施例中,带宽优化模块可以确定所标识的设备包括在第二质量列表中,其中第二质量列表指示带宽优化模块应当在第二质量等级下从其请求数据流的远程设备。可替换地,带宽优化模块可以向所标识的设备传送请求以在与第一质量列表所指示的质量等级不同的质量等级下接收数据流,诸如比第一质量等级低的质量等级。在一个或多个实施例中,如果第二质量等级没有由第二质量列表所指示,则第二质量等级可以是比第一质量等级低的预确定的默认质量等级。另外,带宽优化模块可以将所标识的设备添加到与零带宽相关联的列表,使得设备不从设备接收数据流,诸如视频流。再次,如果第二设备不具有足够的带宽以满足该请求,则第二设备可以不尊崇请求。

图5图示了根据一个或多个实施例的用于通过创建质量列表而优化带宽的示例方法的流程图。图5包括与在图4中描绘的那些相同的一些动作。具体地,图5还描绘了发起与远程设备的对等会议(400)、生成在第一质量等级下从其接收数据流的设备的第一质量列表(405)、向第一质量列表中的设备传送请求以在第一质量等级下接收数据流(410)、标识对等会议中的设备不是第一质量列表的成员(415)、以及向所标识的设备传送请求以在第二质量等级下接收数据流(420)。

图5与图4的不同在于,在405处,生成在第一质量等级下从其接收数据流的设备的第一质量列表包括标识具有活跃音频流的第一设备(525)、以及将第一设备添加到第一质量列表(530)。例如,可能可优选的是具有来自当前正说话的用户的更高质量视图,可能较不相关的是查看其他用户的高质量视图。

图6图示了根据一个或多个实施例的用于通过修改质量列表而优化带宽的示例方法的流程图。例如,列表仓库350可以包括用于列举远程设备的预确定数目的时隙,在高质量等级下从该远程设备请求数据流。在一个或多个实施例中,质量列表在对等会议期间动态地修改,因为带宽优化模块监控向本地设备传入的数据流。

在620处,带宽优化模块标识满足要成为第一质量列表的成员的条件的新设备。在一个或多个实施例中,第一质量列表可以与某些特性相关联。例如,带宽优化模块355可以指示与当前活跃音频流相关联的设备应当包括在高质量列表中,或者带宽优化模块已经预限定某些设备应当总是包括在高质量列表中。带宽优化模块可以确定设备满足加入列表的条件。在另一个实施例中,本地网状会议单元的用户可以手动指示特定设备应当被添加到特定质量列表,例如通过允许本地网状会议单元的用户管理列表仓库350中的一个或多个列表的成员的用户接口。

在625处,带宽优化模块确定第一质量列表是否包括列表中所允许的最大数目的成员。如果是,则流程图继续到630,并且带宽优化模块标识设备成员以从列表移除。在一个或多个实施例中,带宽优化模块可以基于列表的成员的各种特性而标识从列表移除的成员。例如,被标识以用于移除的设备成员可以基于带宽使用来标识,或者因为所标识的成员已经在最长时间段内不活跃。作为另一个示例,列表的每一个成员可以以特定优选次序而列举,并且可以移除最不可优选的成员。另外,作为另一个示例,带宽优化模块355可以提示带宽优化模块的用户以通过用户接口的使用而手动选择要从第一质量列表移除的成员。

流程图在635处继续,并且从第一质量列表移除所标识的成员。在一个或多个实施例中,从第一质量列表移除所标识的成员还可以包括将成员添加到第二质量列表,相比于与第一质量列表相关联的质量等级而言,第二质量列表与较低的质量等级相关联。在另一个实施例中,带宽优化模块355可以简单地从第一列表移除所标识的成员。流程图在640处继续,并且带宽优化模块向所标识的成员传送请求以在第二质量等级处接收数据流。如果设备已经被移动到第二质量列表,或者第二质量列表可以是不同于与第一质量列表相关联的质量等级的任何质量等级,则第二质量等级可以是与第二质量列表相关联的质量等级。

在640之后,并且附加地在625之后,在第一质量列表不包括最大数目的成员的情况下,流程图在645处继续,并且带宽优化模块355将新设备添加到第一质量列表。在650处,带宽优化模块向新设备传送请求以在与第一质量列表相关联的质量等级下接收数据流。在一个或多个实施例中,如果第一设备不具有足够的带宽以满足该请求,则第一设备可以不受尊崇。

在一个或多个实施例中,本公开中的优点在于,不存在针对媒体服务器参与以及因而相关联的等待时间的消除的要求。列表、准则和决策制定分布于每一个参与者并且没有依赖于集中式服务器。在如此做时,每一个对等会议单元处的带宽由单独的单元管理和优化。

以上描述意图为说明性而非限制性的。利用本公开的益处将领会到,依照所公开的主题的任何实施例或方面的以上所述特征可以单独地或者组合地与任何其它所述特征利用在所公开的主题的任何其它实施例或方面中。例如,以上所述实施例可以彼此组合地使用。关于以上标识的流程图,应当理解到,各种动作中的任一个可以以不同的次序或者彼此同时地执行。通过回顾以上描述,许多其它实施例将是本领域技术人员所显而易见的。本发明的范围因此应当关于随附权利要求连同赋予这样的权利要求的等同方案的完整范围来确定。在随附权利要求中,术语“包括”和“在其中”被用作相应术语“包含”和“其中”的平义英语等同替换。

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