使用预测模型来预测流媒体的结束的方法和设备与流程

文档序号:11162164阅读:369来源:国知局
使用预测模型来预测流媒体的结束的方法和设备与制造工艺

本公开总体上涉及监测流媒体,更具体地涉及使用预测模型来预测流媒体的结束的方法和设备。



背景技术:

如这里所使用的流媒体是指由呈现装置向用户呈现的媒体,该呈现装置与(例如,经由网络)从媒体供应商向呈现装置(或与呈现装置关联的装置)发送的媒体至少部分并行。有时,流媒体用于呈现现场直播事件。然而,流媒体还可以用于非现场直播事件(例如,时移媒体呈现和/或视频点播呈现)。通常,流媒体文件的在时间上相邻的部分在向用户呈现流媒体的同时被输送到并存储在流媒体装置的缓冲器或临时存储器缓存中。缓冲器在继续用流媒体的未播放部分填充的同时释放用于呈现的所存储流媒体。该处理继续,直到用户终止流媒体的呈现和/或已经输送(例如,下载)完整的流媒体文件为止。在已经输送完整流媒体文件的情况下,流媒体装置通常继续释放用于呈现的所缓冲流媒体,直到清空缓冲器为止。

缓冲器用于补偿造成“滞后”或媒体的不连续输送的、诸如带宽使用波动的问题。缓冲器通过在等待另外流媒体的传送的同时保持流媒体可以被呈现的一部分来减轻“滞后”的出现。在一些情况下,随着缓冲器填充,流媒体的下载速度(例如,带宽使用速率)可以根据缓冲器的剩余空间而加速或减速。

近年来,流媒体已经变成用于向用户输送媒体的流行介质。像NetflixTM(网飞公司)和Amazon Instant VideoTM(亚马逊即时视频)的服务以及由基于互联网协议(IP)的电视服务(例如,AT&T UverseTM)提供的点播服务是这种流媒体的供应商的示例。流媒体的即时性质和互联网服务供应商的带宽能力的提高因为能够被流送的高分辨率(这需要增大的输送带宽)而有助于流媒体的流行。例如,当流媒体装置的用户从流媒体分发方(诸如NetflixTM)选择影片时,影片在不必等待整个影片文件被下载到用户装置的情况下而可以几乎立即呈现。

附图说明

图1是用于向用户装置流送媒体的示例系统的框图。

图2是示例流媒体应用的图。

图3是预测流媒体的结束的、图1的预测器的示例实现方式的框图。

图4是例示了在流媒体的处理中观察到的流媒体应用的带宽速率(bandwidth rate)的示例曲线图。

图5A是(a)图4所观察到的带宽速率和(b)示例预测模型的示例曲线图。

图5B是(a)在流媒体的处理中所观察到的流媒体应用的带宽速率和(b)与所观察到的带宽速率关联的预测模型的示例曲线图。

图6是表示可以被执行为实施预测流媒体的结束的、图3的示例预测器的示例机器可读指令的流程图。

图7是表示可以被执行为实施生成用于预测模型生成的参数的、图3的示例预测器的示例机器可读指令的流程图。

图8是表示可以被执行为实施生成预测模型并预报流媒体的预测结束时间的、图3的示例预测器的示例机器可读指令的流程图。

图9是可以执行实施图1和/或图3的示例预测器的、由图6、图7和/或图8表示的机器可读指令中的任一个的示例处理器系统的框图。

具体实施方式

当媒体装置流送来自流媒体分发方的媒体时,可以从流媒体装置与流媒体分发方之间的通信来获得数据。这种数据可以通过分析流量模式、分析通信包、网络分接等来获得。关于流媒体和/或流环境的示例数据(或元数据)包括媒体文件格式、流媒体装置的可用缓冲器空间、流媒体装置的带宽使用等。该描述数据可以用于补充由AME获得的传统数据(例如,与传统媒体(例如,收音机和/或电视)广播关联的观众组成和/或媒体识别)以创建更鲁棒的数据集,并且允许应用更细粒度统计法。

在对流媒体分发方和/或流媒体应用的访问不可用于直接获得关于结束的信息的情况下,预测流媒体的结束是重要的。例如,预测流媒体时间的结束可以允许针对媒体信用评级的更精确流广告提取。在一些情况下,预测流媒体的结束可以允许目标调查输送。即,预测流媒体的结束允许在用户在媒体呈现已经结束时从媒体呈现装置转移开注意力之前在接近流媒体结束时(例如,在结束前不久)输送调查。

在一些情况下,在媒体监测时,流媒体呈现的持续时间从流媒体的持续时间延长或缩短。例如,通过(例如经由进度条操纵)倒回、跳跃或快进(例如,追踪模式操作)流媒体,呈现的持续时间可以大大长于或短于流媒体的持续时间(例如,在流媒体在没有任何追踪模式操作的情况下应用时)。通过外推或推断流媒体的结束(并在呈现期间更新分析),可以获得更细小详细和/或更准确的持续时间。另外或另选地,可以向流送媒体的用户提供目标媒体。代替在用户装置处等待流媒体结束的信号,可以有利的预测流媒体何时将结束。通过预测结束时间,可以产生到目标媒体的更无缝过渡。

这里所公开的示例使用预测模型来预测流媒体呈现的结束,该预测模型基于与媒体的流送关联的缓冲器填充的时段期间带宽的特性。这里所公开的示例使用带宽的特性来提取用于预测模型中的参数。示例预测模型用于预测将到达流媒体文件的结束的时间。

