一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

优化与不同的参与者的会议中的媒体体验的制作方法

2022-12-06 23:17:19 来源:中国专利 TAG:

优化与不同的参与者的会议中的媒体体验
1.本专利申请要求2021年6月4日提交的美国临时专利申请号63/197,214的权益,该临时专利申请以引用方式并入本文。


背景技术:

2.本公开的领域涉及通常通过计算机网络或一组网络的实时通信。
3.使用可在通信期间提供音频和视频的数据处理系统的实时通信(诸如视频电话)已经变得非常普遍。当前,存在此类通信的许多已知的示例,包括例如来自apple inc.,的facetime、来自cisco的webex、来自microsoft的teams、zoom等。这些视频电话通信允许参与者实时交谈,这与常规的音频电话类似,并且还允许在进行交谈时发送和接收图像,使得参与者在进行交谈时可看到彼此或看到它们的计算机屏幕或看到其他内容。这些通信可类似于到场与会并可称为会议或视听(av)会议。
4.通常情况是会议中的参与者使用可能具有不同的媒体能力的不同类型的数据处理系统。例如,一个参与者的数据处理系统可以是执行某一版本的windows操作系统的膝上型计算机,并且另一个参与者的数据处理系统可以是执行某一版本的android操作系统的智能电话,并且第三参与者的数据处理系统可以是执行某一版本的macos操作系统的imac台式计算机。这些不同的系统可具有不同的媒体能力,诸如不同的视频编解码器。由于这种差异,不同的系统被迫使用最低公共配置,但是这将不会为会议中的每个人带来最佳体验。使用最低公共配置的替代形式可以是使用在两个不同的系统之间执行媒体转码的服务器的方法。然而,当需要端到端安全性(例如,使在服务器处的内容不透明的加密)时,服务器不可能执行媒体转码,因为服务器无法对内容进行解密。


技术实现要素:

