CN106464960A - 用于在对回放用户体验有最小影响的情况下减少对多媒体流送数据的预获取的方法 - Google Patents

用于在对回放用户体验有最小影响的情况下减少对多媒体流送数据的预获取的方法 Download PDF

Info

Publication number
CN106464960A
CN106464960A CN201580028291.8A CN201580028291A CN106464960A CN 106464960 A CN106464960 A CN 106464960A CN 201580028291 A CN201580028291 A CN 201580028291A CN 106464960 A CN106464960 A CN 106464960A
Authority
CN
China
Prior art keywords
media
surplus
instance
cache
low water
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.)
Pending
Application number
CN201580028291.8A
Other languages
English (en)
Inventor
E·D·伊尔萨
A·J·莫尔
S·克登
G·贝伦勒基斯
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN106464960A publication Critical patent/CN106464960A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • 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/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • 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/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • H04N21/44224Monitoring of user activity on external systems, e.g. Internet browsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

各个实施例的系统、方法和设备使得接收机设备能够基于与所选媒体实例相关联的数据来确定高速缓存的高水标余量和低水标余量并且至少部分地基于所确定的高水标余量和低水标余量来控制该媒体实例的诸部分的下载。高水标余量和低水标余量可基于媒体实例的回放速率并且分别基于高水标余量时间值和低水标余量时间值来确定。低水标余量可基于媒体实例的经缓冲部分的变化率来确定,并且高水标余量可基于所确定的低水标余量和回放速率来确定。

Description

