CN1605075A - 基于客户端或网络环境调整视频流的系统和方法 - Google Patents

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

Info

Publication number
CN1605075A
CN1605075A CNA028251229A CN02825122A CN1605075A CN 1605075 A CN1605075 A CN 1605075A CN A028251229 A CNA028251229 A CN A028251229A CN 02825122 A CN02825122 A CN 02825122A CN 1605075 A CN1605075 A CN 1605075A
Authority
CN
China
Prior art keywords
computing machine
video flowing
data
network
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA028251229A
Other languages
English (en)
Other versions
CN1316398C (zh
Inventor
詹斯·卡恩布莱
约翰·W·理查森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
InterDigital CE Patent Holdings SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN1605075A publication Critical patent/CN1605075A/zh
Application granted granted Critical
Publication of CN1316398C publication Critical patent/CN1316398C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

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

Description

基于客户端或网络环境调整视频流的系统和方法
本申请要求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接收到的数据可以使得例如被编码的视频流的帧分辨率增加。
尽管已经结合优选实施例描述和图解说明了本发明,但可以不背离本发明的精神和范围来进行对于本领域的技术人员来说明显的许多变化和修改,因此本发明不限于上述方法或构造的精确细节,因是用来将这样的变化和修改包含在本发明的范围之内。

Claims (36)

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包的应用程序指定部分中的聚集的数据。
CNB028251229A 2001-12-15 2002-12-13 基于客户端或网络环境调整视频流的系统和方法 Expired - Fee Related CN1316398C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US34167201P 2001-12-15 2001-12-15
US60/341,672 2001-12-15

Publications (2)

Publication Number Publication Date
CN1605075A true CN1605075A (zh) 2005-04-06
CN1316398C CN1316398C (zh) 2007-05-16

Family

ID=23338551

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028251229A Expired - Fee Related CN1316398C (zh) 2001-12-15 2002-12-13 基于客户端或网络环境调整视频流的系统和方法

Country Status (7)

Country Link
EP (1) EP1454250A4 (zh)
JP (1) JP2005513876A (zh)
KR (1) KR101080237B1 (zh)
CN (1) CN1316398C (zh)
AU (1) AU2002361665A1 (zh)
MX (1) MXPA04005740A (zh)
WO (1) WO2003053040A2 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100588249C (zh) * 2006-07-27 2010-02-03 腾讯科技(深圳)有限公司 调节视频质量的方法、系统及终端
WO2010037310A1 (zh) * 2008-09-27 2010-04-08 腾讯科技(深圳)有限公司 多路视频通信方法与系统
WO2010130182A1 (zh) * 2009-05-12 2010-11-18 腾讯科技(深圳)有限公司 多路视频通讯系统及处理方法
CN101282141B (zh) * 2007-04-05 2012-06-06 华为技术有限公司 一种传输数据和接收数据的方法、装置和系统
CN102668579A (zh) * 2010-10-05 2012-09-12 英特尔公司 用于动态调整视频质量的方法和装置
CN103313095A (zh) * 2012-03-16 2013-09-18 腾讯科技(深圳)有限公司 视频传输方法、播放方法、终端和服务器
CN104185084A (zh) * 2013-05-24 2014-12-03 辉达公司 用于管理流参数的图形服务器和方法
CN104602007A (zh) * 2013-10-30 2015-05-06 英特尔公司 基于信道质量的动态视频编码
CN104935971A (zh) * 2015-06-02 2015-09-23 阔地教育科技有限公司 一种在线课堂中的视频传输动态调整方法及系统

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4789401B2 (ja) 2003-06-25 2011-10-12 トヨタ自動車株式会社 コンテンツ配信システム
KR100526183B1 (ko) 2003-07-15 2005-11-03 삼성전자주식회사 모바일 애드 혹 네트워크 환경에서 효율적인 데이터송수신을 위한 네트워크 장치 및 데이터 전송 방법
US20070024705A1 (en) * 2005-08-01 2007-02-01 Richter Roger K Systems and methods for video stream selection
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
JP2009152952A (ja) * 2007-12-21 2009-07-09 Nec Corp 配信システム、配信方法及びプログラム
CN101215118B (zh) * 2008-01-14 2010-06-09 张建荣 共聚型聚羧酸类减水剂及其制备方法
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9319448B2 (en) * 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
KR101744355B1 (ko) 2011-01-19 2017-06-08 삼성전자주식회사 상호 계층 최적화를 이용한 멀티미디어 데이터 패킷을 송신하는 방법 및 장치
WO2012154157A1 (en) * 2011-05-06 2012-11-15 Google Inc. Apparatus and method for dynamically changing encoding scheme based on resource utilization
JP5660983B2 (ja) 2011-06-28 2015-01-28 トヨタ自動車株式会社 コンテンツ配信システム
WO2014122693A1 (ja) * 2013-02-08 2014-08-14 三菱電機株式会社 クライアント装置、サーバ装置、画面伝送システム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100345497B1 (ko) * 1994-06-07 2002-10-04 유니시스 코포레이션 동기화 그룹을 사용하는 멀티-캐스트 디지탈 비디오 데이터서버
JP2000515692A (ja) * 1995-12-12 2000-11-21 ザ ボード オブ トラスティーズ オブ ザ ユニバーシティー オブ イリノイ 性質限定システム上でリアルタイムの動画及び音声情報を伝送し読み出すための方法及び装置
US6233017B1 (en) * 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
JPH10126771A (ja) * 1996-10-15 1998-05-15 Toshiba Corp 画像データ転送システムにおける画像データ送出レート制御方法および画像データ転送方法
US6006241A (en) * 1997-03-14 1999-12-21 Microsoft Corporation Production of a video stream with synchronized annotations over a computer network
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
US6192032B1 (en) * 1998-01-02 2001-02-20 International Business Machines Corporation Rate attenuation systems, methods and computer program products for reducing low priority video frame packets transmitted over a network
JPH11266229A (ja) * 1998-03-18 1999-09-28 Matsushita Electric Ind Co Ltd スペクトラム拡散通信方式によるデータ伝送装置
JP2955561B1 (ja) * 1998-05-29 1999-10-04 株式会社ディジタル・ビジョン・ラボラトリーズ ストリーム通信システム及びストリーム転送制御方法
SG77650A1 (en) * 1998-09-07 2001-01-16 Victor Company Of Japan A scalable delivery scheme of compressed video
JP2000228676A (ja) * 1998-11-30 2000-08-15 Matsushita Electric Ind Co Ltd データ送信方法
US6529475B1 (en) * 1998-12-16 2003-03-04 Nortel Networks Limited Monitor for the control of multimedia services in networks
JP2000270330A (ja) * 1999-03-18 2000-09-29 Fujitsu Ltd 映像配信システム及び映像配信方法
JP2000295597A (ja) * 1999-04-09 2000-10-20 Oki Electric Ind Co Ltd メディアデータ受信および送信装置
JP2001025013A (ja) * 1999-07-12 2001-01-26 Matsushita Electric Ind Co Ltd 送受信方法及びその装置
US20010047517A1 (en) * 2000-02-10 2001-11-29 Charilaos Christopoulos Method and apparatus for intelligent transcoding of multimedia data

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100588249C (zh) * 2006-07-27 2010-02-03 腾讯科技(深圳)有限公司 调节视频质量的方法、系统及终端
CN101282141B (zh) * 2007-04-05 2012-06-06 华为技术有限公司 一种传输数据和接收数据的方法、装置和系统
WO2010037310A1 (zh) * 2008-09-27 2010-04-08 腾讯科技(深圳)有限公司 多路视频通信方法与系统
US8908757B2 (en) 2008-09-27 2014-12-09 Tencent Technology (Shenzhen) Company Limited Multi-channel video communication method and system
WO2010130182A1 (zh) * 2009-05-12 2010-11-18 腾讯科技(深圳)有限公司 多路视频通讯系统及处理方法
US8890930B2 (en) 2009-05-12 2014-11-18 Tencent Technology (Shenzhen) Company Limited Multi-channel video communication system and method for processing multi-channel video communication
CN102668579A (zh) * 2010-10-05 2012-09-12 英特尔公司 用于动态调整视频质量的方法和装置
CN103313095A (zh) * 2012-03-16 2013-09-18 腾讯科技(深圳)有限公司 视频传输方法、播放方法、终端和服务器
CN104185084A (zh) * 2013-05-24 2014-12-03 辉达公司 用于管理流参数的图形服务器和方法
CN104602007A (zh) * 2013-10-30 2015-05-06 英特尔公司 基于信道质量的动态视频编码
CN104935971A (zh) * 2015-06-02 2015-09-23 阔地教育科技有限公司 一种在线课堂中的视频传输动态调整方法及系统
CN104935971B (zh) * 2015-06-02 2018-08-07 阔地教育科技有限公司 一种在线课堂中的视频传输动态调整方法及系统

Also Published As

Publication number Publication date
EP1454250A4 (en) 2010-08-25
AU2002361665A8 (en) 2003-06-30
AU2002361665A1 (en) 2003-06-30
KR101080237B1 (ko) 2011-11-08
EP1454250A2 (en) 2004-09-08
WO2003053040A3 (en) 2003-12-18
WO2003053040A2 (en) 2003-06-26
CN1316398C (zh) 2007-05-16
MXPA04005740A (es) 2004-12-06
KR20040074997A (ko) 2004-08-26
JP2005513876A (ja) 2005-05-12

Similar Documents

Publication Publication Date Title
CN1605075A (zh) 基于客户端或网络环境调整视频流的系统和方法
RU2497304C2 (ru) Динамическая модификация свойств видео
US7502818B2 (en) Data communications system, data sender, data receiver, data communications method, and computer program
US6789123B2 (en) System and method for delivery of dynamically scalable audio/video content over a network
KR101242663B1 (ko) 패킷 송신 장치, 통신 시스템 및 컴퓨터 판독가능한 기록매체
KR101449710B1 (ko) 데이터 통신시스템, 데이터 송신장치, 데이터 송신방법 및패킷 사이즈 및 용장도 결정방법
US8352991B2 (en) System and method for modifying a video stream based on a client or network environment
US20080259796A1 (en) Method and apparatus for network-adaptive video coding
US10944973B2 (en) Estimation of video quality of experience on media servers
CN101069427A (zh) 容忍丢失多媒体组播的方法和系统
CN102742245A (zh) 用于解析网络抽象层以实现可靠数据通信的方法和设备
CN1886968A (zh) 用于准备发送数据的设备和方法以及相应的产品
MX2013013373A (es) Metodo para adaptacion dinamica de la tasa de bits recibida y receptor asociado.
CN111093083A (zh) 数据传输方法及装置
CN113015020A (zh) 一种网络传输协议快速纠错的算法
CN101048768A (zh) 用于自适应媒体服务的多种描述提示和交换
WO2012161652A1 (en) Methods for transmitting and receiving a digital signal, transmitter and receiver
CN114339445B (zh) 实时视频流自适应协调系统及方法
CN1992886A (zh) 具有带宽适配功能的流媒体服务器
US20180192088A1 (en) Transmitting/receiving audio and/or video data over a wireless network
WO2013100754A1 (en) A system and method for adaptive media content delivery
US20150063103A1 (en) Bandwidth-dependent compressor for robust header compression and method of use thereof
CN114124910A (zh) 直播数据传输方法、系统及可读存储介质
CN110740135A (zh) 一种多媒体教室的同屏数据传输方法、装置及系统
Monteiro et al. Rate adaptation for wireless video streaming based on error statistics

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: I Si Eli Murli Nor, France

Patentee after: THOMSON LICENSING

Address before: French Boulogne

Patentee before: THOMSON LICENSING

CP02 Change in the address of a patent holder

Address after: I Si Eli Murli Nor, France

Patentee after: THOMSON LICENSING

Address before: French Boulogne

Patentee before: THOMSON LICENSING

CP02 Change in the address of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20190624

Address after: Paris France

Patentee after: Interactive digital CE patent holding Co.

Address before: I Si Eli Murli Nor, France

Patentee before: THOMSON LICENSING

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070516

Termination date: 20201213

CF01 Termination of patent right due to non-payment of annual fee