用于视频通话的速率调整的制作方法

文档序号:7886197阅读:234来源:国知局
专利名称:用于视频通话的速率调整的制作方法
用于视频通话的速率调整相关申请该PCT申请要求于2010年10月7日提交的题目为“Real-Time ConversationsThrough Video Calling”的美国临时专利申请n0.61/390,974的优先权。美国临时专利申请n0.61/390, 974的全部内容通过引用的方式结合于此。该PCT申请要求于2011年7月22日提交的题目为“Rate Adaptation for VideoCalling”的美国专利申请n0.13/189,281的优先权。美国专利申请n0.13/189,281的全部内容通过引用的方式结合于此。
背景技术
近年来,电信已经从有线通话发展成无线通话并从电路交换网络发展成分组交换网络。除了语音通话,如今 电信设备允许一系列的通信,从电子邮件至文本消息,支持许多应用程序,并提供了很多数据服务,该数据服务包括因特网浏览和视频流。因特网浏览和视频流使得电信设备用户能够在其电信设备上从因特网网站查看流入的视频片段。这些技术和其它的集合已导致通过电信设备及它们相关联的服务供应方支持视频通话。视频通话提供了会话伙伴的实时视频以伴随在任何语音或视频通话中实时交换的音频。用于使视频流至电信设备的现有技术不能很好地给出视频通话的实时需求。在将视频从网站流出的情况中,接收到内容的缓冲器被建立在接收设备上以使得网络带宽中的波动对于电信设备用户是不透明的。因为当网络连接中断或拥塞时内容的缓冲器可以用于回放,对于电信设备用户来说回放似乎是连续的而不是中断的。虽然这种连续的回放在视频通话中很重要,但是任何有意义的缓冲所需的延时不能对实时会话起作用。接收到的视频和音频在其被接收到时必须向用户播放以为了通信具有传统上与语音通话相关联的实时品质。在未使用有意义的缓冲的情况中,然而,在网络上进行的语音通话的视频帧和音频帧的传输遭受中断、拥塞,并且使覆盖的质量和类型不同可能导致以暂停和丢失视频和音频帧的形式在视频通话中出现非常明显的小故障。


