通过终端访问受保护的多媒体内容的方法与流程

文档序号:11162310阅读:500来源:国知局
通过终端访问受保护的多媒体内容的方法与制造工艺

所述方法能够在任意在线提供受保护的多媒体内容的系统中、在从任意在线提供受保护的多媒体内容的服务获得受保护的多媒体内容之后执行,在所述系统中头端确保对内容的保护以及将其传输到多个终端。

然后由系统用户使用终端访问受保护的内容,以便对其进行播放。访问受保护的多媒体内容在此是指:

-将其加载到存储器中,然后

-在受保护的多媒体内容被接收时逐渐地或在受保护的多媒体内容预先已经存储在其上的存储介质上解除对受保护的多媒体内容的保护,然后

-对其进行解码,然后

-将受保护的多媒体内容传输到能够对其进行播放、存储或者进行由提供受保护的多媒体内容的服务提供的任意其他使用的多媒体设备。

在此,“逐渐地解除保护”指的是在无需等待完整的多媒体内容、即其片段的全部都已经被完全且完整地接收的情况下,在多媒体内容的片段被接收时就逐渐地对其进行处理的事实。

为此,该终端包括解扰器、解码器和由解扰器、解码器共享的存储器。

所提供的内容为:

-视听内容,例如电视节目,

-只有音频的内容,例如广播节目,或

-更普遍地,包含视频和/或音频的任意数字内容,诸如计算机应用、游戏、幻灯片、图片或任意数据集。

下文中将更具体地考虑这些内容中的所谓时间内容。时间多媒体内容为在音频时间内容的情况下以声音的时序、在视频时间内容的情况下以图片的时序或者在视听时间多媒体内容的情况下以彼此时间上同步的声音和图片的时序播放的多媒体内容。时间多媒体内容还能够包括与声音或图片在时间上同步的交互时间分量。

为了进行提供,这样的内容首先被编码,也就是说被压缩,使得其传输需要更少的带宽。

为此,内容的视频分量是根据视频格式、例如MPEG-2来编码的。有兴趣的读者可以在由国际标准化组织发布的标准号为ISO/IEC13818-2:2013、标题为“Technologies de l’information–Codage générique des images animées et du son associé–Partie 2:Donnée vidéo”的文档中找到该格式的完整陈述。可替代地,诸如MPEG-4ASP、MPEG-4第2部分、MPEG-4AVC(或第10部分)、HEVC(高效视频编码)、或WMV(Windows媒体视频)的许多其他格式也能够被使用,并基于相同的原理。由此,以下内容的全部同样适用于这些所基于的原理与MPEG-2编码所基于的原理相同的其他视频格式。

MPEG-2编码使用通用数据压缩方法。对于固定的图片,其尤其利用图片内的空间冗余、相邻点之间的相关性和眼睛对细节的较小灵敏度。对于运动的图片,它利用了连续图片之间的强时间冗余。对该强时间冗余的利用允许参考其他图片(在此称为源图片),例如通过预测或内插来对内容的某些图片(在此称为导出图片)进行编码,使得仅在所述源图片解码之后才能够对导出图片进行解码。其他图片(在此称为初始图片)不参考这样的源图片来编码,也就是说,它们在被编码时,其每个都含有对于其解码所需的全部信息,因此它们能够独立于其他图片被完全解码。因此在访问内容时,初始图片是必须的进入点。因此,所产生的被编码的内容不包括独立于其他图片对图片的每个进行解码所需的数据,而是由根据MPEG-2术语的“序列”组成。一个序列实现至少一个“图片组”(或MPEG-2中的Group of Pictures,缩写为GOP)的压缩。

图片组是一系列连续图片,其中每个图片都:

-要么是包含在同系列的连续图片中的至少一个导出图片的源图片并且是初始图片,

-要么是导出图片并且使得对于其解码所需的源图片的每个都属于同一系列的连续图片。

图片组不包含具有与上述属性相同的属性的任何较小系列的连续图片。因此,图片组是内容的在不必事先解码此内容的另一部分的情况下能够被访问的最小部分。

序列由“头”和“尾”限定,其每个都由第一个特定代码来标识。头包括表征被解码的图片的预期属性的参数,例如水平和垂直尺寸、比率、频率。标准建议在序列的图片组之间通过头在编码内容中的连续出现以大约几秒间隔开的方式来使头重复。

