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