具体的描述将参考附图进行阐述,其中参考编号的最左边的数字标识附图编号,参考编号首先出现在附图中。不同附图中相同参考编号的使用指示相似或相同的项目或特征。图1示出了根据不同实施方式的包括参与视频通话的多个电信设备和促进视频通话的服务器的示例性情况。图2示出了根据不同实施方式的显示基于链路质量调整视频通话的帧速率的示例性电信设备实施的方法的流程图。图3示出了根据不同实施方式的显示基于链路质量调整视频通话的帧速率的示例性服务器实施的方法的流程图。图4示出了根据不同实施方式的示例性电信设备系统架构。
图5示出了根据不同实施方式的计算设备系统架构的示例。
具体实施例方式于此描述了用于至少基于电信设备的上行链路和下行链路链路质量来调整参与实时视频通话的电信设备的帧速率的技术。每个电信设备可以调整帧速率(其以该帧速率至少基于上行链路链路质量传送视频通话的视频和音频帧),并请求其会话伙伴基于下行链路链路质量调整其帧速率。在一些实施方式中,链路质量确定和速率调整可以至少部分由服务器执行,诸如电信设备供应方的服务器。示例性情况图1示出了根据不同实施方式的包括参与视频通话的多个电信设备和促进视频通话的服务器的示例性情况。如图1所示,第一电信设备102可以在网络106上参与与第二电信设备104的视频通话。在一些实施方式中,电信服务供应方的服务器108可以参与建立视频通话。视频通话可以包含使用以第一帧速率传送视频和音频帧110的第一电信设备102和以第二帧速率传送视频和音频帧112的电信设备104进行视频和音频的交换。第一电信设备102和第二电信设备104还可以使用控制层114交换信令消息。第一电信设备102和第二电信设备104中的每一者可以包括用于建立视频通话并交换视频和音频帧110/112的视频通话模块116、用于确定上行链路和下行链路链路质量的链路质量确定模块118、用于基于上行链路和下行链路链路质量调整第一帧速率和第二帧速率的速率调整模块120、以及用于在预测上行链路和下行链路链路质量中使用的模型122。在一些实施方式中,服务器108还可以包括视频通话模块124、链路质量确定模块126、速率调整模块128及模型130。服务器108可以通过信令消息132与电信设备102和104通信以达到视频通话的建立和帧速率的调整的目的并可以从电信设备102/104中的一个向另一个提供视频和音频帧132。在不同的实施方式中,第一电信设备102和第二电信设备104的每一者可以为任何类型的电信设备,诸如智能电话、蜂窝式电话、个人数字助理(PDA)、个人计算机(PC)、便携式电脑、台式电脑、工作站、媒体播放器、游戏设备、电视、媒体中心等。为了能够进行视频通话,第一电信设备102和第二电信设备104中的每一者可以装备有前置摄像头(即,摄像头与显示器位于电信设备102/104的同一个表面上)或具有能够连接至外围摄像头的端口。并且,如上所述及于此进一步详细描述的,每个电信设备102/104可以被配置有视频通话模块116、链路质量确定模块118、速率调整模块120及模型122。示例性电信设备102/104在图4中将更加详细地示出并且以下参考该图详细地进行描述。在一些实施方式中,网络106可以包括向电信设备102/104提供多种电信服务(包括视频通话)的电信服务供应方的电信网络。电信网络106可以包括服务器108和多个计算设备(例如,由一个或多个广域网(WAN)、一个或多个局域网(LAN),和/或一个或多个个人局域网(PAN)连接的)。电信网络106的这些计算设备之间的通信可以是有线的、无线的或二者的结合。这些通信可以利用本领域已知的任何种类的电信协议来发送和接收消息,诸如,传输控制协议/ 因特网协议(TCP/IP)、超文本传输协议(HTTP)、可扩展通讯和表示协议(XMPP, Extensible Messaging and Presence Protocol),和 / 或会话发起协议(SIP)。这些协议中的任何一个或多个协议还可以被用于通过电信网络106的基站或其它接入点与电信设备102/104进行通信并用于进一步地与诸如WAN、LAN、PAN或因特网的一个或多个其它网络通信。在一些实施方式中,网络106的基站和接入点可以通过多种类型的网络与电信设备102/104通信,该多种类型的网络尤其包括IG网络、2G网络、3G网络、4G网络、后一代网络、W1-Fi网络,或W1-Max网络。当电信设备102/104在不同位置间移动时,它们可以通过提供不同类型的网络的不同的基站和接入点来访问网络106。例如,第一基站可以提供4G网络而第二基站可以提供3G网络。当电信设备102/104从第一基站的小区移动至第二基站的小区时,电信设备102/104从4G网络连接转换为3G网络连接。在一种实施方式中,与第二基站相关联的小区可以包括与WiFi网络相关联的位置。在这种实施方式中,当电信设备102/104到达与WiFi网络相关联的位置时,其可以连接至WiFi网络而不是3G网络。虽然服务器108被显示为单个计算设备,但是服务器108可以按照任何一个或多个计算设备来实施,诸如PC、便携式计算机、工作站、服务器系统、大型计算机、服务器机群,或任何其它计算设备。组成服务器108的一个或多个计算设备还可以通过一个或多个网络连接,诸如WAN、LAN、PAN或因特网,并且可以利用本领域中已知的任何种类的通信协议来发送和接收消息,诸如TCP/IP、HTTP或任何其它协议。并且,服务器108的视频通话模块124、链路质量确定模块126、速率调整模块128及模型130可以在单个计算设备中实施或分布在服务器108的多个计算设备中。例如,服务器108的一个计算设备可以实施视频通话模块124且另一个可以实施链路质量确定模块126、速率调整模块128及模型130。示例性服务器108在图5中被更加详细地示出并且以下将参考该附图详细地进行描述。在不同的实施方式中,第一电信设备102和第二电信设备104可以通过信令消息和交换信令消息来建立视频通话。在一些实施方式中,负责交换这些消息的第一和第二电信设备102和104的模块可以是视频通话模块116。例如,如果第一电信设备102发起视频通话,则第一电信设备102的视频通话模块116可以通过服务器108或通过电信服务供应方的一些其它设备向第二电 信设备104发送邀请以参与视频通话。然后,第二电信设备104可以回复应答,在第一电信设备102和第二电信设备104之间建立控制层114。使用控制层114、第一电信设备102和第二电信设备104可以进一步交换用于建立视频通话的消息。一旦视频通话被建立,第一电信设备102以第一帧速率向第二电信设备104传送视频和音频帧110,并且第二电信设备104以第二帧速率传送视频和音频帧112。在一些实施方式中,基于网络、设备或与第一电信设备102和第二电信设备104中每一者相关联的用户特性而有条件地建立视频通话。这种网络、设备或用户特性可以包括当前网络连接类型、当前网络负载、设备特性(如,设备是否就有前置摄像头)、或用户特征(如,用户是否登录)。当第一电信设备102发起视频通话时,第一电信设备102的视频通话模块116可以首先确定网络、设备或第一电信设备102的用户特性。例如,视频通话模块116可以确定第一电信设备102是否被连接至3G网络、4G网络、WiFi网络等,第一电信设备102是否具有前置摄像头,和/或第一电信设备102的用户是否登录。在一些实施方式中,视频通话模块116然后基于网络、设备或用户特性(诸如基于特定网络类型)来发起视频通话。在一个实施方式中,那些一个或多个特定网络类型包括4G网络和WiFi网络。在这类实施方式中,如果第一电信设备102被连接至3G网络,则视频通话模块116将不发起视频通话。转而,视频通话模块116可以通知第一电信设备102的用户或应用程序视频通话当前是无效的。在一个实施方式中,在建立视频通话之前,发起的电信设备102/104可以接收来自服务器108的通知,该通知告知电信设备102/104WiFi网络在电信设备102/104的位置处是可用的。当电信设备102/104在WiFi网络可用的位置处被连接至3G网络时,电信设备102/104可以接收来自服务器108这种警告。该警告还可以告知电信设备102/104的用户连接至WiFi网络将使得用户能够参与视频通话。在不同实施方式中,第一电信设备102和第二电信设备104之间的视频通话可以为实时会话,该实时会话包含在视频和音频帧110和112中传送的视频和音频数据的实时交换。在视频和音频数据被接收到时,视频通话模块116可以通过电信设备平台或其它应用程序来提供视频和音频数据以用于渲染(rendering)。在一些实施方式中,视频通话模块116可以缓冲接收到的视频和音频数 据,但是缓冲的数据的数量足够小以致于在视频和音频数据的实时回放中不会引入延迟。在这类实施方式中,缓冲超过时间量阈值的视频和音频数据可以被丢弃。在另一实施方式中,参与实时视频通话的电信设备102和104中的一者或二者可以在视频通话期间变化位置,这导致了不同的网络连接类型或不同的网络负载。例如,电信设备102/104可以从具有4G网络可用性的小区移动至具有3G网络可用性的小区。响应于检测到网络连接类型的变化,该移动的电信设备102/104的视频通话模块116可能使视频通话掉线,通知该移动的电信设备102/104的用户必须连接至WiFi网络或者通话将掉线,或者从视频通话转换为语音通话、及时消息会话、文本消息或电子邮件。在不同的实施方式中,第一电信设备102的链路质量确定模块118和第二电信设备104的链路质量确定模块118可以被配置成确定用于它们各自的电信设备102和104的上行链路和下行链路链路质量。链路质量指的是链路(诸如上行链路信道或下行链路信道)在特定时间的数据吞吐量的能力。在一些实施方式中,链路质量包括信号强度和/或信噪比的测量。上行链路链路质量是电信设备在传送数据中所使用的射频频谱的上行链路信道的链路质量。下行链路链路质量是电信设备在接收数据中所使用的射频频谱的下行链路信道的链路质量。链路质量确定模块118可以响应于诸如视频通话的建立的事件来确定上行链路和下行链路链路质量,或者可以通过周期性地确定那些链路质量来监测上行链路和下行链路链路质量。在一些实施方式中,链路质量确定模块118还可以监测网络连接类型的变化或接收来自视频通话模块116的网络连接类型变化的通知。在不同的实施方式中,电信设备102/104的链路质量确定模块118可以基于模型122确定上行链路和下行链路链路质量的预测。模型122可以包括历史数据,该历史数据用于指示在特定日期和时间时电信设备102/104的位置以及在那些日期和时间时的那些位置处的链路质量。在一个实施方式中,模型122还可以或替代(instead)为事件数据。基于这些模型122及当前日期/时间的任意一者或二者或电信设备102/104的位置,链路质量确定模块118可以预测电信设备102/104的上行链路和下行链路链路质量以及那些链路质量在时间周期上的变化。这些预测可以被使用以替代确定的链路质量或可以用于修改确定的链路质量。响应于确定链路质量变化,与被确定变化的电信设备102/104相关联的速率调整模块120可以被调用以执行调整帧速率或请求另一电信设备102/104调整它的帧速率中的一者或二者。响应于确定上行链路链路质量已经变化,速率调整模块120调整帧速率,其电信设备102/104以该帧速率传送视频和音频帧110/112。响应于确定下行链路链路质量已经变化,速率调整模块120请求该另一电信设备102/104调整该帧速率,其以该帧速率向请求的电信设备102/104传送视频和音频帧110/120。在一些实施方式中,对帧速率的调整程度直接地与链路质量中的变化成比例。该比例可以是线性的、指数的、对数的,或其它种类的比例。因此,链路质量的提高可能导致速率调整模块120增加帧速率或请求另一电信设备102/104增加其帧速率。链路质量的降低可能导致速率适用模块120降低帧速率或者请求另一电信设备102/104降低其帧速率。另夕卜,调整程度可以基于链路质量变化和用于实时视频通话的帧速率范围二者。例如,如果一个电信设备102/104的链路质量确定模块118确定上行链路链路质量已经降低且下行链路链路质量已经提高,则该电信设备102/104的速率调整模块120可以降低该电信设备102/104的帧速率并请求另一电信设备102/104增加其帧速率。另外,在一些实施方式中,速率调整模块120在第一电信设备102与第二电信设备104之间的控制层114上传送请求以调整帧速率。每个请求可以包括作为用于调整帧速率的请求的其本身的标识和请求的电信设备102/104的下行链路链路质量的指示二者。在不同的实施方式中,速率调整模块120基于电信设备102/104的上行链路链路质量和在从电信设备102和104的另一者接收到的速率调整请求中特定的下行链路链路质量二者来调整其电信设备102/104的帧速率。速率调整模块120确定那两个链路质量中的较低者并基于该较低的链路质量来调整帧速率。例如,如果电信设备102/104的上行链路链路质量为强而另一电信设备102/104的下行链路链路质量为弱,则速率调整模块120基于另一电信设备102/104的下行链路链路质量来调整帧速率。在一些实施方式中,电信设备102/104的速率调整模块120可以响应于网络连接类型变化来调整该电信设备102/104的帧速率并请求另一电信设备102/104调整该帧速率。例如,如果电信设备102/104 从4G网络变成3G网络,则该电信设备102/104的速率调整模块120可以降低该电信设备102/104的帧速率并请求另一电信设备102/104的帧速率降低。在其它实施方式中,如上文所述,电信设备102/104可以响应于这类网络连接类型变化来替代视频通话的掉线或转换成语音通话或其它通信媒体。在一个实施方式中,电信设备102/104的速率调整模块120接收来自服务器108的指示以调整它们的巾贞速率,而不是接收来自链路质量确定模块118的链路质量的指示。然后速率调整模块120可以根据所接收的指示调整它们的帧速率。在不同的实施方式中,如上文所述,服务器108还可以参与在电信设备102和104之间建立视频通话。服务器108的视频通话模块124可以接收来自发起视频通话的电信设备102/104的信令消息132并可以向被呼叫(call)的电信设备102/104有条件地提供信令消息132。视频通话模块124可以基于网络、设备或当事者中的一者或二者的用户特性有选择地向视频通话提供信令消息。例如,如果电信设备102和104中的任何一者被连接至不是4G网络或WiFi网络的网络,则视频通话模块124可能使视频通话掉线。在其它实施方式中,除基于网络、设备或用户特性调整电信设备102和104的一者或二者的帧速率以夕卜,视频通话模块124可以建立通话。
在一些实施方式中,视频通话模块124或服务器108的其它模块可以定期确定在WiFi连接为可用的地方电信设备102/104是否被连接至除了 WiFi以外的网络。在一个实施方式中,视频通话模块124或其它模块可以基于模型130确定具有WiFi连接的位置,该模块130可以指示电信设备102和104先前经由WiFi网络连接至网络106的位置。响应于确定WiFi可用性,视频通话模块124或其它模块可以警告电信设备102/104WiFi连接为可用的并且至WiFi网络的连接将使其能够参与视频通话。在另一实施方式中,响应于来自想要与当前未连接至WiFi的电信设备102/104进行视频通话的电信设备102/104的信令消息132,该警告可以通过视频通话模块124或其它模块被发送。在这类实施方式中,该警告还可以提及通话电信设备102/104的身份,开始至WiFi网络的连接将使能与该通话的电信设备102/104进行视频通话。在视频通话期间,服务器108可以从每个电信设备102/104向另一电信设备102/104传递视频和音频帧132。在整个视频通话中,视频通话模块123可以监测在整个视频通话中可能变化的电信设备102和104的网络连接类型。响应于检测至不是4G网络或WiFi网络的网络变化,视频通话模块124可能使视频通话掉线。在其它实施方式中,视频通话模块124可以基于网络连接类型来调整电信设备102和104中的一者或二者的帧速率。在不同的实施方式中,服务器108的链路质量确定模块126确定电信设备102和104的上行链路和下行链路链路质量。链路质量确定模块126可以基于如视频通话的建立来执行该确定,或者可以周期性地执行该确定。在一个实施方式中,确定电信设备102和104的上行链路和下行链路链路质量可以简单地包含接收来自电信设备102和104的那些链路质量的指示。在不同的实施方式中,链路质量确定模块126可以基于模型130来确定上行链路和下行链路链路质量的预测。模型 130可以包括历史数据,该历史数据指示在特定日期和时间时电信设备102和104的的位置及在那些日期和时间的那些位置处的链路质量。在一个实施方式中,模型130还可以或替代为事件数据。基于这些模型130及当前日期/时间的任意一者或二者或电信设备102和104的位置,链路质量确定模块126可以预测电信设备102和104的上行链路和下行链路链路质量以及那些链路质量在时间周期上的变化。这些预测可以被使用以替代确定的链路质量或者可以被用于修改确定的链路质量。响应于确定至链路质量的变化或网络连接类型的变化,速率调整模块128可以调整电信设备102和104中的一者或二者的帧速率。如上文所述,这种帧速率的调整可以直接与链路质量变化成比例。又如上文所提及的,调整程度可以基于链路质量变化和用于实时视频通话的帧速率的范围二者。速率调整模块128可以基于用于第一电信设备102的上行链路链路质量和用于第二电信设备104的下行链路链路质量中的较低者来调整第一电信设备102的帧速率。速率调整模块128还可以基于用于第二电信设备104的上行链路链路质量和用于第一电信设备102的下行链路链路质量中的较低者调整第二电信设备104的帧速率。速率调整模块128可以以多种方式中的任何方式来执行调整。在一些实施方式中,速率调整模块128可以指示电信设备102和104调整它们的帧速率,在指示中指示调整的类型(增加或降低帧速率)及调整的程度。在其它实施方式中,服务器108可以充当中介,接收和传送在电信设备102和104之间交换的视频和音频帧132。在这类实施方式中,速率调整模块128可以在其接收及传送的每m个视频和音频帧110/112中丢弃(drop) η个,η小于m。η的大小可以基于调整寻求的程度由速率调整模块128来确定。示例件操作图2示出了根据不同实施方式的显示基于链路质量调整视频通话的帧速率的示例性电信设备实施的方法的流程图。如块202处所示,诸如第一电信设备102的电信设备建立与诸如第二电信设备104的另一电信设备的视频通话(call)。响应于电信设备中的一个发起与另一电信设备的视频通话,这两个电信设备可以建立视频通话。在块202a处,如果被叫电信设备未连接至多个指定网络类型(诸如4G网络或WiFi网络)中的一个网络,则来自发起的电信设备的通话可以由电信服务供应方终止。如果被叫电信设备被连接至另一个网络类型(诸如2G或3G网络),则电信供应方可以终止该通话。在一些实施方式中,在建立视频通话之后,电信设备中的一者可以切换网络类型,诸如从4G网络至3G网络的连接。如下文所述,在响应中,视频通话可以被终止或者可以调整帧被传送时的速率。在块202b处,视频通话的建立可以基于电信设备的一者或二者是否被连接至4G网络或WiFi网络而被有条件地执行。因此,如果电信设备的用户未被连接至WiFi或4G网络,则用户的电信设备甚至可能不将发起视频通话的选项呈现给用户。在块204处,每个电信设备可以经由显示链路质量的电信设备平台确定其上行链路链路质量和下行链路链路质量。在块204a处,每个电信设备还可以或替代地基于与电信设备相关联的历史模型确定里链路质量。该历史模型可以包括与通话电信设备的用户在特定日期和时间时的位置相关联的链路质量。结合系统时间及可选择的位置的使用,每个电信设备可以预测当前及将来的上行链路链路质量和下行链路链路质量。在块206处,在确定链路质量之前、期间或之后中的任一时候,电信设备中的一者或二者可以接收来自电信设备的另一者的请求,该请求用于请求调整该一个或多个电信设备传送视频通话的视频和音频帧的帧速率。