这里所公开的示例可应用于任意流媒体协议(例如,通过HTTP的动态自适应流送(DASH)、自适应码率流送、HTTP现场直播流送(HLS)、实时流送协议(RTSP)、实时协议(RTP)、实时控制协议(RTCP)和/或任意合适组合或将来协议)。

图1是这里所公开的示例方法设备和/或制品可以用于预测流媒体的结束时间的示例环境的框图。在图1的示例环境中,从流媒体分发方120向示例用户装置101a-101c流送媒体。示例环境包括示例用户装置101a-101c、示例代理服务器105、示例网络115以及示例流媒体分发方120。在图1的示例中,诸如尼尔森(Nielsen)(美国)有限责任公司的观众测量实体125包括用于预测流媒体的结束的示例预测器130。

在所例示的示例中,示例用户装置101a-101c中的一个(例如,示例用户装置101a)启动流媒体应用对流体流送。对媒体流送的请求由示例用户装置101a发送到示例流媒体分发方120。请求借助示例代理服务器105和示例网络115来路由。示例流媒体分发方120应答请求,并且开始使用加密流借助示例代理服务器105向示例用户装置101a流送媒体。加密流防止代理服务器105访问关于追踪模式操作的信息和/或与流媒体关联的时间戳信息。当向示例用户装置101a流送媒体时,示例代理服务器105提取与流媒体关联的可用数据和/或元数据(例如,带宽速率、源端口和目的地端口、互连网协议地址等),并且向示例观众测量实体125处的预测器130发送所提取的数据和/或元数据。示例预测器130使用所发送的数据(例如,带宽速率)来预测媒体何时将停止(或已经停止)在用户装置101a上呈现。例如,预测器130预测结束时间,在这种时间期间,媒体的流送不可直接进入示例代理服务器105、观众测量实体125,也不可直接接入示例预测器130。

所例示示例的示例用户装置101a-101c可以由支持流应用和/或流媒体的任意装置(例如,智能电视、平板电脑、游戏控制器、移动电话、智能电话、流媒体装置、计算机、膝上型电脑、平板电脑、数字通用光盘(DVD)播放器、RokuTM装置、因特网电视设备(例如,GoogleTM ChiomecastTM、GoogleTMTV、AppleTMTV等)和/或其他电子装置)来实施。示例用户装置101a-101c使用网络115经由代理服务器105与示例流媒体分发方120通信。

示例网络115可以为由有线和/或无线连接(例如,电缆/DSL/卫星调制解调器、蜂窝塔等)促进的任意类型的通信网络(例如,因特网、局域网、广域网、蜂窝数据网等)。示例网络可以为局域网、广域网或网络的任意组合。

所例示示例的示例代理服务器105是充当通信中介的、位于被监测家庭中的网络装置(例如,包括流媒体的流媒体请求和响应),该通信涉及示例用户装置101a-101c中的一个或更多个和/或连接到示例网络115的一个或更多个其他部件。另选地,示例代理服务器105可以位于与被监测家庭分开的位置。例如,示例代理服务器105可以为路由器、网关、服务器和/或能够充当网络流量中介的任意装置。例如,宽带调制解调器和/或路由器可以实施代理服务器105。根据所例示的示例,代理服务器105是用于示例用户装置101a-101c与示例流媒体分发方120之间的通信的中介。

例如,当示例用户装置101a向流媒体分发方120发送对媒体的请求时,该请求被首先路由到示例代理服务器105。示例代理服务器105然后向示例流媒体分发方120发送请求(例如,该请求可以在被修改为指示对请求的响应应被路由到代理服务器105之后发送)。当示例流媒体分发方120响应该请求时,向示例代理服务器105路由响应,示例代理服务器105向示例用户装置101a重新发送请求。

随着在与示例用户装置101a-101c关联的通信中涉及了示例代理服务器105,所以示例代理服务器105能够收集关于那些通信的信息。虽然示例代理服务器105被称为“代理”装置,但代理服务器105可以不执行通常与代理关联的功能(例如,执行包翻译)。相反,这里的示例中所述的代理服务器105的功能可以由收集关于示例用户装置101a-101c与示例流媒体供应商120之间的通信的信息的任意类型装置来执行(例如,示例代理服务器105可以不参与通信链,相反可以使用例如包监测、包窥探或任意其他技术从边线监测通信)。

在所例示的示例中,代理服务器105向观众测量实体125发送所收集的信息。示例代理服务器105收集、计算和/或关联用于流媒体应用的带宽信息。在一些示例中,示例代理服务器105识别并收集发源于流媒体分发方120且被输送到用户装置101a-101c的数据。例如,示例代理服务器105可以基于一个或更多个特性来收集并关联流量,该特性诸如简单网络管理协议(SNMP)、互联网协议(IP)地址、因特网协议族的子协议(例如,实时流协议)(RTSP)、端口信息、服务目的地、用户代理等。上述特性中的一个或更多个可以指示具体流媒体分发方120(例如,源IP地址)。示例代理服务器105还确定数据通过代理服务器105的速率(例如,带宽速率)和/或数据从流媒体分发方120流送到用户装置101a-101c的速率。组合关联流量和流量通过装置的速率(例如,数据速率、带宽速率等)允许应用专用带宽速率监测。代理服务器105收集并向示例预测器130发送流媒体应用的带宽速率和应用身份证明。这样,既不需要从呈现流媒体的媒体装置发送数据(例如,带宽速率),也不需要从向媒体装置发送流媒体的流媒体分发方发送数据。另外或另选地,示例代理服务器105监测到示例预测器130的流量以收集、计算和/或关联。