例如,图片组常常包括多于5到10个图片并且通常少于12或20或50个图片。例如,在每秒25个图片的系统中,图片组通常具有长于0.1或者0.4秒并且通常短于0.5或者1或者10秒的播放时间。

时间多媒体内容能够包括数个视频分量。在这种情况下,这些分量中的每个都被如上所述地编码。

此外,内容的音频分量是根据音频格式、例如MPEG-2音频来编码的。有兴趣的读者可以在由国际标准化组织发布的标准号为ISO/IEC13818-3:1998、标题为“Technologies de l’information–Codage générique des images animées et des inforamtions sonores associées–Partie 3:Son”的文档中找到该格式的完整陈述。可替代地,诸如以名称MP3更为人所知的MPEG-1层III、AAC(高级音频编码)、Vorbis或WMA(Windows媒体音频)的许多其他格式也能够被使用,并且基于相同的原理。由此,以下内容的全部同样适用于这些所基于的原理与MPEG-2音频编码所基于的原理相同的其他音频格式。

MPEG-2音频编码遵循与上述时间视频内容的原理相同的原理。因此,所产生的被编码的内容以相似的方式由“帧”组成。帧是视频中的图片组在音频中的对应。因此,帧特别地是音频内容的在不必解码此音频内容的另一部分的情况下能够被访问的最小部分。帧还包括对其解码有用的全部信息。

帧通常包括其每个都对声音进行编码的多于100或200个样本并且通常少于2000或5000个样本。通常,当多媒体设备播放帧时,一帧持续超过10ms或20ms并且通常小于80ms或100ms。例如,一个帧包括每个都对声音进行编码的384或1152个样本。根据信号取样频率,该帧具有8到12或者24到36毫秒的播放时长。

时间多媒体内容能够包括数个音频分量。在这种情况下,这些分量中的每个都如上所述地被编码。

内容的被编码的分量(也称为基本的数据流)然后被多路复用,即特别地时间上同步,然后组合成单个数据流。

这样的内容,特别是在其是权利(例如版权或类似权利)的对象时,由多媒体内容保护系统来提供保护。该系统允许确保遵守从这些权利中产生的对内容进行访问的条件。

然后通常通过数字版权管理、即DRM(英文Digital Rights Management的缩写)系统来提供对其的加密保护。该加密通常借助加密密钥通过对称算法来实现。这适用于由多路复用所产生的流,或者在多路复用之前用于被编码的内容的分量。

DRM系统实际上是一种多媒体内容保护系统。因此在本文档的下文中使用数字版权管理系统领域的术语。有兴趣的读者可以例如在以下文献中找到更全面的描述:DRM Architecture,草案第2.0版,OMA-DRM-ARCH-V2_0-20040518-D,Open Mobile Alliance,2004年5月18日。

在这样的数字版权管理系统中,许可证的获得使得终端能够访问受保护的多媒体内容。

这样的许可证(其具有众所周知的结构)包括对于解密受对称加密算法保护的多媒体内容所需的至少一个所谓的内容密钥。

内容密钥通常以通过利用加密密钥对内容密钥进行加密而获得的密码的形式插入到许可证中,所述加密密钥称为“终端”密钥并且是终端所特有或者该终端知悉的。

为了访问内容,终端通过借助其终端密钥对其密码进行解密而从许可证提取内容密钥。

接下来,终端的解扰器借助由此从许可证中提取的内容密钥对内容进行解扰、即解密,从而解除保护。解扰器因此生成未加扰多媒体内容,其包括视频序列或者图片组或者音频帧的至少一个时间序列。该多媒体内容能够由连接到终端的多媒体设备来播放。在此,“未加扰”指的是以下事实:多媒体内容不再需要被解密就能够由多媒体设备以人类可直接感知并且理解的方式播放。术语“多媒体设备”还指能够播放未加扰多媒体内容的任意设备,例如电视机或者多媒体播放器。

然后,解扰器接着将未加扰内容传输到共享存储器。

接着,终端的解码器读取共享存储器中的未加扰内容并且对其解码。

最后,终端将被如此解码的内容传输到多媒体设备。

更具体地,在时间多媒体内容的情况下,该内容的如上所述的接收、处理、然后由终端传输到多媒体设备是逐个片段地实现的。片段是未加扰多媒体流与整个多媒体流相比具有较短播放时长的受限部分。因此,片段包括未加扰多媒体流的每个视频和音频分量的受限部分、其与整个多媒体流相比具有较短的播放时长。这些分量的受限部分在流中同步以同时播放。片段因此包括视频序列或者图片组或者音频帧的时间序列的受限部分,其实现对未加扰多媒体流的分量的该受限部分的编码。该受限部分通常包括多个连续的音频帧或视频序列或图像组。