用于在对回放用户体验有最小影响的情况下减少对多媒体流 送数据的预获取的方法
背景技术
人们越来越多地在其移动设备上观看视频和电影。因此,移动运营商在满足对其网络支持主要由智能电话用户的音频和视频流送及消耗贡献的话务量增加呈指数级增长的需求方面受到挑战。对用户在移动设备上观看视频时的使用模式的新近统计表明,大多数用户在视频结束之前就中止视频的回放。由应用使用的当前媒体预获取器(诸如由应用(包括)使用的平台的预获取器)使用所有可用带宽来下载多媒体流并且通常过量预获取用户很可能不会播放的数据。这种对数据的过量预获取的常用解决方案是所谓的服务器侧“步进(pacing)”技术,其根据从服务器侧所监视到的网络状况对流送进行扼流。这些服务器侧解决方案可能实现起来是复杂的,并且可能要求昂贵的服务器侧网络监视系统。
概述
各个实施例的系统、方法和设备使得接收机设备能够基于与所选媒体实例相关联的数据来确定高速缓存的高水标余量和低水标余量并且至少部分地基于所确定的高水标余量和低水标余量来控制该媒体实例的诸部分的下载。在一实施例中,高水标余量和低水标余量可基于媒体实例的回放速率并且分别基于高水标余量时间值和低水标余量时间值来确定。在一实施例中,高水标余量时间值和/或低水标余量时间值可基于使用统计(诸如中止模式)。在一实施例中,低水标余量可基于媒体实例的经缓冲部分的变化率来确定,并且高水标余量可基于所确定的低水标余量和回放速率来确定。在一实施例中,高水标余量和/或低水标余量还可至少部分地基于中止模式系数。中止模式系数可基于使用统计并且可在接收机设备处确定和/或接收自服务器。
附图简述
纳入本文且构成本说明书一部分的附图解说了本发明的示例性实施例,并与以上给出的概括描述和下面给出的详细描述一起用来解释本发明的特征。
图1是适用于各个实施例的网络的通信系统框图。
图2解说了适用于各个实施例的接收机设备的示例系统架构。
图3是解说根据一实施例的媒体实例、接收机设备的高速缓存、高水标余量、和低水标余量之间的交互的媒体实例的框图。
图4是解说用于在接收机设备上预获取媒体的实施例方法的过程流图。
图5是解说用于至少部分地基于所确定的高水标余量和所确定的低水标余量来控制媒体实例的诸部分至高速缓存的下载的实施例方法的过程流图。
图6是解说用于基于与媒体实例相关联的数据来确定接收机设备的高速缓存的高水标余量和低水标余量的实施例方法的过程流图。
图7是解说用于基于与媒体实例相关联的数据来确定接收机设备的高速缓存的高水标余量和低水标余量的另一实施例方法的过程流图。
图8是解说用于基于与媒体实例相关联的数据来确定接收机设备的高速缓存的高水标余量和低水标余量的第三实施例方法的过程流图。
图9是解说用于基于使用统计来生成中止模式系数和/或高水标余量和低水标余量的实施例方法的过程流图。
图10是适用于各个实施例的示例接收机设备的组件示图。
图11是适用于各个实施例的示例服务器的组件示图。
详细描述
将参照附图详细描述各实施例。在可能之处,相同附图标记将贯穿附图用于指代相同或类似部分。对特定示例和实现所作的引用是用于解说性目的,而无意限定本发明或权利要求的范围。
措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何实现不必然被解释为优于或胜过其他实现。
如本文中所使用的,术语“接收机设备”用于指代以下任一者或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(“PDA”)、个人计算机、膝上型计算机、平板计算机、智能本、掌上计算机、无线电子邮件接收器、启用因特网的多媒体蜂窝电话、无线游戏控制器、个人计算机、电视机顶盒、电视、有线电视接收机、以及包括可编程处理器和存储器以及用于执行本文所描述的操作(诸如预获取媒体)的电路系统的类似个人电子设备。
术语“服务器”在本文中用于指代能够用作服务器(诸如主交换服务器、web服务器、邮件服务器、文档服务器、内容服务器、或任何其他类型的服务器)的任何计算设备。服务器可以是专用计算设备或包括服务器模块(诸如可导致计算设备作为服务器来操作的应用)的计算设备。服务器模块(例如,服务器应用)可以是全功能服务器模块、或被配置成在移动设备上提供动态数据库间的同步服务的轻量级或副服务器模块(例如,轻量级或副服务器应用)。轻量级服务器或副服务器可以是服务器型功能性的精简版,其可以在移动设备上实现由此使得移动设备能够仅在用于提供本文描述的功能性所必需的程度上用作因特网服务器(例如,企业电子邮件服务器)。
如本文所使用的,术语“媒体实例”用于指代可在接收机设备上回放的任何类型的媒体数据,诸如视频流送数据、音频流送数据、多媒体流送数据等。媒体实例可包括可被下载至接收机设备并由在该接收机设备的处理器上运行的应用或客户端(诸如视频播放器(例如,)、音乐播放器(例如,)、web浏览器等)回放的数据部分。构成媒体实例的这些数据部分可由预获取模块(诸如平台中使用的StageFright)下载至高速缓存,并且可供由客户端或应用进行回放。虽然各个实施例和示例在本文中是参照StageFright和平台、以及诸如之类的应用或客户端来讨论的,但是对StageFright、平台、的讨论仅仅用作示例以更好地解说各个实施例的诸方面,而不旨在限制权利要求的范围。其他预获取器、其他平台(诸如平台)、以及其他应用或客户端可在各个示例和实施例中被替换而不会脱离本发明的精神或范围。
各个实施例的系统、方法和设备使得接收机设备能够基于与所选媒体实例相关联的数据来确定高速缓存的高水标余量和低水标余量,并且至少部分地基于所确定的高水标余量和低水标余量来控制媒体实例的诸部分的下载。各个实施例可提供使得预获取缓冲算法能够根据接收机设备处的流回放特性和所监视到的网络状况来被改变以阻止对媒体实例的诸部分的下载超过高水标余量和/或低于低水标余量的设备侧解决方案。通过动态地配置高水标余量和/或低水标余量,各个实施例可确保高速缓存中剩余数据的大小被维持在高水标余量与低水标余量之间,同时维持来自高速缓存的媒体实例的连续回放。各个实施例可提供接收机设备实现的对数据的过量预获取的解决方案,这些解决方案比服务器实现的根据从服务器侧监视到的网络状况对流送进行扼流的技术更易于集成并且成本更低。各个实施例可使高水标余量的大小与高速缓存的最大大小解除链接并且可减少每次预获取的数据量,由此使得在用户在媒体实例结束之前中止该媒体实例的回放时可能消耗的下载带宽量最小化。
在各个实施例中,媒体实例的诸部分至高速缓存的下载状态可由两个限值——低水标余量和高水标余量——来控制。在各个实施例中,高水标余量可以是表示与高速缓存末尾的大小偏移(例如,诸如字节偏移)的值,其可小于最大高速缓存大小。以此方式,高水标余量可表示在高速缓存中所存储的最后一个存取点前方的媒体实例的经缓冲部分的最大量的目标。当最后一个存取点与高速缓存末尾之间的余量(例如,经缓冲部分的大小)达到高水标余量时,可暂停下载媒体实例(例如,通过停止对未下载部分的下一部分的下载)。在各个实施例中,低水标余量可以是表示与高速缓存末尾的大小偏移(例如,诸如字节偏移)的值,其可小于高水标余量。以此方式,低水标余量可表示在最后一个存取点前方的媒体实例的经缓冲部分的最小量的目标。当最后一个存取点与高速缓存末尾之间的余量(例如,经缓冲部分的大小)达到低水标余量时,可开始(或重新开始)下载媒体实例(例如,通过请求媒体实例的未下载部分的下一部分)。
在一实施例中,高水标余量和低水标余量可基于媒体实例的回放速率并且分别基于高水标余量时间值和低水标余量时间值来确定。媒体实例的回放速率可基于与该媒体实例相关联的数据来确定。例如,使用如媒体实例的报头信息中指示的媒体实例的大小和历时,回放速率可被确定为媒体实例的大小除以媒体实例的历时。在一实施例中,高水标余量时间值和/或低水标余量时间值可与媒体实例的回放速率协同使用以分别确定高水标余量和/或低水标余量。高水标余量时间值可以是被选择成计及媒体播放器的用于恢复回放的时间设定的时间值并且可被存储在接收机设备的存储器中。例如,高水标余量时间值可以是10秒。
在一实施例中,高水标余量可通过将高水标余量时间值乘以所确定的媒体实例的回放速率来确定。低水标余量时间值可以是被选择成计及媒体播放器的用于暂停回放的时间设定的时间值并且可被存储在接收机设备的存储器中。例如,低水标余量时间值可以是2秒。在一实施例中,低水标余量可通过将低水标余量时间值乘以所确定的媒体实例的回放速率来确定。替换地,高水标余量时间值和/或低水标余量时间值可在媒体实例的报头信息中指示。
在一实施例中,可在媒体实例被首次选择和/或处于初始回放时使用高水标余量和/或低水标余量的初始默认值,并且一旦回放速率被确定,就可基于所确定的回放速率来确定因媒体实例而异的新的高水标余量和/或低水标余量并且替代高水标余量和/或低水标余量的初始默认值。
在各个实施例中,可跟踪在回放媒体实例时的接收机设备行为(乃至用户行为)。例如,可通过关闭正在播放媒体实例的媒体播放器应用或客户端、通过媒体播放器应用或客户端挂起回放达阈值时间段(例如,响应于停止回放的用户命令)、或者通过选择新媒体实例以供应用或客户端进行回放来中止媒体实例。由此,处理器或服务器可通过在回放媒体实例期间检测到或识别出这些事件中的任一者来确定特定媒体实例的回放已被中止。在一实施例中,此行为(例如,回放中止)可由执行操作以检测此类事件或指示媒体实例的回放已被中止的其他事件或操作的接收机设备的处理器来跟踪。在另一实施例中,服务器可通过在完整媒体文件已被递送之前识别并记录对媒体实例的诸部分的请求何时停止来识别(并由此跟踪)回放中止行为。服务器可在自最后一次下载请求起的时间超过阈值(例如,预定时间或所请求的最后一次下载的回放时间)时、在从接收机设备接收到通知服务器应当停止下载或回放已被挂起的信号时、和/或在完整媒体文件已被递送之前从接收机设备接收到对不同媒体实例的下载请求时识别出对媒体实例的诸部分的请求已停止。
可确定与所确定的接收机设备行为相关联的关于媒体实例回放的参数,诸如指示从初始回放起媒体实例被中止的时间的中止参数。在一实施例中,该参数(例如,中止参数)可在接收机设备处确定。在另一实施例中,该参数(例如,中止参数)可在服务器处基于接收自一个或多个接收机设备的对所确定的接收机设备行为的指示来确定。所确定的参数可被用于更新与接收机设备和/或媒体实例相关联的使用统计,诸如指示回放被中止的平均时间的中止模式。
使用统计(例如,中止模式)可因媒体实例而异(诸如在特定媒体实例的回放期间发生中止的平均时间)。因媒体实例而异的使用统计还可反映其他中止模式细节,诸如在一天中的不同时间(例如,早晨、中午和晚上)的平均中止时间、在不同地理区域或位置的平均中止时间、以及针对不同人口统计类别(如果知道)(例如,男性相对于女性、年龄段等)的平均中止时间。因媒体实例而异的使用统计还可反映在一段时间回放之后发生中止的可能性和定时。例如,观众可能频繁地在前5分钟内中止特定媒体实例的回放但此后很少这样做,因为观众要么立即不喜欢该媒体要么看完全部内容。作为另一示例,一些媒体实例可能包括在其间许多观众中止回放的场景或片段(例如,许多观众觉得是无礼或无聊的场景或片段),而针对媒体实例的其余部分的中止模式是一致或平均的。
另外,使用统计(例如,中止模式)可与媒体实例类型或类别有关,诸如基于对各种类型或类别的媒体实例的回放的行为跟踪的针对不同类型或种类的媒体的中止模式。媒体类型或类别可以是对用于编群类似媒体实例的媒体实例属性的描述。类型或类别的示例可包括“广告”、“电影”、“新闻”、“流行歌曲”等。
此外,使用统计(例如,中止模式)一般可与接收机设备有关,诸如指示在特定接收机设备上回放的所有媒体实例的平均中止时间的中止模式(其可反映所有者的中止模式)。另外,使用统计(例如,中止模式)可与接收机设备及其对类似类型或类别的媒体实例的处置有关,诸如在接收机设备上回放的给定类别中的所有媒体实例的平均中止时间。
在一实施例中,高水标余量时间值和/或低水标余量时间值可基于使用统计,诸如上述与媒体实例或接收机设备相关联的中止模式。作为示例,媒体实例的高水标余量时间值和/或低水标余量时间值可在服务器处确定并作为媒体实例的部分元数据(例如,报头信息)或者作为单独传输的一部分被提供给接收机设备。作为另一示例,接收机设备的高水标余量时间值和/或低水标余量时间值可在接收机设备处基于对接收机设备处的媒体实例中止模式的监视来确定。
在一实施例中,低水标余量可基于媒体实例的经缓冲部分的变化率来确定。在一实施例中,低水标余量可被确定为接收机设备的高速缓存中的媒体实例的经缓冲部分的变化率的函数。在一实施例中,该函数可以是在接收机设备处预设的单个函数并且被用于所有媒体实例。在另一实施例中,该函数可选自用于确定低水标余量的函数组,其中该选择基于在媒体实例的元数据(例如,报头)中指示的媒体实例类型或类别。
在一实施例中,无论将低水标余量确定为高速缓存中的媒体实例的经缓冲部分的变化率的函数的结果如何,低水标余量都可被约束在最小低水标余量值与最大低水标余量值之间。例如,最小低水标余量值可以是256K,而最大低水标余量值可以是4M。最小和最大低水标余量值可由制造商或服务提供商预定,能由服务提供商(例如,经由空中更新)或用户(例如,响应于用户偏好设置)调整,或者由服务提供商、媒体提供商(例如,在作为媒体实例的一部分被递送的参数字段内)、接收机设备(例如,响应于所检测到的链路质量或回放状况)、或用户动态地设置。
在一实施例中,高水标余量可基于所确定的低水标余量和回放速率来确定。在一实施例中,高水标余量可等于低水标余量加上回放速率的函数。回放速率可被确定为媒体实例的大小除以媒体实例的历时。在一实施例中,该函数可以是在接收机设备处预设的单个函数并且被用于所有媒体实例。在另一实施例中,该函数可选自用于确定高水标余量的函数组,其中该选择基于在媒体实例的元数据(例如,报头)中指示的媒体实例类型或类别。在一实施例中,高水标余量和/或低水标余量还可至少部分地基于中止模式系数。在一实施例中,回放速率的函数可受到最小值(诸如1M)的约束。
在一实施例中,高水标余量和/或低水标余量还可至少部分地基于中止模式系数。例如,一个或多个中止模式系数可以是用于确定低水标余量和/或高水标余量的函数的系数。如上所述,使用统计可在接收机设备处确定和/或接收自服务器,并且被用于确定中止模式系数。在一实施例中,中止模式系数可在服务器处确定并作为媒体实例的元数据的一部分(例如,在报头信息内)或者作为单独传输的一部分被提供给接收机设备。作为另一示例,中止模式系数可在接收机设备处基于接收自另一设备(例如,服务器)的使用统计和/或在接收机设备处确定的使用统计来确定。
在一实施例中,可在下载媒体实例的诸部分时(诸如在下载媒体实例的每个部分之后或者在下载媒体实例的诸部分的群之后)重新确定或修改高水标余量和/或低水标余量。以此方式,高水标余量和/或低水标余量可适应于影响媒体实例下载的变化,诸如下载速率的变化、高速缓存中的媒体实例的经缓冲部分的变化率的变化等。此实施例还可使得高水标余量和/或低水标余量能够在回放期间适应于媒体实例的中止模式的变化。例如,可恰好在许多观众中止回放的场景或片段之前和期间由于很可能发生中止而减小高水标余量以节省带宽,并且在其他时间增大高水标余量以增强回放。作为另一示例,当中止模式反映回放进行越久看完的观众就越多时,可随着回放进行而增大高水标余量。
在一实施例中,随着不同的媒体实例被选择以供在接收机设备上输出,用于确定高速缓存的高水标余量和/或低水标余量的操作可跨媒体实例被使用。在一实施例中,高速缓存内的媒体实例的已下载部分可被编群在一起以支持对媒体实例的查找。
图1解说了适用于各个实施例的通信网络系统100。通信网络系统100可包括多个设备,诸如一个或多个接收机设备102、一个或多个蜂窝塔或基站104、一个或多个无线接入点114、一个或多个路由器109、以及连接至因特网110的服务器108和112。接收机设备102可经由一个或多个蜂窝连接106(包括CDMA、TDMA、GSM、PCS、3G、4G、LTE、或任何其他类型连接)与蜂窝塔或基站104交换数据。蜂窝塔或基站104可与路由器处于通信中,该路由器可连接至因特网110。接收机设备102可经由一个或多个连接118(包括或任何其他类型连接)与无线接入点114交换数据。无线接入点114可与路由器处于通信中,该路由器可连接至因特网110。接收机设备102可经由一个或多个有线连接117与路由器109交换数据,路由器109可连接至因特网110。以此方式,经由至蜂窝塔或基站104、无线接入点114、路由器109和/或因特网110的连接,可在接收机设备102与服务器108和112之间交换数据。
在一实施例中,服务器108可以是经由在接收机设备102的处理器上运行的客户端或应用来提供媒体实例以供输出(例如,回放)的内容提供商服务器和/或编码器。在一实施例中,服务器108可从媒体捕捉设备116(诸如相机)接收媒体并且将该媒体编码成配置成要由在接收机设备102的处理器上运行的客户端或应用输出(例如,回放)的媒体实例(例如,视频、音频、或多媒体流)。通过使用因特网110、路由器109、无线接入点114、和/或蜂窝塔或基站104建立的各种网络,服务器108可将媒体实例提供给接收机设备102。在一实施例中,服务器112可以是网络服务器,其可监视由接收机设备112进行的网络使用、从接收机设备102和/或服务器108接收与媒体实例和媒体实例消耗相关联的数据(例如,中止参数、使用统计等)、以及向接收机设备和/或服务器108发送与媒体实例和媒体实例消耗和/或网络状况相关联的数据。
图2解说了适用于各个实施例的接收机设备的示例系统架构200。接收机设备可包括一个或多个客户端202,该一个或多个客户端202可与预获取模块206和配置成用作接收机设备的高速缓存204的存储器交换数据。预获取模块206可与接收机设备的高速缓存204和调制解调器接口208交换数据。客户端202(诸如应用)可响应于媒体实例被接收机设备的用户选择以进行回放(例如,用户针对视频或歌曲选择“播放”或“前往”)而向预获取模块206发送媒体实例选择指示,诸如统一资源指示符(URI)。预获取模块206(诸如平台中使用的StageFright)可控制调制解调器接口208开始下载媒体实例的诸部分,并且随着接收到媒体实例的这些部分,预获取模块206可将媒体实例的这些部分存储在高速缓存204中。预获取模块206可使用任何通信协议(诸如超文本传输协议(HTTP)或任何其他通信协议)来下载媒体实例的诸部分并且将媒体实例的这些部分存储在高速缓存204中。客户端202可通过回放存储在高速缓存204中的媒体实例的诸部分来消耗媒体实例的这些部分以在接收机设备上输出该媒体实例。
高速缓存204中尚未被客户端202回放的该媒体实例的诸部分可以是媒体实例的经缓冲部分,该经缓冲部分随着媒体实例的新部分由预获取模块206下载到高速缓存204而改变,并且媒体实例的诸部分由客户端202从高速缓存204回放。
图3是解说媒体实例302、接收机设备的高速缓存、高水标余量(HWM)318、和低水标余量(LWM)320之间的实施例交互的媒体实例302的框图。在给定时间,接收机设备的高速缓存可存储媒体实例302的诸部分。高速缓存中的媒体实例302的诸部分可包括已回放部分304(例如,由客户端或应用通过在接收机设备上显示视频和/或输出音频所消耗的部分)以及用于回放的经缓冲部分306(即,尚未被客户端或应用消耗的部分)。已回放部分304可从高速缓存的起始(SOC)310(例如,高速缓存中的媒体实例302的最老部分)延伸至最后一个存取点(LAP)312(例如,正被回放的媒体实例302的当前部分)。经缓冲部分306可从最后一个存取点312延伸至高速缓存末尾(EOC)314(例如,高速缓存中的媒体实例302的最新部分)。媒体实例302中尚未被下载至高速缓存的那些部分可以是未下载部分308。高速缓存可具有分配给它的最大高速缓存大小316(诸如5.0MB、20.0MB、100.0MB等),并且这可表示可存储在高速缓存中的数据的最大大小。
在各个实施例中,高速缓存中的媒体实例302的诸部分的下载状态、以及媒体分组何时被下载并存储在高速缓存中可由两个限值——低水标余量320和高水标余量318——来控制。
在各个实施例中,高水标余量318可以是表示与高速缓存末尾314的大小偏移(例如,诸如字节偏移)的值,其可小于最大高速缓存大小316。以此方式,高水标余量318可表示在高速缓存中所存储的最后一个存取点312前方的经缓冲部分306的最大量的目标。当最后一个存取点312与高速缓存末尾314之间的余量(例如,经缓冲部分306的大小)达到高水标余量318时,可暂停下载媒体实例302(例如,通过停止对未下载部分308的下一部分的下载)。
在各个实施例中,低水标余量320可以是表示与高速缓存末尾314的大小偏移(例如,诸如字节偏移)的值,其可小于高水标余量318。以此方式,低水标余量320可表示在最后一个存取点312前方的经缓冲部分306的最小量的目标。当最后一个存取点312与高速缓存末尾314之间的余量(例如,经缓冲部分306的大小)达到低水标余量320时,可开始(或重新开始)下载媒体实例302(例如,通过请求未下载部分308的下一部分)。
图4解说了可由接收机设备的处理器(诸如由在接收机设备的处理器上运行的预获取模块)执行的用于在接收机设备上预获取媒体的实施例方法400。在框402,处理器可接收媒体实例选择指示。作为示例,媒体实例选择指示可以是接收自客户端应用(诸如媒体播放器)的对由媒体播放器输出的视频的选择的指示。媒体实例选择指示可指示可从其检索媒体实例的地址,诸如URL。
在框404,处理器可确定与媒体实例相关联的数据。此数据可包括关于媒体实例的各种信息,包括媒体实例的大小、媒体实例的历时、与媒体实例相关联的中止模式、一个或多个中止模式系数、低水标余量时间值、高水标余量时间值、高水标余量、低水标余量、媒体实例类型或类别、和/或关于媒体实例的任何其他信息。在一实施例中,处理器可响应于请求媒体实例而接收所请求的媒体实例的初始部分,并且该初始部分可包括在报头中的与媒体实例相关联的数据(例如,元数据)。在一实施例中,处理器可至少部分地基于在媒体实例的初始部分中接收的数据来确定与媒体实例相关联的数据。在另一实施例中,处理器可至少部分地基于存储在接收机设备的存储器中的数据(诸如一种或多种中止模式、一个或多个中止模式系数等)来确定与媒体实例相关联的数据。在进一步实施例中,处理器可至少部分地基于存储在接收机设备的存储器中的数据和在媒体实例的初始部分中接收的数据的组合来确定与媒体实例相关联的数据。
在框406,处理器可基于与媒体实例相关联的数据来确定接收机设备的高速缓存的高水标余量(HWM)和低水标余量(LWM)。在一实施例中,与媒体实例相关联的数据可被用于确定媒体实例的回放速率。在一实施例中,接收机设备的高速缓存的高水标余量可基于高水标余量时间值和所确定的媒体实例的回放速率来确定,并且接收机设备的高速缓存的低水标余量可基于低水标余量时间值和所确定的媒体实例的回放速率来确定。在另一实施例中,接收机设备的高速缓存的低水标余量可至少部分地基于接收机设备的高速缓存中的媒体实例的经缓冲部分的变化率来确定,并且接收机设备的高速缓存的高水标余量可至少部分地基于低水标余量和所确定的回放速率来确定。在进一步实施例中,低水标余量和高水标余量可至少部分地基于与媒体实例或接收机设备相关联的中止模式或中止模式系数来确定。
在框408,处理器可至少部分地基于所确定的高水标余量和所确定的低水标余量来控制媒体实例的诸部分至高速缓存的下载。例如,处理器可在高速缓存中的媒体实例的经缓冲部分的大小小于或等于低水标余量时开始下载媒体实例的诸部分,可在高速缓存中的媒体实例的经缓冲部分的大小小于高水标余量并且媒体实例的经缓冲部分的大小小于或等于低水标余量时继续下载媒体实例的诸部分,并且可在媒体实例的经缓冲部分的大小大于或等于高水标余量时暂停下载媒体实例的诸部分。在一可任选实施例中,处理器可返回到框406以基于与媒体实例相关联的数据来重新确定高速缓存的高水标余量和低水标余量。以此方式,高水标余量和低水标余量可被动态地调整,由此使得对媒体实例的诸部分的高速缓存和下载能够随着各种参数值变化而被自适应地控制。
图5解说了用于至少部分地基于所确定的高水标余量和所确定的低水标余量来控制媒体实例的诸部分至高速缓存的下载的实施例方法500。在一实施例中,方法500的操作可由接收机设备的处理器(诸如由在接收机设备的处理器上运行的预获取模块)执行。
如上所述,在框402,处理器可接收媒体实例选择指示。在判定框502,处理器可确定媒体实例是否被中止。媒体实例可按各种方式来中止,诸如通过关闭媒体观看应用或客户端、接收到新的媒体实例选择指示等。此迭代过程(其在框502开始)与并行于以上参照图4描述的方法400中的过程发生的回放同步发生。
响应于确定媒体实例未被中止(即,判定框502=“否”),处理器可在框504确定并存储接收机设备的高速缓存中的媒体实例的经缓冲部分的大小。接收机设备的高速缓存中的媒体实例的经缓冲部分可以是存储在高速缓存中但尚未由输出媒体实例的客户端或应用回放的那些部分。处理器可通过分析接收机设备的高速缓存的内容来确定高速缓存中的媒体实例的经缓冲部分的大小,并且可存储所确定的接收机设备的高速缓存中的媒体实例的经缓冲部分的大小(例如通过覆写先前确定的媒体实例的经缓冲部分的大小)。
如上所述,在框406,处理器可基于与媒体实例相关联的数据来确定高速缓存的高水标余量和低水标余量。在判定框506,处理器可确定高速缓存中的媒体实例的经缓冲部分的大小是否大于或等于高水标余量。例如,处理器可将所确定的存储在高速缓存中的媒体实例的经缓冲部分的大小的值与高水标余量作比较以确定媒体实例的经缓冲部分的大小是否大于或等于高水标余量。响应于确定高速缓存中的媒体实例的经缓冲部分的大小小于高水标余量(即,判定框506=“否”),处理器可在判定框508确定高速缓存中的媒体实例的经缓冲部分的大小是否大于低水标余量。例如,处理器可将所确定的存储在高速缓存中的媒体实例的经缓冲部分的大小的值与低水标余量作比较以确定媒体实例的经缓冲部分的大小是否大于低水标余量。
响应于确定高速缓存中的媒体实例的经缓冲部分的大小小于或等于低水标余量(即,判定框508=“否”),处理器可在框510恢复媒体实例至高速缓存的的下载(即,预获取),由此下载/预获取媒体实例的下一部分。例如,处理器可通过发送对媒体实例的下一部分的请求(诸如Get()请求)来恢复下载媒体,并且作为响应可接收媒体实例的下一部分并将数据存储在高速缓存中。一旦在框510将媒体实例的下一部分下载至高速缓存,处理器就可再次在判定框502确定媒体实例是否被中止,并且响应于确定媒体实例未被中止(即,判定框502=“否”),处理器可在框504确定并存储媒体实例的经缓冲部分的新大小,在框406基于与媒体实例相关联的数据来确定高速缓存的新的高水标余量和低水标余量,并且在判定框506确定媒体实例的经缓冲部分的大小是否大于或等于高水标余量。
响应于确定高速缓存中的媒体实例的经缓冲部分的大小大于或等于高水标余量(即,判定框506=“是”),可在框512暂停对媒体实例的诸部分的下载/预获取。在后续迭代中,当下载已停止但继续从缓冲器进行回放并且媒体实例的经缓冲部分的大小小于高水标余量(即,判定框506=“是”)但媒体实例的经缓冲部分的大小仍大于低水标余量(即,判定框508=“是”)时,可在框512保持暂停对媒体的下载/预获取。
接收机设备处理器在循环中执行方法500的操作,从而只要媒体实例未被中止(即,只要判定框502=“否”),处理器就可持续地确定高速缓存中的媒体实例的经缓冲部分的大小是否高于高水标余量或者低于低水标余量,其中在高速缓存中的媒体实例的经缓冲部分的大小大于或等于高水标(即,判定框506=“是”)时在框512暂停下载(即,预获取)并且在高速缓存中的媒体实例的经缓冲部分的大小低于低水标(即,判定框508=“否”)时恢复下载。换言之,下载和回放同时发生,其中框510和512基于高速缓存中的媒体实例的经缓冲部分的大小以及所确定的高水标余量和低水标余量来提供暂停和恢复机制以用于控制对媒体实例的诸部分的预获取,直至媒体实例被完全下载或中止回放。由此,低水标余量被用来确定何时恢复下载(即,预获取)以便确保在高速缓存中缓冲足够的数据以避免延后对媒体实例的回放,而高水标余量被用来确定何时暂停下载以防止对媒体实例的过量缓冲。
响应于确定媒体实例已被中止(即,判定框502=“是”),处理器可在框516确定中止参数。中止参数可包括自回放开始起发生中止的时间、媒体实例类型或类别、和/或与接收机设备对媒体实例的消耗和/或媒体实例自身有关的其他数据、以及本文描述的其他参数。中止参数可被接收机设备和/或远程设备(诸如远程服务器)用来生成/更新与媒体实例和/或接收机设备相关联的使用统计(例如,中止模式)。在框518,处理器可发送和/或存储中止参数。作为示例,处理器可将中止参数发送给远程设备,将中止参数存储在接收机设备的存储器中,和/或将中止参数发送给在接收机设备处理器上运行的另一应用。在可任选框520,处理器可基于中止参数来更新使用统计(例如,中止模式)。例如,可基于新确定的中止参数来更新自回放开始起媒体实例被中止的平均时间。
图6解说了用于基于与媒体实例相关联的数据来确定接收机设备的高速缓存的高水标余量和低水标余量的实施例方法600。在一实施例中,方法600的操作可由接收机设备的处理器(诸如由在接收机设备的处理器上运行的预获取模块)执行。在一实施例中,方法600的操作可结合上述方法400或500的操作来执行。
如以上所讨论的,高水标余量时间值(hwm)和/或低水标余量时间值(lwm)可在接收机设备处确定,或者可远离接收机设备(例如,在服务器处)确定并被提供给接收机设备。因此,在可任选实施例中,在框601a,处理器可基于中止模式来确定并存储高水标余量时间值和低水标余量时间值。中止模式可与媒体实例或接收机设备相关联。在可任选的替换实施例中,在框601b,处理器可接收并存储高水标余量时间值和低水标余量时间值。例如,处理器可从远程服务器接收高水标余量时间值和低水标余量时间值,并且可将这些值存储在接收机设备的存储器中。无论是由接收机设备在框601a确定还是由接收机设备在框601b接收,低水标余量时间值可以是设置成计及暂停由媒体播放器进行的回放的时间(例如,2秒)并且高水标余量时间值可以是设置成计及恢复由媒体播放器进行的回放的时间(例如,10秒)。
在框602,处理器可确定媒体实例的回放速率。例如,回放速率可基于从媒体实例报头中提取的媒体实例的大小(Size)和历时(Duration)。回放速率(Rplayback)随后可根据下式来计算:
在框604,处理器可基于高水标余量时间值和所确定的媒体实例的回放速率来确定接收机设备的高速缓存的高水标余量。例如,使用高水标余量时间值(hwm)的值和回放速率(Rplayback),高水标余量(HWM)可根据下式来计算:
HWM=hwm×Rplayback
在框606,处理器可基于低水标余量时间值和所确定的媒体实例的回放速率来确定接收机设备的高速缓存的低水标余量。例如,使用低水标余量时间值(lwm)的值和回放速率(Rplayback),低水标余量(LWM)可根据下式来计算:
LWM=lwm×Rplayback
图7解说了用于基于与媒体实例相关联的数据来确定接收机设备的高速缓存的高水标余量和低水标余量的实施例方法700。在一实施例中,方法700的操作可由接收机设备的处理器(例如由在接收机设备的处理器上运行的预获取模块)执行。在一实施例中,方法700的操作可结合上述方法400或500的操作来执行。
如以上参照图6描述的,在框602,处理器可确定媒体实例的回放速率。在框702,处理器可确定接收机设备的高速缓存中的媒体实例的经缓冲部分的变化率。作为示例,媒体实例的经缓冲部分的变化率可通过将在发送当前部分请求时高速缓存中的媒体实例的经缓冲部分的量与在发送上一个部分请求时高速缓存中的媒体实例的经缓冲部分的量作比较来确定。当对媒体实例的诸部分的请求(例如,Get()请求)被发送时,处理器可存储高速缓存中的媒体实例的经缓冲部分的大小连同该请求的时间戳。以此方式,高速缓存中的媒体实例的经缓冲部分的变化率可通过将经缓冲部分大小的变化除以基于不同时间戳确定的诸请求之间的时间间隔来确定。替换地,请求可按恒定周期性来发送,并且可以不需要时间戳,在此情形中可将经缓冲部分大小的变化除以该周期性以确定媒体实例的经缓冲部分的变化率。
在框704,处理器可至少部分地基于接收机设备的高速缓存中的媒体实例的经缓冲部分的变化率来确定接收机设备的高速缓存的低水标余量。作为示例,低水标余量(LWM)可根据下式被确定为媒体实例的经缓冲部分的变化率的函数(f1):
在一实施例中,函数(f1)可以是存储在接收机设备的存储器中被用于所有媒体实例的函数。在另一实施例中,函数(f1)可以是基于媒体实例的属性(诸如类型或类别)从存储在接收机设备的存储器中的函数组中选择的函数。在一实施例中,低水标余量的值可被约束在最小值(例如,256K)与最大值(例如,4M)之间,而不管函数(f1)的结果如何。
在框706,处理器可至少部分地基于低水标余量和所确定的回放速率来确定接收机设备的高速缓存的高水标余量。作为示例,高水标余量(HWM)可根据下式被确定为低水标余量(LWM)加上回放速率(Rplayback)的函数(f2):
HWM=LWM+f2(Rplayback)
在一实施例中,函数(f2)可以是存储在接收机设备的存储器中被用于所有媒体实例的函数。在另一实施例中,函数(f2)可以是基于媒体实例的属性(诸如类型或类别)从存储在接收机设备的存储器中的函数组中选择的函数。在一实施例中,f2(Rplayback)的值可被约束成至少为最小值(例如,1M)。
图8解说了用于基于与媒体实例相关联的数据来确定接收机设备的高速缓存的高水标余量和低水标余量的实施例方法。在一实施例中,方法700的操作可由接收机设备的处理器(诸如由在接收机设备的处理器上运行的预获取模块)执行。在一实施例中,方法700的操作可结合上述方法400或500的操作来执行。
如以上所讨论的,中止模式系数可由接收机设备确定,或者可由远离接收机设备的计算机(例如,由服务器)确定并被提供给接收机设备。因此,在可任选实施例中,在框801a,处理器可基于对接收机设备可用的使用统计来确定并存储一个或多个中止模式系数。中止模式可与媒体实例或接收机设备相关联。在可任选的替换实施例中,在框801b,处理器可接收并存储一个或多个中止模式系数。例如,处理器可从远程服务器接收一个或多个中止模式系数,并且可将这些系数存储在接收机设备的存储器中。
如上所述,在框602,处理器可确定媒体实例的回放速率,并且在框702,处理器可确定媒体实例的经缓冲部分的变化率。在框802,处理器可至少部分地基于接收机设备的高速缓存中的媒体实例的经缓冲部分的变化率以及(诸)中止模式系数来确定接收机设备的高速缓存的低水标余量。例如,一个或多个中止系数可以是以上参照图7的框704讨论的函数f1的系数。以此方式,所确定的低水标余量可基于中止模式系数而变化。
在框804,处理器可至少部分地基于(诸)中止模式系数、低水标余量和所确定的回放速率来确定接收机设备的高速缓存的高水标余量。例如,一个或多个中止系数可以是以上参照图7的框704和706讨论的函数f1或函数f2的系数。以此方式,所确定的高水标余量可基于中止模式系数而变化。
图9解说了用于基于使用统计来生成中止模式系数和/或高水标余量和低水标余量时间值的实施例方法。在一实施例中,方法900的操作可由远离接收机设备的服务器(诸如网络服务器或内容提供商服务器)执行。在一实施例中,方法900的操作可结合上述方法400、500、600和/或800的操作来执行。
在框902,服务器可接收和/或确定中止参数。在一实施例中,服务器可从输出特定媒体实例的数个接收机设备接收中止参数。在另一实施例中,服务器可通过监视由数个接收机设备对媒体实例的诸部分的下载(诸如以确定接收机设备请求的最后部分)来确定中止参数。以此方式,服务器可标识媒体实例何时在接收机设备上被中止。在框904,处理器可基于所接收/确定的中止参数来更新使用统计(例如,中止模式)。例如,服务器可跟踪具体媒体实例和/或媒体实例类型或类别的平均中止时间。当接收到新的中止参数时,可基于不断增长的中止参数数据集来更新使用统计。
在框906,服务器可基于使用统计来生成中止模式系数、和/或高水标余量时间值和低水标余量时间值。在框908,服务器可将中止模式系数、和/或高水标余量时间值和低水标余量时间值发送给接收机设备。在一实施例中,中止模式系数、和/或高水标余量时间值和低水标余量时间值可独立于对媒体实例的请求(诸如在媒体服务的开销信令信息中)被发送给接收机设备。在另一实施例中,中止模式系数、和/或高水标余量时间值和低水标余量时间值可被包括在媒体实例的元数据中(例如,在报头信息内)并且与媒体实例一起被提供给接收机设备。
各个实施例可在各种接收机设备中的任一种中实现,其中的一个示例在图10中解说。例如,接收机设备1000可包括耦合至内部存储器1004和1006的处理器1002,内部存储器1004和1006中的一者或多者可被配置成用作缓冲器以用于存储如所描述地预获取的媒体实例的诸部分。内部存储器1004和1006可以是易失性或非易失性存储器,并且还可以是安全和/或加密的存储器、或者不安全和/或未加密存储器,或其任何组合。处理器1002还可被耦合至触摸屏显示器1012,诸如电阻式传感触摸屏、电容式传感触摸屏、红外传感触摸屏等。另外,接收机设备1000的显示器不需要具有触摸屏能力。接收机设备1000可具有耦合至处理器1002的用于发送和接收的一个或多个无线电信号收发机1008(例如,Wi-Fi、RF无线电)以及天线1010。接收机设备1000可包括启用经由数据网络(例如,CDMA、TDMA、GSM、PCS、3G、4G、LTE、或任何其他类型的数据网络)的通信且耦合至处理器1002的网络接口1016(诸如无线调制解调器芯片)。网络接口1016可被配置成接收如所描述地预获取的媒体实例的已下载部分。接收机设备1000可包括耦合至处理器1002的外围设备连接接口1018。外围设备连接接口1018可被独特地配置成接纳一种类型的连接,或者被多样化地配置成接纳共用或专有的各种类型的物理和通信连接,诸如USB、火线(FireWire)、雷电(Thunderbolt)、PCIe等。外围设备连接接口1018还可耦合至类似地配置的外围设备连接端口,并且外围设备连接接口1018可作为网络接口来操作以将接收机设备1000和处理器1002连接至各种网络。在一些实施例中,外围设备连接接口1018可被配置成接收如所描述地预获取的媒体实例的已下载部分。接收机设备1000还可包括用于提供音频输出的扬声器1014和用于接收音频输入的话筒1015。接收机设备1000还可包括用于容纳本文所讨论的组件中的全部或一些组件的外壳1020,外壳1020由塑料、金属、或多种材料的组合构成。接收机设备1000可以包括耦合至处理器1002的电源1022,诸如一次性或可充电电池。可充电电池还可耦合至外围设备连接端口以从接收机设备1000外部的源接收充电电流。
各个实施例还可实现在各种市售的服务器设备中的任何服务器设备上,诸如图11中解说的服务器1100。此类服务器1100典型地包括耦合至易失性存储器1102和大容量非易失性存储器(诸如盘驱动器1103)的处理器1101。服务器1100还可包括耦合至处理器1101的软盘驱动器、压缩碟(CD)或DVD碟驱动器1106。服务器1100还可包括耦合至处理器1101的用于建立与网络1107(诸如耦合至其他广播系统计算机和服务器的局域网、因特网、公共交换电话网络、和/或蜂窝数据网络(例如,CDMA、TDMA、GSM、PCS、3G、4G、LTE、或任何其他类型的蜂窝数据网络)的网络接口连接的网络接入端口1104。
处理器1002和1101可以是能通过软件指令(应用)配置成执行包括以上描述的各种实施例的功能在内的各种功能的任何可编程微处理器、微型计算机或一个或多个多处理器芯片。在一些设备中,可提供多个处理器,诸如一个处理器专用于无线通信功能并且一个处理器专用于运行其他应用。通常,软件应用在被访问并被加载到处理器1002和1101中之前可被存储在内部存储器1004、1006、1102和1103中。处理器1002和1101可包括足以存储应用软件指令的内部存储器。在许多设备中,内部存储器可以是易失性或非易失性存储器(诸如闪存),或这两者的混合。出于本说明书的目的,对存储器的一般性引述是指可由处理器1002和1101访问的存储器,包括内部存储器或插入到该设备中的可移动存储器、以及在处理器1002和1101本身内部的存储器。
上述方法描述和过程流图仅作为解说性示例提供,且并非旨在要求或暗示各个实施例的步骤必须按所给出的次序来执行。如本领域技术人员将领会的,前述实施例中的步骤次序可按任何次序来执行。诸如“此后”、“然后”、“接着”等的措辞并非旨在限定步骤的次序;这些措辞仅是简单地用以指引读者遍历方法的描述。进一步,对单数形式的权利要求元素的任何引述,例如使用冠词“一”、“某”或“该”的引述不应解释为将该元素限定为单数。
结合本文中所公开的实施例来描述的各种解说性逻辑框、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、以及步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但此类实现决策不应被解读成导致脱离了本发明的范围。
用于实现结合本文中公开的方面描述的各种解说性逻辑、逻辑框、模块、以及电路的硬件可利用设计成执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其它此类配置。替换地,一些步骤或方法可由专用于给定功能的电路系统来执行。
在一个或多个示例性方面,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则这些功能可作为一条或多条指令或代码存储在非瞬态计算机可读介质或非瞬态处理器可读介质上。本文中公开的方法或算法的步骤可在处理器可执行软件模块中实施,该处理器可执行软件模块可驻留在非瞬态计算机可读或处理器可读存储介质上。非瞬态计算机可读或处理器可读存储介质可以是能被计算机或处理器访问的任何存储介质。作为示例而非限定,此类非瞬态计算机可读或处理器可读介质可包括RAM、ROM、EEPROM、闪存、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能被用来存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字通用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据而碟(disc)用激光以光学方式再现数据。以上的组合也被包括在非瞬态计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可作为一条代码和/或指令或者任何代码和/或指令组合或集合而驻留在可被纳入计算机程序产品中的非瞬态处理器可读介质和/或计算机可读介质上。
提供所公开的实施例的先前描述是为了使本领域任何技术人员皆能制作或使用本发明。对这些实施例的各种修改对本领域技术人员来说将是显而易见的,且本文所定义的一般原理可被应用于其它实施例而不背离本发明的精神或范围。由此,本发明并非旨在限定于本文中示出的实施例,而是应被授予与所附权利要求和本文中公开的原理和新颖性特征一致的最广义的范围。

Claims (30)

1.一种用于在接收机设备上预获取媒体实例的方法,包括:
在所述接收机设备的处理器中基于与要下载的媒体实例相关联的数据来确定所述接收机设备的高速缓存的高水标余量和低水标余量;以及
在所述处理器中至少部分地基于所确定的高水标余量和所确定的低水标余量来控制所述媒体实例的诸部分至所述高速缓存的下载。
2.如权利要求1所述的方法,其特征在于,在所述处理器中基于与要下载的媒体实例相关联的数据来确定所述接收机设备的所述高速缓存的高水标余量和低水标余量包括:
在所述处理器中响应于接收到媒体实例选择指示而基于与所述媒体实例相关联的数据来确定所述媒体实例的回放速率;
在所述处理器中基于高水标余量时间值和所确定的所述媒体实例的回放速率来确定所述接收机设备的所述高速缓存的高水标余量;以及
在所述处理器中基于低水标余量时间值和所确定的所述媒体实例的回放速率来确定所述接收机设备的所述高速缓存的低水标余量。
3.如权利要求2所述的方法,其特征在于,所述高水标余量时间值和所述低水标余量时间值至少部分地基于与所述媒体实例或所述接收机设备相关联的中止模式。
4.如权利要求1所述的方法,其特征在于,在所述处理器中基于与要下载的媒体实例相关联的数据来确定所述接收机设备的所述高速缓存的高水标余量和低水标余量包括:
在所述处理器中响应于接收到媒体实例选择指示而基于与所述媒体实例相关联的数据来确定所述媒体实例的回放速率;
在所述处理器中至少部分地基于所述接收机设备的所述高速缓存中的所述媒体实例的经缓冲部分的变化率来确定所述接收机设备的所述高速缓存的低水标余量;以及
在所述处理器中至少部分地基于所述低水标余量和所确定的回放速率来确定所述接收机设备的所述高速缓存的高水标余量。
5.如权利要求4所述的方法,其特征在于,在所述处理器中至少部分地基于所述低水标余量和所确定的回放速率来确定所述接收机设备的所述高速缓存的高水标余量包括:在所述处理器中至少部分地基于中止模式系数、所述低水标余量、以及所确定的回放速率来确定所述接收机设备的所述高速缓存的高水标余量。
6.如权利要求5所述的方法,其特征在于,在所述处理器中至少部分地基于所述接收机设备的所述高速缓存中的所述媒体实例的经缓冲部分的变化率来确定所述接收机设备的所述高速缓存的低水标余量包括:在所述处理器中至少部分地基于所述接收机设备的所述高速缓存中的所述媒体实例的经缓冲部分的变化率以及所述中止模式系数来确定所述接收机设备的所述高速缓存的低水标余量。
7.如权利要求5所述的方法,其特征在于,进一步包括在所述处理器中基于所述接收机设备的使用统计来确定所述中止模式系数。
8.如权利要求5所述的方法,其特征在于,进一步包括从服务器接收所述中止模式系数,其中所述中止模式系数至少部分地基于其他接收机设备的使用统计。
9.一种接收机设备,包括:
高速缓存,其被配置成缓冲媒体实例的诸部分;
网络接口,其被配置成接收媒体实例的预获取部分;以及
处理器,所述处理器耦合至所述高速缓存和所述网络接口并且配置有用于执行操作的处理器可执行指令,所述操作包括:
基于与要下载的媒体实例相关联的数据来确定所述高速缓存的高水标余量和低水标余量;以及
至少部分地基于所确定的高水标余量和所确定的低水标余量来控制所述媒体实例的诸部分至所述高速缓存的下载。
10.如权利要求9所述的接收机设备,其特征在于,基于与要下载的媒体实例相关联的数据来确定所述高速缓存的高水标余量和低水标余量包括:
响应于接收到媒体实例选择指示而基于与所述媒体实例相关联的数据来确定所述媒体实例的回放速率;
基于高水标余量时间值和所确定的所述媒体实例的回放速率来确定所述高速缓存的高水标余量;以及
基于低水标余量时间值和所确定的所述媒体实例的回放速率来确定所述高速缓存的低水标余量。
11.如权利要求10所述的接收机设备,其特征在于,所述高水标余量时间值和所述低水标余量时间值至少部分地基于与所述媒体实例或所述接收机设备相关联的中止模式。
12.如权利要求9所述的接收机设备,其特征在于,基于与要下载的媒体实例相关联的数据来确定所述高速缓存的高水标余量和低水标余量包括:
响应于接收到媒体实例选择指示而基于与所述媒体实例相关联的数据来确定所述媒体实例的回放速率;
至少部分地基于所述高速缓存中的所述媒体实例的经缓冲部分的变化率来确定所述高速缓存的低水标余量;以及
至少部分地基于所述低水标余量和所确定的回放速率来确定所述高速缓存的高水标余量。
13.如权利要求12所述的接收机设备,其特征在于,至少部分地基于所述低水标余量和所确定的回放速率来确定所述高速缓存的高水标余量包括至少部分地基于中止模式系数、所述低水标余量、以及所确定的回放速率来确定所述高速缓存的高水标余量。
14.如权利要求13所述的接收机设备,其特征在于,至少部分地基于所述高速缓存中的所述媒体实例的经缓冲部分的变化率来确定所述高速缓存的低水标余量包括:至少部分地基于所述高速缓存中的所述媒体实例的经缓冲部分的变化率以及所述中止模式系数来确定所述高速缓存的低水标余量。
15.如权利要求13所述的接收机设备,其特征在于,进一步包括基于所述接收机设备的使用统计来确定所述中止模式系数。
16.如权利要求13所述的接收机设备,其特征在于,进一步包括从服务器接收所述中止模式系数,其中所述中止模式系数至少部分地基于其他接收机设备的使用统计。
17.一种接收机设备,包括:
高速缓存,其被配置成缓冲媒体实例的诸部分;
用于基于与要下载的媒体实例相关联的数据来确定所述高速缓存的高水标余量和低水标余量的装置;以及
用于至少部分地基于所确定的高水标余量和所确定的低水标余量来控制所述媒体实例的诸部分至所述高速缓存的下载的装置。
18.如权利要求17所述的接收机设备,其特征在于,用于基于与要下载的媒体实例相关联的数据来确定所述高速缓存的高水标余量和低水标余量的装置包括:
用于响应于接收到媒体实例选择指示而基于与所述媒体实例相关联的数据来确定所述媒体实例的回放速率的装置;
用于基于高水标余量时间值和所确定的所述媒体实例的回放速率来确定所述高速缓存的高水标余量的装置;以及
用于基于低水标余量时间值和所确定的所述媒体实例的回放速率来确定所述高速缓存的低水标余量的装置,
其中所述高水标余量时间值和所述低水标余量时间值至少部分地基于与所述媒体实例或所述接收机设备相关联的中止模式。
19.如权利要求17所述的接收机设备,其特征在于,用于基于与要下载的媒体实例相关联的数据来确定所述高速缓存的高水标余量和低水标余量的装置包括:
用于响应于接收到媒体实例选择指示而基于与所述媒体实例相关联的数据来确定所述媒体实例的回放速率的装置;
用于至少部分地基于所述高速缓存中的所述媒体实例的经缓冲部分的变化率来确定所述高速缓存的低水标余量的装置;以及
用于至少部分地基于所述低水标余量和所确定的回放速率来确定所述接收机设备的所述高速缓存的高水标余量的装置。
20.如权利要求19所述的接收机设备,其特征在于,用于至少部分地基于所述低水标余量和所确定的回放速率来确定所述高速缓存的高水标余量的装置包括用于至少部分地基于中止模式系数、所述低水标余量、以及所确定的回放速率来确定所述接收机设备的所述高速缓存的高水标余量的装置。
21.如权利要求20所述的接收机设备,其特征在于,用于至少部分地基于所述高速缓存中的所述媒体实例的经缓冲部分的变化率来确定所述高速缓存的低水标余量的装置包括用于至少部分地基于所述高速缓存中的所述媒体实例的经缓冲部分的变化率以及所述中止模式系数来确定所述高速缓存的低水标余量的装置。
22.如权利要求20所述的接收机设备,其特征在于,进一步包括用于基于所述接收机设备的使用统计来确定所述中止模式系数的装置。
23.如权利要求20所述的接收机设备,其特征在于,进一步包括用于从服务器接收所述中止模式系数,其中所述中止模式系数至少部分地基于其他接收机设备的使用统计的装置。
24.一种其上存储有处理器可执行指令的非瞬态处理器可读存储介质,所述指令被配置成使得接收机设备的处理器执行操作,所述操作包括:
基于与要下载的媒体实例相关联的数据来确定所述接收机设备的高速缓存的高水标余量和低水标余量;以及
至少部分地基于所确定的高水标余量和所确定的低水标余量来控制所述媒体实例的诸部分至所述接收机设备的所述高速缓存的下载。
25.如权利要求24所述的非瞬态处理器可读存储介质,其特征在于,所存储的处理器可执行指令被配置成使得接收机设备的处理器执行操作以使得基于与要下载的媒体实例相关联的数据来确定所述接收机设备的所述高速缓存的高水标余量和低水标余量包括:
响应于接收到媒体实例选择指示而基于与所述媒体实例相关联的数据来确定所述媒体实例的回放速率;
基于高水标余量时间值和所确定的所述媒体实例的回放速率来确定所述接收机设备的所述高速缓存的高水标余量;以及
基于低水标余量时间值和所确定的所述媒体实例的回放速率来确定所述接收机设备的所述高速缓存的低水标余量,
其中所述高水标余量时间值和所述低水标余量时间值至少部分地基于与所述媒体实例或所述接收机设备相关联的中止模式。
26.如权利要求24所述的非瞬态处理器可读存储介质,其特征在于,所存储的处理器可执行指令被配置成使得接收机设备的处理器执行操作以使得基于与要下载的媒体实例相关联的数据来确定所述接收机设备的高速缓存的高水标余量和低水标余量包括:
响应于接收到媒体实例选择指示而基于与所述媒体实例相关联的数据来确定所述媒体实例的回放速率;
至少部分地基于所述接收机设备的所述高速缓存中的所述媒体实例的经缓冲部分的变化率来确定所述接收机设备的所述高速缓存的低水标余量;以及
至少部分地基于所述低水标余量和所确定的回放速率来确定所述接收机设备的所述高速缓存的高水标余量。
27.如权利要求26所述的非瞬态处理器可读存储介质,其特征在于,所存储的处理器可执行指令被配置成使得接收机设备的处理器执行操作以使得至少部分地基于所述低水标余量和所确定的回放速率来确定所述接收机设备的所述高速缓存的高水标余量包括至少部分地基于中止模式系数、所述低水标余量、以及所确定的回放速率来确定所述接收机设备的所述高速缓存的高水标余量。
28.如权利要求27所述的非瞬态处理器可读存储介质,其特征在于,所存储的处理器可执行指令被配置成使得接收机设备的处理器执行操作以使得至少部分地基于所述接收机设备的所述高速缓存中的所述媒体实例的经缓冲部分的变化率来确定所述接收机设备的所述高速缓存的低水标余量包括至少部分地基于所述接收机设备的所述高速缓存中的所述媒体实例的经缓冲部分的变化率以及所述中止模式系数来确定所述接收机设备的所述高速缓存的低水标余量。
29.如权利要求27所述的非瞬态处理器可读存储介质,其特征在于,所存储的处理器可执行指令被配置成使得接收机设备的处理器执行操作进一步包括基于所述接收机设备的使用统计来确定所述中止模式系数。
30.如权利要求27所述的非瞬态处理器可读存储介质,其特征在于,所存储的处理器可执行指令被配置成使得接收机设备的处理器执行操作进一步包括从服务器接收所述中止模式系数,其中所述中止模式系数至少部分地基于其他接收机设备的使用统计。
CN201580028291.8A 2014-05-30 2015-05-01 用于在对回放用户体验有最小影响的情况下减少对多媒体流送数据的预获取的方法 Pending CN106464960A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/291,345 US20150350369A1 (en) 2014-05-30 2014-05-30 Method For Reducing Pre-Fetching Of Multimedia Streaming Data With Minimal Impact On Playback User Experience
US14/291,345 2014-05-30
PCT/US2015/028713 WO2015183466A1 (en) 2014-05-30 2015-05-01 Method for reducing pre-fetching of multimedia streaming data with minimal impact on playback user experience

Publications (1)

Publication Number Publication Date
CN106464960A true CN106464960A (zh) 2017-02-22

Family

ID=53276258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580028291.8A Pending CN106464960A (zh) 2014-05-30 2015-05-01 用于在对回放用户体验有最小影响的情况下减少对多媒体流送数据的预获取的方法

Country Status (6)

Country Link
US (1) US20150350369A1 (zh)
EP (1) EP3149952A1 (zh)
JP (1) JP2017524280A (zh)
KR (1) KR20170012461A (zh)
CN (1) CN106464960A (zh)
WO (1) WO2015183466A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110460495A (zh) * 2019-08-01 2019-11-15 北京百度网讯科技有限公司 一种水位推进方法、装置、计算节点及存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10462505B2 (en) 2014-07-14 2019-10-29 Sonos, Inc. Policies for media playback
US9442857B2 (en) 2014-10-03 2016-09-13 Adobe Systems Incorporated Dynamic memory estimations for memory bounded applications
JP2017163287A (ja) * 2016-03-08 2017-09-14 富士ゼロックス株式会社 表示装置
KR102532645B1 (ko) * 2016-09-20 2023-05-15 삼성전자 주식회사 적응적 스트리밍 서비스에서 스트리밍 어플리케이케이션으로 데이터를 제공하는 방법 및 장치
US10848824B2 (en) * 2017-06-15 2020-11-24 Amazon Technologies, Inc. Dynamic detection and mitigation of multimedia stream abandonment
US10880589B2 (en) 2017-06-15 2020-12-29 Amazon Technologies, Inc. Dynamic multimedia stream insertion from multiple sources
CN110545479B (zh) * 2018-05-29 2021-07-06 北京字节跳动网络技术有限公司 媒体播放的加载控制方法、装置及存储介质
US11200425B2 (en) * 2018-09-21 2021-12-14 Samsung Electronics Co., Ltd. Method for providing key moments in multimedia content and electronic device thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110238789A1 (en) * 2006-06-09 2011-09-29 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
CN102301661A (zh) * 2009-01-29 2011-12-28 高通股份有限公司 用于调节接收机缓冲器以防止数据溢出的方法和装置
US20130227080A1 (en) * 2012-02-27 2013-08-29 Qualcomm Incorporated Dash client and receiver with playback rate selection
US20130326024A1 (en) * 2012-06-01 2013-12-05 Verizon Patent And Licensing Inc. Adaptive hypertext transfer protocol ("http") media streaming systems and methods

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194609A1 (en) * 2001-06-18 2002-12-19 Tran Thanh T. Video client with dynamically allocable video buffer for efficiently streaming video
TWI229528B (en) * 2003-10-31 2005-03-11 Benq Corp Method of controlling dataflow for a media player system
US7830794B2 (en) * 2006-03-29 2010-11-09 Intel Corporation Method and apparatus for improved isochronous data delivery over non-isochronous communication fabric
US20070234327A1 (en) * 2006-03-31 2007-10-04 Baxter Robert A Configuring media applications based on performance characteristics
JP2009134391A (ja) * 2007-11-29 2009-06-18 Renesas Technology Corp ストリーム処理装置、ストリーム処理方法及びデータ処理システム
US8499059B2 (en) * 2009-05-04 2013-07-30 Rovi Solutions Corporation System and methods for buffering of real-time data streams
US8484368B2 (en) * 2009-10-02 2013-07-09 Disney Enterprises, Inc. Method and system for optimizing download and instantaneous viewing of media files
US8401370B2 (en) * 2010-03-09 2013-03-19 Dolby Laboratories Licensing Corporation Application tracks in audio/video containers
US8904033B2 (en) * 2010-06-07 2014-12-02 Adobe Systems Incorporated Buffering media content
US9026671B2 (en) * 2011-04-05 2015-05-05 Qualcomm Incorporated IP broadcast streaming services distribution using file delivery methods
EP2538334B1 (en) * 2011-06-21 2019-08-21 Lantiq Beteiligungs-GmbH & Co.KG Cache streaming system
CN104040992B (zh) * 2011-11-14 2018-06-29 瑞典爱立信有限公司 移动网络中具有改善的效率的媒体流
US10198462B2 (en) * 2012-04-05 2019-02-05 Microsoft Technology Licensing, Llc Cache management
KR20170083641A (ko) * 2012-07-10 2017-07-18 브이아이디 스케일, 인크. 품질 주도형 스트리밍
US9344517B2 (en) * 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110238789A1 (en) * 2006-06-09 2011-09-29 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
CN102301661A (zh) * 2009-01-29 2011-12-28 高通股份有限公司 用于调节接收机缓冲器以防止数据溢出的方法和装置
US20130227080A1 (en) * 2012-02-27 2013-08-29 Qualcomm Incorporated Dash client and receiver with playback rate selection
US20130326024A1 (en) * 2012-06-01 2013-12-05 Verizon Patent And Licensing Inc. Adaptive hypertext transfer protocol ("http") media streaming systems and methods

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110460495A (zh) * 2019-08-01 2019-11-15 北京百度网讯科技有限公司 一种水位推进方法、装置、计算节点及存储介质
CN110460495B (zh) * 2019-08-01 2024-02-23 北京百度网讯科技有限公司 一种水位推进方法、装置、计算节点及存储介质

Also Published As

Publication number Publication date
JP2017524280A (ja) 2017-08-24
EP3149952A1 (en) 2017-04-05
KR20170012461A (ko) 2017-02-02
WO2015183466A1 (en) 2015-12-03
US20150350369A1 (en) 2015-12-03

Similar Documents

Publication Publication Date Title
CN106464960A (zh) 用于在对回放用户体验有最小影响的情况下减少对多媒体流送数据的预获取的方法
US8683071B2 (en) Method and apparatus for supporting time shift playback in adaptive HTTP streaming transmission solution
CN111641866B (zh) 用于将辅助媒体项目插入到主媒体流的方法、系统及介质
US7805373B1 (en) Synchronizing multiple playback device timing utilizing DRM encoding
US9615119B2 (en) Method and apparatus for providing timeshift service in digital broadcasting system and system thereof
EP3488358A1 (en) Systems and methods for using seektables to stream media items
US9877072B2 (en) Methods and apparatus for determining a normalized time for use in resuming content playback
US20140337298A1 (en) Method and system for constructing and presenting a consumption profile for a media item
US11431777B2 (en) Adaptive bitrate streaming techniques
JP2007104656A (ja) コンテンツダウンロードシステム及び方法
KR101731133B1 (ko) 주문형 제공을 위한 스트리밍 콘텐츠의 어셈블링
US10728630B2 (en) Adaptive bitrate streaming techniques
US11178433B2 (en) Methods and systems for dynamic routing of content using a static playlist manifest
US11089346B2 (en) Adaptive bitrate streaming techniques
US11356712B2 (en) Minimizing stall duration tail probability in over-the-top streaming systems
WO2012074659A1 (en) Selectively receiving media content
CN108769816B (zh) 一种视频播放方法、装置及存储介质
US20210392393A1 (en) Method for ad pod handling in live media streaming
CN103248921B (zh) 广告播放方法、装置及系统
US10728588B2 (en) Adaptive bitrate streaming techniques
US20130042288A1 (en) Method and arrangement for playing out a media object
US20170195704A1 (en) Apparatus and method for providing vod content based on network load distribution
EP2595066A1 (en) Recommendation method and apparatus for selecting content items for users
CN104735089A (zh) 内容处理方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170222