除了图1中所例示的网络拓扑之外的其他网络拓扑可以与这里所公开的示例方法和设备一起使用。例如,代理服务器105在其他装置或部件可以提供关于通信的信息(例如,带宽速率可以由用户装置101a-101c来报告)时可以不被包括在系统100中。另外或另选地,通信可以借助示例观众测量实体125来路由和/或被监测到示例观众测量实体125。在一些这种示例中,观众测量实体125在具有或没有来自诸如代理服务器105的其他装置的信息的情况下监测并收集关于通信的信息。

所例示示例的观众测量实体125包括示例预测器130。在该示例中,示例预测器130在示例用户装置101a-101c流送来自示例流媒体分发方120的媒体的同时从代理服务器105获得带宽速率。然而,如上面说明的,数据速率(例如,带宽速率)可以另选地由其他装置来提供。在一些示例中,控制信息、文本覆盖等嵌在流内。由此,期望创建将流媒体的传输与流中所承载的其他数据的传输区分的阈值带宽速率。连同图3描述这种阈值的示例选择。在图1的所例示示例中,示例预测器130分析由示例代理服务器105转发的带宽速率,并且在带宽超过阈值时确定流媒体的流结束时间。

在所例示的示例中,用户装置101a-101c中的一个或更多个与同意受观众测量实体125监测的小组成员关联。小组成员是在由拥有和/或操作等级评定实体子系统的等级评定实体(例如,观众测量实体125)维系的小组上注册的用户。传统上,观众测量实体(这里还被称为“等级评定实体”)基于所注册的小组成员来确定用于广告和媒体播出的人口统计范围。即,观众测量实体125将赞成被监测的人们招收到小组中。在招收期间,观众测量实体从招收人员接收人口统计信息,使得可以在到那些小组成员的广告/媒体暴露与不同的人口统计市场之间进行随后关联。

人们经由例如被呈现在用户装置101a-101c上的用户接口(例如,经由网站)成为小组成员。人们以另外或另选的方式(诸如,例如,经由电话访问,通过完成在线调查等)来成为小组成员。另外地或另选地,人们可以使用任意期望的方法论(例如,随机选择、静态选择、电话征集、因特网广告、调查、大商场中的广告、产品包装等)来联系和/或征募。

在所例示示例的小组成员系统中,同意在用户参加和/或注册小组时/或从用户获得,以监测并分析网络数据。例如,小组成员可以同意使他们的网络流量受代理服务器105监测。虽然图1的示例系统是基于小组成员的系统,但可以另选地采用非小组成员和/或混合小组成员系统。

图2例示了在示例用户装置101a-101c中的一个上执行的示例流媒体应用201。该示例的示例流媒体应用201在对应的示例装置101a-101c上呈现从流媒体分发方120获得的媒体。流媒体应用201的图形用户接口呈现与流媒体的呈现相关的数据。在图2的示例流媒体应用201中,逝去时间指示器202显示媒体呈现区段的长度和媒体的总长度。文件ID指示器203示出了被呈现的流媒体的文件名。

在一些示例中,文件ID指示器203在可用时(例如,如果在未加密流中发送流媒体)由示例预测器130分析,以确定文件格式。示例预测器130可以访问未加密流媒体包(或解密处理可用的加密包)的内容。示例数据包可以包括指示什么视频和/或音频被流送到流媒体应用201的报头或前导数据。示例带宽指示字段204显示流媒体应用201的当前带宽使用速率。示例时间剩余指示器206如由用户装置(例如,101a)指示的、显示预测的媒体结束时间。示例进度条208基于示例逝去时间指示器202和示例时间剩余指示器206的值来显示时间剩余的图形表示。

在一些示例中,流媒体应用201所显示的数据(例如,编解码类型、文件名和/或所逝去的时间)可能难达到示例预测器130。然而,示例预测器130可以通过监测用户装置101a-101c与流媒体分发方120之间的流量来测量带宽速率的值。

图3是图1的示例预测器130的示例实现方式的框图。图3的示例预测器130设置有示例带宽记录器304、示例识别器306、示例阈值生成器308、示例参数生成器310、示例建模器312、示例预报器314以及示例流结束处理器316。

图3的示例带宽记录器304观察并记录由图1的示例代理服务器105转发的带宽速率。在示例图3中,带宽记录器304与示例识别器306与示例阈值生成器308通信。由示例代理服务器105转发的带宽速率是在流媒体应用201流送媒体时与流媒体应用201关联的带宽速率。

示例识别器306确定在流媒体应用201中流送的媒体的格式。在图3所例示示例中,当流媒体应用201开始流送媒体时,示例识别器306分析由代理服务器105输送到示例带宽记录器304的数据,以确定流媒体的音频和/或视频编解码。在一些示例中,示例识别器306在流送之前知道由流媒体应用201使用的媒体的文件格式(因为这种文件格式可以是专属的)(例如,文件格式由示例代理服务器105通知示例识别器306)。由示例识别器306确定的媒体格式被发送到示例带宽记录器304。在媒体格式不由示例识别器306确定的一些示例中,通知示例带宽记录器304未确定媒体格式。

所例示示例中的示例阈值生成器308从示例识别器306获得流媒体的媒体格式。当获得媒体格式时,示例阈值生成器308参照查找表来确定带宽速率的阈值,该阈值指示(1)带宽速率应开始(例如,在带宽超过阈值时)或停止(例如,在阈值低于阈值时)存储在计量数据集中和(2)应关于流结束时间进行预测。例如,当带宽速率在所设阈值以上时,带宽速率被记录到计量数据集,并且预测器130准备好生成预测。当带宽速率在阈值以下时,带宽速率不记录到计量数据集,并且预测器130应生成关于完整计量数据集的预测。

