基于云的媒体内容管理的制作方法

文档序号:12071850阅读:158来源:国知局
基于云的媒体内容管理的制作方法与工艺

本申请根据35U.S.C.§119(e)要求于2014年5月6日提交的临时申请61989466,和于2014年9月10日提交的临时申请62048788的权益,每个申请的全部内容通过引用的方式并入于此,就像这些全部内容在这里充分阐述。

技术领域

实施方案总体涉及基于云的计算环境中的媒体内容的管理。



背景技术:

本部分描述的方法是可以实行的方法,但并不必是以前已经想到或实行的方法。因此,除非另有说明,否则不应该仅凭它们被包含在本部分中就认为本部分中描述的任何方法是现有技术。

数字视频录像机(DVR)和其它媒体设备使用户能够记录和观看媒体内容等等。DVR通常包括硬盘驱动器或可在其上记录媒体内容项的其它集成存储设备。例如,如果用户希望记录电视节目以供以后或重复观看,那么用户可以向DVR提供指示DVR记录电视节目的副本的输入。然后,用户可以在以后的时间指示DVR从本地存储器播放记录的电视节目的副本。

基于云的数据存储服务是日益普及的工具,用户利用它来存储很多类型的数据(例如,文档、媒体内容等),并从任何数量的单独的客户端设备访问该数据。基于云的数据存储提供者通常拥有物理服务器和用于存储用户数据的其它组件,并通过数字网络(例如,因特网)为用户提供对数据的访问。基于云的存储服务可以减轻用户管理本地存储设备的部分负担,包括存储空间限制,潜在的硬件故障,以及实现跨不同客户端设备对用户数据的访问。

附图说明

附图中:

图1是根据一个或多个实施例的包括基于云的媒体内容管理系统的示例系统的框图;

图2是根据一个或多个实施例的基于云的媒体内容管理系统的组件的框图;

图3是根据一个或多个实施例的服务提供者系统的组件的框图;

图4是根据一个或多个实施例的示例媒体设备的框图;

图5描绘了根据一个或多个实施例的用于管理在媒体设备处上传媒体内容项的示例流程图;

图6描绘了根据一个或多个实施例的用于管理从媒体设备群上传媒体内容项的示例流程图;

图7A描绘了根据一个或多个实施例的媒体设备群从多个源接收媒体内容项的示例表示;

图7B描绘了根据一个或多个实施例的由媒体设备群上传的媒体内容项和用于整群的媒体内容项的存储的示例;

图8描绘了根据一个或多个实施例的由媒体设备群上传的媒体内容项和用于整群的媒体内容项的存储的另一示例;

图9描绘了根据一个或多个实施例的用于基于云的媒体内容管理系统管理跨越与用户帐户相关联的多个媒体设备对媒体内容项的访问的示例流程图;

图10描绘了根据一个或多个实施例的用于处理对由基于云的媒体内容管理系统存储的媒体内容项的请求的示例流程图;

图11描绘了根据一个或多个实施例的用于在媒体设备预先缓存媒体内容项的部分用于回放的示例流程图;

图12描绘了根据一个或多个实施例的用于基于云的媒体内容管理系统管理调谐器冲突的示例流程图;

图13描绘了根据一个或多个实施例的用于基于云的媒体内容管理系统管理媒体内容项的存储的示例流程图;

图14描绘了根据一个或多个实施方案的用于管理升级和/或更换的媒体设备对媒体内容项的访问的示例流程图;

图15是在其上实施本发明的实施例的计算机系统的框图。

具体实施方式

以下描述中,出于解释的目的,阐述了许多具体的细节,以便提供对本发明的全面理解。然而,显而易见地,本发明可以在没有这些具体细节的情况下实施。在其它实例中,以框图的形式示出了公知的结构和设备,以避免不必要地模糊本发明。

这里将依照以下提纲描述实施例:

1.0.总体概述

2.0.结构概述

2.1.系统概述

2.2.示例基于云的媒体内容管理系统

2.3.示例服务提供者系统

2.4.示例媒体设备

3.0功能概述

3.1.分布式媒体设备上传

3.2.媒体内容的云存储

3.3.媒体内容回放

3.4.基于云的调谐器

3.5.云存储扩展器

4.0示例实施例

5.0实施机构-硬件概述

6.0扩展和替代

1.0.总体概述

公开了用于在基于云的计算环境中管理媒体内容项的存储和访问的方法、技术和机构。在本上下文中,基于云的计算环境一般是指媒体设备和其它客户端设备可通过数字网络(例如,因特网)使用的计算和数据存储服务的集合。根据多个实施例,基于云的媒体内容管理系统通过以下方式管理媒体内容项的存储和访问:管理从分布式媒体设备群的媒体内容项的上传;减少存储在云存储器中的媒体内容数据的复制;提供跨任何数量的用户设备对媒体内容项的用户帐户控制访问;以及提供文中描述的其它基于云的媒体内容管理服务。

为了说明基于云的媒体内容管理系统与各种媒体设备相互作用的高水平示例,假设用户安排在第一媒体设备(例如,在用户家中的DVR)记录电视节目。响应于用户安排记录,用户的第一媒体设备在预定的记录时间调谐到电视节目以记录该电视节目。指示用户已经安排记录电视节目的数据可以被发送到基于云的媒体内容管理系统并与该用户的用户帐户信息关联地存储。用户的第一媒体设备还可以被配置成将记录的电视节目的全部或一部分上传到与媒体内容管理系统相关联的云存储系统。相同的电视节目的其它部分可以通过与其它用户相关联的其它媒体设备上传。然后用户可以请求使用用户的一个媒体设备回放电视节目,并且基于云的媒体内容管理系统可以将电视节目的副本从云存储系统流传输到请求设备。

在一个实施例中,为了符合有关复制和传输存储在云存储系统中的媒体内容项的应用内容权限,对存储的媒体内容项的访问可以基于某种用户帐户数据被限制,该用户帐户数据指示:针对每个用户账户,用户已经选择用于在一个或多个用户本地媒体设备记录哪些媒体内容项。例如,只有当系统确定媒体设备与以前请求记录同一媒体内容项的用户帐相关联时,基于云的媒体内容管理系统可以响应于来自该媒体设备的从云存储器流传输媒体内容项的请求而使该设备能够流传输内容。此外,基于云的媒体内容管理系统可以采用这样方式存储媒体内容项:使该系统能够为用户提供对与每个用户的本地媒体设备最初记录和/或播放的媒体内容项版本相同或大体上同一媒体内容项的副本的访问,包括任何区域广告,视频和/或音频损坏,以及可能是由一个或多个特定媒体设备接收的媒体内容特有的其它属性。

除了管理跨用户媒体设备的媒体内容项的存储和访问之外,基于云的媒体内容管理系统可以实现一些独立媒体设备传统上不可能实现的附加功能。例如,如本文所描述的基于云的媒体内容管理系统可以使用户能够在不会失去对以前记录的媒体内容项的访问权限的情况下容易地升级或更换媒体设备,同时记录比用户可使用的物理调谐器更多的媒体内容项,存储比用户用本地存储器存储的更多媒体内容的记录以适应,以及自动调整记录开始和结束时间,以适应节目播放时间表的改变,等等。

在其它方面,本发明囊括被配置成实施前述技术的计算机装置和计算机可读介质。

2.0.结构概述

2.1.系统概述

图1是根据一个或多个实施例的实现基于云的媒体内容管理系统的示例系统100的框图。系统100包含一个或多个计算设备。这些一个或多个计算设备包含被配置成实现本文所描述的各种逻辑组件的硬件和软件的任意组合。例如,该一个或多个计算设备可以包括一个或多个内存,一个或多个硬件处理器,以及多种数据存储库,内存存储用于实现文中描述的各种组件的指令,硬件处理器配置成在实行存储在一个或多个内存中的指令,数据储存库在一个或多个内存中用于存储被多种组件利用和操纵的数据结构。

在一个实施例中,系统100包括一个或多个媒体设备108,包括媒体设备108-1和媒体设备108-2。如本文所使用的,媒体设备108一般可以指任何类型的计算设备,其能够从电缆信号、地面信号、数字的基于网络的数据等接收媒体内容项,例如电视节目、电影、视频点播(VOD)内容等。图1中,例如,媒体设备108-1可以包括TV调谐器输入,TV调谐器输入能够被用来播放、记录、流传输、和/或以其它方式访问从一个或多个内容源106接收的媒体内容项。例如,一个内容源106可包括由有线运营者提供的电视直播馈送。其它示例内容源106包括但不限于视频点播(VOD)库、第三方内容提供者(例如,Amazon等)、基于Web的媒体内容、卫星广播内容、地面广播内容等。示例媒体设备108-1包括但不限于机顶盒(STB)、数字视频录像机(DVR)、个人计算机、平板计算机、手持设备、电视和其它计算设备。

在一个实施例中,系统100还可以包括一个或多个支持IP的媒体设备108-2。一般而言,支持IP的媒体设备108-2可以指任何类型的计算装置,其能够通过一个或多个数字网络104例如公共因特网、内联网、局域网、广域网等接收媒体内容,但是其可以或可以不包括TV调谐器输入。媒体设备108-2的示例包括但不限于机顶盒、DVR、个人计算机、智能电话、平板电脑、笔记本电脑、游戏设备、媒体服务器、数字媒体接收器、电视、地面天线等。典型的用户可能拥有数个媒体设备108,媒体设备108可以位于和用在遍及用户家中的各种位置和其它地方。

在一个实施例中,媒体设备108经由一个或多个网络104耦合到基于云的媒体内容管理系统102。网络104广义地表示使用任何有线、无线、地面微波、或卫星链路的一个或多个局域网、广域网、蜂窝网络(例如,LTE、HSPA、3G、更老的技术等)、和/或因特网络,并且可以包括公共因特网。此外,每个媒体设备108可以经由一个或多个网络104耦合到一个或多个其它媒体设备。

如在下文中更详细描述的,每个媒体设备108一般可以被配置成执行与媒体内容项相关的一个或多个动作,包括从内容源106接收媒体内容项,播放媒体内容项,安排媒体内容项的记录,将媒体内容项的全部或部分上传到云存储系统,将媒体内容项流传输到其它媒体设备等。在一个实施例中,基于云的媒体内容管理系统102一般管理媒体内容项的存储并经由一个或多个网络104为媒体设备提供对媒体内容项的受控访问。

系统100只示出了被配置成提供本文描述的功能性的组件的许多可能安排中的一个。其它安排可包括更少、附加或不同的组件,并且组件之间的分工可以根据安排而变化。

图1中,系统100的各种组件通过箭头被描述成通信地耦合到各种其它组件。这些箭头仅示出系统100的组件之间的信息流的某些示例。某些组件之间的箭头方向或箭头线的缺失都不应被解释为指示该某些组件本身之间的通信的存在或不存在。实际上,系统100的每个组件可以设有开放端口、API或其它合适的通信接口,通过这些开放端口、API或通信接口,组件可以根据需要通信耦合至系统100的其它组件以实现文中描述的系统100的任何功能。

2.2示例服务提供者系统

图2是根据一个或多个实施例的实现基于云的媒体内容管理系统的示例系统200的框图。系统200包括运营者前端202、服务提供者系统204、和云存储系统206。

在一个实施例中,运营者前端202一般表示用于从一个或多个内容源106接收电视和其它的媒体内容信号,处理接收到的电视和其它的媒体内容信号,并且基于媒体内容信号将媒体内容项分发到多种媒体设备108的系统。作为一个示例,运营者前端202可表示有线电视前端,其从内容源106接收(例如,经由卫星、同轴电缆、微波链路、光纤、因特网等接收的)信号和处理信号,并且使用传输基础设施208将处理的视频内容分发到媒体设备108。传输基础设施208一般可以包括能够使用任何数量的编码和传输格式传输媒体内容项的组件,传输基础设施包括但不限于正交幅度调制(QAM)、高级电视系统委员会(ATSC)、卫星、数字视频广播-地面(DVB-T)、通过一个或多个网络的基于IP的传输等。

在一个实施例中,运营者前端202可以提供一个或多个媒体内容管理设备210。一般而言,媒体内容管理设备210可以包括一个或多个计算设备和存储组件,存储组件被配置成存储媒体内容项并且为媒体设备108提供对媒体内容项的访问。在一个实施例中,与基于云的媒体内容管理系统相关联的用户帐户可被提供有在媒体内容管理设备210的存储量以存储选择用于记录的媒体内容项。用户帐户可以例如被服务提供者系统204创建和管理,并且每个用户帐户可以与一个或多个媒体设备108相关联(例如,基于在媒体设备登录用户帐户)。运营者前端202可以使用传输基础设施208将存储在媒体内容管理设备210的媒体内容项传递到媒体设备108。

在一个实施例中,基于云的媒体内容管理系统还可以包括一个或多个云存储系统206。一般而言,云存储系统206表示数据存储系统,其经由一个或多个网络(例如,网络104)被媒体设备108访问,并且通常由不同于媒体设备108的用户的实体拥有和管理。在一个实施例中,云存储系统206可以被服务提供者系统204的运营者管理和操作,或者云存储系统206可以由第三方实体操作。第三方云存储系统的示例包括亚马逊网络服务(AWS)、微软Azure、谷歌云存储等。类似于在运营者前端202可用的存储区,与服务提供者系统204相关联的用户帐户可以被提供有在云存储系统206的存储空间量。每个用户帐户在媒体内容管理设备210和/或云存储系统206可用的存储量可以作为单个可用数据存储池被提供给用户,或者在其它示例中,用户可能能够分别管理在媒体内容管理设备210和在云存储系统206可用的存储区。

在一个实施例中,云存储系统206一般可以用来存储由媒体设备108的用户选择用于记录的媒体内容项。存储在云存储系统206的媒体内容项可以得以被媒体设备108的用户使用,直到媒体内容项被用户选择删除,超越云存储删除策略,或者基于其它任何删除策略。在一个实施例中,运营者前端202从内容源106接收的媒体内容可以经由固定带宽的线路被传递到云存储系统206,以便于由用户选择用于记录的媒体内容项的存储。

在一个实施例中,服务提供者系统204包含一个或多个计算设备,其通常被配置成管理来自媒体设备108的请求(例如,媒体内容信息和检索请求、记录请求、回放请求、内容删除请求、跨设备的暂停点管理等),并管理跨一个或多个运营者前端202和云存储系统206的媒体内容项的存储,等本文描述的其它服务和特征。

基于各种因素,从运营者前端202处的媒体内容管理设备210而不是从云存储系统206流传输存储的媒体内容项有时是更有效的,反之亦然。例如,运营者前端202的传输基础设施208通常可以是更可靠的并且具有比可用于将媒体内容项从云存储系统206传输到媒体设备108的网络更大的带宽容量。然而,传输基础设施208可能不能够将媒体内容项传输到一些类型的媒体设备108(例如,未连接到传输基础设施208的移动设备),并且一些媒体内容格式可能不适合用于通过运营者前端202传输。在这些和其它实例中,例如,从云存储系统206流传输媒体内容项通常可能更加有效。

