确定媒体内容项目中的观看时间损失区域的制作方法

文档序号:33713664发布日期:2023-04-01 02:24阅读:37来源:国知局
确定媒体内容项目中的观看时间损失区域的制作方法
确定媒体内容项目中的观看时间损失区域


背景技术:

1.本说明书总体上涉及数据处理以及确定媒体内容项目中的观看时间损失区域。
2.流传输给用户的视频可以包括通常覆盖在原始视频流之上的一个或多个数字分量。覆盖的内容可以在覆盖原始视频屏幕的一部分的矩形区域内提供给用户。数字分量还可以包括在原始视频流之前、期间或之后播放的流内内容。
3.如贯穿本文档所使用的,短语“数字分量”指的是数字内容或数字信息的离散单位(例如,视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一内容单位)。数字分量可以作为单个文件或文件集合电子地存储在物理存储器设备中,并且数字分量可以采取视频文件、音频文件、多媒体文件、图像文件或文本文件的形式。例如,数字分量可以是旨在对视频或其他资源的内容进行补充的内容。更具体地,数字分量可以包括与资源内容相关的数字内容(例如,数字分量可以涉及与视频上的主题/内容相同或以其他方式相关的主题)。因此,数字分量的提供可以补充并且通常可以增强网页或应用内容。


技术实现要素:

4.总体上,本说明书中描述的主题的一个创新方面可以体现在包括以下操作的方法中:接收第一视频;确定第一视频的一组特征;将第一视频的该组特征输入到所训练的模型中,其中,(1)所训练的模型被训练成输出特定视频中的观看时间损失区域,(2)使用与多个训练视频中的已知观看时间损失区域对应的标签和与已知观看时间损失区域对应的多个训练视频的特征来训练所训练的模型,以及(3)特定视频的观看时间损失区域定义该特定视频的时间窗口,在此时间窗口期间,用户停止该特定视频回放的可能性大于阈值可能性;响应于将第一视频的该组特征输入到所训练的模型中,从所训练的模型获得关于第一视频的观看时间损失区域的数据;以及向参与向用户提供第一视频的实体提供关于第一视频的观看时间损失区域的数据。该方面的其他实施例包括对应的方法、装置,以及被配置为执行该方法的动作并被编码在计算机存储设备上的计算机程序。这些和其他实施例可以各自可选地包括一个或多个以下特征。
5.本说明书中描述的主题的具体实施例可以被实现以实现一个或多个以下优点。本说明书中描述的技术使得能够标识视频中的观看时间损失信息,其可以用于确定视频流内的数字分量的安置之处,使得数字分量更有可能在视频回放期间被用户察看/播放。在不考虑观看时间损失区域的情况下,数字分量可能被安置在出现在观看时间损失区域之后的视频部分内,这增加数字分量不被播放的可能性。这进而导致浪费计算资源来提供和接收最终未被用户消耗的数字分量。相反,通过在安置要在视频期间显示/播放的数字分量时考虑该视频的观看时间损失区域,数字分量在视频回放期间被播放的可能性增加,进而导致提供和接收数字分量所需的计算资源不被浪费。更详细地,媒体内容系统通过选择在所确定的观看时间损失区域之前的数字分量回放时间点来实现资源节约。通过选择在观看时间损失区域之前的数字分量回放安置之处,减少了提供未被消耗的数字分量的可能性(或者反过来说,增加了消耗数字分量的可能性)。
6.观看时间损失区域信息可以用于其他目的。例如,观看时间损失信息可以被提供给媒体内容项目所有者。媒体内容项目所有者可能有兴趣知道在内容项目的哪个(些)部分期间用户更可能放弃内容项目的回放。通过向内容项目所有者呈现观看时间损失信息,内容项目所有者可以知道观看时间损失区域。因此,内容项目所有者可以决定返工或调整媒体内容项目,以减少或改变媒体内容项目的观看时间损失区域。随着时间的推移,与具有更多或更长观看时间损失区域的媒体内容项目相比,包括更少或更短观看时间损失区域的经调整的媒体内容项目将以更大的比例被用户消耗。因此,提供具有更少和/或更短的观看时间损失区域的媒体内容项目资源效率更高,因为随着时间的推移,资源的浪费(例如,提供不被消耗的资源)将减少。
7.此外,当在视频内安置和提供数字分量时,考虑视频的观看时间损失区域可以导致视频和相关联的数字分量的收视率增加(与源自不考虑观看时间损失区域的数字分量的安置和提供的收视率相比)。由于数字分量被用户实际消耗/察看,这进而可以导致来自数字分量的更多收入(与由于在未考虑观看时间损失区域将它们安置在视频中而被用户忽略或错过相反)。
8.观看时间损失区域信息还可以用于优化媒体内容和要与媒体内容一起呈现的数字分量的服务或其他处理。例如,被安排在确定的观看时间损失区域之前与视频一起播放的第一组数字分量可以由内容提供商基于优先级发送给客户端设备(例如,在第一组数字分量被安排播放之前,甚至可能与视频一起提供)。被安排在第一确定的观看时间损失区域之后播放的其他(多)组数字分量可以由内容提供商基于点播来提供(例如,正好在数字分量被安排播放时)。例如,由于一些用户倾向于在每个观看时间损失区域期间停止观看视频,所以内容提供商可以在第一观看时间损失区域之前提供一些高优先级数字分量,并且在每个后续观看时间损失区域之前提供较低优先级数字分量。将意识到,这导致资源的更有效利用,因为只有视频被回放,或者只有用户在需要特定数字分量之前未停止回放,内容提供商才可以提供被安排在观看时间损失区域之后播放的数字分量。
9.本说明书中描述的机器学习方法可以实现以其他方式不可能实现的技术优点。媒体内容系统可以提供例如数十亿的内容项目。手动确定观看时间损失区域和确定数十亿内容项目的数字分量安置之处是不可行的。本说明书中描述的机器学习系统可以用于分析媒体内容项目并自动确定媒体内容项目中的观看时间损失区域,而非使用手动方法来确定观看时间损失区域。此外,机器学习系统可以自动预测很少或没有用户交互数据存在的媒体内容项目的观看时间损失区域。在不使用机器学习系统的情况下,必须使用大量的资源来收集大量的用户交互数据,以便能够直接计算观看时间损失信息。使用机器学习系统可以使得能够预测观看时间损失信息,甚至对于新创建的视频,而无需等待或花费资源用于用户交互数据收集和真实世界数据的处理。
10.本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据描述、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。
附图说明
11.图1是分发和提供数字内容以在客户端设备上显示的示例环境的框图。
12.图2例示用于确定媒体内容项目中的观看时间损失区域的示例系统。
13.图3例示视频的示例观看时间损失图。
14.图4例示用于确定观看时间损失区域的示例伪代码。
15.图5例示观看时间损失模型的示例架构。
16.图6是用于确定媒体内容项目中的观看时间损失区域的示例过程的流程图。
17.图7是可以用于执行所述操作的示例计算机系统的框图。
具体实施方式
18.本说明书总体上涉及确定媒体内容项目中的观看时间损失区域。媒体内容系统可以向观看者提供媒体内容(例如,视频内容、音频内容)。一般来说,用户可能不会自始至终地消耗媒体内容项目。由于各种原因,用户可能在媒体内容项目完成之前的时间点离开或放弃媒体内容项目的回放。用户可能放弃回放的媒体内容项目回放的时间帧(timeframe)可以被称为观看时间损失区域。作为另一定义,特定视频的观看时间损失区域可以描述该特定视频的用户在时间窗口中停止回放该特定视频的可能性大于阈值可能性的时间窗口。
19.如下文所总结的以及本说明书中所描述的,本技术中所描述的技术使得能够使用所训练的观看时间损失模型来自动确定输入视频的预测的观看时间损失区域。模型训练器可以使用一组训练视频来训练观看时间损失模型。对于每个训练视频,观看时间损失曲线生成器可以基于训练视频的用户交互数据(例如,视频会话开始/停止时间)为训练视频生成观看时间损失曲线。观看时间损失区域可以由观看时间损失区域标识器在为训练视频生成的观看时间损失曲线中确定。观看时间损失区域标识器可以确定观看时间损失曲线的平均斜率,并通过确定具有大于平均斜率的斜率的观看时间损失曲线的区域来标识观看时间损失区域。可以基于为训练视频确定的观看时间损失区域来训练观看时间损失模型。具体地,可以基于为训练视频确定的观看时间损失区域和在观看时间损失区域的预定时间窗口内出现的训练视频的特征(例如,可以由特征提取器确定)来训练观看时间损失模型。
20.所训练的观看时间损失模型可以用于预测输入视频的观看时间损失区域。例如,输入视频可以是很少或没有用户交互数据存在的视频。特征提取器可以确定输入视频的一组特征,并将输入视频的该组特征输入到所训练的观看时间损失模型中。所训练的观看时间损失模型可以输出关于输入视频的输入特征的预测的观看时间损失区域的数据。关于预测的观看时间损失区域的数据可以包括预测的观看时间区域的开始和停止时间、视频中的观看时间区域的计数、视频中的观看时间损失区域的总持续时间或者与所标识的观看时间损失区域对应的视频长度的百分比。
21.关于输入视频的预测的观看时间损失区域的数据可以用于各种目的。例如,可以将关于输入视频的预测的观看时间损失区域的数据提供给内容提供商,其使用关于第一视频的观看时间损失区域的数据来确定输入视频中播放数字分量的时间点。例如,内容提供商可以在输入视频中选择在确定的观看时间损失区域之前的数字分量回放时间点,如上所述,这可以实现各种类型的资源节省。作为另一示例,关于预测的观看时间损失区域的数据可以提供给输入视频的所有者。输入视频的所有者可以选择修改输入视频以减少观看时间损失区域的计数或持续时间。因此,更新的输入视频可能更可能被消耗至完成或稍后的时间点,这可以导致关于在提供实际消耗的内容上花费资源的资源效率。下面参考图1-图7更详细地进一步描述这些特征和附加的特征及益处。
22.除了贯穿本文档的描述之外,可以向用户提供允许用户选择本文描述的系统、程序或特征是否以及何时可能能够收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户偏好或用户当前位置的信息)以及是否从服务器向用户发送内容或通信的控件。此外,在存储或使用一些数据之前,可以以一种或多种方式对其进行处理,从而移除个人可识别信息。例如,可以处理用户的身份,使得无法为用户确定个人可识别信息,或者可以在获得位置信息的情况下泛化用户的地理位置(例如到城市、邮政编码或州级),使得无法确定用户的具体位置。因此,用户可以控制收集关于用户的什么信息、如何使用该信息以及向用户提供什么信息。
23.图1是分发和提供数字内容以便在客户端设备上显示的示例环境100的框图。示例环境100包括网络104。网络104可以包括局域网(lan)、广域网(wan)、互联网或其组合。网络104还可以包括任何类型的有线和/或无线网络、卫星网络、电缆网络、wi-fi网络、移动通信网络(例如,3g、4g等)或其任何组合。网络104可以利用通信协议,包括基于分组和/或基于数据报的协议,诸如互联网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)或其他类型的协议。网络104还可以包括促进网络通信和/或形成网络硬件基础的多个设备,诸如交换机、路由器、网关、接入点、防火墙、基站、中继器或其组合。
24.网络104连接客户端设备102、内容平台106、内容提供商108和视频处理系统110。示例环境100可以包括许多不同的内容平台106、视频处理系统110、客户端设备102和内容提供商108。
25.内容平台106是能够分发内容的计算平台(诸如,例如网络服务器或参考图7描述的另一数据处理装置)。示例内容平台106包括搜索引擎、社交媒体平台、视频共享平台、新闻平台、数据聚合商平台或其他内容共享平台。每个内容平台106可以由内容平台服务提供商操作。
26.内容平台106可以发布并使其自己的内容可用。例如,内容平台106可以是发布其自己的新闻文章的新闻平台。内容平台106还可以显示不是内容平台106的一部分的一个或多个内容提供商108所提供的内容。在上述示例中,新闻平台还可以显示由一个或多个内容提供商108提供的第三方内容。作为另一示例,内容平台106可以是数据聚合商平台,其不发布其自己的内容,而是聚合和显示由不同内容提供商108提供的第三方内容。
27.在一些实现中,内容平台106可以存储关于客户端设备的一些信息(例如,设备偏好信息、内容消耗信息等)。这样的用户信息可以由内容平台用于例如定制提供给客户端设备102的内容或者使得能够容易地访问客户端设备102频繁访问的特定内容。在一些实现中,内容平台106可以不在平台上存储这样的设备信息;然而,内容平台106仍然可以提供这样的信息以存储在特定的服务器(与内容平台分离)上。因此,内容平台106(本文也称为内容平台/服务器106,或者简称为服务器)指的是存储这样的设备信息的内容平台或存储这样的设备信息的服务器(与内容平台分离)。
28.在一些实现中,内容平台106是视频服务,用户通过其可以观看流传输的视频内容。流传输给用户的视频可以包括覆盖在初始视频流之上的一个或多个数字分量(例如,由内容提供商108提供)。例如,对于给定的视频流传输带宽,通常期望在底层视频流上提供覆盖内容,以向视频流的观看者提供(多个)数字分量并提高在观看区域内递送的内容的数量。除了或代替视频流传输场景,内容平台106可以包括视频处理器,该视频处理器处理视
频文件以修改视频文件来包括覆盖内容,具有覆盖内容的经处理的视频文件提供给客户端设备102以便在客户端设备102上显示。
29.视频处理系统110可以确定给定视频的预测的观看时间损失区域,并向不同的实体或系统提供观看时间损失区域信息(如上文概述的以及参考图2-图6进一步描述的)。例如,视频处理系统110可以向内容提供商108提供关于观看时间损失区域的信息/数据,因此内容提供商可以在预测的观看时间损失区域之前安排数字分量。作为另一示例,观看时间损失信息可以提供给视频所有者的客户端设备102,作为对视频的反馈。例如,所有者可以基于观看时间损失信息来调整视频。
30.在一些实现中,视频处理系统110使用所训练的模型来生成观看时间损失信息(如这里概述的以及参考图2、图5和图6进一步描述的)。也就是说,所训练的模型可以被训练成输出特定输入视频中的观看时间损失区域。可以使用多个训练视频中的已知观看时间损失区域和与已知观看时间损失区域对应的多个训练视频的特征来训练所训练的模型。一旦模型被训练,则视频处理系统110可以使用所训练的模型来处理输入视频。可以针对输入视频确定一组特征(例如,视频特征、音频特征、语义特征),并且可以将特征提供给所训练的模型。所训练的模型可以标识输入视频中的观看时间损失区域。参考图2至图7在下面描述示例环境100的这些组件的附加结构和操作方面。
31.图2例示用于确定媒体内容项目中的观看时间损失区域的示例系统200。系统200描绘例如上述视频处理系统110的在下面描述的组件。系统200的每个组件是软件组件,其包括由诸如处理器这样的处理实体执行的指令。
32.视频仓库202(例如,数据库或其他存储设备)包括例如由内容平台106管理的视频。可以(例如,由管理员或训练视频选择器205)从视频仓库202中选择一组训练视频204,用于训练观看时间损失模型206。在一些实现中,可以基于察看的数量(例如,由管理员或训练视频选择器205)从视频仓库202中选择训练视频204。例如,特定视频被察看得越多,对该视频存在的交互数据(如下所述)就越多(例如,存储在用户活动日志208中)。因此,例如,训练视频204可以包括前x数量的最多观看的视频,或者可以包括已被观看至少y次的视频。通过选择最多观看的视频,观看时间损失曲线生成器210生成的观看时间损失曲线可以基于最大量的交互数据(如下面参考图3-图4进一步描述的)。
33.用户活动日志208中包括的交互数据可以包括开始和停止时间信息,其针对视频的每个视频察看会话指示用户开始观看视频的开始时间和用户结束他们的视频观看会话的结束时间。结束时间可以对应于视频的结束,或者可以是视频结束之前的时间点。除了开始和停止时间信息,用户活动日志还可以包括其他类型的数据,诸如与视频中的数字分量的用户交互。用户活动日志208中包括的信息可以被匿名化,从而不存储pin(个人可识别信息)。
34.观看时间损失曲线生成器210可以根据在用户活动日志208中包括的训练视频的聚合信息,为训练视频204中的每个相应训练视频创建观看时间损失曲线。下面参考图3描述和描绘由观看时间损失曲线生成器210生成的示例观看时间损失曲线。
35.图3例示视频的示例观看时间损失图300。该视频可以是上面关于图2描述的训练视频204之一。
36.如图3所示,x轴302对应于视频长度比率。例如,x轴上的值0(标记为304)对应于视
频的开始,而x轴上的值1(标记为306)对应于视频的结束。y轴308对应于在给定视频时间点仍在观看视频的该视频的视频会话的观看者的比率。例如,对于观看时间损失曲线312上的点310,y轴上的值1和x轴上的值0指示100%的观看者在他们的视频观看会话的开始时正在观看视频。对于点314,y轴上的值0.5和x轴上的值0.48指示到视频的时间48%已经结束/过去时,50%的观看者剩余并继续观看视频。换句话说,观看时间损失曲线上的该点也指示到视频的时间48%已经结束/过去时,50%的观看者已经停止观看视频。对于点316,y轴上的值0.08和x轴上的值1指示8%的观看者观看了视频,直至视频的结束。
37.再次简要参考图2,观看时间损失区域标识器212可以基于由观看时间损失曲线生成器210创建的观看时间损失曲线来标识训练视频204的观看时间损失区域。所标识的观看时间损失区域信息可以由观看时间损失区域标识器212存储在观看时间损失区域仓库213中。针对视频的给定观看时间曲线,观看时间损失区域标识器212可以将观看时间损失区域标识为曲线的斜率大于整个曲线的平均斜率的曲线的部分。
38.例如,并且再次参考图3,观看时间损失区域标识器212已经为观看时间损失曲线312确定了平均斜率。平均斜率在图300中由线318表示。所标识的观看时间损失区域320、322和324对应于观看时间损失曲线312的斜率大于平均斜率的观看时间损失曲线312的区域。例如,大于平均斜率和标识的观看时间损失区域320、322或324可以对应于在视频的那些时间窗口处的观看者的显著下降。观看时间损失区域标识器212可以将诸如标识的观看时间损失区域320、322和324的信息这样的标识的观看时间损失区域的信息存储在观看时间损失区域仓库213中。
39.下面参考图4讨论关于由观看时间损失区域标识器212确定观看时间损失区域的附加细节。
40.图4例示用于确定观看时间损失区域的示例伪代码400。例如,与伪代码400对应的代码可以由处理器执行,并且可以由上面参考图2描述的观看时间损失区域标识器212提供。第一节402包括用于使用平均斜率方法找到视频中的观看时间损失区域的伪代码。
41.代码行404包括用于确定平均观看时间的代码。观看时间指的是观看时间损失曲线(诸如观看时间损失曲线312)的y轴的值。观看时间相当于剩余人员的比率(如某个时间点仍在观看视频的人员)。剩余人员的比率(例如,剩余人员的计数除以人员的总数)在视频开始时具有开始值1,在曲线结束时的剩余人员的比率的值为0。因此,连接曲线的开始点和结束点的线的斜率可以计算为1(例如,y的变化)除以视频长度(例如,x的变化)。
42.代码行406开始迭代构造,其中视频的每个时间点(例如,每秒)被处理,并迭代通过由代码行408和410封装的指令(在下面描述)。
43.在代码行408中,确定当前时间点的观看时间和紧接在前的前一时间点的观看时间之间的差异是否大于平均观看时间。代码行408相当于确定当前时间点和紧接在前的前一时间点之间的观看时间损失曲线的斜率是否大于平均斜率。代码行408还对应于确定观看时间损失曲线在当前时间点的局部导数是否小于平均斜率。在行410,如果当前时间点的观看时间和紧接在前的前一时间点的观看时间之间的差异大于平均观看时间,则将该时间点添加到观看时间损失区域。例如,在要将第一时间点添加到观看时间损失区域时,新的观看时间损失区域可以被“打开”作为当前观看时间损失区域,并且可以将该时间点添加到当前观看时间损失区域。只要代码行408中的确定对于那些(多个)时间点返回真,就可以将后
续的连续时间点添加到当前观看时间损失区域。一旦代码行408中的确定对于一时间点返回假时,当前观看时间损失区域可以关闭。观看时间损失区域标识器212可以将关闭的观看时间损失区域的信息存储在观看时间损失区域仓库213中,对应于标识的观看时间损失区域。如果代码行408中的确定对于后续的时间点返回真,则可以打开另一观看时间损失区域作为当前观看时间损失区域。
44.再次参考图3,对于一般的视频内容(例如,对于大多数、所有或几乎所有的视频),与平均斜率相比,在对应于视频起始和结束的时间点,在观看时间损失曲线中可能出现斜率的相对急剧下降。例如,如果视频不包括预期或期望的内容,则某一部分用户可能在视频起始附近放弃该视频。作为另一示例,某一部分用户可能观看视频至结束或接近于结束,但是通常可能在视频接近完成时放弃该视频。如图3所示,与平均斜率相比,在观看时间损失曲线312的起始和结束处的曲线部分326和328分别具有相对陡的斜率。由于在观看时间损失曲线312的起始和结束处的更大的斜率,观看时间损失曲线312的较平坦的中间部分330的斜率通常低于整个观看时间损失曲线312的平均斜率。因此,如果斜率在较平坦的中间部分330的区域中增加(例如,如在观看时间损失区域320、322和324中)并且变得高于平均斜率,则观看时间损失区域标识器212可以将这些区域标识为观看时间损失区域。在较平坦的中间部分330中的观看时间损失区域中放弃视频的用户可能会由于视频的特征如此做。下面将更详细地描述这些特征。
45.因为与平均斜率相比,所有视频的大多数(如果不是全部或几乎全部)观看时间损失曲线在起始和结束时表现出急剧的斜率下降,所以起始和结束视频部分可以被视为对于观看时间损失区域标识是不感兴趣的,因为所有观看时间损失曲线的大多数都表现出这样的行为。因此,出于训练观看时间损失模型206的目的,可以排除观看时间损失区域标识器212标识视频开始和结束处的观看时间损失区域。下面参考图4讨论关于排除观看时间损失区域的附加细节。
46.再次参考图4,节412对应于从视频的开始排除(例如,去除)连续观看时间损失区域,而节422对应于从视频的结束去除连续观看时间损失区域。观看时间损失曲线通常在视频的起始和结束处具有相对急剧的下降。在一些实现中,作为标识的观看时间损失区域,出现在视频开始处的第一观看时间损失区域和出现在视频结束处的最后观看时间损失区域被观看时间损失区域标识器212去除。在其他实现中,可以使用逐时间点分析来去除初始和结束观看时间损失区域,如下面针对行412-422所描述的。
47.例如,行414开始迭代构造,其分析从视频的开始起的时间点(即,ti=t1)。在行416,对于当前时间点(ti),确定下个时间点(t
i+1
)是否在第一观看时间损失区域(例如,已由观看时间损失区域标识器212利用代码行406-410的操作标识为观看时间损失区域的区域)中。在行418,如果下一时间点在观看时间损失区域中,则从观看时间损失区域中去除当前时间点。在行420,一旦下一时间点不在观看时间损失区域中,则迭代构造退出。从初始观看时间损失区域去除起始时间点可以有效地导致延迟开始考虑观看时间损失区域的时间点,直至观看时间损失曲线在初始急剧下降之后开始平坦。行422开始迭代构造,其包括与开始于行414的迭代构造类似的逻辑,但是用于从最后时间点开始反向地处理视频的时间点。
48.在一些实现中和/或对于一些视频,可以使用不同的方法来减少所标识的观看时
间损失区域的数量。例如,当对于视频标识出超过预定阈值的区域时,可以使用观看时间损失区域减少方法。在一些实现中,可以使用导数的高百分位值从观看时间损失区域中过滤掉时间点,以创建观看时间区域候选的更细化的列表,该列表仅包括具有最陡斜率的区域。例如,可以将预定数量的具有最陡斜率的区域标识为观看时间损失区域,只要那些区域中的每个比平均斜率更陡。作为另一示例,可以计算二阶导数(例如,在每个时间点)并将其用于创建更细化的一组标识的观看时间损失区域。例如,二阶导数为负的观看时间损失曲线区域可以被选择为观看时间损失区域,而二阶导数不为负的观看时间损失曲线区域可以保持不被选择为观看时间损失区域。
49.当模型训练器215训练观看时间损失模型206时,由观看时间损失区域标识器212标识的观看时间损失区域可以被模型训练器215用作标签214。为了定义标签214,可以使用下面的等式,其中,i表示由观看时间损失曲线生成器210生成的观看时间损失曲线的给定区域:
50.目标标签:如果是观看时间损失区域,则y(i)=1;否则为0
51.观看时间损失模型206也可以由模型训练器215使用从视频特征数据库218检索的和/或由特征提取器219确定的训练视频204的特征216来训练。用于训练观看时间损失模型206的特征216可以包括在标识的观看时间损失区域中包括的时间点的预定时间窗口内在训练视频204中出现的特征。例如,预定时间窗口可以包括在观看时间损失区域中的时间点之前和之后的可配置的x秒的时间点(例如,x可以是15秒、6秒、9秒或某个其他值)。模型训练器215可以基于观看时间损失区域的预定时间窗口内的特征可以预测观看时间损失区域的假设来训练观看时间损失模型206。一般而言,在观看时间损失模型206中可以使用不同的机器学习方法,以生成预测的观看时间损失区域。例如,观看时间损失模型206可以是受监督的离线模型。在这样的模型中,使用视频的所确定的特征和标识视频中的观看时间损失区域的对应标签来训练受监督的机器学习模型(在下面参考图5和图6描述关于模型训练的附加细节)。这样,可以使用导致最准确预测的一种或多种机器学习方法。下面参考图5描述观看时间损失模型206的示例架构。
52.模型训练器215用于训练观看时间损失模型206的特征216可以包括各种类型的特征,诸如音频特征和视频特征。特征提取器219可以基于不同的特征提取模型220来标识视频的每秒和/或视频的每帧的特征。例如,特征提取模型220可以包括图像模型和音频模型。音频特征可以对应于各类声音,并且可以由特征提取器219使用一个或多个音频模型来确定。音频特征可以包括与视频中的音频信息相关的嵌入和注释。可以例如使用色彩空间方法、对象检测和/或其他方法来处理视频数据。视频特征可以对应于色彩空间特性、对象的存在或不存在等。特征216可以包括标识关于(多个)特定帧的语义信息的注释特征,诸如已经在音频和/或视频数据中标识的对象或语义实体。例如,由特征提取器219标识的视频特征可以包括使用在特征提取模型220中包括的语义模型生成的帧注释。例如,对于人正在骑自行车的视频帧,语义模型可以生成“骑自行车”和“运动员”的注释。其他特征可以包括衍生特征,诸如视频中最常见的注释。一些特征可以是原始嵌入特征。原始嵌入特征是由图像理解模型生成的描述视频外观的特征。原始嵌入特征可以捕捉帧或图像中的视觉/语义概念和相似性。
53.在一些实现中,将训练视频204作为输入提供给观看时间损失模型206,并且观看
时间损失模型206使用机器学习来分析训练视频204的每帧和对应的音频,以学习哪些特征对应于观看时间损失模型,而非让特征提取器219使用单独的特征提取模型220来提取特征并将提取的特征提供给观看时间损失模型206。然而,对观看时间损失模型206使用这样的方法可能导致对用于训练和分析的资源的不可接受的使用。所有帧的所有像素以及对应音频的完全评估可能给观看时间损失模型206增加不可接受的复杂性、大小和处理。让特征提取器219使用单独的特征提取模型220并将提取的特征提供给观看时间损失模型206可以提高观看时间损失模型206的效率,并使观看时间损失模型206能够使用较少的训练和处理资源进行预测。
54.一旦如上所述地由模型训练器215训练,就可以将观看时间损失模型206应用于输入视频221,以生成输入视频221的预测的观看时间损失区域222。输入视频221可以是例如最近上传的视频,其在用户活动日志208中存储很少的或没有交互数据。如下面参考图5更详细描述的,输入视频221的特征224可以由特征提取器219提取,并作为输入提供给观看时间损失模型206。输入视频221的特征224可以是与针对训练视频204确定的特征216相似类型的特征。然后,可以将针对输入视频221确定的特征224输入到所训练的观看时间损失模型206中,该模型使用特征224生成输入视频221的预测的观看时间损失区域222。观看时间损失模型206可以针对每个预测的观看时间损失区域222生成置信度得分,该置信度得分表示预测的观看时间损失区域222是观看时间损失区域的可能性。例如,预测的观看时间损失区域222可以表示输入视频221的置信度得分大于预定阈值的视频部分。
55.预测的观看时间损失区域222可以用于各种目的和/或提供给各种实体。例如,预测的观看时间损失区域222可以用于选择呈现数字分量的视频的特定时间点。例如,在预测的观看时间损失区域222之外的时间点(即,之前的时间点)可以被选择为用于与输入视频221的回放相关联地呈现数字分量的时间点。因此,相对于在预测的观看时间损失区域之后完成的数字分量回放,用户放弃数字分量(和输入视频221)回放的可能性降低。这样,资源消耗可以更有效,因为减少对未察看的内容花费资源的可能性。可以实现在预测的观看时间损失区域222之前呈现数字分量的其他有利之处,诸如通过将数字分量安置在预测的观看时间损失区域222之前,从可能出现的数字分量的大量实际察看而可能出现额外收入。
56.作为另一示例,视频处理系统110可以将预测的观看时间损失区域222(以及可能对应的置信度值)提供给视频创建者或所有者(例如,在视频工作室中,诸如在视频创建者将输入视频221上传到内容平台106之后)。观看时间损失信息的呈现还可以包括由观看时间损失信息生成器226生成的衍生的、聚合或呈现信息。例如,观看时间损失信息生成器226可以针对输入视频221生成衍生的观看时间损失信息228,该信息可以包括预测的观看时间损失区域222的计数、描述预测的观看时间损失区域222存在于输入视频221中何处的时间线视图或其他呈现的信息、和/或关于预测的观看时间损失区域222的各种其他统计或信息。例如,观看时间损失信息生成器226可以计算包括在预测的观看时间损失区域222中的输入视频221的运行时间的百分比(例如,在预测的观看时间区域中包括的时间/视频的总长度)。作为又一示例,输入视频221的视频质量得分可以由观看时间损失信息生成器226至少基于预测的观看时间损失区域222(诸如基于预测的观看时间损失区域222的总计数和/或总持续时间)来计算。其他示例可以包括观看时间损失信息生成器226确定指示输入视频221的预测的观看时间损失区域222与其他视频的观看时间损失预测或计算相比较(例如,
相对于观看时间损失区域的总计数和/或持续时间,与在类别、持续时间或其他视频特性上相似的其他视频相比较)如何的信息。衍生的观看时间损失信息228可以与预测的观看时间损失区域222一起呈现给例如视频创建者或内容提供商。
57.视频创建者可以使用所接收的预测的观看时间损失区域222的信息来调整输入视频221,以提高输入视频221的质量。例如,视频创建者可以调整或替换预测的观看时间损失区域222中的视频内容,并重新上传输入视频221以使用观看时间损失模型206再次处理。观看时间损失模型206可以用于针对输入视频221生成新的预测的观看时间损失区域222。视频创建者可以重复调整、上传和察看预测的观看时间损失区域222信息,直至视频创建者对输入视频221的预测的观看时间损失区域222的计数和/或持续时间的减少满意为止。
58.通过减少输入视频221中的预测的观看时间损失区域222的计数和/或持续时间,视频创建者可以创建在资源利用方面更有效的改进的视频。例如,与具有大量观看时间损失区域的视频相比,具有较少观看时间损失区域的视频将更有可能被察看更长时间段。因此,对于具有较少观看时间损失区域的视频,用于向用户提供视频的资源不太可能被浪费。此外,对于具有较少观看时间损失区域的视频,用于提供数字分量(其被提供用于与视频回放相关联的回放)的资源将不太可能被浪费。随着在视频中更少的观看时间损失区域,视频中在与观看时间损失区域对应的时间点播放数字分量的可能性降低。
59.观看时间损失模型206可以使用反馈回路随时间改进。例如,在使用观看时间损失模型206处理输入视频221时,如上所述,可以确定输入视频221的预测的观看时间损失区域222。随着时间的推移,输入视频221将可能被越来越多的用户观看,并且用户活动日志208可以包括输入视频221的越来越多量的交互数据。随着输入视频221的交互数据增长,观看时间损失区域标识器212可以标识输入视频221的实际的观看时间损失区域(例如,一旦已经为输入视频221收集了足够量的交互数据)(以与上述相同的方式)。例如,模型训练器215可以将实际的观看时间损失区域与预测的观看时间损失区域222进行比较,并且模型训练器215可以将比较结果馈送到观看时间损失模型206中,用于更新观看时间损失模型206。例如,当实际的观看时间损失区域与预测的观看时间损失区域222匹配时,可以(例如,由模型训练器215)增加观看时间损失模型206使用的置信度值或权重。作为另一示例,当实际的观看时间损失区域与预测的观看时间损失区域222不匹配时,模型训练器215可以降低观看时间损失模型206使用的置信度值或权重,或者模型训练器215可以以其他方式调整观看时间损失模型206,和/或模型训练器215可以至少使用输入视频221来重新训练观看时间损失模型206。
60.作为另一示例,在一些实现中,用于训练观看时间损失模型206的特征216可以由特征细化器230随时间(即,随着训练的进行)细化。例如,特征重要性计算器231可以针对在特征216中可能包括的每种类型的特征(例如,可以包括在特征216中的各种类型的视频、音频或语义特征)计算特征重要性。特征重要性可以由特征重要性计算器231基于训练视频204的哪些特征对应于由观看时间损失区域标识器212标识的观看时间损失区域来确定,较高数量的观看时间损失区域对应于导致较高特征重要性的特征,而较低数量的观看时间损失区域对应于导致较低特征重要性的特征。特征细化器230可以按照特征重要性对特征进行排序,并且特征细化器230可以从用于训练观看时间损失模型206的特征216中去除特征重要性低于阈值的特征。
61.作为另一示例,可以由特征消融器232执行特征消融(ablation)过程。例如,在每个训练视频204中,每个特征216可以由特征消融器232迭代地和分别地消融(例如,用噪声)。特征提取器219可以从每个消融的训练视频中提取特征(例如,包括忽略消融的特征),并将从每个消融的训练视频中提取的特征提供给观看时间损失模型206。特征细化器230可以将由观看时间损失模型206基于从消融的训练视频中提取的特征生成的预测的观看时间损失区域222与先前由观看时间损失区域标识器212对对应的未消融的训练视频204生成的观看时间损失区域进行比较。如果由观看时间损失模型206基于从消融的训练视频中提取的特征生成的预测的观看时间损失区域222小于(例如,在计数和/或持续时间上)对应的未消融的训练视频204的预测的观看时间损失区域,则特征细化器230可以确定消融的特征对于标识观看时间损失区域是重要的。也就是说,在不存在该特征的情况下,标识出较少的观看时间损失区域。如果由观看时间损失模型206基于从消融的训练视频中提取的特征生成的预测的观看时间损失区域222不小于(例如,在计数和/或持续时间上)对应的未消融的训练视频204的预测的观看时间损失区域,则特征细化器230可以确定消融的特征对于标识观看时间损失区域不重要。也就是说,即使该特征被消融,训练视频的观看时间损失区域仍然被标识。特征细化器230可以从用于训练观看时间损失模型206的特征216中去除在消融后被特征细化器230确定为不重要的特征。
62.图5例示观看时间损失模型500的示例架构。例如,观看时间损失模型500可以是上面参考图2描述的观看时间损失模型206。观看时间损失模型500包括双向rnn(循环神经网络)516。双向rnn 516可以包括一组门控循环单元(gru),包括gru 518和gru 520。对于输入视频中的每个时间t,可以(例如,由特征提取器219)提供级联的特征502和504作为给双向rnn 516的输入,具体地,作为给双向rnn 516的各个gru的输入。可以包括原始嵌入特征506、视觉特征508和音频特征510的级联的特征502包括从例如时间t之前15秒至时间t的特征。类似地,可以包括原始嵌入特征512、视觉特征514和音频特征515的级联的特征504包括从例如时间t至时间t之后15秒的特征。虽然描述15秒时间窗口,但是也可以使用其他时间窗口长度(例如,6秒、9秒、20秒)。实践的结果指示,通过向观看时间损失模型500提供关于视频的更多上下文,选择时间t之前和时间t之后两者的时间窗口可以有助于模型训练和预测。选择时间窗口长度可以涉及权衡决策。更长的时间段可以向观看时间损失模型提供关于视频的更多上下文,但是可能需要更多的数据用于训练和/或更多的模型复杂性(例如,更多的gru)。
63.双向rnn 516可以包括一系列步骤,每个步骤具有视频中的一秒时间标记处的特征。例如,关于上述的15秒时间窗口示例,双向rnn 516可以包括31个步骤(例如,对应于时间t之前的15秒、时间t本身以及时间t之后的15秒)。作为另一示例,在一些实现中,双向rnn 516可以使用lstm(长短期记忆)方法。
64.在双向rnn 516之上,全连接深度神经网络522可以用作观看时间损失模型500的附加层。例如,双向rnn 516的gru的输出(例如,31个定标器值的向量)可以被馈送到全连接深度神经网络522的全连接relu(校正线性单位)层。例如,全连接深度神经网络522可以使用relu作为激活函数。在全连接深度神经网络522中可以使用各种数量的层。
65.观看时间损失模型500的输出层可以使用s型(sigmoid)函数524,其可以将来自全连接深度神经网络522的输出转换成0和1之间的实数预测值526,该预测值526表示时间t是
输入视频中的观看时间损失区域的可能性。预测值526越大,t越可能是输入视频中的观看时间损失区域。更详细地并且作为其他示例,sigmoid函数524可以针对输入视频的每个区域生成得分(例如,0或1的二元得分,或者在诸如从0到1的范围内出现的得分)。每个区域的得分表示该区域是观看时间损失区域的可能性。如果特定区域的得分满足(例如,满足或超过)某个阈值(例如,1或大于0.5),则sigmoid函数524可以确定该特定区域是观看时间损失区域。另一方面,如果特定区域的得分不满足(例如,小于)某个阈值(例如,1或0.5),则sigmoid函数可以确定该特定区域不是观看时间损失区域。例如,管理员可以设置该某个阈值。作为另一示例,可以自动确定该某个阈值。
66.其他类型的架构可以用于观看时间损失模型500。如上所述,可以使用lstm模型而非gru。作为另一示例,在一些实现中,可以使用lstm模型和gru两者。
67.图6是用于确定媒体内容项目中的观看时间损失区域的示例过程600的流程图。过程600的操作在下面被描述为由图1至图5中描述和描绘的系统的组件来执行。下面描述过程600的操作仅用于说明目的。过程600的操作可以由任何适当的设备或系统(例如任何适当的数据处理装置)来执行。过程600的操作也可以被实现为在可以是非暂时性的计算机可读介质上存储的指令。指令的执行使一个或多个数据处理装置执行过程600的操作。
68.视频处理系统110接收第一视频(在602)。例如,如上面参考图2所述,可以接收输入视频221,诸如响应于来自选择输入视频221的管理员的用户输入或者来自触发输入视频221(和其他视频)的处理的批处理的用户输入。尽管描述视频内容,但是过程600也可以用于其他媒体内容,诸如音频内容。
69.视频处理系统110确定第一视频的一组特征(在604)。例如,如上面参考图2所述,特征提取器219可以确定输入视频221的特征224。该组特征可以包括视频特征、音频特征或语义特征。
70.视频处理系统110将第一视频的该组特征输入到所训练的模型中(在606)。例如,如上面参考图2所述,特征224可以作为输入提供给诸如观看时间损失模型206这样的所训练的模型。如上面针对观看时间损失模型500所讨论的,所训练的模型可以是或包括双向循环神经网络、全连接深度神经网络、lstm网络和/或其他机器学习引擎或系统(如上面参考图5所述)。所训练的模型被训练成输出特定视频中的观看时间损失区域,如上面参考图2-图5所述以及如下所总结的。特定视频的观看时间损失区域定义该特定视频的时间窗口,在该时间窗口中,用户停止该特定视频回放的可能性大于阈值可能性。使用多个训练视频中的已知观看时间损失区域和与已知观看时间损失区域对应的多个训练视频的特征来训练所训练的模型。例如,如上面参考图2所述,使用标签214以及在训练视频204的特征216上训练观看时间损失模型206,标签214基于由观看时间损失区域标识器212标识的训练视频204的观看时间损失区域。
71.训练观看时间损失模型可以包括:标识一组训练视频;针对每个训练视频生成观看时间损失曲线;确定每个观看时间损失曲线中的观看时间损失区域;以及使用观看时间损失曲线中的观看时间损失区域来训练所训练的模型。例如,如上面参考图2所述,观看时间损失曲线生成器210可以为每个训练视频204生成观看时间损失曲线。观看时间损失模型206可以由模型训练器215使用标签214来训练,标签214基于由观看时间损失区域标识器212在观看时间损失曲线中标识的观看时间损失区域。特定训练视频的观看时间损失曲线
可以由观看时间损失曲线生成器210根据来自用户活动日志的交互数据来生成,该用户活动日志包括例如特定训练视频的用户察看会话的开始和停止时间。例如,如上面参考图2所述,观看时间损失曲线生成器210可以基于用户活动日志208中的交互数据来生成观看时间损失曲线。
72.在一些实现中,确定观看时间损失曲线中的观看时间区域可以包括确定观看时间损失曲线的平均斜率。例如,如上面参考图3所述,线322描绘观看时间损失曲线312的平均斜率。观看时间损失曲线的平均斜率可以对应于用于确定观看时间损失区域的阈值可能性。例如,具有大于平均斜率的斜率的观看时间损失曲线的区域可以被标识为观看时间损失曲线中的观看时间损失区域。例如,如上面参考图3所述,观看时间损失区域324、326和328已经基于具有比观看时间损失曲线312的平均斜率更大的斜率而被标识为观看时间损失区域。
73.在一些实现中,在观看时间损失曲线的起始处的第一观看时间损失区域和在观看时间损失曲线的结束处的最后观看时间损失区域不用于训练所训练的模型。例如,如上面参考图2和图3所述,与曲线部分318和320对应的观看时间损失区域不用于训练观看时间损失模型206,尽管观看时间损失曲线的那些部分的斜率大于平均斜率。
74.使用观看时间损失曲线中的观看时间损失区域来训练所训练的模型可以包括:对于针对特定训练视频确定的每个观看时间损失区域,确定在观看时间损失区域的预定时间窗口内出现的特定训练视频的特征;以及使用在针对特定训练视频确定的观看时间损失区域的预定时间窗口内出现的特定训练视频的特征来训练所训练的模型。例如,如上面参考图2和图3所述,特征提取器219可以生成训练视频204的在观看时间损失区域324、326和328的预定时间窗口内的特征作为特征216。
75.视频处理系统110从所训练的模型获得关于第一视频的观看时间损失区域的数据(在608)。例如,如上面参考图2所述,观看时间损失模型206可以输出输入视频221的预测的观看时间损失区域222。
76.视频处理系统110向参与向用户提供第一视频的实体提供关于标识的观看时间损失区域的数据(在610)。例如,如上面参考图1所述,关于所标识的观看时间损失区域的数据可以提供给第一视频的所有者的客户端设备102。作为另一示例,关于观看时间损失区域的数据可以提供给内容提供商108,用于确定第一视频内显示数字分量的时间点。例如,如上面参考图1所述,内容提供商108可以确定在确定的观看时间损失区域之前安排数字分量的呈现。作为又一示例,内容提供商108可以使用关于所标识的观看时间损失区域的数据来确定何时向客户端设备102提供数字分量的服务决策。例如,可以基于优先级将安排在确定的观看时间损失区域之前播放的第一组数字分量发送给客户端设备102(例如,在安排第一组数字分量播放之前,甚至可能与提供视频一起),并且可以将安排在第一确定的观看时间损失区域之后播放的第二组数字分量(例如,由内容提供商108)配置为基于点播来提供(例如,正好在数字分量被安排播放时)。也就是说,由于一些用户可能倾向于在第一个确定的观看时间损失区域期间停止观看视频,所以内容提供商108可以在第一个观看时间损失区域之前提供一些高优先级的数字分量,并且在每个后续的观看时间损失区域之前提供较低优先级的数字分量。
77.提供给第一视频的所有者的客户端设备102的关于观看时间损失区域的数据可以
被呈现为第一视频的质量信息。质量信息可以指示第一视频的所确定的观看时间损失区域的计数和/或持续时间。如果质量信息指示低的或以其他方式不可接受的质量(例如,观看时间区域的计数或持续时间高于预定阈值),则所有者可以使用观看时间损失区域的信息来调整第一视频的那些部分,并且重新上传第一视频(例如,到内容平台106)作为第一视频的更新版本。视频处理系统110可以使用所训练的模型来处理第一视频的更新版本,以生成第一视频的更新版本的更新的观看时间损失信息,并将第一视频的更新版本的更新的观看时间损失信息提供给第一视频的所有者。所有者可以重复调整和上传,直至达到可接受的质量水平为止。
78.图7是可以用于执行上述操作的示例计算机系统700的框图。系统700包括处理器710、存储器720、存储设备730和输入/输出设备740。组件710、720、730和740中的每个都可以例如使用系统总线750来互连。处理器710能够处理在系统700内执行的指令。在一些实现中,处理器710是单线程处理器。在另一实现中,处理器710是多线程处理器。处理器710能够处理在存储器720中或在存储设备730上存储的指令。
79.存储器720存储系统700内的信息。在一种实现中,存储器720是计算机可读介质。在一些实现中,存储器720是易失性存储器单元。在另一实现中,存储器720是非易失性存储器单元。
80.存储设备730能够为系统700提供海量存储。在一些实现中,存储设备730是计算机可读介质。在各种不同的实现中,存储设备730可以包括例如硬盘设备、光盘设备、由多个计算设备通过网络共享的存储设备(例如,云存储设备)或一些其他大容量存储设备。
81.输入/输出设备740为系统700提供输入/输出操作。在一些实现中,输入/输出设备740可以包括网络接口设备(例如以太网卡)、串行通信设备(例如rs-232端口)和/或无线接口设备(例如802.11卡)中的一个或多个。在另一实现中,输入/输出设备可以包括被配置成接收输入数据并将输出数据发送给外围设备760(例如,键盘、打印机和显示设备)的驱动器设备。然而,也可以使用其他实现,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
82.尽管已经在图7中描述了示例处理系统,但是本说明书中描述的主题和功能操作的实现可以在其他类型的数字电子电路中实现,或者以计算机软件、固件或硬件实现,包括本说明书中公开的结构及其结构等同物,或者以它们中的一个或多个的组合实现。
83.本说明书中描述的主题和操作的实施例可以在数字电子电路中实现,或者以计算机软件、固件或硬件实现,包括本说明书中公开的结构及其结构等同物,或者以它们中的一个或多个的组合实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即计算机程序指令的一个或多个模块,其被编码在计算机存储介质(或媒介)上,用于由数据处理装置执行或控制数据处理装置的操作。替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以便传送给合适的接收器装置以由数据处理装置执行。计算机存储介质可以是或被包括于计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或者它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是或被包括于一个或多个单独的物理组件或介质(例如,多个cd、盘或其他存储设备)
中。
84.本说明书中描述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
85.术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机、片上系统或者前述的多个或组合。该装置可以包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。
86.计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且其可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适合在计算环境中使用的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协作文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署为在一个计算机上或者位于一个地点或分布在多个地点并通过通信网络互连的多个计算机上执行。
87.本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以被实现为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。
88.举例来说,适于执行计算机程序的处理器包括通用和专用微处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的海量存储设备,例如磁盘、磁光盘或光盘,以从该海量存储设备接收数据或向其传送数据或两者兼有。然而,计算机不需要有这样的设备。此外,计算机可以嵌入在另一设备中,例如,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器)等。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,例如包括:半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路来补充或并入其中。
89.为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,该计算机具有:用于向用户显示信息的显示设备,例如crt(阴极射线管)或lcd(液晶显示器)监视器;以及用户可以通过其向计算机提供输入的键盘和定点设备,例如鼠标或轨迹球。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和
从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求,向用户的客户端设备上的网络浏览器发送网页。
90.本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件,例如作为数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如具有图形用户界面或网络浏览器的客户端计算机,用户可以通过该图形用户界面或网络浏览器与本说明书中描述的主题的实现进行交互;或者包括一个或多个这样的后端、中间件或前端组件的任何组合。该系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)来互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网(例如,因特网)和对等网络(例如,自组织对等网络)。
91.计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生的。在一些实施例中,服务器将数据(例如,html页面)传送给客户端设备(例如,为了向与客户端设备交互的用户显示数据并从其接收用户输入的目的)。在客户端设备处生成的数据(例如,用户交互的结果)可以在服务器处从客户端设备接收。
92.虽然本说明书包含许多具体的实现细节,但是这些不应当被解释为对任何发明的范围或可能要求保护的范围的限制,而是作为对特定于具体发明的具体实施例的特征的描述。本说明书中在独立实施例的上下文中描述的一些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实现。此外,尽管特征可能在上面被描述为在一些组合中起作用,并且甚至最初被如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变型。
93.类似地,虽然在附图中以特定的次序描绘了操作,但是这不应当被理解为要求这些操作以所示的具体次序或顺序次序执行,或者要求所有示出的操作都被执行,以实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应当被理解为在所有实施例中都需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者打包到多个软件产品中。
94.因此,已经描述了主题的具体实施例。其他实施例在以下权利要求的范围内。在一些情况下,权利要求中所述的动作能够以不同的次序执行,并且仍能实现期望的结果。此外,附图中所描绘的过程未必需要所示的具体次序或顺序次序来实现期望的结果。在一些实现中,多任务和并行处理可能是有利的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1