HK1237151B - Method and apparatus for predicting end of streaming media using prediction model - Google Patents

Method and apparatus for predicting end of streaming media using prediction model Download PDF

Info

Publication number
HK1237151B
HK1237151B HK17110902.7A HK17110902A HK1237151B HK 1237151 B HK1237151 B HK 1237151B HK 17110902 A HK17110902 A HK 17110902A HK 1237151 B HK1237151 B HK 1237151B
Authority
HK
Hong Kong
Prior art keywords
streaming media
streaming
bandwidth
media
bandwidth rate
Prior art date
Application number
HK17110902.7A
Other languages
Chinese (zh)
Other versions
HK1237151A1 (en
Inventor
贝斯汉尼克 J
Original Assignee
尼尔森(美国)有限公司
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 尼尔森(美国)有限公司 filed Critical 尼尔森(美国)有限公司
Publication of HK1237151A1 publication Critical patent/HK1237151A1/en
Publication of HK1237151B publication Critical patent/HK1237151B/en

Links

Description

使用预测模型来预测流媒体的结束的方法、装置和和设备Method, apparatus, and device for predicting the end of streaming media using a prediction model

技术领域Technical Field

本公开总体上涉及监测流媒体,更具体地涉及使用预测模型来预测流媒体的结束的方法和设备。The present disclosure relates generally to monitoring streaming media, and more particularly to methods and apparatus for predicting the end of streaming media using a predictive model.

背景技术Background Art

如这里所使用的流媒体是指由呈现装置向用户呈现的媒体,该呈现装置与(例如,经由网络)从媒体供应商向呈现装置(或与呈现装置关联的装置)发送的媒体至少部分并行。有时,流媒体用于呈现现场直播事件。然而,流媒体还可以用于非现场直播事件(例如,时移媒体呈现和/或视频点播呈现)。通常,流媒体文件的在时间上相邻的部分在向用户呈现流媒体的同时被输送到并存储在流媒体装置的缓冲器或临时存储器缓存中。缓冲器在继续用流媒体的未播放部分填充的同时释放用于呈现的所存储流媒体。该处理继续,直到用户终止流媒体的呈现和/或已经输送(例如,下载)完整的流媒体文件为止。在已经输送完整流媒体文件的情况下,流媒体装置通常继续释放用于呈现的所缓冲流媒体,直到清空缓冲器为止。As used herein, streaming media refers to the media presented to the user by a presentation device that is at least partially parallel with the media sent from a media provider to the presentation device (or a device associated with the presentation device) (e.g., via a network). Sometimes, streaming media is used to present live events. However, streaming media can also be used for non-live events (e.g., time-shifted media presentation and/or video on demand presentation). Typically, temporally adjacent portions of a streaming media file are delivered to and stored in a buffer or temporary memory cache of a streaming media device while presenting streaming media to the user. The buffer releases the stored streaming media for presentation while continuing to be filled with the unplayed portion of streaming media. This process continues until the user terminates the presentation of streaming media and/or has delivered (e.g., downloaded) a complete streaming media file. In the event that a complete streaming media file has been delivered, the streaming media device typically continues to release the buffered streaming media for presentation until the buffer is cleared.

缓冲器用于补偿造成“滞后”或媒体的不连续输送的、诸如带宽使用波动的问题。缓冲器通过在等待另外流媒体的传送的同时保持流媒体可以被呈现的一部分来减轻“滞后”的出现。在一些情况下,随着缓冲器填充,流媒体的下载速度(例如,带宽使用速率)可以根据缓冲器的剩余空间而加速或减速。Buffers are used to compensate for issues such as fluctuations in bandwidth usage that cause "lag," or discontinuous delivery of media. Buffers mitigate the appearance of "lag" by holding a portion of a stream that can be presented while waiting for the delivery of additional streams. In some cases, as the buffer fills, the download speed of the stream (e.g., the rate of bandwidth usage) can speed up or slow down depending on the remaining space in the buffer.

近年来,流媒体已经变成用于向用户输送媒体的流行介质。像NetflixTM(网飞公司)和Amazon Instant VideoTM(亚马逊即时视频)的服务以及由基于互联网协议(IP)的电视服务(例如,AT&T UverseTM)提供的点播服务是这种流媒体的供应商的示例。流媒体的即时性质和互联网服务供应商的带宽能力的提高因为能够被流送的高分辨率(这需要增大的输送带宽)而有助于流媒体的流行。例如,当流媒体装置的用户从流媒体分发方(诸如NetflixTM)选择影片时,影片在不必等待整个影片文件被下载到用户装置的情况下而可以几乎立即呈现。In recent years, streaming media has become a popular medium for delivering media to users. Services like Netflix and Amazon Instant Video , as well as on-demand services provided by Internet Protocol (IP)-based television services (e.g., AT&T Uverse ), are examples of providers of such streaming media. The instantaneous nature of streaming media and the increase in bandwidth capabilities of Internet service providers have contributed to the popularity of streaming media due to the high resolutions that can be streamed (which require increased delivery bandwidth). For example, when a user of a streaming device selects a movie from a streaming media distributor (such as Netflix ), the movie can be presented almost immediately without having to wait for the entire movie file to be downloaded to the user's device.

发明内容Summary of the Invention

本发明提供一种预测流媒体的结束的方法,该方法包括以下步骤:通过利用处理器执行指令,基于从代理接收的信息确定与在流媒体应用中呈现的流媒体关联的带宽速率;通过利用所述处理器执行指令,基于所述带宽速率的特性生成预测模型;以及通过利用所述处理器执行指令,将所述预测模型的输出低于最小带宽阈值的时间确定为所述流媒体的呈现结束时间,所述呈现结束时间与所述流媒体应用停止在所述呈现装置上呈现所述流媒体的时间相对应。The present invention provides a method for predicting the end of streaming media, which includes the following steps: using a processor to execute instructions to determine the bandwidth rate associated with streaming media presented in a streaming application based on information received from an agent; using the processor to execute instructions to generate a prediction model based on the characteristics of the bandwidth rate; and using the processor to execute instructions to determine the time when the output of the prediction model is lower than a minimum bandwidth threshold as the end time of the presentation of the streaming media, and the end time of the presentation corresponds to the time when the streaming application stops presenting the streaming media on the presentation device.

所述方法还包括以下步骤:确定在所述流媒体应用中呈现的所述流媒体的类型,其中,生成预测模型的步骤响应于带宽速率超过所述最小带宽阈值来发生,所述最小带宽阈值基于所述流媒体的类型。The method further includes the step of determining a type of the streaming media presented in the streaming application, wherein the step of generating a prediction model occurs in response to a bandwidth rate exceeding the minimum bandwidth threshold, the minimum bandwidth threshold being based on the type of the streaming media.

所述流媒体的所述类型为视频和音频中的至少一种。The type of the streaming media is at least one of video and audio.

基于所述流媒体的所述类型确定用于所述预测模型的衰减因子。A decay factor for the prediction model is determined based on the type of the streaming media.

所述带宽速率还包括与所述带宽速率关联的时间戳。The bandwidth rate also includes a timestamp associated with the bandwidth rate.

生成所述预测模型的步骤还包括:通过以下来计算预测模型参数:确定所述带宽速率的均值;确定所述带宽速率的幅值;以及确定所述带宽速率的标准差。The step of generating the prediction model further includes calculating prediction model parameters by: determining a mean of the bandwidth rate; determining a magnitude of the bandwidth rate; and determining a standard deviation of the bandwidth rate.

所述带宽速率不从呈现所述流媒体的媒体装置或向所述媒体装置发送所述流媒体的流媒体分发方接收。The bandwidth rate is not received from a media device rendering the streaming media or a streaming media distributor sending the streaming media to the media device.

所述代理在呈现所述流媒体的所述流媒体应用和向所述流媒体应用发送所述流媒体的流媒体分发方中间。The agent is between the streaming application that presents the streaming media and the streaming distributor that sends the streaming media to the streaming application.

所述代理:从所述流媒体分发方向所述流媒体应用路由所述流媒体;确定所述带宽速率;并且向观众测量实体发送所述带宽速率。The agent: routes the streaming media from the streaming media distributor to the streaming media application; determines the bandwidth rate; and sends the bandwidth rate to an audience measurement entity.

所述方法还包括以下步骤:在所述流媒体的所述呈现结束时间向所述流媒体应用发送目标媒体。The method further comprises the step of sending target media to the streaming application at the presentation end time of the streaming media.

所述方法还包括以下步骤:在所述流媒体的所述呈现结束时间向所述流媒体应用发送调查。The method further comprises the step of sending a survey to the streaming application at the end time of the presentation of the streaming media.

本发明提供一种预测流媒体的结束的装置,该装置包括:用于基于从代理接收的信息确定与在流媒体应用中呈现的流媒体关联的带宽速率的单元;用于基于所述带宽速率的特性生成预测模型的单元;以及用于将所述预测模型的输出低于最小带宽阈值的时间确定为所述流媒体的呈现结束时间的单元,所述呈现结束时间与所述流媒体应用停止在所述呈现装置上呈现所述流媒体的时间相对应。The present invention provides a device for predicting the end of streaming media, which includes: a unit for determining a bandwidth rate associated with streaming media presented in a streaming application based on information received from an agent; a unit for generating a prediction model based on characteristics of the bandwidth rate; and a unit for determining a time when an output of the prediction model is lower than a minimum bandwidth threshold as an end time of presentation of the streaming media, wherein the end time of presentation corresponds to a time when the streaming application stops presenting the streaming media on the presentation device.

所述装置还包括:用于确定在所述流媒体应用中呈现的所述流媒体的类型的单元,其中,生成所述预测模型响应于带宽速率超过所述最小带宽阈值来发生,所述最小带宽阈值基于所述流媒体的类型。The apparatus further comprises means for determining a type of the streaming media presented in the streaming application, wherein generating the prediction model occurs in response to a bandwidth rate exceeding the minimum bandwidth threshold, the minimum bandwidth threshold being based on the type of the streaming media.

所述流媒体的所述类型为视频和音频中的至少一种。The type of the streaming media is at least one of video and audio.

所述装置还包括:用于基于所述流媒体的所述类型确定用于所述预测模型的衰减因子的单元。The apparatus further includes means for determining a decay factor for the prediction model based on the type of the streaming media.

所述带宽速率还包括与所述带宽速率关联的时间戳。The bandwidth rate also includes a timestamp associated with the bandwidth rate.

用于生成所述预测模型的单元还包括:用于通过以下来计算预测模型参数的单元:确定所述带宽速率的均值;确定所述带宽速率的幅值;以及确定所述带宽速率的标准差。The means for generating the prediction model further includes: a means for calculating prediction model parameters by: determining a mean of the bandwidth rate; determining a magnitude of the bandwidth rate; and determining a standard deviation of the bandwidth rate.

所述带宽速率不从呈现所述流媒体的媒体装置或向所述媒体装置发送所述流媒体的流媒体分发方接收。The bandwidth rate is not received from a media device rendering the streaming media or a streaming media distributor sending the streaming media to the media device.

所述代理在呈现所述流媒体的所述流媒体应用和向所述流媒体应用发送所述流媒体的流媒体分发方中间。The agent is between the streaming application that presents the streaming media and the streaming distributor that sends the streaming media to the streaming application.

所述代理:从所述流媒体分发方向所述流媒体应用路由所述流媒体;确定所述带宽速率;并且向观众测量实体发送所述带宽速率。The agent: routes the streaming media from the streaming media distributor to the streaming media application; determines the bandwidth rate; and sends the bandwidth rate to an audience measurement entity.

所述装置还包括:用于在所述流媒体的所述呈现结束时间向所述流媒体应用发送目标媒体的单元。The apparatus further comprises: a unit for sending target media to the streaming application at the presentation end time of the streaming media.

所述装置还包括:用于在所述流媒体的所述呈现结束时间向所述流媒体应用发送调查的单元。The apparatus further comprises means for sending a survey to the streaming application at the end time of the presentation of the streaming media.

一种预测流媒体的结束的设备,该设备包括:带宽记录器,该带宽记录器基于从代理接收的信息确定与在流媒体应用中呈现的流媒体关联的带宽速率;建模器,该建模器基于所述带宽速率的特性生成预测模型;以及预报器,该预报器将所述预测模型的输出低于最小带宽阈值的时间确定为所述流媒体的呈现结束时间,所述呈现结束时间与所述流媒体应用停止在所述呈现装置上呈现所述流媒体的时间相对应,所述带宽记录器、所述建模器和预报器中的至少一个由联接到存储器的处理器实现。A device for predicting the end of streaming media, the device comprising: a bandwidth recorder that determines a bandwidth rate associated with streaming media presented in a streaming media application based on information received from an agent; a modeler that generates a prediction model based on characteristics of the bandwidth rate; and a predictor that determines a time when an output of the prediction model falls below a minimum bandwidth threshold as an end time of presentation of the streaming media, the end time corresponding to a time when the streaming media application stops presenting the streaming media on the presentation device, at least one of the bandwidth recorder, the modeler, and the predictor being implemented by a processor connected to a memory.

所述设备还包括:识别器,该识别器确定在所述流媒体应用中呈现的所述流媒体的类型;和阈值生成器,该阈值生成器基于所述流媒体的所述类型设定所述最小带宽阈值,其中,所述建模器响应于带宽速率超过所述最小带宽阈值来生成所述预测模型。The device also includes: an identifier that determines the type of streaming media presented in the streaming application; and a threshold generator that sets the minimum bandwidth threshold based on the type of streaming media, wherein the modeler generates the prediction model in response to the bandwidth rate exceeding the minimum bandwidth threshold.

所述流媒体的所述类型为视频和音频中的至少一种。The type of the streaming media is at least one of video and audio.

所述设备还包括:参数生成器,该参数生成器基于所述流媒体的所述类型确定用于所述预测模型的衰减因子。The apparatus further includes a parameter generator that determines a decay factor for the prediction model based on the type of the streaming media.

所述参数生成器还:通过以下来计算预测模型参数:确定所述带宽速率的均值;确定所述带宽速率的幅值;以及确定所述带宽速率的标准差。The parameter generator further calculates prediction model parameters by: determining a mean of the bandwidth rate; determining a magnitude of the bandwidth rate; and determining a standard deviation of the bandwidth rate.

所述带宽速率不从呈现所述流媒体的媒体装置或向所述媒体装置发送所述流媒体的流媒体分发方接收。The bandwidth rate is not received from a media device rendering the streaming media or a streaming media distributor sending the streaming media to the media device.

所述代理在呈现所述流媒体的所述流媒体应用和向所述流媒体应用发送所述流媒体的流媒体分发方中间。The agent is between the streaming application that presents the streaming media and the streaming distributor that sends the streaming media to the streaming application.

所述代理还:从流媒体分发方向所述流媒体应用路由所述流媒体;确定所述带宽速率;以及向观众测量实体发送所述带宽速率。The proxy also: routes the streaming media from a streaming media distributor to the streaming media application; determines the bandwidth rate; and sends the bandwidth rate to an audience measurement entity.

所述设备还包括:流结束处理器,该流结束处理器在所述流媒体的所述呈现结束时间向所述流媒体应用发送目标媒体。The device further includes a stream end processor configured to send target media to the streaming application at the presentation end time of the streaming media.

所述流结束处理器还:在所述流媒体的所述呈现结束时间向所述流媒体应用发送目标媒体。The stream end processor further sends target media to the streaming application at the presentation end time of the streaming media.

一种有形计算机可读介质,该有形计算机可读介质包括指令,当该指令被执行时造成机器执行上述方法。A tangible computer readable medium comprising instructions which, when executed, cause a machine to perform the above method.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1是用于向用户装置流送媒体的示例系统的框图。1 is a block diagram of an example system for streaming media to user devices.

图2是示例流媒体应用的图。FIG2 is a diagram of an example streaming media application.

图3是预测流媒体的结束的、图1的预测器的示例实现方式的框图。3 is a block diagram of an example implementation of the predictor of FIG. 1 that predicts the end of streaming media.

图4是例示了在流媒体的处理中观察到的流媒体应用的带宽速率(bandwidthrate)的示例曲线图。FIG. 4 is an example graph illustrating bandwidth rates of streaming media applications observed during the processing of streaming media.

图5A是(a)图4所观察到的带宽速率和(b)示例预测模型的示例曲线图。5A is an example graph of (a) the observed bandwidth rates of FIG. 4 and (b) an example prediction model.

图5B是(a)在流媒体的处理中所观察到的流媒体应用的带宽速率和(b)与所观察到的带宽速率关联的预测模型的示例曲线图。5B is an example graph of (a) observed bandwidth rates of a streaming media application during the processing of streaming media and (b) a prediction model associated with the observed bandwidth rates.

图6是表示可以被执行为实施预测流媒体的结束的、图3的示例预测器的示例机器可读指令的流程图。6 is a flow diagram representative of example machine readable instructions that may be executed to implement the example predictor of FIG. 3 for predicting the end of streaming media.

图7是表示可以被执行为实施生成用于预测模型生成的参数的、图3的示例预测器的示例机器可读指令的流程图。7 is a flow diagram representative of example machine readable instructions that may be executed to implement the example predictor of FIG. 3 for generating parameters for predictive model generation.

图8是表示可以被执行为实施生成预测模型并预报流媒体的预测结束时间的、图3的示例预测器的示例机器可读指令的流程图。8 is a flow diagram representative of example machine readable instructions that may be executed to implement the example predictor of FIG. 3 for generating a prediction model and forecasting a predicted end time for streaming media.

图9是可以执行实施图1和/或图3的示例预测器的、由图6、图7和/或图8表示的机器可读指令中的任一个的示例处理器系统的框图。9 is a block diagram of an example processor system that may execute any of the machine-readable instructions represented by FIG. 6 , FIG. 7 , and/or FIG. 8 that implement the example predictor of FIG. 1 and/or FIG. 3 .

具体实施方式DETAILED DESCRIPTION

当媒体装置流送来自流媒体分发方的媒体时,可以从流媒体装置与流媒体分发方之间的通信来获得数据。这种数据可以通过分析流量模式、分析通信包、网络分接等来获得。关于流媒体和/或流环境的示例数据(或元数据)包括媒体文件格式、流媒体装置的可用缓冲器空间、流媒体装置的带宽使用等。该描述数据可以用于补充由AME获得的传统数据(例如,与传统媒体(例如,收音机和/或电视)广播关联的观众组成和/或媒体识别)以创建更鲁棒的数据集,并且允许应用更细粒度统计法。When a media device streams media from a streaming media distributor, data can be obtained from the communication between the streaming media device and the streaming media distributor. This data can be obtained by analyzing traffic patterns, analyzing communication packets, network taps, etc. Example data (or metadata) about the streaming media and/or streaming environment include media file formats, available buffer space of the streaming media device, bandwidth usage of the streaming media device, etc. This descriptive data can be used to supplement traditional data obtained by AME (e.g., audience composition and/or media identification associated with traditional media (e.g., radio and/or television) broadcasts) to create a more robust data set and allow the application of more fine-grained statistical methods.

在对流媒体分发方和/或流媒体应用的访问不可用于直接获得关于结束的信息的情况下,预测流媒体的结束是重要的。例如,预测流媒体时间的结束可以允许针对媒体信用评级的更精确流广告提取。在一些情况下,预测流媒体的结束可以允许目标调查输送。即,预测流媒体的结束允许在用户在媒体呈现已经结束时从媒体呈现装置转移开注意力之前在接近流媒体结束时(例如,在结束前不久)输送调查。Predicting the end of streaming is important in situations where access to the streaming distributor and/or streaming application is not available to directly obtain information about the end. For example, predicting the end of a streaming session can allow for more accurate streaming ad extraction for media credit ratings. In some cases, predicting the end of streaming can allow for targeted survey delivery. That is, predicting the end of streaming allows for the delivery of a survey near the end of streaming (e.g., shortly before the end) before the user shifts their attention away from the media presentation device at the end of the media presentation.

在一些情况下,在媒体监测时,流媒体呈现的持续时间从流媒体的持续时间延长或缩短。例如,通过(例如经由进度条操纵)倒回、跳跃或快进(例如,追踪模式操作)流媒体,呈现的持续时间可以大大长于或短于流媒体的持续时间(例如,在流媒体在没有任何追踪模式操作的情况下应用时)。通过外推或推断流媒体的结束(并在呈现期间更新分析),可以获得更细小详细和/或更准确的持续时间。另外或另选地,可以向流送媒体的用户提供目标媒体。代替在用户装置处等待流媒体结束的信号,可以有利的预测流媒体何时将结束。通过预测结束时间,可以产生到目标媒体的更无缝过渡。In some cases, the duration of the streaming presentation is extended or shortened from the duration of the streaming during media monitoring. For example, by rewinding, jumping, or fast-forwarding (e.g., tracking mode operation) the streaming (e.g., via progress bar manipulation), the duration of the presentation can be significantly longer or shorter than the duration of the streaming (e.g., when the streaming is applied without any tracking mode operation). By extrapolating or inferring the end of the streaming (and updating the analysis during the presentation), a more detailed and/or accurate duration can be obtained. Additionally or alternatively, target media can be provided to the user of the streaming media. Instead of waiting for a signal at the user device that the streaming media has ended, it is advantageous to predict when the streaming media will end. By predicting the end time, a more seamless transition to the target media can be generated.

这里所公开的示例使用预测模型来预测流媒体呈现的结束,该预测模型基于与媒体的流送关联的缓冲器填充的时段期间带宽的特性。这里所公开的示例使用带宽的特性来提取用于预测模型中的参数。示例预测模型用于预测将到达流媒体文件的结束的时间。The examples disclosed herein use a prediction model to predict the end of a streaming media presentation, the prediction model being based on characteristics of bandwidth during periods of buffer fill associated with the streaming of the media. The examples disclosed herein use the characteristics of bandwidth to extract parameters for use in the prediction model. The example prediction model is used to predict when the end of a streaming media file will be reached.

这里所公开的示例可应用于任意流媒体协议(例如,通过HTTP的动态自适应流送(DASH)、自适应码率流送、HTTP现场直播流送(HLS)、实时流送协议(RTSP)、实时协议(RTP)、实时控制协议(RTCP)和/或任意合适组合或将来协议)。The examples disclosed herein may be applied to any streaming media protocol (e.g., Dynamic Adaptive Streaming over HTTP (DASH), adaptive bitrate streaming, HTTP Live Streaming (HLS), Real-Time Streaming Protocol (RTSP), Real-Time Protocol (RTP), Real-Time Control Protocol (RTCP), and/or any suitable combination or future protocols).

图1是这里所公开的示例方法设备和/或制品可以用于预测流媒体的结束时间的示例环境的框图。在图1的示例环境中,从流媒体分发方120向示例用户装置101a-101c流送媒体。示例环境包括示例用户装置101a-101c、示例代理服务器105、示例网络115以及示例流媒体分发方120。在图1的示例中,诸如尼尔森(Nielsen)(美国)有限责任公司的观众测量实体125包括用于预测流媒体的结束的示例预测器130。FIG1 is a block diagram of an example environment in which example methods, apparatus, and/or articles of manufacture disclosed herein can be used to predict the end time of streaming media. In the example environment of FIG1 , media is streamed from a streaming media distributor 120 to example user devices 101a-101c. The example environment includes example user devices 101a-101c, an example proxy server 105, an example network 115, and an example streaming media distributor 120. In the example of FIG1 , an audience measurement entity 125, such as Nielsen (USA) LLC, includes an example predictor 130 for predicting the end of streaming media.

在所例示的示例中,示例用户装置101a-101c中的一个(例如,示例用户装置101a)启动流媒体应用对流体流送。对媒体流送的请求由示例用户装置101a发送到示例流媒体分发方120。请求借助示例代理服务器105和示例网络115来路由。示例流媒体分发方120应答请求,并且开始使用加密流借助示例代理服务器105向示例用户装置101a流送媒体。加密流防止代理服务器105访问关于追踪模式操作的信息和/或与流媒体关联的时间戳信息。当向示例用户装置101a流送媒体时,示例代理服务器105提取与流媒体关联的可用数据和/或元数据(例如,带宽速率、源端口和目的地端口、互连网协议地址等),并且向示例观众测量实体125处的预测器130发送所提取的数据和/或元数据。示例预测器130使用所发送的数据(例如,带宽速率)来预测媒体何时将停止(或已经停止)在用户装置101a上呈现。例如,预测器130预测结束时间,在这种时间期间,媒体的流送不可直接进入示例代理服务器105、观众测量实体125,也不可直接接入示例预测器130。In the illustrated example, one of the example user devices 101a-101c (e.g., example user device 101a) initiates a streaming application to stream the media. A request for media streaming is sent by the example user device 101a to the example streaming distributor 120. The request is routed via the example proxy server 105 and the example network 115. The example streaming distributor 120 responds to the request and begins streaming the media to the example user device 101a via the example proxy server 105 using an encrypted stream. The encrypted stream prevents the proxy server 105 from accessing information about tracking mode operation and/or timestamp information associated with the streaming media. While streaming the media to the example user device 101a, the example proxy server 105 extracts available data and/or metadata associated with the streaming media (e.g., bandwidth rate, source and destination ports, Internet Protocol addresses, etc.) and sends the extracted data and/or metadata to the predictor 130 at the example audience measurement entity 125. The example predictor 130 uses the transmitted data (e.g., bandwidth rate) to predict when the media will stop (or has stopped) being presented on the user device 101 a. For example, the predictor 130 predicts an end time during which the streaming of the media is not directly accessible to the example proxy server 105, the audience measurement entity 125, or the example predictor 130.

所例示示例的示例用户装置101a-101c可以由支持流应用和/或流媒体的任意装置(例如,智能电视、平板电脑、游戏控制器、移动电话、智能电话、流媒体装置、计算机、膝上型电脑、平板电脑、数字通用光盘(DVD)播放器、RokuTM装置、因特网电视设备(例如,GoogleTM ChiomecastTM、GoogleTMTV、AppleTMTV等)和/或其他电子装置)来实施。示例用户装置101a-101c使用网络115经由代理服务器105与示例流媒体分发方120通信。The example user devices 101a-101c of the illustrated example can be implemented by any device that supports streaming applications and/or streaming media (e.g., smart TVs, tablets, game consoles, mobile phones, smartphones, streaming devices, computers, laptops, tablets, digital versatile disc (DVD) players, Roku devices, Internet television devices (e.g., Google Chiomecast , Google TV, Apple TV, etc.), and/or other electronic devices). The example user devices 101a-101c communicate with the example streaming media distributor 120 via the proxy server 105 using the network 115.

示例网络115可以为由有线和/或无线连接(例如,电缆/DSL/卫星调制解调器、蜂窝塔等)促进的任意类型的通信网络(例如,因特网、局域网、广域网、蜂窝数据网等)。示例网络可以为局域网、广域网或网络的任意组合。Example network 115 can be any type of communication network (e.g., the Internet, a local area network, a wide area network, a cellular data network, etc.) facilitated by wired and/or wireless connections (e.g., cable/DSL/satellite modems, cellular towers, etc.). Example networks can be local area networks, wide area networks, or any combination of networks.

所例示示例的示例代理服务器105是充当通信中介的、位于被监测家庭中的网络装置(例如,包括流媒体的流媒体请求和响应),该通信涉及示例用户装置101a-101c中的一个或更多个和/或连接到示例网络115的一个或更多个其他部件。另选地,示例代理服务器105可以位于与被监测家庭分开的位置。例如,示例代理服务器105可以为路由器、网关、服务器和/或能够充当网络流量中介的任意装置。例如,宽带调制解调器和/或路由器可以实施代理服务器105。根据所例示的示例,代理服务器105是用于示例用户装置101a-101c与示例流媒体分发方120之间的通信的中介。The example proxy server 105 of the illustrated example is a network device located in a monitored home that acts as an intermediary for communications (e.g., including streaming requests and responses for streaming media) involving one or more of the example user devices 101a-101c and/or one or more other components connected to the example network 115. Alternatively, the example proxy server 105 can be located at a location separate from the monitored home. For example, the example proxy server 105 can be a router, gateway, server, and/or any device capable of acting as an intermediary for network traffic. For example, a broadband modem and/or a router can implement the proxy server 105. According to the illustrated example, the proxy server 105 acts as an intermediary for communications between the example user devices 101a-101c and the example streaming media distributor 120.

例如,当示例用户装置101a向流媒体分发方120发送对媒体的请求时,该请求被首先路由到示例代理服务器105。示例代理服务器105然后向示例流媒体分发方120发送请求(例如,该请求可以在被修改为指示对请求的响应应被路由到代理服务器105之后发送)。当示例流媒体分发方120响应该请求时,向示例代理服务器105路由响应,示例代理服务器105向示例用户装置101a重新发送请求。For example, when the example user device 101a sends a request for media to the streaming media distributor 120, the request is first routed to the example proxy server 105. The example proxy server 105 then sends the request to the example streaming media distributor 120 (e.g., the request may be sent after being modified to indicate that a response to the request should be routed to the proxy server 105). When the example streaming media distributor 120 responds to the request, the response is routed to the example proxy server 105, which resends the request to the example user device 101a.

随着在与示例用户装置101a-101c关联的通信中涉及了示例代理服务器105,所以示例代理服务器105能够收集关于那些通信的信息。虽然示例代理服务器105被称为“代理”装置,但代理服务器105可以不执行通常与代理关联的功能(例如,执行包翻译)。相反,这里的示例中所述的代理服务器105的功能可以由收集关于示例用户装置101a-101c与示例流媒体供应商120之间的通信的信息的任意类型装置来执行(例如,示例代理服务器105可以不参与通信链,相反可以使用例如包监测、包窥探或任意其他技术从边线监测通信)。As the example proxy server 105 is involved in communications associated with the example user devices 101a-101c, the example proxy server 105 is able to collect information about those communications. Although the example proxy server 105 is referred to as a "proxy" device, the proxy server 105 may not perform functions typically associated with a proxy (e.g., perform packet translation). Instead, the functions of the proxy server 105 described in the examples herein may be performed by any type of device that collects information about communications between the example user devices 101a-101c and the example streaming provider 120 (e.g., the example proxy server 105 may not participate in the communication chain, but may instead monitor communications from the sidelines using, for example, packet monitoring, packet snooping, or any other technology).

在所例示的示例中,代理服务器105向观众测量实体125发送所收集的信息。示例代理服务器105收集、计算和/或关联用于流媒体应用的带宽信息。在一些示例中,示例代理服务器105识别并收集发源于流媒体分发方120且被输送到用户装置101a-101c的数据。例如,示例代理服务器105可以基于一个或更多个特性来收集并关联流量,该特性诸如简单网络管理协议(SNMP)、互联网协议(IP)地址、因特网协议族的子协议(例如,实时流协议)(RTSP)、端口信息、服务目的地、用户代理等。上述特性中的一个或更多个可以指示具体流媒体分发方120(例如,源IP地址)。示例代理服务器105还确定数据通过代理服务器105的速率(例如,带宽速率)和/或数据从流媒体分发方120流送到用户装置101a-101c的速率。组合关联流量和流量通过装置的速率(例如,数据速率、带宽速率等)允许应用专用带宽速率监测。代理服务器105收集并向示例预测器130发送流媒体应用的带宽速率和应用身份证明。这样,既不需要从呈现流媒体的媒体装置发送数据(例如,带宽速率),也不需要从向媒体装置发送流媒体的流媒体分发方发送数据。另外或另选地,示例代理服务器105监测到示例预测器130的流量以收集、计算和/或关联。In the illustrated example, the proxy server 105 sends the collected information to the audience measurement entity 125. The example proxy server 105 collects, calculates, and/or correlates bandwidth information for streaming applications. In some examples, the example proxy server 105 identifies and collects data originating from the streaming distributor 120 and delivered to the user devices 101a-101c. For example, the example proxy server 105 may collect and correlate traffic based on one or more characteristics, such as Simple Network Management Protocol (SNMP), Internet Protocol (IP) address, a subprotocol of the Internet Protocol suite (e.g., Real Time Streaming Protocol (RTSP), port information, service destination, user agent, etc. One or more of the above characteristics may indicate a specific streaming distributor 120 (e.g., source IP address). The example proxy server 105 also determines the rate at which data passes through the proxy server 105 (e.g., bandwidth rate) and/or the rate at which data is streamed from the streaming distributor 120 to the user devices 101a-101c. Combining the correlation of traffic volume and the rate at which traffic is passing through the device (e.g., data rate, bandwidth rate, etc.) allows application-specific bandwidth rate monitoring. The proxy server 105 collects and sends the bandwidth rate and application identity of the streaming media application to the example predictor 130. In this way, neither data (e.g., bandwidth rate) needs to be sent from the media device rendering the streaming media nor data needs to be sent from the streaming media distributor sending the streaming media to the media device. Additionally or alternatively, the example proxy server 105 monitors the traffic volume to the example predictor 130 to collect, calculate, and/or correlate.

除了图1中所例示的网络拓扑之外的其他网络拓扑可以与这里所公开的示例方法和设备一起使用。例如,代理服务器105在其他装置或部件可以提供关于通信的信息(例如,带宽速率可以由用户装置101a-101c来报告)时可以不被包括在系统100中。另外或另选地,通信可以借助示例观众测量实体125来路由和/或被监测到示例观众测量实体125。在一些这种示例中,观众测量实体125在具有或没有来自诸如代理服务器105的其他装置的信息的情况下监测并收集关于通信的信息。Other network topologies besides the one illustrated in FIG1 can be used with the example methods and apparatus disclosed herein. For example, the proxy server 105 can be excluded from the system 100 when other devices or components can provide information about the communications (e.g., bandwidth rates can be reported by the user devices 101a-101c). Additionally or alternatively, communications can be routed and/or monitored to the example audience measurement entity 125. In some such examples, the audience measurement entity 125 monitors and collects information about the communications with or without information from other devices, such as the proxy server 105.

所例示示例的观众测量实体125包括示例预测器130。在该示例中,示例预测器130在示例用户装置101a-101c流送来自示例流媒体分发方120的媒体的同时从代理服务器105获得带宽速率。然而,如上面说明的,数据速率(例如,带宽速率)可以另选地由其他装置来提供。在一些示例中,控制信息、文本覆盖等嵌在流内。由此,期望创建将流媒体的传输与流中所承载的其他数据的传输区分的阈值带宽速率。连同图3描述这种阈值的示例选择。在图1的所例示示例中,示例预测器130分析由示例代理服务器105转发的带宽速率,并且在带宽超过阈值时确定流媒体的流结束时间。The audience measurement entity 125 of the illustrated example includes an example predictor 130. In this example, the example predictor 130 obtains bandwidth rates from the proxy server 105 while the example user devices 101a-101c stream media from the example streaming distributor 120. However, as explained above, data rates (e.g., bandwidth rates) may alternatively be provided by other means. In some examples, control information, text overlays, etc. are embedded within the stream. Thus, it is desirable to create a threshold bandwidth rate that distinguishes the transmission of streaming media from the transmission of other data carried in the stream. An example selection of such a threshold is described in conjunction with FIG3 . In the illustrated example of FIG1 , the example predictor 130 analyzes the bandwidth rate forwarded by the example proxy server 105 and determines the stream end time of the streaming media when the bandwidth exceeds the threshold.

在所例示的示例中,用户装置101a-101c中的一个或更多个与同意受观众测量实体125监测的小组成员关联。小组成员是在由拥有和/或操作等级评定实体子系统的等级评定实体(例如,观众测量实体125)维系的小组上注册的用户。传统上,观众测量实体(这里还被称为“等级评定实体”)基于所注册的小组成员来确定用于广告和媒体播出的人口统计范围。即,观众测量实体125将赞成被监测的人们招收到小组中。在招收期间,观众测量实体从招收人员接收人口统计信息,使得可以在到那些小组成员的广告/媒体暴露与不同的人口统计市场之间进行随后关联。In the illustrated example, one or more of the user devices 101a-101c are associated with a panelist who has consented to be monitored by the audience measurement entity 125. A panelist is a user registered on a panel maintained by a rating entity (e.g., the audience measurement entity 125) that owns and/or operates the rating entity subsystem. Traditionally, an audience measurement entity (also referred to herein as a "rating entity") determines demographic coverage for advertising and media broadcasts based on the registered panelists. That is, the audience measurement entity 125 recruits people who consent to being monitored into the panel. During recruitment, the audience measurement entity receives demographic information from the recruiting personnel so that subsequent correlation can be made between advertising/media exposure to those panelists and different demographic markets.

人们经由例如被呈现在用户装置101a-101c上的用户接口(例如,经由网站)成为小组成员。人们以另外或另选的方式(诸如,例如,经由电话访问,通过完成在线调查等)来成为小组成员。另外地或另选地,人们可以使用任意期望的方法论(例如,随机选择、静态选择、电话征集、因特网广告、调查、大商场中的广告、产品包装等)来联系和/或征募。People become panel members via, for example, a user interface presented on user devices 101a-101c (e.g., via a website). People may become panel members in additional or alternative ways (such as, for example, via a telephone interview, by completing an online survey, etc.). Additionally or alternatively, people may be contacted and/or recruited using any desired methodology (e.g., random selection, static selection, telephone solicitation, Internet advertising, surveys, advertising in a mall, product packaging, etc.).

在所例示示例的小组成员系统中,同意在用户参加和/或注册小组时/或从用户获得,以监测并分析网络数据。例如,小组成员可以同意使他们的网络流量受代理服务器105监测。虽然图1的示例系统是基于小组成员的系统,但可以另选地采用非小组成员和/或混合小组成员系统。In the illustrated example group member system, consent is obtained from the user when the user joins and/or registers for the group to monitor and analyze network data. For example, group members may consent to have their network traffic monitored by proxy server 105. While the example system of FIG. 1 is a group member-based system, non-group member and/or mixed group member systems may alternatively be employed.

图2例示了在示例用户装置101a-101c中的一个上执行的示例流媒体应用201。该示例的示例流媒体应用201在对应的示例装置101a-101c上呈现从流媒体分发方120获得的媒体。流媒体应用201的图形用户接口呈现与流媒体的呈现相关的数据。在图2的示例流媒体应用201中,逝去时间指示器202显示媒体呈现区段的长度和媒体的总长度。文件ID指示器203示出了被呈现的流媒体的文件名。FIG2 illustrates an example streaming application 201 executing on one of the example user devices 101a-101c. The example streaming application 201 of this example presents media obtained from a streaming media distributor 120 on the corresponding example device 101a-101c. The graphical user interface of the streaming application 201 presents data related to the presentation of the streaming media. In the example streaming application 201 of FIG2 , an elapsed time indicator 202 displays the length of the media presentation segment and the total length of the media. A file ID indicator 203 displays the file name of the streaming media being presented.

在一些示例中,文件ID指示器203在可用时(例如,如果在未加密流中发送流媒体)由示例预测器130分析,以确定文件格式。示例预测器130可以访问未加密流媒体包(或解密处理可用的加密包)的内容。示例数据包可以包括指示什么视频和/或音频被流送到流媒体应用201的报头或前导数据。示例带宽指示字段204显示流媒体应用201的当前带宽使用速率。示例时间剩余指示器206如由用户装置(例如,101a)指示的、显示预测的媒体结束时间。示例进度条208基于示例逝去时间指示器202和示例时间剩余指示器206的值来显示时间剩余的图形表示。In some examples, the file ID indicator 203, when available (e.g., if the streaming media is being sent in an unencrypted stream), is analyzed by the example predictor 130 to determine the file format. The example predictor 130 can access the contents of the unencrypted streaming media packets (or encrypted packets where decryption is available). The example data packets can include headers or leading data indicating what video and/or audio is being streamed to the streaming application 201. The example bandwidth indication field 204 displays the current bandwidth usage rate of the streaming application 201. The example time remaining indicator 206 displays the predicted end time of the media, as indicated by the user device (e.g., 101a). The example progress bar 208 displays a graphical representation of the time remaining based on the values of the example elapsed time indicator 202 and the example time remaining indicator 206.

在一些示例中,流媒体应用201所显示的数据(例如,编解码类型、文件名和/或所逝去的时间)可能难达到示例预测器130。然而,示例预测器130可以通过监测用户装置101a-101c与流媒体分发方120之间的流量来测量带宽速率的值。In some examples, the data displayed by the streaming application 201 (e.g., codec type, file name, and/or elapsed time) may be difficult to reach the example predictor 130. However, the example predictor 130 can measure the value of the bandwidth rate by monitoring the traffic between the user devices 101a-101c and the streaming distributor 120.

图3是图1的示例预测器130的示例实现方式的框图。图3的示例预测器130设置有示例带宽记录器304、示例识别器306、示例阈值生成器308、示例参数生成器310、示例建模器312、示例预报器314以及示例流结束处理器316。FIG3 is a block diagram of an example implementation of the example predictor 130 of FIG1. The example predictor 130 of FIG3 is provided with an example bandwidth recorder 304, an example identifier 306, an example threshold generator 308, an example parameter generator 310, an example modeler 312, an example forecaster 314, and an example end-of-flow processor 316.

图3的示例带宽记录器304观察并记录由图1的示例代理服务器105转发的带宽速率。在示例图3中,带宽记录器304与示例识别器306与示例阈值生成器308通信。由示例代理服务器105转发的带宽速率是在流媒体应用201流送媒体时与流媒体应用201关联的带宽速率。The example bandwidth recorder 304 of Figure 3 observes and records bandwidth rates forwarded by the example proxy server 105 of Figure 1. In example Figure 3, the bandwidth recorder 304 communicates with the example identifier 306 and the example threshold generator 308. The bandwidth rates forwarded by the example proxy server 105 are the bandwidth rates associated with the streaming media application 201 when the streaming media application 201 streams media.

示例识别器306确定在流媒体应用201中流送的媒体的格式。在图3所例示示例中,当流媒体应用201开始流送媒体时,示例识别器306分析由代理服务器105输送到示例带宽记录器304的数据,以确定流媒体的音频和/或视频编解码。在一些示例中,示例识别器306在流送之前知道由流媒体应用201使用的媒体的文件格式(因为这种文件格式可以是专属的)(例如,文件格式由示例代理服务器105通知示例识别器306)。由示例识别器306确定的媒体格式被发送到示例带宽记录器304。在媒体格式不由示例识别器306确定的一些示例中,通知示例带宽记录器304未确定媒体格式。The example identifier 306 determines the format of the media streamed in the streaming application 201. In the example illustrated in Figure 3, when the streaming application 201 begins streaming media, the example identifier 306 analyzes the data transmitted by the proxy server 105 to the example bandwidth recorder 304 to determine the audio and/or video codec of the streaming media. In some examples, the example identifier 306 knows the file format of the media used by the streaming application 201 before streaming (because such file format can be proprietary) (for example, the file format is notified to the example identifier 306 by the example proxy server 105). The media format determined by the example identifier 306 is sent to the example bandwidth recorder 304. In some examples where the media format is not determined by the example identifier 306, the example bandwidth recorder 304 is notified that the media format has not been determined.

所例示示例中的示例阈值生成器308从示例识别器306获得流媒体的媒体格式。当获得媒体格式时,示例阈值生成器308参照查找表来确定带宽速率的阈值,该阈值指示(1)带宽速率应开始(例如,在带宽超过阈值时)或停止(例如,在阈值低于阈值时)存储在计量数据集中和(2)应关于流结束时间进行预测。例如,当带宽速率在所设阈值以上时,带宽速率被记录到计量数据集,并且预测器130准备好生成预测。当带宽速率在阈值以下时,带宽速率不记录到计量数据集,并且预测器130应生成关于完整计量数据集的预测。In the illustrated example, the example threshold generator 308 obtains the media format of the streaming media from the example identifier 306. Upon obtaining the media format, the example threshold generator 308 references a lookup table to determine a threshold value for the bandwidth rate, which indicates (1) that the bandwidth rate should begin (e.g., when the bandwidth exceeds a threshold) or stop (e.g., when the bandwidth is below a threshold) being stored in the metering data set and (2) that a prediction should be made regarding the end time of the stream. For example, when the bandwidth rate is above the set threshold, the bandwidth rate is recorded in the metering data set, and the predictor 130 is ready to generate a prediction. When the bandwidth rate is below the threshold, the bandwidth rate is not recorded in the metering data set, and the predictor 130 should generate a prediction regarding the complete metering data set.

在媒体格式不由示例识别器306确定的示例中,阈值可以由示例阈值生成器308设定为默认或预定值。在一些示例中,阈值生成器308确定流媒体的格式仅含有流媒体,并且不含有诸如文本覆盖和/或追踪模式命令的任何其他信息。在这种示例中,阈值可以不被设定为记录带宽速率(例如,因为不需要区分流媒体与流中所承载的其他信息,所以可以确定阈值是不必要的或可以以其他方式排除阈值)。所例示示例的阈值生成器308向示例带宽记录器304发送阈值。In examples where the media format is not determined by the example identifier 306, the threshold value can be set to a default or predetermined value by the example threshold value generator 308. In some examples, the threshold value generator 308 determines that the format of the streaming media only contains streaming media and does not contain any other information such as text overlays and/or tracking mode commands. In such examples, the threshold value may not be set to record the bandwidth rate (e.g., because there is no need to distinguish between streaming media and other information carried in the stream, it can be determined that the threshold value is unnecessary or can be otherwise excluded). The threshold value generator 308 of the illustrated example sends the threshold value to the example bandwidth recorder 304.

在图3的所例示示例中,示例带宽记录器304监测和/或记录由示例代理服务器105转发的带宽速率,并且将带宽速率与由示例阈值生成器308确定的阈值进行比较。当示例带宽记录器304确定带宽速率达到或超过阈值时,示例带宽记录器304开始在计量数据集中存储带宽速率及其关联的时间戳。计量数据集用于存储从带宽速率满足或超过阈值的第一时间直到带宽速率在第一时间之后达到或落到阈值以下的第二时间为止的带宽速率的值。当计量数据集完整时,计量数据集值用于生成参数(例如,预测模型参数),该参数用于生成预测模型。示例带宽记录器304监测带宽速率,以确定带宽速率何时落到由示例阈值生成器308设定的阈值以下。当带宽速率在之前已经达到或超过阈值之后降至所设阈值以下时,通知示例建模器312计量数据集(在带宽速率达到或超过阈值的时间与带宽速率达到或落到阈值以下的后来时间之间记录的带宽速率)准备好由示例参数生成器310处理。示例带宽记录器304在数据集完整之后继续监测由代理服务器转发的带宽速率。In the illustrated example of FIG3 , the example bandwidth recorder 304 monitors and/or records bandwidth rates forwarded by the example proxy server 105 and compares the bandwidth rates to thresholds determined by the example threshold generator 308. When the example bandwidth recorder 304 determines that the bandwidth rate has reached or exceeded the threshold, the example bandwidth recorder 304 begins storing the bandwidth rate and its associated timestamp in a metering dataset. The metering dataset stores values of the bandwidth rate from a first time when the bandwidth rate meets or exceeds the threshold until a second time after the first time when the bandwidth rate reaches or falls below the threshold. When the metering dataset is complete, the metering dataset values are used to generate parameters (e.g., prediction model parameters) used to generate the prediction model. The example bandwidth recorder 304 monitors the bandwidth rate to determine when the bandwidth rate falls below a threshold set by the example threshold generator 308. When the bandwidth rate falls below the threshold after previously reaching or exceeding the threshold, the example modeler 312 is notified that the metering dataset (the bandwidth rate recorded between the time when the bandwidth rate reached or exceeded the threshold and the later time when the bandwidth rate reached or fell below the threshold) is ready for processing by the example parameter generator 310. The example bandwidth recorder 304 continues to monitor the bandwidth rate forwarded by the proxy server after the data set is complete.

所例示示例的示例参数生成器310计算和/或识别预测模型,以生成流持续时间预测模型。每次生成预测模型时,示例参数生成器310在流媒体的特性变化的情况下生成新的参数集。例如,如果流媒体使用自适应码率流送来流送,则流媒体的码率可以在流送期间变化。示例参数生成器310访问计量数据集,并且开始确定计量数据集的特性参数的一系列计算。在所例示的示例中,参数生成器310计算计量数据集的均值和标准差。示例参数生成器310还识别预测模型的衰减因子。衰减因子表示预测模型从预测模型的峰值衰减或降低至零值(或基于所用预测模型的负无穷大)的速率。在一些示例中,衰减因子可以基于流媒体的类型(例如,音频和/或视频)来识别。在其他示例中,衰减因子可以根据被流送的媒体的编解码来识别。在一些示例中,衰减因子可以基于流媒体的码率来识别。在另一些其他示例中,衰减因子可以对于所有媒体类型和/或编解码统一。示例参数生成器310存储预测模型参数和与预测模型参数关联的衰减因子。当示例参数生成器310生成用于数据集的参数时,示例参数生成器310通知示例建模器312。The example parameter generator 310 of the illustrated example calculates and/or identifies a prediction model to generate a stream duration prediction model. Each time a prediction model is generated, the example parameter generator 310 generates a new set of parameters if the characteristics of the streaming media change. For example, if the streaming media is streamed using adaptive bitrate streaming, the bitrate of the streaming media may change during the streaming. The example parameter generator 310 accesses a metering dataset and begins a series of calculations to determine characteristic parameters of the metering dataset. In the illustrated example, the parameter generator 310 calculates the mean and standard deviation of the metering dataset. The example parameter generator 310 also identifies a decay factor for the prediction model. The decay factor represents the rate at which the prediction model decays or decreases from a peak value of the prediction model to zero (or negative infinity based on the prediction model used). In some examples, the decay factor can be identified based on the type of streaming media (e.g., audio and/or video). In other examples, the decay factor can be identified based on the codec of the streaming media. In some examples, the decay factor can be identified based on the bitrate of the streaming media. In yet other examples, the attenuation factor can be uniform for all media types and/or codecs. The example parameter generator 310 stores the prediction model parameters and the attenuation factor associated with the prediction model parameters. When the example parameter generator 310 generates parameters for a data set, the example parameter generator 310 notifies the example modeler 312.

图3的示例建模器312基于由示例参数生成器310创建的预测模型参数来生成预测模型。当示例建模器312从示例参数生成器310接收要生成预测模型的通知时,示例建模器312检索与流媒体关联的预测模型参数和衰减因子。示例建模器312使用由示例参数生成器310提供的参数来生成预测模型。在一些示例中,在向示例预报器314释放预测模型之前,可以调节预测模型参数。例如,示例建模器312进行的调节可以将预测模型的数值范围(例如,幅值)和均值(例如,时间位置)与用于生成预测模型的计量数据集的数值范围和均值对齐。当示例预测模型的数值范围和均值与原始数据集的数值范围和均值匹配时,向示例带宽记录器304和示例预报器314转发预测模型。The example modeler 312 of FIG3 generates a prediction model based on the prediction model parameters created by the example parameter generator 310. When the example modeler 312 receives notification from the example parameter generator 310 that a prediction model is to be generated, the example modeler 312 retrieves the prediction model parameters and attenuation factor associated with the streaming media. The example modeler 312 uses the parameters provided by the example parameter generator 310 to generate the prediction model. In some examples, the prediction model parameters can be adjusted before releasing the prediction model to the example forecaster 314. For example, the adjustments made by the example modeler 312 can align the numerical range (e.g., amplitude) and mean (e.g., time position) of the prediction model with the numerical range and mean of the metering data set used to generate the prediction model. When the numerical range and mean of the example prediction model match the numerical range and mean of the original data set, the prediction model is forwarded to the example bandwidth recorder 304 and the example forecaster 314.

示例带宽记录器304在继续监测由示例代理服务器105发送的带宽速率的同时使用预测模型。当已经生成预测模型时,示例带宽记录器304继续如上所述的创建计量数据集,并且也将所观察到的带宽速率与预测模型进行比较。如果带宽速率的值超过预测模型(例如,带宽速率的幅值超过预测模型的幅值),则示例带宽记录器304将信号通知示例参数生成器310应对于新的计量数据集生成新参数,以生成更新后的预测模型。The example bandwidth recorder 304 uses the prediction model while continuing to monitor the bandwidth rate sent by the example proxy server 105. When the prediction model has been generated, the example bandwidth recorder 304 continues to create a metering data set as described above and also compares the observed bandwidth rate with the prediction model. If the value of the bandwidth rate exceeds the prediction model (e.g., the magnitude of the bandwidth rate exceeds the magnitude of the prediction model), the example bandwidth recorder 304 signals the example parameter generator 310 that new parameters should be generated for the new metering data set to generate an updated prediction model.

图3的示例预报器314获得预测模型,并且开始从均值(均值为计量数据集的最大值的时间位置)通过预测模型使用时间增量(例如,一秒的十分之几、百分之几、千分之几)开始迭代。预测模型是时间的函数(如下面将连同图6更详细说明的)。因此,使用时间值,示例预报器314计算均值的时间位置之后的每一个时间单位的值。示例预报器314通过增大时间值继续迭代,直到预测模型产生(或指示)处于由示例阈值生成器308生成的阈值处或该阈值以下的值。处于阈值处或阈值以下的值表示示例预报器314预测流媒体将结束的时间,或更具体地是在经由网络115转移流媒体之后清空用户装置上的缓冲器且完成流媒体的呈现的时间。当达到处于阈值处或阈值以下的值时,示例预报器314确定识别处于阈值处或阈值以下的值的时间是预测的流结束时间,并且向示例流结束处理器316转发流结束时间。在一些示例中,当不使用阈值时,由示例预报器314执行的迭代可以在达到值零(或第一个负值)时停止。The example forecaster 314 of FIG. 3 obtains a prediction model and begins iterating through the prediction model using time increments (e.g., tenths, hundredths, or thousandths of a second) starting from the mean (the mean is the time position of the maximum value of the metered data set). The prediction model is a function of time (as described in more detail below in conjunction with FIG. 6 ). Therefore, using the time value, the example forecaster 314 calculates a value for each time unit after the time position of the mean. The example forecaster 314 continues iterating by increasing the time value until the prediction model produces (or indicates) a value at or below the threshold generated by the example threshold generator 308. The value at or below the threshold indicates the time at which the example forecaster 314 predicts that the streaming media will end, or more specifically, the time at which the buffer on the user device is cleared and the presentation of the streaming media is complete after the streaming media is transferred via the network 115. When a value at or below the threshold is reached, the example forecaster 314 determines that the time at which the value at or below the threshold is identified is the predicted stream end time and forwards the stream end time to the example stream end processor 316. In some examples, when a threshold is not used, iterations performed by the example predictor 314 may stop when a value of zero (or the first negative value) is reached.

示例流结束处理器316存储和/或向处于观众测量实体125处或远离观众测量实体125的数据收集设施发送预报的流结束时间。在一些示例中,流结束处理器316可以响应于流结束时间而执行其他动作。例如,在被指示为流结束时间的时间,流结束处理器316可以向流送媒体的用户装置101a-101c发送调查。在其他示例中,预测的流结束时间可以用于发送提取嵌在流媒体中的广告的命令。The example stream end processor 316 stores and/or transmits the predicted stream end time to a data collection facility located at or remote from the audience measurement entity 125. In some examples, the stream end processor 316 can perform other actions in response to the stream end time. For example, at the time indicated as the stream end time, the stream end processor 316 can transmit a survey to the user devices 101a-101c that streamed the media. In other examples, the predicted stream end time can be used to transmit a command to extract advertisements embedded in the streaming media.

虽然图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的这些元件、处理和/或装置,还包括一个或更多个元件、处理和/或装置,和/或可以包括所例示元件、处理和装置中的任意或全部中的不止一个。Although an example manner of implementing the predictor 130 of FIG1 is illustrated in FIG3, one or more of the elements, processes, and/or devices illustrated in FIG3 may be combined, divided, rearranged, omitted, eliminated, and/or implemented in any other manner. Further, the example bandwidth recorder 304, the example identifier 306, the example threshold generator 308, the example parameter generator 310, the example modeler 312, the example forecaster 314, and the example flow end processor 316, and/or more generally the example predictor 130 of FIG1 may be implemented by hardware, software, firmware, and/or any combination of hardware, software, and/or firmware. Thus, for example, any of the example bandwidth recorder 304, the example identifier 306, the example threshold generator 308, the example parameter generator 310, the example modeler 312, the example predictor 314, and the example flow end processor 316, and/or more generally the example predictor 130, can be implemented by one or more circuits, programmable processors, application specific integrated circuits (ASICs), programmable logic devices (PLDs), and/or field programmable logic devices (FPLDs). When reading any of the apparatus or system claims of this patent covering pure software and/or firmware implementations, at least one of the example bandwidth recorder 304, the example identifier 306, the example threshold generator 308, the example parameter generator 310, the example modeler 312, the example predictor 314, and the example flow end processor 316, and/or the example predictor 130 is expressly defined herein as including a tangible computer-readable storage device or storage disk (such as a memory, DVD, CD, Blu-ray disc, etc.) storing software and/or firmware. Still further, the example predictor 130 of FIG. 1 may include one or more elements, processes, and/or devices in addition to or in place of those illustrated in FIG. 3 , and/or may include more than one of any or all of the illustrated elements, processes, and devices.

图4例示了从用于向用户装置101a-101c中的一个示例用户装置流送示例媒体的、图1的示例代理服务器105转发的示例带宽速率的图形例示400。示例带宽速率表示如代理服务器105处看到的、示例流媒体分发方120与示例用户装置101a-101c中的一个之间的流量的速率。在图4的所例示示例中,媒体流送期间的一个缓冲器填充周期由带宽速率曲线402来表示。例如,缓冲器填充周期是缓冲器以递增速率且然后以递减速率填充有将不间断呈现的所下载媒体的时间段。在关于自适应码率流送的一些示例中,流媒体文件被分为用于下载的较小的包。将较小的包下载到缓冲器在几乎与缓冲器填充和清空循环可以产生带宽的快速上升的同时造成这种快速上升。FIG4 illustrates a graphical illustration 400 of an example bandwidth rate forwarded from the example proxy server 105 of FIG1 for streaming example media to one of the example user devices 101a-101c. The example bandwidth rate represents the rate of traffic between the example streaming media distributor 120 and one of the example user devices 101a-101c, as seen by the proxy server 105. In the illustrated example of FIG4 , a buffer fill period during media streaming is represented by a bandwidth rate curve 402. For example, a buffer fill period is a period of time during which the buffer fills at an increasing rate and then at a decreasing rate with the downloaded media to be presented uninterrupted. In some examples of adaptive bitrate streaming, the streaming media file is divided into smaller packets for download. Downloading smaller packets to the buffer causes this rapid increase in bandwidth at approximately the same time as the buffer fill and empty cycles.

观察到示例带宽速率曲线402随着填充用户装置101a-101c的缓冲器(或下载媒体的一部分)而升高,并且在缓冲器达到容量(或已经转移媒体的一部分)时降低。在缓冲器的特定容量处或在下载特定百分比(例如50%)的包之后,用户装置101a-101c逐渐减小带宽速率或下载数据的速度。逐渐减小发生为使得所下载的数据不由于缓冲器空间的缺乏而丢失。该行为以带宽速率曲线402的形状来表示。随着缓冲器开始填充,带宽速率逐渐增大至峰值,然后开始随着达到特定容量而逐渐减小。该逐渐减小继续,直到下载整个媒体文件为止(假定不中断流送)。Observe that the example bandwidth rate curve 402 increases as the buffers of user devices 101a-101c fill (or a portion of the media is downloaded), and decreases when the buffers reach capacity (or a portion of the media has been transferred). At a certain capacity of the buffers or after downloading a certain percentage (e.g., 50%) of packets, user devices 101a-101c gradually reduce the bandwidth rate, or the speed at which data is downloaded. The gradual reduction occurs so that the downloaded data is not lost due to lack of buffer space. This behavior is represented by the shape of the bandwidth rate curve 402. As the buffers begin to fill, the bandwidth rate gradually increases to a peak value, and then begins to gradually decrease as the certain capacity is reached. This gradual reduction continues until the entire media file is downloaded (assuming no interruptions to the streaming).

在所例示的示例中,带宽记录器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处的缓冲器的读出继续其后一段时间。In the illustrated example, bandwidth recorder 304 monitors the bandwidth forwarded by example proxy server 105. Example identifier 306 determines that the streaming media is in a flash video format, for example, and notifies example threshold generator 308 of the video format. Example threshold generator 308 sets threshold 404 and notifies example bandwidth recorder 304 of the threshold. When the bandwidth rate is observed to be at threshold 404 at time 405, example bandwidth recorder 304 begins storing the bandwidth rate in the metered data set. When the bandwidth rate is observed to be at threshold 404 at time 408 after previously exceeding the threshold at time 405, bandwidth recorder 304 stops adding values to the metered data set. Thus, the values of the bandwidth curve between time 405 and time 408 comprise metered data set 402 (also referred to herein as bandwidth rate curve 402). Although in some examples example predictor 130 does not know the time at which the media stops streaming at user devices 101a-101c (e.g., however, the end time can be predicted by predictor 130), the media is illustrated as ending presentation at time 410. Although streaming has stopped, reading from the buffers at the user devices 101a-101c continues for a period of time thereafter.

图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发送预测模型。FIG5A illustrates the example curve 402 of FIG4 on a timeline with an example predictive model curve 502 generated by the example predictor 130 based on predictive model parameters generated from the metering dataset 402. At time 408 when the example metering dataset 402 falls below the example threshold 404, the example bandwidth recorder 304 notifies the example parameter generator 310 that the metering dataset 402 is complete. In the illustrated example of FIG5, the example parameter generator 310 calculates the mean 508, amplitude 514, and standard deviation 516 of the metering dataset 402. In addition, the parameter generator 310 determines an attenuation factor associated with the identified media type (e.g., flash video). The example parameter generator 310 makes the predictive model parameters (mean, amplitude, standard deviation, and attenuation factor) available to the example modeler 312. The example modeler 312 then generates the predictive model curve 502 using a model based on the predictive model parameters generated by the example parameter generator 310. In the illustrated example, the prediction model 502 is generated using an exponentially modified Gaussian (EMG) distribution function. Alternatively, other suitable prediction models may be used, as described in further detail below. The example modeler 312 sends the prediction model to the example bandwidth recorder 304 and the example forecaster 314.

示例预报器314然后迭代示例预测模型502中的时间值,直到示例预测模型502的时间依赖解(或值)512处于阈值404处或阈值404以下为止。阈值404在所例示示例中用于由于所用的预测模型(以指数形式修改的高斯(EMG))的特性而确定流结束时间。EMG函数不转到零,直达它达到无穷大为止,由此,阈值可以用于指示带宽速率,低于该带宽速率,确定流送实质上已经停止。在一些示例中,可以使用第二阈值,该第二阈值实质上位于比用于创建计量数据集的阈值404更接近零。无论如何,被确定为处于阈值处或阈值以下的值512的时间位置被报告为预测的流送结束时间。该方法已经被经验地发现为预测实质上接近在用户装置101a-101c中的一个处观察到的实际流结束时间410的流结束时间。流结束时间表示整个媒体流已经被播放到缓冲器范围外的时间。The example predictor 314 then iterates the time values in the example prediction model 502 until the time-dependent solution (or value) 512 of the example prediction model 502 is at or below the threshold 404. In the illustrated example, the threshold 404 is used to determine the stream end time due to the characteristics of the prediction model used (exponentially modified Gaussian (EMG)). The EMG function does not go to zero until it reaches infinity, so the threshold can be used to indicate the bandwidth rate below which streaming is determined to have substantially ceased. In some examples, a second threshold can be used that is substantially closer to zero than the threshold 404 used to create the metering dataset. Regardless, the time position of the value 512 determined to be at or below the threshold is reported as the predicted stream end time. This method has been empirically found to predict a stream end time that is substantially close to the actual stream end time 410 observed at one of the user devices 101a-101c. The stream end time represents the time at which the entire media stream has been played out of the buffer.

图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,所以在该情况下不采取行动。通过继续监测带宽速率并将它们与所生成的预测模型比较以触发预测模型的再生成,可以预测更准确的流结束时间。FIG5B is an example graph illustrating observed bandwidth for streaming media and an associated predictive model curve. The illustrated example of FIG5B includes the example metering dataset 402 and the example predictive model curve 502 of FIG5A. However, in the example of FIG5B, after the bandwidth rate falls below the threshold 404, the media continues to stream, and the bandwidth recorder 304 determines that the bandwidth rate is at or above the threshold 404 at a second time 520. In response to the bandwidth rate exceeding the threshold 404 at time 520, the example bandwidth recorder 304 creates a second metering dataset 524. While recording the second metering dataset 524, the example bandwidth recorder 304 compares the recorded bandwidth rate with the previously generated predictive model curve 502. The example bandwidth recorder 304 determines that at time 526, the second metering dataset 524 has reached or exceeded the previous predictive model curve 502. If the bandwidth rate (e.g., the bandwidth rate of the second metering dataset 524) is greater than the bandwidth rate of the previous predictive model (e.g., the predictive model curve 502) when compared, a new predictive model is generated. The example bandwidth recorder 304 notifies the example forecaster 314 to disregard the example prediction model curve 502. The example parameter generator 310 generates new prediction model parameters upon observing that the second metering data set is at or below the threshold 404 at a second time (e.g., at time 527). The example modeler 312 generates a second prediction model 528, and the example forecaster 314 determines a new predicted flow end time 530 that is substantially close to the example flow end time 560 observed at the corresponding user devices 101a-101c. The example bandwidth recorder 304 continues to monitor the bandwidth rate as the data rate rises for a third time 570. However, because the third rapid rise in bandwidth rate 570 does not reach or exceed the threshold 404, no action is taken in this case. By continuing to monitor bandwidth rates and comparing them to the generated prediction model to trigger regeneration of the prediction model, a more accurate flow end time can be predicted.

图6中示出了表示用于实施图3的预测器130的示例机器可读指令的流程图。在该示例中,机器可读指令包括用于由处理器执行的程序,该处理器诸如在下面关于图6讨论的示例处理器平台900中示出的处理器912。程序可以以有形计算机可读存储介质(诸如CR-ROM、软盘、硬盘驱动器、数字通用光盘(DVD)、蓝光光盘)或与处理器912关联的存储器上所存储的软件来具体实施,但整个程序和/或程序的部分可以另选地由除了处理器912之外的装置来执行,和/或以固件或专用硬件来具体实施。进一步地,虽然参照图6中例示的流程图描述了示例程序,但可以另选地使用实施示例预测器130的许多其他方法。例如,可以改变块的执行顺序,和/或可以改变、消除或组合所述块中的一些。FIG6 shows a flowchart representing example machine-readable instructions for implementing the predictor 130 of FIG3 . In this example, the machine-readable instructions comprise a program for execution by a processor, such as the processor 912 shown in the example processor platform 900 discussed below with respect to FIG6 . The program can be embodied as software stored on a tangible computer-readable storage medium (such as a CR-ROM, floppy disk, hard drive, digital versatile disk (DVD), Blu-ray disk), or memory associated with the processor 912 , but the entire program and/or portions of the program can alternatively be executed by a device other than the processor 912 and/or embodied in firmware or dedicated hardware. Furthermore, while the example program is described with reference to the flowchart illustrated in FIG6 , many other methods of implementing the example predictor 130 can alternatively be used. For example, the order of execution of the blocks can be changed, and/or some of the blocks can be changed, eliminated, or combined.

如上所述,图6、图7以及图8的示例处理可以使用有形计算机可读存储介质(诸如硬盘驱动器、闪速存储器、只读存储器(ROM)、光盘(CD)、数字通用光盘(DVD)、缓存、随机存取存储器(RAM)和/或内部存储信息任意持续时间(例如,延长的时间段、永久地、简短情况、临时缓冲和/或信息缓存)的任意其他存储装置或存储盘)上所存储的经编码指令(例如,计算机和/或机器可读指令)来实施。如这里所用的,术语有形计算机可读存储介质被清晰地定义为包括任意类型的计算机可读存储装置和/或存储盘,并且被定义为排除传播信号。如这里所用的,“有形计算机可读存储介质”和“有形机器可读存储基质”可互换地使用。另外或另选地,图6、图7以及图8的示例处理可以使用永久计算机和/或机器可读介质(诸如硬盘驱动器、闪速存储器、只读存储器、光盘、数字通用光盘、缓存、随机存取存储器和/或内部存储信息任意持续时间(例如,延长的时间段、永久地、简短情况、临时缓冲和/或信息缓存)的任意其他存储装置或存储盘)上所存储的经编码指令(例如,计算机和/或机器可读指令)来实施。如这里所用的,术语永久计算机可读介质被清晰地定义为包括任意类型的计算机可读装置和/或盘,并且被定义为排除传播信号。如这里所用的,当段元“至少”在权利要求的序文中用作过渡术语时,与术语“包括”是开放式的方式相同,该短语是开放式的。As described above, the example processes of Figures 6, 7, and 8 can be implemented using encoded instructions (e.g., computer and/or machine-readable instructions) stored on a tangible computer-readable storage medium (such as a hard drive, flash memory, read-only memory (ROM), compact disc (CD), digital versatile disc (DVD), cache, random access memory (RAM), and/or any other storage device or storage disk that internally stores information for any duration (e.g., for an extended period of time, permanently, briefly, temporarily buffered, and/or cached). As used herein, the term tangible computer-readable storage medium is expressly defined to include any type of computer-readable storage device and/or storage disk, and is defined to exclude propagating signals. As used herein, "tangible computer-readable storage medium" and "tangible machine-readable storage substrate" are used interchangeably. Additionally or alternatively, the example processes of Figures 6, 7, and 8 may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a non-transitory computer and/or machine readable medium, such as a hard drive, flash memory, read-only memory, compact disc, digital versatile disc, cache, random access memory, and/or any other storage device or storage disk that stores information internally for any duration (e.g., for an extended period of time, permanently, briefly, temporarily buffered, and/or cached). As used herein, the term non-transitory computer readable medium is expressly defined to include any type of computer readable device and/or disk, and is defined to exclude propagating signals. As used herein, when the term "at least" is used as a transitional term in the preamble of a claim, the phrase is open ended in the same manner as the term "comprising" is open ended.

图6是表示可以被执行为实施示例预测器130的示例机器可读指令的流程图。示例程序600可以例如在示例用户装置101a开始流送来自流媒体应用中的示例流媒体分发方120的媒体时启动。6 is a flow diagram representative of example machine-readable instructions that may be executed to implement the example predictor 130. The example program 600 may be initiated, for example, when the example user device 101a begins streaming media from the example streaming distributor 120 in a streaming application.

最初,在块601处,示例识别器306识别与由示例带宽记录器304从示例代理服务器105接收的信息关联的流媒体的格式,并且向示例阈值生成器308转发所识别的格式。例如,当关于流媒体的信息到达观众测量实体125的示例带宽记录器304时,根据信息(例如,仅音频格式、仅视频格式或含有音频和视频这两者的容器格式)确定媒体格式。另外或另选地,媒体格式可以在信息中来识别(例如,代理服务器105可以确定并报告格式)。示例阈值生成器308使所确定的媒体格式与用于已知媒体格式的阈值相互参照,以建立带宽速率阈值(例如,图4、图5A以及图5B的阈值404),以区分媒体与嵌在流媒体中的辅助信息(块602)。示例阈值生成器308基于所确定的媒体格式来设定用于媒体区别的阈值。该阈值表示用于带宽速率的基值,并且用来提供比不使用阈值的情况更准确的预测(例如,假定该阈值以下的带宽如此不重要,以至于监测不应发生,直到实现阈值为止)。例如,在没有阈值的情况下,可以对于嵌在流中的文本覆盖的带宽速率创建预测模型,这在一些情况下可能导致不一致的流结束预测。Initially, at block 601, the example identifier 306 identifies the format of a streaming media associated with information received by the example bandwidth recorder 304 from the example proxy server 105 and forwards the identified format to the example threshold generator 308. For example, when information about the streaming media arrives at the example bandwidth recorder 304 of the audience measurement entity 125, the media format is determined based on the information (e.g., audio-only format, video-only format, or a container format containing both audio and video). Additionally or alternatively, the media format can be identified in the information (e.g., the proxy server 105 can determine and report the format). The example threshold generator 308 cross-references the determined media format with thresholds for known media formats to establish a bandwidth rate threshold (e.g., threshold 404 of Figures 4, 5A, and 5B) to distinguish between the media and auxiliary information embedded in the streaming media (block 602). The example threshold generator 308 sets the threshold for media differentiation based on the determined media format. The threshold represents a base value for bandwidth rate and is used to provide more accurate predictions than would be possible without a threshold (e.g., assuming that bandwidth below the threshold is so insignificant that monitoring should not occur until the threshold is achieved). For example, without a threshold, a prediction model could be created for bandwidth rate overlays of text embedded in a stream, which could lead to inconsistent end-of-stream predictions in some cases.

在块603处,示例带宽记录器304监测从示例代理服务器105转发的带宽速率。在一些示例中,带宽速率可能在流送媒体时不规律的波动。为了观察到更平滑的带宽值,示例带宽记录器304使用监测时段来获得时间平均带宽速率。例如,在示例带宽记录器304处,在两秒时段内每十分之一秒监测带宽值。由示例带宽记录器304记录为带宽值的值是在两秒时段期间的二十个观察到的带宽使用速率值的平均值。在其他示例中,由示例带宽记录器304记录的值可以为即时带宽使用速率值,或者可以在任意时间间隔期间平均。At block 603, the example bandwidth recorder 304 monitors the bandwidth rate forwarded from the example proxy server 105. In some examples, the bandwidth rate may fluctuate erratically while streaming media. In order to observe smoother bandwidth values, the example bandwidth recorder 304 uses a monitoring period to obtain a time-averaged bandwidth rate. For example, at the example bandwidth recorder 304, bandwidth values are monitored every tenth of a second over a two-second period. The value recorded as the bandwidth value by the example bandwidth recorder 304 is the average of twenty observed bandwidth usage rate values during the two-second period. In other examples, the value recorded by the example bandwidth recorder 304 can be an instantaneous bandwidth usage rate value, or can be averaged over an arbitrary time interval.

在块604处,示例带宽记录器304确定媒体会话当前在用户装置101a-101c与流媒体分发方120之间是否有效。例如,所例示示例的带宽记录器304确定代理服务器105是否报告流媒体会话仍然开放。在示例带宽记录器304确定流媒体会话不再有效的情况下,示例程序600终止。然而,在媒体会话仍然开放的情况下,控制进行到块605。At block 604, the example bandwidth recorder 304 determines whether a media session is currently active between the user devices 101a-101c and the streaming media distributor 120. For example, the illustrated example bandwidth recorder 304 determines whether the proxy server 105 reports that the streaming media session is still open. If the example bandwidth recorder 304 determines that the streaming media session is no longer active, the example process 600 terminates. However, if the media session is still open, control passes to block 605.

在块605处,示例带宽记录器304将带宽速率与阈值进行比较,以确定是否应生成预测模型。如果带宽速率在阈值以下,则控制返回到块603,以等待带宽速率超过阈值。如果示例带宽记录器304确定所测带宽速率值超过阈值,则示例带宽记录器304将超过阈值的带宽速率和带宽速率超过阈值的时间用作计量数据集中所记录的初始值(块606)。示例带宽记录器304将随后的带宽速率和关联的时间戳记录在计量数据集中,并且移至块618。At block 605, the example bandwidth recorder 304 compares the bandwidth rate to a threshold value to determine whether a prediction model should be generated. If the bandwidth rate is below the threshold, control returns to block 603 to wait for the bandwidth rate to exceed the threshold. If the example bandwidth recorder 304 determines that the measured bandwidth rate value exceeds the threshold, the example bandwidth recorder 304 uses the bandwidth rate that exceeded the threshold and the time at which the bandwidth rate exceeded the threshold as the initial value recorded in the metering data set (block 606). The example bandwidth recorder 304 records the subsequent bandwidth rate and associated timestamp in the metering data set and moves to block 618.

在块618处,带宽速率在阈值以下。当确定带宽值400在阈值以上时,控制在示例带宽记录器304监测处于阈值处或以下的带宽值时逗留在块618处。At block 618 , the bandwidth rate is below the threshold. When it is determined that the bandwidth value 400 is above the threshold, control remains at block 618 while the example bandwidth recorder 304 monitors the bandwidth value at or below the threshold.

当确定带宽值在阈值以下时(块618),确定计量数据集完整。示例参数生成器310根据计量数据集确定预测模型参数(块620),预测模型参数要用于生成预测模型中。例如,诸如均值、数值范围(即,幅值)、标准差以及方差的参数可以由示例参数生成器310来计算。图7中描绘了例示了可以被执行为实施块620的示例机器可读指令(例如,用于实施参数生成器310的指令)的示例流程图。当计算预测模型参数时,示例参数生成器310通知示例建模器312参数可用于生成预测模型502。控制进行到块625。When it is determined that the bandwidth value is below the threshold (block 618), the metering data set is determined to be complete. The example parameter generator 310 determines prediction model parameters based on the metering data set (block 620), which are used to generate the prediction model. For example, parameters such as mean, range (i.e., amplitude), standard deviation, and variance may be calculated by the example parameter generator 310. An example flow chart illustrating example machine-readable instructions (e.g., instructions for implementing the parameter generator 310) that may be executed to implement block 620 is depicted in FIG7. Upon calculating the prediction model parameters, the example parameter generator 310 notifies the example modeler 312 that the parameters are available for use in generating the prediction model 502. Control proceeds to block 625.

在块625处,示例建模器312使用根据计量数据集计算的预测模型参数生成预测模型。预测模型可以由示例建模器312使用分布函数来生成。例如,预测可以使用以指数形式修改的高斯分布来建模。At block 625, the example modeler 312 generates a prediction model using the prediction model parameters calculated based on the metering data set. The prediction model can be generated by the example modeler 312 using a distribution function. For example, the prediction can be modeled using a Gaussian distribution modified in an exponential form.

在算式1中,μ表示计量数据集的均值,σ2表示计量数据集的方差,并且λ表示指数率(例如,衰减因子)。μ和σ2基于计量数据集,并且λ可以基于被流送的媒体类型来定制或调节。In Equation 1, μ represents the mean of the metering dataset, σ2 represents the variance of the metering dataset, and λ represents the exponential rate (e.g., a decay factor). μ and σ2 are based on the metering dataset, and λ can be customized or adjusted based on the type of media being streamed.

其他合适分布可以包括卡方分布、指数分布、伽马分布、拉普拉斯分布、帕累托分布、威布尔分布、对数正态分布或能够用右旋衰减建模的任意其他合适概率分布。在一些其他示例中,由定义时间间隔期间的行为的多个函数组成的分段函数可以用于生成合适的预测模型。换言之,示例预测模型将在时间间隔上具有一个最大值(-∞<t<∞),并且将符合以下特性中的一个:Other suitable distributions may include chi-squared distribution, exponential distribution, gamma distribution, Laplace distribution, Pareto distribution, Weibull distribution, lognormal distribution, or any other suitable probability distribution that can be modeled with right-handed decay. In some other examples, a piecewise function consisting of multiple functions that define the behavior during a time interval can be used to generate a suitable prediction model. In other words, the example prediction model will have a maximum value over the time interval (-∞ < t < ∞) and will meet one of the following properties:

如果预测模型符合上述限制中的一个,则预测模型将在最大值之后衰减,并且随着时间接近无穷大而接近零(或负无穷大)。If the prediction model meets one of the above restrictions, the prediction model will decay after a maximum value and approach zero (or negative infinity) as time approaches infinity.

图8中例示了表示可用于实施块625的机器可读指令的示例流程图。An example flow chart representing machine-readable instructions that may be used to implement block 625 is illustrated in FIG. 8 .

当生成预测模型时,示例预报器314在预测模型上迭代,以确定预测模型的值降至阈值以下的时间,并且将时间作为用于流媒体的预测流结束时间返回(块627)。一旦被识别,则示例预报器314向示例流结束处理器316转发时间以报告(块629)。由示例流结束处理器316返回的时间可以为预测结束时间和/或对于流媒体呈现剩余的时间量的时间戳。在报告所预测的流结束时间时,控制返回到示例带宽记录器304继续监测带宽速率的块602。When the prediction model is generated, the example forecaster 314 iterates over the prediction model to determine when the value of the prediction model falls below a threshold value and returns the time as the predicted stream end time for the streaming media (block 627). Once identified, the example forecaster 314 forwards the time to the example stream end processor 316 to report (block 629). The time returned by the example stream end processor 316 can be a timestamp of the predicted end time and/or the amount of time remaining for the streaming media to be presented. When the predicted stream end time is reported, control returns to block 602 where the example bandwidth recorder 304 continues to monitor the bandwidth rate.

图7是表示可以被执行为实施计算预测模型参数的、图6的块620的示例机器可读指令的流程图700。在块708处,示例参数生成器310使用原始数据集的值确定参数,以生成分布模型。例如,示例参数生成器310可以计算计量数据集的均值、标准差、幅值以及方差。FIG7 is a flow chart 700 representing example machine-readable instructions that may be executed to implement block 620 of FIG6 for calculating parameters for a prediction model. At block 708, the example parameter generator 310 determines parameters using the values of the original data set to generate a distribution model. For example, the example parameter generator 310 may calculate the mean, standard deviation, magnitude, and variance of the metrology data set.

接着,示例参数生成器310识别与流媒体的特性(例如,类型、码率、编解码、载流等)关联的衰减因子,以用于生成示例预测模型(块710)。对于示例以指数形式修改的高斯函数,该衰减因子将为确定衰减速率的算式1的λ。在一些示例中,用于λ的值基于被流送的媒体的类型(例如,视频和/或音频)来识别。在其他示例中,λ的值依赖于被流送媒体的编解码。例如,示例参数生成器310可以使编解码对照参照具有关联衰减值的表格(例如,闪视频或“.flv”文件)。在其他示例中,λ的值在使用示例预测器130之前预配置。Next, the example parameter generator 310 identifies an attenuation factor associated with the characteristics of the streaming media (e.g., type, bitrate, codec, carrier, etc.) for use in generating the example prediction model (block 710). For the example exponentially modified Gaussian function, the attenuation factor would be λ of Equation 1, which determines the attenuation rate. In some examples, the value for λ is identified based on the type of media being streamed (e.g., video and/or audio). In other examples, the value of λ depends on the codec of the streamed media. For example, the example parameter generator 310 can reference a table of codecs with associated attenuation values (e.g., Flash Video or ".flv" files). In other examples, the value of λ is preconfigured prior to using the example predictor 130.

在块712处,存储来自块708的所生成参数和来自块710的所识别衰减因子,以由示例建模器312用于生成预测模型中。At block 712 , the generated parameters from block 708 and the identified attenuation factors from block 710 are stored for use by the example modeler 312 in generating a predictive model.

图8是表示可以被执行为实施预测流结束时间的、图6的块625和块627的示例机器可读指令的流程图800。在块802处开始,示例建模器312从示例参数生成器310获得参数和衰减因子。在块804处,示例建模器312使用参数和衰减因子值来生成预测模型。例如,连同算式1使用从计量数据集计算的均值、标准差、幅值以及衰减因子。另外,与计量数据集中的各值关联的时间例如作为示例算式1中x的值插入。由此,使用示例算式1的函数,基于示例以指数形式修改的高斯分布生成预测模型。FIG8 is a flowchart 800 representing example machine-readable instructions of blocks 625 and 627 of FIG6 that may be executed to implement the prediction of flow end times. Beginning at block 802, the example modeler 312 obtains parameters and attenuation factors from the example parameter generator 310. At block 804, the example modeler 312 uses the parameter and attenuation factor values to generate a prediction model. For example, the mean, standard deviation, amplitude, and attenuation factor calculated from the metering data set are used in conjunction with Equation 1. Additionally, the time associated with each value in the metering data set is inserted, for example, as the value of x in Equation 1. Thus, using the function of Equation 1, a prediction model is generated based on the example exponentially modified Gaussian distribution.

在块808处,图3的所例示示例的示例预报器314在块804中所生成的预测模型上迭代,以确定预测模型的值降至阈值以下的时间。迭代处理可以以预定增量(或在一些示例中为可调增量)在预测模型上迭代。例如,迭代可以用若干毫秒。示例预报器314使用从来自图7的块708的所生成参数获得的预测模型的所识别的均值来开始迭代。随着预测模型开始在局部峰值存在之后开始衰减,在均值(例如,峰值的时间位置)处开始预报处理通过不计算出现在峰值之前的预测值来允许更快的处理。At block 808, the example forecaster 314 of the illustrated example of FIG3 iterates over the prediction model generated in block 804 to determine when the value of the prediction model falls below a threshold. The iterative process can iterate over the prediction model in predetermined increments (or in some examples, adjustable increments). For example, the iterations can take several milliseconds. The example forecaster 314 begins iterations using the identified mean of the prediction model obtained from the generated parameters of block 708 of FIG7. As the prediction model begins to decay after the presence of a local peak, starting the forecast process at the mean (e.g., the time position of the peak) allows for faster processing by not calculating predicted values that occur before the peak.

所例示示例的块810和块812例示了由示例预报器314执行的迭代检查。例如,如果在块810处观察到的值不在阈值以下,则示例预报器314观察下一增量值(块812),并且返回到块810。当在块810处观察到的值处于阈值处或以下时,示例预报器314移至块814。Blocks 810 and 812 of the illustrated example illustrate iterative checks performed by the example forecaster 314. For example, if the value observed at block 810 is not below the threshold, the example forecaster 314 observes the next incremental value (block 812) and returns to block 810. When the value observed at block 810 is at or below the threshold, the example forecaster 314 moves to block 814.

在块814处,示例预报器314获得与处于阈值处或以下的所观察值关联的时间值。在一些示例中,示例预报器314将该时间值存储为所预测的流结束时间,以基于计量数据集预测流媒体的流结束时间。在一些示例中,预报器314可以另外或另选地通过从在由示例带宽记录器304接收的信息中识别的媒体开始时间减去流结束时间来计算流媒体的预测持续时间。At block 814, the example forecaster 314 obtains a time value associated with the observed value that is at or below the threshold. In some examples, the example forecaster 314 stores the time value as a predicted stream end time to predict the stream end time of the streaming media based on the metering data set. In some examples, the forecaster 314 may additionally or alternatively calculate the predicted duration of the streaming media by subtracting the stream end time from the media start time identified in the information received by the example bandwidth recorder 304.

图9是能够执行图6、图7以及图8的指令来实施图3的预测器130的示例处理器平台900的框图。处理器平台900例如可以为服务器、个人计算机、移动装置(例如,蜂窝电话、智能电话、平板电脑(诸如iPadTM))、因特网应用、数字视频记录器、智能TV、智能蓝光播放器、游戏控制器、个人视频记录器、机顶盒或能够流送媒体的任意其他类型的计算装置。9 is a block diagram of an example processor platform 900 capable of executing the instructions of FIG6 , FIG7 , and FIG8 to implement the predictor 130 of FIG3 . The processor platform 900 may be, for example, a server, a personal computer, a mobile device (e.g., a cellular phone, a smart phone, a tablet computer (such as an iPad )), an Internet appliance, a digital video recorder, a smart TV, a smart Blu-ray player, a game console, a personal video recorder, a set-top box, or any other type of computing device capable of streaming media.

所例示示例的处理器平台900包括处理器912。所例示示例的处理器912为硬件。例如,处理器912可以经由来自任意期望家庭或制造商的一个或更多个集成电路、逻辑电路、微处理器或控制器来实施。The processor platform 900 of the illustrated example includes a processor 912. The processor 912 of the illustrated example is hardware. For example, the processor 912 can be implemented via one or more integrated circuits, logic circuits, microprocessors, or controllers from any desired family or manufacturer.

所例示示例的处理器912包括本地存储器913(例如,缓存)。所例示示例的处理器912经由总线918与包括易失性存储器914和非易失性存储器916的主存储器通信。易失性存储器914可以经由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、内存总线动态随机存取存储器(RDRAM)和/或任意其他类型的随机存取存储装置来实施。非易失性存储器916可以经由闪存和/或任意其他期望类型的存储装置来实施。对主存储器914、916的访问由存储器控制器来控制。The processor 912 of the illustrated example includes a local memory 913 (e.g., a cache). The processor 912 of the illustrated example communicates with a main memory including a volatile memory 914 and a non-volatile memory 916 via a bus 918. The volatile memory 914 can be implemented via synchronous dynamic random access memory (SDRAM), dynamic random access memory (DRAM), memory bus dynamic random access memory (RDRAM), and/or any other type of random access memory device. The non-volatile memory 916 can be implemented via flash memory and/or any other desired type of memory device. Access to the main memories 914 and 916 is controlled by a memory controller.

所例示示例的处理器平台900还包括接口电路920。接口电路920可以经由任意类型的接口标准(诸如以太网接口、通用串行总线(USB)和/或PCI express接口)来实施。The processor platform 900 of the illustrated example also includes an interface circuit 920. The interface circuit 920 may be implemented via any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a PCI express interface.

在所例示的示例中,一个或更多个输入装置922连接到接口电路920。输入装置922允许用户将数据和命令输入到处理器912中。输入装置可以由例如音频传感器、麦克风、静物照相机或录像机、键盘、按钮、鼠标、触摸屏、触摸板、跟踪球、等点(isopoint)和/或语音识别系统来实施。In the illustrated example, one or more input devices 922 are connected to the interface circuitry 920. The input devices 922 allow a user to enter data and commands into the processor 912. The input devices may be implemented by, for example, an audio sensor, a microphone, a still camera or video recorder, a keyboard, buttons, a mouse, a touch screen, a touchpad, a trackball, isopoint, and/or a voice recognition system.

一个或更多个输出装置924还连接到所例示示例的接口电路920。输出装置924可以例如由显示装置(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管(CRT)显示器、触摸屏、触觉输出装置、发光二极管(LED)、和/或扬声器)来实施。由此,所例示示例的接口电路920通常包括图形驱动器卡。One or more output devices 924 are also connected to the illustrated interface circuit 920. The output device 924 can be implemented, for example, by a display device (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube (CRT) display, a touch screen, a tactile output device, a light emitting diode (LED), and/or a speaker). Thus, the illustrated interface circuit 920 typically includes a graphics driver card.

所例示示例的接口电路920还包括促进经由网络926(例如,以太网连接、数字用户线(DSL)、电话线、同轴电缆、蜂窝电话系统等)与外部机器(例如,任意种类的计算装置)交换数据的通信装置(诸如发送器、接收器、收发器、调制解调器和/或网络接口卡)。The interface circuitry 920 of the illustrated example also includes communication devices (such as transmitters, receivers, transceivers, modems, and/or network interface cards) that facilitate the exchange of data with an external machine (e.g., any kind of computing device) via a network 926 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, a coaxial cable, a cellular telephone system, etc.).

所例示示例的处理器平台900还包括用于存储软件和/或数据的一个或更多个大容量存储装置928。这种大容量存储装置928的示例包括软盘驱动器、硬盘驱动器、光盘驱动器、蓝光光盘驱动器、RAID系统以及数字通用光盘(DVD)驱动器。The processor platform 900 of the illustrated example also includes one or more mass storage devices 928 for storing software and/or data. Examples of such mass storage devices 928 include floppy disk drives, hard drives, optical disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives.

图6、图7以及图8的经编码指令932可以存储在大容量存储装置928中、存储在易失性存储器914中、存储在非易失性存储器916中和/或存储在可移除有形计算机可读存储介质(诸如CD或DVD)上。The encoded instructions 932 of Figures 6, 7, and 8 may be stored in the mass storage device 928, in the volatile memory 914, in the non-volatile memory 916, and/or on a removable tangible computer-readable storage medium such as a CD or DVD.

从上述,将理解,上面公开的示例促进使用预测模型来预测流媒体的结束时间。另外,所公开的示例提供了在不访问用户装置101a-101c上的流媒体应用的情况下预报源于流媒体的流量行为的流结束时间的能力。这样,对观众测量实体和/或数据收集设施对于目标媒体输送、嵌在流媒体中的广告的更精确广告提取、用户调查的呈现等准确预测流媒体的结束。From the foregoing, it will be appreciated that the examples disclosed above facilitate the use of prediction models to predict the end time of streaming media. Furthermore, the disclosed examples provide the ability to forecast the end time of a stream derived from the traffic behavior of a streaming media stream without accessing the streaming media application on user devices 101a-101c. This allows audience measurement entities and/or data collection facilities to accurately predict the end of a streaming media stream for targeted media delivery, more accurate ad extraction of ads embedded in streaming media, presentation of user surveys, and the like.

所公开示例还促进被监测家庭中的带宽保持。所公开的示例可以用于在合适时间发送目标媒体和/或调查以不中断流媒体。在具有有限带宽的家庭中,通过预测流媒体的结束,观众测量实体将通过持续查询确定何时发送目标媒体和/或调查来不消耗额外的带宽。The disclosed examples also facilitate bandwidth conservation within the monitored home. The disclosed examples can be used to deliver targeted media and/or surveys at appropriate times without interrupting streaming. In homes with limited bandwidth, by anticipating the end of streaming, the audience measurement entity can determine when to deliver targeted media and/or surveys through continuous queries without consuming additional bandwidth.

所公开示例还促进系统带宽的保持。在代理服务器发送关于流媒体的特性信息来代替监测流媒体的示例中,与监测方法相比大幅减小所需带宽。这种监测方法需要被监测到观众测量实体的流媒体的整体,这需要等于流媒体带宽的带宽。使用所公开的示例,大幅减小从代理服务器至观众测量实体的所需带宽。The disclosed examples also facilitate conserving system bandwidth. In examples where a proxy server sends characteristic information about a streaming media stream instead of monitoring the streaming media, the required bandwidth is significantly reduced compared to monitoring methods. This monitoring method requires the entire streaming media stream to be monitored to the audience measurement entity, which requires a bandwidth equal to the streaming media bandwidth. Using the disclosed examples, the required bandwidth from the proxy server to the audience measurement entity is significantly reduced.

虽然这里已经描述了特定示例方法、设备以及制品,但本专利的覆盖范围不限于此。相反,本专利覆盖完全落在本专利的权利要求范围内的所有方法、设备以及制品。Although certain example methods, apparatus, and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus, and articles of manufacture fairly falling within the scope of the claims of this patent.

Claims (33)

1.一种使用预测模型来预测流媒体的结束的方法,该方法包括以下步骤:1. A method for predicting the end of a streaming media stream using a predictive model, the method comprising the following steps: 通过利用处理器执行指令,基于从代理接收的信息确定与在呈现装置上在流媒体应用中呈现的流媒体关联的带宽速率;By utilizing the processor to execute instructions, the bandwidth rate associated with the streaming media presented on the presentation device in the streaming application is determined based on information received from the agent; 通过利用所述处理器执行指令,基于所述带宽速率的特性生成预测模型;以及By utilizing the processor to execute instructions, a predictive model is generated based on the characteristics of the bandwidth rate; and 通过利用所述处理器执行指令,将所述预测模型的输出低于最小带宽阈值的时间确定为所述流媒体的呈现结束时间,所述呈现结束时间与所述流媒体应用停止在所述呈现装置上呈现所述流媒体的时间相对应。By using the processor to execute instructions, the time when the output of the prediction model falls below a minimum bandwidth threshold is determined as the presentation end time of the streaming media, which corresponds to the time when the streaming media application stops presenting the streaming media on the presentation device. 2.根据权利要求1所述的方法,所述方法还包括以下步骤:2. The method according to claim 1, further comprising the following steps: 确定在所述流媒体应用中呈现的所述流媒体的类型,其中,生成预测模型的步骤响应于带宽速率超过所述最小带宽阈值来发生,所述最小带宽阈值基于所述流媒体的类型。Determine the type of streaming media presented in the streaming media application, wherein the step of generating a prediction model occurs in response to a bandwidth rate exceeding a minimum bandwidth threshold, the minimum bandwidth threshold being based on the type of streaming media. 3.根据权利要求2所述的方法,其中,所述流媒体的所述类型为视频和音频中的至少一种。3. The method of claim 2, wherein the type of the streaming media is at least one of video and audio. 4.根据权利要求2所述的方法,所述方法还包括以下步骤:4. The method according to claim 2, further comprising the following steps: 基于所述流媒体的所述类型确定用于所述预测模型的衰减因子。The attenuation factor for the prediction model is determined based on the type of the streaming media. 5.根据权利要求1所述的方法,其中,所述带宽速率还包括与所述带宽速率关联的时间戳。5. The method of claim 1, wherein the bandwidth rate further includes a timestamp associated with the bandwidth rate. 6.根据权利要求1所述的方法,其中,生成所述预测模型的步骤还包括:6. The method according to claim 1, wherein the step of generating the prediction model further comprises: 通过以下来计算预测模型参数:The prediction model parameters are calculated as follows: 确定所述带宽速率的均值;Determine the average value of the bandwidth rate; 确定所述带宽速率的幅值;以及Determine the magnitude of the bandwidth rate; and 确定所述带宽速率的标准差。Determine the standard deviation of the bandwidth rate. 7.根据权利要求1所述的方法,其中,所述带宽速率不从呈现所述流媒体的媒体装置或向所述媒体装置发送所述流媒体的流媒体分发方接收。7. The method of claim 1, wherein the bandwidth rate is not received from the media device presenting the streaming media or from the streaming media distributor sending the streaming media to the media device. 8.根据权利要求1至7中任一项所述的方法,其中,所述代理在呈现所述流媒体的所述流媒体应用和向所述流媒体应用发送所述流媒体的流媒体分发方中间。8. The method according to any one of claims 1 to 7, wherein the agent is between the streaming media application that presents the streaming media and the streaming media distributor that sends the streaming media to the streaming media application. 9.根据权利要求8所述的方法,其中,所述代理:9. The method of claim 8, wherein the agent: 从所述流媒体分发方向所述流媒体应用路由所述流媒体;The streaming media is routed from the streaming media distribution direction to the streaming media application; 确定所述带宽速率;并且Determine the bandwidth rate; and 向观众测量实体发送所述带宽速率。The bandwidth rate is sent to the audience measurement entity. 10.根据权利要求1至7中任一项所述的方法,所述方法还包括以下步骤:10. The method according to any one of claims 1 to 7, further comprising the step of: 在所述流媒体的所述呈现结束时间向所述流媒体应用发送目标媒体。The target media is sent to the streaming application at the end of the streaming media presentation time. 11.根据权利要求1至7中任一项所述的方法,所述方法还包括以下步骤:11. The method according to any one of claims 1 to 7, further comprising the step of: 在所述流媒体的所述呈现结束时间向所述流媒体应用发送调查。A survey is sent to the streaming application at the end of the streaming media presentation time. 12.一种使用预测模型来预测流媒体的结束的装置,该装置包括:12. An apparatus for predicting the end of a streaming media using a predictive model, the apparatus comprising: 用于基于从代理接收的信息确定与在呈现装置上在流媒体应用中呈现的流媒体关联的带宽速率的单元;A unit for determining the bandwidth rate associated with the streaming media presented on the presentation device in a streaming media application based on information received from the agent; 用于基于所述带宽速率的特性生成预测模型的单元;以及A unit for generating a prediction model based on the characteristics of the bandwidth rate; and 用于将所述预测模型的输出低于最小带宽阈值的时间确定为所述流媒体的呈现结束时间的单元,所述呈现结束时间与所述流媒体应用停止在所述呈现装置上呈现所述流媒体的时间相对应。A unit for determining the time when the output of the prediction model falls below a minimum bandwidth threshold as the presentation end time of the streaming media, the presentation end time corresponding to the time when the streaming media application stops presenting the streaming media on the presentation device. 13.根据权利要求12所述的装置,所述装置还包括:13. The apparatus of claim 12, further comprising: 用于确定在所述流媒体应用中呈现的所述流媒体的类型的单元,其中,生成所述预测模型响应于带宽速率超过所述最小带宽阈值来发生,所述最小带宽阈值基于所述流媒体的类型。A unit for determining the type of streaming media presented in the streaming media application, wherein the generation of the prediction model occurs in response to a bandwidth rate exceeding a minimum bandwidth threshold, the minimum bandwidth threshold being based on the type of streaming media. 14.根据权利要求13所述的装置,其中,所述流媒体的所述类型为视频和音频中的至少一种。14. The apparatus of claim 13, wherein the type of the streaming media is at least one of video and audio. 15.根据权利要求13所述的装置,所述装置还包括:15. The apparatus of claim 13, further comprising: 用于基于所述流媒体的所述类型确定用于所述预测模型的衰减因子的单元。A unit for determining the attenuation factor for the prediction model based on the type of the streaming media. 16.根据权利要求12所述的装置,其中,所述带宽速率还包括与所述带宽速率关联的时间戳。16. The apparatus of claim 12, wherein the bandwidth rate further includes a timestamp associated with the bandwidth rate. 17.根据权利要求12至16中任一项所述的装置,其中,用于生成所述预测模型的单元还包括:17. The apparatus according to any one of claims 12 to 16, wherein the unit for generating the prediction model further comprises: 用于通过以下来计算预测模型参数的单元:The unit used to calculate the parameters of the prediction model as follows: 确定所述带宽速率的均值;Determine the average value of the bandwidth rate; 确定所述带宽速率的幅值;以及Determine the magnitude of the bandwidth rate; and 确定所述带宽速率的标准差。Determine the standard deviation of the bandwidth rate. 18.根据权利要求12至16中任一项所述的装置,其中,所述带宽速率不从呈现所述流媒体的媒体装置或向所述媒体装置发送所述流媒体的流媒体分发方接收。18. The apparatus according to any one of claims 12 to 16, wherein the bandwidth rate is not received from the media device presenting the streaming media or from the streaming media distributor sending the streaming media to the media device. 19.根据权利要求12至16中任一项所述的装置,其中,所述代理在呈现所述流媒体的所述流媒体应用和向所述流媒体应用发送所述流媒体的流媒体分发方中间。19. The apparatus according to any one of claims 12 to 16, wherein the agent is between the streaming application that presents the streaming media and the streaming media distributor that sends the streaming media to the streaming application. 20.根据权利要求19所述的装置,其中,所述代理:20. The apparatus of claim 19, wherein the agent: 从所述流媒体分发方向所述流媒体应用路由所述流媒体;The streaming media is routed from the streaming media distribution direction to the streaming media application; 确定所述带宽速率;并且Determine the bandwidth rate; and 向观众测量实体发送所述带宽速率。The bandwidth rate is sent to the audience measurement entity. 21.根据权利要求12至16中任一项所述的装置,所述装置还包括:21. The apparatus according to any one of claims 12 to 16, further comprising: 用于在所述流媒体的所述呈现结束时间向所述流媒体应用发送目标媒体的单元。A unit for sending the target media to the streaming application at the end time of the presentation of the streaming media. 22.根据权利要求12至16中任一项所述的装置,所述装置还包括:22. The apparatus according to any one of claims 12 to 16, further comprising: 用于在所述流媒体的所述呈现结束时间向所述流媒体应用发送调查的单元。A unit for sending a survey to the streaming application at the end time of the presentation of the streaming media. 23.一种使用预测模型来预测流媒体的结束的设备,该设备包括:23. A device for predicting the end of a streaming media using a predictive model, the device comprising: 带宽记录器,该带宽记录器基于从代理接收的信息确定与在呈现装置上在流媒体应用中呈现的流媒体关联的带宽速率;A bandwidth recorder that determines the bandwidth rate associated with the streaming media presented on the presentation device in a streaming application based on information received from the agent. 建模器,该建模器基于所述带宽速率的特性生成预测模型;以及A modeler that generates a predictive model based on the characteristics of the bandwidth rate; and 预报器,该预报器将所述预测模型的输出低于最小带宽阈值的时间确定为所述流媒体的呈现结束时间,所述呈现结束时间与所述流媒体应用停止在所述呈现装置上呈现所述流媒体的时间相对应,所述带宽记录器、所述建模器和所述预报器中的至少一者由联接到存储器的处理器实现。A predictor that determines the time when the output of the prediction model falls below a minimum bandwidth threshold as the presentation end time of the streaming media, the presentation end time corresponding to the time when the streaming media application stops presenting the streaming media on the presentation device, wherein at least one of the bandwidth recorder, the modeler, and the predictor is implemented by a processor coupled to memory. 24.根据权利要求23所述的设备,所述设备还包括:24. The apparatus of claim 23, further comprising: 识别器,该识别器确定在所述流媒体应用中呈现的所述流媒体的类型;和A recognizer that determines the type of streaming media presented in the streaming media application; and 阈值生成器,该阈值生成器基于所述流媒体的所述类型设定所述最小带宽阈值,其中,所述建模器响应于带宽速率超过所述最小带宽阈值来生成所述预测模型。A threshold generator that sets the minimum bandwidth threshold based on the type of the streaming media, wherein the modeler generates the prediction model in response to a bandwidth rate exceeding the minimum bandwidth threshold. 25.根据权利要求24所述的设备,其中,所述流媒体的所述类型为视频和音频中的至少一种。25. The device of claim 24, wherein the type of the streaming media is at least one of video and audio. 26.根据权利要求24所述的设备,所述设备还包括:26. The apparatus of claim 24, further comprising: 参数生成器,该参数生成器基于所述流媒体的所述类型确定用于所述预测模型的衰减因子。A parameter generator that determines a decay factor for the prediction model based on the type of the streaming media. 27.根据权利要求26所述的设备,其中,所述参数生成器还:27. The device according to claim 26, wherein the parameter generator further comprises: 通过以下来计算预测模型参数:The prediction model parameters are calculated as follows: 确定所述带宽速率的均值;Determine the average value of the bandwidth rate; 确定所述带宽速率的幅值;以及Determine the magnitude of the bandwidth rate; and 确定所述带宽速率的标准差。Determine the standard deviation of the bandwidth rate. 28.根据权利要求23至27中任一项所述的设备,其中,所述带宽速率不从呈现所述流媒体的媒体装置或向所述媒体装置发送所述流媒体的流媒体分发方接收。28. The device according to any one of claims 23 to 27, wherein the bandwidth rate is not received from the media device presenting the streaming media or from the streaming media distributor sending the streaming media to the media device. 29.根据权利要求23至27中任一项所述的设备,其中,所述代理在呈现所述流媒体的所述流媒体应用和向所述流媒体应用发送所述流媒体的流媒体分发方中间。29. The device according to any one of claims 23 to 27, wherein the agent is between the streaming application that presents the streaming media and the streaming media distributor that sends the streaming media to the streaming application. 30.根据权利要求23至27中任一项所述的设备,其中,所述代理还:30. The device according to any one of claims 23 to 27, wherein the agent further: 从流媒体分发方向所述流媒体应用路由所述流媒体;The streaming media is routed from the streaming media distribution direction to the streaming media application; 确定所述带宽速率;以及Determine the bandwidth rate; and 向观众测量实体发送所述带宽速率。The bandwidth rate is sent to the audience measurement entity. 31.根据权利要求23至27中任一项所述的设备,所述设备还包括:31. The device according to any one of claims 23 to 27, the device further comprising: 流结束处理器,该流结束处理器在所述流媒体的所述呈现结束时间向所述流媒体应用发送目标媒体。A stream termination processor that sends the target media to the streaming application at the end of the streaming media's presentation time. 32.根据权利要求31所述的设备,其中,所述流结束处理器还:32. The device according to claim 31, wherein the stream termination processor further comprises: 在所述流媒体的所述呈现结束时间向所述流媒体应用发送目标媒体。The target media is sent to the streaming application at the end of the streaming media presentation time. 33.一种有形计算机可读介质,该有形计算机可读介质包括指令,当该指令被执行时造成机器执行根据权利要求1至11中任一项所述的方法。33. A tangible computer-readable medium comprising instructions that, when executed, cause a machine to perform the method according to any one of claims 1 to 11.
HK17110902.7A 2014-08-29 2014-12-02 Method and apparatus for predicting end of streaming media using prediction model HK1237151B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/473,602 2014-08-29

Publications (2)

Publication Number Publication Date
HK1237151A1 HK1237151A1 (en) 2018-04-06
HK1237151B true HK1237151B (en) 2021-04-30

Family

ID=

Similar Documents

Publication Publication Date Title
US11765061B2 (en) Methods and apparatus to predict end of streaming media using a prediction model
US11831950B2 (en) Methods and apparatus to measure exposure to streaming media
US11558676B2 (en) Methods and apparatus to synthesize reference media signatures
US10153960B2 (en) Determining an end time of streaming media
HK40040556A (en) Method and apparatus for identifying an end of a streaming media session, readable medium
HK40040556B (en) Method and apparatus for identifying an end of a streaming media session, readable medium
HK1237151B (en) Method and apparatus for predicting end of streaming media using prediction model
HK1237151A1 (en) Method and apparatus for predicting end of streaming media using prediction model