基于客户端或网络环境调整视频流的系统和方法.pdf

上传人:32 文档编号:478359 上传时间:2018-02-18 格式:PDF 页数:18 大小:861.45KB
返回 下载 相关 举报
摘要
申请专利号:

CN02825122.9

申请日:

2002.12.13

公开号:

CN1605075A

公开日:

2005.04.06

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F15/16; G06F11/00; G01R31/08; G08C15/00; H04J1/16; H04J3/14; H04L1/00; H04L12/26; H04N7/12; H04N7/14; H04N11/02

主分类号:

G06F15/16; G06F11/00; G01R31/08; G08C15/00; H04J1/16; H04J3/14; H04L1/00; H04L12/26; H04N7/12; H04N7/14; H04N11/02

申请人:

汤姆森特许公司;

发明人:

詹斯·卡恩布莱; 约翰·W·理查森

地址:

法国布洛涅

优先权:

2001.12.15 US 60/341,672

专利代理机构:

北京市柳沈律师事务所

代理人:

黄小临;王志森

PDF下载: PDF下载
内容摘要

视频服务器(100)根据参数值编码视频流,并经由网络(200)将该视频流发送至视频客户端(300),该视频客户端解码接收到的视频流以呈现给用户。当接收到视频流时,视频客户端(300)不断地聚集至少关于将数据发送至视频服务器(100)的网络(200)的状况的数据。视频服务器(100)基于从视频客户端(300)接收到的数据来调整参数的值,其继而调整视频流的编码。

权利要求书

1.  一种用于调整根据一个或多个参数的值而被编码并通过网络传送的视频流的方法,所述方法包括:
获取至少与网络传输所述数据流的能力有关的数据;和
基于所获取的数据来调整一个或多个参数的值,其中根据该一个或多个参数的值对所述视频流进行编码。

2.
  一种用于调整根据一个或多个参数的值而被编码并通过网络被传送至计算机的方法,所述方法包括:
获取与将视频流传输至计算机的网络的能力有关并且与计算机解码该视频流的能力有关的数据;和
基于所获取的数据来调整一个或多个参数的值,其中根据该一个或多个参数的值对所述视频流进行编码。

3.
  如权利要求2所述的方法,其中根据其来编码视频流的所述一个或多个参数包括帧分辨率;和
其中所述调整包括基于所获取的数据来调整帧分辨率。

4.
  如权利要求2所述的方法,其中根据其来编码视频流的所述一个或多个参数包括帧速率;和
其中所述调整包括基于所获取的数据来调整帧速率。

5.
  如权利要求2所述的方法,其中所述获取包括:获取从计算机接收到的RTCP包中的与计算机或网络相关的数据。

6.
  如权利要求5所述的方法,其中所述获取包括:获取从计算机接收到的RTCP包的应用程序指定部分中的与计算机或网络相关的数据。

7.
  如权利要求2所述的方法,其中所述获取包括:获取代表计算机中用于解码被传送至该计算机的视频流的可用资源的度量。

8.
  如权利要求7所述的方法,其中所述获取包括:获取代表计算机中用于解码被传送至该计算机的视频流的计算机处理器可用功率的度量。

9.
  如权利要求2所述的方法,其中所述获取包括:获取代表与通过网络至计算机的视频流的传送相关联的包丢失的度量。

10.
  如权利要求2所述的方法,其中所述获取包括:获取代表与通过网络至计算机的视频流的传送相关联的发送字节和接收字节的度量。

11.
  如权利要求2所述的方法,其中所述获取包括:获取代表与通过网络至计算机的视频流的传送相关联的误码率的度量。

12.
  如权利要求2所述的方法,其中所述获取包括:
在计算机中聚集数据;和
从所述计算机接收所述聚集的数据。

13.
  一种便于视频流调整的方法,所述视频流由第一计算机根据一个或多个参数的值来编码并由该第一计算机通过网络发送至第二计算机,所述方法包括步骤:
