减少用于呈现远程媒体项目的启动延迟的制作方法

文档序号:19418608发布日期:2019-12-14 01:11阅读:151来源:国知局
减少用于呈现远程媒体项目的启动延迟的制作方法

相关申请

本专利申请要求2017年5月16日提交的美国临时专利申请62/507,040的优先权,该专利申请的内容全文以引用方式并入本文。

本公开一般涉及从网络媒体服务播放媒体项目。



背景技术:

网络媒体服务(例如,媒体服务、互联网广播、电视服务、电影服务等)已经变得司空见惯。随着计算机处理速度和网络速度的増加,关于通过网络连接从这些各种网络媒体服务接收媒体项目的延迟减少。然而,在初始地建立与网络媒体服务的连接时,用户在请求媒体项目和接收媒体项目之间可能仍然会经历一些延迟。减少这些初始延迟可使得用户设备和/或网络媒体服务感觉对于用户更具响应性,并且从而提供更好的用户体验。



技术实现要素:

在一些具体实施中,计算系统可减少用于呈现远程媒体项目的启动延迟。例如,当用户从媒体服务请求媒体内容时,计算系统可在初始启动消息中包括关于要播放的第一媒体项目的信息,以减少客户端设备和服务器设备之间用于呈现第一媒体项目所需的往返次数。媒体项目可包括介绍性资产。介绍性资产可以是完整媒体项目的一部分,该部分可以用本地密钥解密或根本不加密,使得媒体客户端能够在媒体客户端正在处理完整媒体项目时快速地接收并且开始呈现介绍性媒体资产。在一些具体实施中,系统可从媒体项目中移除前导静音,使得由用户感觉到的延迟量减小。

特定具体实施提供了至少以下优点。计算系统可在客户端和服务器之间递送具有较少往返连接的第一媒体资产,从而减少用户对媒体项目的请求和媒体项目的回放之间的时间量。计算系统可通过以下方式来更快速地开始回放媒体项目:初始地呈现介绍性媒体资产,并且随后在已经接收和解密完整媒体资产之后过渡到完整媒体资产。

在下面的附图和具体实施方式中阐述了一种或多种具体实施的细节。其他特征、方面和潜在优点将在具体实施方式和附图以及权利要求书中显而易见。

附图说明

图1为用于减少呈现远程媒体项目的启动延迟的示例性系统的框图。

图2为示出在处理说出的命令以从网络媒体服务获得媒体项目时由系统100执行的操作的过程交互流程图。

图3为示出在处理说出的命令以从网络媒体服务获得第一媒体项目时由系统执行以减少启动延迟的操作的过程交互流程图。

图4示出了用于向媒体客户端发送第一媒体项目信息的示例性数据结构。

图5为示出从回放介绍性媒体资产到回放完整媒体资产的过渡的图。

图6为用于减少呈现远程媒体项目的启动延迟的示例性过程的流程图。

图7是可实现图1-6的特征和过程的示例性计算设备的框图。

各个附图中的类似参考符号指示类似的元素。

具体实施方式

图1为用于减少呈现远程媒体项目的启动延迟的示例性系统100的框图。例如,系统100可以是由若干不同计算设备构成的计算系统,该若干不同计算设备包括至少一个用户设备102、媒体服务器130和/或口授服务器120。这些计算设备可通过网络150(例如,局域网、广域网、互联网等)彼此通信,以协同地提供本文所述的特征和/或功能,以用于减少呈现远程媒体项目的启动延迟。

在一些具体实施中,系统100可包括用户设备102。例如,用户设备102可以为移动设备,诸如膝上型计算机、智能电话、汽车音频系统、可穿戴设备和/或智能扬声器系统。可穿戴设备可包括智能手表、智能眼镜或任何其它类型的可穿戴计算设备。在一些具体实施中,用户设备102可以为台式计算机或其它类型的非便携式设备。

在一些具体实施中,用户设备102可包括语音处理客户端104。例如,用户设备102的用户可提供输入(例如,按下按钮,说出特定短语等)以调用语音处理客户端104。在调用语音处理客户端104之后,用户可说出言语命令(例如,“播放一些爵士乐”)。麦克风106可检测口头言语命令并且将与用户语音对应的音频数据发送至语音处理客户端104。响应于接收到音频数据,语音处理客户端104可通过网络150将音频数据发送至语音处理服务器120上的语音处理服务122以用于处理。

在一些具体实施中,系统100可包括语音处理服务器120。例如,语音处理服务器120可表示单一服务器设备或一组服务器设备。语音处理服务器120可包括语音处理服务122。语音处理服务122可接收与用户说出的命令对应的音频数据。语音处理服务122可处理音频数据以确定用户所说出的命令并且响应于说出的命令来确定要执行的动作或操作,如本文下面详细描述的。在确定要执行的动作或操作之后,语音处理服务122可向语音处理客户端104发送描述要执行什么动作或操作的命令响应数据,并且语音处理数据104可使得用户设备102执行该动作或操作。在一些具体实施中,动作或操作可包括使得媒体客户端108通过扬声器、显示器和/或来自用户设备102的其它输出(例如,蓝牙、wi-fi等)来获得和/或呈现媒体项目。

在一些具体实施中,用户设备102可包括媒体客户端108。例如,媒体客户端108可与媒体服务器130上的媒体服务132通信以获得媒体项目(例如,音乐曲目、电视剧、电影、无线电脱口秀、电子书等)。例如,用户设备102的用户可能已经订阅网络(例如,云)媒体服务(例如,媒体服务132)。用户可使用用户设备102通过媒体客户端108来访问媒体服务。用户可与媒体客户端108的各种图形用户界面进行交互以浏览、搜索和/或选择要在用户设备102上或由用户设备102播放的音乐。媒体客户端108可从媒体服务132获得所选择的音乐,并且通过扬声器、显示器和/或用户设备102的其它输出机构呈现音乐。