为了便于在适当的时候从运营者前端202或云存储系统206流传输媒体内容项,在一个实施例中,服务提供者系统204可以被配置成确定哪些媒体内容项存储在运营者前端202,哪些媒体内容项存储在云存储系统206,或两者兼而有之。例如,服务提供者系统204可确定由一个或多个用户选择用于记录的哪些媒体内容项是最有可能在特定时间量内或采用特定的频率被观看。对于确定为可能在媒体内容项被选择用于记录不久之后被观看的项,例如,这些项可以被存储在运营者前端202。将这些项存储在运营者前端202可以是有益的,例如,益于利用更稳健的传输基础设施208。相反,被确定为不太可能被选择在不久的将来观看,或可能在未连接至传输基础设施208的媒体设备上观看的媒体内容项可以被存储在云存储系统206,以减少存储在运营者前端202的数据量。

服务提供者系统204可用来确定在何处存储媒体内容项的示例准则包括关于特定媒体内容项的信息和一个或多个用户帐户的历史数据。例如,该准则可包括媒体内容项的年龄(例如,从最初播放日期计算),用户最近观看行为(例如,用户最近是否观看同一系列节目中的较早集),跨所有用户帐户的媒体内容项的整体欢迎度,在特定家庭中的跨媒体设备108的总体观看习惯,用户当前正观看的集在系列节目中的比率以及剩余集的数量等。

在一个实施例中,服务提供者系统204可以使用各种准则,诸如上面描述的示例准则,来针对用户帐户选择用于记录的每个媒体内容项生成加权因子,在此也被称为相关因子。例如,相关因子可以针对每个媒体内容项指示在接下来的N天内或某个其它时间段内接收到播放该媒体内容项的可能性。可以相对于整个用户帐户群、目标用户帐户组、或单独的用户账户,生成针对每一个媒体内容项的相关因子。在一个实施例中,相关因子可以被用来确定在何处存储特定媒体内容项(例如,在运营者前端202和/或云存储系统206),存储特定媒体内容项采用的视频和/或音频格式,存储和/或传输特定媒体内容项采用的比特率,等等。在一个实施例中,相关因子可以被用来确定是否和何时生成和存储特定媒体内容的转码版本。例如,如果用户暂停正在用户家中观看的媒体内容项,取决于与媒体内容项相关联的相关因子,可以生成媒体内容项的转码版本并将其存储在云存储系统206中,其中转码版本适合于在移动设备上播放。作为另一示例,取决于相关因子,如果媒体内容项被确定不太可能在不久的将来被观看,则服务提供者系统204可以决定在存储器中只保持媒体内容项的单一低比特率记录。

作为基于云的媒体内容管理系统200可如何管理媒体内容项的传输和存储的一个示例,当媒体设备108调谐到直播媒体内容(例如,直播电视流)时,运营者前端202可以经由传输基础设施208(例如,QAM基础设施)向媒体设备108提供所选择的媒体内容。在一个实施例中,如果媒体设备108的用户暂停播放直播媒体内容,那么服务提供者系统204可以在运营者前端202和/或在云存储系统206开始记录同一媒体内容。当用户从同一媒体设备108或从与用户账户相关联的另一媒体设备108重新开始播放媒体内容项时,媒体内容项然后可以经由基于IP的网络从运营者前端202或云存储系统206流传输到媒体设备108。如果用户随后赶上媒体内容项的直播点,则基于云的媒体内容管理系统200可以经由基于IP的网络继续流传输媒体内容项到媒体设备108,或者可以代替地使用传输基础设施208重新开始传输媒体内容项。

作为基于云的媒体内容管理系统200管理媒体内容项的传输和存储的另一示例,服务提供者系统204可被配置成在运营者前端202和/或云存储系统存储由一个或多个媒体设备108调谐到的媒体内容的“活缓冲区”。例如,每当媒体设备108调谐以接收特定媒体内容项时,服务提供者系统204可在运营者前端202和/或云存储系统206开始记录媒体内容项,其中记录作为可配置的持续时间(例如,30分钟)的滚动缓冲区被管理。用于特定媒体内容项的滚动缓冲区可在媒体设备调谐到不同的媒体内容之后自动被删除(例如,响应于信道改变,从EPG的不同内容选择等),或该缓冲区可以保持在存储器中可配置的时间段(例如,30分钟)。如果用户随后选择记录特定的媒体内容项,则滚动缓冲区可以用作为用户存储的记录的部分,等其它用途。

虽然图2包括运营者前端202,但是其它实施方案可以不直接涉及运营者前端202,其中运营者前端202接收来自内容源106的媒体内容,将媒体内容分发到媒体设备108,并且还可以是存储在云存储系统中的媒体内容项的源。在一个实施例中,媒体设备108可以从内容源106接收媒体内容项(例如,经由运营者前端202或经由IP网络直接从内容源106接收媒体内容项)并且媒体内容项可以从媒体设备108上传云储存器。例如,内容源106可以包括OTT内容(over-the-top内容)、视频点播(VOD)和通过因特网传输到媒体设备108而不涉及有线或卫星电视系统运营者的其它内容的提供者。在本文所描述的这个和其它示例中,服务提供者系统204可以不通过与运营者前端202直接连接来实现对云存储器中的媒体内容项的存储和访问。

2.3.示例服务提供者系统

图3是示例服务提供者系统204的组件的框图。一般而言,服务提供者系统204可被配置成管理各种媒体设备108对媒体内容项的存储(例如,在运营者前端202和/或云存储系统206)和访问。在一个实施例中,每个媒体设备108可以与一个或多个用户帐户相关联,以使服务提供者系统204能够跟踪由特定用户安排记录的媒体内容项,管理针对每个用户帐户上传的媒体内容项的存储,并且管理跨用户设备对媒体内容项的访问,等等。在一个实施例中,服务提供者系统204可包括控制面板模块302、网络调度模块304、上传管理模块306、订阅/记录元数据308、设备和帐户提供模块310、流传输和托管模块312、以及存储和转码模块314。

存储和转码模块314一般可以包括配置成管理从一个或多个内容源106和/或媒体设备108接收到的媒体内容项的存储和传输的一个或多个组件。在一个实施例中,存储和转码模块314可包括位于运营者前端202和/或云存储系统206的配置成存储媒体内容项的一个或多个组件,和/或与之相连。存储和转码模块314还可包括被配置成管理对从媒体设备108群上传的媒体内容项的存储和访问的一个或多个组件。

在一个实施例中,存储和转码模块314可以被配置成管理可提供给媒体设备108的用户用于存储记录的媒体内容项和其它数据的存储空间。例如,用户帐户可以与用于存储被与用户帐户相关联的用户选择用于记录的媒体内容项的云存储量相关联。与每个用户帐户相关联的总存储空间量可以取决于付费订阅等级,由用户购买的存储量,或基于任何其它用户帐户考虑。

一般而言,存储和转码模块314可被配置以使用户能够在任何时刻存储不超过与用户帐户相关联的总存储空间量的记录的媒体内容的量。例如,如果特定用户帐户与10GB的总云存储空间相关联,那么与该用户帐户相关联的用户可将多达10GB的媒体内容项存储在云存储器中。然而,应注意,与每个用户帐户相关联的存储空间量可以表示“虚拟”存储量,这意味着与由用户帐户记录的媒体内容项相关联的存储空间量可能不反映用来存储为该用户帐户存储的媒体内容项的实际存储空间量。例如,如果两个用户帐户均记录同一媒体内容项,那么与这两个用户帐户中的每一个相关联使用的存储空间量可以增加该媒体内容项的大小,但是实际上存储和转码模块314只存储媒体内容项的一个共享副本。其它可能的规则可被施行,以确定如何针对用户的总可用存储空间计算用户选择用于记录的媒体内容项,例如用记录同一媒体内容项的用户的数量除与特定媒体内容项相关联的存储空间。在一个实施例中,服务提供者系统204可以使用户能够采用不同于增加总存储空间的多个方式升级与用户帐户相关联的存储区,如升级存储区以提供对存储的媒体内容项的其它转码版本(例如,针对用户希望观看在其上观看媒体内容项的不同类型的设备的不同转码版本)的访问。

安排用于记录的媒体内容项可以在该媒体内容项被发送到一个或多个媒体设备108之前由存储和转码模块214处理,或该媒体内容项可以被直接发送到媒体设备108并且随后从媒体设备上传到存储和转码模块314。

在一个实施例中,存储和转码模块314可包括一个或多个应用程序编程接口(API),应用程序编程接口被配置成接收和处理播放、记录、删除、创建副本、或执行与由存储和转码模块314管理的媒体内容项相关的其它操作的命令。例如,这些命令可以从网络调度模块304、媒体设备108、或基于云的媒体内容管理系统的其它组件生成和接收。

在一个实施例中,流传输和托管模块314被配置成流传输、下载、或以其它方式将存储在云存储器中的媒体内容项发送到媒体设备108。流传输和托管模块314可以例如包括一个或多个服务器,其作为内容传递网络(CDN)的一部分,并且被配置成将媒体内容项和其它数据传递到分布式媒体设备108群。在一个实施例中,流传输和托管模块314可以进一步被配置成对发送到媒体设备108的媒体内容项进行一个或多个变换,包括将存储的媒体内容片段转换成适合于通过一个或多个网络104传递的格式,针对特定类型的媒体设备108转换媒体内容项的编码,以及在将媒体内容项发送到媒体设备之前,进行任何其它类型的数据变换。

在一个实施例中,服务提供者系统204包括用于管理用户帐户的一个或多个组件,管理用户账户包括管理基于用户帐户的记录时间表,对跨媒体设备108的媒体内容项的访问,暂停点信息等。网络调度模块304可以例如与媒体设备108的调度组件例如DVR相似。在一个实施例中,网络调度模块304被配置成从多种媒体设备108接收安排记录媒体内容项的请求,其中每个媒体设备与用户账户相关联。例如,用户可以使用第一媒体设备安排第二媒体设备记录特定电视节目。在一个实施例中,第一媒体设备可以将记录请求发送到网络调度模块304。在预定记录时间或之前,网络调度模块304可接着发送指示第二媒体设备记录电视节目的命令给第二媒体设备。在一个实施例中,网络调度模块304可以附加地或替代地将指示存储和转码模块314直接从内容源106接收请求的电视节目并且存储该电视节目的命令发送到存储和转码模块314。

在一个实施例中,服务提供者系统204的多个方面可以经由控制面板302进行配置。例如,控制面板302可以提供一个或多个接口,接口使内容提供者和/或媒体设备用户能够配置与基于云的媒体内容管理系统相关的多种设置。可由媒体内容提供者配置的设置的示例包括基于每通道或每媒体内容播放,每个用户可使用的存储空间量,由运营者提供的媒体内容项可从云存储器发送到的物理位置的限制等,选择性地允许或拒绝用户在云存储系统中存储记录的能力。位置限制例如可指示由运营者提供的媒体内容项仅可以发送至经由用户家里的网络可访问的媒体设备108,仅发送到通过内容提供者的网络可访问的媒体设备,或媒体内容项可以发送到任何地方。内容提供者可配置时间限制,时间限制指定由内容提供者提供的媒体内容项可以从云存储器访问的时间为多长(例如,在播放之后28天或在记录之后7天)。其它配置可以包括每个用户帐户被允许的并行流的数量,每个媒体内容项被允许存储在云存储器中的持续时间,用户是否被准许恢复删除的媒体内容项,用户是否能够记录以前播放的内容,特技播放是否启用等。

在一个实施例中,控制面板302还可以为最终用户提供一个或多个接口,以配置服务提供者系统204的各个方面。例如,可以设置一个或多个接口,这些接口使用户能够配置用户可用的云存储量,购买额外的存储空间,以及配置和/或购买可供用户使用的虚拟调谐器的数量。控制面板302还可以包括一个或多个接口,这些接口使用户能够管理目前被用户存储在云存储器中的媒体内容项,管理发送媒体内容项到与用户相关联的特定媒体设备,以及配置用户账户的其它方面。

在一个实施例中,上传管理模块306被配置成从媒体设备108群的媒体内容项的上传。例如,媒体设备108的用户可以安排在媒体设备上记录电影。上传管理模块306通常可以被配置成接收媒体设备108正在记录特定媒体内容项的指示,并且作为响应,可以使媒体设备108将媒体内容项的一个或多个片段上传到存储和转码模块314。在云存储器中的媒体内容项的存储可用于向用户提供跨越与每个用户相关联的媒体设备108的媒体内容项的访问,如在下文中更详细描述的。

在一个实施例中,上传管理模块306可以存储和管理一个或多个设备上传效率配置文件。如本文所使用的,设备上传效率配置文件一般指定与媒体设备108如何处理媒体内容项和将其上传到服务提供者系统204有关的各种属性和值。如在下文中更详细描述的,设备上传效率配置文件可以例如指定媒体设备如何限定媒体内容项的片段以及媒体设备108多久检查限定的片段一次以与服务提供者系统204一致。媒体设备108可存储数个不同的配置文件,并基于某些条件的发生改变当前使用的配置文件。在一个实施例中,上传管理模块306还可以响应于由服务提供者系统204确定的条件生成新的或修改的设备上传效率配置文件并将其分发到媒体设备108。

在一个实施例中,服务提供者系统204可以包括订阅和记录元数据308,包括与由媒体设备108的用户选择用于记录的媒体内容项相关的元数据。例如,元数据可以包括识别被特定用户帐户选择用于记录的媒体内容项,选择用于删除的媒体内容项的信息,或与媒体设备的操作相关的任何其它信息。订阅及记录元数据308还可以包括指示与特定用户帐户相关的订阅信息的数据,包括可用的内容源,分配的存储量等。

在一个实施例中,设备和帐户提供模块310可以被配置成实现用户帐户的创建和管理,并管理用户帐户与一个或多个媒体设备108的关联。一个或多个媒体设备108的用户可以与用户账户相关联,这使得服务提供者系统204能够跨不同的媒体设备存储和跟踪关于用户的信息。例如,服务提供者系统204可与每个用户帐户相关联地存储信息,包括关于用户对特定内容源106的订阅的信息,关于用户帐户记录的媒体内容项的元数据,用户偏好,用户简档信息,用户观看历史,等等。在一个实施例中,用户帐户可以与验证信息(例如,用户名和密码)相关联,这允许用户能够将特定媒体设备108与特定用户帐户相关联。例如,用户可以通过在媒体设备108提供用户名和密码或其它验证信息将特定媒体设备108与用户帐户相关联。

2.4.示例媒体设备

图4示出了根据一个或多个实施例的媒体设备的示例框图。如图4所示,媒体设备108可以包括多个组件,例如内存系统402、一个或多个存储设备404、中央处理单元(CPU)406、显示器子系统408、音频/视频输入410、一个或多个输入设备/调谐器412、网络模块414、上传模块416、和/或用于执行本文描述的功能性的其它组件。在一个实施例中,媒体设备108可以是DVR。多功能媒体设备被描述在本申请人所有的美国专利申请号为12631740,名称为“Multifunction Multimedia Device(多功能多媒体设备)”的专利中,其通过引用的方式完全并入于此。