在第二计算机聚集与将视频流传输至第二计算机的网络的能力有关并与第二计算机解码该视频流的能力有关的数据;和
将所聚集的数据发送至第一计算机,以使能一个或多个参数值的调整,所述第一计算机根据该一个或多个参数的值来编码视频流。

14.
  如权利要求13所述的方法,其中所述发送包括:发送被传送至第一计算机的RTCP包的应用程序指定部分中的聚集的数据。

15.
  一种用于调整根据一个或多个参数的值而被编码并通过网络被传送的视频流的系统,该系统包括:
用于获取至少与网络传输视频流的能力有关的数据的装置;和
基于所获取的数据来调整一个或多个参数的值,其中根据该一个或多个参数的值对所述视频流进行编码。

16.
  一种用于调整根据一个或多个参数的值而被编码并通过网络被传送至计算机的视频流的系统,该系统包括:
用于获取与将视频流传输至计算机的网络的能力有关并与计算机解码该视频流的能力有关的数据的装置;和
基于所获取的数据来调整一个或多个参数的值,其中根据该一个或多个参数的值对所述视频流进行编码。

17.
  如权利要求16所述的系统,其中根据其来编码视频流的所述一个或多个参数包括帧分辨率;和
其中用于调整的装置包括基于所获取的数据来调整帧分辨率的装置。

18.
  如权利要求16所述的系统,其中根据其来编码视频流的所述一个或多个参数包括帧速率;和
其中用于调整的装置包括基于所获取的数据来调整帧速率值的装置。

19.
  如权利要求16所述的系统,其中用于获取的装置包括:用于获取从计算机接收的RTCP包中与网络或计算机相关的数据的装置。

20.
  如权利要求16所述的系统,其中用于获取的装置包括:用于获取代表计算机中解码被传送至该计算机的视频流的计算机处理器可用功率的度量的装置。

21.
  如权利要求16所述的系统,其中用于获取的装置包括:用于获取代表与通过网络至计算机的视频流的传送相关联的包丢失的度量的装置。

22.
  如权利要求16所述的系统,其中用于获取的装置包括:用于获取代表与通过网络至计算机的视频流的传送相关联的发送字节和接收字节的度量的装置。

23.
  如权利要求16所述的系统,其中用于获取的装置包括:用于获取代表与通过网络至计算机的视频流的传送相关联的误码率的度量的装置。

24.
  一种便于视频流调整的系统,所述视频流由第一计算机根据一个或多个参数的值来编码并由该第一计算机通过网络发送至第二计算机,所述系统包括:
用于在第二计算机聚集与将视频流传输至第二计算机的网络的能力有关并与第二计算机解码该视频流的能力有关的数据的装置;和
用于将聚集的数据发送至第一计算机,以使能一个或多个参数值的调整的装置,所述第一计算机根据该一个或多个参数的值来编码视频流。

25.
  如权利要求24所述的系统,其中所述发送的装置包括:用于发送被传送至第一计算机的RTCP包的应用程序指定部分中的聚集的数据的装置。

26.
  一种计算机程序产品,包括在其中包含有计算机可读代码的计算机可用介质,所述计算机可读代码在执行时使得计算机执行对根据一个或多个参数的值而被编码并通过网络被传送的视频流进行调整的方法,所述方法包括步骤:
获取至少与网络传输所述数据流的能力有关的数据;和
基于获取的数据来调整一个或多个参数的值,其中根据该一个或多个参数的值对所述视频流进行编码。

27.
  一种计算机程序产品,包括在其中包含有计算机可读代码的计算机可用介质,所述计算机可读代码在执行时使得计算机执行对根据一个或多个参数的值而被编码并通过网络被传送至计算机的视频流进行调整的方法,所述方法包括:
获取与将视频流传输至计算机的网络的能力有关并且与计算机解码该视频流的能力有关的数据;和
基于获取的数据来调整一个或多个参数的值,其中根据该一个或多个参数的值对所述视频流进行编码。

28.
  如权利要求27所述的计算机程序产品,其中根据其来编码视频流的所述一个或多个参数包括帧分辨率;和
