动态媒体分区系统和方法

文档序号:6478545阅读:236来源:国知局

专利名称::动态媒体分区系统和方法动态媒体分区系统和方法相关申请本申请要求2007年7月23日提交的题为“带缆设备系统和方法”的序列号为60/951,342的美国临时专利申请的优先权,该申请通过引用的方式被合并于此处。版权授权本专利文件的一部分公开内容含有受版权保护的材料。在专利文件或者专利公开内容中任何一个出现在专利商标局的专利文件或者记录中时,所述版权所有者对通过专利文件或者专利公开内容中任何一个的摹本复制(facsimilereproduction)没有异议,但是在其他情况下无论怎样都保留所有版权。
背景技术
:和
发明内容在现代计算系统中,常常期望限制对电子内容、服务或者处理资源的访问,或者仅允许某些实体执行某些动作。各种技术已经被开发或者被提议以允许这种控制。这些技术常常被称作数字版权管理(DRM)技术,因为一般地说,它们的目标是要管理数字或者其他电子内容、服务或者资源中的各种实体的权利。在本文中提出了用于促进电子内容管理的系统和方法。将会理解的是这些系统和方法是新颖的,如其中所采用的许多部件、系统和方法是新颖的那样。在优选的一组实施例中,支持对电子内容中不同类型分区的描述和控制的系统及方法被提供。举例来说,分区可能包括一部分媒体呈现(presentation),所述一部分媒体呈现具有表示媒体播放器应用在重播该呈现时必须遵守的约束的特定属性,诸如不能被跳过的广告分区,或者在所述呈现的其余部分可以被观看之前必须被观看的警告屏幕。虽然现有的系统已经尝试要求用户观看广告或者警告,这些系统典型地将这种要求(以及广告和警告本身)硬编码在所述系统架构中并且没有提供对这种要求是否实际上已承兑(honor)或者警告或广告被观看了多少次的可见性。在本文中所描述的本发明的优选实施例可以被用于改善一些或者所有这些缺点,以及允许将丰富的、灵活的、基于策略的控制与强迫和记录观看要求的方式相关联,并且也支持对这种要求的动态修改,包括(不限于)基于事件(诸如时间的流逝、对其他条件的满足和/或类似物)的这种要求的修改。另外,在本中所描述的所述系统和方法的优选实施例允许内容(诸如广告)动态插入到权利被管理的内容块中,以便所述广告的重播根据由例如作者、出版商和/或内容和/或广告的发行商所规定的策略而被管理。因此,在本文中所描述的所述系统和方法的优选实施例允许数字版权管理技术用于支持对电子内容块的特定部分的插入以及受控重播或者其他使用。应当理解的是可以以很多方式来实现当前所描述的本发明的实施例,包括如过程、设备、系统、装置、方法、计算机可读介质、和/或如它们的组合。若干示意性的实施例在下文中被描述。结合附图参考下面的详细描述将容易地理解本发明,其中图1是根据一个实施例注释的示意性的媒体文件的示例。图2示出用于管理电子内容的使用的示意性系统。图3示出可以被用于实现本发明的实施例的系统的更详细的示例。图4示出根据一个实施例被编码(encode)的内容块。图5示出与图4所示的内容块相关联的分区的示意性的数据结构描述。图6示出用于将数字版权管理技术应用于管理媒体分区的系统的一个实施例的更详细的图示说明。图7示出根据一个实施例被编码的内容块。图8是示出根据一个实施例的对电子内容块的管理的流程图。图9是示出在一个实施例中可以怎样执行管理对内容块的访问的证书的流程图。图10示出根据一个实施例被编码的内容块。具体实施例方式本发明的详细描述在下文中被提供。虽然若干实施例被描述,应当理解的是本发明不限于任何一个实施例,而是反而包括许多备选、修改和等效物。另外,虽然许多特定的细节在下面的描述中被阐述以便提供对本发明的透彻理解,一些实施例可以被实现而不用这些细节中的一些或者全部。而且,为了清楚起见,在相关领域中已知的某些技术材料没有被详细描述以便避免不必要地混淆本发明。图1示出包括若干分区(102a,102b,102c,102d)的电子内容块100的示例。举例来说,内容100可以包括完整的媒体呈现,所述完整的媒体呈现包括电影及与其相关联的额外的内容项目。举例来说,分区102a可以是未经许可不得复制电影的警告,分区102b可以是另一个电影的预告,分区102c可以是广告,而分区102d可以是所述电影本身。内容100也可以包括多个标记104a、104b,在该标记处额外的内容(在本文中有时被称作“外部分区”)可以在稍后的时间处被插入(例如广告)。当内容100根据数字版权管理系统被封装时,对内容100中的一些或者全部的访问或者其他使用可以由关联的证书来管理(例如控制)。在优选的实施例中,以及如在下文中所更详细地描述的那样,这些证书可以规定组成内容100的分区102、104应怎样被访问或者以其他方式被使用,以及这种访问或者其他使用的结果应是什么。图2示出系统200的示例,其中可以使用数字版权管理系统来分配及管理诸如图1所示的那样的内容。在优选的实施例中,可以使用诸如在2006年10月18日提交的并且被出版为公开文本No.2007-0180519-A1的题为“数字版权管理引擎系统和方法(DigitalRightsManagementEngineSystemsandMethods)”白勺白勺胃白勺_国专利申请No.11/583,693(“‘693申请”)中所描述的那样的数字版权管理系统,其内容通过引用的方式合并于此处;然而,将理解的是任何合适的数字版权管理系统可以根据本文中所阐述的原理而被使用。如图2所示,电子内容203中持有权利的实体202将用于由终端用户208a_e(被统称作“终端用户208”,其中参考标号208可互换地指终端用户或者终端用户的计算系统,这根据上下文将是清楚的)分配和消费(consumption)的内容封装。举例来说,实体202可以包括内容所有者、创作者或者提供商,诸如音乐家、电影工作室、出版社、软件公司、作者、移动服务提供商、网络内容下载或者订阅服务、有线或者卫星电视提供商、公司雇员或者类似实体,或者代表其行动的实体,并且内容203可以包括任何电子内容。举例来说,内容203可以包括数字视频、音频,或者文本内容、电影、电视剧、视频剪辑、歌曲、网络广播(podcast)、视频游戏、一片软件、电邮消息、文本消息、字处理文档、报告、或者任何其他娱乐、企业(enterprise)或其他内容。作为封装过程的一部分,实体202典型地将定义所述内容将包含的各种分区,诸如结合图1所描述的那些。这可能需要将附加内容215(例如广告、警告、预告片等等)插入内容203,或者可能仅需要为内容203的各部分(例如电影中的一些或者全部)加标签,和/或可能需要定义在其处附加内容(例如广告等等)可以随后被插入(例如在重播期间运行中(onthefly))的标记。所述封装过程典型地也将需要应用由被使用的数字版权管理系统指定的任何安全保护。举例来说,可以通过诸如加密(encryption)或者数字签名技术的一种或多种密码(cryptographic)机制来保护所述内容,对于该加密或者数字签名技术,信托授权(trUStaUthOrity)210可以被用于获得适当的密钥、证书和/或类似物。在图2所示的示例中,实体202使用封装引擎209来将证书或者其他形式的电子控制206与被封装的内容204相关联。证书206基于策略205或者实体202的其他意愿,并且规定被准许和/或被禁止的内容的使用和/或必须被满足以便使用所述内容或者作为使用的条件或者结果必须被满足的一个或多个条件。虽然图2示出通过实体202被与内容相关联的证书,将理解的是在其他实施例中这种证书可以通过另一个实体(例如再分配器(redistributor)或者其他权利持有者)被关联和/或修改。在此特别相关的是,证书可以规定内容块中的各种分区应怎样被处理,以及涉及对分区的访问或者其他使用的报告信息是否要被记录。举例来说,证书可以指示各种要求,诸如警告分区不能被跳过但是可以被快进通过;在预告被观看一次之后,其可以在随后重播时被跳过;预告在某个日期之后不再被显示;如果用户不是特级服务的订户和/或没有为内容支付多于预先定义的钱数则广告必须被观看(并且不能被跳过或者被快进通过);关于某些分区是否被跳过或者被快进通过的信息必须被记录;涉及具体的分区已经被观看的次数的数量的信息必须被记录;和/或实质上数字版权管理系统能够执行的任何其他类型的要求。如图2所示,被封装的内容204和被关联的证书(或者多个证书)206经任何合适的机制被分配到终端用户(例如经在像因特网、局域网、无线网络、虚拟私人网络207、广域网和/或类似网络的网络212上的下载或者流送;经诸如压缩盘(⑶)、数字多用盘(DVD)、闪存卡(例如安全数字(SD)卡和/或类似介质的可记录介质216;经有线、卫星、广播、或者蜂窝通信214;和/或类似物),其中根据关联的证书的条款为用户208呈递内容。如图2所示,被封装的内容204可以与证书206—起在单个封装或者传送213中,或者在从相同或者不同的源接收的独立的封装或者传送中被传递给用户。典型地,证书条款将通过在用户的系统208上运行的数字版权管理引擎来执行。终端用户的系统(例如个人计算机208e、移动电话208a、电视机和/或电视机机顶盒208c、便携式音频和/或视频播放器208d、电子书阅读器、游戏系统、个人数字助手、和/或其他电子装置)通常将含有可操作用于取回和呈递内容的应用软件216、硬件、和/或专用逻辑。用户的数字版权管理引擎218将评估与被封装的内容204相关联的证书206并且执行其条款(和/或允许应用216执行这种条款),诸如通过仅在证书准许的情况下选择性地同意用户对内容的访问。数字版权管理引擎218可以被结构性地或者功能性地与应用216集成,或者可以包括一款独立软件和/或硬件。可替代地或者另外地,用户的系统,诸如系统208c,可以与远程系统通信,诸如系统208b(例如服务器、由装置构成的用户网络中的另一个装置,诸如个人计算机或者电视机机顶盒,和/或类似系统),该远程系统使用数字版权管理引擎来做出关于是否同意用户对先前由用户得到或者请求的内容的访问的决定220。数字版权管理引擎,和/或用户系统上或者与其远程通信的其他软件也可以记录涉及对受保护的内容的用户访问或者其他使用的信息。在一些实施例中,该信息中的一些或者全部可能被传送到远处的一方(例如交换所222、内容创作者、所有者或者提供商202、用户的管理者、代表其行动的实体、和/或类似方),例如用于分配收入(诸如版税、基于广告的收入等等)、确定用户偏好、执行系统策略(例如监视机密信息怎样及何时被使用)、和/或类似方面。将会理解的是虽然图2示出示意性的DRM体系结构及一组示意性的关系,在本文中所描述的系统和方法可以在任何合适的上下文中实现,并且因此将会理解的是图2是为了示意和解释的目的被提供的,而不是为了限制的目的。图3示出系统300的一个可能的实施例的更详细的示例,系统300可以被用于实现本发明的实施例。举例来说,系统300可能包括由终端用户的装置208、内容提供商的装置202、和/或类似装置构成的实施例。举例来说,系统300可以包括诸如个人计算机208e或者网络服务器207的通用计算装置、或者诸如蜂窝电话208a、个人数字助手、便携式音频或者视频播放器208d、电视机机顶盒、信息站(kiosk)、游戏系统或者类似装置的专用计算装置。系统300典型地将包括处理器302、存储器304、用户接口306、用于接受可移除的存储器308的端口、网络接口310、以及用于连接上述元件的一个或多个总线312。系统300的操作典型地将由在存储在存储器304(和/或其他计算机可读介质,诸如可移除的存储器308)中的程序的指引下操作的处理器302控制。存储器304通常将包括高速随机访问存储器(RAM)和诸如磁盘和/或闪存EEPROM(flashEEPR0M)的非易失存储器两者。存储器304的一些部分可以被限制,使得它们不能被系统300的其他部件读取或者写入。端口307可以包括用于接受诸如磁盘、⑶_R0M、DVD、存储卡、SD卡、其他磁介质或者光介质、和/或类似物的可移除存储器308的磁盘驱动器或者存储器插槽。网络接口310典型地可操作用于提供系统300和其他计算装置(和/或由计算装置构成的网络)之间经诸如因特网或者内联网(例如LAN、WAN、VPN等等)的网络320的连接,以及可以采用一种或多种通信技术在物理上产生这种连接(例如无线、以太网和/或类似连接)。在一些实施例中,系统300可能也包括被保护免于被系统300的用户或者其他实体篡改的处理单元303。这种安全处理单元可以有助于增强诸如密钥管理、签名验证及数字版权管理过程的其他方面的敏感操作的安全性。如图3所示,计算装置300的存储器304可以包括用于控制计算装置300的操作的各种程序或者模块。举例来说,存储器304典型地将包括用于管理应用、外围设备、及类似物的执行的操作系统321;用于呈递受保护的电子内容的主机应用330;及用于实现在本文中所描述的权利管理功能中的一些或者全部的DRM引擎332。如本文中其他地方以及在‘693申请中所描述的那样,DRM引擎332可以包括、与之相互操作、和/或控制各种其他模块,诸如用于执行控制程序的虚拟机、用于存储状态信息的状态数据库324、和/或用于执行诸如对内容加密和/或解密、计算散列函数和消息鉴别码、评估数字签名、和/或类似操作的密码操作的密码模块326。存储器304典型地也将包括受保护的内容328和关联的证书329,并且也可以包括将被动态地插入内容的分区327,以及密钥、证书和类似物(未示出)。本领域的技术人员将理解在本文中所描述的系统和方法可以用与图3中所示出装置类似的或者一致的计算装置来实现,或者实质上可以用任何其他合适的计算装置,包括不处理图3所示的一些部件的计算装置和/或处理未示出的其他部件的计算装置来实现。因而,应当理解的是图3是为了示意的目的而不是限制的目的被提供的。在本文中描述主要集中在与媒体分区有关的证书限制的执行上,以如果DRM引擎和主机应用如计划的那样操作,则证书的条款将被执行这个设想为根据。在本文中所描述的系统和方法的实际应用中,使DRM引擎和/或DRM引擎在其中运行的环境(例如应用及其与之相互作用的硬件)免于恶意篡改或者修改的保护可以使用安全技术的任何合适的组合来实现。举例来说,诸如加密、数字签名、数字证书、消息鉴别码、及类似机制的密码机制可以被采用,举例来说如在‘693申请中所描述的那样用于保护DRM引擎、主机应用、和/或其他系统软件或者硬件免于篡改和/或其他攻击,诸如软件模糊、自检查、定制、水印、反调试(anti-debugging)和/或其他机制等结构上的和/或战术上的安全措施同样也可以被采用。这样的技术的代表性示例可以在例如题为“用于增强软件安全性的模糊技术(ObfuscationTechniquesforEnhancingSoftwareSecurity),,的美国专利No.6,668,325B1中,以及在题为“软件自防御系统和方法(SoftwareSelf-DefenseSystemsandMethods)”并且被出版为US-2005-0183072-A1的共同受让的美国专利申请No.11/102,306;题为“用于为软件和其他媒体加水印的系统和方法(SystemsandMethodsforWatermarkingSoftwareandOtherMedia),,并且被出版为US-2008-0028474-A1的美国专利申请No.11/737,428;题为“软件自检系统和方法(SoftwareSelf-CheckingSystemsandMethods)”并且被出版为US-2003-0023856-A1的美国专利申请No.10/172,682;题为“受信任的存储系统和方法(TrustedStorageSystemsandMethods)”并且被出版为US-2006-0123249-A1的美国专利申请No.11/338,187;以及题为“安全处理单元系统和方法(SecureProcessingUnitSystemsandMethods)”的美国专利No.7,124,170Bl中找到,特此通过引用将其中每个都整体并入。可替代地或者另外地,物理安全技术(例如相对无法访问的存储器、安全处理器、安全存储管理单元、保护硬件的操作系统模式、和/或类似物的使用)可以被用于进一步增强安全性。还有另一种形式的安全性可以通过对系统的制度化(institutional)设计和操作,以及通过对其参与者在法律和社会方面的规范来提供。举例来说,系统中的实体可能被要求以合同方式(contractually)同意遵守系统规约和要求,可能需要服从在其期间实体与系统要求的符合可以被验证的证明过程,和/或类似情况。举例来说,装置或者应用可能被要求以与环境中的其他实现兼容的方式来实现DRM引擎,和/或被要求某一类型或者级别的篡改抵抗性或者其他安全性。证实装置或者其他实体与这种要求符合的数字证书可以被发布,并且这些证书可以在允许装置或者实体参与系统之前被验证,或者作为允许继续访问的条件。这样的安全技术对于本领域的技术人员将是熟知的,并且将会理解的是取决于所希望的保护级别和/或在手边的具体应用的细节可以使用一些、没有一个或者所有这些技术中的任何合适的组合。也将会理解的是虽然某些安全机制在本文中结合某些实施例被描述,这些技8术的使用不是在所有实施例中都被要求的。关于可以结合本实施例被使用的安全技术的附加的、非限制性的信息在‘693申请中被阐述。在下文中提供了对数字版权管理技术支持动态媒体(或者其他内容)分区的定义和执行的应用的更详细的描述。在一组优选的实施例中,采用诸如在‘693申请中所描述的那样的DRM引擎(在本文中或者在‘693引用中有时被称作“章鱼式(Octopus)”DRM引擎)的DRM系统被使用。尽管对示例实施例的下面的描述有时将指这种DRM引擎,将理解的是在该描述中所示出的概念可以容易地被应用在具有不同类型的DRM系统的上下文中。图4示出包括各种分区的内容块400,并且图5示出根据一个实施例可以怎样定义这些分区。如图4所示,内容400包括含有警告屏幕的分区402、含有电影的第一部分的分区404、以及含有电影的第二部分的分区406。另外,如图4所示,所希望的是在指示的位置处将包括预告408的分区和包括广告410的分区插入内容400。所希望的也可能是将完整的内容块400当作分区416对待,以及将警告、预告、和电影的第一部分当作分区412对待,并且将广告和电影的第二部分当作另一个分区414对待。图5示出用于定义和描述图4所示的分区的分区图500。图5所定义的分区是图4所示的媒体流400的区间(span),并且由该流中的两个点划界。点阵列504中的每个点含有对在其处分区停止或者起始的、媒体流中的随机访问点(例如样本、或者访问单元,以从ISO基本媒体格式取得的媒体格式)的参考。内部分区506由媒体流中的起始点508和结束点510指示。举例来说,分区402(即警告屏幕)的范围从访问单元0到访问单元30。外部分区512由媒体流中的点514指示,其中另一个媒体流(例如预告408或者广告410)的一部分将被接合。在图5所示的实施例中,分区图500也具有防止分区图500被不知道特定密钥的实体修改的签名502。在一个实施例中,分区标识符516被用于标识每个分区。当分区标识符被发信号通知时(例如以DRM证书),其允许定位(locate)合适的媒体分区的应用。在一个实施例中,分区标识符516对于特定的内容项目是局部的,并且被用于签署分区图的ZoneMapKey将分区与特定内容绑定。在优选的实施例中,ZoneMapKey包括内容散列的(ahashof)加密密钥。以这种方式,ZoneMapKey大体上唯一地与内容绑定,而实际的内容密钥不需要被公开给分区图的创建者,其可能与负责创建或者维护内容密钥的人不相同。由于内容创作者可能不相信具有内容解密密钥的这种独立实体,而通常更重要的是保护防止用于计划中的广告的不同内容的未经授权的替换,这在用于外部分区的分区图的情况中尤其有用,诸如含有独立于广告将被插入其中的内容而被创建和/或提供的广告的外部分区。通过用散列的内容解密密钥签署分区图,强有力的联接在分区和关联内容之间被创建,而不用包括内容解密密钥的保密。在一些实施例中,在分区图中可能有不止一个具有相同标识符的分区,并且可能有不止一个含有具有相同分区标识符的分区的分区图。在这种情况中,任何有效的分区可以被使用。具有不止一个具有相同标识符的分区的可能性允许其中分区的多个不同媒体流被传递给播放器应用,该播放器应用接着在呈递媒体呈现时挑选有效分区中的一个这样的模型。任何合适的机制可以被用于在具有相同标识符的多个分区之间挑选的应用使用。如图5所示的那样,分区图可以标识用于一些分区的摘要(digesg)算法520,以及用于每个这种分区的摘要的值522。在一个实施例中,当媒体播放器播放具有摘要算法的分区时,其在分区正被播放时计算分区摘要。当分区已经全部被播放时,其将计算出的摘要的值与该分区的包含在分区图中的值比较,并且如果该值不相等(例如因为分区不完整),则停止该呈现的任何进一步播放。表0示出在一个优选实施例中组成诸如图5所示的那样的分区图的抽象数据类型的更详细的示意表0<image>imageseeoriginaldocumentpage10</image>其中“accessUnitReference"是对媒体中的位置或者访问单元的参考或者是媒体中的位置或者访问单元的标识符。“fromPoint"指〃ZonePoint"的〃Points"阵列中对应于分区起始的位置。“toPoint"指〃ZonePoint"的〃Points"阵列中对应于分区结束的位置。“splicePoint"指〃ZonePoint"的〃Points"阵列中的位置,该位置对应于媒体中在该处分区将被接合的位置。“id"是用于分区的标识符。“attributes"指等于由0或者更多标志构成的组合的比特向量。一个这种标志的示例在下面被示出;然而,将会理解的是任何合适的一个或多个标志可以被使用<table>tableseeoriginaldocumentpage11</column></row><table>“mediaDigestAlgorithm"标识被用于计算mediaDigestValue域的摘要算法。在一个实施例中,下面的算法标识符被定义<table>tableseeoriginaldocumentpage11</column></row><table>丨‘mediaDigestValue"是作为分区的部分的媒体样本的取决于媒体的摘要。“meteringTag"是被用作用于报告分区重播计量(这将在下文中更详细地被描述)的标签的串。“points〃指由一个或多个ZonePoint值构成的阵列。“intemalZones〃是由一个或多个InternalZonelnfo记录构成的阵列。“externalZones〃是由一个或多个ExternalZonelnfo记录构成的阵列。‘‘signature"指points、internalZones禾口externalZones阵列的带密朗的MAC签名(keyed-MACsignature)。在一个实施例中,MAC算法和密钥由signalAlgorithmfield域规定。“signatureAlgorithm“是被用于计算signatureValue域的签名算法的标识符。举例来说,在一个实施例中,下面的算法标识符被定义<table>tableseeoriginaldocumentpage11</column></row><table>signatureValue是由signatureAlgorithm域规定的签名的值。图6是系统600的更具体的示意,系统600使用DRM引擎601来管理含有诸如图4所示的那样的内容块607的文件605的诸如图5所定义的那样的媒体分区的重播或者其他呈递。如图6所示,在优选的实施例中,诸如图5或者表0所示的分区图602被包括在含有包括分区和/或分区标记的内容块607的文件605内,其接着被封装成由DRM引擎和被采用的内容呈递系统所要求的格式。举例来说,内容607可以包括mp4音频-视频文件,其根据‘693申请中所描述的DRM技术被封装。如图6所示,证书608与内容文件605相关联,该证书608规定应怎么管理对内容607的访问或者其他使用,并且在此特别相关的是,规定定义在内容的分区图602中的各个分区应以其被管理的方式。图6也示出了可以在标识在分区图602中的外部分区位置处被接合到内容607的多个内容项目604a、604b、606a、606b、606c。如先前所指示的那样,在一个实施例中,在分区图中被引用的外部分区是对于其而言关联的媒体和与该分区图相关联的媒体不处于相同的文件或者封装(container)中的分区。外部分区允许分区的媒体独立于主媒体呈现被传递或者封装,分区的媒体将在主媒体呈现中被呈递。如图6所示,在一个实施例中,当分区图含有对外部分区的参考时,具有那些分区中的每一个的内容的媒体604、606具有与其自己的内部分区描述相关联的分区图。在一个实施例中,当不止一个分区在相同的点处被接合时,重播次序是分区在externalZone阵列中出现的次序。如图6所示,具有相同分区id的多个内部分区可以被传递给用户612。在图6所示的示例中,具有相同分区标识符的两个不同的预告604a和604b被传递给用户,具有相同的分区标识符的三个广告606a、606b、606c同样也被传递给用户。在重播期间,应用609和/或DRM引擎601可以选择这些外部分区中的哪一个被实际接合到内容。可以基于任何合适的准则以任何合适的方式来执行这种选择。举例来说,新的预告可以被周期性地传递给用户,并且对显示哪个预告的选择可以基于预告的相对时期(例如选择最近期被接收的预告)。可替代地或者另外地,对显示哪个预告的选择可以基于预告的内容(例如哪个预告与包含在文件605中的电影607最相似),基于先前被收集的人口统计或者用户偏好数据、随机选择或者这些或任何其他合适的因素的组合的涉及哪个预告最有可能吸引用户的决定。因为外部分区没有被嵌入在内容607中,相同的外部分区也可以被接合到引用外部分区的id的另一个内容块。另外地,因为外部分区含有它们自己的分区图(并且,在一些实施例中,可能具有它们自己的与其相关联的证书),给定的外部分区可以自己引用需要在重播期间被并入给定的外部分区的另一个外部分区。如先前所指示的,DRM引擎601根据证书608控制对内容607的访问或者其他使用。特别地,DRM引擎601执行与在分区图602中被标识的分区有关的任何证书限制。将会理解的是证书可以表达任何合适的限制、条件或者结果,仅受DRM系统的能力限制。举例来说(没有限制),管理图4所示的内容400的证书可以要求警告屏幕在电影第一次被播放时被观看;如果预告在最近7天中没有被观看则预告被观看,但是仅在固定的日期之前;如果用户不是特级服务的订户则广告被观看;用户不能快进通过广告或者预告;涉及各个分区的重播的信息被记录;和/或类似情况。在诸如‘693申请中所描述的那样的DRM系统的背景中,这种条件的表达和执行可能需要一个或多个回调(callback)和/或义务在包含证书的控制程序中的使用。举例来说,在一个实施例中,控制程序可以包括由与播放有关的动作(例如“播放”)的“检查”和/或“执行”方法返回的扩展状态段(“ESB")中的MediaZone义务。在一个实施例中,下面的约束可以被包括在ESB的义务封装中<table>tableseeoriginaldocumentpage13</column></row><table>下面是一个实施例中Zonelnfo标志值的示例<table>tableseeoriginaldocumentpage13</column></row><table>在一个实施例中,下面的ZoneTypes被定义<table>tableseeoriginaldocumentpage13</column></row><table>在一个实施例中,为了遵守MediaZones义务,播放器应用必须为在义务的Zonelnfo记录中规定的分区标识符中的每一个定位至少一个有效的InternalZonelnfo条目。有效的条目是被包括在签名对其有效的分区图中的条目。有可能的是在一些实施例中,在MediaZone列表中被描述的分区可以重叠。同样地,相同的分区可以用不同的分区类型不止一次被包括,在这种情况中分区具有所有那些类型的组合的特性。在一个实施例中,当媒体播放器应用尝试搜索处于不止一个磁性分区之内的位置时,重播必须在所有那些分区的最早的'fromPoint'处开始。控制也可以包括由与重播有关的动作(诸如“播放”)的“检查”和/或“执行”方法返回的ESB中的OnZoneCompleted回调通知。例如名称HWiOnZoneCompletedValueList在一个实施例中,当规定的分区已经完全被播放时主机应用必须回调(除非分区被发现为不完整的,如上文所描述的那样)。ValueList中的值为描述‘‘“~"“ZoneId等于媒体的分区描述表中的分区整型中的一个的’id’域回调用于回调的程序,以及关联的Cookie在一个实施例中,被用于将分区图与特定的媒体内容项目捆绑的密钥-有时在本文中被称作"ZoneMapKey"_是被用于对正被播放并且证书的控制已经为其返回带有MediaZone义务的ESB的内容加密的内容密钥中的一个。在一个实施例中,当有不止一个内容密钥时(举例来说当播放来自在其中音频和视频流被以不同的内容密钥加密的封装的媒体时),ZoneMapKey可以如下被选择(a)对于仅有音频的媒体,ZoneMapKey是被用于对音频流加密的内容密钥;以及(b)对于仅有视频或者音频/视频媒体,ZoneMapKey是被用于对视频流加密的内容密钥。在一个实施例中,当播放具有计量义务的内容时,如果分区已经全部被播放并且在MediaZone义务中METERING标志被设置用于该分区,则播放器应用记录该事件。在一个实施例中,在将计量数据中的该事件报告给计量服务时,对应于该事件的条目在一个或多个事件记录中被报告,并且(一个或多个)报告仅包括“停止”时间,省略“起始”时间。在一个实施例中,用于计量记录的逻辑id是通过将计量义务的逻辑id、字符’#’和用于该分区的meteringTag域串联起来得到的串。在一个实施例中,如果内容不具有计量义务,则播放器应用忽略任何METERING标志,并且如果内容具有不是被标记为CRITICAL的计量义务,则播放器应用可以忽略METERING标志。示例图7示出媒体呈现700的示例。在图7所示的示例中,媒体呈现700以“FBI警告”屏幕702起始,其必须在呈现704的其余部分之前被观看除非警告屏幕702已经在过去30天中被观看。在一个实施例中,用于呈现700的分区图将含有两个分区。警告分区702跨越访问单元0到访问单元189。电影分区701跨越访问单元0到访问单元2876。14图8是示出在一个实施例中将怎样处理诸如图7中的呈现700的内容块的观看的流程图。如图8所示的那样,当播放呈现的请求被接收(802)时,关于警告屏幕702是否先前已经在过去30天内被观看(或者播放)的决定被做出。举例来说,含有警告屏幕的分区上次何时被观看的记录可以在本地(或者远程)数据库中被维护,并且从数据库取回的数据可以被与当前时间比较以确定自警告屏幕上一次被观看起是否已经过去30天。如图8所示,如果警告屏幕已经在过去30天中被观看(即从框804引出的“否”),则呈现将在分区704处开始播放(即含有警告屏幕的分区702将被跳过)(806)。如果警告屏幕在过去30天中没有被观看(即从框804引出的“是”),则呈现将通过播放分区702(即警告屏幕)开始(808)。一旦分区702已经完成播放,数据库可以被更新以指示警告屏幕刚刚已经被观看(810),并且呈现的重播可以继续到分区704(806)。在图7所示出的图示中,分区702已经被指派了“粘性”属性并且完整的呈现已经被指派了“磁性”属性。这些属性可以被用于防止对在警告屏幕(分区702)在之前的30天中没有被观看的情况下其被观看的要求的回避(circumvention)。特别地,如果警告在之前的30天中没有被观看,DRM引擎和/或播放器软件或者硬件将阻止用户在分区704(即在警告之后)处启动播放。因为呈现具有“磁性”属性,对呈现的重播将在起始处(即在访问单元0处)开始。另外,因为分区702已经被指派为“粘性”属性,播放器软件或者硬件的快进和搜索特征将在该分区被呈递的同时被禁止,因此阻止用户跳过或者快进通过警告。然而,一旦警告分区已经被观看,用户就将再一次能够快进和跳转到呈现中的任意位置,因为DRM引擎将不会再次执行粘性或者磁性特性直到另外的30天过去,并且观看警告的义务再一次出现。将会理解的是图7所示的分区仅是为了示意的目的,并且内容创作者可以定义任何合适的分区和观看要求。图9示出与分区有关的义务在诸如图7所示的那样的内容块的上下文中的应用。如图9所示,当播放内容块的请求被接收(900)时,关于任何与分区有关的义务是否存在的决定被做出(902)。举例来说,如果诸如‘693申请中所描述的那样的DRM引擎被使用,播放动作的执行方法将返回描述任何可适用的义务的扩展状态段。如果没有与分区有关的义务存在(即从框902引出的“否”),则对呈现的重播在省略可能被插入的任何内部(或者外部)分区的情况下前进(903)。如果,另一方面,一个或多个与分区有关的义务存在(即从框902引出的“是”),则对于呈现的被请求的访问单元,关于其是否为其义务存在的新分区(在图9中被称作“有效”分区)的部分的决定被做出。举例来说,关于先前被访问的单元(如果有的话)与当前被请求的访问单元是否处于相同的分区中的决定被做出。如果被请求的访问单元没有处于新分区中(即从框906引出的“否”),则访问单元的重播被准许(908)。然而,如果被请求的访问单元处于新分区中(即从框906引出的“是”),则关于新分区是否为磁性(910)的决定被做出,并且如果新分区是磁性的(即从框910引出的“是”),则当前被请求的访问单元被该分区(或者多个分区)中的第一访问单元代替。与新分区有关的任何其他义务的执行也被启动(914)。举例来说,如果分区被加上“不能跳过”的标签,则在播放软件和/或硬件上的搜索控制被禁止,并且如果分区被加上“粘性”的标签,则搜索和快进控制两者在播放访问单元之前都被禁止。在图9所示的示例算法中,一旦访问单元已经被播放(908),关于该访问单元是否是有效分区中的最后一个访问单元(即有效分区是否被完成)的决定被做出(916)。如果分区被完成(即从框916引出的“是”),则如果有有关的回调(920),则回调被执行,并且有关的义务组被更新(例如某些义务可以被移除、更新或者强加)。如果没有更多的义务有效(即从框922引出的“否”),则内容的重播可以在没有可能被插入的任何内部(或者外部)分区的情况下继续。否则,下一个访问单元被取回(918),并且上文所描述的过程被重复直到重播被停止(例如用户键入或者选择播放器上的“停止”)。将会理解的是图9所示的示例算法为了示意的目的而不是为了限制的目的被提供,并且可以任何合适的方式来执行与分区有关的义务的执行。举例来说,图9所示的一些步骤可以以不同的次序、与其他步骤同时被执行或者整体被省略。在将图9所示的算法应用于图7所示的呈现700的情况下,如果用户尝试在访问单元190处开始重播(即立即在警告屏幕之后),并且警告屏幕在过去30天中没有被观看(在这种情况中,磁性和粘性的义务将是有效的),DRM引擎和/或应用将迫使重播在访问单元0处开始,由于访问单元190是磁性分区的部分(即该分区包含完整的呈现),并且访问单元0是该磁性分区的起始。另外,由于访问单元0是粘性分区(即包含警告屏幕的分区)的部分,应用的搜索和快进控制将被禁止。类似地,如果用户尝试在访问单元188处开始重播(即立即在警告屏幕的结束之前),DRM引擎和/或应用将迫使重播在访问单元0处开始,由于访问单元188是磁性分区(即包含完整的呈现的分区)的部分,并且访问单元0是该磁性分区的起始。一旦访问单元189被呈递(即分区702中的最后一个访问单元),则将去活与分区702和701相关联的义务的回调将被产生,并且呈现可以在不观看警告屏幕的情况下被播放,并且在呈现内的快进和搜索将重新被允许。如果用户停止呈现接着在30天内使它重新开始,没有义务将是有效的(由于通过DRM引擎维护的记录将指示自警告上一次被观看起还没有过去30天),并且呈现可以在不观看警告屏幕的情况下被播放。用于图7所示的呈现的分区图数据结构的示意性实施例在下面的表1示出。表1<table>tableseeoriginaldocumentpage17</column></row><table>如表1所示的那样,分区图含有3个点和两个分区。警告分区跨越点0到1(即访问单元0到189)以及具有属性值1,在该示意性实施例中这意味着其为被插入的分区。这向播放器指示如果没有由播放动作的执行方法返回的分区义务,则跳过该分区并且直接在访问单元190处开始是没问题的。电影分区跨越分区点0到2(即访问单元0到2876)并且没有被设置的属性标志。用于实现结合图7和表1所描述的功能的控制的示意性伪代码在表2中示出,如下表2<table>tableseeoriginaldocumentpage18</column></row><table>如表2所示的那样,当控制被启动时,涉及警告上一次被观看的时间的数据被从DPM系统的状态数据库取回。这被与当前时间比较(即"now"),并且如果差大于30天,则同意播放内容的请求的扩展状态段被返回(即ESB-1),但是将义务强加在警告分区上(即分区702)和完整的内容(即分区704)上,有效地迫使警告在电影的其余部分可以被观看之前被观看。回调也被包括,其在对警告分区的观看完成时被启动。回调将当前时间存储在DRM系统的状态数据库中作为警告上一次被观看的时间,并且返回仅同意电影的重播而不强加任何义务的扩展状态段(即ESB-2)。因而,一旦警告已经被观看并且回调已经被执行,警告分区将不被呈递并且电影上的磁性分区义务将在另外的30天中不被执行。图10示出呈现1000的示例编码,其中所希望的是允许已经为呈现付费的观众观看呈现而没有广告(将理解的是DRM引擎和/或应用能够评估的任何其他条件或者条件的组合可以代替地被使用),同时要求没有为呈现付费的用于观看广告。如图10所示,呈现1000可以被分为两个分区对应于被插入的广告的、范围从访问单元900到访问单元100的分区1004;以及包括广告1004和电影的第二部分1008两者的、范围从访问单元900到访问单元2300的分区1010。广告分区1004与“不能跳过”义务相关联,并且包括广告1004和电影的第二部分的分区1010与磁性义务相关联。当播放呈现的第二部分的请求被接收时,关于用户是否已经为呈现付费的决定被做出。该决定可以被做出,例如通过从DRM引擎的数据库取回数据,或者通过评估某个节点(诸如订阅节点)从播放器的节点是否可到达。如果用户已经为呈现付费,则没有义务通过控制程序的播放动作的执行方法被返回,并且广告在呈现被观看时自动地被跳过。然而,如果用户没有为呈现付费,则图10所示的粘性和磁性义务被激活,并且用户必须观看广告以观看电影的第二部分,并且不被允许跳过广告。举例来说,如果用户尝试在访问单元951处开始重播,由于包括访问单元951的分区是磁性的,播放器将迫使重播实际在访问单元900处开始。一旦广告已经被观看,用户可以在包括广告和电影的第二部分的分区内跳转,但是如果用户返回电影的第一部分1002并且接着尝试跳回第二部分1008,在这个示例中他将需要再一次观看广告1004(或者,如果广告是外部分区,则观看具有相同id的任何广告)。用于实现结合图10所描述的功能的(诸如在‘693申请中所表述的那样的)控制的示意性伪代码在表3中示出,如下表3<table>tableseeoriginaldocumentpage19</column></row><table>如表3所示,当控制被启动时,关于用户是否是电影服务的订户的决定被做出。如在‘693申请中所更详细地描述的那样,这通过确定表示订阅的节点(即在这个示例中的"MovieSubscription")从播放器的节点是否可到达。如果订阅节点可到达,则用户被确定为付费订户,并且同意播放内容而不强加任何义务的请求的扩展状态段(即ESB-2)被返回。然而,如果订阅节点不可到达,则扩展状态段(即ESB-1)被返回,同意播放内容的请求但是将义务强加广告分区(即分区1004)和包括广告和电影的第二部分(即分区1010)的分区上,有效地迫使广告在观看电影的第二部分之前被观看。将会理解的是媒体分区的完整定义通常需要媒体呈现内的精确定位信息的使用,因而要求一些媒体特定格式元件。为了解释和清楚的目的,对于许多媒体格式通用的抽象数据结构和元件已经在本文中被描述。为了示意的目的,表示和将这些数据结构和元件嵌入某些示意性的媒体格式的特定方法在下面的附录中被描述。然而,本领域的技术人员将理解在本文中所描述的抽象数据类型也可以被容易地映射到其他媒体格式上。附录A-IS0基本媒体文件格式映射在一个实施例中,当定义用于根据ISE基本媒体文件格式(参见例如IS0/IEC14496-122003信息技术一音频-视频对象编码一第12部分IS0基本媒体文件格式)取得的媒体的分区点时,ZonePoint结构的accessUnitReference域对于基于样本的格式是IsoMediaAccessUnit,或者对于盒式(box-based)格式(诸如OMADCF)是IsoMediaByteOffice。下面的符号是以定义在IS0/IEC14496-1:2004,第3子部分信息技术一音频_视频对象编码中的句法描述语言(SDL)。<table>tableseeoriginaldocumentpage20</column></row><table><table>tableseeoriginaldocumentpage20</column></row><table>在一个实施例中,与轨迹相关联的分区图对于该轨迹(对于基于轨迹的媒体)应当被包括为'trak'盒中的'udta'封装盒中的'mZON'盒或者(对于例如OMADCF媒体)被包括为离散媒体首部盒中'udta'封装盒中的'mZON'盒。<table>tableseeoriginaldocumentpage20</column></row><table>其中丨‘zoneMapDataSize〃指分区图的二进制编码(其示例在下面更详细地被描述)。“zoneMapDataSize"指分区图的二进制编码的大小。在一个实施例中,对于基于轨迹的只有音频的呈现,分区图被包括在音频轨迹中,并且对于基于轨迹的音频加视频的呈现,分区图被包括在视频轨迹中。对于盒式呈现,分区图是与含有用于地图所对应的呈现的媒体数据盒的那个相同的封装的派生。在一个实施例中,对于其中媒体数据包括访问单元样本的媒体,分区的mediaDigestValue在由从分区的第一个样本到最后一个样本(包括两端)的所有样本数据构成的字节序列上计算。对于其中媒体数据由单个字节序列(诸如OMADCF中的'odda'盒)表示,分区的mediaDigestValue在分区的起始和结束之间的部分字节序列上计算。附录B-二进制编码IsoMediaAccessUnit{sample:unsignedint(32)}IsoMediaByteOffset:{sample:unsignedint(64)}InternalZoneInfo{fromPoint:unsignedint(32)toPoint!unsignedint(32)id:unsignedint(32)attributes!unsignedint(8)mediaDigestAlgorithm:unsignedint(8)mediaDigestValue:{mediaDigestValueDataSize:unsignedint(8)mediaDigestValueData:bit(8)[mediaDigestValueDataSize]ιmeteringTag:{meteringTagDataSize:unsignedint(8)<table>tableseeoriginaldocumentpage22</column></row><table>尽管为了清楚起见已经较详细地描述了前面的内容,将会理解的是某些改变和修改可以在所附的权利要求的范围内被进行。举例来说,虽然若干示例已经在诸如电影的音频-视频内容的上下文中给出,将会理解的是在本文中所描述的系统和方法适合用于更广的应用,并且可以被用在实质上任何类型的电子内容的上下文中。举例来说(没有限制),在本文中所描述的系统和方法可以被应用于音频内容(例如数字化记录的歌曲、无线电广播、网络广播(podcast)等等)、文本内容(例如电子书或者杂质、HTML内容、字处理文档等等),其中各种分区可以被定义用于包括诸如版权信息、广告和类似的内容,或者任何其他合适的电子内容。应注意的是有许多实现在本文中所描述的过程和设备两者的可替代的方式。因此,本发明应被看作示意性的而不是限制性的,本发明不应被限制在本文所给定的细节,而可以在所附的权利要求的范围和同等物内被修改。权利要求一种封装第一电子内容块的方法,所述方法包括创建第一分区图,所述第一分区图在所述第一电子内容块中定义多个分区;以及将电子证书与所述第一电子内容块相关联,所述证书包括至少一个控制程序,所述证书定义与对所述第一电子内容块的至少一部分的访问或者其他使用相关联的一个或多个条件,所述控制程序在被执行时可操作的用于确定与定义在所述第一分区图中的第一分区相关联的第一预先定义的条件是否被符合,并且,如果所述第一预先定义的条件被符合,则将第一义务强加在对所述第一分区的访问或者其他使用上。2.如权利要求1所述的方法,其特征在于,其中所述证书包括用于如果第二预先定义的条件被符合则去除所述第一义务的代码。3.如权利要求1所述的方法,其特征在于,所述方法还包括使用可操作的用于解密所述第一电子内容块的至少一部分的第一密钥来数字化地签署所述分区图。4.如权利要求1所述的方法,其特征在于,所述方法还包括使用从可操作的用于解密所述第一电子内容块的至少一部分的第二密钥获得的第一密钥来数字化地签署所述分区图。5.如权利要求1所述的方法,其特征在于,其中所述分区图还包括对至少一个外部分区的参考,所述外部分区包括第二电子内容块,所述第二电子内容块与所述第一电子内容块相分离,所述第二电子内容块具有与其相关联的第二分区图,所述第二分区图在所述第二电子内容块中定义至少一个分区。6.如权利要求5所述的方法,其特征在于,其中用第一密钥签署所述第二分区图,使用单向函数从用于解密所述第一电子内容块的至少一部分的第二密钥获得所述第一密钥。7.如权利要求1所述的方法,其特征在于,其中所述第一义务包括在播放所述第一电子内容块的至少第一部分之前播放所述第一分区的要求。8.如权利要求1所述的方法,其特征在于,其中所述第一义务包括所述第一电子内容块的至少第一部分不能被跳过的要求。9.如权利要求1所述的方法,其特征在于,其中所述第一义务包括用户不能快进通过所述第一电子内容块的至少第一部分的要求。10.一种方法,所述方法包括接收第一电子内容块;接收第一分区图,所述第一分区图在所述第一电子内容块中定义至少第一分区;接收证书,所述证书对于对所述第一电子内容块的至少一部分的访问或者其他使用规定一个或多个约束;接收播放所述第一电子内容块的请求;评估所述证书以确定是否批准所述请求;以及根据所述证书批准所述请求,包括将至少一个与分区相关的义务强加在所述第一电子内容块的重播上。11.如权利要求10所述的方法,其特征在于,其中所述证书包括至少一个控制程序。12.如权利要求11所述的方法,其特征在于,其中评估所述证书包括执行所述控制程序。13.如权利要求10所述的方法,其特征在于,其中所述第一分区图和所述第一电子内容块在第一文件中一起被接收。14.如权利要求10所述的方法,其特征在于,所述方法还包括接收第二电子内容块,所述第二电子内容块具有与其相关联的第二分区图,所述第二分区图包括第一标识符;以及接收第三电子内容块,所述第三电子内容块具有与其相关联的第三分区图,所述第三分区图包括所述第一标识符。15.如权利要求14所述的方法,其特征在于,其中所述第一分区图包括对所述第一标识符的参考,所述方法还包括在所述第二电子内容块和所述第三电子内容块之间选择;以及连同播放所述第一电子内容块一起播放所述第二电子内容块和所述第三电子内容块中被选择的一个。16.一种方法,所述方法包括接收第一电子内容块和第一分区图,所述第一分区图在所述第一电子内容块中定义至少第一分区;接收与所述第一电子内容块相关联的证书,所述证书包括至少一个控制程序,所述至少一个控制程序可操作的用于有条件地强加与呈递(rendering)至少所述第一分区有关的义务;执行所述控制程序;以及根据所述证书呈递至少所述第一分区。17.如权利要求16所述的方法,其特征在于,所述方法还包括记录与所述呈递步骤相关的至少一些数据。18.如权利要求16所述的方法,其特征在于,其中所述义务包括必须被符合以便呈递所述第一分区的一个或多个要求,并且其中所述呈递步骤包括确保所述一个或多个要求被符合。19.如权利要求16所述的方法,其特征在于,所述方法还包括如果至少第一条件被满足,则不强加所述义务。20.如权利要求16所述的方法,其特征在于,其中所述控制程序可操作的用于如果所述控制程序确定第一节点从第二节点不可到达则强加所述义务。全文摘要用于将数字版权管理技术应用于管理电子内容中的分区的系统和方法被描述。在一个实施例中,分区被定义在电子内容块中,并且证书被与指示所述分区应怎样被访问或者以其他方式被使用的电子内容相关联。数字版权管理引擎根据所述证书来管理对被分区的内容的访问或者其他使用。文档编号G06F21/00GK101809580SQ200880109159公开日2010年8月18日申请日期2008年7月23日优先权日2007年7月23日发明者G·博孔-吉博申请人:英特托拉斯技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1