在一些具体实施中,语音处理客户端104可向媒体客户端108提供语音界面。如上所述,用户可调用语音处理客户端104并且说出用于播放一些媒体的命令(例如,“播放一些乡村音乐、随机播放”)。语音处理客户端104可将与语音对应的音频数据发送至语音处理服务122。语音处理服务122可将指示响应于检测到的语音而要执行的操作或动作的命令响应发送回语音处理客户端104。由于所说的命令涉及播放一些媒体,因而语音处理客户端104可调用媒体客户端108或与媒体客户端108进行交互,以使得媒体客户端108响应于所说的命令执行媒体相关的操作或动作。例如,操作和/或动作可包括从媒体服务132获得媒体项目和/或呈现从媒体服务132获得的媒体项目。

图2为示出在处理说出的命令以从网络媒体服务获得媒体项目时由系统100执行的操作的过程交互流程图200。例如,当用户调用用户设备102上的语音处理客户端108时,语音处理客户端108可从用户设备102的麦克风106接收与用户说出的命令对应的音频数据,如上所述。

在操作202处,语音处理客户端104可将音频数据发送至语音处理服务122。例如,响应于从麦克风106接收音频数据,语音处理客户端104可将包含用户语音的音频数据发送至语音处理服务122。

在操作204处,语音处理服务122可处理音频数据以确定用户所说出的命令。例如,响应于接收到音频数据,语音处理服务122可处理音频数据以确定用户所说出的命令。例如,该命令可识别要由媒体客户端108执行的操作(例如,播放媒体项目)。该命令可识别要对其执行操作的媒体项目(例如,媒体项目的名称、流派、播放列表、专辑、电影等)。该命令可指示用于执行操作的选项(例如,重复回放、随机回放等)。因此,如果音频数据包括用户语音“播放乡村音乐,随机播放”,那么语音处理服务122可处理音频数据以确定用户希望媒体客户端108在打开随机播放选项的情况下播放乡村音乐曲目。类似地,音频数据可包括用于播放单一媒体项目(例如,歌曲曲目)、媒体项目的集合(例如,播放列表、专辑等)或任何其它类型的媒体项目的命令。

在操作208处,语音处理服务122可请求音频数据中识别的媒体项目的内容标识符。例如,用户可能已经通过名称来识别媒体项目,但是媒体服务132可使用数字标识符来识别由与所命名的媒体项目对应的媒体服务132管理的内容(例如,媒体项目资产、曲目、播放列表、专辑、电影等)。语音处理服务122可将音频数据中识别的媒体项目(例如,媒体项目标识符)的名称发送至媒体服务132,使得媒体服务132可对与所识别的媒体项目相关的内容执行搜索。

在操作210处,媒体服务132可将所识别的媒体项目的内容标识符发送至语音处理服务122。例如,在对与所识别的媒体项目相关的内容执行搜索之后,媒体服务132可能已经找到由用户在说出的命令中命名的媒体项目的标识符。如果找到标识符,那么媒体服务132可将内容标识符发送至语音处理服务122。语音处理服务122然后可在操作212处将内容标识符发送至语音处理客户端104。

在操作214处,语音处理客户端104可向媒体客户端108提供从语音处理服务122接收的内容标识符。例如,如果尚未在用户设备102上调用媒体客户端108,那么语音处理客户端104可调用媒体客户端108并且将从语音处理服务122接收的内容标识符发送至媒体客户端108。例如,操作214可以为请求媒体客户端108播放由内容标识符214识别的内容。

在操作222处,媒体客户端108可请求用于呈现由音乐服务132提供的媒体项目的租约。例如,作为用户订阅媒体服务132的条件,用户可限制可同时从媒体服务132接收媒体项目或回放媒体项目的用户设备的数量。用户的订阅一次仅提供对一个用户设备的访问。用户的订阅可一次提供对最大数量(例如,3个,6个,10个等)设备的访问。为了控制能够访问媒体服务的设备的数量,可向用户的订阅账户分配用于访问媒体服务132的一定数量(例如,3个、6个、10个等)的租约。当用户设备(例如,用户设备102)访问媒体服务132时,用户设备可请求租约。如果已经将最大数量的租约分配给其它用户设备,那么媒体服务132将取消分配给另一个设备的租约中的一个并且将该租约分配给请求的用户设备。响应于在操作222处接收到针对来自媒体客户端108的租约的请求,媒体服务132可在操作224处将租约分配给用户设备102。在一些具体实施中,媒体服务132可在操作224处将用户的帐户加密密钥发送至媒体客户端108。

操作222和224可包括用户设备102和媒体服务132之间的通信往返220。例如,在用户设备和媒体服务132之间的每次通信往返可增加用户说出的命令(例如,对媒体项目的请求)和发起对媒体项目的回放之间的时间延迟量。相反,减少用户设备102和媒体服务132之间的往返的次数可増加用户设备102对用户命令的感知到的响应并且改善用户对用户设备102的享用乐趣。