在一个实施例中,存储设备404一般表示媒体设备108可访问的辅助存储器。存储设备404可以包括但不限于以下中的一个或多个的任意组合:固态驱动器(SSD)、混合硬盘驱动器、硬盘驱动器等。每个媒体设备108可以或可以不包括一个或多个存储设备404。如果媒体设备108包括存储设备404,则该存储器可被用于多个目的,包括存储记录的媒体内容项的全部或部分,提供用于媒体设备调谐器412的缓冲区,预缓存由云存储系统存储的媒体内容项的部分等。

在一个实施例中,音频/视频输入410通常相当于包括从外部源接收音频和/或视频输入(例如,HDMI、DVI、模拟)的功能性的任何组件。例如,音频/视频输入410可以是能够从不同设备接收输入的显示器端口或高清晰度多媒体接口(HDMI)。音频/视频输入410可以从机顶盒、DVR、蓝光光盘播放器、个人计算机、视频游戏控制台、音频/视频接收器、压缩磁盘播放器、增强型多功能磁盘播放器、高清晰度光盘、全息多功能磁盘、激光盘、小型磁盘、磁盘膜、RAM盘、乙烯基磁盘、软盘、硬盘驱动器磁盘等接收输入。媒体设备108可包括任何数量的音频/视频输入410。

在一个实施例中,输入设备/调谐器412一般表示能够接收内容流(例如,通过电缆、卫星、因特网、网络、地面天线等)的任何输入组件。在调谐器配置中,输入设备/调谐器412可以允许一个或多个接收的频率通过,而滤除其它(例如,通过使用电子共振等)。电视调谐器例如可以将射频电视传输转换成数字音频和视频信号,其可被进一步处理以产生声音和/或图像,或电视调谐器可以接收数字信号,如MPEG2,MPEG4等。在一个实施例中,每个媒体设备108可以具有一个或多个调谐器(例如,正交幅度调制(QAM)调谐器、数字视频广播-电缆(DVB-C)调谐器、高级电视系统委员会(ATSC)调谐器,等等),用于接收来自内容源106的直播或点播电视内容。调谐器可以是物理调谐器或表示用于接收广播内容的物理组件的抽象感知的虚拟调谐器。

在一个实施例中,网络模块414一般表示能够通过网络(例如,因特网、内联网、全球网等)发送和接收数据的任何输入组件。网络模块414的示例包括但不限于任何的:网卡、网络适配器、网络接口控制器(NIC)、网络接口卡、无线卡、局域网适配器、以太网卡,能通过网络(例如一个或多个网络104)发送和接收的信息的任何其它组件。网络模块414还可被用于与另一设备(例如,媒体设备、计算机、辅助存储设备等)直接连接。

在一个实施例中,上传模块416被配置成管理从媒体设备108到云存储器(例如,运营者前端202、服务提供者系统204、和/或云存储系统206处的存储器)的媒体内容项的上传。在一个实施例中,上传模块416包括一个或多个设备效率配置文件。设备效率配置文件一般表示指定与媒体设备108如何分割和上传媒体内容项相关的一个或多个属性、参数和其它设置的一组信息。如上所述,可在设备效率配置文件中指定的设置的示例包括媒体设备如何限定片段和媒体设备为了一致性而检查每个片段的频率。

在一个实施例中,媒体设备108可以响应于特定条件的发生而在设备效率配置文件之间切换。例如,媒体设备108可以被配置成如果媒体设备确定它已接收一个或多个包含错误的片段,或者如果媒体设备确定网络状况已经改变则切换配置文件。

在一个实施例中,媒体设备108可以被配置成周期地确定和发送与该媒体设备的操作相关的统计数据,包括网络带宽使用,分割速度,或者任何其它统计数据。由每个媒体设备108收集的数据可以被服务提供者系统204发送和存储。在一个实施例中,当选择从哪个特定媒体设备108上传媒体内容片段,修改或创建新的设备效率配置文件,或用于任何其它目时,服务提供者系统204可以使用统计数据。

在一个实施例中,媒体设备108可以通过有线和/或无线通信段从通信耦合的设备接收输入。由媒体设备108接收到的输入可以被存储到内存系统402或存储设备404。内存系统402可以包括用来存储数据的一个或多个不同类型的物理内存。例如,内存系统402中的一个或多个内存缓冲区(例如,HD帧缓冲区)可以包括存储容量,以加载用于编辑和/或提取指纹的一个或多个未压缩的高清晰度(HD)视频帧。内存系统402还可以存储压缩形式(例如,MPEG2、MPEG4、或任何其它合适的格式)的帧,其中帧然后被解压缩到帧缓冲区以修改、提取指纹、更换、和/或显示。内存系统302可包括闪存、DRAM内存、EEPROM、传统的旋转盘驱动器等。

在一个实施例中,中央处理单元406可以包括执行使用由媒体设备108接收的任何输入的本文描述的功能的功能性。例如,中央处理单元406可被用于动态地从存储在内存系统402中的媒体内容帧提取指纹。中央处理单元406可以被配置成基于标签、散列值、指纹、时间戳、或者与媒体内容相关联的其它合适信息标记或标识媒体内容或的媒体内容的部分。中央处理单元406可被用于修改媒体内容(例如,缩放视频帧等),分析媒体内容,解压缩媒体内容,压缩媒体内容等。存储在帧缓冲区中的视频帧(例如,高清视频帧、4K帧等)可以被中央处理单元406动态地修改,以将附加内容(例如,关于帧的信息、节目信息、聊天消息、系统消息、网页内容、图片、电子节目指南、视频内容、文本内容、或任何其它合适内容)覆盖在视频帧的上面,操纵视频帧(例如,拉伸、旋转、缩小、等等),或实时替换视频帧。因此,电子节目指南、动态选择的广告信息、媒体内容信息,或者任何其它文本/图形可被写入到存储在帧缓冲区中的视频帧上,以将附加内容叠加在存储的视频帧上面。中央处理单元406可被用于处理和任何与媒体设备108相关联的输入和/或输出设备的通信。例如,在实时动态修改的视频帧可以随后被传输用于显示。中央处理单元406也可以用来与其它媒体设备通信以执行与数据同步、发布有关的功能。

在一个实施例中,显示器子系统408一般表示包括输出(例如,视频输出以显示(Video Out to Display)418)和/或实际显示一个或多个图像的功能性的任何软件和/或设备。显示设备的示例包括信息亭、手持设备、计算机屏幕、监视器、电视机、投影仪等。显示设备可以使用不同类型的屏幕或显示技术,例如液晶显示器、阴极射线管、投影仪、等离子体屏幕等。来自媒体设备108的输出可以针对正被使用的显示设备的类型,显示设备的大小,分辨率(例如,720i、720p、1080i、1080p、或其它合适的分辨率)等被专门格式化。然而,一些媒体设备108可能没有任何显示输出组件(例如,主要被配置成将媒体内容项流传输至其它媒体设备的媒体设备)。

3.0.功能概述

图1和图2的示例安排可以实现一种媒体内容管理系统,其能够实现在云计算环境中存储和访问媒体内容项。在一个实施例中,本部分中描述的每个过程可以使用在通用计算设备或专用计算设备的任何组合中的一个或多个计算机程序,其它软件元件和/或数字逻辑施行,同时执行涉及(多个)计算设备的内存的物理状态的交互和变换的数据检索、变换和存储操作。在一些实施例中,过程在包含媒体设备和基于云的媒体内容管理系统的系统中施行,媒体设备(例如,DVR、机顶盒、个人计算机、移动设备等)可接收、播放、记录、和/或存储媒体内容项,并且基于云的媒体内容管理系统管理用户对媒体内容项的访问。在其它实施例中,过程仅由一个或多个服务器或由单个客户端计算设备施行。这类系统的示例在前面的部分中描述。

在一个实施例中,基于云的媒体内容管理系统被配置成集中管理媒体设备群对媒体内容项的存储和访问。管理媒体内容项的存储一般可包括,例如,使用基于云的调谐器记录选择的媒体内容项的副本和/或协调从媒体设备群的媒体内容的上传,以及采用随后能够回放的方式存储上传的媒体内容项。管理对媒体内容项的访问可以包括,例如,基于用户账户限制对存储在云存储器中媒体内容项的访问,提供对近似于媒体设备最初接收到的媒体内容项的版本的媒体内容项的副本的访问,以及实现媒体设备的升级和更换而不失去对以前记录的内容的访问。下部分中描述基于云的媒体内容管理系统的这些和其它特征和服务。

在一个实施例中,由基于云的媒体内容管理系统存储的媒体内容项可以从最初接收该媒体内容的媒体设备的群上传。例如,如果数个媒体设备均记录特定的电视节目,那么该电视节目的副本可以被每个媒体设备记录并且被设备共同上传至云存储器用于随后访问。对从媒体设备群的媒体内容的上传的管理可以使用减少从每个单独的媒体设备上传的数据量,并进一步减少通过基于云的媒体内容管理系统存储的数据量的技术来大大改善。通过减少从单独媒体设备上传的数据量,每个媒体设备可用更少带宽,从而改善用户体验,由此增加用户的任何媒体设备从云存储器访问记录的媒体内容的效率。

3.1.分布式媒体设备上传

在一个实施例中,为了提供在多种媒体设备处记录的媒体内容项的云存储,媒体设备可以将由媒体设备记录的媒体内容项的整个副本上传到基于云的媒体内容管理系统。然而,在媒体设备和媒体内容管理系统这两者上的存储空间和带宽限制对上传和存储记录的每个媒体内容项的单独副本提出了许多挑战。因此,通常可以希望减少由每个单独的媒体设备上传的数据量,并进一步减少存储在基于云的媒体内容管理系统处的数据量。

在一个实施例中,为了减少媒体设备上传和云存储空间的需求,一群媒体设备可各自只将在记录在媒体设备的媒体内容项的部分以分布方式上传到媒体内容管理系统。例如,安排记录特定媒体内容项的每个媒体设备可以上传媒体内容项中的一个或多个选择的片段。如在下文更详细地描述的,在一个实施例中,集中媒体内容管理系统可以协调从媒体设备群的媒体内容项的分布上传,从而使媒体内容项的整个副本被接收和存储,但不需要从每个媒体设备上传整个媒体内容项的单独副本。

图5示出了根据一个实施例的用于媒体设备管理分布式环境中的媒体内容项的上传的示例流500。流500的各种元件可以在多种系统(包括诸如上面描述的系统100和系统200的系统)中执行。在一个实施例中,结合下面描述的功能块描述的每个过程可以使用在任何通用计算机或专用计算机中的一个或多个计算机程序,其它软件元件和/或数字逻辑来施行,同时执行涉及计算机内存的物理状态的交互和变换的数据检索、变换、和存储操作。

在框502,媒体设备接收媒体内容项。例如,媒体内容项可以包括由媒体设备的用户选择用于记录或观看的电视节目、电影、点播内容、或任何其它媒体内容。响应于用户从电子节目指南(EPG)、视频点播库、第三方视频库、或可用媒体内容的其它列表选择媒体内容项,媒体设备可以调谐到媒体内容项。

在一个实施例中,响应于接收到记录媒体内容项的命令,媒体设备可以调谐到媒体内容项。记录媒体内容项的命令可以最初在媒体设备,或者在与同一用户帐户相关联的媒体设备上接收。例如,用户可以在第一媒体设备(例如,智能电话)提供请求在第二媒体设备(例如,DVR)记录媒体内容项的输入。响应于该输入,第一媒体设备将安排记录的命令发送到服务提供者系统204的网络调度器模块304,或直接发送到第二媒体设备。然后第二媒体设备可以响应于从网络调度器模块304接收的命令,从另一媒体设备直接接收的命令,或者基于内部命令,在预定记录时间调谐到媒体内容。在一个实施例中,记录媒体内容项的命令可以作为包括安排的记录的列表的记录时间表的部分被接收。记录媒体内容项的命令一般可以在媒体内容项播出之前或期间的任何时间被接收。

在一个实施例中,媒体设备使用媒体设备的调谐器412或网络模块416调谐到特定媒体内容项。例如,调谐器412可以被配置成经由运营者前端202从内容源106接收内容。作为另一示例,如果媒体内容项包括OTT内容,那么媒体设备的网络模块416可以经由一个或多个网络(例如,网络104)访问媒体内容。如果媒体设备被许可从内容源106访问媒体内容(例如,因为用户与有线电视运营者或基于因特网的内容源达成订阅,所以媒体设备有能力基于地理位置或服务提供者等接收内容源),那么媒体设备的调谐器412/网络模块416接收媒体内容项来作为用于被媒体设备进一步处理的内容流。因此,通过调谐和接收所选择的媒体内容项,媒体设备能够验证与媒体设备相关联的用户帐户有媒体内容的访问权限。

在框504,媒体设备识别媒体内容项中的片段的边界。如本文所使用的,媒体内容项的片段一般是指媒体内容项的限定部分,其中该部分可跨越特定时间长度,包含特定量的数据,或以其它方式包含表示整个媒体内容项的一部分的数据元素的限定集合。一般而言,各片段可以被限定片段的起点和终点的片段边界限定。片段边界可以例如被媒体内容项中的特定帧限定,被与媒体内容项相关联的定时信息限定,被与媒体内容相关联的数据元素限定,或者基于媒体内容项的任何其它属性限定,如在下文中更详细描述的。

如上所述,基于云的媒体内容管理系统可以以分布式上传媒体内容项的单独片段的方式从媒体设备108群接收媒体内容项,其中,每个单独的片段可能从群中的不同媒体设备上传。例如,如果两个或更多个单独的媒体设备均安排记录同一电视节目,那么每个媒体设备可(或可不)上传电视节目的一个或多个片段,上传的片段共同形成该电视节目的完整副本。一些媒体设备可以上传比记录同一媒体内容项的其它媒体设备更多的片段。例如,可确定某些媒体设备具有比其它媒体设备更多的可用上传带宽,某些媒体设备正在接收更高质量的信号,或相对于其它媒体设备可能偏爱从某些媒体设备上传的其它因素。

因为特定媒体内容项的每一片段都可以从媒体设备群的任何媒体设备上传,因此可以针对媒体设备群定义分割规则,其中分割规则一般限定群中的每个媒体设备如何分割媒体内容项,从而使得云存储系统可以最终接收媒体内容项的完整副本。此外,根据一个特定的分割方案,各种技术可被用于“同步”通过媒体设备群的媒体内容项的分割。

作为用于媒体设备群的分割规则的一个示例,每个媒体设备可以基于公共时钟分割接收的媒体内容项。例如,每个媒体设备可被配置成根据公共时钟基于特定时间跨度(例如,每6秒)限定媒体内容项的片段。因而,如果特定媒体内容项计划从05:00至06:00播放,那么第一片段可以包括05:00:00和05:00:06之间播出的内容的部分,第二片段可以包括05:00:12之间播出的内容的部分,等等。然而,在横跨多个地理位置播放媒体内容项时时间会漂移,即使是轻微的,时间漂移也可能会导致阻碍使用公共时钟来使跨媒体设备群分割一致的误差。