在媒体格式不由示例识别器306确定的示例中,阈值可以由示例阈值生成器308设定为默认或预定值。在一些示例中,阈值生成器308确定流媒体的格式仅含有流媒体,并且不含有诸如文本覆盖和/或追踪模式命令的任何其他信息。在这种示例中,阈值可以不被设定为记录带宽速率(例如,因为不需要区分流媒体与流中所承载的其他信息,所以可以确定阈值是不必要的或可以以其他方式排除阈值)。所例示示例的阈值生成器308向示例带宽记录器304发送阈值。

在图3的所例示示例中,示例带宽记录器304监测和/或记录由示例代理服务器105转发的带宽速率,并且将带宽速率与由示例阈值生成器308确定的阈值进行比较。当示例带宽记录器304确定带宽速率达到或超过阈值时,示例带宽记录器304开始在计量数据集中存储带宽速率及其关联的时间戳。计量数据集用于存储从带宽速率满足或超过阈值的第一时间直到带宽速率在第一时间之后达到或落到阈值以下的第二时间为止的带宽速率的值。当计量数据集完整时,计量数据集值用于生成参数(例如,预测模型参数),该参数用于生成预测模型。示例带宽记录器304监测带宽速率,以确定带宽速率何时落到由示例阈值生成器308设定的阈值以下。当带宽速率在之前已经达到或超过阈值之后降至所设阈值以下时,通知示例建模器312计量数据集(在带宽速率达到或超过阈值的时间与带宽速率达到或落到阈值以下的后来时间之间记录的带宽速率)准备好由示例参数生成器310处理。示例带宽记录器304在数据集完整之后继续监测由代理服务器转发的带宽速率。

所例示示例的示例参数生成器310计算和/或识别预测模型,以生成流持续时间预测模型。每次生成预测模型时,示例参数生成器310在流媒体的特性变化的情况下生成新的参数集。例如,如果流媒体使用自适应码率流送来流送,则流媒体的码率可以在流送期间变化。示例参数生成器310访问计量数据集,并且开始确定计量数据集的特性参数的一系列计算。在所例示的示例中,参数生成器310计算计量数据集的均值和标准差。示例参数生成器310还识别预测模型的衰减因子。衰减因子表示预测模型从预测模型的峰值衰减或降低至零值(或基于所用预测模型的负无穷大)的速率。在一些示例中,衰减因子可以基于流媒体的类型(例如,音频和/或视频)来识别。在其他示例中,衰减因子可以根据被流送的媒体的编解码来识别。在一些示例中,衰减因子可以基于流媒体的码率来识别。在另一些其他示例中,衰减因子可以对于所有媒体类型和/或编解码统一。示例参数生成器310存储预测模型参数和与预测模型参数关联的衰减因子。当示例参数生成器310生成用于数据集的参数时,示例参数生成器310通知示例建模器312。

图3的示例建模器312基于由示例参数生成器310创建的预测模型参数来生成预测模型。当示例建模器312从示例参数生成器310接收要生成预测模型的通知时,示例建模器312检索与流媒体关联的预测模型参数和衰减因子。示例建模器312使用由示例参数生成器310提供的参数来生成预测模型。在一些示例中,在向示例预报器314释放预测模型之前,可以调节预测模型参数。例如,示例建模器312进行的调节可以将预测模型的数值范围(例如,幅值)和均值(例如,时间位置)与用于生成预测模型的计量数据集的数值范围和均值对齐。当示例预测模型的数值范围和均值与原始数据集的数值范围和均值匹配时,向示例带宽记录器304和示例预报器314转发预测模型。

示例带宽记录器304在继续监测由示例代理服务器105发送的带宽速率的同时使用预测模型。当已经生成预测模型时,示例带宽记录器304继续如上所述的创建计量数据集,并且也将所观察到的带宽速率与预测模型进行比较。如果带宽速率的值超过预测模型(例如,带宽速率的幅值超过预测模型的幅值),则示例带宽记录器304将信号通知示例参数生成器310应对于新的计量数据集生成新参数,以生成更新后的预测模型。

图3的示例预报器314获得预测模型,并且开始从均值(均值为计量数据集的最大值的时间位置)通过预测模型使用时间增量(例如,一秒的十分之几、百分之几、千分之几)开始迭代。预测模型是时间的函数(如下面将连同图6更详细说明的)。因此,使用时间值,示例预报器314计算均值的时间位置之后的每一个时间单位的值。示例预报器314通过增大时间值继续迭代,直到预测模型产生(或指示)处于由示例阈值生成器308生成的阈值处或该阈值以下的值。处于阈值处或阈值以下的值表示示例预报器314预测流媒体将结束的时间,或更具体地是在经由网络115转移流媒体之后清空用户装置上的缓冲器且完成流媒体的呈现的时间。当达到处于阈值处或阈值以下的值时,示例预报器314确定识别处于阈值处或阈值以下的值的时间是预测的流结束时间,并且向示例流结束处理器316转发流结束时间。在一些示例中,当不使用阈值时,由示例预报器314执行的迭代可以在达到值零(或第一个负值)时停止。