在操作232处,媒体客户端108可请求针对媒体服务132所识别的内容的内容信息。例如,媒体客户端108可在针对关于所识别的内容的附加信息的请求中将在操作214处接收的内容标识符发送至媒体服务132。当内容标识符对应于媒体项目播放列表、专辑、媒体站或其它媒体项目集合时,媒体服务132可在操作234处确定所识别的媒体项目集合中的每个媒体项目的各个媒体项目标识符(例如,曲目标识符)并且将该各个媒体项目标识符返回至媒体客户端108。操作232和234可对应于通信往返230。当内容标识符对应于单一媒体项目(例如,用户请求单一歌曲)时,媒体服务可在操作244处返回单一媒体项目的资产信息,如下文所述。

在操作242处,媒体客户端108可请求针对单个媒体项目的资产信息。例如,在处理媒体项目集合时,媒体客户端108可迭代通过(例如,循环通过)各个媒体项目标识符的列表并且请求每个单个媒体项目的资产信息。例如,当媒体客户端108正在播放一个媒体项目时,媒体客户端108可请求集合中下一个媒体项目的资产信息。因此,媒体客户端108可根据需要请求资产信息,而不是请求全部资产信息。媒体客户端108可在与单个媒体项目对应的资产信息的请求中发送单个媒体项目的标识符。响应于接收到请求,媒体服务132可获得与单个媒体项目标识符对应的资产信息。资产信息可包括资产统一资源定位符(url)、资产解密密钥和/或资产元数据(例如,描述标题、艺术家、流派、资产长度等的信息)。在操作244处,媒体服务132可将资产信息返回至媒体客户端108。操作242和244可对应于通信往返240。

在操作252处,媒体客户端108可请求与媒体项目对应的资产。例如,响应于在操作244处接收到资产信息,媒体客户端108可使用资产信息中的url来从媒体服务132请求资产(例如,包括媒体项目的内容的数据字节)。媒体服务124可获得与url对应的资产并且将加密的资产发送至媒体客户端108。然后,媒体客户端108可使用在操作244处接收的资产解密密钥来对加密的资产进行解密,并且向用户呈现解密的媒体资产。在一些具体实施中,可使用用户帐户密钥对资产解密密钥进行加密。媒体客户端108可使用在上文所述的操作224处接收的用户帐户密钥来解密资产解密密钥。如果存在待从媒体服务132获得的更多的媒体项目(例如,媒体项目集合中待获得的更多媒体项目),那么媒体客户端108可返回至操作242以请求针对集合中下一个媒体项目的资产信息。

虽然以上过程交互流程图200示出响应于说出的命令来获得媒体项目(例如,媒体资产)的机制,但是以上执行的操作和多个往返通信可在接收说出的命令和发起对媒体项目的回放之间造成延迟。相对于下面的过程流程图300所述的操作减少了响应于说出的命令而发起对第一媒体项目的回放所需的往返通信的次数。

图3为示出在处理说出的命令以从网络媒体服务获得第一媒体项目时由系统100执行以减少启动延迟的操作的过程交互流程图300。例如,为了减少用户说出的命令和第一媒体项目的回放之间的延迟量,系统100可在语音处理服务122正在处理与说出的命令对应的音频数据时执行租约请求操作,从而移除媒体客户端108和媒体服务132之间的通信往返。另外,媒体服务132可将媒体项目集合的各个媒体项目标识符和第一媒体资产信息连同与在说出的命令中识别的媒体项目对应的内容标识符一起递送,以进一步减少发起对第一媒体项目的回放所需的通信往返的次数。

在操作302处,语音处理客户端104可将与说出的命令对应的音频数据发送至语音处理服务122。例如,当用户调用用户设备102上的语音处理客户端108时,语音处理客户端108可从用户设备102的麦克风106接收与用户说出的命令对应的音频数据,如上所述。响应于从麦克风106接收到音频数据,语音处理客户端104可将与用户语音对应的音频数据和用户设备108的标识符发送至语音处理服务122。

在操作304处,语音处理服务122可处理音频数据以确定用户所说出的命令。例如,响应于接收到音频数据,语音处理服务122可处理音频数据以确定用户所说出的命令。例如,该命令可识别要由媒体客户端108执行的操作(例如,播放媒体项目)。该命令可识别要对其执行操作的媒体项目(例如,媒体项目的名称、流派、播放列表、专辑、电影等)。该命令可指示用于执行操作的选项(例如,重复回放、随机回放等)。因此,如果音频数据包括用户语音“播放乡村音乐,随机播放”,那么语音处理服务122可处理音频数据以确定用户希望媒体客户端108在打开随机播放选项的情况下播放乡村音乐曲目。类似地,音频数据可包括用于播放单一媒体项目(例如,歌曲曲目)、媒体项目的集合(例如,播放列表、专辑等)或任何其它类型的媒体项目的命令。

然而,在一些具体实施中,语音处理客户端104可确定用户说出的命令,包括一个或多个媒体项目和一个或多个操作,并且向媒体服务132提供所识别的一个或多个媒体项目和一个或多个操作。在一些具体实施中,语音处理客户端104和语音处理服务122可共享用于确定一个或多个媒体项目和一个或多个操作的责任。

在操作305处,语音处理服务122可初始化媒体客户端108。例如,语音处理服务122可确定音频数据包括通过媒体客户端108从音乐服务132播放音乐的命令。响应于这一确定,语音处理服务122可向用户设备102发送指示媒体客户端108应被初始化(例如,被调用)的通知。响应于接收到通知,用户设备102可初始化或调用用户设备102上的媒体客户端108。在一些具体实施中,媒体客户端108的初始化(例如,操作306和308)可与下文所述的操作310、312、314和/或316并行(例如,同时)完成。因此,一旦在操作316处接收到相关内容标识符和第一项目信息,媒体客户端108就准备好发起对媒体项目的回放,如下文所述。