在一个实施例中,媒体设备群中的每个媒体设备可被配置成基于可能不与任何具体时钟相关的持续时间分割媒体内容项。例如,群中的各媒体设备可以被配置成将媒体内容项中的各片段识别为十秒内容。然而,由于媒体设备可能没有从完全相同的开始位置开始计数各十秒片段,因此来自群的任何两个特定媒体设备可能或可能没有生成用于同一媒体内容项的相同片段。媒体设备群可接着例如被动态地分成若干组,每一组包括在相同的边界限定用于媒体内容项的片段的设备。

在一个实施例中,群中的每个媒体设备可被配置成基于持续时间分割媒体内容项,并且每个媒体设备的分割可以由集中式媒体内容管理系统进行同步。例如,每个媒体设备可以基于指定量的时间(例如,10秒钟)最初限定一个或多个片段的边界。如下面更详细描述的,媒体设备可以将用于最初限定的片段的一个或多个片段标识值发送给媒体内容管理系统。基于片段标识值,媒体内容管理系统可以将使得媒体设备能够同步分割的数据发送到媒体设备。例如,如果确定特定媒体设备限定的片段与其它媒体设备相差一秒,那么数据可指示特定媒体设备限定一个九秒片段,然后再开始限定十秒片段,从而片段边界被同步。

作为帮助媒体设备群同步分割的媒体内容管理系统的另一个示例,媒体内容管理系统可以通过从媒体设备接收基于许多可能的片段边界的片段标识值来使媒体设备媒体同步。基于片段标识值,媒体内容管理系统可以发送指示媒体设备使用这组可能片段边界中的片段边界的一个实例。例如,如果媒体设备被配置成基于十秒时间识别片段边界,则媒体设备可以生成用于媒体内容项中的许多重叠的十秒跨度的片段标识值(例如,散列值、校验和等)。媒体设备可以生成用于每个跨度的片段标识值,将片段标识值发送给媒体内容管理系统,并且媒体内容管理系统可以选择使用用于媒体设备的片段中的一个(例如,基于哪个片段与其它媒体设备使用的片段边界相对应)。然后,媒体设备可以从媒体内容管理系统接收使用所选择的片段边界的指令并基于所选择的边界生成附加片段。

作为另一示例,媒体设备群可以协作同步设备之中的片段识别而不需要集中式媒体内容管理系统的协调。例如,群中的各媒体设备可以识别媒体内容项中的一个或多个片段,生成用于片段的片段标识值,并发送该值到接收同一媒体内容项的一个或多个其它媒体设备。基于片段标识值,媒体设备可以共同确定作为其它片段的识别基础的特定边界。例如,媒体设备可以选择由最多数量的媒体设备生成的片段边界,或基于任何其它选择准则。

作为另一示例,媒体设备群可基于预定分割规则进行配置,其中预定分隔规则将媒体内容的每个片段限定成媒体内容项中的帧的一个或多个特定集合。在一个实施例中,帧的每个集合可基于用于音频和视频格式化的运动图像专家组(MPEG)标准规范。例如,片段可以被限定成包括在媒体内容项中的一个或多个“图像组”(GOP)。在MPEG-4标准的情况下,例如,GOP一般指视频流内的一组连续帧,其中媒体内容项的每一帧均被包括在一个GOP中。与媒体内容项一起被包括的元数据可以限定用于特定媒体内容项的GOP边界。

分割规则的另一示例可以基于与媒体内容项一起被包括的定时元数据信息限定每个片段。例如,基于MPEG标准被编码的媒体内容项通常包括指示用于媒体内容流的部分的总时钟参考的显示时间戳(PTS)值。媒体内容项因而可基于媒体内容项中的显示时间戳(PTS)值(例如,PTS值的每个跨度为1000)的范围被分割。作为另一相似示例,媒体内容项可基于节目时钟参考(PCR)值的范围被分割,节目时钟参考值表示通常与媒体内容项一起被包括的另一定时元数据字段。作为又一示例,分割规则可以基于与媒体内容项相关联的两个或更多不同元素的组合。例如,每个片段可以被限定成不超过PTS值的指定跨度的许多GOP。

一般而言,当媒体内容流被媒体设备接收到时,媒体设备可顺序地识别媒体内容项中的片段边界。例如,如果分割规则基于PTS值的1000的范围限定每个片段,那么媒体设备可以将媒体内容项中的第一片段的边界识别为与0和999之间的PTS值相关联的媒体内容的部分,第二片段被与1000和1999之间的PTS值相关联的部分限定,以此类推。在接收到媒体内容项时片段边界可以被实时识别,或在媒体设备已经接收到部分或全部媒体内容项之后的时间被识别。在其它示例中,媒体设备可相对于媒体内容项无序地识别片段边界,选择媒体内容项中的用来限定一个或多个片段的特定部分。

在一个实施例中,由媒体设备群的各媒体设备限定的片段的大小和/或持续时间在整个群中可以是或可以不是统一的。例如,每个媒体设备可以包括一个或多个设备效率配置文件,设备效率配置文件限定每个特定媒体设备如何识别片段边界,等其它属性。例如,基于与特定媒体设备相关联的一个特定设备效率配置文件,媒体设备可被配置成生成持续时间均为三秒的片段,而与不同设备效率配置文件相关联的另一媒体设备可被配置成生成持续时间均为六秒的片段。因此服务提供者系统204的上传管理模块306或其它组件可以包括被配置成将不同大小的片段组装成媒体内容项的完整副本以用于存储的逻辑。

在框506,媒体设备可以生成标识限定的片段的一个或多个值,在本文中也被称为片段标识值。一般而言,片段标识值可以是用于相对于其它片段标识片段的任何值。在一个实施例中,例如,片段标识值可以用于将片段与其它片段进行比较以识别“同一性”,两个片段的“同一性”对应于片段是否表示媒体内容项的相同或大体上相同部分。如下文中更详细描述的,基于云的媒体内容管理系统的一个或多个组件可以使用片段标识值来比较片段,以确定例如该系统是否已经从另一媒体设备接收到相同的片段的副本,和确定是否指示媒体设备将特定片段上传到云存储系统。

在一个实施例中,片段标识值可以包括基于包含片段的数据的部分或全部的散列值。媒体设备用来生成这样的值的散列函数通常可以是将包含片段的数据的全部或部分映射为固定大小值的任何函数。例如,散列函数可以被应用于包含片段的全部数据(包括媒体数据(例如,视频和音频数据)以及与片段相关联的任何元数据(例如,隐藏字幕数据,定时信息等))生成片段标识值。一般而言,假定用于由两个不同的媒体设备限定的两个片段的原始数据是相同的,片段映射到相同的散列值,而两个不同的片段映射到不同的散列值。这个属性可被用来(例如,被媒体内容管理系统102用来)仅通过比较针对片段生成的散列值而不是比较片段的整个数据内容来确定两个分别限定的片段是否表示相同的片段,由此提高这类比较的速度。此外,通过从包含片段的全部数据生成散列值,两个片段之间的任何差异可以被检测(例如,因为片段表示媒体内容项的不同部分,或者是因为片段中的一个包括“毛刺“或其它数据损坏),因为任何这样的差异会导致不同的散列值。取决于特定实施方案,可以或可以希望达到这种比较水平。

在一个实施例中,可以不从包含片段的全体数据生成片段标识值,而仅使用片段数据的一部分。例如,媒体设备可以仅基于来自与片段相关联的音频轨道或隐藏字幕轨道的数据生成散列值。作为另一示例,媒体设备可基于包含片段的数据的一部分生成片段标识值,但是该部分跨越片段的整个时间跨度。例如,片段标识值可以基于针对跨越整个片段的一组MPEG帧的离散余弦变换(DCT)系数。一般而言,仅从包含片段的数据的一部分生成片段标识值可以比使用该片段的全体数据在计算上更便宜;然而,因为只有一部分数据被用于生成散列值,因此可能检测不到片段数据的其它部分在一个片段和另一个片段之间的差异。

作为另一示例,媒体设备可以通过将从特定片段得到的一个或多个系列数据联系起来生成用于特定片段的片段标识值。例如,可以通过将与片段相关联的系列的PCR、PTS、或其它元数据值联系起来生成片段标识值。作为又一示例,散列函数可以被应用到从片段得到的数据系列。可用于产生片段标识值的数据的其它示例可以包括带内数据、服务信息(SI)、和/或事件信息表(EIT)。

在一个实施例中,片段标识值可以包括片段的可视和/或音频指纹。一般而言,生成可视指纹可涉及基于来自包括在特定片段中的视频数据的一个或多个渲染帧生成值。类似地,生成音频指纹可包括基于音频数据生成值。利用指纹技术来标识媒体内容项描述在本申请人所有的名称为“Method And An Apparatus For Determining A Playing Position Based On Media Content Fingerprints(基于媒体内容指纹确定播放位置的方法和装置)”的美国专利8417096中,其通过引用完全并入于此。使用带内数据标识媒体内容项被描述本申请人所有的名称“Method And Apparatus For Creating And Viewing Customized Multimedia Segments(创建和观看定制的多媒体片段的方法和装置)”的美国专利7873982中,其通过引用完全并入于此。

在一个实施例中,除了生成片段标识值之外,媒体设备可以对片段执行一个或多个错误检查,以识别可能的数据损坏。如果媒体设备检测到片段呈现数据损坏的一个或多个实例,例如,媒体设备可将错误报告给媒体内容管理系统,以帮助系统确定媒体设备是否将特定片段上传至云储存器。错误检查的一个示例可以包括检测与片段相关联的元数据的中断或其它错误,例如用PCR和/或PTS值。一般而言,PCR和PTS值随片段上的时间单调增加,并且如果媒体设备检测到PCR或PTS值的递减图案则媒体设备可标示片段。

在框508,媒体设备将一个或多个片段标识值发送给媒体内容管理系统。例如,媒体设备108的上传模块416可经由一个或多个网络104将由媒体设备限定的用于片段的片段标识值发送到服务提供者系统204。媒体设备108可以分别地发送每个生成的片段标识值,或与多个片段对应的片段标识值的收集组可以一起被发送。媒体设备108可以与其它数据分开地发送片段标识值,或者片段标识值可以与被发送到媒体内容管理系统的其它数据包括在一起,其它数据包括从其中得到值的媒体内容的部分。

在一个实施例中,代替分别或成组发送片段标识值,媒体设备可以发送从多个片段标识值得到的一个或多个值。例如,媒体设备可以接收整个媒体内容项,生成针对媒体内容项限定的一些或全部片段的片段标识值,并发送从片段标识值得到的校验和或其它值到媒体内容管理系统。然后该媒体内容管理系统可以使用校验和值来确定媒体内容项是否与内容管理系统已经存储的媒体内容项相同。发送单个校验和值,而不是一组片段标识值可以进一步减少从每个设备上传的数据量。

取决于多种因素,媒体设备可被配置成发送由媒体设备限定的每个片段的片段标识值,或少于限定的所有片段的片段标识值。在一个实施例中,媒体设备可基于一个或多个设备效率配置文件确定何时和/或以什么频率发送片段标识值。例如,一个媒体设备的设备效率配置文件可以指示媒体设备发送用于特定媒体内容项的限定的N个第一片段的片段标识值。如果媒体设备接收到不请求上传某个数量的以前限定的片段的指示,配置文件还可以指示媒体设备仅发送所有其它限定的片段的片段标识值。例如,如果特定媒体设备发送用于媒体内容项的一百个第一片段的片段标识值到媒体内容管理系统,并接收媒体内容管理系统以前已经存储这些片段的指示(例如,可能指示其它媒体设备以前上传同一媒体内容项),则基于设备效率配置文件,媒体设备可以开始仅生成和/或发送用于每个其它片段、每个第三片段等的片段标识值。

在框510,响应于发送一个或多个片段标识值到媒体内容管理系统,媒体设备可以从媒体内容管理系统接收指示是否上传一个或多个标识的片段中的一个或多个特定片段的数据。例如,数据一般可表示上传策略信息,上传策略信息包括用于媒体设备上传特定片段的准则,或指示媒体设备上传特定片段。如参考图6更详细描述的,媒体内容管理系统可以根据系统是否已经存储相同片段,或系统当前是否正从其它媒体设备接收相同片段的足够数量的副本,或基于其它因素生成命令。

在框512,媒体设备确定是否上传一个或多个限定的片段。例如,媒体设备可基于从媒体内容管理系统接收到的命令确定上传一个或多个片段。如果命令指示媒体设备上传片段,则在框514,媒体设备发送片段到与媒体内容管理系统102相关联的云存储系统。例如,媒体设备可将片段数据上传到服务提供者系统204的存储和转码模块214,或直接上传到单独的云存储系统206和/或运营者前端202处的存储器。如果命令指示媒体设备不上传片段(例如,因为相同片段的足够数量的副本已经存在于云存储器中),则流500转到框504,并且如果还存在任何片段,则媒体设备可以限定媒体内容项的另一片段。在一个实施例中,媒体设备108可以继续流400的过程,直到媒体内容项结束,或者直到用户手动结束记录。

在一个实施例中,媒体设备可以相对于媒体设备接收和/或限定片段所采用的次序无序地上传媒体内容项的一个或多个片段。例如,在上面描述的流500中,在接收到媒体内容项时媒体设备可以顺序地识别片段边界。然而,媒体设备还可以非顺序地标识和上传片段。例如,服务提供者系统204可以最初指示特定媒体设备不上传特定片段,因为相同的片段目前正由一个或多个其它媒体设备上传。然而,服务提供者系统204可随后确定从其它媒体设备接收到的片段的副本包括一个或多个损坏。作为响应,服务提供者系统204可请求特定媒体设备在稍后的时间上传片段。以这种方式,服务提供者系统204可以接收媒体内容项的完整和未损坏的副本,即使最初上传的片段包括一个或多个检测到的损坏。

在一个实施例中,媒体设备可被配置成采用“主动”或“被动”模式标识和可能上传媒体内容项的一个或多个片段。一般而言,媒体设备可以通过在媒体设备接收到媒体内容时处理媒体内容来采用主动模式标识和上传片段。例如,接收直播电视馈送的媒体设备可按照服务提供者系统204的指示在媒体设备接收电视馈送的同时限定片段和上传片段。作为另一示例,媒体设备可采用被动模式限定和上传片段,被动模式下媒体设备在接收媒体内容之后的时间限定和可能上传媒体内容片段。例如,媒体设备可以接收并记录完整的特定媒体内容项,并且随后限定片段。

在一个实施例中,服务提供者系统204可以基于收集的设备性能数据指示特定媒体设备采用主动或被动模式操作。例如,如果服务提供者系统204确定特定媒体设备已经经历或目前正在经历相对慢的网络上传速度,则系统可指示媒体设备在被动模式下操作。相反,确定为呈现特别强的网络上传速度的媒体设备可以被指示在主动模式下操作。在一个实施例中,替代从服务提供者系统接收指令,媒体设备可基于存储在媒体设备中的设备配置文件信息确定是否在主动或被动模式下操作。例如,设备配置文件可以根据检测到的当前网络或与媒体设备相关联的其它操作条件指示媒体设备是否采用主动或被动模式进行操作。