在块208处,每个电信设备可以调整电信设备传送视频通话的视频和音频帧的帧速率。例如,在块208a处,如果电信设备确定上行链路链路质量已经降低,则电信设备可以基于上行链路链路质量的降低来降低帧速率。在块208b处,每个电信设备可以基于其上行链路链路质量和另一信设备的下行链路链路质量中的较低者来调整帧速率,下行链路链路质量在块206处接收的请求中被指定。在块210处,每个电信设备还可以或替代请求另一电信设备调整帧速率,另一电信设备以该帧速率传送视频通话的视频和音频帧。该请求可以指定电信设备的下行链路链路质量以使得该请求能够使另一电信设备基于指定的下行链路链路质量调整其帧速率。例如,在块210a,如果请求的电信设备确定其下行链路链路质量已经提高,则电信设备可以请求另一电信设备增加其帧速率。在块212处,电信设备可以根据调整的帧速率交换视频通话的视频和音频帧。如在块212a处所注意到的,帧可以被实时交换,且缓冲超过时间量阈值的视频和音频帧被丢弃。在块214处,每个电信设备可以周期性地监测其上行链路和下行链路链路质量,以及在块216处,响应于上行链路和下行链路链路质量的变化,执行块208的调整或块210的请求中的至少一者。
图3示出了根据不同实施方式的显示基于链路质量调整视频通话的帧速率的示例性服务器实施的方法的流程图。在块302处,电信服务供应方的服务器可以告知其订购者中的一者WiFi连接是可用的。该订购者及其电信设备可以位于已知WiFi为可用但是可能仅例如被连接至3G网络的位置。基于检测这些情况,服务器可以经由通过WiFi可用的电信设备提供的警告或其它消息来告知订购者。服务器还可以告知订购者WiFi连接将使得订购者能够参与视频通话。在一个实施方式中,该警告可以响应于来自期望使用WiFi可用性进行视频通话的另一订购者的请求而被提供。在块304处,服务器接收来自电信设备的视频通话的发起,该电信设备可以为接收上述警告的相同设备的或另一电信设备。在块306处,响应于发起,服务器基于这些电信设备的网络连接类型在发起视频通话的电信设备与被指定为被叫方的另一电信设备之间有条件地建立视频通话。在块306a处,如果设备中的一者或二者未连接至4G或WiFi网络,则服务器可以终止视频通话。然后服务器可以充当中介,进行从每个电信设备至另一电信设备的视频和音频帧的通信。在块308处,服务器确定电信设备的链路质量,该电信设备为建立的视频通话的当事人。这些链路质量可以包括每个设备的上行链路和下行链路链路质量。在块308a处,链路质量的确定包括基于电信设备中的一者或二者的位置预测信号强度。在块310处,服务器基于确定的链路质量来调整至少一个电信设备的帧速率,该帧速率为每个电信设备传 送视频通话的视频和音频帧所使用的速率。服务器可以基于一电信设备的上行链路链路质量和另一电信设备的下行链路链路质量中的较低者调整每个电信设备的帧速率。在块310a处,服务器可以通过指示电信设备中的一者或二者调整它们的帧速率来调整帧速率。可替代的,在块310b处,服务器可以通过从每m个从每个电信设备接收的视频和音频帧中丢弃η个视频和音频帧以调整帧速率,其中η小于m。示例件系统图4示出了根据不同实施方式的示例性电信设备系统架构,诸如第一电信设备102或第二电信设备104中的一者或二者的系统架构。如图所示,第一电信设备102或第二电信设备104可以包括存储器402,该存储器用于存储视频通话模块116、链路质量确定模块118、速率调整模块120、模型122及其它模块和数据404。第一电信设备102或第二电信设备104还可以包括处理器406、接口 408、显示器410、收发信机412、输出设备414、输入设备416及包括机器可读介质420的驱动单元418。在不同的实施方式中,存储器402通常包括易失性存储器和非易失性存储器(如,RAM、ROM、EEPR0M、闪存、微型硬盘、存储卡、光存储(storage)、盒式磁带、磁带、磁盘存储或其它磁存储设备、或任何其它介质)。另外,在一些实施方式中,存储器402包括SIM (用户身份识别模块)卡,其是用于识别对于诸如网络106的电信网络的第一电信设备102或第二电信设备104的用户的可移动的存储卡。存储器402还可以被描述为计算机存储介质并可以包括以用于信息的存储(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术实施的易失性和非易失性、可移动和不可移动介质。以上更加具体地描述了如存储在存储器402中显示的视频通话模块116、链路质量确定模块118、速率调整模块120和模型122。其它模块和数据404可以由第一电信设备102或第二电信设备104用于执行或使能执行由第一电信设备102或第二电信设备104进行的任何行为。其它模块和数据404可以包括电信设备平台和应用程序,以及由平台和应用程序使用的数据。在一些实施方式中,一个或多个处理器406为中央处理单元(CPU)、图形处理单元(GPU)、或者CPU和GPU 二者、或者任何种类的处理单元。在不同的实施方式中,接口 408为任何种类的接口。接口 408包括无线LAN接口、或者近场接口中的一者或多者。无线LAN接口可以包括使用例如IEEE802.1U802.16和/或802.20标准执行传送和接收无线通信的功能的W1-Fi接口或W1-Max接口、或者Bluetooth (蓝牙 )接口。例如,第一电信设备102或第二电信设备104可以使用W1-Fi接口来直接与附近设备通信。近场接口可以使用W1-Fi接口直接与附近设备通信。近场接口可以包括用于经由近场天线进行传送和接收近场无线电通信的Bluetooth 接口或RFID。例如,如本领域已知的,近场接口可以用于诸如与附近设备直接通信的功能,该附近设备也是例如Bluetooth 或RFID使能的。阅读器/询问机可以与第一电信设备102或第二电信设备104结合。在不同的实施方式中,显示器410为液晶显示器或普遍地用于电信设备的任何其它类型的显示器。例如,显示器410可以为触摸显示屏,并且然后还能够充当输入设备或按键,诸如用于提供软键盘、导航按钮等。在一些实施方式中,收发信机412包括本领域已知的任何种类的收发信机。例如,收发信机412可以包括无线电收发信机和执行经由天线传送和接收射频通信的功能的接口。这类通信可以包括在与上行链路和下行链路通信相关联的射频上传送和接收视频通话的视频和音频帧110/112。该无线电接口促进了第一电信设备102或第二电信设备104与各种发射塔、基站和/或接入点之间的无线连接。在一些实施方式中,输出设备414包括本领域已知的任何种类的输出设备,诸如显示器(如显示器410的描述)、扬声器、振动机构或触觉反馈机构。输出设备414还包括用于一个或多个外围设备的端口,诸`如耳机、外围扬声器、或外围显不器。在不同的实施方式中,输入设备416包括本领域已知的任何种类的输入设备。例如,输入设备416可以包括麦克风、键盘/按键、或者触摸显示器(诸如上文所述的触摸显示屏)。键盘/按键可以是下压按钮数字拨号盘(诸如在典型电信设备上的)、多键键盘(诸如传统的QWERTY键盘)、或者一个或多个其它类型的键或按钮,并且还可以包括类似操纵杆的控制器和/或设计的导航按钮等。如上文所述,电信设备102和104还可以每个包括前置摄像头或用于至外围摄像头的连接物的端口。前置摄像头和外围摄像头也是输入设备416的示例。机器可读介质420存储体现于此描述的所述一个或多个方法或功能的一组或多组指示(如,软件)。在由第一电信设备102或第二电信设备104执行这些指令期间,这些指令还可以完全或至少部分地位于存储器402中和一个或多个处理器406中。存储器402和一个或多个处理器406还可以构成机器可读介质420。图5示出了根据不同实施方式的计算设备系统构架的示例,诸如电信服务供应方的服务器108的系统构架。如所示,服务器108包括系统存储器502。系统存储器502可以存储视频通话模块124、链路质量确定模块126、速率调整模块128、模型130及其它模块和数据504。另外,服务器108包括一个或多个处理器506、可移动存储(Storage)508和不可移动存储510、一个或多个输入设备512、一个或多个输出设备514、以及用于与其它计算设备518进行通信的电信连接516。在不同的实施方式中,系统存储器502为易失性(诸如RAM)、非易失性(诸如ROM、闪存等)或二者的一些结合。示例性的系统存储器502可以包括RAM、R0M、EEPR0M、闪存、微型硬盘驱动器、存储卡、光存储、盒式磁带、磁带、磁盘存储或其它磁存储设备、或者任何其它介质中的一者或多者。以上更具体地描述了如存储在存储器502中示出的视频通话模块124、链路质量确定模块126、速率调整模块128及模型130。尽管视频通话模块124、链路质量确定模块126、速率调整模块128和模型130如图5所示为存储在单个服务器108上,但是它们可以被存储在云服务的多个计算设备上,每个计算设备实施视频通话模块124、链路质量确定模块126、速率调整模块128及模型130中的一者,视频通话模块124、链路质量确定模块126、速率调整模块128及模型130的全部,或者视频通话模块124、链路质量确定模块126、速率调整模块128及模型130中一者或多者的一部分。其他模块和数据504可以由服务器108使用以执行或使能执行服务器108进行的任何行为。其它模块和数据504可以包括平台和应用程序,以及由平台和应用程序使用的数据。在一些实施方式中,一个或多个处理器506为中央处理单兀(CPU)、图形处理单兀(GPU)、或CPU和GPU 二者、或本领域已知的其它处理单元或组件。服务器108还 包括附加的数据存储设备(可移动的和/或不可移动的),诸如,例如磁盘、光盘或磁带。这类附加存储由可移动存储508和不可移动存储510在图5中示出。计算机存储介质可以包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术实施的易失性和非易失性、可移动和不可移动介质。系统存储器502、可移动存储508和不可移动存储510都为计算机可读存储介质的示例。计算机可读存储介质包括,但不限于RAM、ROM、EEPR0M、闪存或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光存储、盒式磁带、磁带、磁盘存储或其它磁存储设备、或者可以用于存储期望信息并可以被服务器108存取的任何其它介质。任何这类计算机可读存储介质可以为服务器108的一部分。在不同的实施方式中,任何或所有的系统存储器502、可移动存储508和不可移动存储510存储程序指令,当被执行时,这些指令实施服务器108的上述操作中的一些或全部。服务器108还具有一个或多个输入设备512,诸如键盘、鼠标、触摸显示器、语音输入设备等,以及一个或多个输出设备514,诸如显示器、扬声器、打印机等。这些设备为本领域众所周知的且无需于此再次进行详细讨论。服务器108还包含通信连接516,该通信连接516允许服务器与其它计算设备518(诸如第一电信设备102和第二电信设备104)进行电信。虽然已经针对结构特性和/或方法论行为用语言对主旨进行了描述,但是应该理解的是在所附权利要求中限定的主旨不必被限制于所描述的特定特性或行为。相反,公开的是实施权利要求的特定特性和行为。
权利要求
1.一种方法,包括: 由第一电信设备建立与第二电信设备的视频通话; 由所述第一电信设备确定所述第一电信设备的上行链路和下行链路链路质量;以及 由所述第一电信设备执行以下步骤中的至少一者: 至少基于所述上行链路链路质量来调整第一帧速率,所述第一电信设备以该第一帧速率传送所述视频通话的视频和音频巾贞;或者 请求所述第二电信设备至少基于所述下行链路链路质量来调整第二帧速率,所述第二电信设备以该第二帧速率传送所述视频通话的视频和音频帧。
2.根据权利要求1所述的方法,其中所述确定是基于与所述第一电信设备相关联的历史模型。
3.根据权利要求2所述的方法,其中所述历史模型包括与位置相关联的链路质量,在特定日期和时间所述第一电信设备的用户或所述第二电信设备的用户位于所述位置处。
4.根据权利要求1所述方法,其中所述调整包括响应于上行链路链路质量的降低而降低所述第一帧速率。
5.根据权利要求1所述的方法,该方法还包括,响应于确定弱的上行链路链路质量和强的下行链路链路质量,降低所述第一帧速率并请求所述第二帧速率的增加。
6.根据权利要求1所述的方法,该方法还包括周期性地监测所述上行链路和下行链路链路质量并响应于所述上行链路或下行链路链路质量的变化而执行所述调整或所述请求中的至少一者。
7.根据权利要求1所述的方法,该方法还包括确定所述第一电信设备或所述第二电信设备中的一者的网络、设备或用户特性已经变化,并做出终止所述视频通话的响应。
8.根据权利要求1所述的方法,其中所述视频通话的建立至少基于所述第一电信设备和所述第二电信设备是否连接至4G网络或WiFi网络而被有条件地执行。
9.根据权利要求1所述的方法,该方法还包括根据所述第一帧速率和所述第二帧速率来交换视频和音频帧。
10.根据权利要求9所述的方法,其中所述交换被实时执行,且缓冲超过时间量阈值的视频和首频巾贞被丢弃。
11.根据权利要求1所述的方法,该方法还包括: 接收来自所述第二电信设备的用于对所述第一帧速率进行调整的请求,该用于对所述第一帧速率进行调整的请求指定所述第二电信设备的下行链路链路质量;以及 基于所述第一电信设备的所述上行链路链路质量和所述第二电信设备的所述下行链路链路质量中的较低者来调整所述第一帧速率。
12.—种或多种计算机存储介质,包括存储在其上的计算机可执行指令,当所述指令被电信服务供应方的服务器设备执行时,执行以下操作: 基于第一电信设备和第二电信设备的网络、设备或用户特性,在所述第一电信设备和所述第二电信设备之间有条件地建立视频通话; 确定与所述第一电信设备和所述第二电信设备中的每一者相关联的链路质量;以及 基于所确定的链路质量来调整所述第一电信设备和所述第二电信设备中的至少一者的帧速率,所述帧速率为所述第一电信设备或所述第二电信设备传送所述视频通话的视频和音频帧的速率。
13.根据权利要求12所述的一种或多种计算机存储介质,其中所述链路质量包括上行链路链路质量或下行链路链路质量中的一者或二者。
14.根据权利要求12所述的一种或多种计算机存储介质,其中所述操作还包括确定电信设备具有WiFi网络可用但是未被连接至所述WiFi网络,并通知所述电信设备至所述WiFi网络的连接能够使所述电信设备参与视频通话。
15.根据权利要求12所述的一种或多种计算机存储介质,其中所述有条件地建立包括:当所述第二电信设备未被连接至4G网络或WiFi网络时或者当网络负载超出阈值时,终止所述视频通话。
16.根据权利要求12所述的一种或多种计算机存储介质,其中所述确定链路质量包括基于所述第一电信设备和所述第二电信设备中的一者或二者的位置预测信号强度。
17.根据权利要求12所述的一种或多种计算机存储介质,其中调整所述帧速率还包括: 基于所述第一电信设备的上行链路链路质量和所述第二电信设备的下行链路链路质量中的较低者来调整所述第一电信设备的所述帧速率;以及 基于所述第二电信设备的上行链路链路质量和所述第一电信设备的下行链路链路质量中的较低者来调整所述第二电信设备的所述帧速率。
18.根据权利要求12所述的一种或多种计算机存储介质,其中调整所述帧速率还包括以下一者: 指示所述第一电信设备和所述第二电信设备中的一者或二者调整它们的帧速率;或者 从所述第一电信设备或所述第二电信设备接收的每m个视频和音频帧中丢弃η个视频和音频巾贞,其中η小于m。
19.一种电信设备,该电信设备包括: 处理器; 视频通话模块,被配置成由所述处理器操作以建立与另一电信设备的视频通话并与其它电信设备交换视频和音频帧,以及实时渲染所述视频和音频帧;以及 速率调整模块,被配置成由所述处理器操作以: 确定所述电信设备的上行链路和下行链路链路质量; 至少基于所述上行链路链路质量来调整第一帧速率,所述电信设备以该第一帧速率传送所述视频通话的视频和音频帧;以及 请求所述其它电信设备至少基于所述下行链路链路质量来调整第二帧速率,所述其它电信设备以该第二帧速率传送所述视频通话的视频和音频帧。
20.根据权利要求19所述的系统,其中所述速率调整模块通过使用与所述视频通话相关联的控制层来向所述其它电信设备传送请求并接收来自所述其它电信设备的请求。
全文摘要
于此描述了电信设备,该电信设备被配置成建立视频通话并调整帧速率,视频通话的视频和音频帧以该帧速率被传送。电信设备至少基于每个电信设备的上行链路和下行链路链路质量来调整帧速率。通过调整帧速率,电信设备实时参与视频通话的视频和音频帧的交换。于此还描述了一种服务器,该服务器被配置成在电信设备之间有条件地建立视频通话,确定电信设备的链路质量,以及至少基于链路质量调整帧速率。
文档编号H04N7/14GK103229499SQ201180057164
公开日2013年7月31日 申请日期2011年10月4日 优先权日2010年10月7日
发明者K·刘, A·A·奥贝迪 申请人:T移动美国公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1