在操作306处,媒体客户端108可请求用于访问媒体服务132的租约。例如,作为用户订阅媒体服务132的条件,用户可限制可同时从媒体服务132接收媒体项目或回放媒体项目的用户设备的数量。用户的订阅一次仅提供对一个用户设备的访问。用户的订阅可一次提供对最大数量(例如,3个,6个,10个等)设备的访问。为了控制能够访问媒体服务的设备的数量,可向用户的订阅账户分配用于访问媒体服务132的一定数量(例如,3个、6个、10个等)的租约。当用户设备(例如,用户设备102)访问媒体服务132时,用户设备可请求租约。如果已经将最大数量的租约分配给其它用户设备,那么媒体服务132将取消分配给另一个设备的租约中的一个并且将该租约分配给请求的用户设备。响应于在操作306处接收到针对来自媒体客户端108的租约的请求,媒体服务132可将租约分配给用户设备102(例如,媒体客户端108)并且在操作308处将用户账户加密密钥发送至媒体客户端108。

在操作310处,语音处理服务122可请求音频数据中所识别的媒体项目的内容标识符。例如,用户可能已经通过名称来识别媒体项目,但是媒体服务132可使用数字标识符来识别由与所命名的媒体项目对应的媒体服务132管理的内容(例如,媒体项目资产、曲目、播放列表、专辑、电影等)。语音处理服务122可将音频数据中识别的媒体项目(例如,媒体项目标识符)的名称发送至媒体服务132,使得媒体服务132可对与识别的媒体项目相关的内容执行搜索。

在操作312处,媒体服务132可将所识别的媒体项目的内容标识符发送至语音处理服务122。例如,在对与所识别的媒体项目相关的内容执行搜索之后,媒体服务132可能已经找到由用户在说出的命令中命名的媒体项目的标识符。如果找到标识符,那么媒体服务132可将内容标识符发送至语音处理服务122。然而,替代在操作312处仅发送内容标识符,如上文相对于图200的操作210所述,媒体服务132可在操作312处发送播放列表、专辑、站或其它媒体项目集合的内容标识符并且发送媒体项目集合中每个媒体项目的各个媒体项目标识符。此外,媒体服务132可包括在操作312处针对集合中的第一媒体项目、第一随机媒体项目和/或第一非显式媒体项目的资产信息,如图4的数据结构所示。通过在操作312处发送针对第一媒体项目(例如,第一媒体项目、第一随机媒体项目或第一非显式媒体项目)的资产信息,系统100可避免针对第一媒体项目执行图2的通信往返230和240。通过避免往返230和240,系统100可减少接收用户说出的命令和发起对第一媒体项目的回放之间的时间延迟。因此,往返250-a将开始,而不使用往返230和240。

图4示出了用于向媒体客户端108发送第一媒体项目信息的示例性数据结构400。例如,系统100可通过提供媒体客户端108响应于操作312中的内容标识符请求而获得要播放的第一媒体项目所需的信息来减少媒体客户端108和媒体服务132之间的通信往返的次数。

在一些具体实施中,媒体服务132可将单一媒体项目数据402发送至用户设备。例如,当用户在说出的命令中请求的媒体项目是单一媒体项目(例如,与播放列表、站或其它媒体项目集合相反)时,媒体服务132可针对在操作310的内容标识符请求中识别的媒体项目生成单一媒体项目数据402。单一媒体项目数据402的属性可包括单一媒体项目的媒体项目标识符(例如,可与内容标识符相同)、介绍性资产url(下文进一步描述)、用于获得与媒体项目对应的资产的资产url、起始偏移(下文进一步描述)、用于解密资产的资产密钥和/或租约标识符。

在一些具体实施中,媒体服务132可发送媒体项目站数据410。例如,操作312的内容标识符请求可命名媒体站(例如,无线电站、电视站、流派特定的无线电站等)。响应于在操作312处接收到内容标识符请求,媒体服务132可针对命名的媒体站生成媒体项目站数据410。媒体项目站数据410可包括例如所请求的媒体项目站标识符412和租约标识符418。

在一些具体实施中,媒体项目站数据410可包括第一媒体项目数据412。例如,第一媒体项目数据412可提供媒体客户端108获得资产数据所需的信息,该资产数据是发起对与所请求的媒体项目站相关联的第一媒体项目的回放所需的。例如,第一媒体项目数据416可包括媒体项目标识符(例如,曲目标识符、电影标识符等)、介绍性资产url、资产url、起始偏移和/或用于解密媒体项目资产的资产密钥。

在一些具体实施中,媒体服务132可发送媒体项目集合数据430。例如,操作312的内容标识符请求可命名媒体项目集合(例如,专辑、播放列表等)。响应于在操作312处接收到内容标识符请求,媒体服务132可针对命名的内容项目集合生成媒体项目站数据430。媒体项目站数据410可包括例如所请求的媒体项目集合的集合标识符412、媒体项目标识符的阵列434和/或租约标识符418。

在一些具体实施中,媒体项目集合数据430可包括第一媒体项目数据436。例如,第一媒体项目数据436可提供媒体客户端108获得资产数据所需的信息,该资产数据是发起对与所请求的媒体项目集合相关联的第一媒体项目的回放所需的。例如,第一媒体项目数据436可包括媒体项目标识符(例如,曲目标识符、电影标识符等)、介绍性资产url、资产url、起始偏移和/或用于解密由资产url所指代的媒体项目资产的资产密钥。当媒体客户端108正在根据由集合定义的序列回放对应媒体项目集合中的媒体项目时,媒体客户端108将首先呈现由第一媒体项目数据436识别的媒体项目资产。