其中在所实现的方法中,所述调整包括基于所获取的数据来调整帧分辨率。

29.
  如权利要求27所述的计算机程序产品,其中根据其来编码视频流的所述一个或多个参数包括帧速率;和
其中在所实现的方法中,所述调整包括基于所获取的数据来调整帧速率值。

30.
  如权利要求27所述的计算机程序产品,其中在所实现的方法中,所述获取包括:获取从计算机接收到的RTCP包中与网络或计算机相关的数据。

31.
  如权利要求27所述的计算机程序产品,其中在所实现的方法中,所述获取包括:获取代表计算机中用于解码被传送至该计算机的视频流的计算机处理器可用功率的度量。

32.
  如权利要求27所述的计算机程序产品,其中在所实现的方法中,所述获取包括:获取代表与通过网络至计算机的视频流的传送相关联的包丢失的度量。

33.
  如权利要求27所述的计算机程序产品,其中在所实现的方法中,所述获取包括:获取代表与通过网络至计算机的视频流的传送相关联的发送字节和接收字节的度量。

34.
  如权利要求27所述的计算机程序产品,其中在所实现的方法中,所述获取包括:获取代表与通过网络至计算机的视频流的传送相关联的误码率的度量。

35.
  一种计算机程序产品,包括在其中包含有计算机可读代码的计算机可用介质,所述计算机可读代码在执行时使得计算机执行便于视频流调整的方法,所述视频流由第一计算机根据一个或多个参数的值来编码并由该第一计算机通过网络发送至第二计算机,所述方法包括:
在第二计算机聚集与将视频流传输至第二计算机的网络的能力有关并与第二计算机解码视频流的能力有关的数据;和
将聚集的数据发送至第一计算机,以使能一个或多个参数值的调整,所述第一计算机根据该一个或多个参数的值来编码视频流。

36.
  如权利要求35所述的计算机程序产品,其中在所实现的方法中,所述发送包括:发送被传送至第一计算机的RTCP包的应用程序指定部分中的聚集的数据。

说明书