在上述通过终端访问内容的方式中,被解扰的内容由终端的解扰器传输到终端的共享存储器中,以便在其中由其解码器来读取。因此,未加扰内容至少在其被解扰器存放在存储器中的时刻和其被解码器读取的时刻之间存在于该存储器中。因此,在这样的开放环境中,容易读取其中的被解扰的内容并从而获得对内容的非法访问。因此,在内容存在于共享存储器中期间需要对内容进行额外的保护。

对这个问题的加密解决方案是已知的,其基于由解扰器和解码器共享密钥。在这些解决方案中,解扰器在将经解扰内容传输到共享存储器之前对所述内容进行加密。然后,解码器读取共享存储器中的如此加密的内容,然后对其进行解密,并且在其可能被存储在终端的存储器中之前对其进行解码,并且将其传输到能够播放该内容的多媒体设备。这些加密解决方案是安全的,但具有复杂且需要大量信息资源来成功地进行所涉及的加密计算的缺点。

其他具有该缺点的解决方案是已知的,例如将内容转换成其他内容格式。

实施安全机制(例如通过终端的DRM模块对未加扰内容的目标应用程序进行验证)的解决方案也是已知的。这些解决方案具有该实施在开放环境(例如终端)中不安全的缺点。

专利EP2268020保护改变经解扰内容的位元的替代解决方案。该解决方案被描述为需要在对于其实施所需的计算资源和其安全性之间实现折中。因此,要在所需的计算资源方面提供显著的节省,该解决方案就必须伴随着安全性方面的显著损失。

本发明旨在提供与申请EP2268020相比更安全并且在计算时间方面至少同样经济的替代解决方案。

从US6747580B1还已知现有技术。

因此,本发明的主题是如权利要求1所要求保护的用于访问受保护的多媒体内容的方法。

在上述方法中,在步骤c)中将M个原始位的位串替换为N个替代位的位串允许通过使密码分析的尝试更加困难而增加所述方法的安全性,其中N严格大于M。实际上,不知道N的话,终端的共享存储器的观察者就不会事先知道如何界定被修改的片段。此外,即使观察者能够界定被修改的片段,这也不会给其提供关于M的值的任何信息,使得很难从被修改的片段重构出未加扰片段。特别地,要注意,在加密方法中,被加密的数据通常具有与未加扰数据的尺寸相同的尺寸,在本情况下并非如此。

此外,由于N大于M,所以N个替代位的位串的可能值的数量远大于M个原始位的可能值的数量。这使得任何密码分析的尝试都更加困难。而且,这允许通过利用例如已经或者之前没有用于替换同一个M个原始位的位串的几个不同的N个替代位的位串来改变所述用N个替代位的位串对M个原始位的位串的替换。

用于访问受保护的多媒体内容的该方法的实施方式能够包括从属权利要求的特征。

用于访问受保护的多媒体内容的该方法的这些实施例还提供以下优点:

·第一查找表的使用允许执行在第一表中选择N个替代位的位串而不是根据M个原始位的位串的值对其进行计算。这通过使对该方法的密码分析更加难以进行,更具体地通过确保在实施所述方法期间就这些原始和替代位的值的方面对系统的外部观察(例如对计算时间或者电能消耗的外部观察)不会给出关于为了获得被修改的片段而执行的位替代的性质的任何信息,从而在安全性方面提供另外的优点。而且,执行第一查找表中的输入输出操作而不是计算操作还具有显著减少计算时间的优点。

·第二查找表的使用允许在选择之前在第二表中搜索N个替代位的位串,而不是在第一表中搜索与被修改的片段的N个替代位的位串关联的M个原始位的位串。这具有降低所执行的搜索的复杂度以及由此减少计算时间的优点。

·根据具有给定指数(indices donnés)的M位的值的顺序对第二查找表的行排序允许使用这些M位作为第二查找表的索引,以在第二查找表中直接选择出与被修改的片段的N个替代位的位串相关联的M个原始位的位串。同上地,执行第二查找表中的输入输出操作而不是搜索操作具有显著减少计算时间的优点。