在一些具体实施中,媒体项目集合数据430可包括第一随机媒体项目数据438。例如,第一随机媒体项目数据438可提供媒体客户端108获得资产数据所需的信息,该资产数据是发起对与所请求的媒体项目集合相关联的第一随机媒体项目的回放所需的。例如,第一随机媒体项目数据438可包括媒体项目标识符(例如,曲目标识符、电影标识符等)、介绍性资产url、资产url、起始偏移和/或用于解密由资产url所指代的媒体项目资产的资产密钥。当媒体客户端108正在以随机次序(例如,随机播放)回放对应的媒体项目集合中的媒体项目时,媒体客户端108将首先呈现由第一随机媒体项目数据438识别的媒体项目资产。

在一些具体实施中,媒体项目集合数据430可包括第一非显式媒体项目数据440。例如,第一非显式媒体项目数据440可提供媒体客户端108获得资产数据所需的信息,该资产数据是发起对与所请求的媒体项目集合相关联的第一非显式媒体项目的回放所需的。例如,第一非显式媒体项目数据440可包括媒体项目标识符(例如,曲目标识符、电影标识符等)、介绍性资产url、资产url、起始偏移和/或用于解密由资产url所指代的媒体项目资产的资产密钥。当媒体客户端108正在向低于家长控制年龄阈值的用户回放对应的媒体项目集合中的媒体项目时,媒体客户端108将首先呈现由第一非显式媒体项目数据440识别的媒体项目资产。

因此,媒体项目集合数据430可包括第一媒体项目数据436、第一随机媒体项目数据438或第一非显式媒体项目数据440中的一者或多者。

重新参照图3,当语音处理服务122在操作312处从媒体服务132接收内容标识符和第一项目信息时,语音处理服务122可在操作314处将内容标识符和第一项目信息转发至语音处理客户端104。然后,语音处理客户端104可在操作316处将内容标识符和第一项目信息发送至媒体客户端108。例如,语音处理客户端104可调用媒体客户端108的应用程序编程接口(api)以将内容标识符和第一项目信息发送至媒体客户端108。语音处理客户端104可将内容标识符和第一项目信息存储在与媒体客户端108共享的存储器中,使得媒体客户端108可从共享的存储器位置获得内容标识符和第一项目信息。

响应于在操作316处访问内容标识符和第一项目信息,媒体客户端108可在操作318处请求与第一媒体项目对应的一个资产或多个资产。例如,当媒体客户端108访问媒体项目集合数据430并且媒体客户端108被配置用于按顺序回放媒体项目集合时,媒体客户端108可使用第一媒体项目数据436(例如,第一顺序媒体项目)来请求第一媒体项目。当媒体客户端108接收媒体项目集合数据430并且媒体客户端108被配置用于随机回放媒体项目集合时,媒体客户端108可使用第一随机媒体项目数据438来请求第一媒体项目。当媒体客户端108接收媒体项目集合数据430并且媒体客户端108向年龄低于某个家长控制阈值的用户呈现媒体项目时,媒体客户端108可使用第一非显式媒体项目数据440来请求第一媒体项目。

在一些具体实施中,媒体项目可包括介绍性资产。例如,当在操作316处接收的第一项目信息包括介绍性资产url时,媒体客户端108可使用介绍性资产url来请求介绍性资产。例如,介绍性资产的大小可小于完整媒体项目资产,并且因此可比完整媒体资产更快地下载和解密。此外,可进一步减小介绍性资产的大小,从而通过提供质量低于完整媒体资产的介绍性媒体资产来减少用户命令和回放之间的延迟。例如,完整媒体资产可以是高清晰度媒体资产,而介绍性媒体资产可以是较低清晰度媒体资产。另外,可对介绍性资产轻度加密(例如,使用在所有用户设备上编码的通用密钥)或根本不加密。因此,媒体客户端108可能够比完整媒体资产更快地开始回放介绍性资产。在下载并且解密完整媒体资产之后,媒体客户端108可从播放介绍性资产过渡到播放完整媒体资产,如下文进一步所述。当第一项目信息不包括介绍性资产url时,媒体客户端108可使用资产url来请求完整资产。

在操作320处,媒体服务132可将与资产url对应的加密的媒体资产发送至媒体客户端108。例如,媒体服务132可将针对与介绍性资产url和/或完整资产url相关联的媒体资产的数据字节发送至媒体客户端108。在一些具体实施中,可加密媒体资产和/或介绍性媒体资产的数据字节。

响应于接收到介绍性媒体资产,媒体客户端108可解密介绍性媒体资产(如果加密的话)并且发起对介绍性媒体资产的回放。因为介绍性媒体资产小于完整媒体资产并且被轻度加密(例如,使用全局密钥)或不加密,所以媒体客户端108可以比完整媒体资产更快地开始回放介绍性媒体资产。此外,媒体客户端108可在介绍性媒体资产正在播放的同时下载和解密完整媒体资产,因此用户可在完整媒体资产可由媒体客户端108回放之前开始享用所请求的媒体项目的乐趣。

在一些具体实施中,可使用在操作316处接收的资产密钥来解密与第一资产url相关联的完整媒体资产。例如,在操作316处接收的第一项目信息可包括用于解密与第一资产url相关联的加密的媒体资产的资产密钥。资产密钥可使用与用户订阅媒体服务132的订阅账户相关联的用户账户密钥来加密。媒体客户端108可使用用户帐户密钥来解密资产密钥,并且继而在操作320处使用资产密钥来解密媒体客户端108接收的媒体资产。在解密媒体资产之后,媒体客户端108可开始回放解密的媒体资产。例如,如果媒体客户端108已经开始回放介绍性媒体资产,那么媒体客户端108可从介绍性媒体资产的回放过渡到完整媒体资产的回放,如下文参考图5所述。