基于客户端或网络环境调整视频流的系统和方法
本申请要求2001年12月15日提交的美国临时申请第60/341,672号的优先权,所述临时申请特此通过引用并入本申请中。
技术领域
此处公开的发明涉及一种用于通过数据通信网络传送视频流的系统和方法。
背景技术
在客户端设备处,基于通过网络接收的视频流的视频呈现质量会受到网络中的可用带宽的限制。网络拥塞会导致数据从由网络传送的数据传输中丢失(drop)。因此,当网络经历拥塞时,由网络传送的视频流会遭受帧丢失,从而导致基于该视频流所呈现的视频质量的退化。
并且,在客户端设备处,基于通过网络接收的视频流的视频呈现质量会受到该客户端设备对所述视频流进行解码的能力的限制。当客户端设备缺乏对所接收的视频流进行充分解码的能力时,未使用的数据对应于浪费的网络带宽。
发明内容
本发明提供在编码处理期间基于网络的状况和计算机解码视频流的能力对于视频流的动态调整,其中所述视频流根据一个或多个参数而被编码并通过网络发送至计算机。本发明提供一种方法、系统和计算机程序产品,用于调整根据一个或多个参数被编码并通过网络被传送的视频流。首先,获取至少与网络传输所述数据流的能力有关的数据。然后,基于所获取的数据来调整一个或多个参数的值,其中根据该一个或多个参数的值对所述视频流进行编码。
在本发明的一个实施例中,根据一个或多个参数而被编码的视频流通过网络传送至计算机。获取至少与网络传输所述数据流的能力并与计算机解码该视频流的能力有关的数据。然后,基于所获取的数据来调整一个或多个参数的值,其中根据该一个或多个参数的值对所述视频流进行编码。
根据本发明的一个实施例,根据其来编码视频流的所达一个或多个参数包括基于所获取的数据而被调整的帧分辨率。
在本发明的另一个实施例中,根据其来编码视频流的所述一个或多个参数包括基于所获取的数据而被调整的帧速率。
根据本发明的另一个实施例,通过从计算机接收到的RTCP包,获取与将视频流传输至计算机的网络的能力有关并且与计算机解码该视频流的能力有关的数据。
在本发明的一个实施例中,与将视频流传输至计算机的网络的能力有关并且与计算机解码该视频流的能力有关的数据包括一个度量,该度量代表计算机中用于解码被传送至该计算机的视频流的计算机处理器的可用功率(availablepower)。
在本发明的另一个实施例中,与将视频流传输至计算机的网络的能力有关并且与计算机解码该视频流的能力有关的数据包括一个度量,该度量代表与通过网络至计算机的视频流的传送相关联的包丢失。
在本发明的另一个实施例中,与将视频流传输至计算机的网络的能力有关并且与计算机解码该视频流的能力有关的数据包括一个度量,该度量代表与通过网络至计算机的视频流的传送相关联的发送字节和接收字节。
根据本发明的另一个实施例,与将视频流传输至计算机地网络的能力有关并且与计算机解码该视频流的能力有关的数据包括一个度量,该度量代表与通过网络至计算机的视频流的传送相关联的误码率。
附图说明
在附图中图解说明了本发明,所述附图旨在示例而并非限制,其中相同的参考数字是用来指示相同或相应的部件,其中:
图1是显示本发明实施例以及在其中操作本发明的环境的方框图;
图2是显示预定数据范围和相应参数值的示例的表;
图3是显示本发明的一个操作实施例的流程图;
图4是显示本发明的另一个操作实施例的流程图。
具体实施方式
参照附图描述根据本发明的方法、系统和包含软件程序的产品的优选实施例。
如图1所示,视频服务器(“VS”)系统100通过网络200与视频客户端(“VC”)系统300进行通信。VS系统100包括任何能够执行下述功能的计算机系统:(a)根据一个或多个参数对视频流进行编码,(b)通过网络将编码的流发送至另一个计算机,(c)接收关于网络和另一计算机的状态的数据,和(d)基于所接收的数据调整一个或多个参数从而调整视频流的编码。
在本发明的一个实施例中,VS系统100包括视频编码和传输(“VET”)系统110以及视频编码控制(“VEC”)系统120。VET系统100包括任何能够执行上述的编码和发送功能的计算机系统,还可以包括用于执行那些功能的计算机代码。例如,VET系统100可以包括能够根据一个或多个参数对诸如MEPG和H.263等任何已知格式的视频流进行编码,并通过诸如IP、TCP/IP和UDP协议以及有关流数据的传输的协议的已知技术经由网络来发送视频流的计算机系统,其中所述一个或多个参数包括例如帧分辨率和帧速率,所述有关流数据的传输的协议例如是实时流式传输协议(RTSP)、实时传输协议(RTP)以及实时控制协议(RTCP)。上述的一个或多个参数可以存储在例如存储器中,从而可以通过例如VEC系统120的其他计算机系统对它们进行调整和存取。
VEC系统120包括任何能够执行上述的接收和调整功能的计算机系统,并可以包括用于执行这些功能的计算机代码。例如,VEC系统120可以包括能够执行下述功能的计算机系统:接收关于发送视频流的网络的状态的数据以及接收关于用于接收视频流作为在RTCP包中包含的应用程序指定数据的计算机的状态的数据,并基于关于接收数据的预定范围和与该预定范围相对应的预定参数值的表来调整一个或多个参数,其中所述RTCP包是从所述接收视频流的计算机接收的,并且根据所述一个或多个参数对所述视频流进行编码。
图2示出了关于接收数据的预定范围以及对应于该预定范围的预定参数值的示例表。在图2的示例中,表的第一列示出了将在下面进一步描述的CPU可用功率,作为预定百分比范围。表的第二列示出了对应于预定CPU可用功率百分比范围的预定帧分辨率。因此,如下面进一步描述的,在例如接收数据指示CPU可用功率60%的情况下,VEC系统120可以参考图2的表,以便确定与包含所述接收数据的预定范围相对应的352×288的帧分辨率。如果VET系统110编码视频流所用的当前帧分辨率是不同的,则VEC系统120将帧分辨率参数调整至352×288,从而使得VET系统110以所述帧分辨率对视频帧进行编码。
应当理解,如下面进一步描述的,关于由VEC系统120所接收的其它类型的数据可以使用类似的表。并且,应当理解在图2中示出的值仅仅是示例,在这个表中的值以及可以用在与由VEC系统120接收到的其它类型的数据有关的类似表中的、除CPU可用功率之外的值仅仅是示例性的,并且为了本发明的实施者和用户的设计选择起见可以对其进行改变。
网络200包括任何能够传输视频流及相关控制数据的通信网络。例如,网络200可以包括LAN、WAN或因特网。
VC系统300包括任何能够执行下述功能的计算机系统:(a)通过网络接收视频流和解码该接收的视频流以呈现给用户,(b)聚集与(i)用来接收视频流的网络的状态和(ii)VC系统300中用于解码接收到视频流的可用资源有关的数据,以及(c)将聚集的数据发送到计算机系统,其中该计算机系统发送通过VC系统300接收的视频流。VC系统300可以包括用于执行上述功能的计算机代码。
在本发明的一个实施例中,VC系统300包括视频接收和解码(“VRD”)系统310和状况报告(“CR”)系统320。VRD系统310包括任何能够通过网络接收视频数据流和解码该接收到的视频流以呈现给用户的计算机系统。例如,VRD系统310可以包括已知的视频流式传输客户端软件,例如,来自RealNetwoks,Inc的RealOneTM播放器和来自Microsoft Corporation的Windows Media PlayerTM
CR系统320包括任何能够执行下述功能的计算机系统:聚集与接收视频流的网络的状态和VC系统300中用于解码接收到的视频流的可用资源有关的数据,并将所聚集的数据发送到用于发送通过VC系统300接收的视频流的计算机系统。CR系统320可以包括根据任何已知的方法或技术来聚集关于网络的状况的数据以及关于计算机系统中的可用资源的数据的计算机代码。由CR系统320聚集的、有关网络中的状况的数据的类型可以包括例如与当前被接收的视频流经由网络的接收有关的度量,所述度量包括例如表示与当前通过网络接收到的视频流相关的包丢失、字节发送/接收和误码率的度量。通过CR系统320聚集的、有关用于解码接收到的视频流的VC系统300中的可用资源的数据的类型包括,例如表示用于解码接收到的视频流的存储器和CPU可用功率的度量。
另外,CR系统320可以包括计算机代码,该计算机代码用于执行发送所聚集的数据至用于发送由VC系统300接收的视频流的计算机系统的功能。例如,CR系统320可以包括计算机代码,该计算机代码在被执行时使得CR系统320发送所聚集的数据作为RTCP包中的应用程序指定数据,其发送至用于发送由VC系统300接收到的视频流的计算机系统。
此处广义地使用术语“计算机系统”,该术语“计算机系统”包括计算机硬件和计算机软件或只包括计算机软件。例如,VET系统110和VEC系统120每一个可以包括贮留在VS系统100的同一计算机硬件上的计算机代码。或者,VET系统110和VEC系统120每一个可以以不同的计算机硬件来实现。
图3和4是显示可以在其中操作本发明的一种方法的流程图,其中图3示出了在VS 100执行的操作,图4示出了在VC 300执行的操作。参见图3,首先,如方框1000中所示,与VC系统300建立通信。例如,VS系统100可以与VC系统300通信以建立RTP/UDP连接和RTCP/UDP连接,通过该RTP/UDP连接编码的视频可以被发送至VC系统300,通过该RTCP/UDP连接可以从VC系统300接收诊断信息。
接着,如方框1050中所示,确定是否存在任何源数据以将其编码和发送作为视频数据的一部分。例如,在源数据是实况视频的情形下,VET系统110确定是否继续对实况视频进行编码处理;在源数据是来自由VS系统100译码的存储的文件的视频数据的情形下,VET系统110确定在要被译码的存储的视频文件中是否存在数据。
如果从方框1050中所示的操作产生的确定结果是否定的,则在VS系统100终止处理。另一方面,如果由方框1050中所示的操作产生的结果是肯定的,则执行方框1100、1200和1300中所示的操作。
如方框1100中所示,检索所存储的一个或多个参数的值,其中根据所述一个或多个参数的值来编码视频流。例如,VET系统110可以从与每个参数相关联的存储位置来检索所述一个或多个参数中的每一个的值。接着,如方框1200所示,根据检索的所述一个或多个参数的值,将源数据编码为视频流。例如,VET系统110可以根据例如MPEG或H.263的已知视频压缩算法,根据为前述的一个或多个参数(例如帧分辨率和帧速率)检索的值来编码源数据。接着,如方框1300所示,发送编码的视频流。例如,VET系统110可以经由网络200将编码的视频流发送至VC系统300。处理随后返回至方框1050中所示的操作。
如图3所示,如果从方框1050中所示的操作产生的确定结果是肯定的,则除了在方框1100、1200和1300中所示的操作之外还执行在方框1400、1500)和1600中所示的操作。可以与方框1100、1200和1300中所示的操作同时并且独立地执行在方框1400、1500和1600中所示的操作。
如方框1400所示,确定是否已从VC系统300接收到关于网络200或VC系统300中的状态的数据。例如,VS系统100的VEC系统120可以检查经由所建立的RTCT/UDP连接从VC系统300接收的RTCP包,以确定是否已从VC系统300接收到了关于网络200中的状况或关于VC系统300的状况的数据,其中该有关状况的数据是关于其解码从VC系统300接收到的RTCP包的应用程序指定部分中的视频流的能力。如果从方框1400中所示的操作产生的确定结果是否定的,则处理返回至方框1050中所示的操作。
如果从方框1400中所示的操作产生的确定结果是肯定的,则处理继续方框1500中所示的操作,其中确定与接收到的数据相对应的一个或多个参数的每一个的值。例如,VEC系统120可以将从VC系统300接收到的数据与一个表进行比较,如前面结合图2所描述的,所述表指定了接收到的数据类型的预定范围以及用于每个预定范围的一个或多个参数中的每一个的对应值。例如,从VC系统300接收到的数据代表VC系统300中用于解码当前从VS系统100发送到VC系统300的视频流的CPU可用功率的度量,随后VEC系统120可以将从VC系统300接收到的数据与图2中的表进行比较,以确定包含接收到的数据的预定范围和对应于该范围的帧分辨率参数的值。例如,如果从VC系统300接收到的数据指示VC系统300中用于解码当前由VS系统100发送到VC系统300的视频流的、60%的CPU可用功率的度量,则VEC系统120将确定352×288是对应于该接收到的数据的帧分辨率参数的适当的值。以类似的方式,VEC系统120可以确定对应于从VC系统300接收到的数据的一个或多个参数中的每一个的值。
接着,如方框1600中所示,如果需要,调整一个多个参数的值。例如,VEC系统120可以将从方框1500所示的操作确定的一个或多个参数中的每一个的值与所存储的一个或多个参数中的每一个的值进行比较。如果确定的值中的任何一个与存储的参数的值不同,则VEC系统120在与参数相关联的存储区域中存储确定的值。然后,处理返回到方框1050中所示的操作。
同时,当VS系统100编码和发送视频流时,VC系统300通过网络200接收视频流并对其进行解码以向用户操作VC系统300呈现。如图4中所示,首先如方框2000中所示与VS系统100建立通信。例如,类似与在图3的方框1000中所示的操作,此处VC系统300可以与VS系统100通信以建立RTP/UDP连接和RTCP/UDP连接,其中可以经由RTP/UDP连接从VS系统100接收编码的视频,并可以经由RTCP/UDP连接将诊断信息发送至VS系统100。随后VRD系统310开始并继续所述接收和解码从VS系统100发送的视频流的处理。当VRD系统310处于接收和解码处理时,CR系统320继续执行在图4的方框2050、2100和2200中所示的操作。
一旦开始了解码从VS系统100接收的视频流的操作,如方框2050中所示,CR系统320通过确定是否在VRD系统310继续该接收和解码处理来开始监控该处理。如果确定结果是否定的,则终止CR系统320的处理。
如果确定结果是肯定的,则处理继续方框2100中所示的操作,其中聚集关于网络200的状况及VC系统300中解码视频流的可用资源的数据。例如,关于网络200的状况,CR系统320可以使用已知的技术来获取数据,所述数据包括例如代表下述情形的度量:(a)与通过网络200从VS系统100至VC系统300的视频流的传送相关联的包丢失,(b)与通过网络200从VS系统100至VC系统300的视频流的传送相关联的、由VS系统100发送的字节数和由VC系统300接收到的字节数,(c)与通过网络200从VS系统100至VC系统300的视频流的传送相关联的误码率。并且,关于VC系统300中解码视频流的可用资源,CR系统可以使用已知的技术来获取数据,所述数据包括例如代表VC系统300中解码从VS系统100接收到的视频流的可用存储器或CPU可用功率的度量。应当注意,存储器和CPU可用功率会随着为了VC系统300的其他目的而使用和释放那些资源而波动,例如,随着VC系统300的其他应用程序的打开和结束。并且,应当理解,可以以任何已知的方式来测量上述的数据(例如,包丢失、发送/接收的字节、误码率、可用存储器、可用CPU功率),只要由CR系统320使用的度量的标准与由VEC系统120使用的标准相同(例如,由CR系统320以及VEC系统120表示为总CPU功率的百分比的CPU可用功率,如图2的表中所示)。
接着,如方框2200中所示,将聚集的数据发送至VS系统100。例如,CR系统320可以经由所建立的RTCT/UDP连接,将与网络200中的状况和VC系统300中将视频流解码为RTCP包的应用程序指定数据的可用资源有关的聚集的数据发送至VS系统100,其中所述RTCP包被发送回VS系统100。处理随后继续方框2050中的操作。
因此,在VS系统100对视频流进行编码并将编码的流发送至VC系统300的处理期间,VC系统300可以不断地聚集关于网络200和VC系统300中的状况的数据,并将这一数据发送至VS系统100用来调整所述视频流的编码。从而,当网络200中的拥塞增长或当VC系统300中用于编码接收到的视频流的可用资源减少时,在VS系统100接收到的数据会使例如被编码的视频流的帧分辨率降低。相反地,当网络200中的拥塞改善或VC系统300中的资源可用于接收到的流的视频解码并与之相关时,那么在VS系统100接收到的数据可以使得例如被编码的视频流的帧分辨率增加。
尽管已经结合优选实施例描述和图解说明了本发明,但可以不背离本发明的精神和范围来进行对于本领域的技术人员来说明显的许多变化和修改,因此本发明不限于上述方法或构造的精确细节,因是用来将这样的变化和修改包含在本发明的范围之内。

基于客户端或网络环境调整视频流的系统和方法.pdf_第1页
第1页 / 共18页
基于客户端或网络环境调整视频流的系统和方法.pdf_第2页
第2页 / 共18页
基于客户端或网络环境调整视频流的系统和方法.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《基于客户端或网络环境调整视频流的系统和方法.pdf》由会员分享,可在线阅读,更多相关《基于客户端或网络环境调整视频流的系统和方法.pdf(18页珍藏版)》请在专利查询网上搜索。

视频服务器(100)根据参数值编码视频流,并经由网络(200)将该视频流发送至视频客户端(300),该视频客户端解码接收到的视频流以呈现给用户。当接收到视频流时,视频客户端(300)不断地聚集至少关于将数据发送至视频服务器(100)的网络(200)的状况的数据。视频服务器(100)基于从视频客户端(300)接收到的数据来调整参数的值,其继而调整视频流的编码。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1