在图5示出的示例过程中,媒体设备一般基于从服务提供者系统接收到的指令确定是否上传一个或多个片段,指令基于媒体设备生成并发送到服务提供者系统的片段标识值。在其它实施例中,媒体设备可基于可以或可以不包括与服务提供者系统相互作用的一个或多个其它过程确定是否上传媒体内容项的特定片段。

在一个实施例中,媒体设备可在不生成和/或发送片段标识值到服务提供者系统的情况下确定是否上传媒体内容项的特定片段。例如,媒体内容管理系统可确定媒体设备群中的一个或多个媒体设备均记录同一媒体内容项,并且将上传媒体内容项的指令发送到各媒体设备。指令可以将用于上传的媒体内容项的部分分配到一个或多个媒体设备。例如,一个媒体设备可以接收上传前十个片段的指令,第二媒体设备可以接收上传下十个片段的单独指令,等等。一般而言,可以指示在媒体设备群中的媒体设备之间任意分派片段。以这种方式,在不发送用于每个限定的片段的片段标识值的情况下,每个媒体设备可接收媒体内容项,限定媒体内容项的片段,并基于从服务提供者系统接收的指令确定是否上传一个或多个片段。

在一个实施例中,媒体设备可基于从媒体内容管理系统接收到的片段标识值确定是否上传或不上传媒体内容项的特定片段。例如,媒体内容管理系统可以生成用于被媒体设备群的媒体设备选择用于记录的每个媒体内容项的片段标识值。媒体内容管理系统可发送片段标识值到媒体设备,并且媒体设备可以使用从媒体内容管理系统接收到的值来确定媒体设备所记录的媒体内容项的副本的任何片段是否与媒体内容管理系统存储的版本不同。然后,媒体设备可以只上传那些不同于媒体内容管理系统处的副本的片段。在另一示例中,媒体设备可以上传媒体内容项的选择的片段到媒体内容管理系统,并且系统可生成用于该片段的片段标识值,以确定是否存储或丢弃上传的片段。

在一个实施例中,媒体设备群可以通过协调设备之间的上传,在没有接收来自集中式服务提供者系统的上传指令的情况下,上传被媒体内容项安排用于记录的媒体内容项。例如安排记录媒体内容项的媒体设备可以发现其它媒体设备已经安排记录同一媒体内容项(例如,通过媒体设备周期广播记录时间表,从服务提供者系统获得其它设备的记录时间表,等)。媒体设备随后可通信,并确定哪些媒体设备上传哪些片段,例如,基于等同上传共享策略,基于在各媒体设备测量的网络统计数据,或基于媒体设备中确定的任何其它上传策略。

在一个实施例中,媒体设备可以单独地确定是否上传一个或多个片段,而不与媒体内容管理系统或其它媒体设备协调。在一个实施例中,上面描述的一个或多个上传管理技术中可以组合使用。例如,每一个媒体设备可以单独地确定可能上传的一个或多个片段。由每个媒体设备选择的一个或多个片段可以与其它媒体设备协作地被滤除。例如,媒体设备可确定单个媒体设备上传由两个或更多个媒体设备选择的每个片段。然后,每个媒体设备可发送过滤的片段列表到媒体内容管理系统,媒体内容管理系统可以进一步过滤每个媒体设备的片段列表。

3.2.媒体内容的云存储器

如上面参照图5描述的,媒体设备群中的每个媒体设备可以被配置成将媒体设备接收到的媒体内容项的片段上传到媒体内容管理系统。在一个实施例中,媒体内容管理系统可从各种媒体设备接收片段标识值,基于片段标识值确定是否指示特定媒体设备上传相应片段,并存储上传的片段和用以跟踪特定媒体设备记录的媒体内容项的其它元数据。

在一个实施例中,由媒体内容管理系统生成以跟踪特定媒体设备记录的媒体内容项的元数据可以包括上传片段的“清单”。如本文所使用的,清单一般指包括针对每个用户账户和由与用户账户相关联的媒体设备记录的媒体内容项指示片段列表的信息的文件、数据库、或其它数据结构,片段列表包含针对该用户账户和媒体设备的媒体内容项。通过针对特定用户帐户和/或媒体设备保持片段的清单,媒体内容管理系统使用户能够访问用户记录的与用户媒体设备最初接收的媒体内容项的版本相同或大体上相同的媒体内容的副本,包括由于本地节目安排的差异、干扰或数据损坏等导致的个体变化。在一个实施例中,媒体内容管理系统可以使用清单来识别特定片段和特定片段的次序,从而从片段集合组装媒体内容项以用于随后回放。

图6描绘了用于管理从媒体设备群的媒体内容项的上传的示例流程图。例如,图6示出的过程可以通过使用基于云的媒体内容管理系统来管理从媒体设备108群的媒体内容项的上传来施行。

在框602,媒体内容管理系统从与用户帐户相关联的特定媒体设备接收用于媒体内容项的一个或多个片段的一个或多个片段标识值。例如,片段标识值可被正接收或以前已经接收用于观看和/或记录的媒体内容项的媒体设备108生成,如参照图5的框506描述的。与媒体设备相关联的用户帐户的标识可以与片段标识值一起被包括,或者用户帐户可以基于其它信息(例如,与一个或多个其它请求一起发送的设备和/或用户帐户标识符)来标识。

在框604,媒体内容管理系统基于一个或多个片段标识值确定相同的一个或多个片段的副本是否存在于云存储系统中。例如,云存储系统可以单独地或与相应媒体内容片段相关联地存储媒体内容片段的片段标识符,其中该媒体内容片段当前存储在云存储系统中或当前正由其它媒体设备上传至云存储系统。因此,媒体内容管理系统可通过将接收到的一个或多个片段标识值与以前从其它媒体设备接收的片段标识值相比较来确定相同片段的副本是否被存储或正在从另一媒体设备接收。

在一个实施例中,基于云的管理系统不仅可以确定相同片段的副本目前是否存在于基于云的存储器中,还可确定当前存储或当前正被上传的片段的副本数量是否足够。例如,基于云的媒体内容管理系统可以被配置成请求从两个或更多个单独的媒体设备的每个媒体内容片段的两个或更多个单独的上传。系统可请求单独的上传,例如,以提高该系统接收的每个片段的完整和无错误的副本的机会。如果系统接收到片段的被确定为质量相同的两个或更多个副本,那么例如该系统可以通过相同副本中的一个或多个来使存储的片段去重复(deduplicate)。

在一个实施例中,确定相同片段的副本当前是否存在于云存储器中可包括确定具有相同或大体上相同质量的副本当前是否存在于存储器中。例如,基于从媒体设备接收到的特定片段的片段标识值或其它信息,上传管理模块306可确定虽然相同片段的相似副本当前存在于云存储器中,但是片段中的一个包括导致片段不同的一个或多个数据损坏。在这个和其它实例中,服务提供者系统204的上传管理模块306可以或可以不请求媒体设备上传片段的包括数据损坏的单独副本。例如,基于内容权限问题或其它因素,上传管理模块306可以被配置成在相同片段的两个或更多个副本彼此之间的差异十分大时请求上传该两个或更多个副本,使得针对各个媒体设备存储的片段的副本与最初接收到的片段充分相同。

在一个实施例中,为了确定是否请求从不同的媒体设备单独上传片段,上传管理模块306可以为特定媒体设备识别的一个或多个片段指定质量分数。例如,接收和标识特定媒体内容项的包括很少或没有检测到的数据损坏/信号干扰问题的片段的媒体设备可能会收到片段“好”的评分。另一方面,如果媒体设备接收和标识的相同片段具有很多检测的数据损坏,那么片段可以收到一个“坏”评分。在一个实施例中,特定片段的质量可以采用各种方式确定,包括:通过比较多个片段标识值的同一性,通过比较针对每个片段生成的指纹等,来检测数据损坏的数量(例如,关于PCR/PTS编号问题,损坏的元数据等)。

如上所述,片段的两个版本的质量比较可确定媒体内容管理系统存储了特定片段的多少个副本。例如,如果系统确定相同片段的两个版本稍有不同,但两个都是“好”质量,那么系统可以仅存储片段的一个副本,并可互换地使用副本用于请求媒体设备。另一方面,如果系统确定一个媒体设备记录“好”质量的特定片段,并且第二媒体设备记录相同片段的“坏”质量的版本,那么该系统可以存储每个质量版本的单独副本。如果与第一媒体设备相关联的用户随后请求媒体内容项用于回放,那么用户设备可以接收该片段的“好”的质量版本,而第二媒体设备接收相同片段的“坏”质量版本。在其它实施方案中,无论每个用户的媒体设备最初接收的媒体内容项的版本如何,媒体内容管理系统都可以存储和发送每个片段的最好质量的副本给任何设备。

在一个实施例中,媒体内容管理系统可基于将媒体设备分组成两个或更多个“区域”确定片段的副本是否存在。例如,媒体设备群可以被分组为与多个地理地区或其它分组特性一致的多个区域。媒体内容管理系统可以被配置成从从每个区域接收的片段生成指纹并将指纹与从从其它区域中的媒体设备接收的片段得到的指纹相比较。以这种方式,媒体内容项的跨越区域的相同部分(例如,电视节目的内容)可以被检查以从每个区域中的媒体设备以较小的频率上传和云存储,而媒体内容项跨区域的不同部分(例如,区域商业广告)可以从每个区域的设备上传。

在框606,如果媒体内容管理系统确定在云存储器中存在一个或多个识别的片段的足够数量的副本,则在框608,系统发送命令给媒体设备指示媒体设备不上传片段到云存储器。在框608中,媒体内容管理系统将媒体内容项和片段的现存副本之间的关联存储在清单中,清单包括用于与媒体设备相关联的用户帐户的数据。因此,针对特定用户帐户存储的媒体内容项的副本是指特定片段的现存的公共副本,并且不从特定媒体设备请求相同片段的额外副本。存储用于特定媒体内容项和特定用户账户的片段的清单的示例在下文中参考图7A、图7B、和图8描述。

在框606,如果媒体内容管理系统确定云存储器中当前存在的片段的副本的数量不够,则在框610,系统可发送命令或其它数据到媒体设备指示媒体设备上传片段的副本到云存储器。例如,媒体内容管理系统可能无法定位与接收的片段标识值相对应的片段的副本,因为这是媒体设备群中的媒体设备第一次记录那个特定片段,或因为用于发送请求的特定媒体设备的片段有一些差异。

在一个实施例中,多个媒体设备可以在相对小的时间窗口内发送用于相同片段的一个或多个片段标识值。例如,如果新的电视节目正在播出并且大量设备均已经安排在节目播放时记录节目,那么每个媒体设备可以近似在节目开始的同时发送相同的片段标识值到媒体内容管理系统。因此,媒体内容管理系统可以从许多可能媒体设备选择一个或多个媒体设备上传特定片段。

在一个实施例中,当多个媒体设备近似同时发送针对同一媒体内容片段的片段标识值时,媒体内容管理系统可以简单地选择片段标识值从其被首先接收到的一个或多个媒体设备,或通过随机选择一个或多个媒体设备上传片段。作为另一示例,媒体内容管理系统可以基于与每个媒体设备的上传能力相关的因素选择一个或多个媒体设备上传片段。例如,上传能力可基于一个或多个设备信息和/或性能测量值确定,设备信息和/或性能测量值包括网络容量和每个设备的其它能力(例如,设备类型,设备使用的网络的类型,测量的上传速度,当前信号强度,比特错误,等)和/或每个设备的历史数据(例如,上传错误率,上传片段质量等)。媒体设备可以例如在记录媒体内容之前和/或期间周期性地生成用于媒体设备的接收/性能测量值,并且发送测量值到媒体内容管理系统,以帮助确定从哪些设备上传。在一个实施例中,基于网络性能和历史数据,媒体内容管理系统可以指定特定媒体设备作为“优选的”上传设备并且选择那些媒体设备用于在可能时上传。

在框612,响应于指示媒体设备上传特定片段至云存储器,媒体内容管理系统针对与媒体设备相关联的用户帐户存储媒体内容项和上传的片段之间的关联。类似于框608,媒体内容管理系统可以将媒体内容项和上传片段之间的关联存储在清单中,清单包括与媒体设备相关联的用户/媒体设备的帐户的信息。

为了说明上面描述的一些构思,图7A、图7B、和图8各示出管理从媒体设备群上传媒体内容项的片段的多个方面。

图7A描绘了媒体设备群从两个不同源702和704接收媒体内容项的示例表示。图7A中,源702和704例如可以各自表示单独的电视前端设施,其能够接收、处理媒体内容信号,并向媒体设备群的子集分发媒体内容信号。源702和704各自可以例如位于不同的地理地区。虽然每个源702和704可以分发同一媒体内容项(例如,相同的电视节目、电影等)到媒体设备群,但是差异仍然可能存在于媒体设备接收的媒体内容项中。例如,差异可以包括在具体的地理地区展示并穿插在媒体内容项中的商业广告或其它本地节目上的差异。作为另一示例,差异可能是由于特定的源和/或(多个)媒体设备特有的干扰或损坏问题导致的。

图7A的示例示出了其中相同媒体内容项的四个不同版本被传输到媒体设备群的情况。媒体内容项的第一版本被传输到媒体设备组706,其包括可与任何数量的单独的用户帐户相关联的多个媒体设备。媒体内容项的第二版本被传输到单个媒体设备708。第三版本被传输到不同于媒体设备组706的媒体设备组710,并且第四版本被传输到不同于媒体设备708的单个媒体设备712。如上所示,同一媒体内容项的四个不同版本可能因本地节目安排差异(例如,媒体设备组706可接收与媒体设备组710不同的商业广告)或孤立干扰/损坏问题(如传输到媒体设备708和媒体设备712的数据主要或次要损坏)而不同。

图7B描绘如图7A所描绘的每个媒体设备接收到的媒体内容项的不同版本的示例表示和得到的存储。在图7B中,例如,媒体内容项的四个不同版本中的每一个由被描绘在接收该特定版本的(多个)媒体设备的名称的右边的媒体内容项的单独跨度表示。例如,媒体设备组706中的每个媒体设备接收媒体内容项的版本,以带标号部分714开始,然后是不带标号部分,然后是带标号部分722,接着是另一不带标号部分。带标号部分714和722例如可以表示包含商业广告的媒体内容项的两个单独部分,而不带标号部分表示商业广告之间播出的电视节目的部分。

类似地,媒体设备712接收媒体内容项的版本,以部分716开始,然后是不带标号部分,然后是部分718,然后是不带标号部分,然后是部分722,接着又是不带标号部分。类似于媒体设备组706,部分716和722可以表示由媒体设备712接收并且穿插到电视节目的商业广告。部分718例如可以表示其中媒体设备712接收到其它设备未经历的损坏数据的媒体内容项的一个或多个片段。类似地,部分720例如可以表示其中媒体设备708经历信号干扰问题的媒体内容项的一个或多个片段。在每个实例中,损坏的数据/信号干扰可能已经作为媒体内容中的小“毛刺”或者其它缺陷显示给用户,并且损坏的数据/信号干扰可能或可能不容易被观看视频内容的用户感知。