图5为示出从回放介绍性媒体资产到回放完整媒体资产的过渡的图500。例如,图500包括介绍性媒体资产502和完整媒体资产504。介绍性媒体资产502可对应于完整媒体资产504的开始部分(例如,前5秒、前12秒等)。媒体客户端108可在媒体客户端108下载完整媒体资产504之前下载、解密(如果需要的话)并且开始回放介绍性媒体资产502。

在一些具体实施中,媒体客户端108可在媒体客户端108播放介绍性资产502时下载并加密完整媒体资产504(或其一部分)。在下载并解密完整媒体资产504之后,媒体客户端108可从播放介绍性媒体资产502过渡到播放完整媒体资产504。例如,当媒体客户端108到达介绍性媒体资产502的末尾(或结束之前的某个时间)时,媒体客户端108可过渡到播放完整媒体资产504。线506表示从播放介绍性资产502过渡到播放完整媒体资产504的过渡时间。例如,如果介绍性资产502的长度为10秒,那么线506可对应于9秒(或6秒、或5秒等)进入对介绍性资产502的回放。由于介绍性资产502对应于完整媒体资产504的开始部分,因而媒体客户端108可在9秒标记处停止播放介绍性媒体资产502并且开始在9秒标记处回放完整媒体资产504。媒体客户端108然后可回放完整媒体资产504直到完成或直到用户提供输入以停止完整媒体资产504的回放。例如,媒体客户端108可被配置为同时回放两个曲目。第一曲目可包括介绍性媒体资产102,并且可在下载和播放完整媒体资产504之前开始。第二曲目可包括完整媒体资产504。例如,可在第一曲目(介绍性媒体资产102)已经开始播放之后将完整媒体资产504加载到第二曲目中。然而,媒体资产102可使第一曲目和第二曲目同步,使得它们从每个曲目中的相同时间位置(例如,时间偏移)播放。因此,如果在将完整媒体资产504加载到第二曲目中时媒体客户端108需6秒进入介绍性媒体资产502,那么媒体客户端108可在从完整媒体资产504开始的6秒(例如,时间偏移)处开始播放完整媒体资产504。媒体客户端108然后可同时播放介绍性资产502和完整资产504两者持续数秒,并且随后使第一曲目静音以从播放介绍性媒体资产502过渡到播放完整媒体资产504。

在一些具体实施中,媒体项目可包括在对应的媒体资产回放的开始时的静音量。这种静音虽然是媒体资产的一部分,但可使得用户感知到回放的延迟。这一延迟可使得用户感觉好像用户设备102、媒体客户端108和/或媒体服务132不是非常有响应性。为了减小这种感知到的延迟并且改善用户体验,媒体资产可被配置为具有起始偏移,如上文参考图4所述。

在一些具体实施中,媒体服务132可分析与媒体资产504对应的音频信号,以确定媒体资产504的开始处的静音量。媒体服务132可确定例如媒体资产504在媒体资产504的开始处包括3秒的静音。媒体服务132可配置第一媒体项目数据的起始偏移属性(参考图4所述)以指示3秒起始偏移。当媒体客户端108开始回放介绍性资产502和/或完整媒体资产504时,媒体客户端108可开始在起始偏移处开始回放,如线508所示。例如,媒体客户端108回放介绍性资产502,媒体客户端108可从介绍性资产502的开始处开始回放3秒。如果介绍性媒体资产不可用于第一媒体项目,那么媒体客户端108可从完整媒体资产504的开始起3秒开始回放完整媒体资产504。

重新参照图3,在发起对第一媒体项目的回放之后,系统100可执行如上所述的操作222、224、228和230以获得和回放后续媒体项目。对于要被媒体客户端108回放的每个后续媒体项目,可重复操作222、224、228和230。

在一些具体实施中,系统100可通过减少用户设备102和媒体服务132之间的通信往返的次数来减小接收用户说出的命令和发起对第一媒体项目的回放之间的感知到的延迟。然而,系统100可被配置为执行其它操作以减小接收用户的命令和发起对第一媒体项目的回放之间的感知到的延迟。

在一些具体实施中,语音处理客户端104可被配置为在播放第一媒体项目之前填充静音。例如,如果用户设备102检测到用户设备102和媒体服务132之间存在缓慢的网络连接,那么语音处理客户端104可呈现与用户说出的命令相关的信息音频。例如,如果用户请求用户设备102播放jimihendrix的歌曲,那么语音处理客户端104可在发起对具有关于jimihendrix的历史、琐事等的第一媒体项目的回放之前填充静音。如果用户请求用户设备102播放爵士音乐,那么语音处理客户端104可在发起对具有与爵士流派相关的一定历史、琐事、即将到来的音乐会信息或其它信息的第一媒体项目的回放之前填充静音。为了获得这一信息,语音处理客户端105可发起对相关信息的互联网搜索。然后例如可使用合成语音将信息呈现给用户。