·几个不同的第一查找表的使用允许通过使对所述方法的密码分析更加困难而提高所述方法的安全性。更具体地,这允许改变为了产生被修改的片段并且重构未加扰的片段而执行的位替代。

·通过M的值或者通过N的值而彼此不同的第一查找表的使用允许通过使对所述方法的密码分析更加困难而提高所述方法的安全性。更具体地,这允许改变原始位的位串或者替代位的位串的长度。

·数的随机或者伪随机抽取允许通过使对所述方法的密码分析更加困难而提高所述方法的安全性。更具体地,这允许随机改变为了产生被修改的片段并且重构未加扰片段而执行的位替代的序列。

·将不同的第一查找表的个数或者随机或伪随机抽取的数的字节数取为等于2的严格正的幂允许减少计算时间。更具体地,这简化了步骤c)中的选择以及步骤f)中的确定,在该选择和该确定中涉及以这些数为模的除法。实际上,如果这些数是2的幂,那么这些除法就相当于位的移位。

本发明的另一主题是一种信息存储介质,其包括指令,这些指令用于在由电子计算机执行时实施上述用于访问受保护的多媒体内容的方法。

本发明的另一主题是一种终端,其包括用于实施上述用于访问受保护的多媒体内容的解扰器、解码器和共享存储器。

通过阅读参照附图做出的仅作为非限制性示例给出的以下描述会更好的理解本发明,附图中:

-图1是包括解扰器、解码器和共享存储器的终端的示意图,

-图2是相对应的第一和第二查找表的局部示意图,和

-图3是用于利用图1的终端访问受保护的多媒体内容的方法的示意图。

在这些附图中,相同的附图标记标注相同的元件。

在本说明书的下文中,不详细描述为本领域技术人员熟知的特征。

图1表示一个能够访问受保护的多媒体内容的终端。为此,该终端包括解扰器1、解码器3、由解扰器和解码器共享的存储器5、可编程电子计算机7和存储器9。

解扰器1能够将信息存储到共享存储器5中并且能够如解码器3那样从该共享存储器中提取信息。

电子计算机7能够执行存储器9中存储的指令。存储器9包括执行图3的方法所需的指令。

共享存储器5和存储器9能够如图1中那样是独立的,或者是合并的,或者共享存储器5能够是存储器9的一部分。

图2表示第一查找表12的一部分和第二查找表18的一部分。在该图中,字节以十六进制的形式给出,并且符号“|”表示级联运算(l’opération de concaténation)。

第一表12对于每个可能的字节值都包括一行。该表因此包括第一列,所述第一列含有八个原始位的所有可能的位串14。位串14的位的数量(在下文中标注为M)在此取值为等于八。因此存在2M个位串14,其值为0x01到0xFF。表12的每行都使其位串14与第一和第二字节的级联(即,十六个替代位的位串16)相关联。位串16的位的数量(在下文中标注为N)在此取值为等于十六。因此存在2N个可能的位串16,但是表12仅含有2M个位串16。每个位串16都不同于其他位串16。位串16被包含在表12的第二列中。

根据位串14的值的顺序对表12的行排序以构成该表的索引。该索引允许加速对含有给定位串14的表12的行的搜索和对其的选择。而且,该索引的值以规则的步长从一个值变化到下一个值,这允许在不用读取其他行的内容的情况下直接找到表12的含有该索引的行。在此,索引的值等于表12的含有该位串14的行号。因此,这允许更快地搜索给定位串14。为了简化说明,图2仅表示出与值分别为0xA0到0xA7的位串14相关的八行。例如,表12所表示的第一行将十六个替代位的位串16 0xD4|0x03与八个原始位的位串14 0xA0相关联。位串0xA0位于表12的行0xA0中,即从该表的第一行开始的第160行中。

此外,在该表12中,经级联的字节中的第二字节、即每个位串16的指数为9至16的八个位的值的集合等于位串14的集合。在图2中,位串16的可见第二字节从0x01到0x08。

图2的第二表18对十六个替代位的每个位串16都包括一行。每行都使该位串16与通过表12与该位串16关联的位串14相关联。因此,这些表12和18被称为是“对应的”。位串16和14分别被包含在表18的第一和第二列中。表18所表示的第一行例如使八个原始位的位串14 0xA4与十六个替代位的位串16 0x5B|0x01相关联。