示例流结束处理器316存储和/或向处于观众测量实体125处或远离观众测量实体125的数据收集设施发送预报的流结束时间。在一些示例中,流结束处理器316可以响应于流结束时间而执行其他动作。例如,在被指示为流结束时间的时间,流结束处理器316可以向流送媒体的用户装置101a-101c发送调查。在其他示例中,预测的流结束时间可以用于发送提取嵌在流媒体中的广告的命令。

虽然图3中例示了实施图1的预测器130的示例方式,但可以以任意其他方式组合、划分、重新设置、省略、消除和/或实施图3中例示的元件、处理和/或装置的一个或更多个。进一步地,示例带宽记录器304、示例识别器306、示例阈值生成器308、示例参数生成器310、示例建模器312、示例预报器314以及示例流结束处理器316和/或更一般地图1的示例预测器130可以由硬件、软件、固件和/或硬件、软件和/或固件的任意组合来实施。由此,例如,示例带宽记录器304、示例识别器306、示例阈值生成器308、示例参数生成器310、示例建模器312、示例预报器314以及例流结束处理器316和/或更一般地示例预测器130中的任一个可以由一个或更多个电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑装置(PLD)和/或现场可编程逻辑装置(FPLD)来实施。当阅读覆盖纯软件和/或固件实现方式的本专利的设备或系统权利要求中的任一项时,示例带宽记录器304、示例识别器306、示例阈值生成器308、示例参数生成器310、示例建模器312、示例预报器314以及示例流结束处理器316和/或示例预测器130中的至少一个在此被清楚地定义为包括存储软件和/或固件的有形计算机可读存储装置或存储盘(诸如存储器、DVD、CD、蓝光光盘等)。仍然进一步地,图1的示例预测器130可以除了图3中例示的这些元件、处理和/或装置之外或代替图3的这些元件、处理和/或装置,还包括一个或更多个元件、处理和/或装置,和/或可以包括所例示元件、处理和装置中的任意或全部中的不止一个。

图4例示了从用于向用户装置101a-101c中的一个示例用户装置流送示例媒体的、图1的示例代理服务器105转发的示例带宽速率的图形例示400。示例带宽速率表示如代理服务器105处看到的、示例流媒体分发方120与示例用户装置101a-101c中的一个之间的流量的速率。在图4的所例示示例中,媒体流送期间的一个缓冲器填充周期由带宽速率曲线402来表示。例如,缓冲器填充周期是缓冲器以递增速率且然后以递减速率填充有将不间断呈现的所下载媒体的时间段。在关于自适应码率流送的一些示例中,流媒体文件被分为用于下载的较小的包。将较小的包下载到缓冲器在几乎与缓冲器填充和清空循环可以产生带宽的快速上升的同时造成这种快速上升。

观察到示例带宽速率曲线402随着填充用户装置101a-101c的缓冲器(或下载媒体的一部分)而升高,并且在缓冲器达到容量(或已经转移媒体的一部分)时降低。在缓冲器的特定容量处或在下载特定百分比(例如50%)的包之后,用户装置101a-101c逐渐减小带宽速率或下载数据的速度。逐渐减小发生为使得所下载的数据不由于缓冲器空间的缺乏而丢失。该行为以带宽速率曲线402的形状来表示。随着缓冲器开始填充,带宽速率逐渐增大至峰值,然后开始随着达到特定容量而逐渐减小。该逐渐减小继续,直到下载整个媒体文件为止(假定不中断流送)。

在所例示的示例中,带宽记录器304监测由示例代理服务器105转发的带宽。示例识别器306确定流媒体例如为闪视频格式,并且将视频格式通知示例阈值生成器308。示例阈值生成器308设定阈值404,并且将阈值通知示例带宽记录器304。当观察到带宽速率在时间405处于阈值404处时,示例带宽记录器304开始在所计量的数据集中存储带宽速率。当观察到带宽速率在之前在时间405超过阈值之后在时间408处于阈值404处时,那么带宽记录器304停止向计量数据集附加值。由此,带宽曲线在时间405与时间408之间的值包括计量数据集402(这里还被称为带宽速率曲线402)。虽然在一些示例中示例预测器130不知道媒体停止用户装置101a-101c处的流送的时间(例如,然而,结束时间可以由预测器130来预测),但媒体被例示为在时间410结束呈现。虽然流送已经停止,但用户装置101a-101c处的缓冲器的读出继续其后一段时间。

图5A例示了在具有由示例预测器130基于从计量数据集402生成的预测模型参数生成的示例预测模型曲线502的时间线上的、图4的示例曲线402。在示例计量数据集402降至示例阈值404以下的时间408,示例带宽记录器304通知示例参数生成器310计量数据集402完整。在图5的所例示示例中,示例参数生成器310计算计量数据集402的均值508、幅值514以及标准差516。另外,参数生成器310确定与所识别媒体类型(例如,闪视频)关联的衰减因子。示例参数生成器310使得预测模型参数(均值、幅值、标准差以及衰减因子)可用于示例建模器312。示例建模器312然后使用基于由示例参数生成器310生成的预测模型参数的模型来生成预测模型曲线502。在所例示的示例中,预测模型502使用以指数形式修改的高斯(EMG)分布函数来生成。另选地,如下面进一步详细描述的,可以使用其他合适的预测模型。示例建模器312向示例带宽记录器304和示例预报器314发送预测模型。

