通过一个分布网络来广播多媒体内容的方法

文档序号:7607023阅读:134来源:国知局
专利名称:通过一个分布网络来广播多媒体内容的方法
技术领域
本发明涉及一种将多媒体内容传输给客户端设备的方法。本发明也涉及专门设计成实现这种传输方法的一种系统、一种内容服务器和一种客户端设备。
本发明对于通过因特网将付费内容传输给客户端设备、特别是对于传输直播内容(直播事件、直播秀(live show)、广播电视节目等)具有令人关注的应用。
背景技术
欧洲专利申请No.1187423描述了传输其内容随时间变化的象音乐或视频之类的按需(on-demand)信息的方法。特别是,它描述了一种所谓的缓冲分发(distribution)方法,该方法是将单独的一段内容分成多个文件并且从第一个文件开始逐个文件地下载该内容。该缓冲分发方法被描述为提供了缩短在开始重放前的等待时间(当第N部分在下载时,第N-1部分可以被播放)的优点。
本发明的目的之一是提出对这样一种分发方法的改进。

发明内容
此目的是利用如权利要求1至3所限定的系统、如权利要求4至7所限定的内容服务器、如权利要求8和9所限定的客户端设备以及如权利要求10所限定的方法实现的。
依照本发明的一种系统包括-一个用于获取多媒体内容的源,-一个用于编码所述多媒体内容的编码器,-一个分割器(slicer),用于将所述编码的多媒体内容切分成至少一组片断(slice),并且用于从所述至少一组片断中提供至少一组文件,所述分割器执行了一个加密算法,使得在没有与之相关的解密密钥的情况下不能使用在文件中至少包含的片断,-一个分布网络,
-一个访问提供设备(provider),用于向客户端设备提供对所述分布网络的访问,-一个内容服务器,其被连接至所述分布网络,并且可以访问所述一组或多组文件,以用于在接收到来自所述客户端设备的请求时通过所述分布网络将至少一个所述文件下载至所述客户端设备,以及-一个密钥服务器,其被连接至所述分布网络,用于向所述客户端设备提供与下载的文件相关的一个或多个解密密钥。
利用本发明,内容被分成一组片断,并为每个片断产生一个文件。所述片断(或文件)在下载之前被加密,这样客户端设备在获得相关的解密密钥之前不能使用该片断(或文件)。因此本发明允许基于逐个片断(或是基于逐个文件)来保护所下载的内容,而不是将所下载的内容作为整体来保护。
对于下面的原因来说这是有利的当下载的内容通过加密被保护时,解密密钥通常在已经完成下载后被提供,以便确保下载成功(因此消除了客户为他最终将未接收到的内容付费的风险),并避免客户在被收费前可以看到所述内容并且断开连接。对片断(或文件)逐个的(或逐组的)保护允许客户端在所有的文件被下载之前解密并因此开始播放所述内容,同时确保客户已经正确地接收了他所付费的内容,并且不能使用他未付费的内容。
利用本发明,客户不必预先为整个内容付费。付费是随着播放的进行而逐步进行的。客户可以开始播放一个内容,并且如果他希望的话,则可以在全部内容被下载之前断开连接。在这种情况下,他将只为他最终接收到的内容付费。
本发明同时维护了内容提供商和客户的利益。
依照本发明,基于文件的内容通过点对点连接从内容服务器下载至客户端设备。在IP网络中,点对点连接通常受HTTP协议(超文本传输协议,其被定义在IETF的RFC2616中)支配。HTTP协议是万维网的基础,并且因此具有为所有的防火墙和网络地址转换器所接受(对于RTP/UDP传输协议不是这种情况)的显著优点。这意味着所传输的内容对于可没有限制地访问万维网的任何客户端设备都将是可访问的。使用下载分发模式的另一优点是它是高度可靠的。
然而,使用在欧洲专利申请No.1187423中所述类型的下载分发模式具有的缺点在于,所有的文件都必须从第一个文件开始进行传输。利用这种下载分发模式,客户不能随意地访问内容。不能实现直播内容(也就是,一个实时可用的内容,象直播事件、直播秀、广播电视节目...)的传输。
在本发明的一个有利实施例中,片断以其可以彼此独立地被解码的方式产生。这意味着客户不需要从其起始处接收该内容。它可以从任何一个片断开始接收该内容。当客户向一个直播内容发送了初始请求时,他将接收到先前的文件(这意味着他将接收稍微过时的信息),或者他必须等待准备好的下一个文件。
利用本发明,在接收到客户端设备的请求时,也有可能只下载一个文件。这对某些应用是有利的,例如允许客户在锦标赛期间快速地浏览结果。
当多个文件将被下载时,这些文件可以被客户端设备逐个地提取(fetch)或者由内容服务器在接收到初始请求时逐个地发送。实际上,不一定所有的客户浏览器都会支持响应于一个单独请求而接收几个文件。因此,通常优选的是由客户端设备逐个地提取这些文件(即为每一个将要下载的文件发送一个提取请求)。客户端设备可以被专门设计以便在适当的时间自动发送提取请求。可选地,该内容服务器能够向客户端设备发送一个文档,所述文档使客户端设备反复地发送提取请求。有利地,所述文档包括一个使客户端设备在先前文件的重放结束之前的一定量的时间发送一个随后的提取请求的指令。这样,确保了下一个文件将足够早地到达客户端设备,并且客户不会感受到在重放过程中的任何间隙。