而且,根据第二字节、即每个位串16的指数为9到16的八个位的值的顺序对表18的行排序。这些第二字节的值涵盖所有从0x01到0xFF的可能的值。它们因此构成该第二表的索引。如前所述那样地,该索引允许加快对含有给定位串16的表18的行的搜索和选择。实际上,由于该索引的值以规则步长从一个值变化到下一个值,因此这允许在不用读取其他行的内容的情况下直接找到表18的含有该索引的行。在此,索引的值等于表18的含有该位串16的行号。特别地,与所述索引的值不均匀地分布在其极限值之间的情况相比,这允许节省时间。在图2中,所表示的第二字节取0x01到0x08的值并且分别以升序占据表18的第一到第八行。

现在将参照图3的方法描述图1的终端的工作。

所述方法开始于初始化阶段。该初始化阶段包括:

-步骤110和112,在这些步骤期间构造和存储表12、18,和

-构造初始化数S的步骤114,。

例如每当终端启动时都触发该初始化阶段。在这种情况下,优选地,将所构造的表和数S存储在易失性存储器(例如RAM(随机存取存储器))中,以在终端关闭时被自动擦除。

更具体地,在步骤110中,终端在可被解扰器1访问的存储器中构造和存储表12。该存储器能够是专用于该解扰器的存储器、存储器9的一部分,或者共享存储器5。例如,通过对每个可能的位串14执行以下操作来构造表12:

a)终端从所有2N个可能的位串16中随机抽取位串16,然后

b)如果因此而随机抽取的位串16尚未与另一位串14相关联,那么使其在表12中与该位串14相关联,否则,重复进行操作a)和b)。

接下来,在步骤112中,终端在可被解码器3访问的存储器中构造和存储对应的表18。该存储器能够是专用于该解码器的存储器、存储器9的一部分,或者共享存储器5。例如,在步骤112中,基于之前在步骤110中存储的表12来构造表18。为此,例如,先交换表12的第一列和第二列的内容,然后根据第一列的第二字节的值的升序或降序对该新表的行进行排序。在该实施方式中,所述行是根据第二字节的值的升序来排序的。

将步骤110执行预定次数t1次以存储t1个不同的表12。优选地,次数t1等于严格为正的2的幂。同样地,将步骤112执行t2次以存储t2个不同的表18。t1和t2是正整数或零,并且t1大于或等于t2。在该实施方式中,t1和t2相等。在此,在每次执行步骤110时都改变数M和N,同时一直满足数N严格大于数M。例如,在步骤110的每次迭代中,从可能值的预定范围中随机或伪随机地抽取数M。然后,将同样的过程应用于数N。通常,数M在4到16位之间变化,而数N在8到24位之间变化。由此获得通过数M和N的值而彼此不同的表12。

所存储的表12中的每个借助从0到t1-1的指数i来标识。同样地,所存储的表18中的每个都由指数来标识。表18的指数选择为使得对应的表12和18具有相同的指数i。在下文中分别使用T[i]和L[i]来标注指数为i的对应的表12和18。

在步骤114中,终端随机或伪随机地抽取严格为正的k字节的整数。该整数构成数S。优选地,该数S是从仅含有2的严格为正的幂的集合中随机或伪随机地抽取的。数k要么是预定数,要么本身是从预定值的集合随机或伪随机地抽取的。类似地,在该实施方式中,终端还随机或伪随机地抽取严格为正的整数u。该数u表示连续使用同一表12的次数。然后,使得由此构造的数S和u可被解扰器1和解码器3使用。为此,终端将数S和u以及数S的字节长度k存储在共享存储器5中。而且,在该实施方式中,数t1也存储在存储器5中。

在初始化阶段之前、期间、或之后,在步骤100中,解扰器1接收多媒体内容的加密片段以及用于解密此加密片段的密钥。如本领域技术人员已知的,加密片段和解密密钥能够一起地、即在同一时刻并且经由终端内部或外部的同一存储介质或者同一通信网络来被接收。加密片段和解密密钥也能够分别地、即在不同时刻或经由终端内部或外部的不同存储介质或不同通信网络来被接收。在此,如上所述,用于解密该加密片段的密钥是在DRM许可证中被终端接收的。

在步骤100和初始化阶段之后,在步骤120中,解扰器1用解密密钥对片段进行解密,从而获得未加扰片段,其中所述解密密钥和片段都是在步骤100中接收的。

在步骤120之后,并且在将被解密的片段存储在存储器5中之前,在步骤130中,所述解扰器用不同的替代位替换未加扰片段的原始位以获得被修改的片段。