在一些具体实施中,系统100可执行媒体项目的预测的高速缓存。例如,媒体客户端108和/或媒体服务132可基于用户的历史习惯来确定用户设备102的用户每周都喜欢收听热门音乐排行榜,或者更喜欢收听乡村音乐,或者喜欢收听特定的无线电脱口秀节目。基于这一确定,媒体客户端108和/或媒体服务132可预测用户最有可能请求的媒体项目,将预测的媒体项目下载到用户设备102并且将媒体项目高速缓存(例如,存储)到用户设备102上。在一些具体实施中,媒体客户端108可下载并高速缓存媒体项目的完整媒体资产。在一些具体实施中,媒体客户端108可下载并高速缓存媒体项目的介绍性媒体资产。媒体服务132可存储描述高速缓存在用户设备102上的媒体项目的信息。当用户进行媒体项目请求(例如,说出的命令)时,如上所述,媒体服务132可从高速缓存在用户设备102上的媒体项目选择第一媒体项目,并且媒体客户端108可回放针对来自用户设备102上高速缓存的媒体项目中的第一媒体项目的介绍性资产或完整媒体资产。因此,由于媒体客户端108不必从媒体服务132下载第一媒体项目,因此对于第一媒体项目可跳过图3的操作318和320(例如,往返250-a),并且媒体客户端108可开始回放第一媒体项目,其中在从用户接收说出的命令和发起对第一媒体项目的回放之间具有较少的延迟。

在一些具体实施中,系统100可包括与第一项目信息中的第一媒体项目相关联的介绍性资产的数据字节。例如,替代在操作312处在第一项目信息中包括介绍性资产url,媒体服务132可在操作312处针对第一项目信息中的第一媒体项目包括介绍性资产的实际资产数据(例如,至少视频或音频数据字节)。因此,当媒体客户端108在操作316处接收到内容标识符和第一项目信息时,媒体客户端108可立即开始对介绍性媒体资产字节的回放。因此,可减少在接收用户说出的命令和发起对第一媒体项目的回放之间的延迟量,因为不需要媒体服务132获得介绍性媒体资产数据的后续请求。

图6为用于减少呈现远程媒体项目的启动延迟的示例性过程600的流程图。例如,过程600可由用户设备102与语音处理服务器120和/或媒体服务器130协作执行,以减少接收包括媒体回放命令的用户说出的命令和发起对媒体项目的回放之间的时间量。

在步骤602处,用户设备102可检测说出的命令。例如,用户设备102可被配置为具有麦克风106以用于检测用户设备102附近的声音(例如,语音、环境声音等)。

在步骤604处,用户设备102可生成与说出的命令对应的音频数据。当用户提供指示用户将提供说出的命令的输入(说出词语、按钮按压等)时,语音处理客户端104可开始记录由麦克风106生成的音频数据。例如,用户设备102的用户可说出可由麦克风106和/或语音处理客户端104检测到的命令。与说出的命令对应的音频数据可由语音处理客户端104记录。

在步骤606处,用户设备102可确定音频数据包括媒体回放命令。例如,语音处理客户端104可将音频数据发送至语音处理服务122以处理音频数据中说出的命令。语音处理服务122可确定音频数据包括用于播放媒体项目的说出的命令。另选地,语音处理客户端104可处理音频数据以确定说出的命令。语音处理服务122和/或语音处理客户端104可确定说出的回放命令识别用户希望用户设备102播放的内容(例如,特定媒体项目、播放列表、流派、专辑等)。

在步骤608处,用户设备102可获得与回放命令对应的内容标识符和第一媒体项目信息。例如,在处理音频数据并且确定由用户说出的回放命令识别的内容之后,语音处理服务122可从媒体服务132获得与识别的内容对应的内容标识符和第一媒体项目信息。另选地,当语音处理客户端104确定用户说出的回放命令时,用户设备102上的语音处理客户端104可从媒体服务132获得与识别的内容对应的内容标识符和第一媒体项目信息。

在步骤610处,用户设备102可获得在第一媒体项目信息中识别的第一媒体资产。例如,第一媒体项目信息可识别在媒体项目集合的顺序回放期间要呈现的第一顺序媒体项目。第一媒体项目信息可识别在媒体项目集合的顺序回放期间要呈现的第一随机媒体项目。当在回放媒体项目集合期间启用家长控制时,第一媒体项目信息可识别要呈现的第一非显式媒体项目。第一媒体项目信息可识别介绍性媒体资产。第一媒体项目信息可识别完整媒体资产。当第一媒体项目信息包括介绍性媒体资产时,媒体客户端108可在从媒体服务132获得完整媒体资产之前从媒体服务132获得介绍性媒体资产。在一些具体实施中,当第一媒体资产先前已被高速缓存在用户设备102上时,媒体客户端108可从用户设备102上的本地存储装置获得第一媒体资产(例如,介绍性媒体资产、完整媒体资产等),如上所述。

在步骤162处,用户设备102可呈现第一媒体资产。例如,在获得第一媒体资产之后,媒体客户端108可在用户设备102上呈现第一媒体资产。

为了使读者能够清楚地理解本文描述的技术概念,上述过程和/或操作描述了以特定次序执行的具体步骤。然而,特定过程的一个或多个步骤可以被重新安排和/或省略,同时保持在本文公开的技术的预期范围内。此外,可以组合、重新组合、重新安排、省略和/或并行执行不同的过程和/或其步骤,以创建也在本文公开的技术的预期范围内的不同处理流程。另外,尽管为了清楚起见,上面的过程和/或操作可省略或简要概述本文公开的技术的一些细节,但是以上段落中描述的细节可被组合以获得对这些过程和本文公开的技术的更完整和全面的理解。

隐私

本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,该个人信息数据可用于递送用户较感兴趣的目标内容。因此,使用此类个人信息数据使得能够对所递送的内容进行有计划的控制。此外,本公开还预期个人信息数据有益于用户的其他用途。

本公开还设想负责此类个人信息数据的收集、分析、公开、传输、存储或其他用途的实体将遵守已确立的隐私政策和/或隐私做法。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法用途之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私政策和程序。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。

