用于媒体流式传输的改善的请求取消方法_3

文档序号:9830157阅读:来源:国知局
成本阈值。如上面参考图3所描述的,仅当切换会有益于接收机设备的性能或者以其 它方式满足一个或多个性能目标和/或优化时,接收机设备处理器才会切换表示。在一个实 施例中,由于所选择的表示是最小成本表示,因此框306中所确定的成本可以表示用于切换 到另一个表示的最小成本,使得如果接收机设备处理器确定切换到最低比特速率表示的成 本超过成本阈值,则由于其它表示很可能具有与最低比特速率表示相同或者大于最低比特 速率表示的成本,因此接收机设备可能不会从切换到任何其它表示中获益。
[0066]当接收机设备处理器确定切换到最低比特速率表示的成本超过成本阈值时(即, 确定框407= "是"),在框312中,处理器可以继续正在进行的下载。当接收机设备处理器确 定切换到最低比特速率表示的成本不超过成本阈值时(即,确定框407= "否"),在框408中, 处理器可以向服务器发送取消请求,以取消按照当前表示对当前片段的正在进行的下载。 在不存在取消特征的实施例中(例如,在HTTP中),接收机设备处理器可以简单地执行TCP拆 除以停止按照当前的表示下载当前下载。
[0067]在框410中,接收机设备处理器可以请求对当前片段的最低比特速率表示的下载。 在一个实施例中,接收机设备处理器可以与HTTP服务器建立新的TCP连接,并且可以请求对 当前片段的最低比特速率表示的下载。
[0068]图5示出了可以由在接收机设备上操作的处理器来实现的、用于响应于识别切换 情形而确定可以满足一个或多个性能目标和/或优化的最高比特速率表示的实施例方法 500。方法500的操作实现了上面参考图3所描述的方法300的操作的实施例。
[0069]在框302中,如上面参考图3所描述的,接收机设备处理器可以在按照当前表示对 当前片段的下载期间识别切换情形。在一个实施例中,当切换情形指示切换到具有比当前 表示更高或更低的比特速率的表示会有益于接收机设备时(例如,带宽上的突然增加或下 降、接收机设备进入低功率状态、接收机设备连接到充电器、或者可能影响接收机设备的一 个或多个性能目标和/或优化的各种其它事件),接收机设备处理器可以执行方法500。
[0070] 在框304中,接收机设备处理器可以基于切换情形来确定成本阈值。如上面所描述 的,接收机设备处理器可以基于与切换情形相关的一个或多个性能目标和/或优化来确定 成本阈值。
[0071] 在框502中,接收机设备处理器可以生成可用于当前片段的表示的以比特速率的 降序排列的有序列表。在一个实施例中,可以在切换情形出现之前执行框502中的生成可用 于片段的表示的有序列表,例如在下载视频流的开始处,或者在接收机设备处理器被通知 内容表示的所有源时的另一时间。
[0072] 在框504中,接收机设备处理器可以选择表示的有序列表中的下一个表示。在一个 实施例中,接收机设备处理器可以首选选择列表中具有最高比特速率的表示,并且可以随 后选择具有递减的比特速率的其它表示。在一个实施例中,接收机设备处理器可以按比特 速率的递减次序来迭代地检查可用表示。当切换情形是由带宽上的突然增加引起的时,处 理器可以从最高比特速率开始检查可用表示。当切换情形是由带宽上的突然减小引起的 时,处理器可以以具有比当前表示的比特速率要小的比特速率的表示开始来检查可用表 不。
[0073]在框306中,接收机设备处理器可以确定切换到所选择的表示的成本。在确定框 308中,接收机设备处理器可以确定切换到所选择的表示的成本是否超过成本阈值。在一个 实施例中,由于接收机设备处理器选择有序列表中的表示,因此处理器可以测试每个所选 择的表示,以确定接收机设备是否会如上面所描述的从切换到所选择的表示中获益。
[0074] 当接收机设备处理器确定切换到所选择的表示的成本不超过成本阈值时(即,确 定框308= "否"),在框4〇8中,处理器可以向服务器发送取消请求,以取消按照当前表示对 当前片段的正在进行的下载,如上面参考图4所描述的。例如,接收机设备处理器可以执行 TCP拆除以停止按照当前表示下载当前下载。在框410中,接收机设备处理器还可以请求按 照所选择的表示对当前片段的下载。
[0075] 当接收机设备处理器确定切换到所选择的表示的成本超过成本阈值时(即,确定 框308="是"),在框506中,处理器可以确定是否已选择了表示的有序列表中的每个表示。 换句话说,接收机设备处理器可以顺序地选择表示的有序列表中的每个表示,直到接收机 设备处理器确定切换到所选择的表示的成本不会超过成本阈值为止或者直到已评估了所 有表不为止。
[0076]当接收机设备处理器确定有序列表中存在另一个表示要评估时(即,确定框506 = "否"),在框504中,过程可以选择有序列表中的下一个表示,并且重复在上面所描述的框 306和308中的评估。
[0077]当接收机设备处理器确定已选择了表示的有序列表中的每个表示时(即,确定框 506= "是"),在框312中,处理器可以继续正在进行的下载,在该情况下,将通过执行上面所 描述的主速率选择算法的操作来解决致使切换情形的问题。
[0078]在另外的实施例(未示出)中,当处理器具有充足的时间来确定接收机设备是否会 通过切换到列表中所选择的表示中的一个表示而获益或者以其它方式满足一个或多个性 能目标和/或优化时,接收机设备处理器可以执行方法500的操作。在一个实施例中,当接收 机设备处理器确定不存在充足的时间来测试表示的有序列表中的每个表示时,处理器可以 执行如上面参考图4所描述方法400的操作。
[0079]图6是表示了切换针对当前片段的表示所要求的时间的时间线图600。在一个实施 例中,响应于识别由带宽上的突然下降引起的即将出现的播出停顿,接收机设备处理器可 以确定是否存在足够的时间从当前正在下载的当前片段的表示切换到具有较低比特速率 的表示以避免播出停顿。为了做出该确定,接收机设备处理器可以估计执行图6中所示出的 切换表示所要求的各种操作所需要的时间。切换表示的过程可以通过向HTTP服务器发送取 消消息(例如,作为TCP拆除过程的一部分)在第一时间604(例如,时间T 1)处开始。发送给 HTTP服务器的取消消息会花费估计二分之一的往返时间(1/2RTT),从接收机设备在第一时 间604处发送取消请求时的时刻直到HTTP服务器在第二时间606 (例如,时间T2)处接收并处 理取消请求时为止。
[0080] 在当接收机设备处理器发送取消请求时和当HTTP服务器接收取消请求时之间的 时间期间(例如,在时间^和!^之间),HTTP服务器可以继续向接收机设备发送当前片段数 据,其中接收机设备将在第三时间608(例如,时间T 3)处接收该当前片段数据(例如,空中数 据)。例如,HTTP服务器可以将针对当前片段的数据发送给路由器,其中路由器可以继续将 空中数据发送给接收机设备以用于按照当前表示下载当前片段,而不管HTTP服务器是否已 在后来停止了按照当前表示发送针对当前片段的下载数据。因此,接收机设备可以丢弃从 第三时间608 (即,时间T3)以来的所有空中数据,直到接收机设备最终开始在第四时间610 (例如,时间T4)处按照新的表示接收针对当前片段的下载数据为止。在一个例子中,从数据 管道中清除空中数据所要求的时间量(例如,在第三时间608和第四时间610之间的时间段) 可能大约是两个往返时间(例如,2RTT)。
[0081] 在一个实施例中,取消按照当前表示对当前片段的正在进行的下载所需要的时间 可以是时间TjPT4之间的时间段612,该时间段612包括从当接收机设备在第一时间T 1 604 处发送取消请求时直到当接收机设备在第四时间T4 610处开始按照新的表示接收当前片 段时为止的时间。在另一个实施例中,按照新的表示下载当前片段所需要的时间可以是第 四时间T 4 610和第五时间T5 614(在第五时间T5 614处将完成按照新的表示对当前片段的 下载)之间的时间段616。因此,切换表示到新的表示的成本可以是切换表示所需要的总时 间,该总时间被计算为用于取消第一下载并且请求对不同表示的下载的时间段612加上用 于完成对不同表示的下载的时间段616的总和。下面参考图7进一步描述从时间的角度上来 计算切换表示的成本。
[0082] 尽管时间线图600示出了从时间角度上的切换表示的成本,但是预期的是,接收机 设备处理器可以从其它角度上来计算切换表示的成本,例如,切换到新的表示所要求的功 率。
[0083] 图7示出了可以由接收机设备处理器来实现的、用于当切换表示所要求的总时间 不超过时间成本阈值时切换表示以避免播出停顿的实施例方法700。方法700的操作实现了 上面参考图3所描述的方法300的操作的实施例。
[0084]在框702中,接收机设备处理器可以在按照当前表示对当前片段的正在进行的下 载期间识别何时将发生即将出现的播出停顿。换句话说,在接收机设备下载当前片段时,处 理器可以检测到在一些或整个当前片段可用于播出之前播出缓冲区将变空(例如,媒体都 已被播放了)。
[0085] 在一个实施例中,如上面参考图2所描述的,为了识别即将出现的播出停顿,接收 机设备处理器可以获得若干个输入变量,例如带宽估计、当前回放时间、回放模型(例如,是 否可以播出已部分下载的片段)以及总的媒体缓冲持续时间。如上面所讨论的,接收机设备 处理器可以从配置参数或者从设备内置(on-device)的测量来获得该信息。
[0086] 在一个实施例中,当预测到要停顿的倾向时,接收机设备处理器可以假设当片段 部分下载时可以播出该片段,在该情况下,只要当前片段在回放达到当前片段的结尾之前 将完全下载,接收机设备处理器就可以确定不会发生停顿。在另外的实施例中,接收机设备 处理器在确定是否将发生播出停顿时可以采用保守的预测模型。
[0087] 在一个实施例中,接收机设备处理器可以获得以下信息来预测即将出现的播出停 顿:当前分组速率带宽估计("pkerrate")、正在下载的片段的播出开始和结束时间 ("segment_start_ptime" 和 "segment_end_ptime")、来自MPD的当前片段的标称表示比特 速率("rep_bit_rate")、在不计算队列延迟情况下的接收机设备和HTTP服务器之间的估计 的往返时间("rtt")、以及被计算为pkerrate和RTT的乘积的带宽延迟乘积("bdp")。接收机 设备处理器还可以确定来自每个活动TCP连接的所有接收机缓冲区大小的总和("total_ rcvbuf"),其中"活动"TCP连接可以是指具有正在进行的数据传输的TCP连接。接收机设备 处理器还可以确定媒体呈现的当前回放时间("current_ptime")、已下载的当前片段的字 节数("bytes_downloaded")、以及当前片段所属的适配集的相对权重("as_weight")。在一 个实施例中, as_weight可以是0和1之间的值。接收机设备处理器还可以将针对适配集的相 对权重("as_weight")确定为pkerrate和as_weight的乘积。
[0088] 在一个实施例中,接收机设备处理器可以通过使用上面所描述的信息、用下面以 伪码给出的算法来预测播出停顿:
[0089] segment_duration = segment_end_ptime-segment_start_ptime;
[0090] nominal_segment_size = rep_bit_rate*segment_duration;
[0091 ] bytes_available = as_pkerrate*(segment_end_ptime-current_ptime);
[0092] bytes_needed = nominal_segment_size-bytes_downloaded;
[0093] if(bytes_available<bytes_needed)
[0094] stall_prediction = true ;
[0095] 换句话说,当可用于播出的字节数(例如," byteS_aVailable")小于为了确保平滑 播出所需要的字节数(例如,"bytes_needed")时,接收机设备处理器可以预测播出停顿(例 如,"stall_prediction = true")。
[0096] 返回到图7,在框704中,接收机设备处理器可以基于即将出现的播出停顿来确定 时间成本阈值。在一个实施例中,时间成本阈值可以表示在发生播出停顿之前的时间量,例 如,在接收机设备处理器开始播放当前片段之前的时间量。在另外的实施例中,时间成本阈 值可以包括多个条件/阈值。例如,时间成本阈值可以要求按照不同表示对当前片段的重新 下载在某一时间之前开始,并且还可以要求该下载在另外的某一时间之前完成。在该例子 中,仅当按照不同表示对当前片段的下载将在接收机设备处理器开始播出当前片段之前开 始时,并且仅当按照不同表示对当前片段的下载将在播出达到当前片段的结尾之前完成 时,切换表示才会避免播出停顿。
[0097]在框705中,接收机设备处理器可以生成可用于当前片段的表示的、针对具有低于 当前表示的比特速率的每个表示以降序排列的有序列表。在一个实施例中,接收机设备处 理器可以按比特速率的递减次序来迭代地检查可用表示,以确定接收机设备处理器可以向 之切换表不的最佳可用表不。
[0098]在另一个实施例中,接收机设备处理器可以生成表示的有序列表,以仅包括具有 最低比特速率的表示。在该实施例中,如上面参考图4所描述的,接收机设备处理器可以快 速地确定切换到最小成本表示是否会避免播出停顿。
[0099]如上面参考图5中的框502所讨论的,可以在出现切换情形之前执行框705中的对 可用于片段的表示的有序列表的生成,例如在开始下载视频流处或者在接收机设备处理器 被通知内容表示的所有源时的另一时间。
[0100] 在框504中,接收机设备处理器可以选择表示的有序列表中的下一个表示。在一个 实施例中,接收机设备处理器可以首先选择列表中具有最高比特速率的表示,并且可以随 后选择具有递减的比特速率的其它表示。
[0101]在框706中,接收机设备处理器可以确定取消按照当前表示对当前片段的正在进 行的下载的成本。在一个实施例中,取消下载的成本可以包括两个部分:拆除并建立与HTTP 服务器的新TCP连接所要求的时间("RTT开销成本")以及从数据管道中清除空中数据所要 求的时间("空中数据开销成本")。
[0102] 在一个实施例中,RTT开销成本可以包括拆除/重置与HTTP服务器的TCP连接所需 要的时间,该时间可以包括向HTTP服务器发送取消消息,其中到达HTTP服务器大概花费二 分之一的RTT。RTT开销成本还可以包括开始与HTTP服务器的新TCP连接以请求按照所选择 的表示下载当前片
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1