更具体地说,解扰器1通过逐步构造的块用替代位替换未加扰片段的所有原始位。这些位块中的每个在下文中会被标注为Px。指数“x”表示块Px的序号或者排序。在此,未加扰片段的第一位块的序号为“1”,而最末位块的序号为事先未知的整数“X”,该整数是在步骤130结束时确定的。指数“x”因此为1到X。所有的块Px以指数x的顺序进行的级联等于未加扰片段。

为此,对于这些块Px中的每个,解扰器1执行操作132,然后执行操作134。

在操作132中,解扰器1首先选择在步骤110中存储的表12中的一个,以使用其来用替代位替换该块Px的原始位。

为此,在这里,解扰器1从存储器5中提取数S及其字节长度k、数u、以及在步骤110中存储的表12的个数t1。接下来,利用以下公式确定所选表T[i]的指数i:i=S[((x-1)div u)modulo k]modulo t1,其中

-S[j]是返回在数S中的指数为j的字节的函数,

-div表示欧几里得除法运算。

一旦选择了表T[i],包含在该表T[i]第一列中的位串14的位数M就是已知的。

接下来,在操作134中,解扰器1借助在之前执行操作132时所选择的表T[i]来用替代位替换块Px的原始位。更具体地,如果仍剩余有未加扰片段的至少M个原始位待被替换,那么解扰器1就利用剩余的待被替换的未加扰片段的最前M位来构造块PX。该块Px因此构成未加扰片段的M个连续原始位的位串。所述替换然后在于:

-在所选表12中搜索和读取与具有和块Px相同值的位串14关联的位串16,和

-以读取顺序将所读取的该位串16与之前所读取的位串16级联。

在该实施方式中,搜索是特别简单且快速的,这是由于表T[i]的含有待读取的位串16的行号能够直接由块Px的值来构造而不用参照该表的其他行的内容。例如,在表T[i]的数Px的行中读取位串16。

由此,通过重复操作132和134,逐步地构造被修改的片段,其中每个块Px都被各自的位串16所替换。

如果仍剩余有未加扰片段的少于M个原始位待被替换,那么这些剩余的待被替换的未加扰片段的原始位就由附加位来任意补充,以形成待像之前的块那样被处理的M个连续位的块。

例如,在此,如果指数为i的表T[i]是图2中的表,并且如果未加扰片段的块Px等于八个原始位的位串14 0xA4,那么被修改的片段的指数为x的块就是十六个替代位的位串16 0x5B|0x01。

接下来,在已经对所有块Px执行了操作132和134时,在步骤140中,解扰器1仅将由此获得的被修改的片段存储在共享存储器5中。

然后,在步骤150中,解码器3从共享存储器5中提取该被修改的片段。

接下来,在步骤160中,解码器3用原始位替换被修改的片段的替代位,以由被修改的片段重构出未加扰片段。

更具体地说,解码器3利用逐步构造的块来用原始位替换被修改的片段的替代位的全部。这些块中的每个在下文中会被标注为Px*。指数“x”表示块Px*的序号或者排序。在此,被修改的片段的第一位块的序号为“1”,而最末位块的序号为事先未知的整数“X”,该整数是在步骤160结束时确定。指数“x”因此为1到X。块Px*以指数x的顺序进行的级联等于被修改的片段。

为此,对于这些块Px*中的每个,解码器3执行操作162,然后执行操作164。

在操作162中,解码器3首先确定在步骤130中选择和使用的表T[i]的指数i。然后,该解码器选择与表T[i]形成一对对应的表的表L[i]。

为此,在这里,解码器3从存储器5中提取数S及其字节长度k、数u、以及在步骤110中存储的表12的个数t1。接下来,利用以下公式确定表L[i]的指数i:i=S[((x-1)div u)modulo k]modulo t1,其中x为会在接下来的操作164中处理的块Px*的序号。然后,解码器3选择指数为i的表L[i]。从此刻开始,表L[i]的位串16的位数N就是已知的。

接下来,在操作164中,解码器3借助在之前执行操作162时所选择的表L[i]来用原始位替换块Px*的替代位。为此,该解码器利用剩余的待被替换的被修改的片段的最前N位来构造块Px*。块PX*因此是N个连续替代位的位串。所述替换然后在于:

-在所选表L[i]中读取与值等于块Px*的值的位串16相关联的位串14,和