存储的副本724示出了媒体内容管理系统为如上所述的接收媒体内容项的媒体设备706-712存储的数据的示例表示。一般而言,存储的副本724示出由媒体设备706-712接收到的媒体内容项的四个不同版本的去重复的示例。例如,如存储的副本724的顶行所示,部分714和部分722的副本与不带标号部分一起存储,其中不带标号部分在所有的媒体设备共有的那些跨度之间。此外,部分716、718、和720被存储以引起群的各种媒体设备看到的差异。图7B中描绘的每一部分可以由媒体设备限定的一个或多个片段组成。因此,只有共同片段的一个副本可以被存储,而针对特定媒体设备的不同片段的单独的副本也被存储。以这种方式,与媒体设备最初接收到的媒体内容项大体上完全相同的副本可被存储,同时仍减少针对媒体内容项存储的总数据量。

存储的副本724可进一步说明由服务提供者系统204进行的片段去重复的结果。例如,最初可以从媒体设备组706中的媒体设备接收部分714的多个副本。在多个副本被接收和最初存储后,服务提供者系统204可确定多个副本中的每个是相同的,并从存储器删除除了一个之外的所有副本。采用这种方式,服务提供者系统204最初可能接收到片段的多个副本,以更好地确保至少有一个无错误的副本被接收,但后来对多余副本执行去重复操作,以节省云存储器中的空间。

图7描绘了媒体内容管理系统可如何能够减少用于存储由媒体设备群接收的媒体内容项的不同版本的存储空间量的示例。图8描绘了包含媒体内容项的片段的集合(例如,图7B的底部描绘的那些)如何被存储,以便使媒体内容管理系统能够针对特定媒体设备再现媒体内容项的副本的示例表示。图8,例如,描绘了针对关于四个不同媒体设备A-D的特定媒体内存项存储的片段的表示。图8中描绘的示例例如可以类似于针对清单中的特定用户帐户存储的信息的类型,如关于上面关于图6描述的。

在图8中,例如,媒体设备802可能已经记录媒体内容项810,媒体内容项810被描述为链接片段的集合602n。由媒体设备802标识的第一片段是片段812,用片段标识值“846d”标号。由媒体设备802标识的第二片段是片段814,用片段标识值“5e02”标记,并依此类推。作为另一示例,由不同的媒体设备804标识的第一片段也是片段812。因此,因为媒体内容管理系统基于从设备接收的片段标识值确定媒体设备802和媒体设备804中的每个均报告记录相同片段812和814,所以系统可以仅存储片段812和814的一个副本。用于与媒体设备802和媒体设备804分别相关联的用户帐户的清单均可以包括到片段812和814的引用或指针,片段812和814作为用于那些用户账户的媒体内容项810的前两个片段。此外,媒体设备802和804中只有一个(或未描绘的可能的另一个媒体设备)可能已经上传片段812和814的每一个到存储片段的云存储存器。

作为另一示例,媒体设备806将不同片段816标识为媒体内容项810的第一片段。媒体设备806可能已经标识与媒体设备802和媒体设备804不同的片段,例如,因为本地节目安排差异、广播定时差异、瞬时干扰,或引起媒体设备806接收媒体内容项的不同版本的第一部分的任何其它问题。然而,最终媒体设备806与媒体设备802和媒体设备804同步并报告记录相同片段814。

如图8所示,针对被媒体设备记录的各媒体内容项,可能的不同的系列片段可以包含用于该媒体设备以及用于与该媒体设备相关联的用户帐户的媒体内容项。被多个媒体设备标识的片段可仅被存储一次,并在用于与媒体设备相关联的多个用户帐户的清单中被引用。采用这种方式,由媒体内容管理系统存储的数据量被减少,同时保留特定媒体设备遇到的任何个体差异,从而使系统随后能够发送与每个媒体设备最初记录的媒体内容项的版本大体上相同的媒体内容项的版本。此外,在媒体设备本地存储的媒体内容项的副本可以在记录之后被删除以腾出空间,而删除记录的那些媒体设备可以继续从云基于的存储器访问媒体内容项。

3.3.媒体内容回放

在一个实施例中,基于云的媒体内容管理系统使得用户能够安排在第一媒体设备(例如,DVR等)记录媒体内容项,并随后访问在其它媒体设备(例如,其它DVR、移动设备、游戏设备等)上记录的媒体内容项。如上所述,媒体内容项的云存储可促进跨不同媒体设备对媒体内容项的访问。一般而言,基于云的媒体内容管理系统可以基于将记录的媒体内容项与特定用户帐户相关联来管理跨媒体设备对媒体内容项的访问。图9是示出用于基于云的媒体内容管理系统管理跨媒体设备对媒体内容项的访问的示例过程的流程图。

在框902,媒体内容管理系统的服务器从与用户帐户相关联的媒体设备接收指示媒体设备接收到安排记录媒体内容项的请求的数据。媒体设备可以例如响应于媒体设备接收在媒体设处的安排记录的输入或间接接收来自另一媒体设备的安排记录的输入而发送数据。

响应于接收指示媒体设备接收到安排记录媒体内容项的请求的数据,媒体内容管理系统可以引起媒体内容项的副本被存储在云存储系统中。在一个实施例中,系统通过请求从媒体设备群分布式上传媒体内容项而引起媒体内容项的副本被存储在云存储系统中,如上面参照图5-图8描述的。作为另一示例,媒体内容管理系统可以直接从内容源106获取媒体内容项。例如,运营者前端202和/或云存储系统206可以从内容源106直接接收媒体内容项的副本并存储该副本。

在框904,媒体内容管理系统的服务器从同一媒体设备,或从与同一用户帐户相关联的不同媒体设备接收播放记录的媒体内容项的请求。例如,用户随后可能希望使用移动设备观看记录的电视节目,可能在用户已经走到用户的家之外。响应于在移动设备处请求观看媒体内容项的用户输入,移动设备可以发送对媒体内容项的请求到基于云的媒体内容管理系统。

在框906,响应于请求,确定用户账户是否有权播放媒体内容项。在一个实施例中,确定用户账户是否有权播放媒体内容项可以包括确定用户以前是否使用用户的其它媒体设备中的一个或多个请求记录同一媒体内容项。在一个实施例中,确定用户账户是否有权播放媒体内容项可以包括确定当前是否可从内容源106(例如,VOD库)得到媒体内容项以供播放。在一个实施例中,确定用户账户是否有权播放媒体内容项可以包括确定用户以前是否安排记录内容项。例如,即使用户随后已经删除记录的媒体内容项,媒体内容项基于删除规则被删除,或者由于调谐器冲突媒体内容项未被记录,如果用户以前选择媒体内容项用于记录,系统也可确定用户有权使用媒体内容项。

在框908,响应于确定用户帐户有权播放媒体内容项,媒体内容管理系统使用户的媒体设备播放媒体内容项。例如,媒体内容管理系统可以通过使媒体内容项的副本从云存储系统流传输或下载到媒体设备来使媒体设备播放媒体内容项。媒体内容管理系统可以被配置成在允许用户访问另一设备上的媒体内容项的副本之前确定用户当前是否已经记录媒体内容项的副本,例如,以符合与分发媒体内容项的副本有关的应用内容权限。

一般而言,基于云的媒体内容管理系统可以通过流传输,下载或以任何其它方式传输媒体内容将媒体内容项发送到媒体设备。如果媒体内容项作为片段集合被上传到云存储系统,那么在发送媒体内容项到媒体设备之前可以对片段集合进行一个或多个处理步骤。图10描绘了根据一个实施例的用于提供对从分布式媒体设备群上传的媒体内容项的访问的示例流程1000。

在框1002,基于云的媒体内容管理系统从与用户帐户相关联的媒体设备接收访问由与用户帐户相关联的用户记录的媒体内容项的请求。例如,用户可以从媒体设备显示的界面选择媒体内容项,界面列出用户以前在同一媒体设备或在与同一用户账户相关联的其它媒体设备选择用于记录的媒体内容项。记录的媒体内容项的列表可被显示给用户,例如,基于用户在媒体设备提供用户帐户信息(例如,用户名和密码)。

在框1004,媒体内容管理系统基于请求的媒体内容项和用户帐户定位媒体内容项的系列片段。如参考图8所描述的,例如,媒体内容管理系统可以存储用于每个用户账户的清单,清单针对由与用户帐相关联的用户记录的每个媒体内容项指示与媒体内容项相对应的系列片段。信息例如可以包括系列片段标识符,片段标识符使系统能够在一个或多个相关联的云存储系统中定位每个片段。

在框1006,媒体内容管理系统准备用于传递到请求媒体设备的媒体内容项。在一个实施例中,准备用于传递的媒体内容项可以包括将单独存储的系列片段“拼接”在一起形成连续的数据流。一般而言,将片段拼接在一起是指将部分或全部单独存储的片段组合成能够被发送到请求媒体设备的连续的数据流。例如,将片段拼接在一起可以指基于多个单独存储的片段生成MPEG内容流。在另一个实施例中,存储的片段可被单独发送到媒体设备并且被请求媒体设备拼接在一起用于显示。作为另一示例,准备媒体内容项可以包括转换用于传递到特定类型的媒体设备的片段数据的编码(例如,特定转码可被选择用于特定类型的移动设备、游戏设备等)。针对特定类型的媒体设备对媒体内容进行转码可以包括将媒体内容转换成不同的比特率,将媒体内容转换为不同的编码(例如,单节目传输流(SPTS)转换成HTTP实时流(HLS)),或进行任何其它转换。

在一个实施例中,准备用于传递的媒体内容项可以包括替换媒体项中的一个或多个部分,覆盖信息在媒体内容上,或其它修改。例如,准备媒体内容项可以包括:确定与广告相对应的媒体内容项的一个或多个部分,以及除去广告部分或用替代广告更换广告。作为另一示例,准备用于传递的媒体内容项可以包括创建媒体内容项的压缩版本。例如,如果媒体内容项与一个体育事件相对应,准备用于传递的媒体内容项可以包括基于可以表示媒体内容项中的亮点或特别有趣其它部分的片段组装一个或多个“剪辑”。作为又一示例,覆盖信息在媒体内容上可包括在媒体内容的一个或多个帧上添加文本信息(例如,演员名字、评级信息、位置名称、隐藏字幕等)。

在框1008,媒体内容管理系统发送媒体内容项到请求媒体设备。媒体内容管理系统可以通过以下方式发送项媒体内容:将项流传输或下载到设备,提供经由内容传递网络(CDN)对媒体内容项的访问,或者提供从任何其它类型的云存储系统对媒体内容的访问。例如,流传输和托管模块312可将媒体内容项直接流传输到请求媒体设备108,或流传输和托管模块312可发送链接或其它引用,其使得媒体设备108能够从单独的云存储系统或其它媒体内容源访问媒体内容项。

上面参照框1002-1008描述的步骤可与媒体内容管理系统从媒体设备群接收媒体内容项同时发生。例如,在接收到媒体内容项的整个副本之前,一旦媒体内容管理系统接收到特定媒体内容项的第一片段,该系统就可以开始准备和发送所接收的片段到其它请求媒体设备。

在一个实施例中,提供用户对媒体内容项的访问可以包括提供对质量比起初记录的媒体内容项的质量更高的媒体内容项的版本的访问。例如,用户最初可以安排记录标准清晰度(SD)质量的媒体内容项,尽管用户还访问另一信道上的相同媒体内容项的高清晰度(HD)质量版本。在本示例中,当用户请求从另一设备访问媒体内容项时,媒体内容管理系统102可以将警报发送到请求媒体设备,指示HD媒体内容项可代替最初记录的SD媒体内容项用于流传输。媒体内容管理系统向用户提供以前记录的媒体内容项的更高质量的版本的能力可取决于用户帐户是否包括对HD版本的访问(基于用户的内容订阅)。

在一个实施例中,媒体内容管理系统提供对媒体内容项的访问还可以包括向用户提供对有关所请求的媒体内容项的媒体内容项的建议。例如,如果用户请求访问由用户以前记录的特定电视节目,媒体内容管理系统可以发送指示其它电视节目类似于所请求的电视节目,并且可以源自不同于请求电视节目的内容源106的信息。在一个实施例中,媒体内容管理系统可以向用户提供代表用户自动记录建议的媒体内容项的选项。例如,系统可以向用户提供选项,以自动记录在用户的地区流行的媒体内容项,或基于其它准则,并且系统可以记录为用户推荐的媒体内容项(可以包括从用户的媒体设备上传的媒体内容项的一个或多个片段)。

在一个实施例中,媒体内容项的回放可以包括媒体设备预先缓存媒体内容项的部分。媒体内容项的预先缓存部分一般是指媒体内容项的相对小的部分,该相对小的部分可被用来例如有效地播放主要存储在云存储器中的媒体内容项。例如,如果用户请求播放存储在云存储器中的媒体内容项,那么媒体设备可以最初播放媒体内容项的本地存储部分,从而避免可能由于从云流存储器流传输媒体内容项引起的任何延时。媒体内容项的剩余部分可以从云存储器流传输。图11描绘了根据一个实施例的用于提供跨体设备对基于云的媒体内容管理系统中的媒体内容项的访问的示例流程1100。

在框1102,媒体设备接收安排记录媒体内容项的请求。例如,媒体设备108可以接收安排记录媒体内容项的请求,该请求作为用户在媒体设备的直接输入,作为来自服务提供者系统204的命令(例如,从网络调度器304),或作为来自任何其它设备的命令。

在框1104,响应于安排记录媒体内容项的请求,在预定的开始时间媒体内容项被记录。例如,媒体设备可以在预定的开始时间调谐到媒体内容项并且在媒体设备的本地存储器存储项的副本。在一个实施例中,媒体设备还可使服务提供者系统204将媒体内容项的副本存储到云存储系统。例如,媒体设备可以上传媒体内容项的副本到云存储系统,媒体内容项的上传可以作为媒体设备分布式上传过程的一部分,或服务提供者系统204可以直接从内容源106得到媒体内容的副本。

在框1106,媒体设备存储媒体内容项的部分。例如,媒体设备可以最初存储整个媒体内容项的副本,并随后删除除了选择的部分之外的全部媒体内容项。作为另一示例,媒体设备可以最初仅存储媒体内容项的选择部分,并且使媒体内容项的剩余部分被存储在云存储系统中。媒体内容项的部分一般可表示媒体内容项的前部分。例如,该部分可表示媒体内容的前十秒,或媒体内容项开始时的任何其它持续时间。该部分的大小可以基于各种因素,包括该媒体内容项的总持续时间,媒体内容项的视频和音频质量,检测到与媒体设备相关联的网络状况,媒体设备处的可用存储空间量等。

在框1108,媒体设备接收播放媒体内容项的请求。例如,媒体设备可以接收播放媒体内容项的请求,该请求作为来自用户的直接输入,或作为从其它设备接收到的输入。媒体内容项可以被选择,例如,从用户可用的记录的媒体内容的列表被选择。

在框1110,响应于播放媒体内容项的请求,媒体设备播放媒体内容项的部分。如上所述,媒体内容项的部分可表示媒体内容项的前部分。因此,媒体设备可以响应于播放媒体内容项的请求播放该部分,而没有任何延迟,这种延迟可以与媒体内容项是否从远程、云存储系统流传输相关联。

