《具有缓冲器水位决策的改进的DASH客户端和接收机.pdf》由会员分享,可在线阅读,更多相关《具有缓冲器水位决策的改进的DASH客户端和接收机.pdf(67页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104205772A43申请公布日20141210CN104205772A21申请号201380016181022申请日2013022661/603,56920120227US13/745,81120130120USH04L29/06200601H04N21/637320060171申请人高通股份有限公司地址美国加利福尼亚72发明人Q高MG卢比Y毛LC明德74专利代理机构永新专利商标代理有限公司72002代理人张扬王英54发明名称具有缓冲器水位决策的改进的DASH客户端和接收机57摘要客户端/接收机在通过网络路径耦接的源和所述接收机之间的网络路径上下载数据,并且将媒体数据存储。
2、在该接收机的呈现缓冲器中,并且由呈现元件从其中消耗媒体数据。该接收机监测呈现缓冲器的填充水平,该填充水平代表呈现缓冲器的哪部分包含尚未被呈现元件消耗的媒体数据。该接收机针对要下载额外的数据进行请求。如果所述填充水平高于高填充阈值,则接收机不进行进一步请求,并最终该填充水平下降。如果填充水平低于低填充阈值,则该接收机重启下载,并且随着由所述呈现元件消耗媒体数据,对所述填充水平进行更新。该填充水平可以以存储器存储容量为单位和/或以呈现时间为单位进行测量。30优先权数据85PCT国际申请进入国家阶段日2014092386PCT国际申请的申请数据PCT/US2013/0278132013022687P。
3、CT国际申请的公布数据WO2013/130477EN2013090651INTCL权利要求书2页说明书40页附图24页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书40页附图24页10申请公布号CN104205772ACN104205772A1/2页21一种对通过网络路径耦接的源和接收机之间的所述网络路径上的数据下载进行控制的方法,所述方法包括从所述源下载媒体数据;将所述媒体数据存储在所述接收机的呈现缓冲器中;监测所述呈现缓冲器的填充水平,其中,所述填充水平代表所述呈现缓冲器的哪部分包含尚未被呈现元件消耗的媒体数据;如果所述填充水平高于高填充阈值,则停止所述下载;如果所述。
4、填充水平低于低填充阈值,则重启所述下载;以及随着由所述呈现元件消耗媒体数据,对所述填充水平进行更新。2根据权利要求1所述的方法,其中,所述填充水平是以存储器存储容量为单位进行测量的。3根据权利要求1所述的方法,其中,所述填充水平是以呈现时间为单位进行测量的。4根据权利要求1所述的方法,其中,进行下载是基于估计的往返时间“ERTT”的,并且其中,当所述媒体数据的下载被重启时,所述ERTT被重置。5根据权利要求1所述的方法,其中,进行下载发生在多个TCP连接上,并且当所述媒体数据的下载被重启时,在用的TCP连接的数量被重置。6根据权利要求1所述的方法,其中,所述高填充阈值和低填充阈值随着时间而变化。
5、。7一种接收机,其在源和所述接收机之间的网络路径上下载数据,所述接收机包括呈现缓冲器,其存储从所述源下载的下载媒体数据;用于所述呈现缓冲器的填充水平的存储单元,其中,所述填充水平代表所述呈现缓冲器的哪部分包含尚未被呈现元件消耗的媒体数据;用于发送下载请求的接口,其中,如果所述填充水平高于高填充阈值,则不发送请求,并且如果所述填充水平低于低填充阈值,则发送请求,并且其中,随着由所述呈现元件消耗媒体数据,对所述填充水平进行更新。8根据权利要求7所述的接收机,其中,所述填充水平是以存储器存储容量为单位进行测量的。9根据权利要求7所述的接收机,其中,所述填充水平是以呈现时间为单位进行测量的。10根据权。
6、利要求7所述的接收机,其中,进行下载是基于估计的往返时间“ERTT”的,并且其中,当所述媒体数据的下载被重启时,所述ERTT被重置。11根据权利要求7所述的接收机,其中,进行下载发生在多个TCP连接上。12根据权利要求7所述的接收机,其中,所述高填充阈值和低填充阈值随着时间而变化。13一种用于由接收机的处理器执行以便对通过网络路径耦接的源和接收机之间的所述网络路径上的数据下载进行控制的非临时性计算机可读介质,所述非临时性计算机可读介质在其上具有程序代码,所述程序代码包括用于从所述源下载媒体数据的程序代码;用于将所述媒体数据存储在所述接收机的呈现缓冲器中的程序代码;用于监测所述呈现缓冲器的填充水。
7、平的程序代码,其中,所述填充水平代表所述呈现权利要求书CN104205772A2/2页3缓冲器的哪部分包含尚未被呈现元件消耗的媒体数据;用于如果所述填充水平高于高填充阈值,则停止所述下载的程序代码;用于如果所述填充水平低于低填充阈值,则重启所述下载的程序代码;以及用于随着由所述呈现元件消耗媒体数据,对所述填充水平进行更新的程序代码。14根据权利要求13所述的非临时性计算机可读介质,其中,所述填充水平是以存储器存储容量为单位和/或以呈现时间为单位进行测量的。15根据权利要求13所述的非临时性计算机可读介质,还包括用于基于估计的往返时间“ERTT”进行下载的程序代码,并且其中,当所述媒体数据的下载。
8、被重启时,所述ERTT被重置。16根据权利要求13所述的非临时性计算机可读介质,还包括用于在多个TCP连接上进行下载的程序代码,以及用于当所述媒体数据的下载被重启时,重置在用的TCP连接的数量的程序代码。17根据权利要求13所述的非临时性计算机可读介质,其中,所述高填充阈值和低填充阈值随着时间而变化。权利要求书CN104205772A1/40页4具有缓冲器水位决策的改进的DASH客户端和接收机0001相关申请的交叉引用0002本申请要求享受2012年2月27日提交的、题目为“IMPROVEDDASHCLIENTANDRECEIVERWITHRATEADAPTATIONANDDOWNLOADIN。
9、GFORADAPTIVEVIDEO”的美国临时申请NO61/603,569的权益,故出于所有目的,作为整体以引用方式将其全部内容并入本文。背景技术0003DASH指的是“动态自适应HTTP流”。使用DASH,内容提供商将内容格式化成分段、片段、表现REPRESENTATION、改编ADAPTATION等,连同相关联的元数据诸如MPD文件,并将所有这些存储为通过标准HTTP服务器或者专用HTTP服务器可获得的文件。DASH客户端是根据需要获得这些文件,以向该DASH客户端的用户提供呈现的接收方。0004由于用户通常在网络受到约束的环境中,在很少或没有提前通知的情况下,想要高质量的流,因此DASH。
10、客户端具有苛刻的限制。从而,改进的DASH客户端令人期望。发明内容0005客户端设备呈现流媒体,并包括用于对流进行控制的流管理器、用于对内容进行网络请求的请求加速器、耦接到流管理器和请求加速器的用于确定进行哪些请求的源组件、网络连接以及媒体播放器。请求加速器包括用于对请求进行缓存的请求数据缓冲器、以及用于向其可以响应的每一个请求返回完整的响应的逻辑。可以将流管理器、请求加速器和源组件实现成处理器指令或程序代码,客户端设备还包括程序存储器、工作存储器、处理器和电源。此外,客户端设备还包括显示器和用户输入设备。在源组件、流管理器和请求加速器之间对客户端任务进行解析,以便对数据进行高效地流传输。00。
11、06在各个方面,如本申请所描述的,客户端可以执行诸如下面的操作确定何时维持一个表现或者切换到另一个表现,确定请求哪些片段,并确保媒体播放器可以获得充足的数据在大多数状况下,以便在没有停滞的情况下继续流媒体播放。0007客户端/接收机在通过网络路径耦接的源和所述接收机之间的网络路径上下载数据,并且将媒体数据存储在该接收机的呈现缓冲器中,并且由呈现元件从其中消耗媒体数据。该接收机监测呈现缓冲器的填充水平,该填充水平代表呈现缓冲器的哪部分包含尚未被呈现元件消耗的媒体数据。该接收机针对要下载额外的数据进行请求。如果所述填充水平高于高填充阈值,则接收机不进行进一步请求,并最终该填充水平下降。如果填充水平。
12、低于低填充阈值,则该接收机重启下载,并且随着由所述呈现元件消耗媒体数据,对所述填充水平进行更新。该填充水平可以以存储器存储容量例如,兆字节或千兆字节为单位和/或以呈现时间例如,秒,分钟为单位进行测量。0008进行下载可以基于估计的往返时间“ERTT”的,并且当所述媒体数据下载被重启时,所述ERTT被重置。进行下载可以发生在多个TCP连接上,并且当所述媒体数据下载被重启时,在用的TCP连接的数量可以被重置。0009在接收机的实现中,该接收机可以包括呈现缓冲器,其存储从所述源下载的下载说明书CN104205772A2/40页5媒体数据;用于所述呈现缓冲器的填充水平的存储单元,其中,所述填充水平代表。
13、所述呈现缓冲器的哪部分包含尚未被呈现元件消耗的媒体数据;以及用于发送下载请求的接口,其中,如果所述填充水平高于高填充阈值,则不发送请求,并且如果所述填充水平低于低填充阈值,则发送请求,并且其中,随着由所述呈现元件消耗媒体数据,对所述填充水平进行更新。0010可以使用用于由处理器执行,对通过一个网络路径耦接的源和接收机之间的所述网络路径上的数据下载进行控制的计算机可读介质,来实现各个单元。该计算机可读介质可以是非临时性计算机可读介质。0011通过本说明书,本发明的其它方面应当是显而易见的。附图说明0012图1示出了DASH部署中的包括DASH客户端的各个组成部分,显示了媒体记录如何到达终端用户,。
14、其中涉及记录、内容准备以及内容递送阶段。0013图2示出了具有不同组件的DASH客户端的示例性架构,其包括流管理器、请求加速器、源组件、网络连接和媒体播放器。0014图3是示出表现切换过程的时序图,其中包括用于回看过程的图3A和用于快进过程的图3B。0015图4是示出针对切换点对齐的情况的表现切换过程的时序图。0016图5是示出如由速率估计器所管理的速率随时间变化的图,特别地,该速率估计器是自适应于缓冲器水平的估计器诸如PKER型速率估计器。0017图6是示出当使用非自适应指数加权移动平均“EWMA”过滤器时,速率增加对比下载时间R时间的图。0018图7是示出当使用非自适应EWMA过滤器时,速。
15、率增加对比播放时间P时间的图。0019图8是示出当使用可变窗口大小加权移动平均“WMA”过滤器时,速率增加对比下载时间R时间的图。0020图9是示出当使用PKER型过程时,速率增加对比播放时间P时间的图。0021图10是示出当使用来自21章节的PKER型过程时,速率增加对比下载时间的图。0022图11示出了速率上突然增加的PKER过程的行为。0023图12示出了突然速率下降的PKER过程的行为。0024图13示出了简单固定宽度的移动窗口平均与指数加权移动平均的对比。0025图14是PKER速率估计过程的流程图。0026图15示出了如何根据记录的TP,TR值的历史连同图16,来确定由PKER过程。
16、使用的值B和TFAST。0027图16示出了对值进行确定的方面。0028图17示出了“水印”获取过程的行为。0029图18示出了如可以用于选择播放速率的LAMBDA和MU函数的示例。0030图19示出了使用“保守”设置的LAMBDA,MU函数的示例性选择。0031图20示出了使用“中等”设置的LAMBDA,MU函数的示例性选择。说明书CN104205772A3/40页60032图21示出了使用“积极”设置的LAMBDA,MU函数的示例性选择。0033图22示出了使用用于在一定程度上仿真MLB过程的过程的LAMBDA,MU函数的示例性选择。0034图23示出了用于LAMBDA设置的并排值的示例。。
17、0035图24示出了用于MU设置的并排值的示例。0036图25示出了用于进行速率估计、然后进行基于速率的速率选择、然后进行基于缓冲器管理的速率选择的过程。0037图26示出了在没有请求取消的情况下的速率下降。0038图27示出了在具有请求取消的情况下的速率下降。0039图28是示出示例性请求取消过程的流程图。0040图29示出了用于请求取消检测的过程。0041图30是利用多个TCP连接但没有接收缓冲器调整的获取的行为的图。0042图31是利用多个TCP连接并利用接收缓冲器调整的获取的其它行为的图。0043图32是示例性请求加速器过程的流程图。0044图33示出了用于发现多个子请求,以有助于给定。
18、的片段请求的过程。0045图34示出了用于选择各个请求的过程,其中这些请求被选定为具有计算出的大小的源请求的不相交时间间隔。0046图35示出了时间偏移以及通过时间偏移所确定的用于修复分段的片段结构的示例。0047图36包括可以用于速率选择中的LAMBDA和MU的值的表。具体实施方式0048本申请所阐释的DASH客户端包括流管理器SM、请求加速器RA、源组件SC、网络连接和媒体播放器,如图2中所示。DASH客户端还可以包括一个或多个媒体数据缓冲器。在一些实现中,RA、SC和媒体播放器均可以具有其自己的数据缓冲器,或者具有一个大型数据缓冲器的逻辑分区。在其它实现中,或许仅RA具有用于缓存请求的数。
19、据缓冲器,使得RA能够向其可以响应的每一个请求发送完整的响应,并且媒体播放器使用SC已建立的任何数据缓冲器。SM可以具有其自己的本地存储物理的或逻辑的,以便根据需要自己决定来存储元数据。0049图1示出了具有DASH客户端的DASH部署。0050图2示出了具有不同的组件的DASH客户端的示例架构。应当理解的是,SM、RA、SC和媒体播放器可以在硬件、软件或某种组合中实现。因此,在将功能归结于组件的情况下,其可以实现为处理器指令、程序代码等,在这种情况下,暗含必要的硬件来执行这些指令程序存储器、ROM、RAM、处理器、电源、连接器、电路板等。在描述网络功能时,网络连接应当被理解为是存在的,并且其。
20、可以是有线、光纤、无线等,并且当暗示用户交互时,还暗含用户接口能力显示器、键盘、触摸板、扬声器、麦克风等。0051DASH客户端维持两个时钟或其逻辑等同物。一个时钟是指示在该客户端中运行的本地时钟的时间的实时时钟电路或软件,而另一个时钟是呈现时间,其表示媒体内容相对于其起始的呈现时间。在本文中,将实时时钟时间称为“R时间”,而“P时间”是表现呈现时说明书CN104205772A4/40页7间的描述符。0052表现是针对相同的内容,以不同的比特率或者其它差别进行编码的媒体流。因此,用户通常将仅需要一个表现,但客户端可以根据情况和/或需求变化,从一个表现切换到另一个表现。例如,如果带宽较高,则流客。
21、户端可以选择高质量、高比特率表现。如果带宽降低,则客户端可以通过切换到较低质量、较低比特率的表现来适应这些情况。0053切换点或随机接入点是表现中的一些样本,可以从这些样本开始对媒体样本的解码,而不需要该流之前的数据的知识。具体而言,在视频表现中,由于样本帧通常依赖于先前的帧,因此并不是每个样本都是随机接入点。当流客户端想要切换表现时,其应当确保在切换点开始对新的表现进行解码,以避免做无用功。在一些情况下,在分段索引SIDX中以信号方式将切换点发送给流客户端。0054表现组有时简称为组是可切换的表现的集合。一个媒体呈现可以包含一个以上的表现组。例如,针对以不同比特率的视频表现可以具有一个表现组。
22、,并且针对音频比特率可以具有另一个表现组。在DASH标准中,有时还将表现组称为自适应集。0055分段是包含针对这些表现中的一个表现的至少一部分中的媒体数据的文件。片段是分段的一部分,其中,从该片段的起始P时间到该分段中的该片段的字节范围的映射是可获得的。有时,使用术语子分段来代替片段,这些术语可以被视作为是等同的。一些媒体内容不被分割在片段中;在这种情况下,“片段”可以指代分段其自身。0056图3是示出两种可能的表现切换过程的时序图。该切换可以是回看第一过程;图3A,在该情况下,通过以下方面来寻找切换到的表现中的切换点查找已经在切换自的表现中请求的P时间伸缩,并选择在P时间上从切换到的表现中向。
23、后选择最靠近该伸缩的结束的前一切换点。第二过程图3B是快进其从在切换自的表现中的最后请求的P时间处开始,在P时间上向前寻找切换到的表现中的下一个切换点。0057图4是示出当切换点对齐时并且当一个切换点紧接在最后请求的片段之后时进行切换的过程的时序图。该图描绘了回看和快进方法二者的行为,这两个过程在这种设置下是表现相同的行为。因此,当这些切换点对齐时,以上的任一过程都不必下载重叠的数据。0058呈现时间是预期通常按照正常的速度,来播放或者重放媒体的时间周期。例如,30分钟视频呈现将播放30分钟。用户可以对进行快进或快退,这将改变实际花费的时间,但应当理解的是,该呈现仍然是30分钟视频呈现。呈现单。
24、元在呈现时间上向用户提供该呈现。呈现单元的示例包括视频显示和音频显示,或者被管道化传输到可以对其进行呈现的设备的视频/音频流。“播放”是用于描述媒体的消费的术语。例如,智能电话可以下载或者获得在一个呈现的呈现时间P时间上表现该呈现的媒体数据,对其进行缓存,媒体播放器“消费”该媒体,优选地消费是使得至少在该呈现时间的结束之前,该缓冲器不是完全地为空,使得当接收机等待获得更多的数据时,用户不会体验到呈现的停滞。当然,“重放”或者“播放”并不暗示对媒体播放一次以上。在很多实例中,其可以是一旦被媒体被消费一次,就不再使用该媒体。0059呈现缓冲器是接收机、媒体播放器或者可访问一个或二者的部件中的内存单。
25、元。为了简化说明,本申请交换地使用术语“呈现缓冲器”、“缓冲器”、“媒体缓冲器”和“播放缓冲器”,并理解其是包括已被下载但还没播放或者消费的数据通常为媒体数据的逻辑缓说明书CN104205772A5/40页8冲器。其可以是下面的情况将包括呈现缓冲器的数据划分在一个设备中的不同组件之间,即,所下载的数据的一些部分由一个进程例如,该设备中的接收进程进行保持,而其它部分可能已经被传送给另一个进程例如,该设备中的播放进程。此外,其还可以是下面的情况可以在不同的进程的不同缓冲器中,对包括呈现缓冲器的数据的至少一部分进行至少部分地重复。在一些情况下,不是所有已被下载但仍没有播放的数据,都被视作为仍然位于呈。
26、现缓冲器之中,例如,在一些情况下,一旦将该媒体内容传递给媒体播放器,就不再将其视作为位于呈现缓冲器之中。通常,已被下载但仍没有播放的媒体数据,以及被视作为不位于呈现缓冲器之中的媒体数据如果有的话的数量非常的小。0060呈现缓冲器容纳不均发接收和播放媒体,存储所接收的媒体数据,直到其被消费为止。在媒体数据被消费之后,可以根据配置,将其删除或者继续保存。在一些实现中,呈现缓冲器的大小如通过可以在该呈现缓冲器中存储的数据的字节数量所测量的可以随时间发生变化。例如,可以根据需要,从共享内存中动态地分配呈现缓冲器。0061在本申请所详细描述的很多示例中,可以假定通过大小来示出呈现缓冲器的特性。在固定的存。
27、储器大小专用于呈现缓冲器的情况下,可以通过能在可用的存储器中存储的字节数量来测量该大小。当呈现缓冲器是动态分配的时,针对呈现缓冲器的“大小”属性可以等于目前分配给该呈现缓冲器的字节数量、可以分配给该呈现缓冲器的最大字节数量、或者某种其它适当的测量值。有时,还依据呈现缓冲器中当前可用的媒体的呈现播放持续时间,来测量呈现缓冲器的大小。0062此外,呈现缓冲器还具有另一种特性其“水平”或者“填充水平”。呈现缓冲器的水平表示在该呈现缓冲器中存在多少未被消费的媒体数据例如,使用字节或者呈现持续时间来测量的。可以预期的是,随着接收到媒体数据,该水平增加,随着媒体数据被消费,该水平下降。该水平也可以仅是一种。
28、逻辑量,例如,呈现缓冲器可以是不断充满有媒体数据,但该媒体数据中的一些例如,已被消费的媒体数据被进行了标记,以便接收到新媒体数据时进行覆盖。可以对一些接收机进行编程,使得“空缓冲器”是存在零个未消费的媒体数据的状况,“满缓冲器”是该呈现缓冲器的100都填充有未消费的媒体数据的状况。其它接收机可以具有其它限制,使得该水平范围处于与呈现缓冲器大小的0到100相比更小的范围之上。在使用共享内存,并且仅当存储未消费的媒体数据时,才向呈现缓冲器进行分配的情况下,使用呈现缓冲器的这种动态分配的内存大小作为在指示水平比率时的分母,可能没有任何意义,这是由于根据规定,该呈现缓冲器始终是满的。更适合的是,可以将。
29、该呈现缓冲器的水平测量成该呈现缓冲器中的未消费媒体数据的数量除以该呈现缓冲器的最大允许大小之比。00631、客户端组件的概述0064再次参见图12,示出示例性客户端的各种组件。0065SC保持元数据例如,关于哪些表现是可用的、以及其片段都是有哪些之类的信息的跟踪。此外,SC还负责对通过网络接收的媒体数据进行缓存,以便将其传递给媒体播放器。SM负责决定在什么时间点将下载哪些表现,以及进行速率切换决定。最后,给定精确的URL以及如SC所提供的字节范围信息,RA负载下载媒体片段。0066SM是负责进行速率切换决定的软件组件。SM的目标之一是针对给定的情形,挑选最佳的内容。例如,如果有大量可用的带宽,。
30、可以实现高下载速率,则SM应当挑选高速率表说明书CN104205772A6/40页9现。如果下载速率明显地下降,所选择的高表现不再是可维持的,则SM应当切换到更低的表现速率,更适合于当前状况。SM应当足够快地切换速率,以避免使播放缓冲器完全地耗尽由于这将造成播放停滞,但同时尝试不要切换的太匆忙或者太频繁。此外,应当将目标设定为请求可以通过网络下载、并且在没有停滞的情况下进行播放的最高质量内容。SM在其决策过程中,可以扩展到考虑不同于下载速率的其它因素。其可以潜在地考虑诸如电池寿命、显示器尺寸之类的事物、以及当关于表现进行决策时的其它因素。可以将这些另外的约束作为过滤器增加到SM中,但其不影响本。
31、申请所描述的基本速率决策计算。0067现在描述客户端的典型、高水平操作。假定用户请求一个特定的媒体内容,例如,实时体育广播、预录制的电影、音频流或者其它音视频内容或者其它内容,其可以涉及不同于视频和音频的媒体类型。客户端或许通过用户接口或者计算机接口,向SM提供该请求。SM从SC进行请求,并接收关于下面信息的指示有哪些表现可用、哪些P时间跨度被哪些片段覆盖、以及这些表现中的切换点位于什么位置。除了该信息之外,SM可以具有关于在处理的短期下载速率的某种信息如下面所解释的,RA将该数据报告给SC,SC将其报告或者提供给SM。0068SM使用该信息,以及过去的历史,估计可持续的速率,选择一个表现中的。
32、适当切换点,以及从该切换点起始、要从该表现下载的媒体内容的量。随着下载的进行,对媒体内容进行播放,SM使用提供的信息来决定速率切换是否恰当。如果速率切换不恰当,则SM告诉SC继续从当前表现获取片段。如果速率切换是恰当的,则SM寻找潜在的切换点,决定需要从哪些表现中的哪些片段进行获取,以进行期望的切换。随后,SM将该信息传递给SC。SC和SM之间的这种信息交换是定期进行的只要应当关于要下载的下一节做出决定。为了做出正确的决定,SM对缓冲器水平进行监测,在一些情况下,SM可以决定该缓冲器是足够的满,在一段时间之内不需要再下载任何片段。0069一旦SM决定要下载一个片段,SC就负责获得RA以实际地下。
33、载该片段,将所下载的片段保存在媒体缓冲器中,最后当媒体缓冲器中的媒体数据的播放时间到了时,将其传递给媒体播放器。0070在SM告诉了SC进行下载之后,SM就不再活动地涉及到这些片段之中。但是,即使在给定的片段的下载已经开始之后,SM仍然可以改变其决定,取消其先前已发出的片段请求。这种功能在下面的情形中是有用的事实证明下载速率极速地下降,截止到媒体缓冲器被完全地耗尽的时间,被下载的片段也不可能是可用的。如果发生这种状况,则SM应当负责检测,取消该请求,并切换到更适当的速率。0071一旦SC从SM接收到要获取的片段句柄,就在其数据结构中查找该URL和相应的片段的字节范围,使用该信息来产生向RA传递。
34、的请求。此外,SC还负责从RA获取响应数据,将所接收的媒体片段转换成可播放的流。最后,SC负责对元数据例如,从MPD获得的数据、分段索引SIDX盒、或者苹果的HTTP实时流HLS情况下的播放列表进行解析和保持跟踪。0072RA是从SC接收片段和元数据请求,生成相应的HTTP请求,并通过网络连接来发送这些HTTP请求,获取相应的响应并将其传递回SC的组件。网络连接可以是因特网连接、基于蜂窝的连接、WIFI连接或者能够处理HTTP请求和响应的其它网络连接。该网络连接可以是在单一设备的内部,即,其可以是针对已经在该设备中高速缓存的媒体数据的内部接说明书CN104205772A7/40页10口。此外,。
35、还可以存在多种组合,即,媒体内容中的一些可以从有线因特网连接下载,一些通过基于蜂窝的连接来下载,一些通过WIFI连接来下载,一些来自于本地高速缓存。在一些情况下,下载媒体数据的连接可以是混合的,即,一部分是通过蜂窝、一部分通过WIFI、一部分通过有线等。在一些实例中,具体的请求可以是不同于HTTP,但当服务于该媒体内容的服务器是HTTP服务器时,HTTP是优选的。0073在其最简单的形式,RA是HTTP客户端。但是,可能期望RA与通用HTTP客户端相比更高效。RA的一个目标是实现足够高的下载速率;其应当将目标设定于与所选定的播放媒体速率相比,下载速率要明显地更快。另一方面,还应当注意不要为了原。
36、始吞吐量而使时效性受到处罚与处于进一步的后面位置的其它片段相比,不久将被播放的片段是更加急迫的,RA应当尝试及时地接收这些片段。因此,需要为了时效性而牺牲一些吞吐量。应当将RA设计为在全部合理的网络状况下能进行很好地工作。0074RA的一种基本设计方案是使用一些连接和可能的FEC前向纠错来获得最佳的结果。因此,RA通常需要对一个以上的开放HTTP连接进行管理。RA将请求派发到这些连接上。在一些环境中,RA可以将请求分割成一组更小的请求。当接收到相应的响应时,RA随后将该数据重新组装成一个相干的响应。换言之,RA负责决定要发送的HTTP请求的颗粒度、将这些请求派发到哪些连接、以及决定要请求源片段。
37、或者修复片段的哪些部分。这些请求的颗粒度可以取决于多种事物,例如,缓冲器水平、请求的急迫性、可用连接的数量等。0075RA发送出的每一个请求是针对于元数据的HTTP请求,也可以是针对于SC已传送给该RA的片段请求的一部分或者全部。其可以是针对源媒体数据的请求,也可以是针对根据源媒体数据所生成的修复数据的请求。在大多数情况下,对于根据SC片段请求所生成的RA请求的响应,应当是足够用于重建该片段请求中的所有媒体数据,随后RA可以将其传送回SC。因此,RA负责将来自于与媒体片段请求相关联的RA请求的响应,组合回一个针对该片段请求的响应,以提供给SC。RA执行的这种组合可以包括FEC解码例如,如果存在。
38、一些针对FEC修复数据的RA请求的话。0076除了对HTTP请求进行管理之外,RA在短期时段上、在一些采样速率的时间片上,对下载速率进行测量。一种示例性采样速率是100MS,即,RA在100MS时段上对下载速率进行测量。SM使用该使用数据来计算其下载速率估计,并最终做出速率决策。其它采样速率也是可以的。0077RA不需要知道关于诸如DASH媒体呈现描述MPD或者关于分段结构的元数据。在特定的实现中,RA使用HTTP栈实现的几个同时实例来在一些连接上甚至在一些情况下,在针对相似或者不同服务器的不同类型的连接上实现HTTP检索。0078RA负责使SC知道何时可以接受新的请求。SC调用SM来确定要请。
39、求的下一个片段,向RA提供该适当的请求。此外,RA还提供一些状态信息。RA通常可以通过SC向SM提供短期的下载速率、下载所花费的总时间。此外,SM还可以针对该信息,通过SC来间接地向RA进行轮询。除了该方面之外,RA还向SM通知关于各个请求已完成的百分比信息。使用SM进行调用以获取该信息的API,来类似地提供该信息。0079在RA、SC和实际的媒体管道之间,应当存在非常紧急的数据,故尽可能地在RA或SC中缓存很少的数据除了故意的媒体缓冲器之外。相同的理由对于具有各种形式的HTTP请求来说也是成立的;与通过网络来发送实际相应的HTTP请求的时间相比,SM应当仅说明书CN104205772A108。
40、/40页11只提前很短的时间,必须决定要请求的片段。一种原因在于SM必须决定一个请求的提前量更早,保持最新的信息就越不准确,因此其所做出的决策的质量就越低。0080SM一次发出一个请求。但是,如果所有先前的请求都没有完成,SM还可以发出新请求;允许同时的请求。SC将这些请求按照SM发出其顺序来传送给RA。随后,RA对同时处理保持注意,确保其将接收的数据返回给SC。0081同时的请求使RA可以实现HTTP管道化。事实上,甚至利用多个连接的RA也适应这种方案。008211、流管理器SM0083响应于用户动作、网络状况和其它因素的组合,SM确定何时对片段进行请求、以及对哪些片段进行请求。当用户决定开。
41、始观看内容时,SM负责针对该内容,确定要请求的第一片段其开始于用户或者所提供的服务所指定的P时间。例如,一些实时流服务可能需要所有用户在相同的R时间观看该媒体内容的相同的P时间部分,而其它实时流和按需服务可以允许终端用户或者应用具有关于在什么R时间对什么P时间进行播放的灵活性。当媒体缓冲器变满时,SM临时地暂停提供另外的片段请求。SM负责根据网络状况和其它因素例如,显示器的大小、剩余的电池寿命等,来决定在每一个P时间点,按照什么质量来播放该内容。0084当SM认为其适合于提供片段请求时,SM可以只提供一个请求如果RA准备好接收和处理片段请求。SC通过对RA进行轮询来确定这种情况,并将该信息转发。
42、给SM。0085当RA准备好接收下一个请求时,SM决定是否应当发出新的请求,并选择下一个片段进行请求。SM一次针对媒体数据一个片段进行请求,SM负责请求片段,其允许及时地和无缝地播放该内容。表现中的播放改变,通常只在切换点处发生,在两个连续的切换点之间可以存在多个片段;SM尊重该限制。0086通常,SM只尝试请求有理由认为应当及时地接收以平滑播放的片段。但是,假定网络状况有时可以非常快速地急剧变化,但并不能在所有环境中都保证这种情况。因此,SM还具有取消请求的能力。如果检测到拥塞,SM将取消请求,如果不采取任何动作,则有很大的停滞风险。如果不采取任何动作,很可能发生停滞,例如,如果由于在发出片。
43、段请求之后不久网络状况就恶化,而造成的下载速率突然急剧地下降。0087SM对表现R、以及大多数最近先前选择的片段的结束P时间E保持跟踪。通常,SM选择请求起始P时间为的下一个片段。一些变化可以是起始时间根据缓冲器水平和当前播放时间来确定。0088如果丢弃切换点处的潜在重叠,则SM产生旨在生成可以平滑地播放的流的请求序列。SM生成请求的顺序,与RA应当对其划分优先级的顺序相同虽然不一定是问题。其还可以是RA将所接收的数据传递回SC、并且SC应当对其进行播放的相同顺序。0089如果SM决定其需要切换速率,则在通常情况下,这样做有两个过程。在一个过程中,SM在新的“切换目标”表现中寻找P时间小于或等。
44、于E的切换点其有时还称为“随机接入点”或“RAP”,一旦识别了这种点,SM就开始请求该新表现中的片段。第二过程是寻找P时间小于或等于E的切换点P,并继续请求旧的“切换源”表现中的片段,直到请求了结束时间超过P的片段为止的过程。在任一情况下,将这种切换信息发送给SC都是有用的。说明书CN104205772A119/40页120090应当注意,这两种过程都具有必须要下载一些重叠的数据的属性。存在着P时间的伸缩,需要在该时间,下载从其切换自的表现和切换到的表现的数据。0091这些切换过程中的哪个是有利的,取决于上述情形。例如,其可以是在一些特定的情形下,用于这些过程中的一个的重叠是不合理地大,而对于。
45、另一个来说却是很短。在所有片段在表现之间都是对齐、并且所有这些片段都以RAP起始的简单情形下,这些切换过程简化为更简单的方法,其中在该方法中,SM只通过从切换到的表现而不是从从其切换自的表现中请求下一个片段来进行切换。此外,还应当注意,在该情况下,不需要下载重叠的数据。0092111、SM片段决策过程0093该节描述了SM片段决策过程,以决定告诉SC要请求哪些片段。在这些示例中,假定一个简单的表现组,但这些示例可以被扩展为解决使用多个表现组的过程,例如,从视频表现组中选择一个视频表现,从音频表现组中选择一个音频表现。0094通常,SM所选择的下一个片段的起始P时间是前一个片段请求的结束P时间。。
46、下面描述可以在SM中实现以便选择要请求的下一个片段的某种详细逻辑。0095在下面的示例中,假定片段以RAP起始,并且在表现之间是对齐的。如果不是这种情况,则本说明书的变化也是有可能的。如果存在这些状况,则SM的片段决策降低为速率决策,即,SM决定是停留在当前表现上,还是切换到不同的表现。在更一般的情况下,片段不是必需在表现之间是对齐的,并且可以不以RAP起始,这种决策是类似的,但切换的代价更高,在切换时可以考虑该代价。0096SM表现处理包括两个逻辑单独的过程第一过程是速率估计器,其根据RA提供的短期样本,计算近似持续的下载速率,第二过程是利用该估计来做出切换决策的决策过程。00972、速率估。
47、计过程0098自适应比特率流媒体客户端通常使用下载速率估计器模块,速率决策模块使用该下载速率估计器模块来选择正确的比特率媒体。使用该方法,当下载速率较大时,可以对高质量媒体进行流传输。下载速率的改变可以触发表现切换。速率估计的质量对于流媒体客户端的质量具有很大的影响。0099用于自适应视频流媒体设备的良好速率估计器应当具有多种属性。首先,其应当具有很小的偏差,即使短期下载速率变化很大。第二,其应当在底层的信道上进行快速地速率改变。当信道速率显著下降时,该估计应当反映这种快速的事实,使得设备可以在无需停滞的情况下,对质量进行相应地调整。相应地,应当快速地观测到视频质量的增加,使得可以获取更佳的质。
48、量内容。0100满足这两种需求可能需要一些平衡。通常,具有很小偏差的估计器将具有较大的反应时间,反之亦然。例如,假定可以在设备中使用的简单估计器。该估计器对最后X秒的下载对于某些固定的X,执行移动平均。挑选较大的X例如,X30秒,将导致具有很小偏差的相对平滑估计,但其将只反应为下载速率慢速地改变。如果这种估计器是用于速率决策,则最终的播放器可能由于带宽下降而频繁停滞,或者不能及时地切换到更高比特率当其可以安全地这样做时。由于这些原因,一种实现可以挑选较小的X,如X3S。这种选择将导致更快速的速率调整,但以稳定性为代价。速率估计变化很大,因此播放器可能非常快速地改变视频播放速率,其导致很差的用户。
49、体验。说明书CN104205772A1210/40页130101在图5中,颠簸曲线是原始下载速率,其具有很多的短期波动。速率估计器是颠簸下载速率的平滑版本。在速率改变时,其收敛到新的持续速率,只要速率不发生改变,则仍然类似于它。0102期望的一种属性在于如果存在很小的缓冲器水平,则调整是快速的,其造成速率的快速调整,使得当下载速率下降时,呈现缓冲器在调整之前不为空。另一方面,如果在媒体缓冲器中存在很多的媒体数据,则速率估计应当是具有更慢调整的更加平滑。与媒体缓冲器中存在很少的媒体数据相比,当在媒体缓冲器中存在更多的媒体数据时,播放速率应当趋向于在下载速率下降时,在更长的时间段保持为较高。0103下文所给出的速率估计过程其称为PKER、PKER过程或者PKER类型过程,针对速率改变进行快速地反应,但其还是稳定的,满足针对低偏差和高反应的需求。010421、PKER过程0105该节描述了本申请称为PKER、PKER类型过程或者仅“PKER过程”的速率估计过程。基本速率估计器将其估计唯一地基于短期速率测量值,根据该值,使用一种方法或另一种方法来计算较长的平均运行。如上所述的基本移动窗口平均“MWA”是该过程的一个示例。0106图67示出了为了速率选择目的,使用非自适应固定系数指数加权平均的效果。为了简单起见,这些图假定新的速率估计立即触发新的下载选择即,这些片段是相对较小的,新。