本发明的这些和其它方面将参考下面的图进一步进行描述-图1是依照本发明的系统的第一实例的图示,-图2是依照本发明的系统的第二实例的图示,-图3是由依照本发明的分割器产生的一组文件的图示,-图4是客户端设备获取与特定文件相关的解密密钥所执行的协议的第一实例,-图5是客户端设备获取与特定文件相关的解密密钥所执行的协议的第二实例,-图6是依照本发明用于下载一个直播多媒体内容的方法的第一实例的框图,-图7是依照本发明用于下载一个直播多媒体内容的方法的第二实例的框图。
具体实施例方式
图1是依照本发明的系统的第一实例的示意图。图1的系统包括-一个用于获取多媒体内容的源1;-一个用于编码所接收的多媒体内容的编码器5;-一个分割器6,用于将编码的多媒体内容切分为一组片断并用于提供一组文件,每个文件包含所述编码的多媒体内容的一个片断,所述分割器执行了一个加密算法,使得在没有与之相关的解密密钥的情况下不能使用在文件中至少包含的片断,-一个内容服务器8,其可访问所述文件,-一个分布网络10,内容服务器8被连接至该分布网络10,-一个访问提供设备12,用于向客户端设备14提供对分布网络10的访问,-一个密钥服务器15,其被连接至分布网络10,用于向客户端设备14提供与下载的文件相关的一个或多个解密密钥。
在图1的系统中,源1、编码器5和分割器6可以在物理上位于一个或几个设备中。
图2是依照本发明的系统的第二实例的图示。除了上面参考图1描述的部件外,图2的系统包括-一个广播系统16,用于广播由源1提供的多媒体内容;以及-一个接收器17,用于接收所广播的多媒体内容,并将接收到的多媒体内容转发至分割器6。
客户端设备14(除了未在图1中表示的其它装置之外还)具有一个用于向访问提供设备12发送/从访问提供设备12接收的通信单元20、一个用于播放编码的多媒体内容的播放器22、以及一个用于显示多媒体内容的显示器24。该客户端设备14可以是一个移动设备(象一部移动电话),这时通信单元20是一个无线电通信单元,或者是一个有线设备(象一台PC),这时通信单元20是一个有线通信单元。分布网络10典型地是因特网。
广播系统16例如是一个卫星广播网络,以及接收机17是一个卫星接收机。这不是限制性的任何其它广播装置都可以代替卫星广播装置而被使用。广播多媒体内容可以是任何被传输并可由包括接收机17在内的许多接收机所接收的多媒体内容。广播多媒体内容例如可以是电视节目、预先录制的事件/节目、直播事件等。编码器5负责编码接收到的多媒体内容。编码器5例如与MPEG标准之一或H263兼容。
编码器5和分割器6可以在一个单独的设备中或者在两个分离的设备中实现。在这两种情况下,从编码器5传送给分割器6的都是编码的视频流。有利的是,该编码的视频流通过使用RTP协议在IP上从编码器5传送至分割器6。这不是限制性的。作为示例,也可以使用称为MPEG-2TS的MPEG-2标准的传输层。
实际上,由分割器6产生的文件被存储在内容服务器8能够访问的存储单元26中。存储单元26由分割器6和内容服务器8共用。该存储单元26可以是内容服务器8的一部分或者可以位于远程。
分割器6具有下面的功能a)它将由编码器5产生的编码的内容切分成多个片断,其中每个片断包括一个给定量时间的编码的多媒体内容。
b)它从每个片断中产生一个文件。
c)它执行一个加密算法,这样使得在没有与其相关的解密密钥的情况下不能使用在文件中至少包含的片断。这可以通过加密该片断或加密该文件来实现。对文件进行加密具有简单的优点。加密该片断更为复杂。然而,它允许在客户侧不必首先解密文件的情况下访问在文件结构中(例如在标题中)包含的文件信息。作为示例,分割器6所使用的加密算法是AES(高级加密标准)。加密是通过使用一个加密密钥实现的。为了实现对编码的实体(片断或文件)的解密需要一个相关的解密密钥。密钥服务器15负责向分割器6传送加密密钥并向客户端设备14传送解密密钥。
分割器6可以为同一多媒体内容产生多组文件。作为示例,当分割器6产生多组文件时,可以使用多组切分位置,每一组切分位置与其它组的切分位置相比在时间上移动。产生多组文件是有利的,因为当客户向一个直播内容发送请求时,这允许降低客户感受到的延迟。
图3是由分割器6通过在切分位置Ti,j(j=1,...,N-1)处切分一个编码的多媒体内容而产生的组Si的文件Fi,j(j=1,.....,N-1)的表示。
在一个有利的实施例中,片断是以其能够彼此独立的被解码的形式产生的。实际上,由多媒体编码器产生的任何编码的多媒体内容都包括所谓的随机访问点(RAP)。为了产生可以独立于其它片断而被解码的片断,分割器6以每个片断从一个随机访问点开始的方式切分该编码的多媒体内容。例如,当编码器与MPEG-2或MPEG-4标准兼容时,该随机访问点是MPEG编码的多媒体内容的I帧,并且切分位置是以每个片断的第一帧是一个I帧的方式进行选择的。
可选地,片断的大小是可调整的。它对于所有的片断可以是相同的,或者它可以从一个片断到另一个片断而不同(例如,片断的大小可以随着时间而增长)。对于相对较长的文件获得了最好的效率,因为传输的文件越多,由文件标题产生的开销就越多。
由分割器6产生的每个文件作为一个文件被存储在存储单元26中。该存储单元26必须是定期“清理的”,以确保有可用于存储新产生的文件的空间。清理该存储单元的一个方法是定期重新使用文件名。一个可选的方法是为每个文件使用不同的文件名,并且定期删除过期的文件。
内容服务器8和密钥服务器15被连接至分布网络10。客户端设备14能够通过访问提供设备12访问分布网络10。典型地,客户端设备14可以通过分布网络10来加载一个包含内容服务器8提供下载的一个编码的多媒体内容的至少一个链接的页面。当用户点击所述链接时,一个指向所述编码的多媒体内容的初始请求R0被自动发送至内容服务器8。存在若干用于内容服务器8来处理该初始请求R0的方法。
在第一实施例中,内容服务器8响应于客户请求而下载一个单独的文件。这一实施方案可用于特定的应用,例如用于向客户提供获取关于一个直播事件的信息的应用。它也可以用于被专门设计成使客户端设备14反复发送初始请求R0的播放器22。
在第二实施例中,一旦文件在服务器侧准备好了,则内容服务器8就逐个地下载这些文件。此实施例具有易于实现的优点。然而,存在一个风险,即某些客户浏览器不支持响应于一个单独请求而接收几个文件。
在第三实施例中,内容服务器8在接收到初始请求R0时向客户端设备14发送一个文档。该文档使客户端设备14反复地发送标明该编码的多媒体内容的提取请求。
作为示例,由内容服务器8发送的该文档可以是一个包括自动刷新命令的页面。在下面给出这样一个页面的实例<html>
<head>
<META meta http-equiv=″Refresh″content=″134″;url=′http//www.yoursite.com/live2download.html</head>
<embed src=″live2download.mp4″width=″240″height=″240″>
</embed>
</html>
这样一个页面使客户浏览器每134秒(这是在本例中一个文件的持续时间)就重新加载文件“liye2download.mp4”。
可选地,由内容服务器8发送的该文档可以是一个多媒体内容的标准描述,所述标准描述打算由播放器22以标准的方式进行处理。这样一个描述例如可以是一个SMIL(SMIL是一个定义基于XML的音频/视频场景描述的W3C标准)描述。在下面给出一个这样的SMIL描述的实例<smil>
<head>
<layout>
<root-layout width=″240″height=″240″background-color=″white″/>
<region regionName=″im″left=″0″top=″0″width=″240″height=″240″/>
</layout>
</head>
<body>
<seq repeatCount=″indefinite″>
<video id=″vid″src=″live2download.mp4″region=″im″/>
</seq>
</body>
</smil>
该SMIL文档的效果是使得播放器17反复地播放文件“live2download.mp4”。结果,客户端设备将反复地发送指向“live2download.mp4”的提取请求。
有利的是,由内容服务器8发送的该SMIL文档包括一个表明该文件必须提前一段时间(也就是,在先前文件的播放结束之前的一段时间)被提取的命令。这确保下一个文件将按时到达客户端设备14,所以客户不会在播放多媒体内容的过程中感受到间隙。在下面给出一个具有这样一个命令的SMIL描述的实例<smil>
<head>
<layout>
<root-layout width=″240″height=″240″background-color=″white″/>
<region regionName=″im″left=″0″top=″0″width=″240″height=″240″/>
</layout>
</head>
<body>
<seq repeatCount=″indefinite″>
<video id=″vid″src=″live2download1.mp4″region=″im″ clipBegin=″0s″dur=″25s″/>
<par>
<prefetch src=″live2download2.mp4″mediaTime=″5s″/>
<video id=″vid″src=″live2download1.mp4″region=″im″clipBegin=″25s″/>
</par>
<video id=″vid″src=″live2download2.mp4″region=″im″clipBegin=″0s″dur=″25s″/>
<par>
<prefetch src=″live2download1.mp4″mediaTime=″5s″>
<video id=″vid″src=″live2download2.mp4″region=″im″clipBegin=″25s″/>
</par>
</seq>
</body>
</smil>
该文档是为一个包含30秒内容的片断而写的。它使得播放器17依次执行下面的操作a)播放第一源(live2download1.mp4)的头25秒;b)播放第一源的最后5秒,并且并行地提取第二源(live2download2.mp4)的头5秒;c)播放第二源的头25秒(因为头5秒已经被预提取,所以这可以无延迟地完成);使用两个不同的源是一个执行技巧。内容服务器8必须被设计成可以识别出第一和第二源对应于同一个编码的多媒体内容。
当要被下载的内容是一个直播内容时,服务器必须在接收到初始请求R0或者在接收到提取请求时选择下载哪一个文件。内容服务器8可以选择最近的文件或者准备好的第一个文件。选择最近的文件的结果是客户将接收到过时的数据。选择准备好的第一个文件的结果是客户在得到响应前必须等待一定的时间。在图2中,箭头A表示由内容服务器8接收到初始请求R0。如果下载的文件是文件Fi,1,则客户不会感受到延迟;然而他将接收到的数据将有一个等于ai,1时间的滞后。如果下载的文件是文件Fi,2,则客户不会接收到过时的数据;然而,他将感受到一个等于bi,2的延迟。
当实现了文件的下载时,客户端设备14必须获得相关的解密密钥以便能够播放该文件的内容。现在将参考图4和图5分别描述获得此解密密钥的两种方法。
在图4中,客户端设备14向内容服务器8发送一个表明下载成功完成的确认30。在接收到确认30时,内容服务器8向密钥服务器15发送一个通知32。在接收到通知32时,密钥服务器15向客户端设备14发送一个包含合适的解密密钥的消息34。
在图5中,客户端设备14向内容服务器8发送一个表明下载成功完成的确认40,并向密钥服务器15发送一个请求42。在接收到确认40时,内容服务器8向密钥服务器15发送一个通知43。在接收到通知43和请求42时,密钥服务器15向客户端设备14发送一个包含合适的解密密钥的消息44。
通过分布网络10的传输受HTTP协议的支配。
现在将参考图6描述一个依照本发明传送多媒体内容M到客户端设备14的方法的第一实例。它包括-步骤X1,其从多媒体内容M中产生编码的多媒体内容E(M),-步骤X2,其将编码的多媒体内容E(M)切分成一组片断Si,-步骤X3,其利用加密密钥KXi通过应用加密算法X来加密片断Si(或是一组片断),因此提供加密的片断X(Si,KXi),-步骤X4,其提供一组文件Fi,其中每个文件Fi包含一个加密的片断X(Si,KXi),-步骤X5,其在从客户端设备14中接收到指向多媒体内容M的初始请求R0时将至少一个所述文件Fi通过分布网络10下载至客户端设备14。
现在将参考图6描述一个依照本发明传送多媒体内容M到客户端设备14的方法的第二实例。其包括-步骤X10,其从多媒体内容M中产生编码的多媒体内容E(M),-步骤X20,其将编码的多媒体内容E(M)切分成一组片断Si,-步骤X25,其提供一组文件Fi,其中每个文件Fi包含一个片断Si,-步骤X30,其利用加密密钥KXi通过应用加密算法X来加密一个文件Fi(或者一组文件),因此提供加密的文件X(Fi,KXi),-步骤X50,其在从客户端设备14接收到指向多媒体内容M的初始请求R0时将至少一个所述文件X(Fi,KXi)通过分布网络10下载至客户端设备14。
这些步骤通过在一个或几个设备中包含的专用硬件和/或软件来实现。例如,步骤X1和X10由编码器5实现,步骤X2、X3、X4和X20、X25、X30由分割器6实现,以及步骤X5和X50由内容服务器8实现。
对于所描述的网络、服务器、系统、分割器、客户端设备和下载方法,可以在不脱离本发明的范围的情况下提出修改或改进。本发明因此不限于所提供的实例。
可以使用不同于HTTP的文件传输协议(例如FTP)。
内容服务器和密钥服务器可以是同样的物理实体。加密可以被应用于片断或文件。加密密钥和相关的解密密钥可以是不同或相同的,这取决于所使用的加密算法。
在说明书和权利要求书中所使用的动词“包括”及其动词变化不排除不同于在说明书和权利要求书中陈述的那些的元件或步骤的存在。
用于表示一个元件或步骤所使用的冠词“一”或“一个”不排除存在多个这样的元件或步骤。
权利要求
1.一种系统,至少包括-一个用于获取多媒体内容的源(1);-一个用于编码所述多媒体内容的编码器(5);-一个分割器(6),用于将所述编码的多媒体内容切分成至少一组片断,并且用于从所述至少一组片断中提供至少一组文件,所述分割器执行了一个加密算法,使得在没有与之相关的解密密钥的情况下不能使用在文件中至少包含的片断,-一个分布网络(10),-一个访问提供设备(12),用于向客户端设备(14)提供对所述分布网络的访问,-一个内容服务器(8),其被连接至所述分布网络并且可以访问所述一组或多组文件,以用于在接收到所述客户端设备的请求时通过所述分布网络将至少一个所述文件下载至所述客户端设备,以及-一个密钥服务器,其被连接至所述分布网络,用于向所述客户端设备提供与下载的文件相关的一个或多个解密密钥。
2.如权利要求1所述的系统,其中解密密钥在与其相关的一个或多个文件被成功下载时被提供给客户端设备。
3.如权利要求1所述的系统,其中片断是以其能够彼此独立地被解码的方式产生的。
4.一种内容服务器(8),其可以访问至少一组文件(Si),所述文件是通过将编码的多媒体内容切分成至少一组片断并且通过执行一个加密算法来从所述至少一组片断中提供至少一组文件(Fi,j)而产生的,这样使得在没有与之相关的解密密钥的情况下不能使用在文件中至少包含的片断,所述内容服务器具有在接收到来自客户端设备(14)的请求时将至少一个所述文件下载至所述客户端设备的装置。
5.如权利要求4所述的内容服务器,其中所述文件来源于能够彼此独立地被解码的片断。
6.如权利要求4所述的内容服务器,具有在向所述客户端设备成功下载文件时向密钥服务器发送通知的装置,这样使得所述密钥服务器向所述客户端设备提供与所述文件相关的解密密钥。
7.如权利要求4所述的内容服务器,其中所述下载装置包括-用于在接收到所述请求时向所述客户端设备发送文档的装置,所述文档使得所述客户端设备反复地发送指示所述编码的多媒体内容的提取请求,-用于在从所述客户端设备接收到所述提取请求时在所述一组或多组文件中选择哪一个文件将被下载的装置,-用于下载选定的文件的装置。
8.一种客户端设备,包括-用于连接至内容服务器的装置,所述内容服务器可以访问至少一组文件(Si),所述文件是通过将编码的多媒体内容切分成至少一组片断并且通过执行一个加密算法而产生的,每个文件包含一个片断,这样使得在没有与之相关的解密密钥的情况下不能使用在文件中至少包含的片断,所述内容服务器提供基于逐个文件地下载至少一部分所述编码的多媒体内容,-用于反复地向所述内容服务器发送指向所述编码的多媒体内容的请求的装置,-用于响应于每个请求而接收所述文件之一的装置,-用于获取与每个文件相关的解密密钥的装置,-用于解密并播放所述文件的装置。
9.如权利要求8所述的客户端设备,进一步包括用于在当前文件的重放结束之前发送一个随后的请求的装置。
10.一种将编码的多媒体内容传送至客户端设备的方法,所述方法包括以下步骤-编码一个多媒体内容,-将所述编码的多媒体内容切分成至少一组片断,并且从所述至少一组片断中提供至少一组文件,所述切分步骤包括一个加密步骤,这样使得在没有与之相关的解密密钥的情况下不能使用在文件中至少包含的片断,-在接收到来自所述客户端设备的请求时通过所述分布网络将至少一个所述文件下载至所述客户端设备。
全文摘要
本发明提出将通过网络传送的内容分成一组片断并且从这组片断中产生一组文件。所述片断(或所述文件)在下载前被加密,这样客户在获得相关的解密密钥之前无法使用所述片断(或所述文件)。因此本发明允许基于逐个片断(或是基于逐个文件)地保护所下载的内容,而不是将所下载的内容作为整体来保护。在服务器和客户端之间的传输(在下载模式中)受为所有的防火墙和NAT所接受的HTTP协议支配。因此,所传输的内容对于可以没有限制地访问万维网的任何客户端设备都是可访问的。有利的是,片断可以彼此独立地被解码。
文档编号H04N7/173GK1817040SQ200480019179
公开日2006年8月9日 申请日期2004年6月23日 优先权日2003年7月4日
发明者P·让特里克 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1