在框1112,媒体设备将从与媒体内容项的该部分的结束位置相对应的开始位置流传输媒体内容项的副本的请求发送到云存储系统。当到达该部分的结束位置时,通过播放从云存储系统接收到的流式副本,媒体设备随后可以例如继续播放媒体内容项。如上所述,通过最初播放存储在云存储器中的媒体内容项的本地存储部分,当选择该媒体内容项用于回放时,媒体设备可以减轻可能与从云存储器流传输媒体内容项相关联的延迟。除了减少与媒体内容项的回放相关联的延迟,媒体内容的本地存储部分可以使媒体设备能够在媒体内容项被选择用于回放后不久更有效地执行“特技播放”功能,包括快进、倒带、暂停等。

3.4.基于云的调谐器

媒体设备通常可以包括固定数量的硬件调谐器,硬件调谐器各自能够调谐到媒体内容流(例如,直播电视馈送)用于播放、记录媒体内容项等。每个调谐器通常能够在任何给定时间仅调谐到单个媒体内容流,这意味着媒体设备中存在的调谐器的数量可以限制媒体设备能够同时接收的媒体内容流的数量。例如,如果特定媒体设备具有两个硬件调谐器,则该媒体设备能够同时观看和/或记录多达两个媒体内容流。因此,如果示例媒体设备的用户请求记录同时播出的三个内容项,那么存在调谐器冲突,并且用户通常被迫决定只记录三个节目中的两个。此情况可以扩展到两个以上的调谐器。

一个实施例中,当媒体设备108遇到调谐冲突时(例如,由于用户请求记录的媒体内容流多于用户可用的调谐器),媒体设备108可以将代表媒体设备108调谐、记录、和存储附加媒体内容流的请求发送到媒体内容管理系统102。采用这种方式,用户可不受限于用户可在用户本地媒体设备处使用的物理调谐器的数量。使用云调谐器可以例如是服务特征,用户向服务提供系统204的运营者支付订阅该服务特征的费用或使用该服务特征所需的其它费用。

图12是用于使用基于云的媒体内容管理系统提供的调谐器解决调谐器冲突的示例过程的流程图。在框1202,与一个或多个第一调谐器相关联的服务器接收指示媒体设备接收到安排记录媒体内容项的请求的数据。媒体设备可以例如是与特定用户帐户相关联的多个媒体设备中的一个媒体设备。在一个实施例中,服务器可以是服务提供者系统204的一部分,并且配置成当媒体设备从用户或其它源接收记录请求时从媒体设备108接收数据。例如,用户可以安排在本地媒体设备108记录特定媒体内容项,并且响应于该请求,媒体设备108可以生成被发送到服务提供者系统204的记录安排信息。记录安排信息可与与用户相关联的其它用户帐户信息相关联地存储。

在一个实施例中,一个或多个第一调谐器可以是由服务提供者系统204管理的调谐器,在本文中称为云调谐器。一般而言,调谐器可以被由服务提供者系统204、运营者前端202、和/或云存储系统206管理的一个或多个计算设备托管。调谐器可以被配置成调谐到和记录由一个或多个内容源106提供的内容。

在框1204,服务提供者系统确定在记录的预定开始时间一个或多个媒体设备的每个调谐器存在冲突。例如,服务提供者系统204可以针对每个用户帐户存储指示与用户帐户相关联的媒体设备和每个媒体设备可用的协调器数量的数据。例如,一个特定用户帐户可以与三个不同设备(例如,两个不同的DVR和智能电话)相关联,每个设备具有可能不同数量的可用协调器。

在一个实施例中,服务提供者可通过以下过程确定是否存在冲突:确定在预定的开始时间将被记录的媒体内容项的数量,以及进一步确定媒体内容项的数量是否超过用户的媒体设备可用的调谐器的数量。如上所述,服务提供者系统204可以与每个用户帐户相关联地存储关于用户可用的调谐器的数量的信息,并且还存储用户的记录安排信息。因此,服务提供者系统204可以分析记录安排信息以确定将在特定时间记录的媒体内容项的数量,以及用户是否有足够数量的调谐器来记录全部安排的记录。在一个实施例中,如果服务提供者系统204确定用户帐户可用的调谐器的数量不够,该系统可以将警报消息发送给用户。警报消息可以例如向用户提出删除某些记录以解决冲突的选项,并且还可以向用户提出使用一个或多个云调谐器来记录一个或多个媒体内容项并且将记录存储在云存储器中的选项。

在框1206,响应于确定存在冲突,服务提供者安排记录将被云调谐器记录的媒体内容项。例如,服务提供者系统204可以指示运营者前端202、服务提供者系统204、和/或云存储系统206托管的一个或多个调谐器直接从内容源106和/或从已经记录或安排录制媒体内容项的其它媒体设备108接收并存储附加的媒体内容项。在一个实施例中,被服务提供者系统204记录和存储在云存储器中的媒体内容项可以与用户帐户相关联,使得用户可以稍后使用一个或多个用户媒体设备访问媒体内容项。

如上所述,使用云调谐器记录媒体内容项可以响应于用户提供指示希望使用云调谐器的输入(例如,响应于发送到用户设备的警报消息)来启动,或服务提供者系统204可以在没有明确的用户输入的情况下自动地启动记录。服务提供者系统204然后可以将记录与用户帐户相关联,使用户能够通过从云存储器流传输或下载内容在一个或多个用户媒体设备访问记录。

3.5.云存储扩展器

媒体设备可用来存储记录的媒体内容项和其它数据的存储空间通常受到集成到媒体设备中的存储设备(例如,一个或多个硬盘)提供的存储量的限制。一些媒体设备可以仅包括小的本地存储量,并且主要功能是将媒体内容流传输到其它设备,而不是在设备本地存储大量的媒体内容项。由于这些和其它原因,用户通常通过手动删除以前记录的不再感兴趣的媒体内容项和/或配置使媒体设备在可配置的时间段之后(例如,2周后)自动删除记录的媒体内容项的删除策略来管理媒体设备处的可用存储空间。在一个实施例中,基于云的媒体内容管理系统可以向媒体设备提供用于记录媒体内容项的额外存储空间,并可使媒体设备甚至在媒体内容项已经从起初记录媒体内容项的媒体设备中删除(由用户明确地删除或基于删除策略被删除)之后也能够访问记录的媒体内容项。

图13是示出用于使用云存储系统扩展媒体设备存储器的示例过程的流程图。在框1302,媒体设备接收到安排记录媒体内容项的请求。例如,媒体设备108可以接收作为来自用户的直接输入的安排记录媒体内容项的请求,或者请求可以从服务提供者系统204,或从另一个设备接收。在框1304中,媒体设备在媒体设备存储媒体内容项的第一副本。

在框1306,媒体设备使媒体内容项的第二副本被存储在云存储系统。例如,媒体设备108可以通过以下方式将媒体内容项的第二副本存储在云存储系统:上传媒体内容项的整个副本,作为分布式上传的一部分上传媒体内容项的一个或多个部分,引起服务提供者系统204从内容源获得媒体内容项。

在框1308,基于媒体设备删除策略,存储在媒体设备的媒体内容项的第一副本可以从媒体设备的存储器删除。例如,媒体设备删除策略可指示媒体内容项将基于媒体内容项的存储持续时间,基于确定媒体设备的可用的存储空间低等而被删除。作为另一示例,媒体内容项可以由用户明确删除,这可能是由于用户希望为了其它媒体内容项而释放存储空间。

在框1310,在媒体内容项的第一副本被从媒体设备的存储器删除之后,接收到播放媒体内容项的请求。例如,当用户手动删除媒体内容项或媒体设备基于删除策略删除媒体内容项时,媒体内容管理系统102可以使删除的(多个)媒体内容项得以被用户使用一删除之后的附加的时间段。媒体内容项的“删除”可以例如简单地取消媒体内容项与用户账户的链接,而不是从云存储器中删除媒体内容项。例如,响应于用户从媒体设备108删除媒体内容项的本地存储副本,媒体设备可以将指示该用户已经请求删除媒体内容项的通知发送给媒体内容管理系统。媒体内容管理系统可以存储或更新指示该用户已经请求删除媒体内容项的数据(例如,通过从用户帐户信息移除到媒体内容项的引用),但继续在基于云的存储系统中存储媒体内容项的副本一删除后的可配置时间段(例如,一周或一个月)。如果用户以后希望在规定的时间段内观看以前删除的媒体内容项,那么用户可以从云存储器访问(例如,流传输或下载)媒体内容项。

在框1312,响应于接收播放媒体内容项的请求,媒体设备从云存储系统取回媒体内容项的第二副本。媒体设备可以通过下载或流传输媒体内容项的副本从云存储系统取回媒体内容项的第二副本。在一个实施例中,用户可以支付额外的订阅费以得到取回以前删除的媒体内容项的能力,或者可以每次在用户请求访问以前删除的媒体内容项时向用户收费。

在一个实施例中,基于云的媒体内容管理系统可以被配置成服从一个或多个云存储删除策略地存储记录的媒体内容项。作为云存储删除策略的一个示例,媒体内容管理系统可以在云存储器中存储媒体内容项,直到最初选择用于记录的媒体内容项的每个用户帐户选择删除媒体内容项。作为另一个示例,删除策略可以基于由内容提供者和/或运营者前端的运营者配置的设置。在一个实施例中,如果内容提供者和前端运营者这两者指定的删除策略冲突,那么取决于特定实施可选择最严格的或最自由的策略。

在一个实施例中,可基于许多不同储存策略向媒体内容管理系统的用户收取每一个用户可用的存储空间的费用。作为一个示例,每个用户帐户可以在每个计费周期基于由用户存储的数据总量被反复收费。作为另一示例,用户帐户可至少部分基于用户被允许下载和/或流传输存储在云存储器中的媒体内容项的不同设备的数量被收费。作为又其它示例,用户帐户可以基于用户被允许的同时流会话的数量,基于以不同比特率和其它媒体内容质量属性的访问,或基于任何其它帐户条件被收费。

在一个实施例中,云存储系统中的媒体内容项的存储可用于使用户能够升级、更换、或增加附加的媒体设备来将以前记录的媒体内容项恢复到用户的新媒体设备。图14描绘了用于基于云的媒体内容管理系统管理升级和/或更换的媒体设备对存储在云存储器中的媒体内容项的访问的示例流1400。

在框1402,基于云的媒体内容管理系统存储指示媒体内容项被与用户帐户相关联的一个或多个媒体设备安排用于记录的数据。例如,每次用户选择用于在媒体设备108记录的特定媒体内容项时,媒体设备可以发送指示关于安排记录的信息的数据到服务提供者系统204。在一个实施例中,响应于接收到指示关于安排记录的信息的数据,服务提供者系统204可以使媒体内容项的副本被存储在云存储器中。例如,服务提供者系统204可以使媒体内容项从媒体设备108群上传,或系统可以从内容源106直接获取媒体内容项。

在框1404,媒体内容管理系统接收指示媒体设备与用户帐户的新关联的数据。例如,与用户帐户相关联的用户可以通过在媒体设备中提供用户凭证向服务提供者系统204登记新设备。响应于用户提供用户凭证,新媒体设备可以将标识媒体设备和用户帐户的数据发送到服务提供者系统204。然后,服务提供者系统204可以存储指示新媒体设备与用户帐户相关联的信息。例如,新媒体设备可以是用户购买的用来升级用户拥有的现有设备,用来补充用户已经拥有的媒体设备,用来更换发生故障的设备的设备,等等。在一个实施例中,服务提供者204可以限制每个用户被允许与用户帐户相关联的设备数量,或额外的费用可以根据相关联的设备的数量被收取。

在框1406,系统从媒体设备接收对由同一用户帐户以前选择用于记录的媒体内容项的请求。例如,作为初始设备配置过程的一部分,或响应于用户提供请求设备取回以前记录的媒体内容项中的一个或多个的输入,请求可以由新关联的媒体设备生成。如果用户用替代媒体设备更换故障媒体设备,例如,用户可能希望恢复由故障媒体设备和/或与同一用户帐户相关联的其它媒体设备以前记录的全部媒体内容项。

在框1408,媒体内容项从云存储器发送到媒体设备。例如,服务提供者系统204可以将媒体内容项直接发送到媒体设备,或可以以其它方式使媒体设备从被服务提供者系统204管理的云存储系统访问媒体内容项。新媒体设备可以下载和存储媒体内容项到本地存储器和/或可流传输媒体内容项用于回放。采用这种方式,服务提供者系统204可以允许用户升级和/或更换媒体设备,而不会失去对以前由用户的其它媒体设备记录的媒体内容的访问。

4.0.示例实施例

在一个实施例中,方法或非暂时性计算机可读介质包含:通过媒体设备接收媒体内容项;识别媒体内容项中的两个或更多个片段的边界;基于识别两个或更多个片段的边界,通过媒体设备选择两个或更多个片段中的一个或多个特定片段用来发用到云存储系统;发送一个或多个特定片段到云存储系统。

在一个实施例中,方法或非暂时性计算机可读介质还包含:生成用于两个或更多片段中的每一个的一个或多个片段标识值;将用于两个或更多个片段中的每一个的一个或多个片段标识值发送到媒体内容管理服务器。

在一个实施例中,方法或非暂时性计算机可读介质还包含:生成用于两个或更多个片段中的每一个的一个或多个片段标识值;将从用于两个或更多个片段中的每一个的一个或多个片段标识值得到的值发送到媒体内容管理服务器。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中选择两个或更多个片段中的一个或多个特定片段用来发送到云存储系统包括:从媒体内容管理服务器接收指示媒体设备发送一个或多个特定片段到云存储系统的数据。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中媒体内容项中的两个或更多个片段的边界基于媒体内容项中的图像组(GOP)的指定数量。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中媒体内容项中的两个或更多个片段的边界基于与媒体内容项相关联的元数据值的指定范围。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中媒体内容项中的两个或更多个片段的边界基于与媒体内容项相关联的元数据值的指定范围,元数据值表示节目时钟参考(PCR)值。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中媒体内容项中的两个或更多个片段的边界基于与媒体内容项相关联的元数据值的指定范围,元数据值表示显示时间戳(PTS)值。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中生成用于两个或更多个片段中的每一个的一个或多个片段标识值包括基于包含两个或更多个片段的数据生成散列值。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中生成用于两个或更多个片段中的每一个的一个或多个片段标识值包括基于包含两个或更多个片段的数据生成指纹。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中两个或更多个片段表示两个或更多个第一片段;识别媒体内容项中的一个或多个第二片段的边界,一个或多个第二片段表示媒体内容项的与两个或更多个第一片段不同的部分;生成用于一个或多个第二片段中的每一个的一个或多个第二片段标识值;将用于一个或多个第二片段中的每一个的一个或多个第二片段标识值发送到媒体内容管理服务器;接收指示媒体设备不将发送的一个或多个第二片段发送到云存储系统的数据。

在一个实施例中,方法或非暂时性计算机可读介质还包含:确定与媒体设备相关联的一个或多个上传效率测量值,上传效率测量值包括以下中的一个或多个:媒体设备的信号强度,媒体设备连接的网络的类型,当前网络速度,媒体设备类型;发送上传效率测量值到媒体内容管理服务器。