5.在一个实施方案中,在视听(av)会议中的参与者系统可使用方法来确保所有参与者具有公共平台以支持av会议,诸如公共编解码器和公共加密方法,并且还尝试基于支持更好的编解码器的参与者系统的子集的可用带宽和其他标准来提供更高质量av会议(例如,优于公共编解码器)。av会议可与端到端加密一起使用,使得不要求服务器媒体转码,并且不要求服务器解密,并且使用公共编解码器和公共加密方法可允许不同类型的数据处理系统参与会议。当带宽或其他标准指示该av会议的该质量降低时,该参与者系统还可使用公共编解码器作为回退平台。在一个实施方案中,参与者系统中的至少一些参与者系统应当能够使用优于公共编解码器的媒体编解码器;例如,当参与者系统的子集支持更好的编解码器时,那些参与者系统可发送和接收使用更好的编解码器编码的流,并且还可针对将使用公共编解码器的那些参与者发送和接收用公共编解码器编码的流(例如,因为它们不具有更好的编解码器,或者它们由于例如网络带宽减少而恢复使用公共编解码器)。在回退的情况下,如果会议中的其他参与者都不能够消耗那些流,则参与者系统应当不必须引起用更好的媒体编解码器编码和传输流的成本。而且,在回退的情况下,无法维持编码和传输多个流(诸如公共编解码器流和用更好编解码器编码的流)的参与者系统可仅传输公共编
解码器流并仍然参与会议。
6.本公开的一方面涉及响应于参与者(例如,第三数据处理系统)参加会议而按需创建公共编解码器流。根据该方面,方法可由在包括第一数据处理系统和第二数据处理系统以及第三数据处理系统还有一个或多个服务器的环境中的第一数据处理系统执行,并且该方法可包括以下操作:由第一数据处理系统向服务器传输第一数据处理系统的编解码器能力,该第一数据处理系统的编解码器能力指示第一数据处理系统中的第一组编解码器,该第一组编解码器可供在视听(av)会议中使用;由第一数据处理系统接收第二数据处理系统的第二组编解码器能力,该第二组编解码器能力指示第二数据处理系统中的第二组编解码器,第二组编解码器可供av会议中使用;在第一数据处理系统处接收来自第二数据处理系统的对接收av会议中的用第一编解码器编码的第一流的请求,该第一编解码器在第一数据处理系统中的第一组编解码器中;由第一数据处理系统将第一流传输到服务器来递送到第二数据处理系统;由第一数据处理系统接收来自第三数据处理系统的对av会议中的用第二编解码器编码的第二流的请求,该第二编解码器在第一组编解码器中并与第一编解码器不同;按需并响应于来自第三数据处理系统的请求,创建av会议中的第二流;以及将第二流传输到服务器来递送到第三数据处理系统,同时第一数据处理系统继续将第一流传输到服务器来递送到第二数据处理系统。
7.在该方法的一个实施方案中,在第一组编解码器中和第二组编解码器中的每个编解码器被配置成压缩av会议中的视频内容来传输到av会议中的其他参与者并被配置成对av会议中接收到的视频内容进行解压缩,并且第二编解码器是第一数据处理系统、第二数据处理系统和第三数据处理系统共同的且可供在该第一数据处理系统、第二数据处理系统和第三数据处理系统中使用的编解码器。该方法可支持不同类型的数据处理系统;例如,第一数据处理系统和第二数据处理系统可在av会议期间执行第一操作系统(例如,来自apple inc.的ios)的一个或多个版本,并且第三数据处理系统在av会议期间执行第二操作系统(例如,来自google的android)。在该示例中,第一数据处理系统和第二数据处理系统可使用facetime应用程序来参与av会议,并且服务器可以是facetime基础设施中的服务器,而第三数据处理系统使用web浏览器来参与av会议。
8.在该方法的一个实施方案中,第一数据处理系统可监测以下项中的一项或多项:来自第一数据处理系统的上行链路带宽、通向第一数据处理系统的下行链路带宽、关于第一数据处理系统的热状态的热数据或关于第一数据处理系统中的电池的电池状态;并且第一数据处理系统可响应于从监测确定的一个或多个条件,从向第二数据处理系统传输第一流切换到向第二数据处理系统传输第二流。在一个实施方案中,该交换可通过将第二流与第一流的流标识符相关联以使服务器将第二流转发到第二数据处理系统来发生。在另一个实施方案中,交换可通过以下操作来发生:将第一数据处理系统已经或将停止传输要递送到第二数据处理系统的第一流的指示传输到服务器来递送到第二数据处理系统;从第二数据处理系统接收对第二流的请求;以及由第一数据处理系统将第二流传输到服务器来递送到第二数据处理系统。
9.由服务器根据公共编解码器流的按需创建的该方面执行的方法可包括以下操作:由服务器从第一数据处理系统接收第一数据处理系统的编解码器能力,该第一数据处理系统的编解码器能力指示第一数据处理系统中的第一组编解码器,该第一组编解码器可供在
视听(av)会议中使用;由服务器向第一数据处理系统传输第二数据处理系统的第二组编解码器能力,该第二组编解码器能力指示第二数据处理系统中的第二组编解码器,第二组编解码器可供在av会议中使用;由服务器向第一数据处理系统传输来自第二数据处理系统的对接收av会议中的用第一编解码器编码的第一流的请求,该第一编解码器在第一数据处理系统中的第一组编解码器中;由服务器从第一数据处理系统接收第一流来递送到第二数据处理系统;由服务器向第一数据处理系统传输来自第三数据处理系统的对av会议中的用第二编解码器编码的第二流的请求,该第二编解码器在第一组编解码器中并与第一编解码器不同;以及在服务器处接收第二流来递送到第三数据处理系统,同时服务器继续将第一流传输到第二数据处理系统。
10.本公开的另一方面涉及在会议中参与者系统的至少一个子集的更好或最佳编解码器的用途。根据该方面,方法可由在包括第一数据处理系统和第二数据处理系统以及服务器的环境中的第一数据处理系统执行,并且该方法可包括以下操作:由第一数据处理系统向服务器传输第一数据处理系统的编解码器能力,该第一数据处理系统的编解码器能力指示第一数据处理系统中的第一组编解码器,该第一组编解码器可供在视听(av)会议中使用;由第一数据处理系统接收第二数据处理系统的第二组编解码器能力,该第二组编解码器能力指示第二数据处理系统中的第二组编解码器,第二组编解码器可供av会议中使用;由第一数据处理系统向服务器传输对在第二数据处理系统处由第一编解码器编码的第一流的请求,该请求基于第一组编解码器和第二组编解码器共同的最高质量编解码器在第一数据处理系统处的标准。
11.本文描述的方面和实施方案可包括非暂态机器可读介质,该非暂态机器可读介质可存储可执行计算机程序指令,该可执行计算机程序指令在被执行时使一个或多个数据处理系统在执行计算机程序指令时执行本文描述的方法。指令可存储在非暂态机器可读介质中,诸如存储在作为易失性存储器或非易失性存储器的动态随机存取存储器(dram)诸如闪存存储器或其他形式的存储器中。本文描述的方面和实施方案也可呈被构建或编程以执行这些方法的数据处理系统的形式。例如,数据处理系统可由硬件逻辑构建以执行这些方法,或者可用计算机程序进行编程以执行这些方法,并且此类数据处理系统可被认为是可在会议(诸如本文描述的av会议)中使用的参与者系统或服务器系统。
12.以上发明内容不包括本公开的所有实施方案和方面的详尽列表。所有系统、媒体和方法可根据以上发明内容的各个方面和实施方案以及以下具体实施方式公开的那些的所有合适的组合来实践。
附图说明
13.本发明以举例的方式进行说明,并且不仅限于各个附图的图形,在附图中类似的标号指示类似的元件。
14.图1示出了可与根据本文描述的实施方案一起使用的会议环境的示例。
15.图2a是示出根据一个实施方案的方法的流程图,该方法为新参与者系统创建新流(例如,用公共编解码器编码的流),同时维持另一个参与者系统的现有流。
16.图2b示出了可执行图2a示出的方法的一组参与者系统和服务器的示例。
17.图2c是示出可由图2b中的服务器系统执行的方法的流程图。
18.图3a是示出根据一个实施方案的方法的流程图,其中参与者系统使用不同的编解码器诸如公共编解码器回退到第二流。
19.图3b示出了可执行图3a示出的方法的一组参与者系统和服务器的示例。
20.图4a是示出根据另一个实施方案的方法的流程图,其中参与者系统使用不同的编解码器诸如公共编解码器回退到第二流。
21.图4b示出了可执行图4a示出的方法的一组参与者系统和服务器的示例。
22.图5a是示出根据一个实施方案的方法的流程图,该方法允许参与者系统在其他系统支持更好的编解码器时选择那些更好的编解码器。
23.图5b示出了可执行图5a的方法的一组参与者系统和服务器的示例。
24.图6示出了可用于实现参与者系统或服务器系统(例如,转发服务器)的数据处理系统的示例。
具体实施方式
25.将参考以下论述的细节来描述各种实施方案和方面,并且附图将对各种实施方案进行说明。以下说明书和附图为例示性的,并且不应被理解为限制性的。描述了许多具体细节,以提供对各个实施方案的全面理解。然而,在某些实例中,熟知的或常规的细节并未被描述,以便提供对实施方案的简明论述。
26.在本说明书中提到的“一个实施方案”或“实施方案”是指结合该实施方案所述的特定特征、结构或特性可被包括在至少一个实施方案中。在本说明书中的各个位置出现短语“在一个实施方案中”不一定都是指同一个实施方案。在随后的附图中所描绘的过程由包括硬件(例如,电路、专用逻辑部件等等)、软件或这两者的组合的处理逻辑部件来执行。虽然下文按照某些顺序操作来描述该过程,但应当理解,所描述的某些操作可以不同的顺序执行。此外,某些操作也可并行执行而非按顺序执行。
27.视音频会议实现了用户设备或系统(例如,在不同位置处)对音频和/或视频信号(通常作为流式传输内容)的接收和传输,以实现用户之间的实时通信。在一些情况下,两个用户可利用视听会议在其相应设备处在一对一通信中彼此通信。在其他情况下,多路视听会议可被多于两个用户利用以参与实时群组会话。
28.在多路视听会议的一些系统中,参与者系统中的一个或多个参与者系统可能经历网络降级。在一对一视听会议示例中,两个参与系统都可从高质量/比特率流切换到更低质量/比特率流,以便适应带宽降级。然而,当在视听会议中存在多于两个参与者时,将所有参与者设备切换到更低质量/比特率内容流,因为单个参与者设备具有带宽约束可能造成所有参与者的视听会议体验降级。当参与者系统是不同类型的系统(诸如在ios的版本上执行facetime的iphone和执行某一版本的android操作系统的智能电话)时,切换变得更复杂。
29.图1示出了可与本文描述的实施方案中的一个或多个实施方案一起使用的会议环境10的示例。然而,并非所有所描绘的部件均可在实施方案的所有具体实施中使用,并且一个或多个具体实施可包括与图示出的那些相比附加的或不同的部件。部件的布置和类型的变化可根据本文描述的实施方案进行,并且可根据本文描述的实施方案来提供附加部件、不同部件或更少部件。
30.会议环境10包括数据处理系统15、17和19、一个或多个计算机网络12(例如,互联
网)和一个或多个av会议服务器14。一个或多个网络12可通信地(直接或间接地)耦接例如数据处理系统15、17和19中的任两个或更多个数据处理系统和一个或多个服务器14,以允许在系统与一个或多个服务器间的数据交换。在一个或多个具体实施中,一个或多个网络12可以是可包括互联网和/或可通信地耦接到互联网的设备的互连网络。出于解释的目的,会议环境10在图1中示出为包括系统15、17和19和一个或多个服务器14;然而,会议环境10可包括任何数量的电子设备或数据处理系统和任何数量的服务器,通常数百万个设备或系统分散在大地理区域上。另外,会议环境10可包括不同类型的服务器,该服务器执行消息传送操作(例如,在参与者系统之间的推送通知或推送消息的传输)和注册操作(例如,用于注册facetime av会议系统的用户的facetime注册服务器)和用于设置在参与者系统诸如数据处理系统15、17和19间的会议的其他操作。一个或多个服务器14可以是用于促成在数据处理系统(诸如系统15、17和19)间的av会议的服务器云。在一个实施方案中,一个或多个服务器14可包括在美国专利号10,931,725中示出和描述的服务器108,该美国专利描述了在群组facetime架构或基础设施中使用的服务器;在该美国专利中描述的其他服务器(例如,其他选择性转发服务器)也可用于本公开描述的实施方案中。
31.数据处理系统15、17和19可以是例如台式计算机、便携式计算设备(诸如膝上型计算机)、平板计算机(例如,ipad)、智能电话(例如,iphone或android智能电话)、智能扬声器(例如,来自amazon的echo或echo show)、外围设备(例如,数字相机、耳机)、游戏设备或系统、可穿戴设备(诸如头戴式显示器或眼镜或智能手表等),或者包括例如一个或多个无线接口的任何其他适当的设备或消费电子设备,诸如wlan无线电、wifi无线电、蜂窝无线电、蓝牙无线电、zigbee无线电、近场通信(nfc)无线电和/或其他无线无线电。这些数据处理系统可被配置成参与视听会议,例如,其中数据处理系统15、17和19(也称为参与者设备或参与者系统)可参与其中在av会议中的参与者设备之间传输视频和/或音频内容流的群组会话。在本文描述的实施方案的上下文中,av会议将被理解为意指音频或视频中的至少一者在参与者系统之间作为流式传输内容传输的通信;通常,在一个实施方案中,传输音频和视频两者(假设至少一些参与者系统配备有相机),但是在一些情况下,当网络带宽降级到仅可从一些或所有参与者系统支持音频传输的点时,可仅传输音频。在一个实施方案中,仅音频传输可在av会议期间的任何点上(或甚至在整个av会议期间)发生。在一个实施方案中,参与者系统中的至少一些参与者系统可具有安装在参与者系统上的av会议应用程序(例如,facetime应用程序);在发送设备(例如,数据处理系统15)上的av会议应用程序可促成传输流式传输内容以由也具有与发送设备相同的媒体能力的相同的av会议应用程序(或该应用程序的某一版本)的至少一个其他参与者接收。在一个实施方案中,一个或多个参与者可能不包括专用av会议应用程序(例如,其不包括facetime应用程序),并且它们可使用web浏览器(或类似应用程序)参与av会议。在这种情况下,此类参与者系统可被称为web参与者,并且它们可使用已知协议,诸如webrtc或快速中继协议,以参与av会议。在一个实施方案中,音频和视频内容可用端到端加密进行加密,使得沿路径的中间服务器无法对内容进行解密。
32.现在将参考图2a、2b和2c而同时描述根据一个实施方案的方法。在该方法中,具有与现有参与者系统不同的媒体能力的新参与者系统(例如,参与者系统107,其可以是图2b中的web参与者)加入在现有参与者系统之间的正在进行的av会议(或至少发起的av会议),
从而使现有参与者系统用在参与者系统间共同的编解码器创建新流,同时原始两个现有参与者系统(例如,图2b中的参与者系统103和109)继续使用不同的(例如,更好的)编解码器彼此接收和发送内容。编解码器是压缩用于从设备传输的内容并将所接收的内容解压缩以供在设备处呈现(例如,显示图像和/或播放音频)的系统(例如,软件和硬件)。图2a示出了由现有参与者系统(例如,参与者系统103)中的一个现有参与者系统执行的方法,并且图2c示出了由转发服务器(例如,图2b中的转发服务器105)执行的方法。图2a示出的方法可在发起av会议之后开始;例如,当在参与者系统103处的用户经由视听会议应用程序选择其他参与者和/或可从不同的通信模式中发起视听会议,诸如群组文本消息传送、群组语音呼叫等时,可发生这种发起。例如,参与者可选自包括在存储在参与者系统103上的联系地址手册内的联系人。用户可通过选择由视听会议应用程序或联系地址手册应用程序或文本消息应用程序或语音呼叫应用程序提供的适当的用户界面元素来发起视听会议,从而提示经邀请的参与者在其相应的设备(例如,参与者系统107和109)处接受或拒绝参与视听会议。
33.在图2a中的操作51中,第一数据处理系统(例如,图2b中的参与者系统103)传输其编解码器能力(例如,第一组编解码器能力)以用于av会议中;该传输可被引导到选择性转发服务器诸如图2b中的选择性转发服务器105处(或用于促成av会议的设置服务器)并由其接收。在一个实施方案中,当其他参与者系统加入av会议时,该传输的内容然后可由选择性转发服务器转发到其他参与者系统。(在操作51中传输的)编解码器能力可以是第一数据处理系统处的可供在av会议中使用的所有可用编解码器(音频和视频两者)的详尽列表,并且还可包括所有可用加密方法(用于端到端加密)以及用于av会议中的其他可用能力(例如,丢失恢复技术)的列表。在操作53中,第一数据处理系统(例如,图2b中的参与者系统103)可从第二数据处理系统(例如,图2b中的参与者系统109)接收第二组编解码器能力,并且该接收到的第二组可以是可供在av会议中使用的所有可用编解码器(音频和视频两者)的详尽列表,并且还可包括所有可用加密方法(用于端到端加密)和可用于av会议中的其他可用能力(例如,丢失恢复技术)的列表。在操作55中,第一数据处理系统(图2b中的参与者系统103)可接收来自第二数据处理系统(例如,图2b中的参与者系统109)的对接收用第一编解码器(其为在操作51中传输的一组能力中的编解码器中的一个编解码器,并且是第二组能力中的编解码器中的一个编解码器)编码的第一内容(例如,视频)流的请求。在一个实施方案中,响应于在操作55中接收到的请求,第一数据处理系统可在操作57中传输第一流来通过转发服务器(例如,图2b中的转发服务器105)递送到第二数据处理系统。可由第一数据处理系统和第二数据处理系统两者共同的高或最高质量编解码器(基于例如内容分辨率或其他参数)对第一流进行编码。
34.在图2b示出的示例中,参与者系统103作为操作57的一部分向转发服务器105传输第一流115,该转发服务器继而又将第一流作为流117转发到参与者系统109,如图2b所示。当情况允许时,用第一(参与者系统103)和第二(参与者系统109)系统两者共同的最高质量编解码器(例如,第一编解码器)对第一流进行编码,以允许两个参与者系统经历最佳可能质量的视频或其他内容。参与者系统109还可向参与者系统103(通过转发服务器105)传输由两个系统103和109共同的第一编解码器编码的内容,该内容由参与者系统103接收、解压缩/解码和呈现。
35.当第三参与者(例如,图2b中的参与者系统107)加入av会议时,图2b中的参与者系
统103在图2a中的操作59中接收来自第三参与者的对用第二编解码器编码的第二流的请求(例如,图2b示出的请求或订阅121),该第二编解码器可以是在所有三个参与者(图2b示出的参与者系统103、107和109)处可用的公共编解码器,并且可与第一编解码器不同并可以是更低质量的编解码器(就图片质量或损失行为或分辨率等中的一者或多者而言)。在转发服务器从参与者系统107接收请求或订阅119之后,由转发服务器105转发请求121。在一个实施方案中,第三参与者可以是web参与者,其不包括参与者系统103和109用来发送和接收第一流115的第一编解码器;在一个实施方案中,转发服务器可尝试检验所有参与者系统包括在av会议中的所有参与者系统处可用的至少一个公共编解码器。响应于操作59中的请求,在操作61中,第一数据处理系统产生由可作为公共编解码器的第二编解码器编码的用于av会议的第二内容流(图2b示出的第二流123)。在一个实施方案中,第二流可由第一数据处理系统上的同一相机捕获,该相机还捕获第一流的内容(例如,视频)。在图2a的操作63中,参与者系统103将按需第二流123传输到图2b示出的转发服务器105。然后由转发服务器105将第二流123作为第二流125转发到参与者系统107,如图2b中所示。参与者系统103可在传输第二流123时继续创建和传输第一流115。图2a和图2b示出的方法允许参与者系统103和109继续使用比公共编解码器更好的编解码器,同时准许参与者系统107加入av会议。因此,在使用第二编解码器发送和接收来自参与者系统107的内容(例如,视频)时,参与者系统103和109可使用第一编解码器在它们之间发送和接收内容(例如,视频)。虽然图2b示出了来自参与者系统103的传输,但是应当理解,参与者系统103还从参与者系统107和109接收内容,并且参与者系统107和109还将内容传输到其他系统,使得图2b中的三个参与者系统中的每个参与者系统向其他参与者系统发送内容和从其他参与者系统接收内容。
36.图2c示出了在参与者系统107加入在参与者系统103和109之间的av会议时可由转发服务器(例如,转发服务器105)执行的方法。可在第一参与者系统(例如,参与者系统103)执行图2a示出的方法时执行图2c中的方法。在图2c示出的操作151中,转发服务器可接收第一数据处理系统(例如,图2b中的参与者系统103)的编解码器能力;这些编解码器能力然后可转发到av会议中的其他参与者系统。在图2c的操作153中,服务器可从第二数据处理系统(例如,图2b中的参与者系统109)接收第二组编解码器能力(例如,用于av会议的可用编码器的详尽列表),并且然后将第二组编解码器能力传输到第一数据处理系统。这种编解码器能力的交换允许每个参与者系统看到哪种能力在每个参与者系统处可用,以允许每个参与者系统在av会议中选择由期望编解码器编码的期望流。在图2c中的操作155中,转发服务器可向第一数据处理系统(例如,图2b中的参与者系统103)传输来自第二数据处理系统的对接收在第一数据处理系统上由第一编解码器编码的第一流(其中第一编解码器在第一数据处理系统处的可用编解码器列表中)的请求。然后在操作157中,转发服务器接收请求的第一流来递送到第二数据处理系统,并且转发服务器然后将第一流转发到第二数据处理系统。当然,转发服务器还可接收来自第一数据处理系统的对接收来自第二数据处理系统的在第二数据处理系统处用第一编解码器编码的流的请求(其中在第一数据处理系统和第二数据处理系统处使用的编解码器对于它们向彼此发送的流可相同),并且转发服务器可从第二数据处理系统接收流并将该流转发到第一数据处理系统。
37.在操作159中,转发服务器接收来自第三数据处理系统(例如,图2b中的参与者系统107)的对用图2b中的三个参与者系统共同的第二编解码器编码的第二流的请求,并且转
发服务器将请求传输到第一数据处理系统和第二数据处理系统(参与者系统130和109)。然后在操作161中,转发服务器接收所请求的第二流(用第二编解码器编码)并将第二流转发到第三数据处理系统,同时转发服务器继续将用第一编解码器编码的流转发到第一数据处理系统和第二数据处理系统。这准许参与者系统103和109继续使用比公共编解码器(第二编解码器)更好的编解码器(第一编解码器),同时准许参与者系统107加入av会议。在一个实施方案中,第一数据处理系统和第二数据处理系统可以是执行相同操作系统的版本(例如,ios的版本)并且共享相同媒体能力并使用相同av会议应用程序(例如,facetime)的设备,而第三数据处理系统可以是执行不同操作系统(例如,android操作系统)并且不包含facetime av会议应用程序的设备。
38.在一个实施方案中,使用更好的编解码器的参与者系统可在条件(例如,网络带宽、电池电量、热状态)允许如此使用时继续这样做;然而,条件可能将改变并要求切换到使用公共编解码器的回退方法。图3a和图3b示出了回退方法的一个具体实施,并且图4a和图4b示出了回退方法的另一个具体实施。
39.在图3a示出的方法中,不要求参与者系统提供关于流的改变的信令;而是,每个参与者被配置成准备好在接收到用公共编解码器编码的内容时在回退情况下切换到使用公共编解码器。在图2b示出的环境的上下文中,至少一个参与者将已经在使用公共编解码器。在图3a中的操作201中,每个参与者系统(例如,图3b中的参与者系统210和216)监测其局部状态,该局部状态可包括上传带宽、下载带宽、关于系统的热状态的热数据(例如,设备在其在av会议中发送了多个流时是否过热?)和一个或多个电池的电池状态(例如,电池是否已经消耗到低于一个或多个阈值?)。
40.该监测可在av会议期间周期性地发生。2020年6月19日提交的美国临时专利申请号63/041,549(由hsien-po shiang等人,并且名称为“在实时视频会议中使用视频数据进行网络带宽估计的高频探测(high frequency probing for network bandwidth estimation using video data in real-time video conference)”)提供了如何在av会议期间监测带宽的示例。因此,每个参与者系统诸如图3b中的参与者系统210、214和216可监测这些状态以确定是否存在要求回退到公共编解码器的条件。例如,如果用于参与者系统的网络带宽(例如,上传带宽)退化太多而无法支持多个编解码器流的传输,或者如果参与者系统已经太热而无法支持多个编解码器流的传输,或者主电池已经被消耗得过低而无法支持多个编解码器流的传输,则在图3a的操作203中,参与者系统从传输用第一(更好的)编解码器编码的第一流切换到传输用公共编解码器编码的第二流;在该切换期间的某个点上,参与者系统将停止传输第一流,使得其可仅向所有接收者传输第二流传输。在图3a中的操作203之前,图3b示出的示例中的参与者系统210将已经将第二流219传输到参与者系统214(同时还将第一流217传输到参与者系统216),因此可通过用第一流217的标识符标记第二流219或与该第一流的标识符相关联来执行切换,并且这将导致转发服务器212将第二流转发到参与者系统216(其先前已经订阅第一流)。将第二流用第一流的标识符标记或与该第一流的标识符相关联将自动地将第二流219转发到参与者系统216,并且参与者系统210一旦开始用第一流的标识符标记第二流219,就可停止传输第一流217。这种标记或关联可称为复合流标识符,因为在回退情况期间公共编解码器流与两个流标识符相关联。美国专利号10,931,725提供了关于用于av会议的复合流标识符的使用的另外的信息。
41.图3a和图3b示出的回退方法允许传输至少公共编解码器流和更好的编解码器流的参与者系统在回退情况(例如,网络退化)下立即切换到仅传输公共编解码器流,而不需要关于改变的信令或消息。因此,在必要时,此类参与者系统可非常快速地对改变条件做出反应。一旦条件改善(例如,网络带宽改善),参与者系统就可再次恢复到传输公共编解码器流219和第一流217两者;每个参与者系统可在回退情况之后执行操作201,以确定其是否可恢复两个流的传输。恢复到传输两个流要求参与者系统开始生成和传输第一流(用更好的编解码器编码)并停止用第一流的标识符标记第二流(其与第一流的标识符相关联)。
42.图4a和图4b示出的回退方法使用消息或信令来完成回退并且不使用复合流标识符。在图4a中的操作251中,每个参与者系统监测其局部状态;操作251可与图3a中的操作201类似。当监测示出要求回退时,参与者系统(例如,参与者系统275)通过从传输更好的编解码器流(第一流)和公共编解码器流两者切换到仅传输公共编解码器流来执行操作253。图4a示出的方法可在图4b示出的av会议的上下文中操作。该切换涉及将消息(例如,图4b示出的停止283消息)发送到转发服务器(例如,转发服务器277),该转发服务器继而又向已经从发送停止283消息的参与者系统275接收到第一流283的参与者系统(例如,参与者系统281)发送消息,并且来自转发服务器的该消息包括将不继续从参与者系统275传输第一流283的信息。在操作253之前,参与者系统已经通过转发服务器277创建公共编解码器流285并将其发送到参与者系统279,并且该参与者系统已经将更好的编解码器流283传输到参与者系统281。当回退条件发生时,参与者系统281接收消息(例如,基于停止283消息的数据)并然后通过向转发服务器277发送订阅消息(例如,订阅公共)来订阅公共编解码器流。该订阅消息使转发服务器277开始将公共编解码器流转发到参与者系统281。在一个实施方案中,一旦向转发服务器277传输停止283消息,参与者系统275可停止创建和传输更好的编解码器流283。参与者可继续监测其局部状态并在条件允许恢复传输更好的编解码器流时实现这种恢复。在一个实施方案中,恢复可涉及通过转发服务器发布新流(更好的编解码器流)的可用性,该转发服务器将发布的可用性转发到可使用更好的编解码器流的参与者系统;继而,这些参与者系统可再次订阅更好的编解码器流。
43.本公开的另一方面涉及在每个参与者系统处使用优选或最高质量编解码器,该参与者系统可利用这种使用,同时使用可供在av会议中的所有参与者系统处使用的公共编解码器。公共编解码器可用作不支持更好的编解码器(其中用公共编解码器编码的流的比特率的变化用于应对网络带宽改变)的一些参与者的主编解码器并还可用作可支持更好的编解码器的那些参与者系统的回退编解码器。该方面在图5a和图5b中示出,图5a示出了该方面的实施方案的方法,图5b示出了可使用图5a示出的方法的av会议环境的示例。在图5a中的操作301中,每个参与者系统可与所有其他参与者系统(或所有参与者系统的至少一个子集)交换其用于av会议中的编解码器能力的列表(以及任选地其他媒体相关能力)。例如,每个参与者系统可通过发送到转发服务器(诸如图5b示出的转发服务器317)的一个或多个消息发布其能力列表。这种交换的结果可为每个参与者提供在其他参与者处的可用编解码器并允许每个参与者从其他参与者的可用编解码器列表选择编解码器。这实现操作303,其中每个参与者可订阅每个参与者可用的优选或最高质量编解码器(对于更支持优选或最高质量编解码器而不是公共编解码器的那些参与者),同时允许此类参与者系统回退到在回退情况下使用公共编解码器。回退情况可使用以上描述的回退方法。在图5b示出的示例中,参
与者系统310和参与者系统312各自具有一组相同编解码器能力,其包括公共编解码器(编解码器x)。参与者系统316和314各自具有一组相同编解码器能力,其包括公共编解码器。在该示例中,参与者系统310和312可在不处于回退条件时(例如,当网络带宽太低时)选择更好的编解码器诸如编解码器a或b,以在av会议中的这些系统310和312之间传输和接收流,并且这些参与者系统310和312可向参与者316和314传输和接收公共编解码器编码的流。参与者316和314可从所有其他参与者传输和接收公共编解码器流。当存在回退条件(例如,网络带宽降低或热状态过热或电池电量过低)时,公共编解码器流可用作参与者310和312的回退流。
44.本文描述的实施方案还可使用由服务器系统(诸如转发服务器)执行的附加方法,以匹配不同的参与者系统。例如,在一个实施方案中,服务器可操纵、添加或移除媒体头和控制命令来以不同的媒体能力匹配不同的参与者系统,因此它们可加入并维持av会议。例如,服务器可辅助在丢失恢复、媒体同步、诸如图像/视频定向的媒体属性和诸如音频功率(例如,音量)级别的媒体属性以及传输头和附加加密(在需要时)方面不同的参与者系统。
45.图6示出了可与一个实施方案一起使用的数据处理系统800的一个示例。例如,可实现系统800以提供执行本文描述的方法中的任一种方法的系统或设备。例如,系统800可用于实现参与者系统或转发服务器。需注意,虽然图6示出了设备的各种部件,但其并不旨在表示使这些部件互连的任何特定架构或方式,因此此类细节与本公开并无密切关系。还应理解,具有较少部件或可能具有较多部件的网络计算机和其他数据处理系统或其他消费电子设备也可用于本公开的实施方案。
46.如图6所示,数据处理系统形式的设备800包括耦接到微处理器805、rom(只读存储器)807、易失性ram 809和非易失性存储器811的总线803。该一个或多个微处理器805可从存储器807、809、811检索指令并执行所述指令以执行上述操作。该一个或多个微处理器805可包含一个或多个处理内核。总线803与这些各种部件互连在一起,并且还将这些部件805、807、809和811互连至显示控制器和显示设备813,以及互连至外围设备诸如输入/输出(i/o)设备815,该输入/输出(i/o)设备可以是触摸屏、鼠标、键盘、调制解调器、网络接口、打印机和本领域熟知的其他设备。通常,输入/输出设备815通过输入/输出控制器810耦接到系统。易失性ram(随机存取存储器)809通常被实现为需要连续供电以刷新或保持存储器中的数据的动态ram(dram)。
47.非易失性存储器811通常为即使在系统断电后也保持数据(例如,大量数据)的磁性硬盘驱动器、或磁光驱动器、或光驱、或dvd ram、或闪存存储器、或其他类型的存储器系统。通常,该非易失性存储器811也可以是随机存取存储器,虽然这并非是必需的。虽然图6示出了该非易失性存储器811是直接耦接到数据处理系统中的其余部件的本地设备,但是应当理解,本公开的实施方案可利用远离系统的非易失性存储器,诸如通过网络接口诸如调制解调器、以太网接口或无线网络耦接到数据处理系统的网络存储设备。该总线803可包括通过本领域熟知的各种桥接器、控制器和/或适配器相互连接的一个或多个总线。
48.上文所述内容的部分可以利用诸如专用逻辑电路之类的逻辑电路或者利用微控制器或者其他形式的执行程序代码指令的处理核来实现。从而,可利用程序代码诸如机器可执行指令来执行上述讨论所教导的过程,该机器可执行指令使得机器执行这些指令以执行某些函数。在该上下文中,“机器”可为将中间形式(或“抽象”)指令转换为特定于处理器
的指令(例如,抽象执行环境诸如“虚拟机”(例如,java虚拟机)、解译器、公共语言运行时、高级语言虚拟机等)的机器,和/或设置在被设计用于执行指令的半导体芯片(例如,利用晶体管实现的“逻辑电路”)诸如通用处理器和/或专用处理器上的电子电路。上述讨论所教导的过程也可通过(作为机器的替代或与机器结合)电子电路来执行,该电子电路被设计用于执行过程(或其一部分)而不执行程序代码。
49.本公开还涉及一种用于执行本文所述的操作的装置。该装置可专门被构造用于所需的目的,或者可包括由存储在设备中的计算机程序选择性地激活或重新配置的通用设备。此类计算机程序可存储在非暂态计算机可读存储介质中,诸如但不限于任何类型的盘,包括软盘、光盘、cd-rom和磁光盘、dram(易失性)、闪存存储器、只读存储器(rom)、ram、eprom、eeprom、磁卡或光卡,或者适用于存储电子指令的任何类型的介质,并且每一者均耦接到设备总线。
50.机器可读介质包括用于以机器(例如计算机)可读形式存储信息的任何机构。例如,非暂态机器可读介质包括只读存储器(“rom”);随机存取存储器(“ram”);磁盘存储介质;光学存储介质;闪存设备;等。
51.制品可用于存储程序代码。存储程序代码的制品可体现为但不限于一个或多个非暂态存储器(例如,一个或多个闪存存储器、随机存取存储器(静态、动态或其他))、光盘、cd-rom、dvd rom、eprom、eeprom、磁卡或光卡,或者适用于存储电子指令的其他类型的机器可读介质。也可借助体现在传播介质(例如,经由通信链路(例如,网络连接))中的数据信号来将程序代码从远程计算机(例如,服务器)下载到请求计算机(例如,客户端)并然后存储在客户端计算机中的非暂态存储器(例如,dram或闪存存储器或两者)中。
52.已按照对设备存储器内的数据位进行操作的算法和符号表示来呈现前面的详细描述。这些算法描述和表示是数据处理领域的技术人员所使用的工具,而这些工具也能最有效地将其工作实质传达给该领域的其他技术人员。算法在这里并通常是指导致所希望的结果的操作的自相一致的序列。这些操作是需要对物理量进行物理操纵的那些操作。通常但非必要地,这些量采用的形式为能够被存储、传递、组合、比较以及以其他方式操纵的电或磁信号。已被证明其在主要出于通用原因而将这些信号指代为位、数值、元素、符号、字符、术语、数字等时是方便的。
53.然而,应当牢记的是,所有这些以及类似的术语都与适当的物理量相关联,并且其只是应用于这些量的方便标签。除非另外特别说明,否则从上述讨论中显而易见的是,可以理解,在整个说明书中,使用术语诸如“接收”、“确定”、“发送”、“终止”、“等待”、“改变”等的讨论是指对设备或类似的电子计算设备的行动和处理,这些设备可对设备的寄存器和存储器内表示为物理(电子)量的数据进行操纵,并将其转换成在设备存储器或寄存器或其他此类信息存储、传输或显示设备中相似地表示为物理量的其他数据。
54.本文中所呈现的过程和显示并不固有地与任何特定设备或其他装置相关。根据本文的教导内容,各种通用系统可与程序一起使用,或者可证明其便于构造用于执行所述操作的更专用的装置。根据下文的描述,用于各种这些系统的所需结构将是显而易见的。此外,本公开未参照任何特定的编程语言进行描述。应当理解,多种编程语言可用于实现如本文所述的本公开的教导内容。
55.在上述说明书中,已描述特定示例性实施方案。显而易见的是,可在不脱离以下权
利要求所给出的更广泛的实质和范围的情况下对那些实施方案作出各种修改。相应地,说明书和附图被视为是例示性意义而不是限定性意义。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献