用于传递视频块的方法,实现这种方法的服务器实体、客户机实体和中间网络实体的制作方法

文档序号:7850841阅读:166来源:国知局
专利名称:用于传递视频块的方法,实现这种方法的服务器实体、客户机实体和中间网络实体的制作方法
用于传递视频块的方法,实现这种方法的服务器实体、客户机实体和中间网络实体
本发明涉及使用请求响应协议将视频块提供给客户机实体的方法,在服务器实体处可获得每个视频块,多个编码视频块根据相应质量水平进行编码,所述方法包括以下步骤
所述服务器实体在所述不同的质量水平上将信息发送给所述客户机实体,
所述客户机实体基于与本地传递带宽相关参数相关联的标准,进行对所述不同质量水平中的一个质量水平的选择,
所述客户机实体请求所述服务器实体传递在所述一个块质量水平中进行编码的编码块,
所述服务器实体将根据所述一个块质量水平进行编码的所述编码块发送给所述客户机实体,
为了通过国际互联网有效地分发视频文件,已经开发了诸如RTP (实时传输协议) 和UDP (用户数据报协议)的实时协议。由于具有用于流行网页的HTTP高速缓存节点的可用性内容分发网络(CDN),网页开发者熟悉HTTP技术,以及将防火墙设置为经过通过网络浏览器访问的网站,从而HTTP/TCP更容易穿过防火墙,所以使用诸如HTTP/TCP的非实时协议通过国际互联网分发视频文件的趋势增加。存在用于通过诸如HTTP/TCP的非实时协议在国际互联网上分发视频文件的不同种类的方案。它们中的一个是自适应流。HTTP自适应流(HAS)例如从来自AlexZambelli (微软Silverlight)的“IIS平滑流技术综述”的“基于HTTP的自适应流”部分进行了解。
HAS依赖于在服务器或中间或高速缓存元件 获得不同质量和诸如2秒的持续时间的分段时隙(也被称为块)的视频文件。
当观看视频时可将不同质量的时间片段进行合并。HTTP自适应流能够使客户机实体以可能的最高估计质量来观看视频,以及当网络中可使用的带宽不够时请求较低质量的片段,或者在新视频开始时为了能够通过下载低质量的初始片段来快速启动。具体地,客户机实体会尝试保持将其缓存器填充到特定的水平,例如20到30秒的重放时间。当缓存器耗尽时,客户机开始请求较低质量的视频文件片段,以便更快地填充缓存器并避免视频冻结。
由于质量水平的选择影响下载相应编码块所要求的带宽,在可利用网络带宽中突然的波动对选择块质量是挑战性的。在多个后续块能够以高速进行下载的情况下,其可决定更高的视频质量水平,并且只要块能够快速地传递,其会决定进一步为观众增加质量水平。如果带宽突然下降,此时下载的高质量块必须全部以较低带宽来完成。在将块播放给客户机用户之前对所述块进行存储客户机上,这对缓存器的填充水平会产生重大影响。这甚至会导致完全的缓存器不足,导致对观众的视频冻结。
带宽波动可能具有几个原因,例如
-通过无线链路对块进行传递,其中靠近最近的基站天线以及干扰影响会扮演重要角色。
-由中间HTTP-代理缓存的块会对感知的带宽产生相同的影响。能够非常快速地检索所缓存的靠近客户机(包括客户机的内部高速缓存)的块,以指示大量可使用的带宽。 没有缓存的块必须从服务器获取,并且相对于所缓存的片段,检索相对较慢。从各个客户机,链路上可利用的带宽会强烈地进行波动,并且这会影响质量水平决策。
-通过共享链路对块进行传递。根据由其它用户产生的负载,用于一个客户机的可利用的带宽会剧烈变化。
在任何时候,在选择质量水平时必须找到平衡。如果过快地使用所述选择,这会导致许多不必要的可能打扰观众的质量变化。如果决策没有足够的反应,这会导致更为恒定的显示质量,冒调用缓存欠载运行的风险。
因为在强带宽波动的情况下,在客户机侧不可能做出可靠的预测,因此得到的质量是次最优的。在这一点上,存在缓存饥饿的风险。
本发明的一个目的是克服已知方法的上述缺点。
根据本发明的方法实现了这一目的,在于其包括附加步骤所述服务器实体将涉及所述编码块从所述服务器实体到所述客户机实体的传递时间的附加信息发送给所述客户机实体,并且所述客户机实体还考虑所述附加信息来作出对所述一个质量水平的所述选择。
这样,不是按照对最优质量水平预测的纯“尝试和错误/恢复”风格,从服务器实体接收的附加信息能够使客户机(在精度的一些余量(margin)内)‘计算’出能够达到且不会导致缓存欠载运行的最高质量水平。
根据本发明方法的实施方式的附加特征是,所述服务器实体根据来自所述客户机实体的请求发送所述附加信息。在这种情况下,客户机实体确定质量选择的定时和频率。
根据本发明方法的实施方式的另一附加特征是,将所述附加信息连同所述质量水平上的所述信息一起进行发送。在这种情况下,在实现上述附加特征的同时,限制了信息传递的数量。
根据本发明方法的实施方式的又一附加特征是,当在所述传递时间内发生预定的相关变化时,所述服务器实体发送所述附加信息。在这种情况下,在根据来自客户机实体的请求时提供附加信息的系统中,该客户机实体会意识到在传递时间中在两个信息请求之间发生的相关变化。
根据本发明方法的实施方式的又一附加特征是,所述服务器实体和所述客户机实体之间的通信通过中间网络元件执行,并且所述方法包括附加步骤所述中间网络元件更新所述附加信息以考虑在所述中间网络元件处可获得的本地信息,例如但不局限于,可能的缓存块,或将视频块从所述中间网络元件传递给所述客户机实体所需要的传递时间,或者所述客户机实体的简档信息,或者其任意组合。
中间网络元件会影响所述块的传递时间,例如,缓存会减小估计的传递时间。同样地,可获得的带宽或客户机所需的带宽可取决于客户机的简档,例如分别取决于其订阅协议(subscription agreement)或取决于其观看行为。该附加特征使通知其客户机实体成为可能。
本发明还涉及实现根据本发明方法的服务器实体、客户机实体和中间网络实体。
此后下面仅通过实施例,并参照附图
来描述实现本发明的服务器实体、客户机实体和中间网络元件的实施方式,其中附图表示了服务器实体S直接通过网络或通过中间网络元件IN与客户机实体C进行通信的网络。S还与网络管理模块匪进行通信。
为了简明起见,S、匪、IN和C之间的网络连接用单线表示。
S包含服务器存储实体SSTE、服务器接收实体SRE、服务器发送实体SSE、服务器处理实体SPE和服务器管理者SM。
S使用超文本传送协议(HTTP)将视频流直接提供给C或通过作为缓存实体的IN 提供给C。将视频源分割成典型为2-4秒长的块,其使用希望的分发代码格式进行编码。由于这不是本发明的目的,因此不对如何进行该处理进行详细描述。编码可由S或外部编码器来完成。将块由SSTE存储在S中,并且利用自适应流进行分发。至此,使用对应于不同质量水平的不同比特率对块进行编码。
IN包含接收部分INRE、处理部分INPE、发送部分INSE和存储部分INSE。其起到缓存要发送到C的视频块的元件的作用,从而减小了这些块的传输时间,并减小了网络上的负载。
C包含接收部分CRE、发送部分CSE和处理部分CPE。
为了具有发送给它的视频块,或者更具体的是C中的CSE,在第一实例中,将请求发送给S以在可使用的质量水平上获得信息,将其称为清单请求(manifest request)。在所示实施方式中,将该请求直接发送给S,但是也可相同地通过IN进行发送。
S通过SRE接收该请求,并将其传送给SPE。SPE适于从SSTE检索可使用质量水平上的信息。SM用于通过网络从网络管理器模块匪获得带宽相关的信息,其中所述信息与参数相关,并且所述参数可影响将视频块传递给C所需要的时间,例如为C保留的网络负载和带宽。将该信息转发给SPE,所述SPE适于基于带宽相关信息、可利用块的大小和诸如服务器负载的本地信息来估计该传递时间。对于计算,在考虑的实现方式中使用下列计算公式, 但是也可使用其它公式
(t=Bff/s+RTT+Ts)
其中t=估计的传递时间,BW=从服务器到客户机可利用的带宽,S=分片大小,RTT= 回程时间(客户机-服务器-客户机),Ts=服务器处理所述请求所需要的处理时间。然后, 将关于t的信息以及在可利用质量水平上的信息以所谓清单消息的形式发送给SSE,以便传输给C。该传输通过IN进行。IN接收INRE中的消息,所述INRE将其传送给INPE,其中关于清单消息中估计传递时间的信息可根据由IN缓存了什么块,IN中可利用的质量水平和靠近C的这种可用性如何如何影响传递时间进行调整。在考虑的实施方式中,IN将时间修改为
tu=BWI/s+RTTI+TsI,如果所述块在缓存中可用
其中tu=更新的估计传递时间,BWI=从IN到客户机可用的带宽,S=分片大小, RTTI=回程时间(客户机-1N-客户机),TsI=由IN处理请求所需要的处理时间。再次,在可替换的实施方式中,也可使用其它公式。从而将更新的清单消息转发给INSE,以便传输给 Co
需要说明的是,在考虑的实施方式中,IN是缓存单元。在可替换的实施方式中,然而,IN还 可是诸如DSLAM节点的接入节点。在这种情况下,根据接入链路(ADSL、VDSL、光纤…)的类型来改编调整估计的下载时间。
C通过CSE接收清单消息,CSE将其递送给CPE。CPE使用估计的下载时间和与其本地缓冲器(在图中没有示出)尺寸相关的本地可利用信息计算可实现传递且不会导致缓冲器溢出/欠载的最高质量水平,其中本地缓冲器用于在将块显示给用户(在图中也没有示出)之前对块进行缓冲。将与该计算的质量水平相关的信息插入到块请求消息中,其中块请求消息转发到CRE,以用于通过IN传递给S,以便获得具有所请求的质量水平的视频块。 如果所请求的块被缓存,则由IN处理该请求,如果它们在IN处不可用,则IN将其转发给S, 并且将所请求的块发送给C。
C周期性地发送这样的清单请求,以便变为了解由于网络或S中的变化(诸如网络负载的波动)、缓存条件的变化、S负载中的变化所导致估计的传递时间中的变化。
此外,S中的SPE周期性地通过SM检查网络条件中是否没有突然变化,其中突然变化会对估计的传送时间产生相应影响。如果它们发生了,则重新计算所述估计的传递时间,并将新的清单消息发送给C。在可替换的实施方式中,该检测由SM执行,或者当网络条件发生变化时从网络接收触发。
由于如何对视频块进行编码和解码,以及如何将其流传送到用户不是本发明的目的,因此不在这里进行描述。
同时,由于基于上面的功能描述,S、IN和C中功能块的实现方式对本领域技术人员来说是容易想到的,因此这里不详细描述。
此外,需要说明的是,所描述的功能可通过使用专用硬件以及能够执行与适当软件相关联的软件的硬件来提供。当由处理器提供时,功能可由单一的专用处理器、单一的共享处理器、多个单独的处理器(其中一些可以是共享的)提供。还可包括其它传统和/定制的硬件。
上面的描述和附图仅解释本发明的原理。可以理解的是,基于该描述,本领域技术人员能够设计出各种配置,尽管没有在这里具体解释或说明,所述配置实施本发明的原理并包括在其精神和范围内。此外,这里陈述的实施例主要是意在仅明白地用于教学目的,帮助读者理解本发明的原理和发明人对现有技术贡献的概念,并应被解释为不局限于这种特别陈述的实施例和条件,这里陈述原理的全部声明、本发明的各方面和各实 施方式以及其专用实施例意在涵盖其等效物。
权利要求
1.一种使用请求响应协议将视频块提供给客户机实体(C)的方法,在服务器实体(S)处可获得每个视频块,多个编码视频块根据相应质量水平进行编码,所述方法包括以下步骤 所述服务器实体按照所述不同的质量水平将信息发送给所述客户机实体, 所述客户机实体基于与本地传递带宽相关参数相关联的标准,进行对所述不同质量水平中的一个质量水平的选择, 所述客户机实体请求所述服务器实体将在所述一个块质量水平中进行编码的编码块传递给所述客户机实体, 所述服务器实体将根据所述一个块质量水平进行编码的所述编码块发送给所述客户机实体, 其特征在于,所述方法包括以下附加步骤 所述服务器实体将与所述编码块从所述服务器实体到所述客户机实体的传递时间相关的附加信息发送给所述客户机实体; 所述客户机实体在还考虑所述附加信息的情况下进行对所述一个质量水平的所述选择。
2.根据权利要求1所述的方法,其特征在于,所述服务器实体(S)从参数列表中的至少一个参数导出所述附加信息,所述列表包括但不局限于所述编码块的大小、所述服务器的负载、传递所述编码块的网络的负载、在所述网络上为所述客户机实体保留的带宽。
3.根据权利要求1所述的方法,其特征在于,所述服务器实体(S)在有来自所述客户机实体(C)的请求时发送所述附加信息。
4.根据权利要求3所述的方法,其特征在于,将所述附加信息连同与所述质量水平相关的所述信息一起发送。
5.根据权利要求1所述的方法,其特征在于,当在所述传递时间内发生预定的相关变化时,所述服务器实体(S)发送所述附加信息。
6.根据权利要求1所述的方法,其特征在于,通过中间网络元件执行所述服务器实体(S)和所述客户机实体(C)之间的通信,并且所述方法包括所述中间网络元件(IN)更新所述附加信息以考虑在所述中间网络元件(IN)处可获得的本地信息的附加步骤,其中本地信息例如但不局限于可能的缓存块、从所述中间网络元件(IN)将视频块传递到所述客户机实体(C)所需要的传递时间、所述客户机实体(C)的简档信息、或者其任何组合。
7.一种实现根据权利要求1的方法的服务器实体(S),所述服务器实体(S)包括用于存储视频块的存储实体(SSTE),每个视频块被存储为多个编码视频块,其中根据相应质量水平对每个视频块进行编码,用于按照所述不同的质量水平将信息发送给客户机实体(C)的传输实体(SSE),用于从所述客户机实体(C)接收将按所选择的块质量水平编码的编码块传递到客户机实体的请求的接收实体(SRE),所述传输实体(SSE)附加地用于将按照所述选择质量水平进行编码的所述编码块发送给所述客户机实体(C),其特征在于,所述服务器实体(S)还包括用于产生与所述编码块从所述服务器实体(S)到所述客户机实体(C)的传递时间相关的附加信息的处理实体(SPE),所述传输实体用于将所述附加信息传递给所述客户机实体(C)。
8.根据权利要求7所述的服务器实体(S),其特征在于,所述处理实体(SPE)用于从参数列表中的至少一个参数产生所述附加信息,其中参数列表包括但不局限于所述编码块的大小、所述服务器(S)的负载、传递所述编码块的网络的负载、在所述网络上为所述客户机实体(C)保留的带宽。
9.根据权利要求7所述的服务器实体(S),其特征在于,所述接收实体(SRE)用于从所述客户机实体(C)接收按所述不同质量水平发送所述附加信息的请求,并且所述传输实体(SSE)用于在接收到该请求时将所述附加信息传递给所述客户机实体(C)。
10.根据权利要求9所述的服务器实体(S),其特征在于,所述传输实体(SSE)用于发送所述附加信息以及以所述不同质量水平的所述信息。
11.根据权利要求7所述的服务器实体(S),其特征在于,所述处理实体(SPE)用于当检测到所述传递时间的预定相关变化时产生所述附加信息,并且从而触发所述传输实体发送所述附加信息。
12.—种实现根据权利要求1的方法的客户机实体(C),所述客户机实体(C)包括用于接收以编码视频块的可能质量水平的信息的接收实体(CRE),用于基于与在传递所述编码视频块所需要的带宽上本地可获得信息相关的标准,进行对所述可能的质量水平的一个块质量水平的选择的选择实体(CPE),用于将按所述一个块质量水平编码的编码视频块传递给客户机实体的请求发送给服务器实体(S)的发送实体(CSE),所述接收实体(CRE)用于接收所述编码视频块,其特征在于,所述接收实体(CRE)还用于接收与所述编码块从所述服务器实体(S)到所述客户机实体(C)的传递时间相关的附加信息,并且所述选择实体(CPE)附加地用于在还考虑所述附加信息的情况下进行对所述一个质量水平的所述选择。
13.一种实现根据权利要求6的方法的中间网络实体(IN),其特征在于,所述中间网络实体(IN)包括用于接收与将编码视频块从服务器实体(S)发送到客户机实体(C)的传递时间相关的信息的接收模块(INRE),用于产生更新的附加信息的处理模块(INPE),所述更新的附加信息是对所述附加信息的更新以考虑本地信息,诸如但不局限于与将视频块从所述中间网络元件(IN)到所述客户机实体(C)的传递时间相关的信息、与缓存的视频块相关的信息、所述客户机实体(C)的简档信息,或其任意组合,并且将所述更新的附加信息发送给所述客户机实体的发送模块(INSE )。
全文摘要
一种使用请求响应协议将视频块提供给客户机实体(C)的方法。由于多个编码视频块根据各自的质量水平进行编码,在服务器实体(S)处可获得每个视频块。该方法包括以下步骤服务器实体按不同的质量水平将信息发送给客户机实体,客户机实体基于与本地传递带宽相关参数相关联的标准,进行对所述不同质量水平的一个质量水平的选择,-客户机实体请求服务器实体将在所述一个块质量水平中进行编码的编码块传递给所述客户机实体,-服务器实体将根据一个块质量水平进行编码的编码块发送给客户机实体,-服务器实体将与编码块从服务器实体到客户机实体的传递时间相关的附加信息发送给客户机实体,-客户机实体还在考虑附加信息的情况下进行对所述一个质量水平的所述选择。
文档编号H04N21/462GK103026727SQ201180035993
公开日2013年4月3日 申请日期2011年7月25日 优先权日2010年7月23日
发明者R·胡瑟格姆斯, S·库斯特尔斯, B·德弗莱斯朔韦尔, W·范利克维克 申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1