在一个实施例中,方法或非暂时性计算机可读介质还包含:从媒体内容管理服务器接收包括用于识别媒体内容项中的两个或更多个片段的边界的指令的数据。

在一个实施例中,方法或非暂时性计算机可读介质还包含:从第二媒体设备接收包括用于识别媒体内容项中的两个或更多个片段的边界的指令的数据。

在一个实施例中,方法或非暂时性计算机可读介质还包含:媒体设备接收第二媒体内容项;识别该第二媒体内容项中的两个或更多个片段的边界;基于识别第二媒体内容项中的两个或更多个片段的边界,媒体设备确定不将第二媒体内容项中的两个或更多个片段中的任何片段发送到云存储系统。

在一个实施例中,方法或非暂时性计算机可读介质包含:与一个或多个第一调谐器相关联的服务器接收指示安排在预定开始时间记录媒体内容项的请求的数据,请求被与用户帐户相关联的一个或多个媒体设备中的媒体设备接收;其中与用户帐户相关联的一个或多个媒体设备包含一个或多个第二调谐器;确定在预定开始时间一个或第二调谐器中的每一个调谐器存在冲突;响应于确定在预定开始时间一个或多个第二调谐器中的每一个调谐器存在冲突,安排使用一个或多个第一调谐器中的调谐器记录媒体内容项。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中使用一个或多个第一调谐器中的调谐器的媒体内容项的记录被存储在云存储系统中。

在一个实施例中,方法或非暂时性计算机可读介质还包含:发送媒体内容项的副本到与用户帐户相关联的一个或多个媒体设备。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中用户帐户被收取使用一个或多个第一调谐器中的调谐器的费用。

在一个实施例中,方法或非暂时性计算机可读介质包含:在媒体设备接收安排记录媒体内容项的请求;基于安排记录媒体内容项的请求,在媒体设备中存储媒体内容项的第一副本;引起在云存储系统存储媒体内容项的第二副本;根据媒体设备删除策略,删除存储在媒体设备的媒体内容项的第一副本;在删除存储在媒体设备的媒体内容项的第一副本之后,接收播放媒体内容项的请求;响应于接收播放媒体内容项的请求,从云存储系统取回媒体内容项的第二副本。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中云存储器由云存储器提供者管理。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中云存储器由电视前端运营者管理。

在一个实施例中,方法或非暂时性计算机可读介质还包含:基于云存储删除策略,从与媒体设备相关联的用户帐户可用的媒体内容项的列表中移除媒体内容项。

在一个实施例中,方法或非暂时性计算机可读介质还包含:基于云存储删除策略,从与媒体设备相关联的用户帐户可用的媒体内容项的列表中移除媒体内容项;确定与用户帐户相关联的用户购买额外的云存储空间;基于确定与用户帐户相关联的用户购买额外的云存储空间,从用户帐户可用的媒体内容项的列表中添加媒体内容项。

在一个实施例中,方法或非暂时性计算机可读介质包含:在媒体内容管理服务器接收第一数量的安排记录特定媒体内容项的请求,第一数量的请求中的每一个请求从多个媒体设备中的媒体设备接收;其中多个媒体设备中的每个媒体设备与多个用户帐户中的用户帐户相关联,多个用户帐户中的每个用户帐户与云存储空间量相关联;引起特定媒体内容项的第二数量的副本存储在多个媒体设备可经由因特网访问的云存储系统,第二数量的存储副本少于第一数量的安排记录特定媒体内容项的请求;增加与多个用户帐户中的每个用户帐户相关联的使用的云存储空间量,量基于媒体内容项的大小。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中量表示整个媒体内容项的大小。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中量表示整个媒体内容项的大小的一小部分,该小部分基于请求的第一数量。

在一个实施例中,方法或非暂时性计算机可读介质还包含:从多个媒体设备中的特定媒体设备接收删除媒体内容项的请求,特定媒体设备与多个用户帐户中的特定用户帐户相关联;减少与特定媒体内容项相关联的使用的云存储空间量。

在一个实施例中,方法或非暂时性计算机可读介质包含:从媒体设备接收安排记录媒体内容项的请求;确定媒体内容项的相关值,相关值指示在限定的时间段内回放媒体内容项的请求被接收的可能性;至少部分基于相关值,确定将媒体内容项存储在第一存储系统和第二存储系统中的一个;将媒体内容项存储在第一存储系统和第二存储系统中的一个。

在一个实施例中,方法或非暂时性计算机可读介质还包含:至少部分基于相关值,确定用于存储媒体内容项的格式。

在一个实施例中,方法或非暂时性计算机可读介质还包含:至少部分基于相关值,确定存储媒体内容项所采用的质量水平。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中相关值基于用户帐户群。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中确定媒体内容项的相关值包括分析一个或多个用户帐户的历史数据。

在一个实施例中,方法或非暂时性计算机可读介质还包含:其中第一存储系统包含由云存储提供者管理的云存储器,并且其中第二存储系统包含由电视前端运营者管理的云存储器。

在一个实施例中,方法或非暂时性计算机可读介质包含:媒体内容管理服务器存储指示多个媒体内容项被与用户帐户相关联的一个或多个第一媒体设备安排记录的数据;接收指示第二媒体设备与用户账户的新关联的数据;接收来自第二媒体设备的对多个媒体内容项中的一个或多个媒体内容项的请求;响应于确定第二媒体设备与用户帐户相关联,发送一个或多个媒体内容项到第二媒体设备。

在一个实施例中,方法或非暂时性计算机可读介质包含:在媒体设备存储媒体内容项的部分;响应于接收播放媒体内容项的请求,媒体设备:播放媒体内容项的该部分;并且将从与媒体内容项的该部分的结束位置相对应的开始位置流传输媒体内容项的副本的请求发送到云存储系统。

在一个实施例中,方法或非暂时性计算机可读介质还包含:在媒体设备接收安排记录媒体内容项的请求;响应于安排记录媒体内容项的请求,在预定的开始时间记录媒体内容项;将指示媒体设备记录媒体内容项的数据发送到媒体内容管理服务器;在媒体设备中删除除媒体内容项的部分之外的全部媒体内容。

在一个实施例中,方法或非暂时性计算机可读介质还包含:在媒体设备接收安排记录媒体内容项的请求;响应于安排记录媒体内容项的请求,在预定的开始时间记录媒体内容项;将发送媒体内容项的副本到云存储系统。

在一个实施例中,方法或非暂时性计算机可读介质包含:从媒体设备接收指示媒体设备接收到暂停播放直播媒体内容流的命令的数据;响应于接收到指示媒体设备接收到暂停播放媒体内容项的命令的数据,引起云存储系统的服务器记录媒体内容项;响应于接收指示媒体设备接收重新开始播放媒体内容项的命令的数据,从云存储系统流传输媒体内容项的副本到媒体设备。

在一个实施例中,方法或非暂时性计算机可读介质还包含:在接收到指示媒体设备接收到暂停播放媒体内容项的命令的数据之后,接收指示媒体设备达到媒体内容项的直播点的数据;响应于接收到指示媒体设备到达媒体内容项的直播点的数据,停止从云存储系统流传输媒体内容项的副本;使电视运营者前端重新开始发送媒体内容项到媒体设备。

5.0.实施机构-硬件概述

根据一个实施例,本文描述的技术由一个或多个专用计算设备实施。专用计算设备可以被硬连线以执行该技术,或者可包括数字电子设备,例如一个或多个专用集成电路(ASIC)或被持续地编程以执行技术的现场可编程门阵列(FPGA),或者可包括一个或多个通用硬件处理器,其被编程成根据固件、内存、其它存储器或组合中的程序指令执行该技术。这种专用计算设备还可将定制程序与定制硬连线逻辑、ASIC或FPGA结合来实现该技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、联网设备或者任意其它结合硬连线和/或程序逻辑以实施该技术的设备。

图15是示出了计算机系统1500的框图,本发明的实施例可在其上实施。计算机系统1500包括总线1502或用于信息通信的其它通信机构,以及与总线1502耦接以处理信息的硬件处理器1504。硬件处理器1504可以是例如通用微处理器。

计算机系统1500还包括主内存1506,例如随机存取内存(RAM)或其它动态存储设备,其耦合到总线1502用于存储将被处理器1504执行的信息和指令。主内存1506也可用于在由处理器1504执行的指令执行期间存储临时变量或其它中间信息。当存储在可由处理器1504访问的非暂时性储媒介中时,这类指令使得计算机系统1500成为被定制成执行指令中指定操作的专用机。

计算机系统1500还包括只读内存(ROM)1508或其它静态存储设备,其耦合到总线1502以为处理器1504存储静态信息和指令。存储设备1510,例如磁盘或光盘,被提供并且耦合到总线1502用于存储信息和指令。

计算机系统1500可以经由总线1502耦合到显示器1512,例如阴极射线管(CRT),用于向计算机用户显示信息。输入设备1514包括字母数字和其它键,耦合至总线1502用于将信息和命令选择传送至处理器1504。另一种类型的用户输入设备是光标控制装置1516,例如鼠标、跟踪球、或光标方向键,用于将方向信息和命令选择传送至处理器1504和用于控制显示器1512上的光标移动。这个输入设备通常具有在两个轴线(第一轴线(例如,x)和第二轴线(例如,y))上的两个自由度,允许设备指定平面中位置。

计算机系统1500可以利用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实施这里描述的技术,其结合计算机系统使计算机系统1500成为专用机或将计算机系统1500编程为专用机。根据一个实施例,计算机系统1500响应于处理器1504实行包含在主内存1506中的一个或多个指令的一个或多个序列而执行这里的技术。这些指令可从诸如存储设备1510的另一存储介质中读入主内存1506。实行包含在主内存1506中的指令序列导致处理器1504执行这里所描述的处理步骤。在替代实施例中,硬连线电路可替换或者结合软件指令来使用。

如这里所使用的术语“存储媒介”指的是存储使机器按照特定方式操作的数据和/或指令的任何非暂时性媒介。这些存储媒介可包括非易失性媒介和/或易失性媒介。非易失性媒介包括,例如光盘或者磁盘,诸如存储设备1510。易失性媒介包括诸如主内存1506的动态内存。通常形式的存储媒介包括,例如软盘、柔性磁盘、硬盘、固态驱动器、磁带、或者任何其它磁数据存储介质、CD-ROM、任何其它光学数据存储介质、任何具有孔图案的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它内存芯片或胶卷盒。

存储媒介与传输媒介不同但可以结合使用。传输媒介参与在存储媒介之间的信息传送。例如,传输媒介包括同轴电缆、铜线和光纤,包括包含总线2602的电线。传输媒介亦可以采取声波或光波的形式,例如在无线电波和红外数据通信中产生的那些声波或光波。

可以利用各种形式的媒介将一个或多个指令的一个或多个序列携带至处理器1504以供执行。例如,指令最初可在远程计算机的磁盘或者固态驱动器上携带。远程计算机可将指令载入其动态内存中并利用调制解调器经电话线发送指令。计算机系统1500本地的调制解调器可在电话线上接收数据并使用红外传输机来将数据转换成红外信号。红外检测器可接收红外信号中携带的数据并且适宜的电路可将数据放置在总线1502上。总线1502将数据携带至主内存1506,处理器1504可从中检索并运行指令。由主内存1506接收的指令可选地在被处理器1504执行之前或者之后保存在存储设备1510上。

计算机系统1500还包括耦合至总线1502的通信接口1518。通信接口1518耦合至与本地网络1522相连接的网络链路1520,提供双向数据通信。例如,通信接口1518可以是综合服务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器、或者提供与对应类型的电话线的数据通信连接的调制解调器。作为另一示例,通信接口1518可以是局域网(LAN)卡,以提供与兼容LAN的数据通信连接。也可实施无线链接。在任何这些实施中,通信接口1518发送及接收电信号、电磁信号或光信号,其携带表示各种类型信息的数字数据流。

网络链路1520典型地通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路1520可通过本地网络1522向主机1524或者由因特网服务提供商(ISP)1526操作的数据设备提供连接。ISP 1526转而通过现在通称为“因特网”1528的全球分组数据通信网络提供数据通信服务。本地网络1522和因特网1528均使用携带了数字数据流的电信号、电磁信号或光信号。通过各种网络的信号和在网络链路1520上且通过通信接口1518的信号(这些信号将数字数据向自计算机系统1500传送)是传输媒介的示例形式。

计算机系统1500可通过(多个)网络、网络链路1520和通信接口1518发送消息和接收数据,包括程序编码。在因特网示例中,服务器1530能够通过因特网1528、ISP 1526、本地网络1522和通信接口1518发送请求的应用程序编码。

接收的编码可在被接收时由处理器604执行,和/或存储在存储设备610或其它非易失性存储器,用于之后执行。

在一个实施例中,文中描述的一些或所有系统可以是或包含服务器计算机系统,其包括共同实施作为一组服务器侧过程的系统的各种组件的一个或多个服务器计算机设备。服务器计算机系统可以包括web服务器、应用服务器、数据库服务器、和/或所描绘的组件用来提供所描述的功能的其它常规服务器组件。服务器计算机系统可以接收包含来自任何多种源的输入数据的基于网络的通信,源包括但不限于用户可操作的客户端计算设备,诸如台式计算机、平板电脑或智能手机、遥感设备、和/或其它服务器计算机系统。

在一个实施例中,某些服务器组件可以全部或部分地使用通过一个或多个网络(例如因特网)耦接到系统的基于“云”的组件来实施。基于云的组件可以暴露接口,它们通过接口向系统的其它组件提供处理、存储、软件、和/或其它资源。在一个实施例中,基于云的组件可以被第三第三方实体实施,第三方实体表示组件为之部署的另一个实体。在其它实施方案中,然而,所描述的系统可以完全由单一实体所拥有和操作的计算机系统来实现。

6.0.扩展和替换

本文所用的术语“第一”、“第二”、“某些”和“特定的”被用作命名约定以将问题、计划、表示、步骤、对象、设备或其它项彼此区分,从而使得在引入这些项后可以引用这些项。除非本文另有说明,这些术语的使用并不意味着是所引用的项的排序、定时、或任何其它特性。

在前述的说明书中,已经参照根据不同实施方案而改变的许多具体的细节描述了本发明的实施例。因此,关于本发明是什么以及申请人意欲本发明是什么的唯一和独有的指示,是本申请发布的权利要求组,在本申请中这样的权利要求采用特定形式发布,包括任何后续修正。对此,尽管本申请的权利要求中提出了具体权利要求从属关系,但是应注意的是,本申请的从属权利要求的特征可以与其它从属权利要求的特征以及本申请的独立权利要求的特征适当组合,而不仅仅根据权利要求组中记载的具体从属关系。

对包含在这样的权利要求中的术语所明确作出的任何定义应该决定如在权利要求中使用的这类术语的含义。因此,未在权利要求中明确记载的限定、元素、性质、特征、优点或特性不应以任何方式限制这类权利要求的范围。说明书和附图相应地被认为是说明性的而非限制性的。

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