-以读取顺序将所读取的该位串14与之前所读取的位串14级联。

在表L[i]中读取位串14在此是特别快的,这是由于位串16的第二字节允许直接构造表L[i]的含有待读取的位串14的行号而不用参照该表的其他行的内容。例如,在表L[i]的行号与位串16的第二字节的值相等的行中读取位串14。

通过重复操作162、164,解码器逐步地重构未加扰片段。

在操作164中,如果解码器3检测到是被修改的片段的最后一个待处理的块PX*,那么解码器3就像之前的块那样地替换最后一个块PX*。接下来,该解码器仅将位串14的最前有用位级联到之前的所读取的位串14。为了确定该位串14的有用位的数量,解码器3使用例如包含在未加扰片段的已获得的那部分中的长度信息。该长度信息在未加扰片段中的位置是由用于未加扰片段的已知编码格式来设置的。该长度信息还能够是与每个片段的结构相关并且由所使用的编码格式强制要求的预定信息。

例如,如果表L[i]是图2的表,并且如果块Px*是十六个替代位的位串0x5B|0x01,那么未加扰片段的重构的块Px就是八个原始位的位串14 0xA4。

接下来,在已经对所有块Px*执行了操作162和164时,并且在未加扰片段还未最终被存储在终端的存储器中之前,在步骤170中,解码器3对获得的未加扰片段进行解码。在此,由解码器获得的未加扰片段绝不会被存储在共享的存储器中、特别是存储器5中。

最后,在步骤180中,解码器3将被解码的片段传输到能够播放多媒体内容的该被解码的片段以使其能够被人类直接感知和理解的多媒体设备。

本发明的许多其它实施例是可能的。例如,多媒体内容是由条件访问系统(Conditional Access System,缩写为CAS)保护而被提供的。因此使用条件访问系统领域的术语。例如,有兴趣的读者可以在以下文献中找到更全面的描述:“条件访问系统的功能模型”,EBU评论,技术欧洲广播联盟,布鲁塞尔,BE,第266号,1995年12月21日。在这种情况下,内容密钥通常被称作控制字,并且是在授权控制消息(Entitlement Control Message,缩写为ECM)中被接收的。

在另一个实施方式中,多媒体内容是由任何其它类型的内容保护系统保护而被提供的,例如不执行任何访问权限管理的更传统的数据保护系统。在这种情况下,能够在任何其他类型的传输消息中接收内容密钥。

初始化阶段能够由其他事件触发。例如,响应于执行用于访问终端的受保护的内容的模块来触发步骤110和112的执行。初始化阶段还能够周期性地,或在之前构造的表12和18或者数S的预定使用次数之后来触发。

作为变型,在步骤110和112中,表12和18能够被预先计算,然后在存储在存储器9中的指令的开发名下是静态并且集成到所述指令中的。

作为变型,数M和N在步骤110的每次执行中都是恒定的。例如,数M被选择为等于8,而数N被选择为等于大于或等于16的8的整数倍。在另一变型中,仅数N在步骤110的执行中是变化的,而数M保持不变。

用于形成表L[i]的指数的、该表的每个位串16的M个位不一定是每个位串16的最后M个位。实际上,从解码器3获悉这些M个位的位置的时刻开始,这些M个位就能够位于位串16中的任一位置处。例如,这些M个位仅占据位串16中偶数指数的位置。

在另一变型中,表L[i]的第一列简单地按照位串16的值的升序或降序来排序,并且没有使用之前对于表18所描述的索引。

在另一个实施方式中,在执行步骤110之后省略了步骤112。仅第一表12被存储以使其不仅能够被解扰器1而且能够被解码器3所用。因此,在该实施方式中,在操作134和164中使用相同的表12。在操作164中,例如通过以预定顺序逐次地查阅存在于表12的第二列中的位串16来在该表的第二列中寻找块Px*的值。

在另一个实施方式中,在执行步骤110之后,将步骤112执行t2次,使得仅存储t2个表18,其中t2严格为正且严格小于t1。例如,对于处于[0;t2-1]中的指数i的值,针对每个表T[i]构造表L[i]。相反,对于处于[t2;t1-1]中的指数i的值,则仅构造表T[i]。在后一种情况下,表T[i]被存储以不仅可被解扰器1而且可被解码器3所用。之后,如果在步骤162中,指数i的值处于[0;t2-1]中,那么在操作164中就在与表T[i]对应的表L[i]中寻找块Px*的值。相反,如果在步骤162中,指数i的值处于[t2;t1-1]中,那么在操作164中就在表T[i]的第二列中寻找块Px*的值。