示例预报器314然后迭代示例预测模型502中的时间值,直到示例预测模型502的时间依赖解(或值)512处于阈值404处或阈值404以下为止。阈值404在所例示示例中用于由于所用的预测模型(以指数形式修改的高斯(EMG))的特性而确定流结束时间。EMG函数不转到零,直达它达到无穷大为止,由此,阈值可以用于指示带宽速率,低于该带宽速率,确定流送实质上已经停止。在一些示例中,可以使用第二阈值,该第二阈值实质上位于比用于创建计量数据集的阈值404更接近零。无论如何,被确定为处于阈值处或阈值以下的值512的时间位置被报告为预测的流送结束时间。该方法已经被经验地发现为预测实质上接近在用户装置101a-101c中的一个处观察到的实际流结束时间410的流结束时间。流结束时间表示整个媒体流已经被播放到缓冲器范围外的时间。

图5B是例示了观察到的流媒体的带宽和关联的预测模型曲线的示例曲线图。图5B的所例示示例包括图5A的示例计量数据集402和示例预测模型曲线502。然而,在图5B的示例中,在带宽速率落到阈值404以下之后,媒体继续流送,并且带宽记录器304确定带宽速率在第二时间520处于或超过阈值404。响应于带宽速率在时间520超过阈值404,示例带宽记录器304创建第二计量数据集524。在记录第二计量数据集524时,示例带宽记录器304将所记录的带宽速率与之前生成的预测模型曲线502进行比较。示例带宽记录器304确定在时间526,第二计量数据集524已经达到或超过之前的预测模型曲线502。如果带宽速率(例如,第二计量数据集524的带宽速率)在比较时大于之前预测模型(例如,预测模型曲线502)的带宽速率,则生成新的预测模型。示例带宽记录器304通知示例预报器314忽视示例预测模型曲线502。示例参数生成器310在观察到第二计量数据集在第二时间(例如,在时间527)处于阈值404处或以下时生成新的预测模型参数。示例建模器312生成第二预测模型528,并且示例预报器314确定新的所预测的流结束时间530,该流结束时间530实质上接近在对应的用户装置101a-101c处观察到的示例流结束时间560。示例带宽记录器304随着数据速率高出第三时间570继续监测带宽速率。然而,因为带宽速率570的第三快速上升不达到或超过阈值404,所以在该情况下不采取行动。通过继续监测带宽速率并将它们与所生成的预测模型比较以触发预测模型的再生成,可以预测更准确的流结束时间。

图6中示出了表示用于实施图3的预测器130的示例机器可读指令的流程图。在该示例中,机器可读指令包括用于由处理器执行的程序,该处理器诸如在下面关于图6讨论的示例处理器平台900中示出的处理器912。程序可以以有形计算机可读存储介质(诸如CR-ROM、软盘、硬盘驱动器、数字通用光盘(DVD)、蓝光光盘)或与处理器912关联的存储器上所存储的软件来具体实施,但整个程序和/或程序的部分可以另选地由除了处理器912之外的装置来执行,和/或以固件或专用硬件来具体实施。进一步地,虽然参照图6中例示的流程图描述了示例程序,但可以另选地使用实施示例预测器130的许多其他方法。例如,可以改变块的执行顺序,和/或可以改变、消除或组合所述块中的一些。

如上所述,图6、图7以及图8的示例处理可以使用有形计算机可读存储介质(诸如硬盘驱动器、闪速存储器、只读存储器(ROM)、光盘(CD)、数字通用光盘(DVD)、缓存、随机存取存储器(RAM)和/或内部存储信息任意持续时间(例如,延长的时间段、永久地、简短情况、临时缓冲和/或信息缓存)的任意其他存储装置或存储盘)上所存储的经编码指令(例如,计算机和/或机器可读指令)来实施。如这里所用的,术语有形计算机可读存储介质被清晰地定义为包括任意类型的计算机可读存储装置和/或存储盘,并且被定义为排除传播信号。如这里所用的,“有形计算机可读存储介质”和“有形机器可读存储基质”可互换地使用。另外或另选地,图6、图7以及图8的示例处理可以使用永久计算机和/或机器可读介质(诸如硬盘驱动器、闪速存储器、只读存储器、光盘、数字通用光盘、缓存、随机存取存储器和/或内部存储信息任意持续时间(例如,延长的时间段、永久地、简短情况、临时缓冲和/或信息缓存)的任意其他存储装置或存储盘)上所存储的经编码指令(例如,计算机和/或机器可读指令)来实施。如这里所用的,术语永久计算机可读介质被清晰地定义为包括任意类型的计算机可读装置和/或盘,并且被定义为排除传播信号。如这里所用的,当段元“至少”在权利要求的序文中用作过渡术语时,与术语“包括”是开放式的方式相同,该短语是开放式的。

图6是表示可以被执行为实施示例预测器130的示例机器可读指令的流程图。示例程序600可以例如在示例用户装置101a开始流送来自流媒体应用中的示例流媒体分发方120的媒体时启动。

最初,在块601处,示例识别器306识别与由示例带宽记录器304从示例代理服务器105接收的信息关联的流媒体的格式,并且向示例阈值生成器308转发所识别的格式。例如,当关于流媒体的信息到达观众测量实体125的示例带宽记录器304时,根据信息(例如,仅音频格式、仅视频格式或含有音频和视频这两者的容器格式)确定媒体格式。另外或另选地,媒体格式可以在信息中来识别(例如,代理服务器105可以确定并报告格式)。示例阈值生成器308使所确定的媒体格式与用于已知媒体格式的阈值相互参照,以建立带宽速率阈值(例如,图4、图5A以及图5B的阈值404),以区分媒体与嵌在流媒体中的辅助信息(块602)。示例阈值生成器308基于所确定的媒体格式来设定用于媒体区别的阈值。该阈值表示用于带宽速率的基值,并且用来提供比不使用阈值的情况更准确的预测(例如,假定该阈值以下的带宽如此不重要,以至于监测不应发生,直到实现阈值为止)。例如,在没有阈值的情况下,可以对于嵌在流中的文本覆盖的带宽速率创建预测模型,这在一些情况下可能导致不一致的流结束预测。

