技术领域
[0001] 本公开一般涉及过顶(over-the-top,OTT)媒体传送以及更特定地涉及在不同类型客户端装置上广泛多种权限(entitlement)的实时的实施。
背景技术
[0002] 在机顶盒(STB)中实现的传统有条件接入(CA)系统仅支持非常有限的ON/OFF权限,指示用户是否被允许观看具体的频道。不断地更加流行的到广泛多种装置的过顶(OTT)媒体传送在提供充分更宽以及不断增加的权限阵列(array)方面展现出挑战和机会。OTT传送
生态系统要求配置不同的用户和用户组、媒体和媒体组、装置以及其各种组合的增长数量的权限的能
力,连同对于给定用户/媒体/装置组合的适当标识的要求集合的安全传送,以及在每个客户端装置上这些权限的安全处置、储存和实施。
发明内容
[0003] 公开了用于在过顶(OTT)视频传送中实时地实施广泛多种权限的方法和设备。OTT内容传送通常依赖于使用HTTP协议的基于段的检索范例(paradigm)。HTTP自适应流传送使用多个编码(每个以不同的位速率、
分辨率和/或
帧速率来编码),允许客户端选择对于其本地网络条件适当的编码。清单(manifest)文件被用于传递编码信息以及指示段检索
位置给客户端。对于实时(实况(live))内容,段和清单文件实时地被产生并由客户端来检索。
[0004] 更特定地,用于实施权限的公开的方法可以包括在
服务器配置广泛多种权限;对于给定客户端
请求而确定可应用的权限的组合;安全地发送权限至请求客户端;在运行时间在多个客户端装置上安全地处置权限信息;在多个客户端装置上安全地存储权限信息以用于离线使用;以及在多个客户端装置上实施权限。
附图说明
[0005] 前述的以及其它对象、特征和益处从本发明的具体
实施例(如在附图中示出)的以下描述而将是显而易见的,在所述附图中同样的引用字符指贯穿不同视图的相同部分。
[0007] 图2是从
硬件观点的计算机化装置的框图;
[0008] 图3是主要从
软件观点的客户端装置的框图;
[0009] 图4是代理的操作的高等级
流程图;以及
[0010] 图5是媒体分发系统的备选配置的框图。
具体实施方式
[0011] 图1是本发明的一个实施例的系统100的框图。如所示,其包括工作流程管理器(WFM)102、一个或者更多打包服务器或者“打包器”104、权利服务器105、内容管理系统(CMS)106、内容传送网络(CDN)108、代理服务器或者“代理”109以及客户端装置或者“客户端”110。装置间的网络连接一般地示出为网络112。一般在操作中,打包器104接收源内容以及处理或“打包”源内容使得它可以经由CND 108被传送至客户端装置110。特定地,打包器104实行转码和内容加密(使用一系列内容加密密钥,如下所述)。CMS 106提供对内容摄取、打包和传送的高等级控制,而WFM 102实行更细节的控制操作。
[0012] 工作流程管理器(WFM)102负责从内容管理系统(CMS)106获取源内容信息以及指令一个或者更多打包器104来准备内容以用于分发。在一个实施例中,准备包括使用不同编
解码器、位速率、
帧速率、取样速率和分辨率来将音频和视频转码成多个编码。所转码的内容然后被写入多个输出文件。在一个实施例中,多个输出文件包含以不同容器(container)格式(例如,3GP、MP4、MPEG-TS、WMV、MOV等)封装(encapsulate)的相同的被转码的内容。在一个实施例中,所准备的输出文件被分段成固定持续时间的段文件(例如,MPEG-TS段、
片段的MP4段、3GP DASH段等)。在一个实施例中,分段的和未分段的输出文件都使用标准的加密协议(例如,AES-128、HC-128、RC4等)被加密。在一个实施例中,所有准备步骤由单个内容打包服务器(本文称为打包器)实行。
[0013] 在另一个实施例中,各个准备步骤(例如,转码、分段、加密等)可以跨不同物理内容打包服务器来实行。在一个实施例中,WFM 102和打包器104存在于相同的物理服务器中。在另一个实施例中,WFM 102和打包器104存在于相同
数据中心中的不同物理服务器中。在另一个实施例中,WFM 102和打包器104存在于远程数据中心中的不同物理服务器中。
[0014] 将领会,本文所使用的术语“服务器”指通用目的或者专用目的计算机,一般地包括
存储器、输入/输出
电路以及指令处理逻辑,连同将那些组件连接在一起的互连(诸如一个或更多高速
数据总线)。所公开技术的许多方面能够体现为在一个或更多服务器计算机上执行的软件。类似地,本文的“客户端”是计算机化的装置(还包括以上组件),其能够从网络连接接收内容以及在显示器或者类似的输出装置上解码和呈现内容。所谓的智能电话特定地被包括在如本文使用的客户端的定义内。
[0015] 在一个实施例中,打包器104产生具有固定大小GOP的段。在另一个实施例中,打包器104产生具有可变化大小GOP的段。一旦段完成,打包器104上传段至内容传送网络(CDN)108。
[0016] 客户端装置110经由代理109发出回放请求至WFM 102。WFM 102以关于内容的信息进行响应,所述信息包括CDN 108中的内容位置以及内容编码(例如,不同的位速率、不同的格式等)。该信息在清单文件中被提供。客户端装置110使用清单文件中的信息来发出对于来自CDN 108的段的请求以用于回放。如以下更多描述的,代理109能够选择地操纵返回的清单文件的内容从而导致当被批准时客户端装置110
修改回放的方式或者甚至完全停止回放。代理109的该操作基于权利信息的集,本文称为“权限”。
[0017] 客户端装置110一般是具有回放能力(包括加密内容文件的解密)的计算机化装置,包括例如个人计算机、平板计算机、智能电话等。用于解密所加密内容文件的解密密钥由后端提供给客户端装置110。在操作中,客户端装置110对后端而认证自身以及提供信息建立其播放标识的加密内容(例如,具体的视频)的授权。后端通过提供一个或更多解密密钥来响应,使得客户端装置110能够解密视频的内容文件。客户端装置110从内容服务器(例如,在CDN 108中)获得加密的内容文件,使用解密密钥解密它们,以及然后呈现(播放)所解密的内容。
[0018] WFM 102、打包器104、权利服务器105和CMS 106是“后端”设施以及可以使用一个或者更多服务器计算机来实现,所述服务器计算机可以以某一方式共处(例如,在数据中心中)或者分布于多个位置。在操作中,来自内容发行者的内容可以被摄取以及然后被分段以用于至客户端装置110的基于段的传送。WFM 102的媒体准备引擎从权利服务器105(其可以包括或者被附连至后端的分开的管理(DRM)服务器)获得内容加密/解密密钥,以及使用所述密钥来加密内容以用于以加密形式的存储和以后的传送。后端可以采用权利服务器105作为对于DRM相关的操作以及通信的焦点,在该情形下,分开的DRM服务器可以被更加特定地定制(tailor)以用于加密密钥生成、存储和检索(使用适当的网络协议)。
[0019] 图2是计算机化装置的一般化描绘,所述装置诸如可以被用于实现客户端装置110以及后端的服务器。它包括一个或者更多处理器120、存储器122、本地储存器(在图2中示为储存器124)和输入/输出(I/O)
接口电路126,它们通过一个或者更多数据总线128而耦合在一起。I/O接口电路126将装置耦合至一个或者更多外部网络(诸如网络112)、另外的存储装置或者系统以及其它的输入/输出装置(如在本领域中公知的)。如本文所描述的计算机化装置的系统等级功能性由硬件执行
计算机程序指令(软件)来提供,所述指令通常存储在存储器122中以及由处理器120检索和执行。
软件组件实行功能的本文的任何描述要被理解为当执行软件组件的指令时对计算机或者计算机化装置的操作的速记引用(shorthand reference)。此外,图2中的组件的集可以被称为“处理电路”,以及当执行给定的软件组件时可以被视为功能专用化的电路,例如当执行软件组件实现内容播放器功能时被视为“播放器电路”。如以下所描述的,客户端装置110包括更专用化的硬件组织以用于安全的目的。
[0020] 在一个实施例中,客户端装置110具有专用化的组织,使其自己适合于敏感的应用,包括媒体传送和回放的DRM方面。具体地说,客户端装置110可以在安全
执行环境和通常的或者不安全的环境之间划分电路和功能性。可以被划分的硬件组件包括不安全环境中的应用处理器以及安全环境中的分开的安全处理器。不安全环境中的操作软件可以包括
操作系统(O/S)以及内容播放器应用(称为“app”)。在一个实施例中,操作系统是用于移动装置的Android 操作系统。安全环境中的组件负责通过后端建立信任的根(root)以使得客户端装置110能够获得解密密钥以用于解密内容。安全环境包括安全
内核以及安全存储器。客户端装置还包括媒体客户端,其发送请求至后端以注册装置110,获得权利对象以用于媒体对象的回放,以及实行能够实现解密和播放媒体对象的其它功能。媒体客户端可以具有相应地在安全和不安全的环境之间被划分的分开的安全和不安全部分。
[0021] 在一个实施例中,客户端装置110的安全环境可以采用所谓的信任地域(TrustZone)家族的组件,包括根据ARM构架实现的安全处理器,以及专
门被定制以用于安全相关使用的安全内核以及安全存储器。建立信任的根可以是部分地基于由安全处理硬件提供的安全特征,所述硬件嵌入在用于设立客户端装置110(例如,
移动电话手机(handset))的
电路板中。
芯片组制造者提供硬件,以及装置制造者(OEM)加载某个
固件(代码),诸如以下更多描述的。
[0022] 图3示出从软件观点的客户端装置110的组织,其也反应了以上所描述的安全和不安全环境之间的划分。其包括媒体播放器130、媒体客户端132、操作系统(OS)内核134和安全固件136。媒体客户端132具有至后端(即,经由代理109的WFM 102、权利服务器105和CDN 108)的功能连接138。在操作中,媒体播放器130在客户端装置110的适合设施(诸如显示器)上呈现媒体(诸如视频)。媒体播放器130还包括图形用户接口,使得用户能够控制媒体的选择和回放,如本领域中公知的。媒体客户端132实行与下载媒体以用于回放(呈现)相关的各种功能,包括装置注册的整体控制、加密密钥的传送以及从CDN 108下载媒体(内容)。
[0023] 图4是用于实施权限以用于在客户端装置110的媒体回放的代理109的操作的高等级流程描述。
[0024] 在140,在流传送操作期间,代理109安全地接收和存储权限信息,所述权限信息描述客户端装置110上呈现媒体项目的
许可和限制。权限信息从权利服务器被接收以及安全地被存储在代理以防止存储的权限信息的未授权改变。
[0025] 在142,代理109提供清单文件检索路径,通过该路径,流传送媒体播放器130从远程服务器(例如,WFM 102)检索未改变的清单文件以便用于媒体项目的赋权回放中。
[0026] 在144,代理109应用存储的权限信息来标识对于权限的实施条件和对应的实施结果,实施条件至少部分地基于客户端装置的感应的操作上下文,实施结果从缺乏实施条件时许可的回放修改回放的方式。作为示例,实施条件可以是客户端装置110正在通过WiFi连接(例如,与蜂窝链路相对)下载内容,以及实施结果是正常回放被许可(例如,与不可获得或者以某一方式被修改所相对)。以下给出了权限的若干示例。
[0027] 在146,在实施条件发生时,代理109提供改变的清单文件至流传送媒体播放器以在流传送媒体播放器的操作中引起实施结果。
[0028] 3. 特定的权限实施操作
[0029] 一般,权限实施包括在服务器(例如,WFM 102)配置广泛多种权限;对于给定的客户端请求确定可应用的权限的组合;安全地发送权限至请求客户端;在运行时间在多个客户端装置上安全地处置权限信息;在多个客户端装置上安全地存储权限信息以用于离线使用;以及在多个客户端装置上实施权限。
[0030] 以下是权限实施操作的某些特定方面的概要总结。
[0031] 1. 由权限保护的内容可以是音频/视频内容。
[0032] a. 内容可以通过按内容资产加密密钥来被加密
[0033] 2. 可以被配置的权限包括:客户端被允许开始观看内容项目所在的时间;内容项目的权利到期所在的时间;内容项目可以被观看的次数的数量;客户端是否被允许通过3G网络、4G网络或者WiFi网络观看内容;内容项目是否可以在一类装置上被观看,例如,桌面型计算机、移动电话、平板、机顶盒、Google眼镜;内容是否可以被流传送或者下载以用于离线观看;内容是否在越狱装置上可观看;用户是否被允许倒回、暂停或者快进内容;最小的和最大的位速率限制;在下载以用于离线使用的情形下最大文件大小;允许的广告的最大数量;
家长控制分级;地理区域的说明,在所述地理区域内客户端可以消费内容;线性频道内的中断段,连同代替原始内容的客户端必须显示的备选图像或者流(抱歉流(sorry stream));是否允许客户端输出内容至外部连接的装置,例如,经由HDMI输出、Apple的AirPlay或者Miracast;是否允许会话转移(即,在装置之间分享
书签);内容项目内的开始和结束位置,划定客户端被允许观看的片段(例如,用于预览);
[0034] 3. 权限可以被配置用于给定的内容所有者以及:一组用户;单独的用户;一组内容项目;具体的内容项目;具体的一类装置;由具体用户使用中的具体装置;或者其任何组合。
[0035] a. 实施可以包括,响应于来自客户端对于给定内容资产的回放授权或者再授权的请求,确定可应用于具体内容所有者、用户和装置的权限集合。
[0036] i. 如果客户端未被授权回放,则可以通过否定或者错误消息来响应于请求。
[0037] ii. 服务器可以使用独特的会话加密密钥来加密有关的权限信息并且传递加密的权限至请求客户端,使得仅仅请求客户端能够解密那个权限信息。
[0038] 1. 客户端特定加密的权限信息可以还包括对于被请求用于回放的内容资产的内容解密密钥。
[0039] 4. 用户可下载的和可安装的或者工厂预安装的客户端应用可以包含媒体客户端和数字权利管理(DRM)代理器,这两者特定地对于每个客户端平台来被发展和加固以防止逆向工程。
[0040] a. 媒体客户端可以从服务器接收加密的权限信息以及在运行时间安全地处置它。
[0041] b. 媒体客户端可以存储加密的权限信息至它的本地的装置特定的持久存储区域,其在按内容所有者、按内容资产以及按用户
基础上被分隔。
[0042] c. 原生(native)媒体播放器可以用于内容资产的呈现。
[0043] i. 先于内容观看的开始以及在内容观看期间,媒体客户端可以使用和提供
包装(wrapper)给平台特定的应用编程接口(API)以实施权限(例如,开始以及停止回放或者防止回放和跳转(seek)操作)。
[0044] d. 第三方媒体播放器可以与客户端应用一起使用以用于内容资产的呈现。
[0045] i. 先于内容观看的开始以及在内容观看期间,媒体客户端可以使用和提供包装给第三方播放器特定的应用编程接口(API)以实施权限(例如,开始以及停止回放或者防止回放和跳转操作)。
[0046] e. 内容可以经由HTTP自适应流传送协议来被传送至媒体播放器,所述协议例如是,HTTP实况流传送(HLS)、HTTP上的动态自适应流传送(DASH)、平滑流传送(SS)或者HTTP动态流传送(HDS)。
[0047] i. 媒体客户端可以构造多个清单文件,例如,HLS m3u8、DASH MPD或者SS/HDS清单,以及将来自内部HTTP代理服务器的清单文件服务于原生或者第三方媒体播放器。
[0048] 1. 如果内容观看必须被停止,则HTTP代理服务器可以通过HTTP错误代码(诸如403“未授权的”)响应于播放器。
[0049] 2. HTTP代理服务器可以将流结束指示符(例如,m3u8 #EXT-X-ENDLIST标签)插入至清单文件中以及忽略另外的内容URI来对播放器指示何时观看必须被停止。
[0050] f. HTTP代理服务器可以将清单文件中的内容段替换为备选的段URI,其包含备选的内容(例如,对于具体条件的错误消息,或者对于基于地理位置的中断的替代内容),以防止原始内容被观看。
[0051] 客户端应用可以是用户可升级的,使得客户端能够使用对于增加到服务器的新权限以及其它更新的支持。
[0052] 图5示出备选布置,其中代理109’位于客户端装置110’上而不是如图1中在客户端装置110之外。在该布置中,代理109’使用内部机制(诸如处理间通信)而不是要求用于通过外部网络112进行通信的网络栈(诸如在图1的布置中)来与其它组件(诸如媒体客户端132(图3))通信。
[0053] 虽然本发明的各个实施例已经被具体地示出和描述,但本领域技术人员将理解,在不脱离如随附
权利要求所定义的本发明的精神和范围的情况下,可在其中做出形式和细节中的各种变化。