生成音频数字组件的多个版本
1.相关申请的交叉引用
2.本技术是国际申请,并且要求于2020年8月23日提交的第276878号以色列申请的权益。前述申请的公开内容通过引用整体并入本文。
背景技术:3.本说明书总体上涉及数据处理以及音频数字组件的多个变型/版本的生成。
4.客户端设备可以例如经由商业网络浏览器或通过本机应用(例如,音乐播放器应用)从一个或多个内容提供者接收数字组件,并且提供这些接收到的数字组件供客户端设备的用户进行消费(例如,观看、收听)。例如,当数字组件是图像时,客户端设备可以提供数字组件以经由客户端设备的显示器显示。作为另一示例,当数字组件是视频时,客户端设备可以提供数字组件以经由客户端设备的显示器显示,并且经由设备的扬声器来播放与视频相对应的音频。作为又一示例,当数字组件是音频时,客户端设备可以经由设备的扬声器来播放与视频相对应的音频。
5.这种音频数字组件可以包括多种类型的音频元素,诸如语音、音乐和/或声音效果。例如,音频数字组件可以包括一个或多个语音元素(例如,人说话、实体说出单词)、一个或多个音乐元素(例如,背景音乐或另一配乐)、和/或一个或多个声音效果元素(除了话音或音乐之外的声音,例如,蜂鸣器声音、汽车急刹车以停下的声音等)。在一些情况下,这种音频数字组件还可以包括在播放音频内容的同时显示的配套(companion)图像。
技术实现要素:6.一般地,本说明书中描述的主题的一个创新方面可以体现在包括操作的方法中,该操作可以包括:经由用户界面接收对生成用于音频数字组件的模板的请求,该请求包括数据集合,其中数据集合包括指定用于包含在音频数字组件中的媒体数据块的数据,其中每个媒体数据块(1)是用于媒体数据项的容器,并且(2)具有特定的媒体类型;基于包括在请求中的数据集合并且对于每个媒体数据块,确定媒体数据块是包括静态内容还是动态内容,其中,当链接到媒体数据块的媒体数据项在音频数字组件的变型中保持不变时,媒体数据块包括(1)静态内容,或者当链接到媒体数据块的媒体数据项在音频数字组件的一个或多个变型中改变时,媒体数据块包括(2)动态内容;响应于接收到请求以及确定媒体数据块是包括静态内容还是动态内容,生成用于音频数字组件的模板;将第一组媒体数据项链接到模板中被识别为包括静态内容的媒体数据块;基于模板来生成音频数字组件的多个变型,包括对于每个变型,自动将第一组媒体数据项与变型中被识别为包括静态内容的媒体数据块相链接;对于音频数字组件的每个变型,将第二组媒体数据项链接到变型中被识别为包括动态内容的媒体数据块;从客户端设备接收对于音频数字组件的请求;获得表示在其内由客户端设备做出对于音频数字组件的请求的上下文的信号集合;以及基于表示上下文的信号集合,向客户端设备提供多个变型当中的音频数字组件的特定变型以供显示。该方面的其他实施例包括相对应的方法、装置和计算机程序,其被配置为执行编码在计算机
存储设备上的方法的动作。这些和其他实施例可以各自可选地包括以下特征中的一个或多个。
7.在一些实施方式中,方法还可以包括,其中用户界面是可配置用户界面。
8.在一些实施方式中,方法还可以包括:经由可配置用户界面检测用户对基础模板的配置;其中接收指定数据集合的对生成用于音频数字组件的模板的请求包括:响应于检测到用户对基础模板的配置,接收对生成用于音频数字组件的模板的请求,其中包括在请求中的数据是基于用户的配置的。
9.在一些实施方式中,方法还可以包括经由用户界面并且对于多个变型当中的每个变型来接收规则集合,该规则集合定义了指定何时要将变型提供给请求客户端设备以供显示的条件。
10.在一些实施方式中,方法还可以包括:基于对信号集合和每个规则集合的评估,向客户端设备提供音频数字组件的特定变型以供显示,包括:确定信号集合是否匹配对应于多个变型的规则集合中的任何一个规则集合;以及响应于确定信号集合匹配对应于特定变型的特定规则集合,将该特定变型提供给客户端设备以供显示。
11.在一些实施方式中,规则集合可以指定以下各项中的一个或多个:请求客户端设备的位置;请求客户端设备的位置处的天气;接收到对于音频数字组件的请求的日期;接收到对于音频数字组件的请求的时间;或者由客户端设备先前播放的音乐的流派。
12.在一些实施方式中,方法还可以包括:接收对用于音频数字组件的模板的修改,其中该修改是基于与可配置用户界面的交互而生成的,其中该交互指定以下各项中的一个或多个:对音频数字组件的总持续时间的改变;对要在另一媒体数据块被调度以停止播放或显示的时间间隔之后播放的媒体数据块的添加;要添加到媒体数据块内提供的媒体数据项的特殊效果;对其间要播放或显示相应媒体数据块的媒体项的时间间隔的调整;对指定媒体数据块是包括静态内容还是动态内容的标识的改变;或者用另一媒体数据项替换与媒体数据块相关联的媒体数据项。
13.在一些实施方式中,方法可以还包括:经由用户界面获得第一组媒体数据项和第二组媒体数据项中的每一个媒体数据项,包括:接收对经由批量上传操作上传媒体数据项的请求;提供用于执行批量上传操作的用户界面;以及经由用于执行批量上传操作的用户界面来接收批量文件,该批量文件(1)识别媒体数据项,(2)识别媒体数据项的资源位置,并且(3)包括每个媒体数据项与多个变型中的相应媒体数据块之间的映射。
14.在一些实施方式中,数据集合还可以包括:音频数字组件的总持续时间;以及总持续时间中的时间间隔,其指定每个相应媒体数据块的媒体数据项何时要被播放或显示。
15.本说明书中描述的主题的特定实施例可以被实施以实现以下优点中的一个或多个。
16.本说明书中描述的技术在生成音频数字组件的多个版本/变型时使用基于模板的方法,这导致在计算资源方面的显著节省。例如,本说明书中描述的技术可以生成指定要包括在模板中的内容的类型和内容的属性的模板。一旦模板被生成,本文描述的技术就可以生成模板的多个版本/变型,在该模板的多个版本/变型中某些内容(例如,预期跨模板的所有版本公共的内容)被自动复制——也就是说,不需要对于每个变型的单独的配置。这种基于模板的复制技术节省了计算资源,原本将需要这些计算资源来接收每个变型的内容和相
应属性,并且使用该接收到的信息来生成每个变型。因此,所描述的技术使得能够更有效地生成音频数字组件。这在生成音频数字组件的大量变型的情况下尤其重要。例如,通过避免传输用于每个单独的变型的内容的需要,可以降低带宽需求。此外,通过避免处理和操纵每个单独的变型中的所有内容的需要,可以降低电池和处理器需求。对于n个变型,所描述的技术利用了其中自动复制跨所有变型公共的内容的模板,而不是独立地生成n个变型的所有特征。这大大减少了所需的计算资源,并且因此更有效地大规模生成音频数字组件。此外,所有变型可以在同一平台中生成和/或在单个过程中生成和/或基于具体的动态规则来作为要服务的单个内容项进行分发,这可以降低与在不同实体之间来回传送内容相关联的带宽需求。此外,要在多个变型中使用的媒体数据项的批处理块(bulk)或批量(batch)上传进一步降低了带宽需求,例如通过降低与传输单独的媒体数据项相关联的计算开销。
17.此外,这种基于模板的技术还节省了计算机存储资源。这是因为,本文描述的技术仅存储各种变型的单个、唯一的一组媒体数据项,而不是必须存储多组基本相同的内容/媒体数据项(即,每个变型中的静态数据块的内容对于每个变型将是相同的)。因此,所描述的技术使得能够更有效地存储音频数字组件。这在生成音频数字组件的大量变型的情况下尤其重要。对于n个变型,所描述的技术使得能够存储后备轨道的单个副本(其可以在每个变型中被自动链接到),而不是存储例如后备轨道的n个副本。这大大减少了所需的计算存储,并且因此更有效地大规模存储音频数字组件。
18.此外,与其他技术相比,本说明书中描述的技术还使得能够对音频数字组件的多个变型进行资源有效的修改。例如,其他技术可以将音频数字组件中包括的各种类型的媒体(例如,语音、背景音乐、声音效果)组合成单个数据流。当生成这种音频数字组件的多个版本时,这种技术通常需要解析组合的音频数据流,识别流的部分以进行变更和用新内容进行替换,并且处理流以替换内容,而不影响在相同时间间隔期间也正在播放/显示的其他内容的保真度。该过程可能会消耗大量的时间和/或计算资源,该时间和/或计算资源通常可能会被生成音频数字组件的新版本另外所需的时间和资源所超过(与修改音频数字组件的现有版本相反)。相反,本文描述的技术使用模块化方法,该模块化方法需要离散地指定与每种单独类型的媒体(例如,声音效果、语音、音乐)相对应的各种媒体数据块,并且然后将(相同类型的)媒体项链接到这些媒体数据块中的每一个。作为结果,对于音频数字组件的每个变型,换出/替换/添加媒体数据项只需要将新的内容/媒体数据项与特定的媒体数据块相链接,因此与修改现有音频流或生成新的音频数字组件相比,这需要显著更少的资源。换句话说,将媒体数据项替换或添加到音频数字组件的每个变型不需要任何复杂的音频数据流解析、分离和/或处理。
19.本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中进行了阐述。根据描述、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
20.图1是其中数字内容被分发和提供以供在客户端设备上显示的示例环境的框图。
21.图2a-图2h是示出可以经由模板和变型界面进行的各种配置的示例用户界面(如图1所引用)。
22.图3是用于基于针对音频数字组件生成的模板来生成和分发音频数字组件的变型
的示例过程的流程图。
23.图4是可以用于执行所描述的操作的示例计算机系统的框图。
具体实施方式
24.本说明书总体上涉及特定音频数字组件(component)的多个变型/重复(iteration)的有效生成,以及基于在其内做出对于内容/音频数字组件的请求的上下文来提供用于显示/播放的特定变型。
25.如下所概述的、并且遍及本文档更详细地描述的,模板生成器生成用于音频数字组件的模板,变型管理器基于所生成的模板来生成音频数字组件的多个变型/版本,并且规则引擎响应于来自客户端设备的对于内容的请求,提供所生成的多个变型当中的音频数字组件的特定版本/变型以供显示。
26.模板生成器经由用户在用户界面上的配置/交互来接收对生成用于音频数字组件的模板的请求。该请求包括数据集合,例如,该数据集合指定(1)用于包含在音频数字组件中的媒体数据块,(2)每个媒体数据块是包括静态内容还是动态内容,(3)音频数字组件的总持续时间,以及(4)其间要播放/显示与每个媒体数据块相对应的内容的时间间隔。如本说明书中所使用的,媒体数据块是用于媒体数据项(包括媒体的特定内容项)的容器,并且具有特定的媒体类型(例如,语音、声音效果、图像或音乐)。换句话说,媒体数据块是预先分配的数据块,特定的媒体类型的特定媒体数据可以链接到该数据块。如本说明书中所使用的,当链接到媒体块的媒体数据项在音频数字组件的变型中保持不变时,媒体数据块包括静态内容,而当链接到媒体块的媒体项在音频数字组件的一个或多个变型中改变时,媒体数据块包括动态内容。
27.基于该请求和包括在请求中的数据集合,模板生成器确定要包括在用于音频数字组件的模板中的属性。例如,基于数据集合,模板生成器确定要包括在模板中的媒体数据块、媒体数据块是包括静态内容还是动态内容、音频数字组件的持续时间以及其间要播放或呈现与每个媒体数据块相对应的内容的时间间隔。基于这些属性,模板生成器生成用于音频数字组件的模板。模板生成器还将第一组媒体项链接到模板中被识别为包括静态内容的媒体数据块。
28.使用生成的模板,变型管理器生成音频数字组件的多个副本,这些副本被称为音频数字组件的变型或版本。对于每个变型,变型管理器自动将第一组媒体项与变型中被识别为包括静态内容的媒体数据块(如已经在模板生成器生成的模板中所定义的)相链接。以这种方式,不需要单独链接每个变型的公共媒体数据块的相同的内容(和相对应的属性)。此外,对于每个变型,变型管理器还将第二组媒体数据项链接到被识别为包括动态内容的媒体数据块。针对每个变型的动态媒体数据块的第二组媒体数据项可以不同。例如,针对一个变型中的一个动态媒体数据块的媒体数据项可以不同于针对另一变型中的相同动态媒体数据块的另一媒体数据项。
29.随后,当从客户端设备接收到对于音频数字组件的请求时,规则引擎获得表示在其内由客户端设备做出请求的上下文的信号集合。规则引擎将表示上下文的信号集合与每个变型的规则集合进行比较。如果发现匹配,则规则引擎确定要提供与匹配的规则集合相对应的变型以供在客户端设备上显示。规则引擎提供所确定的变型以供在请求客户端设备
上显示。
30.下面参考图1-图4进一步描述这些特征和附加特征。
31.图1是其中数字内容被分发和提供以供在客户端设备上显示的示例环境100的框图。
32.示例环境100包括网络104。网络104可以包括局域网(lan)、广域网(wan)、互联网或其组合。网络104还可以包括任何类型的有线和/或无线网络、卫星网络、电缆网络、wi-fi网络、移动通信网络(例如,3g、4g等)或其任何组合。网络104可以利用通信协议,包括基于分组和/或基于数据报的协议(诸如互联网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp))或者其他类型的协议。网络104还可以包括促进网络通信和/或形成网络硬件基础的多个设备,诸如交换机、路由器、网关、接入点、防火墙、基站、中继器或其组合。
33.网络104连接客户端设备102、内容提供者108和内容平台106。示例环境100可以包括许多不同的内容平台106、内容提供者108和客户端设备102。
34.内容平台106是使得能够分发内容的计算平台(诸如,例如参考图4描述的数据处理装置)。示例内容平台106包括搜索引擎、社交媒体平台、新平台、数据聚合器平台或其他内容共享平台。每个内容平台106可以由内容平台服务提供者来操作。
35.内容平台106可以发布其自己的内容并使其自己的内容可获得。例如,内容平台106可以是发布其自己的新闻文章的新闻平台。内容平台106还可以呈现由不是内容平台106的一部分的一个或多个内容提供者108提供的内容。在上述示例中,新闻平台还可以呈现由一个或多个内容提供者108提供的第三方内容。作为另一示例,内容平台106可以是数据聚合器平台,其不发布其自己的任何内容,但是聚合并呈现由不同内容提供者108提供的第三方内容。
36.内容提供者108是计算平台(诸如,例如参考图4描述的数据处理装置),并且可以包括服务器、储存库或其他存储设备,该其他存储设备存储由一个或多个实体生成和/或发布的内容,并且响应于来自这些实体的对于内容的请求而向内容平台106和/或客户端设备102提供内容。
37.客户端设备102是能够通过网络104请求和接收内容的电子设备。示例客户端设备102包括个人计算机、移动通信设备、数字助理设备以及能够通过网络104发送和接收数据的其他设备。
38.示例客户端设备102通常包括主要负责管理设备硬件和软件资源的操作系统,设备硬件诸如是设备存储装置,软件资源诸如是应用。客户端设备102通常包括应用(诸如,例如网络浏览器或本机应用),以促进通过网络104发送或接收数据以及呈现/产生内容(例如,内容页面、音乐、视频等)以供在客户端设备102上消费。
39.在一些实施方式中,内容提供者106可以使内容创建者能够生成数字组件(例如,音频数字组件),并且使它们直接可用于经由内容提供者106进行分发。在这种实施方式中,内容提供者106可以包括一个或多个前端用户服务器110、一个或多个后端服务器112以及一个或多个存储设备(诸如,例如存储设备120、128、130和132)。每个存储设备可以包括存储在一个或多个非暂时性数据存储介质(例如,(一个或多个)硬盘驱动器、闪存等)中的一个或多个数据库(或其他适当的数据存储结构)。
40.前端服务器110可以通过网络104向客户端设备102发送数据和从客户端设备102
接收数据。例如,前端服务器110可以向在客户端设备102上执行的应用提供界面(例如,模板界面122、变型界面124或规则界面126)或数据以供与界面一起呈现。前端服务器110还可以接收指定用户与这些(和/或其他)界面中的一个或多个界面的交互/这些(和/或其他)界面中的一个或多个界面上的配置的数据集合,该数据集合可以包括例如用于生成音频数字组件的模板的数据和/或音频数字组件的每个变型/实际副本/重复的数据(如下文进一步描述的)。
41.前端服务器110也可以与后端服务器112进行通信。例如,前端服务器110可以识别将由后端服务器112处理的数据,例如,用于生成音频数字组件的模板的数据和/或生成和管理音频数字组件的每个变型的数据(如下面进一步描述的),并且将识别的数据提供给后端服务器112。
42.后端服务器112可以包括模板生成器114、规则引擎116和变型管理器118。后端服务器112的这些组件中的每一个可以被实施为执行任务集合的数据处理装置(如参考图4所述)。这些组件中的每一个所执行的操作/任务概述如下,并且参考图2和图3进行更详细的描述。
43.模板生成器114生成用于音频数字组件的模板。模板生成器114提供基础模板以供显示,以及模板界面122中的进一步的配置。模板生成器114经由模板界面122接收基于对基础模板的交互/修改的数据集合(也称为用户指定的配置数据)。该数据集合可以包括指定以下内容的数据:例如,音频数字组件的总持续时间、要包括在模板中的媒体数据块的数量、音频数字组件的持续时间期间的、链接到相应媒体数据块的媒体数据项将被播放/呈现的时间间隔、要链接到媒体数据块的媒体的类型(诸如音频、语音、声音效果、图像)、媒体数据块是包括静态内容还是动态内容、和/或要链接到例如静态媒体数据块的媒体数据项。
44.使用接收到的用户指定的配置数据,模板生成器114生成用于音频数字组件的模板。所生成的模板可以是数据文件或配置文件,该数据文件或配置文件用作音频数字组件蓝图的蓝图,并且指定要被包括在音频数字组件的每个变型/副本中的各种媒体数据块、它们的相应属性(时间间隔、特殊效果、持续时间等)以及这些块之间的关系。模板生成器114可以将用于音频数字组件的模板存储在模板存储设备120中。
45.变型管理器118使用用于音频数字组件的模板来生成和管理音频数字组件的变型/副本。变型管理器118提供变型界面124,在该变型界面内,内容创建者的操作者可以指示需要制作用于音频数字组件的模板的多个副本,以及提供用于音频数字组件的实际重复的配置,诸如要链接到例如每个变型中的每个动态媒体数据块的媒体项(如图2和图3中进一步描述的)。使用这些配置并且基于所生成的模板,变型管理器118生成模板的多个副本/变型,并且基于所指定的配置来更新模板的每个副本(例如,通过对于每个变型将媒体项链接到配置中指定的相应媒体块)。变型管理器118提供各种变型以供存储在变型存储设备128中。以这种方式,变型管理器118可以快速且有效地生成同一音频数字组件的多个副本/变型。
46.(例如,由模板生成器114和变型管理器118)链接到模板和/或各种变型中的各种媒体数据块的媒体项存储在媒体项存储设备130中。在一些实施方式中,媒体项存储设备仅存储每个唯一媒体数据项的单个副本,而不管媒体数据项是否在多个变型中使用(例如,跨每个变型公共/在每个变型中包括的静态媒体项),从而避免媒体数据项的冗余存储。在一
图2e来描述这些方面。
56.图2b示出了在点击“编辑模板”按钮224(在图2a中)时显示的示例用户界面。
57.图2b(以及随后的图2c至图2h)包括许多先前参考图2a描述的相同元素,并且因此为了简洁,这里不再重复对这些元素的描述(尽管相同的描述同样也适用于这些图)。
58.在该“编辑模板”模式中,操作者可以选择泳道206-210中的任何媒体数据块,并且对该资产进行编辑,如“编辑资产”面板228所示。这里,操作者已经(例如,通过点击或选择)选择了语音媒体数据块212。因此,“编辑资产”面板224使得能够编辑/添加该选择的资产的属性,诸如指定该媒体数据块是否为动态的、为该资产提供文件、或者为该资产添加一个或多个特殊效果。
59.通过切换按钮224,操作者可以指定该媒体数据块是动态的还是静态的。如果操作者指定媒体数据块为动态的,则操作者指示要链接到该媒体数据的任何媒体项将在该音频数字组件的一个或多个变型之间变化。另一方面,如果操作者指定媒体数据块不为动态的(并且因此为静态的),则操作者指示要链接到该媒体数据的媒体项将在该音频数字组件的副本/变型之间保持相同(并且因此为静态的)。
60.如上参考图2a所述,操作者可以通过拖放语音文件或通过点击上传按钮230来指定链接到该语音媒体数据块212的这种语音文件。操作者还可以通过选择下拉箭头226来指定要添加到要链接到该媒体数据块的媒体项的特殊效果。可以添加到媒体数据块的特殊效果的示例包括但不限于,音频数据的淡入或淡出(例如,如淡入和淡出时间所指定的)、修剪音频数据的部分(例如,如修剪开始和修剪结束时间所指定的)以及偏移(其指定例如特定媒体数据项要从音频数字组件的起始或前一媒体数据块进行偏移的时间量)。
61.通过点击/选择“添加轨道”按钮224,操作者可以添加一个或多个附加的泳道(其对应于任何媒体类型:声音效果、语音,可以向其添加附加的媒体数据块/媒体数据项的媒体类型)。
62.操作者可以通过点击/选择泳道206-210中的任何一个中的+(加号)按钮240来指定要添加到模板的附加媒体数据块(如图2c所示)。例如,通过点击语音泳道206中的+(加号)按钮240,操作者请求向该泳道添加另一语音媒体数据块。
63.图2c示出了在点击“编辑模板”按钮224时以及在用户已经上传媒体数据项并选择下拉箭头226之后显示的示例用户界面。
64.如图2c所示,操作者已经上传了名为“前奏a.mp3”的语音媒体数据项(标记为234)。如果操作者决定用另一媒体数据项替换这个媒体数据项,则操作者可以选择x 236以删除这个媒体数据项,并且然后上传另一媒体数据项,如参考图2a和图2b所述。
65.如该图所示,操作者现在可以与子面板232交互,以指定各种效果,诸如向上传的语音媒体项234添加淡入淡出以及修剪该媒体数据项234的开始或结束。操作者还可以与子面板232交互以添加偏移,该偏移指定了在播放该特定媒体数据项之前从音频数字组件的起始必须经过的时间量。在这种情况下,操作者已经设置了2.5秒的偏移(00:02:500),从而指示语音媒体数据项234应当在开始播放音频数字组件之后2.5秒播放。
66.如果操作者对这些设置满意,则操作者可以按下应用按钮238,这保存对该模板的所有的用户的配置。可替代地,如果操作者决定继续编辑模板,则操作者不需要按下应用按钮238。
67.图2d示出了当操作者选择该泳道中的+(加号)按钮240时将附加媒体数据块242添加到语音泳道206的示例用户界面。一旦该媒体数据块242被显示在语音泳道206中,它就变成“活动的”(即,当前可编辑的)媒体数据块,并且因此,操作者可以以与上面参考图2a-图2c描述的基本相同的方式在“编辑资产”面板228中对该媒体数据块/资产进行编辑。
68.图2e示出了用于添加/编辑配套面板222的示例用户界面。
69.操作者可以通过点击/选择“编辑配套”按钮256来指示编辑配套面板222。当点击该按钮时,配套面板222变成“活动的”(即,当前可编辑的)媒体数据块,并且因此,操作者可以在“编辑配套”面板250(其类似于图2b-图2d中所示的“编辑资产”面板228)中对该媒体数据块进行编辑。类似于图2b,操作者可以使用按钮260来指定配套面板222是否将为动态的(即,指定链接到该面板的资产是否会在音频数字组件的多个变型之间变化)。此外,如框252和254所示,操作者可以上传多个媒体项以供在该媒体数据块(即,配套面板222)中显示,并且可以指定这些媒体数据项中的每一个的尺寸,如框252所示。
70.如果操作者对模板的这些设置满意,则操作者可以按下应用按钮238,这保存对该模板的所有的用户的配置。可替代地,如果操作者决定继续编辑该模板,则操作者不需要按下应用按钮238,并且可以以上面参考图2b-图2e描述的任何方式来编辑模板。图2f-图2h的描述假设了操作者通过按下应用按钮238保存他/她对模板的设置。
71.在一些实施方式中,当按下应用按钮238时,对基础模板的操作者的配置被保存并提供给(图1的)模板生成器114。例如,模板界面122(其中进行了上述配置)生成对生成模板的请求,并且该请求包括指定操作者对基础模板进行的各种配置的数据集合。模板界面将该请求和数据集合提供给模板生成器114,模板生成器114使用该数据来生成用于音频数字组件的模板(如参考图3进一步描述的)。
72.因此,使用图2a至图2e中的界面,操作者至少可以指定用于音频数字组件的模板的以下属性/设置中的一个或多个:(1)音频数字组件的总持续时间;(2)第一组媒体数据块的添加,(3)在另一媒体数据块被调度以停止播放或显示之后添加要播放的媒体数据块,(4)要添加到链接到媒体数据块的媒体数据项的特殊效果,(5)对其间要播放或显示相应媒体数据块的媒体项的时间间隔的调整,(6)指定媒体数据块是包括静态内容还是动态内容的标识(或对标识的改变),或者(7)移除与媒体数据块相关联的媒体数据项和/或用另一媒体数据项替换与媒体数据块相关联的媒体数据项。
73.图2f示出了在操作者按下应用按钮238(例如,如图2e所示)时显示的变型界面124,该应用按钮保存对模板的操作者的设置。这个变型界面124示出了变型1(其只是所生成的模板的一个实例)的所有媒体数据块以及由操作者选择的这些块的相对应的媒体数据项和设置(如图2b-图2e中所描述的)。
74.图2g示出了操作者可以指定用于要创建的音频数字组件的模板的副本/变型的数量的示例变型界面124。如图所示,操作者可以通过点击“制作副本”按钮262来指定模板的变型/副本的创建。当点击该按钮时,示出新的变型(变型1(副本)),其包括与变型1相同的设置和配置。每当操作者选择“制作副本”按钮262时,创建新的变型。操作者可以通过选择该变型上的复选标记按钮(例如,按钮266、268)然后按下“删除”按钮264来删除任何创建的变型。
75.如果操作者想要对特定变型(例如“变型1(副本)”)进行更新,则操作者可以选择
该变型的复选标记按钮266,该复选标记按钮被激活(即,使其可编辑)。一旦被激活,操作者就可以对该变型的设置/配置进行添加或改变(类似于图2b-图2e中描述的设置/配置)。例如,操作者可以(1)添加/移除该变型的媒体数据块,(2)调整播放/呈现链接到各种媒体数据块的媒体数据项的时间,以及(3)向动态媒体数据块指定附加媒体数据项。
76.如果操作者对其对特定变型的设置/配置满意,则操作者可以按下保存按钮270,这保存对该变型的所有的用户的配置。可替代地,如果操作者决定继续编辑变型,则操作者不需要按下保存按钮270,并且可以以上面参考图2b-图2e描述的任何方式来编辑变型。
77.图2h示出了操作者可以指定用于要创建的音频数字组件的模板的副本/变型的数量的另一示例变型界面124。与提供了各种变型及其相应设置/配置的平铺视图的图2g中的变型界面不同,图2h的变型界面示出了各种变型及其相应设置/配置的列表视图。与图2g中的界面一样,操作者可以在图2h中的这个界面上执行相同的动作。
78.此外,经由该变型界面,操作者可以使用批处理块上传/批量上传特征来快速指定要链接到各种动态媒体数据块的媒体数据项。为了这样做,操作者使用批量上传按钮(未示出)来启动批量上传器,该批量上传器生成经由批量上传来上传媒体数据项的请求。响应于该请求,变型管理器118提供批量上传器界面,经由该批量上传器界面可以上传批量文件。该批量文件(1)识别媒体数据项,(2)识别媒体数据项的资源位置,并且(3)包括每个媒体数据项与多个变型中的相应动态媒体数据块之间的映射。然后,变型管理器116提供/接收批量文件和所包括的设置/配置,然后基于这些设置来更新各种变型(如参考图3进一步描述的)。
79.图3是用于基于针对音频数字组件生成的模板来生成和分发该音频数字组件的变型的示例过程300的流程图。过程300的操作在下面被描述为由图1和图2中描述和描绘的系统的组件执行。过程300的操作仅出于说明的目的在下面描述。过程300的操作可以由任何适当的设备或系统(例如,任何适当的数据处理装置)执行。过程300的操作也可以实施为存储在计算机可读介质(例如,非暂时性计算机可读介质)上的指令。指令的执行使得一个或多个数据处理装置执行过程300的操作。
80.接收对生成用于音频数字组件的模板的请求(在305处)。在一些实施方式中,用户与模板界面122(其是用户可配置界面)交互,并且经由该模板界面122指定对基础模板的配置/设置(如参考图2b-图2e所述)。模板界面122生成对于生成用于音频数字组件的模板的请求,该请求包括数据集合,该数据集合包括/表示对模板的用户配置。该数据集合可以包括/表示指定例如以下内容的数据:(1)用于包含在音频数字组件中的媒体数据块,(2)音频数字组件的总持续时间,(3)当要播放或显示链接到媒体数据块的媒体项时的总持续时间中的时间间隔,或者(4)媒体数据块是包括静态内容还是动态内容。
81.在一些实施方式中,模板界面122向模板生成器114提供该请求(包括数据集合),并且模板生成器114从模板界面122接收该请求。
82.基于包括在请求中的数据集合并且对于每个媒体数据块,模板生成器114确定媒体数据块是包括静态内容还是动态内容(310)。在一些实施方式中,对于在操作305中指定的每个媒体数据块,模板生成器114使用指定媒体数据块是包括静态内容还是动态内容的数据集合中的用户的配置来确定媒体数据块是包括静态内容还是动态内容。例如,如果用户配置指定特定媒体数据块包括静态内容,则模板生成器114确定该特定媒体数据块包括
静态内容。作为另一示例,如果用户配置指定特定媒体数据块包括动态内容,则模板生成器114确定该特定媒体数据块包括动态内容。
83.响应于接收到请求以及确定媒体数据块是包括静态内容还是动态内容,模板生成器114生成用于音频数字组件的模板(315)。在一些实施方式中,模板生成器114使用包括在请求中的数据集合来生成用于音频数字组件的模板。例如,如果用户配置指定创建一定数量的不同媒体类型(例如,图像、声音效果、音乐、语音)的媒体数据块,则模板生成器114创建包括那些指定的媒体数据块的模板。此外,使用配置中指定的总持续时间,模板生成器114将模板更新为具有配置中指定的时间长度/持续时间。此外,使用指定每个媒体数据块何时要被播放/呈现的时间间隔配置,模板生成器114更新模板以在总持续时间期间调整每个媒体数据块的开始和结束时间。此外,使用模板生成器114关于特定媒体数据块是包括静态内容还是动态内容的确定,模板生成器114生成动态或静态媒体数据块以用于包含在模板中。
84.模板生成器114将第一组媒体项链接到模板中被识别为包括静态内容的媒体数据块(320)。在一些实施方式中,在创建模板之后或期间,操作者还可以指定要链接到一个或多个静态媒体数据块的媒体项(如参考图2所述)。使用要链接到一个或多个静态媒体数据块的媒体项的操作者规范,模板生成器114将这些媒体数据项链接到模板中它们的相应静态媒体数据块。
85.基于模板,变型管理器116生成音频数字组件的多个变型(325)。在一些实施方式中,操作者例如经由变型界面124指定对模板的多个变型的创建(如参考图2f-图2h所述)。基于操作者的规范,变型管理器116生成模板的指定数量的变型/副本。在创建每个变型时,变型管理器116对于每个变型自动将第一组媒体项与其在变型中的相应静态媒体数据块相链接。因此,使用基于模板的方法,变型管理器116只需创建变型的数字副本,而不是接收对于音频数字组件的每个新版本的设置/配置,然后基于接收到的设置/配置来生成音频数字组件的单独版本。
86.对于音频数字组件的每个变型,变型管理器116将第二组媒体数据项链接到变型中被识别为包括动态内容的媒体数据块(在330处)。在一些实施方式中,对于每个变型,操作者可以经由变型界面124识别要被链接到该变型中的动态媒体数据块的第二组媒体数据项(如参考图2f-图2h所述)。如果操作者使用批量上传操作(如参考图2g所述),则变型管理器116经由变型界面124接收批量文件,该批量文件(1)识别媒体数据项,(2)识别媒体数据项的资源位置,并且(3)包括每个媒体数据项与多个变型中的相应媒体数据块之间的映射。使用该批量文件,变型管理器116(1)获得识别的媒体数据项(来自批量文件中识别的资源位置)并将这些媒体数据项存储在媒体项存储设备130中,以及(2)将批量文件中识别的媒体数据项链接到多个变型中的各种动态媒体数据块。变型管理器118将变型及其相应属性(例如,媒体数据块、链接到这些媒体数据块的媒体项、其间要播放或呈现每个媒体数据块的时间间隔)存储在变型存储设备128中。
87.从客户端设备接收对于数字组件的请求(在335)。在一些实施方式中,客户端设备102在导航到内容平台106的同时生成对于数字组件的请求,该请求被路由到内容提供者108。在接收到对于数字组件的该请求时,内容提供者108可以确定(例如,基于诸如设备位置、设备内容观看历史、设备内容偏好的上下文信息)提供在操作305至330中创建的音频数
字组件。
88.内容提供者108确定或获得表示在其内由客户端设备做出对于数字组件的请求的上下文的信号集合(在340)。在一些实施方式中,在从其生成请求(在操作335中)的内容页面上执行的脚本可以收集表示在其内接收对于数字组件的请求的上下文的信号集合的数据。信号集合可以包括基于设备环境和与设备相对应的配置文件而获得的任何数据/信号。例如,信号集合可以包括:(1)请求客户端设备的位置;(2)请求客户端设备的位置处的天气;(3)接收到对于音频数字组件的请求的日期;(4)接收到对于音频数字组件的请求的时间;(5)由客户端设备先前播放或观看的音乐或其他内容的流派;(6)与客户端设备102相对应的、指定内容偏好和/或先前消费内容的配置文件;(7)所请求的音频数字组件的指定持续时间;和/或(8)与配套面板相对应的图像(或其他数字组件)的(一个或多个)指定尺寸。
89.基于表示上下文的信号集合,规则引擎116提供多个变型当中的音频数字组件的特定变型以供在客户端设备102上显示(在345处)。在一些实施方式中,规则引擎116经由用户界面(例如,规则界面126)并且对于多个变型当中的每个变型来接收规则集合,该规则集合定义了指定何时要将变型提供给请求客户端设备以供显示的条件。在一些实施方式中,规则集合可以指定以下各项中的一个或多个:请求客户端设备的位置;请求客户端设备的位置处的天气;接收到对于音频数字组件的请求的日期;接收到对于音频数字组件的请求的时间;或者由客户端设备先前播放的音乐的流派。在接收到用于每个变型的规则集合的规范时,规则引擎116生成用于每个变型的规则集合,并且将用于相应变型的每个规则集合存储在规则存储设备132中。
90.例如,假设音频数字组件的4个版本与独立日服装相关。用于这些变型之一的规则集合可以指定仅在以下情况提供该变型:(1)当请求客户端设备位于纽约,(2)当请求是在7月3日至7月5日范围内的日期做出的,以及(3)当由设备先前播放的音乐的流派包括爱国歌曲。
91.使用在操作340处接收的信号集合,规则引擎116确定信号集合是否匹配与(如存储在规则存储设备132中的)多个变型相对应的任何信号集合。规则引擎116通过将信号集合与对应于不同变型的每个规则集合进行比较来确定匹配存在。
92.在一些实施方式中,这种匹配可以是信号集合与规则集合中指定的条件之间的精确匹配。在上述示例中,当信号集合指示客户端设备在纽约、请求是在7月4日做出的、以及客户端设备先前播放了爱国音乐时,规则引擎116将确定已经找到匹配。
93.在一些实施方式中,这种匹配可以是信号集合与规则集合之间的近似匹配,使得只需要存在一些信号与规则中指定的对应于这些信号的条件(例如,大多数信号和相对应的规则、特定阈值数量的信号和相对应的规则)之间的精确匹配。在上面的示例中,如果客户端设备在纽约并且请求是在7月4日做出的(但是该设备先前没有如规则之一所要求的播放爱国音乐),则可以找到匹配。
94.在一些实施方式中,这种匹配可以是信号集合与规则集合之间的模糊匹配,使得信号只需要接近相对应的规则集合中的预期值。在上面的示例中,如果客户端设备在康涅狄格州(接近纽约)并且请求是在7月2日做出的(接近7月3日至7月5日的预期范围),则可以找到匹配。
95.在一些实施方式中,规则引擎116可以使用上述匹配技术(或其他适当的匹配技
术)中的任何一个或上述匹配技术(或其他适当的匹配技术)的任何组合。
96.响应于确定信号集合匹配对应于特定变型的特定信号集合,规则引擎116确定要提供对应于匹配的规则集合的变型以供显示。响应于确定要提供对应于匹配的规则集合的变型以供显示,规则引擎116通过网络104提供该特定变型,以供在请求客户端设备102上显示。
97.请求客户端设备102接收所提供的音频数字组件的变型,并在内容平台108上呈现/显示该音频数字组件。
98.以这种方式,本说明书中描述的技术使得能够生成特定音频数字组件的多个变型/重复,然后基于在其内做出对于内容/音频数字组件的请求的上下文而仅提供特定变型以供显示/播放。
99.图4是可以用于执行上述操作的示例计算机系统400的框图。系统400包括处理器410、存储器420、存储设备430和输入/输出设备440。组件410、420、430和440中的每一个可以例如使用系统总线450来互连。处理器410能够处理用于在系统400内执行的指令。在一些实施方式中,处理器410是单线程处理器。在另一实施方式中,处理器410是多线程处理器。处理器410能够处理存储在存储器420中或存储在存储设备430上的指令。
100.存储器420存储系统400内的信息。在一个实施方式中,存储器420是计算机可读介质。在一些实施方式中,存储器420是易失性存储器单元。在另一实施方式中,存储器420是非易失性存储器单元。
101.存储设备430能够为系统400提供大容量存储。在一些实施方式中,存储设备430是计算机可读介质。在各种不同的实施方式中,存储设备430可以包括例如硬盘设备、光盘设备、由多个计算设备通过网络共享的存储设备(例如,云存储设备)、或者一些其他大容量存储设备。
102.输入/输出设备440为系统400提供输入/输出操作。在一些实施方式中,输入/输出设备440可以包括网络接口设备(例如,以太网卡)、串行通信设备(例如,rs-232端口)和/或无线接口设备(例如,802.11卡)中的一个或多个。在另一实施方式中,输入/输出设备可以包括被配置为接收输入数据并将输出数据发送到外围设备460(例如,键盘、打印机和显示设备)的驱动设备。然而,也可以使用其他实施方式,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
103.尽管已经在图4中描述了示例处理系统,但是本说明书中描述的主题和功能操作的实施方式可以在其他类型的数字电子电路中实施,或者在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)中实施,或者在它们中的一个或多个的组合中实施。
104.本说明书中描述的主题和操作的实施例可以在数字电子电路中实施,或者在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)中实施,或者在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以被实施为一个或多个计算机程序,即编码在计算机存储介质(或媒体)上的计算机程序指令的一个或多个模块,以用于由数据处理装置执行或控制数据处理装置的操作。可替换地或另外地,程序指令可以被编码在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上,这些传播信号被生成以编码信息以传输到合适的接收器装置供数据处理装置执行。计算机存储介质可以是或
可以被包括在计算机可读存储设备、计算机可读存储基底、随机或串行存取存储器阵列或设备或它们中的一个或多个的组合中。此外,尽管计算机存储介质不是传播信号,但是计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是或可以被包括在一个或多个单独的物理组件或介质中(例如,多个cd、磁盘或其他存储设备)。
105.本说明书中描述的操作可以被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
106.术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机、片上系统,或者前述的多个或组合。该装置可以包括专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。
107.计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言、声明或过程语言)来编写,并且它可以以任何形式(包括作为独立程序或作为模块、组件、子例程、对象或适合在计算环境中使用的其他单元)来部署。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署成在一台计算机上执行,或者在位于一个站点或跨多个站点分布并通过通信网络互连的多台计算机上执行。
108.本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行动作。这些过程和逻辑流程也可以由专用逻辑电路来执行,并且该装置也可以被实施为专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
109.举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器两者。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备(例如磁盘、磁光盘或光盘),以从其接收数据,或向其传送数据,或两者兼有。然而,计算机不需要有这种设备。此外,计算机可以嵌入到另一设备中,该另一设备例如为移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏机、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器),仅举几例。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,举例来说包括:半导体存储器设备,例如,eprom、eeprom和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路来补充或结合在其中。
110.为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)或lcd(液晶显示)
监视器)以及用户可以通过其向计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、话音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求,将网页发送到用户的客户端设备上的网络浏览器。
111.本说明书中描述的主题的实施例可以在计算系统中实施,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可以通过该图形用户界面或网络浏览器与本说明书中描述的主题的实施方式交互),或者一个或多个这种后端、中间件或前端组件的任何组合。该系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互连网络(例如,互联网)和对等网络(例如,自组织对等网络)。
112.计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是通过运行在相应计算机上并且彼此具有客户端-服务器关系的计算机程序而产生的。在一些实施例中,服务器将数据(例如,html页面)发送到客户端设备(例如,为了向与客户端设备交互的用户显示数据和从其接收用户输入的目的)。在客户端设备处生成的数据(例如,用户交互的结果)可以在服务器处从客户端设备接收。
113.尽管本说明书包含许多具体的实施细节,但是这些不应被解释为对任何发明或所要求保护的范围的限制,而是对特定发明的特定实施例的具体特征的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分开实施或者在任何合适的子组合中实施。此外,尽管特征可以在上面被描述为在特定组合中起作用,并且甚至最初被这样要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以指向子组合或子组合的变型。
114.类似地,尽管在附图中以特定次序描绘了操作,但是这不应该被理解为要求以所示的特定次序或顺序次序来执行这些操作,或者要求执行所有示出的操作,以获得期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应该被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品中。
115.因此,已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。在一些情况下,权利要求中记载的动作可以以不同的次序来执行,并且仍然获得期望的结果。此外,附图中描绘的过程不一定需要所示的特定次序或顺序次序来获得期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。