在块603处,示例带宽记录器304监测从示例代理服务器105转发的带宽速率。在一些示例中,带宽速率可能在流送媒体时不规律的波动。为了观察到更平滑的带宽值,示例带宽记录器304使用监测时段来获得时间平均带宽速率。例如,在示例带宽记录器304处,在两秒时段内每十分之一秒监测带宽值。由示例带宽记录器304记录为带宽值的值是在两秒时段期间的二十个观察到的带宽使用速率值的平均值。在其他示例中,由示例带宽记录器304记录的值可以为即时带宽使用速率值,或者可以在任意时间间隔期间平均。

在块604处,示例带宽记录器304确定媒体会话当前在用户装置101a-101c与流媒体分发方120之间是否有效。例如,所例示示例的带宽记录器304确定代理服务器105是否报告流媒体会话仍然开放。在示例带宽记录器304确定流媒体会话不再有效的情况下,示例程序600终止。然而,在媒体会话仍然开放的情况下,控制进行到块605。

在块605处,示例带宽记录器304将带宽速率与阈值进行比较,以确定是否应生成预测模型。如果带宽速率在阈值以下,则控制返回到块603,以等待带宽速率超过阈值。如果示例带宽记录器304确定所测带宽速率值超过阈值,则示例带宽记录器304将超过阈值的带宽速率和带宽速率超过阈值的时间用作计量数据集中所记录的初始值(块606)。示例带宽记录器304将随后的带宽速率和关联的时间戳记录在计量数据集中,并且移至块618。

在块618处,带宽速率在阈值以下。当确定带宽值400在阈值以上时,控制在示例带宽记录器304监测处于阈值处或以下的带宽值时逗留在块618处。

当确定带宽值在阈值以下时(块618),确定计量数据集完整。示例参数生成器310根据计量数据集确定预测模型参数(块620),预测模型参数要用于生成预测模型中。例如,诸如均值、数值范围(即,幅值)、标准差以及方差的参数可以由示例参数生成器310来计算。图7中描绘了例示了可以被执行为实施块620的示例机器可读指令(例如,用于实施参数生成器310的指令)的示例流程图。当计算预测模型参数时,示例参数生成器310通知示例建模器312参数可用于生成预测模型502。控制进行到块625。

在块625处,示例建模器312使用根据计量数据集计算的预测模型参数生成预测模型。预测模型可以由示例建模器312使用分布函数来生成。例如,预测可以使用以指数形式修改的高斯分布来建模。

在算式1中,μ表示计量数据集的均值,σ2表示计量数据集的方差,并且λ表示指数率(例如,衰减因子)。μ和σ2基于计量数据集,并且λ可以基于被流送的媒体类型来定制或调节。

其他合适分布可以包括卡方分布、指数分布、伽马分布、拉普拉斯分布、帕累托分布、威布尔分布、对数正态分布或能够用右旋衰减建模的任意其他合适概率分布。在一些其他示例中,由定义时间间隔期间的行为的多个函数组成的分段函数可以用于生成合适的预测模型。换言之,示例预测模型将在时间间隔上具有一个最大值(-∞<t<∞),并且将符合以下特性中的一个:

如果预测模型符合上述限制中的一个,则预测模型将在最大值之后衰减,并且随着时间接近无穷大而接近零(或负无穷大)。

图8中例示了表示可用于实施块625的机器可读指令的示例流程图。

当生成预测模型时,示例预报器314在预测模型上迭代,以确定预测模型的值降至阈值以下的时间,并且将时间作为用于流媒体的预测流结束时间返回(块627)。一旦被识别,则示例预报器314向示例流结束处理器316转发时间以报告(块629)。由示例流结束处理器316返回的时间可以为预测结束时间和/或对于流媒体呈现剩余的时间量的时间戳。在报告所预测的流结束时间时,控制返回到示例带宽记录器304继续监测带宽速率的块602。

图7是表示可以被执行为实施计算预测模型参数的、图6的块620的示例机器可读指令的流程图700。在块708处,示例参数生成器310使用原始数据集的值确定参数,以生成分布模型。例如,示例参数生成器310可以计算计量数据集的均值、标准差、幅值以及方差。

接着,示例参数生成器310识别与流媒体的特性(例如,类型、码率、编解码、载流等)关联的衰减因子,以用于生成示例预测模型(块710)。对于示例以指数形式修改的高斯函数,该衰减因子将为确定衰减速率的算式1的λ。在一些示例中,用于λ的值基于被流送的媒体的类型(例如,视频和/或音频)来识别。在其他示例中,λ的值依赖于被流送媒体的编解码。例如,示例参数生成器310可以使编解码对照参照具有关联衰减值的表格(例如,闪视频或“.flv”文件)。在其他示例中,λ的值在使用示例预测器130之前预配置。

在块712处,存储来自块708的所生成参数和来自块710的所识别衰减因子,以由示例建模器312用于生成预测模型中。

图8是表示可以被执行为实施预测流结束时间的、图6的块625和块627的示例机器可读指令的流程图800。在块802处开始,示例建模器312从示例参数生成器310获得参数和衰减因子。在块804处,示例建模器312使用参数和衰减因子值来生成预测模型。例如,连同算式1使用从计量数据集计算的均值、标准差、幅值以及衰减因子。另外,与计量数据集中的各值关联的时间例如作为示例算式1中x的值插入。由此,使用示例算式1的函数,基于示例以指数形式修改的高斯分布生成预测模型。