不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就广告递送服务而言,本发明的技术可被配置为在注册服务期间允许用户选择“加入”或“退出”参与对个人信息数据的收集。又如,用户可选择不为目标内容递送服务提供位置信息。再如,用户可选择不提供精确的位置信息,但准许传输位置区域信息。

示例系统架构

图7为可实现图1-6的特征和过程的示例计算设备700的框图。计算设备700可包括存储器接口702、一个或多个数据处理器、图像处理器和/或中央处理单元704以及外围设备接口706。存储器接口702、一个或多个处理器704和/或外围设备接口706可以是独立部件,或者可集成到一个或多个集成电路中。计算设备700中的各种部件可由一条或多条通信总线或信号线耦接。

传感器、设备和子系统可耦接到外围设备接口706以促进多个功能。例如,运动传感器710、光传感器712和接近传感器714可耦接到外围设备接口706以促进取向、照明和接近功能。其他传感器716也可连接到外围设备接口706,诸如全球导航卫星系统(gnss)(例如,gps接收器)、温度传感器、生物识别传感器、磁力仪或其他感测设备,以促进相关功能。

可利用相机子系统720和光学传感器722(如电荷耦合设备(ccd)或互补金属氧化物半导体(cmos)光学传感器)来促进相机功能,例如拍摄照片和视频剪辑。相机子系统720和光学传感器722可用于收集要在用户认证期间使用的用户的图像,例如,通过执行面部识别分析。

可通过一个或多个无线通信子系统724来促进通信功能,这些无线通信子系统可包括射频接收器和发射器和/或光学(例如,红外)接收器和发射器。通信子系统724的具体设计与实现可取决于计算设备700旨在通过其操作的一个或多个通信网络。例如,计算设备700可包括设计用于通过gsm网络、gprs网络、edge网络、wi-fi或wimax网络以及bluetoothtm网络操作的通信子系统724。具体地,无线通信子系统724可包括主机协议,使得设备100可被配置为其他无线设备的基站。

音频子系统726可耦接到扬声器728和麦克风730以促进支持语音的功能,诸如讲话者识别、语音复制、数字记录和电话功能。音频子系统726可被配置为促进例如处理语音命令、声纹鉴别和语音认证。

i/o子系统740可包括触摸表面控制器742和/或一个或多个其他输入控制器744。触摸表面控制器742可耦接到触摸表面746。触摸表面746和触摸表面控制器742可例如使用多种触敏技术的任何一种检测接触和运动或其中断,触敏技术包括但不限于电容性、电阻性、红外和表面声波技术,以及用于确定与接触表面746接触的一个或多个点的其他接近传感器阵列或其他元件。

一个或多个其他输入控制器744可耦接到其他输入/控制设备748,诸如一个或多个按钮、摇臂开关、拇指滚轮、红外端口、usb端口和/或指针设备诸如触笔。一个或多个按钮(未示出)可包括用于扬声器728和/或麦克风730的音量控制的增大/减小按钮。

在一种具体实施中,将按钮按下第一持续时间能够解除触摸表面746的锁定;并且将按钮按下比第一持续时间长的第二持续时间能够打开或关闭计算设备700的电源。将按钮按下第三持续时间能够激活语音控制或语音命令、使用户能够向麦克风730中说出命令的模块,以使得设备执行所说的命令。用户能够自定义一个或多个按钮的功能。例如,还可以使用触摸表面746实现虚拟或软按钮和/或键盘。

在一些具体实施中,计算设备700可呈现记录的音频和/或视频文件,诸如mp3、aac和mpeg文件。在一些具体实施中,计算设备700可包括mp3播放器的功能,诸如ipodtm。计算设备700因此可包括与ipod兼容的36引脚连接器。也可使用其他输入/输出以及控制设备。

存储器接口702可耦接到存储器750。存储器750可包括高速随机存取存储器和/或非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光学存储设备和/或闪存存储器(例如,nand、nor)。存储器750可存储操作系统752,诸如darwin、rtxc、linux、unix、osx、windows或嵌入式操作系统(诸如vxworks)。

操作系统752可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。在一些具体实施中,操作系统752可以是内核(例如,unix内核)。在一些具体实施中,操作系统752可包括用于执行语音认证的指令。例如,操作系统752可实现远程媒体项目呈现特征,如参考图1-6所述。

存储器750还可存储通信指令754以促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信。存储器750可包括促进图形用户界面处理的图形用户界面指令756;促进与传感器相关的处理及功能的传感器处理指令758;促进与电话相关的过程和功能的电话指令760;促进与电子消息处理相关的过程和功能的电子消息指令762;促进与网页浏览相关的过程和功能的网页浏览指令764;促进与媒体处理相关的过程和功能的媒体处理指令766;促进与gnss和导航相关的过程和指令的gnss/导航指令768;和/或促进与像机相关的过程和功能的相机指令770。

存储器750可存储其它软件指令772以促进其它过程和功能,诸如参考图1-6所述的远程媒体项目呈现过程和功能。

存储器750还可存储其它软件指令774,诸如促进与web视频相关的过程和功能的web视频指令;和/或促进与网络购物相关的过程和功能的网络购物指令。在一些具体实施中,媒体处理指令766分为音频处理指令和视频处理指令,以分别用于促进与音频处理相关的过程和功能以及与视频处理相关的过程和功能。

上面所识别的指令和应用程序中的每一者可对应于用于执行上述一个或多个功能的指令集。这些指令不需要作为独立的软件程序、过程或模块来实现。存储器750可包括附加指令或更少的指令。此外,可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中实现计算设备700的各种功能。

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