作为变型,在步骤114中,为了使生成的数S、k、u可被解扰器1和解码器3所用,终端同时将这两者存储在专用于解扰器1的存储器中和专用于解码器3的存储器中。

在一个简化的实施方式中,t1等于1,即,单个的表12用于创建所有被修改的片段。

操作132和162能够以不同的方式来执行。例如,能够省略数u的使用。在这种情况下,利用以下公式确定所选的表12或18的指数i:i=S[(x-1)modulok]modulo t1。还可以在不使用数S的情况下确定指数i。例如,在后一种情况下,使用以下公式:i=x modulo t1。在这种情况下,在步骤114中,数S、u和k未被构造。

在另一个实施方式中,步骤110、112和114被省略。由此,在步骤130开始之前不存储任何表12、18。在这种情况下,在操作132中,随着操作132的执行逐渐地构造表12。例如,在此假定M和N是已知常数并且表12最初是空的。接着,如果未加扰片段的下一个块Px的值不对应于已经包含于表12中的任何位串14,那么就生成位串16然后将其以与块Px的原始位相关联的方式存储在表12中。例如如此生成位串16:

a)通过从所有2N个可能的位串16的集合中随机或伪随机地抽取位串16,然后

b)如果由此随机抽取的位串16尚未与另一位串14个相关联,那么将其在表12中与该位串14相关联,否则,重复进行操作a)和b)。

这样,逐步构造称为动态表的表格。该动态表与表12的不同之处在于其可以不含有全部可能的位串14。在此,该动态表仅含有对于处理未加扰片段所需的位串14。接着,在步骤162中,例如像针对步骤112所描述的那样来构造对应的动态表。

在另一个实施方式中,用对加密函数F和解密函数F-1的使用来替代对表12、18的使用。更具体地,函数F对位串14的位执行不同的算术和逻辑运算,以生成与其关联的位串16。函数F-1是函数F的逆函数。因此,其返回与位串16相关联的位串14的值。函数F和F-1因此用于分别在操作134和164的执行中来代替表12、18。

在另一个实施方式中,在步骤130中不由替代位来替换原始位的全部。为此,例如,在步骤134中,仅块Px的预定部分形成上述替换的对象。对于其他块Px而言,将原始位直接与前面的块的处理结果级联。所替换的块的预定部分能够针对被处理的每个未加扰片段进行修改。例如,对于偶数未加扰片段,所述方法将操作132和134应用于两个块Px中的仅一个,而对于奇数片段,则应用于三个块Px中的仅一个。在步骤160中,解码器3实现对在步骤130中所实现的那些替换的反向替换。因此,如果在步骤130中没有用替代位来替换原始位的全部的话,那么在步骤160中,块的仅一部分被标识为替代位块Px*。仅这些被标识的块Px*形成上述替换的对象,而其他位则直接与前面的块的处理结果级联。

作为变型,在步骤134中,解扰器1形成长度大于M的块Px,并且用位串16替换该块Px的仅M个原始位的位串。该M个原始位的位串在每个块Px中位于同一预定位置处。例如,该M个原始位的位串位于块Px的开始处。这回到在每个位串16之间将原始位的位串插入到被修改的片段中。在步骤164中,解码器3形成预定长度大于N的块Px*,并且替换这些位的仅与位串16对应的预定部分。块Px*的剩余位不变。块Px的长度以及所替换的M个原始位的位串在块Px中的位置每个都能够是恒定或者变化的。

还作为变型,在操作134中,当仍有未加扰片段的少于M个原始位待被替换时,不替换这些最后的原始位,而是将其直接与之前的所读取的位串16级联。在这种情况下,在操作164中,最后一个块PX*具有小于M个位,并且不替换这些位,而是将其直接与之前的所读取的位串14级联。

在另一变型中,在步骤140中,被修改的片段与未加扰片段的或者其最后一个块PX的以位计的有用长度一起存储在存储器5中。接着,在步骤150中,解码器3于是从存储器5中提取该被修改的片段和该有用长度。然后,在操作164中,解码器3如替换前面的块那样替换最后一个块PX*,但是仅将由此读取的位串14的有用的最前位与之前的所读取的位串14串联。有用的最前位的数目由步骤150中所提取的有用长度来确定。

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