在块808处,图3的所例示示例的示例预报器314在块804中所生成的预测模型上迭代,以确定预测模型的值降至阈值以下的时间。迭代处理可以以预定增量(或在一些示例中为可调增量)在预测模型上迭代。例如,迭代可以用若干毫秒。示例预报器314使用从来自图7的块708的所生成参数获得的预测模型的所识别的均值来开始迭代。随着预测模型开始在局部峰值存在之后开始衰减,在均值(例如,峰值的时间位置)处开始预报处理通过不计算出现在峰值之前的预测值来允许更快的处理。

所例示示例的块810和块812例示了由示例预报器314执行的迭代检查。例如,如果在块810处观察到的值不在阈值以下,则示例预报器314观察下一增量值(块812),并且返回到块810。当在块810处观察到的值处于阈值处或以下时,示例预报器314移至块814。

在块814处,示例预报器314获得与处于阈值处或以下的所观察值关联的时间值。在一些示例中,示例预报器314将该时间值存储为所预测的流结束时间,以基于计量数据集预测流媒体的流结束时间。在一些示例中,预报器314可以另外或另选地通过从在由示例带宽记录器304接收的信息中识别的媒体开始时间减去流结束时间来计算流媒体的预测持续时间。

图9是能够执行图6、图7以及图8的指令来实施图3的预测器130的示例处理器平台900的框图。处理器平台900例如可以为服务器、个人计算机、移动装置(例如,蜂窝电话、智能电话、平板电脑(诸如iPadTM))、因特网应用、数字视频记录器、智能TV、智能蓝光播放器、游戏控制器、个人视频记录器、机顶盒或能够流送媒体的任意其他类型的计算装置。

所例示示例的处理器平台900包括处理器912。所例示示例的处理器912为硬件。例如,处理器912可以经由来自任意期望家庭或制造商的一个或更多个集成电路、逻辑电路、微处理器或控制器来实施。

所例示示例的处理器912包括本地存储器913(例如,缓存)。所例示示例的处理器912经由总线918与包括易失性存储器914和非易失性存储器916的主存储器通信。易失性存储器914可以经由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、内存总线动态随机存取存储器(RDRAM)和/或任意其他类型的随机存取存储装置来实施。非易失性存储器916可以经由闪存和/或任意其他期望类型的存储装置来实施。对主存储器914、916的访问由存储器控制器来控制。

所例示示例的处理器平台900还包括接口电路920。接口电路920可以经由任意类型的接口标准(诸如以太网接口、通用串行总线(USB)和/或PCI express接口)来实施。

在所例示的示例中,一个或更多个输入装置922连接到接口电路920。输入装置922允许用户将数据和命令输入到处理器912中。输入装置可以由例如音频传感器、麦克风、静物照相机或录像机、键盘、按钮、鼠标、触摸屏、触摸板、跟踪球、等点(isopoint)和/或语音识别系统来实施。

一个或更多个输出装置924还连接到所例示示例的接口电路920。输出装置924可以例如由显示装置(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管(CRT)显示器、触摸屏、触觉输出装置、发光二极管(LED)、和/或扬声器)来实施。由此,所例示示例的接口电路920通常包括图形驱动器卡。

所例示示例的接口电路920还包括促进经由网络926(例如,以太网连接、数字用户线(DSL)、电话线、同轴电缆、蜂窝电话系统等)与外部机器(例如,任意种类的计算装置)交换数据的通信装置(诸如发送器、接收器、收发器、调制解调器和/或网络接口卡)。

所例示示例的处理器平台900还包括用于存储软件和/或数据的一个或更多个大容量存储装置928。这种大容量存储装置928的示例包括软盘驱动器、硬盘驱动器、光盘驱动器、蓝光光盘驱动器、RAID系统以及数字通用光盘(DVD)驱动器。

图6、图7以及图8的经编码指令932可以存储在大容量存储装置928中、存储在易失性存储器914中、存储在非易失性存储器916中和/或存储在可移除有形计算机可读存储介质(诸如CD或DVD)上。

从上述,将理解,上面公开的示例促进使用预测模型来预测流媒体的结束时间。另外,所公开的示例提供了在不访问用户装置101a-101c上的流媒体应用的情况下预报源于流媒体的流量行为的流结束时间的能力。这样,对观众测量实体和/或数据收集设施对于目标媒体输送、嵌在流媒体中的广告的更精确广告提取、用户调查的呈现等准确预测流媒体的结束。

所公开示例还促进被监测家庭中的带宽保持。所公开的示例可以用于在合适时间发送目标媒体和/或调查以不中断流媒体。在具有有限带宽的家庭中,通过预测流媒体的结束,观众测量实体将通过持续查询确定何时发送目标媒体和/或调查来不消耗额外的带宽。

所公开示例还促进系统带宽的保持。在代理服务器发送关于流媒体的特性信息来代替监测流媒体的示例中,与监测方法相比大幅减小所需带宽。这种监测方法需要被监测到观众测量实体的流媒体的整体,这需要等于流媒体带宽的带宽。使用所公开的示例,大幅减小从代理服务器至观众测量实体的所需带宽。

虽然这里已经描述了特定示例方法、设备以及制品,但本专利的覆盖范围不限于此。相反,本专利覆盖完全落在本专利的权利要求范围内的所有方法、设备以及制品。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1